diff --git a/.travis.yml b/.travis.yml index 36c3e5ba..c78203f0 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,7 +1,7 @@ language: go go: - - "1.10.x" - "1.11.x" + - "1.12.x" sudo: false before_install: # Make sure travis builds work for forks @@ -9,5 +9,6 @@ before_install: - test ! -d $GOPATH/src/github.com/wtfutil/wtf && mv $TRAVIS_BUILD_DIR $GOPATH/src/github.com/wtfutil/wtf || true - export TRAVIS_BUILD_DIR=$HOME/gopath/src/github.com/wtfutil/wtf - cd $HOME/gopath/src/github.com/wtfutil/wtf + - export GOPROXY="https://gocenter.io" && export GO111MODULE=on script: go get ./... && go get github.com/go-test/deep && go test -v github.com/wtfutil/wtf/wtf_tests/... diff --git a/Gopkg.lock b/Gopkg.lock deleted file mode 100644 index 64f94172..00000000 --- a/Gopkg.lock +++ /dev/null @@ -1,472 +0,0 @@ -# This file is autogenerated, do not edit; changes may be undone by the next 'dep ensure'. - - -[[projects]] - digest = "1:5ad08b0e14866764a6d7475eb11c9cf05cad9a52c442593bdfa544703ff77f61" - name = "cloud.google.com/go" - packages = ["compute/metadata"] - pruneopts = "UT" - revision = "0ebda48a7f143b1cce9eb37a8c1106ac762a3430" - version = "v0.34.0" - -[[projects]] - branch = "master" - digest = "1:d1a104572273cfb58e801812704dca4fe2eab80f3b0144592a722a76c280c598" - name = "code.cloudfoundry.org/bytefmt" - packages = ["."] - pruneopts = "UT" - revision = "2aa6f33b730c79971cfc3c742f279195b0abc627" - -[[projects]] - digest = "1:3bb331d3045ee55402a226f6ab0f005cbc09527df714278c3925d4700db79260" - name = "github.com/PagerDuty/go-pagerduty" - packages = ["."] - pruneopts = "UT" - revision = "b4a4067bdbde86de1d3fdf15c3c01e76bee9127c" - version = "1.0.4" - -[[projects]] - digest = "1:e92f5581902c345eb4ceffdcd4a854fb8f73cf436d47d837d1ec98ef1fe0a214" - name = "github.com/StackExchange/wmi" - packages = ["."] - pruneopts = "UT" - revision = "5d049714c4a64225c3c79a7cf7d02f7fb5b96338" - version = "1.0.0" - -[[projects]] - branch = "master" - digest = "1:636ac9f696c988f0038afd43592f7a0fff29038588ab1064ba8ba3476bb41091" - name = "github.com/adlio/trello" - packages = ["."] - pruneopts = "UT" - revision = "e4cc07c871d0ee17c5579131fc1c786efbb5fe2a" - -[[projects]] - digest = "1:aa94227e54ee105fcd03f25c85d3e5bbe13d2f2d5eb02379b5b4db5320dfb371" - name = "github.com/alecthomas/chroma" - packages = [ - ".", - "formatters", - "formatters/html", - "lexers", - "lexers/a", - "lexers/b", - "lexers/c", - "lexers/circular", - "lexers/d", - "lexers/e", - "lexers/f", - "lexers/g", - "lexers/h", - "lexers/i", - "lexers/internal", - "lexers/j", - "lexers/k", - "lexers/l", - "lexers/m", - "lexers/n", - "lexers/o", - "lexers/p", - "lexers/q", - "lexers/r", - "lexers/s", - "lexers/t", - "lexers/v", - "lexers/w", - "lexers/x", - "lexers/y", - "styles", - ] - pruneopts = "UT" - revision = "881a441774f9d707d3b7852025b7f2149a556182" - version = "v0.6.2" - -[[projects]] - branch = "master" - digest = "1:a7955b3402449f2e9ef351d0d6d9d42af3e0b24967340b738078d80c90deb6c2" - name = "github.com/andygrunwald/go-gerrit" - packages = ["."] - pruneopts = "UT" - revision = "f48c3d16616fdb85d96efcead2402bfd339d8c89" - -[[projects]] - branch = "master" - digest = "1:6d7646b01dbbacd8c50be0cbddbcb633619f819e51f47a4114c8d4518ae7ac02" - name = "github.com/briandowns/openweathermap" - packages = ["."] - pruneopts = "UT" - revision = "5f41b7c9d92de5d74bf32f4486375c7547bc8a3c" - -[[projects]] - digest = "1:166438587ed45ac211dab8a3ecebf4fa0c186d0db63430fb9127bbc2e5fcdc67" - name = "github.com/cenkalti/backoff" - packages = ["."] - pruneopts = "UT" - revision = "1e4cf3da559842a91afcb6ea6141451e6c30c618" - version = "v2.1.1" - -[[projects]] - branch = "master" - digest = "1:710109527a119c813d4fac773712dd92f449ed7c2f7b81f49822f94d290c8f72" - name = "github.com/danwakefield/fnmatch" - packages = ["."] - pruneopts = "UT" - revision = "cbb64ac3d964b81592e64f957ad53df015803288" - -[[projects]] - branch = "master" - digest = "1:e3e85f98942fe3b51b8f9316d8d1dc1925353b26639d456030368ae278bb0475" - name = "github.com/darkSasori/todoist" - packages = ["."] - pruneopts = "UT" - revision = "ec6b38b374ab9c60cc9716d2083ae66eb9383d03" - -[[projects]] - digest = "1:ffe9824d294da03b391f44e1ae8281281b4afc1bdaa9588c9097785e3af10cec" - name = "github.com/davecgh/go-spew" - packages = ["spew"] - pruneopts = "UT" - revision = "8991bc29aa16c548c550c7ff78260e27b9ab7c73" - version = "v1.1.1" - -[[projects]] - digest = "1:72dc2b6056e7097f829260e4a2ff08d32fec6017df1982a66e110ab4128486f8" - name = "github.com/dlclark/regexp2" - packages = [ - ".", - "syntax", - ] - pruneopts = "UT" - revision = "487489b64fb796de2e55f4e8a4ad1e145f80e957" - version = "v1.1.6" - -[[projects]] - digest = "1:6f9339c912bbdda81302633ad7e99a28dfa5a639c864061f1929510a9a64aa74" - name = "github.com/dustin/go-humanize" - packages = ["."] - pruneopts = "UT" - revision = "9f541cc9db5d55bce703bd99987c9d5cb8eea45e" - version = "v1.0.0" - -[[projects]] - digest = "1:0e16b03c72bd42739ca68d055c10369e60d17838428f512f3b29ae115ba788e0" - name = "github.com/gdamore/encoding" - packages = ["."] - pruneopts = "UT" - revision = "6289cdc94c00ac4aa177771c5fce7af2f96b626d" - version = "v1.0.0" - -[[projects]] - branch = "master" - digest = "1:5caa7f0f760a7b380cfa4102a44b6aef61bd68506f62f49880cc59d5c1ee72fd" - name = "github.com/gdamore/tcell" - packages = [ - ".", - "terminfo", - ] - pruneopts = "UT" - revision = "dcf1bb30770eb1158b67005e1e472de6d74f055d" - -[[projects]] - digest = "1:c96d16a4451e48e2c44b2c3531fd8ec9248d822637f1911a88959ca0bcae4a64" - name = "github.com/go-ole/go-ole" - packages = [ - ".", - "oleutil", - ] - pruneopts = "UT" - revision = "39dc8486bd0952279431257138bc428275b86797" - version = "v1.2.2" - -[[projects]] - digest = "1:b3d20bcdedab2050e6bc58e52f4fdc46f710b4c74e1a1ecee262ebec1aee7b6e" - name = "github.com/godbus/dbus" - packages = ["."] - pruneopts = "UT" - revision = "2ff6f7ffd60f0f2410b3105864bdd12c7894f844" - version = "v5.0.1" - -[[projects]] - digest = "1:97df918963298c287643883209a2c3f642e6593379f97ab400c2a2e219ab647d" - name = "github.com/golang/protobuf" - packages = ["proto"] - pruneopts = "UT" - revision = "aa810b61a9c79d51363740d207bb46cf8e620ed5" - version = "v1.2.0" - -[[projects]] - branch = "master" - digest = "1:fc71ff099a9d9e73a66556c3115c78ca64cd7f01e08a7eddcaddcba5e8fa02fd" - name = "github.com/google/go-github" - packages = ["github"] - pruneopts = "UT" - revision = "ce65dacfeac482f2a13b59e19c5a25947282c171" - -[[projects]] - digest = "1:a63cff6b5d8b95638bfe300385d93b2a6d9d687734b863da8e09dc834510a690" - name = "github.com/google/go-querystring" - packages = ["query"] - pruneopts = "UT" - revision = "44c6ddd0a2342c386950e880b658017258da92fc" - version = "v1.0.0" - -[[projects]] - digest = "1:a2cff208d4759f6ba1b1cd228587b0a1869f95f22542ec9cd17fff64430113c7" - name = "github.com/jessevdk/go-flags" - packages = ["."] - pruneopts = "UT" - revision = "c6ca198ec95c841fdb89fc0de7496fed11ab854e" - version = "v1.4.0" - -[[projects]] - digest = "1:c65a16ac77d0b1aefc7009cabb6ac5ad05def02025f5be85f450c03f52cc6f86" - name = "github.com/lucasb-eyer/go-colorful" - packages = ["."] - pruneopts = "UT" - revision = "345fbb3dbcdb252d9985ee899a84963c0fa24c82" - version = "v1.0" - -[[projects]] - digest = "1:0356f3312c9bd1cbeda81505b7fd437501d8e778ab66998ef69f00d7f9b3a0d7" - name = "github.com/mattn/go-runewidth" - packages = ["."] - pruneopts = "UT" - revision = "3ee7d812e62a0804a7d0a324e0249ca2db3476d3" - version = "v0.0.4" - -[[projects]] - branch = "master" - digest = "1:2277d06c9dcd34d70119b624115f3d74672647322349bb76a8adedbc623a3955" - name = "github.com/olebedev/config" - packages = ["."] - pruneopts = "UT" - revision = "57f804269e64d41bfe46efb76232c47f49d40902" - -[[projects]] - digest = "1:cf31692c14422fa27c83a05292eb5cbe0fb2775972e8f1f8446a71549bd8980b" - name = "github.com/pkg/errors" - packages = ["."] - pruneopts = "UT" - revision = "ba968bfe8b2f7e042a574c888954fccecfa385b4" - version = "v0.8.1" - -[[projects]] - digest = "1:cfa0d7741863a0e1d30e0ccdd4b48a96a471cdb47892303de8b92c3713af3e77" - name = "github.com/pkg/profile" - packages = ["."] - pruneopts = "UT" - revision = "5b67d428864e92711fcbd2f8629456121a56d91f" - version = "v1.2.1" - -[[projects]] - digest = "1:0028cb19b2e4c3112225cd871870f2d9cf49b9b4276531f03438a88e94be86fe" - name = "github.com/pmezard/go-difflib" - packages = ["difflib"] - pruneopts = "UT" - revision = "792786c7400a136282c1664665ae0a8db921c6c2" - version = "v1.0.0" - -[[projects]] - digest = "1:46f5782e57d221d76a19fb9c9c4f2b139f1d85ae7115a95e945a79221e1a7031" - name = "github.com/radovskyb/watcher" - packages = ["."] - pruneopts = "UT" - revision = "3818ec23ec59ea15084fe26bfb114b3bb58aa132" - version = "v1.0.5" - -[[projects]] - branch = "master" - digest = "1:0f44ebd1757c5725456f2d6c564b196dd96593e68fda7236e345642940b9a88a" - name = "github.com/rivo/tview" - packages = ["."] - pruneopts = "UT" - revision = "36893a66979260e9758701ae306ec0d69c0f53c8" - -[[projects]] - digest = "1:afee7cbe8cde64304b8bd397d5832b0e60c93f8b158e4102254558d2f862b0a6" - name = "github.com/shirou/gopsutil" - packages = [ - "cpu", - "internal/common", - "mem", - ] - pruneopts = "UT" - revision = "ccc1c1016bc5d10e803189ee43417c50cdde7f1b" - version = "v2.18.12" - -[[projects]] - branch = "master" - digest = "1:93ff598337cb35c40079a1ba766729c20eb1756e37f5740eac4c8e943f59664d" - name = "github.com/sticreations/spotigopher" - packages = ["spotigopher"] - pruneopts = "UT" - revision = "98632f6f94b087f2582be76980f76bc070d37176" - -[[projects]] - digest = "1:972c2427413d41a1e06ca4897e8528e5a1622894050e2f527b38ddf0f343f759" - name = "github.com/stretchr/testify" - packages = ["assert"] - pruneopts = "UT" - revision = "ffdc059bfe9ce6a4e144ba849dbedead332c6053" - version = "v1.3.0" - -[[projects]] - branch = "master" - digest = "1:fc5ea767f62a8a35b136db9e8629dc7718aea555c8480e44695a7d0894ae8303" - name = "github.com/xanzy/go-gitlab" - packages = ["."] - pruneopts = "UT" - revision = "d85a1530126065c71277db28196ec196daafc9dc" - -[[projects]] - branch = "master" - digest = "1:3b19ea715e070a74397f3cfe950f0b555e66a3c23461e553777f52112a81b0e6" - name = "github.com/yfronto/newrelic" - packages = ["."] - pruneopts = "UT" - revision = "7c9c2852e8f9e69a80bff4f4f1fe4cdd15eeba19" - -[[projects]] - branch = "master" - digest = "1:1ff6915a45fb06d272e614e72219aa058aefc545f597a708eb0cc6cb778c344a" - name = "github.com/zmb3/spotify" - packages = ["."] - pruneopts = "UT" - revision = "a4bd83f60e06ab58f3516c61680d0532aabf470e" - -[[projects]] - branch = "master" - digest = "1:0af28605549b0c849891b2ea4e99de9fe20d2f48d3ae5d42f9b06391e02a466e" - name = "github.com/zorkian/go-datadog-api" - packages = ["."] - pruneopts = "UT" - revision = "66f4fd4202d9d3e543608051a91a09eebc870966" - -[[projects]] - branch = "master" - digest = "1:f8b491a7c25030a895a0e579742d07136e6958e77ef2d46e769db8eec4e58fcd" - name = "golang.org/x/net" - packages = [ - "context", - "context/ctxhttp", - ] - pruneopts = "UT" - revision = "915654e7eabcea33ae277abbecf52f0d8b7a9fdc" - -[[projects]] - branch = "master" - digest = "1:c58bbfb91df5a7eae08cb9894f9897165f254e459f07666986cd448f9be4ad35" - name = "golang.org/x/oauth2" - packages = [ - ".", - "google", - "internal", - "jws", - "jwt", - ] - pruneopts = "UT" - revision = "36a7019397c4c86cf59eeab3bc0d188bac444277" - -[[projects]] - branch = "master" - digest = "1:5ee4df7ab18e945607ac822de8d10b180baea263b5e8676a1041727543b9c1e4" - name = "golang.org/x/sys" - packages = [ - "unix", - "windows", - ] - pruneopts = "UT" - revision = "48ac38b7c8cbedd50b1613c0fccacfc7d88dfcdf" - -[[projects]] - digest = "1:37672ad5821719e2df8509c2edd4ba5ae192463237c73c3a2d24ef8b2bc9e36f" - name = "golang.org/x/text" - packages = [ - "encoding", - "encoding/internal/identifier", - "internal/gen", - "transform", - "unicode/cldr", - ] - pruneopts = "UT" - revision = "f21a4dfb5e38f5895301dc265a8def02365cc3d0" - version = "v0.3.0" - -[[projects]] - branch = "master" - digest = "1:4b5fd36b449e451b5b4a4e8b31870c9230647f409413f13169ab93af268311da" - name = "google.golang.org/api" - packages = [ - "calendar/v3", - "gensupport", - "googleapi", - "googleapi/internal/uritemplates", - "sheets/v4", - ] - pruneopts = "UT" - revision = "455dee39f703f70d67ceea7c56a61041712c1447" - -[[projects]] - digest = "1:fa026a5c59bd2df343ec4a3538e6288dcf4e2ec5281d743ae82c120affe6926a" - name = "google.golang.org/appengine" - packages = [ - ".", - "internal", - "internal/app_identity", - "internal/base", - "internal/datastore", - "internal/log", - "internal/modules", - "internal/remote_api", - "internal/urlfetch", - "urlfetch", - ] - pruneopts = "UT" - revision = "e9657d882bb81064595ca3b56cbe2546bbabf7b1" - version = "v1.4.0" - -[[projects]] - digest = "1:4d2e5a73dc1500038e504a8d78b986630e3626dc027bc030ba5c75da257cdb96" - name = "gopkg.in/yaml.v2" - packages = ["."] - pruneopts = "UT" - revision = "51d6538a90f86fe93ac480b35f37b2be17fef232" - version = "v2.2.2" - -[solve-meta] - analyzer-name = "dep" - analyzer-version = 1 - input-imports = [ - "code.cloudfoundry.org/bytefmt", - "github.com/PagerDuty/go-pagerduty", - "github.com/adlio/trello", - "github.com/alecthomas/chroma/formatters", - "github.com/alecthomas/chroma/lexers", - "github.com/alecthomas/chroma/styles", - "github.com/andygrunwald/go-gerrit", - "github.com/briandowns/openweathermap", - "github.com/darkSasori/todoist", - "github.com/dustin/go-humanize", - "github.com/gdamore/tcell", - "github.com/google/go-github/github", - "github.com/jessevdk/go-flags", - "github.com/olebedev/config", - "github.com/pkg/profile", - "github.com/radovskyb/watcher", - "github.com/rivo/tview", - "github.com/shirou/gopsutil/cpu", - "github.com/shirou/gopsutil/mem", - "github.com/sticreations/spotigopher/spotigopher", - "github.com/stretchr/testify/assert", - "github.com/xanzy/go-gitlab", - "github.com/yfronto/newrelic", - "github.com/zmb3/spotify", - "github.com/zorkian/go-datadog-api", - "golang.org/x/oauth2", - "golang.org/x/oauth2/google", - "google.golang.org/api/calendar/v3", - "google.golang.org/api/sheets/v4", - "gopkg.in/yaml.v2", - ] - solver-name = "gps-cdcl" - solver-version = 1 diff --git a/Gopkg.toml b/Gopkg.toml deleted file mode 100644 index 9de5dff8..00000000 --- a/Gopkg.toml +++ /dev/null @@ -1,107 +0,0 @@ -# Gopkg.toml example -# -# Refer to https://golang.github.io/dep/docs/Gopkg.toml.html -# for detailed Gopkg.toml documentation. -# -# required = ["github.com/user/thing/cmd/thing"] -# ignored = ["github.com/user/project/pkgX", "bitbucket.org/user/project/pkgA/pkgY"] -# -# [[constraint]] -# name = "github.com/user/project" -# version = "1.0.0" -# -# [[constraint]] -# name = "github.com/user/project2" -# branch = "dev" -# source = "github.com/myfork/project2" -# -# [[override]] -# name = "github.com/x/y" -# version = "2.4.0" -# -# [prune] -# non-go = false -# go-tests = true -# unused-packages = true - - -[[constraint]] - name = "github.com/briandowns/openweathermap" - branch = "master" - -[[constraint]] - name = "github.com/gdamore/tcell" - branch = "master" - -#[[constraint]] - #name = "github.com/go-test/deep" - #version = "1.0.1" - -[[constraint]] - name = "github.com/google/go-github" - branch = "master" - -[[constraint]] - name = "github.com/xanzy/go-gitlab" - branch = "master" - -[[constraint]] - name = "github.com/andygrunwald/go-gerrit" - branch = "master" - -[[constraint]] - name = "github.com/jessevdk/go-flags" - version = "1.4.0" - -[[constraint]] - name = "github.com/olebedev/config" - branch = "master" - -[[constraint]] - name = "github.com/radovskyb/watcher" - version = "1.0.2" - -[[constraint]] - name = "github.com/rivo/tview" - branch = "master" - -[[constraint]] - name = "github.com/yfronto/newrelic" - branch = "master" - -[[constraint]] - name = "golang.org/x/oauth2" - branch = "master" - -[[constraint]] - name = "google.golang.org/api" - branch = "master" - -[[constraint]] - name = "gopkg.in/yaml.v2" - version = "2.2.1" - -[[constraint]] - name = "github.com/adlio/trello" - branch = "master" - -[[constraint]] - name = "github.com/darkSasori/todoist" - branch = "master" - -[prune] - go-tests = true - unused-packages = true - - -[[constraint]] - branch = "master" - name = "github.com/zorkian/go-datadog-api" - -[[constraint]] - branch = "master" - name = "code.cloudfoundry.org/bytefmt" - -[[constraint]] - name = "github.com/shirou/gopsutil" - version = "2.18.10" diff --git a/Makefile b/Makefile index c3f433fe..988219ea 100644 --- a/Makefile +++ b/Makefile @@ -16,6 +16,10 @@ ifndef $(GOPATH) endif endif +# Set go modules to on and use GoCenter for immutable modules +GO111MODULE=on +GOPROXY=https://gocenter.io + build: go build -o bin/wtf @@ -35,7 +39,7 @@ run: build bin/wtf size: - loc --exclude vendor/ _sample_configs/ _site/ docs/ Makefile *.md *.toml + loc --exclude _sample_configs/ _site/ docs/ Makefile *.md test: build go test ./... diff --git a/go.mod b/go.mod new file mode 100644 index 00000000..8469a51a --- /dev/null +++ b/go.mod @@ -0,0 +1,51 @@ +module github.com/wtfutil/wtf + +go 1.12 + +require ( + cloud.google.com/go v0.34.0 + code.cloudfoundry.org/bytefmt v0.0.0-20180906201452-2aa6f33b730c + github.com/PagerDuty/go-pagerduty v0.0.0-20180528123509-b4a4067bdbde + github.com/StackExchange/wmi v0.0.0-20180116203802-5d049714c4a6 + github.com/adlio/trello v0.0.0-20181009211147-e4cc07c871d0 + github.com/alecthomas/chroma v0.6.2 + github.com/andygrunwald/go-gerrit v0.0.0-20190110184452-f48c3d16616f + github.com/briandowns/openweathermap v0.0.0-20180804155945-5f41b7c9d92d + github.com/cenkalti/backoff v2.1.1+incompatible + github.com/danwakefield/fnmatch v0.0.0-20160403171240-cbb64ac3d964 + github.com/darkSasori/todoist v0.0.0-20180703032645-ec6b38b374ab + github.com/davecgh/go-spew v1.1.1 + github.com/dlclark/regexp2 v1.1.6 + github.com/dustin/go-humanize v1.0.0 + github.com/gdamore/encoding v1.0.0 + github.com/gdamore/tcell v0.0.0-20190412054914-dcf1bb30770e + github.com/go-ole/go-ole v1.2.2 + github.com/go-test/deep v1.0.1 // indirect + github.com/godbus/dbus v0.0.0-20181101234600-2ff6f7ffd60f + github.com/golang/protobuf v1.2.0 + github.com/google/go-github/v25 v25.0.1 + github.com/google/go-querystring v1.0.0 + github.com/jessevdk/go-flags v1.4.0 + github.com/lucasb-eyer/go-colorful v1.0.2 + github.com/mattn/go-runewidth v0.0.4 + github.com/olebedev/config v0.0.0-20180910155717-57f804269e64 + github.com/pkg/errors v0.8.1 + github.com/pkg/profile v1.2.1 + github.com/pmezard/go-difflib v1.0.0 + github.com/radovskyb/watcher v1.0.5 + github.com/rivo/tview v0.0.0-20181226202439-36893a669792 + github.com/shirou/gopsutil v2.18.12+incompatible + github.com/sticreations/spotigopher v0.0.0-20181009182052-98632f6f94b0 + github.com/stretchr/testify v1.3.0 + github.com/xanzy/go-gitlab v0.0.0-20190111184316-d85a15301260 + github.com/yfronto/newrelic v0.0.0-20180622232530-7c9c2852e8f9 + github.com/zmb3/spotify v0.0.0-20180925143944-a4bd83f60e06 + github.com/zorkian/go-datadog-api v2.19.0+incompatible + golang.org/x/net v0.0.0-20190311183353-d8887717615a + golang.org/x/oauth2 v0.0.0-20190111185915-36a7019397c4 + golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a + golang.org/x/text v0.3.0 + google.golang.org/api v0.0.0-20190111181425-455dee39f703 + google.golang.org/appengine v1.4.0 + gopkg.in/yaml.v2 v2.2.2 +) diff --git a/go.sum b/go.sum new file mode 100644 index 00000000..340cbe42 --- /dev/null +++ b/go.sum @@ -0,0 +1,147 @@ +cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= +cloud.google.com/go v0.34.0 h1:eOI3/cP2VTU6uZLDYAoic+eyzzB9YyGmJ7eIjl8rOPg= +cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= +code.cloudfoundry.org/bytefmt v0.0.0-20180906201452-2aa6f33b730c h1:VzwteSWGbW9mxXTEkH+kpnao5jbgLynw3hq742juQh8= +code.cloudfoundry.org/bytefmt v0.0.0-20180906201452-2aa6f33b730c/go.mod h1:wN/zk7mhREp/oviagqUXY3EwuHhWyOvAdsn5Y4CzOrc= +git.apache.org/thrift.git v0.0.0-20180902110319-2566ecd5d999/go.mod h1:fPE2ZNJGynbRyZ4dJvy6G277gSllfV2HJqblrnkyeyg= +github.com/DATA-DOG/go-sqlmock v1.3.3/go.mod h1:f/Ixk793poVmq4qj/V1dPUg2JEAKC73Q5eFN3EC/SaM= +github.com/PagerDuty/go-pagerduty v0.0.0-20180528123509-b4a4067bdbde h1:2UaB3Cr5WaSgxuZQEOpaiIQSked1+5DQ9U3Cm5Wg8Jw= +github.com/PagerDuty/go-pagerduty v0.0.0-20180528123509-b4a4067bdbde/go.mod h1:6hH58nzwYc9mw+TPyM1anW0ivbI0ti4lYc+ZBaKmWts= +github.com/StackExchange/wmi v0.0.0-20180116203802-5d049714c4a6/go.mod h1:3eOhrUMpNV+6aFIbp5/iudMxNCF27Vw2OZgy4xEx0Fg= +github.com/adlio/trello v0.0.0-20181009211147-e4cc07c871d0 h1:mI+BqWX9HJIRw68D6yUBunwIHs6oJkqqwFKEogkHKkk= +github.com/adlio/trello v0.0.0-20181009211147-e4cc07c871d0/go.mod h1:VjzhFGdnEJGih1AsIWi/yU6y01yZh0DuEWCNAyOJ1WE= +github.com/alecthomas/assert v0.0.0-20170929043011-405dbfeb8e38/go.mod h1:r7bzyVFMNntcxPZXK3/+KdruV1H5KSlyVY0gc+NgInI= +github.com/alecthomas/chroma v0.6.2 h1:aV6n3C/Womqo1zPZ7eyI0viybDslfbgqTUqxMMyCrDM= +github.com/alecthomas/chroma v0.6.2/go.mod h1:quT2EpvJNqkuPi6DmBHB+E33FXBgBBPzyH5++Dn1LPc= +github.com/alecthomas/colour v0.0.0-20160524082231-60882d9e2721/go.mod h1:QO9JBoKquHd+jz9nshCh40fOfO+JzsoXy8qTHF68zU0= +github.com/alecthomas/kong v0.1.15/go.mod h1:0m2VYms8rH0qbCqVB2gvGHk74bqLIq0HXjCs5bNbNQU= +github.com/alecthomas/repr v0.0.0-20180818092828-117648cd9897/go.mod h1:xTS7Pm1pD1mvyM075QCDSRqH6qRLXylzS24ZTpRiSzQ= +github.com/andygrunwald/go-gerrit v0.0.0-20190110184452-f48c3d16616f h1:R5XFuvUUbmwDtR2posQv+6vvKfty2+vL7IFsU6/TrNY= +github.com/andygrunwald/go-gerrit v0.0.0-20190110184452-f48c3d16616f/go.mod h1:0iuRQp6WJ44ts+iihy5E/WlPqfg5RNeQxOmzRkxCdtk= +github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= +github.com/briandowns/openweathermap v0.0.0-20180804155945-5f41b7c9d92d h1:28xWzPQ9bdGxKAAwQpZipZZ9Xz8kQcgMPF9cZnvMeuI= +github.com/briandowns/openweathermap v0.0.0-20180804155945-5f41b7c9d92d/go.mod h1:8g1Bgq9PbPpXIA3sdlWmWf2JpiWGJee/O4Q+ddYO6+k= +github.com/cenkalti/backoff v2.1.1+incompatible h1:tKJnvO2kl0zmb/jA5UKAt4VoEVw1qxKWjE/Bpp46npY= +github.com/cenkalti/backoff v2.1.1+incompatible/go.mod h1:90ReRw6GdpyfrHakVjL/QHaoyV4aDUVVkXQJJJ3NXXM= +github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= +github.com/danwakefield/fnmatch v0.0.0-20160403171240-cbb64ac3d964 h1:y5HC9v93H5EPKqaS1UYVg1uYah5Xf51mBfIoWehClUQ= +github.com/danwakefield/fnmatch v0.0.0-20160403171240-cbb64ac3d964/go.mod h1:Xd9hchkHSWYkEqJwUGisez3G1QY8Ryz0sdWrLPMGjLk= +github.com/darkSasori/todoist v0.0.0-20180703032645-ec6b38b374ab h1:T9EEtA6FSJMVypkNlKjrRo04u1j5Tk+gghymflyivDw= +github.com/darkSasori/todoist v0.0.0-20180703032645-ec6b38b374ab/go.mod h1:dD/81kphWGY78UVdEu2sqkrUMYfvtdKAMaACFYHGkfU= +github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= +github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/dlclark/regexp2 v1.1.6 h1:CqB4MjHw0MFCDj+PHHjiESmHX+N7t0tJzKvC6M97BRg= +github.com/dlclark/regexp2 v1.1.6/go.mod h1:2pZnwuY/m+8K6iRw6wQdMtk+rH5tNGR1i55kozfMjCc= +github.com/dustin/go-humanize v1.0.0 h1:VSnTsYCnlFHaM2/igO1h6X3HA71jcobQuxemgkq4zYo= +github.com/dustin/go-humanize v1.0.0/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= +github.com/gdamore/encoding v1.0.0 h1:+7OoQ1Bc6eTm5niUzBa0Ctsh6JbMW6Ra+YNuAtDBdko= +github.com/gdamore/encoding v1.0.0/go.mod h1:alR0ol34c49FCSBLjhosxzcPHQbf2trDkoo5dl+VrEg= +github.com/gdamore/tcell v0.0.0-20190412054914-dcf1bb30770e h1:T33mNvmeXRJzfz+m4RokVI2jFsbheIAEN6E2SO97FCo= +github.com/gdamore/tcell v0.0.0-20190412054914-dcf1bb30770e/go.mod h1:h3kq4HO9l2On+V9ed8w8ewqQEmGCSSHOgQ+2h8uzurE= +github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= +github.com/go-ole/go-ole v1.2.2/go.mod h1:7FAglXiTm7HKlQRDeOQ6ZNUHidzCWXuZWq/1dTyBNF8= +github.com/go-test/deep v1.0.1 h1:UQhStjbkDClarlmv0am7OXXO4/GaPdCGiUiMTvi28sg= +github.com/go-test/deep v1.0.1/go.mod h1:wGDj63lr65AM2AQyKZd/NYHGb0R+1RLqB8NKt3aSFNA= +github.com/godbus/dbus v0.0.0-20181101234600-2ff6f7ffd60f h1:zlOR3rOlPAVvtfuxGKoghCmop5B0TRyu/ZieziZuGiM= +github.com/godbus/dbus v0.0.0-20181101234600-2ff6f7ffd60f/go.mod h1:/YcGZj5zSblfDWMMoOzV4fas9FZnQYTkDnsGvmh2Grw= +github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= +github.com/golang/lint v0.0.0-20180702182130-06c8688daad7/go.mod h1:tluoj9z5200jBnyusfRPU2LqT6J+DAorxEvtC7LHB+E= +github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= +github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= +github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= +github.com/google/go-github/v25 v25.0.1 h1:s405kPD52lKa1MVxiEumod/E6/+0pvQ8Ed/sT65DjKc= +github.com/google/go-github/v25 v25.0.1/go.mod h1:6z5pC69qHtrPJ0sXPsj4BLnd82b+r6sLB7qcBoRZqpw= +github.com/google/go-querystring v1.0.0 h1:Xkwi/a1rcvNg1PPYe5vI8GbeBY/jrVuDX5ASuANWTrk= +github.com/google/go-querystring v1.0.0/go.mod h1:odCYkC5MyYFN7vkCjXpyrEuKhc/BUO6wN/zVPAxq5ck= +github.com/grpc-ecosystem/grpc-gateway v1.5.0/go.mod h1:RSKVYQBd5MCa4OVpNdGskqpgL2+G+NZTnrVHpWWfpdw= +github.com/jessevdk/go-flags v1.4.0 h1:4IU2WS7AumrZ/40jfhf4QVDMsQwqA7VEHozFRrGARJA= +github.com/jessevdk/go-flags v1.4.0/go.mod h1:4FA24M0QyGHXBuZZK/XkWh8h0e1EYbRYJSGM75WSRxI= +github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= +github.com/lucasb-eyer/go-colorful v1.0.2 h1:mCMFu6PgSozg9tDNMMK3g18oJBX7oYGrC09mS6CXfO4= +github.com/lucasb-eyer/go-colorful v1.0.2/go.mod h1:0MS4r+7BZKSJ5mw4/S5MPN+qHFF1fYclkSPilDOKW0s= +github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU= +github.com/mattn/go-isatty v0.0.4/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= +github.com/mattn/go-runewidth v0.0.4 h1:2BvfKmzob6Bmd4YsL0zygOqfdFnK7GR4QL06Do4/p7Y= +github.com/mattn/go-runewidth v0.0.4/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU= +github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= +github.com/olebedev/config v0.0.0-20180910155717-57f804269e64 h1:bS1cVBGfBJgWMkgvmyZ1E2uFuKACfsVZLWrfm0qTPc4= +github.com/olebedev/config v0.0.0-20180910155717-57f804269e64/go.mod h1:RL5+WRxWTAXqqCi9i+eZlHrUtO7AQujUqWi+xMohmc4= +github.com/openzipkin/zipkin-go v0.1.1/go.mod h1:NtoC/o8u3JlF1lSlyPNswIbeQH9bJTmOf0Erfk+hxe8= +github.com/pkg/errors v0.8.1 h1:iURUrRGxPUNPdy5/HRSm+Yj6okJ6UtLINN0Q9M4+h3I= +github.com/pkg/errors v0.8.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/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= +github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +github.com/prometheus/client_golang v0.8.0/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw= +github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= +github.com/prometheus/common v0.0.0-20180801064454-c7de2306084e/go.mod h1:daVV7qP5qjZbuso7PdcryaAu0sAZbrN9i7WWcTMWvro= +github.com/prometheus/procfs v0.0.0-20180725123919-05ee40e3a273/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= +github.com/radovskyb/watcher v1.0.5 h1:wqt7gb+HjGacvFoLTKeT44C+XVPxu7bvHvKT1IvZ7rw= +github.com/radovskyb/watcher v1.0.5/go.mod h1:78okwvY5wPdzcb1UYnip1pvrZNIVEIh/Cm+ZuvsUYIg= +github.com/rivo/tview v0.0.0-20181226202439-36893a669792 h1:3Jm4JCmIZchgwc405ygGCzM5eEiYb9sV3qLHWwz9uxo= +github.com/rivo/tview v0.0.0-20181226202439-36893a669792/go.mod h1:J4W+hErFfITUbyFAEXizpmkuxX7ZN56dopxHB4XQhMw= +github.com/sergi/go-diff v1.0.0/go.mod h1:0CfEIISq7TuYL3j771MWULgwwjU+GofnZX9QAmXWZgo= +github.com/shirou/gopsutil v2.18.12+incompatible h1:1eaJvGomDnH74/5cF4CTmTbLHAriGFsTZppLXDX93OM= +github.com/shirou/gopsutil v2.18.12+incompatible/go.mod h1:5b4v6he4MtMOwMlS0TUMTu2PcXUg8+E1lC7eC3UO/RA= +github.com/sticreations/spotigopher v0.0.0-20181009182052-98632f6f94b0 h1:WWyBZL7bRdl7Do39EvkJmBFXT11uXLACy0cJHHOZ7IE= +github.com/sticreations/spotigopher v0.0.0-20181009182052-98632f6f94b0/go.mod h1:DjuRbAVIoxD4Lv7aE12Km2XYYYKrtXXNbpivYwXv2HE= +github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= +github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= +github.com/stretchr/testify v1.3.0 h1:TivCn/peBQ7UY8ooIcPgZFpTNSz0Q2U6UrFlUfqbe0Q= +github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= +github.com/xanzy/go-gitlab v0.0.0-20190111184316-d85a15301260 h1:IkRgG4jOWEJBmapnDlFMjmDnZpmgCrrSiCEJIWstPl0= +github.com/xanzy/go-gitlab v0.0.0-20190111184316-d85a15301260/go.mod h1:8zdQa/ri1dfn8eS3Ir1SyfvOKlw7WBJ8DVThkpGiXrs= +github.com/yfronto/newrelic v0.0.0-20180622232530-7c9c2852e8f9 h1:MYjp+3xEmdmEs41pec7vbPtMg4Fe+za4FFA1lXV6RLo= +github.com/yfronto/newrelic v0.0.0-20180622232530-7c9c2852e8f9/go.mod h1:0AAHfU8E7myJ9nLrWxqgrUDCCqNjTQ4/7cRLvYTHBnw= +github.com/zmb3/spotify v0.0.0-20180925143944-a4bd83f60e06 h1:TcLBlInEqIrXAISLEaTF1jwHsRH7GBIMADkYYyqxzf8= +github.com/zmb3/spotify v0.0.0-20180925143944-a4bd83f60e06/go.mod h1:pHsWAmY9PfX7i/uwPZkmWrebc8JbK8FppKbvyevwzSU= +github.com/zorkian/go-datadog-api v2.19.0+incompatible h1:G17NtfeHwrsQ2degevkwiVEirZENSOjbGOjLLT/kwa4= +github.com/zorkian/go-datadog-api v2.19.0+incompatible/go.mod h1:PkXwHX9CUQa/FpB9ZwAD45N1uhCW4MT/Wj7m36PbKss= +go.opencensus.io v0.18.0/go.mod h1:vKdFvxhtzZ9onBp9VKHK8z/sRpBMnKAsufL7wlDrCOA= +golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= +golang.org/x/lint v0.0.0-20180702182130-06c8688daad7/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= +golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= +golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20181106065722-10aee1819953/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20181108082009-03003ca0c849/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20190311183353-d8887717615a h1:oWX7TPOiFAMXLq8o0ikBYfCJVlRHBcsciT5bXOrH628= +golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= +golang.org/x/oauth2 v0.0.0-20181106182150-f42d05182288/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= +golang.org/x/oauth2 v0.0.0-20181203162652-d668ce993890/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= +golang.org/x/oauth2 v0.0.0-20190111185915-36a7019397c4 h1:Xi5aaGtyrfSB/gXS4Kal2NNpB7uzffL3yzWi2kByI18= +golang.org/x/oauth2 v0.0.0-20190111185915-36a7019397c4/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= +golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20181128092732-4ed8d59d0b35/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a h1:1BGLXjeY4akVXGgbC9HugT3Jv3hCI0z56oJR5vAMgBU= +golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/text v0.3.0 h1:g61tztE5qeGQ89tm6NTjjM9VPIm088od1l6aSorWRWg= +golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= +golang.org/x/tools v0.0.0-20180828015842-6cd1fcedba52/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +google.golang.org/api v0.0.0-20180910000450-7ca32eb868bf/go.mod h1:4mhQ8q/RsB7i+udVvVy5NUi08OU8ZlA0gRVgrF7VFY0= +google.golang.org/api v0.0.0-20190111181425-455dee39f703 h1:enSundpQpZE5iBW667ebOGpan2JiQibes23PDtdkVkU= +google.golang.org/api v0.0.0-20190111181425-455dee39f703/go.mod h1:HyxHN0BdhQ9jLjP1ppRm1JHMruzksPklmzI2+T+z1jM= +google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= +google.golang.org/appengine v1.3.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= +google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= +google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= +google.golang.org/genproto v0.0.0-20180831171423-11092d34479b/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= +google.golang.org/genproto v0.0.0-20181202183823-bd91e49a0898/go.mod h1:7Ep/1NZk928CDR8SjdVbjWNpdIf6nzjE3BTgJDr2Atg= +google.golang.org/grpc v1.14.0/go.mod h1:yo6s7OP7yaDglbqo1J04qKzAhqBH6lvTonzMVmEdcZw= +google.golang.org/grpc v1.16.0/go.mod h1:0JHn/cJsOMiMfNA9+DeHDlAU7KAAB5GDlYFpa9MZMio= +google.golang.org/grpc v1.17.0/go.mod h1:6QZJwpn2B+Zp71q/5VxRsJ6NXXVCE5NRUHRo+f3cWCs= +gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.2.2 h1:ZCJp+EgiOT7lHqUV2J862kp8Qj64Jo6az82+3Td9dZw= +gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +honnef.co/go/tools v0.0.0-20180728063816-88497007e858/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= diff --git a/modules/github/display.go b/modules/github/display.go index df236ebf..46283f84 100644 --- a/modules/github/display.go +++ b/modules/github/display.go @@ -3,7 +3,7 @@ package github import ( "fmt" - "github.com/google/go-github/github" + "github.com/google/go-github/v25/github" ) func (widget *Widget) display() { diff --git a/modules/github/github_repo.go b/modules/github/github_repo.go index 65636795..b5e61020 100644 --- a/modules/github/github_repo.go +++ b/modules/github/github_repo.go @@ -4,7 +4,7 @@ import ( "context" "net/http" - ghb "github.com/google/go-github/github" + ghb "github.com/google/go-github/v25/github" "github.com/wtfutil/wtf/wtf" "golang.org/x/oauth2" ) diff --git a/vendor/cloud.google.com/go/AUTHORS b/vendor/cloud.google.com/go/AUTHORS deleted file mode 100644 index c364af1d..00000000 --- a/vendor/cloud.google.com/go/AUTHORS +++ /dev/null @@ -1,15 +0,0 @@ -# This is the official list of cloud authors for copyright purposes. -# This file is distinct from the CONTRIBUTORS files. -# See the latter for an explanation. - -# Names should be added to this file as: -# Name or Organization -# The email address is not required for organizations. - -Filippo Valsorda -Google Inc. -Ingo Oeser -Palm Stone Games, Inc. -Paweł Knap -Péter Szilágyi -Tyler Treat diff --git a/vendor/cloud.google.com/go/CONTRIBUTORS b/vendor/cloud.google.com/go/CONTRIBUTORS deleted file mode 100644 index 3b3cbed9..00000000 --- a/vendor/cloud.google.com/go/CONTRIBUTORS +++ /dev/null @@ -1,40 +0,0 @@ -# People who have agreed to one of the CLAs and can contribute patches. -# The AUTHORS file lists the copyright holders; this file -# lists people. For example, Google employees are listed here -# but not in AUTHORS, because Google holds the copyright. -# -# https://developers.google.com/open-source/cla/individual -# https://developers.google.com/open-source/cla/corporate -# -# Names should be added to this file as: -# Name - -# Keep the list alphabetically sorted. - -Alexis Hunt -Andreas Litt -Andrew Gerrand -Brad Fitzpatrick -Burcu Dogan -Dave Day -David Sansome -David Symonds -Filippo Valsorda -Glenn Lewis -Ingo Oeser -James Hall -Johan Euphrosine -Jonathan Amsterdam -Kunpei Sakai -Luna Duclos -Magnus Hiie -Mario Castro -Michael McGreevy -Omar Jarjur -Paweł Knap -Péter Szilágyi -Sarah Adams -Thanatat Tamtan -Toby Burress -Tuo Shan -Tyler Treat diff --git a/vendor/cloud.google.com/go/LICENSE b/vendor/cloud.google.com/go/LICENSE deleted file mode 100644 index d6456956..00000000 --- a/vendor/cloud.google.com/go/LICENSE +++ /dev/null @@ -1,202 +0,0 @@ - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. diff --git a/vendor/cloud.google.com/go/compute/metadata/metadata.go b/vendor/cloud.google.com/go/compute/metadata/metadata.go deleted file mode 100644 index 0d929a61..00000000 --- a/vendor/cloud.google.com/go/compute/metadata/metadata.go +++ /dev/null @@ -1,501 +0,0 @@ -// Copyright 2014 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -// Package metadata provides access to Google Compute Engine (GCE) -// metadata and API service accounts. -// -// This package is a wrapper around the GCE metadata service, -// as documented at https://developers.google.com/compute/docs/metadata. -package metadata // import "cloud.google.com/go/compute/metadata" - -import ( - "context" - "encoding/json" - "fmt" - "io/ioutil" - "net" - "net/http" - "net/url" - "os" - "runtime" - "strings" - "sync" - "time" -) - -const ( - // metadataIP is the documented metadata server IP address. - metadataIP = "169.254.169.254" - - // metadataHostEnv is the environment variable specifying the - // GCE metadata hostname. If empty, the default value of - // metadataIP ("169.254.169.254") is used instead. - // This is variable name is not defined by any spec, as far as - // I know; it was made up for the Go package. - metadataHostEnv = "GCE_METADATA_HOST" - - userAgent = "gcloud-golang/0.1" -) - -type cachedValue struct { - k string - trim bool - mu sync.Mutex - v string -} - -var ( - projID = &cachedValue{k: "project/project-id", trim: true} - projNum = &cachedValue{k: "project/numeric-project-id", trim: true} - instID = &cachedValue{k: "instance/id", trim: true} -) - -var ( - defaultClient = &Client{hc: &http.Client{ - Transport: &http.Transport{ - Dial: (&net.Dialer{ - Timeout: 2 * time.Second, - KeepAlive: 30 * time.Second, - }).Dial, - ResponseHeaderTimeout: 2 * time.Second, - }, - }} - subscribeClient = &Client{hc: &http.Client{ - Transport: &http.Transport{ - Dial: (&net.Dialer{ - Timeout: 2 * time.Second, - KeepAlive: 30 * time.Second, - }).Dial, - }, - }} -) - -// NotDefinedError is returned when requested metadata is not defined. -// -// The underlying string is the suffix after "/computeMetadata/v1/". -// -// This error is not returned if the value is defined to be the empty -// string. -type NotDefinedError string - -func (suffix NotDefinedError) Error() string { - return fmt.Sprintf("metadata: GCE metadata %q not defined", string(suffix)) -} - -func (c *cachedValue) get(cl *Client) (v string, err error) { - defer c.mu.Unlock() - c.mu.Lock() - if c.v != "" { - return c.v, nil - } - if c.trim { - v, err = cl.getTrimmed(c.k) - } else { - v, err = cl.Get(c.k) - } - if err == nil { - c.v = v - } - return -} - -var ( - onGCEOnce sync.Once - onGCE bool -) - -// OnGCE reports whether this process is running on Google Compute Engine. -func OnGCE() bool { - onGCEOnce.Do(initOnGCE) - return onGCE -} - -func initOnGCE() { - onGCE = testOnGCE() -} - -func testOnGCE() bool { - // The user explicitly said they're on GCE, so trust them. - if os.Getenv(metadataHostEnv) != "" { - return true - } - - ctx, cancel := context.WithCancel(context.Background()) - defer cancel() - - resc := make(chan bool, 2) - - // Try two strategies in parallel. - // See https://github.com/GoogleCloudPlatform/google-cloud-go/issues/194 - go func() { - req, _ := http.NewRequest("GET", "http://"+metadataIP, nil) - req.Header.Set("User-Agent", userAgent) - res, err := defaultClient.hc.Do(req.WithContext(ctx)) - if err != nil { - resc <- false - return - } - defer res.Body.Close() - resc <- res.Header.Get("Metadata-Flavor") == "Google" - }() - - go func() { - addrs, err := net.LookupHost("metadata.google.internal") - if err != nil || len(addrs) == 0 { - resc <- false - return - } - resc <- strsContains(addrs, metadataIP) - }() - - tryHarder := systemInfoSuggestsGCE() - if tryHarder { - res := <-resc - if res { - // The first strategy succeeded, so let's use it. - return true - } - // Wait for either the DNS or metadata server probe to - // contradict the other one and say we are running on - // GCE. Give it a lot of time to do so, since the system - // info already suggests we're running on a GCE BIOS. - timer := time.NewTimer(5 * time.Second) - defer timer.Stop() - select { - case res = <-resc: - return res - case <-timer.C: - // Too slow. Who knows what this system is. - return false - } - } - - // There's no hint from the system info that we're running on - // GCE, so use the first probe's result as truth, whether it's - // true or false. The goal here is to optimize for speed for - // users who are NOT running on GCE. We can't assume that - // either a DNS lookup or an HTTP request to a blackholed IP - // address is fast. Worst case this should return when the - // metaClient's Transport.ResponseHeaderTimeout or - // Transport.Dial.Timeout fires (in two seconds). - return <-resc -} - -// systemInfoSuggestsGCE reports whether the local system (without -// doing network requests) suggests that we're running on GCE. If this -// returns true, testOnGCE tries a bit harder to reach its metadata -// server. -func systemInfoSuggestsGCE() bool { - if runtime.GOOS != "linux" { - // We don't have any non-Linux clues available, at least yet. - return false - } - slurp, _ := ioutil.ReadFile("/sys/class/dmi/id/product_name") - name := strings.TrimSpace(string(slurp)) - return name == "Google" || name == "Google Compute Engine" -} - -// Subscribe calls Client.Subscribe on a client designed for subscribing (one with no -// ResponseHeaderTimeout). -func Subscribe(suffix string, fn func(v string, ok bool) error) error { - return subscribeClient.Subscribe(suffix, fn) -} - -// Get calls Client.Get on the default client. -func Get(suffix string) (string, error) { return defaultClient.Get(suffix) } - -// ProjectID returns the current instance's project ID string. -func ProjectID() (string, error) { return defaultClient.ProjectID() } - -// NumericProjectID returns the current instance's numeric project ID. -func NumericProjectID() (string, error) { return defaultClient.NumericProjectID() } - -// InternalIP returns the instance's primary internal IP address. -func InternalIP() (string, error) { return defaultClient.InternalIP() } - -// ExternalIP returns the instance's primary external (public) IP address. -func ExternalIP() (string, error) { return defaultClient.ExternalIP() } - -// Hostname returns the instance's hostname. This will be of the form -// ".c..internal". -func Hostname() (string, error) { return defaultClient.Hostname() } - -// InstanceTags returns the list of user-defined instance tags, -// assigned when initially creating a GCE instance. -func InstanceTags() ([]string, error) { return defaultClient.InstanceTags() } - -// InstanceID returns the current VM's numeric instance ID. -func InstanceID() (string, error) { return defaultClient.InstanceID() } - -// InstanceName returns the current VM's instance ID string. -func InstanceName() (string, error) { return defaultClient.InstanceName() } - -// Zone returns the current VM's zone, such as "us-central1-b". -func Zone() (string, error) { return defaultClient.Zone() } - -// InstanceAttributes calls Client.InstanceAttributes on the default client. -func InstanceAttributes() ([]string, error) { return defaultClient.InstanceAttributes() } - -// ProjectAttributes calls Client.ProjectAttributes on the default client. -func ProjectAttributes() ([]string, error) { return defaultClient.ProjectAttributes() } - -// InstanceAttributeValue calls Client.InstanceAttributeValue on the default client. -func InstanceAttributeValue(attr string) (string, error) { - return defaultClient.InstanceAttributeValue(attr) -} - -// ProjectAttributeValue calls Client.ProjectAttributeValue on the default client. -func ProjectAttributeValue(attr string) (string, error) { - return defaultClient.ProjectAttributeValue(attr) -} - -// Scopes calls Client.Scopes on the default client. -func Scopes(serviceAccount string) ([]string, error) { return defaultClient.Scopes(serviceAccount) } - -func strsContains(ss []string, s string) bool { - for _, v := range ss { - if v == s { - return true - } - } - return false -} - -// A Client provides metadata. -type Client struct { - hc *http.Client -} - -// NewClient returns a Client that can be used to fetch metadata. All HTTP requests -// will use the given http.Client instead of the default client. -func NewClient(c *http.Client) *Client { - return &Client{hc: c} -} - -// getETag returns a value from the metadata service as well as the associated ETag. -// This func is otherwise equivalent to Get. -func (c *Client) getETag(suffix string) (value, etag string, err error) { - // Using a fixed IP makes it very difficult to spoof the metadata service in - // a container, which is an important use-case for local testing of cloud - // deployments. To enable spoofing of the metadata service, the environment - // variable GCE_METADATA_HOST is first inspected to decide where metadata - // requests shall go. - host := os.Getenv(metadataHostEnv) - if host == "" { - // Using 169.254.169.254 instead of "metadata" here because Go - // binaries built with the "netgo" tag and without cgo won't - // know the search suffix for "metadata" is - // ".google.internal", and this IP address is documented as - // being stable anyway. - host = metadataIP - } - url := "http://" + host + "/computeMetadata/v1/" + suffix - req, _ := http.NewRequest("GET", url, nil) - req.Header.Set("Metadata-Flavor", "Google") - req.Header.Set("User-Agent", userAgent) - res, err := c.hc.Do(req) - if err != nil { - return "", "", err - } - defer res.Body.Close() - if res.StatusCode == http.StatusNotFound { - return "", "", NotDefinedError(suffix) - } - if res.StatusCode != 200 { - return "", "", fmt.Errorf("status code %d trying to fetch %s", res.StatusCode, url) - } - all, err := ioutil.ReadAll(res.Body) - if err != nil { - return "", "", err - } - return string(all), res.Header.Get("Etag"), nil -} - -// Get returns a value from the metadata service. -// The suffix is appended to "http://${GCE_METADATA_HOST}/computeMetadata/v1/". -// -// If the GCE_METADATA_HOST environment variable is not defined, a default of -// 169.254.169.254 will be used instead. -// -// If the requested metadata is not defined, the returned error will -// be of type NotDefinedError. -func (c *Client) Get(suffix string) (string, error) { - val, _, err := c.getETag(suffix) - return val, err -} - -func (c *Client) getTrimmed(suffix string) (s string, err error) { - s, err = c.Get(suffix) - s = strings.TrimSpace(s) - return -} - -func (c *Client) lines(suffix string) ([]string, error) { - j, err := c.Get(suffix) - if err != nil { - return nil, err - } - s := strings.Split(strings.TrimSpace(j), "\n") - for i := range s { - s[i] = strings.TrimSpace(s[i]) - } - return s, nil -} - -// ProjectID returns the current instance's project ID string. -func (c *Client) ProjectID() (string, error) { return projID.get(c) } - -// NumericProjectID returns the current instance's numeric project ID. -func (c *Client) NumericProjectID() (string, error) { return projNum.get(c) } - -// InstanceID returns the current VM's numeric instance ID. -func (c *Client) InstanceID() (string, error) { return instID.get(c) } - -// InternalIP returns the instance's primary internal IP address. -func (c *Client) InternalIP() (string, error) { - return c.getTrimmed("instance/network-interfaces/0/ip") -} - -// ExternalIP returns the instance's primary external (public) IP address. -func (c *Client) ExternalIP() (string, error) { - return c.getTrimmed("instance/network-interfaces/0/access-configs/0/external-ip") -} - -// Hostname returns the instance's hostname. This will be of the form -// ".c..internal". -func (c *Client) Hostname() (string, error) { - return c.getTrimmed("instance/hostname") -} - -// InstanceTags returns the list of user-defined instance tags, -// assigned when initially creating a GCE instance. -func (c *Client) InstanceTags() ([]string, error) { - var s []string - j, err := c.Get("instance/tags") - if err != nil { - return nil, err - } - if err := json.NewDecoder(strings.NewReader(j)).Decode(&s); err != nil { - return nil, err - } - return s, nil -} - -// InstanceName returns the current VM's instance ID string. -func (c *Client) InstanceName() (string, error) { - host, err := c.Hostname() - if err != nil { - return "", err - } - return strings.Split(host, ".")[0], nil -} - -// Zone returns the current VM's zone, such as "us-central1-b". -func (c *Client) Zone() (string, error) { - zone, err := c.getTrimmed("instance/zone") - // zone is of the form "projects//zones/". - if err != nil { - return "", err - } - return zone[strings.LastIndex(zone, "/")+1:], nil -} - -// InstanceAttributes returns the list of user-defined attributes, -// assigned when initially creating a GCE VM instance. The value of an -// attribute can be obtained with InstanceAttributeValue. -func (c *Client) InstanceAttributes() ([]string, error) { return c.lines("instance/attributes/") } - -// ProjectAttributes returns the list of user-defined attributes -// applying to the project as a whole, not just this VM. The value of -// an attribute can be obtained with ProjectAttributeValue. -func (c *Client) ProjectAttributes() ([]string, error) { return c.lines("project/attributes/") } - -// InstanceAttributeValue returns the value of the provided VM -// instance attribute. -// -// If the requested attribute is not defined, the returned error will -// be of type NotDefinedError. -// -// InstanceAttributeValue may return ("", nil) if the attribute was -// defined to be the empty string. -func (c *Client) InstanceAttributeValue(attr string) (string, error) { - return c.Get("instance/attributes/" + attr) -} - -// ProjectAttributeValue returns the value of the provided -// project attribute. -// -// If the requested attribute is not defined, the returned error will -// be of type NotDefinedError. -// -// ProjectAttributeValue may return ("", nil) if the attribute was -// defined to be the empty string. -func (c *Client) ProjectAttributeValue(attr string) (string, error) { - return c.Get("project/attributes/" + attr) -} - -// Scopes returns the service account scopes for the given account. -// The account may be empty or the string "default" to use the instance's -// main account. -func (c *Client) Scopes(serviceAccount string) ([]string, error) { - if serviceAccount == "" { - serviceAccount = "default" - } - return c.lines("instance/service-accounts/" + serviceAccount + "/scopes") -} - -// Subscribe subscribes to a value from the metadata service. -// The suffix is appended to "http://${GCE_METADATA_HOST}/computeMetadata/v1/". -// The suffix may contain query parameters. -// -// Subscribe calls fn with the latest metadata value indicated by the provided -// suffix. If the metadata value is deleted, fn is called with the empty string -// and ok false. Subscribe blocks until fn returns a non-nil error or the value -// is deleted. Subscribe returns the error value returned from the last call to -// fn, which may be nil when ok == false. -func (c *Client) Subscribe(suffix string, fn func(v string, ok bool) error) error { - const failedSubscribeSleep = time.Second * 5 - - // First check to see if the metadata value exists at all. - val, lastETag, err := c.getETag(suffix) - if err != nil { - return err - } - - if err := fn(val, true); err != nil { - return err - } - - ok := true - if strings.ContainsRune(suffix, '?') { - suffix += "&wait_for_change=true&last_etag=" - } else { - suffix += "?wait_for_change=true&last_etag=" - } - for { - val, etag, err := c.getETag(suffix + url.QueryEscape(lastETag)) - if err != nil { - if _, deleted := err.(NotDefinedError); !deleted { - time.Sleep(failedSubscribeSleep) - continue // Retry on other errors. - } - ok = false - } - lastETag = etag - - if err := fn(val, ok); err != nil || !ok { - return err - } - } -} diff --git a/vendor/code.cloudfoundry.org/bytefmt/LICENSE b/vendor/code.cloudfoundry.org/bytefmt/LICENSE deleted file mode 100644 index f49a4e16..00000000 --- a/vendor/code.cloudfoundry.org/bytefmt/LICENSE +++ /dev/null @@ -1,201 +0,0 @@ - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. \ No newline at end of file diff --git a/vendor/code.cloudfoundry.org/bytefmt/NOTICE b/vendor/code.cloudfoundry.org/bytefmt/NOTICE deleted file mode 100644 index 8625a7f4..00000000 --- a/vendor/code.cloudfoundry.org/bytefmt/NOTICE +++ /dev/null @@ -1,20 +0,0 @@ -Copyright (c) 2015-Present CloudFoundry.org Foundation, Inc. All Rights Reserved. - -This project contains software that is Copyright (c) 2013-2015 Pivotal Software, Inc. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. - -This project may include a number of subcomponents with separate -copyright notices and license terms. Your use of these subcomponents -is subject to the terms and conditions of each subcomponent's license, -as noted in the LICENSE file. diff --git a/vendor/code.cloudfoundry.org/bytefmt/README.md b/vendor/code.cloudfoundry.org/bytefmt/README.md deleted file mode 100644 index 44d287d1..00000000 --- a/vendor/code.cloudfoundry.org/bytefmt/README.md +++ /dev/null @@ -1,15 +0,0 @@ -bytefmt -======= - -**Note**: This repository should be imported as `code.cloudfoundry.org/bytefmt`. - -Human-readable byte formatter. - -Example: - -```go -bytefmt.ByteSize(100.5*bytefmt.MEGABYTE) // returns "100.5M" -bytefmt.ByteSize(uint64(1024)) // returns "1K" -``` - -For documentation, please see http://godoc.org/code.cloudfoundry.org/bytefmt diff --git a/vendor/code.cloudfoundry.org/bytefmt/bytes.go b/vendor/code.cloudfoundry.org/bytefmt/bytes.go deleted file mode 100644 index e0e09bbe..00000000 --- a/vendor/code.cloudfoundry.org/bytefmt/bytes.go +++ /dev/null @@ -1,105 +0,0 @@ -// Package bytefmt contains helper methods and constants for converting to and from a human-readable byte format. -// -// bytefmt.ByteSize(100.5*bytefmt.MEGABYTE) // "100.5M" -// bytefmt.ByteSize(uint64(1024)) // "1K" -// -package bytefmt - -import ( - "errors" - "strconv" - "strings" - "unicode" -) - -const ( - BYTE = 1 << (10 * iota) - KILOBYTE - MEGABYTE - GIGABYTE - TERABYTE -) - -var invalidByteQuantityError = errors.New("byte quantity must be a positive integer with a unit of measurement like M, MB, MiB, G, GiB, or GB") - -// ByteSize returns a human-readable byte string of the form 10M, 12.5K, and so forth. The following units are available: -// T: Terabyte -// G: Gigabyte -// M: Megabyte -// K: Kilobyte -// B: Byte -// The unit that results in the smallest number greater than or equal to 1 is always chosen. -func ByteSize(bytes uint64) string { - unit := "" - value := float64(bytes) - - switch { - case bytes >= TERABYTE: - unit = "T" - value = value / TERABYTE - case bytes >= GIGABYTE: - unit = "G" - value = value / GIGABYTE - case bytes >= MEGABYTE: - unit = "M" - value = value / MEGABYTE - case bytes >= KILOBYTE: - unit = "K" - value = value / KILOBYTE - case bytes >= BYTE: - unit = "B" - case bytes == 0: - return "0" - } - - result := strconv.FormatFloat(value, 'f', 1, 64) - result = strings.TrimSuffix(result, ".0") - return result + unit -} - -// ToMegabytes parses a string formatted by ByteSize as megabytes. -func ToMegabytes(s string) (uint64, error) { - bytes, err := ToBytes(s) - if err != nil { - return 0, err - } - - return bytes / MEGABYTE, nil -} - -// ToBytes parses a string formatted by ByteSize as bytes. Note binary-prefixed and SI prefixed units both mean a base-2 units -// KB = K = KiB = 1024 -// MB = M = MiB = 1024 * K -// GB = G = GiB = 1024 * M -// TB = T = TiB = 1024 * G -func ToBytes(s string) (uint64, error) { - s = strings.TrimSpace(s) - s = strings.ToUpper(s) - - i := strings.IndexFunc(s, unicode.IsLetter) - - if i == -1 { - return 0, invalidByteQuantityError - } - - bytesString, multiple := s[:i], s[i:] - bytes, err := strconv.ParseFloat(bytesString, 64) - if err != nil || bytes <= 0 { - return 0, invalidByteQuantityError - } - - switch multiple { - case "T", "TB", "TIB": - return uint64(bytes * TERABYTE), nil - case "G", "GB", "GIB": - return uint64(bytes * GIGABYTE), nil - case "M", "MB", "MIB": - return uint64(bytes * MEGABYTE), nil - case "K", "KB", "KIB": - return uint64(bytes * KILOBYTE), nil - case "B": - return uint64(bytes), nil - default: - return 0, invalidByteQuantityError - } -} diff --git a/vendor/code.cloudfoundry.org/bytefmt/package.go b/vendor/code.cloudfoundry.org/bytefmt/package.go deleted file mode 100644 index 03429300..00000000 --- a/vendor/code.cloudfoundry.org/bytefmt/package.go +++ /dev/null @@ -1 +0,0 @@ -package bytefmt // import "code.cloudfoundry.org/bytefmt" diff --git a/vendor/github.com/PagerDuty/go-pagerduty/.gitignore b/vendor/github.com/PagerDuty/go-pagerduty/.gitignore deleted file mode 100644 index dc0fe944..00000000 --- a/vendor/github.com/PagerDuty/go-pagerduty/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -bin/* -*.swp diff --git a/vendor/github.com/PagerDuty/go-pagerduty/.goreleaser.yml b/vendor/github.com/PagerDuty/go-pagerduty/.goreleaser.yml deleted file mode 100644 index 4ecd2cbe..00000000 --- a/vendor/github.com/PagerDuty/go-pagerduty/.goreleaser.yml +++ /dev/null @@ -1,33 +0,0 @@ -project_name: go-pagerduty -release: - github: - owner: PagerDuty - name: go-pagerduty - draft: false - prerelease: true - name_template: "{{.ProjectName}}-v{{.Version}}" -builds: -- goos: - - linux - - darwin - - windows - goarch: - - amd64 - - 386 - main: ./command/*.go - binary: pd -archive: - format: tar.gz - format_overrides: - - goos: windows - format: zip - replacements: - amd64: 64-bit - darwin: macOS - linux: Tux - name_template: "{{.Binary}}_{{.Version}}_{{.Os}}-{{.Arch}}" - files: - - LICENSE.txt - - README.md - - examples/* - - CHANGELOG.md \ No newline at end of file diff --git a/vendor/github.com/PagerDuty/go-pagerduty/.travis.yml b/vendor/github.com/PagerDuty/go-pagerduty/.travis.yml deleted file mode 100644 index 746f6607..00000000 --- a/vendor/github.com/PagerDuty/go-pagerduty/.travis.yml +++ /dev/null @@ -1,24 +0,0 @@ -language: go - -addons: - apt: - packages: - # needed for the nfpm pipe: - - rpm - -# needed for the docker pipe -# services: -# - docker - -# calls goreleaser -deploy: - skip_cleanup: true - provider: script - script: make deploy - on: - tags: true - notifications: - email: false - on: - tags: true - condition: $TRAVIS_OS_NAME = linux \ No newline at end of file diff --git a/vendor/github.com/PagerDuty/go-pagerduty/CHANGELOG.md b/vendor/github.com/PagerDuty/go-pagerduty/CHANGELOG.md deleted file mode 100644 index 5936ccc3..00000000 --- a/vendor/github.com/PagerDuty/go-pagerduty/CHANGELOG.md +++ /dev/null @@ -1,89 +0,0 @@ -# Change Log - -## [1.0.0](https://github.com/PagerDuty/go-pagerduty/tree/1.0.0) (2018-05-28) -**Fixed bugs:** - -- Escalation Policy's repeat\_enabled Is Ignored [\#57](https://github.com/PagerDuty/go-pagerduty/issues/57) -- Problems running freshly built pd utility [\#39](https://github.com/PagerDuty/go-pagerduty/issues/39) -- Manage Incident gives error [\#32](https://github.com/PagerDuty/go-pagerduty/issues/32) -- Added missing slash to delete integration method url [\#59](https://github.com/PagerDuty/go-pagerduty/pull/59) ([jescochu](https://github.com/jescochu)) - -**Closed issues:** - -- Trouble creating an integration [\#102](https://github.com/PagerDuty/go-pagerduty/issues/102) -- Client does not trigger events [\#101](https://github.com/PagerDuty/go-pagerduty/issues/101) -- Paging help [\#94](https://github.com/PagerDuty/go-pagerduty/issues/94) -- Help with incident creation API [\#89](https://github.com/PagerDuty/go-pagerduty/issues/89) -- Memory leak because of response body is not closed [\#66](https://github.com/PagerDuty/go-pagerduty/issues/66) -- Since and Until don't work for log\_entries [\#61](https://github.com/PagerDuty/go-pagerduty/issues/61) -- service: auto\_resolve\_timeout & acknowledgement\_timeout cannot be set to null [\#51](https://github.com/PagerDuty/go-pagerduty/issues/51) -- Possible to create new service and integration together [\#42](https://github.com/PagerDuty/go-pagerduty/issues/42) -- Documentation does not match code [\#16](https://github.com/PagerDuty/go-pagerduty/issues/16) -- Typo in repo description [\#15](https://github.com/PagerDuty/go-pagerduty/issues/15) -- Webhook decoder [\#14](https://github.com/PagerDuty/go-pagerduty/issues/14) -- incident\_key for create\_event [\#13](https://github.com/PagerDuty/go-pagerduty/issues/13) - -**Merged pull requests:** - -- Fix pagination for ListOnCalls [\#90](https://github.com/PagerDuty/go-pagerduty/pull/90) ([IainCole](https://github.com/IainCole)) -- Revert "Fix inconsistency with some REST Options objects passed by reference …" [\#88](https://github.com/PagerDuty/go-pagerduty/pull/88) ([mimato](https://github.com/mimato)) -- Adding travis config, fixup Makefile [\#87](https://github.com/PagerDuty/go-pagerduty/pull/87) ([mimato](https://github.com/mimato)) -- Fixed invalid JSON descriptor for FirstTriggerLogEntry [\#86](https://github.com/PagerDuty/go-pagerduty/pull/86) ([mwisniewski0](https://github.com/mwisniewski0)) -- \[incidents\] fix entries typo in a few places [\#85](https://github.com/PagerDuty/go-pagerduty/pull/85) ([joeyparsons](https://github.com/joeyparsons)) -- Fix inconsistency with some REST Options objects passed by reference … [\#79](https://github.com/PagerDuty/go-pagerduty/pull/79) ([lowesoftware](https://github.com/lowesoftware)) -- Explicit JSON reference to schedules [\#77](https://github.com/PagerDuty/go-pagerduty/pull/77) ([domudall](https://github.com/domudall)) -- Adding AlertCreation to Service struct [\#76](https://github.com/PagerDuty/go-pagerduty/pull/76) ([domudall](https://github.com/domudall)) -- Add support for escalation rules [\#71](https://github.com/PagerDuty/go-pagerduty/pull/71) ([heimweh](https://github.com/heimweh)) -- Fix maintenance window JSON [\#69](https://github.com/PagerDuty/go-pagerduty/pull/69) ([domudall](https://github.com/domudall)) -- Fixing Maintenance typo [\#68](https://github.com/PagerDuty/go-pagerduty/pull/68) ([domudall](https://github.com/domudall)) -- Update event.go - fix a memory leak [\#65](https://github.com/PagerDuty/go-pagerduty/pull/65) ([AngelRefael](https://github.com/AngelRefael)) -- Add query to vendor [\#64](https://github.com/PagerDuty/go-pagerduty/pull/64) ([heimweh](https://github.com/heimweh)) -- Fix JSON decode \(errorObject\) [\#63](https://github.com/PagerDuty/go-pagerduty/pull/63) ([heimweh](https://github.com/heimweh)) -- fix since and until by adding them to url scheme [\#60](https://github.com/PagerDuty/go-pagerduty/pull/60) ([ethansommer](https://github.com/ethansommer)) -- fix webhook struct member name [\#58](https://github.com/PagerDuty/go-pagerduty/pull/58) ([pgray](https://github.com/pgray)) -- Incident - Add status field to incident [\#56](https://github.com/PagerDuty/go-pagerduty/pull/56) ([heimweh](https://github.com/heimweh)) -- enable fetch log entries via incident api [\#55](https://github.com/PagerDuty/go-pagerduty/pull/55) ([flyinprogrammer](https://github.com/flyinprogrammer)) -- Allow service timeouts to be disabled [\#53](https://github.com/PagerDuty/go-pagerduty/pull/53) ([heimweh](https://github.com/heimweh)) -- Schedule restriction - Add support for start\_day\_of\_week [\#52](https://github.com/PagerDuty/go-pagerduty/pull/52) ([heimweh](https://github.com/heimweh)) -- Add vendor support [\#49](https://github.com/PagerDuty/go-pagerduty/pull/49) ([heimweh](https://github.com/heimweh)) -- Add schedules listing [\#46](https://github.com/PagerDuty/go-pagerduty/pull/46) ([Marc-Morata-Fite](https://github.com/Marc-Morata-Fite)) -- dont declare main twice in examples [\#45](https://github.com/PagerDuty/go-pagerduty/pull/45) ([ranjib](https://github.com/ranjib)) -- add service show [\#44](https://github.com/PagerDuty/go-pagerduty/pull/44) ([cmluciano](https://github.com/cmluciano)) -- \(feat\)implement integration creation [\#43](https://github.com/PagerDuty/go-pagerduty/pull/43) ([ranjib](https://github.com/ranjib)) -- \(chore\)add create event example [\#41](https://github.com/PagerDuty/go-pagerduty/pull/41) ([ranjib](https://github.com/ranjib)) -- \(bug\)Add test. fix version issue [\#40](https://github.com/PagerDuty/go-pagerduty/pull/40) ([ranjib](https://github.com/ranjib)) -- Remove subdomain argument from escalation\_policy example. [\#38](https://github.com/PagerDuty/go-pagerduty/pull/38) ([cmluciano](https://github.com/cmluciano)) -- Skip JSON encoding if no payload was given [\#37](https://github.com/PagerDuty/go-pagerduty/pull/37) ([heimweh](https://github.com/heimweh)) -- \(feat\)add ability API and CLI [\#36](https://github.com/PagerDuty/go-pagerduty/pull/36) ([ranjib](https://github.com/ranjib)) -- Make updates to Escalation Policies work [\#35](https://github.com/PagerDuty/go-pagerduty/pull/35) ([heimweh](https://github.com/heimweh)) -- Fix misspelling in User struct and add JSON tags [\#34](https://github.com/PagerDuty/go-pagerduty/pull/34) ([heimweh](https://github.com/heimweh)) -- \(bug\)allow passing headers in http do call. fix manage incident call [\#33](https://github.com/PagerDuty/go-pagerduty/pull/33) ([ranjib](https://github.com/ranjib)) -- \(chore\)get rid of logrus from all core structs except CLI entries. fix schedule override command [\#31](https://github.com/PagerDuty/go-pagerduty/pull/31) ([ranjib](https://github.com/ranjib)) -- \(bug\)rename override struct [\#30](https://github.com/PagerDuty/go-pagerduty/pull/30) ([ranjib](https://github.com/ranjib)) -- \(bug\)implement schedule override [\#29](https://github.com/PagerDuty/go-pagerduty/pull/29) ([ranjib](https://github.com/ranjib)) -- fix misspelling in trigger\_summary\_data's JSON key. [\#28](https://github.com/PagerDuty/go-pagerduty/pull/28) ([tomwans](https://github.com/tomwans)) -- Correctly set meta flag for incident list [\#26](https://github.com/PagerDuty/go-pagerduty/pull/26) ([afirth](https://github.com/afirth)) -- Add \*.swp to gitignore [\#25](https://github.com/PagerDuty/go-pagerduty/pull/25) ([afirth](https://github.com/afirth)) -- Support the /oncalls endpoint in the CLI [\#24](https://github.com/PagerDuty/go-pagerduty/pull/24) ([afirth](https://github.com/afirth)) -- Refactor to work correctly with V2 API [\#23](https://github.com/PagerDuty/go-pagerduty/pull/23) ([dthagard](https://github.com/dthagard)) -- \(feat\)Add webhook decoding capability [\#22](https://github.com/PagerDuty/go-pagerduty/pull/22) ([ranjib](https://github.com/ranjib)) -- \(chore\)Decode event API response. [\#21](https://github.com/PagerDuty/go-pagerduty/pull/21) ([ranjib](https://github.com/ranjib)) -- \(bug\)add incident\_key field in event api client [\#20](https://github.com/PagerDuty/go-pagerduty/pull/20) ([ranjib](https://github.com/ranjib)) -- \(chore\)nuke sub domain, v2 api does not need one [\#19](https://github.com/PagerDuty/go-pagerduty/pull/19) ([ranjib](https://github.com/ranjib)) -- Implement list users CLI [\#17](https://github.com/PagerDuty/go-pagerduty/pull/17) ([ranjib](https://github.com/ranjib)) -- Add team\_ids\[\] query string arg [\#12](https://github.com/PagerDuty/go-pagerduty/pull/12) ([marklap](https://github.com/marklap)) -- Incidents fix [\#11](https://github.com/PagerDuty/go-pagerduty/pull/11) ([jareksm](https://github.com/jareksm)) -- Added APIListObject to Option types to allow setting offset and [\#10](https://github.com/PagerDuty/go-pagerduty/pull/10) ([jareksm](https://github.com/jareksm)) -- fix typo [\#9](https://github.com/PagerDuty/go-pagerduty/pull/9) ([sjansen](https://github.com/sjansen)) -- implement incident list cli. event posting api [\#8](https://github.com/PagerDuty/go-pagerduty/pull/8) ([ranjib](https://github.com/ranjib)) -- CLI for create escalation policy, maintainenance window , schedule ov… [\#7](https://github.com/PagerDuty/go-pagerduty/pull/7) ([ranjib](https://github.com/ranjib)) -- \(feat\)implement create service cli [\#6](https://github.com/PagerDuty/go-pagerduty/pull/6) ([ranjib](https://github.com/ranjib)) -- \(feat\)list service cli [\#5](https://github.com/PagerDuty/go-pagerduty/pull/5) ([ranjib](https://github.com/ranjib)) -- \(feat\)implement addon update/delete [\#4](https://github.com/PagerDuty/go-pagerduty/pull/4) ([ranjib](https://github.com/ranjib)) -- \(feat\)Show addon cli [\#3](https://github.com/PagerDuty/go-pagerduty/pull/3) ([ranjib](https://github.com/ranjib)) -- \(feat\) addon list api. create cli [\#2](https://github.com/PagerDuty/go-pagerduty/pull/2) ([ranjib](https://github.com/ranjib)) -- \(chore\) list addon [\#1](https://github.com/PagerDuty/go-pagerduty/pull/1) ([ranjib](https://github.com/ranjib)) - - - -\* *This Change Log was automatically generated by [github_changelog_generator](https://github.com/skywinder/Github-Changelog-Generator)* \ No newline at end of file diff --git a/vendor/github.com/PagerDuty/go-pagerduty/Dockerfile b/vendor/github.com/PagerDuty/go-pagerduty/Dockerfile deleted file mode 100644 index 650a6921..00000000 --- a/vendor/github.com/PagerDuty/go-pagerduty/Dockerfile +++ /dev/null @@ -1,4 +0,0 @@ -FROM golang -ADD . /go/src/github.com/PagerDuty/go-pagerduty -WORKDIR /go/src/github.com/PagerDuty/go-pagerduty -RUN go get ./... && go test -v -race -cover ./... diff --git a/vendor/github.com/PagerDuty/go-pagerduty/LICENSE.txt b/vendor/github.com/PagerDuty/go-pagerduty/LICENSE.txt deleted file mode 100644 index 0c80aa6c..00000000 --- a/vendor/github.com/PagerDuty/go-pagerduty/LICENSE.txt +++ /dev/null @@ -1,14 +0,0 @@ -Copyright:: Copyright (c) 2016 PagerDuty, Inc. -License:: Apache License, Version 2.0 - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. diff --git a/vendor/github.com/PagerDuty/go-pagerduty/Makefile b/vendor/github.com/PagerDuty/go-pagerduty/Makefile deleted file mode 100644 index 2e075a69..00000000 --- a/vendor/github.com/PagerDuty/go-pagerduty/Makefile +++ /dev/null @@ -1,23 +0,0 @@ -# SOURCEDIR=. -# SOURCES = $(shell find $(SOURCEDIR) -name '*.go') -# VERSION=$(git describe --always --tags) -# BINARY=bin/pd - -# bin: $(BINARY) - -# $(BINARY): $(SOURCES) -# go build -o $(BINARY) command/* - -.PHONY: build -build: - go get ./... - # go test -v -race -cover ./... - # go tool vet $(SOURCES) - -.PHONY: test -test: - go test ./... - -deploy: - - curl -sL https://git.io/goreleaser | bash - diff --git a/vendor/github.com/PagerDuty/go-pagerduty/README.md b/vendor/github.com/PagerDuty/go-pagerduty/README.md deleted file mode 100644 index b1878806..00000000 --- a/vendor/github.com/PagerDuty/go-pagerduty/README.md +++ /dev/null @@ -1,73 +0,0 @@ -# go-pagerduty - -go-pagerduty is a CLI and [go](https://golang.org/) client library for [PagerDuty v2 API](https://v2.developer.pagerduty.com/v2/page/api-reference). -[godoc](http://godoc.org/github.com/PagerDuty/go-pagerduty) - -## Installation - -``` -go get github.com/PagerDuty/go-pagerduty -``` - -## Usage - -### CLI - -The CLI requires authentication token, which can be sepcified in `.pd.yml` -file in home directory of the user, or passed as command line argument. -Example of config file: - -```yaml ---- -authtoken: fooBar -``` - -`pd` command provides a single entrypoint for all the API endpoints, with individual -API represented by their own sub commands. For an exhaustive list of sub-commands, try: - -``` -pd --help -``` - -An example of the `service` sub-command - -``` -pd service list -``` - - -### From golang libraries - -```go -package main - -import ( - "fmt" - "github.com/PagerDuty/go-pagerduty" -) - -var authtoken = "" // Set your auth token here - -func main() { - var opts pagerduty.ListEscalationPoliciesOptions - client := pagerduty.NewClient(authtoken) - if eps, err := client.ListEscalationPolicies(opts); err != nil { - panic(err) - } else { - for _, p := range eps.EscalationPolicies { - fmt.Println(p.Name) - } - } -} -``` - -## License -[Apache 2](http://www.apache.org/licenses/LICENSE-2.0) - -## Contributing - -1. Fork it ( https://github.com/PagerDuty/go-pagerduty/fork ) -2. Create your feature branch (`git checkout -b my-new-feature`) -3. Commit your changes (`git commit -am 'Add some feature'`) -4. Push to the branch (`git push origin my-new-feature`) -5. Create a new Pull Request diff --git a/vendor/github.com/PagerDuty/go-pagerduty/ability.go b/vendor/github.com/PagerDuty/go-pagerduty/ability.go deleted file mode 100644 index 26fe9096..00000000 --- a/vendor/github.com/PagerDuty/go-pagerduty/ability.go +++ /dev/null @@ -1,22 +0,0 @@ -package pagerduty - -// ListAbilityResponse is the response when calling the ListAbility API endpoint. -type ListAbilityResponse struct { - Abilities []string `json:"abilities"` -} - -// ListAbilities lists all abilities on your account. -func (c *Client) ListAbilities() (*ListAbilityResponse, error) { - resp, err := c.get("/abilities") - if err != nil { - return nil, err - } - var result ListAbilityResponse - return &result, c.decodeJSON(resp, &result) -} - -// TestAbility Check if your account has the given ability. -func (c *Client) TestAbility(ability string) error { - _, err := c.get("/abilities/" + ability) - return err -} diff --git a/vendor/github.com/PagerDuty/go-pagerduty/addon.go b/vendor/github.com/PagerDuty/go-pagerduty/addon.go deleted file mode 100644 index ae9d4e57..00000000 --- a/vendor/github.com/PagerDuty/go-pagerduty/addon.go +++ /dev/null @@ -1,96 +0,0 @@ -package pagerduty - -import ( - "fmt" - "github.com/google/go-querystring/query" - "net/http" -) - -// Addon is a third-party add-on to PagerDuty's UI. -type Addon struct { - APIObject - Name string `json:"name,omitempty"` - Src string `json:"src,omitempty"` - Services []APIObject `json:"services,omitempty"` -} - -// ListAddonOptions are the options available when calling the ListAddons API endpoint. -type ListAddonOptions struct { - APIListObject - Includes []string `url:"include,omitempty,brackets"` - ServiceIDs []string `url:"service_ids,omitempty,brackets"` - Filter string `url:"filter,omitempty"` -} - -// ListAddonResponse is the response when calling the ListAddons API endpoint. -type ListAddonResponse struct { - APIListObject - Addons []Addon `json:"addons"` -} - -// ListAddons lists all of the add-ons installed on your account. -func (c *Client) ListAddons(o ListAddonOptions) (*ListAddonResponse, error) { - v, err := query.Values(o) - if err != nil { - return nil, err - } - resp, err := c.get("/addons?" + v.Encode()) - if err != nil { - return nil, err - } - var result ListAddonResponse - return &result, c.decodeJSON(resp, &result) -} - -// InstallAddon installs an add-on for your account. -func (c *Client) InstallAddon(a Addon) (*Addon, error) { - data := make(map[string]Addon) - data["addon"] = a - resp, err := c.post("/addons", data) - defer resp.Body.Close() - if err != nil { - return nil, err - } - if resp.StatusCode != http.StatusCreated { - return nil, fmt.Errorf("Failed to create. HTTP Status code: %d", resp.StatusCode) - } - return getAddonFromResponse(c, resp) -} - -// DeleteAddon deletes an add-on from your account. -func (c *Client) DeleteAddon(id string) error { - _, err := c.delete("/addons/" + id) - return err -} - -// GetAddon gets details about an existing add-on. -func (c *Client) GetAddon(id string) (*Addon, error) { - resp, err := c.get("/addons/" + id) - if err != nil { - return nil, err - } - return getAddonFromResponse(c, resp) -} - -// UpdateAddon updates an existing add-on. -func (c *Client) UpdateAddon(id string, a Addon) (*Addon, error) { - v := make(map[string]Addon) - v["addon"] = a - resp, err := c.put("/addons/"+id, v, nil) - if err != nil { - return nil, err - } - return getAddonFromResponse(c, resp) -} - -func getAddonFromResponse(c *Client, resp *http.Response) (*Addon, error) { - var result map[string]Addon - if err := c.decodeJSON(resp, &result); err != nil { - return nil, err - } - a, ok := result["addon"] - if !ok { - return nil, fmt.Errorf("JSON response does not have 'addon' field") - } - return &a, nil -} diff --git a/vendor/github.com/PagerDuty/go-pagerduty/client.go b/vendor/github.com/PagerDuty/go-pagerduty/client.go deleted file mode 100644 index 7613684c..00000000 --- a/vendor/github.com/PagerDuty/go-pagerduty/client.go +++ /dev/null @@ -1,132 +0,0 @@ -package pagerduty - -import ( - "bytes" - "encoding/json" - "fmt" - "io" - "net/http" -) - -const ( - apiEndpoint = "https://api.pagerduty.com" -) - -// APIObject represents generic api json response that is shared by most -// domain object (like escalation -type APIObject struct { - ID string `json:"id,omitempty"` - Type string `json:"type,omitempty"` - Summary string `json:"summary,omitempty"` - Self string `json:"self,omitempty"` - HTMLURL string `json:"html_url,omitempty"` -} - -// APIListObject are the fields used to control pagination when listing objects. -type APIListObject struct { - Limit uint `url:"limit,omitempty"` - Offset uint `url:"offset,omitempty"` - More bool `url:"more,omitempty"` - Total uint `url:"total,omitempty"` -} - -// APIReference are the fields required to reference another API object. -type APIReference struct { - ID string `json:"id,omitempty"` - Type string `json:"type,omitempty"` -} - -type errorObject struct { - Code int `json:"code,omitempty"` - Message string `json:"message,omitempty"` - Errors interface{} `json:"errors,omitempty"` -} - -// Client wraps http client -type Client struct { - authToken string -} - -// NewClient creates an API client -func NewClient(authToken string) *Client { - return &Client{ - authToken: authToken, - } -} - -func (c *Client) delete(path string) (*http.Response, error) { - return c.do("DELETE", path, nil, nil) -} - -func (c *Client) put(path string, payload interface{}, headers *map[string]string) (*http.Response, error) { - - if payload != nil { - data, err := json.Marshal(payload) - if err != nil { - return nil, err - } - return c.do("PUT", path, bytes.NewBuffer(data), headers) - } - return c.do("PUT", path, nil, headers) -} - -func (c *Client) post(path string, payload interface{}) (*http.Response, error) { - data, err := json.Marshal(payload) - if err != nil { - return nil, err - } - return c.do("POST", path, bytes.NewBuffer(data), nil) -} - -func (c *Client) get(path string) (*http.Response, error) { - return c.do("GET", path, nil, nil) -} - -func (c *Client) do(method, path string, body io.Reader, headers *map[string]string) (*http.Response, error) { - endpoint := apiEndpoint + path - req, _ := http.NewRequest(method, endpoint, body) - req.Header.Set("Accept", "application/vnd.pagerduty+json;version=2") - if headers != nil { - for k, v := range *headers { - req.Header.Set(k, v) - } - } - req.Header.Set("Content-Type", "application/json") - req.Header.Set("Authorization", "Token token="+c.authToken) - - resp, err := http.DefaultClient.Do(req) - return c.checkResponse(resp, err) -} - -func (c *Client) decodeJSON(resp *http.Response, payload interface{}) error { - defer resp.Body.Close() - decoder := json.NewDecoder(resp.Body) - return decoder.Decode(payload) -} - -func (c *Client) checkResponse(resp *http.Response, err error) (*http.Response, error) { - if err != nil { - return resp, fmt.Errorf("Error calling the API endpoint: %v", err) - } - if 199 >= resp.StatusCode || 300 <= resp.StatusCode { - var eo *errorObject - var getErr error - if eo, getErr = c.getErrorFromResponse(resp); getErr != nil { - return resp, fmt.Errorf("Response did not contain formatted error: %s. HTTP response code: %v. Raw response: %+v", getErr, resp.StatusCode, resp) - } - return resp, fmt.Errorf("Failed call API endpoint. HTTP response code: %v. Error: %v", resp.StatusCode, eo) - } - return resp, nil -} - -func (c *Client) getErrorFromResponse(resp *http.Response) (*errorObject, error) { - var result map[string]errorObject - if err := c.decodeJSON(resp, &result); err != nil { - return nil, fmt.Errorf("Could not decode JSON response: %v", err) - } - s, ok := result["error"] - if !ok { - return nil, fmt.Errorf("JSON response does not have error field") - } - return &s, nil -} diff --git a/vendor/github.com/PagerDuty/go-pagerduty/escalation_policy.go b/vendor/github.com/PagerDuty/go-pagerduty/escalation_policy.go deleted file mode 100644 index a8663df2..00000000 --- a/vendor/github.com/PagerDuty/go-pagerduty/escalation_policy.go +++ /dev/null @@ -1,186 +0,0 @@ -package pagerduty - -import ( - "fmt" - "net/http" - - "github.com/google/go-querystring/query" -) - -const ( - escPath = "/escalation_policies" -) - -// EscalationRule is a rule for an escalation policy to trigger. -type EscalationRule struct { - ID string `json:"id,omitempty"` - Delay uint `json:"escalation_delay_in_minutes,omitempty"` - Targets []APIObject `json:"targets"` -} - -// EscalationPolicy is a collection of escalation rules. -type EscalationPolicy struct { - APIObject - Name string `json:"name,omitempty"` - EscalationRules []EscalationRule `json:"escalation_rules,omitempty"` - Services []APIReference `json:"services,omitempty"` - NumLoops uint `json:"num_loops,omitempty"` - Teams []APIReference `json:"teams,omitempty"` - Description string `json:"description,omitempty"` - RepeatEnabled bool `json:"repeat_enabled,omitempty"` -} - -// ListEscalationPoliciesResponse is the data structure returned from calling the ListEscalationPolicies API endpoint. -type ListEscalationPoliciesResponse struct { - APIListObject - EscalationPolicies []EscalationPolicy `json:"escalation_policies"` -} - -type ListEscalationRulesResponse struct { - APIListObject - EscalationRules []EscalationRule `json:"escalation_rules"` -} - -// ListEscalationPoliciesOptions is the data structure used when calling the ListEscalationPolicies API endpoint. -type ListEscalationPoliciesOptions struct { - APIListObject - Query string `url:"query,omitempty"` - UserIDs []string `url:"user_ids,omitempty,brackets"` - TeamIDs []string `url:"team_ids,omitempty,brackets"` - Includes []string `url:"include,omitempty,brackets"` - SortBy string `url:"sort_by,omitempty"` -} - -// GetEscalationRuleOptions is the data structure used when calling the GetEscalationRule API endpoint. -type GetEscalationRuleOptions struct { - Includes []string `url:"include,omitempty,brackets"` -} - -// ListEscalationPolicies lists all of the existing escalation policies. -func (c *Client) ListEscalationPolicies(o ListEscalationPoliciesOptions) (*ListEscalationPoliciesResponse, error) { - v, err := query.Values(o) - if err != nil { - return nil, err - } - resp, err := c.get(escPath + "?" + v.Encode()) - if err != nil { - return nil, err - } - var result ListEscalationPoliciesResponse - return &result, c.decodeJSON(resp, &result) -} - -// CreateEscalationPolicy creates a new escalation policy. -func (c *Client) CreateEscalationPolicy(e EscalationPolicy) (*EscalationPolicy, error) { - data := make(map[string]EscalationPolicy) - data["escalation_policy"] = e - resp, err := c.post(escPath, data) - return getEscalationPolicyFromResponse(c, resp, err) -} - -// DeleteEscalationPolicy deletes an existing escalation policy and rules. -func (c *Client) DeleteEscalationPolicy(id string) error { - _, err := c.delete(escPath + "/" + id) - return err -} - -// GetEscalationPolicyOptions is the data structure used when calling the GetEscalationPolicy API endpoint. -type GetEscalationPolicyOptions struct { - Includes []string `url:"include,omitempty,brackets"` -} - -// GetEscalationPolicy gets information about an existing escalation policy and its rules. -func (c *Client) GetEscalationPolicy(id string, o *GetEscalationPolicyOptions) (*EscalationPolicy, error) { - v, err := query.Values(o) - if err != nil { - return nil, err - } - resp, err := c.get(escPath + "/" + id + "?" + v.Encode()) - return getEscalationPolicyFromResponse(c, resp, err) -} - -// UpdateEscalationPolicy updates an existing escalation policy and its rules. -func (c *Client) UpdateEscalationPolicy(id string, e *EscalationPolicy) (*EscalationPolicy, error) { - data := make(map[string]EscalationPolicy) - data["escalation_policy"] = *e - resp, err := c.put(escPath+"/"+id, data, nil) - return getEscalationPolicyFromResponse(c, resp, err) -} - -// CreateEscalationRule creates a new escalation rule for an escalation policy -// and appends it to the end of the existing escalation rules. -func (c *Client) CreateEscalationRule(escID string, e EscalationRule) (*EscalationRule, error) { - data := make(map[string]EscalationRule) - data["escalation_rule"] = e - resp, err := c.post(escPath+"/"+escID+"/escalation_rules", data) - return getEscalationRuleFromResponse(c, resp, err) -} - -// GetEscalationRule gets information about an existing escalation rule. -func (c *Client) GetEscalationRule(escID string, id string, o *GetEscalationRuleOptions) (*EscalationRule, error) { - v, err := query.Values(o) - if err != nil { - return nil, err - } - resp, err := c.get(escPath + "/" + escID + "/escalation_rules/" + id + "?" + v.Encode()) - return getEscalationRuleFromResponse(c, resp, err) -} - -// DeleteEscalationRule deletes an existing escalation rule. -func (c *Client) DeleteEscalationRule(escID string, id string) error { - _, err := c.delete(escPath + "/" + escID + "/escalation_rules/" + id) - return err -} - -// UpdateEscalationRule updates an existing escalation rule. -func (c *Client) UpdateEscalationRule(escID string, id string, e *EscalationRule) (*EscalationRule, error) { - data := make(map[string]EscalationRule) - data["escalation_rule"] = *e - resp, err := c.put(escPath+"/"+escID+"/escalation_rules/"+id, data, nil) - return getEscalationRuleFromResponse(c, resp, err) -} - -// ListEscalationRules lists all of the escalation rules for an existing escalation policy. -func (c *Client) ListEscalationRules(escID string) (*ListEscalationRulesResponse, error) { - resp, err := c.get(escPath + "/" + escID + "/escalation_rules") - if err != nil { - return nil, err - } - - var result ListEscalationRulesResponse - return &result, c.decodeJSON(resp, &result) -} - -func getEscalationRuleFromResponse(c *Client, resp *http.Response, err error) (*EscalationRule, error) { - defer resp.Body.Close() - if err != nil { - return nil, err - } - var target map[string]EscalationRule - if dErr := c.decodeJSON(resp, &target); dErr != nil { - return nil, fmt.Errorf("Could not decode JSON response: %v", dErr) - } - rootNode := "escalation_rule" - t, nodeOK := target[rootNode] - if !nodeOK { - return nil, fmt.Errorf("JSON response does not have %s field", rootNode) - } - return &t, nil -} - -func getEscalationPolicyFromResponse(c *Client, resp *http.Response, err error) (*EscalationPolicy, error) { - defer resp.Body.Close() - if err != nil { - return nil, err - } - var target map[string]EscalationPolicy - if dErr := c.decodeJSON(resp, &target); dErr != nil { - return nil, fmt.Errorf("Could not decode JSON response: %v", dErr) - } - rootNode := "escalation_policy" - t, nodeOK := target[rootNode] - if !nodeOK { - return nil, fmt.Errorf("JSON response does not have %s field", rootNode) - } - return &t, nil -} diff --git a/vendor/github.com/PagerDuty/go-pagerduty/event.go b/vendor/github.com/PagerDuty/go-pagerduty/event.go deleted file mode 100644 index a7f73428..00000000 --- a/vendor/github.com/PagerDuty/go-pagerduty/event.go +++ /dev/null @@ -1,52 +0,0 @@ -package pagerduty - -import ( - "bytes" - "encoding/json" - "fmt" - "net/http" -) - -const eventEndPoint = "https://events.pagerduty.com/generic/2010-04-15/create_event.json" - -// Event stores data for problem reporting, acknowledgement, and resolution. -type Event struct { - ServiceKey string `json:"service_key"` - Type string `json:"event_type"` - IncidentKey string `json:"incident_key,omitempty"` - Description string `json:"description"` - Client string `json:"client,omitempty"` - ClientURL string `json:"client_url,omitempty"` - Details interface{} `json:"details,omitempty"` - Contexts []interface{} `json:"contexts,omitempty"` -} - -// EventResponse is the data returned from the CreateEvent API endpoint. -type EventResponse struct { - Status string `json:"status"` - Message string `json:"message"` - IncidentKey string `json:"incident_key"` -} - -// CreateEvent sends PagerDuty an event to report, acknowledge, or resolve a problem. -func CreateEvent(e Event) (*EventResponse, error) { - data, err := json.Marshal(e) - if err != nil { - return nil, err - } - req, _ := http.NewRequest("POST", eventEndPoint, bytes.NewBuffer(data)) - req.Header.Set("Content-Type", "application/json") - resp, err := http.DefaultClient.Do(req) - if err != nil { - return nil, err - } - defer resp.Body.Close() - if resp.StatusCode != http.StatusOK { - return nil, fmt.Errorf("HTTP Status Code: %d", resp.StatusCode) - } - var eventResponse EventResponse - if err := json.NewDecoder(resp.Body).Decode(&eventResponse); err != nil { - return nil, err - } - return &eventResponse, nil -} diff --git a/vendor/github.com/PagerDuty/go-pagerduty/incident.go b/vendor/github.com/PagerDuty/go-pagerduty/incident.go deleted file mode 100644 index 3c7a4330..00000000 --- a/vendor/github.com/PagerDuty/go-pagerduty/incident.go +++ /dev/null @@ -1,177 +0,0 @@ -package pagerduty - -import ( - "fmt" - - "github.com/google/go-querystring/query" -) - -// Acknowledgement is the data structure of an acknoledgement of an incident. -type Acknowledgement struct { - At string - Acknowledger APIObject -} - -// PendingAction is the data structure for any pending actions on an incident. -type PendingAction struct { - Type string - At string -} - -// Assignment is the data structure for an assignment of an incident -type Assignment struct { - At string - Assignee APIObject -} - -// Incident is a normalized, de-duplicated event generated by a PagerDuty integration. -type Incident struct { - APIObject - IncidentNumber uint `json:"incident_number,omitempty"` - CreatedAt string `json:"created_at,omitempty"` - PendingActions []PendingAction `json:"pending_actions,omitempty"` - IncidentKey string `json:"incident_key,omitempty"` - Service APIObject `json:"service,omitempty"` - Assignments []Assignment `json:"assignments,omitempty"` - Acknowledgements []Acknowledgement `json:"acknowledgements,omitempty"` - LastStatusChangeAt string `json:"last_status_change_at,omitempty"` - LastStatusChangeBy APIObject `json:"last_status_change_by,omitempty"` - FirstTriggerLogEntry APIObject `json:"first_trigger_log_entry,omitempty"` - EscalationPolicy APIObject `json:"escalation_policy,omitempty"` - Teams []APIObject `json:"teams,omitempty"` - Urgency string `json:"urgency,omitempty"` - Status string `json:"status,omitempty"` -} - -// ListIncidentsResponse is the response structure when calling the ListIncident API endpoint. -type ListIncidentsResponse struct { - APIListObject - Incidents []Incident `json:"incidents,omitempty"` -} - -// ListIncidentsOptions is the structure used when passing parameters to the ListIncident API endpoint. -type ListIncidentsOptions struct { - APIListObject - Since string `url:"since,omitempty"` - Until string `url:"until,omitempty"` - DateRange string `url:"date_range,omitempty"` - Statuses []string `url:"statuses,omitempty,brackets"` - IncidentKey string `url:"incident_key,omitempty"` - ServiceIDs []string `url:"service_ids,omitempty,brackets"` - TeamIDs []string `url:"team_ids,omitempty,brackets"` - UserIDs []string `url:"user_ids,omitempty,brackets"` - Urgencies []string `url:"urgencies,omitempty,brackets"` - TimeZone string `url:"time_zone,omitempty"` - SortBy string `url:"sort_by,omitempty"` - Includes []string `url:"include,omitempty,brackets"` -} - -// ListIncidents lists existing incidents. -func (c *Client) ListIncidents(o ListIncidentsOptions) (*ListIncidentsResponse, error) { - v, err := query.Values(o) - if err != nil { - return nil, err - } - resp, err := c.get("/incidents?" + v.Encode()) - if err != nil { - return nil, err - } - var result ListIncidentsResponse - return &result, c.decodeJSON(resp, &result) -} - -// ManageIncidents acknowledges, resolves, escalates, or reassigns one or more incidents. -func (c *Client) ManageIncidents(from string, incidents []Incident) error { - r := make(map[string][]Incident) - headers := make(map[string]string) - headers["From"] = from - r["incidents"] = incidents - _, e := c.put("/incidents", r, &headers) - return e -} - -// GetIncident shows detailed information about an incident. -func (c *Client) GetIncident(id string) (*Incident, error) { - resp, err := c.get("/incidents/" + id) - if err != nil { - return nil, err - } - var result map[string]Incident - if err := c.decodeJSON(resp, &result); err != nil { - return nil, err - } - i, ok := result["incident"] - if !ok { - return nil, fmt.Errorf("JSON response does not have incident field") - } - return &i, nil -} - -// IncidentNote is a note for the specified incident. -type IncidentNote struct { - ID string `json:"id,omitempty"` - User APIObject `json:"user,omitempty"` - Content string `json:"content,omitempty"` - CreatedAt string `json:"created_at,omitempty"` -} - -// ListIncidentNotes lists existing notes for the specified incident. -func (c *Client) ListIncidentNotes(id string) ([]IncidentNote, error) { - resp, err := c.get("/incidents/" + id + "/notes") - if err != nil { - return nil, err - } - var result map[string][]IncidentNote - if err := c.decodeJSON(resp, &result); err != nil { - return nil, err - } - notes, ok := result["notes"] - if !ok { - return nil, fmt.Errorf("JSON response does not have notes field") - } - return notes, nil -} - -// CreateIncidentNote creates a new note for the specified incident. -func (c *Client) CreateIncidentNote(id string, note IncidentNote) error { - data := make(map[string]IncidentNote) - data["note"] = note - _, err := c.post("/incidents/"+id+"/notes", data) - return err -} - -// SnoozeIncident sets an incident to not alert for a specified period of time. -func (c *Client) SnoozeIncident(id string, duration uint) error { - data := make(map[string]uint) - data["duration"] = duration - _, err := c.post("/incidents/"+id+"/snooze", data) - return err -} - -// ListIncidentLogEntriesResponse is the response structure when calling the ListIncidentLogEntries API endpoint. -type ListIncidentLogEntriesResponse struct { - APIListObject - LogEntries []LogEntry `json:"log_entries,omitempty"` -} - -// ListIncidentLogEntriesOptions is the structure used when passing parameters to the ListIncidentLogEntries API endpoint. -type ListIncidentLogEntriesOptions struct { - APIListObject - Includes []string `url:"include,omitempty,brackets"` - IsOverview bool `url:"is_overview,omitempty"` - TimeZone string `url:"time_zone,omitempty"` -} - -// ListIncidentLogEntries lists existing log entries for the specified incident. -func (c *Client) ListIncidentLogEntries(id string, o ListIncidentLogEntriesOptions) (*ListIncidentLogEntriesResponse, error) { - v, err := query.Values(o) - if err != nil { - return nil, err - } - resp, err := c.get("/incidents/" + id + "/log_entries?" + v.Encode()) - if err != nil { - return nil, err - } - var result ListIncidentLogEntriesResponse - return &result, c.decodeJSON(resp, &result) -} diff --git a/vendor/github.com/PagerDuty/go-pagerduty/log_entry.go b/vendor/github.com/PagerDuty/go-pagerduty/log_entry.go deleted file mode 100644 index e1fecc43..00000000 --- a/vendor/github.com/PagerDuty/go-pagerduty/log_entry.go +++ /dev/null @@ -1,94 +0,0 @@ -package pagerduty - -import ( - "fmt" - - "github.com/google/go-querystring/query" -) - -// Agent is the actor who carried out the action. -type Agent APIObject - -// Channel is the means by which the action was carried out. -type Channel struct { - Type string -} - -// Context are to be included with the trigger such as links to graphs or images. -type Context struct { - Alt string - Href string - Src string - Text string - Type string -} - -// LogEntry is a list of all of the events that happened to an incident. -type LogEntry struct { - APIObject - CreatedAt string `json:"created_at"` - Agent Agent - Channel Channel - Incident Incident - Teams []Team - Contexts []Context - AcknowledgementTimeout int `json:"acknowledgement_timeout"` - EventDetails map[string]string -} - -// ListLogEntryResponse is the response data when calling the ListLogEntry API endpoint. -type ListLogEntryResponse struct { - APIListObject - LogEntries []LogEntry `json:"log_entries"` -} - -// ListLogEntriesOptions is the data structure used when calling the ListLogEntry API endpoint. -type ListLogEntriesOptions struct { - APIListObject - TimeZone string `url:"time_zone"` - Since string `url:"since,omitempty"` - Until string `url:"until,omitempty"` - IsOverview bool `url:"is_overview,omitempty"` - Includes []string `url:"include,omitempty,brackets"` -} - -// ListLogEntries lists all of the incident log entries across the entire account. -func (c *Client) ListLogEntries(o ListLogEntriesOptions) (*ListLogEntryResponse, error) { - v, err := query.Values(o) - if err != nil { - return nil, err - } - resp, err := c.get("/log_entries?" + v.Encode()) - if err != nil { - return nil, err - } - var result ListLogEntryResponse - return &result, c.decodeJSON(resp, &result) -} - -// GetLogEntryOptions is the data structure used when calling the GetLogEntry API endpoint. -type GetLogEntryOptions struct { - TimeZone string `url:"timezone,omitempty"` - Includes []string `url:"include,omitempty,brackets"` -} - -// GetLogEntry list log entries for the specified incident. -func (c *Client) GetLogEntry(id string, o GetLogEntryOptions) (*LogEntry, error) { - v, err := query.Values(o) - if err != nil { - return nil, err - } - resp, err := c.get("/log_entries/" + id + "?" + v.Encode()) - if err != nil { - return nil, err - } - var result map[string]LogEntry - if err := c.decodeJSON(resp, &result); err != nil { - return nil, err - } - le, ok := result["log_entry"] - if !ok { - return nil, fmt.Errorf("JSON response does not have log_entry field") - } - return &le, nil -} diff --git a/vendor/github.com/PagerDuty/go-pagerduty/maintenance_window.go b/vendor/github.com/PagerDuty/go-pagerduty/maintenance_window.go deleted file mode 100644 index 3b7e610d..00000000 --- a/vendor/github.com/PagerDuty/go-pagerduty/maintenance_window.go +++ /dev/null @@ -1,100 +0,0 @@ -package pagerduty - -import ( - "fmt" - "github.com/google/go-querystring/query" - "net/http" -) - -// MaintenanceWindow is used to temporarily disable one or more services for a set period of time. -type MaintenanceWindow struct { - APIObject - SequenceNumber uint `json:"sequence_number,omitempty"` - StartTime string `json:"start_time"` - EndTime string `json:"end_time"` - Description string `json:"description"` - Services []APIObject `json:"services"` - Teams []APIListObject `json:"teams"` - CreatedBy APIListObject `json:"created_by"` -} - -// ListMaintenanceWindowsResponse is the data structur returned from calling the ListMaintenanceWindows API endpoint. -type ListMaintenanceWindowsResponse struct { - APIListObject - MaintenanceWindows []MaintenanceWindow `json:"maintenance_windows"` -} - -// ListMaintenanceWindowsOptions is the data structure used when calling the ListMaintenanceWindows API endpoint. -type ListMaintenanceWindowsOptions struct { - APIListObject - Query string `url:"query,omitempty"` - Includes []string `url:"include,omitempty,brackets"` - TeamIDs []string `url:"team_ids,omitempty,brackets"` - ServiceIDs []string `url:"service_ids,omitempty,brackets"` - Filter string `url:"filter,omitempty,brackets"` -} - -// ListMaintenanceWindows lists existing maintenance windows, optionally filtered by service and/or team, or whether they are from the past, present or future. -func (c *Client) ListMaintenanceWindows(o ListMaintenanceWindowsOptions) (*ListMaintenanceWindowsResponse, error) { - v, err := query.Values(o) - if err != nil { - return nil, err - } - resp, err := c.get("/maintenance_windows?" + v.Encode()) - if err != nil { - return nil, err - } - var result ListMaintenanceWindowsResponse - return &result, c.decodeJSON(resp, &result) -} - -// CreateMaintenanceWindows creates a new maintenance window for the specified services. -func (c *Client) CreateMaintenanceWindows(m MaintenanceWindow) (*MaintenanceWindow, error) { - data := make(map[string]MaintenanceWindow) - data["maintenance_window"] = m - resp, err := c.post("/maintenance_windows", data) - return getMaintenanceWindowFromResponse(c, resp, err) -} - -// DeleteMaintenanceWindow deletes an existing maintenance window if it's in the future, or ends it if it's currently on-going. -func (c *Client) DeleteMaintenanceWindow(id string) error { - _, err := c.delete("/maintenance_windows/" + id) - return err -} - -// GetMaintenanceWindowOptions is the data structure used when calling the GetMaintenanceWindow API endpoint. -type GetMaintenanceWindowOptions struct { - Includes []string `url:"include,omitempty,brackets"` -} - -// GetMaintenanceWindow gets an existing maintenance window. -func (c *Client) GetMaintenanceWindow(id string, o GetMaintenanceWindowOptions) (*MaintenanceWindow, error) { - v, err := query.Values(o) - if err != nil { - return nil, err - } - resp, err := c.get("/maintenance_windows/" + id + "?" + v.Encode()) - return getMaintenanceWindowFromResponse(c, resp, err) -} - -// UpdateMaintenanceWindow updates an existing maintenance window. -func (c *Client) UpdateMaintenanceWindow(m MaintenanceWindow) (*MaintenanceWindow, error) { - resp, err := c.put("/maintenance_windows/"+m.ID, m, nil) - return getMaintenanceWindowFromResponse(c, resp, err) -} - -func getMaintenanceWindowFromResponse(c *Client, resp *http.Response, err error) (*MaintenanceWindow, error) { - if err != nil { - return nil, err - } - var target map[string]MaintenanceWindow - if dErr := c.decodeJSON(resp, &target); dErr != nil { - return nil, fmt.Errorf("Could not decode JSON response: %v", dErr) - } - rootNode := "maintenance_window" - t, nodeOK := target[rootNode] - if !nodeOK { - return nil, fmt.Errorf("JSON response does not have %s field", rootNode) - } - return &t, nil -} diff --git a/vendor/github.com/PagerDuty/go-pagerduty/notification.go b/vendor/github.com/PagerDuty/go-pagerduty/notification.go deleted file mode 100644 index cdd87c12..00000000 --- a/vendor/github.com/PagerDuty/go-pagerduty/notification.go +++ /dev/null @@ -1,44 +0,0 @@ -package pagerduty - -import ( - "github.com/google/go-querystring/query" -) - -// Notification is a message containing the details of the incident. -type Notification struct { - ID string `json:"id"` - Type string - StartedAt string `json:"started_at"` - Address string - User APIObject -} - -// ListNotificationOptions is the data structure used when calling the ListNotifications API endpoint. -type ListNotificationOptions struct { - APIListObject - TimeZone string `url:"time_zone,omitempty"` - Since string `url:"since,omitempty"` - Until string `url:"until,omitempty"` - Filter string `url:"filter,omitempty"` - Includes []string `url:"include,omitempty"` -} - -// ListNotificationsResponse is the data structure returned from the ListNotifications API endpoint. -type ListNotificationsResponse struct { - APIListObject - Notifications []Notification -} - -// ListNotifications lists notifications for a given time range, optionally filtered by type (sms_notification, email_notification, phone_notification, or push_notification). -func (c *Client) ListNotifications(o ListNotificationOptions) (*ListNotificationsResponse, error) { - v, err := query.Values(o) - if err != nil { - return nil, err - } - resp, err := c.get("/notifications?" + v.Encode()) - if err != nil { - return nil, err - } - var result ListNotificationsResponse - return &result, c.decodeJSON(resp, &result) -} diff --git a/vendor/github.com/PagerDuty/go-pagerduty/on_call.go b/vendor/github.com/PagerDuty/go-pagerduty/on_call.go deleted file mode 100644 index 6c7c3caf..00000000 --- a/vendor/github.com/PagerDuty/go-pagerduty/on_call.go +++ /dev/null @@ -1,48 +0,0 @@ -package pagerduty - -import ( - "github.com/google/go-querystring/query" -) - -// OnCall represents a contiguous unit of time for which a user will be on call for a given escalation policy and escalation rule. -type OnCall struct { - User APIObject `json:"user,omitempty"` - Schedule APIObject `json:"schedule,omitempty"` - EscalationPolicy APIObject `json:"escalation_policy,omitempty"` - EscalationLevel uint `json:"escalation_level,omitempty"` - Start string `json:"start,omitempty"` - End string `json:"end,omitempty"` -} - -// ListOnCallsResponse is the data structure returned from calling the ListOnCalls API endpoint. -type ListOnCallsResponse struct { - APIListObject - OnCalls []OnCall `json:"oncalls"` -} - -// ListOnCallOptions is the data structure used when calling the ListOnCalls API endpoint. -type ListOnCallOptions struct { - APIListObject - TimeZone string `url:"time_zone,omitempty"` - Includes []string `url:"include,omitempty,brackets"` - UserIDs []string `url:"user_ids,omitempty,brackets"` - EscalationPolicyIDs []string `url:"escalation_policy_ids,omitempty,brackets"` - ScheduleIDs []string `url:"schedule_ids,omitempty,brackets"` - Since string `url:"since,omitempty"` - Until string `url:"until,omitempty"` - Earliest bool `url:"earliest,omitempty"` -} - -// ListOnCalls list the on-call entries during a given time range. -func (c *Client) ListOnCalls(o ListOnCallOptions) (*ListOnCallsResponse, error) { - v, err := query.Values(o) - if err != nil { - return nil, err - } - resp, err := c.get("/oncalls?" + v.Encode()) - if err != nil { - return nil, err - } - var result ListOnCallsResponse - return &result, c.decodeJSON(resp, &result) -} diff --git a/vendor/github.com/PagerDuty/go-pagerduty/schedule.go b/vendor/github.com/PagerDuty/go-pagerduty/schedule.go deleted file mode 100644 index d6f76d06..00000000 --- a/vendor/github.com/PagerDuty/go-pagerduty/schedule.go +++ /dev/null @@ -1,264 +0,0 @@ -package pagerduty - -import ( - "fmt" - "net/http" - - "github.com/google/go-querystring/query" -) - -// Restriction limits on-call responsibility for a layer to certain times of the day or week. -type Restriction struct { - Type string `json:"type,omitempty"` - StartTimeOfDay string `json:"start_time_of_day,omitempty"` - StartDayOfWeek uint `json:"start_day_of_week,omitempty"` - DurationSeconds uint `json:"duration_seconds,omitempty"` -} - -// RenderedScheduleEntry represents the computed set of schedule layer entries that put users on call for a schedule, and cannot be modified directly. -type RenderedScheduleEntry struct { - Start string `json:"start,omitempty"` - End string `json:"end,omitempty"` - User APIObject `json:"user,omitempty"` -} - -// ScheduleLayer is an entry that puts users on call for a schedule. -type ScheduleLayer struct { - APIObject - Name string `json:"name,omitempty"` - Start string `json:"start,omitempty"` - End string `json:"end,omitempty"` - RotationVirtualStart string `json:"rotation_virtual_start,omitempty"` - RotationTurnLengthSeconds uint `json:"rotation_turn_length_seconds,omitempty"` - Users []UserReference `json:"users,omitempty"` - Restrictions []Restriction `json:"restrictions,omitempty"` - RenderedScheduleEntries []RenderedScheduleEntry `json:"rendered_schedule_entries,omitempty"` - RenderedCoveragePercentage float64 `json:"rendered_coverage_percentage,omitempty"` -} - -// Schedule determines the time periods that users are on call. -type Schedule struct { - APIObject - Name string `json:"name,omitempty"` - TimeZone string `json:"time_zone,omitempty"` - Description string `json:"description,omitempty"` - EscalationPolicies []APIObject `json:"escalation_policies,omitempty"` - Users []APIObject `json:"users,omitempty"` - ScheduleLayers []ScheduleLayer `json:"schedule_layers,omitempty"` - OverrideSubschedule ScheduleLayer `json:"override_subschedule,omitempty"` - FinalSchedule ScheduleLayer `json:"final_schedule,omitempty"` -} - -// ListSchedulesOptions is the data structure used when calling the ListSchedules API endpoint. -type ListSchedulesOptions struct { - APIListObject - Query string `url:"query,omitempty"` -} - -// ListSchedulesResponse is the data structure returned from calling the ListSchedules API endpoint. -type ListSchedulesResponse struct { - APIListObject - Schedules []Schedule `json:"schedules"` -} - -// UserReference is a reference to an authorized PagerDuty user. -type UserReference struct { - User APIObject `json:"user"` -} - -// ListSchedules lists the on-call schedules. -func (c *Client) ListSchedules(o ListSchedulesOptions) (*ListSchedulesResponse, error) { - v, err := query.Values(o) - if err != nil { - return nil, err - } - resp, err := c.get("/schedules?" + v.Encode()) - if err != nil { - return nil, err - } - var result ListSchedulesResponse - return &result, c.decodeJSON(resp, &result) -} - -// CreateSchedule creates a new on-call schedule. -func (c *Client) CreateSchedule(s Schedule) (*Schedule, error) { - data := make(map[string]Schedule) - data["schedule"] = s - resp, err := c.post("/schedules", data) - if err != nil { - return nil, err - } - return getScheduleFromResponse(c, resp) -} - -// PreviewScheduleOptions is the data structure used when calling the PreviewSchedule API endpoint. -type PreviewScheduleOptions struct { - APIListObject - Since string `url:"since,omitempty"` - Until string `url:"until,omitempty"` - Overflow bool `url:"overflow,omitempty"` -} - -// PreviewSchedule previews what an on-call schedule would look like without saving it. -func (c *Client) PreviewSchedule(s Schedule, o PreviewScheduleOptions) error { - v, err := query.Values(o) - if err != nil { - return err - } - var data map[string]Schedule - data["schedule"] = s - _, e := c.post("/schedules/preview?"+v.Encode(), data) - return e -} - -// DeleteSchedule deletes an on-call schedule. -func (c *Client) DeleteSchedule(id string) error { - _, err := c.delete("/schedules/" + id) - return err -} - -// GetScheduleOptions is the data structure used when calling the GetSchedule API endpoint. -type GetScheduleOptions struct { - APIListObject - TimeZone string `url:"time_zone,omitempty"` - Since string `url:"since,omitempty"` - Until string `url:"until,omitempty"` -} - -// GetSchedule shows detailed information about a schedule, including entries for each layer and sub-schedule. -func (c *Client) GetSchedule(id string, o GetScheduleOptions) (*Schedule, error) { - v, err := query.Values(o) - if err != nil { - return nil, fmt.Errorf("Could not parse values for query: %v", err) - } - resp, err := c.get("/schedules/" + id + "?" + v.Encode()) - if err != nil { - return nil, err - } - return getScheduleFromResponse(c, resp) -} - -// UpdateScheduleOptions is the data structure used when calling the UpdateSchedule API endpoint. -type UpdateScheduleOptions struct { - Overflow bool `url:"overflow,omitempty"` -} - -// UpdateSchedule updates an existing on-call schedule. -func (c *Client) UpdateSchedule(id string, s Schedule) (*Schedule, error) { - v := make(map[string]Schedule) - v["schedule"] = s - resp, err := c.put("/schedules/"+id, v, nil) - if err != nil { - return nil, err - } - return getScheduleFromResponse(c, resp) -} - -// ListOverridesOptions is the data structure used when calling the ListOverrides API endpoint. -type ListOverridesOptions struct { - APIListObject - Since string `url:"since,omitempty"` - Until string `url:"until,omitempty"` - Editable bool `url:"editable,omitempty"` - Overflow bool `url:"overflow,omitempty"` -} - -// Overrides are any schedule layers from the override layer. -type Override struct { - ID string `json:"id,omitempty"` - Start string `json:"start,omitempty"` - End string `json:"end,omitempty"` - User APIObject `json:"user,omitempty"` -} - -// ListOverrides lists overrides for a given time range. -func (c *Client) ListOverrides(id string, o ListOverridesOptions) ([]Override, error) { - v, err := query.Values(o) - if err != nil { - return nil, err - } - resp, err := c.get("/schedules/" + id + "/overrides?" + v.Encode()) - if err != nil { - return nil, err - } - var result map[string][]Override - if err := c.decodeJSON(resp, &result); err != nil { - return nil, err - } - overrides, ok := result["overrides"] - if !ok { - return nil, fmt.Errorf("JSON response does not have overrides field") - } - return overrides, nil -} - -// CreateOverride creates an override for a specific user covering the specified time range. -func (c *Client) CreateOverride(id string, o Override) (*Override, error) { - data := make(map[string]Override) - data["override"] = o - resp, err := c.post("/schedules/"+id+"/overrides", data) - if err != nil { - return nil, err - } - return getOverrideFromResponse(c, resp) -} - -// DeleteOverride removes an override. -func (c *Client) DeleteOverride(scheduleID, overrideID string) error { - _, err := c.delete("/schedules/" + scheduleID + "/overrides/" + overrideID) - return err -} - -// ListOnCallUsersOptions is the data structure used when calling the ListOnCallUsers API endpoint. -type ListOnCallUsersOptions struct { - APIListObject - Since string `url:"since,omitempty"` - Until string `url:"until,omitempty"` -} - -// ListOnCallUsers lists all of the users on call in a given schedule for a given time range. -func (c *Client) ListOnCallUsers(id string, o ListOnCallUsersOptions) ([]User, error) { - v, err := query.Values(o) - if err != nil { - return nil, err - } - resp, err := c.get("/schedules/" + id + "/users?" + v.Encode()) - if err != nil { - return nil, err - } - var result map[string][]User - if err := c.decodeJSON(resp, &result); err != nil { - return nil, err - } - u, ok := result["users"] - if !ok { - return nil, fmt.Errorf("JSON response does not have users field") - } - return u, nil -} - -func getScheduleFromResponse(c *Client, resp *http.Response) (*Schedule, error) { - var target map[string]Schedule - if dErr := c.decodeJSON(resp, &target); dErr != nil { - return nil, fmt.Errorf("Could not decode JSON response: %v", dErr) - } - rootNode := "schedule" - t, nodeOK := target[rootNode] - if !nodeOK { - return nil, fmt.Errorf("JSON response does not have %s field", rootNode) - } - return &t, nil -} - -func getOverrideFromResponse(c *Client, resp *http.Response) (*Override, error) { - var target map[string]Override - if dErr := c.decodeJSON(resp, &target); dErr != nil { - return nil, fmt.Errorf("Could not decode JSON response: %v", dErr) - } - rootNode := "override" - o, nodeOK := target[rootNode] - if !nodeOK { - return nil, fmt.Errorf("JSON response does not have %s field", rootNode) - } - return &o, nil -} diff --git a/vendor/github.com/PagerDuty/go-pagerduty/service.go b/vendor/github.com/PagerDuty/go-pagerduty/service.go deleted file mode 100644 index 704762df..00000000 --- a/vendor/github.com/PagerDuty/go-pagerduty/service.go +++ /dev/null @@ -1,204 +0,0 @@ -package pagerduty - -import ( - "fmt" - "net/http" - - "github.com/google/go-querystring/query" -) - -// Integration is an endpoint (like Nagios, email, or an API call) that generates events, which are normalized and de-duplicated by PagerDuty to create incidents. -type Integration struct { - APIObject - Name string `json:"name,omitempty"` - Service *APIObject `json:"service,omitempty"` - CreatedAt string `json:"created_at,omitempty"` - Vendor *APIObject `json:"vendor,omitempty"` - Type string `json:"type,omitempty"` - IntegrationKey string `json:"integration_key,omitempty"` - IntegrationEmail string `json:"integration_email,omitempty"` -} - -// InlineModel represents when a scheduled action will occur. -type InlineModel struct { - Type string `json:"type,omitempty"` - Name string `json:"name,omitempty"` -} - -// ScheduledAction contains scheduled actions for the service. -type ScheduledAction struct { - Type string `json:"type,omitempty"` - At InlineModel `json:"at,omitempty"` - ToUrgency string `json:"to_urgency"` -} - -// IncidentUrgencyType are the incidents urgency during or outside support hours. -type IncidentUrgencyType struct { - Type string `json:"type,omitempty"` - Urgency string `json:"urgency,omitempty"` -} - -// SupportHours are the support hours for the service. -type SupportHours struct { - Type string `json:"type,omitempty"` - Timezone string `json:"time_zone,omitempty"` - StartTime string `json:"start_time,omitempty"` - EndTime string `json:"end_time,omitempty"` - DaysOfWeek []uint `json:"days_of_week,omitempty"` -} - -// IncidentUrgencyRule is the default urgency for new incidents. -type IncidentUrgencyRule struct { - Type string `json:"type,omitempty"` - Urgency string `json:"urgency,omitempty"` - DuringSupportHours *IncidentUrgencyType `json:"during_support_hours,omitempty"` - OutsideSupportHours *IncidentUrgencyType `json:"outside_support_hours,omitempty"` -} - -// Service represents something you monitor (like a web service, email service, or database service). -type Service struct { - APIObject - Name string `json:"name,omitempty"` - Description string `json:"description,omitempty"` - AutoResolveTimeout *uint `json:"auto_resolve_timeout"` - AcknowledgementTimeout *uint `json:"acknowledgement_timeout"` - CreateAt string `json:"created_at,omitempty"` - Status string `json:"status,omitempty"` - LastIncidentTimestamp string `json:"last_incident_timestamp,omitempty"` - Integrations []Integration `json:"integrations,omitempty"` - EscalationPolicy EscalationPolicy `json:"escalation_policy,omitempty"` - Teams []Team `json:"teams,omitempty"` - IncidentUrgencyRule *IncidentUrgencyRule `json:"incident_urgency_rule,omitempty"` - SupportHours *SupportHours `json:"support_hours,omitempty"` - ScheduledActions []ScheduledAction `json:"scheduled_actions,omitempty"` - AlertCreation string `json:"alert_creation,omitempty"` -} - -// ListServiceOptions is the data structure used when calling the ListServices API endpoint. -type ListServiceOptions struct { - APIListObject - TeamIDs []string `url:"team_ids,omitempty,brackets"` - TimeZone string `url:"time_zone,omitempty"` - SortBy string `url:"sort_by,omitempty"` - Query string `url:"query,omitempty"` - Includes []string `url:"include,omitempty,brackets"` -} - -// ListServiceResponse is the data structure returned from calling the ListServices API endpoint. -type ListServiceResponse struct { - APIListObject - Services []Service -} - -// ListServices lists existing services. -func (c *Client) ListServices(o ListServiceOptions) (*ListServiceResponse, error) { - v, err := query.Values(o) - if err != nil { - return nil, err - } - resp, err := c.get("/services?" + v.Encode()) - if err != nil { - return nil, err - } - var result ListServiceResponse - return &result, c.decodeJSON(resp, &result) -} - -// GetServiceOptions is the data structure used when calling the GetService API endpoint. -type GetServiceOptions struct { - Includes []string `url:"include,brackets,omitempty"` -} - -// GetService gets details about an existing service. -func (c *Client) GetService(id string, o *GetServiceOptions) (*Service, error) { - v, err := query.Values(o) - resp, err := c.get("/services/" + id + "?" + v.Encode()) - return getServiceFromResponse(c, resp, err) -} - -// CreateService creates a new service. -func (c *Client) CreateService(s Service) (*Service, error) { - data := make(map[string]Service) - data["service"] = s - resp, err := c.post("/services", data) - return getServiceFromResponse(c, resp, err) -} - -// UpdateService updates an existing service. -func (c *Client) UpdateService(s Service) (*Service, error) { - resp, err := c.put("/services/"+s.ID, s, nil) - return getServiceFromResponse(c, resp, err) -} - -// DeleteService deletes an existing service. -func (c *Client) DeleteService(id string) error { - _, err := c.delete("/services/" + id) - return err -} - -// CreateIntegration creates a new integration belonging to a service. -func (c *Client) CreateIntegration(id string, i Integration) (*Integration, error) { - data := make(map[string]Integration) - data["integration"] = i - resp, err := c.post("/services/"+id+"/integrations", data) - return getIntegrationFromResponse(c, resp, err) -} - -// GetIntegrationOptions is the data structure used when calling the GetIntegration API endpoint. -type GetIntegrationOptions struct { - Includes []string `url:"include,omitempty,brackets"` -} - -// GetIntegration gets details about an integration belonging to a service. -func (c *Client) GetIntegration(serviceID, integrationID string, o GetIntegrationOptions) (*Integration, error) { - v, queryErr := query.Values(o) - if queryErr != nil { - return nil, queryErr - } - resp, err := c.get("/services/" + serviceID + "/integrations/" + integrationID + "?" + v.Encode()) - return getIntegrationFromResponse(c, resp, err) -} - -// UpdateIntegration updates an integration belonging to a service. -func (c *Client) UpdateIntegration(serviceID string, i Integration) (*Integration, error) { - resp, err := c.put("/services/"+serviceID+"/integrations/"+i.ID, i, nil) - return getIntegrationFromResponse(c, resp, err) -} - -// DeleteIntegration deletes an existing integration. -func (c *Client) DeleteIntegration(serviceID string, integrationID string) error { - _, err := c.delete("/services/" + serviceID + "/integrations/" + integrationID) - return err -} - -func getServiceFromResponse(c *Client, resp *http.Response, err error) (*Service, error) { - if err != nil { - return nil, err - } - var target map[string]Service - if dErr := c.decodeJSON(resp, &target); dErr != nil { - return nil, fmt.Errorf("Could not decode JSON response: %v", dErr) - } - rootNode := "service" - t, nodeOK := target[rootNode] - if !nodeOK { - return nil, fmt.Errorf("JSON response does not have %s field", rootNode) - } - return &t, nil -} - -func getIntegrationFromResponse(c *Client, resp *http.Response, err error) (*Integration, error) { - if err != nil { - return nil, err - } - var target map[string]Integration - if dErr := c.decodeJSON(resp, &target); dErr != nil { - return nil, fmt.Errorf("Could not decode JSON response: %v", err) - } - rootNode := "integration" - t, nodeOK := target[rootNode] - if !nodeOK { - return nil, fmt.Errorf("JSON response does not have %s field", rootNode) - } - return &t, nil -} diff --git a/vendor/github.com/PagerDuty/go-pagerduty/team.go b/vendor/github.com/PagerDuty/go-pagerduty/team.go deleted file mode 100644 index 096d4e8b..00000000 --- a/vendor/github.com/PagerDuty/go-pagerduty/team.go +++ /dev/null @@ -1,105 +0,0 @@ -package pagerduty - -import ( - "fmt" - "github.com/google/go-querystring/query" - "net/http" -) - -// Team is a collection of users and escalation policies that represent a group of people within an organization. -type Team struct { - APIObject - Name string `json:"name,omitempty"` - Description string `json:"description,omitempty"` -} - -// ListTeamResponse is the structure used when calling the ListTeams API endpoint. -type ListTeamResponse struct { - APIListObject - Teams []Team -} - -// ListTeamOptions are the input parameters used when calling the ListTeams API endpoint. -type ListTeamOptions struct { - APIListObject - Query string `url:"query,omitempty"` -} - -// ListTeams lists teams of your PagerDuty account, optionally filtered by a search query. -func (c *Client) ListTeams(o ListTeamOptions) (*ListTeamResponse, error) { - v, err := query.Values(o) - if err != nil { - return nil, err - } - - resp, err := c.get("/teams?" + v.Encode()) - if err != nil { - return nil, err - } - var result ListTeamResponse - return &result, c.decodeJSON(resp, &result) -} - -// CreateTeam creates a new team. -func (c *Client) CreateTeam(t *Team) (*Team, error) { - resp, err := c.post("/teams", t) - return getTeamFromResponse(c, resp, err) -} - -// DeleteTeam removes an existing team. -func (c *Client) DeleteTeam(id string) error { - _, err := c.delete("/teams/" + id) - return err -} - -// GetTeam gets details about an existing team. -func (c *Client) GetTeam(id string) (*Team, error) { - resp, err := c.get("/teams/" + id) - return getTeamFromResponse(c, resp, err) -} - -// UpdateTeam updates an existing team. -func (c *Client) UpdateTeam(id string, t *Team) (*Team, error) { - resp, err := c.put("/teams/"+id, t, nil) - return getTeamFromResponse(c, resp, err) -} - -// RemoveEscalationPolicyFromTeam removes an escalation policy from a team. -func (c *Client) RemoveEscalationPolicyFromTeam(teamID, epID string) error { - _, err := c.delete("/teams/" + teamID + "/escalation_policies/" + epID) - return err -} - -// AddEscalationPolicyToTeam adds an escalation policy to a team. -func (c *Client) AddEscalationPolicyToTeam(teamID, epID string) error { - _, err := c.put("/teams/"+teamID+"/escalation_policies/"+epID, nil, nil) - return err -} - -// RemoveUserFromTeam removes a user from a team. -func (c *Client) RemoveUserFromTeam(teamID, userID string) error { - _, err := c.delete("/teams/" + teamID + "/users/" + userID) - return err -} - -// AddUserToTeam adds a user to a team. -func (c *Client) AddUserToTeam(teamID, userID string) error { - _, err := c.put("/teams/"+teamID+"/users/"+userID, nil, nil) - return err -} - -func getTeamFromResponse(c *Client, resp *http.Response, err error) (*Team, error) { - if err != nil { - return nil, err - } - var target map[string]Team - if dErr := c.decodeJSON(resp, &target); dErr != nil { - return nil, fmt.Errorf("Could not decode JSON response: %v", dErr) - } - rootNode := "team" - t, nodeOK := target[rootNode] - if !nodeOK { - return nil, fmt.Errorf("JSON response does not have %s field", rootNode) - } - return &t, nil -} diff --git a/vendor/github.com/PagerDuty/go-pagerduty/user.go b/vendor/github.com/PagerDuty/go-pagerduty/user.go deleted file mode 100644 index 2f7bad4c..00000000 --- a/vendor/github.com/PagerDuty/go-pagerduty/user.go +++ /dev/null @@ -1,124 +0,0 @@ -package pagerduty - -import ( - "fmt" - "github.com/google/go-querystring/query" - "net/http" -) - -// ContactMethod is a way of contacting the user. -type ContactMethod struct { - ID string - Label string - Address string - Type string - SendShortEmail bool `json:"send_short_email"` -} - -// NotificationRule is a rule for notifying the user. -type NotificationRule struct { - ID string - StartDelayInMinutes uint `json:"start_delay_in_minutes"` - CreatedAt string `json:"created_at"` - ContactMethod ContactMethod `json:"contact_method"` - Urgency string - Type string -} - -// User is a member of a PagerDuty account that has the ability to interact with incidents and other data on the account. -type User struct { - APIObject - Name string `json:"name"` - Email string `json:"email"` - Timezone string `json:"timezone,omitempty"` - Color string `json:"color,omitempty"` - Role string `json:"role,omitempty"` - AvatarURL string `json:"avatar_url,omitempty"` - Description string `json:"description,omitempty"` - InvitationSent bool - ContactMethods []ContactMethod `json:"contact_methods"` - NotificationRules []NotificationRule `json:"notification_rules"` - JobTitle string `json:"job_title,omitempty"` - Teams []Team -} - -// ListUsersResponse is the data structure returned from calling the ListUsers API endpoint. -type ListUsersResponse struct { - APIListObject - Users []User -} - -// ListUsersOptions is the data structure used when calling the ListUsers API endpoint. -type ListUsersOptions struct { - APIListObject - Query string `url:"query,omitempty"` - TeamIDs []string `url:"team_ids,omitempty,brackets"` - Includes []string `url:"include,omitempty,brackets"` -} - -// GetUserOptions is the data structure used when calling the GetUser API endpoint. -type GetUserOptions struct { - Includes []string `url:"include,omitempty,brackets"` -} - -// ListUsers lists users of your PagerDuty account, optionally filtered by a search query. -func (c *Client) ListUsers(o ListUsersOptions) (*ListUsersResponse, error) { - v, err := query.Values(o) - if err != nil { - return nil, err - } - resp, err := c.get("/users?" + v.Encode()) - if err != nil { - return nil, err - } - var result ListUsersResponse - return &result, c.decodeJSON(resp, &result) -} - -// CreateUser creates a new user. -func (c *Client) CreateUser(u User) (*User, error) { - data := make(map[string]User) - data["user"] = u - resp, err := c.post("/users", data) - return getUserFromResponse(c, resp, err) -} - -// DeleteUser deletes a user. -func (c *Client) DeleteUser(id string) error { - _, err := c.delete("/users/" + id) - return err -} - -// GetUser gets details about an existing user. -func (c *Client) GetUser(id string, o GetUserOptions) (*User, error) { - v, err := query.Values(o) - if err != nil { - return nil, err - } - resp, err := c.get("/users/" + id + "?" + v.Encode()) - return getUserFromResponse(c, resp, err) -} - -// UpdateUser updates an existing user. -func (c *Client) UpdateUser(u User) (*User, error) { - v := make(map[string]User) - v["user"] = u - resp, err := c.put("/users/"+u.ID, v, nil) - return getUserFromResponse(c, resp, err) -} - -func getUserFromResponse(c *Client, resp *http.Response, err error) (*User, error) { - if err != nil { - return nil, err - } - var target map[string]User - if dErr := c.decodeJSON(resp, &target); dErr != nil { - return nil, fmt.Errorf("Could not decode JSON response: %v", dErr) - } - rootNode := "user" - t, nodeOK := target[rootNode] - if !nodeOK { - return nil, fmt.Errorf("JSON response does not have %s field", rootNode) - } - return &t, nil -} diff --git a/vendor/github.com/PagerDuty/go-pagerduty/vendor.go b/vendor/github.com/PagerDuty/go-pagerduty/vendor.go deleted file mode 100644 index 7a5bdd81..00000000 --- a/vendor/github.com/PagerDuty/go-pagerduty/vendor.go +++ /dev/null @@ -1,74 +0,0 @@ -package pagerduty - -import ( - "fmt" - "net/http" - - "github.com/google/go-querystring/query" -) - -// Vendor represents a specific type of integration. AWS Cloudwatch, Splunk, Datadog, etc are all examples of vendors that can be integrated in PagerDuty by making an integration. -type Vendor struct { - APIObject - Name string `json:"name,omitempty"` - LogoURL string `json:"logo_url,omitempty"` - LongName string `json:"long_name,omitempty"` - WebsiteURL string `json:"website_url,omitempty"` - Description string `json:"description,omitempty"` - Connectable bool `json:"connectable,omitempty"` - ThumbnailURL string `json:"thumbnail_url,omitempty"` - GenericServiceType string `json:"generic_service_type,omitempty"` - IntegrationGuideURL string `json:"integration_guide_url,omitempty"` -} - -// ListVendorResponse is the data structure returned from calling the ListVendors API endpoint. -type ListVendorResponse struct { - APIListObject - Vendors []Vendor -} - -// ListVendorOptions is the data structure used when calling the ListVendors API endpoint. -type ListVendorOptions struct { - APIListObject - Query string `url:"query,omitempty"` -} - -// ListVendors lists existing vendors. -func (c *Client) ListVendors(o ListVendorOptions) (*ListVendorResponse, error) { - v, err := query.Values(o) - - if err != nil { - return nil, err - } - - resp, err := c.get("/vendors?" + v.Encode()) - - if err != nil { - return nil, err - } - - var result ListVendorResponse - return &result, c.decodeJSON(resp, &result) -} - -// GetVendor gets details about an existing vendor. -func (c *Client) GetVendor(id string) (*Vendor, error) { - resp, err := c.get("/vendors/" + id) - return getVendorFromResponse(c, resp, err) -} - -func getVendorFromResponse(c *Client, resp *http.Response, err error) (*Vendor, error) { - if err != nil { - return nil, err - } - var target map[string]Vendor - if dErr := c.decodeJSON(resp, &target); dErr != nil { - return nil, fmt.Errorf("Could not decode JSON response: %v", dErr) - } - rootNode := "vendor" - t, nodeOK := target[rootNode] - if !nodeOK { - return nil, fmt.Errorf("JSON response does not have %s field", rootNode) - } - return &t, nil -} diff --git a/vendor/github.com/PagerDuty/go-pagerduty/webhook.go b/vendor/github.com/PagerDuty/go-pagerduty/webhook.go deleted file mode 100644 index 010b1a79..00000000 --- a/vendor/github.com/PagerDuty/go-pagerduty/webhook.go +++ /dev/null @@ -1,37 +0,0 @@ -package pagerduty - -import ( - "encoding/json" - "io" -) - -// IncidentDetail contains a representation of the incident associated with the action that caused this webhook message. -type IncidentDetail struct { - ID string `json:"id"` - IncidentNumber uint `json:"incident_number"` - CreatedOn string `json:"created_on"` - Status string `json:"status"` - HTMLUrl string `json:"html_url"` - Service string `json:"service"` - AssignedToUser *json.RawMessage `json:"assigned_to_user"` - AssignedTo []string `json:"assigned_to"` - TriggerSummaryData *json.RawMessage `json:"trigger_summary_data"` - TriggerDetailsHTMLUrl string `json:"trigger_details_html_url"` -} - -// WebhookPayload is a single message array for a webhook. -type WebhookPayload struct { - ID string `json:"id"` - Type string `json:"type"` - CreatedOn string `json:"created_on"` - Data *json.RawMessage `json:"data"` -} - -// DecodeWebhook decodes a webhook from a response object. -func DecodeWebhook(r io.Reader) (*WebhookPayload, error) { - var payload WebhookPayload - if err := json.NewDecoder(r).Decode(&payload); err != nil { - return nil, err - } - return &payload, nil -} diff --git a/vendor/github.com/StackExchange/wmi/LICENSE b/vendor/github.com/StackExchange/wmi/LICENSE deleted file mode 100644 index ae80b672..00000000 --- a/vendor/github.com/StackExchange/wmi/LICENSE +++ /dev/null @@ -1,20 +0,0 @@ -The MIT License (MIT) - -Copyright (c) 2013 Stack Exchange - -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of -the Software, and to permit persons to whom the Software is furnished to do so, -subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS -FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR -COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER -IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/vendor/github.com/StackExchange/wmi/README.md b/vendor/github.com/StackExchange/wmi/README.md deleted file mode 100644 index 426d1a46..00000000 --- a/vendor/github.com/StackExchange/wmi/README.md +++ /dev/null @@ -1,6 +0,0 @@ -wmi -=== - -Package wmi provides a WQL interface to Windows WMI. - -Note: It interfaces with WMI on the local machine, therefore it only runs on Windows. diff --git a/vendor/github.com/StackExchange/wmi/swbemservices.go b/vendor/github.com/StackExchange/wmi/swbemservices.go deleted file mode 100644 index 9765a53f..00000000 --- a/vendor/github.com/StackExchange/wmi/swbemservices.go +++ /dev/null @@ -1,260 +0,0 @@ -// +build windows - -package wmi - -import ( - "fmt" - "reflect" - "runtime" - "sync" - - "github.com/go-ole/go-ole" - "github.com/go-ole/go-ole/oleutil" -) - -// SWbemServices is used to access wmi. See https://msdn.microsoft.com/en-us/library/aa393719(v=vs.85).aspx -type SWbemServices struct { - //TODO: track namespace. Not sure if we can re connect to a different namespace using the same instance - cWMIClient *Client //This could also be an embedded struct, but then we would need to branch on Client vs SWbemServices in the Query method - sWbemLocatorIUnknown *ole.IUnknown - sWbemLocatorIDispatch *ole.IDispatch - queries chan *queryRequest - closeError chan error - lQueryorClose sync.Mutex -} - -type queryRequest struct { - query string - dst interface{} - args []interface{} - finished chan error -} - -// InitializeSWbemServices will return a new SWbemServices object that can be used to query WMI -func InitializeSWbemServices(c *Client, connectServerArgs ...interface{}) (*SWbemServices, error) { - //fmt.Println("InitializeSWbemServices: Starting") - //TODO: implement connectServerArgs as optional argument for init with connectServer call - s := new(SWbemServices) - s.cWMIClient = c - s.queries = make(chan *queryRequest) - initError := make(chan error) - go s.process(initError) - - err, ok := <-initError - if ok { - return nil, err //Send error to caller - } - //fmt.Println("InitializeSWbemServices: Finished") - return s, nil -} - -// Close will clear and release all of the SWbemServices resources -func (s *SWbemServices) Close() error { - s.lQueryorClose.Lock() - if s == nil || s.sWbemLocatorIDispatch == nil { - s.lQueryorClose.Unlock() - return fmt.Errorf("SWbemServices is not Initialized") - } - if s.queries == nil { - s.lQueryorClose.Unlock() - return fmt.Errorf("SWbemServices has been closed") - } - //fmt.Println("Close: sending close request") - var result error - ce := make(chan error) - s.closeError = ce //Race condition if multiple callers to close. May need to lock here - close(s.queries) //Tell background to shut things down - s.lQueryorClose.Unlock() - err, ok := <-ce - if ok { - result = err - } - //fmt.Println("Close: finished") - return result -} - -func (s *SWbemServices) process(initError chan error) { - //fmt.Println("process: starting background thread initialization") - //All OLE/WMI calls must happen on the same initialized thead, so lock this goroutine - runtime.LockOSThread() - defer runtime.LockOSThread() - - err := ole.CoInitializeEx(0, ole.COINIT_MULTITHREADED) - if err != nil { - oleCode := err.(*ole.OleError).Code() - if oleCode != ole.S_OK && oleCode != S_FALSE { - initError <- fmt.Errorf("ole.CoInitializeEx error: %v", err) - return - } - } - defer ole.CoUninitialize() - - unknown, err := oleutil.CreateObject("WbemScripting.SWbemLocator") - if err != nil { - initError <- fmt.Errorf("CreateObject SWbemLocator error: %v", err) - return - } else if unknown == nil { - initError <- ErrNilCreateObject - return - } - defer unknown.Release() - s.sWbemLocatorIUnknown = unknown - - dispatch, err := s.sWbemLocatorIUnknown.QueryInterface(ole.IID_IDispatch) - if err != nil { - initError <- fmt.Errorf("SWbemLocator QueryInterface error: %v", err) - return - } - defer dispatch.Release() - s.sWbemLocatorIDispatch = dispatch - - // we can't do the ConnectServer call outside the loop unless we find a way to track and re-init the connectServerArgs - //fmt.Println("process: initialized. closing initError") - close(initError) - //fmt.Println("process: waiting for queries") - for q := range s.queries { - //fmt.Printf("process: new query: len(query)=%d\n", len(q.query)) - errQuery := s.queryBackground(q) - //fmt.Println("process: s.queryBackground finished") - if errQuery != nil { - q.finished <- errQuery - } - close(q.finished) - } - //fmt.Println("process: queries channel closed") - s.queries = nil //set channel to nil so we know it is closed - //TODO: I think the Release/Clear calls can panic if things are in a bad state. - //TODO: May need to recover from panics and send error to method caller instead. - close(s.closeError) -} - -// Query runs the WQL query using a SWbemServices instance and appends the values to dst. -// -// dst must have type *[]S or *[]*S, for some struct type S. Fields selected in -// the query must have the same name in dst. Supported types are all signed and -// unsigned integers, time.Time, string, bool, or a pointer to one of those. -// Array types are not supported. -// -// By default, the local machine and default namespace are used. These can be -// changed using connectServerArgs. See -// http://msdn.microsoft.com/en-us/library/aa393720.aspx for details. -func (s *SWbemServices) Query(query string, dst interface{}, connectServerArgs ...interface{}) error { - s.lQueryorClose.Lock() - if s == nil || s.sWbemLocatorIDispatch == nil { - s.lQueryorClose.Unlock() - return fmt.Errorf("SWbemServices is not Initialized") - } - if s.queries == nil { - s.lQueryorClose.Unlock() - return fmt.Errorf("SWbemServices has been closed") - } - - //fmt.Println("Query: Sending query request") - qr := queryRequest{ - query: query, - dst: dst, - args: connectServerArgs, - finished: make(chan error), - } - s.queries <- &qr - s.lQueryorClose.Unlock() - err, ok := <-qr.finished - if ok { - //fmt.Println("Query: Finished with error") - return err //Send error to caller - } - //fmt.Println("Query: Finished") - return nil -} - -func (s *SWbemServices) queryBackground(q *queryRequest) error { - if s == nil || s.sWbemLocatorIDispatch == nil { - return fmt.Errorf("SWbemServices is not Initialized") - } - wmi := s.sWbemLocatorIDispatch //Should just rename in the code, but this will help as we break things apart - //fmt.Println("queryBackground: Starting") - - dv := reflect.ValueOf(q.dst) - if dv.Kind() != reflect.Ptr || dv.IsNil() { - return ErrInvalidEntityType - } - dv = dv.Elem() - mat, elemType := checkMultiArg(dv) - if mat == multiArgTypeInvalid { - return ErrInvalidEntityType - } - - // service is a SWbemServices - serviceRaw, err := oleutil.CallMethod(wmi, "ConnectServer", q.args...) - if err != nil { - return err - } - service := serviceRaw.ToIDispatch() - defer serviceRaw.Clear() - - // result is a SWBemObjectSet - resultRaw, err := oleutil.CallMethod(service, "ExecQuery", q.query) - if err != nil { - return err - } - result := resultRaw.ToIDispatch() - defer resultRaw.Clear() - - count, err := oleInt64(result, "Count") - if err != nil { - return err - } - - enumProperty, err := result.GetProperty("_NewEnum") - if err != nil { - return err - } - defer enumProperty.Clear() - - enum, err := enumProperty.ToIUnknown().IEnumVARIANT(ole.IID_IEnumVariant) - if err != nil { - return err - } - if enum == nil { - return fmt.Errorf("can't get IEnumVARIANT, enum is nil") - } - defer enum.Release() - - // Initialize a slice with Count capacity - dv.Set(reflect.MakeSlice(dv.Type(), 0, int(count))) - - var errFieldMismatch error - for itemRaw, length, err := enum.Next(1); length > 0; itemRaw, length, err = enum.Next(1) { - if err != nil { - return err - } - - err := func() error { - // item is a SWbemObject, but really a Win32_Process - item := itemRaw.ToIDispatch() - defer item.Release() - - ev := reflect.New(elemType) - if err = s.cWMIClient.loadEntity(ev.Interface(), item); err != nil { - if _, ok := err.(*ErrFieldMismatch); ok { - // We continue loading entities even in the face of field mismatch errors. - // If we encounter any other error, that other error is returned. Otherwise, - // an ErrFieldMismatch is returned. - errFieldMismatch = err - } else { - return err - } - } - if mat != multiArgTypeStructPtr { - ev = ev.Elem() - } - dv.Set(reflect.Append(dv, ev)) - return nil - }() - if err != nil { - return err - } - } - //fmt.Println("queryBackground: Finished") - return errFieldMismatch -} diff --git a/vendor/github.com/StackExchange/wmi/wmi.go b/vendor/github.com/StackExchange/wmi/wmi.go deleted file mode 100644 index a951b125..00000000 --- a/vendor/github.com/StackExchange/wmi/wmi.go +++ /dev/null @@ -1,486 +0,0 @@ -// +build windows - -/* -Package wmi provides a WQL interface for WMI on Windows. - -Example code to print names of running processes: - - type Win32_Process struct { - Name string - } - - func main() { - var dst []Win32_Process - q := wmi.CreateQuery(&dst, "") - err := wmi.Query(q, &dst) - if err != nil { - log.Fatal(err) - } - for i, v := range dst { - println(i, v.Name) - } - } - -*/ -package wmi - -import ( - "bytes" - "errors" - "fmt" - "log" - "os" - "reflect" - "runtime" - "strconv" - "strings" - "sync" - "time" - - "github.com/go-ole/go-ole" - "github.com/go-ole/go-ole/oleutil" -) - -var l = log.New(os.Stdout, "", log.LstdFlags) - -var ( - ErrInvalidEntityType = errors.New("wmi: invalid entity type") - // ErrNilCreateObject is the error returned if CreateObject returns nil even - // if the error was nil. - ErrNilCreateObject = errors.New("wmi: create object returned nil") - lock sync.Mutex -) - -// S_FALSE is returned by CoInitializeEx if it was already called on this thread. -const S_FALSE = 0x00000001 - -// QueryNamespace invokes Query with the given namespace on the local machine. -func QueryNamespace(query string, dst interface{}, namespace string) error { - return Query(query, dst, nil, namespace) -} - -// Query runs the WQL query and appends the values to dst. -// -// dst must have type *[]S or *[]*S, for some struct type S. Fields selected in -// the query must have the same name in dst. Supported types are all signed and -// unsigned integers, time.Time, string, bool, or a pointer to one of those. -// Array types are not supported. -// -// By default, the local machine and default namespace are used. These can be -// changed using connectServerArgs. See -// http://msdn.microsoft.com/en-us/library/aa393720.aspx for details. -// -// Query is a wrapper around DefaultClient.Query. -func Query(query string, dst interface{}, connectServerArgs ...interface{}) error { - if DefaultClient.SWbemServicesClient == nil { - return DefaultClient.Query(query, dst, connectServerArgs...) - } - return DefaultClient.SWbemServicesClient.Query(query, dst, connectServerArgs...) -} - -// A Client is an WMI query client. -// -// Its zero value (DefaultClient) is a usable client. -type Client struct { - // NonePtrZero specifies if nil values for fields which aren't pointers - // should be returned as the field types zero value. - // - // Setting this to true allows stucts without pointer fields to be used - // without the risk failure should a nil value returned from WMI. - NonePtrZero bool - - // PtrNil specifies if nil values for pointer fields should be returned - // as nil. - // - // Setting this to true will set pointer fields to nil where WMI - // returned nil, otherwise the types zero value will be returned. - PtrNil bool - - // AllowMissingFields specifies that struct fields not present in the - // query result should not result in an error. - // - // Setting this to true allows custom queries to be used with full - // struct definitions instead of having to define multiple structs. - AllowMissingFields bool - - // SWbemServiceClient is an optional SWbemServices object that can be - // initialized and then reused across multiple queries. If it is null - // then the method will initialize a new temporary client each time. - SWbemServicesClient *SWbemServices -} - -// DefaultClient is the default Client and is used by Query, QueryNamespace -var DefaultClient = &Client{} - -// Query runs the WQL query and appends the values to dst. -// -// dst must have type *[]S or *[]*S, for some struct type S. Fields selected in -// the query must have the same name in dst. Supported types are all signed and -// unsigned integers, time.Time, string, bool, or a pointer to one of those. -// Array types are not supported. -// -// By default, the local machine and default namespace are used. These can be -// changed using connectServerArgs. See -// http://msdn.microsoft.com/en-us/library/aa393720.aspx for details. -func (c *Client) Query(query string, dst interface{}, connectServerArgs ...interface{}) error { - dv := reflect.ValueOf(dst) - if dv.Kind() != reflect.Ptr || dv.IsNil() { - return ErrInvalidEntityType - } - dv = dv.Elem() - mat, elemType := checkMultiArg(dv) - if mat == multiArgTypeInvalid { - return ErrInvalidEntityType - } - - lock.Lock() - defer lock.Unlock() - runtime.LockOSThread() - defer runtime.UnlockOSThread() - - err := ole.CoInitializeEx(0, ole.COINIT_MULTITHREADED) - if err != nil { - oleCode := err.(*ole.OleError).Code() - if oleCode != ole.S_OK && oleCode != S_FALSE { - return err - } - } - defer ole.CoUninitialize() - - unknown, err := oleutil.CreateObject("WbemScripting.SWbemLocator") - if err != nil { - return err - } else if unknown == nil { - return ErrNilCreateObject - } - defer unknown.Release() - - wmi, err := unknown.QueryInterface(ole.IID_IDispatch) - if err != nil { - return err - } - defer wmi.Release() - - // service is a SWbemServices - serviceRaw, err := oleutil.CallMethod(wmi, "ConnectServer", connectServerArgs...) - if err != nil { - return err - } - service := serviceRaw.ToIDispatch() - defer serviceRaw.Clear() - - // result is a SWBemObjectSet - resultRaw, err := oleutil.CallMethod(service, "ExecQuery", query) - if err != nil { - return err - } - result := resultRaw.ToIDispatch() - defer resultRaw.Clear() - - count, err := oleInt64(result, "Count") - if err != nil { - return err - } - - enumProperty, err := result.GetProperty("_NewEnum") - if err != nil { - return err - } - defer enumProperty.Clear() - - enum, err := enumProperty.ToIUnknown().IEnumVARIANT(ole.IID_IEnumVariant) - if err != nil { - return err - } - if enum == nil { - return fmt.Errorf("can't get IEnumVARIANT, enum is nil") - } - defer enum.Release() - - // Initialize a slice with Count capacity - dv.Set(reflect.MakeSlice(dv.Type(), 0, int(count))) - - var errFieldMismatch error - for itemRaw, length, err := enum.Next(1); length > 0; itemRaw, length, err = enum.Next(1) { - if err != nil { - return err - } - - err := func() error { - // item is a SWbemObject, but really a Win32_Process - item := itemRaw.ToIDispatch() - defer item.Release() - - ev := reflect.New(elemType) - if err = c.loadEntity(ev.Interface(), item); err != nil { - if _, ok := err.(*ErrFieldMismatch); ok { - // We continue loading entities even in the face of field mismatch errors. - // If we encounter any other error, that other error is returned. Otherwise, - // an ErrFieldMismatch is returned. - errFieldMismatch = err - } else { - return err - } - } - if mat != multiArgTypeStructPtr { - ev = ev.Elem() - } - dv.Set(reflect.Append(dv, ev)) - return nil - }() - if err != nil { - return err - } - } - return errFieldMismatch -} - -// ErrFieldMismatch is returned when a field is to be loaded into a different -// type than the one it was stored from, or when a field is missing or -// unexported in the destination struct. -// StructType is the type of the struct pointed to by the destination argument. -type ErrFieldMismatch struct { - StructType reflect.Type - FieldName string - Reason string -} - -func (e *ErrFieldMismatch) Error() string { - return fmt.Sprintf("wmi: cannot load field %q into a %q: %s", - e.FieldName, e.StructType, e.Reason) -} - -var timeType = reflect.TypeOf(time.Time{}) - -// loadEntity loads a SWbemObject into a struct pointer. -func (c *Client) loadEntity(dst interface{}, src *ole.IDispatch) (errFieldMismatch error) { - v := reflect.ValueOf(dst).Elem() - for i := 0; i < v.NumField(); i++ { - f := v.Field(i) - of := f - isPtr := f.Kind() == reflect.Ptr - if isPtr { - ptr := reflect.New(f.Type().Elem()) - f.Set(ptr) - f = f.Elem() - } - n := v.Type().Field(i).Name - if !f.CanSet() { - return &ErrFieldMismatch{ - StructType: of.Type(), - FieldName: n, - Reason: "CanSet() is false", - } - } - prop, err := oleutil.GetProperty(src, n) - if err != nil { - if !c.AllowMissingFields { - errFieldMismatch = &ErrFieldMismatch{ - StructType: of.Type(), - FieldName: n, - Reason: "no such struct field", - } - } - continue - } - defer prop.Clear() - - switch val := prop.Value().(type) { - case int8, int16, int32, int64, int: - v := reflect.ValueOf(val).Int() - switch f.Kind() { - case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64: - f.SetInt(v) - case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64: - f.SetUint(uint64(v)) - default: - return &ErrFieldMismatch{ - StructType: of.Type(), - FieldName: n, - Reason: "not an integer class", - } - } - case uint8, uint16, uint32, uint64: - v := reflect.ValueOf(val).Uint() - switch f.Kind() { - case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64: - f.SetInt(int64(v)) - case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64: - f.SetUint(v) - default: - return &ErrFieldMismatch{ - StructType: of.Type(), - FieldName: n, - Reason: "not an integer class", - } - } - case string: - switch f.Kind() { - case reflect.String: - f.SetString(val) - case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64: - iv, err := strconv.ParseInt(val, 10, 64) - if err != nil { - return err - } - f.SetInt(iv) - case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64: - uv, err := strconv.ParseUint(val, 10, 64) - if err != nil { - return err - } - f.SetUint(uv) - case reflect.Struct: - switch f.Type() { - case timeType: - if len(val) == 25 { - mins, err := strconv.Atoi(val[22:]) - if err != nil { - return err - } - val = val[:22] + fmt.Sprintf("%02d%02d", mins/60, mins%60) - } - t, err := time.Parse("20060102150405.000000-0700", val) - if err != nil { - return err - } - f.Set(reflect.ValueOf(t)) - } - } - case bool: - switch f.Kind() { - case reflect.Bool: - f.SetBool(val) - default: - return &ErrFieldMismatch{ - StructType: of.Type(), - FieldName: n, - Reason: "not a bool", - } - } - case float32: - switch f.Kind() { - case reflect.Float32: - f.SetFloat(float64(val)) - default: - return &ErrFieldMismatch{ - StructType: of.Type(), - FieldName: n, - Reason: "not a Float32", - } - } - default: - if f.Kind() == reflect.Slice { - switch f.Type().Elem().Kind() { - case reflect.String: - safeArray := prop.ToArray() - if safeArray != nil { - arr := safeArray.ToValueArray() - fArr := reflect.MakeSlice(f.Type(), len(arr), len(arr)) - for i, v := range arr { - s := fArr.Index(i) - s.SetString(v.(string)) - } - f.Set(fArr) - } - case reflect.Uint8: - safeArray := prop.ToArray() - if safeArray != nil { - arr := safeArray.ToValueArray() - fArr := reflect.MakeSlice(f.Type(), len(arr), len(arr)) - for i, v := range arr { - s := fArr.Index(i) - s.SetUint(reflect.ValueOf(v).Uint()) - } - f.Set(fArr) - } - default: - return &ErrFieldMismatch{ - StructType: of.Type(), - FieldName: n, - Reason: fmt.Sprintf("unsupported slice type (%T)", val), - } - } - } else { - typeof := reflect.TypeOf(val) - if typeof == nil && (isPtr || c.NonePtrZero) { - if (isPtr && c.PtrNil) || (!isPtr && c.NonePtrZero) { - of.Set(reflect.Zero(of.Type())) - } - break - } - return &ErrFieldMismatch{ - StructType: of.Type(), - FieldName: n, - Reason: fmt.Sprintf("unsupported type (%T)", val), - } - } - } - } - return errFieldMismatch -} - -type multiArgType int - -const ( - multiArgTypeInvalid multiArgType = iota - multiArgTypeStruct - multiArgTypeStructPtr -) - -// checkMultiArg checks that v has type []S, []*S for some struct type S. -// -// It returns what category the slice's elements are, and the reflect.Type -// that represents S. -func checkMultiArg(v reflect.Value) (m multiArgType, elemType reflect.Type) { - if v.Kind() != reflect.Slice { - return multiArgTypeInvalid, nil - } - elemType = v.Type().Elem() - switch elemType.Kind() { - case reflect.Struct: - return multiArgTypeStruct, elemType - case reflect.Ptr: - elemType = elemType.Elem() - if elemType.Kind() == reflect.Struct { - return multiArgTypeStructPtr, elemType - } - } - return multiArgTypeInvalid, nil -} - -func oleInt64(item *ole.IDispatch, prop string) (int64, error) { - v, err := oleutil.GetProperty(item, prop) - if err != nil { - return 0, err - } - defer v.Clear() - - i := int64(v.Val) - return i, nil -} - -// CreateQuery returns a WQL query string that queries all columns of src. where -// is an optional string that is appended to the query, to be used with WHERE -// clauses. In such a case, the "WHERE" string should appear at the beginning. -func CreateQuery(src interface{}, where string) string { - var b bytes.Buffer - b.WriteString("SELECT ") - s := reflect.Indirect(reflect.ValueOf(src)) - t := s.Type() - if s.Kind() == reflect.Slice { - t = t.Elem() - } - if t.Kind() != reflect.Struct { - return "" - } - var fields []string - for i := 0; i < t.NumField(); i++ { - fields = append(fields, t.Field(i).Name) - } - b.WriteString(strings.Join(fields, ", ")) - b.WriteString(" FROM ") - b.WriteString(t.Name()) - b.WriteString(" " + where) - return b.String() -} diff --git a/vendor/github.com/adlio/trello/.gitignore b/vendor/github.com/adlio/trello/.gitignore deleted file mode 100644 index 431d6df1..00000000 --- a/vendor/github.com/adlio/trello/.gitignore +++ /dev/null @@ -1,28 +0,0 @@ -# Compiled Object files, Static and Dynamic libs (Shared Objects) -*.o -*.a -*.so - -# Folders -_obj -_test - -# Architecture specific extensions/prefixes -*.[568vq] -[568vq].out - -*.cgo1.go -*.cgo2.c -_cgo_defun.c -_cgo_gotypes.go -_cgo_export.* - -_testmain.go - -*.exe -*.test -*.prof - -coverage.sh -coverage.out -coverage.html diff --git a/vendor/github.com/adlio/trello/.travis.yml b/vendor/github.com/adlio/trello/.travis.yml deleted file mode 100644 index 2e184ac4..00000000 --- a/vendor/github.com/adlio/trello/.travis.yml +++ /dev/null @@ -1,11 +0,0 @@ -language: go -sudo: false -go: - - 1.7 - - 1.8 - - tip -before_install: - - go get github.com/mattn/goveralls -script: - - $HOME/gopath/bin/goveralls -service=travis-ci - diff --git a/vendor/github.com/adlio/trello/LICENSE b/vendor/github.com/adlio/trello/LICENSE deleted file mode 100644 index 50bcc92a..00000000 --- a/vendor/github.com/adlio/trello/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -MIT License - -Copyright (c) 2016 Aaron Longwell - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/vendor/github.com/adlio/trello/README.md b/vendor/github.com/adlio/trello/README.md deleted file mode 100644 index 08c26324..00000000 --- a/vendor/github.com/adlio/trello/README.md +++ /dev/null @@ -1,232 +0,0 @@ -Go Trello API -================ - -[![Trello Logo](https://raw.githubusercontent.com/adlio/trello/master/trello-logo.png)](https://www.trello.com) - -[![GoDoc](https://godoc.org/github.com/adlio/trello?status.svg)](http://godoc.org/github.com/adlio/trello) -[![Build Status](https://travis-ci.org/adlio/trello.svg)](https://travis-ci.org/adlio/trello) -[![Coverage Status](https://coveralls.io/repos/github/adlio/trello/badge.svg?branch=master)](https://coveralls.io/github/adlio/trello?branch=master) - -A #golang package to access the [Trello API](https://developers.trello.com/v1.0/reference). Nearly 100% of the -read-only surface area of the API is covered, as is creation and modification of Cards. -Low-level infrastructure for features to modify Lists and Boards are easy to add... just not -done yet. - -Pull requests are welcome for missing features. - -My current development focus is documentation, especially enhancing this README.md with more -example use cases. - -## Installation - -The Go Trello API has been Tested compatible with Go 1.7 on up. Its only dependency is -the `github.com/pkg/errors` package. It otherwise relies only on the Go standard library. - -``` -go get github.com/adlio/trello -``` - -## Basic Usage - -All interaction starts with a `trello.Client`. Create one with your appKey and token: - -```Go -client := trello.NewClient(appKey, token) -``` - -All API requests accept a trello.Arguments object. This object is a simple -`map[string]string`, converted to query string arguments in the API call. -Trello has sane defaults on API calls. We have a `trello.Defaults()` utility function -which can be used when you desire the default Trello arguments. Internally, -`trello.Defaults()` is an empty map, which translates to an empty query string. - -```Go -board, err := client.GetBoard("bOaRdID", trello.Defaults()) -if err != nil { - // Handle error -} -``` - -## Client Longevity - -When getting Lists from Boards or Cards from Lists, the original `trello.Client` pointer -is carried along in returned child objects. It's important to realize that this enables -you to make additional API calls via functions invoked on the objects you receive: - -```Go -client := trello.NewClient(appKey, token) -board, err := client.GetBoard("ID", trello.Defaults()) - -// GetLists makes an API call to /boards/:id/lists using credentials from `client` -lists, err := board.GetLists(trello.Defaults()) - -for _, list := range lists { - // GetCards makes an API call to /lists/:id/cards using credentials from `client` - cards, err := list.GetCards(trello.Defaults()) -} -``` - -## Get Trello Boards for a User - -Boards can be retrieved directly by their ID (see example above), or by asking -for all boards for a member: - -```Go -member, err := client.GetMember("usernameOrId", trello.Defaults()) -if err != nil { - // Handle error -} - -boards, err := member.GetBoards(trello.Defaults()) -if err != nil { - // Handle error -} -``` - -## Get Trello Lists on a Board - -```Go -board, err := client.GetBoard("bOaRdID", trello.Defaults()) -if err != nil { - // Handle error -} - -lists, err := board.GetLists(trello.Defaults()) -if err != nil { - // Handle error -} -``` - -## Get Trello Cards on a Board - -```Go -board, err := client.GetBoard("bOaRdID", trello.Defaults()) -if err != nil { - // Handle error -} - -cards, err := board.GetCards(trello.Defaults()) -if err != nil { - // Handle error -} -``` - -## Get Trello Cards on a List - -```Go -list, err := client.GetList("lIsTID", trello.Defaults()) -if err != nil { - // Handle error -} - -cards, err := list.GetCards(trello.Defaults()) -if err != nil { - // Handle error -} -``` - -## Creating a Card - -The API provides several mechanisms for creating new cards. - -### Creating Cards from Scratch on the Client - -This approach requires the most input data on the card: - -```Go -card := trello.Card{ - Name: "Card Name", - Desc: "Card description", - Pos: 12345.678, - IDList: "iDOfaLiSt", - IDLabels: []string{"labelID1", "labelID2"}, -} -err := client.CreateCard(card, trello.Defaults()) -``` - - -### Creating Cards On a List - -```Go -list, err := client.GetList("lIsTID", trello.Defaults()) -list.AddCard(trello.Card{ Name: "Card Name", Description: "Card description" }, trello.Defaults()) -``` - -### Creating a Card by Copying Another Card - -```Go -err := card.CopyToList("listIdNUmber", trello.Defaults()) -``` - -## Get Actions on a Board - -```Go -board, err := client.GetBoard("bOaRdID", trello.Defaults()) -if err != nil { - // Handle error -} - -actions, err := board.GetActions(trello.Defaults()) -if err != nil { - // Handle error -} -``` - -## Get Actions on a Card - -```Go -card, err := client.GetCard("cArDID", trello.Defaults()) -if err != nil { - // Handle error -} - -actions, err := card.GetActions(trello.Defaults()) -if err != nil { - // Handle error -} -``` - -## Rearrange Cards Within a List - -```Go -err := card.MoveToTopOfList() -err = card.MoveToBottomOfList() -err = card.SetPos(12345.6789) -``` - - -## Moving a Card to Another List - -```Go -err := card.MoveToList("listIdNUmber", trello.Defaults()) -``` - - -## Card Ancestry - -Trello provides ancestry tracking when cards are created as copies of other cards. This package -provides functions for working with this data: - -```Go - -// ancestors will hold a slice of *trello.Cards, with the first -// being the card's parent, and the last being parent's parent's parent... -ancestors, err := card.GetAncestorCards(trello.Defaults()) - -// GetOriginatingCard() is an alias for the last element in the slice -// of ancestor cards. -ultimateParentCard, err := card.GetOriginatingCard(trello.Defaults()) - -``` - -## Debug Logging - -If you'd like to see all API calls logged, you can attach a `.Logger` (implementing `Debugf(string, ...interface{})`) -to your client. The interface for the logger mimics logrus. Example usage: - -```Go -logger := logrus.New() -logger.SetLevel(logrus.DebugLevel) -client := trello.NewClient(appKey, token) -client.Logger = logger -``` diff --git a/vendor/github.com/adlio/trello/TODO.txt b/vendor/github.com/adlio/trello/TODO.txt deleted file mode 100644 index c363ff9d..00000000 --- a/vendor/github.com/adlio/trello/TODO.txt +++ /dev/null @@ -1,5 +0,0 @@ -- Create List -- Delete Card -- Archive Card -- Reorder Cards in List - diff --git a/vendor/github.com/adlio/trello/action-collection.go b/vendor/github.com/adlio/trello/action-collection.go deleted file mode 100644 index 9b6632f2..00000000 --- a/vendor/github.com/adlio/trello/action-collection.go +++ /dev/null @@ -1,57 +0,0 @@ -package trello - -import ( - "sort" -) - -// ActionCollection is an alias of []*Action, which sorts by the Action's ID. -// Which is the same as sorting by the Action's time of occurrence -type ActionCollection []*Action - -func (c ActionCollection) Len() int { return len(c) } -func (c ActionCollection) Swap(i, j int) { c[i], c[j] = c[j], c[i] } -func (c ActionCollection) Less(i, j int) bool { return c[i].ID < c[j].ID } - -func (actions ActionCollection) FirstCardCreateAction() *Action { - sort.Sort(actions) - for _, action := range actions { - if action.DidCreateCard() { - return action - } - } - return nil -} - -func (actions ActionCollection) ContainsCardCreation() bool { - return actions.FirstCardCreateAction() != nil -} - -func (c ActionCollection) FilterToCardCreationActions() ActionCollection { - newSlice := make(ActionCollection, 0, len(c)) - for _, action := range c { - if action.DidCreateCard() { - newSlice = append(newSlice, action) - } - } - return newSlice -} - -func (c ActionCollection) FilterToListChangeActions() ActionCollection { - newSlice := make(ActionCollection, 0, len(c)) - for _, action := range c { - if action.DidChangeListForCard() { - newSlice = append(newSlice, action) - } - } - return newSlice -} - -func (c ActionCollection) FilterToCardMembershipChangeActions() ActionCollection { - newSlice := make(ActionCollection, 0, len(c)) - for _, action := range c { - if action.DidChangeCardMembership() || action.DidArchiveCard() || action.DidUnarchiveCard() { - newSlice = append(newSlice, action) - } - } - return newSlice -} diff --git a/vendor/github.com/adlio/trello/action.go b/vendor/github.com/adlio/trello/action.go deleted file mode 100644 index f1f28128..00000000 --- a/vendor/github.com/adlio/trello/action.go +++ /dev/null @@ -1,157 +0,0 @@ -// Copyright © 2016 Aaron Longwell -// -// Use of this source code is governed by an MIT licese. -// Details in the LICENSE file. - -package trello - -import ( - "fmt" - "time" -) - -type Action struct { - ID string `json:"id"` - IDMemberCreator string `json:"idMemberCreator"` - Type string `json:"type"` - Date time.Time `json:"date"` - Data *ActionData `json:"data,omitempty"` - MemberCreator *Member `json:"memberCreator,omitempty"` - Member *Member `json:"member,omitempty"` -} - -type ActionData struct { - Text string `json:"text,omitempty"` - List *List `json:"list,omitempty"` - Card *ActionDataCard `json:"card,omitempty"` - CardSource *ActionDataCard `json:"cardSource,omitempty"` - Board *Board `json:"board,omitempty"` - Old *ActionDataCard `json:"old,omitempty"` - ListBefore *List `json:"listBefore,omitempty"` - ListAfter *List `json:"listAfter,omitempty"` - DateLastEdited time.Time `json:"dateLastEdited"` - - CheckItem *CheckItem `json:"checkItem"` - Checklist *Checklist `json:"checklist"` -} - -type ActionDataCard struct { - ID string `json:"id"` - Name string `json:"name"` - IDShort int `json:"idShort"` - ShortLink string `json:"shortLink"` - Pos float64 `json:"pos"` - Closed bool `json:"closed"` -} - -func (b *Board) GetActions(args Arguments) (actions ActionCollection, err error) { - path := fmt.Sprintf("boards/%s/actions", b.ID) - err = b.client.Get(path, args, &actions) - return -} - -func (l *List) GetActions(args Arguments) (actions ActionCollection, err error) { - path := fmt.Sprintf("lists/%s/actions", l.ID) - err = l.client.Get(path, args, &actions) - return -} - -func (c *Card) GetActions(args Arguments) (actions ActionCollection, err error) { - path := fmt.Sprintf("cards/%s/actions", c.ID) - err = c.client.Get(path, args, &actions) - return -} - -// GetListChangeActions retrieves a slice of Actions which resulted in changes -// to the card's active List. This includes the createCard and copyCard action (which -// place the card in its first list, and the updateCard:closed action, which remove it -// from its last list. -// -// This function is just an alias for: -// card.GetActions(Arguments{"filter": "createCard,copyCard,updateCard:idList,updateCard:closed", "limit": "1000"}) -// -func (c *Card) GetListChangeActions() (actions ActionCollection, err error) { - return c.GetActions(Arguments{"filter": "createCard,copyCard,updateCard:idList,updateCard:closed"}) -} - -func (c *Card) GetMembershipChangeActions() (actions ActionCollection, err error) { - // We include updateCard:closed as if the member is implicitly removed from the card when it's closed. - // This allows us to "close out" the duration length. - return c.GetActions(Arguments{"filter": "addMemberToCard,removeMemberFromCard,updateCard:closed"}) -} - -// DidCreateCard() returns true if this action created a card, false otherwise. -func (a *Action) DidCreateCard() bool { - switch a.Type { - case "createCard", "emailCard", "copyCard", "convertToCardFromCheckItem": - return true - case "moveCardToBoard": - return true // Unsure about this one - default: - return false - } -} - -func (a *Action) DidArchiveCard() bool { - return (a.Type == "updateCard") && a.Data != nil && a.Data.Card != nil && a.Data.Card.Closed -} - -func (a *Action) DidUnarchiveCard() bool { - return (a.Type == "updateCard") && a.Data != nil && a.Data.Old != nil && a.Data.Old.Closed -} - -// Returns true if this action created the card (in which case it caused it to enter its -// first list), archived the card (in which case it caused it to leave its last List), -// or was an updateCard action involving a change to the list. This is supporting -// functionality for ListDuration. -// -func (a *Action) DidChangeListForCard() bool { - if a.DidCreateCard() { - return true - } - if a.DidArchiveCard() { - return true - } - if a.DidUnarchiveCard() { - return true - } - if a.Type == "updateCard" { - if a.Data != nil && a.Data.ListAfter != nil { - return true - } - } - return false -} - -func (a *Action) DidChangeCardMembership() bool { - switch a.Type { - case "addMemberToCard": - return true - case "removeMemberFromCard": - return true - default: - return false - } -} - -// ListAfterAction calculates which List the card ended up in after this action -// completed. Returns nil when the action resulted in the card being archived (in -// which case we consider it to not be in a list anymore), or when the action isn't -// related to a list at all (in which case this is a nonsensical question to ask). -// -func ListAfterAction(a *Action) *List { - switch a.Type { - case "createCard", "copyCard", "emailCard", "convertToCardFromCheckItem": - return a.Data.List - case "updateCard": - if a.DidArchiveCard() { - return nil - } else if a.DidUnarchiveCard() { - return a.Data.List - } - if a.Data.ListAfter != nil { - return a.Data.ListAfter - } - } - return nil -} diff --git a/vendor/github.com/adlio/trello/arguments.go b/vendor/github.com/adlio/trello/arguments.go deleted file mode 100644 index 8bceca16..00000000 --- a/vendor/github.com/adlio/trello/arguments.go +++ /dev/null @@ -1,24 +0,0 @@ -// Copyright © 2016 Aaron Longwell -// -// Use of this source code is governed by an MIT licese. -// Details in the LICENSE file. - -package trello - -import ( - "net/url" -) - -type Arguments map[string]string - -func Defaults() Arguments { - return make(Arguments) -} - -func (args Arguments) ToURLValues() url.Values { - v := url.Values{} - for key, value := range args { - v.Set(key, value) - } - return v -} diff --git a/vendor/github.com/adlio/trello/attachment.go b/vendor/github.com/adlio/trello/attachment.go deleted file mode 100644 index e735a3f2..00000000 --- a/vendor/github.com/adlio/trello/attachment.go +++ /dev/null @@ -1,29 +0,0 @@ -// Copyright © 2016 Aaron Longwell -// -// Use of this source code is governed by an MIT licese. -// Details in the LICENSE file. - -package trello - -type Attachment struct { - ID string `json:"id"` - Name string `json:"name"` - Pos float32 `json:"pos"` - Bytes int `json:"int"` - Date string `json:"date"` - EdgeColor string `json:"edgeColor"` - IDMember string `json:"idMember"` - IsUpload bool `json:"isUpload"` - MimeType string `json:"mimeType"` - Previews []AttachmentPreview `json:"previews"` - URL string `json:"url"` -} - -type AttachmentPreview struct { - ID string `json:"_id"` - URL string `json:"url"` - Width int `json:"width"` - Height int `json:"height"` - Bytes int `json:"bytes"` - Scaled bool `json:"scaled"` -} diff --git a/vendor/github.com/adlio/trello/board.go b/vendor/github.com/adlio/trello/board.go deleted file mode 100644 index dfdd2c0a..00000000 --- a/vendor/github.com/adlio/trello/board.go +++ /dev/null @@ -1,90 +0,0 @@ -// Copyright © 2016 Aaron Longwell -// -// Use of this source code is governed by an MIT licese. -// Details in the LICENSE file. - -package trello - -import ( - "fmt" - "time" -) - -type Board struct { - client *Client - ID string `json:"id"` - Name string `json:"name"` - Desc string `json:"desc"` - Closed bool `json:"closed"` - IdOrganization string `json:"idOrganization"` - Pinned bool `json:"pinned"` - Url string `json:"url"` - ShortUrl string `json:"shortUrl"` - Prefs struct { - PermissionLevel string `json:"permissionLevel"` - Voting string `json:"voting"` - Comments string `json:"comments"` - Invitations string `json:"invitations"` - SelfJoin bool `json:"selfjoin"` - CardCovers bool `json:"cardCovers"` - CardAging string `json:"cardAging"` - CalendarFeedEnabled bool `json:"calendarFeedEnabled"` - Background string `json:"background"` - BackgroundColor string `json:"backgroundColor"` - BackgroundImage string `json:"backgroundImage"` - BackgroundImageScaled []BackgroundImage `json:"backgroundImageScaled"` - BackgroundTile bool `json:"backgroundTile"` - BackgroundBrightness string `json:"backgroundBrightness"` - CanBePublic bool `json:"canBePublic"` - CanBeOrg bool `json:"canBeOrg"` - CanBePrivate bool `json:"canBePrivate"` - CanInvite bool `json:"canInvite"` - } `json:"prefs"` - LabelNames struct { - Black string `json:"black,omitempty"` - Blue string `json:"blue,omitempty"` - Green string `json:"green,omitempty"` - Lime string `json:"lime,omitempty"` - Orange string `json:"orange,omitempty"` - Pink string `json:"pink,omitempty"` - Purple string `json:"purple,omitempty"` - Red string `json:"red,omitempty"` - Sky string `json:"sky,omitempty"` - Yellow string `json:"yellow,omitempty"` - } `json:"labelNames"` - Lists []*List `json:"lists"` - Actions []*Action `json:"actions"` - Organization Organization `json:"organization"` -} - -type BackgroundImage struct { - Width int `json:"width"` - Height int `json:"height"` - URL string `json:"url"` -} - -func (b *Board) CreatedAt() time.Time { - t, _ := IDToTime(b.ID) - return t -} - -/** - * Board retrieves a Trello board by its ID. - */ -func (c *Client) GetBoard(boardID string, args Arguments) (board *Board, err error) { - path := fmt.Sprintf("boards/%s", boardID) - err = c.Get(path, args, &board) - if board != nil { - board.client = c - } - return -} - -func (m *Member) GetBoards(args Arguments) (boards []*Board, err error) { - path := fmt.Sprintf("members/%s/boards", m.ID) - err = m.client.Get(path, args, &boards) - for i := range boards { - boards[i].client = m.client - } - return -} diff --git a/vendor/github.com/adlio/trello/card.go b/vendor/github.com/adlio/trello/card.go deleted file mode 100644 index 8a2c3e9d..00000000 --- a/vendor/github.com/adlio/trello/card.go +++ /dev/null @@ -1,451 +0,0 @@ -// Copyright © 2016 Aaron Longwell -// -// Use of this source code is governed by an MIT licese. -// Details in the LICENSE file. - -package trello - -import ( - "fmt" - "strconv" - "strings" - "time" - - "github.com/pkg/errors" -) - -type Card struct { - client *Client - - // Key metadata - ID string `json:"id"` - IDShort int `json:"idShort"` - Name string `json:"name"` - Pos float64 `json:"pos"` - Email string `json:"email"` - ShortLink string `json:"shortLink"` - ShortUrl string `json:"shortUrl"` - Url string `json:"url"` - Desc string `json:"desc"` - Due *time.Time `json:"due"` - DueComplete bool `json:"dueComplete"` - Closed bool `json:"closed"` - Subscribed bool `json:"subscribed"` - DateLastActivity *time.Time `json:"dateLastActivity"` - - // Board - Board *Board - IDBoard string `json:"idBoard"` - - // List - List *List - IDList string `json:"idList"` - - // Badges - Badges struct { - Votes int `json:"votes"` - ViewingMemberVoted bool `json:"viewingMemberVoted"` - Subscribed bool `json:"subscribed"` - Fogbugz string `json:"fogbugz,omitempty"` - CheckItems int `json:"checkItems"` - CheckItemsChecked int `json:"checkItemsChecked"` - Comments int `json:"comments"` - Attachments int `json:"attachments"` - Description bool `json:"description"` - Due *time.Time `json:"due,omitempty"` - } `json:"badges"` - - // Actions - Actions ActionCollection `json:"actions,omitempty"` - - // Checklists - IDCheckLists []string `json:"idCheckLists"` - Checklists []*Checklist `json:"checklists,omitempty"` - CheckItemStates []*CheckItemState `json:"checkItemStates,omitempty"` - - // Members - IDMembers []string `json:"idMembers,omitempty"` - IDMembersVoted []string `json:"idMembersVoted,omitempty"` - Members []*Member `json:"members,omitempty"` - - // Attachments - IDAttachmentCover string `json:"idAttachmentCover"` - ManualCoverAttachment bool `json:"manualCoverAttachment"` - Attachments []*Attachment `json:"attachments,omitempty"` - - // Labels - IDLabels []string `json:"idLabels,omitempty"` - Labels []*Label `json:"labels,omitempty"` - - // Custom Fields - CustomFieldItems []*CustomFieldItem `json:"customFieldItems",omitempty` - - customFieldMap *map[string]interface{} -} - -func (c *Card) CreatedAt() time.Time { - t, _ := IDToTime(c.ID) - return t -} - -func (c *Card) CustomFields(boardCustomFields []*CustomField) (map[string]interface{}) { - - cfm := c.customFieldMap - - if cfm == nil { - cfm = &(map[string]interface{} {}) - - // bcfOptionNames[CustomField ID] = Custom Field Name - bcfOptionNames := map[string]string{} - - // bcfOptionsMap[CustomField ID][ID of the option] = Value of the option - bcfOptionsMap := map[string] map[string]interface{}{} - - for _, bcf := range boardCustomFields { - bcfOptionNames[bcf.ID] = bcf.Name - for _, cf := range bcf.Options { - // create 2nd level map when not available yet - map2, ok := bcfOptionsMap[cf.IDCustomField] - if !ok { - map2 = map[string]interface{}{} - bcfOptionsMap[bcf.ID] = map2 - } - - bcfOptionsMap[bcf.ID][cf.ID] = cf.Value.Text - } - } - - for _, cf := range c.CustomFieldItems { - name := bcfOptionNames[cf.IDCustomField] - - // create 2nd level map when not available yet - map2, ok := bcfOptionsMap[cf.IDCustomField] - if !ok { - continue - } - value, ok := map2[cf.IDValue] - - if ok { - (*cfm)[name] = value - } - } - c.customFieldMap = cfm - } - return *cfm -} - -func (c *Card) MoveToList(listID string, args Arguments) error { - path := fmt.Sprintf("cards/%s", c.ID) - args["idList"] = listID - return c.client.Put(path, args, &c) -} - -func (c *Card) SetPos(newPos float64) error { - path := fmt.Sprintf("cards/%s", c.ID) - return c.client.Put(path, Arguments{"pos": fmt.Sprintf("%f", newPos)}, c) -} - -func (c *Card) RemoveMember(memberID string) error { - path := fmt.Sprintf("cards/%s/idMembers/%s", c.ID, memberID) - return c.client.Delete(path, Defaults(), nil) -} - -func (c *Card) AddMemberID(memberID string) (member []*Member, err error) { - path := fmt.Sprintf("cards/%s/idMembers", c.ID) - err = c.client.Post(path, Arguments{"value": memberID}, &member) - return member, err -} - -func (c *Card) RemoveIDLabel(labelID string, label *Label) error { - path := fmt.Sprintf("cards/%s/idLabels/%s", c.ID, labelID) - return c.client.Delete(path, Defaults(), label) - -} - -func (c *Card) AddIDLabel(labelID string) error { - path := fmt.Sprintf("cards/%s/idLabels", c.ID) - err := c.client.Post(path, Arguments{"value": labelID}, &c.IDLabels) - return err -} - -func (c *Card) MoveToTopOfList() error { - path := fmt.Sprintf("cards/%s", c.ID) - return c.client.Put(path, Arguments{"pos": "top"}, c) -} - -func (c *Card) MoveToBottomOfList() error { - path := fmt.Sprintf("cards/%s", c.ID) - return c.client.Put(path, Arguments{"pos": "bottom"}, c) -} - -func (c *Card) Update(args Arguments) error { - path := fmt.Sprintf("cards/%s", c.ID) - return c.client.Put(path, args, c) -} - -func (c *Client) CreateCard(card *Card, extraArgs Arguments) error { - path := "cards" - args := Arguments{ - "name": card.Name, - "desc": card.Desc, - "pos": strconv.FormatFloat(card.Pos, 'g', -1, 64), - "idList": card.IDList, - "idMembers": strings.Join(card.IDMembers, ","), - "idLabels": strings.Join(card.IDLabels, ","), - } - if card.Due != nil { - args["due"] = card.Due.Format(time.RFC3339) - } - // Allow overriding the creation position with 'top' or 'botttom' - if pos, ok := extraArgs["pos"]; ok { - args["pos"] = pos - } - err := c.Post(path, args, &card) - if err == nil { - card.client = c - } - return err -} - -func (l *List) AddCard(card *Card, extraArgs Arguments) error { - path := fmt.Sprintf("lists/%s/cards", l.ID) - args := Arguments{ - "name": card.Name, - "desc": card.Desc, - "idMembers": strings.Join(card.IDMembers, ","), - "idLabels": strings.Join(card.IDLabels, ","), - } - if card.Due != nil { - args["due"] = card.Due.Format(time.RFC3339) - } - // Allow overwriting the creation position with 'top' or 'bottom' - if pos, ok := extraArgs["pos"]; ok { - args["pos"] = pos - } - err := l.client.Post(path, args, &card) - if err == nil { - card.client = l.client - } else { - err = errors.Wrapf(err, "Error adding card to list %s", l.ID) - } - return err -} - -// Try these Arguments -// -// Arguments["keepFromSource"] = "all" -// Arguments["keepFromSource"] = "none" -// Arguments["keepFromSource"] = "attachments,checklists,comments" -// -func (c *Card) CopyToList(listID string, args Arguments) (*Card, error) { - path := "cards" - args["idList"] = listID - args["idCardSource"] = c.ID - newCard := Card{} - err := c.client.Post(path, args, &newCard) - if err == nil { - newCard.client = c.client - } else { - err = errors.Wrapf(err, "Error copying card '%s' to list '%s'.", c.ID, listID) - } - return &newCard, err -} - -func (c *Card) AddComment(comment string, args Arguments) (*Action, error) { - path := fmt.Sprintf("cards/%s/actions/comments", c.ID) - args["text"] = comment - action := Action{} - err := c.client.Post(path, args, &action) - if err != nil { - err = errors.Wrapf(err, "Error commenting on card %s", c.ID) - } - return &action, err -} - -// If this Card was created from a copy of another Card, this func retrieves -// the originating Card. Returns an error only when a low-level failure occurred. -// If this Card has no parent, a nil card and nil error are returned. In other words, the -// non-existence of a parent is not treated as an error. -// -func (c *Card) GetParentCard(args Arguments) (*Card, error) { - - // Hopefully the card came pre-loaded with Actions including the card creation - action := c.Actions.FirstCardCreateAction() - - if action == nil { - // No luck. Go get copyCard actions for this card. - c.client.log("Creation action wasn't supplied before GetParentCard() on '%s'. Getting copyCard actions.", c.ID) - actions, err := c.GetActions(Arguments{"filter": "copyCard"}) - if err != nil { - err = errors.Wrapf(err, "GetParentCard() failed to GetActions() for card '%s'", c.ID) - return nil, err - } - action = actions.FirstCardCreateAction() - } - - if action != nil && action.Data != nil && action.Data.CardSource != nil { - card, err := c.client.GetCard(action.Data.CardSource.ID, args) - return card, err - } - - return nil, nil -} - -func (c *Card) GetAncestorCards(args Arguments) (ancestors []*Card, err error) { - - // Get the first parent - parent, err := c.GetParentCard(args) - if IsNotFound(err) || IsPermissionDenied(err) { - c.client.log("[trello] Can't get details about the parent of card '%s' due to lack of permissions or card deleted.", c.ID) - return ancestors, nil - } - - for parent != nil { - ancestors = append(ancestors, parent) - parent, err = parent.GetParentCard(args) - if IsNotFound(err) || IsPermissionDenied(err) { - c.client.log("[trello] Can't get details about the parent of card '%s' due to lack of permissions or card deleted.", c.ID) - return ancestors, nil - } else if err != nil { - return ancestors, err - } - } - - return ancestors, err -} - -func (c *Card) GetOriginatingCard(args Arguments) (*Card, error) { - ancestors, err := c.GetAncestorCards(args) - if err != nil { - return c, err - } - if len(ancestors) > 0 { - return ancestors[len(ancestors)-1], nil - } else { - return c, nil - } -} - -func (c *Card) CreatorMember() (*Member, error) { - var actions ActionCollection - var err error - - if len(c.Actions) == 0 { - c.Actions, err = c.GetActions(Arguments{"filter": "all", "limit": "1000", "memberCreator_fields": "all"}) - if err != nil { - err = errors.Wrapf(err, "GetActions() call failed.") - return nil, err - } - } - actions = c.Actions.FilterToCardCreationActions() - - if len(actions) > 0 { - return actions[0].MemberCreator, nil - } - return nil, errors.Errorf("No card creation actions on Card %s with a .MemberCreator", c.ID) -} - -func (c *Card) CreatorMemberID() (string, error) { - - var actions ActionCollection - var err error - - if len(c.Actions) == 0 { - c.client.log("[trello] CreatorMemberID() called on card '%s' without any Card.Actions. Fetching fresh.", c.ID) - c.Actions, err = c.GetActions(Defaults()) - if err != nil { - err = errors.Wrapf(err, "GetActions() call failed.") - } - } - actions = c.Actions.FilterToCardCreationActions() - - if len(actions) > 0 { - if actions[0].IDMemberCreator != "" { - return actions[0].IDMemberCreator, err - } - } - - return "", errors.Wrapf(err, "No Actions on card '%s' could be used to find its creator.", c.ID) -} - -func (b *Board) ContainsCopyOfCard(cardID string, args Arguments) (bool, error) { - args["filter"] = "copyCard" - actions, err := b.GetActions(args) - if err != nil { - err := errors.Wrapf(err, "GetCards() failed inside ContainsCopyOf() for board '%s' and card '%s'.", b.ID, cardID) - return false, err - } - for _, action := range actions { - if action.Data != nil && action.Data.CardSource != nil && action.Data.CardSource.ID == cardID { - return true, nil - } - } - return false, nil -} - -func (c *Client) GetCard(cardID string, args Arguments) (card *Card, err error) { - path := fmt.Sprintf("cards/%s", cardID) - err = c.Get(path, args, &card) - if card != nil { - card.client = c - } - return card, err -} - -/** - * Retrieves all Cards on a Board - * - * If before - */ -func (b *Board) GetCards(args Arguments) (cards []*Card, err error) { - path := fmt.Sprintf("boards/%s/cards", b.ID) - - err = b.client.Get(path, args, &cards) - - // Naive implementation would return here. To make sure we get all - // cards, we begin - if len(cards) > 0 { - moreCards := true - for moreCards == true { - nextCardBatch := make([]*Card, 0) - args["before"] = EarliestCardID(cards) - err = b.client.Get(path, args, &nextCardBatch) - if len(nextCardBatch) > 0 { - cards = append(cards, nextCardBatch...) - } else { - moreCards = false - } - } - } - - for i := range cards { - cards[i].client = b.client - } - - return -} - -/** - * Retrieves all Cards in a List - */ -func (l *List) GetCards(args Arguments) (cards []*Card, err error) { - path := fmt.Sprintf("lists/%s/cards", l.ID) - err = l.client.Get(path, args, &cards) - for i := range cards { - cards[i].client = l.client - } - return -} - -func EarliestCardID(cards []*Card) string { - if len(cards) == 0 { - return "" - } - earliest := cards[0].ID - for _, card := range cards { - if card.ID < earliest { - earliest = card.ID - } - } - return earliest -} diff --git a/vendor/github.com/adlio/trello/checklist.go b/vendor/github.com/adlio/trello/checklist.go deleted file mode 100644 index 698dfa3c..00000000 --- a/vendor/github.com/adlio/trello/checklist.go +++ /dev/null @@ -1,30 +0,0 @@ -// Copyright © 2016 Aaron Longwell -// -// Use of this source code is governed by an MIT licese. -// Details in the LICENSE file. - -package trello - -type Checklist struct { - ID string `json:"id"` - Name string `json:"name"` - IDBoard string `json:"idBoard,omitempty"` - IDCard string `json:"idCard,omitempty"` - Pos float64 `json:"pos,omitempty"` - CheckItems []CheckItem `json:"checkItems,omitempty"` -} - -type CheckItem struct { - ID string `json:"id"` - Name string `json:"name"` - State string `json:"state"` - IDChecklist string `json:"idChecklist,omitempty"` - Pos float64 `json:"pos,omitempty"` -} - -// Manifestation of CheckItem when it appears in CheckItemStates -// on a Card. -type CheckItemState struct { - IDCheckItem string `json:"idCheckItem"` - State string `json:"state"` -} diff --git a/vendor/github.com/adlio/trello/client.go b/vendor/github.com/adlio/trello/client.go deleted file mode 100644 index e20ad892..00000000 --- a/vendor/github.com/adlio/trello/client.go +++ /dev/null @@ -1,239 +0,0 @@ -// Copyright © 2016 Aaron Longwell -// -// Use of this source code is governed by an MIT licese. -// Details in the LICENSE file. - -package trello - -import ( - "bytes" - "context" - "encoding/json" - "fmt" - "io/ioutil" - "net/http" - "time" - - "github.com/pkg/errors" -) - -const DEFAULT_BASEURL = "https://api.trello.com/1" - -type Client struct { - Client *http.Client - Logger logger - BaseURL string - Key string - Token string - throttle <-chan time.Time - testMode bool - ctx context.Context -} - -type logger interface { - Debugf(string, ...interface{}) -} - -func NewClient(key, token string) *Client { - return &Client{ - Client: http.DefaultClient, - BaseURL: DEFAULT_BASEURL, - Key: key, - Token: token, - throttle: time.Tick(time.Second / 8), // Actually 10/second, but we're extra cautious - testMode: false, - ctx: context.Background(), - } -} - -func (c *Client) WithContext(ctx context.Context) *Client { - newC := *c - newC.ctx = ctx - return &newC -} - -func (c *Client) Throttle() { - if !c.testMode { - <-c.throttle - } -} - -func (c *Client) Get(path string, args Arguments, target interface{}) error { - - // Trello prohibits more than 10 seconds/second per token - c.Throttle() - - params := args.ToURLValues() - c.log("[trello] GET %s?%s", path, params.Encode()) - - if c.Key != "" { - params.Set("key", c.Key) - } - - if c.Token != "" { - params.Set("token", c.Token) - } - - url := fmt.Sprintf("%s/%s", c.BaseURL, path) - urlWithParams := fmt.Sprintf("%s?%s", url, params.Encode()) - - req, err := http.NewRequest("GET", urlWithParams, nil) - if err != nil { - return errors.Wrapf(err, "Invalid GET request %s", url) - } - req = req.WithContext(c.ctx) - - resp, err := c.Client.Do(req) - if err != nil { - return errors.Wrapf(err, "HTTP request failure on %s", url) - } - defer resp.Body.Close() - if resp.StatusCode != 200 { - return makeHttpClientError(url, resp) - } - - decoder := json.NewDecoder(resp.Body) - err = decoder.Decode(target) - if err != nil { - return errors.Wrapf(err, "JSON decode failed on %s", url) - } - - return nil -} - -func (c *Client) Put(path string, args Arguments, target interface{}) error { - - // Trello prohibits more than 10 seconds/second per token - c.Throttle() - - params := args.ToURLValues() - c.log("[trello] PUT %s?%s", path, params.Encode()) - - if c.Key != "" { - params.Set("key", c.Key) - } - - if c.Token != "" { - params.Set("token", c.Token) - } - - url := fmt.Sprintf("%s/%s", c.BaseURL, path) - urlWithParams := fmt.Sprintf("%s?%s", url, params.Encode()) - - req, err := http.NewRequest("PUT", urlWithParams, nil) - if err != nil { - return errors.Wrapf(err, "Invalid PUT request %s", url) - } - - resp, err := c.Client.Do(req) - if err != nil { - return errors.Wrapf(err, "HTTP request failure on %s", url) - } - defer resp.Body.Close() - if resp.StatusCode != 200 { - return makeHttpClientError(url, resp) - } - - decoder := json.NewDecoder(resp.Body) - err = decoder.Decode(target) - if err != nil { - return errors.Wrapf(err, "JSON decode failed on %s", url) - } - - return nil -} - -func (c *Client) Post(path string, args Arguments, target interface{}) error { - - // Trello prohibits more than 10 seconds/second per token - c.Throttle() - - params := args.ToURLValues() - c.log("[trello] POST %s?%s", path, params.Encode()) - - if c.Key != "" { - params.Set("key", c.Key) - } - - if c.Token != "" { - params.Set("token", c.Token) - } - - url := fmt.Sprintf("%s/%s", c.BaseURL, path) - urlWithParams := fmt.Sprintf("%s?%s", url, params.Encode()) - - req, err := http.NewRequest("POST", urlWithParams, nil) - if err != nil { - return errors.Wrapf(err, "Invalid POST request %s", url) - } - req.Header.Set("Content-Type", "application/x-www-form-urlencoded") - - resp, err := c.Client.Do(req) - if err != nil { - return errors.Wrapf(err, "HTTP request failure on %s", url) - } - - defer resp.Body.Close() - - b, err := ioutil.ReadAll(resp.Body) - if err != nil { - return errors.Wrapf(err, "HTTP Read error on response for %s", url) - } - - decoder := json.NewDecoder(bytes.NewBuffer(b)) - err = decoder.Decode(target) - if err != nil { - return errors.Wrapf(err, "JSON decode failed on %s:\n%s", url, string(b)) - } - - return nil -} - -func (c *Client) Delete(path string, args Arguments, target interface{}) error { - - c.Throttle() - - params := args.ToURLValues() - c.log("[trello] DELETE %s?%s", path, params.Encode()) - - if c.Key != "" { - params.Set("key", c.Key) - } - - if c.Token != "" { - params.Set("token", c.Token) - } - - url := fmt.Sprintf("%s/%s", c.BaseURL, path) - urlWithParams := fmt.Sprintf("%s?%s", url, params.Encode()) - - req, err := http.NewRequest("DELETE", urlWithParams, nil) - if err != nil { - return errors.Wrapf(err, "Invalid DELETE request %s", url) - } - - resp, err := c.Client.Do(req) - if err != nil { - return errors.Wrapf(err, "HTTP request failure on %s", url) - } - defer resp.Body.Close() - - b, err := ioutil.ReadAll(resp.Body) - if err != nil { - return errors.Wrapf(err, "HTTP Read error on response for %s", url) - } - - decoder := json.NewDecoder(bytes.NewBuffer(b)) - err = decoder.Decode(target) - if err != nil { - return errors.Wrapf(err, "JSON decode failed on %s:\n%s", url, string(b)) - } - - return nil -} - -func (c *Client) log(format string, args ...interface{}) { - if c.Logger != nil { - c.Logger.Debugf(format, args...) - } -} diff --git a/vendor/github.com/adlio/trello/custom-fields.go b/vendor/github.com/adlio/trello/custom-fields.go deleted file mode 100644 index 69add046..00000000 --- a/vendor/github.com/adlio/trello/custom-fields.go +++ /dev/null @@ -1,49 +0,0 @@ -package trello - -import "fmt" - -type CustomFieldItem struct { - ID string `json:"id"` - IDValue string `json:"idValue"` - IDCustomField string `json:"idCustomField"` - IDModel string `json:"idModel"` - IDModelType string `json:"modelType,omitempty"` -} - -type CustomField struct { - ID string `json:"id"` - IDModel string `json:"idModel"` - IDModelType string `json:"modelType,omitempty"` - FieldGroup string `json:"fieldGroup"` - Name string `json:"name"` - Pos int `json:"pos"` - Display struct { - CardFront bool `json:"cardfront"` - } `json:"display"` - Type string `json:"type"` - Options []*CustomFieldOption `json:"options"` -} - -type CustomFieldOption struct { - ID string `json:"id"` - IDCustomField string `json:"idCustomField"` - Value struct { - Text string `json:"text"` - } `json:"value"` - Color string `json:"color,omitempty"` - Pos int `json:"pos"` -} - -func (c *Client) GetCustomField(fieldID string, args Arguments) (customField *CustomField, err error) { - path := fmt.Sprintf("customFields/%s", fieldID) - err = c.Get(path, args, &customField) - return -} - - -func (b *Board) GetCustomFields(args Arguments) (customFields []*CustomField, err error) { - path := fmt.Sprintf("boards/%s/customFields", b.ID) - err = b.client.Get(path, args, &customFields) - return -} - diff --git a/vendor/github.com/adlio/trello/errors.go b/vendor/github.com/adlio/trello/errors.go deleted file mode 100644 index 9c93fcdd..00000000 --- a/vendor/github.com/adlio/trello/errors.go +++ /dev/null @@ -1,55 +0,0 @@ -package trello - -import ( - "fmt" - "io/ioutil" - "net/http" -) - -type notFoundError interface { - IsNotFound() bool -} - -type rateLimitError interface { - IsRateLimit() bool -} - -type permissionDeniedError interface { - IsPermissionDenied() bool -} - -type httpClientError struct { - msg string - code int -} - -func makeHttpClientError(url string, resp *http.Response) error { - - body, _ := ioutil.ReadAll(resp.Body) - msg := fmt.Sprintf("HTTP request failure on %s:\n%d: %s", url, resp.StatusCode, string(body)) - - return &httpClientError{ - msg: msg, - code: resp.StatusCode, - } -} - -func (e *httpClientError) Error() string { return e.msg } -func (e *httpClientError) IsRateLimit() bool { return e.code == 429 } -func (e *httpClientError) IsNotFound() bool { return e.code == 404 } -func (e *httpClientError) IsPermissionDenied() bool { return e.code == 401 } - -func IsRateLimit(err error) bool { - re, ok := err.(rateLimitError) - return ok && re.IsRateLimit() -} - -func IsNotFound(err error) bool { - nf, ok := err.(notFoundError) - return ok && nf.IsNotFound() -} - -func IsPermissionDenied(err error) bool { - pd, ok := err.(permissionDeniedError) - return ok && pd.IsPermissionDenied() -} diff --git a/vendor/github.com/adlio/trello/label.go b/vendor/github.com/adlio/trello/label.go deleted file mode 100644 index c805b1f2..00000000 --- a/vendor/github.com/adlio/trello/label.go +++ /dev/null @@ -1,28 +0,0 @@ -// Copyright © 2016 Aaron Longwell -// -// Use of this source code is governed by an MIT licese. -// Details in the LICENSE file. - -package trello - -import "fmt" - -type Label struct { - ID string `json:"id"` - IDBoard string `json:"idBoard"` - Name string `json:"name"` - Color string `json:"color"` - Uses int `json:"uses"` -} - -func (c *Client) GetLabel(labelID string, args Arguments) (label *Label, err error) { - path := fmt.Sprintf("labels/%s", labelID) - err = c.Get(path, args, &label) - return -} - -func (b *Board) GetLabels(args Arguments) (labels []*Label, err error) { - path := fmt.Sprintf("boards/%s/labels", b.ID) - err = b.client.Get(path, args, &labels) - return -} \ No newline at end of file diff --git a/vendor/github.com/adlio/trello/list-duration-sort.go b/vendor/github.com/adlio/trello/list-duration-sort.go deleted file mode 100644 index 2695ff42..00000000 --- a/vendor/github.com/adlio/trello/list-duration-sort.go +++ /dev/null @@ -1,9 +0,0 @@ -package trello - -type ByFirstEntered []*ListDuration - -func (durs ByFirstEntered) Len() int { return len(durs) } -func (durs ByFirstEntered) Less(i, j int) bool { - return durs[i].FirstEntered.Before(durs[j].FirstEntered) -} -func (durs ByFirstEntered) Swap(i, j int) { durs[i], durs[j] = durs[j], durs[i] } diff --git a/vendor/github.com/adlio/trello/list-duration.go b/vendor/github.com/adlio/trello/list-duration.go deleted file mode 100644 index 42825703..00000000 --- a/vendor/github.com/adlio/trello/list-duration.go +++ /dev/null @@ -1,82 +0,0 @@ -package trello - -import ( - "sort" - "time" - - "github.com/pkg/errors" -) - -type ListDuration struct { - ListID string - ListName string - Duration time.Duration - FirstEntered time.Time - TimesInList int -} - -func (l *ListDuration) AddDuration(d time.Duration) { - l.Duration = l.Duration + d - l.TimesInList++ -} - -// Analytzes a Cards actions to figure out how long it was in each List -func (c *Card) GetListDurations() (durations []*ListDuration, err error) { - - var actions ActionCollection - if len(c.Actions) == 0 { - // Get all actions which affected the Card's List - c.client.log("[trello] GetListDurations() called on card '%s' without any Card.Actions. Fetching fresh.", c.ID) - actions, err = c.GetListChangeActions() - if err != nil { - err = errors.Wrap(err, "GetListChangeActions() call failed.") - return - } - } else { - actions = c.Actions.FilterToListChangeActions() - } - - return actions.GetListDurations() -} - -func (actions ActionCollection) GetListDurations() (durations []*ListDuration, err error) { - sort.Sort(actions) - - var prevTime time.Time - var prevList *List - - durs := make(map[string]*ListDuration) - for _, action := range actions { - if action.DidChangeListForCard() { - if prevList != nil { - duration := action.Date.Sub(prevTime) - _, durExists := durs[prevList.ID] - if !durExists { - durs[prevList.ID] = &ListDuration{ListID: prevList.ID, ListName: prevList.Name, Duration: duration, TimesInList: 1, FirstEntered: prevTime} - } else { - durs[prevList.ID].AddDuration(duration) - } - } - prevList = ListAfterAction(action) - prevTime = action.Date - } - } - - if prevList != nil { - duration := time.Now().Sub(prevTime) - _, durExists := durs[prevList.ID] - if !durExists { - durs[prevList.ID] = &ListDuration{ListID: prevList.ID, ListName: prevList.Name, Duration: duration, TimesInList: 1, FirstEntered: prevTime} - } else { - durs[prevList.ID].AddDuration(duration) - } - } - - durations = make([]*ListDuration, 0, len(durs)) - for _, ld := range durs { - durations = append(durations, ld) - } - sort.Sort(ByFirstEntered(durations)) - - return durations, nil -} diff --git a/vendor/github.com/adlio/trello/list.go b/vendor/github.com/adlio/trello/list.go deleted file mode 100644 index 6e26be1c..00000000 --- a/vendor/github.com/adlio/trello/list.go +++ /dev/null @@ -1,51 +0,0 @@ -// Copyright © 2016 Aaron Longwell -// -// Use of this source code is governed by an MIT licese. -// Details in the LICENSE file. - -package trello - -import ( - "fmt" - "time" -) - -type List struct { - client *Client - ID string `json:"id"` - Name string `json:"name"` - IDBoard string `json:"idBoard,omitempty"` - Closed bool `json:"closed"` - Pos float32 `json:"pos,omitempty"` - Board *Board `json:"board,omitempty"` - Cards []*Card `json:"cards,omitempty"` -} - -func (l *List) CreatedAt() time.Time { - t, _ := IDToTime(l.ID) - return t -} - -func (c *Client) GetList(listID string, args Arguments) (list *List, err error) { - path := fmt.Sprintf("lists/%s", listID) - err = c.Get(path, args, &list) - if list != nil { - list.client = c - for i := range list.Cards { - list.Cards[i].client = c - } - } - return -} - -func (b *Board) GetLists(args Arguments) (lists []*List, err error) { - path := fmt.Sprintf("boards/%s/lists", b.ID) - err = b.client.Get(path, args, &lists) - for i := range lists { - lists[i].client = b.client - for j := range lists[i].Cards { - lists[i].Cards[j].client = b.client - } - } - return -} diff --git a/vendor/github.com/adlio/trello/member-duration.go b/vendor/github.com/adlio/trello/member-duration.go deleted file mode 100644 index e5344d9b..00000000 --- a/vendor/github.com/adlio/trello/member-duration.go +++ /dev/null @@ -1,118 +0,0 @@ -package trello - -import ( - "sort" - "time" - - "github.com/pkg/errors" -) - -// Used to track the periods of time which a user (member) is attached to a card. -// -type MemberDuration struct { - MemberID string - MemberName string - FirstAdded time.Time - Duration time.Duration - active bool - lastAdded time.Time -} - -type ByLongestDuration []*MemberDuration - -func (d ByLongestDuration) Len() int { return len(d) } -func (d ByLongestDuration) Less(i, j int) bool { return d[i].Duration > d[j].Duration } -func (d ByLongestDuration) Swap(i, j int) { d[i], d[j] = d[j], d[i] } - -func (d *MemberDuration) addAsOf(t time.Time) { - d.active = true - if d.FirstAdded.IsZero() { - d.FirstAdded = t - } - d.startTimerAsOf(t) -} - -func (d *MemberDuration) startTimerAsOf(t time.Time) { - if d.active { - d.lastAdded = t - } -} - -func (d *MemberDuration) removeAsOf(t time.Time) { - d.stopTimerAsOf(t) - d.active = false - d.lastAdded = time.Time{} -} - -func (d *MemberDuration) stopTimerAsOf(t time.Time) { - if d.active { - d.Duration = d.Duration + t.Sub(d.lastAdded) - } -} - -func (c *Card) GetMemberDurations() (durations []*MemberDuration, err error) { - var actions ActionCollection - if len(c.Actions) == 0 { - c.client.log("[trello] GetMemberDurations() called on card '%s' without any Card.Actions. Fetching fresh.", c.ID) - actions, err = c.GetMembershipChangeActions() - if err != nil { - err = errors.Wrap(err, "GetMembershipChangeActions() call failed.") - return - } - } else { - actions = c.Actions.FilterToCardMembershipChangeActions() - } - - return actions.GetMemberDurations() -} - -// Similar to GetListDurations(), this function returns a slice of MemberDuration objects, -// which describes the length of time each member was attached to this card. Durations are -// calculated such that being added to a card starts a timer for that member, and being removed -// starts it again (so that if a person is added and removed multiple times, the duration -// captures only the times which they were attached). Archiving the card also stops the timer. -// -func (actions ActionCollection) GetMemberDurations() (durations []*MemberDuration, err error) { - sort.Sort(actions) - durs := make(map[string]*MemberDuration) - for _, action := range actions { - if action.DidChangeCardMembership() { - _, durExists := durs[action.Member.ID] - if !durExists { - switch action.Type { - case "addMemberToCard": - durs[action.Member.ID] = &MemberDuration{MemberID: action.Member.ID, MemberName: action.Member.FullName} - durs[action.Member.ID].addAsOf(action.Date) - case "removeMemberFromCard": - // Surprisingly, this is possible. If a card was copied, and members were preserved, those - // members exist on the card without a corresponding addMemberToCard action. - t, _ := IDToTime(action.Data.Card.ID) - durs[action.Member.ID] = &MemberDuration{MemberID: action.Member.ID, MemberName: action.Member.FullName, lastAdded: t} - durs[action.Member.ID].removeAsOf(action.Date) - } - } else { - switch action.Type { - case "addMemberToCard": - durs[action.Member.ID].addAsOf(action.Date) - case "removeMemberFromCard": - durs[action.Member.ID].removeAsOf(action.Date) - } - } - } else if action.DidArchiveCard() { - for id, _ := range durs { - durs[id].stopTimerAsOf(action.Date) - } - } else if action.DidUnarchiveCard() { - for id, _ := range durs { - durs[id].startTimerAsOf(action.Date) - } - } - } - - durations = make([]*MemberDuration, 0, len(durs)) - for _, md := range durs { - durations = append(durations, md) - } - // sort.Sort(ByLongestDuration(durations)) - return durations, nil -} diff --git a/vendor/github.com/adlio/trello/member.go b/vendor/github.com/adlio/trello/member.go deleted file mode 100644 index 721d8746..00000000 --- a/vendor/github.com/adlio/trello/member.go +++ /dev/null @@ -1,56 +0,0 @@ -// Copyright © 2016 Aaron Longwell -// -// Use of this source code is governed by an MIT licese. -// Details in the LICENSE file. - -package trello - -import ( - "fmt" -) - -type Member struct { - client *Client - ID string `json:"id"` - Username string `json:"username"` - FullName string `json:"fullName"` - Initials string `json:"initials"` - AvatarHash string `json:"avatarHash"` - Email string `json:"email"` -} - -func (c *Client) GetMember(memberID string, args Arguments) (member *Member, err error) { - path := fmt.Sprintf("members/%s", memberID) - err = c.Get(path, args, &member) - if err == nil { - member.client = c - } - return -} - -func (o *Organization) GetMembers(args Arguments) (members []*Member, err error) { - path := fmt.Sprintf("organizations/%s/members", o.ID) - err = o.client.Get(path, args, &members) - for i := range members { - members[i].client = o.client - } - return -} - -func (b *Board) GetMembers(args Arguments) (members []*Member, err error) { - path := fmt.Sprintf("boards/%s/members", b.ID) - err = b.client.Get(path, args, &members) - for i := range members { - members[i].client = b.client - } - return -} - -func (c *Card) GetMembers(args Arguments) (members []*Member, err error) { - path := fmt.Sprintf("cards/%s/members", c.ID) - err = c.client.Get(path, args, &members) - for i := range members { - members[i].client = c.client - } - return -} diff --git a/vendor/github.com/adlio/trello/organization.go b/vendor/github.com/adlio/trello/organization.go deleted file mode 100644 index d873a22b..00000000 --- a/vendor/github.com/adlio/trello/organization.go +++ /dev/null @@ -1,31 +0,0 @@ -// Copyright © 2016 Aaron Longwell -// -// Use of this source code is governed by an MIT licese. -// Details in the LICENSE file. - -package trello - -import ( - "fmt" -) - -type Organization struct { - client *Client - ID string `json:"id"` - Name string `json:"name"` - DisplayName string `json:"displayName"` - Desc string `json:"desc"` - URL string `json:"url"` - Website string `json:"website"` - Products []string `json:"products"` - PowerUps []string `json:"powerUps"` -} - -func (c *Client) GetOrganization(orgID string, args Arguments) (organization *Organization, err error) { - path := fmt.Sprintf("organizations/%s", orgID) - err = c.Get(path, args, &organization) - if organization != nil { - organization.client = c - } - return -} diff --git a/vendor/github.com/adlio/trello/search.go b/vendor/github.com/adlio/trello/search.go deleted file mode 100644 index 5f04e415..00000000 --- a/vendor/github.com/adlio/trello/search.go +++ /dev/null @@ -1,57 +0,0 @@ -// Copyright © 2016 Aaron Longwell -// -// Use of this source code is governed by an MIT licese. -// Details in the LICENSE file. - -package trello - -type SearchResult struct { - Options SearchOptions `json:"options"` - Actions []*Action `json:"actions,omitempty"` - Cards []*Card `json:"cards,omitempty"` - Boards []*Board `json:"boards,omitempty"` - Members []*Member `json:"members,omitempty"` -} - -type SearchOptions struct { - Terms []SearchTerm `json:"terms"` - Modifiers []SearchModifier `json:"modifiers,omitempty"` - ModelTypes []string `json:"modelTypes,omitempty"` - Partial bool `json:"partial"` -} - -type SearchModifier struct { - Text string `json:"text"` -} - -type SearchTerm struct { - Text string `json:"text"` - Negated bool `json:"negated,omitempty"` -} - -func (c *Client) SearchCards(query string, args Arguments) (cards []*Card, err error) { - args["query"] = query - args["modelTypes"] = "cards" - res := SearchResult{} - err = c.Get("search", args, &res) - cards = res.Cards - return -} - -func (c *Client) SearchBoards(query string, args Arguments) (boards []*Board, err error) { - args["query"] = query - args["modelTypes"] = "boards" - res := SearchResult{} - err = c.Get("search", args, &res) - boards = res.Boards - for _, board := range boards { - board.client = c - } - return -} - -func (c *Client) SearchMembers(query string, args Arguments) (members []*Member, err error) { - args["query"] = query - err = c.Get("search/members", args, &members) - return -} diff --git a/vendor/github.com/adlio/trello/token.go b/vendor/github.com/adlio/trello/token.go deleted file mode 100644 index 49f4ce54..00000000 --- a/vendor/github.com/adlio/trello/token.go +++ /dev/null @@ -1,37 +0,0 @@ -// Copyright © 2016 Aaron Longwell -// -// Use of this source code is governed by an MIT licese. -// Details in the LICENSE file. - -package trello - -import ( - "fmt" - "time" -) - -type Token struct { - client *Client - ID string `json:"id"` - DateCreated time.Time `json:"dateCreated"` - DateExpires *time.Time `json:"dateExpires"` - IDMember string `json:"idMember"` - Identifier string `json:"identifier"` - Permissions []Permission `json:"permissions"` -} - -type Permission struct { - IDModel string `json:"idModel"` - ModelType string `json:"modelType"` - Read bool `json:"read"` - Write bool `json:"write"` -} - -func (c *Client) GetToken(tokenID string, args Arguments) (token *Token, err error) { - path := fmt.Sprintf("tokens/%s", tokenID) - err = c.Get(path, args, &token) - if token != nil { - token.client = c - } - return -} diff --git a/vendor/github.com/adlio/trello/trello-logo.png b/vendor/github.com/adlio/trello/trello-logo.png deleted file mode 100644 index 1aeeff35..00000000 Binary files a/vendor/github.com/adlio/trello/trello-logo.png and /dev/null differ diff --git a/vendor/github.com/adlio/trello/trello.go b/vendor/github.com/adlio/trello/trello.go deleted file mode 100644 index d07511d7..00000000 --- a/vendor/github.com/adlio/trello/trello.go +++ /dev/null @@ -1,27 +0,0 @@ -// Copyright © 2016 Aaron Longwell -// -// Use of this source code is governed by an MIT licese. -// Details in the LICENSE file. - -package trello - -import ( - "strconv" - "time" - - "github.com/pkg/errors" -) - -func IDToTime(id string) (t time.Time, err error) { - if id == "" { - return time.Time{}, nil - } - // The first 8 characters in the object ID are a Unix timestamp - ts, err := strconv.ParseUint(id[:8], 16, 64) - if err != nil { - err = errors.Wrapf(err, "ID '%s' failed to convert to timestamp.", id) - } else { - t = time.Unix(int64(ts), 0) - } - return -} diff --git a/vendor/github.com/adlio/trello/webhook.go b/vendor/github.com/adlio/trello/webhook.go deleted file mode 100644 index 4cf9d2b2..00000000 --- a/vendor/github.com/adlio/trello/webhook.go +++ /dev/null @@ -1,111 +0,0 @@ -// Copyright © 2016 Aaron Longwell -// -// Use of this source code is governed by an MIT licese. -// Details in the LICENSE file. - -package trello - -import ( - "encoding/json" - "fmt" - "net/http" - - "github.com/pkg/errors" -) - -// Webhook is the Go representation of a webhook registered in Trello's systems. -// Used when creating, modifying or deleting webhooks. -// -type Webhook struct { - client *Client - ID string `json:"id,omitempty"` - IDModel string `json:"idModel"` - Description string `json:"description"` - CallbackURL string `json:"callbackURL"` - Active bool `json:"active"` -} - -// BoardWebhookRequest is the object sent by Trello to a Webhook for Board-triggered -// webhooks. -// -type BoardWebhookRequest struct { - Model *Board - Action *Action -} - -// ListWebhookRequest is the object sent by Trello to a Webhook for List-triggered -// webhooks. -// -type ListWebhookRequest struct { - Model *List - Action *Action -} - -// CardWebhookRequest is the object sent by Trello to a Webhook for Card-triggered -// webhooks. -// -type CardWebhookRequest struct { - Model *Card - Action *Action -} - -func (c *Client) CreateWebhook(webhook *Webhook) error { - path := "webhooks" - args := Arguments{"idModel": webhook.IDModel, "description": webhook.Description, "callbackURL": webhook.CallbackURL} - err := c.Post(path, args, webhook) - if err == nil { - webhook.client = c - } - return err -} - -func (c *Client) GetWebhook(webhookID string, args Arguments) (webhook *Webhook, err error) { - path := fmt.Sprintf("webhooks/%s", webhookID) - err = c.Get(path, args, &webhook) - if webhook != nil { - webhook.client = c - } - return -} - -func (t *Token) GetWebhooks(args Arguments) (webhooks []*Webhook, err error) { - path := fmt.Sprintf("tokens/%s/webhooks", t.ID) - err = t.client.Get(path, args, &webhooks) - return -} - -func GetBoardWebhookRequest(r *http.Request) (whr *BoardWebhookRequest, err error) { - if r.Method == "HEAD" { - return &BoardWebhookRequest{}, nil - } - decoder := json.NewDecoder(r.Body) - err = decoder.Decode(&whr) - if err != nil { - err = errors.Wrapf(err, "GetBoardWebhookRequest() failed to decode '%s'.", r.URL) - } - return -} - -func GetListWebhookRequest(r *http.Request) (whr *ListWebhookRequest, err error) { - if r.Method == "HEAD" { - return &ListWebhookRequest{}, nil - } - decoder := json.NewDecoder(r.Body) - err = decoder.Decode(&whr) - if err != nil { - err = errors.Wrapf(err, "GetListWebhookRequest() failed to decode '%s'.", r.URL) - } - return -} - -func GetCardWebhookRequest(r *http.Request) (whr *CardWebhookRequest, err error) { - if r.Method == "HEAD" { - return &CardWebhookRequest{}, nil - } - decoder := json.NewDecoder(r.Body) - err = decoder.Decode(&whr) - if err != nil { - err = errors.Wrapf(err, "GetCardWebhookRequest() failed to decode '%s'.", r.URL) - } - return -} diff --git a/vendor/github.com/alecthomas/chroma/.gitignore b/vendor/github.com/alecthomas/chroma/.gitignore deleted file mode 100644 index 94dc6b97..00000000 --- a/vendor/github.com/alecthomas/chroma/.gitignore +++ /dev/null @@ -1,18 +0,0 @@ -# Binaries for programs and plugins -*.exe -*.dll -*.so -*.dylib -/cmd/chroma/chroma - -# Test binary, build with `go test -c` -*.test - -# Output of the go coverage tool, specifically when used with LiteIDE -*.out - -# Project-local glide cache, RE: https://github.com/Masterminds/glide/issues/736 -.glide/ - -_models/ - diff --git a/vendor/github.com/alecthomas/chroma/.goreleaser.yml b/vendor/github.com/alecthomas/chroma/.goreleaser.yml deleted file mode 100644 index e90c5113..00000000 --- a/vendor/github.com/alecthomas/chroma/.goreleaser.yml +++ /dev/null @@ -1,31 +0,0 @@ -project_name: chroma -release: - github: - owner: alecthomas - name: chroma -brew: - install: bin.install "chroma" -builds: -- goos: - - linux - - darwin - - windows - goarch: - - amd64 - - "386" - goarm: - - "6" - main: ./cmd/chroma/main.go - ldflags: -s -w -X main.version={{.Version}} -X main.commit={{.Commit}} -X main.date={{.Date}} - binary: chroma -archive: - format: tar.gz - name_template: '{{ .Binary }}-{{ .Version }}-{{ .Os }}-{{ .Arch }}{{ if .Arm }}v{{ - .Arm }}{{ end }}' - files: - - COPYING - - README* -snapshot: - name_template: SNAPSHOT-{{ .Commit }} -checksum: - name_template: '{{ .ProjectName }}-{{ .Version }}-checksums.txt' diff --git a/vendor/github.com/alecthomas/chroma/.travis.yml b/vendor/github.com/alecthomas/chroma/.travis.yml deleted file mode 100644 index 3e27eb3e..00000000 --- a/vendor/github.com/alecthomas/chroma/.travis.yml +++ /dev/null @@ -1,5 +0,0 @@ -sudo: false -language: go -after_success: - go get github.com/goreleaser/goreleaser && goreleaser - diff --git a/vendor/github.com/alecthomas/chroma/COPYING b/vendor/github.com/alecthomas/chroma/COPYING deleted file mode 100644 index 92dc39f7..00000000 --- a/vendor/github.com/alecthomas/chroma/COPYING +++ /dev/null @@ -1,19 +0,0 @@ -Copyright (C) 2017 Alec Thomas - -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies -of the Software, and to permit persons to whom the Software is furnished to do -so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/vendor/github.com/alecthomas/chroma/README.md b/vendor/github.com/alecthomas/chroma/README.md deleted file mode 100644 index b3327215..00000000 --- a/vendor/github.com/alecthomas/chroma/README.md +++ /dev/null @@ -1,235 +0,0 @@ -# Chroma - A general purpose syntax highlighter in pure Go [![](https://godoc.org/github.com/alecthomas/chroma?status.svg)](http://godoc.org/github.com/alecthomas/chroma) [![Build Status](https://travis-ci.org/alecthomas/chroma.png)](https://travis-ci.org/alecthomas/chroma) [![Gitter chat](https://badges.gitter.im/alecthomas.png)](https://gitter.im/alecthomas/Lobby) - -> **NOTE:** As Chroma has just been released, its API is still in flux. That said, the high-level interface should not change significantly. - -Chroma takes source code and other structured text and converts it into syntax -highlighted HTML, ANSI-coloured text, etc. - -Chroma is based heavily on [Pygments](http://pygments.org/), and includes -translators for Pygments lexers and styles. - -## Table of Contents - - - -1. [Supported languages](#supported-languages) -1. [Using the library](#using-the-library) - 1. [Quick start](#quick-start) - 1. [Identifying the language](#identifying-the-language) - 1. [Formatting the output](#formatting-the-output) - 1. [The HTML formatter](#the-html-formatter) -1. [More detail](#more-detail) - 1. [Lexers](#lexers) - 1. [Formatters](#formatters) - 1. [Styles](#styles) -1. [Command-line interface](#command-line-interface) -1. [What's missing compared to Pygments?](#whats-missing-compared-to-pygments) - - - -## Supported languages - -Prefix | Language -:----: | -------- -A | ABNF, ActionScript, ActionScript 3, Ada, Angular2, ANTLR, ApacheConf, APL, AppleScript, Awk -B | Ballerina, Base Makefile, Bash, Batchfile, BlitzBasic, BNF, Brainfuck -C | C, C#, C++, Cassandra CQL, CFEngine3, cfstatement/ColdFusion, CMake, COBOL, CSS, Cap'n Proto, Ceylon, ChaiScript, Cheetah, Clojure, CoffeeScript, Common Lisp, Coq, Crystal, Cython -D | Dart, Diff, Django/Jinja, Docker, DTD -E | EBNF, Elixir, Elm, EmacsLisp, Erlang -F | Factor, Fish, Forth, Fortran, FSharp -G | GAS, GDScript, GLSL, Genshi, Genshi HTML, Genshi Text, Gnuplot, Go, Go HTML Template, Go Text Template, Groovy -H | Handlebars, Haskell, Haxe, Hexdump, HTML, HTTP, Hy -I | Idris, INI, Io -J | Java, JavaScript, JSON, Jsx, Julia, Jungle -K | Kotlin -L | Lighttpd configuration file, LLVM, Lua -M | Mako, Markdown, Mason, Mathematica, MiniZinc, Modula-2, MonkeyC, MorrowindScript, Myghty, MySQL -N | NASM, Newspeak, Nginx configuration file, Nim, Nix -O | Objective-C, OCaml, Octave, OpenSCAD, Org Mode -P | PacmanConf, Perl, PHP, Pig, PkgConfig, Plaintext, PL/pgSQL, PostgreSQL SQL dialect, PostScript, POVRay, PowerShell, Prolog, Protocol Buffer, Puppet, Python, Python 3 -Q | QBasic -R | R, Racket, Ragel, reg, reStructuredText, Rexx, Ruby, Rust -S | Sass, Scala, Scheme, Scilab, SCSS, Smalltalk, Smarty, Snobol, Solidity, SPARQL, SQL, SquidConf, Swift, systemd, Systemverilog -T | TASM, Tcl, Tcsh, Termcap, Terminfo, Terraform, TeX, Thrift, TOML, TradingView, Transact-SQL, Turtle, Twig, TypeScript, TypoScript, TypoScriptCssData, TypoScriptHtmlData -V | verilog, VHDL, VimL -W | WDTE -X | XML, Xorg -Y | YAML - -_I will attempt to keep this section up to date, but an authoritative list can be -displayed with `chroma --list`._ - -## Using the library - -Chroma, like Pygments, has the concepts of -[lexers](https://github.com/alecthomas/chroma/tree/master/lexers), -[formatters](https://github.com/alecthomas/chroma/tree/master/formatters) and -[styles](https://github.com/alecthomas/chroma/tree/master/styles). - -Lexers convert source text into a stream of tokens, styles specify how token -types are mapped to colours, and formatters convert tokens and styles into -formatted output. - -A package exists for each of these, containing a global `Registry` variable -with all of the registered implementations. There are also helper functions -for using the registry in each package, such as looking up lexers by name or -matching filenames, etc. - -In all cases, if a lexer, formatter or style can not be determined, `nil` will -be returned. In this situation you may want to default to the `Fallback` -value in each respective package, which provides sane defaults. - -### Quick start - -A convenience function exists that can be used to simply format some source -text, without any effort: - -```go -err := quick.Highlight(os.Stdout, someSourceCode, "go", "html", "monokai") -``` - -### Identifying the language - -To highlight code, you'll first have to identify what language the code is -written in. There are three primary ways to do that: - -1. Detect the language from its filename. - - ```go - lexer := lexers.Match("foo.go") - ``` - -3. Explicitly specify the language by its Chroma syntax ID (a full list is available from `lexers.Names()`). - - ```go - lexer := lexers.Get("go") - ``` - -3. Detect the language from its content. - - ```go - lexer := lexers.Analyse("package main\n\nfunc main()\n{\n}\n") - ``` - -In all cases, `nil` will be returned if the language can not be identified. - -```go -if lexer == nil { - lexer = lexers.Fallback -} -``` - -At this point, it should be noted that some lexers can be extremely chatty. To -mitigate this, you can use the coalescing lexer to coalesce runs of identical -token types into a single token: - -```go -lexer = chroma.Coalesce(lexer) -``` - -### Formatting the output - -Once a language is identified you will need to pick a formatter and a style (theme). - -```go -style := styles.Get("swapoff") -if style == nil { - style = styles.Fallback -} -formatter := formatters.Get("html") -if formatter == nil { - formatter = formatters.Fallback -} -``` - -Then obtain an iterator over the tokens: - -```go -contents, err := ioutil.ReadAll(r) -iterator, err := lexer.Tokenise(nil, string(contents)) -``` - -And finally, format the tokens from the iterator: - -```go -err := formatter.Format(w, style, iterator) -``` - -### The HTML formatter - -By default the `html` registered formatter generates standalone HTML with -embedded CSS. More flexibility is available through the `formatters/html` package. - -Firstly, the output generated by the formatter can be customised with the -following constructor options: - -- `Standalone()` - generate standalone HTML with embedded CSS. -- `WithClasses()` - use classes rather than inlined style attributes. -- `ClassPrefix(prefix)` - prefix each generated CSS class. -- `TabWidth(width)` - Set the rendered tab width, in characters. -- `WithLineNumbers()` - Render line numbers (style with `LineNumbers`). -- `HighlightLines(ranges)` - Highlight lines in these ranges (style with `LineHighlight`). -- `LineNumbersInTable()` - Use a table for formatting line numbers and code, rather than spans. - -If `WithClasses()` is used, the corresponding CSS can be obtained from the formatter with: - -```go -formatter := html.New(html.WithClasses()) -err := formatter.WriteCSS(w, style) -``` - -## More detail - -### Lexers - -See the [Pygments documentation](http://pygments.org/docs/lexerdevelopment/) -for details on implementing lexers. Most concepts apply directly to Chroma, -but see existing lexer implementations for real examples. - -In many cases lexers can be automatically converted directly from Pygments by -using the included Python 3 script `pygments2chroma.py`. I use something like -the following: - -``` -python3 ~/Projects/chroma/_tools/pygments2chroma.py \ - pygments.lexers.jvm.KotlinLexer \ - > ~/Projects/chroma/lexers/kotlin.go \ - && gofmt -s -w ~/Projects/chroma/lexers/*.go -``` - -See notes in [pygments-lexers.go](https://github.com/alecthomas/chroma/blob/master/pygments-lexers.txt) -for a list of lexers, and notes on some of the issues importing them. - -### Formatters - -Chroma supports HTML output, as well as terminal output in 8 colour, 256 colour, and true-colour. - -A `noop` formatter is included that outputs the token text only, and a `tokens` -formatter outputs raw tokens. The latter is useful for debugging lexers. - -### Styles - -Chroma styles use the [same syntax](http://pygments.org/docs/styles/) as Pygments. - -All Pygments styles have been converted to Chroma using the `_tools/style.py` script. - -For a quick overview of the available styles and how they look, check out the [Chroma Style Gallery](https://xyproto.github.io/splash/docs/). - -## Command-line interface - -A command-line interface to Chroma is included. It can be installed with: - -``` -go get -u github.com/alecthomas/chroma/cmd/chroma -``` - -## What's missing compared to Pygments? - -- Quite a few lexers, for various reasons (pull-requests welcome): - - Pygments lexers for complex languages often include custom code to - handle certain aspects, such as Perl6's ability to nest code inside - regular expressions. These require time and effort to convert. - - I mostly only converted languages I had heard of, to reduce the porting cost. -- Some more esoteric features of Pygments are omitted for simplicity. -- Though the Chroma API supports content detection, very few languages support them. - I have plans to implement a statistical analyser at some point, but not enough time. diff --git a/vendor/github.com/alecthomas/chroma/coalesce.go b/vendor/github.com/alecthomas/chroma/coalesce.go deleted file mode 100644 index f5048951..00000000 --- a/vendor/github.com/alecthomas/chroma/coalesce.go +++ /dev/null @@ -1,35 +0,0 @@ -package chroma - -// Coalesce is a Lexer interceptor that collapses runs of common types into a single token. -func Coalesce(lexer Lexer) Lexer { return &coalescer{lexer} } - -type coalescer struct{ Lexer } - -func (d *coalescer) Tokenise(options *TokeniseOptions, text string) (Iterator, error) { - var prev Token - it, err := d.Lexer.Tokenise(options, text) - if err != nil { - return nil, err - } - return func() Token { - for token := it(); token != (EOF); token = it() { - if len(token.Value) == 0 { - continue - } - if prev == EOF { - prev = token - } else { - if prev.Type == token.Type && len(prev.Value) < 8192 { - prev.Value += token.Value - } else { - out := prev - prev = token - return out - } - } - } - out := prev - prev = EOF - return out - }, nil -} diff --git a/vendor/github.com/alecthomas/chroma/colour.go b/vendor/github.com/alecthomas/chroma/colour.go deleted file mode 100644 index b2417ff8..00000000 --- a/vendor/github.com/alecthomas/chroma/colour.go +++ /dev/null @@ -1,155 +0,0 @@ -package chroma - -import ( - "fmt" - "math" - "strconv" - "strings" -) - -// ANSI2RGB maps ANSI colour names, as supported by Chroma, to hex RGB values. -var ANSI2RGB = map[string]string{ - "#ansiblack": "000000", - "#ansidarkred": "7f0000", - "#ansidarkgreen": "007f00", - "#ansibrown": "7f7fe0", - "#ansidarkblue": "00007f", - "#ansipurple": "7f007f", - "#ansiteal": "007f7f", - "#ansilightgray": "e5e5e5", - // Normal - "#ansidarkgray": "555555", - "#ansired": "ff0000", - "#ansigreen": "00ff00", - "#ansiyellow": "ffff00", - "#ansiblue": "0000ff", - "#ansifuchsia": "ff00ff", - "#ansiturquoise": "00ffff", - "#ansiwhite": "ffffff", - - // Aliases without the "ansi" prefix, because...why? - "#black": "000000", - "#darkred": "7f0000", - "#darkgreen": "007f00", - "#brown": "7f7fe0", - "#darkblue": "00007f", - "#purple": "7f007f", - "#teal": "007f7f", - "#lightgray": "e5e5e5", - // Normal - "#darkgray": "555555", - "#red": "ff0000", - "#green": "00ff00", - "#yellow": "ffff00", - "#blue": "0000ff", - "#fuchsia": "ff00ff", - "#turquoise": "00ffff", - "#white": "ffffff", -} - -// Colour represents an RGB colour. -type Colour int32 - -// NewColour creates a Colour directly from RGB values. -func NewColour(r, g, b uint8) Colour { - return ParseColour(fmt.Sprintf("%02x%02x%02x", r, g, b)) -} - -// Distance between this colour and another. -// -// This uses the approach described here (https://www.compuphase.com/cmetric.htm). -// This is not as accurate as LAB, et. al. but is *vastly* simpler and sufficient for our needs. -func (c Colour) Distance(e2 Colour) float64 { - ar, ag, ab := int64(c.Red()), int64(c.Green()), int64(c.Blue()) - br, bg, bb := int64(e2.Red()), int64(e2.Green()), int64(e2.Blue()) - rmean := (ar + br) / 2 - r := ar - br - g := ag - bg - b := ab - bb - return math.Sqrt(float64((((512 + rmean) * r * r) >> 8) + 4*g*g + (((767 - rmean) * b * b) >> 8))) -} - -// Brighten returns a copy of this colour with its brightness adjusted. -// -// If factor is negative, the colour is darkened. -// -// Uses approach described here (http://www.pvladov.com/2012/09/make-color-lighter-or-darker.html). -func (c Colour) Brighten(factor float64) Colour { - r := float64(c.Red()) - g := float64(c.Green()) - b := float64(c.Blue()) - - if factor < 0 { - factor++ - r *= factor - g *= factor - b *= factor - } else { - r = (255-r)*factor + r - g = (255-g)*factor + g - b = (255-b)*factor + b - } - return NewColour(uint8(r), uint8(g), uint8(b)) -} - -// Brightness of the colour (roughly) in the range 0.0 to 1.0 -func (c Colour) Brightness() float64 { - return (float64(c.Red()) + float64(c.Green()) + float64(c.Blue())) / 255.0 / 3.0 -} - -// ParseColour in the forms #rgb, #rrggbb, #ansi, or #. -// Will return an "unset" colour if invalid. -func ParseColour(colour string) Colour { - colour = normaliseColour(colour) - n, err := strconv.ParseUint(colour, 16, 32) - if err != nil { - return 0 - } - return Colour(n + 1) -} - -// MustParseColour is like ParseColour except it panics if the colour is invalid. -// -// Will panic if colour is in an invalid format. -func MustParseColour(colour string) Colour { - parsed := ParseColour(colour) - if !parsed.IsSet() { - panic(fmt.Errorf("invalid colour %q", colour)) - } - return parsed -} - -func (c Colour) IsSet() bool { return c != 0 } - -func (c Colour) String() string { return fmt.Sprintf("#%06x", int(c-1)) } -func (c Colour) GoString() string { return fmt.Sprintf("Colour(0x%06x)", int(c-1)) } - -// Red component of colour. -func (c Colour) Red() uint8 { return uint8(((c - 1) >> 16) & 0xff) } - -// Green component of colour. -func (c Colour) Green() uint8 { return uint8(((c - 1) >> 8) & 0xff) } - -// Blue component of colour. -func (c Colour) Blue() uint8 { return uint8((c - 1) & 0xff) } - -// Colours is an orderable set of colours. -type Colours []Colour - -func (c Colours) Len() int { return len(c) } -func (c Colours) Swap(i, j int) { c[i], c[j] = c[j], c[i] } -func (c Colours) Less(i, j int) bool { return c[i] < c[j] } - -// Convert colours to #rrggbb. -func normaliseColour(colour string) string { - if ansi, ok := ANSI2RGB[colour]; ok { - return ansi - } - if strings.HasPrefix(colour, "#") { - colour = colour[1:] - if len(colour) == 3 { - return colour[0:1] + colour[0:1] + colour[1:2] + colour[1:2] + colour[2:3] + colour[2:3] - } - } - return colour -} diff --git a/vendor/github.com/alecthomas/chroma/delegate.go b/vendor/github.com/alecthomas/chroma/delegate.go deleted file mode 100644 index 021aeef5..00000000 --- a/vendor/github.com/alecthomas/chroma/delegate.go +++ /dev/null @@ -1,137 +0,0 @@ -package chroma - -import ( - "bytes" -) - -type delegatingLexer struct { - root Lexer - language Lexer -} - -// DelegatingLexer combines two lexers to handle the common case of a language embedded inside another, such as PHP -// inside HTML or PHP inside plain text. -// -// It takes two lexer as arguments: a root lexer and a language lexer. First everything is scanned using the language -// lexer, which must return "Other" for unrecognised tokens. Then all "Other" tokens are lexed using the root lexer. -// Finally, these two sets of tokens are merged. -// -// The lexers from the template lexer package use this base lexer. -func DelegatingLexer(root Lexer, language Lexer) Lexer { - return &delegatingLexer{ - root: root, - language: language, - } -} - -func (d *delegatingLexer) Config() *Config { - return d.language.Config() -} - -// An insertion is the character range where language tokens should be inserted. -type insertion struct { - start, end int - tokens []Token -} - -func (d *delegatingLexer) Tokenise(options *TokeniseOptions, text string) (Iterator, error) { - tokens, err := Tokenise(Coalesce(d.language), options, text) - if err != nil { - return nil, err - } - // Compute insertions and gather "Other" tokens. - others := &bytes.Buffer{} - insertions := []*insertion{} - var insert *insertion - offset := 0 - var last Token - for _, t := range tokens { - if t.Type == Other { - if last != EOF && insert != nil && last.Type != Other { - insert.end = offset - } - others.WriteString(t.Value) - } else { - if last == EOF || last.Type == Other { - insert = &insertion{start: offset} - insertions = append(insertions, insert) - } - insert.tokens = append(insert.tokens, t) - } - last = t - offset += len(t.Value) - } - - if len(insertions) == 0 { - return d.root.Tokenise(options, text) - } - - // Lex the other tokens. - rootTokens, err := Tokenise(Coalesce(d.root), options, others.String()) - if err != nil { - return nil, err - } - - // Interleave the two sets of tokens. - var out []Token - offset = 0 // Offset into text. - tokenIndex := 0 - nextToken := func() Token { - if tokenIndex >= len(rootTokens) { - return EOF - } - t := rootTokens[tokenIndex] - tokenIndex++ - return t - } - insertionIndex := 0 - nextInsertion := func() *insertion { - if insertionIndex >= len(insertions) { - return nil - } - i := insertions[insertionIndex] - insertionIndex++ - return i - } - t := nextToken() - i := nextInsertion() - for t != EOF || i != nil { - // fmt.Printf("%d->%d:%q %d->%d:%q\n", offset, offset+len(t.Value), t.Value, i.start, i.end, Stringify(i.tokens...)) - if t == EOF || (i != nil && i.start < offset+len(t.Value)) { - var l Token - l, t = splitToken(t, i.start-offset) - if l != EOF { - out = append(out, l) - offset += len(l.Value) - } - out = append(out, i.tokens...) - offset += i.end - i.start - if t == EOF { - t = nextToken() - } - i = nextInsertion() - } else { - out = append(out, t) - offset += len(t.Value) - t = nextToken() - } - } - return Literator(out...), nil -} - -func splitToken(t Token, offset int) (l Token, r Token) { - if t == EOF { - return EOF, EOF - } - if offset == 0 { - return EOF, t - } - if offset == len(t.Value) { - return t, EOF - } - l = t.Clone() - r = t.Clone() - l.Value = l.Value[:offset] - r.Value = r.Value[offset:] - return -} diff --git a/vendor/github.com/alecthomas/chroma/doc.go b/vendor/github.com/alecthomas/chroma/doc.go deleted file mode 100644 index 4dde77c8..00000000 --- a/vendor/github.com/alecthomas/chroma/doc.go +++ /dev/null @@ -1,7 +0,0 @@ -// Package chroma takes source code and other structured text and converts it into syntax highlighted HTML, ANSI- -// coloured text, etc. -// -// Chroma is based heavily on Pygments, and includes translators for Pygments lexers and styles. -// -// For more information, go here: https://github.com/alecthomas/chroma -package chroma diff --git a/vendor/github.com/alecthomas/chroma/formatter.go b/vendor/github.com/alecthomas/chroma/formatter.go deleted file mode 100644 index 56670241..00000000 --- a/vendor/github.com/alecthomas/chroma/formatter.go +++ /dev/null @@ -1,43 +0,0 @@ -package chroma - -import ( - "io" -) - -// A Formatter for Chroma lexers. -type Formatter interface { - // Format returns a formatting function for tokens. - // - // If the iterator panics, the Formatter should recover. - Format(w io.Writer, style *Style, iterator Iterator) error -} - -// A FormatterFunc is a Formatter implemented as a function. -// -// Guards against iterator panics. -type FormatterFunc func(w io.Writer, style *Style, iterator Iterator) error - -func (f FormatterFunc) Format(w io.Writer, s *Style, it Iterator) (err error) { - defer func() { - if perr := recover(); perr != nil { - err = perr.(error) - } - }() - return f(w, s, it) -} - -type recoveringFormatter struct { - Formatter -} - -func (r recoveringFormatter) Format(w io.Writer, s *Style, it Iterator) (err error) { - defer func() { - if perr := recover(); perr != nil { - err = perr.(error) - } - }() - return r.Formatter.Format(w, s, it) -} - -// RecoveringFormatter wraps a formatter with panic recovery. -func RecoveringFormatter(formatter Formatter) Formatter { return recoveringFormatter{formatter} } diff --git a/vendor/github.com/alecthomas/chroma/formatters/api.go b/vendor/github.com/alecthomas/chroma/formatters/api.go deleted file mode 100644 index c161fd45..00000000 --- a/vendor/github.com/alecthomas/chroma/formatters/api.go +++ /dev/null @@ -1,55 +0,0 @@ -package formatters - -import ( - "io" - "sort" - - "github.com/alecthomas/chroma" - "github.com/alecthomas/chroma/formatters/html" -) - -var ( - // NoOp formatter. - NoOp = Register("noop", chroma.FormatterFunc(func(w io.Writer, s *chroma.Style, iterator chroma.Iterator) error { - for t := iterator(); t != chroma.EOF; t = iterator() { - if _, err := io.WriteString(w, t.Value); err != nil { - return err - } - } - return nil - })) - // Default HTML formatter outputs self-contained HTML. - htmlFull = Register("html", html.New(html.Standalone(), html.WithClasses())) -) - -// Fallback formatter. -var Fallback = NoOp - -// Registry of Formatters. -var Registry = map[string]chroma.Formatter{} - -// Names of registered formatters. -func Names() []string { - out := []string{} - for name := range Registry { - out = append(out, name) - } - sort.Strings(out) - return out -} - -// Get formatter by name. -// -// If the given formatter is not found, the Fallback formatter will be returned. -func Get(name string) chroma.Formatter { - if f, ok := Registry[name]; ok { - return f - } - return Fallback -} - -// Register a named formatter. -func Register(name string, formatter chroma.Formatter) chroma.Formatter { - Registry[name] = formatter - return formatter -} diff --git a/vendor/github.com/alecthomas/chroma/formatters/html/html.go b/vendor/github.com/alecthomas/chroma/formatters/html/html.go deleted file mode 100644 index 1fbe0c8b..00000000 --- a/vendor/github.com/alecthomas/chroma/formatters/html/html.go +++ /dev/null @@ -1,392 +0,0 @@ -package html - -import ( - "fmt" - "html" - "io" - "sort" - "strings" - - "github.com/alecthomas/chroma" -) - -// Option sets an option of the HTML formatter. -type Option func(f *Formatter) - -// Standalone configures the HTML formatter for generating a standalone HTML document. -func Standalone() Option { return func(f *Formatter) { f.standalone = true } } - -// ClassPrefix sets the CSS class prefix. -func ClassPrefix(prefix string) Option { return func(f *Formatter) { f.prefix = prefix } } - -// WithClasses emits HTML using CSS classes, rather than inline styles. -func WithClasses() Option { return func(f *Formatter) { f.Classes = true } } - -// TabWidth sets the number of characters for a tab. Defaults to 8. -func TabWidth(width int) Option { return func(f *Formatter) { f.tabWidth = width } } - -// PreventSurroundingPre prevents the surrounding pre tags around the generated code -func PreventSurroundingPre() Option { return func(f *Formatter) { f.preventSurroundingPre = true } } - -// WithLineNumbers formats output with line numbers. -func WithLineNumbers() Option { - return func(f *Formatter) { - f.lineNumbers = true - } -} - -// LineNumbersInTable will, when combined with WithLineNumbers, separate the line numbers -// and code in table td's, which make them copy-and-paste friendly. -func LineNumbersInTable() Option { - return func(f *Formatter) { - f.lineNumbersInTable = true - } -} - -// HighlightLines higlights the given line ranges with the Highlight style. -// -// A range is the beginning and ending of a range as 1-based line numbers, inclusive. -func HighlightLines(ranges [][2]int) Option { - return func(f *Formatter) { - f.highlightRanges = ranges - sort.Sort(f.highlightRanges) - } -} - -// BaseLineNumber sets the initial number to start line numbering at. Defaults to 1. -func BaseLineNumber(n int) Option { - return func(f *Formatter) { - f.baseLineNumber = n - } -} - -// New HTML formatter. -func New(options ...Option) *Formatter { - f := &Formatter{ - baseLineNumber: 1, - } - for _, option := range options { - option(f) - } - return f -} - -// Formatter that generates HTML. -type Formatter struct { - standalone bool - prefix string - Classes bool // Exported field to detect when classes are being used - preventSurroundingPre bool - tabWidth int - lineNumbers bool - lineNumbersInTable bool - highlightRanges highlightRanges - baseLineNumber int -} - -type highlightRanges [][2]int - -func (h highlightRanges) Len() int { return len(h) } -func (h highlightRanges) Swap(i, j int) { h[i], h[j] = h[j], h[i] } -func (h highlightRanges) Less(i, j int) bool { return h[i][0] < h[j][0] } - -func (f *Formatter) Format(w io.Writer, style *chroma.Style, iterator chroma.Iterator) (err error) { - defer func() { - if perr := recover(); perr != nil { - err = perr.(error) - } - }() - return f.writeHTML(w, style, iterator.Tokens()) -} - -func brightenOrDarken(colour chroma.Colour, factor float64) chroma.Colour { - if colour.Brightness() < 0.5 { - return colour.Brighten(factor) - } - return colour.Brighten(-factor) -} - -// Ensure that style entries exist for highlighting, etc. -func (f *Formatter) restyle(style *chroma.Style) (*chroma.Style, error) { - builder := style.Builder() - bg := builder.Get(chroma.Background) - // If we don't have a line highlight colour, make one that is 10% brighter/darker than the background. - if !style.Has(chroma.LineHighlight) { - highlight := chroma.StyleEntry{Background: bg.Background} - highlight.Background = brightenOrDarken(highlight.Background, 0.1) - builder.AddEntry(chroma.LineHighlight, highlight) - } - // If we don't have line numbers, use the text colour but 20% brighter/darker - if !style.Has(chroma.LineNumbers) { - text := chroma.StyleEntry{Colour: bg.Colour} - text.Colour = brightenOrDarken(text.Colour, 0.5) - builder.AddEntry(chroma.LineNumbers, text) - builder.AddEntry(chroma.LineNumbersTable, text) - } - return builder.Build() -} - -// We deliberately don't use html/template here because it is two orders of magnitude slower (benchmarked). -// -// OTOH we need to be super careful about correct escaping... -func (f *Formatter) writeHTML(w io.Writer, style *chroma.Style, tokens []chroma.Token) (err error) { // nolint: gocyclo - style, err = f.restyle(style) - if err != nil { - return err - } - css := f.styleToCSS(style) - if !f.Classes { - for t, style := range css { - css[t] = compressStyle(style) - } - } - if f.standalone { - fmt.Fprint(w, "\n") - if f.Classes { - fmt.Fprint(w, "") - } - fmt.Fprintf(w, "\n", f.styleAttr(css, chroma.Background)) - } - - wrapInTable := f.lineNumbers && f.lineNumbersInTable - - lines := chroma.SplitTokensIntoLines(tokens) - lineDigits := len(fmt.Sprintf("%d", len(lines))) - highlightIndex := 0 - - if wrapInTable { - // List line numbers in its own - fmt.Fprintf(w, "\n", f.styleAttr(css, chroma.Background)) - fmt.Fprintf(w, "", f.styleAttr(css, chroma.LineTable)) - fmt.Fprintf(w, "\n", f.styleAttr(css, chroma.LineTableTD)) - if !f.preventSurroundingPre { - fmt.Fprintf(w, "", f.styleAttr(css, chroma.Background)) - } - for index := range lines { - line := f.baseLineNumber + index - highlight, next := f.shouldHighlight(highlightIndex, line) - if next { - highlightIndex++ - } - if highlight { - fmt.Fprintf(w, "", f.styleAttr(css, chroma.LineHighlight)) - } - - fmt.Fprintf(w, "%*d\n", f.styleAttr(css, chroma.LineNumbersTable), lineDigits, line) - - if highlight { - fmt.Fprintf(w, "") - } - } - if !f.preventSurroundingPre { - fmt.Fprint(w, "") - } - fmt.Fprint(w, "\n") - fmt.Fprintf(w, "\n", f.styleAttr(css, chroma.LineTableTD)) - } - - if !f.preventSurroundingPre { - fmt.Fprintf(w, "", f.styleAttr(css, chroma.Background)) - } - highlightIndex = 0 - for index, tokens := range lines { - // 1-based line number. - line := f.baseLineNumber + index - highlight, next := f.shouldHighlight(highlightIndex, line) - if next { - highlightIndex++ - } - if highlight { - fmt.Fprintf(w, "", f.styleAttr(css, chroma.LineHighlight)) - } - - if f.lineNumbers && !wrapInTable { - fmt.Fprintf(w, "%*d", f.styleAttr(css, chroma.LineNumbers), lineDigits, line) - } - - for _, token := range tokens { - html := html.EscapeString(token.String()) - attr := f.styleAttr(css, token.Type) - if attr != "" { - html = fmt.Sprintf("%s", attr, html) - } - fmt.Fprint(w, html) - } - if highlight { - fmt.Fprintf(w, "") - } - } - - if !f.preventSurroundingPre { - fmt.Fprint(w, "") - } - - if wrapInTable { - fmt.Fprint(w, "\n") - fmt.Fprint(w, "\n") - } - - if f.standalone { - fmt.Fprint(w, "\n\n") - fmt.Fprint(w, "\n") - } - - return nil -} - -func (f *Formatter) shouldHighlight(highlightIndex, line int) (bool, bool) { - next := false - for highlightIndex < len(f.highlightRanges) && line > f.highlightRanges[highlightIndex][1] { - highlightIndex++ - next = true - } - if highlightIndex < len(f.highlightRanges) { - hrange := f.highlightRanges[highlightIndex] - if line >= hrange[0] && line <= hrange[1] { - return true, next - } - } - return false, next -} - -func (f *Formatter) class(t chroma.TokenType) string { - for t != 0 { - if cls, ok := chroma.StandardTypes[t]; ok { - if cls != "" { - return f.prefix + cls - } - return "" - } - t = t.Parent() - } - if cls := chroma.StandardTypes[t]; cls != "" { - return f.prefix + cls - } - return "" -} - -func (f *Formatter) styleAttr(styles map[chroma.TokenType]string, tt chroma.TokenType) string { - if f.Classes { - cls := f.class(tt) - if cls == "" { - return "" - } - return string(fmt.Sprintf(` class="%s"`, cls)) - } - if _, ok := styles[tt]; !ok { - tt = tt.SubCategory() - if _, ok := styles[tt]; !ok { - tt = tt.Category() - if _, ok := styles[tt]; !ok { - return "" - } - } - } - return fmt.Sprintf(` style="%s"`, styles[tt]) -} - -func (f *Formatter) tabWidthStyle() string { - if f.tabWidth != 0 && f.tabWidth != 8 { - return fmt.Sprintf("; -moz-tab-size: %[1]d; -o-tab-size: %[1]d; tab-size: %[1]d", f.tabWidth) - } - return "" -} - -// WriteCSS writes CSS style definitions (without any surrounding HTML). -func (f *Formatter) WriteCSS(w io.Writer, style *chroma.Style) error { - css := f.styleToCSS(style) - // Special-case background as it is mapped to the outer ".chroma" class. - if _, err := fmt.Fprintf(w, "/* %s */ .%schroma { %s }\n", chroma.Background, f.prefix, css[chroma.Background]); err != nil { - return err - } - // Special-case code column of table to expand width. - if f.lineNumbers && f.lineNumbersInTable { - if _, err := fmt.Fprintf(w, "/* %s */ .%schroma .%s:last-child { width: 100%%; }", - chroma.LineTableTD, f.prefix, f.class(chroma.LineTableTD)); err != nil { - return err - } - } - tts := []int{} - for tt := range css { - tts = append(tts, int(tt)) - } - sort.Ints(tts) - for _, ti := range tts { - tt := chroma.TokenType(ti) - if tt == chroma.Background { - continue - } - styles := css[tt] - if _, err := fmt.Fprintf(w, "/* %s */ .%schroma .%s { %s }\n", tt, f.prefix, f.class(tt), styles); err != nil { - return err - } - } - return nil -} - -func (f *Formatter) styleToCSS(style *chroma.Style) map[chroma.TokenType]string { - classes := map[chroma.TokenType]string{} - bg := style.Get(chroma.Background) - // Convert the style. - for t := range chroma.StandardTypes { - entry := style.Get(t) - if t != chroma.Background { - entry = entry.Sub(bg) - } - if entry.IsZero() { - continue - } - classes[t] = StyleEntryToCSS(entry) - } - classes[chroma.Background] += f.tabWidthStyle() - lineNumbersStyle := "margin-right: 0.4em; padding: 0 0.4em 0 0.4em;" - // All rules begin with default rules followed by user provided rules - classes[chroma.LineNumbers] = lineNumbersStyle + classes[chroma.LineNumbers] - classes[chroma.LineNumbersTable] = lineNumbersStyle + classes[chroma.LineNumbersTable] - classes[chroma.LineHighlight] = "display: block; width: 100%;" + classes[chroma.LineHighlight] - classes[chroma.LineTable] = "border-spacing: 0; padding: 0; margin: 0; border: 0; width: auto; overflow: auto; display: block;" + classes[chroma.LineTable] - classes[chroma.LineTableTD] = "vertical-align: top; padding: 0; margin: 0; border: 0;" + classes[chroma.LineTableTD] - return classes -} - -// StyleEntryToCSS converts a chroma.StyleEntry to CSS attributes. -func StyleEntryToCSS(e chroma.StyleEntry) string { - styles := []string{} - if e.Colour.IsSet() { - styles = append(styles, "color: "+e.Colour.String()) - } - if e.Background.IsSet() { - styles = append(styles, "background-color: "+e.Background.String()) - } - if e.Bold == chroma.Yes { - styles = append(styles, "font-weight: bold") - } - if e.Italic == chroma.Yes { - styles = append(styles, "font-style: italic") - } - if e.Underline == chroma.Yes { - styles = append(styles, "text-decoration: underline") - } - return strings.Join(styles, "; ") -} - -// Compress CSS attributes - remove spaces, transform 6-digit colours to 3. -func compressStyle(s string) string { - parts := strings.Split(s, ";") - out := []string{} - for _, p := range parts { - p = strings.Join(strings.Fields(p), " ") - p = strings.Replace(p, ": ", ":", 1) - if strings.Contains(p, "#") { - c := p[len(p)-6:] - if c[0] == c[1] && c[2] == c[3] && c[4] == c[5] { - p = p[:len(p)-6] + c[0:1] + c[2:3] + c[4:5] - } - } - out = append(out, p) - } - return strings.Join(out, ";") -} diff --git a/vendor/github.com/alecthomas/chroma/formatters/json.go b/vendor/github.com/alecthomas/chroma/formatters/json.go deleted file mode 100644 index 95df4bb6..00000000 --- a/vendor/github.com/alecthomas/chroma/formatters/json.go +++ /dev/null @@ -1,31 +0,0 @@ -package formatters - -import ( - "encoding/json" - "fmt" - "io" - - "github.com/alecthomas/chroma" -) - -// JSON formatter outputs the raw token structures as JSON. -var JSON = Register("json", chroma.FormatterFunc(func(w io.Writer, s *chroma.Style, it chroma.Iterator) error { - fmt.Fprintln(w, "[") - i := 0 - for t := it(); t != chroma.EOF; t = it() { - if i > 0 { - fmt.Fprintln(w, ",") - } - i++ - bytes, err := json.Marshal(t) - if err != nil { - return err - } - if _, err := fmt.Fprint(w, " "+string(bytes)); err != nil { - return err - } - } - fmt.Fprintln(w) - fmt.Fprintln(w, "]") - return nil -})) diff --git a/vendor/github.com/alecthomas/chroma/formatters/tokens.go b/vendor/github.com/alecthomas/chroma/formatters/tokens.go deleted file mode 100644 index 91d80d14..00000000 --- a/vendor/github.com/alecthomas/chroma/formatters/tokens.go +++ /dev/null @@ -1,18 +0,0 @@ -package formatters - -import ( - "fmt" - "io" - - "github.com/alecthomas/chroma" -) - -// Tokens formatter outputs the raw token structures. -var Tokens = Register("tokens", chroma.FormatterFunc(func(w io.Writer, s *chroma.Style, it chroma.Iterator) error { - for t := it(); t != chroma.EOF; t = it() { - if _, err := fmt.Fprintln(w, t.GoString()); err != nil { - return err - } - } - return nil -})) diff --git a/vendor/github.com/alecthomas/chroma/formatters/tty_indexed.go b/vendor/github.com/alecthomas/chroma/formatters/tty_indexed.go deleted file mode 100644 index 4046e973..00000000 --- a/vendor/github.com/alecthomas/chroma/formatters/tty_indexed.go +++ /dev/null @@ -1,250 +0,0 @@ -package formatters - -import ( - "fmt" - "io" - "math" - - "github.com/alecthomas/chroma" -) - -type ttyTable struct { - foreground map[chroma.Colour]string - background map[chroma.Colour]string -} - -var c = chroma.MustParseColour - -var ttyTables = map[int]*ttyTable{ - 8: { - foreground: map[chroma.Colour]string{ - c("#000000"): "\033[30m", c("#7f0000"): "\033[31m", c("#007f00"): "\033[32m", c("#7f7fe0"): "\033[33m", - c("#00007f"): "\033[34m", c("#7f007f"): "\033[35m", c("#007f7f"): "\033[36m", c("#e5e5e5"): "\033[37m", - c("#555555"): "\033[90m", c("#ff0000"): "\033[91m", c("#00ff00"): "\033[92m", c("#ffff00"): "\033[93m", - c("#0000ff"): "\033[94m", c("#ff00ff"): "\033[95m", c("#00ffff"): "\033[96m", c("#ffffff"): "\033[97m", - }, - background: map[chroma.Colour]string{ - c("#000000"): "\033[40m", c("#7f0000"): "\033[41m", c("#007f00"): "\033[42m", c("#7f7fe0"): "\033[43m", - c("#00007f"): "\033[44m", c("#7f007f"): "\033[45m", c("#007f7f"): "\033[46m", c("#e5e5e5"): "\033[47m", - c("#555555"): "\033[100m", c("#ff0000"): "\033[101m", c("#00ff00"): "\033[102m", c("#ffff00"): "\033[103m", - c("#0000ff"): "\033[104m", c("#ff00ff"): "\033[105m", c("#00ffff"): "\033[106m", c("#ffffff"): "\033[107m", - }, - }, - 256: { - foreground: map[chroma.Colour]string{ - c("#000000"): "\033[38;5;0m", c("#800000"): "\033[38;5;1m", c("#008000"): "\033[38;5;2m", c("#808000"): "\033[38;5;3m", - c("#000080"): "\033[38;5;4m", c("#800080"): "\033[38;5;5m", c("#008080"): "\033[38;5;6m", c("#c0c0c0"): "\033[38;5;7m", - c("#808080"): "\033[38;5;8m", c("#ff0000"): "\033[38;5;9m", c("#00ff00"): "\033[38;5;10m", c("#ffff00"): "\033[38;5;11m", - c("#0000ff"): "\033[38;5;12m", c("#ff00ff"): "\033[38;5;13m", c("#00ffff"): "\033[38;5;14m", c("#ffffff"): "\033[38;5;15m", - c("#000000"): "\033[38;5;16m", c("#00005f"): "\033[38;5;17m", c("#000087"): "\033[38;5;18m", c("#0000af"): "\033[38;5;19m", - c("#0000d7"): "\033[38;5;20m", c("#0000ff"): "\033[38;5;21m", c("#005f00"): "\033[38;5;22m", c("#005f5f"): "\033[38;5;23m", - c("#005f87"): "\033[38;5;24m", c("#005faf"): "\033[38;5;25m", c("#005fd7"): "\033[38;5;26m", c("#005fff"): "\033[38;5;27m", - c("#008700"): "\033[38;5;28m", c("#00875f"): "\033[38;5;29m", c("#008787"): "\033[38;5;30m", c("#0087af"): "\033[38;5;31m", - c("#0087d7"): "\033[38;5;32m", c("#0087ff"): "\033[38;5;33m", c("#00af00"): "\033[38;5;34m", c("#00af5f"): "\033[38;5;35m", - c("#00af87"): "\033[38;5;36m", c("#00afaf"): "\033[38;5;37m", c("#00afd7"): "\033[38;5;38m", c("#00afff"): "\033[38;5;39m", - c("#00d700"): "\033[38;5;40m", c("#00d75f"): "\033[38;5;41m", c("#00d787"): "\033[38;5;42m", c("#00d7af"): "\033[38;5;43m", - c("#00d7d7"): "\033[38;5;44m", c("#00d7ff"): "\033[38;5;45m", c("#00ff00"): "\033[38;5;46m", c("#00ff5f"): "\033[38;5;47m", - c("#00ff87"): "\033[38;5;48m", c("#00ffaf"): "\033[38;5;49m", c("#00ffd7"): "\033[38;5;50m", c("#00ffff"): "\033[38;5;51m", - c("#5f0000"): "\033[38;5;52m", c("#5f005f"): "\033[38;5;53m", c("#5f0087"): "\033[38;5;54m", c("#5f00af"): "\033[38;5;55m", - c("#5f00d7"): "\033[38;5;56m", c("#5f00ff"): "\033[38;5;57m", c("#5f5f00"): "\033[38;5;58m", c("#5f5f5f"): "\033[38;5;59m", - c("#5f5f87"): "\033[38;5;60m", c("#5f5faf"): "\033[38;5;61m", c("#5f5fd7"): "\033[38;5;62m", c("#5f5fff"): "\033[38;5;63m", - c("#5f8700"): "\033[38;5;64m", c("#5f875f"): "\033[38;5;65m", c("#5f8787"): "\033[38;5;66m", c("#5f87af"): "\033[38;5;67m", - c("#5f87d7"): "\033[38;5;68m", c("#5f87ff"): "\033[38;5;69m", c("#5faf00"): "\033[38;5;70m", c("#5faf5f"): "\033[38;5;71m", - c("#5faf87"): "\033[38;5;72m", c("#5fafaf"): "\033[38;5;73m", c("#5fafd7"): "\033[38;5;74m", c("#5fafff"): "\033[38;5;75m", - c("#5fd700"): "\033[38;5;76m", c("#5fd75f"): "\033[38;5;77m", c("#5fd787"): "\033[38;5;78m", c("#5fd7af"): "\033[38;5;79m", - c("#5fd7d7"): "\033[38;5;80m", c("#5fd7ff"): "\033[38;5;81m", c("#5fff00"): "\033[38;5;82m", c("#5fff5f"): "\033[38;5;83m", - c("#5fff87"): "\033[38;5;84m", c("#5fffaf"): "\033[38;5;85m", c("#5fffd7"): "\033[38;5;86m", c("#5fffff"): "\033[38;5;87m", - c("#870000"): "\033[38;5;88m", c("#87005f"): "\033[38;5;89m", c("#870087"): "\033[38;5;90m", c("#8700af"): "\033[38;5;91m", - c("#8700d7"): "\033[38;5;92m", c("#8700ff"): "\033[38;5;93m", c("#875f00"): "\033[38;5;94m", c("#875f5f"): "\033[38;5;95m", - c("#875f87"): "\033[38;5;96m", c("#875faf"): "\033[38;5;97m", c("#875fd7"): "\033[38;5;98m", c("#875fff"): "\033[38;5;99m", - c("#878700"): "\033[38;5;100m", c("#87875f"): "\033[38;5;101m", c("#878787"): "\033[38;5;102m", c("#8787af"): "\033[38;5;103m", - c("#8787d7"): "\033[38;5;104m", c("#8787ff"): "\033[38;5;105m", c("#87af00"): "\033[38;5;106m", c("#87af5f"): "\033[38;5;107m", - c("#87af87"): "\033[38;5;108m", c("#87afaf"): "\033[38;5;109m", c("#87afd7"): "\033[38;5;110m", c("#87afff"): "\033[38;5;111m", - c("#87d700"): "\033[38;5;112m", c("#87d75f"): "\033[38;5;113m", c("#87d787"): "\033[38;5;114m", c("#87d7af"): "\033[38;5;115m", - c("#87d7d7"): "\033[38;5;116m", c("#87d7ff"): "\033[38;5;117m", c("#87ff00"): "\033[38;5;118m", c("#87ff5f"): "\033[38;5;119m", - c("#87ff87"): "\033[38;5;120m", c("#87ffaf"): "\033[38;5;121m", c("#87ffd7"): "\033[38;5;122m", c("#87ffff"): "\033[38;5;123m", - c("#af0000"): "\033[38;5;124m", c("#af005f"): "\033[38;5;125m", c("#af0087"): "\033[38;5;126m", c("#af00af"): "\033[38;5;127m", - c("#af00d7"): "\033[38;5;128m", c("#af00ff"): "\033[38;5;129m", c("#af5f00"): "\033[38;5;130m", c("#af5f5f"): "\033[38;5;131m", - c("#af5f87"): "\033[38;5;132m", c("#af5faf"): "\033[38;5;133m", c("#af5fd7"): "\033[38;5;134m", c("#af5fff"): "\033[38;5;135m", - c("#af8700"): "\033[38;5;136m", c("#af875f"): "\033[38;5;137m", c("#af8787"): "\033[38;5;138m", c("#af87af"): "\033[38;5;139m", - c("#af87d7"): "\033[38;5;140m", c("#af87ff"): "\033[38;5;141m", c("#afaf00"): "\033[38;5;142m", c("#afaf5f"): "\033[38;5;143m", - c("#afaf87"): "\033[38;5;144m", c("#afafaf"): "\033[38;5;145m", c("#afafd7"): "\033[38;5;146m", c("#afafff"): "\033[38;5;147m", - c("#afd700"): "\033[38;5;148m", c("#afd75f"): "\033[38;5;149m", c("#afd787"): "\033[38;5;150m", c("#afd7af"): "\033[38;5;151m", - c("#afd7d7"): "\033[38;5;152m", c("#afd7ff"): "\033[38;5;153m", c("#afff00"): "\033[38;5;154m", c("#afff5f"): "\033[38;5;155m", - c("#afff87"): "\033[38;5;156m", c("#afffaf"): "\033[38;5;157m", c("#afffd7"): "\033[38;5;158m", c("#afffff"): "\033[38;5;159m", - c("#d70000"): "\033[38;5;160m", c("#d7005f"): "\033[38;5;161m", c("#d70087"): "\033[38;5;162m", c("#d700af"): "\033[38;5;163m", - c("#d700d7"): "\033[38;5;164m", c("#d700ff"): "\033[38;5;165m", c("#d75f00"): "\033[38;5;166m", c("#d75f5f"): "\033[38;5;167m", - c("#d75f87"): "\033[38;5;168m", c("#d75faf"): "\033[38;5;169m", c("#d75fd7"): "\033[38;5;170m", c("#d75fff"): "\033[38;5;171m", - c("#d78700"): "\033[38;5;172m", c("#d7875f"): "\033[38;5;173m", c("#d78787"): "\033[38;5;174m", c("#d787af"): "\033[38;5;175m", - c("#d787d7"): "\033[38;5;176m", c("#d787ff"): "\033[38;5;177m", c("#d7af00"): "\033[38;5;178m", c("#d7af5f"): "\033[38;5;179m", - c("#d7af87"): "\033[38;5;180m", c("#d7afaf"): "\033[38;5;181m", c("#d7afd7"): "\033[38;5;182m", c("#d7afff"): "\033[38;5;183m", - c("#d7d700"): "\033[38;5;184m", c("#d7d75f"): "\033[38;5;185m", c("#d7d787"): "\033[38;5;186m", c("#d7d7af"): "\033[38;5;187m", - c("#d7d7d7"): "\033[38;5;188m", c("#d7d7ff"): "\033[38;5;189m", c("#d7ff00"): "\033[38;5;190m", c("#d7ff5f"): "\033[38;5;191m", - c("#d7ff87"): "\033[38;5;192m", c("#d7ffaf"): "\033[38;5;193m", c("#d7ffd7"): "\033[38;5;194m", c("#d7ffff"): "\033[38;5;195m", - c("#ff0000"): "\033[38;5;196m", c("#ff005f"): "\033[38;5;197m", c("#ff0087"): "\033[38;5;198m", c("#ff00af"): "\033[38;5;199m", - c("#ff00d7"): "\033[38;5;200m", c("#ff00ff"): "\033[38;5;201m", c("#ff5f00"): "\033[38;5;202m", c("#ff5f5f"): "\033[38;5;203m", - c("#ff5f87"): "\033[38;5;204m", c("#ff5faf"): "\033[38;5;205m", c("#ff5fd7"): "\033[38;5;206m", c("#ff5fff"): "\033[38;5;207m", - c("#ff8700"): "\033[38;5;208m", c("#ff875f"): "\033[38;5;209m", c("#ff8787"): "\033[38;5;210m", c("#ff87af"): "\033[38;5;211m", - c("#ff87d7"): "\033[38;5;212m", c("#ff87ff"): "\033[38;5;213m", c("#ffaf00"): "\033[38;5;214m", c("#ffaf5f"): "\033[38;5;215m", - c("#ffaf87"): "\033[38;5;216m", c("#ffafaf"): "\033[38;5;217m", c("#ffafd7"): "\033[38;5;218m", c("#ffafff"): "\033[38;5;219m", - c("#ffd700"): "\033[38;5;220m", c("#ffd75f"): "\033[38;5;221m", c("#ffd787"): "\033[38;5;222m", c("#ffd7af"): "\033[38;5;223m", - c("#ffd7d7"): "\033[38;5;224m", c("#ffd7ff"): "\033[38;5;225m", c("#ffff00"): "\033[38;5;226m", c("#ffff5f"): "\033[38;5;227m", - c("#ffff87"): "\033[38;5;228m", c("#ffffaf"): "\033[38;5;229m", c("#ffffd7"): "\033[38;5;230m", c("#ffffff"): "\033[38;5;231m", - c("#080808"): "\033[38;5;232m", c("#121212"): "\033[38;5;233m", c("#1c1c1c"): "\033[38;5;234m", c("#262626"): "\033[38;5;235m", - c("#303030"): "\033[38;5;236m", c("#3a3a3a"): "\033[38;5;237m", c("#444444"): "\033[38;5;238m", c("#4e4e4e"): "\033[38;5;239m", - c("#585858"): "\033[38;5;240m", c("#626262"): "\033[38;5;241m", c("#6c6c6c"): "\033[38;5;242m", c("#767676"): "\033[38;5;243m", - c("#808080"): "\033[38;5;244m", c("#8a8a8a"): "\033[38;5;245m", c("#949494"): "\033[38;5;246m", c("#9e9e9e"): "\033[38;5;247m", - c("#a8a8a8"): "\033[38;5;248m", c("#b2b2b2"): "\033[38;5;249m", c("#bcbcbc"): "\033[38;5;250m", c("#c6c6c6"): "\033[38;5;251m", - c("#d0d0d0"): "\033[38;5;252m", c("#dadada"): "\033[38;5;253m", c("#e4e4e4"): "\033[38;5;254m", c("#eeeeee"): "\033[38;5;255m", - }, - background: map[chroma.Colour]string{ - c("#000000"): "\033[48;5;0m", c("#800000"): "\033[48;5;1m", c("#008000"): "\033[48;5;2m", c("#808000"): "\033[48;5;3m", - c("#000080"): "\033[48;5;4m", c("#800080"): "\033[48;5;5m", c("#008080"): "\033[48;5;6m", c("#c0c0c0"): "\033[48;5;7m", - c("#808080"): "\033[48;5;8m", c("#ff0000"): "\033[48;5;9m", c("#00ff00"): "\033[48;5;10m", c("#ffff00"): "\033[48;5;11m", - c("#0000ff"): "\033[48;5;12m", c("#ff00ff"): "\033[48;5;13m", c("#00ffff"): "\033[48;5;14m", c("#ffffff"): "\033[48;5;15m", - c("#000000"): "\033[48;5;16m", c("#00005f"): "\033[48;5;17m", c("#000087"): "\033[48;5;18m", c("#0000af"): "\033[48;5;19m", - c("#0000d7"): "\033[48;5;20m", c("#0000ff"): "\033[48;5;21m", c("#005f00"): "\033[48;5;22m", c("#005f5f"): "\033[48;5;23m", - c("#005f87"): "\033[48;5;24m", c("#005faf"): "\033[48;5;25m", c("#005fd7"): "\033[48;5;26m", c("#005fff"): "\033[48;5;27m", - c("#008700"): "\033[48;5;28m", c("#00875f"): "\033[48;5;29m", c("#008787"): "\033[48;5;30m", c("#0087af"): "\033[48;5;31m", - c("#0087d7"): "\033[48;5;32m", c("#0087ff"): "\033[48;5;33m", c("#00af00"): "\033[48;5;34m", c("#00af5f"): "\033[48;5;35m", - c("#00af87"): "\033[48;5;36m", c("#00afaf"): "\033[48;5;37m", c("#00afd7"): "\033[48;5;38m", c("#00afff"): "\033[48;5;39m", - c("#00d700"): "\033[48;5;40m", c("#00d75f"): "\033[48;5;41m", c("#00d787"): "\033[48;5;42m", c("#00d7af"): "\033[48;5;43m", - c("#00d7d7"): "\033[48;5;44m", c("#00d7ff"): "\033[48;5;45m", c("#00ff00"): "\033[48;5;46m", c("#00ff5f"): "\033[48;5;47m", - c("#00ff87"): "\033[48;5;48m", c("#00ffaf"): "\033[48;5;49m", c("#00ffd7"): "\033[48;5;50m", c("#00ffff"): "\033[48;5;51m", - c("#5f0000"): "\033[48;5;52m", c("#5f005f"): "\033[48;5;53m", c("#5f0087"): "\033[48;5;54m", c("#5f00af"): "\033[48;5;55m", - c("#5f00d7"): "\033[48;5;56m", c("#5f00ff"): "\033[48;5;57m", c("#5f5f00"): "\033[48;5;58m", c("#5f5f5f"): "\033[48;5;59m", - c("#5f5f87"): "\033[48;5;60m", c("#5f5faf"): "\033[48;5;61m", c("#5f5fd7"): "\033[48;5;62m", c("#5f5fff"): "\033[48;5;63m", - c("#5f8700"): "\033[48;5;64m", c("#5f875f"): "\033[48;5;65m", c("#5f8787"): "\033[48;5;66m", c("#5f87af"): "\033[48;5;67m", - c("#5f87d7"): "\033[48;5;68m", c("#5f87ff"): "\033[48;5;69m", c("#5faf00"): "\033[48;5;70m", c("#5faf5f"): "\033[48;5;71m", - c("#5faf87"): "\033[48;5;72m", c("#5fafaf"): "\033[48;5;73m", c("#5fafd7"): "\033[48;5;74m", c("#5fafff"): "\033[48;5;75m", - c("#5fd700"): "\033[48;5;76m", c("#5fd75f"): "\033[48;5;77m", c("#5fd787"): "\033[48;5;78m", c("#5fd7af"): "\033[48;5;79m", - c("#5fd7d7"): "\033[48;5;80m", c("#5fd7ff"): "\033[48;5;81m", c("#5fff00"): "\033[48;5;82m", c("#5fff5f"): "\033[48;5;83m", - c("#5fff87"): "\033[48;5;84m", c("#5fffaf"): "\033[48;5;85m", c("#5fffd7"): "\033[48;5;86m", c("#5fffff"): "\033[48;5;87m", - c("#870000"): "\033[48;5;88m", c("#87005f"): "\033[48;5;89m", c("#870087"): "\033[48;5;90m", c("#8700af"): "\033[48;5;91m", - c("#8700d7"): "\033[48;5;92m", c("#8700ff"): "\033[48;5;93m", c("#875f00"): "\033[48;5;94m", c("#875f5f"): "\033[48;5;95m", - c("#875f87"): "\033[48;5;96m", c("#875faf"): "\033[48;5;97m", c("#875fd7"): "\033[48;5;98m", c("#875fff"): "\033[48;5;99m", - c("#878700"): "\033[48;5;100m", c("#87875f"): "\033[48;5;101m", c("#878787"): "\033[48;5;102m", c("#8787af"): "\033[48;5;103m", - c("#8787d7"): "\033[48;5;104m", c("#8787ff"): "\033[48;5;105m", c("#87af00"): "\033[48;5;106m", c("#87af5f"): "\033[48;5;107m", - c("#87af87"): "\033[48;5;108m", c("#87afaf"): "\033[48;5;109m", c("#87afd7"): "\033[48;5;110m", c("#87afff"): "\033[48;5;111m", - c("#87d700"): "\033[48;5;112m", c("#87d75f"): "\033[48;5;113m", c("#87d787"): "\033[48;5;114m", c("#87d7af"): "\033[48;5;115m", - c("#87d7d7"): "\033[48;5;116m", c("#87d7ff"): "\033[48;5;117m", c("#87ff00"): "\033[48;5;118m", c("#87ff5f"): "\033[48;5;119m", - c("#87ff87"): "\033[48;5;120m", c("#87ffaf"): "\033[48;5;121m", c("#87ffd7"): "\033[48;5;122m", c("#87ffff"): "\033[48;5;123m", - c("#af0000"): "\033[48;5;124m", c("#af005f"): "\033[48;5;125m", c("#af0087"): "\033[48;5;126m", c("#af00af"): "\033[48;5;127m", - c("#af00d7"): "\033[48;5;128m", c("#af00ff"): "\033[48;5;129m", c("#af5f00"): "\033[48;5;130m", c("#af5f5f"): "\033[48;5;131m", - c("#af5f87"): "\033[48;5;132m", c("#af5faf"): "\033[48;5;133m", c("#af5fd7"): "\033[48;5;134m", c("#af5fff"): "\033[48;5;135m", - c("#af8700"): "\033[48;5;136m", c("#af875f"): "\033[48;5;137m", c("#af8787"): "\033[48;5;138m", c("#af87af"): "\033[48;5;139m", - c("#af87d7"): "\033[48;5;140m", c("#af87ff"): "\033[48;5;141m", c("#afaf00"): "\033[48;5;142m", c("#afaf5f"): "\033[48;5;143m", - c("#afaf87"): "\033[48;5;144m", c("#afafaf"): "\033[48;5;145m", c("#afafd7"): "\033[48;5;146m", c("#afafff"): "\033[48;5;147m", - c("#afd700"): "\033[48;5;148m", c("#afd75f"): "\033[48;5;149m", c("#afd787"): "\033[48;5;150m", c("#afd7af"): "\033[48;5;151m", - c("#afd7d7"): "\033[48;5;152m", c("#afd7ff"): "\033[48;5;153m", c("#afff00"): "\033[48;5;154m", c("#afff5f"): "\033[48;5;155m", - c("#afff87"): "\033[48;5;156m", c("#afffaf"): "\033[48;5;157m", c("#afffd7"): "\033[48;5;158m", c("#afffff"): "\033[48;5;159m", - c("#d70000"): "\033[48;5;160m", c("#d7005f"): "\033[48;5;161m", c("#d70087"): "\033[48;5;162m", c("#d700af"): "\033[48;5;163m", - c("#d700d7"): "\033[48;5;164m", c("#d700ff"): "\033[48;5;165m", c("#d75f00"): "\033[48;5;166m", c("#d75f5f"): "\033[48;5;167m", - c("#d75f87"): "\033[48;5;168m", c("#d75faf"): "\033[48;5;169m", c("#d75fd7"): "\033[48;5;170m", c("#d75fff"): "\033[48;5;171m", - c("#d78700"): "\033[48;5;172m", c("#d7875f"): "\033[48;5;173m", c("#d78787"): "\033[48;5;174m", c("#d787af"): "\033[48;5;175m", - c("#d787d7"): "\033[48;5;176m", c("#d787ff"): "\033[48;5;177m", c("#d7af00"): "\033[48;5;178m", c("#d7af5f"): "\033[48;5;179m", - c("#d7af87"): "\033[48;5;180m", c("#d7afaf"): "\033[48;5;181m", c("#d7afd7"): "\033[48;5;182m", c("#d7afff"): "\033[48;5;183m", - c("#d7d700"): "\033[48;5;184m", c("#d7d75f"): "\033[48;5;185m", c("#d7d787"): "\033[48;5;186m", c("#d7d7af"): "\033[48;5;187m", - c("#d7d7d7"): "\033[48;5;188m", c("#d7d7ff"): "\033[48;5;189m", c("#d7ff00"): "\033[48;5;190m", c("#d7ff5f"): "\033[48;5;191m", - c("#d7ff87"): "\033[48;5;192m", c("#d7ffaf"): "\033[48;5;193m", c("#d7ffd7"): "\033[48;5;194m", c("#d7ffff"): "\033[48;5;195m", - c("#ff0000"): "\033[48;5;196m", c("#ff005f"): "\033[48;5;197m", c("#ff0087"): "\033[48;5;198m", c("#ff00af"): "\033[48;5;199m", - c("#ff00d7"): "\033[48;5;200m", c("#ff00ff"): "\033[48;5;201m", c("#ff5f00"): "\033[48;5;202m", c("#ff5f5f"): "\033[48;5;203m", - c("#ff5f87"): "\033[48;5;204m", c("#ff5faf"): "\033[48;5;205m", c("#ff5fd7"): "\033[48;5;206m", c("#ff5fff"): "\033[48;5;207m", - c("#ff8700"): "\033[48;5;208m", c("#ff875f"): "\033[48;5;209m", c("#ff8787"): "\033[48;5;210m", c("#ff87af"): "\033[48;5;211m", - c("#ff87d7"): "\033[48;5;212m", c("#ff87ff"): "\033[48;5;213m", c("#ffaf00"): "\033[48;5;214m", c("#ffaf5f"): "\033[48;5;215m", - c("#ffaf87"): "\033[48;5;216m", c("#ffafaf"): "\033[48;5;217m", c("#ffafd7"): "\033[48;5;218m", c("#ffafff"): "\033[48;5;219m", - c("#ffd700"): "\033[48;5;220m", c("#ffd75f"): "\033[48;5;221m", c("#ffd787"): "\033[48;5;222m", c("#ffd7af"): "\033[48;5;223m", - c("#ffd7d7"): "\033[48;5;224m", c("#ffd7ff"): "\033[48;5;225m", c("#ffff00"): "\033[48;5;226m", c("#ffff5f"): "\033[48;5;227m", - c("#ffff87"): "\033[48;5;228m", c("#ffffaf"): "\033[48;5;229m", c("#ffffd7"): "\033[48;5;230m", c("#ffffff"): "\033[48;5;231m", - c("#080808"): "\033[48;5;232m", c("#121212"): "\033[48;5;233m", c("#1c1c1c"): "\033[48;5;234m", c("#262626"): "\033[48;5;235m", - c("#303030"): "\033[48;5;236m", c("#3a3a3a"): "\033[48;5;237m", c("#444444"): "\033[48;5;238m", c("#4e4e4e"): "\033[48;5;239m", - c("#585858"): "\033[48;5;240m", c("#626262"): "\033[48;5;241m", c("#6c6c6c"): "\033[48;5;242m", c("#767676"): "\033[48;5;243m", - c("#808080"): "\033[48;5;244m", c("#8a8a8a"): "\033[48;5;245m", c("#949494"): "\033[48;5;246m", c("#9e9e9e"): "\033[48;5;247m", - c("#a8a8a8"): "\033[48;5;248m", c("#b2b2b2"): "\033[48;5;249m", c("#bcbcbc"): "\033[48;5;250m", c("#c6c6c6"): "\033[48;5;251m", - c("#d0d0d0"): "\033[48;5;252m", c("#dadada"): "\033[48;5;253m", c("#e4e4e4"): "\033[48;5;254m", c("#eeeeee"): "\033[48;5;255m", - }, - }, -} - -func entryToEscapeSequence(table *ttyTable, entry chroma.StyleEntry) string { - out := "" - if entry.Bold == chroma.Yes { - out += "\033[1m" - } - if entry.Underline == chroma.Yes { - out += "\033[4m" - } - if entry.Colour.IsSet() { - out += table.foreground[findClosest(table, entry.Colour)] - } - if entry.Background.IsSet() { - out += table.background[findClosest(table, entry.Background)] - } - return out -} - -func findClosest(table *ttyTable, seeking chroma.Colour) chroma.Colour { - closestColour := chroma.Colour(0) - closest := float64(math.MaxFloat64) - for colour := range table.foreground { - distance := colour.Distance(seeking) - if distance < closest { - closest = distance - closestColour = colour - } - } - return closestColour -} - -func styleToEscapeSequence(table *ttyTable, style *chroma.Style) map[chroma.TokenType]string { - out := map[chroma.TokenType]string{} - for _, ttype := range style.Types() { - entry := style.Get(ttype) - out[ttype] = entryToEscapeSequence(table, entry) - } - return out -} - -type indexedTTYFormatter struct { - table *ttyTable -} - -func (c *indexedTTYFormatter) Format(w io.Writer, style *chroma.Style, it chroma.Iterator) (err error) { - defer func() { - if perr := recover(); perr != nil { - err = perr.(error) - } - }() - theme := styleToEscapeSequence(c.table, style) - for token := it(); token != chroma.EOF; token = it() { - // TODO: Cache token lookups? - clr, ok := theme[token.Type] - if !ok { - clr, ok = theme[token.Type.SubCategory()] - if !ok { - clr = theme[token.Type.Category()] - // if !ok { - // clr = theme[chroma.InheritStyle] - // } - } - } - if clr != "" { - fmt.Fprint(w, clr) - } - fmt.Fprint(w, token.Value) - if clr != "" { - fmt.Fprintf(w, "\033[0m") - } - } - return nil -} - -// TTY8 is an 8-colour terminal formatter. -// -// The Lab colour space is used to map RGB values to the most appropriate index colour. -var TTY8 = Register("terminal", &indexedTTYFormatter{ttyTables[8]}) - -// TTY256 is a 256-colour terminal formatter. -// -// The Lab colour space is used to map RGB values to the most appropriate index colour. -var TTY256 = Register("terminal256", &indexedTTYFormatter{ttyTables[256]}) diff --git a/vendor/github.com/alecthomas/chroma/formatters/tty_truecolour.go b/vendor/github.com/alecthomas/chroma/formatters/tty_truecolour.go deleted file mode 100644 index 723b5de5..00000000 --- a/vendor/github.com/alecthomas/chroma/formatters/tty_truecolour.go +++ /dev/null @@ -1,38 +0,0 @@ -package formatters - -import ( - "fmt" - "io" - - "github.com/alecthomas/chroma" -) - -// TTY16m is a true-colour terminal formatter. -var TTY16m = Register("terminal16m", chroma.FormatterFunc(trueColourFormatter)) - -func trueColourFormatter(w io.Writer, style *chroma.Style, it chroma.Iterator) error { - for token := it(); token != chroma.EOF; token = it() { - entry := style.Get(token.Type) - if !entry.IsZero() { - out := "" - if entry.Bold == chroma.Yes { - out += "\033[1m" - } - if entry.Underline == chroma.Yes { - out += "\033[4m" - } - if entry.Colour.IsSet() { - out += fmt.Sprintf("\033[38;2;%d;%d;%dm", entry.Colour.Red(), entry.Colour.Green(), entry.Colour.Blue()) - } - if entry.Background.IsSet() { - out += fmt.Sprintf("\033[48;2;%d;%d;%dm", entry.Background.Red(), entry.Background.Green(), entry.Background.Blue()) - } - fmt.Fprint(w, out) - } - fmt.Fprint(w, token.Value) - if !entry.IsZero() { - fmt.Fprint(w, "\033[0m") - } - } - return nil -} diff --git a/vendor/github.com/alecthomas/chroma/go.mod b/vendor/github.com/alecthomas/chroma/go.mod deleted file mode 100644 index 9d0aa86d..00000000 --- a/vendor/github.com/alecthomas/chroma/go.mod +++ /dev/null @@ -1,14 +0,0 @@ -module github.com/alecthomas/chroma - -require ( - github.com/alecthomas/assert v0.0.0-20170929043011-405dbfeb8e38 - github.com/alecthomas/colour v0.0.0-20160524082231-60882d9e2721 // indirect - github.com/alecthomas/kong v0.1.15 - github.com/alecthomas/repr v0.0.0-20180818092828-117648cd9897 // indirect - github.com/danwakefield/fnmatch v0.0.0-20160403171240-cbb64ac3d964 - github.com/dlclark/regexp2 v1.1.6 - github.com/mattn/go-colorable v0.0.9 - github.com/mattn/go-isatty v0.0.4 - github.com/sergi/go-diff v1.0.0 // indirect - golang.org/x/sys v0.0.0-20181128092732-4ed8d59d0b35 // indirect -) diff --git a/vendor/github.com/alecthomas/chroma/go.sum b/vendor/github.com/alecthomas/chroma/go.sum deleted file mode 100644 index 27210bbb..00000000 --- a/vendor/github.com/alecthomas/chroma/go.sum +++ /dev/null @@ -1,26 +0,0 @@ -github.com/alecthomas/assert v0.0.0-20170929043011-405dbfeb8e38 h1:smF2tmSOzy2Mm+0dGI2AIUHY+w0BUc+4tn40djz7+6U= -github.com/alecthomas/assert v0.0.0-20170929043011-405dbfeb8e38/go.mod h1:r7bzyVFMNntcxPZXK3/+KdruV1H5KSlyVY0gc+NgInI= -github.com/alecthomas/colour v0.0.0-20160524082231-60882d9e2721 h1:JHZL0hZKJ1VENNfmXvHbgYlbUOvpzYzvy2aZU5gXVeo= -github.com/alecthomas/colour v0.0.0-20160524082231-60882d9e2721/go.mod h1:QO9JBoKquHd+jz9nshCh40fOfO+JzsoXy8qTHF68zU0= -github.com/alecthomas/kong v0.1.15 h1:IWBg+KrLvoHBicD50OzMI8fKjrtAa1okMR9g38HVM/s= -github.com/alecthomas/kong v0.1.15/go.mod h1:0m2VYms8rH0qbCqVB2gvGHk74bqLIq0HXjCs5bNbNQU= -github.com/alecthomas/repr v0.0.0-20180818092828-117648cd9897 h1:p9Sln00KOTlrYkxI1zYWl1QLnEqAqEARBEYa8FQnQcY= -github.com/alecthomas/repr v0.0.0-20180818092828-117648cd9897/go.mod h1:xTS7Pm1pD1mvyM075QCDSRqH6qRLXylzS24ZTpRiSzQ= -github.com/danwakefield/fnmatch v0.0.0-20160403171240-cbb64ac3d964 h1:y5HC9v93H5EPKqaS1UYVg1uYah5Xf51mBfIoWehClUQ= -github.com/danwakefield/fnmatch v0.0.0-20160403171240-cbb64ac3d964/go.mod h1:Xd9hchkHSWYkEqJwUGisez3G1QY8Ryz0sdWrLPMGjLk= -github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= -github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/dlclark/regexp2 v1.1.6 h1:CqB4MjHw0MFCDj+PHHjiESmHX+N7t0tJzKvC6M97BRg= -github.com/dlclark/regexp2 v1.1.6/go.mod h1:2pZnwuY/m+8K6iRw6wQdMtk+rH5tNGR1i55kozfMjCc= -github.com/mattn/go-colorable v0.0.9 h1:UVL0vNpWh04HeJXV0KLcaT7r06gOH2l4OW6ddYRUIY4= -github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU= -github.com/mattn/go-isatty v0.0.4 h1:bnP0vzxcAdeI1zdubAl5PjU6zsERjGZb7raWodagDYs= -github.com/mattn/go-isatty v0.0.4/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= -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/sergi/go-diff v1.0.0 h1:Kpca3qRNrduNnOQeazBd0ysaKrUJiIuISHxogkT9RPQ= -github.com/sergi/go-diff v1.0.0/go.mod h1:0CfEIISq7TuYL3j771MWULgwwjU+GofnZX9QAmXWZgo= -github.com/stretchr/testify v1.2.2 h1:bSDNvY7ZPG5RlJ8otE/7V6gMiyenm9RtJ7IUVIAoJ1w= -github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= -golang.org/x/sys v0.0.0-20181128092732-4ed8d59d0b35 h1:YAFjXN64LMvktoUZH9zgY4lGc/msGN7HQfoSuKCgaDU= -golang.org/x/sys v0.0.0-20181128092732-4ed8d59d0b35/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= diff --git a/vendor/github.com/alecthomas/chroma/iterator.go b/vendor/github.com/alecthomas/chroma/iterator.go deleted file mode 100644 index 814b1f4b..00000000 --- a/vendor/github.com/alecthomas/chroma/iterator.go +++ /dev/null @@ -1,75 +0,0 @@ -package chroma - -import "strings" - -// An Iterator across tokens. -// -// nil will be returned at the end of the Token stream. -// -// If an error occurs within an Iterator, it may propagate this in a panic. Formatters should recover. -type Iterator func() Token - -// Tokens consumes all tokens from the iterator and returns them as a slice. -func (i Iterator) Tokens() []Token { - var out []Token - for t := i(); t != EOF; t = i() { - out = append(out, t) - } - return out -} - -// Concaterator concatenates tokens from a series of iterators. -func Concaterator(iterators ...Iterator) Iterator { - return func() Token { - for len(iterators) > 0 { - t := iterators[0]() - if t != EOF { - return t - } - iterators = iterators[1:] - } - return EOF - } -} - -// Literator converts a sequence of literal Tokens into an Iterator. -func Literator(tokens ...Token) Iterator { - return func() Token { - if len(tokens) == 0 { - return EOF - } - token := tokens[0] - tokens = tokens[1:] - return token - } -} - -func SplitTokensIntoLines(tokens []Token) (out [][]Token) { - var line []Token - for _, token := range tokens { - for strings.Contains(token.Value, "\n") { - parts := strings.SplitAfterN(token.Value, "\n", 2) - // Token becomes the tail. - token.Value = parts[1] - - // Append the head to the line and flush the line. - clone := token.Clone() - clone.Value = parts[0] - line = append(line, clone) - out = append(out, line) - line = nil - } - line = append(line, token) - } - if len(line) > 0 { - out = append(out, line) - } - // Strip empty trailing token line. - if len(out) > 0 { - last := out[len(out)-1] - if len(last) == 1 && last[0].Value == "" { - out = out[:len(out)-1] - } - } - return -} diff --git a/vendor/github.com/alecthomas/chroma/lexer.go b/vendor/github.com/alecthomas/chroma/lexer.go deleted file mode 100644 index cc461fad..00000000 --- a/vendor/github.com/alecthomas/chroma/lexer.go +++ /dev/null @@ -1,117 +0,0 @@ -package chroma - -import ( - "fmt" -) - -var ( - defaultOptions = &TokeniseOptions{ - State: "root", - } -) - -// Config for a lexer. -type Config struct { - // Name of the lexer. - Name string - - // Shortcuts for the lexer - Aliases []string - - // File name globs - Filenames []string - - // Secondary file name globs - AliasFilenames []string - - // MIME types - MimeTypes []string - - // Regex matching is case-insensitive. - CaseInsensitive bool - - // Regex matches all characters. - DotAll bool - - // Regex does not match across lines ($ matches EOL). - // - // Defaults to multiline. - NotMultiline bool - - // Don't strip leading and trailing newlines from the input. - // DontStripNL bool - - // Strip all leading and trailing whitespace from the input - // StripAll bool - - // Make sure that the input ends with a newline. This - // is required for some lexers that consume input linewise. - EnsureNL bool - - // If given and greater than 0, expand tabs in the input. - // TabSize int - - // Priority of lexer. - // - // If this is 0 it will be treated as a default of 1. - Priority float32 -} - -// Token output to formatter. -type Token struct { - Type TokenType `json:"type"` - Value string `json:"value"` -} - -func (t *Token) String() string { return t.Value } -func (t *Token) GoString() string { return fmt.Sprintf("&Token{%s, %q}", t.Type, t.Value) } - -func (t *Token) Clone() Token { - return *t -} - -var EOF Token - -type TokeniseOptions struct { - // State to start tokenisation in. Defaults to "root". - State string - // Nested tokenisation. - Nested bool -} - -// A Lexer for tokenising source code. -type Lexer interface { - // Config describing the features of the Lexer. - Config() *Config - // Tokenise returns an Iterator over tokens in text. - Tokenise(options *TokeniseOptions, text string) (Iterator, error) -} - -// Lexers is a slice of lexers sortable by name. -type Lexers []Lexer - -func (l Lexers) Len() int { return len(l) } -func (l Lexers) Swap(i, j int) { l[i], l[j] = l[j], l[i] } -func (l Lexers) Less(i, j int) bool { return l[i].Config().Name < l[j].Config().Name } - -// PrioritisedLexers is a slice of lexers sortable by priority. -type PrioritisedLexers []Lexer - -func (l PrioritisedLexers) Len() int { return len(l) } -func (l PrioritisedLexers) Swap(i, j int) { l[i], l[j] = l[j], l[i] } -func (l PrioritisedLexers) Less(i, j int) bool { - ip := l[i].Config().Priority - if ip == 0 { - ip = 1 - } - jp := l[j].Config().Priority - if jp == 0 { - jp = 1 - } - return ip > jp -} - -// Analyser determines how appropriate this lexer is for the given text. -type Analyser interface { - AnalyseText(text string) float32 -} diff --git a/vendor/github.com/alecthomas/chroma/lexers/a/abnf.go b/vendor/github.com/alecthomas/chroma/lexers/a/abnf.go deleted file mode 100644 index ff29aed2..00000000 --- a/vendor/github.com/alecthomas/chroma/lexers/a/abnf.go +++ /dev/null @@ -1,38 +0,0 @@ -package a - -import ( - . "github.com/alecthomas/chroma" // nolint - "github.com/alecthomas/chroma/lexers/internal" -) - -// Abnf lexer. -var Abnf = internal.Register(MustNewLexer( - &Config{ - Name: "ABNF", - Aliases: []string{"abnf"}, - Filenames: []string{"*.abnf"}, - MimeTypes: []string{"text/x-abnf"}, - }, - Rules{ - "root": { - {`;.*$`, CommentSingle, nil}, - {`(%[si])?"[^"]*"`, Literal, nil}, - {`%b[01]+\-[01]+\b`, Literal, nil}, - {`%b[01]+(\.[01]+)*\b`, Literal, nil}, - {`%d[0-9]+\-[0-9]+\b`, Literal, nil}, - {`%d[0-9]+(\.[0-9]+)*\b`, Literal, nil}, - {`%x[0-9a-fA-F]+\-[0-9a-fA-F]+\b`, Literal, nil}, - {`%x[0-9a-fA-F]+(\.[0-9a-fA-F]+)*\b`, Literal, nil}, - {`\b[0-9]+\*[0-9]+`, Operator, nil}, - {`\b[0-9]+\*`, Operator, nil}, - {`\b[0-9]+`, Operator, nil}, - {`\*`, Operator, nil}, - {Words(``, `\b`, `ALPHA`, `BIT`, `CHAR`, `CR`, `CRLF`, `CTL`, `DIGIT`, `DQUOTE`, `HEXDIG`, `HTAB`, `LF`, `LWSP`, `OCTET`, `SP`, `VCHAR`, `WSP`), Keyword, nil}, - {`[a-zA-Z][a-zA-Z0-9-]+\b`, NameClass, nil}, - {`(=/|=|/)`, Operator, nil}, - {`[\[\]()]`, Punctuation, nil}, - {`\s+`, Text, nil}, - {`.`, Text, nil}, - }, - }, -)) diff --git a/vendor/github.com/alecthomas/chroma/lexers/a/actionscript.go b/vendor/github.com/alecthomas/chroma/lexers/a/actionscript.go deleted file mode 100644 index 43d38521..00000000 --- a/vendor/github.com/alecthomas/chroma/lexers/a/actionscript.go +++ /dev/null @@ -1,39 +0,0 @@ -package a - -import ( - . "github.com/alecthomas/chroma" // nolint - "github.com/alecthomas/chroma/lexers/internal" -) - -// Actionscript lexer. -var Actionscript = internal.Register(MustNewLexer( - &Config{ - Name: "ActionScript", - Aliases: []string{"as", "actionscript"}, - Filenames: []string{"*.as"}, - MimeTypes: []string{"application/x-actionscript", "text/x-actionscript", "text/actionscript"}, - NotMultiline: true, - DotAll: true, - }, - Rules{ - "root": { - {`\s+`, Text, nil}, - {`//.*?\n`, CommentSingle, nil}, - {`/\*.*?\*/`, CommentMultiline, nil}, - {`/(\\\\|\\/|[^/\n])*/[gim]*`, LiteralStringRegex, nil}, - {`[~^*!%&<>|+=:;,/?\\-]+`, Operator, nil}, - {`[{}\[\]();.]+`, Punctuation, nil}, - {Words(``, `\b`, `case`, `default`, `for`, `each`, `in`, `while`, `do`, `break`, `return`, `continue`, `if`, `else`, `throw`, `try`, `catch`, `var`, `with`, `new`, `typeof`, `arguments`, `instanceof`, `this`, `switch`), Keyword, nil}, - {Words(``, `\b`, `class`, `public`, `final`, `internal`, `native`, `override`, `private`, `protected`, `static`, `import`, `extends`, `implements`, `interface`, `intrinsic`, `return`, `super`, `dynamic`, `function`, `const`, `get`, `namespace`, `package`, `set`), KeywordDeclaration, nil}, - {`(true|false|null|NaN|Infinity|-Infinity|undefined|Void)\b`, KeywordConstant, nil}, - {Words(``, `\b`, `Accessibility`, `AccessibilityProperties`, `ActionScriptVersion`, `ActivityEvent`, `AntiAliasType`, `ApplicationDomain`, `AsBroadcaster`, `Array`, `AsyncErrorEvent`, `AVM1Movie`, `BevelFilter`, `Bitmap`, `BitmapData`, `BitmapDataChannel`, `BitmapFilter`, `BitmapFilterQuality`, `BitmapFilterType`, `BlendMode`, `BlurFilter`, `Boolean`, `ByteArray`, `Camera`, `Capabilities`, `CapsStyle`, `Class`, `Color`, `ColorMatrixFilter`, `ColorTransform`, `ContextMenu`, `ContextMenuBuiltInItems`, `ContextMenuEvent`, `ContextMenuItem`, `ConvultionFilter`, `CSMSettings`, `DataEvent`, `Date`, `DefinitionError`, `DeleteObjectSample`, `Dictionary`, `DisplacmentMapFilter`, `DisplayObject`, `DisplacmentMapFilterMode`, `DisplayObjectContainer`, `DropShadowFilter`, `Endian`, `EOFError`, `Error`, `ErrorEvent`, `EvalError`, `Event`, `EventDispatcher`, `EventPhase`, `ExternalInterface`, `FileFilter`, `FileReference`, `FileReferenceList`, `FocusDirection`, `FocusEvent`, `Font`, `FontStyle`, `FontType`, `FrameLabel`, `FullScreenEvent`, `Function`, `GlowFilter`, `GradientBevelFilter`, `GradientGlowFilter`, `GradientType`, `Graphics`, `GridFitType`, `HTTPStatusEvent`, `IBitmapDrawable`, `ID3Info`, `IDataInput`, `IDataOutput`, `IDynamicPropertyOutputIDynamicPropertyWriter`, `IEventDispatcher`, `IExternalizable`, `IllegalOperationError`, `IME`, `IMEConversionMode`, `IMEEvent`, `int`, `InteractiveObject`, `InterpolationMethod`, `InvalidSWFError`, `InvokeEvent`, `IOError`, `IOErrorEvent`, `JointStyle`, `Key`, `Keyboard`, `KeyboardEvent`, `KeyLocation`, `LineScaleMode`, `Loader`, `LoaderContext`, `LoaderInfo`, `LoadVars`, `LocalConnection`, `Locale`, `Math`, `Matrix`, `MemoryError`, `Microphone`, `MorphShape`, `Mouse`, `MouseEvent`, `MovieClip`, `MovieClipLoader`, `Namespace`, `NetConnection`, `NetStatusEvent`, `NetStream`, `NewObjectSample`, `Number`, `Object`, `ObjectEncoding`, `PixelSnapping`, `Point`, `PrintJob`, `PrintJobOptions`, `PrintJobOrientation`, `ProgressEvent`, `Proxy`, `QName`, `RangeError`, `Rectangle`, `ReferenceError`, `RegExp`, `Responder`, `Sample`, `Scene`, `ScriptTimeoutError`, `Security`, `SecurityDomain`, `SecurityError`, `SecurityErrorEvent`, `SecurityPanel`, `Selection`, `Shape`, `SharedObject`, `SharedObjectFlushStatus`, `SimpleButton`, `Socket`, `Sound`, `SoundChannel`, `SoundLoaderContext`, `SoundMixer`, `SoundTransform`, `SpreadMethod`, `Sprite`, `StackFrame`, `StackOverflowError`, `Stage`, `StageAlign`, `StageDisplayState`, `StageQuality`, `StageScaleMode`, `StaticText`, `StatusEvent`, `String`, `StyleSheet`, `SWFVersion`, `SyncEvent`, `SyntaxError`, `System`, `TextColorType`, `TextField`, `TextFieldAutoSize`, `TextFieldType`, `TextFormat`, `TextFormatAlign`, `TextLineMetrics`, `TextRenderer`, `TextSnapshot`, `Timer`, `TimerEvent`, `Transform`, `TypeError`, `uint`, `URIError`, `URLLoader`, `URLLoaderDataFormat`, `URLRequest`, `URLRequestHeader`, `URLRequestMethod`, `URLStream`, `URLVariabeles`, `VerifyError`, `Video`, `XML`, `XMLDocument`, `XMLList`, `XMLNode`, `XMLNodeType`, `XMLSocket`, `XMLUI`), NameBuiltin, nil}, - {Words(``, `\b`, `decodeURI`, `decodeURIComponent`, `encodeURI`, `escape`, `eval`, `isFinite`, `isNaN`, `isXMLName`, `clearInterval`, `fscommand`, `getTimer`, `getURL`, `getVersion`, `parseFloat`, `parseInt`, `setInterval`, `trace`, `updateAfterEvent`, `unescape`), NameFunction, nil}, - {`[$a-zA-Z_]\w*`, NameOther, nil}, - {`[0-9][0-9]*\.[0-9]+([eE][0-9]+)?[fd]?`, LiteralNumberFloat, nil}, - {`0x[0-9a-f]+`, LiteralNumberHex, nil}, - {`[0-9]+`, LiteralNumberInteger, nil}, - {`"(\\\\|\\"|[^"])*"`, LiteralStringDouble, nil}, - {`'(\\\\|\\'|[^'])*'`, LiteralStringSingle, nil}, - }, - }, -)) diff --git a/vendor/github.com/alecthomas/chroma/lexers/a/actionscript3.go b/vendor/github.com/alecthomas/chroma/lexers/a/actionscript3.go deleted file mode 100644 index 3404bd55..00000000 --- a/vendor/github.com/alecthomas/chroma/lexers/a/actionscript3.go +++ /dev/null @@ -1,56 +0,0 @@ -package a - -import ( - . "github.com/alecthomas/chroma" // nolint - "github.com/alecthomas/chroma/lexers/internal" -) - -// Actionscript 3 lexer. -var Actionscript3 = internal.Register(MustNewLexer( - &Config{ - Name: "ActionScript 3", - Aliases: []string{"as3", "actionscript3"}, - Filenames: []string{"*.as"}, - MimeTypes: []string{"application/x-actionscript3", "text/x-actionscript3", "text/actionscript3"}, - DotAll: true, - }, - Rules{ - "root": { - {`\s+`, Text, nil}, - {`(function\s+)([$a-zA-Z_]\w*)(\s*)(\()`, ByGroups(KeywordDeclaration, NameFunction, Text, Operator), Push("funcparams")}, - {`(var|const)(\s+)([$a-zA-Z_]\w*)(\s*)(:)(\s*)([$a-zA-Z_]\w*(?:\.<\w+>)?)`, ByGroups(KeywordDeclaration, Text, Name, Text, Punctuation, Text, KeywordType), nil}, - {`(import|package)(\s+)((?:[$a-zA-Z_]\w*|\.)+)(\s*)`, ByGroups(Keyword, Text, NameNamespace, Text), nil}, - {`(new)(\s+)([$a-zA-Z_]\w*(?:\.<\w+>)?)(\s*)(\()`, ByGroups(Keyword, Text, KeywordType, Text, Operator), nil}, - {`//.*?\n`, CommentSingle, nil}, - {`/\*.*?\*/`, CommentMultiline, nil}, - {`/(\\\\|\\/|[^\n])*/[gisx]*`, LiteralStringRegex, nil}, - {`(\.)([$a-zA-Z_]\w*)`, ByGroups(Operator, NameAttribute), nil}, - {`(case|default|for|each|in|while|do|break|return|continue|if|else|throw|try|catch|with|new|typeof|arguments|instanceof|this|switch|import|include|as|is)\b`, Keyword, nil}, - {`(class|public|final|internal|native|override|private|protected|static|import|extends|implements|interface|intrinsic|return|super|dynamic|function|const|get|namespace|package|set)\b`, KeywordDeclaration, nil}, - {`(true|false|null|NaN|Infinity|-Infinity|undefined|void)\b`, KeywordConstant, nil}, - {`(decodeURI|decodeURIComponent|encodeURI|escape|eval|isFinite|isNaN|isXMLName|clearInterval|fscommand|getTimer|getURL|getVersion|isFinite|parseFloat|parseInt|setInterval|trace|updateAfterEvent|unescape)\b`, NameFunction, nil}, - {`[$a-zA-Z_]\w*`, Name, nil}, - {`[0-9][0-9]*\.[0-9]+([eE][0-9]+)?[fd]?`, LiteralNumberFloat, nil}, - {`0x[0-9a-f]+`, LiteralNumberHex, nil}, - {`[0-9]+`, LiteralNumberInteger, nil}, - {`"(\\\\|\\"|[^"])*"`, LiteralStringDouble, nil}, - {`'(\\\\|\\'|[^'])*'`, LiteralStringSingle, nil}, - {`[~^*!%&<>|+=:;,/?\\{}\[\]().-]+`, Operator, nil}, - }, - "funcparams": { - {`\s+`, Text, nil}, - {`(\s*)(\.\.\.)?([$a-zA-Z_]\w*)(\s*)(:)(\s*)([$a-zA-Z_]\w*(?:\.<\w+>)?|\*)(\s*)`, ByGroups(Text, Punctuation, Name, Text, Operator, Text, KeywordType, Text), Push("defval")}, - {`\)`, Operator, Push("type")}, - }, - "type": { - {`(\s*)(:)(\s*)([$a-zA-Z_]\w*(?:\.<\w+>)?|\*)`, ByGroups(Text, Operator, Text, KeywordType), Pop(2)}, - {`\s+`, Text, Pop(2)}, - Default(Pop(2)), - }, - "defval": { - {`(=)(\s*)([^(),]+)(\s*)(,?)`, ByGroups(Operator, Text, UsingSelf("root"), Text, Operator), Pop(1)}, - {`,`, Operator, Pop(1)}, - Default(Pop(1)), - }, - }, -)) diff --git a/vendor/github.com/alecthomas/chroma/lexers/a/ada.go b/vendor/github.com/alecthomas/chroma/lexers/a/ada.go deleted file mode 100644 index d9b34e3c..00000000 --- a/vendor/github.com/alecthomas/chroma/lexers/a/ada.go +++ /dev/null @@ -1,114 +0,0 @@ -package a - -import ( - . "github.com/alecthomas/chroma" // nolint - "github.com/alecthomas/chroma/lexers/internal" -) - -// Ada lexer. -var Ada = internal.Register(MustNewLexer( - &Config{ - Name: "Ada", - Aliases: []string{"ada", "ada95", "ada2005"}, - Filenames: []string{"*.adb", "*.ads", "*.ada"}, - MimeTypes: []string{"text/x-ada"}, - CaseInsensitive: true, - }, - Rules{ - "root": { - {`[^\S\n]+`, Text, nil}, - {`--.*?\n`, CommentSingle, nil}, - {`[^\S\n]+`, Text, nil}, - {`function|procedure|entry`, KeywordDeclaration, Push("subprogram")}, - {`(subtype|type)(\s+)(\w+)`, ByGroups(KeywordDeclaration, Text, KeywordType), Push("type_def")}, - {`task|protected`, KeywordDeclaration, nil}, - {`(subtype)(\s+)`, ByGroups(KeywordDeclaration, Text), nil}, - {`(end)(\s+)`, ByGroups(KeywordReserved, Text), Push("end")}, - {`(pragma)(\s+)(\w+)`, ByGroups(KeywordReserved, Text, CommentPreproc), nil}, - {`(true|false|null)\b`, KeywordConstant, nil}, - {Words(``, `\b`, `Address`, `Byte`, `Boolean`, `Character`, `Controlled`, `Count`, `Cursor`, `Duration`, `File_Mode`, `File_Type`, `Float`, `Generator`, `Integer`, `Long_Float`, `Long_Integer`, `Long_Long_Float`, `Long_Long_Integer`, `Natural`, `Positive`, `Reference_Type`, `Short_Float`, `Short_Integer`, `Short_Short_Float`, `Short_Short_Integer`, `String`, `Wide_Character`, `Wide_String`), KeywordType, nil}, - {`(and(\s+then)?|in|mod|not|or(\s+else)|rem)\b`, OperatorWord, nil}, - {`generic|private`, KeywordDeclaration, nil}, - {`package`, KeywordDeclaration, Push("package")}, - {`array\b`, KeywordReserved, Push("array_def")}, - {`(with|use)(\s+)`, ByGroups(KeywordNamespace, Text), Push("import")}, - {`(\w+)(\s*)(:)(\s*)(constant)`, ByGroups(NameConstant, Text, Punctuation, Text, KeywordReserved), nil}, - {`<<\w+>>`, NameLabel, nil}, - {`(\w+)(\s*)(:)(\s*)(declare|begin|loop|for|while)`, ByGroups(NameLabel, Text, Punctuation, Text, KeywordReserved), nil}, - {Words(`\b`, `\b`, `abort`, `abs`, `abstract`, `accept`, `access`, `aliased`, `all`, `array`, `at`, `begin`, `body`, `case`, `constant`, `declare`, `delay`, `delta`, `digits`, `do`, `else`, `elsif`, `end`, `entry`, `exception`, `exit`, `interface`, `for`, `goto`, `if`, `is`, `limited`, `loop`, `new`, `null`, `of`, `or`, `others`, `out`, `overriding`, `pragma`, `protected`, `raise`, `range`, `record`, `renames`, `requeue`, `return`, `reverse`, `select`, `separate`, `subtype`, `synchronized`, `task`, `tagged`, `terminate`, `then`, `type`, `until`, `when`, `while`, `xor`), KeywordReserved, nil}, - {`"[^"]*"`, LiteralString, nil}, - Include("attribute"), - Include("numbers"), - {`'[^']'`, LiteralStringChar, nil}, - {`(\w+)(\s*|[(,])`, ByGroups(Name, UsingSelf("root")), nil}, - {`(<>|=>|:=|[()|:;,.'])`, Punctuation, nil}, - {`[*<>+=/&-]`, Operator, nil}, - {`\n+`, Text, nil}, - }, - "numbers": { - {`[0-9_]+#[0-9a-f]+#`, LiteralNumberHex, nil}, - {`[0-9_]+\.[0-9_]*`, LiteralNumberFloat, nil}, - {`[0-9_]+`, LiteralNumberInteger, nil}, - }, - "attribute": { - {`(')(\w+)`, ByGroups(Punctuation, NameAttribute), nil}, - }, - "subprogram": { - {`\(`, Punctuation, Push("#pop", "formal_part")}, - {`;`, Punctuation, Pop(1)}, - {`is\b`, KeywordReserved, Pop(1)}, - {`"[^"]+"|\w+`, NameFunction, nil}, - Include("root"), - }, - "end": { - {`(if|case|record|loop|select)`, KeywordReserved, nil}, - {`"[^"]+"|[\w.]+`, NameFunction, nil}, - {`\s+`, Text, nil}, - {`;`, Punctuation, Pop(1)}, - }, - "type_def": { - {`;`, Punctuation, Pop(1)}, - {`\(`, Punctuation, Push("formal_part")}, - {`with|and|use`, KeywordReserved, nil}, - {`array\b`, KeywordReserved, Push("#pop", "array_def")}, - {`record\b`, KeywordReserved, Push("record_def")}, - {`(null record)(;)`, ByGroups(KeywordReserved, Punctuation), Pop(1)}, - Include("root"), - }, - "array_def": { - {`;`, Punctuation, Pop(1)}, - {`(\w+)(\s+)(range)`, ByGroups(KeywordType, Text, KeywordReserved), nil}, - Include("root"), - }, - "record_def": { - {`end record`, KeywordReserved, Pop(1)}, - Include("root"), - }, - "import": { - {`[\w.]+`, NameNamespace, Pop(1)}, - Default(Pop(1)), - }, - "formal_part": { - {`\)`, Punctuation, Pop(1)}, - {`\w+`, NameVariable, nil}, - {`,|:[^=]`, Punctuation, nil}, - {`(in|not|null|out|access)\b`, KeywordReserved, nil}, - Include("root"), - }, - "package": { - {`body`, KeywordDeclaration, nil}, - {`is\s+new|renames`, KeywordReserved, nil}, - {`is`, KeywordReserved, Pop(1)}, - {`;`, Punctuation, Pop(1)}, - {`\(`, Punctuation, Push("package_instantiation")}, - {`([\w.]+)`, NameClass, nil}, - Include("root"), - }, - "package_instantiation": { - {`("[^"]+"|\w+)(\s+)(=>)`, ByGroups(NameVariable, Text, Punctuation), nil}, - {`[\w.\'"]`, Text, nil}, - {`\)`, Punctuation, Pop(1)}, - Include("root"), - }, - }, -)) diff --git a/vendor/github.com/alecthomas/chroma/lexers/a/angular2.go b/vendor/github.com/alecthomas/chroma/lexers/a/angular2.go deleted file mode 100644 index 5258c928..00000000 --- a/vendor/github.com/alecthomas/chroma/lexers/a/angular2.go +++ /dev/null @@ -1,42 +0,0 @@ -package a - -import ( - . "github.com/alecthomas/chroma" // nolint - "github.com/alecthomas/chroma/lexers/internal" -) - -// Angular2 lexer. -var Angular2 = internal.Register(MustNewLexer( - &Config{ - Name: "Angular2", - Aliases: []string{"ng2"}, - Filenames: []string{}, - MimeTypes: []string{}, - }, - Rules{ - "root": { - {`[^{([*#]+`, Other, nil}, - {`(\{\{)(\s*)`, ByGroups(CommentPreproc, Text), Push("ngExpression")}, - {`([([]+)([\w:.-]+)([\])]+)(\s*)(=)(\s*)`, ByGroups(Punctuation, NameAttribute, Punctuation, Text, Operator, Text), Push("attr")}, - {`([([]+)([\w:.-]+)([\])]+)(\s*)`, ByGroups(Punctuation, NameAttribute, Punctuation, Text), nil}, - {`([*#])([\w:.-]+)(\s*)(=)(\s*)`, ByGroups(Punctuation, NameAttribute, Punctuation, Operator), Push("attr")}, - {`([*#])([\w:.-]+)(\s*)`, ByGroups(Punctuation, NameAttribute, Punctuation), nil}, - }, - "ngExpression": { - {`\s+(\|\s+)?`, Text, nil}, - {`\}\}`, CommentPreproc, Pop(1)}, - {`:?(true|false)`, LiteralStringBoolean, nil}, - {`:?"(\\\\|\\"|[^"])*"`, LiteralStringDouble, nil}, - {`:?'(\\\\|\\'|[^'])*'`, LiteralStringSingle, nil}, - {`[0-9](\.[0-9]*)?(eE[+-][0-9])?[flFLdD]?|0[xX][0-9a-fA-F]+[Ll]?`, LiteralNumber, nil}, - {`[a-zA-Z][\w-]*(\(.*\))?`, NameVariable, nil}, - {`\.[\w-]+(\(.*\))?`, NameVariable, nil}, - {`(\?)(\s*)([^}\s]+)(\s*)(:)(\s*)([^}\s]+)(\s*)`, ByGroups(Operator, Text, LiteralString, Text, Operator, Text, LiteralString, Text), nil}, - }, - "attr": { - {`".*?"`, LiteralString, Pop(1)}, - {`'.*?'`, LiteralString, Pop(1)}, - {`[^\s>]+`, LiteralString, Pop(1)}, - }, - }, -)) diff --git a/vendor/github.com/alecthomas/chroma/lexers/a/antlr.go b/vendor/github.com/alecthomas/chroma/lexers/a/antlr.go deleted file mode 100644 index d7649d4a..00000000 --- a/vendor/github.com/alecthomas/chroma/lexers/a/antlr.go +++ /dev/null @@ -1,101 +0,0 @@ -package a - -import ( - . "github.com/alecthomas/chroma" // nolint - "github.com/alecthomas/chroma/lexers/internal" -) - -// ANTLR lexer. -var ANTLR = internal.Register(MustNewLexer( - &Config{ - Name: "ANTLR", - Aliases: []string{"antlr"}, - Filenames: []string{}, - MimeTypes: []string{}, - }, - Rules{ - "whitespace": { - {`\s+`, TextWhitespace, nil}, - }, - "comments": { - {`//.*$`, Comment, nil}, - {`/\*(.|\n)*?\*/`, Comment, nil}, - }, - "root": { - Include("whitespace"), - Include("comments"), - {`(lexer|parser|tree)?(\s*)(grammar\b)(\s*)([A-Za-z]\w*)(;)`, ByGroups(Keyword, TextWhitespace, Keyword, TextWhitespace, NameClass, Punctuation), nil}, - {`options\b`, Keyword, Push("options")}, - {`tokens\b`, Keyword, Push("tokens")}, - {`(scope)(\s*)([A-Za-z]\w*)(\s*)(\{)`, ByGroups(Keyword, TextWhitespace, NameVariable, TextWhitespace, Punctuation), Push("action")}, - {`(catch|finally)\b`, Keyword, Push("exception")}, - {`(@[A-Za-z]\w*)(\s*)(::)?(\s*)([A-Za-z]\w*)(\s*)(\{)`, ByGroups(NameLabel, TextWhitespace, Punctuation, TextWhitespace, NameLabel, TextWhitespace, Punctuation), Push("action")}, - {`((?:protected|private|public|fragment)\b)?(\s*)([A-Za-z]\w*)(!)?`, ByGroups(Keyword, TextWhitespace, NameLabel, Punctuation), Push("rule-alts", "rule-prelims")}, - }, - "exception": { - {`\n`, TextWhitespace, Pop(1)}, - {`\s`, TextWhitespace, nil}, - Include("comments"), - {`\[`, Punctuation, Push("nested-arg-action")}, - {`\{`, Punctuation, Push("action")}, - }, - "rule-prelims": { - Include("whitespace"), - Include("comments"), - {`returns\b`, Keyword, nil}, - {`\[`, Punctuation, Push("nested-arg-action")}, - {`\{`, Punctuation, Push("action")}, - {`(throws)(\s+)([A-Za-z]\w*)`, ByGroups(Keyword, TextWhitespace, NameLabel), nil}, - {`(,)(\s*)([A-Za-z]\w*)`, ByGroups(Punctuation, TextWhitespace, NameLabel), nil}, - {`options\b`, Keyword, Push("options")}, - {`(scope)(\s+)(\{)`, ByGroups(Keyword, TextWhitespace, Punctuation), Push("action")}, - {`(scope)(\s+)([A-Za-z]\w*)(\s*)(;)`, ByGroups(Keyword, TextWhitespace, NameLabel, TextWhitespace, Punctuation), nil}, - {`(@[A-Za-z]\w*)(\s*)(\{)`, ByGroups(NameLabel, TextWhitespace, Punctuation), Push("action")}, - {`:`, Punctuation, Pop(1)}, - }, - "rule-alts": { - Include("whitespace"), - Include("comments"), - {`options\b`, Keyword, Push("options")}, - {`:`, Punctuation, nil}, - {`'(\\\\|\\'|[^'])*'`, LiteralString, nil}, - {`"(\\\\|\\"|[^"])*"`, LiteralString, nil}, - {`<<([^>]|>[^>])>>`, LiteralString, nil}, - {`\$?[A-Z_]\w*`, NameConstant, nil}, - {`\$?[a-z_]\w*`, NameVariable, nil}, - {`(\+|\||->|=>|=|\(|\)|\.\.|\.|\?|\*|\^|!|\#|~)`, Operator, nil}, - {`,`, Punctuation, nil}, - {`\[`, Punctuation, Push("nested-arg-action")}, - {`\{`, Punctuation, Push("action")}, - {`;`, Punctuation, Pop(1)}, - }, - "tokens": { - Include("whitespace"), - Include("comments"), - {`\{`, Punctuation, nil}, - {`([A-Z]\w*)(\s*)(=)?(\s*)(\'(?:\\\\|\\\'|[^\']*)\')?(\s*)(;)`, ByGroups(NameLabel, TextWhitespace, Punctuation, TextWhitespace, LiteralString, TextWhitespace, Punctuation), nil}, - {`\}`, Punctuation, Pop(1)}, - }, - "options": { - Include("whitespace"), - Include("comments"), - {`\{`, Punctuation, nil}, - {`([A-Za-z]\w*)(\s*)(=)(\s*)([A-Za-z]\w*|\'(?:\\\\|\\\'|[^\']*)\'|[0-9]+|\*)(\s*)(;)`, ByGroups(NameVariable, TextWhitespace, Punctuation, TextWhitespace, Text, TextWhitespace, Punctuation), nil}, - {`\}`, Punctuation, Pop(1)}, - }, - "action": { - {`([^${}\'"/\\]+|"(\\\\|\\"|[^"])*"|'(\\\\|\\'|[^'])*'|//.*$\n?|/\*(.|\n)*?\*/|/(?!\*)(\\\\|\\/|[^/])*/|\\(?!%)|/)+`, Other, nil}, - {`(\\)(%)`, ByGroups(Punctuation, Other), nil}, - {`(\$[a-zA-Z]+)(\.?)(text|value)?`, ByGroups(NameVariable, Punctuation, NameProperty), nil}, - {`\{`, Punctuation, Push()}, - {`\}`, Punctuation, Pop(1)}, - }, - "nested-arg-action": { - {`([^$\[\]\'"/]+|"(\\\\|\\"|[^"])*"|'(\\\\|\\'|[^'])*'|//.*$\n?|/\*(.|\n)*?\*/|/(?!\*)(\\\\|\\/|[^/])*/|/)+`, Other, nil}, - {`\[`, Punctuation, Push()}, - {`\]`, Punctuation, Pop(1)}, - {`(\$[a-zA-Z]+)(\.?)(text|value)?`, ByGroups(NameVariable, Punctuation, NameProperty), nil}, - {`(\\\\|\\\]|\\\[|[^\[\]])+`, Other, nil}, - }, - }, -)) diff --git a/vendor/github.com/alecthomas/chroma/lexers/a/apache.go b/vendor/github.com/alecthomas/chroma/lexers/a/apache.go deleted file mode 100644 index 6c56a1db..00000000 --- a/vendor/github.com/alecthomas/chroma/lexers/a/apache.go +++ /dev/null @@ -1,38 +0,0 @@ -package a - -import ( - . "github.com/alecthomas/chroma" // nolint - "github.com/alecthomas/chroma/lexers/internal" -) - -// Apacheconf lexer. -var Apacheconf = internal.Register(MustNewLexer( - &Config{ - Name: "ApacheConf", - Aliases: []string{"apacheconf", "aconf", "apache"}, - Filenames: []string{".htaccess", "apache.conf", "apache2.conf"}, - MimeTypes: []string{"text/x-apacheconf"}, - CaseInsensitive: true, - }, - Rules{ - "root": { - {`\s+`, Text, nil}, - {`(#.*?)$`, Comment, nil}, - {`(<[^\s>]+)(?:(\s+)(.*?))?(>)`, ByGroups(NameTag, Text, LiteralString, NameTag), nil}, - {`([a-z]\w*)(\s+)`, ByGroups(NameBuiltin, Text), Push("value")}, - {`\.+`, Text, nil}, - }, - "value": { - {`\\\n`, Text, nil}, - {`$`, Text, Pop(1)}, - {`\\`, Text, nil}, - {`[^\S\n]+`, Text, nil}, - {`\d+\.\d+\.\d+\.\d+(?:/\d+)?`, LiteralNumber, nil}, - {`\d+`, LiteralNumber, nil}, - {`/([a-z0-9][\w./-]+)`, LiteralStringOther, nil}, - {`(on|off|none|any|all|double|email|dns|min|minimal|os|productonly|full|emerg|alert|crit|error|warn|notice|info|debug|registry|script|inetd|standalone|user|group)\b`, Keyword, nil}, - {`"([^"\\]*(?:\\.[^"\\]*)*)"`, LiteralStringDouble, nil}, - {`[^\s"\\]+`, Text, nil}, - }, - }, -)) diff --git a/vendor/github.com/alecthomas/chroma/lexers/a/apl.go b/vendor/github.com/alecthomas/chroma/lexers/a/apl.go deleted file mode 100644 index 820e13b6..00000000 --- a/vendor/github.com/alecthomas/chroma/lexers/a/apl.go +++ /dev/null @@ -1,36 +0,0 @@ -package a - -import ( - . "github.com/alecthomas/chroma" // nolint - "github.com/alecthomas/chroma/lexers/internal" -) - -// Apl lexer. -var Apl = internal.Register(MustNewLexer( - &Config{ - Name: "APL", - Aliases: []string{"apl"}, - Filenames: []string{"*.apl"}, - MimeTypes: []string{}, - }, - Rules{ - "root": { - {`\s+`, Text, nil}, - {`[⍝#].*$`, CommentSingle, nil}, - {`\'((\'\')|[^\'])*\'`, LiteralStringSingle, nil}, - {`"(("")|[^"])*"`, LiteralStringDouble, nil}, - {`[⋄◇()]`, Punctuation, nil}, - {`[\[\];]`, LiteralStringRegex, nil}, - {`⎕[A-Za-zΔ∆⍙][A-Za-zΔ∆⍙_¯0-9]*`, NameFunction, nil}, - {`[A-Za-zΔ∆⍙][A-Za-zΔ∆⍙_¯0-9]*`, NameVariable, nil}, - {`¯?(0[Xx][0-9A-Fa-f]+|[0-9]*\.?[0-9]+([Ee][+¯]?[0-9]+)?|¯|∞)([Jj]¯?(0[Xx][0-9A-Fa-f]+|[0-9]*\.?[0-9]+([Ee][+¯]?[0-9]+)?|¯|∞))?`, LiteralNumber, nil}, - {`[\.\\/⌿⍀¨⍣⍨⍠⍤∘]`, NameAttribute, nil}, - {`[+\-×÷⌈⌊∣|⍳?*⍟○!⌹<≤=>≥≠≡≢∊⍷∪∩~∨∧⍱⍲⍴,⍪⌽⊖⍉↑↓⊂⊃⌷⍋⍒⊤⊥⍕⍎⊣⊢⍁⍂≈⌸⍯↗]`, Operator, nil}, - {`⍬`, NameConstant, nil}, - {`[⎕⍞]`, NameVariableGlobal, nil}, - {`[←→]`, KeywordDeclaration, nil}, - {`[⍺⍵⍶⍹∇:]`, NameBuiltinPseudo, nil}, - {`[{}]`, KeywordType, nil}, - }, - }, -)) diff --git a/vendor/github.com/alecthomas/chroma/lexers/a/applescript.go b/vendor/github.com/alecthomas/chroma/lexers/a/applescript.go deleted file mode 100644 index 84ddf1f7..00000000 --- a/vendor/github.com/alecthomas/chroma/lexers/a/applescript.go +++ /dev/null @@ -1,55 +0,0 @@ -package a - -import ( - . "github.com/alecthomas/chroma" // nolint - "github.com/alecthomas/chroma/lexers/internal" -) - -// Applescript lexer. -var Applescript = internal.Register(MustNewLexer( - &Config{ - Name: "AppleScript", - Aliases: []string{"applescript"}, - Filenames: []string{"*.applescript"}, - MimeTypes: []string{}, - DotAll: true, - }, - Rules{ - "root": { - {`\s+`, Text, nil}, - {`¬\n`, LiteralStringEscape, nil}, - {`'s\s+`, Text, nil}, - {`(--|#).*?$`, Comment, nil}, - {`\(\*`, CommentMultiline, Push("comment")}, - {`[(){}!,.:]`, Punctuation, nil}, - {`(«)([^»]+)(»)`, ByGroups(Text, NameBuiltin, Text), nil}, - {`\b((?:considering|ignoring)\s*)(application responses|case|diacriticals|hyphens|numeric strings|punctuation|white space)`, ByGroups(Keyword, NameBuiltin), nil}, - {`(-|\*|\+|&|≠|>=?|<=?|=|≥|≤|/|÷|\^)`, Operator, nil}, - {`\b(and|or|is equal|equals|(is )?equal to|is not|isn't|isn't equal( to)?|is not equal( to)?|doesn't equal|does not equal|(is )?greater than|comes after|is not less than or equal( to)?|isn't less than or equal( to)?|(is )?less than|comes before|is not greater than or equal( to)?|isn't greater than or equal( to)?|(is )?greater than or equal( to)?|is not less than|isn't less than|does not come before|doesn't come before|(is )?less than or equal( to)?|is not greater than|isn't greater than|does not come after|doesn't come after|starts? with|begins? with|ends? with|contains?|does not contain|doesn't contain|is in|is contained by|is not in|is not contained by|isn't contained by|div|mod|not|(a )?(ref( to)?|reference to)|is|does)\b`, OperatorWord, nil}, - {`^(\s*(?:on|end)\s+)(zoomed|write to file|will zoom|will show|will select tab view item|will resize( sub views)?|will resign active|will quit|will pop up|will open|will move|will miniaturize|will hide|will finish launching|will display outline cell|will display item cell|will display cell|will display browser cell|will dismiss|will close|will become active|was miniaturized|was hidden|update toolbar item|update parameters|update menu item|shown|should zoom|should selection change|should select tab view item|should select row|should select item|should select column|should quit( after last window closed)?|should open( untitled)?|should expand item|should end editing|should collapse item|should close|should begin editing|selection changing|selection changed|selected tab view item|scroll wheel|rows changed|right mouse up|right mouse dragged|right mouse down|resized( sub views)?|resigned main|resigned key|resigned active|read from file|prepare table drop|prepare table drag|prepare outline drop|prepare outline drag|prepare drop|plugin loaded|parameters updated|panel ended|opened|open untitled|number of rows|number of items|number of browser rows|moved|mouse up|mouse moved|mouse exited|mouse entered|mouse dragged|mouse down|miniaturized|load data representation|launched|keyboard up|keyboard down|items changed|item value changed|item value|item expandable|idle|exposed|end editing|drop|drag( (entered|exited|updated))?|double clicked|document nib name|dialog ended|deminiaturized|data representation|conclude drop|column resized|column moved|column clicked|closed|clicked toolbar item|clicked|choose menu item|child of item|changed|change item value|change cell value|cell value changed|cell value|bounds changed|begin editing|became main|became key|awake from nib|alert ended|activated|action|accept table drop|accept outline drop)`, ByGroups(Keyword, NameFunction), nil}, - {`^(\s*)(in|on|script|to)(\s+)`, ByGroups(Text, Keyword, Text), nil}, - {`\b(as )(alias |application |boolean |class |constant |date |file |integer |list |number |POSIX file |real |record |reference |RGB color |script |text |unit types|(?:Unicode )?text|string)\b`, ByGroups(Keyword, NameClass), nil}, - {`\b(AppleScript|current application|false|linefeed|missing value|pi|quote|result|return|space|tab|text item delimiters|true|version)\b`, NameConstant, nil}, - {`\b(ASCII (character|number)|activate|beep|choose URL|choose application|choose color|choose file( name)?|choose folder|choose from list|choose remote application|clipboard info|close( access)?|copy|count|current date|delay|delete|display (alert|dialog)|do shell script|duplicate|exists|get eof|get volume settings|info for|launch|list (disks|folder)|load script|log|make|mount volume|new|offset|open( (for access|location))?|path to|print|quit|random number|read|round|run( script)?|say|scripting components|set (eof|the clipboard to|volume)|store script|summarize|system attribute|system info|the clipboard|time to GMT|write|quoted form)\b`, NameBuiltin, nil}, - {`\b(considering|else|error|exit|from|if|ignoring|in|repeat|tell|then|times|to|try|until|using terms from|while|whith|with timeout( of)?|with transaction|by|continue|end|its?|me|my|return|of|as)\b`, Keyword, nil}, - {`\b(global|local|prop(erty)?|set|get)\b`, Keyword, nil}, - {`\b(but|put|returning|the)\b`, NameBuiltin, nil}, - {`\b(attachment|attribute run|character|day|month|paragraph|word|year)s?\b`, NameBuiltin, nil}, - {`\b(about|above|against|apart from|around|aside from|at|below|beneath|beside|between|for|given|instead of|on|onto|out of|over|since)\b`, NameBuiltin, nil}, - {`\b(accepts arrow key|action method|active|alignment|allowed identifiers|allows branch selection|allows column reordering|allows column resizing|allows column selection|allows customization|allows editing text attributes|allows empty selection|allows mixed state|allows multiple selection|allows reordering|allows undo|alpha( value)?|alternate image|alternate increment value|alternate title|animation delay|associated file name|associated object|auto completes|auto display|auto enables items|auto repeat|auto resizes( outline column)?|auto save expanded items|auto save name|auto save table columns|auto saves configuration|auto scroll|auto sizes all columns to fit|auto sizes cells|background color|bezel state|bezel style|bezeled|border rect|border type|bordered|bounds( rotation)?|box type|button returned|button type|can choose directories|can choose files|can draw|can hide|cell( (background color|size|type))?|characters|class|click count|clicked( data)? column|clicked data item|clicked( data)? row|closeable|collating|color( (mode|panel))|command key down|configuration|content(s| (size|view( margins)?))?|context|continuous|control key down|control size|control tint|control view|controller visible|coordinate system|copies( on scroll)?|corner view|current cell|current column|current( field)? editor|current( menu)? item|current row|current tab view item|data source|default identifiers|delta (x|y|z)|destination window|directory|display mode|displayed cell|document( (edited|rect|view))?|double value|dragged column|dragged distance|dragged items|draws( cell)? background|draws grid|dynamically scrolls|echos bullets|edge|editable|edited( data)? column|edited data item|edited( data)? row|enabled|enclosing scroll view|ending page|error handling|event number|event type|excluded from windows menu|executable path|expanded|fax number|field editor|file kind|file name|file type|first responder|first visible column|flipped|floating|font( panel)?|formatter|frameworks path|frontmost|gave up|grid color|has data items|has horizontal ruler|has horizontal scroller|has parent data item|has resize indicator|has shadow|has sub menu|has vertical ruler|has vertical scroller|header cell|header view|hidden|hides when deactivated|highlights by|horizontal line scroll|horizontal page scroll|horizontal ruler view|horizontally resizable|icon image|id|identifier|ignores multiple clicks|image( (alignment|dims when disabled|frame style|scaling))?|imports graphics|increment value|indentation per level|indeterminate|index|integer value|intercell spacing|item height|key( (code|equivalent( modifier)?|window))?|knob thickness|label|last( visible)? column|leading offset|leaf|level|line scroll|loaded|localized sort|location|loop mode|main( (bunde|menu|window))?|marker follows cell|matrix mode|maximum( content)? size|maximum visible columns|menu( form representation)?|miniaturizable|miniaturized|minimized image|minimized title|minimum column width|minimum( content)? size|modal|modified|mouse down state|movie( (controller|file|rect))?|muted|name|needs display|next state|next text|number of tick marks|only tick mark values|opaque|open panel|option key down|outline table column|page scroll|pages across|pages down|palette label|pane splitter|parent data item|parent window|pasteboard|path( (names|separator))?|playing|plays every frame|plays selection only|position|preferred edge|preferred type|pressure|previous text|prompt|properties|prototype cell|pulls down|rate|released when closed|repeated|requested print time|required file type|resizable|resized column|resource path|returns records|reuses columns|rich text|roll over|row height|rulers visible|save panel|scripts path|scrollable|selectable( identifiers)?|selected cell|selected( data)? columns?|selected data items?|selected( data)? rows?|selected item identifier|selection by rect|send action on arrow key|sends action when done editing|separates columns|separator item|sequence number|services menu|shared frameworks path|shared support path|sheet|shift key down|shows alpha|shows state by|size( mode)?|smart insert delete enabled|sort case sensitivity|sort column|sort order|sort type|sorted( data rows)?|sound|source( mask)?|spell checking enabled|starting page|state|string value|sub menu|super menu|super view|tab key traverses cells|tab state|tab type|tab view|table view|tag|target( printer)?|text color|text container insert|text container origin|text returned|tick mark position|time stamp|title(d| (cell|font|height|position|rect))?|tool tip|toolbar|trailing offset|transparent|treat packages as directories|truncated labels|types|unmodified characters|update views|use sort indicator|user defaults|uses data source|uses ruler|uses threaded animation|uses title from previous column|value wraps|version|vertical( (line scroll|page scroll|ruler view))?|vertically resizable|view|visible( document rect)?|volume|width|window|windows menu|wraps|zoomable|zoomed)\b`, NameAttribute, nil}, - {`\b(action cell|alert reply|application|box|browser( cell)?|bundle|button( cell)?|cell|clip view|color well|color-panel|combo box( item)?|control|data( (cell|column|item|row|source))?|default entry|dialog reply|document|drag info|drawer|event|font(-panel)?|formatter|image( (cell|view))?|matrix|menu( item)?|item|movie( view)?|open-panel|outline view|panel|pasteboard|plugin|popup button|progress indicator|responder|save-panel|scroll view|secure text field( cell)?|slider|sound|split view|stepper|tab view( item)?|table( (column|header cell|header view|view))|text( (field( cell)?|view))?|toolbar( item)?|user-defaults|view|window)s?\b`, NameBuiltin, nil}, - {`\b(animate|append|call method|center|close drawer|close panel|display|display alert|display dialog|display panel|go|hide|highlight|increment|item for|load image|load movie|load nib|load panel|load sound|localized string|lock focus|log|open drawer|path for|pause|perform action|play|register|resume|scroll|select( all)?|show|size to fit|start|step back|step forward|stop|synchronize|unlock focus|update)\b`, NameBuiltin, nil}, - {`\b((in )?back of|(in )?front of|[0-9]+(st|nd|rd|th)|first|second|third|fourth|fifth|sixth|seventh|eighth|ninth|tenth|after|back|before|behind|every|front|index|last|middle|some|that|through|thru|where|whose)\b`, NameBuiltin, nil}, - {`"(\\\\|\\"|[^"])*"`, LiteralStringDouble, nil}, - {`\b([a-zA-Z]\w*)\b`, NameVariable, nil}, - {`[-+]?(\d+\.\d*|\d*\.\d+)(E[-+][0-9]+)?`, LiteralNumberFloat, nil}, - {`[-+]?\d+`, LiteralNumberInteger, nil}, - }, - "comment": { - {`\(\*`, CommentMultiline, Push()}, - {`\*\)`, CommentMultiline, Pop(1)}, - {`[^*(]+`, CommentMultiline, nil}, - {`[*(]`, CommentMultiline, nil}, - }, - }, -)) diff --git a/vendor/github.com/alecthomas/chroma/lexers/a/awk.go b/vendor/github.com/alecthomas/chroma/lexers/a/awk.go deleted file mode 100644 index d9198f12..00000000 --- a/vendor/github.com/alecthomas/chroma/lexers/a/awk.go +++ /dev/null @@ -1,48 +0,0 @@ -package a - -import ( - . "github.com/alecthomas/chroma" // nolint - "github.com/alecthomas/chroma/lexers/internal" -) - -// Awk lexer. -var Awk = internal.Register(MustNewLexer( - &Config{ - Name: "Awk", - Aliases: []string{"awk", "gawk", "mawk", "nawk"}, - Filenames: []string{"*.awk"}, - MimeTypes: []string{"application/x-awk"}, - }, - Rules{ - "commentsandwhitespace": { - {`\s+`, Text, nil}, - {`#.*$`, CommentSingle, nil}, - }, - "slashstartsregex": { - Include("commentsandwhitespace"), - {`/(\\.|[^[/\\\n]|\[(\\.|[^\]\\\n])*])+/\B`, LiteralStringRegex, Pop(1)}, - {`(?=/)`, Text, Push("#pop", "badregex")}, - Default(Pop(1)), - }, - "badregex": { - {`\n`, Text, Pop(1)}, - }, - "root": { - {`^(?=\s|/)`, Text, Push("slashstartsregex")}, - Include("commentsandwhitespace"), - {`\+\+|--|\|\||&&|in\b|\$|!?~|(\*\*|[-<>+*%\^/!=|])=?`, Operator, Push("slashstartsregex")}, - {`[{(\[;,]`, Punctuation, Push("slashstartsregex")}, - {`[})\].]`, Punctuation, nil}, - {`(break|continue|do|while|exit|for|if|else|return)\b`, Keyword, Push("slashstartsregex")}, - {`function\b`, KeywordDeclaration, Push("slashstartsregex")}, - {`(atan2|cos|exp|int|log|rand|sin|sqrt|srand|gensub|gsub|index|length|match|split|sprintf|sub|substr|tolower|toupper|close|fflush|getline|next|nextfile|print|printf|strftime|systime|delete|system)\b`, KeywordReserved, nil}, - {`(ARGC|ARGIND|ARGV|BEGIN|CONVFMT|ENVIRON|END|ERRNO|FIELDWIDTHS|FILENAME|FNR|FS|IGNORECASE|NF|NR|OFMT|OFS|ORFS|RLENGTH|RS|RSTART|RT|SUBSEP)\b`, NameBuiltin, nil}, - {`[$a-zA-Z_]\w*`, NameOther, nil}, - {`[0-9][0-9]*\.[0-9]+([eE][0-9]+)?[fd]?`, LiteralNumberFloat, nil}, - {`0x[0-9a-fA-F]+`, LiteralNumberHex, nil}, - {`[0-9]+`, LiteralNumberInteger, nil}, - {`"(\\\\|\\"|[^"])*"`, LiteralStringDouble, nil}, - {`'(\\\\|\\'|[^'])*'`, LiteralStringSingle, nil}, - }, - }, -)) diff --git a/vendor/github.com/alecthomas/chroma/lexers/b/ballerina.go b/vendor/github.com/alecthomas/chroma/lexers/b/ballerina.go deleted file mode 100644 index 40aaa525..00000000 --- a/vendor/github.com/alecthomas/chroma/lexers/b/ballerina.go +++ /dev/null @@ -1,46 +0,0 @@ -package b - -import ( - . "github.com/alecthomas/chroma" // nolint - "github.com/alecthomas/chroma/lexers/internal" -) - -// Ballerina lexer. -var Ballerina = internal.Register(MustNewLexer( - &Config{ - Name: "Ballerina", - Aliases: []string{"ballerina"}, - Filenames: []string{"*.bal"}, - MimeTypes: []string{"text/x-ballerina"}, - DotAll: true, - }, - Rules{ - "root": { - {`[^\S\n]+`, Text, nil}, - {`//.*?\n`, CommentSingle, nil}, - {`/\*.*?\*/`, CommentMultiline, nil}, - {`(break|catch|continue|done|else|finally|foreach|forever|fork|if|lock|match|return|throw|transaction|try|while)\b`, Keyword, nil}, - {`((?:(?:[^\W\d]|\$)[\w.\[\]$<>]*\s+)+?)((?:[^\W\d]|\$)[\w$]*)(\s*)(\()`, ByGroups(UsingSelf("root"), NameFunction, Text, Operator), nil}, - {`@[^\W\d][\w.]*`, NameDecorator, nil}, - {`(annotation|bind|but|endpoint|error|function|object|private|public|returns|service|type|var|with|worker)\b`, KeywordDeclaration, nil}, - {`(boolean|byte|decimal|float|int|json|map|nil|record|string|table|xml)\b`, KeywordType, nil}, - {`(true|false|null)\b`, KeywordConstant, nil}, - {`import(\s+)`, ByGroups(KeywordNamespace, Text), Push("import")}, - {`"(\\\\|\\"|[^"])*"`, LiteralString, nil}, - {`'\\.'|'[^\\]'|'\\u[0-9a-fA-F]{4}'`, LiteralStringChar, nil}, - {`(\.)((?:[^\W\d]|\$)[\w$]*)`, ByGroups(Operator, NameAttribute), nil}, - {`^\s*([^\W\d]|\$)[\w$]*:`, NameLabel, nil}, - {`([^\W\d]|\$)[\w$]*`, Name, nil}, - {`([0-9][0-9_]*\.([0-9][0-9_]*)?|\.[0-9][0-9_]*)([eE][+\-]?[0-9][0-9_]*)?[fFdD]?|[0-9][eE][+\-]?[0-9][0-9_]*[fFdD]?|[0-9]([eE][+\-]?[0-9][0-9_]*)?[fFdD]|0[xX]([0-9a-fA-F][0-9a-fA-F_]*\.?|([0-9a-fA-F][0-9a-fA-F_]*)?\.[0-9a-fA-F][0-9a-fA-F_]*)[pP][+\-]?[0-9][0-9_]*[fFdD]?`, LiteralNumberFloat, nil}, - {`0[xX][0-9a-fA-F][0-9a-fA-F_]*[lL]?`, LiteralNumberHex, nil}, - {`0[bB][01][01_]*[lL]?`, LiteralNumberBin, nil}, - {`0[0-7_]+[lL]?`, LiteralNumberOct, nil}, - {`0|[1-9][0-9_]*[lL]?`, LiteralNumberInteger, nil}, - {`[~^*!%&\[\](){}<>|+=:;,./?-]`, Operator, nil}, - {`\n`, Text, nil}, - }, - "import": { - {`[\w.]+`, NameNamespace, Pop(1)}, - }, - }, -)) diff --git a/vendor/github.com/alecthomas/chroma/lexers/b/bash.go b/vendor/github.com/alecthomas/chroma/lexers/b/bash.go deleted file mode 100644 index 131e432f..00000000 --- a/vendor/github.com/alecthomas/chroma/lexers/b/bash.go +++ /dev/null @@ -1,95 +0,0 @@ -package b - -import ( - "regexp" - - . "github.com/alecthomas/chroma" // nolint - "github.com/alecthomas/chroma/lexers/internal" -) - -var bashAnalyserRe = regexp.MustCompile(`(?m)^#!.*/bin/(?:env |)(?:bash|zsh|sh|ksh)`) - -// Bash lexer. -var Bash = internal.Register(MustNewLexer( - &Config{ - Name: "Bash", - Aliases: []string{"bash", "sh", "ksh", "zsh", "shell"}, - Filenames: []string{"*.sh", "*.ksh", "*.bash", "*.ebuild", "*.eclass", "*.exheres-0", "*.exlib", "*.zsh", "*.zshrc", ".bashrc", "bashrc", ".bash_*", "bash_*", "zshrc", ".zshrc", "PKGBUILD"}, - MimeTypes: []string{"application/x-sh", "application/x-shellscript"}, - }, - Rules{ - "root": { - Include("basic"), - {"`", LiteralStringBacktick, Push("backticks")}, - Include("data"), - Include("interp"), - }, - "interp": { - {`\$\(\(`, Keyword, Push("math")}, - {`\$\(`, Keyword, Push("paren")}, - {`\$\{#?`, LiteralStringInterpol, Push("curly")}, - {`\$[a-zA-Z_]\w*`, NameVariable, nil}, - {`\$(?:\d+|[#$?!_*@-])`, NameVariable, nil}, - {`\$`, Text, nil}, - }, - "basic": { - {`\b(if|fi|else|while|do|done|for|then|return|function|case|select|continue|until|esac|elif)(\s*)\b`, ByGroups(Keyword, Text), nil}, - {"\\b(alias|bg|bind|break|builtin|caller|cd|command|compgen|complete|declare|dirs|disown|echo|enable|eval|exec|exit|export|false|fc|fg|getopts|hash|help|history|jobs|kill|let|local|logout|popd|printf|pushd|pwd|read|readonly|set|shift|shopt|source|suspend|test|time|times|trap|true|type|typeset|ulimit|umask|unalias|unset|wait)(?=[\\s)`])", NameBuiltin, nil}, - {`\A#!.+\n`, CommentPreproc, nil}, - {`#.*\S`, CommentSingle, nil}, - {`\\[\w\W]`, LiteralStringEscape, nil}, - {`(\b\w+)(\s*)(\+?=)`, ByGroups(NameVariable, Text, Operator), nil}, - {`[\[\]{}()=]`, Operator, nil}, - {`<<<`, Operator, nil}, - {`<<-?\s*(\'?)\\?(\w+)[\w\W]+?\2`, LiteralString, nil}, - {`&&|\|\|`, Operator, nil}, - }, - "data": { - {`(?s)\$?"(\\\\|\\[0-7]+|\\.|[^"\\$])*"`, LiteralStringDouble, nil}, - {`"`, LiteralStringDouble, Push("string")}, - {`(?s)\$'(\\\\|\\[0-7]+|\\.|[^'\\])*'`, LiteralStringSingle, nil}, - {`(?s)'.*?'`, LiteralStringSingle, nil}, - {`;`, Punctuation, nil}, - {`&`, Punctuation, nil}, - {`\|`, Punctuation, nil}, - {`\s+`, Text, nil}, - {`\d+\b`, LiteralNumber, nil}, - {"[^=\\s\\[\\]{}()$\"\\'`\\\\<&|;]+", Text, nil}, - {`<`, Text, nil}, - }, - "string": { - {`"`, LiteralStringDouble, Pop(1)}, - {`(?s)(\\\\|\\[0-7]+|\\.|[^"\\$])+`, LiteralStringDouble, nil}, - Include("interp"), - }, - "curly": { - {`\}`, LiteralStringInterpol, Pop(1)}, - {`:-`, Keyword, nil}, - {`\w+`, NameVariable, nil}, - {"[^}:\"\\'`$\\\\]+", Punctuation, nil}, - {`:`, Punctuation, nil}, - Include("root"), - }, - "paren": { - {`\)`, Keyword, Pop(1)}, - Include("root"), - }, - "math": { - {`\)\)`, Keyword, Pop(1)}, - {`[-+*/%^|&]|\*\*|\|\|`, Operator, nil}, - {`\d+#\d+`, LiteralNumber, nil}, - {`\d+#(?! )`, LiteralNumber, nil}, - {`\d+`, LiteralNumber, nil}, - Include("root"), - }, - "backticks": { - {"`", LiteralStringBacktick, Pop(1)}, - Include("root"), - }, - }, -).SetAnalyser(func(text string) float32 { - if bashAnalyserRe.FindString(text) != "" { - return 1.0 - } - return 0.0 -})) diff --git a/vendor/github.com/alecthomas/chroma/lexers/b/batch.go b/vendor/github.com/alecthomas/chroma/lexers/b/batch.go deleted file mode 100644 index dc6ce524..00000000 --- a/vendor/github.com/alecthomas/chroma/lexers/b/batch.go +++ /dev/null @@ -1,194 +0,0 @@ -package b - -import ( - . "github.com/alecthomas/chroma" // nolint - "github.com/alecthomas/chroma/lexers/internal" -) - -// Batchfile lexer. -var Batchfile = internal.Register(MustNewLexer( - &Config{ - Name: "Batchfile", - Aliases: []string{"bat", "batch", "dosbatch", "winbatch"}, - Filenames: []string{"*.bat", "*.cmd"}, - MimeTypes: []string{"application/x-dos-batch"}, - CaseInsensitive: true, - }, - Rules{ - "root": { - {`\)((?=\()|(?=\^?[\t\v\f\r ,;=\xa0]|[&<>|\n\x1a]))(?:(?:[^\n\x1a^]|\^[\n\x1a]?[\w\W])*)`, CommentSingle, nil}, - {`(?=((?:(?<=^[^:])|^[^:]?)[\t\v\f\r ,;=\xa0]*)(:))`, Text, Push("follow")}, - {`(?:(?:(?:\^[\n\x1a])?[\t\v\f\r ,;=\xa0])+)`, UsingSelf("text"), nil}, - Include("redirect"), - {`[\n\x1a]+`, Text, nil}, - {`\(`, Punctuation, Push("root/compound")}, - {`@+`, Punctuation, nil}, - {`((?:for|if|rem)(?:(?=(?:\^[\n\x1a]?)?/)|(?:(?!\^)|(?<=m))(?:(?=\()|(?=\^?[\t\v\f\r ,;=\xa0]|[&<>|\n\x1a]))))((?:(?:(?:\^[\n\x1a])?[\t\v\f\r ,;=\xa0])+)?(?:(?:(?:\^[\n\x1a]?)?[^"\n\x1a&<>|\t\v\f\r ,;=\xa0])+)?(?:\^[\n\x1a]?)?/(?:\^[\n\x1a]?)?\?)`, ByGroups(Keyword, UsingSelf("text")), Push("follow")}, - {`(goto(?=(?:\^[\n\x1a]?)?[\t\v\f\r ,;=\xa0+./:[\\\]]|[\n\x1a&<>|(]))((?:(?:"[^\n\x1a"]*(?:"|(?=[\n\x1a])))|(?:(?:%(?:\*|(?:~[a-z]*(?:\$[^:]+:)?)?\d|[^%:\n\x1a]+(?::(?:~(?:-?\d+)?(?:,(?:-?\d+)?)?|(?:[^%\n\x1a^]|\^[^%\n\x1a])[^=\n\x1a]*=(?:[^%\n\x1a^]|\^[^%\n\x1a])*)?)?%))|(?:\^?![^!:\n\x1a]+(?::(?:~(?:-?\d+)?(?:,(?:-?\d+)?)?|(?:[^!\n\x1a^]|\^[^!\n\x1a])[^=\n\x1a]*=(?:[^!\n\x1a^]|\^[^!\n\x1a])*)?)?\^?!))|[^"%\n\x1a&<>|])*(?:\^[\n\x1a]?)?/(?:\^[\n\x1a]?)?\?(?:(?:"[^\n\x1a"]*(?:"|(?=[\n\x1a])))|(?:(?:%(?:\*|(?:~[a-z]*(?:\$[^:]+:)?)?\d|[^%:\n\x1a]+(?::(?:~(?:-?\d+)?(?:,(?:-?\d+)?)?|(?:[^%\n\x1a^]|\^[^%\n\x1a])[^=\n\x1a]*=(?:[^%\n\x1a^]|\^[^%\n\x1a])*)?)?%))|(?:\^?![^!:\n\x1a]+(?::(?:~(?:-?\d+)?(?:,(?:-?\d+)?)?|(?:[^!\n\x1a^]|\^[^!\n\x1a])[^=\n\x1a]*=(?:[^!\n\x1a^]|\^[^!\n\x1a])*)?)?\^?!))|[^"%\n\x1a&<>|])*)`, ByGroups(Keyword, UsingSelf("text")), Push("follow")}, - {Words(``, `(?=(?:\^[\n\x1a]?)?[\t\v\f\r ,;=\xa0+./:[\\\]]|[\n\x1a&<>|(])`, `assoc`, `break`, `cd`, `chdir`, `cls`, `color`, `copy`, `date`, `del`, `dir`, `dpath`, `echo`, `endlocal`, `erase`, `exit`, `ftype`, `keys`, `md`, `mkdir`, `mklink`, `move`, `path`, `pause`, `popd`, `prompt`, `pushd`, `rd`, `ren`, `rename`, `rmdir`, `setlocal`, `shift`, `start`, `time`, `title`, `type`, `ver`, `verify`, `vol`), Keyword, Push("follow")}, - {`(call)((?:(?:(?:\^[\n\x1a])?[\t\v\f\r ,;=\xa0])+)?)(:)`, ByGroups(Keyword, UsingSelf("text"), Punctuation), Push("call")}, - {`call(?=(?:\^[\n\x1a]?)?[\t\v\f\r ,;=\xa0+./:[\\\]]|[\n\x1a&<>|(])`, Keyword, nil}, - {`(for(?=\^?[\t\v\f\r ,;=\xa0]|[&<>|\n\x1a])(?!\^))((?:(?:(?:\^[\n\x1a])?[\t\v\f\r ,;=\xa0])+))(/f(?=\^?[\t\v\f\r ,;=\xa0]|[&<>|\n\x1a]))`, ByGroups(Keyword, UsingSelf("text"), Keyword), Push("for/f", "for")}, - {`(for(?=\^?[\t\v\f\r ,;=\xa0]|[&<>|\n\x1a])(?!\^))((?:(?:(?:\^[\n\x1a])?[\t\v\f\r ,;=\xa0])+))(/l(?=\^?[\t\v\f\r ,;=\xa0]|[&<>|\n\x1a]))`, ByGroups(Keyword, UsingSelf("text"), Keyword), Push("for/l", "for")}, - {`for(?=\^?[\t\v\f\r ,;=\xa0]|[&<>|\n\x1a])(?!\^)`, Keyword, Push("for2", "for")}, - {`(goto(?=(?:\^[\n\x1a]?)?[\t\v\f\r ,;=\xa0+./:[\\\]]|[\n\x1a&<>|(]))((?:(?:(?:\^[\n\x1a])?[\t\v\f\r ,;=\xa0])+)?)(:?)`, ByGroups(Keyword, UsingSelf("text"), Punctuation), Push("label")}, - {`(if(?:(?=\()|(?=\^?[\t\v\f\r ,;=\xa0]|[&<>|\n\x1a]))(?!\^))((?:(?:(?:\^[\n\x1a])?[\t\v\f\r ,;=\xa0])+)?)((?:/i(?=\^?[\t\v\f\r ,;=\xa0]|[&<>|\n\x1a]))?)((?:(?:(?:\^[\n\x1a])?[\t\v\f\r ,;=\xa0])+)?)((?:not(?=\^?[\t\v\f\r ,;=\xa0]|[&<>|\n\x1a]))?)((?:(?:(?:\^[\n\x1a])?[\t\v\f\r ,;=\xa0])+)?)`, ByGroups(Keyword, UsingSelf("text"), Keyword, UsingSelf("text"), Keyword, UsingSelf("text")), Push("(?", "if")}, - {`rem(((?=\()|(?=\^?[\t\v\f\r ,;=\xa0]|[&<>|\n\x1a]))(?:(?:(?:\^[\n\x1a])?[\t\v\f\r ,;=\xa0])+)?(?:[&<>|]+|(?:(?:"[^\n\x1a"]*(?:"|(?=[\n\x1a])))|(?:(?:%(?:\*|(?:~[a-z]*(?:\$[^:]+:)?)?\d|[^%:\n\x1a]+(?::(?:~(?:-?\d+)?(?:,(?:-?\d+)?)?|(?:[^%\n\x1a^]|\^[^%\n\x1a])[^=\n\x1a]*=(?:[^%\n\x1a^]|\^[^%\n\x1a])*)?)?%))|(?:\^?![^!:\n\x1a]+(?::(?:~(?:-?\d+)?(?:,(?:-?\d+)?)?|(?:[^!\n\x1a^]|\^[^!\n\x1a])[^=\n\x1a]*=(?:[^!\n\x1a^]|\^[^!\n\x1a])*)?)?\^?!))|(?:(?:(?:\^[\n\x1a]?)?[^"\n\x1a&<>|\t\v\f\r ,;=\xa0])+))+)?.*|(?=(?:\^[\n\x1a]?)?[\t\v\f\r ,;=\xa0+./:[\\\]]|[\n\x1a&<>|(])(?:(?:[^\n\x1a^]|\^[\n\x1a]?[\w\W])*))`, CommentSingle, Push("follow")}, - {`(set(?=(?:\^[\n\x1a]?)?[\t\v\f\r ,;=\xa0+./:[\\\]]|[\n\x1a&<>|(]))((?:(?:\^[\n\x1a]?)?[^\S\n])*)(/a)`, ByGroups(Keyword, UsingSelf("text"), Keyword), Push("arithmetic")}, - {`(set(?=(?:\^[\n\x1a]?)?[\t\v\f\r ,;=\xa0+./:[\\\]]|[\n\x1a&<>|(]))((?:(?:\^[\n\x1a]?)?[^\S\n])*)((?:/p)?)((?:(?:\^[\n\x1a]?)?[^\S\n])*)((?:(?:(?:\^[\n\x1a]?)?[^"\n\x1a&<>|^=]|\^[\n\x1a]?[^"=])+)?)((?:(?:\^[\n\x1a]?)?=)?)`, ByGroups(Keyword, UsingSelf("text"), Keyword, UsingSelf("text"), UsingSelf("variable"), Punctuation), Push("follow")}, - Default(Push("follow")), - }, - "follow": { - {`((?:(?<=^[^:])|^[^:]?)[\t\v\f\r ,;=\xa0]*)(:)([\t\v\f\r ,;=\xa0]*)((?:(?:[^\n\x1a&<>|\t\v\f\r ,;=\xa0+:^]|\^[\n\x1a]?[\w\W])*))(.*)`, ByGroups(Text, Punctuation, Text, NameLabel, CommentSingle), nil}, - Include("redirect"), - {`(?=[\n\x1a])`, Text, Pop(1)}, - {`\|\|?|&&?`, Punctuation, Pop(1)}, - Include("text"), - }, - "arithmetic": { - {`0[0-7]+`, LiteralNumberOct, nil}, - {`0x[\da-f]+`, LiteralNumberHex, nil}, - {`\d+`, LiteralNumberInteger, nil}, - {`[(),]+`, Punctuation, nil}, - {`([=+\-*/!~]|%|\^\^)+`, Operator, nil}, - {`((?:"[^\n\x1a"]*(?:"|(?=[\n\x1a])))|(?:(?:%(?:\*|(?:~[a-z]*(?:\$[^:]+:)?)?\d|[^%:\n\x1a]+(?::(?:~(?:-?\d+)?(?:,(?:-?\d+)?)?|(?:[^%\n\x1a^]|\^[^%\n\x1a])[^=\n\x1a]*=(?:[^%\n\x1a^]|\^[^%\n\x1a])*)?)?%))|(?:\^?![^!:\n\x1a]+(?::(?:~(?:-?\d+)?(?:,(?:-?\d+)?)?|(?:[^!\n\x1a^]|\^[^!\n\x1a])[^=\n\x1a]*=(?:[^!\n\x1a^]|\^[^!\n\x1a])*)?)?\^?!))|(\^[\n\x1a]?)?[^()=+\-*/!~%^"\n\x1a&<>|\t\v\f\r ,;=\xa0]|\^[\n\x1a\t\v\f\r ,;=\xa0]?[\w\W])+`, UsingSelf("variable"), nil}, - {`(?=[\x00|&])`, Text, Pop(1)}, - Include("follow"), - }, - "call": { - {`(:?)((?:(?:[^\n\x1a&<>|\t\v\f\r ,;=\xa0+:^]|\^[\n\x1a]?[\w\W])*))`, ByGroups(Punctuation, NameLabel), Pop(1)}, - }, - "label": { - {`((?:(?:[^\n\x1a&<>|\t\v\f\r ,;=\xa0+:^]|\^[\n\x1a]?[\w\W])*)?)((?:(?:"[^\n\x1a"]*(?:"|(?=[\n\x1a])))|(?:(?:%(?:\*|(?:~[a-z]*(?:\$[^:]+:)?)?\d|[^%:\n\x1a]+(?::(?:~(?:-?\d+)?(?:,(?:-?\d+)?)?|(?:[^%\n\x1a^]|\^[^%\n\x1a])[^=\n\x1a]*=(?:[^%\n\x1a^]|\^[^%\n\x1a])*)?)?%))|(?:\^?![^!:\n\x1a]+(?::(?:~(?:-?\d+)?(?:,(?:-?\d+)?)?|(?:[^!\n\x1a^]|\^[^!\n\x1a])[^=\n\x1a]*=(?:[^!\n\x1a^]|\^[^!\n\x1a])*)?)?\^?!))|\^[\n\x1a]?[\w\W]|[^"%^\n\x1a&<>|])*)`, ByGroups(NameLabel, CommentSingle), Pop(1)}, - }, - "redirect": { - {`((?:(?<=[\n\x1a\t\v\f\r ,;=\xa0])\d)?)(>>?&|<&)([\n\x1a\t\v\f\r ,;=\xa0]*)(\d)`, ByGroups(LiteralNumberInteger, Punctuation, Text, LiteralNumberInteger), nil}, - {`((?:(?<=[\n\x1a\t\v\f\r ,;=\xa0])(?>?|<)((?:(?:(?:\^[\n\x1a])?[\t\v\f\r ,;=\xa0])+)?(?:[&<>|]+|(?:(?:"[^\n\x1a"]*(?:"|(?=[\n\x1a])))|(?:(?:%(?:\*|(?:~[a-z]*(?:\$[^:]+:)?)?\d|[^%:\n\x1a]+(?::(?:~(?:-?\d+)?(?:,(?:-?\d+)?)?|(?:[^%\n\x1a^]|\^[^%\n\x1a])[^=\n\x1a]*=(?:[^%\n\x1a^]|\^[^%\n\x1a])*)?)?%))|(?:\^?![^!:\n\x1a]+(?::(?:~(?:-?\d+)?(?:,(?:-?\d+)?)?|(?:[^!\n\x1a^]|\^[^!\n\x1a])[^=\n\x1a]*=(?:[^!\n\x1a^]|\^[^!\n\x1a])*)?)?\^?!))|(?:(?:(?:\^[\n\x1a]?)?[^"\n\x1a&<>|\t\v\f\r ,;=\xa0])+))+))`, ByGroups(LiteralNumberInteger, Punctuation, UsingSelf("text")), nil}, - }, - "root/compound": { - {`\)`, Punctuation, Pop(1)}, - {`(?=((?:(?<=^[^:])|^[^:]?)[\t\v\f\r ,;=\xa0]*)(:))`, Text, Push("follow/compound")}, - {`(?:(?:(?:\^[\n\x1a])?[\t\v\f\r ,;=\xa0])+)`, UsingSelf("text"), nil}, - Include("redirect/compound"), - {`[\n\x1a]+`, Text, nil}, - {`\(`, Punctuation, Push("root/compound")}, - {`@+`, Punctuation, nil}, - {`((?:for|if|rem)(?:(?=(?:\^[\n\x1a]?)?/)|(?:(?!\^)|(?<=m))(?:(?=\()|(?:(?=\))|(?=\^?[\t\v\f\r ,;=\xa0]|[&<>|\n\x1a])))))((?:(?:(?:\^[\n\x1a])?[\t\v\f\r ,;=\xa0])+)?(?:(?:(?:\^[\n\x1a]?)?[^"\n\x1a&<>|\t\v\f\r ,;=\xa0)])+)?(?:\^[\n\x1a]?)?/(?:\^[\n\x1a]?)?\?)`, ByGroups(Keyword, UsingSelf("text")), Push("follow/compound")}, - {`(goto(?:(?=\))|(?=(?:\^[\n\x1a]?)?[\t\v\f\r ,;=\xa0+./:[\\\]]|[\n\x1a&<>|(])))((?:(?:"[^\n\x1a"]*(?:"|(?=[\n\x1a])))|(?:(?:%(?:\*|(?:~[a-z]*(?:\$[^:]+:)?)?\d|[^%:\n\x1a]+(?::(?:~(?:-?\d+)?(?:,(?:-?\d+)?)?|(?:[^%\n\x1a^]|\^[^%\n\x1a])[^=\n\x1a]*=(?:[^%\n\x1a^]|\^[^%\n\x1a])*)?)?%))|(?:\^?![^!:\n\x1a]+(?::(?:~(?:-?\d+)?(?:,(?:-?\d+)?)?|(?:[^!\n\x1a^]|\^[^!\n\x1a])[^=\n\x1a]*=(?:[^!\n\x1a^]|\^[^!\n\x1a])*)?)?\^?!))|[^"%\n\x1a&<>|)])*(?:\^[\n\x1a]?)?/(?:\^[\n\x1a]?)?\?(?:(?:"[^\n\x1a"]*(?:"|(?=[\n\x1a])))|(?:(?:%(?:\*|(?:~[a-z]*(?:\$[^:]+:)?)?\d|[^%:\n\x1a]+(?::(?:~(?:-?\d+)?(?:,(?:-?\d+)?)?|(?:[^%\n\x1a^]|\^[^%\n\x1a])[^=\n\x1a]*=(?:[^%\n\x1a^]|\^[^%\n\x1a])*)?)?%))|(?:\^?![^!:\n\x1a]+(?::(?:~(?:-?\d+)?(?:,(?:-?\d+)?)?|(?:[^!\n\x1a^]|\^[^!\n\x1a])[^=\n\x1a]*=(?:[^!\n\x1a^]|\^[^!\n\x1a])*)?)?\^?!))|[^"%\n\x1a&<>|)])*)`, ByGroups(Keyword, UsingSelf("text")), Push("follow/compound")}, - {Words(``, `(?:(?=\))|(?=(?:\^[\n\x1a]?)?[\t\v\f\r ,;=\xa0+./:[\\\]]|[\n\x1a&<>|(]))`, `assoc`, `break`, `cd`, `chdir`, `cls`, `color`, `copy`, `date`, `del`, `dir`, `dpath`, `echo`, `endlocal`, `erase`, `exit`, `ftype`, `keys`, `md`, `mkdir`, `mklink`, `move`, `path`, `pause`, `popd`, `prompt`, `pushd`, `rd`, `ren`, `rename`, `rmdir`, `setlocal`, `shift`, `start`, `time`, `title`, `type`, `ver`, `verify`, `vol`), Keyword, Push("follow/compound")}, - {`(call)((?:(?:(?:\^[\n\x1a])?[\t\v\f\r ,;=\xa0])+)?)(:)`, ByGroups(Keyword, UsingSelf("text"), Punctuation), Push("call/compound")}, - {`call(?:(?=\))|(?=(?:\^[\n\x1a]?)?[\t\v\f\r ,;=\xa0+./:[\\\]]|[\n\x1a&<>|(]))`, Keyword, nil}, - {`(for(?:(?=\))|(?=\^?[\t\v\f\r ,;=\xa0]|[&<>|\n\x1a]))(?!\^))((?:(?:(?:\^[\n\x1a])?[\t\v\f\r ,;=\xa0])+))(/f(?:(?=\))|(?=\^?[\t\v\f\r ,;=\xa0]|[&<>|\n\x1a])))`, ByGroups(Keyword, UsingSelf("text"), Keyword), Push("for/f", "for")}, - {`(for(?:(?=\))|(?=\^?[\t\v\f\r ,;=\xa0]|[&<>|\n\x1a]))(?!\^))((?:(?:(?:\^[\n\x1a])?[\t\v\f\r ,;=\xa0])+))(/l(?:(?=\))|(?=\^?[\t\v\f\r ,;=\xa0]|[&<>|\n\x1a])))`, ByGroups(Keyword, UsingSelf("text"), Keyword), Push("for/l", "for")}, - {`for(?:(?=\))|(?=\^?[\t\v\f\r ,;=\xa0]|[&<>|\n\x1a]))(?!\^)`, Keyword, Push("for2", "for")}, - {`(goto(?:(?=\))|(?=(?:\^[\n\x1a]?)?[\t\v\f\r ,;=\xa0+./:[\\\]]|[\n\x1a&<>|(])))((?:(?:(?:\^[\n\x1a])?[\t\v\f\r ,;=\xa0])+)?)(:?)`, ByGroups(Keyword, UsingSelf("text"), Punctuation), Push("label/compound")}, - {`(if(?:(?=\()|(?:(?=\))|(?=\^?[\t\v\f\r ,;=\xa0]|[&<>|\n\x1a])))(?!\^))((?:(?:(?:\^[\n\x1a])?[\t\v\f\r ,;=\xa0])+)?)((?:/i(?:(?=\))|(?=\^?[\t\v\f\r ,;=\xa0]|[&<>|\n\x1a])))?)((?:(?:(?:\^[\n\x1a])?[\t\v\f\r ,;=\xa0])+)?)((?:not(?:(?=\))|(?=\^?[\t\v\f\r ,;=\xa0]|[&<>|\n\x1a])))?)((?:(?:(?:\^[\n\x1a])?[\t\v\f\r ,;=\xa0])+)?)`, ByGroups(Keyword, UsingSelf("text"), Keyword, UsingSelf("text"), Keyword, UsingSelf("text")), Push("(?", "if")}, - {`rem(((?=\()|(?:(?=\))|(?=\^?[\t\v\f\r ,;=\xa0]|[&<>|\n\x1a])))(?:(?:(?:\^[\n\x1a])?[\t\v\f\r ,;=\xa0])+)?(?:[&<>|]+|(?:(?:"[^\n\x1a"]*(?:"|(?=[\n\x1a])))|(?:(?:%(?:\*|(?:~[a-z]*(?:\$[^:]+:)?)?\d|[^%:\n\x1a]+(?::(?:~(?:-?\d+)?(?:,(?:-?\d+)?)?|(?:[^%\n\x1a^]|\^[^%\n\x1a])[^=\n\x1a]*=(?:[^%\n\x1a^]|\^[^%\n\x1a])*)?)?%))|(?:\^?![^!:\n\x1a]+(?::(?:~(?:-?\d+)?(?:,(?:-?\d+)?)?|(?:[^!\n\x1a^]|\^[^!\n\x1a])[^=\n\x1a]*=(?:[^!\n\x1a^]|\^[^!\n\x1a])*)?)?\^?!))|(?:(?:(?:\^[\n\x1a]?)?[^"\n\x1a&<>|\t\v\f\r ,;=\xa0])+))+)?.*|(?:(?=\))|(?=(?:\^[\n\x1a]?)?[\t\v\f\r ,;=\xa0+./:[\\\]]|[\n\x1a&<>|(]))(?:(?:[^\n\x1a^)]|\^[\n\x1a]?[^)])*))`, CommentSingle, Push("follow/compound")}, - {`(set(?:(?=\))|(?=(?:\^[\n\x1a]?)?[\t\v\f\r ,;=\xa0+./:[\\\]]|[\n\x1a&<>|(])))((?:(?:\^[\n\x1a]?)?[^\S\n])*)(/a)`, ByGroups(Keyword, UsingSelf("text"), Keyword), Push("arithmetic/compound")}, - {`(set(?:(?=\))|(?=(?:\^[\n\x1a]?)?[\t\v\f\r ,;=\xa0+./:[\\\]]|[\n\x1a&<>|(])))((?:(?:\^[\n\x1a]?)?[^\S\n])*)((?:/p)?)((?:(?:\^[\n\x1a]?)?[^\S\n])*)((?:(?:(?:\^[\n\x1a]?)?[^"\n\x1a&<>|^=)]|\^[\n\x1a]?[^"=])+)?)((?:(?:\^[\n\x1a]?)?=)?)`, ByGroups(Keyword, UsingSelf("text"), Keyword, UsingSelf("text"), UsingSelf("variable"), Punctuation), Push("follow/compound")}, - Default(Push("follow/compound")), - }, - "follow/compound": { - {`(?=\))`, Text, Pop(1)}, - {`((?:(?<=^[^:])|^[^:]?)[\t\v\f\r ,;=\xa0]*)(:)([\t\v\f\r ,;=\xa0]*)((?:(?:[^\n\x1a&<>|\t\v\f\r ,;=\xa0+:^)]|\^[\n\x1a]?[^)])*))(.*)`, ByGroups(Text, Punctuation, Text, NameLabel, CommentSingle), nil}, - Include("redirect/compound"), - {`(?=[\n\x1a])`, Text, Pop(1)}, - {`\|\|?|&&?`, Punctuation, Pop(1)}, - Include("text"), - }, - "arithmetic/compound": { - {`(?=\))`, Text, Pop(1)}, - {`0[0-7]+`, LiteralNumberOct, nil}, - {`0x[\da-f]+`, LiteralNumberHex, nil}, - {`\d+`, LiteralNumberInteger, nil}, - {`[(),]+`, Punctuation, nil}, - {`([=+\-*/!~]|%|\^\^)+`, Operator, nil}, - {`((?:"[^\n\x1a"]*(?:"|(?=[\n\x1a])))|(?:(?:%(?:\*|(?:~[a-z]*(?:\$[^:]+:)?)?\d|[^%:\n\x1a]+(?::(?:~(?:-?\d+)?(?:,(?:-?\d+)?)?|(?:[^%\n\x1a^]|\^[^%\n\x1a])[^=\n\x1a]*=(?:[^%\n\x1a^]|\^[^%\n\x1a])*)?)?%))|(?:\^?![^!:\n\x1a]+(?::(?:~(?:-?\d+)?(?:,(?:-?\d+)?)?|(?:[^!\n\x1a^]|\^[^!\n\x1a])[^=\n\x1a]*=(?:[^!\n\x1a^]|\^[^!\n\x1a])*)?)?\^?!))|(\^[\n\x1a]?)?[^()=+\-*/!~%^"\n\x1a&<>|\t\v\f\r ,;=\xa0]|\^[\n\x1a\t\v\f\r ,;=\xa0]?[^)])+`, UsingSelf("variable"), nil}, - {`(?=[\x00|&])`, Text, Pop(1)}, - Include("follow"), - }, - "call/compound": { - {`(?=\))`, Text, Pop(1)}, - {`(:?)((?:(?:[^\n\x1a&<>|\t\v\f\r ,;=\xa0+:^)]|\^[\n\x1a]?[^)])*))`, ByGroups(Punctuation, NameLabel), Pop(1)}, - }, - "label/compound": { - {`(?=\))`, Text, Pop(1)}, - {`((?:(?:[^\n\x1a&<>|\t\v\f\r ,;=\xa0+:^)]|\^[\n\x1a]?[^)])*)?)((?:(?:"[^\n\x1a"]*(?:"|(?=[\n\x1a])))|(?:(?:%(?:\*|(?:~[a-z]*(?:\$[^:]+:)?)?\d|[^%:\n\x1a]+(?::(?:~(?:-?\d+)?(?:,(?:-?\d+)?)?|(?:[^%\n\x1a^]|\^[^%\n\x1a])[^=\n\x1a]*=(?:[^%\n\x1a^]|\^[^%\n\x1a])*)?)?%))|(?:\^?![^!:\n\x1a]+(?::(?:~(?:-?\d+)?(?:,(?:-?\d+)?)?|(?:[^!\n\x1a^]|\^[^!\n\x1a])[^=\n\x1a]*=(?:[^!\n\x1a^]|\^[^!\n\x1a])*)?)?\^?!))|\^[\n\x1a]?[^)]|[^"%^\n\x1a&<>|)])*)`, ByGroups(NameLabel, CommentSingle), Pop(1)}, - }, - "redirect/compound": { - {`((?:(?<=[\n\x1a\t\v\f\r ,;=\xa0])\d)?)(>>?&|<&)([\n\x1a\t\v\f\r ,;=\xa0]*)(\d)`, ByGroups(LiteralNumberInteger, Punctuation, Text, LiteralNumberInteger), nil}, - {`((?:(?<=[\n\x1a\t\v\f\r ,;=\xa0])(?>?|<)((?:(?:(?:\^[\n\x1a])?[\t\v\f\r ,;=\xa0])+)?(?:[&<>|]+|(?:(?:"[^\n\x1a"]*(?:"|(?=[\n\x1a])))|(?:(?:%(?:\*|(?:~[a-z]*(?:\$[^:]+:)?)?\d|[^%:\n\x1a]+(?::(?:~(?:-?\d+)?(?:,(?:-?\d+)?)?|(?:[^%\n\x1a^]|\^[^%\n\x1a])[^=\n\x1a]*=(?:[^%\n\x1a^]|\^[^%\n\x1a])*)?)?%))|(?:\^?![^!:\n\x1a]+(?::(?:~(?:-?\d+)?(?:,(?:-?\d+)?)?|(?:[^!\n\x1a^]|\^[^!\n\x1a])[^=\n\x1a]*=(?:[^!\n\x1a^]|\^[^!\n\x1a])*)?)?\^?!))|(?:(?:(?:\^[\n\x1a]?)?[^"\n\x1a&<>|\t\v\f\r ,;=\xa0)])+))+))`, ByGroups(LiteralNumberInteger, Punctuation, UsingSelf("text")), nil}, - }, - "variable-or-escape": { - {`(?:(?:%(?:\*|(?:~[a-z]*(?:\$[^:]+:)?)?\d|[^%:\n\x1a]+(?::(?:~(?:-?\d+)?(?:,(?:-?\d+)?)?|(?:[^%\n\x1a^]|\^[^%\n\x1a])[^=\n\x1a]*=(?:[^%\n\x1a^]|\^[^%\n\x1a])*)?)?%))|(?:\^?![^!:\n\x1a]+(?::(?:~(?:-?\d+)?(?:,(?:-?\d+)?)?|(?:[^!\n\x1a^]|\^[^!\n\x1a])[^=\n\x1a]*=(?:[^!\n\x1a^]|\^[^!\n\x1a])*)?)?\^?!))`, NameVariable, nil}, - {`%%|\^[\n\x1a]?(\^!|[\w\W])`, LiteralStringEscape, nil}, - }, - "string": { - {`"`, LiteralStringDouble, Pop(1)}, - {`(?:(?:%(?:\*|(?:~[a-z]*(?:\$[^:]+:)?)?\d|[^%:\n\x1a]+(?::(?:~(?:-?\d+)?(?:,(?:-?\d+)?)?|(?:[^%\n\x1a^]|\^[^%\n\x1a])[^=\n\x1a]*=(?:[^%\n\x1a^]|\^[^%\n\x1a])*)?)?%))|(?:\^?![^!:\n\x1a]+(?::(?:~(?:-?\d+)?(?:,(?:-?\d+)?)?|(?:[^!\n\x1a^]|\^[^!\n\x1a])[^=\n\x1a]*=(?:[^!\n\x1a^]|\^[^!\n\x1a])*)?)?\^?!))`, NameVariable, nil}, - {`\^!|%%`, LiteralStringEscape, nil}, - {`[^"%^\n\x1a]+|[%^]`, LiteralStringDouble, nil}, - Default(Pop(1)), - }, - "sqstring": { - Include("variable-or-escape"), - {`[^%]+|%`, LiteralStringSingle, nil}, - }, - "bqstring": { - Include("variable-or-escape"), - {`[^%]+|%`, LiteralStringBacktick, nil}, - }, - "text": { - {`"`, LiteralStringDouble, Push("string")}, - Include("variable-or-escape"), - {`[^"%^\n\x1a&<>|\t\v\f\r ,;=\xa0\d)]+|.`, Text, nil}, - }, - "variable": { - {`"`, LiteralStringDouble, Push("string")}, - Include("variable-or-escape"), - {`[^"%^\n\x1a]+|.`, NameVariable, nil}, - }, - "for": { - {`((?:(?:(?:\^[\n\x1a])?[\t\v\f\r ,;=\xa0])+))(in)((?:(?:(?:\^[\n\x1a])?[\t\v\f\r ,;=\xa0])+))(\()`, ByGroups(UsingSelf("text"), Keyword, UsingSelf("text"), Punctuation), Pop(1)}, - Include("follow"), - }, - "for2": { - {`\)`, Punctuation, nil}, - {`((?:(?:(?:\^[\n\x1a])?[\t\v\f\r ,;=\xa0])+))(do(?=\^?[\t\v\f\r ,;=\xa0]|[&<>|\n\x1a]))`, ByGroups(UsingSelf("text"), Keyword), Pop(1)}, - {`[\n\x1a]+`, Text, nil}, - Include("follow"), - }, - "for/f": { - {`(")((?:(?:(?:%(?:\*|(?:~[a-z]*(?:\$[^:]+:)?)?\d|[^%:\n\x1a]+(?::(?:~(?:-?\d+)?(?:,(?:-?\d+)?)?|(?:[^%\n\x1a^]|\^[^%\n\x1a])[^=\n\x1a]*=(?:[^%\n\x1a^]|\^[^%\n\x1a])*)?)?%))|(?:\^?![^!:\n\x1a]+(?::(?:~(?:-?\d+)?(?:,(?:-?\d+)?)?|(?:[^!\n\x1a^]|\^[^!\n\x1a])[^=\n\x1a]*=(?:[^!\n\x1a^]|\^[^!\n\x1a])*)?)?\^?!))|[^"])*?")([\n\x1a\t\v\f\r ,;=\xa0]*)(\))`, ByGroups(LiteralStringDouble, UsingSelf("string"), Text, Punctuation), nil}, - {`"`, LiteralStringDouble, Push("#pop", "for2", "string")}, - {`('(?:%%|(?:(?:%(?:\*|(?:~[a-z]*(?:\$[^:]+:)?)?\d|[^%:\n\x1a]+(?::(?:~(?:-?\d+)?(?:,(?:-?\d+)?)?|(?:[^%\n\x1a^]|\^[^%\n\x1a])[^=\n\x1a]*=(?:[^%\n\x1a^]|\^[^%\n\x1a])*)?)?%))|(?:\^?![^!:\n\x1a]+(?::(?:~(?:-?\d+)?(?:,(?:-?\d+)?)?|(?:[^!\n\x1a^]|\^[^!\n\x1a])[^=\n\x1a]*=(?:[^!\n\x1a^]|\^[^!\n\x1a])*)?)?\^?!))|[\w\W])*?')([\n\x1a\t\v\f\r ,;=\xa0]*)(\))`, ByGroups(UsingSelf("sqstring"), Text, Punctuation), nil}, - {"(`(?:%%|(?:(?:%(?:\\*|(?:~[a-z]*(?:\\$[^:]+:)?)?\\d|[^%:\\n\\x1a]+(?::(?:~(?:-?\\d+)?(?:,(?:-?\\d+)?)?|(?:[^%\\n\\x1a^]|\\^[^%\\n\\x1a])[^=\\n\\x1a]*=(?:[^%\\n\\x1a^]|\\^[^%\\n\\x1a])*)?)?%))|(?:\\^?![^!:\\n\\x1a]+(?::(?:~(?:-?\\d+)?(?:,(?:-?\\d+)?)?|(?:[^!\\n\\x1a^]|\\^[^!\\n\\x1a])[^=\\n\\x1a]*=(?:[^!\\n\\x1a^]|\\^[^!\\n\\x1a])*)?)?\\^?!))|[\\w\\W])*?`)([\\n\\x1a\\t\\v\\f\\r ,;=\\xa0]*)(\\))", ByGroups(UsingSelf("bqstring"), Text, Punctuation), nil}, - Include("for2"), - }, - "for/l": { - {`-?\d+`, LiteralNumberInteger, nil}, - Include("for2"), - }, - "if": { - {`((?:cmdextversion|errorlevel)(?=\^?[\t\v\f\r ,;=\xa0]|[&<>|\n\x1a]))((?:(?:(?:\^[\n\x1a])?[\t\v\f\r ,;=\xa0])+))(\d+)`, ByGroups(Keyword, UsingSelf("text"), LiteralNumberInteger), Pop(1)}, - {`(defined(?=\^?[\t\v\f\r ,;=\xa0]|[&<>|\n\x1a]))((?:(?:(?:\^[\n\x1a])?[\t\v\f\r ,;=\xa0])+))((?:[&<>|]+|(?:(?:"[^\n\x1a"]*(?:"|(?=[\n\x1a])))|(?:(?:%(?:\*|(?:~[a-z]*(?:\$[^:]+:)?)?\d|[^%:\n\x1a]+(?::(?:~(?:-?\d+)?(?:,(?:-?\d+)?)?|(?:[^%\n\x1a^]|\^[^%\n\x1a])[^=\n\x1a]*=(?:[^%\n\x1a^]|\^[^%\n\x1a])*)?)?%))|(?:\^?![^!:\n\x1a]+(?::(?:~(?:-?\d+)?(?:,(?:-?\d+)?)?|(?:[^!\n\x1a^]|\^[^!\n\x1a])[^=\n\x1a]*=(?:[^!\n\x1a^]|\^[^!\n\x1a])*)?)?\^?!))|(?:(?:(?:\^[\n\x1a]?)?[^"\n\x1a&<>|\t\v\f\r ,;=\xa0])+))+))`, ByGroups(Keyword, UsingSelf("text"), UsingSelf("variable")), Pop(1)}, - {`(exist(?=\^?[\t\v\f\r ,;=\xa0]|[&<>|\n\x1a]))((?:(?:(?:\^[\n\x1a])?[\t\v\f\r ,;=\xa0])+)(?:[&<>|]+|(?:(?:"[^\n\x1a"]*(?:"|(?=[\n\x1a])))|(?:(?:%(?:\*|(?:~[a-z]*(?:\$[^:]+:)?)?\d|[^%:\n\x1a]+(?::(?:~(?:-?\d+)?(?:,(?:-?\d+)?)?|(?:[^%\n\x1a^]|\^[^%\n\x1a])[^=\n\x1a]*=(?:[^%\n\x1a^]|\^[^%\n\x1a])*)?)?%))|(?:\^?![^!:\n\x1a]+(?::(?:~(?:-?\d+)?(?:,(?:-?\d+)?)?|(?:[^!\n\x1a^]|\^[^!\n\x1a])[^=\n\x1a]*=(?:[^!\n\x1a^]|\^[^!\n\x1a])*)?)?\^?!))|(?:(?:(?:\^[\n\x1a]?)?[^"\n\x1a&<>|\t\v\f\r ,;=\xa0])+))+))`, ByGroups(Keyword, UsingSelf("text")), Pop(1)}, - {`((?:-?(?:0[0-7]+|0x[\da-f]+|\d+)(?=\^?[\t\v\f\r ,;=\xa0]|[&<>|\n\x1a]))(?:(?:(?:\^[\n\x1a])?[\t\v\f\r ,;=\xa0])+))((?:equ|geq|gtr|leq|lss|neq))((?:(?:(?:\^[\n\x1a])?[\t\v\f\r ,;=\xa0])+)(?:-?(?:0[0-7]+|0x[\da-f]+|\d+)(?=\^?[\t\v\f\r ,;=\xa0]|[&<>|\n\x1a])))`, ByGroups(UsingSelf("arithmetic"), OperatorWord, UsingSelf("arithmetic")), Pop(1)}, - {`(?:[&<>|]+|(?:(?:"[^\n\x1a"]*(?:"|(?=[\n\x1a])))|(?:(?:%(?:\*|(?:~[a-z]*(?:\$[^:]+:)?)?\d|[^%:\n\x1a]+(?::(?:~(?:-?\d+)?(?:,(?:-?\d+)?)?|(?:[^%\n\x1a^]|\^[^%\n\x1a])[^=\n\x1a]*=(?:[^%\n\x1a^]|\^[^%\n\x1a])*)?)?%))|(?:\^?![^!:\n\x1a]+(?::(?:~(?:-?\d+)?(?:,(?:-?\d+)?)?|(?:[^!\n\x1a^]|\^[^!\n\x1a])[^=\n\x1a]*=(?:[^!\n\x1a^]|\^[^!\n\x1a])*)?)?\^?!))|(?:(?:(?:\^[\n\x1a]?)?[^"\n\x1a&<>|\t\v\f\r ,;=\xa0])+))+)`, UsingSelf("text"), Push("#pop", "if2")}, - }, - "if2": { - {`((?:(?:(?:\^[\n\x1a])?[\t\v\f\r ,;=\xa0])+)?)(==)((?:(?:(?:\^[\n\x1a])?[\t\v\f\r ,;=\xa0])+)?(?:[&<>|]+|(?:(?:"[^\n\x1a"]*(?:"|(?=[\n\x1a])))|(?:(?:%(?:\*|(?:~[a-z]*(?:\$[^:]+:)?)?\d|[^%:\n\x1a]+(?::(?:~(?:-?\d+)?(?:,(?:-?\d+)?)?|(?:[^%\n\x1a^]|\^[^%\n\x1a])[^=\n\x1a]*=(?:[^%\n\x1a^]|\^[^%\n\x1a])*)?)?%))|(?:\^?![^!:\n\x1a]+(?::(?:~(?:-?\d+)?(?:,(?:-?\d+)?)?|(?:[^!\n\x1a^]|\^[^!\n\x1a])[^=\n\x1a]*=(?:[^!\n\x1a^]|\^[^!\n\x1a])*)?)?\^?!))|(?:(?:(?:\^[\n\x1a]?)?[^"\n\x1a&<>|\t\v\f\r ,;=\xa0])+))+))`, ByGroups(UsingSelf("text"), Operator, UsingSelf("text")), Pop(1)}, - {`((?:(?:(?:\^[\n\x1a])?[\t\v\f\r ,;=\xa0])+))((?:equ|geq|gtr|leq|lss|neq))((?:(?:(?:\^[\n\x1a])?[\t\v\f\r ,;=\xa0])+)(?:[&<>|]+|(?:(?:"[^\n\x1a"]*(?:"|(?=[\n\x1a])))|(?:(?:%(?:\*|(?:~[a-z]*(?:\$[^:]+:)?)?\d|[^%:\n\x1a]+(?::(?:~(?:-?\d+)?(?:,(?:-?\d+)?)?|(?:[^%\n\x1a^]|\^[^%\n\x1a])[^=\n\x1a]*=(?:[^%\n\x1a^]|\^[^%\n\x1a])*)?)?%))|(?:\^?![^!:\n\x1a]+(?::(?:~(?:-?\d+)?(?:,(?:-?\d+)?)?|(?:[^!\n\x1a^]|\^[^!\n\x1a])[^=\n\x1a]*=(?:[^!\n\x1a^]|\^[^!\n\x1a])*)?)?\^?!))|(?:(?:(?:\^[\n\x1a]?)?[^"\n\x1a&<>|\t\v\f\r ,;=\xa0])+))+))`, ByGroups(UsingSelf("text"), OperatorWord, UsingSelf("text")), Pop(1)}, - }, - "(?": { - {`(?:(?:(?:\^[\n\x1a])?[\t\v\f\r ,;=\xa0])+)`, UsingSelf("text"), nil}, - {`\(`, Punctuation, Push("#pop", "else?", "root/compound")}, - Default(Pop(1)), - }, - "else?": { - {`(?:(?:(?:\^[\n\x1a])?[\t\v\f\r ,;=\xa0])+)`, UsingSelf("text"), nil}, - {`else(?=\^?[\t\v\f\r ,;=\xa0]|[&<>|\n\x1a])`, Keyword, Pop(1)}, - Default(Pop(1)), - }, - }, -)) diff --git a/vendor/github.com/alecthomas/chroma/lexers/b/blitz.go b/vendor/github.com/alecthomas/chroma/lexers/b/blitz.go deleted file mode 100644 index 5d5ffc85..00000000 --- a/vendor/github.com/alecthomas/chroma/lexers/b/blitz.go +++ /dev/null @@ -1,48 +0,0 @@ -package b - -import ( - . "github.com/alecthomas/chroma" // nolint - "github.com/alecthomas/chroma/lexers/internal" -) - -// Blitzbasic lexer. -var Blitzbasic = internal.Register(MustNewLexer( - &Config{ - Name: "BlitzBasic", - Aliases: []string{"blitzbasic", "b3d", "bplus"}, - Filenames: []string{"*.bb", "*.decls"}, - MimeTypes: []string{"text/x-bb"}, - CaseInsensitive: true, - }, - Rules{ - "root": { - {`[ \t]+`, Text, nil}, - {`;.*?\n`, CommentSingle, nil}, - {`"`, LiteralStringDouble, Push("string")}, - {`[0-9]+\.[0-9]*(?!\.)`, LiteralNumberFloat, nil}, - {`\.[0-9]+(?!\.)`, LiteralNumberFloat, nil}, - {`[0-9]+`, LiteralNumberInteger, nil}, - {`\$[0-9a-f]+`, LiteralNumberHex, nil}, - {`\%[10]+`, LiteralNumberBin, nil}, - {Words(`\b`, `\b`, `Shl`, `Shr`, `Sar`, `Mod`, `Or`, `And`, `Not`, `Abs`, `Sgn`, `Handle`, `Int`, `Float`, `Str`, `First`, `Last`, `Before`, `After`), Operator, nil}, - {`([+\-*/~=<>^])`, Operator, nil}, - {`[(),:\[\]\\]`, Punctuation, nil}, - {`\.([ \t]*)([a-z]\w*)`, NameLabel, nil}, - {`\b(New)\b([ \t]+)([a-z]\w*)`, ByGroups(KeywordReserved, Text, NameClass), nil}, - {`\b(Gosub|Goto)\b([ \t]+)([a-z]\w*)`, ByGroups(KeywordReserved, Text, NameLabel), nil}, - {`\b(Object)\b([ \t]*)([.])([ \t]*)([a-z]\w*)\b`, ByGroups(Operator, Text, Punctuation, Text, NameClass), nil}, - {`\b([a-z]\w*)(?:([ \t]*)(@{1,2}|[#$%])|([ \t]*)([.])([ \t]*)(?:([a-z]\w*)))?\b([ \t]*)(\()`, ByGroups(NameFunction, Text, KeywordType, Text, Punctuation, Text, NameClass, Text, Punctuation), nil}, - {`\b(Function)\b([ \t]+)([a-z]\w*)(?:([ \t]*)(@{1,2}|[#$%])|([ \t]*)([.])([ \t]*)(?:([a-z]\w*)))?`, ByGroups(KeywordReserved, Text, NameFunction, Text, KeywordType, Text, Punctuation, Text, NameClass), nil}, - {`\b(Type)([ \t]+)([a-z]\w*)`, ByGroups(KeywordReserved, Text, NameClass), nil}, - {`\b(Pi|True|False|Null)\b`, KeywordConstant, nil}, - {`\b(Local|Global|Const|Field|Dim)\b`, KeywordDeclaration, nil}, - {Words(`\b`, `\b`, `End`, `Return`, `Exit`, `Chr`, `Len`, `Asc`, `New`, `Delete`, `Insert`, `Include`, `Function`, `Type`, `If`, `Then`, `Else`, `ElseIf`, `EndIf`, `For`, `To`, `Next`, `Step`, `Each`, `While`, `Wend`, `Repeat`, `Until`, `Forever`, `Select`, `Case`, `Default`, `Goto`, `Gosub`, `Data`, `Read`, `Restore`), KeywordReserved, nil}, - {`([a-z]\w*)(?:([ \t]*)(@{1,2}|[#$%])|([ \t]*)([.])([ \t]*)(?:([a-z]\w*)))?`, ByGroups(NameVariable, Text, KeywordType, Text, Punctuation, Text, NameClass), nil}, - }, - "string": { - {`""`, LiteralStringDouble, nil}, - {`"C?`, LiteralStringDouble, Pop(1)}, - {`[^"]+`, LiteralStringDouble, nil}, - }, - }, -)) diff --git a/vendor/github.com/alecthomas/chroma/lexers/b/bnf.go b/vendor/github.com/alecthomas/chroma/lexers/b/bnf.go deleted file mode 100644 index 5123a45a..00000000 --- a/vendor/github.com/alecthomas/chroma/lexers/b/bnf.go +++ /dev/null @@ -1,24 +0,0 @@ -package b - -import ( - . "github.com/alecthomas/chroma" // nolint - "github.com/alecthomas/chroma/lexers/internal" -) - -// Bnf lexer. -var Bnf = internal.Register(MustNewLexer( - &Config{ - Name: "BNF", - Aliases: []string{"bnf"}, - Filenames: []string{"*.bnf"}, - MimeTypes: []string{"text/x-bnf"}, - }, - Rules{ - "root": { - {`(<)([ -;=?-~]+)(>)`, ByGroups(Punctuation, NameClass, Punctuation), nil}, - {`::=`, Operator, nil}, - {`[^<>:]+`, Text, nil}, - {`.`, Text, nil}, - }, - }, -)) diff --git a/vendor/github.com/alecthomas/chroma/lexers/b/brainfuck.go b/vendor/github.com/alecthomas/chroma/lexers/b/brainfuck.go deleted file mode 100644 index 6fac5f5e..00000000 --- a/vendor/github.com/alecthomas/chroma/lexers/b/brainfuck.go +++ /dev/null @@ -1,34 +0,0 @@ -package b - -import ( - . "github.com/alecthomas/chroma" // nolint - "github.com/alecthomas/chroma/lexers/internal" -) - -// Brainfuck lexer. -var Brainfuck = internal.Register(MustNewLexer( - &Config{ - Name: "Brainfuck", - Aliases: []string{"brainfuck", "bf"}, - Filenames: []string{"*.bf", "*.b"}, - MimeTypes: []string{"application/x-brainfuck"}, - }, - Rules{ - "common": { - {`[.,]+`, NameTag, nil}, - {`[+-]+`, NameBuiltin, nil}, - {`[<>]+`, NameVariable, nil}, - {`[^.,+\-<>\[\]]+`, Comment, nil}, - }, - "root": { - {`\[`, Keyword, Push("loop")}, - {`\]`, Error, nil}, - Include("common"), - }, - "loop": { - {`\[`, Keyword, Push()}, - {`\]`, Keyword, Pop(1)}, - Include("common"), - }, - }, -)) diff --git a/vendor/github.com/alecthomas/chroma/lexers/c/c.go b/vendor/github.com/alecthomas/chroma/lexers/c/c.go deleted file mode 100644 index df2c0faa..00000000 --- a/vendor/github.com/alecthomas/chroma/lexers/c/c.go +++ /dev/null @@ -1,91 +0,0 @@ -package c - -import ( - . "github.com/alecthomas/chroma" // nolint - "github.com/alecthomas/chroma/lexers/internal" -) - -// C lexer. -var C = internal.Register(MustNewLexer( - &Config{ - Name: "C", - Aliases: []string{"c"}, - Filenames: []string{"*.c", "*.h", "*.idc"}, - MimeTypes: []string{"text/x-chdr", "text/x-csrc"}, - }, - Rules{ - "whitespace": { - {`^#if\s+0`, CommentPreproc, Push("if0")}, - {`^#`, CommentPreproc, Push("macro")}, - {`^(\s*(?:/[*].*?[*]/\s*)?)(#if\s+0)`, ByGroups(UsingSelf("root"), CommentPreproc), Push("if0")}, - {`^(\s*(?:/[*].*?[*]/\s*)?)(#)`, ByGroups(UsingSelf("root"), CommentPreproc), Push("macro")}, - {`\n`, Text, nil}, - {`\s+`, Text, nil}, - {`\\\n`, Text, nil}, - {`//(\n|[\w\W]*?[^\\]\n)`, CommentSingle, nil}, - {`/(\\\n)?[*][\w\W]*?[*](\\\n)?/`, CommentMultiline, nil}, - {`/(\\\n)?[*][\w\W]*`, CommentMultiline, nil}, - }, - "statements": { - {`(L?)(")`, ByGroups(LiteralStringAffix, LiteralString), Push("string")}, - {`(L?)(')(\\.|\\[0-7]{1,3}|\\x[a-fA-F0-9]{1,2}|[^\\\'\n])(')`, ByGroups(LiteralStringAffix, LiteralStringChar, LiteralStringChar, LiteralStringChar), nil}, - {`(\d+\.\d*|\.\d+|\d+)[eE][+-]?\d+[LlUu]*`, LiteralNumberFloat, nil}, - {`(\d+\.\d*|\.\d+|\d+[fF])[fF]?`, LiteralNumberFloat, nil}, - {`0x[0-9a-fA-F]+[LlUu]*`, LiteralNumberHex, nil}, - {`0[0-7]+[LlUu]*`, LiteralNumberOct, nil}, - {`\d+[LlUu]*`, LiteralNumberInteger, nil}, - {`\*/`, Error, nil}, - {`[~!%^&*+=|?:<>/-]`, Operator, nil}, - {`[()\[\],.]`, Punctuation, nil}, - {Words(``, `\b`, `asm`, `auto`, `break`, `case`, `const`, `continue`, `default`, `do`, `else`, `enum`, `extern`, `for`, `goto`, `if`, `register`, `restricted`, `return`, `sizeof`, `static`, `struct`, `switch`, `typedef`, `union`, `volatile`, `while`), Keyword, nil}, - {`(bool|int|long|float|short|double|char|unsigned|signed|void)\b`, KeywordType, nil}, - {Words(``, `\b`, `inline`, `_inline`, `__inline`, `naked`, `restrict`, `thread`, `typename`), KeywordReserved, nil}, - {`(__m(128i|128d|128|64))\b`, KeywordReserved, nil}, - {Words(`__`, `\b`, `asm`, `int8`, `based`, `except`, `int16`, `stdcall`, `cdecl`, `fastcall`, `int32`, `declspec`, `finally`, `int64`, `try`, `leave`, `wchar_t`, `w64`, `unaligned`, `raise`, `noop`, `identifier`, `forceinline`, `assume`), KeywordReserved, nil}, - {`(true|false|NULL)\b`, NameBuiltin, nil}, - {`([a-zA-Z_]\w*)(\s*)(:)(?!:)`, ByGroups(NameLabel, Text, Punctuation), nil}, - {`[a-zA-Z_]\w*`, Name, nil}, - }, - "root": { - Include("whitespace"), - {`((?:[\w*\s])+?(?:\s|[*]))([a-zA-Z_]\w*)(\s*\([^;]*?\))([^;{]*)(\{)`, ByGroups(UsingSelf("root"), NameFunction, UsingSelf("root"), UsingSelf("root"), Punctuation), Push("function")}, - {`((?:[\w*\s])+?(?:\s|[*]))([a-zA-Z_]\w*)(\s*\([^;]*?\))([^;]*)(;)`, ByGroups(UsingSelf("root"), NameFunction, UsingSelf("root"), UsingSelf("root"), Punctuation), nil}, - Default(Push("statement")), - }, - "statement": { - Include("whitespace"), - Include("statements"), - {`[{}]`, Punctuation, nil}, - {`;`, Punctuation, Pop(1)}, - }, - "function": { - Include("whitespace"), - Include("statements"), - {`;`, Punctuation, nil}, - {`\{`, Punctuation, Push()}, - {`\}`, Punctuation, Pop(1)}, - }, - "string": { - {`"`, LiteralString, Pop(1)}, - {`\\([\\abfnrtv"\']|x[a-fA-F0-9]{2,4}|u[a-fA-F0-9]{4}|U[a-fA-F0-9]{8}|[0-7]{1,3})`, LiteralStringEscape, nil}, - {`[^\\"\n]+`, LiteralString, nil}, - {`\\\n`, LiteralString, nil}, - {`\\`, LiteralString, nil}, - }, - "macro": { - {`(include)(\s*(?:/[*].*?[*]/\s*)?)([^\n]+)`, ByGroups(CommentPreproc, Text, CommentPreprocFile), nil}, - {`[^/\n]+`, CommentPreproc, nil}, - {`/[*](.|\n)*?[*]/`, CommentMultiline, nil}, - {`//.*?\n`, CommentSingle, Pop(1)}, - {`/`, CommentPreproc, nil}, - {`(?<=\\)\n`, CommentPreproc, nil}, - {`\n`, CommentPreproc, Pop(1)}, - }, - "if0": { - {`^\s*#if.*?(?|+=:;,./?-]`, Operator, nil}, - {`\d{1,3}(_\d{3})+\.\d{1,3}(_\d{3})+[kMGTPmunpf]?`, LiteralNumberFloat, nil}, - {`\d{1,3}(_\d{3})+\.[0-9]+([eE][+-]?[0-9]+)?[kMGTPmunpf]?`, LiteralNumberFloat, nil}, - {`[0-9][0-9]*\.\d{1,3}(_\d{3})+[kMGTPmunpf]?`, LiteralNumberFloat, nil}, - {`[0-9][0-9]*\.[0-9]+([eE][+-]?[0-9]+)?[kMGTPmunpf]?`, LiteralNumberFloat, nil}, - {`#([0-9a-fA-F]{4})(_[0-9a-fA-F]{4})+`, LiteralNumberHex, nil}, - {`#[0-9a-fA-F]+`, LiteralNumberHex, nil}, - {`\$([01]{4})(_[01]{4})+`, LiteralNumberBin, nil}, - {`\$[01]+`, LiteralNumberBin, nil}, - {`\d{1,3}(_\d{3})+[kMGTP]?`, LiteralNumberInteger, nil}, - {`[0-9]+[kMGTP]?`, LiteralNumberInteger, nil}, - {`\n`, Text, nil}, - }, - "class": { - {`[A-Za-z_]\w*`, NameClass, Pop(1)}, - }, - "import": { - {`[a-z][\w.]*`, NameNamespace, Pop(1)}, - }, - "comment": { - {`[^*/]`, CommentMultiline, nil}, - {`/\*`, CommentMultiline, Push()}, - {`\*/`, CommentMultiline, Pop(1)}, - {`[*/]`, CommentMultiline, nil}, - }, - }, -)) diff --git a/vendor/github.com/alecthomas/chroma/lexers/c/cfengine3.go b/vendor/github.com/alecthomas/chroma/lexers/c/cfengine3.go deleted file mode 100644 index f96252fa..00000000 --- a/vendor/github.com/alecthomas/chroma/lexers/c/cfengine3.go +++ /dev/null @@ -1,56 +0,0 @@ -package c - -import ( - . "github.com/alecthomas/chroma" // nolint - "github.com/alecthomas/chroma/lexers/internal" -) - -// Cfengine3 lexer. -var Cfengine3 = internal.Register(MustNewLexer( - &Config{ - Name: "CFEngine3", - Aliases: []string{"cfengine3", "cf3"}, - Filenames: []string{"*.cf"}, - MimeTypes: []string{}, - }, - Rules{ - "root": { - {`#.*?\n`, Comment, nil}, - {`(body)(\s+)(\S+)(\s+)(control)`, ByGroups(Keyword, Text, Keyword, Text, Keyword), nil}, - {`(body|bundle)(\s+)(\S+)(\s+)(\w+)(\()`, ByGroups(Keyword, Text, Keyword, Text, NameFunction, Punctuation), Push("arglist")}, - {`(body|bundle)(\s+)(\S+)(\s+)(\w+)`, ByGroups(Keyword, Text, Keyword, Text, NameFunction), nil}, - {`(")([^"]+)(")(\s+)(string|slist|int|real)(\s*)(=>)(\s*)`, ByGroups(Punctuation, NameVariable, Punctuation, Text, KeywordType, Text, Operator, Text), nil}, - {`(\S+)(\s*)(=>)(\s*)`, ByGroups(KeywordReserved, Text, Operator, Text), nil}, - {`"`, LiteralString, Push("string")}, - {`(\w+)(\()`, ByGroups(NameFunction, Punctuation), nil}, - {`([\w.!&|()]+)(::)`, ByGroups(NameClass, Punctuation), nil}, - {`(\w+)(:)`, ByGroups(KeywordDeclaration, Punctuation), nil}, - {`@[{(][^)}]+[})]`, NameVariable, nil}, - {`[(){},;]`, Punctuation, nil}, - {`=>`, Operator, nil}, - {`->`, Operator, nil}, - {`\d+\.\d+`, LiteralNumberFloat, nil}, - {`\d+`, LiteralNumberInteger, nil}, - {`\w+`, NameFunction, nil}, - {`\s+`, Text, nil}, - }, - "string": { - {`\$[{(]`, LiteralStringInterpol, Push("interpol")}, - {`\\.`, LiteralStringEscape, nil}, - {`"`, LiteralString, Pop(1)}, - {`\n`, LiteralString, nil}, - {`.`, LiteralString, nil}, - }, - "interpol": { - {`\$[{(]`, LiteralStringInterpol, Push()}, - {`[})]`, LiteralStringInterpol, Pop(1)}, - {`[^${()}]+`, LiteralStringInterpol, nil}, - }, - "arglist": { - {`\)`, Punctuation, Pop(1)}, - {`,`, Punctuation, nil}, - {`\w+`, NameVariable, nil}, - {`\s+`, Text, nil}, - }, - }, -)) diff --git a/vendor/github.com/alecthomas/chroma/lexers/c/chaiscript.go b/vendor/github.com/alecthomas/chroma/lexers/c/chaiscript.go deleted file mode 100644 index d2aa50db..00000000 --- a/vendor/github.com/alecthomas/chroma/lexers/c/chaiscript.go +++ /dev/null @@ -1,63 +0,0 @@ -package c - -import ( - . "github.com/alecthomas/chroma" // nolint - "github.com/alecthomas/chroma/lexers/internal" -) - -// Chaiscript lexer. -var Chaiscript = internal.Register(MustNewLexer( - &Config{ - Name: "ChaiScript", - Aliases: []string{"chai", "chaiscript"}, - Filenames: []string{"*.chai"}, - MimeTypes: []string{"text/x-chaiscript", "application/x-chaiscript"}, - DotAll: true, - }, - Rules{ - "commentsandwhitespace": { - {`\s+`, Text, nil}, - {`//.*?\n`, CommentSingle, nil}, - {`/\*.*?\*/`, CommentMultiline, nil}, - {`^\#.*?\n`, CommentSingle, nil}, - }, - "slashstartsregex": { - Include("commentsandwhitespace"), - {`/(\\.|[^[/\\\n]|\[(\\.|[^\]\\\n])*])+/([gim]+\b|\B)`, LiteralStringRegex, Pop(1)}, - {`(?=/)`, Text, Push("#pop", "badregex")}, - Default(Pop(1)), - }, - "badregex": { - {`\n`, Text, Pop(1)}, - }, - "root": { - Include("commentsandwhitespace"), - {`\n`, Text, nil}, - {`[^\S\n]+`, Text, nil}, - {`\+\+|--|~|&&|\?|:|\|\||\\(?=\n)|\.\.(<<|>>>?|==?|!=?|[-<>+*%&|^/])=?`, Operator, Push("slashstartsregex")}, - {`[{(\[;,]`, Punctuation, Push("slashstartsregex")}, - {`[})\].]`, Punctuation, nil}, - {`[=+\-*/]`, Operator, nil}, - {`(for|in|while|do|break|return|continue|if|else|throw|try|catch)\b`, Keyword, Push("slashstartsregex")}, - {`(var)\b`, KeywordDeclaration, Push("slashstartsregex")}, - {`(attr|def|fun)\b`, KeywordReserved, nil}, - {`(true|false)\b`, KeywordConstant, nil}, - {`(eval|throw)\b`, NameBuiltin, nil}, - {"`\\S+`", NameBuiltin, nil}, - {`[$a-zA-Z_]\w*`, NameOther, nil}, - {`[0-9][0-9]*\.[0-9]+([eE][0-9]+)?[fd]?`, LiteralNumberFloat, nil}, - {`0x[0-9a-fA-F]+`, LiteralNumberHex, nil}, - {`[0-9]+`, LiteralNumberInteger, nil}, - {`"`, LiteralStringDouble, Push("dqstring")}, - {`'(\\\\|\\'|[^'])*'`, LiteralStringSingle, nil}, - }, - "dqstring": { - {`\$\{[^"}]+?\}`, LiteralStringInterpol, nil}, - {`\$`, LiteralStringDouble, nil}, - {`\\\\`, LiteralStringDouble, nil}, - {`\\"`, LiteralStringDouble, nil}, - {`[^\\"$]+`, LiteralStringDouble, nil}, - {`"`, LiteralStringDouble, Pop(1)}, - }, - }, -)) diff --git a/vendor/github.com/alecthomas/chroma/lexers/c/cheetah.go b/vendor/github.com/alecthomas/chroma/lexers/c/cheetah.go deleted file mode 100644 index b2cb9c40..00000000 --- a/vendor/github.com/alecthomas/chroma/lexers/c/cheetah.go +++ /dev/null @@ -1,37 +0,0 @@ -package c - -import ( - . "github.com/alecthomas/chroma" // nolint - "github.com/alecthomas/chroma/lexers/internal" - . "github.com/alecthomas/chroma/lexers/p" // nolint -) - -// Cheetah lexer. -var Cheetah = internal.Register(MustNewLexer( - &Config{ - Name: "Cheetah", - Aliases: []string{"cheetah", "spitfire"}, - Filenames: []string{"*.tmpl", "*.spt"}, - MimeTypes: []string{"application/x-cheetah", "application/x-spitfire"}, - }, - Rules{ - "root": { - {`(##[^\n]*)$`, ByGroups(Comment), nil}, - {`#[*](.|\n)*?[*]#`, Comment, nil}, - {`#end[^#\n]*(?:#|$)`, CommentPreproc, nil}, - {`#slurp$`, CommentPreproc, nil}, - {`(#[a-zA-Z]+)([^#\n]*)(#|$)`, ByGroups(CommentPreproc, Using(Python), CommentPreproc), nil}, - {`(\$)([a-zA-Z_][\w.]*\w)`, ByGroups(CommentPreproc, Using(Python)), nil}, - {`(\$\{!?)(.*?)(\})(?s)`, ByGroups(CommentPreproc, Using(Python), CommentPreproc), nil}, - {`(?sx) - (.+?) # anything, followed by: - (?: - (?=\#[#a-zA-Z]*) | # an eval comment - (?=\$[a-zA-Z_{]) | # a substitution - \Z # end of string - ) - `, Other, nil}, - {`\s+`, Text, nil}, - }, - }, -)) diff --git a/vendor/github.com/alecthomas/chroma/lexers/c/cl.go b/vendor/github.com/alecthomas/chroma/lexers/c/cl.go deleted file mode 100644 index 6e048dea..00000000 --- a/vendor/github.com/alecthomas/chroma/lexers/c/cl.go +++ /dev/null @@ -1,74 +0,0 @@ -package c - -import ( - . "github.com/alecthomas/chroma" // nolint - "github.com/alecthomas/chroma/lexers/internal" -) - -// Common Lisp lexer. -var CommonLisp = internal.Register(MustNewLexer( - &Config{ - Name: "Common Lisp", - Aliases: []string{"common-lisp", "cl", "lisp"}, - Filenames: []string{"*.cl", "*.lisp"}, - MimeTypes: []string{"text/x-common-lisp"}, - CaseInsensitive: true, - }, - Rules{ - "root": { - Default(Push("body")), - }, - "multiline-comment": { - {`#\|`, CommentMultiline, Push()}, - {`\|#`, CommentMultiline, Pop(1)}, - {`[^|#]+`, CommentMultiline, nil}, - {`[|#]`, CommentMultiline, nil}, - }, - "commented-form": { - {`\(`, CommentPreproc, Push()}, - {`\)`, CommentPreproc, Pop(1)}, - {`[^()]+`, CommentPreproc, nil}, - }, - "body": { - {`\s+`, Text, nil}, - {`;.*$`, CommentSingle, nil}, - {`#\|`, CommentMultiline, Push("multiline-comment")}, - {`#\d*Y.*$`, CommentSpecial, nil}, - {`"(\\.|\\\n|[^"\\])*"`, LiteralString, nil}, - {`:(\|[^|]+\||(?:\\.|[\w!$%&*+-/<=>?@\[\]^{}~])(?:\\.|[\w!$%&*+-/<=>?@\[\]^{}~]|[#.:])*)`, LiteralStringSymbol, nil}, - {`::(\|[^|]+\||(?:\\.|[\w!$%&*+-/<=>?@\[\]^{}~])(?:\\.|[\w!$%&*+-/<=>?@\[\]^{}~]|[#.:])*)`, LiteralStringSymbol, nil}, - {`:#(\|[^|]+\||(?:\\.|[\w!$%&*+-/<=>?@\[\]^{}~])(?:\\.|[\w!$%&*+-/<=>?@\[\]^{}~]|[#.:])*)`, LiteralStringSymbol, nil}, - {`'(\|[^|]+\||(?:\\.|[\w!$%&*+-/<=>?@\[\]^{}~])(?:\\.|[\w!$%&*+-/<=>?@\[\]^{}~]|[#.:])*)`, LiteralStringSymbol, nil}, - {`'`, Operator, nil}, - {"`", Operator, nil}, - {"[-+]?\\d+\\.?(?=[ \"()\\'\\n,;`])", LiteralNumberInteger, nil}, - {"[-+]?\\d+/\\d+(?=[ \"()\\'\\n,;`])", LiteralNumber, nil}, - {"[-+]?(\\d*\\.\\d+([defls][-+]?\\d+)?|\\d+(\\.\\d*)?[defls][-+]?\\d+)(?=[ \"()\\'\\n,;`])", LiteralNumberFloat, nil}, - {"#\\\\.(?=[ \"()\\'\\n,;`])", LiteralStringChar, nil}, - {`#\\(\|[^|]+\||(?:\\.|[\w!$%&*+-/<=>?@\[\]^{}~])(?:\\.|[\w!$%&*+-/<=>?@\[\]^{}~]|[#.:])*)`, LiteralStringChar, nil}, - {`#\(`, Operator, Push("body")}, - {`#\d*\*[01]*`, LiteralOther, nil}, - {`#:(\|[^|]+\||(?:\\.|[\w!$%&*+-/<=>?@\[\]^{}~])(?:\\.|[\w!$%&*+-/<=>?@\[\]^{}~]|[#.:])*)`, LiteralStringSymbol, nil}, - {`#[.,]`, Operator, nil}, - {`#\'`, NameFunction, nil}, - {`#b[+-]?[01]+(/[01]+)?`, LiteralNumberBin, nil}, - {`#o[+-]?[0-7]+(/[0-7]+)?`, LiteralNumberOct, nil}, - {`#x[+-]?[0-9a-f]+(/[0-9a-f]+)?`, LiteralNumberHex, nil}, - {`#\d+r[+-]?[0-9a-z]+(/[0-9a-z]+)?`, LiteralNumber, nil}, - {`(#c)(\()`, ByGroups(LiteralNumber, Punctuation), Push("body")}, - {`(#\d+a)(\()`, ByGroups(LiteralOther, Punctuation), Push("body")}, - {`(#s)(\()`, ByGroups(LiteralOther, Punctuation), Push("body")}, - {`#p?"(\\.|[^"])*"`, LiteralOther, nil}, - {`#\d+=`, Operator, nil}, - {`#\d+#`, Operator, nil}, - {"#+nil(?=[ \"()\\'\\n,;`])\\s*\\(", CommentPreproc, Push("commented-form")}, - {`#[+-]`, Operator, nil}, - {`(,@|,|\.)`, Operator, nil}, - {"(t|nil)(?=[ \"()\\'\\n,;`])", NameConstant, nil}, - {`\*(\|[^|]+\||(?:\\.|[\w!$%&*+-/<=>?@\[\]^{}~])(?:\\.|[\w!$%&*+-/<=>?@\[\]^{}~]|[#.:])*)\*`, NameVariableGlobal, nil}, - {`(\|[^|]+\||(?:\\.|[\w!$%&*+-/<=>?@\[\]^{}~])(?:\\.|[\w!$%&*+-/<=>?@\[\]^{}~]|[#.:])*)`, NameVariable, nil}, - {`\(`, Punctuation, Push("body")}, - {`\)`, Punctuation, Pop(1)}, - }, - }, -)) diff --git a/vendor/github.com/alecthomas/chroma/lexers/c/clojure.go b/vendor/github.com/alecthomas/chroma/lexers/c/clojure.go deleted file mode 100644 index e63752a5..00000000 --- a/vendor/github.com/alecthomas/chroma/lexers/c/clojure.go +++ /dev/null @@ -1,38 +0,0 @@ -package c - -import ( - . "github.com/alecthomas/chroma" // nolint - "github.com/alecthomas/chroma/lexers/internal" -) - -// Clojure lexer. -var Clojure = internal.Register(MustNewLexer( - &Config{ - Name: "Clojure", - Aliases: []string{"clojure", "clj"}, - Filenames: []string{"*.clj"}, - MimeTypes: []string{"text/x-clojure", "application/x-clojure"}, - }, - Rules{ - "root": { - {`;.*$`, CommentSingle, nil}, - {`[,\s]+`, Text, nil}, - {`-?\d+\.\d+`, LiteralNumberFloat, nil}, - {`-?\d+`, LiteralNumberInteger, nil}, - {`0x-?[abcdef\d]+`, LiteralNumberHex, nil}, - {`"(\\\\|\\"|[^"])*"`, LiteralString, nil}, - {`'(?!#)[\w!$%*+<=>?/.#-]+`, LiteralStringSymbol, nil}, - {`\\(.|[a-z]+)`, LiteralStringChar, nil}, - {`::?#?(?!#)[\w!$%*+<=>?/.#-]+`, LiteralStringSymbol, nil}, - {"~@|[`\\'#^~&@]", Operator, nil}, - {Words(``, ` `, `.`, `def`, `do`, `fn`, `if`, `let`, `new`, `quote`, `var`, `loop`), Keyword, nil}, - {Words(``, ` `, `def-`, `defn`, `defn-`, `defmacro`, `defmulti`, `defmethod`, `defstruct`, `defonce`, `declare`, `definline`, `definterface`, `defprotocol`, `defrecord`, `deftype`, `defproject`, `ns`), KeywordDeclaration, nil}, - {Words(``, ` `, `*`, `+`, `-`, `->`, `/`, `<`, `<=`, `=`, `==`, `>`, `>=`, `..`, `accessor`, `agent`, `agent-errors`, `aget`, `alength`, `all-ns`, `alter`, `and`, `append-child`, `apply`, `array-map`, `aset`, `aset-boolean`, `aset-byte`, `aset-char`, `aset-double`, `aset-float`, `aset-int`, `aset-long`, `aset-short`, `assert`, `assoc`, `await`, `await-for`, `bean`, `binding`, `bit-and`, `bit-not`, `bit-or`, `bit-shift-left`, `bit-shift-right`, `bit-xor`, `boolean`, `branch?`, `butlast`, `byte`, `cast`, `char`, `children`, `class`, `clear-agent-errors`, `comment`, `commute`, `comp`, `comparator`, `complement`, `concat`, `conj`, `cons`, `constantly`, `cond`, `if-not`, `construct-proxy`, `contains?`, `count`, `create-ns`, `create-struct`, `cycle`, `dec`, `deref`, `difference`, `disj`, `dissoc`, `distinct`, `doall`, `doc`, `dorun`, `doseq`, `dosync`, `dotimes`, `doto`, `double`, `down`, `drop`, `drop-while`, `edit`, `end?`, `ensure`, `eval`, `every?`, `false?`, `ffirst`, `file-seq`, `filter`, `find`, `find-doc`, `find-ns`, `find-var`, `first`, `float`, `flush`, `for`, `fnseq`, `frest`, `gensym`, `get-proxy-class`, `get`, `hash-map`, `hash-set`, `identical?`, `identity`, `if-let`, `import`, `in-ns`, `inc`, `index`, `insert-child`, `insert-left`, `insert-right`, `inspect-table`, `inspect-tree`, `instance?`, `int`, `interleave`, `intersection`, `into`, `into-array`, `iterate`, `join`, `key`, `keys`, `keyword`, `keyword?`, `last`, `lazy-cat`, `lazy-cons`, `left`, `lefts`, `line-seq`, `list*`, `list`, `load`, `load-file`, `locking`, `long`, `loop`, `macroexpand`, `macroexpand-1`, `make-array`, `make-node`, `map`, `map-invert`, `map?`, `mapcat`, `max`, `max-key`, `memfn`, `merge`, `merge-with`, `meta`, `min`, `min-key`, `name`, `namespace`, `neg?`, `new`, `newline`, `next`, `nil?`, `node`, `not`, `not-any?`, `not-every?`, `not=`, `ns-imports`, `ns-interns`, `ns-map`, `ns-name`, `ns-publics`, `ns-refers`, `ns-resolve`, `ns-unmap`, `nth`, `nthrest`, `or`, `parse`, `partial`, `path`, `peek`, `pop`, `pos?`, `pr`, `pr-str`, `print`, `print-str`, `println`, `println-str`, `prn`, `prn-str`, `project`, `proxy`, `proxy-mappings`, `quot`, `rand`, `rand-int`, `range`, `re-find`, `re-groups`, `re-matcher`, `re-matches`, `re-pattern`, `re-seq`, `read`, `read-line`, `reduce`, `ref`, `ref-set`, `refer`, `rem`, `remove`, `remove-method`, `remove-ns`, `rename`, `rename-keys`, `repeat`, `replace`, `replicate`, `resolve`, `rest`, `resultset-seq`, `reverse`, `rfirst`, `right`, `rights`, `root`, `rrest`, `rseq`, `second`, `select`, `select-keys`, `send`, `send-off`, `seq`, `seq-zip`, `seq?`, `set`, `short`, `slurp`, `some`, `sort`, `sort-by`, `sorted-map`, `sorted-map-by`, `sorted-set`, `special-symbol?`, `split-at`, `split-with`, `str`, `string?`, `struct`, `struct-map`, `subs`, `subvec`, `symbol`, `symbol?`, `sync`, `take`, `take-nth`, `take-while`, `test`, `time`, `to-array`, `to-array-2d`, `tree-seq`, `true?`, `union`, `up`, `update-proxy`, `val`, `vals`, `var-get`, `var-set`, `var?`, `vector`, `vector-zip`, `vector?`, `when`, `when-first`, `when-let`, `when-not`, `with-local-vars`, `with-meta`, `with-open`, `with-out-str`, `xml-seq`, `xml-zip`, `zero?`, `zipmap`, `zipper`), NameBuiltin, nil}, - {`(?<=\()(?!#)[\w!$%*+<=>?/.#-]+`, NameFunction, nil}, - {`(?!#)[\w!$%*+<=>?/.#-]+`, NameVariable, nil}, - {`(\[|\])`, Punctuation, nil}, - {`(\{|\})`, Punctuation, nil}, - {`(\(|\))`, Punctuation, nil}, - }, - }, -)) diff --git a/vendor/github.com/alecthomas/chroma/lexers/c/cmake.go b/vendor/github.com/alecthomas/chroma/lexers/c/cmake.go deleted file mode 100644 index 163f17d9..00000000 --- a/vendor/github.com/alecthomas/chroma/lexers/c/cmake.go +++ /dev/null @@ -1,44 +0,0 @@ -package c - -import ( - . "github.com/alecthomas/chroma" // nolint - "github.com/alecthomas/chroma/lexers/internal" -) - -// Cmake lexer. -var Cmake = internal.Register(MustNewLexer( - &Config{ - Name: "CMake", - Aliases: []string{"cmake"}, - Filenames: []string{"*.cmake", "CMakeLists.txt"}, - MimeTypes: []string{"text/x-cmake"}, - }, - Rules{ - "root": { - {`\b(\w+)([ \t]*)(\()`, ByGroups(NameBuiltin, Text, Punctuation), Push("args")}, - Include("keywords"), - Include("ws"), - }, - "args": { - {`\(`, Punctuation, Push()}, - {`\)`, Punctuation, Pop(1)}, - {`(\$\{)(.+?)(\})`, ByGroups(Operator, NameVariable, Operator), nil}, - {`(\$ENV\{)(.+?)(\})`, ByGroups(Operator, NameVariable, Operator), nil}, - {`(\$<)(.+?)(>)`, ByGroups(Operator, NameVariable, Operator), nil}, - {`(?s)".*?"`, LiteralStringDouble, nil}, - {`\\\S+`, LiteralString, nil}, - {`[^)$"# \t\n]+`, LiteralString, nil}, - {`\n`, Text, nil}, - Include("keywords"), - Include("ws"), - }, - "string": {}, - "keywords": { - {`\b(WIN32|UNIX|APPLE|CYGWIN|BORLAND|MINGW|MSVC|MSVC_IDE|MSVC60|MSVC70|MSVC71|MSVC80|MSVC90)\b`, Keyword, nil}, - }, - "ws": { - {`[ \t]+`, Text, nil}, - {`#.*\n`, Comment, nil}, - }, - }, -)) diff --git a/vendor/github.com/alecthomas/chroma/lexers/c/cobol.go b/vendor/github.com/alecthomas/chroma/lexers/c/cobol.go deleted file mode 100644 index e9ae0bb7..00000000 --- a/vendor/github.com/alecthomas/chroma/lexers/c/cobol.go +++ /dev/null @@ -1,51 +0,0 @@ -package c - -import ( - . "github.com/alecthomas/chroma" // nolint - "github.com/alecthomas/chroma/lexers/internal" -) - -// Cobol lexer. -var Cobol = internal.Register(MustNewLexer( - &Config{ - Name: "COBOL", - Aliases: []string{"cobol"}, - Filenames: []string{"*.cob", "*.COB", "*.cpy", "*.CPY"}, - MimeTypes: []string{"text/x-cobol"}, - CaseInsensitive: true, - }, - Rules{ - "root": { - Include("comment"), - Include("strings"), - Include("core"), - Include("nums"), - {`[a-z0-9]([\w\-]*[a-z0-9]+)?`, NameVariable, nil}, - {`[ \t]+`, Text, nil}, - }, - "comment": { - {`(^.{6}[*/].*\n|^.{6}|\*>.*\n)`, Comment, nil}, - }, - "core": { - {`(^|(?<=[^\w\-]))(ALL\s+)?((ZEROES)|(HIGH-VALUE|LOW-VALUE|QUOTE|SPACE|ZERO)(S)?)\s*($|(?=[^\w\-]))`, NameConstant, nil}, - {Words(`(^|(?<=[^\w\-]))`, `\s*($|(?=[^\w\-]))`, `ACCEPT`, `ADD`, `ALLOCATE`, `CALL`, `CANCEL`, `CLOSE`, `COMPUTE`, `CONFIGURATION`, `CONTINUE`, `DATA`, `DELETE`, `DISPLAY`, `DIVIDE`, `DIVISION`, `ELSE`, `END`, `END-ACCEPT`, `END-ADD`, `END-CALL`, `END-COMPUTE`, `END-DELETE`, `END-DISPLAY`, `END-DIVIDE`, `END-EVALUATE`, `END-IF`, `END-MULTIPLY`, `END-OF-PAGE`, `END-PERFORM`, `END-READ`, `END-RETURN`, `END-REWRITE`, `END-SEARCH`, `END-START`, `END-STRING`, `END-SUBTRACT`, `END-UNSTRING`, `END-WRITE`, `ENVIRONMENT`, `EVALUATE`, `EXIT`, `FD`, `FILE`, `FILE-CONTROL`, `FOREVER`, `FREE`, `GENERATE`, `GO`, `GOBACK`, `IDENTIFICATION`, `IF`, `INITIALIZE`, `INITIATE`, `INPUT-OUTPUT`, `INSPECT`, `INVOKE`, `I-O-CONTROL`, `LINKAGE`, `LOCAL-STORAGE`, `MERGE`, `MOVE`, `MULTIPLY`, `OPEN`, `PERFORM`, `PROCEDURE`, `PROGRAM-ID`, `RAISE`, `READ`, `RELEASE`, `RESUME`, `RETURN`, `REWRITE`, `SCREEN`, `SD`, `SEARCH`, `SECTION`, `SET`, `SORT`, `START`, `STOP`, `STRING`, `SUBTRACT`, `SUPPRESS`, `TERMINATE`, `THEN`, `UNLOCK`, `UNSTRING`, `USE`, `VALIDATE`, `WORKING-STORAGE`, `WRITE`), KeywordReserved, nil}, - {Words(`(^|(?<=[^\w\-]))`, `\s*($|(?=[^\w\-]))`, `ACCESS`, `ADDRESS`, `ADVANCING`, `AFTER`, `ALL`, `ALPHABET`, `ALPHABETIC`, `ALPHABETIC-LOWER`, `ALPHABETIC-UPPER`, `ALPHANUMERIC`, `ALPHANUMERIC-EDITED`, `ALSO`, `ALTER`, `ALTERNATEANY`, `ARE`, `AREA`, `AREAS`, `ARGUMENT-NUMBER`, `ARGUMENT-VALUE`, `AS`, `ASCENDING`, `ASSIGN`, `AT`, `AUTO`, `AUTO-SKIP`, `AUTOMATIC`, `AUTOTERMINATE`, `BACKGROUND-COLOR`, `BASED`, `BEEP`, `BEFORE`, `BELL`, `BLANK`, `BLINK`, `BLOCK`, `BOTTOM`, `BY`, `BYTE-LENGTH`, `CHAINING`, `CHARACTER`, `CHARACTERS`, `CLASS`, `CODE`, `CODE-SET`, `COL`, `COLLATING`, `COLS`, `COLUMN`, `COLUMNS`, `COMMA`, `COMMAND-LINE`, `COMMIT`, `COMMON`, `CONSTANT`, `CONTAINS`, `CONTENT`, `CONTROL`, `CONTROLS`, `CONVERTING`, `COPY`, `CORR`, `CORRESPONDING`, `COUNT`, `CRT`, `CURRENCY`, `CURSOR`, `CYCLE`, `DATE`, `DAY`, `DAY-OF-WEEK`, `DE`, `DEBUGGING`, `DECIMAL-POINT`, `DECLARATIVES`, `DEFAULT`, `DELIMITED`, `DELIMITER`, `DEPENDING`, `DESCENDING`, `DETAIL`, `DISK`, `DOWN`, `DUPLICATES`, `DYNAMIC`, `EBCDIC`, `ENTRY`, `ENVIRONMENT-NAME`, `ENVIRONMENT-VALUE`, `EOL`, `EOP`, `EOS`, `ERASE`, `ERROR`, `ESCAPE`, `EXCEPTION`, `EXCLUSIVE`, `EXTEND`, `EXTERNAL`, `FILE-ID`, `FILLER`, `FINAL`, `FIRST`, `FIXED`, `FLOAT-LONG`, `FLOAT-SHORT`, `FOOTING`, `FOR`, `FOREGROUND-COLOR`, `FORMAT`, `FROM`, `FULL`, `FUNCTION`, `FUNCTION-ID`, `GIVING`, `GLOBAL`, `GROUP`, `HEADING`, `HIGHLIGHT`, `I-O`, `ID`, `IGNORE`, `IGNORING`, `IN`, `INDEX`, `INDEXED`, `INDICATE`, `INITIAL`, `INITIALIZED`, `INPUT`, `INTO`, `INTRINSIC`, `INVALID`, `IS`, `JUST`, `JUSTIFIED`, `KEY`, `LABEL`, `LAST`, `LEADING`, `LEFT`, `LENGTH`, `LIMIT`, `LIMITS`, `LINAGE`, `LINAGE-COUNTER`, `LINE`, `LINES`, `LOCALE`, `LOCK`, `LOWLIGHT`, `MANUAL`, `MEMORY`, `MINUS`, `MODE`, `MULTIPLE`, `NATIONAL`, `NATIONAL-EDITED`, `NATIVE`, `NEGATIVE`, `NEXT`, `NO`, `NULL`, `NULLS`, `NUMBER`, `NUMBERS`, `NUMERIC`, `NUMERIC-EDITED`, `OBJECT-COMPUTER`, `OCCURS`, `OF`, `OFF`, `OMITTED`, `ON`, `ONLY`, `OPTIONAL`, `ORDER`, `ORGANIZATION`, `OTHER`, `OUTPUT`, `OVERFLOW`, `OVERLINE`, `PACKED-DECIMAL`, `PADDING`, `PAGE`, `PARAGRAPH`, `PLUS`, `POINTER`, `POSITION`, `POSITIVE`, `PRESENT`, `PREVIOUS`, `PRINTER`, `PRINTING`, `PROCEDURE-POINTER`, `PROCEDURES`, `PROCEED`, `PROGRAM`, `PROGRAM-POINTER`, `PROMPT`, `QUOTE`, `QUOTES`, `RANDOM`, `RD`, `RECORD`, `RECORDING`, `RECORDS`, `RECURSIVE`, `REDEFINES`, `REEL`, `REFERENCE`, `RELATIVE`, `REMAINDER`, `REMOVAL`, `RENAMES`, `REPLACING`, `REPORT`, `REPORTING`, `REPORTS`, `REPOSITORY`, `REQUIRED`, `RESERVE`, `RETURNING`, `REVERSE-VIDEO`, `REWIND`, `RIGHT`, `ROLLBACK`, `ROUNDED`, `RUN`, `SAME`, `SCROLL`, `SECURE`, `SEGMENT-LIMIT`, `SELECT`, `SENTENCE`, `SEPARATE`, `SEQUENCE`, `SEQUENTIAL`, `SHARING`, `SIGN`, `SIGNED`, `SIGNED-INT`, `SIGNED-LONG`, `SIGNED-SHORT`, `SIZE`, `SORT-MERGE`, `SOURCE`, `SOURCE-COMPUTER`, `SPECIAL-NAMES`, `STANDARD`, `STANDARD-1`, `STANDARD-2`, `STATUS`, `SUM`, `SYMBOLIC`, `SYNC`, `SYNCHRONIZED`, `TALLYING`, `TAPE`, `TEST`, `THROUGH`, `THRU`, `TIME`, `TIMES`, `TO`, `TOP`, `TRAILING`, `TRANSFORM`, `TYPE`, `UNDERLINE`, `UNIT`, `UNSIGNED`, `UNSIGNED-INT`, `UNSIGNED-LONG`, `UNSIGNED-SHORT`, `UNTIL`, `UP`, `UPDATE`, `UPON`, `USAGE`, `USING`, `VALUE`, `VALUES`, `VARYING`, `WAIT`, `WHEN`, `WITH`, `WORDS`, `YYYYDDD`, `YYYYMMDD`), KeywordPseudo, nil}, - {Words(`(^|(?<=[^\w\-]))`, `\s*($|(?=[^\w\-]))`, `ACTIVE-CLASS`, `ALIGNED`, `ANYCASE`, `ARITHMETIC`, `ATTRIBUTE`, `B-AND`, `B-NOT`, `B-OR`, `B-XOR`, `BIT`, `BOOLEAN`, `CD`, `CENTER`, `CF`, `CH`, `CHAIN`, `CLASS-ID`, `CLASSIFICATION`, `COMMUNICATION`, `CONDITION`, `DATA-POINTER`, `DESTINATION`, `DISABLE`, `EC`, `EGI`, `EMI`, `ENABLE`, `END-RECEIVE`, `ENTRY-CONVENTION`, `EO`, `ESI`, `EXCEPTION-OBJECT`, `EXPANDS`, `FACTORY`, `FLOAT-BINARY-16`, `FLOAT-BINARY-34`, `FLOAT-BINARY-7`, `FLOAT-DECIMAL-16`, `FLOAT-DECIMAL-34`, `FLOAT-EXTENDED`, `FORMAT`, `FUNCTION-POINTER`, `GET`, `GROUP-USAGE`, `IMPLEMENTS`, `INFINITY`, `INHERITS`, `INTERFACE`, `INTERFACE-ID`, `INVOKE`, `LC_ALL`, `LC_COLLATE`, `LC_CTYPE`, `LC_MESSAGES`, `LC_MONETARY`, `LC_NUMERIC`, `LC_TIME`, `LINE-COUNTER`, `MESSAGE`, `METHOD`, `METHOD-ID`, `NESTED`, `NONE`, `NORMAL`, `OBJECT`, `OBJECT-REFERENCE`, `OPTIONS`, `OVERRIDE`, `PAGE-COUNTER`, `PF`, `PH`, `PROPERTY`, `PROTOTYPE`, `PURGE`, `QUEUE`, `RAISE`, `RAISING`, `RECEIVE`, `RELATION`, `REPLACE`, `REPRESENTS-NOT-A-NUMBER`, `RESET`, `RESUME`, `RETRY`, `RF`, `RH`, `SECONDS`, `SEGMENT`, `SELF`, `SEND`, `SOURCES`, `STATEMENT`, `STEP`, `STRONG`, `SUB-QUEUE-1`, `SUB-QUEUE-2`, `SUB-QUEUE-3`, `SUPER`, `SYMBOL`, `SYSTEM-DEFAULT`, `TABLE`, `TERMINAL`, `TEXT`, `TYPEDEF`, `UCS-4`, `UNIVERSAL`, `USER-DEFAULT`, `UTF-16`, `UTF-8`, `VAL-STATUS`, `VALID`, `VALIDATE`, `VALIDATE-STATUS`), Error, nil}, - {`(^|(?<=[^\w\-]))(PIC\s+.+?(?=(\s|\.\s))|PICTURE\s+.+?(?=(\s|\.\s))|(COMPUTATIONAL)(-[1-5X])?|(COMP)(-[1-5X])?|BINARY-C-LONG|BINARY-CHAR|BINARY-DOUBLE|BINARY-LONG|BINARY-SHORT|BINARY)\s*($|(?=[^\w\-]))`, KeywordType, nil}, - {`(\*\*|\*|\+|-|/|<=|>=|<|>|==|/=|=)`, Operator, nil}, - {`([(),;:&%.])`, Punctuation, nil}, - {`(^|(?<=[^\w\-]))(ABS|ACOS|ANNUITY|ASIN|ATAN|BYTE-LENGTH|CHAR|COMBINED-DATETIME|CONCATENATE|COS|CURRENT-DATE|DATE-OF-INTEGER|DATE-TO-YYYYMMDD|DAY-OF-INTEGER|DAY-TO-YYYYDDD|EXCEPTION-(?:FILE|LOCATION|STATEMENT|STATUS)|EXP10|EXP|E|FACTORIAL|FRACTION-PART|INTEGER-OF-(?:DATE|DAY|PART)|INTEGER|LENGTH|LOCALE-(?:DATE|TIME(?:-FROM-SECONDS)?)|LOG(?:10)?|LOWER-CASE|MAX|MEAN|MEDIAN|MIDRANGE|MIN|MOD|NUMVAL(?:-C)?|ORD(?:-MAX|-MIN)?|PI|PRESENT-VALUE|RANDOM|RANGE|REM|REVERSE|SECONDS-FROM-FORMATTED-TIME|SECONDS-PAST-MIDNIGHT|SIGN|SIN|SQRT|STANDARD-DEVIATION|STORED-CHAR-LENGTH|SUBSTITUTE(?:-CASE)?|SUM|TAN|TEST-DATE-YYYYMMDD|TEST-DAY-YYYYDDD|TRIM|UPPER-CASE|VARIANCE|WHEN-COMPILED|YEAR-TO-YYYY)\s*($|(?=[^\w\-]))`, NameFunction, nil}, - {`(^|(?<=[^\w\-]))(true|false)\s*($|(?=[^\w\-]))`, NameBuiltin, nil}, - {`(^|(?<=[^\w\-]))(equal|equals|ne|lt|le|gt|ge|greater|less|than|not|and|or)\s*($|(?=[^\w\-]))`, OperatorWord, nil}, - }, - "strings": { - {`"[^"\n]*("|\n)`, LiteralStringDouble, nil}, - {`'[^'\n]*('|\n)`, LiteralStringSingle, nil}, - }, - "nums": { - {`\d+(\s*|\.$|$)`, LiteralNumberInteger, nil}, - {`[+-]?\d*\.\d+(E[-+]?\d+)?`, LiteralNumberFloat, nil}, - {`[+-]?\d+\.\d*(E[-+]?\d+)?`, LiteralNumberFloat, nil}, - }, - }, -)) diff --git a/vendor/github.com/alecthomas/chroma/lexers/c/coffee.go b/vendor/github.com/alecthomas/chroma/lexers/c/coffee.go deleted file mode 100644 index e402b8f2..00000000 --- a/vendor/github.com/alecthomas/chroma/lexers/c/coffee.go +++ /dev/null @@ -1,91 +0,0 @@ -package c - -import ( - . "github.com/alecthomas/chroma" // nolint - "github.com/alecthomas/chroma/lexers/internal" -) - -// Coffeescript lexer. -var Coffeescript = internal.Register(MustNewLexer( - &Config{ - Name: "CoffeeScript", - Aliases: []string{"coffee-script", "coffeescript", "coffee"}, - Filenames: []string{"*.coffee"}, - MimeTypes: []string{"text/coffeescript"}, - NotMultiline: true, - DotAll: true, - }, - Rules{ - "commentsandwhitespace": { - {`\s+`, Text, nil}, - {`###[^#].*?###`, CommentMultiline, nil}, - {`#(?!##[^#]).*?\n`, CommentSingle, nil}, - }, - "multilineregex": { - {`[^/#]+`, LiteralStringRegex, nil}, - {`///([gim]+\b|\B)`, LiteralStringRegex, Pop(1)}, - {`#\{`, LiteralStringInterpol, Push("interpoling_string")}, - {`[/#]`, LiteralStringRegex, nil}, - }, - "slashstartsregex": { - Include("commentsandwhitespace"), - {`///`, LiteralStringRegex, Push("#pop", "multilineregex")}, - {`/(?! )(\\.|[^[/\\\n]|\[(\\.|[^\]\\\n])*])+/([gim]+\b|\B)`, LiteralStringRegex, Pop(1)}, - {`/`, Operator, nil}, - Default(Pop(1)), - }, - "root": { - Include("commentsandwhitespace"), - {`^(?=\s|/)`, Text, Push("slashstartsregex")}, - {"\\+\\+|~|&&|\\band\\b|\\bor\\b|\\bis\\b|\\bisnt\\b|\\bnot\\b|\\?|:|\\|\\||\\\\(?=\\n)|(<<|>>>?|==?(?!>)|!=?|=(?!>)|-(?!>)|[<>+*`%&\\|\\^/])=?", Operator, Push("slashstartsregex")}, - {`(?:\([^()]*\))?\s*[=-]>`, NameFunction, Push("slashstartsregex")}, - {`[{(\[;,]`, Punctuation, Push("slashstartsregex")}, - {`[})\].]`, Punctuation, nil}, - {`(?=|<|>|==`, Operator, nil}, - {`mod\b`, Operator, nil}, - {`(eq|lt|gt|lte|gte|not|is|and|or)\b`, Operator, nil}, - {`\|\||&&`, Operator, nil}, - {`\?`, Operator, nil}, - {`"`, LiteralStringDouble, Push("string")}, - {`'.*?'`, LiteralStringSingle, nil}, - {`\d+`, LiteralNumber, nil}, - {`(if|else|len|var|xml|default|break|switch|component|property|function|do|try|catch|in|continue|for|return|while|required|any|array|binary|boolean|component|date|guid|numeric|query|string|struct|uuid|case)\b`, Keyword, nil}, - {`(true|false|null)\b`, KeywordConstant, nil}, - {`(application|session|client|cookie|super|this|variables|arguments)\b`, NameConstant, nil}, - {`([a-z_$][\w.]*)(\s*)(\()`, ByGroups(NameFunction, Text, Punctuation), nil}, - {`[a-z_$][\w.]*`, NameVariable, nil}, - {`[()\[\]{};:,.\\]`, Punctuation, nil}, - {`\s+`, Text, nil}, - }, - "string": { - {`""`, LiteralStringDouble, nil}, - {`#.+?#`, LiteralStringInterpol, nil}, - {`[^"#]+`, LiteralStringDouble, nil}, - {`#`, LiteralStringDouble, nil}, - {`"`, LiteralStringDouble, Pop(1)}, - }, - }, -)) diff --git a/vendor/github.com/alecthomas/chroma/lexers/c/coq.go b/vendor/github.com/alecthomas/chroma/lexers/c/coq.go deleted file mode 100644 index e69a5c16..00000000 --- a/vendor/github.com/alecthomas/chroma/lexers/c/coq.go +++ /dev/null @@ -1,63 +0,0 @@ -package c - -import ( - . "github.com/alecthomas/chroma" // nolint - "github.com/alecthomas/chroma/lexers/internal" -) - -// Coq lexer. -var Coq = internal.Register(MustNewLexer( - &Config{ - Name: "Coq", - Aliases: []string{"coq"}, - Filenames: []string{"*.v"}, - MimeTypes: []string{"text/x-coq"}, - }, - Rules{ - "root": { - {`\s+`, Text, nil}, - {`false|true|\(\)|\[\]`, NameBuiltinPseudo, nil}, - {`\(\*`, Comment, Push("comment")}, - {Words(`\b`, `\b`, `Section`, `Module`, `End`, `Require`, `Import`, `Export`, `Variable`, `Variables`, `Parameter`, `Parameters`, `Axiom`, `Hypothesis`, `Hypotheses`, `Notation`, `Local`, `Tactic`, `Reserved`, `Scope`, `Open`, `Close`, `Bind`, `Delimit`, `Definition`, `Let`, `Ltac`, `Fixpoint`, `CoFixpoint`, `Morphism`, `Relation`, `Implicit`, `Arguments`, `Set`, `Unset`, `Contextual`, `Strict`, `Prenex`, `Implicits`, `Inductive`, `CoInductive`, `Record`, `Structure`, `Canonical`, `Coercion`, `Theorem`, `Lemma`, `Corollary`, `Proposition`, `Fact`, `Remark`, `Example`, `Proof`, `Goal`, `Save`, `Qed`, `Defined`, `Hint`, `Resolve`, `Rewrite`, `View`, `Search`, `Show`, `Print`, `Printing`, `All`, `Graph`, `Projections`, `inside`, `outside`, `Check`, `Global`, `Instance`, `Class`, `Existing`, `Universe`, `Polymorphic`, `Monomorphic`, `Context`), KeywordNamespace, nil}, - {Words(`\b`, `\b`, `forall`, `exists`, `exists2`, `fun`, `fix`, `cofix`, `struct`, `match`, `end`, `in`, `return`, `let`, `if`, `is`, `then`, `else`, `for`, `of`, `nosimpl`, `with`, `as`), Keyword, nil}, - {Words(`\b`, `\b`, `Type`, `Prop`), KeywordType, nil}, - {Words(`\b`, `\b`, `pose`, `set`, `move`, `case`, `elim`, `apply`, `clear`, `hnf`, `intro`, `intros`, `generalize`, `rename`, `pattern`, `after`, `destruct`, `induction`, `using`, `refine`, `inversion`, `injection`, `rewrite`, `congr`, `unlock`, `compute`, `ring`, `field`, `replace`, `fold`, `unfold`, `change`, `cutrewrite`, `simpl`, `have`, `suff`, `wlog`, `suffices`, `without`, `loss`, `nat_norm`, `assert`, `cut`, `trivial`, `revert`, `bool_congr`, `nat_congr`, `symmetry`, `transitivity`, `auto`, `split`, `left`, `right`, `autorewrite`, `tauto`, `setoid_rewrite`, `intuition`, `eauto`, `eapply`, `econstructor`, `etransitivity`, `constructor`, `erewrite`, `red`, `cbv`, `lazy`, `vm_compute`, `native_compute`, `subst`), Keyword, nil}, - {Words(`\b`, `\b`, `by`, `done`, `exact`, `reflexivity`, `tauto`, `romega`, `omega`, `assumption`, `solve`, `contradiction`, `discriminate`, `congruence`), KeywordPseudo, nil}, - {Words(`\b`, `\b`, `do`, `last`, `first`, `try`, `idtac`, `repeat`), KeywordReserved, nil}, - {`\b([A-Z][\w\']*)`, Name, nil}, - {"(\u03bb|\u03a0|\\|\\}|\\{\\||\\\\/|/\\\\|=>|~|\\}|\\|]|\\||\\{<|\\{|`|_|]|\\[\\||\\[>|\\[<|\\[|\\?\\?|\\?|>\\}|>]|>|=|<->|<-|<|;;|;|:>|:=|::|:|\\.\\.|\\.|->|-\\.|-|,|\\+|\\*|\\)|\\(|&&|&|#|!=)", Operator, nil}, - {`([=<>@^|&+\*/$%-]|[!?~])?[!$%&*+\./:<=>?@^|~-]`, Operator, nil}, - {`\b(unit|nat|bool|string|ascii|list)\b`, KeywordType, nil}, - {`[^\W\d][\w']*`, Name, nil}, - {`\d[\d_]*`, LiteralNumberInteger, nil}, - {`0[xX][\da-fA-F][\da-fA-F_]*`, LiteralNumberHex, nil}, - {`0[oO][0-7][0-7_]*`, LiteralNumberOct, nil}, - {`0[bB][01][01_]*`, LiteralNumberBin, nil}, - {`-?\d[\d_]*(.[\d_]*)?([eE][+\-]?\d[\d_]*)`, LiteralNumberFloat, nil}, - {`'(?:(\\[\\\"'ntbr ])|(\\[0-9]{3})|(\\x[0-9a-fA-F]{2}))'`, LiteralStringChar, nil}, - {`'.'`, LiteralStringChar, nil}, - {`'`, Keyword, nil}, - {`"`, LiteralStringDouble, Push("string")}, - {`[~?][a-z][\w\']*:`, Name, nil}, - }, - "comment": { - {`[^(*)]+`, Comment, nil}, - {`\(\*`, Comment, Push()}, - {`\*\)`, Comment, Pop(1)}, - {`[(*)]`, Comment, nil}, - }, - "string": { - {`[^"]+`, LiteralStringDouble, nil}, - {`""`, LiteralStringDouble, nil}, - {`"`, LiteralStringDouble, Pop(1)}, - }, - "dotted": { - {`\s+`, Text, nil}, - {`\.`, Punctuation, nil}, - {`[A-Z][\w\']*(?=\s*\.)`, NameNamespace, nil}, - {`[A-Z][\w\']*`, NameClass, Pop(1)}, - {`[a-z][a-z0-9_\']*`, Name, Pop(1)}, - Default(Pop(1)), - }, - }, -)) diff --git a/vendor/github.com/alecthomas/chroma/lexers/c/cpp.go b/vendor/github.com/alecthomas/chroma/lexers/c/cpp.go deleted file mode 100644 index cb53ee5e..00000000 --- a/vendor/github.com/alecthomas/chroma/lexers/c/cpp.go +++ /dev/null @@ -1,103 +0,0 @@ -package c - -import ( - . "github.com/alecthomas/chroma" // nolint - "github.com/alecthomas/chroma/lexers/internal" -) - -// CPP lexer. -var CPP = internal.Register(MustNewLexer( - &Config{ - Name: "C++", - Aliases: []string{"cpp", "c++"}, - Filenames: []string{"*.cpp", "*.hpp", "*.c++", "*.h++", "*.cc", "*.hh", "*.cxx", "*.hxx", "*.C", "*.H", "*.cp", "*.CPP"}, - MimeTypes: []string{"text/x-c++hdr", "text/x-c++src"}, - EnsureNL: true, - }, - Rules{ - "statements": { - {Words(``, `\b`, `catch`, `const_cast`, `delete`, `dynamic_cast`, `explicit`, `export`, `friend`, `mutable`, `namespace`, `new`, `operator`, `private`, `protected`, `public`, `reinterpret_cast`, `restrict`, `static_cast`, `template`, `this`, `throw`, `throws`, `try`, `typeid`, `typename`, `using`, `virtual`, `constexpr`, `nullptr`, `decltype`, `thread_local`, `alignas`, `alignof`, `static_assert`, `noexcept`, `override`, `final`), Keyword, nil}, - {`char(16_t|32_t)\b`, KeywordType, nil}, - {`(class)\b`, ByGroups(Keyword, Text), Push("classname")}, - {`(R)(")([^\\()\s]{,16})(\()((?:.|\n)*?)(\)\3)(")`, ByGroups(LiteralStringAffix, LiteralString, LiteralStringDelimiter, LiteralStringDelimiter, LiteralString, LiteralStringDelimiter, LiteralString), nil}, - {`(u8|u|U)(")`, ByGroups(LiteralStringAffix, LiteralString), Push("string")}, - {`(L?)(")`, ByGroups(LiteralStringAffix, LiteralString), Push("string")}, - {`(L?)(')(\\.|\\[0-7]{1,3}|\\x[a-fA-F0-9]{1,2}|[^\\\'\n])(')`, ByGroups(LiteralStringAffix, LiteralStringChar, LiteralStringChar, LiteralStringChar), nil}, - {`(\d+\.\d*|\.\d+|\d+)[eE][+-]?\d+[LlUu]*`, LiteralNumberFloat, nil}, - {`(\d+\.\d*|\.\d+|\d+[fF])[fF]?`, LiteralNumberFloat, nil}, - {`0x[0-9a-fA-F]+[LlUu]*`, LiteralNumberHex, nil}, - {`0[0-7]+[LlUu]*`, LiteralNumberOct, nil}, - {`\d+[LlUu]*`, LiteralNumberInteger, nil}, - {`\*/`, Error, nil}, - {`[~!%^&*+=|?:<>/-]`, Operator, nil}, - {`[()\[\],.]`, Punctuation, nil}, - {Words(``, `\b`, `asm`, `auto`, `break`, `case`, `const`, `continue`, `default`, `do`, `else`, `enum`, `extern`, `for`, `goto`, `if`, `register`, `restricted`, `return`, `sizeof`, `static`, `struct`, `switch`, `typedef`, `union`, `volatile`, `while`), Keyword, nil}, - {`(bool|int|long|float|short|double|char|unsigned|signed|void)\b`, KeywordType, nil}, - {Words(``, `\b`, `inline`, `_inline`, `__inline`, `naked`, `restrict`, `thread`, `typename`), KeywordReserved, nil}, - {`(__m(128i|128d|128|64))\b`, KeywordReserved, nil}, - {Words(`__`, `\b`, `asm`, `int8`, `based`, `except`, `int16`, `stdcall`, `cdecl`, `fastcall`, `int32`, `declspec`, `finally`, `int64`, `try`, `leave`, `wchar_t`, `w64`, `unaligned`, `raise`, `noop`, `identifier`, `forceinline`, `assume`), KeywordReserved, nil}, - {`(true|false|NULL)\b`, NameBuiltin, nil}, - {`([a-zA-Z_]\w*)(\s*)(:)(?!:)`, ByGroups(NameLabel, Text, Punctuation), nil}, - {`[a-zA-Z_]\w*`, Name, nil}, - }, - "root": { - Include("whitespace"), - {`((?:[\w*\s])+?(?:\s|[*]))([a-zA-Z_]\w*)(\s*\([^;]*?\))([^;{]*)(\{)`, ByGroups(UsingSelf("root"), NameFunction, UsingSelf("root"), UsingSelf("root"), Punctuation), Push("function")}, - {`((?:[\w*\s])+?(?:\s|[*]))([a-zA-Z_]\w*)(\s*\([^;]*?\))([^;]*)(;)`, ByGroups(UsingSelf("root"), NameFunction, UsingSelf("root"), UsingSelf("root"), Punctuation), nil}, - Default(Push("statement")), - {Words(`__`, `\b`, `virtual_inheritance`, `uuidof`, `super`, `single_inheritance`, `multiple_inheritance`, `interface`, `event`), KeywordReserved, nil}, - {`__(offload|blockingoffload|outer)\b`, KeywordPseudo, nil}, - }, - "classname": { - {`[a-zA-Z_]\w*`, NameClass, Pop(1)}, - {`\s*(?=>)`, Text, Pop(1)}, - }, - "whitespace": { - {`^#if\s+0`, CommentPreproc, Push("if0")}, - {`^#`, CommentPreproc, Push("macro")}, - {`^(\s*(?:/[*].*?[*]/\s*)?)(#if\s+0)`, ByGroups(UsingSelf("root"), CommentPreproc), Push("if0")}, - {`^(\s*(?:/[*].*?[*]/\s*)?)(#)`, ByGroups(UsingSelf("root"), CommentPreproc), Push("macro")}, - {`\n`, Text, nil}, - {`\s+`, Text, nil}, - {`\\\n`, Text, nil}, - {`//(\n|[\w\W]*?[^\\]\n)`, CommentSingle, nil}, - {`/(\\\n)?[*][\w\W]*?[*](\\\n)?/`, CommentMultiline, nil}, - {`/(\\\n)?[*][\w\W]*`, CommentMultiline, nil}, - }, - "statement": { - Include("whitespace"), - Include("statements"), - {`[{}]`, Punctuation, nil}, - {`;`, Punctuation, Pop(1)}, - }, - "function": { - Include("whitespace"), - Include("statements"), - {`;`, Punctuation, nil}, - {`\{`, Punctuation, Push()}, - {`\}`, Punctuation, Pop(1)}, - }, - "string": { - {`"`, LiteralString, Pop(1)}, - {`\\([\\abfnrtv"\']|x[a-fA-F0-9]{2,4}|u[a-fA-F0-9]{4}|U[a-fA-F0-9]{8}|[0-7]{1,3})`, LiteralStringEscape, nil}, - {`[^\\"\n]+`, LiteralString, nil}, - {`\\\n`, LiteralString, nil}, - {`\\`, LiteralString, nil}, - }, - "macro": { - {`(include)(\s*(?:/[*].*?[*]/\s*)?)([^\n]+)`, ByGroups(CommentPreproc, Text, CommentPreprocFile), nil}, - {`[^/\n]+`, CommentPreproc, nil}, - {`/[*](.|\n)*?[*]/`, CommentMultiline, nil}, - {`//.*?\n`, CommentSingle, Pop(1)}, - {`/`, CommentPreproc, nil}, - {`(?<=\\)\n`, CommentPreproc, nil}, - {`\n`, CommentPreproc, Pop(1)}, - }, - "if0": { - {`^\s*#if.*?(?=~!@#%^&|`?-]+", Operator, nil}, - {`(?s)(java|javascript)(\s+)(AS)(\s+)('|\$\$)(.*?)(\5)`, - UsingByGroup( - internal.Get, - 1, 6, - NameBuiltin, TextWhitespace, Keyword, TextWhitespace, - LiteralStringHeredoc, LiteralStringHeredoc, LiteralStringHeredoc, - ), - nil, - }, - {`(true|false|null)\b`, KeywordConstant, nil}, - {`0x[0-9a-f]+`, LiteralNumberHex, nil}, - {`[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}`, LiteralNumberHex, nil}, - {`\.[0-9]+(e[+-]?[0-9]+)?`, Error, nil}, - {`-?[0-9]+(\.[0-9])?(e[+-]?[0-9]+)?`, LiteralNumberFloat, nil}, - {`[0-9]+`, LiteralNumberInteger, nil}, - {`'`, LiteralStringSingle, Push("string")}, - {`"`, LiteralStringName, Push("quoted-ident")}, - {`\$\$`, LiteralStringHeredoc, Push("dollar-string")}, - {`[a-z_]\w*`, Name, nil}, - {`:(['"]?)[a-z]\w*\b\1`, NameVariable, nil}, - {`[;:()\[\]\{\},.]`, Punctuation, nil}, - }, - "multiline-comments": { - {`/\*`, CommentMultiline, Push("multiline-comments")}, - {`\*/`, CommentMultiline, Pop(1)}, - {`[^/*]+`, CommentMultiline, nil}, - {`[/*]`, CommentMultiline, nil}, - }, - "string": { - {`[^']+`, LiteralStringSingle, nil}, - {`''`, LiteralStringSingle, nil}, - {`'`, LiteralStringSingle, Pop(1)}, - }, - "quoted-ident": { - {`[^"]+`, LiteralStringName, nil}, - {`""`, LiteralStringName, nil}, - {`"`, LiteralStringName, Pop(1)}, - }, - "dollar-string": { - {`[^\$]+`, LiteralStringHeredoc, nil}, - {`\$\$`, LiteralStringHeredoc, Pop(1)}, - }, - }, -)) diff --git a/vendor/github.com/alecthomas/chroma/lexers/c/crystal.go b/vendor/github.com/alecthomas/chroma/lexers/c/crystal.go deleted file mode 100644 index 69e053c7..00000000 --- a/vendor/github.com/alecthomas/chroma/lexers/c/crystal.go +++ /dev/null @@ -1,262 +0,0 @@ -package c - -import ( - . "github.com/alecthomas/chroma" // nolint - "github.com/alecthomas/chroma/lexers/internal" -) - -// Crystal lexer. -var Crystal = internal.Register(MustNewLexer( - &Config{ - Name: "Crystal", - Aliases: []string{"cr", "crystal"}, - Filenames: []string{"*.cr"}, - MimeTypes: []string{"text/x-crystal"}, - DotAll: true, - }, - Rules{ - "root": { - {`#.*?$`, CommentSingle, nil}, - {Words(``, `\b`, `abstract`, `asm`, `as`, `begin`, `break`, `case`, `do`, `else`, `elsif`, `end`, `ensure`, `extend`, `ifdef`, `if`, `include`, `instance_sizeof`, `next`, `of`, `pointerof`, `private`, `protected`, `rescue`, `return`, `require`, `sizeof`, `super`, `then`, `typeof`, `unless`, `until`, `when`, `while`, `with`, `yield`), Keyword, nil}, - {Words(``, `\b`, `true`, `false`, `nil`), KeywordConstant, nil}, - {`(module|lib)(\s+)([a-zA-Z_]\w*(?:::[a-zA-Z_]\w*)*)`, ByGroups(Keyword, Text, NameNamespace), nil}, - {`(def|fun|macro)(\s+)((?:[a-zA-Z_]\w*::)*)`, ByGroups(Keyword, Text, NameNamespace), Push("funcname")}, - {"def(?=[*%&^`~+-/\\[<>=])", Keyword, Push("funcname")}, - {`(class|struct|union|type|alias|enum)(\s+)((?:[a-zA-Z_]\w*::)*)`, ByGroups(Keyword, Text, NameNamespace), Push("classname")}, - {`(self|out|uninitialized)\b|(is_a|responds_to)\?`, KeywordPseudo, nil}, - {Words(``, `\b`, `debugger`, `record`, `pp`, `assert_responds_to`, `spawn`, `parallel`, `getter`, `setter`, `property`, `delegate`, `def_hash`, `def_equals`, `def_equals_and_hash`, `forward_missing_to`), NameBuiltinPseudo, nil}, - {`getter[!?]|property[!?]|__(DIR|FILE|LINE)__\b`, NameBuiltinPseudo, nil}, - {Words(`(?~!:])|(?<=(?:\s|;)when\s)|(?<=(?:\s|;)or\s)|(?<=(?:\s|;)and\s)|(?<=\.index\s)|(?<=\.scan\s)|(?<=\.sub\s)|(?<=\.sub!\s)|(?<=\.gsub\s)|(?<=\.gsub!\s)|(?<=\.match\s)|(?<=(?:\s|;)if\s)|(?<=(?:\s|;)elsif\s)|(?<=^when\s)|(?<=^index\s)|(?<=^scan\s)|(?<=^sub\s)|(?<=^gsub\s)|(?<=^sub!\s)|(?<=^gsub!\s)|(?<=^match\s)|(?<=^if\s)|(?<=^elsif\s))(\s*)(/)`, ByGroups(Text, LiteralStringRegex), Push("multiline-regex")}, - {`(?<=\(|,|\[)/`, LiteralStringRegex, Push("multiline-regex")}, - {`(\s+)(/)(?![\s=])`, ByGroups(Text, LiteralStringRegex), Push("multiline-regex")}, - {`(0o[0-7]+(?:_[0-7]+)*(?:_?[iu][0-9]+)?)\b(\s*)([/?])?`, ByGroups(LiteralNumberOct, Text, Operator), nil}, - {`(0x[0-9A-Fa-f]+(?:_[0-9A-Fa-f]+)*(?:_?[iu][0-9]+)?)\b(\s*)([/?])?`, ByGroups(LiteralNumberHex, Text, Operator), nil}, - {`(0b[01]+(?:_[01]+)*(?:_?[iu][0-9]+)?)\b(\s*)([/?])?`, ByGroups(LiteralNumberBin, Text, Operator), nil}, - {`((?:0(?![0-9])|[1-9][\d_]*)(?:\.\d[\d_]*)(?:e[+-]?[0-9]+)?(?:_?f[0-9]+)?)(\s*)([/?])?`, ByGroups(LiteralNumberFloat, Text, Operator), nil}, - {`((?:0(?![0-9])|[1-9][\d_]*)(?:\.\d[\d_]*)?(?:e[+-]?[0-9]+)(?:_?f[0-9]+)?)(\s*)([/?])?`, ByGroups(LiteralNumberFloat, Text, Operator), nil}, - {`((?:0(?![0-9])|[1-9][\d_]*)(?:\.\d[\d_]*)?(?:e[+-]?[0-9]+)?(?:_?f[0-9]+))(\s*)([/?])?`, ByGroups(LiteralNumberFloat, Text, Operator), nil}, - {`(0\b|[1-9][\d]*(?:_\d+)*(?:_?[iu][0-9]+)?)\b(\s*)([/?])?`, ByGroups(LiteralNumberInteger, Text, Operator), nil}, - {`@@[a-zA-Z_]\w*`, NameVariableClass, nil}, - {`@[a-zA-Z_]\w*`, NameVariableInstance, nil}, - {`\$\w+`, NameVariableGlobal, nil}, - {"\\$[!@&`\\'+~=/\\\\,;.<>_*$?:\"^-]", NameVariableGlobal, nil}, - {`\$-[0adFiIlpvw]`, NameVariableGlobal, nil}, - {`::`, Operator, nil}, - Include("strings"), - {`\?(\\[MC]-)*(\\([\\befnrtv#"\']|x[a-fA-F0-9]{1,2}|[0-7]{1,3})|\S)(?!\w)`, LiteralStringChar, nil}, - {`[A-Z][A-Z_]+\b`, NameConstant, nil}, - {`\{%`, LiteralStringInterpol, Push("in-macro-control")}, - {`\{\{`, LiteralStringInterpol, Push("in-macro-expr")}, - {`(@\[)(\s*)([A-Z]\w*)`, ByGroups(Operator, Text, NameDecorator), Push("in-attr")}, - {Words(`(\.|::)`, ``, `!=`, `!~`, `!`, `%`, `&&`, `&`, `**`, `*`, `+`, `-`, `/`, `<=>`, `<<`, `<=`, `<`, `===`, `==`, `=~`, `=`, `>=`, `>>`, `>`, `[]=`, `[]?`, `[]`, `^`, `||`, `|`, `~`), ByGroups(Operator, NameOperator), nil}, - {"(\\.|::)([a-zA-Z_]\\w*[!?]?|[*%&^`~+\\-/\\[<>=])", ByGroups(Operator, Name), nil}, - {`[a-zA-Z_]\w*(?:[!?](?!=))?`, Name, nil}, - {`(\[|\]\??|\*\*|<=>?|>=|<>?|=~|===|!~|&&?|\|\||\.{1,3})`, Operator, nil}, - {`[-+/*%=<>&!^|~]=?`, Operator, nil}, - {`[(){};,/?:\\]`, Punctuation, nil}, - {`\s+`, Text, nil}, - }, - "funcname": { - {"(?:([a-zA-Z_]\\w*)(\\.))?([a-zA-Z_]\\w*[!?]?|\\*\\*?|[-+]@?|[/%&|^`~]|\\[\\]=?|<<|>>|<=?>|>=?|===?)", ByGroups(NameClass, Operator, NameFunction), Pop(1)}, - Default(Pop(1)), - }, - "classname": { - {`[A-Z_]\w*`, NameClass, nil}, - {`(\()(\s*)([A-Z_]\w*)(\s*)(\))`, ByGroups(Punctuation, Text, NameClass, Text, Punctuation), nil}, - Default(Pop(1)), - }, - "in-intp": { - {`\{`, LiteralStringInterpol, Push()}, - {`\}`, LiteralStringInterpol, Pop(1)}, - Include("root"), - }, - "string-intp": { - {`#\{`, LiteralStringInterpol, Push("in-intp")}, - }, - "string-escaped": { - {`\\([\\befnstv#"\']|x[a-fA-F0-9]{1,2}|[0-7]{1,3})`, LiteralStringEscape, nil}, - }, - "string-intp-escaped": { - Include("string-intp"), - Include("string-escaped"), - }, - "interpolated-regex": { - Include("string-intp"), - {`[\\#]`, LiteralStringRegex, nil}, - {`[^\\#]+`, LiteralStringRegex, nil}, - }, - "interpolated-string": { - Include("string-intp"), - {`[\\#]`, LiteralStringOther, nil}, - {`[^\\#]+`, LiteralStringOther, nil}, - }, - "multiline-regex": { - Include("string-intp"), - {`\\\\`, LiteralStringRegex, nil}, - {`\\/`, LiteralStringRegex, nil}, - {`[\\#]`, LiteralStringRegex, nil}, - {`[^\\/#]+`, LiteralStringRegex, nil}, - {`/[imsx]*`, LiteralStringRegex, Pop(1)}, - }, - "end-part": { - {`.+`, CommentPreproc, Pop(1)}, - }, - "in-macro-control": { - {`\{%`, LiteralStringInterpol, Push()}, - {`%\}`, LiteralStringInterpol, Pop(1)}, - {`for\b|in\b`, Keyword, nil}, - Include("root"), - }, - "in-macro-expr": { - {`\{\{`, LiteralStringInterpol, Push()}, - {`\}\}`, LiteralStringInterpol, Pop(1)}, - Include("root"), - }, - "in-attr": { - {`\[`, Operator, Push()}, - {`\]`, Operator, Pop(1)}, - Include("root"), - }, - "strings": { - {`\:@{0,2}[a-zA-Z_]\w*[!?]?`, LiteralStringSymbol, nil}, - {Words(`\:@{0,2}`, ``, `!=`, `!~`, `!`, `%`, `&&`, `&`, `**`, `*`, `+`, `-`, `/`, `<=>`, `<<`, `<=`, `<`, `===`, `==`, `=~`, `=`, `>=`, `>>`, `>`, `[]=`, `[]?`, `[]`, `^`, `||`, `|`, `~`), LiteralStringSymbol, nil}, - {`:'(\\\\|\\'|[^'])*'`, LiteralStringSymbol, nil}, - {`'(\\\\|\\'|[^']|\\[^'\\]+)'`, LiteralStringChar, nil}, - {`:"`, LiteralStringSymbol, Push("simple-sym")}, - {`([a-zA-Z_]\w*)(:)(?!:)`, ByGroups(LiteralStringSymbol, Punctuation), nil}, - {`"`, LiteralStringDouble, Push("simple-string")}, - {"(?&!^|~,(])(\s*)(%([\t ])(?:(?:\\\3|(?!\3).)*)\3)`, ByGroups(Text, LiteralStringOther, None), nil}, - {`^(\s*)(%([\t ])(?:(?:\\\3|(?!\3).)*)\3)`, ByGroups(Text, LiteralStringOther, None), nil}, - {`(%([\[{(<]))((?:\\\2|(?!\2).)*)(\2)`, String, nil}, - }, - "simple-string": { - Include("string-intp-escaped"), - {`[^\\"#]+`, LiteralStringDouble, nil}, - {`[\\#]`, LiteralStringDouble, nil}, - {`"`, LiteralStringDouble, Pop(1)}, - }, - "simple-sym": { - Include("string-escaped"), - {`[^\\"#]+`, LiteralStringSymbol, nil}, - {`[\\#]`, LiteralStringSymbol, nil}, - {`"`, LiteralStringSymbol, Pop(1)}, - }, - "simple-backtick": { - Include("string-intp-escaped"), - {"[^\\\\`#]+", LiteralStringBacktick, nil}, - {`[\\#]`, LiteralStringBacktick, nil}, - {"`", LiteralStringBacktick, Pop(1)}, - }, - "cb-intp-string": { - {`\\[\{]`, LiteralStringOther, nil}, - {`\{`, LiteralStringOther, Push()}, - {`\}`, LiteralStringOther, Pop(1)}, - Include("string-intp-escaped"), - {`[\\#{}]`, LiteralStringOther, nil}, - {`[^\\#{}]+`, LiteralStringOther, nil}, - }, - "cb-string": { - {`\\[\\{}]`, LiteralStringOther, nil}, - {`\{`, LiteralStringOther, Push()}, - {`\}`, LiteralStringOther, Pop(1)}, - {`[\\#{}]`, LiteralStringOther, nil}, - {`[^\\#{}]+`, LiteralStringOther, nil}, - }, - "cb-regex": { - {`\\[\\{}]`, LiteralStringRegex, nil}, - {`\{`, LiteralStringRegex, Push()}, - {`\}[imsx]*`, LiteralStringRegex, Pop(1)}, - Include("string-intp"), - {`[\\#{}]`, LiteralStringRegex, nil}, - {`[^\\#{}]+`, LiteralStringRegex, nil}, - }, - "sb-intp-string": { - {`\\[\[]`, LiteralStringOther, nil}, - {`\[`, LiteralStringOther, Push()}, - {`\]`, LiteralStringOther, Pop(1)}, - Include("string-intp-escaped"), - {`[\\#\[\]]`, LiteralStringOther, nil}, - {`[^\\#\[\]]+`, LiteralStringOther, nil}, - }, - "sb-string": { - {`\\[\\\[\]]`, LiteralStringOther, nil}, - {`\[`, LiteralStringOther, Push()}, - {`\]`, LiteralStringOther, Pop(1)}, - {`[\\#\[\]]`, LiteralStringOther, nil}, - {`[^\\#\[\]]+`, LiteralStringOther, nil}, - }, - "sb-regex": { - {`\\[\\\[\]]`, LiteralStringRegex, nil}, - {`\[`, LiteralStringRegex, Push()}, - {`\][imsx]*`, LiteralStringRegex, Pop(1)}, - Include("string-intp"), - {`[\\#\[\]]`, LiteralStringRegex, nil}, - {`[^\\#\[\]]+`, LiteralStringRegex, nil}, - }, - "pa-intp-string": { - {`\\[\(]`, LiteralStringOther, nil}, - {`\(`, LiteralStringOther, Push()}, - {`\)`, LiteralStringOther, Pop(1)}, - Include("string-intp-escaped"), - {`[\\#()]`, LiteralStringOther, nil}, - {`[^\\#()]+`, LiteralStringOther, nil}, - }, - "pa-string": { - {`\\[\\()]`, LiteralStringOther, nil}, - {`\(`, LiteralStringOther, Push()}, - {`\)`, LiteralStringOther, Pop(1)}, - {`[\\#()]`, LiteralStringOther, nil}, - {`[^\\#()]+`, LiteralStringOther, nil}, - }, - "pa-regex": { - {`\\[\\()]`, LiteralStringRegex, nil}, - {`\(`, LiteralStringRegex, Push()}, - {`\)[imsx]*`, LiteralStringRegex, Pop(1)}, - Include("string-intp"), - {`[\\#()]`, LiteralStringRegex, nil}, - {`[^\\#()]+`, LiteralStringRegex, nil}, - }, - "ab-intp-string": { - {`\\[<]`, LiteralStringOther, nil}, - {`<`, LiteralStringOther, Push()}, - {`>`, LiteralStringOther, Pop(1)}, - Include("string-intp-escaped"), - {`[\\#<>]`, LiteralStringOther, nil}, - {`[^\\#<>]+`, LiteralStringOther, nil}, - }, - "ab-string": { - {`\\[\\<>]`, LiteralStringOther, nil}, - {`<`, LiteralStringOther, Push()}, - {`>`, LiteralStringOther, Pop(1)}, - {`[\\#<>]`, LiteralStringOther, nil}, - {`[^\\#<>]+`, LiteralStringOther, nil}, - }, - "ab-regex": { - {`\\[\\<>]`, LiteralStringRegex, nil}, - {`<`, LiteralStringRegex, Push()}, - {`>[imsx]*`, LiteralStringRegex, Pop(1)}, - Include("string-intp"), - {`[\\#<>]`, LiteralStringRegex, nil}, - {`[^\\#<>]+`, LiteralStringRegex, nil}, - }, - }, -)) diff --git a/vendor/github.com/alecthomas/chroma/lexers/c/csharp.go b/vendor/github.com/alecthomas/chroma/lexers/c/csharp.go deleted file mode 100644 index d59fa4f4..00000000 --- a/vendor/github.com/alecthomas/chroma/lexers/c/csharp.go +++ /dev/null @@ -1,50 +0,0 @@ -package c - -import ( - . "github.com/alecthomas/chroma" // nolint - "github.com/alecthomas/chroma/lexers/internal" -) - -// CSharp lexer. -var CSharp = internal.Register(MustNewLexer( - &Config{ - Name: "C#", - Aliases: []string{"csharp", "c#"}, - Filenames: []string{"*.cs"}, - MimeTypes: []string{"text/x-csharp"}, - DotAll: true, - }, - Rules{ - "root": { - {`^\s*\[.*?\]`, NameAttribute, nil}, - {`[^\S\n]+`, Text, nil}, - {`\\\n`, Text, nil}, - {`//.*?\n`, CommentSingle, nil}, - {`/[*].*?[*]/`, CommentMultiline, nil}, - {`\n`, Text, nil}, - {`[~!%^&*()+=|\[\]:;,.<>/?-]`, Punctuation, nil}, - {`[{}]`, Punctuation, nil}, - {`@"(""|[^"])*"`, LiteralString, nil}, - {`\$@?"(""|[^"])*"`, LiteralString, nil}, - {`"(\\\\|\\"|[^"\n])*["\n]`, LiteralString, nil}, - {`'\\.'|'[^\\]'`, LiteralStringChar, nil}, - {`[0-9](\.[0-9]*)?([eE][+-][0-9]+)?[flFLdD]?|0[xX][0-9a-fA-F]+[Ll]?`, LiteralNumber, nil}, - {`#[ \t]*(if|endif|else|elif|define|undef|line|error|warning|region|endregion|pragma)\b.*?\n`, CommentPreproc, nil}, - {`\b(extern)(\s+)(alias)\b`, ByGroups(Keyword, Text, Keyword), nil}, - {`(abstract|as|async|await|base|break|by|case|catch|checked|const|continue|default|delegate|do|else|enum|event|explicit|extern|false|finally|fixed|for|foreach|goto|if|implicit|in|interface|internal|is|let|lock|new|null|on|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|true|try|typeof|unchecked|unsafe|virtual|void|while|get|set|new|partial|yield|add|remove|value|alias|ascending|descending|from|group|into|orderby|select|thenby|where|join|equals)\b`, Keyword, nil}, - {`(global)(::)`, ByGroups(Keyword, Punctuation), nil}, - {`(bool|byte|char|decimal|double|dynamic|float|int|long|object|sbyte|short|string|uint|ulong|ushort|var)\b\??`, KeywordType, nil}, - {`(class|struct)(\s+)`, ByGroups(Keyword, Text), Push("class")}, - {`(namespace|using)(\s+)`, ByGroups(Keyword, Text), Push("namespace")}, - {`@?[_a-zA-Z]\w*`, Name, nil}, - }, - "class": { - {`@?[_a-zA-Z]\w*`, NameClass, Pop(1)}, - Default(Pop(1)), - }, - "namespace": { - {`(?=\()`, Text, Pop(1)}, - {`(@?[_a-zA-Z]\w*|\.)+`, NameNamespace, Pop(1)}, - }, - }, -)) diff --git a/vendor/github.com/alecthomas/chroma/lexers/c/css.go b/vendor/github.com/alecthomas/chroma/lexers/c/css.go deleted file mode 100644 index fedc809b..00000000 --- a/vendor/github.com/alecthomas/chroma/lexers/c/css.go +++ /dev/null @@ -1,104 +0,0 @@ -package c - -import ( - . "github.com/alecthomas/chroma" // nolint - "github.com/alecthomas/chroma/lexers/internal" -) - -// CSS lexer. -var CSS = internal.Register(MustNewLexer( - &Config{ - Name: "CSS", - Aliases: []string{"css"}, - Filenames: []string{"*.css"}, - MimeTypes: []string{"text/css"}, - }, - Rules{ - "root": { - Include("basics"), - }, - "basics": { - {`\s+`, Text, nil}, - {`/\*(?:.|\n)*?\*/`, Comment, nil}, - {`\{`, Punctuation, Push("content")}, - {`(\:{1,2})([\w-]+)`, ByGroups(Punctuation, NameDecorator), nil}, - {`(\.)([\w-]+)`, ByGroups(Punctuation, NameClass), nil}, - {`(\#)([\w-]+)`, ByGroups(Punctuation, NameNamespace), nil}, - {`(@)([\w-]+)`, ByGroups(Punctuation, Keyword), Push("atrule")}, - {`[\w-]+`, NameTag, nil}, - {`[~^*!%&$\[\]()<>|+=@:;,./?-]`, Operator, nil}, - {`"(\\\\|\\"|[^"])*"`, LiteralStringDouble, nil}, - {`'(\\\\|\\'|[^'])*'`, LiteralStringSingle, nil}, - }, - "atrule": { - {`\{`, Punctuation, Push("atcontent")}, - {`;`, Punctuation, Pop(1)}, - Include("basics"), - }, - "atcontent": { - Include("basics"), - {`\}`, Punctuation, Pop(2)}, - }, - "content": { - {`\s+`, Text, nil}, - {`\}`, Punctuation, Pop(1)}, - {`;`, Punctuation, nil}, - {`^@.*?$`, CommentPreproc, nil}, - {Words(``, ``, `-ms-`, `mso-`, `-moz-`, `-o-`, `-xv-`, `-atsc-`, `-wap-`, `-khtml-`, `-webkit-`, `prince-`, `-ah-`, `-hp-`, `-ro-`, `-rim-`, `-tc-`), KeywordPseudo, nil}, - {`(align-content|align-items|align-self|alignment-baseline|all|animation|animation-delay|animation-direction|animation-duration|animation-fill-mode|animation-iteration-count|animation-name|animation-play-state|animation-timing-function|appearance|azimuth|backface-visibility|background|background-attachment|background-blend-mode|background-clip|background-color|background-image|background-origin|background-position|background-repeat|background-size|baseline-shift|bookmark-label|bookmark-level|bookmark-state|border|border-bottom|border-bottom-color|border-bottom-left-radius|border-bottom-right-radius|border-bottom-style|border-bottom-width|border-boundary|border-collapse|border-color|border-image|border-image-outset|border-image-repeat|border-image-slice|border-image-source|border-image-width|border-left|border-left-color|border-left-style|border-left-width|border-radius|border-right|border-right-color|border-right-style|border-right-width|border-spacing|border-style|border-top|border-top-color|border-top-left-radius|border-top-right-radius|border-top-style|border-top-width|border-width|bottom|box-decoration-break|box-shadow|box-sizing|box-snap|box-suppress|break-after|break-before|break-inside|caption-side|caret|caret-animation|caret-color|caret-shape|chains|clear|clip|clip-path|clip-rule|color|color-interpolation-filters|column-count|column-fill|column-gap|column-rule|column-rule-color|column-rule-style|column-rule-width|column-span|column-width|columns|content|counter-increment|counter-reset|counter-set|crop|cue|cue-after|cue-before|cursor|direction|display|dominant-baseline|elevation|empty-cells|filter|flex|flex-basis|flex-direction|flex-flow|flex-grow|flex-shrink|flex-wrap|float|float-defer|float-offset|float-reference|flood-color|flood-opacity|flow|flow-from|flow-into|font|font-family|font-feature-settings|font-kerning|font-language-override|font-size|font-size-adjust|font-stretch|font-style|font-synthesis|font-variant|font-variant-alternates|font-variant-caps|font-variant-east-asian|font-variant-ligatures|font-variant-numeric|font-variant-position|font-weight|footnote-display|footnote-policy|glyph-orientation-vertical|grid|grid-area|grid-auto-columns|grid-auto-flow|grid-auto-rows|grid-column|grid-column-end|grid-column-gap|grid-column-start|grid-gap|grid-row|grid-row-end|grid-row-gap|grid-row-start|grid-template|grid-template-areas|grid-template-columns|grid-template-rows|hanging-punctuation|height|hyphenate-character|hyphenate-limit-chars|hyphenate-limit-last|hyphenate-limit-lines|hyphenate-limit-zone|hyphens|image-orientation|image-resolution|initial-letter|initial-letter-align|initial-letter-wrap|isolation|justify-content|justify-items|justify-self|left|letter-spacing|lighting-color|line-break|line-grid|line-height|line-snap|list-style|list-style-image|list-style-position|list-style-type|margin|margin-bottom|margin-left|margin-right|margin-top|marker-side|marquee-direction|marquee-loop|marquee-speed|marquee-style|mask|mask-border|mask-border-mode|mask-border-outset|mask-border-repeat|mask-border-slice|mask-border-source|mask-border-width|mask-clip|mask-composite|mask-image|mask-mode|mask-origin|mask-position|mask-repeat|mask-size|mask-type|max-height|max-lines|max-width|min-height|min-width|mix-blend-mode|motion|motion-offset|motion-path|motion-rotation|move-to|nav-down|nav-left|nav-right|nav-up|object-fit|object-position|offset-after|offset-before|offset-end|offset-start|opacity|order|orphans|outline|outline-color|outline-offset|outline-style|outline-width|overflow|overflow-style|overflow-wrap|overflow-x|overflow-y|padding|padding-bottom|padding-left|padding-right|padding-top|page|page-break-after|page-break-before|page-break-inside|page-policy|pause|pause-after|pause-before|perspective|perspective-origin|pitch|pitch-range|play-during|polar-angle|polar-distance|position|presentation-level|quotes|region-fragment|resize|rest|rest-after|rest-before|richness|right|rotation|rotation-point|ruby-align|ruby-merge|ruby-position|running|scroll-snap-coordinate|scroll-snap-destination|scroll-snap-points-x|scroll-snap-points-y|scroll-snap-type|shape-image-threshold|shape-inside|shape-margin|shape-outside|size|speak|speak-as|speak-header|speak-numeral|speak-punctuation|speech-rate|stress|string-set|tab-size|table-layout|text-align|text-align-last|text-combine-upright|text-decoration|text-decoration-color|text-decoration-line|text-decoration-skip|text-decoration-style|text-emphasis|text-emphasis-color|text-emphasis-position|text-emphasis-style|text-indent|text-justify|text-orientation|text-overflow|text-shadow|text-space-collapse|text-space-trim|text-spacing|text-transform|text-underline-position|text-wrap|top|transform|transform-origin|transform-style|transition|transition-delay|transition-duration|transition-property|transition-timing-function|unicode-bidi|user-select|vertical-align|visibility|voice-balance|voice-duration|voice-family|voice-pitch|voice-range|voice-rate|voice-stress|voice-volume|volume|white-space|widows|width|will-change|word-break|word-spacing|word-wrap|wrap-after|wrap-before|wrap-flow|wrap-inside|wrap-through|writing-mode|z-index)(\s*)(\:)`, ByGroups(Keyword, Text, Punctuation), Push("value-start")}, - {`(--[a-zA-Z_][\w-]*)(\s*)(\:)`, ByGroups(NameVariable, Text, Punctuation), Push("value-start")}, - {`([a-zA-Z_][\w-]*)(\s*)(\:)`, ByGroups(Name, Text, Punctuation), Push("value-start")}, - {`/\*(?:.|\n)*?\*/`, Comment, nil}, - }, - "value-start": { - Include("common-values"), - {Words(``, `\b`, `align-content`, `align-items`, `align-self`, `alignment-baseline`, `all`, `animation`, `animation-delay`, `animation-direction`, `animation-duration`, `animation-fill-mode`, `animation-iteration-count`, `animation-name`, `animation-play-state`, `animation-timing-function`, `appearance`, `azimuth`, `backface-visibility`, `background`, `background-attachment`, `background-blend-mode`, `background-clip`, `background-color`, `background-image`, `background-origin`, `background-position`, `background-repeat`, `background-size`, `baseline-shift`, `bookmark-label`, `bookmark-level`, `bookmark-state`, `border`, `border-bottom`, `border-bottom-color`, `border-bottom-left-radius`, `border-bottom-right-radius`, `border-bottom-style`, `border-bottom-width`, `border-boundary`, `border-collapse`, `border-color`, `border-image`, `border-image-outset`, `border-image-repeat`, `border-image-slice`, `border-image-source`, `border-image-width`, `border-left`, `border-left-color`, `border-left-style`, `border-left-width`, `border-radius`, `border-right`, `border-right-color`, `border-right-style`, `border-right-width`, `border-spacing`, `border-style`, `border-top`, `border-top-color`, `border-top-left-radius`, `border-top-right-radius`, `border-top-style`, `border-top-width`, `border-width`, `bottom`, `box-decoration-break`, `box-shadow`, `box-sizing`, `box-snap`, `box-suppress`, `break-after`, `break-before`, `break-inside`, `caption-side`, `caret`, `caret-animation`, `caret-color`, `caret-shape`, `chains`, `clear`, `clip`, `clip-path`, `clip-rule`, `color`, `color-interpolation-filters`, `column-count`, `column-fill`, `column-gap`, `column-rule`, `column-rule-color`, `column-rule-style`, `column-rule-width`, `column-span`, `column-width`, `columns`, `content`, `counter-increment`, `counter-reset`, `counter-set`, `crop`, `cue`, `cue-after`, `cue-before`, `cursor`, `direction`, `display`, `dominant-baseline`, `elevation`, `empty-cells`, `filter`, `flex`, `flex-basis`, `flex-direction`, `flex-flow`, `flex-grow`, `flex-shrink`, `flex-wrap`, `float`, `float-defer`, `float-offset`, `float-reference`, `flood-color`, `flood-opacity`, `flow`, `flow-from`, `flow-into`, `font`, `font-family`, `font-feature-settings`, `font-kerning`, `font-language-override`, `font-size`, `font-size-adjust`, `font-stretch`, `font-style`, `font-synthesis`, `font-variant`, `font-variant-alternates`, `font-variant-caps`, `font-variant-east-asian`, `font-variant-ligatures`, `font-variant-numeric`, `font-variant-position`, `font-weight`, `footnote-display`, `footnote-policy`, `glyph-orientation-vertical`, `grid`, `grid-area`, `grid-auto-columns`, `grid-auto-flow`, `grid-auto-rows`, `grid-column`, `grid-column-end`, `grid-column-gap`, `grid-column-start`, `grid-gap`, `grid-row`, `grid-row-end`, `grid-row-gap`, `grid-row-start`, `grid-template`, `grid-template-areas`, `grid-template-columns`, `grid-template-rows`, `hanging-punctuation`, `height`, `hyphenate-character`, `hyphenate-limit-chars`, `hyphenate-limit-last`, `hyphenate-limit-lines`, `hyphenate-limit-zone`, `hyphens`, `image-orientation`, `image-resolution`, `initial-letter`, `initial-letter-align`, `initial-letter-wrap`, `isolation`, `justify-content`, `justify-items`, `justify-self`, `left`, `letter-spacing`, `lighting-color`, `line-break`, `line-grid`, `line-height`, `line-snap`, `list-style`, `list-style-image`, `list-style-position`, `list-style-type`, `margin`, `margin-bottom`, `margin-left`, `margin-right`, `margin-top`, `marker-side`, `marquee-direction`, `marquee-loop`, `marquee-speed`, `marquee-style`, `mask`, `mask-border`, `mask-border-mode`, `mask-border-outset`, `mask-border-repeat`, `mask-border-slice`, `mask-border-source`, `mask-border-width`, `mask-clip`, `mask-composite`, `mask-image`, `mask-mode`, `mask-origin`, `mask-position`, `mask-repeat`, `mask-size`, `mask-type`, `max-height`, `max-lines`, `max-width`, `min-height`, `min-width`, `mix-blend-mode`, `motion`, `motion-offset`, `motion-path`, `motion-rotation`, `move-to`, `nav-down`, `nav-left`, `nav-right`, `nav-up`, `object-fit`, `object-position`, `offset-after`, `offset-before`, `offset-end`, `offset-start`, `opacity`, `order`, `orphans`, `outline`, `outline-color`, `outline-offset`, `outline-style`, `outline-width`, `overflow`, `overflow-style`, `overflow-wrap`, `overflow-x`, `overflow-y`, `padding`, `padding-bottom`, `padding-left`, `padding-right`, `padding-top`, `page`, `page-break-after`, `page-break-before`, `page-break-inside`, `page-policy`, `pause`, `pause-after`, `pause-before`, `perspective`, `perspective-origin`, `pitch`, `pitch-range`, `play-during`, `polar-angle`, `polar-distance`, `position`, `presentation-level`, `quotes`, `region-fragment`, `resize`, `rest`, `rest-after`, `rest-before`, `richness`, `right`, `rotation`, `rotation-point`, `ruby-align`, `ruby-merge`, `ruby-position`, `running`, `scroll-snap-coordinate`, `scroll-snap-destination`, `scroll-snap-points-x`, `scroll-snap-points-y`, `scroll-snap-type`, `shape-image-threshold`, `shape-inside`, `shape-margin`, `shape-outside`, `size`, `speak`, `speak-as`, `speak-header`, `speak-numeral`, `speak-punctuation`, `speech-rate`, `stress`, `string-set`, `tab-size`, `table-layout`, `text-align`, `text-align-last`, `text-combine-upright`, `text-decoration`, `text-decoration-color`, `text-decoration-line`, `text-decoration-skip`, `text-decoration-style`, `text-emphasis`, `text-emphasis-color`, `text-emphasis-position`, `text-emphasis-style`, `text-indent`, `text-justify`, `text-orientation`, `text-overflow`, `text-shadow`, `text-space-collapse`, `text-space-trim`, `text-spacing`, `text-transform`, `text-underline-position`, `text-wrap`, `top`, `transform`, `transform-origin`, `transform-style`, `transition`, `transition-delay`, `transition-duration`, `transition-property`, `transition-timing-function`, `unicode-bidi`, `user-select`, `vertical-align`, `visibility`, `voice-balance`, `voice-duration`, `voice-family`, `voice-pitch`, `voice-range`, `voice-rate`, `voice-stress`, `voice-volume`, `volume`, `white-space`, `widows`, `width`, `will-change`, `word-break`, `word-spacing`, `word-wrap`, `wrap-after`, `wrap-before`, `wrap-flow`, `wrap-inside`, `wrap-through`, `writing-mode`, `z-index`), Keyword, nil}, - {`\!important`, CommentPreproc, nil}, - {`/\*(?:.|\n)*?\*/`, Comment, nil}, - Include("numeric-values"), - {`[~^*!%&<>|+=@:./?-]+`, Operator, nil}, - {`[\[\](),]+`, Punctuation, nil}, - {`"(\\\\|\\"|[^"])*"`, LiteralStringDouble, nil}, - {`'(\\\\|\\'|[^'])*'`, LiteralStringSingle, nil}, - {`[a-zA-Z_][\w-]*`, Name, nil}, - {`;`, Punctuation, Pop(1)}, - {`\}`, Punctuation, Pop(2)}, - }, - "function-start": { - Include("common-values"), - {`/\*(?:.|\n)*?\*/`, Comment, nil}, - Include("numeric-values"), - {`[*+/-]`, Operator, nil}, - {`[,]`, Punctuation, nil}, - {`"(\\\\|\\"|[^"])*"`, LiteralStringDouble, nil}, - {`'(\\\\|\\'|[^'])*'`, LiteralStringSingle, nil}, - {`[a-zA-Z_-]\w*`, Name, nil}, - {`\)`, Punctuation, Pop(1)}, - }, - "common-values": { - {`\s+`, Text, nil}, - {Words(``, ``, `-ms-`, `mso-`, `-moz-`, `-o-`, `-xv-`, `-atsc-`, `-wap-`, `-khtml-`, `-webkit-`, `prince-`, `-ah-`, `-hp-`, `-ro-`, `-rim-`, `-tc-`), KeywordPseudo, nil}, - Include("urls"), - {`(attr|blackness|blend|blenda|blur|brightness|calc|circle|color-mod|contrast|counter|cubic-bezier|device-cmyk|drop-shadow|ellipse|gray|grayscale|hsl|hsla|hue|hue-rotate|hwb|image|inset|invert|lightness|linear-gradient|matrix|matrix3d|opacity|perspective|polygon|radial-gradient|rect|repeating-linear-gradient|repeating-radial-gradient|rgb|rgba|rotate|rotate3d|rotateX|rotateY|rotateZ|saturate|saturation|scale|scale3d|scaleX|scaleY|scaleZ|sepia|shade|skewX|skewY|steps|tint|toggle|translate|translate3d|translateX|translateY|translateZ|whiteness)(\()`, ByGroups(NameBuiltin, Punctuation), Push("function-start")}, - {`([a-zA-Z_][\w-]+)(\()`, ByGroups(NameFunction, Punctuation), Push("function-start")}, - {Words(``, `\b`, `absolute`, `alias`, `all`, `all-petite-caps`, `all-scroll`, `all-small-caps`, `allow-end`, `alpha`, `alternate`, `alternate-reverse`, `always`, `armenian`, `auto`, `avoid`, `avoid-column`, `avoid-page`, `backwards`, `balance`, `baseline`, `below`, `blink`, `block`, `bold`, `bolder`, `border-box`, `both`, `bottom`, `box-decoration`, `break-word`, `capitalize`, `cell`, `center`, `circle`, `clip`, `clone`, `close-quote`, `col-resize`, `collapse`, `color`, `color-burn`, `color-dodge`, `column`, `column-reverse`, `compact`, `condensed`, `contain`, `container`, `content-box`, `context-menu`, `copy`, `cover`, `crisp-edges`, `crosshair`, `currentColor`, `cursive`, `darken`, `dashed`, `decimal`, `decimal-leading-zero`, `default`, `descendants`, `difference`, `digits`, `disc`, `distribute`, `dot`, `dotted`, `double`, `double-circle`, `e-resize`, `each-line`, `ease`, `ease-in`, `ease-in-out`, `ease-out`, `edges`, `ellipsis`, `end`, `ew-resize`, `exclusion`, `expanded`, `extra-condensed`, `extra-expanded`, `fantasy`, `fill`, `fill-box`, `filled`, `first`, `fixed`, `flat`, `flex`, `flex-end`, `flex-start`, `flip`, `force-end`, `forwards`, `from-image`, `full-width`, `geometricPrecision`, `georgian`, `groove`, `hanging`, `hard-light`, `help`, `hidden`, `hide`, `horizontal`, `hue`, `icon`, `infinite`, `inherit`, `initial`, `ink`, `inline`, `inline-block`, `inline-flex`, `inline-table`, `inset`, `inside`, `inter-word`, `invert`, `isolate`, `italic`, `justify`, `large`, `larger`, `last`, `left`, `lighten`, `lighter`, `line-through`, `linear`, `list-item`, `local`, `loose`, `lower-alpha`, `lower-greek`, `lower-latin`, `lower-roman`, `lowercase`, `ltr`, `luminance`, `luminosity`, `mandatory`, `manipulation`, `manual`, `margin-box`, `match-parent`, `medium`, `mixed`, `monospace`, `move`, `multiply`, `n-resize`, `ne-resize`, `nesw-resize`, `no-close-quote`, `no-drop`, `no-open-quote`, `no-repeat`, `none`, `normal`, `not-allowed`, `nowrap`, `ns-resize`, `nw-resize`, `nwse-resize`, `objects`, `oblique`, `off`, `on`, `open`, `open-quote`, `optimizeLegibility`, `optimizeSpeed`, `outset`, `outside`, `over`, `overlay`, `overline`, `padding-box`, `page`, `pan-down`, `pan-left`, `pan-right`, `pan-up`, `pan-x`, `pan-y`, `paused`, `petite-caps`, `pixelated`, `pointer`, `preserve-3d`, `progress`, `proximity`, `relative`, `repeat`, `repeat no-repeat`, `repeat-x`, `repeat-y`, `reverse`, `ridge`, `right`, `round`, `row`, `row-resize`, `row-reverse`, `rtl`, `ruby`, `ruby-base`, `ruby-base-container`, `ruby-text`, `ruby-text-container`, `run-in`, `running`, `s-resize`, `sans-serif`, `saturation`, `scale-down`, `screen`, `scroll`, `se-resize`, `semi-condensed`, `semi-expanded`, `separate`, `serif`, `sesame`, `show`, `sideways`, `sideways-left`, `sideways-right`, `slice`, `small`, `small-caps`, `smaller`, `smooth`, `snap`, `soft-light`, `solid`, `space`, `space-around`, `space-between`, `spaces`, `square`, `start`, `static`, `step-end`, `step-start`, `sticky`, `stretch`, `strict`, `stroke-box`, `style`, `sw-resize`, `table`, `table-caption`, `table-cell`, `table-column`, `table-column-group`, `table-footer-group`, `table-header-group`, `table-row`, `table-row-group`, `text`, `thick`, `thin`, `titling-caps`, `to`, `top`, `triangle`, `ultra-condensed`, `ultra-expanded`, `under`, `underline`, `unicase`, `unset`, `upper-alpha`, `upper-latin`, `upper-roman`, `uppercase`, `upright`, `use-glyph-orientation`, `vertical`, `vertical-text`, `view-box`, `visible`, `w-resize`, `wait`, `wavy`, `weight`, `weight style`, `wrap`, `wrap-reverse`, `x-large`, `x-small`, `xx-large`, `xx-small`, `zoom-in`, `zoom-out`), KeywordConstant, nil}, - {Words(``, `\b`, `above`, `aural`, `behind`, `bidi-override`, `center-left`, `center-right`, `cjk-ideographic`, `continuous`, `crop`, `cross`, `embed`, `far-left`, `far-right`, `fast`, `faster`, `hebrew`, `high`, `higher`, `hiragana`, `hiragana-iroha`, `katakana`, `katakana-iroha`, `landscape`, `left-side`, `leftwards`, `level`, `loud`, `low`, `lower`, `message-box`, `middle`, `mix`, `narrower`, `once`, `portrait`, `right-side`, `rightwards`, `silent`, `slow`, `slower`, `small-caption`, `soft`, `spell-out`, `status-bar`, `super`, `text-bottom`, `text-top`, `wider`, `x-fast`, `x-high`, `x-loud`, `x-low`, `x-soft`, `yes`, `pre`, `pre-wrap`, `pre-line`), KeywordConstant, nil}, - {Words(``, `\b`, `aliceblue`, `antiquewhite`, `aqua`, `aquamarine`, `azure`, `beige`, `bisque`, `black`, `blanchedalmond`, `blue`, `blueviolet`, `brown`, `burlywood`, `cadetblue`, `chartreuse`, `chocolate`, `coral`, `cornflowerblue`, `cornsilk`, `crimson`, `cyan`, `darkblue`, `darkcyan`, `darkgoldenrod`, `darkgray`, `darkgreen`, `darkgrey`, `darkkhaki`, `darkmagenta`, `darkolivegreen`, `darkorange`, `darkorchid`, `darkred`, `darksalmon`, `darkseagreen`, `darkslateblue`, `darkslategray`, `darkslategrey`, `darkturquoise`, `darkviolet`, `deeppink`, `deepskyblue`, `dimgray`, `dimgrey`, `dodgerblue`, `firebrick`, `floralwhite`, `forestgreen`, `fuchsia`, `gainsboro`, `ghostwhite`, `gold`, `goldenrod`, `gray`, `green`, `greenyellow`, `grey`, `honeydew`, `hotpink`, `indianred`, `indigo`, `ivory`, `khaki`, `lavender`, `lavenderblush`, `lawngreen`, `lemonchiffon`, `lightblue`, `lightcoral`, `lightcyan`, `lightgoldenrodyellow`, `lightgray`, `lightgreen`, `lightgrey`, `lightpink`, `lightsalmon`, `lightseagreen`, `lightskyblue`, `lightslategray`, `lightslategrey`, `lightsteelblue`, `lightyellow`, `lime`, `limegreen`, `linen`, `magenta`, `maroon`, `mediumaquamarine`, `mediumblue`, `mediumorchid`, `mediumpurple`, `mediumseagreen`, `mediumslateblue`, `mediumspringgreen`, `mediumturquoise`, `mediumvioletred`, `midnightblue`, `mintcream`, `mistyrose`, `moccasin`, `navajowhite`, `navy`, `oldlace`, `olive`, `olivedrab`, `orange`, `orangered`, `orchid`, `palegoldenrod`, `palegreen`, `paleturquoise`, `palevioletred`, `papayawhip`, `peachpuff`, `peru`, `pink`, `plum`, `powderblue`, `purple`, `rebeccapurple`, `red`, `rosybrown`, `royalblue`, `saddlebrown`, `salmon`, `sandybrown`, `seagreen`, `seashell`, `sienna`, `silver`, `skyblue`, `slateblue`, `slategray`, `slategrey`, `snow`, `springgreen`, `steelblue`, `tan`, `teal`, `thistle`, `tomato`, `turquoise`, `violet`, `wheat`, `white`, `whitesmoke`, `yellow`, `yellowgreen`, `transparent`), KeywordConstant, nil}, - }, - "urls": { - {`(url)(\()(".*?")(\))`, ByGroups(NameBuiltin, Punctuation, LiteralStringDouble, Punctuation), nil}, - {`(url)(\()('.*?')(\))`, ByGroups(NameBuiltin, Punctuation, LiteralStringSingle, Punctuation), nil}, - {`(url)(\()(.*?)(\))`, ByGroups(NameBuiltin, Punctuation, LiteralStringOther, Punctuation), nil}, - }, - "numeric-values": { - {`\#[a-zA-Z0-9]{1,6}`, LiteralNumberHex, nil}, - {`[+\-]?[0-9]*[.][0-9]+`, LiteralNumberFloat, Push("numeric-end")}, - {`[+\-]?[0-9]+`, LiteralNumberInteger, Push("numeric-end")}, - }, - "numeric-end": { - {Words(``, `\b`, `deg`, `grad`, `rad`, `turn`, `Hz`, `kHz`, `em`, `ex`, `ch`, `rem`, `vh`, `vw`, `vmin`, `vmax`, `px`, `mm`, `cm`, `in`, `pt`, `pc`, `q`, `dpi`, `dpcm`, `dppx`, `s`, `ms`), KeywordType, nil}, - {`%`, KeywordType, nil}, - Default(Pop(1)), - }, - }, -)) diff --git a/vendor/github.com/alecthomas/chroma/lexers/c/cython.go b/vendor/github.com/alecthomas/chroma/lexers/c/cython.go deleted file mode 100644 index 701e2b79..00000000 --- a/vendor/github.com/alecthomas/chroma/lexers/c/cython.go +++ /dev/null @@ -1,135 +0,0 @@ -package c - -import ( - . "github.com/alecthomas/chroma" // nolint - "github.com/alecthomas/chroma/lexers/internal" -) - -// Cython lexer. -var Cython = internal.Register(MustNewLexer( - &Config{ - Name: "Cython", - Aliases: []string{"cython", "pyx", "pyrex"}, - Filenames: []string{"*.pyx", "*.pxd", "*.pxi"}, - MimeTypes: []string{"text/x-cython", "application/x-cython"}, - }, - Rules{ - "root": { - {`\n`, Text, nil}, - {`^(\s*)("""(?:.|\n)*?""")`, ByGroups(Text, LiteralStringDoc), nil}, - {`^(\s*)('''(?:.|\n)*?''')`, ByGroups(Text, LiteralStringDoc), nil}, - {`[^\S\n]+`, Text, nil}, - {`#.*$`, Comment, nil}, - {`[]{}:(),;[]`, Punctuation, nil}, - {`\\\n`, Text, nil}, - {`\\`, Text, nil}, - {`(in|is|and|or|not)\b`, OperatorWord, nil}, - {`(<)([a-zA-Z0-9.?]+)(>)`, ByGroups(Punctuation, KeywordType, Punctuation), nil}, - {`!=|==|<<|>>|[-~+/*%=<>&^|.?]`, Operator, nil}, - {`(from)(\d+)(<=)(\s+)(<)(\d+)(:)`, ByGroups(Keyword, LiteralNumberInteger, Operator, Name, Operator, Name, Punctuation), nil}, - Include("keywords"), - {`(def|property)(\s+)`, ByGroups(Keyword, Text), Push("funcname")}, - {`(cp?def)(\s+)`, ByGroups(Keyword, Text), Push("cdef")}, - {`(cdef)(:)`, ByGroups(Keyword, Punctuation), nil}, - {`(class|struct)(\s+)`, ByGroups(Keyword, Text), Push("classname")}, - {`(from)(\s+)`, ByGroups(Keyword, Text), Push("fromimport")}, - {`(c?import)(\s+)`, ByGroups(Keyword, Text), Push("import")}, - Include("builtins"), - Include("backtick"), - {`(?:[rR]|[uU][rR]|[rR][uU])"""`, LiteralString, Push("tdqs")}, - {`(?:[rR]|[uU][rR]|[rR][uU])'''`, LiteralString, Push("tsqs")}, - {`(?:[rR]|[uU][rR]|[rR][uU])"`, LiteralString, Push("dqs")}, - {`(?:[rR]|[uU][rR]|[rR][uU])'`, LiteralString, Push("sqs")}, - {`[uU]?"""`, LiteralString, Combined("stringescape", "tdqs")}, - {`[uU]?'''`, LiteralString, Combined("stringescape", "tsqs")}, - {`[uU]?"`, LiteralString, Combined("stringescape", "dqs")}, - {`[uU]?'`, LiteralString, Combined("stringescape", "sqs")}, - Include("name"), - Include("numbers"), - }, - "keywords": { - {Words(``, `\b`, `assert`, `break`, `by`, `continue`, `ctypedef`, `del`, `elif`, `else`, `except`, `except?`, `exec`, `finally`, `for`, `fused`, `gil`, `global`, `if`, `include`, `lambda`, `nogil`, `pass`, `print`, `raise`, `return`, `try`, `while`, `yield`, `as`, `with`), Keyword, nil}, - {`(DEF|IF|ELIF|ELSE)\b`, CommentPreproc, nil}, - }, - "builtins": { - {Words(`(?`, CommentPreproc, Pop(1)}, - {`(<<<)([\'"]?)((?:[\\_a-z]|[^\x00-\x7f])(?:[\\\w]|[^\x00-\x7f])*)(\2\n.*?\n\s*)(\3)(;?)(\n)`, ByGroups(LiteralString, LiteralString, LiteralStringDelimiter, LiteralString, LiteralStringDelimiter, Punctuation, Text), nil}, - {`\s+`, Text, nil}, - {`#.*?\n`, CommentSingle, nil}, - {`//.*?\n`, CommentSingle, nil}, - {`/\*\*/`, CommentMultiline, nil}, - {`/\*\*.*?\*/`, LiteralStringDoc, nil}, - {`/\*.*?\*/`, CommentMultiline, nil}, - {`(->|::)(\s*)((?:[\\_a-z]|[^\x00-\x7f])(?:[\\\w]|[^\x00-\x7f])*)`, ByGroups(Operator, Text, NameAttribute), nil}, - {`[~!%^&*+=|:.<>/@-]+`, Operator, nil}, - {`\?`, Operator, nil}, - {`[\[\]{}();,]+`, Punctuation, nil}, - {`(class)(\s+)`, ByGroups(Keyword, Text), Push("classname")}, - {`(function)(\s*)(?=\()`, ByGroups(Keyword, Text), nil}, - {`(function)(\s+)(&?)(\s*)`, ByGroups(Keyword, Text, Operator, Text), Push("functionname")}, - {`(const)(\s+)((?:[\\_a-z]|[^\x00-\x7f])(?:[\\\w]|[^\x00-\x7f])*)`, ByGroups(Keyword, Text, NameConstant), nil}, - {`(and|E_PARSE|old_function|E_ERROR|or|as|E_WARNING|parent|eval|PHP_OS|break|exit|case|extends|PHP_VERSION|cfunction|FALSE|print|for|require|continue|foreach|require_once|declare|return|default|static|do|switch|die|stdClass|echo|else|TRUE|elseif|var|empty|if|xor|enddeclare|include|virtual|endfor|include_once|while|endforeach|global|endif|list|endswitch|new|endwhile|not|array|E_ALL|NULL|final|php_user_filter|interface|implements|public|private|protected|abstract|clone|try|catch|throw|this|use|namespace|trait|yield|finally)\b`, Keyword, nil}, - {`(true|false|null)\b`, KeywordConstant, nil}, - Include("magicconstants"), - {`\$\{\$+(?:[\\_a-z]|[^\x00-\x7f])(?:[\\\w]|[^\x00-\x7f])*\}`, NameVariable, nil}, - {`\$+(?:[\\_a-z]|[^\x00-\x7f])(?:[\\\w]|[^\x00-\x7f])*`, NameVariable, nil}, - {`(?:[\\_a-z]|[^\x00-\x7f])(?:[\\\w]|[^\x00-\x7f])*`, NameOther, nil}, - {`(\d+\.\d*|\d*\.\d+)(e[+-]?[0-9]+)?`, LiteralNumberFloat, nil}, - {`\d+e[+-]?[0-9]+`, LiteralNumberFloat, nil}, - {`0[0-7]+`, LiteralNumberOct, nil}, - {`0x[a-f0-9]+`, LiteralNumberHex, nil}, - {`\d+`, LiteralNumberInteger, nil}, - {`0b[01]+`, LiteralNumberBin, nil}, - {`'([^'\\]*(?:\\.[^'\\]*)*)'`, LiteralStringSingle, nil}, - {"`([^`\\\\]*(?:\\\\.[^`\\\\]*)*)`", LiteralStringBacktick, nil}, - {`"`, LiteralStringDouble, Push("string")}, - }, - "magicfuncs": { - {Words(``, `\b`, `__construct`, `__destruct`, `__call`, `__callStatic`, `__get`, `__set`, `__isset`, `__unset`, `__sleep`, `__wakeup`, `__toString`, `__invoke`, `__set_state`, `__clone`, `__debugInfo`), NameFunctionMagic, nil}, - }, - "magicconstants": { - {Words(``, `\b`, `__LINE__`, `__FILE__`, `__DIR__`, `__FUNCTION__`, `__CLASS__`, `__TRAIT__`, `__METHOD__`, `__NAMESPACE__`), NameConstant, nil}, - }, - "classname": { - {`(?:[\\_a-z]|[^\x00-\x7f])(?:[\\\w]|[^\x00-\x7f])*`, NameClass, Pop(1)}, - }, - "functionname": { - Include("magicfuncs"), - {`(?:[\\_a-z]|[^\x00-\x7f])(?:[\\\w]|[^\x00-\x7f])*`, NameFunction, Pop(1)}, - Default(Pop(1)), - }, - "string": { - {`"`, LiteralStringDouble, Pop(1)}, - {`[^{$"\\]+`, LiteralStringDouble, nil}, - {`\\([nrt"$\\]|[0-7]{1,3}|x[0-9a-f]{1,2})`, LiteralStringEscape, nil}, - {`\$(?:[\\_a-z]|[^\x00-\x7f])(?:[\\\w]|[^\x00-\x7f])*(\[\S+?\]|->(?:[\\_a-z]|[^\x00-\x7f])(?:[\\\w]|[^\x00-\x7f])*)?`, LiteralStringInterpol, nil}, - {`(\{\$\{)(.*?)(\}\})`, ByGroups(LiteralStringInterpol, UsingSelf("root"), LiteralStringInterpol), nil}, - {`(\{)(\$.*?)(\})`, ByGroups(LiteralStringInterpol, UsingSelf("root"), LiteralStringInterpol), nil}, - {`(\$\{)(\S+)(\})`, ByGroups(LiteralStringInterpol, NameVariable, LiteralStringInterpol), nil}, - {`[${\\]`, LiteralStringDouble, nil}, - }, - }, -).SetAnalyser(func(text string) float32 { - if strings.Contains(text, "/-]|as\b`, Operator, nil}, - {`[a-zA-Z_$]\w*:`, NameLabel, nil}, - {`[a-zA-Z_$]\w*`, Name, nil}, - {`[(){}\[\],.;]`, Punctuation, nil}, - {`0[xX][0-9a-fA-F]+`, LiteralNumberHex, nil}, - {`\d+(\.\d*)?([eE][+-]?\d+)?`, LiteralNumber, nil}, - {`\.\d+([eE][+-]?\d+)?`, LiteralNumber, nil}, - {`\n`, Text, nil}, - }, - "class": { - {`[a-zA-Z_$]\w*`, NameClass, Pop(1)}, - }, - "import_decl": { - Include("string_literal"), - {`\s+`, Text, nil}, - {`\b(as|show|hide)\b`, Keyword, nil}, - {`[a-zA-Z_$]\w*`, Name, nil}, - {`\,`, Punctuation, nil}, - {`\;`, Punctuation, Pop(1)}, - }, - "string_literal": { - {`r"""([\w\W]*?)"""`, LiteralStringDouble, nil}, - {`r'''([\w\W]*?)'''`, LiteralStringSingle, nil}, - {`r"(.*?)"`, LiteralStringDouble, nil}, - {`r'(.*?)'`, LiteralStringSingle, nil}, - {`"""`, LiteralStringDouble, Push("string_double_multiline")}, - {`'''`, LiteralStringSingle, Push("string_single_multiline")}, - {`"`, LiteralStringDouble, Push("string_double")}, - {`'`, LiteralStringSingle, Push("string_single")}, - }, - "string_common": { - {`\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4}|u\{[0-9A-Fa-f]*\}|[a-z'\"$\\])`, LiteralStringEscape, nil}, - {`(\$)([a-zA-Z_]\w*)`, ByGroups(LiteralStringInterpol, Name), nil}, - {`(\$\{)(.*?)(\})`, ByGroups(LiteralStringInterpol, UsingSelf("root"), LiteralStringInterpol), nil}, - }, - "string_double": { - {`"`, LiteralStringDouble, Pop(1)}, - {`[^"$\\\n]+`, LiteralStringDouble, nil}, - Include("string_common"), - {`\$+`, LiteralStringDouble, nil}, - }, - "string_double_multiline": { - {`"""`, LiteralStringDouble, Pop(1)}, - {`[^"$\\]+`, LiteralStringDouble, nil}, - Include("string_common"), - {`(\$|\")+`, LiteralStringDouble, nil}, - }, - "string_single": { - {`'`, LiteralStringSingle, Pop(1)}, - {`[^'$\\\n]+`, LiteralStringSingle, nil}, - Include("string_common"), - {`\$+`, LiteralStringSingle, nil}, - }, - "string_single_multiline": { - {`'''`, LiteralStringSingle, Pop(1)}, - {`[^\'$\\]+`, LiteralStringSingle, nil}, - Include("string_common"), - {`(\$|\')+`, LiteralStringSingle, nil}, - }, - }, -)) diff --git a/vendor/github.com/alecthomas/chroma/lexers/d/diff.go b/vendor/github.com/alecthomas/chroma/lexers/d/diff.go deleted file mode 100644 index 264ed45c..00000000 --- a/vendor/github.com/alecthomas/chroma/lexers/d/diff.go +++ /dev/null @@ -1,29 +0,0 @@ -package d - -import ( - . "github.com/alecthomas/chroma" // nolint - "github.com/alecthomas/chroma/lexers/internal" -) - -// Diff lexer. -var Diff = internal.Register(MustNewLexer( - &Config{ - Name: "Diff", - Aliases: []string{"diff", "udiff"}, - EnsureNL: true, - Filenames: []string{"*.diff", "*.patch"}, - MimeTypes: []string{"text/x-diff", "text/x-patch"}, - }, - Rules{ - "root": { - {` .*\n`, Text, nil}, - {`\+.*\n`, GenericInserted, nil}, - {`-.*\n`, GenericDeleted, nil}, - {`!.*\n`, GenericStrong, nil}, - {`@.*\n`, GenericSubheading, nil}, - {`([Ii]ndex|diff).*\n`, GenericHeading, nil}, - {`=.*\n`, GenericHeading, nil}, - {`.*\n`, Text, nil}, - }, - }, -)) diff --git a/vendor/github.com/alecthomas/chroma/lexers/d/django.go b/vendor/github.com/alecthomas/chroma/lexers/d/django.go deleted file mode 100644 index d72d99a3..00000000 --- a/vendor/github.com/alecthomas/chroma/lexers/d/django.go +++ /dev/null @@ -1,53 +0,0 @@ -package d - -import ( - . "github.com/alecthomas/chroma" // nolint - "github.com/alecthomas/chroma/lexers/internal" -) - -// Django/Jinja lexer. -var DjangoJinja = internal.Register(MustNewLexer( - &Config{ - Name: "Django/Jinja", - Aliases: []string{"django", "jinja"}, - Filenames: []string{}, - MimeTypes: []string{"application/x-django-templating", "application/x-jinja"}, - DotAll: true, - }, - Rules{ - "root": { - {`[^{]+`, Other, nil}, - {`\{\{`, CommentPreproc, Push("var")}, - {`\{[*#].*?[*#]\}`, Comment, nil}, - {`(\{%)(-?\s*)(comment)(\s*-?)(%\})(.*?)(\{%)(-?\s*)(endcomment)(\s*-?)(%\})`, ByGroups(CommentPreproc, Text, Keyword, Text, CommentPreproc, Comment, CommentPreproc, Text, Keyword, Text, CommentPreproc), nil}, - {`(\{%)(-?\s*)(raw)(\s*-?)(%\})(.*?)(\{%)(-?\s*)(endraw)(\s*-?)(%\})`, ByGroups(CommentPreproc, Text, Keyword, Text, CommentPreproc, Text, CommentPreproc, Text, Keyword, Text, CommentPreproc), nil}, - {`(\{%)(-?\s*)(filter)(\s+)([a-zA-Z_]\w*)`, ByGroups(CommentPreproc, Text, Keyword, Text, NameFunction), Push("block")}, - {`(\{%)(-?\s*)([a-zA-Z_]\w*)`, ByGroups(CommentPreproc, Text, Keyword), Push("block")}, - {`\{`, Other, nil}, - }, - "varnames": { - {`(\|)(\s*)([a-zA-Z_]\w*)`, ByGroups(Operator, Text, NameFunction), nil}, - {`(is)(\s+)(not)?(\s+)?([a-zA-Z_]\w*)`, ByGroups(Keyword, Text, Keyword, Text, NameFunction), nil}, - {`(_|true|false|none|True|False|None)\b`, KeywordPseudo, nil}, - {`(in|as|reversed|recursive|not|and|or|is|if|else|import|with(?:(?:out)?\s*context)?|scoped|ignore\s+missing)\b`, Keyword, nil}, - {`(loop|block|super|forloop)\b`, NameBuiltin, nil}, - {`[a-zA-Z_][\w-]*`, NameVariable, nil}, - {`\.\w+`, NameVariable, nil}, - {`:?"(\\\\|\\"|[^"])*"`, LiteralStringDouble, nil}, - {`:?'(\\\\|\\'|[^'])*'`, LiteralStringSingle, nil}, - {`([{}()\[\]+\-*/,:~]|[><=]=?)`, Operator, nil}, - {`[0-9](\.[0-9]*)?(eE[+-][0-9])?[flFLdD]?|0[xX][0-9a-fA-F]+[Ll]?`, LiteralNumber, nil}, - }, - "var": { - {`\s+`, Text, nil}, - {`(-?)(\}\})`, ByGroups(Text, CommentPreproc), Pop(1)}, - Include("varnames"), - }, - "block": { - {`\s+`, Text, nil}, - {`(-?)(%\})`, ByGroups(Text, CommentPreproc), Pop(1)}, - Include("varnames"), - {`.`, Punctuation, nil}, - }, - }, -)) diff --git a/vendor/github.com/alecthomas/chroma/lexers/d/docker.go b/vendor/github.com/alecthomas/chroma/lexers/d/docker.go deleted file mode 100644 index 412646bc..00000000 --- a/vendor/github.com/alecthomas/chroma/lexers/d/docker.go +++ /dev/null @@ -1,27 +0,0 @@ -package d - -import ( - . "github.com/alecthomas/chroma" // nolint - . "github.com/alecthomas/chroma/lexers/b" - "github.com/alecthomas/chroma/lexers/internal" -) - -// Docker lexer. -var Docker = internal.Register(MustNewLexer( - &Config{ - Name: "Docker", - Aliases: []string{"docker", "dockerfile"}, - Filenames: []string{"Dockerfile", "*.docker"}, - MimeTypes: []string{"text/x-dockerfile-config"}, - CaseInsensitive: true, - }, - Rules{ - "root": { - {`^(ONBUILD)(\s+)((?:FROM|MAINTAINER|CMD|EXPOSE|ENV|ADD|ENTRYPOINT|VOLUME|WORKDIR))\b`, ByGroups(NameKeyword, TextWhitespace, Keyword), nil}, - {`^((?:FROM|MAINTAINER|CMD|EXPOSE|ENV|ADD|ENTRYPOINT|VOLUME|WORKDIR))\b(.*)`, ByGroups(Keyword, LiteralString), nil}, - {`#.*`, Comment, nil}, - {`RUN`, Keyword, nil}, - {`(.*\\\n)*.+`, Using(Bash), nil}, - }, - }, -)) diff --git a/vendor/github.com/alecthomas/chroma/lexers/d/dtd.go b/vendor/github.com/alecthomas/chroma/lexers/d/dtd.go deleted file mode 100644 index 99bf5d37..00000000 --- a/vendor/github.com/alecthomas/chroma/lexers/d/dtd.go +++ /dev/null @@ -1,69 +0,0 @@ -package d - -import ( - . "github.com/alecthomas/chroma" // nolint - "github.com/alecthomas/chroma/lexers/internal" -) - -// Dtd lexer. -var Dtd = internal.Register(MustNewLexer( - &Config{ - Name: "DTD", - Aliases: []string{"dtd"}, - Filenames: []string{"*.dtd"}, - MimeTypes: []string{"application/xml-dtd"}, - DotAll: true, - }, - Rules{ - "root": { - Include("common"), - {`(\s]+)`, ByGroups(Keyword, Text, NameTag), nil}, - {`PUBLIC|SYSTEM`, KeywordConstant, nil}, - {`[\[\]>]`, Keyword, nil}, - }, - "common": { - {`\s+`, Text, nil}, - {`(%|&)[^;]*;`, NameEntity, nil}, - {``, Comment, Pop(1)}, - {`-`, Comment, nil}, - }, - "element": { - Include("common"), - {`EMPTY|ANY|#PCDATA`, KeywordConstant, nil}, - {`[^>\s|()?+*,]+`, NameTag, nil}, - {`>`, Keyword, Pop(1)}, - }, - "attlist": { - Include("common"), - {`CDATA|IDREFS|IDREF|ID|NMTOKENS|NMTOKEN|ENTITIES|ENTITY|NOTATION`, KeywordConstant, nil}, - {`#REQUIRED|#IMPLIED|#FIXED`, KeywordConstant, nil}, - {`xml:space|xml:lang`, KeywordReserved, nil}, - {`[^>\s|()?+*,]+`, NameAttribute, nil}, - {`>`, Keyword, Pop(1)}, - }, - "entity": { - Include("common"), - {`SYSTEM|PUBLIC|NDATA`, KeywordConstant, nil}, - {`[^>\s|()?+*,]+`, NameEntity, nil}, - {`>`, Keyword, Pop(1)}, - }, - "notation": { - Include("common"), - {`SYSTEM|PUBLIC`, KeywordConstant, nil}, - {`[^>\s|()?+*,]+`, NameAttribute, nil}, - {`>`, Keyword, Pop(1)}, - }, - }, -)) diff --git a/vendor/github.com/alecthomas/chroma/lexers/e/ebnf.go b/vendor/github.com/alecthomas/chroma/lexers/e/ebnf.go deleted file mode 100644 index 42a3a379..00000000 --- a/vendor/github.com/alecthomas/chroma/lexers/e/ebnf.go +++ /dev/null @@ -1,51 +0,0 @@ -package e - -import ( - . "github.com/alecthomas/chroma" // nolint - "github.com/alecthomas/chroma/lexers/internal" -) - -// Ebnf lexer. -var Ebnf = internal.Register(MustNewLexer( - &Config{ - Name: "EBNF", - Aliases: []string{"ebnf"}, - Filenames: []string{"*.ebnf"}, - MimeTypes: []string{"text/x-ebnf"}, - }, - Rules{ - "root": { - Include("whitespace"), - Include("comment_start"), - Include("identifier"), - {`=`, Operator, Push("production")}, - }, - "production": { - Include("whitespace"), - Include("comment_start"), - Include("identifier"), - {`"[^"]*"`, LiteralStringDouble, nil}, - {`'[^']*'`, LiteralStringSingle, nil}, - {`(\?[^?]*\?)`, NameEntity, nil}, - {`[\[\]{}(),|]`, Punctuation, nil}, - {`-`, Operator, nil}, - {`;`, Punctuation, Pop(1)}, - {`\.`, Punctuation, Pop(1)}, - }, - "whitespace": { - {`\s+`, Text, nil}, - }, - "comment_start": { - {`\(\*`, CommentMultiline, Push("comment")}, - }, - "comment": { - {`[^*)]`, CommentMultiline, nil}, - Include("comment_start"), - {`\*\)`, CommentMultiline, Pop(1)}, - {`[*)]`, CommentMultiline, nil}, - }, - "identifier": { - {`([a-zA-Z][\w \-]*)`, Keyword, nil}, - }, - }, -)) diff --git a/vendor/github.com/alecthomas/chroma/lexers/e/elixir.go b/vendor/github.com/alecthomas/chroma/lexers/e/elixir.go deleted file mode 100644 index 40730290..00000000 --- a/vendor/github.com/alecthomas/chroma/lexers/e/elixir.go +++ /dev/null @@ -1,270 +0,0 @@ -package e - -import ( - . "github.com/alecthomas/chroma" // nolint - "github.com/alecthomas/chroma/lexers/internal" -) - -// Elixir lexer. -var Elixir = internal.Register(MustNewLexer( - &Config{ - Name: "Elixir", - Aliases: []string{"elixir", "ex", "exs"}, - Filenames: []string{"*.ex", "*.exs"}, - MimeTypes: []string{"text/x-elixir"}, - }, - Rules{ - "root": { - {`\s+`, Text, nil}, - {`#.*$`, CommentSingle, nil}, - {`(\?)(\\x\{)([\da-fA-F]+)(\})`, ByGroups(LiteralStringChar, LiteralStringEscape, LiteralNumberHex, LiteralStringEscape), nil}, - {`(\?)(\\x[\da-fA-F]{1,2})`, ByGroups(LiteralStringChar, LiteralStringEscape), nil}, - {`(\?)(\\[abdefnrstv])`, ByGroups(LiteralStringChar, LiteralStringEscape), nil}, - {`\?\\?.`, LiteralStringChar, nil}, - {`:::`, LiteralStringSymbol, nil}, - {`::`, Operator, nil}, - {`:(?:\.\.\.|<<>>|%\{\}|%|\{\})`, LiteralStringSymbol, nil}, - {`:(?:(?:\.\.\.|[a-z_]\w*[!?]?)|[A-Z]\w*(?:\.[A-Z]\w*)*|(?:\<\<\<|\>\>\>|\|\|\||\&\&\&|\^\^\^|\~\~\~|\=\=\=|\!\=\=|\~\>\>|\<\~\>|\|\~\>|\<\|\>|\=\=|\!\=|\<\=|\>\=|\&\&|\|\||\<\>|\+\+|\-\-|\|\>|\=\~|\-\>|\<\-|\||\.|\=|\~\>|\<\~|\<|\>|\+|\-|\*|\/|\!|\^|\&))`, LiteralStringSymbol, nil}, - {`:"`, LiteralStringSymbol, Push("string_double_atom")}, - {`:'`, LiteralStringSymbol, Push("string_single_atom")}, - {`((?:\.\.\.|<<>>|%\{\}|%|\{\})|(?:(?:\.\.\.|[a-z_]\w*[!?]?)|[A-Z]\w*(?:\.[A-Z]\w*)*|(?:\<\<\<|\>\>\>|\|\|\||\&\&\&|\^\^\^|\~\~\~|\=\=\=|\!\=\=|\~\>\>|\<\~\>|\|\~\>|\<\|\>|\=\=|\!\=|\<\=|\>\=|\&\&|\|\||\<\>|\+\+|\-\-|\|\>|\=\~|\-\>|\<\-|\||\.|\=|\~\>|\<\~|\<|\>|\+|\-|\*|\/|\!|\^|\&)))(:)(?=\s|\n)`, ByGroups(LiteralStringSymbol, Punctuation), nil}, - {`@(?:\.\.\.|[a-z_]\w*[!?]?)`, NameAttribute, nil}, - {`(?:\.\.\.|[a-z_]\w*[!?]?)`, Name, nil}, - {`(%?)([A-Z]\w*(?:\.[A-Z]\w*)*)`, ByGroups(Punctuation, NameClass), nil}, - {`\<\<\<|\>\>\>|\|\|\||\&\&\&|\^\^\^|\~\~\~|\=\=\=|\!\=\=|\~\>\>|\<\~\>|\|\~\>|\<\|\>`, Operator, nil}, - {`\=\=|\!\=|\<\=|\>\=|\&\&|\|\||\<\>|\+\+|\-\-|\|\>|\=\~|\-\>|\<\-|\||\.|\=|\~\>|\<\~`, Operator, nil}, - {`\\\\|\<\<|\>\>|\=\>|\(|\)|\:|\;|\,|\[|\]`, Punctuation, nil}, - {`&\d`, NameEntity, nil}, - {`\<|\>|\+|\-|\*|\/|\!|\^|\&`, Operator, nil}, - {`0b[01](_?[01])*`, LiteralNumberBin, nil}, - {`0o[0-7](_?[0-7])*`, LiteralNumberOct, nil}, - {`0x[\da-fA-F](_?[\dA-Fa-f])*`, LiteralNumberHex, nil}, - {`\d(_?\d)*\.\d(_?\d)*([eE][-+]?\d(_?\d)*)?`, LiteralNumberFloat, nil}, - {`\d(_?\d)*`, LiteralNumberInteger, nil}, - {`"""\s*`, LiteralStringHeredoc, Push("heredoc_double")}, - {`'''\s*$`, LiteralStringHeredoc, Push("heredoc_single")}, - {`"`, LiteralStringDouble, Push("string_double")}, - {`'`, LiteralStringSingle, Push("string_single")}, - Include("sigils"), - {`%\{`, Punctuation, Push("map_key")}, - {`\{`, Punctuation, Push("tuple")}, - }, - "heredoc_double": { - {`^\s*"""`, LiteralStringHeredoc, Pop(1)}, - Include("heredoc_interpol"), - }, - "heredoc_single": { - {`^\s*'''`, LiteralStringHeredoc, Pop(1)}, - Include("heredoc_interpol"), - }, - "heredoc_interpol": { - {`[^#\\\n]+`, LiteralStringHeredoc, nil}, - Include("escapes"), - {`\\.`, LiteralStringHeredoc, nil}, - {`\n+`, LiteralStringHeredoc, nil}, - Include("interpol"), - }, - "heredoc_no_interpol": { - {`[^\\\n]+`, LiteralStringHeredoc, nil}, - {`\\.`, LiteralStringHeredoc, nil}, - {`\n+`, LiteralStringHeredoc, nil}, - }, - "escapes": { - {`(\\x\{)([\da-fA-F]+)(\})`, ByGroups(LiteralStringEscape, LiteralNumberHex, LiteralStringEscape), nil}, - {`(\\x[\da-fA-F]{1,2})`, LiteralStringEscape, nil}, - {`(\\[abdefnrstv])`, LiteralStringEscape, nil}, - }, - "interpol": { - {`#\{`, LiteralStringInterpol, Push("interpol_string")}, - }, - "interpol_string": { - {`\}`, LiteralStringInterpol, Pop(1)}, - Include("root"), - }, - "map_key": { - Include("root"), - {`:`, Punctuation, Push("map_val")}, - {`=>`, Punctuation, Push("map_val")}, - {`\}`, Punctuation, Pop(1)}, - }, - "map_val": { - Include("root"), - {`,`, Punctuation, Pop(1)}, - {`(?=\})`, Punctuation, Pop(1)}, - }, - "tuple": { - Include("root"), - {`\}`, Punctuation, Pop(1)}, - }, - "string_double": { - {`[^#"\\]+`, LiteralStringDouble, nil}, - Include("escapes"), - {`\\.`, LiteralStringDouble, nil}, - {`(")`, ByGroups(LiteralStringDouble), Pop(1)}, - Include("interpol"), - }, - "string_single": { - {`[^#'\\]+`, LiteralStringSingle, nil}, - Include("escapes"), - {`\\.`, LiteralStringSingle, nil}, - {`(')`, ByGroups(LiteralStringSingle), Pop(1)}, - Include("interpol"), - }, - "string_double_atom": { - {`[^#"\\]+`, LiteralStringSymbol, nil}, - Include("escapes"), - {`\\.`, LiteralStringSymbol, nil}, - {`(")`, ByGroups(LiteralStringSymbol), Pop(1)}, - Include("interpol"), - }, - "string_single_atom": { - {`[^#'\\]+`, LiteralStringSymbol, nil}, - Include("escapes"), - {`\\.`, LiteralStringSymbol, nil}, - {`(')`, ByGroups(LiteralStringSymbol), Pop(1)}, - Include("interpol"), - }, - "sigils": { - {`(~[a-z])(""")`, ByGroups(LiteralStringOther, LiteralStringHeredoc), Push("triquot-end", "triquot-intp")}, - {`(~[A-Z])(""")`, ByGroups(LiteralStringOther, LiteralStringHeredoc), Push("triquot-end", "triquot-no-intp")}, - {`(~[a-z])(''')`, ByGroups(LiteralStringOther, LiteralStringHeredoc), Push("triapos-end", "triapos-intp")}, - {`(~[A-Z])(''')`, ByGroups(LiteralStringOther, LiteralStringHeredoc), Push("triapos-end", "triapos-no-intp")}, - {`~[a-z]\{`, LiteralStringOther, Push("cb-intp")}, - {`~[A-Z]\{`, LiteralStringOther, Push("cb-no-intp")}, - {`~[a-z]\[`, LiteralStringOther, Push("sb-intp")}, - {`~[A-Z]\[`, LiteralStringOther, Push("sb-no-intp")}, - {`~[a-z]\(`, LiteralStringOther, Push("pa-intp")}, - {`~[A-Z]\(`, LiteralStringOther, Push("pa-no-intp")}, - {`~[a-z]<`, LiteralStringOther, Push("ab-intp")}, - {`~[A-Z]<`, LiteralStringOther, Push("ab-no-intp")}, - {`~[a-z]/`, LiteralStringOther, Push("slas-intp")}, - {`~[A-Z]/`, LiteralStringOther, Push("slas-no-intp")}, - {`~[a-z]\|`, LiteralStringOther, Push("pipe-intp")}, - {`~[A-Z]\|`, LiteralStringOther, Push("pipe-no-intp")}, - {`~[a-z]"`, LiteralStringOther, Push("quot-intp")}, - {`~[A-Z]"`, LiteralStringOther, Push("quot-no-intp")}, - {`~[a-z]'`, LiteralStringOther, Push("apos-intp")}, - {`~[A-Z]'`, LiteralStringOther, Push("apos-no-intp")}, - }, - "triquot-end": { - {`[a-zA-Z]+`, LiteralStringOther, Pop(1)}, - Default(Pop(1)), - }, - "triquot-intp": { - {`^\s*"""`, LiteralStringHeredoc, Pop(1)}, - Include("heredoc_interpol"), - }, - "triquot-no-intp": { - {`^\s*"""`, LiteralStringHeredoc, Pop(1)}, - Include("heredoc_no_interpol"), - }, - "triapos-end": { - {`[a-zA-Z]+`, LiteralStringOther, Pop(1)}, - Default(Pop(1)), - }, - "triapos-intp": { - {`^\s*'''`, LiteralStringHeredoc, Pop(1)}, - Include("heredoc_interpol"), - }, - "triapos-no-intp": { - {`^\s*'''`, LiteralStringHeredoc, Pop(1)}, - Include("heredoc_no_interpol"), - }, - "cb-intp": { - {`[^#\}\\]+`, LiteralStringOther, nil}, - Include("escapes"), - {`\\.`, LiteralStringOther, nil}, - {`\}[a-zA-Z]*`, LiteralStringOther, Pop(1)}, - Include("interpol"), - }, - "cb-no-intp": { - {`[^\}\\]+`, LiteralStringOther, nil}, - {`\\.`, LiteralStringOther, nil}, - {`\}[a-zA-Z]*`, LiteralStringOther, Pop(1)}, - }, - "sb-intp": { - {`[^#\]\\]+`, LiteralStringOther, nil}, - Include("escapes"), - {`\\.`, LiteralStringOther, nil}, - {`\][a-zA-Z]*`, LiteralStringOther, Pop(1)}, - Include("interpol"), - }, - "sb-no-intp": { - {`[^\]\\]+`, LiteralStringOther, nil}, - {`\\.`, LiteralStringOther, nil}, - {`\][a-zA-Z]*`, LiteralStringOther, Pop(1)}, - }, - "pa-intp": { - {`[^#\)\\]+`, LiteralStringOther, nil}, - Include("escapes"), - {`\\.`, LiteralStringOther, nil}, - {`\)[a-zA-Z]*`, LiteralStringOther, Pop(1)}, - Include("interpol"), - }, - "pa-no-intp": { - {`[^\)\\]+`, LiteralStringOther, nil}, - {`\\.`, LiteralStringOther, nil}, - {`\)[a-zA-Z]*`, LiteralStringOther, Pop(1)}, - }, - "ab-intp": { - {`[^#>\\]+`, LiteralStringOther, nil}, - Include("escapes"), - {`\\.`, LiteralStringOther, nil}, - {`>[a-zA-Z]*`, LiteralStringOther, Pop(1)}, - Include("interpol"), - }, - "ab-no-intp": { - {`[^>\\]+`, LiteralStringOther, nil}, - {`\\.`, LiteralStringOther, nil}, - {`>[a-zA-Z]*`, LiteralStringOther, Pop(1)}, - }, - "slas-intp": { - {`[^#/\\]+`, LiteralStringOther, nil}, - Include("escapes"), - {`\\.`, LiteralStringOther, nil}, - {`/[a-zA-Z]*`, LiteralStringOther, Pop(1)}, - Include("interpol"), - }, - "slas-no-intp": { - {`[^/\\]+`, LiteralStringOther, nil}, - {`\\.`, LiteralStringOther, nil}, - {`/[a-zA-Z]*`, LiteralStringOther, Pop(1)}, - }, - "pipe-intp": { - {`[^#\|\\]+`, LiteralStringOther, nil}, - Include("escapes"), - {`\\.`, LiteralStringOther, nil}, - {`\|[a-zA-Z]*`, LiteralStringOther, Pop(1)}, - Include("interpol"), - }, - "pipe-no-intp": { - {`[^\|\\]+`, LiteralStringOther, nil}, - {`\\.`, LiteralStringOther, nil}, - {`\|[a-zA-Z]*`, LiteralStringOther, Pop(1)}, - }, - "quot-intp": { - {`[^#"\\]+`, LiteralStringOther, nil}, - Include("escapes"), - {`\\.`, LiteralStringOther, nil}, - {`"[a-zA-Z]*`, LiteralStringOther, Pop(1)}, - Include("interpol"), - }, - "quot-no-intp": { - {`[^"\\]+`, LiteralStringOther, nil}, - {`\\.`, LiteralStringOther, nil}, - {`"[a-zA-Z]*`, LiteralStringOther, Pop(1)}, - }, - "apos-intp": { - {`[^#'\\]+`, LiteralStringOther, nil}, - Include("escapes"), - {`\\.`, LiteralStringOther, nil}, - {`'[a-zA-Z]*`, LiteralStringOther, Pop(1)}, - Include("interpol"), - }, - "apos-no-intp": { - {`[^'\\]+`, LiteralStringOther, nil}, - {`\\.`, LiteralStringOther, nil}, - {`'[a-zA-Z]*`, LiteralStringOther, Pop(1)}, - }, - }, -)) diff --git a/vendor/github.com/alecthomas/chroma/lexers/e/elm.go b/vendor/github.com/alecthomas/chroma/lexers/e/elm.go deleted file mode 100644 index a71c6270..00000000 --- a/vendor/github.com/alecthomas/chroma/lexers/e/elm.go +++ /dev/null @@ -1,59 +0,0 @@ -package e - -import ( - . "github.com/alecthomas/chroma" // nolint - "github.com/alecthomas/chroma/lexers/internal" -) - -// Elm lexer. -var Elm = internal.Register(MustNewLexer( - &Config{ - Name: "Elm", - Aliases: []string{"elm"}, - Filenames: []string{"*.elm"}, - MimeTypes: []string{"text/x-elm"}, - }, - Rules{ - "root": { - {`\{-`, CommentMultiline, Push("comment")}, - {`--.*`, CommentSingle, nil}, - {`\s+`, Text, nil}, - {`"`, LiteralString, Push("doublequote")}, - {`^\s*module\s*`, KeywordNamespace, Push("imports")}, - {`^\s*import\s*`, KeywordNamespace, Push("imports")}, - {`\[glsl\|.*`, NameEntity, Push("shader")}, - {Words(``, `\b`, `alias`, `as`, `case`, `else`, `if`, `import`, `in`, `let`, `module`, `of`, `port`, `then`, `type`, `where`), KeywordReserved, nil}, - {`[A-Z]\w*`, KeywordType, nil}, - {`^main `, KeywordReserved, nil}, - {Words(`\(`, `\)`, `~`, `||`, `|>`, `|`, "`", `^`, `\`, `'`, `>>`, `>=`, `>`, `==`, `=`, `<~`, `<|`, `<=`, `<<`, `<-`, `<`, `::`, `:`, `/=`, `//`, `/`, `..`, `.`, `->`, `-`, `++`, `+`, `*`, `&&`, `%`), NameFunction, nil}, - {Words(``, ``, `~`, `||`, `|>`, `|`, "`", `^`, `\`, `'`, `>>`, `>=`, `>`, `==`, `=`, `<~`, `<|`, `<=`, `<<`, `<-`, `<`, `::`, `:`, `/=`, `//`, `/`, `..`, `.`, `->`, `-`, `++`, `+`, `*`, `&&`, `%`), NameFunction, nil}, - Include("numbers"), - {`[a-z_][a-zA-Z_\']*`, NameVariable, nil}, - {`[,()\[\]{}]`, Punctuation, nil}, - }, - "comment": { - {`-(?!\})`, CommentMultiline, nil}, - {`\{-`, CommentMultiline, Push("comment")}, - {`[^-}]`, CommentMultiline, nil}, - {`-\}`, CommentMultiline, Pop(1)}, - }, - "doublequote": { - {`\\u[0-9a-fA-F]{4}`, LiteralStringEscape, nil}, - {`\\[nrfvb\\"]`, LiteralStringEscape, nil}, - {`[^"]`, LiteralString, nil}, - {`"`, LiteralString, Pop(1)}, - }, - "imports": { - {`\w+(\.\w+)*`, NameClass, Pop(1)}, - }, - "numbers": { - {`_?\d+\.(?=\d+)`, LiteralNumberFloat, nil}, - {`_?\d+`, LiteralNumberInteger, nil}, - }, - "shader": { - {`\|(?!\])`, NameEntity, nil}, - {`\|\]`, NameEntity, Pop(1)}, - {`.*\n`, NameEntity, nil}, - }, - }, -)) diff --git a/vendor/github.com/alecthomas/chroma/lexers/e/emacs.go b/vendor/github.com/alecthomas/chroma/lexers/e/emacs.go deleted file mode 100644 index 78ffda12..00000000 --- a/vendor/github.com/alecthomas/chroma/lexers/e/emacs.go +++ /dev/null @@ -1,582 +0,0 @@ -package e - -import ( - . "github.com/alecthomas/chroma" // nolint - "github.com/alecthomas/chroma/lexers/internal" -) - -var ( - emacsMacros = []string{ - "atomic-change-group", "case", "block", "cl-block", "cl-callf", "cl-callf2", - "cl-case", "cl-decf", "cl-declaim", "cl-declare", - "cl-define-compiler-macro", "cl-defmacro", "cl-defstruct", - "cl-defsubst", "cl-deftype", "cl-defun", "cl-destructuring-bind", - "cl-do", "cl-do*", "cl-do-all-symbols", "cl-do-symbols", "cl-dolist", - "cl-dotimes", "cl-ecase", "cl-etypecase", "eval-when", "cl-eval-when", "cl-flet", - "cl-flet*", "cl-function", "cl-incf", "cl-labels", "cl-letf", - "cl-letf*", "cl-load-time-value", "cl-locally", "cl-loop", - "cl-macrolet", "cl-multiple-value-bind", "cl-multiple-value-setq", - "cl-progv", "cl-psetf", "cl-psetq", "cl-pushnew", "cl-remf", - "cl-return", "cl-return-from", "cl-rotatef", "cl-shiftf", - "cl-symbol-macrolet", "cl-tagbody", "cl-the", "cl-typecase", - "combine-after-change-calls", "condition-case-unless-debug", "decf", - "declaim", "declare", "declare-function", "def-edebug-spec", - "defadvice", "defclass", "defcustom", "defface", "defgeneric", - "defgroup", "define-advice", "define-alternatives", - "define-compiler-macro", "define-derived-mode", "define-generic-mode", - "define-global-minor-mode", "define-globalized-minor-mode", - "define-minor-mode", "define-modify-macro", - "define-obsolete-face-alias", "define-obsolete-function-alias", - "define-obsolete-variable-alias", "define-setf-expander", - "define-skeleton", "defmacro", "defmethod", "defsetf", "defstruct", - "defsubst", "deftheme", "deftype", "defun", "defvar-local", - "delay-mode-hooks", "destructuring-bind", "do", "do*", - "do-all-symbols", "do-symbols", "dolist", "dont-compile", "dotimes", - "dotimes-with-progress-reporter", "ecase", "ert-deftest", "etypecase", - "eval-and-compile", "eval-when-compile", "flet", "ignore-errors", - "incf", "labels", "lambda", "letrec", "lexical-let", "lexical-let*", - "loop", "multiple-value-bind", "multiple-value-setq", "noreturn", - "oref", "oref-default", "oset", "oset-default", "pcase", - "pcase-defmacro", "pcase-dolist", "pcase-exhaustive", "pcase-let", - "pcase-let*", "pop", "psetf", "psetq", "push", "pushnew", "remf", - "return", "rotatef", "rx", "save-match-data", "save-selected-window", - "save-window-excursion", "setf", "setq-local", "shiftf", - "track-mouse", "typecase", "unless", "use-package", "when", - "while-no-input", "with-case-table", "with-category-table", - "with-coding-priority", "with-current-buffer", "with-demoted-errors", - "with-eval-after-load", "with-file-modes", "with-local-quit", - "with-output-to-string", "with-output-to-temp-buffer", - "with-parsed-tramp-file-name", "with-selected-frame", - "with-selected-window", "with-silent-modifications", "with-slots", - "with-syntax-table", "with-temp-buffer", "with-temp-file", - "with-temp-message", "with-timeout", "with-tramp-connection-property", - "with-tramp-file-property", "with-tramp-progress-reporter", - "with-wrapper-hook", "load-time-value", "locally", "macrolet", "progv", - "return-from", - } - - emacsSpecialForms = []string{ - "and", "catch", "cond", "condition-case", "defconst", "defvar", - "function", "if", "interactive", "let", "let*", "or", "prog1", - "prog2", "progn", "quote", "save-current-buffer", "save-excursion", - "save-restriction", "setq", "setq-default", "subr-arity", - "unwind-protect", "while", - } - - emacsBuiltinFunction = []string{ - "%", "*", "+", "-", "/", "/=", "1+", "1-", "<", "<=", "=", ">", ">=", - "Snarf-documentation", "abort-recursive-edit", "abs", - "accept-process-output", "access-file", "accessible-keymaps", "acos", - "active-minibuffer-window", "add-face-text-property", - "add-name-to-file", "add-text-properties", "all-completions", - "append", "apply", "apropos-internal", "aref", "arrayp", "aset", - "ash", "asin", "assoc", "assoc-string", "assq", "atan", "atom", - "autoload", "autoload-do-load", "backtrace", "backtrace--locals", - "backtrace-debug", "backtrace-eval", "backtrace-frame", - "backward-char", "backward-prefix-chars", "barf-if-buffer-read-only", - "base64-decode-region", "base64-decode-string", - "base64-encode-region", "base64-encode-string", "beginning-of-line", - "bidi-find-overridden-directionality", "bidi-resolved-levels", - "bitmap-spec-p", "bobp", "bolp", "bool-vector", - "bool-vector-count-consecutive", "bool-vector-count-population", - "bool-vector-exclusive-or", "bool-vector-intersection", - "bool-vector-not", "bool-vector-p", "bool-vector-set-difference", - "bool-vector-subsetp", "bool-vector-union", "boundp", - "buffer-base-buffer", "buffer-chars-modified-tick", - "buffer-enable-undo", "buffer-file-name", "buffer-has-markers-at", - "buffer-list", "buffer-live-p", "buffer-local-value", - "buffer-local-variables", "buffer-modified-p", "buffer-modified-tick", - "buffer-name", "buffer-size", "buffer-string", "buffer-substring", - "buffer-substring-no-properties", "buffer-swap-text", "bufferp", - "bury-buffer-internal", "byte-code", "byte-code-function-p", - "byte-to-position", "byte-to-string", "byteorder", - "call-interactively", "call-last-kbd-macro", "call-process", - "call-process-region", "cancel-kbd-macro-events", "capitalize", - "capitalize-region", "capitalize-word", "car", "car-less-than-car", - "car-safe", "case-table-p", "category-docstring", - "category-set-mnemonics", "category-table", "category-table-p", - "ccl-execute", "ccl-execute-on-string", "ccl-program-p", "cdr", - "cdr-safe", "ceiling", "char-after", "char-before", - "char-category-set", "char-charset", "char-equal", "char-or-string-p", - "char-resolve-modifiers", "char-syntax", "char-table-extra-slot", - "char-table-p", "char-table-parent", "char-table-range", - "char-table-subtype", "char-to-string", "char-width", "characterp", - "charset-after", "charset-id-internal", "charset-plist", - "charset-priority-list", "charsetp", "check-coding-system", - "check-coding-systems-region", "clear-buffer-auto-save-failure", - "clear-charset-maps", "clear-face-cache", "clear-font-cache", - "clear-image-cache", "clear-string", "clear-this-command-keys", - "close-font", "clrhash", "coding-system-aliases", - "coding-system-base", "coding-system-eol-type", "coding-system-p", - "coding-system-plist", "coding-system-priority-list", - "coding-system-put", "color-distance", "color-gray-p", - "color-supported-p", "combine-after-change-execute", - "command-error-default-function", "command-remapping", "commandp", - "compare-buffer-substrings", "compare-strings", - "compare-window-configurations", "completing-read", - "compose-region-internal", "compose-string-internal", - "composition-get-gstring", "compute-motion", "concat", "cons", - "consp", "constrain-to-field", "continue-process", - "controlling-tty-p", "coordinates-in-window-p", "copy-alist", - "copy-category-table", "copy-file", "copy-hash-table", "copy-keymap", - "copy-marker", "copy-sequence", "copy-syntax-table", "copysign", - "cos", "current-active-maps", "current-bidi-paragraph-direction", - "current-buffer", "current-case-table", "current-column", - "current-global-map", "current-idle-time", "current-indentation", - "current-input-mode", "current-local-map", "current-message", - "current-minor-mode-maps", "current-time", "current-time-string", - "current-time-zone", "current-window-configuration", - "cygwin-convert-file-name-from-windows", - "cygwin-convert-file-name-to-windows", "daemon-initialized", - "daemonp", "dbus--init-bus", "dbus-get-unique-name", - "dbus-message-internal", "debug-timer-check", "declare-equiv-charset", - "decode-big5-char", "decode-char", "decode-coding-region", - "decode-coding-string", "decode-sjis-char", "decode-time", - "default-boundp", "default-file-modes", "default-printer-name", - "default-toplevel-value", "default-value", "define-category", - "define-charset-alias", "define-charset-internal", - "define-coding-system-alias", "define-coding-system-internal", - "define-fringe-bitmap", "define-hash-table-test", "define-key", - "define-prefix-command", "delete", - "delete-all-overlays", "delete-and-extract-region", "delete-char", - "delete-directory-internal", "delete-field", "delete-file", - "delete-frame", "delete-other-windows-internal", "delete-overlay", - "delete-process", "delete-region", "delete-terminal", - "delete-window-internal", "delq", "describe-buffer-bindings", - "describe-vector", "destroy-fringe-bitmap", "detect-coding-region", - "detect-coding-string", "ding", "directory-file-name", - "directory-files", "directory-files-and-attributes", "discard-input", - "display-supports-face-attributes-p", "do-auto-save", "documentation", - "documentation-property", "downcase", "downcase-region", - "downcase-word", "draw-string", "dump-colors", "dump-emacs", - "dump-face", "dump-frame-glyph-matrix", "dump-glyph-matrix", - "dump-glyph-row", "dump-redisplay-history", "dump-tool-bar-row", - "elt", "emacs-pid", "encode-big5-char", "encode-char", - "encode-coding-region", "encode-coding-string", "encode-sjis-char", - "encode-time", "end-kbd-macro", "end-of-line", "eobp", "eolp", "eq", - "eql", "equal", "equal-including-properties", "erase-buffer", - "error-message-string", "eval", "eval-buffer", "eval-region", - "event-convert-list", "execute-kbd-macro", "exit-recursive-edit", - "exp", "expand-file-name", "expt", "external-debugging-output", - "face-attribute-relative-p", "face-attributes-as-vector", "face-font", - "fboundp", "fceiling", "fetch-bytecode", "ffloor", - "field-beginning", "field-end", "field-string", - "field-string-no-properties", "file-accessible-directory-p", - "file-acl", "file-attributes", "file-attributes-lessp", - "file-directory-p", "file-executable-p", "file-exists-p", - "file-locked-p", "file-modes", "file-name-absolute-p", - "file-name-all-completions", "file-name-as-directory", - "file-name-completion", "file-name-directory", - "file-name-nondirectory", "file-newer-than-file-p", "file-readable-p", - "file-regular-p", "file-selinux-context", "file-symlink-p", - "file-system-info", "file-system-info", "file-writable-p", - "fillarray", "find-charset-region", "find-charset-string", - "find-coding-systems-region-internal", "find-composition-internal", - "find-file-name-handler", "find-font", "find-operation-coding-system", - "float", "float-time", "floatp", "floor", "fmakunbound", - "following-char", "font-at", "font-drive-otf", "font-face-attributes", - "font-family-list", "font-get", "font-get-glyphs", - "font-get-system-font", "font-get-system-normal-font", "font-info", - "font-match-p", "font-otf-alternates", "font-put", - "font-shape-gstring", "font-spec", "font-variation-glyphs", - "font-xlfd-name", "fontp", "fontset-font", "fontset-info", - "fontset-list", "fontset-list-all", "force-mode-line-update", - "force-window-update", "format", "format-mode-line", - "format-network-address", "format-time-string", "forward-char", - "forward-comment", "forward-line", "forward-word", - "frame-border-width", "frame-bottom-divider-width", - "frame-can-run-window-configuration-change-hook", "frame-char-height", - "frame-char-width", "frame-face-alist", "frame-first-window", - "frame-focus", "frame-font-cache", "frame-fringe-width", "frame-list", - "frame-live-p", "frame-or-buffer-changed-p", "frame-parameter", - "frame-parameters", "frame-pixel-height", "frame-pixel-width", - "frame-pointer-visible-p", "frame-right-divider-width", - "frame-root-window", "frame-scroll-bar-height", - "frame-scroll-bar-width", "frame-selected-window", "frame-terminal", - "frame-text-cols", "frame-text-height", "frame-text-lines", - "frame-text-width", "frame-total-cols", "frame-total-lines", - "frame-visible-p", "framep", "frexp", "fringe-bitmaps-at-pos", - "fround", "fset", "ftruncate", "funcall", "funcall-interactively", - "function-equal", "functionp", "gap-position", "gap-size", - "garbage-collect", "gc-status", "generate-new-buffer-name", "get", - "get-buffer", "get-buffer-create", "get-buffer-process", - "get-buffer-window", "get-byte", "get-char-property", - "get-char-property-and-overlay", "get-file-buffer", "get-file-char", - "get-internal-run-time", "get-load-suffixes", "get-pos-property", - "get-process", "get-screen-color", "get-text-property", - "get-unicode-property-internal", "get-unused-category", - "get-unused-iso-final-char", "getenv-internal", "gethash", - "gfile-add-watch", "gfile-rm-watch", "global-key-binding", - "gnutls-available-p", "gnutls-boot", "gnutls-bye", "gnutls-deinit", - "gnutls-error-fatalp", "gnutls-error-string", "gnutls-errorp", - "gnutls-get-initstage", "gnutls-peer-status", - "gnutls-peer-status-warning-describe", "goto-char", "gpm-mouse-start", - "gpm-mouse-stop", "group-gid", "group-real-gid", - "handle-save-session", "handle-switch-frame", "hash-table-count", - "hash-table-p", "hash-table-rehash-size", - "hash-table-rehash-threshold", "hash-table-size", "hash-table-test", - "hash-table-weakness", "iconify-frame", "identity", "image-flush", - "image-mask-p", "image-metadata", "image-size", "imagemagick-types", - "imagep", "indent-to", "indirect-function", "indirect-variable", - "init-image-library", "inotify-add-watch", "inotify-rm-watch", - "input-pending-p", "insert", "insert-and-inherit", - "insert-before-markers", "insert-before-markers-and-inherit", - "insert-buffer-substring", "insert-byte", "insert-char", - "insert-file-contents", "insert-startup-screen", "int86", - "integer-or-marker-p", "integerp", "interactive-form", "intern", - "intern-soft", "internal--track-mouse", "internal-char-font", - "internal-complete-buffer", "internal-copy-lisp-face", - "internal-default-process-filter", - "internal-default-process-sentinel", "internal-describe-syntax-value", - "internal-event-symbol-parse-modifiers", - "internal-face-x-get-resource", "internal-get-lisp-face-attribute", - "internal-lisp-face-attribute-values", "internal-lisp-face-empty-p", - "internal-lisp-face-equal-p", "internal-lisp-face-p", - "internal-make-lisp-face", "internal-make-var-non-special", - "internal-merge-in-global-face", - "internal-set-alternative-font-family-alist", - "internal-set-alternative-font-registry-alist", - "internal-set-font-selection-order", - "internal-set-lisp-face-attribute", - "internal-set-lisp-face-attribute-from-resource", - "internal-show-cursor", "internal-show-cursor-p", "interrupt-process", - "invisible-p", "invocation-directory", "invocation-name", "isnan", - "iso-charset", "key-binding", "key-description", - "keyboard-coding-system", "keymap-parent", "keymap-prompt", "keymapp", - "keywordp", "kill-all-local-variables", "kill-buffer", "kill-emacs", - "kill-local-variable", "kill-process", "last-nonminibuffer-frame", - "lax-plist-get", "lax-plist-put", "ldexp", "length", - "libxml-parse-html-region", "libxml-parse-xml-region", - "line-beginning-position", "line-end-position", "line-pixel-height", - "list", "list-fonts", "list-system-processes", "listp", "load", - "load-average", "local-key-binding", "local-variable-if-set-p", - "local-variable-p", "locale-info", "locate-file-internal", - "lock-buffer", "log", "logand", "logb", "logior", "lognot", "logxor", - "looking-at", "lookup-image", "lookup-image-map", "lookup-key", - "lower-frame", "lsh", "macroexpand", "make-bool-vector", - "make-byte-code", "make-category-set", "make-category-table", - "make-char", "make-char-table", "make-directory-internal", - "make-frame-invisible", "make-frame-visible", "make-hash-table", - "make-indirect-buffer", "make-keymap", "make-list", - "make-local-variable", "make-marker", "make-network-process", - "make-overlay", "make-serial-process", "make-sparse-keymap", - "make-string", "make-symbol", "make-symbolic-link", "make-temp-name", - "make-terminal-frame", "make-variable-buffer-local", - "make-variable-frame-local", "make-vector", "makunbound", - "map-char-table", "map-charset-chars", "map-keymap", - "map-keymap-internal", "mapatoms", "mapc", "mapcar", "mapconcat", - "maphash", "mark-marker", "marker-buffer", "marker-insertion-type", - "marker-position", "markerp", "match-beginning", "match-data", - "match-end", "matching-paren", "max", "max-char", "md5", "member", - "memory-info", "memory-limit", "memory-use-counts", "memq", "memql", - "menu-bar-menu-at-x-y", "menu-or-popup-active-p", - "menu-or-popup-active-p", "merge-face-attribute", "message", - "message-box", "message-or-box", "min", - "minibuffer-completion-contents", "minibuffer-contents", - "minibuffer-contents-no-properties", "minibuffer-depth", - "minibuffer-prompt", "minibuffer-prompt-end", - "minibuffer-selected-window", "minibuffer-window", "minibufferp", - "minor-mode-key-binding", "mod", "modify-category-entry", - "modify-frame-parameters", "modify-syntax-entry", - "mouse-pixel-position", "mouse-position", "move-overlay", - "move-point-visually", "move-to-column", "move-to-window-line", - "msdos-downcase-filename", "msdos-long-file-names", "msdos-memget", - "msdos-memput", "msdos-mouse-disable", "msdos-mouse-enable", - "msdos-mouse-init", "msdos-mouse-p", "msdos-remember-default-colors", - "msdos-set-keyboard", "msdos-set-mouse-buttons", - "multibyte-char-to-unibyte", "multibyte-string-p", "narrow-to-region", - "natnump", "nconc", "network-interface-info", - "network-interface-list", "new-fontset", "newline-cache-check", - "next-char-property-change", "next-frame", "next-overlay-change", - "next-property-change", "next-read-file-uses-dialog-p", - "next-single-char-property-change", "next-single-property-change", - "next-window", "nlistp", "nreverse", "nth", "nthcdr", "null", - "number-or-marker-p", "number-to-string", "numberp", - "open-dribble-file", "open-font", "open-termscript", - "optimize-char-table", "other-buffer", "other-window-for-scrolling", - "overlay-buffer", "overlay-end", "overlay-get", "overlay-lists", - "overlay-properties", "overlay-put", "overlay-recenter", - "overlay-start", "overlayp", "overlays-at", "overlays-in", - "parse-partial-sexp", "play-sound-internal", "plist-get", - "plist-member", "plist-put", "point", "point-marker", "point-max", - "point-max-marker", "point-min", "point-min-marker", - "pos-visible-in-window-p", "position-bytes", "posix-looking-at", - "posix-search-backward", "posix-search-forward", "posix-string-match", - "posn-at-point", "posn-at-x-y", "preceding-char", - "prefix-numeric-value", "previous-char-property-change", - "previous-frame", "previous-overlay-change", - "previous-property-change", "previous-single-char-property-change", - "previous-single-property-change", "previous-window", "prin1", - "prin1-to-string", "princ", "print", "process-attributes", - "process-buffer", "process-coding-system", "process-command", - "process-connection", "process-contact", "process-datagram-address", - "process-exit-status", "process-filter", "process-filter-multibyte-p", - "process-id", "process-inherit-coding-system-flag", "process-list", - "process-mark", "process-name", "process-plist", - "process-query-on-exit-flag", "process-running-child-p", - "process-send-eof", "process-send-region", "process-send-string", - "process-sentinel", "process-status", "process-tty-name", - "process-type", "processp", "profiler-cpu-log", - "profiler-cpu-running-p", "profiler-cpu-start", "profiler-cpu-stop", - "profiler-memory-log", "profiler-memory-running-p", - "profiler-memory-start", "profiler-memory-stop", "propertize", - "purecopy", "put", "put-text-property", - "put-unicode-property-internal", "puthash", "query-font", - "query-fontset", "quit-process", "raise-frame", "random", "rassoc", - "rassq", "re-search-backward", "re-search-forward", "read", - "read-buffer", "read-char", "read-char-exclusive", - "read-coding-system", "read-command", "read-event", - "read-from-minibuffer", "read-from-string", "read-function", - "read-key-sequence", "read-key-sequence-vector", - "read-no-blanks-input", "read-non-nil-coding-system", "read-string", - "read-variable", "recent-auto-save-p", "recent-doskeys", - "recent-keys", "recenter", "recursion-depth", "recursive-edit", - "redirect-debugging-output", "redirect-frame-focus", "redisplay", - "redraw-display", "redraw-frame", "regexp-quote", "region-beginning", - "region-end", "register-ccl-program", "register-code-conversion-map", - "remhash", "remove-list-of-text-properties", "remove-text-properties", - "rename-buffer", "rename-file", "replace-match", - "reset-this-command-lengths", "resize-mini-window-internal", - "restore-buffer-modified-p", "resume-tty", "reverse", "round", - "run-hook-with-args", "run-hook-with-args-until-failure", - "run-hook-with-args-until-success", "run-hook-wrapped", "run-hooks", - "run-window-configuration-change-hook", "run-window-scroll-functions", - "safe-length", "scan-lists", "scan-sexps", "scroll-down", - "scroll-left", "scroll-other-window", "scroll-right", "scroll-up", - "search-backward", "search-forward", "secure-hash", "select-frame", - "select-window", "selected-frame", "selected-window", - "self-insert-command", "send-string-to-terminal", "sequencep", - "serial-process-configure", "set", "set-buffer", - "set-buffer-auto-saved", "set-buffer-major-mode", - "set-buffer-modified-p", "set-buffer-multibyte", "set-case-table", - "set-category-table", "set-char-table-extra-slot", - "set-char-table-parent", "set-char-table-range", "set-charset-plist", - "set-charset-priority", "set-coding-system-priority", - "set-cursor-size", "set-default", "set-default-file-modes", - "set-default-toplevel-value", "set-file-acl", "set-file-modes", - "set-file-selinux-context", "set-file-times", "set-fontset-font", - "set-frame-height", "set-frame-position", "set-frame-selected-window", - "set-frame-size", "set-frame-width", "set-fringe-bitmap-face", - "set-input-interrupt-mode", "set-input-meta-mode", "set-input-mode", - "set-keyboard-coding-system-internal", "set-keymap-parent", - "set-marker", "set-marker-insertion-type", "set-match-data", - "set-message-beep", "set-minibuffer-window", - "set-mouse-pixel-position", "set-mouse-position", - "set-network-process-option", "set-output-flow-control", - "set-process-buffer", "set-process-coding-system", - "set-process-datagram-address", "set-process-filter", - "set-process-filter-multibyte", - "set-process-inherit-coding-system-flag", "set-process-plist", - "set-process-query-on-exit-flag", "set-process-sentinel", - "set-process-window-size", "set-quit-char", - "set-safe-terminal-coding-system-internal", "set-screen-color", - "set-standard-case-table", "set-syntax-table", - "set-terminal-coding-system-internal", "set-terminal-local-value", - "set-terminal-parameter", "set-text-properties", "set-time-zone-rule", - "set-visited-file-modtime", "set-window-buffer", - "set-window-combination-limit", "set-window-configuration", - "set-window-dedicated-p", "set-window-display-table", - "set-window-fringes", "set-window-hscroll", "set-window-margins", - "set-window-new-normal", "set-window-new-pixel", - "set-window-new-total", "set-window-next-buffers", - "set-window-parameter", "set-window-point", "set-window-prev-buffers", - "set-window-redisplay-end-trigger", "set-window-scroll-bars", - "set-window-start", "set-window-vscroll", "setcar", "setcdr", - "setplist", "show-face-resources", "signal", "signal-process", "sin", - "single-key-description", "skip-chars-backward", "skip-chars-forward", - "skip-syntax-backward", "skip-syntax-forward", "sleep-for", "sort", - "sort-charsets", "special-variable-p", "split-char", - "split-window-internal", "sqrt", "standard-case-table", - "standard-category-table", "standard-syntax-table", "start-kbd-macro", - "start-process", "stop-process", "store-kbd-macro-event", "string", - "string-as-multibyte", "string-as-unibyte", "string-bytes", - "string-collate-equalp", "string-collate-lessp", "string-equal", - "string-lessp", "string-make-multibyte", "string-make-unibyte", - "string-match", "string-to-char", "string-to-multibyte", - "string-to-number", "string-to-syntax", "string-to-unibyte", - "string-width", "stringp", "subr-name", "subrp", - "subst-char-in-region", "substitute-command-keys", - "substitute-in-file-name", "substring", "substring-no-properties", - "suspend-emacs", "suspend-tty", "suspicious-object", "sxhash", - "symbol-function", "symbol-name", "symbol-plist", "symbol-value", - "symbolp", "syntax-table", "syntax-table-p", "system-groups", - "system-move-file-to-trash", "system-name", "system-users", "tan", - "terminal-coding-system", "terminal-list", "terminal-live-p", - "terminal-local-value", "terminal-name", "terminal-parameter", - "terminal-parameters", "terpri", "test-completion", - "text-char-description", "text-properties-at", "text-property-any", - "text-property-not-all", "this-command-keys", - "this-command-keys-vector", "this-single-command-keys", - "this-single-command-raw-keys", "time-add", "time-less-p", - "time-subtract", "tool-bar-get-system-style", "tool-bar-height", - "tool-bar-pixel-width", "top-level", "trace-redisplay", - "trace-to-stderr", "translate-region-internal", "transpose-regions", - "truncate", "try-completion", "tty-display-color-cells", - "tty-display-color-p", "tty-no-underline", - "tty-suppress-bold-inverse-default-colors", "tty-top-frame", - "tty-type", "type-of", "undo-boundary", "unencodable-char-position", - "unhandled-file-name-directory", "unibyte-char-to-multibyte", - "unibyte-string", "unicode-property-table-internal", "unify-charset", - "unintern", "unix-sync", "unlock-buffer", "upcase", "upcase-initials", - "upcase-initials-region", "upcase-region", "upcase-word", - "use-global-map", "use-local-map", "user-full-name", - "user-login-name", "user-real-login-name", "user-real-uid", - "user-uid", "variable-binding-locus", "vconcat", "vector", - "vector-or-char-table-p", "vectorp", "verify-visited-file-modtime", - "vertical-motion", "visible-frame-list", "visited-file-modtime", - "w16-get-clipboard-data", "w16-selection-exists-p", - "w16-set-clipboard-data", "w32-battery-status", - "w32-default-color-map", "w32-define-rgb-color", - "w32-display-monitor-attributes-list", "w32-frame-menu-bar-size", - "w32-frame-rect", "w32-get-clipboard-data", - "w32-get-codepage-charset", "w32-get-console-codepage", - "w32-get-console-output-codepage", "w32-get-current-locale-id", - "w32-get-default-locale-id", "w32-get-keyboard-layout", - "w32-get-locale-info", "w32-get-valid-codepages", - "w32-get-valid-keyboard-layouts", "w32-get-valid-locale-ids", - "w32-has-winsock", "w32-long-file-name", "w32-reconstruct-hot-key", - "w32-register-hot-key", "w32-registered-hot-keys", - "w32-selection-exists-p", "w32-send-sys-command", - "w32-set-clipboard-data", "w32-set-console-codepage", - "w32-set-console-output-codepage", "w32-set-current-locale", - "w32-set-keyboard-layout", "w32-set-process-priority", - "w32-shell-execute", "w32-short-file-name", "w32-toggle-lock-key", - "w32-unload-winsock", "w32-unregister-hot-key", "w32-window-exists-p", - "w32notify-add-watch", "w32notify-rm-watch", - "waiting-for-user-input-p", "where-is-internal", "widen", - "widget-apply", "widget-get", "widget-put", - "window-absolute-pixel-edges", "window-at", "window-body-height", - "window-body-width", "window-bottom-divider-width", "window-buffer", - "window-combination-limit", "window-configuration-frame", - "window-configuration-p", "window-dedicated-p", - "window-display-table", "window-edges", "window-end", "window-frame", - "window-fringes", "window-header-line-height", "window-hscroll", - "window-inside-absolute-pixel-edges", "window-inside-edges", - "window-inside-pixel-edges", "window-left-child", - "window-left-column", "window-line-height", "window-list", - "window-list-1", "window-live-p", "window-margins", - "window-minibuffer-p", "window-mode-line-height", "window-new-normal", - "window-new-pixel", "window-new-total", "window-next-buffers", - "window-next-sibling", "window-normal-size", "window-old-point", - "window-parameter", "window-parameters", "window-parent", - "window-pixel-edges", "window-pixel-height", "window-pixel-left", - "window-pixel-top", "window-pixel-width", "window-point", - "window-prev-buffers", "window-prev-sibling", - "window-redisplay-end-trigger", "window-resize-apply", - "window-resize-apply-total", "window-right-divider-width", - "window-scroll-bar-height", "window-scroll-bar-width", - "window-scroll-bars", "window-start", "window-system", - "window-text-height", "window-text-pixel-size", "window-text-width", - "window-top-child", "window-top-line", "window-total-height", - "window-total-width", "window-use-time", "window-valid-p", - "window-vscroll", "windowp", "write-char", "write-region", - "x-backspace-delete-keys-p", "x-change-window-property", - "x-change-window-property", "x-close-connection", - "x-close-connection", "x-create-frame", "x-create-frame", - "x-delete-window-property", "x-delete-window-property", - "x-disown-selection-internal", "x-display-backing-store", - "x-display-backing-store", "x-display-color-cells", - "x-display-color-cells", "x-display-grayscale-p", - "x-display-grayscale-p", "x-display-list", "x-display-list", - "x-display-mm-height", "x-display-mm-height", "x-display-mm-width", - "x-display-mm-width", "x-display-monitor-attributes-list", - "x-display-pixel-height", "x-display-pixel-height", - "x-display-pixel-width", "x-display-pixel-width", "x-display-planes", - "x-display-planes", "x-display-save-under", "x-display-save-under", - "x-display-screens", "x-display-screens", "x-display-visual-class", - "x-display-visual-class", "x-family-fonts", "x-file-dialog", - "x-file-dialog", "x-file-dialog", "x-focus-frame", "x-frame-geometry", - "x-frame-geometry", "x-get-atom-name", "x-get-resource", - "x-get-selection-internal", "x-hide-tip", "x-hide-tip", - "x-list-fonts", "x-load-color-file", "x-menu-bar-open-internal", - "x-menu-bar-open-internal", "x-open-connection", "x-open-connection", - "x-own-selection-internal", "x-parse-geometry", "x-popup-dialog", - "x-popup-menu", "x-register-dnd-atom", "x-select-font", - "x-select-font", "x-selection-exists-p", "x-selection-owner-p", - "x-send-client-message", "x-server-max-request-size", - "x-server-max-request-size", "x-server-vendor", "x-server-vendor", - "x-server-version", "x-server-version", "x-show-tip", "x-show-tip", - "x-synchronize", "x-synchronize", "x-uses-old-gtk-dialog", - "x-window-property", "x-window-property", "x-wm-set-size-hint", - "xw-color-defined-p", "xw-color-defined-p", "xw-color-values", - "xw-color-values", "xw-display-color-p", "xw-display-color-p", - "yes-or-no-p", "zlib-available-p", "zlib-decompress-region", - "forward-point", - } - - emacsBuiltinFunctionHighlighted = []string{ - "defvaralias", "provide", "require", - "with-no-warnings", "define-widget", "with-electric-help", - "throw", "defalias", "featurep", - } - - emacsLambdaListKeywords = []string{ - "&allow-other-keys", "&aux", "&body", "&environment", "&key", "&optional", - "&rest", "&whole", - } - - emacsErrorKeywords = []string{ - "cl-assert", "cl-check-type", "error", "signal", - "user-error", "warn", - } -) - -// EmacsLisp lexer. -var EmacsLisp = internal.Register(TypeRemappingLexer(MustNewLexer( - &Config{ - Name: "EmacsLisp", - Aliases: []string{"emacs", "elisp", "emacs-lisp"}, - Filenames: []string{"*.el"}, - MimeTypes: []string{"text/x-elisp", "application/x-elisp"}, - }, - Rules{ - "root": { - Default(Push("body")), - }, - "body": { - {`\s+`, Text, nil}, - {`;.*$`, CommentSingle, nil}, - {`"`, LiteralString, Push("string")}, - {`\?([^\\]|\\.)`, LiteralStringChar, nil}, - {`:((?:\\.|[\w!$%&*+-/<=>?@^{}~|])(?:\\.|[\w!$%&*+-/<=>?@^{}~|]|[#.:])*)`, NameBuiltin, nil}, - {`::((?:\\.|[\w!$%&*+-/<=>?@^{}~|])(?:\\.|[\w!$%&*+-/<=>?@^{}~|]|[#.:])*)`, LiteralStringSymbol, nil}, - {`'((?:\\.|[\w!$%&*+-/<=>?@^{}~|])(?:\\.|[\w!$%&*+-/<=>?@^{}~|]|[#.:])*)`, LiteralStringSymbol, nil}, - {`'`, Operator, nil}, - {"`", Operator, nil}, - {"[-+]?\\d+\\.?(?=[ \"()\\]\\'\\n,;`])", LiteralNumberInteger, nil}, - {"[-+]?\\d+/\\d+(?=[ \"()\\]\\'\\n,;`])", LiteralNumber, nil}, - {"[-+]?(\\d*\\.\\d+([defls][-+]?\\d+)?|\\d+(\\.\\d*)?[defls][-+]?\\d+)(?=[ \"()\\]\\'\\n,;`])", LiteralNumberFloat, nil}, - {`\[|\]`, Punctuation, nil}, - {`#:((?:\\.|[\w!$%&*+-/<=>?@^{}~|])(?:\\.|[\w!$%&*+-/<=>?@^{}~|]|[#.:])*)`, LiteralStringSymbol, nil}, - {`#\^\^?`, Operator, nil}, - {`#\'`, NameFunction, nil}, - {`#[bB][+-]?[01]+(/[01]+)?`, LiteralNumberBin, nil}, - {`#[oO][+-]?[0-7]+(/[0-7]+)?`, LiteralNumberOct, nil}, - {`#[xX][+-]?[0-9a-fA-F]+(/[0-9a-fA-F]+)?`, LiteralNumberHex, nil}, - {`#\d+r[+-]?[0-9a-zA-Z]+(/[0-9a-zA-Z]+)?`, LiteralNumber, nil}, - {`#\d+=`, Operator, nil}, - {`#\d+#`, Operator, nil}, - {`(,@|,|\.|:)`, Operator, nil}, - {"(t|nil)(?=[ \"()\\]\\'\\n,;`])", NameConstant, nil}, - {`\*((?:\\.|[\w!$%&*+-/<=>?@^{}~|])(?:\\.|[\w!$%&*+-/<=>?@^{}~|]|[#.:])*)\*`, NameVariableGlobal, nil}, - {`((?:\\.|[\w!$%&*+-/<=>?@^{}~|])(?:\\.|[\w!$%&*+-/<=>?@^{}~|]|[#.:])*)`, NameVariable, nil}, - {`#\(`, Operator, Push("body")}, - {`\(`, Punctuation, Push("body")}, - {`\)`, Punctuation, Pop(1)}, - }, - "string": { - {"[^\"\\\\`]+", LiteralString, nil}, - {"`((?:\\\\.|[\\w!$%&*+-/<=>?@^{}~|])(?:\\\\.|[\\w!$%&*+-/<=>?@^{}~|]|[#.:])*)\\'", LiteralStringSymbol, nil}, - {"`", LiteralString, nil}, - {`\\.`, LiteralString, nil}, - {`\\\n`, LiteralString, nil}, - {`"`, LiteralString, Pop(1)}, - }, - }, -), TypeMapping{ - {NameVariable, NameFunction, emacsBuiltinFunction}, - {NameVariable, NameBuiltin, emacsSpecialForms}, - {NameVariable, NameException, emacsErrorKeywords}, - {NameVariable, NameBuiltin, append(emacsBuiltinFunctionHighlighted, emacsMacros...)}, - {NameVariable, KeywordPseudo, emacsLambdaListKeywords}, -})) diff --git a/vendor/github.com/alecthomas/chroma/lexers/e/erlang.go b/vendor/github.com/alecthomas/chroma/lexers/e/erlang.go deleted file mode 100644 index 63cd59a4..00000000 --- a/vendor/github.com/alecthomas/chroma/lexers/e/erlang.go +++ /dev/null @@ -1,66 +0,0 @@ -package e - -import ( - . "github.com/alecthomas/chroma" // nolint - "github.com/alecthomas/chroma/lexers/internal" -) - -// Erlang lexer. -var Erlang = internal.Register(MustNewLexer( - &Config{ - Name: "Erlang", - Aliases: []string{"erlang"}, - Filenames: []string{"*.erl", "*.hrl", "*.es", "*.escript"}, - MimeTypes: []string{"text/x-erlang"}, - }, - Rules{ - "root": { - {`\s+`, Text, nil}, - {`%.*\n`, Comment, nil}, - {Words(``, `\b`, `after`, `begin`, `case`, `catch`, `cond`, `end`, `fun`, `if`, `let`, `of`, `query`, `receive`, `try`, `when`), Keyword, nil}, - {Words(``, `\b`, `abs`, `append_element`, `apply`, `atom_to_list`, `binary_to_list`, `bitstring_to_list`, `binary_to_term`, `bit_size`, `bump_reductions`, `byte_size`, `cancel_timer`, `check_process_code`, `delete_module`, `demonitor`, `disconnect_node`, `display`, `element`, `erase`, `exit`, `float`, `float_to_list`, `fun_info`, `fun_to_list`, `function_exported`, `garbage_collect`, `get`, `get_keys`, `group_leader`, `hash`, `hd`, `integer_to_list`, `iolist_to_binary`, `iolist_size`, `is_atom`, `is_binary`, `is_bitstring`, `is_boolean`, `is_builtin`, `is_float`, `is_function`, `is_integer`, `is_list`, `is_number`, `is_pid`, `is_port`, `is_process_alive`, `is_record`, `is_reference`, `is_tuple`, `length`, `link`, `list_to_atom`, `list_to_binary`, `list_to_bitstring`, `list_to_existing_atom`, `list_to_float`, `list_to_integer`, `list_to_pid`, `list_to_tuple`, `load_module`, `localtime_to_universaltime`, `make_tuple`, `md5`, `md5_final`, `md5_update`, `memory`, `module_loaded`, `monitor`, `monitor_node`, `node`, `nodes`, `open_port`, `phash`, `phash2`, `pid_to_list`, `port_close`, `port_command`, `port_connect`, `port_control`, `port_call`, `port_info`, `port_to_list`, `process_display`, `process_flag`, `process_info`, `purge_module`, `put`, `read_timer`, `ref_to_list`, `register`, `resume_process`, `round`, `send`, `send_after`, `send_nosuspend`, `set_cookie`, `setelement`, `size`, `spawn`, `spawn_link`, `spawn_monitor`, `spawn_opt`, `split_binary`, `start_timer`, `statistics`, `suspend_process`, `system_flag`, `system_info`, `system_monitor`, `system_profile`, `term_to_binary`, `tl`, `trace`, `trace_delivered`, `trace_info`, `trace_pattern`, `trunc`, `tuple_size`, `tuple_to_list`, `universaltime_to_localtime`, `unlink`, `unregister`, `whereis`), NameBuiltin, nil}, - {Words(``, `\b`, `and`, `andalso`, `band`, `bnot`, `bor`, `bsl`, `bsr`, `bxor`, `div`, `not`, `or`, `orelse`, `rem`, `xor`), OperatorWord, nil}, - {`^-`, Punctuation, Push("directive")}, - {`(\+\+?|--?|\*|/|<|>|/=|=:=|=/=|=<|>=|==?|<-|!|\?)`, Operator, nil}, - {`"`, LiteralString, Push("string")}, - {`<<`, NameLabel, nil}, - {`>>`, NameLabel, nil}, - {`((?:[a-z]\w*|'[^\n']*[^\\]'))(:)`, ByGroups(NameNamespace, Punctuation), nil}, - {`(?:^|(?<=:))((?:[a-z]\w*|'[^\n']*[^\\]'))(\s*)(\()`, ByGroups(NameFunction, Text, Punctuation), nil}, - {`[+-]?(?:[2-9]|[12][0-9]|3[0-6])#[0-9a-zA-Z]+`, LiteralNumberInteger, nil}, - {`[+-]?\d+`, LiteralNumberInteger, nil}, - {`[+-]?\d+.\d+`, LiteralNumberFloat, nil}, - {`[]\[:_@\".{}()|;,]`, Punctuation, nil}, - {`(?:[A-Z_]\w*)`, NameVariable, nil}, - {`(?:[a-z]\w*|'[^\n']*[^\\]')`, Name, nil}, - {`\?(?:(?:[A-Z_]\w*)|(?:[a-z]\w*|'[^\n']*[^\\]'))`, NameConstant, nil}, - {`\$(?:(?:\\(?:[bdefnrstv\'"\\]|[0-7][0-7]?[0-7]?|(?:x[0-9a-fA-F]{2}|x\{[0-9a-fA-F]+\})|\^[a-zA-Z]))|\\[ %]|[^\\])`, LiteralStringChar, nil}, - {`#(?:[a-z]\w*|'[^\n']*[^\\]')(:?\.(?:[a-z]\w*|'[^\n']*[^\\]'))?`, NameLabel, nil}, - {`\A#!.+\n`, CommentHashbang, nil}, - {`#\{`, Punctuation, Push("map_key")}, - }, - "string": { - {`(?:\\(?:[bdefnrstv\'"\\]|[0-7][0-7]?[0-7]?|(?:x[0-9a-fA-F]{2}|x\{[0-9a-fA-F]+\})|\^[a-zA-Z]))`, LiteralStringEscape, nil}, - {`"`, LiteralString, Pop(1)}, - {`~[0-9.*]*[~#+BPWXb-ginpswx]`, LiteralStringInterpol, nil}, - {`[^"\\~]+`, LiteralString, nil}, - {`~`, LiteralString, nil}, - }, - "directive": { - {`(define)(\s*)(\()((?:(?:[A-Z_]\w*)|(?:[a-z]\w*|'[^\n']*[^\\]')))`, ByGroups(NameEntity, Text, Punctuation, NameConstant), Pop(1)}, - {`(record)(\s*)(\()((?:(?:[A-Z_]\w*)|(?:[a-z]\w*|'[^\n']*[^\\]')))`, ByGroups(NameEntity, Text, Punctuation, NameLabel), Pop(1)}, - {`(?:[a-z]\w*|'[^\n']*[^\\]')`, NameEntity, Pop(1)}, - }, - "map_key": { - Include("root"), - {`=>`, Punctuation, Push("map_val")}, - {`:=`, Punctuation, Push("map_val")}, - {`\}`, Punctuation, Pop(1)}, - }, - "map_val": { - Include("root"), - {`,`, Punctuation, Pop(1)}, - {`(?=\})`, Punctuation, Pop(1)}, - }, - }, -)) diff --git a/vendor/github.com/alecthomas/chroma/lexers/f/factor.go b/vendor/github.com/alecthomas/chroma/lexers/f/factor.go deleted file mode 100644 index 26c0d562..00000000 --- a/vendor/github.com/alecthomas/chroma/lexers/f/factor.go +++ /dev/null @@ -1,115 +0,0 @@ -package f - -import ( - . "github.com/alecthomas/chroma" // nolint - "github.com/alecthomas/chroma/lexers/internal" -) - -// Factor lexer. -var Factor = internal.Register(MustNewLexer( - &Config{ - Name: "Factor", - Aliases: []string{"factor"}, - Filenames: []string{"*.factor"}, - MimeTypes: []string{"text/x-factor"}, - }, - Rules{ - "root": { - {`#!.*$`, CommentPreproc, nil}, - Default(Push("base")), - }, - "base": { - {`\s+`, Text, nil}, - {`((?:MACRO|MEMO|TYPED)?:[:]?)(\s+)(\S+)`, ByGroups(Keyword, Text, NameFunction), nil}, - {`(M:[:]?)(\s+)(\S+)(\s+)(\S+)`, ByGroups(Keyword, Text, NameClass, Text, NameFunction), nil}, - {`(C:)(\s+)(\S+)(\s+)(\S+)`, ByGroups(Keyword, Text, NameFunction, Text, NameClass), nil}, - {`(GENERIC:)(\s+)(\S+)`, ByGroups(Keyword, Text, NameFunction), nil}, - {`(HOOK:|GENERIC#)(\s+)(\S+)(\s+)(\S+)`, ByGroups(Keyword, Text, NameFunction, Text, NameFunction), nil}, - {`\(\s`, NameFunction, Push("stackeffect")}, - {`;\s`, Keyword, nil}, - {`(USING:)(\s+)`, ByGroups(KeywordNamespace, Text), Push("vocabs")}, - {`(USE:|UNUSE:|IN:|QUALIFIED:)(\s+)(\S+)`, ByGroups(KeywordNamespace, Text, NameNamespace), nil}, - {`(QUALIFIED-WITH:)(\s+)(\S+)(\s+)(\S+)`, ByGroups(KeywordNamespace, Text, NameNamespace, Text, NameNamespace), nil}, - {`(FROM:|EXCLUDE:)(\s+)(\S+)(\s+=>\s)`, ByGroups(KeywordNamespace, Text, NameNamespace, Text), Push("words")}, - {`(RENAME:)(\s+)(\S+)(\s+)(\S+)(\s+=>\s+)(\S+)`, ByGroups(KeywordNamespace, Text, NameFunction, Text, NameNamespace, Text, NameFunction), nil}, - {`(ALIAS:|TYPEDEF:)(\s+)(\S+)(\s+)(\S+)`, ByGroups(KeywordNamespace, Text, NameFunction, Text, NameFunction), nil}, - {`(DEFER:|FORGET:|POSTPONE:)(\s+)(\S+)`, ByGroups(KeywordNamespace, Text, NameFunction), nil}, - {`(TUPLE:|ERROR:)(\s+)(\S+)(\s+<\s+)(\S+)`, ByGroups(Keyword, Text, NameClass, Text, NameClass), Push("slots")}, - {`(TUPLE:|ERROR:|BUILTIN:)(\s+)(\S+)`, ByGroups(Keyword, Text, NameClass), Push("slots")}, - {`(MIXIN:|UNION:|INTERSECTION:)(\s+)(\S+)`, ByGroups(Keyword, Text, NameClass), nil}, - {`(PREDICATE:)(\s+)(\S+)(\s+<\s+)(\S+)`, ByGroups(Keyword, Text, NameClass, Text, NameClass), nil}, - {`(C:)(\s+)(\S+)(\s+)(\S+)`, ByGroups(Keyword, Text, NameFunction, Text, NameClass), nil}, - {`(INSTANCE:)(\s+)(\S+)(\s+)(\S+)`, ByGroups(Keyword, Text, NameClass, Text, NameClass), nil}, - {`(SLOT:)(\s+)(\S+)`, ByGroups(Keyword, Text, NameFunction), nil}, - {`(SINGLETON:)(\s+)(\S+)`, ByGroups(Keyword, Text, NameClass), nil}, - {`SINGLETONS:`, Keyword, Push("classes")}, - {`(CONSTANT:|SYMBOL:|MAIN:|HELP:)(\s+)(\S+)`, ByGroups(Keyword, Text, NameFunction), nil}, - {`SYMBOLS:\s`, Keyword, Push("words")}, - {`SYNTAX:\s`, Keyword, nil}, - {`ALIEN:\s`, Keyword, nil}, - {`(STRUCT:)(\s+)(\S+)`, ByGroups(Keyword, Text, NameClass), nil}, - {`(FUNCTION:)(\s+\S+\s+)(\S+)(\s+\(\s+[^)]+\)\s)`, ByGroups(KeywordNamespace, Text, NameFunction, Text), nil}, - {`(FUNCTION-ALIAS:)(\s+)(\S+)(\s+\S+\s+)(\S+)(\s+\(\s+[^)]+\)\s)`, ByGroups(KeywordNamespace, Text, NameFunction, Text, NameFunction, Text), nil}, - {`(?:)\s`, KeywordNamespace, nil}, - {`"""\s+(?:.|\n)*?\s+"""`, LiteralString, nil}, - {`"(?:\\\\|\\"|[^"])*"`, LiteralString, nil}, - {`\S+"\s+(?:\\\\|\\"|[^"])*"`, LiteralString, nil}, - {`CHAR:\s+(?:\\[\\abfnrstv]|[^\\]\S*)\s`, LiteralStringChar, nil}, - {`!\s+.*$`, Comment, nil}, - {`#!\s+.*$`, Comment, nil}, - {`/\*\s+(?:.|\n)*?\s\*/\s`, Comment, nil}, - {`[tf]\s`, NameConstant, nil}, - {`[\\$]\s+\S+`, NameConstant, nil}, - {`M\\\s+\S+\s+\S+`, NameConstant, nil}, - {`[+-]?(?:[\d,]*\d)?\.(?:\d([\d,]*\d)?)?(?:[eE][+-]?\d+)?\s`, LiteralNumber, nil}, - {`[+-]?\d(?:[\d,]*\d)?(?:[eE][+-]?\d+)?\s`, LiteralNumber, nil}, - {`0x[a-fA-F\d](?:[a-fA-F\d,]*[a-fA-F\d])?(?:p\d([\d,]*\d)?)?\s`, LiteralNumber, nil}, - {`NAN:\s+[a-fA-F\d](?:[a-fA-F\d,]*[a-fA-F\d])?(?:p\d([\d,]*\d)?)?\s`, LiteralNumber, nil}, - {`0b[01]+\s`, LiteralNumberBin, nil}, - {`0o[0-7]+\s`, LiteralNumberOct, nil}, - {`(?:\d([\d,]*\d)?)?\+\d(?:[\d,]*\d)?/\d(?:[\d,]*\d)?\s`, LiteralNumber, nil}, - {`(?:\-\d([\d,]*\d)?)?\-\d(?:[\d,]*\d)?/\d(?:[\d,]*\d)?\s`, LiteralNumber, nil}, - {`(?:deprecated|final|foldable|flushable|inline|recursive)\s`, Keyword, nil}, - {Words(``, `\s`, `-rot`, `2bi`, `2bi@`, `2bi*`, `2curry`, `2dip`, `2drop`, `2dup`, `2keep`, `2nip`, `2over`, `2tri`, `2tri@`, `2tri*`, `3bi`, `3curry`, `3dip`, `3drop`, `3dup`, `3keep`, `3tri`, `4dip`, `4drop`, `4dup`, `4keep`, ``, `=`, `>boolean`, `clone`, `?`, `?execute`, `?if`, `and`, `assert`, `assert=`, `assert?`, `bi`, `bi-curry`, `bi-curry@`, `bi-curry*`, `bi@`, `bi*`, `boa`, `boolean`, `boolean?`, `both?`, `build`, `call`, `callstack`, `callstack>array`, `callstack?`, `clear`, `(clone)`, `compose`, `compose?`, `curry`, `curry?`, `datastack`, `die`, `dip`, `do`, `drop`, `dup`, `dupd`, `either?`, `eq?`, `equal?`, `execute`, `hashcode`, `hashcode*`, `identity-hashcode`, `identity-tuple`, `identity-tuple?`, `if`, `if*`, `keep`, `loop`, `most`, `new`, `nip`, `not`, `null`, `object`, `or`, `over`, `pick`, `prepose`, `retainstack`, `rot`, `same?`, `swap`, `swapd`, `throw`, `tri`, `tri-curry`, `tri-curry@`, `tri-curry*`, `tri@`, `tri*`, `tuple`, `tuple?`, `unless`, `unless*`, `until`, `when`, `when*`, `while`, `with`, `wrapper`, `wrapper?`, `xor`), NameBuiltin, nil}, - {Words(``, `\s`, `2cache`, ``, `>alist`, `?at`, `?of`, `assoc`, `assoc-all?`, `assoc-any?`, `assoc-clone-like`, `assoc-combine`, `assoc-diff`, `assoc-diff!`, `assoc-differ`, `assoc-each`, `assoc-empty?`, `assoc-filter`, `assoc-filter!`, `assoc-filter-as`, `assoc-find`, `assoc-hashcode`, `assoc-intersect`, `assoc-like`, `assoc-map`, `assoc-map-as`, `assoc-partition`, `assoc-refine`, `assoc-size`, `assoc-stack`, `assoc-subset?`, `assoc-union`, `assoc-union!`, `assoc=`, `assoc>map`, `assoc?`, `at`, `at+`, `at*`, `cache`, `change-at`, `clear-assoc`, `delete-at`, `delete-at*`, `enum`, `enum?`, `extract-keys`, `inc-at`, `key?`, `keys`, `map>assoc`, `maybe-set-at`, `new-assoc`, `of`, `push-at`, `rename-at`, `set-at`, `sift-keys`, `sift-values`, `substitute`, `unzip`, `value-at`, `value-at*`, `value?`, `values`, `zip`), NameBuiltin, nil}, - {Words(``, `\s`, `2cleave`, `2cleave>quot`, `3cleave`, `3cleave>quot`, `4cleave`, `4cleave>quot`, `alist>quot`, `call-effect`, `case`, `case-find`, `case>quot`, `cleave`, `cleave>quot`, `cond`, `cond>quot`, `deep-spread>quot`, `execute-effect`, `linear-case-quot`, `no-case`, `no-case?`, `no-cond`, `no-cond?`, `recursive-hashcode`, `shallow-spread>quot`, `spread`, `to-fixed-point`, `wrong-values`, `wrong-values?`), NameBuiltin, nil}, - {Words(``, `\s`, `-`, `/`, `/f`, `/i`, `/mod`, `2/`, `2^`, `<`, `<=`, ``, `>`, `>=`, `>bignum`, `>fixnum`, `>float`, `>integer`, `(all-integers?)`, `(each-integer)`, `(find-integer)`, `*`, `+`, `?1+`, `abs`, `align`, `all-integers?`, `bignum`, `bignum?`, `bit?`, `bitand`, `bitnot`, `bitor`, `bits>double`, `bits>float`, `bitxor`, `complex`, `complex?`, `denominator`, `double>bits`, `each-integer`, `even?`, `find-integer`, `find-last-integer`, `fixnum`, `fixnum?`, `float`, `float>bits`, `float?`, `fp-bitwise=`, `fp-infinity?`, `fp-nan-payload`, `fp-nan?`, `fp-qnan?`, `fp-sign`, `fp-snan?`, `fp-special?`, `if-zero`, `imaginary-part`, `integer`, `integer>fixnum`, `integer>fixnum-strict`, `integer?`, `log2`, `log2-expects-positive`, `log2-expects-positive?`, `mod`, `neg`, `neg?`, `next-float`, `next-power-of-2`, `number`, `number=`, `number?`, `numerator`, `odd?`, `out-of-fixnum-range`, `out-of-fixnum-range?`, `power-of-2?`, `prev-float`, `ratio`, `ratio?`, `rational`, `rational?`, `real`, `real-part`, `real?`, `recip`, `rem`, `sgn`, `shift`, `sq`, `times`, `u<`, `u<=`, `u>`, `u>=`, `unless-zero`, `unordered?`, `when-zero`, `zero?`), NameBuiltin, nil}, - {Words(``, `\s`, `1sequence`, `2all?`, `2each`, `2map`, `2map-as`, `2map-reduce`, `2reduce`, `2selector`, `2sequence`, `3append`, `3append-as`, `3each`, `3map`, `3map-as`, `3sequence`, `4sequence`, ``, ``, ``, `?first`, `?last`, `?nth`, `?second`, `?set-nth`, `accumulate`, `accumulate!`, `accumulate-as`, `all?`, `any?`, `append`, `append!`, `append-as`, `assert-sequence`, `assert-sequence=`, `assert-sequence?`, `binary-reduce`, `bounds-check`, `bounds-check?`, `bounds-error`, `bounds-error?`, `but-last`, `but-last-slice`, `cartesian-each`, `cartesian-map`, `cartesian-product`, `change-nth`, `check-slice`, `check-slice-error`, `clone-like`, `collapse-slice`, `collector`, `collector-for`, `concat`, `concat-as`, `copy`, `count`, `cut`, `cut-slice`, `cut*`, `delete-all`, `delete-slice`, `drop-prefix`, `each`, `each-from`, `each-index`, `empty?`, `exchange`, `filter`, `filter!`, `filter-as`, `find`, `find-from`, `find-index`, `find-index-from`, `find-last`, `find-last-from`, `first`, `first2`, `first3`, `first4`, `flip`, `follow`, `fourth`, `glue`, `halves`, `harvest`, `head`, `head-slice`, `head-slice*`, `head*`, `head?`, `if-empty`, `immutable`, `immutable-sequence`, `immutable-sequence?`, `immutable?`, `index`, `index-from`, `indices`, `infimum`, `infimum-by`, `insert-nth`, `interleave`, `iota`, `iota-tuple`, `iota-tuple?`, `join`, `join-as`, `last`, `last-index`, `last-index-from`, `length`, `lengthen`, `like`, `longer`, `longer?`, `longest`, `map`, `map!`, `map-as`, `map-find`, `map-find-last`, `map-index`, `map-integers`, `map-reduce`, `map-sum`, `max-length`, `member-eq?`, `member?`, `midpoint@`, `min-length`, `mismatch`, `move`, `new-like`, `new-resizable`, `new-sequence`, `non-negative-integer-expected`, `non-negative-integer-expected?`, `nth`, `nths`, `pad-head`, `pad-tail`, `padding`, `partition`, `pop`, `pop*`, `prefix`, `prepend`, `prepend-as`, `produce`, `produce-as`, `product`, `push`, `push-all`, `push-either`, `push-if`, `reduce`, `reduce-index`, `remove`, `remove!`, `remove-eq`, `remove-eq!`, `remove-nth`, `remove-nth!`, `repetition`, `repetition?`, `replace-slice`, `replicate`, `replicate-as`, `rest`, `rest-slice`, `reverse`, `reverse!`, `reversed`, `reversed?`, `second`, `selector`, `selector-for`, `sequence`, `sequence-hashcode`, `sequence=`, `sequence?`, `set-first`, `set-fourth`, `set-last`, `set-length`, `set-nth`, `set-second`, `set-third`, `short`, `shorten`, `shorter`, `shorter?`, `shortest`, `sift`, `slice`, `slice-error`, `slice-error?`, `slice?`, `snip`, `snip-slice`, `start`, `start*`, `subseq`, `subseq?`, `suffix`, `suffix!`, `sum`, `sum-lengths`, `supremum`, `supremum-by`, `surround`, `tail`, `tail-slice`, `tail-slice*`, `tail*`, `tail?`, `third`, `trim`, `trim-head`, `trim-head-slice`, `trim-slice`, `trim-tail`, `trim-tail-slice`, `unclip`, `unclip-last`, `unclip-last-slice`, `unclip-slice`, `unless-empty`, `virtual-exemplar`, `virtual-sequence`, `virtual-sequence?`, `virtual@`, `when-empty`), NameBuiltin, nil}, - {Words(``, `\s`, `+@`, `change`, `change-global`, `counter`, `dec`, `get`, `get-global`, `global`, `inc`, `init-namespaces`, `initialize`, `is-global`, `make-assoc`, `namespace`, `namestack`, `off`, `on`, `set`, `set-global`, `set-namestack`, `toggle`, `with-global`, `with-scope`, `with-variable`, `with-variables`), NameBuiltin, nil}, - {Words(``, `\s`, `1array`, `2array`, `3array`, `4array`, ``, `>array`, `array`, `array?`, `pair`, `pair?`, `resize-array`), NameBuiltin, nil}, - {Words(``, `\s`, `(each-stream-block-slice)`, `(each-stream-block)`, `(stream-contents-by-block)`, `(stream-contents-by-element)`, `(stream-contents-by-length-or-block)`, `(stream-contents-by-length)`, `+byte+`, `+character+`, `bad-seek-type`, `bad-seek-type?`, `bl`, `contents`, `each-block`, `each-block-size`, `each-block-slice`, `each-line`, `each-morsel`, `each-stream-block`, `each-stream-block-slice`, `each-stream-line`, `error-stream`, `flush`, `input-stream`, `input-stream?`, `invalid-read-buffer`, `invalid-read-buffer?`, `lines`, `nl`, `output-stream`, `output-stream?`, `print`, `read`, `read-into`, `read-partial`, `read-partial-into`, `read-until`, `read1`, `readln`, `seek-absolute`, `seek-absolute?`, `seek-end`, `seek-end?`, `seek-input`, `seek-output`, `seek-relative`, `seek-relative?`, `stream-bl`, `stream-contents`, `stream-contents*`, `stream-copy`, `stream-copy*`, `stream-element-type`, `stream-flush`, `stream-length`, `stream-lines`, `stream-nl`, `stream-print`, `stream-read`, `stream-read-into`, `stream-read-partial`, `stream-read-partial-into`, `stream-read-partial-unsafe`, `stream-read-unsafe`, `stream-read-until`, `stream-read1`, `stream-readln`, `stream-seek`, `stream-seekable?`, `stream-tell`, `stream-write`, `stream-write1`, `tell-input`, `tell-output`, `with-error-stream`, `with-error-stream*`, `with-error>output`, `with-input-output+error-streams`, `with-input-output+error-streams*`, `with-input-stream`, `with-input-stream*`, `with-output-stream`, `with-output-stream*`, `with-output>error`, `with-output+error-stream`, `with-output+error-stream*`, `with-streams`, `with-streams*`, `write`, `write1`), NameBuiltin, nil}, - {Words(``, `\s`, `1string`, ``, `>string`, `resize-string`, `string`, `string?`), NameBuiltin, nil}, - {Words(``, `\s`, `1vector`, ``, `>vector`, `?push`, `vector`, `vector?`), NameBuiltin, nil}, - {Words(``, `\s`, ``, ``, ``, `attempt-all`, `attempt-all-error`, `attempt-all-error?`, `callback-error-hook`, `callcc0`, `callcc1`, `cleanup`, `compute-restarts`, `condition`, `condition?`, `continuation`, `continuation?`, `continue`, `continue-restart`, `continue-with`, `current-continuation`, `error`, `error-continuation`, `error-in-thread`, `error-thread`, `ifcc`, `ignore-errors`, `in-callback?`, `original-error`, `recover`, `restart`, `restart?`, `restarts`, `rethrow`, `rethrow-restarts`, `return`, `return-continuation`, `thread-error-hook`, `throw-continue`, `throw-restarts`, `with-datastack`, `with-return`), NameBuiltin, nil}, - {`\S+`, Text, nil}, - }, - "stackeffect": { - {`\s+`, Text, nil}, - {`\(\s+`, NameFunction, Push("stackeffect")}, - {`\)\s`, NameFunction, Pop(1)}, - {`--\s`, NameFunction, nil}, - {`\S+`, NameVariable, nil}, - }, - "slots": { - {`\s+`, Text, nil}, - {`;\s`, Keyword, Pop(1)}, - {`(\{\s+)(\S+)(\s+[^}]+\s+\}\s)`, ByGroups(Text, NameVariable, Text), nil}, - {`\S+`, NameVariable, nil}, - }, - "vocabs": { - {`\s+`, Text, nil}, - {`;\s`, Keyword, Pop(1)}, - {`\S+`, NameNamespace, nil}, - }, - "classes": { - {`\s+`, Text, nil}, - {`;\s`, Keyword, Pop(1)}, - {`\S+`, NameClass, nil}, - }, - "words": { - {`\s+`, Text, nil}, - {`;\s`, Keyword, Pop(1)}, - {`\S+`, NameFunction, nil}, - }, - }, -)) diff --git a/vendor/github.com/alecthomas/chroma/lexers/f/fish.go b/vendor/github.com/alecthomas/chroma/lexers/f/fish.go deleted file mode 100644 index 185fc92b..00000000 --- a/vendor/github.com/alecthomas/chroma/lexers/f/fish.go +++ /dev/null @@ -1,65 +0,0 @@ -package f - -import ( - . "github.com/alecthomas/chroma" // nolint - "github.com/alecthomas/chroma/lexers/internal" -) - -// Fish lexer. -var Fish = internal.Register(MustNewLexer( - &Config{ - Name: "Fish", - Aliases: []string{"fish", "fishshell"}, - Filenames: []string{"*.fish", "*.load"}, - MimeTypes: []string{"application/x-fish"}, - }, - Rules{ - "root": { - Include("basic"), - Include("data"), - Include("interp"), - }, - "interp": { - {`\$\(\(`, Keyword, Push("math")}, - {`\(`, Keyword, Push("paren")}, - {`\$#?(\w+|.)`, NameVariable, nil}, - }, - "basic": { - {`\b(begin|end|if|else|while|break|for|in|return|function|block|case|continue|switch|not|and|or|set|echo|exit|pwd|true|false|cd|count|test)(\s*)\b`, ByGroups(Keyword, Text), nil}, - {`\b(alias|bg|bind|breakpoint|builtin|command|commandline|complete|contains|dirh|dirs|emit|eval|exec|fg|fish|fish_config|fish_indent|fish_pager|fish_prompt|fish_right_prompt|fish_update_completions|fishd|funced|funcsave|functions|help|history|isatty|jobs|math|mimedb|nextd|open|popd|prevd|psub|pushd|random|read|set_color|source|status|trap|type|ulimit|umask|vared|fc|getopts|hash|kill|printf|time|wait)\s*\b(?!\.)`, NameBuiltin, nil}, - {`#.*\n`, Comment, nil}, - {`\\[\w\W]`, LiteralStringEscape, nil}, - {`(\b\w+)(\s*)(=)`, ByGroups(NameVariable, Text, Operator), nil}, - {`[\[\]()=]`, Operator, nil}, - {`<<-?\s*(\'?)\\?(\w+)[\w\W]+?\2`, LiteralString, nil}, - }, - "data": { - {`(?s)\$?"(\\\\|\\[0-7]+|\\.|[^"\\$])*"`, LiteralStringDouble, nil}, - {`"`, LiteralStringDouble, Push("string")}, - {`(?s)\$'(\\\\|\\[0-7]+|\\.|[^'\\])*'`, LiteralStringSingle, nil}, - {`(?s)'.*?'`, LiteralStringSingle, nil}, - {`;`, Punctuation, nil}, - {`&|\||\^|<|>`, Operator, nil}, - {`\s+`, Text, nil}, - {`\d+(?= |\Z)`, LiteralNumber, nil}, - {"[^=\\s\\[\\]{}()$\"\\'`\\\\<&|;]+", Text, nil}, - }, - "string": { - {`"`, LiteralStringDouble, Pop(1)}, - {`(?s)(\\\\|\\[0-7]+|\\.|[^"\\$])+`, LiteralStringDouble, nil}, - Include("interp"), - }, - "paren": { - {`\)`, Keyword, Pop(1)}, - Include("root"), - }, - "math": { - {`\)\)`, Keyword, Pop(1)}, - {`[-+*/%^|&]|\*\*|\|\|`, Operator, nil}, - {`\d+#\d+`, LiteralNumber, nil}, - {`\d+#(?! )`, LiteralNumber, nil}, - {`\d+`, LiteralNumber, nil}, - Include("root"), - }, - }, -)) diff --git a/vendor/github.com/alecthomas/chroma/lexers/f/forth.go b/vendor/github.com/alecthomas/chroma/lexers/f/forth.go deleted file mode 100644 index 3fb3aa78..00000000 --- a/vendor/github.com/alecthomas/chroma/lexers/f/forth.go +++ /dev/null @@ -1,40 +0,0 @@ -package f - -import ( - . "github.com/alecthomas/chroma" // nolint - "github.com/alecthomas/chroma/lexers/internal" -) - -// Forth lexer. -var Forth = internal.Register(MustNewLexer( - &Config{ - Name: "Forth", - Aliases: []string{"forth"}, - Filenames: []string{"*.frt", "*.fs"}, - MimeTypes: []string{"application/x-forth"}, - CaseInsensitive: true, - }, - Rules{ - "root": { - {`\s+`, Text, nil}, - {`\\.*?\n`, CommentSingle, nil}, - {`\([\s].*?\)`, CommentSingle, nil}, - {`(:|variable|constant|value|buffer:)(\s+)`, ByGroups(KeywordNamespace, Text), Push("worddef")}, - {`([.sc]")(\s+?)`, ByGroups(LiteralString, Text), Push("stringdef")}, - {`(blk|block|buffer|evaluate|flush|load|save-buffers|update|empty-buffers|list|refill|scr|thru|\#s|\*\/mod|\+loop|\/mod|0<|0=|1\+|1-|2!|2\*|2\/|2@|2drop|2dup|2over|2swap|>body|>in|>number|>r|\?dup|abort|abort\"|abs|accept|align|aligned|allot|and|base|begin|bl|c!|c,|c@|cell\+|cells|char|char\+|chars|constant|count|cr|create|decimal|depth|do|does>|drop|dup|else|emit|environment\?|evaluate|execute|exit|fill|find|fm\/mod|here|hold|i|if|immediate|invert|j|key|leave|literal|loop|lshift|m\*|max|min|mod|move|negate|or|over|postpone|quit|r>|r@|recurse|repeat|rot|rshift|s\"|s>d|sign|sm\/rem|source|space|spaces|state|swap|then|type|u\.|u\<|um\*|um\/mod|unloop|until|variable|while|word|xor|\[char\]|\[\'\]|@|!|\#|<\#|\#>|:|;|\+|-|\*|\/|,|<|>|\|1\+|1-|\.|\.r|0<>|0>|2>r|2r>|2r@|:noname|\?do|again|c\"|case|compile,|endcase|endof|erase|false|hex|marker|nip|of|pad|parse|pick|refill|restore-input|roll|save-input|source-id|to|true|tuck|u\.r|u>|unused|value|within|\[compile\]|\#tib|convert|expect|query|span|tib|2constant|2literal|2variable|d\+|d-|d\.|d\.r|d0<|d0=|d2\*|d2\/|d<|d=|d>s|dabs|dmax|dmin|dnegate|m\*\/|m\+|2rot|du<|catch|throw|abort|abort\"|at-xy|key\?|page|ekey|ekey>char|ekey\?|emit\?|ms|time&date|BIN|CLOSE-FILE|CREATE-FILE|DELETE-FILE|FILE-POSITION|FILE-SIZE|INCLUDE-FILE|INCLUDED|OPEN-FILE|R\/O|R\/W|READ-FILE|READ-LINE|REPOSITION-FILE|RESIZE-FILE|S\"|SOURCE-ID|W/O|WRITE-FILE|WRITE-LINE|FILE-STATUS|FLUSH-FILE|REFILL|RENAME-FILE|>float|d>f|f!|f\*|f\+|f-|f\/|f0<|f0=|f<|f>d|f@|falign|faligned|fconstant|fdepth|fdrop|fdup|fliteral|float\+|floats|floor|fmax|fmin|fnegate|fover|frot|fround|fswap|fvariable|represent|df!|df@|dfalign|dfaligned|dfloat\+|dfloats|f\*\*|f\.|fabs|facos|facosh|falog|fasin|fasinh|fatan|fatan2|fatanh|fcos|fcosh|fe\.|fexp|fexpm1|fln|flnp1|flog|fs\.|fsin|fsincos|fsinh|fsqrt|ftan|ftanh|f~|precision|set-precision|sf!|sf@|sfalign|sfaligned|sfloat\+|sfloats|\(local\)|to|locals\||allocate|free|resize|definitions|find|forth-wordlist|get-current|get-order|search-wordlist|set-current|set-order|wordlist|also|forth|only|order|previous|-trailing|\/string|blank|cmove|cmove>|compare|search|sliteral|.s|dump|see|words|;code|ahead|assembler|bye|code|cs-pick|cs-roll|editor|state|\[else\]|\[if\]|\[then\]|forget|defer|defer@|defer!|action-of|begin-structure|field:|buffer:|parse-name|buffer:|traverse-wordlist|n>r|nr>|2value|fvalue|name>interpret|name>compile|name>string|cfield:|end-structure)\s`, Keyword, nil}, - {`(\$[0-9A-F]+)`, LiteralNumberHex, nil}, - {`(\#|%|&|\-|\+)?[0-9]+`, LiteralNumberInteger, nil}, - {`(\#|%|&|\-|\+)?[0-9.]+`, KeywordType, nil}, - {`(@i|!i|@e|!e|pause|noop|turnkey|sleep|itype|icompare|sp@|sp!|rp@|rp!|up@|up!|>a|a>|a@|a!|a@+|a@-|>b|b>|b@|b!|b@+|b@-|find-name|1ms|sp0|rp0|\(evaluate\)|int-trap|int!)\s`, NameConstant, nil}, - {`(do-recognizer|r:fail|recognizer:|get-recognizers|set-recognizers|r:float|r>comp|r>int|r>post|r:name|r:word|r:dnum|r:num|recognizer|forth-recognizer|rec:num|rec:float|rec:word)\s`, NameDecorator, nil}, - {`(Evalue|Rvalue|Uvalue|Edefer|Rdefer|Udefer)(\s+)`, ByGroups(KeywordNamespace, Text), Push("worddef")}, - {`[^\s]+(?=[\s])`, NameFunction, nil}, - }, - "worddef": { - {`\S+`, NameClass, Pop(1)}, - }, - "stringdef": { - {`[^"]+`, LiteralString, Pop(1)}, - }, - }, -)) diff --git a/vendor/github.com/alecthomas/chroma/lexers/f/fortran.go b/vendor/github.com/alecthomas/chroma/lexers/f/fortran.go deleted file mode 100644 index 6c57afa6..00000000 --- a/vendor/github.com/alecthomas/chroma/lexers/f/fortran.go +++ /dev/null @@ -1,47 +0,0 @@ -package f - -import ( - . "github.com/alecthomas/chroma" // nolint - "github.com/alecthomas/chroma/lexers/internal" -) - -// Fortran lexer. -var Fortran = internal.Register(MustNewLexer( - &Config{ - Name: "Fortran", - Aliases: []string{"fortran"}, - Filenames: []string{"*.f03", "*.f90", "*.F03", "*.F90"}, - MimeTypes: []string{"text/x-fortran"}, - CaseInsensitive: true, - }, - Rules{ - "root": { - {`^#.*\n`, CommentPreproc, nil}, - {`!.*\n`, Comment, nil}, - Include("strings"), - Include("core"), - {`[a-z][\w$]*`, Name, nil}, - Include("nums"), - {`[\s]+`, Text, nil}, - }, - "core": { - {Words(`\b`, `\s*\b`, `ABSTRACT`, `ACCEPT`, `ALL`, `ALLSTOP`, `ALLOCATABLE`, `ALLOCATE`, `ARRAY`, `ASSIGN`, `ASSOCIATE`, `ASYNCHRONOUS`, `BACKSPACE`, `BIND`, `BLOCK`, `BLOCKDATA`, `BYTE`, `CALL`, `CASE`, `CLASS`, `CLOSE`, `CODIMENSION`, `COMMON`, `CONCURRRENT`, `CONTIGUOUS`, `CONTAINS`, `CONTINUE`, `CRITICAL`, `CYCLE`, `DATA`, `DEALLOCATE`, `DECODE`, `DEFERRED`, `DIMENSION`, `DO`, `ELEMENTAL`, `ELSE`, `ENCODE`, `END`, `ENTRY`, `ENUM`, `ENUMERATOR`, `EQUIVALENCE`, `EXIT`, `EXTENDS`, `EXTERNAL`, `EXTRINSIC`, `FILE`, `FINAL`, `FORALL`, `FORMAT`, `FUNCTION`, `GENERIC`, `GOTO`, `IF`, `IMAGES`, `IMPLICIT`, `IMPORT`, `IMPURE`, `INCLUDE`, `INQUIRE`, `INTENT`, `INTERFACE`, `INTRINSIC`, `IS`, `LOCK`, `MEMORY`, `MODULE`, `NAMELIST`, `NULLIFY`, `NONE`, `NON_INTRINSIC`, `NON_OVERRIDABLE`, `NOPASS`, `OPEN`, `OPTIONAL`, `OPTIONS`, `PARAMETER`, `PASS`, `PAUSE`, `POINTER`, `PRINT`, `PRIVATE`, `PROGRAM`, `PROCEDURE`, `PROTECTED`, `PUBLIC`, `PURE`, `READ`, `RECURSIVE`, `RESULT`, `RETURN`, `REWIND`, `SAVE`, `SELECT`, `SEQUENCE`, `STOP`, `SUBMODULE`, `SUBROUTINE`, `SYNC`, `SYNCALL`, `SYNCIMAGES`, `SYNCMEMORY`, `TARGET`, `THEN`, `TYPE`, `UNLOCK`, `USE`, `VALUE`, `VOLATILE`, `WHERE`, `WRITE`, `WHILE`), Keyword, nil}, - {Words(`\b`, `\s*\b`, `CHARACTER`, `COMPLEX`, `DOUBLE PRECISION`, `DOUBLE COMPLEX`, `INTEGER`, `LOGICAL`, `REAL`, `C_INT`, `C_SHORT`, `C_LONG`, `C_LONG_LONG`, `C_SIGNED_CHAR`, `C_SIZE_T`, `C_INT8_T`, `C_INT16_T`, `C_INT32_T`, `C_INT64_T`, `C_INT_LEAST8_T`, `C_INT_LEAST16_T`, `C_INT_LEAST32_T`, `C_INT_LEAST64_T`, `C_INT_FAST8_T`, `C_INT_FAST16_T`, `C_INT_FAST32_T`, `C_INT_FAST64_T`, `C_INTMAX_T`, `C_INTPTR_T`, `C_FLOAT`, `C_DOUBLE`, `C_LONG_DOUBLE`, `C_FLOAT_COMPLEX`, `C_DOUBLE_COMPLEX`, `C_LONG_DOUBLE_COMPLEX`, `C_BOOL`, `C_CHAR`, `C_PTR`, `C_FUNPTR`), KeywordType, nil}, - {`(\*\*|\*|\+|-|\/|<|>|<=|>=|==|\/=|=)`, Operator, nil}, - {`(::)`, KeywordDeclaration, nil}, - {`[()\[\],:&%;.]`, Punctuation, nil}, - {Words(`\b`, `\s*\b`, `Abort`, `Abs`, `Access`, `AChar`, `ACos`, `ACosH`, `AdjustL`, `AdjustR`, `AImag`, `AInt`, `Alarm`, `All`, `Allocated`, `ALog`, `AMax`, `AMin`, `AMod`, `And`, `ANInt`, `Any`, `ASin`, `ASinH`, `Associated`, `ATan`, `ATanH`, `Atomic_Define`, `Atomic_Ref`, `BesJ`, `BesJN`, `Bessel_J0`, `Bessel_J1`, `Bessel_JN`, `Bessel_Y0`, `Bessel_Y1`, `Bessel_YN`, `BesY`, `BesYN`, `BGE`, `BGT`, `BLE`, `BLT`, `Bit_Size`, `BTest`, `CAbs`, `CCos`, `Ceiling`, `CExp`, `Char`, `ChDir`, `ChMod`, `CLog`, `Cmplx`, `Command_Argument_Count`, `Complex`, `Conjg`, `Cos`, `CosH`, `Count`, `CPU_Time`, `CShift`, `CSin`, `CSqRt`, `CTime`, `C_Loc`, `C_Associated`, `C_Null_Ptr`, `C_Null_Funptr`, `C_F_Pointer`, `C_F_ProcPointer`, `C_Null_Char`, `C_Alert`, `C_Backspace`, `C_Form_Feed`, `C_FunLoc`, `C_Sizeof`, `C_New_Line`, `C_Carriage_Return`, `C_Horizontal_Tab`, `C_Vertical_Tab`, `DAbs`, `DACos`, `DASin`, `DATan`, `Date_and_Time`, `DbesJ`, `DbesJN`, `DbesY`, `DbesYN`, `Dble`, `DCos`, `DCosH`, `DDiM`, `DErF`, `DErFC`, `DExp`, `Digits`, `DiM`, `DInt`, `DLog`, `DMax`, `DMin`, `DMod`, `DNInt`, `Dot_Product`, `DProd`, `DSign`, `DSinH`, `DShiftL`, `DShiftR`, `DSin`, `DSqRt`, `DTanH`, `DTan`, `DTime`, `EOShift`, `Epsilon`, `ErF`, `ErFC`, `ErFC_Scaled`, `ETime`, `Execute_Command_Line`, `Exit`, `Exp`, `Exponent`, `Extends_Type_Of`, `FDate`, `FGet`, `FGetC`, `FindLoc`, `Float`, `Floor`, `Flush`, `FNum`, `FPutC`, `FPut`, `Fraction`, `FSeek`, `FStat`, `FTell`, `Gamma`, `GError`, `GetArg`, `Get_Command`, `Get_Command_Argument`, `Get_Environment_Variable`, `GetCWD`, `GetEnv`, `GetGId`, `GetLog`, `GetPId`, `GetUId`, `GMTime`, `HostNm`, `Huge`, `Hypot`, `IAbs`, `IAChar`, `IAll`, `IAnd`, `IAny`, `IArgC`, `IBClr`, `IBits`, `IBSet`, `IChar`, `IDate`, `IDiM`, `IDInt`, `IDNInt`, `IEOr`, `IErrNo`, `IFix`, `Imag`, `ImagPart`, `Image_Index`, `Index`, `Int`, `IOr`, `IParity`, `IRand`, `IsaTty`, `IShft`, `IShftC`, `ISign`, `Iso_C_Binding`, `Is_Contiguous`, `Is_Iostat_End`, `Is_Iostat_Eor`, `ITime`, `Kill`, `Kind`, `LBound`, `LCoBound`, `Len`, `Len_Trim`, `LGe`, `LGt`, `Link`, `LLe`, `LLt`, `LnBlnk`, `Loc`, `Log`, `Log_Gamma`, `Logical`, `Long`, `LShift`, `LStat`, `LTime`, `MaskL`, `MaskR`, `MatMul`, `Max`, `MaxExponent`, `MaxLoc`, `MaxVal`, `MClock`, `Merge`, `Merge_Bits`, `Move_Alloc`, `Min`, `MinExponent`, `MinLoc`, `MinVal`, `Mod`, `Modulo`, `MvBits`, `Nearest`, `New_Line`, `NInt`, `Norm2`, `Not`, `Null`, `Num_Images`, `Or`, `Pack`, `Parity`, `PError`, `Precision`, `Present`, `Product`, `Radix`, `Rand`, `Random_Number`, `Random_Seed`, `Range`, `Real`, `RealPart`, `Rename`, `Repeat`, `Reshape`, `RRSpacing`, `RShift`, `Same_Type_As`, `Scale`, `Scan`, `Second`, `Selected_Char_Kind`, `Selected_Int_Kind`, `Selected_Real_Kind`, `Set_Exponent`, `Shape`, `ShiftA`, `ShiftL`, `ShiftR`, `Short`, `Sign`, `Signal`, `SinH`, `Sin`, `Sleep`, `Sngl`, `Spacing`, `Spread`, `SqRt`, `SRand`, `Stat`, `Storage_Size`, `Sum`, `SymLnk`, `System`, `System_Clock`, `Tan`, `TanH`, `Time`, `This_Image`, `Tiny`, `TrailZ`, `Transfer`, `Transpose`, `Trim`, `TtyNam`, `UBound`, `UCoBound`, `UMask`, `Unlink`, `Unpack`, `Verify`, `XOr`, `ZAbs`, `ZCos`, `ZExp`, `ZLog`, `ZSin`, `ZSqRt`), NameBuiltin, nil}, - {`\.(true|false)\.`, NameBuiltin, nil}, - {`\.(eq|ne|lt|le|gt|ge|not|and|or|eqv|neqv)\.`, OperatorWord, nil}, - }, - "strings": { - {`(?s)"(\\\\|\\[0-7]+|\\.|[^"\\])*"`, LiteralStringDouble, nil}, - {`(?s)'(\\\\|\\[0-7]+|\\.|[^'\\])*'`, LiteralStringSingle, nil}, - }, - "nums": { - {`\d+(?![.e])(_[a-z]\w+)?`, LiteralNumberInteger, nil}, - {`[+-]?\d*\.\d+([ed][-+]?\d+)?(_[a-z]\w+)?`, LiteralNumberFloat, nil}, - {`[+-]?\d+\.\d*([ed][-+]?\d+)?(_[a-z]\w+)?`, LiteralNumberFloat, nil}, - }, - }, -)) diff --git a/vendor/github.com/alecthomas/chroma/lexers/f/fsharp.go b/vendor/github.com/alecthomas/chroma/lexers/f/fsharp.go deleted file mode 100644 index d00f63dd..00000000 --- a/vendor/github.com/alecthomas/chroma/lexers/f/fsharp.go +++ /dev/null @@ -1,94 +0,0 @@ -package f - -import ( - . "github.com/alecthomas/chroma" // nolint - "github.com/alecthomas/chroma/lexers/internal" -) - -// Fsharp lexer. -var Fsharp = internal.Register(MustNewLexer( - &Config{ - Name: "FSharp", - Aliases: []string{"fsharp"}, - Filenames: []string{"*.fs", "*.fsi"}, - MimeTypes: []string{"text/x-fsharp"}, - }, - Rules{ - "escape-sequence": { - {`\\[\\"\'ntbrafv]`, LiteralStringEscape, nil}, - {`\\[0-9]{3}`, LiteralStringEscape, nil}, - {`\\u[0-9a-fA-F]{4}`, LiteralStringEscape, nil}, - {`\\U[0-9a-fA-F]{8}`, LiteralStringEscape, nil}, - }, - "root": { - {`\s+`, Text, nil}, - {`\(\)|\[\]`, NameBuiltinPseudo, nil}, - {`\b(?|-|\\.\\.|\\.|::|:=|:>|:|;;|;|<-|<\\]|<|>\\]|>|\\?\\?|\\?|\\[<|\\[\\||\\[|\\]|_|`|\\{|\\|\\]|\\||\\}|~|<@@|<@|=|@>|@@>)", Operator, nil}, - {`([=<>@^|&+\*/$%-]|[!?~])?[!$%&*+\./:<=>?@^|~-]`, Operator, nil}, - {`\b(and|or|not)\b`, OperatorWord, nil}, - {`\b(sbyte|byte|char|nativeint|unativeint|float32|single|float|double|int8|uint8|int16|uint16|int32|uint32|int64|uint64|decimal|unit|bool|string|list|exn|obj|enum)\b`, KeywordType, nil}, - {`#[ \t]*(if|endif|else|line|nowarn|light|\d+)\b.*?\n`, CommentPreproc, nil}, - {`[^\W\d][\w']*`, Name, nil}, - {`\d[\d_]*[uU]?[yslLnQRZINGmM]?`, LiteralNumberInteger, nil}, - {`0[xX][\da-fA-F][\da-fA-F_]*[uU]?[yslLn]?[fF]?`, LiteralNumberHex, nil}, - {`0[oO][0-7][0-7_]*[uU]?[yslLn]?`, LiteralNumberOct, nil}, - {`0[bB][01][01_]*[uU]?[yslLn]?`, LiteralNumberBin, nil}, - {`-?\d[\d_]*(.[\d_]*)?([eE][+\-]?\d[\d_]*)[fFmM]?`, LiteralNumberFloat, nil}, - {`'(?:(\\[\\\"'ntbr ])|(\\[0-9]{3})|(\\x[0-9a-fA-F]{2}))'B?`, LiteralStringChar, nil}, - {`'.'`, LiteralStringChar, nil}, - {`'`, Keyword, nil}, - {`@?"`, LiteralStringDouble, Push("string")}, - {`[~?][a-z][\w\']*:`, NameVariable, nil}, - }, - "dotted": { - {`\s+`, Text, nil}, - {`\.`, Punctuation, nil}, - {`[A-Z][\w\']*(?=\s*\.)`, NameNamespace, nil}, - {`[A-Z][\w\']*`, Name, Pop(1)}, - {`[a-z_][\w\']*`, Name, Pop(1)}, - Default(Pop(1)), - }, - "comment": { - {`[^(*)@"]+`, Comment, nil}, - {`\(\*`, Comment, Push()}, - {`\*\)`, Comment, Pop(1)}, - {`@"`, LiteralString, Push("lstring")}, - {`"""`, LiteralString, Push("tqs")}, - {`"`, LiteralString, Push("string")}, - {`[(*)@]`, Comment, nil}, - }, - "string": { - {`[^\\"]+`, LiteralString, nil}, - Include("escape-sequence"), - {`\\\n`, LiteralString, nil}, - {`\n`, LiteralString, nil}, - {`"B?`, LiteralString, Pop(1)}, - }, - "lstring": { - {`[^"]+`, LiteralString, nil}, - {`\n`, LiteralString, nil}, - {`""`, LiteralString, nil}, - {`"B?`, LiteralString, Pop(1)}, - }, - "tqs": { - {`[^"]+`, LiteralString, nil}, - {`\n`, LiteralString, nil}, - {`"""B?`, LiteralString, Pop(1)}, - {`"`, LiteralString, nil}, - }, - }, -)) diff --git a/vendor/github.com/alecthomas/chroma/lexers/g/gas.go b/vendor/github.com/alecthomas/chroma/lexers/g/gas.go deleted file mode 100644 index a9228068..00000000 --- a/vendor/github.com/alecthomas/chroma/lexers/g/gas.go +++ /dev/null @@ -1,55 +0,0 @@ -package g - -import ( - . "github.com/alecthomas/chroma" // nolint - "github.com/alecthomas/chroma/lexers/internal" -) - -// Gas lexer. -var Gas = internal.Register(MustNewLexer( - &Config{ - Name: "GAS", - Aliases: []string{"gas", "asm"}, - Filenames: []string{"*.s", "*.S"}, - MimeTypes: []string{"text/x-gas"}, - }, - Rules{ - "root": { - Include("whitespace"), - {`(?:[a-zA-Z$_][\w$.@-]*|\.[\w$.@-]+):`, NameLabel, nil}, - {`\.(?:[a-zA-Z$_][\w$.@-]*|\.[\w$.@-]+)`, NameAttribute, Push("directive-args")}, - {`lock|rep(n?z)?|data\d+`, NameAttribute, nil}, - {`(?:[a-zA-Z$_][\w$.@-]*|\.[\w$.@-]+)`, NameFunction, Push("instruction-args")}, - {`[\r\n]+`, Text, nil}, - }, - "directive-args": { - {`(?:[a-zA-Z$_][\w$.@-]*|\.[\w$.@-]+)`, NameConstant, nil}, - {`"(\\"|[^"])*"`, LiteralString, nil}, - {`@(?:[a-zA-Z$_][\w$.@-]*|\.[\w$.@-]+)`, NameAttribute, nil}, - {`(?:0[xX][a-zA-Z0-9]+|\d+)`, LiteralNumberInteger, nil}, - {`[\r\n]+`, Text, Pop(1)}, - Include("punctuation"), - Include("whitespace"), - }, - "instruction-args": { - {`([a-z0-9]+)( )(<)((?:[a-zA-Z$_][\w$.@-]*|\.[\w$.@-]+))(>)`, ByGroups(LiteralNumberHex, Text, Punctuation, NameConstant, Punctuation), nil}, - {`([a-z0-9]+)( )(<)((?:[a-zA-Z$_][\w$.@-]*|\.[\w$.@-]+))([-+])((?:0[xX][a-zA-Z0-9]+|\d+))(>)`, ByGroups(LiteralNumberHex, Text, Punctuation, NameConstant, Punctuation, LiteralNumberInteger, Punctuation), nil}, - {`(?:[a-zA-Z$_][\w$.@-]*|\.[\w$.@-]+)`, NameConstant, nil}, - {`(?:0[xX][a-zA-Z0-9]+|\d+)`, LiteralNumberInteger, nil}, - {`%(?:[a-zA-Z$_][\w$.@-]*|\.[\w$.@-]+)`, NameVariable, nil}, - {`$(?:0[xX][a-zA-Z0-9]+|\d+)`, LiteralNumberInteger, nil}, - {`$'(.|\\')'`, LiteralStringChar, nil}, - {`[\r\n]+`, Text, Pop(1)}, - Include("punctuation"), - Include("whitespace"), - }, - "whitespace": { - {`\n`, Text, nil}, - {`\s+`, Text, nil}, - {`[;#].*?\n`, Comment, nil}, - }, - "punctuation": { - {`[-*,.()\[\]!:]+`, Punctuation, nil}, - }, - }, -)) diff --git a/vendor/github.com/alecthomas/chroma/lexers/g/gdscript.go b/vendor/github.com/alecthomas/chroma/lexers/g/gdscript.go deleted file mode 100644 index bfe30637..00000000 --- a/vendor/github.com/alecthomas/chroma/lexers/g/gdscript.go +++ /dev/null @@ -1,124 +0,0 @@ -package g - -import ( - . "github.com/alecthomas/chroma" // nolint - "github.com/alecthomas/chroma/lexers/internal" -) - -// GDScript lexer. -var GDScript = internal.Register(MustNewLexer( - &Config{ - Name: "GDScript", - Aliases: []string{"gdscript", "gd"}, - Filenames: []string{"*.gd"}, - MimeTypes: []string{"text/x-gdscript", "application/x-gdscript"}, - }, - Rules{ - "root": { - {`\n`, Text, nil}, - {`^(\s*)([rRuUbB]{,2})("""(?:.|\n)*?""")`, ByGroups(Text, LiteralStringAffix, LiteralStringDoc), nil}, - {`^(\s*)([rRuUbB]{,2})('''(?:.|\n)*?''')`, ByGroups(Text, LiteralStringAffix, LiteralStringDoc), nil}, - {`[^\S\n]+`, Text, nil}, - {`#.*$`, CommentSingle, nil}, - {`[]{}:(),;[]`, Punctuation, nil}, - {`\\\n`, Text, nil}, - {`\\`, Text, nil}, - {`(in|and|or|not)\b`, OperatorWord, nil}, - {`!=|==|<<|>>|&&|\+=|-=|\*=|/=|%=|&=|\|=|\|\||[-~+/*%=<>&^.!|$]`, Operator, nil}, - Include("keywords"), - {`(def)((?:\s|\\\s)+)`, ByGroups(Keyword, Text), Push("funcname")}, - {`(class)((?:\s|\\\s)+)`, ByGroups(Keyword, Text), Push("classname")}, - Include("builtins"), - {`([rR]|[uUbB][rR]|[rR][uUbB])(""")`, ByGroups(LiteralStringAffix, LiteralStringDouble), Push("tdqs")}, - {`([rR]|[uUbB][rR]|[rR][uUbB])(''')`, ByGroups(LiteralStringAffix, LiteralStringSingle), Push("tsqs")}, - {`([rR]|[uUbB][rR]|[rR][uUbB])(")`, ByGroups(LiteralStringAffix, LiteralStringDouble), Push("dqs")}, - {`([rR]|[uUbB][rR]|[rR][uUbB])(')`, ByGroups(LiteralStringAffix, LiteralStringSingle), Push("sqs")}, - {`([uUbB]?)(""")`, ByGroups(LiteralStringAffix, LiteralStringDouble), Combined("stringescape", "tdqs")}, - {`([uUbB]?)(''')`, ByGroups(LiteralStringAffix, LiteralStringSingle), Combined("stringescape", "tsqs")}, - {`([uUbB]?)(")`, ByGroups(LiteralStringAffix, LiteralStringDouble), Combined("stringescape", "dqs")}, - {`([uUbB]?)(')`, ByGroups(LiteralStringAffix, LiteralStringSingle), Combined("stringescape", "sqs")}, - Include("name"), - Include("numbers"), - }, - "keywords": { - {Words(``, `\b`, - `if`, `elif`, `else`, `for`, `do`, - `while`, `switch`, `case`, `break`, `continue`, - `pass`, `return`, `class`, `extends`, `tool`, - `signal`, `func`, `static`, `const`, `enum`, - `var`, `onready`, `export`, `setget`, `breakpoint`), Keyword, nil}, - }, - "builtins": { - {Words(`(?)`, ByGroups(CommentPreproc, Using(Python), CommentPreproc), nil}, - {`<\s*(script|style)\s*.*?>.*?<\s*/\1\s*>`, Other, nil}, - {`<\s*py:[a-zA-Z0-9]+`, NameTag, Push("pytag")}, - {`<\s*[a-zA-Z0-9:.]+`, NameTag, Push("tag")}, - Include("variable"), - {`[<$]`, Other, nil}, - }, - "pytag": { - {`\s+`, Text, nil}, - {`[\w:-]+\s*=`, NameAttribute, Push("pyattr")}, - {`/?\s*>`, NameTag, Pop(1)}, - }, - "pyattr": { - {`(")(.*?)(")`, ByGroups(LiteralString, Using(Python), LiteralString), Pop(1)}, - {`(')(.*?)(')`, ByGroups(LiteralString, Using(Python), LiteralString), Pop(1)}, - {`[^\s>]+`, LiteralString, Pop(1)}, - }, - "tag": { - {`\s+`, Text, nil}, - {`py:[\w-]+\s*=`, NameAttribute, Push("pyattr")}, - {`[\w:-]+\s*=`, NameAttribute, Push("attr")}, - {`/?\s*>`, NameTag, Pop(1)}, - }, - "attr": { - {`"`, LiteralString, Push("attr-dstring")}, - {`'`, LiteralString, Push("attr-sstring")}, - {`[^\s>]*`, LiteralString, Pop(1)}, - }, - "attr-dstring": { - {`"`, LiteralString, Pop(1)}, - Include("strings"), - {`'`, LiteralString, nil}, - }, - "attr-sstring": { - {`'`, LiteralString, Pop(1)}, - Include("strings"), - {`'`, LiteralString, nil}, - }, - "strings": { - {`[^"'$]+`, LiteralString, nil}, - Include("variable"), - }, - "variable": { - {`(?>|<=?|>=?|==?|&&?|\^|\|\|?`, Operator, nil}, - {`[?:]`, Operator, nil}, - {`\bdefined\b`, Operator, nil}, - {`[;{}(),\[\]]`, Punctuation, nil}, - {`[+-]?\d*\.\d+([eE][-+]?\d+)?`, LiteralNumberFloat, nil}, - {`[+-]?\d+\.\d*([eE][-+]?\d+)?`, LiteralNumberFloat, nil}, - {`0[xX][0-9a-fA-F]*`, LiteralNumberHex, nil}, - {`0[0-7]*`, LiteralNumberOct, nil}, - {`[1-9][0-9]*`, LiteralNumberInteger, nil}, - {Words(`\b`, `\b`, `attribute`, `const`, `uniform`, `varying`, `centroid`, `break`, `continue`, `do`, `for`, `while`, `if`, `else`, `in`, `out`, `inout`, `float`, `int`, `void`, `bool`, `true`, `false`, `invariant`, `discard`, `return`, `mat2`, `mat3mat4`, `mat2x2`, `mat3x2`, `mat4x2`, `mat2x3`, `mat3x3`, `mat4x3`, `mat2x4`, `mat3x4`, `mat4x4`, `vec2`, `vec3`, `vec4`, `ivec2`, `ivec3`, `ivec4`, `bvec2`, `bvec3`, `bvec4`, `sampler1D`, `sampler2D`, `sampler3DsamplerCube`, `sampler1DShadow`, `sampler2DShadow`, `struct`), Keyword, nil}, - {Words(`\b`, `\b`, `asm`, `class`, `union`, `enum`, `typedef`, `template`, `this`, `packed`, `goto`, `switch`, `default`, `inline`, `noinline`, `volatile`, `public`, `static`, `extern`, `external`, `interface`, `long`, `short`, `double`, `half`, `fixed`, `unsigned`, `lowp`, `mediump`, `highp`, `precision`, `input`, `output`, `hvec2`, `hvec3`, `hvec4`, `dvec2`, `dvec3`, `dvec4`, `fvec2`, `fvec3`, `fvec4`, `sampler2DRect`, `sampler3DRect`, `sampler2DRectShadow`, `sizeof`, `cast`, `namespace`, `using`), Keyword, nil}, - {`[a-zA-Z_]\w*`, Name, nil}, - {`\.`, Punctuation, nil}, - {`\s+`, Text, nil}, - }, - }, -)) diff --git a/vendor/github.com/alecthomas/chroma/lexers/g/gnuplot.go b/vendor/github.com/alecthomas/chroma/lexers/g/gnuplot.go deleted file mode 100644 index 77c6363c..00000000 --- a/vendor/github.com/alecthomas/chroma/lexers/g/gnuplot.go +++ /dev/null @@ -1,117 +0,0 @@ -package g - -import ( - . "github.com/alecthomas/chroma" // nolint - "github.com/alecthomas/chroma/lexers/internal" -) - -// Gnuplot lexer. -var Gnuplot = internal.Register(MustNewLexer( - &Config{ - Name: "Gnuplot", - Aliases: []string{"gnuplot"}, - Filenames: []string{"*.plot", "*.plt"}, - MimeTypes: []string{"text/x-gnuplot"}, - }, - Rules{ - "root": { - Include("whitespace"), - {`bind\b|bin\b|bi\b`, Keyword, Push("bind")}, - {`exit\b|exi\b|ex\b|quit\b|qui\b|qu\b|q\b`, Keyword, Push("quit")}, - {`fit\b|fi\b|f\b`, Keyword, Push("fit")}, - {`(if)(\s*)(\()`, ByGroups(Keyword, Text, Punctuation), Push("if")}, - {`else\b`, Keyword, nil}, - {`pause\b|paus\b|pau\b|pa\b`, Keyword, Push("pause")}, - {`plot\b|plo\b|pl\b|p\b|replot\b|replo\b|repl\b|rep\b|splot\b|splo\b|spl\b|sp\b`, Keyword, Push("plot")}, - {`save\b|sav\b|sa\b`, Keyword, Push("save")}, - {`set\b|se\b`, Keyword, Push("genericargs", "optionarg")}, - {`show\b|sho\b|sh\b|unset\b|unse\b|uns\b`, Keyword, Push("noargs", "optionarg")}, - {`lower\b|lowe\b|low\b|raise\b|rais\b|rai\b|ra\b|call\b|cal\b|ca\b|cd\b|clear\b|clea\b|cle\b|cl\b|help\b|hel\b|he\b|h\b|\?\b|history\b|histor\b|histo\b|hist\b|his\b|hi\b|load\b|loa\b|lo\b|l\b|print\b|prin\b|pri\b|pr\b|pwd\b|reread\b|rerea\b|rere\b|rer\b|re\b|reset\b|rese\b|res\b|screendump\b|screendum\b|screendu\b|screend\b|screen\b|scree\b|scre\b|scr\b|shell\b|shel\b|she\b|system\b|syste\b|syst\b|sys\b|sy\b|update\b|updat\b|upda\b|upd\b|up\b`, Keyword, Push("genericargs")}, - {`pwd\b|reread\b|rerea\b|rere\b|rer\b|re\b|reset\b|rese\b|res\b|screendump\b|screendum\b|screendu\b|screend\b|screen\b|scree\b|scre\b|scr\b|shell\b|shel\b|she\b|test\b`, Keyword, Push("noargs")}, - {`([a-zA-Z_]\w*)(\s*)(=)`, ByGroups(NameVariable, Text, Operator), Push("genericargs")}, - {`([a-zA-Z_]\w*)(\s*\(.*?\)\s*)(=)`, ByGroups(NameFunction, Text, Operator), Push("genericargs")}, - {`@[a-zA-Z_]\w*`, NameConstant, nil}, - {`;`, Keyword, nil}, - }, - "comment": { - {`[^\\\n]`, Comment, nil}, - {`\\\n`, Comment, nil}, - {`\\`, Comment, nil}, - Default(Pop(1)), - }, - "whitespace": { - {`#`, Comment, Push("comment")}, - {`[ \t\v\f]+`, Text, nil}, - }, - "noargs": { - Include("whitespace"), - {`;`, Punctuation, Pop(1)}, - {`\n`, Text, Pop(1)}, - }, - "dqstring": { - {`"`, LiteralString, Pop(1)}, - {`\\([\\abfnrtv"\']|x[a-fA-F0-9]{2,4}|[0-7]{1,3})`, LiteralStringEscape, nil}, - {`[^\\"\n]+`, LiteralString, nil}, - {`\\\n`, LiteralString, nil}, - {`\\`, LiteralString, nil}, - {`\n`, LiteralString, Pop(1)}, - }, - "sqstring": { - {`''`, LiteralString, nil}, - {`'`, LiteralString, Pop(1)}, - {`[^\\'\n]+`, LiteralString, nil}, - {`\\\n`, LiteralString, nil}, - {`\\`, LiteralString, nil}, - {`\n`, LiteralString, Pop(1)}, - }, - "genericargs": { - Include("noargs"), - {`"`, LiteralString, Push("dqstring")}, - {`'`, LiteralString, Push("sqstring")}, - {`(\d+\.\d*|\.\d+|\d+)[eE][+-]?\d+`, LiteralNumberFloat, nil}, - {`(\d+\.\d*|\.\d+)`, LiteralNumberFloat, nil}, - {`-?\d+`, LiteralNumberInteger, nil}, - {`[,.~!%^&*+=|?:<>/-]`, Operator, nil}, - {`[{}()\[\]]`, Punctuation, nil}, - {`(eq|ne)\b`, OperatorWord, nil}, - {`([a-zA-Z_]\w*)(\s*)(\()`, ByGroups(NameFunction, Text, Punctuation), nil}, - {`[a-zA-Z_]\w*`, Name, nil}, - {`@[a-zA-Z_]\w*`, NameConstant, nil}, - {`\\\n`, Text, nil}, - }, - "optionarg": { - Include("whitespace"), - {`all\b|al\b|a\b|angles\b|angle\b|angl\b|ang\b|an\b|arrow\b|arro\b|arr\b|ar\b|autoscale\b|autoscal\b|autosca\b|autosc\b|autos\b|auto\b|aut\b|au\b|bars\b|bar\b|ba\b|b\b|border\b|borde\b|bord\b|bor\b|boxwidth\b|boxwidt\b|boxwid\b|boxwi\b|boxw\b|box\b|clabel\b|clabe\b|clab\b|cla\b|cl\b|clip\b|cli\b|cl\b|c\b|cntrparam\b|cntrpara\b|cntrpar\b|cntrpa\b|cntrp\b|cntr\b|cnt\b|cn\b|contour\b|contou\b|conto\b|cont\b|con\b|co\b|data\b|dat\b|da\b|datafile\b|datafil\b|datafi\b|dataf\b|data\b|dgrid3d\b|dgrid3\b|dgrid\b|dgri\b|dgr\b|dg\b|dummy\b|dumm\b|dum\b|du\b|encoding\b|encodin\b|encodi\b|encod\b|enco\b|enc\b|decimalsign\b|decimalsig\b|decimalsi\b|decimals\b|decimal\b|decima\b|decim\b|deci\b|dec\b|fit\b|fontpath\b|fontpat\b|fontpa\b|fontp\b|font\b|format\b|forma\b|form\b|for\b|fo\b|function\b|functio\b|functi\b|funct\b|func\b|fun\b|fu\b|functions\b|function\b|functio\b|functi\b|funct\b|func\b|fun\b|fu\b|grid\b|gri\b|gr\b|g\b|hidden3d\b|hidden3\b|hidden\b|hidde\b|hidd\b|hid\b|historysize\b|historysiz\b|historysi\b|historys\b|history\b|histor\b|histo\b|hist\b|his\b|isosamples\b|isosample\b|isosampl\b|isosamp\b|isosam\b|isosa\b|isos\b|iso\b|is\b|key\b|ke\b|k\b|keytitle\b|keytitl\b|keytit\b|keyti\b|keyt\b|label\b|labe\b|lab\b|la\b|linestyle\b|linestyl\b|linesty\b|linest\b|lines\b|line\b|lin\b|li\b|ls\b|loadpath\b|loadpat\b|loadpa\b|loadp\b|load\b|loa\b|locale\b|local\b|loca\b|loc\b|logscale\b|logscal\b|logsca\b|logsc\b|logs\b|log\b|macros\b|macro\b|macr\b|mac\b|mapping\b|mappin\b|mappi\b|mapp\b|map\b|mapping3d\b|mapping3\b|mapping\b|mappin\b|mappi\b|mapp\b|map\b|margin\b|margi\b|marg\b|mar\b|lmargin\b|lmargi\b|lmarg\b|lmar\b|rmargin\b|rmargi\b|rmarg\b|rmar\b|tmargin\b|tmargi\b|tmarg\b|tmar\b|bmargin\b|bmargi\b|bmarg\b|bmar\b|mouse\b|mous\b|mou\b|mo\b|multiplot\b|multiplo\b|multipl\b|multip\b|multi\b|mxtics\b|mxtic\b|mxti\b|mxt\b|nomxtics\b|nomxtic\b|nomxti\b|nomxt\b|mx2tics\b|mx2tic\b|mx2ti\b|mx2t\b|nomx2tics\b|nomx2tic\b|nomx2ti\b|nomx2t\b|mytics\b|mytic\b|myti\b|myt\b|nomytics\b|nomytic\b|nomyti\b|nomyt\b|my2tics\b|my2tic\b|my2ti\b|my2t\b|nomy2tics\b|nomy2tic\b|nomy2ti\b|nomy2t\b|mztics\b|mztic\b|mzti\b|mzt\b|nomztics\b|nomztic\b|nomzti\b|nomzt\b|mcbtics\b|mcbtic\b|mcbti\b|mcbt\b|nomcbtics\b|nomcbtic\b|nomcbti\b|nomcbt\b|offsets\b|offset\b|offse\b|offs\b|off\b|of\b|origin\b|origi\b|orig\b|ori\b|or\b|output\b|outpu\b|outp\b|out\b|ou\b|o\b|parametric\b|parametri\b|parametr\b|paramet\b|parame\b|param\b|para\b|par\b|pa\b|pm3d\b|pm3\b|pm\b|palette\b|palett\b|palet\b|pale\b|pal\b|colorbox\b|colorbo\b|colorb\b|plot\b|plo\b|pl\b|p\b|pointsize\b|pointsiz\b|pointsi\b|points\b|point\b|poin\b|poi\b|polar\b|pola\b|pol\b|print\b|prin\b|pri\b|pr\b|object\b|objec\b|obje\b|obj\b|samples\b|sample\b|sampl\b|samp\b|sam\b|sa\b|size\b|siz\b|si\b|style\b|styl\b|sty\b|st\b|surface\b|surfac\b|surfa\b|surf\b|sur\b|su\b|table\b|terminal\b|termina\b|termin\b|termi\b|term\b|ter\b|te\b|t\b|termoptions\b|termoption\b|termoptio\b|termopti\b|termopt\b|termop\b|termo\b|tics\b|tic\b|ti\b|ticscale\b|ticscal\b|ticsca\b|ticsc\b|ticslevel\b|ticsleve\b|ticslev\b|ticsle\b|ticsl\b|timefmt\b|timefm\b|timef\b|timestamp\b|timestam\b|timesta\b|timest\b|times\b|time\b|tim\b|title\b|titl\b|tit\b|variables\b|variable\b|variabl\b|variab\b|varia\b|vari\b|var\b|va\b|v\b|version\b|versio\b|versi\b|vers\b|ver\b|ve\b|view\b|vie\b|vi\b|xyplane\b|xyplan\b|xypla\b|xypl\b|xyp\b|xdata\b|xdat\b|xda\b|x2data\b|x2dat\b|x2da\b|ydata\b|ydat\b|yda\b|y2data\b|y2dat\b|y2da\b|zdata\b|zdat\b|zda\b|cbdata\b|cbdat\b|cbda\b|xlabel\b|xlabe\b|xlab\b|xla\b|xl\b|x2label\b|x2labe\b|x2lab\b|x2la\b|x2l\b|ylabel\b|ylabe\b|ylab\b|yla\b|yl\b|y2label\b|y2labe\b|y2lab\b|y2la\b|y2l\b|zlabel\b|zlabe\b|zlab\b|zla\b|zl\b|cblabel\b|cblabe\b|cblab\b|cbla\b|cbl\b|xtics\b|xtic\b|xti\b|noxtics\b|noxtic\b|noxti\b|x2tics\b|x2tic\b|x2ti\b|nox2tics\b|nox2tic\b|nox2ti\b|ytics\b|ytic\b|yti\b|noytics\b|noytic\b|noyti\b|y2tics\b|y2tic\b|y2ti\b|noy2tics\b|noy2tic\b|noy2ti\b|ztics\b|ztic\b|zti\b|noztics\b|noztic\b|nozti\b|cbtics\b|cbtic\b|cbti\b|nocbtics\b|nocbtic\b|nocbti\b|xdtics\b|xdtic\b|xdti\b|noxdtics\b|noxdtic\b|noxdti\b|x2dtics\b|x2dtic\b|x2dti\b|nox2dtics\b|nox2dtic\b|nox2dti\b|ydtics\b|ydtic\b|ydti\b|noydtics\b|noydtic\b|noydti\b|y2dtics\b|y2dtic\b|y2dti\b|noy2dtics\b|noy2dtic\b|noy2dti\b|zdtics\b|zdtic\b|zdti\b|nozdtics\b|nozdtic\b|nozdti\b|cbdtics\b|cbdtic\b|cbdti\b|nocbdtics\b|nocbdtic\b|nocbdti\b|xmtics\b|xmtic\b|xmti\b|noxmtics\b|noxmtic\b|noxmti\b|x2mtics\b|x2mtic\b|x2mti\b|nox2mtics\b|nox2mtic\b|nox2mti\b|ymtics\b|ymtic\b|ymti\b|noymtics\b|noymtic\b|noymti\b|y2mtics\b|y2mtic\b|y2mti\b|noy2mtics\b|noy2mtic\b|noy2mti\b|zmtics\b|zmtic\b|zmti\b|nozmtics\b|nozmtic\b|nozmti\b|cbmtics\b|cbmtic\b|cbmti\b|nocbmtics\b|nocbmtic\b|nocbmti\b|xrange\b|xrang\b|xran\b|xra\b|xr\b|x2range\b|x2rang\b|x2ran\b|x2ra\b|x2r\b|yrange\b|yrang\b|yran\b|yra\b|yr\b|y2range\b|y2rang\b|y2ran\b|y2ra\b|y2r\b|zrange\b|zrang\b|zran\b|zra\b|zr\b|cbrange\b|cbrang\b|cbran\b|cbra\b|cbr\b|rrange\b|rrang\b|rran\b|rra\b|rr\b|trange\b|trang\b|tran\b|tra\b|tr\b|urange\b|urang\b|uran\b|ura\b|ur\b|vrange\b|vrang\b|vran\b|vra\b|vr\b|xzeroaxis\b|xzeroaxi\b|xzeroax\b|xzeroa\b|x2zeroaxis\b|x2zeroaxi\b|x2zeroax\b|x2zeroa\b|yzeroaxis\b|yzeroaxi\b|yzeroax\b|yzeroa\b|y2zeroaxis\b|y2zeroaxi\b|y2zeroax\b|y2zeroa\b|zzeroaxis\b|zzeroaxi\b|zzeroax\b|zzeroa\b|zeroaxis\b|zeroaxi\b|zeroax\b|zeroa\b|zero\b|zer\b|ze\b|z\b`, NameBuiltin, Pop(1)}, - }, - "bind": { - {`!`, Keyword, Pop(1)}, - {`allwindows\b|allwindow\b|allwindo\b|allwind\b|allwin\b|allwi\b|allw\b|all\b`, NameBuiltin, nil}, - Include("genericargs"), - }, - "quit": { - {`gnuplot\b`, Keyword, nil}, - Include("noargs"), - }, - "fit": { - {`via\b`, NameBuiltin, nil}, - Include("plot"), - }, - "if": { - {`\)`, Punctuation, Pop(1)}, - Include("genericargs"), - }, - "pause": { - {`(mouse|any|button1|button2|button3)\b`, NameBuiltin, nil}, - {`keypress\b|keypres\b|keypre\b|keypr\b|keyp\b|key\b`, NameBuiltin, nil}, - Include("genericargs"), - }, - "plot": { - {`axes\b|axe\b|ax\b|axis\b|axi\b|binary\b|binar\b|bina\b|bin\b|every\b|ever\b|eve\b|ev\b|index\b|inde\b|ind\b|in\b|i\b|matrix\b|matri\b|matr\b|mat\b|smooth\b|smoot\b|smoo\b|smo\b|sm\b|s\b|thru\b|title\b|titl\b|tit\b|ti\b|t\b|notitle\b|notitl\b|notit\b|noti\b|not\b|using\b|usin\b|usi\b|us\b|u\b|with\b|wit\b|wi\b|w\b`, NameBuiltin, nil}, - Include("genericargs"), - }, - "save": { - {`functions\b|function\b|functio\b|functi\b|funct\b|func\b|fun\b|fu\b|f\b|set\b|se\b|s\b|terminal\b|termina\b|termin\b|termi\b|term\b|ter\b|te\b|t\b|variables\b|variable\b|variabl\b|variab\b|varia\b|vari\b|var\b|va\b|v\b`, NameBuiltin, nil}, - Include("genericargs"), - }, - }, -)) diff --git a/vendor/github.com/alecthomas/chroma/lexers/g/go.go b/vendor/github.com/alecthomas/chroma/lexers/g/go.go deleted file mode 100644 index a93fa8bb..00000000 --- a/vendor/github.com/alecthomas/chroma/lexers/g/go.go +++ /dev/null @@ -1,114 +0,0 @@ -package g - -import ( - "strings" - - . "github.com/alecthomas/chroma" // nolint - "github.com/alecthomas/chroma/lexers/h" - "github.com/alecthomas/chroma/lexers/internal" -) - -// Go lexer. -var Go = internal.Register(MustNewLexer( - &Config{ - Name: "Go", - Aliases: []string{"go", "golang"}, - Filenames: []string{"*.go"}, - MimeTypes: []string{"text/x-gosrc"}, - }, - Rules{ - "root": { - {`\n`, Text, nil}, - {`\s+`, Text, nil}, - {`\\\n`, Text, nil}, - {`//(.*?)\n`, CommentSingle, nil}, - {`/(\\\n)?[*](.|\n)*?[*](\\\n)?/`, CommentMultiline, nil}, - {`(import|package)\b`, KeywordNamespace, nil}, - {`(var|func|struct|map|chan|type|interface|const)\b`, KeywordDeclaration, nil}, - {Words(``, `\b`, `break`, `default`, `select`, `case`, `defer`, `go`, `else`, `goto`, `switch`, `fallthrough`, `if`, `range`, `continue`, `for`, `return`), Keyword, nil}, - {`(true|false|iota|nil)\b`, KeywordConstant, nil}, - {Words(``, `\b(\()`, `uint`, `uint8`, `uint16`, `uint32`, `uint64`, `int`, `int8`, `int16`, `int32`, `int64`, `float`, `float32`, `float64`, `complex64`, `complex128`, `byte`, `rune`, `string`, `bool`, `error`, `uintptr`, `print`, `println`, `panic`, `recover`, `close`, `complex`, `real`, `imag`, `len`, `cap`, `append`, `copy`, `delete`, `new`, `make`), ByGroups(NameBuiltin, Punctuation), nil}, - {Words(``, `\b`, `uint`, `uint8`, `uint16`, `uint32`, `uint64`, `int`, `int8`, `int16`, `int32`, `int64`, `float`, `float32`, `float64`, `complex64`, `complex128`, `byte`, `rune`, `string`, `bool`, `error`, `uintptr`), KeywordType, nil}, - {`\d+i`, LiteralNumber, nil}, - {`\d+\.\d*([Ee][-+]\d+)?i`, LiteralNumber, nil}, - {`\.\d+([Ee][-+]\d+)?i`, LiteralNumber, nil}, - {`\d+[Ee][-+]\d+i`, LiteralNumber, nil}, - {`\d+(\.\d+[eE][+\-]?\d+|\.\d*|[eE][+\-]?\d+)`, LiteralNumberFloat, nil}, - {`\.\d+([eE][+\-]?\d+)?`, LiteralNumberFloat, nil}, - {`0[0-7]+`, LiteralNumberOct, nil}, - {`0[xX][0-9a-fA-F]+`, LiteralNumberHex, nil}, - {`(0|[1-9][0-9]*)`, LiteralNumberInteger, nil}, - {`'(\\['"\\abfnrtv]|\\x[0-9a-fA-F]{2}|\\[0-7]{1,3}|\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}|[^\\])'`, LiteralStringChar, nil}, - {"(`)([^`]*)(`)", ByGroups(LiteralString, Using(TypeRemappingLexer(GoTextTemplate, TypeMapping{{Other, LiteralString, nil}})), LiteralString), nil}, - {`"(\\\\|\\"|[^"])*"`, LiteralString, nil}, - {`(<<=|>>=|<<|>>|<=|>=|&\^=|&\^|\+=|-=|\*=|/=|%=|&=|\|=|&&|\|\||<-|\+\+|--|==|!=|:=|\.\.\.|[+\-*/%&])`, Operator, nil}, - {`([a-zA-Z_]\w*)(\s*)(\()`, ByGroups(NameFunction, UsingSelf("root"), Punctuation), nil}, - {`[|^<>=!()\[\]{}.,;:]`, Punctuation, nil}, - {`[^\W\d]\w*`, NameOther, nil}, - }, - }, -).SetAnalyser(func(text string) float32 { - if strings.Contains(text, "fmt.") && strings.Contains(text, "package ") { - return 0.5 - } - if strings.Contains(text, "package ") { - return 0.1 - } - return 0.0 -})) - -var goTemplateRules = Rules{ - "root": { - {`{{[-]?`, CommentPreproc, Push("template")}, - {`[^{]+`, Other, nil}, - {`{`, Other, nil}, - }, - "template": { - {`[-]?}}`, CommentPreproc, Pop(1)}, - {`/\*.*?\*/`, Comment, nil}, - {`(?=}})`, CommentPreproc, Pop(1)}, // Terminate the pipeline - {`\(`, Operator, Push("subexpression")}, - {`"(\\\\|\\"|[^"])*"`, LiteralString, nil}, - Include("expression"), - }, - "subexpression": { - {`\)`, Operator, Pop(1)}, - Include("expression"), - }, - "expression": { - {`\s+`, Whitespace, nil}, - {`\(`, Operator, Push("subexpression")}, - {`(range|if|else|while|with|template|end|true|false|nil|and|call|html|index|js|len|not|or|print|printf|println|urlquery|eq|ne|lt|le|gt|ge)\b`, Keyword, nil}, - {`\||:=`, Operator, nil}, - {`[$]?[^\W\d]\w*`, NameOther, nil}, - {`[$]?\.(?:[^\W\d]\w*)?`, NameAttribute, nil}, - {`"(\\\\|\\"|[^"])*"`, LiteralString, nil}, - {`\d+i`, LiteralNumber, nil}, - {`\d+\.\d*([Ee][-+]\d+)?i`, LiteralNumber, nil}, - {`\.\d+([Ee][-+]\d+)?i`, LiteralNumber, nil}, - {`\d+[Ee][-+]\d+i`, LiteralNumber, nil}, - {`\d+(\.\d+[eE][+\-]?\d+|\.\d*|[eE][+\-]?\d+)`, LiteralNumberFloat, nil}, - {`\.\d+([eE][+\-]?\d+)?`, LiteralNumberFloat, nil}, - {`0[0-7]+`, LiteralNumberOct, nil}, - {`0[xX][0-9a-fA-F]+`, LiteralNumberHex, nil}, - {`(0|[1-9][0-9]*)`, LiteralNumberInteger, nil}, - {`'(\\['"\\abfnrtv]|\\x[0-9a-fA-F]{2}|\\[0-7]{1,3}|\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}|[^\\])'`, LiteralStringChar, nil}, - {"`[^`]*`", LiteralString, nil}, - }, -} - -var GoHTMLTemplate = internal.Register(DelegatingLexer(h.HTML, MustNewLexer( - &Config{ - Name: "Go HTML Template", - Aliases: []string{"go-html-template"}, - }, - goTemplateRules, -))) - -var GoTextTemplate = internal.Register(MustNewLexer( - &Config{ - Name: "Go Text Template", - Aliases: []string{"go-text-template"}, - }, - goTemplateRules, -)) diff --git a/vendor/github.com/alecthomas/chroma/lexers/g/groovy.go b/vendor/github.com/alecthomas/chroma/lexers/g/groovy.go deleted file mode 100644 index a395415a..00000000 --- a/vendor/github.com/alecthomas/chroma/lexers/g/groovy.go +++ /dev/null @@ -1,58 +0,0 @@ -package g - -import ( - . "github.com/alecthomas/chroma" // nolint - "github.com/alecthomas/chroma/lexers/internal" -) - -// Groovy lexer. -var Groovy = internal.Register(MustNewLexer( - &Config{ - Name: "Groovy", - Aliases: []string{"groovy"}, - Filenames: []string{"*.groovy", "*.gradle"}, - MimeTypes: []string{"text/x-groovy"}, - DotAll: true, - }, - Rules{ - "root": { - {`#!(.*?)$`, CommentPreproc, Push("base")}, - Default(Push("base")), - }, - "base": { - {`^(\s*(?:[a-zA-Z_][\w.\[\]]*\s+)+?)([a-zA-Z_]\w*)(\s*)(\()`, ByGroups(UsingSelf("root"), NameFunction, Text, Operator), nil}, - {`[^\S\n]+`, Text, nil}, - {`//.*?\n`, CommentSingle, nil}, - {`/\*.*?\*/`, CommentMultiline, nil}, - {`@[a-zA-Z_][\w.]*`, NameDecorator, nil}, - {`(as|assert|break|case|catch|continue|default|do|else|finally|for|if|in|goto|instanceof|new|return|switch|this|throw|try|while|in|as)\b`, Keyword, nil}, - {`(abstract|const|enum|extends|final|implements|native|private|protected|public|static|strictfp|super|synchronized|throws|transient|volatile)\b`, KeywordDeclaration, nil}, - {`(def|boolean|byte|char|double|float|int|long|short|void)\b`, KeywordType, nil}, - {`(package)(\s+)`, ByGroups(KeywordNamespace, Text), nil}, - {`(true|false|null)\b`, KeywordConstant, nil}, - {`(class|interface)(\s+)`, ByGroups(KeywordDeclaration, Text), Push("class")}, - {`(import)(\s+)`, ByGroups(KeywordNamespace, Text), Push("import")}, - {`""".*?"""`, LiteralStringDouble, nil}, - {`'''.*?'''`, LiteralStringSingle, nil}, - {`"(\\\\|\\"|[^"])*"`, LiteralStringDouble, nil}, - {`'(\\\\|\\'|[^'])*'`, LiteralStringSingle, nil}, - {`\$/((?!/\$).)*/\$`, LiteralString, nil}, - {`/(\\\\|\\"|[^/])*/`, LiteralString, nil}, - {`'\\.'|'[^\\]'|'\\u[0-9a-fA-F]{4}'`, LiteralStringChar, nil}, - {`(\.)([a-zA-Z_]\w*)`, ByGroups(Operator, NameAttribute), nil}, - {`[a-zA-Z_]\w*:`, NameLabel, nil}, - {`[a-zA-Z_$]\w*`, Name, nil}, - {`[~^*!%&\[\](){}<>|+=:;,./?-]`, Operator, nil}, - {`[0-9][0-9]*\.[0-9]+([eE][0-9]+)?[fd]?`, LiteralNumberFloat, nil}, - {`0x[0-9a-fA-F]+`, LiteralNumberHex, nil}, - {`[0-9]+L?`, LiteralNumberInteger, nil}, - {`\n`, Text, nil}, - }, - "class": { - {`[a-zA-Z_]\w*`, NameClass, Pop(1)}, - }, - "import": { - {`[\w.]+\*?`, NameNamespace, Pop(1)}, - }, - }, -)) diff --git a/vendor/github.com/alecthomas/chroma/lexers/h/handlebars.go b/vendor/github.com/alecthomas/chroma/lexers/h/handlebars.go deleted file mode 100644 index 07072da5..00000000 --- a/vendor/github.com/alecthomas/chroma/lexers/h/handlebars.go +++ /dev/null @@ -1,56 +0,0 @@ -package h - -import ( - . "github.com/alecthomas/chroma" // nolint - "github.com/alecthomas/chroma/lexers/internal" -) - -// Handlebars lexer. -var Handlebars = internal.Register(MustNewLexer( - &Config{ - Name: "Handlebars", - Aliases: []string{"handlebars"}, - Filenames: []string{"*.handlebars"}, - MimeTypes: []string{}, - }, - Rules{ - "root": { - {`[^{]+`, Other, nil}, - {`\{\{!.*\}\}`, Comment, nil}, - {`(\{\{\{)(\s*)`, ByGroups(CommentSpecial, Text), Push("tag")}, - {`(\{\{)(\s*)`, ByGroups(CommentPreproc, Text), Push("tag")}, - }, - "tag": { - {`\s+`, Text, nil}, - {`\}\}\}`, CommentSpecial, Pop(1)}, - {`\}\}`, CommentPreproc, Pop(1)}, - {`([#/]*)(each|if|unless|else|with|log|in(?:line)?)`, ByGroups(Keyword, Keyword), nil}, - {`#\*inline`, Keyword, nil}, - {`([#/])([\w-]+)`, ByGroups(NameFunction, NameFunction), nil}, - {`([\w-]+)(=)`, ByGroups(NameAttribute, Operator), nil}, - {`(>)(\s*)(@partial-block)`, ByGroups(Keyword, Text, Keyword), nil}, - {`(#?>)(\s*)([\w-]+)`, ByGroups(Keyword, Text, NameVariable), nil}, - {`(>)(\s*)(\()`, ByGroups(Keyword, Text, Punctuation), Push("dynamic-partial")}, - Include("generic"), - }, - "dynamic-partial": { - {`\s+`, Text, nil}, - {`\)`, Punctuation, Pop(1)}, - {`(lookup)(\s+)(\.|this)(\s+)`, ByGroups(Keyword, Text, NameVariable, Text), nil}, - {`(lookup)(\s+)(\S+)`, ByGroups(Keyword, Text, UsingSelf("variable")), nil}, - {`[\w-]+`, NameFunction, nil}, - Include("generic"), - }, - "variable": { - {`[a-zA-Z][\w-]*`, NameVariable, nil}, - {`\.[\w-]+`, NameVariable, nil}, - {`(this\/|\.\/|(\.\.\/)+)[\w-]+`, NameVariable, nil}, - }, - "generic": { - Include("variable"), - {`:?"(\\\\|\\"|[^"])*"`, LiteralStringDouble, nil}, - {`:?'(\\\\|\\'|[^'])*'`, LiteralStringSingle, nil}, - {`[0-9](\.[0-9]*)?(eE[+-][0-9])?[flFLdD]?|0[xX][0-9a-fA-F]+[Ll]?`, LiteralNumber, nil}, - }, - }, -)) diff --git a/vendor/github.com/alecthomas/chroma/lexers/h/haskell.go b/vendor/github.com/alecthomas/chroma/lexers/h/haskell.go deleted file mode 100644 index b018eab4..00000000 --- a/vendor/github.com/alecthomas/chroma/lexers/h/haskell.go +++ /dev/null @@ -1,99 +0,0 @@ -package h - -import ( - . "github.com/alecthomas/chroma" // nolint - "github.com/alecthomas/chroma/lexers/internal" -) - -// Haskell lexer. -var Haskell = internal.Register(MustNewLexer( - &Config{ - Name: "Haskell", - Aliases: []string{"haskell", "hs"}, - Filenames: []string{"*.hs"}, - MimeTypes: []string{"text/x-haskell"}, - }, - Rules{ - "root": { - {`\s+`, Text, nil}, - {`--(?![!#$%&*+./<=>?@^|_~:\\]).*?$`, CommentSingle, nil}, - {`\{-`, CommentMultiline, Push("comment")}, - {`\bimport\b`, KeywordReserved, Push("import")}, - {`\bmodule\b`, KeywordReserved, Push("module")}, - {`\berror\b`, NameException, nil}, - {`\b(case|class|data|default|deriving|do|else|family|if|in|infix[lr]?|instance|let|newtype|of|then|type|where|_)(?!\')\b`, KeywordReserved, nil}, - {`'[^\\]'`, LiteralStringChar, nil}, - {`^[_a-zµß-öø-ÿāăąćĉċčďđēĕėęěĝğġģĥħĩīĭįıijĵķ-ĸĺļľŀłńņň-ʼnŋōŏőœŕŗřśŝşšţťŧũūŭůűųŵŷźżž-ƀƃƅƈƌ-ƍƒƕƙ-ƛƞơƣƥƨƪ-ƫƭưƴƶƹ-ƺƽ-ƿdžljnjǎǐǒǔǖǘǚǜ-ǝǟǡǣǥǧǩǫǭǯ-ǰdzǵǹǻǽǿȁȃȅȇȉȋȍȏȑȓȕȗșțȝȟȡȣȥȧȩȫȭȯȱȳ-ȹȼȿ-ɀɂɇɉɋɍɏ-ʓʕ-ʯͱͳͷͻ-ͽΐά-ώϐ-ϑϕ-ϗϙϛϝϟϡϣϥϧϩϫϭϯ-ϳϵϸϻ-ϼа-џѡѣѥѧѩѫѭѯѱѳѵѷѹѻѽѿҁҋҍҏґғҕҗҙқҝҟҡңҥҧҩҫҭүұҳҵҷҹһҽҿӂӄӆӈӊӌӎ-ӏӑӓӕӗәӛӝӟӡӣӥӧөӫӭӯӱӳӵӷӹӻӽӿԁԃԅԇԉԋԍԏԑԓԕԗԙԛԝԟԡԣԥԧա-ևᴀ-ᴫᵫ-ᵷᵹ-ᶚḁḃḅḇḉḋḍḏḑḓḕḗḙḛḝḟḡḣḥḧḩḫḭḯḱḳḵḷḹḻḽḿṁṃṅṇṉṋṍṏṑṓṕṗṙṛṝṟṡṣṥṧṩṫṭṯṱṳṵṷṹṻṽṿẁẃẅẇẉẋẍẏẑẓẕ-ẝẟạảấầẩẫậắằẳẵặẹẻẽếềểễệỉịọỏốồổỗộớờởỡợụủứừửữựỳỵỷỹỻỽỿ-ἇἐ-ἕἠ-ἧἰ-ἷὀ-ὅὐ-ὗὠ-ὧὰ-ώᾀ-ᾇᾐ-ᾗᾠ-ᾧᾰ-ᾴᾶ-ᾷιῂ-ῄῆ-ῇῐ-ΐῖ-ῗῠ-ῧῲ-ῴῶ-ῷℊℎ-ℏℓℯℴℹℼ-ℽⅆ-ⅉⅎↄⰰ-ⱞⱡⱥ-ⱦⱨⱪⱬⱱⱳ-ⱴⱶ-ⱻⲁⲃⲅⲇⲉⲋⲍⲏⲑⲓⲕⲗⲙⲛⲝⲟⲡⲣⲥⲧⲩⲫⲭⲯⲱⲳⲵⲷⲹⲻⲽⲿⳁⳃⳅⳇⳉⳋⳍⳏⳑⳓⳕⳗⳙⳛⳝⳟⳡⳣ-ⳤⳬⳮⳳⴀ-ⴥⴧⴭꙁꙃꙅꙇꙉꙋꙍꙏꙑꙓꙕꙗꙙꙛꙝꙟꙡꙣꙥꙧꙩꙫꙭꚁꚃꚅꚇꚉꚋꚍꚏꚑꚓꚕꚗꜣꜥꜧꜩꜫꜭꜯ-ꜱꜳꜵꜷꜹꜻꜽꜿꝁꝃꝅꝇꝉꝋꝍꝏꝑꝓꝕꝗꝙꝛꝝꝟꝡꝣꝥꝧꝩꝫꝭꝯꝱ-ꝸꝺꝼꝿꞁꞃꞅꞇꞌꞎꞑꞓꞡꞣꞥꞧꞩꟺff-stﬓ-ﬗa-z𐐨-𐑏𝐚-𝐳𝑎-𝑔𝑖-𝑧𝒂-𝒛𝒶-𝒹𝒻𝒽-𝓃𝓅-𝓏𝓪-𝔃𝔞-𝔷𝕒-𝕫𝖆-𝖟𝖺-𝗓𝗮-𝘇𝘢-𝘻𝙖-𝙯𝚊-𝚥𝛂-𝛚𝛜-𝛡𝛼-𝜔𝜖-𝜛𝜶-𝝎𝝐-𝝕𝝰-𝞈𝞊-𝞏𝞪-𝟂𝟄-𝟉𝟋][\w\']*`, NameFunction, nil}, - {`'?[_a-zµß-öø-ÿāăąćĉċčďđēĕėęěĝğġģĥħĩīĭįıijĵķ-ĸĺļľŀłńņň-ʼnŋōŏőœŕŗřśŝşšţťŧũūŭůűųŵŷźżž-ƀƃƅƈƌ-ƍƒƕƙ-ƛƞơƣƥƨƪ-ƫƭưƴƶƹ-ƺƽ-ƿdžljnjǎǐǒǔǖǘǚǜ-ǝǟǡǣǥǧǩǫǭǯ-ǰdzǵǹǻǽǿȁȃȅȇȉȋȍȏȑȓȕȗșțȝȟȡȣȥȧȩȫȭȯȱȳ-ȹȼȿ-ɀɂɇɉɋɍɏ-ʓʕ-ʯͱͳͷͻ-ͽΐά-ώϐ-ϑϕ-ϗϙϛϝϟϡϣϥϧϩϫϭϯ-ϳϵϸϻ-ϼа-џѡѣѥѧѩѫѭѯѱѳѵѷѹѻѽѿҁҋҍҏґғҕҗҙқҝҟҡңҥҧҩҫҭүұҳҵҷҹһҽҿӂӄӆӈӊӌӎ-ӏӑӓӕӗәӛӝӟӡӣӥӧөӫӭӯӱӳӵӷӹӻӽӿԁԃԅԇԉԋԍԏԑԓԕԗԙԛԝԟԡԣԥԧա-ևᴀ-ᴫᵫ-ᵷᵹ-ᶚḁḃḅḇḉḋḍḏḑḓḕḗḙḛḝḟḡḣḥḧḩḫḭḯḱḳḵḷḹḻḽḿṁṃṅṇṉṋṍṏṑṓṕṗṙṛṝṟṡṣṥṧṩṫṭṯṱṳṵṷṹṻṽṿẁẃẅẇẉẋẍẏẑẓẕ-ẝẟạảấầẩẫậắằẳẵặẹẻẽếềểễệỉịọỏốồổỗộớờởỡợụủứừửữựỳỵỷỹỻỽỿ-ἇἐ-ἕἠ-ἧἰ-ἷὀ-ὅὐ-ὗὠ-ὧὰ-ώᾀ-ᾇᾐ-ᾗᾠ-ᾧᾰ-ᾴᾶ-ᾷιῂ-ῄῆ-ῇῐ-ΐῖ-ῗῠ-ῧῲ-ῴῶ-ῷℊℎ-ℏℓℯℴℹℼ-ℽⅆ-ⅉⅎↄⰰ-ⱞⱡⱥ-ⱦⱨⱪⱬⱱⱳ-ⱴⱶ-ⱻⲁⲃⲅⲇⲉⲋⲍⲏⲑⲓⲕⲗⲙⲛⲝⲟⲡⲣⲥⲧⲩⲫⲭⲯⲱⲳⲵⲷⲹⲻⲽⲿⳁⳃⳅⳇⳉⳋⳍⳏⳑⳓⳕⳗⳙⳛⳝⳟⳡⳣ-ⳤⳬⳮⳳⴀ-ⴥⴧⴭꙁꙃꙅꙇꙉꙋꙍꙏꙑꙓꙕꙗꙙꙛꙝꙟꙡꙣꙥꙧꙩꙫꙭꚁꚃꚅꚇꚉꚋꚍꚏꚑꚓꚕꚗꜣꜥꜧꜩꜫꜭꜯ-ꜱꜳꜵꜷꜹꜻꜽꜿꝁꝃꝅꝇꝉꝋꝍꝏꝑꝓꝕꝗꝙꝛꝝꝟꝡꝣꝥꝧꝩꝫꝭꝯꝱ-ꝸꝺꝼꝿꞁꞃꞅꞇꞌꞎꞑꞓꞡꞣꞥꞧꞩꟺff-stﬓ-ﬗa-z𐐨-𐑏𝐚-𝐳𝑎-𝑔𝑖-𝑧𝒂-𝒛𝒶-𝒹𝒻𝒽-𝓃𝓅-𝓏𝓪-𝔃𝔞-𝔷𝕒-𝕫𝖆-𝖟𝖺-𝗓𝗮-𝘇𝘢-𝘻𝙖-𝙯𝚊-𝚥𝛂-𝛚𝛜-𝛡𝛼-𝜔𝜖-𝜛𝜶-𝝎𝝐-𝝕𝝰-𝞈𝞊-𝞏𝞪-𝟂𝟄-𝟉𝟋][\w']*`, Name, nil}, - {`('')?[A-ZÀ-ÖØ-ÞĀĂĄĆĈĊČĎĐĒĔĖĘĚĜĞĠĢĤĦĨĪĬĮİIJĴĶĹĻĽĿŁŃŅŇŊŌŎŐŒŔŖŘŚŜŞŠŢŤŦŨŪŬŮŰŲŴŶŸ-ŹŻŽƁ-ƂƄƆ-ƇƉ-ƋƎ-ƑƓ-ƔƖ-ƘƜ-ƝƟ-ƠƢƤƦ-ƧƩƬƮ-ƯƱ-ƳƵƷ-ƸƼDŽLJNJǍǏǑǓǕǗǙǛǞǠǢǤǦǨǪǬǮDZǴǶ-ǸǺǼǾȀȂȄȆȈȊȌȎȐȒȔȖȘȚȜȞȠȢȤȦȨȪȬȮȰȲȺ-ȻȽ-ȾɁɃ-ɆɈɊɌɎͰͲͶΆΈ-ΊΌΎ-ΏΑ-ΡΣ-ΫϏϒ-ϔϘϚϜϞϠϢϤϦϨϪϬϮϴϷϹ-ϺϽ-ЯѠѢѤѦѨѪѬѮѰѲѴѶѸѺѼѾҀҊҌҎҐҒҔҖҘҚҜҞҠҢҤҦҨҪҬҮҰҲҴҶҸҺҼҾӀ-ӁӃӅӇӉӋӍӐӒӔӖӘӚӜӞӠӢӤӦӨӪӬӮӰӲӴӶӸӺӼӾԀԂԄԆԈԊԌԎԐԒԔԖԘԚԜԞԠԢԤԦԱ-ՖႠ-ჅჇჍḀḂḄḆḈḊḌḎḐḒḔḖḘḚḜḞḠḢḤḦḨḪḬḮḰḲḴḶḸḺḼḾṀṂṄṆṈṊṌṎṐṒṔṖṘṚṜṞṠṢṤṦṨṪṬṮṰṲṴṶṸṺṼṾẀẂẄẆẈẊẌẎẐẒẔẞẠẢẤẦẨẪẬẮẰẲẴẶẸẺẼẾỀỂỄỆỈỊỌỎỐỒỔỖỘỚỜỞỠỢỤỦỨỪỬỮỰỲỴỶỸỺỼỾἈ-ἏἘ-ἝἨ-ἯἸ-ἿὈ-ὍὙὛὝὟὨ-ὯᾸ-ΆῈ-ΉῘ-ΊῨ-ῬῸ-Ώℂℇℋ-ℍℐ-ℒℕℙ-ℝℤΩℨK-ℭℰ-ℳℾ-ℿⅅↃⰀ-ⰮⱠⱢ-ⱤⱧⱩⱫⱭ-ⱰⱲⱵⱾ-ⲀⲂⲄⲆⲈⲊⲌⲎⲐⲒⲔⲖⲘⲚⲜⲞⲠⲢⲤⲦⲨⲪⲬⲮⲰⲲⲴⲶⲸⲺⲼⲾⳀⳂⳄⳆⳈⳊⳌⳎⳐⳒⳔⳖⳘⳚⳜⳞⳠⳢⳫⳭⳲꙀꙂꙄꙆꙈꙊꙌꙎꙐꙒꙔꙖꙘꙚꙜꙞꙠꙢꙤꙦꙨꙪꙬꚀꚂꚄꚆꚈꚊꚌꚎꚐꚒꚔꚖꜢꜤꜦꜨꜪꜬꜮꜲꜴꜶꜸꜺꜼꜾꝀꝂꝄꝆꝈꝊꝌꝎꝐꝒꝔꝖꝘꝚꝜꝞꝠꝢꝤꝦꝨꝪꝬꝮꝹꝻꝽ-ꝾꞀꞂꞄꞆꞋꞍꞐꞒꞠꞢꞤꞦꞨꞪA-Z𐐀-𐐧𝐀-𝐙𝐴-𝑍𝑨-𝒁𝒜𝒞-𝒟𝒢𝒥-𝒦𝒩-𝒬𝒮-𝒵𝓐-𝓩𝔄-𝔅𝔇-𝔊𝔍-𝔔𝔖-𝔜𝔸-𝔹𝔻-𝔾𝕀-𝕄𝕆𝕊-𝕐𝕬-𝖅𝖠-𝖹𝗔-𝗭𝘈-𝘡𝘼-𝙕𝙰-𝚉𝚨-𝛀𝛢-𝛺𝜜-𝜴𝝖-𝝮𝞐-𝞨𝟊][\w\']*`, KeywordType, nil}, - {`(')[A-ZÀ-ÖØ-ÞĀĂĄĆĈĊČĎĐĒĔĖĘĚĜĞĠĢĤĦĨĪĬĮİIJĴĶĹĻĽĿŁŃŅŇŊŌŎŐŒŔŖŘŚŜŞŠŢŤŦŨŪŬŮŰŲŴŶŸ-ŹŻŽƁ-ƂƄƆ-ƇƉ-ƋƎ-ƑƓ-ƔƖ-ƘƜ-ƝƟ-ƠƢƤƦ-ƧƩƬƮ-ƯƱ-ƳƵƷ-ƸƼDŽLJNJǍǏǑǓǕǗǙǛǞǠǢǤǦǨǪǬǮDZǴǶ-ǸǺǼǾȀȂȄȆȈȊȌȎȐȒȔȖȘȚȜȞȠȢȤȦȨȪȬȮȰȲȺ-ȻȽ-ȾɁɃ-ɆɈɊɌɎͰͲͶΆΈ-ΊΌΎ-ΏΑ-ΡΣ-ΫϏϒ-ϔϘϚϜϞϠϢϤϦϨϪϬϮϴϷϹ-ϺϽ-ЯѠѢѤѦѨѪѬѮѰѲѴѶѸѺѼѾҀҊҌҎҐҒҔҖҘҚҜҞҠҢҤҦҨҪҬҮҰҲҴҶҸҺҼҾӀ-ӁӃӅӇӉӋӍӐӒӔӖӘӚӜӞӠӢӤӦӨӪӬӮӰӲӴӶӸӺӼӾԀԂԄԆԈԊԌԎԐԒԔԖԘԚԜԞԠԢԤԦԱ-ՖႠ-ჅჇჍḀḂḄḆḈḊḌḎḐḒḔḖḘḚḜḞḠḢḤḦḨḪḬḮḰḲḴḶḸḺḼḾṀṂṄṆṈṊṌṎṐṒṔṖṘṚṜṞṠṢṤṦṨṪṬṮṰṲṴṶṸṺṼṾẀẂẄẆẈẊẌẎẐẒẔẞẠẢẤẦẨẪẬẮẰẲẴẶẸẺẼẾỀỂỄỆỈỊỌỎỐỒỔỖỘỚỜỞỠỢỤỦỨỪỬỮỰỲỴỶỸỺỼỾἈ-ἏἘ-ἝἨ-ἯἸ-ἿὈ-ὍὙὛὝὟὨ-ὯᾸ-ΆῈ-ΉῘ-ΊῨ-ῬῸ-Ώℂℇℋ-ℍℐ-ℒℕℙ-ℝℤΩℨK-ℭℰ-ℳℾ-ℿⅅↃⰀ-ⰮⱠⱢ-ⱤⱧⱩⱫⱭ-ⱰⱲⱵⱾ-ⲀⲂⲄⲆⲈⲊⲌⲎⲐⲒⲔⲖⲘⲚⲜⲞⲠⲢⲤⲦⲨⲪⲬⲮⲰⲲⲴⲶⲸⲺⲼⲾⳀⳂⳄⳆⳈⳊⳌⳎⳐⳒⳔⳖⳘⳚⳜⳞⳠⳢⳫⳭⳲꙀꙂꙄꙆꙈꙊꙌꙎꙐꙒꙔꙖꙘꙚꙜꙞꙠꙢꙤꙦꙨꙪꙬꚀꚂꚄꚆꚈꚊꚌꚎꚐꚒꚔꚖꜢꜤꜦꜨꜪꜬꜮꜲꜴꜶꜸꜺꜼꜾꝀꝂꝄꝆꝈꝊꝌꝎꝐꝒꝔꝖꝘꝚꝜꝞꝠꝢꝤꝦꝨꝪꝬꝮꝹꝻꝽ-ꝾꞀꞂꞄꞆꞋꞍꞐꞒꞠꞢꞤꞦꞨꞪA-Z𐐀-𐐧𝐀-𝐙𝐴-𝑍𝑨-𝒁𝒜𝒞-𝒟𝒢𝒥-𝒦𝒩-𝒬𝒮-𝒵𝓐-𝓩𝔄-𝔅𝔇-𝔊𝔍-𝔔𝔖-𝔜𝔸-𝔹𝔻-𝔾𝕀-𝕄𝕆𝕊-𝕐𝕬-𝖅𝖠-𝖹𝗔-𝗭𝘈-𝘡𝘼-𝙕𝙰-𝚉𝚨-𝛀𝛢-𝛺𝜜-𝜴𝝖-𝝮𝞐-𝞨𝟊][\w\']*`, KeywordType, nil}, - {`(')\[[^\]]*\]`, KeywordType, nil}, - {`(')\([^)]*\)`, KeywordType, nil}, - {`\\(?![:!#$%&*+.\\/<=>?@^|~-]+)`, NameFunction, nil}, - {`(<-|::|->|=>|=)(?![:!#$%&*+.\\/<=>?@^|~-]+)`, OperatorWord, nil}, - {`:[:!#$%&*+.\\/<=>?@^|~-]*`, KeywordType, nil}, - {`[:!#$%&*+.\\/<=>?@^|~-]+`, Operator, nil}, - {`\d+[eE][+-]?\d+`, LiteralNumberFloat, nil}, - {`\d+\.\d+([eE][+-]?\d+)?`, LiteralNumberFloat, nil}, - {`0[oO][0-7]+`, LiteralNumberOct, nil}, - {`0[xX][\da-fA-F]+`, LiteralNumberHex, nil}, - {`\d+`, LiteralNumberInteger, nil}, - {`'`, LiteralStringChar, Push("character")}, - {`"`, LiteralString, Push("string")}, - {`\[\]`, KeywordType, nil}, - {`\(\)`, NameBuiltin, nil}, - {"[][(),;`{}]", Punctuation, nil}, - }, - "import": { - {`\s+`, Text, nil}, - {`"`, LiteralString, Push("string")}, - {`\)`, Punctuation, Pop(1)}, - {`qualified\b`, Keyword, nil}, - {`([A-ZÀ-ÖØ-ÞĀĂĄĆĈĊČĎĐĒĔĖĘĚĜĞĠĢĤĦĨĪĬĮİIJĴĶĹĻĽĿŁŃŅŇŊŌŎŐŒŔŖŘŚŜŞŠŢŤŦŨŪŬŮŰŲŴŶŸ-ŹŻŽƁ-ƂƄƆ-ƇƉ-ƋƎ-ƑƓ-ƔƖ-ƘƜ-ƝƟ-ƠƢƤƦ-ƧƩƬƮ-ƯƱ-ƳƵƷ-ƸƼDŽLJNJǍǏǑǓǕǗǙǛǞǠǢǤǦǨǪǬǮDZǴǶ-ǸǺǼǾȀȂȄȆȈȊȌȎȐȒȔȖȘȚȜȞȠȢȤȦȨȪȬȮȰȲȺ-ȻȽ-ȾɁɃ-ɆɈɊɌɎͰͲͶΆΈ-ΊΌΎ-ΏΑ-ΡΣ-ΫϏϒ-ϔϘϚϜϞϠϢϤϦϨϪϬϮϴϷϹ-ϺϽ-ЯѠѢѤѦѨѪѬѮѰѲѴѶѸѺѼѾҀҊҌҎҐҒҔҖҘҚҜҞҠҢҤҦҨҪҬҮҰҲҴҶҸҺҼҾӀ-ӁӃӅӇӉӋӍӐӒӔӖӘӚӜӞӠӢӤӦӨӪӬӮӰӲӴӶӸӺӼӾԀԂԄԆԈԊԌԎԐԒԔԖԘԚԜԞԠԢԤԦԱ-ՖႠ-ჅჇჍḀḂḄḆḈḊḌḎḐḒḔḖḘḚḜḞḠḢḤḦḨḪḬḮḰḲḴḶḸḺḼḾṀṂṄṆṈṊṌṎṐṒṔṖṘṚṜṞṠṢṤṦṨṪṬṮṰṲṴṶṸṺṼṾẀẂẄẆẈẊẌẎẐẒẔẞẠẢẤẦẨẪẬẮẰẲẴẶẸẺẼẾỀỂỄỆỈỊỌỎỐỒỔỖỘỚỜỞỠỢỤỦỨỪỬỮỰỲỴỶỸỺỼỾἈ-ἏἘ-ἝἨ-ἯἸ-ἿὈ-ὍὙὛὝὟὨ-ὯᾸ-ΆῈ-ΉῘ-ΊῨ-ῬῸ-Ώℂℇℋ-ℍℐ-ℒℕℙ-ℝℤΩℨK-ℭℰ-ℳℾ-ℿⅅↃⰀ-ⰮⱠⱢ-ⱤⱧⱩⱫⱭ-ⱰⱲⱵⱾ-ⲀⲂⲄⲆⲈⲊⲌⲎⲐⲒⲔⲖⲘⲚⲜⲞⲠⲢⲤⲦⲨⲪⲬⲮⲰⲲⲴⲶⲸⲺⲼⲾⳀⳂⳄⳆⳈⳊⳌⳎⳐⳒⳔⳖⳘⳚⳜⳞⳠⳢⳫⳭⳲꙀꙂꙄꙆꙈꙊꙌꙎꙐꙒꙔꙖꙘꙚꙜꙞꙠꙢꙤꙦꙨꙪꙬꚀꚂꚄꚆꚈꚊꚌꚎꚐꚒꚔꚖꜢꜤꜦꜨꜪꜬꜮꜲꜴꜶꜸꜺꜼꜾꝀꝂꝄꝆꝈꝊꝌꝎꝐꝒꝔꝖꝘꝚꝜꝞꝠꝢꝤꝦꝨꝪꝬꝮꝹꝻꝽ-ꝾꞀꞂꞄꞆꞋꞍꞐꞒꞠꞢꞤꞦꞨꞪA-Z𐐀-𐐧𝐀-𝐙𝐴-𝑍𝑨-𝒁𝒜𝒞-𝒟𝒢𝒥-𝒦𝒩-𝒬𝒮-𝒵𝓐-𝓩𝔄-𝔅𝔇-𝔊𝔍-𝔔𝔖-𝔜𝔸-𝔹𝔻-𝔾𝕀-𝕄𝕆𝕊-𝕐𝕬-𝖅𝖠-𝖹𝗔-𝗭𝘈-𝘡𝘼-𝙕𝙰-𝚉𝚨-𝛀𝛢-𝛺𝜜-𝜴𝝖-𝝮𝞐-𝞨𝟊][\w.]*)(\s+)(as)(\s+)([A-ZÀ-ÖØ-ÞĀĂĄĆĈĊČĎĐĒĔĖĘĚĜĞĠĢĤĦĨĪĬĮİIJĴĶĹĻĽĿŁŃŅŇŊŌŎŐŒŔŖŘŚŜŞŠŢŤŦŨŪŬŮŰŲŴŶŸ-ŹŻŽƁ-ƂƄƆ-ƇƉ-ƋƎ-ƑƓ-ƔƖ-ƘƜ-ƝƟ-ƠƢƤƦ-ƧƩƬƮ-ƯƱ-ƳƵƷ-ƸƼDŽLJNJǍǏǑǓǕǗǙǛǞǠǢǤǦǨǪǬǮDZǴǶ-ǸǺǼǾȀȂȄȆȈȊȌȎȐȒȔȖȘȚȜȞȠȢȤȦȨȪȬȮȰȲȺ-ȻȽ-ȾɁɃ-ɆɈɊɌɎͰͲͶΆΈ-ΊΌΎ-ΏΑ-ΡΣ-ΫϏϒ-ϔϘϚϜϞϠϢϤϦϨϪϬϮϴϷϹ-ϺϽ-ЯѠѢѤѦѨѪѬѮѰѲѴѶѸѺѼѾҀҊҌҎҐҒҔҖҘҚҜҞҠҢҤҦҨҪҬҮҰҲҴҶҸҺҼҾӀ-ӁӃӅӇӉӋӍӐӒӔӖӘӚӜӞӠӢӤӦӨӪӬӮӰӲӴӶӸӺӼӾԀԂԄԆԈԊԌԎԐԒԔԖԘԚԜԞԠԢԤԦԱ-ՖႠ-ჅჇჍḀḂḄḆḈḊḌḎḐḒḔḖḘḚḜḞḠḢḤḦḨḪḬḮḰḲḴḶḸḺḼḾṀṂṄṆṈṊṌṎṐṒṔṖṘṚṜṞṠṢṤṦṨṪṬṮṰṲṴṶṸṺṼṾẀẂẄẆẈẊẌẎẐẒẔẞẠẢẤẦẨẪẬẮẰẲẴẶẸẺẼẾỀỂỄỆỈỊỌỎỐỒỔỖỘỚỜỞỠỢỤỦỨỪỬỮỰỲỴỶỸỺỼỾἈ-ἏἘ-ἝἨ-ἯἸ-ἿὈ-ὍὙὛὝὟὨ-ὯᾸ-ΆῈ-ΉῘ-ΊῨ-ῬῸ-Ώℂℇℋ-ℍℐ-ℒℕℙ-ℝℤΩℨK-ℭℰ-ℳℾ-ℿⅅↃⰀ-ⰮⱠⱢ-ⱤⱧⱩⱫⱭ-ⱰⱲⱵⱾ-ⲀⲂⲄⲆⲈⲊⲌⲎⲐⲒⲔⲖⲘⲚⲜⲞⲠⲢⲤⲦⲨⲪⲬⲮⲰⲲⲴⲶⲸⲺⲼⲾⳀⳂⳄⳆⳈⳊⳌⳎⳐⳒⳔⳖⳘⳚⳜⳞⳠⳢⳫⳭⳲꙀꙂꙄꙆꙈꙊꙌꙎꙐꙒꙔꙖꙘꙚꙜꙞꙠꙢꙤꙦꙨꙪꙬꚀꚂꚄꚆꚈꚊꚌꚎꚐꚒꚔꚖꜢꜤꜦꜨꜪꜬꜮꜲꜴꜶꜸꜺꜼꜾꝀꝂꝄꝆꝈꝊꝌꝎꝐꝒꝔꝖꝘꝚꝜꝞꝠꝢꝤꝦꝨꝪꝬꝮꝹꝻꝽ-ꝾꞀꞂꞄꞆꞋꞍꞐꞒꞠꞢꞤꞦꞨꞪA-Z𐐀-𐐧𝐀-𝐙𝐴-𝑍𝑨-𝒁𝒜𝒞-𝒟𝒢𝒥-𝒦𝒩-𝒬𝒮-𝒵𝓐-𝓩𝔄-𝔅𝔇-𝔊𝔍-𝔔𝔖-𝔜𝔸-𝔹𝔻-𝔾𝕀-𝕄𝕆𝕊-𝕐𝕬-𝖅𝖠-𝖹𝗔-𝗭𝘈-𝘡𝘼-𝙕𝙰-𝚉𝚨-𝛀𝛢-𝛺𝜜-𝜴𝝖-𝝮𝞐-𝞨𝟊][\w.]*)`, ByGroups(NameNamespace, Text, Keyword, Text, Name), Pop(1)}, - {`([A-ZÀ-ÖØ-ÞĀĂĄĆĈĊČĎĐĒĔĖĘĚĜĞĠĢĤĦĨĪĬĮİIJĴĶĹĻĽĿŁŃŅŇŊŌŎŐŒŔŖŘŚŜŞŠŢŤŦŨŪŬŮŰŲŴŶŸ-ŹŻŽƁ-ƂƄƆ-ƇƉ-ƋƎ-ƑƓ-ƔƖ-ƘƜ-ƝƟ-ƠƢƤƦ-ƧƩƬƮ-ƯƱ-ƳƵƷ-ƸƼDŽLJNJǍǏǑǓǕǗǙǛǞǠǢǤǦǨǪǬǮDZǴǶ-ǸǺǼǾȀȂȄȆȈȊȌȎȐȒȔȖȘȚȜȞȠȢȤȦȨȪȬȮȰȲȺ-ȻȽ-ȾɁɃ-ɆɈɊɌɎͰͲͶΆΈ-ΊΌΎ-ΏΑ-ΡΣ-ΫϏϒ-ϔϘϚϜϞϠϢϤϦϨϪϬϮϴϷϹ-ϺϽ-ЯѠѢѤѦѨѪѬѮѰѲѴѶѸѺѼѾҀҊҌҎҐҒҔҖҘҚҜҞҠҢҤҦҨҪҬҮҰҲҴҶҸҺҼҾӀ-ӁӃӅӇӉӋӍӐӒӔӖӘӚӜӞӠӢӤӦӨӪӬӮӰӲӴӶӸӺӼӾԀԂԄԆԈԊԌԎԐԒԔԖԘԚԜԞԠԢԤԦԱ-ՖႠ-ჅჇჍḀḂḄḆḈḊḌḎḐḒḔḖḘḚḜḞḠḢḤḦḨḪḬḮḰḲḴḶḸḺḼḾṀṂṄṆṈṊṌṎṐṒṔṖṘṚṜṞṠṢṤṦṨṪṬṮṰṲṴṶṸṺṼṾẀẂẄẆẈẊẌẎẐẒẔẞẠẢẤẦẨẪẬẮẰẲẴẶẸẺẼẾỀỂỄỆỈỊỌỎỐỒỔỖỘỚỜỞỠỢỤỦỨỪỬỮỰỲỴỶỸỺỼỾἈ-ἏἘ-ἝἨ-ἯἸ-ἿὈ-ὍὙὛὝὟὨ-ὯᾸ-ΆῈ-ΉῘ-ΊῨ-ῬῸ-Ώℂℇℋ-ℍℐ-ℒℕℙ-ℝℤΩℨK-ℭℰ-ℳℾ-ℿⅅↃⰀ-ⰮⱠⱢ-ⱤⱧⱩⱫⱭ-ⱰⱲⱵⱾ-ⲀⲂⲄⲆⲈⲊⲌⲎⲐⲒⲔⲖⲘⲚⲜⲞⲠⲢⲤⲦⲨⲪⲬⲮⲰⲲⲴⲶⲸⲺⲼⲾⳀⳂⳄⳆⳈⳊⳌⳎⳐⳒⳔⳖⳘⳚⳜⳞⳠⳢⳫⳭⳲꙀꙂꙄꙆꙈꙊꙌꙎꙐꙒꙔꙖꙘꙚꙜꙞꙠꙢꙤꙦꙨꙪꙬꚀꚂꚄꚆꚈꚊꚌꚎꚐꚒꚔꚖꜢꜤꜦꜨꜪꜬꜮꜲꜴꜶꜸꜺꜼꜾꝀꝂꝄꝆꝈꝊꝌꝎꝐꝒꝔꝖꝘꝚꝜꝞꝠꝢꝤꝦꝨꝪꝬꝮꝹꝻꝽ-ꝾꞀꞂꞄꞆꞋꞍꞐꞒꞠꞢꞤꞦꞨꞪA-Z𐐀-𐐧𝐀-𝐙𝐴-𝑍𝑨-𝒁𝒜𝒞-𝒟𝒢𝒥-𝒦𝒩-𝒬𝒮-𝒵𝓐-𝓩𝔄-𝔅𝔇-𝔊𝔍-𝔔𝔖-𝔜𝔸-𝔹𝔻-𝔾𝕀-𝕄𝕆𝕊-𝕐𝕬-𝖅𝖠-𝖹𝗔-𝗭𝘈-𝘡𝘼-𝙕𝙰-𝚉𝚨-𝛀𝛢-𝛺𝜜-𝜴𝝖-𝝮𝞐-𝞨𝟊][\w.]*)(\s+)(hiding)(\s+)(\()`, ByGroups(NameNamespace, Text, Keyword, Text, Punctuation), Push("funclist")}, - {`([A-ZÀ-ÖØ-ÞĀĂĄĆĈĊČĎĐĒĔĖĘĚĜĞĠĢĤĦĨĪĬĮİIJĴĶĹĻĽĿŁŃŅŇŊŌŎŐŒŔŖŘŚŜŞŠŢŤŦŨŪŬŮŰŲŴŶŸ-ŹŻŽƁ-ƂƄƆ-ƇƉ-ƋƎ-ƑƓ-ƔƖ-ƘƜ-ƝƟ-ƠƢƤƦ-ƧƩƬƮ-ƯƱ-ƳƵƷ-ƸƼDŽLJNJǍǏǑǓǕǗǙǛǞǠǢǤǦǨǪǬǮDZǴǶ-ǸǺǼǾȀȂȄȆȈȊȌȎȐȒȔȖȘȚȜȞȠȢȤȦȨȪȬȮȰȲȺ-ȻȽ-ȾɁɃ-ɆɈɊɌɎͰͲͶΆΈ-ΊΌΎ-ΏΑ-ΡΣ-ΫϏϒ-ϔϘϚϜϞϠϢϤϦϨϪϬϮϴϷϹ-ϺϽ-ЯѠѢѤѦѨѪѬѮѰѲѴѶѸѺѼѾҀҊҌҎҐҒҔҖҘҚҜҞҠҢҤҦҨҪҬҮҰҲҴҶҸҺҼҾӀ-ӁӃӅӇӉӋӍӐӒӔӖӘӚӜӞӠӢӤӦӨӪӬӮӰӲӴӶӸӺӼӾԀԂԄԆԈԊԌԎԐԒԔԖԘԚԜԞԠԢԤԦԱ-ՖႠ-ჅჇჍḀḂḄḆḈḊḌḎḐḒḔḖḘḚḜḞḠḢḤḦḨḪḬḮḰḲḴḶḸḺḼḾṀṂṄṆṈṊṌṎṐṒṔṖṘṚṜṞṠṢṤṦṨṪṬṮṰṲṴṶṸṺṼṾẀẂẄẆẈẊẌẎẐẒẔẞẠẢẤẦẨẪẬẮẰẲẴẶẸẺẼẾỀỂỄỆỈỊỌỎỐỒỔỖỘỚỜỞỠỢỤỦỨỪỬỮỰỲỴỶỸỺỼỾἈ-ἏἘ-ἝἨ-ἯἸ-ἿὈ-ὍὙὛὝὟὨ-ὯᾸ-ΆῈ-ΉῘ-ΊῨ-ῬῸ-Ώℂℇℋ-ℍℐ-ℒℕℙ-ℝℤΩℨK-ℭℰ-ℳℾ-ℿⅅↃⰀ-ⰮⱠⱢ-ⱤⱧⱩⱫⱭ-ⱰⱲⱵⱾ-ⲀⲂⲄⲆⲈⲊⲌⲎⲐⲒⲔⲖⲘⲚⲜⲞⲠⲢⲤⲦⲨⲪⲬⲮⲰⲲⲴⲶⲸⲺⲼⲾⳀⳂⳄⳆⳈⳊⳌⳎⳐⳒⳔⳖⳘⳚⳜⳞⳠⳢⳫⳭⳲꙀꙂꙄꙆꙈꙊꙌꙎꙐꙒꙔꙖꙘꙚꙜꙞꙠꙢꙤꙦꙨꙪꙬꚀꚂꚄꚆꚈꚊꚌꚎꚐꚒꚔꚖꜢꜤꜦꜨꜪꜬꜮꜲꜴꜶꜸꜺꜼꜾꝀꝂꝄꝆꝈꝊꝌꝎꝐꝒꝔꝖꝘꝚꝜꝞꝠꝢꝤꝦꝨꝪꝬꝮꝹꝻꝽ-ꝾꞀꞂꞄꞆꞋꞍꞐꞒꞠꞢꞤꞦꞨꞪA-Z𐐀-𐐧𝐀-𝐙𝐴-𝑍𝑨-𝒁𝒜𝒞-𝒟𝒢𝒥-𝒦𝒩-𝒬𝒮-𝒵𝓐-𝓩𝔄-𝔅𝔇-𝔊𝔍-𝔔𝔖-𝔜𝔸-𝔹𝔻-𝔾𝕀-𝕄𝕆𝕊-𝕐𝕬-𝖅𝖠-𝖹𝗔-𝗭𝘈-𝘡𝘼-𝙕𝙰-𝚉𝚨-𝛀𝛢-𝛺𝜜-𝜴𝝖-𝝮𝞐-𝞨𝟊][\w.]*)(\s+)(\()`, ByGroups(NameNamespace, Text, Punctuation), Push("funclist")}, - {`[\w.]+`, NameNamespace, Pop(1)}, - }, - "module": { - {`\s+`, Text, nil}, - {`([A-ZÀ-ÖØ-ÞĀĂĄĆĈĊČĎĐĒĔĖĘĚĜĞĠĢĤĦĨĪĬĮİIJĴĶĹĻĽĿŁŃŅŇŊŌŎŐŒŔŖŘŚŜŞŠŢŤŦŨŪŬŮŰŲŴŶŸ-ŹŻŽƁ-ƂƄƆ-ƇƉ-ƋƎ-ƑƓ-ƔƖ-ƘƜ-ƝƟ-ƠƢƤƦ-ƧƩƬƮ-ƯƱ-ƳƵƷ-ƸƼDŽLJNJǍǏǑǓǕǗǙǛǞǠǢǤǦǨǪǬǮDZǴǶ-ǸǺǼǾȀȂȄȆȈȊȌȎȐȒȔȖȘȚȜȞȠȢȤȦȨȪȬȮȰȲȺ-ȻȽ-ȾɁɃ-ɆɈɊɌɎͰͲͶΆΈ-ΊΌΎ-ΏΑ-ΡΣ-ΫϏϒ-ϔϘϚϜϞϠϢϤϦϨϪϬϮϴϷϹ-ϺϽ-ЯѠѢѤѦѨѪѬѮѰѲѴѶѸѺѼѾҀҊҌҎҐҒҔҖҘҚҜҞҠҢҤҦҨҪҬҮҰҲҴҶҸҺҼҾӀ-ӁӃӅӇӉӋӍӐӒӔӖӘӚӜӞӠӢӤӦӨӪӬӮӰӲӴӶӸӺӼӾԀԂԄԆԈԊԌԎԐԒԔԖԘԚԜԞԠԢԤԦԱ-ՖႠ-ჅჇჍḀḂḄḆḈḊḌḎḐḒḔḖḘḚḜḞḠḢḤḦḨḪḬḮḰḲḴḶḸḺḼḾṀṂṄṆṈṊṌṎṐṒṔṖṘṚṜṞṠṢṤṦṨṪṬṮṰṲṴṶṸṺṼṾẀẂẄẆẈẊẌẎẐẒẔẞẠẢẤẦẨẪẬẮẰẲẴẶẸẺẼẾỀỂỄỆỈỊỌỎỐỒỔỖỘỚỜỞỠỢỤỦỨỪỬỮỰỲỴỶỸỺỼỾἈ-ἏἘ-ἝἨ-ἯἸ-ἿὈ-ὍὙὛὝὟὨ-ὯᾸ-ΆῈ-ΉῘ-ΊῨ-ῬῸ-Ώℂℇℋ-ℍℐ-ℒℕℙ-ℝℤΩℨK-ℭℰ-ℳℾ-ℿⅅↃⰀ-ⰮⱠⱢ-ⱤⱧⱩⱫⱭ-ⱰⱲⱵⱾ-ⲀⲂⲄⲆⲈⲊⲌⲎⲐⲒⲔⲖⲘⲚⲜⲞⲠⲢⲤⲦⲨⲪⲬⲮⲰⲲⲴⲶⲸⲺⲼⲾⳀⳂⳄⳆⳈⳊⳌⳎⳐⳒⳔⳖⳘⳚⳜⳞⳠⳢⳫⳭⳲꙀꙂꙄꙆꙈꙊꙌꙎꙐꙒꙔꙖꙘꙚꙜꙞꙠꙢꙤꙦꙨꙪꙬꚀꚂꚄꚆꚈꚊꚌꚎꚐꚒꚔꚖꜢꜤꜦꜨꜪꜬꜮꜲꜴꜶꜸꜺꜼꜾꝀꝂꝄꝆꝈꝊꝌꝎꝐꝒꝔꝖꝘꝚꝜꝞꝠꝢꝤꝦꝨꝪꝬꝮꝹꝻꝽ-ꝾꞀꞂꞄꞆꞋꞍꞐꞒꞠꞢꞤꞦꞨꞪA-Z𐐀-𐐧𝐀-𝐙𝐴-𝑍𝑨-𝒁𝒜𝒞-𝒟𝒢𝒥-𝒦𝒩-𝒬𝒮-𝒵𝓐-𝓩𝔄-𝔅𝔇-𝔊𝔍-𝔔𝔖-𝔜𝔸-𝔹𝔻-𝔾𝕀-𝕄𝕆𝕊-𝕐𝕬-𝖅𝖠-𝖹𝗔-𝗭𝘈-𝘡𝘼-𝙕𝙰-𝚉𝚨-𝛀𝛢-𝛺𝜜-𝜴𝝖-𝝮𝞐-𝞨𝟊][\w.]*)(\s+)(\()`, ByGroups(NameNamespace, Text, Punctuation), Push("funclist")}, - {`[A-ZÀ-ÖØ-ÞĀĂĄĆĈĊČĎĐĒĔĖĘĚĜĞĠĢĤĦĨĪĬĮİIJĴĶĹĻĽĿŁŃŅŇŊŌŎŐŒŔŖŘŚŜŞŠŢŤŦŨŪŬŮŰŲŴŶŸ-ŹŻŽƁ-ƂƄƆ-ƇƉ-ƋƎ-ƑƓ-ƔƖ-ƘƜ-ƝƟ-ƠƢƤƦ-ƧƩƬƮ-ƯƱ-ƳƵƷ-ƸƼDŽLJNJǍǏǑǓǕǗǙǛǞǠǢǤǦǨǪǬǮDZǴǶ-ǸǺǼǾȀȂȄȆȈȊȌȎȐȒȔȖȘȚȜȞȠȢȤȦȨȪȬȮȰȲȺ-ȻȽ-ȾɁɃ-ɆɈɊɌɎͰͲͶΆΈ-ΊΌΎ-ΏΑ-ΡΣ-ΫϏϒ-ϔϘϚϜϞϠϢϤϦϨϪϬϮϴϷϹ-ϺϽ-ЯѠѢѤѦѨѪѬѮѰѲѴѶѸѺѼѾҀҊҌҎҐҒҔҖҘҚҜҞҠҢҤҦҨҪҬҮҰҲҴҶҸҺҼҾӀ-ӁӃӅӇӉӋӍӐӒӔӖӘӚӜӞӠӢӤӦӨӪӬӮӰӲӴӶӸӺӼӾԀԂԄԆԈԊԌԎԐԒԔԖԘԚԜԞԠԢԤԦԱ-ՖႠ-ჅჇჍḀḂḄḆḈḊḌḎḐḒḔḖḘḚḜḞḠḢḤḦḨḪḬḮḰḲḴḶḸḺḼḾṀṂṄṆṈṊṌṎṐṒṔṖṘṚṜṞṠṢṤṦṨṪṬṮṰṲṴṶṸṺṼṾẀẂẄẆẈẊẌẎẐẒẔẞẠẢẤẦẨẪẬẮẰẲẴẶẸẺẼẾỀỂỄỆỈỊỌỎỐỒỔỖỘỚỜỞỠỢỤỦỨỪỬỮỰỲỴỶỸỺỼỾἈ-ἏἘ-ἝἨ-ἯἸ-ἿὈ-ὍὙὛὝὟὨ-ὯᾸ-ΆῈ-ΉῘ-ΊῨ-ῬῸ-Ώℂℇℋ-ℍℐ-ℒℕℙ-ℝℤΩℨK-ℭℰ-ℳℾ-ℿⅅↃⰀ-ⰮⱠⱢ-ⱤⱧⱩⱫⱭ-ⱰⱲⱵⱾ-ⲀⲂⲄⲆⲈⲊⲌⲎⲐⲒⲔⲖⲘⲚⲜⲞⲠⲢⲤⲦⲨⲪⲬⲮⲰⲲⲴⲶⲸⲺⲼⲾⳀⳂⳄⳆⳈⳊⳌⳎⳐⳒⳔⳖⳘⳚⳜⳞⳠⳢⳫⳭⳲꙀꙂꙄꙆꙈꙊꙌꙎꙐꙒꙔꙖꙘꙚꙜꙞꙠꙢꙤꙦꙨꙪꙬꚀꚂꚄꚆꚈꚊꚌꚎꚐꚒꚔꚖꜢꜤꜦꜨꜪꜬꜮꜲꜴꜶꜸꜺꜼꜾꝀꝂꝄꝆꝈꝊꝌꝎꝐꝒꝔꝖꝘꝚꝜꝞꝠꝢꝤꝦꝨꝪꝬꝮꝹꝻꝽ-ꝾꞀꞂꞄꞆꞋꞍꞐꞒꞠꞢꞤꞦꞨꞪA-Z𐐀-𐐧𝐀-𝐙𝐴-𝑍𝑨-𝒁𝒜𝒞-𝒟𝒢𝒥-𝒦𝒩-𝒬𝒮-𝒵𝓐-𝓩𝔄-𝔅𝔇-𝔊𝔍-𝔔𝔖-𝔜𝔸-𝔹𝔻-𝔾𝕀-𝕄𝕆𝕊-𝕐𝕬-𝖅𝖠-𝖹𝗔-𝗭𝘈-𝘡𝘼-𝙕𝙰-𝚉𝚨-𝛀𝛢-𝛺𝜜-𝜴𝝖-𝝮𝞐-𝞨𝟊][\w.]*`, NameNamespace, Pop(1)}, - }, - "funclist": { - {`\s+`, Text, nil}, - {`[A-ZÀ-ÖØ-ÞĀĂĄĆĈĊČĎĐĒĔĖĘĚĜĞĠĢĤĦĨĪĬĮİIJĴĶĹĻĽĿŁŃŅŇŊŌŎŐŒŔŖŘŚŜŞŠŢŤŦŨŪŬŮŰŲŴŶŸ-ŹŻŽƁ-ƂƄƆ-ƇƉ-ƋƎ-ƑƓ-ƔƖ-ƘƜ-ƝƟ-ƠƢƤƦ-ƧƩƬƮ-ƯƱ-ƳƵƷ-ƸƼDŽLJNJǍǏǑǓǕǗǙǛǞǠǢǤǦǨǪǬǮDZǴǶ-ǸǺǼǾȀȂȄȆȈȊȌȎȐȒȔȖȘȚȜȞȠȢȤȦȨȪȬȮȰȲȺ-ȻȽ-ȾɁɃ-ɆɈɊɌɎͰͲͶΆΈ-ΊΌΎ-ΏΑ-ΡΣ-ΫϏϒ-ϔϘϚϜϞϠϢϤϦϨϪϬϮϴϷϹ-ϺϽ-ЯѠѢѤѦѨѪѬѮѰѲѴѶѸѺѼѾҀҊҌҎҐҒҔҖҘҚҜҞҠҢҤҦҨҪҬҮҰҲҴҶҸҺҼҾӀ-ӁӃӅӇӉӋӍӐӒӔӖӘӚӜӞӠӢӤӦӨӪӬӮӰӲӴӶӸӺӼӾԀԂԄԆԈԊԌԎԐԒԔԖԘԚԜԞԠԢԤԦԱ-ՖႠ-ჅჇჍḀḂḄḆḈḊḌḎḐḒḔḖḘḚḜḞḠḢḤḦḨḪḬḮḰḲḴḶḸḺḼḾṀṂṄṆṈṊṌṎṐṒṔṖṘṚṜṞṠṢṤṦṨṪṬṮṰṲṴṶṸṺṼṾẀẂẄẆẈẊẌẎẐẒẔẞẠẢẤẦẨẪẬẮẰẲẴẶẸẺẼẾỀỂỄỆỈỊỌỎỐỒỔỖỘỚỜỞỠỢỤỦỨỪỬỮỰỲỴỶỸỺỼỾἈ-ἏἘ-ἝἨ-ἯἸ-ἿὈ-ὍὙὛὝὟὨ-ὯᾸ-ΆῈ-ΉῘ-ΊῨ-ῬῸ-Ώℂℇℋ-ℍℐ-ℒℕℙ-ℝℤΩℨK-ℭℰ-ℳℾ-ℿⅅↃⰀ-ⰮⱠⱢ-ⱤⱧⱩⱫⱭ-ⱰⱲⱵⱾ-ⲀⲂⲄⲆⲈⲊⲌⲎⲐⲒⲔⲖⲘⲚⲜⲞⲠⲢⲤⲦⲨⲪⲬⲮⲰⲲⲴⲶⲸⲺⲼⲾⳀⳂⳄⳆⳈⳊⳌⳎⳐⳒⳔⳖⳘⳚⳜⳞⳠⳢⳫⳭⳲꙀꙂꙄꙆꙈꙊꙌꙎꙐꙒꙔꙖꙘꙚꙜꙞꙠꙢꙤꙦꙨꙪꙬꚀꚂꚄꚆꚈꚊꚌꚎꚐꚒꚔꚖꜢꜤꜦꜨꜪꜬꜮꜲꜴꜶꜸꜺꜼꜾꝀꝂꝄꝆꝈꝊꝌꝎꝐꝒꝔꝖꝘꝚꝜꝞꝠꝢꝤꝦꝨꝪꝬꝮꝹꝻꝽ-ꝾꞀꞂꞄꞆꞋꞍꞐꞒꞠꞢꞤꞦꞨꞪA-Z𐐀-𐐧𝐀-𝐙𝐴-𝑍𝑨-𝒁𝒜𝒞-𝒟𝒢𝒥-𝒦𝒩-𝒬𝒮-𝒵𝓐-𝓩𝔄-𝔅𝔇-𝔊𝔍-𝔔𝔖-𝔜𝔸-𝔹𝔻-𝔾𝕀-𝕄𝕆𝕊-𝕐𝕬-𝖅𝖠-𝖹𝗔-𝗭𝘈-𝘡𝘼-𝙕𝙰-𝚉𝚨-𝛀𝛢-𝛺𝜜-𝜴𝝖-𝝮𝞐-𝞨𝟊]\w*`, KeywordType, nil}, - {`(_[\w\']+|[a-zµß-öø-ÿāăąćĉċčďđēĕėęěĝğġģĥħĩīĭįıijĵķ-ĸĺļľŀłńņň-ʼnŋōŏőœŕŗřśŝşšţťŧũūŭůűųŵŷźżž-ƀƃƅƈƌ-ƍƒƕƙ-ƛƞơƣƥƨƪ-ƫƭưƴƶƹ-ƺƽ-ƿdžljnjǎǐǒǔǖǘǚǜ-ǝǟǡǣǥǧǩǫǭǯ-ǰdzǵǹǻǽǿȁȃȅȇȉȋȍȏȑȓȕȗșțȝȟȡȣȥȧȩȫȭȯȱȳ-ȹȼȿ-ɀɂɇɉɋɍɏ-ʓʕ-ʯͱͳͷͻ-ͽΐά-ώϐ-ϑϕ-ϗϙϛϝϟϡϣϥϧϩϫϭϯ-ϳϵϸϻ-ϼа-џѡѣѥѧѩѫѭѯѱѳѵѷѹѻѽѿҁҋҍҏґғҕҗҙқҝҟҡңҥҧҩҫҭүұҳҵҷҹһҽҿӂӄӆӈӊӌӎ-ӏӑӓӕӗәӛӝӟӡӣӥӧөӫӭӯӱӳӵӷӹӻӽӿԁԃԅԇԉԋԍԏԑԓԕԗԙԛԝԟԡԣԥԧա-ևᴀ-ᴫᵫ-ᵷᵹ-ᶚḁḃḅḇḉḋḍḏḑḓḕḗḙḛḝḟḡḣḥḧḩḫḭḯḱḳḵḷḹḻḽḿṁṃṅṇṉṋṍṏṑṓṕṗṙṛṝṟṡṣṥṧṩṫṭṯṱṳṵṷṹṻṽṿẁẃẅẇẉẋẍẏẑẓẕ-ẝẟạảấầẩẫậắằẳẵặẹẻẽếềểễệỉịọỏốồổỗộớờởỡợụủứừửữựỳỵỷỹỻỽỿ-ἇἐ-ἕἠ-ἧἰ-ἷὀ-ὅὐ-ὗὠ-ὧὰ-ώᾀ-ᾇᾐ-ᾗᾠ-ᾧᾰ-ᾴᾶ-ᾷιῂ-ῄῆ-ῇῐ-ΐῖ-ῗῠ-ῧῲ-ῴῶ-ῷℊℎ-ℏℓℯℴℹℼ-ℽⅆ-ⅉⅎↄⰰ-ⱞⱡⱥ-ⱦⱨⱪⱬⱱⱳ-ⱴⱶ-ⱻⲁⲃⲅⲇⲉⲋⲍⲏⲑⲓⲕⲗⲙⲛⲝⲟⲡⲣⲥⲧⲩⲫⲭⲯⲱⲳⲵⲷⲹⲻⲽⲿⳁⳃⳅⳇⳉⳋⳍⳏⳑⳓⳕⳗⳙⳛⳝⳟⳡⳣ-ⳤⳬⳮⳳⴀ-ⴥⴧⴭꙁꙃꙅꙇꙉꙋꙍꙏꙑꙓꙕꙗꙙꙛꙝꙟꙡꙣꙥꙧꙩꙫꙭꚁꚃꚅꚇꚉꚋꚍꚏꚑꚓꚕꚗꜣꜥꜧꜩꜫꜭꜯ-ꜱꜳꜵꜷꜹꜻꜽꜿꝁꝃꝅꝇꝉꝋꝍꝏꝑꝓꝕꝗꝙꝛꝝꝟꝡꝣꝥꝧꝩꝫꝭꝯꝱ-ꝸꝺꝼꝿꞁꞃꞅꞇꞌꞎꞑꞓꞡꞣꞥꞧꞩꟺff-stﬓ-ﬗa-z𐐨-𐑏𝐚-𝐳𝑎-𝑔𝑖-𝑧𝒂-𝒛𝒶-𝒹𝒻𝒽-𝓃𝓅-𝓏𝓪-𝔃𝔞-𝔷𝕒-𝕫𝖆-𝖟𝖺-𝗓𝗮-𝘇𝘢-𝘻𝙖-𝙯𝚊-𝚥𝛂-𝛚𝛜-𝛡𝛼-𝜔𝜖-𝜛𝜶-𝝎𝝐-𝝕𝝰-𝞈𝞊-𝞏𝞪-𝟂𝟄-𝟉𝟋][\w\']*)`, NameFunction, nil}, - {`--(?![!#$%&*+./<=>?@^|_~:\\]).*?$`, CommentSingle, nil}, - {`\{-`, CommentMultiline, Push("comment")}, - {`,`, Punctuation, nil}, - {`[:!#$%&*+.\\/<=>?@^|~-]+`, Operator, nil}, - {`\(`, Punctuation, Push("funclist", "funclist")}, - {`\)`, Punctuation, Pop(2)}, - }, - "comment": { - {`[^-{}]+`, CommentMultiline, nil}, - {`\{-`, CommentMultiline, Push()}, - {`-\}`, CommentMultiline, Pop(1)}, - {`[-{}]`, CommentMultiline, nil}, - }, - "character": { - {`[^\\']'`, LiteralStringChar, Pop(1)}, - {`\\`, LiteralStringEscape, Push("escape")}, - {`'`, LiteralStringChar, Pop(1)}, - }, - "string": { - {`[^\\"]+`, LiteralString, nil}, - {`\\`, LiteralStringEscape, Push("escape")}, - {`"`, LiteralString, Pop(1)}, - }, - "escape": { - {`[abfnrtv"\'&\\]`, LiteralStringEscape, Pop(1)}, - {`\^[][A-ZÀ-ÖØ-ÞĀĂĄĆĈĊČĎĐĒĔĖĘĚĜĞĠĢĤĦĨĪĬĮİIJĴĶĹĻĽĿŁŃŅŇŊŌŎŐŒŔŖŘŚŜŞŠŢŤŦŨŪŬŮŰŲŴŶŸ-ŹŻŽƁ-ƂƄƆ-ƇƉ-ƋƎ-ƑƓ-ƔƖ-ƘƜ-ƝƟ-ƠƢƤƦ-ƧƩƬƮ-ƯƱ-ƳƵƷ-ƸƼDŽLJNJǍǏǑǓǕǗǙǛǞǠǢǤǦǨǪǬǮDZǴǶ-ǸǺǼǾȀȂȄȆȈȊȌȎȐȒȔȖȘȚȜȞȠȢȤȦȨȪȬȮȰȲȺ-ȻȽ-ȾɁɃ-ɆɈɊɌɎͰͲͶΆΈ-ΊΌΎ-ΏΑ-ΡΣ-ΫϏϒ-ϔϘϚϜϞϠϢϤϦϨϪϬϮϴϷϹ-ϺϽ-ЯѠѢѤѦѨѪѬѮѰѲѴѶѸѺѼѾҀҊҌҎҐҒҔҖҘҚҜҞҠҢҤҦҨҪҬҮҰҲҴҶҸҺҼҾӀ-ӁӃӅӇӉӋӍӐӒӔӖӘӚӜӞӠӢӤӦӨӪӬӮӰӲӴӶӸӺӼӾԀԂԄԆԈԊԌԎԐԒԔԖԘԚԜԞԠԢԤԦԱ-ՖႠ-ჅჇჍḀḂḄḆḈḊḌḎḐḒḔḖḘḚḜḞḠḢḤḦḨḪḬḮḰḲḴḶḸḺḼḾṀṂṄṆṈṊṌṎṐṒṔṖṘṚṜṞṠṢṤṦṨṪṬṮṰṲṴṶṸṺṼṾẀẂẄẆẈẊẌẎẐẒẔẞẠẢẤẦẨẪẬẮẰẲẴẶẸẺẼẾỀỂỄỆỈỊỌỎỐỒỔỖỘỚỜỞỠỢỤỦỨỪỬỮỰỲỴỶỸỺỼỾἈ-ἏἘ-ἝἨ-ἯἸ-ἿὈ-ὍὙὛὝὟὨ-ὯᾸ-ΆῈ-ΉῘ-ΊῨ-ῬῸ-Ώℂℇℋ-ℍℐ-ℒℕℙ-ℝℤΩℨK-ℭℰ-ℳℾ-ℿⅅↃⰀ-ⰮⱠⱢ-ⱤⱧⱩⱫⱭ-ⱰⱲⱵⱾ-ⲀⲂⲄⲆⲈⲊⲌⲎⲐⲒⲔⲖⲘⲚⲜⲞⲠⲢⲤⲦⲨⲪⲬⲮⲰⲲⲴⲶⲸⲺⲼⲾⳀⳂⳄⳆⳈⳊⳌⳎⳐⳒⳔⳖⳘⳚⳜⳞⳠⳢⳫⳭⳲꙀꙂꙄꙆꙈꙊꙌꙎꙐꙒꙔꙖꙘꙚꙜꙞꙠꙢꙤꙦꙨꙪꙬꚀꚂꚄꚆꚈꚊꚌꚎꚐꚒꚔꚖꜢꜤꜦꜨꜪꜬꜮꜲꜴꜶꜸꜺꜼꜾꝀꝂꝄꝆꝈꝊꝌꝎꝐꝒꝔꝖꝘꝚꝜꝞꝠꝢꝤꝦꝨꝪꝬꝮꝹꝻꝽ-ꝾꞀꞂꞄꞆꞋꞍꞐꞒꞠꞢꞤꞦꞨꞪA-Z𐐀-𐐧𝐀-𝐙𝐴-𝑍𝑨-𝒁𝒜𝒞-𝒟𝒢𝒥-𝒦𝒩-𝒬𝒮-𝒵𝓐-𝓩𝔄-𝔅𝔇-𝔊𝔍-𝔔𝔖-𝔜𝔸-𝔹𝔻-𝔾𝕀-𝕄𝕆𝕊-𝕐𝕬-𝖅𝖠-𝖹𝗔-𝗭𝘈-𝘡𝘼-𝙕𝙰-𝚉𝚨-𝛀𝛢-𝛺𝜜-𝜴𝝖-𝝮𝞐-𝞨𝟊@^_]`, LiteralStringEscape, Pop(1)}, - {`NUL|SOH|[SE]TX|EOT|ENQ|ACK|BEL|BS|HT|LF|VT|FF|CR|S[OI]|DLE|DC[1-4]|NAK|SYN|ETB|CAN|EM|SUB|ESC|[FGRU]S|SP|DEL`, LiteralStringEscape, Pop(1)}, - {`o[0-7]+`, LiteralStringEscape, Pop(1)}, - {`x[\da-fA-F]+`, LiteralStringEscape, Pop(1)}, - {`\d+`, LiteralStringEscape, Pop(1)}, - {`\s+\\`, LiteralStringEscape, Pop(1)}, - }, - }, -)) diff --git a/vendor/github.com/alecthomas/chroma/lexers/h/haxe.go b/vendor/github.com/alecthomas/chroma/lexers/h/haxe.go deleted file mode 100644 index 9bdcfa58..00000000 --- a/vendor/github.com/alecthomas/chroma/lexers/h/haxe.go +++ /dev/null @@ -1,641 +0,0 @@ -package h - -import ( - . "github.com/alecthomas/chroma" // nolint - "github.com/alecthomas/chroma/lexers/internal" -) - -// Haxe lexer. -var Haxe = internal.Register(MustNewLexer( - &Config{ - Name: "Haxe", - Aliases: []string{"hx", "haxe", "hxsl"}, - Filenames: []string{"*.hx", "*.hxsl"}, - MimeTypes: []string{"text/haxe", "text/x-haxe", "text/x-hx"}, - DotAll: true, - }, - Rules{ - "root": { - Include("spaces"), - Include("meta"), - {`(?:package)\b`, KeywordNamespace, Push("semicolon", "package")}, - {`(?:import)\b`, KeywordNamespace, Push("semicolon", "import")}, - {`(?:using)\b`, KeywordNamespace, Push("semicolon", "using")}, - {`(?:extern|private)\b`, KeywordDeclaration, nil}, - {`(?:abstract)\b`, KeywordDeclaration, Push("abstract")}, - {`(?:class|interface)\b`, KeywordDeclaration, Push("class")}, - {`(?:enum)\b`, KeywordDeclaration, Push("enum")}, - {`(?:typedef)\b`, KeywordDeclaration, Push("typedef")}, - {`(?=.)`, Text, Push("expr-statement")}, - }, - "spaces": { - {`\s+`, Text, nil}, - {`//[^\n\r]*`, CommentSingle, nil}, - {`/\*.*?\*/`, CommentMultiline, nil}, - {`(#)(if|elseif|else|end|error)\b`, CommentPreproc, MutatorFunc(haxePreProcMutator)}, - }, - "string-single-interpol": { - {`\$\{`, LiteralStringInterpol, Push("string-interpol-close", "expr")}, - {`\$\$`, LiteralStringEscape, nil}, - {`\$(?=(?:_*[a-z]\w*|_+[0-9]\w*|_*[A-Z]\w*|_+|\$\w+))`, LiteralStringInterpol, Push("ident")}, - Include("string-single"), - }, - "string-single": { - {`'`, LiteralStringSingle, Pop(1)}, - {`\\.`, LiteralStringEscape, nil}, - {`.`, LiteralStringSingle, nil}, - }, - "string-double": { - {`"`, LiteralStringDouble, Pop(1)}, - {`\\.`, LiteralStringEscape, nil}, - {`.`, LiteralStringDouble, nil}, - }, - "string-interpol-close": { - {`\$(?:_*[a-z]\w*|_+[0-9]\w*|_*[A-Z]\w*|_+|\$\w+)`, LiteralStringInterpol, nil}, - {`\}`, LiteralStringInterpol, Pop(1)}, - }, - "package": { - Include("spaces"), - {`(?:_*[a-z]\w*|_+[0-9]\w*|_*[A-Z]\w*|_+|\$\w+)`, NameNamespace, nil}, - {`\.`, Punctuation, Push("import-ident")}, - Default(Pop(1)), - }, - "import": { - Include("spaces"), - {`(?:_*[a-z]\w*|_+[0-9]\w*|_*[A-Z]\w*|_+|\$\w+)`, NameNamespace, nil}, - {`\*`, Keyword, nil}, - {`\.`, Punctuation, Push("import-ident")}, - {`in`, KeywordNamespace, Push("ident")}, - Default(Pop(1)), - }, - "import-ident": { - Include("spaces"), - {`\*`, Keyword, Pop(1)}, - {`(?:_*[a-z]\w*|_+[0-9]\w*|_*[A-Z]\w*|_+|\$\w+)`, NameNamespace, Pop(1)}, - }, - "using": { - Include("spaces"), - {`(?:_*[a-z]\w*|_+[0-9]\w*|_*[A-Z]\w*|_+|\$\w+)`, NameNamespace, nil}, - {`\.`, Punctuation, Push("import-ident")}, - Default(Pop(1)), - }, - "preproc-error": { - {`\s+`, CommentPreproc, nil}, - {`'`, LiteralStringSingle, Push("#pop", "string-single")}, - {`"`, LiteralStringDouble, Push("#pop", "string-double")}, - Default(Pop(1)), - }, - "preproc-expr": { - {`\s+`, CommentPreproc, nil}, - {`\!`, CommentPreproc, nil}, - {`\(`, CommentPreproc, Push("#pop", "preproc-parenthesis")}, - {`(?:_*[a-z]\w*|_+[0-9]\w*|_*[A-Z]\w*|_+|\$\w+)`, CommentPreproc, Pop(1)}, - {`\.[0-9]+`, LiteralNumberFloat, nil}, - {`[0-9]+[eE][+\-]?[0-9]+`, LiteralNumberFloat, nil}, - {`[0-9]+\.[0-9]*[eE][+\-]?[0-9]+`, LiteralNumberFloat, nil}, - {`[0-9]+\.[0-9]+`, LiteralNumberFloat, nil}, - {`[0-9]+\.(?!(?:_*[a-z]\w*|_+[0-9]\w*|_*[A-Z]\w*|_+|\$\w+)|\.\.)`, LiteralNumberFloat, nil}, - {`0x[0-9a-fA-F]+`, LiteralNumberHex, nil}, - {`[0-9]+`, LiteralNumberInteger, nil}, - {`'`, LiteralStringSingle, Push("#pop", "string-single")}, - {`"`, LiteralStringDouble, Push("#pop", "string-double")}, - }, - "preproc-parenthesis": { - {`\s+`, CommentPreproc, nil}, - {`\)`, CommentPreproc, Pop(1)}, - Default(Push("preproc-expr-in-parenthesis")), - }, - "preproc-expr-chain": { - {`\s+`, CommentPreproc, nil}, - {`(?:%=|&=|\|=|\^=|\+=|\-=|\*=|/=|<<=|>\s*>\s*=|>\s*>\s*>\s*=|==|!=|<=|>\s*=|&&|\|\||<<|>>>|>\s*>|\.\.\.|<|>|%|&|\||\^|\+|\*|/|\-|=>|=)`, CommentPreproc, Push("#pop", "preproc-expr-in-parenthesis")}, - Default(Pop(1)), - }, - "preproc-expr-in-parenthesis": { - {`\s+`, CommentPreproc, nil}, - {`\!`, CommentPreproc, nil}, - {`\(`, CommentPreproc, Push("#pop", "preproc-expr-chain", "preproc-parenthesis")}, - {`(?:_*[a-z]\w*|_+[0-9]\w*|_*[A-Z]\w*|_+|\$\w+)`, CommentPreproc, Push("#pop", "preproc-expr-chain")}, - {`\.[0-9]+`, LiteralNumberFloat, Push("#pop", "preproc-expr-chain")}, - {`[0-9]+[eE][+\-]?[0-9]+`, LiteralNumberFloat, Push("#pop", "preproc-expr-chain")}, - {`[0-9]+\.[0-9]*[eE][+\-]?[0-9]+`, LiteralNumberFloat, Push("#pop", "preproc-expr-chain")}, - {`[0-9]+\.[0-9]+`, LiteralNumberFloat, Push("#pop", "preproc-expr-chain")}, - {`[0-9]+\.(?!(?:_*[a-z]\w*|_+[0-9]\w*|_*[A-Z]\w*|_+|\$\w+)|\.\.)`, LiteralNumberFloat, Push("#pop", "preproc-expr-chain")}, - {`0x[0-9a-fA-F]+`, LiteralNumberHex, Push("#pop", "preproc-expr-chain")}, - {`[0-9]+`, LiteralNumberInteger, Push("#pop", "preproc-expr-chain")}, - {`'`, LiteralStringSingle, Push("#pop", "preproc-expr-chain", "string-single")}, - {`"`, LiteralStringDouble, Push("#pop", "preproc-expr-chain", "string-double")}, - }, - "abstract": { - Include("spaces"), - Default(Pop(1), Push("abstract-body"), Push("abstract-relation"), Push("abstract-opaque"), Push("type-param-constraint"), Push("type-name")), - }, - "abstract-body": { - Include("spaces"), - {`\{`, Punctuation, Push("#pop", "class-body")}, - }, - "abstract-opaque": { - Include("spaces"), - {`\(`, Punctuation, Push("#pop", "parenthesis-close", "type")}, - Default(Pop(1)), - }, - "abstract-relation": { - Include("spaces"), - {`(?:to|from)`, KeywordDeclaration, Push("type")}, - {`,`, Punctuation, nil}, - Default(Pop(1)), - }, - "meta": { - Include("spaces"), - {`@`, NameDecorator, Push("meta-body", "meta-ident", "meta-colon")}, - }, - "meta-colon": { - Include("spaces"), - {`:`, NameDecorator, Pop(1)}, - Default(Pop(1)), - }, - "meta-ident": { - Include("spaces"), - {`(?:_*[a-z]\w*|_+[0-9]\w*|_*[A-Z]\w*|_+|\$\w+)`, NameDecorator, Pop(1)}, - }, - "meta-body": { - Include("spaces"), - {`\(`, NameDecorator, Push("#pop", "meta-call")}, - Default(Pop(1)), - }, - "meta-call": { - Include("spaces"), - {`\)`, NameDecorator, Pop(1)}, - Default(Pop(1), Push("meta-call-sep"), Push("expr")), - }, - "meta-call-sep": { - Include("spaces"), - {`\)`, NameDecorator, Pop(1)}, - {`,`, Punctuation, Push("#pop", "meta-call")}, - }, - "typedef": { - Include("spaces"), - Default(Pop(1), Push("typedef-body"), Push("type-param-constraint"), Push("type-name")), - }, - "typedef-body": { - Include("spaces"), - {`=`, Operator, Push("#pop", "optional-semicolon", "type")}, - }, - "enum": { - Include("spaces"), - Default(Pop(1), Push("enum-body"), Push("bracket-open"), Push("type-param-constraint"), Push("type-name")), - }, - "enum-body": { - Include("spaces"), - Include("meta"), - {`\}`, Punctuation, Pop(1)}, - {`(?!(?:function|class|static|var|if|else|while|do|for|break|return|continue|extends|implements|import|switch|case|default|public|private|try|untyped|catch|new|this|throw|extern|enum|in|interface|cast|override|dynamic|typedef|package|inline|using|null|true|false|abstract)\b)(?:_*[a-z]\w*|_+[0-9]\w*|_*[A-Z]\w*|_+|\$\w+)`, Name, Push("enum-member", "type-param-constraint")}, - }, - "enum-member": { - Include("spaces"), - {`\(`, Punctuation, Push("#pop", "semicolon", "flag", "function-param")}, - Default(Pop(1), Push("semicolon"), Push("flag")), - }, - "class": { - Include("spaces"), - Default(Pop(1), Push("class-body"), Push("bracket-open"), Push("extends"), Push("type-param-constraint"), Push("type-name")), - }, - "extends": { - Include("spaces"), - {`(?:extends|implements)\b`, KeywordDeclaration, Push("type")}, - {`,`, Punctuation, nil}, - Default(Pop(1)), - }, - "bracket-open": { - Include("spaces"), - {`\{`, Punctuation, Pop(1)}, - }, - "bracket-close": { - Include("spaces"), - {`\}`, Punctuation, Pop(1)}, - }, - "class-body": { - Include("spaces"), - Include("meta"), - {`\}`, Punctuation, Pop(1)}, - {`(?:static|public|private|override|dynamic|inline|macro)\b`, KeywordDeclaration, nil}, - Default(Push("class-member")), - }, - "class-member": { - Include("spaces"), - {`(var)\b`, KeywordDeclaration, Push("#pop", "optional-semicolon", "var")}, - {`(function)\b`, KeywordDeclaration, Push("#pop", "optional-semicolon", "class-method")}, - }, - "function-local": { - Include("spaces"), - {`(?!(?:function|class|static|var|if|else|while|do|for|break|return|continue|extends|implements|import|switch|case|default|public|private|try|untyped|catch|new|this|throw|extern|enum|in|interface|cast|override|dynamic|typedef|package|inline|using|null|true|false|abstract)\b)(?:_*[a-z]\w*|_+[0-9]\w*|_*[A-Z]\w*|_+|\$\w+)`, NameFunction, Push("#pop", "optional-expr", "flag", "function-param", "parenthesis-open", "type-param-constraint")}, - Default(Pop(1), Push("optional-expr"), Push("flag"), Push("function-param"), Push("parenthesis-open"), Push("type-param-constraint")), - }, - "optional-expr": { - Include("spaces"), - Include("expr"), - Default(Pop(1)), - }, - "class-method": { - Include("spaces"), - {`(?:_*[a-z]\w*|_+[0-9]\w*|_*[A-Z]\w*|_+|\$\w+)`, NameFunction, Push("#pop", "optional-expr", "flag", "function-param", "parenthesis-open", "type-param-constraint")}, - }, - "function-param": { - Include("spaces"), - {`\)`, Punctuation, Pop(1)}, - {`\?`, Punctuation, nil}, - {`(?!(?:function|class|static|var|if|else|while|do|for|break|return|continue|extends|implements|import|switch|case|default|public|private|try|untyped|catch|new|this|throw|extern|enum|in|interface|cast|override|dynamic|typedef|package|inline|using|null|true|false|abstract)\b)(?:_*[a-z]\w*|_+[0-9]\w*|_*[A-Z]\w*|_+|\$\w+)`, Name, Push("#pop", "function-param-sep", "assign", "flag")}, - }, - "function-param-sep": { - Include("spaces"), - {`\)`, Punctuation, Pop(1)}, - {`,`, Punctuation, Push("#pop", "function-param")}, - }, - "prop-get-set": { - Include("spaces"), - {`\(`, Punctuation, Push("#pop", "parenthesis-close", "prop-get-set-opt", "comma", "prop-get-set-opt")}, - Default(Pop(1)), - }, - "prop-get-set-opt": { - Include("spaces"), - {`(?:default|null|never|dynamic|get|set)\b`, Keyword, Pop(1)}, - {`(?!(?:function|class|static|var|if|else|while|do|for|break|return|continue|extends|implements|import|switch|case|default|public|private|try|untyped|catch|new|this|throw|extern|enum|in|interface|cast|override|dynamic|typedef|package|inline|using|null|true|false|abstract)\b)(?:_*[a-z]\w*|_+[0-9]\w*|_*[A-Z]\w*|_+|\$\w+)`, Text, Pop(1)}, - }, - "expr-statement": { - Include("spaces"), - Default(Pop(1), Push("optional-semicolon"), Push("expr")), - }, - "expr": { - Include("spaces"), - {`@`, NameDecorator, Push("#pop", "optional-expr", "meta-body", "meta-ident", "meta-colon")}, - {`(?:\+\+|\-\-|~(?!/)|!|\-)`, Operator, nil}, - {`\(`, Punctuation, Push("#pop", "expr-chain", "parenthesis")}, - {`(?:static|public|private|override|dynamic|inline)\b`, KeywordDeclaration, nil}, - {`(?:function)\b`, KeywordDeclaration, Push("#pop", "expr-chain", "function-local")}, - {`\{`, Punctuation, Push("#pop", "expr-chain", "bracket")}, - {`(?:true|false|null)\b`, KeywordConstant, Push("#pop", "expr-chain")}, - {`(?:this)\b`, Keyword, Push("#pop", "expr-chain")}, - {`(?:cast)\b`, Keyword, Push("#pop", "expr-chain", "cast")}, - {`(?:try)\b`, Keyword, Push("#pop", "catch", "expr")}, - {`(?:var)\b`, KeywordDeclaration, Push("#pop", "var")}, - {`(?:new)\b`, Keyword, Push("#pop", "expr-chain", "new")}, - {`(?:switch)\b`, Keyword, Push("#pop", "switch")}, - {`(?:if)\b`, Keyword, Push("#pop", "if")}, - {`(?:do)\b`, Keyword, Push("#pop", "do")}, - {`(?:while)\b`, Keyword, Push("#pop", "while")}, - {`(?:for)\b`, Keyword, Push("#pop", "for")}, - {`(?:untyped|throw)\b`, Keyword, nil}, - {`(?:return)\b`, Keyword, Push("#pop", "optional-expr")}, - {`(?:macro)\b`, Keyword, Push("#pop", "macro")}, - {`(?:continue|break)\b`, Keyword, Pop(1)}, - {`(?:\$\s*[a-z]\b|\$(?!(?:_*[a-z]\w*|_+[0-9]\w*|_*[A-Z]\w*|_+|\$\w+)))`, Name, Push("#pop", "dollar")}, - {`(?!(?:function|class|static|var|if|else|while|do|for|break|return|continue|extends|implements|import|switch|case|default|public|private|try|untyped|catch|new|this|throw|extern|enum|in|interface|cast|override|dynamic|typedef|package|inline|using|null|true|false|abstract)\b)(?:_*[a-z]\w*|_+[0-9]\w*|_*[A-Z]\w*|_+|\$\w+)`, Name, Push("#pop", "expr-chain")}, - {`\.[0-9]+`, LiteralNumberFloat, Push("#pop", "expr-chain")}, - {`[0-9]+[eE][+\-]?[0-9]+`, LiteralNumberFloat, Push("#pop", "expr-chain")}, - {`[0-9]+\.[0-9]*[eE][+\-]?[0-9]+`, LiteralNumberFloat, Push("#pop", "expr-chain")}, - {`[0-9]+\.[0-9]+`, LiteralNumberFloat, Push("#pop", "expr-chain")}, - {`[0-9]+\.(?!(?:_*[a-z]\w*|_+[0-9]\w*|_*[A-Z]\w*|_+|\$\w+)|\.\.)`, LiteralNumberFloat, Push("#pop", "expr-chain")}, - {`0x[0-9a-fA-F]+`, LiteralNumberHex, Push("#pop", "expr-chain")}, - {`[0-9]+`, LiteralNumberInteger, Push("#pop", "expr-chain")}, - {`'`, LiteralStringSingle, Push("#pop", "expr-chain", "string-single-interpol")}, - {`"`, LiteralStringDouble, Push("#pop", "expr-chain", "string-double")}, - {`~/(\\\\|\\/|[^/\n])*/[gimsu]*`, LiteralStringRegex, Push("#pop", "expr-chain")}, - {`\[`, Punctuation, Push("#pop", "expr-chain", "array-decl")}, - }, - "expr-chain": { - Include("spaces"), - {`(?:\+\+|\-\-)`, Operator, nil}, - {`(?:%=|&=|\|=|\^=|\+=|\-=|\*=|/=|<<=|>\s*>\s*=|>\s*>\s*>\s*=|==|!=|<=|>\s*=|&&|\|\||<<|>>>|>\s*>|\.\.\.|<|>|%|&|\||\^|\+|\*|/|\-|=>|=)`, Operator, Push("#pop", "expr")}, - {`(?:in)\b`, Keyword, Push("#pop", "expr")}, - {`\?`, Operator, Push("#pop", "expr", "ternary", "expr")}, - {`(\.)((?!(?:function|class|static|var|if|else|while|do|for|break|return|continue|extends|implements|import|switch|case|default|public|private|try|untyped|catch|new|this|throw|extern|enum|in|interface|cast|override|dynamic|typedef|package|inline|using|null|true|false|abstract)\b)(?:_*[a-z]\w*|_+[0-9]\w*|_*[A-Z]\w*|_+|\$\w+))`, ByGroups(Punctuation, Name), nil}, - {`\[`, Punctuation, Push("array-access")}, - {`\(`, Punctuation, Push("call")}, - Default(Pop(1)), - }, - "macro": { - Include("spaces"), - Include("meta"), - {`:`, Punctuation, Push("#pop", "type")}, - {`(?:extern|private)\b`, KeywordDeclaration, nil}, - {`(?:abstract)\b`, KeywordDeclaration, Push("#pop", "optional-semicolon", "abstract")}, - {`(?:class|interface)\b`, KeywordDeclaration, Push("#pop", "optional-semicolon", "macro-class")}, - {`(?:enum)\b`, KeywordDeclaration, Push("#pop", "optional-semicolon", "enum")}, - {`(?:typedef)\b`, KeywordDeclaration, Push("#pop", "optional-semicolon", "typedef")}, - Default(Pop(1), Push("expr")), - }, - "macro-class": { - {`\{`, Punctuation, Push("#pop", "class-body")}, - Include("class"), - }, - "cast": { - Include("spaces"), - {`\(`, Punctuation, Push("#pop", "parenthesis-close", "cast-type", "expr")}, - Default(Pop(1), Push("expr")), - }, - "cast-type": { - Include("spaces"), - {`,`, Punctuation, Push("#pop", "type")}, - Default(Pop(1)), - }, - "catch": { - Include("spaces"), - {`(?:catch)\b`, Keyword, Push("expr", "function-param", "parenthesis-open")}, - Default(Pop(1)), - }, - "do": { - Include("spaces"), - Default(Pop(1), Push("do-while"), Push("expr")), - }, - "do-while": { - Include("spaces"), - {`(?:while)\b`, Keyword, Push("#pop", "parenthesis", "parenthesis-open")}, - }, - "while": { - Include("spaces"), - {`\(`, Punctuation, Push("#pop", "expr", "parenthesis")}, - }, - "for": { - Include("spaces"), - {`\(`, Punctuation, Push("#pop", "expr", "parenthesis")}, - }, - "if": { - Include("spaces"), - {`\(`, Punctuation, Push("#pop", "else", "optional-semicolon", "expr", "parenthesis")}, - }, - "else": { - Include("spaces"), - {`(?:else)\b`, Keyword, Push("#pop", "expr")}, - Default(Pop(1)), - }, - "switch": { - Include("spaces"), - Default(Pop(1), Push("switch-body"), Push("bracket-open"), Push("expr")), - }, - "switch-body": { - Include("spaces"), - {`(?:case|default)\b`, Keyword, Push("case-block", "case")}, - {`\}`, Punctuation, Pop(1)}, - }, - "case": { - Include("spaces"), - {`:`, Punctuation, Pop(1)}, - Default(Pop(1), Push("case-sep"), Push("case-guard"), Push("expr")), - }, - "case-sep": { - Include("spaces"), - {`:`, Punctuation, Pop(1)}, - {`,`, Punctuation, Push("#pop", "case")}, - }, - "case-guard": { - Include("spaces"), - {`(?:if)\b`, Keyword, Push("#pop", "parenthesis", "parenthesis-open")}, - Default(Pop(1)), - }, - "case-block": { - Include("spaces"), - {`(?!(?:case|default)\b|\})`, Keyword, Push("expr-statement")}, - Default(Pop(1)), - }, - "new": { - Include("spaces"), - Default(Pop(1), Push("call"), Push("parenthesis-open"), Push("type")), - }, - "array-decl": { - Include("spaces"), - {`\]`, Punctuation, Pop(1)}, - Default(Pop(1), Push("array-decl-sep"), Push("expr")), - }, - "array-decl-sep": { - Include("spaces"), - {`\]`, Punctuation, Pop(1)}, - {`,`, Punctuation, Push("#pop", "array-decl")}, - }, - "array-access": { - Include("spaces"), - Default(Pop(1), Push("array-access-close"), Push("expr")), - }, - "array-access-close": { - Include("spaces"), - {`\]`, Punctuation, Pop(1)}, - }, - "comma": { - Include("spaces"), - {`,`, Punctuation, Pop(1)}, - }, - "colon": { - Include("spaces"), - {`:`, Punctuation, Pop(1)}, - }, - "semicolon": { - Include("spaces"), - {`;`, Punctuation, Pop(1)}, - }, - "optional-semicolon": { - Include("spaces"), - {`;`, Punctuation, Pop(1)}, - Default(Pop(1)), - }, - "ident": { - Include("spaces"), - {`(?:_*[a-z]\w*|_+[0-9]\w*|_*[A-Z]\w*|_+|\$\w+)`, Name, Pop(1)}, - }, - "dollar": { - Include("spaces"), - {`\{`, Punctuation, Push("#pop", "expr-chain", "bracket-close", "expr")}, - Default(Pop(1), Push("expr-chain")), - }, - "type-name": { - Include("spaces"), - {`_*[A-Z]\w*`, Name, Pop(1)}, - }, - "type-full-name": { - Include("spaces"), - {`\.`, Punctuation, Push("ident")}, - Default(Pop(1)), - }, - "type": { - Include("spaces"), - {`\?`, Punctuation, nil}, - {`(?:_*[a-z]\w*|_+[0-9]\w*|_*[A-Z]\w*|_+|\$\w+)`, Name, Push("#pop", "type-check", "type-full-name")}, - {`\{`, Punctuation, Push("#pop", "type-check", "type-struct")}, - {`\(`, Punctuation, Push("#pop", "type-check", "type-parenthesis")}, - }, - "type-parenthesis": { - Include("spaces"), - Default(Pop(1), Push("parenthesis-close"), Push("type")), - }, - "type-check": { - Include("spaces"), - {`->`, Punctuation, Push("#pop", "type")}, - {`<(?!=)`, Punctuation, Push("type-param")}, - Default(Pop(1)), - }, - "type-struct": { - Include("spaces"), - {`\}`, Punctuation, Pop(1)}, - {`\?`, Punctuation, nil}, - {`>`, Punctuation, Push("comma", "type")}, - {`(?!(?:function|class|static|var|if|else|while|do|for|break|return|continue|extends|implements|import|switch|case|default|public|private|try|untyped|catch|new|this|throw|extern|enum|in|interface|cast|override|dynamic|typedef|package|inline|using|null|true|false|abstract)\b)(?:_*[a-z]\w*|_+[0-9]\w*|_*[A-Z]\w*|_+|\$\w+)`, Name, Push("#pop", "type-struct-sep", "type", "colon")}, - Include("class-body"), - }, - "type-struct-sep": { - Include("spaces"), - {`\}`, Punctuation, Pop(1)}, - {`,`, Punctuation, Push("#pop", "type-struct")}, - }, - "type-param-type": { - {`\.[0-9]+`, LiteralNumberFloat, Pop(1)}, - {`[0-9]+[eE][+\-]?[0-9]+`, LiteralNumberFloat, Pop(1)}, - {`[0-9]+\.[0-9]*[eE][+\-]?[0-9]+`, LiteralNumberFloat, Pop(1)}, - {`[0-9]+\.[0-9]+`, LiteralNumberFloat, Pop(1)}, - {`[0-9]+\.(?!(?:_*[a-z]\w*|_+[0-9]\w*|_*[A-Z]\w*|_+|\$\w+)|\.\.)`, LiteralNumberFloat, Pop(1)}, - {`0x[0-9a-fA-F]+`, LiteralNumberHex, Pop(1)}, - {`[0-9]+`, LiteralNumberInteger, Pop(1)}, - {`'`, LiteralStringSingle, Push("#pop", "string-single")}, - {`"`, LiteralStringDouble, Push("#pop", "string-double")}, - {`~/(\\\\|\\/|[^/\n])*/[gim]*`, LiteralStringRegex, Pop(1)}, - {`\[`, Operator, Push("#pop", "array-decl")}, - Include("type"), - }, - "type-param": { - Include("spaces"), - Default(Pop(1), Push("type-param-sep"), Push("type-param-type")), - }, - "type-param-sep": { - Include("spaces"), - {`>`, Punctuation, Pop(1)}, - {`,`, Punctuation, Push("#pop", "type-param")}, - }, - "type-param-constraint": { - Include("spaces"), - {`<(?!=)`, Punctuation, Push("#pop", "type-param-constraint-sep", "type-param-constraint-flag", "type-name")}, - Default(Pop(1)), - }, - "type-param-constraint-sep": { - Include("spaces"), - {`>`, Punctuation, Pop(1)}, - {`,`, Punctuation, Push("#pop", "type-param-constraint-sep", "type-param-constraint-flag", "type-name")}, - }, - "type-param-constraint-flag": { - Include("spaces"), - {`:`, Punctuation, Push("#pop", "type-param-constraint-flag-type")}, - Default(Pop(1)), - }, - "type-param-constraint-flag-type": { - Include("spaces"), - {`\(`, Punctuation, Push("#pop", "type-param-constraint-flag-type-sep", "type")}, - Default(Pop(1), Push("type")), - }, - "type-param-constraint-flag-type-sep": { - Include("spaces"), - {`\)`, Punctuation, Pop(1)}, - {`,`, Punctuation, Push("type")}, - }, - "parenthesis": { - Include("spaces"), - Default(Pop(1), Push("parenthesis-close"), Push("flag"), Push("expr")), - }, - "parenthesis-open": { - Include("spaces"), - {`\(`, Punctuation, Pop(1)}, - }, - "parenthesis-close": { - Include("spaces"), - {`\)`, Punctuation, Pop(1)}, - }, - "var": { - Include("spaces"), - {`(?!(?:function|class|static|var|if|else|while|do|for|break|return|continue|extends|implements|import|switch|case|default|public|private|try|untyped|catch|new|this|throw|extern|enum|in|interface|cast|override|dynamic|typedef|package|inline|using|null|true|false|abstract)\b)(?:_*[a-z]\w*|_+[0-9]\w*|_*[A-Z]\w*|_+|\$\w+)`, Text, Push("#pop", "var-sep", "assign", "flag", "prop-get-set")}, - }, - "var-sep": { - Include("spaces"), - {`,`, Punctuation, Push("#pop", "var")}, - Default(Pop(1)), - }, - "assign": { - Include("spaces"), - {`=`, Operator, Push("#pop", "expr")}, - Default(Pop(1)), - }, - "flag": { - Include("spaces"), - {`:`, Punctuation, Push("#pop", "type")}, - Default(Pop(1)), - }, - "ternary": { - Include("spaces"), - {`:`, Operator, Pop(1)}, - }, - "call": { - Include("spaces"), - {`\)`, Punctuation, Pop(1)}, - Default(Pop(1), Push("call-sep"), Push("expr")), - }, - "call-sep": { - Include("spaces"), - {`\)`, Punctuation, Pop(1)}, - {`,`, Punctuation, Push("#pop", "call")}, - }, - "bracket": { - Include("spaces"), - {`(?!(?:\$\s*[a-z]\b|\$(?!(?:_*[a-z]\w*|_+[0-9]\w*|_*[A-Z]\w*|_+|\$\w+))))(?!(?:function|class|static|var|if|else|while|do|for|break|return|continue|extends|implements|import|switch|case|default|public|private|try|untyped|catch|new|this|throw|extern|enum|in|interface|cast|override|dynamic|typedef|package|inline|using|null|true|false|abstract)\b)(?:_*[a-z]\w*|_+[0-9]\w*|_*[A-Z]\w*|_+|\$\w+)`, Name, Push("#pop", "bracket-check")}, - {`'`, LiteralStringSingle, Push("#pop", "bracket-check", "string-single")}, - {`"`, LiteralStringDouble, Push("#pop", "bracket-check", "string-double")}, - Default(Pop(1), Push("block")), - }, - "bracket-check": { - Include("spaces"), - {`:`, Punctuation, Push("#pop", "object-sep", "expr")}, - Default(Pop(1), Push("block"), Push("optional-semicolon"), Push("expr-chain")), - }, - "block": { - Include("spaces"), - {`\}`, Punctuation, Pop(1)}, - Default(Push("expr-statement")), - }, - "object": { - Include("spaces"), - {`\}`, Punctuation, Pop(1)}, - Default(Pop(1), Push("object-sep"), Push("expr"), Push("colon"), Push("ident-or-string")), - }, - "ident-or-string": { - Include("spaces"), - {`(?!(?:function|class|static|var|if|else|while|do|for|break|return|continue|extends|implements|import|switch|case|default|public|private|try|untyped|catch|new|this|throw|extern|enum|in|interface|cast|override|dynamic|typedef|package|inline|using|null|true|false|abstract)\b)(?:_*[a-z]\w*|_+[0-9]\w*|_*[A-Z]\w*|_+|\$\w+)`, Name, Pop(1)}, - {`'`, LiteralStringSingle, Push("#pop", "string-single")}, - {`"`, LiteralStringDouble, Push("#pop", "string-double")}, - }, - "object-sep": { - Include("spaces"), - {`\}`, Punctuation, Pop(1)}, - {`,`, Punctuation, Push("#pop", "object")}, - }, - }, -)) - -func haxePreProcMutator(state *LexerState) error { - stack, ok := state.Get("haxe-pre-proc").([][]string) - if !ok { - stack = [][]string{} - } - - proc := state.Groups[2] - if proc == "if" { - stack = append(stack, state.Stack) - } else if proc == "else" || proc == "elseif" { - if len(stack) > 0 { - state.Stack = stack[len(stack)-1] - } - } else if proc == "end" { - stack = stack[:len(stack)-1] - } - - if proc == "if" || proc == "elseif" { - state.Stack = append(state.Stack, "preproc-expr") - } - - if proc == "error" { - state.Stack = append(state.Stack, "preproc-error") - } - state.Set("haxe-pre-proc", stack) - return nil -} diff --git a/vendor/github.com/alecthomas/chroma/lexers/h/hexdump.go b/vendor/github.com/alecthomas/chroma/lexers/h/hexdump.go deleted file mode 100644 index 8b7e7bdd..00000000 --- a/vendor/github.com/alecthomas/chroma/lexers/h/hexdump.go +++ /dev/null @@ -1,67 +0,0 @@ -package h - -import ( - . "github.com/alecthomas/chroma" // nolint - "github.com/alecthomas/chroma/lexers/internal" -) - -// Hexdump lexer. -var Hexdump = internal.Register(MustNewLexer( - &Config{ - Name: "Hexdump", - Aliases: []string{"hexdump"}, - Filenames: []string{}, - MimeTypes: []string{}, - }, - Rules{ - "root": { - {`\n`, Text, nil}, - Include("offset"), - {`([0-9A-Ha-h]{2})(\-)([0-9A-Ha-h]{2})`, ByGroups(LiteralNumberHex, Punctuation, LiteralNumberHex), nil}, - {`[0-9A-Ha-h]{2}`, LiteralNumberHex, nil}, - {`(\s{2,3})(\>)(.{16})(\<)$`, ByGroups(Text, Punctuation, LiteralString, Punctuation), Push("bracket-strings")}, - {`(\s{2,3})(\|)(.{16})(\|)$`, ByGroups(Text, Punctuation, LiteralString, Punctuation), Push("piped-strings")}, - {`(\s{2,3})(\>)(.{1,15})(\<)$`, ByGroups(Text, Punctuation, LiteralString, Punctuation), nil}, - {`(\s{2,3})(\|)(.{1,15})(\|)$`, ByGroups(Text, Punctuation, LiteralString, Punctuation), nil}, - {`(\s{2,3})(.{1,15})$`, ByGroups(Text, LiteralString), nil}, - {`(\s{2,3})(.{16}|.{20})$`, ByGroups(Text, LiteralString), Push("nonpiped-strings")}, - {`\s`, Text, nil}, - {`^\*`, Punctuation, nil}, - }, - "offset": { - {`^([0-9A-Ha-h]+)(:)`, ByGroups(NameLabel, Punctuation), Push("offset-mode")}, - {`^[0-9A-Ha-h]+`, NameLabel, nil}, - }, - "offset-mode": { - {`\s`, Text, Pop(1)}, - {`[0-9A-Ha-h]+`, NameLabel, nil}, - {`:`, Punctuation, nil}, - }, - "piped-strings": { - {`\n`, Text, nil}, - Include("offset"), - {`[0-9A-Ha-h]{2}`, LiteralNumberHex, nil}, - {`(\s{2,3})(\|)(.{1,16})(\|)$`, ByGroups(Text, Punctuation, LiteralString, Punctuation), nil}, - {`\s`, Text, nil}, - {`^\*`, Punctuation, nil}, - }, - "bracket-strings": { - {`\n`, Text, nil}, - Include("offset"), - {`[0-9A-Ha-h]{2}`, LiteralNumberHex, nil}, - {`(\s{2,3})(\>)(.{1,16})(\<)$`, ByGroups(Text, Punctuation, LiteralString, Punctuation), nil}, - {`\s`, Text, nil}, - {`^\*`, Punctuation, nil}, - }, - "nonpiped-strings": { - {`\n`, Text, nil}, - Include("offset"), - {`([0-9A-Ha-h]{2})(\-)([0-9A-Ha-h]{2})`, ByGroups(LiteralNumberHex, Punctuation, LiteralNumberHex), nil}, - {`[0-9A-Ha-h]{2}`, LiteralNumberHex, nil}, - {`(\s{19,})(.{1,20}?)$`, ByGroups(Text, LiteralString), nil}, - {`(\s{2,3})(.{1,20})$`, ByGroups(Text, LiteralString), nil}, - {`\s`, Text, nil}, - {`^\*`, Punctuation, nil}, - }, - }, -)) diff --git a/vendor/github.com/alecthomas/chroma/lexers/h/html.go b/vendor/github.com/alecthomas/chroma/lexers/h/html.go deleted file mode 100644 index 07fc27ef..00000000 --- a/vendor/github.com/alecthomas/chroma/lexers/h/html.go +++ /dev/null @@ -1,59 +0,0 @@ -package h - -import ( - . "github.com/alecthomas/chroma" // nolint - . "github.com/alecthomas/chroma/lexers/c" // nolint - "github.com/alecthomas/chroma/lexers/internal" - . "github.com/alecthomas/chroma/lexers/j" // nolint -) - -// HTML lexer. -var HTML = internal.Register(MustNewLexer( - &Config{ - Name: "HTML", - Aliases: []string{"html"}, - Filenames: []string{"*.html", "*.htm", "*.xhtml", "*.xslt"}, - MimeTypes: []string{"text/html", "application/xhtml+xml"}, - NotMultiline: true, - DotAll: true, - CaseInsensitive: true, - }, - Rules{ - "root": { - {`[^<&]+`, Text, nil}, - {`&\S*?;`, NameEntity, nil}, - {`\<\!\[CDATA\[.*?\]\]\>`, CommentPreproc, nil}, - {``, Comment, Pop(1)}, - {`-`, Comment, nil}, - }, - "tag": { - {`\s+`, Text, nil}, - {`([\w:-]+\s*)(=)(\s*)`, ByGroups(NameAttribute, Operator, Text), Push("attr")}, - {`[\w:-]+`, NameAttribute, nil}, - {`(/?)(\s*)(>)`, ByGroups(Punctuation, Text, Punctuation), Pop(1)}, - }, - "script-content": { - {`(<)(\s*)(/)(\s*)(script)(\s*)(>)`, ByGroups(Punctuation, Text, Punctuation, Text, NameTag, Text, Punctuation), Pop(1)}, - {`.+?(?=<\s*/\s*script\s*>)`, Using(Javascript), nil}, - }, - "style-content": { - {`(<)(\s*)(/)(\s*)(style)(\s*)(>)`, ByGroups(Punctuation, Text, Punctuation, Text, NameTag, Text, Punctuation), Pop(1)}, - {`.+?(?=<\s*/\s*style\s*>)`, Using(CSS), nil}, - }, - "attr": { - {`".*?"`, LiteralString, Pop(1)}, - {`'.*?'`, LiteralString, Pop(1)}, - {`[^\s>]+`, LiteralString, Pop(1)}, - }, - }, -)) diff --git a/vendor/github.com/alecthomas/chroma/lexers/h/http.go b/vendor/github.com/alecthomas/chroma/lexers/h/http.go deleted file mode 100644 index e0ada970..00000000 --- a/vendor/github.com/alecthomas/chroma/lexers/h/http.go +++ /dev/null @@ -1,132 +0,0 @@ -package h - -import ( - "strings" - - . "github.com/alecthomas/chroma" // nolint - "github.com/alecthomas/chroma/lexers/internal" -) - -// HTTP lexer. -var HTTP = internal.Register(httpBodyContentTypeLexer(MustNewLexer( - &Config{ - Name: "HTTP", - Aliases: []string{"http"}, - Filenames: []string{}, - MimeTypes: []string{}, - NotMultiline: true, - DotAll: true, - }, - Rules{ - "root": { - {`(GET|POST|PUT|DELETE|HEAD|OPTIONS|TRACE|PATCH|CONNECT)( +)([^ ]+)( +)(HTTP)(/)(1\.[01])(\r?\n|\Z)`, ByGroups(NameFunction, Text, NameNamespace, Text, KeywordReserved, Operator, LiteralNumber, Text), Push("headers")}, - {`(HTTP)(/)(1\.[01])( +)(\d{3})( +)([^\r\n]+)(\r?\n|\Z)`, ByGroups(KeywordReserved, Operator, LiteralNumber, Text, LiteralNumber, Text, NameException, Text), Push("headers")}, - }, - "headers": { - {`([^\s:]+)( *)(:)( *)([^\r\n]+)(\r?\n|\Z)`, EmitterFunc(httpHeaderBlock), nil}, - {`([\t ]+)([^\r\n]+)(\r?\n|\Z)`, EmitterFunc(httpContinuousHeaderBlock), nil}, - {`\r?\n`, Text, Push("content")}, - }, - "content": { - {`.+`, EmitterFunc(httpContentBlock), nil}, - }, - }, -))) - -func httpContentBlock(groups []string, lexer Lexer) Iterator { - tokens := []Token{ - {Generic, groups[0]}, - } - return Literator(tokens...) - -} - -func httpHeaderBlock(groups []string, lexer Lexer) Iterator { - tokens := []Token{ - {Name, groups[1]}, - {Text, groups[2]}, - {Operator, groups[3]}, - {Text, groups[4]}, - {Literal, groups[5]}, - {Text, groups[6]}, - } - return Literator(tokens...) -} - -func httpContinuousHeaderBlock(groups []string, lexer Lexer) Iterator { - tokens := []Token{ - {Text, groups[1]}, - {Literal, groups[2]}, - {Text, groups[3]}, - } - return Literator(tokens...) -} - -func httpBodyContentTypeLexer(lexer Lexer) Lexer { return &httpBodyContentTyper{lexer} } - -type httpBodyContentTyper struct{ Lexer } - -func (d *httpBodyContentTyper) Tokenise(options *TokeniseOptions, text string) (Iterator, error) { - var contentType string - var isContentType bool - var subIterator Iterator - - it, err := d.Lexer.Tokenise(options, text) - if err != nil { - return nil, err - } - - return func() Token { - for token := it(); token != EOF; token = it() { - switch { - case token.Type == Name && strings.ToLower(token.Value) == "content-type": - { - isContentType = true - } - case token.Type == Literal && isContentType: - { - isContentType = false - contentType = strings.TrimSpace(token.Value) - pos := strings.Index(contentType, ";") - if pos > 0 { - contentType = strings.TrimSpace(contentType[:pos]) - } - } - case token.Type == Generic && contentType != "": - { - lexer := internal.MatchMimeType(contentType) - - // application/calendar+xml can be treated as application/xml - // if there's not a better match. - if lexer == nil && strings.Contains(contentType, "+") { - slashPos := strings.Index(contentType, "/") - plusPos := strings.LastIndex(contentType, "+") - contentType = contentType[:slashPos+1] + contentType[plusPos+1:] - lexer = internal.MatchMimeType(contentType) - } - - if lexer == nil { - token.Type = Text - } else { - subIterator, err = lexer.Tokenise(nil, token.Value) - if err != nil { - panic(err) - } - return EOF - } - } - - } - - return token - } - - if subIterator != nil { - for token := subIterator(); token != EOF; token = subIterator() { - return token - } - } - return EOF - - }, nil -} diff --git a/vendor/github.com/alecthomas/chroma/lexers/h/hy.go b/vendor/github.com/alecthomas/chroma/lexers/h/hy.go deleted file mode 100644 index 17385e86..00000000 --- a/vendor/github.com/alecthomas/chroma/lexers/h/hy.go +++ /dev/null @@ -1,51 +0,0 @@ -package h - -import ( - . "github.com/alecthomas/chroma" // nolint - "github.com/alecthomas/chroma/lexers/internal" -) - -// Hy lexer. -var Hy = internal.Register(MustNewLexer( - &Config{ - Name: "Hy", - Aliases: []string{"hylang"}, - Filenames: []string{"*.hy"}, - MimeTypes: []string{"text/x-hy", "application/x-hy"}, - }, - Rules{ - "root": { - {`;.*$`, CommentSingle, nil}, - {`[,\s]+`, Text, nil}, - {`-?\d+\.\d+`, LiteralNumberFloat, nil}, - {`-?\d+`, LiteralNumberInteger, nil}, - {`0[0-7]+j?`, LiteralNumberOct, nil}, - {`0[xX][a-fA-F0-9]+`, LiteralNumberHex, nil}, - {`"(\\\\|\\"|[^"])*"`, LiteralString, nil}, - {`'(?!#)[\w!$%*+<=>?/.#-]+`, LiteralStringSymbol, nil}, - {`\\(.|[a-z]+)`, LiteralStringChar, nil}, - {`^(\s*)([rRuU]{,2}"""(?:.|\n)*?""")`, ByGroups(Text, LiteralStringDoc), nil}, - {`^(\s*)([rRuU]{,2}'''(?:.|\n)*?''')`, ByGroups(Text, LiteralStringDoc), nil}, - {`::?(?!#)[\w!$%*+<=>?/.#-]+`, LiteralStringSymbol, nil}, - {"~@|[`\\'#^~&@]", Operator, nil}, - Include("py-keywords"), - Include("py-builtins"), - {Words(``, ` `, `cond`, `for`, `->`, `->>`, `car`, `cdr`, `first`, `rest`, `let`, `when`, `unless`, `import`, `do`, `progn`, `get`, `slice`, `assoc`, `with-decorator`, `,`, `list_comp`, `kwapply`, `~`, `is`, `in`, `is-not`, `not-in`, `quasiquote`, `unquote`, `unquote-splice`, `quote`, `|`, `<<=`, `>>=`, `foreach`, `while`, `eval-and-compile`, `eval-when-compile`), Keyword, nil}, - {Words(``, ` `, `def`, `defn`, `defun`, `defmacro`, `defclass`, `lambda`, `fn`, `setv`), KeywordDeclaration, nil}, - {Words(``, ` `, `cycle`, `dec`, `distinct`, `drop`, `even?`, `filter`, `inc`, `instance?`, `iterable?`, `iterate`, `iterator?`, `neg?`, `none?`, `nth`, `numeric?`, `odd?`, `pos?`, `remove`, `repeat`, `repeatedly`, `take`, `take_nth`, `take_while`, `zero?`), NameBuiltin, nil}, - {`(?<=\()(?!#)[\w!$%*+<=>?/.#-]+`, NameFunction, nil}, - {`(?!#)[\w!$%*+<=>?/.#-]+`, NameVariable, nil}, - {`(\[|\])`, Punctuation, nil}, - {`(\{|\})`, Punctuation, nil}, - {`(\(|\))`, Punctuation, nil}, - }, - "py-keywords": { - {Words(``, `\b`, `assert`, `break`, `continue`, `del`, `elif`, `else`, `except`, `exec`, `finally`, `for`, `global`, `if`, `lambda`, `pass`, `print`, `raise`, `return`, `try`, `while`, `yield`, `yield from`, `as`, `with`), Keyword, nil}, - }, - "py-builtins": { - {Words(`(??@^|_~:\\]).*?)$`, ByGroups(Text, CommentSingle), nil}, - {`(\s*)(\|{3}.*?)$`, ByGroups(Text, CommentSingle), nil}, - {`(\s*)(\{-)`, ByGroups(Text, CommentMultiline), Push("comment")}, - {`^(\s*)([^\s(){}]+)(\s*)(:)(\s*)`, ByGroups(Text, NameFunction, Text, OperatorWord, Text), nil}, - {`\b(case|class|data|default|using|do|else|if|in|infix[lr]?|instance|rewrite|auto|namespace|codata|mutual|private|public|abstract|total|partial|let|proof|of|then|static|where|_|with|pattern|term|syntax|prefix|postulate|parameters|record|dsl|impossible|implicit|tactics|intros|intro|compute|refine|exact|trivial)(?!\')\b`, KeywordReserved, nil}, - {`(import|module)(\s+)`, ByGroups(KeywordReserved, Text), Push("module")}, - {`('')?[A-Z][\w\']*`, KeywordType, nil}, - {`[a-z][\w\']*`, Text, nil}, - {`(<-|::|->|=>|=)`, OperatorWord, nil}, - {`([(){}\[\]:!#$%&*+.\\/<=>?@^|~-]+)`, OperatorWord, nil}, - {`\d+[eE][+-]?\d+`, LiteralNumberFloat, nil}, - {`\d+\.\d+([eE][+-]?\d+)?`, LiteralNumberFloat, nil}, - {`0[xX][\da-fA-F]+`, LiteralNumberHex, nil}, - {`\d+`, LiteralNumberInteger, nil}, - {`'`, LiteralStringChar, Push("character")}, - {`"`, LiteralString, Push("string")}, - {`[^\s(){}]+`, Text, nil}, - {`\s+?`, Text, nil}, - }, - "module": { - {`\s+`, Text, nil}, - {`([A-Z][\w.]*)(\s+)(\()`, ByGroups(NameNamespace, Text, Punctuation), Push("funclist")}, - {`[A-Z][\w.]*`, NameNamespace, Pop(1)}, - }, - "funclist": { - {`\s+`, Text, nil}, - {`[A-Z]\w*`, KeywordType, nil}, - {`(_[\w\']+|[a-z][\w\']*)`, NameFunction, nil}, - {`--.*$`, CommentSingle, nil}, - {`\{-`, CommentMultiline, Push("comment")}, - {`,`, Punctuation, nil}, - {`[:!#$%&*+.\\/<=>?@^|~-]+`, Operator, nil}, - {`\(`, Punctuation, Push("funclist", "funclist")}, - {`\)`, Punctuation, Pop(2)}, - }, - "comment": { - {`[^-{}]+`, CommentMultiline, nil}, - {`\{-`, CommentMultiline, Push()}, - {`-\}`, CommentMultiline, Pop(1)}, - {`[-{}]`, CommentMultiline, nil}, - }, - "character": { - {`[^\\']`, LiteralStringChar, nil}, - {`\\`, LiteralStringEscape, Push("escape")}, - {`'`, LiteralStringChar, Pop(1)}, - }, - "string": { - {`[^\\"]+`, LiteralString, nil}, - {`\\`, LiteralStringEscape, Push("escape")}, - {`"`, LiteralString, Pop(1)}, - }, - "escape": { - {`[abfnrtv"\'&\\]`, LiteralStringEscape, Pop(1)}, - {`\^[][A-Z@^_]`, LiteralStringEscape, Pop(1)}, - {`NUL|SOH|[SE]TX|EOT|ENQ|ACK|BEL|BS|HT|LF|VT|FF|CR|S[OI]|DLE|DC[1-4]|NAK|SYN|ETB|CAN|EM|SUB|ESC|[FGRU]S|SP|DEL`, LiteralStringEscape, Pop(1)}, - {`o[0-7]+`, LiteralStringEscape, Pop(1)}, - {`x[\da-fA-F]+`, LiteralStringEscape, Pop(1)}, - {`\d+`, LiteralStringEscape, Pop(1)}, - {`\s+\\`, LiteralStringEscape, Pop(1)}, - }, - }, -)) diff --git a/vendor/github.com/alecthomas/chroma/lexers/i/ini.go b/vendor/github.com/alecthomas/chroma/lexers/i/ini.go deleted file mode 100644 index 39b5edd2..00000000 --- a/vendor/github.com/alecthomas/chroma/lexers/i/ini.go +++ /dev/null @@ -1,25 +0,0 @@ -package i - -import ( - . "github.com/alecthomas/chroma" // nolint - "github.com/alecthomas/chroma/lexers/internal" -) - -// Ini lexer. -var Ini = internal.Register(MustNewLexer( - &Config{ - Name: "INI", - Aliases: []string{"ini", "cfg", "dosini"}, - Filenames: []string{"*.ini", "*.cfg", "*.inf", ".gitconfig"}, - MimeTypes: []string{"text/x-ini", "text/inf"}, - }, - Rules{ - "root": { - {`\s+`, Text, nil}, - {`[;#].*`, CommentSingle, nil}, - {`\[.*?\]$`, Keyword, nil}, - {`(.*?)([ \t]*)(=)([ \t]*)(.*(?:\n[ \t].+)*)`, ByGroups(NameAttribute, Text, Operator, Text, LiteralString), nil}, - {`(.+?)$`, NameAttribute, nil}, - }, - }, -)) diff --git a/vendor/github.com/alecthomas/chroma/lexers/i/io.go b/vendor/github.com/alecthomas/chroma/lexers/i/io.go deleted file mode 100644 index 840feeaa..00000000 --- a/vendor/github.com/alecthomas/chroma/lexers/i/io.go +++ /dev/null @@ -1,40 +0,0 @@ -package i - -import ( - . "github.com/alecthomas/chroma" // nolint - "github.com/alecthomas/chroma/lexers/internal" -) - -// Io lexer. -var Io = internal.Register(MustNewLexer( - &Config{ - Name: "Io", - Aliases: []string{"io"}, - Filenames: []string{"*.io"}, - MimeTypes: []string{"text/x-iosrc"}, - }, - Rules{ - "root": { - {`\n`, Text, nil}, - {`\s+`, Text, nil}, - {`//(.*?)\n`, CommentSingle, nil}, - {`#(.*?)\n`, CommentSingle, nil}, - {`/(\\\n)?[*](.|\n)*?[*](\\\n)?/`, CommentMultiline, nil}, - {`/\+`, CommentMultiline, Push("nestedcomment")}, - {`"(\\\\|\\"|[^"])*"`, LiteralString, nil}, - {`::=|:=|=|\(|\)|;|,|\*|-|\+|>|<|@|!|/|\||\^|\.|%|&|\[|\]|\{|\}`, Operator, nil}, - {`(clone|do|doFile|doString|method|for|if|else|elseif|then)\b`, Keyword, nil}, - {`(nil|false|true)\b`, NameConstant, nil}, - {`(Object|list|List|Map|args|Sequence|Coroutine|File)\b`, NameBuiltin, nil}, - {`[a-zA-Z_]\w*`, Name, nil}, - {`(\d+\.?\d*|\d*\.\d+)([eE][+-]?[0-9]+)?`, LiteralNumberFloat, nil}, - {`\d+`, LiteralNumberInteger, nil}, - }, - "nestedcomment": { - {`[^+/]+`, CommentMultiline, nil}, - {`/\+`, CommentMultiline, Push()}, - {`\+/`, CommentMultiline, Pop(1)}, - {`[+/]`, CommentMultiline, nil}, - }, - }, -)) diff --git a/vendor/github.com/alecthomas/chroma/lexers/internal/api.go b/vendor/github.com/alecthomas/chroma/lexers/internal/api.go deleted file mode 100644 index f1b67143..00000000 --- a/vendor/github.com/alecthomas/chroma/lexers/internal/api.go +++ /dev/null @@ -1,159 +0,0 @@ -package internal - -import ( - "path/filepath" - "sort" - "strings" - - "github.com/danwakefield/fnmatch" - - "github.com/alecthomas/chroma" -) - -// Registry of Lexers. -var Registry = struct { - Lexers chroma.Lexers - byName map[string]chroma.Lexer - byAlias map[string]chroma.Lexer -}{ - byName: map[string]chroma.Lexer{}, - byAlias: map[string]chroma.Lexer{}, -} - -// Names of all lexers, optionally including aliases. -func Names(withAliases bool) []string { - out := []string{} - for _, lexer := range Registry.Lexers { - config := lexer.Config() - out = append(out, config.Name) - if withAliases { - out = append(out, config.Aliases...) - } - } - sort.Strings(out) - return out -} - -// Get a Lexer by name, alias or file extension. -func Get(name string) chroma.Lexer { - candidates := chroma.PrioritisedLexers{} - if lexer := Registry.byName[name]; lexer != nil { - candidates = append(candidates, lexer) - } - if lexer := Registry.byAlias[name]; lexer != nil { - candidates = append(candidates, lexer) - } - if lexer := Registry.byName[strings.ToLower(name)]; lexer != nil { - candidates = append(candidates, lexer) - } - if lexer := Registry.byAlias[strings.ToLower(name)]; lexer != nil { - candidates = append(candidates, lexer) - } - // Try file extension. - if lexer := Match("filename." + name); lexer != nil { - candidates = append(candidates, lexer) - } - // Try exact filename. - if lexer := Match(name); lexer != nil { - candidates = append(candidates, lexer) - } - if len(candidates) == 0 { - return nil - } - sort.Sort(candidates) - return candidates[0] -} - -// MatchMimeType attempts to find a lexer for the given MIME type. -func MatchMimeType(mimeType string) chroma.Lexer { - matched := chroma.PrioritisedLexers{} - for _, l := range Registry.Lexers { - for _, lmt := range l.Config().MimeTypes { - if mimeType == lmt { - matched = append(matched, l) - } - } - } - if len(matched) != 0 { - sort.Sort(matched) - return matched[0] - } - return nil -} - -// Match returns the first lexer matching filename. -func Match(filename string) chroma.Lexer { - filename = filepath.Base(filename) - matched := chroma.PrioritisedLexers{} - // First, try primary filename matches. - for _, lexer := range Registry.Lexers { - config := lexer.Config() - for _, glob := range config.Filenames { - if fnmatch.Match(glob, filename, 0) { - matched = append(matched, lexer) - } - } - } - if len(matched) > 0 { - sort.Sort(matched) - return matched[0] - } - matched = nil - // Next, try filename aliases. - for _, lexer := range Registry.Lexers { - config := lexer.Config() - for _, glob := range config.AliasFilenames { - if fnmatch.Match(glob, filename, 0) { - matched = append(matched, lexer) - } - } - } - if len(matched) > 0 { - sort.Sort(matched) - return matched[0] - } - return nil -} - -// Analyse text content and return the "best" lexer.. -func Analyse(text string) chroma.Lexer { - var picked chroma.Lexer - highest := float32(0.0) - for _, lexer := range Registry.Lexers { - if analyser, ok := lexer.(chroma.Analyser); ok { - weight := analyser.AnalyseText(text) - if weight > highest { - picked = lexer - highest = weight - } - } - } - return picked -} - -// Register a Lexer with the global registry. -func Register(lexer chroma.Lexer) chroma.Lexer { - config := lexer.Config() - Registry.byName[config.Name] = lexer - Registry.byName[strings.ToLower(config.Name)] = lexer - for _, alias := range config.Aliases { - Registry.byAlias[alias] = lexer - Registry.byAlias[strings.ToLower(alias)] = lexer - } - Registry.Lexers = append(Registry.Lexers, lexer) - return lexer -} - -// Used for the fallback lexer as well as the explicit plaintext lexer -var PlaintextRules = chroma.Rules{ - "root": []chroma.Rule{ - {`.+`, chroma.Text, nil}, - {`\n`, chroma.Text, nil}, - }, -} - -// Fallback lexer if no other is found. -var Fallback chroma.Lexer = chroma.MustNewLexer(&chroma.Config{ - Name: "fallback", - Filenames: []string{"*"}, -}, PlaintextRules) diff --git a/vendor/github.com/alecthomas/chroma/lexers/j/java.go b/vendor/github.com/alecthomas/chroma/lexers/j/java.go deleted file mode 100644 index c6b9a762..00000000 --- a/vendor/github.com/alecthomas/chroma/lexers/j/java.go +++ /dev/null @@ -1,51 +0,0 @@ -package j - -import ( - . "github.com/alecthomas/chroma" // nolint - "github.com/alecthomas/chroma/lexers/internal" -) - -// Java lexer. -var Java = internal.Register(MustNewLexer( - &Config{ - Name: "Java", - Aliases: []string{"java"}, - Filenames: []string{"*.java"}, - MimeTypes: []string{"text/x-java"}, - DotAll: true, - }, - Rules{ - "root": { - {`[^\S\n]+`, Text, nil}, - {`//.*?\n`, CommentSingle, nil}, - {`/\*.*?\*/`, CommentMultiline, nil}, - {`(assert|break|case|catch|continue|default|do|else|finally|for|if|goto|instanceof|new|return|switch|this|throw|try|while)\b`, Keyword, nil}, - {`((?:(?:[^\W\d]|\$)[\w.\[\]$<>]*\s+)+?)((?:[^\W\d]|\$)[\w$]*)(\s*)(\()`, ByGroups(UsingSelf("root"), NameFunction, Text, Operator), nil}, - {`@[^\W\d][\w.]*`, NameDecorator, nil}, - {`(abstract|const|enum|extends|final|implements|native|private|protected|public|static|strictfp|super|synchronized|throws|transient|volatile)\b`, KeywordDeclaration, nil}, - {`(boolean|byte|char|double|float|int|long|short|void)\b`, KeywordType, nil}, - {`(package)(\s+)`, ByGroups(KeywordNamespace, Text), Push("import")}, - {`(true|false|null)\b`, KeywordConstant, nil}, - {`(class|interface)(\s+)`, ByGroups(KeywordDeclaration, Text), Push("class")}, - {`(import(?:\s+static)?)(\s+)`, ByGroups(KeywordNamespace, Text), Push("import")}, - {`"(\\\\|\\"|[^"])*"`, LiteralString, nil}, - {`'\\.'|'[^\\]'|'\\u[0-9a-fA-F]{4}'`, LiteralStringChar, nil}, - {`(\.)((?:[^\W\d]|\$)[\w$]*)`, ByGroups(Operator, NameAttribute), nil}, - {`^\s*([^\W\d]|\$)[\w$]*:`, NameLabel, nil}, - {`([^\W\d]|\$)[\w$]*`, Name, nil}, - {`([0-9][0-9_]*\.([0-9][0-9_]*)?|\.[0-9][0-9_]*)([eE][+\-]?[0-9][0-9_]*)?[fFdD]?|[0-9][eE][+\-]?[0-9][0-9_]*[fFdD]?|[0-9]([eE][+\-]?[0-9][0-9_]*)?[fFdD]|0[xX]([0-9a-fA-F][0-9a-fA-F_]*\.?|([0-9a-fA-F][0-9a-fA-F_]*)?\.[0-9a-fA-F][0-9a-fA-F_]*)[pP][+\-]?[0-9][0-9_]*[fFdD]?`, LiteralNumberFloat, nil}, - {`0[xX][0-9a-fA-F][0-9a-fA-F_]*[lL]?`, LiteralNumberHex, nil}, - {`0[bB][01][01_]*[lL]?`, LiteralNumberBin, nil}, - {`0[0-7_]+[lL]?`, LiteralNumberOct, nil}, - {`0|[1-9][0-9_]*[lL]?`, LiteralNumberInteger, nil}, - {`[~^*!%&\[\](){}<>|+=:;,./?-]`, Operator, nil}, - {`\n`, Text, nil}, - }, - "class": { - {`([^\W\d]|\$)[\w$]*`, NameClass, Pop(1)}, - }, - "import": { - {`[\w.]+\*?`, NameNamespace, Pop(1)}, - }, - }, -)) diff --git a/vendor/github.com/alecthomas/chroma/lexers/j/javascript.go b/vendor/github.com/alecthomas/chroma/lexers/j/javascript.go deleted file mode 100644 index 8301e412..00000000 --- a/vendor/github.com/alecthomas/chroma/lexers/j/javascript.go +++ /dev/null @@ -1,72 +0,0 @@ -package j - -import ( - . "github.com/alecthomas/chroma" // nolint - "github.com/alecthomas/chroma/lexers/internal" -) - -var JavascriptRules = Rules{ - "commentsandwhitespace": { - {`\s+`, Text, nil}, - {``, `||`, `&&`, `>`, `<`, `>=`, `≥`, `<=`, `≤`, `==`, `===`, `≡`, `!=`, `≠`, `!==`, `≢`, `.>`, `.<`, `.>=`, `.≥`, `.<=`, `.≤`, `.==`, `.!=`, `.≠`, `.=`, `.!`, `<:`, `>:`, `∈`, `∉`, `∋`, `∌`, `⊆`, `⊈`, `⊂`, `⊄`, `⊊`, `|>`, `<|`, `:`, `+`, `-`, `.+`, `.-`, `|`, `∪`, `$`, `<<`, `>>`, `>>>`, `.<<`, `.>>`, `.>>>`, `*`, `/`, `./`, `÷`, `.÷`, `%`, `⋅`, `.%`, `.*`, `\`, `.\`, `&`, `∩`, `//`, `.//`, `^`, `.^`, `::`, `.`, `+`, `-`, `!`, `~`, `√`, `∛`, `∜`), Operator, nil}, - {`'(\\.|\\[0-7]{1,3}|\\x[a-fA-F0-9]{1,3}|\\u[a-fA-F0-9]{1,4}|\\U[a-fA-F0-9]{1,6}|[^\\\'\n])'`, LiteralStringChar, nil}, - {`(?<=[.\w)\]])\'+`, Operator, nil}, - {`"""`, LiteralString, Push("tqstring")}, - {`"`, LiteralString, Push("string")}, - {`r"""`, LiteralStringRegex, Push("tqregex")}, - {`r"`, LiteralStringRegex, Push("regex")}, - {"`", LiteralStringBacktick, Push("command")}, - {`(?:[a-zA-Z_¡-￿]|[𐀀-􏿿])(?:[a-zA-Z_0-9¡-￿]|[𐀀-􏿿])*!*`, Name, nil}, - {`@(?:[a-zA-Z_¡-￿]|[𐀀-􏿿])(?:[a-zA-Z_0-9¡-￿]|[𐀀-􏿿])*!*`, NameDecorator, nil}, - {`(\d+(_\d+)+\.\d*|\d*\.\d+(_\d+)+)([eEf][+-]?[0-9]+)?`, LiteralNumberFloat, nil}, - {`(\d+\.\d*|\d*\.\d+)([eEf][+-]?[0-9]+)?`, LiteralNumberFloat, nil}, - {`\d+(_\d+)+[eEf][+-]?[0-9]+`, LiteralNumberFloat, nil}, - {`\d+[eEf][+-]?[0-9]+`, LiteralNumberFloat, nil}, - {`0b[01]+(_[01]+)+`, LiteralNumberBin, nil}, - {`0b[01]+`, LiteralNumberBin, nil}, - {`0o[0-7]+(_[0-7]+)+`, LiteralNumberOct, nil}, - {`0o[0-7]+`, LiteralNumberOct, nil}, - {`0x[a-fA-F0-9]+(_[a-fA-F0-9]+)+`, LiteralNumberHex, nil}, - {`0x[a-fA-F0-9]+`, LiteralNumberHex, nil}, - {`\d+(_\d+)+`, LiteralNumberInteger, nil}, - {`\d+`, LiteralNumberInteger, nil}, - }, - "blockcomment": { - {`[^=#]`, CommentMultiline, nil}, - {`#=`, CommentMultiline, Push()}, - {`=#`, CommentMultiline, Pop(1)}, - {`[=#]`, CommentMultiline, nil}, - }, - "string": { - {`"`, LiteralString, Pop(1)}, - {`\\([\\"\'$nrbtfav]|(x|u|U)[a-fA-F0-9]+|\d+)`, LiteralStringEscape, nil}, - {`\$(?:[a-zA-Z_¡-￿]|[𐀀-􏿿])(?:[a-zA-Z_0-9¡-￿]|[𐀀-􏿿])*!*`, LiteralStringInterpol, nil}, - {`(\$)(\()`, ByGroups(LiteralStringInterpol, Punctuation), Push("in-intp")}, - {`%[-#0 +]*([0-9]+|[*])?(\.([0-9]+|[*]))?[hlL]?[E-GXc-giorsux%]`, LiteralStringInterpol, nil}, - {`.|\s`, LiteralString, nil}, - }, - "tqstring": { - {`"""`, LiteralString, Pop(1)}, - {`\\([\\"\'$nrbtfav]|(x|u|U)[a-fA-F0-9]+|\d+)`, LiteralStringEscape, nil}, - {`\$(?:[a-zA-Z_¡-￿]|[𐀀-􏿿])(?:[a-zA-Z_0-9¡-￿]|[𐀀-􏿿])*!*`, LiteralStringInterpol, nil}, - {`(\$)(\()`, ByGroups(LiteralStringInterpol, Punctuation), Push("in-intp")}, - {`.|\s`, LiteralString, nil}, - }, - "regex": { - {`"`, LiteralStringRegex, Pop(1)}, - {`\\"`, LiteralStringRegex, nil}, - {`.|\s`, LiteralStringRegex, nil}, - }, - "tqregex": { - {`"""`, LiteralStringRegex, Pop(1)}, - {`.|\s`, LiteralStringRegex, nil}, - }, - "command": { - {"`", LiteralStringBacktick, Pop(1)}, - {`\$(?:[a-zA-Z_¡-￿]|[𐀀-􏿿])(?:[a-zA-Z_0-9¡-￿]|[𐀀-􏿿])*!*`, LiteralStringInterpol, nil}, - {`(\$)(\()`, ByGroups(LiteralStringInterpol, Punctuation), Push("in-intp")}, - {`.|\s`, LiteralStringBacktick, nil}, - }, - "in-intp": { - {`\(`, Punctuation, Push()}, - {`\)`, Punctuation, Pop(1)}, - Include("root"), - }, - }, -)) diff --git a/vendor/github.com/alecthomas/chroma/lexers/j/jungle.go b/vendor/github.com/alecthomas/chroma/lexers/j/jungle.go deleted file mode 100644 index 83d46a48..00000000 --- a/vendor/github.com/alecthomas/chroma/lexers/j/jungle.go +++ /dev/null @@ -1,50 +0,0 @@ -package j - -import ( - . "github.com/alecthomas/chroma" // nolint - "github.com/alecthomas/chroma/lexers/internal" -) - -var Jungle = internal.Register(MustNewLexer( - &Config{ - Name: "Jungle", - Aliases: []string{"jungle"}, - Filenames: []string{"*.jungle"}, - MimeTypes: []string{"text/x-jungle"}, - }, - Rules{ - "root": { - {`[^\S\n]+`, Text, nil}, - {`\n`, Text, nil}, - {`#(\n|[\w\W]*?[^#]\n)`, CommentSingle, nil}, - {`^(?=\S)`, None, Push("instruction")}, - {`[\.;\[\]\(\)\$]`, Punctuation, nil}, - {`[a-zA-Z_]\w*`, Name, nil}, - }, - "instruction": { - {`[^\S\n]+`, Text, nil}, - {`=`, Operator, Push("value")}, - {`(?=\S)`, None, Push("var")}, - Default(Pop(1)), - }, - "value": { - {`[^\S\n]+`, Text, nil}, - {`\$\(`, Punctuation, Push("var")}, - {`[;\[\]\(\)\$]`, Punctuation, nil}, - {`#(\n|[\w\W]*?[^#]\n)`, CommentSingle, nil}, - {`[\w_\-\.\/\\]+`, Text, nil}, - Default(Pop(1)), - }, - "var": { - {`[^\S\n]+`, Text, nil}, - {`\b(((re)?source|barrel)Path|excludeAnnotations|annotations|lang)\b`, NameBuiltin, nil}, - {`\bbase\b`, NameConstant, nil}, - {`\b(ind|zsm|hrv|ces|dan|dut|eng|fin|fre|deu|gre|hun|ita|nob|po[lr]|rus|sl[ov]|spa|swe|ara|heb|zh[st]|jpn|kor|tha|vie|bul|tur)`, NameConstant, nil}, - {`\b((semi)?round|rectangle)(-\d+x\d+)?\b`, NameConstant, nil}, - {`[\.;\[\]\(\$]`, Punctuation, nil}, - {`\)`, Punctuation, Pop(1)}, - {`[a-zA-Z_]\w*`, Name, nil}, - Default(Pop(1)), - }, - }, -)) diff --git a/vendor/github.com/alecthomas/chroma/lexers/k/kotlin.go b/vendor/github.com/alecthomas/chroma/lexers/k/kotlin.go deleted file mode 100644 index bf6fd315..00000000 --- a/vendor/github.com/alecthomas/chroma/lexers/k/kotlin.go +++ /dev/null @@ -1,55 +0,0 @@ -package k - -import ( - . "github.com/alecthomas/chroma" // nolint - "github.com/alecthomas/chroma/lexers/internal" -) - -var kotlinIdentifier = "_A-Z\u00c0-\u00d6\u00d8-\u00de\u0100\u0102\u0104\u0106\u0108\u010a\u010c\u010e\u0110\u0112\u0114\u0116\u0118\u011a\u011c\u011e\u0120\u0122\u0124\u0126\u0128\u012a\u012c\u012e\u0130\u0132\u0134\u0136\u0139\u013b\u013d\u013f\u0141\u0143\u0145\u0147\u014a\u014c\u014e\u0150\u0152\u0154\u0156\u0158\u015a\u015c\u015e\u0160\u0162\u0164\u0166\u0168\u016a\u016c\u016e\u0170\u0172\u0174\u0176\u0178-\u0179\u017b\u017d\u0181-\u0182\u0184\u0186-\u0187\u0189-\u018b\u018e-\u0191\u0193-\u0194\u0196-\u0198\u019c-\u019d\u019f-\u01a0\u01a2\u01a4\u01a6-\u01a7\u01a9\u01ac\u01ae-\u01af\u01b1-\u01b3\u01b5\u01b7-\u01b8\u01bc\u01c4\u01c7\u01ca\u01cd\u01cf\u01d1\u01d3\u01d5\u01d7\u01d9\u01db\u01de\u01e0\u01e2\u01e4\u01e6\u01e8\u01ea\u01ec\u01ee\u01f1\u01f4\u01f6-\u01f8\u01fa\u01fc\u01fe\u0200\u0202\u0204\u0206\u0208\u020a\u020c\u020e\u0210\u0212\u0214\u0216\u0218\u021a\u021c\u021e\u0220\u0222\u0224\u0226\u0228\u022a\u022c\u022e\u0230\u0232\u023a-\u023b\u023d-\u023e\u0241\u0243-\u0246\u0248\u024a\u024c\u024e\u0370\u0372\u0376\u0386\u0388-\u038a\u038c\u038e-\u038f\u0391-\u03a1\u03a3-\u03ab\u03cf\u03d2-\u03d4\u03d8\u03da\u03dc\u03de\u03e0\u03e2\u03e4\u03e6\u03e8\u03ea\u03ec\u03ee\u03f4\u03f7\u03f9-\u03fa\u03fd-\u042f\u0460\u0462\u0464\u0466\u0468\u046a\u046c\u046e\u0470\u0472\u0474\u0476\u0478\u047a\u047c\u047e\u0480\u048a\u048c\u048e\u0490\u0492\u0494\u0496\u0498\u049a\u049c\u049e\u04a0\u04a2\u04a4\u04a6\u04a8\u04aa\u04ac\u04ae\u04b0\u04b2\u04b4\u04b6\u04b8\u04ba\u04bc\u04be\u04c0-\u04c1\u04c3\u04c5\u04c7\u04c9\u04cb\u04cd\u04d0\u04d2\u04d4\u04d6\u04d8\u04da\u04dc\u04de\u04e0\u04e2\u04e4\u04e6\u04e8\u04ea\u04ec\u04ee\u04f0\u04f2\u04f4\u04f6\u04f8\u04fa\u04fc\u04fe\u0500\u0502\u0504\u0506\u0508\u050a\u050c\u050e\u0510\u0512\u0514\u0516\u0518\u051a\u051c\u051e\u0520\u0522\u0524\u0526\u0531-\u0556\u10a0-\u10c5\u10c7\u10cd\u1e00\u1e02\u1e04\u1e06\u1e08\u1e0a\u1e0c\u1e0e\u1e10\u1e12\u1e14\u1e16\u1e18\u1e1a\u1e1c\u1e1e\u1e20\u1e22\u1e24\u1e26\u1e28\u1e2a\u1e2c\u1e2e\u1e30\u1e32\u1e34\u1e36\u1e38\u1e3a\u1e3c\u1e3e\u1e40\u1e42\u1e44\u1e46\u1e48\u1e4a\u1e4c\u1e4e\u1e50\u1e52\u1e54\u1e56\u1e58\u1e5a\u1e5c\u1e5e\u1e60\u1e62\u1e64\u1e66\u1e68\u1e6a\u1e6c\u1e6e\u1e70\u1e72\u1e74\u1e76\u1e78\u1e7a\u1e7c\u1e7e\u1e80\u1e82\u1e84\u1e86\u1e88\u1e8a\u1e8c\u1e8e\u1e90\u1e92\u1e94\u1e9e\u1ea0\u1ea2\u1ea4\u1ea6\u1ea8\u1eaa\u1eac\u1eae\u1eb0\u1eb2\u1eb4\u1eb6\u1eb8\u1eba\u1ebc\u1ebe\u1ec0\u1ec2\u1ec4\u1ec6\u1ec8\u1eca\u1ecc\u1ece\u1ed0\u1ed2\u1ed4\u1ed6\u1ed8\u1eda\u1edc\u1ede\u1ee0\u1ee2\u1ee4\u1ee6\u1ee8\u1eea\u1eec\u1eee\u1ef0\u1ef2\u1ef4\u1ef6\u1ef8\u1efa\u1efc\u1efe\u1f08-\u1f0f\u1f18-\u1f1d\u1f28-\u1f2f\u1f38-\u1f3f\u1f48-\u1f4d\u1f59\u1f5b\u1f5d\u1f5f\u1f68-\u1f6f\u1fb8-\u1fbb\u1fc8-\u1fcb\u1fd8-\u1fdb\u1fe8-\u1fec\u1ff8-\u1ffb\u2102\u2107\u210b-\u210d\u2110-\u2112\u2115\u2119-\u211d\u2124\u2126\u2128\u212a-\u212d\u2130-\u2133\u213e-\u213f\u2145\u2183\u2c00-\u2c2e\u2c60\u2c62-\u2c64\u2c67\u2c69\u2c6b\u2c6d-\u2c70\u2c72\u2c75\u2c7e-\u2c80\u2c82\u2c84\u2c86\u2c88\u2c8a\u2c8c\u2c8e\u2c90\u2c92\u2c94\u2c96\u2c98\u2c9a\u2c9c\u2c9e\u2ca0\u2ca2\u2ca4\u2ca6\u2ca8\u2caa\u2cac\u2cae\u2cb0\u2cb2\u2cb4\u2cb6\u2cb8\u2cba\u2cbc\u2cbe\u2cc0\u2cc2\u2cc4\u2cc6\u2cc8\u2cca\u2ccc\u2cce\u2cd0\u2cd2\u2cd4\u2cd6\u2cd8\u2cda\u2cdc\u2cde\u2ce0\u2ce2\u2ceb\u2ced\u2cf2\ua640\ua642\ua644\ua646\ua648\ua64a\ua64c\ua64e\ua650\ua652\ua654\ua656\ua658\ua65a\ua65c\ua65e\ua660\ua662\ua664\ua666\ua668\ua66a\ua66c\ua680\ua682\ua684\ua686\ua688\ua68a\ua68c\ua68e\ua690\ua692\ua694\ua696\ua722\ua724\ua726\ua728\ua72a\ua72c\ua72e\ua732\ua734\ua736\ua738\ua73a\ua73c\ua73e\ua740\ua742\ua744\ua746\ua748\ua74a\ua74c\ua74e\ua750\ua752\ua754\ua756\ua758\ua75a\ua75c\ua75e\ua760\ua762\ua764\ua766\ua768\ua76a\ua76c\ua76e\ua779\ua77b\ua77d-\ua77e\ua780\ua782\ua784\ua786\ua78b\ua78d\ua790\ua792\ua7a0\ua7a2\ua7a4\ua7a6\ua7a8\ua7aa\uff21-\uff3aa-z\u00b5\u00df-\u00f6\u00f8-\u00ff\u0101\u0103\u0105\u0107\u0109\u010b\u010d\u010f\u0111\u0113\u0115\u0117\u0119\u011b\u011d\u011f\u0121\u0123\u0125\u0127\u0129\u012b\u012d\u012f\u0131\u0133\u0135\u0137-\u0138\u013a\u013c\u013e\u0140\u0142\u0144\u0146\u0148-\u0149\u014b\u014d\u014f\u0151\u0153\u0155\u0157\u0159\u015b\u015d\u015f\u0161\u0163\u0165\u0167\u0169\u016b\u016d\u016f\u0171\u0173\u0175\u0177\u017a\u017c\u017e-\u0180\u0183\u0185\u0188\u018c-\u018d\u0192\u0195\u0199-\u019b\u019e\u01a1\u01a3\u01a5\u01a8\u01aa-\u01ab\u01ad\u01b0\u01b4\u01b6\u01b9-\u01ba\u01bd-\u01bf\u01c6\u01c9\u01cc\u01ce\u01d0\u01d2\u01d4\u01d6\u01d8\u01da\u01dc-\u01dd\u01df\u01e1\u01e3\u01e5\u01e7\u01e9\u01eb\u01ed\u01ef-\u01f0\u01f3\u01f5\u01f9\u01fb\u01fd\u01ff\u0201\u0203\u0205\u0207\u0209\u020b\u020d\u020f\u0211\u0213\u0215\u0217\u0219\u021b\u021d\u021f\u0221\u0223\u0225\u0227\u0229\u022b\u022d\u022f\u0231\u0233-\u0239\u023c\u023f-\u0240\u0242\u0247\u0249\u024b\u024d\u024f-\u0293\u0295-\u02af\u0371\u0373\u0377\u037b-\u037d\u0390\u03ac-\u03ce\u03d0-\u03d1\u03d5-\u03d7\u03d9\u03db\u03dd\u03df\u03e1\u03e3\u03e5\u03e7\u03e9\u03eb\u03ed\u03ef-\u03f3\u03f5\u03f8\u03fb-\u03fc\u0430-\u045f\u0461\u0463\u0465\u0467\u0469\u046b\u046d\u046f\u0471\u0473\u0475\u0477\u0479\u047b\u047d\u047f\u0481\u048b\u048d\u048f\u0491\u0493\u0495\u0497\u0499\u049b\u049d\u049f\u04a1\u04a3\u04a5\u04a7\u04a9\u04ab\u04ad\u04af\u04b1\u04b3\u04b5\u04b7\u04b9\u04bb\u04bd\u04bf\u04c2\u04c4\u04c6\u04c8\u04ca\u04cc\u04ce-\u04cf\u04d1\u04d3\u04d5\u04d7\u04d9\u04db\u04dd\u04df\u04e1\u04e3\u04e5\u04e7\u04e9\u04eb\u04ed\u04ef\u04f1\u04f3\u04f5\u04f7\u04f9\u04fb\u04fd\u04ff\u0501\u0503\u0505\u0507\u0509\u050b\u050d\u050f\u0511\u0513\u0515\u0517\u0519\u051b\u051d\u051f\u0521\u0523\u0525\u0527\u0561-\u0587\u1d00-\u1d2b\u1d6b-\u1d77\u1d79-\u1d9a\u1e01\u1e03\u1e05\u1e07\u1e09\u1e0b\u1e0d\u1e0f\u1e11\u1e13\u1e15\u1e17\u1e19\u1e1b\u1e1d\u1e1f\u1e21\u1e23\u1e25\u1e27\u1e29\u1e2b\u1e2d\u1e2f\u1e31\u1e33\u1e35\u1e37\u1e39\u1e3b\u1e3d\u1e3f\u1e41\u1e43\u1e45\u1e47\u1e49\u1e4b\u1e4d\u1e4f\u1e51\u1e53\u1e55\u1e57\u1e59\u1e5b\u1e5d\u1e5f\u1e61\u1e63\u1e65\u1e67\u1e69\u1e6b\u1e6d\u1e6f\u1e71\u1e73\u1e75\u1e77\u1e79\u1e7b\u1e7d\u1e7f\u1e81\u1e83\u1e85\u1e87\u1e89\u1e8b\u1e8d\u1e8f\u1e91\u1e93\u1e95-\u1e9d\u1e9f\u1ea1\u1ea3\u1ea5\u1ea7\u1ea9\u1eab\u1ead\u1eaf\u1eb1\u1eb3\u1eb5\u1eb7\u1eb9\u1ebb\u1ebd\u1ebf\u1ec1\u1ec3\u1ec5\u1ec7\u1ec9\u1ecb\u1ecd\u1ecf\u1ed1\u1ed3\u1ed5\u1ed7\u1ed9\u1edb\u1edd\u1edf\u1ee1\u1ee3\u1ee5\u1ee7\u1ee9\u1eeb\u1eed\u1eef\u1ef1\u1ef3\u1ef5\u1ef7\u1ef9\u1efb\u1efd\u1eff-\u1f07\u1f10-\u1f15\u1f20-\u1f27\u1f30-\u1f37\u1f40-\u1f45\u1f50-\u1f57\u1f60-\u1f67\u1f70-\u1f7d\u1f80-\u1f87\u1f90-\u1f97\u1fa0-\u1fa7\u1fb0-\u1fb4\u1fb6-\u1fb7\u1fbe\u1fc2-\u1fc4\u1fc6-\u1fc7\u1fd0-\u1fd3\u1fd6-\u1fd7\u1fe0-\u1fe7\u1ff2-\u1ff4\u1ff6-\u1ff7\u210a\u210e-\u210f\u2113\u212f\u2134\u2139\u213c-\u213d\u2146-\u2149\u214e\u2184\u2c30-\u2c5e\u2c61\u2c65-\u2c66\u2c68\u2c6a\u2c6c\u2c71\u2c73-\u2c74\u2c76-\u2c7b\u2c81\u2c83\u2c85\u2c87\u2c89\u2c8b\u2c8d\u2c8f\u2c91\u2c93\u2c95\u2c97\u2c99\u2c9b\u2c9d\u2c9f\u2ca1\u2ca3\u2ca5\u2ca7\u2ca9\u2cab\u2cad\u2caf\u2cb1\u2cb3\u2cb5\u2cb7\u2cb9\u2cbb\u2cbd\u2cbf\u2cc1\u2cc3\u2cc5\u2cc7\u2cc9\u2ccb\u2ccd\u2ccf\u2cd1\u2cd3\u2cd5\u2cd7\u2cd9\u2cdb\u2cdd\u2cdf\u2ce1\u2ce3-\u2ce4\u2cec\u2cee\u2cf3\u2d00-\u2d25\u2d27\u2d2d\ua641\ua643\ua645\ua647\ua649\ua64b\ua64d\ua64f\ua651\ua653\ua655\ua657\ua659\ua65b\ua65d\ua65f\ua661\ua663\ua665\ua667\ua669\ua66b\ua66d\ua681\ua683\ua685\ua687\ua689\ua68b\ua68d\ua68f\ua691\ua693\ua695\ua697\ua723\ua725\ua727\ua729\ua72b\ua72d\ua72f-\ua731\ua733\ua735\ua737\ua739\ua73b\ua73d\ua73f\ua741\ua743\ua745\ua747\ua749\ua74b\ua74d\ua74f\ua751\ua753\ua755\ua757\ua759\ua75b\ua75d\ua75f\ua761\ua763\ua765\ua767\ua769\ua76b\ua76d\ua76f\ua771-\ua778\ua77a\ua77c\ua77f\ua781\ua783\ua785\ua787\ua78c\ua78e\ua791\ua793\ua7a1\ua7a3\ua7a5\ua7a7\ua7a9\ua7fa\ufb00-\ufb06\ufb13-\ufb17\uff41-\uff5a\u01c5\u01c8\u01cb\u01f2\u1f88-\u1f8f\u1f98-\u1f9f\u1fa8-\u1faf\u1fbc\u1fcc\u1ffc\u02b0-\u02c1\u02c6-\u02d1\u02e0-\u02e4\u02ec\u02ee\u0374\u037a\u0559\u0640\u06e5-\u06e6\u07f4-\u07f5\u07fa\u081a\u0824\u0828\u0971\u0e46\u0ec6\u10fc\u17d7\u1843\u1aa7\u1c78-\u1c7d\u1d2c-\u1d6a\u1d78\u1d9b-\u1dbf\u2071\u207f\u2090-\u209c\u2c7c-\u2c7d\u2d6f\u2e2f\u3005\u3031-\u3035\u303b\u309d-\u309e\u30fc-\u30fe\ua015\ua4f8-\ua4fd\ua60c\ua67f\ua717-\ua71f\ua770\ua788\ua7f8-\ua7f9\ua9cf\uaa70\uaadd\uaaf3-\uaaf4\uff70\uff9e-\uff9f\u16ee-\u16f0\u2160-\u2182\u2185-\u2188\u3007\u3021-\u3029\u3038-\u303a\ua6e6-\ua6ef][A-Z\u00c0-\u00d6\u00d8-\u00de\u0100\u0102\u0104\u0106\u0108\u010a\u010c\u010e\u0110\u0112\u0114\u0116\u0118\u011a\u011c\u011e\u0120\u0122\u0124\u0126\u0128\u012a\u012c\u012e\u0130\u0132\u0134\u0136\u0139\u013b\u013d\u013f\u0141\u0143\u0145\u0147\u014a\u014c\u014e\u0150\u0152\u0154\u0156\u0158\u015a\u015c\u015e\u0160\u0162\u0164\u0166\u0168\u016a\u016c\u016e\u0170\u0172\u0174\u0176\u0178-\u0179\u017b\u017d\u0181-\u0182\u0184\u0186-\u0187\u0189-\u018b\u018e-\u0191\u0193-\u0194\u0196-\u0198\u019c-\u019d\u019f-\u01a0\u01a2\u01a4\u01a6-\u01a7\u01a9\u01ac\u01ae-\u01af\u01b1-\u01b3\u01b5\u01b7-\u01b8\u01bc\u01c4\u01c7\u01ca\u01cd\u01cf\u01d1\u01d3\u01d5\u01d7\u01d9\u01db\u01de\u01e0\u01e2\u01e4\u01e6\u01e8\u01ea\u01ec\u01ee\u01f1\u01f4\u01f6-\u01f8\u01fa\u01fc\u01fe\u0200\u0202\u0204\u0206\u0208\u020a\u020c\u020e\u0210\u0212\u0214\u0216\u0218\u021a\u021c\u021e\u0220\u0222\u0224\u0226\u0228\u022a\u022c\u022e\u0230\u0232\u023a-\u023b\u023d-\u023e\u0241\u0243-\u0246\u0248\u024a\u024c\u024e\u0370\u0372\u0376\u0386\u0388-\u038a\u038c\u038e-\u038f\u0391-\u03a1\u03a3-\u03ab\u03cf\u03d2-\u03d4\u03d8\u03da\u03dc\u03de\u03e0\u03e2\u03e4\u03e6\u03e8\u03ea\u03ec\u03ee\u03f4\u03f7\u03f9-\u03fa\u03fd-\u042f\u0460\u0462\u0464\u0466\u0468\u046a\u046c\u046e\u0470\u0472\u0474\u0476\u0478\u047a\u047c\u047e\u0480\u048a\u048c\u048e\u0490\u0492\u0494\u0496\u0498\u049a\u049c\u049e\u04a0\u04a2\u04a4\u04a6\u04a8\u04aa\u04ac\u04ae\u04b0\u04b2\u04b4\u04b6\u04b8\u04ba\u04bc\u04be\u04c0-\u04c1\u04c3\u04c5\u04c7\u04c9\u04cb\u04cd\u04d0\u04d2\u04d4\u04d6\u04d8\u04da\u04dc\u04de\u04e0\u04e2\u04e4\u04e6\u04e8\u04ea\u04ec\u04ee\u04f0\u04f2\u04f4\u04f6\u04f8\u04fa\u04fc\u04fe\u0500\u0502\u0504\u0506\u0508\u050a\u050c\u050e\u0510\u0512\u0514\u0516\u0518\u051a\u051c\u051e\u0520\u0522\u0524\u0526\u0531-\u0556\u10a0-\u10c5\u10c7\u10cd\u1e00\u1e02\u1e04\u1e06\u1e08\u1e0a\u1e0c\u1e0e\u1e10\u1e12\u1e14\u1e16\u1e18\u1e1a\u1e1c\u1e1e\u1e20\u1e22\u1e24\u1e26\u1e28\u1e2a\u1e2c\u1e2e\u1e30\u1e32\u1e34\u1e36\u1e38\u1e3a\u1e3c\u1e3e\u1e40\u1e42\u1e44\u1e46\u1e48\u1e4a\u1e4c\u1e4e\u1e50\u1e52\u1e54\u1e56\u1e58\u1e5a\u1e5c\u1e5e\u1e60\u1e62\u1e64\u1e66\u1e68\u1e6a\u1e6c\u1e6e\u1e70\u1e72\u1e74\u1e76\u1e78\u1e7a\u1e7c\u1e7e\u1e80\u1e82\u1e84\u1e86\u1e88\u1e8a\u1e8c\u1e8e\u1e90\u1e92\u1e94\u1e9e\u1ea0\u1ea2\u1ea4\u1ea6\u1ea8\u1eaa\u1eac\u1eae\u1eb0\u1eb2\u1eb4\u1eb6\u1eb8\u1eba\u1ebc\u1ebe\u1ec0\u1ec2\u1ec4\u1ec6\u1ec8\u1eca\u1ecc\u1ece\u1ed0\u1ed2\u1ed4\u1ed6\u1ed8\u1eda\u1edc\u1ede\u1ee0\u1ee2\u1ee4\u1ee6\u1ee8\u1eea\u1eec\u1eee\u1ef0\u1ef2\u1ef4\u1ef6\u1ef8\u1efa\u1efc\u1efe\u1f08-\u1f0f\u1f18-\u1f1d\u1f28-\u1f2f\u1f38-\u1f3f\u1f48-\u1f4d\u1f59\u1f5b\u1f5d\u1f5f\u1f68-\u1f6f\u1fb8-\u1fbb\u1fc8-\u1fcb\u1fd8-\u1fdb\u1fe8-\u1fec\u1ff8-\u1ffb\u2102\u2107\u210b-\u210d\u2110-\u2112\u2115\u2119-\u211d\u2124\u2126\u2128\u212a-\u212d\u2130-\u2133\u213e-\u213f\u2145\u2183\u2c00-\u2c2e\u2c60\u2c62-\u2c64\u2c67\u2c69\u2c6b\u2c6d-\u2c70\u2c72\u2c75\u2c7e-\u2c80\u2c82\u2c84\u2c86\u2c88\u2c8a\u2c8c\u2c8e\u2c90\u2c92\u2c94\u2c96\u2c98\u2c9a\u2c9c\u2c9e\u2ca0\u2ca2\u2ca4\u2ca6\u2ca8\u2caa\u2cac\u2cae\u2cb0\u2cb2\u2cb4\u2cb6\u2cb8\u2cba\u2cbc\u2cbe\u2cc0\u2cc2\u2cc4\u2cc6\u2cc8\u2cca\u2ccc\u2cce\u2cd0\u2cd2\u2cd4\u2cd6\u2cd8\u2cda\u2cdc\u2cde\u2ce0\u2ce2\u2ceb\u2ced\u2cf2\ua640\ua642\ua644\ua646\ua648\ua64a\ua64c\ua64e\ua650\ua652\ua654\ua656\ua658\ua65a\ua65c\ua65e\ua660\ua662\ua664\ua666\ua668\ua66a\ua66c\ua680\ua682\ua684\ua686\ua688\ua68a\ua68c\ua68e\ua690\ua692\ua694\ua696\ua722\ua724\ua726\ua728\ua72a\ua72c\ua72e\ua732\ua734\ua736\ua738\ua73a\ua73c\ua73e\ua740\ua742\ua744\ua746\ua748\ua74a\ua74c\ua74e\ua750\ua752\ua754\ua756\ua758\ua75a\ua75c\ua75e\ua760\ua762\ua764\ua766\ua768\ua76a\ua76c\ua76e\ua779\ua77b\ua77d-\ua77e\ua780\ua782\ua784\ua786\ua78b\ua78d\ua790\ua792\ua7a0\ua7a2\ua7a4\ua7a6\ua7a8\ua7aa\uff21-\uff3aa-z\u00b5\u00df-\u00f6\u00f8-\u00ff\u0101\u0103\u0105\u0107\u0109\u010b\u010d\u010f\u0111\u0113\u0115\u0117\u0119\u011b\u011d\u011f\u0121\u0123\u0125\u0127\u0129\u012b\u012d\u012f\u0131\u0133\u0135\u0137-\u0138\u013a\u013c\u013e\u0140\u0142\u0144\u0146\u0148-\u0149\u014b\u014d\u014f\u0151\u0153\u0155\u0157\u0159\u015b\u015d\u015f\u0161\u0163\u0165\u0167\u0169\u016b\u016d\u016f\u0171\u0173\u0175\u0177\u017a\u017c\u017e-\u0180\u0183\u0185\u0188\u018c-\u018d\u0192\u0195\u0199-\u019b\u019e\u01a1\u01a3\u01a5\u01a8\u01aa-\u01ab\u01ad\u01b0\u01b4\u01b6\u01b9-\u01ba\u01bd-\u01bf\u01c6\u01c9\u01cc\u01ce\u01d0\u01d2\u01d4\u01d6\u01d8\u01da\u01dc-\u01dd\u01df\u01e1\u01e3\u01e5\u01e7\u01e9\u01eb\u01ed\u01ef-\u01f0\u01f3\u01f5\u01f9\u01fb\u01fd\u01ff\u0201\u0203\u0205\u0207\u0209\u020b\u020d\u020f\u0211\u0213\u0215\u0217\u0219\u021b\u021d\u021f\u0221\u0223\u0225\u0227\u0229\u022b\u022d\u022f\u0231\u0233-\u0239\u023c\u023f-\u0240\u0242\u0247\u0249\u024b\u024d\u024f-\u0293\u0295-\u02af\u0371\u0373\u0377\u037b-\u037d\u0390\u03ac-\u03ce\u03d0-\u03d1\u03d5-\u03d7\u03d9\u03db\u03dd\u03df\u03e1\u03e3\u03e5\u03e7\u03e9\u03eb\u03ed\u03ef-\u03f3\u03f5\u03f8\u03fb-\u03fc\u0430-\u045f\u0461\u0463\u0465\u0467\u0469\u046b\u046d\u046f\u0471\u0473\u0475\u0477\u0479\u047b\u047d\u047f\u0481\u048b\u048d\u048f\u0491\u0493\u0495\u0497\u0499\u049b\u049d\u049f\u04a1\u04a3\u04a5\u04a7\u04a9\u04ab\u04ad\u04af\u04b1\u04b3\u04b5\u04b7\u04b9\u04bb\u04bd\u04bf\u04c2\u04c4\u04c6\u04c8\u04ca\u04cc\u04ce-\u04cf\u04d1\u04d3\u04d5\u04d7\u04d9\u04db\u04dd\u04df\u04e1\u04e3\u04e5\u04e7\u04e9\u04eb\u04ed\u04ef\u04f1\u04f3\u04f5\u04f7\u04f9\u04fb\u04fd\u04ff\u0501\u0503\u0505\u0507\u0509\u050b\u050d\u050f\u0511\u0513\u0515\u0517\u0519\u051b\u051d\u051f\u0521\u0523\u0525\u0527\u0561-\u0587\u1d00-\u1d2b\u1d6b-\u1d77\u1d79-\u1d9a\u1e01\u1e03\u1e05\u1e07\u1e09\u1e0b\u1e0d\u1e0f\u1e11\u1e13\u1e15\u1e17\u1e19\u1e1b\u1e1d\u1e1f\u1e21\u1e23\u1e25\u1e27\u1e29\u1e2b\u1e2d\u1e2f\u1e31\u1e33\u1e35\u1e37\u1e39\u1e3b\u1e3d\u1e3f\u1e41\u1e43\u1e45\u1e47\u1e49\u1e4b\u1e4d\u1e4f\u1e51\u1e53\u1e55\u1e57\u1e59\u1e5b\u1e5d\u1e5f\u1e61\u1e63\u1e65\u1e67\u1e69\u1e6b\u1e6d\u1e6f\u1e71\u1e73\u1e75\u1e77\u1e79\u1e7b\u1e7d\u1e7f\u1e81\u1e83\u1e85\u1e87\u1e89\u1e8b\u1e8d\u1e8f\u1e91\u1e93\u1e95-\u1e9d\u1e9f\u1ea1\u1ea3\u1ea5\u1ea7\u1ea9\u1eab\u1ead\u1eaf\u1eb1\u1eb3\u1eb5\u1eb7\u1eb9\u1ebb\u1ebd\u1ebf\u1ec1\u1ec3\u1ec5\u1ec7\u1ec9\u1ecb\u1ecd\u1ecf\u1ed1\u1ed3\u1ed5\u1ed7\u1ed9\u1edb\u1edd\u1edf\u1ee1\u1ee3\u1ee5\u1ee7\u1ee9\u1eeb\u1eed\u1eef\u1ef1\u1ef3\u1ef5\u1ef7\u1ef9\u1efb\u1efd\u1eff-\u1f07\u1f10-\u1f15\u1f20-\u1f27\u1f30-\u1f37\u1f40-\u1f45\u1f50-\u1f57\u1f60-\u1f67\u1f70-\u1f7d\u1f80-\u1f87\u1f90-\u1f97\u1fa0-\u1fa7\u1fb0-\u1fb4\u1fb6-\u1fb7\u1fbe\u1fc2-\u1fc4\u1fc6-\u1fc7\u1fd0-\u1fd3\u1fd6-\u1fd7\u1fe0-\u1fe7\u1ff2-\u1ff4\u1ff6-\u1ff7\u210a\u210e-\u210f\u2113\u212f\u2134\u2139\u213c-\u213d\u2146-\u2149\u214e\u2184\u2c30-\u2c5e\u2c61\u2c65-\u2c66\u2c68\u2c6a\u2c6c\u2c71\u2c73-\u2c74\u2c76-\u2c7b\u2c81\u2c83\u2c85\u2c87\u2c89\u2c8b\u2c8d\u2c8f\u2c91\u2c93\u2c95\u2c97\u2c99\u2c9b\u2c9d\u2c9f\u2ca1\u2ca3\u2ca5\u2ca7\u2ca9\u2cab\u2cad\u2caf\u2cb1\u2cb3\u2cb5\u2cb7\u2cb9\u2cbb\u2cbd\u2cbf\u2cc1\u2cc3\u2cc5\u2cc7\u2cc9\u2ccb\u2ccd\u2ccf\u2cd1\u2cd3\u2cd5\u2cd7\u2cd9\u2cdb\u2cdd\u2cdf\u2ce1\u2ce3-\u2ce4\u2cec\u2cee\u2cf3\u2d00-\u2d25\u2d27\u2d2d\ua641\ua643\ua645\ua647\ua649\ua64b\ua64d\ua64f\ua651\ua653\ua655\ua657\ua659\ua65b\ua65d\ua65f\ua661\ua663\ua665\ua667\ua669\ua66b\ua66d\ua681\ua683\ua685\ua687\ua689\ua68b\ua68d\ua68f\ua691\ua693\ua695\ua697\ua723\ua725\ua727\ua729\ua72b\ua72d\ua72f-\ua731\ua733\ua735\ua737\ua739\ua73b\ua73d\ua73f\ua741\ua743\ua745\ua747\ua749\ua74b\ua74d\ua74f\ua751\ua753\ua755\ua757\ua759\ua75b\ua75d\ua75f\ua761\ua763\ua765\ua767\ua769\ua76b\ua76d\ua76f\ua771-\ua778\ua77a\ua77c\ua77f\ua781\ua783\ua785\ua787\ua78c\ua78e\ua791\ua793\ua7a1\ua7a3\ua7a5\ua7a7\ua7a9\ua7fa\ufb00-\ufb06\ufb13-\ufb17\uff41-\uff5a\u01c5\u01c8\u01cb\u01f2\u1f88-\u1f8f\u1f98-\u1f9f\u1fa8-\u1faf\u1fbc\u1fcc\u1ffc\u02b0-\u02c1\u02c6-\u02d1\u02e0-\u02e4\u02ec\u02ee\u0374\u037a\u0559\u0640\u06e5-\u06e6\u07f4-\u07f5\u07fa\u081a\u0824\u0828\u0971\u0e46\u0ec6\u10fc\u17d7\u1843\u1aa7\u1c78-\u1c7d\u1d2c-\u1d6a\u1d78\u1d9b-\u1dbf\u2071\u207f\u2090-\u209c\u2c7c-\u2c7d\u2d6f\u2e2f\u3005\u3031-\u3035\u303b\u309d-\u309e\u30fc-\u30fe\ua015\ua4f8-\ua4fd\ua60c\ua67f\ua717-\ua71f\ua770\ua788\ua7f8-\ua7f9\ua9cf\uaa70\uaadd\uaaf3-\uaaf4\uff70\uff9e-\uff9f\u16ee-\u16f0\u2160-\u2182\u2185-\u2188\u3007\u3021-\u3029\u3038-\u303a\ua6e6-\ua6ef0-9\u0660-\u0669\u06f0-\u06f9\u07c0-\u07c9\u0966-\u096f\u09e6-\u09ef\u0a66-\u0a6f\u0ae6-\u0aef\u0b66-\u0b6f\u0be6-\u0bef\u0c66-\u0c6f\u0ce6-\u0cef\u0d66-\u0d6f\u0e50-\u0e59\u0ed0-\u0ed9\u0f20-\u0f29\u1040-\u1049\u1090-\u1099\u17e0-\u17e9\u1810-\u1819\u1946-\u194f\u19d0-\u19d9\u1a80-\u1a89\u1a90-\u1a99\u1b50-\u1b59\u1bb0-\u1bb9\u1c40-\u1c49\u1c50-\u1c59\ua620-\ua629\ua8d0-\ua8d9\ua900-\ua909\ua9d0-\ua9d9\uaa50-\uaa59\uabf0-\uabf9\uff10-\uff19_\u203f-\u2040\u2054\ufe33-\ufe34\ufe4d-\ufe4f\uff3f\u00ad\u0600-\u0604\u061c\u06dd\u070f\u180e\u200b-\u200f\u202a-\u202e\u2060-\u2064\u2066-\u206f\ufeff\ufff9-\ufffb\u0300-\u036f\u0483-\u0487\u0591-\u05bd\u05bf\u05c1-\u05c2\u05c4-\u05c5\u05c7\u0610-\u061a\u064b-\u065f\u0670\u06d6-\u06dc\u06df-\u06e4\u06e7-\u06e8\u06ea-\u06ed\u0711\u0730-\u074a\u07a6-\u07b0\u07eb-\u07f3\u0816-\u0819\u081b-\u0823\u0825-\u0827\u0829-\u082d\u0859-\u085b\u08e4-\u08fe\u0900-\u0902\u093a\u093c\u0941-\u0948\u094d\u0951-\u0957\u0962-\u0963\u0981\u09bc\u09c1-\u09c4\u09cd\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\u0b3f\u0b41-\u0b44\u0b4d\u0b56\u0b62-\u0b63\u0b82\u0bc0\u0bcd\u0c3e-\u0c40\u0c46-\u0c48\u0c4a-\u0c4d\u0c55-\u0c56\u0c62-\u0c63\u0cbc\u0cbf\u0cc6\u0ccc-\u0ccd\u0ce2-\u0ce3\u0d41-\u0d44\u0d4d\u0d62-\u0d63\u0dca\u0dd2-\u0dd4\u0dd6\u0e31\u0e34-\u0e3a\u0e47-\u0e4e\u0eb1\u0eb4-\u0eb9\u0ebb-\u0ebc\u0ec8-\u0ecd\u0f18-\u0f19\u0f35\u0f37\u0f39\u0f71-\u0f7e\u0f80-\u0f84\u0f86-\u0f87\u0f8d-\u0f97\u0f99-\u0fbc\u0fc6\u102d-\u1030\u1032-\u1037\u1039-\u103a\u103d-\u103e\u1058-\u1059\u105e-\u1060\u1071-\u1074\u1082\u1085-\u1086\u108d\u109d\u135d-\u135f\u1712-\u1714\u1732-\u1734\u1752-\u1753\u1772-\u1773\u17b4-\u17b5\u17b7-\u17bd\u17c6\u17c9-\u17d3\u17dd\u180b-\u180d\u18a9\u1920-\u1922\u1927-\u1928\u1932\u1939-\u193b\u1a17-\u1a18\u1a1b\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\u1bab\u1be6\u1be8-\u1be9\u1bed\u1bef-\u1bf1\u1c2c-\u1c33\u1c36-\u1c37\u1cd0-\u1cd2\u1cd4-\u1ce0\u1ce2-\u1ce8\u1ced\u1cf4\u1dc0-\u1de6\u1dfc-\u1dff\u20d0-\u20dc\u20e1\u20e5-\u20f0\u2cef-\u2cf1\u2d7f\u2de0-\u2dff\u302a-\u302d\u3099-\u309a\ua66f\ua674-\ua67d\ua69f\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\uaaec-\uaaed\uaaf6\uabe5\uabe8\uabed\ufb1e\ufe00-\ufe0f\ufe20-\ufe26\u0903\u093b\u093e-\u0940\u0949-\u094c\u094e-\u094f\u0982-\u0983\u09be-\u09c0\u09c7-\u09c8\u09cb-\u09cc\u09d7\u0a03\u0a3e-\u0a40\u0a83\u0abe-\u0ac0\u0ac9\u0acb-\u0acc\u0b02-\u0b03\u0b3e\u0b40\u0b47-\u0b48\u0b4b-\u0b4c\u0b57\u0bbe-\u0bbf\u0bc1-\u0bc2\u0bc6-\u0bc8\u0bca-\u0bcc\u0bd7\u0c01-\u0c03\u0c41-\u0c44\u0c82-\u0c83\u0cbe\u0cc0-\u0cc4\u0cc7-\u0cc8\u0cca-\u0ccb\u0cd5-\u0cd6\u0d02-\u0d03\u0d3e-\u0d40\u0d46-\u0d48\u0d4a-\u0d4c\u0d57\u0d82-\u0d83\u0dcf-\u0dd1\u0dd8-\u0ddf\u0df2-\u0df3\u0f3e-\u0f3f\u0f7f\u102b-\u102c\u1031\u1038\u103b-\u103c\u1056-\u1057\u1062-\u1064\u1067-\u106d\u1083-\u1084\u1087-\u108c\u108f\u109a-\u109c\u17b6\u17be-\u17c5\u17c7-\u17c8\u1923-\u1926\u1929-\u192b\u1930-\u1931\u1933-\u1938\u19b0-\u19c0\u19c8-\u19c9\u1a19-\u1a1a\u1a55\u1a57\u1a61\u1a63-\u1a64\u1a6d-\u1a72\u1b04\u1b35\u1b3b\u1b3d-\u1b41\u1b43-\u1b44\u1b82\u1ba1\u1ba6-\u1ba7\u1baa\u1bac-\u1bad\u1be7\u1bea-\u1bec\u1bee\u1bf2-\u1bf3\u1c24-\u1c2b\u1c34-\u1c35\u1ce1\u1cf2-\u1cf3\u302e-\u302f\ua823-\ua824\ua827\ua880-\ua881\ua8b4-\ua8c3\ua952-\ua953\ua983\ua9b4-\ua9b5\ua9ba-\ua9bb\ua9bd-\ua9c0\uaa2f-\uaa30\uaa33-\uaa34\uaa4d\uaa7b\uaaeb\uaaee-\uaaef\uaaf5\uabe3-\uabe4\uabe6-\uabe7\uabe9-\uabea\uabec]*|`@?[_A-Z\u00c0-\u00d6\u00d8-\u00de\u0100\u0102\u0104\u0106\u0108\u010a\u010c\u010e\u0110\u0112\u0114\u0116\u0118\u011a\u011c\u011e\u0120\u0122\u0124\u0126\u0128\u012a\u012c\u012e\u0130\u0132\u0134\u0136\u0139\u013b\u013d\u013f\u0141\u0143\u0145\u0147\u014a\u014c\u014e\u0150\u0152\u0154\u0156\u0158\u015a\u015c\u015e\u0160\u0162\u0164\u0166\u0168\u016a\u016c\u016e\u0170\u0172\u0174\u0176\u0178-\u0179\u017b\u017d\u0181-\u0182\u0184\u0186-\u0187\u0189-\u018b\u018e-\u0191\u0193-\u0194\u0196-\u0198\u019c-\u019d\u019f-\u01a0\u01a2\u01a4\u01a6-\u01a7\u01a9\u01ac\u01ae-\u01af\u01b1-\u01b3\u01b5\u01b7-\u01b8\u01bc\u01c4\u01c7\u01ca\u01cd\u01cf\u01d1\u01d3\u01d5\u01d7\u01d9\u01db\u01de\u01e0\u01e2\u01e4\u01e6\u01e8\u01ea\u01ec\u01ee\u01f1\u01f4\u01f6-\u01f8\u01fa\u01fc\u01fe\u0200\u0202\u0204\u0206\u0208\u020a\u020c\u020e\u0210\u0212\u0214\u0216\u0218\u021a\u021c\u021e\u0220\u0222\u0224\u0226\u0228\u022a\u022c\u022e\u0230\u0232\u023a-\u023b\u023d-\u023e\u0241\u0243-\u0246\u0248\u024a\u024c\u024e\u0370\u0372\u0376\u0386\u0388-\u038a\u038c\u038e-\u038f\u0391-\u03a1\u03a3-\u03ab\u03cf\u03d2-\u03d4\u03d8\u03da\u03dc\u03de\u03e0\u03e2\u03e4\u03e6\u03e8\u03ea\u03ec\u03ee\u03f4\u03f7\u03f9-\u03fa\u03fd-\u042f\u0460\u0462\u0464\u0466\u0468\u046a\u046c\u046e\u0470\u0472\u0474\u0476\u0478\u047a\u047c\u047e\u0480\u048a\u048c\u048e\u0490\u0492\u0494\u0496\u0498\u049a\u049c\u049e\u04a0\u04a2\u04a4\u04a6\u04a8\u04aa\u04ac\u04ae\u04b0\u04b2\u04b4\u04b6\u04b8\u04ba\u04bc\u04be\u04c0-\u04c1\u04c3\u04c5\u04c7\u04c9\u04cb\u04cd\u04d0\u04d2\u04d4\u04d6\u04d8\u04da\u04dc\u04de\u04e0\u04e2\u04e4\u04e6\u04e8\u04ea\u04ec\u04ee\u04f0\u04f2\u04f4\u04f6\u04f8\u04fa\u04fc\u04fe\u0500\u0502\u0504\u0506\u0508\u050a\u050c\u050e\u0510\u0512\u0514\u0516\u0518\u051a\u051c\u051e\u0520\u0522\u0524\u0526\u0531-\u0556\u10a0-\u10c5\u10c7\u10cd\u1e00\u1e02\u1e04\u1e06\u1e08\u1e0a\u1e0c\u1e0e\u1e10\u1e12\u1e14\u1e16\u1e18\u1e1a\u1e1c\u1e1e\u1e20\u1e22\u1e24\u1e26\u1e28\u1e2a\u1e2c\u1e2e\u1e30\u1e32\u1e34\u1e36\u1e38\u1e3a\u1e3c\u1e3e\u1e40\u1e42\u1e44\u1e46\u1e48\u1e4a\u1e4c\u1e4e\u1e50\u1e52\u1e54\u1e56\u1e58\u1e5a\u1e5c\u1e5e\u1e60\u1e62\u1e64\u1e66\u1e68\u1e6a\u1e6c\u1e6e\u1e70\u1e72\u1e74\u1e76\u1e78\u1e7a\u1e7c\u1e7e\u1e80\u1e82\u1e84\u1e86\u1e88\u1e8a\u1e8c\u1e8e\u1e90\u1e92\u1e94\u1e9e\u1ea0\u1ea2\u1ea4\u1ea6\u1ea8\u1eaa\u1eac\u1eae\u1eb0\u1eb2\u1eb4\u1eb6\u1eb8\u1eba\u1ebc\u1ebe\u1ec0\u1ec2\u1ec4\u1ec6\u1ec8\u1eca\u1ecc\u1ece\u1ed0\u1ed2\u1ed4\u1ed6\u1ed8\u1eda\u1edc\u1ede\u1ee0\u1ee2\u1ee4\u1ee6\u1ee8\u1eea\u1eec\u1eee\u1ef0\u1ef2\u1ef4\u1ef6\u1ef8\u1efa\u1efc\u1efe\u1f08-\u1f0f\u1f18-\u1f1d\u1f28-\u1f2f\u1f38-\u1f3f\u1f48-\u1f4d\u1f59\u1f5b\u1f5d\u1f5f\u1f68-\u1f6f\u1fb8-\u1fbb\u1fc8-\u1fcb\u1fd8-\u1fdb\u1fe8-\u1fec\u1ff8-\u1ffb\u2102\u2107\u210b-\u210d\u2110-\u2112\u2115\u2119-\u211d\u2124\u2126\u2128\u212a-\u212d\u2130-\u2133\u213e-\u213f\u2145\u2183\u2c00-\u2c2e\u2c60\u2c62-\u2c64\u2c67\u2c69\u2c6b\u2c6d-\u2c70\u2c72\u2c75\u2c7e-\u2c80\u2c82\u2c84\u2c86\u2c88\u2c8a\u2c8c\u2c8e\u2c90\u2c92\u2c94\u2c96\u2c98\u2c9a\u2c9c\u2c9e\u2ca0\u2ca2\u2ca4\u2ca6\u2ca8\u2caa\u2cac\u2cae\u2cb0\u2cb2\u2cb4\u2cb6\u2cb8\u2cba\u2cbc\u2cbe\u2cc0\u2cc2\u2cc4\u2cc6\u2cc8\u2cca\u2ccc\u2cce\u2cd0\u2cd2\u2cd4\u2cd6\u2cd8\u2cda\u2cdc\u2cde\u2ce0\u2ce2\u2ceb\u2ced\u2cf2\ua640\ua642\ua644\ua646\ua648\ua64a\ua64c\ua64e\ua650\ua652\ua654\ua656\ua658\ua65a\ua65c\ua65e\ua660\ua662\ua664\ua666\ua668\ua66a\ua66c\ua680\ua682\ua684\ua686\ua688\ua68a\ua68c\ua68e\ua690\ua692\ua694\ua696\ua722\ua724\ua726\ua728\ua72a\ua72c\ua72e\ua732\ua734\ua736\ua738\ua73a\ua73c\ua73e\ua740\ua742\ua744\ua746\ua748\ua74a\ua74c\ua74e\ua750\ua752\ua754\ua756\ua758\ua75a\ua75c\ua75e\ua760\ua762\ua764\ua766\ua768\ua76a\ua76c\ua76e\ua779\ua77b\ua77d-\ua77e\ua780\ua782\ua784\ua786\ua78b\ua78d\ua790\ua792\ua7a0\ua7a2\ua7a4\ua7a6\ua7a8\ua7aa\uff21-\uff3aa-z\u00b5\u00df-\u00f6\u00f8-\u00ff\u0101\u0103\u0105\u0107\u0109\u010b\u010d\u010f\u0111\u0113\u0115\u0117\u0119\u011b\u011d\u011f\u0121\u0123\u0125\u0127\u0129\u012b\u012d\u012f\u0131\u0133\u0135\u0137-\u0138\u013a\u013c\u013e\u0140\u0142\u0144\u0146\u0148-\u0149\u014b\u014d\u014f\u0151\u0153\u0155\u0157\u0159\u015b\u015d\u015f\u0161\u0163\u0165\u0167\u0169\u016b\u016d\u016f\u0171\u0173\u0175\u0177\u017a\u017c\u017e-\u0180\u0183\u0185\u0188\u018c-\u018d\u0192\u0195\u0199-\u019b\u019e\u01a1\u01a3\u01a5\u01a8\u01aa-\u01ab\u01ad\u01b0\u01b4\u01b6\u01b9-\u01ba\u01bd-\u01bf\u01c6\u01c9\u01cc\u01ce\u01d0\u01d2\u01d4\u01d6\u01d8\u01da\u01dc-\u01dd\u01df\u01e1\u01e3\u01e5\u01e7\u01e9\u01eb\u01ed\u01ef-\u01f0\u01f3\u01f5\u01f9\u01fb\u01fd\u01ff\u0201\u0203\u0205\u0207\u0209\u020b\u020d\u020f\u0211\u0213\u0215\u0217\u0219\u021b\u021d\u021f\u0221\u0223\u0225\u0227\u0229\u022b\u022d\u022f\u0231\u0233-\u0239\u023c\u023f-\u0240\u0242\u0247\u0249\u024b\u024d\u024f-\u0293\u0295-\u02af\u0371\u0373\u0377\u037b-\u037d\u0390\u03ac-\u03ce\u03d0-\u03d1\u03d5-\u03d7\u03d9\u03db\u03dd\u03df\u03e1\u03e3\u03e5\u03e7\u03e9\u03eb\u03ed\u03ef-\u03f3\u03f5\u03f8\u03fb-\u03fc\u0430-\u045f\u0461\u0463\u0465\u0467\u0469\u046b\u046d\u046f\u0471\u0473\u0475\u0477\u0479\u047b\u047d\u047f\u0481\u048b\u048d\u048f\u0491\u0493\u0495\u0497\u0499\u049b\u049d\u049f\u04a1\u04a3\u04a5\u04a7\u04a9\u04ab\u04ad\u04af\u04b1\u04b3\u04b5\u04b7\u04b9\u04bb\u04bd\u04bf\u04c2\u04c4\u04c6\u04c8\u04ca\u04cc\u04ce-\u04cf\u04d1\u04d3\u04d5\u04d7\u04d9\u04db\u04dd\u04df\u04e1\u04e3\u04e5\u04e7\u04e9\u04eb\u04ed\u04ef\u04f1\u04f3\u04f5\u04f7\u04f9\u04fb\u04fd\u04ff\u0501\u0503\u0505\u0507\u0509\u050b\u050d\u050f\u0511\u0513\u0515\u0517\u0519\u051b\u051d\u051f\u0521\u0523\u0525\u0527\u0561-\u0587\u1d00-\u1d2b\u1d6b-\u1d77\u1d79-\u1d9a\u1e01\u1e03\u1e05\u1e07\u1e09\u1e0b\u1e0d\u1e0f\u1e11\u1e13\u1e15\u1e17\u1e19\u1e1b\u1e1d\u1e1f\u1e21\u1e23\u1e25\u1e27\u1e29\u1e2b\u1e2d\u1e2f\u1e31\u1e33\u1e35\u1e37\u1e39\u1e3b\u1e3d\u1e3f\u1e41\u1e43\u1e45\u1e47\u1e49\u1e4b\u1e4d\u1e4f\u1e51\u1e53\u1e55\u1e57\u1e59\u1e5b\u1e5d\u1e5f\u1e61\u1e63\u1e65\u1e67\u1e69\u1e6b\u1e6d\u1e6f\u1e71\u1e73\u1e75\u1e77\u1e79\u1e7b\u1e7d\u1e7f\u1e81\u1e83\u1e85\u1e87\u1e89\u1e8b\u1e8d\u1e8f\u1e91\u1e93\u1e95-\u1e9d\u1e9f\u1ea1\u1ea3\u1ea5\u1ea7\u1ea9\u1eab\u1ead\u1eaf\u1eb1\u1eb3\u1eb5\u1eb7\u1eb9\u1ebb\u1ebd\u1ebf\u1ec1\u1ec3\u1ec5\u1ec7\u1ec9\u1ecb\u1ecd\u1ecf\u1ed1\u1ed3\u1ed5\u1ed7\u1ed9\u1edb\u1edd\u1edf\u1ee1\u1ee3\u1ee5\u1ee7\u1ee9\u1eeb\u1eed\u1eef\u1ef1\u1ef3\u1ef5\u1ef7\u1ef9\u1efb\u1efd\u1eff-\u1f07\u1f10-\u1f15\u1f20-\u1f27\u1f30-\u1f37\u1f40-\u1f45\u1f50-\u1f57\u1f60-\u1f67\u1f70-\u1f7d\u1f80-\u1f87\u1f90-\u1f97\u1fa0-\u1fa7\u1fb0-\u1fb4\u1fb6-\u1fb7\u1fbe\u1fc2-\u1fc4\u1fc6-\u1fc7\u1fd0-\u1fd3\u1fd6-\u1fd7\u1fe0-\u1fe7\u1ff2-\u1ff4\u1ff6-\u1ff7\u210a\u210e-\u210f\u2113\u212f\u2134\u2139\u213c-\u213d\u2146-\u2149\u214e\u2184\u2c30-\u2c5e\u2c61\u2c65-\u2c66\u2c68\u2c6a\u2c6c\u2c71\u2c73-\u2c74\u2c76-\u2c7b\u2c81\u2c83\u2c85\u2c87\u2c89\u2c8b\u2c8d\u2c8f\u2c91\u2c93\u2c95\u2c97\u2c99\u2c9b\u2c9d\u2c9f\u2ca1\u2ca3\u2ca5\u2ca7\u2ca9\u2cab\u2cad\u2caf\u2cb1\u2cb3\u2cb5\u2cb7\u2cb9\u2cbb\u2cbd\u2cbf\u2cc1\u2cc3\u2cc5\u2cc7\u2cc9\u2ccb\u2ccd\u2ccf\u2cd1\u2cd3\u2cd5\u2cd7\u2cd9\u2cdb\u2cdd\u2cdf\u2ce1\u2ce3-\u2ce4\u2cec\u2cee\u2cf3\u2d00-\u2d25\u2d27\u2d2d\ua641\ua643\ua645\ua647\ua649\ua64b\ua64d\ua64f\ua651\ua653\ua655\ua657\ua659\ua65b\ua65d\ua65f\ua661\ua663\ua665\ua667\ua669\ua66b\ua66d\ua681\ua683\ua685\ua687\ua689\ua68b\ua68d\ua68f\ua691\ua693\ua695\ua697\ua723\ua725\ua727\ua729\ua72b\ua72d\ua72f-\ua731\ua733\ua735\ua737\ua739\ua73b\ua73d\ua73f\ua741\ua743\ua745\ua747\ua749\ua74b\ua74d\ua74f\ua751\ua753\ua755\ua757\ua759\ua75b\ua75d\ua75f\ua761\ua763\ua765\ua767\ua769\ua76b\ua76d\ua76f\ua771-\ua778\ua77a\ua77c\ua77f\ua781\ua783\ua785\ua787\ua78c\ua78e\ua791\ua793\ua7a1\ua7a3\ua7a5\ua7a7\ua7a9\ua7fa\ufb00-\ufb06\ufb13-\ufb17\uff41-\uff5a\u01c5\u01c8\u01cb\u01f2\u1f88-\u1f8f\u1f98-\u1f9f\u1fa8-\u1faf\u1fbc\u1fcc\u1ffc\u02b0-\u02c1\u02c6-\u02d1\u02e0-\u02e4\u02ec\u02ee\u0374\u037a\u0559\u0640\u06e5-\u06e6\u07f4-\u07f5\u07fa\u081a\u0824\u0828\u0971\u0e46\u0ec6\u10fc\u17d7\u1843\u1aa7\u1c78-\u1c7d\u1d2c-\u1d6a\u1d78\u1d9b-\u1dbf\u2071\u207f\u2090-\u209c\u2c7c-\u2c7d\u2d6f\u2e2f\u3005\u3031-\u3035\u303b\u309d-\u309e\u30fc-\u30fe\ua015\ua4f8-\ua4fd\ua60c\ua67f\ua717-\ua71f\ua770\ua788\ua7f8-\ua7f9\ua9cf\uaa70\uaadd\uaaf3-\uaaf4\uff70\uff9e-\uff9f\u16ee-\u16f0\u2160-\u2182\u2185-\u2188\u3007\u3021-\u3029\u3038-\u303a\ua6e6-\ua6ef][A-Z\u00c0-\u00d6\u00d8-\u00de\u0100\u0102\u0104\u0106\u0108\u010a\u010c\u010e\u0110\u0112\u0114\u0116\u0118\u011a\u011c\u011e\u0120\u0122\u0124\u0126\u0128\u012a\u012c\u012e\u0130\u0132\u0134\u0136\u0139\u013b\u013d\u013f\u0141\u0143\u0145\u0147\u014a\u014c\u014e\u0150\u0152\u0154\u0156\u0158\u015a\u015c\u015e\u0160\u0162\u0164\u0166\u0168\u016a\u016c\u016e\u0170\u0172\u0174\u0176\u0178-\u0179\u017b\u017d\u0181-\u0182\u0184\u0186-\u0187\u0189-\u018b\u018e-\u0191\u0193-\u0194\u0196-\u0198\u019c-\u019d\u019f-\u01a0\u01a2\u01a4\u01a6-\u01a7\u01a9\u01ac\u01ae-\u01af\u01b1-\u01b3\u01b5\u01b7-\u01b8\u01bc\u01c4\u01c7\u01ca\u01cd\u01cf\u01d1\u01d3\u01d5\u01d7\u01d9\u01db\u01de\u01e0\u01e2\u01e4\u01e6\u01e8\u01ea\u01ec\u01ee\u01f1\u01f4\u01f6-\u01f8\u01fa\u01fc\u01fe\u0200\u0202\u0204\u0206\u0208\u020a\u020c\u020e\u0210\u0212\u0214\u0216\u0218\u021a\u021c\u021e\u0220\u0222\u0224\u0226\u0228\u022a\u022c\u022e\u0230\u0232\u023a-\u023b\u023d-\u023e\u0241\u0243-\u0246\u0248\u024a\u024c\u024e\u0370\u0372\u0376\u0386\u0388-\u038a\u038c\u038e-\u038f\u0391-\u03a1\u03a3-\u03ab\u03cf\u03d2-\u03d4\u03d8\u03da\u03dc\u03de\u03e0\u03e2\u03e4\u03e6\u03e8\u03ea\u03ec\u03ee\u03f4\u03f7\u03f9-\u03fa\u03fd-\u042f\u0460\u0462\u0464\u0466\u0468\u046a\u046c\u046e\u0470\u0472\u0474\u0476\u0478\u047a\u047c\u047e\u0480\u048a\u048c\u048e\u0490\u0492\u0494\u0496\u0498\u049a\u049c\u049e\u04a0\u04a2\u04a4\u04a6\u04a8\u04aa\u04ac\u04ae\u04b0\u04b2\u04b4\u04b6\u04b8\u04ba\u04bc\u04be\u04c0-\u04c1\u04c3\u04c5\u04c7\u04c9\u04cb\u04cd\u04d0\u04d2\u04d4\u04d6\u04d8\u04da\u04dc\u04de\u04e0\u04e2\u04e4\u04e6\u04e8\u04ea\u04ec\u04ee\u04f0\u04f2\u04f4\u04f6\u04f8\u04fa\u04fc\u04fe\u0500\u0502\u0504\u0506\u0508\u050a\u050c\u050e\u0510\u0512\u0514\u0516\u0518\u051a\u051c\u051e\u0520\u0522\u0524\u0526\u0531-\u0556\u10a0-\u10c5\u10c7\u10cd\u1e00\u1e02\u1e04\u1e06\u1e08\u1e0a\u1e0c\u1e0e\u1e10\u1e12\u1e14\u1e16\u1e18\u1e1a\u1e1c\u1e1e\u1e20\u1e22\u1e24\u1e26\u1e28\u1e2a\u1e2c\u1e2e\u1e30\u1e32\u1e34\u1e36\u1e38\u1e3a\u1e3c\u1e3e\u1e40\u1e42\u1e44\u1e46\u1e48\u1e4a\u1e4c\u1e4e\u1e50\u1e52\u1e54\u1e56\u1e58\u1e5a\u1e5c\u1e5e\u1e60\u1e62\u1e64\u1e66\u1e68\u1e6a\u1e6c\u1e6e\u1e70\u1e72\u1e74\u1e76\u1e78\u1e7a\u1e7c\u1e7e\u1e80\u1e82\u1e84\u1e86\u1e88\u1e8a\u1e8c\u1e8e\u1e90\u1e92\u1e94\u1e9e\u1ea0\u1ea2\u1ea4\u1ea6\u1ea8\u1eaa\u1eac\u1eae\u1eb0\u1eb2\u1eb4\u1eb6\u1eb8\u1eba\u1ebc\u1ebe\u1ec0\u1ec2\u1ec4\u1ec6\u1ec8\u1eca\u1ecc\u1ece\u1ed0\u1ed2\u1ed4\u1ed6\u1ed8\u1eda\u1edc\u1ede\u1ee0\u1ee2\u1ee4\u1ee6\u1ee8\u1eea\u1eec\u1eee\u1ef0\u1ef2\u1ef4\u1ef6\u1ef8\u1efa\u1efc\u1efe\u1f08-\u1f0f\u1f18-\u1f1d\u1f28-\u1f2f\u1f38-\u1f3f\u1f48-\u1f4d\u1f59\u1f5b\u1f5d\u1f5f\u1f68-\u1f6f\u1fb8-\u1fbb\u1fc8-\u1fcb\u1fd8-\u1fdb\u1fe8-\u1fec\u1ff8-\u1ffb\u2102\u2107\u210b-\u210d\u2110-\u2112\u2115\u2119-\u211d\u2124\u2126\u2128\u212a-\u212d\u2130-\u2133\u213e-\u213f\u2145\u2183\u2c00-\u2c2e\u2c60\u2c62-\u2c64\u2c67\u2c69\u2c6b\u2c6d-\u2c70\u2c72\u2c75\u2c7e-\u2c80\u2c82\u2c84\u2c86\u2c88\u2c8a\u2c8c\u2c8e\u2c90\u2c92\u2c94\u2c96\u2c98\u2c9a\u2c9c\u2c9e\u2ca0\u2ca2\u2ca4\u2ca6\u2ca8\u2caa\u2cac\u2cae\u2cb0\u2cb2\u2cb4\u2cb6\u2cb8\u2cba\u2cbc\u2cbe\u2cc0\u2cc2\u2cc4\u2cc6\u2cc8\u2cca\u2ccc\u2cce\u2cd0\u2cd2\u2cd4\u2cd6\u2cd8\u2cda\u2cdc\u2cde\u2ce0\u2ce2\u2ceb\u2ced\u2cf2\ua640\ua642\ua644\ua646\ua648\ua64a\ua64c\ua64e\ua650\ua652\ua654\ua656\ua658\ua65a\ua65c\ua65e\ua660\ua662\ua664\ua666\ua668\ua66a\ua66c\ua680\ua682\ua684\ua686\ua688\ua68a\ua68c\ua68e\ua690\ua692\ua694\ua696\ua722\ua724\ua726\ua728\ua72a\ua72c\ua72e\ua732\ua734\ua736\ua738\ua73a\ua73c\ua73e\ua740\ua742\ua744\ua746\ua748\ua74a\ua74c\ua74e\ua750\ua752\ua754\ua756\ua758\ua75a\ua75c\ua75e\ua760\ua762\ua764\ua766\ua768\ua76a\ua76c\ua76e\ua779\ua77b\ua77d-\ua77e\ua780\ua782\ua784\ua786\ua78b\ua78d\ua790\ua792\ua7a0\ua7a2\ua7a4\ua7a6\ua7a8\ua7aa\uff21-\uff3aa-z\u00b5\u00df-\u00f6\u00f8-\u00ff\u0101\u0103\u0105\u0107\u0109\u010b\u010d\u010f\u0111\u0113\u0115\u0117\u0119\u011b\u011d\u011f\u0121\u0123\u0125\u0127\u0129\u012b\u012d\u012f\u0131\u0133\u0135\u0137-\u0138\u013a\u013c\u013e\u0140\u0142\u0144\u0146\u0148-\u0149\u014b\u014d\u014f\u0151\u0153\u0155\u0157\u0159\u015b\u015d\u015f\u0161\u0163\u0165\u0167\u0169\u016b\u016d\u016f\u0171\u0173\u0175\u0177\u017a\u017c\u017e-\u0180\u0183\u0185\u0188\u018c-\u018d\u0192\u0195\u0199-\u019b\u019e\u01a1\u01a3\u01a5\u01a8\u01aa-\u01ab\u01ad\u01b0\u01b4\u01b6\u01b9-\u01ba\u01bd-\u01bf\u01c6\u01c9\u01cc\u01ce\u01d0\u01d2\u01d4\u01d6\u01d8\u01da\u01dc-\u01dd\u01df\u01e1\u01e3\u01e5\u01e7\u01e9\u01eb\u01ed\u01ef-\u01f0\u01f3\u01f5\u01f9\u01fb\u01fd\u01ff\u0201\u0203\u0205\u0207\u0209\u020b\u020d\u020f\u0211\u0213\u0215\u0217\u0219\u021b\u021d\u021f\u0221\u0223\u0225\u0227\u0229\u022b\u022d\u022f\u0231\u0233-\u0239\u023c\u023f-\u0240\u0242\u0247\u0249\u024b\u024d\u024f-\u0293\u0295-\u02af\u0371\u0373\u0377\u037b-\u037d\u0390\u03ac-\u03ce\u03d0-\u03d1\u03d5-\u03d7\u03d9\u03db\u03dd\u03df\u03e1\u03e3\u03e5\u03e7\u03e9\u03eb\u03ed\u03ef-\u03f3\u03f5\u03f8\u03fb-\u03fc\u0430-\u045f\u0461\u0463\u0465\u0467\u0469\u046b\u046d\u046f\u0471\u0473\u0475\u0477\u0479\u047b\u047d\u047f\u0481\u048b\u048d\u048f\u0491\u0493\u0495\u0497\u0499\u049b\u049d\u049f\u04a1\u04a3\u04a5\u04a7\u04a9\u04ab\u04ad\u04af\u04b1\u04b3\u04b5\u04b7\u04b9\u04bb\u04bd\u04bf\u04c2\u04c4\u04c6\u04c8\u04ca\u04cc\u04ce-\u04cf\u04d1\u04d3\u04d5\u04d7\u04d9\u04db\u04dd\u04df\u04e1\u04e3\u04e5\u04e7\u04e9\u04eb\u04ed\u04ef\u04f1\u04f3\u04f5\u04f7\u04f9\u04fb\u04fd\u04ff\u0501\u0503\u0505\u0507\u0509\u050b\u050d\u050f\u0511\u0513\u0515\u0517\u0519\u051b\u051d\u051f\u0521\u0523\u0525\u0527\u0561-\u0587\u1d00-\u1d2b\u1d6b-\u1d77\u1d79-\u1d9a\u1e01\u1e03\u1e05\u1e07\u1e09\u1e0b\u1e0d\u1e0f\u1e11\u1e13\u1e15\u1e17\u1e19\u1e1b\u1e1d\u1e1f\u1e21\u1e23\u1e25\u1e27\u1e29\u1e2b\u1e2d\u1e2f\u1e31\u1e33\u1e35\u1e37\u1e39\u1e3b\u1e3d\u1e3f\u1e41\u1e43\u1e45\u1e47\u1e49\u1e4b\u1e4d\u1e4f\u1e51\u1e53\u1e55\u1e57\u1e59\u1e5b\u1e5d\u1e5f\u1e61\u1e63\u1e65\u1e67\u1e69\u1e6b\u1e6d\u1e6f\u1e71\u1e73\u1e75\u1e77\u1e79\u1e7b\u1e7d\u1e7f\u1e81\u1e83\u1e85\u1e87\u1e89\u1e8b\u1e8d\u1e8f\u1e91\u1e93\u1e95-\u1e9d\u1e9f\u1ea1\u1ea3\u1ea5\u1ea7\u1ea9\u1eab\u1ead\u1eaf\u1eb1\u1eb3\u1eb5\u1eb7\u1eb9\u1ebb\u1ebd\u1ebf\u1ec1\u1ec3\u1ec5\u1ec7\u1ec9\u1ecb\u1ecd\u1ecf\u1ed1\u1ed3\u1ed5\u1ed7\u1ed9\u1edb\u1edd\u1edf\u1ee1\u1ee3\u1ee5\u1ee7\u1ee9\u1eeb\u1eed\u1eef\u1ef1\u1ef3\u1ef5\u1ef7\u1ef9\u1efb\u1efd\u1eff-\u1f07\u1f10-\u1f15\u1f20-\u1f27\u1f30-\u1f37\u1f40-\u1f45\u1f50-\u1f57\u1f60-\u1f67\u1f70-\u1f7d\u1f80-\u1f87\u1f90-\u1f97\u1fa0-\u1fa7\u1fb0-\u1fb4\u1fb6-\u1fb7\u1fbe\u1fc2-\u1fc4\u1fc6-\u1fc7\u1fd0-\u1fd3\u1fd6-\u1fd7\u1fe0-\u1fe7\u1ff2-\u1ff4\u1ff6-\u1ff7\u210a\u210e-\u210f\u2113\u212f\u2134\u2139\u213c-\u213d\u2146-\u2149\u214e\u2184\u2c30-\u2c5e\u2c61\u2c65-\u2c66\u2c68\u2c6a\u2c6c\u2c71\u2c73-\u2c74\u2c76-\u2c7b\u2c81\u2c83\u2c85\u2c87\u2c89\u2c8b\u2c8d\u2c8f\u2c91\u2c93\u2c95\u2c97\u2c99\u2c9b\u2c9d\u2c9f\u2ca1\u2ca3\u2ca5\u2ca7\u2ca9\u2cab\u2cad\u2caf\u2cb1\u2cb3\u2cb5\u2cb7\u2cb9\u2cbb\u2cbd\u2cbf\u2cc1\u2cc3\u2cc5\u2cc7\u2cc9\u2ccb\u2ccd\u2ccf\u2cd1\u2cd3\u2cd5\u2cd7\u2cd9\u2cdb\u2cdd\u2cdf\u2ce1\u2ce3-\u2ce4\u2cec\u2cee\u2cf3\u2d00-\u2d25\u2d27\u2d2d\ua641\ua643\ua645\ua647\ua649\ua64b\ua64d\ua64f\ua651\ua653\ua655\ua657\ua659\ua65b\ua65d\ua65f\ua661\ua663\ua665\ua667\ua669\ua66b\ua66d\ua681\ua683\ua685\ua687\ua689\ua68b\ua68d\ua68f\ua691\ua693\ua695\ua697\ua723\ua725\ua727\ua729\ua72b\ua72d\ua72f-\ua731\ua733\ua735\ua737\ua739\ua73b\ua73d\ua73f\ua741\ua743\ua745\ua747\ua749\ua74b\ua74d\ua74f\ua751\ua753\ua755\ua757\ua759\ua75b\ua75d\ua75f\ua761\ua763\ua765\ua767\ua769\ua76b\ua76d\ua76f\ua771-\ua778\ua77a\ua77c\ua77f\ua781\ua783\ua785\ua787\ua78c\ua78e\ua791\ua793\ua7a1\ua7a3\ua7a5\ua7a7\ua7a9\ua7fa\ufb00-\ufb06\ufb13-\ufb17\uff41-\uff5a\u01c5\u01c8\u01cb\u01f2\u1f88-\u1f8f\u1f98-\u1f9f\u1fa8-\u1faf\u1fbc\u1fcc\u1ffc\u02b0-\u02c1\u02c6-\u02d1\u02e0-\u02e4\u02ec\u02ee\u0374\u037a\u0559\u0640\u06e5-\u06e6\u07f4-\u07f5\u07fa\u081a\u0824\u0828\u0971\u0e46\u0ec6\u10fc\u17d7\u1843\u1aa7\u1c78-\u1c7d\u1d2c-\u1d6a\u1d78\u1d9b-\u1dbf\u2071\u207f\u2090-\u209c\u2c7c-\u2c7d\u2d6f\u2e2f\u3005\u3031-\u3035\u303b\u309d-\u309e\u30fc-\u30fe\ua015\ua4f8-\ua4fd\ua60c\ua67f\ua717-\ua71f\ua770\ua788\ua7f8-\ua7f9\ua9cf\uaa70\uaadd\uaaf3-\uaaf4\uff70\uff9e-\uff9f\u16ee-\u16f0\u2160-\u2182\u2185-\u2188\u3007\u3021-\u3029\u3038-\u303a\ua6e6-\ua6ef0-9\u0660-\u0669\u06f0-\u06f9\u07c0-\u07c9\u0966-\u096f\u09e6-\u09ef\u0a66-\u0a6f\u0ae6-\u0aef\u0b66-\u0b6f\u0be6-\u0bef\u0c66-\u0c6f\u0ce6-\u0cef\u0d66-\u0d6f\u0e50-\u0e59\u0ed0-\u0ed9\u0f20-\u0f29\u1040-\u1049\u1090-\u1099\u17e0-\u17e9\u1810-\u1819\u1946-\u194f\u19d0-\u19d9\u1a80-\u1a89\u1a90-\u1a99\u1b50-\u1b59\u1bb0-\u1bb9\u1c40-\u1c49\u1c50-\u1c59\ua620-\ua629\ua8d0-\ua8d9\ua900-\ua909\ua9d0-\ua9d9\uaa50-\uaa59\uabf0-\uabf9\uff10-\uff19_\u203f-\u2040\u2054\ufe33-\ufe34\ufe4d-\ufe4f\uff3f\u00ad\u0600-\u0604\u061c\u06dd\u070f\u180e\u200b-\u200f\u202a-\u202e\u2060-\u2064\u2066-\u206f\ufeff\ufff9-\ufffb\u0300-\u036f\u0483-\u0487\u0591-\u05bd\u05bf\u05c1-\u05c2\u05c4-\u05c5\u05c7\u0610-\u061a\u064b-\u065f\u0670\u06d6-\u06dc\u06df-\u06e4\u06e7-\u06e8\u06ea-\u06ed\u0711\u0730-\u074a\u07a6-\u07b0\u07eb-\u07f3\u0816-\u0819\u081b-\u0823\u0825-\u0827\u0829-\u082d\u0859-\u085b\u08e4-\u08fe\u0900-\u0902\u093a\u093c\u0941-\u0948\u094d\u0951-\u0957\u0962-\u0963\u0981\u09bc\u09c1-\u09c4\u09cd\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\u0b3f\u0b41-\u0b44\u0b4d\u0b56\u0b62-\u0b63\u0b82\u0bc0\u0bcd\u0c3e-\u0c40\u0c46-\u0c48\u0c4a-\u0c4d\u0c55-\u0c56\u0c62-\u0c63\u0cbc\u0cbf\u0cc6\u0ccc-\u0ccd\u0ce2-\u0ce3\u0d41-\u0d44\u0d4d\u0d62-\u0d63\u0dca\u0dd2-\u0dd4\u0dd6\u0e31\u0e34-\u0e3a\u0e47-\u0e4e\u0eb1\u0eb4-\u0eb9\u0ebb-\u0ebc\u0ec8-\u0ecd\u0f18-\u0f19\u0f35\u0f37\u0f39\u0f71-\u0f7e\u0f80-\u0f84\u0f86-\u0f87\u0f8d-\u0f97\u0f99-\u0fbc\u0fc6\u102d-\u1030\u1032-\u1037\u1039-\u103a\u103d-\u103e\u1058-\u1059\u105e-\u1060\u1071-\u1074\u1082\u1085-\u1086\u108d\u109d\u135d-\u135f\u1712-\u1714\u1732-\u1734\u1752-\u1753\u1772-\u1773\u17b4-\u17b5\u17b7-\u17bd\u17c6\u17c9-\u17d3\u17dd\u180b-\u180d\u18a9\u1920-\u1922\u1927-\u1928\u1932\u1939-\u193b\u1a17-\u1a18\u1a1b\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\u1bab\u1be6\u1be8-\u1be9\u1bed\u1bef-\u1bf1\u1c2c-\u1c33\u1c36-\u1c37\u1cd0-\u1cd2\u1cd4-\u1ce0\u1ce2-\u1ce8\u1ced\u1cf4\u1dc0-\u1de6\u1dfc-\u1dff\u20d0-\u20dc\u20e1\u20e5-\u20f0\u2cef-\u2cf1\u2d7f\u2de0-\u2dff\u302a-\u302d\u3099-\u309a\ua66f\ua674-\ua67d\ua69f\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\uaaec-\uaaed\uaaf6\uabe5\uabe8\uabed\ufb1e\ufe00-\ufe0f\ufe20-\ufe26\u0903\u093b\u093e-\u0940\u0949-\u094c\u094e-\u094f\u0982-\u0983\u09be-\u09c0\u09c7-\u09c8\u09cb-\u09cc\u09d7\u0a03\u0a3e-\u0a40\u0a83\u0abe-\u0ac0\u0ac9\u0acb-\u0acc\u0b02-\u0b03\u0b3e\u0b40\u0b47-\u0b48\u0b4b-\u0b4c\u0b57\u0bbe-\u0bbf\u0bc1-\u0bc2\u0bc6-\u0bc8\u0bca-\u0bcc\u0bd7\u0c01-\u0c03\u0c41-\u0c44\u0c82-\u0c83\u0cbe\u0cc0-\u0cc4\u0cc7-\u0cc8\u0cca-\u0ccb\u0cd5-\u0cd6\u0d02-\u0d03\u0d3e-\u0d40\u0d46-\u0d48\u0d4a-\u0d4c\u0d57\u0d82-\u0d83\u0dcf-\u0dd1\u0dd8-\u0ddf\u0df2-\u0df3\u0f3e-\u0f3f\u0f7f\u102b-\u102c\u1031\u1038\u103b-\u103c\u1056-\u1057\u1062-\u1064\u1067-\u106d\u1083-\u1084\u1087-\u108c\u108f\u109a-\u109c\u17b6\u17be-\u17c5\u17c7-\u17c8\u1923-\u1926\u1929-\u192b\u1930-\u1931\u1933-\u1938\u19b0-\u19c0\u19c8-\u19c9\u1a19-\u1a1a\u1a55\u1a57\u1a61\u1a63-\u1a64\u1a6d-\u1a72\u1b04\u1b35\u1b3b\u1b3d-\u1b41\u1b43-\u1b44\u1b82\u1ba1\u1ba6-\u1ba7\u1baa\u1bac-\u1bad\u1be7\u1bea-\u1bec\u1bee\u1bf2-\u1bf3\u1c24-\u1c2b\u1c34-\u1c35\u1ce1\u1cf2-\u1cf3\u302e-\u302f\ua823-\ua824\ua827\ua880-\ua881\ua8b4-\ua8c3\ua952-\ua953\ua983\ua9b4-\ua9b5\ua9ba-\ua9bb\ua9bd-\ua9c0\uaa2f-\uaa30\uaa33-\uaa34\uaa4d\uaa7b\uaaeb\uaaee-\uaaef\uaaf5\uabe3-\uabe4\uabe6-\uabe7\uabe9-\uabea\uabec" - -// Kotlin lexer. -var Kotlin = internal.Register(MustNewLexer( - &Config{ - Name: "Kotlin", - Aliases: []string{"kotlin"}, - Filenames: []string{"*.kt"}, - MimeTypes: []string{"text/x-kotlin"}, - DotAll: true, - }, - Rules{ - "root": { - {`^\s*\[.*?\]`, NameAttribute, nil}, - {`[^\S\n]+`, Text, nil}, - {`\\\n`, Text, nil}, - {`//[^\n]*\n?`, CommentSingle, nil}, - {`/[*].*?[*]/`, CommentMultiline, nil}, - {`\n`, Text, nil}, - {`::|!!|\?[:.]`, Operator, nil}, - {`[~!%^&*()+=|\[\]:;,.<>/?-]`, Punctuation, nil}, - {`[{}]`, Punctuation, nil}, - {`"""[^"]*"""`, LiteralString, nil}, - {`"(\\\\|\\"|[^"\n])*["\n]`, LiteralString, nil}, - {`'\\.'|'[^\\]'`, LiteralStringChar, nil}, - {`[0-9](\.[0-9]*)?([eE][+-][0-9]+)?[flFL]?|0[xX][0-9a-fA-F]+[Ll]?`, LiteralNumber, nil}, - {`(companion)(\s+)(object)`, ByGroups(Keyword, Text, Keyword), nil}, - {`(class|interface|object)(\s+)`, ByGroups(Keyword, Text), Push("class")}, - {`(package|import)(\s+)`, ByGroups(Keyword, Text), Push("package")}, - {`(val|var)(\s+)`, ByGroups(Keyword, Text), Push("property")}, - {`(fun)(\s+)(<[^>]*>\s+)?`, ByGroups(Keyword, Text, Text), Push("function")}, - {`(abstract|actual|annotation|as|break|by|catch|class|companion|const|constructor|continue|crossinline|data|do|dynamic|else|enum|expect|external|false|final|finally|for|fun|get|if|import|in|infix|inline|inner|interface|internal|is|lateinit|noinline|null|object|open|operator|out|override|package|private|protected|public|reified|return|sealed|set|super|suspend|tailrec|this|throw|true|try|val|var|vararg|when|where|while)\b`, Keyword, nil}, - {"(@?[" + kotlinIdentifier + "]*`)", Name, nil}, - }, - "package": { - {`\S+`, NameNamespace, Pop(1)}, - }, - "class": { - {"(@?[" + kotlinIdentifier + "]*`)", NameClass, Pop(1)}, - }, - "property": { - {"(@?[" + kotlinIdentifier + " ]*`)", NameProperty, Pop(1)}, - }, - "function": { - {"(@?[" + kotlinIdentifier + " ]*`)", NameFunction, Pop(1)}, - }, - }, -)) diff --git a/vendor/github.com/alecthomas/chroma/lexers/l/lighttpd.go b/vendor/github.com/alecthomas/chroma/lexers/l/lighttpd.go deleted file mode 100644 index 799b77c3..00000000 --- a/vendor/github.com/alecthomas/chroma/lexers/l/lighttpd.go +++ /dev/null @@ -1,30 +0,0 @@ -package l - -import ( - . "github.com/alecthomas/chroma" // nolint - "github.com/alecthomas/chroma/lexers/internal" -) - -// Lighttpd Configuration File lexer. -var Lighttpd = internal.Register(MustNewLexer( - &Config{ - Name: "Lighttpd configuration file", - Aliases: []string{"lighty", "lighttpd"}, - Filenames: []string{}, - MimeTypes: []string{"text/x-lighttpd-conf"}, - }, - Rules{ - "root": { - {`#.*\n`, CommentSingle, nil}, - {`/\S*`, Name, nil}, - {`[a-zA-Z._-]+`, Keyword, nil}, - {`\d+\.\d+\.\d+\.\d+(?:/\d+)?`, LiteralNumber, nil}, - {`[0-9]+`, LiteralNumber, nil}, - {`=>|=~|\+=|==|=|\+`, Operator, nil}, - {`\$[A-Z]+`, NameBuiltin, nil}, - {`[(){}\[\],]`, Punctuation, nil}, - {`"([^"\\]*(?:\\.[^"\\]*)*)"`, LiteralStringDouble, nil}, - {`\s+`, Text, nil}, - }, - }, -)) diff --git a/vendor/github.com/alecthomas/chroma/lexers/l/llvm.go b/vendor/github.com/alecthomas/chroma/lexers/l/llvm.go deleted file mode 100644 index 8f5b0b12..00000000 --- a/vendor/github.com/alecthomas/chroma/lexers/l/llvm.go +++ /dev/null @@ -1,43 +0,0 @@ -package l - -import ( - . "github.com/alecthomas/chroma" // nolint - "github.com/alecthomas/chroma/lexers/internal" -) - -// Llvm lexer. -var Llvm = internal.Register(MustNewLexer( - &Config{ - Name: "LLVM", - Aliases: []string{"llvm"}, - Filenames: []string{"*.ll"}, - MimeTypes: []string{"text/x-llvm"}, - }, - Rules{ - "root": { - Include("whitespace"), - {`([-a-zA-Z$._][\w\-$.]*|"[^"]*?")\s*:`, NameLabel, nil}, - Include("keyword"), - {`%([-a-zA-Z$._][\w\-$.]*|"[^"]*?")`, NameVariable, nil}, - {`@([-a-zA-Z$._][\w\-$.]*|"[^"]*?")`, NameVariableGlobal, nil}, - {`%\d+`, NameVariableAnonymous, nil}, - {`@\d+`, NameVariableGlobal, nil}, - {`#\d+`, NameVariableGlobal, nil}, - {`!([-a-zA-Z$._][\w\-$.]*|"[^"]*?")`, NameVariable, nil}, - {`!\d+`, NameVariableAnonymous, nil}, - {`c?"[^"]*?"`, LiteralString, nil}, - {`0[xX][a-fA-F0-9]+`, LiteralNumber, nil}, - {`-?\d+(?:[.]\d+)?(?:[eE][-+]?\d+(?:[.]\d+)?)?`, LiteralNumber, nil}, - {`[=<>{}\[\]()*.,!]|x\b`, Punctuation, nil}, - }, - "whitespace": { - {`(\n|\s)+`, Text, nil}, - {`;.*?\n`, Comment, nil}, - }, - "keyword": { - {Words(``, `\b`, `begin`, `end`, `true`, `false`, `declare`, `define`, `global`, `constant`, `private`, `linker_private`, `internal`, `available_externally`, `linkonce`, `linkonce_odr`, `weak`, `weak_odr`, `appending`, `dllimport`, `dllexport`, `common`, `default`, `hidden`, `protected`, `extern_weak`, `external`, `thread_local`, `zeroinitializer`, `undef`, `null`, `to`, `tail`, `target`, `triple`, `datalayout`, `volatile`, `nuw`, `nsw`, `nnan`, `ninf`, `nsz`, `arcp`, `fast`, `exact`, `inbounds`, `align`, `addrspace`, `section`, `alias`, `module`, `asm`, `sideeffect`, `gc`, `dbg`, `linker_private_weak`, `attributes`, `blockaddress`, `initialexec`, `localdynamic`, `localexec`, `prefix`, `unnamed_addr`, `ccc`, `fastcc`, `coldcc`, `x86_stdcallcc`, `x86_fastcallcc`, `arm_apcscc`, `arm_aapcscc`, `arm_aapcs_vfpcc`, `ptx_device`, `ptx_kernel`, `intel_ocl_bicc`, `msp430_intrcc`, `spir_func`, `spir_kernel`, `x86_64_sysvcc`, `x86_64_win64cc`, `x86_thiscallcc`, `cc`, `c`, `signext`, `zeroext`, `inreg`, `sret`, `nounwind`, `noreturn`, `noalias`, `nocapture`, `byval`, `nest`, `readnone`, `readonly`, `inlinehint`, `noinline`, `alwaysinline`, `optsize`, `ssp`, `sspreq`, `noredzone`, `noimplicitfloat`, `naked`, `builtin`, `cold`, `nobuiltin`, `noduplicate`, `nonlazybind`, `optnone`, `returns_twice`, `sanitize_address`, `sanitize_memory`, `sanitize_thread`, `sspstrong`, `uwtable`, `returned`, `type`, `opaque`, `eq`, `ne`, `slt`, `sgt`, `sle`, `sge`, `ult`, `ugt`, `ule`, `uge`, `oeq`, `one`, `olt`, `ogt`, `ole`, `oge`, `ord`, `uno`, `ueq`, `une`, `x`, `acq_rel`, `acquire`, `alignstack`, `atomic`, `catch`, `cleanup`, `filter`, `inteldialect`, `max`, `min`, `monotonic`, `nand`, `personality`, `release`, `seq_cst`, `singlethread`, `umax`, `umin`, `unordered`, `xchg`, `add`, `fadd`, `sub`, `fsub`, `mul`, `fmul`, `udiv`, `sdiv`, `fdiv`, `urem`, `srem`, `frem`, `shl`, `lshr`, `ashr`, `and`, `or`, `xor`, `icmp`, `fcmp`, `phi`, `call`, `trunc`, `zext`, `sext`, `fptrunc`, `fpext`, `uitofp`, `sitofp`, `fptoui`, `fptosi`, `inttoptr`, `ptrtoint`, `bitcast`, `addrspacecast`, `select`, `va_arg`, `ret`, `br`, `switch`, `invoke`, `unwind`, `unreachable`, `indirectbr`, `landingpad`, `resume`, `malloc`, `alloca`, `free`, `load`, `store`, `getelementptr`, `extractelement`, `insertelement`, `shufflevector`, `getresult`, `extractvalue`, `insertvalue`, `atomicrmw`, `cmpxchg`, `fence`, `allocsize`, `amdgpu_cs`, `amdgpu_gs`, `amdgpu_kernel`, `amdgpu_ps`, `amdgpu_vs`, `any`, `anyregcc`, `argmemonly`, `avr_intrcc`, `avr_signalcc`, `caller`, `catchpad`, `catchret`, `catchswitch`, `cleanuppad`, `cleanupret`, `comdat`, `convergent`, `cxx_fast_tlscc`, `deplibs`, `dereferenceable`, `dereferenceable_or_null`, `distinct`, `exactmatch`, `externally_initialized`, `from`, `ghccc`, `hhvm_ccc`, `hhvmcc`, `ifunc`, `inaccessiblemem_or_argmemonly`, `inaccessiblememonly`, `inalloca`, `jumptable`, `largest`, `local_unnamed_addr`, `minsize`, `musttail`, `noduplicates`, `none`, `nonnull`, `norecurse`, `notail`, `preserve_allcc`, `preserve_mostcc`, `prologue`, `safestack`, `samesize`, `source_filename`, `swiftcc`, `swifterror`, `swiftself`, `webkit_jscc`, `within`, `writeonly`, `x86_intrcc`, `x86_vectorcallcc`), Keyword, nil}, - {Words(``, ``, `void`, `half`, `float`, `double`, `x86_fp80`, `fp128`, `ppc_fp128`, `label`, `metadata`, `token`), KeywordType, nil}, - {`i[1-9]\d*`, Keyword, nil}, - }, - }, -)) diff --git a/vendor/github.com/alecthomas/chroma/lexers/l/lua.go b/vendor/github.com/alecthomas/chroma/lexers/l/lua.go deleted file mode 100644 index c397de06..00000000 --- a/vendor/github.com/alecthomas/chroma/lexers/l/lua.go +++ /dev/null @@ -1,75 +0,0 @@ -package l - -import ( - . "github.com/alecthomas/chroma" // nolint - "github.com/alecthomas/chroma/lexers/internal" -) - -// Lua lexer. -var Lua = internal.Register(MustNewLexer( - &Config{ - Name: "Lua", - Aliases: []string{"lua"}, - Filenames: []string{"*.lua", "*.wlua"}, - MimeTypes: []string{"text/x-lua", "application/x-lua"}, - }, - Rules{ - "root": { - {`#!.*`, CommentPreproc, nil}, - Default(Push("base")), - }, - "ws": { - {`(?:--\[(=*)\[[\w\W]*?\](\1)\])`, CommentMultiline, nil}, - {`(?:--.*$)`, CommentSingle, nil}, - {`(?:\s+)`, Text, nil}, - }, - "base": { - Include("ws"), - {`(?i)0x[\da-f]*(\.[\da-f]*)?(p[+-]?\d+)?`, LiteralNumberHex, nil}, - {`(?i)(\d*\.\d+|\d+\.\d*)(e[+-]?\d+)?`, LiteralNumberFloat, nil}, - {`(?i)\d+e[+-]?\d+`, LiteralNumberFloat, nil}, - {`\d+`, LiteralNumberInteger, nil}, - {`(?s)\[(=*)\[.*?\]\1\]`, LiteralString, nil}, - {`::`, Punctuation, Push("label")}, - {`\.{3}`, Punctuation, nil}, - {`[=<>|~&+\-*/%#^]+|\.\.`, Operator, nil}, - {`[\[\]{}().,:;]`, Punctuation, nil}, - {`(and|or|not)\b`, OperatorWord, nil}, - {`(break|do|else|elseif|end|for|if|in|repeat|return|then|until|while)\b`, KeywordReserved, nil}, - {`goto\b`, KeywordReserved, Push("goto")}, - {`(local)\b`, KeywordDeclaration, nil}, - {`(true|false|nil)\b`, KeywordConstant, nil}, - {`(function)\b`, KeywordReserved, Push("funcname")}, - {`[A-Za-z_]\w*(\.[A-Za-z_]\w*)?`, Name, nil}, - {`'`, LiteralStringSingle, Combined("stringescape", "sqs")}, - {`"`, LiteralStringDouble, Combined("stringescape", "dqs")}, - }, - "funcname": { - Include("ws"), - {`[.:]`, Punctuation, nil}, - {`(?:[^\W\d]\w*)(?=(?:(?:--\[(=*)\[[\w\W]*?\](\2)\])|(?:--.*$)|(?:\s+))*[.:])`, NameClass, nil}, - {`(?:[^\W\d]\w*)`, NameFunction, Pop(1)}, - {`\(`, Punctuation, Pop(1)}, - }, - "goto": { - Include("ws"), - {`(?:[^\W\d]\w*)`, NameLabel, Pop(1)}, - }, - "label": { - Include("ws"), - {`::`, Punctuation, Pop(1)}, - {`(?:[^\W\d]\w*)`, NameLabel, nil}, - }, - "stringescape": { - {`\\([abfnrtv\\"\']|[\r\n]{1,2}|z\s*|x[0-9a-fA-F]{2}|\d{1,3}|u\{[0-9a-fA-F]+\})`, LiteralStringEscape, nil}, - }, - "sqs": { - {`'`, LiteralStringSingle, Pop(1)}, - {`[^\\']+`, LiteralStringSingle, nil}, - }, - "dqs": { - {`"`, LiteralStringDouble, Pop(1)}, - {`[^\\"]+`, LiteralStringDouble, nil}, - }, - }, -)) diff --git a/vendor/github.com/alecthomas/chroma/lexers/lexers.go b/vendor/github.com/alecthomas/chroma/lexers/lexers.go deleted file mode 100644 index 2897299c..00000000 --- a/vendor/github.com/alecthomas/chroma/lexers/lexers.go +++ /dev/null @@ -1,59 +0,0 @@ -// Package lexers contains the registry of all lexers. -// -// Sub-packages contain lexer implementations. -package lexers - -// nolint: golint -import ( - "github.com/alecthomas/chroma" - _ "github.com/alecthomas/chroma/lexers/a" - _ "github.com/alecthomas/chroma/lexers/b" - _ "github.com/alecthomas/chroma/lexers/c" - _ "github.com/alecthomas/chroma/lexers/circular" - _ "github.com/alecthomas/chroma/lexers/d" - _ "github.com/alecthomas/chroma/lexers/e" - _ "github.com/alecthomas/chroma/lexers/f" - _ "github.com/alecthomas/chroma/lexers/g" - _ "github.com/alecthomas/chroma/lexers/h" - _ "github.com/alecthomas/chroma/lexers/i" - "github.com/alecthomas/chroma/lexers/internal" - _ "github.com/alecthomas/chroma/lexers/j" - _ "github.com/alecthomas/chroma/lexers/k" - _ "github.com/alecthomas/chroma/lexers/l" - _ "github.com/alecthomas/chroma/lexers/m" - _ "github.com/alecthomas/chroma/lexers/n" - _ "github.com/alecthomas/chroma/lexers/o" - _ "github.com/alecthomas/chroma/lexers/p" - _ "github.com/alecthomas/chroma/lexers/q" - _ "github.com/alecthomas/chroma/lexers/r" - _ "github.com/alecthomas/chroma/lexers/s" - _ "github.com/alecthomas/chroma/lexers/t" - _ "github.com/alecthomas/chroma/lexers/v" - _ "github.com/alecthomas/chroma/lexers/w" - _ "github.com/alecthomas/chroma/lexers/x" - _ "github.com/alecthomas/chroma/lexers/y" -) - -// Registry of Lexers. -var Registry = internal.Registry - -// Names of all lexers, optionally including aliases. -func Names(withAliases bool) []string { return internal.Names(withAliases) } - -// Get a Lexer by name, alias or file extension. -func Get(name string) chroma.Lexer { return internal.Get(name) } - -// MatchMimeType attempts to find a lexer for the given MIME type. -func MatchMimeType(mimeType string) chroma.Lexer { return internal.MatchMimeType(mimeType) } - -// Match returns the first lexer matching filename. -func Match(filename string) chroma.Lexer { return internal.Match(filename) } - -// Analyse text content and return the "best" lexer.. -func Analyse(text string) chroma.Lexer { return internal.Analyse(text) } - -// Register a Lexer with the global registry. -func Register(lexer chroma.Lexer) chroma.Lexer { return internal.Register(lexer) } - -// Fallback lexer if no other is found. -var Fallback = internal.Fallback diff --git a/vendor/github.com/alecthomas/chroma/lexers/m/make.go b/vendor/github.com/alecthomas/chroma/lexers/m/make.go deleted file mode 100644 index eb9d9e68..00000000 --- a/vendor/github.com/alecthomas/chroma/lexers/m/make.go +++ /dev/null @@ -1,54 +0,0 @@ -package m - -import ( - . "github.com/alecthomas/chroma" // nolint - . "github.com/alecthomas/chroma/lexers/b" // nolint - "github.com/alecthomas/chroma/lexers/internal" -) - -// Makefile lexer. -var Makefile = internal.Register(MustNewLexer( - &Config{ - Name: "Base Makefile", - Aliases: []string{"make", "makefile", "mf", "bsdmake"}, - Filenames: []string{"*.mak", "*.mk", "Makefile", "makefile", "Makefile.*", "GNUmakefile"}, - MimeTypes: []string{"text/x-makefile"}, - EnsureNL: true, - }, - Rules{ - "root": { - {`^(?:[\t ]+.*\n|\n)+`, Using(Bash), nil}, - {`\$[<@$+%?|*]`, Keyword, nil}, - {`\s+`, Text, nil}, - {`#.*?\n`, Comment, nil}, - {`(export)(\s+)(?=[\w${}\t -]+\n)`, ByGroups(Keyword, Text), Push("export")}, - {`export\s+`, Keyword, nil}, - {`([\w${}().-]+)(\s*)([!?:+]?=)([ \t]*)((?:.*\\\n)+|.*\n)`, ByGroups(NameVariable, Text, Operator, Text, Using(Bash)), nil}, - {`(?s)"(\\\\|\\.|[^"\\])*"`, LiteralStringDouble, nil}, - {`(?s)'(\\\\|\\.|[^'\\])*'`, LiteralStringSingle, nil}, - {`([^\n:]+)(:+)([ \t]*)`, ByGroups(NameFunction, Operator, Text), Push("block-header")}, - {`\$\(`, Keyword, Push("expansion")}, - }, - "expansion": { - {`[^$a-zA-Z_()]+`, Text, nil}, - {`[a-zA-Z_]+`, NameVariable, nil}, - {`\$`, Keyword, nil}, - {`\(`, Keyword, Push()}, - {`\)`, Keyword, Pop(1)}, - }, - "export": { - {`[\w${}-]+`, NameVariable, nil}, - {`\n`, Text, Pop(1)}, - {`\s+`, Text, nil}, - }, - "block-header": { - {`[,|]`, Punctuation, nil}, - {`#.*?\n`, Comment, Pop(1)}, - {`\\\n`, Text, nil}, - {`\$\(`, Keyword, Push("expansion")}, - {`[a-zA-Z_]+`, Name, nil}, - {`\n`, Text, Pop(1)}, - {`.`, Text, nil}, - }, - }, -)) diff --git a/vendor/github.com/alecthomas/chroma/lexers/m/mako.go b/vendor/github.com/alecthomas/chroma/lexers/m/mako.go deleted file mode 100644 index f7c140d5..00000000 --- a/vendor/github.com/alecthomas/chroma/lexers/m/mako.go +++ /dev/null @@ -1,60 +0,0 @@ -package m - -import ( - . "github.com/alecthomas/chroma" // nolint - "github.com/alecthomas/chroma/lexers/internal" - . "github.com/alecthomas/chroma/lexers/p" // nolint -) - -// Mako lexer. -var Mako = internal.Register(MustNewLexer( - &Config{ - Name: "Mako", - Aliases: []string{"mako"}, - Filenames: []string{"*.mao"}, - MimeTypes: []string{"application/x-mako"}, - }, - Rules{ - "root": { - {`(\s*)(%)(\s*end(?:\w+))(\n|\Z)`, ByGroups(Text, CommentPreproc, Keyword, Other), nil}, - {`(\s*)(%)([^\n]*)(\n|\Z)`, ByGroups(Text, CommentPreproc, Using(Python), Other), nil}, - {`(\s*)(##[^\n]*)(\n|\Z)`, ByGroups(Text, CommentPreproc, Other), nil}, - {`(?s)<%doc>.*?`, CommentPreproc, nil}, - {`(<%)([\w.:]+)`, ByGroups(CommentPreproc, NameBuiltin), Push("tag")}, - {`()`, ByGroups(CommentPreproc, NameBuiltin, CommentPreproc), nil}, - {`<%(?=([\w.:]+))`, CommentPreproc, Push("ondeftags")}, - {`(<%(?:!?))(.*?)(%>)(?s)`, ByGroups(CommentPreproc, Using(Python), CommentPreproc), nil}, - {`(\$\{)(.*?)(\})`, ByGroups(CommentPreproc, Using(Python), CommentPreproc), nil}, - {`(?sx) - (.+?) # anything, followed by: - (?: - (?<=\n)(?=%|\#\#) | # an eval or comment line - (?=\#\*) | # multiline comment - (?=`, CommentPreproc, Pop(1)}, - {`\s+`, Text, nil}, - }, - "attr": { - {`".*?"`, LiteralString, Pop(1)}, - {`'.*?'`, LiteralString, Pop(1)}, - {`[^\s>]+`, LiteralString, Pop(1)}, - }, - }, -)) diff --git a/vendor/github.com/alecthomas/chroma/lexers/m/markdown.go b/vendor/github.com/alecthomas/chroma/lexers/m/markdown.go deleted file mode 100644 index b4690e38..00000000 --- a/vendor/github.com/alecthomas/chroma/lexers/m/markdown.go +++ /dev/null @@ -1,47 +0,0 @@ -package m - -import ( - . "github.com/alecthomas/chroma" // nolint - "github.com/alecthomas/chroma/lexers/internal" -) - -// Markdown lexer. -var Markdown = internal.Register(MustNewLexer( - &Config{ - Name: "markdown", - Aliases: []string{"md", "mkd"}, - Filenames: []string{"*.md", "*.mkd", "*.markdown"}, - MimeTypes: []string{"text/x-markdown"}, - }, - Rules{ - "root": { - {`^(#)([^#].+\n)`, ByGroups(GenericHeading, Text), nil}, - {`^(#{2,6})(.+\n)`, ByGroups(GenericSubheading, Text), nil}, - {`^(\s*)([*-] )(\[[ xX]\])( .+\n)`, ByGroups(Text, Keyword, Keyword, UsingSelf("inline")), nil}, - {`^(\s*)([*-])(\s)(.+\n)`, ByGroups(Text, Keyword, Text, UsingSelf("inline")), nil}, - {`^(\s*)([0-9]+\.)( .+\n)`, ByGroups(Text, Keyword, UsingSelf("inline")), nil}, - {`^(\s*>\s)(.+\n)`, ByGroups(Keyword, GenericEmph), nil}, - {"^(```\\n)([\\w\\W]*?)(^```$)", ByGroups(String, Text, String), nil}, - {"^(```)(\\w+)(\\n)([\\w\\W]*?)(^```$)", - UsingByGroup( - internal.Get, - 2, 4, - String, String, String, Text, String, - ), - nil, - }, - Include("inline"), - }, - "inline": { - {`\\.`, Text, nil}, - {`(\s)([*_][^*_]+[*_])(\W|\n)`, ByGroups(Text, GenericEmph, Text), nil}, - {`(\s)((\*\*|__).*\3)((?=\W|\n))`, ByGroups(Text, GenericStrong, None, Text), nil}, - {`(\s)(~~[^~]+~~)((?=\W|\n))`, ByGroups(Text, GenericDeleted, Text), nil}, - {"`[^`]+`", LiteralStringBacktick, nil}, - {`[@#][\w/:]+`, NameEntity, nil}, - {`(!?\[)([^]]+)(\])(\()([^)]+)(\))`, ByGroups(Text, NameTag, Text, Text, NameAttribute, Text), nil}, - {`[^\\\s]+`, Text, nil}, - {`.`, Text, nil}, - }, - }, -)) diff --git a/vendor/github.com/alecthomas/chroma/lexers/m/mason.go b/vendor/github.com/alecthomas/chroma/lexers/m/mason.go deleted file mode 100644 index 5c70ab0a..00000000 --- a/vendor/github.com/alecthomas/chroma/lexers/m/mason.go +++ /dev/null @@ -1,43 +0,0 @@ -package m - -import ( - . "github.com/alecthomas/chroma" // nolint - . "github.com/alecthomas/chroma/lexers/h" // nolint - "github.com/alecthomas/chroma/lexers/internal" - . "github.com/alecthomas/chroma/lexers/p" // nolint -) - -// Mason lexer. -var Mason = internal.Register(MustNewLexer( - &Config{ - Name: "Mason", - Aliases: []string{"mason"}, - Filenames: []string{"*.m", "*.mhtml", "*.mc", "*.mi", "autohandler", "dhandler"}, - MimeTypes: []string{"application/x-mason"}, - Priority: 0.1, - }, - Rules{ - "root": { - {`\s+`, Text, nil}, - {`(<%doc>)(.*?)()(?s)`, ByGroups(NameTag, CommentMultiline, NameTag), nil}, - {`(<%(?:def|method))(\s*)(.*?)(>)(.*?)()(?s)`, ByGroups(NameTag, Text, NameFunction, NameTag, UsingSelf("root"), NameTag), nil}, - {`(<%\w+)(.*?)(>)(.*?)()(?s)`, ByGroups(NameTag, NameFunction, NameTag, Using(Perl), NameTag), nil}, - {`(<&[^|])(.*?)(,.*?)?(&>)(?s)`, ByGroups(NameTag, NameFunction, Using(Perl), NameTag), nil}, - {`(<&\|)(.*?)(,.*?)?(&>)(?s)`, ByGroups(NameTag, NameFunction, Using(Perl), NameTag), nil}, - {``, NameTag, nil}, - {`(<%!?)(.*?)(%>)(?s)`, ByGroups(NameTag, Using(Perl), NameTag), nil}, - {`(?<=^)#[^\n]*(\n|\Z)`, Comment, nil}, - {`(?<=^)(%)([^\n]*)(\n|\Z)`, ByGroups(NameTag, Using(Perl), Other), nil}, - {`(?sx) - (.+?) # anything, followed by: - (?: - (?<=\n)(?=[%#]) | # an eval or comment line - (?=`, `:>`, `/.`, `+`, `-`, `*`, `/`, `^`, `&&`, `||`, `!`, `<>`, `|`, `/;`, `?`, `@`, `//`, `/@`, `@@`, `@@@`, `~~`, `===`, `&`, `<`, `>`, `<=`, `>=`), Operator, nil}, - {Words(``, ``, `,`, `;`, `(`, `)`, `[`, `]`, `{`, `}`), Punctuation, nil}, - {`".*?"`, LiteralString, nil}, - {`\s+`, TextWhitespace, nil}, - }, - }, -)) diff --git a/vendor/github.com/alecthomas/chroma/lexers/m/minizinc.go b/vendor/github.com/alecthomas/chroma/lexers/m/minizinc.go deleted file mode 100644 index ccf4eed9..00000000 --- a/vendor/github.com/alecthomas/chroma/lexers/m/minizinc.go +++ /dev/null @@ -1,41 +0,0 @@ -package m - -import ( - . "github.com/alecthomas/chroma" // nolint - "github.com/alecthomas/chroma/lexers/internal" -) - -// MiniZinc lexer. -var MZN = internal.Register(MustNewLexer( - &Config{ - Name: "MiniZinc", - Aliases: []string{"minizinc", "MZN", "mzn"}, - Filenames: []string{"*.mzn", "*.dzn", "*.fzn"}, - MimeTypes: []string{"text/minizinc"}, - }, - Rules{ - "root": { - {`\n`, Text, nil}, - {`\s+`, Text, nil}, - {`\\\n`, Text, nil}, - {`\%(.*?)\n`, CommentSingle, nil}, - {`/(\\\n)?[*](.|\n)*?[*](\\\n)?/`, CommentMultiline, nil}, - {`"(\\\\|\\"|[^"])*"`, LiteralString, nil}, - {Words(`\b`, `\b`, `ann`, `annotation`, `any`, `constraint`, `function`, `include`, `list`, `of`, `op`, `output`, `minimize`, `maximize`, `par`, `predicate`, `record`, `satisfy`, `solve`, `test`, `type`, `var`), Keyword, nil}, - {Words(`\b`, `\b`, `array`, `set`, `bool`, `enum`, `float`, `int`, `string`, `tuple`), KeywordType, nil}, - {Words(`\b`, `\b`, `for`, `forall`, `if`, `then`, `else`, `endif`, `where`), Keyword, nil}, - {Words(`\b`, `\b`, `abort`, `abs`, `acosh`, `array_intersect`, `array_union`, `array1d`, `array2d`, `array3d`, `array4d`, `array5d`, `array6d`, `asin`, `assert`, `atan`, `bool2int`, `card`, `ceil`, `concat`, `cos`, `cosh`, `dom`, `dom_array`, `dom_size`, `fix`, `exp`, `floor`, `index_set`, `index_set_1of2`, `index_set_2of2`, `index_set_1of3`, `index_set_2of3`, `index_set_3of3`, `int2float`, `is_fixed`, `join`, `lb`, `lb_array`, `length`, `ln`, `log`, `log2`, `log10`, `min`, `max`, `pow`, `product`, `round`, `set2array`, `show`, `show_int`, `show_float`, `sin`, `sinh`, `sqrt`, `sum`, `tan`, `tanh`, `trace`, `ub`, `ub_array`), NameBuiltin, nil}, - {`(not|<->|->|<-|\\/|xor|/\\)`, Operator, nil}, - {`(<|>|<=|>=|==|=|!=)`, Operator, nil}, - {`(\+|-|\*|/|div|mod)`, Operator, nil}, - {Words(`\b`, `\b`, `in`, `subset`, `superset`, `union`, `diff`, `symdiff`, `intersect`), Operator, nil}, - {`(\\|\.\.|\+\+)`, Operator, nil}, - {`[|()\[\]{},:;]`, Punctuation, nil}, - {`(true|false)\b`, KeywordConstant, nil}, - {`([+-]?)\d+(\.(?!\.)\d*)?([eE][-+]?\d+)?`, LiteralNumber, nil}, - {`::\s*([^\W\d]\w*)(\s*\([^\)]*\))?`, NameDecorator, nil}, - {`\b([^\W\d]\w*)\b(\()`, ByGroups(NameFunction, Punctuation), nil}, - {`[^\W\d]\w*`, NameOther, nil}, - }, - }, -)) diff --git a/vendor/github.com/alecthomas/chroma/lexers/m/modula2.go b/vendor/github.com/alecthomas/chroma/lexers/m/modula2.go deleted file mode 100644 index 6fadb79f..00000000 --- a/vendor/github.com/alecthomas/chroma/lexers/m/modula2.go +++ /dev/null @@ -1,115 +0,0 @@ -package m - -import ( - . "github.com/alecthomas/chroma" // nolint - "github.com/alecthomas/chroma/lexers/internal" -) - -// Modula-2 lexer. -var Modula2 = internal.Register(MustNewLexer( - &Config{ - Name: "Modula-2", - Aliases: []string{"modula2", "m2"}, - Filenames: []string{"*.def", "*.mod"}, - MimeTypes: []string{"text/x-modula2"}, - DotAll: true, - }, - Rules{ - "whitespace": { - {`\n+`, Text, nil}, - {`\s+`, Text, nil}, - }, - "dialecttags": { - {`\(\*!m2pim\*\)`, CommentSpecial, nil}, - {`\(\*!m2iso\*\)`, CommentSpecial, nil}, - {`\(\*!m2r10\*\)`, CommentSpecial, nil}, - {`\(\*!objm2\*\)`, CommentSpecial, nil}, - {`\(\*!m2iso\+aglet\*\)`, CommentSpecial, nil}, - {`\(\*!m2pim\+gm2\*\)`, CommentSpecial, nil}, - {`\(\*!m2iso\+p1\*\)`, CommentSpecial, nil}, - {`\(\*!m2iso\+xds\*\)`, CommentSpecial, nil}, - }, - "identifiers": { - {`([a-zA-Z_$][\w$]*)`, Name, nil}, - }, - "prefixed_number_literals": { - {`0b[01]+(\'[01]+)*`, LiteralNumberBin, nil}, - {`0[ux][0-9A-F]+(\'[0-9A-F]+)*`, LiteralNumberHex, nil}, - }, - "plain_number_literals": { - {`[0-9]+(\'[0-9]+)*\.[0-9]+(\'[0-9]+)*[eE][+-]?[0-9]+(\'[0-9]+)*`, LiteralNumberFloat, nil}, - {`[0-9]+(\'[0-9]+)*\.[0-9]+(\'[0-9]+)*`, LiteralNumberFloat, nil}, - {`[0-9]+(\'[0-9]+)*`, LiteralNumberInteger, nil}, - }, - "suffixed_number_literals": { - {`[0-7]+B`, LiteralNumberOct, nil}, - {`[0-7]+C`, LiteralNumberOct, nil}, - {`[0-9A-F]+H`, LiteralNumberHex, nil}, - }, - "string_literals": { - {`'(\\\\|\\'|[^'])*'`, LiteralString, nil}, - {`"(\\\\|\\"|[^"])*"`, LiteralString, nil}, - }, - "digraph_operators": { - {`\*\.`, Operator, nil}, - {`\+>`, Operator, nil}, - {`<>`, Operator, nil}, - {`<=`, Operator, nil}, - {`>=`, Operator, nil}, - {`==`, Operator, nil}, - {`::`, Operator, nil}, - {`:=`, Operator, nil}, - {`\+\+`, Operator, nil}, - {`--`, Operator, nil}, - }, - "unigraph_operators": { - {`[+-]`, Operator, nil}, - {`[*/]`, Operator, nil}, - {`\\`, Operator, nil}, - {`[=#<>]`, Operator, nil}, - {`\^`, Operator, nil}, - {`@`, Operator, nil}, - {`&`, Operator, nil}, - {`~`, Operator, nil}, - {"`", Operator, nil}, - }, - "digraph_punctuation": { - {`\.\.`, Punctuation, nil}, - {`<<`, Punctuation, nil}, - {`>>`, Punctuation, nil}, - {`->`, Punctuation, nil}, - {`\|#`, Punctuation, nil}, - {`##`, Punctuation, nil}, - {`\|\*`, Punctuation, nil}, - }, - "unigraph_punctuation": { - {`[()\[\]{},.:;|]`, Punctuation, nil}, - {`!`, Punctuation, nil}, - {`\?`, Punctuation, nil}, - }, - "comments": { - {`^//.*?\n`, CommentSingle, nil}, - {`\(\*([^$].*?)\*\)`, CommentMultiline, nil}, - {`/\*(.*?)\*/`, CommentMultiline, nil}, - }, - "pragmas": { - {`<\*.*?\*>`, CommentPreproc, nil}, - {`\(\*\$.*?\*\)`, CommentPreproc, nil}, - }, - "root": { - Include("whitespace"), - Include("dialecttags"), - Include("pragmas"), - Include("comments"), - Include("identifiers"), - Include("suffixed_number_literals"), - Include("prefixed_number_literals"), - Include("plain_number_literals"), - Include("string_literals"), - Include("digraph_punctuation"), - Include("digraph_operators"), - Include("unigraph_punctuation"), - Include("unigraph_operators"), - }, - }, -)) diff --git a/vendor/github.com/alecthomas/chroma/lexers/m/monkeyc.go b/vendor/github.com/alecthomas/chroma/lexers/m/monkeyc.go deleted file mode 100644 index 828ff0bf..00000000 --- a/vendor/github.com/alecthomas/chroma/lexers/m/monkeyc.go +++ /dev/null @@ -1,62 +0,0 @@ -package m - -import ( - . "github.com/alecthomas/chroma" // nolint - "github.com/alecthomas/chroma/lexers/internal" -) - -var MonkeyC = internal.Register(MustNewLexer( - &Config{ - Name: "MonkeyC", - Aliases: []string{"monkeyc"}, - Filenames: []string{"*.mc"}, - MimeTypes: []string{"text/x-monkeyc"}, - }, - Rules{ - "root": { - {`[^\S\n]+`, Text, nil}, - {`\n`, Text, nil}, - {`//(\n|[\w\W]*?[^\\]\n)`, CommentSingle, nil}, - {`/(\\\n)?[*][\w\W]*?[*](\\\n)?/`, CommentMultiline, nil}, - {`/(\\\n)?[*][\w\W]*`, CommentMultiline, nil}, - {`:[a-zA-Z_][\w_\.]*`, StringSymbol, nil}, - {`[{}\[\]\(\),;:\.]`, Punctuation, nil}, - {`[&~\|\^!+\-*\/%=?]`, Operator, nil}, - {`=>|[+-]=|&&|\|\||>>|<<|[<>]=?|[!=]=`, Operator, nil}, - {`\b(and|or|instanceof|has|extends|new)`, OperatorWord, nil}, - {Words(``, `\b`, `NaN`, `null`, `true`, `false`), KeywordConstant, nil}, - {`(using)((?:\s|\\\\s)+)`, ByGroups(KeywordNamespace, Text), Push("import")}, - {`(class)((?:\s|\\\\s)+)`, ByGroups(KeywordDeclaration, Text), Push("class")}, - {`(function)((?:\s|\\\\s)+)`, ByGroups(KeywordDeclaration, Text), Push("function")}, - {`(module)((?:\s|\\\\s)+)`, ByGroups(KeywordDeclaration, Text), Push("module")}, - {`\b(if|else|for|switch|case|while|break|continue|default|do|try|catch|finally|return|throw|extends|function)\b`, Keyword, nil}, - {`\b(const|enum|hidden|public|protected|private|static)\b`, KeywordType, nil}, - {`\bvar\b`, KeywordDeclaration, nil}, - {`\b(Activity(Monitor|Recording)?|Ant(Plus)?|Application|Attention|Background|Communications|Cryptography|FitContributor|Graphics|Gregorian|Lang|Math|Media|Persisted(Content|Locations)|Position|Properties|Sensor(History|Logging)?|Storage|StringUtil|System|Test|Time(r)?|Toybox|UserProfile|WatchUi|Rez|Drawables|Strings|Fonts|method)\b`, NameBuiltin, nil}, - {`\b(me|self|\$)\b`, NameBuiltinPseudo, nil}, - {`"(\\\\|\\"|[^"])*"`, LiteralStringDouble, nil}, - {`'(\\\\|\\'|[^''])*'`, LiteralStringSingle, nil}, - {`-?(0x[0-9a-fA-F]+l?)`, NumberHex, nil}, - {`-?([0-9]+(\.[0-9]+[df]?|[df]))\b`, NumberFloat, nil}, - {`-?([0-9]+l?)`, NumberInteger, nil}, - {`[a-zA-Z_]\w*`, Name, nil}, - }, - "import": { - {`([a-zA-Z_][\w_\.]*)(?:(\s+)(as)(\s+)([a-zA-Z_][\w_]*))?`, ByGroups(NameNamespace, Text, KeywordNamespace, Text, NameNamespace), nil}, - Default(Pop(1)), - }, - "class": { - {`([a-zA-Z_][\w_\.]*)(?:(\s+)(extends)(\s+)([a-zA-Z_][\w_\.]*))?`, ByGroups(NameClass, Text, KeywordDeclaration, Text, NameClass), nil}, - Default(Pop(1)), - }, - "function": { - {`initialize`, NameFunctionMagic, nil}, - {`[a-zA-Z_][\w_\.]*`, NameFunction, nil}, - Default(Pop(1)), - }, - "module": { - {`[a-zA-Z_][\w_\.]*`, NameNamespace, nil}, - Default(Pop(1)), - }, - }, -)) diff --git a/vendor/github.com/alecthomas/chroma/lexers/m/mwscript.go b/vendor/github.com/alecthomas/chroma/lexers/m/mwscript.go deleted file mode 100644 index b86bbdfe..00000000 --- a/vendor/github.com/alecthomas/chroma/lexers/m/mwscript.go +++ /dev/null @@ -1,53 +0,0 @@ -package m - -import ( - . "github.com/alecthomas/chroma" // nolint - "github.com/alecthomas/chroma/lexers/internal" -) - -// MorrowindScript lexer. -var MorrowindScript = internal.Register(MustNewLexer( - &Config{ - Name: "MorrowindScript", - Aliases: []string{"morrowind", "mwscript"}, - Filenames: []string{}, - MimeTypes: []string{}, - }, - Rules{ - "root": { - {`\s+`, Text, nil}, - {`;.*$`, Comment, nil}, - {`(["'])(?:(?=(\\?))\2.)*?\1`, LiteralString, nil}, - {`[0-9]+`, LiteralNumberInteger, nil}, - {`[0-9]+\.[0-9]*(?!\.)`, LiteralNumberFloat, nil}, - Include("keywords"), - Include("types"), - Include("builtins"), - Include("punct"), - Include("operators"), - {`\n`, Text, nil}, - {`\S+\s+`, Text, nil}, - {`[a-zA-Z0-9_]\w*`, Name, nil}, - }, - "keywords": { - {`(?i)(begin|if|else|elseif|endif|while|endwhile|return|to)\b`, Keyword, nil}, - {`(?i)(end)\b`, Keyword, nil}, - {`(?i)(end)\w+.*$`, Text, nil}, - {`[\w+]->[\w+]`, Operator, nil}, - }, - "builtins": { - {`(?i)(Activate|AddItem|AddSoulGem|AddSpell|AddToLevCreature|AddToLevItem|AddTopic|AIActivate|AIEscort|AIEscortCell|AIFollow|AiFollowCell|AITravel|AIWander|BecomeWerewolf|Cast|ChangeWeather|Choice|ClearForceJump|ClearForceMoveJump|ClearForceRun|ClearForceSneak|ClearInfoActor|Disable|DisableLevitation|DisablePlayerControls|DisablePlayerFighting|DisablePlayerJumping|DisablePlayerLooking|DisablePlayerMagic|DisablePlayerViewSwitch|DisableTeleporting|DisableVanityMode|DontSaveObject|Drop|Enable|EnableBirthMenu|EnableClassMenu|EnableInventoryMenu|EnableLevelUpMenu|EnableLevitation|EnableMagicMenu|EnableMapMenu|EnableNameMenu|EnablePlayerControls|EnablePlayerFighting|EnablePlayerJumping|EnablePlayerLooking|EnablePlayerMagic|EnablePlayerViewSwitch|EnableRaceMenu|EnableRest|EnableStatsMenu|EnableTeleporting|EnableVanityMode|Equip|ExplodeSpell|Face|FadeIn|FadeOut|FadeTo|Fall|ForceGreeting|ForceJump|ForceRun|ForceSneak|Flee|GotoJail|HurtCollidingActor|HurtStandingActor|Journal|Lock|LoopGroup|LowerRank|MenuTest|MessageBox|ModAcrobatics|ModAgility|ModAlarm|ModAlchemy|ModAlteration|ModArmorBonus|ModArmorer|ModAthletics|ModAttackBonus|ModAxe|ModBlock|ModBluntWeapon|ModCastPenalty|ModChameleon|ModConjuration|ModCurrentFatigue|ModCurrentHealth|ModCurrentMagicka|ModDefendBonus|ModDestruction|ModDisposition|ModEnchant|ModEndurance|ModFactionReaction|ModFatigue|ModFight|ModFlee|ModFlying|ModHandToHand|ModHealth|ModHeavyArmor|ModIllusion|ModIntelligence|ModInvisible|ModLightArmor|ModLongBlade|ModLuck|ModMagicka|ModMarksman|ModMediumArmor|ModMercantile|ModMysticism|ModParalysis|ModPCCrimeLevel|ModPCFacRep|ModPersonality|ModRegion|ModReputation|ModResistBlight|ModResistCorprus|ModResistDisease|ModResistFire|ModResistFrost|ModResistMagicka|ModResistNormalWeapons|ModResistParalysis|ModResistPoison|ModResistShock|ModRestoration|ModScale|ModSecurity|ModShortBlade|ModSilence|ModSneak|ModSpear|ModSpeechcraft|ModSpeed|ModStrength|ModSuperJump|ModSwimSpeed|ModUnarmored|ModWaterBreathing|ModWaterLevel|ModWaterWalking|ModWillpower|Move|MoveWorld|PayFine|PayFineThief|PCClearExpelled|PCExpell|PCForce1stPerson|PCForce3rdPerson|PCJoinFaction|PCLowerRank|PCRaiseRank|PlaceAtMe|PlaceAtPC|PlaceItem|PlaceItemCell|PlayBink|PlayGroup|PlayLoopSound3D|PlayLoopSound3DVP|PlaySound|PlaySound3D|PlaySound3DVP|PlaySoundVP|Position|PositionCell|RaiseRank|RemoveEffects|RemoveFromLevCreature|RemoveFromLevItem|RemoveItem|RemoveSoulgem|RemoveSpell|RemoveSpellEffects|ResetActors|Resurrect|Rotate|RotateWorld|Say|StartScript|[S|s]et|SetAcrobatics|SetAgility|SetAlarm|SetAlchemy|SetAlteration|SetAngle|SetArmorBonus|SetArmorer|SetAthletics|SetAtStart|SetAttackBonus|SetAxe|SetBlock|SetBluntWeapon|SetCastPenalty|SetChameleon|SetConjuration|SetDelete|SetDefendBonus|SetDestruction|SetDisposition|SetEnchant|SetEndurance|SetFactionReaction|SetFatigue|SetFight|SetFlee|SetFlying|SetHandToHand|SetHealth|SetHeavyArmor|SetIllusion|SetIntelligence|SetInvisible|SetJournalIndex|SetLightArmor|SetLevel|SetLongBlade|SetLuck|SetMagicka|SetMarksman|SetMediumArmor|SetMercantile|SetMysticism|SetParalysis|SetPCCCrimeLevel|SetPCFacRep|SetPersonality|SetPos|SetReputation|SetResistBlight|SetResistCorprus|SetResistDisease|SetResistFire|SetResistFrost|SetResistMagicka|SetResistNormalWeapons|SetResistParalysis|SetResistPoison|SetResistShock|SetRestoration|SetScale|SetSecurity|SetShortBlade|SetSilence|SetSneak|SetSpear|SetSpeechcraft|SetSpeed|SetStrength|SetSuperJump|SetSwimSpeed|SetUnarmored|SetWaterBreathing|SetWaterlevel|SetWaterWalking|SetWerewolfAcrobatics|SetWillpower|ShowMap|ShowRestMenu|SkipAnim|StartCombat|StopCombat|StopScript|StopSound|StreamMusic|TurnMoonRed|TurnMoonWhite|UndoWerewolf|Unlock|WakeUpPC|CenterOnCell|CenterOnExterior|FillMap|FixMe|ToggleAI|ToggleCollision|ToggleFogOfWar|ToggleGodMode|ToggleMenus|ToggleSky|ToggleWorld|ToggleVanityMode|CellChanged|GetAcrobatics|GetAgility|GetAIPackageDone|GetAlarm|GetAlchemy|GetAlteration|GetAngle|GetArmorBonus|GetArmorer|GetAthletics|GetAttackBonus|GetAttacked|GetArmorType,|GetAxe|GetBlightDisease|GetBlock|GetBluntWeapon|GetButtonPressed|GetCastPenalty|GetChameleon|GetCollidingActor|GetCollidingPC|GetCommonDisease|GetConjuration|GetCurrentAIPackage|GetCurrentTime|GetCurrentWeather|GetDeadCount|GetDefendBonus|GetDestruction|GetDetected|GetDisabled|GetDisposition|GetDistance|GetEffect|GetEnchant|GetEndurance|GetFatigue|GetFight|GetFlee|GetFlying|GetForceJump|GetForceRun|GetForceSneak|GetHandToHand|GetHealth|GetHealthGetRatio|GetHeavyArmor|GetIllusion|GetIntelligence|GetInterior|GetInvisible|GetItemCount|GetJournalIndex|GetLightArmor|GetLineOfSight|GetLOS|GetLevel|GetLocked|GetLongBlade|GetLuck|GetMagicka|GetMarksman|GetMasserPhase|GetSecundaPhase|GetMediumArmor|GetMercantile|GetMysticism|GetParalysis|GetPCCell|GetPCCrimeLevel|GetPCinJail|GetPCJumping|GetPCRank|GetPCRunning|GetPCSleep|GetPCSneaking|GetPCTraveling|GetPersonality|GetPlayerControlsDisabled|GetPlayerFightingDisabled|GetPlayerJumpingDisabled|GetPlayerLookingDisabled|GetPlayerMagicDisabled|GetPos|GetRace|GetReputation|GetResistBlight|GetResistCorprus|GetResistDisease|GetResistFire|GetResistFrost|GetResistMagicka|GetResistNormalWeapons|GetResistParalysis|GetResistPoison|GetResistShock|GetRestoration|GetScale|GetSecondsPassed|GetSecurity|GetShortBlade|GetSilence|GetSneak|GetSoundPlaying|GetSpear|GetSpeechcraft|GetSpeed|GetSpell|GetSpellEffects|GetSpellReadied|GetSquareRoot|GetStandingActor|GetStandingPC|GetStrength|GetSuperJump|GetSwimSpeed|GetTarget|GetUnarmored|GetVanityModeDisabled|GetWaterBreathing|GetWaterLevel|GetWaterWalking|GetWeaponDrawn|GetWeaponType|GetWerewolfKills|GetWillpower|GetWindSpeed|HasItemEquipped|HasSoulgem|HitAttemptOnMe|HitOnMe|IsWerewolf|MenuMode|OnActivate|OnDeath|OnKnockout|OnMurder|PCExpelled|PCGet3rdPerson|PCKnownWerewolf|Random|RepairedOnMe|SameFaction|SayDone|ScriptRunning|AllowWereWolfForceGreeting|Companion|MinimumProfit|NoFlee|NoHello|NoIdle|NoLore|OnPCAdd|OnPCDrop|OnPCEquip|OnPCHitMe|OnPCRepair|PCSkipEquip|OnPCSoulGemUse|StayOutside|CrimeGoldDiscount|CrimeGoldTurnIn|Day|DaysPassed|GameHour|Month|NPCVoiceDistance|PCRace|PCWerewolf|PCVampire|TimeScale|VampClan|Year)\b`, NameBuiltin, nil}, - {`(?i)(sEffectWaterBreathing|sEffectSwiftSwim|sEffectWaterWalking|sEffectShield|sEffectFireShield|sEffectLightningShield|sEffectFrostShield|sEffectBurden|sEffectFeather|sEffectJump|sEffectLevitate|sEffectSlowFall|sEffectLock|sEffectOpen|sEffectFireDamage|sEffectShockDamage|sEffectFrostDamage|sEffectDrainAttribute|sEffectDrainHealth|sEffectDrainSpellpoints|sEffectDrainFatigue|sEffectDrainSkill|sEffectDamageAttribute|sEffectDamageHealth|sEffectDamageMagicka|sEffectDamageFatigue|sEffectDamageSkill|sEffectPoison|sEffectWeaknessToFire|sEffectWeaknessToFrost|sEffectWeaknessToShock|sEffectWeaknessToMagicka|sEffectWeaknessToCommonDisease|sEffectWeaknessToBlightDisease|sEffectWeaknessToCorprusDisease|sEffectWeaknessToPoison|sEffectWeaknessToNormalWeapons|sEffectDisintegrateWeapon|sEffectDisintegrateArmor|sEffectInvisibility|sEffectChameleon|sEffectLight|sEffectSanctuary|sEffectNightEye|sEffectCharm|sEffectParalyze|sEffectSilence|sEffectBlind|sEffectSound|sEffectCalmHumanoid|sEffectCalmCreature|sEffectFrenzyHumanoid|sEffectFrenzyCreature|sEffectDemoralizeHumanoid|sEffectDemoralizeCreature|sEffectRallyHumanoid|sEffectRallyCreature|sEffectDispel|sEffectSoultrap|sEffectTelekinesis|sEffectMark|sEffectRecall|sEffectDivineIntervention|sEffectAlmsiviIntervention|sEffectDetectAnimal|sEffectDetectEnchantment|sEffectDetectKey|sEffectSpellAbsorption|sEffectReflect|sEffectCureCommonDisease|sEffectCureBlightDisease|sEffectCureCorprusDisease|sEffectCurePoison|sEffectCureParalyzation|sEffectRestoreAttribute|sEffectRestoreHealth|sEffectRestoreSpellPoints|sEffectRestoreFatigue|sEffectRestoreSkill|sEffectFortifyAttribute|sEffectFortifyHealth|sEffectFortifySpellpoints|sEffectFortifyFatigue|sEffectFortifySkill|sEffectFortifyMagickaMultiplier|sEffectAbsorbAttribute|sEffectAbsorbHealth|sEffectAbsorbSpellPoints|sEffectAbsorbFatigue|sEffectAbsorbSkill|sEffectResistFire|sEffectResistFrost|sEffectResistShock|sEffectResistMagicka|sEffectResistCommonDisease|sEffectResistBlightDisease|sEffectResistCorprusDisease|sEffectResistPoison|sEffectResistNormalWeapons|sEffectResistParalysis|sEffectRemoveCurse|sEffectTurnUndead|sEffectSummonScamp|sEffectSummonClannfear|sEffectSummonDaedroth|sEffectSummonDremora|sEffectSummonAncestralGhost|sEffectSummonSkeletalMinion|sEffectSummonLeastBonewalker|sEffectSummonGreaterBonewalker|sEffectSummonBonelord|sEffectSummonWingedTwilight|sEffectSummonHunger|sEffectSummonGoldensaint|sEffectSummonFlameAtronach|sEffectSummonFrostAtronach|sEffectSummonStormAtronach|sEffectFortifyAttackBonus|sEffectCommandCreatures|sEffectCommandHumanoids|sEffectBoundDagger|sEffectBoundLongsword|sEffectBoundMace|sEffectBoundBattleAxe|sEffectBoundSpear|sEffectBoundLongbow|sEffectExtraSpell|sEffectBoundCuirass|sEffectBoundHelm|sEffectBoundBoots|sEffectBoundShield|sEffectBoundGloves|sEffectCorpus|sEffectVampirism|sEffectSummonCenturionSphere|sEffectSunDamage|sEffectStuntedMagicka)`, NameBuiltin, nil}, - }, - "types": { - {`(?i)(short|long|float)\b`, KeywordType, nil}, - }, - "punct": { - {`[()]`, Punctuation, nil}, - }, - "operators": { - {`[#=,./%+\-?]`, Operator, nil}, - {`(==|<=|<|>=|>|!=)`, Operator, nil}, - }, - }, -)) diff --git a/vendor/github.com/alecthomas/chroma/lexers/m/myghty.go b/vendor/github.com/alecthomas/chroma/lexers/m/myghty.go deleted file mode 100644 index 02a20eae..00000000 --- a/vendor/github.com/alecthomas/chroma/lexers/m/myghty.go +++ /dev/null @@ -1,40 +0,0 @@ -package m - -import ( - . "github.com/alecthomas/chroma" // nolint - "github.com/alecthomas/chroma/lexers/internal" - . "github.com/alecthomas/chroma/lexers/p" // nolint -) - -// Myghty lexer. -var Myghty = internal.Register(MustNewLexer( - &Config{ - Name: "Myghty", - Aliases: []string{"myghty"}, - Filenames: []string{"*.myt", "autodelegate"}, - MimeTypes: []string{"application/x-myghty"}, - }, - Rules{ - "root": { - {`\s+`, Text, nil}, - {`(<%(?:def|method))(\s*)(.*?)(>)(.*?)()(?s)`, ByGroups(NameTag, Text, NameFunction, NameTag, UsingSelf("root"), NameTag), nil}, - {`(<%\w+)(.*?)(>)(.*?)()(?s)`, ByGroups(NameTag, NameFunction, NameTag, Using(Python), NameTag), nil}, - {`(<&[^|])(.*?)(,.*?)?(&>)`, ByGroups(NameTag, NameFunction, Using(Python), NameTag), nil}, - {`(<&\|)(.*?)(,.*?)?(&>)(?s)`, ByGroups(NameTag, NameFunction, Using(Python), NameTag), nil}, - {``, NameTag, nil}, - {`(<%!?)(.*?)(%>)(?s)`, ByGroups(NameTag, Using(Python), NameTag), nil}, - {`(?<=^)#[^\n]*(\n|\Z)`, Comment, nil}, - {`(?<=^)(%)([^\n]*)(\n|\Z)`, ByGroups(NameTag, Using(Python), Other), nil}, - {`(?sx) - (.+?) # anything, followed by: - (?: - (?<=\n)(?=[%#]) | # an eval or comment line - (?==~!@#%^&|`?-]", Operator, nil}, - {`\b(tinyint|smallint|mediumint|int|integer|bigint|date|datetime|time|bit|bool|tinytext|mediumtext|longtext|text|tinyblob|mediumblob|longblob|blob|float|double|double\s+precision|real|numeric|dec|decimal|timestamp|year|char|varchar|varbinary|varcharacter|enum|set)(\b\s*)(\()?`, ByGroups(KeywordType, Text, Punctuation), nil}, - {`\b(add|all|alter|analyze|and|as|asc|asensitive|before|between|bigint|binary|blob|both|by|call|cascade|case|change|char|character|check|collate|column|condition|constraint|continue|convert|create|cross|current_date|current_time|current_timestamp|current_user|cursor|database|databases|day_hour|day_microsecond|day_minute|day_second|dec|decimal|declare|default|delayed|delete|desc|describe|deterministic|distinct|distinctrow|div|double|drop|dual|each|else|elseif|enclosed|escaped|exists|exit|explain|fetch|flush|float|float4|float8|for|force|foreign|from|fulltext|grant|group|having|high_priority|hour_microsecond|hour_minute|hour_second|if|ignore|in|index|infile|inner|inout|insensitive|insert|int|int1|int2|int3|int4|int8|integer|interval|into|is|iterate|join|key|keys|kill|leading|leave|left|like|limit|lines|load|localtime|localtimestamp|lock|long|loop|low_priority|match|minute_microsecond|minute_second|mod|modifies|natural|no_write_to_binlog|not|numeric|on|optimize|option|optionally|or|order|out|outer|outfile|precision|primary|procedure|purge|raid0|read|reads|real|references|regexp|release|rename|repeat|replace|require|restrict|return|revoke|right|rlike|schema|schemas|second_microsecond|select|sensitive|separator|set|show|smallint|soname|spatial|specific|sql|sql_big_result|sql_calc_found_rows|sql_small_result|sqlexception|sqlstate|sqlwarning|ssl|starting|straight_join|table|terminated|then|to|trailing|trigger|undo|union|unique|unlock|unsigned|update|usage|use|using|utc_date|utc_time|utc_timestamp|values|varying|when|where|while|with|write|x509|xor|year_month|zerofill)\b`, Keyword, nil}, - {`\b(auto_increment|engine|charset|tables)\b`, KeywordPseudo, nil}, - {`(true|false|null)`, NameConstant, nil}, - {`([a-z_]\w*)(\s*)(\()`, ByGroups(NameFunction, Text, Punctuation), nil}, - {`[a-z_]\w*`, Name, nil}, - {`@[a-z0-9]*[._]*[a-z0-9]*`, NameVariable, nil}, - {`[;:()\[\],.]`, Punctuation, nil}, - }, - "multiline-comments": { - {`/\*`, CommentMultiline, Push("multiline-comments")}, - {`\*/`, CommentMultiline, Pop(1)}, - {`[^/*]+`, CommentMultiline, nil}, - {`[/*]`, CommentMultiline, nil}, - }, - "string": { - {`[^']+`, LiteralStringSingle, nil}, - {`''`, LiteralStringSingle, nil}, - {`'`, LiteralStringSingle, Pop(1)}, - }, - "double-string": { - {`[^"]+`, LiteralStringDouble, nil}, - {`""`, LiteralStringDouble, nil}, - {`"`, LiteralStringDouble, Pop(1)}, - }, - }, -)) diff --git a/vendor/github.com/alecthomas/chroma/lexers/n/nasm.go b/vendor/github.com/alecthomas/chroma/lexers/n/nasm.go deleted file mode 100644 index d769d157..00000000 --- a/vendor/github.com/alecthomas/chroma/lexers/n/nasm.go +++ /dev/null @@ -1,59 +0,0 @@ -package n - -import ( - . "github.com/alecthomas/chroma" // nolint - "github.com/alecthomas/chroma/lexers/internal" -) - -// Nasm lexer. -var Nasm = internal.Register(MustNewLexer( - &Config{ - Name: "NASM", - Aliases: []string{"nasm"}, - Filenames: []string{"*.asm", "*.ASM"}, - MimeTypes: []string{"text/x-nasm"}, - CaseInsensitive: true, - }, - Rules{ - "root": { - {`^\s*%`, CommentPreproc, Push("preproc")}, - Include("whitespace"), - {`[a-z$._?][\w$.?#@~]*:`, NameLabel, nil}, - {`([a-z$._?][\w$.?#@~]*)(\s+)(equ)`, ByGroups(NameConstant, KeywordDeclaration, KeywordDeclaration), Push("instruction-args")}, - {`BITS|USE16|USE32|SECTION|SEGMENT|ABSOLUTE|EXTERN|GLOBAL|ORG|ALIGN|STRUC|ENDSTRUC|COMMON|CPU|GROUP|UPPERCASE|IMPORT|EXPORT|LIBRARY|MODULE`, Keyword, Push("instruction-args")}, - {`(?:res|d)[bwdqt]|times`, KeywordDeclaration, Push("instruction-args")}, - {`[a-z$._?][\w$.?#@~]*`, NameFunction, Push("instruction-args")}, - {`[\r\n]+`, Text, nil}, - }, - "instruction-args": { - {"\"(\\\\\"|[^\"\\n])*\"|'(\\\\'|[^'\\n])*'|`(\\\\`|[^`\\n])*`", LiteralString, nil}, - {`(?:0x[0-9a-f]+|$0[0-9a-f]*|[0-9]+[0-9a-f]*h)`, LiteralNumberHex, nil}, - {`[0-7]+q`, LiteralNumberOct, nil}, - {`[01]+b`, LiteralNumberBin, nil}, - {`[0-9]+\.e?[0-9]+`, LiteralNumberFloat, nil}, - {`[0-9]+`, LiteralNumberInteger, nil}, - Include("punctuation"), - {`r[0-9][0-5]?[bwd]|[a-d][lh]|[er]?[a-d]x|[er]?[sb]p|[er]?[sd]i|[c-gs]s|st[0-7]|mm[0-7]|cr[0-4]|dr[0-367]|tr[3-7]`, NameBuiltin, nil}, - {`[a-z$._?][\w$.?#@~]*`, NameVariable, nil}, - {`[\r\n]+`, Text, Pop(1)}, - Include("whitespace"), - }, - "preproc": { - {`[^;\n]+`, CommentPreproc, nil}, - {`;.*?\n`, CommentSingle, Pop(1)}, - {`\n`, CommentPreproc, Pop(1)}, - }, - "whitespace": { - {`\n`, Text, nil}, - {`[ \t]+`, Text, nil}, - {`;.*`, CommentSingle, nil}, - }, - "punctuation": { - {`[,():\[\]]+`, Punctuation, nil}, - {`[&|^<>+*/%~-]+`, Operator, nil}, - {`[$]+`, KeywordConstant, nil}, - {`seg|wrt|strict`, OperatorWord, nil}, - {`byte|[dq]?word`, KeywordType, nil}, - }, - }, -)) diff --git a/vendor/github.com/alecthomas/chroma/lexers/n/newspeak.go b/vendor/github.com/alecthomas/chroma/lexers/n/newspeak.go deleted file mode 100644 index 1a6a37bd..00000000 --- a/vendor/github.com/alecthomas/chroma/lexers/n/newspeak.go +++ /dev/null @@ -1,55 +0,0 @@ -package n - -import ( - . "github.com/alecthomas/chroma" // nolint - "github.com/alecthomas/chroma/lexers/internal" -) - -// Newspeak lexer. -var Newspeak = internal.Register(MustNewLexer( - &Config{ - Name: "Newspeak", - Aliases: []string{"newspeak"}, - Filenames: []string{"*.ns2"}, - MimeTypes: []string{"text/x-newspeak"}, - }, - Rules{ - "root": { - {`\b(Newsqueak2)\b`, KeywordDeclaration, nil}, - {`'[^']*'`, LiteralString, nil}, - {`\b(class)(\s+)(\w+)(\s*)`, ByGroups(KeywordDeclaration, Text, NameClass, Text), nil}, - {`\b(mixin|self|super|private|public|protected|nil|true|false)\b`, Keyword, nil}, - {`(\w+\:)(\s*)([a-zA-Z_]\w+)`, ByGroups(NameFunction, Text, NameVariable), nil}, - {`(\w+)(\s*)(=)`, ByGroups(NameAttribute, Text, Operator), nil}, - {`<\w+>`, CommentSpecial, nil}, - Include("expressionstat"), - Include("whitespace"), - }, - "expressionstat": { - {`(\d+\.\d*|\.\d+|\d+[fF])[fF]?`, LiteralNumberFloat, nil}, - {`\d+`, LiteralNumberInteger, nil}, - {`:\w+`, NameVariable, nil}, - {`(\w+)(::)`, ByGroups(NameVariable, Operator), nil}, - {`\w+:`, NameFunction, nil}, - {`\w+`, NameVariable, nil}, - {`\(|\)`, Punctuation, nil}, - {`\[|\]`, Punctuation, nil}, - {`\{|\}`, Punctuation, nil}, - {`(\^|\+|\/|~|\*|<|>|=|@|%|\||&|\?|!|,|-|:)`, Operator, nil}, - {`\.|;`, Punctuation, nil}, - Include("whitespace"), - Include("literals"), - }, - "literals": { - {`\$.`, LiteralString, nil}, - {`'[^']*'`, LiteralString, nil}, - {`#'[^']*'`, LiteralStringSymbol, nil}, - {`#\w+:?`, LiteralStringSymbol, nil}, - {`#(\+|\/|~|\*|<|>|=|@|%|\||&|\?|!|,|-)+`, LiteralStringSymbol, nil}, - }, - "whitespace": { - {`\s+`, Text, nil}, - {`"[^"]*"`, Comment, nil}, - }, - }, -)) diff --git a/vendor/github.com/alecthomas/chroma/lexers/n/nginx.go b/vendor/github.com/alecthomas/chroma/lexers/n/nginx.go deleted file mode 100644 index 840d100b..00000000 --- a/vendor/github.com/alecthomas/chroma/lexers/n/nginx.go +++ /dev/null @@ -1,47 +0,0 @@ -package n - -import ( - . "github.com/alecthomas/chroma" // nolint - "github.com/alecthomas/chroma/lexers/internal" -) - -// Nginx Configuration File lexer. -var Nginx = internal.Register(MustNewLexer( - &Config{ - Name: "Nginx configuration file", - Aliases: []string{"nginx"}, - Filenames: []string{"nginx.conf"}, - MimeTypes: []string{"text/x-nginx-conf"}, - }, - Rules{ - "root": { - {`(include)(\s+)([^\s;]+)`, ByGroups(Keyword, Text, Name), nil}, - {`[^\s;#]+`, Keyword, Push("stmt")}, - Include("base"), - }, - "block": { - {`\}`, Punctuation, Pop(2)}, - {`[^\s;#]+`, KeywordNamespace, Push("stmt")}, - Include("base"), - }, - "stmt": { - {`\{`, Punctuation, Push("block")}, - {`;`, Punctuation, Pop(1)}, - Include("base"), - }, - "base": { - {`#.*\n`, CommentSingle, nil}, - {`on|off`, NameConstant, nil}, - {`\$[^\s;#()]+`, NameVariable, nil}, - {`([a-z0-9.-]+)(:)([0-9]+)`, ByGroups(Name, Punctuation, LiteralNumberInteger), nil}, - {`[a-z-]+/[a-z-+]+`, LiteralString, nil}, - {`[0-9]+[km]?\b`, LiteralNumberInteger, nil}, - {`(~)(\s*)([^\s{]+)`, ByGroups(Punctuation, Text, LiteralStringRegex), nil}, - {`[:=~]`, Punctuation, nil}, - {`[^\s;#{}$]+`, LiteralString, nil}, - {`/[^\s;#]*`, Name, nil}, - {`\s+`, Text, nil}, - {`[$;]`, Text, nil}, - }, - }, -)) diff --git a/vendor/github.com/alecthomas/chroma/lexers/n/nim.go b/vendor/github.com/alecthomas/chroma/lexers/n/nim.go deleted file mode 100644 index 1f7ec792..00000000 --- a/vendor/github.com/alecthomas/chroma/lexers/n/nim.go +++ /dev/null @@ -1,92 +0,0 @@ -package n - -import ( - . "github.com/alecthomas/chroma" // nolint - "github.com/alecthomas/chroma/lexers/internal" -) - -// Nim lexer. -var Nim = internal.Register(MustNewLexer( - &Config{ - Name: "Nim", - Aliases: []string{"nim", "nimrod"}, - Filenames: []string{"*.nim", "*.nimrod"}, - MimeTypes: []string{"text/x-nim"}, - CaseInsensitive: true, - }, - Rules{ - "root": { - {`##.*$`, LiteralStringDoc, nil}, - {`#.*$`, Comment, nil}, - {`[*=><+\-/@$~&%!?|\\\[\]]`, Operator, nil}, - {"\\.\\.|\\.|,|\\[\\.|\\.\\]|\\{\\.|\\.\\}|\\(\\.|\\.\\)|\\{|\\}|\\(|\\)|:|\\^|`|;", Punctuation, nil}, - {`(?:[\w]+)"`, LiteralString, Push("rdqs")}, - {`"""`, LiteralString, Push("tdqs")}, - {`"`, LiteralString, Push("dqs")}, - {`'`, LiteralStringChar, Push("chars")}, - {`(a_?n_?d_?|o_?r_?|n_?o_?t_?|x_?o_?r_?|s_?h_?l_?|s_?h_?r_?|d_?i_?v_?|m_?o_?d_?|i_?n_?|n_?o_?t_?i_?n_?|i_?s_?|i_?s_?n_?o_?t_?)\b`, OperatorWord, nil}, - {`(p_?r_?o_?c_?\s)(?![(\[\]])`, Keyword, Push("funcname")}, - {`(a_?d_?d_?r_?|a_?n_?d_?|a_?s_?|a_?s_?m_?|a_?t_?o_?m_?i_?c_?|b_?i_?n_?d_?|b_?l_?o_?c_?k_?|b_?r_?e_?a_?k_?|c_?a_?s_?e_?|c_?a_?s_?t_?|c_?o_?n_?c_?e_?p_?t_?|c_?o_?n_?s_?t_?|c_?o_?n_?t_?i_?n_?u_?e_?|c_?o_?n_?v_?e_?r_?t_?e_?r_?|d_?e_?f_?e_?r_?|d_?i_?s_?c_?a_?r_?d_?|d_?i_?s_?t_?i_?n_?c_?t_?|d_?i_?v_?|d_?o_?|e_?l_?i_?f_?|e_?l_?s_?e_?|e_?n_?d_?|e_?n_?u_?m_?|e_?x_?c_?e_?p_?t_?|e_?x_?p_?o_?r_?t_?|f_?i_?n_?a_?l_?l_?y_?|f_?o_?r_?|f_?u_?n_?c_?|i_?f_?|i_?n_?|y_?i_?e_?l_?d_?|i_?n_?t_?e_?r_?f_?a_?c_?e_?|i_?s_?|i_?s_?n_?o_?t_?|i_?t_?e_?r_?a_?t_?o_?r_?|l_?e_?t_?|m_?a_?c_?r_?o_?|m_?e_?t_?h_?o_?d_?|m_?i_?x_?i_?n_?|m_?o_?d_?|n_?o_?t_?|n_?o_?t_?i_?n_?|o_?b_?j_?e_?c_?t_?|o_?f_?|o_?r_?|o_?u_?t_?|p_?r_?o_?c_?|p_?t_?r_?|r_?a_?i_?s_?e_?|r_?e_?f_?|r_?e_?t_?u_?r_?n_?|s_?h_?a_?r_?e_?d_?|s_?h_?l_?|s_?h_?r_?|s_?t_?a_?t_?i_?c_?|t_?e_?m_?p_?l_?a_?t_?e_?|t_?r_?y_?|t_?u_?p_?l_?e_?|t_?y_?p_?e_?|w_?h_?e_?n_?|w_?h_?i_?l_?e_?|w_?i_?t_?h_?|w_?i_?t_?h_?o_?u_?t_?|x_?o_?r_?)\b`, Keyword, nil}, - {`(f_?r_?o_?m_?|i_?m_?p_?o_?r_?t_?|i_?n_?c_?l_?u_?d_?e_?)\b`, KeywordNamespace, nil}, - {`(v_?a_?r)\b`, KeywordDeclaration, nil}, - {`(i_?n_?t_?|i_?n_?t_?8_?|i_?n_?t_?1_?6_?|i_?n_?t_?3_?2_?|i_?n_?t_?6_?4_?|f_?l_?o_?a_?t_?|f_?l_?o_?a_?t_?3_?2_?|f_?l_?o_?a_?t_?6_?4_?|b_?o_?o_?l_?|c_?h_?a_?r_?|r_?a_?n_?g_?e_?|a_?r_?r_?a_?y_?|s_?e_?q_?|s_?e_?t_?|s_?t_?r_?i_?n_?g_?)\b`, KeywordType, nil}, - {`(n_?i_?l_?|t_?r_?u_?e_?|f_?a_?l_?s_?e_?)\b`, KeywordPseudo, nil}, - {`\b_\b`, Name, nil}, // Standalone _ used as discardable variable identifier - {`\b((?![_\d])\w)(((?!_)\w)|(_(?!_)\w))*`, Name, nil}, - {`[0-9][0-9_]*(?=([e.]|\'f(32|64)))`, LiteralNumberFloat, Push("float-suffix", "float-number")}, - {`0x[a-f0-9][a-f0-9_]*`, LiteralNumberHex, Push("int-suffix")}, - {`0b[01][01_]*`, LiteralNumberBin, Push("int-suffix")}, - {`0o[0-7][0-7_]*`, LiteralNumberOct, Push("int-suffix")}, - {`[0-9][0-9_]*`, LiteralNumberInteger, Push("int-suffix")}, - {`\s+`, Text, nil}, - {`.+$`, Error, nil}, - }, - "chars": { - {`\\([\\abcefnrtvl"\']|x[a-f0-9]{2}|[0-9]{1,3})`, LiteralStringEscape, nil}, - {`'`, LiteralStringChar, Pop(1)}, - {`.`, LiteralStringChar, nil}, - }, - "strings": { - {`(? <= < >= > *")...), Operator, nil}, - {`[;:]`, Punctuation, nil}, - }, - "comment": { - {`\*/`, CommentMultiline, Pop(1)}, - {`.|\n`, CommentMultiline, nil}, - }, - "paren": { - {`\)`, Punctuation, Pop(1)}, - Include("root"), - }, - "list": { - {`\]`, Punctuation, Pop(1)}, - Include("root"), - }, - "qstring": { - {`"`, StringDouble, Pop(1)}, - {`\${`, StringInterpol, Push("interpol")}, - {`\\.`, StringEscape, nil}, - {`.|\n`, StringDouble, nil}, - }, - "istring": { - {`''\$`, StringEscape, nil}, // "$" - {`'''`, StringEscape, nil}, // "''" - {`''\\.`, StringEscape, nil}, // "\." - {`''`, StringSingle, Pop(1)}, - {`\${`, StringInterpol, Push("interpol")}, - // The next rule is important: "$" escapes any symbol except "{"! - {`\$.`, StringSingle, nil}, // "$." - {`.|\n`, StringSingle, nil}, - }, - "scope": { - {`}:`, Punctuation, Pop(1)}, - {`}`, Punctuation, Pop(1)}, - {`in` + nixb, Keyword, Pop(1)}, - {`\${`, StringInterpol, Push("interpol")}, - Include("root"), // "==" has to be above "=" - {Words(``, ``, strings.Fields("= ? ,")...), Operator, nil}, - }, - "interpol": { - {`}`, StringInterpol, Pop(1)}, - Include("root"), - }, - "id": { - {`[a-zA-Z_][a-zA-Z0-9_'-]*`, Name, nil}, - }, - "uri": { - {`[a-zA-Z][a-zA-Z0-9+.-]*:[a-zA-Z0-9%/?:@&=+$,_.!~*'-]+`, StringDoc, nil}, - }, - "path": { - {`[a-zA-Z0-9._+-]*(/[a-zA-Z0-9._+-]+)+`, StringRegex, nil}, - {`~(/[a-zA-Z0-9._+-]+)+/?`, StringRegex, nil}, - {`<[a-zA-Z0-9._+-]+(/[a-zA-Z0-9._+-]+)*>`, StringRegex, nil}, - }, - "int": { - {`-?[0-9]+` + nixb, NumberInteger, nil}, - }, - "float": { - {`-?(([1-9][0-9]*\.[0-9]*)|(0?\.[0-9]+))([Ee][+-]?[0-9]+)?` + nixb, NumberFloat, nil}, - }, - "space": { - {`[ \t\r\n]+`, Text, nil}, - }, - }, -)) diff --git a/vendor/github.com/alecthomas/chroma/lexers/o/objectivec.go b/vendor/github.com/alecthomas/chroma/lexers/o/objectivec.go deleted file mode 100644 index e3d0b1c4..00000000 --- a/vendor/github.com/alecthomas/chroma/lexers/o/objectivec.go +++ /dev/null @@ -1,165 +0,0 @@ -package o - -import ( - . "github.com/alecthomas/chroma" // nolint - "github.com/alecthomas/chroma/lexers/internal" -) - -// Objective-C lexer. -var ObjectiveC = internal.Register(MustNewLexer( - &Config{ - Name: "Objective-C", - Aliases: []string{"objective-c", "objectivec", "obj-c", "objc"}, - Filenames: []string{"*.m", "*.h"}, - MimeTypes: []string{"text/x-objective-c"}, - }, - Rules{ - "statements": { - {`@"`, LiteralString, Push("string")}, - {`@(YES|NO)`, LiteralNumber, nil}, - {`@'(\\.|\\[0-7]{1,3}|\\x[a-fA-F0-9]{1,2}|[^\\\'\n])'`, LiteralStringChar, nil}, - {`@(\d+\.\d*|\.\d+|\d+)[eE][+-]?\d+[lL]?`, LiteralNumberFloat, nil}, - {`@(\d+\.\d*|\.\d+|\d+[fF])[fF]?`, LiteralNumberFloat, nil}, - {`@0x[0-9a-fA-F]+[Ll]?`, LiteralNumberHex, nil}, - {`@0[0-7]+[Ll]?`, LiteralNumberOct, nil}, - {`@\d+[Ll]?`, LiteralNumberInteger, nil}, - {`@\(`, Literal, Push("literal_number")}, - {`@\[`, Literal, Push("literal_array")}, - {`@\{`, Literal, Push("literal_dictionary")}, - {Words(``, `\b`, `@selector`, `@private`, `@protected`, `@public`, `@encode`, `@synchronized`, `@try`, `@throw`, `@catch`, `@finally`, `@end`, `@property`, `@synthesize`, `__bridge`, `__bridge_transfer`, `__autoreleasing`, `__block`, `__weak`, `__strong`, `weak`, `strong`, `copy`, `retain`, `assign`, `unsafe_unretained`, `atomic`, `nonatomic`, `readonly`, `readwrite`, `setter`, `getter`, `typeof`, `in`, `out`, `inout`, `release`, `class`, `@dynamic`, `@optional`, `@required`, `@autoreleasepool`), Keyword, nil}, - {Words(``, `\b`, `id`, `instancetype`, `Class`, `IMP`, `SEL`, `BOOL`, `IBOutlet`, `IBAction`, `unichar`), KeywordType, nil}, - {`@(true|false|YES|NO)\n`, NameBuiltin, nil}, - {`(YES|NO|nil|self|super)\b`, NameBuiltin, nil}, - {`(Boolean|UInt8|SInt8|UInt16|SInt16|UInt32|SInt32)\b`, KeywordType, nil}, - {`(TRUE|FALSE)\b`, NameBuiltin, nil}, - {`(@interface|@implementation)(\s+)`, ByGroups(Keyword, Text), Push("#pop", "oc_classname")}, - {`(@class|@protocol)(\s+)`, ByGroups(Keyword, Text), Push("#pop", "oc_forward_classname")}, - {`@`, Punctuation, nil}, - {`(L?)(")`, ByGroups(LiteralStringAffix, LiteralString), Push("string")}, - {`(L?)(')(\\.|\\[0-7]{1,3}|\\x[a-fA-F0-9]{1,2}|[^\\\'\n])(')`, ByGroups(LiteralStringAffix, LiteralStringChar, LiteralStringChar, LiteralStringChar), nil}, - {`(\d+\.\d*|\.\d+|\d+)[eE][+-]?\d+[LlUu]*`, LiteralNumberFloat, nil}, - {`(\d+\.\d*|\.\d+|\d+[fF])[fF]?`, LiteralNumberFloat, nil}, - {`0x[0-9a-fA-F]+[LlUu]*`, LiteralNumberHex, nil}, - {`0[0-7]+[LlUu]*`, LiteralNumberOct, nil}, - {`\d+[LlUu]*`, LiteralNumberInteger, nil}, - {`\*/`, Error, nil}, - {`[~!%^&*+=|?:<>/-]`, Operator, nil}, - {`[()\[\],.]`, Punctuation, nil}, - {Words(``, `\b`, `asm`, `auto`, `break`, `case`, `const`, `continue`, `default`, `do`, `else`, `enum`, `extern`, `for`, `goto`, `if`, `register`, `restricted`, `return`, `sizeof`, `static`, `struct`, `switch`, `typedef`, `union`, `volatile`, `while`), Keyword, nil}, - {`(bool|int|long|float|short|double|char|unsigned|signed|void)\b`, KeywordType, nil}, - {Words(``, `\b`, `inline`, `_inline`, `__inline`, `naked`, `restrict`, `thread`, `typename`), KeywordReserved, nil}, - {`(__m(128i|128d|128|64))\b`, KeywordReserved, nil}, - {Words(`__`, `\b`, `asm`, `int8`, `based`, `except`, `int16`, `stdcall`, `cdecl`, `fastcall`, `int32`, `declspec`, `finally`, `int64`, `try`, `leave`, `wchar_t`, `w64`, `unaligned`, `raise`, `noop`, `identifier`, `forceinline`, `assume`), KeywordReserved, nil}, - {`(true|false|NULL)\b`, NameBuiltin, nil}, - {`([a-zA-Z_]\w*)(\s*)(:)(?!:)`, ByGroups(NameLabel, Text, Punctuation), nil}, - {`[a-zA-Z_]\w*`, Name, nil}, - }, - "oc_classname": { - {`([a-zA-Z$_][\w$]*)(\s*:\s*)([a-zA-Z$_][\w$]*)?(\s*)(\{)`, ByGroups(NameClass, Text, NameClass, Text, Punctuation), Push("#pop", "oc_ivars")}, - {`([a-zA-Z$_][\w$]*)(\s*:\s*)([a-zA-Z$_][\w$]*)?`, ByGroups(NameClass, Text, NameClass), Pop(1)}, - {`([a-zA-Z$_][\w$]*)(\s*)(\([a-zA-Z$_][\w$]*\))(\s*)(\{)`, ByGroups(NameClass, Text, NameLabel, Text, Punctuation), Push("#pop", "oc_ivars")}, - {`([a-zA-Z$_][\w$]*)(\s*)(\([a-zA-Z$_][\w$]*\))`, ByGroups(NameClass, Text, NameLabel), Pop(1)}, - {`([a-zA-Z$_][\w$]*)(\s*)(\{)`, ByGroups(NameClass, Text, Punctuation), Push("#pop", "oc_ivars")}, - {`([a-zA-Z$_][\w$]*)`, NameClass, Pop(1)}, - }, - "oc_forward_classname": { - {`([a-zA-Z$_][\w$]*)(\s*,\s*)`, ByGroups(NameClass, Text), Push("oc_forward_classname")}, - {`([a-zA-Z$_][\w$]*)(\s*;?)`, ByGroups(NameClass, Text), Pop(1)}, - }, - "oc_ivars": { - Include("whitespace"), - Include("statements"), - {`;`, Punctuation, nil}, - {`\{`, Punctuation, Push()}, - {`\}`, Punctuation, Pop(1)}, - }, - "root": { - {`^([-+])(\s*)(\(.*?\))?(\s*)([a-zA-Z$_][\w$]*:?)`, ByGroups(Punctuation, Text, UsingSelf("root"), Text, NameFunction), Push("method")}, - Include("whitespace"), - {`((?:[\w*\s])+?(?:\s|[*]))([a-zA-Z_]\w*)(\s*\([^;]*?\))([^;{]*)(\{)`, ByGroups(UsingSelf("root"), NameFunction, UsingSelf("root"), UsingSelf("root"), Punctuation), Push("function")}, - {`((?:[\w*\s])+?(?:\s|[*]))([a-zA-Z_]\w*)(\s*\([^;]*?\))([^;]*)(;)`, ByGroups(UsingSelf("root"), NameFunction, UsingSelf("root"), UsingSelf("root"), Punctuation), nil}, - Default(Push("statement")), - }, - "method": { - Include("whitespace"), - {`,`, Punctuation, nil}, - {`\.\.\.`, Punctuation, nil}, - {`(\(.*?\))(\s*)([a-zA-Z$_][\w$]*)`, ByGroups(UsingSelf("root"), Text, NameVariable), nil}, - {`[a-zA-Z$_][\w$]*:`, NameFunction, nil}, - {`;`, Punctuation, Pop(1)}, - {`\{`, Punctuation, Push("function")}, - Default(Pop(1)), - }, - "literal_number": { - {`\(`, Punctuation, Push("literal_number_inner")}, - {`\)`, Literal, Pop(1)}, - Include("statement"), - }, - "literal_number_inner": { - {`\(`, Punctuation, Push()}, - {`\)`, Punctuation, Pop(1)}, - Include("statement"), - }, - "literal_array": { - {`\[`, Punctuation, Push("literal_array_inner")}, - {`\]`, Literal, Pop(1)}, - Include("statement"), - }, - "literal_array_inner": { - {`\[`, Punctuation, Push()}, - {`\]`, Punctuation, Pop(1)}, - Include("statement"), - }, - "literal_dictionary": { - {`\}`, Literal, Pop(1)}, - Include("statement"), - }, - "whitespace": { - {`^#if\s+0`, CommentPreproc, Push("if0")}, - {`^#`, CommentPreproc, Push("macro")}, - {`^(\s*(?:/[*].*?[*]/\s*)?)(#if\s+0)`, ByGroups(UsingSelf("root"), CommentPreproc), Push("if0")}, - {`^(\s*(?:/[*].*?[*]/\s*)?)(#)`, ByGroups(UsingSelf("root"), CommentPreproc), Push("macro")}, - {`\n`, Text, nil}, - {`\s+`, Text, nil}, - {`\\\n`, Text, nil}, - {`//(\n|[\w\W]*?[^\\]\n)`, CommentSingle, nil}, - {`/(\\\n)?[*][\w\W]*?[*](\\\n)?/`, CommentMultiline, nil}, - {`/(\\\n)?[*][\w\W]*`, CommentMultiline, nil}, - }, - "statement": { - Include("whitespace"), - Include("statements"), - {`[{}]`, Punctuation, nil}, - {`;`, Punctuation, Pop(1)}, - }, - "function": { - Include("whitespace"), - Include("statements"), - {`;`, Punctuation, nil}, - {`\{`, Punctuation, Push()}, - {`\}`, Punctuation, Pop(1)}, - }, - "string": { - {`"`, LiteralString, Pop(1)}, - {`\\([\\abfnrtv"\']|x[a-fA-F0-9]{2,4}|u[a-fA-F0-9]{4}|U[a-fA-F0-9]{8}|[0-7]{1,3})`, LiteralStringEscape, nil}, - {`[^\\"\n]+`, LiteralString, nil}, - {`\\\n`, LiteralString, nil}, - {`\\`, LiteralString, nil}, - }, - "macro": { - {`(include)(\s*(?:/[*].*?[*]/\s*)?)([^\n]+)`, ByGroups(CommentPreproc, Text, CommentPreprocFile), nil}, - {`[^/\n]+`, CommentPreproc, nil}, - {`/[*](.|\n)*?[*]/`, CommentMultiline, nil}, - {`//.*?\n`, CommentSingle, Pop(1)}, - {`/`, CommentPreproc, nil}, - {`(?<=\\)\n`, CommentPreproc, nil}, - {`\n`, CommentPreproc, Pop(1)}, - }, - "if0": { - {`^\s*#if.*?(?|\\[<|\\[|\\?\\?|\\?|>\\}|>]|>|=|<-|<|;;|;|:>|:=|::|:|\\.\\.|\\.|->|-\\.|-|,|\\+|\\*|\\)|\\(|&&|&|#|!=)", Operator, nil}, - {`([=<>@^|&+\*/$%-]|[!?~])?[!$%&*+\./:<=>?@^|~-]`, Operator, nil}, - {`\b(and|asr|land|lor|lsl|lxor|mod|or)\b`, OperatorWord, nil}, - {`\b(unit|int|float|bool|string|char|list|array)\b`, KeywordType, nil}, - {`[^\W\d][\w']*`, Name, nil}, - {`-?\d[\d_]*(.[\d_]*)?([eE][+\-]?\d[\d_]*)`, LiteralNumberFloat, nil}, - {`0[xX][\da-fA-F][\da-fA-F_]*`, LiteralNumberHex, nil}, - {`0[oO][0-7][0-7_]*`, LiteralNumberOct, nil}, - {`0[bB][01][01_]*`, LiteralNumberBin, nil}, - {`\d[\d_]*`, LiteralNumberInteger, nil}, - {`'(?:(\\[\\\"'ntbr ])|(\\[0-9]{3})|(\\x[0-9a-fA-F]{2}))'`, LiteralStringChar, nil}, - {`'.'`, LiteralStringChar, nil}, - {`'`, Keyword, nil}, - {`"`, LiteralStringDouble, Push("string")}, - {`[~?][a-z][\w\']*:`, NameVariable, nil}, - }, - "comment": { - {`[^(*)]+`, Comment, nil}, - {`\(\*`, Comment, Push()}, - {`\*\)`, Comment, Pop(1)}, - {`[(*)]`, Comment, nil}, - }, - "string": { - {`[^\\"]+`, LiteralStringDouble, nil}, - Include("escape-sequence"), - {`\\\n`, LiteralStringDouble, nil}, - {`"`, LiteralStringDouble, Pop(1)}, - }, - "dotted": { - {`\s+`, Text, nil}, - {`\.`, Punctuation, nil}, - {`[A-Z][\w\']*(?=\s*\.)`, NameNamespace, nil}, - {`[A-Z][\w\']*`, NameClass, Pop(1)}, - {`[a-z_][\w\']*`, Name, Pop(1)}, - Default(Pop(1)), - }, - }, -)) diff --git a/vendor/github.com/alecthomas/chroma/lexers/o/octave.go b/vendor/github.com/alecthomas/chroma/lexers/o/octave.go deleted file mode 100644 index c23b586f..00000000 --- a/vendor/github.com/alecthomas/chroma/lexers/o/octave.go +++ /dev/null @@ -1,46 +0,0 @@ -package o - -import ( - . "github.com/alecthomas/chroma" // nolint - "github.com/alecthomas/chroma/lexers/internal" -) - -// Octave lexer. -var Octave = internal.Register(MustNewLexer( - &Config{ - Name: "Octave", - Aliases: []string{"octave"}, - Filenames: []string{"*.m"}, - MimeTypes: []string{"text/octave"}, - }, - Rules{ - "root": { - {`[%#].*$`, Comment, nil}, - {`^\s*function`, Keyword, Push("deffunc")}, - {Words(``, `\b`, `__FILE__`, `__LINE__`, `break`, `case`, `catch`, `classdef`, `continue`, `do`, `else`, `elseif`, `end`, `end_try_catch`, `end_unwind_protect`, `endclassdef`, `endevents`, `endfor`, `endfunction`, `endif`, `endmethods`, `endproperties`, `endswitch`, `endwhile`, `events`, `for`, `function`, `get`, `global`, `if`, `methods`, `otherwise`, `persistent`, `properties`, `return`, `set`, `static`, `switch`, `try`, `until`, `unwind_protect`, `unwind_protect_cleanup`, `while`), Keyword, nil}, - {Words(``, `\b`, `addlistener`, `addpath`, `addproperty`, `all`, `and`, `any`, `argnames`, `argv`, `assignin`, `atexit`, `autoload`, `available_graphics_toolkits`, `beep_on_error`, `bitand`, `bitmax`, `bitor`, `bitshift`, `bitxor`, `cat`, `cell`, `cellstr`, `char`, `class`, `clc`, `columns`, `command_line_path`, `completion_append_char`, `completion_matches`, `complex`, `confirm_recursive_rmdir`, `cputime`, `crash_dumps_octave_core`, `ctranspose`, `cumprod`, `cumsum`, `debug_on_error`, `debug_on_interrupt`, `debug_on_warning`, `default_save_options`, `dellistener`, `diag`, `diff`, `disp`, `doc_cache_file`, `do_string_escapes`, `double`, `drawnow`, `e`, `echo_executing_commands`, `eps`, `eq`, `errno`, `errno_list`, `error`, `eval`, `evalin`, `exec`, `exist`, `exit`, `eye`, `false`, `fclear`, `fclose`, `fcntl`, `fdisp`, `feof`, `ferror`, `feval`, `fflush`, `fgetl`, `fgets`, `fieldnames`, `file_in_loadpath`, `file_in_path`, `filemarker`, `filesep`, `find_dir_in_path`, `fixed_point_format`, `fnmatch`, `fopen`, `fork`, `formula`, `fprintf`, `fputs`, `fread`, `freport`, `frewind`, `fscanf`, `fseek`, `fskipl`, `ftell`, `functions`, `fwrite`, `ge`, `genpath`, `get`, `getegid`, `getenv`, `geteuid`, `getgid`, `getpgrp`, `getpid`, `getppid`, `getuid`, `glob`, `gt`, `gui_mode`, `history_control`, `history_file`, `history_size`, `history_timestamp_format_string`, `home`, `horzcat`, `hypot`, `ifelse`, `ignore_function_time_stamp`, `inferiorto`, `info_file`, `info_program`, `inline`, `input`, `intmax`, `intmin`, `ipermute`, `is_absolute_filename`, `isargout`, `isbool`, `iscell`, `iscellstr`, `ischar`, `iscomplex`, `isempty`, `isfield`, `isfloat`, `isglobal`, `ishandle`, `isieee`, `isindex`, `isinteger`, `islogical`, `ismatrix`, `ismethod`, `isnull`, `isnumeric`, `isobject`, `isreal`, `is_rooted_relative_filename`, `issorted`, `isstruct`, `isvarname`, `kbhit`, `keyboard`, `kill`, `lasterr`, `lasterror`, `lastwarn`, `ldivide`, `le`, `length`, `link`, `linspace`, `logical`, `lstat`, `lt`, `make_absolute_filename`, `makeinfo_program`, `max_recursion_depth`, `merge`, `methods`, `mfilename`, `minus`, `mislocked`, `mkdir`, `mkfifo`, `mkstemp`, `mldivide`, `mlock`, `mouse_wheel_zoom`, `mpower`, `mrdivide`, `mtimes`, `munlock`, `nargin`, `nargout`, `native_float_format`, `ndims`, `ne`, `nfields`, `nnz`, `norm`, `not`, `numel`, `nzmax`, `octave_config_info`, `octave_core_file_limit`, `octave_core_file_name`, `octave_core_file_options`, `ones`, `or`, `output_max_field_width`, `output_precision`, `page_output_immediately`, `page_screen_output`, `path`, `pathsep`, `pause`, `pclose`, `permute`, `pi`, `pipe`, `plus`, `popen`, `power`, `print_empty_dimensions`, `printf`, `print_struct_array_contents`, `prod`, `program_invocation_name`, `program_name`, `putenv`, `puts`, `pwd`, `quit`, `rats`, `rdivide`, `readdir`, `readlink`, `read_readline_init_file`, `realmax`, `realmin`, `rehash`, `rename`, `repelems`, `re_read_readline_init_file`, `reset`, `reshape`, `resize`, `restoredefaultpath`, `rethrow`, `rmdir`, `rmfield`, `rmpath`, `rows`, `save_header_format_string`, `save_precision`, `saving_history`, `scanf`, `set`, `setenv`, `shell_cmd`, `sighup_dumps_octave_core`, `sigterm_dumps_octave_core`, `silent_functions`, `single`, `size`, `size_equal`, `sizemax`, `sizeof`, `sleep`, `source`, `sparse_auto_mutate`, `split_long_rows`, `sprintf`, `squeeze`, `sscanf`, `stat`, `stderr`, `stdin`, `stdout`, `strcmp`, `strcmpi`, `string_fill_char`, `strncmp`, `strncmpi`, `struct`, `struct_levels_to_print`, `strvcat`, `subsasgn`, `subsref`, `sum`, `sumsq`, `superiorto`, `suppress_verbose_help_message`, `symlink`, `system`, `tic`, `tilde_expand`, `times`, `tmpfile`, `tmpnam`, `toc`, `toupper`, `transpose`, `true`, `typeinfo`, `umask`, `uminus`, `uname`, `undo_string_escapes`, `unlink`, `uplus`, `upper`, `usage`, `usleep`, `vec`, `vectorize`, `vertcat`, `waitpid`, `warning`, `warranty`, `whos_line_format`, `yes_or_no`, `zeros`, `inf`, `Inf`, `nan`, `NaN`, `close`, `load`, `who`, `whos`, `accumarray`, `accumdim`, `acosd`, `acotd`, `acscd`, `addtodate`, `allchild`, `ancestor`, `anova`, `arch_fit`, `arch_rnd`, `arch_test`, `area`, `arma_rnd`, `arrayfun`, `ascii`, `asctime`, `asecd`, `asind`, `assert`, `atand`, `autoreg_matrix`, `autumn`, `axes`, `axis`, `bar`, `barh`, `bartlett`, `bartlett_test`, `beep`, `betacdf`, `betainv`, `betapdf`, `betarnd`, `bicgstab`, `bicubic`, `binary`, `binocdf`, `binoinv`, `binopdf`, `binornd`, `bitcmp`, `bitget`, `bitset`, `blackman`, `blanks`, `blkdiag`, `bone`, `box`, `brighten`, `calendar`, `cast`, `cauchy_cdf`, `cauchy_inv`, `cauchy_pdf`, `cauchy_rnd`, `caxis`, `celldisp`, `center`, `cgs`, `chisquare_test_homogeneity`, `chisquare_test_independence`, `circshift`, `cla`, `clabel`, `clf`, `clock`, `cloglog`, `closereq`, `colon`, `colorbar`, `colormap`, `colperm`, `comet`, `common_size`, `commutation_matrix`, `compan`, `compare_versions`, `compass`, `computer`, `cond`, `condest`, `contour`, `contourc`, `contourf`, `contrast`, `conv`, `convhull`, `cool`, `copper`, `copyfile`, `cor`, `corrcoef`, `cor_test`, `cosd`, `cotd`, `cov`, `cplxpair`, `cross`, `cscd`, `cstrcat`, `csvread`, `csvwrite`, `ctime`, `cumtrapz`, `curl`, `cut`, `cylinder`, `date`, `datenum`, `datestr`, `datetick`, `datevec`, `dblquad`, `deal`, `deblank`, `deconv`, `delaunay`, `delaunayn`, `delete`, `demo`, `detrend`, `diffpara`, `diffuse`, `dir`, `discrete_cdf`, `discrete_inv`, `discrete_pdf`, `discrete_rnd`, `display`, `divergence`, `dlmwrite`, `dos`, `dsearch`, `dsearchn`, `duplication_matrix`, `durbinlevinson`, `ellipsoid`, `empirical_cdf`, `empirical_inv`, `empirical_pdf`, `empirical_rnd`, `eomday`, `errorbar`, `etime`, `etreeplot`, `example`, `expcdf`, `expinv`, `expm`, `exppdf`, `exprnd`, `ezcontour`, `ezcontourf`, `ezmesh`, `ezmeshc`, `ezplot`, `ezpolar`, `ezsurf`, `ezsurfc`, `factor`, `factorial`, `fail`, `fcdf`, `feather`, `fftconv`, `fftfilt`, `fftshift`, `figure`, `fileattrib`, `fileparts`, `fill`, `findall`, `findobj`, `findstr`, `finv`, `flag`, `flipdim`, `fliplr`, `flipud`, `fpdf`, `fplot`, `fractdiff`, `freqz`, `freqz_plot`, `frnd`, `fsolve`, `f_test_regression`, `ftp`, `fullfile`, `fzero`, `gamcdf`, `gaminv`, `gampdf`, `gamrnd`, `gca`, `gcbf`, `gcbo`, `gcf`, `genvarname`, `geocdf`, `geoinv`, `geopdf`, `geornd`, `getfield`, `ginput`, `glpk`, `gls`, `gplot`, `gradient`, `graphics_toolkit`, `gray`, `grid`, `griddata`, `griddatan`, `gtext`, `gunzip`, `gzip`, `hadamard`, `hamming`, `hankel`, `hanning`, `hggroup`, `hidden`, `hilb`, `hist`, `histc`, `hold`, `hot`, `hotelling_test`, `housh`, `hsv`, `hurst`, `hygecdf`, `hygeinv`, `hygepdf`, `hygernd`, `idivide`, `ifftshift`, `image`, `imagesc`, `imfinfo`, `imread`, `imshow`, `imwrite`, `index`, `info`, `inpolygon`, `inputname`, `interpft`, `interpn`, `intersect`, `invhilb`, `iqr`, `isa`, `isdefinite`, `isdir`, `is_duplicate_entry`, `isequal`, `isequalwithequalnans`, `isfigure`, `ishermitian`, `ishghandle`, `is_leap_year`, `isletter`, `ismac`, `ismember`, `ispc`, `isprime`, `isprop`, `isscalar`, `issquare`, `isstrprop`, `issymmetric`, `isunix`, `is_valid_file_id`, `isvector`, `jet`, `kendall`, `kolmogorov_smirnov_cdf`, `kolmogorov_smirnov_test`, `kruskal_wallis_test`, `krylov`, `kurtosis`, `laplace_cdf`, `laplace_inv`, `laplace_pdf`, `laplace_rnd`, `legend`, `legendre`, `license`, `line`, `linkprop`, `list_primes`, `loadaudio`, `loadobj`, `logistic_cdf`, `logistic_inv`, `logistic_pdf`, `logistic_rnd`, `logit`, `loglog`, `loglogerr`, `logm`, `logncdf`, `logninv`, `lognpdf`, `lognrnd`, `logspace`, `lookfor`, `ls_command`, `lsqnonneg`, `magic`, `mahalanobis`, `manova`, `matlabroot`, `mcnemar_test`, `mean`, `meansq`, `median`, `menu`, `mesh`, `meshc`, `meshgrid`, `meshz`, `mexext`, `mget`, `mkpp`, `mode`, `moment`, `movefile`, `mpoles`, `mput`, `namelengthmax`, `nargchk`, `nargoutchk`, `nbincdf`, `nbininv`, `nbinpdf`, `nbinrnd`, `nchoosek`, `ndgrid`, `newplot`, `news`, `nonzeros`, `normcdf`, `normest`, `norminv`, `normpdf`, `normrnd`, `now`, `nthroot`, `null`, `ocean`, `ols`, `onenormest`, `optimget`, `optimset`, `orderfields`, `orient`, `orth`, `pack`, `pareto`, `parseparams`, `pascal`, `patch`, `pathdef`, `pcg`, `pchip`, `pcolor`, `pcr`, `peaks`, `periodogram`, `perl`, `perms`, `pie`, `pink`, `planerot`, `playaudio`, `plot`, `plotmatrix`, `plotyy`, `poisscdf`, `poissinv`, `poisspdf`, `poissrnd`, `polar`, `poly`, `polyaffine`, `polyarea`, `polyderiv`, `polyfit`, `polygcd`, `polyint`, `polyout`, `polyreduce`, `polyval`, `polyvalm`, `postpad`, `powerset`, `ppder`, `ppint`, `ppjumps`, `ppplot`, `ppval`, `pqpnonneg`, `prepad`, `primes`, `print`, `print_usage`, `prism`, `probit`, `qp`, `qqplot`, `quadcc`, `quadgk`, `quadl`, `quadv`, `quiver`, `qzhess`, `rainbow`, `randi`, `range`, `rank`, `ranks`, `rat`, `reallog`, `realpow`, `realsqrt`, `record`, `rectangle_lw`, `rectangle_sw`, `rectint`, `refresh`, `refreshdata`, `regexptranslate`, `repmat`, `residue`, `ribbon`, `rindex`, `roots`, `rose`, `rosser`, `rotdim`, `rref`, `run`, `run_count`, `rundemos`, `run_test`, `runtests`, `saveas`, `saveaudio`, `saveobj`, `savepath`, `scatter`, `secd`, `semilogx`, `semilogxerr`, `semilogy`, `semilogyerr`, `setaudio`, `setdiff`, `setfield`, `setxor`, `shading`, `shift`, `shiftdim`, `sign_test`, `sinc`, `sind`, `sinetone`, `sinewave`, `skewness`, `slice`, `sombrero`, `sortrows`, `spaugment`, `spconvert`, `spdiags`, `spearman`, `spectral_adf`, `spectral_xdf`, `specular`, `speed`, `spencer`, `speye`, `spfun`, `sphere`, `spinmap`, `spline`, `spones`, `sprand`, `sprandn`, `sprandsym`, `spring`, `spstats`, `spy`, `sqp`, `stairs`, `statistics`, `std`, `stdnormal_cdf`, `stdnormal_inv`, `stdnormal_pdf`, `stdnormal_rnd`, `stem`, `stft`, `strcat`, `strchr`, `strjust`, `strmatch`, `strread`, `strsplit`, `strtok`, `strtrim`, `strtrunc`, `structfun`, `studentize`, `subplot`, `subsindex`, `subspace`, `substr`, `substruct`, `summer`, `surf`, `surface`, `surfc`, `surfl`, `surfnorm`, `svds`, `swapbytes`, `sylvester_matrix`, `symvar`, `synthesis`, `table`, `tand`, `tar`, `tcdf`, `tempdir`, `tempname`, `test`, `text`, `textread`, `textscan`, `tinv`, `title`, `toeplitz`, `tpdf`, `trace`, `trapz`, `treelayout`, `treeplot`, `triangle_lw`, `triangle_sw`, `tril`, `trimesh`, `triplequad`, `triplot`, `trisurf`, `triu`, `trnd`, `tsearchn`, `t_test`, `t_test_regression`, `type`, `unidcdf`, `unidinv`, `unidpdf`, `unidrnd`, `unifcdf`, `unifinv`, `unifpdf`, `unifrnd`, `union`, `unique`, `unix`, `unmkpp`, `unpack`, `untabify`, `untar`, `unwrap`, `unzip`, `u_test`, `validatestring`, `vander`, `var`, `var_test`, `vech`, `ver`, `version`, `view`, `voronoi`, `voronoin`, `waitforbuttonpress`, `wavread`, `wavwrite`, `wblcdf`, `wblinv`, `wblpdf`, `wblrnd`, `weekday`, `welch_test`, `what`, `white`, `whitebg`, `wienrnd`, `wilcoxon_test`, `wilkinson`, `winter`, `xlabel`, `xlim`, `ylabel`, `yulewalker`, `zip`, `zlabel`, `z_test`, `airy`, `amd`, `balance`, `besselh`, `besseli`, `besselj`, `besselk`, `bessely`, `bitpack`, `bsxfun`, `builtin`, `ccolamd`, `cellfun`, `cellslices`, `chol`, `choldelete`, `cholinsert`, `cholinv`, `cholshift`, `cholupdate`, `colamd`, `colloc`, `convhulln`, `convn`, `csymamd`, `cummax`, `cummin`, `daspk`, `daspk_options`, `dasrt`, `dasrt_options`, `dassl`, `dassl_options`, `dbclear`, `dbdown`, `dbstack`, `dbstatus`, `dbstop`, `dbtype`, `dbup`, `dbwhere`, `det`, `dlmread`, `dmperm`, `dot`, `eig`, `eigs`, `endgrent`, `endpwent`, `etree`, `fft`, `fftn`, `fftw`, `filter`, `find`, `full`, `gcd`, `getgrent`, `getgrgid`, `getgrnam`, `getpwent`, `getpwnam`, `getpwuid`, `getrusage`, `givens`, `gmtime`, `gnuplot_binary`, `hess`, `ifft`, `ifftn`, `inv`, `isdebugmode`, `issparse`, `kron`, `localtime`, `lookup`, `lsode`, `lsode_options`, `lu`, `luinc`, `luupdate`, `matrix_type`, `max`, `min`, `mktime`, `pinv`, `qr`, `qrdelete`, `qrinsert`, `qrshift`, `qrupdate`, `quad`, `quad_options`, `qz`, `rand`, `rande`, `randg`, `randn`, `randp`, `randperm`, `rcond`, `regexp`, `regexpi`, `regexprep`, `schur`, `setgrent`, `setpwent`, `sort`, `spalloc`, `sparse`, `spparms`, `sprank`, `sqrtm`, `strfind`, `strftime`, `strptime`, `strrep`, `svd`, `svd_driver`, `syl`, `symamd`, `symbfact`, `symrcm`, `time`, `tsearch`, `typecast`, `urlread`, `urlwrite`, `abs`, `acos`, `acosh`, `acot`, `acoth`, `acsc`, `acsch`, `angle`, `arg`, `asec`, `asech`, `asin`, `asinh`, `atan`, `atanh`, `beta`, `betainc`, `betaln`, `bincoeff`, `cbrt`, `ceil`, `conj`, `cos`, `cosh`, `cot`, `coth`, `csc`, `csch`, `erf`, `erfc`, `erfcx`, `erfinv`, `exp`, `finite`, `fix`, `floor`, `fmod`, `gamma`, `gammainc`, `gammaln`, `imag`, `isalnum`, `isalpha`, `isascii`, `iscntrl`, `isdigit`, `isfinite`, `isgraph`, `isinf`, `islower`, `isna`, `isnan`, `isprint`, `ispunct`, `isspace`, `isupper`, `isxdigit`, `lcm`, `lgamma`, `log`, `lower`, `mod`, `real`, `rem`, `round`, `roundb`, `sec`, `sech`, `sign`, `sin`, `sinh`, `sqrt`, `tan`, `tanh`, `toascii`, `tolower`, `xor`), NameBuiltin, nil}, - {Words(``, `\b`, `EDITOR`, `EXEC_PATH`, `I`, `IMAGE_PATH`, `NA`, `OCTAVE_HOME`, `OCTAVE_VERSION`, `PAGER`, `PAGER_FLAGS`, `SEEK_CUR`, `SEEK_END`, `SEEK_SET`, `SIG`, `S_ISBLK`, `S_ISCHR`, `S_ISDIR`, `S_ISFIFO`, `S_ISLNK`, `S_ISREG`, `S_ISSOCK`, `WCONTINUE`, `WCOREDUMP`, `WEXITSTATUS`, `WIFCONTINUED`, `WIFEXITED`, `WIFSIGNALED`, `WIFSTOPPED`, `WNOHANG`, `WSTOPSIG`, `WTERMSIG`, `WUNTRACED`), NameConstant, nil}, - {`-=|!=|!|/=|--`, Operator, nil}, - {`-|==|~=|<|>|<=|>=|&&|&|~|\|\|?`, Operator, nil}, - {`\*=|\+=|\^=|\/=|\\=|\*\*|\+\+|\.\*\*`, Operator, nil}, - {`\.\*|\*|\+|\.\^|\.\\|\.\/|\/|\\`, Operator, nil}, - {`[\[\](){}:@.,]`, Punctuation, nil}, - {`=|:|;`, Punctuation, nil}, - {`"[^"]*"`, LiteralString, nil}, - {`(\d+\.\d*|\d*\.\d+)([eEf][+-]?[0-9]+)?`, LiteralNumberFloat, nil}, - {`\d+[eEf][+-]?[0-9]+`, LiteralNumberFloat, nil}, - {`\d+`, LiteralNumberInteger, nil}, - {`(?<=[\w)\].])\'+`, Operator, nil}, - {`(?=|>|&&|\|\|`, Operator, nil}, - {`\$(f[asn]|t|vp[rtd]|children)`, NameVariableMagic, nil}, - {Words(``, `\b`, `PI`, `undef`), KeywordConstant, nil}, - {`(use|include)((?:\s|\\\\s)+)`, ByGroups(KeywordNamespace, Text), Push("includes")}, - {`(module)(\s*)([^\s\(]+)`, ByGroups(KeywordNamespace, Text, NameNamespace), nil}, - {`(function)(\s*)([^\s\(]+)`, ByGroups(KeywordDeclaration, Text, NameFunction), nil}, - {`\b(true|false)\b`, Literal, nil}, - {`\b(function|module|include|use|for|intersection_for|if|else|return)\b`, Keyword, nil}, - {`\b(circle|square|polygon|text|sphere|cube|cylinder|polyhedron|translate|rotate|scale|resize|mirror|multmatrix|color|offset|hull|minkowski|union|difference|intersection|abs|sign|sin|cos|tan|acos|asin|atan|atan2|floor|round|ceil|ln|log|pow|sqrt|exp|rands|min|max|concat|lookup|str|chr|search|version|version_num|norm|cross|parent_module|echo|import|import_dxf|dxf_linear_extrude|linear_extrude|rotate_extrude|surface|projection|render|dxf_cross|dxf_dim|let|assign|len)\b`, NameBuiltin, nil}, - {`\bchildren\b`, NameBuiltinPseudo, nil}, - {`"(\\\\|\\"|[^"])*"`, LiteralStringDouble, nil}, - {`-?\d+(\.\d+)?(e[+-]?\d+)?`, Number, nil}, - {`[a-zA-Z_]\w*`, Name, nil}, - }, - "includes": { - {"(<)([^>]*)(>)", ByGroups(Punctuation, CommentPreprocFile, Punctuation), nil}, - Default(Pop(1)), - }, - }, -)) diff --git a/vendor/github.com/alecthomas/chroma/lexers/o/org.go b/vendor/github.com/alecthomas/chroma/lexers/o/org.go deleted file mode 100644 index 1064eaf0..00000000 --- a/vendor/github.com/alecthomas/chroma/lexers/o/org.go +++ /dev/null @@ -1,102 +0,0 @@ -package o - -import ( - . "github.com/alecthomas/chroma" // nolint - "github.com/alecthomas/chroma/lexers/internal" -) - -// Org mode lexer. -var Org = internal.Register(MustNewLexer( - &Config{ - Name: "Org Mode", - Aliases: []string{"org", "orgmode"}, - Filenames: []string{"*.org"}, - MimeTypes: []string{"text/org"}, // https://lists.gnu.org/r/emacs-orgmode/2017-09/msg00087.html - }, - Rules{ - "root": { - {`^# .*$`, Comment, nil}, - // Headings - {`^(\*)( COMMENT)( .*)$`, ByGroups(GenericHeading, NameEntity, GenericStrong), nil}, - {`^(\*\*+)( COMMENT)( .*)$`, ByGroups(GenericSubheading, NameEntity, Text), nil}, - {`^(\*)( DONE)( .*)$`, ByGroups(GenericHeading, LiteralStringRegex, GenericStrong), nil}, - {`^(\*\*+)( DONE)( .*)$`, ByGroups(GenericSubheading, LiteralStringRegex, Text), nil}, - {`^(\*)( TODO)( .*)$`, ByGroups(GenericHeading, Error, GenericStrong), nil}, - {`^(\*\*+)( TODO)( .*)$`, ByGroups(GenericSubheading, Error, Text), nil}, - {`^(\*)( .+?)( :[a-zA-Z0-9_@:]+:)$`, ByGroups(GenericHeading, GenericStrong, GenericEmph), nil}, // Level 1 heading with tags - {`^(\*)( .+)$`, ByGroups(GenericHeading, GenericStrong), nil}, // // Level 1 heading with NO tags - {`^(\*\*+)( .+?)( :[a-zA-Z0-9_@:]+:)$`, ByGroups(GenericSubheading, Text, GenericEmph), nil}, // Level 2+ heading with tags - {`^(\*\*+)( .+)$`, ByGroups(GenericSubheading, Text), nil}, // Level 2+ heading with NO tags - // Checkbox lists - {`^( *)([+-] )(\[[ X]\])( .+)$`, ByGroups(Text, Keyword, Keyword, UsingSelf("inline")), nil}, - {`^( +)(\* )(\[[ X]\])( .+)$`, ByGroups(Text, Keyword, Keyword, UsingSelf("inline")), nil}, - // Definition lists - {`^( *)([+-] )([^ \n]+ ::)( .+)$`, ByGroups(Text, Keyword, Keyword, UsingSelf("inline")), nil}, - {`^( +)(\* )([^ \n]+ ::)( .+)$`, ByGroups(Text, Keyword, Keyword, UsingSelf("inline")), nil}, - // Unordered lists - {`^( *)([+-] )(.+)$`, ByGroups(Text, Keyword, UsingSelf("inline")), nil}, - {`^( +)(\* )(.+)$`, ByGroups(Text, Keyword, UsingSelf("inline")), nil}, - // Ordered lists - {`^( *)([0-9]+[.)])( \[@[0-9]+\])( .+)$`, ByGroups(Text, Keyword, GenericEmph, UsingSelf("inline")), nil}, - {`^( *)([0-9]+[.)])( .+)$`, ByGroups(Text, Keyword, UsingSelf("inline")), nil}, - // Dynamic Blocks - {`(?i)^( *#\+begin: )([^ ]+)([\w\W]*?\n)([\w\W]*?)(^ *#\+end: *$)`, ByGroups(Comment, CommentSpecial, Comment, UsingSelf("inline"), Comment), nil}, - // Blocks - // - Comment Blocks - {`(?i)^( *#\+begin_comment *\n)([\w\W]*?)(^ *#\+end_comment *$)`, ByGroups(Comment, Comment, Comment), nil}, - // - Src Blocks - {`(?i)^( *#\+begin_src )([^ \n]+)(.*?\n)([\w\W]*?)(^ *#\+end_src *$)`, - UsingByGroup( - internal.Get, - 2, 4, - Comment, CommentSpecial, Comment, Text, Comment, - ), - nil, - }, - // - Export Blocks - {`(?i)^( *#\+begin_export )(\w+)( *\n)([\w\W]*?)(^ *#\+end_export *$)`, - UsingByGroup( - internal.Get, - 2, 4, - Comment, CommentSpecial, Text, Text, Comment, - ), - nil, - }, - // - Org Special, Example, Verse, etc. Blocks - {`(?i)^( *#\+begin_)(\w+)( *\n)([\w\W]*?)(^ *#\+end_\2)( *$)`, ByGroups(Comment, Comment, Text, Text, Comment, Text), nil}, - // Keywords - {`^(#\+\w+)(:.*)$`, ByGroups(CommentSpecial, Comment), nil}, // Other Org keywords like #+title - // Properties and Drawers - {`(?i)^( *:\w+: *\n)([\w\W]*?)(^ *:end: *$)`, ByGroups(Comment, CommentSpecial, Comment), nil}, - // Line break operator - {`^(.*)(\\\\)$`, ByGroups(UsingSelf("inline"), Operator), nil}, - // Deadline/Scheduled - {`(?i)^( *(?:DEADLINE|SCHEDULED): )(<[^<>]+?> *)$`, ByGroups(Comment, CommentSpecial), nil}, // DEADLINE/SCHEDULED: - // DONE state CLOSED - {`(?i)^( *CLOSED: )(\[[^][]+?\] *)$`, ByGroups(Comment, CommentSpecial), nil}, // CLOSED: [datestamp] - // All other lines - Include("inline"), - }, - "inline": { - {`(\s)*(\*[^ \n*][^*]+?[^ \n*]\*)((?=\W|\n|$))`, ByGroups(Text, GenericStrong, Text), nil}, // Bold - {`(\s)*(/[^/]+?/)((?=\W|\n|$))`, ByGroups(Text, GenericEmph, Text), nil}, // Italic - {`(\s)*(=[^\n=]+?=)((?=\W|\n|$))`, ByGroups(Text, NameClass, Text), nil}, // Verbatim - {`(\s)*(~[^\n~]+?~)((?=\W|\n|$))`, ByGroups(Text, NameClass, Text), nil}, // Code - {`(\s)*(\+[^+]+?\+)((?=\W|\n|$))`, ByGroups(Text, GenericDeleted, Text), nil}, // Strikethrough - {`(\s)*(_[^_]+?_)((?=\W|\n|$))`, ByGroups(Text, GenericUnderline, Text), nil}, // Underline - {`(<)([^<>]+?)(>)`, ByGroups(Text, String, Text), nil}, // - {`[{]{3}[^}]+[}]{3}`, NameBuiltin, nil}, // {{{macro(foo,1)}}} - {`([^[])(\[fn:)([^]]+?)(\])([^]])`, ByGroups(Text, NameBuiltinPseudo, LiteralString, NameBuiltinPseudo, Text), nil}, // [fn:1] - // Links - {`(\[\[)([^][]+?)(\]\[)([^][]+)(\]\])`, ByGroups(Text, NameAttribute, Text, NameTag, Text), nil}, // [[link][descr]] - {`(\[\[)([^][]+?)(\]\])`, ByGroups(Text, NameAttribute, Text), nil}, // [[link]] - {`(<<)([^<>]+?)(>>)`, ByGroups(Text, NameAttribute, Text), nil}, // <> - // Tables - {`^( *)(\|[ -].*?[ -]\|)$`, ByGroups(Text, String), nil}, - // Blank lines, newlines - {`\n`, Text, nil}, - // Any other text - {`.`, Text, nil}, - }, - }, -)) diff --git a/vendor/github.com/alecthomas/chroma/lexers/p/pacman.go b/vendor/github.com/alecthomas/chroma/lexers/p/pacman.go deleted file mode 100644 index 807b67c5..00000000 --- a/vendor/github.com/alecthomas/chroma/lexers/p/pacman.go +++ /dev/null @@ -1,26 +0,0 @@ -package p - -import ( - . "github.com/alecthomas/chroma" // nolint - "github.com/alecthomas/chroma/lexers/internal" -) - -// Pacmanconf lexer. -var Pacmanconf = internal.Register(MustNewLexer( - &Config{ - Name: "PacmanConf", - Aliases: []string{"pacmanconf"}, - Filenames: []string{"pacman.conf"}, - MimeTypes: []string{}, - }, - Rules{ - "root": { - {`#.*$`, CommentSingle, nil}, - {`^\s*\[.*?\]\s*$`, Keyword, nil}, - {`(\w+)(\s*)(=)`, ByGroups(NameAttribute, Text, Operator), nil}, - {`^(\s*)(\w+)(\s*)$`, ByGroups(Text, NameAttribute, Text), nil}, - {Words(``, `\b`, `$repo`, `$arch`, `%o`, `%u`), NameVariable, nil}, - {`.`, Text, nil}, - }, - }, -)) diff --git a/vendor/github.com/alecthomas/chroma/lexers/p/perl.go b/vendor/github.com/alecthomas/chroma/lexers/p/perl.go deleted file mode 100644 index 0a2b35b9..00000000 --- a/vendor/github.com/alecthomas/chroma/lexers/p/perl.go +++ /dev/null @@ -1,138 +0,0 @@ -package p - -import ( - . "github.com/alecthomas/chroma" // nolint - "github.com/alecthomas/chroma/lexers/internal" -) - -// Perl lexer. -var Perl = internal.Register(MustNewLexer( - &Config{ - Name: "Perl", - Aliases: []string{"perl", "pl"}, - Filenames: []string{"*.pl", "*.pm", "*.t"}, - MimeTypes: []string{"text/x-perl", "application/x-perl"}, - DotAll: true, - }, - Rules{ - "balanced-regex": { - {`/(\\\\|\\[^\\]|[^\\/])*/[egimosx]*`, LiteralStringRegex, Pop(1)}, - {`!(\\\\|\\[^\\]|[^\\!])*![egimosx]*`, LiteralStringRegex, Pop(1)}, - {`\\(\\\\|[^\\])*\\[egimosx]*`, LiteralStringRegex, Pop(1)}, - {`\{(\\\\|\\[^\\]|[^\\}])*\}[egimosx]*`, LiteralStringRegex, Pop(1)}, - {`<(\\\\|\\[^\\]|[^\\>])*>[egimosx]*`, LiteralStringRegex, Pop(1)}, - {`\[(\\\\|\\[^\\]|[^\\\]])*\][egimosx]*`, LiteralStringRegex, Pop(1)}, - {`\((\\\\|\\[^\\]|[^\\)])*\)[egimosx]*`, LiteralStringRegex, Pop(1)}, - {`@(\\\\|\\[^\\]|[^\\@])*@[egimosx]*`, LiteralStringRegex, Pop(1)}, - {`%(\\\\|\\[^\\]|[^\\%])*%[egimosx]*`, LiteralStringRegex, Pop(1)}, - {`\$(\\\\|\\[^\\]|[^\\$])*\$[egimosx]*`, LiteralStringRegex, Pop(1)}, - }, - "root": { - {`\A\#!.+?$`, CommentHashbang, nil}, - {`\#.*?$`, CommentSingle, nil}, - {`^=[a-zA-Z0-9]+\s+.*?\n=cut`, CommentMultiline, nil}, - {Words(``, `\b`, `case`, `continue`, `do`, `else`, `elsif`, `for`, `foreach`, `if`, `last`, `my`, `next`, `our`, `redo`, `reset`, `then`, `unless`, `until`, `while`, `print`, `new`, `BEGIN`, `CHECK`, `INIT`, `END`, `return`), Keyword, nil}, - {`(format)(\s+)(\w+)(\s*)(=)(\s*\n)`, ByGroups(Keyword, Text, Name, Text, Punctuation, Text), Push("format")}, - {`(eq|lt|gt|le|ge|ne|not|and|or|cmp)\b`, OperatorWord, nil}, - {`s/(\\\\|\\[^\\]|[^\\/])*/(\\\\|\\[^\\]|[^\\/])*/[egimosx]*`, LiteralStringRegex, nil}, - {`s!(\\\\|\\!|[^!])*!(\\\\|\\!|[^!])*![egimosx]*`, LiteralStringRegex, nil}, - {`s\\(\\\\|[^\\])*\\(\\\\|[^\\])*\\[egimosx]*`, LiteralStringRegex, nil}, - {`s@(\\\\|\\[^\\]|[^\\@])*@(\\\\|\\[^\\]|[^\\@])*@[egimosx]*`, LiteralStringRegex, nil}, - {`s%(\\\\|\\[^\\]|[^\\%])*%(\\\\|\\[^\\]|[^\\%])*%[egimosx]*`, LiteralStringRegex, nil}, - {`s\{(\\\\|\\[^\\]|[^\\}])*\}\s*`, LiteralStringRegex, Push("balanced-regex")}, - {`s<(\\\\|\\[^\\]|[^\\>])*>\s*`, LiteralStringRegex, Push("balanced-regex")}, - {`s\[(\\\\|\\[^\\]|[^\\\]])*\]\s*`, LiteralStringRegex, Push("balanced-regex")}, - {`s\((\\\\|\\[^\\]|[^\\)])*\)\s*`, LiteralStringRegex, Push("balanced-regex")}, - {`m?/(\\\\|\\[^\\]|[^\\/\n])*/[gcimosx]*`, LiteralStringRegex, nil}, - {`m(?=[/!\\{<\[(@%$])`, LiteralStringRegex, Push("balanced-regex")}, - {`((?<==~)|(?<=\())\s*/(\\\\|\\[^\\]|[^\\/])*/[gcimosx]*`, LiteralStringRegex, nil}, - {`\s+`, Text, nil}, - {Words(``, `\b`, `abs`, `accept`, `alarm`, `atan2`, `bind`, `binmode`, `bless`, `caller`, `chdir`, `chmod`, `chomp`, `chop`, `chown`, `chr`, `chroot`, `close`, `closedir`, `connect`, `continue`, `cos`, `crypt`, `dbmclose`, `dbmopen`, `defined`, `delete`, `die`, `dump`, `each`, `endgrent`, `endhostent`, `endnetent`, `endprotoent`, `endpwent`, `endservent`, `eof`, `eval`, `exec`, `exists`, `exit`, `exp`, `fcntl`, `fileno`, `flock`, `fork`, `format`, `formline`, `getc`, `getgrent`, `getgrgid`, `getgrnam`, `gethostbyaddr`, `gethostbyname`, `gethostent`, `getlogin`, `getnetbyaddr`, `getnetbyname`, `getnetent`, `getpeername`, `getpgrp`, `getppid`, `getpriority`, `getprotobyname`, `getprotobynumber`, `getprotoent`, `getpwent`, `getpwnam`, `getpwuid`, `getservbyname`, `getservbyport`, `getservent`, `getsockname`, `getsockopt`, `glob`, `gmtime`, `goto`, `grep`, `hex`, `import`, `index`, `int`, `ioctl`, `join`, `keys`, `kill`, `last`, `lc`, `lcfirst`, `length`, `link`, `listen`, `local`, `localtime`, `log`, `lstat`, `map`, `mkdir`, `msgctl`, `msgget`, `msgrcv`, `msgsnd`, `my`, `next`, `oct`, `open`, `opendir`, `ord`, `our`, `pack`, `pipe`, `pop`, `pos`, `printf`, `prototype`, `push`, `quotemeta`, `rand`, `read`, `readdir`, `readline`, `readlink`, `readpipe`, `recv`, `redo`, `ref`, `rename`, `reverse`, `rewinddir`, `rindex`, `rmdir`, `scalar`, `seek`, `seekdir`, `select`, `semctl`, `semget`, `semop`, `send`, `setgrent`, `sethostent`, `setnetent`, `setpgrp`, `setpriority`, `setprotoent`, `setpwent`, `setservent`, `setsockopt`, `shift`, `shmctl`, `shmget`, `shmread`, `shmwrite`, `shutdown`, `sin`, `sleep`, `socket`, `socketpair`, `sort`, `splice`, `split`, `sprintf`, `sqrt`, `srand`, `stat`, `study`, `substr`, `symlink`, `syscall`, `sysopen`, `sysread`, `sysseek`, `system`, `syswrite`, `tell`, `telldir`, `tie`, `tied`, `time`, `times`, `tr`, `truncate`, `uc`, `ucfirst`, `umask`, `undef`, `unlink`, `unpack`, `unshift`, `untie`, `utime`, `values`, `vec`, `wait`, `waitpid`, `wantarray`, `warn`, `write`), NameBuiltin, nil}, - {`((__(DATA|DIE|WARN)__)|(STD(IN|OUT|ERR)))\b`, NameBuiltinPseudo, nil}, - {`(<<)([\'"]?)([a-zA-Z_]\w*)(\2;?\n.*?\n)(\3)(\n)`, ByGroups(LiteralString, LiteralString, LiteralStringDelimiter, LiteralString, LiteralStringDelimiter, Text), nil}, - {`__END__`, CommentPreproc, Push("end-part")}, - {`\$\^[ADEFHILMOPSTWX]`, NameVariableGlobal, nil}, - {"\\$[\\\\\\\"\\[\\]'&`+*.,;=%~?@$!<>(^|/-](?!\\w)", NameVariableGlobal, nil}, - {`[$@%#]+`, NameVariable, Push("varname")}, - {`0_?[0-7]+(_[0-7]+)*`, LiteralNumberOct, nil}, - {`0x[0-9A-Fa-f]+(_[0-9A-Fa-f]+)*`, LiteralNumberHex, nil}, - {`0b[01]+(_[01]+)*`, LiteralNumberBin, nil}, - {`(?i)(\d*(_\d*)*\.\d+(_\d*)*|\d+(_\d*)*\.\d+(_\d*)*)(e[+-]?\d+)?`, LiteralNumberFloat, nil}, - {`(?i)\d+(_\d*)*e[+-]?\d+(_\d*)*`, LiteralNumberFloat, nil}, - {`\d+(_\d+)*`, LiteralNumberInteger, nil}, - {`'(\\\\|\\[^\\]|[^'\\])*'`, LiteralString, nil}, - {`"(\\\\|\\[^\\]|[^"\\])*"`, LiteralString, nil}, - {"`(\\\\\\\\|\\\\[^\\\\]|[^`\\\\])*`", LiteralStringBacktick, nil}, - {`<([^\s>]+)>`, LiteralStringRegex, nil}, - {`(q|qq|qw|qr|qx)\{`, LiteralStringOther, Push("cb-string")}, - {`(q|qq|qw|qr|qx)\(`, LiteralStringOther, Push("rb-string")}, - {`(q|qq|qw|qr|qx)\[`, LiteralStringOther, Push("sb-string")}, - {`(q|qq|qw|qr|qx)\<`, LiteralStringOther, Push("lt-string")}, - {`(q|qq|qw|qr|qx)([\W_])(.|\n)*?\2`, LiteralStringOther, nil}, - {`(package)(\s+)([a-zA-Z_]\w*(?:::[a-zA-Z_]\w*)*)`, ByGroups(Keyword, Text, NameNamespace), nil}, - {`(use|require|no)(\s+)([a-zA-Z_]\w*(?:::[a-zA-Z_]\w*)*)`, ByGroups(Keyword, Text, NameNamespace), nil}, - {`(sub)(\s+)`, ByGroups(Keyword, Text), Push("funcname")}, - {Words(``, `\b`, `no`, `package`, `require`, `use`), Keyword, nil}, - {`(\[\]|\*\*|::|<<|>>|>=|<=>|<=|={3}|!=|=~|!~|&&?|\|\||\.{1,3})`, Operator, nil}, - {`[-+/*%=<>&^|!\\~]=?`, Operator, nil}, - {`[()\[\]:;,<>/?{}]`, Punctuation, nil}, - {`(?=\w)`, Name, Push("name")}, - }, - "format": { - {`\.\n`, LiteralStringInterpol, Pop(1)}, - {`[^\n]*\n`, LiteralStringInterpol, nil}, - }, - "varname": { - {`\s+`, Text, nil}, - {`\{`, Punctuation, Pop(1)}, - {`\)|,`, Punctuation, Pop(1)}, - {`\w+::`, NameNamespace, nil}, - {`[\w:]+`, NameVariable, Pop(1)}, - }, - "name": { - {`[a-zA-Z_]\w*(::[a-zA-Z_]\w*)*(::)?(?=\s*->)`, NameNamespace, Pop(1)}, - {`[a-zA-Z_]\w*(::[a-zA-Z_]\w*)*::`, NameNamespace, Pop(1)}, - {`[\w:]+`, Name, Pop(1)}, - {`[A-Z_]+(?=\W)`, NameConstant, Pop(1)}, - {`(?=\W)`, Text, Pop(1)}, - }, - "funcname": { - {`[a-zA-Z_]\w*[!?]?`, NameFunction, nil}, - {`\s+`, Text, nil}, - {`(\([$@%]*\))(\s*)`, ByGroups(Punctuation, Text), nil}, - {`;`, Punctuation, Pop(1)}, - {`.*?\{`, Punctuation, Pop(1)}, - }, - "cb-string": { - {`\\[{}\\]`, LiteralStringOther, nil}, - {`\\`, LiteralStringOther, nil}, - {`\{`, LiteralStringOther, Push("cb-string")}, - {`\}`, LiteralStringOther, Pop(1)}, - {`[^{}\\]+`, LiteralStringOther, nil}, - }, - "rb-string": { - {`\\[()\\]`, LiteralStringOther, nil}, - {`\\`, LiteralStringOther, nil}, - {`\(`, LiteralStringOther, Push("rb-string")}, - {`\)`, LiteralStringOther, Pop(1)}, - {`[^()]+`, LiteralStringOther, nil}, - }, - "sb-string": { - {`\\[\[\]\\]`, LiteralStringOther, nil}, - {`\\`, LiteralStringOther, nil}, - {`\[`, LiteralStringOther, Push("sb-string")}, - {`\]`, LiteralStringOther, Pop(1)}, - {`[^\[\]]+`, LiteralStringOther, nil}, - }, - "lt-string": { - {`\\[<>\\]`, LiteralStringOther, nil}, - {`\\`, LiteralStringOther, nil}, - {`\<`, LiteralStringOther, Push("lt-string")}, - {`\>`, LiteralStringOther, Pop(1)}, - {`[^<>]+`, LiteralStringOther, nil}, - }, - "end-part": { - {`.+`, CommentPreproc, Pop(1)}, - }, - }, -)) diff --git a/vendor/github.com/alecthomas/chroma/lexers/p/pig.go b/vendor/github.com/alecthomas/chroma/lexers/p/pig.go deleted file mode 100644 index 0dbc591a..00000000 --- a/vendor/github.com/alecthomas/chroma/lexers/p/pig.go +++ /dev/null @@ -1,57 +0,0 @@ -package p - -import ( - . "github.com/alecthomas/chroma" // nolint - "github.com/alecthomas/chroma/lexers/internal" -) - -// Pig lexer. -var Pig = internal.Register(MustNewLexer( - &Config{ - Name: "Pig", - Aliases: []string{"pig"}, - Filenames: []string{"*.pig"}, - MimeTypes: []string{"text/x-pig"}, - CaseInsensitive: true, - }, - Rules{ - "root": { - {`\s+`, Text, nil}, - {`--.*`, Comment, nil}, - {`/\*[\w\W]*?\*/`, CommentMultiline, nil}, - {`\\\n`, Text, nil}, - {`\\`, Text, nil}, - {`\'(?:\\[ntbrf\\\']|\\u[0-9a-f]{4}|[^\'\\\n\r])*\'`, LiteralString, nil}, - Include("keywords"), - Include("types"), - Include("builtins"), - Include("punct"), - Include("operators"), - {`[0-9]*\.[0-9]+(e[0-9]+)?[fd]?`, LiteralNumberFloat, nil}, - {`0x[0-9a-f]+`, LiteralNumberHex, nil}, - {`[0-9]+L?`, LiteralNumberInteger, nil}, - {`\n`, Text, nil}, - {`([a-z_]\w*)(\s*)(\()`, ByGroups(NameFunction, Text, Punctuation), nil}, - {`[()#:]`, Text, nil}, - {`[^(:#\'")\s]+`, Text, nil}, - {`\S+\s+`, Text, nil}, - }, - "keywords": { - {`(assert|and|any|all|arrange|as|asc|bag|by|cache|CASE|cat|cd|cp|%declare|%default|define|dense|desc|describe|distinct|du|dump|eval|exex|explain|filter|flatten|foreach|full|generate|group|help|if|illustrate|import|inner|input|into|is|join|kill|left|limit|load|ls|map|matches|mkdir|mv|not|null|onschema|or|order|outer|output|parallel|pig|pwd|quit|register|returns|right|rm|rmf|rollup|run|sample|set|ship|split|stderr|stdin|stdout|store|stream|through|union|using|void)\b`, Keyword, nil}, - }, - "builtins": { - {`(AVG|BinStorage|cogroup|CONCAT|copyFromLocal|copyToLocal|COUNT|cross|DIFF|MAX|MIN|PigDump|PigStorage|SIZE|SUM|TextLoader|TOKENIZE)\b`, NameBuiltin, nil}, - }, - "types": { - {`(bytearray|BIGINTEGER|BIGDECIMAL|chararray|datetime|double|float|int|long|tuple)\b`, KeywordType, nil}, - }, - "punct": { - {`[;(){}\[\]]`, Punctuation, nil}, - }, - "operators": { - {`[#=,./%+\-?]`, Operator, nil}, - {`(eq|gt|lt|gte|lte|neq|matches)\b`, Operator, nil}, - {`(==|<=|<|>=|>|!=)`, Operator, nil}, - }, - }, -)) diff --git a/vendor/github.com/alecthomas/chroma/lexers/p/pkgconfig.go b/vendor/github.com/alecthomas/chroma/lexers/p/pkgconfig.go deleted file mode 100644 index 0a4872e7..00000000 --- a/vendor/github.com/alecthomas/chroma/lexers/p/pkgconfig.go +++ /dev/null @@ -1,41 +0,0 @@ -package p - -import ( - . "github.com/alecthomas/chroma" // nolint - "github.com/alecthomas/chroma/lexers/internal" -) - -// Pkgconfig lexer. -var Pkgconfig = internal.Register(MustNewLexer( - &Config{ - Name: "PkgConfig", - Aliases: []string{"pkgconfig"}, - Filenames: []string{"*.pc"}, - MimeTypes: []string{}, - }, - Rules{ - "root": { - {`#.*$`, CommentSingle, nil}, - {`^(\w+)(=)`, ByGroups(NameAttribute, Operator), nil}, - {`^([\w.]+)(:)`, ByGroups(NameTag, Punctuation), Push("spvalue")}, - Include("interp"), - {`[^${}#=:\n.]+`, Text, nil}, - {`.`, Text, nil}, - }, - "interp": { - {`\$\$`, Text, nil}, - {`\$\{`, LiteralStringInterpol, Push("curly")}, - }, - "curly": { - {`\}`, LiteralStringInterpol, Pop(1)}, - {`\w+`, NameAttribute, nil}, - }, - "spvalue": { - Include("interp"), - {`#.*$`, CommentSingle, Pop(1)}, - {`\n`, Text, Pop(1)}, - {`[^${}#\n]+`, Text, nil}, - {`.`, Text, nil}, - }, - }, -)) diff --git a/vendor/github.com/alecthomas/chroma/lexers/p/plaintext.go b/vendor/github.com/alecthomas/chroma/lexers/p/plaintext.go deleted file mode 100644 index 50b8f35d..00000000 --- a/vendor/github.com/alecthomas/chroma/lexers/p/plaintext.go +++ /dev/null @@ -1,16 +0,0 @@ -package p - -import ( - . "github.com/alecthomas/chroma" // nolint - "github.com/alecthomas/chroma/lexers/internal" -) - -var Plaintext = internal.Register(MustNewLexer( - &Config{ - Name: "plaintext", - Aliases: []string{"text", "plain", "no-highlight"}, - Filenames: []string{"*.txt"}, - MimeTypes: []string{"text/plain"}, - }, - internal.PlaintextRules, -)) diff --git a/vendor/github.com/alecthomas/chroma/lexers/p/plsql.go b/vendor/github.com/alecthomas/chroma/lexers/p/plsql.go deleted file mode 100644 index a6068fd2..00000000 --- a/vendor/github.com/alecthomas/chroma/lexers/p/plsql.go +++ /dev/null @@ -1,58 +0,0 @@ -package p - -import ( - . "github.com/alecthomas/chroma" // nolint - "github.com/alecthomas/chroma/lexers/internal" -) - -// Pl/Pgsql lexer. -var PLpgSQL = internal.Register(MustNewLexer( - &Config{ - Name: "PL/pgSQL", - Aliases: []string{"plpgsql"}, - Filenames: []string{}, - MimeTypes: []string{"text/x-plpgsql"}, - NotMultiline: true, - CaseInsensitive: true, - }, - Rules{ - "root": { - {`\%[a-z]\w*\b`, NameBuiltin, nil}, - {`:=`, Operator, nil}, - {`\<\<[a-z]\w*\>\>`, NameLabel, nil}, - {`\#[a-z]\w*\b`, KeywordPseudo, nil}, - {`\s+`, Text, nil}, - {`--.*\n?`, CommentSingle, nil}, - {`/\*`, CommentMultiline, Push("multiline-comments")}, - {`(bigint|bigserial|bit|bit\s+varying|bool|boolean|box|bytea|char|character|character\s+varying|cidr|circle|date|decimal|double\s+precision|float4|float8|inet|int|int2|int4|int8|integer|interval|json|jsonb|line|lseg|macaddr|money|numeric|path|pg_lsn|point|polygon|real|serial|serial2|serial4|serial8|smallint|smallserial|text|time|timestamp|timestamptz|timetz|tsquery|tsvector|txid_snapshot|uuid|varbit|varchar|with\s+time\s+zone|without\s+time\s+zone|xml|anyarray|anyelement|anyenum|anynonarray|anyrange|cstring|fdw_handler|internal|language_handler|opaque|record|void)\b`, NameBuiltin, nil}, - {Words(``, `\b`, `ABORT`, `ABSOLUTE`, `ACCESS`, `ACTION`, `ADD`, `ADMIN`, `AFTER`, `AGGREGATE`, `ALL`, `ALSO`, `ALTER`, `ALWAYS`, `ANALYSE`, `ANALYZE`, `AND`, `ANY`, `ARRAY`, `AS`, `ASC`, `ASSERTION`, `ASSIGNMENT`, `ASYMMETRIC`, `AT`, `ATTRIBUTE`, `AUTHORIZATION`, `BACKWARD`, `BEFORE`, `BEGIN`, `BETWEEN`, `BIGINT`, `BINARY`, `BIT`, `BOOLEAN`, `BOTH`, `BY`, `CACHE`, `CALLED`, `CASCADE`, `CASCADED`, `CASE`, `CAST`, `CATALOG`, `CHAIN`, `CHAR`, `CHARACTER`, `CHARACTERISTICS`, `CHECK`, `CHECKPOINT`, `CLASS`, `CLOSE`, `CLUSTER`, `COALESCE`, `COLLATE`, `COLLATION`, `COLUMN`, `COMMENT`, `COMMENTS`, `COMMIT`, `COMMITTED`, `CONCURRENTLY`, `CONFIGURATION`, `CONNECTION`, `CONSTRAINT`, `CONSTRAINTS`, `CONTENT`, `CONTINUE`, `CONVERSION`, `COPY`, `COST`, `CREATE`, `CROSS`, `CSV`, `CURRENT`, `CURRENT_CATALOG`, `CURRENT_DATE`, `CURRENT_ROLE`, `CURRENT_SCHEMA`, `CURRENT_TIME`, `CURRENT_TIMESTAMP`, `CURRENT_USER`, `CURSOR`, `CYCLE`, `DATA`, `DATABASE`, `DAY`, `DEALLOCATE`, `DEC`, `DECIMAL`, `DECLARE`, `DEFAULT`, `DEFAULTS`, `DEFERRABLE`, `DEFERRED`, `DEFINER`, `DELETE`, `DELIMITER`, `DELIMITERS`, `DESC`, `DICTIONARY`, `DISABLE`, `DISCARD`, `DISTINCT`, `DO`, `DOCUMENT`, `DOMAIN`, `DOUBLE`, `DROP`, `EACH`, `ELSE`, `ENABLE`, `ENCODING`, `ENCRYPTED`, `END`, `ENUM`, `ESCAPE`, `EVENT`, `EXCEPT`, `EXCLUDE`, `EXCLUDING`, `EXCLUSIVE`, `EXECUTE`, `EXISTS`, `EXPLAIN`, `EXTENSION`, `EXTERNAL`, `EXTRACT`, `FALSE`, `FAMILY`, `FETCH`, `FILTER`, `FIRST`, `FLOAT`, `FOLLOWING`, `FOR`, `FORCE`, `FOREIGN`, `FORWARD`, `FREEZE`, `FROM`, `FULL`, `FUNCTION`, `FUNCTIONS`, `GLOBAL`, `GRANT`, `GRANTED`, `GREATEST`, `GROUP`, `HANDLER`, `HAVING`, `HEADER`, `HOLD`, `HOUR`, `IDENTITY`, `IF`, `ILIKE`, `IMMEDIATE`, `IMMUTABLE`, `IMPLICIT`, `IN`, `INCLUDING`, `INCREMENT`, `INDEX`, `INDEXES`, `INHERIT`, `INHERITS`, `INITIALLY`, `INLINE`, `INNER`, `INOUT`, `INPUT`, `INSENSITIVE`, `INSERT`, `INSTEAD`, `INT`, `INTEGER`, `INTERSECT`, `INTERVAL`, `INTO`, `INVOKER`, `IS`, `ISNULL`, `ISOLATION`, `JOIN`, `KEY`, `LABEL`, `LANGUAGE`, `LARGE`, `LAST`, `LATERAL`, `LC_COLLATE`, `LC_CTYPE`, `LEADING`, `LEAKPROOF`, `LEAST`, `LEFT`, `LEVEL`, `LIKE`, `LIMIT`, `LISTEN`, `LOAD`, `LOCAL`, `LOCALTIME`, `LOCALTIMESTAMP`, `LOCATION`, `LOCK`, `MAPPING`, `MATCH`, `MATERIALIZED`, `MAXVALUE`, `MINUTE`, `MINVALUE`, `MODE`, `MONTH`, `MOVE`, `NAME`, `NAMES`, `NATIONAL`, `NATURAL`, `NCHAR`, `NEXT`, `NO`, `NONE`, `NOT`, `NOTHING`, `NOTIFY`, `NOTNULL`, `NOWAIT`, `NULL`, `NULLIF`, `NULLS`, `NUMERIC`, `OBJECT`, `OF`, `OFF`, `OFFSET`, `OIDS`, `ON`, `ONLY`, `OPERATOR`, `OPTION`, `OPTIONS`, `OR`, `ORDER`, `ORDINALITY`, `OUT`, `OUTER`, `OVER`, `OVERLAPS`, `OVERLAY`, `OWNED`, `OWNER`, `PARSER`, `PARTIAL`, `PARTITION`, `PASSING`, `PASSWORD`, `PLACING`, `PLANS`, `POLICY`, `POSITION`, `PRECEDING`, `PRECISION`, `PREPARE`, `PREPARED`, `PRESERVE`, `PRIMARY`, `PRIOR`, `PRIVILEGES`, `PROCEDURAL`, `PROCEDURE`, `PROGRAM`, `QUOTE`, `RANGE`, `READ`, `REAL`, `REASSIGN`, `RECHECK`, `RECURSIVE`, `REF`, `REFERENCES`, `REFRESH`, `REINDEX`, `RELATIVE`, `RELEASE`, `RENAME`, `REPEATABLE`, `REPLACE`, `REPLICA`, `RESET`, `RESTART`, `RESTRICT`, `RETURNING`, `RETURNS`, `REVOKE`, `RIGHT`, `ROLE`, `ROLLBACK`, `ROW`, `ROWS`, `RULE`, `SAVEPOINT`, `SCHEMA`, `SCROLL`, `SEARCH`, `SECOND`, `SECURITY`, `SELECT`, `SEQUENCE`, `SEQUENCES`, `SERIALIZABLE`, `SERVER`, `SESSION`, `SESSION_USER`, `SET`, `SETOF`, `SHARE`, `SHOW`, `SIMILAR`, `SIMPLE`, `SMALLINT`, `SNAPSHOT`, `SOME`, `STABLE`, `STANDALONE`, `START`, `STATEMENT`, `STATISTICS`, `STDIN`, `STDOUT`, `STORAGE`, `STRICT`, `STRIP`, `SUBSTRING`, `SYMMETRIC`, `SYSID`, `SYSTEM`, `TABLE`, `TABLES`, `TABLESPACE`, `TEMP`, `TEMPLATE`, `TEMPORARY`, `TEXT`, `THEN`, `TIME`, `TIMESTAMP`, `TO`, `TRAILING`, `TRANSACTION`, `TREAT`, `TRIGGER`, `TRIM`, `TRUE`, `TRUNCATE`, `TRUSTED`, `TYPE`, `TYPES`, `UNBOUNDED`, `UNCOMMITTED`, `UNENCRYPTED`, `UNION`, `UNIQUE`, `UNKNOWN`, `UNLISTEN`, `UNLOGGED`, `UNTIL`, `UPDATE`, `USER`, `USING`, `VACUUM`, `VALID`, `VALIDATE`, `VALIDATOR`, `VALUE`, `VALUES`, `VARCHAR`, `VARIADIC`, `VARYING`, `VERBOSE`, `VERSION`, `VIEW`, `VIEWS`, `VOLATILE`, `WHEN`, `WHERE`, `WHITESPACE`, `WINDOW`, `WITH`, `WITHIN`, `WITHOUT`, `WORK`, `WRAPPER`, `WRITE`, `XML`, `XMLATTRIBUTES`, `XMLCONCAT`, `XMLELEMENT`, `XMLEXISTS`, `XMLFOREST`, `XMLPARSE`, `XMLPI`, `XMLROOT`, `XMLSERIALIZE`, `YEAR`, `YES`, `ZONE`, `ALIAS`, `CONSTANT`, `DIAGNOSTICS`, `ELSIF`, `EXCEPTION`, `EXIT`, `FOREACH`, `GET`, `LOOP`, `NOTICE`, `OPEN`, `PERFORM`, `QUERY`, `RAISE`, `RETURN`, `REVERSE`, `SQLSTATE`, `WHILE`), Keyword, nil}, - {"[+*/<>=~!@#%^&|`?-]+", Operator, nil}, - {`::`, Operator, nil}, - {`\$\d+`, NameVariable, nil}, - {`([0-9]*\.[0-9]*|[0-9]+)(e[+-]?[0-9]+)?`, LiteralNumberFloat, nil}, - {`[0-9]+`, LiteralNumberInteger, nil}, - {`((?:E|U&)?)(')`, ByGroups(LiteralStringAffix, LiteralStringSingle), Push("string")}, - {`((?:U&)?)(")`, ByGroups(LiteralStringAffix, LiteralStringName), Push("quoted-ident")}, - // { `(?s)(\$)([^$]*)(\$)(.*?)(\$)(\2)(\$)`, ?? ??, nil }, - {`[a-z_]\w*`, Name, nil}, - {`:(['"]?)[a-z]\w*\b\1`, NameVariable, nil}, - {`[;:()\[\]{},.]`, Punctuation, nil}, - }, - "multiline-comments": { - {`/\*`, CommentMultiline, Push("multiline-comments")}, - {`\*/`, CommentMultiline, Pop(1)}, - {`[^/*]+`, CommentMultiline, nil}, - {`[/*]`, CommentMultiline, nil}, - }, - "string": { - {`[^']+`, LiteralStringSingle, nil}, - {`''`, LiteralStringSingle, nil}, - {`'`, LiteralStringSingle, Pop(1)}, - }, - "quoted-ident": { - {`[^"]+`, LiteralStringName, nil}, - {`""`, LiteralStringName, nil}, - {`"`, LiteralStringName, Pop(1)}, - }, - }, -)) diff --git a/vendor/github.com/alecthomas/chroma/lexers/p/postgres.go b/vendor/github.com/alecthomas/chroma/lexers/p/postgres.go deleted file mode 100644 index 3afa54de..00000000 --- a/vendor/github.com/alecthomas/chroma/lexers/p/postgres.go +++ /dev/null @@ -1,77 +0,0 @@ -package p - -import ( - . "github.com/alecthomas/chroma" // nolint - "github.com/alecthomas/chroma/lexers/internal" -) - -// Postgresql Sql Dialect lexer. -var PostgreSQL = internal.Register(MustNewLexer( - &Config{ - Name: "PostgreSQL SQL dialect", - Aliases: []string{"postgresql", "postgres"}, - Filenames: []string{}, - MimeTypes: []string{"text/x-postgresql"}, - NotMultiline: true, - CaseInsensitive: true, - }, - Rules{ - "root": { - {`\s+`, Text, nil}, - {`--.*\n?`, CommentSingle, nil}, - {`/\*`, CommentMultiline, Push("multiline-comments")}, - {`(bigint|bigserial|bit|bit\s+varying|bool|boolean|box|bytea|char|character|character\s+varying|cidr|circle|date|decimal|double\s+precision|float4|float8|inet|int|int2|int4|int8|integer|interval|json|jsonb|line|lseg|macaddr|money|numeric|path|pg_lsn|point|polygon|real|serial|serial2|serial4|serial8|smallint|smallserial|text|time|timestamp|timestamptz|timetz|tsquery|tsvector|txid_snapshot|uuid|varbit|varchar|with\s+time\s+zone|without\s+time\s+zone|xml|anyarray|anyelement|anyenum|anynonarray|anyrange|cstring|fdw_handler|internal|language_handler|opaque|record|void)\b`, NameBuiltin, nil}, - {`(?s)(DO)(\s+)(?:(LANGUAGE)?(\s+)('?)(\w+)?('?)(\s+))?(\$)([^$]*)(\$)(.*?)(\$)(\10)(\$)`, - UsingByGroup( - internal.Get, - 6, 12, - Keyword, Text, Keyword, Text, // DO LANGUAGE - StringSingle, StringSingle, StringSingle, Text, // 'plpgsql' - StringHeredoc, StringHeredoc, StringHeredoc, // $tag$ - StringHeredoc, // (code block) - StringHeredoc, StringHeredoc, StringHeredoc, // $tag$ - ), - nil, - }, - {Words(``, `\b`, `ABORT`, `ABSOLUTE`, `ACCESS`, `ACTION`, `ADD`, `ADMIN`, `AFTER`, `AGGREGATE`, `ALL`, `ALSO`, `ALTER`, `ALWAYS`, `ANALYSE`, `ANALYZE`, `AND`, `ANY`, `ARRAY`, `AS`, `ASC`, `ASSERTION`, `ASSIGNMENT`, `ASYMMETRIC`, `AT`, `ATTRIBUTE`, `AUTHORIZATION`, `BACKWARD`, `BEFORE`, `BEGIN`, `BETWEEN`, `BIGINT`, `BINARY`, `BIT`, `BOOLEAN`, `BOTH`, `BY`, `CACHE`, `CALLED`, `CASCADE`, `CASCADED`, `CASE`, `CAST`, `CATALOG`, `CHAIN`, `CHAR`, `CHARACTER`, `CHARACTERISTICS`, `CHECK`, `CHECKPOINT`, `CLASS`, `CLOSE`, `CLUSTER`, `COALESCE`, `COLLATE`, `COLLATION`, `COLUMN`, `COMMENT`, `COMMENTS`, `COMMIT`, `COMMITTED`, `CONCURRENTLY`, `CONFIGURATION`, `CONNECTION`, `CONSTRAINT`, `CONSTRAINTS`, `CONTENT`, `CONTINUE`, `CONVERSION`, `COPY`, `COST`, `CREATE`, `CROSS`, `CSV`, `CURRENT`, `CURRENT_CATALOG`, `CURRENT_DATE`, `CURRENT_ROLE`, `CURRENT_SCHEMA`, `CURRENT_TIME`, `CURRENT_TIMESTAMP`, `CURRENT_USER`, `CURSOR`, `CYCLE`, `DATA`, `DATABASE`, `DAY`, `DEALLOCATE`, `DEC`, `DECIMAL`, `DECLARE`, `DEFAULT`, `DEFAULTS`, `DEFERRABLE`, `DEFERRED`, `DEFINER`, `DELETE`, `DELIMITER`, `DELIMITERS`, `DESC`, `DICTIONARY`, `DISABLE`, `DISCARD`, `DISTINCT`, `DO`, `DOCUMENT`, `DOMAIN`, `DOUBLE`, `DROP`, `EACH`, `ELSE`, `ENABLE`, `ENCODING`, `ENCRYPTED`, `END`, `ENUM`, `ESCAPE`, `EVENT`, `EXCEPT`, `EXCLUDE`, `EXCLUDING`, `EXCLUSIVE`, `EXECUTE`, `EXISTS`, `EXPLAIN`, `EXTENSION`, `EXTERNAL`, `EXTRACT`, `FALSE`, `FAMILY`, `FETCH`, `FILTER`, `FIRST`, `FLOAT`, `FOLLOWING`, `FOR`, `FORCE`, `FOREIGN`, `FORWARD`, `FREEZE`, `FROM`, `FULL`, `FUNCTION`, `FUNCTIONS`, `GLOBAL`, `GRANT`, `GRANTED`, `GREATEST`, `GROUP`, `HANDLER`, `HAVING`, `HEADER`, `HOLD`, `HOUR`, `IDENTITY`, `IF`, `ILIKE`, `IMMEDIATE`, `IMMUTABLE`, `IMPLICIT`, `IN`, `INCLUDING`, `INCREMENT`, `INDEX`, `INDEXES`, `INHERIT`, `INHERITS`, `INITIALLY`, `INLINE`, `INNER`, `INOUT`, `INPUT`, `INSENSITIVE`, `INSERT`, `INSTEAD`, `INT`, `INTEGER`, `INTERSECT`, `INTERVAL`, `INTO`, `INVOKER`, `IS`, `ISNULL`, `ISOLATION`, `JOIN`, `KEY`, `LABEL`, `LANGUAGE`, `LARGE`, `LAST`, `LATERAL`, `LC_COLLATE`, `LC_CTYPE`, `LEADING`, `LEAKPROOF`, `LEAST`, `LEFT`, `LEVEL`, `LIKE`, `LIMIT`, `LISTEN`, `LOAD`, `LOCAL`, `LOCALTIME`, `LOCALTIMESTAMP`, `LOCATION`, `LOCK`, `MAPPING`, `MATCH`, `MATERIALIZED`, `MAXVALUE`, `MINUTE`, `MINVALUE`, `MODE`, `MONTH`, `MOVE`, `NAME`, `NAMES`, `NATIONAL`, `NATURAL`, `NCHAR`, `NEXT`, `NO`, `NONE`, `NOT`, `NOTHING`, `NOTIFY`, `NOTNULL`, `NOWAIT`, `NULL`, `NULLIF`, `NULLS`, `NUMERIC`, `OBJECT`, `OF`, `OFF`, `OFFSET`, `OIDS`, `ON`, `ONLY`, `OPERATOR`, `OPTION`, `OPTIONS`, `OR`, `ORDER`, `ORDINALITY`, `OUT`, `OUTER`, `OVER`, `OVERLAPS`, `OVERLAY`, `OWNED`, `OWNER`, `PARSER`, `PARTIAL`, `PARTITION`, `PASSING`, `PASSWORD`, `PLACING`, `PLANS`, `POLICY`, `POSITION`, `PRECEDING`, `PRECISION`, `PREPARE`, `PREPARED`, `PRESERVE`, `PRIMARY`, `PRIOR`, `PRIVILEGES`, `PROCEDURAL`, `PROCEDURE`, `PROGRAM`, `QUOTE`, `RANGE`, `READ`, `REAL`, `REASSIGN`, `RECHECK`, `RECURSIVE`, `REF`, `REFERENCES`, `REFRESH`, `REINDEX`, `RELATIVE`, `RELEASE`, `RENAME`, `REPEATABLE`, `REPLACE`, `REPLICA`, `RESET`, `RESTART`, `RESTRICT`, `RETURNING`, `RETURNS`, `REVOKE`, `RIGHT`, `ROLE`, `ROLLBACK`, `ROW`, `ROWS`, `RULE`, `SAVEPOINT`, `SCHEMA`, `SCROLL`, `SEARCH`, `SECOND`, `SECURITY`, `SELECT`, `SEQUENCE`, `SEQUENCES`, `SERIALIZABLE`, `SERVER`, `SESSION`, `SESSION_USER`, `SET`, `SETOF`, `SHARE`, `SHOW`, `SIMILAR`, `SIMPLE`, `SMALLINT`, `SNAPSHOT`, `SOME`, `STABLE`, `STANDALONE`, `START`, `STATEMENT`, `STATISTICS`, `STDIN`, `STDOUT`, `STORAGE`, `STRICT`, `STRIP`, `SUBSTRING`, `SYMMETRIC`, `SYSID`, `SYSTEM`, `TABLE`, `TABLES`, `TABLESPACE`, `TEMP`, `TEMPLATE`, `TEMPORARY`, `TEXT`, `THEN`, `TIME`, `TIMESTAMP`, `TO`, `TRAILING`, `TRANSACTION`, `TREAT`, `TRIGGER`, `TRIM`, `TRUE`, `TRUNCATE`, `TRUSTED`, `TYPE`, `TYPES`, `UNBOUNDED`, `UNCOMMITTED`, `UNENCRYPTED`, `UNION`, `UNIQUE`, `UNKNOWN`, `UNLISTEN`, `UNLOGGED`, `UNTIL`, `UPDATE`, `USER`, `USING`, `VACUUM`, `VALID`, `VALIDATE`, `VALIDATOR`, `VALUE`, `VALUES`, `VARCHAR`, `VARIADIC`, `VARYING`, `VERBOSE`, `VERSION`, `VIEW`, `VIEWS`, `VOLATILE`, `WHEN`, `WHERE`, `WHITESPACE`, `WINDOW`, `WITH`, `WITHIN`, `WITHOUT`, `WORK`, `WRAPPER`, `WRITE`, `XML`, `XMLATTRIBUTES`, `XMLCONCAT`, `XMLELEMENT`, `XMLEXISTS`, `XMLFOREST`, `XMLPARSE`, `XMLPI`, `XMLROOT`, `XMLSERIALIZE`, `YEAR`, `YES`, `ZONE`), Keyword, nil}, - {"[+*/<>=~!@#%^&|`?-]+", Operator, nil}, - {`::`, Operator, nil}, - {`\$\d+`, NameVariable, nil}, - {`([0-9]*\.[0-9]*|[0-9]+)(e[+-]?[0-9]+)?`, LiteralNumberFloat, nil}, - {`[0-9]+`, LiteralNumberInteger, nil}, - {`((?:E|U&)?)(')`, ByGroups(LiteralStringAffix, LiteralStringSingle), Push("string")}, - {`((?:U&)?)(")`, ByGroups(LiteralStringAffix, LiteralStringName), Push("quoted-ident")}, - {`(?s)(\$)([^$]*)(\$)(.*?)(\$)(\2)(\$)(\s+)(LANGUAGE)?(\s+)('?)(\w+)?('?)`, - UsingByGroup(internal.Get, - 12, 4, - StringHeredoc, StringHeredoc, StringHeredoc, // $tag$ - StringHeredoc, // (code block) - StringHeredoc, StringHeredoc, StringHeredoc, // $tag$ - Text, Keyword, Text, // LANGUAGE - StringSingle, StringSingle, StringSingle, // 'type' - ), - nil, - }, - {`(?s)(\$)([^$]*)(\$)(.*?)(\$)(\2)(\$)`, LiteralStringHeredoc, nil}, - {`[a-z_]\w*`, Name, nil}, - {`:(['"]?)[a-z]\w*\b\1`, NameVariable, nil}, - {`[;:()\[\]{},.]`, Punctuation, nil}, - }, - "multiline-comments": { - {`/\*`, CommentMultiline, Push("multiline-comments")}, - {`\*/`, CommentMultiline, Pop(1)}, - {`[^/*]+`, CommentMultiline, nil}, - {`[/*]`, CommentMultiline, nil}, - }, - "string": { - {`[^']+`, LiteralStringSingle, nil}, - {`''`, LiteralStringSingle, nil}, - {`'`, LiteralStringSingle, Pop(1)}, - }, - "quoted-ident": { - {`[^"]+`, LiteralStringName, nil}, - {`""`, LiteralStringName, nil}, - {`"`, LiteralStringName, Pop(1)}, - }, - }, -)) diff --git a/vendor/github.com/alecthomas/chroma/lexers/p/postscript.go b/vendor/github.com/alecthomas/chroma/lexers/p/postscript.go deleted file mode 100644 index 0cfa3a5f..00000000 --- a/vendor/github.com/alecthomas/chroma/lexers/p/postscript.go +++ /dev/null @@ -1,46 +0,0 @@ -package p - -import ( - . "github.com/alecthomas/chroma" // nolint - "github.com/alecthomas/chroma/lexers/internal" -) - -// Postscript lexer. -var Postscript = internal.Register(MustNewLexer( - &Config{ - Name: "PostScript", - Aliases: []string{"postscript", "postscr"}, - Filenames: []string{"*.ps", "*.eps"}, - MimeTypes: []string{"application/postscript"}, - }, - Rules{ - "root": { - {`^%!.+\n`, CommentPreproc, nil}, - {`%%.*\n`, CommentSpecial, nil}, - {`(^%.*\n){2,}`, CommentMultiline, nil}, - {`%.*\n`, CommentSingle, nil}, - {`\(`, LiteralString, Push("stringliteral")}, - {`[{}<>\[\]]`, Punctuation, nil}, - {`<[0-9A-Fa-f]+>(?=[()<>\[\]{}/%\s])`, LiteralNumberHex, nil}, - {`[0-9]+\#(\-|\+)?([0-9]+\.?|[0-9]*\.[0-9]+|[0-9]+\.[0-9]*)((e|E)[0-9]+)?(?=[()<>\[\]{}/%\s])`, LiteralNumberOct, nil}, - {`(\-|\+)?([0-9]+\.?|[0-9]*\.[0-9]+|[0-9]+\.[0-9]*)((e|E)[0-9]+)?(?=[()<>\[\]{}/%\s])`, LiteralNumberFloat, nil}, - {`(\-|\+)?[0-9]+(?=[()<>\[\]{}/%\s])`, LiteralNumberInteger, nil}, - {`\/[^()<>\[\]{}/%\s]+(?=[()<>\[\]{}/%\s])`, NameVariable, nil}, - {`[^()<>\[\]{}/%\s]+(?=[()<>\[\]{}/%\s])`, NameFunction, nil}, - {`(false|true)(?=[()<>\[\]{}/%\s])`, KeywordConstant, nil}, - {`(eq|ne|g[et]|l[et]|and|or|not|if(?:else)?|for(?:all)?)(?=[()<>\[\]{}/%\s])`, KeywordReserved, nil}, - {Words(``, `(?=[()<>\[\]{}/%\s])`, `abs`, `add`, `aload`, `arc`, `arcn`, `array`, `atan`, `begin`, `bind`, `ceiling`, `charpath`, `clip`, `closepath`, `concat`, `concatmatrix`, `copy`, `cos`, `currentlinewidth`, `currentmatrix`, `currentpoint`, `curveto`, `cvi`, `cvs`, `def`, `defaultmatrix`, `dict`, `dictstackoverflow`, `div`, `dtransform`, `dup`, `end`, `exch`, `exec`, `exit`, `exp`, `fill`, `findfont`, `floor`, `get`, `getinterval`, `grestore`, `gsave`, `gt`, `identmatrix`, `idiv`, `idtransform`, `index`, `invertmatrix`, `itransform`, `length`, `lineto`, `ln`, `load`, `log`, `loop`, `matrix`, `mod`, `moveto`, `mul`, `neg`, `newpath`, `pathforall`, `pathbbox`, `pop`, `print`, `pstack`, `put`, `quit`, `rand`, `rangecheck`, `rcurveto`, `repeat`, `restore`, `rlineto`, `rmoveto`, `roll`, `rotate`, `round`, `run`, `save`, `scale`, `scalefont`, `setdash`, `setfont`, `setgray`, `setlinecap`, `setlinejoin`, `setlinewidth`, `setmatrix`, `setrgbcolor`, `shfill`, `show`, `showpage`, `sin`, `sqrt`, `stack`, `stringwidth`, `stroke`, `strokepath`, `sub`, `syntaxerror`, `transform`, `translate`, `truncate`, `typecheck`, `undefined`, `undefinedfilename`, `undefinedresult`), NameBuiltin, nil}, - {`\s+`, Text, nil}, - }, - "stringliteral": { - {`[^()\\]+`, LiteralString, nil}, - {`\\`, LiteralStringEscape, Push("escape")}, - {`\(`, LiteralString, Push()}, - {`\)`, LiteralString, Pop(1)}, - }, - "escape": { - {`[0-8]{3}|n|r|t|b|f|\\|\(|\)`, LiteralStringEscape, Pop(1)}, - Default(Pop(1)), - }, - }, -)) diff --git a/vendor/github.com/alecthomas/chroma/lexers/p/povray.go b/vendor/github.com/alecthomas/chroma/lexers/p/povray.go deleted file mode 100644 index 6f1bb524..00000000 --- a/vendor/github.com/alecthomas/chroma/lexers/p/povray.go +++ /dev/null @@ -1,35 +0,0 @@ -package p - -import ( - . "github.com/alecthomas/chroma" // nolint - "github.com/alecthomas/chroma/lexers/internal" -) - -// Povray lexer. -var Povray = internal.Register(MustNewLexer( - &Config{ - Name: "POVRay", - Aliases: []string{"pov"}, - Filenames: []string{"*.pov", "*.inc"}, - MimeTypes: []string{"text/x-povray"}, - }, - Rules{ - "root": { - {`/\*[\w\W]*?\*/`, CommentMultiline, nil}, - {`//.*\n`, CommentSingle, nil}, - {`(?s)"(?:\\.|[^"\\])+"`, LiteralStringDouble, nil}, - {Words(`#`, `\b`, `break`, `case`, `debug`, `declare`, `default`, `define`, `else`, `elseif`, `end`, `error`, `fclose`, `fopen`, `for`, `if`, `ifdef`, `ifndef`, `include`, `local`, `macro`, `range`, `read`, `render`, `statistics`, `switch`, `undef`, `version`, `warning`, `while`, `write`), CommentPreproc, nil}, - {Words(`\b`, `\b`, `aa_level`, `aa_threshold`, `abs`, `acos`, `acosh`, `adaptive`, `adc_bailout`, `agate`, `agate_turb`, `all`, `alpha`, `ambient`, `ambient_light`, `angle`, `aperture`, `arc_angle`, `area_light`, `asc`, `asin`, `asinh`, `assumed_gamma`, `atan`, `atan2`, `atanh`, `atmosphere`, `atmospheric_attenuation`, `attenuating`, `average`, `background`, `black_hole`, `blue`, `blur_samples`, `bounded_by`, `box_mapping`, `bozo`, `break`, `brick`, `brick_size`, `brightness`, `brilliance`, `bumps`, `bumpy1`, `bumpy2`, `bumpy3`, `bump_map`, `bump_size`, `case`, `caustics`, `ceil`, `checker`, `chr`, `clipped_by`, `clock`, `color`, `color_map`, `colour`, `colour_map`, `component`, `composite`, `concat`, `confidence`, `conic_sweep`, `constant`, `control0`, `control1`, `cos`, `cosh`, `count`, `crackle`, `crand`, `cube`, `cubic_spline`, `cylindrical_mapping`, `debug`, `declare`, `default`, `degrees`, `dents`, `diffuse`, `direction`, `distance`, `distance_maximum`, `div`, `dust`, `dust_type`, `eccentricity`, `else`, `emitting`, `end`, `error`, `error_bound`, `exp`, `exponent`, `fade_distance`, `fade_power`, `falloff`, `falloff_angle`, `false`, `file_exists`, `filter`, `finish`, `fisheye`, `flatness`, `flip`, `floor`, `focal_point`, `fog`, `fog_alt`, `fog_offset`, `fog_type`, `frequency`, `gif`, `global_settings`, `glowing`, `gradient`, `granite`, `gray_threshold`, `green`, `halo`, `hexagon`, `hf_gray_16`, `hierarchy`, `hollow`, `hypercomplex`, `if`, `ifdef`, `iff`, `image_map`, `incidence`, `include`, `int`, `interpolate`, `inverse`, `ior`, `irid`, `irid_wavelength`, `jitter`, `lambda`, `leopard`, `linear`, `linear_spline`, `linear_sweep`, `location`, `log`, `looks_like`, `look_at`, `low_error_factor`, `mandel`, `map_type`, `marble`, `material_map`, `matrix`, `max`, `max_intersections`, `max_iteration`, `max_trace_level`, `max_value`, `metallic`, `min`, `minimum_reuse`, `mod`, `mortar`, `nearest_count`, `no`, `normal`, `normal_map`, `no_shadow`, `number_of_waves`, `octaves`, `off`, `offset`, `omega`, `omnimax`, `on`, `once`, `onion`, `open`, `orthographic`, `panoramic`, `pattern1`, `pattern2`, `pattern3`, `perspective`, `pgm`, `phase`, `phong`, `phong_size`, `pi`, `pigment`, `pigment_map`, `planar_mapping`, `png`, `point_at`, `pot`, `pow`, `ppm`, `precision`, `pwr`, `quadratic_spline`, `quaternion`, `quick_color`, `quick_colour`, `quilted`, `radial`, `radians`, `radiosity`, `radius`, `rainbow`, `ramp_wave`, `rand`, `range`, `reciprocal`, `recursion_limit`, `red`, `reflection`, `refraction`, `render`, `repeat`, `rgb`, `rgbf`, `rgbft`, `rgbt`, `right`, `ripples`, `rotate`, `roughness`, `samples`, `scale`, `scallop_wave`, `scattering`, `seed`, `shadowless`, `sin`, `sine_wave`, `sinh`, `sky`, `sky_sphere`, `slice`, `slope_map`, `smooth`, `specular`, `spherical_mapping`, `spiral`, `spiral1`, `spiral2`, `spotlight`, `spotted`, `sqr`, `sqrt`, `statistics`, `str`, `strcmp`, `strength`, `strlen`, `strlwr`, `strupr`, `sturm`, `substr`, `switch`, `sys`, `t`, `tan`, `tanh`, `test_camera_1`, `test_camera_2`, `test_camera_3`, `test_camera_4`, `texture`, `texture_map`, `tga`, `thickness`, `threshold`, `tightness`, `tile2`, `tiles`, `track`, `transform`, `translate`, `transmit`, `triangle_wave`, `true`, `ttf`, `turbulence`, `turb_depth`, `type`, `ultra_wide_angle`, `up`, `use_color`, `use_colour`, `use_index`, `u_steps`, `val`, `variance`, `vaxis_rotate`, `vcross`, `vdot`, `version`, `vlength`, `vnormalize`, `volume_object`, `volume_rendered`, `vol_with_light`, `vrotate`, `v_steps`, `warning`, `warp`, `water_level`, `waves`, `while`, `width`, `wood`, `wrinkles`, `yes`), Keyword, nil}, - {Words(``, `\b`, `bicubic_patch`, `blob`, `box`, `camera`, `cone`, `cubic`, `cylinder`, `difference`, `disc`, `height_field`, `intersection`, `julia_fractal`, `lathe`, `light_source`, `merge`, `mesh`, `object`, `plane`, `poly`, `polygon`, `prism`, `quadric`, `quartic`, `smooth_triangle`, `sor`, `sphere`, `superellipsoid`, `text`, `torus`, `triangle`, `union`), NameBuiltin, nil}, - {`[\[\](){}<>;,]`, Punctuation, nil}, - {`[-+*/=]`, Operator, nil}, - {`\b(x|y|z|u|v)\b`, NameBuiltinPseudo, nil}, - {`[a-zA-Z_]\w*`, Name, nil}, - {`[0-9]+\.[0-9]*`, LiteralNumberFloat, nil}, - {`\.[0-9]+`, LiteralNumberFloat, nil}, - {`[0-9]+`, LiteralNumberInteger, nil}, - {`"(\\\\|\\"|[^"])*"`, LiteralString, nil}, - {`\s+`, Text, nil}, - }, - }, -)) diff --git a/vendor/github.com/alecthomas/chroma/lexers/p/powershell.go b/vendor/github.com/alecthomas/chroma/lexers/p/powershell.go deleted file mode 100644 index cee366e8..00000000 --- a/vendor/github.com/alecthomas/chroma/lexers/p/powershell.go +++ /dev/null @@ -1,64 +0,0 @@ -package p - -import ( - . "github.com/alecthomas/chroma" // nolint - "github.com/alecthomas/chroma/lexers/internal" -) - -// Powershell lexer. -var Powershell = internal.Register(MustNewLexer( - &Config{ - Name: "PowerShell", - Aliases: []string{"powershell", "posh", "ps1", "psm1"}, - Filenames: []string{"*.ps1", "*.psm1"}, - MimeTypes: []string{"text/x-powershell"}, - DotAll: true, - CaseInsensitive: true, - }, - Rules{ - "root": { - {`\(`, Punctuation, Push("child")}, - {`\s+`, Text, nil}, - {`^(\s*#[#\s]*)(\.(?:component|description|example|externalhelp|forwardhelpcategory|forwardhelptargetname|functionality|inputs|link|notes|outputs|parameter|remotehelprunspace|role|synopsis))([^\n]*$)`, ByGroups(Comment, LiteralStringDoc, Comment), nil}, - {`#[^\n]*?$`, Comment, nil}, - {`(<|<)#`, CommentMultiline, Push("multline")}, - {`@"\n`, LiteralStringHeredoc, Push("heredoc-double")}, - {`@'\n.*?\n'@`, LiteralStringHeredoc, nil}, - {"`[\\'\"$@-]", Punctuation, nil}, - {`"`, LiteralStringDouble, Push("string")}, - {`'([^']|'')*'`, LiteralStringSingle, nil}, - {`(\$|@@|@)((global|script|private|env):)?\w+`, NameVariable, nil}, - {`(while|validateset|validaterange|validatepattern|validatelength|validatecount|until|trap|switch|return|ref|process|param|parameter|in|if|global:|function|foreach|for|finally|filter|end|elseif|else|dynamicparam|do|default|continue|cmdletbinding|break|begin|alias|\?|%|#script|#private|#local|#global|mandatory|parametersetname|position|valuefrompipeline|valuefrompipelinebypropertyname|valuefromremainingarguments|helpmessage|try|catch|throw)\b`, Keyword, nil}, - {`-(and|as|band|bnot|bor|bxor|casesensitive|ccontains|ceq|cge|cgt|cle|clike|clt|cmatch|cne|cnotcontains|cnotlike|cnotmatch|contains|creplace|eq|exact|f|file|ge|gt|icontains|ieq|ige|igt|ile|ilike|ilt|imatch|ine|inotcontains|inotlike|inotmatch|ireplace|is|isnot|le|like|lt|match|ne|not|notcontains|notlike|notmatch|or|regex|replace|wildcard)\b`, Operator, nil}, - {`(write|where|wait|use|update|unregister|undo|trace|test|tee|take|suspend|stop|start|split|sort|skip|show|set|send|select|scroll|resume|restore|restart|resolve|resize|reset|rename|remove|register|receive|read|push|pop|ping|out|new|move|measure|limit|join|invoke|import|group|get|format|foreach|export|expand|exit|enter|enable|disconnect|disable|debug|cxnew|copy|convertto|convertfrom|convert|connect|complete|compare|clear|checkpoint|aggregate|add)-[a-z_]\w*\b`, NameBuiltin, nil}, - {"\\[[a-z_\\[][\\w. `,\\[\\]]*\\]", NameConstant, nil}, - {`-[a-z_]\w*`, Name, nil}, - {`\w+`, Name, nil}, - {"[.,;@{}\\[\\]$()=+*/\\\\&%!~?^`|<>-]|::", Punctuation, nil}, - }, - "child": { - {`\)`, Punctuation, Pop(1)}, - Include("root"), - }, - "multline": { - {`[^#&.]+`, CommentMultiline, nil}, - {`#(>|>)`, CommentMultiline, Pop(1)}, - {`\.(component|description|example|externalhelp|forwardhelpcategory|forwardhelptargetname|functionality|inputs|link|notes|outputs|parameter|remotehelprunspace|role|synopsis)`, LiteralStringDoc, nil}, - {`[#&.]`, CommentMultiline, nil}, - }, - "string": { - {"`[0abfnrtv'\\\"$`]", LiteralStringEscape, nil}, - {"[^$`\"]+", LiteralStringDouble, nil}, - {`\$\(`, Punctuation, Push("child")}, - {`""`, LiteralStringDouble, nil}, - {"[`$]", LiteralStringDouble, nil}, - {`"`, LiteralStringDouble, Pop(1)}, - }, - "heredoc-double": { - {`\n"@`, LiteralStringHeredoc, Pop(1)}, - {`\$\(`, Punctuation, Push("child")}, - {`[^@\n]+"]`, LiteralStringHeredoc, nil}, - {`.`, LiteralStringHeredoc, nil}, - }, - }, -)) diff --git a/vendor/github.com/alecthomas/chroma/lexers/p/prolog.go b/vendor/github.com/alecthomas/chroma/lexers/p/prolog.go deleted file mode 100644 index b5d91606..00000000 --- a/vendor/github.com/alecthomas/chroma/lexers/p/prolog.go +++ /dev/null @@ -1,51 +0,0 @@ -package p - -import ( - . "github.com/alecthomas/chroma" // nolint - "github.com/alecthomas/chroma/lexers/internal" -) - -// Prolog lexer. -var Prolog = internal.Register(MustNewLexer( - &Config{ - Name: "Prolog", - Aliases: []string{"prolog"}, - Filenames: []string{"*.ecl", "*.prolog", "*.pro", "*.pl"}, - MimeTypes: []string{"text/x-prolog"}, - }, - Rules{ - "root": { - {`^#.*`, CommentSingle, nil}, - {`/\*`, CommentMultiline, Push("nested-comment")}, - {`%.*`, CommentSingle, nil}, - {`0\'.`, LiteralStringChar, nil}, - {`0b[01]+`, LiteralNumberBin, nil}, - {`0o[0-7]+`, LiteralNumberOct, nil}, - {`0x[0-9a-fA-F]+`, LiteralNumberHex, nil}, - {`\d\d?\'[a-zA-Z0-9]+`, LiteralNumberInteger, nil}, - {`(\d+\.\d*|\d*\.\d+)([eE][+-]?[0-9]+)?`, LiteralNumberFloat, nil}, - {`\d+`, LiteralNumberInteger, nil}, - {`[\[\](){}|.,;!]`, Punctuation, nil}, - {`:-|-->`, Punctuation, nil}, - {`"(?:\\x[0-9a-fA-F]+\\|\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}|\\[0-7]+\\|\\["\nabcefnrstv]|[^\\"])*"`, LiteralStringDouble, nil}, - {`'(?:''|[^'])*'`, LiteralStringAtom, nil}, - {`is\b`, Operator, nil}, - {`(<|>|=<|>=|==|=:=|=|/|//|\*|\+|-)(?=\s|[a-zA-Z0-9\[])`, Operator, nil}, - {`(mod|div|not)\b`, Operator, nil}, - {`_`, Keyword, nil}, - {`([a-z]+)(:)`, ByGroups(NameNamespace, Punctuation), nil}, - {`([a-zÀ-῿぀-퟿-￯][\w$À-῿぀-퟿-￯]*)(\s*)(:-|-->)`, ByGroups(NameFunction, Text, Operator), nil}, - {`([a-zÀ-῿぀-퟿-￯][\w$À-῿぀-퟿-￯]*)(\s*)(\()`, ByGroups(NameFunction, Text, Punctuation), nil}, - {`[a-zÀ-῿぀-퟿-￯][\w$À-῿぀-퟿-￯]*`, LiteralStringAtom, nil}, - {`[#&*+\-./:<=>?@\\^~¡-¿‐-〿]+`, LiteralStringAtom, nil}, - {`[A-Z_]\w*`, NameVariable, nil}, - {`\s+|[ -‏￰-￾￯]`, Text, nil}, - }, - "nested-comment": { - {`\*/`, CommentMultiline, Pop(1)}, - {`/\*`, CommentMultiline, Push()}, - {`[^*/]+`, CommentMultiline, nil}, - {`[*/]`, CommentMultiline, nil}, - }, - }, -)) diff --git a/vendor/github.com/alecthomas/chroma/lexers/p/protobuf.go b/vendor/github.com/alecthomas/chroma/lexers/p/protobuf.go deleted file mode 100644 index 30140131..00000000 --- a/vendor/github.com/alecthomas/chroma/lexers/p/protobuf.go +++ /dev/null @@ -1,53 +0,0 @@ -package p - -import ( - . "github.com/alecthomas/chroma" // nolint - "github.com/alecthomas/chroma/lexers/internal" -) - -// ProtocolBuffer lexer. -var ProtocolBuffer = internal.Register(MustNewLexer( - &Config{ - Name: "Protocol Buffer", - Aliases: []string{"protobuf", "proto"}, - Filenames: []string{"*.proto"}, - MimeTypes: []string{}, - }, - Rules{ - "root": { - {`[ \t]+`, Text, nil}, - {`[,;{}\[\]()<>]`, Punctuation, nil}, - {`/(\\\n)?/(\n|(.|\n)*?[^\\]\n)`, CommentSingle, nil}, - {`/(\\\n)?\*(.|\n)*?\*(\\\n)?/`, CommentMultiline, nil}, - {Words(`\b`, `\b`, `import`, `option`, `optional`, `required`, `repeated`, `default`, `packed`, `ctype`, `extensions`, `to`, `max`, `rpc`, `returns`, `oneof`), Keyword, nil}, - {Words(``, `\b`, `int32`, `int64`, `uint32`, `uint64`, `sint32`, `sint64`, `fixed32`, `fixed64`, `sfixed32`, `sfixed64`, `float`, `double`, `bool`, `string`, `bytes`), KeywordType, nil}, - {`(true|false)\b`, KeywordConstant, nil}, - {`(package)(\s+)`, ByGroups(KeywordNamespace, Text), Push("package")}, - {`(message|extend)(\s+)`, ByGroups(KeywordDeclaration, Text), Push("message")}, - {`(enum|group|service)(\s+)`, ByGroups(KeywordDeclaration, Text), Push("type")}, - {`\".*?\"`, LiteralString, nil}, - {`\'.*?\'`, LiteralString, nil}, - {`(\d+\.\d*|\.\d+|\d+)[eE][+-]?\d+[LlUu]*`, LiteralNumberFloat, nil}, - {`(\d+\.\d*|\.\d+|\d+[fF])[fF]?`, LiteralNumberFloat, nil}, - {`(\-?(inf|nan))\b`, LiteralNumberFloat, nil}, - {`0x[0-9a-fA-F]+[LlUu]*`, LiteralNumberHex, nil}, - {`0[0-7]+[LlUu]*`, LiteralNumberOct, nil}, - {`\d+[LlUu]*`, LiteralNumberInteger, nil}, - {`[+-=]`, Operator, nil}, - {`([a-zA-Z_][\w.]*)([ \t]*)(=)`, ByGroups(Name, Text, Operator), nil}, - {`[a-zA-Z_][\w.]*`, Name, nil}, - }, - "package": { - {`[a-zA-Z_]\w*`, NameNamespace, Pop(1)}, - Default(Pop(1)), - }, - "message": { - {`[a-zA-Z_]\w*`, NameClass, Pop(1)}, - Default(Pop(1)), - }, - "type": { - {`[a-zA-Z_]\w*`, Name, Pop(1)}, - Default(Pop(1)), - }, - }, -)) diff --git a/vendor/github.com/alecthomas/chroma/lexers/p/puppet.go b/vendor/github.com/alecthomas/chroma/lexers/p/puppet.go deleted file mode 100644 index a1db0d27..00000000 --- a/vendor/github.com/alecthomas/chroma/lexers/p/puppet.go +++ /dev/null @@ -1,56 +0,0 @@ -package p - -import ( - . "github.com/alecthomas/chroma" // nolint - "github.com/alecthomas/chroma/lexers/internal" -) - -// Puppet lexer. -var Puppet = internal.Register(MustNewLexer( - &Config{ - Name: "Puppet", - Aliases: []string{"puppet"}, - Filenames: []string{"*.pp"}, - MimeTypes: []string{}, - }, - Rules{ - "root": { - Include("comments"), - Include("keywords"), - Include("names"), - Include("numbers"), - Include("operators"), - Include("strings"), - {`[]{}:(),;[]`, Punctuation, nil}, - {`[^\S\n]+`, Text, nil}, - }, - "comments": { - {`\s*#.*$`, Comment, nil}, - {`/(\\\n)?[*](.|\n)*?[*](\\\n)?/`, CommentMultiline, nil}, - }, - "operators": { - {`(=>|\?|<|>|=|\+|-|/|\*|~|!|\|)`, Operator, nil}, - {`(in|and|or|not)\b`, OperatorWord, nil}, - }, - "names": { - {`[a-zA-Z_]\w*`, NameAttribute, nil}, - {`(\$\S+)(\[)(\S+)(\])`, ByGroups(NameVariable, Punctuation, LiteralString, Punctuation), nil}, - {`\$\S+`, NameVariable, nil}, - }, - "numbers": { - {`(\d+\.\d*|\d*\.\d+)([eE][+-]?[0-9]+)?j?`, LiteralNumberFloat, nil}, - {`\d+[eE][+-]?[0-9]+j?`, LiteralNumberFloat, nil}, - {`0[0-7]+j?`, LiteralNumberOct, nil}, - {`0[xX][a-fA-F0-9]+`, LiteralNumberHex, nil}, - {`\d+L`, LiteralNumberIntegerLong, nil}, - {`\d+j?`, LiteralNumberInteger, nil}, - }, - "keywords": { - {Words(`(?i)`, `\b`, `absent`, `alert`, `alias`, `audit`, `augeas`, `before`, `case`, `check`, `class`, `computer`, `configured`, `contained`, `create_resources`, `crit`, `cron`, `debug`, `default`, `define`, `defined`, `directory`, `else`, `elsif`, `emerg`, `err`, `exec`, `extlookup`, `fail`, `false`, `file`, `filebucket`, `fqdn_rand`, `generate`, `host`, `if`, `import`, `include`, `info`, `inherits`, `inline_template`, `installed`, `interface`, `k5login`, `latest`, `link`, `loglevel`, `macauthorization`, `mailalias`, `maillist`, `mcx`, `md5`, `mount`, `mounted`, `nagios_command`, `nagios_contact`, `nagios_contactgroup`, `nagios_host`, `nagios_hostdependency`, `nagios_hostescalation`, `nagios_hostextinfo`, `nagios_hostgroup`, `nagios_service`, `nagios_servicedependency`, `nagios_serviceescalation`, `nagios_serviceextinfo`, `nagios_servicegroup`, `nagios_timeperiod`, `node`, `noop`, `notice`, `notify`, `package`, `present`, `purged`, `realize`, `regsubst`, `resources`, `role`, `router`, `running`, `schedule`, `scheduled_task`, `search`, `selboolean`, `selmodule`, `service`, `sha1`, `shellquote`, `split`, `sprintf`, `ssh_authorized_key`, `sshkey`, `stage`, `stopped`, `subscribe`, `tag`, `tagged`, `template`, `tidy`, `true`, `undef`, `unmounted`, `user`, `versioncmp`, `vlan`, `warning`, `yumrepo`, `zfs`, `zone`, `zpool`), Keyword, nil}, - }, - "strings": { - {`"([^"])*"`, LiteralString, nil}, - {`'(\\'|[^'])*'`, LiteralString, nil}, - }, - }, -)) diff --git a/vendor/github.com/alecthomas/chroma/lexers/p/python.go b/vendor/github.com/alecthomas/chroma/lexers/p/python.go deleted file mode 100644 index 77f2c8db..00000000 --- a/vendor/github.com/alecthomas/chroma/lexers/p/python.go +++ /dev/null @@ -1,137 +0,0 @@ -package p - -import ( - . "github.com/alecthomas/chroma" // nolint - "github.com/alecthomas/chroma/lexers/internal" -) - -// Python lexer. -var Python = internal.Register(MustNewLexer( - &Config{ - Name: "Python", - Aliases: []string{"python", "py", "sage"}, - Filenames: []string{"*.py", "*.pyw", "*.sc", "SConstruct", "SConscript", "*.tac", "*.sage"}, - MimeTypes: []string{"text/x-python", "application/x-python"}, - }, - Rules{ - "root": { - {`\n`, Text, nil}, - {`^(\s*)([rRuUbB]{,2})("""(?:.|\n)*?""")`, ByGroups(Text, LiteralStringAffix, LiteralStringDoc), nil}, - {`^(\s*)([rRuUbB]{,2})('''(?:.|\n)*?''')`, ByGroups(Text, LiteralStringAffix, LiteralStringDoc), nil}, - {`[^\S\n]+`, Text, nil}, - {`\A#!.+$`, CommentHashbang, nil}, - {`#.*$`, CommentSingle, nil}, - {`[]{}:(),;[]`, Punctuation, nil}, - {`\\\n`, Text, nil}, - {`\\`, Text, nil}, - {`(in|is|and|or|not)\b`, OperatorWord, nil}, - {`!=|==|<<|>>|[-~+/*%=<>&^|.]`, Operator, nil}, - Include("keywords"), - {`(def)((?:\s|\\\s)+)`, ByGroups(Keyword, Text), Push("funcname")}, - {`(class)((?:\s|\\\s)+)`, ByGroups(Keyword, Text), Push("classname")}, - {`(from)((?:\s|\\\s)+)`, ByGroups(KeywordNamespace, Text), Push("fromimport")}, - {`(import)((?:\s|\\\s)+)`, ByGroups(KeywordNamespace, Text), Push("import")}, - Include("builtins"), - Include("magicfuncs"), - Include("magicvars"), - Include("backtick"), - {`([rR]|[uUbB][rR]|[rR][uUbB])(""")`, ByGroups(LiteralStringAffix, LiteralStringDouble), Push("tdqs")}, - {`([rR]|[uUbB][rR]|[rR][uUbB])(''')`, ByGroups(LiteralStringAffix, LiteralStringSingle), Push("tsqs")}, - {`([rR]|[uUbB][rR]|[rR][uUbB])(")`, ByGroups(LiteralStringAffix, LiteralStringDouble), Push("dqs")}, - {`([rR]|[uUbB][rR]|[rR][uUbB])(')`, ByGroups(LiteralStringAffix, LiteralStringSingle), Push("sqs")}, - {`([uUbB]?)(""")`, ByGroups(LiteralStringAffix, LiteralStringDouble), Combined("stringescape", "tdqs")}, - {`([uUbB]?)(''')`, ByGroups(LiteralStringAffix, LiteralStringSingle), Combined("stringescape", "tsqs")}, - {`([uUbB]?)(")`, ByGroups(LiteralStringAffix, LiteralStringDouble), Combined("stringescape", "dqs")}, - {`([uUbB]?)(')`, ByGroups(LiteralStringAffix, LiteralStringSingle), Combined("stringescape", "sqs")}, - Include("name"), - Include("numbers"), - }, - "keywords": { - {Words(``, `\b`, `assert`, `break`, `continue`, `del`, `elif`, `else`, `except`, `exec`, `finally`, `for`, `global`, `if`, `lambda`, `pass`, `print`, `raise`, `return`, `try`, `while`, `yield`, `yield from`, `as`, `with`), Keyword, nil}, - }, - "builtins": { - {Words(`(?>|[-~+/*%=<>&^|.]`, Operator, nil}, - Include("keywords"), - {`(def)((?:\s|\\\s)+)`, ByGroups(Keyword, Text), Push("funcname")}, - {`(class)((?:\s|\\\s)+)`, ByGroups(Keyword, Text), Push("classname")}, - {`(from)((?:\s|\\\s)+)`, ByGroups(KeywordNamespace, Text), Push("fromimport")}, - {`(import)((?:\s|\\\s)+)`, ByGroups(KeywordNamespace, Text), Push("import")}, - Include("builtins"), - Include("magicfuncs"), - Include("magicvars"), - Include("backtick"), - {`([rR]|[uUbB][rR]|[rR][uUbB])(""")`, ByGroups(LiteralStringAffix, LiteralStringDouble), Push("tdqs")}, - {`([rR]|[uUbB][rR]|[rR][uUbB])(''')`, ByGroups(LiteralStringAffix, LiteralStringSingle), Push("tsqs")}, - {`([rR]|[uUbB][rR]|[rR][uUbB])(")`, ByGroups(LiteralStringAffix, LiteralStringDouble), Push("dqs")}, - {`([rR]|[uUbB][rR]|[rR][uUbB])(')`, ByGroups(LiteralStringAffix, LiteralStringSingle), Push("sqs")}, - {`([uUbB]?)(""")`, ByGroups(LiteralStringAffix, LiteralStringDouble), Combined("stringescape", "tdqs")}, - {`([uUbB]?)(''')`, ByGroups(LiteralStringAffix, LiteralStringSingle), Combined("stringescape", "tsqs")}, - {`([uUbB]?)(")`, ByGroups(LiteralStringAffix, LiteralStringDouble), Combined("stringescape", "dqs")}, - {`([uUbB]?)(')`, ByGroups(LiteralStringAffix, LiteralStringSingle), Combined("stringescape", "sqs")}, - Include("name"), - Include("numbers"), - }, - "keywords": { - {Words(``, `\b`, `assert`, `async`, `await`, `break`, `continue`, `del`, `elif`, `else`, `except`, `finally`, `for`, `global`, `if`, `lambda`, `pass`, `raise`, `nonlocal`, `return`, `try`, `while`, `yield`, `yield from`, `as`, `with`), Keyword, nil}, - {Words(``, `\b`, `True`, `False`, `None`), KeywordConstant, nil}, - }, - "builtins": { - {Words(`(?=\^])?[-+ ]?#?0?(\d+)?,?(\.\d+)?[E-GXb-gnosx%]?)?\}`, LiteralStringInterpol, nil}, - {`[^\\\'"%{\n]+`, LiteralStringSingle, nil}, - {`[\'"\\]`, LiteralStringSingle, nil}, - {`%|(\{{1,2})`, LiteralStringSingle, nil}, - }, - "strings-double": { - {`%(\(\w+\))?[-#0 +]*([0-9]+|[*])?(\.([0-9]+|[*]))?[hlL]?[E-GXc-giorsux%]`, LiteralStringInterpol, nil}, - {`\{((\w+)((\.\w+)|(\[[^\]]+\]))*)?(\![sra])?(\:(.?[<>=\^])?[-+ ]?#?0?(\d+)?,?(\.\d+)?[E-GXb-gnosx%]?)?\}`, LiteralStringInterpol, nil}, - {`[^\\\'"%{\n]+`, LiteralStringDouble, nil}, - {`[\'"\\]`, LiteralStringDouble, nil}, - {`%|(\{{1,2})`, LiteralStringDouble, nil}, - }, - "dqs": { - {`"`, LiteralStringDouble, Pop(1)}, - {`\\\\|\\"|\\\n`, LiteralStringEscape, nil}, - Include("strings-double"), - }, - "sqs": { - {`'`, LiteralStringSingle, Pop(1)}, - {`\\\\|\\'|\\\n`, LiteralStringEscape, nil}, - Include("strings-single"), - }, - "tdqs": { - {`"""`, LiteralStringDouble, Pop(1)}, - Include("strings-double"), - {`\n`, LiteralStringDouble, nil}, - }, - "tsqs": { - {`'''`, LiteralStringSingle, Pop(1)}, - Include("strings-single"), - {`\n`, LiteralStringSingle, nil}, - }, - }, -)) diff --git a/vendor/github.com/alecthomas/chroma/lexers/q/qbasic.go b/vendor/github.com/alecthomas/chroma/lexers/q/qbasic.go deleted file mode 100644 index fd47c080..00000000 --- a/vendor/github.com/alecthomas/chroma/lexers/q/qbasic.go +++ /dev/null @@ -1,67 +0,0 @@ -package q - -import ( - . "github.com/alecthomas/chroma" // nolint - "github.com/alecthomas/chroma/lexers/internal" -) - -// Qbasic lexer. -var Qbasic = internal.Register(MustNewLexer( - &Config{ - Name: "QBasic", - Aliases: []string{"qbasic", "basic"}, - Filenames: []string{"*.BAS", "*.bas"}, - MimeTypes: []string{"text/basic"}, - }, - Rules{ - "root": { - {`\n+`, Text, nil}, - {`\s+`, TextWhitespace, nil}, - {`^(\s*)(\d*)(\s*)(REM .*)$`, ByGroups(TextWhitespace, NameLabel, TextWhitespace, CommentSingle), nil}, - {`^(\s*)(\d+)(\s*)`, ByGroups(TextWhitespace, NameLabel, TextWhitespace), nil}, - {`(?=[\s]*)(\w+)(?=[\s]*=)`, NameVariableGlobal, nil}, - {`(?=[^"]*)\'.*$`, CommentSingle, nil}, - {`"[^\n"]*"`, LiteralStringDouble, nil}, - {`(END)(\s+)(FUNCTION|IF|SELECT|SUB)`, ByGroups(KeywordReserved, TextWhitespace, KeywordReserved), nil}, - {`(DECLARE)(\s+)([A-Z]+)(\s+)(\S+)`, ByGroups(KeywordDeclaration, TextWhitespace, NameVariable, TextWhitespace, Name), nil}, - {`(DIM)(\s+)(SHARED)(\s+)([^\s(]+)`, ByGroups(KeywordDeclaration, TextWhitespace, NameVariable, TextWhitespace, NameVariableGlobal), nil}, - {`(DIM)(\s+)([^\s(]+)`, ByGroups(KeywordDeclaration, TextWhitespace, NameVariableGlobal), nil}, - {`^(\s*)([a-zA-Z_]+)(\s*)(\=)`, ByGroups(TextWhitespace, NameVariableGlobal, TextWhitespace, Operator), nil}, - {`(GOTO|GOSUB)(\s+)(\w+\:?)`, ByGroups(KeywordReserved, TextWhitespace, NameLabel), nil}, - {`(SUB)(\s+)(\w+\:?)`, ByGroups(KeywordReserved, TextWhitespace, NameLabel), nil}, - Include("declarations"), - Include("functions"), - Include("metacommands"), - Include("operators"), - Include("statements"), - Include("keywords"), - {`[a-zA-Z_]\w*[$@#&!]`, NameVariableGlobal, nil}, - {`[a-zA-Z_]\w*\:`, NameLabel, nil}, - {`\-?\d*\.\d+[@|#]?`, LiteralNumberFloat, nil}, - {`\-?\d+[@|#]`, LiteralNumberFloat, nil}, - {`\-?\d+#?`, LiteralNumberIntegerLong, nil}, - {`\-?\d+#?`, LiteralNumberInteger, nil}, - {`!=|==|:=|\.=|<<|>>|[-~+/\\*%=<>&^|?:!.]`, Operator, nil}, - {`[\[\]{}(),;]`, Punctuation, nil}, - {`[\w]+`, NameVariableGlobal, nil}, - }, - "declarations": { - {`\b(DATA|LET)(?=\(|\b)`, KeywordDeclaration, nil}, - }, - "functions": { - {`\b(ABS|ASC|ATN|CDBL|CHR\$|CINT|CLNG|COMMAND\$|COS|CSNG|CSRLIN|CVD|CVDMBF|CVI|CVL|CVS|CVSMBF|DATE\$|ENVIRON\$|EOF|ERDEV|ERDEV\$|ERL|ERR|EXP|FILEATTR|FIX|FRE|FREEFILE|HEX\$|INKEY\$|INP|INPUT\$|INSTR|INT|IOCTL\$|LBOUND|LCASE\$|LEFT\$|LEN|LOC|LOF|LOG|LPOS|LTRIM\$|MID\$|MKD\$|MKDMBF\$|MKI\$|MKL\$|MKS\$|MKSMBF\$|OCT\$|PEEK|PEN|PLAY|PMAP|POINT|POS|RIGHT\$|RND|RTRIM\$|SADD|SCREEN|SEEK|SETMEM|SGN|SIN|SPACE\$|SPC|SQR|STICK|STR\$|STRIG|STRING\$|TAB|TAN|TIME\$|TIMER|UBOUND|UCASE\$|VAL|VARPTR|VARPTR\$|VARSEG)(?=\(|\b)`, KeywordReserved, nil}, - }, - "metacommands": { - {`\b(\$DYNAMIC|\$INCLUDE|\$STATIC)(?=\(|\b)`, KeywordConstant, nil}, - }, - "operators": { - {`\b(AND|EQV|IMP|NOT|OR|XOR)(?=\(|\b)`, OperatorWord, nil}, - }, - "statements": { - {`\b(BEEP|BLOAD|BSAVE|CALL|CALL\ ABSOLUTE|CALL\ INTERRUPT|CALLS|CHAIN|CHDIR|CIRCLE|CLEAR|CLOSE|CLS|COLOR|COM|COMMON|CONST|DATA|DATE\$|DECLARE|DEF\ FN|DEF\ SEG|DEFDBL|DEFINT|DEFLNG|DEFSNG|DEFSTR|DEF|DIM|DO|LOOP|DRAW|END|ENVIRON|ERASE|ERROR|EXIT|FIELD|FILES|FOR|NEXT|FUNCTION|GET|GOSUB|GOTO|IF|THEN|INPUT|INPUT\ \#|IOCTL|KEY|KEY|KILL|LET|LINE|LINE\ INPUT|LINE\ INPUT\ \#|LOCATE|LOCK|UNLOCK|LPRINT|LSET|MID\$|MKDIR|NAME|ON\ COM|ON\ ERROR|ON\ KEY|ON\ PEN|ON\ PLAY|ON\ STRIG|ON\ TIMER|ON\ UEVENT|ON|OPEN|OPEN\ COM|OPTION\ BASE|OUT|PAINT|PALETTE|PCOPY|PEN|PLAY|POKE|PRESET|PRINT|PRINT\ \#|PRINT\ USING|PSET|PUT|PUT|RANDOMIZE|READ|REDIM|REM|RESET|RESTORE|RESUME|RETURN|RMDIR|RSET|RUN|SCREEN|SEEK|SELECT\ CASE|SHARED|SHELL|SLEEP|SOUND|STATIC|STOP|STRIG|SUB|SWAP|SYSTEM|TIME\$|TIMER|TROFF|TRON|TYPE|UEVENT|UNLOCK|VIEW|WAIT|WHILE|WEND|WIDTH|WINDOW|WRITE)\b`, KeywordReserved, nil}, - }, - "keywords": { - {`\b(ACCESS|ALIAS|ANY|APPEND|AS|BASE|BINARY|BYVAL|CASE|CDECL|DOUBLE|ELSE|ELSEIF|ENDIF|INTEGER|IS|LIST|LOCAL|LONG|LOOP|MOD|NEXT|OFF|ON|OUTPUT|RANDOM|SIGNAL|SINGLE|STEP|STRING|THEN|TO|UNTIL|USING|WEND)\b`, Keyword, nil}, - }, - }, -)) diff --git a/vendor/github.com/alecthomas/chroma/lexers/r/r.go b/vendor/github.com/alecthomas/chroma/lexers/r/r.go deleted file mode 100644 index b2e205ed..00000000 --- a/vendor/github.com/alecthomas/chroma/lexers/r/r.go +++ /dev/null @@ -1,70 +0,0 @@ -package r - -import ( - . "github.com/alecthomas/chroma" // nolint - "github.com/alecthomas/chroma/lexers/internal" -) - -// R/S lexer. -var R = internal.Register(MustNewLexer( - &Config{ - Name: "R", - Aliases: []string{"splus", "s", "r"}, - Filenames: []string{"*.S", "*.R", "*.r", ".Rhistory", ".Rprofile", ".Renviron"}, - MimeTypes: []string{"text/S-plus", "text/S", "text/x-r-source", "text/x-r", "text/x-R", "text/x-r-history", "text/x-r-profile"}, - }, - Rules{ - "comments": { - {`#.*$`, CommentSingle, nil}, - }, - "valid_name": { - {`[a-zA-Z][\w.]*`, Text, nil}, - {`\.[a-zA-Z_][\w.]*`, Text, nil}, - }, - "punctuation": { - {`\[{1,2}|\]{1,2}|\(|\)|;|,`, Punctuation, nil}, - }, - "keywords": { - {Words(``, `(?![\w. =])`, `Arg`, `Conj`, `Cstack_info`, `Encoding`, `FALSE`, `Filter`, `Find`, `I`, `ISOdate`, `ISOdatetime`, `Im`, `Inf`, `La.svd`, `Map`, `Math.Date`, `Math.POSIXt`, `Math.data.frame`, `Math.difftime`, `Math.factor`, `Mod`, `NA_character_`, `NA_complex_`, `NA_real_`, `NCOL`, `NROW`, `NULLNA_integer_`, `NaN`, `Negate`, `NextMethod`, `Ops.Date`, `Ops.POSIXt`, `Ops.data.frame`, `Ops.difftime`, `Ops.factor`, `Ops.numeric_version`, `Ops.ordered`, `Position`, `R.Version`, `R.home`, `R.version`, `R.version.string`, `RNGkind`, `RNGversion`, `R_system_version`, `Re`, `Recall`, `Reduce`, `Summary.Date`, `Summary.POSIXct`, `Summary.POSIXlt`, `Summary.data.frame`, `Summary.difftime`, `Summary.factor`, `Summary.numeric_version`, `Summary.ordered`, `Sys.Date`, `Sys.chmod`, `Sys.getenv`, `Sys.getlocale`, `Sys.getpid`, `Sys.glob`, `Sys.info`, `Sys.localeconv`, `Sys.readlink`, `Sys.setFileTime`, `Sys.setenv`, `Sys.setlocale`, `Sys.sleep`, `Sys.time`, `Sys.timezone`, `Sys.umask`, `Sys.unsetenv`, `Sys.which`, `TRUE`, `UseMethod`, `Vectorize`, `abbreviate`, `abs`, `acos`, `acosh`, `addNA`, `addTaskCallback`, `agrep`, `alist`, `all`, `all.equal`, `all.equal.POSIXct`, `all.equal.character`, `all.equal.default`, `all.equal.factor`, `all.equal.formula`, `all.equal.language`, `all.equal.list`, `all.equal.numeric`, `all.equal.raw`, `all.names`, `all.vars`, `any`, `anyDuplicated`, `anyDuplicated.array`, `anyDuplicated.data.frame`, `anyDuplicated.default`, `anyDuplicated.matrix`, `aperm`, `aperm.default`, `aperm.table`, `append`, `apply`, `args`, `arrayInd`, `as.Date`, `as.Date.POSIXct`, `as.Date.POSIXlt`, `as.Date.character`, `as.Date.date`, `as.Date.dates`, `as.Date.default`, `as.Date.factor`, `as.Date.numeric`, `as.POSIXct`, `as.POSIXct.Date`, `as.POSIXct.POSIXlt`, `as.POSIXct.date`, `as.POSIXct.dates`, `as.POSIXct.default`, `as.POSIXct.numeric`, `as.POSIXlt`, `as.POSIXlt.Date`, `as.POSIXlt.POSIXct`, `as.POSIXlt.character`, `as.POSIXlt.date`, `as.POSIXlt.dates`, `as.POSIXlt.default`, `as.POSIXlt.factor`, `as.POSIXlt.numeric`, `as.array`, `as.array.default`, `as.call`, `as.character`, `as.character.Date`, `as.character.POSIXt`, `as.character.condition`, `as.character.default`, `as.character.error`, `as.character.factor`, `as.character.hexmode`, `as.character.numeric_version`, `as.character.octmode`, `as.character.srcref`, `as.complex`, `as.data.frame`, `as.data.frame.AsIs`, `as.data.frame.Date`, `as.data.frame.POSIXct`, `as.data.frame.POSIXlt`, `as.data.frame.array`, `as.data.frame.character`, `as.data.frame.complex`, `as.data.frame.data.frame`, `as.data.frame.default`, `as.data.frame.difftime`, `as.data.frame.factor`, `as.data.frame.integer`, `as.data.frame.list`, `as.data.frame.logical`, `as.data.frame.matrix`, `as.data.frame.model.matrix`, `as.data.frame.numeric`, `as.data.frame.numeric_version`, `as.data.frame.ordered`, `as.data.frame.raw`, `as.data.frame.table`, `as.data.frame.ts`, `as.data.frame.vector`, `as.difftime`, `as.double`, `as.double.POSIXlt`, `as.double.difftime`, `as.environment`, `as.expression`, `as.expression.default`, `as.factor`, `as.function`, `as.function.default`, `as.hexmode`, `as.integer`, `as.list`, `as.list.Date`, `as.list.POSIXct`, `as.list.data.frame`, `as.list.default`, `as.list.environment`, `as.list.factor`, `as.list.function`, `as.list.numeric_version`, `as.logical`, `as.logical.factor`, `as.matrix`, `as.matrix.POSIXlt`, `as.matrix.data.frame`, `as.matrix.default`, `as.matrix.noquote`, `as.name`, `as.null`, `as.null.default`, `as.numeric`, `as.numeric_version`, `as.octmode`, `as.ordered`, `as.package_version`, `as.pairlist`, `as.qr`, `as.raw`, `as.single`, `as.single.default`, `as.symbol`, `as.table`, `as.table.default`, `as.vector`, `as.vector.factor`, `asNamespace`, `asS3`, `asS4`, `asin`, `asinh`, `assign`, `atan`, `atan2`, `atanh`, `attachNamespace`, `attr`, `attr.all.equal`, `attributes`, `autoload`, `autoloader`, `backsolve`, `baseenv`, `basename`, `besselI`, `besselJ`, `besselK`, `besselY`, `beta`, `bindingIsActive`, `bindingIsLocked`, `bindtextdomain`, `bitwAnd`, `bitwNot`, `bitwOr`, `bitwShiftL`, `bitwShiftR`, `bitwXor`, `body`, `bquote`, `browser`, `browserCondition`, `browserSetDebug`, `browserText`, `builtins`, `by`, `by.data.frame`, `by.default`, `bzfile`, `c.Date`, `c.POSIXct`, `c.POSIXlt`, `c.noquote`, `c.numeric_version`, `call`, `callCC`, `capabilities`, `casefold`, `cat`, `category`, `cbind`, `cbind.data.frame`, `ceiling`, `char.expand`, `charToRaw`, `charmatch`, `chartr`, `check_tzones`, `chol`, `chol.default`, `chol2inv`, `choose`, `class`, `clearPushBack`, `close`, `close.connection`, `close.srcfile`, `close.srcfilealias`, `closeAllConnections`, `col`, `colMeans`, `colSums`, `colnames`, `commandArgs`, `comment`, `computeRestarts`, `conditionCall`, `conditionCall.condition`, `conditionMessage`, `conditionMessage.condition`, `conflicts`, `contributors`, `cos`, `cosh`, `crossprod`, `cummax`, `cummin`, `cumprod`, `cumsum`, `cut`, `cut.Date`, `cut.POSIXt`, `cut.default`, `dQuote`, `data.class`, `data.matrix`, `date`, `debug`, `debugonce`, `default.stringsAsFactors`, `delayedAssign`, `deparse`, `det`, `determinant`, `determinant.matrix`, `dget`, `diag`, `diff`, `diff.Date`, `diff.POSIXt`, `diff.default`, `difftime`, `digamma`, `dim`, `dim.data.frame`, `dimnames`, `dimnames.data.frame`, `dir`, `dir.create`, `dirname`, `do.call`, `dput`, `drop`, `droplevels`, `droplevels.data.frame`, `droplevels.factor`, `dump`, `duplicated`, `duplicated.POSIXlt`, `duplicated.array`, `duplicated.data.frame`, `duplicated.default`, `duplicated.matrix`, `duplicated.numeric_version`, `dyn.load`, `dyn.unload`, `eapply`, `eigen`, `else`, `emptyenv`, `enc2native`, `enc2utf8`, `encodeString`, `enquote`, `env.profile`, `environment`, `environmentIsLocked`, `environmentName`, `eval`, `eval.parent`, `evalq`, `exists`, `exp`, `expand.grid`, `expm1`, `expression`, `factor`, `factorial`, `fifo`, `file`, `file.access`, `file.append`, `file.choose`, `file.copy`, `file.create`, `file.exists`, `file.info`, `file.link`, `file.path`, `file.remove`, `file.rename`, `file.show`, `file.symlink`, `find.package`, `findInterval`, `findPackageEnv`, `findRestart`, `floor`, `flush`, `flush.connection`, `force`, `formals`, `format`, `format.AsIs`, `format.Date`, `format.POSIXct`, `format.POSIXlt`, `format.data.frame`, `format.default`, `format.difftime`, `format.factor`, `format.hexmode`, `format.info`, `format.libraryIQR`, `format.numeric_version`, `format.octmode`, `format.packageInfo`, `format.pval`, `format.summaryDefault`, `formatC`, `formatDL`, `forwardsolve`, `gamma`, `gc`, `gc.time`, `gcinfo`, `gctorture`, `gctorture2`, `get`, `getAllConnections`, `getCallingDLL`, `getCallingDLLe`, `getConnection`, `getDLLRegisteredRoutines`, `getDLLRegisteredRoutines.DLLInfo`, `getDLLRegisteredRoutines.character`, `getElement`, `getExportedValue`, `getHook`, `getLoadedDLLs`, `getNamespace`, `getNamespaceExports`, `getNamespaceImports`, `getNamespaceInfo`, `getNamespaceName`, `getNamespaceUsers`, `getNamespaceVersion`, `getNativeSymbolInfo`, `getOption`, `getRversion`, `getSrcLines`, `getTaskCallbackNames`, `geterrmessage`, `gettext`, `gettextf`, `getwd`, `gl`, `globalenv`, `gregexpr`, `grep`, `grepRaw`, `grepl`, `gsub`, `gzcon`, `gzfile`, `head`, `iconv`, `iconvlist`, `icuSetCollate`, `identical`, `identity`, `ifelse`, `importIntoEnv`, `in`, `inherits`, `intToBits`, `intToUtf8`, `interaction`, `interactive`, `intersect`, `inverse.rle`, `invisible`, `invokeRestart`, `invokeRestartInteractively`, `is.R`, `is.array`, `is.atomic`, `is.call`, `is.character`, `is.complex`, `is.data.frame`, `is.double`, `is.element`, `is.environment`, `is.expression`, `is.factor`, `is.finite`, `is.function`, `is.infinite`, `is.integer`, `is.language`, `is.list`, `is.loaded`, `is.logical`, `is.matrix`, `is.na`, `is.na.POSIXlt`, `is.na.data.frame`, `is.na.numeric_version`, `is.name`, `is.nan`, `is.null`, `is.numeric`, `is.numeric.Date`, `is.numeric.POSIXt`, `is.numeric.difftime`, `is.numeric_version`, `is.object`, `is.ordered`, `is.package_version`, `is.pairlist`, `is.primitive`, `is.qr`, `is.raw`, `is.recursive`, `is.single`, `is.symbol`, `is.table`, `is.unsorted`, `is.vector`, `isBaseNamespace`, `isIncomplete`, `isNamespace`, `isOpen`, `isRestart`, `isS4`, `isSeekable`, `isSymmetric`, `isSymmetric.matrix`, `isTRUE`, `isatty`, `isdebugged`, `jitter`, `julian`, `julian.Date`, `julian.POSIXt`, `kappa`, `kappa.default`, `kappa.lm`, `kappa.qr`, `kronecker`, `l10n_info`, `labels`, `labels.default`, `lapply`, `lazyLoad`, `lazyLoadDBexec`, `lazyLoadDBfetch`, `lbeta`, `lchoose`, `length`, `length.POSIXlt`, `letters`, `levels`, `levels.default`, `lfactorial`, `lgamma`, `library.dynam`, `library.dynam.unload`, `licence`, `license`, `list.dirs`, `list.files`, `list2env`, `load`, `loadNamespace`, `loadedNamespaces`, `loadingNamespaceInfo`, `local`, `lockBinding`, `lockEnvironment`, `log`, `log10`, `log1p`, `log2`, `logb`, `lower.tri`, `ls`, `make.names`, `make.unique`, `makeActiveBinding`, `mapply`, `margin.table`, `mat.or.vec`, `match`, `match.arg`, `match.call`, `match.fun`, `max`, `max.col`, `mean`, `mean.Date`, `mean.POSIXct`, `mean.POSIXlt`, `mean.default`, `mean.difftime`, `mem.limits`, `memCompress`, `memDecompress`, `memory.profile`, `merge`, `merge.data.frame`, `merge.default`, `message`, `mget`, `min`, `missing`, `mode`, `month.abb`, `month.name`, `months`, `months.Date`, `months.POSIXt`, `months.abb`, `months.nameletters`, `names`, `names.POSIXlt`, `namespaceExport`, `namespaceImport`, `namespaceImportClasses`, `namespaceImportFrom`, `namespaceImportMethods`, `nargs`, `nchar`, `ncol`, `new.env`, `ngettext`, `nlevels`, `noquote`, `norm`, `normalizePath`, `nrow`, `numeric_version`, `nzchar`, `objects`, `oldClass`, `on.exit`, `open`, `open.connection`, `open.srcfile`, `open.srcfilealias`, `open.srcfilecopy`, `options`, `order`, `ordered`, `outer`, `packBits`, `packageEvent`, `packageHasNamespace`, `packageStartupMessage`, `package_version`, `pairlist`, `parent.env`, `parent.frame`, `parse`, `parseNamespaceFile`, `paste`, `paste0`, `path.expand`, `path.package`, `pipe`, `pmatch`, `pmax`, `pmax.int`, `pmin`, `pmin.int`, `polyroot`, `pos.to.env`, `pretty`, `pretty.default`, `prettyNum`, `print`, `print.AsIs`, `print.DLLInfo`, `print.DLLInfoList`, `print.DLLRegisteredRoutines`, `print.Date`, `print.NativeRoutineList`, `print.POSIXct`, `print.POSIXlt`, `print.by`, `print.condition`, `print.connection`, `print.data.frame`, `print.default`, `print.difftime`, `print.factor`, `print.function`, `print.hexmode`, `print.libraryIQR`, `print.listof`, `print.noquote`, `print.numeric_version`, `print.octmode`, `print.packageInfo`, `print.proc_time`, `print.restart`, `print.rle`, `print.simple.list`, `print.srcfile`, `print.srcref`, `print.summary.table`, `print.summaryDefault`, `print.table`, `print.warnings`, `prmatrix`, `proc.time`, `prod`, `prop.table`, `provideDimnames`, `psigamma`, `pushBack`, `pushBackLength`, `q`, `qr`, `qr.Q`, `qr.R`, `qr.X`, `qr.coef`, `qr.default`, `qr.fitted`, `qr.qty`, `qr.qy`, `qr.resid`, `qr.solve`, `quarters`, `quarters.Date`, `quarters.POSIXt`, `quit`, `quote`, `range`, `range.default`, `rank`, `rapply`, `raw`, `rawConnection`, `rawConnectionValue`, `rawShift`, `rawToBits`, `rawToChar`, `rbind`, `rbind.data.frame`, `rcond`, `read.dcf`, `readBin`, `readChar`, `readLines`, `readRDS`, `readRenviron`, `readline`, `reg.finalizer`, `regexec`, `regexpr`, `registerS3method`, `registerS3methods`, `regmatches`, `remove`, `removeTaskCallback`, `rep`, `rep.Date`, `rep.POSIXct`, `rep.POSIXlt`, `rep.factor`, `rep.int`, `rep.numeric_version`, `rep_len`, `replace`, `replicate`, `requireNamespace`, `restartDescription`, `restartFormals`, `retracemem`, `rev`, `rev.default`, `rle`, `rm`, `round`, `round.Date`, `round.POSIXt`, `row`, `row.names`, `row.names.data.frame`, `row.names.default`, `rowMeans`, `rowSums`, `rownames`, `rowsum`, `rowsum.data.frame`, `rowsum.default`, `sQuote`, `sample`, `sample.int`, `sapply`, `save`, `save.image`, `saveRDS`, `scale`, `scale.default`, `scan`, `search`, `searchpaths`, `seek`, `seek.connection`, `seq`, `seq.Date`, `seq.POSIXt`, `seq.default`, `seq.int`, `seq_along`, `seq_len`, `sequence`, `serialize`, `set.seed`, `setHook`, `setNamespaceInfo`, `setSessionTimeLimit`, `setTimeLimit`, `setdiff`, `setequal`, `setwd`, `shQuote`, `showConnections`, `sign`, `signalCondition`, `signif`, `simpleCondition`, `simpleError`, `simpleMessage`, `simpleWarning`, `simplify2array`, `sin`, `single`, `sinh`, `sink`, `sink.number`, `slice.index`, `socketConnection`, `socketSelect`, `solve`, `solve.default`, `solve.qr`, `sort`, `sort.POSIXlt`, `sort.default`, `sort.int`, `sort.list`, `split`, `split.Date`, `split.POSIXct`, `split.data.frame`, `split.default`, `sprintf`, `sqrt`, `srcfile`, `srcfilealias`, `srcfilecopy`, `srcref`, `standardGeneric`, `stderr`, `stdin`, `stdout`, `stop`, `stopifnot`, `storage.mode`, `strftime`, `strptime`, `strsplit`, `strtoi`, `strtrim`, `structure`, `strwrap`, `sub`, `subset`, `subset.data.frame`, `subset.default`, `subset.matrix`, `substitute`, `substr`, `substring`, `sum`, `summary`, `summary.Date`, `summary.POSIXct`, `summary.POSIXlt`, `summary.connection`, `summary.data.frame`, `summary.default`, `summary.factor`, `summary.matrix`, `summary.proc_time`, `summary.srcfile`, `summary.srcref`, `summary.table`, `suppressMessages`, `suppressPackageStartupMessages`, `suppressWarnings`, `svd`, `sweep`, `sys.call`, `sys.calls`, `sys.frame`, `sys.frames`, `sys.function`, `sys.load.image`, `sys.nframe`, `sys.on.exit`, `sys.parent`, `sys.parents`, `sys.save.image`, `sys.source`, `sys.status`, `system`, `system.file`, `system.time`, `system2`, `t`, `t.data.frame`, `t.default`, `table`, `tabulate`, `tail`, `tan`, `tanh`, `tapply`, `taskCallbackManager`, `tcrossprod`, `tempdir`, `tempfile`, `testPlatformEquivalence`, `textConnection`, `textConnectionValue`, `toString`, `toString.default`, `tolower`, `topenv`, `toupper`, `trace`, `traceback`, `tracemem`, `tracingState`, `transform`, `transform.data.frame`, `transform.default`, `trigamma`, `trunc`, `trunc.Date`, `trunc.POSIXt`, `truncate`, `truncate.connection`, `try`, `tryCatch`, `typeof`, `unclass`, `undebug`, `union`, `unique`, `unique.POSIXlt`, `unique.array`, `unique.data.frame`, `unique.default`, `unique.matrix`, `unique.numeric_version`, `units`, `units.difftime`, `unix.time`, `unlink`, `unlist`, `unloadNamespace`, `unlockBinding`, `unname`, `unserialize`, `unsplit`, `untrace`, `untracemem`, `unz`, `upper.tri`, `url`, `utf8ToInt`, `vapply`, `version`, `warning`, `warnings`, `weekdays`, `weekdays.Date`, `weekdays.POSIXt`, `which`, `which.max`, `which.min`, `with`, `with.default`, `withCallingHandlers`, `withRestarts`, `withVisible`, `within`, `within.data.frame`, `within.list`, `write`, `write.dcf`, `writeBin`, `writeChar`, `writeLines`, `xor`, `xor.hexmode`, `xor.octmode`, `xpdrows.data.frame`, `xtfrm`, `xtfrm.AsIs`, `xtfrm.Date`, `xtfrm.POSIXct`, `xtfrm.POSIXlt`, `xtfrm.Surv`, `xtfrm.default`, `xtfrm.difftime`, `xtfrm.factor`, `xtfrm.numeric_version`, `xzfile`, `zapsmall`), KeywordPseudo, nil}, - {`(if|else|for|while|repeat|in|next|break|return|switch|function)(?![\w.])`, KeywordReserved, nil}, - {`(array|category|character|complex|double|function|integer|list|logical|matrix|numeric|vector|data.frame|c)(?![\w.])`, KeywordType, nil}, - {`(library|require|attach|detach|source)(?![\w.])`, KeywordNamespace, nil}, - }, - "operators": { - {`<>?|-|==|<=|>=|<|>|&&?|!=|\|\|?|\?`, Operator, nil}, - {`\*|\+|\^|/|!|%[^%]*%|=|~|\$|@|:{1,3}`, Operator, nil}, - }, - "builtin_symbols": { - {`(NULL|NA(_(integer|real|complex|character)_)?|letters|LETTERS|Inf|TRUE|FALSE|NaN|pi|\.\.(\.|[0-9]+))(?![\w.])`, KeywordConstant, nil}, - {`(T|F)\b`, NameBuiltinPseudo, nil}, - }, - "numbers": { - {`0[xX][a-fA-F0-9]+([pP][0-9]+)?[Li]?`, LiteralNumberHex, nil}, - {`[+-]?([0-9]+(\.[0-9]+)?|\.[0-9]+|\.)([eE][+-]?[0-9]+)?[Li]?`, LiteralNumber, nil}, - }, - "statements": { - Include("comments"), - {`\s+`, Text, nil}, - {"`.*?`", LiteralStringBacktick, nil}, - {`\'`, LiteralString, Push("string_squote")}, - {`\"`, LiteralString, Push("string_dquote")}, - Include("builtin_symbols"), - Include("numbers"), - Include("keywords"), - Include("punctuation"), - Include("operators"), - Include("valid_name"), - }, - "root": { - Include("statements"), - {`\{|\}`, Punctuation, nil}, - {`.`, Text, nil}, - }, - "string_squote": { - {`([^\'\\]|\\.)*\'`, LiteralString, Pop(1)}, - }, - "string_dquote": { - {`([^"\\]|\\.)*"`, LiteralString, Pop(1)}, - }, - }, -)) diff --git a/vendor/github.com/alecthomas/chroma/lexers/r/racket.go b/vendor/github.com/alecthomas/chroma/lexers/r/racket.go deleted file mode 100644 index cf27ea10..00000000 --- a/vendor/github.com/alecthomas/chroma/lexers/r/racket.go +++ /dev/null @@ -1,102 +0,0 @@ -package r - -import ( - . "github.com/alecthomas/chroma" // nolint - "github.com/alecthomas/chroma/lexers/internal" -) - -// Racket lexer. -var Racket = internal.Register(MustNewLexer( - &Config{ - Name: "Racket", - Aliases: []string{"racket", "rkt"}, - Filenames: []string{"*.rkt", "*.rktd", "*.rktl"}, - MimeTypes: []string{"text/x-racket", "application/x-racket"}, - }, - Rules{ - "root": { - {`[)\]}]`, Error, nil}, - {`(?!\Z)`, Text, Push("unquoted-datum")}, - }, - "datum": { - {`(?s)#;|#![ /]([^\\\n]|\\.)*`, Comment, nil}, - {`;[^\n\r…

]*`, CommentSingle, nil}, - {`#\|`, CommentMultiline, Push("block-comment")}, - {`\s+`, Text, nil}, - {"(?i)(?:#e)?(?:#d)?(?:#e)?[-+]?\\d+(?=[()[\\]{}\",\\'`;\\s])", LiteralNumberInteger, Pop(1)}, - {"(?i)(?:#e)?(?:#d)?(?:#e)?[-+]?(\\d+(\\.\\d*)?|\\.\\d+)([deflst][-+]?\\d+)?(?=[()[\\]{}\",\\'`;\\s])", LiteralNumberFloat, Pop(1)}, - {"(?i)(?:#e)?(?:#d)?(?:#e)?[-+]?((?:(?:\\d+(?:/\\d+|\\.\\d*)?|\\.\\d+)(?:[defls][-+]?\\d+)?)([-+](?:(?:\\d+(?:/\\d+|\\.\\d*)?|\\.\\d+)(?:[defls][-+]?\\d+)?)?i)?|[-+](?:(?:\\d+(?:/\\d+|\\.\\d*)?|\\.\\d+)(?:[defls][-+]?\\d+)?)?i)(?=[()[\\]{}\",\\'`;\\s])", LiteralNumber, Pop(1)}, - {"(?i)(#d)?((?:[-+]?(?:(?:(?:\\d+(?:/\\d+|\\.\\d*)?|\\.\\d+)|(?:\\d+#+(?:\\.#*|/\\d+#*)?|\\.\\d+#+|\\d+(?:\\.\\d*#+|/\\d+#+)))(?:[defls][-+]?\\d+)?)|[-+](?:(?:inf|nan)\\.[0f]))([-+](?:(?:(?:(?:\\d+(?:/\\d+|\\.\\d*)?|\\.\\d+)|(?:\\d+#+(?:\\.#*|/\\d+#*)?|\\.\\d+#+|\\d+(?:\\.\\d*#+|/\\d+#+)))(?:[defls][-+]?\\d+)?)|(?:(?:inf|nan)\\.[0f]))?i)?|[-+](?:(?:(?:(?:\\d+(?:/\\d+|\\.\\d*)?|\\.\\d+)|(?:\\d+#+(?:\\.#*|/\\d+#*)?|\\.\\d+#+|\\d+(?:\\.\\d*#+|/\\d+#+)))(?:[defls][-+]?\\d+)?)|(?:(?:inf|nan)\\.[0f]))?i|(?:[-+]?(?:(?:(?:\\d+(?:/\\d+|\\.\\d*)?|\\.\\d+)|(?:\\d+#+(?:\\.#*|/\\d+#*)?|\\.\\d+#+|\\d+(?:\\.\\d*#+|/\\d+#+)))(?:[defls][-+]?\\d+)?)|[-+](?:(?:inf|nan)\\.[0f]))@(?:[-+]?(?:(?:(?:\\d+(?:/\\d+|\\.\\d*)?|\\.\\d+)|(?:\\d+#+(?:\\.#*|/\\d+#*)?|\\.\\d+#+|\\d+(?:\\.\\d*#+|/\\d+#+)))(?:[defls][-+]?\\d+)?)|[-+](?:(?:inf|nan)\\.[0f])))(?=[()[\\]{}\",\\'`;\\s])", LiteralNumberFloat, Pop(1)}, - {"(?i)(([-+]?(?:(?:\\d+(?:/\\d+|\\.\\d*)?|\\.\\d+)|(?:\\d+#+(?:\\.#*|/\\d+#*)?|\\.\\d+#+|\\d+(?:\\.\\d*#+|/\\d+#+)))t[-+]?\\d+)|[-+](inf|nan)\\.t)(?=[()[\\]{}\",\\'`;\\s])", LiteralNumberFloat, Pop(1)}, - {"(?i)(#[ei])?#b(?:\\|[^|]*\\||\\\\[\\w\\W]|[^|\\\\()[\\]{}\",\\'`;\\s]+)+", LiteralNumberBin, Pop(1)}, - {"(?i)(#[ei])?#o(?:\\|[^|]*\\||\\\\[\\w\\W]|[^|\\\\()[\\]{}\",\\'`;\\s]+)+", LiteralNumberOct, Pop(1)}, - {"(?i)(#[ei])?#x(?:\\|[^|]*\\||\\\\[\\w\\W]|[^|\\\\()[\\]{}\",\\'`;\\s]+)+", LiteralNumberHex, Pop(1)}, - {"(?i)(#d)?#i(?:\\|[^|]*\\||\\\\[\\w\\W]|[^|\\\\()[\\]{}\",\\'`;\\s]+)+", LiteralNumberFloat, Pop(1)}, - {`#?"`, LiteralStringDouble, Push("#pop", "string")}, - {`#<<(.+)\n(^(?!\1$).*$\n)*^\1$`, LiteralStringHeredoc, Pop(1)}, - {`#\\(u[\da-fA-F]{1,4}|U[\da-fA-F]{1,8})`, LiteralStringChar, Pop(1)}, - {`(?is)#\\([0-7]{3}|[a-z]+|.)`, LiteralStringChar, Pop(1)}, - {`(?s)#[pr]x#?"(\\?.)*?"`, LiteralStringRegex, Pop(1)}, - {`#(true|false|[tTfF])`, NameConstant, Pop(1)}, - {"#:(?:\\|[^|]*\\||\\\\[\\w\\W]|[^|\\\\()[\\]{}\",\\'`;\\s]+)+", KeywordDeclaration, Pop(1)}, - {`(#lang |#!)(\S+)`, ByGroups(KeywordNamespace, NameNamespace), nil}, - {`#reader`, KeywordNamespace, Push("quoted-datum")}, - {"(?i)\\.(?=[()[\\]{}\",\\'`;\\s])|#c[is]|#['`]|#,@?", Operator, nil}, - {`'|#[s&]|#hash(eqv?)?|#\d*(?=[([{])`, Operator, Push("#pop", "quoted-datum")}, - }, - "datum*": { - {"`|,@?", Operator, nil}, - {"(?:\\|[^|]*\\||\\\\[\\w\\W]|[^|\\\\()[\\]{}\",\\'`;\\s]+)+", LiteralStringSymbol, Pop(1)}, - {`[|\\]`, Error, nil}, - Default(Pop(1)), - }, - "list": { - {`[)\]}]`, Punctuation, Pop(1)}, - }, - "unquoted-datum": { - Include("datum"), - {"quote(?=[()[\\]{}\",\\'`;\\s])", Keyword, Push("#pop", "quoted-datum")}, - {"`", Operator, Push("#pop", "quasiquoted-datum")}, - {"quasiquote(?=[()[\\]{}\",\\'`;\\s])", Keyword, Push("#pop", "quasiquoted-datum")}, - {`[([{]`, Punctuation, Push("#pop", "unquoted-list")}, - {Words(``, "(?=[()[\\]{}\",\\'`;\\s])", `#%app`, `#%datum`, `#%declare`, `#%expression`, `#%module-begin`, `#%plain-app`, `#%plain-lambda`, `#%plain-module-begin`, `#%printing-module-begin`, `#%provide`, `#%require`, `#%stratified-body`, `#%top`, `#%top-interaction`, `#%variable-reference`, `->`, `->*`, `->*m`, `->d`, `->dm`, `->i`, `->m`, `...`, `:do-in`, `==`, `=>`, `_`, `absent`, `abstract`, `all-defined-out`, `all-from-out`, `and`, `any`, `augment`, `augment*`, `augment-final`, `augment-final*`, `augride`, `augride*`, `begin`, `begin-for-syntax`, `begin0`, `case`, `case->`, `case->m`, `case-lambda`, `class`, `class*`, `class-field-accessor`, `class-field-mutator`, `class/c`, `class/derived`, `combine-in`, `combine-out`, `command-line`, `compound-unit`, `compound-unit/infer`, `cond`, `cons/dc`, `contract`, `contract-out`, `contract-struct`, `contracted`, `define`, `define-compound-unit`, `define-compound-unit/infer`, `define-contract-struct`, `define-custom-hash-types`, `define-custom-set-types`, `define-for-syntax`, `define-local-member-name`, `define-logger`, `define-match-expander`, `define-member-name`, `define-module-boundary-contract`, `define-namespace-anchor`, `define-opt/c`, `define-sequence-syntax`, `define-serializable-class`, `define-serializable-class*`, `define-signature`, `define-signature-form`, `define-struct`, `define-struct/contract`, `define-struct/derived`, `define-syntax`, `define-syntax-rule`, `define-syntaxes`, `define-unit`, `define-unit-binding`, `define-unit-from-context`, `define-unit/contract`, `define-unit/new-import-export`, `define-unit/s`, `define-values`, `define-values-for-export`, `define-values-for-syntax`, `define-values/invoke-unit`, `define-values/invoke-unit/infer`, `define/augment`, `define/augment-final`, `define/augride`, `define/contract`, `define/final-prop`, `define/match`, `define/overment`, `define/override`, `define/override-final`, `define/private`, `define/public`, `define/public-final`, `define/pubment`, `define/subexpression-pos-prop`, `define/subexpression-pos-prop/name`, `delay`, `delay/idle`, `delay/name`, `delay/strict`, `delay/sync`, `delay/thread`, `do`, `else`, `except`, `except-in`, `except-out`, `export`, `extends`, `failure-cont`, `false`, `false/c`, `field`, `field-bound?`, `file`, `flat-murec-contract`, `flat-rec-contract`, `for`, `for*`, `for*/and`, `for*/async`, `for*/first`, `for*/fold`, `for*/fold/derived`, `for*/hash`, `for*/hasheq`, `for*/hasheqv`, `for*/last`, `for*/list`, `for*/lists`, `for*/mutable-set`, `for*/mutable-seteq`, `for*/mutable-seteqv`, `for*/or`, `for*/product`, `for*/set`, `for*/seteq`, `for*/seteqv`, `for*/stream`, `for*/sum`, `for*/vector`, `for*/weak-set`, `for*/weak-seteq`, `for*/weak-seteqv`, `for-label`, `for-meta`, `for-syntax`, `for-template`, `for/and`, `for/async`, `for/first`, `for/fold`, `for/fold/derived`, `for/hash`, `for/hasheq`, `for/hasheqv`, `for/last`, `for/list`, `for/lists`, `for/mutable-set`, `for/mutable-seteq`, `for/mutable-seteqv`, `for/or`, `for/product`, `for/set`, `for/seteq`, `for/seteqv`, `for/stream`, `for/sum`, `for/vector`, `for/weak-set`, `for/weak-seteq`, `for/weak-seteqv`, `gen:custom-write`, `gen:dict`, `gen:equal+hash`, `gen:set`, `gen:stream`, `generic`, `get-field`, `hash/dc`, `if`, `implies`, `import`, `include`, `include-at/relative-to`, `include-at/relative-to/reader`, `include/reader`, `inherit`, `inherit-field`, `inherit/inner`, `inherit/super`, `init`, `init-depend`, `init-field`, `init-rest`, `inner`, `inspect`, `instantiate`, `interface`, `interface*`, `invariant-assertion`, `invoke-unit`, `invoke-unit/infer`, `lambda`, `lazy`, `let`, `let*`, `let*-values`, `let-syntax`, `let-syntaxes`, `let-values`, `let/cc`, `let/ec`, `letrec`, `letrec-syntax`, `letrec-syntaxes`, `letrec-syntaxes+values`, `letrec-values`, `lib`, `link`, `local`, `local-require`, `log-debug`, `log-error`, `log-fatal`, `log-info`, `log-warning`, `match`, `match*`, `match*/derived`, `match-define`, `match-define-values`, `match-lambda`, `match-lambda*`, `match-lambda**`, `match-let`, `match-let*`, `match-let*-values`, `match-let-values`, `match-letrec`, `match-letrec-values`, `match/derived`, `match/values`, `member-name-key`, `mixin`, `module`, `module*`, `module+`, `nand`, `new`, `nor`, `object-contract`, `object/c`, `only`, `only-in`, `only-meta-in`, `open`, `opt/c`, `or`, `overment`, `overment*`, `override`, `override*`, `override-final`, `override-final*`, `parameterize`, `parameterize*`, `parameterize-break`, `parametric->/c`, `place`, `place*`, `place/context`, `planet`, `prefix`, `prefix-in`, `prefix-out`, `private`, `private*`, `prompt-tag/c`, `protect-out`, `provide`, `provide-signature-elements`, `provide/contract`, `public`, `public*`, `public-final`, `public-final*`, `pubment`, `pubment*`, `quasiquote`, `quasisyntax`, `quasisyntax/loc`, `quote`, `quote-syntax`, `quote-syntax/prune`, `recontract-out`, `recursive-contract`, `relative-in`, `rename`, `rename-in`, `rename-inner`, `rename-out`, `rename-super`, `require`, `send`, `send*`, `send+`, `send-generic`, `send/apply`, `send/keyword-apply`, `set!`, `set!-values`, `set-field!`, `shared`, `stream`, `stream*`, `stream-cons`, `struct`, `struct*`, `struct-copy`, `struct-field-index`, `struct-out`, `struct/c`, `struct/ctc`, `struct/dc`, `submod`, `super`, `super-instantiate`, `super-make-object`, `super-new`, `syntax`, `syntax-case`, `syntax-case*`, `syntax-id-rules`, `syntax-rules`, `syntax/loc`, `tag`, `this`, `this%`, `thunk`, `thunk*`, `time`, `unconstrained-domain->`, `unit`, `unit-from-context`, `unit/c`, `unit/new-import-export`, `unit/s`, `unless`, `unquote`, `unquote-splicing`, `unsyntax`, `unsyntax-splicing`, `values/drop`, `when`, `with-continuation-mark`, `with-contract`, `with-contract-continuation-mark`, `with-handlers`, `with-handlers*`, `with-method`, `with-syntax`, `λ`), Keyword, Pop(1)}, - {Words(``, "(?=[()[\\]{}\",\\'`;\\s])", `*`, `*list/c`, `+`, `-`, `/`, `<`, ``, `>/c`, `>=`, `>=/c`, `abort-current-continuation`, `abs`, `absolute-path?`, `acos`, `add-between`, `add1`, `alarm-evt`, `always-evt`, `and/c`, `andmap`, `angle`, `any/c`, `append`, `append*`, `append-map`, `apply`, `argmax`, `argmin`, `arithmetic-shift`, `arity-at-least`, `arity-at-least-value`, `arity-at-least?`, `arity-checking-wrapper`, `arity-includes?`, `arity=?`, `arrow-contract-info`, `arrow-contract-info-accepts-arglist`, `arrow-contract-info-chaperone-procedure`, `arrow-contract-info-check-first-order`, `arrow-contract-info?`, `asin`, `assf`, `assoc`, `assq`, `assv`, `atan`, `bad-number-of-results`, `banner`, `base->-doms/c`, `base->-rngs/c`, `base->?`, `between/c`, `bitwise-and`, `bitwise-bit-field`, `bitwise-bit-set?`, `bitwise-ior`, `bitwise-not`, `bitwise-xor`, `blame-add-car-context`, `blame-add-cdr-context`, `blame-add-context`, `blame-add-missing-party`, `blame-add-nth-arg-context`, `blame-add-range-context`, `blame-add-unknown-context`, `blame-context`, `blame-contract`, `blame-fmt->-string`, `blame-missing-party?`, `blame-negative`, `blame-original?`, `blame-positive`, `blame-replace-negative`, `blame-source`, `blame-swap`, `blame-swapped?`, `blame-update`, `blame-value`, `blame?`, `boolean=?`, `boolean?`, `bound-identifier=?`, `box`, `box-cas!`, `box-immutable`, `box-immutable/c`, `box/c`, `box?`, `break-enabled`, `break-parameterization?`, `break-thread`, `build-chaperone-contract-property`, `build-compound-type-name`, `build-contract-property`, `build-flat-contract-property`, `build-list`, `build-path`, `build-path/convention-type`, `build-string`, `build-vector`, `byte-pregexp`, `byte-pregexp?`, `byte-ready?`, `byte-regexp`, `byte-regexp?`, `byte?`, `bytes`, `bytes->immutable-bytes`, `bytes->list`, `bytes->path`, `bytes->path-element`, `bytes->string/latin-1`, `bytes->string/locale`, `bytes->string/utf-8`, `bytes-append`, `bytes-append*`, `bytes-close-converter`, `bytes-convert`, `bytes-convert-end`, `bytes-converter?`, `bytes-copy`, `bytes-copy!`, `bytes-environment-variable-name?`, `bytes-fill!`, `bytes-join`, `bytes-length`, `bytes-no-nuls?`, `bytes-open-converter`, `bytes-ref`, `bytes-set!`, `bytes-utf-8-index`, `bytes-utf-8-length`, `bytes-utf-8-ref`, `bytes?`, `bytes?`, `caaaar`, `caaadr`, `caaar`, `caadar`, `caaddr`, `caadr`, `caar`, `cadaar`, `cadadr`, `cadar`, `caddar`, `cadddr`, `caddr`, `cadr`, `call-in-nested-thread`, `call-with-atomic-output-file`, `call-with-break-parameterization`, `call-with-composable-continuation`, `call-with-continuation-barrier`, `call-with-continuation-prompt`, `call-with-current-continuation`, `call-with-default-reading-parameterization`, `call-with-escape-continuation`, `call-with-exception-handler`, `call-with-file-lock/timeout`, `call-with-immediate-continuation-mark`, `call-with-input-bytes`, `call-with-input-file`, `call-with-input-file*`, `call-with-input-string`, `call-with-output-bytes`, `call-with-output-file`, `call-with-output-file*`, `call-with-output-string`, `call-with-parameterization`, `call-with-semaphore`, `call-with-semaphore/enable-break`, `call-with-values`, `call/cc`, `call/ec`, `car`, `cartesian-product`, `cdaaar`, `cdaadr`, `cdaar`, `cdadar`, `cdaddr`, `cdadr`, `cdar`, `cddaar`, `cddadr`, `cddar`, `cdddar`, `cddddr`, `cdddr`, `cddr`, `cdr`, `ceiling`, `channel-get`, `channel-put`, `channel-put-evt`, `channel-put-evt?`, `channel-try-get`, `channel/c`, `channel?`, `chaperone-box`, `chaperone-channel`, `chaperone-continuation-mark-key`, `chaperone-contract-property?`, `chaperone-contract?`, `chaperone-evt`, `chaperone-hash`, `chaperone-hash-set`, `chaperone-of?`, `chaperone-procedure`, `chaperone-procedure*`, `chaperone-prompt-tag`, `chaperone-struct`, `chaperone-struct-type`, `chaperone-vector`, `chaperone?`, `char->integer`, `char-alphabetic?`, `char-blank?`, `char-ci<=?`, `char-ci=?`, `char-ci>?`, `char-downcase`, `char-foldcase`, `char-general-category`, `char-graphic?`, `char-in`, `char-in/c`, `char-iso-control?`, `char-lower-case?`, `char-numeric?`, `char-punctuation?`, `char-ready?`, `char-symbolic?`, `char-title-case?`, `char-titlecase`, `char-upcase`, `char-upper-case?`, `char-utf-8-length`, `char-whitespace?`, `char<=?`, `char=?`, `char>?`, `char?`, `check-duplicate-identifier`, `check-duplicates`, `checked-procedure-check-and-extract`, `choice-evt`, `class->interface`, `class-info`, `class-seal`, `class-unseal`, `class?`, `cleanse-path`, `close-input-port`, `close-output-port`, `coerce-chaperone-contract`, `coerce-chaperone-contracts`, `coerce-contract`, `coerce-contract/f`, `coerce-contracts`, `coerce-flat-contract`, `coerce-flat-contracts`, `collect-garbage`, `collection-file-path`, `collection-path`, `combinations`, `compile`, `compile-allow-set!-undefined`, `compile-context-preservation-enabled`, `compile-enforce-module-constants`, `compile-syntax`, `compiled-expression-recompile`, `compiled-expression?`, `compiled-module-expression?`, `complete-path?`, `complex?`, `compose`, `compose1`, `conjoin`, `conjugate`, `cons`, `cons/c`, `cons?`, `const`, `continuation-mark-key/c`, `continuation-mark-key?`, `continuation-mark-set->context`, `continuation-mark-set->list`, `continuation-mark-set->list*`, `continuation-mark-set-first`, `continuation-mark-set?`, `continuation-marks`, `continuation-prompt-available?`, `continuation-prompt-tag?`, `continuation?`, `contract-continuation-mark-key`, `contract-custom-write-property-proc`, `contract-exercise`, `contract-first-order`, `contract-first-order-passes?`, `contract-late-neg-projection`, `contract-name`, `contract-proc`, `contract-projection`, `contract-property?`, `contract-random-generate`, `contract-random-generate-fail`, `contract-random-generate-fail?`, `contract-random-generate-get-current-environment`, `contract-random-generate-stash`, `contract-random-generate/choose`, `contract-stronger?`, `contract-struct-exercise`, `contract-struct-generate`, `contract-struct-late-neg-projection`, `contract-struct-list-contract?`, `contract-val-first-projection`, `contract?`, `convert-stream`, `copy-directory/files`, `copy-file`, `copy-port`, `cos`, `cosh`, `count`, `current-blame-format`, `current-break-parameterization`, `current-code-inspector`, `current-command-line-arguments`, `current-compile`, `current-compiled-file-roots`, `current-continuation-marks`, `current-contract-region`, `current-custodian`, `current-directory`, `current-directory-for-user`, `current-drive`, `current-environment-variables`, `current-error-port`, `current-eval`, `current-evt-pseudo-random-generator`, `current-force-delete-permissions`, `current-future`, `current-gc-milliseconds`, `current-get-interaction-input-port`, `current-inexact-milliseconds`, `current-input-port`, `current-inspector`, `current-library-collection-links`, `current-library-collection-paths`, `current-load`, `current-load-extension`, `current-load-relative-directory`, `current-load/use-compiled`, `current-locale`, `current-logger`, `current-memory-use`, `current-milliseconds`, `current-module-declare-name`, `current-module-declare-source`, `current-module-name-resolver`, `current-module-path-for-load`, `current-namespace`, `current-output-port`, `current-parameterization`, `current-plumber`, `current-preserved-thread-cell-values`, `current-print`, `current-process-milliseconds`, `current-prompt-read`, `current-pseudo-random-generator`, `current-read-interaction`, `current-reader-guard`, `current-readtable`, `current-seconds`, `current-security-guard`, `current-subprocess-custodian-mode`, `current-thread`, `current-thread-group`, `current-thread-initial-stack-size`, `current-write-relative-directory`, `curry`, `curryr`, `custodian-box-value`, `custodian-box?`, `custodian-limit-memory`, `custodian-managed-list`, `custodian-memory-accounting-available?`, `custodian-require-memory`, `custodian-shutdown-all`, `custodian?`, `custom-print-quotable-accessor`, `custom-print-quotable?`, `custom-write-accessor`, `custom-write-property-proc`, `custom-write?`, `date`, `date*`, `date*-nanosecond`, `date*-time-zone-name`, `date*?`, `date-day`, `date-dst?`, `date-hour`, `date-minute`, `date-month`, `date-second`, `date-time-zone-offset`, `date-week-day`, `date-year`, `date-year-day`, `date?`, `datum->syntax`, `datum-intern-literal`, `default-continuation-prompt-tag`, `degrees->radians`, `delete-directory`, `delete-directory/files`, `delete-file`, `denominator`, `dict->list`, `dict-can-functional-set?`, `dict-can-remove-keys?`, `dict-clear`, `dict-clear!`, `dict-copy`, `dict-count`, `dict-empty?`, `dict-for-each`, `dict-has-key?`, `dict-implements/c`, `dict-implements?`, `dict-iter-contract`, `dict-iterate-first`, `dict-iterate-key`, `dict-iterate-next`, `dict-iterate-value`, `dict-key-contract`, `dict-keys`, `dict-map`, `dict-mutable?`, `dict-ref`, `dict-ref!`, `dict-remove`, `dict-remove!`, `dict-set`, `dict-set!`, `dict-set*`, `dict-set*!`, `dict-update`, `dict-update!`, `dict-value-contract`, `dict-values`, `dict?`, `directory-exists?`, `directory-list`, `disjoin`, `display`, `display-lines`, `display-lines-to-file`, `display-to-file`, `displayln`, `double-flonum?`, `drop`, `drop-common-prefix`, `drop-right`, `dropf`, `dropf-right`, `dump-memory-stats`, `dup-input-port`, `dup-output-port`, `dynamic->*`, `dynamic-get-field`, `dynamic-object/c`, `dynamic-place`, `dynamic-place*`, `dynamic-require`, `dynamic-require-for-syntax`, `dynamic-send`, `dynamic-set-field!`, `dynamic-wind`, `eighth`, `empty`, `empty-sequence`, `empty-stream`, `empty?`, `environment-variables-copy`, `environment-variables-names`, `environment-variables-ref`, `environment-variables-set!`, `environment-variables?`, `eof`, `eof-evt`, `eof-object?`, `ephemeron-value`, `ephemeron?`, `eprintf`, `eq-contract-val`, `eq-contract?`, `eq-hash-code`, `eq?`, `equal-contract-val`, `equal-contract?`, `equal-hash-code`, `equal-secondary-hash-code`, `equal<%>`, `equal?`, `equal?/recur`, `eqv-hash-code`, `eqv?`, `error`, `error-display-handler`, `error-escape-handler`, `error-print-context-length`, `error-print-source-location`, `error-print-width`, `error-value->string-handler`, `eval`, `eval-jit-enabled`, `eval-syntax`, `even?`, `evt/c`, `evt?`, `exact->inexact`, `exact-ceiling`, `exact-floor`, `exact-integer?`, `exact-nonnegative-integer?`, `exact-positive-integer?`, `exact-round`, `exact-truncate`, `exact?`, `executable-yield-handler`, `exit`, `exit-handler`, `exn`, `exn-continuation-marks`, `exn-message`, `exn:break`, `exn:break-continuation`, `exn:break:hang-up`, `exn:break:hang-up?`, `exn:break:terminate`, `exn:break:terminate?`, `exn:break?`, `exn:fail`, `exn:fail:contract`, `exn:fail:contract:arity`, `exn:fail:contract:arity?`, `exn:fail:contract:blame`, `exn:fail:contract:blame-object`, `exn:fail:contract:blame?`, `exn:fail:contract:continuation`, `exn:fail:contract:continuation?`, `exn:fail:contract:divide-by-zero`, `exn:fail:contract:divide-by-zero?`, `exn:fail:contract:non-fixnum-result`, `exn:fail:contract:non-fixnum-result?`, `exn:fail:contract:variable`, `exn:fail:contract:variable-id`, `exn:fail:contract:variable?`, `exn:fail:contract?`, `exn:fail:filesystem`, `exn:fail:filesystem:errno`, `exn:fail:filesystem:errno-errno`, `exn:fail:filesystem:errno?`, `exn:fail:filesystem:exists`, `exn:fail:filesystem:exists?`, `exn:fail:filesystem:missing-module`, `exn:fail:filesystem:missing-module-path`, `exn:fail:filesystem:missing-module?`, `exn:fail:filesystem:version`, `exn:fail:filesystem:version?`, `exn:fail:filesystem?`, `exn:fail:network`, `exn:fail:network:errno`, `exn:fail:network:errno-errno`, `exn:fail:network:errno?`, `exn:fail:network?`, `exn:fail:object`, `exn:fail:object?`, `exn:fail:out-of-memory`, `exn:fail:out-of-memory?`, `exn:fail:read`, `exn:fail:read-srclocs`, `exn:fail:read:eof`, `exn:fail:read:eof?`, `exn:fail:read:non-char`, `exn:fail:read:non-char?`, `exn:fail:read?`, `exn:fail:syntax`, `exn:fail:syntax-exprs`, `exn:fail:syntax:missing-module`, `exn:fail:syntax:missing-module-path`, `exn:fail:syntax:missing-module?`, `exn:fail:syntax:unbound`, `exn:fail:syntax:unbound?`, `exn:fail:syntax?`, `exn:fail:unsupported`, `exn:fail:unsupported?`, `exn:fail:user`, `exn:fail:user?`, `exn:fail?`, `exn:misc:match?`, `exn:missing-module-accessor`, `exn:missing-module?`, `exn:srclocs-accessor`, `exn:srclocs?`, `exn?`, `exp`, `expand`, `expand-once`, `expand-syntax`, `expand-syntax-once`, `expand-syntax-to-top-form`, `expand-to-top-form`, `expand-user-path`, `explode-path`, `expt`, `externalizable<%>`, `failure-result/c`, `false?`, `field-names`, `fifth`, `file->bytes`, `file->bytes-lines`, `file->lines`, `file->list`, `file->string`, `file->value`, `file-exists?`, `file-name-from-path`, `file-or-directory-identity`, `file-or-directory-modify-seconds`, `file-or-directory-permissions`, `file-position`, `file-position*`, `file-size`, `file-stream-buffer-mode`, `file-stream-port?`, `file-truncate`, `filename-extension`, `filesystem-change-evt`, `filesystem-change-evt-cancel`, `filesystem-change-evt?`, `filesystem-root-list`, `filter`, `filter-map`, `filter-not`, `filter-read-input-port`, `find-executable-path`, `find-files`, `find-library-collection-links`, `find-library-collection-paths`, `find-relative-path`, `find-system-path`, `findf`, `first`, `first-or/c`, `fixnum?`, `flat-contract`, `flat-contract-predicate`, `flat-contract-property?`, `flat-contract?`, `flat-named-contract`, `flatten`, `floating-point-bytes->real`, `flonum?`, `floor`, `flush-output`, `fold-files`, `foldl`, `foldr`, `for-each`, `force`, `format`, `fourth`, `fprintf`, `free-identifier=?`, `free-label-identifier=?`, `free-template-identifier=?`, `free-transformer-identifier=?`, `fsemaphore-count`, `fsemaphore-post`, `fsemaphore-try-wait?`, `fsemaphore-wait`, `fsemaphore?`, `future`, `future?`, `futures-enabled?`, `gcd`, `generate-member-key`, `generate-temporaries`, `generic-set?`, `generic?`, `gensym`, `get-output-bytes`, `get-output-string`, `get-preference`, `get/build-late-neg-projection`, `get/build-val-first-projection`, `getenv`, `global-port-print-handler`, `group-by`, `group-execute-bit`, `group-read-bit`, `group-write-bit`, `guard-evt`, `handle-evt`, `handle-evt?`, `has-blame?`, `has-contract?`, `hash`, `hash->list`, `hash-clear`, `hash-clear!`, `hash-copy`, `hash-copy-clear`, `hash-count`, `hash-empty?`, `hash-eq?`, `hash-equal?`, `hash-eqv?`, `hash-for-each`, `hash-has-key?`, `hash-iterate-first`, `hash-iterate-key`, `hash-iterate-key+value`, `hash-iterate-next`, `hash-iterate-pair`, `hash-iterate-value`, `hash-keys`, `hash-map`, `hash-placeholder?`, `hash-ref`, `hash-ref!`, `hash-remove`, `hash-remove!`, `hash-set`, `hash-set!`, `hash-set*`, `hash-set*!`, `hash-update`, `hash-update!`, `hash-values`, `hash-weak?`, `hash/c`, `hash?`, `hasheq`, `hasheqv`, `identifier-binding`, `identifier-binding-symbol`, `identifier-label-binding`, `identifier-prune-lexical-context`, `identifier-prune-to-source-module`, `identifier-remove-from-definition-context`, `identifier-template-binding`, `identifier-transformer-binding`, `identifier?`, `identity`, `if/c`, `imag-part`, `immutable?`, `impersonate-box`, `impersonate-channel`, `impersonate-continuation-mark-key`, `impersonate-hash`, `impersonate-hash-set`, `impersonate-procedure`, `impersonate-procedure*`, `impersonate-prompt-tag`, `impersonate-struct`, `impersonate-vector`, `impersonator-contract?`, `impersonator-ephemeron`, `impersonator-of?`, `impersonator-prop:application-mark`, `impersonator-prop:blame`, `impersonator-prop:contracted`, `impersonator-property-accessor-procedure?`, `impersonator-property?`, `impersonator?`, `implementation?`, `implementation?/c`, `in-bytes`, `in-bytes-lines`, `in-combinations`, `in-cycle`, `in-dict`, `in-dict-keys`, `in-dict-pairs`, `in-dict-values`, `in-directory`, `in-hash`, `in-hash-keys`, `in-hash-pairs`, `in-hash-values`, `in-immutable-hash`, `in-immutable-hash-keys`, `in-immutable-hash-pairs`, `in-immutable-hash-values`, `in-immutable-set`, `in-indexed`, `in-input-port-bytes`, `in-input-port-chars`, `in-lines`, `in-list`, `in-mlist`, `in-mutable-hash`, `in-mutable-hash-keys`, `in-mutable-hash-pairs`, `in-mutable-hash-values`, `in-mutable-set`, `in-naturals`, `in-parallel`, `in-permutations`, `in-port`, `in-producer`, `in-range`, `in-sequences`, `in-set`, `in-slice`, `in-stream`, `in-string`, `in-syntax`, `in-value`, `in-values*-sequence`, `in-values-sequence`, `in-vector`, `in-weak-hash`, `in-weak-hash-keys`, `in-weak-hash-pairs`, `in-weak-hash-values`, `in-weak-set`, `inexact->exact`, `inexact-real?`, `inexact?`, `infinite?`, `input-port-append`, `input-port?`, `inspector?`, `instanceof/c`, `integer->char`, `integer->integer-bytes`, `integer-bytes->integer`, `integer-in`, `integer-length`, `integer-sqrt`, `integer-sqrt/remainder`, `integer?`, `interface->method-names`, `interface-extension?`, `interface?`, `internal-definition-context-binding-identifiers`, `internal-definition-context-introduce`, `internal-definition-context-seal`, `internal-definition-context?`, `is-a?`, `is-a?/c`, `keyword->string`, `keyword-apply`, `keywordbytes`, `list->mutable-set`, `list->mutable-seteq`, `list->mutable-seteqv`, `list->set`, `list->seteq`, `list->seteqv`, `list->string`, `list->vector`, `list->weak-set`, `list->weak-seteq`, `list->weak-seteqv`, `list-contract?`, `list-prefix?`, `list-ref`, `list-set`, `list-tail`, `list-update`, `list/c`, `list?`, `listen-port-number?`, `listof`, `load`, `load-extension`, `load-on-demand-enabled`, `load-relative`, `load-relative-extension`, `load/cd`, `load/use-compiled`, `local-expand`, `local-expand/capture-lifts`, `local-transformer-expand`, `local-transformer-expand/capture-lifts`, `locale-string-encoding`, `log`, `log-all-levels`, `log-level-evt`, `log-level?`, `log-max-level`, `log-message`, `log-receiver?`, `logger-name`, `logger?`, `magnitude`, `make-arity-at-least`, `make-base-empty-namespace`, `make-base-namespace`, `make-bytes`, `make-channel`, `make-chaperone-contract`, `make-continuation-mark-key`, `make-continuation-prompt-tag`, `make-contract`, `make-custodian`, `make-custodian-box`, `make-custom-hash`, `make-custom-hash-types`, `make-custom-set`, `make-custom-set-types`, `make-date`, `make-date*`, `make-derived-parameter`, `make-directory`, `make-directory*`, `make-do-sequence`, `make-empty-namespace`, `make-environment-variables`, `make-ephemeron`, `make-exn`, `make-exn:break`, `make-exn:break:hang-up`, `make-exn:break:terminate`, `make-exn:fail`, `make-exn:fail:contract`, `make-exn:fail:contract:arity`, `make-exn:fail:contract:blame`, `make-exn:fail:contract:continuation`, `make-exn:fail:contract:divide-by-zero`, `make-exn:fail:contract:non-fixnum-result`, `make-exn:fail:contract:variable`, `make-exn:fail:filesystem`, `make-exn:fail:filesystem:errno`, `make-exn:fail:filesystem:exists`, `make-exn:fail:filesystem:missing-module`, `make-exn:fail:filesystem:version`, `make-exn:fail:network`, `make-exn:fail:network:errno`, `make-exn:fail:object`, `make-exn:fail:out-of-memory`, `make-exn:fail:read`, `make-exn:fail:read:eof`, `make-exn:fail:read:non-char`, `make-exn:fail:syntax`, `make-exn:fail:syntax:missing-module`, `make-exn:fail:syntax:unbound`, `make-exn:fail:unsupported`, `make-exn:fail:user`, `make-file-or-directory-link`, `make-flat-contract`, `make-fsemaphore`, `make-generic`, `make-handle-get-preference-locked`, `make-hash`, `make-hash-placeholder`, `make-hasheq`, `make-hasheq-placeholder`, `make-hasheqv`, `make-hasheqv-placeholder`, `make-immutable-custom-hash`, `make-immutable-hash`, `make-immutable-hasheq`, `make-immutable-hasheqv`, `make-impersonator-property`, `make-input-port`, `make-input-port/read-to-peek`, `make-inspector`, `make-keyword-procedure`, `make-known-char-range-list`, `make-limited-input-port`, `make-list`, `make-lock-file-name`, `make-log-receiver`, `make-logger`, `make-mixin-contract`, `make-mutable-custom-set`, `make-none/c`, `make-object`, `make-output-port`, `make-parameter`, `make-parent-directory*`, `make-phantom-bytes`, `make-pipe`, `make-pipe-with-specials`, `make-placeholder`, `make-plumber`, `make-polar`, `make-prefab-struct`, `make-primitive-class`, `make-proj-contract`, `make-pseudo-random-generator`, `make-reader-graph`, `make-readtable`, `make-rectangular`, `make-rename-transformer`, `make-resolved-module-path`, `make-security-guard`, `make-semaphore`, `make-set!-transformer`, `make-shared-bytes`, `make-sibling-inspector`, `make-special-comment`, `make-srcloc`, `make-string`, `make-struct-field-accessor`, `make-struct-field-mutator`, `make-struct-type`, `make-struct-type-property`, `make-syntax-delta-introducer`, `make-syntax-introducer`, `make-temporary-file`, `make-tentative-pretty-print-output-port`, `make-thread-cell`, `make-thread-group`, `make-vector`, `make-weak-box`, `make-weak-custom-hash`, `make-weak-custom-set`, `make-weak-hash`, `make-weak-hasheq`, `make-weak-hasheqv`, `make-will-executor`, `map`, `match-equality-test`, `matches-arity-exactly?`, `max`, `mcar`, `mcdr`, `mcons`, `member`, `member-name-key-hash-code`, `member-name-key=?`, `member-name-key?`, `memf`, `memq`, `memv`, `merge-input`, `method-in-interface?`, `min`, `mixin-contract`, `module->exports`, `module->imports`, `module->language-info`, `module->namespace`, `module-compiled-cross-phase-persistent?`, `module-compiled-exports`, `module-compiled-imports`, `module-compiled-language-info`, `module-compiled-name`, `module-compiled-submodules`, `module-declared?`, `module-path-index-join`, `module-path-index-resolve`, `module-path-index-split`, `module-path-index-submodule`, `module-path-index?`, `module-path?`, `module-predefined?`, `module-provide-protected?`, `modulo`, `mpair?`, `mutable-set`, `mutable-seteq`, `mutable-seteqv`, `n->th`, `nack-guard-evt`, `namespace-anchor->empty-namespace`, `namespace-anchor->namespace`, `namespace-anchor?`, `namespace-attach-module`, `namespace-attach-module-declaration`, `namespace-base-phase`, `namespace-mapped-symbols`, `namespace-module-identifier`, `namespace-module-registry`, `namespace-require`, `namespace-require/constant`, `namespace-require/copy`, `namespace-require/expansion-time`, `namespace-set-variable-value!`, `namespace-symbol->identifier`, `namespace-syntax-introduce`, `namespace-undefine-variable!`, `namespace-unprotect-module`, `namespace-variable-value`, `namespace?`, `nan?`, `natural-number/c`, `negate`, `negative?`, `never-evt`, `new-∀/c`, `new-∃/c`, `newline`, `ninth`, `non-empty-listof`, `non-empty-string?`, `none/c`, `normal-case-path`, `normalize-arity`, `normalize-path`, `normalized-arity?`, `not`, `not/c`, `null`, `null?`, `number->string`, `number?`, `numerator`, `object%`, `object->vector`, `object-info`, `object-interface`, `object-method-arity-includes?`, `object-name`, `object-or-false=?`, `object=?`, `object?`, `odd?`, `one-of/c`, `open-input-bytes`, `open-input-file`, `open-input-output-file`, `open-input-string`, `open-output-bytes`, `open-output-file`, `open-output-nowhere`, `open-output-string`, `or/c`, `order-of-magnitude`, `ormap`, `other-execute-bit`, `other-read-bit`, `other-write-bit`, `output-port?`, `pair?`, `parameter-procedure=?`, `parameter/c`, `parameter?`, `parameterization?`, `parse-command-line`, `partition`, `path->bytes`, `path->complete-path`, `path->directory-path`, `path->string`, `path-add-suffix`, `path-convention-type`, `path-element->bytes`, `path-element->string`, `path-element?`, `path-for-some-system?`, `path-list-string->path-list`, `path-only`, `path-replace-suffix`, `path-string?`, `pathbytes`, `port->bytes-lines`, `port->lines`, `port->list`, `port->string`, `port-closed-evt`, `port-closed?`, `port-commit-peeked`, `port-count-lines!`, `port-count-lines-enabled`, `port-counts-lines?`, `port-display-handler`, `port-file-identity`, `port-file-unlock`, `port-next-location`, `port-number?`, `port-print-handler`, `port-progress-evt`, `port-provides-progress-evts?`, `port-read-handler`, `port-try-file-lock?`, `port-write-handler`, `port-writes-atomic?`, `port-writes-special?`, `port?`, `positive?`, `predicate/c`, `prefab-key->struct-type`, `prefab-key?`, `prefab-struct-key`, `preferences-lock-file-mode`, `pregexp`, `pregexp?`, `pretty-display`, `pretty-format`, `pretty-print`, `pretty-print-.-symbol-without-bars`, `pretty-print-abbreviate-read-macros`, `pretty-print-columns`, `pretty-print-current-style-table`, `pretty-print-depth`, `pretty-print-exact-as-decimal`, `pretty-print-extend-style-table`, `pretty-print-handler`, `pretty-print-newline`, `pretty-print-post-print-hook`, `pretty-print-pre-print-hook`, `pretty-print-print-hook`, `pretty-print-print-line`, `pretty-print-remap-stylable`, `pretty-print-show-inexactness`, `pretty-print-size-hook`, `pretty-print-style-table?`, `pretty-printing`, `pretty-write`, `primitive-closure?`, `primitive-result-arity`, `primitive?`, `print`, `print-as-expression`, `print-boolean-long-form`, `print-box`, `print-graph`, `print-hash-table`, `print-mpair-curly-braces`, `print-pair-curly-braces`, `print-reader-abbreviations`, `print-struct`, `print-syntax-width`, `print-unreadable`, `print-vector-length`, `printable/c`, `printable<%>`, `printf`, `println`, `procedure->method`, `procedure-arity`, `procedure-arity-includes/c`, `procedure-arity-includes?`, `procedure-arity?`, `procedure-closure-contents-eq?`, `procedure-extract-target`, `procedure-keywords`, `procedure-reduce-arity`, `procedure-reduce-keyword-arity`, `procedure-rename`, `procedure-result-arity`, `procedure-specialize`, `procedure-struct-type?`, `procedure?`, `process`, `process*`, `process*/ports`, `process/ports`, `processor-count`, `progress-evt?`, `promise-forced?`, `promise-running?`, `promise/c`, `promise/name?`, `promise?`, `prop:arity-string`, `prop:arrow-contract`, `prop:arrow-contract-get-info`, `prop:arrow-contract?`, `prop:blame`, `prop:chaperone-contract`, `prop:checked-procedure`, `prop:contract`, `prop:contracted`, `prop:custom-print-quotable`, `prop:custom-write`, `prop:dict`, `prop:dict/contract`, `prop:equal+hash`, `prop:evt`, `prop:exn:missing-module`, `prop:exn:srclocs`, `prop:expansion-contexts`, `prop:flat-contract`, `prop:impersonator-of`, `prop:input-port`, `prop:liberal-define-context`, `prop:object-name`, `prop:opt-chaperone-contract`, `prop:opt-chaperone-contract-get-test`, `prop:opt-chaperone-contract?`, `prop:orc-contract`, `prop:orc-contract-get-subcontracts`, `prop:orc-contract?`, `prop:output-port`, `prop:place-location`, `prop:procedure`, `prop:recursive-contract`, `prop:recursive-contract-unroll`, `prop:recursive-contract?`, `prop:rename-transformer`, `prop:sequence`, `prop:set!-transformer`, `prop:stream`, `proper-subset?`, `pseudo-random-generator->vector`, `pseudo-random-generator-vector?`, `pseudo-random-generator?`, `put-preferences`, `putenv`, `quotient`, `quotient/remainder`, `radians->degrees`, `raise`, `raise-argument-error`, `raise-arguments-error`, `raise-arity-error`, `raise-blame-error`, `raise-contract-error`, `raise-mismatch-error`, `raise-not-cons-blame-error`, `raise-range-error`, `raise-result-error`, `raise-syntax-error`, `raise-type-error`, `raise-user-error`, `random`, `random-seed`, `range`, `rational?`, `rationalize`, `read`, `read-accept-bar-quote`, `read-accept-box`, `read-accept-compiled`, `read-accept-dot`, `read-accept-graph`, `read-accept-infix-dot`, `read-accept-lang`, `read-accept-quasiquote`, `read-accept-reader`, `read-byte`, `read-byte-or-special`, `read-bytes`, `read-bytes!`, `read-bytes!-evt`, `read-bytes-avail!`, `read-bytes-avail!*`, `read-bytes-avail!-evt`, `read-bytes-avail!/enable-break`, `read-bytes-evt`, `read-bytes-line`, `read-bytes-line-evt`, `read-case-sensitive`, `read-cdot`, `read-char`, `read-char-or-special`, `read-curly-brace-as-paren`, `read-curly-brace-with-tag`, `read-decimal-as-inexact`, `read-eval-print-loop`, `read-language`, `read-line`, `read-line-evt`, `read-on-demand-source`, `read-square-bracket-as-paren`, `read-square-bracket-with-tag`, `read-string`, `read-string!`, `read-string!-evt`, `read-string-evt`, `read-syntax`, `read-syntax/recursive`, `read/recursive`, `readtable-mapping`, `readtable?`, `real->decimal-string`, `real->double-flonum`, `real->floating-point-bytes`, `real->single-flonum`, `real-in`, `real-part`, `real?`, `reencode-input-port`, `reencode-output-port`, `regexp`, `regexp-match`, `regexp-match*`, `regexp-match-evt`, `regexp-match-exact?`, `regexp-match-peek`, `regexp-match-peek-immediate`, `regexp-match-peek-positions`, `regexp-match-peek-positions*`, `regexp-match-peek-positions-immediate`, `regexp-match-peek-positions-immediate/end`, `regexp-match-peek-positions/end`, `regexp-match-positions`, `regexp-match-positions*`, `regexp-match-positions/end`, `regexp-match/end`, `regexp-match?`, `regexp-max-lookbehind`, `regexp-quote`, `regexp-replace`, `regexp-replace*`, `regexp-replace-quote`, `regexp-replaces`, `regexp-split`, `regexp-try-match`, `regexp?`, `relative-path?`, `relocate-input-port`, `relocate-output-port`, `remainder`, `remf`, `remf*`, `remove`, `remove*`, `remove-duplicates`, `remq`, `remq*`, `remv`, `remv*`, `rename-contract`, `rename-file-or-directory`, `rename-transformer-target`, `rename-transformer?`, `replace-evt`, `reroot-path`, `resolve-path`, `resolved-module-path-name`, `resolved-module-path?`, `rest`, `reverse`, `round`, `second`, `seconds->date`, `security-guard?`, `semaphore-peek-evt`, `semaphore-peek-evt?`, `semaphore-post`, `semaphore-try-wait?`, `semaphore-wait`, `semaphore-wait/enable-break`, `semaphore?`, `sequence->list`, `sequence->stream`, `sequence-add-between`, `sequence-andmap`, `sequence-append`, `sequence-count`, `sequence-filter`, `sequence-fold`, `sequence-for-each`, `sequence-generate`, `sequence-generate*`, `sequence-length`, `sequence-map`, `sequence-ormap`, `sequence-ref`, `sequence-tail`, `sequence/c`, `sequence?`, `set`, `set!-transformer-procedure`, `set!-transformer?`, `set->list`, `set->stream`, `set-add`, `set-add!`, `set-box!`, `set-clear`, `set-clear!`, `set-copy`, `set-copy-clear`, `set-count`, `set-empty?`, `set-eq?`, `set-equal?`, `set-eqv?`, `set-first`, `set-for-each`, `set-implements/c`, `set-implements?`, `set-intersect`, `set-intersect!`, `set-map`, `set-mcar!`, `set-mcdr!`, `set-member?`, `set-mutable?`, `set-phantom-bytes!`, `set-port-next-location!`, `set-remove`, `set-remove!`, `set-rest`, `set-some-basic-contracts!`, `set-subtract`, `set-subtract!`, `set-symmetric-difference`, `set-symmetric-difference!`, `set-union`, `set-union!`, `set-weak?`, `set/c`, `set=?`, `set?`, `seteq`, `seteqv`, `seventh`, `sgn`, `shared-bytes`, `shell-execute`, `shrink-path-wrt`, `shuffle`, `simple-form-path`, `simplify-path`, `sin`, `single-flonum?`, `sinh`, `sixth`, `skip-projection-wrapper?`, `sleep`, `some-system-path->string`, `sort`, `special-comment-value`, `special-comment?`, `special-filter-input-port`, `split-at`, `split-at-right`, `split-common-prefix`, `split-path`, `splitf-at`, `splitf-at-right`, `sqr`, `sqrt`, `srcloc`, `srcloc->string`, `srcloc-column`, `srcloc-line`, `srcloc-position`, `srcloc-source`, `srcloc-span`, `srcloc?`, `stop-after`, `stop-before`, `stream->list`, `stream-add-between`, `stream-andmap`, `stream-append`, `stream-count`, `stream-empty?`, `stream-filter`, `stream-first`, `stream-fold`, `stream-for-each`, `stream-length`, `stream-map`, `stream-ormap`, `stream-ref`, `stream-rest`, `stream-tail`, `stream/c`, `stream?`, `string`, `string->bytes/latin-1`, `string->bytes/locale`, `string->bytes/utf-8`, `string->immutable-string`, `string->keyword`, `string->list`, `string->number`, `string->path`, `string->path-element`, `string->some-system-path`, `string->symbol`, `string->uninterned-symbol`, `string->unreadable-symbol`, `string-append`, `string-append*`, `string-ci<=?`, `string-ci=?`, `string-ci>?`, `string-contains?`, `string-copy`, `string-copy!`, `string-downcase`, `string-environment-variable-name?`, `string-fill!`, `string-foldcase`, `string-join`, `string-len/c`, `string-length`, `string-locale-ci?`, `string-locale-downcase`, `string-locale-upcase`, `string-locale?`, `string-no-nuls?`, `string-normalize-nfc`, `string-normalize-nfd`, `string-normalize-nfkc`, `string-normalize-nfkd`, `string-normalize-spaces`, `string-port?`, `string-prefix?`, `string-ref`, `string-replace`, `string-set!`, `string-split`, `string-suffix?`, `string-titlecase`, `string-trim`, `string-upcase`, `string-utf-8-length`, `string<=?`, `string=?`, `string>?`, `string?`, `struct->vector`, `struct-accessor-procedure?`, `struct-constructor-procedure?`, `struct-info`, `struct-mutator-procedure?`, `struct-predicate-procedure?`, `struct-type-info`, `struct-type-make-constructor`, `struct-type-make-predicate`, `struct-type-property-accessor-procedure?`, `struct-type-property/c`, `struct-type-property?`, `struct-type?`, `struct:arity-at-least`, `struct:arrow-contract-info`, `struct:date`, `struct:date*`, `struct:exn`, `struct:exn:break`, `struct:exn:break:hang-up`, `struct:exn:break:terminate`, `struct:exn:fail`, `struct:exn:fail:contract`, `struct:exn:fail:contract:arity`, `struct:exn:fail:contract:blame`, `struct:exn:fail:contract:continuation`, `struct:exn:fail:contract:divide-by-zero`, `struct:exn:fail:contract:non-fixnum-result`, `struct:exn:fail:contract:variable`, `struct:exn:fail:filesystem`, `struct:exn:fail:filesystem:errno`, `struct:exn:fail:filesystem:exists`, `struct:exn:fail:filesystem:missing-module`, `struct:exn:fail:filesystem:version`, `struct:exn:fail:network`, `struct:exn:fail:network:errno`, `struct:exn:fail:object`, `struct:exn:fail:out-of-memory`, `struct:exn:fail:read`, `struct:exn:fail:read:eof`, `struct:exn:fail:read:non-char`, `struct:exn:fail:syntax`, `struct:exn:fail:syntax:missing-module`, `struct:exn:fail:syntax:unbound`, `struct:exn:fail:unsupported`, `struct:exn:fail:user`, `struct:srcloc`, `struct:wrapped-extra-arg-arrow`, `struct?`, `sub1`, `subbytes`, `subclass?`, `subclass?/c`, `subprocess`, `subprocess-group-enabled`, `subprocess-kill`, `subprocess-pid`, `subprocess-status`, `subprocess-wait`, `subprocess?`, `subset?`, `substring`, `suggest/c`, `symbol->string`, `symbol-interned?`, `symbol-unreadable?`, `symboldatum`, `syntax->list`, `syntax-arm`, `syntax-column`, `syntax-debug-info`, `syntax-disarm`, `syntax-e`, `syntax-line`, `syntax-local-bind-syntaxes`, `syntax-local-certifier`, `syntax-local-context`, `syntax-local-expand-expression`, `syntax-local-get-shadower`, `syntax-local-identifier-as-binding`, `syntax-local-introduce`, `syntax-local-lift-context`, `syntax-local-lift-expression`, `syntax-local-lift-module`, `syntax-local-lift-module-end-declaration`, `syntax-local-lift-provide`, `syntax-local-lift-require`, `syntax-local-lift-values-expression`, `syntax-local-make-definition-context`, `syntax-local-make-delta-introducer`, `syntax-local-module-defined-identifiers`, `syntax-local-module-exports`, `syntax-local-module-required-identifiers`, `syntax-local-name`, `syntax-local-phase-level`, `syntax-local-submodules`, `syntax-local-transforming-module-provides?`, `syntax-local-value`, `syntax-local-value/immediate`, `syntax-original?`, `syntax-position`, `syntax-property`, `syntax-property-preserved?`, `syntax-property-symbol-keys`, `syntax-protect`, `syntax-rearm`, `syntax-recertify`, `syntax-shift-phase-level`, `syntax-source`, `syntax-source-module`, `syntax-span`, `syntax-taint`, `syntax-tainted?`, `syntax-track-origin`, `syntax-transforming-module-expression?`, `syntax-transforming-with-lifts?`, `syntax-transforming?`, `syntax/c`, `syntax?`, `system`, `system*`, `system*/exit-code`, `system-big-endian?`, `system-idle-evt`, `system-language+country`, `system-library-subpath`, `system-path-convention-type`, `system-type`, `system/exit-code`, `tail-marks-match?`, `take`, `take-common-prefix`, `take-right`, `takef`, `takef-right`, `tan`, `tanh`, `tcp-abandon-port`, `tcp-accept`, `tcp-accept-evt`, `tcp-accept-ready?`, `tcp-accept/enable-break`, `tcp-addresses`, `tcp-close`, `tcp-connect`, `tcp-connect/enable-break`, `tcp-listen`, `tcp-listener?`, `tcp-port?`, `tentative-pretty-print-port-cancel`, `tentative-pretty-print-port-transfer`, `tenth`, `terminal-port?`, `the-unsupplied-arg`, `third`, `thread`, `thread-cell-ref`, `thread-cell-set!`, `thread-cell-values?`, `thread-cell?`, `thread-dead-evt`, `thread-dead?`, `thread-group?`, `thread-receive`, `thread-receive-evt`, `thread-resume`, `thread-resume-evt`, `thread-rewind-receive`, `thread-running?`, `thread-send`, `thread-suspend`, `thread-suspend-evt`, `thread-try-receive`, `thread-wait`, `thread/suspend-to-kill`, `thread?`, `time-apply`, `touch`, `transplant-input-port`, `transplant-output-port`, `true`, `truncate`, `udp-addresses`, `udp-bind!`, `udp-bound?`, `udp-close`, `udp-connect!`, `udp-connected?`, `udp-multicast-interface`, `udp-multicast-join-group!`, `udp-multicast-leave-group!`, `udp-multicast-loopback?`, `udp-multicast-set-interface!`, `udp-multicast-set-loopback!`, `udp-multicast-set-ttl!`, `udp-multicast-ttl`, `udp-open-socket`, `udp-receive!`, `udp-receive!*`, `udp-receive!-evt`, `udp-receive!/enable-break`, `udp-receive-ready-evt`, `udp-send`, `udp-send*`, `udp-send-evt`, `udp-send-ready-evt`, `udp-send-to`, `udp-send-to*`, `udp-send-to-evt`, `udp-send-to/enable-break`, `udp-send/enable-break`, `udp?`, `unbox`, `uncaught-exception-handler`, `unit?`, `unspecified-dom`, `unsupplied-arg?`, `use-collection-link-paths`, `use-compiled-file-paths`, `use-user-specific-search-paths`, `user-execute-bit`, `user-read-bit`, `user-write-bit`, `value-blame`, `value-contract`, `values`, `variable-reference->empty-namespace`, `variable-reference->module-base-phase`, `variable-reference->module-declaration-inspector`, `variable-reference->module-path-index`, `variable-reference->module-source`, `variable-reference->namespace`, `variable-reference->phase`, `variable-reference->resolved-module-path`, `variable-reference-constant?`, `variable-reference?`, `vector`, `vector->immutable-vector`, `vector->list`, `vector->pseudo-random-generator`, `vector->pseudo-random-generator!`, `vector->values`, `vector-append`, `vector-argmax`, `vector-argmin`, `vector-copy`, `vector-copy!`, `vector-count`, `vector-drop`, `vector-drop-right`, `vector-fill!`, `vector-filter`, `vector-filter-not`, `vector-immutable`, `vector-immutable/c`, `vector-immutableof`, `vector-length`, `vector-map`, `vector-map!`, `vector-member`, `vector-memq`, `vector-memv`, `vector-ref`, `vector-set!`, `vector-set*!`, `vector-set-performance-stats!`, `vector-split-at`, `vector-split-at-right`, `vector-take`, `vector-take-right`, `vector/c`, `vector?`, `vectorof`, `version`, `void`, `void?`, `weak-box-value`, `weak-box?`, `weak-set`, `weak-seteq`, `weak-seteqv`, `will-execute`, `will-executor?`, `will-register`, `will-try-execute`, `with-input-from-bytes`, `with-input-from-file`, `with-input-from-string`, `with-output-to-bytes`, `with-output-to-file`, `with-output-to-string`, `would-be-future`, `wrap-evt`, `wrapped-extra-arg-arrow`, `wrapped-extra-arg-arrow-extra-neg-party-argument`, `wrapped-extra-arg-arrow-real-func`, `wrapped-extra-arg-arrow?`, `writable<%>`, `write`, `write-byte`, `write-bytes`, `write-bytes-avail`, `write-bytes-avail*`, `write-bytes-avail-evt`, `write-bytes-avail/enable-break`, `write-char`, `write-special`, `write-special-avail*`, `write-special-evt`, `write-string`, `write-to-file`, `writeln`, `xor`, `zero?`, `~.a`, `~.s`, `~.v`, `~a`, `~e`, `~r`, `~s`, `~v`), NameBuiltin, Pop(1)}, - {"(?:\\|[^|]*\\||\\\\[\\w\\W]|[^|\\\\()[\\]{}\",\\'`;\\s]+)+", Name, Pop(1)}, - Include("datum*"), - }, - "unquoted-list": { - Include("list"), - {`(?!\Z)`, Text, Push("unquoted-datum")}, - }, - "quasiquoted-datum": { - Include("datum"), - {`,@?`, Operator, Push("#pop", "unquoted-datum")}, - {"unquote(-splicing)?(?=[()[\\]{}\",\\'`;\\s])", Keyword, Push("#pop", "unquoted-datum")}, - {`[([{]`, Punctuation, Push("#pop", "quasiquoted-list")}, - Include("datum*"), - }, - "quasiquoted-list": { - Include("list"), - {`(?!\Z)`, Text, Push("quasiquoted-datum")}, - }, - "quoted-datum": { - Include("datum"), - {`[([{]`, Punctuation, Push("#pop", "quoted-list")}, - Include("datum*"), - }, - "quoted-list": { - Include("list"), - {`(?!\Z)`, Text, Push("quoted-datum")}, - }, - "block-comment": { - {`#\|`, CommentMultiline, Push()}, - {`\|#`, CommentMultiline, Pop(1)}, - {`[^#|]+|.`, CommentMultiline, nil}, - }, - "string": { - {`"`, LiteralStringDouble, Pop(1)}, - {`(?s)\\([0-7]{1,3}|x[\da-fA-F]{1,2}|u[\da-fA-F]{1,4}|U[\da-fA-F]{1,8}|.)`, LiteralStringEscape, nil}, - {`[^\\"]+`, LiteralStringDouble, nil}, - }, - }, -)) diff --git a/vendor/github.com/alecthomas/chroma/lexers/r/ragel.go b/vendor/github.com/alecthomas/chroma/lexers/r/ragel.go deleted file mode 100644 index 3da0ea70..00000000 --- a/vendor/github.com/alecthomas/chroma/lexers/r/ragel.go +++ /dev/null @@ -1,76 +0,0 @@ -package r - -import ( - . "github.com/alecthomas/chroma" // nolint - "github.com/alecthomas/chroma/lexers/internal" -) - -// Ragel lexer. -var Ragel = internal.Register(MustNewLexer( - &Config{ - Name: "Ragel", - Aliases: []string{"ragel"}, - Filenames: []string{}, - MimeTypes: []string{}, - }, - Rules{ - "whitespace": { - {`\s+`, TextWhitespace, nil}, - }, - "comments": { - {`\#.*$`, Comment, nil}, - }, - "keywords": { - {`(access|action|alphtype)\b`, Keyword, nil}, - {`(getkey|write|machine|include)\b`, Keyword, nil}, - {`(any|ascii|extend|alpha|digit|alnum|lower|upper)\b`, Keyword, nil}, - {`(xdigit|cntrl|graph|print|punct|space|zlen|empty)\b`, Keyword, nil}, - }, - "numbers": { - {`0x[0-9A-Fa-f]+`, LiteralNumberHex, nil}, - {`[+-]?[0-9]+`, LiteralNumberInteger, nil}, - }, - "literals": { - {`"(\\\\|\\"|[^"])*"`, LiteralString, nil}, - {`'(\\\\|\\'|[^'])*'`, LiteralString, nil}, - {`\[(\\\\|\\\]|[^\]])*\]`, LiteralString, nil}, - {`/(?!\*)(\\\\|\\/|[^/])*/`, LiteralStringRegex, nil}, - }, - "identifiers": { - {`[a-zA-Z_]\w*`, NameVariable, nil}, - }, - "operators": { - {`,`, Operator, nil}, - {`\||&|--?`, Operator, nil}, - {`\.|<:|:>>?`, Operator, nil}, - {`:`, Operator, nil}, - {`->`, Operator, nil}, - {`(>|\$|%|<|@|<>)(/|eof\b)`, Operator, nil}, - {`(>|\$|%|<|@|<>)(!|err\b)`, Operator, nil}, - {`(>|\$|%|<|@|<>)(\^|lerr\b)`, Operator, nil}, - {`(>|\$|%|<|@|<>)(~|to\b)`, Operator, nil}, - {`(>|\$|%|<|@|<>)(\*|from\b)`, Operator, nil}, - {`>|@|\$|%`, Operator, nil}, - {`\*|\?|\+|\{[0-9]*,[0-9]*\}`, Operator, nil}, - {`!|\^`, Operator, nil}, - {`\(|\)`, Operator, nil}, - }, - "root": { - Include("literals"), - Include("whitespace"), - Include("comments"), - Include("keywords"), - Include("numbers"), - Include("identifiers"), - Include("operators"), - {`\{`, Punctuation, Push("host")}, - {`=`, Operator, nil}, - {`;`, Punctuation, nil}, - }, - "host": { - {`([^{}\'"/#]+|[^\\]\\[{}]|"(\\\\|\\"|[^"])*"|'(\\\\|\\'|[^'])*'|//.*$\n?|/\*(.|\n)*?\*/|\#.*$\n?|/(?!\*)(\\\\|\\/|[^/])*/|/)+`, Other, nil}, - {`\{`, Punctuation, Push()}, - {`\}`, Punctuation, Pop(1)}, - }, - }, -)) diff --git a/vendor/github.com/alecthomas/chroma/lexers/r/regedit.go b/vendor/github.com/alecthomas/chroma/lexers/r/regedit.go deleted file mode 100644 index 7ee9cb58..00000000 --- a/vendor/github.com/alecthomas/chroma/lexers/r/regedit.go +++ /dev/null @@ -1,32 +0,0 @@ -package r - -import ( - . "github.com/alecthomas/chroma" // nolint - "github.com/alecthomas/chroma/lexers/internal" -) - -// Reg lexer. -var Reg = internal.Register(MustNewLexer( - &Config{ - Name: "reg", - Aliases: []string{"registry"}, - Filenames: []string{"*.reg"}, - MimeTypes: []string{"text/x-windows-registry"}, - }, - Rules{ - "root": { - {`Windows Registry Editor.*`, Text, nil}, - {`\s+`, Text, nil}, - {`[;#].*`, CommentSingle, nil}, - {`(\[)(-?)(HKEY_[A-Z_]+)(.*?\])$`, ByGroups(Keyword, Operator, NameBuiltin, Keyword), nil}, - {`("(?:\\"|\\\\|[^"])+")([ \t]*)(=)([ \t]*)`, ByGroups(NameAttribute, Text, Operator, Text), Push("value")}, - {`(.*?)([ \t]*)(=)([ \t]*)`, ByGroups(NameAttribute, Text, Operator, Text), Push("value")}, - }, - "value": { - {`-`, Operator, Pop(1)}, - {`(dword|hex(?:\([0-9a-fA-F]\))?)(:)([0-9a-fA-F,]+)`, ByGroups(NameVariable, Punctuation, LiteralNumber), Pop(1)}, - {`.+`, LiteralString, Pop(1)}, - Default(Pop(1)), - }, - }, -)) diff --git a/vendor/github.com/alecthomas/chroma/lexers/r/rexx.go b/vendor/github.com/alecthomas/chroma/lexers/r/rexx.go deleted file mode 100644 index 1f5550a5..00000000 --- a/vendor/github.com/alecthomas/chroma/lexers/r/rexx.go +++ /dev/null @@ -1,59 +0,0 @@ -package r - -import ( - . "github.com/alecthomas/chroma" // nolint - "github.com/alecthomas/chroma/lexers/internal" -) - -// Rexx lexer. -var Rexx = internal.Register(MustNewLexer( - &Config{ - Name: "Rexx", - Aliases: []string{"rexx", "arexx"}, - Filenames: []string{"*.rexx", "*.rex", "*.rx", "*.arexx"}, - MimeTypes: []string{"text/x-rexx"}, - NotMultiline: true, - CaseInsensitive: true, - }, - Rules{ - "root": { - {`\s`, TextWhitespace, nil}, - {`/\*`, CommentMultiline, Push("comment")}, - {`"`, LiteralString, Push("string_double")}, - {`'`, LiteralString, Push("string_single")}, - {`[0-9]+(\.[0-9]+)?(e[+-]?[0-9])?`, LiteralNumber, nil}, - {`([a-z_]\w*)(\s*)(:)(\s*)(procedure)\b`, ByGroups(NameFunction, TextWhitespace, Operator, TextWhitespace, KeywordDeclaration), nil}, - {`([a-z_]\w*)(\s*)(:)`, ByGroups(NameLabel, TextWhitespace, Operator), nil}, - Include("function"), - Include("keyword"), - Include("operator"), - {`[a-z_]\w*`, Text, nil}, - }, - "function": { - {Words(``, `(\s*)(\()`, `abbrev`, `abs`, `address`, `arg`, `b2x`, `bitand`, `bitor`, `bitxor`, `c2d`, `c2x`, `center`, `charin`, `charout`, `chars`, `compare`, `condition`, `copies`, `d2c`, `d2x`, `datatype`, `date`, `delstr`, `delword`, `digits`, `errortext`, `form`, `format`, `fuzz`, `insert`, `lastpos`, `left`, `length`, `linein`, `lineout`, `lines`, `max`, `min`, `overlay`, `pos`, `queued`, `random`, `reverse`, `right`, `sign`, `sourceline`, `space`, `stream`, `strip`, `substr`, `subword`, `symbol`, `time`, `trace`, `translate`, `trunc`, `value`, `verify`, `word`, `wordindex`, `wordlength`, `wordpos`, `words`, `x2b`, `x2c`, `x2d`, `xrange`), ByGroups(NameBuiltin, TextWhitespace, Operator), nil}, - }, - "keyword": { - {`(address|arg|by|call|do|drop|else|end|exit|for|forever|if|interpret|iterate|leave|nop|numeric|off|on|options|parse|pull|push|queue|return|say|select|signal|to|then|trace|until|while)\b`, KeywordReserved, nil}, - }, - "operator": { - {`(-|//|/|\(|\)|\*\*|\*|\\<<|\\<|\\==|\\=|\\>>|\\>|\\|\|\||\||&&|&|%|\+|<<=|<<|<=|<>|<|==|=|><|>=|>>=|>>|>|¬<<|¬<|¬==|¬=|¬>>|¬>|¬|\.|,)`, Operator, nil}, - }, - "string_double": { - {`[^"\n]+`, LiteralString, nil}, - {`""`, LiteralString, nil}, - {`"`, LiteralString, Pop(1)}, - {`\n`, Text, Pop(1)}, - }, - "string_single": { - {`[^\'\n]`, LiteralString, nil}, - {`\'\'`, LiteralString, nil}, - {`\'`, LiteralString, Pop(1)}, - {`\n`, Text, Pop(1)}, - }, - "comment": { - {`[^*]+`, CommentMultiline, nil}, - {`\*/`, CommentMultiline, Pop(1)}, - {`\*`, CommentMultiline, nil}, - }, - }, -)) diff --git a/vendor/github.com/alecthomas/chroma/lexers/r/rst.go b/vendor/github.com/alecthomas/chroma/lexers/r/rst.go deleted file mode 100644 index f09dad09..00000000 --- a/vendor/github.com/alecthomas/chroma/lexers/r/rst.go +++ /dev/null @@ -1,86 +0,0 @@ -package r - -import ( - "strings" - - . "github.com/alecthomas/chroma" // nolint - "github.com/alecthomas/chroma/lexers/internal" -) - -// Restructuredtext lexer. -var Restructuredtext = internal.Register(MustNewLexer( - &Config{ - Name: "reStructuredText", - Aliases: []string{"rst", "rest", "restructuredtext"}, - Filenames: []string{"*.rst", "*.rest"}, - MimeTypes: []string{"text/x-rst", "text/prs.fallenstein.rst"}, - }, - Rules{ - "root": { - {"^(=+|-+|`+|:+|\\.+|\\'+|\"+|~+|\\^+|_+|\\*+|\\++|#+)([ \\t]*\\n)(.+)(\\n)(\\1)(\\n)", ByGroups(GenericHeading, Text, GenericHeading, Text, GenericHeading, Text), nil}, - {"^(\\S.*)(\\n)(={3,}|-{3,}|`{3,}|:{3,}|\\.{3,}|\\'{3,}|\"{3,}|~{3,}|\\^{3,}|_{3,}|\\*{3,}|\\+{3,}|#{3,})(\\n)", ByGroups(GenericHeading, Text, GenericHeading, Text), nil}, - {`^(\s*)([-*+])( .+\n(?:\1 .+\n)*)`, ByGroups(Text, LiteralNumber, UsingSelf("inline")), nil}, - {`^(\s*)([0-9#ivxlcmIVXLCM]+\.)( .+\n(?:\1 .+\n)*)`, ByGroups(Text, LiteralNumber, UsingSelf("inline")), nil}, - {`^(\s*)(\(?[0-9#ivxlcmIVXLCM]+\))( .+\n(?:\1 .+\n)*)`, ByGroups(Text, LiteralNumber, UsingSelf("inline")), nil}, - {`^(\s*)([A-Z]+\.)( .+\n(?:\1 .+\n)+)`, ByGroups(Text, LiteralNumber, UsingSelf("inline")), nil}, - {`^(\s*)(\(?[A-Za-z]+\))( .+\n(?:\1 .+\n)+)`, ByGroups(Text, LiteralNumber, UsingSelf("inline")), nil}, - {`^(\s*)(\|)( .+\n(?:\| .+\n)*)`, ByGroups(Text, Operator, UsingSelf("inline")), nil}, - {`^( *\.\.)(\s*)((?:source)?code(?:-block)?)(::)([ \t]*)([^\n]+)(\n[ \t]*\n)([ \t]+)(.*)(\n)((?:(?:\8.*|)\n)+)`, EmitterFunc(rstCodeBlock), nil}, - {`^( *\.\.)(\s*)([\w:-]+?)(::)(?:([ \t]*)(.*))`, ByGroups(Punctuation, Text, OperatorWord, Punctuation, Text, UsingSelf("inline")), nil}, - {`^( *\.\.)(\s*)(_(?:[^:\\]|\\.)+:)(.*?)$`, ByGroups(Punctuation, Text, NameTag, UsingSelf("inline")), nil}, - {`^( *\.\.)(\s*)(\[.+\])(.*?)$`, ByGroups(Punctuation, Text, NameTag, UsingSelf("inline")), nil}, - {`^( *\.\.)(\s*)(\|.+\|)(\s*)([\w:-]+?)(::)(?:([ \t]*)(.*))`, ByGroups(Punctuation, Text, NameTag, Text, OperatorWord, Punctuation, Text, UsingSelf("inline")), nil}, - {`^ *\.\..*(\n( +.*\n|\n)+)?`, CommentPreproc, nil}, - {`^( *)(:[a-zA-Z-]+:)(\s*)$`, ByGroups(Text, NameClass, Text), nil}, - {`^( *)(:.*?:)([ \t]+)(.*?)$`, ByGroups(Text, NameClass, Text, NameFunction), nil}, - {`^(\S.*(?)(`__?)", ByGroups(LiteralString, LiteralStringInterpol, LiteralString), nil}, - {"`.+?`__?", LiteralString, nil}, - {"(`.+?`)(:[a-zA-Z0-9:-]+?:)?", ByGroups(NameVariable, NameAttribute), nil}, - {"(:[a-zA-Z0-9:-]+?:)(`.+?`)", ByGroups(NameAttribute, NameVariable), nil}, - {`\*\*.+?\*\*`, GenericStrong, nil}, - {`\*.+?\*`, GenericEmph, nil}, - {`\[.*?\]_`, LiteralString, nil}, - {`<.+?>`, NameTag, nil}, - {"[^\\\\\\n\\[*`:]+", Text, nil}, - {`.`, Text, nil}, - }, - "literal": { - {"[^`]+", LiteralString, nil}, - {"``((?=$)|(?=[-/:.,; \\n\\x00\\\u2010\\\u2011\\\u2012\\\u2013\\\u2014\\\u00a0\\'\\\"\\)\\]\\}\\>\\\u2019\\\u201d\\\u00bb\\!\\?]))", LiteralString, Pop(1)}, - {"`", LiteralString, nil}, - }, - }, -)) - -func rstCodeBlock(groups []string, lexer Lexer) Iterator { - iterators := []Iterator{} - tokens := []Token{ - {Punctuation, groups[1]}, - {Text, groups[2]}, - {OperatorWord, groups[3]}, - {Punctuation, groups[4]}, - {Text, groups[5]}, - {Keyword, groups[6]}, - {Text, groups[7]}, - } - code := strings.Join(groups[8:], "") - lexer = internal.Get(groups[6]) - if lexer == nil { - tokens = append(tokens, Token{String, code}) - iterators = append(iterators, Literator(tokens...)) - } else { - sub, err := lexer.Tokenise(nil, code) - if err != nil { - panic(err) - } - iterators = append(iterators, Literator(tokens...), sub) - } - return Concaterator(iterators...) -} diff --git a/vendor/github.com/alecthomas/chroma/lexers/r/ruby.go b/vendor/github.com/alecthomas/chroma/lexers/r/ruby.go deleted file mode 100644 index 6af8db20..00000000 --- a/vendor/github.com/alecthomas/chroma/lexers/r/ruby.go +++ /dev/null @@ -1,250 +0,0 @@ -package r - -import ( - . "github.com/alecthomas/chroma" // nolint - "github.com/alecthomas/chroma/lexers/internal" -) - -// Ruby lexer. -var Ruby = internal.Register(MustNewLexer( - &Config{ - Name: "Ruby", - Aliases: []string{"rb", "ruby", "duby"}, - Filenames: []string{"*.rb", "*.rbw", "Rakefile", "*.rake", "*.gemspec", "*.rbx", "*.duby", "Gemfile"}, - MimeTypes: []string{"text/x-ruby", "application/x-ruby"}, - DotAll: true, - }, - Rules{ - "root": { - {`\A#!.+?$`, CommentHashbang, nil}, - {`#.*?$`, CommentSingle, nil}, - {`=begin\s.*?\n=end.*?$`, CommentMultiline, nil}, - {Words(``, `\b`, `BEGIN`, `END`, `alias`, `begin`, `break`, `case`, `defined?`, `do`, `else`, `elsif`, `end`, `ensure`, `for`, `if`, `in`, `next`, `redo`, `rescue`, `raise`, `retry`, `return`, `super`, `then`, `undef`, `unless`, `until`, `when`, `while`, `yield`), Keyword, nil}, - {`(module)(\s+)([a-zA-Z_]\w*(?:::[a-zA-Z_]\w*)*)`, ByGroups(Keyword, Text, NameNamespace), nil}, - {`(def)(\s+)`, ByGroups(Keyword, Text), Push("funcname")}, - {"def(?=[*%&^`~+-/\\[<>=])", Keyword, Push("funcname")}, - {`(class)(\s+)`, ByGroups(Keyword, Text), Push("classname")}, - {Words(``, `\b`, `initialize`, `new`, `loop`, `include`, `extend`, `raise`, `attr_reader`, `attr_writer`, `attr_accessor`, `attr`, `catch`, `throw`, `private`, `module_function`, `public`, `protected`, `true`, `false`, `nil`), KeywordPseudo, nil}, - {`(not|and|or)\b`, OperatorWord, nil}, - {Words(``, `\?`, `autoload`, `block_given`, `const_defined`, `eql`, `equal`, `frozen`, `include`, `instance_of`, `is_a`, `iterator`, `kind_of`, `method_defined`, `nil`, `private_method_defined`, `protected_method_defined`, `public_method_defined`, `respond_to`, `tainted`), NameBuiltin, nil}, - {`(chomp|chop|exit|gsub|sub)!`, NameBuiltin, nil}, - {Words(`(?~!:])|(?<=(?:\s|;)when\s)|(?<=(?:\s|;)or\s)|(?<=(?:\s|;)and\s)|(?<=\.index\s)|(?<=\.scan\s)|(?<=\.sub\s)|(?<=\.sub!\s)|(?<=\.gsub\s)|(?<=\.gsub!\s)|(?<=\.match\s)|(?<=(?:\s|;)if\s)|(?<=(?:\s|;)elsif\s)|(?<=^when\s)|(?<=^index\s)|(?<=^scan\s)|(?<=^sub\s)|(?<=^gsub\s)|(?<=^sub!\s)|(?<=^gsub!\s)|(?<=^match\s)|(?<=^if\s)|(?<=^elsif\s))(\s*)(/)`, ByGroups(Text, LiteralStringRegex), Push("multiline-regex")}, - {`(?<=\(|,|\[)/`, LiteralStringRegex, Push("multiline-regex")}, - {`(\s+)(/)(?![\s=])`, ByGroups(Text, LiteralStringRegex), Push("multiline-regex")}, - {`(0_?[0-7]+(?:_[0-7]+)*)(\s*)([/?])?`, ByGroups(LiteralNumberOct, Text, Operator), nil}, - {`(0x[0-9A-Fa-f]+(?:_[0-9A-Fa-f]+)*)(\s*)([/?])?`, ByGroups(LiteralNumberHex, Text, Operator), nil}, - {`(0b[01]+(?:_[01]+)*)(\s*)([/?])?`, ByGroups(LiteralNumberBin, Text, Operator), nil}, - {`([\d]+(?:_\d+)*)(\s*)([/?])?`, ByGroups(LiteralNumberInteger, Text, Operator), nil}, - {`@@[a-zA-Z_]\w*`, NameVariableClass, nil}, - {`@[a-zA-Z_]\w*`, NameVariableInstance, nil}, - {`\$\w+`, NameVariableGlobal, nil}, - {"\\$[!@&`\\'+~=/\\\\,;.<>_*$?:\"^-]", NameVariableGlobal, nil}, - {`\$-[0adFiIlpvw]`, NameVariableGlobal, nil}, - {`::`, Operator, nil}, - Include("strings"), - {`\?(\\[MC]-)*(\\([\\abefnrstv#"\']|x[a-fA-F0-9]{1,2}|[0-7]{1,3})|\S)(?!\w)`, LiteralStringChar, nil}, - {`[A-Z]\w+`, NameConstant, nil}, - {Words(`(\.|::)`, ``, `*`, `**`, `-`, `+`, `-@`, `+@`, `/`, `%`, `&`, `|`, `^`, "`", `~`, `[]`, `[]=`, `<<`, `>>`, `<`, `<>`, `<=>`, `>`, `>=`, `==`, `===`), ByGroups(Operator, NameOperator), nil}, - {"(\\.|::)([a-zA-Z_]\\w*[!?]?|[*%&^`~+\\-/\\[<>=])", ByGroups(Operator, Name), nil}, - {`[a-zA-Z_]\w*[!?]?`, Name, nil}, - {`(\[|\]|\*\*|<>?|>=|<=|<=>|=~|={3}|!~|&&?|\|\||\.{1,3})`, Operator, nil}, - {`[-+/*%=<>&!^|~]=?`, Operator, nil}, - {`[(){};,/?:\\]`, Punctuation, nil}, - {`\s+`, Text, nil}, - }, - "funcname": { - {`\(`, Punctuation, Push("defexpr")}, - {"(?:([a-zA-Z_]\\w*)(\\.))?([a-zA-Z_]\\w*[!?]?|\\*\\*?|[-+]@?|[/%&|^`~]|\\[\\]=?|<<|>>|<=?>|>=?|===?)", ByGroups(NameClass, Operator, NameFunction), Pop(1)}, - Default(Pop(1)), - }, - "classname": { - {`\(`, Punctuation, Push("defexpr")}, - {`<<`, Operator, Pop(1)}, - {`[A-Z_]\w*`, NameClass, Pop(1)}, - Default(Pop(1)), - }, - "defexpr": { - {`(\))(\.|::)?`, ByGroups(Punctuation, Operator), Pop(1)}, - {`\(`, Operator, Push()}, - Include("root"), - }, - "in-intp": { - {`\{`, LiteralStringInterpol, Push()}, - {`\}`, LiteralStringInterpol, Pop(1)}, - Include("root"), - }, - "string-intp": { - {`#\{`, LiteralStringInterpol, Push("in-intp")}, - {`#@@?[a-zA-Z_]\w*`, LiteralStringInterpol, nil}, - {`#\$[a-zA-Z_]\w*`, LiteralStringInterpol, nil}, - }, - "string-intp-escaped": { - Include("string-intp"), - {`\\([\\abefnrstv#"\']|x[a-fA-F0-9]{1,2}|[0-7]{1,3})`, LiteralStringEscape, nil}, - }, - "interpolated-regex": { - Include("string-intp"), - {`[\\#]`, LiteralStringRegex, nil}, - {`[^\\#]+`, LiteralStringRegex, nil}, - }, - "interpolated-string": { - Include("string-intp"), - {`[\\#]`, LiteralStringOther, nil}, - {`[^\\#]+`, LiteralStringOther, nil}, - }, - "multiline-regex": { - Include("string-intp"), - {`\\\\`, LiteralStringRegex, nil}, - {`\\/`, LiteralStringRegex, nil}, - {`[\\#]`, LiteralStringRegex, nil}, - {`[^\\/#]+`, LiteralStringRegex, nil}, - {`/[mixounse]*`, LiteralStringRegex, Pop(1)}, - }, - "end-part": { - {`.+`, CommentPreproc, Pop(1)}, - }, - "strings": { - {`\:@{0,2}[a-zA-Z_]\w*[!?]?`, LiteralStringSymbol, nil}, - {Words(`\:@{0,2}`, ``, `*`, `**`, `-`, `+`, `-@`, `+@`, `/`, `%`, `&`, `|`, `^`, "`", `~`, `[]`, `[]=`, `<<`, `>>`, `<`, `<>`, `<=>`, `>`, `>=`, `==`, `===`), LiteralStringSymbol, nil}, - {`:'(\\\\|\\'|[^'])*'`, LiteralStringSymbol, nil}, - {`'(\\\\|\\'|[^'])*'`, LiteralStringSingle, nil}, - {`:"`, LiteralStringSymbol, Push("simple-sym")}, - {`([a-zA-Z_]\w*)(:)(?!:)`, ByGroups(LiteralStringSymbol, Punctuation), nil}, - {`"`, LiteralStringDouble, Push("simple-string")}, - {"(?&!^|~,(])(\s*)(%([\t ])(?:(?:\\\3|(?!\3).)*)\3)`, ByGroups(Text, LiteralStringOther, None), nil}, - {`^(\s*)(%([\t ])(?:(?:\\\3|(?!\3).)*)\3)`, ByGroups(Text, LiteralStringOther, None), nil}, - {`(%([^a-zA-Z0-9\s]))((?:\\\2|(?!\2).)*)(\2)`, String, nil}, - }, - "simple-string": { - Include("string-intp-escaped"), - {`[^\\"#]+`, LiteralStringDouble, nil}, - {`[\\#]`, LiteralStringDouble, nil}, - {`"`, LiteralStringDouble, Pop(1)}, - }, - "simple-sym": { - Include("string-intp-escaped"), - {`[^\\"#]+`, LiteralStringSymbol, nil}, - {`[\\#]`, LiteralStringSymbol, nil}, - {`"`, LiteralStringSymbol, Pop(1)}, - }, - "simple-backtick": { - Include("string-intp-escaped"), - {"[^\\\\`#]+", LiteralStringBacktick, nil}, - {`[\\#]`, LiteralStringBacktick, nil}, - {"`", LiteralStringBacktick, Pop(1)}, - }, - "cb-intp-string": { - {`\\[\\{}]`, LiteralStringOther, nil}, - {`\{`, LiteralStringOther, Push()}, - {`\}`, LiteralStringOther, Pop(1)}, - Include("string-intp-escaped"), - {`[\\#{}]`, LiteralStringOther, nil}, - {`[^\\#{}]+`, LiteralStringOther, nil}, - }, - "cb-string": { - {`\\[\\{}]`, LiteralStringOther, nil}, - {`\{`, LiteralStringOther, Push()}, - {`\}`, LiteralStringOther, Pop(1)}, - {`[\\#{}]`, LiteralStringOther, nil}, - {`[^\\#{}]+`, LiteralStringOther, nil}, - }, - "cb-regex": { - {`\\[\\{}]`, LiteralStringRegex, nil}, - {`\{`, LiteralStringRegex, Push()}, - {`\}[mixounse]*`, LiteralStringRegex, Pop(1)}, - Include("string-intp"), - {`[\\#{}]`, LiteralStringRegex, nil}, - {`[^\\#{}]+`, LiteralStringRegex, nil}, - }, - "sb-intp-string": { - {`\\[\\\[\]]`, LiteralStringOther, nil}, - {`\[`, LiteralStringOther, Push()}, - {`\]`, LiteralStringOther, Pop(1)}, - Include("string-intp-escaped"), - {`[\\#\[\]]`, LiteralStringOther, nil}, - {`[^\\#\[\]]+`, LiteralStringOther, nil}, - }, - "sb-string": { - {`\\[\\\[\]]`, LiteralStringOther, nil}, - {`\[`, LiteralStringOther, Push()}, - {`\]`, LiteralStringOther, Pop(1)}, - {`[\\#\[\]]`, LiteralStringOther, nil}, - {`[^\\#\[\]]+`, LiteralStringOther, nil}, - }, - "sb-regex": { - {`\\[\\\[\]]`, LiteralStringRegex, nil}, - {`\[`, LiteralStringRegex, Push()}, - {`\][mixounse]*`, LiteralStringRegex, Pop(1)}, - Include("string-intp"), - {`[\\#\[\]]`, LiteralStringRegex, nil}, - {`[^\\#\[\]]+`, LiteralStringRegex, nil}, - }, - "pa-intp-string": { - {`\\[\\()]`, LiteralStringOther, nil}, - {`\(`, LiteralStringOther, Push()}, - {`\)`, LiteralStringOther, Pop(1)}, - Include("string-intp-escaped"), - {`[\\#()]`, LiteralStringOther, nil}, - {`[^\\#()]+`, LiteralStringOther, nil}, - }, - "pa-string": { - {`\\[\\()]`, LiteralStringOther, nil}, - {`\(`, LiteralStringOther, Push()}, - {`\)`, LiteralStringOther, Pop(1)}, - {`[\\#()]`, LiteralStringOther, nil}, - {`[^\\#()]+`, LiteralStringOther, nil}, - }, - "pa-regex": { - {`\\[\\()]`, LiteralStringRegex, nil}, - {`\(`, LiteralStringRegex, Push()}, - {`\)[mixounse]*`, LiteralStringRegex, Pop(1)}, - Include("string-intp"), - {`[\\#()]`, LiteralStringRegex, nil}, - {`[^\\#()]+`, LiteralStringRegex, nil}, - }, - "ab-intp-string": { - {`\\[\\<>]`, LiteralStringOther, nil}, - {`<`, LiteralStringOther, Push()}, - {`>`, LiteralStringOther, Pop(1)}, - Include("string-intp-escaped"), - {`[\\#<>]`, LiteralStringOther, nil}, - {`[^\\#<>]+`, LiteralStringOther, nil}, - }, - "ab-string": { - {`\\[\\<>]`, LiteralStringOther, nil}, - {`<`, LiteralStringOther, Push()}, - {`>`, LiteralStringOther, Pop(1)}, - {`[\\#<>]`, LiteralStringOther, nil}, - {`[^\\#<>]+`, LiteralStringOther, nil}, - }, - "ab-regex": { - {`\\[\\<>]`, LiteralStringRegex, nil}, - {`<`, LiteralStringRegex, Push()}, - {`>[mixounse]*`, LiteralStringRegex, Pop(1)}, - Include("string-intp"), - {`[\\#<>]`, LiteralStringRegex, nil}, - {`[^\\#<>]+`, LiteralStringRegex, nil}, - }, - }, -)) diff --git a/vendor/github.com/alecthomas/chroma/lexers/r/rust.go b/vendor/github.com/alecthomas/chroma/lexers/r/rust.go deleted file mode 100644 index 3d05cd53..00000000 --- a/vendor/github.com/alecthomas/chroma/lexers/r/rust.go +++ /dev/null @@ -1,134 +0,0 @@ -package r - -import ( - . "github.com/alecthomas/chroma" // nolint - "github.com/alecthomas/chroma/lexers/internal" -) - -// Rust lexer. -var Rust = internal.Register(MustNewLexer( - &Config{ - Name: "Rust", - Aliases: []string{"rust"}, - Filenames: []string{"*.rs", "*.rs.in"}, - MimeTypes: []string{"text/rust"}, - EnsureNL: true, - }, - Rules{ - "root": { - {`#![^[\r\n].*$`, CommentPreproc, nil}, - Default(Push("base")), - }, - "base": { - {`\n`, TextWhitespace, nil}, - {`\s+`, TextWhitespace, nil}, - {`//!.*?\n`, LiteralStringDoc, nil}, - {`///(\n|[^/].*?\n)`, LiteralStringDoc, nil}, - {`//(.*?)\n`, CommentSingle, nil}, - {`/\*\*(\n|[^/*])`, LiteralStringDoc, Push("doccomment")}, - {`/\*!`, LiteralStringDoc, Push("doccomment")}, - {`/\*`, CommentMultiline, Push("comment")}, - {`\$([a-zA-Z_]\w*|\(,?|\),?|,?)`, CommentPreproc, nil}, - {Words(``, `\b`, `as`, `box`, `const`, `crate`, `else`, `extern`, `for`, `if`, `impl`, `in`, `loop`, `match`, `move`, `mut`, `pub`, `ref`, `return`, `static`, `super`, `trait`, `unsafe`, `use`, `where`, `while`), Keyword, nil}, - {Words(``, `\b`, `abstract`, `alignof`, `become`, `do`, `final`, `macro`, `offsetof`, `override`, `priv`, `proc`, `pure`, `sizeof`, `typeof`, `unsized`, `virtual`, `yield`), KeywordReserved, nil}, - {`(true|false)\b`, KeywordConstant, nil}, - {`mod\b`, Keyword, Push("modname")}, - {`let\b`, KeywordDeclaration, nil}, - {`fn\b`, Keyword, Push("funcname")}, - {`(struct|enum|type|union)\b`, Keyword, Push("typename")}, - {`(default)(\s+)(type|fn)\b`, ByGroups(Keyword, Text, Keyword), nil}, - {Words(``, `\b`, `u8`, `u16`, `u32`, `u64`, `i8`, `i16`, `i32`, `i64`, `usize`, `isize`, `f32`, `f64`, `str`, `bool`), KeywordType, nil}, - {`self\b`, NameBuiltinPseudo, nil}, - {Words(``, `\b`, `Copy`, `Send`, `Sized`, `Sync`, `Drop`, `Fn`, `FnMut`, `FnOnce`, `Box`, `ToOwned`, `Clone`, `PartialEq`, `PartialOrd`, `Eq`, `Ord`, `AsRef`, `AsMut`, `Into`, `From`, `Default`, `Iterator`, `Extend`, `IntoIterator`, `DoubleEndedIterator`, `ExactSizeIterator`, `Option`, `Some`, `None`, `Result`, `Ok`, `Err`, `SliceConcatExt`, `String`, `ToString`, `Vec`), NameBuiltin, nil}, - {`::\b`, Text, nil}, - {`(?::|->)`, Text, Push("typename")}, - {`(break|continue)(\s*)(\'[A-Za-z_]\w*)?`, ByGroups(Keyword, TextWhitespace, NameLabel), nil}, - {`'(\\['"\\nrt]|\\x[0-7][0-9a-fA-F]|\\0|\\u\{[0-9a-fA-F]{1,6}\}|.)'`, LiteralStringChar, nil}, - {`b'(\\['"\\nrt]|\\x[0-9a-fA-F]{2}|\\0|\\u\{[0-9a-fA-F]{1,6}\}|.)'`, LiteralStringChar, nil}, - {`0b[01_]+`, LiteralNumberBin, Push("number_lit")}, - {`0o[0-7_]+`, LiteralNumberOct, Push("number_lit")}, - {`0[xX][0-9a-fA-F_]+`, LiteralNumberHex, Push("number_lit")}, - {`[0-9][0-9_]*(\.[0-9_]+[eE][+\-]?[0-9_]+|\.[0-9_]*(?!\.)|[eE][+\-]?[0-9_]+)`, LiteralNumberFloat, Push("number_lit")}, - {`[0-9][0-9_]*`, LiteralNumberInteger, Push("number_lit")}, - {`b"`, LiteralString, Push("bytestring")}, - {`"`, LiteralString, Push("string")}, - {`b?r(#*)".*?"\1`, LiteralString, nil}, - {`'static`, NameBuiltin, nil}, - {`'[a-zA-Z_]\w*`, NameAttribute, nil}, - {`[{}()\[\],.;]`, Punctuation, nil}, - {`[+\-*/%&|<>^!~@=:?]`, Operator, nil}, - {`[a-zA-Z_]\w*`, Name, nil}, - {`#!?\[`, CommentPreproc, Push("attribute[")}, - {`([A-Za-z_]\w*)(!)(\s*)([A-Za-z_]\w*)?(\s*)(\{)`, ByGroups(CommentPreproc, Punctuation, TextWhitespace, Name, TextWhitespace, Punctuation), Push("macro{")}, - {`([A-Za-z_]\w*)(!)(\s*)([A-Za-z_]\w*)?(\()`, ByGroups(CommentPreproc, Punctuation, TextWhitespace, Name, Punctuation), Push("macro(")}, - }, - "comment": { - {`[^*/]+`, CommentMultiline, nil}, - {`/\*`, CommentMultiline, Push()}, - {`\*/`, CommentMultiline, Pop(1)}, - {`[*/]`, CommentMultiline, nil}, - }, - "doccomment": { - {`[^*/]+`, LiteralStringDoc, nil}, - {`/\*`, LiteralStringDoc, Push()}, - {`\*/`, LiteralStringDoc, Pop(1)}, - {`[*/]`, LiteralStringDoc, nil}, - }, - "modname": { - {`\s+`, Text, nil}, - {`[a-zA-Z_]\w*`, NameNamespace, Pop(1)}, - Default(Pop(1)), - }, - "funcname": { - {`\s+`, Text, nil}, - {`[a-zA-Z_]\w*`, NameFunction, Pop(1)}, - Default(Pop(1)), - }, - "typename": { - {`\s+`, Text, nil}, - {`&`, KeywordPseudo, nil}, - {Words(``, `\b`, `Copy`, `Send`, `Sized`, `Sync`, `Drop`, `Fn`, `FnMut`, `FnOnce`, `Box`, `ToOwned`, `Clone`, `PartialEq`, `PartialOrd`, `Eq`, `Ord`, `AsRef`, `AsMut`, `Into`, `From`, `Default`, `Iterator`, `Extend`, `IntoIterator`, `DoubleEndedIterator`, `ExactSizeIterator`, `Option`, `Some`, `None`, `Result`, `Ok`, `Err`, `SliceConcatExt`, `String`, `ToString`, `Vec`), NameBuiltin, nil}, - {Words(``, `\b`, `u8`, `u16`, `u32`, `u64`, `i8`, `i16`, `i32`, `i64`, `usize`, `isize`, `f32`, `f64`, `str`, `bool`), KeywordType, nil}, - {`[a-zA-Z_]\w*`, NameClass, Pop(1)}, - Default(Pop(1)), - }, - "number_lit": { - {`[ui](8|16|32|64|size)`, Keyword, Pop(1)}, - {`f(32|64)`, Keyword, Pop(1)}, - Default(Pop(1)), - }, - "string": { - {`"`, LiteralString, Pop(1)}, - {`\\['"\\nrt]|\\x[0-7][0-9a-fA-F]|\\0|\\u\{[0-9a-fA-F]{1,6}\}`, LiteralStringEscape, nil}, - {`[^\\"]+`, LiteralString, nil}, - {`\\`, LiteralString, nil}, - }, - "bytestring": { - {`\\x[89a-fA-F][0-9a-fA-F]`, LiteralStringEscape, nil}, - Include("string"), - }, - "macro{": { - {`\{`, Operator, Push()}, - {`\}`, Operator, Pop(1)}, - }, - "macro(": { - {`\(`, Operator, Push()}, - {`\)`, Operator, Pop(1)}, - }, - "attribute_common": { - {`"`, LiteralString, Push("string")}, - {`\[`, CommentPreproc, Push("attribute[")}, - {`\(`, CommentPreproc, Push("attribute(")}, - }, - "attribute[": { - Include("attribute_common"), - {`\];?`, CommentPreproc, Pop(1)}, - {`[^"\]]+`, CommentPreproc, nil}, - }, - "attribute(": { - Include("attribute_common"), - {`\);?`, CommentPreproc, Pop(1)}, - {`[^")]+`, CommentPreproc, nil}, - }, - }, -)) diff --git a/vendor/github.com/alecthomas/chroma/lexers/s/sass.go b/vendor/github.com/alecthomas/chroma/lexers/s/sass.go deleted file mode 100644 index 6200f6a3..00000000 --- a/vendor/github.com/alecthomas/chroma/lexers/s/sass.go +++ /dev/null @@ -1,144 +0,0 @@ -package s - -import ( - . "github.com/alecthomas/chroma" // nolint - "github.com/alecthomas/chroma/lexers/internal" -) - -// Sass lexer. -var Sass = internal.Register(MustNewLexer( - &Config{ - Name: "Sass", - Aliases: []string{"sass"}, - Filenames: []string{"*.sass"}, - MimeTypes: []string{"text/x-sass"}, - CaseInsensitive: true, - }, - Rules{ - // "root": { - // }, - "root": { - {`[ \t]*\n`, Text, nil}, - // { `[ \t]*`, ?? ??, nil }, - // { `//[^\n]*`, ?? .callback at 0x106936048> ??, Push("root") }, - // { `/\*[^\n]*`, ?? .callback at 0x1069360d0> ??, Push("root") }, - {`@import`, Keyword, Push("import")}, - {`@for`, Keyword, Push("for")}, - {`@(debug|warn|if|while)`, Keyword, Push("value")}, - {`(@mixin)( [\w-]+)`, ByGroups(Keyword, NameFunction), Push("value")}, - {`(@include)( [\w-]+)`, ByGroups(Keyword, NameDecorator), Push("value")}, - {`@extend`, Keyword, Push("selector")}, - {`@[\w-]+`, Keyword, Push("selector")}, - {`=[\w-]+`, NameFunction, Push("value")}, - {`\+[\w-]+`, NameDecorator, Push("value")}, - {`([!$][\w-]\w*)([ \t]*(?:(?:\|\|)?=|:))`, ByGroups(NameVariable, Operator), Push("value")}, - {`:`, NameAttribute, Push("old-style-attr")}, - {`(?=.+?[=:]([^a-z]|$))`, NameAttribute, Push("new-style-attr")}, - Default(Push("selector")), - }, - "single-comment": { - {`.+`, CommentSingle, nil}, - {`\n`, Text, Push("root")}, - }, - "multi-comment": { - {`.+`, CommentMultiline, nil}, - {`\n`, Text, Push("root")}, - }, - "import": { - {`[ \t]+`, Text, nil}, - {`\S+`, LiteralString, nil}, - {`\n`, Text, Push("root")}, - }, - "old-style-attr": { - {`[^\s:="\[]+`, NameAttribute, nil}, - {`#\{`, LiteralStringInterpol, Push("interpolation")}, - {`[ \t]*=`, Operator, Push("value")}, - Default(Push("value")), - }, - "new-style-attr": { - {`[^\s:="\[]+`, NameAttribute, nil}, - {`#\{`, LiteralStringInterpol, Push("interpolation")}, - {`[ \t]*[=:]`, Operator, Push("value")}, - }, - "inline-comment": { - {`(\\#|#(?=[^\n{])|\*(?=[^\n/])|[^\n#*])+`, CommentMultiline, nil}, - {`#\{`, LiteralStringInterpol, Push("interpolation")}, - {`\*/`, Comment, Pop(1)}, - }, - "value": { - {`[ \t]+`, Text, nil}, - {`[!$][\w-]+`, NameVariable, nil}, - {`url\(`, LiteralStringOther, Push("string-url")}, - {`[a-z_-][\w-]*(?=\()`, NameFunction, nil}, - {Words(``, `\b`, `align-content`, `align-items`, `align-self`, `alignment-baseline`, `all`, `animation`, `animation-delay`, `animation-direction`, `animation-duration`, `animation-fill-mode`, `animation-iteration-count`, `animation-name`, `animation-play-state`, `animation-timing-function`, `appearance`, `azimuth`, `backface-visibility`, `background`, `background-attachment`, `background-blend-mode`, `background-clip`, `background-color`, `background-image`, `background-origin`, `background-position`, `background-repeat`, `background-size`, `baseline-shift`, `bookmark-label`, `bookmark-level`, `bookmark-state`, `border`, `border-bottom`, `border-bottom-color`, `border-bottom-left-radius`, `border-bottom-right-radius`, `border-bottom-style`, `border-bottom-width`, `border-boundary`, `border-collapse`, `border-color`, `border-image`, `border-image-outset`, `border-image-repeat`, `border-image-slice`, `border-image-source`, `border-image-width`, `border-left`, `border-left-color`, `border-left-style`, `border-left-width`, `border-radius`, `border-right`, `border-right-color`, `border-right-style`, `border-right-width`, `border-spacing`, `border-style`, `border-top`, `border-top-color`, `border-top-left-radius`, `border-top-right-radius`, `border-top-style`, `border-top-width`, `border-width`, `bottom`, `box-decoration-break`, `box-shadow`, `box-sizing`, `box-snap`, `box-suppress`, `break-after`, `break-before`, `break-inside`, `caption-side`, `caret`, `caret-animation`, `caret-color`, `caret-shape`, `chains`, `clear`, `clip`, `clip-path`, `clip-rule`, `color`, `color-interpolation-filters`, `column-count`, `column-fill`, `column-gap`, `column-rule`, `column-rule-color`, `column-rule-style`, `column-rule-width`, `column-span`, `column-width`, `columns`, `content`, `counter-increment`, `counter-reset`, `counter-set`, `crop`, `cue`, `cue-after`, `cue-before`, `cursor`, `direction`, `display`, `dominant-baseline`, `elevation`, `empty-cells`, `filter`, `flex`, `flex-basis`, `flex-direction`, `flex-flow`, `flex-grow`, `flex-shrink`, `flex-wrap`, `float`, `float-defer`, `float-offset`, `float-reference`, `flood-color`, `flood-opacity`, `flow`, `flow-from`, `flow-into`, `font`, `font-family`, `font-feature-settings`, `font-kerning`, `font-language-override`, `font-size`, `font-size-adjust`, `font-stretch`, `font-style`, `font-synthesis`, `font-variant`, `font-variant-alternates`, `font-variant-caps`, `font-variant-east-asian`, `font-variant-ligatures`, `font-variant-numeric`, `font-variant-position`, `font-weight`, `footnote-display`, `footnote-policy`, `glyph-orientation-vertical`, `grid`, `grid-area`, `grid-auto-columns`, `grid-auto-flow`, `grid-auto-rows`, `grid-column`, `grid-column-end`, `grid-column-gap`, `grid-column-start`, `grid-gap`, `grid-row`, `grid-row-end`, `grid-row-gap`, `grid-row-start`, `grid-template`, `grid-template-areas`, `grid-template-columns`, `grid-template-rows`, `hanging-punctuation`, `height`, `hyphenate-character`, `hyphenate-limit-chars`, `hyphenate-limit-last`, `hyphenate-limit-lines`, `hyphenate-limit-zone`, `hyphens`, `image-orientation`, `image-resolution`, `initial-letter`, `initial-letter-align`, `initial-letter-wrap`, `isolation`, `justify-content`, `justify-items`, `justify-self`, `left`, `letter-spacing`, `lighting-color`, `line-break`, `line-grid`, `line-height`, `line-snap`, `list-style`, `list-style-image`, `list-style-position`, `list-style-type`, `margin`, `margin-bottom`, `margin-left`, `margin-right`, `margin-top`, `marker-side`, `marquee-direction`, `marquee-loop`, `marquee-speed`, `marquee-style`, `mask`, `mask-border`, `mask-border-mode`, `mask-border-outset`, `mask-border-repeat`, `mask-border-slice`, `mask-border-source`, `mask-border-width`, `mask-clip`, `mask-composite`, `mask-image`, `mask-mode`, `mask-origin`, `mask-position`, `mask-repeat`, `mask-size`, `mask-type`, `max-height`, `max-lines`, `max-width`, `min-height`, `min-width`, `mix-blend-mode`, `motion`, `motion-offset`, `motion-path`, `motion-rotation`, `move-to`, `nav-down`, `nav-left`, `nav-right`, `nav-up`, `object-fit`, `object-position`, `offset-after`, `offset-before`, `offset-end`, `offset-start`, `opacity`, `order`, `orphans`, `outline`, `outline-color`, `outline-offset`, `outline-style`, `outline-width`, `overflow`, `overflow-style`, `overflow-wrap`, `overflow-x`, `overflow-y`, `padding`, `padding-bottom`, `padding-left`, `padding-right`, `padding-top`, `page`, `page-break-after`, `page-break-before`, `page-break-inside`, `page-policy`, `pause`, `pause-after`, `pause-before`, `perspective`, `perspective-origin`, `pitch`, `pitch-range`, `play-during`, `polar-angle`, `polar-distance`, `position`, `presentation-level`, `quotes`, `region-fragment`, `resize`, `rest`, `rest-after`, `rest-before`, `richness`, `right`, `rotation`, `rotation-point`, `ruby-align`, `ruby-merge`, `ruby-position`, `running`, `scroll-snap-coordinate`, `scroll-snap-destination`, `scroll-snap-points-x`, `scroll-snap-points-y`, `scroll-snap-type`, `shape-image-threshold`, `shape-inside`, `shape-margin`, `shape-outside`, `size`, `speak`, `speak-as`, `speak-header`, `speak-numeral`, `speak-punctuation`, `speech-rate`, `stress`, `string-set`, `tab-size`, `table-layout`, `text-align`, `text-align-last`, `text-combine-upright`, `text-decoration`, `text-decoration-color`, `text-decoration-line`, `text-decoration-skip`, `text-decoration-style`, `text-emphasis`, `text-emphasis-color`, `text-emphasis-position`, `text-emphasis-style`, `text-indent`, `text-justify`, `text-orientation`, `text-overflow`, `text-shadow`, `text-space-collapse`, `text-space-trim`, `text-spacing`, `text-transform`, `text-underline-position`, `text-wrap`, `top`, `transform`, `transform-origin`, `transform-style`, `transition`, `transition-delay`, `transition-duration`, `transition-property`, `transition-timing-function`, `unicode-bidi`, `user-select`, `vertical-align`, `visibility`, `voice-balance`, `voice-duration`, `voice-family`, `voice-pitch`, `voice-range`, `voice-rate`, `voice-stress`, `voice-volume`, `volume`, `white-space`, `widows`, `width`, `will-change`, `word-break`, `word-spacing`, `word-wrap`, `wrap-after`, `wrap-before`, `wrap-flow`, `wrap-inside`, `wrap-through`, `writing-mode`, `z-index`, `above`, `absolute`, `always`, `armenian`, `aural`, `auto`, `avoid`, `baseline`, `behind`, `below`, `bidi-override`, `blink`, `block`, `bold`, `bolder`, `both`, `capitalize`, `center-left`, `center-right`, `center`, `circle`, `cjk-ideographic`, `close-quote`, `collapse`, `condensed`, `continuous`, `crop`, `crosshair`, `cross`, `cursive`, `dashed`, `decimal-leading-zero`, `decimal`, `default`, `digits`, `disc`, `dotted`, `double`, `e-resize`, `embed`, `extra-condensed`, `extra-expanded`, `expanded`, `fantasy`, `far-left`, `far-right`, `faster`, `fast`, `fixed`, `georgian`, `groove`, `hebrew`, `help`, `hidden`, `hide`, `higher`, `high`, `hiragana-iroha`, `hiragana`, `icon`, `inherit`, `inline-table`, `inline`, `inset`, `inside`, `invert`, `italic`, `justify`, `katakana-iroha`, `katakana`, `landscape`, `larger`, `large`, `left-side`, `leftwards`, `level`, `lighter`, `line-through`, `list-item`, `loud`, `lower-alpha`, `lower-greek`, `lower-roman`, `lowercase`, `ltr`, `lower`, `low`, `medium`, `message-box`, `middle`, `mix`, `monospace`, `n-resize`, `narrower`, `ne-resize`, `no-close-quote`, `no-open-quote`, `no-repeat`, `none`, `normal`, `nowrap`, `nw-resize`, `oblique`, `once`, `open-quote`, `outset`, `outside`, `overline`, `pointer`, `portrait`, `px`, `relative`, `repeat-x`, `repeat-y`, `repeat`, `rgb`, `ridge`, `right-side`, `rightwards`, `s-resize`, `sans-serif`, `scroll`, `se-resize`, `semi-condensed`, `semi-expanded`, `separate`, `serif`, `show`, `silent`, `slow`, `slower`, `small-caps`, `small-caption`, `smaller`, `soft`, `solid`, `spell-out`, `square`, `static`, `status-bar`, `super`, `sw-resize`, `table-caption`, `table-cell`, `table-column`, `table-column-group`, `table-footer-group`, `table-header-group`, `table-row`, `table-row-group`, `text`, `text-bottom`, `text-top`, `thick`, `thin`, `transparent`, `ultra-condensed`, `ultra-expanded`, `underline`, `upper-alpha`, `upper-latin`, `upper-roman`, `uppercase`, `url`, `visible`, `w-resize`, `wait`, `wider`, `x-fast`, `x-high`, `x-large`, `x-loud`, `x-low`, `x-small`, `x-soft`, `xx-large`, `xx-small`, `yes`), NameConstant, nil}, - {Words(``, `\b`, `aliceblue`, `antiquewhite`, `aqua`, `aquamarine`, `azure`, `beige`, `bisque`, `black`, `blanchedalmond`, `blue`, `blueviolet`, `brown`, `burlywood`, `cadetblue`, `chartreuse`, `chocolate`, `coral`, `cornflowerblue`, `cornsilk`, `crimson`, `cyan`, `darkblue`, `darkcyan`, `darkgoldenrod`, `darkgray`, `darkgreen`, `darkgrey`, `darkkhaki`, `darkmagenta`, `darkolivegreen`, `darkorange`, `darkorchid`, `darkred`, `darksalmon`, `darkseagreen`, `darkslateblue`, `darkslategray`, `darkslategrey`, `darkturquoise`, `darkviolet`, `deeppink`, `deepskyblue`, `dimgray`, `dimgrey`, `dodgerblue`, `firebrick`, `floralwhite`, `forestgreen`, `fuchsia`, `gainsboro`, `ghostwhite`, `gold`, `goldenrod`, `gray`, `green`, `greenyellow`, `grey`, `honeydew`, `hotpink`, `indianred`, `indigo`, `ivory`, `khaki`, `lavender`, `lavenderblush`, `lawngreen`, `lemonchiffon`, `lightblue`, `lightcoral`, `lightcyan`, `lightgoldenrodyellow`, `lightgray`, `lightgreen`, `lightgrey`, `lightpink`, `lightsalmon`, `lightseagreen`, `lightskyblue`, `lightslategray`, `lightslategrey`, `lightsteelblue`, `lightyellow`, `lime`, `limegreen`, `linen`, `magenta`, `maroon`, `mediumaquamarine`, `mediumblue`, `mediumorchid`, `mediumpurple`, `mediumseagreen`, `mediumslateblue`, `mediumspringgreen`, `mediumturquoise`, `mediumvioletred`, `midnightblue`, `mintcream`, `mistyrose`, `moccasin`, `navajowhite`, `navy`, `oldlace`, `olive`, `olivedrab`, `orange`, `orangered`, `orchid`, `palegoldenrod`, `palegreen`, `paleturquoise`, `palevioletred`, `papayawhip`, `peachpuff`, `peru`, `pink`, `plum`, `powderblue`, `purple`, `rebeccapurple`, `red`, `rosybrown`, `royalblue`, `saddlebrown`, `salmon`, `sandybrown`, `seagreen`, `seashell`, `sienna`, `silver`, `skyblue`, `slateblue`, `slategray`, `slategrey`, `snow`, `springgreen`, `steelblue`, `tan`, `teal`, `thistle`, `tomato`, `turquoise`, `violet`, `wheat`, `white`, `whitesmoke`, `yellow`, `yellowgreen`, `transparent`), NameEntity, nil}, - {Words(``, `\b`, `black`, `silver`, `gray`, `white`, `maroon`, `red`, `purple`, `fuchsia`, `green`, `lime`, `olive`, `yellow`, `navy`, `blue`, `teal`, `aqua`), NameBuiltin, nil}, - {`\!(important|default)`, NameException, nil}, - {`(true|false)`, NamePseudo, nil}, - {`(and|or|not)`, OperatorWord, nil}, - {`/\*`, CommentMultiline, Push("inline-comment")}, - {`//[^\n]*`, CommentSingle, nil}, - {`\#[a-z0-9]{1,6}`, LiteralNumberHex, nil}, - {`(-?\d+)(\%|[a-z]+)?`, ByGroups(LiteralNumberInteger, KeywordType), nil}, - {`(-?\d*\.\d+)(\%|[a-z]+)?`, ByGroups(LiteralNumberFloat, KeywordType), nil}, - {`#\{`, LiteralStringInterpol, Push("interpolation")}, - {`[~^*!&%<>|+=@:,./?-]+`, Operator, nil}, - {`[\[\]()]+`, Punctuation, nil}, - {`"`, LiteralStringDouble, Push("string-double")}, - {`'`, LiteralStringSingle, Push("string-single")}, - {`[a-z_-][\w-]*`, Name, nil}, - {`\n`, Text, Push("root")}, - }, - "interpolation": { - {`\}`, LiteralStringInterpol, Pop(1)}, - Include("value"), - }, - "selector": { - {`[ \t]+`, Text, nil}, - {`\:`, NameDecorator, Push("pseudo-class")}, - {`\.`, NameClass, Push("class")}, - {`\#`, NameNamespace, Push("id")}, - {`[\w-]+`, NameTag, nil}, - {`#\{`, LiteralStringInterpol, Push("interpolation")}, - {`&`, Keyword, nil}, - {`[~^*!&\[\]()<>|+=@:;,./?-]`, Operator, nil}, - {`"`, LiteralStringDouble, Push("string-double")}, - {`'`, LiteralStringSingle, Push("string-single")}, - {`\n`, Text, Push("root")}, - }, - "string-double": { - {`(\\.|#(?=[^\n{])|[^\n"#])+`, LiteralStringDouble, nil}, - {`#\{`, LiteralStringInterpol, Push("interpolation")}, - {`"`, LiteralStringDouble, Pop(1)}, - }, - "string-single": { - {`(\\.|#(?=[^\n{])|[^\n'#])+`, LiteralStringSingle, nil}, - {`#\{`, LiteralStringInterpol, Push("interpolation")}, - {`'`, LiteralStringSingle, Pop(1)}, - }, - "string-url": { - {`(\\#|#(?=[^\n{])|[^\n#)])+`, LiteralStringOther, nil}, - {`#\{`, LiteralStringInterpol, Push("interpolation")}, - {`\)`, LiteralStringOther, Pop(1)}, - }, - "pseudo-class": { - {`[\w-]+`, NameDecorator, nil}, - {`#\{`, LiteralStringInterpol, Push("interpolation")}, - Default(Pop(1)), - }, - "class": { - {`[\w-]+`, NameClass, nil}, - {`#\{`, LiteralStringInterpol, Push("interpolation")}, - Default(Pop(1)), - }, - "id": { - {`[\w-]+`, NameNamespace, nil}, - {`#\{`, LiteralStringInterpol, Push("interpolation")}, - Default(Pop(1)), - }, - "for": { - {`(from|to|through)`, OperatorWord, nil}, - Include("value"), - }, - }, -)) diff --git a/vendor/github.com/alecthomas/chroma/lexers/s/scala.go b/vendor/github.com/alecthomas/chroma/lexers/s/scala.go deleted file mode 100644 index fbefc560..00000000 --- a/vendor/github.com/alecthomas/chroma/lexers/s/scala.go +++ /dev/null @@ -1,113 +0,0 @@ -package s - -import ( - "fmt" - - . "github.com/alecthomas/chroma" // nolint - "github.com/alecthomas/chroma/lexers/internal" -) - -var ( - scalaOp = "[-~\\^\\*!%&\\\\<>\\|+=:/?@\xa6-\xa7\xa9\xac\xae\xb0-\xb1\xb6\xd7\xf7\u03f6\u0482\u0606-\u0608\u060e-\u060f\u06e9\u06fd-\u06fe\u07f6\u09fa\u0b70\u0bf3-\u0bf8\u0bfa\u0c7f\u0cf1-\u0cf2\u0d79\u0f01-\u0f03\u0f13-\u0f17\u0f1a-\u0f1f\u0f34\u0f36\u0f38\u0fbe-\u0fc5\u0fc7-\u0fcf\u109e-\u109f\u1360\u1390-\u1399\u1940\u19e0-\u19ff\u1b61-\u1b6a\u1b74-\u1b7c\u2044\u2052\u207a-\u207c\u208a-\u208c\u2100-\u2101\u2103-\u2106\u2108-\u2109\u2114\u2116-\u2118\u211e-\u2123\u2125\u2127\u2129\u212e\u213a-\u213b\u2140-\u2144\u214a-\u214d\u214f\u2190-\u2328\u232b-\u244a\u249c-\u24e9\u2500-\u2767\u2794-\u27c4\u27c7-\u27e5\u27f0-\u2982\u2999-\u29d7\u29dc-\u29fb\u29fe-\u2b54\u2ce5-\u2cea\u2e80-\u2ffb\u3004\u3012-\u3013\u3020\u3036-\u3037\u303e-\u303f\u3190-\u3191\u3196-\u319f\u31c0-\u31e3\u3200-\u321e\u322a-\u3250\u3260-\u327f\u328a-\u32b0\u32c0-\u33ff\u4dc0-\u4dff\ua490-\ua4c6\ua828-\ua82b\ufb29\ufdfd\ufe62\ufe64-\ufe66\uff0b\uff1c-\uff1e\uff5c\uff5e\uffe2\uffe4\uffe8-\uffee\ufffc-\ufffd]+" - scalaUpper = "[A-Z\\$_\xc0-\xd6\xd8-\xde\u0100\u0102\u0104\u0106\u0108\u010a\u010c\u010e\u0110\u0112\u0114\u0116\u0118\u011a\u011c\u011e\u0120\u0122\u0124\u0126\u0128\u012a\u012c\u012e\u0130\u0132\u0134\u0136\u0139\u013b\u013d\u013f\u0141\u0143\u0145\u0147\u014a\u014c\u014e\u0150\u0152\u0154\u0156\u0158\u015a\u015c\u015e\u0160\u0162\u0164\u0166\u0168\u016a\u016c\u016e\u0170\u0172\u0174\u0176\u0178-\u0179\u017b\u017d\u0181-\u0182\u0184\u0186-\u0187\u0189-\u018b\u018e-\u0191\u0193-\u0194\u0196-\u0198\u019c-\u019d\u019f-\u01a0\u01a2\u01a4\u01a6-\u01a7\u01a9\u01ac\u01ae-\u01af\u01b1-\u01b3\u01b5\u01b7-\u01b8\u01bc\u01c4\u01c7\u01ca\u01cd\u01cf\u01d1\u01d3\u01d5\u01d7\u01d9\u01db\u01de\u01e0\u01e2\u01e4\u01e6\u01e8\u01ea\u01ec\u01ee\u01f1\u01f4\u01f6-\u01f8\u01fa\u01fc\u01fe\u0200\u0202\u0204\u0206\u0208\u020a\u020c\u020e\u0210\u0212\u0214\u0216\u0218\u021a\u021c\u021e\u0220\u0222\u0224\u0226\u0228\u022a\u022c\u022e\u0230\u0232\u023a-\u023b\u023d-\u023e\u0241\u0243-\u0246\u0248\u024a\u024c\u024e\u0370\u0372\u0376\u0386\u0388-\u038f\u0391-\u03ab\u03cf\u03d2-\u03d4\u03d8\u03da\u03dc\u03de\u03e0\u03e2\u03e4\u03e6\u03e8\u03ea\u03ec\u03ee\u03f4\u03f7\u03f9-\u03fa\u03fd-\u042f\u0460\u0462\u0464\u0466\u0468\u046a\u046c\u046e\u0470\u0472\u0474\u0476\u0478\u047a\u047c\u047e\u0480\u048a\u048c\u048e\u0490\u0492\u0494\u0496\u0498\u049a\u049c\u049e\u04a0\u04a2\u04a4\u04a6\u04a8\u04aa\u04ac\u04ae\u04b0\u04b2\u04b4\u04b6\u04b8\u04ba\u04bc\u04be\u04c0-\u04c1\u04c3\u04c5\u04c7\u04c9\u04cb\u04cd\u04d0\u04d2\u04d4\u04d6\u04d8\u04da\u04dc\u04de\u04e0\u04e2\u04e4\u04e6\u04e8\u04ea\u04ec\u04ee\u04f0\u04f2\u04f4\u04f6\u04f8\u04fa\u04fc\u04fe\u0500\u0502\u0504\u0506\u0508\u050a\u050c\u050e\u0510\u0512\u0514\u0516\u0518\u051a\u051c\u051e\u0520\u0522\u0531-\u0556\u10a0-\u10c5\u1e00\u1e02\u1e04\u1e06\u1e08\u1e0a\u1e0c\u1e0e\u1e10\u1e12\u1e14\u1e16\u1e18\u1e1a\u1e1c\u1e1e\u1e20\u1e22\u1e24\u1e26\u1e28\u1e2a\u1e2c\u1e2e\u1e30\u1e32\u1e34\u1e36\u1e38\u1e3a\u1e3c\u1e3e\u1e40\u1e42\u1e44\u1e46\u1e48\u1e4a\u1e4c\u1e4e\u1e50\u1e52\u1e54\u1e56\u1e58\u1e5a\u1e5c\u1e5e\u1e60\u1e62\u1e64\u1e66\u1e68\u1e6a\u1e6c\u1e6e\u1e70\u1e72\u1e74\u1e76\u1e78\u1e7a\u1e7c\u1e7e\u1e80\u1e82\u1e84\u1e86\u1e88\u1e8a\u1e8c\u1e8e\u1e90\u1e92\u1e94\u1e9e\u1ea0\u1ea2\u1ea4\u1ea6\u1ea8\u1eaa\u1eac\u1eae\u1eb0\u1eb2\u1eb4\u1eb6\u1eb8\u1eba\u1ebc\u1ebe\u1ec0\u1ec2\u1ec4\u1ec6\u1ec8\u1eca\u1ecc\u1ece\u1ed0\u1ed2\u1ed4\u1ed6\u1ed8\u1eda\u1edc\u1ede\u1ee0\u1ee2\u1ee4\u1ee6\u1ee8\u1eea\u1eec\u1eee\u1ef0\u1ef2\u1ef4\u1ef6\u1ef8\u1efa\u1efc\u1efe\u1f08-\u1f0f\u1f18-\u1f1d\u1f28-\u1f2f\u1f38-\u1f3f\u1f48-\u1f4d\u1f59-\u1f5f\u1f68-\u1f6f\u1fb8-\u1fbb\u1fc8-\u1fcb\u1fd8-\u1fdb\u1fe8-\u1fec\u1ff8-\u1ffb\u2102\u2107\u210b-\u210d\u2110-\u2112\u2115\u2119-\u211d\u2124\u2126\u2128\u212a-\u212d\u2130-\u2133\u213e-\u213f\u2145\u2183\u2c00-\u2c2e\u2c60\u2c62-\u2c64\u2c67\u2c69\u2c6b\u2c6d-\u2c6f\u2c72\u2c75\u2c80\u2c82\u2c84\u2c86\u2c88\u2c8a\u2c8c\u2c8e\u2c90\u2c92\u2c94\u2c96\u2c98\u2c9a\u2c9c\u2c9e\u2ca0\u2ca2\u2ca4\u2ca6\u2ca8\u2caa\u2cac\u2cae\u2cb0\u2cb2\u2cb4\u2cb6\u2cb8\u2cba\u2cbc\u2cbe\u2cc0\u2cc2\u2cc4\u2cc6\u2cc8\u2cca\u2ccc\u2cce\u2cd0\u2cd2\u2cd4\u2cd6\u2cd8\u2cda\u2cdc\u2cde\u2ce0\u2ce2\ua640\ua642\ua644\ua646\ua648\ua64a\ua64c\ua64e\ua650\ua652\ua654\ua656\ua658\ua65a\ua65c\ua65e\ua662\ua664\ua666\ua668\ua66a\ua66c\ua680\ua682\ua684\ua686\ua688\ua68a\ua68c\ua68e\ua690\ua692\ua694\ua696\ua722\ua724\ua726\ua728\ua72a\ua72c\ua72e\ua732\ua734\ua736\ua738\ua73a\ua73c\ua73e\ua740\ua742\ua744\ua746\ua748\ua74a\ua74c\ua74e\ua750\ua752\ua754\ua756\ua758\ua75a\ua75c\ua75e\ua760\ua762\ua764\ua766\ua768\ua76a\ua76c\ua76e\ua779\ua77b\ua77d-\ua77e\ua780\ua782\ua784\ua786\ua78b\uff21-\uff3a]" - scalaLetter = `[a-zA-Z\\$_ªµºÀ-ÖØ-öø-ʯͰ-ͳͶ-ͷͻ-ͽΆΈ-ϵϷ-ҁҊ-Ֆա-ևא-ײء-ؿف-يٮ-ٯٱ-ۓەۮ-ۯۺ-ۼۿܐܒ-ܯݍ-ޥޱߊ-ߪऄ-हऽॐक़-ॡॲ-ॿঅ-হঽৎড়-ৡৰ-ৱਅ-ਹਖ਼-ਫ਼ੲ-ੴઅ-હઽૐ-ૡଅ-ହଽଡ଼-ୡୱஃ-ஹௐఅ-ఽౘ-ౡಅ-ಹಽೞ-ೡഅ-ഽൠ-ൡൺ-ൿඅ-ෆก-ะา-ำเ-ๅກ-ະາ-ຳຽ-ໄໜ-ༀཀ-ཬྈ-ྋက-ဪဿၐ-ၕၚ-ၝၡၥ-ၦၮ-ၰၵ-ႁႎႠ-ჺᄀ-ፚᎀ-ᎏᎠ-ᙬᙯ-ᙶᚁ-ᚚᚠ-ᛪᛮ-ᜑᜠ-ᜱᝀ-ᝑᝠ-ᝰក-ឳៜᠠ-ᡂᡄ-ᢨᢪ-ᤜᥐ-ᦩᧁ-ᧇᨀ-ᨖᬅ-ᬳᭅ-ᭋᮃ-ᮠᮮ-ᮯᰀ-ᰣᱍ-ᱏᱚ-ᱷᴀ-ᴫᵢ-ᵷᵹ-ᶚḀ-ᾼιῂ-ῌῐ-Ίῠ-Ῥῲ-ῼⁱⁿℂℇℊ-ℓℕℙ-ℝℤΩℨK-ℭℯ-ℹℼ-ℿⅅ-ⅉⅎⅠ-ↈⰀ-ⱼⲀ-ⳤⴀ-ⵥⶀ-ⷞ〆-〇〡-〩〸-〺〼ぁ-ゖゟァ-ヺヿ-ㆎㆠ-ㆷㇰ-ㇿ㐀-䶵一-ꀔꀖ-ꒌꔀ-ꘋꘐ-ꘟꘪ-ꙮꚀ-ꚗꜢ-ꝯꝱ-ꞇꞋ-ꠁꠃ-ꠅꠇ-ꠊꠌ-ꠢꡀ-ꡳꢂ-ꢳꤊ-ꤥꤰ-ꥆꨀ-ꨨꩀ-ꩂꩄ-ꩋ가-힣豈-יִײַ-ﬨשׁ-ﴽﵐ-ﷻﹰ-ﻼA-Za-zヲ-ッア-ンᅠ-ᅵ]` - scalaIDRest = fmt.Sprintf(`%s(?:%s|[0-9])*(?:(?<=_)%s)?`, scalaLetter, scalaLetter, scalaOp) - scalaLetterLetterDigit = fmt.Sprintf(`%s(?:%s|\d)*`, scalaLetter, scalaLetter) -) - -// Scala lexer. -var Scala = internal.Register(MustNewLexer( - &Config{ - Name: "Scala", - Aliases: []string{"scala"}, - Filenames: []string{"*.scala"}, - MimeTypes: []string{"text/x-scala"}, - DotAll: true, - }, - Rules{ - "root": { - {`(class|trait|object)(\s+)`, ByGroups(Keyword, Text), Push("class")}, - {`[^\S\n]+`, Text, nil}, - {`//.*?\n`, CommentSingle, nil}, - {`/\*`, CommentMultiline, Push("comment")}, - {`@` + scalaIDRest, NameDecorator, nil}, - {`(abstract|ca(?:se|tch)|d(?:ef|o)|e(?:lse|xtends)|f(?:inal(?:ly)?|or(?:Some)?)|i(?:f|mplicit)|lazy|match|new|override|pr(?:ivate|otected)|re(?:quires|turn)|s(?:ealed|uper)|t(?:h(?:is|row)|ry)|va[lr]|w(?:hile|ith)|yield)\b|(<[%:-]|=>|>:|[#=@_⇒←])(\b|(?=\s)|$)`, Keyword, nil}, - {`:(?!` + scalaOp + `%s)`, Keyword, Push("type")}, - {fmt.Sprintf("%s%s\\b", scalaUpper, scalaIDRest), NameClass, nil}, - {`(true|false|null)\b`, KeywordConstant, nil}, - {`(import|package)(\s+)`, ByGroups(Keyword, Text), Push("import")}, - {`(type)(\s+)`, ByGroups(Keyword, Text), Push("type")}, - {`""".*?"""(?!")`, LiteralString, nil}, - {`"(\\\\|\\"|[^"])*"`, LiteralString, nil}, - {`'\\.'|'[^\\]'|'\\u[0-9a-fA-F]{4}'`, LiteralStringChar, nil}, - {"'" + scalaIDRest, TextSymbol, nil}, - {`[fs]"""`, LiteralString, Push("interptriplestring")}, - {`[fs]"`, LiteralString, Push("interpstring")}, - {`raw"(\\\\|\\"|[^"])*"`, LiteralString, nil}, - {scalaIDRest, Name, nil}, - {"`[^`]+`", Name, nil}, - {`\[`, Operator, Push("typeparam")}, - {`[(){};,.#]`, Operator, nil}, - {scalaOp, Operator, nil}, - {`([0-9][0-9]*\.[0-9]*|\.[0-9]+)([eE][+-]?[0-9]+)?[fFdD]?`, LiteralNumberFloat, nil}, - {`0x[0-9a-fA-F]+`, LiteralNumberHex, nil}, - {`[0-9]+L?`, LiteralNumberInteger, nil}, - {`\n`, Text, nil}, - }, - "class": { - {fmt.Sprintf("(%s|%s|`[^`]+`)(\\s*)(\\[)", scalaIDRest, scalaOp), ByGroups(NameClass, Text, Operator), Push("typeparam")}, - {`\s+`, Text, nil}, - {`\{`, Operator, Pop(1)}, - {`\(`, Operator, Pop(1)}, - {`//.*?\n`, CommentSingle, Pop(1)}, - {fmt.Sprintf("%s|%s|`[^`]+`", scalaIDRest, scalaOp), NameClass, Pop(1)}, - }, - "type": { - {`\s+`, Text, nil}, - {`<[%:]|>:|[#_]|forSome|type`, Keyword, nil}, - {`([,);}]|=>|=|⇒)(\s*)`, ByGroups(Operator, Text), Pop(1)}, - {`[({]`, Operator, Push()}, - {fmt.Sprintf("((?:%s|%s|`[^`]+`)(?:\\.(?:%s|%s|`[^`]+`))*)(\\s*)(\\[)", scalaIDRest, scalaOp, scalaIDRest, scalaOp), ByGroups(KeywordType, Text, Operator), Push("#pop", "typeparam")}, - {fmt.Sprintf("((?:%s|%s|`[^`]+`)(?:\\.(?:%s|%s|`[^`]+`))*)(\\s*)$", scalaIDRest, scalaOp, scalaIDRest, scalaOp), ByGroups(KeywordType, Text), Pop(1)}, - {`//.*?\n`, CommentSingle, Pop(1)}, - {fmt.Sprintf("\\.|%s|%s|`[^`]+`", scalaIDRest, scalaOp), KeywordType, nil}, - }, - "typeparam": { - {`[\s,]+`, Text, nil}, - {`<[%:]|=>|>:|[#_⇒]|forSome|type`, Keyword, nil}, - {`([\])}])`, Operator, Pop(1)}, - {`[(\[{]`, Operator, Push()}, - {fmt.Sprintf("\\.|%s|%s|`[^`]+`", scalaIDRest, scalaOp), KeywordType, nil}, - }, - "comment": { - {`[^/*]+`, CommentMultiline, nil}, - {`/\*`, CommentMultiline, Push()}, - {`\*/`, CommentMultiline, Pop(1)}, - {`[*/]`, CommentMultiline, nil}, - }, - "import": { - {fmt.Sprintf("(%s|\\.)+", scalaIDRest), NameNamespace, Pop(1)}, - }, - "interpstringcommon": { - {`[^"$\\]+`, LiteralString, nil}, - {`\$\$`, LiteralString, nil}, - {`\$` + scalaLetter + `(?:` + scalaLetter + `|\d)*`, LiteralStringInterpol, nil}, - {`\$\{`, LiteralStringInterpol, Push("interpbrace")}, - {`\\.`, LiteralString, nil}, - }, - "interptriplestring": { - {`"""(?!")`, LiteralString, Pop(1)}, - {`"`, LiteralString, nil}, - Include("interpstringcommon"), - }, - "interpstring": { - {`"`, LiteralString, Pop(1)}, - Include("interpstringcommon"), - }, - "interpbrace": { - {`\}`, LiteralStringInterpol, Pop(1)}, - {`\{`, LiteralStringInterpol, Push()}, - Include("root"), - }, - }, -)) diff --git a/vendor/github.com/alecthomas/chroma/lexers/s/scheme.go b/vendor/github.com/alecthomas/chroma/lexers/s/scheme.go deleted file mode 100644 index b721d68d..00000000 --- a/vendor/github.com/alecthomas/chroma/lexers/s/scheme.go +++ /dev/null @@ -1,53 +0,0 @@ -package s - -import ( - . "github.com/alecthomas/chroma" // nolint - "github.com/alecthomas/chroma/lexers/internal" -) - -// nolint - -// Scheme lexer. -var SchemeLang = internal.Register(MustNewLexer( - &Config{ - Name: "Scheme", - Aliases: []string{"scheme", "scm"}, - Filenames: []string{"*.scm", "*.ss"}, - MimeTypes: []string{"text/x-scheme", "application/x-scheme"}, - }, - Rules{ - "root": { - {`;.*$`, CommentSingle, nil}, - {`#\|`, CommentMultiline, Push("multiline-comment")}, - {`#;\s*\(`, Comment, Push("commented-form")}, - {`#!r6rs`, Comment, nil}, - {`\s+`, Text, nil}, - {`-?\d+\.\d+`, LiteralNumberFloat, nil}, - {`-?\d+`, LiteralNumberInteger, nil}, - {`"(\\\\|\\"|[^"])*"`, LiteralString, nil}, - {`'[\w!$%&*+,/:<=>?@^~|-]+`, LiteralStringSymbol, nil}, - {`#\\([()/'\"._!§$%& ?=+-]|[a-zA-Z0-9]+)`, LiteralStringChar, nil}, - {`(#t|#f)`, NameConstant, nil}, - {"('|#|`|,@|,|\\.)", Operator, nil}, - {`(lambda |define |if |else |cond |and |or |case |let |let\* |letrec |begin |do |delay |set\! |\=\> |quote |quasiquote |unquote |unquote\-splicing |define\-syntax |let\-syntax |letrec\-syntax |syntax\-rules )`, Keyword, nil}, - {`(?<='\()[\w!$%&*+,/:<=>?@^~|-]+`, NameVariable, nil}, - {`(?<=#\()[\w!$%&*+,/:<=>?@^~|-]+`, NameVariable, nil}, - {`(?<=\()(\* |\+ |\- |\/ |\< |\<\= |\= |\> |\>\= |abs |acos |angle |append |apply |asin |assoc |assq |assv |atan |boolean\? |caaaar |caaadr |caaar |caadar |caaddr |caadr |caar |cadaar |cadadr |cadar |caddar |cadddr |caddr |cadr |call\-with\-current\-continuation |call\-with\-input\-file |call\-with\-output\-file |call\-with\-values |call\/cc |car |cdaaar |cdaadr |cdaar |cdadar |cdaddr |cdadr |cdar |cddaar |cddadr |cddar |cdddar |cddddr |cdddr |cddr |cdr |ceiling |char\-\>integer |char\-alphabetic\? |char\-ci\<\=\? |char\-ci\<\? |char\-ci\=\? |char\-ci\>\=\? |char\-ci\>\? |char\-downcase |char\-lower\-case\? |char\-numeric\? |char\-ready\? |char\-upcase |char\-upper\-case\? |char\-whitespace\? |char\<\=\? |char\<\? |char\=\? |char\>\=\? |char\>\? |char\? |close\-input\-port |close\-output\-port |complex\? |cons |cos |current\-input\-port |current\-output\-port |denominator |display |dynamic\-wind |eof\-object\? |eq\? |equal\? |eqv\? |eval |even\? |exact\-\>inexact |exact\? |exp |expt |floor |for\-each |force |gcd |imag\-part |inexact\-\>exact |inexact\? |input\-port\? |integer\-\>char |integer\? |interaction\-environment |lcm |length |list |list\-\>string |list\-\>vector |list\-ref |list\-tail |list\? |load |log |magnitude |make\-polar |make\-rectangular |make\-string |make\-vector |map |max |member |memq |memv |min |modulo |negative\? |newline |not |null\-environment |null\? |number\-\>string |number\? |numerator |odd\? |open\-input\-file |open\-output\-file |output\-port\? |pair\? |peek\-char |port\? |positive\? |procedure\? |quotient |rational\? |rationalize |read |read\-char |real\-part |real\? |remainder |reverse |round |scheme\-report\-environment |set\-car\! |set\-cdr\! |sin |sqrt |string |string\-\>list |string\-\>number |string\-\>symbol |string\-append |string\-ci\<\=\? |string\-ci\<\? |string\-ci\=\? |string\-ci\>\=\? |string\-ci\>\? |string\-copy |string\-fill\! |string\-length |string\-ref |string\-set\! |string\<\=\? |string\<\? |string\=\? |string\>\=\? |string\>\? |string\? |substring |symbol\-\>string |symbol\? |tan |transcript\-off |transcript\-on |truncate |values |vector |vector\-\>list |vector\-fill\! |vector\-length |vector\-ref |vector\-set\! |vector\? |with\-input\-from\-file |with\-output\-to\-file |write |write\-char |zero\? )`, NameBuiltin, nil}, - {`(?<=\()[\w!$%&*+,/:<=>?@^~|-]+`, NameFunction, nil}, - {`[\w!$%&*+,/:<=>?@^~|-]+`, NameVariable, nil}, - {`(\(|\))`, Punctuation, nil}, - {`(\[|\])`, Punctuation, nil}, - }, - "multiline-comment": { - {`#\|`, CommentMultiline, Push()}, - {`\|#`, CommentMultiline, Pop(1)}, - {`[^|#]+`, CommentMultiline, nil}, - {`[|#]`, CommentMultiline, nil}, - }, - "commented-form": { - {`\(`, Comment, Push()}, - {`\)`, Comment, Pop(1)}, - {`[^()]+`, Comment, nil}, - }, - }, -)) diff --git a/vendor/github.com/alecthomas/chroma/lexers/s/scilab.go b/vendor/github.com/alecthomas/chroma/lexers/s/scilab.go deleted file mode 100644 index 87fa66cc..00000000 --- a/vendor/github.com/alecthomas/chroma/lexers/s/scilab.go +++ /dev/null @@ -1,44 +0,0 @@ -package s - -import ( - . "github.com/alecthomas/chroma" // nolint - "github.com/alecthomas/chroma/lexers/internal" -) - -// Scilab lexer. -var Scilab = internal.Register(MustNewLexer( - &Config{ - Name: "Scilab", - Aliases: []string{"scilab"}, - Filenames: []string{"*.sci", "*.sce", "*.tst"}, - MimeTypes: []string{"text/scilab"}, - }, - Rules{ - "root": { - {`//.*?$`, CommentSingle, nil}, - {`^\s*function`, Keyword, Push("deffunc")}, - {Words(``, `\b`, `__FILE__`, `__LINE__`, `break`, `case`, `catch`, `classdef`, `continue`, `do`, `else`, `elseif`, `end`, `end_try_catch`, `end_unwind_protect`, `endclassdef`, `endevents`, `endfor`, `endfunction`, `endif`, `endmethods`, `endproperties`, `endswitch`, `endwhile`, `events`, `for`, `function`, `get`, `global`, `if`, `methods`, `otherwise`, `persistent`, `properties`, `return`, `set`, `static`, `switch`, `try`, `until`, `unwind_protect`, `unwind_protect_cleanup`, `while`), Keyword, nil}, - {Words(``, `\b`, `!!_invoke_`, `%H5Object_e`, `%H5Object_fieldnames`, `%H5Object_p`, `%XMLAttr_6`, `%XMLAttr_e`, `%XMLAttr_i_XMLElem`, `%XMLAttr_length`, `%XMLAttr_p`, `%XMLAttr_size`, `%XMLDoc_6`, `%XMLDoc_e`, `%XMLDoc_i_XMLList`, `%XMLDoc_p`, `%XMLElem_6`, `%XMLElem_e`, `%XMLElem_i_XMLDoc`, `%XMLElem_i_XMLElem`, `%XMLElem_i_XMLList`, `%XMLElem_p`, `%XMLList_6`, `%XMLList_e`, `%XMLList_i_XMLElem`, `%XMLList_i_XMLList`, `%XMLList_length`, `%XMLList_p`, `%XMLList_size`, `%XMLNs_6`, `%XMLNs_e`, `%XMLNs_i_XMLElem`, `%XMLNs_p`, `%XMLSet_6`, `%XMLSet_e`, `%XMLSet_length`, `%XMLSet_p`, `%XMLSet_size`, `%XMLValid_p`, `%_EClass_6`, `%_EClass_e`, `%_EClass_p`, `%_EObj_0`, `%_EObj_1__EObj`, `%_EObj_1_b`, `%_EObj_1_c`, `%_EObj_1_i`, `%_EObj_1_s`, `%_EObj_2__EObj`, `%_EObj_2_b`, `%_EObj_2_c`, `%_EObj_2_i`, `%_EObj_2_s`, `%_EObj_3__EObj`, `%_EObj_3_b`, `%_EObj_3_c`, `%_EObj_3_i`, `%_EObj_3_s`, `%_EObj_4__EObj`, `%_EObj_4_b`, `%_EObj_4_c`, `%_EObj_4_i`, `%_EObj_4_s`, `%_EObj_5`, `%_EObj_6`, `%_EObj_a__EObj`, `%_EObj_a_b`, `%_EObj_a_c`, `%_EObj_a_i`, `%_EObj_a_s`, `%_EObj_d__EObj`, `%_EObj_d_b`, `%_EObj_d_c`, `%_EObj_d_i`, `%_EObj_d_s`, `%_EObj_disp`, `%_EObj_e`, `%_EObj_g__EObj`, `%_EObj_g_b`, `%_EObj_g_c`, `%_EObj_g_i`, `%_EObj_g_s`, `%_EObj_h__EObj`, `%_EObj_h_b`, `%_EObj_h_c`, `%_EObj_h_i`, `%_EObj_h_s`, `%_EObj_i__EObj`, `%_EObj_j__EObj`, `%_EObj_j_b`, `%_EObj_j_c`, `%_EObj_j_i`, `%_EObj_j_s`, `%_EObj_k__EObj`, `%_EObj_k_b`, `%_EObj_k_c`, `%_EObj_k_i`, `%_EObj_k_s`, `%_EObj_l__EObj`, `%_EObj_l_b`, `%_EObj_l_c`, `%_EObj_l_i`, `%_EObj_l_s`, `%_EObj_m__EObj`, `%_EObj_m_b`, `%_EObj_m_c`, `%_EObj_m_i`, `%_EObj_m_s`, `%_EObj_n__EObj`, `%_EObj_n_b`, `%_EObj_n_c`, `%_EObj_n_i`, `%_EObj_n_s`, `%_EObj_o__EObj`, `%_EObj_o_b`, `%_EObj_o_c`, `%_EObj_o_i`, `%_EObj_o_s`, `%_EObj_p`, `%_EObj_p__EObj`, `%_EObj_p_b`, `%_EObj_p_c`, `%_EObj_p_i`, `%_EObj_p_s`, `%_EObj_q__EObj`, `%_EObj_q_b`, `%_EObj_q_c`, `%_EObj_q_i`, `%_EObj_q_s`, `%_EObj_r__EObj`, `%_EObj_r_b`, `%_EObj_r_c`, `%_EObj_r_i`, `%_EObj_r_s`, `%_EObj_s__EObj`, `%_EObj_s_b`, `%_EObj_s_c`, `%_EObj_s_i`, `%_EObj_s_s`, `%_EObj_t`, `%_EObj_x__EObj`, `%_EObj_x_b`, `%_EObj_x_c`, `%_EObj_x_i`, `%_EObj_x_s`, `%_EObj_y__EObj`, `%_EObj_y_b`, `%_EObj_y_c`, `%_EObj_y_i`, `%_EObj_y_s`, `%_EObj_z__EObj`, `%_EObj_z_b`, `%_EObj_z_c`, `%_EObj_z_i`, `%_EObj_z_s`, `%_eigs`, `%_load`, `%b_1__EObj`, `%b_2__EObj`, `%b_3__EObj`, `%b_4__EObj`, `%b_a__EObj`, `%b_d__EObj`, `%b_g__EObj`, `%b_h__EObj`, `%b_i_XMLList`, `%b_i__EObj`, `%b_j__EObj`, `%b_k__EObj`, `%b_l__EObj`, `%b_m__EObj`, `%b_n__EObj`, `%b_o__EObj`, `%b_p__EObj`, `%b_q__EObj`, `%b_r__EObj`, `%b_s__EObj`, `%b_x__EObj`, `%b_y__EObj`, `%b_z__EObj`, `%c_1__EObj`, `%c_2__EObj`, `%c_3__EObj`, `%c_4__EObj`, `%c_a__EObj`, `%c_d__EObj`, `%c_g__EObj`, `%c_h__EObj`, `%c_i_XMLAttr`, `%c_i_XMLDoc`, `%c_i_XMLElem`, `%c_i_XMLList`, `%c_i__EObj`, `%c_j__EObj`, `%c_k__EObj`, `%c_l__EObj`, `%c_m__EObj`, `%c_n__EObj`, `%c_o__EObj`, `%c_p__EObj`, `%c_q__EObj`, `%c_r__EObj`, `%c_s__EObj`, `%c_x__EObj`, `%c_y__EObj`, `%c_z__EObj`, `%ce_i_XMLList`, `%fptr_i_XMLList`, `%h_i_XMLList`, `%hm_i_XMLList`, `%i_1__EObj`, `%i_2__EObj`, `%i_3__EObj`, `%i_4__EObj`, `%i_a__EObj`, `%i_abs`, `%i_cumprod`, `%i_cumsum`, `%i_d__EObj`, `%i_diag`, `%i_g__EObj`, `%i_h__EObj`, `%i_i_XMLList`, `%i_i__EObj`, `%i_j__EObj`, `%i_k__EObj`, `%i_l__EObj`, `%i_m__EObj`, `%i_matrix`, `%i_max`, `%i_maxi`, `%i_min`, `%i_mini`, `%i_mput`, `%i_n__EObj`, `%i_o__EObj`, `%i_p`, `%i_p__EObj`, `%i_prod`, `%i_q__EObj`, `%i_r__EObj`, `%i_s__EObj`, `%i_sum`, `%i_tril`, `%i_triu`, `%i_x__EObj`, `%i_y__EObj`, `%i_z__EObj`, `%ip_i_XMLList`, `%l_i_XMLList`, `%l_i__EObj`, `%lss_i_XMLList`, `%mc_i_XMLList`, `%msp_full`, `%msp_i_XMLList`, `%msp_spget`, `%p_i_XMLList`, `%ptr_i_XMLList`, `%r_i_XMLList`, `%s_1__EObj`, `%s_2__EObj`, `%s_3__EObj`, `%s_4__EObj`, `%s_a__EObj`, `%s_d__EObj`, `%s_g__EObj`, `%s_h__EObj`, `%s_i_XMLList`, `%s_i__EObj`, `%s_j__EObj`, `%s_k__EObj`, `%s_l__EObj`, `%s_m__EObj`, `%s_n__EObj`, `%s_o__EObj`, `%s_p__EObj`, `%s_q__EObj`, `%s_r__EObj`, `%s_s__EObj`, `%s_x__EObj`, `%s_y__EObj`, `%s_z__EObj`, `%sp_i_XMLList`, `%spb_i_XMLList`, `%st_i_XMLList`, `Calendar`, `ClipBoard`, `Matplot`, `Matplot1`, `PlaySound`, `TCL_DeleteInterp`, `TCL_DoOneEvent`, `TCL_EvalFile`, `TCL_EvalStr`, `TCL_ExistArray`, `TCL_ExistInterp`, `TCL_ExistVar`, `TCL_GetVar`, `TCL_GetVersion`, `TCL_SetVar`, `TCL_UnsetVar`, `TCL_UpVar`, `_`, `_code2str`, `_d`, `_str2code`, `about`, `abs`, `acos`, `addModulePreferences`, `addcolor`, `addf`, `addhistory`, `addinter`, `addlocalizationdomain`, `amell`, `and`, `argn`, `arl2_ius`, `ascii`, `asin`, `atan`, `backslash`, `balanc`, `banner`, `base2dec`, `basename`, `bdiag`, `beep`, `besselh`, `besseli`, `besselj`, `besselk`, `bessely`, `beta`, `bezout`, `bfinit`, `blkfc1i`, `blkslvi`, `bool2s`, `browsehistory`, `browsevar`, `bsplin3val`, `buildDoc`, `buildouttb`, `bvode`, `c_link`, `call`, `callblk`, `captions`, `cd`, `cdfbet`, `cdfbin`, `cdfchi`, `cdfchn`, `cdff`, `cdffnc`, `cdfgam`, `cdfnbn`, `cdfnor`, `cdfpoi`, `cdft`, `ceil`, `champ`, `champ1`, `chdir`, `chol`, `clc`, `clean`, `clear`, `clearfun`, `clearglobal`, `closeEditor`, `closeEditvar`, `closeXcos`, `code2str`, `coeff`, `color`, `comp`, `completion`, `conj`, `contour2di`, `contr`, `conv2`, `convstr`, `copy`, `copyfile`, `corr`, `cos`, `coserror`, `createdir`, `cshep2d`, `csvDefault`, `csvIsnum`, `csvRead`, `csvStringToDouble`, `csvTextScan`, `csvWrite`, `ctree2`, `ctree3`, `ctree4`, `cumprod`, `cumsum`, `curblock`, `curblockc`, `daskr`, `dasrt`, `dassl`, `data2sig`, `datatipCreate`, `datatipManagerMode`, `datatipMove`, `datatipRemove`, `datatipSetDisplay`, `datatipSetInterp`, `datatipSetOrientation`, `datatipSetStyle`, `datatipToggle`, `dawson`, `dct`, `debug`, `dec2base`, `deff`, `definedfields`, `degree`, `delbpt`, `delete`, `deletefile`, `delip`, `delmenu`, `det`, `dgettext`, `dhinf`, `diag`, `diary`, `diffobjs`, `disp`, `dispbpt`, `displayhistory`, `disposefftwlibrary`, `dlgamma`, `dnaupd`, `dneupd`, `double`, `drawaxis`, `drawlater`, `drawnow`, `driver`, `dsaupd`, `dsearch`, `dseupd`, `dst`, `duplicate`, `editvar`, `emptystr`, `end_scicosim`, `ereduc`, `erf`, `erfc`, `erfcx`, `erfi`, `errcatch`, `errclear`, `error`, `eval_cshep2d`, `exec`, `execstr`, `exists`, `exit`, `exp`, `expm`, `exportUI`, `export_to_hdf5`, `eye`, `fadj2sp`, `fec`, `feval`, `fft`, `fftw`, `fftw_flags`, `fftw_forget_wisdom`, `fftwlibraryisloaded`, `figure`, `file`, `filebrowser`, `fileext`, `fileinfo`, `fileparts`, `filesep`, `find`, `findBD`, `findfiles`, `fire_closing_finished`, `floor`, `format`, `fort`, `fprintfMat`, `freq`, `frexp`, `fromc`, `fromjava`, `fscanfMat`, `fsolve`, `fstair`, `full`, `fullpath`, `funcprot`, `funptr`, `gamma`, `gammaln`, `geom3d`, `get`, `getURL`, `get_absolute_file_path`, `get_fftw_wisdom`, `getblocklabel`, `getcallbackobject`, `getdate`, `getdebuginfo`, `getdefaultlanguage`, `getdrives`, `getdynlibext`, `getenv`, `getfield`, `gethistory`, `gethistoryfile`, `getinstalledlookandfeels`, `getio`, `getlanguage`, `getlongpathname`, `getlookandfeel`, `getmd5`, `getmemory`, `getmodules`, `getos`, `getpid`, `getrelativefilename`, `getscicosvars`, `getscilabmode`, `getshortpathname`, `gettext`, `getvariablesonstack`, `getversion`, `glist`, `global`, `glue`, `grand`, `graphicfunction`, `grayplot`, `grep`, `gsort`, `gstacksize`, `h5attr`, `h5close`, `h5cp`, `h5dataset`, `h5dump`, `h5exists`, `h5flush`, `h5get`, `h5group`, `h5isArray`, `h5isAttr`, `h5isCompound`, `h5isFile`, `h5isGroup`, `h5isList`, `h5isRef`, `h5isSet`, `h5isSpace`, `h5isType`, `h5isVlen`, `h5label`, `h5ln`, `h5ls`, `h5mount`, `h5mv`, `h5open`, `h5read`, `h5readattr`, `h5rm`, `h5umount`, `h5write`, `h5writeattr`, `havewindow`, `helpbrowser`, `hess`, `hinf`, `historymanager`, `historysize`, `host`, `htmlDump`, `htmlRead`, `htmlReadStr`, `htmlWrite`, `iconvert`, `ieee`, `ilib_verbose`, `imag`, `impl`, `import_from_hdf5`, `imult`, `inpnvi`, `int`, `int16`, `int2d`, `int32`, `int3d`, `int8`, `interp`, `interp2d`, `interp3d`, `intg`, `intppty`, `inttype`, `inv`, `invoke_lu`, `is_handle_valid`, `is_hdf5_file`, `isalphanum`, `isascii`, `isdef`, `isdigit`, `isdir`, `isequal`, `isequalbitwise`, `iserror`, `isfile`, `isglobal`, `isletter`, `isnum`, `isreal`, `iswaitingforinput`, `jallowClassReloading`, `jarray`, `jautoTranspose`, `jautoUnwrap`, `javaclasspath`, `javalibrarypath`, `jcast`, `jcompile`, `jconvMatrixMethod`, `jcreatejar`, `jdeff`, `jdisableTrace`, `jenableTrace`, `jexists`, `jgetclassname`, `jgetfield`, `jgetfields`, `jgetinfo`, `jgetmethods`, `jimport`, `jinvoke`, `jinvoke_db`, `jnewInstance`, `jremove`, `jsetfield`, `junwrap`, `junwraprem`, `jwrap`, `jwrapinfloat`, `kron`, `lasterror`, `ldiv`, `ldivf`, `legendre`, `length`, `lib`, `librarieslist`, `libraryinfo`, `light`, `linear_interpn`, `lines`, `link`, `linmeq`, `list`, `listvar_in_hdf5`, `load`, `loadGui`, `loadScicos`, `loadXcos`, `loadfftwlibrary`, `loadhistory`, `log`, `log1p`, `lsq`, `lsq_splin`, `lsqrsolve`, `lsslist`, `lstcat`, `lstsize`, `ltitr`, `lu`, `ludel`, `lufact`, `luget`, `lusolve`, `macr2lst`, `macr2tree`, `matfile_close`, `matfile_listvar`, `matfile_open`, `matfile_varreadnext`, `matfile_varwrite`, `matrix`, `max`, `maxfiles`, `mclearerr`, `mclose`, `meof`, `merror`, `messagebox`, `mfprintf`, `mfscanf`, `mget`, `mgeti`, `mgetl`, `mgetstr`, `min`, `mlist`, `mode`, `model2blk`, `mopen`, `move`, `movefile`, `mprintf`, `mput`, `mputl`, `mputstr`, `mscanf`, `mseek`, `msprintf`, `msscanf`, `mtell`, `mtlb_mode`, `mtlb_sparse`, `mucomp`, `mulf`, `name2rgb`, `nearfloat`, `newaxes`, `newest`, `newfun`, `nnz`, `norm`, `notify`, `number_properties`, `ode`, `odedc`, `ones`, `openged`, `opentk`, `optim`, `or`, `ordmmd`, `parallel_concurrency`, `parallel_run`, `param3d`, `param3d1`, `part`, `pathconvert`, `pathsep`, `phase_simulation`, `plot2d`, `plot2d1`, `plot2d2`, `plot2d3`, `plot2d4`, `plot3d`, `plot3d1`, `plotbrowser`, `pointer_xproperty`, `poly`, `ppol`, `pppdiv`, `predef`, `preferences`, `print`, `printf`, `printfigure`, `printsetupbox`, `prod`, `progressionbar`, `prompt`, `pwd`, `qld`, `qp_solve`, `qr`, `raise_window`, `rand`, `rankqr`, `rat`, `rcond`, `rdivf`, `read`, `read4b`, `read_csv`, `readb`, `readgateway`, `readmps`, `real`, `realtime`, `realtimeinit`, `regexp`, `relocate_handle`, `remez`, `removeModulePreferences`, `removedir`, `removelinehistory`, `res_with_prec`, `resethistory`, `residu`, `resume`, `return`, `ricc`, `rlist`, `roots`, `rotate_axes`, `round`, `rpem`, `rtitr`, `rubberbox`, `save`, `saveGui`, `saveafterncommands`, `saveconsecutivecommands`, `savehistory`, `schur`, `sci_haltscicos`, `sci_tree2`, `sci_tree3`, `sci_tree4`, `sciargs`, `scicos_debug`, `scicos_debug_count`, `scicos_time`, `scicosim`, `scinotes`, `sctree`, `semidef`, `set`, `set_blockerror`, `set_fftw_wisdom`, `set_xproperty`, `setbpt`, `setdefaultlanguage`, `setenv`, `setfield`, `sethistoryfile`, `setlanguage`, `setlookandfeel`, `setmenu`, `sfact`, `sfinit`, `show_window`, `sident`, `sig2data`, `sign`, `simp`, `simp_mode`, `sin`, `size`, `slash`, `sleep`, `sorder`, `sparse`, `spchol`, `spcompack`, `spec`, `spget`, `splin`, `splin2d`, `splin3d`, `splitURL`, `spones`, `sprintf`, `sqrt`, `stacksize`, `str2code`, `strcat`, `strchr`, `strcmp`, `strcspn`, `strindex`, `string`, `stringbox`, `stripblanks`, `strncpy`, `strrchr`, `strrev`, `strsplit`, `strspn`, `strstr`, `strsubst`, `strtod`, `strtok`, `subf`, `sum`, `svd`, `swap_handles`, `symfcti`, `syredi`, `system_getproperty`, `system_setproperty`, `ta2lpd`, `tan`, `taucs_chdel`, `taucs_chfact`, `taucs_chget`, `taucs_chinfo`, `taucs_chsolve`, `tempname`, `testmatrix`, `timer`, `tlist`, `tohome`, `tokens`, `toolbar`, `toprint`, `tr_zer`, `tril`, `triu`, `type`, `typename`, `uiDisplayTree`, `uicontextmenu`, `uicontrol`, `uigetcolor`, `uigetdir`, `uigetfile`, `uigetfont`, `uimenu`, `uint16`, `uint32`, `uint8`, `uipopup`, `uiputfile`, `uiwait`, `ulink`, `umf_ludel`, `umf_lufact`, `umf_luget`, `umf_luinfo`, `umf_lusolve`, `umfpack`, `unglue`, `unix`, `unsetmenu`, `unzoom`, `updatebrowsevar`, `usecanvas`, `useeditor`, `user`, `var2vec`, `varn`, `vec2var`, `waitbar`, `warnBlockByUID`, `warning`, `what`, `where`, `whereis`, `who`, `winsid`, `with_module`, `writb`, `write`, `write4b`, `write_csv`, `x_choose`, `x_choose_modeless`, `x_dialog`, `x_mdialog`, `xarc`, `xarcs`, `xarrows`, `xchange`, `xchoicesi`, `xclick`, `xcos`, `xcosAddToolsMenu`, `xcosConfigureXmlFile`, `xcosDiagramToScilab`, `xcosPalCategoryAdd`, `xcosPalDelete`, `xcosPalDisable`, `xcosPalEnable`, `xcosPalGenerateIcon`, `xcosPalGet`, `xcosPalLoad`, `xcosPalMove`, `xcosSimulationStarted`, `xcosUpdateBlock`, `xdel`, `xend`, `xfarc`, `xfarcs`, `xfpoly`, `xfpolys`, `xfrect`, `xget`, `xgetmouse`, `xgraduate`, `xgrid`, `xinit`, `xlfont`, `xls_open`, `xls_read`, `xmlAddNs`, `xmlAppend`, `xmlAsNumber`, `xmlAsText`, `xmlDTD`, `xmlDelete`, `xmlDocument`, `xmlDump`, `xmlElement`, `xmlFormat`, `xmlGetNsByHref`, `xmlGetNsByPrefix`, `xmlGetOpenDocs`, `xmlIsValidObject`, `xmlName`, `xmlNs`, `xmlRead`, `xmlReadStr`, `xmlRelaxNG`, `xmlRemove`, `xmlSchema`, `xmlSetAttributes`, `xmlValidate`, `xmlWrite`, `xmlXPath`, `xname`, `xpause`, `xpoly`, `xpolys`, `xrect`, `xrects`, `xs2bmp`, `xs2emf`, `xs2eps`, `xs2gif`, `xs2jpg`, `xs2pdf`, `xs2png`, `xs2ppm`, `xs2ps`, `xs2svg`, `xsegs`, `xset`, `xstring`, `xstringb`, `xtitle`, `zeros`, `znaupd`, `zneupd`, `zoom_rect`, `abort`, `apropos`, `break`, `case`, `catch`, `continue`, `do`, `else`, `elseif`, `end`, `endfunction`, `for`, `function`, `help`, `if`, `pause`, `quit`, `select`, `then`, `try`, `while`, `!_deff_wrapper`, `%0_i_st`, `%3d_i_h`, `%Block_xcosUpdateBlock`, `%TNELDER_p`, `%TNELDER_string`, `%TNMPLOT_p`, `%TNMPLOT_string`, `%TOPTIM_p`, `%TOPTIM_string`, `%TSIMPLEX_p`, `%TSIMPLEX_string`, `%_EVoid_p`, `%_gsort`, `%_listvarinfile`, `%_rlist`, `%_save`, `%_sodload`, `%_strsplit`, `%_unwrap`, `%ar_p`, `%asn`, `%b_a_b`, `%b_a_s`, `%b_c_s`, `%b_c_spb`, `%b_cumprod`, `%b_cumsum`, `%b_d_s`, `%b_diag`, `%b_e`, `%b_f_s`, `%b_f_spb`, `%b_g_s`, `%b_g_spb`, `%b_grand`, `%b_h_s`, `%b_h_spb`, `%b_i_b`, `%b_i_ce`, `%b_i_h`, `%b_i_hm`, `%b_i_s`, `%b_i_sp`, `%b_i_spb`, `%b_i_st`, `%b_iconvert`, `%b_l_b`, `%b_l_s`, `%b_m_b`, `%b_m_s`, `%b_matrix`, `%b_n_hm`, `%b_o_hm`, `%b_p_s`, `%b_prod`, `%b_r_b`, `%b_r_s`, `%b_s_b`, `%b_s_s`, `%b_string`, `%b_sum`, `%b_tril`, `%b_triu`, `%b_x_b`, `%b_x_s`, `%bicg`, `%bicgstab`, `%c_a_c`, `%c_b_c`, `%c_b_s`, `%c_diag`, `%c_dsearch`, `%c_e`, `%c_eye`, `%c_f_s`, `%c_grand`, `%c_i_c`, `%c_i_ce`, `%c_i_h`, `%c_i_hm`, `%c_i_lss`, `%c_i_r`, `%c_i_s`, `%c_i_st`, `%c_matrix`, `%c_n_l`, `%c_n_st`, `%c_o_l`, `%c_o_st`, `%c_ones`, `%c_rand`, `%c_tril`, `%c_triu`, `%cblock_c_cblock`, `%cblock_c_s`, `%cblock_e`, `%cblock_f_cblock`, `%cblock_p`, `%cblock_size`, `%ce_6`, `%ce_c_ce`, `%ce_e`, `%ce_f_ce`, `%ce_i_ce`, `%ce_i_s`, `%ce_i_st`, `%ce_matrix`, `%ce_p`, `%ce_size`, `%ce_string`, `%ce_t`, `%cgs`, `%champdat_i_h`, `%choose`, `%diagram_xcos`, `%dir_p`, `%fptr_i_st`, `%grand_perm`, `%grayplot_i_h`, `%h_i_st`, `%hmS_k_hmS_generic`, `%hm_1_hm`, `%hm_1_s`, `%hm_2_hm`, `%hm_2_s`, `%hm_3_hm`, `%hm_3_s`, `%hm_4_hm`, `%hm_4_s`, `%hm_5`, `%hm_a_hm`, `%hm_a_r`, `%hm_a_s`, `%hm_abs`, `%hm_and`, `%hm_bool2s`, `%hm_c_hm`, `%hm_ceil`, `%hm_conj`, `%hm_cos`, `%hm_cumprod`, `%hm_cumsum`, `%hm_d_hm`, `%hm_d_s`, `%hm_degree`, `%hm_dsearch`, `%hm_e`, `%hm_exp`, `%hm_eye`, `%hm_f_hm`, `%hm_find`, `%hm_floor`, `%hm_g_hm`, `%hm_grand`, `%hm_gsort`, `%hm_h_hm`, `%hm_i_b`, `%hm_i_ce`, `%hm_i_h`, `%hm_i_hm`, `%hm_i_i`, `%hm_i_p`, `%hm_i_r`, `%hm_i_s`, `%hm_i_st`, `%hm_iconvert`, `%hm_imag`, `%hm_int`, `%hm_isnan`, `%hm_isreal`, `%hm_j_hm`, `%hm_j_s`, `%hm_k_hm`, `%hm_k_s`, `%hm_log`, `%hm_m_p`, `%hm_m_r`, `%hm_m_s`, `%hm_matrix`, `%hm_max`, `%hm_mean`, `%hm_median`, `%hm_min`, `%hm_n_b`, `%hm_n_c`, `%hm_n_hm`, `%hm_n_i`, `%hm_n_p`, `%hm_n_s`, `%hm_o_b`, `%hm_o_c`, `%hm_o_hm`, `%hm_o_i`, `%hm_o_p`, `%hm_o_s`, `%hm_ones`, `%hm_or`, `%hm_p`, `%hm_prod`, `%hm_q_hm`, `%hm_r_s`, `%hm_rand`, `%hm_real`, `%hm_round`, `%hm_s`, `%hm_s_hm`, `%hm_s_r`, `%hm_s_s`, `%hm_sign`, `%hm_sin`, `%hm_size`, `%hm_sqrt`, `%hm_stdev`, `%hm_string`, `%hm_sum`, `%hm_x_hm`, `%hm_x_p`, `%hm_x_s`, `%hm_zeros`, `%i_1_s`, `%i_2_s`, `%i_3_s`, `%i_4_s`, `%i_Matplot`, `%i_a_i`, `%i_a_s`, `%i_and`, `%i_ascii`, `%i_b_s`, `%i_bezout`, `%i_champ`, `%i_champ1`, `%i_contour`, `%i_contour2d`, `%i_d_i`, `%i_d_s`, `%i_dsearch`, `%i_e`, `%i_fft`, `%i_g_i`, `%i_gcd`, `%i_grand`, `%i_h_i`, `%i_i_ce`, `%i_i_h`, `%i_i_hm`, `%i_i_i`, `%i_i_s`, `%i_i_st`, `%i_j_i`, `%i_j_s`, `%i_l_s`, `%i_lcm`, `%i_length`, `%i_m_i`, `%i_m_s`, `%i_mfprintf`, `%i_mprintf`, `%i_msprintf`, `%i_n_s`, `%i_o_s`, `%i_or`, `%i_p_i`, `%i_p_s`, `%i_plot2d`, `%i_plot2d1`, `%i_plot2d2`, `%i_q_s`, `%i_r_i`, `%i_r_s`, `%i_round`, `%i_s_i`, `%i_s_s`, `%i_sign`, `%i_string`, `%i_x_i`, `%i_x_s`, `%ip_a_s`, `%ip_i_st`, `%ip_m_s`, `%ip_n_ip`, `%ip_o_ip`, `%ip_p`, `%ip_part`, `%ip_s_s`, `%ip_string`, `%k`, `%l_i_h`, `%l_i_s`, `%l_i_st`, `%l_isequal`, `%l_n_c`, `%l_n_l`, `%l_n_m`, `%l_n_p`, `%l_n_s`, `%l_n_st`, `%l_o_c`, `%l_o_l`, `%l_o_m`, `%l_o_p`, `%l_o_s`, `%l_o_st`, `%lss_a_lss`, `%lss_a_p`, `%lss_a_r`, `%lss_a_s`, `%lss_c_lss`, `%lss_c_p`, `%lss_c_r`, `%lss_c_s`, `%lss_e`, `%lss_eye`, `%lss_f_lss`, `%lss_f_p`, `%lss_f_r`, `%lss_f_s`, `%lss_i_ce`, `%lss_i_lss`, `%lss_i_p`, `%lss_i_r`, `%lss_i_s`, `%lss_i_st`, `%lss_inv`, `%lss_l_lss`, `%lss_l_p`, `%lss_l_r`, `%lss_l_s`, `%lss_m_lss`, `%lss_m_p`, `%lss_m_r`, `%lss_m_s`, `%lss_n_lss`, `%lss_n_p`, `%lss_n_r`, `%lss_n_s`, `%lss_norm`, `%lss_o_lss`, `%lss_o_p`, `%lss_o_r`, `%lss_o_s`, `%lss_ones`, `%lss_r_lss`, `%lss_r_p`, `%lss_r_r`, `%lss_r_s`, `%lss_rand`, `%lss_s`, `%lss_s_lss`, `%lss_s_p`, `%lss_s_r`, `%lss_s_s`, `%lss_size`, `%lss_t`, `%lss_v_lss`, `%lss_v_p`, `%lss_v_r`, `%lss_v_s`, `%lt_i_s`, `%m_n_l`, `%m_o_l`, `%mc_i_h`, `%mc_i_s`, `%mc_i_st`, `%mc_n_st`, `%mc_o_st`, `%mc_string`, `%mps_p`, `%mps_string`, `%msp_a_s`, `%msp_abs`, `%msp_e`, `%msp_find`, `%msp_i_s`, `%msp_i_st`, `%msp_length`, `%msp_m_s`, `%msp_maxi`, `%msp_n_msp`, `%msp_nnz`, `%msp_o_msp`, `%msp_p`, `%msp_sparse`, `%msp_spones`, `%msp_t`, `%p_a_lss`, `%p_a_r`, `%p_c_lss`, `%p_c_r`, `%p_cumprod`, `%p_cumsum`, `%p_d_p`, `%p_d_r`, `%p_d_s`, `%p_det`, `%p_e`, `%p_f_lss`, `%p_f_r`, `%p_grand`, `%p_i_ce`, `%p_i_h`, `%p_i_hm`, `%p_i_lss`, `%p_i_p`, `%p_i_r`, `%p_i_s`, `%p_i_st`, `%p_inv`, `%p_j_s`, `%p_k_p`, `%p_k_r`, `%p_k_s`, `%p_l_lss`, `%p_l_p`, `%p_l_r`, `%p_l_s`, `%p_m_hm`, `%p_m_lss`, `%p_m_r`, `%p_matrix`, `%p_n_l`, `%p_n_lss`, `%p_n_r`, `%p_o_l`, `%p_o_lss`, `%p_o_r`, `%p_o_sp`, `%p_p_s`, `%p_part`, `%p_prod`, `%p_q_p`, `%p_q_r`, `%p_q_s`, `%p_r_lss`, `%p_r_p`, `%p_r_r`, `%p_r_s`, `%p_s_lss`, `%p_s_r`, `%p_simp`, `%p_string`, `%p_sum`, `%p_v_lss`, `%p_v_p`, `%p_v_r`, `%p_v_s`, `%p_x_hm`, `%p_x_r`, `%p_y_p`, `%p_y_r`, `%p_y_s`, `%p_z_p`, `%p_z_r`, `%p_z_s`, `%pcg`, `%plist_p`, `%plist_string`, `%r_0`, `%r_a_hm`, `%r_a_lss`, `%r_a_p`, `%r_a_r`, `%r_a_s`, `%r_c_lss`, `%r_c_p`, `%r_c_r`, `%r_c_s`, `%r_clean`, `%r_cumprod`, `%r_cumsum`, `%r_d_p`, `%r_d_r`, `%r_d_s`, `%r_det`, `%r_diag`, `%r_e`, `%r_eye`, `%r_f_lss`, `%r_f_p`, `%r_f_r`, `%r_f_s`, `%r_i_ce`, `%r_i_hm`, `%r_i_lss`, `%r_i_p`, `%r_i_r`, `%r_i_s`, `%r_i_st`, `%r_inv`, `%r_j_s`, `%r_k_p`, `%r_k_r`, `%r_k_s`, `%r_l_lss`, `%r_l_p`, `%r_l_r`, `%r_l_s`, `%r_m_hm`, `%r_m_lss`, `%r_m_p`, `%r_m_r`, `%r_m_s`, `%r_matrix`, `%r_n_lss`, `%r_n_p`, `%r_n_r`, `%r_n_s`, `%r_norm`, `%r_o_lss`, `%r_o_p`, `%r_o_r`, `%r_o_s`, `%r_ones`, `%r_p`, `%r_p_s`, `%r_prod`, `%r_q_p`, `%r_q_r`, `%r_q_s`, `%r_r_lss`, `%r_r_p`, `%r_r_r`, `%r_r_s`, `%r_rand`, `%r_s`, `%r_s_hm`, `%r_s_lss`, `%r_s_p`, `%r_s_r`, `%r_s_s`, `%r_simp`, `%r_size`, `%r_string`, `%r_sum`, `%r_t`, `%r_tril`, `%r_triu`, `%r_v_lss`, `%r_v_p`, `%r_v_r`, `%r_v_s`, `%r_varn`, `%r_x_p`, `%r_x_r`, `%r_x_s`, `%r_y_p`, `%r_y_r`, `%r_y_s`, `%r_z_p`, `%r_z_r`, `%r_z_s`, `%s_1_hm`, `%s_1_i`, `%s_2_hm`, `%s_2_i`, `%s_3_hm`, `%s_3_i`, `%s_4_hm`, `%s_4_i`, `%s_5`, `%s_a_b`, `%s_a_hm`, `%s_a_i`, `%s_a_ip`, `%s_a_lss`, `%s_a_msp`, `%s_a_r`, `%s_a_sp`, `%s_and`, `%s_b_i`, `%s_b_s`, `%s_bezout`, `%s_c_b`, `%s_c_cblock`, `%s_c_lss`, `%s_c_r`, `%s_c_sp`, `%s_d_b`, `%s_d_i`, `%s_d_p`, `%s_d_r`, `%s_d_sp`, `%s_e`, `%s_f_b`, `%s_f_cblock`, `%s_f_lss`, `%s_f_r`, `%s_f_sp`, `%s_g_b`, `%s_g_s`, `%s_gcd`, `%s_grand`, `%s_h_b`, `%s_h_s`, `%s_i_b`, `%s_i_c`, `%s_i_ce`, `%s_i_h`, `%s_i_hm`, `%s_i_i`, `%s_i_lss`, `%s_i_p`, `%s_i_r`, `%s_i_s`, `%s_i_sp`, `%s_i_spb`, `%s_i_st`, `%s_j_i`, `%s_k_hm`, `%s_k_p`, `%s_k_r`, `%s_k_sp`, `%s_l_b`, `%s_l_hm`, `%s_l_i`, `%s_l_lss`, `%s_l_p`, `%s_l_r`, `%s_l_s`, `%s_l_sp`, `%s_lcm`, `%s_m_b`, `%s_m_hm`, `%s_m_i`, `%s_m_ip`, `%s_m_lss`, `%s_m_msp`, `%s_m_r`, `%s_matrix`, `%s_n_hm`, `%s_n_i`, `%s_n_l`, `%s_n_lss`, `%s_n_r`, `%s_n_st`, `%s_o_hm`, `%s_o_i`, `%s_o_l`, `%s_o_lss`, `%s_o_r`, `%s_o_st`, `%s_or`, `%s_p_b`, `%s_p_i`, `%s_pow`, `%s_q_hm`, `%s_q_i`, `%s_q_p`, `%s_q_r`, `%s_q_sp`, `%s_r_b`, `%s_r_i`, `%s_r_lss`, `%s_r_p`, `%s_r_r`, `%s_r_s`, `%s_r_sp`, `%s_s_b`, `%s_s_hm`, `%s_s_i`, `%s_s_ip`, `%s_s_lss`, `%s_s_r`, `%s_s_sp`, `%s_simp`, `%s_v_lss`, `%s_v_p`, `%s_v_r`, `%s_v_s`, `%s_x_b`, `%s_x_hm`, `%s_x_i`, `%s_x_r`, `%s_y_p`, `%s_y_r`, `%s_y_sp`, `%s_z_p`, `%s_z_r`, `%s_z_sp`, `%sn`, `%sp_a_s`, `%sp_a_sp`, `%sp_and`, `%sp_c_s`, `%sp_ceil`, `%sp_conj`, `%sp_cos`, `%sp_cumprod`, `%sp_cumsum`, `%sp_d_s`, `%sp_d_sp`, `%sp_det`, `%sp_diag`, `%sp_e`, `%sp_exp`, `%sp_f_s`, `%sp_floor`, `%sp_grand`, `%sp_gsort`, `%sp_i_ce`, `%sp_i_h`, `%sp_i_s`, `%sp_i_sp`, `%sp_i_st`, `%sp_int`, `%sp_inv`, `%sp_k_s`, `%sp_k_sp`, `%sp_l_s`, `%sp_l_sp`, `%sp_length`, `%sp_max`, `%sp_min`, `%sp_norm`, `%sp_or`, `%sp_p_s`, `%sp_prod`, `%sp_q_s`, `%sp_q_sp`, `%sp_r_s`, `%sp_r_sp`, `%sp_round`, `%sp_s_s`, `%sp_s_sp`, `%sp_sin`, `%sp_sqrt`, `%sp_string`, `%sp_sum`, `%sp_tril`, `%sp_triu`, `%sp_y_s`, `%sp_y_sp`, `%sp_z_s`, `%sp_z_sp`, `%spb_and`, `%spb_c_b`, `%spb_cumprod`, `%spb_cumsum`, `%spb_diag`, `%spb_e`, `%spb_f_b`, `%spb_g_b`, `%spb_g_spb`, `%spb_h_b`, `%spb_h_spb`, `%spb_i_b`, `%spb_i_ce`, `%spb_i_h`, `%spb_i_st`, `%spb_or`, `%spb_prod`, `%spb_sum`, `%spb_tril`, `%spb_triu`, `%st_6`, `%st_c_st`, `%st_e`, `%st_f_st`, `%st_i_b`, `%st_i_c`, `%st_i_fptr`, `%st_i_h`, `%st_i_i`, `%st_i_ip`, `%st_i_lss`, `%st_i_msp`, `%st_i_p`, `%st_i_r`, `%st_i_s`, `%st_i_sp`, `%st_i_spb`, `%st_i_st`, `%st_matrix`, `%st_n_c`, `%st_n_l`, `%st_n_mc`, `%st_n_p`, `%st_n_s`, `%st_o_c`, `%st_o_l`, `%st_o_mc`, `%st_o_p`, `%st_o_s`, `%st_o_tl`, `%st_p`, `%st_size`, `%st_string`, `%st_t`, `%ticks_i_h`, `%xls_e`, `%xls_p`, `%xlssheet_e`, `%xlssheet_p`, `%xlssheet_size`, `%xlssheet_string`, `DominationRank`, `G_make`, `IsAScalar`, `NDcost`, `OS_Version`, `PlotSparse`, `ReadHBSparse`, `TCL_CreateSlave`, `abcd`, `abinv`, `accept_func_default`, `accept_func_vfsa`, `acf`, `acosd`, `acosh`, `acoshm`, `acosm`, `acot`, `acotd`, `acoth`, `acsc`, `acscd`, `acsch`, `add_demo`, `add_help_chapter`, `add_module_help_chapter`, `add_param`, `add_profiling`, `adj2sp`, `aff2ab`, `ana_style`, `analpf`, `analyze`, `aplat`, `arhnk`, `arl2`, `arma2p`, `arma2ss`, `armac`, `armax`, `armax1`, `arobasestring2strings`, `arsimul`, `ascii2string`, `asciimat`, `asec`, `asecd`, `asech`, `asind`, `asinh`, `asinhm`, `asinm`, `assert_checkalmostequal`, `assert_checkequal`, `assert_checkerror`, `assert_checkfalse`, `assert_checkfilesequal`, `assert_checktrue`, `assert_comparecomplex`, `assert_computedigits`, `assert_cond2reltol`, `assert_cond2reqdigits`, `assert_generror`, `atand`, `atanh`, `atanhm`, `atanm`, `atomsAutoload`, `atomsAutoloadAdd`, `atomsAutoloadDel`, `atomsAutoloadList`, `atomsCategoryList`, `atomsCheckModule`, `atomsDepTreeShow`, `atomsGetConfig`, `atomsGetInstalled`, `atomsGetInstalledPath`, `atomsGetLoaded`, `atomsGetLoadedPath`, `atomsInstall`, `atomsIsInstalled`, `atomsIsLoaded`, `atomsList`, `atomsLoad`, `atomsQuit`, `atomsRemove`, `atomsRepositoryAdd`, `atomsRepositoryDel`, `atomsRepositoryList`, `atomsRestoreConfig`, `atomsSaveConfig`, `atomsSearch`, `atomsSetConfig`, `atomsShow`, `atomsSystemInit`, `atomsSystemUpdate`, `atomsTest`, `atomsUpdate`, `atomsVersion`, `augment`, `auread`, `auwrite`, `balreal`, `bench_run`, `bilin`, `bilt`, `bin2dec`, `binomial`, `bitand`, `bitcmp`, `bitget`, `bitor`, `bitset`, `bitxor`, `black`, `blanks`, `bloc2exp`, `bloc2ss`, `block_parameter_error`, `bode`, `bode_asymp`, `bstap`, `buttmag`, `bvodeS`, `bytecode`, `bytecodewalk`, `cainv`, `calendar`, `calerf`, `calfrq`, `canon`, `casc`, `cat`, `cat_code`, `cb_m2sci_gui`, `ccontrg`, `cell`, `cell2mat`, `cellstr`, `center`, `cepstrum`, `cfspec`, `char`, `chart`, `cheb1mag`, `cheb2mag`, `check_gateways`, `check_modules_xml`, `check_versions`, `chepol`, `chfact`, `chsolve`, `classmarkov`, `clean_help`, `clock`, `cls2dls`, `cmb_lin`, `cmndred`, `cmoment`, `coding_ga_binary`, `coding_ga_identity`, `coff`, `coffg`, `colcomp`, `colcompr`, `colinout`, `colregul`, `companion`, `complex`, `compute_initial_temp`, `cond`, `cond2sp`, `condestsp`, `configure_msifort`, `configure_msvc`, `conjgrad`, `cont_frm`, `cont_mat`, `contrss`, `conv`, `convert_to_float`, `convertindex`, `convol`, `convol2d`, `copfac`, `correl`, `cosd`, `cosh`, `coshm`, `cosm`, `cotd`, `cotg`, `coth`, `cothm`, `cov`, `covar`, `createXConfiguration`, `createfun`, `createstruct`, `cross`, `crossover_ga_binary`, `crossover_ga_default`, `csc`, `cscd`, `csch`, `csgn`, `csim`, `cspect`, `ctr_gram`, `czt`, `dae`, `daeoptions`, `damp`, `datafit`, `date`, `datenum`, `datevec`, `dbphi`, `dcf`, `ddp`, `dec2bin`, `dec2hex`, `dec2oct`, `del_help_chapter`, `del_module_help_chapter`, `demo_begin`, `demo_choose`, `demo_compiler`, `demo_end`, `demo_file_choice`, `demo_folder_choice`, `demo_function_choice`, `demo_gui`, `demo_run`, `demo_viewCode`, `denom`, `derivat`, `derivative`, `des2ss`, `des2tf`, `detectmsifort64tools`, `detectmsvc64tools`, `determ`, `detr`, `detrend`, `devtools_run_builder`, `dhnorm`, `diff`, `diophant`, `dir`, `dirname`, `dispfiles`, `dllinfo`, `dscr`, `dsimul`, `dt_ility`, `dtsi`, `edit`, `edit_error`, `editor`, `eigenmarkov`, `eigs`, `ell1mag`, `enlarge_shape`, `entropy`, `eomday`, `epred`, `eqfir`, `eqiir`, `equil`, `equil1`, `erfinv`, `etime`, `eval`, `evans`, `evstr`, `example_run`, `expression2code`, `extract_help_examples`, `factor`, `factorial`, `factors`, `faurre`, `ffilt`, `fft2`, `fftshift`, `fieldnames`, `filt_sinc`, `filter`, `findABCD`, `findAC`, `findBDK`, `findR`, `find_freq`, `find_links`, `find_scicos_version`, `findm`, `findmsifortcompiler`, `findmsvccompiler`, `findx0BD`, `firstnonsingleton`, `fix`, `fixedpointgcd`, `flipdim`, `flts`, `fminsearch`, `formatBlackTip`, `formatBodeMagTip`, `formatBodePhaseTip`, `formatGainplotTip`, `formatHallModuleTip`, `formatHallPhaseTip`, `formatNicholsGainTip`, `formatNicholsPhaseTip`, `formatNyquistTip`, `formatPhaseplotTip`, `formatSgridDampingTip`, `formatSgridFreqTip`, `formatZgridDampingTip`, `formatZgridFreqTip`, `format_txt`, `fourplan`, `frep2tf`, `freson`, `frfit`, `frmag`, `fseek_origin`, `fsfirlin`, `fspec`, `fspecg`, `fstabst`, `ftest`, `ftuneq`, `fullfile`, `fullrf`, `fullrfk`, `fun2string`, `g_margin`, `gainplot`, `gamitg`, `gcare`, `gcd`, `gencompilationflags_unix`, `generateBlockImage`, `generateBlockImages`, `generic_i_ce`, `generic_i_h`, `generic_i_hm`, `generic_i_s`, `generic_i_st`, `genlib`, `genmarkov`, `geomean`, `getDiagramVersion`, `getModelicaPath`, `getPreferencesValue`, `get_file_path`, `get_function_path`, `get_param`, `get_profile`, `get_scicos_version`, `getd`, `getscilabkeywords`, `getshell`, `gettklib`, `gfare`, `gfrancis`, `givens`, `glever`, `gmres`, `group`, `gschur`, `gspec`, `gtild`, `h2norm`, `h_cl`, `h_inf`, `h_inf_st`, `h_norm`, `hallchart`, `halt`, `hank`, `hankelsv`, `harmean`, `haveacompiler`, `head_comments`, `help_from_sci`, `help_skeleton`, `hermit`, `hex2dec`, `hilb`, `hilbert`, `histc`, `horner`, `householder`, `hrmt`, `htrianr`, `hypermat`, `idct`, `idst`, `ifft`, `ifftshift`, `iir`, `iirgroup`, `iirlp`, `iirmod`, `ilib_build`, `ilib_build_jar`, `ilib_compile`, `ilib_for_link`, `ilib_gen_Make`, `ilib_gen_Make_unix`, `ilib_gen_cleaner`, `ilib_gen_gateway`, `ilib_gen_loader`, `ilib_include_flag`, `ilib_mex_build`, `im_inv`, `importScicosDiagram`, `importScicosPal`, `importXcosDiagram`, `imrep2ss`, `ind2sub`, `inistate`, `init_ga_default`, `init_param`, `initial_scicos_tables`, `input`, `instruction2code`, `intc`, `intdec`, `integrate`, `interp1`, `interpln`, `intersect`, `intl`, `intsplin`, `inttrap`, `inv_coeff`, `invr`, `invrs`, `invsyslin`, `iqr`, `isLeapYear`, `is_absolute_path`, `is_param`, `iscell`, `iscellstr`, `iscolumn`, `isempty`, `isfield`, `isinf`, `ismatrix`, `isnan`, `isrow`, `isscalar`, `issparse`, `issquare`, `isstruct`, `isvector`, `jmat`, `justify`, `kalm`, `karmarkar`, `kernel`, `kpure`, `krac2`, `kroneck`, `lattn`, `lattp`, `launchtest`, `lcf`, `lcm`, `lcmdiag`, `leastsq`, `leqe`, `leqr`, `lev`, `levin`, `lex_sort`, `lft`, `lin`, `lin2mu`, `lincos`, `lindquist`, `linf`, `linfn`, `linsolve`, `linspace`, `list2vec`, `list_param`, `listfiles`, `listfunctions`, `listvarinfile`, `lmisolver`, `lmitool`, `loadXcosLibs`, `loadmatfile`, `loadwave`, `log10`, `log2`, `logm`, `logspace`, `lqe`, `lqg`, `lqg2stan`, `lqg_ltr`, `lqr`, `ls`, `lyap`, `m2sci_gui`, `m_circle`, `macglov`, `macrovar`, `mad`, `makecell`, `manedit`, `mapsound`, `markp2ss`, `matfile2sci`, `mdelete`, `mean`, `meanf`, `median`, `members`, `mese`, `meshgrid`, `mfft`, `mfile2sci`, `minreal`, `minss`, `mkdir`, `modulo`, `moment`, `mrfit`, `msd`, `mstr2sci`, `mtlb`, `mtlb_0`, `mtlb_a`, `mtlb_all`, `mtlb_any`, `mtlb_axes`, `mtlb_axis`, `mtlb_beta`, `mtlb_box`, `mtlb_choices`, `mtlb_close`, `mtlb_colordef`, `mtlb_cond`, `mtlb_cov`, `mtlb_cumprod`, `mtlb_cumsum`, `mtlb_dec2hex`, `mtlb_delete`, `mtlb_diag`, `mtlb_diff`, `mtlb_dir`, `mtlb_double`, `mtlb_e`, `mtlb_echo`, `mtlb_error`, `mtlb_eval`, `mtlb_exist`, `mtlb_eye`, `mtlb_false`, `mtlb_fft`, `mtlb_fftshift`, `mtlb_filter`, `mtlb_find`, `mtlb_findstr`, `mtlb_fliplr`, `mtlb_fopen`, `mtlb_format`, `mtlb_fprintf`, `mtlb_fread`, `mtlb_fscanf`, `mtlb_full`, `mtlb_fwrite`, `mtlb_get`, `mtlb_grid`, `mtlb_hold`, `mtlb_i`, `mtlb_ifft`, `mtlb_image`, `mtlb_imp`, `mtlb_int16`, `mtlb_int32`, `mtlb_int8`, `mtlb_is`, `mtlb_isa`, `mtlb_isfield`, `mtlb_isletter`, `mtlb_isspace`, `mtlb_l`, `mtlb_legendre`, `mtlb_linspace`, `mtlb_logic`, `mtlb_logical`, `mtlb_loglog`, `mtlb_lower`, `mtlb_max`, `mtlb_mean`, `mtlb_median`, `mtlb_mesh`, `mtlb_meshdom`, `mtlb_min`, `mtlb_more`, `mtlb_num2str`, `mtlb_ones`, `mtlb_pcolor`, `mtlb_plot`, `mtlb_prod`, `mtlb_qr`, `mtlb_qz`, `mtlb_rand`, `mtlb_randn`, `mtlb_rcond`, `mtlb_realmax`, `mtlb_realmin`, `mtlb_s`, `mtlb_semilogx`, `mtlb_semilogy`, `mtlb_setstr`, `mtlb_size`, `mtlb_sort`, `mtlb_sortrows`, `mtlb_sprintf`, `mtlb_sscanf`, `mtlb_std`, `mtlb_strcmp`, `mtlb_strcmpi`, `mtlb_strfind`, `mtlb_strrep`, `mtlb_subplot`, `mtlb_sum`, `mtlb_t`, `mtlb_toeplitz`, `mtlb_tril`, `mtlb_triu`, `mtlb_true`, `mtlb_type`, `mtlb_uint16`, `mtlb_uint32`, `mtlb_uint8`, `mtlb_upper`, `mtlb_var`, `mtlb_zeros`, `mu2lin`, `mutation_ga_binary`, `mutation_ga_default`, `mvcorrel`, `mvvacov`, `nancumsum`, `nand2mean`, `nanmax`, `nanmean`, `nanmeanf`, `nanmedian`, `nanmin`, `nanreglin`, `nanstdev`, `nansum`, `narsimul`, `ndgrid`, `ndims`, `nehari`, `neigh_func_csa`, `neigh_func_default`, `neigh_func_fsa`, `neigh_func_vfsa`, `neldermead_cget`, `neldermead_configure`, `neldermead_costf`, `neldermead_defaultoutput`, `neldermead_destroy`, `neldermead_function`, `neldermead_get`, `neldermead_log`, `neldermead_new`, `neldermead_restart`, `neldermead_search`, `neldermead_updatesimp`, `nextpow2`, `nfreq`, `nicholschart`, `nlev`, `nmplot_cget`, `nmplot_configure`, `nmplot_contour`, `nmplot_destroy`, `nmplot_function`, `nmplot_get`, `nmplot_historyplot`, `nmplot_log`, `nmplot_new`, `nmplot_outputcmd`, `nmplot_restart`, `nmplot_search`, `nmplot_simplexhistory`, `noisegen`, `nonreg_test_run`, `now`, `nthroot`, `null`, `num2cell`, `numderivative`, `numdiff`, `numer`, `nyquist`, `nyquistfrequencybounds`, `obs_gram`, `obscont`, `observer`, `obsv_mat`, `obsvss`, `oct2dec`, `odeoptions`, `optim_ga`, `optim_moga`, `optim_nsga`, `optim_nsga2`, `optim_sa`, `optimbase_cget`, `optimbase_checkbounds`, `optimbase_checkcostfun`, `optimbase_checkx0`, `optimbase_configure`, `optimbase_destroy`, `optimbase_function`, `optimbase_get`, `optimbase_hasbounds`, `optimbase_hasconstraints`, `optimbase_hasnlcons`, `optimbase_histget`, `optimbase_histset`, `optimbase_incriter`, `optimbase_isfeasible`, `optimbase_isinbounds`, `optimbase_isinnonlincons`, `optimbase_log`, `optimbase_logshutdown`, `optimbase_logstartup`, `optimbase_new`, `optimbase_outputcmd`, `optimbase_outstruct`, `optimbase_proj2bnds`, `optimbase_set`, `optimbase_stoplog`, `optimbase_terminate`, `optimget`, `optimplotfunccount`, `optimplotfval`, `optimplotx`, `optimset`, `optimsimplex_center`, `optimsimplex_check`, `optimsimplex_compsomefv`, `optimsimplex_computefv`, `optimsimplex_deltafv`, `optimsimplex_deltafvmax`, `optimsimplex_destroy`, `optimsimplex_dirmat`, `optimsimplex_fvmean`, `optimsimplex_fvstdev`, `optimsimplex_fvvariance`, `optimsimplex_getall`, `optimsimplex_getallfv`, `optimsimplex_getallx`, `optimsimplex_getfv`, `optimsimplex_getn`, `optimsimplex_getnbve`, `optimsimplex_getve`, `optimsimplex_getx`, `optimsimplex_gradientfv`, `optimsimplex_log`, `optimsimplex_new`, `optimsimplex_reflect`, `optimsimplex_setall`, `optimsimplex_setallfv`, `optimsimplex_setallx`, `optimsimplex_setfv`, `optimsimplex_setn`, `optimsimplex_setnbve`, `optimsimplex_setve`, `optimsimplex_setx`, `optimsimplex_shrink`, `optimsimplex_size`, `optimsimplex_sort`, `optimsimplex_xbar`, `orth`, `output_ga_default`, `output_moga_default`, `output_nsga2_default`, `output_nsga_default`, `p_margin`, `pack`, `pareto_filter`, `parrot`, `pbig`, `pca`, `pcg`, `pdiv`, `pen2ea`, `pencan`, `pencost`, `penlaur`, `perctl`, `perl`, `perms`, `permute`, `pertrans`, `pfactors`, `pfss`, `phasemag`, `phaseplot`, `phc`, `pinv`, `playsnd`, `plotprofile`, `plzr`, `pmodulo`, `pol2des`, `pol2str`, `polar`, `polfact`, `prbs_a`, `prettyprint`, `primes`, `princomp`, `profile`, `proj`, `projsl`, `projspec`, `psmall`, `pspect`, `qmr`, `qpsolve`, `quart`, `quaskro`, `rafiter`, `randpencil`, `range`, `rank`, `readxls`, `recompilefunction`, `recons`, `reglin`, `regress`, `remezb`, `remove_param`, `remove_profiling`, `repfreq`, `replace_Ix_by_Fx`, `repmat`, `reset_profiling`, `resize_matrix`, `returntoscilab`, `rhs2code`, `ric_desc`, `riccati`, `rmdir`, `routh_t`, `rowcomp`, `rowcompr`, `rowinout`, `rowregul`, `rowshuff`, `rref`, `sample`, `samplef`, `samwr`, `savematfile`, `savewave`, `scanf`, `sci2exp`, `sciGUI_init`, `sci_sparse`, `scicos_getvalue`, `scicos_simulate`, `scicos_workspace_init`, `scisptdemo`, `scitest`, `sdiff`, `sec`, `secd`, `sech`, `selection_ga_elitist`, `selection_ga_random`, `sensi`, `setPreferencesValue`, `set_param`, `setdiff`, `sgrid`, `show_margins`, `show_pca`, `showprofile`, `signm`, `sinc`, `sincd`, `sind`, `sinh`, `sinhm`, `sinm`, `sm2des`, `sm2ss`, `smga`, `smooth`, `solve`, `sound`, `soundsec`, `sp2adj`, `spaninter`, `spanplus`, `spantwo`, `specfact`, `speye`, `sprand`, `spzeros`, `sqroot`, `sqrtm`, `squarewave`, `squeeze`, `srfaur`, `srkf`, `ss2des`, `ss2ss`, `ss2tf`, `sskf`, `ssprint`, `ssrand`, `st_deviation`, `st_i_generic`, `st_ility`, `stabil`, `statgain`, `stdev`, `stdevf`, `steadycos`, `strange`, `strcmpi`, `struct`, `sub2ind`, `sva`, `svplot`, `sylm`, `sylv`, `sysconv`, `sysdiag`, `sysfact`, `syslin`, `syssize`, `system`, `systmat`, `tabul`, `tand`, `tanh`, `tanhm`, `tanm`, `tbx_build_blocks`, `tbx_build_cleaner`, `tbx_build_gateway`, `tbx_build_gateway_clean`, `tbx_build_gateway_loader`, `tbx_build_help`, `tbx_build_help_loader`, `tbx_build_loader`, `tbx_build_localization`, `tbx_build_macros`, `tbx_build_pal_loader`, `tbx_build_src`, `tbx_builder`, `tbx_builder_gateway`, `tbx_builder_gateway_lang`, `tbx_builder_help`, `tbx_builder_help_lang`, `tbx_builder_macros`, `tbx_builder_src`, `tbx_builder_src_lang`, `tbx_generate_pofile`, `temp_law_csa`, `temp_law_default`, `temp_law_fsa`, `temp_law_huang`, `temp_law_vfsa`, `test_clean`, `test_on_columns`, `test_run`, `test_run_level`, `testexamples`, `tf2des`, `tf2ss`, `thrownan`, `tic`, `time_id`, `toc`, `toeplitz`, `tokenpos`, `toolboxes`, `trace`, `trans`, `translatepaths`, `tree2code`, `trfmod`, `trianfml`, `trimmean`, `trisolve`, `trzeros`, `typeof`, `ui_observer`, `union`, `unique`, `unit_test_run`, `unix_g`, `unix_s`, `unix_w`, `unix_x`, `unobs`, `unpack`, `unwrap`, `variance`, `variancef`, `vec2list`, `vectorfind`, `ver`, `warnobsolete`, `wavread`, `wavwrite`, `wcenter`, `weekday`, `wfir`, `wfir_gui`, `whereami`, `who_user`, `whos`, `wiener`, `wigner`, `window`, `winlist`, `with_javasci`, `with_macros_source`, `with_modelica_compiler`, `with_tk`, `xcorr`, `xcosBlockEval`, `xcosBlockInterface`, `xcosCodeGeneration`, `xcosConfigureModelica`, `xcosPal`, `xcosPalAdd`, `xcosPalAddBlock`, `xcosPalExport`, `xcosPalGenerateAllIcons`, `xcosShowBlockWarning`, `xcosValidateBlockSet`, `xcosValidateCompareBlock`, `xcos_compile`, `xcos_debug_gui`, `xcos_run`, `xcos_simulate`, `xcov`, `xmltochm`, `xmltoformat`, `xmltohtml`, `xmltojar`, `xmltopdf`, `xmltops`, `xmltoweb`, `yulewalk`, `zeropen`, `zgrid`, `zpbutt`, `zpch1`, `zpch2`, `zpell`), NameBuiltin, nil}, - {Words(``, `\b`, `$`, `%F`, `%T`, `%e`, `%eps`, `%f`, `%fftw`, `%gui`, `%i`, `%inf`, `%io`, `%modalWarning`, `%nan`, `%pi`, `%s`, `%t`, `%tk`, `%toolboxes`, `%toolboxes_dir`, `%z`, `PWD`, `SCI`, `SCIHOME`, `TMPDIR`, `arnoldilib`, `assertlib`, `atomslib`, `cacsdlib`, `compatibility_functilib`, `corelib`, `data_structureslib`, `demo_toolslib`, `development_toolslib`, `differential_equationlib`, `dynamic_linklib`, `elementary_functionslib`, `enull`, `evoid`, `external_objectslib`, `fd`, `fileiolib`, `functionslib`, `genetic_algorithmslib`, `helptoolslib`, `home`, `integerlib`, `interpolationlib`, `iolib`, `jnull`, `jvoid`, `linear_algebralib`, `m2scilib`, `matiolib`, `modules_managerlib`, `neldermeadlib`, `optimbaselib`, `optimizationlib`, `optimsimplexlib`, `output_streamlib`, `overloadinglib`, `parameterslib`, `polynomialslib`, `preferenceslib`, `randliblib`, `scicos_autolib`, `scicos_utilslib`, `scinoteslib`, `signal_processinglib`, `simulated_annealinglib`, `soundlib`, `sparselib`, `special_functionslib`, `spreadsheetlib`, `statisticslib`, `stringlib`, `tclscilib`, `timelib`, `umfpacklib`, `xcoslib`), NameConstant, nil}, - {`-|==|~=|<|>|<=|>=|&&|&|~|\|\|?`, Operator, nil}, - {`\.\*|\*|\+|\.\^|\.\\|\.\/|\/|\\`, Operator, nil}, - {`[\[\](){}@.,=:;]`, Punctuation, nil}, - {`"[^"]*"`, LiteralString, nil}, - {`(?<=[\w)\].])\'+`, Operator, nil}, - {`(?|+=@:,./?-]+`, Operator, nil}, - {`[\[\]()]+`, Punctuation, nil}, - {`"`, LiteralStringDouble, Push("string-double")}, - {`'`, LiteralStringSingle, Push("string-single")}, - {`[a-z_-][\w-]*`, Name, nil}, - {`\n`, Text, nil}, - {`[;{}]`, Punctuation, Pop(1)}, - }, - "interpolation": { - {`\}`, LiteralStringInterpol, Pop(1)}, - Include("value"), - }, - "selector": { - {`[ \t]+`, Text, nil}, - {`\:`, NameDecorator, Push("pseudo-class")}, - {`\.`, NameClass, Push("class")}, - {`\#`, NameNamespace, Push("id")}, - {`[\w-]+`, NameTag, nil}, - {`#\{`, LiteralStringInterpol, Push("interpolation")}, - {`&`, Keyword, nil}, - {`[~^*!&\[\]()<>|+=@:;,./?-]`, Operator, nil}, - {`"`, LiteralStringDouble, Push("string-double")}, - {`'`, LiteralStringSingle, Push("string-single")}, - {`\n`, Text, nil}, - {`[;{}]`, Punctuation, Pop(1)}, - }, - "string-double": { - {`(\\.|#(?=[^\n{])|[^\n"#])+`, LiteralStringDouble, nil}, - {`#\{`, LiteralStringInterpol, Push("interpolation")}, - {`"`, LiteralStringDouble, Pop(1)}, - }, - "string-single": { - {`(\\.|#(?=[^\n{])|[^\n'#])+`, LiteralStringDouble, nil}, - {`#\{`, LiteralStringInterpol, Push("interpolation")}, - {`'`, LiteralStringDouble, Pop(1)}, - }, - "string-url": { - {`(\\#|#(?=[^\n{])|[^\n#)])+`, LiteralStringOther, nil}, - {`#\{`, LiteralStringInterpol, Push("interpolation")}, - {`\)`, LiteralStringOther, Pop(1)}, - }, - "pseudo-class": { - {`[\w-]+`, NameDecorator, nil}, - {`#\{`, LiteralStringInterpol, Push("interpolation")}, - Default(Pop(1)), - }, - "class": { - {`[\w-]+`, NameClass, nil}, - {`#\{`, LiteralStringInterpol, Push("interpolation")}, - Default(Pop(1)), - }, - "id": { - {`[\w-]+`, NameNamespace, nil}, - {`#\{`, LiteralStringInterpol, Push("interpolation")}, - Default(Pop(1)), - }, - "for": { - {`(from|to|through)`, OperatorWord, nil}, - Include("value"), - }, - }, -)) diff --git a/vendor/github.com/alecthomas/chroma/lexers/s/smalltalk.go b/vendor/github.com/alecthomas/chroma/lexers/s/smalltalk.go deleted file mode 100644 index db64707f..00000000 --- a/vendor/github.com/alecthomas/chroma/lexers/s/smalltalk.go +++ /dev/null @@ -1,99 +0,0 @@ -package s - -import ( - . "github.com/alecthomas/chroma" // nolint - "github.com/alecthomas/chroma/lexers/internal" -) - -// Smalltalk lexer. -var Smalltalk = internal.Register(MustNewLexer( - &Config{ - Name: "Smalltalk", - Aliases: []string{"smalltalk", "squeak", "st"}, - Filenames: []string{"*.st"}, - MimeTypes: []string{"text/x-smalltalk"}, - }, - Rules{ - "root": { - {`(<)(\w+:)(.*?)(>)`, ByGroups(Text, Keyword, Text, Text), nil}, - Include("squeak fileout"), - Include("whitespaces"), - Include("method definition"), - {`(\|)([\w\s]*)(\|)`, ByGroups(Operator, NameVariable, Operator), nil}, - Include("objects"), - {`\^|:=|_`, Operator, nil}, - {`[\]({}.;!]`, Text, nil}, - }, - "method definition": { - {`([a-zA-Z]+\w*:)(\s*)(\w+)`, ByGroups(NameFunction, Text, NameVariable), nil}, - {`^(\b[a-zA-Z]+\w*\b)(\s*)$`, ByGroups(NameFunction, Text), nil}, - {`^([-+*/\\~<>=|&!?,@%]+)(\s*)(\w+)(\s*)$`, ByGroups(NameFunction, Text, NameVariable, Text), nil}, - }, - "blockvariables": { - Include("whitespaces"), - {`(:)(\s*)(\w+)`, ByGroups(Operator, Text, NameVariable), nil}, - {`\|`, Operator, Pop(1)}, - Default(Pop(1)), - }, - "literals": { - {`'(''|[^'])*'`, LiteralString, Push("afterobject")}, - {`\$.`, LiteralStringChar, Push("afterobject")}, - {`#\(`, LiteralStringSymbol, Push("parenth")}, - {`\)`, Text, Push("afterobject")}, - {`(\d+r)?-?\d+(\.\d+)?(e-?\d+)?`, LiteralNumber, Push("afterobject")}, - }, - "_parenth_helper": { - Include("whitespaces"), - {`(\d+r)?-?\d+(\.\d+)?(e-?\d+)?`, LiteralNumber, nil}, - {`[-+*/\\~<>=|&#!?,@%\w:]+`, LiteralStringSymbol, nil}, - {`'(''|[^'])*'`, LiteralString, nil}, - {`\$.`, LiteralStringChar, nil}, - {`#*\(`, LiteralStringSymbol, Push("inner_parenth")}, - }, - "parenth": { - {`\)`, LiteralStringSymbol, Push("root", "afterobject")}, - Include("_parenth_helper"), - }, - "inner_parenth": { - {`\)`, LiteralStringSymbol, Pop(1)}, - Include("_parenth_helper"), - }, - "whitespaces": { - {`\s+`, Text, nil}, - {`"(""|[^"])*"`, Comment, nil}, - }, - "objects": { - {`\[`, Text, Push("blockvariables")}, - {`\]`, Text, Push("afterobject")}, - {`\b(self|super|true|false|nil|thisContext)\b`, NameBuiltinPseudo, Push("afterobject")}, - {`\b[A-Z]\w*(?!:)\b`, NameClass, Push("afterobject")}, - {`\b[a-z]\w*(?!:)\b`, NameVariable, Push("afterobject")}, - {`#("(""|[^"])*"|[-+*/\\~<>=|&!?,@%]+|[\w:]+)`, LiteralStringSymbol, Push("afterobject")}, - Include("literals"), - }, - "afterobject": { - {`! !$`, Keyword, Pop(1)}, - Include("whitespaces"), - {`\b(ifTrue:|ifFalse:|whileTrue:|whileFalse:|timesRepeat:)`, NameBuiltin, Pop(1)}, - {`\b(new\b(?!:))`, NameBuiltin, nil}, - {`:=|_`, Operator, Pop(1)}, - {`\b[a-zA-Z]+\w*:`, NameFunction, Pop(1)}, - {`\b[a-zA-Z]+\w*`, NameFunction, nil}, - {`\w+:?|[-+*/\\~<>=|&!?,@%]+`, NameFunction, Pop(1)}, - {`\.`, Punctuation, Pop(1)}, - {`;`, Punctuation, nil}, - {`[\])}]`, Text, nil}, - {`[\[({]`, Text, Pop(1)}, - }, - "squeak fileout": { - {`^"(""|[^"])*"!`, Keyword, nil}, - {`^'(''|[^'])*'!`, Keyword, nil}, - {`^(!)(\w+)( commentStamp: )(.*?)( prior: .*?!\n)(.*?)(!)`, ByGroups(Keyword, NameClass, Keyword, LiteralString, Keyword, Text, Keyword), nil}, - {`^(!)(\w+(?: class)?)( methodsFor: )('(?:''|[^'])*')(.*?!)`, ByGroups(Keyword, NameClass, Keyword, LiteralString, Keyword), nil}, - {`^(\w+)( subclass: )(#\w+)(\s+instanceVariableNames: )(.*?)(\s+classVariableNames: )(.*?)(\s+poolDictionaries: )(.*?)(\s+category: )(.*?)(!)`, ByGroups(NameClass, Keyword, LiteralStringSymbol, Keyword, LiteralString, Keyword, LiteralString, Keyword, LiteralString, Keyword, LiteralString, Keyword), nil}, - {`^(\w+(?: class)?)(\s+instanceVariableNames: )(.*?)(!)`, ByGroups(NameClass, Keyword, LiteralString, Keyword), nil}, - {`(!\n)(\].*)(! !)$`, ByGroups(Keyword, Text, Keyword), nil}, - {`! !$`, Keyword, nil}, - }, - }, -)) diff --git a/vendor/github.com/alecthomas/chroma/lexers/s/smarty.go b/vendor/github.com/alecthomas/chroma/lexers/s/smarty.go deleted file mode 100644 index c364ffa5..00000000 --- a/vendor/github.com/alecthomas/chroma/lexers/s/smarty.go +++ /dev/null @@ -1,40 +0,0 @@ -package s - -import ( - . "github.com/alecthomas/chroma" // nolint - . "github.com/alecthomas/chroma/lexers/circular" // nolint - "github.com/alecthomas/chroma/lexers/internal" -) - -// Smarty lexer. -var Smarty = internal.Register(MustNewLexer( - &Config{ - Name: "Smarty", - Aliases: []string{"smarty"}, - Filenames: []string{"*.tpl"}, - MimeTypes: []string{"application/x-smarty"}, - DotAll: true, - }, - Rules{ - "root": { - {`[^{]+`, Other, nil}, - {`(\{)(\*.*?\*)(\})`, ByGroups(CommentPreproc, Comment, CommentPreproc), nil}, - {`(\{php\})(.*?)(\{/php\})`, ByGroups(CommentPreproc, Using(PHP), CommentPreproc), nil}, - {`(\{)(/?[a-zA-Z_]\w*)(\s*)`, ByGroups(CommentPreproc, NameFunction, Text), Push("smarty")}, - {`\{`, CommentPreproc, Push("smarty")}, - }, - "smarty": { - {`\s+`, Text, nil}, - {`\{`, CommentPreproc, Push()}, - {`\}`, CommentPreproc, Pop(1)}, - {`#[a-zA-Z_]\w*#`, NameVariable, nil}, - {`\$[a-zA-Z_]\w*(\.\w+)*`, NameVariable, nil}, - {`[~!%^&*()+=|\[\]:;,.<>/?@-]`, Operator, nil}, - {`(true|false|null)\b`, KeywordConstant, nil}, - {`[0-9](\.[0-9]*)?(eE[+-][0-9])?[flFLdD]?|0[xX][0-9a-fA-F]+[Ll]?`, LiteralNumber, nil}, - {`"(\\\\|\\"|[^"])*"`, LiteralStringDouble, nil}, - {`'(\\\\|\\'|[^'])*'`, LiteralStringSingle, nil}, - {`[a-zA-Z_]\w*`, NameAttribute, nil}, - }, - }, -)) diff --git a/vendor/github.com/alecthomas/chroma/lexers/s/snobol.go b/vendor/github.com/alecthomas/chroma/lexers/s/snobol.go deleted file mode 100644 index c999b50f..00000000 --- a/vendor/github.com/alecthomas/chroma/lexers/s/snobol.go +++ /dev/null @@ -1,48 +0,0 @@ -package s - -import ( - . "github.com/alecthomas/chroma" // nolint - "github.com/alecthomas/chroma/lexers/internal" -) - -// Snobol lexer. -var Snobol = internal.Register(MustNewLexer( - &Config{ - Name: "Snobol", - Aliases: []string{"snobol"}, - Filenames: []string{"*.snobol"}, - MimeTypes: []string{"text/x-snobol"}, - }, - Rules{ - "root": { - {`\*.*\n`, Comment, nil}, - {`[+.] `, Punctuation, Push("statement")}, - {`-.*\n`, Comment, nil}, - {`END\s*\n`, NameLabel, Push("heredoc")}, - {`[A-Za-z$][\w$]*`, NameLabel, Push("statement")}, - {`\s+`, Text, Push("statement")}, - }, - "statement": { - {`\s*\n`, Text, Pop(1)}, - {`\s+`, Text, nil}, - {`(?<=[^\w.])(LT|LE|EQ|NE|GE|GT|INTEGER|IDENT|DIFFER|LGT|SIZE|REPLACE|TRIM|DUPL|REMDR|DATE|TIME|EVAL|APPLY|OPSYN|LOAD|UNLOAD|LEN|SPAN|BREAK|ANY|NOTANY|TAB|RTAB|REM|POS|RPOS|FAIL|FENCE|ABORT|ARB|ARBNO|BAL|SUCCEED|INPUT|OUTPUT|TERMINAL)(?=[^\w.])`, NameBuiltin, nil}, - {`[A-Za-z][\w.]*`, Name, nil}, - {`\*\*|[?$.!%*/#+\-@|&\\=]`, Operator, nil}, - {`"[^"]*"`, LiteralString, nil}, - {`'[^']*'`, LiteralString, nil}, - {`[0-9]+(?=[^.EeDd])`, LiteralNumberInteger, nil}, - {`[0-9]+(\.[0-9]*)?([EDed][-+]?[0-9]+)?`, LiteralNumberFloat, nil}, - {`:`, Punctuation, Push("goto")}, - {`[()<>,;]`, Punctuation, nil}, - }, - "goto": { - {`\s*\n`, Text, Pop(2)}, - {`\s+`, Text, nil}, - {`F|S`, Keyword, nil}, - {`(\()([A-Za-z][\w.]*)(\))`, ByGroups(Punctuation, NameLabel, Punctuation), nil}, - }, - "heredoc": { - {`.*\n`, LiteralStringHeredoc, nil}, - }, - }, -)) diff --git a/vendor/github.com/alecthomas/chroma/lexers/s/solidity.go b/vendor/github.com/alecthomas/chroma/lexers/s/solidity.go deleted file mode 100644 index d7cf0f97..00000000 --- a/vendor/github.com/alecthomas/chroma/lexers/s/solidity.go +++ /dev/null @@ -1,110 +0,0 @@ -package s - -import ( - . "github.com/alecthomas/chroma" // nolint - "github.com/alecthomas/chroma/lexers/internal" -) - -// Solidity lexer. -var Solidity = internal.Register(MustNewLexer( - &Config{ - Name: "Solidity", - Aliases: []string{"sol", "solidity"}, - Filenames: []string{"*.sol"}, - MimeTypes: []string{}, - DotAll: true, - }, - Rules{ - "assembly": { - Include("comments"), - Include("numbers"), - Include("strings"), - Include("whitespace"), - {`\{`, Punctuation, Push()}, - {`\}`, Punctuation, Pop(1)}, - {`[(),]`, Punctuation, nil}, - {`:=|=:`, Operator, nil}, - {`(let)(\s*)(\w*\b)`, ByGroups(OperatorWord, Text, NameVariable), nil}, - {`(\w*\b)(\:[^=])`, ByGroups(NameLabel, Punctuation), nil}, - {`(stop|add|mul|sub|div|sdiv|mod|smod|addmod|mulmod|exp|signextend|lt|gt|slt|sgt|eq|iszero|and|or|xor|not|byte|keccak256|sha3|address|balance|origin|caller|callvalue|calldataload|calldatasize|calldatacopy|codesize|codecopy|gasprice|extcodesize|extcodecopy|blockhash|coinbase|timestamp|number|difficulty|gaslimit|pop|mload|mstore|mstore8|sload|sstore|for|switch|jump|jumpi|pc|msize|gas|jumpdest|push1|push2|push32|dup1|dup2|dup16|swap1|swap2|swap16|log0|log1|log4|create|call|callcode|return|delegatecall|suicide|returndatasize|returndatacopy|staticcall|revert|invalid)\b`, NameFunction, nil}, - {`[a-zA-Z_]\w*`, Name, nil}, - }, - "comments": { - {`//([\w\W]*?\n)`, CommentSingle, nil}, - {`/[*][\w\W]*?[*]/`, CommentMultiline, nil}, - {`/[*][\w\W]*`, CommentMultiline, nil}, - }, - "keywords-other": { - {Words(``, `\b`, `for`, `in`, `while`, `do`, `break`, `return`, `returns`, `continue`, `if`, `else`, `throw`, `new`, `delete`), Keyword, nil}, - {`assembly\b`, Keyword, Push("assembly")}, - {Words(``, `\b`, `contract`, `interface`, `enum`, `event`, `function`, `library`, `mapping`, `modifier`, `struct`, `var`), KeywordDeclaration, nil}, - {`(import|using)\b`, KeywordNamespace, nil}, - {`pragma (solidity|experimental)\b`, KeywordReserved, nil}, - {`(_|as|constant|default|from|is)\b`, KeywordReserved, nil}, - {`payable\b`, KeywordReserved, nil}, - {`(memory|storage)\b`, KeywordReserved, nil}, - {`(external|internal|private|public)\b`, KeywordReserved, nil}, - {`(anonymous|indexed)\b`, KeywordReserved, nil}, - {`(abstract|pure|static|view)\b`, KeywordReserved, nil}, - {`(true|false)\b`, KeywordConstant, nil}, - {`(wei|finney|szabo|ether)\b`, KeywordConstant, nil}, - {`(seconds|minutes|hours|days|weeks|years)\b`, KeywordConstant, nil}, - }, - "keywords-types": { - {Words(``, `\b`, `address`, `bool`, `byte`, `bytes`, `int`, `fixed`, `string`, `ufixed`, `uint`), KeywordType, nil}, - {Words(``, `\b`, `int8`, `int16`, `int24`, `int32`, `int40`, `int48`, `int56`, `int64`, `int72`, `int80`, `int88`, `int96`, `int104`, `int112`, `int120`, `int128`, `int136`, `int144`, `int152`, `int160`, `int168`, `int176`, `int184`, `int192`, `int200`, `int208`, `int216`, `int224`, `int232`, `int240`, `int248`, `int256`), KeywordType, nil}, - {Words(``, `\b`, `uint8`, `uint16`, `uint24`, `uint32`, `uint40`, `uint48`, `uint56`, `uint64`, `uint72`, `uint80`, `uint88`, `uint96`, `uint104`, `uint112`, `uint120`, `uint128`, `uint136`, `uint144`, `uint152`, `uint160`, `uint168`, `uint176`, `uint184`, `uint192`, `uint200`, `uint208`, `uint216`, `uint224`, `uint232`, `uint240`, `uint248`, `uint256`), KeywordType, nil}, - {Words(``, `\b`, `bytes1`, `bytes2`, `bytes3`, `bytes4`, `bytes5`, `bytes6`, `bytes7`, `bytes8`, `bytes9`, `bytes10`, `bytes11`, `bytes12`, `bytes13`, `bytes14`, `bytes15`, `bytes16`, `bytes17`, `bytes18`, `bytes19`, `bytes20`, `bytes21`, `bytes22`, `bytes23`, `bytes24`, `bytes25`, `bytes26`, `bytes27`, `bytes28`, `bytes29`, `bytes30`, `bytes31`, `bytes32`), KeywordType, nil}, - {Words(``, `\b`, `fixed8x0`, `fixed8x1`, `fixed8x2`, `fixed8x3`, `fixed8x4`, `fixed8x5`, `fixed8x6`, `fixed8x7`, `fixed8x8`, `fixed8x9`, `fixed8x10`, `fixed8x11`, `fixed8x12`, `fixed8x13`, `fixed8x14`, `fixed8x15`, `fixed8x16`, `fixed8x17`, `fixed8x18`, `fixed8x19`, `fixed8x20`, `fixed8x21`, `fixed8x22`, `fixed8x23`, `fixed8x24`, `fixed8x25`, `fixed8x26`, `fixed8x27`, `fixed8x28`, `fixed8x29`, `fixed8x30`, `fixed8x31`, `fixed8x32`, `fixed8x33`, `fixed8x34`, `fixed8x35`, `fixed8x36`, `fixed8x37`, `fixed8x38`, `fixed8x39`, `fixed8x40`, `fixed8x41`, `fixed8x42`, `fixed8x43`, `fixed8x44`, `fixed8x45`, `fixed8x46`, `fixed8x47`, `fixed8x48`, `fixed8x49`, `fixed8x50`, `fixed8x51`, `fixed8x52`, `fixed8x53`, `fixed8x54`, `fixed8x55`, `fixed8x56`, `fixed8x57`, `fixed8x58`, `fixed8x59`, `fixed8x60`, `fixed8x61`, `fixed8x62`, `fixed8x63`, `fixed8x64`, `fixed8x65`, `fixed8x66`, `fixed8x67`, `fixed8x68`, `fixed8x69`, `fixed8x70`, `fixed8x71`, `fixed8x72`, `fixed8x73`, `fixed8x74`, `fixed8x75`, `fixed8x76`, `fixed8x77`, `fixed8x78`, `fixed8x79`, `fixed8x80`, `fixed16x0`, `fixed16x1`, `fixed16x2`, `fixed16x3`, `fixed16x4`, `fixed16x5`, `fixed16x6`, `fixed16x7`, `fixed16x8`, `fixed16x9`, `fixed16x10`, `fixed16x11`, `fixed16x12`, `fixed16x13`, `fixed16x14`, `fixed16x15`, `fixed16x16`, `fixed16x17`, `fixed16x18`, `fixed16x19`, `fixed16x20`, `fixed16x21`, `fixed16x22`, `fixed16x23`, `fixed16x24`, `fixed16x25`, `fixed16x26`, `fixed16x27`, `fixed16x28`, `fixed16x29`, `fixed16x30`, `fixed16x31`, `fixed16x32`, `fixed16x33`, `fixed16x34`, `fixed16x35`, `fixed16x36`, `fixed16x37`, `fixed16x38`, `fixed16x39`, `fixed16x40`, `fixed16x41`, `fixed16x42`, `fixed16x43`, `fixed16x44`, `fixed16x45`, `fixed16x46`, `fixed16x47`, `fixed16x48`, `fixed16x49`, `fixed16x50`, `fixed16x51`, `fixed16x52`, `fixed16x53`, `fixed16x54`, `fixed16x55`, `fixed16x56`, `fixed16x57`, `fixed16x58`, `fixed16x59`, `fixed16x60`, `fixed16x61`, `fixed16x62`, `fixed16x63`, `fixed16x64`, `fixed16x65`, `fixed16x66`, `fixed16x67`, `fixed16x68`, `fixed16x69`, `fixed16x70`, `fixed16x71`, `fixed16x72`, `fixed16x73`, `fixed16x74`, `fixed16x75`, `fixed16x76`, `fixed16x77`, `fixed16x78`, `fixed16x79`, `fixed16x80`, `fixed24x0`, `fixed24x1`, `fixed24x2`, `fixed24x3`, `fixed24x4`, `fixed24x5`, `fixed24x6`, `fixed24x7`, `fixed24x8`, `fixed24x9`, `fixed24x10`, `fixed24x11`, `fixed24x12`, `fixed24x13`, `fixed24x14`, `fixed24x15`, `fixed24x16`, `fixed24x17`, `fixed24x18`, `fixed24x19`, `fixed24x20`, `fixed24x21`, `fixed24x22`, `fixed24x23`, `fixed24x24`, `fixed24x25`, `fixed24x26`, `fixed24x27`, `fixed24x28`, `fixed24x29`, `fixed24x30`, `fixed24x31`, `fixed24x32`, `fixed24x33`, `fixed24x34`, `fixed24x35`, `fixed24x36`, `fixed24x37`, `fixed24x38`, `fixed24x39`, `fixed24x40`, `fixed24x41`, `fixed24x42`, `fixed24x43`, `fixed24x44`, `fixed24x45`, `fixed24x46`, `fixed24x47`, `fixed24x48`, `fixed24x49`, `fixed24x50`, `fixed24x51`, `fixed24x52`, `fixed24x53`, `fixed24x54`, `fixed24x55`, `fixed24x56`, `fixed24x57`, `fixed24x58`, `fixed24x59`, `fixed24x60`, `fixed24x61`, `fixed24x62`, `fixed24x63`, `fixed24x64`, `fixed24x65`, `fixed24x66`, `fixed24x67`, `fixed24x68`, `fixed24x69`, `fixed24x70`, `fixed24x71`, `fixed24x72`, `fixed24x73`, `fixed24x74`, `fixed24x75`, `fixed24x76`, `fixed24x77`, `fixed24x78`, `fixed24x79`, `fixed24x80`, `fixed32x0`, `fixed32x1`, `fixed32x2`, `fixed32x3`, `fixed32x4`, `fixed32x5`, `fixed32x6`, `fixed32x7`, `fixed32x8`, `fixed32x9`, `fixed32x10`, `fixed32x11`, `fixed32x12`, `fixed32x13`, `fixed32x14`, `fixed32x15`, `fixed32x16`, `fixed32x17`, `fixed32x18`, `fixed32x19`, `fixed32x20`, `fixed32x21`, `fixed32x22`, `fixed32x23`, `fixed32x24`, `fixed32x25`, `fixed32x26`, `fixed32x27`, `fixed32x28`, `fixed32x29`, `fixed32x30`, `fixed32x31`, `fixed32x32`, `fixed32x33`, `fixed32x34`, `fixed32x35`, `fixed32x36`, `fixed32x37`, `fixed32x38`, `fixed32x39`, `fixed32x40`, `fixed32x41`, `fixed32x42`, `fixed32x43`, `fixed32x44`, `fixed32x45`, `fixed32x46`, `fixed32x47`, `fixed32x48`, `fixed32x49`, `fixed32x50`, `fixed32x51`, `fixed32x52`, `fixed32x53`, `fixed32x54`, `fixed32x55`, `fixed32x56`, `fixed32x57`, `fixed32x58`, `fixed32x59`, `fixed32x60`, `fixed32x61`, `fixed32x62`, `fixed32x63`, `fixed32x64`, `fixed32x65`, `fixed32x66`, `fixed32x67`, `fixed32x68`, `fixed32x69`, `fixed32x70`, `fixed32x71`, `fixed32x72`, `fixed32x73`, `fixed32x74`, `fixed32x75`, `fixed32x76`, `fixed32x77`, `fixed32x78`, `fixed32x79`, `fixed32x80`, `fixed40x0`, `fixed40x1`, `fixed40x2`, `fixed40x3`, `fixed40x4`, `fixed40x5`, `fixed40x6`, `fixed40x7`, `fixed40x8`, `fixed40x9`, `fixed40x10`, `fixed40x11`, `fixed40x12`, `fixed40x13`, `fixed40x14`, `fixed40x15`, `fixed40x16`, `fixed40x17`, `fixed40x18`, `fixed40x19`, `fixed40x20`, `fixed40x21`, `fixed40x22`, `fixed40x23`, `fixed40x24`, `fixed40x25`, `fixed40x26`, `fixed40x27`, `fixed40x28`, `fixed40x29`, `fixed40x30`, `fixed40x31`, `fixed40x32`, `fixed40x33`, `fixed40x34`, `fixed40x35`, `fixed40x36`, `fixed40x37`, `fixed40x38`, `fixed40x39`, `fixed40x40`, `fixed40x41`, `fixed40x42`, `fixed40x43`, `fixed40x44`, `fixed40x45`, `fixed40x46`, `fixed40x47`, `fixed40x48`, `fixed40x49`, `fixed40x50`, `fixed40x51`, `fixed40x52`, `fixed40x53`, `fixed40x54`, `fixed40x55`, `fixed40x56`, `fixed40x57`, `fixed40x58`, `fixed40x59`, `fixed40x60`, `fixed40x61`, `fixed40x62`, `fixed40x63`, `fixed40x64`, `fixed40x65`, `fixed40x66`, `fixed40x67`, `fixed40x68`, `fixed40x69`, `fixed40x70`, `fixed40x71`, `fixed40x72`, `fixed40x73`, `fixed40x74`, `fixed40x75`, `fixed40x76`, `fixed40x77`, `fixed40x78`, `fixed40x79`, `fixed40x80`, `fixed48x0`, `fixed48x1`, `fixed48x2`, `fixed48x3`, `fixed48x4`, `fixed48x5`, `fixed48x6`, `fixed48x7`, `fixed48x8`, `fixed48x9`, `fixed48x10`, `fixed48x11`, `fixed48x12`, `fixed48x13`, `fixed48x14`, `fixed48x15`, `fixed48x16`, `fixed48x17`, `fixed48x18`, `fixed48x19`, `fixed48x20`, `fixed48x21`, `fixed48x22`, `fixed48x23`, `fixed48x24`, `fixed48x25`, `fixed48x26`, `fixed48x27`, `fixed48x28`, `fixed48x29`, `fixed48x30`, `fixed48x31`, `fixed48x32`, `fixed48x33`, `fixed48x34`, `fixed48x35`, `fixed48x36`, `fixed48x37`, `fixed48x38`, `fixed48x39`, `fixed48x40`, `fixed48x41`, `fixed48x42`, `fixed48x43`, `fixed48x44`, `fixed48x45`, `fixed48x46`, `fixed48x47`, `fixed48x48`, `fixed48x49`, `fixed48x50`, `fixed48x51`, `fixed48x52`, `fixed48x53`, `fixed48x54`, `fixed48x55`, `fixed48x56`, `fixed48x57`, `fixed48x58`, `fixed48x59`, `fixed48x60`, `fixed48x61`, `fixed48x62`, `fixed48x63`, `fixed48x64`, `fixed48x65`, `fixed48x66`, `fixed48x67`, `fixed48x68`, `fixed48x69`, `fixed48x70`, `fixed48x71`, `fixed48x72`, `fixed48x73`, `fixed48x74`, `fixed48x75`, `fixed48x76`, `fixed48x77`, `fixed48x78`, `fixed48x79`, `fixed48x80`, `fixed56x0`, `fixed56x1`, `fixed56x2`, `fixed56x3`, `fixed56x4`, `fixed56x5`, `fixed56x6`, `fixed56x7`, `fixed56x8`, `fixed56x9`, `fixed56x10`, `fixed56x11`, `fixed56x12`, `fixed56x13`, `fixed56x14`, `fixed56x15`, `fixed56x16`, `fixed56x17`, `fixed56x18`, `fixed56x19`, `fixed56x20`, `fixed56x21`, `fixed56x22`, `fixed56x23`, `fixed56x24`, `fixed56x25`, `fixed56x26`, `fixed56x27`, `fixed56x28`, `fixed56x29`, `fixed56x30`, `fixed56x31`, `fixed56x32`, `fixed56x33`, `fixed56x34`, `fixed56x35`, `fixed56x36`, `fixed56x37`, `fixed56x38`, `fixed56x39`, `fixed56x40`, `fixed56x41`, `fixed56x42`, `fixed56x43`, `fixed56x44`, `fixed56x45`, `fixed56x46`, `fixed56x47`, `fixed56x48`, `fixed56x49`, `fixed56x50`, `fixed56x51`, `fixed56x52`, `fixed56x53`, `fixed56x54`, `fixed56x55`, `fixed56x56`, `fixed56x57`, `fixed56x58`, `fixed56x59`, `fixed56x60`, `fixed56x61`, `fixed56x62`, `fixed56x63`, `fixed56x64`, `fixed56x65`, `fixed56x66`, `fixed56x67`, `fixed56x68`, `fixed56x69`, `fixed56x70`, `fixed56x71`, `fixed56x72`, `fixed56x73`, `fixed56x74`, `fixed56x75`, `fixed56x76`, `fixed56x77`, `fixed56x78`, `fixed56x79`, `fixed56x80`, `fixed64x0`, `fixed64x1`, `fixed64x2`, `fixed64x3`, `fixed64x4`, `fixed64x5`, `fixed64x6`, `fixed64x7`, `fixed64x8`, `fixed64x9`, `fixed64x10`, `fixed64x11`, `fixed64x12`, `fixed64x13`, `fixed64x14`, `fixed64x15`, `fixed64x16`, `fixed64x17`, `fixed64x18`, `fixed64x19`, `fixed64x20`, `fixed64x21`, `fixed64x22`, `fixed64x23`, `fixed64x24`, `fixed64x25`, `fixed64x26`, `fixed64x27`, `fixed64x28`, `fixed64x29`, `fixed64x30`, `fixed64x31`, `fixed64x32`, `fixed64x33`, `fixed64x34`, `fixed64x35`, `fixed64x36`, `fixed64x37`, `fixed64x38`, `fixed64x39`, `fixed64x40`, `fixed64x41`, `fixed64x42`, `fixed64x43`, `fixed64x44`, `fixed64x45`, `fixed64x46`, `fixed64x47`, `fixed64x48`, `fixed64x49`, `fixed64x50`, `fixed64x51`, `fixed64x52`, `fixed64x53`, `fixed64x54`, `fixed64x55`, `fixed64x56`, `fixed64x57`, `fixed64x58`, `fixed64x59`, `fixed64x60`, `fixed64x61`, `fixed64x62`, `fixed64x63`, `fixed64x64`, `fixed64x65`, `fixed64x66`, `fixed64x67`, `fixed64x68`, `fixed64x69`, `fixed64x70`, `fixed64x71`, `fixed64x72`, `fixed64x73`, `fixed64x74`, `fixed64x75`, `fixed64x76`, `fixed64x77`, `fixed64x78`, `fixed64x79`, `fixed64x80`, `fixed72x0`, `fixed72x1`, `fixed72x2`, `fixed72x3`, `fixed72x4`, `fixed72x5`, `fixed72x6`, `fixed72x7`, `fixed72x8`, `fixed72x9`, `fixed72x10`, `fixed72x11`, `fixed72x12`, `fixed72x13`, `fixed72x14`, `fixed72x15`, `fixed72x16`, `fixed72x17`, `fixed72x18`, `fixed72x19`, `fixed72x20`, `fixed72x21`, `fixed72x22`, `fixed72x23`, `fixed72x24`, `fixed72x25`, `fixed72x26`, `fixed72x27`, `fixed72x28`, `fixed72x29`, `fixed72x30`, `fixed72x31`, `fixed72x32`, `fixed72x33`, `fixed72x34`, `fixed72x35`, `fixed72x36`, `fixed72x37`, `fixed72x38`, `fixed72x39`, `fixed72x40`, `fixed72x41`, `fixed72x42`, `fixed72x43`, `fixed72x44`, `fixed72x45`, `fixed72x46`, `fixed72x47`, `fixed72x48`, `fixed72x49`, `fixed72x50`, `fixed72x51`, `fixed72x52`, `fixed72x53`, `fixed72x54`, `fixed72x55`, `fixed72x56`, `fixed72x57`, `fixed72x58`, `fixed72x59`, `fixed72x60`, `fixed72x61`, `fixed72x62`, `fixed72x63`, `fixed72x64`, `fixed72x65`, `fixed72x66`, `fixed72x67`, `fixed72x68`, `fixed72x69`, `fixed72x70`, `fixed72x71`, `fixed72x72`, `fixed72x73`, `fixed72x74`, `fixed72x75`, `fixed72x76`, `fixed72x77`, `fixed72x78`, `fixed72x79`, `fixed72x80`, `fixed80x0`, `fixed80x1`, `fixed80x2`, `fixed80x3`, `fixed80x4`, `fixed80x5`, `fixed80x6`, `fixed80x7`, `fixed80x8`, `fixed80x9`, `fixed80x10`, `fixed80x11`, `fixed80x12`, `fixed80x13`, `fixed80x14`, `fixed80x15`, `fixed80x16`, `fixed80x17`, `fixed80x18`, `fixed80x19`, `fixed80x20`, `fixed80x21`, `fixed80x22`, `fixed80x23`, `fixed80x24`, `fixed80x25`, `fixed80x26`, `fixed80x27`, `fixed80x28`, `fixed80x29`, `fixed80x30`, `fixed80x31`, `fixed80x32`, `fixed80x33`, `fixed80x34`, `fixed80x35`, `fixed80x36`, `fixed80x37`, `fixed80x38`, `fixed80x39`, `fixed80x40`, `fixed80x41`, `fixed80x42`, `fixed80x43`, `fixed80x44`, `fixed80x45`, `fixed80x46`, `fixed80x47`, `fixed80x48`, `fixed80x49`, `fixed80x50`, `fixed80x51`, `fixed80x52`, `fixed80x53`, `fixed80x54`, `fixed80x55`, `fixed80x56`, `fixed80x57`, `fixed80x58`, `fixed80x59`, `fixed80x60`, `fixed80x61`, `fixed80x62`, `fixed80x63`, `fixed80x64`, `fixed80x65`, `fixed80x66`, `fixed80x67`, `fixed80x68`, `fixed80x69`, `fixed80x70`, `fixed80x71`, `fixed80x72`, `fixed80x73`, `fixed80x74`, `fixed80x75`, `fixed80x76`, `fixed80x77`, `fixed80x78`, `fixed80x79`, `fixed80x80`, `fixed88x0`, `fixed88x1`, `fixed88x2`, `fixed88x3`, `fixed88x4`, `fixed88x5`, `fixed88x6`, `fixed88x7`, `fixed88x8`, `fixed88x9`, `fixed88x10`, `fixed88x11`, `fixed88x12`, `fixed88x13`, `fixed88x14`, `fixed88x15`, `fixed88x16`, `fixed88x17`, `fixed88x18`, `fixed88x19`, `fixed88x20`, `fixed88x21`, `fixed88x22`, `fixed88x23`, `fixed88x24`, `fixed88x25`, `fixed88x26`, `fixed88x27`, `fixed88x28`, `fixed88x29`, `fixed88x30`, `fixed88x31`, `fixed88x32`, `fixed88x33`, `fixed88x34`, `fixed88x35`, `fixed88x36`, `fixed88x37`, `fixed88x38`, `fixed88x39`, `fixed88x40`, `fixed88x41`, `fixed88x42`, `fixed88x43`, `fixed88x44`, `fixed88x45`, `fixed88x46`, `fixed88x47`, `fixed88x48`, `fixed88x49`, `fixed88x50`, `fixed88x51`, `fixed88x52`, `fixed88x53`, `fixed88x54`, `fixed88x55`, `fixed88x56`, `fixed88x57`, `fixed88x58`, `fixed88x59`, `fixed88x60`, `fixed88x61`, `fixed88x62`, `fixed88x63`, `fixed88x64`, `fixed88x65`, `fixed88x66`, `fixed88x67`, `fixed88x68`, `fixed88x69`, `fixed88x70`, `fixed88x71`, `fixed88x72`, `fixed88x73`, `fixed88x74`, `fixed88x75`, `fixed88x76`, `fixed88x77`, `fixed88x78`, `fixed88x79`, `fixed88x80`, `fixed96x0`, `fixed96x1`, `fixed96x2`, `fixed96x3`, `fixed96x4`, `fixed96x5`, `fixed96x6`, `fixed96x7`, `fixed96x8`, `fixed96x9`, `fixed96x10`, `fixed96x11`, `fixed96x12`, `fixed96x13`, `fixed96x14`, `fixed96x15`, `fixed96x16`, `fixed96x17`, `fixed96x18`, `fixed96x19`, `fixed96x20`, `fixed96x21`, `fixed96x22`, `fixed96x23`, `fixed96x24`, `fixed96x25`, `fixed96x26`, `fixed96x27`, `fixed96x28`, `fixed96x29`, `fixed96x30`, `fixed96x31`, `fixed96x32`, `fixed96x33`, `fixed96x34`, `fixed96x35`, `fixed96x36`, `fixed96x37`, `fixed96x38`, `fixed96x39`, `fixed96x40`, `fixed96x41`, `fixed96x42`, `fixed96x43`, `fixed96x44`, `fixed96x45`, `fixed96x46`, `fixed96x47`, `fixed96x48`, `fixed96x49`, `fixed96x50`, `fixed96x51`, `fixed96x52`, `fixed96x53`, `fixed96x54`, `fixed96x55`, `fixed96x56`, `fixed96x57`, `fixed96x58`, `fixed96x59`, `fixed96x60`, `fixed96x61`, `fixed96x62`, `fixed96x63`, `fixed96x64`, `fixed96x65`, `fixed96x66`, `fixed96x67`, `fixed96x68`, `fixed96x69`, `fixed96x70`, `fixed96x71`, `fixed96x72`, `fixed96x73`, `fixed96x74`, `fixed96x75`, `fixed96x76`, `fixed96x77`, `fixed96x78`, `fixed96x79`, `fixed96x80`, `fixed104x0`, `fixed104x1`, `fixed104x2`, `fixed104x3`, `fixed104x4`, `fixed104x5`, `fixed104x6`, `fixed104x7`, `fixed104x8`, `fixed104x9`, `fixed104x10`, `fixed104x11`, `fixed104x12`, `fixed104x13`, `fixed104x14`, `fixed104x15`, `fixed104x16`, `fixed104x17`, `fixed104x18`, `fixed104x19`, `fixed104x20`, `fixed104x21`, `fixed104x22`, `fixed104x23`, `fixed104x24`, `fixed104x25`, `fixed104x26`, `fixed104x27`, `fixed104x28`, `fixed104x29`, `fixed104x30`, `fixed104x31`, `fixed104x32`, `fixed104x33`, `fixed104x34`, `fixed104x35`, `fixed104x36`, `fixed104x37`, `fixed104x38`, `fixed104x39`, `fixed104x40`, `fixed104x41`, `fixed104x42`, `fixed104x43`, `fixed104x44`, `fixed104x45`, `fixed104x46`, `fixed104x47`, `fixed104x48`, `fixed104x49`, `fixed104x50`, `fixed104x51`, `fixed104x52`, `fixed104x53`, `fixed104x54`, `fixed104x55`, `fixed104x56`, `fixed104x57`, `fixed104x58`, `fixed104x59`, `fixed104x60`, `fixed104x61`, `fixed104x62`, `fixed104x63`, `fixed104x64`, `fixed104x65`, `fixed104x66`, `fixed104x67`, `fixed104x68`, `fixed104x69`, `fixed104x70`, `fixed104x71`, `fixed104x72`, `fixed104x73`, `fixed104x74`, `fixed104x75`, `fixed104x76`, `fixed104x77`, `fixed104x78`, `fixed104x79`, `fixed104x80`, `fixed112x0`, `fixed112x1`, `fixed112x2`, `fixed112x3`, `fixed112x4`, `fixed112x5`, `fixed112x6`, `fixed112x7`, `fixed112x8`, `fixed112x9`, `fixed112x10`, `fixed112x11`, `fixed112x12`, `fixed112x13`, `fixed112x14`, `fixed112x15`, `fixed112x16`, `fixed112x17`, `fixed112x18`, `fixed112x19`, `fixed112x20`, `fixed112x21`, `fixed112x22`, `fixed112x23`, `fixed112x24`, `fixed112x25`, `fixed112x26`, `fixed112x27`, `fixed112x28`, `fixed112x29`, `fixed112x30`, `fixed112x31`, `fixed112x32`, `fixed112x33`, `fixed112x34`, `fixed112x35`, `fixed112x36`, `fixed112x37`, `fixed112x38`, `fixed112x39`, `fixed112x40`, `fixed112x41`, `fixed112x42`, `fixed112x43`, `fixed112x44`, `fixed112x45`, `fixed112x46`, `fixed112x47`, `fixed112x48`, `fixed112x49`, `fixed112x50`, `fixed112x51`, `fixed112x52`, `fixed112x53`, `fixed112x54`, `fixed112x55`, `fixed112x56`, `fixed112x57`, `fixed112x58`, `fixed112x59`, `fixed112x60`, `fixed112x61`, `fixed112x62`, `fixed112x63`, `fixed112x64`, `fixed112x65`, `fixed112x66`, `fixed112x67`, `fixed112x68`, `fixed112x69`, `fixed112x70`, `fixed112x71`, `fixed112x72`, `fixed112x73`, `fixed112x74`, `fixed112x75`, `fixed112x76`, `fixed112x77`, `fixed112x78`, `fixed112x79`, `fixed112x80`, `fixed120x0`, `fixed120x1`, `fixed120x2`, `fixed120x3`, `fixed120x4`, `fixed120x5`, `fixed120x6`, `fixed120x7`, `fixed120x8`, `fixed120x9`, `fixed120x10`, `fixed120x11`, `fixed120x12`, `fixed120x13`, `fixed120x14`, `fixed120x15`, `fixed120x16`, `fixed120x17`, `fixed120x18`, `fixed120x19`, `fixed120x20`, `fixed120x21`, `fixed120x22`, `fixed120x23`, `fixed120x24`, `fixed120x25`, `fixed120x26`, `fixed120x27`, `fixed120x28`, `fixed120x29`, `fixed120x30`, `fixed120x31`, `fixed120x32`, `fixed120x33`, `fixed120x34`, `fixed120x35`, `fixed120x36`, `fixed120x37`, `fixed120x38`, `fixed120x39`, `fixed120x40`, `fixed120x41`, `fixed120x42`, `fixed120x43`, `fixed120x44`, `fixed120x45`, `fixed120x46`, `fixed120x47`, `fixed120x48`, `fixed120x49`, `fixed120x50`, `fixed120x51`, `fixed120x52`, `fixed120x53`, `fixed120x54`, `fixed120x55`, `fixed120x56`, `fixed120x57`, `fixed120x58`, `fixed120x59`, `fixed120x60`, `fixed120x61`, `fixed120x62`, `fixed120x63`, `fixed120x64`, `fixed120x65`, `fixed120x66`, `fixed120x67`, `fixed120x68`, `fixed120x69`, `fixed120x70`, `fixed120x71`, `fixed120x72`, `fixed120x73`, `fixed120x74`, `fixed120x75`, `fixed120x76`, `fixed120x77`, `fixed120x78`, `fixed120x79`, `fixed120x80`, `fixed128x0`, `fixed128x1`, `fixed128x2`, `fixed128x3`, `fixed128x4`, `fixed128x5`, `fixed128x6`, `fixed128x7`, `fixed128x8`, `fixed128x9`, `fixed128x10`, `fixed128x11`, `fixed128x12`, `fixed128x13`, `fixed128x14`, `fixed128x15`, `fixed128x16`, `fixed128x17`, `fixed128x18`, `fixed128x19`, `fixed128x20`, `fixed128x21`, `fixed128x22`, `fixed128x23`, `fixed128x24`, `fixed128x25`, `fixed128x26`, `fixed128x27`, `fixed128x28`, `fixed128x29`, `fixed128x30`, `fixed128x31`, `fixed128x32`, `fixed128x33`, `fixed128x34`, `fixed128x35`, `fixed128x36`, `fixed128x37`, `fixed128x38`, `fixed128x39`, `fixed128x40`, `fixed128x41`, `fixed128x42`, `fixed128x43`, `fixed128x44`, `fixed128x45`, `fixed128x46`, `fixed128x47`, `fixed128x48`, `fixed128x49`, `fixed128x50`, `fixed128x51`, `fixed128x52`, `fixed128x53`, `fixed128x54`, `fixed128x55`, `fixed128x56`, `fixed128x57`, `fixed128x58`, `fixed128x59`, `fixed128x60`, `fixed128x61`, `fixed128x62`, `fixed128x63`, `fixed128x64`, `fixed128x65`, `fixed128x66`, `fixed128x67`, `fixed128x68`, `fixed128x69`, `fixed128x70`, `fixed128x71`, `fixed128x72`, `fixed128x73`, `fixed128x74`, `fixed128x75`, `fixed128x76`, `fixed128x77`, `fixed128x78`, `fixed128x79`, `fixed128x80`, `fixed136x0`, `fixed136x1`, `fixed136x2`, `fixed136x3`, `fixed136x4`, `fixed136x5`, `fixed136x6`, `fixed136x7`, `fixed136x8`, `fixed136x9`, `fixed136x10`, `fixed136x11`, `fixed136x12`, `fixed136x13`, `fixed136x14`, `fixed136x15`, `fixed136x16`, `fixed136x17`, `fixed136x18`, `fixed136x19`, `fixed136x20`, `fixed136x21`, `fixed136x22`, `fixed136x23`, `fixed136x24`, `fixed136x25`, `fixed136x26`, `fixed136x27`, `fixed136x28`, `fixed136x29`, `fixed136x30`, `fixed136x31`, `fixed136x32`, `fixed136x33`, `fixed136x34`, `fixed136x35`, `fixed136x36`, `fixed136x37`, `fixed136x38`, `fixed136x39`, `fixed136x40`, `fixed136x41`, `fixed136x42`, `fixed136x43`, `fixed136x44`, `fixed136x45`, `fixed136x46`, `fixed136x47`, `fixed136x48`, `fixed136x49`, `fixed136x50`, `fixed136x51`, `fixed136x52`, `fixed136x53`, `fixed136x54`, `fixed136x55`, `fixed136x56`, `fixed136x57`, `fixed136x58`, `fixed136x59`, `fixed136x60`, `fixed136x61`, `fixed136x62`, `fixed136x63`, `fixed136x64`, `fixed136x65`, `fixed136x66`, `fixed136x67`, `fixed136x68`, `fixed136x69`, `fixed136x70`, `fixed136x71`, `fixed136x72`, `fixed136x73`, `fixed136x74`, `fixed136x75`, `fixed136x76`, `fixed136x77`, `fixed136x78`, `fixed136x79`, `fixed136x80`, `fixed144x0`, `fixed144x1`, `fixed144x2`, `fixed144x3`, `fixed144x4`, `fixed144x5`, `fixed144x6`, `fixed144x7`, `fixed144x8`, `fixed144x9`, `fixed144x10`, `fixed144x11`, `fixed144x12`, `fixed144x13`, `fixed144x14`, `fixed144x15`, `fixed144x16`, `fixed144x17`, `fixed144x18`, `fixed144x19`, `fixed144x20`, `fixed144x21`, `fixed144x22`, `fixed144x23`, `fixed144x24`, `fixed144x25`, `fixed144x26`, `fixed144x27`, `fixed144x28`, `fixed144x29`, `fixed144x30`, `fixed144x31`, `fixed144x32`, `fixed144x33`, `fixed144x34`, `fixed144x35`, `fixed144x36`, `fixed144x37`, `fixed144x38`, `fixed144x39`, `fixed144x40`, `fixed144x41`, `fixed144x42`, `fixed144x43`, `fixed144x44`, `fixed144x45`, `fixed144x46`, `fixed144x47`, `fixed144x48`, `fixed144x49`, `fixed144x50`, `fixed144x51`, `fixed144x52`, `fixed144x53`, `fixed144x54`, `fixed144x55`, `fixed144x56`, `fixed144x57`, `fixed144x58`, `fixed144x59`, `fixed144x60`, `fixed144x61`, `fixed144x62`, `fixed144x63`, `fixed144x64`, `fixed144x65`, `fixed144x66`, `fixed144x67`, `fixed144x68`, `fixed144x69`, `fixed144x70`, `fixed144x71`, `fixed144x72`, `fixed144x73`, `fixed144x74`, `fixed144x75`, `fixed144x76`, `fixed144x77`, `fixed144x78`, `fixed144x79`, `fixed144x80`, `fixed152x0`, `fixed152x1`, `fixed152x2`, `fixed152x3`, `fixed152x4`, `fixed152x5`, `fixed152x6`, `fixed152x7`, `fixed152x8`, `fixed152x9`, `fixed152x10`, `fixed152x11`, `fixed152x12`, `fixed152x13`, `fixed152x14`, `fixed152x15`, `fixed152x16`, `fixed152x17`, `fixed152x18`, `fixed152x19`, `fixed152x20`, `fixed152x21`, `fixed152x22`, `fixed152x23`, `fixed152x24`, `fixed152x25`, `fixed152x26`, `fixed152x27`, `fixed152x28`, `fixed152x29`, `fixed152x30`, `fixed152x31`, `fixed152x32`, `fixed152x33`, `fixed152x34`, `fixed152x35`, `fixed152x36`, `fixed152x37`, `fixed152x38`, `fixed152x39`, `fixed152x40`, `fixed152x41`, `fixed152x42`, `fixed152x43`, `fixed152x44`, `fixed152x45`, `fixed152x46`, `fixed152x47`, `fixed152x48`, `fixed152x49`, `fixed152x50`, `fixed152x51`, `fixed152x52`, `fixed152x53`, `fixed152x54`, `fixed152x55`, `fixed152x56`, `fixed152x57`, `fixed152x58`, `fixed152x59`, `fixed152x60`, `fixed152x61`, `fixed152x62`, `fixed152x63`, `fixed152x64`, `fixed152x65`, `fixed152x66`, `fixed152x67`, `fixed152x68`, `fixed152x69`, `fixed152x70`, `fixed152x71`, `fixed152x72`, `fixed152x73`, `fixed152x74`, `fixed152x75`, `fixed152x76`, `fixed152x77`, `fixed152x78`, `fixed152x79`, `fixed152x80`, `fixed160x0`, `fixed160x1`, `fixed160x2`, `fixed160x3`, `fixed160x4`, `fixed160x5`, `fixed160x6`, `fixed160x7`, `fixed160x8`, `fixed160x9`, `fixed160x10`, `fixed160x11`, `fixed160x12`, `fixed160x13`, `fixed160x14`, `fixed160x15`, `fixed160x16`, `fixed160x17`, `fixed160x18`, `fixed160x19`, `fixed160x20`, `fixed160x21`, `fixed160x22`, `fixed160x23`, `fixed160x24`, `fixed160x25`, `fixed160x26`, `fixed160x27`, `fixed160x28`, `fixed160x29`, `fixed160x30`, `fixed160x31`, `fixed160x32`, `fixed160x33`, `fixed160x34`, `fixed160x35`, `fixed160x36`, `fixed160x37`, `fixed160x38`, `fixed160x39`, `fixed160x40`, `fixed160x41`, `fixed160x42`, `fixed160x43`, `fixed160x44`, `fixed160x45`, `fixed160x46`, `fixed160x47`, `fixed160x48`, `fixed160x49`, `fixed160x50`, `fixed160x51`, `fixed160x52`, `fixed160x53`, `fixed160x54`, `fixed160x55`, `fixed160x56`, `fixed160x57`, `fixed160x58`, `fixed160x59`, `fixed160x60`, `fixed160x61`, `fixed160x62`, `fixed160x63`, `fixed160x64`, `fixed160x65`, `fixed160x66`, `fixed160x67`, `fixed160x68`, `fixed160x69`, `fixed160x70`, `fixed160x71`, `fixed160x72`, `fixed160x73`, `fixed160x74`, `fixed160x75`, `fixed160x76`, `fixed160x77`, `fixed160x78`, `fixed160x79`, `fixed160x80`, `fixed168x0`, `fixed168x1`, `fixed168x2`, `fixed168x3`, `fixed168x4`, `fixed168x5`, `fixed168x6`, `fixed168x7`, `fixed168x8`, `fixed168x9`, `fixed168x10`, `fixed168x11`, `fixed168x12`, `fixed168x13`, `fixed168x14`, `fixed168x15`, `fixed168x16`, `fixed168x17`, `fixed168x18`, `fixed168x19`, `fixed168x20`, `fixed168x21`, `fixed168x22`, `fixed168x23`, `fixed168x24`, `fixed168x25`, `fixed168x26`, `fixed168x27`, `fixed168x28`, `fixed168x29`, `fixed168x30`, `fixed168x31`, `fixed168x32`, `fixed168x33`, `fixed168x34`, `fixed168x35`, `fixed168x36`, `fixed168x37`, `fixed168x38`, `fixed168x39`, `fixed168x40`, `fixed168x41`, `fixed168x42`, `fixed168x43`, `fixed168x44`, `fixed168x45`, `fixed168x46`, `fixed168x47`, `fixed168x48`, `fixed168x49`, `fixed168x50`, `fixed168x51`, `fixed168x52`, `fixed168x53`, `fixed168x54`, `fixed168x55`, `fixed168x56`, `fixed168x57`, `fixed168x58`, `fixed168x59`, `fixed168x60`, `fixed168x61`, `fixed168x62`, `fixed168x63`, `fixed168x64`, `fixed168x65`, `fixed168x66`, `fixed168x67`, `fixed168x68`, `fixed168x69`, `fixed168x70`, `fixed168x71`, `fixed168x72`, `fixed168x73`, `fixed168x74`, `fixed168x75`, `fixed168x76`, `fixed168x77`, `fixed168x78`, `fixed168x79`, `fixed168x80`, `fixed176x0`, `fixed176x1`, `fixed176x2`, `fixed176x3`, `fixed176x4`, `fixed176x5`, `fixed176x6`, `fixed176x7`, `fixed176x8`, `fixed176x9`, `fixed176x10`, `fixed176x11`, `fixed176x12`, `fixed176x13`, `fixed176x14`, `fixed176x15`, `fixed176x16`, `fixed176x17`, `fixed176x18`, `fixed176x19`, `fixed176x20`, `fixed176x21`, `fixed176x22`, `fixed176x23`, `fixed176x24`, `fixed176x25`, `fixed176x26`, `fixed176x27`, `fixed176x28`, `fixed176x29`, `fixed176x30`, `fixed176x31`, `fixed176x32`, `fixed176x33`, `fixed176x34`, `fixed176x35`, `fixed176x36`, `fixed176x37`, `fixed176x38`, `fixed176x39`, `fixed176x40`, `fixed176x41`, `fixed176x42`, `fixed176x43`, `fixed176x44`, `fixed176x45`, `fixed176x46`, `fixed176x47`, `fixed176x48`, `fixed176x49`, `fixed176x50`, `fixed176x51`, `fixed176x52`, `fixed176x53`, `fixed176x54`, `fixed176x55`, `fixed176x56`, `fixed176x57`, `fixed176x58`, `fixed176x59`, `fixed176x60`, `fixed176x61`, `fixed176x62`, `fixed176x63`, `fixed176x64`, `fixed176x65`, `fixed176x66`, `fixed176x67`, `fixed176x68`, `fixed176x69`, `fixed176x70`, `fixed176x71`, `fixed176x72`, `fixed176x73`, `fixed176x74`, `fixed176x75`, `fixed176x76`, `fixed176x77`, `fixed176x78`, `fixed176x79`, `fixed176x80`, `fixed184x0`, `fixed184x1`, `fixed184x2`, `fixed184x3`, `fixed184x4`, `fixed184x5`, `fixed184x6`, `fixed184x7`, `fixed184x8`, `fixed184x9`, `fixed184x10`, `fixed184x11`, `fixed184x12`, `fixed184x13`, `fixed184x14`, `fixed184x15`, `fixed184x16`, `fixed184x17`, `fixed184x18`, `fixed184x19`, `fixed184x20`, `fixed184x21`, `fixed184x22`, `fixed184x23`, `fixed184x24`, `fixed184x25`, `fixed184x26`, `fixed184x27`, `fixed184x28`, `fixed184x29`, `fixed184x30`, `fixed184x31`, `fixed184x32`, `fixed184x33`, `fixed184x34`, `fixed184x35`, `fixed184x36`, `fixed184x37`, `fixed184x38`, `fixed184x39`, `fixed184x40`, `fixed184x41`, `fixed184x42`, `fixed184x43`, `fixed184x44`, `fixed184x45`, `fixed184x46`, `fixed184x47`, `fixed184x48`, `fixed184x49`, `fixed184x50`, `fixed184x51`, `fixed184x52`, `fixed184x53`, `fixed184x54`, `fixed184x55`, `fixed184x56`, `fixed184x57`, `fixed184x58`, `fixed184x59`, `fixed184x60`, `fixed184x61`, `fixed184x62`, `fixed184x63`, `fixed184x64`, `fixed184x65`, `fixed184x66`, `fixed184x67`, `fixed184x68`, `fixed184x69`, `fixed184x70`, `fixed184x71`, `fixed184x72`, `fixed192x0`, `fixed192x1`, `fixed192x2`, `fixed192x3`, `fixed192x4`, `fixed192x5`, `fixed192x6`, `fixed192x7`, `fixed192x8`, `fixed192x9`, `fixed192x10`, `fixed192x11`, `fixed192x12`, `fixed192x13`, `fixed192x14`, `fixed192x15`, `fixed192x16`, `fixed192x17`, `fixed192x18`, `fixed192x19`, `fixed192x20`, `fixed192x21`, `fixed192x22`, `fixed192x23`, `fixed192x24`, `fixed192x25`, `fixed192x26`, `fixed192x27`, `fixed192x28`, `fixed192x29`, `fixed192x30`, `fixed192x31`, `fixed192x32`, `fixed192x33`, `fixed192x34`, `fixed192x35`, `fixed192x36`, `fixed192x37`, `fixed192x38`, `fixed192x39`, `fixed192x40`, `fixed192x41`, `fixed192x42`, `fixed192x43`, `fixed192x44`, `fixed192x45`, `fixed192x46`, `fixed192x47`, `fixed192x48`, `fixed192x49`, `fixed192x50`, `fixed192x51`, `fixed192x52`, `fixed192x53`, `fixed192x54`, `fixed192x55`, `fixed192x56`, `fixed192x57`, `fixed192x58`, `fixed192x59`, `fixed192x60`, `fixed192x61`, `fixed192x62`, `fixed192x63`, `fixed192x64`, `fixed200x0`, `fixed200x1`, `fixed200x2`, `fixed200x3`, `fixed200x4`, `fixed200x5`, `fixed200x6`, `fixed200x7`, `fixed200x8`, `fixed200x9`, `fixed200x10`, `fixed200x11`, `fixed200x12`, `fixed200x13`, `fixed200x14`, `fixed200x15`, `fixed200x16`, `fixed200x17`, `fixed200x18`, `fixed200x19`, `fixed200x20`, `fixed200x21`, `fixed200x22`, `fixed200x23`, `fixed200x24`, `fixed200x25`, `fixed200x26`, `fixed200x27`, `fixed200x28`, `fixed200x29`, `fixed200x30`, `fixed200x31`, `fixed200x32`, `fixed200x33`, `fixed200x34`, `fixed200x35`, `fixed200x36`, `fixed200x37`, `fixed200x38`, `fixed200x39`, `fixed200x40`, `fixed200x41`, `fixed200x42`, `fixed200x43`, `fixed200x44`, `fixed200x45`, `fixed200x46`, `fixed200x47`, `fixed200x48`, `fixed200x49`, `fixed200x50`, `fixed200x51`, `fixed200x52`, `fixed200x53`, `fixed200x54`, `fixed200x55`, `fixed200x56`, `fixed208x0`, `fixed208x1`, `fixed208x2`, `fixed208x3`, `fixed208x4`, `fixed208x5`, `fixed208x6`, `fixed208x7`, `fixed208x8`, `fixed208x9`, `fixed208x10`, `fixed208x11`, `fixed208x12`, `fixed208x13`, `fixed208x14`, `fixed208x15`, `fixed208x16`, `fixed208x17`, `fixed208x18`, `fixed208x19`, `fixed208x20`, `fixed208x21`, `fixed208x22`, `fixed208x23`, `fixed208x24`, `fixed208x25`, `fixed208x26`, `fixed208x27`, `fixed208x28`, `fixed208x29`, `fixed208x30`, `fixed208x31`, `fixed208x32`, `fixed208x33`, `fixed208x34`, `fixed208x35`, `fixed208x36`, `fixed208x37`, `fixed208x38`, `fixed208x39`, `fixed208x40`, `fixed208x41`, `fixed208x42`, `fixed208x43`, `fixed208x44`, `fixed208x45`, `fixed208x46`, `fixed208x47`, `fixed208x48`, `fixed216x0`, `fixed216x1`, `fixed216x2`, `fixed216x3`, `fixed216x4`, `fixed216x5`, `fixed216x6`, `fixed216x7`, `fixed216x8`, `fixed216x9`, `fixed216x10`, `fixed216x11`, `fixed216x12`, `fixed216x13`, `fixed216x14`, `fixed216x15`, `fixed216x16`, `fixed216x17`, `fixed216x18`, `fixed216x19`, `fixed216x20`, `fixed216x21`, `fixed216x22`, `fixed216x23`, `fixed216x24`, `fixed216x25`, `fixed216x26`, `fixed216x27`, `fixed216x28`, `fixed216x29`, `fixed216x30`, `fixed216x31`, `fixed216x32`, `fixed216x33`, `fixed216x34`, `fixed216x35`, `fixed216x36`, `fixed216x37`, `fixed216x38`, `fixed216x39`, `fixed216x40`, `fixed224x0`, `fixed224x1`, `fixed224x2`, `fixed224x3`, `fixed224x4`, `fixed224x5`, `fixed224x6`, `fixed224x7`, `fixed224x8`, `fixed224x9`, `fixed224x10`, `fixed224x11`, `fixed224x12`, `fixed224x13`, `fixed224x14`, `fixed224x15`, `fixed224x16`, `fixed224x17`, `fixed224x18`, `fixed224x19`, `fixed224x20`, `fixed224x21`, `fixed224x22`, `fixed224x23`, `fixed224x24`, `fixed224x25`, `fixed224x26`, `fixed224x27`, `fixed224x28`, `fixed224x29`, `fixed224x30`, `fixed224x31`, `fixed224x32`, `fixed232x0`, `fixed232x1`, `fixed232x2`, `fixed232x3`, `fixed232x4`, `fixed232x5`, `fixed232x6`, `fixed232x7`, `fixed232x8`, `fixed232x9`, `fixed232x10`, `fixed232x11`, `fixed232x12`, `fixed232x13`, `fixed232x14`, `fixed232x15`, `fixed232x16`, `fixed232x17`, `fixed232x18`, `fixed232x19`, `fixed232x20`, `fixed232x21`, `fixed232x22`, `fixed232x23`, `fixed232x24`, `fixed240x0`, `fixed240x1`, `fixed240x2`, `fixed240x3`, `fixed240x4`, `fixed240x5`, `fixed240x6`, `fixed240x7`, `fixed240x8`, `fixed240x9`, `fixed240x10`, `fixed240x11`, `fixed240x12`, `fixed240x13`, `fixed240x14`, `fixed240x15`, `fixed240x16`, `fixed248x0`, `fixed248x1`, `fixed248x2`, `fixed248x3`, `fixed248x4`, `fixed248x5`, `fixed248x6`, `fixed248x7`, `fixed248x8`, `fixed256x0`), KeywordType, nil}, - {Words(``, `\b`, `ufixed8x0`, `ufixed8x1`, `ufixed8x2`, `ufixed8x3`, `ufixed8x4`, `ufixed8x5`, `ufixed8x6`, `ufixed8x7`, `ufixed8x8`, `ufixed8x9`, `ufixed8x10`, `ufixed8x11`, `ufixed8x12`, `ufixed8x13`, `ufixed8x14`, `ufixed8x15`, `ufixed8x16`, `ufixed8x17`, `ufixed8x18`, `ufixed8x19`, `ufixed8x20`, `ufixed8x21`, `ufixed8x22`, `ufixed8x23`, `ufixed8x24`, `ufixed8x25`, `ufixed8x26`, `ufixed8x27`, `ufixed8x28`, `ufixed8x29`, `ufixed8x30`, `ufixed8x31`, `ufixed8x32`, `ufixed8x33`, `ufixed8x34`, `ufixed8x35`, `ufixed8x36`, `ufixed8x37`, `ufixed8x38`, `ufixed8x39`, `ufixed8x40`, `ufixed8x41`, `ufixed8x42`, `ufixed8x43`, `ufixed8x44`, `ufixed8x45`, `ufixed8x46`, `ufixed8x47`, `ufixed8x48`, `ufixed8x49`, `ufixed8x50`, `ufixed8x51`, `ufixed8x52`, `ufixed8x53`, `ufixed8x54`, `ufixed8x55`, `ufixed8x56`, `ufixed8x57`, `ufixed8x58`, `ufixed8x59`, `ufixed8x60`, `ufixed8x61`, `ufixed8x62`, `ufixed8x63`, `ufixed8x64`, `ufixed8x65`, `ufixed8x66`, `ufixed8x67`, `ufixed8x68`, `ufixed8x69`, `ufixed8x70`, `ufixed8x71`, `ufixed8x72`, `ufixed8x73`, `ufixed8x74`, `ufixed8x75`, `ufixed8x76`, `ufixed8x77`, `ufixed8x78`, `ufixed8x79`, `ufixed8x80`, `ufixed16x0`, `ufixed16x1`, `ufixed16x2`, `ufixed16x3`, `ufixed16x4`, `ufixed16x5`, `ufixed16x6`, `ufixed16x7`, `ufixed16x8`, `ufixed16x9`, `ufixed16x10`, `ufixed16x11`, `ufixed16x12`, `ufixed16x13`, `ufixed16x14`, `ufixed16x15`, `ufixed16x16`, `ufixed16x17`, `ufixed16x18`, `ufixed16x19`, `ufixed16x20`, `ufixed16x21`, `ufixed16x22`, `ufixed16x23`, `ufixed16x24`, `ufixed16x25`, `ufixed16x26`, `ufixed16x27`, `ufixed16x28`, `ufixed16x29`, `ufixed16x30`, `ufixed16x31`, `ufixed16x32`, `ufixed16x33`, `ufixed16x34`, `ufixed16x35`, `ufixed16x36`, `ufixed16x37`, `ufixed16x38`, `ufixed16x39`, `ufixed16x40`, `ufixed16x41`, `ufixed16x42`, `ufixed16x43`, `ufixed16x44`, `ufixed16x45`, `ufixed16x46`, `ufixed16x47`, `ufixed16x48`, `ufixed16x49`, `ufixed16x50`, `ufixed16x51`, `ufixed16x52`, `ufixed16x53`, `ufixed16x54`, `ufixed16x55`, `ufixed16x56`, `ufixed16x57`, `ufixed16x58`, `ufixed16x59`, `ufixed16x60`, `ufixed16x61`, `ufixed16x62`, `ufixed16x63`, `ufixed16x64`, `ufixed16x65`, `ufixed16x66`, `ufixed16x67`, `ufixed16x68`, `ufixed16x69`, `ufixed16x70`, `ufixed16x71`, `ufixed16x72`, `ufixed16x73`, `ufixed16x74`, `ufixed16x75`, `ufixed16x76`, `ufixed16x77`, `ufixed16x78`, `ufixed16x79`, `ufixed16x80`, `ufixed24x0`, `ufixed24x1`, `ufixed24x2`, `ufixed24x3`, `ufixed24x4`, `ufixed24x5`, `ufixed24x6`, `ufixed24x7`, `ufixed24x8`, `ufixed24x9`, `ufixed24x10`, `ufixed24x11`, `ufixed24x12`, `ufixed24x13`, `ufixed24x14`, `ufixed24x15`, `ufixed24x16`, `ufixed24x17`, `ufixed24x18`, `ufixed24x19`, `ufixed24x20`, `ufixed24x21`, `ufixed24x22`, `ufixed24x23`, `ufixed24x24`, `ufixed24x25`, `ufixed24x26`, `ufixed24x27`, `ufixed24x28`, `ufixed24x29`, `ufixed24x30`, `ufixed24x31`, `ufixed24x32`, `ufixed24x33`, `ufixed24x34`, `ufixed24x35`, `ufixed24x36`, `ufixed24x37`, `ufixed24x38`, `ufixed24x39`, `ufixed24x40`, `ufixed24x41`, `ufixed24x42`, `ufixed24x43`, `ufixed24x44`, `ufixed24x45`, `ufixed24x46`, `ufixed24x47`, `ufixed24x48`, `ufixed24x49`, `ufixed24x50`, `ufixed24x51`, `ufixed24x52`, `ufixed24x53`, `ufixed24x54`, `ufixed24x55`, `ufixed24x56`, `ufixed24x57`, `ufixed24x58`, `ufixed24x59`, `ufixed24x60`, `ufixed24x61`, `ufixed24x62`, `ufixed24x63`, `ufixed24x64`, `ufixed24x65`, `ufixed24x66`, `ufixed24x67`, `ufixed24x68`, `ufixed24x69`, `ufixed24x70`, `ufixed24x71`, `ufixed24x72`, `ufixed24x73`, `ufixed24x74`, `ufixed24x75`, `ufixed24x76`, `ufixed24x77`, `ufixed24x78`, `ufixed24x79`, `ufixed24x80`, `ufixed32x0`, `ufixed32x1`, `ufixed32x2`, `ufixed32x3`, `ufixed32x4`, `ufixed32x5`, `ufixed32x6`, `ufixed32x7`, `ufixed32x8`, `ufixed32x9`, `ufixed32x10`, `ufixed32x11`, `ufixed32x12`, `ufixed32x13`, `ufixed32x14`, `ufixed32x15`, `ufixed32x16`, `ufixed32x17`, `ufixed32x18`, `ufixed32x19`, `ufixed32x20`, `ufixed32x21`, `ufixed32x22`, `ufixed32x23`, `ufixed32x24`, `ufixed32x25`, `ufixed32x26`, `ufixed32x27`, `ufixed32x28`, `ufixed32x29`, `ufixed32x30`, `ufixed32x31`, `ufixed32x32`, `ufixed32x33`, `ufixed32x34`, `ufixed32x35`, `ufixed32x36`, `ufixed32x37`, `ufixed32x38`, `ufixed32x39`, `ufixed32x40`, `ufixed32x41`, `ufixed32x42`, `ufixed32x43`, `ufixed32x44`, `ufixed32x45`, `ufixed32x46`, `ufixed32x47`, `ufixed32x48`, `ufixed32x49`, `ufixed32x50`, `ufixed32x51`, `ufixed32x52`, `ufixed32x53`, `ufixed32x54`, `ufixed32x55`, `ufixed32x56`, `ufixed32x57`, `ufixed32x58`, `ufixed32x59`, `ufixed32x60`, `ufixed32x61`, `ufixed32x62`, `ufixed32x63`, `ufixed32x64`, `ufixed32x65`, `ufixed32x66`, `ufixed32x67`, `ufixed32x68`, `ufixed32x69`, `ufixed32x70`, `ufixed32x71`, `ufixed32x72`, `ufixed32x73`, `ufixed32x74`, `ufixed32x75`, `ufixed32x76`, `ufixed32x77`, `ufixed32x78`, `ufixed32x79`, `ufixed32x80`, `ufixed40x0`, `ufixed40x1`, `ufixed40x2`, `ufixed40x3`, `ufixed40x4`, `ufixed40x5`, `ufixed40x6`, `ufixed40x7`, `ufixed40x8`, `ufixed40x9`, `ufixed40x10`, `ufixed40x11`, `ufixed40x12`, `ufixed40x13`, `ufixed40x14`, `ufixed40x15`, `ufixed40x16`, `ufixed40x17`, `ufixed40x18`, `ufixed40x19`, `ufixed40x20`, `ufixed40x21`, `ufixed40x22`, `ufixed40x23`, `ufixed40x24`, `ufixed40x25`, `ufixed40x26`, `ufixed40x27`, `ufixed40x28`, `ufixed40x29`, `ufixed40x30`, `ufixed40x31`, `ufixed40x32`, `ufixed40x33`, `ufixed40x34`, `ufixed40x35`, `ufixed40x36`, `ufixed40x37`, `ufixed40x38`, `ufixed40x39`, `ufixed40x40`, `ufixed40x41`, `ufixed40x42`, `ufixed40x43`, `ufixed40x44`, `ufixed40x45`, `ufixed40x46`, `ufixed40x47`, `ufixed40x48`, `ufixed40x49`, `ufixed40x50`, `ufixed40x51`, `ufixed40x52`, `ufixed40x53`, `ufixed40x54`, `ufixed40x55`, `ufixed40x56`, `ufixed40x57`, `ufixed40x58`, `ufixed40x59`, `ufixed40x60`, `ufixed40x61`, `ufixed40x62`, `ufixed40x63`, `ufixed40x64`, `ufixed40x65`, `ufixed40x66`, `ufixed40x67`, `ufixed40x68`, `ufixed40x69`, `ufixed40x70`, `ufixed40x71`, `ufixed40x72`, `ufixed40x73`, `ufixed40x74`, `ufixed40x75`, `ufixed40x76`, `ufixed40x77`, `ufixed40x78`, `ufixed40x79`, `ufixed40x80`, `ufixed48x0`, `ufixed48x1`, `ufixed48x2`, `ufixed48x3`, `ufixed48x4`, `ufixed48x5`, `ufixed48x6`, `ufixed48x7`, `ufixed48x8`, `ufixed48x9`, `ufixed48x10`, `ufixed48x11`, `ufixed48x12`, `ufixed48x13`, `ufixed48x14`, `ufixed48x15`, `ufixed48x16`, `ufixed48x17`, `ufixed48x18`, `ufixed48x19`, `ufixed48x20`, `ufixed48x21`, `ufixed48x22`, `ufixed48x23`, `ufixed48x24`, `ufixed48x25`, `ufixed48x26`, `ufixed48x27`, `ufixed48x28`, `ufixed48x29`, `ufixed48x30`, `ufixed48x31`, `ufixed48x32`, `ufixed48x33`, `ufixed48x34`, `ufixed48x35`, `ufixed48x36`, `ufixed48x37`, `ufixed48x38`, `ufixed48x39`, `ufixed48x40`, `ufixed48x41`, `ufixed48x42`, `ufixed48x43`, `ufixed48x44`, `ufixed48x45`, `ufixed48x46`, `ufixed48x47`, `ufixed48x48`, `ufixed48x49`, `ufixed48x50`, `ufixed48x51`, `ufixed48x52`, `ufixed48x53`, `ufixed48x54`, `ufixed48x55`, `ufixed48x56`, `ufixed48x57`, `ufixed48x58`, `ufixed48x59`, `ufixed48x60`, `ufixed48x61`, `ufixed48x62`, `ufixed48x63`, `ufixed48x64`, `ufixed48x65`, `ufixed48x66`, `ufixed48x67`, `ufixed48x68`, `ufixed48x69`, `ufixed48x70`, `ufixed48x71`, `ufixed48x72`, `ufixed48x73`, `ufixed48x74`, `ufixed48x75`, `ufixed48x76`, `ufixed48x77`, `ufixed48x78`, `ufixed48x79`, `ufixed48x80`, `ufixed56x0`, `ufixed56x1`, `ufixed56x2`, `ufixed56x3`, `ufixed56x4`, `ufixed56x5`, `ufixed56x6`, `ufixed56x7`, `ufixed56x8`, `ufixed56x9`, `ufixed56x10`, `ufixed56x11`, `ufixed56x12`, `ufixed56x13`, `ufixed56x14`, `ufixed56x15`, `ufixed56x16`, `ufixed56x17`, `ufixed56x18`, `ufixed56x19`, `ufixed56x20`, `ufixed56x21`, `ufixed56x22`, `ufixed56x23`, `ufixed56x24`, `ufixed56x25`, `ufixed56x26`, `ufixed56x27`, `ufixed56x28`, `ufixed56x29`, `ufixed56x30`, `ufixed56x31`, `ufixed56x32`, `ufixed56x33`, `ufixed56x34`, `ufixed56x35`, `ufixed56x36`, `ufixed56x37`, `ufixed56x38`, `ufixed56x39`, `ufixed56x40`, `ufixed56x41`, `ufixed56x42`, `ufixed56x43`, `ufixed56x44`, `ufixed56x45`, `ufixed56x46`, `ufixed56x47`, `ufixed56x48`, `ufixed56x49`, `ufixed56x50`, `ufixed56x51`, `ufixed56x52`, `ufixed56x53`, `ufixed56x54`, `ufixed56x55`, `ufixed56x56`, `ufixed56x57`, `ufixed56x58`, `ufixed56x59`, `ufixed56x60`, `ufixed56x61`, `ufixed56x62`, `ufixed56x63`, `ufixed56x64`, `ufixed56x65`, `ufixed56x66`, `ufixed56x67`, `ufixed56x68`, `ufixed56x69`, `ufixed56x70`, `ufixed56x71`, `ufixed56x72`, `ufixed56x73`, `ufixed56x74`, `ufixed56x75`, `ufixed56x76`, `ufixed56x77`, `ufixed56x78`, `ufixed56x79`, `ufixed56x80`, `ufixed64x0`, `ufixed64x1`, `ufixed64x2`, `ufixed64x3`, `ufixed64x4`, `ufixed64x5`, `ufixed64x6`, `ufixed64x7`, `ufixed64x8`, `ufixed64x9`, `ufixed64x10`, `ufixed64x11`, `ufixed64x12`, `ufixed64x13`, `ufixed64x14`, `ufixed64x15`, `ufixed64x16`, `ufixed64x17`, `ufixed64x18`, `ufixed64x19`, `ufixed64x20`, `ufixed64x21`, `ufixed64x22`, `ufixed64x23`, `ufixed64x24`, `ufixed64x25`, `ufixed64x26`, `ufixed64x27`, `ufixed64x28`, `ufixed64x29`, `ufixed64x30`, `ufixed64x31`, `ufixed64x32`, `ufixed64x33`, `ufixed64x34`, `ufixed64x35`, `ufixed64x36`, `ufixed64x37`, `ufixed64x38`, `ufixed64x39`, `ufixed64x40`, `ufixed64x41`, `ufixed64x42`, `ufixed64x43`, `ufixed64x44`, `ufixed64x45`, `ufixed64x46`, `ufixed64x47`, `ufixed64x48`, `ufixed64x49`, `ufixed64x50`, `ufixed64x51`, `ufixed64x52`, `ufixed64x53`, `ufixed64x54`, `ufixed64x55`, `ufixed64x56`, `ufixed64x57`, `ufixed64x58`, `ufixed64x59`, `ufixed64x60`, `ufixed64x61`, `ufixed64x62`, `ufixed64x63`, `ufixed64x64`, `ufixed64x65`, `ufixed64x66`, `ufixed64x67`, `ufixed64x68`, `ufixed64x69`, `ufixed64x70`, `ufixed64x71`, `ufixed64x72`, `ufixed64x73`, `ufixed64x74`, `ufixed64x75`, `ufixed64x76`, `ufixed64x77`, `ufixed64x78`, `ufixed64x79`, `ufixed64x80`, `ufixed72x0`, `ufixed72x1`, `ufixed72x2`, `ufixed72x3`, `ufixed72x4`, `ufixed72x5`, `ufixed72x6`, `ufixed72x7`, `ufixed72x8`, `ufixed72x9`, `ufixed72x10`, `ufixed72x11`, `ufixed72x12`, `ufixed72x13`, `ufixed72x14`, `ufixed72x15`, `ufixed72x16`, `ufixed72x17`, `ufixed72x18`, `ufixed72x19`, `ufixed72x20`, `ufixed72x21`, `ufixed72x22`, `ufixed72x23`, `ufixed72x24`, `ufixed72x25`, `ufixed72x26`, `ufixed72x27`, `ufixed72x28`, `ufixed72x29`, `ufixed72x30`, `ufixed72x31`, `ufixed72x32`, `ufixed72x33`, `ufixed72x34`, `ufixed72x35`, `ufixed72x36`, `ufixed72x37`, `ufixed72x38`, `ufixed72x39`, `ufixed72x40`, `ufixed72x41`, `ufixed72x42`, `ufixed72x43`, `ufixed72x44`, `ufixed72x45`, `ufixed72x46`, `ufixed72x47`, `ufixed72x48`, `ufixed72x49`, `ufixed72x50`, `ufixed72x51`, `ufixed72x52`, `ufixed72x53`, `ufixed72x54`, `ufixed72x55`, `ufixed72x56`, `ufixed72x57`, `ufixed72x58`, `ufixed72x59`, `ufixed72x60`, `ufixed72x61`, `ufixed72x62`, `ufixed72x63`, `ufixed72x64`, `ufixed72x65`, `ufixed72x66`, `ufixed72x67`, `ufixed72x68`, `ufixed72x69`, `ufixed72x70`, `ufixed72x71`, `ufixed72x72`, `ufixed72x73`, `ufixed72x74`, `ufixed72x75`, `ufixed72x76`, `ufixed72x77`, `ufixed72x78`, `ufixed72x79`, `ufixed72x80`, `ufixed80x0`, `ufixed80x1`, `ufixed80x2`, `ufixed80x3`, `ufixed80x4`, `ufixed80x5`, `ufixed80x6`, `ufixed80x7`, `ufixed80x8`, `ufixed80x9`, `ufixed80x10`, `ufixed80x11`, `ufixed80x12`, `ufixed80x13`, `ufixed80x14`, `ufixed80x15`, `ufixed80x16`, `ufixed80x17`, `ufixed80x18`, `ufixed80x19`, `ufixed80x20`, `ufixed80x21`, `ufixed80x22`, `ufixed80x23`, `ufixed80x24`, `ufixed80x25`, `ufixed80x26`, `ufixed80x27`, `ufixed80x28`, `ufixed80x29`, `ufixed80x30`, `ufixed80x31`, `ufixed80x32`, `ufixed80x33`, `ufixed80x34`, `ufixed80x35`, `ufixed80x36`, `ufixed80x37`, `ufixed80x38`, `ufixed80x39`, `ufixed80x40`, `ufixed80x41`, `ufixed80x42`, `ufixed80x43`, `ufixed80x44`, `ufixed80x45`, `ufixed80x46`, `ufixed80x47`, `ufixed80x48`, `ufixed80x49`, `ufixed80x50`, `ufixed80x51`, `ufixed80x52`, `ufixed80x53`, `ufixed80x54`, `ufixed80x55`, `ufixed80x56`, `ufixed80x57`, `ufixed80x58`, `ufixed80x59`, `ufixed80x60`, `ufixed80x61`, `ufixed80x62`, `ufixed80x63`, `ufixed80x64`, `ufixed80x65`, `ufixed80x66`, `ufixed80x67`, `ufixed80x68`, `ufixed80x69`, `ufixed80x70`, `ufixed80x71`, `ufixed80x72`, `ufixed80x73`, `ufixed80x74`, `ufixed80x75`, `ufixed80x76`, `ufixed80x77`, `ufixed80x78`, `ufixed80x79`, `ufixed80x80`, `ufixed88x0`, `ufixed88x1`, `ufixed88x2`, `ufixed88x3`, `ufixed88x4`, `ufixed88x5`, `ufixed88x6`, `ufixed88x7`, `ufixed88x8`, `ufixed88x9`, `ufixed88x10`, `ufixed88x11`, `ufixed88x12`, `ufixed88x13`, `ufixed88x14`, `ufixed88x15`, `ufixed88x16`, `ufixed88x17`, `ufixed88x18`, `ufixed88x19`, `ufixed88x20`, `ufixed88x21`, `ufixed88x22`, `ufixed88x23`, `ufixed88x24`, `ufixed88x25`, `ufixed88x26`, `ufixed88x27`, `ufixed88x28`, `ufixed88x29`, `ufixed88x30`, `ufixed88x31`, `ufixed88x32`, `ufixed88x33`, `ufixed88x34`, `ufixed88x35`, `ufixed88x36`, `ufixed88x37`, `ufixed88x38`, `ufixed88x39`, `ufixed88x40`, `ufixed88x41`, `ufixed88x42`, `ufixed88x43`, `ufixed88x44`, `ufixed88x45`, `ufixed88x46`, `ufixed88x47`, `ufixed88x48`, `ufixed88x49`, `ufixed88x50`, `ufixed88x51`, `ufixed88x52`, `ufixed88x53`, `ufixed88x54`, `ufixed88x55`, `ufixed88x56`, `ufixed88x57`, `ufixed88x58`, `ufixed88x59`, `ufixed88x60`, `ufixed88x61`, `ufixed88x62`, `ufixed88x63`, `ufixed88x64`, `ufixed88x65`, `ufixed88x66`, `ufixed88x67`, `ufixed88x68`, `ufixed88x69`, `ufixed88x70`, `ufixed88x71`, `ufixed88x72`, `ufixed88x73`, `ufixed88x74`, `ufixed88x75`, `ufixed88x76`, `ufixed88x77`, `ufixed88x78`, `ufixed88x79`, `ufixed88x80`, `ufixed96x0`, `ufixed96x1`, `ufixed96x2`, `ufixed96x3`, `ufixed96x4`, `ufixed96x5`, `ufixed96x6`, `ufixed96x7`, `ufixed96x8`, `ufixed96x9`, `ufixed96x10`, `ufixed96x11`, `ufixed96x12`, `ufixed96x13`, `ufixed96x14`, `ufixed96x15`, `ufixed96x16`, `ufixed96x17`, `ufixed96x18`, `ufixed96x19`, `ufixed96x20`, `ufixed96x21`, `ufixed96x22`, `ufixed96x23`, `ufixed96x24`, `ufixed96x25`, `ufixed96x26`, `ufixed96x27`, `ufixed96x28`, `ufixed96x29`, `ufixed96x30`, `ufixed96x31`, `ufixed96x32`, `ufixed96x33`, `ufixed96x34`, `ufixed96x35`, `ufixed96x36`, `ufixed96x37`, `ufixed96x38`, `ufixed96x39`, `ufixed96x40`, `ufixed96x41`, `ufixed96x42`, `ufixed96x43`, `ufixed96x44`, `ufixed96x45`, `ufixed96x46`, `ufixed96x47`, `ufixed96x48`, `ufixed96x49`, `ufixed96x50`, `ufixed96x51`, `ufixed96x52`, `ufixed96x53`, `ufixed96x54`, `ufixed96x55`, `ufixed96x56`, `ufixed96x57`, `ufixed96x58`, `ufixed96x59`, `ufixed96x60`, `ufixed96x61`, `ufixed96x62`, `ufixed96x63`, `ufixed96x64`, `ufixed96x65`, `ufixed96x66`, `ufixed96x67`, `ufixed96x68`, `ufixed96x69`, `ufixed96x70`, `ufixed96x71`, `ufixed96x72`, `ufixed96x73`, `ufixed96x74`, `ufixed96x75`, `ufixed96x76`, `ufixed96x77`, `ufixed96x78`, `ufixed96x79`, `ufixed96x80`, `ufixed104x0`, `ufixed104x1`, `ufixed104x2`, `ufixed104x3`, `ufixed104x4`, `ufixed104x5`, `ufixed104x6`, `ufixed104x7`, `ufixed104x8`, `ufixed104x9`, `ufixed104x10`, `ufixed104x11`, `ufixed104x12`, `ufixed104x13`, `ufixed104x14`, `ufixed104x15`, `ufixed104x16`, `ufixed104x17`, `ufixed104x18`, `ufixed104x19`, `ufixed104x20`, `ufixed104x21`, `ufixed104x22`, `ufixed104x23`, `ufixed104x24`, `ufixed104x25`, `ufixed104x26`, `ufixed104x27`, `ufixed104x28`, `ufixed104x29`, `ufixed104x30`, `ufixed104x31`, `ufixed104x32`, `ufixed104x33`, `ufixed104x34`, `ufixed104x35`, `ufixed104x36`, `ufixed104x37`, `ufixed104x38`, `ufixed104x39`, `ufixed104x40`, `ufixed104x41`, `ufixed104x42`, `ufixed104x43`, `ufixed104x44`, `ufixed104x45`, `ufixed104x46`, `ufixed104x47`, `ufixed104x48`, `ufixed104x49`, `ufixed104x50`, `ufixed104x51`, `ufixed104x52`, `ufixed104x53`, `ufixed104x54`, `ufixed104x55`, `ufixed104x56`, `ufixed104x57`, `ufixed104x58`, `ufixed104x59`, `ufixed104x60`, `ufixed104x61`, `ufixed104x62`, `ufixed104x63`, `ufixed104x64`, `ufixed104x65`, `ufixed104x66`, `ufixed104x67`, `ufixed104x68`, `ufixed104x69`, `ufixed104x70`, `ufixed104x71`, `ufixed104x72`, `ufixed104x73`, `ufixed104x74`, `ufixed104x75`, `ufixed104x76`, `ufixed104x77`, `ufixed104x78`, `ufixed104x79`, `ufixed104x80`, `ufixed112x0`, `ufixed112x1`, `ufixed112x2`, `ufixed112x3`, `ufixed112x4`, `ufixed112x5`, `ufixed112x6`, `ufixed112x7`, `ufixed112x8`, `ufixed112x9`, `ufixed112x10`, `ufixed112x11`, `ufixed112x12`, `ufixed112x13`, `ufixed112x14`, `ufixed112x15`, `ufixed112x16`, `ufixed112x17`, `ufixed112x18`, `ufixed112x19`, `ufixed112x20`, `ufixed112x21`, `ufixed112x22`, `ufixed112x23`, `ufixed112x24`, `ufixed112x25`, `ufixed112x26`, `ufixed112x27`, `ufixed112x28`, `ufixed112x29`, `ufixed112x30`, `ufixed112x31`, `ufixed112x32`, `ufixed112x33`, `ufixed112x34`, `ufixed112x35`, `ufixed112x36`, `ufixed112x37`, `ufixed112x38`, `ufixed112x39`, `ufixed112x40`, `ufixed112x41`, `ufixed112x42`, `ufixed112x43`, `ufixed112x44`, `ufixed112x45`, `ufixed112x46`, `ufixed112x47`, `ufixed112x48`, `ufixed112x49`, `ufixed112x50`, `ufixed112x51`, `ufixed112x52`, `ufixed112x53`, `ufixed112x54`, `ufixed112x55`, `ufixed112x56`, `ufixed112x57`, `ufixed112x58`, `ufixed112x59`, `ufixed112x60`, `ufixed112x61`, `ufixed112x62`, `ufixed112x63`, `ufixed112x64`, `ufixed112x65`, `ufixed112x66`, `ufixed112x67`, `ufixed112x68`, `ufixed112x69`, `ufixed112x70`, `ufixed112x71`, `ufixed112x72`, `ufixed112x73`, `ufixed112x74`, `ufixed112x75`, `ufixed112x76`, `ufixed112x77`, `ufixed112x78`, `ufixed112x79`, `ufixed112x80`, `ufixed120x0`, `ufixed120x1`, `ufixed120x2`, `ufixed120x3`, `ufixed120x4`, `ufixed120x5`, `ufixed120x6`, `ufixed120x7`, `ufixed120x8`, `ufixed120x9`, `ufixed120x10`, `ufixed120x11`, `ufixed120x12`, `ufixed120x13`, `ufixed120x14`, `ufixed120x15`, `ufixed120x16`, `ufixed120x17`, `ufixed120x18`, `ufixed120x19`, `ufixed120x20`, `ufixed120x21`, `ufixed120x22`, `ufixed120x23`, `ufixed120x24`, `ufixed120x25`, `ufixed120x26`, `ufixed120x27`, `ufixed120x28`, `ufixed120x29`, `ufixed120x30`, `ufixed120x31`, `ufixed120x32`, `ufixed120x33`, `ufixed120x34`, `ufixed120x35`, `ufixed120x36`, `ufixed120x37`, `ufixed120x38`, `ufixed120x39`, `ufixed120x40`, `ufixed120x41`, `ufixed120x42`, `ufixed120x43`, `ufixed120x44`, `ufixed120x45`, `ufixed120x46`, `ufixed120x47`, `ufixed120x48`, `ufixed120x49`, `ufixed120x50`, `ufixed120x51`, `ufixed120x52`, `ufixed120x53`, `ufixed120x54`, `ufixed120x55`, `ufixed120x56`, `ufixed120x57`, `ufixed120x58`, `ufixed120x59`, `ufixed120x60`, `ufixed120x61`, `ufixed120x62`, `ufixed120x63`, `ufixed120x64`, `ufixed120x65`, `ufixed120x66`, `ufixed120x67`, `ufixed120x68`, `ufixed120x69`, `ufixed120x70`, `ufixed120x71`, `ufixed120x72`, `ufixed120x73`, `ufixed120x74`, `ufixed120x75`, `ufixed120x76`, `ufixed120x77`, `ufixed120x78`, `ufixed120x79`, `ufixed120x80`, `ufixed128x0`, `ufixed128x1`, `ufixed128x2`, `ufixed128x3`, `ufixed128x4`, `ufixed128x5`, `ufixed128x6`, `ufixed128x7`, `ufixed128x8`, `ufixed128x9`, `ufixed128x10`, `ufixed128x11`, `ufixed128x12`, `ufixed128x13`, `ufixed128x14`, `ufixed128x15`, `ufixed128x16`, `ufixed128x17`, `ufixed128x18`, `ufixed128x19`, `ufixed128x20`, `ufixed128x21`, `ufixed128x22`, `ufixed128x23`, `ufixed128x24`, `ufixed128x25`, `ufixed128x26`, `ufixed128x27`, `ufixed128x28`, `ufixed128x29`, `ufixed128x30`, `ufixed128x31`, `ufixed128x32`, `ufixed128x33`, `ufixed128x34`, `ufixed128x35`, `ufixed128x36`, `ufixed128x37`, `ufixed128x38`, `ufixed128x39`, `ufixed128x40`, `ufixed128x41`, `ufixed128x42`, `ufixed128x43`, `ufixed128x44`, `ufixed128x45`, `ufixed128x46`, `ufixed128x47`, `ufixed128x48`, `ufixed128x49`, `ufixed128x50`, `ufixed128x51`, `ufixed128x52`, `ufixed128x53`, `ufixed128x54`, `ufixed128x55`, `ufixed128x56`, `ufixed128x57`, `ufixed128x58`, `ufixed128x59`, `ufixed128x60`, `ufixed128x61`, `ufixed128x62`, `ufixed128x63`, `ufixed128x64`, `ufixed128x65`, `ufixed128x66`, `ufixed128x67`, `ufixed128x68`, `ufixed128x69`, `ufixed128x70`, `ufixed128x71`, `ufixed128x72`, `ufixed128x73`, `ufixed128x74`, `ufixed128x75`, `ufixed128x76`, `ufixed128x77`, `ufixed128x78`, `ufixed128x79`, `ufixed128x80`, `ufixed136x0`, `ufixed136x1`, `ufixed136x2`, `ufixed136x3`, `ufixed136x4`, `ufixed136x5`, `ufixed136x6`, `ufixed136x7`, `ufixed136x8`, `ufixed136x9`, `ufixed136x10`, `ufixed136x11`, `ufixed136x12`, `ufixed136x13`, `ufixed136x14`, `ufixed136x15`, `ufixed136x16`, `ufixed136x17`, `ufixed136x18`, `ufixed136x19`, `ufixed136x20`, `ufixed136x21`, `ufixed136x22`, `ufixed136x23`, `ufixed136x24`, `ufixed136x25`, `ufixed136x26`, `ufixed136x27`, `ufixed136x28`, `ufixed136x29`, `ufixed136x30`, `ufixed136x31`, `ufixed136x32`, `ufixed136x33`, `ufixed136x34`, `ufixed136x35`, `ufixed136x36`, `ufixed136x37`, `ufixed136x38`, `ufixed136x39`, `ufixed136x40`, `ufixed136x41`, `ufixed136x42`, `ufixed136x43`, `ufixed136x44`, `ufixed136x45`, `ufixed136x46`, `ufixed136x47`, `ufixed136x48`, `ufixed136x49`, `ufixed136x50`, `ufixed136x51`, `ufixed136x52`, `ufixed136x53`, `ufixed136x54`, `ufixed136x55`, `ufixed136x56`, `ufixed136x57`, `ufixed136x58`, `ufixed136x59`, `ufixed136x60`, `ufixed136x61`, `ufixed136x62`, `ufixed136x63`, `ufixed136x64`, `ufixed136x65`, `ufixed136x66`, `ufixed136x67`, `ufixed136x68`, `ufixed136x69`, `ufixed136x70`, `ufixed136x71`, `ufixed136x72`, `ufixed136x73`, `ufixed136x74`, `ufixed136x75`, `ufixed136x76`, `ufixed136x77`, `ufixed136x78`, `ufixed136x79`, `ufixed136x80`, `ufixed144x0`, `ufixed144x1`, `ufixed144x2`, `ufixed144x3`, `ufixed144x4`, `ufixed144x5`, `ufixed144x6`, `ufixed144x7`, `ufixed144x8`, `ufixed144x9`, `ufixed144x10`, `ufixed144x11`, `ufixed144x12`, `ufixed144x13`, `ufixed144x14`, `ufixed144x15`, `ufixed144x16`, `ufixed144x17`, `ufixed144x18`, `ufixed144x19`, `ufixed144x20`, `ufixed144x21`, `ufixed144x22`, `ufixed144x23`, `ufixed144x24`, `ufixed144x25`, `ufixed144x26`, `ufixed144x27`, `ufixed144x28`, `ufixed144x29`, `ufixed144x30`, `ufixed144x31`, `ufixed144x32`, `ufixed144x33`, `ufixed144x34`, `ufixed144x35`, `ufixed144x36`, `ufixed144x37`, `ufixed144x38`, `ufixed144x39`, `ufixed144x40`, `ufixed144x41`, `ufixed144x42`, `ufixed144x43`, `ufixed144x44`, `ufixed144x45`, `ufixed144x46`, `ufixed144x47`, `ufixed144x48`, `ufixed144x49`, `ufixed144x50`, `ufixed144x51`, `ufixed144x52`, `ufixed144x53`, `ufixed144x54`, `ufixed144x55`, `ufixed144x56`, `ufixed144x57`, `ufixed144x58`, `ufixed144x59`, `ufixed144x60`, `ufixed144x61`, `ufixed144x62`, `ufixed144x63`, `ufixed144x64`, `ufixed144x65`, `ufixed144x66`, `ufixed144x67`, `ufixed144x68`, `ufixed144x69`, `ufixed144x70`, `ufixed144x71`, `ufixed144x72`, `ufixed144x73`, `ufixed144x74`, `ufixed144x75`, `ufixed144x76`, `ufixed144x77`, `ufixed144x78`, `ufixed144x79`, `ufixed144x80`, `ufixed152x0`, `ufixed152x1`, `ufixed152x2`, `ufixed152x3`, `ufixed152x4`, `ufixed152x5`, `ufixed152x6`, `ufixed152x7`, `ufixed152x8`, `ufixed152x9`, `ufixed152x10`, `ufixed152x11`, `ufixed152x12`, `ufixed152x13`, `ufixed152x14`, `ufixed152x15`, `ufixed152x16`, `ufixed152x17`, `ufixed152x18`, `ufixed152x19`, `ufixed152x20`, `ufixed152x21`, `ufixed152x22`, `ufixed152x23`, `ufixed152x24`, `ufixed152x25`, `ufixed152x26`, `ufixed152x27`, `ufixed152x28`, `ufixed152x29`, `ufixed152x30`, `ufixed152x31`, `ufixed152x32`, `ufixed152x33`, `ufixed152x34`, `ufixed152x35`, `ufixed152x36`, `ufixed152x37`, `ufixed152x38`, `ufixed152x39`, `ufixed152x40`, `ufixed152x41`, `ufixed152x42`, `ufixed152x43`, `ufixed152x44`, `ufixed152x45`, `ufixed152x46`, `ufixed152x47`, `ufixed152x48`, `ufixed152x49`, `ufixed152x50`, `ufixed152x51`, `ufixed152x52`, `ufixed152x53`, `ufixed152x54`, `ufixed152x55`, `ufixed152x56`, `ufixed152x57`, `ufixed152x58`, `ufixed152x59`, `ufixed152x60`, `ufixed152x61`, `ufixed152x62`, `ufixed152x63`, `ufixed152x64`, `ufixed152x65`, `ufixed152x66`, `ufixed152x67`, `ufixed152x68`, `ufixed152x69`, `ufixed152x70`, `ufixed152x71`, `ufixed152x72`, `ufixed152x73`, `ufixed152x74`, `ufixed152x75`, `ufixed152x76`, `ufixed152x77`, `ufixed152x78`, `ufixed152x79`, `ufixed152x80`, `ufixed160x0`, `ufixed160x1`, `ufixed160x2`, `ufixed160x3`, `ufixed160x4`, `ufixed160x5`, `ufixed160x6`, `ufixed160x7`, `ufixed160x8`, `ufixed160x9`, `ufixed160x10`, `ufixed160x11`, `ufixed160x12`, `ufixed160x13`, `ufixed160x14`, `ufixed160x15`, `ufixed160x16`, `ufixed160x17`, `ufixed160x18`, `ufixed160x19`, `ufixed160x20`, `ufixed160x21`, `ufixed160x22`, `ufixed160x23`, `ufixed160x24`, `ufixed160x25`, `ufixed160x26`, `ufixed160x27`, `ufixed160x28`, `ufixed160x29`, `ufixed160x30`, `ufixed160x31`, `ufixed160x32`, `ufixed160x33`, `ufixed160x34`, `ufixed160x35`, `ufixed160x36`, `ufixed160x37`, `ufixed160x38`, `ufixed160x39`, `ufixed160x40`, `ufixed160x41`, `ufixed160x42`, `ufixed160x43`, `ufixed160x44`, `ufixed160x45`, `ufixed160x46`, `ufixed160x47`, `ufixed160x48`, `ufixed160x49`, `ufixed160x50`, `ufixed160x51`, `ufixed160x52`, `ufixed160x53`, `ufixed160x54`, `ufixed160x55`, `ufixed160x56`, `ufixed160x57`, `ufixed160x58`, `ufixed160x59`, `ufixed160x60`, `ufixed160x61`, `ufixed160x62`, `ufixed160x63`, `ufixed160x64`, `ufixed160x65`, `ufixed160x66`, `ufixed160x67`, `ufixed160x68`, `ufixed160x69`, `ufixed160x70`, `ufixed160x71`, `ufixed160x72`, `ufixed160x73`, `ufixed160x74`, `ufixed160x75`, `ufixed160x76`, `ufixed160x77`, `ufixed160x78`, `ufixed160x79`, `ufixed160x80`, `ufixed168x0`, `ufixed168x1`, `ufixed168x2`, `ufixed168x3`, `ufixed168x4`, `ufixed168x5`, `ufixed168x6`, `ufixed168x7`, `ufixed168x8`, `ufixed168x9`, `ufixed168x10`, `ufixed168x11`, `ufixed168x12`, `ufixed168x13`, `ufixed168x14`, `ufixed168x15`, `ufixed168x16`, `ufixed168x17`, `ufixed168x18`, `ufixed168x19`, `ufixed168x20`, `ufixed168x21`, `ufixed168x22`, `ufixed168x23`, `ufixed168x24`, `ufixed168x25`, `ufixed168x26`, `ufixed168x27`, `ufixed168x28`, `ufixed168x29`, `ufixed168x30`, `ufixed168x31`, `ufixed168x32`, `ufixed168x33`, `ufixed168x34`, `ufixed168x35`, `ufixed168x36`, `ufixed168x37`, `ufixed168x38`, `ufixed168x39`, `ufixed168x40`, `ufixed168x41`, `ufixed168x42`, `ufixed168x43`, `ufixed168x44`, `ufixed168x45`, `ufixed168x46`, `ufixed168x47`, `ufixed168x48`, `ufixed168x49`, `ufixed168x50`, `ufixed168x51`, `ufixed168x52`, `ufixed168x53`, `ufixed168x54`, `ufixed168x55`, `ufixed168x56`, `ufixed168x57`, `ufixed168x58`, `ufixed168x59`, `ufixed168x60`, `ufixed168x61`, `ufixed168x62`, `ufixed168x63`, `ufixed168x64`, `ufixed168x65`, `ufixed168x66`, `ufixed168x67`, `ufixed168x68`, `ufixed168x69`, `ufixed168x70`, `ufixed168x71`, `ufixed168x72`, `ufixed168x73`, `ufixed168x74`, `ufixed168x75`, `ufixed168x76`, `ufixed168x77`, `ufixed168x78`, `ufixed168x79`, `ufixed168x80`, `ufixed176x0`, `ufixed176x1`, `ufixed176x2`, `ufixed176x3`, `ufixed176x4`, `ufixed176x5`, `ufixed176x6`, `ufixed176x7`, `ufixed176x8`, `ufixed176x9`, `ufixed176x10`, `ufixed176x11`, `ufixed176x12`, `ufixed176x13`, `ufixed176x14`, `ufixed176x15`, `ufixed176x16`, `ufixed176x17`, `ufixed176x18`, `ufixed176x19`, `ufixed176x20`, `ufixed176x21`, `ufixed176x22`, `ufixed176x23`, `ufixed176x24`, `ufixed176x25`, `ufixed176x26`, `ufixed176x27`, `ufixed176x28`, `ufixed176x29`, `ufixed176x30`, `ufixed176x31`, `ufixed176x32`, `ufixed176x33`, `ufixed176x34`, `ufixed176x35`, `ufixed176x36`, `ufixed176x37`, `ufixed176x38`, `ufixed176x39`, `ufixed176x40`, `ufixed176x41`, `ufixed176x42`, `ufixed176x43`, `ufixed176x44`, `ufixed176x45`, `ufixed176x46`, `ufixed176x47`, `ufixed176x48`, `ufixed176x49`, `ufixed176x50`, `ufixed176x51`, `ufixed176x52`, `ufixed176x53`, `ufixed176x54`, `ufixed176x55`, `ufixed176x56`, `ufixed176x57`, `ufixed176x58`, `ufixed176x59`, `ufixed176x60`, `ufixed176x61`, `ufixed176x62`, `ufixed176x63`, `ufixed176x64`, `ufixed176x65`, `ufixed176x66`, `ufixed176x67`, `ufixed176x68`, `ufixed176x69`, `ufixed176x70`, `ufixed176x71`, `ufixed176x72`, `ufixed176x73`, `ufixed176x74`, `ufixed176x75`, `ufixed176x76`, `ufixed176x77`, `ufixed176x78`, `ufixed176x79`, `ufixed176x80`, `ufixed184x0`, `ufixed184x1`, `ufixed184x2`, `ufixed184x3`, `ufixed184x4`, `ufixed184x5`, `ufixed184x6`, `ufixed184x7`, `ufixed184x8`, `ufixed184x9`, `ufixed184x10`, `ufixed184x11`, `ufixed184x12`, `ufixed184x13`, `ufixed184x14`, `ufixed184x15`, `ufixed184x16`, `ufixed184x17`, `ufixed184x18`, `ufixed184x19`, `ufixed184x20`, `ufixed184x21`, `ufixed184x22`, `ufixed184x23`, `ufixed184x24`, `ufixed184x25`, `ufixed184x26`, `ufixed184x27`, `ufixed184x28`, `ufixed184x29`, `ufixed184x30`, `ufixed184x31`, `ufixed184x32`, `ufixed184x33`, `ufixed184x34`, `ufixed184x35`, `ufixed184x36`, `ufixed184x37`, `ufixed184x38`, `ufixed184x39`, `ufixed184x40`, `ufixed184x41`, `ufixed184x42`, `ufixed184x43`, `ufixed184x44`, `ufixed184x45`, `ufixed184x46`, `ufixed184x47`, `ufixed184x48`, `ufixed184x49`, `ufixed184x50`, `ufixed184x51`, `ufixed184x52`, `ufixed184x53`, `ufixed184x54`, `ufixed184x55`, `ufixed184x56`, `ufixed184x57`, `ufixed184x58`, `ufixed184x59`, `ufixed184x60`, `ufixed184x61`, `ufixed184x62`, `ufixed184x63`, `ufixed184x64`, `ufixed184x65`, `ufixed184x66`, `ufixed184x67`, `ufixed184x68`, `ufixed184x69`, `ufixed184x70`, `ufixed184x71`, `ufixed184x72`, `ufixed192x0`, `ufixed192x1`, `ufixed192x2`, `ufixed192x3`, `ufixed192x4`, `ufixed192x5`, `ufixed192x6`, `ufixed192x7`, `ufixed192x8`, `ufixed192x9`, `ufixed192x10`, `ufixed192x11`, `ufixed192x12`, `ufixed192x13`, `ufixed192x14`, `ufixed192x15`, `ufixed192x16`, `ufixed192x17`, `ufixed192x18`, `ufixed192x19`, `ufixed192x20`, `ufixed192x21`, `ufixed192x22`, `ufixed192x23`, `ufixed192x24`, `ufixed192x25`, `ufixed192x26`, `ufixed192x27`, `ufixed192x28`, `ufixed192x29`, `ufixed192x30`, `ufixed192x31`, `ufixed192x32`, `ufixed192x33`, `ufixed192x34`, `ufixed192x35`, `ufixed192x36`, `ufixed192x37`, `ufixed192x38`, `ufixed192x39`, `ufixed192x40`, `ufixed192x41`, `ufixed192x42`, `ufixed192x43`, `ufixed192x44`, `ufixed192x45`, `ufixed192x46`, `ufixed192x47`, `ufixed192x48`, `ufixed192x49`, `ufixed192x50`, `ufixed192x51`, `ufixed192x52`, `ufixed192x53`, `ufixed192x54`, `ufixed192x55`, `ufixed192x56`, `ufixed192x57`, `ufixed192x58`, `ufixed192x59`, `ufixed192x60`, `ufixed192x61`, `ufixed192x62`, `ufixed192x63`, `ufixed192x64`, `ufixed200x0`, `ufixed200x1`, `ufixed200x2`, `ufixed200x3`, `ufixed200x4`, `ufixed200x5`, `ufixed200x6`, `ufixed200x7`, `ufixed200x8`, `ufixed200x9`, `ufixed200x10`, `ufixed200x11`, `ufixed200x12`, `ufixed200x13`, `ufixed200x14`, `ufixed200x15`, `ufixed200x16`, `ufixed200x17`, `ufixed200x18`, `ufixed200x19`, `ufixed200x20`, `ufixed200x21`, `ufixed200x22`, `ufixed200x23`, `ufixed200x24`, `ufixed200x25`, `ufixed200x26`, `ufixed200x27`, `ufixed200x28`, `ufixed200x29`, `ufixed200x30`, `ufixed200x31`, `ufixed200x32`, `ufixed200x33`, `ufixed200x34`, `ufixed200x35`, `ufixed200x36`, `ufixed200x37`, `ufixed200x38`, `ufixed200x39`, `ufixed200x40`, `ufixed200x41`, `ufixed200x42`, `ufixed200x43`, `ufixed200x44`, `ufixed200x45`, `ufixed200x46`, `ufixed200x47`, `ufixed200x48`, `ufixed200x49`, `ufixed200x50`, `ufixed200x51`, `ufixed200x52`, `ufixed200x53`, `ufixed200x54`, `ufixed200x55`, `ufixed200x56`, `ufixed208x0`, `ufixed208x1`, `ufixed208x2`, `ufixed208x3`, `ufixed208x4`, `ufixed208x5`, `ufixed208x6`, `ufixed208x7`, `ufixed208x8`, `ufixed208x9`, `ufixed208x10`, `ufixed208x11`, `ufixed208x12`, `ufixed208x13`, `ufixed208x14`, `ufixed208x15`, `ufixed208x16`, `ufixed208x17`, `ufixed208x18`, `ufixed208x19`, `ufixed208x20`, `ufixed208x21`, `ufixed208x22`, `ufixed208x23`, `ufixed208x24`, `ufixed208x25`, `ufixed208x26`, `ufixed208x27`, `ufixed208x28`, `ufixed208x29`, `ufixed208x30`, `ufixed208x31`, `ufixed208x32`, `ufixed208x33`, `ufixed208x34`, `ufixed208x35`, `ufixed208x36`, `ufixed208x37`, `ufixed208x38`, `ufixed208x39`, `ufixed208x40`, `ufixed208x41`, `ufixed208x42`, `ufixed208x43`, `ufixed208x44`, `ufixed208x45`, `ufixed208x46`, `ufixed208x47`, `ufixed208x48`, `ufixed216x0`, `ufixed216x1`, `ufixed216x2`, `ufixed216x3`, `ufixed216x4`, `ufixed216x5`, `ufixed216x6`, `ufixed216x7`, `ufixed216x8`, `ufixed216x9`, `ufixed216x10`, `ufixed216x11`, `ufixed216x12`, `ufixed216x13`, `ufixed216x14`, `ufixed216x15`, `ufixed216x16`, `ufixed216x17`, `ufixed216x18`, `ufixed216x19`, `ufixed216x20`, `ufixed216x21`, `ufixed216x22`, `ufixed216x23`, `ufixed216x24`, `ufixed216x25`, `ufixed216x26`, `ufixed216x27`, `ufixed216x28`, `ufixed216x29`, `ufixed216x30`, `ufixed216x31`, `ufixed216x32`, `ufixed216x33`, `ufixed216x34`, `ufixed216x35`, `ufixed216x36`, `ufixed216x37`, `ufixed216x38`, `ufixed216x39`, `ufixed216x40`, `ufixed224x0`, `ufixed224x1`, `ufixed224x2`, `ufixed224x3`, `ufixed224x4`, `ufixed224x5`, `ufixed224x6`, `ufixed224x7`, `ufixed224x8`, `ufixed224x9`, `ufixed224x10`, `ufixed224x11`, `ufixed224x12`, `ufixed224x13`, `ufixed224x14`, `ufixed224x15`, `ufixed224x16`, `ufixed224x17`, `ufixed224x18`, `ufixed224x19`, `ufixed224x20`, `ufixed224x21`, `ufixed224x22`, `ufixed224x23`, `ufixed224x24`, `ufixed224x25`, `ufixed224x26`, `ufixed224x27`, `ufixed224x28`, `ufixed224x29`, `ufixed224x30`, `ufixed224x31`, `ufixed224x32`, `ufixed232x0`, `ufixed232x1`, `ufixed232x2`, `ufixed232x3`, `ufixed232x4`, `ufixed232x5`, `ufixed232x6`, `ufixed232x7`, `ufixed232x8`, `ufixed232x9`, `ufixed232x10`, `ufixed232x11`, `ufixed232x12`, `ufixed232x13`, `ufixed232x14`, `ufixed232x15`, `ufixed232x16`, `ufixed232x17`, `ufixed232x18`, `ufixed232x19`, `ufixed232x20`, `ufixed232x21`, `ufixed232x22`, `ufixed232x23`, `ufixed232x24`, `ufixed240x0`, `ufixed240x1`, `ufixed240x2`, `ufixed240x3`, `ufixed240x4`, `ufixed240x5`, `ufixed240x6`, `ufixed240x7`, `ufixed240x8`, `ufixed240x9`, `ufixed240x10`, `ufixed240x11`, `ufixed240x12`, `ufixed240x13`, `ufixed240x14`, `ufixed240x15`, `ufixed240x16`, `ufixed248x0`, `ufixed248x1`, `ufixed248x2`, `ufixed248x3`, `ufixed248x4`, `ufixed248x5`, `ufixed248x6`, `ufixed248x7`, `ufixed248x8`, `ufixed256x0`), KeywordType, nil}, - }, - "numbers": { - {`0[xX][0-9a-fA-F]+`, LiteralNumberHex, nil}, - {`[0-9]+`, LiteralNumberInteger, nil}, - }, - "string-parse-common": { - {`\\(u[0-9a-fA-F]{4}|x..|[^x])`, LiteralStringEscape, nil}, - {`[^\\"\'\n]+`, LiteralString, nil}, - {`\\\n`, LiteralString, nil}, - {`\\`, LiteralString, nil}, - }, - "string-parse-double": { - {`"`, LiteralString, Pop(1)}, - {`'`, LiteralString, nil}, - }, - "string-parse-single": { - {`'`, LiteralString, Pop(1)}, - {`"`, LiteralString, nil}, - }, - "strings": { - {`hex'[0-9a-fA-F]+'`, LiteralString, nil}, - {`hex"[0-9a-fA-F]+"`, LiteralString, nil}, - {`"`, LiteralString, Combined("string-parse-common", "string-parse-double")}, - {`'`, LiteralString, Combined("string-parse-common", "string-parse-single")}, - }, - "whitespace": { - {`\s+`, Text, nil}, - }, - "root": { - Include("comments"), - Include("keywords-types"), - Include("keywords-other"), - Include("numbers"), - Include("strings"), - Include("whitespace"), - {`\+\+|--|\*\*|\?|:|~|&&|\|\||=>|==?|!=?|(<<|>>>?|[-<>+*%&|^/])=?`, Operator, nil}, - {`[{(\[;,]`, Punctuation, nil}, - {`[})\].]`, Punctuation, nil}, - {`(block|msg|now|this|super|tx)\b`, NameBuiltin, nil}, - {`(sender|origin)\b`, NameBuiltin, nil}, - {`(gas|value)\b`, NameBuiltin, nil}, - {`(selfdestruct|suicide)\b`, NameBuiltin, nil}, - {`(balance|send|transfer)\b`, NameBuiltin, nil}, - {`(assert|revert|require)\b`, NameBuiltin, nil}, - {`(call|callcode|delegatecall)\b`, NameBuiltin, nil}, - {`selector\b`, NameBuiltin, nil}, - {`(addmod|ecrecover|keccak256|mulmod|ripemd160|sha256|sha3)\b`, NameFunction, nil}, - {`[a-zA-Z_]\w*`, Name, nil}, - }, - }, -)) diff --git a/vendor/github.com/alecthomas/chroma/lexers/s/sparql.go b/vendor/github.com/alecthomas/chroma/lexers/s/sparql.go deleted file mode 100644 index 47a1716b..00000000 --- a/vendor/github.com/alecthomas/chroma/lexers/s/sparql.go +++ /dev/null @@ -1,69 +0,0 @@ -package s - -import ( - . "github.com/alecthomas/chroma" // nolint - "github.com/alecthomas/chroma/lexers/internal" -) - -// Sparql lexer. -var Sparql = internal.Register(MustNewLexer( - &Config{ - Name: "SPARQL", - Aliases: []string{"sparql"}, - Filenames: []string{"*.rq", "*.sparql"}, - MimeTypes: []string{"application/sparql-query"}, - }, - Rules{ - "root": { - {`\s+`, Text, nil}, - {`((?i)select|construct|describe|ask|where|filter|group\s+by|minus|distinct|reduced|from\s+named|from|order\s+by|desc|asc|limit|offset|bindings|load|clear|drop|create|add|move|copy|insert\s+data|delete\s+data|delete\s+where|delete|insert|using\s+named|using|graph|default|named|all|optional|service|silent|bind|union|not\s+in|in|as|having|to|prefix|base)\b`, Keyword, nil}, - {`(a)\b`, Keyword, nil}, - {"(<(?:[^<>\"{}|^`\\\\\\x00-\\x20])*>)", NameLabel, nil}, - {`(_:[0-9a-zA-ZÀ-ÖØ-öø-˿Ͱ-ͽͿ-῿‌-‍⁰-↏Ⰰ-⿯、-퟿豈-﷏ﷰ-�_](?:[a-zA-ZÀ-ÖØ-öø-˿Ͱ-ͽͿ-῿‌-‍⁰-↏Ⰰ-⿯、-퟿豈-﷏ﷰ-�_\-0-9·̀-ͯ‿-⁀.]*[a-zA-ZÀ-ÖØ-öø-˿Ͱ-ͽͿ-῿‌-‍⁰-↏Ⰰ-⿯、-퟿豈-﷏ﷰ-�_\-0-9·̀-ͯ‿-⁀])?)`, NameLabel, nil}, - {`[?$][0-9a-zA-ZÀ-ÖØ-öø-˿Ͱ-ͽͿ-῿‌-‍⁰-↏Ⰰ-⿯、-퟿豈-﷏ﷰ-�_][a-zA-ZÀ-ÖØ-öø-˿Ͱ-ͽͿ-῿‌-‍⁰-↏Ⰰ-⿯、-퟿豈-﷏ﷰ-�_0-9·̀-ͯ‿-⁀]*`, NameVariable, nil}, - {`([a-zA-ZÀ-ÖØ-öø-˿Ͱ-ͽͿ-῿‌-‍⁰-↏Ⰰ-⿯、-퟿豈-﷏ﷰ-�](?:[a-zA-ZÀ-ÖØ-öø-˿Ͱ-ͽͿ-῿‌-‍⁰-↏Ⰰ-⿯、-퟿豈-﷏ﷰ-�_\-0-9·̀-ͯ‿-⁀.]*[a-zA-ZÀ-ÖØ-öø-˿Ͱ-ͽͿ-῿‌-‍⁰-↏Ⰰ-⿯、-퟿豈-﷏ﷰ-�_\-0-9·̀-ͯ‿-⁀])?)?(\:)((?:[a-zA-ZÀ-ÖØ-öø-˿Ͱ-ͽͿ-῿‌-‍⁰-↏Ⰰ-⿯、-퟿豈-﷏ﷰ-�_:0-9]|(?:%[0-9A-Fa-f][0-9A-Fa-f])|(?:\\[ _~.\-!$&"()*+,;=/?#@%]))(?:(?:[a-zA-ZÀ-ÖØ-öø-˿Ͱ-ͽͿ-῿‌-‍⁰-↏Ⰰ-⿯、-퟿豈-﷏ﷰ-�_\-0-9·̀-ͯ‿-⁀.:]|(?:%[0-9A-Fa-f][0-9A-Fa-f])|(?:\\[ _~.\-!$&"()*+,;=/?#@%]))*(?:[a-zA-ZÀ-ÖØ-öø-˿Ͱ-ͽͿ-῿‌-‍⁰-↏Ⰰ-⿯、-퟿豈-﷏ﷰ-�_\-0-9·̀-ͯ‿-⁀:]|(?:%[0-9A-Fa-f][0-9A-Fa-f])|(?:\\[ _~.\-!$&"()*+,;=/?#@%])))?)?`, ByGroups(NameNamespace, Punctuation, NameTag), nil}, - {`((?i)str|lang|langmatches|datatype|bound|iri|uri|bnode|rand|abs|ceil|floor|round|concat|strlen|ucase|lcase|encode_for_uri|contains|strstarts|strends|strbefore|strafter|year|month|day|hours|minutes|seconds|timezone|tz|now|md5|sha1|sha256|sha384|sha512|coalesce|if|strlang|strdt|sameterm|isiri|isuri|isblank|isliteral|isnumeric|regex|substr|replace|exists|not\s+exists|count|sum|min|max|avg|sample|group_concat|separator)\b`, NameFunction, nil}, - {`(true|false)`, KeywordConstant, nil}, - {`[+\-]?(\d+\.\d*[eE][+-]?\d+|\.?\d+[eE][+-]?\d+)`, LiteralNumberFloat, nil}, - {`[+\-]?(\d+\.\d*|\.\d+)`, LiteralNumberFloat, nil}, - {`[+\-]?\d+`, LiteralNumberInteger, nil}, - {`(\|\||&&|=|\*|\-|\+|/|!=|<=|>=|!|<|>)`, Operator, nil}, - {`[(){}.;,:^\[\]]`, Punctuation, nil}, - {`#[^\n]*`, Comment, nil}, - {`"""`, LiteralString, Push("triple-double-quoted-string")}, - {`"`, LiteralString, Push("single-double-quoted-string")}, - {`'''`, LiteralString, Push("triple-single-quoted-string")}, - {`'`, LiteralString, Push("single-single-quoted-string")}, - }, - "triple-double-quoted-string": { - {`"""`, LiteralString, Push("end-of-string")}, - {`[^\\]+`, LiteralString, nil}, - {`\\`, LiteralString, Push("string-escape")}, - }, - "single-double-quoted-string": { - {`"`, LiteralString, Push("end-of-string")}, - {`[^"\\\n]+`, LiteralString, nil}, - {`\\`, LiteralString, Push("string-escape")}, - }, - "triple-single-quoted-string": { - {`'''`, LiteralString, Push("end-of-string")}, - {`[^\\]+`, LiteralString, nil}, - {`\\`, LiteralStringEscape, Push("string-escape")}, - }, - "single-single-quoted-string": { - {`'`, LiteralString, Push("end-of-string")}, - {`[^'\\\n]+`, LiteralString, nil}, - {`\\`, LiteralString, Push("string-escape")}, - }, - "string-escape": { - {`u[0-9A-Fa-f]{4}`, LiteralStringEscape, Pop(1)}, - {`U[0-9A-Fa-f]{8}`, LiteralStringEscape, Pop(1)}, - {`.`, LiteralStringEscape, Pop(1)}, - }, - "end-of-string": { - {`(@)([a-zA-Z]+(?:-[a-zA-Z0-9]+)*)`, ByGroups(Operator, NameFunction), Pop(2)}, - {`\^\^`, Operator, Pop(2)}, - Default(Pop(2)), - }, - }, -)) diff --git a/vendor/github.com/alecthomas/chroma/lexers/s/sql.go b/vendor/github.com/alecthomas/chroma/lexers/s/sql.go deleted file mode 100644 index a9c2bbe1..00000000 --- a/vendor/github.com/alecthomas/chroma/lexers/s/sql.go +++ /dev/null @@ -1,49 +0,0 @@ -package s - -import ( - . "github.com/alecthomas/chroma" // nolint - "github.com/alecthomas/chroma/lexers/internal" -) - -// Sql lexer. -var Sql = internal.Register(MustNewLexer( - &Config{ - Name: "SQL", - Aliases: []string{"sql"}, - Filenames: []string{"*.sql"}, - MimeTypes: []string{"text/x-sql"}, - NotMultiline: true, - CaseInsensitive: true, - }, - Rules{ - "root": { - {`\s+`, Text, nil}, - {`--.*\n?`, CommentSingle, nil}, - {`/\*`, CommentMultiline, Push("multiline-comments")}, - {`'`, LiteralStringSingle, Push("string")}, - {`"`, LiteralStringDouble, Push("double-string")}, - {Words(``, `\b`, `ABORT`, `ABS`, `ABSOLUTE`, `ACCESS`, `ADA`, `ADD`, `ADMIN`, `AFTER`, `AGGREGATE`, `ALIAS`, `ALL`, `ALLOCATE`, `ALTER`, `ANALYSE`, `ANALYZE`, `AND`, `ANY`, `ARE`, `AS`, `ASC`, `ASENSITIVE`, `ASSERTION`, `ASSIGNMENT`, `ASYMMETRIC`, `AT`, `ATOMIC`, `AUTHORIZATION`, `AVG`, `BACKWARD`, `BEFORE`, `BEGIN`, `BETWEEN`, `BITVAR`, `BIT_LENGTH`, `BOTH`, `BREADTH`, `BY`, `C`, `CACHE`, `CALL`, `CALLED`, `CARDINALITY`, `CASCADE`, `CASCADED`, `CASE`, `CAST`, `CATALOG`, `CATALOG_NAME`, `CHAIN`, `CHARACTERISTICS`, `CHARACTER_LENGTH`, `CHARACTER_SET_CATALOG`, `CHARACTER_SET_NAME`, `CHARACTER_SET_SCHEMA`, `CHAR_LENGTH`, `CHECK`, `CHECKED`, `CHECKPOINT`, `CLASS`, `CLASS_ORIGIN`, `CLOB`, `CLOSE`, `CLUSTER`, `COALSECE`, `COBOL`, `COLLATE`, `COLLATION`, `COLLATION_CATALOG`, `COLLATION_NAME`, `COLLATION_SCHEMA`, `COLUMN`, `COLUMN_NAME`, `COMMAND_FUNCTION`, `COMMAND_FUNCTION_CODE`, `COMMENT`, `COMMIT`, `COMMITTED`, `COMPLETION`, `CONDITION_NUMBER`, `CONNECT`, `CONNECTION`, `CONNECTION_NAME`, `CONSTRAINT`, `CONSTRAINTS`, `CONSTRAINT_CATALOG`, `CONSTRAINT_NAME`, `CONSTRAINT_SCHEMA`, `CONSTRUCTOR`, `CONTAINS`, `CONTINUE`, `CONVERSION`, `CONVERT`, `COPY`, `CORRESPONTING`, `COUNT`, `CREATE`, `CREATEDB`, `CREATEUSER`, `CROSS`, `CUBE`, `CURRENT`, `CURRENT_DATE`, `CURRENT_PATH`, `CURRENT_ROLE`, `CURRENT_TIME`, `CURRENT_TIMESTAMP`, `CURRENT_USER`, `CURSOR`, `CURSOR_NAME`, `CYCLE`, `DATA`, `DATABASE`, `DATETIME_INTERVAL_CODE`, `DATETIME_INTERVAL_PRECISION`, `DAY`, `DEALLOCATE`, `DECLARE`, `DEFAULT`, `DEFAULTS`, `DEFERRABLE`, `DEFERRED`, `DEFINED`, `DEFINER`, `DELETE`, `DELIMITER`, `DELIMITERS`, `DEREF`, `DESC`, `DESCRIBE`, `DESCRIPTOR`, `DESTROY`, `DESTRUCTOR`, `DETERMINISTIC`, `DIAGNOSTICS`, `DICTIONARY`, `DISCONNECT`, `DISPATCH`, `DISTINCT`, `DO`, `DOMAIN`, `DROP`, `DYNAMIC`, `DYNAMIC_FUNCTION`, `DYNAMIC_FUNCTION_CODE`, `EACH`, `ELSE`, `ELSIF`, `ENCODING`, `ENCRYPTED`, `END`, `END-EXEC`, `EQUALS`, `ESCAPE`, `EVERY`, `EXCEPTION`, `EXCEPT`, `EXCLUDING`, `EXCLUSIVE`, `EXEC`, `EXECUTE`, `EXISTING`, `EXISTS`, `EXPLAIN`, `EXTERNAL`, `EXTRACT`, `FALSE`, `FETCH`, `FINAL`, `FIRST`, `FOR`, `FORCE`, `FOREIGN`, `FORTRAN`, `FORWARD`, `FOUND`, `FREE`, `FREEZE`, `FROM`, `FULL`, `FUNCTION`, `G`, `GENERAL`, `GENERATED`, `GET`, `GLOBAL`, `GO`, `GOTO`, `GRANT`, `GRANTED`, `GROUP`, `GROUPING`, `HANDLER`, `HAVING`, `HIERARCHY`, `HOLD`, `HOST`, `IDENTITY`, `IF`, `IGNORE`, `ILIKE`, `IMMEDIATE`, `IMMUTABLE`, `IMPLEMENTATION`, `IMPLICIT`, `IN`, `INCLUDING`, `INCREMENT`, `INDEX`, `INDITCATOR`, `INFIX`, `INHERITS`, `INITIALIZE`, `INITIALLY`, `INNER`, `INOUT`, `INPUT`, `INSENSITIVE`, `INSERT`, `INSTANTIABLE`, `INSTEAD`, `INTERSECT`, `INTO`, `INVOKER`, `IS`, `ISNULL`, `ISOLATION`, `ITERATE`, `JOIN`, `KEY`, `KEY_MEMBER`, `KEY_TYPE`, `LANCOMPILER`, `LANGUAGE`, `LARGE`, `LAST`, `LATERAL`, `LEADING`, `LEFT`, `LENGTH`, `LESS`, `LEVEL`, `LIKE`, `LIMIT`, `LISTEN`, `LOAD`, `LOCAL`, `LOCALTIME`, `LOCALTIMESTAMP`, `LOCATION`, `LOCATOR`, `LOCK`, `LOWER`, `MAP`, `MATCH`, `MAX`, `MAXVALUE`, `MESSAGE_LENGTH`, `MESSAGE_OCTET_LENGTH`, `MESSAGE_TEXT`, `METHOD`, `MIN`, `MINUTE`, `MINVALUE`, `MOD`, `MODE`, `MODIFIES`, `MODIFY`, `MONTH`, `MORE`, `MOVE`, `MUMPS`, `NAMES`, `NATIONAL`, `NATURAL`, `NCHAR`, `NCLOB`, `NEW`, `NEXT`, `NO`, `NOCREATEDB`, `NOCREATEUSER`, `NONE`, `NOT`, `NOTHING`, `NOTIFY`, `NOTNULL`, `NULL`, `NULLABLE`, `NULLIF`, `OBJECT`, `OCTET_LENGTH`, `OF`, `OFF`, `OFFSET`, `OIDS`, `OLD`, `ON`, `ONLY`, `OPEN`, `OPERATION`, `OPERATOR`, `OPTION`, `OPTIONS`, `OR`, `ORDER`, `ORDINALITY`, `OUT`, `OUTER`, `OUTPUT`, `OVERLAPS`, `OVERLAY`, `OVERRIDING`, `OWNER`, `PAD`, `PARAMETER`, `PARAMETERS`, `PARAMETER_MODE`, `PARAMATER_NAME`, `PARAMATER_ORDINAL_POSITION`, `PARAMETER_SPECIFIC_CATALOG`, `PARAMETER_SPECIFIC_NAME`, `PARAMATER_SPECIFIC_SCHEMA`, `PARTIAL`, `PASCAL`, `PENDANT`, `PLACING`, `PLI`, `POSITION`, `POSTFIX`, `PRECISION`, `PREFIX`, `PREORDER`, `PREPARE`, `PRESERVE`, `PRIMARY`, `PRIOR`, `PRIVILEGES`, `PROCEDURAL`, `PROCEDURE`, `PUBLIC`, `READ`, `READS`, `RECHECK`, `RECURSIVE`, `REF`, `REFERENCES`, `REFERENCING`, `REINDEX`, `RELATIVE`, `RENAME`, `REPEATABLE`, `REPLACE`, `RESET`, `RESTART`, `RESTRICT`, `RESULT`, `RETURN`, `RETURNED_LENGTH`, `RETURNED_OCTET_LENGTH`, `RETURNED_SQLSTATE`, `RETURNS`, `REVOKE`, `RIGHT`, `ROLE`, `ROLLBACK`, `ROLLUP`, `ROUTINE`, `ROUTINE_CATALOG`, `ROUTINE_NAME`, `ROUTINE_SCHEMA`, `ROW`, `ROWS`, `ROW_COUNT`, `RULE`, `SAVE_POINT`, `SCALE`, `SCHEMA`, `SCHEMA_NAME`, `SCOPE`, `SCROLL`, `SEARCH`, `SECOND`, `SECURITY`, `SELECT`, `SELF`, `SENSITIVE`, `SERIALIZABLE`, `SERVER_NAME`, `SESSION`, `SESSION_USER`, `SET`, `SETOF`, `SETS`, `SHARE`, `SHOW`, `SIMILAR`, `SIMPLE`, `SIZE`, `SOME`, `SOURCE`, `SPACE`, `SPECIFIC`, `SPECIFICTYPE`, `SPECIFIC_NAME`, `SQL`, `SQLCODE`, `SQLERROR`, `SQLEXCEPTION`, `SQLSTATE`, `SQLWARNINIG`, `STABLE`, `START`, `STATE`, `STATEMENT`, `STATIC`, `STATISTICS`, `STDIN`, `STDOUT`, `STORAGE`, `STRICT`, `STRUCTURE`, `STYPE`, `SUBCLASS_ORIGIN`, `SUBLIST`, `SUBSTRING`, `SUM`, `SYMMETRIC`, `SYSID`, `SYSTEM`, `SYSTEM_USER`, `TABLE`, `TABLE_NAME`, ` TEMP`, `TEMPLATE`, `TEMPORARY`, `TERMINATE`, `THAN`, `THEN`, `TIMESTAMP`, `TIMEZONE_HOUR`, `TIMEZONE_MINUTE`, `TO`, `TOAST`, `TRAILING`, `TRANSATION`, `TRANSACTIONS_COMMITTED`, `TRANSACTIONS_ROLLED_BACK`, `TRANSATION_ACTIVE`, `TRANSFORM`, `TRANSFORMS`, `TRANSLATE`, `TRANSLATION`, `TREAT`, `TRIGGER`, `TRIGGER_CATALOG`, `TRIGGER_NAME`, `TRIGGER_SCHEMA`, `TRIM`, `TRUE`, `TRUNCATE`, `TRUSTED`, `TYPE`, `UNCOMMITTED`, `UNDER`, `UNENCRYPTED`, `UNION`, `UNIQUE`, `UNKNOWN`, `UNLISTEN`, `UNNAMED`, `UNNEST`, `UNTIL`, `UPDATE`, `UPPER`, `USAGE`, `USER`, `USER_DEFINED_TYPE_CATALOG`, `USER_DEFINED_TYPE_NAME`, `USER_DEFINED_TYPE_SCHEMA`, `USING`, `VACUUM`, `VALID`, `VALIDATOR`, `VALUES`, `VARIABLE`, `VERBOSE`, `VERSION`, `VIEW`, `VOLATILE`, `WHEN`, `WHENEVER`, `WHERE`, `WITH`, `WITHOUT`, `WORK`, `WRITE`, `YEAR`, `ZONE`), Keyword, nil}, - {Words(``, `\b`, `ARRAY`, `BIGINT`, `BINARY`, `BIT`, `BLOB`, `BOOLEAN`, `CHAR`, `CHARACTER`, `DATE`, `DEC`, `DECIMAL`, `FLOAT`, `INT`, `INTEGER`, `INTERVAL`, `NUMBER`, `NUMERIC`, `REAL`, `SERIAL`, `SMALLINT`, `VARCHAR`, `VARYING`, `INT8`, `SERIAL8`, `TEXT`), NameBuiltin, nil}, - {"[+*/<>=~!@#%^&|`?-]", Operator, nil}, - {`[0-9]+`, LiteralNumberInteger, nil}, - {`[a-z_][\w$]*`, Name, nil}, - {`[;:()\[\],.]`, Punctuation, nil}, - }, - "multiline-comments": { - {`/\*`, CommentMultiline, Push("multiline-comments")}, - {`\*/`, CommentMultiline, Pop(1)}, - {`[^/*]+`, CommentMultiline, nil}, - {`[/*]`, CommentMultiline, nil}, - }, - "string": { - {`[^']+`, LiteralStringSingle, nil}, - {`''`, LiteralStringSingle, nil}, - {`'`, LiteralStringSingle, Pop(1)}, - }, - "double-string": { - {`[^"]+`, LiteralStringDouble, nil}, - {`""`, LiteralStringDouble, nil}, - {`"`, LiteralStringDouble, Pop(1)}, - }, - }, -)) diff --git a/vendor/github.com/alecthomas/chroma/lexers/s/squid.go b/vendor/github.com/alecthomas/chroma/lexers/s/squid.go deleted file mode 100644 index 1f161901..00000000 --- a/vendor/github.com/alecthomas/chroma/lexers/s/squid.go +++ /dev/null @@ -1,38 +0,0 @@ -package s - -import ( - . "github.com/alecthomas/chroma" // nolint - "github.com/alecthomas/chroma/lexers/internal" -) - -// Squidconf lexer. -var Squidconf = internal.Register(MustNewLexer( - &Config{ - Name: "SquidConf", - Aliases: []string{"squidconf", "squid.conf", "squid"}, - Filenames: []string{"squid.conf"}, - MimeTypes: []string{"text/x-squidconf"}, - NotMultiline: true, - CaseInsensitive: true, - }, - Rules{ - "root": { - {`\s+`, TextWhitespace, nil}, - {`#`, Comment, Push("comment")}, - {Words(`\b`, `\b`, `access_log`, `acl`, `always_direct`, `announce_host`, `announce_period`, `announce_port`, `announce_to`, `anonymize_headers`, `append_domain`, `as_whois_server`, `auth_param_basic`, `authenticate_children`, `authenticate_program`, `authenticate_ttl`, `broken_posts`, `buffered_logs`, `cache_access_log`, `cache_announce`, `cache_dir`, `cache_dns_program`, `cache_effective_group`, `cache_effective_user`, `cache_host`, `cache_host_acl`, `cache_host_domain`, `cache_log`, `cache_mem`, `cache_mem_high`, `cache_mem_low`, `cache_mgr`, `cachemgr_passwd`, `cache_peer`, `cache_peer_access`, `cahce_replacement_policy`, `cache_stoplist`, `cache_stoplist_pattern`, `cache_store_log`, `cache_swap`, `cache_swap_high`, `cache_swap_log`, `cache_swap_low`, `client_db`, `client_lifetime`, `client_netmask`, `connect_timeout`, `coredump_dir`, `dead_peer_timeout`, `debug_options`, `delay_access`, `delay_class`, `delay_initial_bucket_level`, `delay_parameters`, `delay_pools`, `deny_info`, `dns_children`, `dns_defnames`, `dns_nameservers`, `dns_testnames`, `emulate_httpd_log`, `err_html_text`, `fake_user_agent`, `firewall_ip`, `forwarded_for`, `forward_snmpd_port`, `fqdncache_size`, `ftpget_options`, `ftpget_program`, `ftp_list_width`, `ftp_passive`, `ftp_user`, `half_closed_clients`, `header_access`, `header_replace`, `hierarchy_stoplist`, `high_response_time_warning`, `high_page_fault_warning`, `hosts_file`, `htcp_port`, `http_access`, `http_anonymizer`, `httpd_accel`, `httpd_accel_host`, `httpd_accel_port`, `httpd_accel_uses_host_header`, `httpd_accel_with_proxy`, `http_port`, `http_reply_access`, `icp_access`, `icp_hit_stale`, `icp_port`, `icp_query_timeout`, `ident_lookup`, `ident_lookup_access`, `ident_timeout`, `incoming_http_average`, `incoming_icp_average`, `inside_firewall`, `ipcache_high`, `ipcache_low`, `ipcache_size`, `local_domain`, `local_ip`, `logfile_rotate`, `log_fqdn`, `log_icp_queries`, `log_mime_hdrs`, `maximum_object_size`, `maximum_single_addr_tries`, `mcast_groups`, `mcast_icp_query_timeout`, `mcast_miss_addr`, `mcast_miss_encode_key`, `mcast_miss_port`, `memory_pools`, `memory_pools_limit`, `memory_replacement_policy`, `mime_table`, `min_http_poll_cnt`, `min_icp_poll_cnt`, `minimum_direct_hops`, `minimum_object_size`, `minimum_retry_timeout`, `miss_access`, `negative_dns_ttl`, `negative_ttl`, `neighbor_timeout`, `neighbor_type_domain`, `netdb_high`, `netdb_low`, `netdb_ping_period`, `netdb_ping_rate`, `never_direct`, `no_cache`, `passthrough_proxy`, `pconn_timeout`, `pid_filename`, `pinger_program`, `positive_dns_ttl`, `prefer_direct`, `proxy_auth`, `proxy_auth_realm`, `query_icmp`, `quick_abort`, `quick_abort_max`, `quick_abort_min`, `quick_abort_pct`, `range_offset_limit`, `read_timeout`, `redirect_children`, `redirect_program`, `redirect_rewrites_host_header`, `reference_age`, `refresh_pattern`, `reload_into_ims`, `request_body_max_size`, `request_size`, `request_timeout`, `shutdown_lifetime`, `single_parent_bypass`, `siteselect_timeout`, `snmp_access`, `snmp_incoming_address`, `snmp_port`, `source_ping`, `ssl_proxy`, `store_avg_object_size`, `store_objects_per_bucket`, `strip_query_terms`, `swap_level1_dirs`, `swap_level2_dirs`, `tcp_incoming_address`, `tcp_outgoing_address`, `tcp_recv_bufsize`, `test_reachability`, `udp_hit_obj`, `udp_hit_obj_size`, `udp_incoming_address`, `udp_outgoing_address`, `unique_hostname`, `unlinkd_program`, `uri_whitespace`, `useragent_log`, `visible_hostname`, `wais_relay`, `wais_relay_host`, `wais_relay_port`), Keyword, nil}, - {Words(`\b`, `\b`, `proxy-only`, `weight`, `ttl`, `no-query`, `default`, `round-robin`, `multicast-responder`, `on`, `off`, `all`, `deny`, `allow`, `via`, `parent`, `no-digest`, `heap`, `lru`, `realm`, `children`, `q1`, `q2`, `credentialsttl`, `none`, `disable`, `offline_toggle`, `diskd`), NameConstant, nil}, - {Words(`\b`, `\b`, `shutdown`, `info`, `parameter`, `server_list`, `client_list`, `squid.conf`), LiteralString, nil}, - {Words(`stats/`, `\b`, `objects`, `vm_objects`, `utilization`, `ipcache`, `fqdncache`, `dns`, `redirector`, `io`, `reply_headers`, `filedescriptors`, `netdb`), LiteralString, nil}, - {Words(`log/`, `=`, `status`, `enable`, `disable`, `clear`), LiteralString, nil}, - {Words(`\b`, `\b`, `url_regex`, `urlpath_regex`, `referer_regex`, `port`, `proto`, `req_mime_type`, `rep_mime_type`, `method`, `browser`, `user`, `src`, `dst`, `time`, `dstdomain`, `ident`, `snmp_community`), Keyword, nil}, - {`(?:(?:(?:[3-9]\d?|2(?:5[0-5]|[0-4]?\d)?|1\d{0,2}|0x0*[0-9a-f]{1,2}|0+[1-3]?[0-7]{0,2})(?:\.(?:[3-9]\d?|2(?:5[0-5]|[0-4]?\d)?|1\d{0,2}|0x0*[0-9a-f]{1,2}|0+[1-3]?[0-7]{0,2})){3})|(?!.*::.*::)(?:(?!:)|:(?=:))(?:[0-9a-f]{0,4}(?:(?<=::)|(?|[<&?](?=\\w)|(?<=\\w)[>!?]", Punctuation, nil}, - {`[/=\-+!*%<>&|^?~]+`, Operator, nil}, - {`[a-zA-Z_]\w*`, Name, nil}, - }, - "keywords": { - {Words(``, `\b`, `as`, `break`, `case`, `catch`, `continue`, `default`, `defer`, `do`, `else`, `fallthrough`, `for`, `guard`, `if`, `in`, `is`, `repeat`, `return`, `#selector`, `switch`, `throw`, `try`, `where`, `while`), Keyword, nil}, - {`@availability\([^)]+\)`, KeywordReserved, nil}, - {Words(``, `\b`, `associativity`, `convenience`, `dynamic`, `didSet`, `final`, `get`, `indirect`, `infix`, `inout`, `lazy`, `left`, `mutating`, `none`, `nonmutating`, `optional`, `override`, `postfix`, `precedence`, `prefix`, `Protocol`, `required`, `rethrows`, `right`, `set`, `throws`, `Type`, `unowned`, `weak`, `willSet`, `@availability`, `@autoclosure`, `@noreturn`, `@NSApplicationMain`, `@NSCopying`, `@NSManaged`, `@objc`, `@UIApplicationMain`, `@IBAction`, `@IBDesignable`, `@IBInspectable`, `@IBOutlet`), KeywordReserved, nil}, - {`(as|dynamicType|false|is|nil|self|Self|super|true|__COLUMN__|__FILE__|__FUNCTION__|__LINE__|_|#(?:file|line|column|function))\b`, KeywordConstant, nil}, - {`import\b`, KeywordDeclaration, Push("module")}, - {`(class|enum|extension|struct|protocol)(\s+)([a-zA-Z_]\w*)`, ByGroups(KeywordDeclaration, Text, NameClass), nil}, - {`(func)(\s+)([a-zA-Z_]\w*)`, ByGroups(KeywordDeclaration, Text, NameFunction), nil}, - {`(var|let)(\s+)([a-zA-Z_]\w*)`, ByGroups(KeywordDeclaration, Text, NameVariable), nil}, - {Words(``, `\b`, `class`, `deinit`, `enum`, `extension`, `func`, `import`, `init`, `internal`, `let`, `operator`, `private`, `protocol`, `public`, `static`, `struct`, `subscript`, `typealias`, `var`), KeywordDeclaration, nil}, - }, - "comment": { - {`:param: [a-zA-Z_]\w*|:returns?:|(FIXME|MARK|TODO):`, CommentSpecial, nil}, - }, - "comment-single": { - {`\n`, Text, Pop(1)}, - Include("comment"), - {`[^\n]`, CommentSingle, nil}, - }, - "comment-multi": { - Include("comment"), - {`[^*/]`, CommentMultiline, nil}, - {`/\*`, CommentMultiline, Push()}, - {`\*/`, CommentMultiline, Pop(1)}, - {`[*/]`, CommentMultiline, nil}, - }, - "module": { - {`\n`, Text, Pop(1)}, - {`[a-zA-Z_]\w*`, NameClass, nil}, - Include("root"), - }, - "preproc": { - {`\n`, Text, Pop(1)}, - Include("keywords"), - {`[A-Za-z]\w*`, CommentPreproc, nil}, - Include("root"), - }, - "string": { - {`\\\(`, LiteralStringInterpol, Push("string-intp")}, - {`"`, LiteralString, Pop(1)}, - {`\\['"\\nrt]|\\x[0-9a-fA-F]{2}|\\[0-7]{1,3}|\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}`, LiteralStringEscape, nil}, - {`[^\\"]+`, LiteralString, nil}, - {`\\`, LiteralString, nil}, - }, - "string-intp": { - {`\(`, LiteralStringInterpol, Push()}, - {`\)`, LiteralStringInterpol, Pop(1)}, - Include("root"), - }, - }, -)) diff --git a/vendor/github.com/alecthomas/chroma/lexers/s/systemd.go b/vendor/github.com/alecthomas/chroma/lexers/s/systemd.go deleted file mode 100644 index 6b0884ec..00000000 --- a/vendor/github.com/alecthomas/chroma/lexers/s/systemd.go +++ /dev/null @@ -1,28 +0,0 @@ -package s - -import ( - . "github.com/alecthomas/chroma" // nolint - "github.com/alecthomas/chroma/lexers/internal" -) - -var SYSTEMD = internal.Register(MustNewLexer( - &Config{ - Name: "SYSTEMD", - Aliases: []string{"systemd"}, - Filenames: []string{"*.service"}, - MimeTypes: []string{"text/plain"}, - }, - Rules{ - "root": { - {`\s+`, Text, nil}, - {`[;#].*`, Comment, nil}, - {`\[.*?\]$`, Keyword, nil}, - {`(.*?)(=)(.*)(\\\n)`, ByGroups(NameAttribute, Operator, LiteralString, Text), Push("continuation")}, - {`(.*?)(=)(.*)`, ByGroups(NameAttribute, Operator, LiteralString), nil}, - }, - "continuation": { - {`(.*?)(\\\n)`, ByGroups(LiteralString, Text), nil}, - {`(.*)`, LiteralString, Pop(1)}, - }, - }, -)) diff --git a/vendor/github.com/alecthomas/chroma/lexers/s/systemverilog.go b/vendor/github.com/alecthomas/chroma/lexers/s/systemverilog.go deleted file mode 100644 index 21021a29..00000000 --- a/vendor/github.com/alecthomas/chroma/lexers/s/systemverilog.go +++ /dev/null @@ -1,72 +0,0 @@ -package s - -import ( - . "github.com/alecthomas/chroma" // nolint - "github.com/alecthomas/chroma/lexers/internal" -) - -// Systemverilog lexer. -var Systemverilog = internal.Register(MustNewLexer( - &Config{ - Name: "systemverilog", - Aliases: []string{"systemverilog", "sv"}, - Filenames: []string{"*.sv", "*.svh"}, - MimeTypes: []string{"text/x-systemverilog"}, - EnsureNL: true, - }, - Rules{ - "root": { - {"^\\s*`define", CommentPreproc, Push("macro")}, - {`^(\s*)(package)(\s+)`, ByGroups(Text, KeywordNamespace, Text), nil}, - {`^(\s*)(import)(\s+)`, ByGroups(Text, KeywordNamespace, Text), Push("import")}, - {`\n`, Text, nil}, - {`\s+`, Text, nil}, - {`\\\n`, Text, nil}, - {`/(\\\n)?/(\n|(.|\n)*?[^\\]\n)`, CommentSingle, nil}, - {`/(\\\n)?[*](.|\n)*?[*](\\\n)?/`, CommentMultiline, nil}, - {`[{}#@]`, Punctuation, nil}, - {`L?"`, LiteralString, Push("string")}, - {`L?'(\\.|\\[0-7]{1,3}|\\x[a-fA-F0-9]{1,2}|[^\\\'\n])'`, LiteralStringChar, nil}, - {`(\d+\.\d*|\.\d+|\d+)[eE][+-]?\d+[lL]?`, LiteralNumberFloat, nil}, - {`(\d+\.\d*|\.\d+|\d+[fF])[fF]?`, LiteralNumberFloat, nil}, - {`([0-9]+)|(\'h)[0-9a-fA-F]+`, LiteralNumberHex, nil}, - {`([0-9]+)|(\'b)[01]+`, LiteralNumberBin, nil}, - {`([0-9]+)|(\'d)[0-9]+`, LiteralNumberInteger, nil}, - {`([0-9]+)|(\'o)[0-7]+`, LiteralNumberOct, nil}, - {`\'[01xz]`, LiteralNumber, nil}, - {`\d+[Ll]?`, LiteralNumberInteger, nil}, - {`\*/`, Error, nil}, - {`[~!%^&*+=|?:<>/-]`, Operator, nil}, - {`[()\[\],.;\']`, Punctuation, nil}, - {"`[a-zA-Z_]\\w*", NameConstant, nil}, - {Words(``, `\b`, `accept_on`, `alias`, `always`, `always_comb`, `always_ff`, `always_latch`, `and`, `assert`, `assign`, `assume`, `automatic`, `before`, `begin`, `bind`, `bins`, `binsof`, `bit`, `break`, `buf`, `bufif0`, `bufif1`, `byte`, `case`, `casex`, `casez`, `cell`, `chandle`, `checker`, `class`, `clocking`, `cmos`, `config`, `const`, `constraint`, `context`, `continue`, `cover`, `covergroup`, `coverpoint`, `cross`, `deassign`, `default`, `defparam`, `design`, `disable`, `dist`, `do`, `edge`, `else`, `end`, `endcase`, `endchecker`, `endclass`, `endclocking`, `endconfig`, `endfunction`, `endgenerate`, `endgroup`, `endinterface`, `endmodule`, `endpackage`, `endprimitive`, `endprogram`, `endproperty`, `endsequence`, `endspecify`, `endtable`, `endtask`, `enum`, `event`, `eventually`, `expect`, `export`, `extends`, `extern`, `final`, `first_match`, `for`, `force`, `foreach`, `forever`, `fork`, `forkjoin`, `function`, `generate`, `genvar`, `global`, `highz0`, `highz1`, `if`, `iff`, `ifnone`, `ignore_bins`, `illegal_bins`, `implies`, `import`, `incdir`, `include`, `initial`, `inout`, `input`, `inside`, `instance`, `int`, `integer`, `interface`, `intersect`, `join`, `join_any`, `join_none`, `large`, `let`, `liblist`, `library`, `local`, `localparam`, `logic`, `longint`, `macromodule`, `matches`, `medium`, `modport`, `module`, `nand`, `negedge`, `new`, `nexttime`, `nmos`, `nor`, `noshowcancelled`, `not`, `notif0`, `notif1`, `null`, `or`, `output`, `package`, `packed`, `parameter`, `pmos`, `posedge`, `primitive`, `priority`, `program`, `property`, `protected`, `pull0`, `pull1`, `pulldown`, `pullup`, `pulsestyle_ondetect`, `pulsestyle_onevent`, `pure`, `rand`, `randc`, `randcase`, `randsequence`, `rcmos`, `real`, `realtime`, `ref`, `reg`, `reject_on`, `release`, `repeat`, `restrict`, `return`, `rnmos`, `rpmos`, `rtran`, `rtranif0`, `rtranif1`, `s_always`, `s_eventually`, `s_nexttime`, `s_until`, `s_until_with`, `scalared`, `sequence`, `shortint`, `shortreal`, `showcancelled`, `signed`, `small`, `solve`, `specify`, `specparam`, `static`, `string`, `strong`, `strong0`, `strong1`, `struct`, `super`, `supply0`, `supply1`, `sync_accept_on`, `sync_reject_on`, `table`, `tagged`, `task`, `this`, `throughout`, `time`, `timeprecision`, `timeunit`, `tran`, `tranif0`, `tranif1`, `tri`, `tri0`, `tri1`, `triand`, `trior`, `trireg`, `type`, `typedef`, `union`, `unique`, `unique0`, `unsigned`, `until`, `until_with`, `untyped`, `use`, `uwire`, `var`, `vectored`, `virtual`, `void`, `wait`, `wait_order`, `wand`, `weak`, `weak0`, `weak1`, `while`, `wildcard`, `wire`, `with`, `within`, `wor`, `xnor`, `xor`), Keyword, nil}, - {Words(``, `\b`, "`__FILE__", "`__LINE__", "`begin_keywords", "`celldefine", "`default_nettype", "`define", "`else", "`elsif", "`end_keywords", "`endcelldefine", "`endif", "`ifdef", "`ifndef", "`include", "`line", "`nounconnected_drive", "`pragma", "`resetall", "`timescale", "`unconnected_drive", "`undef", "`undefineall"), CommentPreproc, nil}, - {Words(``, `\b`, `$display`, `$displayb`, `$displayh`, `$displayo`, `$dumpall`, `$dumpfile`, `$dumpflush`, `$dumplimit`, `$dumpoff`, `$dumpon`, `$dumpports`, `$dumpportsall`, `$dumpportsflush`, `$dumpportslimit`, `$dumpportsoff`, `$dumpportson`, `$dumpvars`, `$fclose`, `$fdisplay`, `$fdisplayb`, `$fdisplayh`, `$fdisplayo`, `$feof`, `$ferror`, `$fflush`, `$fgetc`, `$fgets`, `$finish`, `$fmonitor`, `$fmonitorb`, `$fmonitorh`, `$fmonitoro`, `$fopen`, `$fread`, `$fscanf`, `$fseek`, `$fstrobe`, `$fstrobeb`, `$fstrobeh`, `$fstrobeo`, `$ftell`, `$fwrite`, `$fwriteb`, `$fwriteh`, `$fwriteo`, `$monitor`, `$monitorb`, `$monitorh`, `$monitoro`, `$monitoroff`, `$monitoron`, `$plusargs`, `$random`, `$readmemb`, `$readmemh`, `$rewind`, `$sformat`, `$sformatf`, `$sscanf`, `$strobe`, `$strobeb`, `$strobeh`, `$strobeo`, `$swrite`, `$swriteb`, `$swriteh`, `$swriteo`, `$test`, `$ungetc`, `$value$plusargs`, `$write`, `$writeb`, `$writeh`, `$writememb`, `$writememh`, `$writeo`), NameBuiltin, nil}, - {`(class)(\s+)`, ByGroups(Keyword, Text), Push("classname")}, - {Words(``, `\b`, `byte`, `shortint`, `int`, `longint`, `integer`, `time`, `bit`, `logic`, `reg`, `supply0`, `supply1`, `tri`, `triand`, `trior`, `tri0`, `tri1`, `trireg`, `uwire`, `wire`, `wand`, `woshortreal`, `real`, `realtime`), KeywordType, nil}, - {`[a-zA-Z_]\w*:(?!:)`, NameLabel, nil}, - {`\$?[a-zA-Z_]\w*`, Name, nil}, - }, - "classname": { - {`[a-zA-Z_]\w*`, NameClass, Pop(1)}, - }, - "string": { - {`"`, LiteralString, Pop(1)}, - {`\\([\\abfnrtv"\']|x[a-fA-F0-9]{2,4}|[0-7]{1,3})`, LiteralStringEscape, nil}, - {`[^\\"\n]+`, LiteralString, nil}, - {`\\\n`, LiteralString, nil}, - {`\\`, LiteralString, nil}, - }, - "macro": { - {`[^/\n]+`, CommentPreproc, nil}, - {`/[*](.|\n)*?[*]/`, CommentMultiline, nil}, - {`//.*?\n`, CommentSingle, Pop(1)}, - {`/`, CommentPreproc, nil}, - {`(?<=\\)\n`, CommentPreproc, nil}, - {`\n`, CommentPreproc, Pop(1)}, - }, - "import": { - {`[\w:]+\*?`, NameNamespace, Pop(1)}, - }, - }, -)) diff --git a/vendor/github.com/alecthomas/chroma/lexers/t/tasm.go b/vendor/github.com/alecthomas/chroma/lexers/t/tasm.go deleted file mode 100644 index 960399ca..00000000 --- a/vendor/github.com/alecthomas/chroma/lexers/t/tasm.go +++ /dev/null @@ -1,61 +0,0 @@ -package t - -import ( - . "github.com/alecthomas/chroma" // nolint - "github.com/alecthomas/chroma/lexers/internal" -) - -// Tasm lexer. -var Tasm = internal.Register(MustNewLexer( - &Config{ - Name: "TASM", - Aliases: []string{"tasm"}, - Filenames: []string{"*.asm", "*.ASM", "*.tasm"}, - MimeTypes: []string{"text/x-tasm"}, - CaseInsensitive: true, - }, - Rules{ - "root": { - {`^\s*%`, CommentPreproc, Push("preproc")}, - Include("whitespace"), - {`[@a-z$._?][\w$.?#@~]*:`, NameLabel, nil}, - {`BITS|USE16|USE32|SECTION|SEGMENT|ABSOLUTE|EXTERN|GLOBAL|ORG|ALIGN|STRUC|ENDSTRUC|ENDS|COMMON|CPU|GROUP|UPPERCASE|INCLUDE|EXPORT|LIBRARY|MODULE|PROC|ENDP|USES|ARG|DATASEG|UDATASEG|END|IDEAL|P386|MODEL|ASSUME|CODESEG|SIZE`, Keyword, Push("instruction-args")}, - {`([@a-z$._?][\w$.?#@~]*)(\s+)(db|dd|dw|T[A-Z][a-z]+)`, ByGroups(NameConstant, KeywordDeclaration, KeywordDeclaration), Push("instruction-args")}, - {`(?:res|d)[bwdqt]|times`, KeywordDeclaration, Push("instruction-args")}, - {`[@a-z$._?][\w$.?#@~]*`, NameFunction, Push("instruction-args")}, - {`[\r\n]+`, Text, nil}, - }, - "instruction-args": { - {"\"(\\\\\"|[^\"\\n])*\"|'(\\\\'|[^'\\n])*'|`(\\\\`|[^`\\n])*`", LiteralString, nil}, - {`(?:0x[0-9a-f]+|$0[0-9a-f]*|[0-9]+[0-9a-f]*h)`, LiteralNumberHex, nil}, - {`[0-7]+q`, LiteralNumberOct, nil}, - {`[01]+b`, LiteralNumberBin, nil}, - {`[0-9]+\.e?[0-9]+`, LiteralNumberFloat, nil}, - {`[0-9]+`, LiteralNumberInteger, nil}, - Include("punctuation"), - {`r[0-9][0-5]?[bwd]|[a-d][lh]|[er]?[a-d]x|[er]?[sb]p|[er]?[sd]i|[c-gs]s|st[0-7]|mm[0-7]|cr[0-4]|dr[0-367]|tr[3-7]`, NameBuiltin, nil}, - {`[@a-z$._?][\w$.?#@~]*`, NameVariable, nil}, - {`(\\\s*)(;.*)([\r\n])`, ByGroups(Text, CommentSingle, Text), nil}, - {`[\r\n]+`, Text, Pop(1)}, - Include("whitespace"), - }, - "preproc": { - {`[^;\n]+`, CommentPreproc, nil}, - {`;.*?\n`, CommentSingle, Pop(1)}, - {`\n`, CommentPreproc, Pop(1)}, - }, - "whitespace": { - {`[\n\r]`, Text, nil}, - {`\\[\n\r]`, Text, nil}, - {`[ \t]+`, Text, nil}, - {`;.*`, CommentSingle, nil}, - }, - "punctuation": { - {`[,():\[\]]+`, Punctuation, nil}, - {`[&|^<>+*=/%~-]+`, Operator, nil}, - {`[$]+`, KeywordConstant, nil}, - {`seg|wrt|strict`, OperatorWord, nil}, - {`byte|[dq]?word`, KeywordType, nil}, - }, - }, -)) diff --git a/vendor/github.com/alecthomas/chroma/lexers/t/tcl.go b/vendor/github.com/alecthomas/chroma/lexers/t/tcl.go deleted file mode 100644 index 77951b40..00000000 --- a/vendor/github.com/alecthomas/chroma/lexers/t/tcl.go +++ /dev/null @@ -1,116 +0,0 @@ -package t - -import ( - . "github.com/alecthomas/chroma" // nolint - "github.com/alecthomas/chroma/lexers/internal" -) - -// Tcl lexer. -var Tcl = internal.Register(MustNewLexer( - &Config{ - Name: "Tcl", - Aliases: []string{"tcl"}, - Filenames: []string{"*.tcl", "*.rvt"}, - MimeTypes: []string{"text/x-tcl", "text/x-script.tcl", "application/x-tcl"}, - }, - Rules{ - "root": { - Include("command"), - Include("basic"), - Include("data"), - {`\}`, Keyword, nil}, - }, - "command": { - {Words(`\b`, `\b`, `after`, `apply`, `array`, `break`, `catch`, `continue`, `elseif`, `else`, `error`, `eval`, `expr`, `for`, `foreach`, `global`, `if`, `namespace`, `proc`, `rename`, `return`, `set`, `switch`, `then`, `trace`, `unset`, `update`, `uplevel`, `upvar`, `variable`, `vwait`, `while`), Keyword, Push("params")}, - {Words(`\b`, `\b`, `append`, `bgerror`, `binary`, `cd`, `chan`, `clock`, `close`, `concat`, `dde`, `dict`, `encoding`, `eof`, `exec`, `exit`, `fblocked`, `fconfigure`, `fcopy`, `file`, `fileevent`, `flush`, `format`, `gets`, `glob`, `history`, `http`, `incr`, `info`, `interp`, `join`, `lappend`, `lassign`, `lindex`, `linsert`, `list`, `llength`, `load`, `loadTk`, `lrange`, `lrepeat`, `lreplace`, `lreverse`, `lsearch`, `lset`, `lsort`, `mathfunc`, `mathop`, `memory`, `msgcat`, `open`, `package`, `pid`, `pkg::create`, `pkg_mkIndex`, `platform`, `platform::shell`, `puts`, `pwd`, `re_syntax`, `read`, `refchan`, `regexp`, `registry`, `regsub`, `scan`, `seek`, `socket`, `source`, `split`, `string`, `subst`, `tell`, `time`, `tm`, `unknown`, `unload`), NameBuiltin, Push("params")}, - {`([\w.-]+)`, NameVariable, Push("params")}, - {`#`, Comment, Push("comment")}, - }, - "command-in-brace": { - {Words(`\b`, `\b`, `after`, `apply`, `array`, `break`, `catch`, `continue`, `elseif`, `else`, `error`, `eval`, `expr`, `for`, `foreach`, `global`, `if`, `namespace`, `proc`, `rename`, `return`, `set`, `switch`, `then`, `trace`, `unset`, `update`, `uplevel`, `upvar`, `variable`, `vwait`, `while`), Keyword, Push("params-in-brace")}, - {Words(`\b`, `\b`, `append`, `bgerror`, `binary`, `cd`, `chan`, `clock`, `close`, `concat`, `dde`, `dict`, `encoding`, `eof`, `exec`, `exit`, `fblocked`, `fconfigure`, `fcopy`, `file`, `fileevent`, `flush`, `format`, `gets`, `glob`, `history`, `http`, `incr`, `info`, `interp`, `join`, `lappend`, `lassign`, `lindex`, `linsert`, `list`, `llength`, `load`, `loadTk`, `lrange`, `lrepeat`, `lreplace`, `lreverse`, `lsearch`, `lset`, `lsort`, `mathfunc`, `mathop`, `memory`, `msgcat`, `open`, `package`, `pid`, `pkg::create`, `pkg_mkIndex`, `platform`, `platform::shell`, `puts`, `pwd`, `re_syntax`, `read`, `refchan`, `regexp`, `registry`, `regsub`, `scan`, `seek`, `socket`, `source`, `split`, `string`, `subst`, `tell`, `time`, `tm`, `unknown`, `unload`), NameBuiltin, Push("params-in-brace")}, - {`([\w.-]+)`, NameVariable, Push("params-in-brace")}, - {`#`, Comment, Push("comment")}, - }, - "command-in-bracket": { - {Words(`\b`, `\b`, `after`, `apply`, `array`, `break`, `catch`, `continue`, `elseif`, `else`, `error`, `eval`, `expr`, `for`, `foreach`, `global`, `if`, `namespace`, `proc`, `rename`, `return`, `set`, `switch`, `then`, `trace`, `unset`, `update`, `uplevel`, `upvar`, `variable`, `vwait`, `while`), Keyword, Push("params-in-bracket")}, - {Words(`\b`, `\b`, `append`, `bgerror`, `binary`, `cd`, `chan`, `clock`, `close`, `concat`, `dde`, `dict`, `encoding`, `eof`, `exec`, `exit`, `fblocked`, `fconfigure`, `fcopy`, `file`, `fileevent`, `flush`, `format`, `gets`, `glob`, `history`, `http`, `incr`, `info`, `interp`, `join`, `lappend`, `lassign`, `lindex`, `linsert`, `list`, `llength`, `load`, `loadTk`, `lrange`, `lrepeat`, `lreplace`, `lreverse`, `lsearch`, `lset`, `lsort`, `mathfunc`, `mathop`, `memory`, `msgcat`, `open`, `package`, `pid`, `pkg::create`, `pkg_mkIndex`, `platform`, `platform::shell`, `puts`, `pwd`, `re_syntax`, `read`, `refchan`, `regexp`, `registry`, `regsub`, `scan`, `seek`, `socket`, `source`, `split`, `string`, `subst`, `tell`, `time`, `tm`, `unknown`, `unload`), NameBuiltin, Push("params-in-bracket")}, - {`([\w.-]+)`, NameVariable, Push("params-in-bracket")}, - {`#`, Comment, Push("comment")}, - }, - "command-in-paren": { - {Words(`\b`, `\b`, `after`, `apply`, `array`, `break`, `catch`, `continue`, `elseif`, `else`, `error`, `eval`, `expr`, `for`, `foreach`, `global`, `if`, `namespace`, `proc`, `rename`, `return`, `set`, `switch`, `then`, `trace`, `unset`, `update`, `uplevel`, `upvar`, `variable`, `vwait`, `while`), Keyword, Push("params-in-paren")}, - {Words(`\b`, `\b`, `append`, `bgerror`, `binary`, `cd`, `chan`, `clock`, `close`, `concat`, `dde`, `dict`, `encoding`, `eof`, `exec`, `exit`, `fblocked`, `fconfigure`, `fcopy`, `file`, `fileevent`, `flush`, `format`, `gets`, `glob`, `history`, `http`, `incr`, `info`, `interp`, `join`, `lappend`, `lassign`, `lindex`, `linsert`, `list`, `llength`, `load`, `loadTk`, `lrange`, `lrepeat`, `lreplace`, `lreverse`, `lsearch`, `lset`, `lsort`, `mathfunc`, `mathop`, `memory`, `msgcat`, `open`, `package`, `pid`, `pkg::create`, `pkg_mkIndex`, `platform`, `platform::shell`, `puts`, `pwd`, `re_syntax`, `read`, `refchan`, `regexp`, `registry`, `regsub`, `scan`, `seek`, `socket`, `source`, `split`, `string`, `subst`, `tell`, `time`, `tm`, `unknown`, `unload`), NameBuiltin, Push("params-in-paren")}, - {`([\w.-]+)`, NameVariable, Push("params-in-paren")}, - {`#`, Comment, Push("comment")}, - }, - "basic": { - {`\(`, Keyword, Push("paren")}, - {`\[`, Keyword, Push("bracket")}, - {`\{`, Keyword, Push("brace")}, - {`"`, LiteralStringDouble, Push("string")}, - {`(eq|ne|in|ni)\b`, OperatorWord, nil}, - {`!=|==|<<|>>|<=|>=|&&|\|\||\*\*|[-+~!*/%<>&^|?:]`, Operator, nil}, - }, - "data": { - {`\s+`, Text, nil}, - {`0x[a-fA-F0-9]+`, LiteralNumberHex, nil}, - {`0[0-7]+`, LiteralNumberOct, nil}, - {`\d+\.\d+`, LiteralNumberFloat, nil}, - {`\d+`, LiteralNumberInteger, nil}, - {`\$([\w.:-]+)`, NameVariable, nil}, - {`([\w.:-]+)`, Text, nil}, - }, - "params": { - {`;`, Keyword, Pop(1)}, - {`\n`, Text, Pop(1)}, - {`(else|elseif|then)\b`, Keyword, nil}, - Include("basic"), - Include("data"), - }, - "params-in-brace": { - {`\}`, Keyword, Push("#pop", "#pop")}, - Include("params"), - }, - "params-in-paren": { - {`\)`, Keyword, Push("#pop", "#pop")}, - Include("params"), - }, - "params-in-bracket": { - {`\]`, Keyword, Push("#pop", "#pop")}, - Include("params"), - }, - "string": { - {`\[`, LiteralStringDouble, Push("string-square")}, - {`(?s)(\\\\|\\[0-7]+|\\.|[^"\\])`, LiteralStringDouble, nil}, - {`"`, LiteralStringDouble, Pop(1)}, - }, - "string-square": { - {`\[`, LiteralStringDouble, Push("string-square")}, - {`(?s)(\\\\|\\[0-7]+|\\.|\\\n|[^\]\\])`, LiteralStringDouble, nil}, - {`\]`, LiteralStringDouble, Pop(1)}, - }, - "brace": { - {`\}`, Keyword, Pop(1)}, - Include("command-in-brace"), - Include("basic"), - Include("data"), - }, - "paren": { - {`\)`, Keyword, Pop(1)}, - Include("command-in-paren"), - Include("basic"), - Include("data"), - }, - "bracket": { - {`\]`, Keyword, Pop(1)}, - Include("command-in-bracket"), - Include("basic"), - Include("data"), - }, - "comment": { - {`.*[^\\]\n`, Comment, Pop(1)}, - {`.*\\\n`, Comment, nil}, - }, - }, -)) diff --git a/vendor/github.com/alecthomas/chroma/lexers/t/tcsh.go b/vendor/github.com/alecthomas/chroma/lexers/t/tcsh.go deleted file mode 100644 index e36bdfd8..00000000 --- a/vendor/github.com/alecthomas/chroma/lexers/t/tcsh.go +++ /dev/null @@ -1,59 +0,0 @@ -package t - -import ( - . "github.com/alecthomas/chroma" // nolint - "github.com/alecthomas/chroma/lexers/internal" -) - -// Tcsh lexer. -var Tcsh = internal.Register(MustNewLexer( - &Config{ - Name: "Tcsh", - Aliases: []string{"tcsh", "csh"}, - Filenames: []string{"*.tcsh", "*.csh"}, - MimeTypes: []string{"application/x-csh"}, - }, - Rules{ - "root": { - Include("basic"), - {`\$\(`, Keyword, Push("paren")}, - {`\$\{#?`, Keyword, Push("curly")}, - {"`", LiteralStringBacktick, Push("backticks")}, - Include("data"), - }, - "basic": { - {`\b(if|endif|else|while|then|foreach|case|default|continue|goto|breaksw|end|switch|endsw)\s*\b`, Keyword, nil}, - {`\b(alias|alloc|bg|bindkey|break|builtins|bye|caller|cd|chdir|complete|dirs|echo|echotc|eval|exec|exit|fg|filetest|getxvers|glob|getspath|hashstat|history|hup|inlib|jobs|kill|limit|log|login|logout|ls-F|migrate|newgrp|nice|nohup|notify|onintr|popd|printenv|pushd|rehash|repeat|rootnode|popd|pushd|set|shift|sched|setenv|setpath|settc|setty|setxvers|shift|source|stop|suspend|source|suspend|telltc|time|umask|unalias|uncomplete|unhash|universe|unlimit|unset|unsetenv|ver|wait|warp|watchlog|where|which)\s*\b`, NameBuiltin, nil}, - {`#.*`, Comment, nil}, - {`\\[\w\W]`, LiteralStringEscape, nil}, - {`(\b\w+)(\s*)(=)`, ByGroups(NameVariable, Text, Operator), nil}, - {`[\[\]{}()=]+`, Operator, nil}, - {`<<\s*(\'?)\\?(\w+)[\w\W]+?\2`, LiteralString, nil}, - {`;`, Punctuation, nil}, - }, - "data": { - {`(?s)"(\\\\|\\[0-7]+|\\.|[^"\\])*"`, LiteralStringDouble, nil}, - {`(?s)'(\\\\|\\[0-7]+|\\.|[^'\\])*'`, LiteralStringSingle, nil}, - {`\s+`, Text, nil}, - {"[^=\\s\\[\\]{}()$\"\\'`\\\\;#]+", Text, nil}, - {`\d+(?= |\Z)`, LiteralNumber, nil}, - {`\$#?(\w+|.)`, NameVariable, nil}, - }, - "curly": { - {`\}`, Keyword, Pop(1)}, - {`:-`, Keyword, nil}, - {`\w+`, NameVariable, nil}, - {"[^}:\"\\'`$]+", Punctuation, nil}, - {`:`, Punctuation, nil}, - Include("root"), - }, - "paren": { - {`\)`, Keyword, Pop(1)}, - Include("root"), - }, - "backticks": { - {"`", LiteralStringBacktick, Pop(1)}, - Include("root"), - }, - }, -)) diff --git a/vendor/github.com/alecthomas/chroma/lexers/t/termcap.go b/vendor/github.com/alecthomas/chroma/lexers/t/termcap.go deleted file mode 100644 index 21b7d15c..00000000 --- a/vendor/github.com/alecthomas/chroma/lexers/t/termcap.go +++ /dev/null @@ -1,42 +0,0 @@ -package t - -import ( - . "github.com/alecthomas/chroma" // nolint - "github.com/alecthomas/chroma/lexers/internal" -) - -// Termcap lexer. -var Termcap = internal.Register(MustNewLexer( - &Config{ - Name: "Termcap", - Aliases: []string{"termcap"}, - Filenames: []string{"termcap", "termcap.src"}, - MimeTypes: []string{}, - }, - Rules{ - "root": { - {`^#.*$`, Comment, nil}, - {`^[^\s#:|]+`, NameTag, Push("names")}, - }, - "names": { - {`\n`, Text, Pop(1)}, - {`:`, Punctuation, Push("defs")}, - {`\|`, Punctuation, nil}, - {`[^:|]+`, NameAttribute, nil}, - }, - "defs": { - {`\\\n[ \t]*`, Text, nil}, - {`\n[ \t]*`, Text, Pop(2)}, - {`(#)([0-9]+)`, ByGroups(Operator, LiteralNumber), nil}, - {`=`, Operator, Push("data")}, - {`:`, Punctuation, nil}, - {`[^\s:=#]+`, NameClass, nil}, - }, - "data": { - {`\\072`, Literal, nil}, - {`:`, Punctuation, Pop(1)}, - {`[^:\\]+`, Literal, nil}, - {`.`, Literal, nil}, - }, - }, -)) diff --git a/vendor/github.com/alecthomas/chroma/lexers/t/terminfo.go b/vendor/github.com/alecthomas/chroma/lexers/t/terminfo.go deleted file mode 100644 index 79749e12..00000000 --- a/vendor/github.com/alecthomas/chroma/lexers/t/terminfo.go +++ /dev/null @@ -1,42 +0,0 @@ -package t - -import ( - . "github.com/alecthomas/chroma" // nolint - "github.com/alecthomas/chroma/lexers/internal" -) - -// Terminfo lexer. -var Terminfo = internal.Register(MustNewLexer( - &Config{ - Name: "Terminfo", - Aliases: []string{"terminfo"}, - Filenames: []string{"terminfo", "terminfo.src"}, - MimeTypes: []string{}, - }, - Rules{ - "root": { - {`^#.*$`, Comment, nil}, - {`^[^\s#,|]+`, NameTag, Push("names")}, - }, - "names": { - {`\n`, Text, Pop(1)}, - {`(,)([ \t]*)`, ByGroups(Punctuation, Text), Push("defs")}, - {`\|`, Punctuation, nil}, - {`[^,|]+`, NameAttribute, nil}, - }, - "defs": { - {`\n[ \t]+`, Text, nil}, - {`\n`, Text, Pop(2)}, - {`(#)([0-9]+)`, ByGroups(Operator, LiteralNumber), nil}, - {`=`, Operator, Push("data")}, - {`(,)([ \t]*)`, ByGroups(Punctuation, Text), nil}, - {`[^\s,=#]+`, NameClass, nil}, - }, - "data": { - {`\\[,\\]`, Literal, nil}, - {`(,)([ \t]*)`, ByGroups(Punctuation, Text), Pop(1)}, - {`[^\\,]+`, Literal, nil}, - {`.`, Literal, nil}, - }, - }, -)) diff --git a/vendor/github.com/alecthomas/chroma/lexers/t/terraform.go b/vendor/github.com/alecthomas/chroma/lexers/t/terraform.go deleted file mode 100644 index 05125f70..00000000 --- a/vendor/github.com/alecthomas/chroma/lexers/t/terraform.go +++ /dev/null @@ -1,69 +0,0 @@ -package t - -import ( - . "github.com/alecthomas/chroma" // nolint - "github.com/alecthomas/chroma/lexers/internal" -) - -// Terraform lexer. -var Terraform = internal.Register(MustNewLexer( - &Config{ - Name: "Terraform", - Aliases: []string{"terraform", "tf"}, - Filenames: []string{"*.tf"}, - MimeTypes: []string{"application/x-tf", "application/x-terraform"}, - }, - Rules{ - "root": { - Include("string"), - Include("punctuation"), - Include("curly"), - Include("basic"), - Include("whitespace"), - {`[0-9]+`, LiteralNumber, nil}, - }, - "basic": { - {Words(`\b`, `\b`, `true`, `false`), KeywordType, nil}, - {`\s*/\*`, CommentMultiline, Push("comment")}, - {`\s*#.*\n`, CommentSingle, nil}, - {`(.*?)(\s*)(=)`, ByGroups(NameAttribute, Text, Operator), nil}, - {Words(`\b`, `\b`, `variable`, `resource`, `provider`, `provisioner`, `module`), KeywordReserved, Push("function")}, - {Words(`\b`, `\b`, `ingress`, `egress`, `listener`, `default`, `connection`, `alias`), KeywordDeclaration, nil}, - {`\$\{`, LiteralStringInterpol, Push("var_builtin")}, - }, - "function": { - {`(\s+)(".*")(\s+)`, ByGroups(Text, LiteralString, Text), nil}, - Include("punctuation"), - Include("curly"), - }, - "var_builtin": { - {`\$\{`, LiteralStringInterpol, Push()}, - {Words(`\b`, `\b`, `concat`, `file`, `join`, `lookup`, `element`), NameBuiltin, nil}, - Include("string"), - Include("punctuation"), - {`\s+`, Text, nil}, - {`\}`, LiteralStringInterpol, Pop(1)}, - }, - "string": { - {`(".*")`, ByGroups(LiteralStringDouble), nil}, - }, - "punctuation": { - {`[\[\](),.]`, Punctuation, nil}, - }, - "curly": { - {`\{`, TextPunctuation, nil}, - {`\}`, TextPunctuation, nil}, - }, - "comment": { - {`[^*/]`, CommentMultiline, nil}, - {`/\*`, CommentMultiline, Push()}, - {`\*/`, CommentMultiline, Pop(1)}, - {`[*/]`, CommentMultiline, nil}, - }, - "whitespace": { - {`\n`, Text, nil}, - {`\s+`, Text, nil}, - {`\\\n`, Text, nil}, - }, - }, -)) diff --git a/vendor/github.com/alecthomas/chroma/lexers/t/tex.go b/vendor/github.com/alecthomas/chroma/lexers/t/tex.go deleted file mode 100644 index f1010c4a..00000000 --- a/vendor/github.com/alecthomas/chroma/lexers/t/tex.go +++ /dev/null @@ -1,56 +0,0 @@ -package t - -import ( - . "github.com/alecthomas/chroma" // nolint - "github.com/alecthomas/chroma/lexers/internal" -) - -// Tex lexer. -var TeX = internal.Register(MustNewLexer( - &Config{ - Name: "TeX", - Aliases: []string{"tex", "latex"}, - Filenames: []string{"*.tex", "*.aux", "*.toc"}, - MimeTypes: []string{"text/x-tex", "text/x-latex"}, - }, - Rules{ - "general": { - {`%.*?\n`, Comment, nil}, - {`[{}]`, NameBuiltin, nil}, - {`[&_^]`, NameBuiltin, nil}, - }, - "root": { - {`\\\[`, LiteralStringBacktick, Push("displaymath")}, - {`\\\(`, LiteralString, Push("inlinemath")}, - {`\$\$`, LiteralStringBacktick, Push("displaymath")}, - {`\$`, LiteralString, Push("inlinemath")}, - {`\\([a-zA-Z]+|.)`, Keyword, Push("command")}, - {`\\$`, Keyword, nil}, - Include("general"), - {`[^\\$%&_^{}]+`, Text, nil}, - }, - "math": { - {`\\([a-zA-Z]+|.)`, NameVariable, nil}, - Include("general"), - {`[0-9]+`, LiteralNumber, nil}, - {`[-=!+*/()\[\]]`, Operator, nil}, - {`[^=!+*/()\[\]\\$%&_^{}0-9-]+`, NameBuiltin, nil}, - }, - "inlinemath": { - {`\\\)`, LiteralString, Pop(1)}, - {`\$`, LiteralString, Pop(1)}, - Include("math"), - }, - "displaymath": { - {`\\\]`, LiteralString, Pop(1)}, - {`\$\$`, LiteralString, Pop(1)}, - {`\$`, NameBuiltin, nil}, - Include("math"), - }, - "command": { - {`\[.*?\]`, NameAttribute, nil}, - {`\*`, Keyword, nil}, - Default(Pop(1)), - }, - }, -)) diff --git a/vendor/github.com/alecthomas/chroma/lexers/t/thrift.go b/vendor/github.com/alecthomas/chroma/lexers/t/thrift.go deleted file mode 100644 index 5cbd0af9..00000000 --- a/vendor/github.com/alecthomas/chroma/lexers/t/thrift.go +++ /dev/null @@ -1,73 +0,0 @@ -package t - -import ( - . "github.com/alecthomas/chroma" // nolint - "github.com/alecthomas/chroma/lexers/internal" -) - -// Thrift lexer. -var Thrift = internal.Register(MustNewLexer( - &Config{ - Name: "Thrift", - Aliases: []string{"thrift"}, - Filenames: []string{"*.thrift"}, - MimeTypes: []string{"application/x-thrift"}, - }, - Rules{ - "root": { - Include("whitespace"), - Include("comments"), - {`"`, LiteralStringDouble, Combined("stringescape", "dqs")}, - {`\'`, LiteralStringSingle, Combined("stringescape", "sqs")}, - {`(namespace)(\s+)`, ByGroups(KeywordNamespace, TextWhitespace), Push("namespace")}, - {`(enum|union|struct|service|exception)(\s+)`, ByGroups(KeywordDeclaration, TextWhitespace), Push("class")}, - {`((?:(?:[^\W\d]|\$)[\w.\[\]$<>]*\s+)+?)((?:[^\W\d]|\$)[\w$]*)(\s*)(\()`, ByGroups(UsingSelf("root"), NameFunction, Text, Operator), nil}, - Include("keywords"), - Include("numbers"), - {`[&=]`, Operator, nil}, - {`[:;,{}()<>\[\]]`, Punctuation, nil}, - {`[a-zA-Z_](\.\w|\w)*`, Name, nil}, - }, - "whitespace": { - {`\n`, TextWhitespace, nil}, - {`\s+`, TextWhitespace, nil}, - }, - "comments": { - {`#.*$`, Comment, nil}, - {`//.*?\n`, Comment, nil}, - {`/\*[\w\W]*?\*/`, CommentMultiline, nil}, - }, - "stringescape": { - {`\\([\\nrt"\'])`, LiteralStringEscape, nil}, - }, - "dqs": { - {`"`, LiteralStringDouble, Pop(1)}, - {`[^\\"\n]+`, LiteralStringDouble, nil}, - }, - "sqs": { - {`'`, LiteralStringSingle, Pop(1)}, - {`[^\\\'\n]+`, LiteralStringSingle, nil}, - }, - "namespace": { - {`[a-z*](\.\w|\w)*`, NameNamespace, Pop(1)}, - Default(Pop(1)), - }, - "class": { - {`[a-zA-Z_]\w*`, NameClass, Pop(1)}, - Default(Pop(1)), - }, - "keywords": { - {`(async|oneway|extends|throws|required|optional)\b`, Keyword, nil}, - {`(true|false)\b`, KeywordConstant, nil}, - {`(const|typedef)\b`, KeywordDeclaration, nil}, - {Words(``, `\b`, `cpp_namespace`, `cpp_include`, `cpp_type`, `java_package`, `cocoa_prefix`, `csharp_namespace`, `delphi_namespace`, `php_namespace`, `py_module`, `perl_package`, `ruby_namespace`, `smalltalk_category`, `smalltalk_prefix`, `xsd_all`, `xsd_optional`, `xsd_nillable`, `xsd_namespace`, `xsd_attrs`, `include`), KeywordNamespace, nil}, - {Words(``, `\b`, `void`, `bool`, `byte`, `i16`, `i32`, `i64`, `double`, `string`, `binary`, `map`, `list`, `set`, `slist`, `senum`), KeywordType, nil}, - {Words(`\b`, `\b`, `BEGIN`, `END`, `__CLASS__`, `__DIR__`, `__FILE__`, `__FUNCTION__`, `__LINE__`, `__METHOD__`, `__NAMESPACE__`, `abstract`, `alias`, `and`, `args`, `as`, `assert`, `begin`, `break`, `case`, `catch`, `class`, `clone`, `continue`, `declare`, `def`, `default`, `del`, `delete`, `do`, `dynamic`, `elif`, `else`, `elseif`, `elsif`, `end`, `enddeclare`, `endfor`, `endforeach`, `endif`, `endswitch`, `endwhile`, `ensure`, `except`, `exec`, `finally`, `float`, `for`, `foreach`, `function`, `global`, `goto`, `if`, `implements`, `import`, `in`, `inline`, `instanceof`, `interface`, `is`, `lambda`, `module`, `native`, `new`, `next`, `nil`, `not`, `or`, `pass`, `public`, `print`, `private`, `protected`, `raise`, `redo`, `rescue`, `retry`, `register`, `return`, `self`, `sizeof`, `static`, `super`, `switch`, `synchronized`, `then`, `this`, `throw`, `transient`, `try`, `undef`, `unless`, `unsigned`, `until`, `use`, `var`, `virtual`, `volatile`, `when`, `while`, `with`, `xor`, `yield`), KeywordReserved, nil}, - }, - "numbers": { - {`[+-]?(\d+\.\d+([eE][+-]?\d+)?|\.?\d+[eE][+-]?\d+)`, LiteralNumberFloat, nil}, - {`[+-]?0x[0-9A-Fa-f]+`, LiteralNumberHex, nil}, - {`[+-]?[0-9]+`, LiteralNumberInteger, nil}, - }, - }, -)) diff --git a/vendor/github.com/alecthomas/chroma/lexers/t/toml.go b/vendor/github.com/alecthomas/chroma/lexers/t/toml.go deleted file mode 100644 index 68bfc905..00000000 --- a/vendor/github.com/alecthomas/chroma/lexers/t/toml.go +++ /dev/null @@ -1,29 +0,0 @@ -package t - -import ( - . "github.com/alecthomas/chroma" // nolint - "github.com/alecthomas/chroma/lexers/internal" -) - -var TOML = internal.Register(MustNewLexer( - &Config{ - Name: "TOML", - Aliases: []string{"toml"}, - Filenames: []string{"*.toml"}, - MimeTypes: []string{"text/x-toml"}, - }, - Rules{ - "root": { - {`\s+`, Text, nil}, - {`#.*`, Comment, nil}, - {Words(``, `\b`, `true`, `false`), KeywordConstant, nil}, - {`\d\d\d\d-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d\+)?(Z|[+-]\d{2}:\d{2})`, LiteralDate, nil}, - {`[+-]?[0-9](_?\d)*\.\d+`, LiteralNumberFloat, nil}, - {`[+-]?[0-9](_?\d)*`, LiteralNumberInteger, nil}, - {`"(\\\\|\\"|[^"])*"`, StringDouble, nil}, - {`'(\\\\|\\'|[^'])*'`, StringSingle, nil}, - {`[.,=\[\]]`, Punctuation, nil}, - {`[^\W\d]\w*`, NameOther, nil}, - }, - }, -)) diff --git a/vendor/github.com/alecthomas/chroma/lexers/t/tradingview.go b/vendor/github.com/alecthomas/chroma/lexers/t/tradingview.go deleted file mode 100644 index e411411e..00000000 --- a/vendor/github.com/alecthomas/chroma/lexers/t/tradingview.go +++ /dev/null @@ -1,36 +0,0 @@ -package t - -import ( - . "github.com/alecthomas/chroma" // nolint - "github.com/alecthomas/chroma/lexers/internal" -) - -// TradingView lexer. -var TradingView = internal.Register(MustNewLexer( - &Config{ - Name: "TradingView", - Aliases: []string{"tradingview", "tv"}, - Filenames: []string{"*.tv"}, - MimeTypes: []string{"text/x-tradingview"}, - DotAll: true, - }, - Rules{ - "root": { - {`[^\S\n]+|\n|[()]`, Text, nil}, - {`(//.*?)(\n)`, ByGroups(CommentSingle, Text), nil}, - {`>=|<=|==|!=|>|<|\?|-|\+|\*|\/|%|\[|\]`, Operator, nil}, - {`[:,.]`, Punctuation, nil}, - {`=`, KeywordPseudo, nil}, - {`"(\\\\|\\"|[^"\n])*["\n]`, LiteralString, nil}, - {`'\\.'|'[^\\]'`, LiteralString, nil}, - {`[0-9](\.[0-9]*)?([eE][+-][0-9]+)?`, LiteralNumber, nil}, - {`(abs|acos|alertcondition|alma|asin|atan|atr|avg|barcolor|barssince|bgcolor|cci|ceil|change|cog|correlation|cos|crossover|crossunder|cum|dev|ema|exp|falling|fill|fixnan|floor|heikinashi|highest|highestbars|hline|iff|input|kagi|linebreak|linreg|log|log10|lowest|lowestbars|macd|max|min|mom|nz|percentile_linear_interpolation|percentile_nearest_rank|percentrank|pivothigh|pivotlow|plot|plotarrow|plotbar|plotcandle|plotchar|plotshape|pointfigure|pow|renko|rising|rma|roc|round|rsi|sar|security|sign|sin|sma|sqrt|stdev|stoch|study|sum|swma|tan|tostring|tsi|valuewhen|variance|vwma|wma|strategy\.(cancel|cancel_all|close|close_all|entry|exit|order)|strategy\.risk\.(allow_entry_in|max_cons_loss_days|max_drawdown|max_intraday_filled_orders|max_intraday_loss|max_position_size))\b`, NameFunction, nil}, - {`\b(cross|dayofmonth|dayofweek|hour|minute|month|na|offset|second|tickerid|time|tr|vwap|weekofyear|year)(\()`, ByGroups(NameFunction, Text), nil}, // functions that can also be variable - {`(accdist|aqua|area|areabr|black|blue|bool|circles|close|columns|currency\.(AUD|CAD|CHF|EUR|GBP|HKD|JPY|NOK|NONE|NZD|SEK|SGD|TRY|USD|ZAR)|dashed|dotted|float|friday|fuchsia|gray|green|high|histogram|hl2|hlc3|integer|interval|isdaily|isdwm|isintraday|ismonthly|isweekly|lime|line|linebr|location\.(abovebar|belowbar|bottom|top)|low|maroon|monday|n|navy|ohlc4|olive|open|orange|period|purple|red|resolution|saturday|scale\.(left|none|right)|session|session\.(extended|regular)|silver|size\.(auto|huge|large|normal|small|tiny)|solid|source|string|sunday|symbol|syminfo\.(mintick|pointvalue|prefix|root|session)|teal|thursday|ticker|tuesday|volume|wednesday|white|yellow|strategy\.(cash|position_size|closedtrades|direction\.(all|long|short)|equity|eventrades|fixed|grossloss|grossprofit|initial_capital|long|losstrades|max_contracts_held_all|max_contracts_held_long|max_contracts_held_short|max_drawdown|netprofit|oca\.(cancel|none|reduce)|openprofit|opentrades|percent_of_equity|position_avg_price|position_entry_name|short|wintrades)|shape\.(arrowdown|arrowup|circle|cross|diamond|flag|labeldown|labelup|square|triangledown|triangleup|xcross)|barstate\.is(first|history|last|new|realtime)|barmerge\.(gaps_on|gaps_off|lookahead_on|lookahead_off)|strategy\.commission\.(cash_per_contract|cash_per_order|percent))\b`, NameVariable, nil}, - {`(cross|dayofmonth|dayofweek|hour|minute|month|na|second|tickerid|time|tr|vwap|weekofyear|year)(\b[^\(])`, ByGroups(NameVariable, Text), nil}, // variables that can also be function - {`(true|false)\b`, KeywordConstant, nil}, - {`(and|or|not|if|else|for|to)\b`, OperatorWord, nil}, - {`@?[_a-zA-Z]\w*`, Text, nil}, - }, - }, -)) diff --git a/vendor/github.com/alecthomas/chroma/lexers/t/transactsql.go b/vendor/github.com/alecthomas/chroma/lexers/t/transactsql.go deleted file mode 100644 index 769a2f91..00000000 --- a/vendor/github.com/alecthomas/chroma/lexers/t/transactsql.go +++ /dev/null @@ -1,60 +0,0 @@ -package t - -import ( - . "github.com/alecthomas/chroma" // nolint - "github.com/alecthomas/chroma/lexers/internal" -) - -// TransactSQL lexer. -var TransactSQL = internal.Register(MustNewLexer( - &Config{ - Name: "Transact-SQL", - Aliases: []string{"tsql", "t-sql"}, - MimeTypes: []string{"text/x-tsql"}, - NotMultiline: true, - CaseInsensitive: true, - }, - Rules{ - "root": { - {`\s+`, TextWhitespace, nil}, - {`--(?m).*?$\n?`, CommentSingle, nil}, - {`/\*`, CommentMultiline, Push("multiline-comments")}, - {`'`, LiteralStringSingle, Push("string")}, - {`"`, LiteralStringName, Push("quoted-ident")}, - {Words(``, ``, `!<`, `!=`, `!>`, `<`, `<=`, `<>`, `=`, `>`, `>=`, `+`, `+=`, `-`, `-=`, `*`, `*=`, `/`, `/=`, `%`, `%=`, `&`, `&=`, `|`, `|=`, `^`, `^=`, `~`, `::`), Operator, nil}, - {Words(``, `\b`, `all`, `and`, `any`, `between`, `except`, `exists`, `in`, `intersect`, `like`, `not`, `or`, `some`, `union`), OperatorWord, nil}, - {Words(``, `\b`, `bigint`, `binary`, `bit`, `char`, `cursor`, `date`, `datetime`, `datetime2`, `datetimeoffset`, `decimal`, `float`, `hierarchyid`, `image`, `int`, `money`, `nchar`, `ntext`, `numeric`, `nvarchar`, `real`, `smalldatetime`, `smallint`, `smallmoney`, `sql_variant`, `table`, `text`, `time`, `timestamp`, `tinyint`, `uniqueidentifier`, `varbinary`, `varchar`, `xml`), NameClass, nil}, - {Words(``, `\b`, `$partition`, `abs`, `acos`, `app_name`, `applock_mode`, `applock_test`, `ascii`, `asin`, `assemblyproperty`, `atan`, `atn2`, `avg`, `binary_checksum`, `cast`, `ceiling`, `certencoded`, `certprivatekey`, `char`, `charindex`, `checksum`, `checksum_agg`, `choose`, `col_length`, `col_name`, `columnproperty`, `compress`, `concat`, `connectionproperty`, `context_info`, `convert`, `cos`, `cot`, `count`, `count_big`, `current_request_id`, `current_timestamp`, `current_transaction_id`, `current_user`, `cursor_status`, `database_principal_id`, `databasepropertyex`, `dateadd`, `datediff`, `datediff_big`, `datefromparts`, `datename`, `datepart`, `datetime2fromparts`, `datetimefromparts`, `datetimeoffsetfromparts`, `day`, `db_id`, `db_name`, `decompress`, `degrees`, `dense_rank`, `difference`, `eomonth`, `error_line`, `error_message`, `error_number`, `error_procedure`, `error_severity`, `error_state`, `exp`, `file_id`, `file_idex`, `file_name`, `filegroup_id`, `filegroup_name`, `filegroupproperty`, `fileproperty`, `floor`, `format`, `formatmessage`, `fulltextcatalogproperty`, `fulltextserviceproperty`, `get_filestream_transaction_context`, `getansinull`, `getdate`, `getutcdate`, `grouping`, `grouping_id`, `has_perms_by_name`, `host_id`, `host_name`, `iif`, `index_col`, `indexkey_property`, `indexproperty`, `is_member`, `is_rolemember`, `is_srvrolemember`, `isdate`, `isjson`, `isnull`, `isnumeric`, `json_modify`, `json_query`, `json_value`, `left`, `len`, `log`, `log10`, `lower`, `ltrim`, `max`, `min`, `min_active_rowversion`, `month`, `nchar`, `newid`, `newsequentialid`, `ntile`, `object_definition`, `object_id`, `object_name`, `object_schema_name`, `objectproperty`, `objectpropertyex`, `opendatasource`, `openjson`, `openquery`, `openrowset`, `openxml`, `original_db_name`, `original_login`, `parse`, `parsename`, `patindex`, `permissions`, `pi`, `power`, `pwdcompare`, `pwdencrypt`, `quotename`, `radians`, `rand`, `rank`, `replace`, `replicate`, `reverse`, `right`, `round`, `row_number`, `rowcount_big`, `rtrim`, `schema_id`, `schema_name`, `scope_identity`, `serverproperty`, `session_context`, `session_user`, `sign`, `sin`, `smalldatetimefromparts`, `soundex`, `sp_helplanguage`, `space`, `sqrt`, `square`, `stats_date`, `stdev`, `stdevp`, `str`, `string_escape`, `string_split`, `stuff`, `substring`, `sum`, `suser_id`, `suser_name`, `suser_sid`, `suser_sname`, `switchoffset`, `sysdatetime`, `sysdatetimeoffset`, `system_user`, `sysutcdatetime`, `tan`, `textptr`, `textvalid`, `timefromparts`, `todatetimeoffset`, `try_cast`, `try_convert`, `try_parse`, `type_id`, `type_name`, `typeproperty`, `unicode`, `upper`, `user_id`, `user_name`, `var`, `varp`, `xact_state`, `year`), NameFunction, nil}, - {`(goto)(\s+)(\w+\b)`, ByGroups(Keyword, TextWhitespace, NameLabel), nil}, - {Words(``, `\b`, `absolute`, `action`, `ada`, `add`, `admin`, `after`, `aggregate`, `alias`, `all`, `allocate`, `alter`, `and`, `any`, `are`, `array`, `as`, `asc`, `asensitive`, `assertion`, `asymmetric`, `at`, `atomic`, `authorization`, `avg`, `backup`, `before`, `begin`, `between`, `binary`, `bit`, `bit_length`, `blob`, `boolean`, `both`, `breadth`, `break`, `browse`, `bulk`, `by`, `call`, `called`, `cardinality`, `cascade`, `cascaded`, `case`, `cast`, `catalog`, `catch`, `char`, `char_length`, `character`, `character_length`, `check`, `checkpoint`, `class`, `clob`, `close`, `clustered`, `coalesce`, `collate`, `collation`, `collect`, `column`, `commit`, `completion`, `compute`, `condition`, `connect`, `connection`, `constraint`, `constraints`, `constructor`, `contains`, `containstable`, `continue`, `convert`, `corr`, `corresponding`, `count`, `covar_pop`, `covar_samp`, `create`, `cross`, `cube`, `cume_dist`, `current`, `current_catalog`, `current_date`, `current_default_transform_group`, `current_path`, `current_role`, `current_schema`, `current_time`, `current_timestamp`, `current_transform_group_for_type`, `current_user`, `cursor`, `cycle`, `data`, `database`, `date`, `day`, `dbcc`, `deallocate`, `dec`, `decimal`, `declare`, `default`, `deferrable`, `deferred`, `delete`, `deny`, `depth`, `deref`, `desc`, `describe`, `descriptor`, `destroy`, `destructor`, `deterministic`, `diagnostics`, `dictionary`, `disconnect`, `disk`, `distinct`, `distributed`, `domain`, `double`, `drop`, `dump`, `dynamic`, `each`, `element`, `else`, `end`, `end-exec`, `equals`, `errlvl`, `escape`, `every`, `except`, `exception`, `exec`, `execute`, `exists`, `exit`, `external`, `extract`, `false`, `fetch`, `file`, `fillfactor`, `filter`, `first`, `float`, `for`, `foreign`, `fortran`, `found`, `free`, `freetext`, `freetexttable`, `from`, `full`, `fulltexttable`, `function`, `fusion`, `general`, `get`, `global`, `go`, `goto`, `grant`, `group`, `grouping`, `having`, `hold`, `holdlock`, `host`, `hour`, `identity`, `identity_insert`, `identitycol`, `if`, `ignore`, `immediate`, `in`, `include`, `index`, `indicator`, `initialize`, `initially`, `inner`, `inout`, `input`, `insensitive`, `insert`, `int`, `integer`, `intersect`, `intersection`, `interval`, `into`, `is`, `isolation`, `iterate`, `join`, `key`, `kill`, `language`, `large`, `last`, `lateral`, `leading`, `left`, `less`, `level`, `like`, `like_regex`, `limit`, `lineno`, `ln`, `load`, `local`, `localtime`, `localtimestamp`, `locator`, `lower`, `map`, `match`, `max`, `member`, `merge`, `method`, `min`, `minute`, `mod`, `modifies`, `modify`, `module`, `month`, `multiset`, `names`, `national`, `natural`, `nchar`, `nclob`, `new`, `next`, `no`, `nocheck`, `nonclustered`, `none`, `normalize`, `not`, `null`, `nullif`, `numeric`, `object`, `occurrences_regex`, `octet_length`, `of`, `off`, `offsets`, `old`, `on`, `only`, `open`, `opendatasource`, `openquery`, `openrowset`, `openxml`, `operation`, `option`, `or`, `order`, `ordinality`, `out`, `outer`, `output`, `over`, `overlaps`, `overlay`, `pad`, `parameter`, `parameters`, `partial`, `partition`, `pascal`, `path`, `percent`, `percent_rank`, `percentile_cont`, `percentile_disc`, `pivot`, `plan`, `position`, `position_regex`, `postfix`, `precision`, `prefix`, `preorder`, `prepare`, `preserve`, `primary`, `print`, `prior`, `privileges`, `proc`, `procedure`, `public`, `raiserror`, `range`, `read`, `reads`, `readtext`, `real`, `reconfigure`, `recursive`, `ref`, `references`, `referencing`, `regr_avgx`, `regr_avgy`, `regr_count`, `regr_intercept`, `regr_r2`, `regr_slope`, `regr_sxx`, `regr_sxy`, `regr_syy`, `relative`, `release`, `replication`, `restore`, `restrict`, `result`, `return`, `returns`, `revert`, `revoke`, `right`, `role`, `rollback`, `rollup`, `routine`, `row`, `rowcount`, `rowguidcol`, `rows`, `rule`, `save`, `savepoint`, `schema`, `scope`, `scroll`, `search`, `second`, `section`, `securityaudit`, `select`, `semantickeyphrasetable`, `semanticsimilaritydetailstable`, `semanticsimilaritytable`, `sensitive`, `sequence`, `session`, `session_user`, `set`, `sets`, `setuser`, `shutdown`, `similar`, `size`, `smallint`, `some`, `space`, `specific`, `specifictype`, `sql`, `sqlca`, `sqlcode`, `sqlerror`, `sqlexception`, `sqlstate`, `sqlwarning`, `start`, `state`, `statement`, `static`, `statistics`, `stddev_pop`, `stddev_samp`, `structure`, `submultiset`, `substring`, `substring_regex`, `sum`, `symmetric`, `system`, `system_user`, `table`, `tablesample`, `temporary`, `terminate`, `textsize`, `than`, `then`, `throw`, `time`, `timestamp`, `timezone_hour`, `timezone_minute`, `to`, `top`, `trailing`, `tran`, `transaction`, `translate`, `translate_regex`, `translation`, `treat`, `trigger`, `trim`, `true`, `truncate`, `try`, `try_convert`, `tsequal`, `uescape`, `under`, `union`, `unique`, `unknown`, `unnest`, `unpivot`, `update`, `updatetext`, `upper`, `usage`, `use`, `user`, `using`, `value`, `values`, `var_pop`, `var_samp`, `varchar`, `variable`, `varying`, `view`, `waitfor`, `when`, `whenever`, `where`, `while`, `width_bucket`, `window`, `with`, `within`, `without`, `work`, `write`, `writetext`, `xmlagg`, `xmlattributes`, `xmlbinary`, `xmlcast`, `xmlcomment`, `xmlconcat`, `xmldocument`, `xmlelement`, `xmlexists`, `xmlforest`, `xmliterate`, `xmlnamespaces`, `xmlparse`, `xmlpi`, `xmlquery`, `xmlserialize`, `xmltable`, `xmltext`, `xmlvalidate`, `year`, `zone`), Keyword, nil}, - {`(\[)([^]]+)(\])`, ByGroups(Operator, Name, Operator), nil}, - {`0x[0-9a-f]+`, LiteralNumberHex, nil}, - {`[0-9]+\.[0-9]*(e[+-]?[0-9]+)?`, LiteralNumberFloat, nil}, - {`\.[0-9]+(e[+-]?[0-9]+)?`, LiteralNumberFloat, nil}, - {`[0-9]+e[+-]?[0-9]+`, LiteralNumberFloat, nil}, - {`[0-9]+`, LiteralNumberInteger, nil}, - {`[;(),.]`, Punctuation, nil}, - {`@@\w+`, NameBuiltin, nil}, - {`@\w+`, NameVariable, nil}, - {`(\w+)(:)`, ByGroups(NameLabel, Punctuation), nil}, - {`#?#?\w+`, Name, nil}, - {`\?`, NameVariableMagic, nil}, - }, - "multiline-comments": { - {`/\*`, CommentMultiline, Push("multiline-comments")}, - {`\*/`, CommentMultiline, Pop(1)}, - {`[^/*]+`, CommentMultiline, nil}, - {`[/*]`, CommentMultiline, nil}, - }, - "string": { - {`[^']+`, LiteralStringSingle, nil}, - {`''`, LiteralStringSingle, nil}, - {`'`, LiteralStringSingle, Pop(1)}, - }, - "quoted-ident": { - {`[^"]+`, LiteralStringName, nil}, - {`""`, LiteralStringName, nil}, - {`"`, LiteralStringName, Pop(1)}, - }, - }, -)) diff --git a/vendor/github.com/alecthomas/chroma/lexers/t/turtle.go b/vendor/github.com/alecthomas/chroma/lexers/t/turtle.go deleted file mode 100644 index 71d3c47b..00000000 --- a/vendor/github.com/alecthomas/chroma/lexers/t/turtle.go +++ /dev/null @@ -1,67 +0,0 @@ -package t - -import ( - . "github.com/alecthomas/chroma" // nolint - "github.com/alecthomas/chroma/lexers/internal" -) - -// Turtle lexer. -var Turtle = internal.Register(MustNewLexer( - &Config{ - Name: "Turtle", - Aliases: []string{"turtle"}, - Filenames: []string{"*.ttl"}, - MimeTypes: []string{"text/turtle", "application/x-turtle"}, - NotMultiline: true, - CaseInsensitive: true, - }, - Rules{ - "root": { - {`\s+`, TextWhitespace, nil}, - {"(@base|BASE)(\\s+)(<[^<>\"{}|^`\\\\\\x00-\\x20]*>)(\\s*)(\\.?)", ByGroups(Keyword, TextWhitespace, NameVariable, TextWhitespace, Punctuation), nil}, - {"(@prefix|PREFIX)(\\s+)((?:[a-z][\\w-]*)?\\:)(\\s+)(<[^<>\"{}|^`\\\\\\x00-\\x20]*>)(\\s*)(\\.?)", ByGroups(Keyword, TextWhitespace, NameNamespace, TextWhitespace, NameVariable, TextWhitespace, Punctuation), nil}, - {`(?<=\s)a(?=\s)`, KeywordType, nil}, - {"(<[^<>\"{}|^`\\\\\\x00-\\x20]*>)", NameVariable, nil}, - {`((?:[a-z][\w-]*)?\:)([a-z][\w-]*)`, ByGroups(NameNamespace, NameTag), nil}, - {`#[^\n]+`, Comment, nil}, - {`\b(true|false)\b`, Literal, nil}, - {`[+\-]?\d*\.\d+`, LiteralNumberFloat, nil}, - {`[+\-]?\d*(:?\.\d+)?E[+\-]?\d+`, LiteralNumberFloat, nil}, - {`[+\-]?\d+`, LiteralNumberInteger, nil}, - {`[\[\](){}.;,:^]`, Punctuation, nil}, - {`"""`, LiteralString, Push("triple-double-quoted-string")}, - {`"`, LiteralString, Push("single-double-quoted-string")}, - {`'''`, LiteralString, Push("triple-single-quoted-string")}, - {`'`, LiteralString, Push("single-single-quoted-string")}, - }, - "triple-double-quoted-string": { - {`"""`, LiteralString, Push("end-of-string")}, - {`[^\\]+`, LiteralString, nil}, - {`\\`, LiteralString, Push("string-escape")}, - }, - "single-double-quoted-string": { - {`"`, LiteralString, Push("end-of-string")}, - {`[^"\\\n]+`, LiteralString, nil}, - {`\\`, LiteralString, Push("string-escape")}, - }, - "triple-single-quoted-string": { - {`'''`, LiteralString, Push("end-of-string")}, - {`[^\\]+`, LiteralString, nil}, - {`\\`, LiteralString, Push("string-escape")}, - }, - "single-single-quoted-string": { - {`'`, LiteralString, Push("end-of-string")}, - {`[^'\\\n]+`, LiteralString, nil}, - {`\\`, LiteralString, Push("string-escape")}, - }, - "string-escape": { - {`.`, LiteralString, Pop(1)}, - }, - "end-of-string": { - {`(@)([a-z]+(:?-[a-z0-9]+)*)`, ByGroups(Operator, GenericEmph, GenericEmph), Pop(2)}, - {"(\\^\\^)(<[^<>\"{}|^`\\\\\\x00-\\x20]*>)", ByGroups(Operator, GenericEmph), Pop(2)}, - {`(\^\^)((?:[a-z][\w-]*)?\:)([a-z][\w-]*)`, ByGroups(Operator, GenericEmph, GenericEmph), Pop(2)}, - Default(Pop(2)), - }, - }, -)) diff --git a/vendor/github.com/alecthomas/chroma/lexers/t/twig.go b/vendor/github.com/alecthomas/chroma/lexers/t/twig.go deleted file mode 100644 index 56aa9b9a..00000000 --- a/vendor/github.com/alecthomas/chroma/lexers/t/twig.go +++ /dev/null @@ -1,54 +0,0 @@ -package t - -import ( - . "github.com/alecthomas/chroma" // nolint - "github.com/alecthomas/chroma/lexers/internal" -) - -// Twig lexer. -var Twig = internal.Register(MustNewLexer( - &Config{ - Name: "Twig", - Aliases: []string{"twig"}, - Filenames: []string{}, - MimeTypes: []string{"application/x-twig"}, - DotAll: true, - }, - Rules{ - "root": { - {`[^{]+`, Other, nil}, - {`\{\{`, CommentPreproc, Push("var")}, - {`\{\#.*?\#\}`, Comment, nil}, - {`(\{%)(-?\s*)(raw)(\s*-?)(%\})(.*?)(\{%)(-?\s*)(endraw)(\s*-?)(%\})`, ByGroups(CommentPreproc, Text, Keyword, Text, CommentPreproc, Other, CommentPreproc, Text, Keyword, Text, CommentPreproc), nil}, - {`(\{%)(-?\s*)(verbatim)(\s*-?)(%\})(.*?)(\{%)(-?\s*)(endverbatim)(\s*-?)(%\})`, ByGroups(CommentPreproc, Text, Keyword, Text, CommentPreproc, Other, CommentPreproc, Text, Keyword, Text, CommentPreproc), nil}, - {`(\{%)(-?\s*)(filter)(\s+)((?:[\\_a-z]|[^\x00-\x7f])(?:[\\\w-]|[^\x00-\x7f])*)`, ByGroups(CommentPreproc, Text, Keyword, Text, NameFunction), Push("tag")}, - {`(\{%)(-?\s*)([a-zA-Z_]\w*)`, ByGroups(CommentPreproc, Text, Keyword), Push("tag")}, - {`\{`, Other, nil}, - }, - "varnames": { - {`(\|)(\s*)((?:[\\_a-z]|[^\x00-\x7f])(?:[\\\w-]|[^\x00-\x7f])*)`, ByGroups(Operator, Text, NameFunction), nil}, - {`(is)(\s+)(not)?(\s*)((?:[\\_a-z]|[^\x00-\x7f])(?:[\\\w-]|[^\x00-\x7f])*)`, ByGroups(Keyword, Text, Keyword, Text, NameFunction), nil}, - {`(?i)(true|false|none|null)\b`, KeywordPseudo, nil}, - {`(in|not|and|b-and|or|b-or|b-xor|isif|elseif|else|importconstant|defined|divisibleby|empty|even|iterable|odd|sameasmatches|starts\s+with|ends\s+with)\b`, Keyword, nil}, - {`(loop|block|parent)\b`, NameBuiltin, nil}, - {`(?:[\\_a-z]|[^\x00-\x7f])(?:[\\\w-]|[^\x00-\x7f])*`, NameVariable, nil}, - {`\.(?:[\\_a-z]|[^\x00-\x7f])(?:[\\\w-]|[^\x00-\x7f])*`, NameVariable, nil}, - {`\.[0-9]+`, LiteralNumber, nil}, - {`:?"(\\\\|\\"|[^"])*"`, LiteralStringDouble, nil}, - {`:?'(\\\\|\\'|[^'])*'`, LiteralStringSingle, nil}, - {`([{}()\[\]+\-*/,:~%]|\.\.|\?|:|\*\*|\/\/|!=|[><=]=?)`, Operator, nil}, - {`[0-9](\.[0-9]*)?(eE[+-][0-9])?[flFLdD]?|0[xX][0-9a-fA-F]+[Ll]?`, LiteralNumber, nil}, - }, - "var": { - {`\s+`, Text, nil}, - {`(-?)(\}\})`, ByGroups(Text, CommentPreproc), Pop(1)}, - Include("varnames"), - }, - "tag": { - {`\s+`, Text, nil}, - {`(-?)(%\})`, ByGroups(Text, CommentPreproc), Pop(1)}, - Include("varnames"), - {`.`, Punctuation, nil}, - }, - }, -)) diff --git a/vendor/github.com/alecthomas/chroma/lexers/t/typescript.go b/vendor/github.com/alecthomas/chroma/lexers/t/typescript.go deleted file mode 100644 index 07bae024..00000000 --- a/vendor/github.com/alecthomas/chroma/lexers/t/typescript.go +++ /dev/null @@ -1,72 +0,0 @@ -package t - -import ( - . "github.com/alecthomas/chroma" // nolint - "github.com/alecthomas/chroma/lexers/internal" -) - -// TypeScript lexer. -var TypeScript = internal.Register(MustNewLexer( - &Config{ - Name: "TypeScript", - Aliases: []string{"ts", "typescript"}, - Filenames: []string{"*.ts", "*.tsx"}, - MimeTypes: []string{"text/x-typescript"}, - DotAll: true, - }, - Rules{ - "commentsandwhitespace": { - {`\s+`, Text, nil}, - {``, Comment, Pop(1)}, - {`-`, Comment, nil}, - }, - "tag": { - {`\s+`, Text, nil}, - {`[\w.:-]+\s*=`, NameAttribute, Push("attr")}, - {`/?\s*>`, NameTag, Pop(1)}, - }, - "attr": { - {`\s+`, Text, nil}, - {`".*?"`, LiteralString, Pop(1)}, - {`'.*?'`, LiteralString, Pop(1)}, - {`[^\s>]+`, LiteralString, Pop(1)}, - }, - }, -)) diff --git a/vendor/github.com/alecthomas/chroma/lexers/x/xorg.go b/vendor/github.com/alecthomas/chroma/lexers/x/xorg.go deleted file mode 100644 index 6e6cbec6..00000000 --- a/vendor/github.com/alecthomas/chroma/lexers/x/xorg.go +++ /dev/null @@ -1,25 +0,0 @@ -package x - -import ( - . "github.com/alecthomas/chroma" // nolint - "github.com/alecthomas/chroma/lexers/internal" -) - -// Xorg lexer. -var Xorg = internal.Register(MustNewLexer( - &Config{ - Name: "Xorg", - Aliases: []string{"xorg.conf"}, - Filenames: []string{"xorg.conf"}, - MimeTypes: []string{}, - }, - Rules{ - "root": { - {`\s+`, TextWhitespace, nil}, - {`#.*$`, Comment, nil}, - {`((|Sub)Section)(\s+)("\w+")`, ByGroups(KeywordNamespace, LiteralStringEscape, TextWhitespace, LiteralStringEscape), nil}, - {`(End(|Sub)Section)`, KeywordNamespace, nil}, - {`(\w+)(\s+)([^\n#]+)`, ByGroups(NameKeyword, TextWhitespace, LiteralString), nil}, - }, - }, -)) diff --git a/vendor/github.com/alecthomas/chroma/lexers/y/yaml.go b/vendor/github.com/alecthomas/chroma/lexers/y/yaml.go deleted file mode 100644 index 130c065f..00000000 --- a/vendor/github.com/alecthomas/chroma/lexers/y/yaml.go +++ /dev/null @@ -1,40 +0,0 @@ -package y - -import ( - . "github.com/alecthomas/chroma" // nolint - "github.com/alecthomas/chroma/lexers/internal" -) - -var YAML = internal.Register(MustNewLexer( - &Config{ - Name: "YAML", - Aliases: []string{"yaml"}, - Filenames: []string{"*.yaml", "*.yml"}, - MimeTypes: []string{"text/x-yaml"}, - }, - Rules{ - "root": { - Include("whitespace"), - {`#.*`, Comment, nil}, - {`!![^\s]+`, CommentPreproc, nil}, - {`&[^\s]+`, CommentPreproc, nil}, - {`\*[^\s]+`, CommentPreproc, nil}, - {`^%include\s+[^\n\r]+`, CommentPreproc, nil}, - {`([>|+-]\s+)(\s+)((?:(?:.*?$)(?:[\n\r]*?)?)*)`, ByGroups(StringDoc, StringDoc, StringDoc), nil}, - Include("value"), - {`[?:,\[\]]`, Punctuation, nil}, - {`.`, Text, nil}, - }, - "value": { - {Words(``, `\b`, "true", "false", "null"), KeywordConstant, nil}, - {`"(?:\\.|[^"])*"`, StringDouble, nil}, - {`'(?:\\.|[^'])*'`, StringSingle, nil}, - {`\d\d\d\d-\d\d-\d\d([T ]\d\d:\d\d:\d\d(\.\d+)?(Z|\s+[-+]\d+)?)?`, LiteralDate, nil}, - {`\b[+\-]?(0x[\da-f]+|0o[0-7]+|(\d+\.?\d*|\.?\d+)(e[\+\-]?\d+)?|\.inf|\.nan)\b`, Number, nil}, - {`\b[\w]+\b`, Text, nil}, - }, - "whitespace": { - {`\s+`, Whitespace, nil}, - }, - }, -)) diff --git a/vendor/github.com/alecthomas/chroma/mutators.go b/vendor/github.com/alecthomas/chroma/mutators.go deleted file mode 100644 index 05aede93..00000000 --- a/vendor/github.com/alecthomas/chroma/mutators.go +++ /dev/null @@ -1,131 +0,0 @@ -package chroma - -import ( - "fmt" - "strings" -) - -// A Mutator modifies the behaviour of the lexer. -type Mutator interface { - // Mutate the lexer state machine as it is processing. - Mutate(state *LexerState) error -} - -// A LexerMutator is an additional interface that a Mutator can implement -// to modify the lexer when it is compiled. -type LexerMutator interface { - // Rules are the lexer rules, state is the state key for the rule the mutator is associated with. - MutateLexer(rules CompiledRules, state string, rule int) error -} - -// A MutatorFunc is a Mutator that mutates the lexer state machine as it is processing. -type MutatorFunc func(state *LexerState) error - -func (m MutatorFunc) Mutate(state *LexerState) error { return m(state) } - -// Mutators applies a set of Mutators in order. -func Mutators(modifiers ...Mutator) MutatorFunc { - return func(state *LexerState) error { - for _, modifier := range modifiers { - if err := modifier.Mutate(state); err != nil { - return err - } - } - return nil - } -} - -type includeMutator struct { - state string -} - -// Include the given state. -func Include(state string) Rule { - return Rule{Mutator: &includeMutator{state}} -} - -func (i *includeMutator) Mutate(s *LexerState) error { - return fmt.Errorf("should never reach here Include(%q)", i.state) -} - -func (i *includeMutator) MutateLexer(rules CompiledRules, state string, rule int) error { - includedRules, ok := rules[i.state] - if !ok { - return fmt.Errorf("invalid include state %q", i.state) - } - rules[state] = append(rules[state][:rule], append(includedRules, rules[state][rule+1:]...)...) - return nil -} - -type combinedMutator struct { - states []string -} - -// Combined creates a new anonymous state from the given states, and pushes that state. -func Combined(states ...string) Mutator { - return &combinedMutator{states} -} - -func (c *combinedMutator) Mutate(s *LexerState) error { - return fmt.Errorf("should never reach here Combined(%v)", c.states) -} - -func (c *combinedMutator) MutateLexer(rules CompiledRules, state string, rule int) error { - name := "__combined_" + strings.Join(c.states, "__") - if _, ok := rules[name]; !ok { - combined := []*CompiledRule{} - for _, state := range c.states { - rules, ok := rules[state] - if !ok { - return fmt.Errorf("invalid combine state %q", state) - } - combined = append(combined, rules...) - } - rules[name] = combined - } - rules[state][rule].Mutator = Push(name) - return nil -} - -// Push states onto the stack. -func Push(states ...string) MutatorFunc { - return func(s *LexerState) error { - if len(states) == 0 { - s.Stack = append(s.Stack, s.State) - } else { - for _, state := range states { - if state == "#pop" { - s.Stack = s.Stack[:len(s.Stack)-1] - } else { - s.Stack = append(s.Stack, state) - } - } - } - return nil - } -} - -// Pop state from the stack when rule matches. -func Pop(n int) MutatorFunc { - return func(state *LexerState) error { - if len(state.Stack) == 0 { - return fmt.Errorf("nothing to pop") - } - state.Stack = state.Stack[:len(state.Stack)-n] - return nil - } -} - -// Default returns a Rule that applies a set of Mutators. -func Default(mutators ...Mutator) Rule { - return Rule{Mutator: Mutators(mutators...)} -} - -// Stringify returns the raw string for a set of tokens. -func Stringify(tokens ...Token) string { - out := []string{} - for _, t := range tokens { - out = append(out, t.Value) - } - return strings.Join(out, "") -} diff --git a/vendor/github.com/alecthomas/chroma/pygments-lexers.txt b/vendor/github.com/alecthomas/chroma/pygments-lexers.txt deleted file mode 100644 index 9c9ced2e..00000000 --- a/vendor/github.com/alecthomas/chroma/pygments-lexers.txt +++ /dev/null @@ -1,325 +0,0 @@ -Generated with: - - g 'class.*RegexLexer' | pawk --strict -F: '"pygments.lexers.%s.%s" % (f[0].split(".")[0], f[2].split()[1].split("(")[0])' > lexers.txt - -perl6: - Requires a bunch of helpers that I do not have the time to convert. - -kotlin: - invalid unicode escape sequences - FIXED: Have to disable wide Unicode characters in unistring.py - -pygments.lexers.ambient.AmbientTalkLexer -pygments.lexers.ampl.AmplLexer -pygments.lexers.actionscript.ActionScriptLexer -pygments.lexers.actionscript.ActionScript3Lexer -pygments.lexers.actionscript.MxmlLexer -pygments.lexers.algebra.GAPLexer -pygments.lexers.algebra.MathematicaLexer -pygments.lexers.algebra.MuPADLexer -pygments.lexers.algebra.BCLexer -pygments.lexers.apl.APLLexer -pygments.lexers.bibtex.BibTeXLexer -pygments.lexers.bibtex.BSTLexer -pygments.lexers.basic.BlitzMaxLexer -pygments.lexers.basic.BlitzBasicLexer -pygments.lexers.basic.MonkeyLexer -pygments.lexers.basic.CbmBasicV2Lexer -pygments.lexers.basic.QBasicLexer -pygments.lexers.automation.AutohotkeyLexer -pygments.lexers.automation.AutoItLexer -pygments.lexers.archetype.AtomsLexer -pygments.lexers.c_like.ClayLexer -pygments.lexers.c_like.ValaLexer -pygments.lexers.asm.GasLexer -pygments.lexers.asm.ObjdumpLexer -pygments.lexers.asm.HsailLexer -pygments.lexers.asm.LlvmLexer -pygments.lexers.asm.NasmLexer -pygments.lexers.asm.TasmLexer -pygments.lexers.asm.Ca65Lexer -pygments.lexers.business.CobolLexer -pygments.lexers.business.ABAPLexer -pygments.lexers.business.OpenEdgeLexer -pygments.lexers.business.GoodDataCLLexer -pygments.lexers.business.MaqlLexer -pygments.lexers.capnproto.CapnProtoLexer -pygments.lexers.chapel.ChapelLexer -pygments.lexers.clean.CleanLexer -pygments.lexers.c_cpp.CFamilyLexer -pygments.lexers.console.VCTreeStatusLexer -pygments.lexers.console.PyPyLogLexer -pygments.lexers.csound.CsoundLexer -pygments.lexers.csound.CsoundDocumentLexer -pygments.lexers.csound.CsoundDocumentLexer -pygments.lexers.crystal.CrystalLexer -pygments.lexers.dalvik.SmaliLexer -pygments.lexers.css.CssLexer -pygments.lexers.css.SassLexer -pygments.lexers.css.ScssLexer -pygments.lexers.configs.IniLexer -pygments.lexers.configs.RegeditLexer -pygments.lexers.configs.PropertiesLexer -pygments.lexers.configs.KconfigLexer -pygments.lexers.configs.Cfengine3Lexer -pygments.lexers.configs.ApacheConfLexer -pygments.lexers.configs.SquidConfLexer -pygments.lexers.configs.NginxConfLexer -pygments.lexers.configs.LighttpdConfLexer -pygments.lexers.configs.DockerLexer -pygments.lexers.configs.TerraformLexer -pygments.lexers.configs.TermcapLexer -pygments.lexers.configs.TerminfoLexer -pygments.lexers.configs.PkgConfigLexer -pygments.lexers.configs.PacmanConfLexer -pygments.lexers.data.YamlLexer -pygments.lexers.data.JsonLexer -pygments.lexers.diff.DiffLexer -pygments.lexers.diff.DarcsPatchLexer -pygments.lexers.diff.WDiffLexer -pygments.lexers.dotnet.CSharpLexer -pygments.lexers.dotnet.NemerleLexer -pygments.lexers.dotnet.BooLexer -pygments.lexers.dotnet.VbNetLexer -pygments.lexers.dotnet.GenericAspxLexer -pygments.lexers.dotnet.FSharpLexer -pygments.lexers.dylan.DylanLexer -pygments.lexers.dylan.DylanLidLexer -pygments.lexers.ecl.ECLLexer -pygments.lexers.eiffel.EiffelLexer -pygments.lexers.dsls.ProtoBufLexer -pygments.lexers.dsls.ThriftLexer -pygments.lexers.dsls.BroLexer -pygments.lexers.dsls.PuppetLexer -pygments.lexers.dsls.RslLexer -pygments.lexers.dsls.MscgenLexer -pygments.lexers.dsls.VGLLexer -pygments.lexers.dsls.AlloyLexer -pygments.lexers.dsls.PanLexer -pygments.lexers.dsls.CrmshLexer -pygments.lexers.dsls.FlatlineLexer -pygments.lexers.dsls.SnowballLexer -pygments.lexers.elm.ElmLexer -pygments.lexers.erlang.ErlangLexer -pygments.lexers.erlang.ElixirLexer -pygments.lexers.ezhil.EzhilLexer -pygments.lexers.esoteric.BrainfuckLexer -pygments.lexers.esoteric.BefungeLexer -pygments.lexers.esoteric.CAmkESLexer -pygments.lexers.esoteric.CapDLLexer -pygments.lexers.esoteric.RedcodeLexer -pygments.lexers.esoteric.AheuiLexer -pygments.lexers.factor.FactorLexer -pygments.lexers.fantom.FantomLexer -pygments.lexers.felix.FelixLexer -pygments.lexers.forth.ForthLexer -pygments.lexers.fortran.FortranLexer -pygments.lexers.fortran.FortranFixedLexer -pygments.lexers.go.GoLexer -pygments.lexers.foxpro.FoxProLexer -pygments.lexers.graph.CypherLexer -pygments.lexers.grammar_notation.BnfLexer -pygments.lexers.grammar_notation.AbnfLexer -pygments.lexers.grammar_notation.JsgfLexer -pygments.lexers.graphics.GLShaderLexer -pygments.lexers.graphics.PostScriptLexer -pygments.lexers.graphics.AsymptoteLexer -pygments.lexers.graphics.GnuplotLexer -pygments.lexers.graphics.PovrayLexer -pygments.lexers.hexdump.HexdumpLexer -pygments.lexers.haskell.HaskellLexer -pygments.lexers.haskell.IdrisLexer -pygments.lexers.haskell.AgdaLexer -pygments.lexers.haskell.CryptolLexer -pygments.lexers.haskell.KokaLexer -pygments.lexers.haxe.HaxeLexer -pygments.lexers.haxe.HxmlLexer -pygments.lexers.hdl.VerilogLexer -pygments.lexers.hdl.SystemVerilogLexer -pygments.lexers.hdl.VhdlLexer -pygments.lexers.idl.IDLLexer -pygments.lexers.inferno.LimboLexer -pygments.lexers.igor.IgorLexer -pygments.lexers.html.HtmlLexer -pygments.lexers.html.DtdLexer -pygments.lexers.html.XmlLexer -pygments.lexers.html.HamlLexer -pygments.lexers.html.ScamlLexer -pygments.lexers.html.PugLexer -pygments.lexers.installers.NSISLexer -pygments.lexers.installers.RPMSpecLexer -pygments.lexers.installers.SourcesListLexer -pygments.lexers.installers.DebianControlLexer -pygments.lexers.iolang.IoLexer -pygments.lexers.julia.JuliaLexer -pygments.lexers.int_fiction.Inform6Lexer -pygments.lexers.int_fiction.Inform7Lexer -pygments.lexers.int_fiction.Tads3Lexer -pygments.lexers.make.BaseMakefileLexer -pygments.lexers.make.CMakeLexer -pygments.lexers.javascript.JavascriptLexer -pygments.lexers.javascript.KalLexer -pygments.lexers.javascript.LiveScriptLexer -pygments.lexers.javascript.DartLexer -pygments.lexers.javascript.TypeScriptLexer -pygments.lexers.javascript.LassoLexer -pygments.lexers.javascript.ObjectiveJLexer -pygments.lexers.javascript.CoffeeScriptLexer -pygments.lexers.javascript.MaskLexer -pygments.lexers.javascript.EarlGreyLexer -pygments.lexers.javascript.JuttleLexer -pygments.lexers.jvm.JavaLexer -pygments.lexers.jvm.ScalaLexer -pygments.lexers.jvm.GosuLexer -pygments.lexers.jvm.GroovyLexer -pygments.lexers.jvm.IokeLexer -pygments.lexers.jvm.ClojureLexer -pygments.lexers.jvm.TeaLangLexer -pygments.lexers.jvm.CeylonLexer -pygments.lexers.jvm.KotlinLexer -pygments.lexers.jvm.XtendLexer -pygments.lexers.jvm.PigLexer -pygments.lexers.jvm.GoloLexer -pygments.lexers.jvm.JasminLexer -pygments.lexers.markup.BBCodeLexer -pygments.lexers.markup.MoinWikiLexer -pygments.lexers.markup.RstLexer -pygments.lexers.markup.TexLexer -pygments.lexers.markup.GroffLexer -pygments.lexers.markup.MozPreprocHashLexer -pygments.lexers.markup.MarkdownLexer -pygments.lexers.ml.SMLLexer -pygments.lexers.ml.OcamlLexer -pygments.lexers.ml.OpaLexer -pygments.lexers.modeling.ModelicaLexer -pygments.lexers.modeling.BugsLexer -pygments.lexers.modeling.JagsLexer -pygments.lexers.modeling.StanLexer -pygments.lexers.matlab.MatlabLexer -pygments.lexers.matlab.OctaveLexer -pygments.lexers.matlab.ScilabLexer -pygments.lexers.monte.MonteLexer -pygments.lexers.lisp.SchemeLexer -pygments.lexers.lisp.CommonLispLexer -pygments.lexers.lisp.HyLexer -pygments.lexers.lisp.RacketLexer -pygments.lexers.lisp.NewLispLexer -pygments.lexers.lisp.EmacsLispLexer -pygments.lexers.lisp.ShenLexer -pygments.lexers.lisp.XtlangLexer -pygments.lexers.modula2.Modula2Lexer -pygments.lexers.ncl.NCLLexer -pygments.lexers.nim.NimLexer -pygments.lexers.nit.NitLexer -pygments.lexers.nix.NixLexer -pygments.lexers.oberon.ComponentPascalLexer -pygments.lexers.ooc.OocLexer -pygments.lexers.objective.SwiftLexer -pygments.lexers.parasail.ParaSailLexer -pygments.lexers.pawn.SourcePawnLexer -pygments.lexers.pawn.PawnLexer -pygments.lexers.pascal.AdaLexer -pygments.lexers.parsers.RagelLexer -pygments.lexers.parsers.RagelEmbeddedLexer -pygments.lexers.parsers.AntlrLexer -pygments.lexers.parsers.TreetopBaseLexer -pygments.lexers.parsers.EbnfLexer -pygments.lexers.php.ZephirLexer -pygments.lexers.php.PhpLexer -pygments.lexers.perl.PerlLexer -pygments.lexers.perl.Perl6Lexer -pygments.lexers.praat.PraatLexer -pygments.lexers.prolog.PrologLexer -pygments.lexers.prolog.LogtalkLexer -pygments.lexers.qvt.QVToLexer -pygments.lexers.rdf.SparqlLexer -pygments.lexers.rdf.TurtleLexer -pygments.lexers.python.PythonLexer -pygments.lexers.python.Python3Lexer -pygments.lexers.python.PythonTracebackLexer -pygments.lexers.python.Python3TracebackLexer -pygments.lexers.python.CythonLexer -pygments.lexers.python.DgLexer -pygments.lexers.rebol.RebolLexer -pygments.lexers.rebol.RedLexer -pygments.lexers.resource.ResourceLexer -pygments.lexers.rnc.RNCCompactLexer -pygments.lexers.roboconf.RoboconfGraphLexer -pygments.lexers.roboconf.RoboconfInstancesLexer -pygments.lexers.rust.RustLexer -pygments.lexers.ruby.RubyLexer -pygments.lexers.ruby.FancyLexer -pygments.lexers.sas.SASLexer -pygments.lexers.smalltalk.SmalltalkLexer -pygments.lexers.smalltalk.NewspeakLexer -pygments.lexers.smv.NuSMVLexer -pygments.lexers.shell.BashLexer -pygments.lexers.shell.BatchLexer -pygments.lexers.shell.TcshLexer -pygments.lexers.shell.PowerShellLexer -pygments.lexers.shell.FishShellLexer -pygments.lexers.snobol.SnobolLexer -pygments.lexers.scripting.LuaLexer -pygments.lexers.scripting.ChaiscriptLexer -pygments.lexers.scripting.LSLLexer -pygments.lexers.scripting.AppleScriptLexer -pygments.lexers.scripting.RexxLexer -pygments.lexers.scripting.MOOCodeLexer -pygments.lexers.scripting.HybrisLexer -pygments.lexers.scripting.EasytrieveLexer -pygments.lexers.scripting.JclLexer -pygments.lexers.supercollider.SuperColliderLexer -pygments.lexers.stata.StataLexer -pygments.lexers.tcl.TclLexer -pygments.lexers.sql.PostgresLexer -pygments.lexers.sql.PlPgsqlLexer -pygments.lexers.sql.PsqlRegexLexer -pygments.lexers.sql.SqlLexer -pygments.lexers.sql.TransactSqlLexer -pygments.lexers.sql.MySqlLexer -pygments.lexers.sql.RqlLexer -pygments.lexers.testing.GherkinLexer -pygments.lexers.testing.TAPLexer -pygments.lexers.textedit.AwkLexer -pygments.lexers.textedit.VimLexer -pygments.lexers.textfmts.IrcLogsLexer -pygments.lexers.textfmts.GettextLexer -pygments.lexers.textfmts.HttpLexer -pygments.lexers.textfmts.TodotxtLexer -pygments.lexers.trafficscript.RtsLexer -pygments.lexers.theorem.CoqLexer -pygments.lexers.theorem.IsabelleLexer -pygments.lexers.theorem.LeanLexer -pygments.lexers.templates.SmartyLexer -pygments.lexers.templates.VelocityLexer -pygments.lexers.templates.DjangoLexer -pygments.lexers.templates.MyghtyLexer -pygments.lexers.templates.MasonLexer -pygments.lexers.templates.MakoLexer -pygments.lexers.templates.CheetahLexer -pygments.lexers.templates.GenshiTextLexer -pygments.lexers.templates.GenshiMarkupLexer -pygments.lexers.templates.JspRootLexer -pygments.lexers.templates.EvoqueLexer -pygments.lexers.templates.ColdfusionLexer -pygments.lexers.templates.ColdfusionMarkupLexer -pygments.lexers.templates.TeaTemplateRootLexer -pygments.lexers.templates.HandlebarsLexer -pygments.lexers.templates.LiquidLexer -pygments.lexers.templates.TwigLexer -pygments.lexers.templates.Angular2Lexer -pygments.lexers.urbi.UrbiscriptLexer -pygments.lexers.typoscript.TypoScriptCssDataLexer -pygments.lexers.typoscript.TypoScriptHtmlDataLexer -pygments.lexers.typoscript.TypoScriptLexer -pygments.lexers.varnish.VCLLexer -pygments.lexers.verification.BoogieLexer -pygments.lexers.verification.SilverLexer -pygments.lexers.x10.X10Lexer -pygments.lexers.whiley.WhileyLexer -pygments.lexers.xorg.XorgLexer -pygments.lexers.webmisc.DuelLexer -pygments.lexers.webmisc.XQueryLexer -pygments.lexers.webmisc.QmlLexer -pygments.lexers.webmisc.CirruLexer -pygments.lexers.webmisc.SlimLexer diff --git a/vendor/github.com/alecthomas/chroma/regexp.go b/vendor/github.com/alecthomas/chroma/regexp.go deleted file mode 100644 index 607e3744..00000000 --- a/vendor/github.com/alecthomas/chroma/regexp.go +++ /dev/null @@ -1,409 +0,0 @@ -package chroma - -import ( - "fmt" - "os" - "regexp" - "strings" - "sync" - "unicode/utf8" - - "github.com/dlclark/regexp2" -) - -type Rule struct { - Pattern string - Type Emitter - Mutator Mutator -} - -// An Emitter takes group matches and returns tokens. -type Emitter interface { - // Emit tokens for the given regex groups. - Emit(groups []string, lexer Lexer) Iterator -} - -// EmitterFunc is a function that is an Emitter. -type EmitterFunc func(groups []string, lexer Lexer) Iterator - -// Emit tokens for groups. -func (e EmitterFunc) Emit(groups []string, lexer Lexer) Iterator { return e(groups, lexer) } - -// ByGroups emits a token for each matching group in the rule's regex. -func ByGroups(emitters ...Emitter) Emitter { - return EmitterFunc(func(groups []string, lexer Lexer) Iterator { - iterators := make([]Iterator, 0, len(groups)-1) - // NOTE: If this panics, there is a mismatch with groups - for i, group := range groups[1:] { - iterators = append(iterators, emitters[i].Emit([]string{group}, lexer)) - } - return Concaterator(iterators...) - }) -} - -// UsingByGroup emits tokens for the matched groups in the regex using a -// "sublexer". Used when lexing code blocks where the name of a sublexer is -// contained within the block, for example on a Markdown text block or SQL -// language block. -// -// The sublexer will be retrieved using sublexerGetFunc (typically -// internal.Get), using the captured value from the matched sublexerNameGroup. -// -// If sublexerGetFunc returns a non-nil lexer for the captured sublexerNameGroup, -// then tokens for the matched codeGroup will be emitted using the retrieved -// lexer. Otherwise, if the sublexer is nil, then tokens will be emitted from -// the passed emitter. -// -// Example: -// -// var Markdown = internal.Register(MustNewLexer( -// &Config{ -// Name: "markdown", -// Aliases: []string{"md", "mkd"}, -// Filenames: []string{"*.md", "*.mkd", "*.markdown"}, -// MimeTypes: []string{"text/x-markdown"}, -// }, -// Rules{ -// "root": { -// {"^(```)(\\w+)(\\n)([\\w\\W]*?)(^```$)", -// UsingByGroup( -// internal.Get, -// 2, 4, -// String, String, String, Text, String, -// ), -// nil, -// }, -// }, -// }, -// )) -// -// See the lexers/m/markdown.go for the complete example. -// -// Note: panic's if the number emitters does not equal the number of matched -// groups in the regex. -func UsingByGroup(sublexerGetFunc func(string) Lexer, sublexerNameGroup, codeGroup int, emitters ...Emitter) Emitter { - return EmitterFunc(func(groups []string, lexer Lexer) Iterator { - // bounds check - if len(emitters) != len(groups)-1 { - panic("UsingByGroup expects number of emitters to be the same as len(groups)-1") - } - - // grab sublexer - sublexer := sublexerGetFunc(groups[sublexerNameGroup]) - - // build iterators - iterators := make([]Iterator, len(groups)-1) - for i, group := range groups[1:] { - if i == codeGroup-1 && sublexer != nil { - var err error - iterators[i], err = sublexer.Tokenise(nil, groups[codeGroup]) - if err != nil { - panic(err) - } - } else { - iterators[i] = emitters[i].Emit([]string{group}, lexer) - } - } - - return Concaterator(iterators...) - }) -} - -// Using returns an Emitter that uses a given Lexer for parsing and emitting. -func Using(lexer Lexer) Emitter { - return EmitterFunc(func(groups []string, _ Lexer) Iterator { - it, err := lexer.Tokenise(&TokeniseOptions{State: "root", Nested: true}, groups[0]) - if err != nil { - panic(err) - } - return it - }) -} - -// UsingSelf is like Using, but uses the current Lexer. -func UsingSelf(state string) Emitter { - return EmitterFunc(func(groups []string, lexer Lexer) Iterator { - it, err := lexer.Tokenise(&TokeniseOptions{State: state, Nested: true}, groups[0]) - if err != nil { - panic(err) - } - return it - }) -} - -// Words creates a regex that matches any of the given literal words. -func Words(prefix, suffix string, words ...string) string { - for i, word := range words { - words[i] = regexp.QuoteMeta(word) - } - return prefix + `(` + strings.Join(words, `|`) + `)` + suffix -} - -// Tokenise text using lexer, returning tokens as a slice. -func Tokenise(lexer Lexer, options *TokeniseOptions, text string) ([]Token, error) { - var out []Token - it, err := lexer.Tokenise(options, text) - if err != nil { - return nil, err - } - for t := it(); t != EOF; t = it() { - out = append(out, t) - } - return out, nil -} - -// Rules maps from state to a sequence of Rules. -type Rules map[string][]Rule - -func (r Rules) Clone() Rules { - out := map[string][]Rule{} - for key, rules := range r { - out[key] = make([]Rule, len(rules)) - copy(out[key], rules) - } - return out -} - -// MustNewLexer creates a new Lexer or panics. -func MustNewLexer(config *Config, rules Rules) *RegexLexer { - lexer, err := NewLexer(config, rules) - if err != nil { - panic(err) - } - return lexer -} - -// NewLexer creates a new regex-based Lexer. -// -// "rules" is a state machine transitition map. Each key is a state. Values are sets of rules -// that match input, optionally modify lexer state, and output tokens. -func NewLexer(config *Config, rules Rules) (*RegexLexer, error) { - if config == nil { - config = &Config{} - } - if _, ok := rules["root"]; !ok { - return nil, fmt.Errorf("no \"root\" state") - } - compiledRules := map[string][]*CompiledRule{} - for state, rules := range rules { - compiledRules[state] = nil - for _, rule := range rules { - flags := "" - if !config.NotMultiline { - flags += "m" - } - if config.CaseInsensitive { - flags += "i" - } - if config.DotAll { - flags += "s" - } - compiledRules[state] = append(compiledRules[state], &CompiledRule{Rule: rule, flags: flags}) - } - } - return &RegexLexer{ - config: config, - rules: compiledRules, - }, nil -} - -func (r *RegexLexer) Trace(trace bool) *RegexLexer { - r.trace = trace - return r -} - -// A CompiledRule is a Rule with a pre-compiled regex. -// -// Note that regular expressions are lazily compiled on first use of the lexer. -type CompiledRule struct { - Rule - Regexp *regexp2.Regexp - flags string -} - -type CompiledRules map[string][]*CompiledRule - -type LexerState struct { - Lexer *RegexLexer - Text []rune - Pos int - Rules CompiledRules - Stack []string - State string - Rule int - // Group matches. - Groups []string - // Custum context for mutators. - MutatorContext map[interface{}]interface{} - iteratorStack []Iterator -} - -func (l *LexerState) Set(key interface{}, value interface{}) { - l.MutatorContext[key] = value -} - -func (l *LexerState) Get(key interface{}) interface{} { - return l.MutatorContext[key] -} - -func (l *LexerState) Iterator() Token { - for l.Pos < len(l.Text) && len(l.Stack) > 0 { - // Exhaust the iterator stack, if any. - for len(l.iteratorStack) > 0 { - n := len(l.iteratorStack) - 1 - t := l.iteratorStack[n]() - if t == EOF { - l.iteratorStack = l.iteratorStack[:n] - continue - } - return t - } - - l.State = l.Stack[len(l.Stack)-1] - if l.Lexer.trace { - fmt.Fprintf(os.Stderr, "%s: pos=%d, text=%q\n", l.State, l.Pos, string(l.Text[l.Pos:])) - } - selectedRule, ok := l.Rules[l.State] - if !ok { - panic("unknown state " + l.State) - } - ruleIndex, rule, groups := matchRules(l.Text[l.Pos:], selectedRule) - // No match. - if groups == nil { - l.Pos++ - return Token{Error, string(l.Text[l.Pos-1 : l.Pos])} - } - l.Rule = ruleIndex - l.Groups = groups - l.Pos += utf8.RuneCountInString(groups[0]) - if rule.Mutator != nil { - if err := rule.Mutator.Mutate(l); err != nil { - panic(err) - } - } - if rule.Type != nil { - l.iteratorStack = append(l.iteratorStack, rule.Type.Emit(l.Groups, l.Lexer)) - } - } - // Exhaust the IteratorStack, if any. - // Duplicate code, but eh. - for len(l.iteratorStack) > 0 { - n := len(l.iteratorStack) - 1 - t := l.iteratorStack[n]() - if t == EOF { - l.iteratorStack = l.iteratorStack[:n] - continue - } - return t - } - - // If we get to here and we still have text, return it as an error. - if l.Pos != len(l.Text) && len(l.Stack) == 0 { - value := string(l.Text[l.Pos:]) - l.Pos = len(l.Text) - return Token{Type: Error, Value: value} - } - return EOF -} - -type RegexLexer struct { - config *Config - analyser func(text string) float32 - trace bool - - mu sync.Mutex - compiled bool - rules map[string][]*CompiledRule -} - -// SetAnalyser sets the analyser function used to perform content inspection. -func (r *RegexLexer) SetAnalyser(analyser func(text string) float32) *RegexLexer { - r.analyser = analyser - return r -} - -func (r *RegexLexer) AnalyseText(text string) float32 { - if r.analyser != nil { - return r.analyser(text) - } - return 0.0 -} - -func (r *RegexLexer) Config() *Config { - return r.config -} - -// Regex compilation is deferred until the lexer is used. This is to avoid significant init() time costs. -func (r *RegexLexer) maybeCompile() (err error) { - r.mu.Lock() - defer r.mu.Unlock() - if r.compiled { - return nil - } - for state, rules := range r.rules { - for i, rule := range rules { - if rule.Regexp == nil { - rule.Regexp, err = regexp2.Compile("^(?"+rule.flags+")(?:"+rule.Pattern+")", 0) - if err != nil { - return fmt.Errorf("failed to compile rule %s.%d: %s", state, i, err) - } - } - } - } -restart: - seen := map[LexerMutator]bool{} - for state := range r.rules { - for i := 0; i < len(r.rules[state]); i++ { - rule := r.rules[state][i] - if compile, ok := rule.Mutator.(LexerMutator); ok { - if seen[compile] { - return fmt.Errorf("saw mutator %T twice; this should not happen", compile) - } - seen[compile] = true - if err := compile.MutateLexer(r.rules, state, i); err != nil { - return err - } - // Process the rules again in case the mutator added/removed rules. - // - // This sounds bad, but shouldn't be significant in practice. - goto restart - } - } - } - r.compiled = true - return nil -} - -func (r *RegexLexer) Tokenise(options *TokeniseOptions, text string) (Iterator, error) { - if err := r.maybeCompile(); err != nil { - return nil, err - } - if options == nil { - options = defaultOptions - } - if !options.Nested && r.config.EnsureNL && !strings.HasSuffix(text, "\n") { - text += "\n" - } - state := &LexerState{ - Lexer: r, - Text: []rune(text), - Stack: []string{options.State}, - Rules: r.rules, - MutatorContext: map[interface{}]interface{}{}, - } - return state.Iterator, nil -} - -func matchRules(text []rune, rules []*CompiledRule) (int, *CompiledRule, []string) { - for i, rule := range rules { - match, err := rule.Regexp.FindRunesMatch(text) - if match != nil && err == nil { - groups := []string{} - for _, g := range match.Groups() { - groups = append(groups, g.String()) - } - return i, rule, groups - } - } - return 0, &CompiledRule{}, nil -} diff --git a/vendor/github.com/alecthomas/chroma/remap.go b/vendor/github.com/alecthomas/chroma/remap.go deleted file mode 100644 index e6484f77..00000000 --- a/vendor/github.com/alecthomas/chroma/remap.go +++ /dev/null @@ -1,80 +0,0 @@ -package chroma - -type remappingLexer struct { - lexer Lexer - mapper func(Token) []Token -} - -// RemappingLexer remaps a token to a set of, potentially empty, tokens. -func RemappingLexer(lexer Lexer, mapper func(Token) []Token) Lexer { - return &remappingLexer{lexer, mapper} -} - -func (r *remappingLexer) Config() *Config { - return r.lexer.Config() -} - -func (r *remappingLexer) Tokenise(options *TokeniseOptions, text string) (Iterator, error) { - it, err := r.lexer.Tokenise(options, text) - if err != nil { - return nil, err - } - var buffer []Token - return func() Token { - for { - if len(buffer) > 0 { - t := buffer[0] - buffer = buffer[1:] - return t - } - t := it() - if t == EOF { - return t - } - buffer = r.mapper(t) - } - }, nil -} - -type TypeMapping []struct { - From, To TokenType - Words []string -} - -// TypeRemappingLexer remaps types of tokens coming from a parent Lexer. -// -// eg. Map "defvaralias" tokens of type NameVariable to NameFunction: -// -// mapping := TypeMapping{ -// {NameVariable, NameFunction, []string{"defvaralias"}, -// } -// lexer = TypeRemappingLexer(lexer, mapping) -func TypeRemappingLexer(lexer Lexer, mapping TypeMapping) Lexer { - // Lookup table for fast remapping. - lut := map[TokenType]map[string]TokenType{} - for _, rt := range mapping { - km, ok := lut[rt.From] - if !ok { - km = map[string]TokenType{} - lut[rt.From] = km - } - if len(rt.Words) == 0 { - km[""] = rt.To - } else { - for _, k := range rt.Words { - km[k] = rt.To - } - } - - } - return RemappingLexer(lexer, func(t Token) []Token { - if k, ok := lut[t.Type]; ok { - if tt, ok := k[t.Value]; ok { - t.Type = tt - } else if tt, ok := k[""]; ok { - t.Type = tt - } - } - return []Token{t} - }) -} diff --git a/vendor/github.com/alecthomas/chroma/style.go b/vendor/github.com/alecthomas/chroma/style.go deleted file mode 100644 index c768293b..00000000 --- a/vendor/github.com/alecthomas/chroma/style.go +++ /dev/null @@ -1,315 +0,0 @@ -package chroma - -import ( - "fmt" - "strings" -) - -// Trilean value for StyleEntry value inheritance. -type Trilean uint8 - -const ( - Pass Trilean = iota - Yes - No -) - -func (t Trilean) String() string { - switch t { - case Yes: - return "Yes" - case No: - return "No" - default: - return "Pass" - } -} - -func (t Trilean) Prefix(s string) string { - if t == Yes { - return s - } else if t == No { - return "no" + s - } - return "" -} - -// A StyleEntry in the Style map. -type StyleEntry struct { - // Hex colours. - Colour Colour - Background Colour - Border Colour - - Bold Trilean - Italic Trilean - Underline Trilean - NoInherit bool -} - -func (s StyleEntry) String() string { - out := []string{} - if s.Bold != Pass { - out = append(out, s.Bold.Prefix("bold")) - } - if s.Italic != Pass { - out = append(out, s.Italic.Prefix("italic")) - } - if s.Underline != Pass { - out = append(out, s.Underline.Prefix("underline")) - } - if s.NoInherit { - out = append(out, "noinherit") - } - if s.Colour.IsSet() { - out = append(out, s.Colour.String()) - } - if s.Background.IsSet() { - out = append(out, "bg:"+s.Background.String()) - } - if s.Border.IsSet() { - out = append(out, "border:"+s.Border.String()) - } - return strings.Join(out, " ") -} - -func (s StyleEntry) Sub(e StyleEntry) StyleEntry { - out := StyleEntry{} - if e.Colour != s.Colour { - out.Colour = s.Colour - } - if e.Background != s.Background { - out.Background = s.Background - } - if e.Bold != s.Bold { - out.Bold = s.Bold - } - if e.Italic != s.Italic { - out.Italic = s.Italic - } - if e.Underline != s.Underline { - out.Underline = s.Underline - } - if e.Border != s.Border { - out.Border = s.Border - } - return out -} - -// Inherit styles from ancestors. -// -// Ancestors should be provided from oldest to newest. -func (s StyleEntry) Inherit(ancestors ...StyleEntry) StyleEntry { - out := s - for i := len(ancestors) - 1; i >= 0; i-- { - if out.NoInherit { - return out - } - ancestor := ancestors[i] - if !out.Colour.IsSet() { - out.Colour = ancestor.Colour - } - if !out.Background.IsSet() { - out.Background = ancestor.Background - } - if !out.Border.IsSet() { - out.Border = ancestor.Border - } - if out.Bold == Pass { - out.Bold = ancestor.Bold - } - if out.Italic == Pass { - out.Italic = ancestor.Italic - } - if out.Underline == Pass { - out.Underline = ancestor.Underline - } - } - return out -} - -func (s StyleEntry) IsZero() bool { - return s.Colour == 0 && s.Background == 0 && s.Border == 0 && s.Bold == Pass && s.Italic == Pass && - s.Underline == Pass && !s.NoInherit -} - -// A StyleBuilder is a mutable structure for building styles. -// -// Once built, a Style is immutable. -type StyleBuilder struct { - entries map[TokenType]string - name string - parent *Style -} - -func NewStyleBuilder(name string) *StyleBuilder { - return &StyleBuilder{name: name, entries: map[TokenType]string{}} -} - -func (s *StyleBuilder) AddAll(entries StyleEntries) *StyleBuilder { - for ttype, entry := range entries { - s.entries[ttype] = entry - } - return s -} - -func (s *StyleBuilder) Get(ttype TokenType) StyleEntry { - // This is less than ideal, but it's the price for having to check errors on each Add(). - entry, _ := ParseStyleEntry(s.entries[ttype]) - return entry.Inherit(s.parent.Get(ttype)) -} - -// Add an entry to the Style map. -// -// See http://pygments.org/docs/styles/#style-rules for details. -func (s *StyleBuilder) Add(ttype TokenType, entry string) *StyleBuilder { // nolint: gocyclo - s.entries[ttype] = entry - return s -} - -func (s *StyleBuilder) AddEntry(ttype TokenType, entry StyleEntry) *StyleBuilder { - s.entries[ttype] = entry.String() - return s -} - -func (s *StyleBuilder) Build() (*Style, error) { - style := &Style{ - Name: s.name, - entries: map[TokenType]StyleEntry{}, - parent: s.parent, - } - for ttype, descriptor := range s.entries { - entry, err := ParseStyleEntry(descriptor) - if err != nil { - return nil, fmt.Errorf("invalid entry for %s: %s", ttype, err) - } - style.entries[ttype] = entry - } - return style, nil -} - -// StyleEntries mapping TokenType to colour definition. -type StyleEntries map[TokenType]string - -// NewStyle creates a new style definition. -func NewStyle(name string, entries StyleEntries) (*Style, error) { - return NewStyleBuilder(name).AddAll(entries).Build() -} - -// MustNewStyle creates a new style or panics. -func MustNewStyle(name string, entries StyleEntries) *Style { - style, err := NewStyle(name, entries) - if err != nil { - panic(err) - } - return style -} - -// A Style definition. -// -// See http://pygments.org/docs/styles/ for details. Semantics are intended to be identical. -type Style struct { - Name string - entries map[TokenType]StyleEntry - parent *Style -} - -// Types that are styled. -func (s *Style) Types() []TokenType { - dedupe := map[TokenType]bool{} - for tt := range s.entries { - dedupe[tt] = true - } - if s.parent != nil { - for _, tt := range s.parent.Types() { - dedupe[tt] = true - } - } - out := make([]TokenType, 0, len(dedupe)) - for tt := range dedupe { - out = append(out, tt) - } - return out -} - -// Builder creates a mutable builder from this Style. -// -// The builder can then be safely modified. This is a cheap operation. -func (s *Style) Builder() *StyleBuilder { - return &StyleBuilder{ - name: s.Name, - entries: map[TokenType]string{}, - parent: s, - } -} - -// Has checks if an exact style entry match exists for a token type. -// -// This is distinct from Get() which will merge parent tokens. -func (s *Style) Has(ttype TokenType) bool { - return !s.get(ttype).IsZero() -} - -func (s *Style) get(ttype TokenType) StyleEntry { - out := s.entries[ttype] - if out.IsZero() && s.parent != nil { - return s.parent.get(ttype) - } - return out -} - -// Get a style entry. Will try sub-category or category if an exact match is not found, and -// finally return the Background. -func (s *Style) Get(ttype TokenType) StyleEntry { - return s.get(ttype).Inherit( - s.get(Background), - s.get(Text), - s.get(ttype.Category()), - s.get(ttype.SubCategory())) -} - -// ParseStyleEntry parses a Pygments style entry. -func ParseStyleEntry(entry string) (StyleEntry, error) { // nolint: gocyclo - out := StyleEntry{} - parts := strings.Fields(entry) - for _, part := range parts { - switch { - case part == "italic": - out.Italic = Yes - case part == "noitalic": - out.Italic = No - case part == "bold": - out.Bold = Yes - case part == "nobold": - out.Bold = No - case part == "underline": - out.Underline = Yes - case part == "nounderline": - out.Underline = No - case part == "inherit": - out.NoInherit = false - case part == "noinherit": - out.NoInherit = true - case part == "bg:": - out.Background = 0 - case strings.HasPrefix(part, "bg:#"): - out.Background = ParseColour(part[3:]) - if !out.Background.IsSet() { - return StyleEntry{}, fmt.Errorf("invalid background colour %q", part) - } - case strings.HasPrefix(part, "border:#"): - out.Border = ParseColour(part[7:]) - if !out.Border.IsSet() { - return StyleEntry{}, fmt.Errorf("invalid border colour %q", part) - } - case strings.HasPrefix(part, "#"): - out.Colour = ParseColour(part) - if !out.Colour.IsSet() { - return StyleEntry{}, fmt.Errorf("invalid colour %q", part) - } - default: - return StyleEntry{}, fmt.Errorf("unknown style element %q", part) - } - } - return out, nil -} diff --git a/vendor/github.com/alecthomas/chroma/styles/abap.go b/vendor/github.com/alecthomas/chroma/styles/abap.go deleted file mode 100644 index b6d07fb2..00000000 --- a/vendor/github.com/alecthomas/chroma/styles/abap.go +++ /dev/null @@ -1,18 +0,0 @@ -package styles - -import ( - "github.com/alecthomas/chroma" -) - -// Abap style. -var Abap = Register(chroma.MustNewStyle("abap", chroma.StyleEntries{ - chroma.Comment: "italic #888", - chroma.CommentSpecial: "#888", - chroma.Keyword: "#00f", - chroma.OperatorWord: "#00f", - chroma.Name: "#000", - chroma.LiteralNumber: "#3af", - chroma.LiteralString: "#5a2", - chroma.Error: "#F00", - chroma.Background: " bg:#ffffff", -})) diff --git a/vendor/github.com/alecthomas/chroma/styles/algol.go b/vendor/github.com/alecthomas/chroma/styles/algol.go deleted file mode 100644 index 1e8a7b44..00000000 --- a/vendor/github.com/alecthomas/chroma/styles/algol.go +++ /dev/null @@ -1,25 +0,0 @@ -package styles - -import ( - "github.com/alecthomas/chroma" -) - -// Algol style. -var Algol = Register(chroma.MustNewStyle("algol", chroma.StyleEntries{ - chroma.Comment: "italic #888", - chroma.CommentPreproc: "bold noitalic #888", - chroma.CommentSpecial: "bold noitalic #888", - chroma.Keyword: "underline bold", - chroma.KeywordDeclaration: "italic", - chroma.NameBuiltin: "bold italic", - chroma.NameBuiltinPseudo: "bold italic", - chroma.NameNamespace: "bold italic #666", - chroma.NameClass: "bold italic #666", - chroma.NameFunction: "bold italic #666", - chroma.NameVariable: "bold italic #666", - chroma.NameConstant: "bold italic #666", - chroma.OperatorWord: "bold", - chroma.LiteralString: "italic #666", - chroma.Error: "border:#FF0000", - chroma.Background: " bg:#ffffff", -})) diff --git a/vendor/github.com/alecthomas/chroma/styles/algol_nu.go b/vendor/github.com/alecthomas/chroma/styles/algol_nu.go deleted file mode 100644 index 3d278735..00000000 --- a/vendor/github.com/alecthomas/chroma/styles/algol_nu.go +++ /dev/null @@ -1,25 +0,0 @@ -package styles - -import ( - "github.com/alecthomas/chroma" -) - -// Algol_Nu style. -var Algol_Nu = Register(chroma.MustNewStyle("algol_nu", chroma.StyleEntries{ - chroma.Comment: "italic #888", - chroma.CommentPreproc: "bold noitalic #888", - chroma.CommentSpecial: "bold noitalic #888", - chroma.Keyword: "bold", - chroma.KeywordDeclaration: "italic", - chroma.NameBuiltin: "bold italic", - chroma.NameBuiltinPseudo: "bold italic", - chroma.NameNamespace: "bold italic #666", - chroma.NameClass: "bold italic #666", - chroma.NameFunction: "bold italic #666", - chroma.NameVariable: "bold italic #666", - chroma.NameConstant: "bold italic #666", - chroma.OperatorWord: "bold", - chroma.LiteralString: "italic #666", - chroma.Error: "border:#FF0000", - chroma.Background: " bg:#ffffff", -})) diff --git a/vendor/github.com/alecthomas/chroma/styles/api.go b/vendor/github.com/alecthomas/chroma/styles/api.go deleted file mode 100644 index f3ce6739..00000000 --- a/vendor/github.com/alecthomas/chroma/styles/api.go +++ /dev/null @@ -1,37 +0,0 @@ -package styles - -import ( - "sort" - - "github.com/alecthomas/chroma" -) - -// Registry of Styles. -var Registry = map[string]*chroma.Style{} - -// Fallback style. Reassign to change the default fallback style. -var Fallback = SwapOff - -// Register a chroma.Style. -func Register(style *chroma.Style) *chroma.Style { - Registry[style.Name] = style - return style -} - -// Names of all available styles. -func Names() []string { - out := []string{} - for name := range Registry { - out = append(out, name) - } - sort.Strings(out) - return out -} - -// Get named style, or Fallback. -func Get(name string) *chroma.Style { - if style, ok := Registry[name]; ok { - return style - } - return Fallback -} diff --git a/vendor/github.com/alecthomas/chroma/styles/arduino.go b/vendor/github.com/alecthomas/chroma/styles/arduino.go deleted file mode 100644 index 9e48fb4a..00000000 --- a/vendor/github.com/alecthomas/chroma/styles/arduino.go +++ /dev/null @@ -1,25 +0,0 @@ -package styles - -import ( - "github.com/alecthomas/chroma" -) - -// Arduino style. -var Arduino = Register(chroma.MustNewStyle("arduino", chroma.StyleEntries{ - chroma.Error: "#a61717", - chroma.Comment: "#95a5a6", - chroma.CommentPreproc: "#728E00", - chroma.Keyword: "#728E00", - chroma.KeywordConstant: "#00979D", - chroma.KeywordPseudo: "#00979D", - chroma.KeywordReserved: "#00979D", - chroma.KeywordType: "#00979D", - chroma.Operator: "#728E00", - chroma.Name: "#434f54", - chroma.NameBuiltin: "#728E00", - chroma.NameFunction: "#D35400", - chroma.NameOther: "#728E00", - chroma.LiteralNumber: "#8A7B52", - chroma.LiteralString: "#7F8C8D", - chroma.Background: " bg:#ffffff", -})) diff --git a/vendor/github.com/alecthomas/chroma/styles/autumn.go b/vendor/github.com/alecthomas/chroma/styles/autumn.go deleted file mode 100644 index 3966372b..00000000 --- a/vendor/github.com/alecthomas/chroma/styles/autumn.go +++ /dev/null @@ -1,43 +0,0 @@ -package styles - -import ( - "github.com/alecthomas/chroma" -) - -// Autumn style. -var Autumn = Register(chroma.MustNewStyle("autumn", chroma.StyleEntries{ - chroma.TextWhitespace: "#bbbbbb", - chroma.Comment: "italic #aaaaaa", - chroma.CommentPreproc: "noitalic #4c8317", - chroma.CommentSpecial: "italic #0000aa", - chroma.Keyword: "#0000aa", - chroma.KeywordType: "#00aaaa", - chroma.OperatorWord: "#0000aa", - chroma.NameBuiltin: "#00aaaa", - chroma.NameFunction: "#00aa00", - chroma.NameClass: "underline #00aa00", - chroma.NameNamespace: "underline #00aaaa", - chroma.NameVariable: "#aa0000", - chroma.NameConstant: "#aa0000", - chroma.NameEntity: "bold #800", - chroma.NameAttribute: "#1e90ff", - chroma.NameTag: "bold #1e90ff", - chroma.NameDecorator: "#888888", - chroma.LiteralString: "#aa5500", - chroma.LiteralStringSymbol: "#0000aa", - chroma.LiteralStringRegex: "#009999", - chroma.LiteralNumber: "#009999", - chroma.GenericHeading: "bold #000080", - chroma.GenericSubheading: "bold #800080", - chroma.GenericDeleted: "#aa0000", - chroma.GenericInserted: "#00aa00", - chroma.GenericError: "#aa0000", - chroma.GenericEmph: "italic", - chroma.GenericStrong: "bold", - chroma.GenericPrompt: "#555555", - chroma.GenericOutput: "#888888", - chroma.GenericTraceback: "#aa0000", - chroma.GenericUnderline: "underline", - chroma.Error: "#F00 bg:#FAA", - chroma.Background: " bg:#ffffff", -})) diff --git a/vendor/github.com/alecthomas/chroma/styles/borland.go b/vendor/github.com/alecthomas/chroma/styles/borland.go deleted file mode 100644 index 9c0fff6f..00000000 --- a/vendor/github.com/alecthomas/chroma/styles/borland.go +++ /dev/null @@ -1,33 +0,0 @@ -package styles - -import ( - "github.com/alecthomas/chroma" -) - -// Borland style. -var Borland = Register(chroma.MustNewStyle("borland", chroma.StyleEntries{ - chroma.TextWhitespace: "#bbbbbb", - chroma.Comment: "italic #008800", - chroma.CommentPreproc: "noitalic #008080", - chroma.CommentSpecial: "noitalic bold", - chroma.LiteralString: "#0000FF", - chroma.LiteralStringChar: "#800080", - chroma.LiteralNumber: "#0000FF", - chroma.Keyword: "bold #000080", - chroma.OperatorWord: "bold", - chroma.NameTag: "bold #000080", - chroma.NameAttribute: "#FF0000", - chroma.GenericHeading: "#999999", - chroma.GenericSubheading: "#aaaaaa", - chroma.GenericDeleted: "bg:#ffdddd #000000", - chroma.GenericInserted: "bg:#ddffdd #000000", - chroma.GenericError: "#aa0000", - chroma.GenericEmph: "italic", - chroma.GenericStrong: "bold", - chroma.GenericPrompt: "#555555", - chroma.GenericOutput: "#888888", - chroma.GenericTraceback: "#aa0000", - chroma.GenericUnderline: "underline", - chroma.Error: "bg:#e3d2d2 #a61717", - chroma.Background: " bg:#ffffff", -})) diff --git a/vendor/github.com/alecthomas/chroma/styles/bw.go b/vendor/github.com/alecthomas/chroma/styles/bw.go deleted file mode 100644 index 3e800d5a..00000000 --- a/vendor/github.com/alecthomas/chroma/styles/bw.go +++ /dev/null @@ -1,30 +0,0 @@ -package styles - -import ( - "github.com/alecthomas/chroma" -) - -// BlackWhite style. -var BlackWhite = Register(chroma.MustNewStyle("bw", chroma.StyleEntries{ - chroma.Comment: "italic", - chroma.CommentPreproc: "noitalic", - chroma.Keyword: "bold", - chroma.KeywordPseudo: "nobold", - chroma.KeywordType: "nobold", - chroma.OperatorWord: "bold", - chroma.NameClass: "bold", - chroma.NameNamespace: "bold", - chroma.NameException: "bold", - chroma.NameEntity: "bold", - chroma.NameTag: "bold", - chroma.LiteralString: "italic", - chroma.LiteralStringInterpol: "bold", - chroma.LiteralStringEscape: "bold", - chroma.GenericHeading: "bold", - chroma.GenericSubheading: "bold", - chroma.GenericEmph: "italic", - chroma.GenericStrong: "bold", - chroma.GenericPrompt: "bold", - chroma.Error: "border:#FF0000", - chroma.Background: " bg:#ffffff", -})) diff --git a/vendor/github.com/alecthomas/chroma/styles/colorful.go b/vendor/github.com/alecthomas/chroma/styles/colorful.go deleted file mode 100644 index dc77c5bf..00000000 --- a/vendor/github.com/alecthomas/chroma/styles/colorful.go +++ /dev/null @@ -1,59 +0,0 @@ -package styles - -import ( - "github.com/alecthomas/chroma" -) - -// Colorful style. -var Colorful = Register(chroma.MustNewStyle("colorful", chroma.StyleEntries{ - chroma.TextWhitespace: "#bbbbbb", - chroma.Comment: "#888", - chroma.CommentPreproc: "#579", - chroma.CommentSpecial: "bold #cc0000", - chroma.Keyword: "bold #080", - chroma.KeywordPseudo: "#038", - chroma.KeywordType: "#339", - chroma.Operator: "#333", - chroma.OperatorWord: "bold #000", - chroma.NameBuiltin: "#007020", - chroma.NameFunction: "bold #06B", - chroma.NameClass: "bold #B06", - chroma.NameNamespace: "bold #0e84b5", - chroma.NameException: "bold #F00", - chroma.NameVariable: "#963", - chroma.NameVariableInstance: "#33B", - chroma.NameVariableClass: "#369", - chroma.NameVariableGlobal: "bold #d70", - chroma.NameConstant: "bold #036", - chroma.NameLabel: "bold #970", - chroma.NameEntity: "bold #800", - chroma.NameAttribute: "#00C", - chroma.NameTag: "#070", - chroma.NameDecorator: "bold #555", - chroma.LiteralString: "bg:#fff0f0", - chroma.LiteralStringChar: "#04D bg:", - chroma.LiteralStringDoc: "#D42 bg:", - chroma.LiteralStringInterpol: "bg:#eee", - chroma.LiteralStringEscape: "bold #666", - chroma.LiteralStringRegex: "bg:#fff0ff #000", - chroma.LiteralStringSymbol: "#A60 bg:", - chroma.LiteralStringOther: "#D20", - chroma.LiteralNumber: "bold #60E", - chroma.LiteralNumberInteger: "bold #00D", - chroma.LiteralNumberFloat: "bold #60E", - chroma.LiteralNumberHex: "bold #058", - chroma.LiteralNumberOct: "bold #40E", - chroma.GenericHeading: "bold #000080", - chroma.GenericSubheading: "bold #800080", - chroma.GenericDeleted: "#A00000", - chroma.GenericInserted: "#00A000", - chroma.GenericError: "#FF0000", - chroma.GenericEmph: "italic", - chroma.GenericStrong: "bold", - chroma.GenericPrompt: "bold #c65d09", - chroma.GenericOutput: "#888", - chroma.GenericTraceback: "#04D", - chroma.GenericUnderline: "underline", - chroma.Error: "#F00 bg:#FAA", - chroma.Background: " bg:#ffffff", -})) diff --git a/vendor/github.com/alecthomas/chroma/styles/dracula.go b/vendor/github.com/alecthomas/chroma/styles/dracula.go deleted file mode 100644 index 46e9d5b5..00000000 --- a/vendor/github.com/alecthomas/chroma/styles/dracula.go +++ /dev/null @@ -1,81 +0,0 @@ -package styles - -import ( - "github.com/alecthomas/chroma" -) - -// Dracula Style -var Dracula = Register(chroma.MustNewStyle("dracula", chroma.StyleEntries{ - chroma.Comment: "#6272a4", - chroma.CommentHashbang: "#6272a4", - chroma.CommentMultiline: "#6272a4", - chroma.CommentPreproc: "#ff79c6", - chroma.CommentSingle: "#6272a4", - chroma.CommentSpecial: "#6272a4", - chroma.Generic: "#f8f8f2", - chroma.GenericDeleted: "#8b080b", - chroma.GenericEmph: "#f8f8f2 underline", - chroma.GenericError: "#f8f8f2", - chroma.GenericHeading: "#f8f8f2 bold", - chroma.GenericInserted: "#f8f8f2 bold", - chroma.GenericOutput: "#44475a", - chroma.GenericPrompt: "#f8f8f2", - chroma.GenericStrong: "#f8f8f2", - chroma.GenericSubheading: "#f8f8f2 bold", - chroma.GenericTraceback: "#f8f8f2", - chroma.GenericUnderline: "underline", - chroma.Error: "#f8f8f2", - chroma.Keyword: "#ff79c6", - chroma.KeywordConstant: "#ff79c6", - chroma.KeywordDeclaration: "#8be9fd italic", - chroma.KeywordNamespace: "#ff79c6", - chroma.KeywordPseudo: "#ff79c6", - chroma.KeywordReserved: "#ff79c6", - chroma.KeywordType: "#8be9fd", - chroma.Literal: "#f8f8f2", - chroma.LiteralDate: "#f8f8f2", - chroma.Name: "#f8f8f2", - chroma.NameAttribute: "#50fa7b", - chroma.NameBuiltin: "#8be9fd italic", - chroma.NameBuiltinPseudo: "#f8f8f2", - chroma.NameClass: "#50fa7b", - chroma.NameConstant: "#f8f8f2", - chroma.NameDecorator: "#f8f8f2", - chroma.NameEntity: "#f8f8f2", - chroma.NameException: "#f8f8f2", - chroma.NameFunction: "#50fa7b", - chroma.NameLabel: "#8be9fd italic", - chroma.NameNamespace: "#f8f8f2", - chroma.NameOther: "#f8f8f2", - chroma.NameTag: "#ff79c6", - chroma.NameVariable: "#8be9fd italic", - chroma.NameVariableClass: "#8be9fd italic", - chroma.NameVariableGlobal: "#8be9fd italic", - chroma.NameVariableInstance: "#8be9fd italic", - chroma.LiteralNumber: "#bd93f9", - chroma.LiteralNumberBin: "#bd93f9", - chroma.LiteralNumberFloat: "#bd93f9", - chroma.LiteralNumberHex: "#bd93f9", - chroma.LiteralNumberInteger: "#bd93f9", - chroma.LiteralNumberIntegerLong: "#bd93f9", - chroma.LiteralNumberOct: "#bd93f9", - chroma.Operator: "#ff79c6", - chroma.OperatorWord: "#ff79c6", - chroma.Other: "#f8f8f2", - chroma.Punctuation: "#f8f8f2", - chroma.LiteralString: "#f1fa8c", - chroma.LiteralStringBacktick: "#f1fa8c", - chroma.LiteralStringChar: "#f1fa8c", - chroma.LiteralStringDoc: "#f1fa8c", - chroma.LiteralStringDouble: "#f1fa8c", - chroma.LiteralStringEscape: "#f1fa8c", - chroma.LiteralStringHeredoc: "#f1fa8c", - chroma.LiteralStringInterpol: "#f1fa8c", - chroma.LiteralStringOther: "#f1fa8c", - chroma.LiteralStringRegex: "#f1fa8c", - chroma.LiteralStringSingle: "#f1fa8c", - chroma.LiteralStringSymbol: "#f1fa8c", - chroma.Text: "#f8f8f2", - chroma.TextWhitespace: "#f8f8f2", - chroma.Background: " bg:#282a36", -})) diff --git a/vendor/github.com/alecthomas/chroma/styles/emacs.go b/vendor/github.com/alecthomas/chroma/styles/emacs.go deleted file mode 100644 index 4835abd7..00000000 --- a/vendor/github.com/alecthomas/chroma/styles/emacs.go +++ /dev/null @@ -1,51 +0,0 @@ -package styles - -import ( - "github.com/alecthomas/chroma" -) - -// Emacs style. -var Emacs = Register(chroma.MustNewStyle("emacs", chroma.StyleEntries{ - chroma.TextWhitespace: "#bbbbbb", - chroma.Comment: "italic #008800", - chroma.CommentPreproc: "noitalic", - chroma.CommentSpecial: "noitalic bold", - chroma.Keyword: "bold #AA22FF", - chroma.KeywordPseudo: "nobold", - chroma.KeywordType: "bold #00BB00", - chroma.Operator: "#666666", - chroma.OperatorWord: "bold #AA22FF", - chroma.NameBuiltin: "#AA22FF", - chroma.NameFunction: "#00A000", - chroma.NameClass: "#0000FF", - chroma.NameNamespace: "bold #0000FF", - chroma.NameException: "bold #D2413A", - chroma.NameVariable: "#B8860B", - chroma.NameConstant: "#880000", - chroma.NameLabel: "#A0A000", - chroma.NameEntity: "bold #999999", - chroma.NameAttribute: "#BB4444", - chroma.NameTag: "bold #008000", - chroma.NameDecorator: "#AA22FF", - chroma.LiteralString: "#BB4444", - chroma.LiteralStringDoc: "italic", - chroma.LiteralStringInterpol: "bold #BB6688", - chroma.LiteralStringEscape: "bold #BB6622", - chroma.LiteralStringRegex: "#BB6688", - chroma.LiteralStringSymbol: "#B8860B", - chroma.LiteralStringOther: "#008000", - chroma.LiteralNumber: "#666666", - chroma.GenericHeading: "bold #000080", - chroma.GenericSubheading: "bold #800080", - chroma.GenericDeleted: "#A00000", - chroma.GenericInserted: "#00A000", - chroma.GenericError: "#FF0000", - chroma.GenericEmph: "italic", - chroma.GenericStrong: "bold", - chroma.GenericPrompt: "bold #000080", - chroma.GenericOutput: "#888", - chroma.GenericTraceback: "#04D", - chroma.GenericUnderline: "underline", - chroma.Error: "border:#FF0000", - chroma.Background: " bg:#f8f8f8", -})) diff --git a/vendor/github.com/alecthomas/chroma/styles/friendly.go b/vendor/github.com/alecthomas/chroma/styles/friendly.go deleted file mode 100644 index ad02341d..00000000 --- a/vendor/github.com/alecthomas/chroma/styles/friendly.go +++ /dev/null @@ -1,51 +0,0 @@ -package styles - -import ( - "github.com/alecthomas/chroma" -) - -// Friendly style. -var Friendly = Register(chroma.MustNewStyle("friendly", chroma.StyleEntries{ - chroma.TextWhitespace: "#bbbbbb", - chroma.Comment: "italic #60a0b0", - chroma.CommentPreproc: "noitalic #007020", - chroma.CommentSpecial: "noitalic bg:#fff0f0", - chroma.Keyword: "bold #007020", - chroma.KeywordPseudo: "nobold", - chroma.KeywordType: "nobold #902000", - chroma.Operator: "#666666", - chroma.OperatorWord: "bold #007020", - chroma.NameBuiltin: "#007020", - chroma.NameFunction: "#06287e", - chroma.NameClass: "bold #0e84b5", - chroma.NameNamespace: "bold #0e84b5", - chroma.NameException: "#007020", - chroma.NameVariable: "#bb60d5", - chroma.NameConstant: "#60add5", - chroma.NameLabel: "bold #002070", - chroma.NameEntity: "bold #d55537", - chroma.NameAttribute: "#4070a0", - chroma.NameTag: "bold #062873", - chroma.NameDecorator: "bold #555555", - chroma.LiteralString: "#4070a0", - chroma.LiteralStringDoc: "italic", - chroma.LiteralStringInterpol: "italic #70a0d0", - chroma.LiteralStringEscape: "bold #4070a0", - chroma.LiteralStringRegex: "#235388", - chroma.LiteralStringSymbol: "#517918", - chroma.LiteralStringOther: "#c65d09", - chroma.LiteralNumber: "#40a070", - chroma.GenericHeading: "bold #000080", - chroma.GenericSubheading: "bold #800080", - chroma.GenericDeleted: "#A00000", - chroma.GenericInserted: "#00A000", - chroma.GenericError: "#FF0000", - chroma.GenericEmph: "italic", - chroma.GenericStrong: "bold", - chroma.GenericPrompt: "bold #c65d09", - chroma.GenericOutput: "#888", - chroma.GenericTraceback: "#04D", - chroma.GenericUnderline: "underline", - chroma.Error: "border:#FF0000", - chroma.Background: " bg:#f0f0f0", -})) diff --git a/vendor/github.com/alecthomas/chroma/styles/fruity.go b/vendor/github.com/alecthomas/chroma/styles/fruity.go deleted file mode 100644 index c2577fa2..00000000 --- a/vendor/github.com/alecthomas/chroma/styles/fruity.go +++ /dev/null @@ -1,26 +0,0 @@ -package styles - -import ( - "github.com/alecthomas/chroma" -) - -// Fruity style. -var Fruity = Register(chroma.MustNewStyle("fruity", chroma.StyleEntries{ - chroma.TextWhitespace: "#888888", - chroma.Background: "#ffffff bg:#111111", - chroma.GenericOutput: "#444444 bg:#222222", - chroma.Keyword: "#fb660a bold", - chroma.KeywordPseudo: "nobold", - chroma.LiteralNumber: "#0086f7 bold", - chroma.NameTag: "#fb660a bold", - chroma.NameVariable: "#fb660a", - chroma.Comment: "#008800 bg:#0f140f italic", - chroma.NameAttribute: "#ff0086 bold", - chroma.LiteralString: "#0086d2", - chroma.NameFunction: "#ff0086 bold", - chroma.GenericHeading: "#ffffff bold", - chroma.KeywordType: "#cdcaa9 bold", - chroma.GenericSubheading: "#ffffff bold", - chroma.NameConstant: "#0086d2", - chroma.CommentPreproc: "#ff0007 bold", -})) diff --git a/vendor/github.com/alecthomas/chroma/styles/github.go b/vendor/github.com/alecthomas/chroma/styles/github.go deleted file mode 100644 index 7ef2481c..00000000 --- a/vendor/github.com/alecthomas/chroma/styles/github.go +++ /dev/null @@ -1,51 +0,0 @@ -package styles - -import ( - "github.com/alecthomas/chroma" -) - -// GitHub style. -var GitHub = Register(chroma.MustNewStyle("github", chroma.StyleEntries{ - chroma.CommentMultiline: "italic #999988", - chroma.CommentPreproc: "bold #999999", - chroma.CommentSingle: "italic #999988", - chroma.CommentSpecial: "bold italic #999999", - chroma.Comment: "italic #999988", - chroma.Error: "bg:#e3d2d2 #a61717", - chroma.GenericDeleted: "bg:#ffdddd #000000", - chroma.GenericEmph: "italic #000000", - chroma.GenericError: "#aa0000", - chroma.GenericHeading: "#999999", - chroma.GenericInserted: "bg:#ddffdd #000000", - chroma.GenericOutput: "#888888", - chroma.GenericPrompt: "#555555", - chroma.GenericStrong: "bold", - chroma.GenericSubheading: "#aaaaaa", - chroma.GenericTraceback: "#aa0000", - chroma.GenericUnderline: "underline", - chroma.KeywordType: "bold #445588", - chroma.Keyword: "bold #000000", - chroma.LiteralNumber: "#009999", - chroma.LiteralStringRegex: "#009926", - chroma.LiteralStringSymbol: "#990073", - chroma.LiteralString: "#d14", - chroma.NameAttribute: "#008080", - chroma.NameBuiltinPseudo: "#999999", - chroma.NameBuiltin: "#0086B3", - chroma.NameClass: "bold #445588", - chroma.NameConstant: "#008080", - chroma.NameDecorator: "bold #3c5d5d", - chroma.NameEntity: "#800080", - chroma.NameException: "bold #990000", - chroma.NameFunction: "bold #990000", - chroma.NameLabel: "bold #990000", - chroma.NameNamespace: "#555555", - chroma.NameTag: "#000080", - chroma.NameVariableClass: "#008080", - chroma.NameVariableGlobal: "#008080", - chroma.NameVariableInstance: "#008080", - chroma.NameVariable: "#008080", - chroma.Operator: "bold #000000", - chroma.TextWhitespace: "#bbbbbb", - chroma.Background: " bg:#ffffff", -})) diff --git a/vendor/github.com/alecthomas/chroma/styles/igor.go b/vendor/github.com/alecthomas/chroma/styles/igor.go deleted file mode 100644 index 6a6d4cd0..00000000 --- a/vendor/github.com/alecthomas/chroma/styles/igor.go +++ /dev/null @@ -1,16 +0,0 @@ -package styles - -import ( - "github.com/alecthomas/chroma" -) - -// Igor style. -var Igor = Register(chroma.MustNewStyle("igor", chroma.StyleEntries{ - chroma.Comment: "italic #FF0000", - chroma.Keyword: "#0000FF", - chroma.NameFunction: "#C34E00", - chroma.NameDecorator: "#CC00A3", - chroma.NameClass: "#007575", - chroma.LiteralString: "#009C00", - chroma.Background: " bg:#ffffff", -})) diff --git a/vendor/github.com/alecthomas/chroma/styles/lovelace.go b/vendor/github.com/alecthomas/chroma/styles/lovelace.go deleted file mode 100644 index 074cc089..00000000 --- a/vendor/github.com/alecthomas/chroma/styles/lovelace.go +++ /dev/null @@ -1,60 +0,0 @@ -package styles - -import ( - "github.com/alecthomas/chroma" -) - -// Lovelace style. -var Lovelace = Register(chroma.MustNewStyle("lovelace", chroma.StyleEntries{ - chroma.TextWhitespace: "#a89028", - chroma.Comment: "italic #888888", - chroma.CommentHashbang: "#287088", - chroma.CommentMultiline: "#888888", - chroma.CommentPreproc: "noitalic #289870", - chroma.Keyword: "#2838b0", - chroma.KeywordConstant: "italic #444444", - chroma.KeywordDeclaration: "italic", - chroma.KeywordType: "italic", - chroma.Operator: "#666666", - chroma.OperatorWord: "#a848a8", - chroma.Punctuation: "#888888", - chroma.NameAttribute: "#388038", - chroma.NameBuiltin: "#388038", - chroma.NameBuiltinPseudo: "italic", - chroma.NameClass: "#287088", - chroma.NameConstant: "#b85820", - chroma.NameDecorator: "#287088", - chroma.NameEntity: "#709030", - chroma.NameException: "#908828", - chroma.NameFunction: "#785840", - chroma.NameFunctionMagic: "#b85820", - chroma.NameLabel: "#289870", - chroma.NameNamespace: "#289870", - chroma.NameTag: "#2838b0", - chroma.NameVariable: "#b04040", - chroma.NameVariableGlobal: "#908828", - chroma.NameVariableMagic: "#b85820", - chroma.LiteralString: "#b83838", - chroma.LiteralStringAffix: "#444444", - chroma.LiteralStringChar: "#a848a8", - chroma.LiteralStringDelimiter: "#b85820", - chroma.LiteralStringDoc: "italic #b85820", - chroma.LiteralStringEscape: "#709030", - chroma.LiteralStringInterpol: "underline", - chroma.LiteralStringOther: "#a848a8", - chroma.LiteralStringRegex: "#a848a8", - chroma.LiteralNumber: "#444444", - chroma.GenericDeleted: "#c02828", - chroma.GenericEmph: "italic", - chroma.GenericError: "#c02828", - chroma.GenericHeading: "#666666", - chroma.GenericSubheading: "#444444", - chroma.GenericInserted: "#388038", - chroma.GenericOutput: "#666666", - chroma.GenericPrompt: "#444444", - chroma.GenericStrong: "bold", - chroma.GenericTraceback: "#2838b0", - chroma.GenericUnderline: "underline", - chroma.Error: "bg:#a848a8", - chroma.Background: " bg:#ffffff", -})) diff --git a/vendor/github.com/alecthomas/chroma/styles/manni.go b/vendor/github.com/alecthomas/chroma/styles/manni.go deleted file mode 100644 index 9942e7d0..00000000 --- a/vendor/github.com/alecthomas/chroma/styles/manni.go +++ /dev/null @@ -1,51 +0,0 @@ -package styles - -import ( - "github.com/alecthomas/chroma" -) - -// Manni style. -var Manni = Register(chroma.MustNewStyle("manni", chroma.StyleEntries{ - chroma.TextWhitespace: "#bbbbbb", - chroma.Comment: "italic #0099FF", - chroma.CommentPreproc: "noitalic #009999", - chroma.CommentSpecial: "bold", - chroma.Keyword: "bold #006699", - chroma.KeywordPseudo: "nobold", - chroma.KeywordType: "#007788", - chroma.Operator: "#555555", - chroma.OperatorWord: "bold #000000", - chroma.NameBuiltin: "#336666", - chroma.NameFunction: "#CC00FF", - chroma.NameClass: "bold #00AA88", - chroma.NameNamespace: "bold #00CCFF", - chroma.NameException: "bold #CC0000", - chroma.NameVariable: "#003333", - chroma.NameConstant: "#336600", - chroma.NameLabel: "#9999FF", - chroma.NameEntity: "bold #999999", - chroma.NameAttribute: "#330099", - chroma.NameTag: "bold #330099", - chroma.NameDecorator: "#9999FF", - chroma.LiteralString: "#CC3300", - chroma.LiteralStringDoc: "italic", - chroma.LiteralStringInterpol: "#AA0000", - chroma.LiteralStringEscape: "bold #CC3300", - chroma.LiteralStringRegex: "#33AAAA", - chroma.LiteralStringSymbol: "#FFCC33", - chroma.LiteralStringOther: "#CC3300", - chroma.LiteralNumber: "#FF6600", - chroma.GenericHeading: "bold #003300", - chroma.GenericSubheading: "bold #003300", - chroma.GenericDeleted: "border:#CC0000 bg:#FFCCCC", - chroma.GenericInserted: "border:#00CC00 bg:#CCFFCC", - chroma.GenericError: "#FF0000", - chroma.GenericEmph: "italic", - chroma.GenericStrong: "bold", - chroma.GenericPrompt: "bold #000099", - chroma.GenericOutput: "#AAAAAA", - chroma.GenericTraceback: "#99CC66", - chroma.GenericUnderline: "underline", - chroma.Error: "bg:#FFAAAA #AA0000", - chroma.Background: " bg:#f0f3f3", -})) diff --git a/vendor/github.com/alecthomas/chroma/styles/monokai.go b/vendor/github.com/alecthomas/chroma/styles/monokai.go deleted file mode 100644 index 2586795a..00000000 --- a/vendor/github.com/alecthomas/chroma/styles/monokai.go +++ /dev/null @@ -1,36 +0,0 @@ -package styles - -import ( - "github.com/alecthomas/chroma" -) - -// Monokai style. -var Monokai = Register(chroma.MustNewStyle("monokai", chroma.StyleEntries{ - chroma.Text: "#f8f8f2", - chroma.Error: "#960050 bg:#1e0010", - chroma.Comment: "#75715e", - chroma.Keyword: "#66d9ef", - chroma.KeywordNamespace: "#f92672", - chroma.Operator: "#f92672", - chroma.Punctuation: "#f8f8f2", - chroma.Name: "#f8f8f2", - chroma.NameAttribute: "#a6e22e", - chroma.NameClass: "#a6e22e", - chroma.NameConstant: "#66d9ef", - chroma.NameDecorator: "#a6e22e", - chroma.NameException: "#a6e22e", - chroma.NameFunction: "#a6e22e", - chroma.NameOther: "#a6e22e", - chroma.NameTag: "#f92672", - chroma.LiteralNumber: "#ae81ff", - chroma.Literal: "#ae81ff", - chroma.LiteralDate: "#e6db74", - chroma.LiteralString: "#e6db74", - chroma.LiteralStringEscape: "#ae81ff", - chroma.GenericDeleted: "#f92672", - chroma.GenericEmph: "italic", - chroma.GenericInserted: "#a6e22e", - chroma.GenericStrong: "bold", - chroma.GenericSubheading: "#75715e", - chroma.Background: "bg:#272822", -})) diff --git a/vendor/github.com/alecthomas/chroma/styles/monokailight.go b/vendor/github.com/alecthomas/chroma/styles/monokailight.go deleted file mode 100644 index 61818a68..00000000 --- a/vendor/github.com/alecthomas/chroma/styles/monokailight.go +++ /dev/null @@ -1,33 +0,0 @@ -package styles - -import ( - "github.com/alecthomas/chroma" -) - -// MonokaiLight style. -var MonokaiLight = Register(chroma.MustNewStyle("monokailight", chroma.StyleEntries{ - chroma.Text: "#272822", - chroma.Error: "#960050 bg:#1e0010", - chroma.Comment: "#75715e", - chroma.Keyword: "#00a8c8", - chroma.KeywordNamespace: "#f92672", - chroma.Operator: "#f92672", - chroma.Punctuation: "#111111", - chroma.Name: "#111111", - chroma.NameAttribute: "#75af00", - chroma.NameClass: "#75af00", - chroma.NameConstant: "#00a8c8", - chroma.NameDecorator: "#75af00", - chroma.NameException: "#75af00", - chroma.NameFunction: "#75af00", - chroma.NameOther: "#75af00", - chroma.NameTag: "#f92672", - chroma.LiteralNumber: "#ae81ff", - chroma.Literal: "#ae81ff", - chroma.LiteralDate: "#d88200", - chroma.LiteralString: "#d88200", - chroma.LiteralStringEscape: "#8045FF", - chroma.GenericEmph: "italic", - chroma.GenericStrong: "bold", - chroma.Background: " bg:#fafafa", -})) diff --git a/vendor/github.com/alecthomas/chroma/styles/murphy.go b/vendor/github.com/alecthomas/chroma/styles/murphy.go deleted file mode 100644 index 90e83c76..00000000 --- a/vendor/github.com/alecthomas/chroma/styles/murphy.go +++ /dev/null @@ -1,59 +0,0 @@ -package styles - -import ( - "github.com/alecthomas/chroma" -) - -// Murphy style. -var Murphy = Register(chroma.MustNewStyle("murphy", chroma.StyleEntries{ - chroma.TextWhitespace: "#bbbbbb", - chroma.Comment: "#666 italic", - chroma.CommentPreproc: "#579 noitalic", - chroma.CommentSpecial: "#c00 bold", - chroma.Keyword: "bold #289", - chroma.KeywordPseudo: "#08f", - chroma.KeywordType: "#66f", - chroma.Operator: "#333", - chroma.OperatorWord: "bold #000", - chroma.NameBuiltin: "#072", - chroma.NameFunction: "bold #5ed", - chroma.NameClass: "bold #e9e", - chroma.NameNamespace: "bold #0e84b5", - chroma.NameException: "bold #F00", - chroma.NameVariable: "#036", - chroma.NameVariableInstance: "#aaf", - chroma.NameVariableClass: "#ccf", - chroma.NameVariableGlobal: "#f84", - chroma.NameConstant: "bold #5ed", - chroma.NameLabel: "bold #970", - chroma.NameEntity: "#800", - chroma.NameAttribute: "#007", - chroma.NameTag: "#070", - chroma.NameDecorator: "bold #555", - chroma.LiteralString: "bg:#e0e0ff", - chroma.LiteralStringChar: "#88F bg:", - chroma.LiteralStringDoc: "#D42 bg:", - chroma.LiteralStringInterpol: "bg:#eee", - chroma.LiteralStringEscape: "bold #666", - chroma.LiteralStringRegex: "bg:#e0e0ff #000", - chroma.LiteralStringSymbol: "#fc8 bg:", - chroma.LiteralStringOther: "#f88", - chroma.LiteralNumber: "bold #60E", - chroma.LiteralNumberInteger: "bold #66f", - chroma.LiteralNumberFloat: "bold #60E", - chroma.LiteralNumberHex: "bold #058", - chroma.LiteralNumberOct: "bold #40E", - chroma.GenericHeading: "bold #000080", - chroma.GenericSubheading: "bold #800080", - chroma.GenericDeleted: "#A00000", - chroma.GenericInserted: "#00A000", - chroma.GenericError: "#FF0000", - chroma.GenericEmph: "italic", - chroma.GenericStrong: "bold", - chroma.GenericPrompt: "bold #c65d09", - chroma.GenericOutput: "#888", - chroma.GenericTraceback: "#04D", - chroma.GenericUnderline: "underline", - chroma.Error: "#F00 bg:#FAA", - chroma.Background: " bg:#ffffff", -})) diff --git a/vendor/github.com/alecthomas/chroma/styles/native.go b/vendor/github.com/alecthomas/chroma/styles/native.go deleted file mode 100644 index 9fae09ac..00000000 --- a/vendor/github.com/alecthomas/chroma/styles/native.go +++ /dev/null @@ -1,42 +0,0 @@ -package styles - -import ( - "github.com/alecthomas/chroma" -) - -// Native style. -var Native = Register(chroma.MustNewStyle("native", chroma.StyleEntries{ - chroma.Background: "#d0d0d0 bg:#202020", - chroma.TextWhitespace: "#666666", - chroma.Comment: "italic #999999", - chroma.CommentPreproc: "noitalic bold #cd2828", - chroma.CommentSpecial: "noitalic bold #e50808 bg:#520000", - chroma.Keyword: "bold #6ab825", - chroma.KeywordPseudo: "nobold", - chroma.OperatorWord: "bold #6ab825", - chroma.LiteralString: "#ed9d13", - chroma.LiteralStringOther: "#ffa500", - chroma.LiteralNumber: "#3677a9", - chroma.NameBuiltin: "#24909d", - chroma.NameVariable: "#40ffff", - chroma.NameConstant: "#40ffff", - chroma.NameClass: "underline #447fcf", - chroma.NameFunction: "#447fcf", - chroma.NameNamespace: "underline #447fcf", - chroma.NameException: "#bbbbbb", - chroma.NameTag: "bold #6ab825", - chroma.NameAttribute: "#bbbbbb", - chroma.NameDecorator: "#ffa500", - chroma.GenericHeading: "bold #ffffff", - chroma.GenericSubheading: "underline #ffffff", - chroma.GenericDeleted: "#d22323", - chroma.GenericInserted: "#589819", - chroma.GenericError: "#d22323", - chroma.GenericEmph: "italic", - chroma.GenericStrong: "bold", - chroma.GenericPrompt: "#aaaaaa", - chroma.GenericOutput: "#cccccc", - chroma.GenericTraceback: "#d22323", - chroma.GenericUnderline: "underline", - chroma.Error: "bg:#e3d2d2 #a61717", -})) diff --git a/vendor/github.com/alecthomas/chroma/styles/paraiso-dark.go b/vendor/github.com/alecthomas/chroma/styles/paraiso-dark.go deleted file mode 100644 index c8cf4731..00000000 --- a/vendor/github.com/alecthomas/chroma/styles/paraiso-dark.go +++ /dev/null @@ -1,44 +0,0 @@ -package styles - -import ( - "github.com/alecthomas/chroma" -) - -// ParaisoDark style. -var ParaisoDark = Register(chroma.MustNewStyle("paraiso-dark", chroma.StyleEntries{ - chroma.Text: "#e7e9db", - chroma.Error: "#ef6155", - chroma.Comment: "#776e71", - chroma.Keyword: "#815ba4", - chroma.KeywordNamespace: "#5bc4bf", - chroma.KeywordType: "#fec418", - chroma.Operator: "#5bc4bf", - chroma.Punctuation: "#e7e9db", - chroma.Name: "#e7e9db", - chroma.NameAttribute: "#06b6ef", - chroma.NameClass: "#fec418", - chroma.NameConstant: "#ef6155", - chroma.NameDecorator: "#5bc4bf", - chroma.NameException: "#ef6155", - chroma.NameFunction: "#06b6ef", - chroma.NameNamespace: "#fec418", - chroma.NameOther: "#06b6ef", - chroma.NameTag: "#5bc4bf", - chroma.NameVariable: "#ef6155", - chroma.LiteralNumber: "#f99b15", - chroma.Literal: "#f99b15", - chroma.LiteralDate: "#48b685", - chroma.LiteralString: "#48b685", - chroma.LiteralStringChar: "#e7e9db", - chroma.LiteralStringDoc: "#776e71", - chroma.LiteralStringEscape: "#f99b15", - chroma.LiteralStringInterpol: "#f99b15", - chroma.GenericDeleted: "#ef6155", - chroma.GenericEmph: "italic", - chroma.GenericHeading: "bold #e7e9db", - chroma.GenericInserted: "#48b685", - chroma.GenericPrompt: "bold #776e71", - chroma.GenericStrong: "bold", - chroma.GenericSubheading: "bold #5bc4bf", - chroma.Background: "bg:#2f1e2e", -})) diff --git a/vendor/github.com/alecthomas/chroma/styles/paraiso-light.go b/vendor/github.com/alecthomas/chroma/styles/paraiso-light.go deleted file mode 100644 index b514dfa1..00000000 --- a/vendor/github.com/alecthomas/chroma/styles/paraiso-light.go +++ /dev/null @@ -1,44 +0,0 @@ -package styles - -import ( - "github.com/alecthomas/chroma" -) - -// ParaisoLight style. -var ParaisoLight = Register(chroma.MustNewStyle("paraiso-light", chroma.StyleEntries{ - chroma.Text: "#2f1e2e", - chroma.Error: "#ef6155", - chroma.Comment: "#8d8687", - chroma.Keyword: "#815ba4", - chroma.KeywordNamespace: "#5bc4bf", - chroma.KeywordType: "#fec418", - chroma.Operator: "#5bc4bf", - chroma.Punctuation: "#2f1e2e", - chroma.Name: "#2f1e2e", - chroma.NameAttribute: "#06b6ef", - chroma.NameClass: "#fec418", - chroma.NameConstant: "#ef6155", - chroma.NameDecorator: "#5bc4bf", - chroma.NameException: "#ef6155", - chroma.NameFunction: "#06b6ef", - chroma.NameNamespace: "#fec418", - chroma.NameOther: "#06b6ef", - chroma.NameTag: "#5bc4bf", - chroma.NameVariable: "#ef6155", - chroma.LiteralNumber: "#f99b15", - chroma.Literal: "#f99b15", - chroma.LiteralDate: "#48b685", - chroma.LiteralString: "#48b685", - chroma.LiteralStringChar: "#2f1e2e", - chroma.LiteralStringDoc: "#8d8687", - chroma.LiteralStringEscape: "#f99b15", - chroma.LiteralStringInterpol: "#f99b15", - chroma.GenericDeleted: "#ef6155", - chroma.GenericEmph: "italic", - chroma.GenericHeading: "bold #2f1e2e", - chroma.GenericInserted: "#48b685", - chroma.GenericPrompt: "bold #8d8687", - chroma.GenericStrong: "bold", - chroma.GenericSubheading: "bold #5bc4bf", - chroma.Background: "bg:#e7e9db", -})) diff --git a/vendor/github.com/alecthomas/chroma/styles/pastie.go b/vendor/github.com/alecthomas/chroma/styles/pastie.go deleted file mode 100644 index 9a685443..00000000 --- a/vendor/github.com/alecthomas/chroma/styles/pastie.go +++ /dev/null @@ -1,52 +0,0 @@ -package styles - -import ( - "github.com/alecthomas/chroma" -) - -// Pastie style. -var Pastie = Register(chroma.MustNewStyle("pastie", chroma.StyleEntries{ - chroma.TextWhitespace: "#bbbbbb", - chroma.Comment: "#888888", - chroma.CommentPreproc: "bold #cc0000", - chroma.CommentSpecial: "bg:#fff0f0 bold #cc0000", - chroma.LiteralString: "bg:#fff0f0 #dd2200", - chroma.LiteralStringRegex: "bg:#fff0ff #008800", - chroma.LiteralStringOther: "bg:#f0fff0 #22bb22", - chroma.LiteralStringSymbol: "#aa6600", - chroma.LiteralStringInterpol: "#3333bb", - chroma.LiteralStringEscape: "#0044dd", - chroma.OperatorWord: "#008800", - chroma.Keyword: "bold #008800", - chroma.KeywordPseudo: "nobold", - chroma.KeywordType: "#888888", - chroma.NameClass: "bold #bb0066", - chroma.NameException: "bold #bb0066", - chroma.NameFunction: "bold #0066bb", - chroma.NameProperty: "bold #336699", - chroma.NameNamespace: "bold #bb0066", - chroma.NameBuiltin: "#003388", - chroma.NameVariable: "#336699", - chroma.NameVariableClass: "#336699", - chroma.NameVariableInstance: "#3333bb", - chroma.NameVariableGlobal: "#dd7700", - chroma.NameConstant: "bold #003366", - chroma.NameTag: "bold #bb0066", - chroma.NameAttribute: "#336699", - chroma.NameDecorator: "#555555", - chroma.NameLabel: "italic #336699", - chroma.LiteralNumber: "bold #0000DD", - chroma.GenericHeading: "#333", - chroma.GenericSubheading: "#666", - chroma.GenericDeleted: "bg:#ffdddd #000000", - chroma.GenericInserted: "bg:#ddffdd #000000", - chroma.GenericError: "#aa0000", - chroma.GenericEmph: "italic", - chroma.GenericStrong: "bold", - chroma.GenericPrompt: "#555555", - chroma.GenericOutput: "#888888", - chroma.GenericTraceback: "#aa0000", - chroma.GenericUnderline: "underline", - chroma.Error: "bg:#e3d2d2 #a61717", - chroma.Background: " bg:#ffffff", -})) diff --git a/vendor/github.com/alecthomas/chroma/styles/perldoc.go b/vendor/github.com/alecthomas/chroma/styles/perldoc.go deleted file mode 100644 index e1372fdf..00000000 --- a/vendor/github.com/alecthomas/chroma/styles/perldoc.go +++ /dev/null @@ -1,44 +0,0 @@ -package styles - -import ( - "github.com/alecthomas/chroma" -) - -// Perldoc style. -var Perldoc = Register(chroma.MustNewStyle("perldoc", chroma.StyleEntries{ - chroma.TextWhitespace: "#bbbbbb", - chroma.Comment: "#228B22", - chroma.CommentPreproc: "#1e889b", - chroma.CommentSpecial: "#8B008B bold", - chroma.LiteralString: "#CD5555", - chroma.LiteralStringHeredoc: "#1c7e71 italic", - chroma.LiteralStringRegex: "#1c7e71", - chroma.LiteralStringOther: "#cb6c20", - chroma.LiteralNumber: "#B452CD", - chroma.OperatorWord: "#8B008B", - chroma.Keyword: "#8B008B bold", - chroma.KeywordType: "#00688B", - chroma.NameClass: "#008b45 bold", - chroma.NameException: "#008b45 bold", - chroma.NameFunction: "#008b45", - chroma.NameNamespace: "#008b45 underline", - chroma.NameVariable: "#00688B", - chroma.NameConstant: "#00688B", - chroma.NameDecorator: "#707a7c", - chroma.NameTag: "#8B008B bold", - chroma.NameAttribute: "#658b00", - chroma.NameBuiltin: "#658b00", - chroma.GenericHeading: "bold #000080", - chroma.GenericSubheading: "bold #800080", - chroma.GenericDeleted: "#aa0000", - chroma.GenericInserted: "#00aa00", - chroma.GenericError: "#aa0000", - chroma.GenericEmph: "italic", - chroma.GenericStrong: "bold", - chroma.GenericPrompt: "#555555", - chroma.GenericOutput: "#888888", - chroma.GenericTraceback: "#aa0000", - chroma.GenericUnderline: "underline", - chroma.Error: "bg:#e3d2d2 #a61717", - chroma.Background: " bg:#eeeedd", -})) diff --git a/vendor/github.com/alecthomas/chroma/styles/pygments.go b/vendor/github.com/alecthomas/chroma/styles/pygments.go deleted file mode 100644 index 70d1f2ad..00000000 --- a/vendor/github.com/alecthomas/chroma/styles/pygments.go +++ /dev/null @@ -1,55 +0,0 @@ -package styles - -import ( - "github.com/alecthomas/chroma" -) - -// Pygments default theme. -var Pygments = Register(chroma.MustNewStyle("pygments", map[chroma.TokenType]string{ - chroma.Whitespace: "#bbbbbb", - chroma.Comment: "italic #408080", - chroma.CommentPreproc: "noitalic #BC7A00", - - chroma.Keyword: "bold #008000", - chroma.KeywordPseudo: "nobold", - chroma.KeywordType: "nobold #B00040", - - chroma.Operator: "#666666", - chroma.OperatorWord: "bold #AA22FF", - - chroma.NameBuiltin: "#008000", - chroma.NameFunction: "#0000FF", - chroma.NameClass: "bold #0000FF", - chroma.NameNamespace: "bold #0000FF", - chroma.NameException: "bold #D2413A", - chroma.NameVariable: "#19177C", - chroma.NameConstant: "#880000", - chroma.NameLabel: "#A0A000", - chroma.NameEntity: "bold #999999", - chroma.NameAttribute: "#7D9029", - chroma.NameTag: "bold #008000", - chroma.NameDecorator: "#AA22FF", - - chroma.String: "#BA2121", - chroma.StringDoc: "italic", - chroma.StringInterpol: "bold #BB6688", - chroma.StringEscape: "bold #BB6622", - chroma.StringRegex: "#BB6688", - chroma.StringSymbol: "#19177C", - chroma.StringOther: "#008000", - chroma.Number: "#666666", - - chroma.GenericHeading: "bold #000080", - chroma.GenericSubheading: "bold #800080", - chroma.GenericDeleted: "#A00000", - chroma.GenericInserted: "#00A000", - chroma.GenericError: "#FF0000", - chroma.GenericEmph: "italic", - chroma.GenericStrong: "bold", - chroma.GenericPrompt: "bold #000080", - chroma.GenericOutput: "#888", - chroma.GenericTraceback: "#04D", - chroma.GenericUnderline: "underline", - - chroma.Error: "border:#FF0000", -})) diff --git a/vendor/github.com/alecthomas/chroma/styles/rainbow_dash.go b/vendor/github.com/alecthomas/chroma/styles/rainbow_dash.go deleted file mode 100644 index 37d66ca2..00000000 --- a/vendor/github.com/alecthomas/chroma/styles/rainbow_dash.go +++ /dev/null @@ -1,47 +0,0 @@ -package styles - -import ( - "github.com/alecthomas/chroma" -) - -// RainbowDash style. -var RainbowDash = Register(chroma.MustNewStyle("rainbow_dash", chroma.StyleEntries{ - chroma.Comment: "italic #0080ff", - chroma.CommentPreproc: "noitalic", - chroma.CommentSpecial: "bold", - chroma.Error: "bg:#cc0000 #ffffff", - chroma.GenericDeleted: "border:#c5060b bg:#ffcccc", - chroma.GenericEmph: "italic", - chroma.GenericError: "#ff0000", - chroma.GenericHeading: "bold #2c5dcd", - chroma.GenericInserted: "border:#00cc00 bg:#ccffcc", - chroma.GenericOutput: "#aaaaaa", - chroma.GenericPrompt: "bold #2c5dcd", - chroma.GenericStrong: "bold", - chroma.GenericSubheading: "bold #2c5dcd", - chroma.GenericTraceback: "#c5060b", - chroma.GenericUnderline: "underline", - chroma.Keyword: "bold #2c5dcd", - chroma.KeywordPseudo: "nobold", - chroma.KeywordType: "#5918bb", - chroma.NameAttribute: "italic #2c5dcd", - chroma.NameBuiltin: "bold #5918bb", - chroma.NameClass: "underline", - chroma.NameConstant: "#318495", - chroma.NameDecorator: "bold #ff8000", - chroma.NameEntity: "bold #5918bb", - chroma.NameException: "bold #5918bb", - chroma.NameFunction: "bold #ff8000", - chroma.NameTag: "bold #2c5dcd", - chroma.LiteralNumber: "bold #5918bb", - chroma.Operator: "#2c5dcd", - chroma.OperatorWord: "bold", - chroma.LiteralString: "#00cc66", - chroma.LiteralStringDoc: "italic", - chroma.LiteralStringEscape: "bold #c5060b", - chroma.LiteralStringOther: "#318495", - chroma.LiteralStringSymbol: "bold #c5060b", - chroma.Text: "#4d4d4d", - chroma.TextWhitespace: "#cbcbcb", - chroma.Background: " bg:#ffffff", -})) diff --git a/vendor/github.com/alecthomas/chroma/styles/rrt.go b/vendor/github.com/alecthomas/chroma/styles/rrt.go deleted file mode 100644 index 7c76961e..00000000 --- a/vendor/github.com/alecthomas/chroma/styles/rrt.go +++ /dev/null @@ -1,18 +0,0 @@ -package styles - -import ( - "github.com/alecthomas/chroma" -) - -// Rrt style. -var Rrt = Register(chroma.MustNewStyle("rrt", chroma.StyleEntries{ - chroma.Comment: "#00ff00", - chroma.NameFunction: "#ffff00", - chroma.NameVariable: "#eedd82", - chroma.NameConstant: "#7fffd4", - chroma.Keyword: "#ff0000", - chroma.CommentPreproc: "#e5e5e5", - chroma.LiteralString: "#87ceeb", - chroma.KeywordType: "#ee82ee", - chroma.Background: " bg:#000000", -})) diff --git a/vendor/github.com/alecthomas/chroma/styles/solarized-dark.go b/vendor/github.com/alecthomas/chroma/styles/solarized-dark.go deleted file mode 100644 index 2724df24..00000000 --- a/vendor/github.com/alecthomas/chroma/styles/solarized-dark.go +++ /dev/null @@ -1,46 +0,0 @@ -package styles - -import ( - "github.com/alecthomas/chroma" -) - -// SolarizedDark style. -var SolarizedDark = Register(chroma.MustNewStyle("solarized-dark", chroma.StyleEntries{ - chroma.Keyword: "#719e07", - chroma.KeywordConstant: "#CB4B16", - chroma.KeywordDeclaration: "#268BD2", - chroma.KeywordReserved: "#268BD2", - chroma.KeywordType: "#DC322F", - chroma.NameAttribute: "#93A1A1", - chroma.NameBuiltin: "#B58900", - chroma.NameBuiltinPseudo: "#268BD2", - chroma.NameClass: "#268BD2", - chroma.NameConstant: "#CB4B16", - chroma.NameDecorator: "#268BD2", - chroma.NameEntity: "#CB4B16", - chroma.NameException: "#CB4B16", - chroma.NameFunction: "#268BD2", - chroma.NameTag: "#268BD2", - chroma.NameVariable: "#268BD2", - chroma.LiteralString: "#2AA198", - chroma.LiteralStringBacktick: "#586E75", - chroma.LiteralStringChar: "#2AA198", - chroma.LiteralStringDoc: "#93A1A1", - chroma.LiteralStringEscape: "#CB4B16", - chroma.LiteralStringHeredoc: "#93A1A1", - chroma.LiteralStringRegex: "#DC322F", - chroma.LiteralNumber: "#2AA198", - chroma.Operator: "#719e07", - chroma.Comment: "#586E75", - chroma.CommentPreproc: "#719e07", - chroma.CommentSpecial: "#719e07", - chroma.GenericDeleted: "#DC322F", - chroma.GenericEmph: "italic", - chroma.GenericError: "#DC322F bold", - chroma.GenericHeading: "#CB4B16", - chroma.GenericInserted: "#719e07", - chroma.GenericStrong: "bold", - chroma.GenericSubheading: "#268BD2", - chroma.Background: "#93A1A1 bg:#002B36", - chroma.Other: "#CB4B16", -})) diff --git a/vendor/github.com/alecthomas/chroma/styles/solarized-dark256.go b/vendor/github.com/alecthomas/chroma/styles/solarized-dark256.go deleted file mode 100644 index a24ddc15..00000000 --- a/vendor/github.com/alecthomas/chroma/styles/solarized-dark256.go +++ /dev/null @@ -1,48 +0,0 @@ -package styles - -import ( - "github.com/alecthomas/chroma" -) - -// SolarizedDark256 style. -var SolarizedDark256 = Register(chroma.MustNewStyle("solarized-dark256", chroma.StyleEntries{ - chroma.Keyword: "#5f8700", - chroma.KeywordConstant: "#d75f00", - chroma.KeywordDeclaration: "#0087ff", - chroma.KeywordNamespace: "#d75f00", - chroma.KeywordReserved: "#0087ff", - chroma.KeywordType: "#af0000", - chroma.NameAttribute: "#8a8a8a", - chroma.NameBuiltin: "#0087ff", - chroma.NameBuiltinPseudo: "#0087ff", - chroma.NameClass: "#0087ff", - chroma.NameConstant: "#d75f00", - chroma.NameDecorator: "#0087ff", - chroma.NameEntity: "#d75f00", - chroma.NameException: "#af8700", - chroma.NameFunction: "#0087ff", - chroma.NameTag: "#0087ff", - chroma.NameVariable: "#0087ff", - chroma.LiteralString: "#00afaf", - chroma.LiteralStringBacktick: "#4e4e4e", - chroma.LiteralStringChar: "#00afaf", - chroma.LiteralStringDoc: "#00afaf", - chroma.LiteralStringEscape: "#af0000", - chroma.LiteralStringHeredoc: "#00afaf", - chroma.LiteralStringRegex: "#af0000", - chroma.LiteralNumber: "#00afaf", - chroma.Operator: "#8a8a8a", - chroma.OperatorWord: "#5f8700", - chroma.Comment: "#4e4e4e", - chroma.CommentPreproc: "#5f8700", - chroma.CommentSpecial: "#5f8700", - chroma.GenericDeleted: "#af0000", - chroma.GenericEmph: "italic", - chroma.GenericError: "#af0000 bold", - chroma.GenericHeading: "#d75f00", - chroma.GenericInserted: "#5f8700", - chroma.GenericStrong: "bold", - chroma.GenericSubheading: "#0087ff", - chroma.Background: "#8a8a8a bg:#1c1c1c", - chroma.Other: "#d75f00", -})) diff --git a/vendor/github.com/alecthomas/chroma/styles/solarized-light.go b/vendor/github.com/alecthomas/chroma/styles/solarized-light.go deleted file mode 100644 index b6d5234a..00000000 --- a/vendor/github.com/alecthomas/chroma/styles/solarized-light.go +++ /dev/null @@ -1,24 +0,0 @@ -package styles - -import ( - "github.com/alecthomas/chroma" -) - -// SolarizedLight style. -var SolarizedLight = Register(chroma.MustNewStyle("solarized-light", chroma.StyleEntries{ - chroma.Text: "bg: #eee8d5 #586e75", - chroma.Keyword: "#859900", - chroma.KeywordConstant: "bold", - chroma.KeywordNamespace: "#dc322f bold", - chroma.KeywordType: "bold", - chroma.Name: "#268bd2", - chroma.NameBuiltin: "#cb4b16", - chroma.NameClass: "#cb4b16", - chroma.NameTag: "bold", - chroma.Literal: "#2aa198", - chroma.LiteralNumber: "bold", - chroma.OperatorWord: "#859900", - chroma.Comment: "#93a1a1 italic", - chroma.Generic: "#d33682", - chroma.Background: " bg:#eee8d5", -})) diff --git a/vendor/github.com/alecthomas/chroma/styles/swapoff.go b/vendor/github.com/alecthomas/chroma/styles/swapoff.go deleted file mode 100644 index 09713783..00000000 --- a/vendor/github.com/alecthomas/chroma/styles/swapoff.go +++ /dev/null @@ -1,25 +0,0 @@ -package styles - -import ( - "github.com/alecthomas/chroma" -) - -// SwapOff theme. -var SwapOff = Register(chroma.MustNewStyle("swapoff", map[chroma.TokenType]string{ - chroma.Background: "#lightgray bg:#black", - chroma.Number: "bold #ansiyellow", - chroma.Comment: "#ansiteal", - chroma.CommentPreproc: "bold #ansigreen", - chroma.String: "bold #ansiturquoise", - chroma.Keyword: "bold #ansiwhite", - chroma.NameKeyword: "bold #ansiwhite", - chroma.NameBuiltin: "bold #ansiwhite", - chroma.GenericHeading: "bold", - chroma.GenericSubheading: "bold", - chroma.GenericStrong: "bold", - chroma.GenericUnderline: "underline", - chroma.NameTag: "bold", - chroma.NameAttribute: "#ansiteal", - chroma.Error: "#ansired", - chroma.LiteralDate: "bold #ansiyellow", -})) diff --git a/vendor/github.com/alecthomas/chroma/styles/tango.go b/vendor/github.com/alecthomas/chroma/styles/tango.go deleted file mode 100644 index ae1afe06..00000000 --- a/vendor/github.com/alecthomas/chroma/styles/tango.go +++ /dev/null @@ -1,79 +0,0 @@ -package styles - -import ( - "github.com/alecthomas/chroma" -) - -// Tango style. -var Tango = Register(chroma.MustNewStyle("tango", chroma.StyleEntries{ - chroma.TextWhitespace: "underline #f8f8f8", - chroma.Error: "#a40000 border:#ef2929", - chroma.Other: "#000000", - chroma.Comment: "italic #8f5902", - chroma.CommentMultiline: "italic #8f5902", - chroma.CommentPreproc: "italic #8f5902", - chroma.CommentSingle: "italic #8f5902", - chroma.CommentSpecial: "italic #8f5902", - chroma.Keyword: "bold #204a87", - chroma.KeywordConstant: "bold #204a87", - chroma.KeywordDeclaration: "bold #204a87", - chroma.KeywordNamespace: "bold #204a87", - chroma.KeywordPseudo: "bold #204a87", - chroma.KeywordReserved: "bold #204a87", - chroma.KeywordType: "bold #204a87", - chroma.Operator: "bold #ce5c00", - chroma.OperatorWord: "bold #204a87", - chroma.Punctuation: "bold #000000", - chroma.Name: "#000000", - chroma.NameAttribute: "#c4a000", - chroma.NameBuiltin: "#204a87", - chroma.NameBuiltinPseudo: "#3465a4", - chroma.NameClass: "#000000", - chroma.NameConstant: "#000000", - chroma.NameDecorator: "bold #5c35cc", - chroma.NameEntity: "#ce5c00", - chroma.NameException: "bold #cc0000", - chroma.NameFunction: "#000000", - chroma.NameProperty: "#000000", - chroma.NameLabel: "#f57900", - chroma.NameNamespace: "#000000", - chroma.NameOther: "#000000", - chroma.NameTag: "bold #204a87", - chroma.NameVariable: "#000000", - chroma.NameVariableClass: "#000000", - chroma.NameVariableGlobal: "#000000", - chroma.NameVariableInstance: "#000000", - chroma.LiteralNumber: "bold #0000cf", - chroma.LiteralNumberFloat: "bold #0000cf", - chroma.LiteralNumberHex: "bold #0000cf", - chroma.LiteralNumberInteger: "bold #0000cf", - chroma.LiteralNumberIntegerLong: "bold #0000cf", - chroma.LiteralNumberOct: "bold #0000cf", - chroma.Literal: "#000000", - chroma.LiteralDate: "#000000", - chroma.LiteralString: "#4e9a06", - chroma.LiteralStringBacktick: "#4e9a06", - chroma.LiteralStringChar: "#4e9a06", - chroma.LiteralStringDoc: "italic #8f5902", - chroma.LiteralStringDouble: "#4e9a06", - chroma.LiteralStringEscape: "#4e9a06", - chroma.LiteralStringHeredoc: "#4e9a06", - chroma.LiteralStringInterpol: "#4e9a06", - chroma.LiteralStringOther: "#4e9a06", - chroma.LiteralStringRegex: "#4e9a06", - chroma.LiteralStringSingle: "#4e9a06", - chroma.LiteralStringSymbol: "#4e9a06", - chroma.Generic: "#000000", - chroma.GenericDeleted: "#a40000", - chroma.GenericEmph: "italic #000000", - chroma.GenericError: "#ef2929", - chroma.GenericHeading: "bold #000080", - chroma.GenericInserted: "#00A000", - chroma.GenericOutput: "italic #000000", - chroma.GenericPrompt: "#8f5902", - chroma.GenericStrong: "bold #000000", - chroma.GenericSubheading: "bold #800080", - chroma.GenericTraceback: "bold #a40000", - chroma.GenericUnderline: "underline", - chroma.Background: " bg:#f8f8f8", -})) diff --git a/vendor/github.com/alecthomas/chroma/styles/trac.go b/vendor/github.com/alecthomas/chroma/styles/trac.go deleted file mode 100644 index 3b09c44e..00000000 --- a/vendor/github.com/alecthomas/chroma/styles/trac.go +++ /dev/null @@ -1,42 +0,0 @@ -package styles - -import ( - "github.com/alecthomas/chroma" -) - -// Trac style. -var Trac = Register(chroma.MustNewStyle("trac", chroma.StyleEntries{ - chroma.TextWhitespace: "#bbbbbb", - chroma.Comment: "italic #999988", - chroma.CommentPreproc: "bold noitalic #999999", - chroma.CommentSpecial: "bold #999999", - chroma.Operator: "bold", - chroma.LiteralString: "#bb8844", - chroma.LiteralStringRegex: "#808000", - chroma.LiteralNumber: "#009999", - chroma.Keyword: "bold", - chroma.KeywordType: "#445588", - chroma.NameBuiltin: "#999999", - chroma.NameFunction: "bold #990000", - chroma.NameClass: "bold #445588", - chroma.NameException: "bold #990000", - chroma.NameNamespace: "#555555", - chroma.NameVariable: "#008080", - chroma.NameConstant: "#008080", - chroma.NameTag: "#000080", - chroma.NameAttribute: "#008080", - chroma.NameEntity: "#800080", - chroma.GenericHeading: "#999999", - chroma.GenericSubheading: "#aaaaaa", - chroma.GenericDeleted: "bg:#ffdddd #000000", - chroma.GenericInserted: "bg:#ddffdd #000000", - chroma.GenericError: "#aa0000", - chroma.GenericEmph: "italic", - chroma.GenericStrong: "bold", - chroma.GenericPrompt: "#555555", - chroma.GenericOutput: "#888888", - chroma.GenericTraceback: "#aa0000", - chroma.GenericUnderline: "underline", - chroma.Error: "bg:#e3d2d2 #a61717", - chroma.Background: " bg:#ffffff", -})) diff --git a/vendor/github.com/alecthomas/chroma/styles/vim.go b/vendor/github.com/alecthomas/chroma/styles/vim.go deleted file mode 100644 index 6296042c..00000000 --- a/vendor/github.com/alecthomas/chroma/styles/vim.go +++ /dev/null @@ -1,36 +0,0 @@ -package styles - -import ( - "github.com/alecthomas/chroma" -) - -// Vim style. -var Vim = Register(chroma.MustNewStyle("vim", chroma.StyleEntries{ - chroma.Background: "#cccccc bg:#000000", - chroma.Comment: "#000080", - chroma.CommentSpecial: "bold #cd0000", - chroma.Keyword: "#cdcd00", - chroma.KeywordDeclaration: "#00cd00", - chroma.KeywordNamespace: "#cd00cd", - chroma.KeywordType: "#00cd00", - chroma.Operator: "#3399cc", - chroma.OperatorWord: "#cdcd00", - chroma.NameClass: "#00cdcd", - chroma.NameBuiltin: "#cd00cd", - chroma.NameException: "bold #666699", - chroma.NameVariable: "#00cdcd", - chroma.LiteralString: "#cd0000", - chroma.LiteralNumber: "#cd00cd", - chroma.GenericHeading: "bold #000080", - chroma.GenericSubheading: "bold #800080", - chroma.GenericDeleted: "#cd0000", - chroma.GenericInserted: "#00cd00", - chroma.GenericError: "#FF0000", - chroma.GenericEmph: "italic", - chroma.GenericStrong: "bold", - chroma.GenericPrompt: "bold #000080", - chroma.GenericOutput: "#888", - chroma.GenericTraceback: "#04D", - chroma.GenericUnderline: "underline", - chroma.Error: "border:#FF0000", -})) diff --git a/vendor/github.com/alecthomas/chroma/styles/vs.go b/vendor/github.com/alecthomas/chroma/styles/vs.go deleted file mode 100644 index acbcb915..00000000 --- a/vendor/github.com/alecthomas/chroma/styles/vs.go +++ /dev/null @@ -1,23 +0,0 @@ -package styles - -import ( - "github.com/alecthomas/chroma" -) - -// VisualStudio style. -var VisualStudio = Register(chroma.MustNewStyle("vs", chroma.StyleEntries{ - chroma.Comment: "#008000", - chroma.CommentPreproc: "#0000ff", - chroma.Keyword: "#0000ff", - chroma.OperatorWord: "#0000ff", - chroma.KeywordType: "#2b91af", - chroma.NameClass: "#2b91af", - chroma.LiteralString: "#a31515", - chroma.GenericHeading: "bold", - chroma.GenericSubheading: "bold", - chroma.GenericEmph: "italic", - chroma.GenericStrong: "bold", - chroma.GenericPrompt: "bold", - chroma.Error: "border:#FF0000", - chroma.Background: " bg:#ffffff", -})) diff --git a/vendor/github.com/alecthomas/chroma/styles/xcode.go b/vendor/github.com/alecthomas/chroma/styles/xcode.go deleted file mode 100644 index 115cf71c..00000000 --- a/vendor/github.com/alecthomas/chroma/styles/xcode.go +++ /dev/null @@ -1,29 +0,0 @@ -package styles - -import ( - "github.com/alecthomas/chroma" -) - -// Xcode style. -var Xcode = Register(chroma.MustNewStyle("xcode", chroma.StyleEntries{ - chroma.Comment: "#177500", - chroma.CommentPreproc: "#633820", - chroma.LiteralString: "#C41A16", - chroma.LiteralStringChar: "#2300CE", - chroma.Operator: "#000000", - chroma.Keyword: "#A90D91", - chroma.Name: "#000000", - chroma.NameAttribute: "#836C28", - chroma.NameClass: "#3F6E75", - chroma.NameFunction: "#000000", - chroma.NameBuiltin: "#A90D91", - chroma.NameBuiltinPseudo: "#5B269A", - chroma.NameVariable: "#000000", - chroma.NameTag: "#000000", - chroma.NameDecorator: "#000000", - chroma.NameLabel: "#000000", - chroma.Literal: "#1C01CE", - chroma.LiteralNumber: "#1C01CE", - chroma.Error: "#000000", - chroma.Background: " bg:#ffffff", -})) diff --git a/vendor/github.com/alecthomas/chroma/tokentype_string.go b/vendor/github.com/alecthomas/chroma/tokentype_string.go deleted file mode 100644 index 92ebb9cd..00000000 --- a/vendor/github.com/alecthomas/chroma/tokentype_string.go +++ /dev/null @@ -1,112 +0,0 @@ -// Code generated by "stringer -type TokenType"; DO NOT EDIT. - -package chroma - -import "strconv" - -const _TokenType_name = "NoneOtherErrorLineTableTDLineTableLineHighlightLineNumbersTableLineNumbersBackgroundEOFTypeKeywordKeywordConstantKeywordDeclarationKeywordNamespaceKeywordPseudoKeywordReservedKeywordTypeNameNameAttributeNameBuiltinNameBuiltinPseudoNameClassNameConstantNameDecoratorNameEntityNameExceptionNameFunctionNameFunctionMagicNameKeywordNameLabelNameNamespaceNameOperatorNameOtherNamePseudoNamePropertyNameTagNameVariableNameVariableAnonymousNameVariableClassNameVariableGlobalNameVariableInstanceNameVariableMagicLiteralLiteralDateLiteralOtherLiteralStringLiteralStringAffixLiteralStringAtomLiteralStringBacktickLiteralStringBooleanLiteralStringCharLiteralStringDelimiterLiteralStringDocLiteralStringDoubleLiteralStringEscapeLiteralStringHeredocLiteralStringInterpolLiteralStringNameLiteralStringOtherLiteralStringRegexLiteralStringSingleLiteralStringSymbolLiteralNumberLiteralNumberBinLiteralNumberFloatLiteralNumberHexLiteralNumberIntegerLiteralNumberIntegerLongLiteralNumberOctOperatorOperatorWordPunctuationCommentCommentHashbangCommentMultilineCommentSingleCommentSpecialCommentPreprocCommentPreprocFileGenericGenericDeletedGenericEmphGenericErrorGenericHeadingGenericInsertedGenericOutputGenericPromptGenericStrongGenericSubheadingGenericTracebackGenericUnderlineTextTextWhitespaceTextSymbolTextPunctuation" - -var _TokenType_map = map[TokenType]string{ - -9: _TokenType_name[0:4], - -8: _TokenType_name[4:9], - -7: _TokenType_name[9:14], - -6: _TokenType_name[14:25], - -5: _TokenType_name[25:34], - -4: _TokenType_name[34:47], - -3: _TokenType_name[47:63], - -2: _TokenType_name[63:74], - -1: _TokenType_name[74:84], - 0: _TokenType_name[84:91], - 1000: _TokenType_name[91:98], - 1001: _TokenType_name[98:113], - 1002: _TokenType_name[113:131], - 1003: _TokenType_name[131:147], - 1004: _TokenType_name[147:160], - 1005: _TokenType_name[160:175], - 1006: _TokenType_name[175:186], - 2000: _TokenType_name[186:190], - 2001: _TokenType_name[190:203], - 2002: _TokenType_name[203:214], - 2003: _TokenType_name[214:231], - 2004: _TokenType_name[231:240], - 2005: _TokenType_name[240:252], - 2006: _TokenType_name[252:265], - 2007: _TokenType_name[265:275], - 2008: _TokenType_name[275:288], - 2009: _TokenType_name[288:300], - 2010: _TokenType_name[300:317], - 2011: _TokenType_name[317:328], - 2012: _TokenType_name[328:337], - 2013: _TokenType_name[337:350], - 2014: _TokenType_name[350:362], - 2015: _TokenType_name[362:371], - 2016: _TokenType_name[371:381], - 2017: _TokenType_name[381:393], - 2018: _TokenType_name[393:400], - 2019: _TokenType_name[400:412], - 2020: _TokenType_name[412:433], - 2021: _TokenType_name[433:450], - 2022: _TokenType_name[450:468], - 2023: _TokenType_name[468:488], - 2024: _TokenType_name[488:505], - 3000: _TokenType_name[505:512], - 3001: _TokenType_name[512:523], - 3002: _TokenType_name[523:535], - 3100: _TokenType_name[535:548], - 3101: _TokenType_name[548:566], - 3102: _TokenType_name[566:583], - 3103: _TokenType_name[583:604], - 3104: _TokenType_name[604:624], - 3105: _TokenType_name[624:641], - 3106: _TokenType_name[641:663], - 3107: _TokenType_name[663:679], - 3108: _TokenType_name[679:698], - 3109: _TokenType_name[698:717], - 3110: _TokenType_name[717:737], - 3111: _TokenType_name[737:758], - 3112: _TokenType_name[758:775], - 3113: _TokenType_name[775:793], - 3114: _TokenType_name[793:811], - 3115: _TokenType_name[811:830], - 3116: _TokenType_name[830:849], - 3200: _TokenType_name[849:862], - 3201: _TokenType_name[862:878], - 3202: _TokenType_name[878:896], - 3203: _TokenType_name[896:912], - 3204: _TokenType_name[912:932], - 3205: _TokenType_name[932:956], - 3206: _TokenType_name[956:972], - 4000: _TokenType_name[972:980], - 4001: _TokenType_name[980:992], - 5000: _TokenType_name[992:1003], - 6000: _TokenType_name[1003:1010], - 6001: _TokenType_name[1010:1025], - 6002: _TokenType_name[1025:1041], - 6003: _TokenType_name[1041:1054], - 6004: _TokenType_name[1054:1068], - 6100: _TokenType_name[1068:1082], - 6101: _TokenType_name[1082:1100], - 7000: _TokenType_name[1100:1107], - 7001: _TokenType_name[1107:1121], - 7002: _TokenType_name[1121:1132], - 7003: _TokenType_name[1132:1144], - 7004: _TokenType_name[1144:1158], - 7005: _TokenType_name[1158:1173], - 7006: _TokenType_name[1173:1186], - 7007: _TokenType_name[1186:1199], - 7008: _TokenType_name[1199:1212], - 7009: _TokenType_name[1212:1229], - 7010: _TokenType_name[1229:1245], - 7011: _TokenType_name[1245:1261], - 8000: _TokenType_name[1261:1265], - 8001: _TokenType_name[1265:1279], - 8002: _TokenType_name[1279:1289], - 8003: _TokenType_name[1289:1304], -} - -func (i TokenType) String() string { - if str, ok := _TokenType_map[i]; ok { - return str - } - return "TokenType(" + strconv.FormatInt(int64(i), 10) + ")" -} diff --git a/vendor/github.com/alecthomas/chroma/types.go b/vendor/github.com/alecthomas/chroma/types.go deleted file mode 100644 index b102f308..00000000 --- a/vendor/github.com/alecthomas/chroma/types.go +++ /dev/null @@ -1,347 +0,0 @@ -package chroma - -import ( - "encoding/json" - "fmt" -) - -//go:generate stringer -type TokenType - -// TokenType is the type of token to highlight. -// -// It is also an Emitter, emitting a single token of itself -type TokenType int - -func (t TokenType) MarshalJSON() ([]byte, error) { return json.Marshal(t.String()) } -func (t *TokenType) UnmarshalJSON(data []byte) error { - key := "" - err := json.Unmarshal(data, &key) - if err != nil { - return err - } - for tt, text := range _TokenType_map { - if text == key { - *t = tt - return nil - } - } - return fmt.Errorf("unknown TokenType %q", data) -} - -// Set of TokenTypes. -// -// Categories of types are grouped in ranges of 1000, while sub-categories are in ranges of 100. For -// example, the literal category is in the range 3000-3999. The sub-category for literal strings is -// in the range 3100-3199. - -// Meta token types. -const ( - // Default background style. - Background TokenType = -1 - iota - // Line numbers in output. - LineNumbers - // Line numbers in output when in table. - LineNumbersTable - // Line higlight style. - LineHighlight - // Line numbers table wrapper style. - LineTable - // Line numbers table TD wrapper style. - LineTableTD - // Input that could not be tokenised. - Error - // Other is used by the Delegate lexer to indicate which tokens should be handled by the delegate. - Other - // No highlighting. - None - // Used as an EOF marker / nil token - EOFType TokenType = 0 -) - -// Keywords. -const ( - Keyword TokenType = 1000 + iota - KeywordConstant - KeywordDeclaration - KeywordNamespace - KeywordPseudo - KeywordReserved - KeywordType -) - -// Names. -const ( - Name TokenType = 2000 + iota - NameAttribute - NameBuiltin - NameBuiltinPseudo - NameClass - NameConstant - NameDecorator - NameEntity - NameException - NameFunction - NameFunctionMagic - NameKeyword - NameLabel - NameNamespace - NameOperator - NameOther - NamePseudo - NameProperty - NameTag - NameVariable - NameVariableAnonymous - NameVariableClass - NameVariableGlobal - NameVariableInstance - NameVariableMagic -) - -// Literals. -const ( - Literal TokenType = 3000 + iota - LiteralDate - LiteralOther -) - -// Strings. -const ( - LiteralString TokenType = 3100 + iota - LiteralStringAffix - LiteralStringAtom - LiteralStringBacktick - LiteralStringBoolean - LiteralStringChar - LiteralStringDelimiter - LiteralStringDoc - LiteralStringDouble - LiteralStringEscape - LiteralStringHeredoc - LiteralStringInterpol - LiteralStringName - LiteralStringOther - LiteralStringRegex - LiteralStringSingle - LiteralStringSymbol -) - -// Literals. -const ( - LiteralNumber TokenType = 3200 + iota - LiteralNumberBin - LiteralNumberFloat - LiteralNumberHex - LiteralNumberInteger - LiteralNumberIntegerLong - LiteralNumberOct -) - -// Operators. -const ( - Operator TokenType = 4000 + iota - OperatorWord -) - -// Punctuation. -const ( - Punctuation TokenType = 5000 + iota -) - -// Comments. -const ( - Comment TokenType = 6000 + iota - CommentHashbang - CommentMultiline - CommentSingle - CommentSpecial -) - -// Preprocessor "comments". -const ( - CommentPreproc TokenType = 6100 + iota - CommentPreprocFile -) - -// Generic tokens. -const ( - Generic TokenType = 7000 + iota - GenericDeleted - GenericEmph - GenericError - GenericHeading - GenericInserted - GenericOutput - GenericPrompt - GenericStrong - GenericSubheading - GenericTraceback - GenericUnderline -) - -// Text. -const ( - Text TokenType = 8000 + iota - TextWhitespace - TextSymbol - TextPunctuation -) - -// Aliases. -const ( - Whitespace = TextWhitespace - - Date = LiteralDate - - String = LiteralString - StringAffix = LiteralStringAffix - StringBacktick = LiteralStringBacktick - StringChar = LiteralStringChar - StringDelimiter = LiteralStringDelimiter - StringDoc = LiteralStringDoc - StringDouble = LiteralStringDouble - StringEscape = LiteralStringEscape - StringHeredoc = LiteralStringHeredoc - StringInterpol = LiteralStringInterpol - StringOther = LiteralStringOther - StringRegex = LiteralStringRegex - StringSingle = LiteralStringSingle - StringSymbol = LiteralStringSymbol - - Number = LiteralNumber - NumberBin = LiteralNumberBin - NumberFloat = LiteralNumberFloat - NumberHex = LiteralNumberHex - NumberInteger = LiteralNumberInteger - NumberIntegerLong = LiteralNumberIntegerLong - NumberOct = LiteralNumberOct -) - -var ( - StandardTypes = map[TokenType]string{ - Background: "chroma", - LineNumbers: "ln", - LineNumbersTable: "lnt", - LineHighlight: "hl", - LineTable: "lntable", - LineTableTD: "lntd", - Text: "", - Whitespace: "w", - Error: "err", - Other: "x", - // I have no idea what this is used for... - // Escape: "esc", - - Keyword: "k", - KeywordConstant: "kc", - KeywordDeclaration: "kd", - KeywordNamespace: "kn", - KeywordPseudo: "kp", - KeywordReserved: "kr", - KeywordType: "kt", - - Name: "n", - NameAttribute: "na", - NameBuiltin: "nb", - NameBuiltinPseudo: "bp", - NameClass: "nc", - NameConstant: "no", - NameDecorator: "nd", - NameEntity: "ni", - NameException: "ne", - NameFunction: "nf", - NameFunctionMagic: "fm", - NameProperty: "py", - NameLabel: "nl", - NameNamespace: "nn", - NameOther: "nx", - NameTag: "nt", - NameVariable: "nv", - NameVariableClass: "vc", - NameVariableGlobal: "vg", - NameVariableInstance: "vi", - NameVariableMagic: "vm", - - Literal: "l", - LiteralDate: "ld", - - String: "s", - StringAffix: "sa", - StringBacktick: "sb", - StringChar: "sc", - StringDelimiter: "dl", - StringDoc: "sd", - StringDouble: "s2", - StringEscape: "se", - StringHeredoc: "sh", - StringInterpol: "si", - StringOther: "sx", - StringRegex: "sr", - StringSingle: "s1", - StringSymbol: "ss", - - Number: "m", - NumberBin: "mb", - NumberFloat: "mf", - NumberHex: "mh", - NumberInteger: "mi", - NumberIntegerLong: "il", - NumberOct: "mo", - - Operator: "o", - OperatorWord: "ow", - - Punctuation: "p", - - Comment: "c", - CommentHashbang: "ch", - CommentMultiline: "cm", - CommentPreproc: "cp", - CommentPreprocFile: "cpf", - CommentSingle: "c1", - CommentSpecial: "cs", - - Generic: "g", - GenericDeleted: "gd", - GenericEmph: "ge", - GenericError: "gr", - GenericHeading: "gh", - GenericInserted: "gi", - GenericOutput: "go", - GenericPrompt: "gp", - GenericStrong: "gs", - GenericSubheading: "gu", - GenericTraceback: "gt", - GenericUnderline: "gl", - } -) - -func (t TokenType) Parent() TokenType { - if t%100 != 0 { - return t / 100 * 100 - } - if t%1000 != 0 { - return t / 1000 * 1000 - } - return 0 -} - -func (t TokenType) Category() TokenType { - return t / 1000 * 1000 -} - -func (t TokenType) SubCategory() TokenType { - return t / 100 * 100 -} - -func (t TokenType) InCategory(other TokenType) bool { - return t/1000 == other/1000 -} - -func (t TokenType) InSubCategory(other TokenType) bool { - return t/100 == other/100 -} - -func (t TokenType) Emit(groups []string, lexer Lexer) Iterator { - return Literator(Token{Type: t, Value: groups[0]}) -} diff --git a/vendor/github.com/andygrunwald/go-gerrit/.gitignore b/vendor/github.com/andygrunwald/go-gerrit/.gitignore deleted file mode 100644 index 4c7d39ea..00000000 --- a/vendor/github.com/andygrunwald/go-gerrit/.gitignore +++ /dev/null @@ -1 +0,0 @@ -/coverage.txt \ No newline at end of file diff --git a/vendor/github.com/andygrunwald/go-gerrit/.travis.yml b/vendor/github.com/andygrunwald/go-gerrit/.travis.yml deleted file mode 100644 index e1e53046..00000000 --- a/vendor/github.com/andygrunwald/go-gerrit/.travis.yml +++ /dev/null @@ -1,17 +0,0 @@ -language: go - -sudo: false - -go: - - "1.11.x" - - "1.10.x" - - "1.9.x" - -before_install: - - make deps - -script: - - make - -after_success: - - bash <(curl -s https://codecov.io/bash) diff --git a/vendor/github.com/andygrunwald/go-gerrit/CHANGELOG.md b/vendor/github.com/andygrunwald/go-gerrit/CHANGELOG.md deleted file mode 100644 index 2052a6c5..00000000 --- a/vendor/github.com/andygrunwald/go-gerrit/CHANGELOG.md +++ /dev/null @@ -1,105 +0,0 @@ -# Changelog - -This is a high level log of changes, bugfixes, enhancements, etc -that have taken place between releases. Later versions are shown -first. For more complete details see -[the releases on GitHub.](https://github.com/andygrunwald/go-gerrit/releases) - -## Versions - -### Latest - -### 0.5.2 - -* Fix panic in checkAuth() if Gerrit is down #42 -* Implement ListVotes(), DeleteVotes() and add missing tests - -### 0.5.1 - -* Added the `AbandonChange`, `RebaseChange`, `RestoreChange` and - `RevertChange` functions. - -### 0.5.0 - -**WARNING**: This release includes breaking changes. - -* [BREAKING CHANGE] The SetReview function was returning the wrong - entity type. (#40) - -### 0.4.0 - -**WARNING**: This release includes breaking changes. - -* [BREAKING CHANGE] - Added gometalinter to the build and fixed problems - discovered by the linters. - * Comment and error string fixes. - * Numerous lint and styling fixes. - * Ensured error values are being properly checked where appropriate. - * Addition of missing documentation - * Removed filePath parameter from DeleteChangeEdit which was unused and - unnecessary for the request. - * Fixed CherryPickRevision and IncludeGroups functions which didn't pass - along the provided input structs into the request. -* Go 1.5 has been removed from testing on Travis. The linters introduced in - 0.4.0 do not support this version, Go 1.5 is lacking security updates and - most Linux distros have moved beyond Go 1.5 now. -* Add Go 1.9 to the Travis matrix. -* Fixed an issue where urls containing certain characters in the credentials - could cause NewClient() to use an invalid url. Something like `/`, which - Gerrit could use for generated passwords, for example would break url.Parse's - expectations. - -### 0.3.0 - -**WARNING**: This release includes breaking changes. - -* [BREAKING CHANGE] Fix Changes.PublishDraftChange to accept a notify parameter. -* [BREAKING CHANGE] Fix PublishChangeEdit to accept a notify parameter. -* [BREAKING CHANGE] Fix ChangeFileContentInChangeEdit to allow the file content - to be included in the request. -* Fix the url being used by CreateChange -* Fix type serialization of EventInfo.PatchSet.Number so it's consistent. -* Fix Changes.AddReviewer so it passes along the reviewer to the request. -* Simplify and optimize RemoveMagicPrefixLine - -### 0.2.0 - -**WARNING**: This release includes breaking changes. - -* [BREAKING CHANGE] Several bugfixes to GetEvents: - * Update EventInfo to handle the changeKey field and apply - the proper type for the Project field - * Provide a means to ignore marshaling errors - * Update GetEvents() to return the failed lines and remove - the pointer to the return value because it's unnecessary. -* [BREAKING CHANGE] In ec28f77 `ChangeInfo.Labels` has been changed to map - to fix #21. - - -### 0.1.1 - -* Minor fix to SubmitChange to use the `http.StatusConflict` constant - instead of a hard coded value when comparing response codes. -* Updated AccountInfo.AccountID to be omitted of empty (such as when - used in ApprovalInfo). -* + and : in url parameters for queries are no longer escaped. This was - causing `400 Bad Request` to be returned when the + symbol was - included as part of the query. To match behavior with Gerrit's search - handling, the : symbol was also excluded. -* Fixed documentation for NewClient and moved fmt.Errorf call from - inside the function to a `ErrNoInstanceGiven` variable so it's - easier to compare against. -* Updated internal function digestAuthHeader to return exported errors - (ErrWWWAuthenticateHeader*) rather than calling fmt.Errorf. This makes - it easier to test against externally and also fixes a lint issue too. -* Updated NewClient function to handle credentials in the url. -* Added the missing `Submitted` field to `ChangeInfo`. -* Added the missing `URL` field to `ChangeInfo` which is usually included - as part of an event from the events-log plugin. - -### 0.1.0 - -* The first official release -* Implemented digest auth and several fixes for it. -* Ensured Content-Type is included in all requests -* Fixed several internal bugs as well as a few documentation issues diff --git a/vendor/github.com/andygrunwald/go-gerrit/LICENSE b/vendor/github.com/andygrunwald/go-gerrit/LICENSE deleted file mode 100644 index 692f6bea..00000000 --- a/vendor/github.com/andygrunwald/go-gerrit/LICENSE +++ /dev/null @@ -1,22 +0,0 @@ -The MIT License (MIT) - -Copyright (c) 2015 Andy Grunwald - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - diff --git a/vendor/github.com/andygrunwald/go-gerrit/Makefile b/vendor/github.com/andygrunwald/go-gerrit/Makefile deleted file mode 100644 index ca354f43..00000000 --- a/vendor/github.com/andygrunwald/go-gerrit/Makefile +++ /dev/null @@ -1,26 +0,0 @@ -.PHONY: fmt vet check-vendor lint check clean test build -PACKAGES = $(shell go list ./...) -PACKAGE_DIRS = $(shell go list -f '{{ .Dir }}' ./...) - -check: test vet lint - -test: - go test -v -race -coverprofile=coverage.txt -covermode=atomic ./... - -vet: - go vet $(PACKAGES) || (go clean $(PACKAGES); go vet $(PACKAGES)) - -lint: - gometalinter --config gometalinter.json ./... - -fmt: - go fmt $(PACKAGES) - goimports -w $(PACKAGE_DIRS) - -deps: - go get -t -v ./... - go get github.com/axw/gocov/gocov - go get golang.org/x/tools/cmd/cover - [ -f $(GOPATH)/bin/gometalinter ] || go get -u github.com/alecthomas/gometalinter - [ -f $(GOPATH)/bin/goimports ] || go get golang.org/x/tools/cmd/goimports - gometalinter --install diff --git a/vendor/github.com/andygrunwald/go-gerrit/README.md b/vendor/github.com/andygrunwald/go-gerrit/README.md deleted file mode 100644 index 0341d439..00000000 --- a/vendor/github.com/andygrunwald/go-gerrit/README.md +++ /dev/null @@ -1,270 +0,0 @@ -# go-gerrit - -[![GoDoc](https://godoc.org/github.com/andygrunwald/go-gerrit?status.svg)](https://godoc.org/github.com/andygrunwald/go-gerrit) -[![Build Status](https://travis-ci.org/andygrunwald/go-gerrit.svg?branch=master)](https://travis-ci.org/andygrunwald/go-gerrit) -[![Go Report Card](https://goreportcard.com/badge/github.com/andygrunwald/go-gerrit)](https://goreportcard.com/report/github.com/andygrunwald/go-gerrit) -[![codecov](https://codecov.io/gh/andygrunwald/go-gerrit/branch/master/graph/badge.svg)](https://codecov.io/gh/andygrunwald/go-gerrit) - -go-gerrit is a [Go(lang)](https://golang.org/) client library for accessing the [Gerrit Code Review](https://www.gerritcodereview.com/) API. - -![go-gerrit - Go(lang) client/library for Gerrit Code Review](./img/logo.png "go-gerrit - Go(lang) client/library for Gerrit Code Review") - -## Features - -* [Authentication](https://godoc.org/github.com/andygrunwald/go-gerrit#AuthenticationService) (HTTP Basic, HTTP Digest, HTTP Cookie) -* Every API Endpoint like Gerrit - * [/access/](https://godoc.org/github.com/andygrunwald/go-gerrit#AccessService) - * [/accounts/](https://godoc.org/github.com/andygrunwald/go-gerrit#AccountsService) - * [/changes/](https://godoc.org/github.com/andygrunwald/go-gerrit#ChangesService) - * [/config/](https://godoc.org/github.com/andygrunwald/go-gerrit#ConfigService) - * [/groups/](https://godoc.org/github.com/andygrunwald/go-gerrit#GroupsService) - * [/plugins/](https://godoc.org/github.com/andygrunwald/go-gerrit#PluginsService) - * [/projects/](https://godoc.org/github.com/andygrunwald/go-gerrit#ProjectsService) -* Supports optional plugin APIs such as - * events-log - [About](https://gerrit.googlesource.com/plugins/events-log/+/master/src/main/resources/Documentation/about.md), [REST API](https://gerrit.googlesource.com/plugins/events-log/+/master/src/main/resources/Documentation/rest-api-events.md) - - -## Installation - -go-gerrit requires Go version 1.8 or greater. - -It is go gettable ... - -```sh -$ go get github.com/andygrunwald/go-gerrit -``` - -... (optional) to run checks and tests: - -**Tests Only** - -```sh -$ cd $GOPATH/src/github.com/andygrunwald/go-gerrit -$ go test -v -``` - -**Checks, Tests, Linters, etc** - -```sh -$ cd $GOPATH/src/github.com/andygrunwald/go-gerrit -$ make -``` - -## API / Usage - -Please have a look at the [GoDoc documentation](https://godoc.org/github.com/andygrunwald/go-gerrit) for a detailed API description. - -The [Gerrit Code Review - REST API](https://gerrit-review.googlesource.com/Documentation/rest-api.html) was the base document. - -### Authentication - -Gerrit support multiple ways for [authentication](https://gerrit-review.googlesource.com/Documentation/rest-api.html#authentication). - -#### HTTP Basic - -Some Gerrit instances (like [TYPO3](https://review.typo3.org/)) has [auth.gitBasicAuth](https://gerrit-review.googlesource.com/Documentation/config-gerrit.html#auth.gitBasicAuth) activated. -With this you can authenticate with HTTP Basic like this: - -```go -instance := "https://review.typo3.org/" -client, _ := gerrit.NewClient(instance, nil) -client.Authentication.SetBasicAuth("andy.grunwald", "my secrect password") - -self, _, _ := client.Accounts.GetAccount("self") - -fmt.Printf("Username: %s", self.Name) - -// Username: Andy Grunwald -``` - -If you get an `401 Unauthorized`, check your Account Settings and have a look at the `HTTP Password` configuration. - -#### HTTP Digest - -Some Gerrit instances (like [Wikimedia](https://gerrit.wikimedia.org/)) has [Digest access authentication](https://en.wikipedia.org/wiki/Digest_access_authentication) activated. - -```go -instance := "https://gerrit.wikimedia.org/r/" -client, _ := gerrit.NewClient(instance, nil) -client.Authentication.SetDigestAuth("andy.grunwald", "my secrect http password") - -self, resp, err := client.Accounts.GetAccount("self") - -fmt.Printf("Username: %s", self.Name) - -// Username: Andy Grunwald -``` - -If digest auth is not supported by the choosen Gerrit instance, an error like `WWW-Authenticate header type is not Digest` is thrown. - -If you get an `401 Unauthorized`, check your Account Settings and have a look at the `HTTP Password` configuration. - -#### HTTP Cookie - -Some Gerrit instances hosted like the one hosted googlesource.com (e.g. [Go(lang)](https://go-review.googlesource.com/), [Android](https://android-review.googlesource.com/) or [Gerrit](https://gerrit-review.googlesource.com/)) support HTTP Cookie authentication. - -You need the cookie name and the cookie value. -You can get them by click on "Settings > HTTP Password > Obtain Password" in your Gerrit instance. - -There you can receive your values. -The cookie name will be (mostly) `o` (if hosted on googlesource.com). -Your cookie secret will be something like `git-your@email.com=SomeHash...`. - -```go -instance := "https://gerrit-review.googlesource.com/" -client, _ := gerrit.NewClient(instance, nil) -client.Authentication.SetCookieAuth("o", "my-cookie-secret") - -self, _, _ := client.Accounts.GetAccount("self") - -fmt.Printf("Username: %s", self.Name) - -// Username: Andy G. -``` - -### More more more - -In the examples chapter below you will find a few more examples. -If you miss one or got a question how to do something please [open a new issue](https://github.com/andygrunwald/go-gerrit/issues/new) with your question. -We will be happy to answer them. - -## Examples - -Further a few examples how the API can be used. -A few more examples are available in the [GoDoc examples section](https://godoc.org/github.com/andygrunwald/go-gerrit#pkg-examples). - -### Get version of Gerrit instance - -Receive the version of the [Gerrit instance used by the Gerrit team](https://gerrit-review.googlesource.com/) for development: - -```go -package main - -import ( - "fmt" - "github.com/andygrunwald/go-gerrit" -) - -func main() { - instance := "https://gerrit-review.googlesource.com/" - client, err := gerrit.NewClient(instance, nil) - if err != nil { - panic(err) - } - - v, _, err := client.Config.GetVersion() - - fmt.Printf("Version: %s", v) - - // Version: 2.12.2-2512-g0b1bccd -} -``` - -### Get all public projects - -List all projects from [Chromium](https://chromium-review.googlesource.com/): - -```go -package main - -import ( - "fmt" - "github.com/andygrunwald/go-gerrit" -) - -func main() { - instance := "https://chromium-review.googlesource.com/" - client, err := gerrit.NewClient(instance, nil) - if err != nil { - panic(err) - } - - opt := &gerrit.ProjectOptions{ - Description: true, - } - projects, _, err := client.Projects.ListProjects(opt) - for name, p := range *projects { - fmt.Printf("%s - State: %s\n", name, p.State) - } - - // chromiumos/platform/depthcharge - State: ACTIVE - // external/github.com/maruel/subcommands - State: ACTIVE - // external/junit - State: ACTIVE - // ... -} -``` - -### Query changes - -Get some changes of the [kernel/common project](https://android-review.googlesource.com/#/q/project:kernel/common) from the [Android](http://source.android.com/) [Gerrit Review System](https://android-review.googlesource.com/). - -```go -package main - -import ( - "fmt" - "github.com/andygrunwald/go-gerrit" -) - -func main() { - instance := "https://android-review.googlesource.com/" - client, err := gerrit.NewClient(instance, nil) - if err != nil { - panic(err) - } - - opt := &gerrit.QueryChangeOptions{} - opt.Query = []string{"project:kernel/common"} - opt.AdditionalFields = []string{"LABELS"} - changes, _, err := client.Changes.QueryChanges(opt) - - for _, change := range *changes { - fmt.Printf("Project: %s -> %s -> %s%d\n", change.Project, change.Subject, instance, change.Number) - } - - // Project: kernel/common -> android: binder: Fix BR_ERROR usage and change LSM denials to use it. -> https://android-review.googlesource.com/150839 - // Project: kernel/common -> android: binder: fix duplicate error return. -> https://android-review.googlesource.com/155031 - // Project: kernel/common -> dm-verity: Add modes and emit uevent on corrupted blocks -> https://android-review.googlesource.com/169572 - // ... -} -``` - -## FAQ - -### How is the source code organized? - -The source code organisation was inspired by [go-github by Google](https://github.com/google/go-github). - -Every REST API Endpoint (e.g. [/access/](https://gerrit-review.googlesource.com/Documentation/rest-api-access.html) or [/changes/](https://gerrit-review.googlesource.com/Documentation/rest-api-changes.html)) is coupled in a service (e.g. [AccessService in access.go](./access.go) or [ChangesService in changes.go](./changes.go)). -Every service is part of [gerrit.Client](./gerrit.go) as a member variable. - -gerrit.Client can provide basic helper functions to avoid unnecessary code duplications such as building a new request, parse responses and so on. - -Based on this structure implementing a new API functionality is straight forwarded. Here is an example of *ChangeService.DeleteTopic* / [DELETE /changes/{change-id}/topic](https://gerrit-review.googlesource.com/Documentation/rest-api-changes.html#delete-topic): - -```go -func (s *ChangesService) DeleteTopic(changeID string) (*Response, error) { - u := fmt.Sprintf("changes/%s/topic", changeID) - return s.client.DeleteRequest(u, nil) -} -``` - -### What about the version compatibility with Gerrit? - -The library was implemented based on the REST API of Gerrit version 2.11.3-1230-gb8336f1 and tested against this version. - -This library might be working with older versions as well. -If you notice an incompatibility [open a new issue](https://github.com/andygrunwald/go-gerrit/issues/new) or try to fix it. -We welcome contribution! - - -### What about adding code to support the REST API of an optional plugin? - -It will depend on the plugin, you are welcome to [open a new issue](https://github.com/andygrunwald/go-gerrit/issues/new) first to propose the idea if you wish. -As an example the addition of support for events-log plugin was supported because the plugin itself is fairly -popular and the structures that the REST API uses could also be used by `gerrit stream-events`. - - -## License - -This project is released under the terms of the [MIT license](http://en.wikipedia.org/wiki/MIT_License). diff --git a/vendor/github.com/andygrunwald/go-gerrit/access.go b/vendor/github.com/andygrunwald/go-gerrit/access.go deleted file mode 100644 index d3237a8c..00000000 --- a/vendor/github.com/andygrunwald/go-gerrit/access.go +++ /dev/null @@ -1,74 +0,0 @@ -package gerrit - -// AccessService contains Access Right related REST endpoints -// -// Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/rest-api-access.html -type AccessService struct { - client *Client -} - -// AccessSectionInfo describes the access rights that are assigned on a ref. -// -// Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/rest-api-access.html#access-section-info -type AccessSectionInfo struct { - Permissions map[string]PermissionInfo `json:"permissions"` -} - -// PermissionInfo entity contains information about an assigned permission. -// -// Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/rest-api-access.html#permission-info -type PermissionInfo struct { - Label string `json:"label,omitempty"` - Exclusive bool `json:"exclusive"` - Rules map[string]PermissionRuleInfo `json:"rules"` -} - -// PermissionRuleInfo entity contains information about a permission rule that is assigned to group. -// -// Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/rest-api-access.html#permission-rule-info -type PermissionRuleInfo struct { - // TODO Possible values for action: ALLOW, DENY or BLOCK, INTERACTIVE and BATCH - Action string `json:"action"` - Force bool `json:"force"` - Min int `json:"min"` - Max int `json:"max"` -} - -// ProjectAccessInfo entity contains information about the access rights for a project. -// -// Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/rest-api-access.html#project-access-info -type ProjectAccessInfo struct { - Revision string `json:"revision"` - InheritsFrom ProjectInfo `json:"inherits_from"` - Local map[string]AccessSectionInfo `json:"local"` - IsOwner bool `json:"is_owner"` - OwnerOf []string `json:"owner_of"` - CanUpload bool `json:"can_upload"` - CanAdd bool `json:"can_add"` - ConfigVisible bool `json:"config_visible"` -} - -// ListAccessRightsOptions specifies the parameters to the AccessService.ListAccessRights. -type ListAccessRightsOptions struct { - // The projects for which the access rights should be returned must be specified as project options. - // The project can be specified multiple times. - Project []string `url:"project,omitempty"` -} - -// ListAccessRights lists the access rights for projects. -// As result a map is returned that maps the project name to ProjectAccessInfo entities. -// The entries in the map are sorted by project name. -// -// Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/rest-api-access.html#list-access -func (s *AccessService) ListAccessRights(opt *ListAccessRightsOptions) (*map[string]ProjectAccessInfo, *Response, error) { - u := "access/" - - u, err := addOptions(u, opt) - if err != nil { - return nil, nil, err - } - - v := new(map[string]ProjectAccessInfo) - resp, err := s.client.Call("GET", u, nil, v) - return v, resp, err -} diff --git a/vendor/github.com/andygrunwald/go-gerrit/accounts.go b/vendor/github.com/andygrunwald/go-gerrit/accounts.go deleted file mode 100644 index 3f828635..00000000 --- a/vendor/github.com/andygrunwald/go-gerrit/accounts.go +++ /dev/null @@ -1,874 +0,0 @@ -package gerrit - -import ( - "fmt" -) - -// AccountsService contains Account related REST endpoints -// -// Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/rest-api-accounts.html -type AccountsService struct { - client *Client -} - -// AccountInfo entity contains information about an account. -type AccountInfo struct { - AccountID int `json:"_account_id,omitempty"` - Name string `json:"name,omitempty"` - Email string `json:"email,omitempty"` - Username string `json:"username,omitempty"` - - // Avatars lists avatars of various sizes for the account. - // This field is only populated if the avatars plugin is enabled. - Avatars []struct { - URL string `json:"url,omitempty"` - Height int `json:"height,omitempty"` - } `json:"avatars,omitempty"` -} - -// SSHKeyInfo entity contains information about an SSH key of a user. -type SSHKeyInfo struct { - Seq int `json:"seq"` - SSHPublicKey string `json:"ssh_public_key"` - EncodedKey string `json:"encoded_key"` - Algorithm string `json:"algorithm"` - Comment string `json:"comment,omitempty"` - Valid bool `json:"valid"` -} - -// UsernameInput entity contains information for setting the username for an account. -type UsernameInput struct { - Username string `json:"username"` -} - -// QueryLimitInfo entity contains information about the Query Limit of a user. -type QueryLimitInfo struct { - Min int `json:"min"` - Max int `json:"max"` -} - -// HTTPPasswordInput entity contains information for setting/generating an HTTP password. -type HTTPPasswordInput struct { - Generate bool `json:"generate,omitempty"` - HTTPPassword string `json:"http_password,omitempty"` -} - -// GpgKeysInput entity contains information for adding/deleting GPG keys. -type GpgKeysInput struct { - Add []string `json:"add"` - Delete []string `json:"delete"` -} - -// GpgKeyInfo entity contains information about a GPG public key. -type GpgKeyInfo struct { - ID string `json:"id,omitempty"` - Fingerprint string `json:"fingerprint,omitempty"` - UserIDs []string `json:"user_ids,omitempty"` - Key string `json:"key,omitempty"` -} - -// EmailInput entity contains information for registering a new email address. -type EmailInput struct { - Email string `json:"email"` - Preferred bool `json:"preferred,omitempty"` - NoConfirmation bool `json:"no_confirmation,omitempty"` -} - -// EmailInfo entity contains information about an email address of a user. -type EmailInfo struct { - Email string `json:"email"` - Preferred bool `json:"preferred,omitempty"` - PendingConfirmation bool `json:"pending_confirmation,omitempty"` -} - -// AccountInput entity contains information for the creation of a new account. -type AccountInput struct { - Username string `json:"username,omitempty"` - Name string `json:"name,omitempty"` - Email string `json:"email,omitempty"` - SSHKey string `json:"ssh_key,omitempty"` - HTTPPassword string `json:"http_password,omitempty"` - Groups []string `json:"groups,omitempty"` -} - -// AccountDetailInfo entity contains detailed information about an account. -type AccountDetailInfo struct { - AccountInfo - RegisteredOn Timestamp `json:"registered_on"` -} - -// AccountNameInput entity contains information for setting a name for an account. -type AccountNameInput struct { - Name string `json:"name,omitempty"` -} - -// AccountCapabilityInfo entity contains information about the global capabilities of a user. -type AccountCapabilityInfo struct { - AccessDatabase bool `json:"accessDatabase,omitempty"` - AdministrateServer bool `json:"administrateServer,omitempty"` - CreateAccount bool `json:"createAccount,omitempty"` - CreateGroup bool `json:"createGroup,omitempty"` - CreateProject bool `json:"createProject,omitempty"` - EmailReviewers bool `json:"emailReviewers,omitempty"` - FlushCaches bool `json:"flushCaches,omitempty"` - KillTask bool `json:"killTask,omitempty"` - MaintainServer bool `json:"maintainServer,omitempty"` - Priority string `json:"priority,omitempty"` - QueryLimit QueryLimitInfo `json:"queryLimit"` - RunAs bool `json:"runAs,omitempty"` - RunGC bool `json:"runGC,omitempty"` - StreamEvents bool `json:"streamEvents,omitempty"` - ViewAllAccounts bool `json:"viewAllAccounts,omitempty"` - ViewCaches bool `json:"viewCaches,omitempty"` - ViewConnections bool `json:"viewConnections,omitempty"` - ViewPlugins bool `json:"viewPlugins,omitempty"` - ViewQueue bool `json:"viewQueue,omitempty"` -} - -// DiffPreferencesInfo entity contains information about the diff preferences of a user. -type DiffPreferencesInfo struct { - Context int `json:"context"` - Theme string `json:"theme"` - ExpandAllComments bool `json:"expand_all_comments,omitempty"` - IgnoreWhitespace string `json:"ignore_whitespace"` - IntralineDifference bool `json:"intraline_difference,omitempty"` - LineLength int `json:"line_length"` - ManualReview bool `json:"manual_review,omitempty"` - RetainHeader bool `json:"retain_header,omitempty"` - ShowLineEndings bool `json:"show_line_endings,omitempty"` - ShowTabs bool `json:"show_tabs,omitempty"` - ShowWhitespaceErrors bool `json:"show_whitespace_errors,omitempty"` - SkipDeleted bool `json:"skip_deleted,omitempty"` - SkipUncommented bool `json:"skip_uncommented,omitempty"` - SyntaxHighlighting bool `json:"syntax_highlighting,omitempty"` - HideTopMenu bool `json:"hide_top_menu,omitempty"` - AutoHideDiffTableHeader bool `json:"auto_hide_diff_table_header,omitempty"` - HideLineNumbers bool `json:"hide_line_numbers,omitempty"` - TabSize int `json:"tab_size"` - HideEmptyPane bool `json:"hide_empty_pane,omitempty"` -} - -// DiffPreferencesInput entity contains information for setting the diff preferences of a user. -// Fields which are not set will not be updated. -type DiffPreferencesInput struct { - Context int `json:"context,omitempty"` - ExpandAllComments bool `json:"expand_all_comments,omitempty"` - IgnoreWhitespace string `json:"ignore_whitespace,omitempty"` - IntralineDifference bool `json:"intraline_difference,omitempty"` - LineLength int `json:"line_length,omitempty"` - ManualReview bool `json:"manual_review,omitempty"` - RetainHeader bool `json:"retain_header,omitempty"` - ShowLineEndings bool `json:"show_line_endings,omitempty"` - ShowTabs bool `json:"show_tabs,omitempty"` - ShowWhitespaceErrors bool `json:"show_whitespace_errors,omitempty"` - SkipDeleted bool `json:"skip_deleted,omitempty"` - SkipUncommented bool `json:"skip_uncommented,omitempty"` - SyntaxHighlighting bool `json:"syntax_highlighting,omitempty"` - HideTopMenu bool `json:"hide_top_menu,omitempty"` - AutoHideDiffTableHeader bool `json:"auto_hide_diff_table_header,omitempty"` - HideLineNumbers bool `json:"hide_line_numbers,omitempty"` - TabSize int `json:"tab_size,omitempty"` -} - -// PreferencesInfo entity contains information about a user’s preferences. -type PreferencesInfo struct { - ChangesPerPage int `json:"changes_per_page"` - ShowSiteHeader bool `json:"show_site_header,omitempty"` - UseFlashClipboard bool `json:"use_flash_clipboard,omitempty"` - DownloadScheme string `json:"download_scheme"` - DownloadCommand string `json:"download_command"` - CopySelfOnEmail bool `json:"copy_self_on_email,omitempty"` - DateFormat string `json:"date_format"` - TimeFormat string `json:"time_format"` - RelativeDateInChangeTable bool `json:"relative_date_in_change_table,omitempty"` - SizeBarInChangeTable bool `json:"size_bar_in_change_table,omitempty"` - LegacycidInChangeTable bool `json:"legacycid_in_change_table,omitempty"` - MuteCommonPathPrefixes bool `json:"mute_common_path_prefixes,omitempty"` - ReviewCategoryStrategy string `json:"review_category_strategy"` - DiffView string `json:"diff_view"` - My []TopMenuItemInfo `json:"my"` - URLAliases string `json:"url_aliases,omitempty"` -} - -// PreferencesInput entity contains information for setting the user preferences. -// Fields which are not set will not be updated. -type PreferencesInput struct { - ChangesPerPage int `json:"changes_per_page,omitempty"` - ShowSiteHeader bool `json:"show_site_header,omitempty"` - UseFlashClipboard bool `json:"use_flash_clipboard,omitempty"` - DownloadScheme string `json:"download_scheme,omitempty"` - DownloadCommand string `json:"download_command,omitempty"` - CopySelfOnEmail bool `json:"copy_self_on_email,omitempty"` - DateFormat string `json:"date_format,omitempty"` - TimeFormat string `json:"time_format,omitempty"` - RelativeDateInChangeTable bool `json:"relative_date_in_change_table,omitempty"` - SizeBarInChangeTable bool `json:"size_bar_in_change_table,omitempty"` - LegacycidInChangeTable bool `json:"legacycid_in_change_table,omitempty"` - MuteCommonPathPrefixes bool `json:"mute_common_path_prefixes,omitempty"` - ReviewCategoryStrategy string `json:"review_category_strategy,omitempty"` - DiffView string `json:"diff_view,omitempty"` - My []TopMenuItemInfo `json:"my,omitempty"` - URLAliases string `json:"url_aliases,omitempty"` -} - -// CapabilityOptions specifies the parameters to filter for capabilities. -// -// Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/rest-api-accounts.html#list-account-capabilities -type CapabilityOptions struct { - // To filter the set of global capabilities the q parameter can be used. - // Filtering may decrease the response time by avoiding looking at every possible alternative for the caller. - Filter []string `url:"q,omitempty"` -} - -// GetAccount returns an account as an AccountInfo entity. -// If account is "self" the current authenticated account will be returned. -// -// Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/rest-api-accounts.html#get-account -func (s *AccountsService) GetAccount(account string) (*AccountInfo, *Response, error) { - u := fmt.Sprintf("accounts/%s", account) - - req, err := s.client.NewRequest("GET", u, nil) - if err != nil { - return nil, nil, err - } - - v := new(AccountInfo) - resp, err := s.client.Do(req, v) - if err != nil { - return nil, resp, err - } - - return v, resp, err -} - -// GetAccountDetails retrieves the details of an account. -// -// Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/rest-api-accounts.html#get-detail -func (s *AccountsService) GetAccountDetails(accountID string) (*AccountDetailInfo, *Response, error) { - u := fmt.Sprintf("accounts/%s/detail", accountID) - - req, err := s.client.NewRequest("GET", u, nil) - if err != nil { - return nil, nil, err - } - - v := new(AccountDetailInfo) - resp, err := s.client.Do(req, v) - if err != nil { - return nil, resp, err - } - - return v, resp, err -} - -// GetAccountName retrieves the full name of an account. -// -// Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/rest-api-accounts.html#get-account-name -func (s *AccountsService) GetAccountName(accountID string) (string, *Response, error) { - u := fmt.Sprintf("accounts/%s/name", accountID) - return getStringResponseWithoutOptions(s.client, u) -} - -// GetUsername retrieves the username of an account. -// -// Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/rest-api-accounts.html#get-username -func (s *AccountsService) GetUsername(accountID string) (string, *Response, error) { - u := fmt.Sprintf("accounts/%s/username", accountID) - return getStringResponseWithoutOptions(s.client, u) -} - -// GetHTTPPassword retrieves the HTTP password of an account. -// -// Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/rest-api-accounts.html#get-http-password -func (s *AccountsService) GetHTTPPassword(accountID string) (string, *Response, error) { - u := fmt.Sprintf("accounts/%s/password.http", accountID) - return getStringResponseWithoutOptions(s.client, u) -} - -// ListAccountEmails returns the email addresses that are configured for the specified user. -// -// Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/rest-api-accounts.html#list-account-emails -func (s *AccountsService) ListAccountEmails(accountID string) (*[]EmailInfo, *Response, error) { - u := fmt.Sprintf("accounts/%s/emails", accountID) - - req, err := s.client.NewRequest("GET", u, nil) - if err != nil { - return nil, nil, err - } - - v := new([]EmailInfo) - resp, err := s.client.Do(req, v) - if err != nil { - return nil, resp, err - } - - return v, resp, err -} - -// GetAccountEmail retrieves an email address of a user. -// -// Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/rest-api-accounts.html#get-account-email -func (s *AccountsService) GetAccountEmail(accountID, emailID string) (*EmailInfo, *Response, error) { - u := fmt.Sprintf("accounts/%s/emails/%s", accountID, emailID) - - req, err := s.client.NewRequest("GET", u, nil) - if err != nil { - return nil, nil, err - } - - v := new(EmailInfo) - resp, err := s.client.Do(req, v) - if err != nil { - return nil, resp, err - } - - return v, resp, err -} - -// ListSSHKeys returns the SSH keys of an account. -// -// Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/rest-api-accounts.html#list-ssh-keys -func (s *AccountsService) ListSSHKeys(accountID string) (*[]SSHKeyInfo, *Response, error) { - u := fmt.Sprintf("accounts/%s/sshkeys", accountID) - - req, err := s.client.NewRequest("GET", u, nil) - if err != nil { - return nil, nil, err - } - - v := new([]SSHKeyInfo) - resp, err := s.client.Do(req, v) - if err != nil { - return nil, resp, err - } - - return v, resp, err -} - -// GetSSHKey retrieves an SSH key of a user. -// -// Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/rest-api-accounts.html#get-ssh-key -func (s *AccountsService) GetSSHKey(accountID, sshKeyID string) (*SSHKeyInfo, *Response, error) { - u := fmt.Sprintf("accounts/%s/sshkeys/%s", accountID, sshKeyID) - - req, err := s.client.NewRequest("GET", u, nil) - if err != nil { - return nil, nil, err - } - - v := new(SSHKeyInfo) - resp, err := s.client.Do(req, v) - if err != nil { - return nil, resp, err - } - - return v, resp, err -} - -// ListGPGKeys returns the GPG keys of an account. -// -// Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/rest-api-accounts.html#list-gpg-keys -func (s *AccountsService) ListGPGKeys(accountID string) (*map[string]GpgKeyInfo, *Response, error) { - u := fmt.Sprintf("accounts/%s/gpgkeys", accountID) - - req, err := s.client.NewRequest("GET", u, nil) - if err != nil { - return nil, nil, err - } - - v := new(map[string]GpgKeyInfo) - resp, err := s.client.Do(req, v) - if err != nil { - return nil, resp, err - } - - return v, resp, err -} - -// GetGPGKey retrieves a GPG key of a user. -// -// Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/rest-api-accounts.html#get-gpg-key -func (s *AccountsService) GetGPGKey(accountID, gpgKeyID string) (*GpgKeyInfo, *Response, error) { - u := fmt.Sprintf("accounts/%s/gpgkeys/%s", accountID, gpgKeyID) - - req, err := s.client.NewRequest("GET", u, nil) - if err != nil { - return nil, nil, err - } - - v := new(GpgKeyInfo) - resp, err := s.client.Do(req, v) - if err != nil { - return nil, resp, err - } - - return v, resp, err -} - -// ListAccountCapabilities returns the global capabilities that are enabled for the specified user. -// If the global capabilities for the calling user should be listed, self can be used as account-id. -// This can be used by UI tools to discover if administrative features are available to the caller, so they can hide (or show) relevant UI actions. -// -// Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/rest-api-accounts.html#list-account-capabilities -func (s *AccountsService) ListAccountCapabilities(accountID string, opt *CapabilityOptions) (*AccountCapabilityInfo, *Response, error) { - u := fmt.Sprintf("accounts/%s/capabilities", accountID) - - u, err := addOptions(u, opt) - if err != nil { - return nil, nil, err - } - - req, err := s.client.NewRequest("GET", u, nil) - if err != nil { - return nil, nil, err - } - - v := new(AccountCapabilityInfo) - resp, err := s.client.Do(req, v) - if err != nil { - return nil, resp, err - } - - return v, resp, err -} - -// ListGroups lists all groups that contain the specified user as a member. -// -// Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/rest-api-accounts.html#list-groups -func (s *AccountsService) ListGroups(accountID string) (*[]GroupInfo, *Response, error) { - u := fmt.Sprintf("accounts/%s/groups", accountID) - - req, err := s.client.NewRequest("GET", u, nil) - if err != nil { - return nil, nil, err - } - - v := new([]GroupInfo) - resp, err := s.client.Do(req, v) - if err != nil { - return nil, resp, err - } - - return v, resp, err -} - -// GetUserPreferences retrieves the user’s preferences. -// -// Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/rest-api-accounts.html#get-user-preferences -func (s *AccountsService) GetUserPreferences(accountID string) (*PreferencesInfo, *Response, error) { - u := fmt.Sprintf("accounts/%s/preferences", accountID) - - req, err := s.client.NewRequest("GET", u, nil) - if err != nil { - return nil, nil, err - } - - v := new(PreferencesInfo) - resp, err := s.client.Do(req, v) - if err != nil { - return nil, resp, err - } - - return v, resp, err -} - -// GetDiffPreferences retrieves the diff preferences of a user. -// -// Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/rest-api-accounts.html#get-diff-preferences -func (s *AccountsService) GetDiffPreferences(accountID string) (*DiffPreferencesInfo, *Response, error) { - u := fmt.Sprintf("accounts/%s/preferences.diff", accountID) - - req, err := s.client.NewRequest("GET", u, nil) - if err != nil { - return nil, nil, err - } - - v := new(DiffPreferencesInfo) - resp, err := s.client.Do(req, v) - if err != nil { - return nil, resp, err - } - - return v, resp, err -} - -// GetStarredChanges gets the changes starred by the identified user account. -// This URL endpoint is functionally identical to the changes query GET /changes/?q=is:starred. -// -// Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/rest-api-accounts.html#get-starred-changes -func (s *AccountsService) GetStarredChanges(accountID string) (*[]ChangeInfo, *Response, error) { - u := fmt.Sprintf("accounts/%s/starred.changes", accountID) - - req, err := s.client.NewRequest("GET", u, nil) - if err != nil { - return nil, nil, err - } - - v := new([]ChangeInfo) - resp, err := s.client.Do(req, v) - if err != nil { - return nil, resp, err - } - - return v, resp, err -} - -// SuggestAccount suggests users for a given query q and result limit n. -// If result limit is not passed, then the default 10 is used. -// Returns a list of matching AccountInfo entities. -// -// Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/rest-api-accounts.html#query-account -func (s *AccountsService) SuggestAccount(opt *QueryOptions) (*[]AccountInfo, *Response, error) { - u := "accounts/" - - u, err := addOptions(u, opt) - if err != nil { - return nil, nil, err - } - - req, err := s.client.NewRequest("GET", u, nil) - if err != nil { - return nil, nil, err - } - - v := new([]AccountInfo) - resp, err := s.client.Do(req, v) - if err != nil { - return nil, resp, err - } - - return v, resp, err -} - -// CreateAccount creates a new account. -// In the request body additional data for the account can be provided as AccountInput. -// -// Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/rest-api-accounts.html#create-account -func (s *AccountsService) CreateAccount(username string, input *AccountInput) (*AccountInfo, *Response, error) { - u := fmt.Sprintf("accounts/%s", username) - - req, err := s.client.NewRequest("PUT", u, input) - if err != nil { - return nil, nil, err - } - - v := new(AccountInfo) - resp, err := s.client.Do(req, v) - if err != nil { - return nil, resp, err - } - - return v, resp, err -} - -// SetAccountName sets the full name of an account. -// The new account name must be provided in the request body inside an AccountNameInput entity. -// -// As response the new account name is returned. -// If the name was deleted the response is “204 No Content”. -// Some realms may not allow to modify the account name. -// In this case the request is rejected with “405 Method Not Allowed”. -// -// Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/rest-api-accounts.html#set-account-name -func (s *AccountsService) SetAccountName(accountID string, input *AccountNameInput) (*string, *Response, error) { - u := fmt.Sprintf("accounts/%s/name", accountID) - - // TODO Use here the getStringResponseWithoutOptions (for PUT requests) - - req, err := s.client.NewRequest("PUT", u, input) - if err != nil { - return nil, nil, err - } - - v := new(string) - resp, err := s.client.Do(req, v) - if err != nil { - return nil, resp, err - } - - return v, resp, err -} - -// DeleteAccountName deletes the name of an account. -// -// Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/rest-api-accounts.html#delete-account-name -func (s *AccountsService) DeleteAccountName(accountID string) (*Response, error) { - u := fmt.Sprintf("accounts/%s/name", accountID) - return s.client.DeleteRequest(u, nil) -} - -// DeleteActive sets the account state to inactive. -// If the account was already inactive the response is “404 Not Found”. -// -// Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/rest-api-accounts.html#delete-active -func (s *AccountsService) DeleteActive(accountID string) (*Response, error) { - u := fmt.Sprintf("accounts/%s/active", accountID) - return s.client.DeleteRequest(u, nil) -} - -// DeleteHTTPPassword deletes the HTTP password of an account. -// -// Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/rest-api-accounts.html#delete-http-password -func (s *AccountsService) DeleteHTTPPassword(accountID string) (*Response, error) { - u := fmt.Sprintf("accounts/%s/password.http", accountID) - return s.client.DeleteRequest(u, nil) -} - -// DeleteAccountEmail deletes an email address of an account. -// -// Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/rest-api-accounts.html#delete-account-email -func (s *AccountsService) DeleteAccountEmail(accountID, emailID string) (*Response, error) { - u := fmt.Sprintf("accounts/%s/emails/%s", accountID, emailID) - return s.client.DeleteRequest(u, nil) -} - -// DeleteSSHKey deletes an SSH key of a user. -// -// Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/rest-api-accounts.html#delete-ssh-key -func (s *AccountsService) DeleteSSHKey(accountID, sshKeyID string) (*Response, error) { - u := fmt.Sprintf("accounts/%s/sshkeys/%s", accountID, sshKeyID) - return s.client.DeleteRequest(u, nil) -} - -// DeleteGPGKey deletes a GPG key of a user. -// -// Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/rest-api-accounts.html#delete-gpg-key -func (s *AccountsService) DeleteGPGKey(accountID, gpgKeyID string) (*Response, error) { - u := fmt.Sprintf("accounts/%s/gpgkeys/%s", accountID, gpgKeyID) - return s.client.DeleteRequest(u, nil) -} - -// SetUsername sets a new username. -// The new username must be provided in the request body inside a UsernameInput entity. -// Once set, the username cannot be changed or deleted. -// If attempted this fails with “405 Method Not Allowed”. -// -// As response the new username is returned. -// -// Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/rest-api-accounts.html#set-username -func (s *AccountsService) SetUsername(accountID string, input *UsernameInput) (*string, *Response, error) { - u := fmt.Sprintf("accounts/%s/username", accountID) - - req, err := s.client.NewRequest("PUT", u, input) - if err != nil { - return nil, nil, err - } - - v := new(string) - resp, err := s.client.Do(req, v) - if err != nil { - return nil, resp, err - } - - return v, resp, err -} - -// GetActive checks if an account is active. -// -// If the account is active the string ok is returned. -// If the account is inactive the response is “204 No Content”. -// -// Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/rest-api-accounts.html#get-active -func (s *AccountsService) GetActive(accountID string) (string, *Response, error) { - u := fmt.Sprintf("accounts/%s/active", accountID) - return getStringResponseWithoutOptions(s.client, u) -} - -// SetActive sets the account state to active. -// -// If the account was already active the response is “200 OK”. -// -// Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/rest-api-accounts.html#set-active -func (s *AccountsService) SetActive(accountID string) (*Response, error) { - u := fmt.Sprintf("accounts/%s/active", accountID) - - req, err := s.client.NewRequest("PUT", u, nil) - if err != nil { - return nil, err - } - return s.client.Do(req, nil) -} - -// SetHTTPPassword sets/Generates the HTTP password of an account. -// The options for setting/generating the HTTP password must be provided in the request body inside a HTTPPasswordInput entity. -// -// As response the new HTTP password is returned. -// If the HTTP password was deleted the response is “204 No Content”. -// -// Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/rest-api-accounts.html#set-http-password -func (s *AccountsService) SetHTTPPassword(accountID string, input *HTTPPasswordInput) (*string, *Response, error) { - u := fmt.Sprintf("accounts/%s/password.http", accountID) - - req, err := s.client.NewRequest("PUT", u, input) - if err != nil { - return nil, nil, err - } - - v := new(string) - resp, err := s.client.Do(req, v) - if err != nil { - return nil, resp, err - } - - return v, resp, err -} - -// CreateAccountEmail registers a new email address for the user. -// A verification email is sent with a link that needs to be visited to confirm the email address, unless DEVELOPMENT_BECOME_ANY_ACCOUNT is used as authentication type. -// For the development mode email addresses are directly added without confirmation. -// A Gerrit administrator may add an email address without confirmation by setting no_confirmation in the EmailInput. -// In the request body additional data for the email address can be provided as EmailInput. -// -// As response the new email address is returned as EmailInfo entity. -// -// Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/rest-api-accounts.html#create-account-email -func (s *AccountsService) CreateAccountEmail(accountID, emailID string, input *EmailInput) (*EmailInfo, *Response, error) { - u := fmt.Sprintf("accounts/%s/emails/%s", accountID, emailID) - - req, err := s.client.NewRequest("PUT", u, input) - if err != nil { - return nil, nil, err - } - - v := new(EmailInfo) - resp, err := s.client.Do(req, v) - if err != nil { - return nil, resp, err - } - - return v, resp, err -} - -// SetPreferredEmail sets an email address as preferred email address for an account. -// -// If the email address was already the preferred email address of the account the response is “200 OK”. -// -// Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/rest-api-accounts.html#set-preferred-email -func (s *AccountsService) SetPreferredEmail(accountID, emailID string) (*Response, error) { - u := fmt.Sprintf("accounts/%s/emails/%s/preferred", accountID, emailID) - - req, err := s.client.NewRequest("PUT", u, nil) - if err != nil { - return nil, err - } - return s.client.Do(req, nil) -} - -// GetAvatarChangeURL retrieves the URL where the user can change the avatar image. -// -// Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/rest-api-accounts.html#get-avatar-change-url -func (s *AccountsService) GetAvatarChangeURL(accountID string) (string, *Response, error) { - u := fmt.Sprintf("accounts/%s/avatar.change.url", accountID) - return getStringResponseWithoutOptions(s.client, u) -} - -// AddGPGKeys Add or delete one or more GPG keys for a user. -// The changes must be provided in the request body as a GpgKeysInput entity. -// Each new GPG key is provided in ASCII armored format, and must contain a self-signed certification matching a registered email or other identity of the user. -// -// As a response, the modified GPG keys are returned as a map of GpgKeyInfo entities, keyed by ID. Deleted keys are represented by an empty object. -// -// Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/rest-api-accounts.html#add-delete-gpg-keys -func (s *AccountsService) AddGPGKeys(accountID string, input *GpgKeysInput) (*map[string]GpgKeyInfo, *Response, error) { - u := fmt.Sprintf("accounts/%s/gpgkeys", accountID) - - req, err := s.client.NewRequest("POST", u, input) - if err != nil { - return nil, nil, err - } - - v := new(map[string]GpgKeyInfo) - resp, err := s.client.Do(req, v) - if err != nil { - return nil, resp, err - } - - return v, resp, err -} - -// CheckAccountCapability checks if a user has a certain global capability. -// -// If the user has the global capability the string ok is returned. -// If the user doesn’t have the global capability the response is “404 Not Found”. -// -// Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/rest-api-accounts.html#check-account-capability -func (s *AccountsService) CheckAccountCapability(accountID, capabilityID string) (string, *Response, error) { - u := fmt.Sprintf("accounts/%s/capabilities/%s", accountID, capabilityID) - return getStringResponseWithoutOptions(s.client, u) -} - -// SetUserPreferences sets the user’s preferences. -// The new preferences must be provided in the request body as a PreferencesInput entity. -// -// As result the new preferences of the user are returned as a PreferencesInfo entity. -// -// Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/rest-api-accounts.html#set-user-preferences -func (s *AccountsService) SetUserPreferences(accountID string, input *PreferencesInput) (*PreferencesInfo, *Response, error) { - u := fmt.Sprintf("accounts/%s/preferences", accountID) - - req, err := s.client.NewRequest("PUT", u, input) - if err != nil { - return nil, nil, err - } - - v := new(PreferencesInfo) - resp, err := s.client.Do(req, v) - if err != nil { - return nil, resp, err - } - - return v, resp, err -} - -// SetDiffPreferences sets the diff preferences of a user. -// The new diff preferences must be provided in the request body as a DiffPreferencesInput entity. -// -// As result the new diff preferences of the user are returned as a DiffPreferencesInfo entity. -// -// Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/rest-api-accounts.html#set-diff-preferences -func (s *AccountsService) SetDiffPreferences(accountID string, input *DiffPreferencesInput) (*DiffPreferencesInfo, *Response, error) { - u := fmt.Sprintf("accounts/%s/preferences.diff", accountID) - - req, err := s.client.NewRequest("PUT", u, input) - if err != nil { - return nil, nil, err - } - - v := new(DiffPreferencesInfo) - resp, err := s.client.Do(req, v) - if err != nil { - return nil, resp, err - } - - return v, resp, err -} - -// StarChange star a change. -// Starred changes are returned for the search query is:starred or starredby:USER and automatically notify the user whenever updates are made to the change. -// -// Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/rest-api-accounts.html#star-change -func (s *AccountsService) StarChange(accountID, changeID string) (*Response, error) { - u := fmt.Sprintf("accounts/%s/starred.changes/%s", accountID, changeID) - - req, err := s.client.NewRequest("PUT", u, nil) - if err != nil { - return nil, err - } - - return s.client.Do(req, nil) -} - -// UnstarChange nstar a change. -// Removes the starred flag, stopping notifications. -// -// Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/rest-api-accounts.html#unstar-change -func (s *AccountsService) UnstarChange(accountID, changeID string) (*Response, error) { - u := fmt.Sprintf("accounts/%s/starred.changes/%s", accountID, changeID) - return s.client.DeleteRequest(u, nil) -} - -/* -Missing Account Endpoints: - Add SSH Key - Get Avatar -*/ diff --git a/vendor/github.com/andygrunwald/go-gerrit/authentication.go b/vendor/github.com/andygrunwald/go-gerrit/authentication.go deleted file mode 100644 index 193f6220..00000000 --- a/vendor/github.com/andygrunwald/go-gerrit/authentication.go +++ /dev/null @@ -1,187 +0,0 @@ -package gerrit - -import ( - "crypto/md5" // nolint: gosec - "crypto/rand" - "encoding/base64" - "errors" - "fmt" - "io" - "net/http" - "strings" -) - -var ( - // ErrWWWAuthenticateHeaderMissing is returned by digestAuthHeader when the WWW-Authenticate header is missing - ErrWWWAuthenticateHeaderMissing = errors.New("WWW-Authenticate header is missing") - - // ErrWWWAuthenticateHeaderInvalid is returned by digestAuthHeader when the WWW-Authenticate invalid - ErrWWWAuthenticateHeaderInvalid = errors.New("WWW-Authenticate header is invalid") - - // ErrWWWAuthenticateHeaderNotDigest is returned by digestAuthHeader when the WWW-Authenticate header is not 'Digest' - ErrWWWAuthenticateHeaderNotDigest = errors.New("WWW-Authenticate header type is not Digest") -) - -const ( - // HTTP Basic Authentication - authTypeBasic = 1 - // HTTP Digest Authentication - authTypeDigest = 2 - // HTTP Cookie Authentication - authTypeCookie = 3 -) - -// AuthenticationService contains Authentication related functions. -// -// Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/rest-api.html#authentication -type AuthenticationService struct { - client *Client - - // Storage for authentication - // Username or name of cookie - name string - // Password or value of cookie - secret string - authType int -} - -// SetBasicAuth sets basic parameters for HTTP Basic auth -func (s *AuthenticationService) SetBasicAuth(username, password string) { - s.name = username - s.secret = password - s.authType = authTypeBasic -} - -// SetDigestAuth sets digest parameters for HTTP Digest auth. -func (s *AuthenticationService) SetDigestAuth(username, password string) { - s.name = username - s.secret = password - s.authType = authTypeDigest -} - -// digestAuthHeader is called by gerrit.Client.Do in the event the server -// returns 401 Unauthorized and authType was set to authTypeDigest. The -// resulting string is used to set the Authorization header before retrying -// the request. -func (s *AuthenticationService) digestAuthHeader(response *http.Response) (string, error) { - authenticateHeader := response.Header.Get("WWW-Authenticate") - if authenticateHeader == "" { - return "", ErrWWWAuthenticateHeaderMissing - } - - split := strings.SplitN(authenticateHeader, " ", 2) - if len(split) != 2 { - return "", ErrWWWAuthenticateHeaderInvalid - } - - if split[0] != "Digest" { - return "", ErrWWWAuthenticateHeaderNotDigest - } - - // Iterate over all the fields from the WWW-Authenticate header - // and create a map of keys and values. - authenticate := map[string]string{} - for _, value := range strings.Split(split[1], ",") { - kv := strings.SplitN(value, "=", 2) - if len(kv) != 2 { - continue - } - - key := strings.Trim(strings.Trim(kv[0], " "), "\"") - value := strings.Trim(strings.Trim(kv[1], " "), "\"") - authenticate[key] = value - } - - // Gerrit usually responds without providing the algorithm. According - // to RFC2617 if no algorithm is provided then the default is to use - // MD5. At the time this code was implemented Gerrit did not appear - // to support other algorithms or provide a means of changing the - // algorithm. - if value, ok := authenticate["algorithm"]; ok { - if value != "MD5" { - return "", fmt.Errorf( - "algorithm not implemented: %s", value) - } - } - - realmHeader := authenticate["realm"] - qopHeader := authenticate["qop"] - nonceHeader := authenticate["nonce"] - - // If the server does not inform us what the uri is supposed - // to be then use the last requests's uri instead. - if _, ok := authenticate["uri"]; !ok { - authenticate["uri"] = response.Request.URL.Path - } - - uriHeader := authenticate["uri"] - - // A1 - h := md5.New() // nolint: gosec - A1 := fmt.Sprintf("%s:%s:%s", s.name, realmHeader, s.secret) - if _, err := io.WriteString(h, A1); err != nil { - return "", err - } - HA1 := fmt.Sprintf("%x", h.Sum(nil)) - - // A2 - h = md5.New() // nolint: gosec - A2 := fmt.Sprintf("%s:%s", response.Request.Method, uriHeader) - if _, err := io.WriteString(h, A2); err != nil { - return "", err - } - HA2 := fmt.Sprintf("%x", h.Sum(nil)) - - k := make([]byte, 12) - for bytes := 0; bytes < len(k); { - n, err := rand.Read(k[bytes:]) - if err != nil { - return "", fmt.Errorf("cnonce generation failed: %s", err) - } - bytes += n - } - cnonce := base64.StdEncoding.EncodeToString(k) - digest := md5.New() // nolint: gosec - if _, err := digest.Write([]byte(strings.Join([]string{HA1, nonceHeader, "00000001", cnonce, qopHeader, HA2}, ":"))); err != nil { - return "", err - } - responseField := fmt.Sprintf("%x", digest.Sum(nil)) - - return fmt.Sprintf( - `Digest username="%s", realm="%s", nonce="%s", uri="%s", cnonce="%s", nc=00000001, qop=%s, response="%s"`, - s.name, realmHeader, nonceHeader, uriHeader, cnonce, qopHeader, responseField), nil -} - -// SetCookieAuth sets basic parameters for HTTP Cookie -func (s *AuthenticationService) SetCookieAuth(name, value string) { - s.name = name - s.secret = value - s.authType = authTypeCookie -} - -// HasBasicAuth checks if the auth type is HTTP Basic auth -func (s *AuthenticationService) HasBasicAuth() bool { - return s.authType == authTypeBasic -} - -// HasDigestAuth checks if the auth type is HTTP Digest based -func (s *AuthenticationService) HasDigestAuth() bool { - return s.authType == authTypeDigest -} - -// HasCookieAuth checks if the auth type is HTTP Cookie based -func (s *AuthenticationService) HasCookieAuth() bool { - return s.authType == authTypeCookie -} - -// HasAuth checks if an auth type is used -func (s *AuthenticationService) HasAuth() bool { - return s.authType > 0 -} - -// ResetAuth resets all former authentification settings -func (s *AuthenticationService) ResetAuth() { - s.name = "" - s.secret = "" - s.authType = 0 -} diff --git a/vendor/github.com/andygrunwald/go-gerrit/changes.go b/vendor/github.com/andygrunwald/go-gerrit/changes.go deleted file mode 100644 index 09fd6ddf..00000000 --- a/vendor/github.com/andygrunwald/go-gerrit/changes.go +++ /dev/null @@ -1,843 +0,0 @@ -package gerrit - -import ( - "errors" - "fmt" - "io/ioutil" - "net/http" -) - -// ChangesService contains Change related REST endpoints -// -// Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/rest-api-changes.html -type ChangesService struct { - client *Client -} - -// WebLinkInfo entity describes a link to an external site. -// -// Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/rest-api-changes.html#web-link-info -type WebLinkInfo struct { - Name string `json:"name"` - URL string `json:"url"` - ImageURL string `json:"image_url"` -} - -// GitPersonInfo entity contains information about the author/committer of a commit. -type GitPersonInfo struct { - Name string `json:"name"` - Email string `json:"email"` - Date Timestamp `json:"date"` - TZ int `json:"tz"` -} - -// NotifyInfo entity contains detailed information about who should be -// notified about an update -type NotifyInfo struct { - Accounts []AccountInfo `json:"accounts"` -} - -// AbandonInput entity contains information for abandoning a change. -type AbandonInput struct { - Message string `json:"message,omitempty"` - Notify string `json:"notify"` - NotifyDetails []NotifyInfo `json:"notify_details"` -} - -// ApprovalInfo entity contains information about an approval from a user for a label on a change. -type ApprovalInfo struct { - AccountInfo - Value int `json:"value,omitempty"` - Date string `json:"date,omitempty"` -} - -// ChangeEditInput entity contains information for restoring a path within change edit. -type ChangeEditInput struct { - RestorePath string `json:"restore_path,omitempty"` - OldPath string `json:"old_path,omitempty"` - NewPath string `json:"new_path,omitempty"` -} - -// ChangeEditMessageInput entity contains information for changing the commit message within a change edit. -type ChangeEditMessageInput struct { - Message string `json:"message"` -} - -// ChangeMessageInfo entity contains information about a message attached to a change. -type ChangeMessageInfo struct { - ID string `json:"id"` - Author AccountInfo `json:"author,omitempty"` - Date Timestamp `json:"date"` - Message string `json:"message"` - Tag string `json:"tag,omitempty"` - RevisionNumber int `json:"_revision_number,omitempty"` -} - -// CherryPickInput entity contains information for cherry-picking a change to a new branch. -type CherryPickInput struct { - Message string `json:"message"` - Destination string `json:"destination"` -} - -// CommentRange entity describes the range of an inline comment. -type CommentRange struct { - StartLine int `json:"start_line"` - StartCharacter int `json:"start_character"` - EndLine int `json:"end_line"` - EndCharacter int `json:"end_character"` -} - -// DiffFileMetaInfo entity contains meta information about a file diff -type DiffFileMetaInfo struct { - Name string `json:"name"` - ContentType string `json:"content_type"` - Lines int `json:"lines"` - WebLinks []WebLinkInfo `json:"web_links,omitempty"` -} - -// DiffWebLinkInfo entity describes a link on a diff screen to an external site. -type DiffWebLinkInfo struct { - Name string `json:"name"` - URL string `json:"url"` - ImageURL string `json:"image_url"` - ShowOnSideBySideDiffView bool `json:"show_on_side_by_side_diff_view"` - ShowOnUnifiedDiffView bool `json:"show_on_unified_diff_view"` -} - -// FetchInfo entity contains information about how to fetch a patch set via a certain protocol. -type FetchInfo struct { - URL string `json:"url"` - Ref string `json:"ref"` - Commands map[string]string `json:"commands,omitempty"` -} - -// FixInput entity contains options for fixing commits using the fix change endpoint. -type FixInput struct { - DeletePatchSetIfCommitMissing bool `json:"delete_patch_set_if_commit_missing"` - ExpectMergedAs string `json:"expect_merged_as"` -} - -// GroupBaseInfo entity contains base information about the group. -type GroupBaseInfo struct { - ID int `json:"id"` - Name string `json:"name"` -} - -// IncludedInInfo entity contains information about the branches a change was merged into and tags it was tagged with. -type IncludedInInfo struct { - Branches []string `json:"branches"` - Tags []string `json:"tags"` - External map[string]string `json:"external,omitempty"` -} - -// ProblemInfo entity contains a description of a potential consistency problem with a change. -// These are not related to the code review process, but rather indicate some inconsistency in Gerrit’s database or repository metadata related to the enclosing change. -type ProblemInfo struct { - Message string `json:"message"` - Status string `json:"status,omitempty"` - Outcome string `json:"outcome,omitempty"` -} - -// RebaseInput entity contains information for changing parent when rebasing. -type RebaseInput struct { - Base string `json:"base,omitempty"` -} - -// RestoreInput entity contains information for restoring a change. -type RestoreInput struct { - Message string `json:"message,omitempty"` -} - -// RevertInput entity contains information for reverting a change. -type RevertInput struct { - Message string `json:"message,omitempty"` -} - -// ReviewInfo entity contains information about a review. -type ReviewInfo struct { - Labels map[string]int `json:"labels"` -} - -// ReviewResult entity contains information regarding the updates that were -// made to a review. -type ReviewResult struct { - ReviewInfo - Reviewers map[string]AddReviewerResult `json:"reviewers,omitempty"` - Ready bool `json:"ready,omitempty"` -} - -// TopicInput entity contains information for setting a topic. -type TopicInput struct { - Topic string `json:"topic,omitempty"` -} - -// SubmitRecord entity describes results from a submit_rule. -type SubmitRecord struct { - Status string `json:"status"` - Ok map[string]map[string]AccountInfo `json:"ok,omitempty"` - Reject map[string]map[string]AccountInfo `json:"reject,omitempty"` - Need map[string]interface{} `json:"need,omitempty"` - May map[string]map[string]AccountInfo `json:"may,omitempty"` - Impossible map[string]interface{} `json:"impossible,omitempty"` - ErrorMessage string `json:"error_message,omitempty"` -} - -// SubmitInput entity contains information for submitting a change. -type SubmitInput struct { - WaitForMerge bool `json:"wait_for_merge"` -} - -// SubmitInfo entity contains information about the change status after submitting. -type SubmitInfo struct { - Status string `json:"status"` - OnBehalfOf string `json:"on_behalf_of,omitempty"` -} - -// RuleInput entity contains information to test a Prolog rule. -type RuleInput struct { - Rule string `json:"rule"` - Filters string `json:"filters,omitempty"` -} - -// ReviewerInput entity contains information for adding a reviewer to a change. -type ReviewerInput struct { - Reviewer string `json:"reviewer"` - Confirmed bool `json:"confirmed,omitempty"` -} - -// ReviewInput entity contains information for adding a review to a revision. -type ReviewInput struct { - Message string `json:"message,omitempty"` - Tag string `json:"tag,omitempty"` - Labels map[string]string `json:"labels,omitempty"` - Comments map[string][]CommentInput `json:"comments,omitempty"` - RobotComments map[string][]RobotCommentInput `json:"robot_comments,omitempty"` - StrictLabels bool `json:"strict_labels,omitempty"` - Drafts string `json:"drafts,omitempty"` - Notify string `json:"notify,omitempty"` - OmitDuplicateComments bool `json:"omit_duplicate_comments,omitempty"` - OnBehalfOf string `json:"on_behalf_of,omitempty"` -} - -// RelatedChangeAndCommitInfo entity contains information about a related change and commit. -type RelatedChangeAndCommitInfo struct { - ChangeID string `json:"change_id,omitempty"` - Commit CommitInfo `json:"commit"` - ChangeNumber int `json:"_change_number,omitempty"` - RevisionNumber int `json:"_revision_number,omitempty"` - CurrentRevisionNumber int `json:"_current_revision_number,omitempty"` - Status string `json:"status,omitempty"` -} - -// DiffContent entity contains information about the content differences in a file. -type DiffContent struct { - A []string `json:"a,omitempty"` - B []string `json:"b,omitempty"` - AB []string `json:"ab,omitempty"` - EditA DiffIntralineInfo `json:"edit_a,omitempty"` - EditB DiffIntralineInfo `json:"edit_b,omitempty"` - Skip int `json:"skip,omitempty"` - Common bool `json:"common,omitempty"` -} - -// CommentInput entity contains information for creating an inline comment. -type CommentInput struct { - ID string `json:"id,omitempty"` - Path string `json:"path,omitempty"` - Side string `json:"side,omitempty"` - Line int `json:"line,omitempty"` - Range *CommentRange `json:"range,omitempty"` - InReplyTo string `json:"in_reply_to,omitempty"` - Updated *Timestamp `json:"updated,omitempty"` - Message string `json:"message,omitempty"` -} - -// RobotCommentInput entity contains information for creating an inline robot comment. -// https://gerrit-review.googlesource.com/Documentation/rest-api-changes.html#robot-comment-input -type RobotCommentInput struct { - CommentInput - - // The ID of the robot that generated this comment. - RobotID string `json:"robot_id"` - // An ID of the run of the robot. - RobotRunID string `json:"robot_run_id"` - // URL to more information. - URL string `json:"url,omitempty"` - // Robot specific properties as map that maps arbitrary keys to values. - Properties *map[string]*string `json:"properties,omitempty"` - // Suggested fixes for this robot comment as a list of FixSuggestionInfo - // entities. - FixSuggestions *FixSuggestionInfo `json:"fix_suggestions,omitempty"` -} - -// RobotCommentInfo entity contains information about a robot inline comment -// RobotCommentInfo has the same fields as CommentInfo. In addition RobotCommentInfo has the following fields: -// https://gerrit-review.googlesource.com/Documentation/rest-api-changes.html#robot-comment-info -type RobotCommentInfo struct { - CommentInfo - - // The ID of the robot that generated this comment. - RobotID string `json:"robot_id"` - // An ID of the run of the robot. - RobotRunID string `json:"robot_run_id"` - // URL to more information. - URL string `json:"url,omitempty"` - // Robot specific properties as map that maps arbitrary keys to values. - Properties map[string]string `json:"properties,omitempty"` - // Suggested fixes for this robot comment as a list of FixSuggestionInfo - // entities. - FixSuggestions *FixSuggestionInfo `json:"fix_suggestions,omitempty"` -} - -// FixSuggestionInfo entity represents a suggested fix. -// https://gerrit-review.googlesource.com/Documentation/rest-api-changes.html#fix-suggestion-info -type FixSuggestionInfo struct { - // The UUID of the suggested fix. It will be generated automatically and - // hence will be ignored if it’s set for input objects. - FixID string `json:"fix_id"` - // A description of the suggested fix. - Description string `json:"description"` - // A list of FixReplacementInfo entities indicating how the content of one or - // several files should be modified. Within a file, they should refer to - // non-overlapping regions. - Replacements FixReplacementInfo `json:"replacements"` -} - -// FixReplacementInfo entity describes how the content of a file should be replaced by another content. -// https://gerrit-review.googlesource.com/Documentation/rest-api-changes.html#fix-replacement-info -type FixReplacementInfo struct { - // The path of the file which should be modified. Any file in the repository may be modified. - Path string `json:"path"` - - // A CommentRange indicating which content of the file should be replaced. - // Lines in the file are assumed to be separated by the line feed character, - // the carriage return character, the carriage return followed by the line - // feed character, or one of the other Unicode linebreak sequences supported - // by Java. - Range CommentRange `json:"range"` - - // The content which should be used instead of the current one. - Replacement string `json:"replacement,omitempty"` -} - -// DiffIntralineInfo entity contains information about intraline edits in a file. -// -// The information consists of a list of pairs, -// where the skip length is the number of characters between the end of -// the previous edit and the start of this edit, and the mark length is the -// number of edited characters following the skip. The start of the edits -// is from the beginning of the related diff content lines. -// -// Note that the implied newline character at the end of each line -// is included in the length calculation, and thus it is possible for -// the edits to span newlines. -type DiffIntralineInfo [][2]int - -// ChangeInfo entity contains information about a change. -type ChangeInfo struct { - ID string `json:"id"` - URL string `json:"url,omitempty"` - Project string `json:"project"` - Branch string `json:"branch"` - Topic string `json:"topic,omitempty"` - ChangeID string `json:"change_id"` - Subject string `json:"subject"` - Status string `json:"status"` - Created Timestamp `json:"created"` - Updated Timestamp `json:"updated"` - Submitted *Timestamp `json:"submitted,omitempty"` - Starred bool `json:"starred,omitempty"` - Reviewed bool `json:"reviewed,omitempty"` - Mergeable bool `json:"mergeable,omitempty"` - Insertions int `json:"insertions"` - Deletions int `json:"deletions"` - Number int `json:"_number"` - Owner AccountInfo `json:"owner"` - Actions map[string]ActionInfo `json:"actions,omitempty"` - Labels map[string]LabelInfo `json:"labels,omitempty"` - PermittedLabels map[string][]string `json:"permitted_labels,omitempty"` - RemovableReviewers []AccountInfo `json:"removable_reviewers,omitempty"` - Reviewers map[string][]AccountInfo `json:"reviewers,omitempty"` - Messages []ChangeMessageInfo `json:"messages,omitempty"` - CurrentRevision string `json:"current_revision,omitempty"` - Revisions map[string]RevisionInfo `json:"revisions,omitempty"` - MoreChanges bool `json:"_more_changes,omitempty"` - Problems []ProblemInfo `json:"problems,omitempty"` - BaseChange string `json:"base_change,omitempty"` -} - -// LabelInfo entity contains information about a label on a change, always corresponding to the current patch set. -type LabelInfo struct { - Optional bool `json:"optional,omitempty"` - - // Fields set by LABELS - Approved AccountInfo `json:"approved,omitempty"` - Rejected AccountInfo `json:"rejected,omitempty"` - Recommended AccountInfo `json:"recommended,omitempty"` - Disliked AccountInfo `json:"disliked,omitempty"` - Blocking bool `json:"blocking,omitempty"` - Value int `json:"value,omitempty"` - DefaultValue int `json:"default_value,omitempty"` - - // Fields set by DETAILED_LABELS - All []ApprovalInfo `json:"all,omitempty"` - Values map[string]string `json:"values,omitempty"` -} - -// RevisionInfo entity contains information about a patch set. -type RevisionInfo struct { - Draft bool `json:"draft,omitempty"` - Number int `json:"_number"` - Created Timestamp `json:"created"` - Uploader AccountInfo `json:"uploader"` - Ref string `json:"ref"` - Fetch map[string]FetchInfo `json:"fetch"` - Commit CommitInfo `json:"commit,omitempty"` - Files map[string]FileInfo `json:"files,omitempty"` - Actions map[string]ActionInfo `json:"actions,omitempty"` - Reviewed bool `json:"reviewed,omitempty"` - MessageWithFooter string `json:"messageWithFooter,omitempty"` -} - -// CommentInfo entity contains information about an inline comment. -type CommentInfo struct { - PatchSet int `json:"patch_set,omitempty"` - ID string `json:"id"` - Path string `json:"path,omitempty"` - Side string `json:"side,omitempty"` - Line int `json:"line,omitempty"` - Range *CommentRange `json:"range,omitempty"` - InReplyTo string `json:"in_reply_to,omitempty"` - Message string `json:"message,omitempty"` - Updated *Timestamp `json:"updated"` - Author AccountInfo `json:"author,omitempty"` -} - -// QueryOptions specifies global parameters to query changes / reviewers. -// -// Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/rest-api-changes.html#list-changes -type QueryOptions struct { - // Query parameter - // Clients are allowed to specify more than one query by setting the q parameter multiple times. - // In this case the result is an array of arrays, one per query in the same order the queries were given in. - // - // Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/user-search.html#_search_operators - Query []string `url:"q,omitempty"` - - // The n parameter can be used to limit the returned results. - // If the n query parameter is supplied and additional changes exist that match the query beyond the end, the last change object has a _more_changes: true JSON field set. - Limit int `url:"n,omitempty"` -} - -// QueryChangeOptions specifies the parameters to the ChangesService.QueryChanges. -// -// Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/rest-api-changes.html#list-changes -type QueryChangeOptions struct { - QueryOptions - - // The S or start query parameter can be supplied to skip a number of changes from the list. - Skip int `url:"S,omitempty"` - Start int `url:"start,omitempty"` - - ChangeOptions -} - -// ChangeOptions specifies the parameters for Query changes. -// -// Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/rest-api-changes.html#list-changes -type ChangeOptions struct { - // Additional fields can be obtained by adding o parameters, each option requires more database lookups and slows down the query response time to the client so they are generally disabled by default. - // - // Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/rest-api-changes.html#list-changes - AdditionalFields []string `url:"o,omitempty"` -} - -// QueryChanges lists changes visible to the caller. -// The query string must be provided by the q parameter. -// The n parameter can be used to limit the returned results. -// -// The change output is sorted by the last update time, most recently updated to oldest updated. -// -// Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/rest-api-changes.html#list-changes -func (s *ChangesService) QueryChanges(opt *QueryChangeOptions) (*[]ChangeInfo, *Response, error) { - u := "changes/" - - u, err := addOptions(u, opt) - if err != nil { - return nil, nil, err - } - - req, err := s.client.NewRequest("GET", u, nil) - if err != nil { - return nil, nil, err - } - - v := new([]ChangeInfo) - resp, err := s.client.Do(req, v) - if err != nil { - return nil, resp, err - } - - return v, resp, err -} - -// GetChange retrieves a change. -// Additional fields can be obtained by adding o parameters, each option requires more database lookups and slows down the query response time to the client so they are generally disabled by default. -// -// Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/rest-api-changes.html#get-change -func (s *ChangesService) GetChange(changeID string, opt *ChangeOptions) (*ChangeInfo, *Response, error) { - u := fmt.Sprintf("changes/%s", changeID) - return s.getChangeInfoResponse(u, opt) -} - -// GetChangeDetail retrieves a change with labels, detailed labels, detailed accounts, and messages. -// Additional fields can be obtained by adding o parameters, each option requires more database lookups and slows down the query response time to the client so they are generally disabled by default. -// -// This response will contain all votes for each label and include one combined vote. -// The combined label vote is calculated in the following order (from highest to lowest): REJECTED > APPROVED > DISLIKED > RECOMMENDED. -// -// Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/rest-api-changes.html#get-change-detail -func (s *ChangesService) GetChangeDetail(changeID string, opt *ChangeOptions) (*ChangeInfo, *Response, error) { - u := fmt.Sprintf("changes/%s/detail", changeID) - return s.getChangeInfoResponse(u, opt) -} - -// getChangeInfoResponse retrieved a single ChangeInfo Response for a GET request -func (s *ChangesService) getChangeInfoResponse(u string, opt *ChangeOptions) (*ChangeInfo, *Response, error) { - u, err := addOptions(u, opt) - if err != nil { - return nil, nil, err - } - - req, err := s.client.NewRequest("GET", u, nil) - if err != nil { - return nil, nil, err - } - - v := new(ChangeInfo) - resp, err := s.client.Do(req, v) - if err != nil { - return nil, resp, err - } - - return v, resp, err -} - -// GetTopic retrieves the topic of a change. -// -// Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/rest-api-changes.html#get-topic -func (s *ChangesService) GetTopic(changeID string) (string, *Response, error) { - u := fmt.Sprintf("changes/%s/topic", changeID) - return getStringResponseWithoutOptions(s.client, u) -} - -// ChangesSubmittedTogether returns a list of all changes which are submitted when {submit} is called for this change, including the current change itself. -// An empty list is returned if this change will be submitted by itself (no other changes). -// -// Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/rest-api-changes.html#submitted_together -func (s *ChangesService) ChangesSubmittedTogether(changeID string) (*[]ChangeInfo, *Response, error) { - u := fmt.Sprintf("changes/%s/submitted_together", changeID) - - req, err := s.client.NewRequest("GET", u, nil) - if err != nil { - return nil, nil, err - } - - v := new([]ChangeInfo) - resp, err := s.client.Do(req, v) - if err != nil { - return nil, resp, err - } - - return v, resp, err -} - -// GetIncludedIn retrieves the branches and tags in which a change is included. -// -// Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/rest-api-changes.html#get-included-in -func (s *ChangesService) GetIncludedIn(changeID string) (*IncludedInInfo, *Response, error) { - u := fmt.Sprintf("changes/%s/in", changeID) - - req, err := s.client.NewRequest("GET", u, nil) - if err != nil { - return nil, nil, err - } - - v := new(IncludedInInfo) - resp, err := s.client.Do(req, v) - if err != nil { - return nil, resp, err - } - - return v, resp, err -} - -// ListChangeComments lists the published comments of all revisions of the change. -// The entries in the map are sorted by file path, and the comments for each path are sorted by patch set number. -// Each comment has the patch_set and author fields set. -// -// Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/rest-api-changes.html#list-change-comments -func (s *ChangesService) ListChangeComments(changeID string) (*map[string][]CommentInfo, *Response, error) { - u := fmt.Sprintf("changes/%s/comments", changeID) - return s.getCommentInfoMapResponse(u) -} - -// ListChangeDrafts lLists the draft comments of all revisions of the change that belong to the calling user. -// The entries in the map are sorted by file path, and the comments for each path are sorted by patch set number. -// Each comment has the patch_set field set, and no author. -// -// Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/rest-api-changes.html#list-change-drafts -func (s *ChangesService) ListChangeDrafts(changeID string) (*map[string][]CommentInfo, *Response, error) { - u := fmt.Sprintf("changes/%s/drafts", changeID) - return s.getCommentInfoMapResponse(u) -} - -// getCommentInfoMapResponse retrieved a map of CommentInfo Response for a GET request -func (s *ChangesService) getCommentInfoMapResponse(u string) (*map[string][]CommentInfo, *Response, error) { - req, err := s.client.NewRequest("GET", u, nil) - if err != nil { - return nil, nil, err - } - - v := new(map[string][]CommentInfo) - resp, err := s.client.Do(req, v) - if err != nil { - return nil, resp, err - } - - return v, resp, err -} - -// CheckChange performs consistency checks on the change, and returns a ChangeInfo entity with the problems field set to a list of ProblemInfo entities. -// Depending on the type of problem, some fields not marked optional may be missing from the result. -// At least id, project, branch, and _number will be present. -// -// Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/rest-api-changes.html#check-change -func (s *ChangesService) CheckChange(changeID string) (*ChangeInfo, *Response, error) { - u := fmt.Sprintf("changes/%s/check", changeID) - return s.getChangeInfoResponse(u, nil) -} - -// getCommentInfoResponse retrieved a CommentInfo Response for a GET request -func (s *ChangesService) getCommentInfoResponse(u string) (*CommentInfo, *Response, error) { - req, err := s.client.NewRequest("GET", u, nil) - if err != nil { - return nil, nil, err - } - - v := new(CommentInfo) - resp, err := s.client.Do(req, v) - if err != nil { - return nil, resp, err - } - - return v, resp, err -} - -// getCommentInfoMapSliceResponse retrieved a map with a slice of CommentInfo Response for a GET request -func (s *ChangesService) getCommentInfoMapSliceResponse(u string) (*map[string][]CommentInfo, *Response, error) { - req, err := s.client.NewRequest("GET", u, nil) - if err != nil { - return nil, nil, err - } - - v := new(map[string][]CommentInfo) - resp, err := s.client.Do(req, v) - if err != nil { - return nil, resp, err - } - - return v, resp, err -} - -// CreateChange creates a new change. -// The change info ChangeInfo entity must be provided in the request body. -// Only the following attributes are honored: project, branch, subject, status and topic. -// The first three attributes are mandatory. -// Valid values for status are: DRAFT and NEW. -// -// As response a ChangeInfo entity is returned that describes the resulting change. -// -// Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/rest-api-changes.html#create-change -func (s *ChangesService) CreateChange(input *ChangeInfo) (*ChangeInfo, *Response, error) { - u := "changes/" - - req, err := s.client.NewRequest("POST", u, input) - if err != nil { - return nil, nil, err - } - - v := new(ChangeInfo) - resp, err := s.client.Do(req, v) - if err != nil { - return nil, resp, err - } - - return v, resp, err -} - -// SetTopic sets the topic of a change. -// The new topic must be provided in the request body inside a TopicInput entity. -// -// Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/rest-api-changes.html#set-topic -func (s *ChangesService) SetTopic(changeID string, input *TopicInput) (*string, *Response, error) { - u := fmt.Sprintf("changes/%s/topic", changeID) - - req, err := s.client.NewRequest("PUT", u, input) - if err != nil { - return nil, nil, err - } - - v := new(string) - resp, err := s.client.Do(req, v) - if err != nil { - return nil, resp, err - } - - return v, resp, err -} - -// DeleteTopic deletes the topic of a change. -// The request body does not need to include a TopicInput entity if no review comment is added. -// -// Please note that some proxies prohibit request bodies for DELETE requests. -// In this case, if you want to specify a commit message, use PUT to delete the topic. -// -// Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/rest-api-changes.html#delete-topic -func (s *ChangesService) DeleteTopic(changeID string) (*Response, error) { - u := fmt.Sprintf("changes/%s/topic", changeID) - return s.client.DeleteRequest(u, nil) -} - -// DeleteDraftChange deletes a draft change. -// -// Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/rest-api-changes.html#delete-draft-change -func (s *ChangesService) DeleteDraftChange(changeID string) (*Response, error) { - u := fmt.Sprintf("changes/%s", changeID) - return s.client.DeleteRequest(u, nil) -} - -// PublishDraftChange publishes a draft change. -// -// Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/rest-api-changes.html#publish-draft-change -func (s *ChangesService) PublishDraftChange(changeID, notify string) (*Response, error) { - u := fmt.Sprintf("changes/%s/publish", changeID) - - req, err := s.client.NewRequest("POST", u, map[string]string{ - "notify": notify, - }) - if err != nil { - return nil, err - } - return s.client.Do(req, nil) -} - -// IndexChange adds or updates the change in the secondary index. -// -// Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/rest-api-changes.html#index-change -func (s *ChangesService) IndexChange(changeID string) (*Response, error) { - u := fmt.Sprintf("changes/%s/index", changeID) - - req, err := s.client.NewRequest("POST", u, nil) - if err != nil { - return nil, err - } - return s.client.Do(req, nil) -} - -// FixChange performs consistency checks on the change as with GET /check, and additionally fixes any problems that can be fixed automatically. -// The returned field values reflect any fixes. -// -// Some fixes have options controlling their behavior, which can be set in the FixInput entity body. -// Only the change owner, a project owner, or an administrator may fix changes. -// -// Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/rest-api-changes.html#fix-change -func (s *ChangesService) FixChange(changeID string, input *FixInput) (*ChangeInfo, *Response, error) { - u := fmt.Sprintf("changes/%s/check", changeID) - - req, err := s.client.NewRequest("PUT", u, input) - if err != nil { - return nil, nil, err - } - - v := new(ChangeInfo) - resp, err := s.client.Do(req, v) - if err != nil { - return nil, resp, err - } - - return v, resp, err -} - -// change is an internal function to consolidate code used by SubmitChange, -// AbandonChange and other similar functions. -func (s *ChangesService) change(tail string, changeID string, input interface{}) (*ChangeInfo, *Response, error) { - u := fmt.Sprintf("changes/%s/%s", changeID, tail) - req, err := s.client.NewRequest("POST", u, input) - if err != nil { - return nil, nil, err - } - - v := new(ChangeInfo) - resp, err := s.client.Do(req, v) - if err != nil { - return nil, resp, err - } - if resp.StatusCode == http.StatusConflict { - body, err := ioutil.ReadAll(resp.Body) - if err != nil { - return v, resp, err - } - return v, resp, errors.New(string(body[:])) - } - return v, resp, nil -} - -// SubmitChange submits a change. -// -// The request body only needs to include a SubmitInput entity if submitting on behalf of another user. -// -// Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/rest-api-changes.html#submit-change -func (s *ChangesService) SubmitChange(changeID string, input *SubmitInput) (*ChangeInfo, *Response, error) { - return s.change("submit", changeID, input) -} - -// AbandonChange abandons a change. -// -// The request body does not need to include a AbandonInput entity if no review -// comment is added. -// -// Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/rest-api-changes.html#abandon-change -func (s *ChangesService) AbandonChange(changeID string, input *AbandonInput) (*ChangeInfo, *Response, error) { - return s.change("abandon", changeID, input) -} - -// RebaseChange rebases a change. -// -// Optionally, the parent revision can be changed to another patch set through -// the RebaseInput entity. -// -// Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/rest-api-changes.html#rebase-change -func (s *ChangesService) RebaseChange(changeID string, input *RebaseInput) (*ChangeInfo, *Response, error) { - return s.change("rebase", changeID, input) -} - -// RestoreChange restores a change. -// -// The request body does not need to include a RestoreInput entity if no review -// comment is added. -// -// Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/rest-api-changes.html#restore-change -func (s *ChangesService) RestoreChange(changeID string, input *RestoreInput) (*ChangeInfo, *Response, error) { - return s.change("restore", changeID, input) -} - -// RevertChange reverts a change. -// -// The request body does not need to include a RevertInput entity if no -// review comment is added. -// -// Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/rest-api-changes.html#revert-change -func (s *ChangesService) RevertChange(changeID string, input *RevertInput) (*ChangeInfo, *Response, error) { - return s.change("revert", changeID, input) -} diff --git a/vendor/github.com/andygrunwald/go-gerrit/changes_edit.go b/vendor/github.com/andygrunwald/go-gerrit/changes_edit.go deleted file mode 100644 index 58033e21..00000000 --- a/vendor/github.com/andygrunwald/go-gerrit/changes_edit.go +++ /dev/null @@ -1,231 +0,0 @@ -package gerrit - -import ( - "fmt" - "net/url" -) - -// EditInfo entity contains information about a change edit. -type EditInfo struct { - Commit CommitInfo `json:"commit"` - BaseRevision string `json:"baseRevision"` - Fetch map[string]FetchInfo `json:"fetch"` - Files map[string]FileInfo `json:"files,omitempty"` -} - -// EditFileInfo entity contains additional information of a file within a change edit. -type EditFileInfo struct { - WebLinks []WebLinkInfo `json:"web_links,omitempty"` -} - -// ChangeEditDetailOptions specifies the parameters to the ChangesService.GetChangeEditDetails. -// -// Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/rest-api-changes.html#get-edit-detail -type ChangeEditDetailOptions struct { - // When request parameter list is provided the response also includes the file list. - List bool `url:"list,omitempty"` - // When base request parameter is provided the file list is computed against this base revision. - Base bool `url:"base,omitempty"` - // When request parameter download-commands is provided fetch info map is also included. - DownloadCommands bool `url:"download-commands,omitempty"` -} - -// GetChangeEditDetails retrieves a change edit details. -// As response an EditInfo entity is returned that describes the change edit, or “204 No Content” when change edit doesn’t exist for this change. -// Change edits are stored on special branches and there can be max one edit per user per change. -// Edits aren’t tracked in the database. -// -// Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/rest-api-changes.html#get-edit-detail -func (s *ChangesService) GetChangeEditDetails(changeID string, opt *ChangeEditDetailOptions) (*EditInfo, *Response, error) { - u := fmt.Sprintf("changes/%s/edit", changeID) - - u, err := addOptions(u, opt) - if err != nil { - return nil, nil, err - } - - req, err := s.client.NewRequest("GET", u, nil) - if err != nil { - return nil, nil, err - } - - v := new(EditInfo) - resp, err := s.client.Do(req, v) - if err != nil { - return nil, resp, err - } - - return v, resp, err -} - -// RetrieveMetaDataOfAFileFromChangeEdit retrieves meta data of a file from a change edit. -// Currently only web links are returned. -// -// Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/rest-api-changes.html#get-edit-meta-data -func (s *ChangesService) RetrieveMetaDataOfAFileFromChangeEdit(changeID, filePath string) (*EditFileInfo, *Response, error) { - u := fmt.Sprintf("changes/%s/edit/%s/meta", changeID, filePath) - - req, err := s.client.NewRequest("GET", u, nil) - if err != nil { - return nil, nil, err - } - - v := new(EditFileInfo) - resp, err := s.client.Do(req, v) - if err != nil { - return nil, resp, err - } - - return v, resp, err -} - -// RetrieveCommitMessageFromChangeEdit retrieves commit message from change edit. -// The commit message is returned as base64 encoded string. -// -// Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/rest-api-changes.html#get-edit-message -func (s *ChangesService) RetrieveCommitMessageFromChangeEdit(changeID string) (string, *Response, error) { - u := fmt.Sprintf("changes/%s/edit:message", changeID) - return getStringResponseWithoutOptions(s.client, u) -} - -// ChangeFileContentInChangeEdit put content of a file to a change edit. -// -// When change edit doesn’t exist for this change yet it is created. -// When file content isn’t provided, it is wiped out for that file. -// As response “204 No Content” is returned. -// -// Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/rest-api-changes.html#put-edit-file -func (s *ChangesService) ChangeFileContentInChangeEdit(changeID, filePath, content string) (*Response, error) { - u := fmt.Sprintf("changes/%s/edit/%s", changeID, url.QueryEscape(filePath)) - - req, err := s.client.NewRawPutRequest(u, content) - if err != nil { - return nil, err - } - - return s.client.Do(req, nil) -} - -// ChangeCommitMessageInChangeEdit modify commit message. -// The request body needs to include a ChangeEditMessageInput entity. -// -// If a change edit doesn’t exist for this change yet, it is created. -// As response “204 No Content” is returned. -// -// Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/rest-api-changes.html#put-change-edit-message -func (s *ChangesService) ChangeCommitMessageInChangeEdit(changeID string, input *ChangeEditMessageInput) (*Response, error) { - u := fmt.Sprintf("changes/%s/edit:message", changeID) - - req, err := s.client.NewRequest("PUT", u, input) - if err != nil { - return nil, err - } - - return s.client.Do(req, nil) -} - -// DeleteFileInChangeEdit deletes a file from a change edit. -// This deletes the file from the repository completely. -// This is not the same as reverting or restoring a file to its previous contents. -// -// When change edit doesn’t exist for this change yet it is created. -// -// Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/rest-api-changes.html#delete-edit-file -func (s *ChangesService) DeleteFileInChangeEdit(changeID, filePath string) (*Response, error) { - u := fmt.Sprintf("changes/%s/edit/%s", changeID, filePath) - return s.client.DeleteRequest(u, nil) -} - -// DeleteChangeEdit deletes change edit. -// -// As response “204 No Content” is returned. -// -// Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/rest-api-changes.html#delete-edit -func (s *ChangesService) DeleteChangeEdit(changeID string) (*Response, error) { - u := fmt.Sprintf("changes/%s/edit", changeID) - return s.client.DeleteRequest(u, nil) -} - -// PublishChangeEdit promotes change edit to a regular patch set. -// -// As response “204 No Content” is returned. -// -// Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/rest-api-changes.html#publish-edit -func (s *ChangesService) PublishChangeEdit(changeID, notify string) (*Response, error) { - u := fmt.Sprintf("changes/%s/edit:publish", changeID) - - req, err := s.client.NewRequest("POST", u, map[string]string{ - "notify": notify, - }) - if err != nil { - return nil, err - } - return s.client.Do(req, nil) -} - -// RebaseChangeEdit rebases change edit on top of latest patch set. -// -// When change was rebased on top of latest patch set, response “204 No Content” is returned. -// When change edit is already based on top of the latest patch set, the response “409 Conflict” is returned. -// -// Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/rest-api-changes.html#rebase-edit -func (s *ChangesService) RebaseChangeEdit(changeID string) (*Response, error) { - u := fmt.Sprintf("changes/%s/edit:rebase", changeID) - - req, err := s.client.NewRequest("POST", u, nil) - if err != nil { - return nil, err - } - - return s.client.Do(req, nil) -} - -// RetrieveFileContentFromChangeEdit retrieves content of a file from a change edit. -// -// The content of the file is returned as text encoded inside base64. -// The Content-Type header will always be text/plain reflecting the outer base64 encoding. -// A Gerrit-specific X-FYI-Content-Type header can be examined to find the server detected content type of the file. -// -// When the specified file was deleted in the change edit “204 No Content” is returned. -// If only the content type is required, callers should use HEAD to avoid downloading the encoded file contents. -// -// Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/rest-api-changes.html#get-edit-file -func (s *ChangesService) RetrieveFileContentFromChangeEdit(changeID, filePath string) (*string, *Response, error) { - u := fmt.Sprintf("changes/%s/edit/%s", changeID, filePath) - - req, err := s.client.NewRequest("GET", u, nil) - if err != nil { - return nil, nil, err - } - - v := new(string) - resp, err := s.client.Do(req, v) - if err != nil { - return nil, resp, err - } - - return v, resp, err -} - -// RetrieveFileContentTypeFromChangeEdit retrieves content type of a file from a change edit. -// This is nearly the same as RetrieveFileContentFromChangeEdit. -// But if only the content type is required, callers should use HEAD to avoid downloading the encoded file contents. -// -// For further documentation please have a look at RetrieveFileContentFromChangeEdit. -// -// Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/rest-api-changes.html#get-edit-file -func (s *ChangesService) RetrieveFileContentTypeFromChangeEdit(changeID, filePath string) (*Response, error) { - u := fmt.Sprintf("changes/%s/edit/%s", changeID, filePath) - - req, err := s.client.NewRequest("HEAD", u, nil) - if err != nil { - return nil, err - } - - return s.client.Do(req, nil) -} - -/* -Missing Change Edit Endpoints - Restore file content or rename files in Change Edit -*/ diff --git a/vendor/github.com/andygrunwald/go-gerrit/changes_reviewer.go b/vendor/github.com/andygrunwald/go-gerrit/changes_reviewer.go deleted file mode 100644 index 31099d3b..00000000 --- a/vendor/github.com/andygrunwald/go-gerrit/changes_reviewer.go +++ /dev/null @@ -1,163 +0,0 @@ -package gerrit - -import ( - "fmt" -) - -// ReviewerInfo entity contains information about a reviewer and its votes on a change. -type ReviewerInfo struct { - AccountInfo - Approvals map[string]string `json:"approvals"` -} - -// SuggestedReviewerInfo entity contains information about a reviewer that can be added to a change (an account or a group). -type SuggestedReviewerInfo struct { - Account AccountInfo `json:"account,omitempty"` - Group GroupBaseInfo `json:"group,omitempty"` -} - -// AddReviewerResult entity describes the result of adding a reviewer to a change. -type AddReviewerResult struct { - Input string `json:"input,omitempty"` - Reviewers []ReviewerInfo `json:"reviewers,omitempty"` - CCS []ReviewerInfo `json:"ccs,omitempty"` - Error string `json:"error,omitempty"` - Confirm bool `json:"confirm,omitempty"` -} - -// DeleteVoteInput entity contains options for the deletion of a vote. -// -// Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/rest-api-changes.html#delete-vote-input -type DeleteVoteInput struct { - Label string `json:"label,omitempty"` - Notify string `json:"notify,omitempty"` - NotifyDetails map[string]NotifyInfo `json:"notify_details"` -} - -// ListReviewers lists the reviewers of a change. -// -// Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/rest-api-changes.html#list-reviewers -func (s *ChangesService) ListReviewers(changeID string) (*[]ReviewerInfo, *Response, error) { - u := fmt.Sprintf("changes/%s/reviewers/", changeID) - - req, err := s.client.NewRequest("GET", u, nil) - if err != nil { - return nil, nil, err - } - - v := new([]ReviewerInfo) - resp, err := s.client.Do(req, v) - if err != nil { - return nil, resp, err - } - - return v, resp, err -} - -// SuggestReviewers suggest the reviewers for a given query q and result limit n. -// If result limit is not passed, then the default 10 is used. -// -// Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/rest-api-changes.html#suggest-reviewers -func (s *ChangesService) SuggestReviewers(changeID string, opt *QueryOptions) (*[]SuggestedReviewerInfo, *Response, error) { - u := fmt.Sprintf("changes/%s/suggest_reviewers", changeID) - - u, err := addOptions(u, opt) - if err != nil { - return nil, nil, err - } - - req, err := s.client.NewRequest("GET", u, nil) - if err != nil { - return nil, nil, err - } - - v := new([]SuggestedReviewerInfo) - resp, err := s.client.Do(req, v) - if err != nil { - return nil, resp, err - } - - return v, resp, err -} - -// GetReviewer retrieves a reviewer of a change. -// -// Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/rest-api-changes.html#get-reviewer -func (s *ChangesService) GetReviewer(changeID, accountID string) (*ReviewerInfo, *Response, error) { - u := fmt.Sprintf("changes/%s/reviewers/%s", changeID, accountID) - - req, err := s.client.NewRequest("GET", u, nil) - if err != nil { - return nil, nil, err - } - - v := new(ReviewerInfo) - resp, err := s.client.Do(req, v) - if err != nil { - return nil, resp, err - } - - return v, resp, err -} - -// AddReviewer adds one user or all members of one group as reviewer to the change. -// The reviewer to be added to the change must be provided in the request body as a ReviewerInput entity. -// -// As response an AddReviewerResult entity is returned that describes the newly added reviewers. -// If a group is specified, adding the group members as reviewers is an atomic operation. -// This means if an error is returned, none of the members are added as reviewer. -// If a group with many members is added as reviewer a confirmation may be required. -// -// Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/rest-api-changes.html#add-reviewer -func (s *ChangesService) AddReviewer(changeID string, input *ReviewerInput) (*AddReviewerResult, *Response, error) { - u := fmt.Sprintf("changes/%s/reviewers", changeID) - - req, err := s.client.NewRequest("POST", u, input) - if err != nil { - return nil, nil, err - } - - v := new(AddReviewerResult) - resp, err := s.client.Do(req, v) - if err != nil { - return nil, resp, err - } - - return v, resp, err -} - -// DeleteReviewer deletes a reviewer from a change. -// -// Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/rest-api-changes.html#delete-reviewer -func (s *ChangesService) DeleteReviewer(changeID, accountID string) (*Response, error) { - u := fmt.Sprintf("changes/%s/reviewers/%s", changeID, accountID) - return s.client.DeleteRequest(u, nil) -} - -// ListVotes lists the votes for a specific reviewer of the change. -// -// Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/rest-api-changes.html#list-votes -func (s *ChangesService) ListVotes(changeID string, accountID string) (map[string]int, *Response, error) { - u := fmt.Sprintf("changes/%s/reviewers/%s/votes/", changeID, accountID) - req, err := s.client.NewRequest("GET", u, nil) - if err != nil { - return nil, nil, err - } - - var v map[string]int - resp, err := s.client.Do(req, &v) - if err != nil { - return nil, resp, err - } - return v, resp, err -} - -// DeleteVote deletes a single vote from a change. Note, that even when the -// last vote of a reviewer is removed the reviewer itself is still listed on -// the change. -// -// Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/rest-api-changes.html#delete-vote -func (s *ChangesService) DeleteVote(changeID string, accountID string, label string, input *DeleteVoteInput) (*Response, error) { - u := fmt.Sprintf("changes/%s/reviewers/%s/votes/%s", changeID, accountID, label) - return s.client.DeleteRequest(u, input) -} diff --git a/vendor/github.com/andygrunwald/go-gerrit/changes_revision.go b/vendor/github.com/andygrunwald/go-gerrit/changes_revision.go deleted file mode 100644 index c20c5ac6..00000000 --- a/vendor/github.com/andygrunwald/go-gerrit/changes_revision.go +++ /dev/null @@ -1,651 +0,0 @@ -package gerrit - -import ( - "fmt" - "net/url" -) - -// DiffInfo entity contains information about the diff of a file in a revision. -type DiffInfo struct { - MetaA DiffFileMetaInfo `json:"meta_a,omitempty"` - MetaB DiffFileMetaInfo `json:"meta_b,omitempty"` - ChangeType string `json:"change_type"` - IntralineStatus string `json:"intraline_status,omitempty"` - DiffHeader []string `json:"diff_header"` - Content []DiffContent `json:"content"` - WebLinks []DiffWebLinkInfo `json:"web_links,omitempty"` - Binary bool `json:"binary,omitempty"` -} - -// RelatedChangesInfo entity contains information about related changes. -type RelatedChangesInfo struct { - Changes []RelatedChangeAndCommitInfo `json:"changes"` -} - -// FileInfo entity contains information about a file in a patch set. -type FileInfo struct { - Status string `json:"status,omitempty"` - Binary bool `json:"binary,omitempty"` - OldPath string `json:"old_path,omitempty"` - LinesInserted int `json:"lines_inserted,omitempty"` - LinesDeleted int `json:"lines_deleted,omitempty"` - SizeDelta int `json:"size_delta"` - Size int `json:"size"` -} - -// ActionInfo entity describes a REST API call the client can make to manipulate a resource. -// These are frequently implemented by plugins and may be discovered at runtime. -type ActionInfo struct { - Method string `json:"method,omitempty"` - Label string `json:"label,omitempty"` - Title string `json:"title,omitempty"` - Enabled bool `json:"enabled,omitempty"` -} - -// CommitInfo entity contains information about a commit. -type CommitInfo struct { - Commit string `json:"commit,omitempty"` - Parents []CommitInfo `json:"parents"` - Author GitPersonInfo `json:"author"` - Committer GitPersonInfo `json:"committer"` - Subject string `json:"subject"` - Message string `json:"message"` - WebLinks []WebLinkInfo `json:"web_links,omitempty"` -} - -// MergeableInfo entity contains information about the mergeability of a change. -type MergeableInfo struct { - SubmitType string `json:"submit_type"` - Mergeable bool `json:"mergeable"` - MergeableInto []string `json:"mergeable_into,omitempty"` -} - -// DiffOptions specifies the parameters for GetDiff call. -type DiffOptions struct { - // If the intraline parameter is specified, intraline differences are included in the diff. - Intraline bool `url:"intraline,omitempty"` - - // The base parameter can be specified to control the base patch set from which the diff - // should be generated. - Base string `url:"base,omitempty"` - - // The integer-valued request parameter parent can be specified to control the parent commit number - // against which the diff should be generated. This is useful for supporting review of merge commits. - // The value is the 1-based index of the parent’s position in the commit object. - Parent int `url:"parent,omitempty"` - - // If the weblinks-only parameter is specified, only the diff web links are returned. - WeblinksOnly bool `url:"weblinks-only,omitempty"` - - // The ignore-whitespace parameter can be specified to control how whitespace differences are reported in the result. Valid values are NONE, TRAILING, CHANGED or ALL. - IgnoreWhitespace string `url:"ignore-whitespace,omitempty"` - - // The context parameter can be specified to control the number of lines of surrounding context in the diff. - // Valid values are ALL or number of lines. - Context string `url:"context,omitempty"` -} - -// CommitOptions specifies the parameters for GetCommit call. -// -// Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/rest-api-changes.html#get-commit -type CommitOptions struct { - // Adding query parameter links (for example /changes/.../commit?links) returns a CommitInfo with the additional field web_links. - Weblinks bool `url:"links,omitempty"` -} - -// MergableOptions specifies the parameters for GetMergable call. -// -// Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/rest-api-changes.html#get-mergeable -type MergableOptions struct { - // If the other-branches parameter is specified, the mergeability will also be checked for all other branches. - OtherBranches bool `url:"other-branches,omitempty"` -} - -// FilesOptions specifies the parameters for ListFiles and ListFilesReviewed calls. -// -// Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/rest-api-changes.html#list-files -type FilesOptions struct { - // The request parameter q changes the response to return a list of all files (modified or unmodified) - // that contain that substring in the path name. This is useful to implement suggestion services - // finding a file by partial name. - Q string `url:"q,omitempty"` - - // The base parameter can be specified to control the base patch set from which the list of files - // should be generated. - // - // Note: This option is undocumented. - Base string `url:"base,omitempty"` - - // The integer-valued request parameter parent changes the response to return a list of the files - // which are different in this commit compared to the given parent commit. This is useful for - // supporting review of merge commits. The value is the 1-based index of the parent’s position - // in the commit object. - Parent int `url:"parent,omitempty"` -} - -// PatchOptions specifies the parameters for GetPatch call. -// -// Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/rest-api-changes.html#get-patch -type PatchOptions struct { - // Adding query parameter zip (for example /changes/.../patch?zip) returns the patch as a single file inside of a ZIP archive. - // Clients can expand the ZIP to obtain the plain text patch, avoiding the need for a base64 decoding step. - // This option implies download. - Zip bool `url:"zip,omitempty"` - - // Query parameter download (e.g. /changes/.../patch?download) will suggest the browser save the patch as commitsha1.diff.base64, for later processing by command line tools. - Download bool `url:"download,omitempty"` - - // If the path parameter is set, the returned content is a diff of the single file that the path refers to. - Path string `url:"path,omitempty"` -} - -// GetDiff gets the diff of a file from a certain revision. -// -// Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/rest-api-changes.html#get-diff -func (s *ChangesService) GetDiff(changeID, revisionID, fileID string, opt *DiffOptions) (*DiffInfo, *Response, error) { - u := fmt.Sprintf("changes/%s/revisions/%s/files/%s/diff", changeID, revisionID, url.PathEscape(fileID)) - - u, err := addOptions(u, opt) - if err != nil { - return nil, nil, err - } - - req, err := s.client.NewRequest("GET", u, nil) - if err != nil { - return nil, nil, err - } - - v := new(DiffInfo) - resp, err := s.client.Do(req, v) - if err != nil { - return nil, resp, err - } - - return v, resp, err -} - -// GetRelatedChanges retrieves related changes of a revision. -// Related changes are changes that either depend on, or are dependencies of the revision. -// -// Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/rest-api-changes.html#get-related-changes -func (s *ChangesService) GetRelatedChanges(changeID, revisionID string) (*RelatedChangesInfo, *Response, error) { - u := fmt.Sprintf("changes/%s/revisions/%s/related", changeID, revisionID) - - req, err := s.client.NewRequest("GET", u, nil) - if err != nil { - return nil, nil, err - } - - v := new(RelatedChangesInfo) - resp, err := s.client.Do(req, v) - if err != nil { - return nil, resp, err - } - - return v, resp, err -} - -// GetDraft retrieves a draft comment of a revision that belongs to the calling user. -// -// Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/rest-api-changes.html#get-draft -func (s *ChangesService) GetDraft(changeID, revisionID, draftID string) (*CommentInfo, *Response, error) { - u := fmt.Sprintf("changes/%s/revisions/%s/drafts/%s", changeID, revisionID, draftID) - return s.getCommentInfoResponse(u) -} - -// GetComment retrieves a published comment of a revision. -// -// Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/rest-api-changes.html#get-comment -func (s *ChangesService) GetComment(changeID, revisionID, commentID string) (*CommentInfo, *Response, error) { - u := fmt.Sprintf("changes/%s/revisions/%s//comments/%s", changeID, revisionID, commentID) - return s.getCommentInfoResponse(u) -} - -// GetSubmitType gets the method the server will use to submit (merge) the change. -// -// Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/rest-api-changes.html#get-submit-type -func (s *ChangesService) GetSubmitType(changeID, revisionID string) (string, *Response, error) { - u := fmt.Sprintf("changes/%s/revisions/%s/submit_type", changeID, revisionID) - return getStringResponseWithoutOptions(s.client, u) -} - -// GetRevisionActions retrieves revision actions of the revision of a change. -// -// Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/rest-api-changes.html#get-revision-actions -func (s *ChangesService) GetRevisionActions(changeID, revisionID string) (*map[string]ActionInfo, *Response, error) { - u := fmt.Sprintf("changes/%s/revisions/%s/actions", changeID, revisionID) - - req, err := s.client.NewRequest("GET", u, nil) - if err != nil { - return nil, nil, err - } - - v := new(map[string]ActionInfo) - resp, err := s.client.Do(req, v) - if err != nil { - return nil, resp, err - } - - return v, resp, err -} - -// GetCommit retrieves a parsed commit of a revision. -// -// Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/rest-api-changes.html#get-commit -func (s *ChangesService) GetCommit(changeID, revisionID string, opt *CommitOptions) (*CommitInfo, *Response, error) { - u := fmt.Sprintf("changes/%s/revisions/%s/commit", changeID, revisionID) - - u, err := addOptions(u, opt) - if err != nil { - return nil, nil, err - } - - req, err := s.client.NewRequest("GET", u, nil) - if err != nil { - return nil, nil, err - } - - v := new(CommitInfo) - resp, err := s.client.Do(req, v) - if err != nil { - return nil, resp, err - } - - return v, resp, err -} - -// GetReview retrieves a review of a revision. -// -// As response a ChangeInfo entity with detailed labels and detailed accounts is returned that describes the review of the revision. -// The revision for which the review is retrieved is contained in the revisions field. -// In addition the current_revision field is set if the revision for which the review is retrieved is the current revision of the change. -// Please note that the returned labels are always for the current patch set. -// -// Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/rest-api-changes.html#get-review -func (s *ChangesService) GetReview(changeID, revisionID string) (*ChangeInfo, *Response, error) { - u := fmt.Sprintf("changes/%s/revisions/%s/review", changeID, revisionID) - return s.getChangeInfoResponse(u, nil) -} - -// GetMergeable gets the method the server will use to submit (merge) the change and an indicator if the change is currently mergeable. -// -// Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/rest-api-changes.html#get-mergeable -func (s *ChangesService) GetMergeable(changeID, revisionID string, opt *MergableOptions) (*MergeableInfo, *Response, error) { - u := fmt.Sprintf("changes/%s/revisions/%s/mergeable", changeID, revisionID) - - u, err := addOptions(u, opt) - if err != nil { - return nil, nil, err - } - - req, err := s.client.NewRequest("GET", u, nil) - if err != nil { - return nil, nil, err - } - - v := new(MergeableInfo) - resp, err := s.client.Do(req, v) - if err != nil { - return nil, resp, err - } - - return v, resp, err -} - -// ListRevisionDrafts lists the draft comments of a revision that belong to the calling user. -// Returns a map of file paths to lists of CommentInfo entries. -// The entries in the map are sorted by file path. -// -// Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/rest-api-changes.html#list-drafts -func (s *ChangesService) ListRevisionDrafts(changeID, revisionID string) (*map[string][]CommentInfo, *Response, error) { - u := fmt.Sprintf("changes/%s/revisions/%s/drafts/", changeID, revisionID) - return s.getCommentInfoMapSliceResponse(u) -} - -// ListRevisionComments lists the published comments of a revision. -// As result a map is returned that maps the file path to a list of CommentInfo entries. -// The entries in the map are sorted by file path and only include file (or inline) comments. -// Use the Get Change Detail endpoint to retrieve the general change message (or comment). -// -// Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/rest-api-changes.html#list-comments -func (s *ChangesService) ListRevisionComments(changeID, revisionID string) (*map[string][]CommentInfo, *Response, error) { - u := fmt.Sprintf("changes/%s/revisions/%s/comments/", changeID, revisionID) - return s.getCommentInfoMapSliceResponse(u) -} - -// ListFiles lists the files that were modified, added or deleted in a revision. -// As result a map is returned that maps the file path to a list of FileInfo entries. -// The entries in the map are sorted by file path. -// -// Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/rest-api-changes.html#list-files -func (s *ChangesService) ListFiles(changeID, revisionID string, opt *FilesOptions) (map[string]FileInfo, *Response, error) { - u := fmt.Sprintf("changes/%s/revisions/%s/files/", changeID, revisionID) - - u, err := addOptions(u, opt) - if err != nil { - return nil, nil, err - } - - req, err := s.client.NewRequest("GET", u, nil) - if err != nil { - return nil, nil, err - } - - var v map[string]FileInfo - resp, err := s.client.Do(req, &v) - if err != nil { - return nil, resp, err - } - - return v, resp, err -} - -// ListFilesReviewed lists the files that were modified, added or deleted in a revision. -// Unlike ListFiles, the response of ListFilesReviewed is a list of the paths the caller -// has marked as reviewed. Clients that also need the FileInfo should make two requests. -// -// Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/rest-api-changes.html#list-files -func (s *ChangesService) ListFilesReviewed(changeID, revisionID string, opt *FilesOptions) ([]string, *Response, error) { - u := fmt.Sprintf("changes/%s/revisions/%s/files/", changeID, revisionID) - - o := struct { - // The request parameter reviewed changes the response to return a list of the paths the caller has marked as reviewed. - Reviewed bool `url:"reviewed,omitempty"` - - FilesOptions - }{ - Reviewed: true, - } - if opt != nil { - o.FilesOptions = *opt - } - u, err := addOptions(u, o) - if err != nil { - return nil, nil, err - } - - req, err := s.client.NewRequest("GET", u, nil) - if err != nil { - return nil, nil, err - } - - var v []string - resp, err := s.client.Do(req, &v) - if err != nil { - return nil, resp, err - } - - return v, resp, err -} - -// SetReview sets a review on a revision. -// The review must be provided in the request body as a ReviewInput entity. -// -// Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/rest-api-changes.html#set-review -func (s *ChangesService) SetReview(changeID, revisionID string, input *ReviewInput) (*ReviewResult, *Response, error) { - u := fmt.Sprintf("changes/%s/revisions/%s/review", changeID, revisionID) - - req, err := s.client.NewRequest("POST", u, input) - if err != nil { - return nil, nil, err - } - - v := new(ReviewResult) - resp, err := s.client.Do(req, v) - if err != nil { - return nil, resp, err - } - - return v, resp, err -} - -// PublishDraftRevision publishes a draft revision. -// -// Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/rest-api-changes.html#publish-draft-revision -func (s *ChangesService) PublishDraftRevision(changeID, revisionID string) (*Response, error) { - u := fmt.Sprintf("changes/%s/revisions/%s/publish", changeID, revisionID) - - req, err := s.client.NewRequest("POST", u, nil) - if err != nil { - return nil, err - } - - return s.client.Do(req, nil) -} - -// DeleteDraftRevision deletes a draft revision. -// -// Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/rest-api-changes.html#delete-draft-revision -func (s *ChangesService) DeleteDraftRevision(changeID, revisionID string) (*Response, error) { - u := fmt.Sprintf("changes/%s/revisions/%s", changeID, revisionID) - return s.client.DeleteRequest(u, nil) -} - -// GetPatch gets the formatted patch for one revision. -// -// The formatted patch is returned as text encoded inside base64. -// Adding query parameter zip (for example /changes/.../patch?zip) returns the patch as a single file inside of a ZIP archive. -// Clients can expand the ZIP to obtain the plain text patch, avoiding the need for a base64 decoding step. -// This option implies download. -// -// Query parameter download (e.g. /changes/.../patch?download) will suggest the browser save the patch as commitsha1.diff.base64, for later processing by command line tools. -// -// Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/rest-api-changes.html#get-patch -func (s *ChangesService) GetPatch(changeID, revisionID string, opt *PatchOptions) (*string, *Response, error) { - u := fmt.Sprintf("changes/%s/revisions/%s/patch", changeID, revisionID) - - u, err := addOptions(u, opt) - if err != nil { - return nil, nil, err - } - - req, err := s.client.NewRequest("GET", u, nil) - if err != nil { - return nil, nil, err - } - - v := new(string) - resp, err := s.client.Do(req, v) - if err != nil { - return nil, resp, err - } - - return v, resp, err -} - -// TestSubmitType tests the submit_type Prolog rule in the project, or the one given. -// -// Request body may be either the Prolog code as text/plain or a RuleInput object. -// The query parameter filters may be set to SKIP to bypass parent project filters while testing a project-specific rule. -// -// Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/rest-api-changes.html#test-submit-type -func (s *ChangesService) TestSubmitType(changeID, revisionID string, input *RuleInput) (*string, *Response, error) { - u := fmt.Sprintf("changes/%s/revisions/%s/test.submit_type", changeID, revisionID) - - req, err := s.client.NewRequest("POST", u, input) - if err != nil { - return nil, nil, err - } - - v := new(string) - resp, err := s.client.Do(req, v) - if err != nil { - return nil, resp, err - } - - return v, resp, err -} - -// TestSubmitRule tests the submit_rule Prolog rule in the project, or the one given. -// -// Request body may be either the Prolog code as text/plain or a RuleInput object. -// The query parameter filters may be set to SKIP to bypass parent project filters while testing a project-specific rule. -// -// The response is a list of SubmitRecord entries describing the permutations that satisfy the tested submit rule. -// -// Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/rest-api-changes.html#test-submit-rule -func (s *ChangesService) TestSubmitRule(changeID, revisionID string, input *RuleInput) (*[]SubmitRecord, *Response, error) { - u := fmt.Sprintf("changes/%s/revisions/%s/test.submit_rule", changeID, revisionID) - - req, err := s.client.NewRequest("POST", u, input) - if err != nil { - return nil, nil, err - } - - v := new([]SubmitRecord) - resp, err := s.client.Do(req, v) - if err != nil { - return nil, resp, err - } - - return v, resp, err -} - -// CreateDraft creates a draft comment on a revision. -// The new draft comment must be provided in the request body inside a CommentInput entity. -// -// As response a CommentInfo entity is returned that describes the draft comment. -// -// Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/rest-api-changes.html#create-draft -func (s *ChangesService) CreateDraft(changeID, revisionID string, input *CommentInput) (*CommentInfo, *Response, error) { - u := fmt.Sprintf("changes/%s/revisions/%s/drafts", changeID, revisionID) - - req, err := s.client.NewRequest("PUT", u, input) - if err != nil { - return nil, nil, err - } - - v := new(CommentInfo) - resp, err := s.client.Do(req, v) - if err != nil { - return nil, resp, err - } - - return v, resp, err -} - -// UpdateDraft updates a draft comment on a revision. -// The new draft comment must be provided in the request body inside a CommentInput entity. -// -// As response a CommentInfo entity is returned that describes the draft comment. -// -// Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/rest-api-changes.html#update-draft -func (s *ChangesService) UpdateDraft(changeID, revisionID, draftID string, input *CommentInput) (*CommentInfo, *Response, error) { - u := fmt.Sprintf("changes/%s/revisions/%s/drafts/%s", changeID, revisionID, draftID) - - req, err := s.client.NewRequest("PUT", u, input) - if err != nil { - return nil, nil, err - } - - v := new(CommentInfo) - resp, err := s.client.Do(req, v) - if err != nil { - return nil, resp, err - } - - return v, resp, err -} - -// DeleteDraft deletes a draft comment from a revision. -// -// Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/rest-api-changes.html#delete-draft -func (s *ChangesService) DeleteDraft(changeID, revisionID, draftID string) (*Response, error) { - u := fmt.Sprintf("changes/%s/revisions/%s/drafts/%s", changeID, revisionID, draftID) - return s.client.DeleteRequest(u, nil) -} - -// DeleteReviewed deletes the reviewed flag of the calling user from a file of a revision. -// -// Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/rest-api-changes.html#delete-reviewed -func (s *ChangesService) DeleteReviewed(changeID, revisionID, fileID string) (*Response, error) { - u := fmt.Sprintf("changes/%s/revisions/%s/files/%s/reviewed", changeID, revisionID, url.PathEscape(fileID)) - return s.client.DeleteRequest(u, nil) -} - -// GetContent gets the content of a file from a certain revision. -// The content is returned as base64 encoded string. -// The HTTP response Content-Type is always text/plain, reflecting the base64 wrapping. -// A Gerrit-specific X-FYI-Content-Type header is returned describing the server detected content type of the file. -// -// Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/rest-api-changes.html#get-content -func (s *ChangesService) GetContent(changeID, revisionID, fileID string) (*string, *Response, error) { - u := fmt.Sprintf("changes/%s/revisions/%s/files/%s/content", changeID, revisionID, url.PathEscape(fileID)) - - req, err := s.client.NewRequest("GET", u, nil) - if err != nil { - return nil, nil, err - } - - v := new(string) - resp, err := s.client.Do(req, v) - if err != nil { - return nil, resp, err - } - - return v, resp, err -} - -// GetContentType gets the content type of a file from a certain revision. -// This is nearly the same as GetContent. -// But if only the content type is required, callers should use HEAD to avoid downloading the encoded file contents. -// -// For further documentation see GetContent. -// -// Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/rest-api-changes.html#get-content -func (s *ChangesService) GetContentType(changeID, revisionID, fileID string) (*Response, error) { - u := fmt.Sprintf("changes/%s/revisions/%s/files/%s/content", changeID, revisionID, url.PathEscape(fileID)) - - req, err := s.client.NewRequest("HEAD", u, nil) - if err != nil { - return nil, err - } - - return s.client.Do(req, nil) -} - -// SetReviewed marks a file of a revision as reviewed by the calling user. -// -// If the file was already marked as reviewed by the calling user the response is “200 OK”. -// -// Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/rest-api-changes.html#set-reviewed -func (s *ChangesService) SetReviewed(changeID, revisionID, fileID string) (*Response, error) { - u := fmt.Sprintf("changes/%s/revisions/%s/files/%s/reviewed", changeID, revisionID, url.PathEscape(fileID)) - - req, err := s.client.NewRequest("PUT", u, nil) - if err != nil { - return nil, err - } - - return s.client.Do(req, nil) -} - -// CherryPickRevision cherry picks a revision to a destination branch. -// The commit message and destination branch must be provided in the request body inside a CherryPickInput entity. -// -// As response a ChangeInfo entity is returned that describes the resulting cherry picked change. -// -// Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/rest-api-changes.html#cherry-pick -func (s *ChangesService) CherryPickRevision(changeID, revisionID string, input *CherryPickInput) (*ChangeInfo, *Response, error) { - u := fmt.Sprintf("changes/%s/revisions/%s/cherrypick", changeID, revisionID) - - req, err := s.client.NewRequest("POST", u, input) - if err != nil { - return nil, nil, err - } - - v := new(ChangeInfo) - resp, err := s.client.Do(req, v) - if err != nil { - return nil, resp, err - } - - return v, resp, err -} - -/* -TODO: Missing Revision Endpoints - Rebase Revision - Submit Revision - DownloadContent (https://gerrit-review.googlesource.com/Documentation/rest-api-changes.html#get-safe-content) -*/ diff --git a/vendor/github.com/andygrunwald/go-gerrit/config.go b/vendor/github.com/andygrunwald/go-gerrit/config.go deleted file mode 100644 index 088b0fb4..00000000 --- a/vendor/github.com/andygrunwald/go-gerrit/config.go +++ /dev/null @@ -1,529 +0,0 @@ -package gerrit - -import ( - "fmt" -) - -// ConfigService contains Config related REST endpoints -// -// Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/rest-api-config.html -type ConfigService struct { - client *Client -} - -// TopMenuItemInfo entity contains information about a menu item in a top menu entry. -type TopMenuItemInfo struct { - URL string `json:"url"` - Name string `json:"name"` - Target string `json:"target"` - ID string `json:"id,omitempty"` -} - -// AuthInfo entity contains information about the authentication configuration of the Gerrit server. -type AuthInfo struct { - Type string `json:"type"` - UseContributorAgreements bool `json:"use_contributor_agreements,omitempty"` - EditableAccountFields []string `json:"editable_account_fields"` - LoginURL string `json:"login_url,omitempty"` - LoginText string `json:"login_text,omitempty"` - SwitchAccountURL string `json:"switch_account_url,omitempty"` - RegisterURL string `json:"register_url,omitempty"` - RegisterText string `json:"register_text,omitempty"` - EditFullNameURL string `json:"edit_full_name_url,omitempty"` - HTTPPasswordURL string `json:"http_password_url,omitempty"` - IsGitBasicAuth bool `json:"is_git_basic_auth,omitempty"` -} - -// CacheInfo entity contains information about a cache. -type CacheInfo struct { - Name string `json:"name,omitempty"` - Type string `json:"type"` - Entries EntriesInfo `json:"entries"` - AverageGet string `json:"average_get,omitempty"` - HitRatio HitRatioInfo `json:"hit_ratio"` -} - -// CacheOperationInput entity contains information about an operation that should be executed on caches. -type CacheOperationInput struct { - Operation string `json:"operation"` - Caches []string `json:"caches,omitempty"` -} - -// ConfigCapabilityInfo entity contains information about a capability.type -type ConfigCapabilityInfo struct { - ID string `json:"id"` - Name string `json:"name"` -} - -// HitRatioInfo entity contains information about the hit ratio of a cache. -type HitRatioInfo struct { - Mem int `json:"mem"` - Disk int `json:"disk,omitempty"` -} - -// EntriesInfo entity contains information about the entries in a cache. -type EntriesInfo struct { - Mem int `json:"mem,omitempty"` - Disk int `json:"disk,omitempty"` - Space string `json:"space,omitempty"` -} - -// UserConfigInfo entity contains information about Gerrit configuration from the user section. -type UserConfigInfo struct { - AnonymousCowardName string `json:"anonymous_coward_name"` -} - -// TopMenuEntryInfo entity contains information about a top menu entry. -type TopMenuEntryInfo struct { - Name string `json:"name"` - Items []TopMenuItemInfo `json:"items"` -} - -// ThreadSummaryInfo entity contains information about the current threads. -type ThreadSummaryInfo struct { - CPUs int `json:"cpus"` - Threads int `json:"threads"` - Counts map[string]map[string]int `json:"counts"` -} - -// TaskSummaryInfo entity contains information about the current tasks. -type TaskSummaryInfo struct { - Total int `json:"total,omitempty"` - Running int `json:"running,omitempty"` - Ready int `json:"ready,omitempty"` - Sleeping int `json:"sleeping,omitempty"` -} - -// TaskInfo entity contains information about a task in a background work queue. -type TaskInfo struct { - ID string `json:"id"` - State string `json:"state"` - StartTime string `json:"start_time"` - Delay int `json:"delay"` - Command string `json:"command"` - RemoteName string `json:"remote_name,omitempty"` - Project string `json:"project,omitempty"` -} - -// SummaryInfo entity contains information about the current state of the server. -type SummaryInfo struct { - TaskSummary TaskSummaryInfo `json:"task_summary"` - MemSummary MemSummaryInfo `json:"mem_summary"` - ThreadSummary ThemeInfo `json:"thread_summary"` - JVMSummary JvmSummaryInfo `json:"jvm_summary,omitempty"` -} - -// SuggestInfo entity contains information about Gerrit configuration from the suggest section. -type SuggestInfo struct { - From int `json:"from"` -} - -// SSHdInfo entity contains information about Gerrit configuration from the sshd section. -type SSHdInfo struct{} - -// ServerInfo entity contains information about the configuration of the Gerrit server. -type ServerInfo struct { - Auth AuthInfo `json:"auth"` - Change ChangeConfigInfo `json:"change"` - Download DownloadInfo `json:"download"` - Gerrit Info `json:"gerrit"` - Gitweb map[string]string `json:"gitweb,omitempty"` - Plugin PluginConfigInfo `json:"plugin"` - Receive ReceiveInfo `json:"receive,omitempty"` - SSHd SSHdInfo `json:"sshd,omitempty"` - Suggest SuggestInfo `json:"suggest"` - URLAliases map[string]string `json:"url_aliases,omitempty"` - User UserConfigInfo `json:"user"` -} - -// ReceiveInfo entity contains information about the configuration of git-receive-pack behavior on the server. -type ReceiveInfo struct { - EnableSignedPush bool `json:"enableSignedPush,omitempty"` -} - -// PluginConfigInfo entity contains information about Gerrit extensions by plugins. -type PluginConfigInfo struct { - // HasAvatars reports whether an avatar provider is registered. - HasAvatars bool `json:"has_avatars,omitempty"` -} - -// MemSummaryInfo entity contains information about the current memory usage. -type MemSummaryInfo struct { - Total string `json:"total"` - Used string `json:"used"` - Free string `json:"free"` - Buffers string `json:"buffers"` - Max string `json:"max"` - OpenFiles int `json:"open_files,omitempty"` -} - -// JvmSummaryInfo entity contains information about the JVM. -type JvmSummaryInfo struct { - VMVendor string `json:"vm_vendor"` - VMName string `json:"vm_name"` - VMVersion string `json:"vm_version"` - OSName string `json:"os_name"` - OSVersion string `json:"os_version"` - OSArch string `json:"os_arch"` - User string `json:"user"` - Host string `json:"host,omitempty"` - CurrentWorkingDirectory string `json:"current_working_directory"` - Site string `json:"site"` -} - -// Info entity contains information about Gerrit configuration from the gerrit section. -type Info struct { - AllProjectsName string `json:"all_projects_name"` - AllUsersName string `json:"all_users_name"` - DocURL string `json:"doc_url,omitempty"` - ReportBugURL string `json:"report_bug_url,omitempty"` - ReportBugText string `json:"report_bug_text,omitempty"` -} - -// GitwebInfo entity contains information about the gitweb configuration. -type GitwebInfo struct { - URL string `json:"url"` - Type GitwebTypeInfo `json:"type"` -} - -// GitwebTypeInfo entity contains information about the gitweb configuration. -type GitwebTypeInfo struct { - Name string `json:"name"` - Revision string `json:"revision,omitempty"` - Project string `json:"project,omitempty"` - Branch string `json:"branch,omitempty"` - RootTree string `json:"root_tree,omitempty"` - File string `json:"file,omitempty"` - FileHistory string `json:"file_history,omitempty"` - PathSeparator string `json:"path_separator"` - LinkDrafts bool `json:"link_drafts,omitempty"` - URLEncode bool `json:"url_encode,omitempty"` -} - -// EmailConfirmationInput entity contains information for confirming an email address. -type EmailConfirmationInput struct { - Token string `json:"token"` -} - -// DownloadSchemeInfo entity contains information about a supported download scheme and its commands. -type DownloadSchemeInfo struct { - URL string `json:"url"` - IsAuthRequired bool `json:"is_auth_required,omitempty"` - IsAuthSupported bool `json:"is_auth_supported,omitempty"` - Commands map[string]string `json:"commands"` - CloneCommands map[string]string `json:"clone_commands"` -} - -// DownloadInfo entity contains information about supported download options. -type DownloadInfo struct { - Schemes map[string]DownloadSchemeInfo `json:"schemes"` - Archives []string `json:"archives"` -} - -// ChangeConfigInfo entity contains information about Gerrit configuration from the change section. -type ChangeConfigInfo struct { - AllowDrafts bool `json:"allow_drafts,omitempty"` - LargeChange int `json:"large_change"` - ReplyLabel string `json:"reply_label"` - ReplyTooltip string `json:"reply_tooltip"` - UpdateDelay int `json:"update_delay"` - SubmitWholeTopic bool `json:"submit_whole_topic"` -} - -// ListCachesOptions specifies the different output formats. -// -// Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/rest-api-config.html#list-caches -type ListCachesOptions struct { - // Format specifies the different output formats. - Format string `url:"format,omitempty"` -} - -// SummaryOptions specifies the different options for the GetSummary call. -// -// Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/rest-api-config.html#get-summary -type SummaryOptions struct { - // JVM includes a JVM summary. - JVM bool `url:"jvm,omitempty"` - // GC requests a Java garbage collection before computing the information about the Java memory heap. - GC bool `url:"gc,omitempty"` -} - -// GetVersion returns the version of the Gerrit server. -// -// Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/rest-api-config.html#get-version -func (s *ConfigService) GetVersion() (string, *Response, error) { - u := "config/server/version" - return getStringResponseWithoutOptions(s.client, u) -} - -// GetServerInfo returns the information about the Gerrit server configuration. -// -// Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/rest-api-config.html#get-info -func (s *ConfigService) GetServerInfo() (*ServerInfo, *Response, error) { - u := "config/server/info" - - req, err := s.client.NewRequest("GET", u, nil) - if err != nil { - return nil, nil, err - } - - v := new(ServerInfo) - resp, err := s.client.Do(req, v) - if err != nil { - return nil, resp, err - } - - return v, resp, err -} - -// ListCaches lists the caches of the server. Caches defined by plugins are included. -// The caller must be a member of a group that is granted one of the following capabilities: -// * View Caches -// * Maintain Server -// * Administrate Server -// The entries in the map are sorted by cache name. -// -// Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/rest-api-config.html#list-caches -func (s *ConfigService) ListCaches(opt *ListCachesOptions) (*map[string]CacheInfo, *Response, error) { - u := "config/server/caches/" - - u, err := addOptions(u, opt) - if err != nil { - return nil, nil, err - } - - req, err := s.client.NewRequest("GET", u, nil) - if err != nil { - return nil, nil, err - } - - v := new(map[string]CacheInfo) - resp, err := s.client.Do(req, v) - if err != nil { - return nil, resp, err - } - - return v, resp, err -} - -// GetCache retrieves information about a cache. -// The caller must be a member of a group that is granted one of the following capabilities: -// * View Caches -// * Maintain Server -// * Administrate Server -// -// Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/rest-api-config.html#get-cache -func (s *ConfigService) GetCache(cacheName string) (*CacheInfo, *Response, error) { - u := fmt.Sprintf("config/server/caches/%s", cacheName) - - req, err := s.client.NewRequest("GET", u, nil) - if err != nil { - return nil, nil, err - } - - v := new(CacheInfo) - resp, err := s.client.Do(req, v) - if err != nil { - return nil, resp, err - } - - return v, resp, err -} - -// GetSummary retrieves a summary of the current server state. -// The caller must be a member of a group that is granted the Administrate Server capability. -// -// Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/rest-api-config.html#get-summary -func (s *ConfigService) GetSummary(opt *SummaryOptions) (*SummaryInfo, *Response, error) { - u := "config/server/summary" - - u, err := addOptions(u, opt) - if err != nil { - return nil, nil, err - } - - req, err := s.client.NewRequest("GET", u, nil) - if err != nil { - return nil, nil, err - } - - v := new(SummaryInfo) - resp, err := s.client.Do(req, v) - if err != nil { - return nil, resp, err - } - - return v, resp, err -} - -// ListCapabilities lists the capabilities that are available in the system. -// There are two kinds of capabilities: core and plugin-owned capabilities. -// The entries in the map are sorted by capability ID. -// -// Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/rest-api-config.html#list-capabilities -func (s *ConfigService) ListCapabilities() (*map[string]ConfigCapabilityInfo, *Response, error) { - u := "config/server/capabilities" - - req, err := s.client.NewRequest("GET", u, nil) - if err != nil { - return nil, nil, err - } - - v := new(map[string]ConfigCapabilityInfo) - resp, err := s.client.Do(req, v) - if err != nil { - return nil, resp, err - } - - return v, resp, err -} - -// ListTasks lists the tasks from the background work queues that the Gerrit daemon is currently performing, or will perform in the near future. -// Gerrit contains an internal scheduler, similar to cron, that it uses to queue and dispatch both short and long term tasks. -// Tasks that are completed or canceled exit the queue very quickly once they enter this state, but it can be possible to observe tasks in these states. -// End-users may see a task only if they can also see the project the task is associated with. -// Tasks operating on other projects, or that do not have a specific project, are hidden. -// -// The caller must be a member of a group that is granted one of the following capabilities: -// * View Queue -// * Maintain Server -// * Administrate Server -// -// The entries in the list are sorted by task state, remaining delay and command. -// -// Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/rest-api-config.html#list-tasks -func (s *ConfigService) ListTasks() (*[]TaskInfo, *Response, error) { - u := "config/server/tasks" - - req, err := s.client.NewRequest("GET", u, nil) - if err != nil { - return nil, nil, err - } - - v := new([]TaskInfo) - resp, err := s.client.Do(req, v) - if err != nil { - return nil, resp, err - } - - return v, resp, err -} - -// GetTask retrieves a task from the background work queue that the Gerrit daemon is currently performing, or will perform in the near future. -// End-users may see a task only if they can also see the project the task is associated with. -// Tasks operating on other projects, or that do not have a specific project, are hidden. -// -// The caller must be a member of a group that is granted one of the following capabilities: -// * View Queue -// * Maintain Server -// * Administrate Server -// -// Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/rest-api-config.html#get-task -func (s *ConfigService) GetTask(taskID string) (*TaskInfo, *Response, error) { - u := fmt.Sprintf("config/server/tasks/%s", taskID) - - req, err := s.client.NewRequest("GET", u, nil) - if err != nil { - return nil, nil, err - } - - v := new(TaskInfo) - resp, err := s.client.Do(req, v) - if err != nil { - return nil, resp, err - } - - return v, resp, err -} - -// GetTopMenus returns the list of additional top menu entries. -// -// Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/rest-api-config.html#get-top-menus -func (s *ConfigService) GetTopMenus() (*[]TopMenuEntryInfo, *Response, error) { - u := "config/server/top-menus" - - req, err := s.client.NewRequest("GET", u, nil) - if err != nil { - return nil, nil, err - } - - v := new([]TopMenuEntryInfo) - resp, err := s.client.Do(req, v) - if err != nil { - return nil, resp, err - } - - return v, resp, err -} - -// ConfirmEmail confirms that the user owns an email address. -// The email token must be provided in the request body inside an EmailConfirmationInput entity. -// -// The response is “204 No Content”. -// If the token is invalid or if it’s the token of another user the request fails and the response is “422 Unprocessable Entity”. -// -// Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/rest-api-config.html#confirm-email -func (s *ConfigService) ConfirmEmail(input *EmailConfirmationInput) (*Response, error) { - u := "config/server/email.confirm" - - req, err := s.client.NewRequest("PUT", u, input) - if err != nil { - return nil, err - } - - return s.client.Do(req, nil) -} - -// CacheOperations executes a cache operation that is specified in the request body in a CacheOperationInput entity. -// -// Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/rest-api-config.html#cache-operations -func (s *ConfigService) CacheOperations(input *CacheOperationInput) (*Response, error) { - u := "config/server/caches/" - - req, err := s.client.NewRequest("POST", u, input) - if err != nil { - return nil, err - } - - return s.client.Do(req, nil) -} - -// FlushCache flushes a cache. -// The caller must be a member of a group that is granted one of the following capabilities: -// -// * Flush Caches (any cache except "web_sessions") -// * Maintain Server (any cache including "web_sessions") -// * Administrate Server (any cache including "web_sessions") -// -// Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/rest-api-config.html#flush-cache -func (s *ConfigService) FlushCache(cacheName string, input *CacheOperationInput) (*Response, error) { - u := fmt.Sprintf("config/server/caches/%s/flush", cacheName) - - req, err := s.client.NewRequest("POST", u, input) - if err != nil { - return nil, err - } - - return s.client.Do(req, nil) -} - -// DeleteTask kills a task from the background work queue that the Gerrit daemon is currently performing, or will perform in the near future. -// The caller must be a member of a group that is granted one of the following capabilities: -// -// * Kill Task -// * Maintain Server -// * Administrate Server -// -// End-users may see a task only if they can also see the project the task is associated with. -// Tasks operating on other projects, or that do not have a specific project, are hidden. -// Members of a group granted one of the following capabilities may view all tasks: -// -// * View Queue -// * Maintain Server -// * Administrate Server -// -// Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/rest-api-config.html#delete-task -func (s *ConfigService) DeleteTask(taskID string) (*Response, error) { - u := fmt.Sprintf("config/server/tasks/%s", taskID) - return s.client.DeleteRequest(u, nil) -} diff --git a/vendor/github.com/andygrunwald/go-gerrit/doc.go b/vendor/github.com/andygrunwald/go-gerrit/doc.go deleted file mode 100644 index e3336ef3..00000000 --- a/vendor/github.com/andygrunwald/go-gerrit/doc.go +++ /dev/null @@ -1,68 +0,0 @@ -/* -Package gerrit provides a client for using the Gerrit API. - -Construct a new Gerrit client, then use the various services on the client to -access different parts of the Gerrit API. For example: - - instance := "https://go-review.googlesource.com/" - client, _ := gerrit.NewClient(instance, nil) - - // Get all public projects - projects, _, err := client.Projects.ListProjects(nil) - -Set optional parameters for an API method by passing an Options object. - - // Get all projects with descriptions - opt := &gerrit.ProjectOptions{ - Description: true, - } - projects, _, err := client.Projects.ListProjects(opt) - -The services of a client divide the API into logical chunks and correspond to -the structure of the Gerrit API documentation at -https://gerrit-review.googlesource.com/Documentation/rest-api.html#_endpoints. - -Authentication - -The go-gerrit library supports various methods to support the authentication. -This methods are combined in the AuthenticationService that is available at client.Authentication. - -One way is an authentication via HTTP cookie. -Some Gerrit instances hosted like the one hosted googlesource.com (e.g. https://go-review.googlesource.com/, -https://android-review.googlesource.com/ or https://gerrit-review.googlesource.com/) support HTTP Cookie authentication. - -You need the cookie name and the cookie value. -You can get them by click on "Settings > HTTP Password > Obtain Password" in your Gerrit instance. -There you can receive your values. -The cookie name will be (mostly) "o" (if hosted on googlesource.com). -Your cookie secret will be something like "git-your@email.com=SomeHash...". - - instance := "https://gerrit-review.googlesource.com/" - client, _ := gerrit.NewClient(instance, nil) - client.Authentication.SetCookieAuth("o", "my-cookie-secret") - - self, _, _ := client.Accounts.GetAccount("self") - - fmt.Printf("Username: %s", self.Name) - - // Username: Andy G. - -Some other Gerrit instances (like https://review.typo3.org/) has auth.gitBasicAuth activated. -With this you can authenticate with HTTP Basic like this: - - instance := "https://review.typo3.org/" - client, _ := gerrit.NewClient(instance, nil) - client.Authentication.SetBasicAuth("andy.grunwald", "my secrect password") - - self, _, _ := client.Accounts.GetAccount("self") - - fmt.Printf("Username: %s", self.Name) - - // Username: Andy Grunwald - -Additionally when creating a new client, pass an http.Client that supports further actions for you. -For more information regarding authentication have a look at the Gerrit documentation: -https://gerrit-review.googlesource.com/Documentation/rest-api.html#authentication - -*/ -package gerrit diff --git a/vendor/github.com/andygrunwald/go-gerrit/events.go b/vendor/github.com/andygrunwald/go-gerrit/events.go deleted file mode 100644 index 4850ba4b..00000000 --- a/vendor/github.com/andygrunwald/go-gerrit/events.go +++ /dev/null @@ -1,166 +0,0 @@ -package gerrit - -import ( - "bytes" - "encoding/json" - "io/ioutil" - "net/url" - "time" -) - -// PatchSet contains detailed information about a specific patch set. -// -// Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/json.html#patchSet -type PatchSet struct { - Number Number `json:"number"` - Revision string `json:"revision"` - Parents []string `json:"parents"` - Ref string `json:"ref"` - Uploader AccountInfo `json:"uploader"` - Author AccountInfo `json:"author"` - CreatedOn int `json:"createdOn"` - IsDraft bool `json:"isDraft"` - Kind string `json:"kind"` -} - -// RefUpdate contains data about a reference update. -// -// Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/json.html#refUpdate -type RefUpdate struct { - OldRev string `json:"oldRev"` - NewRev string `json:"newRev"` - RefName string `json:"refName"` - Project string `json:"project"` -} - -// EventInfo contains information about an event emitted by Gerrit. This -// structure can be used either when parsing streamed events or when reading -// the output of the events-log plugin. -// -// Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/cmd-stream-events.html#events -type EventInfo struct { - Type string `json:"type"` - Change ChangeInfo `json:"change,omitempty"` - ChangeKey ChangeInfo `json:"changeKey,omitempty"` - PatchSet PatchSet `json:"patchSet,omitempty"` - EventCreatedOn int `json:"eventCreatedOn,omitempty"` - Reason string `json:"reason,omitempty"` - Abandoner AccountInfo `json:"abandoner,omitempty"` - Restorer AccountInfo `json:"restorer,omitempty"` - Submitter AccountInfo `json:"submitter,omitempty"` - Author AccountInfo `json:"author,omitempty"` - Uploader AccountInfo `json:"uploader,omitempty"` - Approvals []AccountInfo `json:"approvals,omitempty"` - Comment string `json:"comment,omitempty"` - Editor AccountInfo `json:"editor,omitempty"` - Added []string `json:"added,omitempty"` - Removed []string `json:"removed,omitempty"` - Hashtags []string `json:"hashtags,omitempty"` - RefUpdate RefUpdate `json:"refUpdate,omitempty"` - Project ProjectInfo `json:"project,omitempty"` - Reviewer AccountInfo `json:"reviewer,omitempty"` - OldTopic string `json:"oldTopic,omitempty"` - Changer AccountInfo `json:"changer,omitempty"` -} - -// EventsLogService contains functions for querying the API provided -// by the optional events-log plugin. -type EventsLogService struct { - client *Client -} - -// EventsLogOptions contains options for querying events from the events-logs -// plugin. -type EventsLogOptions struct { - From time.Time - To time.Time - - // IgnoreUnmarshalErrors will cause GetEvents to ignore any errors - // that come up when calling json.Unmarshal. This can be useful in - // cases where the events-log plugin was not kept up to date with - // the Gerrit version for some reason. In these cases the events-log - // plugin will return data structs that don't match the EventInfo - // struct which in turn causes issues for json.Unmarshal. - IgnoreUnmarshalErrors bool -} - -// getURL returns the url that should be used in the request. This will vary -// depending on the options provided to GetEvents. -func (events *EventsLogService) getURL(options *EventsLogOptions) (string, error) { - parsed, err := url.Parse("/plugins/events-log/events/") - if err != nil { - return "", err - } - - query := parsed.Query() - - if !options.From.IsZero() { - query.Set("t1", options.From.Format("2006-01-02 15:04:05")) - } - - if !options.To.IsZero() { - query.Set("t2", options.To.Format("2006-01-02 15:04:05")) - } - - encoded := query.Encode() - if len(encoded) > 0 { - parsed.RawQuery = encoded - } - - return parsed.String(), nil -} - -// GetEvents returns a list of events for the given input options. Use of this -// function requires an authenticated user and for the events-log plugin to be -// installed. This function returns the unmarshalled EventInfo structs, response, -// failed lines and errors. Marshaling errors will cause this function to return -// before processing is complete unless you set EventsLogOptions.IgnoreUnmarshalErrors -// to true. This can be useful in cases where the events-log plugin got out of sync -// with the Gerrit version which in turn produced events which can't be transformed -// unmarshalled into EventInfo. -// -// Gerrit API docs: https:///plugins/events-log/Documentation/rest-api-events.html -func (events *EventsLogService) GetEvents(options *EventsLogOptions) ([]EventInfo, *Response, [][]byte, error) { - info := []EventInfo{} - failures := [][]byte{} - requestURL, err := events.getURL(options) - - if err != nil { - return info, nil, failures, err - } - - request, err := events.client.NewRequest("GET", requestURL, nil) - if err != nil { - return info, nil, failures, err - } - - // Perform the request but do not pass in a structure to unpack - // the response into. The format of the response is one EventInfo - // object per line so we need to manually handle the response here. - response, err := events.client.Do(request, nil) - if err != nil { - return info, response, failures, err - } - - body, err := ioutil.ReadAll(response.Body) - defer response.Body.Close() // nolint: errcheck - if err != nil { - return info, response, failures, err - } - - for _, line := range bytes.Split(body, []byte("\n")) { - if len(line) > 0 { - event := EventInfo{} - if err := json.Unmarshal(line, &event); err != nil { // nolint: vetshadow - failures = append(failures, line) - - if !options.IgnoreUnmarshalErrors { - return info, response, failures, err - } - continue - } - info = append(info, event) - } - } - return info, response, failures, err -} diff --git a/vendor/github.com/andygrunwald/go-gerrit/gerrit.go b/vendor/github.com/andygrunwald/go-gerrit/gerrit.go deleted file mode 100644 index ebcbda00..00000000 --- a/vendor/github.com/andygrunwald/go-gerrit/gerrit.go +++ /dev/null @@ -1,564 +0,0 @@ -package gerrit - -import ( - "bytes" - "encoding/json" - "errors" - "fmt" - "io" - "io/ioutil" - "net/http" - "net/url" - "reflect" - "regexp" - "strings" - - "github.com/google/go-querystring/query" -) - -// TODO Try to reduce the code duplications of a std API req -// Maybe with http://play.golang.org/p/j-667shCCB -// and https://groups.google.com/forum/#!topic/golang-nuts/D-gIr24k5uY - -// A Client manages communication with the Gerrit API. -type Client struct { - // client is the HTTP client used to communicate with the API. - client *http.Client - - // baseURL is the base URL of the Gerrit instance for API requests. - // It must have a trailing slash. - baseURL *url.URL - - // Gerrit service for authentication. - Authentication *AuthenticationService - - // Services used for talking to different parts of the standard Gerrit API. - Access *AccessService - Accounts *AccountsService - Changes *ChangesService - Config *ConfigService - Groups *GroupsService - Plugins *PluginsService - Projects *ProjectsService - - // Additional services used for talking to non-standard Gerrit APIs. - EventsLog *EventsLogService -} - -// Response is a Gerrit API response. -// This wraps the standard http.Response returned from Gerrit. -type Response struct { - *http.Response -} - -var ( - // ErrNoInstanceGiven is returned by NewClient in the event the - // gerritURL argument was blank. - ErrNoInstanceGiven = errors.New("no Gerrit instance given") - - // ErrUserProvidedWithoutPassword is returned by NewClient - // if a user name is provided without a password. - ErrUserProvidedWithoutPassword = errors.New("a username was provided without a password") - - // ErrAuthenticationFailed is returned by NewClient in the event the provided - // credentials didn't allow us to query account information using digest, basic or cookie - // auth. - ErrAuthenticationFailed = errors.New("failed to authenticate using the provided credentials") - - // ReParseURL is used to parse the url provided to NewClient(). This - // regular expression contains five groups which capture the scheme, - // username, password, hostname and port. If we parse the url with this - // regular expression - ReParseURL = regexp.MustCompile(`^(http|https)://(.+):(.+)@(.+):(\d+)(.*)$`) -) - -// NewClient returns a new Gerrit API client. gerritURL specifies the -// HTTP endpoint of the Gerrit instance. For example, "http://localhost:8080/". -// If gerritURL does not have a trailing slash, one is added automatically. -// If a nil httpClient is provided, http.DefaultClient will be used. -// -// The url may contain credentials, http://admin:secret@localhost:8081/ for -// example. These credentials may either be a user name and password or -// name and value as in the case of cookie based authentication. If the url contains -// credentials then this function will attempt to validate the credentials before -// returning the client. ErrAuthenticationFailed will be returned if the credentials -// cannot be validated. The process of validating the credentials is relatively simple and -// only requires that the provided user have permission to GET /a/accounts/self. -func NewClient(gerritURL string, httpClient *http.Client) (*Client, error) { - if httpClient == nil { - httpClient = http.DefaultClient - } - - endpoint := gerritURL - if endpoint == "" { - return nil, ErrNoInstanceGiven - } - - hasAuth := false - username := "" - password := "" - - // Depending on the contents of the username and password the default - // url.Parse may not work. The below is an example URL that - // would end up being parsed incorrectly with url.Parse: - // http://admin:ZOSOKjgV/kgEkN0bzPJp+oGeJLqpXykqWFJpon/Ckg@localhost:38607 - // So instead of depending on url.Parse we'll try using a regular expression - // first to match a specific pattern. If that ends up working we modify - // the incoming endpoint to remove the username and password so the rest - // of this function will run as expected. - submatches := ReParseURL.FindAllStringSubmatch(endpoint, -1) - if len(submatches) > 0 && len(submatches[0]) > 5 { - submatch := submatches[0] - username = submatch[2] - password = submatch[3] - endpoint = fmt.Sprintf( - "%s://%s:%s%s", submatch[1], submatch[4], submatch[5], submatch[6]) - hasAuth = true - } - - baseURL, err := url.Parse(endpoint) - if err != nil { - return nil, err - } - if !strings.HasSuffix(baseURL.Path, "/") { - baseURL.Path += "/" - } - - // Note, if we retrieved the URL and password using the regular - // expression above then the below code will do nothing. - if baseURL.User != nil { - username = baseURL.User.Username() - parsedPassword, haspassword := baseURL.User.Password() - - // Catches cases like http://user@localhost:8081/ where no password - // was at all. If a blank password is required - if !haspassword { - return nil, ErrUserProvidedWithoutPassword - } - - password = parsedPassword - - // Reconstruct the url but without the username and password. - baseURL, err = url.Parse( - fmt.Sprintf("%s://%s%s", baseURL.Scheme, baseURL.Host, baseURL.RequestURI())) - if err != nil { - return nil, err - } - hasAuth = true - } - - c := &Client{ - client: httpClient, - baseURL: baseURL, - } - c.Authentication = &AuthenticationService{client: c} - c.Access = &AccessService{client: c} - c.Accounts = &AccountsService{client: c} - c.Changes = &ChangesService{client: c} - c.Config = &ConfigService{client: c} - c.Groups = &GroupsService{client: c} - c.Plugins = &PluginsService{client: c} - c.Projects = &ProjectsService{client: c} - c.EventsLog = &EventsLogService{client: c} - - if hasAuth { - // Digest auth (first since that's the default auth type) - c.Authentication.SetDigestAuth(username, password) - if success, err := checkAuth(c); success || err != nil { - return c, err - } - - // Basic auth - c.Authentication.SetBasicAuth(username, password) - if success, err := checkAuth(c); success || err != nil { - return c, err - } - - // Cookie auth - c.Authentication.SetCookieAuth(username, password) - if success, err := checkAuth(c); success || err != nil { - return c, err - } - - // Reset auth in case the consumer needs to do something special. - c.Authentication.ResetAuth() - return c, ErrAuthenticationFailed - } - - return c, nil -} - -// checkAuth is used by NewClient to check if the current credentials are -// valid. If the response is 401 Unauthorized then the error will be discarded. -func checkAuth(client *Client) (bool, error) { - _, response, err := client.Accounts.GetAccount("self") - switch err { - case ErrWWWAuthenticateHeaderMissing: - return false, nil - case ErrWWWAuthenticateHeaderNotDigest: - return false, nil - default: - // Response could be nil if the connection outright failed - // or some other error occurred before we got a response. - if response == nil && err != nil { - return false, err - } - - if err != nil && response.StatusCode == http.StatusUnauthorized { - err = nil - } - return response.StatusCode == http.StatusOK, err - } -} - -// NewRequest creates an API request. -// A relative URL can be provided in urlStr, in which case it is resolved relative to the baseURL of the Client. -// Relative URLs should always be specified without a preceding slash. -// If specified, the value pointed to by body is JSON encoded and included as the request body. -func (c *Client) NewRequest(method, urlStr string, body interface{}) (*http.Request, error) { - // Build URL for request - u, err := c.buildURLForRequest(urlStr) - if err != nil { - return nil, err - } - - var buf io.ReadWriter - if body != nil { - buf = new(bytes.Buffer) - err = json.NewEncoder(buf).Encode(body) - if err != nil { - return nil, err - } - } - - req, err := http.NewRequest(method, u, buf) - if err != nil { - return nil, err - } - - // Apply Authentication - if err := c.addAuthentication(req); err != nil { - return nil, err - } - - // Request compact JSON - // See https://gerrit-review.googlesource.com/Documentation/rest-api.html#output - req.Header.Add("Accept", "application/json") - req.Header.Add("Content-Type", "application/json") - - // TODO: Add gzip encoding - // Accept-Encoding request header is set to gzip - // See https://gerrit-review.googlesource.com/Documentation/rest-api.html#output - - return req, nil -} - -// NewRawPutRequest creates a raw PUT request and makes no attempt to encode -// or marshal the body. Just passes it straight through. -func (c *Client) NewRawPutRequest(urlStr string, body string) (*http.Request, error) { - // Build URL for request - u, err := c.buildURLForRequest(urlStr) - if err != nil { - return nil, err - } - - buf := bytes.NewBuffer([]byte(body)) - req, err := http.NewRequest("PUT", u, buf) - if err != nil { - return nil, err - } - - // Apply Authentication - if err := c.addAuthentication(req); err != nil { - return nil, err - } - - // Request compact JSON - // See https://gerrit-review.googlesource.com/Documentation/rest-api.html#output - req.Header.Add("Accept", "application/json") - req.Header.Add("Content-Type", "application/x-www-form-urlencoded") - - // TODO: Add gzip encoding - // Accept-Encoding request header is set to gzip - // See https://gerrit-review.googlesource.com/Documentation/rest-api.html#output - - return req, nil -} - -// Call is a combine function for Client.NewRequest and Client.Do. -// -// Most API methods are quite the same. -// Get the URL, apply options, make a request, and get the response. -// Without adding special headers or something. -// To avoid a big amount of code duplication you can Client.Call. -// -// method is the HTTP method you want to call. -// u is the URL you want to call. -// body is the HTTP body. -// v is the HTTP response. -// -// For more information read https://github.com/google/go-github/issues/234 -func (c *Client) Call(method, u string, body interface{}, v interface{}) (*Response, error) { - req, err := c.NewRequest(method, u, body) - if err != nil { - return nil, err - } - - resp, err := c.Do(req, v) - if err != nil { - return resp, err - } - - return resp, err -} - -// buildURLForRequest will build the URL (as string) that will be called. -// We need such a utility method, because the URL.Path needs to be escaped (partly). -// -// E.g. if a project is called via "projects/%s" and the project is named "plugin/delete-project" -// there has to be "projects/plugin%25Fdelete-project" instead of "projects/plugin/delete-project". -// The second url will return nothing. -func (c *Client) buildURLForRequest(urlStr string) (string, error) { - // If there is a "/" at the start, remove it. - // TODO: It can be arranged for all callers of buildURLForRequest to never have a "/" prefix, - // which can be ensured via tests. This is how it's done in go-github. - // Then, this run-time check becomes unnecessary and can be removed. - urlStr = strings.TrimPrefix(urlStr, "/") - - // If we are authenticated, let's apply the "a/" prefix, - // but only if it has not already been applied. - if c.Authentication.HasAuth() && !strings.HasPrefix(urlStr, "a/") { - urlStr = "a/" + urlStr - } - - rel, err := url.Parse(urlStr) - if err != nil { - return "", err - } - - return c.baseURL.String() + rel.String(), nil -} - -// Do sends an API request and returns the API response. -// The API response is JSON decoded and stored in the value pointed to by v, -// or returned as an error if an API error has occurred. -// If v implements the io.Writer interface, the raw response body will be written to v, -// without attempting to first decode it. -func (c *Client) Do(req *http.Request, v interface{}) (*Response, error) { - resp, err := c.client.Do(req) - if err != nil { - return nil, err - } - - // Wrap response - response := &Response{Response: resp} - - err = CheckResponse(resp) - if err != nil { - // even though there was an error, we still return the response - // in case the caller wants to inspect it further - return response, err - } - - if v != nil { - defer resp.Body.Close() // nolint: errcheck - if w, ok := v.(io.Writer); ok { - if _, err := io.Copy(w, resp.Body); err != nil { // nolint: vetshadow - return nil, err - } - } else { - var body []byte - body, err = ioutil.ReadAll(resp.Body) - if err != nil { - // even though there was an error, we still return the response - // in case the caller wants to inspect it further - return response, err - } - - body = RemoveMagicPrefixLine(body) - err = json.Unmarshal(body, v) - } - } - return response, err -} - -func (c *Client) addAuthentication(req *http.Request) error { - // Apply HTTP Basic Authentication - if c.Authentication.HasBasicAuth() { - req.SetBasicAuth(c.Authentication.name, c.Authentication.secret) - return nil - } - - // Apply HTTP Cookie - if c.Authentication.HasCookieAuth() { - req.AddCookie(&http.Cookie{ - Name: c.Authentication.name, - Value: c.Authentication.secret, - }) - return nil - } - - // Apply Digest Authentication. If we're using digest based - // authentication we need to make a request, process the - // WWW-Authenticate header, then set the Authorization header on the - // incoming request. We do not need to send a body along because - // the request itself should fail first. - if c.Authentication.HasDigestAuth() { - uri, err := c.buildURLForRequest(req.URL.RequestURI()) - if err != nil { - return err - } - - // WARNING: Don't use c.NewRequest here unless you like - // infinite recursion. - digestRequest, err := http.NewRequest(req.Method, uri, nil) - digestRequest.Header.Set("Accept", "*/*") - digestRequest.Header.Set("Content-Type", "application/json") - if err != nil { - return err - } - - response, err := c.client.Do(digestRequest) - if err != nil { - return err - } - - // When the function exits discard the rest of the - // body and close it. This should cause go to - // reuse the connection. - defer io.Copy(ioutil.Discard, response.Body) // nolint: errcheck - defer response.Body.Close() // nolint: errcheck - - if response.StatusCode == http.StatusUnauthorized { - authorization, err := c.Authentication.digestAuthHeader(response) - if err != nil { - return err - } - req.Header.Set("Authorization", authorization) - } - } - - return nil -} - -// DeleteRequest sends an DELETE API Request to urlStr with optional body. -// It is a shorthand combination for Client.NewRequest with Client.Do. -// -// Relative URLs should always be specified without a preceding slash. -// If specified, the value pointed to by body is JSON encoded and included as the request body. -func (c *Client) DeleteRequest(urlStr string, body interface{}) (*Response, error) { - req, err := c.NewRequest("DELETE", urlStr, body) - if err != nil { - return nil, err - } - - return c.Do(req, nil) -} - -// BaseURL returns the client's Gerrit instance HTTP endpoint. -func (c *Client) BaseURL() url.URL { - return *c.baseURL -} - -// RemoveMagicPrefixLine removes the "magic prefix line" of Gerris JSON -// response if present. The JSON response body starts with a magic prefix line -// that must be stripped before feeding the rest of the response body to a JSON -// parser. The reason for this is to prevent against Cross Site Script -// Inclusion (XSSI) attacks. By default all standard Gerrit APIs include this -// prefix line though some plugins may not. -// -// Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/rest-api.html#output -func RemoveMagicPrefixLine(body []byte) []byte { - if bytes.HasPrefix(body, magicPrefix) { - return body[5:] - } - return body -} - -var magicPrefix = []byte(")]}'\n") - -// CheckResponse checks the API response for errors, and returns them if present. -// A response is considered an error if it has a status code outside the 200 range. -// API error responses are expected to have no response body. -// -// Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/rest-api.html#response-codes -func CheckResponse(r *http.Response) error { - if c := r.StatusCode; 200 <= c && c <= 299 { - return nil - } - - // Some calls require an authentification - // In such cases errors like: - // API call to https://review.typo3.org/accounts/self failed: 403 Forbidden - // will be thrown. - - err := fmt.Errorf("API call to %s failed: %s", r.Request.URL.String(), r.Status) - return err -} - -// queryParameterReplacements are values in a url, specifically the query -// portion of the url, which should not be escaped before being sent to -// Gerrit. Note, Gerrit itself does not escape these values when using the -// search box so we shouldn't escape them either. -var queryParameterReplacements = map[string]string{ - "+": "GOGERRIT_URL_PLACEHOLDER_PLUS", - ":": "GOGERRIT_URL_PLACEHOLDER_COLON"} - -// addOptions adds the parameters in opt as URL query parameters to s. -// opt must be a struct whose fields may contain "url" tags. -func addOptions(s string, opt interface{}) (string, error) { - v := reflect.ValueOf(opt) - if v.Kind() == reflect.Ptr && v.IsNil() { - return s, nil - } - - u, err := url.Parse(s) - if err != nil { - return s, err - } - - qs, err := query.Values(opt) - if err != nil { - return s, err - } - - // If the url contained one or more query parameters (q) then we need - // to do some escaping on these values before Encode() is called. By - // doing so we're ensuring that : and + don't get encoded which means - // they'll be passed along to Gerrit as raw ascii. Without this Gerrit - // could return 400 Bad Request depending on the query parameters. For - // more complete information see this issue on GitHub: - // https://github.com/andygrunwald/go-gerrit/issues/18 - _, hasQuery := qs["q"] - if hasQuery { - values := []string{} - for _, value := range qs["q"] { - for key, replacement := range queryParameterReplacements { - value = strings.Replace(value, key, replacement, -1) - } - values = append(values, value) - } - - qs.Del("q") - for _, value := range values { - qs.Add("q", value) - } - } - encoded := qs.Encode() - - if hasQuery { - for key, replacement := range queryParameterReplacements { - encoded = strings.Replace(encoded, replacement, key, -1) - } - } - - u.RawQuery = encoded - return u.String(), nil -} - -// getStringResponseWithoutOptions retrieved a single string Response for a GET request -func getStringResponseWithoutOptions(client *Client, u string) (string, *Response, error) { - v := new(string) - resp, err := client.Call("GET", u, nil, v) - return *v, resp, err -} diff --git a/vendor/github.com/andygrunwald/go-gerrit/gometalinter.json b/vendor/github.com/andygrunwald/go-gerrit/gometalinter.json deleted file mode 100644 index e4db6045..00000000 --- a/vendor/github.com/andygrunwald/go-gerrit/gometalinter.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "DisableAll": true, - "Enable": [ - "deadcode", - "unconvert", - "golint", - "vetshadow", - "vet", - "unused", - "gofmt", - "goimports", - "goconst", - "errcheck", - "interfacer", - "gosec", - "unconvert", - "testify", - "unparam", - "varcheck", - "gotype", - "ineffassign", - "staticcheck" - ] -} diff --git a/vendor/github.com/andygrunwald/go-gerrit/groups.go b/vendor/github.com/andygrunwald/go-gerrit/groups.go deleted file mode 100644 index a83027b3..00000000 --- a/vendor/github.com/andygrunwald/go-gerrit/groups.go +++ /dev/null @@ -1,360 +0,0 @@ -package gerrit - -import ( - "fmt" -) - -// GroupsService contains Group related REST endpoints -// -// Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/rest-api-groups.html -type GroupsService struct { - client *Client -} - -// GroupAuditEventInfo entity contains information about an audit event of a group. -type GroupAuditEventInfo struct { - // TODO Member AccountInfo OR GroupInfo `json:"member"` - Type string `json:"type"` - User AccountInfo `json:"user"` - Date Timestamp `json:"date"` -} - -// GroupInfo entity contains information about a group. -// This can be a Gerrit internal group, or an external group that is known to Gerrit. -type GroupInfo struct { - ID string `json:"id"` - Name string `json:"name,omitempty"` - URL string `json:"url,omitempty"` - Options GroupOptionsInfo `json:"options"` - Description string `json:"description,omitempty"` - GroupID int `json:"group_id,omitempty"` - Owner string `json:"owner,omitempty"` - OwnerID string `json:"owner_id,omitempty"` - CreatedOn *Timestamp `json:"created_on,omitempty"` - Members []AccountInfo `json:"members,omitempty"` - Includes []GroupInfo `json:"includes,omitempty"` -} - -// GroupInput entity contains information for the creation of a new internal group. -type GroupInput struct { - Name string `json:"name,omitempty"` - Description string `json:"description,omitempty"` - VisibleToAll bool `json:"visible_to_all,omitempty"` - OwnerID string `json:"owner_id,omitempty"` -} - -// GroupOptionsInfo entity contains options of the group. -type GroupOptionsInfo struct { - VisibleToAll bool `json:"visible_to_all,omitempty"` -} - -// GroupOptionsInput entity contains new options for a group. -type GroupOptionsInput struct { - VisibleToAll bool `json:"visible_to_all,omitempty"` -} - -// GroupsInput entity contains information about groups that should be included into a group or that should be deleted from a group. -type GroupsInput struct { - OneGroup string `json:"_one_group,omitempty"` - Groups []string `json:"groups,omitempty"` -} - -// ListGroupsOptions specifies the different options for the ListGroups call. -// -// Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/rest-api-groups.html#list-groups -type ListGroupsOptions struct { - // Group Options - // Options fields can be obtained by adding o parameters, each option requires more lookups and slows down the query response time to the client so they are generally disabled by default. - // Optional fields are: - // INCLUDES: include list of directly included groups. - // MEMBERS: include list of direct group members. - Options []string `url:"o,omitempty"` - - // Check if a group is owned by the calling user - // By setting the option owned and specifying a group to inspect with the option q, it is possible to find out, if this group is owned by the calling user. - // If the group is owned by the calling user, the returned map contains this group. If the calling user doesn’t own this group an empty map is returned. - Owned string `url:"owned,omitempty"` - Group string `url:"q,omitempty"` - - // Group Limit - // The /groups/ URL also accepts a limit integer in the n parameter. This limits the results to show n groups. - Limit int `url:"n,omitempty"` - // The /groups/ URL also accepts a start integer in the S parameter. The results will skip S groups from group list. - Skip int `url:"S,omitempty"` -} - -// ListGroups lists the groups accessible by the caller. -// This is the same as using the ls-groups command over SSH, and accepts the same options as query parameters. -// The entries in the map are sorted by group name. -// -// Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/rest-api-groups.html#list-groups -func (s *GroupsService) ListGroups(opt *ListGroupsOptions) (*map[string]GroupInfo, *Response, error) { - u := "groups/" - - u, err := addOptions(u, opt) - if err != nil { - return nil, nil, err - } - - req, err := s.client.NewRequest("GET", u, nil) - if err != nil { - return nil, nil, err - } - - v := new(map[string]GroupInfo) - resp, err := s.client.Do(req, v) - if err != nil { - return nil, resp, err - } - - return v, resp, err -} - -// GetGroup retrieves a group. -// -// Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/rest-api-groups.html#get-group -func (s *GroupsService) GetGroup(groupID string) (*GroupInfo, *Response, error) { - u := fmt.Sprintf("groups/%s", groupID) - return s.getGroupInfoResponse(u) -} - -// GetGroupDetail retrieves a group with the direct members and the directly included groups. -// -// Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/rest-api-groups.html#get-group-detail -func (s *GroupsService) GetGroupDetail(groupID string) (*GroupInfo, *Response, error) { - u := fmt.Sprintf("groups/%s/detail", groupID) - return s.getGroupInfoResponse(u) -} - -// getGroupInfoResponse retrieved a single GroupInfo Response for a GET request -func (s *GroupsService) getGroupInfoResponse(u string) (*GroupInfo, *Response, error) { - req, err := s.client.NewRequest("GET", u, nil) - if err != nil { - return nil, nil, err - } - - v := new(GroupInfo) - resp, err := s.client.Do(req, v) - if err != nil { - return nil, resp, err - } - - return v, resp, err -} - -// GetGroupName retrieves the name of a group. -// -// Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/rest-api-groups.html#get-group-name -func (s *GroupsService) GetGroupName(groupID string) (string, *Response, error) { - u := fmt.Sprintf("groups/%s/name", groupID) - return getStringResponseWithoutOptions(s.client, u) -} - -// GetGroupDescription retrieves the description of a group. -// -// Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/rest-api-groups.html#get-group-description -func (s *GroupsService) GetGroupDescription(groupID string) (string, *Response, error) { - u := fmt.Sprintf("groups/%s/description", groupID) - return getStringResponseWithoutOptions(s.client, u) -} - -// GetGroupOptions retrieves the options of a group. -// -// Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/rest-api-groups.html#get-group-options -func (s *GroupsService) GetGroupOptions(groupID string) (*GroupOptionsInfo, *Response, error) { - u := fmt.Sprintf("groups/%s/options", groupID) - - req, err := s.client.NewRequest("GET", u, nil) - if err != nil { - return nil, nil, err - } - - v := new(GroupOptionsInfo) - resp, err := s.client.Do(req, v) - if err != nil { - return nil, resp, err - } - - return v, resp, err -} - -// GetGroupOwner retrieves the owner group of a Gerrit internal group. -// -// Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/rest-api-groups.html#get-group-owner -func (s *GroupsService) GetGroupOwner(groupID string) (*GroupInfo, *Response, error) { - u := fmt.Sprintf("groups/%s/owner", groupID) - - req, err := s.client.NewRequest("GET", u, nil) - if err != nil { - return nil, nil, err - } - - v := new(GroupInfo) - resp, err := s.client.Do(req, v) - if err != nil { - return nil, resp, err - } - - return v, resp, err -} - -// GetAuditLog gets the audit log of a Gerrit internal group. -// The returned audit events are sorted by date in reverse order so that the newest audit event comes first. -// -// Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/rest-api-groups.html#get-audit-log -func (s *GroupsService) GetAuditLog(groupID string) (*[]GroupAuditEventInfo, *Response, error) { - u := fmt.Sprintf("groups/%s/log.audit", groupID) - - req, err := s.client.NewRequest("GET", u, nil) - if err != nil { - return nil, nil, err - } - - v := new([]GroupAuditEventInfo) - resp, err := s.client.Do(req, v) - if err != nil { - return nil, resp, err - } - - return v, resp, err -} - -// CreateGroup creates a new Gerrit internal group. -// In the request body additional data for the group can be provided as GroupInput. -// -// As response the GroupInfo entity is returned that describes the created group. -// If the group creation fails because the name is already in use the response is “409 Conflict”. -// -// Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/rest-api-groups.html#create-group -func (s *GroupsService) CreateGroup(groupID string, input *GroupInput) (*GroupInfo, *Response, error) { - u := fmt.Sprintf("groups/%s", groupID) - - req, err := s.client.NewRequest("PUT", u, input) - if err != nil { - return nil, nil, err - } - - v := new(GroupInfo) - resp, err := s.client.Do(req, v) - if err != nil { - return nil, resp, err - } - - return v, resp, err -} - -// RenameGroup renames a Gerrit internal group. -// The new group name must be provided in the request body. -// -// As response the new group name is returned. -// If renaming the group fails because the new name is already in use the response is “409 Conflict”. -// -// Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/rest-api-groups.html#rename-group -func (s *GroupsService) RenameGroup(groupID, name string) (*string, *Response, error) { - u := fmt.Sprintf("groups/%s/name", groupID) - input := struct { - Name string `json:"name"` - }{ - Name: name, - } - - req, err := s.client.NewRequest("PUT", u, input) - if err != nil { - return nil, nil, err - } - - v := new(string) - resp, err := s.client.Do(req, v) - if err != nil { - return nil, resp, err - } - - return v, resp, err -} - -// SetGroupDescription sets the description of a Gerrit internal group. -// The new group description must be provided in the request body. -// -// As response the new group description is returned. -// If the description was deleted the response is “204 No Content”. -// -// Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/rest-api-groups.html#set-group-description -func (s *GroupsService) SetGroupDescription(groupID, description string) (*string, *Response, error) { - u := fmt.Sprintf("groups/%s/description", groupID) - input := struct { - Description string `json:"description"` - }{ - Description: description, - } - - req, err := s.client.NewRequest("PUT", u, input) - if err != nil { - return nil, nil, err - } - - v := new(string) - resp, err := s.client.Do(req, v) - if err != nil { - return nil, resp, err - } - - return v, resp, err -} - -// DeleteGroupDescription deletes the description of a Gerrit internal group. -// -// Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/rest-api-groups.html#delete-group-description -func (s *GroupsService) DeleteGroupDescription(groupID string) (*Response, error) { - u := fmt.Sprintf("groups/%s/description'", groupID) - return s.client.DeleteRequest(u, nil) -} - -// SetGroupOptions sets the options of a Gerrit internal group. -// The new group options must be provided in the request body as a GroupOptionsInput entity. -// -// As response the new group options are returned as a GroupOptionsInfo entity. -// -// Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/rest-api-groups.html#set-group-options -func (s *GroupsService) SetGroupOptions(groupID string, input *GroupOptionsInput) (*GroupOptionsInfo, *Response, error) { - u := fmt.Sprintf("groups/%s/options", groupID) - - req, err := s.client.NewRequest("PUT", u, input) - if err != nil { - return nil, nil, err - } - - v := new(GroupOptionsInfo) - resp, err := s.client.Do(req, v) - if err != nil { - return nil, resp, err - } - - return v, resp, err -} - -// SetGroupOwner sets the owner group of a Gerrit internal group. -// The new owner group must be provided in the request body. -// The new owner can be specified by name, by group UUID or by the legacy numeric group ID. -// -// Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/rest-api-groups.html#set-group-owner -func (s *GroupsService) SetGroupOwner(groupID, owner string) (*GroupInfo, *Response, error) { - u := fmt.Sprintf("groups/%s/owner", groupID) - input := struct { - Owner string `json:"owner"` - }{ - Owner: owner, - } - - req, err := s.client.NewRequest("PUT", u, input) - if err != nil { - return nil, nil, err - } - - v := new(GroupInfo) - resp, err := s.client.Do(req, v) - if err != nil { - return nil, resp, err - } - - return v, resp, err -} diff --git a/vendor/github.com/andygrunwald/go-gerrit/groups_include.go b/vendor/github.com/andygrunwald/go-gerrit/groups_include.go deleted file mode 100644 index e8f4afc4..00000000 --- a/vendor/github.com/andygrunwald/go-gerrit/groups_include.go +++ /dev/null @@ -1,117 +0,0 @@ -package gerrit - -import ( - "fmt" -) - -// ListIncludedGroups lists the directly included groups of a group. -// The entries in the list are sorted by group name and UUID. -// -// Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/rest-api-groups.html#included-groups -func (s *GroupsService) ListIncludedGroups(groupID string) (*[]GroupInfo, *Response, error) { - u := fmt.Sprintf("groups/%s/groups/", groupID) - - req, err := s.client.NewRequest("GET", u, nil) - if err != nil { - return nil, nil, err - } - - v := new([]GroupInfo) - resp, err := s.client.Do(req, v) - if err != nil { - return nil, resp, err - } - - return v, resp, err -} - -// GetIncludedGroup retrieves an included group. -// -// Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/rest-api-groups.html#get-included-group -func (s *GroupsService) GetIncludedGroup(groupID, includeGroupID string) (*GroupInfo, *Response, error) { - u := fmt.Sprintf("groups/%s/groups/%s", groupID, includeGroupID) - - req, err := s.client.NewRequest("GET", u, nil) - if err != nil { - return nil, nil, err - } - - v := new(GroupInfo) - resp, err := s.client.Do(req, v) - if err != nil { - return nil, resp, err - } - - return v, resp, err -} - -// IncludeGroup includes an internal or external group into a Gerrit internal group. -// External groups must be specified using the UUID. -// -// As response a GroupInfo entity is returned that describes the included group. -// The request also succeeds if the group is already included in this group, but then the HTTP response code is 200 OK. -// -// Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/rest-api-groups.html#include-group -func (s *GroupsService) IncludeGroup(groupID, includeGroupID string) (*GroupInfo, *Response, error) { - u := fmt.Sprintf("groups/%s/groups/%s", groupID, includeGroupID) - - req, err := s.client.NewRequest("PUT", u, nil) - if err != nil { - return nil, nil, err - } - - v := new(GroupInfo) - resp, err := s.client.Do(req, v) - if err != nil { - return nil, resp, err - } - - return v, resp, err -} - -// IncludeGroups includes one or several groups into a Gerrit internal group. -// The groups to be included into the group must be provided in the request body as a GroupsInput entity. -// -// As response a list of GroupInfo entities is returned that describes the groups that were specified in the GroupsInput. -// A GroupInfo entity is returned for each group specified in the input, independently of whether the group was newly included into the group or whether the group was already included in the group. -// -// Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/rest-api-groups.html#include-groups -func (s *GroupsService) IncludeGroups(groupID string, input *GroupsInput) (*[]GroupInfo, *Response, error) { - u := fmt.Sprintf("groups/%s/groups", groupID) - - req, err := s.client.NewRequest("POST", u, input) - if err != nil { - return nil, nil, err - } - - v := new([]GroupInfo) - resp, err := s.client.Do(req, v) - if err != nil { - return nil, resp, err - } - - return v, resp, err -} - -// DeleteIncludedGroup deletes an included group from a Gerrit internal group. -// -// Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/rest-api-groups.html#include-group -func (s *GroupsService) DeleteIncludedGroup(groupID, includeGroupID string) (*Response, error) { - u := fmt.Sprintf("groups/%s/groups/%s", groupID, includeGroupID) - return s.client.DeleteRequest(u, nil) -} - -// DeleteIncludedGroups delete one or several included groups from a Gerrit internal group. -// The groups to be deleted from the group must be provided in the request body as a GroupsInput entity. -// -// Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/rest-api-groups.html#delete-included-groups -func (s *GroupsService) DeleteIncludedGroups(groupID string, input *GroupsInput) (*Response, error) { - u := fmt.Sprintf("groups/%s/groups.delete", groupID) - - req, err := s.client.NewRequest("POST", u, input) - if err != nil { - return nil, err - } - - return s.client.Do(req, nil) -} diff --git a/vendor/github.com/andygrunwald/go-gerrit/groups_member.go b/vendor/github.com/andygrunwald/go-gerrit/groups_member.go deleted file mode 100644 index 45cdf381..00000000 --- a/vendor/github.com/andygrunwald/go-gerrit/groups_member.go +++ /dev/null @@ -1,133 +0,0 @@ -package gerrit - -import ( - "fmt" -) - -// ListGroupMembersOptions specifies the different options for the ListGroupMembers call. -// -// Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/rest-api-groups.html#group-members -type ListGroupMembersOptions struct { - // To resolve the included groups of a group recursively and to list all members the parameter recursive can be set. - // Members from included external groups and from included groups which are not visible to the calling user are ignored. - Recursive bool `url:"recursive,omitempty"` -} - -// MembersInput entity contains information about accounts that should be added as members to a group or that should be deleted from the group -type MembersInput struct { - OneMember string `json:"_one_member,omitempty"` - Members []string `json:"members,omitempty"` -} - -// ListGroupMembers lists the direct members of a Gerrit internal group. -// The entries in the list are sorted by full name, preferred email and id. -// -// Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/rest-api-groups.html#group-members -func (s *GroupsService) ListGroupMembers(groupID string, opt *ListGroupMembersOptions) (*[]AccountInfo, *Response, error) { - u := fmt.Sprintf("groups/%s/members/", groupID) - - u, err := addOptions(u, opt) - if err != nil { - return nil, nil, err - } - - req, err := s.client.NewRequest("GET", u, nil) - if err != nil { - return nil, nil, err - } - - v := new([]AccountInfo) - resp, err := s.client.Do(req, v) - if err != nil { - return nil, resp, err - } - - return v, resp, err -} - -// GetGroupMember retrieves a group member. -// -// Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/rest-api-groups.html#get-group-member -func (s *GroupsService) GetGroupMember(groupID, accountID string) (*AccountInfo, *Response, error) { - u := fmt.Sprintf("groups/%s/members/%s", groupID, accountID) - - req, err := s.client.NewRequest("GET", u, nil) - if err != nil { - return nil, nil, err - } - - v := new(AccountInfo) - resp, err := s.client.Do(req, v) - if err != nil { - return nil, resp, err - } - - return v, resp, err -} - -// AddGroupMember adds a user as member to a Gerrit internal group. -// -// Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/rest-api-groups.html#add-group-member -func (s *GroupsService) AddGroupMember(groupID, accountID string) (*AccountInfo, *Response, error) { - u := fmt.Sprintf("groups/%s/members/%s", groupID, accountID) - - req, err := s.client.NewRequest("PUT", u, nil) - if err != nil { - return nil, nil, err - } - - v := new(AccountInfo) - resp, err := s.client.Do(req, v) - if err != nil { - return nil, resp, err - } - - return v, resp, err -} - -// AddGroupMembers adds one or several users to a Gerrit internal group. -// The users to be added to the group must be provided in the request body as a MembersInput entity. -// -// As response a list of detailed AccountInfo entities is returned that describes the group members that were specified in the MembersInput. -// An AccountInfo entity is returned for each user specified in the input, independently of whether the user was newly added to the group or whether the user was already a member of the group. -// -// Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/rest-api-groups.html#_add_group_members -func (s *GroupsService) AddGroupMembers(groupID string, input *MembersInput) (*[]AccountInfo, *Response, error) { - u := fmt.Sprintf("groups/%s/members", groupID) - - req, err := s.client.NewRequest("POST", u, input) - if err != nil { - return nil, nil, err - } - - v := new([]AccountInfo) - resp, err := s.client.Do(req, v) - if err != nil { - return nil, resp, err - } - - return v, resp, err -} - -// DeleteGroupMember deletes a user from a Gerrit internal group. -// -// Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/rest-api-groups.html#delete-group-member -func (s *GroupsService) DeleteGroupMember(groupID, accountID string) (*Response, error) { - u := fmt.Sprintf("groups/%s/members/%s'", groupID, accountID) - return s.client.DeleteRequest(u, nil) -} - -// DeleteGroupMembers delete one or several users from a Gerrit internal group. -// The users to be deleted from the group must be provided in the request body as a MembersInput entity. -// -// Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/rest-api-groups.html#delete-group-members -func (s *GroupsService) DeleteGroupMembers(groupID string, input *MembersInput) (*Response, error) { - u := fmt.Sprintf("groups/%s/members.delete'", groupID) - - req, err := s.client.NewRequest("POST", u, input) - if err != nil { - return nil, err - } - - return s.client.Do(req, nil) -} diff --git a/vendor/github.com/andygrunwald/go-gerrit/plugins.go b/vendor/github.com/andygrunwald/go-gerrit/plugins.go deleted file mode 100644 index c4460140..00000000 --- a/vendor/github.com/andygrunwald/go-gerrit/plugins.go +++ /dev/null @@ -1,131 +0,0 @@ -package gerrit - -import ( - "fmt" -) - -// PluginsService contains Plugin related REST endpoints -// -// Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/rest-api-plugins.html -type PluginsService struct { - client *Client -} - -// PluginInfo entity describes a plugin. -type PluginInfo struct { - ID string `json:"id"` - Version string `json:"version"` - IndexURL string `json:"index_url,omitempty"` - Disabled bool `json:"disabled,omitempty"` -} - -// PluginInput entity describes a plugin that should be installed. -type PluginInput struct { - URL string `json:"url"` -} - -// PluginOptions specifies the different options for the ListPlugins call. -// -// Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/rest-api-plugins.html#list-plugins -type PluginOptions struct { - // All enabled that all plugins are returned (enabled and disabled). - All bool `url:"all,omitempty"` -} - -// ListPlugins lists the plugins installed on the Gerrit server. -// Only the enabled plugins are returned unless the all option is specified. -// -// To be allowed to see the installed plugins, a user must be a member of a group that is granted the 'View Plugins' capability or the 'Administrate Server' capability. -// The entries in the map are sorted by plugin ID. -// -// Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/rest-api-plugins.html#list-plugins -func (s *PluginsService) ListPlugins(opt *PluginOptions) (*map[string]PluginInfo, *Response, error) { - u := "plugins/" - - u, err := addOptions(u, opt) - if err != nil { - return nil, nil, err - } - - req, err := s.client.NewRequest("GET", u, nil) - if err != nil { - return nil, nil, err - } - - v := new(map[string]PluginInfo) - resp, err := s.client.Do(req, v) - if err != nil { - return nil, resp, err - } - - return v, resp, err -} - -// GetPluginStatus retrieves the status of a plugin on the Gerrit server. -// -// Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/rest-api-plugins.html#get-plugin-status -func (s *PluginsService) GetPluginStatus(pluginID string) (*PluginInfo, *Response, error) { - u := fmt.Sprintf("plugins/%s/gerrit~status", pluginID) - return s.requestWithPluginInfoResponse("GET", u, nil) -} - -// InstallPlugin installs a new plugin on the Gerrit server. -// If a plugin with the specified name already exists it is overwritten. -// -// Note: if the plugin provides its own name in the MANIFEST file, then the plugin name from the MANIFEST file has precedence over the {plugin-id} above. -// -// The plugin jar can either be sent as binary data in the request body or a URL to the plugin jar must be provided in the request body inside a PluginInput entity. -// -// As response a PluginInfo entity is returned that describes the plugin. -// If an existing plugin was overwritten the response is “200 OK”. -// -// Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/rest-api-projects.html#set-dashboard -func (s *PluginsService) InstallPlugin(pluginID string, input *PluginInput) (*PluginInfo, *Response, error) { - u := fmt.Sprintf("plugins/%s", pluginID) - return s.requestWithPluginInfoResponse("PUT", u, input) -} - -// EnablePlugin enables a plugin on the Gerrit server. -// -// As response a PluginInfo entity is returned that describes the plugin. -// -// Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/rest-api-plugins.html#enable-plugin -func (s *PluginsService) EnablePlugin(pluginID string) (*PluginInfo, *Response, error) { - u := fmt.Sprintf("plugins/%s/gerrit~enable", pluginID) - return s.requestWithPluginInfoResponse("POST", u, nil) -} - -// DisablePlugin disables a plugin on the Gerrit server. -// -// As response a PluginInfo entity is returned that describes the plugin. -// -// Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/rest-api-plugins.html#disable-plugin -func (s *PluginsService) DisablePlugin(pluginID string) (*PluginInfo, *Response, error) { - u := fmt.Sprintf("plugins/%s/gerrit~disable", pluginID) - return s.requestWithPluginInfoResponse("POST", u, nil) -} - -// ReloadPlugin reloads a plugin on the Gerrit server. -// -// As response a PluginInfo entity is returned that describes the plugin. -// -// Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/rest-api-plugins.html#disable-plugin -func (s *PluginsService) ReloadPlugin(pluginID string) (*PluginInfo, *Response, error) { - u := fmt.Sprintf("plugins/%s/gerrit~reload", pluginID) - return s.requestWithPluginInfoResponse("POST", u, nil) -} - -func (s *PluginsService) requestWithPluginInfoResponse(method, u string, input interface{}) (*PluginInfo, *Response, error) { - req, err := s.client.NewRequest(method, u, input) - if err != nil { - return nil, nil, err - } - - v := new(PluginInfo) - resp, err := s.client.Do(req, v) - if err != nil { - return nil, resp, err - } - - return v, resp, err -} diff --git a/vendor/github.com/andygrunwald/go-gerrit/projects.go b/vendor/github.com/andygrunwald/go-gerrit/projects.go deleted file mode 100644 index 5695c6b9..00000000 --- a/vendor/github.com/andygrunwald/go-gerrit/projects.go +++ /dev/null @@ -1,465 +0,0 @@ -package gerrit - -import ( - "fmt" - "net/url" -) - -// ProjectsService contains Project related REST endpoints -// -// Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/rest-api-projects.html -type ProjectsService struct { - client *Client -} - -// ProjectInfo entity contains information about a project. -// -// Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/rest-api-projects.html#project-info -type ProjectInfo struct { - ID string `json:"id"` - Name string `json:"name"` - Parent string `json:"parent,omitempty"` - Description string `json:"description,omitempty"` - State string `json:"state,omitempty"` - Branches map[string]string `json:"branches,omitempty"` - WebLinks []WebLinkInfo `json:"web_links,omitempty"` -} - -// ProjectInput entity contains information for the creation of a new project. -type ProjectInput struct { - Name string `json:"name,omitempty"` - Parent string `json:"parent,omitempty"` - Description string `json:"description,omitempty"` - PermissionsOnly bool `json:"permissions_only"` - CreateEmptyCommit bool `json:"create_empty_commit"` - SubmitType string `json:"submit_type,omitempty"` - Branches []string `json:"branches,omitempty"` - Owners []string `json:"owners,omitempty"` - UseContributorAgreements string `json:"use_contributor_agreements"` - UseSignedOffBy string `json:"use_signed_off_by"` - CreateNewChangeForAllNotInTarget string `json:"create_new_change_for_all_not_in_target"` - UseContentMerge string `json:"use_content_merge"` - RequireChangeID string `json:"require_change_id"` - MaxObjectSizeLimit string `json:"max_object_size_limit,omitempty"` - PluginConfigValues map[string]map[string]string `json:"plugin_config_values,omitempty"` -} - -// GCInput entity contains information to run the Git garbage collection. -type GCInput struct { - ShowProgress bool `json:"show_progress"` - Aggressive bool `json:"aggressive"` -} - -// HeadInput entity contains information for setting HEAD for a project. -type HeadInput struct { - Ref string `json:"ref"` -} - -// BanInput entity contains information for banning commits in a project. -type BanInput struct { - Commits []string `json:"commits"` - Reason string `json:"reason,omitempty"` -} - -// BanResultInfo entity describes the result of banning commits. -type BanResultInfo struct { - NewlyBanned []string `json:"newly_banned,omitempty"` - AlreadyBanned []string `json:"already_banned,omitempty"` - Ignored []string `json:"ignored,omitempty"` -} - -// ThemeInfo entity describes a theme. -type ThemeInfo struct { - CSS string `type:"css,omitempty"` - Header string `type:"header,omitempty"` - Footer string `type:"footer,omitempty"` -} - -// ReflogEntryInfo entity describes an entry in a reflog. -type ReflogEntryInfo struct { - OldID string `json:"old_id"` - NewID string `json:"new_id"` - Who GitPersonInfo `json:"who"` - Comment string `json:"comment"` -} - -// ProjectParentInput entity contains information for setting a project parent. -type ProjectParentInput struct { - Parent string `json:"parent"` - CommitMessage string `json:"commit_message,omitempty"` -} - -// RepositoryStatisticsInfo entity contains information about statistics of a Git repository. -type RepositoryStatisticsInfo struct { - NumberOfLooseObjects int `json:"number_of_loose_objects"` - NumberOfLooseRefs int `json:"number_of_loose_refs"` - NumberOfPackFiles int `json:"number_of_pack_files"` - NumberOfPackedObjects int `json:"number_of_packed_objects"` - NumberOfPackedRefs int `json:"number_of_packed_refs"` - SizeOfLooseObjects int `json:"size_of_loose_objects"` - SizeOfPackedObjects int `json:"size_of_packed_objects"` -} - -// InheritedBooleanInfo entity represents a boolean value that can also be inherited. -type InheritedBooleanInfo struct { - Value bool `json:"value"` - ConfiguredValue string `json:"configured_value"` - InheritedValue bool `json:"inherited_value,omitempty"` -} - -// MaxObjectSizeLimitInfo entity contains information about the max object size limit of a project. -type MaxObjectSizeLimitInfo struct { - Value string `json:"value,omitempty"` - ConfiguredValue string `json:"configured_value,omitempty"` - InheritedValue string `json:"inherited_value,omitempty"` -} - -// ConfigParameterInfo entity describes a project configuration parameter. -type ConfigParameterInfo struct { - DisplayName string `json:"display_name,omitempty"` - Description string `json:"description,omitempty"` - Warning string `json:"warning,omitempty"` - Type string `json:"type"` - Value string `json:"value,omitempty"` - Values []string `json:"values,omitempty"` - // TODO: 5 fields are missing here, because the documentation seems to be fucked up - // See https://gerrit-review.googlesource.com/Documentation/rest-api-projects.html#config-parameter-info -} - -// ProjectDescriptionInput entity contains information for setting a project description. -type ProjectDescriptionInput struct { - Description string `json:"description,omitempty"` - CommitMessage string `json:"commit_message,omitempty"` -} - -// ConfigInfo entity contains information about the effective project configuration. -type ConfigInfo struct { - Description string `json:"description,omitempty"` - UseContributorAgreements InheritedBooleanInfo `json:"use_contributor_agreements,omitempty"` - UseContentMerge InheritedBooleanInfo `json:"use_content_merge,omitempty"` - UseSignedOffBy InheritedBooleanInfo `json:"use_signed_off_by,omitempty"` - CreateNewChangeForAllNotInTarget InheritedBooleanInfo `json:"create_new_change_for_all_not_in_target,omitempty"` - RequireChangeID InheritedBooleanInfo `json:"require_change_id,omitempty"` - EnableSignedPush InheritedBooleanInfo `json:"enable_signed_push,omitempty"` - MaxObjectSizeLimit MaxObjectSizeLimitInfo `json:"max_object_size_limit"` - SubmitType string `json:"submit_type"` - State string `json:"state,omitempty"` - Commentlinks map[string]string `json:"commentlinks"` - Theme ThemeInfo `json:"theme,omitempty"` - PluginConfig map[string]ConfigParameterInfo `json:"plugin_config,omitempty"` - Actions map[string]ActionInfo `json:"actions,omitempty"` -} - -// ConfigInput entity describes a new project configuration. -type ConfigInput struct { - Description string `json:"description,omitempty"` - UseContributorAgreements string `json:"use_contributor_agreements,omitempty"` - UseContentMerge string `json:"use_content_merge,omitempty"` - UseSignedOffBy string `json:"use_signed_off_by,omitempty"` - CreateNewChangeForAllNotInTarget string `json:"create_new_change_for_all_not_in_target,omitempty"` - RequireChangeID string `json:"require_change_id,omitempty"` - MaxObjectSizeLimit MaxObjectSizeLimitInfo `json:"max_object_size_limit,omitempty"` - SubmitType string `json:"submit_type,omitempty"` - State string `json:"state,omitempty"` - PluginConfigValues map[string]map[string]string `json:"plugin_config_values,omitempty"` -} - -// ProjectBaseOptions specifies the really basic options for projects -// and sub functionality (e.g. Tags) -type ProjectBaseOptions struct { - // Limit the number of projects to be included in the results. - Limit int `url:"n,omitempty"` - - // Skip the given number of branches from the beginning of the list. - Skip string `url:"s,omitempty"` -} - -// ProjectOptions specifies the parameters to the ProjectsService.ListProjects. -type ProjectOptions struct { - ProjectBaseOptions - - // Limit the results to the projects having the specified branch and include the sha1 of the branch in the results. - Branch string `url:"b,omitempty"` - - // Include project description in the results. - Description bool `url:"d,omitempty"` - - // Limit the results to those projects that start with the specified prefix. - Prefix string `url:"p,omitempty"` - - // Limit the results to those projects that match the specified regex. - // Boundary matchers '^' and '$' are implicit. - // For example: the regex 'test.*' will match any projects that start with 'test' and regex '.*test' will match any project that end with 'test'. - Regex string `url:"r,omitempty"` - - // Skip the given number of projects from the beginning of the list. - Skip string `url:"S,omitempty"` - - // Limit the results to those projects that match the specified substring. - Substring string `url:"m,omitempty"` - - // Get projects inheritance in a tree-like format. - // This option does not work together with the branch option. - Tree bool `url:"t,omitempty"` - - // Get projects with specified type: ALL, CODE, PERMISSIONS. - Type string `url:"type,omitempty"` -} - -// ListProjects lists the projects accessible by the caller. -// This is the same as using the ls-projects command over SSH, and accepts the same options as query parameters. -// The entries in the map are sorted by project name. -// -// Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/rest-api-projects.html#list-projects -func (s *ProjectsService) ListProjects(opt *ProjectOptions) (*map[string]ProjectInfo, *Response, error) { - u := "projects/" - - u, err := addOptions(u, opt) - if err != nil { - return nil, nil, err - } - - v := new(map[string]ProjectInfo) - resp, err := s.client.Call("GET", u, nil, v) - return v, resp, err -} - -// GetProject retrieves a project. -// -// Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/rest-api-projects.html#get-project -func (s *ProjectsService) GetProject(projectName string) (*ProjectInfo, *Response, error) { - u := fmt.Sprintf("projects/%s", url.QueryEscape(projectName)) - - v := new(ProjectInfo) - resp, err := s.client.Call("GET", u, nil, v) - return v, resp, err -} - -// CreateProject creates a new project. -// -// Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/rest-api-projects.html#create-project -func (s *ProjectsService) CreateProject(projectName string, input *ProjectInput) (*ProjectInfo, *Response, error) { - u := fmt.Sprintf("projects/%s/", url.QueryEscape(projectName)) - - v := new(ProjectInfo) - resp, err := s.client.Call("PUT", u, input, v) - return v, resp, err -} - -// GetProjectDescription retrieves the description of a project. -// -// Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/rest-api-projects.html#get-project-description -func (s *ProjectsService) GetProjectDescription(projectName string) (string, *Response, error) { - u := fmt.Sprintf("projects/%s/description", url.QueryEscape(projectName)) - - return getStringResponseWithoutOptions(s.client, u) -} - -// GetProjectParent retrieves the name of a project’s parent project. -// For the All-Projects root project an empty string is returned. -// -// Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/rest-api-projects.html#get-project-parent -func (s *ProjectsService) GetProjectParent(projectName string) (string, *Response, error) { - u := fmt.Sprintf("projects/%s/parent", url.QueryEscape(projectName)) - return getStringResponseWithoutOptions(s.client, u) -} - -// GetHEAD retrieves for a project the name of the branch to which HEAD points. -// -// Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/rest-api-projects.html#get-head -func (s *ProjectsService) GetHEAD(projectName string) (string, *Response, error) { - u := fmt.Sprintf("projects/%s/HEAD", url.QueryEscape(projectName)) - return getStringResponseWithoutOptions(s.client, u) -} - -// GetRepositoryStatistics return statistics for the repository of a project. -// -// Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/rest-api-projects.html#get-repository-statistics -func (s *ProjectsService) GetRepositoryStatistics(projectName string) (*RepositoryStatisticsInfo, *Response, error) { - u := fmt.Sprintf("projects/%s/statistics.git", url.QueryEscape(projectName)) - - req, err := s.client.NewRequest("GET", u, nil) - if err != nil { - return nil, nil, err - } - - v := new(RepositoryStatisticsInfo) - resp, err := s.client.Do(req, v) - if err != nil { - return nil, resp, err - } - - return v, resp, err -} - -// GetConfig gets some configuration information about a project. -// Note that this config info is not simply the contents of project.config; -// it generally contains fields that may have been inherited from parent projects. -// -// Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/rest-api-projects.html#get-config -func (s *ProjectsService) GetConfig(projectName string) (*ConfigInfo, *Response, error) { - u := fmt.Sprintf("projects/%s/config'", url.QueryEscape(projectName)) - - req, err := s.client.NewRequest("GET", u, nil) - if err != nil { - return nil, nil, err - } - - v := new(ConfigInfo) - resp, err := s.client.Do(req, v) - if err != nil { - return nil, resp, err - } - - return v, resp, err -} - -// SetProjectDescription sets the description of a project. -// The new project description must be provided in the request body inside a ProjectDescriptionInput entity. -// -// Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/rest-api-projects.html#set-project-description -func (s *ProjectsService) SetProjectDescription(projectName string, input *ProjectDescriptionInput) (*string, *Response, error) { - u := fmt.Sprintf("projects/%s/description'", url.QueryEscape(projectName)) - - // TODO Use here the getStringResponseWithoutOptions (for PUT requests) - - req, err := s.client.NewRequest("PUT", u, input) - if err != nil { - return nil, nil, err - } - - v := new(string) - resp, err := s.client.Do(req, v) - if err != nil { - return nil, resp, err - } - - return v, resp, err -} - -// DeleteProjectDescription deletes the description of a project. -// The request body does not need to include a ProjectDescriptionInput entity if no commit message is specified. -// -// Please note that some proxies prohibit request bodies for DELETE requests. -// In this case, if you want to specify a commit message, use PUT to delete the description. -// -// Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/rest-api-projects.html#delete-project-description -func (s *ProjectsService) DeleteProjectDescription(projectName string) (*Response, error) { - u := fmt.Sprintf("projects/%s/description'", url.QueryEscape(projectName)) - return s.client.DeleteRequest(u, nil) -} - -// BanCommit marks commits as banned for the project. -// If a commit is banned Gerrit rejects every push that includes this commit with contains banned commit ... -// -// Note: -// This REST endpoint only marks the commits as banned, but it does not remove the commits from the history of any central branch. -// This needs to be done manually. -// The commits to be banned must be specified in the request body as a BanInput entity. -// -// The caller must be project owner. -// -// Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/rest-api-projects.html#ban-commit -func (s *ProjectsService) BanCommit(projectName string, input *BanInput) (*BanResultInfo, *Response, error) { - u := fmt.Sprintf("projects/%s/ban'", url.QueryEscape(projectName)) - - req, err := s.client.NewRequest("PUT", u, input) - if err != nil { - return nil, nil, err - } - - v := new(BanResultInfo) - resp, err := s.client.Do(req, v) - if err != nil { - return nil, resp, err - } - - return v, resp, err -} - -// SetConfig sets the configuration of a project. -// The new configuration must be provided in the request body as a ConfigInput entity. -// -// Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/rest-api-projects.html#set-config -func (s *ProjectsService) SetConfig(projectName string, input *ConfigInput) (*ConfigInfo, *Response, error) { - u := fmt.Sprintf("projects/%s/config'", url.QueryEscape(projectName)) - - req, err := s.client.NewRequest("PUT", u, input) - if err != nil { - return nil, nil, err - } - - v := new(ConfigInfo) - resp, err := s.client.Do(req, v) - if err != nil { - return nil, resp, err - } - - return v, resp, err -} - -// SetHEAD sets HEAD for a project. -// The new ref to which HEAD should point must be provided in the request body inside a HeadInput entity. -// -// Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/rest-api-projects.html#set-head -func (s *ProjectsService) SetHEAD(projectName string, input *HeadInput) (*string, *Response, error) { - u := fmt.Sprintf("projects/%s/HEAD'", url.QueryEscape(projectName)) - - // TODO Use here the getStringResponseWithoutOptions (for PUT requests) - - req, err := s.client.NewRequest("PUT", u, input) - if err != nil { - return nil, nil, err - } - - v := new(string) - resp, err := s.client.Do(req, v) - if err != nil { - return nil, resp, err - } - - return v, resp, err -} - -// SetProjectParent sets the parent project for a project. -// The new name of the parent project must be provided in the request body inside a ProjectParentInput entity. -// -// Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/rest-api-projects.html#set-project-parent -func (s *ProjectsService) SetProjectParent(projectName string, input *ProjectParentInput) (*string, *Response, error) { - u := fmt.Sprintf("projects/%s/parent'", url.QueryEscape(projectName)) - - // TODO Use here the getStringResponseWithoutOptions (for PUT requests) - - req, err := s.client.NewRequest("PUT", u, input) - if err != nil { - return nil, nil, err - } - - v := new(string) - resp, err := s.client.Do(req, v) - if err != nil { - return nil, resp, err - } - - return v, resp, err -} - -// RunGC runs the Git garbage collection for the repository of a project. -// The response is the streamed output of the garbage collection. -// -// Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/rest-api-projects.html#run-gc -func (s *ProjectsService) RunGC(projectName string, input *GCInput) (*Response, error) { - u := fmt.Sprintf("projects/%s/gc'", url.QueryEscape(projectName)) - - req, err := s.client.NewRequest("POST", u, input) - if err != nil { - return nil, err - } - - resp, err := s.client.Do(req, nil) - if err != nil { - return resp, err - } - - return resp, err -} diff --git a/vendor/github.com/andygrunwald/go-gerrit/projects_branch.go b/vendor/github.com/andygrunwald/go-gerrit/projects_branch.go deleted file mode 100644 index 285f20fc..00000000 --- a/vendor/github.com/andygrunwald/go-gerrit/projects_branch.go +++ /dev/null @@ -1,157 +0,0 @@ -package gerrit - -import ( - "fmt" - "net/url" -) - -// BranchInfo entity contains information about a branch. -type BranchInfo struct { - Ref string `json:"ref"` - Revision string `json:"revision"` - CanDelete bool `json:"can_delete"` - WebLinks []WebLinkInfo `json:"web_links,omitempty"` -} - -// BranchInput entity contains information for the creation of a new branch. -type BranchInput struct { - Ref string `json:"ref,omitempty"` - Revision string `json:"revision,omitempty"` -} - -// DeleteBranchesInput entity contains information about branches that should be deleted. -type DeleteBranchesInput struct { - Branches []string `json:"DeleteBranchesInput"` -} - -// BranchOptions specifies the parameters to the branch API endpoints. -// -// Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/rest-api-projects.html#branch-options -type BranchOptions struct { - // Limit the number of branches to be included in the results. - Limit int `url:"n,omitempty"` - - // Skip the given number of branches from the beginning of the list. - Skip string `url:"s,omitempty"` - - // Substring limits the results to those projects that match the specified substring. - Substring string `url:"m,omitempty"` - - // Limit the results to those branches that match the specified regex. - // Boundary matchers '^' and '$' are implicit. - // For example: the regex 't*' will match any branches that start with 'test' and regex '*t' will match any branches that end with 'test'. - Regex string `url:"r,omitempty"` -} - -// ListBranches list the branches of a project. -// -// Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/rest-api-projects.html#list-branches -func (s *ProjectsService) ListBranches(projectName string, opt *BranchOptions) (*[]BranchInfo, *Response, error) { - u := fmt.Sprintf("projects/%s/branches/", url.QueryEscape(projectName)) - - u, err := addOptions(u, opt) - if err != nil { - return nil, nil, err - } - - req, err := s.client.NewRequest("GET", u, nil) - if err != nil { - return nil, nil, err - } - - v := new([]BranchInfo) - resp, err := s.client.Do(req, v) - if err != nil { - return nil, resp, err - } - - return v, resp, err -} - -// GetBranch retrieves a branch of a project. -// -// Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/rest-api-projects.html#get-branch -func (s *ProjectsService) GetBranch(projectName, branchID string) (*BranchInfo, *Response, error) { - u := fmt.Sprintf("projects/%s/branches/%s", url.QueryEscape(projectName), url.QueryEscape(branchID)) - - req, err := s.client.NewRequest("GET", u, nil) - if err != nil { - return nil, nil, err - } - - v := new(BranchInfo) - resp, err := s.client.Do(req, v) - if err != nil { - return nil, resp, err - } - - return v, resp, err -} - -// GetReflog gets the reflog of a certain branch. -// The caller must be project owner. -// -// Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/rest-api-projects.html#get-reflog -func (s *ProjectsService) GetReflog(projectName, branchID string) (*[]ReflogEntryInfo, *Response, error) { - u := fmt.Sprintf("projects/%s/branches/%s/reflog", url.QueryEscape(projectName), url.QueryEscape(branchID)) - - req, err := s.client.NewRequest("GET", u, nil) - if err != nil { - return nil, nil, err - } - - v := new([]ReflogEntryInfo) - resp, err := s.client.Do(req, v) - if err != nil { - return nil, resp, err - } - - return v, resp, err -} - -// CreateBranch creates a new branch. -// In the request body additional data for the branch can be provided as BranchInput. -// -// Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/rest-api-projects.html#create-branch -func (s *ProjectsService) CreateBranch(projectName, branchID string, input *BranchInput) (*BranchInfo, *Response, error) { - u := fmt.Sprintf("projects/%s/branches/%s", url.QueryEscape(projectName), url.QueryEscape(branchID)) - - req, err := s.client.NewRequest("PUT", u, input) - if err != nil { - return nil, nil, err - } - - v := new(BranchInfo) - resp, err := s.client.Do(req, v) - if err != nil { - return nil, resp, err - } - - return v, resp, err -} - -// DeleteBranch deletes a branch. -// -// Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/rest-api-projects.html#delete-branch -func (s *ProjectsService) DeleteBranch(projectName, branchID string) (*Response, error) { - u := fmt.Sprintf("projects/%s/branches/%s", url.QueryEscape(projectName), url.QueryEscape(branchID)) - return s.client.DeleteRequest(u, nil) -} - -// DeleteBranches delete one or more branches. -// If some branches could not be deleted, the response is “409 Conflict” and the error message is contained in the response body. -// -// Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/rest-api-projects.html#delete-branches -func (s *ProjectsService) DeleteBranches(projectName string, input *DeleteBranchesInput) (*Response, error) { - u := fmt.Sprintf("projects/%s/branches:delete", url.QueryEscape(projectName)) - return s.client.DeleteRequest(u, input) -} - -// GetBranchContent gets the content of a file from the HEAD revision of a certain branch. -// The content is returned as base64 encoded string. -// -// Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/rest-api-projects.html#get-content -func (s *ProjectsService) GetBranchContent(projectName, branchID, fileID string) (string, *Response, error) { - u := fmt.Sprintf("projects/%s/branches/%s/files/%s/content", url.QueryEscape(projectName), url.QueryEscape(branchID), fileID) - return getStringResponseWithoutOptions(s.client, u) -} diff --git a/vendor/github.com/andygrunwald/go-gerrit/projects_childproject.go b/vendor/github.com/andygrunwald/go-gerrit/projects_childproject.go deleted file mode 100644 index ef0e100b..00000000 --- a/vendor/github.com/andygrunwald/go-gerrit/projects_childproject.go +++ /dev/null @@ -1,66 +0,0 @@ -package gerrit - -import ( - "fmt" - "net/url" -) - -// ChildProjectOptions specifies the parameters to the Child Project API endpoints. -// -// Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/rest-api-projects.html#list-child-projects -type ChildProjectOptions struct { - // Recursive resolve the child projects of a project recursively. - // Child projects that are not visible to the calling user are ignored and are not resolved further. - Recursive int `url:"recursive,omitempty"` -} - -// ListChildProjects lists the direct child projects of a project. -// -// Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/rest-api-projects.html#list-child-projects -func (s *ProjectsService) ListChildProjects(projectName string, opt *ChildProjectOptions) (*[]ProjectInfo, *Response, error) { - u := fmt.Sprintf("projects/%s/children/", url.QueryEscape(projectName)) - - u, err := addOptions(u, opt) - if err != nil { - return nil, nil, err - } - - req, err := s.client.NewRequest("GET", u, nil) - if err != nil { - return nil, nil, err - } - - v := new([]ProjectInfo) - resp, err := s.client.Do(req, v) - if err != nil { - return nil, resp, err - } - - return v, resp, err -} - -// GetChildProject retrieves a child project. -// If a non-direct child project should be retrieved the parameter recursive must be set. -// -// Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/rest-api-projects.html#get-child-project -func (s *ProjectsService) GetChildProject(projectName, childProjectName string, opt *ChildProjectOptions) (*ProjectInfo, *Response, error) { - u := fmt.Sprintf("projects/%s/children/%s", url.QueryEscape(projectName), url.QueryEscape(childProjectName)) - - u, err := addOptions(u, opt) - if err != nil { - return nil, nil, err - } - - req, err := s.client.NewRequest("GET", u, nil) - if err != nil { - return nil, nil, err - } - - v := new(ProjectInfo) - resp, err := s.client.Do(req, v) - if err != nil { - return nil, resp, err - } - - return v, resp, err -} diff --git a/vendor/github.com/andygrunwald/go-gerrit/projects_commit.go b/vendor/github.com/andygrunwald/go-gerrit/projects_commit.go deleted file mode 100644 index d4bb9425..00000000 --- a/vendor/github.com/andygrunwald/go-gerrit/projects_commit.go +++ /dev/null @@ -1,36 +0,0 @@ -package gerrit - -import ( - "fmt" - "net/url" -) - -// GetCommit retrieves a commit of a project. -// The commit must be visible to the caller. -// -// Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/rest-api-projects.html#get-commit -func (s *ProjectsService) GetCommit(projectName, commitID string) (*CommitInfo, *Response, error) { - u := fmt.Sprintf("projects/%s/commits/%s", url.QueryEscape(projectName), commitID) - - req, err := s.client.NewRequest("GET", u, nil) - if err != nil { - return nil, nil, err - } - - v := new(CommitInfo) - resp, err := s.client.Do(req, v) - if err != nil { - return nil, resp, err - } - - return v, resp, err -} - -// GetCommitContent gets the content of a file from a certain commit. -// The content is returned as base64 encoded string. -// -// Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/rest-api-projects.html##get-content-from-commit -func (s *ProjectsService) GetCommitContent(projectName, commitID, fileID string) (string, *Response, error) { - u := fmt.Sprintf("projects/%s/commits/%s/files/%s/content", url.QueryEscape(projectName), commitID, fileID) - return getStringResponseWithoutOptions(s.client, u) -} diff --git a/vendor/github.com/andygrunwald/go-gerrit/projects_dashboard.go b/vendor/github.com/andygrunwald/go-gerrit/projects_dashboard.go deleted file mode 100644 index 07c38b58..00000000 --- a/vendor/github.com/andygrunwald/go-gerrit/projects_dashboard.go +++ /dev/null @@ -1,108 +0,0 @@ -package gerrit - -import ( - "fmt" - "net/url" -) - -// DashboardSectionInfo entity contains information about a section in a dashboard. -type DashboardSectionInfo struct { - Name string `json:"name"` - Query string `json:"query"` -} - -// DashboardInput entity contains information to create/update a project dashboard. -type DashboardInput struct { - ID string `json:"id,omitempty"` - CommitMessage string `json:"commit_message,omitempty"` -} - -// DashboardInfo entity contains information about a project dashboard. -type DashboardInfo struct { - ID string `json:"id"` - Project string `json:"project"` - DefiningProject string `json:"defining_project"` - Ref string `json:"ref"` - Path string `json:"path"` - Description string `json:"description,omitempty"` - Foreach string `json:"foreach,omitempty"` - URL string `json:"url"` - Default bool `json:"default"` - Title string `json:"title,omitempty"` - Sections []DashboardSectionInfo `json:"sections"` -} - -// ListDashboards list custom dashboards for a project. -// -// Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/rest-api-projects.html#list-dashboards -func (s *ProjectsService) ListDashboards(projectName string) (*[]DashboardInfo, *Response, error) { - u := fmt.Sprintf("projects/%s/dashboards/", url.QueryEscape(projectName)) - - req, err := s.client.NewRequest("GET", u, nil) - if err != nil { - return nil, nil, err - } - - v := new([]DashboardInfo) - resp, err := s.client.Do(req, v) - if err != nil { - return nil, resp, err - } - - return v, resp, err -} - -// GetDashboard list custom dashboards for a project. -// -// Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/rest-api-projects.html#get-dashboard -func (s *ProjectsService) GetDashboard(projectName, dashboardName string) (*DashboardInfo, *Response, error) { - u := fmt.Sprintf("projects/%s/dashboards/%s", url.QueryEscape(projectName), url.QueryEscape(dashboardName)) - - req, err := s.client.NewRequest("GET", u, nil) - if err != nil { - return nil, nil, err - } - - v := new(DashboardInfo) - resp, err := s.client.Do(req, v) - if err != nil { - return nil, resp, err - } - - return v, resp, err -} - -// SetDashboard updates/Creates a project dashboard. -// Currently only supported for the default dashboard. -// -// The creation/update information for the dashboard must be provided in the request body as a DashboardInput entity. -// -// Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/rest-api-projects.html#set-dashboard -func (s *ProjectsService) SetDashboard(projectName, dashboardID string, input *DashboardInput) (*DashboardInfo, *Response, error) { - u := fmt.Sprintf("projects/%s/dashboards/%s", url.QueryEscape(projectName), url.QueryEscape(dashboardID)) - - req, err := s.client.NewRequest("PUT", u, input) - if err != nil { - return nil, nil, err - } - - v := new(DashboardInfo) - resp, err := s.client.Do(req, v) - if err != nil { - return nil, resp, err - } - - return v, resp, err -} - -// DeleteDashboard deletes a project dashboard. -// Currently only supported for the default dashboard. -// -// The request body does not need to include a DashboardInput entity if no commit message is specified. -// Please note that some proxies prohibit request bodies for DELETE requests. -// -// Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/rest-api-projects.html#delete-dashboard -func (s *ProjectsService) DeleteDashboard(projectName, dashboardID string, input *DashboardInput) (*Response, error) { - u := fmt.Sprintf("projects/%s/dashboards/%s", url.QueryEscape(projectName), url.QueryEscape(dashboardID)) - return s.client.DeleteRequest(u, input) -} diff --git a/vendor/github.com/andygrunwald/go-gerrit/projects_tag.go b/vendor/github.com/andygrunwald/go-gerrit/projects_tag.go deleted file mode 100644 index 7070d3f7..00000000 --- a/vendor/github.com/andygrunwald/go-gerrit/projects_tag.go +++ /dev/null @@ -1,60 +0,0 @@ -package gerrit - -import ( - "fmt" - "net/url" -) - -// TagInfo entity contains information about a tag. -type TagInfo struct { - Ref string `json:"ref"` - Revision string `json:"revision"` - Object string `json:"object"` - Message string `json:"message"` - Tagger GitPersonInfo `json:"tagger"` - Created *Timestamp `json:"created,omitempty"` -} - -// ListTags list the tags of a project. -// -// Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/rest-api-projects.html#list-tags -func (s *ProjectsService) ListTags(projectName string, opt *ProjectBaseOptions) (*[]TagInfo, *Response, error) { - u := fmt.Sprintf("projects/%s/tags/", url.QueryEscape(projectName)) - u, err := addOptions(u, opt) - if err != nil { - return nil, nil, err - } - - req, err := s.client.NewRequest("GET", u, nil) - if err != nil { - return nil, nil, err - } - - v := new([]TagInfo) - resp, err := s.client.Do(req, v) - if err != nil { - return nil, resp, err - } - - return v, resp, err -} - -// GetTag retrieves a tag of a project. -// -// Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/rest-api-projects.html#get-tag -func (s *ProjectsService) GetTag(projectName, tagName string) (*TagInfo, *Response, error) { - u := fmt.Sprintf("projects/%s/tags/%s", url.QueryEscape(projectName), url.QueryEscape(tagName)) - - req, err := s.client.NewRequest("GET", u, nil) - if err != nil { - return nil, nil, err - } - - v := new(TagInfo) - resp, err := s.client.Do(req, v) - if err != nil { - return nil, resp, err - } - - return v, resp, err -} diff --git a/vendor/github.com/andygrunwald/go-gerrit/types.go b/vendor/github.com/andygrunwald/go-gerrit/types.go deleted file mode 100644 index baf8ee4a..00000000 --- a/vendor/github.com/andygrunwald/go-gerrit/types.go +++ /dev/null @@ -1,88 +0,0 @@ -package gerrit - -import ( - "encoding/json" - "errors" - "strconv" - "time" -) - -// Timestamp represents an instant in time with nanosecond precision, in UTC time zone. -// It encodes to and from JSON in Gerrit's timestamp format. -// All exported methods of time.Time can be called on Timestamp. -// -// Gerrit API docs: https://gerrit-review.googlesource.com/Documentation/rest-api.html#timestamp -type Timestamp struct { - // Time is an instant in time. Its time zone must be UTC. - time.Time -} - -// MarshalJSON implements the json.Marshaler interface. -// The time is a quoted string in Gerrit's timestamp format. -// An error is returned if t.Time time zone is not UTC. -func (t Timestamp) MarshalJSON() ([]byte, error) { - if t.Location() != time.UTC { - return nil, errors.New("Timestamp.MarshalJSON: time zone must be UTC") - } - if y := t.Year(); y < 0 || 9999 < y { - // RFC 3339 is clear that years are 4 digits exactly. - // See golang.org/issue/4556#issuecomment-66073163 for more discussion. - return nil, errors.New("Timestamp.MarshalJSON: year outside of range [0,9999]") - } - b := make([]byte, 0, len(timeLayout)+2) - b = append(b, '"') - b = t.AppendFormat(b, timeLayout) - b = append(b, '"') - return b, nil -} - -// UnmarshalJSON implements the json.Unmarshaler interface. -// The time is expected to be a quoted string in Gerrit's timestamp format. -func (t *Timestamp) UnmarshalJSON(b []byte) error { - // Ignore null, like in the main JSON package. - if string(b) == "null" { - return nil - } - var err error - t.Time, err = time.Parse(`"`+timeLayout+`"`, string(b)) - return err -} - -// Gerrit's timestamp layout is like time.RFC3339Nano, but with a space instead -// of the "T", without a timezone (it's always in UTC), and always includes nanoseconds. -// See https://gerrit-review.googlesource.com/Documentation/rest-api.html#timestamp. -const timeLayout = "2006-01-02 15:04:05.000000000" - -// Number is a string representing a number. This type is only used in cases -// where the API being queried may return an inconsistent result. -type Number string - -// String returns the string representing the current number. -func (n *Number) String() string { - return string(*n) -} - -// Int returns the current number as an integer -func (n *Number) Int() (int, error) { - return strconv.Atoi(n.String()) -} - -// UnmarshalJSON will marshal the provided data into the current *Number struct. -func (n *Number) UnmarshalJSON(data []byte) error { - // `data` is a number represented as a string (ex. "5"). - var stringNumber string - if err := json.Unmarshal(data, &stringNumber); err == nil { - *n = Number(stringNumber) - return nil - } - - // `data` is a number represented as an integer (ex. 5). Here - // we're using json.Unmarshal to convert bytes -> number which - // we then convert to our own Number type. - var number int - if err := json.Unmarshal(data, &number); err == nil { - *n = Number(strconv.Itoa(number)) - return nil - } - return errors.New("cannot convert data to number") -} diff --git a/vendor/github.com/briandowns/openweathermap/.gitignore b/vendor/github.com/briandowns/openweathermap/.gitignore deleted file mode 100644 index 0b1d88a8..00000000 --- a/vendor/github.com/briandowns/openweathermap/.gitignore +++ /dev/null @@ -1,32 +0,0 @@ -# Created by .gitignore support plugin (hsz.mobi) -### Go template -# Compiled Object files, Static and Dynamic libs (Shared Objects) -*.o -*.a -*.so - -# Folders -_obj -_test - -# Architecture specific extensions/prefixes -*.[568vq] -[568vq].out - -*.cgo1.go -*.cgo2.c -_cgo_defun.c -_cgo_gotypes.go -_cgo_export.* - -_testmain.go - -*.exe -*.test -*.prof - -.vscode -.idea -*.iml - -coverage.* diff --git a/vendor/github.com/briandowns/openweathermap/.travis.yml b/vendor/github.com/briandowns/openweathermap/.travis.yml deleted file mode 100644 index 28614c4e..00000000 --- a/vendor/github.com/briandowns/openweathermap/.travis.yml +++ /dev/null @@ -1,29 +0,0 @@ -language: go -go: - - 1.5.4 - - 1.6.2 -env: - - GOARCH: amd64 - - GOARCH: 386 -addons: - hosts: - - api.openweathermap.org -before_install: - - sudo apt-get -qq update - - sudo apt-get install -y socat - - cat /etc/hosts - - wget http://ipinfo.io/ip -qO - - - sudo socat TCP-LISTEN:80,fork TCP:${RTCP_HOST}:${RTCP_PORT} > /tmp/socat.log 2>&1 & - - go get github.com/mattn/goveralls - - go get golang.org/x/tools/cmd/cover -script: - - make test - - $HOME/gopath/bin/goveralls -service=travis-ci -repotoken $COVERALLS_TOKEN -notifications: - email: - recipients: - - brian.downs@gmail.com - on_success: change - on_failure: always - after_success: - - coveralls diff --git a/vendor/github.com/briandowns/openweathermap/CONTRIBUTING.md b/vendor/github.com/briandowns/openweathermap/CONTRIBUTING.md deleted file mode 100644 index f6d0aa74..00000000 --- a/vendor/github.com/briandowns/openweathermap/CONTRIBUTING.md +++ /dev/null @@ -1,14 +0,0 @@ -# Contributing to openweathermap - -## Issues - -### Reporting an Issue - -* Please add an issue [here](https://github.com/briandowns/openweathermap/issues) and utilize the appropriate label. - -## Fixing Problems and/or Adding Features - -* Feel free to fork and fix an issue(s) or add a feature. -* Please provide tests for the submitted code. -* Run `go fmt` and `go vet` -* Once the pull request is submitted, it'll be tested and merged. diff --git a/vendor/github.com/briandowns/openweathermap/LICENSE b/vendor/github.com/briandowns/openweathermap/LICENSE deleted file mode 100644 index dd5b3a58..00000000 --- a/vendor/github.com/briandowns/openweathermap/LICENSE +++ /dev/null @@ -1,174 +0,0 @@ - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. diff --git a/vendor/github.com/briandowns/openweathermap/Makefile b/vendor/github.com/briandowns/openweathermap/Makefile deleted file mode 100644 index b390203b..00000000 --- a/vendor/github.com/briandowns/openweathermap/Makefile +++ /dev/null @@ -1,19 +0,0 @@ -GOCMD = go -GOBUILD = $(GOCMD) build -GOGET = $(GOCMD) get -v -GOCLEAN = $(GOCMD) clean -GOINSTALL = $(GOCMD) install -GOTEST = $(GOCMD) test - -.PHONY: all - -all: test - -test: - $(GOTEST) -v -covermode=count -coverprofile=coverage.out ./... - -build: test - $(GOBUILD) - -install: test - $(GOINSTALL) diff --git a/vendor/github.com/briandowns/openweathermap/README.md b/vendor/github.com/briandowns/openweathermap/README.md deleted file mode 100644 index cfe1db19..00000000 --- a/vendor/github.com/briandowns/openweathermap/README.md +++ /dev/null @@ -1,279 +0,0 @@ -# OpenWeatherMap Go API - -[![GoDoc](https://godoc.org/github.com/briandowns/openweathermap?status.svg)](https://godoc.org/github.com/briandowns/openweathermap) [![Build Status](https://travis-ci.org/briandowns/openweathermap.svg?branch=master)](https://travis-ci.org/briandowns/openweathermap) [![Coverage Status](https://coveralls.io/repos/github/briandowns/openweathermap/badge.svg?branch=master)](https://coveralls.io/github/briandowns/openweathermap?branch=master) - -Go (golang) package for use with openweathermap.org's API. - -For more detail about the library and its features, reference your local godoc once installed. - -[Website](https://briandowns.github.io/openweathermap)! - -To use the OpenweatherMap API, you need to obtain an API key. Sign up [here](http://home.openweathermap.org/users/sign_up). Once you have your key, create an environment variable called `OWM_API_KEY`. Start coding! - -[Slack Channel](https://openweathermapgolang.slack.com/messages/general) - -Contributions welcome! - -## Features - -### Current Weather Conditions - -- By City -- By City,St (State) -- By City,Co (Country) -- By City ID -- By Zip,Co (Country) -- By Longitude and Latitude - -## Forecast - -Get the weather conditions for a given number of days. - -- By City -- By City,St (State) -- By City,Co (Country) -- By City ID -- By Longitude and Latitude - -### Access to Condition Codes and Icons - -Gain access to OpenWeatherMap icons and condition codes. - -- Thunderstorms -- Drizzle -- Rain -- Snow -- Atmosphere -- Clouds -- Extreme -- Additional - -### Data Available in Multiple Measurement Systems - -- Fahrenheit (OpenWeatherMap API - imperial) -- Celsius (OpenWeatherMap API - metric) -- Kelvin (OpenWeatherMap API - internal) - -### UV Index Data - -- Current -- Historical - -### Pollution Data - -- Current - -## Historical Conditions - -- By Name -- By ID -- By Coordinates - -## Supported Languages - -English - en, Russian - ru, Italian - it, Spanish - es (or sp), Ukrainian - uk (or ua), German - de, Portuguese - pt, Romanian - ro, Polish - pl, Finnish - fi, Dutch - nl, French - fr, Bulgarian - bg, Swedish - sv (or se), Chinese Traditional - zh_tw, Chinese Simplified - zh (or zh_cn), Turkish - tr, Croatian - hr, Catalan - ca - -## Installation - -```bash -go get github.com/briandowns/openweathermap -``` - -## Examples - -There are a few full examples in the examples directory that can be referenced. 1 is a command line application and 1 is a simple web application. - -```Go -package main - -import ( - "log" - "fmt" - "os" - - // Shortening the import reference name seems to make it a bit easier - owm "github.com/briandowns/openweathermap" -) - -var apiKey = os.Getenv("OWM_API_KEY") - -func main() { - w, err := owm.NewCurrent("F", "ru", apiKey) // fahrenheit (imperial) with Russian output - if err != nil { - log.Fatalln(err) - } - - w.CurrentByName("Phoenix") - fmt.Println(w) -} - -``` - -### Current Conditions by location name - -```Go -func main() { - w, err := owm.NewCurrent("K", "EN", apiKey) // (internal - OpenWeatherMap reference for kelvin) with English output - if err != nil { - log.Fatalln(err) - } - - w.CurrentByName("Phoenix,AZ") - fmt.Println(w) -} -``` - -### Forecast Conditions in imperial (fahrenheit) by coordinates - -```Go -func main() { - w, err := owm.NewForecast("5", "F", "FI", apiKey) // valid options for first parameter are "5" and "16" - if err != nil { - log.Fatalln(err) - } - - w.DailyByCoordinates( - &owm.Coordinates{ - Longitude: -112.07, - Latitude: 33.45, - }, - 5 // five days forecast - ) - fmt.Println(w) -} -``` - -### Current conditions in metric (celsius) by location ID - -```Go -func main() { - w, err := owm.NewCurrent("C", "PL", apiKey) - if err != nil { - log.Fatalln(err) - } - - w.CurrentByID(2172797) - fmt.Println(w) -} -``` - -### Current conditions by zip code. 2 character country code required - -```Go -func main() { - w, err := owm.NewCurrent("F", "EN", apiKey) - if err != nil { - log.Fatalln(err) - } - - w.CurrentByZip(19125, "US") - fmt.Println(w) -} -``` - -### Configure http client - -```Go -func main() { - client := &http.Client{} - w, err := owm.NewCurrent("F", "EN", apiKey, owm.WithHttpClient(client)) - if err != nil { - log.Fatalln(err) - } -} -``` - -### Current UV conditions - -```Go -func main() { - uv, err := owm.NewUV(apiKey) - if err != nil { - log.Fatalln(err) - } - - coord := &owm.Coordinates{ - Longitude: 53.343497, - Latitude: -6.288379, - } - - if err := uv.Current(coord); err != nil { - log.Fatalln(err) - } - - fmt.Println(coord) -} -``` - -### Historical UV conditions - -```Go -func main() { - uv, err := owm.NewUV(apiKey) - if err != nil { - log.Fatalln(err) - } - - coord := &owm.Coordinates{ - Longitude: 54.995656, - Latitude: -7.326834, - } - - end := time.Now().UTC() - start := time.Now().UTC().Add(-time.Hour * time.Duration(24)) - - if err := uv.Historical(coord, start, end); err != nil { - log.Fatalln(err) - } -} -``` - -### UV Information - -```Go -func main() { - uv, err := owm.NewUV(apiKey) - if err != nil { - log.Fatalln(err) - } - - coord := &owm.Coordinates{ - Longitude: 53.343497, - Latitude: -6.288379, - } - - if err := uv.Current(coord); err != nil { - log.Fatalln(err) - } - - info, err := uv.UVInformation() - if err != nil { - log.Fatalln(err) - } - - fmt.Println(info) -} -``` - -### Pollution Information - -```Go -func main() { - pollution, err := owm.NewPollution(apiKey) - if err != nil { - log.Fatalln(err) - } - - params := &owm.PollutionParameters{ - Location: owm.Coordinates{ - Latitude: 0.0, - Longitude: 10.0, - }, - Datetime: "current", - } - - if err := pollution.PollutionByParams(params); err != nil { - log.Fatalln(err) - } -} -``` diff --git a/vendor/github.com/briandowns/openweathermap/conditions.go b/vendor/github.com/briandowns/openweathermap/conditions.go deleted file mode 100644 index e73ececc..00000000 --- a/vendor/github.com/briandowns/openweathermap/conditions.go +++ /dev/null @@ -1,185 +0,0 @@ -// Copyright 2015 Brian J. Downs -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package openweathermap - -import ( - "fmt" - "io" - "net/http" - "os" -) - -// IconData holds the relevant info for linking icons to conditions. -type IconData struct { - Condition string - Day string - Night string -} - -// ConditionData holds data structure for weather conditions information. -type ConditionData struct { - ID int - Meaning string - Icon1 string - Icon2 string -} - -// RetrieveIcon will get the specified icon from the API. -func RetrieveIcon(destination, iconFile string) (int64, error) { - fullFilePath := fmt.Sprintf("%s/%s", destination, iconFile) - - // Check to see if we've already gotten that icon file. If so, use it - // rather than getting it again. - if _, err := os.Stat(fullFilePath); err != nil { - response, err := http.Get(fmt.Sprintf(iconURL, iconFile)) - if err != nil { - return 0, err - } - defer response.Body.Close() - - // Create the icon file - out, err := os.Create(fullFilePath) - if err != nil { - return 0, err - } - defer out.Close() - - // Fill the empty file with the actual content - n, err := io.Copy(out, response.Body) - if err != nil { - return 0, err - } - return n, nil - } - return 0, nil -} - -// IconList is a slice of IconData pointers -var IconList = []*IconData{ - {Condition: "clear sky", Day: "01d.png", Night: "01n.png"}, - {Condition: "few clouds", Day: "02d.png", Night: "02n.png"}, - {Condition: "scattered clouds", Day: "03d.png", Night: "03n.png"}, - {Condition: "broken clouds", Day: "04d.png", Night: "04n.png"}, - {Condition: "shower rain", Day: "09d.png", Night: "09n.png"}, - {Condition: "rain", Day: "10d.png", Night: "10n.png"}, - {Condition: "thunderstorm", Day: "11d.png", Night: "11n.png"}, - {Condition: "snow", Day: "13d.png", Night: "13n.png"}, - {Condition: "mist", Day: "50d.png", Night: "50n.png"}, -} - -// ThunderstormConditions is a slice of ConditionData pointers -var ThunderstormConditions = []*ConditionData{ - {ID: 200, Meaning: "thunderstorm with light rain", Icon1: "11d.png"}, - {ID: 201, Meaning: "thunderstorm with rain", Icon1: "11d.png"}, - {ID: 202, Meaning: "thunderstorm with heavy rain", Icon1: "11d.png"}, - {ID: 210, Meaning: "light thunderstorm", Icon1: "11d.png"}, - {ID: 211, Meaning: "thunderstorm", Icon1: "11d.png"}, - {ID: 212, Meaning: "heavy thunderstorm", Icon1: "11d.png"}, - {ID: 221, Meaning: "ragged thunderstorm", Icon1: "11d.png"}, - {ID: 230, Meaning: "thunderstorm with light drizzle", Icon1: "11d.png"}, - {ID: 231, Meaning: "thunderstorm with drizzle", Icon1: "11d.png"}, - {ID: 232, Meaning: "thunderstorm with heavy drizzle", Icon1: "11d.png"}, -} - -// DrizzleConditions is a slice of ConditionData pointers -var DrizzleConditions = []*ConditionData{ - {ID: 300, Meaning: "light intensity drizzle", Icon1: "09d.png"}, - {ID: 301, Meaning: "drizzle", Icon1: "09d.png"}, - {ID: 302, Meaning: "heavy intensity drizzle", Icon1: "09d.png"}, - {ID: 310, Meaning: "light intensity drizzle rain", Icon1: "09d.png"}, - {ID: 311, Meaning: "drizzle rain", Icon1: "09d.png"}, - {ID: 312, Meaning: "heavy intensity drizzle rain", Icon1: "09d.png"}, - {ID: 313, Meaning: "shower rain and drizzle", Icon1: "09d.png"}, - {ID: 314, Meaning: "heavy shower rain and drizzle", Icon1: "09d.png"}, - {ID: 321, Meaning: "shower drizzle", Icon1: "09d.png"}, -} - -// RainConditions is a slice of ConditionData pointers -var RainConditions = []*ConditionData{ - {ID: 500, Meaning: "light rain", Icon1: "09d.png"}, - {ID: 501, Meaning: "moderate rain", Icon1: "09d.png"}, - {ID: 502, Meaning: "heavy intensity rain", Icon1: "09d.png"}, - {ID: 503, Meaning: "very heavy rain", Icon1: "09d.png"}, - {ID: 504, Meaning: "extreme rain", Icon1: "09d.png"}, - {ID: 511, Meaning: "freezing rain", Icon1: "13d.png"}, - {ID: 520, Meaning: "light intensity shower rain", Icon1: "09d.png"}, - {ID: 521, Meaning: "shower rain", Icon1: "09d.png"}, - {ID: 522, Meaning: "heavy intensity shower rain", Icon1: "09d.png"}, - {ID: 531, Meaning: "ragged shower rain", Icon1: "09d.png"}, -} - -// SnowConditions is a slice of ConditionData pointers -var SnowConditions = []*ConditionData{ - {ID: 600, Meaning: "light snow", Icon1: "13d.png"}, - {ID: 601, Meaning: "snow", Icon1: "13d.png"}, - {ID: 602, Meaning: "heavy snow", Icon1: "13d.png"}, - {ID: 611, Meaning: "sleet", Icon1: "13d.png"}, - {ID: 612, Meaning: "shower sleet", Icon1: "13d.png"}, - {ID: 615, Meaning: "light rain and snow", Icon1: "13d.png"}, - {ID: 616, Meaning: "rain and snow", Icon1: "13d.png"}, - {ID: 620, Meaning: "light shower snow", Icon1: "13d.png"}, - {ID: 621, Meaning: "shower snow", Icon1: "13d.png"}, - {ID: 622, Meaning: "heavy shower snow", Icon1: "13d.png"}, -} - -// AtmosphereConditions is a slice of ConditionData pointers -var AtmosphereConditions = []*ConditionData{ - {ID: 701, Meaning: "mist", Icon1: "50d.png"}, - {ID: 711, Meaning: "smoke", Icon1: "50d.png"}, - {ID: 721, Meaning: "haze", Icon1: "50d.png"}, - {ID: 731, Meaning: "sand, dust whirls", Icon1: "50d.png"}, - {ID: 741, Meaning: "fog", Icon1: "50d.png"}, - {ID: 751, Meaning: "sand", Icon1: "50d.png"}, - {ID: 761, Meaning: "dust", Icon1: "50d.png"}, - {ID: 762, Meaning: "volcanic ash", Icon1: "50d.png"}, - {ID: 771, Meaning: "squalls", Icon1: "50d.png"}, - {ID: 781, Meaning: "tornado", Icon1: "50d.png"}, -} - -// CloudConditions is a slice of ConditionData pointers -var CloudConditions = []*ConditionData{ - {ID: 800, Meaning: "clear sky", Icon1: "01d.png", Icon2: "01n.png"}, - {ID: 801, Meaning: "few clouds", Icon1: "02d.png", Icon2: " 02n.png"}, - {ID: 802, Meaning: "scattered clouds", Icon1: "03d.png", Icon2: "03d.png"}, - {ID: 803, Meaning: "broken clouds", Icon1: "04d.png", Icon2: "03d.png"}, - {ID: 804, Meaning: "overcast clouds", Icon1: "04d.png", Icon2: "04d.png"}, -} - -// ExtremeConditions is a slice of ConditionData pointers -var ExtremeConditions = []*ConditionData{ - {ID: 900, Meaning: "tornado", Icon1: ""}, - {ID: 901, Meaning: "tropical storm", Icon1: ""}, - {ID: 902, Meaning: "hurricane", Icon1: ""}, - {ID: 903, Meaning: "cold", Icon1: ""}, - {ID: 904, Meaning: "hot", Icon1: ""}, - {ID: 905, Meaning: "windy", Icon1: ""}, - {ID: 906, Meaning: "hail", Icon1: ""}, -} - -// AdditionalConditions is a slive of ConditionData pointers -var AdditionalConditions = []*ConditionData{ - {ID: 951, Meaning: "calm", Icon1: ""}, - {ID: 952, Meaning: "light breeze", Icon1: ""}, - {ID: 953, Meaning: "gentle breeze", Icon1: ""}, - {ID: 954, Meaning: "moderate breeze", Icon1: ""}, - {ID: 955, Meaning: "fresh breeze", Icon1: ""}, - {ID: 956, Meaning: "strong breeze", Icon1: ""}, - {ID: 957, Meaning: "high wind, near gale", Icon1: ""}, - {ID: 958, Meaning: "gale", Icon1: ""}, - {ID: 959, Meaning: "severe gale", Icon1: ""}, - {ID: 960, Meaning: "storm", Icon1: ""}, - {ID: 961, Meaning: "violent storm", Icon1: ""}, - {ID: 962, Meaning: "hurricane", Icon1: ""}, -} diff --git a/vendor/github.com/briandowns/openweathermap/current.go b/vendor/github.com/briandowns/openweathermap/current.go deleted file mode 100644 index 52941b71..00000000 --- a/vendor/github.com/briandowns/openweathermap/current.go +++ /dev/null @@ -1,143 +0,0 @@ -// Copyright 2015 Brian J. Downs -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package openweathermap - -import ( - "encoding/json" - "fmt" - "net/url" - "strings" -) - -// CurrentWeatherData struct contains an aggregate view of the structs -// defined above for JSON to be unmarshaled into. -type CurrentWeatherData struct { - GeoPos Coordinates `json:"coord"` - Sys Sys `json:"sys"` - Base string `json:"base"` - Weather []Weather `json:"weather"` - Main Main `json:"main"` - Wind Wind `json:"wind"` - Clouds Clouds `json:"clouds"` - Rain Rain `json:"rain"` - Snow Snow `json:"snow"` - Dt int `json:"dt"` - ID int `json:"id"` - Name string `json:"name"` - Cod int `json:"cod"` - Unit string - Lang string - Key string - *Settings -} - -// NewCurrent returns a new CurrentWeatherData pointer with the supplied parameters -func NewCurrent(unit, lang, key string, options ...Option) (*CurrentWeatherData, error) { - unitChoice := strings.ToUpper(unit) - langChoice := strings.ToUpper(lang) - - c := &CurrentWeatherData{ - Settings: NewSettings(), - } - - if ValidDataUnit(unitChoice) { - c.Unit = DataUnits[unitChoice] - } else { - return nil, errUnitUnavailable - } - - if ValidLangCode(langChoice) { - c.Lang = langChoice - } else { - return nil, errLangUnavailable - } - var err error - c.Key, err = setKey(key) - if err != nil { - return nil, err - } - - if err := setOptions(c.Settings, options); err != nil { - return nil, err - } - return c, nil -} - -// CurrentByName will provide the current weather with the provided -// location name. -func (w *CurrentWeatherData) CurrentByName(location string) error { - response, err := w.client.Get(fmt.Sprintf(fmt.Sprintf(baseURL, "appid=%s&q=%s&units=%s&lang=%s"), w.Key, url.QueryEscape(location), w.Unit, w.Lang)) - if err != nil { - return err - } - defer response.Body.Close() - - if err := json.NewDecoder(response.Body).Decode(&w); err != nil { - return err - } - - return nil -} - -// CurrentByCoordinates will provide the current weather with the -// provided location coordinates. -func (w *CurrentWeatherData) CurrentByCoordinates(location *Coordinates) error { - response, err := w.client.Get(fmt.Sprintf(fmt.Sprintf(baseURL, "appid=%s&lat=%f&lon=%f&units=%s&lang=%s"), w.Key, location.Latitude, location.Longitude, w.Unit, w.Lang)) - if err != nil { - return err - } - defer response.Body.Close() - - if err = json.NewDecoder(response.Body).Decode(&w); err != nil { - return err - } - - return nil -} - -// CurrentByID will provide the current weather with the -// provided location ID. -func (w *CurrentWeatherData) CurrentByID(id int) error { - response, err := w.client.Get(fmt.Sprintf(fmt.Sprintf(baseURL, "appid=%s&id=%d&units=%s&lang=%s"), w.Key, id, w.Unit, w.Lang)) - if err != nil { - return err - } - defer response.Body.Close() - - if err = json.NewDecoder(response.Body).Decode(&w); err != nil { - return err - } - - return nil -} - -// CurrentByZip will provide the current weather for the -// provided zip code. -func (w *CurrentWeatherData) CurrentByZip(zip int, countryCode string) error { - response, err := w.client.Get(fmt.Sprintf(fmt.Sprintf(baseURL, "appid=%s&zip=%d,%s&units=%s&lang=%s"), w.Key, zip, countryCode, w.Unit, w.Lang)) - if err != nil { - return err - } - defer response.Body.Close() - if err = json.NewDecoder(response.Body).Decode(&w); err != nil { - return err - } - - return nil -} - -// CurrentByArea will provide the current weather for the -// provided area. -func (w *CurrentWeatherData) CurrentByArea() {} diff --git a/vendor/github.com/briandowns/openweathermap/doc.go b/vendor/github.com/briandowns/openweathermap/doc.go deleted file mode 100644 index 39a41ffb..00000000 --- a/vendor/github.com/briandowns/openweathermap/doc.go +++ /dev/null @@ -1,18 +0,0 @@ -// Copyright 2015 Brian J. Downs -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -// Package openweathermap is a library for use to access the -// http://openweathermap.org API. JSON is the only return format supported -// at this time. -package openweathermap diff --git a/vendor/github.com/briandowns/openweathermap/forecast.go b/vendor/github.com/briandowns/openweathermap/forecast.go deleted file mode 100644 index ebba0273..00000000 --- a/vendor/github.com/briandowns/openweathermap/forecast.go +++ /dev/null @@ -1,151 +0,0 @@ -// Copyright 2015 Brian J. Downs -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package openweathermap - -import ( - "fmt" - "io" - "net/url" - "strconv" - "strings" -) - -// ForecastSys area population -type ForecastSys struct { - Population int `json:"population"` -} - -// Temperature holds returned termperate sure stats -type Temperature struct { - Day float64 `json:"day"` - Min float64 `json:"min"` - Max float64 `json:"max"` - Night float64 `json:"night"` - Eve float64 `json:"eve"` - Morn float64 `json:"morn"` -} - -// City data for given location -type City struct { - ID int `json:"id"` - Name string `json:"name"` - Coord Coordinates `json:"coord"` - Country string `json:"country"` - Population int `json:"population"` - Sys ForecastSys `json:"sys"` -} - -type ForecastWeather interface { - DailyByName(location string, days int) error - DailyByCoordinates(location *Coordinates, days int) error - DailyByID(id, days int) error -} - -// json served by OWM API can take different forms, so all of them must be matched -// by corresponding data type and unmarshall method -type ForecastWeatherJson interface { - Decode(r io.Reader) error -} - -type ForecastWeatherData struct { - Unit string - Lang string - Key string - baseURL string - *Settings - ForecastWeatherJson -} - -// NewForecast returns a new HistoricalWeatherData pointer with -// the supplied arguments. -func NewForecast(forecastType, unit, lang, key string, options ...Option) (*ForecastWeatherData, error) { - unitChoice := strings.ToUpper(unit) - langChoice := strings.ToUpper(lang) - - if forecastType != "16" && forecastType != "5" { - return nil, errForecastUnavailable - } - - if !ValidDataUnit(unitChoice) { - return nil, errUnitUnavailable - } - - if !ValidLangCode(langChoice) { - return nil, errLangUnavailable - } - - settings := NewSettings() - if err := setOptions(settings, options); err != nil { - return nil, err - } - - var err error - k, err := setKey(key) - if err != nil { - return nil, err - } - forecastData := ForecastWeatherData{ - Unit: DataUnits[unitChoice], - Lang: langChoice, - Key: k, - Settings: settings, - } - - if forecastType == "16" { - forecastData.baseURL = forecast16Base - forecastData.ForecastWeatherJson = &Forecast16WeatherData{} - } else { - forecastData.baseURL = forecast5Base - forecastData.ForecastWeatherJson = &Forecast5WeatherData{} - } - - return &forecastData, nil -} - -// DailyByName will provide a forecast for the location given for the -// number of days given. -func (f *ForecastWeatherData) DailyByName(location string, days int) error { - response, err := f.client.Get(fmt.Sprintf(f.baseURL, f.Key, fmt.Sprintf("%s=%s", "q", url.QueryEscape(location)), f.Unit, f.Lang, days)) - if err != nil { - return err - } - defer response.Body.Close() - - return f.ForecastWeatherJson.Decode(response.Body) -} - -// DailyByCoordinates will provide a forecast for the coordinates ID give -// for the number of days given. -func (f *ForecastWeatherData) DailyByCoordinates(location *Coordinates, days int) error { - response, err := f.client.Get(fmt.Sprintf(f.baseURL, f.Key, fmt.Sprintf("lat=%f&lon=%f", location.Latitude, location.Longitude), f.Unit, f.Lang, days)) - if err != nil { - return err - } - defer response.Body.Close() - - return f.ForecastWeatherJson.Decode(response.Body) -} - -// DailyByID will provide a forecast for the location ID give for the -// number of days given. -func (f *ForecastWeatherData) DailyByID(id, days int) error { - response, err := f.client.Get(fmt.Sprintf(f.baseURL, f.Key, fmt.Sprintf("%s=%s", "id", strconv.Itoa(id)), f.Unit, f.Lang, days)) - if err != nil { - return err - } - defer response.Body.Close() - - return f.ForecastWeatherJson.Decode(response.Body) -} diff --git a/vendor/github.com/briandowns/openweathermap/forecast16.go b/vendor/github.com/briandowns/openweathermap/forecast16.go deleted file mode 100644 index 3ba9f513..00000000 --- a/vendor/github.com/briandowns/openweathermap/forecast16.go +++ /dev/null @@ -1,36 +0,0 @@ -package openweathermap - -import ( - "encoding/json" - "io" -) - -// Forecast16WeatherList holds specific query data -type Forecast16WeatherList struct { - Dt int `json:"dt"` - Temp Temperature `json:"temp"` - Pressure float64 `json:"pressure"` - Humidity int `json:"humidity"` - Weather []Weather `json:"weather"` - Speed float64 `json:"speed"` - Deg int `json:"deg"` - Clouds int `json:"clouds"` - Snow float64 `json:"snow"` - Rain float64 `json:"rain"` -} - -// Forecast16WeatherData will hold returned data from queries -type Forecast16WeatherData struct { - COD int `json:"cod"` - Message string `json:"message"` - City City `json:"city"` - Cnt int `json:"cnt"` - List []Forecast16WeatherList `json:"list"` -} - -func (f *Forecast16WeatherData) Decode(r io.Reader) error { - if err := json.NewDecoder(r).Decode(&f); err != nil { - return err - } - return nil -} diff --git a/vendor/github.com/briandowns/openweathermap/forecast5.go b/vendor/github.com/briandowns/openweathermap/forecast5.go deleted file mode 100644 index 9e52c20a..00000000 --- a/vendor/github.com/briandowns/openweathermap/forecast5.go +++ /dev/null @@ -1,50 +0,0 @@ -package openweathermap - -import ( - "encoding/json" - "io" - "strings" - "time" -) - -type DtTxt struct { - time.Time -} - -func (dt *DtTxt) UnmarshalJSON(b []byte) error { - t, err := time.Parse("2006-01-02 15:04:05", strings.Trim(string(b), "\"")) - dt.Time = t - return err -} - -func (t *DtTxt) MarshalJSON() ([]byte, error) { - return json.Marshal(t) -} - -// Forecast5WeatherList holds specific query data -type Forecast5WeatherList struct { - Dt int `json:"dt"` - Main Main `json:"main"` - Weather []Weather `json:"weather"` - Clouds Clouds `json:"clouds"` - Wind Wind `json:"wind"` - Rain Rain `json:"rain"` - Snow Snow `json:"snow"` - DtTxt DtTxt `json:"dt_txt"` -} - -// Forecast5WeatherData will hold returned data from queries -type Forecast5WeatherData struct { - // COD string `json:"cod"` - // Message float64 `json:"message"` - City City `json:"city"` - Cnt int `json:"cnt"` - List []Forecast5WeatherList `json:"list"` -} - -func (f *Forecast5WeatherData) Decode(r io.Reader) error { - if err := json.NewDecoder(r).Decode(&f); err != nil { - return err - } - return nil -} diff --git a/vendor/github.com/briandowns/openweathermap/history.go b/vendor/github.com/briandowns/openweathermap/history.go deleted file mode 100644 index bba6c83d..00000000 --- a/vendor/github.com/briandowns/openweathermap/history.go +++ /dev/null @@ -1,147 +0,0 @@ -// Copyright 2015 Brian J. Downs -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package openweathermap - -import ( - "encoding/json" - "fmt" - "net/url" - "strings" -) - -// HistoricalParameters struct holds the (optional) fields to be -// supplied for historical data requests. -type HistoricalParameters struct { - Start int64 // Data start (unix time, UTC time zone) - End int64 // Data end (unix time, UTC time zone) - Cnt int // Amount of returned data (one per hour, can be used instead of Data end) -} - -// Rain struct contains 3 hour data -type Rain struct { - ThreeH float64 `json:"3h"` -} - -// Snow struct contains 3 hour data -type Snow struct { - ThreeH float64 `json:"3h"` -} - -// WeatherHistory struct contains aggregate fields from the above -// structs. -type WeatherHistory struct { - Main Main `json:"main"` - Wind Wind `json:"wind"` - Clouds Clouds `json:"clouds"` - Weather []Weather `json:"weather"` - Rain Rain `json:"rain"` - Dt int `json:"dt"` -} - -// HistoricalWeatherData struct is where the JSON is unmarshaled to -// when receiving data for a historical request. -type HistoricalWeatherData struct { - Message string `json:"message"` - Cod int `json:"cod"` - CityData int `json:"city_data"` - CalcTime float64 `json:"calctime"` - Cnt int `json:"cnt"` - List []WeatherHistory `json:"list"` - Unit string - Key string - *Settings -} - -// NewHistorical returns a new HistoricalWeatherData pointer with -//the supplied arguments. -func NewHistorical(unit, key string, options ...Option) (*HistoricalWeatherData, error) { - h := &HistoricalWeatherData{ - Settings: NewSettings(), - } - - unitChoice := strings.ToUpper(unit) - if !ValidDataUnit(unitChoice) { - return nil, errUnitUnavailable - } - h.Unit = DataUnits[unitChoice] - - var err error - h.Key, err = setKey(key) - if err != nil { - return nil, err - } - - if err := setOptions(h.Settings, options); err != nil { - return nil, err - } - return h, nil -} - -// HistoryByName will return the history for the provided location -func (h *HistoricalWeatherData) HistoryByName(location string) error { - response, err := h.client.Get(fmt.Sprintf(fmt.Sprintf(historyURL, "city?appid=%s&q=%s"), h.Key, url.QueryEscape(location))) - if err != nil { - return err - } - defer response.Body.Close() - - if err = json.NewDecoder(response.Body).Decode(&h); err != nil { - return err - } - - return nil -} - -// HistoryByID will return the history for the provided location ID -func (h *HistoricalWeatherData) HistoryByID(id int, hp ...*HistoricalParameters) error { - if len(hp) > 0 { - response, err := h.client.Get(fmt.Sprintf(fmt.Sprintf(historyURL, "city?appid=%s&id=%d&type=hour&start%d&end=%d&cnt=%d"), h.Key, id, hp[0].Start, hp[0].End, hp[0].Cnt)) - if err != nil { - return err - } - defer response.Body.Close() - - if err = json.NewDecoder(response.Body).Decode(&h); err != nil { - return err - } - } - - response, err := h.client.Get(fmt.Sprintf(fmt.Sprintf(historyURL, "city?appid=%s&id=%d"), h.Key, id)) - if err != nil { - return err - } - defer response.Body.Close() - - if err = json.NewDecoder(response.Body).Decode(&h); err != nil { - return err - } - - return nil -} - -// HistoryByCoord will return the history for the provided coordinates -func (h *HistoricalWeatherData) HistoryByCoord(location *Coordinates, hp *HistoricalParameters) error { - response, err := h.client.Get(fmt.Sprintf(fmt.Sprintf(historyURL, "appid=%s&lat=%f&lon=%f&start=%d&end=%d"), h.Key, location.Latitude, location.Longitude, hp.Start, hp.End)) - if err != nil { - return err - } - defer response.Body.Close() - - if err = json.NewDecoder(response.Body).Decode(&h); err != nil { - return err - } - - return nil -} diff --git a/vendor/github.com/briandowns/openweathermap/openweathermap.go b/vendor/github.com/briandowns/openweathermap/openweathermap.go deleted file mode 100644 index b256c27d..00000000 --- a/vendor/github.com/briandowns/openweathermap/openweathermap.go +++ /dev/null @@ -1,228 +0,0 @@ -// Copyright 2015 Brian J. Downs -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package openweathermap - -import ( - "errors" - "net/http" -) - -var errUnitUnavailable = errors.New("unit unavailable") -var errLangUnavailable = errors.New("language unavailable") -var errInvalidKey = errors.New("invalid api key") -var errInvalidOption = errors.New("invalid option") -var errInvalidHttpClient = errors.New("invalid http client") -var errForecastUnavailable = errors.New("forecast unavailable") - -// DataUnits represents the character chosen to represent the temperature notation -var DataUnits = map[string]string{"C": "metric", "F": "imperial", "K": "internal"} -var ( - baseURL = "http://api.openweathermap.org/data/2.5/weather?%s" - iconURL = "http://openweathermap.org/img/w/%s" - stationURL = "http://api.openweathermap.org/data/2.5/station?id=%d" - forecast5Base = "http://api.openweathermap.org/data/2.5/forecast?appid=%s&%s&mode=json&units=%s&lang=%s&cnt=%d" - forecast16Base = "http://api.openweathermap.org/data/2.5/forecast/daily?appid=%s&%s&mode=json&units=%s&lang=%s&cnt=%d" - historyURL = "http://api.openweathermap.org/data/2.5/history/%s" - pollutionURL = "http://api.openweathermap.org/pollution/v1/co/" - uvURL = "http://api.openweathermap.org/data/2.5/" - dataPostURL = "http://openweathermap.org/data/post" -) - -// LangCodes holds all supported languages to be used -// inspried and sourced from @bambocher (github.com/bambocher) -var LangCodes = map[string]string{ - "EN": "English", - "RU": "Russian", - "IT": "Italian", - "ES": "Spanish", - "SP": "Spanish", - "UK": "Ukrainian", - "UA": "Ukrainian", - "DE": "German", - "PT": "Portuguese", - "RO": "Romanian", - "PL": "Polish", - "FI": "Finnish", - "NL": "Dutch", - "FR": "French", - "BG": "Bulgarian", - "SV": "Swedish", - "SE": "Swedish", - "TR": "Turkish", - "HR": "Croatian", - "CA": "Catalan", - "ZH_TW": "Chinese Traditional", - "ZH": "Chinese Simplified", - "ZH_CN": "Chinese Simplified", -} - -// Config will hold default settings to be passed into the -// "NewCurrent, NewForecast, etc}" functions. -type Config struct { - Mode string // user choice of JSON or XML - Unit string // measurement for results to be displayed. F, C, or K - Lang string // should reference a key in the LangCodes map - APIKey string // API Key for connecting to the OWM - Username string // Username for posting data - Password string // Pasword for posting data -} - -// APIError returned on failed API calls. -type APIError struct { - Message string `json:"message"` - COD string `json:"cod"` -} - -// Coordinates struct holds longitude and latitude data in returned -// JSON or as parameter data for requests using longitude and latitude. -type Coordinates struct { - Longitude float64 `json:"lon"` - Latitude float64 `json:"lat"` -} - -// Sys struct contains general information about the request -// and the surrounding area for where the request was made. -type Sys struct { - Type int `json:"type"` - ID int `json:"id"` - Message float64 `json:"message"` - Country string `json:"country"` - Sunrise int `json:"sunrise"` - Sunset int `json:"sunset"` -} - -// Wind struct contains the speed and degree of the wind. -type Wind struct { - Speed float64 `json:"speed"` - Deg float64 `json:"deg"` -} - -// Weather struct holds high-level, basic info on the returned -// data. -type Weather struct { - ID int `json:"id"` - Main string `json:"main"` - Description string `json:"description"` - Icon string `json:"icon"` -} - -// Main struct contains the temperates, humidity, pressure for the request. -type Main struct { - Temp float64 `json:"temp"` - TempMin float64 `json:"temp_min"` - TempMax float64 `json:"temp_max"` - Pressure float64 `json:"pressure"` - SeaLevel float64 `json:"sea_level"` - GrndLevel float64 `json:"grnd_level"` - Humidity int `json:"humidity"` -} - -// Clouds struct holds data regarding cloud cover. -type Clouds struct { - All int `json:"all"` -} - -// return key -// } -func setKey(key string) (string, error) { - if err := ValidAPIKey(key); err != nil { - return "", err - } - return key, nil -} - -// ValidDataUnit makes sure the string passed in is an accepted -// unit of measure to be used for the return data. -func ValidDataUnit(u string) bool { - for d := range DataUnits { - if u == d { - return true - } - } - return false -} - -// ValidLangCode makes sure the string passed in is an -// acceptable lang code. -func ValidLangCode(c string) bool { - for d := range LangCodes { - if c == d { - return true - } - } - return false -} - -// ValidDataUnitSymbol makes sure the string passed in is an -// acceptable data unit symbol. -func ValidDataUnitSymbol(u string) bool { - for _, d := range DataUnits { - if u == d { - return true - } - } - return false -} - -// ValidAPIKey makes sure that the key given is a valid one -func ValidAPIKey(key string) error { - if len(key) != 32 { - return errors.New("invalid key") - } - return nil -} - -// CheckAPIKeyExists will see if an API key has been set. -func (c *Config) CheckAPIKeyExists() bool { return len(c.APIKey) > 1 } - -// Settings holds the client settings -type Settings struct { - client *http.Client -} - -// NewSettings returns a new Setting pointer with default http client. -func NewSettings() *Settings { - return &Settings{ - client: http.DefaultClient, - } -} - -// Optional client settings -type Option func(s *Settings) error - -// WithHttpClient sets custom http client when creating a new Client. -func WithHttpClient(c *http.Client) Option { - return func(s *Settings) error { - if c == nil { - return errInvalidHttpClient - } - s.client = c - return nil - } -} - -// setOptions sets Optional client settings to the Settings pointer -func setOptions(settings *Settings, options []Option) error { - for _, option := range options { - if option == nil { - return errInvalidOption - } - err := option(settings) - if err != nil { - return err - } - } - return nil -} diff --git a/vendor/github.com/briandowns/openweathermap/pollution.go b/vendor/github.com/briandowns/openweathermap/pollution.go deleted file mode 100644 index abb5b2dd..00000000 --- a/vendor/github.com/briandowns/openweathermap/pollution.go +++ /dev/null @@ -1,82 +0,0 @@ -package openweathermap - -import ( - "encoding/json" - "fmt" - "strconv" -) - -// DateTimeAliases holds the alias the pollution API supports in lieu -// of an ISO 8601 timestamp -var DateTimeAliases = []string{"current"} - -// ValidAlias checks to make sure the given alias is a valid one -func ValidAlias(alias string) bool { - for _, i := range DateTimeAliases { - if i == alias { - return true - } - } - return false -} - -// PollutionData holds the pollution specific data from the call -type PollutionData struct { - Precision float64 `json:"precision"` - Pressure float64 `json:"pressure"` - Value float64 `json:"value"` -} - -// PollutionParameters holds the parameters needed to make -// a call to the pollution API -type PollutionParameters struct { - Location Coordinates - Datetime string // this should be either ISO 8601 or an alias -} - -// Pollution holds the data returnd from the pollution API -type Pollution struct { - Time string `json:"time"` - Location Coordinates `json:"location"` - Data []PollutionData `json:"data"` - Key string - *Settings -} - -// NewPollution creates a new reference to Pollution -func NewPollution(key string, options ...Option) (*Pollution, error) { - k, err := setKey(key) - if err != nil { - return nil, err - } - p := &Pollution{ - Key: k, - Settings: NewSettings(), - } - - if err := setOptions(p.Settings, options); err != nil { - return nil, err - } - return p, nil -} - -// PollutionByParams gets the pollution data based on the given parameters -func (p *Pollution) PollutionByParams(params *PollutionParameters) error { - url := fmt.Sprintf("%s%s,%s/%s.json?appid=%s", - pollutionURL, - strconv.FormatFloat(params.Location.Latitude, 'f', -1, 64), - strconv.FormatFloat(params.Location.Longitude, 'f', -1, 64), - params.Datetime, - p.Key) - response, err := p.client.Get(url) - if err != nil { - return err - } - defer response.Body.Close() - - if err = json.NewDecoder(response.Body).Decode(&p); err != nil { - return err - } - - return nil -} diff --git a/vendor/github.com/briandowns/openweathermap/station.go b/vendor/github.com/briandowns/openweathermap/station.go deleted file mode 100644 index 731cf08e..00000000 --- a/vendor/github.com/briandowns/openweathermap/station.go +++ /dev/null @@ -1,80 +0,0 @@ -// Copyright 2015 Brian J. Downs -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package openweathermap - -import ( - "fmt" - "net/http" - "net/url" -) - -// Slice of type string of the valid parameters to be sent from a station. -// The API refers to this data as the "Weather station data transmission protocol" -var StationDataParameters = []string{ - "wind_dir", // Wind direction - "wind_speed", // Wind speed - "wind_gust", // Wind gust speed - "temp", // Temperature - "humidity", // Relative humidty - "pressure", // Atmospheric pressure - "rain_1h", // Rain in the last hour - "rain_24h", // Rain in the last 24 hours - "rain_today", // Rain since midnight - "snow", // Snow in the last 24 hours - "lum", // Brightness - "lat", // Latitude - "long", // Longitude - "alt", // Altitude - "radiation", // Radiation - "dewpoint", // Dew point - "uv", // UV index - "name", // Weather station name -} - -// ValidateStationDataParameter will make sure that whatever parameter -// supplied is one that can actually be used in the POST request. -func ValidateStationDataParameter(param string) bool { - for _, p := range StationDataParameters { - if param == p { - return true - } - } - - return false -} - -// ConvertToURLValues will convert a map to a url.Values instance. We're -// taking a map[string]string instead of something more type specific since -// the url.Values instance only takes strings to create the URL values. -func ConvertToURLValues(data map[string]string) string { - v := url.Values{} - - for key, val := range data { - v.Set(key, val) - } - - return v.Encode() -} - -// SendStationData will send an instance the provided url.Values to the -// provided URL. -func SendStationData(data url.Values) { - resp, err := http.PostForm(dataPostURL, data) - if err != nil { - fmt.Println(err) - } - - fmt.Println(resp.Body) -} diff --git a/vendor/github.com/briandowns/openweathermap/uv.go b/vendor/github.com/briandowns/openweathermap/uv.go deleted file mode 100644 index 2b10b9d1..00000000 --- a/vendor/github.com/briandowns/openweathermap/uv.go +++ /dev/null @@ -1,170 +0,0 @@ -package openweathermap - -import ( - "encoding/json" - "errors" - "fmt" - "time" -) - -var errInvalidUVIndex = errors.New("invalid UV index value") - -// UVDataPoints holds the UV specific data -type UVDataPoints struct { - DT int64 `json:"dt"` - Value float64 `json:"value"` -} - -// UV contains the response from the OWM UV API -type UV struct { - Coord []float64 `json:"coord"` - Data []UVDataPoints `json:"data,omitempty"` - /*Data []struct { - DT int64 `json:"dt"` - Value float64 `json:"value"` - } `json:"data,omitempty"`*/ - DT int64 `json:"dt,omitempty"` - Value float64 `json:"value,omitempty"` - Key string - *Settings -} - -// NewUV creates a new reference to UV -func NewUV(key string, options ...Option) (*UV, error) { - k, err := setKey(key) - if err != nil { - return nil, err - } - u := &UV{ - Key: k, - Settings: NewSettings(), - } - - if err := setOptions(u.Settings, options); err != nil { - return nil, err - } - return u, nil -} - -// Current gets the current UV data for the given coordinates -func (u *UV) Current(coord *Coordinates) error { - response, err := u.client.Get(fmt.Sprintf("%suvi?lat=%f&lon=%f&appid=%s", uvURL, coord.Latitude, coord.Longitude, u.Key)) - if err != nil { - return err - } - defer response.Body.Close() - - if err = json.NewDecoder(response.Body).Decode(&u); err != nil { - return err - } - - return nil -} - -// Historical gets the historical UV data for the coordinates and times -func (u *UV) Historical(coord *Coordinates, start, end time.Time) error { - response, err := u.client.Get(fmt.Sprintf("%shistory?lat=%f&lon=%f&start=%d&end=%d&appid=%s", uvURL, coord.Latitude, coord.Longitude, start.Unix(), end.Unix(), u.Key)) - if err != nil { - return err - } - defer response.Body.Close() - - if err = json.NewDecoder(response.Body).Decode(&u); err != nil { - return err - } - - return nil -} - -// UVIndexInfo -type UVIndexInfo struct { - // UVIndex holds the range of the index - UVIndex []float64 - - // MGC represents the Media graphic color - MGC string - - // Risk of harm from unprotected sun exposure, for the average adult - Risk string - - // RecommendedProtection contains information on what a person should - // do when outside in the associated UVIndex - RecommendedProtection string -} - -// UVData contains data in regards to UV index ranges, rankings, and steps for protection -var UVData = []UVIndexInfo{ - { - UVIndex: []float64{0, 2.9}, - MGC: "Green", - Risk: "Low", - RecommendedProtection: "Wear sunglasses on bright days; use sunscreen if there is snow on the ground, which reflects UV radiation, or if you have particularly fair skin.", - }, - { - UVIndex: []float64{3, 5.9}, - MGC: "Yellow", - Risk: "Moderate", - RecommendedProtection: "Take precautions, such as covering up, if you will be outside. Stay in shade near midday when the sun is strongest.", - }, - { - UVIndex: []float64{6, 7.9}, - MGC: "Orange", - Risk: "High", - RecommendedProtection: "Cover the body with sun protective clothing, use SPF 30+ sunscreen, wear a hat, reduce time in the sun within three hours of solar noon, and wear sunglasses.", - }, - { - UVIndex: []float64{8, 10.9}, - MGC: "Red", - Risk: "Very high", - RecommendedProtection: "Wear SPF 30+ sunscreen, a shirt, sunglasses, and a wide-brimmed hat. Do not stay in the sun for too long.", - }, - { - UVIndex: []float64{11}, - MGC: "Violet", - Risk: "Extreme", - RecommendedProtection: "Take all precautions: Wear SPF 30+ sunscreen, a long-sleeved shirt and trousers, sunglasses, and a very broad hat. Avoid the sun within three hours of solar noon.", - }, -} - -// UVInformation provides information on the given UV data which includes the severity -// and "Recommended protection" -func (u *UV) UVInformation() ([]UVIndexInfo, error) { - switch { - case u.Value != 0: - switch { - case u.Value < 2.9: - return []UVIndexInfo{UVData[0]}, nil - case u.Value > 3 && u.Value < 5.9: - return []UVIndexInfo{UVData[1]}, nil - case u.Value > 6 && u.Value < 7.9: - return []UVIndexInfo{UVData[2]}, nil - case u.Value > 8 && u.Value < 10.9: - return []UVIndexInfo{UVData[3]}, nil - case u.Value >= 11: - return []UVIndexInfo{UVData[4]}, nil - default: - return nil, errInvalidUVIndex - } - - case len(u.Data) > 0: - var uvi []UVIndexInfo - for _, i := range u.Data { - switch { - case i.Value < 2.9: - uvi = append(uvi, UVData[0]) - case i.Value > 3 && u.Value < 5.9: - uvi = append(uvi, UVData[1]) - case i.Value > 6 && u.Value < 7.9: - uvi = append(uvi, UVData[2]) - case i.Value > 8 && u.Value < 10.9: - uvi = append(uvi, UVData[3]) - case i.Value >= 11: - uvi = append(uvi, UVData[4]) - default: - return nil, errInvalidUVIndex - } - } - } - - return nil, nil -} diff --git a/vendor/github.com/cenkalti/backoff/.gitignore b/vendor/github.com/cenkalti/backoff/.gitignore deleted file mode 100644 index 00268614..00000000 --- a/vendor/github.com/cenkalti/backoff/.gitignore +++ /dev/null @@ -1,22 +0,0 @@ -# Compiled Object files, Static and Dynamic libs (Shared Objects) -*.o -*.a -*.so - -# Folders -_obj -_test - -# Architecture specific extensions/prefixes -*.[568vq] -[568vq].out - -*.cgo1.go -*.cgo2.c -_cgo_defun.c -_cgo_gotypes.go -_cgo_export.* - -_testmain.go - -*.exe diff --git a/vendor/github.com/cenkalti/backoff/.travis.yml b/vendor/github.com/cenkalti/backoff/.travis.yml deleted file mode 100644 index 47a6a46e..00000000 --- a/vendor/github.com/cenkalti/backoff/.travis.yml +++ /dev/null @@ -1,10 +0,0 @@ -language: go -go: - - 1.7 - - 1.x - - tip -before_install: - - go get github.com/mattn/goveralls - - go get golang.org/x/tools/cmd/cover -script: - - $HOME/gopath/bin/goveralls -service=travis-ci diff --git a/vendor/github.com/cenkalti/backoff/LICENSE b/vendor/github.com/cenkalti/backoff/LICENSE deleted file mode 100644 index 89b81799..00000000 --- a/vendor/github.com/cenkalti/backoff/LICENSE +++ /dev/null @@ -1,20 +0,0 @@ -The MIT License (MIT) - -Copyright (c) 2014 Cenk Altı - -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of -the Software, and to permit persons to whom the Software is furnished to do so, -subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS -FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR -COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER -IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/vendor/github.com/cenkalti/backoff/README.md b/vendor/github.com/cenkalti/backoff/README.md deleted file mode 100644 index 55ebc98f..00000000 --- a/vendor/github.com/cenkalti/backoff/README.md +++ /dev/null @@ -1,30 +0,0 @@ -# Exponential Backoff [![GoDoc][godoc image]][godoc] [![Build Status][travis image]][travis] [![Coverage Status][coveralls image]][coveralls] - -This is a Go port of the exponential backoff algorithm from [Google's HTTP Client Library for Java][google-http-java-client]. - -[Exponential backoff][exponential backoff wiki] -is an algorithm that uses feedback to multiplicatively decrease the rate of some process, -in order to gradually find an acceptable rate. -The retries exponentially increase and stop increasing when a certain threshold is met. - -## Usage - -See https://godoc.org/github.com/cenkalti/backoff#pkg-examples - -## Contributing - -* I would like to keep this library as small as possible. -* Please don't send a PR without opening an issue and discussing it first. -* If proposed change is not a common use case, I will probably not accept it. - -[godoc]: https://godoc.org/github.com/cenkalti/backoff -[godoc image]: https://godoc.org/github.com/cenkalti/backoff?status.png -[travis]: https://travis-ci.org/cenkalti/backoff -[travis image]: https://travis-ci.org/cenkalti/backoff.png?branch=master -[coveralls]: https://coveralls.io/github/cenkalti/backoff?branch=master -[coveralls image]: https://coveralls.io/repos/github/cenkalti/backoff/badge.svg?branch=master - -[google-http-java-client]: https://github.com/google/google-http-java-client/blob/da1aa993e90285ec18579f1553339b00e19b3ab5/google-http-client/src/main/java/com/google/api/client/util/ExponentialBackOff.java -[exponential backoff wiki]: http://en.wikipedia.org/wiki/Exponential_backoff - -[advanced example]: https://godoc.org/github.com/cenkalti/backoff#example_ diff --git a/vendor/github.com/cenkalti/backoff/backoff.go b/vendor/github.com/cenkalti/backoff/backoff.go deleted file mode 100644 index 3676ee40..00000000 --- a/vendor/github.com/cenkalti/backoff/backoff.go +++ /dev/null @@ -1,66 +0,0 @@ -// Package backoff implements backoff algorithms for retrying operations. -// -// Use Retry function for retrying operations that may fail. -// If Retry does not meet your needs, -// copy/paste the function into your project and modify as you wish. -// -// There is also Ticker type similar to time.Ticker. -// You can use it if you need to work with channels. -// -// See Examples section below for usage examples. -package backoff - -import "time" - -// BackOff is a backoff policy for retrying an operation. -type BackOff interface { - // NextBackOff returns the duration to wait before retrying the operation, - // or backoff. Stop to indicate that no more retries should be made. - // - // Example usage: - // - // duration := backoff.NextBackOff(); - // if (duration == backoff.Stop) { - // // Do not retry operation. - // } else { - // // Sleep for duration and retry operation. - // } - // - NextBackOff() time.Duration - - // Reset to initial state. - Reset() -} - -// Stop indicates that no more retries should be made for use in NextBackOff(). -const Stop time.Duration = -1 - -// ZeroBackOff is a fixed backoff policy whose backoff time is always zero, -// meaning that the operation is retried immediately without waiting, indefinitely. -type ZeroBackOff struct{} - -func (b *ZeroBackOff) Reset() {} - -func (b *ZeroBackOff) NextBackOff() time.Duration { return 0 } - -// StopBackOff is a fixed backoff policy that always returns backoff.Stop for -// NextBackOff(), meaning that the operation should never be retried. -type StopBackOff struct{} - -func (b *StopBackOff) Reset() {} - -func (b *StopBackOff) NextBackOff() time.Duration { return Stop } - -// ConstantBackOff is a backoff policy that always returns the same backoff delay. -// This is in contrast to an exponential backoff policy, -// which returns a delay that grows longer as you call NextBackOff() over and over again. -type ConstantBackOff struct { - Interval time.Duration -} - -func (b *ConstantBackOff) Reset() {} -func (b *ConstantBackOff) NextBackOff() time.Duration { return b.Interval } - -func NewConstantBackOff(d time.Duration) *ConstantBackOff { - return &ConstantBackOff{Interval: d} -} diff --git a/vendor/github.com/cenkalti/backoff/context.go b/vendor/github.com/cenkalti/backoff/context.go deleted file mode 100644 index 7706faa2..00000000 --- a/vendor/github.com/cenkalti/backoff/context.go +++ /dev/null @@ -1,63 +0,0 @@ -package backoff - -import ( - "context" - "time" -) - -// BackOffContext is a backoff policy that stops retrying after the context -// is canceled. -type BackOffContext interface { - BackOff - Context() context.Context -} - -type backOffContext struct { - BackOff - ctx context.Context -} - -// WithContext returns a BackOffContext with context ctx -// -// ctx must not be nil -func WithContext(b BackOff, ctx context.Context) BackOffContext { - if ctx == nil { - panic("nil context") - } - - if b, ok := b.(*backOffContext); ok { - return &backOffContext{ - BackOff: b.BackOff, - ctx: ctx, - } - } - - return &backOffContext{ - BackOff: b, - ctx: ctx, - } -} - -func ensureContext(b BackOff) BackOffContext { - if cb, ok := b.(BackOffContext); ok { - return cb - } - return WithContext(b, context.Background()) -} - -func (b *backOffContext) Context() context.Context { - return b.ctx -} - -func (b *backOffContext) NextBackOff() time.Duration { - select { - case <-b.ctx.Done(): - return Stop - default: - } - next := b.BackOff.NextBackOff() - if deadline, ok := b.ctx.Deadline(); ok && deadline.Sub(time.Now()) < next { - return Stop - } - return next -} diff --git a/vendor/github.com/cenkalti/backoff/exponential.go b/vendor/github.com/cenkalti/backoff/exponential.go deleted file mode 100644 index a031a659..00000000 --- a/vendor/github.com/cenkalti/backoff/exponential.go +++ /dev/null @@ -1,153 +0,0 @@ -package backoff - -import ( - "math/rand" - "time" -) - -/* -ExponentialBackOff is a backoff implementation that increases the backoff -period for each retry attempt using a randomization function that grows exponentially. - -NextBackOff() is calculated using the following formula: - - randomized interval = - RetryInterval * (random value in range [1 - RandomizationFactor, 1 + RandomizationFactor]) - -In other words NextBackOff() will range between the randomization factor -percentage below and above the retry interval. - -For example, given the following parameters: - - RetryInterval = 2 - RandomizationFactor = 0.5 - Multiplier = 2 - -the actual backoff period used in the next retry attempt will range between 1 and 3 seconds, -multiplied by the exponential, that is, between 2 and 6 seconds. - -Note: MaxInterval caps the RetryInterval and not the randomized interval. - -If the time elapsed since an ExponentialBackOff instance is created goes past the -MaxElapsedTime, then the method NextBackOff() starts returning backoff.Stop. - -The elapsed time can be reset by calling Reset(). - -Example: Given the following default arguments, for 10 tries the sequence will be, -and assuming we go over the MaxElapsedTime on the 10th try: - - Request # RetryInterval (seconds) Randomized Interval (seconds) - - 1 0.5 [0.25, 0.75] - 2 0.75 [0.375, 1.125] - 3 1.125 [0.562, 1.687] - 4 1.687 [0.8435, 2.53] - 5 2.53 [1.265, 3.795] - 6 3.795 [1.897, 5.692] - 7 5.692 [2.846, 8.538] - 8 8.538 [4.269, 12.807] - 9 12.807 [6.403, 19.210] - 10 19.210 backoff.Stop - -Note: Implementation is not thread-safe. -*/ -type ExponentialBackOff struct { - InitialInterval time.Duration - RandomizationFactor float64 - Multiplier float64 - MaxInterval time.Duration - // After MaxElapsedTime the ExponentialBackOff stops. - // It never stops if MaxElapsedTime == 0. - MaxElapsedTime time.Duration - Clock Clock - - currentInterval time.Duration - startTime time.Time -} - -// Clock is an interface that returns current time for BackOff. -type Clock interface { - Now() time.Time -} - -// Default values for ExponentialBackOff. -const ( - DefaultInitialInterval = 500 * time.Millisecond - DefaultRandomizationFactor = 0.5 - DefaultMultiplier = 1.5 - DefaultMaxInterval = 60 * time.Second - DefaultMaxElapsedTime = 15 * time.Minute -) - -// NewExponentialBackOff creates an instance of ExponentialBackOff using default values. -func NewExponentialBackOff() *ExponentialBackOff { - b := &ExponentialBackOff{ - InitialInterval: DefaultInitialInterval, - RandomizationFactor: DefaultRandomizationFactor, - Multiplier: DefaultMultiplier, - MaxInterval: DefaultMaxInterval, - MaxElapsedTime: DefaultMaxElapsedTime, - Clock: SystemClock, - } - b.Reset() - return b -} - -type systemClock struct{} - -func (t systemClock) Now() time.Time { - return time.Now() -} - -// SystemClock implements Clock interface that uses time.Now(). -var SystemClock = systemClock{} - -// Reset the interval back to the initial retry interval and restarts the timer. -func (b *ExponentialBackOff) Reset() { - b.currentInterval = b.InitialInterval - b.startTime = b.Clock.Now() -} - -// NextBackOff calculates the next backoff interval using the formula: -// Randomized interval = RetryInterval +/- (RandomizationFactor * RetryInterval) -func (b *ExponentialBackOff) NextBackOff() time.Duration { - // Make sure we have not gone over the maximum elapsed time. - if b.MaxElapsedTime != 0 && b.GetElapsedTime() > b.MaxElapsedTime { - return Stop - } - defer b.incrementCurrentInterval() - return getRandomValueFromInterval(b.RandomizationFactor, rand.Float64(), b.currentInterval) -} - -// GetElapsedTime returns the elapsed time since an ExponentialBackOff instance -// is created and is reset when Reset() is called. -// -// The elapsed time is computed using time.Now().UnixNano(). It is -// safe to call even while the backoff policy is used by a running -// ticker. -func (b *ExponentialBackOff) GetElapsedTime() time.Duration { - return b.Clock.Now().Sub(b.startTime) -} - -// Increments the current interval by multiplying it with the multiplier. -func (b *ExponentialBackOff) incrementCurrentInterval() { - // Check for overflow, if overflow is detected set the current interval to the max interval. - if float64(b.currentInterval) >= float64(b.MaxInterval)/b.Multiplier { - b.currentInterval = b.MaxInterval - } else { - b.currentInterval = time.Duration(float64(b.currentInterval) * b.Multiplier) - } -} - -// Returns a random value from the following interval: -// [randomizationFactor * currentInterval, randomizationFactor * currentInterval]. -func getRandomValueFromInterval(randomizationFactor, random float64, currentInterval time.Duration) time.Duration { - var delta = randomizationFactor * float64(currentInterval) - var minInterval = float64(currentInterval) - delta - var maxInterval = float64(currentInterval) + delta - - // Get a random value from the range [minInterval, maxInterval]. - // The formula used below has a +1 because if the minInterval is 1 and the maxInterval is 3 then - // we want a 33% chance for selecting either 1, 2 or 3. - return time.Duration(minInterval + (random * (maxInterval - minInterval + 1))) -} diff --git a/vendor/github.com/cenkalti/backoff/retry.go b/vendor/github.com/cenkalti/backoff/retry.go deleted file mode 100644 index e936a506..00000000 --- a/vendor/github.com/cenkalti/backoff/retry.go +++ /dev/null @@ -1,82 +0,0 @@ -package backoff - -import "time" - -// An Operation is executing by Retry() or RetryNotify(). -// The operation will be retried using a backoff policy if it returns an error. -type Operation func() error - -// Notify is a notify-on-error function. It receives an operation error and -// backoff delay if the operation failed (with an error). -// -// NOTE that if the backoff policy stated to stop retrying, -// the notify function isn't called. -type Notify func(error, time.Duration) - -// Retry the operation o until it does not return error or BackOff stops. -// o is guaranteed to be run at least once. -// -// If o returns a *PermanentError, the operation is not retried, and the -// wrapped error is returned. -// -// Retry sleeps the goroutine for the duration returned by BackOff after a -// failed operation returns. -func Retry(o Operation, b BackOff) error { return RetryNotify(o, b, nil) } - -// RetryNotify calls notify function with the error and wait duration -// for each failed attempt before sleep. -func RetryNotify(operation Operation, b BackOff, notify Notify) error { - var err error - var next time.Duration - var t *time.Timer - - cb := ensureContext(b) - - b.Reset() - for { - if err = operation(); err == nil { - return nil - } - - if permanent, ok := err.(*PermanentError); ok { - return permanent.Err - } - - if next = cb.NextBackOff(); next == Stop { - return err - } - - if notify != nil { - notify(err, next) - } - - if t == nil { - t = time.NewTimer(next) - defer t.Stop() - } else { - t.Reset(next) - } - - select { - case <-cb.Context().Done(): - return err - case <-t.C: - } - } -} - -// PermanentError signals that the operation should not be retried. -type PermanentError struct { - Err error -} - -func (e *PermanentError) Error() string { - return e.Err.Error() -} - -// Permanent wraps the given err in a *PermanentError. -func Permanent(err error) *PermanentError { - return &PermanentError{ - Err: err, - } -} diff --git a/vendor/github.com/cenkalti/backoff/ticker.go b/vendor/github.com/cenkalti/backoff/ticker.go deleted file mode 100644 index e41084b0..00000000 --- a/vendor/github.com/cenkalti/backoff/ticker.go +++ /dev/null @@ -1,82 +0,0 @@ -package backoff - -import ( - "sync" - "time" -) - -// Ticker holds a channel that delivers `ticks' of a clock at times reported by a BackOff. -// -// Ticks will continue to arrive when the previous operation is still running, -// so operations that take a while to fail could run in quick succession. -type Ticker struct { - C <-chan time.Time - c chan time.Time - b BackOffContext - stop chan struct{} - stopOnce sync.Once -} - -// NewTicker returns a new Ticker containing a channel that will send -// the time at times specified by the BackOff argument. Ticker is -// guaranteed to tick at least once. The channel is closed when Stop -// method is called or BackOff stops. It is not safe to manipulate the -// provided backoff policy (notably calling NextBackOff or Reset) -// while the ticker is running. -func NewTicker(b BackOff) *Ticker { - c := make(chan time.Time) - t := &Ticker{ - C: c, - c: c, - b: ensureContext(b), - stop: make(chan struct{}), - } - t.b.Reset() - go t.run() - return t -} - -// Stop turns off a ticker. After Stop, no more ticks will be sent. -func (t *Ticker) Stop() { - t.stopOnce.Do(func() { close(t.stop) }) -} - -func (t *Ticker) run() { - c := t.c - defer close(c) - - // Ticker is guaranteed to tick at least once. - afterC := t.send(time.Now()) - - for { - if afterC == nil { - return - } - - select { - case tick := <-afterC: - afterC = t.send(tick) - case <-t.stop: - t.c = nil // Prevent future ticks from being sent to the channel. - return - case <-t.b.Context().Done(): - return - } - } -} - -func (t *Ticker) send(tick time.Time) <-chan time.Time { - select { - case t.c <- tick: - case <-t.stop: - return nil - } - - next := t.b.NextBackOff() - if next == Stop { - t.Stop() - return nil - } - - return time.After(next) -} diff --git a/vendor/github.com/cenkalti/backoff/tries.go b/vendor/github.com/cenkalti/backoff/tries.go deleted file mode 100644 index cfeefd9b..00000000 --- a/vendor/github.com/cenkalti/backoff/tries.go +++ /dev/null @@ -1,35 +0,0 @@ -package backoff - -import "time" - -/* -WithMaxRetries creates a wrapper around another BackOff, which will -return Stop if NextBackOff() has been called too many times since -the last time Reset() was called - -Note: Implementation is not thread-safe. -*/ -func WithMaxRetries(b BackOff, max uint64) BackOff { - return &backOffTries{delegate: b, maxTries: max} -} - -type backOffTries struct { - delegate BackOff - maxTries uint64 - numTries uint64 -} - -func (b *backOffTries) NextBackOff() time.Duration { - if b.maxTries > 0 { - if b.maxTries <= b.numTries { - return Stop - } - b.numTries++ - } - return b.delegate.NextBackOff() -} - -func (b *backOffTries) Reset() { - b.numTries = 0 - b.delegate.Reset() -} diff --git a/vendor/github.com/danwakefield/fnmatch/.gitignore b/vendor/github.com/danwakefield/fnmatch/.gitignore deleted file mode 100644 index daf913b1..00000000 --- a/vendor/github.com/danwakefield/fnmatch/.gitignore +++ /dev/null @@ -1,24 +0,0 @@ -# Compiled Object files, Static and Dynamic libs (Shared Objects) -*.o -*.a -*.so - -# Folders -_obj -_test - -# Architecture specific extensions/prefixes -*.[568vq] -[568vq].out - -*.cgo1.go -*.cgo2.c -_cgo_defun.c -_cgo_gotypes.go -_cgo_export.* - -_testmain.go - -*.exe -*.test -*.prof diff --git a/vendor/github.com/danwakefield/fnmatch/LICENSE b/vendor/github.com/danwakefield/fnmatch/LICENSE deleted file mode 100644 index 0dc9851a..00000000 --- a/vendor/github.com/danwakefield/fnmatch/LICENSE +++ /dev/null @@ -1,23 +0,0 @@ -Copyright (c) 2016, Daniel Wakefield -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - -* Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - -* Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/vendor/github.com/danwakefield/fnmatch/README.md b/vendor/github.com/danwakefield/fnmatch/README.md deleted file mode 100644 index b8d71566..00000000 --- a/vendor/github.com/danwakefield/fnmatch/README.md +++ /dev/null @@ -1,4 +0,0 @@ -# fnmatch -Updated clone of kballards golang fnmatch gist (https://gist.github.com/kballard/272720) - - diff --git a/vendor/github.com/danwakefield/fnmatch/fnmatch.go b/vendor/github.com/danwakefield/fnmatch/fnmatch.go deleted file mode 100644 index 07ac7b37..00000000 --- a/vendor/github.com/danwakefield/fnmatch/fnmatch.go +++ /dev/null @@ -1,219 +0,0 @@ -// Provide string-matching based on fnmatch.3 -package fnmatch - -// There are a few issues that I believe to be bugs, but this implementation is -// based as closely as possible on BSD fnmatch. These bugs are present in the -// source of BSD fnmatch, and so are replicated here. The issues are as follows: -// -// * FNM_PERIOD is no longer observed after the first * in a pattern -// This only applies to matches done with FNM_PATHNAME as well -// * FNM_PERIOD doesn't apply to ranges. According to the documentation, -// a period must be matched explicitly, but a range will match it too - -import ( - "unicode" - "unicode/utf8" -) - -const ( - FNM_NOESCAPE = (1 << iota) - FNM_PATHNAME - FNM_PERIOD - - FNM_LEADING_DIR - FNM_CASEFOLD - - FNM_IGNORECASE = FNM_CASEFOLD - FNM_FILE_NAME = FNM_PATHNAME -) - -func unpackRune(str *string) rune { - rune, size := utf8.DecodeRuneInString(*str) - *str = (*str)[size:] - return rune -} - -// Matches the pattern against the string, with the given flags, -// and returns true if the match is successful. -// This function should match fnmatch.3 as closely as possible. -func Match(pattern, s string, flags int) bool { - // The implementation for this function was patterned after the BSD fnmatch.c - // source found at http://src.gnu-darwin.org/src/contrib/csup/fnmatch.c.html - noescape := (flags&FNM_NOESCAPE != 0) - pathname := (flags&FNM_PATHNAME != 0) - period := (flags&FNM_PERIOD != 0) - leadingdir := (flags&FNM_LEADING_DIR != 0) - casefold := (flags&FNM_CASEFOLD != 0) - // the following is some bookkeeping that the original fnmatch.c implementation did not do - // We are forced to do this because we're not keeping indexes into C strings but rather - // processing utf8-encoded strings. Use a custom unpacker to maintain our state for us - sAtStart := true - sLastAtStart := true - sLastSlash := false - sLastUnpacked := rune(0) - unpackS := func() rune { - sLastSlash = (sLastUnpacked == '/') - sLastUnpacked = unpackRune(&s) - sLastAtStart = sAtStart - sAtStart = false - return sLastUnpacked - } - for len(pattern) > 0 { - c := unpackRune(&pattern) - switch c { - case '?': - if len(s) == 0 { - return false - } - sc := unpackS() - if pathname && sc == '/' { - return false - } - if period && sc == '.' && (sLastAtStart || (pathname && sLastSlash)) { - return false - } - case '*': - // collapse multiple *'s - // don't use unpackRune here, the only char we care to detect is ASCII - for len(pattern) > 0 && pattern[0] == '*' { - pattern = pattern[1:] - } - if period && s[0] == '.' && (sAtStart || (pathname && sLastUnpacked == '/')) { - return false - } - // optimize for patterns with * at end or before / - if len(pattern) == 0 { - if pathname { - return leadingdir || (strchr(s, '/') == -1) - } else { - return true - } - return !(pathname && strchr(s, '/') >= 0) - } else if pathname && pattern[0] == '/' { - offset := strchr(s, '/') - if offset == -1 { - return false - } else { - // we already know our pattern and string have a /, skip past it - s = s[offset:] // use unpackS here to maintain our bookkeeping state - unpackS() - pattern = pattern[1:] // we know / is one byte long - break - } - } - // general case, recurse - for test := s; len(test) > 0; unpackRune(&test) { - // I believe the (flags &^ FNM_PERIOD) is a bug when FNM_PATHNAME is specified - // but this follows exactly from how fnmatch.c implements it - if Match(pattern, test, (flags &^ FNM_PERIOD)) { - return true - } else if pathname && test[0] == '/' { - break - } - } - return false - case '[': - if len(s) == 0 { - return false - } - if pathname && s[0] == '/' { - return false - } - sc := unpackS() - if !rangematch(&pattern, sc, flags) { - return false - } - case '\\': - if !noescape { - if len(pattern) > 0 { - c = unpackRune(&pattern) - } - } - fallthrough - default: - if len(s) == 0 { - return false - } - sc := unpackS() - switch { - case sc == c: - case casefold && unicode.ToLower(sc) == unicode.ToLower(c): - default: - return false - } - } - } - return len(s) == 0 || (leadingdir && s[0] == '/') -} - -func rangematch(pattern *string, test rune, flags int) bool { - if len(*pattern) == 0 { - return false - } - casefold := (flags&FNM_CASEFOLD != 0) - noescape := (flags&FNM_NOESCAPE != 0) - if casefold { - test = unicode.ToLower(test) - } - var negate, matched bool - if (*pattern)[0] == '^' || (*pattern)[0] == '!' { - negate = true - (*pattern) = (*pattern)[1:] - } - for !matched && len(*pattern) > 1 && (*pattern)[0] != ']' { - c := unpackRune(pattern) - if !noescape && c == '\\' { - if len(*pattern) > 1 { - c = unpackRune(pattern) - } else { - return false - } - } - if casefold { - c = unicode.ToLower(c) - } - if (*pattern)[0] == '-' && len(*pattern) > 1 && (*pattern)[1] != ']' { - unpackRune(pattern) // skip the - - c2 := unpackRune(pattern) - if !noescape && c2 == '\\' { - if len(*pattern) > 0 { - c2 = unpackRune(pattern) - } else { - return false - } - } - if casefold { - c2 = unicode.ToLower(c2) - } - // this really should be more intelligent, but it looks like - // fnmatch.c does simple int comparisons, therefore we will as well - if c <= test && test <= c2 { - matched = true - } - } else if c == test { - matched = true - } - } - // skip past the rest of the pattern - ok := false - for !ok && len(*pattern) > 0 { - c := unpackRune(pattern) - if c == '\\' && len(*pattern) > 0 { - unpackRune(pattern) - } else if c == ']' { - ok = true - } - } - return ok && matched != negate -} - -// define strchr because strings.Index() seems a bit overkill -// returns the index of c in s, or -1 if there is no match -func strchr(s string, c rune) int { - for i, sc := range s { - if sc == c { - return i - } - } - return -1 -} diff --git a/vendor/github.com/darkSasori/todoist/.gitignore b/vendor/github.com/darkSasori/todoist/.gitignore deleted file mode 100644 index 9a990fe4..00000000 --- a/vendor/github.com/darkSasori/todoist/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -*.out -vendor/* diff --git a/vendor/github.com/darkSasori/todoist/.travis.yml b/vendor/github.com/darkSasori/todoist/.travis.yml deleted file mode 100644 index 0052d33c..00000000 --- a/vendor/github.com/darkSasori/todoist/.travis.yml +++ /dev/null @@ -1,19 +0,0 @@ -language: go - -notifications: - email: false - -go: - - "1.10.3" - - master - -before_install: - - curl https://raw.githubusercontent.com/golang/dep/master/install.sh | sh - - go get -u github.com/golang/lint/golint - -install: - - dep ensure - -script: - - golint -set_exit_status - - go test -v diff --git a/vendor/github.com/darkSasori/todoist/Gopkg.lock b/vendor/github.com/darkSasori/todoist/Gopkg.lock deleted file mode 100644 index 99656b15..00000000 --- a/vendor/github.com/darkSasori/todoist/Gopkg.lock +++ /dev/null @@ -1,21 +0,0 @@ -# This file is autogenerated, do not edit; changes may be undone by the next 'dep ensure'. - - -[[projects]] - branch = "master" - name = "github.com/darkSasori/todoist" - packages = ["."] - revision = "ab3a9f0b9d551ab4e57f1caae9bb20d5aa51ec10" - -[[projects]] - branch = "v1" - name = "gopkg.in/jarcoal/httpmock.v1" - packages = ["."] - revision = "16f9a43967d613f0adc2000f0094a17b9f6c4c20" - -[solve-meta] - analyzer-name = "dep" - analyzer-version = 1 - inputs-digest = "4d0d4d6dd7b4141be119cb48281ea7c10f05d3037c0e4ac49560cf4af21917a7" - solver-name = "gps-cdcl" - solver-version = 1 diff --git a/vendor/github.com/darkSasori/todoist/Gopkg.toml b/vendor/github.com/darkSasori/todoist/Gopkg.toml deleted file mode 100644 index ec866dff..00000000 --- a/vendor/github.com/darkSasori/todoist/Gopkg.toml +++ /dev/null @@ -1,34 +0,0 @@ -# Gopkg.toml example -# -# Refer to https://github.com/golang/dep/blob/master/docs/Gopkg.toml.md -# for detailed Gopkg.toml documentation. -# -# required = ["github.com/user/thing/cmd/thing"] -# ignored = ["github.com/user/project/pkgX", "bitbucket.org/user/project/pkgA/pkgY"] -# -# [[constraint]] -# name = "github.com/user/project" -# version = "1.0.0" -# -# [[constraint]] -# name = "github.com/user/project2" -# branch = "dev" -# source = "github.com/myfork/project2" -# -# [[override]] -# name = "github.com/x/y" -# version = "2.4.0" -# -# [prune] -# non-go = false -# go-tests = true -# unused-packages = true - - -[[constraint]] - branch = "v1" - name = "gopkg.in/jarcoal/httpmock.v1" - -[prune] - go-tests = true - unused-packages = true diff --git a/vendor/github.com/darkSasori/todoist/LICENSE b/vendor/github.com/darkSasori/todoist/LICENSE deleted file mode 100644 index cc68e07a..00000000 --- a/vendor/github.com/darkSasori/todoist/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -MIT License - -Copyright (c) 2018 Lineu Felipe - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/vendor/github.com/darkSasori/todoist/README.md b/vendor/github.com/darkSasori/todoist/README.md deleted file mode 100644 index 8ffc3976..00000000 --- a/vendor/github.com/darkSasori/todoist/README.md +++ /dev/null @@ -1,6 +0,0 @@ -# todoist -[![godoc](https://godoc.org/github.com/darkSasori/todoist?status.svg)](https://godoc.org/github.com/darkSasori/todoist) -[![Build Status](https://travis-ci.org/darkSasori/todoist.svg?branch=master)](https://travis-ci.org/darkSasori/todoist) -[![Go Report Card](https://goreportcard.com/badge/github.com/darkSasori/todoist)](https://goreportcard.com/report/github.com/darkSasori/todoist) - -Unofficial todoist api implementation diff --git a/vendor/github.com/darkSasori/todoist/projects.go b/vendor/github.com/darkSasori/todoist/projects.go deleted file mode 100644 index 9493b18a..00000000 --- a/vendor/github.com/darkSasori/todoist/projects.go +++ /dev/null @@ -1,149 +0,0 @@ -package todoist - -import ( - "encoding/json" - "fmt" - "io" - "net/http" -) - -// Project is a model of todoist project entity -type Project struct { - ID int `json:"id"` - Name string `json:"name"` - CommentCount int `json:"comment_count"` - Order int `json:"order"` - Indent int `json:"indent"` -} - -func decodeProject(body io.ReadCloser) (Project, error) { - defer body.Close() - decoder := json.NewDecoder(body) - var project Project - - if err := decoder.Decode(&project); err != nil { - return Project{}, err - } - return project, nil -} - -// ListProject return all projects -// -// Example: -// todoist.Token = "your token" -// projects, err := todoist.ListProject() -// if err != nil { -// panic(err) -// } -// fmt.Println(projects) -func ListProject() ([]Project, error) { - res, err := makeRequest(http.MethodGet, "projects", nil) - if err != nil { - return []Project{}, err - } - - defer res.Body.Close() - decoder := json.NewDecoder(res.Body) - var projects []Project - - if err := decoder.Decode(&projects); err != nil { - return []Project{}, err - } - - return projects, nil -} - -// GetProject return a project by id -// -// Example: -// todoist.Token = "your token" -// project, err := todoist.GetProject(1) -// if err != nil { -// panic(err) -// } -// fmt.Println(project) -func GetProject(id int) (Project, error) { - path := fmt.Sprintf("projects/%d", id) - res, err := makeRequest(http.MethodGet, path, nil) - if err != nil { - return Project{}, err - } - - return decodeProject(res.Body) -} - -// CreateProject create a new project with a name -// -// Example: -// todoist.Token = "your token" -// project, err := todoist.CreateProject("New Project") -// if err != nil { -// panic(err) -// } -// fmt.Println(project) -func CreateProject(name string) (Project, error) { - project := struct { - Name string `json:"name"` - }{ - name, - } - - res, err := makeRequest(http.MethodPost, "projects", project) - if err != nil { - return Project{}, err - } - - return decodeProject(res.Body) -} - -// Delete project -// -// Example: -// todoist.Token = "your token" -// project, err := todoist.GetProject(1) -// if err != nil { -// panic(err) -// } -// err = project.Delete() -// if err != nil { -// panic(err) -// } -func (p Project) Delete() error { - path := fmt.Sprintf("projects/%d", p.ID) - _, err := makeRequest(http.MethodDelete, path, nil) - if err != nil { - return err - } - - return nil -} - -// Update project -// -// Example: -// todoist.Token = "your token" -// project, err := todoist.GetProject(1) -// if err != nil { -// panic(err) -// } -// project.Name = "updated" -// err = project.Update() -// if err != nil { -// panic(err) -// } -// fmt.Println(project) -func (p Project) Update() error { - path := fmt.Sprintf("projects/%d", p.ID) - project := struct { - Name string `json:"name"` - }{ - p.Name, - } - - _, err := makeRequest(http.MethodPost, path, project) - if err != nil { - return err - } - - return nil -} diff --git a/vendor/github.com/darkSasori/todoist/task.go b/vendor/github.com/darkSasori/todoist/task.go deleted file mode 100644 index f2c0ce06..00000000 --- a/vendor/github.com/darkSasori/todoist/task.go +++ /dev/null @@ -1,158 +0,0 @@ -package todoist - -import ( - "encoding/json" - "fmt" - "io" - "net/http" -) - -// Task is a model of todoist project entity -type Task struct { - ID int `json:"id"` - CommentCount int `json:"comment_count"` - Completed bool `json:"completed"` - Content string `json:"content"` - Indent int `json:"indent"` - LabelIDs []int `json:"label_ids"` - Order int `json:"order"` - Priority int `json:"priority"` - ProjectID int `json:"project_id"` - Due Due `json:"due"` -} - -// Due is a model of todoist project entity -type Due struct { - String string `json:"string"` - Date string `json:"date"` - Datetime CustomTime `json:"datetime"` - Timezone string `json:"timezone"` -} - -func (t Task) taskSave() taskSave { - return taskSave{ - t.Content, - t.ProjectID, - t.Order, - t.LabelIDs, - t.Priority, - t.Due.String, - t.Due.Datetime, - "en", - } -} - -func decodeTask(body io.ReadCloser) (Task, error) { - defer body.Close() - decoder := json.NewDecoder(body) - var task Task - - if err := decoder.Decode(&task); err != nil { - return Task{}, err - } - return task, nil -} - -// QueryParam is a map[string]string to build http query -type QueryParam map[string]string - -func (qp QueryParam) String() string { - if len(qp) == 0 { - return "" - } - - ret := "?" - for key, value := range qp { - if ret != "?" { - ret = ret + "&" - } - ret = ret + key + "=" + value - } - - return ret -} - -// ListTask return all task, you can filter using QueryParam -// See documentation: https://developer.todoist.com/rest/v8/#get-tasks -func ListTask(qp QueryParam) ([]Task, error) { - path := fmt.Sprintf("tasks%s", qp) - res, err := makeRequest(http.MethodGet, path, nil) - if err != nil { - return []Task{}, err - } - - defer res.Body.Close() - decoder := json.NewDecoder(res.Body) - var tasks []Task - - if err := decoder.Decode(&tasks); err != nil { - return []Task{}, err - } - - return tasks, nil -} - -// GetTask return a task by id -func GetTask(id int) (Task, error) { - path := fmt.Sprintf("tasks/%d", id) - res, err := makeRequest(http.MethodGet, path, nil) - if err != nil { - return Task{}, err - } - - return decodeTask(res.Body) -} - -// CreateTask create a new task -func CreateTask(task Task) (Task, error) { - res, err := makeRequest(http.MethodPost, "tasks", task.taskSave()) - if err != nil { - return Task{}, err - } - - return decodeTask(res.Body) -} - -// Delete remove a task -func (t Task) Delete() error { - path := fmt.Sprintf("tasks/%d", t.ID) - _, err := makeRequest(http.MethodDelete, path, nil) - if err != nil { - return err - } - - return nil -} - -// Update a task -func (t Task) Update() error { - path := fmt.Sprintf("tasks/%d", t.ID) - _, err := makeRequest(http.MethodPost, path, t.taskSave()) - if err != nil { - return err - } - - return nil -} - -// Close mask task as done -func (t Task) Close() error { - path := fmt.Sprintf("tasks/%d/close", t.ID) - _, err := makeRequest(http.MethodPost, path, nil) - if err != nil { - return err - } - - return nil -} - -// Reopen a task -func (t Task) Reopen() error { - path := fmt.Sprintf("tasks/%d/reopen", t.ID) - _, err := makeRequest(http.MethodPost, path, nil) - if err != nil { - return err - } - - return nil -} diff --git a/vendor/github.com/darkSasori/todoist/todoist.go b/vendor/github.com/darkSasori/todoist/todoist.go deleted file mode 100644 index d487426c..00000000 --- a/vendor/github.com/darkSasori/todoist/todoist.go +++ /dev/null @@ -1,145 +0,0 @@ -package todoist - -import ( - "bytes" - "encoding/json" - "fmt" - "io/ioutil" - "net/http" - "strings" - "time" -) - -// Token save the personal token from todoist -var Token string -var todoistURL = "https://beta.todoist.com/API/v8/" - -func makeRequest(method, endpoint string, data interface{}) (*http.Response, error) { - url := todoistURL + endpoint - body := bytes.NewBuffer([]byte{}) - - if data != nil { - json, err := json.Marshal(data) - if err != nil { - return nil, err - } - body = bytes.NewBuffer(json) - } - - req, err := http.NewRequest(method, url, body) - if err != nil { - return nil, err - } - - bearer := fmt.Sprintf("Bearer %s", Token) - req.Header.Add("Authorization", bearer) - - if data != nil { - req.Header.Add("Content-Type", "application/json") - } - - client := &http.Client{} - res, err := client.Do(req) - if err != nil { - return nil, err - } - - if res.StatusCode >= 400 { - defer res.Body.Close() - str, err := ioutil.ReadAll(res.Body) - if err != nil { - return nil, err - } - return nil, fmt.Errorf(string(str)) - } - - return res, nil -} - -const ctLayout = "2006-01-02T15:04:05+00:00" - -// CustomTime had a custom json date format -type CustomTime struct { - time.Time -} - -// UnmarshalJSON convert from []byte to CustomTime -func (ct *CustomTime) UnmarshalJSON(b []byte) (err error) { - s := strings.Trim(string(b), "\"") - if s == "null" { - ct.Time = time.Time{} - return nil - } - - ct.Time, err = time.Parse(ctLayout, s) - return err -} - -// MarshalJSON convert CustomTime to []byte -func (ct CustomTime) MarshalJSON() ([]byte, error) { - if ct.Time.IsZero() { - return []byte("null"), nil - } - return []byte(`"` + ct.Time.Format(ctLayout) + `"`), nil -} - -type taskSave struct { - Content string `json:"content"` - ProjectID int `json:"project_id,omitempty"` - Order int `json:"order,omitempty"` - LabelIDs []int `json:"label_ids,omitempty"` - Priority int `json:"priority,omitempty"` - DueString string `json:"due_string,omitempty"` - DueDateTime CustomTime `json:"due_datetime,omitempty"` - DueLang string `json:"due_lang,omitempty"` -} - -func (ts taskSave) MarshalJSON() ([]byte, error) { - buffer := bytes.NewBufferString("{") - - if ts.Content == "" { - return nil, fmt.Errorf("Content is empty") - } - buffer.WriteString(fmt.Sprintf("\"content\":\"%s\"", ts.Content)) - - if ts.ProjectID != 0 { - buffer.WriteString(fmt.Sprintf(",\"project_id\":%d", ts.ProjectID)) - } - - if ts.Order != 0 { - buffer.WriteString(fmt.Sprintf(",\"order\":%d", ts.Order)) - } - - if !ts.DueDateTime.IsZero() { - buffer.WriteString(",\"due_datetime\":") - json, err := json.Marshal(ts.DueDateTime) - if err != nil { - return nil, err - } - buffer.Write(json) - } - - if len(ts.LabelIDs) != 0 { - buffer.WriteString(",\"label_ids\":") - json, err := json.Marshal(ts.LabelIDs) - if err != nil { - return nil, err - } - buffer.Write(json) - } - - if ts.Priority != 0 { - buffer.WriteString(fmt.Sprintf(",\"priority\":%d", ts.Priority)) - } - - if ts.DueString != "" { - buffer.WriteString(fmt.Sprintf(",\"due_string\":\"%s\"", ts.DueString)) - } - - if ts.DueLang != "" { - buffer.WriteString(fmt.Sprintf(",\"due_lang\":\"%s\"", ts.DueLang)) - } - - buffer.WriteString("}") - return buffer.Bytes(), nil -} diff --git a/vendor/github.com/davecgh/go-spew/LICENSE b/vendor/github.com/davecgh/go-spew/LICENSE deleted file mode 100644 index bc52e96f..00000000 --- a/vendor/github.com/davecgh/go-spew/LICENSE +++ /dev/null @@ -1,15 +0,0 @@ -ISC License - -Copyright (c) 2012-2016 Dave Collins - -Permission to use, copy, modify, and/or distribute this software for any -purpose with or without fee is hereby granted, provided that the above -copyright notice and this permission notice appear in all copies. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF -OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. diff --git a/vendor/github.com/davecgh/go-spew/spew/bypass.go b/vendor/github.com/davecgh/go-spew/spew/bypass.go deleted file mode 100644 index 79299478..00000000 --- a/vendor/github.com/davecgh/go-spew/spew/bypass.go +++ /dev/null @@ -1,145 +0,0 @@ -// Copyright (c) 2015-2016 Dave Collins -// -// Permission to use, copy, modify, and distribute this software for any -// purpose with or without fee is hereby granted, provided that the above -// copyright notice and this permission notice appear in all copies. -// -// THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -// ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -// ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF -// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - -// NOTE: Due to the following build constraints, this file will only be compiled -// when the code is not running on Google App Engine, compiled by GopherJS, and -// "-tags safe" is not added to the go build command line. The "disableunsafe" -// tag is deprecated and thus should not be used. -// Go versions prior to 1.4 are disabled because they use a different layout -// for interfaces which make the implementation of unsafeReflectValue more complex. -// +build !js,!appengine,!safe,!disableunsafe,go1.4 - -package spew - -import ( - "reflect" - "unsafe" -) - -const ( - // UnsafeDisabled is a build-time constant which specifies whether or - // not access to the unsafe package is available. - UnsafeDisabled = false - - // ptrSize is the size of a pointer on the current arch. - ptrSize = unsafe.Sizeof((*byte)(nil)) -) - -type flag uintptr - -var ( - // flagRO indicates whether the value field of a reflect.Value - // is read-only. - flagRO flag - - // flagAddr indicates whether the address of the reflect.Value's - // value may be taken. - flagAddr flag -) - -// flagKindMask holds the bits that make up the kind -// part of the flags field. In all the supported versions, -// it is in the lower 5 bits. -const flagKindMask = flag(0x1f) - -// Different versions of Go have used different -// bit layouts for the flags type. This table -// records the known combinations. -var okFlags = []struct { - ro, addr flag -}{{ - // From Go 1.4 to 1.5 - ro: 1 << 5, - addr: 1 << 7, -}, { - // Up to Go tip. - ro: 1<<5 | 1<<6, - addr: 1 << 8, -}} - -var flagValOffset = func() uintptr { - field, ok := reflect.TypeOf(reflect.Value{}).FieldByName("flag") - if !ok { - panic("reflect.Value has no flag field") - } - return field.Offset -}() - -// flagField returns a pointer to the flag field of a reflect.Value. -func flagField(v *reflect.Value) *flag { - return (*flag)(unsafe.Pointer(uintptr(unsafe.Pointer(v)) + flagValOffset)) -} - -// unsafeReflectValue converts the passed reflect.Value into a one that bypasses -// the typical safety restrictions preventing access to unaddressable and -// unexported data. It works by digging the raw pointer to the underlying -// value out of the protected value and generating a new unprotected (unsafe) -// reflect.Value to it. -// -// This allows us to check for implementations of the Stringer and error -// interfaces to be used for pretty printing ordinarily unaddressable and -// inaccessible values such as unexported struct fields. -func unsafeReflectValue(v reflect.Value) reflect.Value { - if !v.IsValid() || (v.CanInterface() && v.CanAddr()) { - return v - } - flagFieldPtr := flagField(&v) - *flagFieldPtr &^= flagRO - *flagFieldPtr |= flagAddr - return v -} - -// Sanity checks against future reflect package changes -// to the type or semantics of the Value.flag field. -func init() { - field, ok := reflect.TypeOf(reflect.Value{}).FieldByName("flag") - if !ok { - panic("reflect.Value has no flag field") - } - if field.Type.Kind() != reflect.TypeOf(flag(0)).Kind() { - panic("reflect.Value flag field has changed kind") - } - type t0 int - var t struct { - A t0 - // t0 will have flagEmbedRO set. - t0 - // a will have flagStickyRO set - a t0 - } - vA := reflect.ValueOf(t).FieldByName("A") - va := reflect.ValueOf(t).FieldByName("a") - vt0 := reflect.ValueOf(t).FieldByName("t0") - - // Infer flagRO from the difference between the flags - // for the (otherwise identical) fields in t. - flagPublic := *flagField(&vA) - flagWithRO := *flagField(&va) | *flagField(&vt0) - flagRO = flagPublic ^ flagWithRO - - // Infer flagAddr from the difference between a value - // taken from a pointer and not. - vPtrA := reflect.ValueOf(&t).Elem().FieldByName("A") - flagNoPtr := *flagField(&vA) - flagPtr := *flagField(&vPtrA) - flagAddr = flagNoPtr ^ flagPtr - - // Check that the inferred flags tally with one of the known versions. - for _, f := range okFlags { - if flagRO == f.ro && flagAddr == f.addr { - return - } - } - panic("reflect.Value read-only flag has changed semantics") -} diff --git a/vendor/github.com/davecgh/go-spew/spew/bypasssafe.go b/vendor/github.com/davecgh/go-spew/spew/bypasssafe.go deleted file mode 100644 index 205c28d6..00000000 --- a/vendor/github.com/davecgh/go-spew/spew/bypasssafe.go +++ /dev/null @@ -1,38 +0,0 @@ -// Copyright (c) 2015-2016 Dave Collins -// -// Permission to use, copy, modify, and distribute this software for any -// purpose with or without fee is hereby granted, provided that the above -// copyright notice and this permission notice appear in all copies. -// -// THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -// ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -// ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF -// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - -// NOTE: Due to the following build constraints, this file will only be compiled -// when the code is running on Google App Engine, compiled by GopherJS, or -// "-tags safe" is added to the go build command line. The "disableunsafe" -// tag is deprecated and thus should not be used. -// +build js appengine safe disableunsafe !go1.4 - -package spew - -import "reflect" - -const ( - // UnsafeDisabled is a build-time constant which specifies whether or - // not access to the unsafe package is available. - UnsafeDisabled = true -) - -// unsafeReflectValue typically converts the passed reflect.Value into a one -// that bypasses the typical safety restrictions preventing access to -// unaddressable and unexported data. However, doing this relies on access to -// the unsafe package. This is a stub version which simply returns the passed -// reflect.Value when the unsafe package is not available. -func unsafeReflectValue(v reflect.Value) reflect.Value { - return v -} diff --git a/vendor/github.com/davecgh/go-spew/spew/common.go b/vendor/github.com/davecgh/go-spew/spew/common.go deleted file mode 100644 index 1be8ce94..00000000 --- a/vendor/github.com/davecgh/go-spew/spew/common.go +++ /dev/null @@ -1,341 +0,0 @@ -/* - * Copyright (c) 2013-2016 Dave Collins - * - * Permission to use, copy, modify, and distribute this software for any - * purpose with or without fee is hereby granted, provided that the above - * copyright notice and this permission notice appear in all copies. - * - * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES - * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR - * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES - * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN - * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF - * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - */ - -package spew - -import ( - "bytes" - "fmt" - "io" - "reflect" - "sort" - "strconv" -) - -// Some constants in the form of bytes to avoid string overhead. This mirrors -// the technique used in the fmt package. -var ( - panicBytes = []byte("(PANIC=") - plusBytes = []byte("+") - iBytes = []byte("i") - trueBytes = []byte("true") - falseBytes = []byte("false") - interfaceBytes = []byte("(interface {})") - commaNewlineBytes = []byte(",\n") - newlineBytes = []byte("\n") - openBraceBytes = []byte("{") - openBraceNewlineBytes = []byte("{\n") - closeBraceBytes = []byte("}") - asteriskBytes = []byte("*") - colonBytes = []byte(":") - colonSpaceBytes = []byte(": ") - openParenBytes = []byte("(") - closeParenBytes = []byte(")") - spaceBytes = []byte(" ") - pointerChainBytes = []byte("->") - nilAngleBytes = []byte("") - maxNewlineBytes = []byte("\n") - maxShortBytes = []byte("") - circularBytes = []byte("") - circularShortBytes = []byte("") - invalidAngleBytes = []byte("") - openBracketBytes = []byte("[") - closeBracketBytes = []byte("]") - percentBytes = []byte("%") - precisionBytes = []byte(".") - openAngleBytes = []byte("<") - closeAngleBytes = []byte(">") - openMapBytes = []byte("map[") - closeMapBytes = []byte("]") - lenEqualsBytes = []byte("len=") - capEqualsBytes = []byte("cap=") -) - -// hexDigits is used to map a decimal value to a hex digit. -var hexDigits = "0123456789abcdef" - -// catchPanic handles any panics that might occur during the handleMethods -// calls. -func catchPanic(w io.Writer, v reflect.Value) { - if err := recover(); err != nil { - w.Write(panicBytes) - fmt.Fprintf(w, "%v", err) - w.Write(closeParenBytes) - } -} - -// handleMethods attempts to call the Error and String methods on the underlying -// type the passed reflect.Value represents and outputes the result to Writer w. -// -// It handles panics in any called methods by catching and displaying the error -// as the formatted value. -func handleMethods(cs *ConfigState, w io.Writer, v reflect.Value) (handled bool) { - // We need an interface to check if the type implements the error or - // Stringer interface. However, the reflect package won't give us an - // interface on certain things like unexported struct fields in order - // to enforce visibility rules. We use unsafe, when it's available, - // to bypass these restrictions since this package does not mutate the - // values. - if !v.CanInterface() { - if UnsafeDisabled { - return false - } - - v = unsafeReflectValue(v) - } - - // Choose whether or not to do error and Stringer interface lookups against - // the base type or a pointer to the base type depending on settings. - // Technically calling one of these methods with a pointer receiver can - // mutate the value, however, types which choose to satisify an error or - // Stringer interface with a pointer receiver should not be mutating their - // state inside these interface methods. - if !cs.DisablePointerMethods && !UnsafeDisabled && !v.CanAddr() { - v = unsafeReflectValue(v) - } - if v.CanAddr() { - v = v.Addr() - } - - // Is it an error or Stringer? - switch iface := v.Interface().(type) { - case error: - defer catchPanic(w, v) - if cs.ContinueOnMethod { - w.Write(openParenBytes) - w.Write([]byte(iface.Error())) - w.Write(closeParenBytes) - w.Write(spaceBytes) - return false - } - - w.Write([]byte(iface.Error())) - return true - - case fmt.Stringer: - defer catchPanic(w, v) - if cs.ContinueOnMethod { - w.Write(openParenBytes) - w.Write([]byte(iface.String())) - w.Write(closeParenBytes) - w.Write(spaceBytes) - return false - } - w.Write([]byte(iface.String())) - return true - } - return false -} - -// printBool outputs a boolean value as true or false to Writer w. -func printBool(w io.Writer, val bool) { - if val { - w.Write(trueBytes) - } else { - w.Write(falseBytes) - } -} - -// printInt outputs a signed integer value to Writer w. -func printInt(w io.Writer, val int64, base int) { - w.Write([]byte(strconv.FormatInt(val, base))) -} - -// printUint outputs an unsigned integer value to Writer w. -func printUint(w io.Writer, val uint64, base int) { - w.Write([]byte(strconv.FormatUint(val, base))) -} - -// printFloat outputs a floating point value using the specified precision, -// which is expected to be 32 or 64bit, to Writer w. -func printFloat(w io.Writer, val float64, precision int) { - w.Write([]byte(strconv.FormatFloat(val, 'g', -1, precision))) -} - -// printComplex outputs a complex value using the specified float precision -// for the real and imaginary parts to Writer w. -func printComplex(w io.Writer, c complex128, floatPrecision int) { - r := real(c) - w.Write(openParenBytes) - w.Write([]byte(strconv.FormatFloat(r, 'g', -1, floatPrecision))) - i := imag(c) - if i >= 0 { - w.Write(plusBytes) - } - w.Write([]byte(strconv.FormatFloat(i, 'g', -1, floatPrecision))) - w.Write(iBytes) - w.Write(closeParenBytes) -} - -// printHexPtr outputs a uintptr formatted as hexadecimal with a leading '0x' -// prefix to Writer w. -func printHexPtr(w io.Writer, p uintptr) { - // Null pointer. - num := uint64(p) - if num == 0 { - w.Write(nilAngleBytes) - return - } - - // Max uint64 is 16 bytes in hex + 2 bytes for '0x' prefix - buf := make([]byte, 18) - - // It's simpler to construct the hex string right to left. - base := uint64(16) - i := len(buf) - 1 - for num >= base { - buf[i] = hexDigits[num%base] - num /= base - i-- - } - buf[i] = hexDigits[num] - - // Add '0x' prefix. - i-- - buf[i] = 'x' - i-- - buf[i] = '0' - - // Strip unused leading bytes. - buf = buf[i:] - w.Write(buf) -} - -// valuesSorter implements sort.Interface to allow a slice of reflect.Value -// elements to be sorted. -type valuesSorter struct { - values []reflect.Value - strings []string // either nil or same len and values - cs *ConfigState -} - -// newValuesSorter initializes a valuesSorter instance, which holds a set of -// surrogate keys on which the data should be sorted. It uses flags in -// ConfigState to decide if and how to populate those surrogate keys. -func newValuesSorter(values []reflect.Value, cs *ConfigState) sort.Interface { - vs := &valuesSorter{values: values, cs: cs} - if canSortSimply(vs.values[0].Kind()) { - return vs - } - if !cs.DisableMethods { - vs.strings = make([]string, len(values)) - for i := range vs.values { - b := bytes.Buffer{} - if !handleMethods(cs, &b, vs.values[i]) { - vs.strings = nil - break - } - vs.strings[i] = b.String() - } - } - if vs.strings == nil && cs.SpewKeys { - vs.strings = make([]string, len(values)) - for i := range vs.values { - vs.strings[i] = Sprintf("%#v", vs.values[i].Interface()) - } - } - return vs -} - -// canSortSimply tests whether a reflect.Kind is a primitive that can be sorted -// directly, or whether it should be considered for sorting by surrogate keys -// (if the ConfigState allows it). -func canSortSimply(kind reflect.Kind) bool { - // This switch parallels valueSortLess, except for the default case. - switch kind { - case reflect.Bool: - return true - case reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64, reflect.Int: - return true - case reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, reflect.Uint: - return true - case reflect.Float32, reflect.Float64: - return true - case reflect.String: - return true - case reflect.Uintptr: - return true - case reflect.Array: - return true - } - return false -} - -// Len returns the number of values in the slice. It is part of the -// sort.Interface implementation. -func (s *valuesSorter) Len() int { - return len(s.values) -} - -// Swap swaps the values at the passed indices. It is part of the -// sort.Interface implementation. -func (s *valuesSorter) Swap(i, j int) { - s.values[i], s.values[j] = s.values[j], s.values[i] - if s.strings != nil { - s.strings[i], s.strings[j] = s.strings[j], s.strings[i] - } -} - -// valueSortLess returns whether the first value should sort before the second -// value. It is used by valueSorter.Less as part of the sort.Interface -// implementation. -func valueSortLess(a, b reflect.Value) bool { - switch a.Kind() { - case reflect.Bool: - return !a.Bool() && b.Bool() - case reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64, reflect.Int: - return a.Int() < b.Int() - case reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, reflect.Uint: - return a.Uint() < b.Uint() - case reflect.Float32, reflect.Float64: - return a.Float() < b.Float() - case reflect.String: - return a.String() < b.String() - case reflect.Uintptr: - return a.Uint() < b.Uint() - case reflect.Array: - // Compare the contents of both arrays. - l := a.Len() - for i := 0; i < l; i++ { - av := a.Index(i) - bv := b.Index(i) - if av.Interface() == bv.Interface() { - continue - } - return valueSortLess(av, bv) - } - } - return a.String() < b.String() -} - -// Less returns whether the value at index i should sort before the -// value at index j. It is part of the sort.Interface implementation. -func (s *valuesSorter) Less(i, j int) bool { - if s.strings == nil { - return valueSortLess(s.values[i], s.values[j]) - } - return s.strings[i] < s.strings[j] -} - -// sortValues is a sort function that handles both native types and any type that -// can be converted to error or Stringer. Other inputs are sorted according to -// their Value.String() value to ensure display stability. -func sortValues(values []reflect.Value, cs *ConfigState) { - if len(values) == 0 { - return - } - sort.Sort(newValuesSorter(values, cs)) -} diff --git a/vendor/github.com/davecgh/go-spew/spew/config.go b/vendor/github.com/davecgh/go-spew/spew/config.go deleted file mode 100644 index 2e3d22f3..00000000 --- a/vendor/github.com/davecgh/go-spew/spew/config.go +++ /dev/null @@ -1,306 +0,0 @@ -/* - * Copyright (c) 2013-2016 Dave Collins - * - * Permission to use, copy, modify, and distribute this software for any - * purpose with or without fee is hereby granted, provided that the above - * copyright notice and this permission notice appear in all copies. - * - * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES - * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR - * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES - * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN - * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF - * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - */ - -package spew - -import ( - "bytes" - "fmt" - "io" - "os" -) - -// ConfigState houses the configuration options used by spew to format and -// display values. There is a global instance, Config, that is used to control -// all top-level Formatter and Dump functionality. Each ConfigState instance -// provides methods equivalent to the top-level functions. -// -// The zero value for ConfigState provides no indentation. You would typically -// want to set it to a space or a tab. -// -// Alternatively, you can use NewDefaultConfig to get a ConfigState instance -// with default settings. See the documentation of NewDefaultConfig for default -// values. -type ConfigState struct { - // Indent specifies the string to use for each indentation level. The - // global config instance that all top-level functions use set this to a - // single space by default. If you would like more indentation, you might - // set this to a tab with "\t" or perhaps two spaces with " ". - Indent string - - // MaxDepth controls the maximum number of levels to descend into nested - // data structures. The default, 0, means there is no limit. - // - // NOTE: Circular data structures are properly detected, so it is not - // necessary to set this value unless you specifically want to limit deeply - // nested data structures. - MaxDepth int - - // DisableMethods specifies whether or not error and Stringer interfaces are - // invoked for types that implement them. - DisableMethods bool - - // DisablePointerMethods specifies whether or not to check for and invoke - // error and Stringer interfaces on types which only accept a pointer - // receiver when the current type is not a pointer. - // - // NOTE: This might be an unsafe action since calling one of these methods - // with a pointer receiver could technically mutate the value, however, - // in practice, types which choose to satisify an error or Stringer - // interface with a pointer receiver should not be mutating their state - // inside these interface methods. As a result, this option relies on - // access to the unsafe package, so it will not have any effect when - // running in environments without access to the unsafe package such as - // Google App Engine or with the "safe" build tag specified. - DisablePointerMethods bool - - // DisablePointerAddresses specifies whether to disable the printing of - // pointer addresses. This is useful when diffing data structures in tests. - DisablePointerAddresses bool - - // DisableCapacities specifies whether to disable the printing of capacities - // for arrays, slices, maps and channels. This is useful when diffing - // data structures in tests. - DisableCapacities bool - - // ContinueOnMethod specifies whether or not recursion should continue once - // a custom error or Stringer interface is invoked. The default, false, - // means it will print the results of invoking the custom error or Stringer - // interface and return immediately instead of continuing to recurse into - // the internals of the data type. - // - // NOTE: This flag does not have any effect if method invocation is disabled - // via the DisableMethods or DisablePointerMethods options. - ContinueOnMethod bool - - // SortKeys specifies map keys should be sorted before being printed. Use - // this to have a more deterministic, diffable output. Note that only - // native types (bool, int, uint, floats, uintptr and string) and types - // that support the error or Stringer interfaces (if methods are - // enabled) are supported, with other types sorted according to the - // reflect.Value.String() output which guarantees display stability. - SortKeys bool - - // SpewKeys specifies that, as a last resort attempt, map keys should - // be spewed to strings and sorted by those strings. This is only - // considered if SortKeys is true. - SpewKeys bool -} - -// Config is the active configuration of the top-level functions. -// The configuration can be changed by modifying the contents of spew.Config. -var Config = ConfigState{Indent: " "} - -// Errorf is a wrapper for fmt.Errorf that treats each argument as if it were -// passed with a Formatter interface returned by c.NewFormatter. It returns -// the formatted string as a value that satisfies error. See NewFormatter -// for formatting details. -// -// This function is shorthand for the following syntax: -// -// fmt.Errorf(format, c.NewFormatter(a), c.NewFormatter(b)) -func (c *ConfigState) Errorf(format string, a ...interface{}) (err error) { - return fmt.Errorf(format, c.convertArgs(a)...) -} - -// Fprint is a wrapper for fmt.Fprint that treats each argument as if it were -// passed with a Formatter interface returned by c.NewFormatter. It returns -// the number of bytes written and any write error encountered. See -// NewFormatter for formatting details. -// -// This function is shorthand for the following syntax: -// -// fmt.Fprint(w, c.NewFormatter(a), c.NewFormatter(b)) -func (c *ConfigState) Fprint(w io.Writer, a ...interface{}) (n int, err error) { - return fmt.Fprint(w, c.convertArgs(a)...) -} - -// Fprintf is a wrapper for fmt.Fprintf that treats each argument as if it were -// passed with a Formatter interface returned by c.NewFormatter. It returns -// the number of bytes written and any write error encountered. See -// NewFormatter for formatting details. -// -// This function is shorthand for the following syntax: -// -// fmt.Fprintf(w, format, c.NewFormatter(a), c.NewFormatter(b)) -func (c *ConfigState) Fprintf(w io.Writer, format string, a ...interface{}) (n int, err error) { - return fmt.Fprintf(w, format, c.convertArgs(a)...) -} - -// Fprintln is a wrapper for fmt.Fprintln that treats each argument as if it -// passed with a Formatter interface returned by c.NewFormatter. See -// NewFormatter for formatting details. -// -// This function is shorthand for the following syntax: -// -// fmt.Fprintln(w, c.NewFormatter(a), c.NewFormatter(b)) -func (c *ConfigState) Fprintln(w io.Writer, a ...interface{}) (n int, err error) { - return fmt.Fprintln(w, c.convertArgs(a)...) -} - -// Print is a wrapper for fmt.Print that treats each argument as if it were -// passed with a Formatter interface returned by c.NewFormatter. It returns -// the number of bytes written and any write error encountered. See -// NewFormatter for formatting details. -// -// This function is shorthand for the following syntax: -// -// fmt.Print(c.NewFormatter(a), c.NewFormatter(b)) -func (c *ConfigState) Print(a ...interface{}) (n int, err error) { - return fmt.Print(c.convertArgs(a)...) -} - -// Printf is a wrapper for fmt.Printf that treats each argument as if it were -// passed with a Formatter interface returned by c.NewFormatter. It returns -// the number of bytes written and any write error encountered. See -// NewFormatter for formatting details. -// -// This function is shorthand for the following syntax: -// -// fmt.Printf(format, c.NewFormatter(a), c.NewFormatter(b)) -func (c *ConfigState) Printf(format string, a ...interface{}) (n int, err error) { - return fmt.Printf(format, c.convertArgs(a)...) -} - -// Println is a wrapper for fmt.Println that treats each argument as if it were -// passed with a Formatter interface returned by c.NewFormatter. It returns -// the number of bytes written and any write error encountered. See -// NewFormatter for formatting details. -// -// This function is shorthand for the following syntax: -// -// fmt.Println(c.NewFormatter(a), c.NewFormatter(b)) -func (c *ConfigState) Println(a ...interface{}) (n int, err error) { - return fmt.Println(c.convertArgs(a)...) -} - -// Sprint is a wrapper for fmt.Sprint that treats each argument as if it were -// passed with a Formatter interface returned by c.NewFormatter. It returns -// the resulting string. See NewFormatter for formatting details. -// -// This function is shorthand for the following syntax: -// -// fmt.Sprint(c.NewFormatter(a), c.NewFormatter(b)) -func (c *ConfigState) Sprint(a ...interface{}) string { - return fmt.Sprint(c.convertArgs(a)...) -} - -// Sprintf is a wrapper for fmt.Sprintf that treats each argument as if it were -// passed with a Formatter interface returned by c.NewFormatter. It returns -// the resulting string. See NewFormatter for formatting details. -// -// This function is shorthand for the following syntax: -// -// fmt.Sprintf(format, c.NewFormatter(a), c.NewFormatter(b)) -func (c *ConfigState) Sprintf(format string, a ...interface{}) string { - return fmt.Sprintf(format, c.convertArgs(a)...) -} - -// Sprintln is a wrapper for fmt.Sprintln that treats each argument as if it -// were passed with a Formatter interface returned by c.NewFormatter. It -// returns the resulting string. See NewFormatter for formatting details. -// -// This function is shorthand for the following syntax: -// -// fmt.Sprintln(c.NewFormatter(a), c.NewFormatter(b)) -func (c *ConfigState) Sprintln(a ...interface{}) string { - return fmt.Sprintln(c.convertArgs(a)...) -} - -/* -NewFormatter returns a custom formatter that satisfies the fmt.Formatter -interface. As a result, it integrates cleanly with standard fmt package -printing functions. The formatter is useful for inline printing of smaller data -types similar to the standard %v format specifier. - -The custom formatter only responds to the %v (most compact), %+v (adds pointer -addresses), %#v (adds types), and %#+v (adds types and pointer addresses) verb -combinations. Any other verbs such as %x and %q will be sent to the the -standard fmt package for formatting. In addition, the custom formatter ignores -the width and precision arguments (however they will still work on the format -specifiers not handled by the custom formatter). - -Typically this function shouldn't be called directly. It is much easier to make -use of the custom formatter by calling one of the convenience functions such as -c.Printf, c.Println, or c.Printf. -*/ -func (c *ConfigState) NewFormatter(v interface{}) fmt.Formatter { - return newFormatter(c, v) -} - -// Fdump formats and displays the passed arguments to io.Writer w. It formats -// exactly the same as Dump. -func (c *ConfigState) Fdump(w io.Writer, a ...interface{}) { - fdump(c, w, a...) -} - -/* -Dump displays the passed parameters to standard out with newlines, customizable -indentation, and additional debug information such as complete types and all -pointer addresses used to indirect to the final value. It provides the -following features over the built-in printing facilities provided by the fmt -package: - - * Pointers are dereferenced and followed - * Circular data structures are detected and handled properly - * Custom Stringer/error interfaces are optionally invoked, including - on unexported types - * Custom types which only implement the Stringer/error interfaces via - a pointer receiver are optionally invoked when passing non-pointer - variables - * Byte arrays and slices are dumped like the hexdump -C command which - includes offsets, byte values in hex, and ASCII output - -The configuration options are controlled by modifying the public members -of c. See ConfigState for options documentation. - -See Fdump if you would prefer dumping to an arbitrary io.Writer or Sdump to -get the formatted result as a string. -*/ -func (c *ConfigState) Dump(a ...interface{}) { - fdump(c, os.Stdout, a...) -} - -// Sdump returns a string with the passed arguments formatted exactly the same -// as Dump. -func (c *ConfigState) Sdump(a ...interface{}) string { - var buf bytes.Buffer - fdump(c, &buf, a...) - return buf.String() -} - -// convertArgs accepts a slice of arguments and returns a slice of the same -// length with each argument converted to a spew Formatter interface using -// the ConfigState associated with s. -func (c *ConfigState) convertArgs(args []interface{}) (formatters []interface{}) { - formatters = make([]interface{}, len(args)) - for index, arg := range args { - formatters[index] = newFormatter(c, arg) - } - return formatters -} - -// NewDefaultConfig returns a ConfigState with the following default settings. -// -// Indent: " " -// MaxDepth: 0 -// DisableMethods: false -// DisablePointerMethods: false -// ContinueOnMethod: false -// SortKeys: false -func NewDefaultConfig() *ConfigState { - return &ConfigState{Indent: " "} -} diff --git a/vendor/github.com/davecgh/go-spew/spew/doc.go b/vendor/github.com/davecgh/go-spew/spew/doc.go deleted file mode 100644 index aacaac6f..00000000 --- a/vendor/github.com/davecgh/go-spew/spew/doc.go +++ /dev/null @@ -1,211 +0,0 @@ -/* - * Copyright (c) 2013-2016 Dave Collins - * - * Permission to use, copy, modify, and distribute this software for any - * purpose with or without fee is hereby granted, provided that the above - * copyright notice and this permission notice appear in all copies. - * - * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES - * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR - * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES - * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN - * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF - * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - */ - -/* -Package spew implements a deep pretty printer for Go data structures to aid in -debugging. - -A quick overview of the additional features spew provides over the built-in -printing facilities for Go data types are as follows: - - * Pointers are dereferenced and followed - * Circular data structures are detected and handled properly - * Custom Stringer/error interfaces are optionally invoked, including - on unexported types - * Custom types which only implement the Stringer/error interfaces via - a pointer receiver are optionally invoked when passing non-pointer - variables - * Byte arrays and slices are dumped like the hexdump -C command which - includes offsets, byte values in hex, and ASCII output (only when using - Dump style) - -There are two different approaches spew allows for dumping Go data structures: - - * Dump style which prints with newlines, customizable indentation, - and additional debug information such as types and all pointer addresses - used to indirect to the final value - * A custom Formatter interface that integrates cleanly with the standard fmt - package and replaces %v, %+v, %#v, and %#+v to provide inline printing - similar to the default %v while providing the additional functionality - outlined above and passing unsupported format verbs such as %x and %q - along to fmt - -Quick Start - -This section demonstrates how to quickly get started with spew. See the -sections below for further details on formatting and configuration options. - -To dump a variable with full newlines, indentation, type, and pointer -information use Dump, Fdump, or Sdump: - spew.Dump(myVar1, myVar2, ...) - spew.Fdump(someWriter, myVar1, myVar2, ...) - str := spew.Sdump(myVar1, myVar2, ...) - -Alternatively, if you would prefer to use format strings with a compacted inline -printing style, use the convenience wrappers Printf, Fprintf, etc with -%v (most compact), %+v (adds pointer addresses), %#v (adds types), or -%#+v (adds types and pointer addresses): - spew.Printf("myVar1: %v -- myVar2: %+v", myVar1, myVar2) - spew.Printf("myVar3: %#v -- myVar4: %#+v", myVar3, myVar4) - spew.Fprintf(someWriter, "myVar1: %v -- myVar2: %+v", myVar1, myVar2) - spew.Fprintf(someWriter, "myVar3: %#v -- myVar4: %#+v", myVar3, myVar4) - -Configuration Options - -Configuration of spew is handled by fields in the ConfigState type. For -convenience, all of the top-level functions use a global state available -via the spew.Config global. - -It is also possible to create a ConfigState instance that provides methods -equivalent to the top-level functions. This allows concurrent configuration -options. See the ConfigState documentation for more details. - -The following configuration options are available: - * Indent - String to use for each indentation level for Dump functions. - It is a single space by default. A popular alternative is "\t". - - * MaxDepth - Maximum number of levels to descend into nested data structures. - There is no limit by default. - - * DisableMethods - Disables invocation of error and Stringer interface methods. - Method invocation is enabled by default. - - * DisablePointerMethods - Disables invocation of error and Stringer interface methods on types - which only accept pointer receivers from non-pointer variables. - Pointer method invocation is enabled by default. - - * DisablePointerAddresses - DisablePointerAddresses specifies whether to disable the printing of - pointer addresses. This is useful when diffing data structures in tests. - - * DisableCapacities - DisableCapacities specifies whether to disable the printing of - capacities for arrays, slices, maps and channels. This is useful when - diffing data structures in tests. - - * ContinueOnMethod - Enables recursion into types after invoking error and Stringer interface - methods. Recursion after method invocation is disabled by default. - - * SortKeys - Specifies map keys should be sorted before being printed. Use - this to have a more deterministic, diffable output. Note that - only native types (bool, int, uint, floats, uintptr and string) - and types which implement error or Stringer interfaces are - supported with other types sorted according to the - reflect.Value.String() output which guarantees display - stability. Natural map order is used by default. - - * SpewKeys - Specifies that, as a last resort attempt, map keys should be - spewed to strings and sorted by those strings. This is only - considered if SortKeys is true. - -Dump Usage - -Simply call spew.Dump with a list of variables you want to dump: - - spew.Dump(myVar1, myVar2, ...) - -You may also call spew.Fdump if you would prefer to output to an arbitrary -io.Writer. For example, to dump to standard error: - - spew.Fdump(os.Stderr, myVar1, myVar2, ...) - -A third option is to call spew.Sdump to get the formatted output as a string: - - str := spew.Sdump(myVar1, myVar2, ...) - -Sample Dump Output - -See the Dump example for details on the setup of the types and variables being -shown here. - - (main.Foo) { - unexportedField: (*main.Bar)(0xf84002e210)({ - flag: (main.Flag) flagTwo, - data: (uintptr) - }), - ExportedField: (map[interface {}]interface {}) (len=1) { - (string) (len=3) "one": (bool) true - } - } - -Byte (and uint8) arrays and slices are displayed uniquely like the hexdump -C -command as shown. - ([]uint8) (len=32 cap=32) { - 00000000 11 12 13 14 15 16 17 18 19 1a 1b 1c 1d 1e 1f 20 |............... | - 00000010 21 22 23 24 25 26 27 28 29 2a 2b 2c 2d 2e 2f 30 |!"#$%&'()*+,-./0| - 00000020 31 32 |12| - } - -Custom Formatter - -Spew provides a custom formatter that implements the fmt.Formatter interface -so that it integrates cleanly with standard fmt package printing functions. The -formatter is useful for inline printing of smaller data types similar to the -standard %v format specifier. - -The custom formatter only responds to the %v (most compact), %+v (adds pointer -addresses), %#v (adds types), or %#+v (adds types and pointer addresses) verb -combinations. Any other verbs such as %x and %q will be sent to the the -standard fmt package for formatting. In addition, the custom formatter ignores -the width and precision arguments (however they will still work on the format -specifiers not handled by the custom formatter). - -Custom Formatter Usage - -The simplest way to make use of the spew custom formatter is to call one of the -convenience functions such as spew.Printf, spew.Println, or spew.Printf. The -functions have syntax you are most likely already familiar with: - - spew.Printf("myVar1: %v -- myVar2: %+v", myVar1, myVar2) - spew.Printf("myVar3: %#v -- myVar4: %#+v", myVar3, myVar4) - spew.Println(myVar, myVar2) - spew.Fprintf(os.Stderr, "myVar1: %v -- myVar2: %+v", myVar1, myVar2) - spew.Fprintf(os.Stderr, "myVar3: %#v -- myVar4: %#+v", myVar3, myVar4) - -See the Index for the full list convenience functions. - -Sample Formatter Output - -Double pointer to a uint8: - %v: <**>5 - %+v: <**>(0xf8400420d0->0xf8400420c8)5 - %#v: (**uint8)5 - %#+v: (**uint8)(0xf8400420d0->0xf8400420c8)5 - -Pointer to circular struct with a uint8 field and a pointer to itself: - %v: <*>{1 <*>} - %+v: <*>(0xf84003e260){ui8:1 c:<*>(0xf84003e260)} - %#v: (*main.circular){ui8:(uint8)1 c:(*main.circular)} - %#+v: (*main.circular)(0xf84003e260){ui8:(uint8)1 c:(*main.circular)(0xf84003e260)} - -See the Printf example for details on the setup of variables being shown -here. - -Errors - -Since it is possible for custom Stringer/error interfaces to panic, spew -detects them and handles them internally by printing the panic information -inline with the output. Since spew is intended to provide deep pretty printing -capabilities on structures, it intentionally does not return any errors. -*/ -package spew diff --git a/vendor/github.com/davecgh/go-spew/spew/dump.go b/vendor/github.com/davecgh/go-spew/spew/dump.go deleted file mode 100644 index f78d89fc..00000000 --- a/vendor/github.com/davecgh/go-spew/spew/dump.go +++ /dev/null @@ -1,509 +0,0 @@ -/* - * Copyright (c) 2013-2016 Dave Collins - * - * Permission to use, copy, modify, and distribute this software for any - * purpose with or without fee is hereby granted, provided that the above - * copyright notice and this permission notice appear in all copies. - * - * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES - * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR - * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES - * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN - * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF - * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - */ - -package spew - -import ( - "bytes" - "encoding/hex" - "fmt" - "io" - "os" - "reflect" - "regexp" - "strconv" - "strings" -) - -var ( - // uint8Type is a reflect.Type representing a uint8. It is used to - // convert cgo types to uint8 slices for hexdumping. - uint8Type = reflect.TypeOf(uint8(0)) - - // cCharRE is a regular expression that matches a cgo char. - // It is used to detect character arrays to hexdump them. - cCharRE = regexp.MustCompile(`^.*\._Ctype_char$`) - - // cUnsignedCharRE is a regular expression that matches a cgo unsigned - // char. It is used to detect unsigned character arrays to hexdump - // them. - cUnsignedCharRE = regexp.MustCompile(`^.*\._Ctype_unsignedchar$`) - - // cUint8tCharRE is a regular expression that matches a cgo uint8_t. - // It is used to detect uint8_t arrays to hexdump them. - cUint8tCharRE = regexp.MustCompile(`^.*\._Ctype_uint8_t$`) -) - -// dumpState contains information about the state of a dump operation. -type dumpState struct { - w io.Writer - depth int - pointers map[uintptr]int - ignoreNextType bool - ignoreNextIndent bool - cs *ConfigState -} - -// indent performs indentation according to the depth level and cs.Indent -// option. -func (d *dumpState) indent() { - if d.ignoreNextIndent { - d.ignoreNextIndent = false - return - } - d.w.Write(bytes.Repeat([]byte(d.cs.Indent), d.depth)) -} - -// unpackValue returns values inside of non-nil interfaces when possible. -// This is useful for data types like structs, arrays, slices, and maps which -// can contain varying types packed inside an interface. -func (d *dumpState) unpackValue(v reflect.Value) reflect.Value { - if v.Kind() == reflect.Interface && !v.IsNil() { - v = v.Elem() - } - return v -} - -// dumpPtr handles formatting of pointers by indirecting them as necessary. -func (d *dumpState) dumpPtr(v reflect.Value) { - // Remove pointers at or below the current depth from map used to detect - // circular refs. - for k, depth := range d.pointers { - if depth >= d.depth { - delete(d.pointers, k) - } - } - - // Keep list of all dereferenced pointers to show later. - pointerChain := make([]uintptr, 0) - - // Figure out how many levels of indirection there are by dereferencing - // pointers and unpacking interfaces down the chain while detecting circular - // references. - nilFound := false - cycleFound := false - indirects := 0 - ve := v - for ve.Kind() == reflect.Ptr { - if ve.IsNil() { - nilFound = true - break - } - indirects++ - addr := ve.Pointer() - pointerChain = append(pointerChain, addr) - if pd, ok := d.pointers[addr]; ok && pd < d.depth { - cycleFound = true - indirects-- - break - } - d.pointers[addr] = d.depth - - ve = ve.Elem() - if ve.Kind() == reflect.Interface { - if ve.IsNil() { - nilFound = true - break - } - ve = ve.Elem() - } - } - - // Display type information. - d.w.Write(openParenBytes) - d.w.Write(bytes.Repeat(asteriskBytes, indirects)) - d.w.Write([]byte(ve.Type().String())) - d.w.Write(closeParenBytes) - - // Display pointer information. - if !d.cs.DisablePointerAddresses && len(pointerChain) > 0 { - d.w.Write(openParenBytes) - for i, addr := range pointerChain { - if i > 0 { - d.w.Write(pointerChainBytes) - } - printHexPtr(d.w, addr) - } - d.w.Write(closeParenBytes) - } - - // Display dereferenced value. - d.w.Write(openParenBytes) - switch { - case nilFound: - d.w.Write(nilAngleBytes) - - case cycleFound: - d.w.Write(circularBytes) - - default: - d.ignoreNextType = true - d.dump(ve) - } - d.w.Write(closeParenBytes) -} - -// dumpSlice handles formatting of arrays and slices. Byte (uint8 under -// reflection) arrays and slices are dumped in hexdump -C fashion. -func (d *dumpState) dumpSlice(v reflect.Value) { - // Determine whether this type should be hex dumped or not. Also, - // for types which should be hexdumped, try to use the underlying data - // first, then fall back to trying to convert them to a uint8 slice. - var buf []uint8 - doConvert := false - doHexDump := false - numEntries := v.Len() - if numEntries > 0 { - vt := v.Index(0).Type() - vts := vt.String() - switch { - // C types that need to be converted. - case cCharRE.MatchString(vts): - fallthrough - case cUnsignedCharRE.MatchString(vts): - fallthrough - case cUint8tCharRE.MatchString(vts): - doConvert = true - - // Try to use existing uint8 slices and fall back to converting - // and copying if that fails. - case vt.Kind() == reflect.Uint8: - // We need an addressable interface to convert the type - // to a byte slice. However, the reflect package won't - // give us an interface on certain things like - // unexported struct fields in order to enforce - // visibility rules. We use unsafe, when available, to - // bypass these restrictions since this package does not - // mutate the values. - vs := v - if !vs.CanInterface() || !vs.CanAddr() { - vs = unsafeReflectValue(vs) - } - if !UnsafeDisabled { - vs = vs.Slice(0, numEntries) - - // Use the existing uint8 slice if it can be - // type asserted. - iface := vs.Interface() - if slice, ok := iface.([]uint8); ok { - buf = slice - doHexDump = true - break - } - } - - // The underlying data needs to be converted if it can't - // be type asserted to a uint8 slice. - doConvert = true - } - - // Copy and convert the underlying type if needed. - if doConvert && vt.ConvertibleTo(uint8Type) { - // Convert and copy each element into a uint8 byte - // slice. - buf = make([]uint8, numEntries) - for i := 0; i < numEntries; i++ { - vv := v.Index(i) - buf[i] = uint8(vv.Convert(uint8Type).Uint()) - } - doHexDump = true - } - } - - // Hexdump the entire slice as needed. - if doHexDump { - indent := strings.Repeat(d.cs.Indent, d.depth) - str := indent + hex.Dump(buf) - str = strings.Replace(str, "\n", "\n"+indent, -1) - str = strings.TrimRight(str, d.cs.Indent) - d.w.Write([]byte(str)) - return - } - - // Recursively call dump for each item. - for i := 0; i < numEntries; i++ { - d.dump(d.unpackValue(v.Index(i))) - if i < (numEntries - 1) { - d.w.Write(commaNewlineBytes) - } else { - d.w.Write(newlineBytes) - } - } -} - -// dump is the main workhorse for dumping a value. It uses the passed reflect -// value to figure out what kind of object we are dealing with and formats it -// appropriately. It is a recursive function, however circular data structures -// are detected and handled properly. -func (d *dumpState) dump(v reflect.Value) { - // Handle invalid reflect values immediately. - kind := v.Kind() - if kind == reflect.Invalid { - d.w.Write(invalidAngleBytes) - return - } - - // Handle pointers specially. - if kind == reflect.Ptr { - d.indent() - d.dumpPtr(v) - return - } - - // Print type information unless already handled elsewhere. - if !d.ignoreNextType { - d.indent() - d.w.Write(openParenBytes) - d.w.Write([]byte(v.Type().String())) - d.w.Write(closeParenBytes) - d.w.Write(spaceBytes) - } - d.ignoreNextType = false - - // Display length and capacity if the built-in len and cap functions - // work with the value's kind and the len/cap itself is non-zero. - valueLen, valueCap := 0, 0 - switch v.Kind() { - case reflect.Array, reflect.Slice, reflect.Chan: - valueLen, valueCap = v.Len(), v.Cap() - case reflect.Map, reflect.String: - valueLen = v.Len() - } - if valueLen != 0 || !d.cs.DisableCapacities && valueCap != 0 { - d.w.Write(openParenBytes) - if valueLen != 0 { - d.w.Write(lenEqualsBytes) - printInt(d.w, int64(valueLen), 10) - } - if !d.cs.DisableCapacities && valueCap != 0 { - if valueLen != 0 { - d.w.Write(spaceBytes) - } - d.w.Write(capEqualsBytes) - printInt(d.w, int64(valueCap), 10) - } - d.w.Write(closeParenBytes) - d.w.Write(spaceBytes) - } - - // Call Stringer/error interfaces if they exist and the handle methods flag - // is enabled - if !d.cs.DisableMethods { - if (kind != reflect.Invalid) && (kind != reflect.Interface) { - if handled := handleMethods(d.cs, d.w, v); handled { - return - } - } - } - - switch kind { - case reflect.Invalid: - // Do nothing. We should never get here since invalid has already - // been handled above. - - case reflect.Bool: - printBool(d.w, v.Bool()) - - case reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64, reflect.Int: - printInt(d.w, v.Int(), 10) - - case reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, reflect.Uint: - printUint(d.w, v.Uint(), 10) - - case reflect.Float32: - printFloat(d.w, v.Float(), 32) - - case reflect.Float64: - printFloat(d.w, v.Float(), 64) - - case reflect.Complex64: - printComplex(d.w, v.Complex(), 32) - - case reflect.Complex128: - printComplex(d.w, v.Complex(), 64) - - case reflect.Slice: - if v.IsNil() { - d.w.Write(nilAngleBytes) - break - } - fallthrough - - case reflect.Array: - d.w.Write(openBraceNewlineBytes) - d.depth++ - if (d.cs.MaxDepth != 0) && (d.depth > d.cs.MaxDepth) { - d.indent() - d.w.Write(maxNewlineBytes) - } else { - d.dumpSlice(v) - } - d.depth-- - d.indent() - d.w.Write(closeBraceBytes) - - case reflect.String: - d.w.Write([]byte(strconv.Quote(v.String()))) - - case reflect.Interface: - // The only time we should get here is for nil interfaces due to - // unpackValue calls. - if v.IsNil() { - d.w.Write(nilAngleBytes) - } - - case reflect.Ptr: - // Do nothing. We should never get here since pointers have already - // been handled above. - - case reflect.Map: - // nil maps should be indicated as different than empty maps - if v.IsNil() { - d.w.Write(nilAngleBytes) - break - } - - d.w.Write(openBraceNewlineBytes) - d.depth++ - if (d.cs.MaxDepth != 0) && (d.depth > d.cs.MaxDepth) { - d.indent() - d.w.Write(maxNewlineBytes) - } else { - numEntries := v.Len() - keys := v.MapKeys() - if d.cs.SortKeys { - sortValues(keys, d.cs) - } - for i, key := range keys { - d.dump(d.unpackValue(key)) - d.w.Write(colonSpaceBytes) - d.ignoreNextIndent = true - d.dump(d.unpackValue(v.MapIndex(key))) - if i < (numEntries - 1) { - d.w.Write(commaNewlineBytes) - } else { - d.w.Write(newlineBytes) - } - } - } - d.depth-- - d.indent() - d.w.Write(closeBraceBytes) - - case reflect.Struct: - d.w.Write(openBraceNewlineBytes) - d.depth++ - if (d.cs.MaxDepth != 0) && (d.depth > d.cs.MaxDepth) { - d.indent() - d.w.Write(maxNewlineBytes) - } else { - vt := v.Type() - numFields := v.NumField() - for i := 0; i < numFields; i++ { - d.indent() - vtf := vt.Field(i) - d.w.Write([]byte(vtf.Name)) - d.w.Write(colonSpaceBytes) - d.ignoreNextIndent = true - d.dump(d.unpackValue(v.Field(i))) - if i < (numFields - 1) { - d.w.Write(commaNewlineBytes) - } else { - d.w.Write(newlineBytes) - } - } - } - d.depth-- - d.indent() - d.w.Write(closeBraceBytes) - - case reflect.Uintptr: - printHexPtr(d.w, uintptr(v.Uint())) - - case reflect.UnsafePointer, reflect.Chan, reflect.Func: - printHexPtr(d.w, v.Pointer()) - - // There were not any other types at the time this code was written, but - // fall back to letting the default fmt package handle it in case any new - // types are added. - default: - if v.CanInterface() { - fmt.Fprintf(d.w, "%v", v.Interface()) - } else { - fmt.Fprintf(d.w, "%v", v.String()) - } - } -} - -// fdump is a helper function to consolidate the logic from the various public -// methods which take varying writers and config states. -func fdump(cs *ConfigState, w io.Writer, a ...interface{}) { - for _, arg := range a { - if arg == nil { - w.Write(interfaceBytes) - w.Write(spaceBytes) - w.Write(nilAngleBytes) - w.Write(newlineBytes) - continue - } - - d := dumpState{w: w, cs: cs} - d.pointers = make(map[uintptr]int) - d.dump(reflect.ValueOf(arg)) - d.w.Write(newlineBytes) - } -} - -// Fdump formats and displays the passed arguments to io.Writer w. It formats -// exactly the same as Dump. -func Fdump(w io.Writer, a ...interface{}) { - fdump(&Config, w, a...) -} - -// Sdump returns a string with the passed arguments formatted exactly the same -// as Dump. -func Sdump(a ...interface{}) string { - var buf bytes.Buffer - fdump(&Config, &buf, a...) - return buf.String() -} - -/* -Dump displays the passed parameters to standard out with newlines, customizable -indentation, and additional debug information such as complete types and all -pointer addresses used to indirect to the final value. It provides the -following features over the built-in printing facilities provided by the fmt -package: - - * Pointers are dereferenced and followed - * Circular data structures are detected and handled properly - * Custom Stringer/error interfaces are optionally invoked, including - on unexported types - * Custom types which only implement the Stringer/error interfaces via - a pointer receiver are optionally invoked when passing non-pointer - variables - * Byte arrays and slices are dumped like the hexdump -C command which - includes offsets, byte values in hex, and ASCII output - -The configuration options are controlled by an exported package global, -spew.Config. See ConfigState for options documentation. - -See Fdump if you would prefer dumping to an arbitrary io.Writer or Sdump to -get the formatted result as a string. -*/ -func Dump(a ...interface{}) { - fdump(&Config, os.Stdout, a...) -} diff --git a/vendor/github.com/davecgh/go-spew/spew/format.go b/vendor/github.com/davecgh/go-spew/spew/format.go deleted file mode 100644 index b04edb7d..00000000 --- a/vendor/github.com/davecgh/go-spew/spew/format.go +++ /dev/null @@ -1,419 +0,0 @@ -/* - * Copyright (c) 2013-2016 Dave Collins - * - * Permission to use, copy, modify, and distribute this software for any - * purpose with or without fee is hereby granted, provided that the above - * copyright notice and this permission notice appear in all copies. - * - * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES - * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR - * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES - * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN - * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF - * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - */ - -package spew - -import ( - "bytes" - "fmt" - "reflect" - "strconv" - "strings" -) - -// supportedFlags is a list of all the character flags supported by fmt package. -const supportedFlags = "0-+# " - -// formatState implements the fmt.Formatter interface and contains information -// about the state of a formatting operation. The NewFormatter function can -// be used to get a new Formatter which can be used directly as arguments -// in standard fmt package printing calls. -type formatState struct { - value interface{} - fs fmt.State - depth int - pointers map[uintptr]int - ignoreNextType bool - cs *ConfigState -} - -// buildDefaultFormat recreates the original format string without precision -// and width information to pass in to fmt.Sprintf in the case of an -// unrecognized type. Unless new types are added to the language, this -// function won't ever be called. -func (f *formatState) buildDefaultFormat() (format string) { - buf := bytes.NewBuffer(percentBytes) - - for _, flag := range supportedFlags { - if f.fs.Flag(int(flag)) { - buf.WriteRune(flag) - } - } - - buf.WriteRune('v') - - format = buf.String() - return format -} - -// constructOrigFormat recreates the original format string including precision -// and width information to pass along to the standard fmt package. This allows -// automatic deferral of all format strings this package doesn't support. -func (f *formatState) constructOrigFormat(verb rune) (format string) { - buf := bytes.NewBuffer(percentBytes) - - for _, flag := range supportedFlags { - if f.fs.Flag(int(flag)) { - buf.WriteRune(flag) - } - } - - if width, ok := f.fs.Width(); ok { - buf.WriteString(strconv.Itoa(width)) - } - - if precision, ok := f.fs.Precision(); ok { - buf.Write(precisionBytes) - buf.WriteString(strconv.Itoa(precision)) - } - - buf.WriteRune(verb) - - format = buf.String() - return format -} - -// unpackValue returns values inside of non-nil interfaces when possible and -// ensures that types for values which have been unpacked from an interface -// are displayed when the show types flag is also set. -// This is useful for data types like structs, arrays, slices, and maps which -// can contain varying types packed inside an interface. -func (f *formatState) unpackValue(v reflect.Value) reflect.Value { - if v.Kind() == reflect.Interface { - f.ignoreNextType = false - if !v.IsNil() { - v = v.Elem() - } - } - return v -} - -// formatPtr handles formatting of pointers by indirecting them as necessary. -func (f *formatState) formatPtr(v reflect.Value) { - // Display nil if top level pointer is nil. - showTypes := f.fs.Flag('#') - if v.IsNil() && (!showTypes || f.ignoreNextType) { - f.fs.Write(nilAngleBytes) - return - } - - // Remove pointers at or below the current depth from map used to detect - // circular refs. - for k, depth := range f.pointers { - if depth >= f.depth { - delete(f.pointers, k) - } - } - - // Keep list of all dereferenced pointers to possibly show later. - pointerChain := make([]uintptr, 0) - - // Figure out how many levels of indirection there are by derferencing - // pointers and unpacking interfaces down the chain while detecting circular - // references. - nilFound := false - cycleFound := false - indirects := 0 - ve := v - for ve.Kind() == reflect.Ptr { - if ve.IsNil() { - nilFound = true - break - } - indirects++ - addr := ve.Pointer() - pointerChain = append(pointerChain, addr) - if pd, ok := f.pointers[addr]; ok && pd < f.depth { - cycleFound = true - indirects-- - break - } - f.pointers[addr] = f.depth - - ve = ve.Elem() - if ve.Kind() == reflect.Interface { - if ve.IsNil() { - nilFound = true - break - } - ve = ve.Elem() - } - } - - // Display type or indirection level depending on flags. - if showTypes && !f.ignoreNextType { - f.fs.Write(openParenBytes) - f.fs.Write(bytes.Repeat(asteriskBytes, indirects)) - f.fs.Write([]byte(ve.Type().String())) - f.fs.Write(closeParenBytes) - } else { - if nilFound || cycleFound { - indirects += strings.Count(ve.Type().String(), "*") - } - f.fs.Write(openAngleBytes) - f.fs.Write([]byte(strings.Repeat("*", indirects))) - f.fs.Write(closeAngleBytes) - } - - // Display pointer information depending on flags. - if f.fs.Flag('+') && (len(pointerChain) > 0) { - f.fs.Write(openParenBytes) - for i, addr := range pointerChain { - if i > 0 { - f.fs.Write(pointerChainBytes) - } - printHexPtr(f.fs, addr) - } - f.fs.Write(closeParenBytes) - } - - // Display dereferenced value. - switch { - case nilFound: - f.fs.Write(nilAngleBytes) - - case cycleFound: - f.fs.Write(circularShortBytes) - - default: - f.ignoreNextType = true - f.format(ve) - } -} - -// format is the main workhorse for providing the Formatter interface. It -// uses the passed reflect value to figure out what kind of object we are -// dealing with and formats it appropriately. It is a recursive function, -// however circular data structures are detected and handled properly. -func (f *formatState) format(v reflect.Value) { - // Handle invalid reflect values immediately. - kind := v.Kind() - if kind == reflect.Invalid { - f.fs.Write(invalidAngleBytes) - return - } - - // Handle pointers specially. - if kind == reflect.Ptr { - f.formatPtr(v) - return - } - - // Print type information unless already handled elsewhere. - if !f.ignoreNextType && f.fs.Flag('#') { - f.fs.Write(openParenBytes) - f.fs.Write([]byte(v.Type().String())) - f.fs.Write(closeParenBytes) - } - f.ignoreNextType = false - - // Call Stringer/error interfaces if they exist and the handle methods - // flag is enabled. - if !f.cs.DisableMethods { - if (kind != reflect.Invalid) && (kind != reflect.Interface) { - if handled := handleMethods(f.cs, f.fs, v); handled { - return - } - } - } - - switch kind { - case reflect.Invalid: - // Do nothing. We should never get here since invalid has already - // been handled above. - - case reflect.Bool: - printBool(f.fs, v.Bool()) - - case reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64, reflect.Int: - printInt(f.fs, v.Int(), 10) - - case reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, reflect.Uint: - printUint(f.fs, v.Uint(), 10) - - case reflect.Float32: - printFloat(f.fs, v.Float(), 32) - - case reflect.Float64: - printFloat(f.fs, v.Float(), 64) - - case reflect.Complex64: - printComplex(f.fs, v.Complex(), 32) - - case reflect.Complex128: - printComplex(f.fs, v.Complex(), 64) - - case reflect.Slice: - if v.IsNil() { - f.fs.Write(nilAngleBytes) - break - } - fallthrough - - case reflect.Array: - f.fs.Write(openBracketBytes) - f.depth++ - if (f.cs.MaxDepth != 0) && (f.depth > f.cs.MaxDepth) { - f.fs.Write(maxShortBytes) - } else { - numEntries := v.Len() - for i := 0; i < numEntries; i++ { - if i > 0 { - f.fs.Write(spaceBytes) - } - f.ignoreNextType = true - f.format(f.unpackValue(v.Index(i))) - } - } - f.depth-- - f.fs.Write(closeBracketBytes) - - case reflect.String: - f.fs.Write([]byte(v.String())) - - case reflect.Interface: - // The only time we should get here is for nil interfaces due to - // unpackValue calls. - if v.IsNil() { - f.fs.Write(nilAngleBytes) - } - - case reflect.Ptr: - // Do nothing. We should never get here since pointers have already - // been handled above. - - case reflect.Map: - // nil maps should be indicated as different than empty maps - if v.IsNil() { - f.fs.Write(nilAngleBytes) - break - } - - f.fs.Write(openMapBytes) - f.depth++ - if (f.cs.MaxDepth != 0) && (f.depth > f.cs.MaxDepth) { - f.fs.Write(maxShortBytes) - } else { - keys := v.MapKeys() - if f.cs.SortKeys { - sortValues(keys, f.cs) - } - for i, key := range keys { - if i > 0 { - f.fs.Write(spaceBytes) - } - f.ignoreNextType = true - f.format(f.unpackValue(key)) - f.fs.Write(colonBytes) - f.ignoreNextType = true - f.format(f.unpackValue(v.MapIndex(key))) - } - } - f.depth-- - f.fs.Write(closeMapBytes) - - case reflect.Struct: - numFields := v.NumField() - f.fs.Write(openBraceBytes) - f.depth++ - if (f.cs.MaxDepth != 0) && (f.depth > f.cs.MaxDepth) { - f.fs.Write(maxShortBytes) - } else { - vt := v.Type() - for i := 0; i < numFields; i++ { - if i > 0 { - f.fs.Write(spaceBytes) - } - vtf := vt.Field(i) - if f.fs.Flag('+') || f.fs.Flag('#') { - f.fs.Write([]byte(vtf.Name)) - f.fs.Write(colonBytes) - } - f.format(f.unpackValue(v.Field(i))) - } - } - f.depth-- - f.fs.Write(closeBraceBytes) - - case reflect.Uintptr: - printHexPtr(f.fs, uintptr(v.Uint())) - - case reflect.UnsafePointer, reflect.Chan, reflect.Func: - printHexPtr(f.fs, v.Pointer()) - - // There were not any other types at the time this code was written, but - // fall back to letting the default fmt package handle it if any get added. - default: - format := f.buildDefaultFormat() - if v.CanInterface() { - fmt.Fprintf(f.fs, format, v.Interface()) - } else { - fmt.Fprintf(f.fs, format, v.String()) - } - } -} - -// Format satisfies the fmt.Formatter interface. See NewFormatter for usage -// details. -func (f *formatState) Format(fs fmt.State, verb rune) { - f.fs = fs - - // Use standard formatting for verbs that are not v. - if verb != 'v' { - format := f.constructOrigFormat(verb) - fmt.Fprintf(fs, format, f.value) - return - } - - if f.value == nil { - if fs.Flag('#') { - fs.Write(interfaceBytes) - } - fs.Write(nilAngleBytes) - return - } - - f.format(reflect.ValueOf(f.value)) -} - -// newFormatter is a helper function to consolidate the logic from the various -// public methods which take varying config states. -func newFormatter(cs *ConfigState, v interface{}) fmt.Formatter { - fs := &formatState{value: v, cs: cs} - fs.pointers = make(map[uintptr]int) - return fs -} - -/* -NewFormatter returns a custom formatter that satisfies the fmt.Formatter -interface. As a result, it integrates cleanly with standard fmt package -printing functions. The formatter is useful for inline printing of smaller data -types similar to the standard %v format specifier. - -The custom formatter only responds to the %v (most compact), %+v (adds pointer -addresses), %#v (adds types), or %#+v (adds types and pointer addresses) verb -combinations. Any other verbs such as %x and %q will be sent to the the -standard fmt package for formatting. In addition, the custom formatter ignores -the width and precision arguments (however they will still work on the format -specifiers not handled by the custom formatter). - -Typically this function shouldn't be called directly. It is much easier to make -use of the custom formatter by calling one of the convenience functions such as -Printf, Println, or Fprintf. -*/ -func NewFormatter(v interface{}) fmt.Formatter { - return newFormatter(&Config, v) -} diff --git a/vendor/github.com/davecgh/go-spew/spew/spew.go b/vendor/github.com/davecgh/go-spew/spew/spew.go deleted file mode 100644 index 32c0e338..00000000 --- a/vendor/github.com/davecgh/go-spew/spew/spew.go +++ /dev/null @@ -1,148 +0,0 @@ -/* - * Copyright (c) 2013-2016 Dave Collins - * - * Permission to use, copy, modify, and distribute this software for any - * purpose with or without fee is hereby granted, provided that the above - * copyright notice and this permission notice appear in all copies. - * - * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES - * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR - * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES - * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN - * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF - * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - */ - -package spew - -import ( - "fmt" - "io" -) - -// Errorf is a wrapper for fmt.Errorf that treats each argument as if it were -// passed with a default Formatter interface returned by NewFormatter. It -// returns the formatted string as a value that satisfies error. See -// NewFormatter for formatting details. -// -// This function is shorthand for the following syntax: -// -// fmt.Errorf(format, spew.NewFormatter(a), spew.NewFormatter(b)) -func Errorf(format string, a ...interface{}) (err error) { - return fmt.Errorf(format, convertArgs(a)...) -} - -// Fprint is a wrapper for fmt.Fprint that treats each argument as if it were -// passed with a default Formatter interface returned by NewFormatter. It -// returns the number of bytes written and any write error encountered. See -// NewFormatter for formatting details. -// -// This function is shorthand for the following syntax: -// -// fmt.Fprint(w, spew.NewFormatter(a), spew.NewFormatter(b)) -func Fprint(w io.Writer, a ...interface{}) (n int, err error) { - return fmt.Fprint(w, convertArgs(a)...) -} - -// Fprintf is a wrapper for fmt.Fprintf that treats each argument as if it were -// passed with a default Formatter interface returned by NewFormatter. It -// returns the number of bytes written and any write error encountered. See -// NewFormatter for formatting details. -// -// This function is shorthand for the following syntax: -// -// fmt.Fprintf(w, format, spew.NewFormatter(a), spew.NewFormatter(b)) -func Fprintf(w io.Writer, format string, a ...interface{}) (n int, err error) { - return fmt.Fprintf(w, format, convertArgs(a)...) -} - -// Fprintln is a wrapper for fmt.Fprintln that treats each argument as if it -// passed with a default Formatter interface returned by NewFormatter. See -// NewFormatter for formatting details. -// -// This function is shorthand for the following syntax: -// -// fmt.Fprintln(w, spew.NewFormatter(a), spew.NewFormatter(b)) -func Fprintln(w io.Writer, a ...interface{}) (n int, err error) { - return fmt.Fprintln(w, convertArgs(a)...) -} - -// Print is a wrapper for fmt.Print that treats each argument as if it were -// passed with a default Formatter interface returned by NewFormatter. It -// returns the number of bytes written and any write error encountered. See -// NewFormatter for formatting details. -// -// This function is shorthand for the following syntax: -// -// fmt.Print(spew.NewFormatter(a), spew.NewFormatter(b)) -func Print(a ...interface{}) (n int, err error) { - return fmt.Print(convertArgs(a)...) -} - -// Printf is a wrapper for fmt.Printf that treats each argument as if it were -// passed with a default Formatter interface returned by NewFormatter. It -// returns the number of bytes written and any write error encountered. See -// NewFormatter for formatting details. -// -// This function is shorthand for the following syntax: -// -// fmt.Printf(format, spew.NewFormatter(a), spew.NewFormatter(b)) -func Printf(format string, a ...interface{}) (n int, err error) { - return fmt.Printf(format, convertArgs(a)...) -} - -// Println is a wrapper for fmt.Println that treats each argument as if it were -// passed with a default Formatter interface returned by NewFormatter. It -// returns the number of bytes written and any write error encountered. See -// NewFormatter for formatting details. -// -// This function is shorthand for the following syntax: -// -// fmt.Println(spew.NewFormatter(a), spew.NewFormatter(b)) -func Println(a ...interface{}) (n int, err error) { - return fmt.Println(convertArgs(a)...) -} - -// Sprint is a wrapper for fmt.Sprint that treats each argument as if it were -// passed with a default Formatter interface returned by NewFormatter. It -// returns the resulting string. See NewFormatter for formatting details. -// -// This function is shorthand for the following syntax: -// -// fmt.Sprint(spew.NewFormatter(a), spew.NewFormatter(b)) -func Sprint(a ...interface{}) string { - return fmt.Sprint(convertArgs(a)...) -} - -// Sprintf is a wrapper for fmt.Sprintf that treats each argument as if it were -// passed with a default Formatter interface returned by NewFormatter. It -// returns the resulting string. See NewFormatter for formatting details. -// -// This function is shorthand for the following syntax: -// -// fmt.Sprintf(format, spew.NewFormatter(a), spew.NewFormatter(b)) -func Sprintf(format string, a ...interface{}) string { - return fmt.Sprintf(format, convertArgs(a)...) -} - -// Sprintln is a wrapper for fmt.Sprintln that treats each argument as if it -// were passed with a default Formatter interface returned by NewFormatter. It -// returns the resulting string. See NewFormatter for formatting details. -// -// This function is shorthand for the following syntax: -// -// fmt.Sprintln(spew.NewFormatter(a), spew.NewFormatter(b)) -func Sprintln(a ...interface{}) string { - return fmt.Sprintln(convertArgs(a)...) -} - -// convertArgs accepts a slice of arguments and returns a slice of the same -// length with each argument converted to a default spew Formatter interface. -func convertArgs(args []interface{}) (formatters []interface{}) { - formatters = make([]interface{}, len(args)) - for index, arg := range args { - formatters[index] = NewFormatter(arg) - } - return formatters -} diff --git a/vendor/github.com/dlclark/regexp2/.gitignore b/vendor/github.com/dlclark/regexp2/.gitignore deleted file mode 100644 index 38a7addc..00000000 --- a/vendor/github.com/dlclark/regexp2/.gitignore +++ /dev/null @@ -1,25 +0,0 @@ -# Compiled Object files, Static and Dynamic libs (Shared Objects) -*.o -*.a -*.so - -# Folders -_obj -_test - -# Architecture specific extensions/prefixes -*.[568vq] -[568vq].out - -*.cgo1.go -*.cgo2.c -_cgo_defun.c -_cgo_gotypes.go -_cgo_export.* - -_testmain.go - -*.exe -*.test -*.prof -*.out \ No newline at end of file diff --git a/vendor/github.com/dlclark/regexp2/.travis.yml b/vendor/github.com/dlclark/regexp2/.travis.yml deleted file mode 100644 index a24aeded..00000000 --- a/vendor/github.com/dlclark/regexp2/.travis.yml +++ /dev/null @@ -1,5 +0,0 @@ -language: go - -go: - - 1.5 - - tip \ No newline at end of file diff --git a/vendor/github.com/dlclark/regexp2/ATTRIB b/vendor/github.com/dlclark/regexp2/ATTRIB deleted file mode 100644 index cdf4560b..00000000 --- a/vendor/github.com/dlclark/regexp2/ATTRIB +++ /dev/null @@ -1,133 +0,0 @@ -============ -These pieces of code were ported from dotnet/corefx: - -syntax/charclass.go (from RegexCharClass.cs): ported to use the built-in Go unicode classes. Canonicalize is - a direct port, but most of the other code required large changes because the C# implementation - used a string to represent the CharSet data structure and I cleaned that up in my implementation. - -syntax/code.go (from RegexCode.cs): ported literally with various cleanups and layout to make it more Go-ish. - -syntax/escape.go (from RegexParser.cs): ported Escape method and added some optimizations. Unescape is inspired by - the C# implementation but couldn't be directly ported because of the lack of do-while syntax in Go. - -syntax/parser.go (from RegexpParser.cs and RegexOptions.cs): ported parser struct and associated methods as - literally as possible. Several language differences required changes. E.g. lack pre/post-fix increments as - expressions, lack of do-while loops, lack of overloads, etc. - -syntax/prefix.go (from RegexFCD.cs and RegexBoyerMoore.cs): ported as literally as possible and added support - for unicode chars that are longer than the 16-bit char in C# for the 32-bit rune in Go. - -syntax/replacerdata.go (from RegexReplacement.cs): conceptually ported and re-organized to handle differences - in charclass implementation, and fix odd code layout between RegexParser.cs, Regex.cs, and RegexReplacement.cs. - -syntax/tree.go (from RegexTree.cs and RegexNode.cs): ported literally as possible. - -syntax/writer.go (from RegexWriter.cs): ported literally with minor changes to make it more Go-ish. - -match.go (from RegexMatch.cs): ported, simplified, and changed to handle Go's lack of inheritence. - -regexp.go (from Regex.cs and RegexOptions.cs): conceptually serves the same "starting point", but is simplified - and changed to handle differences in C# strings and Go strings/runes. - -replace.go (from RegexReplacement.cs): ported closely and then cleaned up to combine the MatchEvaluator and - simple string replace implementations. - -runner.go (from RegexRunner.cs): ported literally as possible. - -regexp_test.go (from CaptureTests.cs and GroupNamesAndNumbers.cs): conceptually ported, but the code was - manually structured like Go tests. - -replace_test.go (from RegexReplaceStringTest0.cs): conceptually ported - -rtl_test.go (from RightToLeft.cs): conceptually ported ---- -dotnet/corefx was released under this license: - -The MIT License (MIT) - -Copyright (c) Microsoft Corporation - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - -============ -These pieces of code are copied from the Go framework: - -- The overall directory structure of regexp2 was inspired by the Go runtime regexp package. -- The optimization in the escape method of syntax/escape.go is from the Go runtime QuoteMeta() func in regexp/regexp.go -- The method signatures in regexp.go are designed to match the Go framework regexp methods closely -- func regexp2.MustCompile and func quote are almost identifical to the regexp package versions -- BenchmarkMatch* and TestProgramTooLong* funcs in regexp_performance_test.go were copied from the framework - regexp/exec_test.go ---- -The Go framework was released under this license: - -Copyright (c) 2012 The Go Authors. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above -copyright notice, this list of conditions and the following disclaimer -in the documentation and/or other materials provided with the -distribution. - * Neither the name of Google Inc. nor the names of its -contributors may be used to endorse or promote products derived from -this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -============ -Some test data were gathered from the Mono project. - -regexp_mono_test.go: ported from https://github.com/mono/mono/blob/master/mcs/class/System/Test/System.Text.RegularExpressions/PerlTrials.cs ---- -Mono tests released under this license: - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - diff --git a/vendor/github.com/dlclark/regexp2/LICENSE b/vendor/github.com/dlclark/regexp2/LICENSE deleted file mode 100644 index fe83dfdc..00000000 --- a/vendor/github.com/dlclark/regexp2/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License (MIT) - -Copyright (c) Doug Clark - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/vendor/github.com/dlclark/regexp2/README.md b/vendor/github.com/dlclark/regexp2/README.md deleted file mode 100644 index f4dc33da..00000000 --- a/vendor/github.com/dlclark/regexp2/README.md +++ /dev/null @@ -1,67 +0,0 @@ -# regexp2 - full featured regular expressions for Go -Regexp2 is a feature-rich RegExp engine for Go. It doesn't have constant time guarantees like the built-in `regexp` package, but it allows backtracking and is compatible with Perl5 and .NET. You'll likely be better off with the RE2 engine from the `regexp` package and should only use this if you need to write very complex patterns or require compatibility with .NET. - -## Basis of the engine -The engine is ported from the .NET framework's System.Text.RegularExpressions.Regex engine. That engine was open sourced in 2015 under the MIT license. There are some fundamental differences between .NET strings and Go strings that required a bit of borrowing from the Go framework regex engine as well. I cleaned up a couple of the dirtier bits during the port (regexcharclass.cs was terrible), but the parse tree, code emmitted, and therefore patterns matched should be identical. - -## Installing -This is a go-gettable library, so install is easy: - - go get github.com/dlclark/regexp2/... - -## Usage -Usage is similar to the Go `regexp` package. Just like in `regexp`, you start by converting a regex into a state machine via the `Compile` or `MustCompile` methods. They ultimately do the same thing, but `MustCompile` will panic if the regex is invalid. You can then use the provided `Regexp` struct to find matches repeatedly. A `Regexp` struct is safe to use across goroutines. - -```go -re := regexp2.MustCompile(`Your pattern`, 0) -if isMatch, _ := re.MatchString(`Something to match`); isMatch { - //do something -} -``` - -The only error that the `*Match*` methods *should* return is a Timeout if you set the `re.MatchTimeout` field. Any other error is a bug in the `regexp2` package. If you need more details about capture groups in a match then use the `FindStringMatch` method, like so: - -```go -if m, _ := re.FindStringMatch(`Something to match`); m != nil { - // the whole match is always group 0 - fmt.Printf("Group 0: %v\n", m.String()) - - // you can get all the groups too - gps := m.Groups() - - // a group can be captured multiple times, so each cap is separately addressable - fmt.Printf("Group 1, first capture", gps[1].Captures[0].String()) - fmt.Printf("Group 1, second capture", gps[1].Captures[1].String()) -} -``` - -Group 0 is embedded in the Match. Group 0 is an automatically-assigned group that encompasses the whole pattern. This means that `m.String()` is the same as `m.Group.String()` and `m.Groups()[0].String()` - -The __last__ capture is embedded in each group, so `g.String()` will return the same thing as `g.Capture.String()` and `g.Captures[len(g.Captures)-1].String()`. - -## Compare `regexp` and `regexp2` -| Category | regexp | regexp2 | -| --- | --- | --- | -| Catastrophic backtracking possible | no, constant execution time guarantees | yes, if your pattern is at risk you can use the `re.MatchTimeout` field | -| Python-style capture groups `(Pre)` | yes | no | -| .NET-style capture groups `(re)` or `('name're)` | no | yes | -| comments `(?#comment)` | no | yes | -| branch numbering reset `(?\|a\|b)` | no | no | -| possessive match `(?>re)` | no | yes | -| positive lookahead `(?=re)` | no | yes | -| negative lookahead `(?!re)` | no | yes | -| positive lookbehind `(?<=re)` | no | yes | -| negative lookbehind `(? 0 && m.matches[cap][m.matchcount[cap]*2-1] != (-3+1) -} - -// matchIndex returns the index of the last specified matched group by capnum -func (m *Match) matchIndex(cap int) int { - i := m.matches[cap][m.matchcount[cap]*2-2] - if i >= 0 { - return i - } - - return m.matches[cap][-3-i] -} - -// matchLength returns the length of the last specified matched group by capnum -func (m *Match) matchLength(cap int) int { - i := m.matches[cap][m.matchcount[cap]*2-1] - if i >= 0 { - return i - } - - return m.matches[cap][-3-i] -} - -// Nonpublic builder: add a capture to the group specified by "c" -func (m *Match) addMatch(c, start, l int) { - - if m.matches[c] == nil { - m.matches[c] = make([]int, 2) - } - - capcount := m.matchcount[c] - - if capcount*2+2 > len(m.matches[c]) { - oldmatches := m.matches[c] - newmatches := make([]int, capcount*8) - copy(newmatches, oldmatches[:capcount*2]) - m.matches[c] = newmatches - } - - m.matches[c][capcount*2] = start - m.matches[c][capcount*2+1] = l - m.matchcount[c] = capcount + 1 - //log.Printf("addMatch: c=%v, i=%v, l=%v ... matches: %v", c, start, l, m.matches) -} - -// Nonpublic builder: Add a capture to balance the specified group. This is used by the -// balanced match construct. (?...) -// -// If there were no such thing as backtracking, this would be as simple as calling RemoveMatch(c). -// However, since we have backtracking, we need to keep track of everything. -func (m *Match) balanceMatch(c int) { - m.balancing = true - - // we'll look at the last capture first - capcount := m.matchcount[c] - target := capcount*2 - 2 - - // first see if it is negative, and therefore is a reference to the next available - // capture group for balancing. If it is, we'll reset target to point to that capture. - if m.matches[c][target] < 0 { - target = -3 - m.matches[c][target] - } - - // move back to the previous capture - target -= 2 - - // if the previous capture is a reference, just copy that reference to the end. Otherwise, point to it. - if target >= 0 && m.matches[c][target] < 0 { - m.addMatch(c, m.matches[c][target], m.matches[c][target+1]) - } else { - m.addMatch(c, -3-target, -4-target /* == -3 - (target + 1) */) - } -} - -// Nonpublic builder: removes a group match by capnum -func (m *Match) removeMatch(c int) { - m.matchcount[c]-- -} - -// GroupCount returns the number of groups this match has matched -func (m *Match) GroupCount() int { - return len(m.matchcount) -} - -// GroupByName returns a group based on the name of the group, or nil if the group name does not exist -func (m *Match) GroupByName(name string) *Group { - num := m.regex.GroupNumberFromName(name) - if num < 0 { - return nil - } - return m.GroupByNumber(num) -} - -// GroupByNumber returns a group based on the number of the group, or nil if the group number does not exist -func (m *Match) GroupByNumber(num int) *Group { - // check our sparse map - if m.sparseCaps != nil { - if newNum, ok := m.sparseCaps[num]; ok { - num = newNum - } - } - if num >= len(m.matchcount) || num < 0 { - return nil - } - - if num == 0 { - return &m.Group - } - - m.populateOtherGroups() - - return &m.otherGroups[num-1] -} - -// Groups returns all the capture groups, starting with group 0 (the full match) -func (m *Match) Groups() []Group { - m.populateOtherGroups() - g := make([]Group, len(m.otherGroups)+1) - g[0] = m.Group - copy(g[1:], m.otherGroups) - return g -} - -func (m *Match) populateOtherGroups() { - // Construct all the Group objects first time called - if m.otherGroups == nil { - m.otherGroups = make([]Group, len(m.matchcount)-1) - for i := 0; i < len(m.otherGroups); i++ { - m.otherGroups[i] = newGroup(m.regex.GroupNameFromNumber(i+1), m.text, m.matches[i+1], m.matchcount[i+1]) - } - } -} - -func (m *Match) groupValueAppendToBuf(groupnum int, buf *bytes.Buffer) { - c := m.matchcount[groupnum] - if c == 0 { - return - } - - matches := m.matches[groupnum] - - index := matches[(c-1)*2] - last := index + matches[(c*2)-1] - - for ; index < last; index++ { - buf.WriteRune(m.text[index]) - } -} - -func newGroup(name string, text []rune, caps []int, capcount int) Group { - g := Group{} - g.text = text - if capcount > 0 { - g.Index = caps[(capcount-1)*2] - g.Length = caps[(capcount*2)-1] - } - g.Name = name - g.Captures = make([]Capture, capcount) - for i := 0; i < capcount; i++ { - g.Captures[i] = Capture{ - text: text, - Index: caps[i*2], - Length: caps[i*2+1], - } - } - //log.Printf("newGroup! capcount %v, %+v", capcount, g) - - return g -} - -func (m *Match) dump() string { - buf := &bytes.Buffer{} - buf.WriteRune('\n') - if len(m.sparseCaps) > 0 { - for k, v := range m.sparseCaps { - fmt.Fprintf(buf, "Slot %v -> %v\n", k, v) - } - } - - for i, g := range m.Groups() { - fmt.Fprintf(buf, "Group %v (%v), %v caps:\n", i, g.Name, len(g.Captures)) - - for _, c := range g.Captures { - fmt.Fprintf(buf, " (%v, %v) %v\n", c.Index, c.Length, c.String()) - } - } - /* - for i := 0; i < len(m.matchcount); i++ { - fmt.Fprintf(buf, "\nGroup %v (%v):\n", i, m.regex.GroupNameFromNumber(i)) - - for j := 0; j < m.matchcount[i]; j++ { - text := "" - - if m.matches[i][j*2] >= 0 { - start := m.matches[i][j*2] - text = m.text[start : start+m.matches[i][j*2+1]] - } - - fmt.Fprintf(buf, " (%v, %v) %v\n", m.matches[i][j*2], m.matches[i][j*2+1], text) - } - } - */ - return buf.String() -} diff --git a/vendor/github.com/dlclark/regexp2/regexp.go b/vendor/github.com/dlclark/regexp2/regexp.go deleted file mode 100644 index b25fe690..00000000 --- a/vendor/github.com/dlclark/regexp2/regexp.go +++ /dev/null @@ -1,357 +0,0 @@ -/* -Package regexp2 is a regexp package that has an interface similar to Go's framework regexp engine but uses a -more feature full regex engine behind the scenes. - -It doesn't have constant time guarantees, but it allows backtracking and is compatible with Perl5 and .NET. -You'll likely be better off with the RE2 engine from the regexp package and should only use this if you -need to write very complex patterns or require compatibility with .NET. -*/ -package regexp2 - -import ( - "errors" - "math" - "strconv" - "sync" - "time" - - "github.com/dlclark/regexp2/syntax" -) - -// Default timeout used when running regexp matches -- "forever" -var DefaultMatchTimeout = time.Duration(math.MaxInt64) - -// Regexp is the representation of a compiled regular expression. -// A Regexp is safe for concurrent use by multiple goroutines. -type Regexp struct { - //timeout when trying to find matches - MatchTimeout time.Duration - - // read-only after Compile - pattern string // as passed to Compile - options RegexOptions // options - - caps map[int]int // capnum->index - capnames map[string]int //capture group name -> index - capslist []string //sorted list of capture group names - capsize int // size of the capture array - - code *syntax.Code // compiled program - - // cache of machines for running regexp - muRun sync.Mutex - runner []*runner -} - -// Compile parses a regular expression and returns, if successful, -// a Regexp object that can be used to match against text. -func Compile(expr string, opt RegexOptions) (*Regexp, error) { - // parse it - tree, err := syntax.Parse(expr, syntax.RegexOptions(opt)) - if err != nil { - return nil, err - } - - // translate it to code - code, err := syntax.Write(tree) - if err != nil { - return nil, err - } - - // return it - return &Regexp{ - pattern: expr, - options: opt, - caps: code.Caps, - capnames: tree.Capnames, - capslist: tree.Caplist, - capsize: code.Capsize, - code: code, - MatchTimeout: DefaultMatchTimeout, - }, nil -} - -// MustCompile is like Compile but panics if the expression cannot be parsed. -// It simplifies safe initialization of global variables holding compiled regular -// expressions. -func MustCompile(str string, opt RegexOptions) *Regexp { - regexp, error := Compile(str, opt) - if error != nil { - panic(`regexp2: Compile(` + quote(str) + `): ` + error.Error()) - } - return regexp -} - -// Escape adds backslashes to any special characters in the input string -func Escape(input string) string { - return syntax.Escape(input) -} - -// Unescape removes any backslashes from previously-escaped special characters in the input string -func Unescape(input string) (string, error) { - return syntax.Unescape(input) -} - -// String returns the source text used to compile the regular expression. -func (re *Regexp) String() string { - return re.pattern -} - -func quote(s string) string { - if strconv.CanBackquote(s) { - return "`" + s + "`" - } - return strconv.Quote(s) -} - -// RegexOptions impact the runtime and parsing behavior -// for each specific regex. They are setable in code as well -// as in the regex pattern itself. -type RegexOptions int32 - -const ( - None RegexOptions = 0x0 - IgnoreCase = 0x0001 // "i" - Multiline = 0x0002 // "m" - ExplicitCapture = 0x0004 // "n" - Compiled = 0x0008 // "c" - Singleline = 0x0010 // "s" - IgnorePatternWhitespace = 0x0020 // "x" - RightToLeft = 0x0040 // "r" - Debug = 0x0080 // "d" - ECMAScript = 0x0100 // "e" -) - -func (re *Regexp) RightToLeft() bool { - return re.options&RightToLeft != 0 -} - -func (re *Regexp) Debug() bool { - return re.options&Debug != 0 -} - -// Replace searches the input string and replaces each match found with the replacement text. -// Count will limit the number of matches attempted and startAt will allow -// us to skip past possible matches at the start of the input (left or right depending on RightToLeft option). -// Set startAt and count to -1 to go through the whole string -func (re *Regexp) Replace(input, replacement string, startAt, count int) (string, error) { - data, err := syntax.NewReplacerData(replacement, re.caps, re.capsize, re.capnames, syntax.RegexOptions(re.options)) - if err != nil { - return "", err - } - //TODO: cache ReplacerData - - return replace(re, data, nil, input, startAt, count) -} - -// ReplaceFunc searches the input string and replaces each match found using the string from the evaluator -// Count will limit the number of matches attempted and startAt will allow -// us to skip past possible matches at the start of the input (left or right depending on RightToLeft option). -// Set startAt and count to -1 to go through the whole string. -func (re *Regexp) ReplaceFunc(input string, evaluator MatchEvaluator, startAt, count int) (string, error) { - return replace(re, nil, evaluator, input, startAt, count) -} - -// FindStringMatch searches the input string for a Regexp match -func (re *Regexp) FindStringMatch(s string) (*Match, error) { - // convert string to runes - return re.run(false, -1, getRunes(s)) -} - -// FindRunesMatch searches the input rune slice for a Regexp match -func (re *Regexp) FindRunesMatch(r []rune) (*Match, error) { - return re.run(false, -1, r) -} - -// FindStringMatchStartingAt searches the input string for a Regexp match starting at the startAt index -func (re *Regexp) FindStringMatchStartingAt(s string, startAt int) (*Match, error) { - if startAt > len(s) { - return nil, errors.New("startAt must be less than the length of the input string") - } - r, startAt := re.getRunesAndStart(s, startAt) - if startAt == -1 { - // we didn't find our start index in the string -- that's a problem - return nil, errors.New("startAt must align to the start of a valid rune in the input string") - } - - return re.run(false, startAt, r) -} - -// FindRunesMatchStartingAt searches the input rune slice for a Regexp match starting at the startAt index -func (re *Regexp) FindRunesMatchStartingAt(r []rune, startAt int) (*Match, error) { - return re.run(false, startAt, r) -} - -// FindNextMatch returns the next match in the same input string as the match parameter. -// Will return nil if there is no next match or if given a nil match. -func (re *Regexp) FindNextMatch(m *Match) (*Match, error) { - if m == nil { - return nil, nil - } - - // If previous match was empty, advance by one before matching to prevent - // infinite loop - startAt := m.textpos - if m.Length == 0 { - if m.textpos == len(m.text) { - return nil, nil - } - - if re.RightToLeft() { - startAt-- - } else { - startAt++ - } - } - return re.run(false, startAt, m.text) -} - -// MatchString return true if the string matches the regex -// error will be set if a timeout occurs -func (re *Regexp) MatchString(s string) (bool, error) { - m, err := re.run(true, -1, getRunes(s)) - if err != nil { - return false, err - } - return m != nil, nil -} - -func (re *Regexp) getRunesAndStart(s string, startAt int) ([]rune, int) { - if startAt < 0 { - if re.RightToLeft() { - r := getRunes(s) - return r, len(r) - } - return getRunes(s), 0 - } - ret := make([]rune, len(s)) - i := 0 - runeIdx := -1 - for strIdx, r := range s { - if strIdx == startAt { - runeIdx = i - } - ret[i] = r - i++ - } - return ret[:i], runeIdx -} - -func getRunes(s string) []rune { - ret := make([]rune, len(s)) - i := 0 - for _, r := range s { - ret[i] = r - i++ - } - return ret[:i] -} - -// MatchRunes return true if the runes matches the regex -// error will be set if a timeout occurs -func (re *Regexp) MatchRunes(r []rune) (bool, error) { - m, err := re.run(true, -1, r) - if err != nil { - return false, err - } - return m != nil, nil -} - -// GetGroupNames Returns the set of strings used to name capturing groups in the expression. -func (re *Regexp) GetGroupNames() []string { - var result []string - - if re.capslist == nil { - result = make([]string, re.capsize) - - for i := 0; i < len(result); i++ { - result[i] = strconv.Itoa(i) - } - } else { - result = make([]string, len(re.capslist)) - copy(result, re.capslist) - } - - return result -} - -// GetGroupNumbers returns the integer group numbers corresponding to a group name. -func (re *Regexp) GetGroupNumbers() []int { - var result []int - - if re.caps == nil { - result = make([]int, re.capsize) - - for i := 0; i < len(result); i++ { - result[i] = i - } - } else { - result = make([]int, len(re.caps)) - - for k, v := range re.caps { - result[v] = k - } - } - - return result -} - -// GroupNameFromNumber retrieves a group name that corresponds to a group number. -// It will return "" for and unknown group number. Unnamed groups automatically -// receive a name that is the decimal string equivalent of its number. -func (re *Regexp) GroupNameFromNumber(i int) string { - if re.capslist == nil { - if i >= 0 && i < re.capsize { - return strconv.Itoa(i) - } - - return "" - } - - if re.caps != nil { - var ok bool - if i, ok = re.caps[i]; !ok { - return "" - } - } - - if i >= 0 && i < len(re.capslist) { - return re.capslist[i] - } - - return "" -} - -// GroupNumberFromName returns a group number that corresponds to a group name. -// Returns -1 if the name is not a recognized group name. Numbered groups -// automatically get a group name that is the decimal string equivalent of its number. -func (re *Regexp) GroupNumberFromName(name string) int { - // look up name if we have a hashtable of names - if re.capnames != nil { - if k, ok := re.capnames[name]; ok { - return k - } - - return -1 - } - - // convert to an int if it looks like a number - result := 0 - for i := 0; i < len(name); i++ { - ch := name[i] - - if ch > '9' || ch < '0' { - return -1 - } - - result *= 10 - result += int(ch - '0') - } - - // return int if it's in range - if result >= 0 && result < re.capsize { - return result - } - - return -1 -} diff --git a/vendor/github.com/dlclark/regexp2/replace.go b/vendor/github.com/dlclark/regexp2/replace.go deleted file mode 100644 index 0376bd9d..00000000 --- a/vendor/github.com/dlclark/regexp2/replace.go +++ /dev/null @@ -1,177 +0,0 @@ -package regexp2 - -import ( - "bytes" - "errors" - - "github.com/dlclark/regexp2/syntax" -) - -const ( - replaceSpecials = 4 - replaceLeftPortion = -1 - replaceRightPortion = -2 - replaceLastGroup = -3 - replaceWholeString = -4 -) - -// MatchEvaluator is a function that takes a match and returns a replacement string to be used -type MatchEvaluator func(Match) string - -// Three very similar algorithms appear below: replace (pattern), -// replace (evaluator), and split. - -// Replace Replaces all occurrences of the regex in the string with the -// replacement pattern. -// -// Note that the special case of no matches is handled on its own: -// with no matches, the input string is returned unchanged. -// The right-to-left case is split out because StringBuilder -// doesn't handle right-to-left string building directly very well. -func replace(regex *Regexp, data *syntax.ReplacerData, evaluator MatchEvaluator, input string, startAt, count int) (string, error) { - if count < -1 { - return "", errors.New("Count too small") - } - if count == 0 { - return "", nil - } - - m, err := regex.FindStringMatchStartingAt(input, startAt) - - if err != nil { - return "", err - } - if m == nil { - return input, nil - } - - buf := &bytes.Buffer{} - text := m.text - - if !regex.RightToLeft() { - prevat := 0 - for m != nil { - if m.Index != prevat { - buf.WriteString(string(text[prevat:m.Index])) - } - prevat = m.Index + m.Length - if evaluator == nil { - replacementImpl(data, buf, m) - } else { - buf.WriteString(evaluator(*m)) - } - - count-- - if count == 0 { - break - } - m, err = regex.FindNextMatch(m) - if err != nil { - return "", nil - } - } - - if prevat < len(text) { - buf.WriteString(string(text[prevat:])) - } - } else { - prevat := len(text) - var al []string - - for m != nil { - if m.Index+m.Length != prevat { - al = append(al, string(text[m.Index+m.Length:prevat])) - } - prevat = m.Index - if evaluator == nil { - replacementImplRTL(data, &al, m) - } else { - al = append(al, evaluator(*m)) - } - - count-- - if count == 0 { - break - } - m, err = regex.FindNextMatch(m) - if err != nil { - return "", nil - } - } - - if prevat > 0 { - buf.WriteString(string(text[:prevat])) - } - - for i := len(al) - 1; i >= 0; i-- { - buf.WriteString(al[i]) - } - } - - return buf.String(), nil -} - -// Given a Match, emits into the StringBuilder the evaluated -// substitution pattern. -func replacementImpl(data *syntax.ReplacerData, buf *bytes.Buffer, m *Match) { - for _, r := range data.Rules { - - if r >= 0 { // string lookup - buf.WriteString(data.Strings[r]) - } else if r < -replaceSpecials { // group lookup - m.groupValueAppendToBuf(-replaceSpecials-1-r, buf) - } else { - switch -replaceSpecials - 1 - r { // special insertion patterns - case replaceLeftPortion: - for i := 0; i < m.Index; i++ { - buf.WriteRune(m.text[i]) - } - case replaceRightPortion: - for i := m.Index + m.Length; i < len(m.text); i++ { - buf.WriteRune(m.text[i]) - } - case replaceLastGroup: - m.groupValueAppendToBuf(m.GroupCount()-1, buf) - case replaceWholeString: - for i := 0; i < len(m.text); i++ { - buf.WriteRune(m.text[i]) - } - } - } - } -} - -func replacementImplRTL(data *syntax.ReplacerData, al *[]string, m *Match) { - l := *al - buf := &bytes.Buffer{} - - for _, r := range data.Rules { - buf.Reset() - if r >= 0 { // string lookup - l = append(l, data.Strings[r]) - } else if r < -replaceSpecials { // group lookup - m.groupValueAppendToBuf(-replaceSpecials-1-r, buf) - l = append(l, buf.String()) - } else { - switch -replaceSpecials - 1 - r { // special insertion patterns - case replaceLeftPortion: - for i := 0; i < m.Index; i++ { - buf.WriteRune(m.text[i]) - } - case replaceRightPortion: - for i := m.Index + m.Length; i < len(m.text); i++ { - buf.WriteRune(m.text[i]) - } - case replaceLastGroup: - m.groupValueAppendToBuf(m.GroupCount()-1, buf) - case replaceWholeString: - for i := 0; i < len(m.text); i++ { - buf.WriteRune(m.text[i]) - } - } - l = append(l, buf.String()) - } - } - - *al = l -} diff --git a/vendor/github.com/dlclark/regexp2/runner.go b/vendor/github.com/dlclark/regexp2/runner.go deleted file mode 100644 index 2d84a934..00000000 --- a/vendor/github.com/dlclark/regexp2/runner.go +++ /dev/null @@ -1,1621 +0,0 @@ -package regexp2 - -import ( - "bytes" - "errors" - "fmt" - "math" - "strconv" - "strings" - "time" - "unicode" - - "github.com/dlclark/regexp2/syntax" -) - -type runner struct { - re *Regexp - code *syntax.Code - - runtextstart int // starting point for search - - runtext []rune // text to search - runtextpos int // current position in text - runtextend int - - // The backtracking stack. Opcodes use this to store data regarding - // what they have matched and where to backtrack to. Each "frame" on - // the stack takes the form of [CodePosition Data1 Data2...], where - // CodePosition is the position of the current opcode and - // the data values are all optional. The CodePosition can be negative, and - // these values (also called "back2") are used by the BranchMark family of opcodes - // to indicate whether they are backtracking after a successful or failed - // match. - // When we backtrack, we pop the CodePosition off the stack, set the current - // instruction pointer to that code position, and mark the opcode - // with a backtracking flag ("Back"). Each opcode then knows how to - // handle its own data. - runtrack []int - runtrackpos int - - // This stack is used to track text positions across different opcodes. - // For example, in /(a*b)+/, the parentheses result in a SetMark/CaptureMark - // pair. SetMark records the text position before we match a*b. Then - // CaptureMark uses that position to figure out where the capture starts. - // Opcodes which push onto this stack are always paired with other opcodes - // which will pop the value from it later. A successful match should mean - // that this stack is empty. - runstack []int - runstackpos int - - // The crawl stack is used to keep track of captures. Every time a group - // has a capture, we push its group number onto the runcrawl stack. In - // the case of a balanced match, we push BOTH groups onto the stack. - runcrawl []int - runcrawlpos int - - runtrackcount int // count of states that may do backtracking - - runmatch *Match // result object - - ignoreTimeout bool - timeout time.Duration // timeout in milliseconds (needed for actual) - timeoutChecksToSkip int - timeoutAt time.Time - - operator syntax.InstOp - codepos int - rightToLeft bool - caseInsensitive bool -} - -// run searches for matches and can continue from the previous match -// -// quick is usually false, but can be true to not return matches, just put it in caches -// textstart is -1 to start at the "beginning" (depending on Right-To-Left), otherwise an index in input -// input is the string to search for our regex pattern -func (re *Regexp) run(quick bool, textstart int, input []rune) (*Match, error) { - - // get a cached runner - runner := re.getRunner() - defer re.putRunner(runner) - - if textstart < 0 { - if re.RightToLeft() { - textstart = len(input) - } else { - textstart = 0 - } - } - - return runner.scan(input, textstart, quick, re.MatchTimeout) -} - -// Scans the string to find the first match. Uses the Match object -// both to feed text in and as a place to store matches that come out. -// -// All the action is in the Go() method. Our -// responsibility is to load up the class members before -// calling Go. -// -// The optimizer can compute a set of candidate starting characters, -// and we could use a separate method Skip() that will quickly scan past -// any characters that we know can't match. -func (r *runner) scan(rt []rune, textstart int, quick bool, timeout time.Duration) (*Match, error) { - r.timeout = timeout - r.ignoreTimeout = (time.Duration(math.MaxInt64) == timeout) - r.runtextstart = textstart - r.runtext = rt - r.runtextend = len(rt) - - stoppos := r.runtextend - bump := 1 - - if r.re.RightToLeft() { - bump = -1 - stoppos = 0 - } - - r.runtextpos = textstart - initted := false - - r.startTimeoutWatch() - for { - if r.re.Debug() { - //fmt.Printf("\nSearch content: %v\n", string(r.runtext)) - fmt.Printf("\nSearch range: from 0 to %v\n", r.runtextend) - fmt.Printf("Firstchar search starting at %v stopping at %v\n", r.runtextpos, stoppos) - } - - if r.findFirstChar() { - if err := r.checkTimeout(); err != nil { - return nil, err - } - - if !initted { - r.initMatch() - initted = true - } - - if r.re.Debug() { - fmt.Printf("Executing engine starting at %v\n\n", r.runtextpos) - } - - if err := r.execute(); err != nil { - return nil, err - } - - if r.runmatch.matchcount[0] > 0 { - // We'll return a match even if it touches a previous empty match - return r.tidyMatch(quick), nil - } - - // reset state for another go - r.runtrackpos = len(r.runtrack) - r.runstackpos = len(r.runstack) - r.runcrawlpos = len(r.runcrawl) - } - - // failure! - - if r.runtextpos == stoppos { - r.tidyMatch(true) - return nil, nil - } - - // Recognize leading []* and various anchors, and bump on failure accordingly - - // r.bump by one and start again - - r.runtextpos += bump - } - // We never get here -} - -func (r *runner) execute() error { - - r.goTo(0) - - for { - - if r.re.Debug() { - r.dumpState() - } - - if err := r.checkTimeout(); err != nil { - return err - } - - switch r.operator { - case syntax.Stop: - return nil - - case syntax.Nothing: - break - - case syntax.Goto: - r.goTo(r.operand(0)) - continue - - case syntax.Testref: - if !r.runmatch.isMatched(r.operand(0)) { - break - } - r.advance(1) - continue - - case syntax.Lazybranch: - r.trackPush1(r.textPos()) - r.advance(1) - continue - - case syntax.Lazybranch | syntax.Back: - r.trackPop() - r.textto(r.trackPeek()) - r.goTo(r.operand(0)) - continue - - case syntax.Setmark: - r.stackPush(r.textPos()) - r.trackPush() - r.advance(0) - continue - - case syntax.Nullmark: - r.stackPush(-1) - r.trackPush() - r.advance(0) - continue - - case syntax.Setmark | syntax.Back, syntax.Nullmark | syntax.Back: - r.stackPop() - break - - case syntax.Getmark: - r.stackPop() - r.trackPush1(r.stackPeek()) - r.textto(r.stackPeek()) - r.advance(0) - continue - - case syntax.Getmark | syntax.Back: - r.trackPop() - r.stackPush(r.trackPeek()) - break - - case syntax.Capturemark: - if r.operand(1) != -1 && !r.runmatch.isMatched(r.operand(1)) { - break - } - r.stackPop() - if r.operand(1) != -1 { - r.transferCapture(r.operand(0), r.operand(1), r.stackPeek(), r.textPos()) - } else { - r.capture(r.operand(0), r.stackPeek(), r.textPos()) - } - r.trackPush1(r.stackPeek()) - - r.advance(2) - - continue - - case syntax.Capturemark | syntax.Back: - r.trackPop() - r.stackPush(r.trackPeek()) - r.uncapture() - if r.operand(0) != -1 && r.operand(1) != -1 { - r.uncapture() - } - - break - - case syntax.Branchmark: - r.stackPop() - - matched := r.textPos() - r.stackPeek() - - if matched != 0 { // Nonempty match -> loop now - r.trackPush2(r.stackPeek(), r.textPos()) // Save old mark, textpos - r.stackPush(r.textPos()) // Make new mark - r.goTo(r.operand(0)) // Loop - } else { // Empty match -> straight now - r.trackPushNeg1(r.stackPeek()) // Save old mark - r.advance(1) // Straight - } - continue - - case syntax.Branchmark | syntax.Back: - r.trackPopN(2) - r.stackPop() - r.textto(r.trackPeekN(1)) // Recall position - r.trackPushNeg1(r.trackPeek()) // Save old mark - r.advance(1) // Straight - continue - - case syntax.Branchmark | syntax.Back2: - r.trackPop() - r.stackPush(r.trackPeek()) // Recall old mark - break // Backtrack - - case syntax.Lazybranchmark: - { - // We hit this the first time through a lazy loop and after each - // successful match of the inner expression. It simply continues - // on and doesn't loop. - r.stackPop() - - oldMarkPos := r.stackPeek() - - if r.textPos() != oldMarkPos { // Nonempty match -> try to loop again by going to 'back' state - if oldMarkPos != -1 { - r.trackPush2(oldMarkPos, r.textPos()) // Save old mark, textpos - } else { - r.trackPush2(r.textPos(), r.textPos()) - } - } else { - // The inner expression found an empty match, so we'll go directly to 'back2' if we - // backtrack. In this case, we need to push something on the stack, since back2 pops. - // However, in the case of ()+? or similar, this empty match may be legitimate, so push the text - // position associated with that empty match. - r.stackPush(oldMarkPos) - - r.trackPushNeg1(r.stackPeek()) // Save old mark - } - r.advance(1) - continue - } - - case syntax.Lazybranchmark | syntax.Back: - - // After the first time, Lazybranchmark | syntax.Back occurs - // with each iteration of the loop, and therefore with every attempted - // match of the inner expression. We'll try to match the inner expression, - // then go back to Lazybranchmark if successful. If the inner expression - // fails, we go to Lazybranchmark | syntax.Back2 - - r.trackPopN(2) - pos := r.trackPeekN(1) - r.trackPushNeg1(r.trackPeek()) // Save old mark - r.stackPush(pos) // Make new mark - r.textto(pos) // Recall position - r.goTo(r.operand(0)) // Loop - continue - - case syntax.Lazybranchmark | syntax.Back2: - // The lazy loop has failed. We'll do a true backtrack and - // start over before the lazy loop. - r.stackPop() - r.trackPop() - r.stackPush(r.trackPeek()) // Recall old mark - break - - case syntax.Setcount: - r.stackPush2(r.textPos(), r.operand(0)) - r.trackPush() - r.advance(1) - continue - - case syntax.Nullcount: - r.stackPush2(-1, r.operand(0)) - r.trackPush() - r.advance(1) - continue - - case syntax.Setcount | syntax.Back: - r.stackPopN(2) - break - - case syntax.Nullcount | syntax.Back: - r.stackPopN(2) - break - - case syntax.Branchcount: - // r.stackPush: - // 0: Mark - // 1: Count - - r.stackPopN(2) - mark := r.stackPeek() - count := r.stackPeekN(1) - matched := r.textPos() - mark - - if count >= r.operand(1) || (matched == 0 && count >= 0) { // Max loops or empty match -> straight now - r.trackPushNeg2(mark, count) // Save old mark, count - r.advance(2) // Straight - } else { // Nonempty match -> count+loop now - r.trackPush1(mark) // remember mark - r.stackPush2(r.textPos(), count+1) // Make new mark, incr count - r.goTo(r.operand(0)) // Loop - } - continue - - case syntax.Branchcount | syntax.Back: - // r.trackPush: - // 0: Previous mark - // r.stackPush: - // 0: Mark (= current pos, discarded) - // 1: Count - r.trackPop() - r.stackPopN(2) - if r.stackPeekN(1) > 0 { // Positive -> can go straight - r.textto(r.stackPeek()) // Zap to mark - r.trackPushNeg2(r.trackPeek(), r.stackPeekN(1)-1) // Save old mark, old count - r.advance(2) // Straight - continue - } - r.stackPush2(r.trackPeek(), r.stackPeekN(1)-1) // recall old mark, old count - break - - case syntax.Branchcount | syntax.Back2: - // r.trackPush: - // 0: Previous mark - // 1: Previous count - r.trackPopN(2) - r.stackPush2(r.trackPeek(), r.trackPeekN(1)) // Recall old mark, old count - break // Backtrack - - case syntax.Lazybranchcount: - // r.stackPush: - // 0: Mark - // 1: Count - - r.stackPopN(2) - mark := r.stackPeek() - count := r.stackPeekN(1) - - if count < 0 { // Negative count -> loop now - r.trackPushNeg1(mark) // Save old mark - r.stackPush2(r.textPos(), count+1) // Make new mark, incr count - r.goTo(r.operand(0)) // Loop - } else { // Nonneg count -> straight now - r.trackPush3(mark, count, r.textPos()) // Save mark, count, position - r.advance(2) // Straight - } - continue - - case syntax.Lazybranchcount | syntax.Back: - // r.trackPush: - // 0: Mark - // 1: Count - // 2: r.textPos - - r.trackPopN(3) - mark := r.trackPeek() - textpos := r.trackPeekN(2) - - if r.trackPeekN(1) < r.operand(1) && textpos != mark { // Under limit and not empty match -> loop - r.textto(textpos) // Recall position - r.stackPush2(textpos, r.trackPeekN(1)+1) // Make new mark, incr count - r.trackPushNeg1(mark) // Save old mark - r.goTo(r.operand(0)) // Loop - continue - } else { // Max loops or empty match -> backtrack - r.stackPush2(r.trackPeek(), r.trackPeekN(1)) // Recall old mark, count - break // backtrack - } - - case syntax.Lazybranchcount | syntax.Back2: - // r.trackPush: - // 0: Previous mark - // r.stackPush: - // 0: Mark (== current pos, discarded) - // 1: Count - r.trackPop() - r.stackPopN(2) - r.stackPush2(r.trackPeek(), r.stackPeekN(1)-1) // Recall old mark, count - break // Backtrack - - case syntax.Setjump: - r.stackPush2(r.trackpos(), r.crawlpos()) - r.trackPush() - r.advance(0) - continue - - case syntax.Setjump | syntax.Back: - r.stackPopN(2) - break - - case syntax.Backjump: - // r.stackPush: - // 0: Saved trackpos - // 1: r.crawlpos - r.stackPopN(2) - r.trackto(r.stackPeek()) - - for r.crawlpos() != r.stackPeekN(1) { - r.uncapture() - } - - break - - case syntax.Forejump: - // r.stackPush: - // 0: Saved trackpos - // 1: r.crawlpos - r.stackPopN(2) - r.trackto(r.stackPeek()) - r.trackPush1(r.stackPeekN(1)) - r.advance(0) - continue - - case syntax.Forejump | syntax.Back: - // r.trackPush: - // 0: r.crawlpos - r.trackPop() - - for r.crawlpos() != r.trackPeek() { - r.uncapture() - } - - break - - case syntax.Bol: - if r.leftchars() > 0 && r.charAt(r.textPos()-1) != '\n' { - break - } - r.advance(0) - continue - - case syntax.Eol: - if r.rightchars() > 0 && r.charAt(r.textPos()) != '\n' { - break - } - r.advance(0) - continue - - case syntax.Boundary: - if !r.isBoundary(r.textPos(), 0, r.runtextend) { - break - } - r.advance(0) - continue - - case syntax.Nonboundary: - if r.isBoundary(r.textPos(), 0, r.runtextend) { - break - } - r.advance(0) - continue - - case syntax.ECMABoundary: - if !r.isECMABoundary(r.textPos(), 0, r.runtextend) { - break - } - r.advance(0) - continue - - case syntax.NonECMABoundary: - if r.isECMABoundary(r.textPos(), 0, r.runtextend) { - break - } - r.advance(0) - continue - - case syntax.Beginning: - if r.leftchars() > 0 { - break - } - r.advance(0) - continue - - case syntax.Start: - if r.textPos() != r.textstart() { - break - } - r.advance(0) - continue - - case syntax.EndZ: - if r.rightchars() > 1 || r.rightchars() == 1 && r.charAt(r.textPos()) != '\n' { - break - } - r.advance(0) - continue - - case syntax.End: - if r.rightchars() > 0 { - break - } - r.advance(0) - continue - - case syntax.One: - if r.forwardchars() < 1 || r.forwardcharnext() != rune(r.operand(0)) { - break - } - - r.advance(1) - continue - - case syntax.Notone: - if r.forwardchars() < 1 || r.forwardcharnext() == rune(r.operand(0)) { - break - } - - r.advance(1) - continue - - case syntax.Set: - - if r.forwardchars() < 1 || !r.code.Sets[r.operand(0)].CharIn(r.forwardcharnext()) { - break - } - - r.advance(1) - continue - - case syntax.Multi: - if !r.runematch(r.code.Strings[r.operand(0)]) { - break - } - - r.advance(1) - continue - - case syntax.Ref: - - capnum := r.operand(0) - - if r.runmatch.isMatched(capnum) { - if !r.refmatch(r.runmatch.matchIndex(capnum), r.runmatch.matchLength(capnum)) { - break - } - } else { - if (r.re.options & ECMAScript) == 0 { - break - } - } - - r.advance(1) - continue - - case syntax.Onerep: - - c := r.operand(1) - - if r.forwardchars() < c { - break - } - - ch := rune(r.operand(0)) - - for c > 0 { - if r.forwardcharnext() != ch { - goto BreakBackward - } - c-- - } - - r.advance(2) - continue - - case syntax.Notonerep: - - c := r.operand(1) - - if r.forwardchars() < c { - break - } - ch := rune(r.operand(0)) - - for c > 0 { - if r.forwardcharnext() == ch { - goto BreakBackward - } - c-- - } - - r.advance(2) - continue - - case syntax.Setrep: - - c := r.operand(1) - - if r.forwardchars() < c { - break - } - - set := r.code.Sets[r.operand(0)] - - for c > 0 { - if !set.CharIn(r.forwardcharnext()) { - goto BreakBackward - } - c-- - } - - r.advance(2) - continue - - case syntax.Oneloop: - - c := r.operand(1) - - if c > r.forwardchars() { - c = r.forwardchars() - } - - ch := rune(r.operand(0)) - i := c - - for ; i > 0; i-- { - if r.forwardcharnext() != ch { - r.backwardnext() - break - } - } - - if c > i { - r.trackPush2(c-i-1, r.textPos()-r.bump()) - } - - r.advance(2) - continue - - case syntax.Notoneloop: - - c := r.operand(1) - - if c > r.forwardchars() { - c = r.forwardchars() - } - - ch := rune(r.operand(0)) - i := c - - for ; i > 0; i-- { - if r.forwardcharnext() == ch { - r.backwardnext() - break - } - } - - if c > i { - r.trackPush2(c-i-1, r.textPos()-r.bump()) - } - - r.advance(2) - continue - - case syntax.Setloop: - - c := r.operand(1) - - if c > r.forwardchars() { - c = r.forwardchars() - } - - set := r.code.Sets[r.operand(0)] - i := c - - for ; i > 0; i-- { - if !set.CharIn(r.forwardcharnext()) { - r.backwardnext() - break - } - } - - if c > i { - r.trackPush2(c-i-1, r.textPos()-r.bump()) - } - - r.advance(2) - continue - - case syntax.Oneloop | syntax.Back, syntax.Notoneloop | syntax.Back: - - r.trackPopN(2) - i := r.trackPeek() - pos := r.trackPeekN(1) - - r.textto(pos) - - if i > 0 { - r.trackPush2(i-1, pos-r.bump()) - } - - r.advance(2) - continue - - case syntax.Setloop | syntax.Back: - - r.trackPopN(2) - i := r.trackPeek() - pos := r.trackPeekN(1) - - r.textto(pos) - - if i > 0 { - r.trackPush2(i-1, pos-r.bump()) - } - - r.advance(2) - continue - - case syntax.Onelazy, syntax.Notonelazy: - - c := r.operand(1) - - if c > r.forwardchars() { - c = r.forwardchars() - } - - if c > 0 { - r.trackPush2(c-1, r.textPos()) - } - - r.advance(2) - continue - - case syntax.Setlazy: - - c := r.operand(1) - - if c > r.forwardchars() { - c = r.forwardchars() - } - - if c > 0 { - r.trackPush2(c-1, r.textPos()) - } - - r.advance(2) - continue - - case syntax.Onelazy | syntax.Back: - - r.trackPopN(2) - pos := r.trackPeekN(1) - r.textto(pos) - - if r.forwardcharnext() != rune(r.operand(0)) { - break - } - - i := r.trackPeek() - - if i > 0 { - r.trackPush2(i-1, pos+r.bump()) - } - - r.advance(2) - continue - - case syntax.Notonelazy | syntax.Back: - - r.trackPopN(2) - pos := r.trackPeekN(1) - r.textto(pos) - - if r.forwardcharnext() == rune(r.operand(0)) { - break - } - - i := r.trackPeek() - - if i > 0 { - r.trackPush2(i-1, pos+r.bump()) - } - - r.advance(2) - continue - - case syntax.Setlazy | syntax.Back: - - r.trackPopN(2) - pos := r.trackPeekN(1) - r.textto(pos) - - if !r.code.Sets[r.operand(0)].CharIn(r.forwardcharnext()) { - break - } - - i := r.trackPeek() - - if i > 0 { - r.trackPush2(i-1, pos+r.bump()) - } - - r.advance(2) - continue - - default: - return errors.New("unknown state in regex runner") - } - - BreakBackward: - ; - - // "break Backward" comes here: - r.backtrack() - } -} - -// increase the size of stack and track storage -func (r *runner) ensureStorage() { - if r.runstackpos < r.runtrackcount*4 { - doubleIntSlice(&r.runstack, &r.runstackpos) - } - if r.runtrackpos < r.runtrackcount*4 { - doubleIntSlice(&r.runtrack, &r.runtrackpos) - } -} - -func doubleIntSlice(s *[]int, pos *int) { - oldLen := len(*s) - newS := make([]int, oldLen*2) - - copy(newS[oldLen:], *s) - *pos += oldLen - *s = newS -} - -// Save a number on the longjump unrolling stack -func (r *runner) crawl(i int) { - if r.runcrawlpos == 0 { - doubleIntSlice(&r.runcrawl, &r.runcrawlpos) - } - r.runcrawlpos-- - r.runcrawl[r.runcrawlpos] = i -} - -// Remove a number from the longjump unrolling stack -func (r *runner) popcrawl() int { - val := r.runcrawl[r.runcrawlpos] - r.runcrawlpos++ - return val -} - -// Get the height of the stack -func (r *runner) crawlpos() int { - return len(r.runcrawl) - r.runcrawlpos -} - -func (r *runner) advance(i int) { - r.codepos += (i + 1) - r.setOperator(r.code.Codes[r.codepos]) -} - -func (r *runner) goTo(newpos int) { - // when branching backward, ensure storage - if newpos < r.codepos { - r.ensureStorage() - } - - r.setOperator(r.code.Codes[newpos]) - r.codepos = newpos -} - -func (r *runner) textto(newpos int) { - r.runtextpos = newpos -} - -func (r *runner) trackto(newpos int) { - r.runtrackpos = len(r.runtrack) - newpos -} - -func (r *runner) textstart() int { - return r.runtextstart -} - -func (r *runner) textPos() int { - return r.runtextpos -} - -// push onto the backtracking stack -func (r *runner) trackpos() int { - return len(r.runtrack) - r.runtrackpos -} - -func (r *runner) trackPush() { - r.runtrackpos-- - r.runtrack[r.runtrackpos] = r.codepos -} - -func (r *runner) trackPush1(I1 int) { - r.runtrackpos-- - r.runtrack[r.runtrackpos] = I1 - r.runtrackpos-- - r.runtrack[r.runtrackpos] = r.codepos -} - -func (r *runner) trackPush2(I1, I2 int) { - r.runtrackpos-- - r.runtrack[r.runtrackpos] = I1 - r.runtrackpos-- - r.runtrack[r.runtrackpos] = I2 - r.runtrackpos-- - r.runtrack[r.runtrackpos] = r.codepos -} - -func (r *runner) trackPush3(I1, I2, I3 int) { - r.runtrackpos-- - r.runtrack[r.runtrackpos] = I1 - r.runtrackpos-- - r.runtrack[r.runtrackpos] = I2 - r.runtrackpos-- - r.runtrack[r.runtrackpos] = I3 - r.runtrackpos-- - r.runtrack[r.runtrackpos] = r.codepos -} - -func (r *runner) trackPushNeg1(I1 int) { - r.runtrackpos-- - r.runtrack[r.runtrackpos] = I1 - r.runtrackpos-- - r.runtrack[r.runtrackpos] = -r.codepos -} - -func (r *runner) trackPushNeg2(I1, I2 int) { - r.runtrackpos-- - r.runtrack[r.runtrackpos] = I1 - r.runtrackpos-- - r.runtrack[r.runtrackpos] = I2 - r.runtrackpos-- - r.runtrack[r.runtrackpos] = -r.codepos -} - -func (r *runner) backtrack() { - newpos := r.runtrack[r.runtrackpos] - r.runtrackpos++ - - if r.re.Debug() { - if newpos < 0 { - fmt.Printf(" Backtracking (back2) to code position %v\n", -newpos) - } else { - fmt.Printf(" Backtracking to code position %v\n", newpos) - } - } - - if newpos < 0 { - newpos = -newpos - r.setOperator(r.code.Codes[newpos] | syntax.Back2) - } else { - r.setOperator(r.code.Codes[newpos] | syntax.Back) - } - - // When branching backward, ensure storage - if newpos < r.codepos { - r.ensureStorage() - } - - r.codepos = newpos -} - -func (r *runner) setOperator(op int) { - r.caseInsensitive = (0 != (op & syntax.Ci)) - r.rightToLeft = (0 != (op & syntax.Rtl)) - r.operator = syntax.InstOp(op & ^(syntax.Rtl | syntax.Ci)) -} - -func (r *runner) trackPop() { - r.runtrackpos++ -} - -// pop framesize items from the backtracking stack -func (r *runner) trackPopN(framesize int) { - r.runtrackpos += framesize -} - -// Technically we are actually peeking at items already popped. So if you want to -// get and pop the top item from the stack, you do -// r.trackPop(); -// r.trackPeek(); -func (r *runner) trackPeek() int { - return r.runtrack[r.runtrackpos-1] -} - -// get the ith element down on the backtracking stack -func (r *runner) trackPeekN(i int) int { - return r.runtrack[r.runtrackpos-i-1] -} - -// Push onto the grouping stack -func (r *runner) stackPush(I1 int) { - r.runstackpos-- - r.runstack[r.runstackpos] = I1 -} - -func (r *runner) stackPush2(I1, I2 int) { - r.runstackpos-- - r.runstack[r.runstackpos] = I1 - r.runstackpos-- - r.runstack[r.runstackpos] = I2 -} - -func (r *runner) stackPop() { - r.runstackpos++ -} - -// pop framesize items from the grouping stack -func (r *runner) stackPopN(framesize int) { - r.runstackpos += framesize -} - -// Technically we are actually peeking at items already popped. So if you want to -// get and pop the top item from the stack, you do -// r.stackPop(); -// r.stackPeek(); -func (r *runner) stackPeek() int { - return r.runstack[r.runstackpos-1] -} - -// get the ith element down on the grouping stack -func (r *runner) stackPeekN(i int) int { - return r.runstack[r.runstackpos-i-1] -} - -func (r *runner) operand(i int) int { - return r.code.Codes[r.codepos+i+1] -} - -func (r *runner) leftchars() int { - return r.runtextpos -} - -func (r *runner) rightchars() int { - return r.runtextend - r.runtextpos -} - -func (r *runner) bump() int { - if r.rightToLeft { - return -1 - } - return 1 -} - -func (r *runner) forwardchars() int { - if r.rightToLeft { - return r.runtextpos - } - return r.runtextend - r.runtextpos -} - -func (r *runner) forwardcharnext() rune { - var ch rune - if r.rightToLeft { - r.runtextpos-- - ch = r.runtext[r.runtextpos] - } else { - ch = r.runtext[r.runtextpos] - r.runtextpos++ - } - - if r.caseInsensitive { - return unicode.ToLower(ch) - } - return ch -} - -func (r *runner) runematch(str []rune) bool { - var pos int - - c := len(str) - if !r.rightToLeft { - if r.runtextend-r.runtextpos < c { - return false - } - - pos = r.runtextpos + c - } else { - if r.runtextpos-0 < c { - return false - } - - pos = r.runtextpos - } - - if !r.caseInsensitive { - for c != 0 { - c-- - pos-- - if str[c] != r.runtext[pos] { - return false - } - } - } else { - for c != 0 { - c-- - pos-- - if str[c] != unicode.ToLower(r.runtext[pos]) { - return false - } - } - } - - if !r.rightToLeft { - pos += len(str) - } - - r.runtextpos = pos - - return true -} - -func (r *runner) refmatch(index, len int) bool { - var c, pos, cmpos int - - if !r.rightToLeft { - if r.runtextend-r.runtextpos < len { - return false - } - - pos = r.runtextpos + len - } else { - if r.runtextpos-0 < len { - return false - } - - pos = r.runtextpos - } - cmpos = index + len - - c = len - - if !r.caseInsensitive { - for c != 0 { - c-- - cmpos-- - pos-- - if r.runtext[cmpos] != r.runtext[pos] { - return false - } - - } - } else { - for c != 0 { - c-- - cmpos-- - pos-- - - if unicode.ToLower(r.runtext[cmpos]) != unicode.ToLower(r.runtext[pos]) { - return false - } - } - } - - if !r.rightToLeft { - pos += len - } - - r.runtextpos = pos - - return true -} - -func (r *runner) backwardnext() { - if r.rightToLeft { - r.runtextpos++ - } else { - r.runtextpos-- - } -} - -func (r *runner) charAt(j int) rune { - return r.runtext[j] -} - -func (r *runner) findFirstChar() bool { - - if 0 != (r.code.Anchors & (syntax.AnchorBeginning | syntax.AnchorStart | syntax.AnchorEndZ | syntax.AnchorEnd)) { - if !r.code.RightToLeft { - if (0 != (r.code.Anchors&syntax.AnchorBeginning) && r.runtextpos > 0) || - (0 != (r.code.Anchors&syntax.AnchorStart) && r.runtextpos > r.runtextstart) { - r.runtextpos = r.runtextend - return false - } - if 0 != (r.code.Anchors&syntax.AnchorEndZ) && r.runtextpos < r.runtextend-1 { - r.runtextpos = r.runtextend - 1 - } else if 0 != (r.code.Anchors&syntax.AnchorEnd) && r.runtextpos < r.runtextend { - r.runtextpos = r.runtextend - } - } else { - if (0 != (r.code.Anchors&syntax.AnchorEnd) && r.runtextpos < r.runtextend) || - (0 != (r.code.Anchors&syntax.AnchorEndZ) && (r.runtextpos < r.runtextend-1 || - (r.runtextpos == r.runtextend-1 && r.charAt(r.runtextpos) != '\n'))) || - (0 != (r.code.Anchors&syntax.AnchorStart) && r.runtextpos < r.runtextstart) { - r.runtextpos = 0 - return false - } - if 0 != (r.code.Anchors&syntax.AnchorBeginning) && r.runtextpos > 0 { - r.runtextpos = 0 - } - } - - if r.code.BmPrefix != nil { - return r.code.BmPrefix.IsMatch(r.runtext, r.runtextpos, 0, r.runtextend) - } - - return true // found a valid start or end anchor - } else if r.code.BmPrefix != nil { - r.runtextpos = r.code.BmPrefix.Scan(r.runtext, r.runtextpos, 0, r.runtextend) - - if r.runtextpos == -1 { - if r.code.RightToLeft { - r.runtextpos = 0 - } else { - r.runtextpos = r.runtextend - } - return false - } - - return true - } else if r.code.FcPrefix == nil { - return true - } - - r.rightToLeft = r.code.RightToLeft - r.caseInsensitive = r.code.FcPrefix.CaseInsensitive - - set := r.code.FcPrefix.PrefixSet - if set.IsSingleton() { - ch := set.SingletonChar() - for i := r.forwardchars(); i > 0; i-- { - if ch == r.forwardcharnext() { - r.backwardnext() - return true - } - } - } else { - for i := r.forwardchars(); i > 0; i-- { - n := r.forwardcharnext() - //fmt.Printf("%v in %v: %v\n", string(n), set.String(), set.CharIn(n)) - if set.CharIn(n) { - r.backwardnext() - return true - } - } - } - - return false -} - -func (r *runner) initMatch() { - // Use a hashtable'ed Match object if the capture numbers are sparse - - if r.runmatch == nil { - if r.re.caps != nil { - r.runmatch = newMatchSparse(r.re, r.re.caps, r.re.capsize, r.runtext, r.runtextstart) - } else { - r.runmatch = newMatch(r.re, r.re.capsize, r.runtext, r.runtextstart) - } - } else { - r.runmatch.reset(r.runtext, r.runtextstart) - } - - // note we test runcrawl, because it is the last one to be allocated - // If there is an alloc failure in the middle of the three allocations, - // we may still return to reuse this instance, and we want to behave - // as if the allocations didn't occur. (we used to test _trackcount != 0) - - if r.runcrawl != nil { - r.runtrackpos = len(r.runtrack) - r.runstackpos = len(r.runstack) - r.runcrawlpos = len(r.runcrawl) - return - } - - r.initTrackCount() - - tracksize := r.runtrackcount * 8 - stacksize := r.runtrackcount * 8 - - if tracksize < 32 { - tracksize = 32 - } - if stacksize < 16 { - stacksize = 16 - } - - r.runtrack = make([]int, tracksize) - r.runtrackpos = tracksize - - r.runstack = make([]int, stacksize) - r.runstackpos = stacksize - - r.runcrawl = make([]int, 32) - r.runcrawlpos = 32 -} - -func (r *runner) tidyMatch(quick bool) *Match { - if !quick { - match := r.runmatch - - r.runmatch = nil - - match.tidy(r.runtextpos) - return match - } else { - // send back our match -- it's not leaving the package, so it's safe to not clean it up - // this reduces allocs for frequent calls to the "IsMatch" bool-only functions - return r.runmatch - } -} - -// capture captures a subexpression. Note that the -// capnum used here has already been mapped to a non-sparse -// index (by the code generator RegexWriter). -func (r *runner) capture(capnum, start, end int) { - if end < start { - T := end - end = start - start = T - } - - r.crawl(capnum) - r.runmatch.addMatch(capnum, start, end-start) -} - -// transferCapture captures a subexpression. Note that the -// capnum used here has already been mapped to a non-sparse -// index (by the code generator RegexWriter). -func (r *runner) transferCapture(capnum, uncapnum, start, end int) { - var start2, end2 int - - // these are the two intervals that are cancelling each other - - if end < start { - T := end - end = start - start = T - } - - start2 = r.runmatch.matchIndex(uncapnum) - end2 = start2 + r.runmatch.matchLength(uncapnum) - - // The new capture gets the innermost defined interval - - if start >= end2 { - end = start - start = end2 - } else if end <= start2 { - start = start2 - } else { - if end > end2 { - end = end2 - } - if start2 > start { - start = start2 - } - } - - r.crawl(uncapnum) - r.runmatch.balanceMatch(uncapnum) - - if capnum != -1 { - r.crawl(capnum) - r.runmatch.addMatch(capnum, start, end-start) - } -} - -// revert the last capture -func (r *runner) uncapture() { - capnum := r.popcrawl() - r.runmatch.removeMatch(capnum) -} - -//debug - -func (r *runner) dumpState() { - back := "" - if r.operator&syntax.Back != 0 { - back = " Back" - } - if r.operator&syntax.Back2 != 0 { - back += " Back2" - } - fmt.Printf("Text: %v\nTrack: %v\nStack: %v\n %s%s\n\n", - r.textposDescription(), - r.stackDescription(r.runtrack, r.runtrackpos), - r.stackDescription(r.runstack, r.runstackpos), - r.code.OpcodeDescription(r.codepos), - back) -} - -func (r *runner) stackDescription(a []int, index int) string { - buf := &bytes.Buffer{} - - fmt.Fprintf(buf, "%v/%v", len(a)-index, len(a)) - if buf.Len() < 8 { - buf.WriteString(strings.Repeat(" ", 8-buf.Len())) - } - - buf.WriteRune('(') - for i := index; i < len(a); i++ { - if i > index { - buf.WriteRune(' ') - } - - buf.WriteString(strconv.Itoa(a[i])) - } - - buf.WriteRune(')') - - return buf.String() -} - -func (r *runner) textposDescription() string { - buf := &bytes.Buffer{} - - buf.WriteString(strconv.Itoa(r.runtextpos)) - - if buf.Len() < 8 { - buf.WriteString(strings.Repeat(" ", 8-buf.Len())) - } - - if r.runtextpos > 0 { - buf.WriteString(syntax.CharDescription(r.runtext[r.runtextpos-1])) - } else { - buf.WriteRune('^') - } - - buf.WriteRune('>') - - for i := r.runtextpos; i < r.runtextend; i++ { - buf.WriteString(syntax.CharDescription(r.runtext[i])) - } - if buf.Len() >= 64 { - buf.Truncate(61) - buf.WriteString("...") - } else { - buf.WriteRune('$') - } - - return buf.String() -} - -// decide whether the pos -// at the specified index is a boundary or not. It's just not worth -// emitting inline code for this logic. -func (r *runner) isBoundary(index, startpos, endpos int) bool { - return (index > startpos && syntax.IsWordChar(r.runtext[index-1])) != - (index < endpos && syntax.IsWordChar(r.runtext[index])) -} - -func (r *runner) isECMABoundary(index, startpos, endpos int) bool { - return (index > startpos && syntax.IsECMAWordChar(r.runtext[index-1])) != - (index < endpos && syntax.IsECMAWordChar(r.runtext[index])) -} - -// this seems like a comment to justify randomly picking 1000 :-P -// We have determined this value in a series of experiments where x86 retail -// builds (ono-lab-optimized) were run on different pattern/input pairs. Larger values -// of TimeoutCheckFrequency did not tend to increase performance; smaller values -// of TimeoutCheckFrequency tended to slow down the execution. -const timeoutCheckFrequency int = 1000 - -func (r *runner) startTimeoutWatch() { - if r.ignoreTimeout { - return - } - - r.timeoutChecksToSkip = timeoutCheckFrequency - r.timeoutAt = time.Now().Add(r.timeout) -} - -func (r *runner) checkTimeout() error { - if r.ignoreTimeout { - return nil - } - r.timeoutChecksToSkip-- - if r.timeoutChecksToSkip != 0 { - return nil - } - - r.timeoutChecksToSkip = timeoutCheckFrequency - return r.doCheckTimeout() -} - -func (r *runner) doCheckTimeout() error { - current := time.Now() - - if current.Before(r.timeoutAt) { - return nil - } - - if r.re.Debug() { - //Debug.WriteLine("") - //Debug.WriteLine("RegEx match timeout occurred!") - //Debug.WriteLine("Specified timeout: " + TimeSpan.FromMilliseconds(_timeout).ToString()) - //Debug.WriteLine("Timeout check frequency: " + TimeoutCheckFrequency) - //Debug.WriteLine("Search pattern: " + _runregex._pattern) - //Debug.WriteLine("Input: " + r.runtext) - //Debug.WriteLine("About to throw RegexMatchTimeoutException.") - } - - return fmt.Errorf("match timeout after %v on input `%v`", r.timeout, string(r.runtext)) -} - -func (r *runner) initTrackCount() { - r.runtrackcount = r.code.TrackCount -} - -// getRunner returns a run to use for matching re. -// It uses the re's runner cache if possible, to avoid -// unnecessary allocation. -func (re *Regexp) getRunner() *runner { - re.muRun.Lock() - if n := len(re.runner); n > 0 { - z := re.runner[n-1] - re.runner = re.runner[:n-1] - re.muRun.Unlock() - return z - } - re.muRun.Unlock() - z := &runner{ - re: re, - code: re.code, - } - return z -} - -// putRunner returns a runner to the re's cache. -// There is no attempt to limit the size of the cache, so it will -// grow to the maximum number of simultaneous matches -// run using re. (The cache empties when re gets garbage collected.) -func (re *Regexp) putRunner(r *runner) { - re.muRun.Lock() - re.runner = append(re.runner, r) - re.muRun.Unlock() -} diff --git a/vendor/github.com/dlclark/regexp2/syntax/charclass.go b/vendor/github.com/dlclark/regexp2/syntax/charclass.go deleted file mode 100644 index f312ea7a..00000000 --- a/vendor/github.com/dlclark/regexp2/syntax/charclass.go +++ /dev/null @@ -1,784 +0,0 @@ -package syntax - -import ( - "bytes" - "encoding/binary" - "fmt" - "sort" - "unicode" - "unicode/utf8" -) - -// CharSet combines start-end rune ranges and unicode categories representing a set of characters -type CharSet struct { - ranges []singleRange - categories []category - sub *CharSet //optional subtractor - negate bool - anything bool -} - -type category struct { - negate bool - cat string -} - -type singleRange struct { - first rune - last rune -} - -const ( - spaceCategoryText = " " - wordCategoryText = "W" -) - -var ( - ecmaSpace = []rune{0x0009, 0x000e, 0x0020, 0x0021, 0x00a0, 0x00a1, 0x1680, 0x1681, 0x2000, 0x200b, 0x2028, 0x202a, 0x202f, 0x2030, 0x205f, 0x2060, 0x3000, 0x3001, 0xfeff, 0xff00} - ecmaWord = []rune{0x0030, 0x003a, 0x0041, 0x005b, 0x005f, 0x0060, 0x0061, 0x007b} - ecmaDigit = []rune{0x0030, 0x003a} -) - -var ( - AnyClass = getCharSetFromOldString([]rune{0}, false) - ECMAAnyClass = getCharSetFromOldString([]rune{0, 0x000a, 0x000b, 0x000d, 0x000e}, false) - NoneClass = getCharSetFromOldString(nil, false) - ECMAWordClass = getCharSetFromOldString(ecmaWord, false) - NotECMAWordClass = getCharSetFromOldString(ecmaWord, true) - ECMASpaceClass = getCharSetFromOldString(ecmaSpace, false) - NotECMASpaceClass = getCharSetFromOldString(ecmaSpace, true) - ECMADigitClass = getCharSetFromOldString(ecmaDigit, false) - NotECMADigitClass = getCharSetFromOldString(ecmaDigit, true) - - WordClass = getCharSetFromCategoryString(false, false, wordCategoryText) - NotWordClass = getCharSetFromCategoryString(true, false, wordCategoryText) - SpaceClass = getCharSetFromCategoryString(false, false, spaceCategoryText) - NotSpaceClass = getCharSetFromCategoryString(true, false, spaceCategoryText) - DigitClass = getCharSetFromCategoryString(false, false, "Nd") - NotDigitClass = getCharSetFromCategoryString(false, true, "Nd") -) - -var unicodeCategories = func() map[string]*unicode.RangeTable { - retVal := make(map[string]*unicode.RangeTable) - for k, v := range unicode.Scripts { - retVal[k] = v - } - for k, v := range unicode.Categories { - retVal[k] = v - } - for k, v := range unicode.Properties { - retVal[k] = v - } - return retVal -}() - -func getCharSetFromCategoryString(negateSet bool, negateCat bool, cats ...string) func() *CharSet { - if negateCat && negateSet { - panic("BUG! You should only negate the set OR the category in a constant setup, but not both") - } - - c := CharSet{negate: negateSet} - - c.categories = make([]category, len(cats)) - for i, cat := range cats { - c.categories[i] = category{cat: cat, negate: negateCat} - } - return func() *CharSet { - //make a copy each time - local := c - //return that address - return &local - } -} - -func getCharSetFromOldString(setText []rune, negate bool) func() *CharSet { - c := CharSet{} - if len(setText) > 0 { - fillFirst := false - l := len(setText) - if negate { - if setText[0] == 0 { - setText = setText[1:] - } else { - l++ - fillFirst = true - } - } - - if l%2 == 0 { - c.ranges = make([]singleRange, l/2) - } else { - c.ranges = make([]singleRange, l/2+1) - } - - first := true - if fillFirst { - c.ranges[0] = singleRange{first: 0} - first = false - } - - i := 0 - for _, r := range setText { - if first { - // lower bound in a new range - c.ranges[i] = singleRange{first: r} - first = false - } else { - c.ranges[i].last = r - 1 - i++ - first = true - } - } - if !first { - c.ranges[i].last = utf8.MaxRune - } - } - - return func() *CharSet { - local := c - return &local - } -} - -// Copy makes a deep copy to prevent accidental mutation of a set -func (c CharSet) Copy() CharSet { - ret := CharSet{ - anything: c.anything, - negate: c.negate, - } - - ret.ranges = append(ret.ranges, c.ranges...) - ret.categories = append(ret.categories, c.categories...) - - if c.sub != nil { - sub := c.sub.Copy() - ret.sub = &sub - } - - return ret -} - -// gets a human-readable description for a set string -func (c CharSet) String() string { - buf := &bytes.Buffer{} - buf.WriteRune('[') - - if c.IsNegated() { - buf.WriteRune('^') - } - - for _, r := range c.ranges { - - buf.WriteString(CharDescription(r.first)) - if r.first != r.last { - if r.last-r.first != 1 { - //groups that are 1 char apart skip the dash - buf.WriteRune('-') - } - buf.WriteString(CharDescription(r.last)) - } - } - - for _, c := range c.categories { - buf.WriteString(c.String()) - } - - if c.sub != nil { - buf.WriteRune('-') - buf.WriteString(c.sub.String()) - } - - buf.WriteRune(']') - - return buf.String() -} - -// mapHashFill converts a charset into a buffer for use in maps -func (c CharSet) mapHashFill(buf *bytes.Buffer) { - if c.negate { - buf.WriteByte(0) - } else { - buf.WriteByte(1) - } - - binary.Write(buf, binary.LittleEndian, len(c.ranges)) - binary.Write(buf, binary.LittleEndian, len(c.categories)) - for _, r := range c.ranges { - buf.WriteRune(r.first) - buf.WriteRune(r.last) - } - for _, ct := range c.categories { - buf.WriteString(ct.cat) - if ct.negate { - buf.WriteByte(1) - } else { - buf.WriteByte(0) - } - } - - if c.sub != nil { - c.sub.mapHashFill(buf) - } -} - -// CharIn returns true if the rune is in our character set (either ranges or categories). -// It handles negations and subtracted sub-charsets. -func (c CharSet) CharIn(ch rune) bool { - val := false - // in s && !s.subtracted - - //check ranges - for _, r := range c.ranges { - if ch < r.first { - continue - } - if ch <= r.last { - val = true - break - } - } - - //check categories if we haven't already found a range - if !val && len(c.categories) > 0 { - for _, ct := range c.categories { - // special categories...then unicode - if ct.cat == spaceCategoryText { - if unicode.IsSpace(ch) { - // we found a space so we're done - // negate means this is a "bad" thing - val = !ct.negate - break - } else if ct.negate { - val = true - break - } - } else if ct.cat == wordCategoryText { - if IsWordChar(ch) { - val = !ct.negate - break - } else if ct.negate { - val = true - break - } - } else if unicode.Is(unicodeCategories[ct.cat], ch) { - // if we're in this unicode category then we're done - // if negate=true on this category then we "failed" our test - // otherwise we're good that we found it - val = !ct.negate - break - } else if ct.negate { - val = true - break - } - } - } - - // negate the whole char set - if c.negate { - val = !val - } - - // get subtracted recurse - if val && c.sub != nil { - val = !c.sub.CharIn(ch) - } - - //log.Printf("Char '%v' in %v == %v", string(ch), c.String(), val) - return val -} - -func (c category) String() string { - switch c.cat { - case spaceCategoryText: - if c.negate { - return "\\S" - } - return "\\s" - case wordCategoryText: - if c.negate { - return "\\W" - } - return "\\w" - } - if _, ok := unicodeCategories[c.cat]; ok { - - if c.negate { - return "\\P{" + c.cat + "}" - } - return "\\p{" + c.cat + "}" - } - return "Unknown category: " + c.cat -} - -// CharDescription Produces a human-readable description for a single character. -func CharDescription(ch rune) string { - /*if ch == '\\' { - return "\\\\" - } - - if ch > ' ' && ch <= '~' { - return string(ch) - } else if ch == '\n' { - return "\\n" - } else if ch == ' ' { - return "\\ " - }*/ - - b := &bytes.Buffer{} - escape(b, ch, false) //fmt.Sprintf("%U", ch) - return b.String() -} - -// According to UTS#18 Unicode Regular Expressions (http://www.unicode.org/reports/tr18/) -// RL 1.4 Simple Word Boundaries The class of includes all Alphabetic -// values from the Unicode character database, from UnicodeData.txt [UData], plus the U+200C -// ZERO WIDTH NON-JOINER and U+200D ZERO WIDTH JOINER. -func IsWordChar(r rune) bool { - //"L", "Mn", "Nd", "Pc" - return unicode.In(r, - unicode.Categories["L"], unicode.Categories["Mn"], - unicode.Categories["Nd"], unicode.Categories["Pc"]) || r == '\u200D' || r == '\u200C' - //return 'A' <= r && r <= 'Z' || 'a' <= r && r <= 'z' || '0' <= r && r <= '9' || r == '_' -} - -func IsECMAWordChar(r rune) bool { - return unicode.In(r, - unicode.Categories["L"], unicode.Categories["Mn"], - unicode.Categories["Nd"], unicode.Categories["Pc"]) - - //return 'A' <= r && r <= 'Z' || 'a' <= r && r <= 'z' || '0' <= r && r <= '9' || r == '_' -} - -// SingletonChar will return the char from the first range without validation. -// It assumes you have checked for IsSingleton or IsSingletonInverse and will panic given bad input -func (c CharSet) SingletonChar() rune { - return c.ranges[0].first -} - -func (c CharSet) IsSingleton() bool { - return !c.negate && //negated is multiple chars - len(c.categories) == 0 && len(c.ranges) == 1 && // multiple ranges and unicode classes represent multiple chars - c.sub == nil && // subtraction means we've got multiple chars - c.ranges[0].first == c.ranges[0].last // first and last equal means we're just 1 char -} - -func (c CharSet) IsSingletonInverse() bool { - return c.negate && //same as above, but requires negated - len(c.categories) == 0 && len(c.ranges) == 1 && // multiple ranges and unicode classes represent multiple chars - c.sub == nil && // subtraction means we've got multiple chars - c.ranges[0].first == c.ranges[0].last // first and last equal means we're just 1 char -} - -func (c CharSet) IsMergeable() bool { - return !c.IsNegated() && !c.HasSubtraction() -} - -func (c CharSet) IsNegated() bool { - return c.negate -} - -func (c CharSet) HasSubtraction() bool { - return c.sub != nil -} - -func (c CharSet) IsEmpty() bool { - return len(c.ranges) == 0 && len(c.categories) == 0 && c.sub == nil -} - -func (c *CharSet) addDigit(ecma, negate bool, pattern string) { - if ecma { - if negate { - c.addRanges(NotECMADigitClass().ranges) - } else { - c.addRanges(ECMADigitClass().ranges) - } - } else { - c.addCategories(category{cat: "Nd", negate: negate}) - } -} - -func (c *CharSet) addChar(ch rune) { - c.addRange(ch, ch) -} - -func (c *CharSet) addSpace(ecma, negate bool) { - if ecma { - if negate { - c.addRanges(NotECMASpaceClass().ranges) - } else { - c.addRanges(ECMASpaceClass().ranges) - } - } else { - c.addCategories(category{cat: spaceCategoryText, negate: negate}) - } -} - -func (c *CharSet) addWord(ecma, negate bool) { - if ecma { - if negate { - c.addRanges(NotECMAWordClass().ranges) - } else { - c.addRanges(ECMAWordClass().ranges) - } - } else { - c.addCategories(category{cat: wordCategoryText, negate: negate}) - } -} - -// Add set ranges and categories into ours -- no deduping or anything -func (c *CharSet) addSet(set CharSet) { - if c.anything { - return - } - if set.anything { - c.makeAnything() - return - } - // just append here to prevent double-canon - c.ranges = append(c.ranges, set.ranges...) - c.addCategories(set.categories...) - c.canonicalize() -} - -func (c *CharSet) makeAnything() { - c.anything = true - c.categories = []category{} - c.ranges = AnyClass().ranges -} - -func (c *CharSet) addCategories(cats ...category) { - // don't add dupes and remove positive+negative - if c.anything { - // if we've had a previous positive+negative group then - // just return, we're as broad as we can get - return - } - - for _, ct := range cats { - found := false - for _, ct2 := range c.categories { - if ct.cat == ct2.cat { - if ct.negate != ct2.negate { - // oposite negations...this mean we just - // take us as anything and move on - c.makeAnything() - return - } - found = true - break - } - } - - if !found { - c.categories = append(c.categories, ct) - } - } -} - -// Merges new ranges to our own -func (c *CharSet) addRanges(ranges []singleRange) { - if c.anything { - return - } - c.ranges = append(c.ranges, ranges...) - c.canonicalize() -} - -func isValidUnicodeCat(catName string) bool { - _, ok := unicodeCategories[catName] - return ok -} - -func (c *CharSet) addCategory(categoryName string, negate, caseInsensitive bool, pattern string) { - if !isValidUnicodeCat(categoryName) { - // unknown unicode category, script, or property "blah" - panic(fmt.Errorf("Unknown unicode category, script, or property '%v'", categoryName)) - - } - - if caseInsensitive && (categoryName == "Ll" || categoryName == "Lu" || categoryName == "Lt") { - // when RegexOptions.IgnoreCase is specified then {Ll} {Lu} and {Lt} cases should all match - c.addCategories( - category{cat: "Ll", negate: negate}, - category{cat: "Lu", negate: negate}, - category{cat: "Lt", negate: negate}) - } - c.addCategories(category{cat: categoryName, negate: negate}) -} - -func (c *CharSet) addSubtraction(sub *CharSet) { - c.sub = sub -} - -func (c *CharSet) addRange(chMin, chMax rune) { - c.ranges = append(c.ranges, singleRange{first: chMin, last: chMax}) - c.canonicalize() -} - -type singleRangeSorter []singleRange - -func (p singleRangeSorter) Len() int { return len(p) } -func (p singleRangeSorter) Less(i, j int) bool { return p[i].first < p[j].first } -func (p singleRangeSorter) Swap(i, j int) { p[i], p[j] = p[j], p[i] } - -// Logic to reduce a character class to a unique, sorted form. -func (c *CharSet) canonicalize() { - var i, j int - var last rune - - // - // Find and eliminate overlapping or abutting ranges - // - - if len(c.ranges) > 1 { - sort.Sort(singleRangeSorter(c.ranges)) - - done := false - - for i, j = 1, 0; ; i++ { - for last = c.ranges[j].last; ; i++ { - if i == len(c.ranges) || last == utf8.MaxRune { - done = true - break - } - - CurrentRange := c.ranges[i] - if CurrentRange.first > last+1 { - break - } - - if last < CurrentRange.last { - last = CurrentRange.last - } - } - - c.ranges[j] = singleRange{first: c.ranges[j].first, last: last} - - j++ - - if done { - break - } - - if j < i { - c.ranges[j] = c.ranges[i] - } - } - - c.ranges = append(c.ranges[:j], c.ranges[len(c.ranges):]...) - } -} - -// Adds to the class any lowercase versions of characters already -// in the class. Used for case-insensitivity. -func (c *CharSet) addLowercase() { - if c.anything { - return - } - toAdd := []singleRange{} - for i := 0; i < len(c.ranges); i++ { - r := c.ranges[i] - if r.first == r.last { - lower := unicode.ToLower(r.first) - c.ranges[i] = singleRange{first: lower, last: lower} - } else { - toAdd = append(toAdd, r) - } - } - - for _, r := range toAdd { - c.addLowercaseRange(r.first, r.last) - } - c.canonicalize() -} - -/************************************************************************** - Let U be the set of Unicode character values and let L be the lowercase - function, mapping from U to U. To perform case insensitive matching of - character sets, we need to be able to map an interval I in U, say - - I = [chMin, chMax] = { ch : chMin <= ch <= chMax } - - to a set A such that A contains L(I) and A is contained in the union of - I and L(I). - - The table below partitions U into intervals on which L is non-decreasing. - Thus, for any interval J = [a, b] contained in one of these intervals, - L(J) is contained in [L(a), L(b)]. - - It is also true that for any such J, [L(a), L(b)] is contained in the - union of J and L(J). This does not follow from L being non-decreasing on - these intervals. It follows from the nature of the L on each interval. - On each interval, L has one of the following forms: - - (1) L(ch) = constant (LowercaseSet) - (2) L(ch) = ch + offset (LowercaseAdd) - (3) L(ch) = ch | 1 (LowercaseBor) - (4) L(ch) = ch + (ch & 1) (LowercaseBad) - - It is easy to verify that for any of these forms [L(a), L(b)] is - contained in the union of [a, b] and L([a, b]). -***************************************************************************/ - -const ( - LowercaseSet = 0 // Set to arg. - LowercaseAdd = 1 // Add arg. - LowercaseBor = 2 // Bitwise or with 1. - LowercaseBad = 3 // Bitwise and with 1 and add original. -) - -type lcMap struct { - chMin, chMax rune - op, data int32 -} - -var lcTable = []lcMap{ - lcMap{'\u0041', '\u005A', LowercaseAdd, 32}, - lcMap{'\u00C0', '\u00DE', LowercaseAdd, 32}, - lcMap{'\u0100', '\u012E', LowercaseBor, 0}, - lcMap{'\u0130', '\u0130', LowercaseSet, 0x0069}, - lcMap{'\u0132', '\u0136', LowercaseBor, 0}, - lcMap{'\u0139', '\u0147', LowercaseBad, 0}, - lcMap{'\u014A', '\u0176', LowercaseBor, 0}, - lcMap{'\u0178', '\u0178', LowercaseSet, 0x00FF}, - lcMap{'\u0179', '\u017D', LowercaseBad, 0}, - lcMap{'\u0181', '\u0181', LowercaseSet, 0x0253}, - lcMap{'\u0182', '\u0184', LowercaseBor, 0}, - lcMap{'\u0186', '\u0186', LowercaseSet, 0x0254}, - lcMap{'\u0187', '\u0187', LowercaseSet, 0x0188}, - lcMap{'\u0189', '\u018A', LowercaseAdd, 205}, - lcMap{'\u018B', '\u018B', LowercaseSet, 0x018C}, - lcMap{'\u018E', '\u018E', LowercaseSet, 0x01DD}, - lcMap{'\u018F', '\u018F', LowercaseSet, 0x0259}, - lcMap{'\u0190', '\u0190', LowercaseSet, 0x025B}, - lcMap{'\u0191', '\u0191', LowercaseSet, 0x0192}, - lcMap{'\u0193', '\u0193', LowercaseSet, 0x0260}, - lcMap{'\u0194', '\u0194', LowercaseSet, 0x0263}, - lcMap{'\u0196', '\u0196', LowercaseSet, 0x0269}, - lcMap{'\u0197', '\u0197', LowercaseSet, 0x0268}, - lcMap{'\u0198', '\u0198', LowercaseSet, 0x0199}, - lcMap{'\u019C', '\u019C', LowercaseSet, 0x026F}, - lcMap{'\u019D', '\u019D', LowercaseSet, 0x0272}, - lcMap{'\u019F', '\u019F', LowercaseSet, 0x0275}, - lcMap{'\u01A0', '\u01A4', LowercaseBor, 0}, - lcMap{'\u01A7', '\u01A7', LowercaseSet, 0x01A8}, - lcMap{'\u01A9', '\u01A9', LowercaseSet, 0x0283}, - lcMap{'\u01AC', '\u01AC', LowercaseSet, 0x01AD}, - lcMap{'\u01AE', '\u01AE', LowercaseSet, 0x0288}, - lcMap{'\u01AF', '\u01AF', LowercaseSet, 0x01B0}, - lcMap{'\u01B1', '\u01B2', LowercaseAdd, 217}, - lcMap{'\u01B3', '\u01B5', LowercaseBad, 0}, - lcMap{'\u01B7', '\u01B7', LowercaseSet, 0x0292}, - lcMap{'\u01B8', '\u01B8', LowercaseSet, 0x01B9}, - lcMap{'\u01BC', '\u01BC', LowercaseSet, 0x01BD}, - lcMap{'\u01C4', '\u01C5', LowercaseSet, 0x01C6}, - lcMap{'\u01C7', '\u01C8', LowercaseSet, 0x01C9}, - lcMap{'\u01CA', '\u01CB', LowercaseSet, 0x01CC}, - lcMap{'\u01CD', '\u01DB', LowercaseBad, 0}, - lcMap{'\u01DE', '\u01EE', LowercaseBor, 0}, - lcMap{'\u01F1', '\u01F2', LowercaseSet, 0x01F3}, - lcMap{'\u01F4', '\u01F4', LowercaseSet, 0x01F5}, - lcMap{'\u01FA', '\u0216', LowercaseBor, 0}, - lcMap{'\u0386', '\u0386', LowercaseSet, 0x03AC}, - lcMap{'\u0388', '\u038A', LowercaseAdd, 37}, - lcMap{'\u038C', '\u038C', LowercaseSet, 0x03CC}, - lcMap{'\u038E', '\u038F', LowercaseAdd, 63}, - lcMap{'\u0391', '\u03AB', LowercaseAdd, 32}, - lcMap{'\u03E2', '\u03EE', LowercaseBor, 0}, - lcMap{'\u0401', '\u040F', LowercaseAdd, 80}, - lcMap{'\u0410', '\u042F', LowercaseAdd, 32}, - lcMap{'\u0460', '\u0480', LowercaseBor, 0}, - lcMap{'\u0490', '\u04BE', LowercaseBor, 0}, - lcMap{'\u04C1', '\u04C3', LowercaseBad, 0}, - lcMap{'\u04C7', '\u04C7', LowercaseSet, 0x04C8}, - lcMap{'\u04CB', '\u04CB', LowercaseSet, 0x04CC}, - lcMap{'\u04D0', '\u04EA', LowercaseBor, 0}, - lcMap{'\u04EE', '\u04F4', LowercaseBor, 0}, - lcMap{'\u04F8', '\u04F8', LowercaseSet, 0x04F9}, - lcMap{'\u0531', '\u0556', LowercaseAdd, 48}, - lcMap{'\u10A0', '\u10C5', LowercaseAdd, 48}, - lcMap{'\u1E00', '\u1EF8', LowercaseBor, 0}, - lcMap{'\u1F08', '\u1F0F', LowercaseAdd, -8}, - lcMap{'\u1F18', '\u1F1F', LowercaseAdd, -8}, - lcMap{'\u1F28', '\u1F2F', LowercaseAdd, -8}, - lcMap{'\u1F38', '\u1F3F', LowercaseAdd, -8}, - lcMap{'\u1F48', '\u1F4D', LowercaseAdd, -8}, - lcMap{'\u1F59', '\u1F59', LowercaseSet, 0x1F51}, - lcMap{'\u1F5B', '\u1F5B', LowercaseSet, 0x1F53}, - lcMap{'\u1F5D', '\u1F5D', LowercaseSet, 0x1F55}, - lcMap{'\u1F5F', '\u1F5F', LowercaseSet, 0x1F57}, - lcMap{'\u1F68', '\u1F6F', LowercaseAdd, -8}, - lcMap{'\u1F88', '\u1F8F', LowercaseAdd, -8}, - lcMap{'\u1F98', '\u1F9F', LowercaseAdd, -8}, - lcMap{'\u1FA8', '\u1FAF', LowercaseAdd, -8}, - lcMap{'\u1FB8', '\u1FB9', LowercaseAdd, -8}, - lcMap{'\u1FBA', '\u1FBB', LowercaseAdd, -74}, - lcMap{'\u1FBC', '\u1FBC', LowercaseSet, 0x1FB3}, - lcMap{'\u1FC8', '\u1FCB', LowercaseAdd, -86}, - lcMap{'\u1FCC', '\u1FCC', LowercaseSet, 0x1FC3}, - lcMap{'\u1FD8', '\u1FD9', LowercaseAdd, -8}, - lcMap{'\u1FDA', '\u1FDB', LowercaseAdd, -100}, - lcMap{'\u1FE8', '\u1FE9', LowercaseAdd, -8}, - lcMap{'\u1FEA', '\u1FEB', LowercaseAdd, -112}, - lcMap{'\u1FEC', '\u1FEC', LowercaseSet, 0x1FE5}, - lcMap{'\u1FF8', '\u1FF9', LowercaseAdd, -128}, - lcMap{'\u1FFA', '\u1FFB', LowercaseAdd, -126}, - lcMap{'\u1FFC', '\u1FFC', LowercaseSet, 0x1FF3}, - lcMap{'\u2160', '\u216F', LowercaseAdd, 16}, - lcMap{'\u24B6', '\u24D0', LowercaseAdd, 26}, - lcMap{'\uFF21', '\uFF3A', LowercaseAdd, 32}, -} - -func (c *CharSet) addLowercaseRange(chMin, chMax rune) { - var i, iMax, iMid int - var chMinT, chMaxT rune - var lc lcMap - - for i, iMax = 0, len(lcTable); i < iMax; { - iMid = (i + iMax) / 2 - if lcTable[iMid].chMax < chMin { - i = iMid + 1 - } else { - iMax = iMid - } - } - - for ; i < len(lcTable); i++ { - lc = lcTable[i] - if lc.chMin > chMax { - return - } - chMinT = lc.chMin - if chMinT < chMin { - chMinT = chMin - } - - chMaxT = lc.chMax - if chMaxT > chMax { - chMaxT = chMax - } - - switch lc.op { - case LowercaseSet: - chMinT = rune(lc.data) - chMaxT = rune(lc.data) - break - case LowercaseAdd: - chMinT += lc.data - chMaxT += lc.data - break - case LowercaseBor: - chMinT |= 1 - chMaxT |= 1 - break - case LowercaseBad: - chMinT += (chMinT & 1) - chMaxT += (chMaxT & 1) - break - } - - if chMinT < chMin || chMaxT > chMax { - c.addRange(chMinT, chMaxT) - } - } -} diff --git a/vendor/github.com/dlclark/regexp2/syntax/code.go b/vendor/github.com/dlclark/regexp2/syntax/code.go deleted file mode 100644 index 686e822a..00000000 --- a/vendor/github.com/dlclark/regexp2/syntax/code.go +++ /dev/null @@ -1,274 +0,0 @@ -package syntax - -import ( - "bytes" - "fmt" - "math" -) - -// similar to prog.go in the go regex package...also with comment 'may not belong in this package' - -// File provides operator constants for use by the Builder and the Machine. - -// Implementation notes: -// -// Regexps are built into RegexCodes, which contain an operation array, -// a string table, and some constants. -// -// Each operation is one of the codes below, followed by the integer -// operands specified for each op. -// -// Strings and sets are indices into a string table. - -type InstOp int - -const ( - // lef/back operands description - - Onerep InstOp = 0 // lef,back char,min,max a {n} - Notonerep = 1 // lef,back char,min,max .{n} - Setrep = 2 // lef,back set,min,max [\d]{n} - - Oneloop = 3 // lef,back char,min,max a {,n} - Notoneloop = 4 // lef,back char,min,max .{,n} - Setloop = 5 // lef,back set,min,max [\d]{,n} - - Onelazy = 6 // lef,back char,min,max a {,n}? - Notonelazy = 7 // lef,back char,min,max .{,n}? - Setlazy = 8 // lef,back set,min,max [\d]{,n}? - - One = 9 // lef char a - Notone = 10 // lef char [^a] - Set = 11 // lef set [a-z\s] \w \s \d - - Multi = 12 // lef string abcd - Ref = 13 // lef group \# - - Bol = 14 // ^ - Eol = 15 // $ - Boundary = 16 // \b - Nonboundary = 17 // \B - Beginning = 18 // \A - Start = 19 // \G - EndZ = 20 // \Z - End = 21 // \Z - - Nothing = 22 // Reject! - - // Primitive control structures - - Lazybranch = 23 // back jump straight first - Branchmark = 24 // back jump branch first for loop - Lazybranchmark = 25 // back jump straight first for loop - Nullcount = 26 // back val set counter, null mark - Setcount = 27 // back val set counter, make mark - Branchcount = 28 // back jump,limit branch++ if zero<=c impl group slots - Capsize int // number of impl group slots - FcPrefix *Prefix // the set of candidate first characters (may be null) - BmPrefix *BmPrefix // the fixed prefix string as a Boyer-Moore machine (may be null) - Anchors AnchorLoc // the set of zero-length start anchors (RegexFCD.Bol, etc) - RightToLeft bool // true if right to left -} - -func opcodeBacktracks(op InstOp) bool { - op &= Mask - - switch op { - case Oneloop, Notoneloop, Setloop, Onelazy, Notonelazy, Setlazy, Lazybranch, Branchmark, Lazybranchmark, - Nullcount, Setcount, Branchcount, Lazybranchcount, Setmark, Capturemark, Getmark, Setjump, Backjump, - Forejump, Goto: - return true - - default: - return false - } -} - -func opcodeSize(op InstOp) int { - op &= Mask - - switch op { - case Nothing, Bol, Eol, Boundary, Nonboundary, ECMABoundary, NonECMABoundary, Beginning, Start, EndZ, - End, Nullmark, Setmark, Getmark, Setjump, Backjump, Forejump, Stop: - return 1 - - case One, Notone, Multi, Ref, Testref, Goto, Nullcount, Setcount, Lazybranch, Branchmark, Lazybranchmark, - Prune, Set: - return 2 - - case Capturemark, Branchcount, Lazybranchcount, Onerep, Notonerep, Oneloop, Notoneloop, Onelazy, Notonelazy, - Setlazy, Setrep, Setloop: - return 3 - - default: - panic(fmt.Errorf("Unexpected op code: %v", op)) - } -} - -var codeStr = []string{ - "Onerep", "Notonerep", "Setrep", - "Oneloop", "Notoneloop", "Setloop", - "Onelazy", "Notonelazy", "Setlazy", - "One", "Notone", "Set", - "Multi", "Ref", - "Bol", "Eol", "Boundary", "Nonboundary", "Beginning", "Start", "EndZ", "End", - "Nothing", - "Lazybranch", "Branchmark", "Lazybranchmark", - "Nullcount", "Setcount", "Branchcount", "Lazybranchcount", - "Nullmark", "Setmark", "Capturemark", "Getmark", - "Setjump", "Backjump", "Forejump", "Testref", "Goto", - "Prune", "Stop", - "ECMABoundary", "NonECMABoundary", -} - -func operatorDescription(op InstOp) string { - desc := codeStr[op&Mask] - if (op & Ci) != 0 { - desc += "-Ci" - } - if (op & Rtl) != 0 { - desc += "-Rtl" - } - if (op & Back) != 0 { - desc += "-Back" - } - if (op & Back2) != 0 { - desc += "-Back2" - } - - return desc -} - -// OpcodeDescription is a humman readable string of the specific offset -func (c *Code) OpcodeDescription(offset int) string { - buf := &bytes.Buffer{} - - op := InstOp(c.Codes[offset]) - fmt.Fprintf(buf, "%06d ", offset) - - if opcodeBacktracks(op & Mask) { - buf.WriteString("*") - } else { - buf.WriteString(" ") - } - buf.WriteString(operatorDescription(op)) - buf.WriteString("(") - op &= Mask - - switch op { - case One, Notone, Onerep, Notonerep, Oneloop, Notoneloop, Onelazy, Notonelazy: - buf.WriteString("Ch = ") - buf.WriteString(CharDescription(rune(c.Codes[offset+1]))) - - case Set, Setrep, Setloop, Setlazy: - buf.WriteString("Set = ") - buf.WriteString(c.Sets[c.Codes[offset+1]].String()) - - case Multi: - fmt.Fprintf(buf, "String = %s", string(c.Strings[c.Codes[offset+1]])) - - case Ref, Testref: - fmt.Fprintf(buf, "Index = %d", c.Codes[offset+1]) - - case Capturemark: - fmt.Fprintf(buf, "Index = %d", c.Codes[offset+1]) - if c.Codes[offset+2] != -1 { - fmt.Fprintf(buf, ", Unindex = %d", c.Codes[offset+2]) - } - - case Nullcount, Setcount: - fmt.Fprintf(buf, "Value = %d", c.Codes[offset+1]) - - case Goto, Lazybranch, Branchmark, Lazybranchmark, Branchcount, Lazybranchcount: - fmt.Fprintf(buf, "Addr = %d", c.Codes[offset+1]) - } - - switch op { - case Onerep, Notonerep, Oneloop, Notoneloop, Onelazy, Notonelazy, Setrep, Setloop, Setlazy: - buf.WriteString(", Rep = ") - if c.Codes[offset+2] == math.MaxInt32 { - buf.WriteString("inf") - } else { - fmt.Fprintf(buf, "%d", c.Codes[offset+2]) - } - - case Branchcount, Lazybranchcount: - buf.WriteString(", Limit = ") - if c.Codes[offset+2] == math.MaxInt32 { - buf.WriteString("inf") - } else { - fmt.Fprintf(buf, "%d", c.Codes[offset+2]) - } - - } - - buf.WriteString(")") - - return buf.String() -} - -func (c *Code) Dump() string { - buf := &bytes.Buffer{} - - if c.RightToLeft { - fmt.Fprintln(buf, "Direction: right-to-left") - } else { - fmt.Fprintln(buf, "Direction: left-to-right") - } - if c.FcPrefix == nil { - fmt.Fprintln(buf, "Firstchars: n/a") - } else { - fmt.Fprintf(buf, "Firstchars: %v\n", c.FcPrefix.PrefixSet.String()) - } - - if c.BmPrefix == nil { - fmt.Fprintln(buf, "Prefix: n/a") - } else { - fmt.Fprintf(buf, "Prefix: %v\n", Escape(c.BmPrefix.String())) - } - - fmt.Fprintf(buf, "Anchors: %v\n", c.Anchors) - fmt.Fprintln(buf) - - if c.BmPrefix != nil { - fmt.Fprintln(buf, "BoyerMoore:") - fmt.Fprintln(buf, c.BmPrefix.Dump(" ")) - } - for i := 0; i < len(c.Codes); i += opcodeSize(InstOp(c.Codes[i])) { - fmt.Fprintln(buf, c.OpcodeDescription(i)) - } - - return buf.String() -} diff --git a/vendor/github.com/dlclark/regexp2/syntax/escape.go b/vendor/github.com/dlclark/regexp2/syntax/escape.go deleted file mode 100644 index 609df107..00000000 --- a/vendor/github.com/dlclark/regexp2/syntax/escape.go +++ /dev/null @@ -1,94 +0,0 @@ -package syntax - -import ( - "bytes" - "strconv" - "strings" - "unicode" -) - -func Escape(input string) string { - b := &bytes.Buffer{} - for _, r := range input { - escape(b, r, false) - } - return b.String() -} - -const meta = `\.+*?()|[]{}^$# ` - -func escape(b *bytes.Buffer, r rune, force bool) { - if unicode.IsPrint(r) { - if strings.IndexRune(meta, r) >= 0 || force { - b.WriteRune('\\') - } - b.WriteRune(r) - return - } - - switch r { - case '\a': - b.WriteString(`\a`) - case '\f': - b.WriteString(`\f`) - case '\n': - b.WriteString(`\n`) - case '\r': - b.WriteString(`\r`) - case '\t': - b.WriteString(`\t`) - case '\v': - b.WriteString(`\v`) - default: - if r < 0x100 { - b.WriteString(`\x`) - s := strconv.FormatInt(int64(r), 16) - if len(s) == 1 { - b.WriteRune('0') - } - b.WriteString(s) - break - } - b.WriteString(`\u`) - b.WriteString(strconv.FormatInt(int64(r), 16)) - } -} - -func Unescape(input string) (string, error) { - idx := strings.IndexRune(input, '\\') - // no slashes means no unescape needed - if idx == -1 { - return input, nil - } - - buf := bytes.NewBufferString(input[:idx]) - // get the runes for the rest of the string -- we're going full parser scan on this - - p := parser{} - p.setPattern(input[idx+1:]) - for { - if p.rightMost() { - return "", p.getErr(ErrIllegalEndEscape) - } - r, err := p.scanCharEscape() - if err != nil { - return "", err - } - buf.WriteRune(r) - // are we done? - if p.rightMost() { - return buf.String(), nil - } - - r = p.moveRightGetChar() - for r != '\\' { - buf.WriteRune(r) - if p.rightMost() { - // we're done, no more slashes - return buf.String(), nil - } - // keep scanning until we get another slash - r = p.moveRightGetChar() - } - } -} diff --git a/vendor/github.com/dlclark/regexp2/syntax/fuzz.go b/vendor/github.com/dlclark/regexp2/syntax/fuzz.go deleted file mode 100644 index ee863866..00000000 --- a/vendor/github.com/dlclark/regexp2/syntax/fuzz.go +++ /dev/null @@ -1,20 +0,0 @@ -// +build gofuzz - -package syntax - -// Fuzz is the input point for go-fuzz -func Fuzz(data []byte) int { - sdata := string(data) - tree, err := Parse(sdata, RegexOptions(0)) - if err != nil { - return 0 - } - - // translate it to code - _, err = Write(tree) - if err != nil { - panic(err) - } - - return 1 -} diff --git a/vendor/github.com/dlclark/regexp2/syntax/parser.go b/vendor/github.com/dlclark/regexp2/syntax/parser.go deleted file mode 100644 index 6e8ea834..00000000 --- a/vendor/github.com/dlclark/regexp2/syntax/parser.go +++ /dev/null @@ -1,2125 +0,0 @@ -package syntax - -import ( - "fmt" - "math" - "os" - "sort" - "strconv" - "unicode" -) - -type RegexOptions int32 - -const ( - IgnoreCase RegexOptions = 0x0001 // "i" - Multiline = 0x0002 // "m" - ExplicitCapture = 0x0004 // "n" - Compiled = 0x0008 // "c" - Singleline = 0x0010 // "s" - IgnorePatternWhitespace = 0x0020 // "x" - RightToLeft = 0x0040 // "r" - Debug = 0x0080 // "d" - ECMAScript = 0x0100 // "e" -) - -func optionFromCode(ch rune) RegexOptions { - // case-insensitive - switch ch { - case 'i', 'I': - return IgnoreCase - case 'r', 'R': - return RightToLeft - case 'm', 'M': - return Multiline - case 'n', 'N': - return ExplicitCapture - case 's', 'S': - return Singleline - case 'x', 'X': - return IgnorePatternWhitespace - case 'd', 'D': - return Debug - case 'e', 'E': - return ECMAScript - default: - return 0 - } -} - -// An Error describes a failure to parse a regular expression -// and gives the offending expression. -type Error struct { - Code ErrorCode - Expr string - Args []interface{} -} - -func (e *Error) Error() string { - if len(e.Args) == 0 { - return "error parsing regexp: " + e.Code.String() + " in `" + e.Expr + "`" - } - return "error parsing regexp: " + fmt.Sprintf(e.Code.String(), e.Args...) + " in `" + e.Expr + "`" -} - -// An ErrorCode describes a failure to parse a regular expression. -type ErrorCode string - -const ( - // internal issue - ErrInternalError ErrorCode = "regexp/syntax: internal error" - // Parser errors - ErrUnterminatedComment = "unterminated comment" - ErrInvalidCharRange = "invalid character class range" - ErrInvalidRepeatSize = "invalid repeat count" - ErrInvalidUTF8 = "invalid UTF-8" - ErrCaptureGroupOutOfRange = "capture group number out of range" - ErrUnexpectedParen = "unexpected )" - ErrMissingParen = "missing closing )" - ErrMissingBrace = "missing closing }" - ErrInvalidRepeatOp = "invalid nested repetition operator" - ErrMissingRepeatArgument = "missing argument to repetition operator" - ErrConditionalExpression = "illegal conditional (?(...)) expression" - ErrTooManyAlternates = "too many | in (?()|)" - ErrUnrecognizedGrouping = "unrecognized grouping construct: (%v" - ErrInvalidGroupName = "invalid group name: group names must begin with a word character and have a matching terminator" - ErrCapNumNotZero = "capture number cannot be zero" - ErrUndefinedBackRef = "reference to undefined group number %v" - ErrUndefinedNameRef = "reference to undefined group name %v" - ErrAlternationCantCapture = "alternation conditions do not capture and cannot be named" - ErrAlternationCantHaveComment = "alternation conditions cannot be comments" - ErrMalformedReference = "(?(%v) ) malformed" - ErrUndefinedReference = "(?(%v) ) reference to undefined group" - ErrIllegalEndEscape = "illegal \\ at end of pattern" - ErrMalformedSlashP = "malformed \\p{X} character escape" - ErrIncompleteSlashP = "incomplete \\p{X} character escape" - ErrUnknownSlashP = "unknown unicode category, script, or property '%v'" - ErrUnrecognizedEscape = "unrecognized escape sequence \\%v" - ErrMissingControl = "missing control character" - ErrUnrecognizedControl = "unrecognized control character" - ErrTooFewHex = "insufficient hexadecimal digits" - ErrInvalidHex = "hex values may not be larger than 0x10FFFF" - ErrMalformedNameRef = "malformed \\k<...> named back reference" - ErrBadClassInCharRange = "cannot include class \\%v in character range" - ErrUnterminatedBracket = "unterminated [] set" - ErrSubtractionMustBeLast = "a subtraction must be the last element in a character class" - ErrReversedCharRange = "[x-y] range in reverse order" -) - -func (e ErrorCode) String() string { - return string(e) -} - -type parser struct { - stack *regexNode - group *regexNode - alternation *regexNode - concatenation *regexNode - unit *regexNode - - patternRaw string - pattern []rune - - currentPos int - specialCase *unicode.SpecialCase - - autocap int - capcount int - captop int - capsize int - - caps map[int]int - capnames map[string]int - - capnumlist []int - capnamelist []string - - options RegexOptions - optionsStack []RegexOptions - ignoreNextParen bool -} - -const ( - maxValueDiv10 int = math.MaxInt32 / 10 - maxValueMod10 = math.MaxInt32 % 10 -) - -// Parse converts a regex string into a parse tree -func Parse(re string, op RegexOptions) (*RegexTree, error) { - p := parser{ - options: op, - caps: make(map[int]int), - } - p.setPattern(re) - - if err := p.countCaptures(); err != nil { - return nil, err - } - - p.reset(op) - root, err := p.scanRegex() - - if err != nil { - return nil, err - } - tree := &RegexTree{ - root: root, - caps: p.caps, - capnumlist: p.capnumlist, - captop: p.captop, - Capnames: p.capnames, - Caplist: p.capnamelist, - options: op, - } - - if tree.options&Debug > 0 { - os.Stdout.WriteString(tree.Dump()) - } - - return tree, nil -} - -func (p *parser) setPattern(pattern string) { - p.patternRaw = pattern - p.pattern = make([]rune, 0, len(pattern)) - - //populate our rune array to handle utf8 encoding - for _, r := range pattern { - p.pattern = append(p.pattern, r) - } -} -func (p *parser) getErr(code ErrorCode, args ...interface{}) error { - return &Error{Code: code, Expr: p.patternRaw, Args: args} -} - -func (p *parser) noteCaptureSlot(i, pos int) { - if _, ok := p.caps[i]; !ok { - // the rhs of the hashtable isn't used in the parser - p.caps[i] = pos - p.capcount++ - - if p.captop <= i { - if i == math.MaxInt32 { - p.captop = i - } else { - p.captop = i + 1 - } - } - } -} - -func (p *parser) noteCaptureName(name string, pos int) { - if p.capnames == nil { - p.capnames = make(map[string]int) - } - - if _, ok := p.capnames[name]; !ok { - p.capnames[name] = pos - p.capnamelist = append(p.capnamelist, name) - } -} - -func (p *parser) assignNameSlots() { - if p.capnames != nil { - for _, name := range p.capnamelist { - for p.isCaptureSlot(p.autocap) { - p.autocap++ - } - pos := p.capnames[name] - p.capnames[name] = p.autocap - p.noteCaptureSlot(p.autocap, pos) - - p.autocap++ - } - } - - // if the caps array has at least one gap, construct the list of used slots - if p.capcount < p.captop { - p.capnumlist = make([]int, p.capcount) - i := 0 - - for k := range p.caps { - p.capnumlist[i] = k - i++ - } - - sort.Ints(p.capnumlist) - } - - // merge capsnumlist into capnamelist - if p.capnames != nil || p.capnumlist != nil { - var oldcapnamelist []string - var next int - var k int - - if p.capnames == nil { - oldcapnamelist = nil - p.capnames = make(map[string]int) - p.capnamelist = []string{} - next = -1 - } else { - oldcapnamelist = p.capnamelist - p.capnamelist = []string{} - next = p.capnames[oldcapnamelist[0]] - } - - for i := 0; i < p.capcount; i++ { - j := i - if p.capnumlist != nil { - j = p.capnumlist[i] - } - - if next == j { - p.capnamelist = append(p.capnamelist, oldcapnamelist[k]) - k++ - - if k == len(oldcapnamelist) { - next = -1 - } else { - next = p.capnames[oldcapnamelist[k]] - } - - } else { - //feature: culture? - str := strconv.Itoa(j) - p.capnamelist = append(p.capnamelist, str) - p.capnames[str] = j - } - } - } -} - -func (p *parser) consumeAutocap() int { - r := p.autocap - p.autocap++ - return r -} - -// CountCaptures is a prescanner for deducing the slots used for -// captures by doing a partial tokenization of the pattern. -func (p *parser) countCaptures() error { - var ch rune - - p.noteCaptureSlot(0, 0) - - p.autocap = 1 - - for p.charsRight() > 0 { - pos := p.textpos() - ch = p.moveRightGetChar() - switch ch { - case '\\': - if p.charsRight() > 0 { - p.moveRight(1) - } - - case '#': - if p.useOptionX() { - p.moveLeft() - p.scanBlank() - } - - case '[': - p.scanCharSet(false, true) - - case ')': - if !p.emptyOptionsStack() { - p.popOptions() - } - - case '(': - if p.charsRight() >= 2 && p.rightChar(1) == '#' && p.rightChar(0) == '?' { - p.moveLeft() - p.scanBlank() - } else { - p.pushOptions() - if p.charsRight() > 0 && p.rightChar(0) == '?' { - // we have (?... - p.moveRight(1) - - if p.charsRight() > 1 && (p.rightChar(0) == '<' || p.rightChar(0) == '\'') { - // named group: (?<... or (?'... - - p.moveRight(1) - ch = p.rightChar(0) - - if ch != '0' && IsWordChar(ch) { - if ch >= '1' && ch <= '9' { - dec, err := p.scanDecimal() - if err != nil { - return err - } - p.noteCaptureSlot(dec, pos) - } else { - p.noteCaptureName(p.scanCapname(), pos) - } - } - } else { - // (?... - - // get the options if it's an option construct (?cimsx-cimsx...) - p.scanOptions() - - if p.charsRight() > 0 { - if p.rightChar(0) == ')' { - // (?cimsx-cimsx) - p.moveRight(1) - p.popKeepOptions() - } else if p.rightChar(0) == '(' { - // alternation construct: (?(foo)yes|no) - // ignore the next paren so we don't capture the condition - p.ignoreNextParen = true - - // break from here so we don't reset ignoreNextParen - continue - } - } - } - } else { - if !p.useOptionN() && !p.ignoreNextParen { - p.noteCaptureSlot(p.consumeAutocap(), pos) - } - } - } - - p.ignoreNextParen = false - - } - } - - p.assignNameSlots() - return nil -} - -func (p *parser) reset(topopts RegexOptions) { - p.currentPos = 0 - p.autocap = 1 - p.ignoreNextParen = false - - if len(p.optionsStack) > 0 { - p.optionsStack = p.optionsStack[:0] - } - - p.options = topopts - p.stack = nil -} - -func (p *parser) scanRegex() (*regexNode, error) { - ch := '@' // nonspecial ch, means at beginning - isQuant := false - - p.startGroup(newRegexNodeMN(ntCapture, p.options, 0, -1)) - - for p.charsRight() > 0 { - wasPrevQuantifier := isQuant - isQuant = false - - if err := p.scanBlank(); err != nil { - return nil, err - } - - startpos := p.textpos() - - // move past all of the normal characters. We'll stop when we hit some kind of control character, - // or if IgnorePatternWhiteSpace is on, we'll stop when we see some whitespace. - if p.useOptionX() { - for p.charsRight() > 0 { - ch = p.rightChar(0) - //UGLY: clean up, this is ugly - if !(!isStopperX(ch) || (ch == '{' && !p.isTrueQuantifier())) { - break - } - p.moveRight(1) - } - } else { - for p.charsRight() > 0 { - ch = p.rightChar(0) - if !(!isSpecial(ch) || ch == '{' && !p.isTrueQuantifier()) { - break - } - p.moveRight(1) - } - } - - endpos := p.textpos() - - p.scanBlank() - - if p.charsRight() == 0 { - ch = '!' // nonspecial, means at end - } else if ch = p.rightChar(0); isSpecial(ch) { - isQuant = isQuantifier(ch) - p.moveRight(1) - } else { - ch = ' ' // nonspecial, means at ordinary char - } - - if startpos < endpos { - cchUnquantified := endpos - startpos - if isQuant { - cchUnquantified-- - } - wasPrevQuantifier = false - - if cchUnquantified > 0 { - p.addToConcatenate(startpos, cchUnquantified, false) - } - - if isQuant { - p.addUnitOne(p.charAt(endpos - 1)) - } - } - - switch ch { - case '!': - goto BreakOuterScan - - case ' ': - goto ContinueOuterScan - - case '[': - cc, err := p.scanCharSet(p.useOptionI(), false) - if err != nil { - return nil, err - } - p.addUnitSet(cc) - - case '(': - p.pushOptions() - - if grouper, err := p.scanGroupOpen(); err != nil { - return nil, err - } else if grouper == nil { - p.popKeepOptions() - } else { - p.pushGroup() - p.startGroup(grouper) - } - - continue - - case '|': - p.addAlternate() - goto ContinueOuterScan - - case ')': - if p.emptyStack() { - return nil, p.getErr(ErrUnexpectedParen) - } - - if err := p.addGroup(); err != nil { - return nil, err - } - if err := p.popGroup(); err != nil { - return nil, err - } - p.popOptions() - - if p.unit == nil { - goto ContinueOuterScan - } - - case '\\': - n, err := p.scanBackslash() - if err != nil { - return nil, err - } - p.addUnitNode(n) - - case '^': - if p.useOptionM() { - p.addUnitType(ntBol) - } else { - p.addUnitType(ntBeginning) - } - - case '$': - if p.useOptionM() { - p.addUnitType(ntEol) - } else { - p.addUnitType(ntEndZ) - } - - case '.': - if p.useOptionE() { - p.addUnitSet(ECMAAnyClass()) - } else if p.useOptionS() { - p.addUnitSet(AnyClass()) - } else { - p.addUnitNotone('\n') - } - - case '{', '*', '+', '?': - if p.unit == nil { - if wasPrevQuantifier { - return nil, p.getErr(ErrInvalidRepeatOp) - } else { - return nil, p.getErr(ErrMissingRepeatArgument) - } - } - p.moveLeft() - - default: - return nil, p.getErr(ErrInternalError) - } - - if err := p.scanBlank(); err != nil { - return nil, err - } - - if p.charsRight() > 0 { - isQuant = p.isTrueQuantifier() - } - if p.charsRight() == 0 || !isQuant { - //maintain odd C# assignment order -- not sure if required, could clean up? - p.addConcatenate() - goto ContinueOuterScan - } - - ch = p.moveRightGetChar() - - // Handle quantifiers - for p.unit != nil { - var min, max int - var lazy bool - - switch ch { - case '*': - min = 0 - max = math.MaxInt32 - - case '?': - min = 0 - max = 1 - - case '+': - min = 1 - max = math.MaxInt32 - - case '{': - { - var err error - startpos = p.textpos() - if min, err = p.scanDecimal(); err != nil { - return nil, err - } - max = min - if startpos < p.textpos() { - if p.charsRight() > 0 && p.rightChar(0) == ',' { - p.moveRight(1) - if p.charsRight() == 0 || p.rightChar(0) == '}' { - max = math.MaxInt32 - } else { - if max, err = p.scanDecimal(); err != nil { - return nil, err - } - } - } - } - - if startpos == p.textpos() || p.charsRight() == 0 || p.moveRightGetChar() != '}' { - p.addConcatenate() - p.textto(startpos - 1) - goto ContinueOuterScan - } - } - - default: - return nil, p.getErr(ErrInternalError) - } - - if err := p.scanBlank(); err != nil { - return nil, err - } - - if p.charsRight() == 0 || p.rightChar(0) != '?' { - lazy = false - } else { - p.moveRight(1) - lazy = true - } - - if min > max { - return nil, p.getErr(ErrInvalidRepeatSize) - } - - p.addConcatenate3(lazy, min, max) - } - - ContinueOuterScan: - } - -BreakOuterScan: - ; - - if !p.emptyStack() { - return nil, p.getErr(ErrMissingParen) - } - - if err := p.addGroup(); err != nil { - return nil, err - } - - return p.unit, nil - -} - -/* - * Simple parsing for replacement patterns - */ -func (p *parser) scanReplacement() (*regexNode, error) { - var c, startpos int - - p.concatenation = newRegexNode(ntConcatenate, p.options) - - for { - c = p.charsRight() - if c == 0 { - break - } - - startpos = p.textpos() - - for c > 0 && p.rightChar(0) != '$' { - p.moveRight(1) - c-- - } - - p.addToConcatenate(startpos, p.textpos()-startpos, true) - - if c > 0 { - if p.moveRightGetChar() == '$' { - n, err := p.scanDollar() - if err != nil { - return nil, err - } - p.addUnitNode(n) - } - p.addConcatenate() - } - } - - return p.concatenation, nil -} - -/* - * Scans $ patterns recognized within replacement patterns - */ -func (p *parser) scanDollar() (*regexNode, error) { - if p.charsRight() == 0 { - return newRegexNodeCh(ntOne, p.options, '$'), nil - } - - ch := p.rightChar(0) - angled := false - backpos := p.textpos() - lastEndPos := backpos - - // Note angle - - if ch == '{' && p.charsRight() > 1 { - angled = true - p.moveRight(1) - ch = p.rightChar(0) - } - - // Try to parse backreference: \1 or \{1} or \{cap} - - if ch >= '0' && ch <= '9' { - if !angled && p.useOptionE() { - capnum := -1 - newcapnum := int(ch - '0') - p.moveRight(1) - if p.isCaptureSlot(newcapnum) { - capnum = newcapnum - lastEndPos = p.textpos() - } - - for p.charsRight() > 0 { - ch = p.rightChar(0) - if ch < '0' || ch > '9' { - break - } - digit := int(ch - '0') - if newcapnum > maxValueDiv10 || (newcapnum == maxValueDiv10 && digit > maxValueMod10) { - return nil, p.getErr(ErrCaptureGroupOutOfRange) - } - - newcapnum = newcapnum*10 + digit - - p.moveRight(1) - if p.isCaptureSlot(newcapnum) { - capnum = newcapnum - lastEndPos = p.textpos() - } - } - p.textto(lastEndPos) - if capnum >= 0 { - return newRegexNodeM(ntRef, p.options, capnum), nil - } - } else { - capnum, err := p.scanDecimal() - if err != nil { - return nil, err - } - if !angled || p.charsRight() > 0 && p.moveRightGetChar() == '}' { - if p.isCaptureSlot(capnum) { - return newRegexNodeM(ntRef, p.options, capnum), nil - } - } - } - } else if angled && IsWordChar(ch) { - capname := p.scanCapname() - - if p.charsRight() > 0 && p.moveRightGetChar() == '}' { - if p.isCaptureName(capname) { - return newRegexNodeM(ntRef, p.options, p.captureSlotFromName(capname)), nil - } - } - } else if !angled { - capnum := 1 - - switch ch { - case '$': - p.moveRight(1) - return newRegexNodeCh(ntOne, p.options, '$'), nil - case '&': - capnum = 0 - case '`': - capnum = replaceLeftPortion - case '\'': - capnum = replaceRightPortion - case '+': - capnum = replaceLastGroup - case '_': - capnum = replaceWholeString - } - - if capnum != 1 { - p.moveRight(1) - return newRegexNodeM(ntRef, p.options, capnum), nil - } - } - - // unrecognized $: literalize - - p.textto(backpos) - return newRegexNodeCh(ntOne, p.options, '$'), nil -} - -// scanGroupOpen scans chars following a '(' (not counting the '('), and returns -// a RegexNode for the type of group scanned, or nil if the group -// simply changed options (?cimsx-cimsx) or was a comment (#...). -func (p *parser) scanGroupOpen() (*regexNode, error) { - var ch rune - var nt nodeType - var err error - close := '>' - start := p.textpos() - - // just return a RegexNode if we have: - // 1. "(" followed by nothing - // 2. "(x" where x != ? - // 3. "(?)" - if p.charsRight() == 0 || p.rightChar(0) != '?' || (p.rightChar(0) == '?' && (p.charsRight() > 1 && p.rightChar(1) == ')')) { - if p.useOptionN() || p.ignoreNextParen { - p.ignoreNextParen = false - return newRegexNode(ntGroup, p.options), nil - } - return newRegexNodeMN(ntCapture, p.options, p.consumeAutocap(), -1), nil - } - - p.moveRight(1) - - for { - if p.charsRight() == 0 { - break - } - - switch ch = p.moveRightGetChar(); ch { - case ':': - nt = ntGroup - - case '=': - p.options &= ^RightToLeft - nt = ntRequire - - case '!': - p.options &= ^RightToLeft - nt = ntPrevent - - case '>': - nt = ntGreedy - - case '\'': - close = '\'' - fallthrough - - case '<': - if p.charsRight() == 0 { - goto BreakRecognize - } - - switch ch = p.moveRightGetChar(); ch { - case '=': - if close == '\'' { - goto BreakRecognize - } - - p.options |= RightToLeft - nt = ntRequire - - case '!': - if close == '\'' { - goto BreakRecognize - } - - p.options |= RightToLeft - nt = ntPrevent - - default: - p.moveLeft() - capnum := -1 - uncapnum := -1 - proceed := false - - // grab part before - - - if ch >= '0' && ch <= '9' { - if capnum, err = p.scanDecimal(); err != nil { - return nil, err - } - - if !p.isCaptureSlot(capnum) { - capnum = -1 - } - - // check if we have bogus characters after the number - if p.charsRight() > 0 && !(p.rightChar(0) == close || p.rightChar(0) == '-') { - return nil, p.getErr(ErrInvalidGroupName) - } - if capnum == 0 { - return nil, p.getErr(ErrCapNumNotZero) - } - } else if IsWordChar(ch) { - capname := p.scanCapname() - - if p.isCaptureName(capname) { - capnum = p.captureSlotFromName(capname) - } - - // check if we have bogus character after the name - if p.charsRight() > 0 && !(p.rightChar(0) == close || p.rightChar(0) == '-') { - return nil, p.getErr(ErrInvalidGroupName) - } - } else if ch == '-' { - proceed = true - } else { - // bad group name - starts with something other than a word character and isn't a number - return nil, p.getErr(ErrInvalidGroupName) - } - - // grab part after - if any - - if (capnum != -1 || proceed == true) && p.charsRight() > 0 && p.rightChar(0) == '-' { - p.moveRight(1) - - //no more chars left, no closing char, etc - if p.charsRight() == 0 { - return nil, p.getErr(ErrInvalidGroupName) - } - - ch = p.rightChar(0) - if ch >= '0' && ch <= '9' { - if uncapnum, err = p.scanDecimal(); err != nil { - return nil, err - } - - if !p.isCaptureSlot(uncapnum) { - return nil, p.getErr(ErrUndefinedBackRef, uncapnum) - } - - // check if we have bogus characters after the number - if p.charsRight() > 0 && p.rightChar(0) != close { - return nil, p.getErr(ErrInvalidGroupName) - } - } else if IsWordChar(ch) { - uncapname := p.scanCapname() - - if !p.isCaptureName(uncapname) { - return nil, p.getErr(ErrUndefinedNameRef, uncapname) - } - uncapnum = p.captureSlotFromName(uncapname) - - // check if we have bogus character after the name - if p.charsRight() > 0 && p.rightChar(0) != close { - return nil, p.getErr(ErrInvalidGroupName) - } - } else { - // bad group name - starts with something other than a word character and isn't a number - return nil, p.getErr(ErrInvalidGroupName) - } - } - - // actually make the node - - if (capnum != -1 || uncapnum != -1) && p.charsRight() > 0 && p.moveRightGetChar() == close { - return newRegexNodeMN(ntCapture, p.options, capnum, uncapnum), nil - } - goto BreakRecognize - } - - case '(': - // alternation construct (?(...) | ) - - parenPos := p.textpos() - if p.charsRight() > 0 { - ch = p.rightChar(0) - - // check if the alternation condition is a backref - if ch >= '0' && ch <= '9' { - var capnum int - if capnum, err = p.scanDecimal(); err != nil { - return nil, err - } - if p.charsRight() > 0 && p.moveRightGetChar() == ')' { - if p.isCaptureSlot(capnum) { - return newRegexNodeM(ntTestref, p.options, capnum), nil - } - return nil, p.getErr(ErrUndefinedReference, capnum) - } - - return nil, p.getErr(ErrMalformedReference, capnum) - - } else if IsWordChar(ch) { - capname := p.scanCapname() - - if p.isCaptureName(capname) && p.charsRight() > 0 && p.moveRightGetChar() == ')' { - return newRegexNodeM(ntTestref, p.options, p.captureSlotFromName(capname)), nil - } - } - } - // not a backref - nt = ntTestgroup - p.textto(parenPos - 1) // jump to the start of the parentheses - p.ignoreNextParen = true // but make sure we don't try to capture the insides - - charsRight := p.charsRight() - if charsRight >= 3 && p.rightChar(1) == '?' { - rightchar2 := p.rightChar(2) - // disallow comments in the condition - if rightchar2 == '#' { - return nil, p.getErr(ErrAlternationCantHaveComment) - } - - // disallow named capture group (?<..>..) in the condition - if rightchar2 == '\'' { - return nil, p.getErr(ErrAlternationCantCapture) - } - - if charsRight >= 4 && (rightchar2 == '<' && p.rightChar(3) != '!' && p.rightChar(3) != '=') { - return nil, p.getErr(ErrAlternationCantCapture) - } - } - - default: - p.moveLeft() - - nt = ntGroup - // disallow options in the children of a testgroup node - if p.group.t != ntTestgroup { - p.scanOptions() - } - if p.charsRight() == 0 { - goto BreakRecognize - } - - if ch = p.moveRightGetChar(); ch == ')' { - return nil, nil - } - - if ch != ':' { - goto BreakRecognize - } - - } - - return newRegexNode(nt, p.options), nil - } - -BreakRecognize: - - // break Recognize comes here - - return nil, p.getErr(ErrUnrecognizedGrouping, string(p.pattern[start:p.textpos()])) -} - -// scans backslash specials and basics -func (p *parser) scanBackslash() (*regexNode, error) { - - if p.charsRight() == 0 { - return nil, p.getErr(ErrIllegalEndEscape) - } - - switch ch := p.rightChar(0); ch { - case 'b', 'B', 'A', 'G', 'Z', 'z': - p.moveRight(1) - return newRegexNode(p.typeFromCode(ch), p.options), nil - - case 'w': - p.moveRight(1) - if p.useOptionE() { - return newRegexNodeSet(ntSet, p.options, ECMAWordClass()), nil - } - return newRegexNodeSet(ntSet, p.options, WordClass()), nil - - case 'W': - p.moveRight(1) - if p.useOptionE() { - return newRegexNodeSet(ntSet, p.options, NotECMAWordClass()), nil - } - return newRegexNodeSet(ntSet, p.options, NotWordClass()), nil - - case 's': - p.moveRight(1) - if p.useOptionE() { - return newRegexNodeSet(ntSet, p.options, ECMASpaceClass()), nil - } - return newRegexNodeSet(ntSet, p.options, SpaceClass()), nil - - case 'S': - p.moveRight(1) - if p.useOptionE() { - return newRegexNodeSet(ntSet, p.options, NotECMASpaceClass()), nil - } - return newRegexNodeSet(ntSet, p.options, NotSpaceClass()), nil - - case 'd': - p.moveRight(1) - if p.useOptionE() { - return newRegexNodeSet(ntSet, p.options, ECMADigitClass()), nil - } - return newRegexNodeSet(ntSet, p.options, DigitClass()), nil - - case 'D': - p.moveRight(1) - if p.useOptionE() { - return newRegexNodeSet(ntSet, p.options, NotECMADigitClass()), nil - } - return newRegexNodeSet(ntSet, p.options, NotDigitClass()), nil - - case 'p', 'P': - p.moveRight(1) - prop, err := p.parseProperty() - if err != nil { - return nil, err - } - cc := &CharSet{} - cc.addCategory(prop, (ch != 'p'), p.useOptionI(), p.patternRaw) - if p.useOptionI() { - cc.addLowercase() - } - - return newRegexNodeSet(ntSet, p.options, cc), nil - - default: - return p.scanBasicBackslash() - } -} - -// Scans \-style backreferences and character escapes -func (p *parser) scanBasicBackslash() (*regexNode, error) { - if p.charsRight() == 0 { - return nil, p.getErr(ErrIllegalEndEscape) - } - angled := false - close := '\x00' - - backpos := p.textpos() - ch := p.rightChar(0) - - // allow \k instead of \, which is now deprecated - - if ch == 'k' { - if p.charsRight() >= 2 { - p.moveRight(1) - ch = p.moveRightGetChar() - - if ch == '<' || ch == '\'' { - angled = true - if ch == '\'' { - close = '\'' - } else { - close = '>' - } - } - } - - if !angled || p.charsRight() <= 0 { - return nil, p.getErr(ErrMalformedNameRef) - } - - ch = p.rightChar(0) - - } else if (ch == '<' || ch == '\'') && p.charsRight() > 1 { // Note angle without \g - angled = true - if ch == '\'' { - close = '\'' - } else { - close = '>' - } - - p.moveRight(1) - ch = p.rightChar(0) - } - - // Try to parse backreference: \<1> or \ - - if angled && ch >= '0' && ch <= '9' { - capnum, err := p.scanDecimal() - if err != nil { - return nil, err - } - - if p.charsRight() > 0 && p.moveRightGetChar() == close { - if p.isCaptureSlot(capnum) { - return newRegexNodeM(ntRef, p.options, capnum), nil - } else { - return nil, p.getErr(ErrUndefinedBackRef, capnum) - } - } - } else if !angled && ch >= '1' && ch <= '9' { // Try to parse backreference or octal: \1 - capnum, err := p.scanDecimal() - if err != nil { - return nil, err - } - if p.useOptionE() || p.isCaptureSlot(capnum) { - return newRegexNodeM(ntRef, p.options, capnum), nil - } - if capnum <= 9 { - return nil, p.getErr(ErrUndefinedBackRef, capnum) - } - - } else if angled && IsWordChar(ch) { - capname := p.scanCapname() - - if p.charsRight() > 0 && p.moveRightGetChar() == close { - if p.isCaptureName(capname) { - return newRegexNodeM(ntRef, p.options, p.captureSlotFromName(capname)), nil - } - return nil, p.getErr(ErrUndefinedNameRef, capname) - } - } - - // Not backreference: must be char code - - p.textto(backpos) - ch, err := p.scanCharEscape() - if err != nil { - return nil, err - } - - if p.useOptionI() { - ch = unicode.ToLower(ch) - } - - return newRegexNodeCh(ntOne, p.options, ch), nil -} - -// Scans X for \p{X} or \P{X} -func (p *parser) parseProperty() (string, error) { - if p.charsRight() < 3 { - return "", p.getErr(ErrIncompleteSlashP) - } - ch := p.moveRightGetChar() - if ch != '{' { - return "", p.getErr(ErrMalformedSlashP) - } - - startpos := p.textpos() - for p.charsRight() > 0 { - ch = p.moveRightGetChar() - if !(IsWordChar(ch) || ch == '-') { - p.moveLeft() - break - } - } - capname := string(p.pattern[startpos:p.textpos()]) - - if p.charsRight() == 0 || p.moveRightGetChar() != '}' { - return "", p.getErr(ErrIncompleteSlashP) - } - - if !isValidUnicodeCat(capname) { - return "", p.getErr(ErrUnknownSlashP, capname) - } - - return capname, nil -} - -// Returns ReNode type for zero-length assertions with a \ code. -func (p *parser) typeFromCode(ch rune) nodeType { - switch ch { - case 'b': - if p.useOptionE() { - return ntECMABoundary - } - return ntBoundary - case 'B': - if p.useOptionE() { - return ntNonECMABoundary - } - return ntNonboundary - case 'A': - return ntBeginning - case 'G': - return ntStart - case 'Z': - return ntEndZ - case 'z': - return ntEnd - default: - return ntNothing - } -} - -// Scans whitespace or x-mode comments. -func (p *parser) scanBlank() error { - if p.useOptionX() { - for { - for p.charsRight() > 0 && isSpace(p.rightChar(0)) { - p.moveRight(1) - } - - if p.charsRight() == 0 { - break - } - - if p.rightChar(0) == '#' { - for p.charsRight() > 0 && p.rightChar(0) != '\n' { - p.moveRight(1) - } - } else if p.charsRight() >= 3 && p.rightChar(2) == '#' && - p.rightChar(1) == '?' && p.rightChar(0) == '(' { - for p.charsRight() > 0 && p.rightChar(0) != ')' { - p.moveRight(1) - } - if p.charsRight() == 0 { - return p.getErr(ErrUnterminatedComment) - } - p.moveRight(1) - } else { - break - } - } - } else { - for { - if p.charsRight() < 3 || p.rightChar(2) != '#' || - p.rightChar(1) != '?' || p.rightChar(0) != '(' { - return nil - } - - for p.charsRight() > 0 && p.rightChar(0) != ')' { - p.moveRight(1) - } - if p.charsRight() == 0 { - return p.getErr(ErrUnterminatedComment) - } - p.moveRight(1) - } - } - return nil -} - -func (p *parser) scanCapname() string { - startpos := p.textpos() - - for p.charsRight() > 0 { - if !IsWordChar(p.moveRightGetChar()) { - p.moveLeft() - break - } - } - - return string(p.pattern[startpos:p.textpos()]) -} - -//Scans contents of [] (not including []'s), and converts to a set. -func (p *parser) scanCharSet(caseInsensitive, scanOnly bool) (*CharSet, error) { - ch := '\x00' - chPrev := '\x00' - inRange := false - firstChar := true - closed := false - - var cc *CharSet - if !scanOnly { - cc = &CharSet{} - } - - if p.charsRight() > 0 && p.rightChar(0) == '^' { - p.moveRight(1) - if !scanOnly { - cc.negate = true - } - } - - for ; p.charsRight() > 0; firstChar = false { - fTranslatedChar := false - ch = p.moveRightGetChar() - if ch == ']' { - if !firstChar { - closed = true - break - } else if p.useOptionE() { - if !scanOnly { - cc.addRanges(NoneClass().ranges) - } - closed = true - break - } - - } else if ch == '\\' && p.charsRight() > 0 { - switch ch = p.moveRightGetChar(); ch { - case 'D', 'd': - if !scanOnly { - if inRange { - return nil, p.getErr(ErrBadClassInCharRange, ch) - } - cc.addDigit(p.useOptionE(), ch == 'D', p.patternRaw) - } - continue - - case 'S', 's': - if !scanOnly { - if inRange { - return nil, p.getErr(ErrBadClassInCharRange, ch) - } - cc.addSpace(p.useOptionE(), ch == 'S') - } - continue - - case 'W', 'w': - if !scanOnly { - if inRange { - return nil, p.getErr(ErrBadClassInCharRange, ch) - } - - cc.addWord(p.useOptionE(), ch == 'W') - } - continue - - case 'p', 'P': - if !scanOnly { - if inRange { - return nil, p.getErr(ErrBadClassInCharRange, ch) - } - prop, err := p.parseProperty() - if err != nil { - return nil, err - } - cc.addCategory(prop, (ch != 'p'), caseInsensitive, p.patternRaw) - } else { - p.parseProperty() - } - - continue - - case '-': - if !scanOnly { - cc.addRange(ch, ch) - } - continue - - default: - p.moveLeft() - var err error - ch, err = p.scanCharEscape() // non-literal character - if err != nil { - return nil, err - } - fTranslatedChar = true - break // this break will only break out of the switch - } - } else if ch == '[' { - // This is code for Posix style properties - [:Ll:] or [:IsTibetan:]. - // It currently doesn't do anything other than skip the whole thing! - if p.charsRight() > 0 && p.rightChar(0) == ':' && !inRange { - savePos := p.textpos() - - p.moveRight(1) - p.scanCapname() // throwaway the name - if p.charsRight() < 2 || p.moveRightGetChar() != ':' || p.moveRightGetChar() != ']' { - p.textto(savePos) - } - // else lookup name (nyi) - } - } - - if inRange { - inRange = false - if !scanOnly { - if ch == '[' && !fTranslatedChar && !firstChar { - // We thought we were in a range, but we're actually starting a subtraction. - // In that case, we'll add chPrev to our char class, skip the opening [, and - // scan the new character class recursively. - cc.addChar(chPrev) - sub, err := p.scanCharSet(caseInsensitive, false) - if err != nil { - return nil, err - } - cc.addSubtraction(sub) - - if p.charsRight() > 0 && p.rightChar(0) != ']' { - return nil, p.getErr(ErrSubtractionMustBeLast) - } - } else { - // a regular range, like a-z - if chPrev > ch { - return nil, p.getErr(ErrReversedCharRange) - } - cc.addRange(chPrev, ch) - } - } - } else if p.charsRight() >= 2 && p.rightChar(0) == '-' && p.rightChar(1) != ']' { - // this could be the start of a range - chPrev = ch - inRange = true - p.moveRight(1) - } else if p.charsRight() >= 1 && ch == '-' && !fTranslatedChar && p.rightChar(0) == '[' && !firstChar { - // we aren't in a range, and now there is a subtraction. Usually this happens - // only when a subtraction follows a range, like [a-z-[b]] - if !scanOnly { - p.moveRight(1) - sub, err := p.scanCharSet(caseInsensitive, false) - if err != nil { - return nil, err - } - cc.addSubtraction(sub) - - if p.charsRight() > 0 && p.rightChar(0) != ']' { - return nil, p.getErr(ErrSubtractionMustBeLast) - } - } else { - p.moveRight(1) - p.scanCharSet(caseInsensitive, true) - } - } else { - if !scanOnly { - cc.addRange(ch, ch) - } - } - } - - if !closed { - return nil, p.getErr(ErrUnterminatedBracket) - } - - if !scanOnly && caseInsensitive { - cc.addLowercase() - } - - return cc, nil -} - -// Scans any number of decimal digits (pegs value at 2^31-1 if too large) -func (p *parser) scanDecimal() (int, error) { - i := 0 - var d int - - for p.charsRight() > 0 { - d = int(p.rightChar(0) - '0') - if d < 0 || d > 9 { - break - } - p.moveRight(1) - - if i > maxValueDiv10 || (i == maxValueDiv10 && d > maxValueMod10) { - return 0, p.getErr(ErrCaptureGroupOutOfRange) - } - - i *= 10 - i += d - } - - return int(i), nil -} - -// Returns true for options allowed only at the top level -func isOnlyTopOption(option RegexOptions) bool { - return option == RightToLeft || option == ECMAScript -} - -// Scans cimsx-cimsx option string, stops at the first unrecognized char. -func (p *parser) scanOptions() { - - for off := false; p.charsRight() > 0; p.moveRight(1) { - ch := p.rightChar(0) - - if ch == '-' { - off = true - } else if ch == '+' { - off = false - } else { - option := optionFromCode(ch) - if option == 0 || isOnlyTopOption(option) { - return - } - - if off { - p.options &= ^option - } else { - p.options |= option - } - } - } -} - -// Scans \ code for escape codes that map to single unicode chars. -func (p *parser) scanCharEscape() (rune, error) { - - ch := p.moveRightGetChar() - - if ch >= '0' && ch <= '7' { - p.moveLeft() - return p.scanOctal(), nil - } - - switch ch { - case 'x': - // support for \x{HEX} syntax from Perl and PCRE - if p.charsRight() > 0 && p.rightChar(0) == '{' { - p.moveRight(1) - return p.scanHexUntilBrace() - } - return p.scanHex(2) - case 'u': - return p.scanHex(4) - case 'a': - return '\u0007', nil - case 'b': - return '\b', nil - case 'e': - return '\u001B', nil - case 'f': - return '\f', nil - case 'n': - return '\n', nil - case 'r': - return '\r', nil - case 't': - return '\t', nil - case 'v': - return '\u000B', nil - case 'c': - return p.scanControl() - default: - if !p.useOptionE() && IsWordChar(ch) { - return 0, p.getErr(ErrUnrecognizedEscape, string(ch)) - } - return ch, nil - } -} - -// Grabs and converts an ascii control character -func (p *parser) scanControl() (rune, error) { - if p.charsRight() <= 0 { - return 0, p.getErr(ErrMissingControl) - } - - ch := p.moveRightGetChar() - - // \ca interpreted as \cA - - if ch >= 'a' && ch <= 'z' { - ch = (ch - ('a' - 'A')) - } - ch = (ch - '@') - if ch >= 0 && ch < ' ' { - return ch, nil - } - - return 0, p.getErr(ErrUnrecognizedControl) - -} - -// Scan hex digits until we hit a closing brace. -// Non-hex digits, hex value too large for UTF-8, or running out of chars are errors -func (p *parser) scanHexUntilBrace() (rune, error) { - // PCRE spec reads like unlimited hex digits are allowed, but unicode has a limit - // so we can enforce that - i := 0 - hasContent := false - - for p.charsRight() > 0 { - ch := p.moveRightGetChar() - if ch == '}' { - // hit our close brace, we're done here - // prevent \x{} - if !hasContent { - return 0, p.getErr(ErrTooFewHex) - } - return rune(i), nil - } - hasContent = true - // no brace needs to be hex digit - d := hexDigit(ch) - if d < 0 { - return 0, p.getErr(ErrMissingBrace) - } - - i *= 0x10 - i += d - - if i > unicode.MaxRune { - return 0, p.getErr(ErrInvalidHex) - } - } - - // we only make it here if we run out of digits without finding the brace - return 0, p.getErr(ErrMissingBrace) -} - -// Scans exactly c hex digits (c=2 for \xFF, c=4 for \uFFFF) -func (p *parser) scanHex(c int) (rune, error) { - - i := 0 - - if p.charsRight() >= c { - for c > 0 { - d := hexDigit(p.moveRightGetChar()) - if d < 0 { - break - } - i *= 0x10 - i += d - c-- - } - } - - if c > 0 { - return 0, p.getErr(ErrTooFewHex) - } - - return rune(i), nil -} - -// Returns n <= 0xF for a hex digit. -func hexDigit(ch rune) int { - - if d := uint(ch - '0'); d <= 9 { - return int(d) - } - - if d := uint(ch - 'a'); d <= 5 { - return int(d + 0xa) - } - - if d := uint(ch - 'A'); d <= 5 { - return int(d + 0xa) - } - - return -1 -} - -// Scans up to three octal digits (stops before exceeding 0377). -func (p *parser) scanOctal() rune { - // Consume octal chars only up to 3 digits and value 0377 - - c := 3 - - if c > p.charsRight() { - c = p.charsRight() - } - - //we know the first char is good because the caller had to check - i := 0 - d := int(p.rightChar(0) - '0') - for c > 0 && d <= 7 { - i *= 8 - i += d - if p.useOptionE() && i >= 0x20 { - break - } - c-- - - p.moveRight(1) - if !p.rightMost() { - d = int(p.rightChar(0) - '0') - } - } - - // Octal codes only go up to 255. Any larger and the behavior that Perl follows - // is simply to truncate the high bits. - i &= 0xFF - - return rune(i) -} - -// Returns the current parsing position. -func (p *parser) textpos() int { - return p.currentPos -} - -// Zaps to a specific parsing position. -func (p *parser) textto(pos int) { - p.currentPos = pos -} - -// Returns the char at the right of the current parsing position and advances to the right. -func (p *parser) moveRightGetChar() rune { - ch := p.pattern[p.currentPos] - p.currentPos++ - return ch -} - -// Moves the current position to the right. -func (p *parser) moveRight(i int) { - // default would be 1 - p.currentPos += i -} - -// Moves the current parsing position one to the left. -func (p *parser) moveLeft() { - p.currentPos-- -} - -// Returns the char left of the current parsing position. -func (p *parser) charAt(i int) rune { - return p.pattern[i] -} - -// Returns the char i chars right of the current parsing position. -func (p *parser) rightChar(i int) rune { - // default would be 0 - return p.pattern[p.currentPos+i] -} - -// Number of characters to the right of the current parsing position. -func (p *parser) charsRight() int { - return len(p.pattern) - p.currentPos -} - -func (p *parser) rightMost() bool { - return p.currentPos == len(p.pattern) -} - -// Looks up the slot number for a given name -func (p *parser) captureSlotFromName(capname string) int { - return p.capnames[capname] -} - -// True if the capture slot was noted -func (p *parser) isCaptureSlot(i int) bool { - if p.caps != nil { - _, ok := p.caps[i] - return ok - } - - return (i >= 0 && i < p.capsize) -} - -// Looks up the slot number for a given name -func (p *parser) isCaptureName(capname string) bool { - if p.capnames == nil { - return false - } - - _, ok := p.capnames[capname] - return ok -} - -// option shortcuts - -// True if N option disabling '(' autocapture is on. -func (p *parser) useOptionN() bool { - return (p.options & ExplicitCapture) != 0 -} - -// True if I option enabling case-insensitivity is on. -func (p *parser) useOptionI() bool { - return (p.options & IgnoreCase) != 0 -} - -// True if M option altering meaning of $ and ^ is on. -func (p *parser) useOptionM() bool { - return (p.options & Multiline) != 0 -} - -// True if S option altering meaning of . is on. -func (p *parser) useOptionS() bool { - return (p.options & Singleline) != 0 -} - -// True if X option enabling whitespace/comment mode is on. -func (p *parser) useOptionX() bool { - return (p.options & IgnorePatternWhitespace) != 0 -} - -// True if E option enabling ECMAScript behavior on. -func (p *parser) useOptionE() bool { - return (p.options & ECMAScript) != 0 -} - -// True if options stack is empty. -func (p *parser) emptyOptionsStack() bool { - return len(p.optionsStack) == 0 -} - -// Finish the current quantifiable (when a quantifier is not found or is not possible) -func (p *parser) addConcatenate() { - // The first (| inside a Testgroup group goes directly to the group - p.concatenation.addChild(p.unit) - p.unit = nil -} - -// Finish the current quantifiable (when a quantifier is found) -func (p *parser) addConcatenate3(lazy bool, min, max int) { - p.concatenation.addChild(p.unit.makeQuantifier(lazy, min, max)) - p.unit = nil -} - -// Sets the current unit to a single char node -func (p *parser) addUnitOne(ch rune) { - if p.useOptionI() { - ch = unicode.ToLower(ch) - } - - p.unit = newRegexNodeCh(ntOne, p.options, ch) -} - -// Sets the current unit to a single inverse-char node -func (p *parser) addUnitNotone(ch rune) { - if p.useOptionI() { - ch = unicode.ToLower(ch) - } - - p.unit = newRegexNodeCh(ntNotone, p.options, ch) -} - -// Sets the current unit to a single set node -func (p *parser) addUnitSet(set *CharSet) { - p.unit = newRegexNodeSet(ntSet, p.options, set) -} - -// Sets the current unit to a subtree -func (p *parser) addUnitNode(node *regexNode) { - p.unit = node -} - -// Sets the current unit to an assertion of the specified type -func (p *parser) addUnitType(t nodeType) { - p.unit = newRegexNode(t, p.options) -} - -// Finish the current group (in response to a ')' or end) -func (p *parser) addGroup() error { - if p.group.t == ntTestgroup || p.group.t == ntTestref { - p.group.addChild(p.concatenation.reverseLeft()) - if (p.group.t == ntTestref && len(p.group.children) > 2) || len(p.group.children) > 3 { - return p.getErr(ErrTooManyAlternates) - } - } else { - p.alternation.addChild(p.concatenation.reverseLeft()) - p.group.addChild(p.alternation) - } - - p.unit = p.group - return nil -} - -// Pops the option stack, but keeps the current options unchanged. -func (p *parser) popKeepOptions() { - lastIdx := len(p.optionsStack) - 1 - p.optionsStack = p.optionsStack[:lastIdx] -} - -// Recalls options from the stack. -func (p *parser) popOptions() { - lastIdx := len(p.optionsStack) - 1 - // get the last item on the stack and then remove it by reslicing - p.options = p.optionsStack[lastIdx] - p.optionsStack = p.optionsStack[:lastIdx] -} - -// Saves options on a stack. -func (p *parser) pushOptions() { - p.optionsStack = append(p.optionsStack, p.options) -} - -// Add a string to the last concatenate. -func (p *parser) addToConcatenate(pos, cch int, isReplacement bool) { - var node *regexNode - - if cch == 0 { - return - } - - if cch > 1 { - str := p.pattern[pos : pos+cch] - - if p.useOptionI() && !isReplacement { - // We do the ToLower character by character for consistency. With surrogate chars, doing - // a ToLower on the entire string could actually change the surrogate pair. This is more correct - // linguistically, but since Regex doesn't support surrogates, it's more important to be - // consistent. - for i := 0; i < len(str); i++ { - str[i] = unicode.ToLower(str[i]) - } - } - - node = newRegexNodeStr(ntMulti, p.options, str) - } else { - ch := p.charAt(pos) - - if p.useOptionI() && !isReplacement { - ch = unicode.ToLower(ch) - } - - node = newRegexNodeCh(ntOne, p.options, ch) - } - - p.concatenation.addChild(node) -} - -// Push the parser state (in response to an open paren) -func (p *parser) pushGroup() { - p.group.next = p.stack - p.alternation.next = p.group - p.concatenation.next = p.alternation - p.stack = p.concatenation -} - -// Remember the pushed state (in response to a ')') -func (p *parser) popGroup() error { - p.concatenation = p.stack - p.alternation = p.concatenation.next - p.group = p.alternation.next - p.stack = p.group.next - - // The first () inside a Testgroup group goes directly to the group - if p.group.t == ntTestgroup && len(p.group.children) == 0 { - if p.unit == nil { - return p.getErr(ErrConditionalExpression) - } - - p.group.addChild(p.unit) - p.unit = nil - } - return nil -} - -// True if the group stack is empty. -func (p *parser) emptyStack() bool { - return p.stack == nil -} - -// Start a new round for the parser state (in response to an open paren or string start) -func (p *parser) startGroup(openGroup *regexNode) { - p.group = openGroup - p.alternation = newRegexNode(ntAlternate, p.options) - p.concatenation = newRegexNode(ntConcatenate, p.options) -} - -// Finish the current concatenation (in response to a |) -func (p *parser) addAlternate() { - // The | parts inside a Testgroup group go directly to the group - - if p.group.t == ntTestgroup || p.group.t == ntTestref { - p.group.addChild(p.concatenation.reverseLeft()) - } else { - p.alternation.addChild(p.concatenation.reverseLeft()) - } - - p.concatenation = newRegexNode(ntConcatenate, p.options) -} - -// For categorizing ascii characters. - -const ( - Q byte = 5 // quantifier - S = 4 // ordinary stopper - Z = 3 // ScanBlank stopper - X = 2 // whitespace - E = 1 // should be escaped -) - -var _category = []byte{ - //01 2 3 4 5 6 7 8 9 A B C D E F 0 1 2 3 4 5 6 7 8 9 A B C D E F - 0, 0, 0, 0, 0, 0, 0, 0, 0, X, X, X, X, X, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? - X, 0, 0, Z, S, 0, 0, 0, S, S, Q, Q, 0, 0, S, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, Q, - //@A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, S, S, 0, S, 0, - //'a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, Q, S, 0, 0, 0, -} - -func isSpace(ch rune) bool { - return (ch <= ' ' && _category[ch] == X) -} - -// Returns true for those characters that terminate a string of ordinary chars. -func isSpecial(ch rune) bool { - return (ch <= '|' && _category[ch] >= S) -} - -// Returns true for those characters that terminate a string of ordinary chars. -func isStopperX(ch rune) bool { - return (ch <= '|' && _category[ch] >= X) -} - -// Returns true for those characters that begin a quantifier. -func isQuantifier(ch rune) bool { - return (ch <= '{' && _category[ch] >= Q) -} - -func (p *parser) isTrueQuantifier() bool { - nChars := p.charsRight() - if nChars == 0 { - return false - } - - startpos := p.textpos() - ch := p.charAt(startpos) - if ch != '{' { - return ch <= '{' && _category[ch] >= Q - } - - //UGLY: this is ugly -- the original code was ugly too - pos := startpos - for { - nChars-- - if nChars <= 0 { - break - } - pos++ - ch = p.charAt(pos) - if ch < '0' || ch > '9' { - break - } - } - - if nChars == 0 || pos-startpos == 1 { - return false - } - if ch == '}' { - return true - } - if ch != ',' { - return false - } - for { - nChars-- - if nChars <= 0 { - break - } - pos++ - ch = p.charAt(pos) - if ch < '0' || ch > '9' { - break - } - } - - return nChars > 0 && ch == '}' -} diff --git a/vendor/github.com/dlclark/regexp2/syntax/prefix.go b/vendor/github.com/dlclark/regexp2/syntax/prefix.go deleted file mode 100644 index 011ef0b4..00000000 --- a/vendor/github.com/dlclark/regexp2/syntax/prefix.go +++ /dev/null @@ -1,896 +0,0 @@ -package syntax - -import ( - "bytes" - "fmt" - "strconv" - "unicode" - "unicode/utf8" -) - -type Prefix struct { - PrefixStr []rune - PrefixSet CharSet - CaseInsensitive bool -} - -// It takes a RegexTree and computes the set of chars that can start it. -func getFirstCharsPrefix(tree *RegexTree) *Prefix { - s := regexFcd{ - fcStack: make([]regexFc, 32), - intStack: make([]int, 32), - } - fc := s.regexFCFromRegexTree(tree) - - if fc == nil || fc.nullable || fc.cc.IsEmpty() { - return nil - } - fcSet := fc.getFirstChars() - return &Prefix{PrefixSet: fcSet, CaseInsensitive: fc.caseInsensitive} -} - -type regexFcd struct { - intStack []int - intDepth int - fcStack []regexFc - fcDepth int - skipAllChildren bool // don't process any more children at the current level - skipchild bool // don't process the current child. - failed bool -} - -/* - * The main FC computation. It does a shortcutted depth-first walk - * through the tree and calls CalculateFC to emits code before - * and after each child of an interior node, and at each leaf. - */ -func (s *regexFcd) regexFCFromRegexTree(tree *RegexTree) *regexFc { - curNode := tree.root - curChild := 0 - - for { - if len(curNode.children) == 0 { - // This is a leaf node - s.calculateFC(curNode.t, curNode, 0) - } else if curChild < len(curNode.children) && !s.skipAllChildren { - // This is an interior node, and we have more children to analyze - s.calculateFC(curNode.t|beforeChild, curNode, curChild) - - if !s.skipchild { - curNode = curNode.children[curChild] - // this stack is how we get a depth first walk of the tree. - s.pushInt(curChild) - curChild = 0 - } else { - curChild++ - s.skipchild = false - } - continue - } - - // This is an interior node where we've finished analyzing all the children, or - // the end of a leaf node. - s.skipAllChildren = false - - if s.intIsEmpty() { - break - } - - curChild = s.popInt() - curNode = curNode.next - - s.calculateFC(curNode.t|afterChild, curNode, curChild) - if s.failed { - return nil - } - - curChild++ - } - - if s.fcIsEmpty() { - return nil - } - - return s.popFC() -} - -// To avoid recursion, we use a simple integer stack. -// This is the push. -func (s *regexFcd) pushInt(I int) { - if s.intDepth >= len(s.intStack) { - expanded := make([]int, s.intDepth*2) - copy(expanded, s.intStack) - s.intStack = expanded - } - - s.intStack[s.intDepth] = I - s.intDepth++ -} - -// True if the stack is empty. -func (s *regexFcd) intIsEmpty() bool { - return s.intDepth == 0 -} - -// This is the pop. -func (s *regexFcd) popInt() int { - s.intDepth-- - return s.intStack[s.intDepth] -} - -// We also use a stack of RegexFC objects. -// This is the push. -func (s *regexFcd) pushFC(fc regexFc) { - if s.fcDepth >= len(s.fcStack) { - expanded := make([]regexFc, s.fcDepth*2) - copy(expanded, s.fcStack) - s.fcStack = expanded - } - - s.fcStack[s.fcDepth] = fc - s.fcDepth++ -} - -// True if the stack is empty. -func (s *regexFcd) fcIsEmpty() bool { - return s.fcDepth == 0 -} - -// This is the pop. -func (s *regexFcd) popFC() *regexFc { - s.fcDepth-- - return &s.fcStack[s.fcDepth] -} - -// This is the top. -func (s *regexFcd) topFC() *regexFc { - return &s.fcStack[s.fcDepth-1] -} - -// Called in Beforechild to prevent further processing of the current child -func (s *regexFcd) skipChild() { - s.skipchild = true -} - -// FC computation and shortcut cases for each node type -func (s *regexFcd) calculateFC(nt nodeType, node *regexNode, CurIndex int) { - //fmt.Printf("NodeType: %v, CurIndex: %v, Desc: %v\n", nt, CurIndex, node.description()) - ci := false - rtl := false - - if nt <= ntRef { - if (node.options & IgnoreCase) != 0 { - ci = true - } - if (node.options & RightToLeft) != 0 { - rtl = true - } - } - - switch nt { - case ntConcatenate | beforeChild, ntAlternate | beforeChild, ntTestref | beforeChild, ntLoop | beforeChild, ntLazyloop | beforeChild: - break - - case ntTestgroup | beforeChild: - if CurIndex == 0 { - s.skipChild() - } - break - - case ntEmpty: - s.pushFC(regexFc{nullable: true}) - break - - case ntConcatenate | afterChild: - if CurIndex != 0 { - child := s.popFC() - cumul := s.topFC() - - s.failed = !cumul.addFC(*child, true) - } - - fc := s.topFC() - if !fc.nullable { - s.skipAllChildren = true - } - break - - case ntTestgroup | afterChild: - if CurIndex > 1 { - child := s.popFC() - cumul := s.topFC() - - s.failed = !cumul.addFC(*child, false) - } - break - - case ntAlternate | afterChild, ntTestref | afterChild: - if CurIndex != 0 { - child := s.popFC() - cumul := s.topFC() - - s.failed = !cumul.addFC(*child, false) - } - break - - case ntLoop | afterChild, ntLazyloop | afterChild: - if node.m == 0 { - fc := s.topFC() - fc.nullable = true - } - break - - case ntGroup | beforeChild, ntGroup | afterChild, ntCapture | beforeChild, ntCapture | afterChild, ntGreedy | beforeChild, ntGreedy | afterChild: - break - - case ntRequire | beforeChild, ntPrevent | beforeChild: - s.skipChild() - s.pushFC(regexFc{nullable: true}) - break - - case ntRequire | afterChild, ntPrevent | afterChild: - break - - case ntOne, ntNotone: - s.pushFC(newRegexFc(node.ch, nt == ntNotone, false, ci)) - break - - case ntOneloop, ntOnelazy: - s.pushFC(newRegexFc(node.ch, false, node.m == 0, ci)) - break - - case ntNotoneloop, ntNotonelazy: - s.pushFC(newRegexFc(node.ch, true, node.m == 0, ci)) - break - - case ntMulti: - if len(node.str) == 0 { - s.pushFC(regexFc{nullable: true}) - } else if !rtl { - s.pushFC(newRegexFc(node.str[0], false, false, ci)) - } else { - s.pushFC(newRegexFc(node.str[len(node.str)-1], false, false, ci)) - } - break - - case ntSet: - s.pushFC(regexFc{cc: node.set.Copy(), nullable: false, caseInsensitive: ci}) - break - - case ntSetloop, ntSetlazy: - s.pushFC(regexFc{cc: node.set.Copy(), nullable: node.m == 0, caseInsensitive: ci}) - break - - case ntRef: - s.pushFC(regexFc{cc: *AnyClass(), nullable: true, caseInsensitive: false}) - break - - case ntNothing, ntBol, ntEol, ntBoundary, ntNonboundary, ntECMABoundary, ntNonECMABoundary, ntBeginning, ntStart, ntEndZ, ntEnd: - s.pushFC(regexFc{nullable: true}) - break - - default: - panic(fmt.Sprintf("unexpected op code: %v", nt)) - } -} - -type regexFc struct { - cc CharSet - nullable bool - caseInsensitive bool -} - -func newRegexFc(ch rune, not, nullable, caseInsensitive bool) regexFc { - r := regexFc{ - caseInsensitive: caseInsensitive, - nullable: nullable, - } - if not { - if ch > 0 { - r.cc.addRange('\x00', ch-1) - } - if ch < 0xFFFF { - r.cc.addRange(ch+1, utf8.MaxRune) - } - } else { - r.cc.addRange(ch, ch) - } - return r -} - -func (r *regexFc) getFirstChars() CharSet { - if r.caseInsensitive { - r.cc.addLowercase() - } - - return r.cc -} - -func (r *regexFc) addFC(fc regexFc, concatenate bool) bool { - if !r.cc.IsMergeable() || !fc.cc.IsMergeable() { - return false - } - - if concatenate { - if !r.nullable { - return true - } - - if !fc.nullable { - r.nullable = false - } - } else { - if fc.nullable { - r.nullable = true - } - } - - r.caseInsensitive = r.caseInsensitive || fc.caseInsensitive - r.cc.addSet(fc.cc) - - return true -} - -// This is a related computation: it takes a RegexTree and computes the -// leading substring if it sees one. It's quite trivial and gives up easily. -func getPrefix(tree *RegexTree) *Prefix { - var concatNode *regexNode - nextChild := 0 - - curNode := tree.root - - for { - switch curNode.t { - case ntConcatenate: - if len(curNode.children) > 0 { - concatNode = curNode - nextChild = 0 - } - - case ntGreedy, ntCapture: - curNode = curNode.children[0] - concatNode = nil - continue - - case ntOneloop, ntOnelazy: - if curNode.m > 0 { - return &Prefix{ - PrefixStr: repeat(curNode.ch, curNode.m), - CaseInsensitive: (curNode.options & IgnoreCase) != 0, - } - } - return nil - - case ntOne: - return &Prefix{ - PrefixStr: []rune{curNode.ch}, - CaseInsensitive: (curNode.options & IgnoreCase) != 0, - } - - case ntMulti: - return &Prefix{ - PrefixStr: curNode.str, - CaseInsensitive: (curNode.options & IgnoreCase) != 0, - } - - case ntBol, ntEol, ntBoundary, ntECMABoundary, ntBeginning, ntStart, - ntEndZ, ntEnd, ntEmpty, ntRequire, ntPrevent: - - default: - return nil - } - - if concatNode == nil || nextChild >= len(concatNode.children) { - return nil - } - - curNode = concatNode.children[nextChild] - nextChild++ - } -} - -// repeat the rune r, c times... up to the max of MaxPrefixSize -func repeat(r rune, c int) []rune { - if c > MaxPrefixSize { - c = MaxPrefixSize - } - - ret := make([]rune, c) - - // binary growth using copy for speed - ret[0] = r - bp := 1 - for bp < len(ret) { - copy(ret[bp:], ret[:bp]) - bp *= 2 - } - - return ret -} - -// BmPrefix precomputes the Boyer-Moore -// tables for fast string scanning. These tables allow -// you to scan for the first occurrence of a string within -// a large body of text without examining every character. -// The performance of the heuristic depends on the actual -// string and the text being searched, but usually, the longer -// the string that is being searched for, the fewer characters -// need to be examined. -type BmPrefix struct { - positive []int - negativeASCII []int - negativeUnicode [][]int - pattern []rune - lowASCII rune - highASCII rune - rightToLeft bool - caseInsensitive bool -} - -func newBmPrefix(pattern []rune, caseInsensitive, rightToLeft bool) *BmPrefix { - - b := &BmPrefix{ - rightToLeft: rightToLeft, - caseInsensitive: caseInsensitive, - pattern: pattern, - } - - if caseInsensitive { - for i := 0; i < len(b.pattern); i++ { - // We do the ToLower character by character for consistency. With surrogate chars, doing - // a ToLower on the entire string could actually change the surrogate pair. This is more correct - // linguistically, but since Regex doesn't support surrogates, it's more important to be - // consistent. - - b.pattern[i] = unicode.ToLower(b.pattern[i]) - } - } - - var beforefirst, last, bump int - var scan, match int - - if !rightToLeft { - beforefirst = -1 - last = len(b.pattern) - 1 - bump = 1 - } else { - beforefirst = len(b.pattern) - last = 0 - bump = -1 - } - - // PART I - the good-suffix shift table - // - // compute the positive requirement: - // if char "i" is the first one from the right that doesn't match, - // then we know the matcher can advance by _positive[i]. - // - // This algorithm is a simplified variant of the standard - // Boyer-Moore good suffix calculation. - - b.positive = make([]int, len(b.pattern)) - - examine := last - ch := b.pattern[examine] - b.positive[examine] = bump - examine -= bump - -Outerloop: - for { - // find an internal char (examine) that matches the tail - - for { - if examine == beforefirst { - break Outerloop - } - if b.pattern[examine] == ch { - break - } - examine -= bump - } - - match = last - scan = examine - - // find the length of the match - for { - if scan == beforefirst || b.pattern[match] != b.pattern[scan] { - // at the end of the match, note the difference in _positive - // this is not the length of the match, but the distance from the internal match - // to the tail suffix. - if b.positive[match] == 0 { - b.positive[match] = match - scan - } - - // System.Diagnostics.Debug.WriteLine("Set positive[" + match + "] to " + (match - scan)); - - break - } - - scan -= bump - match -= bump - } - - examine -= bump - } - - match = last - bump - - // scan for the chars for which there are no shifts that yield a different candidate - - // The inside of the if statement used to say - // "_positive[match] = last - beforefirst;" - // This is slightly less aggressive in how much we skip, but at worst it - // should mean a little more work rather than skipping a potential match. - for match != beforefirst { - if b.positive[match] == 0 { - b.positive[match] = bump - } - - match -= bump - } - - // PART II - the bad-character shift table - // - // compute the negative requirement: - // if char "ch" is the reject character when testing position "i", - // we can slide up by _negative[ch]; - // (_negative[ch] = str.Length - 1 - str.LastIndexOf(ch)) - // - // the lookup table is divided into ASCII and Unicode portions; - // only those parts of the Unicode 16-bit code set that actually - // appear in the string are in the table. (Maximum size with - // Unicode is 65K; ASCII only case is 512 bytes.) - - b.negativeASCII = make([]int, 128) - - for i := 0; i < len(b.negativeASCII); i++ { - b.negativeASCII[i] = last - beforefirst - } - - b.lowASCII = 127 - b.highASCII = 0 - - for examine = last; examine != beforefirst; examine -= bump { - ch = b.pattern[examine] - - switch { - case ch < 128: - if b.lowASCII > ch { - b.lowASCII = ch - } - - if b.highASCII < ch { - b.highASCII = ch - } - - if b.negativeASCII[ch] == last-beforefirst { - b.negativeASCII[ch] = last - examine - } - case ch <= 0xffff: - i, j := ch>>8, ch&0xFF - - if b.negativeUnicode == nil { - b.negativeUnicode = make([][]int, 256) - } - - if b.negativeUnicode[i] == nil { - newarray := make([]int, 256) - - for k := 0; k < len(newarray); k++ { - newarray[k] = last - beforefirst - } - - if i == 0 { - copy(newarray, b.negativeASCII) - //TODO: this line needed? - b.negativeASCII = newarray - } - - b.negativeUnicode[i] = newarray - } - - if b.negativeUnicode[i][j] == last-beforefirst { - b.negativeUnicode[i][j] = last - examine - } - default: - // we can't do the filter because this algo doesn't support - // unicode chars >0xffff - return nil - } - } - - return b -} - -func (b *BmPrefix) String() string { - return string(b.pattern) -} - -// Dump returns the contents of the filter as a human readable string -func (b *BmPrefix) Dump(indent string) string { - buf := &bytes.Buffer{} - - fmt.Fprintf(buf, "%sBM Pattern: %s\n%sPositive: ", indent, string(b.pattern), indent) - for i := 0; i < len(b.positive); i++ { - buf.WriteString(strconv.Itoa(b.positive[i])) - buf.WriteRune(' ') - } - buf.WriteRune('\n') - - if b.negativeASCII != nil { - buf.WriteString(indent) - buf.WriteString("Negative table\n") - for i := 0; i < len(b.negativeASCII); i++ { - if b.negativeASCII[i] != len(b.pattern) { - fmt.Fprintf(buf, "%s %s %s\n", indent, Escape(string(rune(i))), strconv.Itoa(b.negativeASCII[i])) - } - } - } - - return buf.String() -} - -// Scan uses the Boyer-Moore algorithm to find the first occurrence -// of the specified string within text, beginning at index, and -// constrained within beglimit and endlimit. -// -// The direction and case-sensitivity of the match is determined -// by the arguments to the RegexBoyerMoore constructor. -func (b *BmPrefix) Scan(text []rune, index, beglimit, endlimit int) int { - var ( - defadv, test, test2 int - match, startmatch, endmatch int - bump, advance int - chTest rune - unicodeLookup []int - ) - - if !b.rightToLeft { - defadv = len(b.pattern) - startmatch = len(b.pattern) - 1 - endmatch = 0 - test = index + defadv - 1 - bump = 1 - } else { - defadv = -len(b.pattern) - startmatch = 0 - endmatch = -defadv - 1 - test = index + defadv - bump = -1 - } - - chMatch := b.pattern[startmatch] - - for { - if test >= endlimit || test < beglimit { - return -1 - } - - chTest = text[test] - - if b.caseInsensitive { - chTest = unicode.ToLower(chTest) - } - - if chTest != chMatch { - if chTest < 128 { - advance = b.negativeASCII[chTest] - } else if chTest < 0xffff && len(b.negativeUnicode) > 0 { - unicodeLookup = b.negativeUnicode[chTest>>8] - if len(unicodeLookup) > 0 { - advance = unicodeLookup[chTest&0xFF] - } else { - advance = defadv - } - } else { - advance = defadv - } - - test += advance - } else { // if (chTest == chMatch) - test2 = test - match = startmatch - - for { - if match == endmatch { - if b.rightToLeft { - return test2 + 1 - } else { - return test2 - } - } - - match -= bump - test2 -= bump - - chTest = text[test2] - - if b.caseInsensitive { - chTest = unicode.ToLower(chTest) - } - - if chTest != b.pattern[match] { - advance = b.positive[match] - if (chTest & 0xFF80) == 0 { - test2 = (match - startmatch) + b.negativeASCII[chTest] - } else if chTest < 0xffff && len(b.negativeUnicode) > 0 { - unicodeLookup = b.negativeUnicode[chTest>>8] - if len(unicodeLookup) > 0 { - test2 = (match - startmatch) + unicodeLookup[chTest&0xFF] - } else { - test += advance - break - } - } else { - test += advance - break - } - - if b.rightToLeft { - if test2 < advance { - advance = test2 - } - } else if test2 > advance { - advance = test2 - } - - test += advance - break - } - } - } - } -} - -// When a regex is anchored, we can do a quick IsMatch test instead of a Scan -func (b *BmPrefix) IsMatch(text []rune, index, beglimit, endlimit int) bool { - if !b.rightToLeft { - if index < beglimit || endlimit-index < len(b.pattern) { - return false - } - - return b.matchPattern(text, index) - } else { - if index > endlimit || index-beglimit < len(b.pattern) { - return false - } - - return b.matchPattern(text, index-len(b.pattern)) - } -} - -func (b *BmPrefix) matchPattern(text []rune, index int) bool { - if len(text)-index < len(b.pattern) { - return false - } - - if b.caseInsensitive { - for i := 0; i < len(b.pattern); i++ { - //Debug.Assert(textinfo.ToLower(_pattern[i]) == _pattern[i], "pattern should be converted to lower case in constructor!"); - if unicode.ToLower(text[index+i]) != b.pattern[i] { - return false - } - } - return true - } else { - for i := 0; i < len(b.pattern); i++ { - if text[index+i] != b.pattern[i] { - return false - } - } - return true - } -} - -type AnchorLoc int16 - -// where the regex can be pegged -const ( - AnchorBeginning AnchorLoc = 0x0001 - AnchorBol = 0x0002 - AnchorStart = 0x0004 - AnchorEol = 0x0008 - AnchorEndZ = 0x0010 - AnchorEnd = 0x0020 - AnchorBoundary = 0x0040 - AnchorECMABoundary = 0x0080 -) - -func getAnchors(tree *RegexTree) AnchorLoc { - - var concatNode *regexNode - nextChild, result := 0, AnchorLoc(0) - - curNode := tree.root - - for { - switch curNode.t { - case ntConcatenate: - if len(curNode.children) > 0 { - concatNode = curNode - nextChild = 0 - } - - case ntGreedy, ntCapture: - curNode = curNode.children[0] - concatNode = nil - continue - - case ntBol, ntEol, ntBoundary, ntECMABoundary, ntBeginning, - ntStart, ntEndZ, ntEnd: - return result | anchorFromType(curNode.t) - - case ntEmpty, ntRequire, ntPrevent: - - default: - return result - } - - if concatNode == nil || nextChild >= len(concatNode.children) { - return result - } - - curNode = concatNode.children[nextChild] - nextChild++ - } -} - -func anchorFromType(t nodeType) AnchorLoc { - switch t { - case ntBol: - return AnchorBol - case ntEol: - return AnchorEol - case ntBoundary: - return AnchorBoundary - case ntECMABoundary: - return AnchorECMABoundary - case ntBeginning: - return AnchorBeginning - case ntStart: - return AnchorStart - case ntEndZ: - return AnchorEndZ - case ntEnd: - return AnchorEnd - default: - return 0 - } -} - -// anchorDescription returns a human-readable description of the anchors -func (anchors AnchorLoc) String() string { - buf := &bytes.Buffer{} - - if 0 != (anchors & AnchorBeginning) { - buf.WriteString(", Beginning") - } - if 0 != (anchors & AnchorStart) { - buf.WriteString(", Start") - } - if 0 != (anchors & AnchorBol) { - buf.WriteString(", Bol") - } - if 0 != (anchors & AnchorBoundary) { - buf.WriteString(", Boundary") - } - if 0 != (anchors & AnchorECMABoundary) { - buf.WriteString(", ECMABoundary") - } - if 0 != (anchors & AnchorEol) { - buf.WriteString(", Eol") - } - if 0 != (anchors & AnchorEnd) { - buf.WriteString(", End") - } - if 0 != (anchors & AnchorEndZ) { - buf.WriteString(", EndZ") - } - - // trim off comma - if buf.Len() >= 2 { - return buf.String()[2:] - } - return "None" -} diff --git a/vendor/github.com/dlclark/regexp2/syntax/replacerdata.go b/vendor/github.com/dlclark/regexp2/syntax/replacerdata.go deleted file mode 100644 index bcf4d3f2..00000000 --- a/vendor/github.com/dlclark/regexp2/syntax/replacerdata.go +++ /dev/null @@ -1,87 +0,0 @@ -package syntax - -import ( - "bytes" - "errors" -) - -type ReplacerData struct { - Rep string - Strings []string - Rules []int -} - -const ( - replaceSpecials = 4 - replaceLeftPortion = -1 - replaceRightPortion = -2 - replaceLastGroup = -3 - replaceWholeString = -4 -) - -//ErrReplacementError is a general error during parsing the replacement text -var ErrReplacementError = errors.New("Replacement pattern error.") - -// NewReplacerData will populate a reusable replacer data struct based on the given replacement string -// and the capture group data from a regexp -func NewReplacerData(rep string, caps map[int]int, capsize int, capnames map[string]int, op RegexOptions) (*ReplacerData, error) { - p := parser{ - options: op, - caps: caps, - capsize: capsize, - capnames: capnames, - } - p.setPattern(rep) - concat, err := p.scanReplacement() - if err != nil { - return nil, err - } - - if concat.t != ntConcatenate { - panic(ErrReplacementError) - } - - sb := &bytes.Buffer{} - var ( - strings []string - rules []int - ) - - for _, child := range concat.children { - switch child.t { - case ntMulti: - child.writeStrToBuf(sb) - - case ntOne: - sb.WriteRune(child.ch) - - case ntRef: - if sb.Len() > 0 { - rules = append(rules, len(strings)) - strings = append(strings, sb.String()) - sb.Reset() - } - slot := child.m - - if len(caps) > 0 && slot >= 0 { - slot = caps[slot] - } - - rules = append(rules, -replaceSpecials-1-slot) - - default: - panic(ErrReplacementError) - } - } - - if sb.Len() > 0 { - rules = append(rules, len(strings)) - strings = append(strings, sb.String()) - } - - return &ReplacerData{ - Rep: rep, - Strings: strings, - Rules: rules, - }, nil -} diff --git a/vendor/github.com/dlclark/regexp2/syntax/tree.go b/vendor/github.com/dlclark/regexp2/syntax/tree.go deleted file mode 100644 index ea288293..00000000 --- a/vendor/github.com/dlclark/regexp2/syntax/tree.go +++ /dev/null @@ -1,654 +0,0 @@ -package syntax - -import ( - "bytes" - "fmt" - "math" - "strconv" -) - -type RegexTree struct { - root *regexNode - caps map[int]int - capnumlist []int - captop int - Capnames map[string]int - Caplist []string - options RegexOptions -} - -// It is built into a parsed tree for a regular expression. - -// Implementation notes: -// -// Since the node tree is a temporary data structure only used -// during compilation of the regexp to integer codes, it's -// designed for clarity and convenience rather than -// space efficiency. -// -// RegexNodes are built into a tree, linked by the n.children list. -// Each node also has a n.parent and n.ichild member indicating -// its parent and which child # it is in its parent's list. -// -// RegexNodes come in as many types as there are constructs in -// a regular expression, for example, "concatenate", "alternate", -// "one", "rept", "group". There are also node types for basic -// peephole optimizations, e.g., "onerep", "notsetrep", etc. -// -// Because perl 5 allows "lookback" groups that scan backwards, -// each node also gets a "direction". Normally the value of -// boolean n.backward = false. -// -// During parsing, top-level nodes are also stacked onto a parse -// stack (a stack of trees). For this purpose we have a n.next -// pointer. [Note that to save a few bytes, we could overload the -// n.parent pointer instead.] -// -// On the parse stack, each tree has a "role" - basically, the -// nonterminal in the grammar that the parser has currently -// assigned to the tree. That code is stored in n.role. -// -// Finally, some of the different kinds of nodes have data. -// Two integers (for the looping constructs) are stored in -// n.operands, an an object (either a string or a set) -// is stored in n.data -type regexNode struct { - t nodeType - children []*regexNode - str []rune - set *CharSet - ch rune - m int - n int - options RegexOptions - next *regexNode -} - -type nodeType int32 - -const ( - // The following are leaves, and correspond to primitive operations - - ntOnerep nodeType = 0 // lef,back char,min,max a {n} - ntNotonerep = 1 // lef,back char,min,max .{n} - ntSetrep = 2 // lef,back set,min,max [\d]{n} - ntOneloop = 3 // lef,back char,min,max a {,n} - ntNotoneloop = 4 // lef,back char,min,max .{,n} - ntSetloop = 5 // lef,back set,min,max [\d]{,n} - ntOnelazy = 6 // lef,back char,min,max a {,n}? - ntNotonelazy = 7 // lef,back char,min,max .{,n}? - ntSetlazy = 8 // lef,back set,min,max [\d]{,n}? - ntOne = 9 // lef char a - ntNotone = 10 // lef char [^a] - ntSet = 11 // lef set [a-z\s] \w \s \d - ntMulti = 12 // lef string abcd - ntRef = 13 // lef group \# - ntBol = 14 // ^ - ntEol = 15 // $ - ntBoundary = 16 // \b - ntNonboundary = 17 // \B - ntBeginning = 18 // \A - ntStart = 19 // \G - ntEndZ = 20 // \Z - ntEnd = 21 // \Z - - // Interior nodes do not correspond to primitive operations, but - // control structures compositing other operations - - // Concat and alternate take n children, and can run forward or backwards - - ntNothing = 22 // [] - ntEmpty = 23 // () - ntAlternate = 24 // a|b - ntConcatenate = 25 // ab - ntLoop = 26 // m,x * + ? {,} - ntLazyloop = 27 // m,x *? +? ?? {,}? - ntCapture = 28 // n () - ntGroup = 29 // (?:) - ntRequire = 30 // (?=) (?<=) - ntPrevent = 31 // (?!) (?) (?<) - ntTestref = 33 // (?(n) | ) - ntTestgroup = 34 // (?(...) | ) - - ntECMABoundary = 41 // \b - ntNonECMABoundary = 42 // \B -) - -func newRegexNode(t nodeType, opt RegexOptions) *regexNode { - return ®exNode{ - t: t, - options: opt, - } -} - -func newRegexNodeCh(t nodeType, opt RegexOptions, ch rune) *regexNode { - return ®exNode{ - t: t, - options: opt, - ch: ch, - } -} - -func newRegexNodeStr(t nodeType, opt RegexOptions, str []rune) *regexNode { - return ®exNode{ - t: t, - options: opt, - str: str, - } -} - -func newRegexNodeSet(t nodeType, opt RegexOptions, set *CharSet) *regexNode { - return ®exNode{ - t: t, - options: opt, - set: set, - } -} - -func newRegexNodeM(t nodeType, opt RegexOptions, m int) *regexNode { - return ®exNode{ - t: t, - options: opt, - m: m, - } -} -func newRegexNodeMN(t nodeType, opt RegexOptions, m, n int) *regexNode { - return ®exNode{ - t: t, - options: opt, - m: m, - n: n, - } -} - -func (n *regexNode) writeStrToBuf(buf *bytes.Buffer) { - for i := 0; i < len(n.str); i++ { - buf.WriteRune(n.str[i]) - } -} - -func (n *regexNode) addChild(child *regexNode) { - reduced := child.reduce() - n.children = append(n.children, reduced) - reduced.next = n -} - -func (n *regexNode) insertChildren(afterIndex int, nodes []*regexNode) { - newChildren := make([]*regexNode, 0, len(n.children)+len(nodes)) - n.children = append(append(append(newChildren, n.children[:afterIndex]...), nodes...), n.children[afterIndex:]...) -} - -// removes children including the start but not the end index -func (n *regexNode) removeChildren(startIndex, endIndex int) { - n.children = append(n.children[:startIndex], n.children[endIndex:]...) -} - -// Pass type as OneLazy or OneLoop -func (n *regexNode) makeRep(t nodeType, min, max int) { - n.t += (t - ntOne) - n.m = min - n.n = max -} - -func (n *regexNode) reduce() *regexNode { - switch n.t { - case ntAlternate: - return n.reduceAlternation() - - case ntConcatenate: - return n.reduceConcatenation() - - case ntLoop, ntLazyloop: - return n.reduceRep() - - case ntGroup: - return n.reduceGroup() - - case ntSet, ntSetloop: - return n.reduceSet() - - default: - return n - } -} - -// Basic optimization. Single-letter alternations can be replaced -// by faster set specifications, and nested alternations with no -// intervening operators can be flattened: -// -// a|b|c|def|g|h -> [a-c]|def|[gh] -// apple|(?:orange|pear)|grape -> apple|orange|pear|grape -func (n *regexNode) reduceAlternation() *regexNode { - if len(n.children) == 0 { - return newRegexNode(ntNothing, n.options) - } - - wasLastSet := false - lastNodeCannotMerge := false - var optionsLast RegexOptions - var i, j int - - for i, j = 0, 0; i < len(n.children); i, j = i+1, j+1 { - at := n.children[i] - - if j < i { - n.children[j] = at - } - - for { - if at.t == ntAlternate { - for k := 0; k < len(at.children); k++ { - at.children[k].next = n - } - n.insertChildren(i+1, at.children) - - j-- - } else if at.t == ntSet || at.t == ntOne { - // Cannot merge sets if L or I options differ, or if either are negated. - optionsAt := at.options & (RightToLeft | IgnoreCase) - - if at.t == ntSet { - if !wasLastSet || optionsLast != optionsAt || lastNodeCannotMerge || !at.set.IsMergeable() { - wasLastSet = true - lastNodeCannotMerge = !at.set.IsMergeable() - optionsLast = optionsAt - break - } - } else if !wasLastSet || optionsLast != optionsAt || lastNodeCannotMerge { - wasLastSet = true - lastNodeCannotMerge = false - optionsLast = optionsAt - break - } - - // The last node was a Set or a One, we're a Set or One and our options are the same. - // Merge the two nodes. - j-- - prev := n.children[j] - - var prevCharClass *CharSet - if prev.t == ntOne { - prevCharClass = &CharSet{} - prevCharClass.addChar(prev.ch) - } else { - prevCharClass = prev.set - } - - if at.t == ntOne { - prevCharClass.addChar(at.ch) - } else { - prevCharClass.addSet(*at.set) - } - - prev.t = ntSet - prev.set = prevCharClass - } else if at.t == ntNothing { - j-- - } else { - wasLastSet = false - lastNodeCannotMerge = false - } - break - } - } - - if j < i { - n.removeChildren(j, i) - } - - return n.stripEnation(ntNothing) -} - -// Basic optimization. Adjacent strings can be concatenated. -// -// (?:abc)(?:def) -> abcdef -func (n *regexNode) reduceConcatenation() *regexNode { - // Eliminate empties and concat adjacent strings/chars - - var optionsLast RegexOptions - var optionsAt RegexOptions - var i, j int - - if len(n.children) == 0 { - return newRegexNode(ntEmpty, n.options) - } - - wasLastString := false - - for i, j = 0, 0; i < len(n.children); i, j = i+1, j+1 { - var at, prev *regexNode - - at = n.children[i] - - if j < i { - n.children[j] = at - } - - if at.t == ntConcatenate && - ((at.options & RightToLeft) == (n.options & RightToLeft)) { - for k := 0; k < len(at.children); k++ { - at.children[k].next = n - } - - //insert at.children at i+1 index in n.children - n.insertChildren(i+1, at.children) - - j-- - } else if at.t == ntMulti || at.t == ntOne { - // Cannot merge strings if L or I options differ - optionsAt = at.options & (RightToLeft | IgnoreCase) - - if !wasLastString || optionsLast != optionsAt { - wasLastString = true - optionsLast = optionsAt - continue - } - - j-- - prev = n.children[j] - - if prev.t == ntOne { - prev.t = ntMulti - prev.str = []rune{prev.ch} - } - - if (optionsAt & RightToLeft) == 0 { - if at.t == ntOne { - prev.str = append(prev.str, at.ch) - } else { - prev.str = append(prev.str, at.str...) - } - } else { - if at.t == ntOne { - // insert at the front by expanding our slice, copying the data over, and then setting the value - prev.str = append(prev.str, 0) - copy(prev.str[1:], prev.str) - prev.str[0] = at.ch - } else { - //insert at the front...this one we'll make a new slice and copy both into it - merge := make([]rune, len(prev.str)+len(at.str)) - copy(merge, at.str) - copy(merge[len(at.str):], prev.str) - prev.str = merge - } - } - } else if at.t == ntEmpty { - j-- - } else { - wasLastString = false - } - } - - if j < i { - // remove indices j through i from the children - n.removeChildren(j, i) - } - - return n.stripEnation(ntEmpty) -} - -// Nested repeaters just get multiplied with each other if they're not -// too lumpy -func (n *regexNode) reduceRep() *regexNode { - - u := n - t := n.t - min := n.m - max := n.n - - for { - if len(u.children) == 0 { - break - } - - child := u.children[0] - - // multiply reps of the same type only - if child.t != t { - childType := child.t - - if !(childType >= ntOneloop && childType <= ntSetloop && t == ntLoop || - childType >= ntOnelazy && childType <= ntSetlazy && t == ntLazyloop) { - break - } - } - - // child can be too lumpy to blur, e.g., (a {100,105}) {3} or (a {2,})? - // [but things like (a {2,})+ are not too lumpy...] - if u.m == 0 && child.m > 1 || child.n < child.m*2 { - break - } - - u = child - if u.m > 0 { - if (math.MaxInt32-1)/u.m < min { - u.m = math.MaxInt32 - } else { - u.m = u.m * min - } - } - if u.n > 0 { - if (math.MaxInt32-1)/u.n < max { - u.n = math.MaxInt32 - } else { - u.n = u.n * max - } - } - } - - if math.MaxInt32 == min { - return newRegexNode(ntNothing, n.options) - } - return u - -} - -// Simple optimization. If a concatenation or alternation has only -// one child strip out the intermediate node. If it has zero children, -// turn it into an empty. -func (n *regexNode) stripEnation(emptyType nodeType) *regexNode { - switch len(n.children) { - case 0: - return newRegexNode(emptyType, n.options) - case 1: - return n.children[0] - default: - return n - } -} - -func (n *regexNode) reduceGroup() *regexNode { - u := n - - for u.t == ntGroup { - u = u.children[0] - } - - return u -} - -// Simple optimization. If a set is a singleton, an inverse singleton, -// or empty, it's transformed accordingly. -func (n *regexNode) reduceSet() *regexNode { - // Extract empty-set, one and not-one case as special - - if n.set == nil { - n.t = ntNothing - } else if n.set.IsSingleton() { - n.ch = n.set.SingletonChar() - n.set = nil - n.t += (ntOne - ntSet) - } else if n.set.IsSingletonInverse() { - n.ch = n.set.SingletonChar() - n.set = nil - n.t += (ntNotone - ntSet) - } - - return n -} - -func (n *regexNode) reverseLeft() *regexNode { - if n.options&RightToLeft != 0 && n.t == ntConcatenate && len(n.children) > 0 { - //reverse children order - for left, right := 0, len(n.children)-1; left < right; left, right = left+1, right-1 { - n.children[left], n.children[right] = n.children[right], n.children[left] - } - } - - return n -} - -func (n *regexNode) makeQuantifier(lazy bool, min, max int) *regexNode { - if min == 0 && max == 0 { - return newRegexNode(ntEmpty, n.options) - } - - if min == 1 && max == 1 { - return n - } - - switch n.t { - case ntOne, ntNotone, ntSet: - if lazy { - n.makeRep(Onelazy, min, max) - } else { - n.makeRep(Oneloop, min, max) - } - return n - - default: - var t nodeType - if lazy { - t = ntLazyloop - } else { - t = ntLoop - } - result := newRegexNodeMN(t, n.options, min, max) - result.addChild(n) - return result - } -} - -// debug functions - -var typeStr = []string{ - "Onerep", "Notonerep", "Setrep", - "Oneloop", "Notoneloop", "Setloop", - "Onelazy", "Notonelazy", "Setlazy", - "One", "Notone", "Set", - "Multi", "Ref", - "Bol", "Eol", "Boundary", "Nonboundary", - "Beginning", "Start", "EndZ", "End", - "Nothing", "Empty", - "Alternate", "Concatenate", - "Loop", "Lazyloop", - "Capture", "Group", "Require", "Prevent", "Greedy", - "Testref", "Testgroup", - "Unknown", "Unknown", "Unknown", - "Unknown", "Unknown", "Unknown", - "ECMABoundary", "NonECMABoundary", -} - -func (n *regexNode) description() string { - buf := &bytes.Buffer{} - - buf.WriteString(typeStr[n.t]) - - if (n.options & ExplicitCapture) != 0 { - buf.WriteString("-C") - } - if (n.options & IgnoreCase) != 0 { - buf.WriteString("-I") - } - if (n.options & RightToLeft) != 0 { - buf.WriteString("-L") - } - if (n.options & Multiline) != 0 { - buf.WriteString("-M") - } - if (n.options & Singleline) != 0 { - buf.WriteString("-S") - } - if (n.options & IgnorePatternWhitespace) != 0 { - buf.WriteString("-X") - } - if (n.options & ECMAScript) != 0 { - buf.WriteString("-E") - } - - switch n.t { - case ntOneloop, ntNotoneloop, ntOnelazy, ntNotonelazy, ntOne, ntNotone: - buf.WriteString("(Ch = " + CharDescription(n.ch) + ")") - break - case ntCapture: - buf.WriteString("(index = " + strconv.Itoa(n.m) + ", unindex = " + strconv.Itoa(n.n) + ")") - break - case ntRef, ntTestref: - buf.WriteString("(index = " + strconv.Itoa(n.m) + ")") - break - case ntMulti: - fmt.Fprintf(buf, "(String = %s)", string(n.str)) - break - case ntSet, ntSetloop, ntSetlazy: - buf.WriteString("(Set = " + n.set.String() + ")") - break - } - - switch n.t { - case ntOneloop, ntNotoneloop, ntOnelazy, ntNotonelazy, ntSetloop, ntSetlazy, ntLoop, ntLazyloop: - buf.WriteString("(Min = ") - buf.WriteString(strconv.Itoa(n.m)) - buf.WriteString(", Max = ") - if n.n == math.MaxInt32 { - buf.WriteString("inf") - } else { - buf.WriteString(strconv.Itoa(n.n)) - } - buf.WriteString(")") - - break - } - - return buf.String() -} - -var padSpace = []byte(" ") - -func (t *RegexTree) Dump() string { - return t.root.dump() -} - -func (n *regexNode) dump() string { - var stack []int - CurNode := n - CurChild := 0 - - buf := bytes.NewBufferString(CurNode.description()) - buf.WriteRune('\n') - - for { - if CurNode.children != nil && CurChild < len(CurNode.children) { - stack = append(stack, CurChild+1) - CurNode = CurNode.children[CurChild] - CurChild = 0 - - Depth := len(stack) - if Depth > 32 { - Depth = 32 - } - buf.Write(padSpace[:Depth]) - buf.WriteString(CurNode.description()) - buf.WriteRune('\n') - } else { - if len(stack) == 0 { - break - } - - CurChild = stack[len(stack)-1] - stack = stack[:len(stack)-1] - CurNode = CurNode.next - } - } - return buf.String() -} diff --git a/vendor/github.com/dlclark/regexp2/syntax/writer.go b/vendor/github.com/dlclark/regexp2/syntax/writer.go deleted file mode 100644 index a5aa11ca..00000000 --- a/vendor/github.com/dlclark/regexp2/syntax/writer.go +++ /dev/null @@ -1,500 +0,0 @@ -package syntax - -import ( - "bytes" - "fmt" - "math" - "os" -) - -func Write(tree *RegexTree) (*Code, error) { - w := writer{ - intStack: make([]int, 0, 32), - emitted: make([]int, 2), - stringhash: make(map[string]int), - sethash: make(map[string]int), - } - - code, err := w.codeFromTree(tree) - - if tree.options&Debug > 0 && code != nil { - os.Stdout.WriteString(code.Dump()) - os.Stdout.WriteString("\n") - } - - return code, err -} - -type writer struct { - emitted []int - - intStack []int - curpos int - stringhash map[string]int - stringtable [][]rune - sethash map[string]int - settable []*CharSet - counting bool - count int - trackcount int - caps map[int]int -} - -const ( - beforeChild nodeType = 64 - afterChild = 128 - //MaxPrefixSize is the largest number of runes we'll use for a BoyerMoyer prefix - MaxPrefixSize = 50 -) - -// The top level RegexCode generator. It does a depth-first walk -// through the tree and calls EmitFragment to emits code before -// and after each child of an interior node, and at each leaf. -// -// It runs two passes, first to count the size of the generated -// code, and second to generate the code. -// -// We should time it against the alternative, which is -// to just generate the code and grow the array as we go. -func (w *writer) codeFromTree(tree *RegexTree) (*Code, error) { - var ( - curNode *regexNode - curChild int - capsize int - ) - // construct sparse capnum mapping if some numbers are unused - - if tree.capnumlist == nil || tree.captop == len(tree.capnumlist) { - capsize = tree.captop - w.caps = nil - } else { - capsize = len(tree.capnumlist) - w.caps = tree.caps - for i := 0; i < len(tree.capnumlist); i++ { - w.caps[tree.capnumlist[i]] = i - } - } - - w.counting = true - - for { - if !w.counting { - w.emitted = make([]int, w.count) - } - - curNode = tree.root - curChild = 0 - - w.emit1(Lazybranch, 0) - - for { - if len(curNode.children) == 0 { - w.emitFragment(curNode.t, curNode, 0) - } else if curChild < len(curNode.children) { - w.emitFragment(curNode.t|beforeChild, curNode, curChild) - - curNode = curNode.children[curChild] - - w.pushInt(curChild) - curChild = 0 - continue - } - - if w.emptyStack() { - break - } - - curChild = w.popInt() - curNode = curNode.next - - w.emitFragment(curNode.t|afterChild, curNode, curChild) - curChild++ - } - - w.patchJump(0, w.curPos()) - w.emit(Stop) - - if !w.counting { - break - } - - w.counting = false - } - - fcPrefix := getFirstCharsPrefix(tree) - prefix := getPrefix(tree) - rtl := (tree.options & RightToLeft) != 0 - - var bmPrefix *BmPrefix - //TODO: benchmark string prefixes - if prefix != nil && len(prefix.PrefixStr) > 0 && MaxPrefixSize > 0 { - if len(prefix.PrefixStr) > MaxPrefixSize { - // limit prefix changes to 10k - prefix.PrefixStr = prefix.PrefixStr[:MaxPrefixSize] - } - bmPrefix = newBmPrefix(prefix.PrefixStr, prefix.CaseInsensitive, rtl) - } else { - bmPrefix = nil - } - - return &Code{ - Codes: w.emitted, - Strings: w.stringtable, - Sets: w.settable, - TrackCount: w.trackcount, - Caps: w.caps, - Capsize: capsize, - FcPrefix: fcPrefix, - BmPrefix: bmPrefix, - Anchors: getAnchors(tree), - RightToLeft: rtl, - }, nil -} - -// The main RegexCode generator. It does a depth-first walk -// through the tree and calls EmitFragment to emits code before -// and after each child of an interior node, and at each leaf. -func (w *writer) emitFragment(nodetype nodeType, node *regexNode, curIndex int) error { - bits := InstOp(0) - - if nodetype <= ntRef { - if (node.options & RightToLeft) != 0 { - bits |= Rtl - } - if (node.options & IgnoreCase) != 0 { - bits |= Ci - } - } - ntBits := nodeType(bits) - - switch nodetype { - case ntConcatenate | beforeChild, ntConcatenate | afterChild, ntEmpty: - break - - case ntAlternate | beforeChild: - if curIndex < len(node.children)-1 { - w.pushInt(w.curPos()) - w.emit1(Lazybranch, 0) - } - - case ntAlternate | afterChild: - if curIndex < len(node.children)-1 { - lbPos := w.popInt() - w.pushInt(w.curPos()) - w.emit1(Goto, 0) - w.patchJump(lbPos, w.curPos()) - } else { - for i := 0; i < curIndex; i++ { - w.patchJump(w.popInt(), w.curPos()) - } - } - break - - case ntTestref | beforeChild: - if curIndex == 0 { - w.emit(Setjump) - w.pushInt(w.curPos()) - w.emit1(Lazybranch, 0) - w.emit1(Testref, w.mapCapnum(node.m)) - w.emit(Forejump) - } - - case ntTestref | afterChild: - if curIndex == 0 { - branchpos := w.popInt() - w.pushInt(w.curPos()) - w.emit1(Goto, 0) - w.patchJump(branchpos, w.curPos()) - w.emit(Forejump) - if len(node.children) <= 1 { - w.patchJump(w.popInt(), w.curPos()) - } - } else if curIndex == 1 { - w.patchJump(w.popInt(), w.curPos()) - } - - case ntTestgroup | beforeChild: - if curIndex == 0 { - w.emit(Setjump) - w.emit(Setmark) - w.pushInt(w.curPos()) - w.emit1(Lazybranch, 0) - } - - case ntTestgroup | afterChild: - if curIndex == 0 { - w.emit(Getmark) - w.emit(Forejump) - } else if curIndex == 1 { - Branchpos := w.popInt() - w.pushInt(w.curPos()) - w.emit1(Goto, 0) - w.patchJump(Branchpos, w.curPos()) - w.emit(Getmark) - w.emit(Forejump) - if len(node.children) <= 2 { - w.patchJump(w.popInt(), w.curPos()) - } - } else if curIndex == 2 { - w.patchJump(w.popInt(), w.curPos()) - } - - case ntLoop | beforeChild, ntLazyloop | beforeChild: - - if node.n < math.MaxInt32 || node.m > 1 { - if node.m == 0 { - w.emit1(Nullcount, 0) - } else { - w.emit1(Setcount, 1-node.m) - } - } else if node.m == 0 { - w.emit(Nullmark) - } else { - w.emit(Setmark) - } - - if node.m == 0 { - w.pushInt(w.curPos()) - w.emit1(Goto, 0) - } - w.pushInt(w.curPos()) - - case ntLoop | afterChild, ntLazyloop | afterChild: - - startJumpPos := w.curPos() - lazy := (nodetype - (ntLoop | afterChild)) - - if node.n < math.MaxInt32 || node.m > 1 { - if node.n == math.MaxInt32 { - w.emit2(InstOp(Branchcount+lazy), w.popInt(), math.MaxInt32) - } else { - w.emit2(InstOp(Branchcount+lazy), w.popInt(), node.n-node.m) - } - } else { - w.emit1(InstOp(Branchmark+lazy), w.popInt()) - } - - if node.m == 0 { - w.patchJump(w.popInt(), startJumpPos) - } - - case ntGroup | beforeChild, ntGroup | afterChild: - - case ntCapture | beforeChild: - w.emit(Setmark) - - case ntCapture | afterChild: - w.emit2(Capturemark, w.mapCapnum(node.m), w.mapCapnum(node.n)) - - case ntRequire | beforeChild: - // NOTE: the following line causes lookahead/lookbehind to be - // NON-BACKTRACKING. It can be commented out with (*) - w.emit(Setjump) - - w.emit(Setmark) - - case ntRequire | afterChild: - w.emit(Getmark) - - // NOTE: the following line causes lookahead/lookbehind to be - // NON-BACKTRACKING. It can be commented out with (*) - w.emit(Forejump) - - case ntPrevent | beforeChild: - w.emit(Setjump) - w.pushInt(w.curPos()) - w.emit1(Lazybranch, 0) - - case ntPrevent | afterChild: - w.emit(Backjump) - w.patchJump(w.popInt(), w.curPos()) - w.emit(Forejump) - - case ntGreedy | beforeChild: - w.emit(Setjump) - - case ntGreedy | afterChild: - w.emit(Forejump) - - case ntOne, ntNotone: - w.emit1(InstOp(node.t|ntBits), int(node.ch)) - - case ntNotoneloop, ntNotonelazy, ntOneloop, ntOnelazy: - if node.m > 0 { - if node.t == ntOneloop || node.t == ntOnelazy { - w.emit2(Onerep|bits, int(node.ch), node.m) - } else { - w.emit2(Notonerep|bits, int(node.ch), node.m) - } - } - if node.n > node.m { - if node.n == math.MaxInt32 { - w.emit2(InstOp(node.t|ntBits), int(node.ch), math.MaxInt32) - } else { - w.emit2(InstOp(node.t|ntBits), int(node.ch), node.n-node.m) - } - } - - case ntSetloop, ntSetlazy: - if node.m > 0 { - w.emit2(Setrep|bits, w.setCode(node.set), node.m) - } - if node.n > node.m { - if node.n == math.MaxInt32 { - w.emit2(InstOp(node.t|ntBits), w.setCode(node.set), math.MaxInt32) - } else { - w.emit2(InstOp(node.t|ntBits), w.setCode(node.set), node.n-node.m) - } - } - - case ntMulti: - w.emit1(InstOp(node.t|ntBits), w.stringCode(node.str)) - - case ntSet: - w.emit1(InstOp(node.t|ntBits), w.setCode(node.set)) - - case ntRef: - w.emit1(InstOp(node.t|ntBits), w.mapCapnum(node.m)) - - case ntNothing, ntBol, ntEol, ntBoundary, ntNonboundary, ntECMABoundary, ntNonECMABoundary, ntBeginning, ntStart, ntEndZ, ntEnd: - w.emit(InstOp(node.t)) - - default: - return fmt.Errorf("unexpected opcode in regular expression generation: %v", nodetype) - } - - return nil -} - -// To avoid recursion, we use a simple integer stack. -// This is the push. -func (w *writer) pushInt(i int) { - w.intStack = append(w.intStack, i) -} - -// Returns true if the stack is empty. -func (w *writer) emptyStack() bool { - return len(w.intStack) == 0 -} - -// This is the pop. -func (w *writer) popInt() int { - //get our item - idx := len(w.intStack) - 1 - i := w.intStack[idx] - //trim our slice - w.intStack = w.intStack[:idx] - return i -} - -// Returns the current position in the emitted code. -func (w *writer) curPos() int { - return w.curpos -} - -// Fixes up a jump instruction at the specified offset -// so that it jumps to the specified jumpDest. -func (w *writer) patchJump(offset, jumpDest int) { - w.emitted[offset+1] = jumpDest -} - -// Returns an index in the set table for a charset -// uses a map to eliminate duplicates. -func (w *writer) setCode(set *CharSet) int { - if w.counting { - return 0 - } - - buf := &bytes.Buffer{} - - set.mapHashFill(buf) - hash := buf.String() - i, ok := w.sethash[hash] - if !ok { - i = len(w.sethash) - w.sethash[hash] = i - w.settable = append(w.settable, set) - } - return i -} - -// Returns an index in the string table for a string. -// uses a map to eliminate duplicates. -func (w *writer) stringCode(str []rune) int { - if w.counting { - return 0 - } - - hash := string(str) - i, ok := w.stringhash[hash] - if !ok { - i = len(w.stringhash) - w.stringhash[hash] = i - w.stringtable = append(w.stringtable, str) - } - - return i -} - -// When generating code on a regex that uses a sparse set -// of capture slots, we hash them to a dense set of indices -// for an array of capture slots. Instead of doing the hash -// at match time, it's done at compile time, here. -func (w *writer) mapCapnum(capnum int) int { - if capnum == -1 { - return -1 - } - - if w.caps != nil { - return w.caps[capnum] - } - - return capnum -} - -// Emits a zero-argument operation. Note that the emit -// functions all run in two modes: they can emit code, or -// they can just count the size of the code. -func (w *writer) emit(op InstOp) { - if w.counting { - w.count++ - if opcodeBacktracks(op) { - w.trackcount++ - } - return - } - w.emitted[w.curpos] = int(op) - w.curpos++ -} - -// Emits a one-argument operation. -func (w *writer) emit1(op InstOp, opd1 int) { - if w.counting { - w.count += 2 - if opcodeBacktracks(op) { - w.trackcount++ - } - return - } - w.emitted[w.curpos] = int(op) - w.curpos++ - w.emitted[w.curpos] = opd1 - w.curpos++ -} - -// Emits a two-argument operation. -func (w *writer) emit2(op InstOp, opd1, opd2 int) { - if w.counting { - w.count += 3 - if opcodeBacktracks(op) { - w.trackcount++ - } - return - } - w.emitted[w.curpos] = int(op) - w.curpos++ - w.emitted[w.curpos] = opd1 - w.curpos++ - w.emitted[w.curpos] = opd2 - w.curpos++ -} diff --git a/vendor/github.com/dlclark/regexp2/testoutput1 b/vendor/github.com/dlclark/regexp2/testoutput1 deleted file mode 100644 index fbf63fdf..00000000 --- a/vendor/github.com/dlclark/regexp2/testoutput1 +++ /dev/null @@ -1,7061 +0,0 @@ -# This set of tests is for features that are compatible with all versions of -# Perl >= 5.10, in non-UTF mode. It should run clean for the 8-bit, 16-bit, and -# 32-bit PCRE libraries, and also using the perltest.pl script. - -#forbid_utf -#newline_default lf any anycrlf -#perltest - -/the quick brown fox/ - the quick brown fox - 0: the quick brown fox - What do you know about the quick brown fox? - 0: the quick brown fox -\= Expect no match - The quick brown FOX -No match - What do you know about THE QUICK BROWN FOX? -No match - -/The quick brown fox/i - the quick brown fox - 0: the quick brown fox - The quick brown FOX - 0: The quick brown FOX - What do you know about the quick brown fox? - 0: the quick brown fox - What do you know about THE QUICK BROWN FOX? - 0: THE QUICK BROWN FOX - -/abcd\t\n\r\f\a\e\071\x3b\$\\\?caxyz/ - abcd\t\n\r\f\a\e9;\$\\?caxyz - 0: abcd\x09\x0a\x0d\x0c\x07\x1b9;$\?caxyz - -/a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz/ - abxyzpqrrrabbxyyyypqAzz - 0: abxyzpqrrrabbxyyyypqAzz - abxyzpqrrrabbxyyyypqAzz - 0: abxyzpqrrrabbxyyyypqAzz - aabxyzpqrrrabbxyyyypqAzz - 0: aabxyzpqrrrabbxyyyypqAzz - aaabxyzpqrrrabbxyyyypqAzz - 0: aaabxyzpqrrrabbxyyyypqAzz - aaaabxyzpqrrrabbxyyyypqAzz - 0: aaaabxyzpqrrrabbxyyyypqAzz - abcxyzpqrrrabbxyyyypqAzz - 0: abcxyzpqrrrabbxyyyypqAzz - aabcxyzpqrrrabbxyyyypqAzz - 0: aabcxyzpqrrrabbxyyyypqAzz - aaabcxyzpqrrrabbxyyyypAzz - 0: aaabcxyzpqrrrabbxyyyypAzz - aaabcxyzpqrrrabbxyyyypqAzz - 0: aaabcxyzpqrrrabbxyyyypqAzz - aaabcxyzpqrrrabbxyyyypqqAzz - 0: aaabcxyzpqrrrabbxyyyypqqAzz - aaabcxyzpqrrrabbxyyyypqqqAzz - 0: aaabcxyzpqrrrabbxyyyypqqqAzz - aaabcxyzpqrrrabbxyyyypqqqqAzz - 0: aaabcxyzpqrrrabbxyyyypqqqqAzz - aaabcxyzpqrrrabbxyyyypqqqqqAzz - 0: aaabcxyzpqrrrabbxyyyypqqqqqAzz - aaabcxyzpqrrrabbxyyyypqqqqqqAzz - 0: aaabcxyzpqrrrabbxyyyypqqqqqqAzz - aaaabcxyzpqrrrabbxyyyypqAzz - 0: aaaabcxyzpqrrrabbxyyyypqAzz - abxyzzpqrrrabbxyyyypqAzz - 0: abxyzzpqrrrabbxyyyypqAzz - aabxyzzzpqrrrabbxyyyypqAzz - 0: aabxyzzzpqrrrabbxyyyypqAzz - aaabxyzzzzpqrrrabbxyyyypqAzz - 0: aaabxyzzzzpqrrrabbxyyyypqAzz - aaaabxyzzzzpqrrrabbxyyyypqAzz - 0: aaaabxyzzzzpqrrrabbxyyyypqAzz - abcxyzzpqrrrabbxyyyypqAzz - 0: abcxyzzpqrrrabbxyyyypqAzz - aabcxyzzzpqrrrabbxyyyypqAzz - 0: aabcxyzzzpqrrrabbxyyyypqAzz - aaabcxyzzzzpqrrrabbxyyyypqAzz - 0: aaabcxyzzzzpqrrrabbxyyyypqAzz - aaaabcxyzzzzpqrrrabbxyyyypqAzz - 0: aaaabcxyzzzzpqrrrabbxyyyypqAzz - aaaabcxyzzzzpqrrrabbbxyyyypqAzz - 0: aaaabcxyzzzzpqrrrabbbxyyyypqAzz - aaaabcxyzzzzpqrrrabbbxyyyyypqAzz - 0: aaaabcxyzzzzpqrrrabbbxyyyyypqAzz - aaabcxyzpqrrrabbxyyyypABzz - 0: aaabcxyzpqrrrabbxyyyypABzz - aaabcxyzpqrrrabbxyyyypABBzz - 0: aaabcxyzpqrrrabbxyyyypABBzz - >>>aaabxyzpqrrrabbxyyyypqAzz - 0: aaabxyzpqrrrabbxyyyypqAzz - >aaaabxyzpqrrrabbxyyyypqAzz - 0: aaaabxyzpqrrrabbxyyyypqAzz - >>>>abcxyzpqrrrabbxyyyypqAzz - 0: abcxyzpqrrrabbxyyyypqAzz -\= Expect no match - abxyzpqrrabbxyyyypqAzz -No match - abxyzpqrrrrabbxyyyypqAzz -No match - abxyzpqrrrabxyyyypqAzz -No match - aaaabcxyzzzzpqrrrabbbxyyyyyypqAzz -No match - aaaabcxyzzzzpqrrrabbbxyyypqAzz -No match - aaabcxyzpqrrrabbxyyyypqqqqqqqAzz -No match - -/^(abc){1,2}zz/ - abczz - 0: abczz - 1: abc - abcabczz - 0: abcabczz - 1: abc -\= Expect no match - zz -No match - abcabcabczz -No match - >>abczz -No match - -/^(b+?|a){1,2}?c/ - bc - 0: bc - 1: b - bbc - 0: bbc - 1: b - bbbc - 0: bbbc - 1: bb - bac - 0: bac - 1: a - bbac - 0: bbac - 1: a - aac - 0: aac - 1: a - abbbbbbbbbbbc - 0: abbbbbbbbbbbc - 1: bbbbbbbbbbb - bbbbbbbbbbbac - 0: bbbbbbbbbbbac - 1: a -\= Expect no match - aaac -No match - abbbbbbbbbbbac -No match - -/^(b+|a){1,2}c/ - bc - 0: bc - 1: b - bbc - 0: bbc - 1: bb - bbbc - 0: bbbc - 1: bbb - bac - 0: bac - 1: a - bbac - 0: bbac - 1: a - aac - 0: aac - 1: a - abbbbbbbbbbbc - 0: abbbbbbbbbbbc - 1: bbbbbbbbbbb - bbbbbbbbbbbac - 0: bbbbbbbbbbbac - 1: a -\= Expect no match - aaac -No match - abbbbbbbbbbbac -No match - -/^(b+|a){1,2}?bc/ - bbc - 0: bbc - 1: b - -/^(b*|ba){1,2}?bc/ - babc - 0: babc - 1: ba - bbabc - 0: bbabc - 1: ba - bababc - 0: bababc - 1: ba -\= Expect no match - bababbc -No match - babababc -No match - -/^(ba|b*){1,2}?bc/ - babc - 0: babc - 1: ba - bbabc - 0: bbabc - 1: ba - bababc - 0: bababc - 1: ba -\= Expect no match - bababbc -No match - babababc -No match - -#/^\ca\cA\c[;\c:/ -# \x01\x01\e;z -# 0: \x01\x01\x1b;z - -/^[ab\]cde]/ - athing - 0: a - bthing - 0: b - ]thing - 0: ] - cthing - 0: c - dthing - 0: d - ething - 0: e -\= Expect no match - fthing -No match - [thing -No match - \\thing -No match - -/^[]cde]/ - ]thing - 0: ] - cthing - 0: c - dthing - 0: d - ething - 0: e -\= Expect no match - athing -No match - fthing -No match - -/^[^ab\]cde]/ - fthing - 0: f - [thing - 0: [ - \\thing - 0: \ -\= Expect no match - athing -No match - bthing -No match - ]thing -No match - cthing -No match - dthing -No match - ething -No match - -/^[^]cde]/ - athing - 0: a - fthing - 0: f -\= Expect no match - ]thing -No match - cthing -No match - dthing -No match - ething -No match - -# DLC - I don't get this one -#/^\/ -#  -# 0: \x81 - -#updated to handle 16-bits utf8 -/^ÿ/ - ÿ - 0: \xc3\xbf - -/^[0-9]+$/ - 0 - 0: 0 - 1 - 0: 1 - 2 - 0: 2 - 3 - 0: 3 - 4 - 0: 4 - 5 - 0: 5 - 6 - 0: 6 - 7 - 0: 7 - 8 - 0: 8 - 9 - 0: 9 - 10 - 0: 10 - 100 - 0: 100 -\= Expect no match - abc -No match - -/^.*nter/ - enter - 0: enter - inter - 0: inter - uponter - 0: uponter - -/^xxx[0-9]+$/ - xxx0 - 0: xxx0 - xxx1234 - 0: xxx1234 -\= Expect no match - xxx -No match - -/^.+[0-9][0-9][0-9]$/ - x123 - 0: x123 - x1234 - 0: x1234 - xx123 - 0: xx123 - 123456 - 0: 123456 -\= Expect no match - 123 -No match - -/^.+?[0-9][0-9][0-9]$/ - x123 - 0: x123 - x1234 - 0: x1234 - xx123 - 0: xx123 - 123456 - 0: 123456 -\= Expect no match - 123 -No match - -/^([^!]+)!(.+)=apquxz\.ixr\.zzz\.ac\.uk$/ - abc!pqr=apquxz.ixr.zzz.ac.uk - 0: abc!pqr=apquxz.ixr.zzz.ac.uk - 1: abc - 2: pqr -\= Expect no match - !pqr=apquxz.ixr.zzz.ac.uk -No match - abc!=apquxz.ixr.zzz.ac.uk -No match - abc!pqr=apquxz:ixr.zzz.ac.uk -No match - abc!pqr=apquxz.ixr.zzz.ac.ukk -No match - -/:/ - Well, we need a colon: somewhere - 0: : -\= Expect no match - Fail without a colon -No match - -/([\da-f:]+)$/i - 0abc - 0: 0abc - 1: 0abc - abc - 0: abc - 1: abc - fed - 0: fed - 1: fed - E - 0: E - 1: E - :: - 0: :: - 1: :: - 5f03:12C0::932e - 0: 5f03:12C0::932e - 1: 5f03:12C0::932e - fed def - 0: def - 1: def - Any old stuff - 0: ff - 1: ff -\= Expect no match - 0zzz -No match - gzzz -No match - fed\x20 -No match - Any old rubbish -No match - -/^.*\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/ - .1.2.3 - 0: .1.2.3 - 1: 1 - 2: 2 - 3: 3 - A.12.123.0 - 0: A.12.123.0 - 1: 12 - 2: 123 - 3: 0 -\= Expect no match - .1.2.3333 -No match - 1.2.3 -No match - 1234.2.3 -No match - -/^(\d+)\s+IN\s+SOA\s+(\S+)\s+(\S+)\s*\(\s*$/ - 1 IN SOA non-sp1 non-sp2( - 0: 1 IN SOA non-sp1 non-sp2( - 1: 1 - 2: non-sp1 - 3: non-sp2 - 1 IN SOA non-sp1 non-sp2 ( - 0: 1 IN SOA non-sp1 non-sp2 ( - 1: 1 - 2: non-sp1 - 3: non-sp2 -\= Expect no match - 1IN SOA non-sp1 non-sp2( -No match - -/^[a-zA-Z\d][a-zA-Z\d\-]*(\.[a-zA-Z\d][a-zA-z\d\-]*)*\.$/ - a. - 0: a. - Z. - 0: Z. - 2. - 0: 2. - ab-c.pq-r. - 0: ab-c.pq-r. - 1: .pq-r - sxk.zzz.ac.uk. - 0: sxk.zzz.ac.uk. - 1: .uk - x-.y-. - 0: x-.y-. - 1: .y- -\= Expect no match - -abc.peq. -No match - -/^\*\.[a-z]([a-z\-\d]*[a-z\d]+)?(\.[a-z]([a-z\-\d]*[a-z\d]+)?)*$/ - *.a - 0: *.a - *.b0-a - 0: *.b0-a - 1: 0-a - *.c3-b.c - 0: *.c3-b.c - 1: 3-b - 2: .c - *.c-a.b-c - 0: *.c-a.b-c - 1: -a - 2: .b-c - 3: -c -\= Expect no match - *.0 -No match - *.a- -No match - *.a-b.c- -No match - *.c-a.0-c -No match - -/^(?=ab(de))(abd)(e)/ - abde - 0: abde - 1: de - 2: abd - 3: e - -/^(?!(ab)de|x)(abd)(f)/ - abdf - 0: abdf - 1: - 2: abd - 3: f - -/^(?=(ab(cd)))(ab)/ - abcd - 0: ab - 1: abcd - 2: cd - 3: ab - -/^[\da-f](\.[\da-f])*$/i - a.b.c.d - 0: a.b.c.d - 1: .d - A.B.C.D - 0: A.B.C.D - 1: .D - a.b.c.1.2.3.C - 0: a.b.c.1.2.3.C - 1: .C - -/^\".*\"\s*(;.*)?$/ - \"1234\" - 0: "1234" - \"abcd\" ; - 0: "abcd" ; - 1: ; - \"\" ; rhubarb - 0: "" ; rhubarb - 1: ; rhubarb -\= Expect no match - \"1234\" : things -No match - -/^$/ - \ - 0: -\= Expect no match - A non-empty line -No match - -/ ^ a (?# begins with a) b\sc (?# then b c) $ (?# then end)/x - ab c - 0: ab c -\= Expect no match - abc -No match - ab cde -No match - -/(?x) ^ a (?# begins with a) b\sc (?# then b c) $ (?# then end)/ - ab c - 0: ab c -\= Expect no match - abc -No match - ab cde -No match - -/^ a\ b[c ]d $/x - a bcd - 0: a bcd - a b d - 0: a b d -\= Expect no match - abcd -No match - ab d -No match - -/^(a(b(c)))(d(e(f)))(h(i(j)))(k(l(m)))$/ - abcdefhijklm - 0: abcdefhijklm - 1: abc - 2: bc - 3: c - 4: def - 5: ef - 6: f - 7: hij - 8: ij - 9: j -10: klm -11: lm -12: m - -/^(?:a(b(c)))(?:d(e(f)))(?:h(i(j)))(?:k(l(m)))$/ - abcdefhijklm - 0: abcdefhijklm - 1: bc - 2: c - 3: ef - 4: f - 5: ij - 6: j - 7: lm - 8: m - -#/^[\w][\W][\s][\S][\d][\D][\b][\n][\c]][\022]/ -# a+ Z0+\x08\n\x1d\x12 -# 0: a+ Z0+\x08\x0a\x1d\x12 - -/^[.^$|()*+?{,}]+/ - .^\$(*+)|{?,?} - 0: .^$(*+)|{?,?} - -/^a*\w/ - z - 0: z - az - 0: az - aaaz - 0: aaaz - a - 0: a - aa - 0: aa - aaaa - 0: aaaa - a+ - 0: a - aa+ - 0: aa - -/^a*?\w/ - z - 0: z - az - 0: a - aaaz - 0: a - a - 0: a - aa - 0: a - aaaa - 0: a - a+ - 0: a - aa+ - 0: a - -/^a+\w/ - az - 0: az - aaaz - 0: aaaz - aa - 0: aa - aaaa - 0: aaaa - aa+ - 0: aa - -/^a+?\w/ - az - 0: az - aaaz - 0: aa - aa - 0: aa - aaaa - 0: aa - aa+ - 0: aa - -/^\d{8}\w{2,}/ - 1234567890 - 0: 1234567890 - 12345678ab - 0: 12345678ab - 12345678__ - 0: 12345678__ -\= Expect no match - 1234567 -No match - -/^[aeiou\d]{4,5}$/ - uoie - 0: uoie - 1234 - 0: 1234 - 12345 - 0: 12345 - aaaaa - 0: aaaaa -\= Expect no match - 123456 -No match - -/^[aeiou\d]{4,5}?/ - uoie - 0: uoie - 1234 - 0: 1234 - 12345 - 0: 1234 - aaaaa - 0: aaaa - 123456 - 0: 1234 - -/\A(abc|def)=(\1){2,3}\Z/ - abc=abcabc - 0: abc=abcabc - 1: abc - 2: abc - def=defdefdef - 0: def=defdefdef - 1: def - 2: def -\= Expect no match - abc=defdef -No match - -/^(a)(b)(c)(d)(e)(f)(g)(h)(i)(j)(k)\11*(\3\4)\1(?#)2$/ - abcdefghijkcda2 - 0: abcdefghijkcda2 - 1: a - 2: b - 3: c - 4: d - 5: e - 6: f - 7: g - 8: h - 9: i -10: j -11: k -12: cd - abcdefghijkkkkcda2 - 0: abcdefghijkkkkcda2 - 1: a - 2: b - 3: c - 4: d - 5: e - 6: f - 7: g - 8: h - 9: i -10: j -11: k -12: cd - -/(cat(a(ract|tonic)|erpillar)) \1()2(3)/ - cataract cataract23 - 0: cataract cataract23 - 1: cataract - 2: aract - 3: ract - 4: - 5: 3 - catatonic catatonic23 - 0: catatonic catatonic23 - 1: catatonic - 2: atonic - 3: tonic - 4: - 5: 3 - caterpillar caterpillar23 - 0: caterpillar caterpillar23 - 1: caterpillar - 2: erpillar - 3: - 4: - 5: 3 - - -/^From +([^ ]+) +[a-zA-Z][a-zA-Z][a-zA-Z] +[a-zA-Z][a-zA-Z][a-zA-Z] +[0-9]?[0-9] +[0-9][0-9]:[0-9][0-9]/ - From abcd Mon Sep 01 12:33:02 1997 - 0: From abcd Mon Sep 01 12:33 - 1: abcd - -/^From\s+\S+\s+([a-zA-Z]{3}\s+){2}\d{1,2}\s+\d\d:\d\d/ - From abcd Mon Sep 01 12:33:02 1997 - 0: From abcd Mon Sep 01 12:33 - 1: Sep - From abcd Mon Sep 1 12:33:02 1997 - 0: From abcd Mon Sep 1 12:33 - 1: Sep -\= Expect no match - From abcd Sep 01 12:33:02 1997 -No match - -/^12.34/s - 12\n34 - 0: 12\x0a34 - 12\r34 - 0: 12\x0d34 - -/\w+(?=\t)/ - the quick brown\t fox - 0: brown - -/foo(?!bar)(.*)/ - foobar is foolish see? - 0: foolish see? - 1: lish see? - -/(?:(?!foo)...|^.{0,2})bar(.*)/ - foobar crowbar etc - 0: rowbar etc - 1: etc - barrel - 0: barrel - 1: rel - 2barrel - 0: 2barrel - 1: rel - A barrel - 0: A barrel - 1: rel - -/^(\D*)(?=\d)(?!123)/ - abc456 - 0: abc - 1: abc -\= Expect no match - abc123 -No match - -/^1234(?# test newlines - inside)/ - 1234 - 0: 1234 - -/^1234 #comment in extended re - /x - 1234 - 0: 1234 - -/#rhubarb - abcd/x - abcd - 0: abcd - -/^abcd#rhubarb/x - abcd - 0: abcd - -/^(a)\1{2,3}(.)/ - aaab - 0: aaab - 1: a - 2: b - aaaab - 0: aaaab - 1: a - 2: b - aaaaab - 0: aaaaa - 1: a - 2: a - aaaaaab - 0: aaaaa - 1: a - 2: a - -/(?!^)abc/ - the abc - 0: abc -\= Expect no match - abc -No match - -/(?=^)abc/ - abc - 0: abc -\= Expect no match - the abc -No match - -/^[ab]{1,3}(ab*|b)/ - aabbbbb - 0: aabb - 1: b - -/^[ab]{1,3}?(ab*|b)/ - aabbbbb - 0: aabbbbb - 1: abbbbb - -/^[ab]{1,3}?(ab*?|b)/ - aabbbbb - 0: aa - 1: a - -/^[ab]{1,3}(ab*?|b)/ - aabbbbb - 0: aabb - 1: b - -/ (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* # optional leading comment -(?: (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| -" (?: # opening quote... -[^\\\x80-\xff\n\015"] # Anything except backslash and quote -| # or -\\ [^\x80-\xff] # Escaped something (something != CR) -)* " # closing quote -) # initial word -(?: (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| -" (?: # opening quote... -[^\\\x80-\xff\n\015"] # Anything except backslash and quote -| # or -\\ [^\x80-\xff] # Escaped something (something != CR) -)* " # closing quote -) )* # further okay, if led by a period -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* @ (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # initial subdomain -(?: # -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. # if led by a period... -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # ...further okay -)* -# address -| # or -(?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| -" (?: # opening quote... -[^\\\x80-\xff\n\015"] # Anything except backslash and quote -| # or -\\ [^\x80-\xff] # Escaped something (something != CR) -)* " # closing quote -) # one word, optionally followed by.... -(?: -[^()<>@,;:".\\\[\]\x80-\xff\000-\010\012-\037] | # atom and space parts, or... -\( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) | # comments, or... - -" (?: # opening quote... -[^\\\x80-\xff\n\015"] # Anything except backslash and quote -| # or -\\ [^\x80-\xff] # Escaped something (something != CR) -)* " # closing quote -# quoted strings -)* -< (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* # leading < -(?: @ (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # initial subdomain -(?: # -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. # if led by a period... -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # ...further okay -)* - -(?: (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* , (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* @ (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # initial subdomain -(?: # -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. # if led by a period... -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # ...further okay -)* -)* # further okay, if led by comma -: # closing colon -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* )? # optional route -(?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| -" (?: # opening quote... -[^\\\x80-\xff\n\015"] # Anything except backslash and quote -| # or -\\ [^\x80-\xff] # Escaped something (something != CR) -)* " # closing quote -) # initial word -(?: (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| -" (?: # opening quote... -[^\\\x80-\xff\n\015"] # Anything except backslash and quote -| # or -\\ [^\x80-\xff] # Escaped something (something != CR) -)* " # closing quote -) )* # further okay, if led by a period -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* @ (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # initial subdomain -(?: # -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* \. # if led by a period... -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* (?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| \[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) # ...further okay -)* -# address spec -(?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* > # trailing > -# name and address -) (?: [\040\t] | \( -(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* -\) )* # optional trailing comment -/x - Alan Other - 0: Alan Other - - 0: user@dom.ain - user\@dom.ain - 0: user@dom.ain - \"A. Other\" (a comment) - 0: "A. Other" (a comment) - A. Other (a comment) - 0: Other (a comment) - \"/s=user/ou=host/o=place/prmd=uu.yy/admd= /c=gb/\"\@x400-re.lay - 0: "/s=user/ou=host/o=place/prmd=uu.yy/admd= /c=gb/"@x400-re.lay - A missing angle @,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -# Atom -| # or -" # " -[^\\\x80-\xff\n\015"] * # normal -(?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015"] * )* # ( special normal* )* -" # " -# Quoted string -) -[\040\t]* # Nab whitespace. -(?: -\( # ( -[^\\\x80-\xff\n\015()] * # normal* -(?: # ( -(?: \\ [^\x80-\xff] | -\( # ( -[^\\\x80-\xff\n\015()] * # normal* -(?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015()] * )* # (special normal*)* -\) # ) -) # special -[^\\\x80-\xff\n\015()] * # normal* -)* # )* -\) # ) -[\040\t]* )* # If comment found, allow more spaces. -(?: -\. -[\040\t]* # Nab whitespace. -(?: -\( # ( -[^\\\x80-\xff\n\015()] * # normal* -(?: # ( -(?: \\ [^\x80-\xff] | -\( # ( -[^\\\x80-\xff\n\015()] * # normal* -(?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015()] * )* # (special normal*)* -\) # ) -) # special -[^\\\x80-\xff\n\015()] * # normal* -)* # )* -\) # ) -[\040\t]* )* # If comment found, allow more spaces. -(?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -# Atom -| # or -" # " -[^\\\x80-\xff\n\015"] * # normal -(?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015"] * )* # ( special normal* )* -" # " -# Quoted string -) -[\040\t]* # Nab whitespace. -(?: -\( # ( -[^\\\x80-\xff\n\015()] * # normal* -(?: # ( -(?: \\ [^\x80-\xff] | -\( # ( -[^\\\x80-\xff\n\015()] * # normal* -(?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015()] * )* # (special normal*)* -\) # ) -) # special -[^\\\x80-\xff\n\015()] * # normal* -)* # )* -\) # ) -[\040\t]* )* # If comment found, allow more spaces. -# additional words -)* -@ -[\040\t]* # Nab whitespace. -(?: -\( # ( -[^\\\x80-\xff\n\015()] * # normal* -(?: # ( -(?: \\ [^\x80-\xff] | -\( # ( -[^\\\x80-\xff\n\015()] * # normal* -(?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015()] * )* # (special normal*)* -\) # ) -) # special -[^\\\x80-\xff\n\015()] * # normal* -)* # )* -\) # ) -[\040\t]* )* # If comment found, allow more spaces. -(?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| -\[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) -[\040\t]* # Nab whitespace. -(?: -\( # ( -[^\\\x80-\xff\n\015()] * # normal* -(?: # ( -(?: \\ [^\x80-\xff] | -\( # ( -[^\\\x80-\xff\n\015()] * # normal* -(?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015()] * )* # (special normal*)* -\) # ) -) # special -[^\\\x80-\xff\n\015()] * # normal* -)* # )* -\) # ) -[\040\t]* )* # If comment found, allow more spaces. -# optional trailing comments -(?: -\. -[\040\t]* # Nab whitespace. -(?: -\( # ( -[^\\\x80-\xff\n\015()] * # normal* -(?: # ( -(?: \\ [^\x80-\xff] | -\( # ( -[^\\\x80-\xff\n\015()] * # normal* -(?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015()] * )* # (special normal*)* -\) # ) -) # special -[^\\\x80-\xff\n\015()] * # normal* -)* # )* -\) # ) -[\040\t]* )* # If comment found, allow more spaces. -(?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| -\[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) -[\040\t]* # Nab whitespace. -(?: -\( # ( -[^\\\x80-\xff\n\015()] * # normal* -(?: # ( -(?: \\ [^\x80-\xff] | -\( # ( -[^\\\x80-\xff\n\015()] * # normal* -(?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015()] * )* # (special normal*)* -\) # ) -) # special -[^\\\x80-\xff\n\015()] * # normal* -)* # )* -\) # ) -[\040\t]* )* # If comment found, allow more spaces. -# optional trailing comments -)* -# address -| # or -(?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -# Atom -| # or -" # " -[^\\\x80-\xff\n\015"] * # normal -(?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015"] * )* # ( special normal* )* -" # " -# Quoted string -) -# leading word -[^()<>@,;:".\\\[\]\x80-\xff\000-\010\012-\037] * # "normal" atoms and or spaces -(?: -(?: -\( # ( -[^\\\x80-\xff\n\015()] * # normal* -(?: # ( -(?: \\ [^\x80-\xff] | -\( # ( -[^\\\x80-\xff\n\015()] * # normal* -(?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015()] * )* # (special normal*)* -\) # ) -) # special -[^\\\x80-\xff\n\015()] * # normal* -)* # )* -\) # ) -| -" # " -[^\\\x80-\xff\n\015"] * # normal -(?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015"] * )* # ( special normal* )* -" # " -) # "special" comment or quoted string -[^()<>@,;:".\\\[\]\x80-\xff\000-\010\012-\037] * # more "normal" -)* -< -[\040\t]* # Nab whitespace. -(?: -\( # ( -[^\\\x80-\xff\n\015()] * # normal* -(?: # ( -(?: \\ [^\x80-\xff] | -\( # ( -[^\\\x80-\xff\n\015()] * # normal* -(?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015()] * )* # (special normal*)* -\) # ) -) # special -[^\\\x80-\xff\n\015()] * # normal* -)* # )* -\) # ) -[\040\t]* )* # If comment found, allow more spaces. -# < -(?: -@ -[\040\t]* # Nab whitespace. -(?: -\( # ( -[^\\\x80-\xff\n\015()] * # normal* -(?: # ( -(?: \\ [^\x80-\xff] | -\( # ( -[^\\\x80-\xff\n\015()] * # normal* -(?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015()] * )* # (special normal*)* -\) # ) -) # special -[^\\\x80-\xff\n\015()] * # normal* -)* # )* -\) # ) -[\040\t]* )* # If comment found, allow more spaces. -(?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| -\[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) -[\040\t]* # Nab whitespace. -(?: -\( # ( -[^\\\x80-\xff\n\015()] * # normal* -(?: # ( -(?: \\ [^\x80-\xff] | -\( # ( -[^\\\x80-\xff\n\015()] * # normal* -(?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015()] * )* # (special normal*)* -\) # ) -) # special -[^\\\x80-\xff\n\015()] * # normal* -)* # )* -\) # ) -[\040\t]* )* # If comment found, allow more spaces. -# optional trailing comments -(?: -\. -[\040\t]* # Nab whitespace. -(?: -\( # ( -[^\\\x80-\xff\n\015()] * # normal* -(?: # ( -(?: \\ [^\x80-\xff] | -\( # ( -[^\\\x80-\xff\n\015()] * # normal* -(?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015()] * )* # (special normal*)* -\) # ) -) # special -[^\\\x80-\xff\n\015()] * # normal* -)* # )* -\) # ) -[\040\t]* )* # If comment found, allow more spaces. -(?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| -\[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) -[\040\t]* # Nab whitespace. -(?: -\( # ( -[^\\\x80-\xff\n\015()] * # normal* -(?: # ( -(?: \\ [^\x80-\xff] | -\( # ( -[^\\\x80-\xff\n\015()] * # normal* -(?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015()] * )* # (special normal*)* -\) # ) -) # special -[^\\\x80-\xff\n\015()] * # normal* -)* # )* -\) # ) -[\040\t]* )* # If comment found, allow more spaces. -# optional trailing comments -)* -(?: , -[\040\t]* # Nab whitespace. -(?: -\( # ( -[^\\\x80-\xff\n\015()] * # normal* -(?: # ( -(?: \\ [^\x80-\xff] | -\( # ( -[^\\\x80-\xff\n\015()] * # normal* -(?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015()] * )* # (special normal*)* -\) # ) -) # special -[^\\\x80-\xff\n\015()] * # normal* -)* # )* -\) # ) -[\040\t]* )* # If comment found, allow more spaces. -@ -[\040\t]* # Nab whitespace. -(?: -\( # ( -[^\\\x80-\xff\n\015()] * # normal* -(?: # ( -(?: \\ [^\x80-\xff] | -\( # ( -[^\\\x80-\xff\n\015()] * # normal* -(?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015()] * )* # (special normal*)* -\) # ) -) # special -[^\\\x80-\xff\n\015()] * # normal* -)* # )* -\) # ) -[\040\t]* )* # If comment found, allow more spaces. -(?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| -\[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) -[\040\t]* # Nab whitespace. -(?: -\( # ( -[^\\\x80-\xff\n\015()] * # normal* -(?: # ( -(?: \\ [^\x80-\xff] | -\( # ( -[^\\\x80-\xff\n\015()] * # normal* -(?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015()] * )* # (special normal*)* -\) # ) -) # special -[^\\\x80-\xff\n\015()] * # normal* -)* # )* -\) # ) -[\040\t]* )* # If comment found, allow more spaces. -# optional trailing comments -(?: -\. -[\040\t]* # Nab whitespace. -(?: -\( # ( -[^\\\x80-\xff\n\015()] * # normal* -(?: # ( -(?: \\ [^\x80-\xff] | -\( # ( -[^\\\x80-\xff\n\015()] * # normal* -(?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015()] * )* # (special normal*)* -\) # ) -) # special -[^\\\x80-\xff\n\015()] * # normal* -)* # )* -\) # ) -[\040\t]* )* # If comment found, allow more spaces. -(?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| -\[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) -[\040\t]* # Nab whitespace. -(?: -\( # ( -[^\\\x80-\xff\n\015()] * # normal* -(?: # ( -(?: \\ [^\x80-\xff] | -\( # ( -[^\\\x80-\xff\n\015()] * # normal* -(?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015()] * )* # (special normal*)* -\) # ) -) # special -[^\\\x80-\xff\n\015()] * # normal* -)* # )* -\) # ) -[\040\t]* )* # If comment found, allow more spaces. -# optional trailing comments -)* -)* # additional domains -: -[\040\t]* # Nab whitespace. -(?: -\( # ( -[^\\\x80-\xff\n\015()] * # normal* -(?: # ( -(?: \\ [^\x80-\xff] | -\( # ( -[^\\\x80-\xff\n\015()] * # normal* -(?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015()] * )* # (special normal*)* -\) # ) -) # special -[^\\\x80-\xff\n\015()] * # normal* -)* # )* -\) # ) -[\040\t]* )* # If comment found, allow more spaces. -# optional trailing comments -)? # optional route -(?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -# Atom -| # or -" # " -[^\\\x80-\xff\n\015"] * # normal -(?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015"] * )* # ( special normal* )* -" # " -# Quoted string -) -[\040\t]* # Nab whitespace. -(?: -\( # ( -[^\\\x80-\xff\n\015()] * # normal* -(?: # ( -(?: \\ [^\x80-\xff] | -\( # ( -[^\\\x80-\xff\n\015()] * # normal* -(?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015()] * )* # (special normal*)* -\) # ) -) # special -[^\\\x80-\xff\n\015()] * # normal* -)* # )* -\) # ) -[\040\t]* )* # If comment found, allow more spaces. -(?: -\. -[\040\t]* # Nab whitespace. -(?: -\( # ( -[^\\\x80-\xff\n\015()] * # normal* -(?: # ( -(?: \\ [^\x80-\xff] | -\( # ( -[^\\\x80-\xff\n\015()] * # normal* -(?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015()] * )* # (special normal*)* -\) # ) -) # special -[^\\\x80-\xff\n\015()] * # normal* -)* # )* -\) # ) -[\040\t]* )* # If comment found, allow more spaces. -(?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -# Atom -| # or -" # " -[^\\\x80-\xff\n\015"] * # normal -(?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015"] * )* # ( special normal* )* -" # " -# Quoted string -) -[\040\t]* # Nab whitespace. -(?: -\( # ( -[^\\\x80-\xff\n\015()] * # normal* -(?: # ( -(?: \\ [^\x80-\xff] | -\( # ( -[^\\\x80-\xff\n\015()] * # normal* -(?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015()] * )* # (special normal*)* -\) # ) -) # special -[^\\\x80-\xff\n\015()] * # normal* -)* # )* -\) # ) -[\040\t]* )* # If comment found, allow more spaces. -# additional words -)* -@ -[\040\t]* # Nab whitespace. -(?: -\( # ( -[^\\\x80-\xff\n\015()] * # normal* -(?: # ( -(?: \\ [^\x80-\xff] | -\( # ( -[^\\\x80-\xff\n\015()] * # normal* -(?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015()] * )* # (special normal*)* -\) # ) -) # special -[^\\\x80-\xff\n\015()] * # normal* -)* # )* -\) # ) -[\040\t]* )* # If comment found, allow more spaces. -(?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| -\[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) -[\040\t]* # Nab whitespace. -(?: -\( # ( -[^\\\x80-\xff\n\015()] * # normal* -(?: # ( -(?: \\ [^\x80-\xff] | -\( # ( -[^\\\x80-\xff\n\015()] * # normal* -(?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015()] * )* # (special normal*)* -\) # ) -) # special -[^\\\x80-\xff\n\015()] * # normal* -)* # )* -\) # ) -[\040\t]* )* # If comment found, allow more spaces. -# optional trailing comments -(?: -\. -[\040\t]* # Nab whitespace. -(?: -\( # ( -[^\\\x80-\xff\n\015()] * # normal* -(?: # ( -(?: \\ [^\x80-\xff] | -\( # ( -[^\\\x80-\xff\n\015()] * # normal* -(?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015()] * )* # (special normal*)* -\) # ) -) # special -[^\\\x80-\xff\n\015()] * # normal* -)* # )* -\) # ) -[\040\t]* )* # If comment found, allow more spaces. -(?: -[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... -(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom -| -\[ # [ -(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff -\] # ] -) -[\040\t]* # Nab whitespace. -(?: -\( # ( -[^\\\x80-\xff\n\015()] * # normal* -(?: # ( -(?: \\ [^\x80-\xff] | -\( # ( -[^\\\x80-\xff\n\015()] * # normal* -(?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015()] * )* # (special normal*)* -\) # ) -) # special -[^\\\x80-\xff\n\015()] * # normal* -)* # )* -\) # ) -[\040\t]* )* # If comment found, allow more spaces. -# optional trailing comments -)* -# address spec -> # > -# name and address -) -/x - Alan Other - 0: Alan Other - - 0: user@dom.ain - user\@dom.ain - 0: user@dom.ain - \"A. Other\" (a comment) - 0: "A. Other" - A. Other (a comment) - 0: Other - \"/s=user/ou=host/o=place/prmd=uu.yy/admd= /c=gb/\"\@x400-re.lay - 0: "/s=user/ou=host/o=place/prmd=uu.yy/admd= /c=gb/"@x400-re.lay - A missing angle ?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7f - -/P[^*]TAIRE[^*]{1,6}?LL/ - xxxxxxxxxxxPSTAIREISLLxxxxxxxxx - 0: PSTAIREISLL - -/P[^*]TAIRE[^*]{1,}?LL/ - xxxxxxxxxxxPSTAIREISLLxxxxxxxxx - 0: PSTAIREISLL - -/(\.\d\d[1-9]?)\d+/ - 1.230003938 - 0: .230003938 - 1: .23 - 1.875000282 - 0: .875000282 - 1: .875 - 1.235 - 0: .235 - 1: .23 - -/(\.\d\d((?=0)|\d(?=\d)))/ - 1.230003938 - 0: .23 - 1: .23 - 2: - 1.875000282 - 0: .875 - 1: .875 - 2: 5 -\= Expect no match - 1.235 -No match - -/\b(foo)\s+(\w+)/i - Food is on the foo table - 0: foo table - 1: foo - 2: table - -/foo(.*)bar/ - The food is under the bar in the barn. - 0: food is under the bar in the bar - 1: d is under the bar in the - -/foo(.*?)bar/ - The food is under the bar in the barn. - 0: food is under the bar - 1: d is under the - -/(.*)(\d*)/ - I have 2 numbers: 53147 - 0: I have 2 numbers: 53147 - 1: I have 2 numbers: 53147 - 2: - -/(.*)(\d+)/ - I have 2 numbers: 53147 - 0: I have 2 numbers: 53147 - 1: I have 2 numbers: 5314 - 2: 7 - -/(.*?)(\d*)/ - I have 2 numbers: 53147 - 0: - 1: - 2: - -/(.*?)(\d+)/ - I have 2 numbers: 53147 - 0: I have 2 - 1: I have - 2: 2 - -/(.*)(\d+)$/ - I have 2 numbers: 53147 - 0: I have 2 numbers: 53147 - 1: I have 2 numbers: 5314 - 2: 7 - -/(.*?)(\d+)$/ - I have 2 numbers: 53147 - 0: I have 2 numbers: 53147 - 1: I have 2 numbers: - 2: 53147 - -/(.*)\b(\d+)$/ - I have 2 numbers: 53147 - 0: I have 2 numbers: 53147 - 1: I have 2 numbers: - 2: 53147 - -/(.*\D)(\d+)$/ - I have 2 numbers: 53147 - 0: I have 2 numbers: 53147 - 1: I have 2 numbers: - 2: 53147 - -/^\D*(?!123)/ - ABC123 - 0: AB - -/^(\D*)(?=\d)(?!123)/ - ABC445 - 0: ABC - 1: ABC -\= Expect no match - ABC123 -No match - -/^[W-]46]/ - W46]789 - 0: W46] - -46]789 - 0: -46] -\= Expect no match - Wall -No match - Zebra -No match - 42 -No match - [abcd] -No match - ]abcd[ -No match - -/^[W-\]46]/ - W46]789 - 0: W - Wall - 0: W - Zebra - 0: Z - Xylophone - 0: X - 42 - 0: 4 - [abcd] - 0: [ - ]abcd[ - 0: ] - \\backslash - 0: \ -\= Expect no match - -46]789 -No match - well -No match - -/\d\d\/\d\d\/\d\d\d\d/ - 01/01/2000 - 0: 01/01/2000 - -/word (?:[a-zA-Z0-9]+ ){0,10}otherword/ - word cat dog elephant mussel cow horse canary baboon snake shark otherword - 0: word cat dog elephant mussel cow horse canary baboon snake shark otherword -\= Expect no match - word cat dog elephant mussel cow horse canary baboon snake shark -No match - -/word (?:[a-zA-Z0-9]+ ){0,300}otherword/ -\= Expect no match - word cat dog elephant mussel cow horse canary baboon snake shark the quick brown fox and the lazy dog and several other words getting close to thirty by now I hope -No match - -/^(a){0,0}/ - bcd - 0: - abc - 0: - aab - 0: - -/^(a){0,1}/ - bcd - 0: - abc - 0: a - 1: a - aab - 0: a - 1: a - -/^(a){0,2}/ - bcd - 0: - abc - 0: a - 1: a - aab - 0: aa - 1: a - -/^(a){0,3}/ - bcd - 0: - abc - 0: a - 1: a - aab - 0: aa - 1: a - aaa - 0: aaa - 1: a - -/^(a){0,}/ - bcd - 0: - abc - 0: a - 1: a - aab - 0: aa - 1: a - aaa - 0: aaa - 1: a - aaaaaaaa - 0: aaaaaaaa - 1: a - -/^(a){1,1}/ - abc - 0: a - 1: a - aab - 0: a - 1: a -\= Expect no match - bcd -No match - -/^(a){1,2}/ - abc - 0: a - 1: a - aab - 0: aa - 1: a -\= Expect no match - bcd -No match - -/^(a){1,3}/ - abc - 0: a - 1: a - aab - 0: aa - 1: a - aaa - 0: aaa - 1: a -\= Expect no match - bcd -No match - -/^(a){1,}/ - abc - 0: a - 1: a - aab - 0: aa - 1: a - aaa - 0: aaa - 1: a - aaaaaaaa - 0: aaaaaaaa - 1: a -\= Expect no match - bcd -No match - -/.*\.gif/ - borfle\nbib.gif\nno - 0: bib.gif - -/.{0,}\.gif/ - borfle\nbib.gif\nno - 0: bib.gif - -/.*\.gif/m - borfle\nbib.gif\nno - 0: bib.gif - -/.*\.gif/s - borfle\nbib.gif\nno - 0: borfle\x0abib.gif - -/.*\.gif/ms - borfle\nbib.gif\nno - 0: borfle\x0abib.gif - -/.*$/ - borfle\nbib.gif\nno - 0: no - -/.*$/m - borfle\nbib.gif\nno - 0: borfle - -/.*$/s - borfle\nbib.gif\nno - 0: borfle\x0abib.gif\x0ano - -/.*$/ms - borfle\nbib.gif\nno - 0: borfle\x0abib.gif\x0ano - -/.*$/ - borfle\nbib.gif\nno\n - 0: no - -/.*$/m - borfle\nbib.gif\nno\n - 0: borfle - -/.*$/s - borfle\nbib.gif\nno\n - 0: borfle\x0abib.gif\x0ano\x0a - -/.*$/ms - borfle\nbib.gif\nno\n - 0: borfle\x0abib.gif\x0ano\x0a - -/(.*X|^B)/ - abcde\n1234Xyz - 0: 1234X - 1: 1234X - BarFoo - 0: B - 1: B -\= Expect no match - abcde\nBar -No match - -/(.*X|^B)/m - abcde\n1234Xyz - 0: 1234X - 1: 1234X - BarFoo - 0: B - 1: B - abcde\nBar - 0: B - 1: B - -/(.*X|^B)/s - abcde\n1234Xyz - 0: abcde\x0a1234X - 1: abcde\x0a1234X - BarFoo - 0: B - 1: B -\= Expect no match - abcde\nBar -No match - -/(.*X|^B)/ms - abcde\n1234Xyz - 0: abcde\x0a1234X - 1: abcde\x0a1234X - BarFoo - 0: B - 1: B - abcde\nBar - 0: B - 1: B - -/(?s)(.*X|^B)/ - abcde\n1234Xyz - 0: abcde\x0a1234X - 1: abcde\x0a1234X - BarFoo - 0: B - 1: B -\= Expect no match - abcde\nBar -No match - -/(?s:.*X|^B)/ - abcde\n1234Xyz - 0: abcde\x0a1234X - BarFoo - 0: B -\= Expect no match - abcde\nBar -No match - -/^.*B/ -\= Expect no match - abc\nB -No match - -/(?s)^.*B/ - abc\nB - 0: abc\x0aB - -/(?m)^.*B/ - abc\nB - 0: B - -/(?ms)^.*B/ - abc\nB - 0: abc\x0aB - -/(?ms)^B/ - abc\nB - 0: B - -/(?s)B$/ - B\n - 0: B - -/^[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]/ - 123456654321 - 0: 123456654321 - -/^\d\d\d\d\d\d\d\d\d\d\d\d/ - 123456654321 - 0: 123456654321 - -/^[\d][\d][\d][\d][\d][\d][\d][\d][\d][\d][\d][\d]/ - 123456654321 - 0: 123456654321 - -/^[abc]{12}/ - abcabcabcabc - 0: abcabcabcabc - -/^[a-c]{12}/ - abcabcabcabc - 0: abcabcabcabc - -/^(a|b|c){12}/ - abcabcabcabc - 0: abcabcabcabc - 1: c - -/^[abcdefghijklmnopqrstuvwxy0123456789]/ - n - 0: n -\= Expect no match - z -No match - -/abcde{0,0}/ - abcd - 0: abcd -\= Expect no match - abce -No match - -/ab[cd]{0,0}e/ - abe - 0: abe -\= Expect no match - abcde -No match - -/ab(c){0,0}d/ - abd - 0: abd -\= Expect no match - abcd -No match - -/a(b*)/ - a - 0: a - 1: - ab - 0: ab - 1: b - abbbb - 0: abbbb - 1: bbbb -\= Expect no match - bbbbb -No match - -/ab\d{0}e/ - abe - 0: abe -\= Expect no match - ab1e -No match - -/"([^\\"]+|\\.)*"/ - the \"quick\" brown fox - 0: "quick" - 1: quick - \"the \\\"quick\\\" brown fox\" - 0: "the \"quick\" brown fox" - 1: brown fox - -/]{0,})>]{0,})>([\d]{0,}\.)(.*)((
([\w\W\s\d][^<>]{0,})|[\s]{0,}))<\/a><\/TD>]{0,})>([\w\W\s\d][^<>]{0,})<\/TD>]{0,})>([\w\W\s\d][^<>]{0,})<\/TD><\/TR>/is - 43.Word Processor
(N-1286)
Lega lstaff.comCA - Statewide - 0: 43.Word Processor
(N-1286)
Lega lstaff.comCA - Statewide - 1: BGCOLOR='#DBE9E9' - 2: align=left valign=top - 3: 43. - 4: Word Processor
(N-1286) - 5: - 6: - 7: - 8: align=left valign=top - 9: Lega lstaff.com -10: align=left valign=top -11: CA - Statewide - -/a[^a]b/ - acb - 0: acb - a\nb - 0: a\x0ab - -/a.b/ - acb - 0: acb -\= Expect no match - a\nb -No match - -/a[^a]b/s - acb - 0: acb - a\nb - 0: a\x0ab - -/a.b/s - acb - 0: acb - a\nb - 0: a\x0ab - -/^(b+?|a){1,2}?c/ - bac - 0: bac - 1: a - bbac - 0: bbac - 1: a - bbbac - 0: bbbac - 1: a - bbbbac - 0: bbbbac - 1: a - bbbbbac - 0: bbbbbac - 1: a - -/^(b+|a){1,2}?c/ - bac - 0: bac - 1: a - bbac - 0: bbac - 1: a - bbbac - 0: bbbac - 1: a - bbbbac - 0: bbbbac - 1: a - bbbbbac - 0: bbbbbac - 1: a - -/(?!\A)x/m - a\bx\n - 0: x - a\nx\n - 0: x -\= Expect no match - x\nb\n -No match - -/(A|B)*?CD/ - CD - 0: CD - -/(A|B)*CD/ - CD - 0: CD - -/(AB)*?\1/ - ABABAB - 0: ABAB - 1: AB - -/(AB)*\1/ - ABABAB - 0: ABABAB - 1: AB - -/(?.*/)foo" - /this/is/a/very/long/line/in/deed/with/very/many/slashes/in/and/foo - 0: /this/is/a/very/long/line/in/deed/with/very/many/slashes/in/and/foo -\= Expect no match - /this/is/a/very/long/line/in/deed/with/very/many/slashes/in/it/you/see/ -No match - -/(?>(\.\d\d[1-9]?))\d+/ - 1.230003938 - 0: .230003938 - 1: .23 - 1.875000282 - 0: .875000282 - 1: .875 -\= Expect no match - 1.235 -No match - -/^((?>\w+)|(?>\s+))*$/ - now is the time for all good men to come to the aid of the party - 0: now is the time for all good men to come to the aid of the party - 1: party -\= Expect no match - this is not a line with only words and spaces! -No match - -/(\d+)(\w)/ - 12345a - 0: 12345a - 1: 12345 - 2: a - 12345+ - 0: 12345 - 1: 1234 - 2: 5 - -/((?>\d+))(\w)/ - 12345a - 0: 12345a - 1: 12345 - 2: a -\= Expect no match - 12345+ -No match - -/(?>a+)b/ - aaab - 0: aaab - -/((?>a+)b)/ - aaab - 0: aaab - 1: aaab - -/(?>(a+))b/ - aaab - 0: aaab - 1: aaa - -/(?>b)+/ - aaabbbccc - 0: bbb - -/(?>a+|b+|c+)*c/ - aaabbbbccccd - 0: aaabbbbc - -/((?>[^()]+)|\([^()]*\))+/ - ((abc(ade)ufh()()x - 0: abc(ade)ufh()()x - 1: x - -/\(((?>[^()]+)|\([^()]+\))+\)/ - (abc) - 0: (abc) - 1: abc - (abc(def)xyz) - 0: (abc(def)xyz) - 1: xyz -\= Expect no match - ((()aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -No match - -/a(?-i)b/i - ab - 0: ab - Ab - 0: Ab -\= Expect no match - aB -No match - AB -No match - -/(a (?x)b c)d e/ - a bcd e - 0: a bcd e - 1: a bc -\= Expect no match - a b cd e -No match - abcd e -No match - a bcde -No match - -/(a b(?x)c d (?-x)e f)/ - a bcde f - 0: a bcde f - 1: a bcde f -\= Expect no match - abcdef -No match - -/(a(?i)b)c/ - abc - 0: abc - 1: ab - aBc - 0: aBc - 1: aB -\= Expect no match - abC -No match - aBC -No match - Abc -No match - ABc -No match - ABC -No match - AbC -No match - -/a(?i:b)c/ - abc - 0: abc - aBc - 0: aBc -\= Expect no match - ABC -No match - abC -No match - aBC -No match - -/a(?i:b)*c/ - aBc - 0: aBc - aBBc - 0: aBBc -\= Expect no match - aBC -No match - aBBC -No match - -/a(?=b(?i)c)\w\wd/ - abcd - 0: abcd - abCd - 0: abCd -\= Expect no match - aBCd -No match - abcD -No match - -/(?s-i:more.*than).*million/i - more than million - 0: more than million - more than MILLION - 0: more than MILLION - more \n than Million - 0: more \x0a than Million -\= Expect no match - MORE THAN MILLION -No match - more \n than \n million -No match - -/(?:(?s-i)more.*than).*million/i - more than million - 0: more than million - more than MILLION - 0: more than MILLION - more \n than Million - 0: more \x0a than Million -\= Expect no match - MORE THAN MILLION -No match - more \n than \n million -No match - -/(?>a(?i)b+)+c/ - abc - 0: abc - aBbc - 0: aBbc - aBBc - 0: aBBc -\= Expect no match - Abc -No match - abAb -No match - abbC -No match - -/(?=a(?i)b)\w\wc/ - abc - 0: abc - aBc - 0: aBc -\= Expect no match - Ab -No match - abC -No match - aBC -No match - -/(?<=a(?i)b)(\w\w)c/ - abxxc - 0: xxc - 1: xx - aBxxc - 0: xxc - 1: xx -\= Expect no match - Abxxc -No match - ABxxc -No match - abxxC -No match - -/(?:(a)|b)(?(1)A|B)/ - aA - 0: aA - 1: a - bB - 0: bB -\= Expect no match - aB -No match - bA -No match - -/^(a)?(?(1)a|b)+$/ - aa - 0: aa - 1: a - b - 0: b - bb - 0: bb -\= Expect no match - ab -No match - -# Perl gets this next one wrong if the pattern ends with $; in that case it -# fails to match "12". - -/^(?(?=abc)\w{3}:|\d\d)/ - abc: - 0: abc: - 12 - 0: 12 - 123 - 0: 12 -\= Expect no match - xyz -No match - -/^(?(?!abc)\d\d|\w{3}:)$/ - abc: - 0: abc: - 12 - 0: 12 -\= Expect no match - 123 -No match - xyz -No match - -/(?(?<=foo)bar|cat)/ - foobar - 0: bar - cat - 0: cat - fcat - 0: cat - focat - 0: cat -\= Expect no match - foocat -No match - -/(?(?a*)*/ - a - 0: a - aa - 0: aa - aaaa - 0: aaaa - -/(abc|)+/ - abc - 0: abc - 1: - abcabc - 0: abcabc - 1: - abcabcabc - 0: abcabcabc - 1: - xyz - 0: - 1: - -/([a]*)*/ - a - 0: a - 1: - aaaaa - 0: aaaaa - 1: - -/([ab]*)*/ - a - 0: a - 1: - b - 0: b - 1: - ababab - 0: ababab - 1: - aaaabcde - 0: aaaab - 1: - bbbb - 0: bbbb - 1: - -/([^a]*)*/ - b - 0: b - 1: - bbbb - 0: bbbb - 1: - aaa - 0: - 1: - -/([^ab]*)*/ - cccc - 0: cccc - 1: - abab - 0: - 1: - -/([a]*?)*/ - a - 0: - 1: - aaaa - 0: - 1: - -/([ab]*?)*/ - a - 0: - 1: - b - 0: - 1: - abab - 0: - 1: - baba - 0: - 1: - -/([^a]*?)*/ - b - 0: - 1: - bbbb - 0: - 1: - aaa - 0: - 1: - -/([^ab]*?)*/ - c - 0: - 1: - cccc - 0: - 1: - baba - 0: - 1: - -/(?>a*)*/ - a - 0: a - aaabcde - 0: aaa - -/((?>a*))*/ - aaaaa - 0: aaaaa - 1: - aabbaa - 0: aa - 1: - -/((?>a*?))*/ - aaaaa - 0: - 1: - aabbaa - 0: - 1: - -/(?(?=[^a-z]+[a-z]) \d{2}-[a-z]{3}-\d{2} | \d{2}-\d{2}-\d{2} ) /x - 12-sep-98 - 0: 12-sep-98 - 12-09-98 - 0: 12-09-98 -\= Expect no match - sep-12-98 -No match - -/(?<=(foo))bar\1/ - foobarfoo - 0: barfoo - 1: foo - foobarfootling - 0: barfoo - 1: foo -\= Expect no match - foobar -No match - barfoo -No match - -/(?i:saturday|sunday)/ - saturday - 0: saturday - sunday - 0: sunday - Saturday - 0: Saturday - Sunday - 0: Sunday - SATURDAY - 0: SATURDAY - SUNDAY - 0: SUNDAY - SunDay - 0: SunDay - -/(a(?i)bc|BB)x/ - abcx - 0: abcx - 1: abc - aBCx - 0: aBCx - 1: aBC - bbx - 0: bbx - 1: bb - BBx - 0: BBx - 1: BB -\= Expect no match - abcX -No match - aBCX -No match - bbX -No match - BBX -No match - -/^([ab](?i)[cd]|[ef])/ - ac - 0: ac - 1: ac - aC - 0: aC - 1: aC - bD - 0: bD - 1: bD - elephant - 0: e - 1: e - Europe - 0: E - 1: E - frog - 0: f - 1: f - France - 0: F - 1: F -\= Expect no match - Africa -No match - -/^(ab|a(?i)[b-c](?m-i)d|x(?i)y|z)/ - ab - 0: ab - 1: ab - aBd - 0: aBd - 1: aBd - xy - 0: xy - 1: xy - xY - 0: xY - 1: xY - zebra - 0: z - 1: z - Zambesi - 0: Z - 1: Z -\= Expect no match - aCD -No match - XY -No match - -/(?<=foo\n)^bar/m - foo\nbar - 0: bar -\= Expect no match - bar -No match - baz\nbar -No match - -/(?<=(?]&/ - <&OUT - 0: <& - -/^(a\1?){4}$/ - aaaaaaaaaa - 0: aaaaaaaaaa - 1: aaaa -\= Expect no match - AB -No match - aaaaaaaaa -No match - aaaaaaaaaaa -No match - -/^(a(?(1)\1)){4}$/ - aaaaaaaaaa - 0: aaaaaaaaaa - 1: aaaa -\= Expect no match - aaaaaaaaa -No match - aaaaaaaaaaa -No match - -/(?:(f)(o)(o)|(b)(a)(r))*/ - foobar - 0: foobar - 1: f - 2: o - 3: o - 4: b - 5: a - 6: r - -/(?<=a)b/ - ab - 0: b -\= Expect no match - cb -No match - b -No match - -/(? - 2: abcd - xy:z:::abcd - 0: xy:z:::abcd - 1: xy:z::: - 2: abcd - -/^[^bcd]*(c+)/ - aexycd - 0: aexyc - 1: c - -/(a*)b+/ - caab - 0: aab - 1: aa - -/([\w:]+::)?(\w+)$/ - abcd - 0: abcd - 1: - 2: abcd - xy:z:::abcd - 0: xy:z:::abcd - 1: xy:z::: - 2: abcd -\= Expect no match - abcd: -No match - abcd: -No match - -/^[^bcd]*(c+)/ - aexycd - 0: aexyc - 1: c - -/(>a+)ab/ - -/(?>a+)b/ - aaab - 0: aaab - -/([[:]+)/ - a:[b]: - 0: :[ - 1: :[ - -/([[=]+)/ - a=[b]= - 0: =[ - 1: =[ - -/([[.]+)/ - a.[b]. - 0: .[ - 1: .[ - -/((?>a+)b)/ - aaab - 0: aaab - 1: aaab - -/(?>(a+))b/ - aaab - 0: aaab - 1: aaa - -/((?>[^()]+)|\([^()]*\))+/ - ((abc(ade)ufh()()x - 0: abc(ade)ufh()()x - 1: x - -/a\Z/ -\= Expect no match - aaab -No match - a\nb\n -No match - -/b\Z/ - a\nb\n - 0: b - -/b\z/ - -/b\Z/ - a\nb - 0: b - -/b\z/ - a\nb - 0: b - -/^(?>(?(1)\.|())[^\W_](?>[a-z0-9-]*[^\W_])?)+$/ - a - 0: a - 1: - abc - 0: abc - 1: - a-b - 0: a-b - 1: - 0-9 - 0: 0-9 - 1: - a.b - 0: a.b - 1: - 5.6.7 - 0: 5.6.7 - 1: - the.quick.brown.fox - 0: the.quick.brown.fox - 1: - a100.b200.300c - 0: a100.b200.300c - 1: - 12-ab.1245 - 0: 12-ab.1245 - 1: -\= Expect no match - \ -No match - .a -No match - -a -No match - a- -No match - a. -No match - a_b -No match - a.- -No match - a.. -No match - ab..bc -No match - the.quick.brown.fox- -No match - the.quick.brown.fox. -No match - the.quick.brown.fox_ -No match - the.quick.brown.fox+ -No match - -/(?>.*)(?<=(abcd|wxyz))/ - alphabetabcd - 0: alphabetabcd - 1: abcd - endingwxyz - 0: endingwxyz - 1: wxyz -\= Expect no match - a rather long string that doesn't end with one of them -No match - -/word (?>(?:(?!otherword)[a-zA-Z0-9]+ ){0,30})otherword/ - word cat dog elephant mussel cow horse canary baboon snake shark otherword - 0: word cat dog elephant mussel cow horse canary baboon snake shark otherword -\= Expect no match - word cat dog elephant mussel cow horse canary baboon snake shark -No match - -/word (?>[a-zA-Z0-9]+ ){0,30}otherword/ -\= Expect no match - word cat dog elephant mussel cow horse canary baboon snake shark the quick brown fox and the lazy dog and several other words getting close to thirty by now I hope -No match - -/(?<=\d{3}(?!999))foo/ - 999foo - 0: foo - 123999foo - 0: foo -\= Expect no match - 123abcfoo -No match - -/(?<=(?!...999)\d{3})foo/ - 999foo - 0: foo - 123999foo - 0: foo -\= Expect no match - 123abcfoo -No match - -/(?<=\d{3}(?!999)...)foo/ - 123abcfoo - 0: foo - 123456foo - 0: foo -\= Expect no match - 123999foo -No match - -/(?<=\d{3}...)(? - 2: - 3: abcd -
- 2: - 3: abcd - \s*)=(?>\s*) # find - 2: - 3: abcd - Z)+|A)*/ - ZABCDEFG - 0: ZA - 1: A - -/((?>)+|A)*/ - ZABCDEFG - 0: - 1: - -/^[\d-a]/ - abcde - 0: a - -things - 0: - - 0digit - 0: 0 -\= Expect no match - bcdef -No match - -/[\s]+/ - > \x09\x0a\x0c\x0d\x0b< - 0: \x09\x0a\x0c\x0d\x0b - -/\s+/ - > \x09\x0a\x0c\x0d\x0b< - 0: \x09\x0a\x0c\x0d\x0b - -/a b/x - ab - 0: ab - -/(?!\A)x/m - a\nxb\n - 0: x - -/(?!^)x/m -\= Expect no match - a\nxb\n -No match - -#/abc\Qabc\Eabc/ -# abcabcabc -# 0: abcabcabc - -#/abc\Q(*+|\Eabc/ -# abc(*+|abc -# 0: abc(*+|abc - -#/ abc\Q abc\Eabc/x -# abc abcabc -# 0: abc abcabc -#\= Expect no match -# abcabcabc -#No match - -#/abc#comment -# \Q#not comment -# literal\E/x -# abc#not comment\n literal -# 0: abc#not comment\x0a literal - -#/abc#comment -# \Q#not comment -# literal/x -# abc#not comment\n literal -# 0: abc#not comment\x0a literal - -#/abc#comment -# \Q#not comment -# literal\E #more comment -# /x -# abc#not comment\n literal -# 0: abc#not comment\x0a literal - -#/abc#comment -# \Q#not comment -# literal\E #more comment/x -# abc#not comment\n literal -# 0: abc#not comment\x0a literal - -#/\Qabc\$xyz\E/ -# abc\\\$xyz -# 0: abc\$xyz - -#/\Qabc\E\$\Qxyz\E/ -# abc\$xyz -# 0: abc$xyz - -/\Gabc/ - abc - 0: abc -\= Expect no match - xyzabc -No match - -/a(?x: b c )d/ - XabcdY - 0: abcd -\= Expect no match - Xa b c d Y -No match - -/((?x)x y z | a b c)/ - XabcY - 0: abc - 1: abc - AxyzB - 0: xyz - 1: xyz - -/(?i)AB(?-i)C/ - XabCY - 0: abC -\= Expect no match - XabcY -No match - -/((?i)AB(?-i)C|D)E/ - abCE - 0: abCE - 1: abC - DE - 0: DE - 1: D -\= Expect no match - abcE -No match - abCe -No match - dE -No match - De -No match - -/(.*)\d+\1/ - abc123abc - 0: abc123abc - 1: abc - abc123bc - 0: bc123bc - 1: bc - -/(.*)\d+\1/s - abc123abc - 0: abc123abc - 1: abc - abc123bc - 0: bc123bc - 1: bc - -/((.*))\d+\1/ - abc123abc - 0: abc123abc - 1: abc - 2: abc - abc123bc - 0: bc123bc - 1: bc - 2: bc - -# This tests for an IPv6 address in the form where it can have up to -# eight components, one and only one of which is empty. This must be -# an internal component. - -/^(?!:) # colon disallowed at start - (?: # start of item - (?: [0-9a-f]{1,4} | # 1-4 hex digits or - (?(1)0 | () ) ) # if null previously matched, fail; else null - : # followed by colon - ){1,7} # end item; 1-7 of them required - [0-9a-f]{1,4} $ # final hex number at end of string - (?(1)|.) # check that there was an empty component - /ix - a123::a123 - 0: a123::a123 - 1: - a123:b342::abcd - 0: a123:b342::abcd - 1: - a123:b342::324e:abcd - 0: a123:b342::324e:abcd - 1: - a123:ddde:b342::324e:abcd - 0: a123:ddde:b342::324e:abcd - 1: - a123:ddde:b342::324e:dcba:abcd - 0: a123:ddde:b342::324e:dcba:abcd - 1: - a123:ddde:9999:b342::324e:dcba:abcd - 0: a123:ddde:9999:b342::324e:dcba:abcd - 1: -\= Expect no match - 1:2:3:4:5:6:7:8 -No match - a123:bce:ddde:9999:b342::324e:dcba:abcd -No match - a123::9999:b342::324e:dcba:abcd -No match - abcde:2:3:4:5:6:7:8 -No match - ::1 -No match - abcd:fee0:123:: -No match - :1 -No match - 1: -No match - -#/[z\Qa-d]\E]/ -# z -# 0: z -# a -# 0: a -# - -# 0: - -# d -# 0: d -# ] -# 0: ] -#\= Expect no match -# b -#No match - -#TODO: PCRE has an optimization to make this workable, .NET does not -#/(a+)*b/ -#\= Expect no match -# aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -#No match - -# All these had to be updated because we understand unicode -# and this looks like it's expecting single byte matches - -# .NET generates \xe4...not sure what's up, might just be different code pages -/(?i)reg(?:ul(?:[aä]|ae)r|ex)/ - REGular - 0: REGular - regulaer - 0: regulaer - Regex - 0: Regex - regulär - 0: regul\xc3\xa4r - -#/Åæåä[à-ÿÀ-ß]+/ -# Åæåäà -# 0: \xc5\xe6\xe5\xe4\xe0 -# Åæåäÿ -# 0: \xc5\xe6\xe5\xe4\xff -# ÅæåäÀ -# 0: \xc5\xe6\xe5\xe4\xc0 -# Åæåäß -# 0: \xc5\xe6\xe5\xe4\xdf - -/(?<=Z)X./ - \x84XAZXB - 0: XB - -/ab cd (?x) de fg/ - ab cd defg - 0: ab cd defg - -/ab cd(?x) de fg/ - ab cddefg - 0: ab cddefg -\= Expect no match - abcddefg -No match - -/(? - 2: - D - 0: D - 1: - 2: - -# this is really long with debug -- removing for now -#/(a|)*\d/ -# aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa4 -# 0: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa4 -# 1: -#\= Expect no match -# aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -#No match - -/(?>a|)*\d/ - aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa4 - 0: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa4 -\= Expect no match - aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -No match - -/(?:a|)*\d/ - aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa4 - 0: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa4 -\= Expect no match - aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -No match - -/^(?s)(?>.*)(? - 2: a - -/(?>(a))b|(a)c/ - ac - 0: ac - 1: - 2: a - -/(?=(a))ab|(a)c/ - ac - 0: ac - 1: - 2: a - -/((?>(a))b|(a)c)/ - ac - 0: ac - 1: ac - 2: - 3: a - -/(?=(?>(a))b|(a)c)(..)/ - ac - 0: ac - 1: - 2: a - 3: ac - -/(?>(?>(a))b|(a)c)/ - ac - 0: ac - 1: - 2: a - -/((?>(a+)b)+(aabab))/ - aaaabaaabaabab - 0: aaaabaaabaabab - 1: aaaabaaabaabab - 2: aaa - 3: aabab - -/(?>a+|ab)+?c/ -\= Expect no match - aabc -No match - -/(?>a+|ab)+c/ -\= Expect no match - aabc -No match - -/(?:a+|ab)+c/ - aabc - 0: aabc - -/^(?:a|ab)+c/ - aaaabc - 0: aaaabc - -/(?=abc){0}xyz/ - xyz - 0: xyz - -/(?=abc){1}xyz/ -\= Expect no match - xyz -No match - -/(?=(a))?./ - ab - 0: a - 1: a - bc - 0: b - -/(?=(a))??./ - ab - 0: a - bc - 0: b - -/^(?!a){0}\w+/ - aaaaa - 0: aaaaa - -/(?<=(abc))?xyz/ - abcxyz - 0: xyz - 1: abc - pqrxyz - 0: xyz - -/^[g]+/ - ggg<<>> - 0: ggg<<>> -\= Expect no match - \\ga -No match - -/^[ga]+/ - gggagagaxyz - 0: gggagaga - -/[:a]xxx[b:]/ - :xxx: - 0: :xxx: - -/(?<=a{2})b/i - xaabc - 0: b -\= Expect no match - xabc -No match - -/(? -# 4: -# 5: c -# 6: d -# 7: Y - -#/^X(?7)(a)(?|(b|(?|(r)|(t))(s))|(q))(c)(d)(Y)/ -# XYabcdY -# 0: XYabcdY -# 1: a -# 2: b -# 3: -# 4: -# 5: c -# 6: d -# 7: Y - -/(?'abc'\w+):\k{2}/ - a:aaxyz - 0: a:aa - 1: a - ab:ababxyz - 0: ab:abab - 1: ab -\= Expect no match - a:axyz -No match - ab:abxyz -No match - -/^(?a)? (?(ab)b|c) (?(ab)d|e)/x - abd - 0: abd - 1: a - ce - 0: ce - -# .NET has more consistent grouping numbers with these dupe groups for the two options -/(?:a(? (?')|(?")) |b(? (?')|(?")) ) (?(quote)[a-z]+|[0-9]+)/x,dupnames - a\"aaaaa - 0: a"aaaaa - 1: " - 2: - 3: " - b\"aaaaa - 0: b"aaaaa - 1: " - 2: - 3: " -\= Expect no match - b\"11111 -No match - -#/(?P(?P0)(?P>L1)|(?P>L2))/ -# 0 -# 0: 0 -# 1: 0 -# 00 -# 0: 00 -# 1: 00 -# 2: 0 -# 0000 -# 0: 0000 -# 1: 0000 -# 2: 0 - -#/(?P(?P0)|(?P>L2)(?P>L1))/ -# 0 -# 0: 0 -# 1: 0 -# 2: 0 -# 00 -# 0: 0 -# 1: 0 -# 2: 0 -# 0000 -# 0: 0 -# 1: 0 -# 2: 0 - -# Check the use of names for failure - -# Check opening parens in comment when seeking forward reference. - -#/(?P(?P=abn)xxx|)+/ -# xxx -# 0: -# 1: - -#Posses -/^(a)?(\w)/ - aaaaX - 0: aa - 1: a - 2: a - YZ - 0: Y - 1: - 2: Y - -#Posses -/^(?:a)?(\w)/ - aaaaX - 0: aa - 1: a - YZ - 0: Y - 1: Y - -/\A.*?(a|bc)/ - ba - 0: ba - 1: a - -/\A.*?(?:a|bc|d)/ - ba - 0: ba - -# -------------------------- - -/(another)?(\1?)test/ - hello world test - 0: test - 1: - 2: - -/(another)?(\1+)test/ -\= Expect no match - hello world test -No match - -/((?:a?)*)*c/ - aac - 0: aac - 1: - -/((?>a?)*)*c/ - aac - 0: aac - 1: - -/(?>.*?a)(?<=ba)/ - aba - 0: ba - -/(?:.*?a)(?<=ba)/ - aba - 0: aba - -/(?>.*?a)b/s - aab - 0: ab - -/(?>.*?a)b/ - aab - 0: ab - -/(?>^a)b/s -\= Expect no match - aab -No match - -/(?>.*?)(?<=(abcd)|(wxyz))/ - alphabetabcd - 0: - 1: abcd - endingwxyz - 0: - 1: - 2: wxyz - -/(?>.*)(?<=(abcd)|(wxyz))/ - alphabetabcd - 0: alphabetabcd - 1: abcd - endingwxyz - 0: endingwxyz - 1: - 2: wxyz - -"(?>.*)foo" -\= Expect no match - abcdfooxyz -No match - -"(?>.*?)foo" - abcdfooxyz - 0: foo - -# Tests that try to figure out how Perl works. My hypothesis is that the first -# verb that is backtracked onto is the one that acts. This seems to be the case -# almost all the time, but there is one exception that is perhaps a bug. - -/a(?=bc).|abd/ - abd - 0: abd - abc - 0: ab - -/a(?>bc)d|abd/ - abceabd - 0: abd - -# These tests were formerly in test 2, but changes in PCRE and Perl have -# made them compatible. - -/^(a)?(?(1)a|b)+$/ -\= Expect no match - a -No match - -# ---- - -/^\d*\w{4}/ - 1234 - 0: 1234 -\= Expect no match - 123 -No match - -/^[^b]*\w{4}/ - aaaa - 0: aaaa -\= Expect no match - aaa -No match - -/^[^b]*\w{4}/i - aaaa - 0: aaaa -\= Expect no match - aaa -No match - -/^a*\w{4}/ - aaaa - 0: aaaa -\= Expect no match - aaa -No match - -/^a*\w{4}/i - aaaa - 0: aaaa -\= Expect no match - aaa -No match - -/(?:(?foo)|(?bar))\k/dupnames - foofoo - 0: foofoo - 1: foo - barbar - 0: barbar - 1: bar - -# A notable difference between PCRE and .NET. According to -# the PCRE docs: -# If you make a subroutine call to a non-unique named -# subpattern, the one that corresponds to the first -# occurrence of the name is used. In the absence of -# duplicate numbers (see the previous section) this is -# the one with the lowest number. -# .NET takes the most recently captured number according to MSDN: -# A backreference refers to the most recent definition of -# a group (the definition most immediately to the left, -# when matching left to right). When a group makes multiple -# captures, a backreference refers to the most recent capture. - -#/(?A)(?:(?foo)|(?bar))\k/dupnames -# AfooA -# 0: AfooA -# 1: A -# 2: foo -# AbarA -# 0: AbarA -# 1: A -# 2: -# 3: bar -#\= Expect no match -# Afoofoo -#No match -# Abarbar -#No match - -/^(\d+)\s+IN\s+SOA\s+(\S+)\s+(\S+)\s*\(\s*$/ - 1 IN SOA non-sp1 non-sp2( - 0: 1 IN SOA non-sp1 non-sp2( - 1: 1 - 2: non-sp1 - 3: non-sp2 - -# TODO: .NET's group number ordering here in the second example is a bit odd -/^ (?:(?A)|(?'B'B)(?A)) (?(A)x) (?(B)y)$/x,dupnames - Ax - 0: Ax - 1: A - BAxy - 0: BAxy - 1: A - 2: B - -/ ^ a + b $ /x - aaaab - 0: aaaab - -/ ^ a + #comment - b $ /x - aaaab - 0: aaaab - -/ ^ a + #comment - #comment - b $ /x - aaaab - 0: aaaab - -/ ^ (?> a + ) b $ /x - aaaab - 0: aaaab - -/ ^ ( a + ) + \w $ /x - aaaab - 0: aaaab - 1: aaaa - -/(?:x|(?:(xx|yy)+|x|x|x|x|x)|a|a|a)bc/ -\= Expect no match - acb -No match - -#Posses -#/\A(?:[^\"]+|\"(?:[^\"]*|\"\")*\")+/ -# NON QUOTED \"QUOT\"\"ED\" AFTER \"NOT MATCHED -# 0: NON QUOTED "QUOT""ED" AFTER - -#Posses -#/\A(?:[^\"]+|\"(?:[^\"]+|\"\")*\")+/ -# NON QUOTED \"QUOT\"\"ED\" AFTER \"NOT MATCHED -# 0: NON QUOTED "QUOT""ED" AFTER - -#Posses -#/\A(?:[^\"]+|\"(?:[^\"]+|\"\")+\")+/ -# NON QUOTED \"QUOT\"\"ED\" AFTER \"NOT MATCHED -# 0: NON QUOTED "QUOT""ED" AFTER - -#Posses -#/\A([^\"1]+|[\"2]([^\"3]*|[\"4][\"5])*[\"6])+/ -# NON QUOTED \"QUOT\"\"ED\" AFTER \"NOT MATCHED -# 0: NON QUOTED "QUOT""ED" AFTER -# 1: AFTER -# 2: - -/^\w+(?>\s*)(?<=\w)/ - test test - 0: tes - -#/(?Pa)?(?Pb)?(?()c|d)*l/ -# acl -# 0: acl -# 1: a -# bdl -# 0: bdl -# 1: -# 2: b -# adl -# 0: dl -# bcl -# 0: l - -/\sabc/ - \x0babc - 0: \x0babc - -#/[\Qa]\E]+/ -# aa]] -# 0: aa]] - -#/[\Q]a\E]+/ -# aa]] -# 0: aa]] - -/A((((((((a))))))))\8B/ - AaaB - 0: AaaB - 1: a - 2: a - 3: a - 4: a - 5: a - 6: a - 7: a - 8: a - -/A(((((((((a)))))))))\9B/ - AaaB - 0: AaaB - 1: a - 2: a - 3: a - 4: a - 5: a - 6: a - 7: a - 8: a - 9: a - -/(|ab)*?d/ - abd - 0: abd - 1: ab - xyd - 0: d - -/(\2|a)(\1)/ - aaa - 0: aa - 1: a - 2: a - -/(\2)(\1)/ - -"Z*(|d*){216}" - -/((((((((((((x))))))))))))\12/ - xx - 0: xx - 1: x - 2: x - 3: x - 4: x - 5: x - 6: x - 7: x - 8: x - 9: x -10: x -11: x -12: x - -#"(?|(\k'Pm')|(?'Pm'))" -# abcd -# 0: -# 1: - -#/(?|(aaa)|(b))\g{1}/ -# aaaaaa -# 0: aaaaaa -# 1: aaa -# bb -# 0: bb -# 1: b - -#/(?|(aaa)|(b))(?1)/ -# aaaaaa -# 0: aaaaaa -# 1: aaa -# baaa -# 0: baaa -# 1: b -#\= Expect no match -# bb -#No match - -#/(?|(aaa)|(b))/ -# xaaa -# 0: aaa -# 1: aaa -# xbc -# 0: b -# 1: b - -#/(?|(?'a'aaa)|(?'a'b))\k'a'/ -# aaaaaa -# 0: aaaaaa -# 1: aaa -# bb -# 0: bb -# 1: b - -#/(?|(?'a'aaa)|(?'a'b))(?'a'cccc)\k'a'/dupnames -# aaaccccaaa -# 0: aaaccccaaa -# 1: aaa -# 2: cccc -# bccccb -# 0: bccccb -# 1: b -# 2: cccc - -# End of testinput1 diff --git a/vendor/github.com/dustin/go-humanize/.travis.yml b/vendor/github.com/dustin/go-humanize/.travis.yml deleted file mode 100644 index ba95cdd1..00000000 --- a/vendor/github.com/dustin/go-humanize/.travis.yml +++ /dev/null @@ -1,21 +0,0 @@ -sudo: false -language: go -go: - - 1.3.x - - 1.5.x - - 1.6.x - - 1.7.x - - 1.8.x - - 1.9.x - - master -matrix: - allow_failures: - - go: master - fast_finish: true -install: - - # Do nothing. This is needed to prevent default install action "go get -t -v ./..." from happening here (we want it to happen inside script step). -script: - - go get -t -v ./... - - diff -u <(echo -n) <(gofmt -d -s .) - - go tool vet . - - go test -v -race ./... diff --git a/vendor/github.com/dustin/go-humanize/LICENSE b/vendor/github.com/dustin/go-humanize/LICENSE deleted file mode 100644 index 8d9a94a9..00000000 --- a/vendor/github.com/dustin/go-humanize/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -Copyright (c) 2005-2008 Dustin Sallings - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - diff --git a/vendor/github.com/dustin/go-humanize/README.markdown b/vendor/github.com/dustin/go-humanize/README.markdown deleted file mode 100644 index 91b4ae56..00000000 --- a/vendor/github.com/dustin/go-humanize/README.markdown +++ /dev/null @@ -1,124 +0,0 @@ -# Humane Units [![Build Status](https://travis-ci.org/dustin/go-humanize.svg?branch=master)](https://travis-ci.org/dustin/go-humanize) [![GoDoc](https://godoc.org/github.com/dustin/go-humanize?status.svg)](https://godoc.org/github.com/dustin/go-humanize) - -Just a few functions for helping humanize times and sizes. - -`go get` it as `github.com/dustin/go-humanize`, import it as -`"github.com/dustin/go-humanize"`, use it as `humanize`. - -See [godoc](https://godoc.org/github.com/dustin/go-humanize) for -complete documentation. - -## Sizes - -This lets you take numbers like `82854982` and convert them to useful -strings like, `83 MB` or `79 MiB` (whichever you prefer). - -Example: - -```go -fmt.Printf("That file is %s.", humanize.Bytes(82854982)) // That file is 83 MB. -``` - -## Times - -This lets you take a `time.Time` and spit it out in relative terms. -For example, `12 seconds ago` or `3 days from now`. - -Example: - -```go -fmt.Printf("This was touched %s.", humanize.Time(someTimeInstance)) // This was touched 7 hours ago. -``` - -Thanks to Kyle Lemons for the time implementation from an IRC -conversation one day. It's pretty neat. - -## Ordinals - -From a [mailing list discussion][odisc] where a user wanted to be able -to label ordinals. - - 0 -> 0th - 1 -> 1st - 2 -> 2nd - 3 -> 3rd - 4 -> 4th - [...] - -Example: - -```go -fmt.Printf("You're my %s best friend.", humanize.Ordinal(193)) // You are my 193rd best friend. -``` - -## Commas - -Want to shove commas into numbers? Be my guest. - - 0 -> 0 - 100 -> 100 - 1000 -> 1,000 - 1000000000 -> 1,000,000,000 - -100000 -> -100,000 - -Example: - -```go -fmt.Printf("You owe $%s.\n", humanize.Comma(6582491)) // You owe $6,582,491. -``` - -## Ftoa - -Nicer float64 formatter that removes trailing zeros. - -```go -fmt.Printf("%f", 2.24) // 2.240000 -fmt.Printf("%s", humanize.Ftoa(2.24)) // 2.24 -fmt.Printf("%f", 2.0) // 2.000000 -fmt.Printf("%s", humanize.Ftoa(2.0)) // 2 -``` - -## SI notation - -Format numbers with [SI notation][sinotation]. - -Example: - -```go -humanize.SI(0.00000000223, "M") // 2.23 nM -``` - -## English-specific functions - -The following functions are in the `humanize/english` subpackage. - -### Plurals - -Simple English pluralization - -```go -english.PluralWord(1, "object", "") // object -english.PluralWord(42, "object", "") // objects -english.PluralWord(2, "bus", "") // buses -english.PluralWord(99, "locus", "loci") // loci - -english.Plural(1, "object", "") // 1 object -english.Plural(42, "object", "") // 42 objects -english.Plural(2, "bus", "") // 2 buses -english.Plural(99, "locus", "loci") // 99 loci -``` - -### Word series - -Format comma-separated words lists with conjuctions: - -```go -english.WordSeries([]string{"foo"}, "and") // foo -english.WordSeries([]string{"foo", "bar"}, "and") // foo and bar -english.WordSeries([]string{"foo", "bar", "baz"}, "and") // foo, bar and baz - -english.OxfordWordSeries([]string{"foo", "bar", "baz"}, "and") // foo, bar, and baz -``` - -[odisc]: https://groups.google.com/d/topic/golang-nuts/l8NhI74jl-4/discussion -[sinotation]: http://en.wikipedia.org/wiki/Metric_prefix diff --git a/vendor/github.com/dustin/go-humanize/big.go b/vendor/github.com/dustin/go-humanize/big.go deleted file mode 100644 index f49dc337..00000000 --- a/vendor/github.com/dustin/go-humanize/big.go +++ /dev/null @@ -1,31 +0,0 @@ -package humanize - -import ( - "math/big" -) - -// order of magnitude (to a max order) -func oomm(n, b *big.Int, maxmag int) (float64, int) { - mag := 0 - m := &big.Int{} - for n.Cmp(b) >= 0 { - n.DivMod(n, b, m) - mag++ - if mag == maxmag && maxmag >= 0 { - break - } - } - return float64(n.Int64()) + (float64(m.Int64()) / float64(b.Int64())), mag -} - -// total order of magnitude -// (same as above, but with no upper limit) -func oom(n, b *big.Int) (float64, int) { - mag := 0 - m := &big.Int{} - for n.Cmp(b) >= 0 { - n.DivMod(n, b, m) - mag++ - } - return float64(n.Int64()) + (float64(m.Int64()) / float64(b.Int64())), mag -} diff --git a/vendor/github.com/dustin/go-humanize/bigbytes.go b/vendor/github.com/dustin/go-humanize/bigbytes.go deleted file mode 100644 index 1a2bf617..00000000 --- a/vendor/github.com/dustin/go-humanize/bigbytes.go +++ /dev/null @@ -1,173 +0,0 @@ -package humanize - -import ( - "fmt" - "math/big" - "strings" - "unicode" -) - -var ( - bigIECExp = big.NewInt(1024) - - // BigByte is one byte in bit.Ints - BigByte = big.NewInt(1) - // BigKiByte is 1,024 bytes in bit.Ints - BigKiByte = (&big.Int{}).Mul(BigByte, bigIECExp) - // BigMiByte is 1,024 k bytes in bit.Ints - BigMiByte = (&big.Int{}).Mul(BigKiByte, bigIECExp) - // BigGiByte is 1,024 m bytes in bit.Ints - BigGiByte = (&big.Int{}).Mul(BigMiByte, bigIECExp) - // BigTiByte is 1,024 g bytes in bit.Ints - BigTiByte = (&big.Int{}).Mul(BigGiByte, bigIECExp) - // BigPiByte is 1,024 t bytes in bit.Ints - BigPiByte = (&big.Int{}).Mul(BigTiByte, bigIECExp) - // BigEiByte is 1,024 p bytes in bit.Ints - BigEiByte = (&big.Int{}).Mul(BigPiByte, bigIECExp) - // BigZiByte is 1,024 e bytes in bit.Ints - BigZiByte = (&big.Int{}).Mul(BigEiByte, bigIECExp) - // BigYiByte is 1,024 z bytes in bit.Ints - BigYiByte = (&big.Int{}).Mul(BigZiByte, bigIECExp) -) - -var ( - bigSIExp = big.NewInt(1000) - - // BigSIByte is one SI byte in big.Ints - BigSIByte = big.NewInt(1) - // BigKByte is 1,000 SI bytes in big.Ints - BigKByte = (&big.Int{}).Mul(BigSIByte, bigSIExp) - // BigMByte is 1,000 SI k bytes in big.Ints - BigMByte = (&big.Int{}).Mul(BigKByte, bigSIExp) - // BigGByte is 1,000 SI m bytes in big.Ints - BigGByte = (&big.Int{}).Mul(BigMByte, bigSIExp) - // BigTByte is 1,000 SI g bytes in big.Ints - BigTByte = (&big.Int{}).Mul(BigGByte, bigSIExp) - // BigPByte is 1,000 SI t bytes in big.Ints - BigPByte = (&big.Int{}).Mul(BigTByte, bigSIExp) - // BigEByte is 1,000 SI p bytes in big.Ints - BigEByte = (&big.Int{}).Mul(BigPByte, bigSIExp) - // BigZByte is 1,000 SI e bytes in big.Ints - BigZByte = (&big.Int{}).Mul(BigEByte, bigSIExp) - // BigYByte is 1,000 SI z bytes in big.Ints - BigYByte = (&big.Int{}).Mul(BigZByte, bigSIExp) -) - -var bigBytesSizeTable = map[string]*big.Int{ - "b": BigByte, - "kib": BigKiByte, - "kb": BigKByte, - "mib": BigMiByte, - "mb": BigMByte, - "gib": BigGiByte, - "gb": BigGByte, - "tib": BigTiByte, - "tb": BigTByte, - "pib": BigPiByte, - "pb": BigPByte, - "eib": BigEiByte, - "eb": BigEByte, - "zib": BigZiByte, - "zb": BigZByte, - "yib": BigYiByte, - "yb": BigYByte, - // Without suffix - "": BigByte, - "ki": BigKiByte, - "k": BigKByte, - "mi": BigMiByte, - "m": BigMByte, - "gi": BigGiByte, - "g": BigGByte, - "ti": BigTiByte, - "t": BigTByte, - "pi": BigPiByte, - "p": BigPByte, - "ei": BigEiByte, - "e": BigEByte, - "z": BigZByte, - "zi": BigZiByte, - "y": BigYByte, - "yi": BigYiByte, -} - -var ten = big.NewInt(10) - -func humanateBigBytes(s, base *big.Int, sizes []string) string { - if s.Cmp(ten) < 0 { - return fmt.Sprintf("%d B", s) - } - c := (&big.Int{}).Set(s) - val, mag := oomm(c, base, len(sizes)-1) - suffix := sizes[mag] - f := "%.0f %s" - if val < 10 { - f = "%.1f %s" - } - - return fmt.Sprintf(f, val, suffix) - -} - -// BigBytes produces a human readable representation of an SI size. -// -// See also: ParseBigBytes. -// -// BigBytes(82854982) -> 83 MB -func BigBytes(s *big.Int) string { - sizes := []string{"B", "kB", "MB", "GB", "TB", "PB", "EB", "ZB", "YB"} - return humanateBigBytes(s, bigSIExp, sizes) -} - -// BigIBytes produces a human readable representation of an IEC size. -// -// See also: ParseBigBytes. -// -// BigIBytes(82854982) -> 79 MiB -func BigIBytes(s *big.Int) string { - sizes := []string{"B", "KiB", "MiB", "GiB", "TiB", "PiB", "EiB", "ZiB", "YiB"} - return humanateBigBytes(s, bigIECExp, sizes) -} - -// ParseBigBytes parses a string representation of bytes into the number -// of bytes it represents. -// -// See also: BigBytes, BigIBytes. -// -// ParseBigBytes("42 MB") -> 42000000, nil -// ParseBigBytes("42 mib") -> 44040192, nil -func ParseBigBytes(s string) (*big.Int, error) { - lastDigit := 0 - hasComma := false - for _, r := range s { - if !(unicode.IsDigit(r) || r == '.' || r == ',') { - break - } - if r == ',' { - hasComma = true - } - lastDigit++ - } - - num := s[:lastDigit] - if hasComma { - num = strings.Replace(num, ",", "", -1) - } - - val := &big.Rat{} - _, err := fmt.Sscanf(num, "%f", val) - if err != nil { - return nil, err - } - - extra := strings.ToLower(strings.TrimSpace(s[lastDigit:])) - if m, ok := bigBytesSizeTable[extra]; ok { - mv := (&big.Rat{}).SetInt(m) - val.Mul(val, mv) - rv := &big.Int{} - rv.Div(val.Num(), val.Denom()) - return rv, nil - } - - return nil, fmt.Errorf("unhandled size name: %v", extra) -} diff --git a/vendor/github.com/dustin/go-humanize/bytes.go b/vendor/github.com/dustin/go-humanize/bytes.go deleted file mode 100644 index 0b498f48..00000000 --- a/vendor/github.com/dustin/go-humanize/bytes.go +++ /dev/null @@ -1,143 +0,0 @@ -package humanize - -import ( - "fmt" - "math" - "strconv" - "strings" - "unicode" -) - -// IEC Sizes. -// kibis of bits -const ( - Byte = 1 << (iota * 10) - KiByte - MiByte - GiByte - TiByte - PiByte - EiByte -) - -// SI Sizes. -const ( - IByte = 1 - KByte = IByte * 1000 - MByte = KByte * 1000 - GByte = MByte * 1000 - TByte = GByte * 1000 - PByte = TByte * 1000 - EByte = PByte * 1000 -) - -var bytesSizeTable = map[string]uint64{ - "b": Byte, - "kib": KiByte, - "kb": KByte, - "mib": MiByte, - "mb": MByte, - "gib": GiByte, - "gb": GByte, - "tib": TiByte, - "tb": TByte, - "pib": PiByte, - "pb": PByte, - "eib": EiByte, - "eb": EByte, - // Without suffix - "": Byte, - "ki": KiByte, - "k": KByte, - "mi": MiByte, - "m": MByte, - "gi": GiByte, - "g": GByte, - "ti": TiByte, - "t": TByte, - "pi": PiByte, - "p": PByte, - "ei": EiByte, - "e": EByte, -} - -func logn(n, b float64) float64 { - return math.Log(n) / math.Log(b) -} - -func humanateBytes(s uint64, base float64, sizes []string) string { - if s < 10 { - return fmt.Sprintf("%d B", s) - } - e := math.Floor(logn(float64(s), base)) - suffix := sizes[int(e)] - val := math.Floor(float64(s)/math.Pow(base, e)*10+0.5) / 10 - f := "%.0f %s" - if val < 10 { - f = "%.1f %s" - } - - return fmt.Sprintf(f, val, suffix) -} - -// Bytes produces a human readable representation of an SI size. -// -// See also: ParseBytes. -// -// Bytes(82854982) -> 83 MB -func Bytes(s uint64) string { - sizes := []string{"B", "kB", "MB", "GB", "TB", "PB", "EB"} - return humanateBytes(s, 1000, sizes) -} - -// IBytes produces a human readable representation of an IEC size. -// -// See also: ParseBytes. -// -// IBytes(82854982) -> 79 MiB -func IBytes(s uint64) string { - sizes := []string{"B", "KiB", "MiB", "GiB", "TiB", "PiB", "EiB"} - return humanateBytes(s, 1024, sizes) -} - -// ParseBytes parses a string representation of bytes into the number -// of bytes it represents. -// -// See Also: Bytes, IBytes. -// -// ParseBytes("42 MB") -> 42000000, nil -// ParseBytes("42 mib") -> 44040192, nil -func ParseBytes(s string) (uint64, error) { - lastDigit := 0 - hasComma := false - for _, r := range s { - if !(unicode.IsDigit(r) || r == '.' || r == ',') { - break - } - if r == ',' { - hasComma = true - } - lastDigit++ - } - - num := s[:lastDigit] - if hasComma { - num = strings.Replace(num, ",", "", -1) - } - - f, err := strconv.ParseFloat(num, 64) - if err != nil { - return 0, err - } - - extra := strings.ToLower(strings.TrimSpace(s[lastDigit:])) - if m, ok := bytesSizeTable[extra]; ok { - f *= float64(m) - if f >= math.MaxUint64 { - return 0, fmt.Errorf("too large: %v", s) - } - return uint64(f), nil - } - - return 0, fmt.Errorf("unhandled size name: %v", extra) -} diff --git a/vendor/github.com/dustin/go-humanize/comma.go b/vendor/github.com/dustin/go-humanize/comma.go deleted file mode 100644 index 520ae3e5..00000000 --- a/vendor/github.com/dustin/go-humanize/comma.go +++ /dev/null @@ -1,116 +0,0 @@ -package humanize - -import ( - "bytes" - "math" - "math/big" - "strconv" - "strings" -) - -// Comma produces a string form of the given number in base 10 with -// commas after every three orders of magnitude. -// -// e.g. Comma(834142) -> 834,142 -func Comma(v int64) string { - sign := "" - - // Min int64 can't be negated to a usable value, so it has to be special cased. - if v == math.MinInt64 { - return "-9,223,372,036,854,775,808" - } - - if v < 0 { - sign = "-" - v = 0 - v - } - - parts := []string{"", "", "", "", "", "", ""} - j := len(parts) - 1 - - for v > 999 { - parts[j] = strconv.FormatInt(v%1000, 10) - switch len(parts[j]) { - case 2: - parts[j] = "0" + parts[j] - case 1: - parts[j] = "00" + parts[j] - } - v = v / 1000 - j-- - } - parts[j] = strconv.Itoa(int(v)) - return sign + strings.Join(parts[j:], ",") -} - -// Commaf produces a string form of the given number in base 10 with -// commas after every three orders of magnitude. -// -// e.g. Commaf(834142.32) -> 834,142.32 -func Commaf(v float64) string { - buf := &bytes.Buffer{} - if v < 0 { - buf.Write([]byte{'-'}) - v = 0 - v - } - - comma := []byte{','} - - parts := strings.Split(strconv.FormatFloat(v, 'f', -1, 64), ".") - pos := 0 - if len(parts[0])%3 != 0 { - pos += len(parts[0]) % 3 - buf.WriteString(parts[0][:pos]) - buf.Write(comma) - } - for ; pos < len(parts[0]); pos += 3 { - buf.WriteString(parts[0][pos : pos+3]) - buf.Write(comma) - } - buf.Truncate(buf.Len() - 1) - - if len(parts) > 1 { - buf.Write([]byte{'.'}) - buf.WriteString(parts[1]) - } - return buf.String() -} - -// CommafWithDigits works like the Commaf but limits the resulting -// string to the given number of decimal places. -// -// e.g. CommafWithDigits(834142.32, 1) -> 834,142.3 -func CommafWithDigits(f float64, decimals int) string { - return stripTrailingDigits(Commaf(f), decimals) -} - -// BigComma produces a string form of the given big.Int in base 10 -// with commas after every three orders of magnitude. -func BigComma(b *big.Int) string { - sign := "" - if b.Sign() < 0 { - sign = "-" - b.Abs(b) - } - - athousand := big.NewInt(1000) - c := (&big.Int{}).Set(b) - _, m := oom(c, athousand) - parts := make([]string, m+1) - j := len(parts) - 1 - - mod := &big.Int{} - for b.Cmp(athousand) >= 0 { - b.DivMod(b, athousand, mod) - parts[j] = strconv.FormatInt(mod.Int64(), 10) - switch len(parts[j]) { - case 2: - parts[j] = "0" + parts[j] - case 1: - parts[j] = "00" + parts[j] - } - j-- - } - parts[j] = strconv.Itoa(int(b.Int64())) - return sign + strings.Join(parts[j:], ",") -} diff --git a/vendor/github.com/dustin/go-humanize/commaf.go b/vendor/github.com/dustin/go-humanize/commaf.go deleted file mode 100644 index 620690de..00000000 --- a/vendor/github.com/dustin/go-humanize/commaf.go +++ /dev/null @@ -1,40 +0,0 @@ -// +build go1.6 - -package humanize - -import ( - "bytes" - "math/big" - "strings" -) - -// BigCommaf produces a string form of the given big.Float in base 10 -// with commas after every three orders of magnitude. -func BigCommaf(v *big.Float) string { - buf := &bytes.Buffer{} - if v.Sign() < 0 { - buf.Write([]byte{'-'}) - v.Abs(v) - } - - comma := []byte{','} - - parts := strings.Split(v.Text('f', -1), ".") - pos := 0 - if len(parts[0])%3 != 0 { - pos += len(parts[0]) % 3 - buf.WriteString(parts[0][:pos]) - buf.Write(comma) - } - for ; pos < len(parts[0]); pos += 3 { - buf.WriteString(parts[0][pos : pos+3]) - buf.Write(comma) - } - buf.Truncate(buf.Len() - 1) - - if len(parts) > 1 { - buf.Write([]byte{'.'}) - buf.WriteString(parts[1]) - } - return buf.String() -} diff --git a/vendor/github.com/dustin/go-humanize/ftoa.go b/vendor/github.com/dustin/go-humanize/ftoa.go deleted file mode 100644 index 1c62b640..00000000 --- a/vendor/github.com/dustin/go-humanize/ftoa.go +++ /dev/null @@ -1,46 +0,0 @@ -package humanize - -import ( - "strconv" - "strings" -) - -func stripTrailingZeros(s string) string { - offset := len(s) - 1 - for offset > 0 { - if s[offset] == '.' { - offset-- - break - } - if s[offset] != '0' { - break - } - offset-- - } - return s[:offset+1] -} - -func stripTrailingDigits(s string, digits int) string { - if i := strings.Index(s, "."); i >= 0 { - if digits <= 0 { - return s[:i] - } - i++ - if i+digits >= len(s) { - return s - } - return s[:i+digits] - } - return s -} - -// Ftoa converts a float to a string with no trailing zeros. -func Ftoa(num float64) string { - return stripTrailingZeros(strconv.FormatFloat(num, 'f', 6, 64)) -} - -// FtoaWithDigits converts a float to a string but limits the resulting string -// to the given number of decimal places, and no trailing zeros. -func FtoaWithDigits(num float64, digits int) string { - return stripTrailingZeros(stripTrailingDigits(strconv.FormatFloat(num, 'f', 6, 64), digits)) -} diff --git a/vendor/github.com/dustin/go-humanize/humanize.go b/vendor/github.com/dustin/go-humanize/humanize.go deleted file mode 100644 index a2c2da31..00000000 --- a/vendor/github.com/dustin/go-humanize/humanize.go +++ /dev/null @@ -1,8 +0,0 @@ -/* -Package humanize converts boring ugly numbers to human-friendly strings and back. - -Durations can be turned into strings such as "3 days ago", numbers -representing sizes like 82854982 into useful strings like, "83 MB" or -"79 MiB" (whichever you prefer). -*/ -package humanize diff --git a/vendor/github.com/dustin/go-humanize/number.go b/vendor/github.com/dustin/go-humanize/number.go deleted file mode 100644 index dec61865..00000000 --- a/vendor/github.com/dustin/go-humanize/number.go +++ /dev/null @@ -1,192 +0,0 @@ -package humanize - -/* -Slightly adapted from the source to fit go-humanize. - -Author: https://github.com/gorhill -Source: https://gist.github.com/gorhill/5285193 - -*/ - -import ( - "math" - "strconv" -) - -var ( - renderFloatPrecisionMultipliers = [...]float64{ - 1, - 10, - 100, - 1000, - 10000, - 100000, - 1000000, - 10000000, - 100000000, - 1000000000, - } - - renderFloatPrecisionRounders = [...]float64{ - 0.5, - 0.05, - 0.005, - 0.0005, - 0.00005, - 0.000005, - 0.0000005, - 0.00000005, - 0.000000005, - 0.0000000005, - } -) - -// FormatFloat produces a formatted number as string based on the following user-specified criteria: -// * thousands separator -// * decimal separator -// * decimal precision -// -// Usage: s := RenderFloat(format, n) -// The format parameter tells how to render the number n. -// -// See examples: http://play.golang.org/p/LXc1Ddm1lJ -// -// Examples of format strings, given n = 12345.6789: -// "#,###.##" => "12,345.67" -// "#,###." => "12,345" -// "#,###" => "12345,678" -// "#\u202F###,##" => "12 345,68" -// "#.###,###### => 12.345,678900 -// "" (aka default format) => 12,345.67 -// -// The highest precision allowed is 9 digits after the decimal symbol. -// There is also a version for integer number, FormatInteger(), -// which is convenient for calls within template. -func FormatFloat(format string, n float64) string { - // Special cases: - // NaN = "NaN" - // +Inf = "+Infinity" - // -Inf = "-Infinity" - if math.IsNaN(n) { - return "NaN" - } - if n > math.MaxFloat64 { - return "Infinity" - } - if n < -math.MaxFloat64 { - return "-Infinity" - } - - // default format - precision := 2 - decimalStr := "." - thousandStr := "," - positiveStr := "" - negativeStr := "-" - - if len(format) > 0 { - format := []rune(format) - - // If there is an explicit format directive, - // then default values are these: - precision = 9 - thousandStr = "" - - // collect indices of meaningful formatting directives - formatIndx := []int{} - for i, char := range format { - if char != '#' && char != '0' { - formatIndx = append(formatIndx, i) - } - } - - if len(formatIndx) > 0 { - // Directive at index 0: - // Must be a '+' - // Raise an error if not the case - // index: 0123456789 - // +0.000,000 - // +000,000.0 - // +0000.00 - // +0000 - if formatIndx[0] == 0 { - if format[formatIndx[0]] != '+' { - panic("RenderFloat(): invalid positive sign directive") - } - positiveStr = "+" - formatIndx = formatIndx[1:] - } - - // Two directives: - // First is thousands separator - // Raise an error if not followed by 3-digit - // 0123456789 - // 0.000,000 - // 000,000.00 - if len(formatIndx) == 2 { - if (formatIndx[1] - formatIndx[0]) != 4 { - panic("RenderFloat(): thousands separator directive must be followed by 3 digit-specifiers") - } - thousandStr = string(format[formatIndx[0]]) - formatIndx = formatIndx[1:] - } - - // One directive: - // Directive is decimal separator - // The number of digit-specifier following the separator indicates wanted precision - // 0123456789 - // 0.00 - // 000,0000 - if len(formatIndx) == 1 { - decimalStr = string(format[formatIndx[0]]) - precision = len(format) - formatIndx[0] - 1 - } - } - } - - // generate sign part - var signStr string - if n >= 0.000000001 { - signStr = positiveStr - } else if n <= -0.000000001 { - signStr = negativeStr - n = -n - } else { - signStr = "" - n = 0.0 - } - - // split number into integer and fractional parts - intf, fracf := math.Modf(n + renderFloatPrecisionRounders[precision]) - - // generate integer part string - intStr := strconv.FormatInt(int64(intf), 10) - - // add thousand separator if required - if len(thousandStr) > 0 { - for i := len(intStr); i > 3; { - i -= 3 - intStr = intStr[:i] + thousandStr + intStr[i:] - } - } - - // no fractional part, we can leave now - if precision == 0 { - return signStr + intStr - } - - // generate fractional part - fracStr := strconv.Itoa(int(fracf * renderFloatPrecisionMultipliers[precision])) - // may need padding - if len(fracStr) < precision { - fracStr = "000000000000000"[:precision-len(fracStr)] + fracStr - } - - return signStr + intStr + decimalStr + fracStr -} - -// FormatInteger produces a formatted number as string. -// See FormatFloat. -func FormatInteger(format string, n int) string { - return FormatFloat(format, float64(n)) -} diff --git a/vendor/github.com/dustin/go-humanize/ordinals.go b/vendor/github.com/dustin/go-humanize/ordinals.go deleted file mode 100644 index 43d88a86..00000000 --- a/vendor/github.com/dustin/go-humanize/ordinals.go +++ /dev/null @@ -1,25 +0,0 @@ -package humanize - -import "strconv" - -// Ordinal gives you the input number in a rank/ordinal format. -// -// Ordinal(3) -> 3rd -func Ordinal(x int) string { - suffix := "th" - switch x % 10 { - case 1: - if x%100 != 11 { - suffix = "st" - } - case 2: - if x%100 != 12 { - suffix = "nd" - } - case 3: - if x%100 != 13 { - suffix = "rd" - } - } - return strconv.Itoa(x) + suffix -} diff --git a/vendor/github.com/dustin/go-humanize/si.go b/vendor/github.com/dustin/go-humanize/si.go deleted file mode 100644 index ae659e0e..00000000 --- a/vendor/github.com/dustin/go-humanize/si.go +++ /dev/null @@ -1,123 +0,0 @@ -package humanize - -import ( - "errors" - "math" - "regexp" - "strconv" -) - -var siPrefixTable = map[float64]string{ - -24: "y", // yocto - -21: "z", // zepto - -18: "a", // atto - -15: "f", // femto - -12: "p", // pico - -9: "n", // nano - -6: "µ", // micro - -3: "m", // milli - 0: "", - 3: "k", // kilo - 6: "M", // mega - 9: "G", // giga - 12: "T", // tera - 15: "P", // peta - 18: "E", // exa - 21: "Z", // zetta - 24: "Y", // yotta -} - -var revSIPrefixTable = revfmap(siPrefixTable) - -// revfmap reverses the map and precomputes the power multiplier -func revfmap(in map[float64]string) map[string]float64 { - rv := map[string]float64{} - for k, v := range in { - rv[v] = math.Pow(10, k) - } - return rv -} - -var riParseRegex *regexp.Regexp - -func init() { - ri := `^([\-0-9.]+)\s?([` - for _, v := range siPrefixTable { - ri += v - } - ri += `]?)(.*)` - - riParseRegex = regexp.MustCompile(ri) -} - -// ComputeSI finds the most appropriate SI prefix for the given number -// and returns the prefix along with the value adjusted to be within -// that prefix. -// -// See also: SI, ParseSI. -// -// e.g. ComputeSI(2.2345e-12) -> (2.2345, "p") -func ComputeSI(input float64) (float64, string) { - if input == 0 { - return 0, "" - } - mag := math.Abs(input) - exponent := math.Floor(logn(mag, 10)) - exponent = math.Floor(exponent/3) * 3 - - value := mag / math.Pow(10, exponent) - - // Handle special case where value is exactly 1000.0 - // Should return 1 M instead of 1000 k - if value == 1000.0 { - exponent += 3 - value = mag / math.Pow(10, exponent) - } - - value = math.Copysign(value, input) - - prefix := siPrefixTable[exponent] - return value, prefix -} - -// SI returns a string with default formatting. -// -// SI uses Ftoa to format float value, removing trailing zeros. -// -// See also: ComputeSI, ParseSI. -// -// e.g. SI(1000000, "B") -> 1 MB -// e.g. SI(2.2345e-12, "F") -> 2.2345 pF -func SI(input float64, unit string) string { - value, prefix := ComputeSI(input) - return Ftoa(value) + " " + prefix + unit -} - -// SIWithDigits works like SI but limits the resulting string to the -// given number of decimal places. -// -// e.g. SIWithDigits(1000000, 0, "B") -> 1 MB -// e.g. SIWithDigits(2.2345e-12, 2, "F") -> 2.23 pF -func SIWithDigits(input float64, decimals int, unit string) string { - value, prefix := ComputeSI(input) - return FtoaWithDigits(value, decimals) + " " + prefix + unit -} - -var errInvalid = errors.New("invalid input") - -// ParseSI parses an SI string back into the number and unit. -// -// See also: SI, ComputeSI. -// -// e.g. ParseSI("2.2345 pF") -> (2.2345e-12, "F", nil) -func ParseSI(input string) (float64, string, error) { - found := riParseRegex.FindStringSubmatch(input) - if len(found) != 4 { - return 0, "", errInvalid - } - mag := revSIPrefixTable[found[2]] - unit := found[3] - - base, err := strconv.ParseFloat(found[1], 64) - return base * mag, unit, err -} diff --git a/vendor/github.com/dustin/go-humanize/times.go b/vendor/github.com/dustin/go-humanize/times.go deleted file mode 100644 index dd3fbf5e..00000000 --- a/vendor/github.com/dustin/go-humanize/times.go +++ /dev/null @@ -1,117 +0,0 @@ -package humanize - -import ( - "fmt" - "math" - "sort" - "time" -) - -// Seconds-based time units -const ( - Day = 24 * time.Hour - Week = 7 * Day - Month = 30 * Day - Year = 12 * Month - LongTime = 37 * Year -) - -// Time formats a time into a relative string. -// -// Time(someT) -> "3 weeks ago" -func Time(then time.Time) string { - return RelTime(then, time.Now(), "ago", "from now") -} - -// A RelTimeMagnitude struct contains a relative time point at which -// the relative format of time will switch to a new format string. A -// slice of these in ascending order by their "D" field is passed to -// CustomRelTime to format durations. -// -// The Format field is a string that may contain a "%s" which will be -// replaced with the appropriate signed label (e.g. "ago" or "from -// now") and a "%d" that will be replaced by the quantity. -// -// The DivBy field is the amount of time the time difference must be -// divided by in order to display correctly. -// -// e.g. if D is 2*time.Minute and you want to display "%d minutes %s" -// DivBy should be time.Minute so whatever the duration is will be -// expressed in minutes. -type RelTimeMagnitude struct { - D time.Duration - Format string - DivBy time.Duration -} - -var defaultMagnitudes = []RelTimeMagnitude{ - {time.Second, "now", time.Second}, - {2 * time.Second, "1 second %s", 1}, - {time.Minute, "%d seconds %s", time.Second}, - {2 * time.Minute, "1 minute %s", 1}, - {time.Hour, "%d minutes %s", time.Minute}, - {2 * time.Hour, "1 hour %s", 1}, - {Day, "%d hours %s", time.Hour}, - {2 * Day, "1 day %s", 1}, - {Week, "%d days %s", Day}, - {2 * Week, "1 week %s", 1}, - {Month, "%d weeks %s", Week}, - {2 * Month, "1 month %s", 1}, - {Year, "%d months %s", Month}, - {18 * Month, "1 year %s", 1}, - {2 * Year, "2 years %s", 1}, - {LongTime, "%d years %s", Year}, - {math.MaxInt64, "a long while %s", 1}, -} - -// RelTime formats a time into a relative string. -// -// It takes two times and two labels. In addition to the generic time -// delta string (e.g. 5 minutes), the labels are used applied so that -// the label corresponding to the smaller time is applied. -// -// RelTime(timeInPast, timeInFuture, "earlier", "later") -> "3 weeks earlier" -func RelTime(a, b time.Time, albl, blbl string) string { - return CustomRelTime(a, b, albl, blbl, defaultMagnitudes) -} - -// CustomRelTime formats a time into a relative string. -// -// It takes two times two labels and a table of relative time formats. -// In addition to the generic time delta string (e.g. 5 minutes), the -// labels are used applied so that the label corresponding to the -// smaller time is applied. -func CustomRelTime(a, b time.Time, albl, blbl string, magnitudes []RelTimeMagnitude) string { - lbl := albl - diff := b.Sub(a) - - if a.After(b) { - lbl = blbl - diff = a.Sub(b) - } - - n := sort.Search(len(magnitudes), func(i int) bool { - return magnitudes[i].D > diff - }) - - if n >= len(magnitudes) { - n = len(magnitudes) - 1 - } - mag := magnitudes[n] - args := []interface{}{} - escaped := false - for _, ch := range mag.Format { - if escaped { - switch ch { - case 's': - args = append(args, lbl) - case 'd': - args = append(args, diff/mag.DivBy) - } - escaped = false - } else { - escaped = ch == '%' - } - } - return fmt.Sprintf(mag.Format, args...) -} diff --git a/vendor/github.com/gdamore/encoding/.appveyor.yml b/vendor/github.com/gdamore/encoding/.appveyor.yml deleted file mode 100644 index 19a4c5dd..00000000 --- a/vendor/github.com/gdamore/encoding/.appveyor.yml +++ /dev/null @@ -1,13 +0,0 @@ -version: 1.0.{build} -clone_folder: c:\gopath\src\github.com\gdamore\encoding -environment: - GOPATH: c:\gopath -build_script: -- go version -- go env -- SET PATH=%LOCALAPPDATA%\atom\bin;%GOPATH%\bin;%PATH% -- go get -t ./... -- go build -- go install ./... -test_script: -- go test ./... diff --git a/vendor/github.com/gdamore/encoding/.travis.yml b/vendor/github.com/gdamore/encoding/.travis.yml deleted file mode 100644 index 50424138..00000000 --- a/vendor/github.com/gdamore/encoding/.travis.yml +++ /dev/null @@ -1,7 +0,0 @@ -language: go - -go: - - 1.9.x - - 1.10.x - - 1.11.x - - tip diff --git a/vendor/github.com/gdamore/encoding/LICENSE b/vendor/github.com/gdamore/encoding/LICENSE deleted file mode 100644 index d6456956..00000000 --- a/vendor/github.com/gdamore/encoding/LICENSE +++ /dev/null @@ -1,202 +0,0 @@ - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. diff --git a/vendor/github.com/gdamore/encoding/README.md b/vendor/github.com/gdamore/encoding/README.md deleted file mode 100644 index 3db2b4c5..00000000 --- a/vendor/github.com/gdamore/encoding/README.md +++ /dev/null @@ -1,19 +0,0 @@ -## encoding - -[![Linux Status](https://img.shields.io/travis/gdamore/encoding.svg?label=linux)](https://travis-ci.org/gdamore/encoding) -[![Windows Status](https://img.shields.io/appveyor/ci/gdamore/encoding.svg?label=windows)](https://ci.appveyor.com/project/gdamore/encoding) -[![Apache License](https://img.shields.io/badge/license-APACHE2-blue.svg)](https://github.com/gdamore/encoding/blob/master/LICENSE) -[![GoDoc](https://img.shields.io/badge/godoc-reference-blue.svg)](https://godoc.org/github.com/gdamore/encoding) -[![Go Report Card](http://goreportcard.com/badge/gdamore/encoding)](http://goreportcard.com/report/gdamore/encoding) - -Package encoding provides a number of encodings that are missing from the -standard Go [encoding]("https://godoc.org/golang.org/x/text/encoding") package. - -We hope that we can contribute these to the standard Go library someday. It -turns out that some of these are useful for dealing with I/O streams coming -from non-UTF friendly sources. - -The UTF8 Encoder is also useful for situations where valid UTF-8 might be -carried in streams that contain non-valid UTF; in particular I use it for -helping me cope with terminals that embed escape sequences in otherwise -valid UTF-8. diff --git a/vendor/github.com/gdamore/encoding/ascii.go b/vendor/github.com/gdamore/encoding/ascii.go deleted file mode 100644 index b7321f43..00000000 --- a/vendor/github.com/gdamore/encoding/ascii.go +++ /dev/null @@ -1,36 +0,0 @@ -// Copyright 2015 Garrett D'Amore -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use file except in compliance with the License. -// You may obtain a copy of the license at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package encoding - -import ( - "golang.org/x/text/encoding" -) - -// ASCII represents the 7-bit US-ASCII scheme. It decodes directly to -// UTF-8 without change, as all ASCII values are legal UTF-8. -// Unicode values less than 128 (i.e. 7 bits) map 1:1 with ASCII. -// It encodes runes outside of that to 0x1A, the ASCII substitution character. -var ASCII encoding.Encoding - -func init() { - amap := make(map[byte]rune) - for i := 128; i <= 255; i++ { - amap[byte(i)] = RuneError - } - - cm := &Charmap{Map: amap} - cm.Init() - ASCII = cm -} diff --git a/vendor/github.com/gdamore/encoding/charmap.go b/vendor/github.com/gdamore/encoding/charmap.go deleted file mode 100644 index db1c33ef..00000000 --- a/vendor/github.com/gdamore/encoding/charmap.go +++ /dev/null @@ -1,196 +0,0 @@ -// Copyright 2015 Garrett D'Amore -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use file except in compliance with the License. -// You may obtain a copy of the license at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package encoding - -import ( - "sync" - "unicode/utf8" - - "golang.org/x/text/encoding" - "golang.org/x/text/transform" -) - -const ( - // RuneError is an alias for the UTF-8 replacement rune, '\uFFFD'. - RuneError = '\uFFFD' - - // RuneSelf is the rune below which UTF-8 and the Unicode values are - // identical. Its also the limit for ASCII. - RuneSelf = 0x80 - - // ASCIISub is the ASCII substitution character. - ASCIISub = '\x1a' -) - -// Charmap is a structure for setting up encodings for 8-bit character sets, -// for transforming between UTF8 and that other character set. It has some -// ideas borrowed from golang.org/x/text/encoding/charmap, but it uses a -// different implementation. This implementation uses maps, and supports -// user-defined maps. -// -// We do assume that a character map has a reasonable substitution character, -// and that valid encodings are stable (exactly a 1:1 map) and stateless -// (that is there is no shift character or anything like that.) Hence this -// approach will not work for many East Asian character sets. -// -// Measurement shows little or no measurable difference in the performance of -// the two approaches. The difference was down to a couple of nsec/op, and -// no consistent pattern as to which ran faster. With the conversion to -// UTF-8 the code takes about 25 nsec/op. The conversion in the reverse -// direction takes about 100 nsec/op. (The larger cost for conversion -// from UTF-8 is most likely due to the need to convert the UTF-8 byte stream -// to a rune before conversion. -// -type Charmap struct { - transform.NopResetter - bytes map[rune]byte - runes [256][]byte - once sync.Once - - // The map between bytes and runes. To indicate that a specific - // byte value is invalid for a charcter set, use the rune - // utf8.RuneError. Values that are absent from this map will - // be assumed to have the identity mapping -- that is the default - // is to assume ISO8859-1, where all 8-bit characters have the same - // numeric value as their Unicode runes. (Not to be confused with - // the UTF-8 values, which *will* be different for non-ASCII runes.) - // - // If no values less than RuneSelf are changed (or have non-identity - // mappings), then the character set is assumed to be an ASCII - // superset, and certain assumptions and optimizations become - // available for ASCII bytes. - Map map[byte]rune - - // The ReplacementChar is the byte value to use for substitution. - // It should normally be ASCIISub for ASCII encodings. This may be - // unset (left to zero) for mappings that are strictly ASCII supersets. - // In that case ASCIISub will be assumed instead. - ReplacementChar byte -} - -type cmapDecoder struct { - transform.NopResetter - runes [256][]byte -} - -type cmapEncoder struct { - transform.NopResetter - bytes map[rune]byte - replace byte -} - -// Init initializes internal values of a character map. This should -// be done early, to minimize the cost of allocation of transforms -// later. It is not strictly necessary however, as the allocation -// functions will arrange to call it if it has not already been done. -func (c *Charmap) Init() { - c.once.Do(c.initialize) -} - -func (c *Charmap) initialize() { - c.bytes = make(map[rune]byte) - ascii := true - - for i := 0; i < 256; i++ { - r, ok := c.Map[byte(i)] - if !ok { - r = rune(i) - } - if r < 128 && r != rune(i) { - ascii = false - } - if r != RuneError { - c.bytes[r] = byte(i) - } - utf := make([]byte, utf8.RuneLen(r)) - utf8.EncodeRune(utf, r) - c.runes[i] = utf - } - if ascii && c.ReplacementChar == '\x00' { - c.ReplacementChar = ASCIISub - } -} - -// NewDecoder returns a Decoder the converts from the 8-bit -// character set to UTF-8. Unknown mappings, if any, are mapped -// to '\uFFFD'. -func (c *Charmap) NewDecoder() *encoding.Decoder { - c.Init() - return &encoding.Decoder{Transformer: &cmapDecoder{runes: c.runes}} -} - -// NewEncoder returns a Transformer that converts from UTF8 to the -// 8-bit character set. Unknown mappings are mapped to 0x1A. -func (c *Charmap) NewEncoder() *encoding.Encoder { - c.Init() - return &encoding.Encoder{ - Transformer: &cmapEncoder{ - bytes: c.bytes, - replace: c.ReplacementChar, - }, - } -} - -func (d *cmapDecoder) Transform(dst, src []byte, atEOF bool) (int, int, error) { - var e error - var ndst, nsrc int - - for _, c := range src { - b := d.runes[c] - l := len(b) - - if ndst+l > len(dst) { - e = transform.ErrShortDst - break - } - for i := 0; i < l; i++ { - dst[ndst] = b[i] - ndst++ - } - nsrc++ - } - return ndst, nsrc, e -} - -func (d *cmapEncoder) Transform(dst, src []byte, atEOF bool) (int, int, error) { - var e error - var ndst, nsrc int - for nsrc < len(src) { - if ndst >= len(dst) { - e = transform.ErrShortDst - break - } - - r, sz := utf8.DecodeRune(src[nsrc:]) - if r == utf8.RuneError && sz == 1 { - // If its inconclusive due to insufficient data in - // in the source, report it - if !atEOF && !utf8.FullRune(src[nsrc:]) { - e = transform.ErrShortSrc - break - } - } - - if c, ok := d.bytes[r]; ok { - dst[ndst] = c - } else { - dst[ndst] = d.replace - } - nsrc += sz - ndst++ - } - - return ndst, nsrc, e -} diff --git a/vendor/github.com/gdamore/encoding/doc.go b/vendor/github.com/gdamore/encoding/doc.go deleted file mode 100644 index 8a7b48d7..00000000 --- a/vendor/github.com/gdamore/encoding/doc.go +++ /dev/null @@ -1,17 +0,0 @@ -// Copyright 2015 Garrett D'Amore -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use file except in compliance with the License. -// You may obtain a copy of the license at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -// Package encoding provides a few of the encoding structures that are -// missing from the Go x/text/encoding tree. -package encoding diff --git a/vendor/github.com/gdamore/encoding/ebcdic.go b/vendor/github.com/gdamore/encoding/ebcdic.go deleted file mode 100644 index 8e13f1a9..00000000 --- a/vendor/github.com/gdamore/encoding/ebcdic.go +++ /dev/null @@ -1,273 +0,0 @@ -// Copyright 2015 Garrett D'Amore -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use file except in compliance with the License. -// You may obtain a copy of the license at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package encoding - -import ( - "golang.org/x/text/encoding" -) - -// EBCDIC represents the 8-bit EBCDIC scheme, found in some mainframe -// environments. If you don't know what this is, consider yourself lucky. -var EBCDIC encoding.Encoding - -func init() { - cm := &Charmap{ - ReplacementChar: '\x3f', - Map: map[byte]rune{ - // 0x00-0x03 match - 0x04: RuneError, - 0x05: '\t', - 0x06: RuneError, - 0x07: '\x7f', - 0x08: RuneError, - 0x09: RuneError, - 0x0a: RuneError, - // 0x0b-0x13 match - 0x14: RuneError, - 0x15: '\x85', // Not in any ISO code - 0x16: '\x08', - 0x17: RuneError, - // 0x18-0x19 match - 0x1a: RuneError, - 0x1b: RuneError, - // 0x1c-0x1f match - 0x20: RuneError, - 0x21: RuneError, - 0x22: RuneError, - 0x23: RuneError, - 0x24: RuneError, - 0x25: '\n', - 0x26: '\x17', - 0x27: '\x1b', - 0x28: RuneError, - 0x29: RuneError, - 0x2a: RuneError, - 0x2b: RuneError, - 0x2c: RuneError, - 0x2d: '\x05', - 0x2e: '\x06', - 0x2f: '\x07', - 0x30: RuneError, - 0x31: RuneError, - 0x32: '\x16', - 0x33: RuneError, - 0x34: RuneError, - 0x35: RuneError, - 0x36: RuneError, - 0x37: '\x04', - 0x38: RuneError, - 0x39: RuneError, - 0x3a: RuneError, - 0x3b: RuneError, - 0x3c: '\x14', - 0x3d: '\x15', - 0x3e: RuneError, - 0x3f: '\x1a', // also replacement char - 0x40: ' ', - 0x41: '\xa0', - 0x42: RuneError, - 0x43: RuneError, - 0x44: RuneError, - 0x45: RuneError, - 0x46: RuneError, - 0x47: RuneError, - 0x48: RuneError, - 0x49: RuneError, - 0x4a: RuneError, - 0x4b: '.', - 0x4c: '<', - 0x4d: '(', - 0x4e: '+', - 0x4f: '|', - 0x50: '&', - 0x51: RuneError, - 0x52: RuneError, - 0x53: RuneError, - 0x54: RuneError, - 0x55: RuneError, - 0x56: RuneError, - 0x57: RuneError, - 0x58: RuneError, - 0x59: RuneError, - 0x5a: '!', - 0x5b: '$', - 0x5c: '*', - 0x5d: ')', - 0x5e: ';', - 0x5f: '¬', - 0x60: '-', - 0x61: '/', - 0x62: RuneError, - 0x63: RuneError, - 0x64: RuneError, - 0x65: RuneError, - 0x66: RuneError, - 0x67: RuneError, - 0x68: RuneError, - 0x69: RuneError, - 0x6a: '¦', - 0x6b: ',', - 0x6c: '%', - 0x6d: '_', - 0x6e: '>', - 0x6f: '?', - 0x70: RuneError, - 0x71: RuneError, - 0x72: RuneError, - 0x73: RuneError, - 0x74: RuneError, - 0x75: RuneError, - 0x76: RuneError, - 0x77: RuneError, - 0x78: RuneError, - 0x79: '`', - 0x7a: ':', - 0x7b: '#', - 0x7c: '@', - 0x7d: '\'', - 0x7e: '=', - 0x7f: '"', - 0x80: RuneError, - 0x81: 'a', - 0x82: 'b', - 0x83: 'c', - 0x84: 'd', - 0x85: 'e', - 0x86: 'f', - 0x87: 'g', - 0x88: 'h', - 0x89: 'i', - 0x8a: RuneError, - 0x8b: RuneError, - 0x8c: RuneError, - 0x8d: RuneError, - 0x8e: RuneError, - 0x8f: '±', - 0x90: RuneError, - 0x91: 'j', - 0x92: 'k', - 0x93: 'l', - 0x94: 'm', - 0x95: 'n', - 0x96: 'o', - 0x97: 'p', - 0x98: 'q', - 0x99: 'r', - 0x9a: RuneError, - 0x9b: RuneError, - 0x9c: RuneError, - 0x9d: RuneError, - 0x9e: RuneError, - 0x9f: RuneError, - 0xa0: RuneError, - 0xa1: '~', - 0xa2: 's', - 0xa3: 't', - 0xa4: 'u', - 0xa5: 'v', - 0xa6: 'w', - 0xa7: 'x', - 0xa8: 'y', - 0xa9: 'z', - 0xaa: RuneError, - 0xab: RuneError, - 0xac: RuneError, - 0xad: RuneError, - 0xae: RuneError, - 0xaf: RuneError, - 0xb0: '^', - 0xb1: RuneError, - 0xb2: RuneError, - 0xb3: RuneError, - 0xb4: RuneError, - 0xb5: RuneError, - 0xb6: RuneError, - 0xb7: RuneError, - 0xb8: RuneError, - 0xb9: RuneError, - 0xba: '[', - 0xbb: ']', - 0xbc: RuneError, - 0xbd: RuneError, - 0xbe: RuneError, - 0xbf: RuneError, - 0xc0: '{', - 0xc1: 'A', - 0xc2: 'B', - 0xc3: 'C', - 0xc4: 'D', - 0xc5: 'E', - 0xc6: 'F', - 0xc7: 'G', - 0xc8: 'H', - 0xc9: 'I', - 0xca: '\xad', // NB: soft hyphen - 0xcb: RuneError, - 0xcc: RuneError, - 0xcd: RuneError, - 0xce: RuneError, - 0xcf: RuneError, - 0xd0: '}', - 0xd1: 'J', - 0xd2: 'K', - 0xd3: 'L', - 0xd4: 'M', - 0xd5: 'N', - 0xd6: 'O', - 0xd7: 'P', - 0xd8: 'Q', - 0xd9: 'R', - 0xda: RuneError, - 0xdb: RuneError, - 0xdc: RuneError, - 0xdd: RuneError, - 0xde: RuneError, - 0xdf: RuneError, - 0xe0: '\\', - 0xe1: '\u2007', // Non-breaking space - 0xe2: 'S', - 0xe3: 'T', - 0xe4: 'U', - 0xe5: 'V', - 0xe6: 'W', - 0xe7: 'X', - 0xe8: 'Y', - 0xe9: 'Z', - 0xea: RuneError, - 0xeb: RuneError, - 0xec: RuneError, - 0xed: RuneError, - 0xee: RuneError, - 0xef: RuneError, - 0xf0: '0', - 0xf1: '1', - 0xf2: '2', - 0xf3: '3', - 0xf4: '4', - 0xf5: '5', - 0xf6: '6', - 0xf7: '7', - 0xf8: '8', - 0xf9: '9', - 0xfa: RuneError, - 0xfb: RuneError, - 0xfc: RuneError, - 0xfd: RuneError, - 0xfe: RuneError, - 0xff: RuneError, - }} - cm.Init() - EBCDIC = cm -} diff --git a/vendor/github.com/gdamore/encoding/go.mod b/vendor/github.com/gdamore/encoding/go.mod deleted file mode 100644 index e91b30d5..00000000 --- a/vendor/github.com/gdamore/encoding/go.mod +++ /dev/null @@ -1,5 +0,0 @@ -module github.com/gdamore/encoding - -go 1.9 - -require golang.org/x/text v0.3.0 diff --git a/vendor/github.com/gdamore/encoding/go.sum b/vendor/github.com/gdamore/encoding/go.sum deleted file mode 100644 index 6bad37b2..00000000 --- a/vendor/github.com/gdamore/encoding/go.sum +++ /dev/null @@ -1,2 +0,0 @@ -golang.org/x/text v0.3.0 h1:g61tztE5qeGQ89tm6NTjjM9VPIm088od1l6aSorWRWg= -golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= diff --git a/vendor/github.com/gdamore/encoding/latin1.go b/vendor/github.com/gdamore/encoding/latin1.go deleted file mode 100644 index 226bf01d..00000000 --- a/vendor/github.com/gdamore/encoding/latin1.go +++ /dev/null @@ -1,33 +0,0 @@ -// Copyright 2015 Garrett D'Amore -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use file except in compliance with the License. -// You may obtain a copy of the license at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package encoding - -import ( - "golang.org/x/text/encoding" -) - -// ISO8859_1 represents the 8-bit ISO8859-1 scheme. It decodes directly to -// UTF-8 without change, as all ISO8859-1 values are legal UTF-8. -// Unicode values less than 256 (i.e. 8 bits) map 1:1 with 8859-1. -// It encodes runes outside of that to 0x1A, the ASCII substitution character. -var ISO8859_1 encoding.Encoding - -func init() { - cm := &Charmap{} - cm.Init() - - // 8859-1 is the 8-bit identity map for Unicode. - ISO8859_1 = cm -} diff --git a/vendor/github.com/gdamore/encoding/latin5.go b/vendor/github.com/gdamore/encoding/latin5.go deleted file mode 100644 index c75ecf27..00000000 --- a/vendor/github.com/gdamore/encoding/latin5.go +++ /dev/null @@ -1,35 +0,0 @@ -// Copyright 2015 Garrett D'Amore -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use file except in compliance with the License. -// You may obtain a copy of the license at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package encoding - -import ( - "golang.org/x/text/encoding" -) - -// ISO8859_9 represents the 8-bit ISO8859-9 scheme. -var ISO8859_9 encoding.Encoding - -func init() { - cm := &Charmap{Map: map[byte]rune{ - 0xD0: 'Ğ', - 0xDD: 'İ', - 0xDE: 'Ş', - 0xF0: 'ğ', - 0xFD: 'ı', - 0xFE: 'ş', - }} - cm.Init() - ISO8859_9 = cm -} diff --git a/vendor/github.com/gdamore/encoding/utf8.go b/vendor/github.com/gdamore/encoding/utf8.go deleted file mode 100644 index 2d59f4b3..00000000 --- a/vendor/github.com/gdamore/encoding/utf8.go +++ /dev/null @@ -1,35 +0,0 @@ -// Copyright 2015 Garrett D'Amore -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use file except in compliance with the License. -// You may obtain a copy of the license at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package encoding - -import ( - "golang.org/x/text/encoding" -) - -type validUtf8 struct{} - -// UTF8 is an encoding for UTF-8. All it does is verify that the UTF-8 -// in is valid. The main reason for its existence is that it will detect -// and report ErrSrcShort or ErrDstShort, whereas the Nop encoding just -// passes every byte, blithely. -var UTF8 encoding.Encoding = validUtf8{} - -func (validUtf8) NewDecoder() *encoding.Decoder { - return &encoding.Decoder{Transformer: encoding.UTF8Validator} -} - -func (validUtf8) NewEncoder() *encoding.Encoder { - return &encoding.Encoder{Transformer: encoding.UTF8Validator} -} diff --git a/vendor/github.com/gdamore/tcell/.appveyor.yml b/vendor/github.com/gdamore/tcell/.appveyor.yml deleted file mode 100644 index 435dfe3a..00000000 --- a/vendor/github.com/gdamore/tcell/.appveyor.yml +++ /dev/null @@ -1,13 +0,0 @@ -version: 1.0.{build} -clone_folder: c:\gopath\src\github.com\gdamore\tcell -environment: - GOPATH: c:\gopath -build_script: -- go version -- go env -- SET PATH=%LOCALAPPDATA%\atom\bin;%GOPATH%\bin;%PATH% -- go get -t ./... -- go build -- go install ./... -test_script: -- go test ./... diff --git a/vendor/github.com/gdamore/tcell/.gitignore b/vendor/github.com/gdamore/tcell/.gitignore deleted file mode 100644 index c57100a5..00000000 --- a/vendor/github.com/gdamore/tcell/.gitignore +++ /dev/null @@ -1 +0,0 @@ -coverage.txt diff --git a/vendor/github.com/gdamore/tcell/.travis.yml b/vendor/github.com/gdamore/tcell/.travis.yml deleted file mode 100644 index fec3f669..00000000 --- a/vendor/github.com/gdamore/tcell/.travis.yml +++ /dev/null @@ -1,15 +0,0 @@ -language: go - -go: - - 1.10.x - - 1.11.x - - master - -before_install: - - go get -t -v ./... - -script: - - go test -race -coverprofile=coverage.txt -covermode=atomic - -after_success: - - bash <(curl -s https://codecov.io/bash) diff --git a/vendor/github.com/gdamore/tcell/AUTHORS b/vendor/github.com/gdamore/tcell/AUTHORS deleted file mode 100644 index 53f87ee6..00000000 --- a/vendor/github.com/gdamore/tcell/AUTHORS +++ /dev/null @@ -1,4 +0,0 @@ -Garrett D'Amore -Zachary Yedidia -Junegunn Choi -Staysail Systems, Inc. diff --git a/vendor/github.com/gdamore/tcell/LICENSE b/vendor/github.com/gdamore/tcell/LICENSE deleted file mode 100644 index d6456956..00000000 --- a/vendor/github.com/gdamore/tcell/LICENSE +++ /dev/null @@ -1,202 +0,0 @@ - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. diff --git a/vendor/github.com/gdamore/tcell/README.adoc b/vendor/github.com/gdamore/tcell/README.adoc deleted file mode 100644 index 8a4d133a..00000000 --- a/vendor/github.com/gdamore/tcell/README.adoc +++ /dev/null @@ -1,270 +0,0 @@ -= tcell - - -image:https://img.shields.io/travis/gdamore/tcell.svg?label=linux[Linux Status,link="https://travis-ci.org/gdamore/tcell"] -image:https://img.shields.io/appveyor/ci/gdamore/tcell.svg?label=windows[Windows Status,link="https://ci.appveyor.com/project/gdamore/tcell"] -image:https://img.shields.io/badge/license-APACHE2-blue.svg[Apache License,link="https://github.com/gdamore/tcell/blob/master/LICENSE"] -image:https://img.shields.io/badge/gitter-join-brightgreen.svg[Gitter,link="https://gitter.im/gdamore/tcell"] -image:https://img.shields.io/badge/godoc-reference-blue.svg[GoDoc,link="https://godoc.org/github.com/gdamore/tcell"] -image:http://goreportcard.com/badge/gdamore/tcell[Go Report Card,link="http://goreportcard.com/report/gdamore/tcell"] -image:https://codecov.io/gh/gdamore/tcell/branch/master/graph/badge.svg[codecov,link="https://codecov.io/gh/gdamore/tcell"] -image:https://tidelift.com/badges/github/gdamore/tcell?style=flat[Dependencies] - -[cols="2",grid="none"] -|=== -|_Tcell_ is a _Go_ package that provides a cell based view for text terminals, like _xterm_. -It was inspired by _termbox_, but includes many additional improvements. -a|[.right] -image::logos/tcell.png[float="right"] -|=== - -## Examples - -* https://github.com/gdamore/proxima5[proxima5] - space shooter (https://youtu.be/jNxKTCmY_bQ[video]) -* https://github.com/gdamore/govisor[govisor] - service management UI (http://2.bp.blogspot.com/--OsvnfzSNow/Vf7aqMw3zXI/AAAAAAAAARo/uOMtOvw4Sbg/s1600/Screen%2BShot%2B2015-09-20%2Bat%2B9.08.41%2BAM.png[screenshot]) -* mouse demo - included mouse test (http://2.bp.blogspot.com/-fWvW5opT0es/VhIdItdKqJI/AAAAAAAAATE/7Ojc0L1SpB0/s1600/Screen%2BShot%2B2015-10-04%2Bat%2B11.47.13%2BPM.png[screenshot]) -* https://github.com/gdamore/gomatrix[gomatrix] - converted from Termbox -* https://github.com/zyedidia/micro/[micro] - lightweight text editor with syntax-highlighting and themes -* https://github.com/viktomas/godu[godu] - simple golang utility helping to discover large files/folders. -* https://github.com/rivo/tview[tview] - rich interactive widgets for terminal UIs -* https://github.com/marcusolsson/tui-go[tui-go] - UI library for terminal apps -* https://github.com/rgm3/gomandelbrot[gomandelbrot] - Mandelbrot! -* https://github.com/senorprogrammer/wtf[WTF]- Personal information dashboard for your terminal -* https://github.com/browsh-org/browsh[browsh] - A fully-modern text-based browser, rendering to TTY and browsers (https://www.youtube.com/watch?v=HZq86XfBoRo[video]) -* https://github.com/sachaos/go-life[go-life] - Conway's Game of Life. - -## Pure Go Terminfo Database - -_Tcell_ includes a full parser and expander for terminfo capability strings, -so that it can avoid hard coding escape strings for formatting. It also favors -portability, and includes support for all POSIX systems. - -The database is also flexible & extensible, and can modified by either running -a program to build the entire database, or an entry for just a single terminal. - -## More Portable - -_Tcell_ is portable to a wide variety of systems. -_Tcell_ is believed -to work with all of the systems officially supported by golang with -the exception of nacl (which lacks any kind of a terminal interface). -(Plan9 is not supported by _Tcell_, but it is experimental status only -in golang.) For all of these systems *except Solaris/illumos*, _Tcell_ -is pure Go, with no need for CGO. - -## No Async IO - -_Tcell_ is able to operate without requiring `SIGIO` signals (unlike _termbox_), -or asynchronous I/O, and can instead use standard Go file -objects and Go routines. -This means it should be safe, especially for -use with programs that use exec, or otherwise need to manipulate the -tty streams. -This model is also much closer to idiomatic Go, leading -to fewer surprises. - -## Rich Unicode & non-Unicode support - -_Tcell_ includes enhanced support for Unicode, including wide characters and -combining characters, provided your terminal can support them. -Note that -Windows terminals generally don't support the full Unicode repertoire. - -It will also convert to and from Unicode locales, so that the program -can work with UTF-8 internally, and get reasonable output in other locales. -_Tcell_ tries hard to convert to native characters on both input and output, and -on output _Tcell_ even makes use of the alternate character set to facilitate -drawing certain characters. - -## More Function Keys - -_Tcell_ also has richer support for a larger number of special keys that some terminals can send. - -## Better Color Handling - -_Tcell_ will respect your terminal's color space as specified within your terminfo -entries, so that for example attempts to emit color sequences on VT100 terminals -won't result in unintended consequences. - -In Windows mode, _Tcell_ supports 16 colors, bold, dim, and reverse, -instead of just termbox's 8 colors with reverse. (Note that there is some -conflation with bold/dim and colors.) - -_Tcell_ maps 16 colors down to 8, for terminals that need it. -(The upper 8 colors are just brighter versions of the lower 8.) - -## Better Mouse Support - -_Tcell_ supports enhanced mouse tracking mode, so your application can receive -regular mouse motion events, and wheel events, if your terminal supports it. - -## _Termbox_ Compatibility - -A compatibility layer for _termbox_ is provided in the `compat` directory. -To use it, try importing `github.com/gdamore/tcell/termbox` -instead. Most _termbox-go_ programs will probably work without further -modification. - -## Working With Unicode - -Internally Tcell uses UTF-8, just like Go. -However, Tcell understands how to -convert to and from other character sets, using the capabilities of -the `golang.org/x/text/encoding packages`. -Your application must supply -them, as the full set of the most common ones bloats the program by about 2MB. -If you're lazy, and want them all anyway, see the `encoding` sub-directory. - -## Wide & Combining Characters - -The `SetContent()` API takes a primary rune, and an optional list of combining runes. -If any of the runes is a wide (East Asian) rune occupying two cells, -then the library will skip output from the following cell, but care must be -taken in the application to avoid explicitly attempting to set content in the -next cell, otherwise the results are undefined. (Normally wide character -is displayed, and the other character is not; do not depend on that behavior.) - -Experience has shown that the vanilla Windows 8 console application does not -support any of these characters properly, but at least some options like -_ConEmu_ do support Wide characters. - -## Colors - -_Tcell_ assumes the ANSI/XTerm color model, including the 256 color map that -XTerm uses when it supports 256 colors. The terminfo guidance will be -honored, with respect to the number of colors supported. Also, only -terminals which expose ANSI style `setaf` and `setab` will support color; -if you have a color terminal that only has `setf` and `setb`, please let me -know; it wouldn't be hard to add that if there is need. - -## 24-bit Color - -_Tcell_ _supports true color_! (That is, if your terminal can support it, -_Tcell_ can accurately display 24-bit color.) - -To use 24-bit color, you need to use a terminal that supports it. Modern -xterm and similar teminal emulators can support this. As terminfo lacks any -way to describe this capability, we fabricate the capability for -terminals with names ending in `*-truecolor`. The stock distribution ships -with a database that defines `xterm-truecolor`. -To try it out, set your -`TERM` variable to `xterm-truecolor`. - -When using TrueColor, programs will display the colors that the programmer -intended, overriding any "`themes`" you may have set in your terminal -emulator. (For some cases, accurate color fidelity is more important -than respecting themes. For other cases, such as typical text apps that -only use a few colors, its more desirable to respect the themes that -the user has established.) - -If you find this undesirable, you can either use a `TERM` variable -that lacks the `TRUECOLOR` setting, or set `TCELL_TRUECOLOR=disable` in your -environment. - -## Performance - -Reasonable attempts have been made to minimize sending data to terminals, -avoiding repeated sequences or drawing the same cell on refresh updates. - -## Terminfo - -(Not relevent for Windows users.) - -The Terminfo implementation operates with two forms of database. The first -is the built-in go database, which contains a number of real database entries -that are compiled into the program directly. This should minimize calling -out to database file searches. - -The second is in the form of JSON files, that contain the same information, -which can be located either by the `$TCELLDB` environment file, `$HOME/.tcelldb`, -or is located in the Go source directory as `database.json`. - -These files (both the Go and the JSON files) can be generated using the -mkinfo.go program. If you need to regnerate the entire set for some reason, -run the mkdatabase.sh file. The generation uses the infocmp(1) program on -the system to collect the necessary information. - -The `mkinfo.go` program can also be used to generate specific database entries -for named terminals, in case your favorite terminal is missing. (If you -find that this is the case, please let me know and I'll try to add it!) - -_Tcell_ requires that the terminal support the `cup` mode of cursor addressing. -Terminals without absolute cursor addressability are not supported. -This is unlikely to be a problem; such terminals have not been mass produced -since the early 1970s. - -## Mouse Support - -Mouse support is detected via the `kmous` terminfo variable, however, -enablement/disablement and decoding mouse events is done using hard coded -sequences based on the XTerm X11 model. As of this writing all popular -terminals with mouse tracking support this model. (Full terminfo support -is not possible as terminfo sequences are not defined.) - -On Windows, the mouse works normally. - -Mouse wheel buttons on various terminals are known to work, but the support -in terminal emulators, as well as support for various buttons and -live mouse tracking, varies widely. Modern _xterm_, macOS _Terminal_, and _iTerm_ all work well. - -## Testablity - -There is a `SimulationScreen`, that can be used to simulate a real screen -for automated testing. The supplied tests do this. The simulation contains -event delivery, screen resizing support, and capabilities to inject events -and examine "`physical`" screen contents. - -## Platforms - -### POSIX (Linux, FreeBSD, macOS, Solaris, etc.) - -For mainstream systems with a suitably well defined system call interface -to tty settings, everything works using pure Go. - -For the remainder (right now means only Solaris/illumos) we use POSIX function -calls to manage termios, which implies that CGO is required on those platforms. - -### Windows - -Windows console mode applications are supported. Unfortunately _mintty_ -and other _cygwin_ style applications are not supported. - -Modern console applications like ConEmu, as well as the Windows 10 -console itself, support all the good features (resize, mouse tracking, etc.) - -I haven't figured out how to cleanly resolve the dichotomy between cygwin -style termios and the Windows Console API; it seems that perhaps nobody else -has either. If anyone has suggestions, let me know! Really, if you're -using a Windows application, you should use the native Windows console or a -fully compatible console implementation. - -### Plan9 and Native Client (Nacl) - -The nacl and plan9 platforms won't work, but compilation stubs are supplied -for folks that want to include parts of this in software targetting those -platforms. The Simulation screen works, but as Tcell doesn't know how to -allocate a real screen object on those platforms, `NewScreen()` will fail. - -If anyone has wisdom about how to improve support for either of these, -please let me know. PRs are especially welcome. - -### Commercial Support - -_Tcell_ is absolutely free, but if you want to obtain commercial, professional support, there are options. - -[cols="2",align="center",frame="none", grid="none"] -|=== -^.^| -image:logos/tidelift.png[100,100] -a| -https://tidelift.com/[Tidelift] subscriptions include support for _Tcell_, as well as many other open source packages. - -^.^| -image:logos/staysail.png[100,100] -a| -mailto:info@staysail.tech[Staysail Systems, Inc.] offers direct support, and custom development around _Tcell_ on an hourly basis. - -^.^| -image:logos/patreon.png[100,100] -a|I also welcome donations at https://www.patreon.com/gedamore/[Patreon], if you just want to make a contribution. -|=== diff --git a/vendor/github.com/gdamore/tcell/attr.go b/vendor/github.com/gdamore/tcell/attr.go deleted file mode 100644 index 866c0ebd..00000000 --- a/vendor/github.com/gdamore/tcell/attr.go +++ /dev/null @@ -1,32 +0,0 @@ -// Copyright 2015 The TCell Authors -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use file except in compliance with the License. -// You may obtain a copy of the license at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package tcell - -// AttrMask represents a mask of text attributes, apart from color. -// Note that support for attributes may vary widely across terminals. -type AttrMask int - -// Attributes are not colors, but affect the display of text. They can -// be combined. -const ( - AttrBold AttrMask = 1 << (25 + iota) - AttrBlink - AttrReverse - AttrUnderline - AttrDim - AttrNone AttrMask = 0 // Just normal text. -) - -const attrAll = AttrBold | AttrBlink | AttrReverse | AttrUnderline | AttrDim diff --git a/vendor/github.com/gdamore/tcell/cell.go b/vendor/github.com/gdamore/tcell/cell.go deleted file mode 100644 index c7f8f1ad..00000000 --- a/vendor/github.com/gdamore/tcell/cell.go +++ /dev/null @@ -1,177 +0,0 @@ -// Copyright 2019 The TCell Authors -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use file except in compliance with the License. -// You may obtain a copy of the license at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package tcell - -import ( - runewidth "github.com/mattn/go-runewidth" -) - -type cell struct { - currMain rune - currComb []rune - currStyle Style - lastMain rune - lastStyle Style - lastComb []rune - width int -} - -// CellBuffer represents a two dimensional array of character cells. -// This is primarily intended for use by Screen implementors; it -// contains much of the common code they need. To create one, just -// declare a variable of its type; no explicit initialization is necessary. -// -// CellBuffer is not thread safe. -type CellBuffer struct { - w int - h int - cells []cell -} - -// SetContent sets the contents (primary rune, combining runes, -// and style) for a cell at a given location. -func (cb *CellBuffer) SetContent(x int, y int, - mainc rune, combc []rune, style Style) { - - if x >= 0 && y >= 0 && x < cb.w && y < cb.h { - c := &cb.cells[(y*cb.w)+x] - - c.currComb = append([]rune{}, combc...) - - if c.currMain != mainc { - c.width = runewidth.RuneWidth(mainc) - } - c.currMain = mainc - c.currStyle = style - } -} - -// GetContent returns the contents of a character cell, including the -// primary rune, any combining character runes (which will usually be -// nil), the style, and the display width in cells. (The width can be -// either 1, normally, or 2 for East Asian full-width characters.) -func (cb *CellBuffer) GetContent(x, y int) (rune, []rune, Style, int) { - var mainc rune - var combc []rune - var style Style - var width int - if x >= 0 && y >= 0 && x < cb.w && y < cb.h { - c := &cb.cells[(y*cb.w)+x] - mainc, combc, style = c.currMain, c.currComb, c.currStyle - if width = c.width; width == 0 || mainc < ' ' { - width = 1 - mainc = ' ' - } - } - return mainc, combc, style, width -} - -// Size returns the (width, height) in cells of the buffer. -func (cb *CellBuffer) Size() (int, int) { - return cb.w, cb.h -} - -// Invalidate marks all characters within the buffer as dirty. -func (cb *CellBuffer) Invalidate() { - for i := range cb.cells { - cb.cells[i].lastMain = rune(0) - } -} - -// Dirty checks if a character at the given location needs an -// to be refreshed on the physical display. This returns true -// if the cell content is different since the last time it was -// marked clean. -func (cb *CellBuffer) Dirty(x, y int) bool { - if x >= 0 && y >= 0 && x < cb.w && y < cb.h { - c := &cb.cells[(y*cb.w)+x] - if c.lastMain == rune(0) { - return true - } - if c.lastMain != c.currMain { - return true - } - if c.lastStyle != c.currStyle { - return true - } - if len(c.lastComb) != len(c.currComb) { - return true - } - for i := range c.lastComb { - if c.lastComb[i] != c.currComb[i] { - return true - } - } - } - return false -} - -// SetDirty is normally used to indicate that a cell has -// been displayed (in which case dirty is false), or to manually -// force a cell to be marked dirty. -func (cb *CellBuffer) SetDirty(x, y int, dirty bool) { - if x >= 0 && y >= 0 && x < cb.w && y < cb.h { - c := &cb.cells[(y*cb.w)+x] - if dirty { - c.lastMain = rune(0) - } else { - if c.currMain == rune(0) { - c.currMain = ' ' - } - c.lastMain = c.currMain - c.lastComb = c.currComb - c.lastStyle = c.currStyle - } - } -} - -// Resize is used to resize the cells array, with different dimensions, -// while preserving the original contents. The cells will be invalidated -// so that they can be redrawn. -func (cb *CellBuffer) Resize(w, h int) { - - if cb.h == h && cb.w == w { - return - } - - newc := make([]cell, w*h) - for y := 0; y < h && y < cb.h; y++ { - for x := 0; x < w && x < cb.w; x++ { - oc := &cb.cells[(y*cb.w)+x] - nc := &newc[(y*w)+x] - nc.currMain = oc.currMain - nc.currComb = oc.currComb - nc.currStyle = oc.currStyle - nc.width = oc.width - nc.lastMain = rune(0) - } - } - cb.cells = newc - cb.h = h - cb.w = w -} - -// Fill fills the entire cell buffer array with the specified character -// and style. Normally choose ' ' to clear the screen. This API doesn't -// support combining characters, or characters with a width larger than one. -func (cb *CellBuffer) Fill(r rune, style Style) { - for i := range cb.cells { - c := &cb.cells[i] - c.currMain = r - c.currComb = nil - c.currStyle = style - c.width = 1 - } -} diff --git a/vendor/github.com/gdamore/tcell/charset_stub.go b/vendor/github.com/gdamore/tcell/charset_stub.go deleted file mode 100644 index c1c1594c..00000000 --- a/vendor/github.com/gdamore/tcell/charset_stub.go +++ /dev/null @@ -1,21 +0,0 @@ -// +build plan9 nacl - -// Copyright 2015 The TCell Authors -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use file except in compliance with the License. -// You may obtain a copy of the license at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package tcell - -func getCharset() string { - return "" -} diff --git a/vendor/github.com/gdamore/tcell/charset_unix.go b/vendor/github.com/gdamore/tcell/charset_unix.go deleted file mode 100644 index d9f9d8e1..00000000 --- a/vendor/github.com/gdamore/tcell/charset_unix.go +++ /dev/null @@ -1,49 +0,0 @@ -// +build !windows,!nacl,!plan9 - -// Copyright 2016 The TCell Authors -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use file except in compliance with the License. -// You may obtain a copy of the license at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package tcell - -import ( - "os" - "strings" -) - -func getCharset() string { - // Determine the character set. This can help us later. - // Per POSIX, we search for LC_ALL first, then LC_CTYPE, and - // finally LANG. First one set wins. - locale := "" - if locale = os.Getenv("LC_ALL"); locale == "" { - if locale = os.Getenv("LC_CTYPE"); locale == "" { - locale = os.Getenv("LANG") - } - } - if locale == "POSIX" || locale == "C" { - return "US-ASCII" - } - if i := strings.IndexRune(locale, '@'); i >= 0 { - locale = locale[:i] - } - if i := strings.IndexRune(locale, '.'); i >= 0 { - locale = locale[i+1:] - } else { - // Default assumption, and on Linux we can see LC_ALL - // without a character set, which we assume implies UTF-8. - return "UTF-8" - } - // XXX: add support for aliases - return locale -} diff --git a/vendor/github.com/gdamore/tcell/charset_windows.go b/vendor/github.com/gdamore/tcell/charset_windows.go deleted file mode 100644 index 2400aa8a..00000000 --- a/vendor/github.com/gdamore/tcell/charset_windows.go +++ /dev/null @@ -1,21 +0,0 @@ -// +build windows - -// Copyright 2015 The TCell Authors -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use file except in compliance with the License. -// You may obtain a copy of the license at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package tcell - -func getCharset() string { - return "UTF-16" -} diff --git a/vendor/github.com/gdamore/tcell/color.go b/vendor/github.com/gdamore/tcell/color.go deleted file mode 100644 index 2e096c70..00000000 --- a/vendor/github.com/gdamore/tcell/color.go +++ /dev/null @@ -1,1019 +0,0 @@ -// Copyright 2015 The TCell Authors -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use file except in compliance with the License. -// You may obtain a copy of the license at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package tcell - -import "strconv" - -// Color represents a color. The low numeric values are the same as used -// by ECMA-48, and beyond that XTerm. A 24-bit RGB value may be used by -// adding in the ColorIsRGB flag. For Color names we use the W3C approved -// color names. -// -// Note that on various terminals colors may be approximated however, or -// not supported at all. If no suitable representation for a color is known, -// the library will simply not set any color, deferring to whatever default -// attributes the terminal uses. -type Color int32 - -const ( - // ColorDefault is used to leave the Color unchanged from whatever - // system or teminal default may exist. - ColorDefault Color = -1 - - // ColorIsRGB is used to indicate that the numeric value is not - // a known color constant, but rather an RGB value. The lower - // order 3 bytes are RGB. - ColorIsRGB Color = 1 << 24 -) - -// Note that the order of these options is important -- it follows the -// definitions used by ECMA and XTerm. Hence any further named colors -// must begin at a value not less than 256. -const ( - ColorBlack Color = iota - ColorMaroon - ColorGreen - ColorOlive - ColorNavy - ColorPurple - ColorTeal - ColorSilver - ColorGray - ColorRed - ColorLime - ColorYellow - ColorBlue - ColorFuchsia - ColorAqua - ColorWhite - Color16 - Color17 - Color18 - Color19 - Color20 - Color21 - Color22 - Color23 - Color24 - Color25 - Color26 - Color27 - Color28 - Color29 - Color30 - Color31 - Color32 - Color33 - Color34 - Color35 - Color36 - Color37 - Color38 - Color39 - Color40 - Color41 - Color42 - Color43 - Color44 - Color45 - Color46 - Color47 - Color48 - Color49 - Color50 - Color51 - Color52 - Color53 - Color54 - Color55 - Color56 - Color57 - Color58 - Color59 - Color60 - Color61 - Color62 - Color63 - Color64 - Color65 - Color66 - Color67 - Color68 - Color69 - Color70 - Color71 - Color72 - Color73 - Color74 - Color75 - Color76 - Color77 - Color78 - Color79 - Color80 - Color81 - Color82 - Color83 - Color84 - Color85 - Color86 - Color87 - Color88 - Color89 - Color90 - Color91 - Color92 - Color93 - Color94 - Color95 - Color96 - Color97 - Color98 - Color99 - Color100 - Color101 - Color102 - Color103 - Color104 - Color105 - Color106 - Color107 - Color108 - Color109 - Color110 - Color111 - Color112 - Color113 - Color114 - Color115 - Color116 - Color117 - Color118 - Color119 - Color120 - Color121 - Color122 - Color123 - Color124 - Color125 - Color126 - Color127 - Color128 - Color129 - Color130 - Color131 - Color132 - Color133 - Color134 - Color135 - Color136 - Color137 - Color138 - Color139 - Color140 - Color141 - Color142 - Color143 - Color144 - Color145 - Color146 - Color147 - Color148 - Color149 - Color150 - Color151 - Color152 - Color153 - Color154 - Color155 - Color156 - Color157 - Color158 - Color159 - Color160 - Color161 - Color162 - Color163 - Color164 - Color165 - Color166 - Color167 - Color168 - Color169 - Color170 - Color171 - Color172 - Color173 - Color174 - Color175 - Color176 - Color177 - Color178 - Color179 - Color180 - Color181 - Color182 - Color183 - Color184 - Color185 - Color186 - Color187 - Color188 - Color189 - Color190 - Color191 - Color192 - Color193 - Color194 - Color195 - Color196 - Color197 - Color198 - Color199 - Color200 - Color201 - Color202 - Color203 - Color204 - Color205 - Color206 - Color207 - Color208 - Color209 - Color210 - Color211 - Color212 - Color213 - Color214 - Color215 - Color216 - Color217 - Color218 - Color219 - Color220 - Color221 - Color222 - Color223 - Color224 - Color225 - Color226 - Color227 - Color228 - Color229 - Color230 - Color231 - Color232 - Color233 - Color234 - Color235 - Color236 - Color237 - Color238 - Color239 - Color240 - Color241 - Color242 - Color243 - Color244 - Color245 - Color246 - Color247 - Color248 - Color249 - Color250 - Color251 - Color252 - Color253 - Color254 - Color255 - ColorAliceBlue - ColorAntiqueWhite - ColorAquaMarine - ColorAzure - ColorBeige - ColorBisque - ColorBlanchedAlmond - ColorBlueViolet - ColorBrown - ColorBurlyWood - ColorCadetBlue - ColorChartreuse - ColorChocolate - ColorCoral - ColorCornflowerBlue - ColorCornsilk - ColorCrimson - ColorDarkBlue - ColorDarkCyan - ColorDarkGoldenrod - ColorDarkGray - ColorDarkGreen - ColorDarkKhaki - ColorDarkMagenta - ColorDarkOliveGreen - ColorDarkOrange - ColorDarkOrchid - ColorDarkRed - ColorDarkSalmon - ColorDarkSeaGreen - ColorDarkSlateBlue - ColorDarkSlateGray - ColorDarkTurquoise - ColorDarkViolet - ColorDeepPink - ColorDeepSkyBlue - ColorDimGray - ColorDodgerBlue - ColorFireBrick - ColorFloralWhite - ColorForestGreen - ColorGainsboro - ColorGhostWhite - ColorGold - ColorGoldenrod - ColorGreenYellow - ColorHoneydew - ColorHotPink - ColorIndianRed - ColorIndigo - ColorIvory - ColorKhaki - ColorLavender - ColorLavenderBlush - ColorLawnGreen - ColorLemonChiffon - ColorLightBlue - ColorLightCoral - ColorLightCyan - ColorLightGoldenrodYellow - ColorLightGray - ColorLightGreen - ColorLightPink - ColorLightSalmon - ColorLightSeaGreen - ColorLightSkyBlue - ColorLightSlateGray - ColorLightSteelBlue - ColorLightYellow - ColorLimeGreen - ColorLinen - ColorMediumAquamarine - ColorMediumBlue - ColorMediumOrchid - ColorMediumPurple - ColorMediumSeaGreen - ColorMediumSlateBlue - ColorMediumSpringGreen - ColorMediumTurquoise - ColorMediumVioletRed - ColorMidnightBlue - ColorMintCream - ColorMistyRose - ColorMoccasin - ColorNavajoWhite - ColorOldLace - ColorOliveDrab - ColorOrange - ColorOrangeRed - ColorOrchid - ColorPaleGoldenrod - ColorPaleGreen - ColorPaleTurquoise - ColorPaleVioletRed - ColorPapayaWhip - ColorPeachPuff - ColorPeru - ColorPink - ColorPlum - ColorPowderBlue - ColorRebeccaPurple - ColorRosyBrown - ColorRoyalBlue - ColorSaddleBrown - ColorSalmon - ColorSandyBrown - ColorSeaGreen - ColorSeashell - ColorSienna - ColorSkyblue - ColorSlateBlue - ColorSlateGray - ColorSnow - ColorSpringGreen - ColorSteelBlue - ColorTan - ColorThistle - ColorTomato - ColorTurquoise - ColorViolet - ColorWheat - ColorWhiteSmoke - ColorYellowGreen -) - -// These are aliases for the color gray, because some of us spell -// it as grey. -const ( - ColorGrey = ColorGray - ColorDimGrey = ColorDimGray - ColorDarkGrey = ColorDarkGray - ColorDarkSlateGrey = ColorDarkSlateGray - ColorLightGrey = ColorLightGray - ColorLightSlateGrey = ColorLightSlateGray - ColorSlateGrey = ColorSlateGray -) - -// ColorValues maps color constants to their RGB values. -var ColorValues = map[Color]int32{ - ColorBlack: 0x000000, - ColorMaroon: 0x800000, - ColorGreen: 0x008000, - ColorOlive: 0x808000, - ColorNavy: 0x000080, - ColorPurple: 0x800080, - ColorTeal: 0x008080, - ColorSilver: 0xC0C0C0, - ColorGray: 0x808080, - ColorRed: 0xFF0000, - ColorLime: 0x00FF00, - ColorYellow: 0xFFFF00, - ColorBlue: 0x0000FF, - ColorFuchsia: 0xFF00FF, - ColorAqua: 0x00FFFF, - ColorWhite: 0xFFFFFF, - Color16: 0x000000, // black - Color17: 0x00005F, - Color18: 0x000087, - Color19: 0x0000AF, - Color20: 0x0000D7, - Color21: 0x0000FF, // blue - Color22: 0x005F00, - Color23: 0x005F5F, - Color24: 0x005F87, - Color25: 0x005FAF, - Color26: 0x005FD7, - Color27: 0x005FFF, - Color28: 0x008700, - Color29: 0x00875F, - Color30: 0x008787, - Color31: 0x0087Af, - Color32: 0x0087D7, - Color33: 0x0087FF, - Color34: 0x00AF00, - Color35: 0x00AF5F, - Color36: 0x00AF87, - Color37: 0x00AFAF, - Color38: 0x00AFD7, - Color39: 0x00AFFF, - Color40: 0x00D700, - Color41: 0x00D75F, - Color42: 0x00D787, - Color43: 0x00D7AF, - Color44: 0x00D7D7, - Color45: 0x00D7FF, - Color46: 0x00FF00, // lime - Color47: 0x00FF5F, - Color48: 0x00FF87, - Color49: 0x00FFAF, - Color50: 0x00FFd7, - Color51: 0x00FFFF, // aqua - Color52: 0x5F0000, - Color53: 0x5F005F, - Color54: 0x5F0087, - Color55: 0x5F00AF, - Color56: 0x5F00D7, - Color57: 0x5F00FF, - Color58: 0x5F5F00, - Color59: 0x5F5F5F, - Color60: 0x5F5F87, - Color61: 0x5F5FAF, - Color62: 0x5F5FD7, - Color63: 0x5F5FFF, - Color64: 0x5F8700, - Color65: 0x5F875F, - Color66: 0x5F8787, - Color67: 0x5F87AF, - Color68: 0x5F87D7, - Color69: 0x5F87FF, - Color70: 0x5FAF00, - Color71: 0x5FAF5F, - Color72: 0x5FAF87, - Color73: 0x5FAFAF, - Color74: 0x5FAFD7, - Color75: 0x5FAFFF, - Color76: 0x5FD700, - Color77: 0x5FD75F, - Color78: 0x5FD787, - Color79: 0x5FD7AF, - Color80: 0x5FD7D7, - Color81: 0x5FD7FF, - Color82: 0x5FFF00, - Color83: 0x5FFF5F, - Color84: 0x5FFF87, - Color85: 0x5FFFAF, - Color86: 0x5FFFD7, - Color87: 0x5FFFFF, - Color88: 0x870000, - Color89: 0x87005F, - Color90: 0x870087, - Color91: 0x8700AF, - Color92: 0x8700D7, - Color93: 0x8700FF, - Color94: 0x875F00, - Color95: 0x875F5F, - Color96: 0x875F87, - Color97: 0x875FAF, - Color98: 0x875FD7, - Color99: 0x875FFF, - Color100: 0x878700, - Color101: 0x87875F, - Color102: 0x878787, - Color103: 0x8787AF, - Color104: 0x8787D7, - Color105: 0x8787FF, - Color106: 0x87AF00, - Color107: 0x87AF5F, - Color108: 0x87AF87, - Color109: 0x87AFAF, - Color110: 0x87AFD7, - Color111: 0x87AFFF, - Color112: 0x87D700, - Color113: 0x87D75F, - Color114: 0x87D787, - Color115: 0x87D7AF, - Color116: 0x87D7D7, - Color117: 0x87D7FF, - Color118: 0x87FF00, - Color119: 0x87FF5F, - Color120: 0x87FF87, - Color121: 0x87FFAF, - Color122: 0x87FFD7, - Color123: 0x87FFFF, - Color124: 0xAF0000, - Color125: 0xAF005F, - Color126: 0xAF0087, - Color127: 0xAF00AF, - Color128: 0xAF00D7, - Color129: 0xAF00FF, - Color130: 0xAF5F00, - Color131: 0xAF5F5F, - Color132: 0xAF5F87, - Color133: 0xAF5FAF, - Color134: 0xAF5FD7, - Color135: 0xAF5FFF, - Color136: 0xAF8700, - Color137: 0xAF875F, - Color138: 0xAF8787, - Color139: 0xAF87AF, - Color140: 0xAF87D7, - Color141: 0xAF87FF, - Color142: 0xAFAF00, - Color143: 0xAFAF5F, - Color144: 0xAFAF87, - Color145: 0xAFAFAF, - Color146: 0xAFAFD7, - Color147: 0xAFAFFF, - Color148: 0xAFD700, - Color149: 0xAFD75F, - Color150: 0xAFD787, - Color151: 0xAFD7AF, - Color152: 0xAFD7D7, - Color153: 0xAFD7FF, - Color154: 0xAFFF00, - Color155: 0xAFFF5F, - Color156: 0xAFFF87, - Color157: 0xAFFFAF, - Color158: 0xAFFFD7, - Color159: 0xAFFFFF, - Color160: 0xD70000, - Color161: 0xD7005F, - Color162: 0xD70087, - Color163: 0xD700AF, - Color164: 0xD700D7, - Color165: 0xD700FF, - Color166: 0xD75F00, - Color167: 0xD75F5F, - Color168: 0xD75F87, - Color169: 0xD75FAF, - Color170: 0xD75FD7, - Color171: 0xD75FFF, - Color172: 0xD78700, - Color173: 0xD7875F, - Color174: 0xD78787, - Color175: 0xD787AF, - Color176: 0xD787D7, - Color177: 0xD787FF, - Color178: 0xD7AF00, - Color179: 0xD7AF5F, - Color180: 0xD7AF87, - Color181: 0xD7AFAF, - Color182: 0xD7AFD7, - Color183: 0xD7AFFF, - Color184: 0xD7D700, - Color185: 0xD7D75F, - Color186: 0xD7D787, - Color187: 0xD7D7AF, - Color188: 0xD7D7D7, - Color189: 0xD7D7FF, - Color190: 0xD7FF00, - Color191: 0xD7FF5F, - Color192: 0xD7FF87, - Color193: 0xD7FFAF, - Color194: 0xD7FFD7, - Color195: 0xD7FFFF, - Color196: 0xFF0000, // red - Color197: 0xFF005F, - Color198: 0xFF0087, - Color199: 0xFF00AF, - Color200: 0xFF00D7, - Color201: 0xFF00FF, // fuchsia - Color202: 0xFF5F00, - Color203: 0xFF5F5F, - Color204: 0xFF5F87, - Color205: 0xFF5FAF, - Color206: 0xFF5FD7, - Color207: 0xFF5FFF, - Color208: 0xFF8700, - Color209: 0xFF875F, - Color210: 0xFF8787, - Color211: 0xFF87AF, - Color212: 0xFF87D7, - Color213: 0xFF87FF, - Color214: 0xFFAF00, - Color215: 0xFFAF5F, - Color216: 0xFFAF87, - Color217: 0xFFAFAF, - Color218: 0xFFAFD7, - Color219: 0xFFAFFF, - Color220: 0xFFD700, - Color221: 0xFFD75F, - Color222: 0xFFD787, - Color223: 0xFFD7AF, - Color224: 0xFFD7D7, - Color225: 0xFFD7FF, - Color226: 0xFFFF00, // yellow - Color227: 0xFFFF5F, - Color228: 0xFFFF87, - Color229: 0xFFFFAF, - Color230: 0xFFFFD7, - Color231: 0xFFFFFF, // white - Color232: 0x080808, - Color233: 0x121212, - Color234: 0x1C1C1C, - Color235: 0x262626, - Color236: 0x303030, - Color237: 0x3A3A3A, - Color238: 0x444444, - Color239: 0x4E4E4E, - Color240: 0x585858, - Color241: 0x626262, - Color242: 0x6C6C6C, - Color243: 0x767676, - Color244: 0x808080, // grey - Color245: 0x8A8A8A, - Color246: 0x949494, - Color247: 0x9E9E9E, - Color248: 0xA8A8A8, - Color249: 0xB2B2B2, - Color250: 0xBCBCBC, - Color251: 0xC6C6C6, - Color252: 0xD0D0D0, - Color253: 0xDADADA, - Color254: 0xE4E4E4, - Color255: 0xEEEEEE, - ColorAliceBlue: 0xF0F8FF, - ColorAntiqueWhite: 0xFAEBD7, - ColorAquaMarine: 0x7FFFD4, - ColorAzure: 0xF0FFFF, - ColorBeige: 0xF5F5DC, - ColorBisque: 0xFFE4C4, - ColorBlanchedAlmond: 0xFFEBCD, - ColorBlueViolet: 0x8A2BE2, - ColorBrown: 0xA52A2A, - ColorBurlyWood: 0xDEB887, - ColorCadetBlue: 0x5F9EA0, - ColorChartreuse: 0x7FFF00, - ColorChocolate: 0xD2691E, - ColorCoral: 0xFF7F50, - ColorCornflowerBlue: 0x6495ED, - ColorCornsilk: 0xFFF8DC, - ColorCrimson: 0xDC143C, - ColorDarkBlue: 0x00008B, - ColorDarkCyan: 0x008B8B, - ColorDarkGoldenrod: 0xB8860B, - ColorDarkGray: 0xA9A9A9, - ColorDarkGreen: 0x006400, - ColorDarkKhaki: 0xBDB76B, - ColorDarkMagenta: 0x8B008B, - ColorDarkOliveGreen: 0x556B2F, - ColorDarkOrange: 0xFF8C00, - ColorDarkOrchid: 0x9932CC, - ColorDarkRed: 0x8B0000, - ColorDarkSalmon: 0xE9967A, - ColorDarkSeaGreen: 0x8FBC8F, - ColorDarkSlateBlue: 0x483D8B, - ColorDarkSlateGray: 0x2F4F4F, - ColorDarkTurquoise: 0x00CED1, - ColorDarkViolet: 0x9400D3, - ColorDeepPink: 0xFF1493, - ColorDeepSkyBlue: 0x00BFFF, - ColorDimGray: 0x696969, - ColorDodgerBlue: 0x1E90FF, - ColorFireBrick: 0xB22222, - ColorFloralWhite: 0xFFFAF0, - ColorForestGreen: 0x228B22, - ColorGainsboro: 0xDCDCDC, - ColorGhostWhite: 0xF8F8FF, - ColorGold: 0xFFD700, - ColorGoldenrod: 0xDAA520, - ColorGreenYellow: 0xADFF2F, - ColorHoneydew: 0xF0FFF0, - ColorHotPink: 0xFF69B4, - ColorIndianRed: 0xCD5C5C, - ColorIndigo: 0x4B0082, - ColorIvory: 0xFFFFF0, - ColorKhaki: 0xF0E68C, - ColorLavender: 0xE6E6FA, - ColorLavenderBlush: 0xFFF0F5, - ColorLawnGreen: 0x7CFC00, - ColorLemonChiffon: 0xFFFACD, - ColorLightBlue: 0xADD8E6, - ColorLightCoral: 0xF08080, - ColorLightCyan: 0xE0FFFF, - ColorLightGoldenrodYellow: 0xFAFAD2, - ColorLightGray: 0xD3D3D3, - ColorLightGreen: 0x90EE90, - ColorLightPink: 0xFFB6C1, - ColorLightSalmon: 0xFFA07A, - ColorLightSeaGreen: 0x20B2AA, - ColorLightSkyBlue: 0x87CEFA, - ColorLightSlateGray: 0x778899, - ColorLightSteelBlue: 0xB0C4DE, - ColorLightYellow: 0xFFFFE0, - ColorLimeGreen: 0x32CD32, - ColorLinen: 0xFAF0E6, - ColorMediumAquamarine: 0x66CDAA, - ColorMediumBlue: 0x0000CD, - ColorMediumOrchid: 0xBA55D3, - ColorMediumPurple: 0x9370DB, - ColorMediumSeaGreen: 0x3CB371, - ColorMediumSlateBlue: 0x7B68EE, - ColorMediumSpringGreen: 0x00FA9A, - ColorMediumTurquoise: 0x48D1CC, - ColorMediumVioletRed: 0xC71585, - ColorMidnightBlue: 0x191970, - ColorMintCream: 0xF5FFFA, - ColorMistyRose: 0xFFE4E1, - ColorMoccasin: 0xFFE4B5, - ColorNavajoWhite: 0xFFDEAD, - ColorOldLace: 0xFDF5E6, - ColorOliveDrab: 0x6B8E23, - ColorOrange: 0xFFA500, - ColorOrangeRed: 0xFF4500, - ColorOrchid: 0xDA70D6, - ColorPaleGoldenrod: 0xEEE8AA, - ColorPaleGreen: 0x98FB98, - ColorPaleTurquoise: 0xAFEEEE, - ColorPaleVioletRed: 0xDB7093, - ColorPapayaWhip: 0xFFEFD5, - ColorPeachPuff: 0xFFDAB9, - ColorPeru: 0xCD853F, - ColorPink: 0xFFC0CB, - ColorPlum: 0xDDA0DD, - ColorPowderBlue: 0xB0E0E6, - ColorRebeccaPurple: 0x663399, - ColorRosyBrown: 0xBC8F8F, - ColorRoyalBlue: 0x4169E1, - ColorSaddleBrown: 0x8B4513, - ColorSalmon: 0xFA8072, - ColorSandyBrown: 0xF4A460, - ColorSeaGreen: 0x2E8B57, - ColorSeashell: 0xFFF5EE, - ColorSienna: 0xA0522D, - ColorSkyblue: 0x87CEEB, - ColorSlateBlue: 0x6A5ACD, - ColorSlateGray: 0x708090, - ColorSnow: 0xFFFAFA, - ColorSpringGreen: 0x00FF7F, - ColorSteelBlue: 0x4682B4, - ColorTan: 0xD2B48C, - ColorThistle: 0xD8BFD8, - ColorTomato: 0xFF6347, - ColorTurquoise: 0x40E0D0, - ColorViolet: 0xEE82EE, - ColorWheat: 0xF5DEB3, - ColorWhiteSmoke: 0xF5F5F5, - ColorYellowGreen: 0x9ACD32, -} - -// ColorNames holds the written names of colors. Useful to present a list of -// recognized named colors. -var ColorNames = map[string]Color{ - "black": ColorBlack, - "maroon": ColorMaroon, - "green": ColorGreen, - "olive": ColorOlive, - "navy": ColorNavy, - "purple": ColorPurple, - "teal": ColorTeal, - "silver": ColorSilver, - "gray": ColorGray, - "red": ColorRed, - "lime": ColorLime, - "yellow": ColorYellow, - "blue": ColorBlue, - "fuchsia": ColorFuchsia, - "aqua": ColorAqua, - "white": ColorWhite, - "aliceblue": ColorAliceBlue, - "antiquewhite": ColorAntiqueWhite, - "aquamarine": ColorAquaMarine, - "azure": ColorAzure, - "beige": ColorBeige, - "bisque": ColorBisque, - "blanchedalmond": ColorBlanchedAlmond, - "blueviolet": ColorBlueViolet, - "brown": ColorBrown, - "burlywood": ColorBurlyWood, - "cadetblue": ColorCadetBlue, - "chartreuse": ColorChartreuse, - "chocolate": ColorChocolate, - "coral": ColorCoral, - "cornflowerblue": ColorCornflowerBlue, - "cornsilk": ColorCornsilk, - "crimson": ColorCrimson, - "darkblue": ColorDarkBlue, - "darkcyan": ColorDarkCyan, - "darkgoldenrod": ColorDarkGoldenrod, - "darkgray": ColorDarkGray, - "darkgreen": ColorDarkGreen, - "darkkhaki": ColorDarkKhaki, - "darkmagenta": ColorDarkMagenta, - "darkolivegreen": ColorDarkOliveGreen, - "darkorange": ColorDarkOrange, - "darkorchid": ColorDarkOrchid, - "darkred": ColorDarkRed, - "darksalmon": ColorDarkSalmon, - "darkseagreen": ColorDarkSeaGreen, - "darkslateblue": ColorDarkSlateBlue, - "darkslategray": ColorDarkSlateGray, - "darkturquoise": ColorDarkTurquoise, - "darkviolet": ColorDarkViolet, - "deeppink": ColorDeepPink, - "deepskyblue": ColorDeepSkyBlue, - "dimgray": ColorDimGray, - "dodgerblue": ColorDodgerBlue, - "firebrick": ColorFireBrick, - "floralwhite": ColorFloralWhite, - "forestgreen": ColorForestGreen, - "gainsboro": ColorGainsboro, - "ghostwhite": ColorGhostWhite, - "gold": ColorGold, - "goldenrod": ColorGoldenrod, - "greenyellow": ColorGreenYellow, - "honeydew": ColorHoneydew, - "hotpink": ColorHotPink, - "indianred": ColorIndianRed, - "indigo": ColorIndigo, - "ivory": ColorIvory, - "khaki": ColorKhaki, - "lavender": ColorLavender, - "lavenderblush": ColorLavenderBlush, - "lawngreen": ColorLawnGreen, - "lemonchiffon": ColorLemonChiffon, - "lightblue": ColorLightBlue, - "lightcoral": ColorLightCoral, - "lightcyan": ColorLightCyan, - "lightgoldenrodyellow": ColorLightGoldenrodYellow, - "lightgray": ColorLightGray, - "lightgreen": ColorLightGreen, - "lightpink": ColorLightPink, - "lightsalmon": ColorLightSalmon, - "lightseagreen": ColorLightSeaGreen, - "lightskyblue": ColorLightSkyBlue, - "lightslategray": ColorLightSlateGray, - "lightsteelblue": ColorLightSteelBlue, - "lightyellow": ColorLightYellow, - "limegreen": ColorLimeGreen, - "linen": ColorLinen, - "mediumaquamarine": ColorMediumAquamarine, - "mediumblue": ColorMediumBlue, - "mediumorchid": ColorMediumOrchid, - "mediumpurple": ColorMediumPurple, - "mediumseagreen": ColorMediumSeaGreen, - "mediumslateblue": ColorMediumSlateBlue, - "mediumspringgreen": ColorMediumSpringGreen, - "mediumturquoise": ColorMediumTurquoise, - "mediumvioletred": ColorMediumVioletRed, - "midnightblue": ColorMidnightBlue, - "mintcream": ColorMintCream, - "mistyrose": ColorMistyRose, - "moccasin": ColorMoccasin, - "navajowhite": ColorNavajoWhite, - "oldlace": ColorOldLace, - "olivedrab": ColorOliveDrab, - "orange": ColorOrange, - "orangered": ColorOrangeRed, - "orchid": ColorOrchid, - "palegoldenrod": ColorPaleGoldenrod, - "palegreen": ColorPaleGreen, - "paleturquoise": ColorPaleTurquoise, - "palevioletred": ColorPaleVioletRed, - "papayawhip": ColorPapayaWhip, - "peachpuff": ColorPeachPuff, - "peru": ColorPeru, - "pink": ColorPink, - "plum": ColorPlum, - "powderblue": ColorPowderBlue, - "rebeccapurple": ColorRebeccaPurple, - "rosybrown": ColorRosyBrown, - "royalblue": ColorRoyalBlue, - "saddlebrown": ColorSaddleBrown, - "salmon": ColorSalmon, - "sandybrown": ColorSandyBrown, - "seagreen": ColorSeaGreen, - "seashell": ColorSeashell, - "sienna": ColorSienna, - "skyblue": ColorSkyblue, - "slateblue": ColorSlateBlue, - "slategray": ColorSlateGray, - "snow": ColorSnow, - "springgreen": ColorSpringGreen, - "steelblue": ColorSteelBlue, - "tan": ColorTan, - "thistle": ColorThistle, - "tomato": ColorTomato, - "turquoise": ColorTurquoise, - "violet": ColorViolet, - "wheat": ColorWheat, - "whitesmoke": ColorWhiteSmoke, - "yellowgreen": ColorYellowGreen, - "grey": ColorGray, - "dimgrey": ColorDimGray, - "darkgrey": ColorDarkGray, - "darkslategrey": ColorDarkSlateGray, - "lightgrey": ColorLightGray, - "lightslategrey": ColorLightSlateGray, - "slategrey": ColorSlateGray, -} - -// Hex returns the color's hexadecimal RGB 24-bit value with each component -// consisting of a single byte, ala R << 16 | G << 8 | B. If the color -// is unknown or unset, -1 is returned. -func (c Color) Hex() int32 { - if c&ColorIsRGB != 0 { - return (int32(c) & 0xffffff) - } - if v, ok := ColorValues[c]; ok { - return v - } - return -1 -} - -// RGB returns the red, green, and blue components of the color, with -// each component represented as a value 0-255. In the event that the -// color cannot be broken up (not set usually), -1 is returned for each value. -func (c Color) RGB() (int32, int32, int32) { - v := c.Hex() - if v < 0 { - return -1, -1, -1 - } - return (v >> 16) & 0xff, (v >> 8) & 0xff, v & 0xff -} - -// NewRGBColor returns a new color with the given red, green, and blue values. -// Each value must be represented in the range 0-255. -func NewRGBColor(r, g, b int32) Color { - return NewHexColor(((r & 0xff) << 16) | ((g & 0xff) << 8) | (b & 0xff)) -} - -// NewHexColor returns a color using the given 24-bit RGB value. -func NewHexColor(v int32) Color { - return ColorIsRGB | Color(v) -} - -// GetColor creates a Color from a color name (W3C name). A hex value may -// be supplied as a string in the format "#ffffff". -func GetColor(name string) Color { - if c, ok := ColorNames[name]; ok { - return c - } - if len(name) == 7 && name[0] == '#' { - if v, e := strconv.ParseInt(name[1:], 16, 32); e == nil { - return NewHexColor(int32(v)) - } - } - return ColorDefault -} diff --git a/vendor/github.com/gdamore/tcell/colorfit.go b/vendor/github.com/gdamore/tcell/colorfit.go deleted file mode 100644 index b7740b8a..00000000 --- a/vendor/github.com/gdamore/tcell/colorfit.go +++ /dev/null @@ -1,52 +0,0 @@ -// Copyright 2016 The TCell Authors -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use file except in compliance with the License. -// You may obtain a copy of the license at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package tcell - -import ( - "github.com/lucasb-eyer/go-colorful" - "math" -) - -// FindColor attempts to find a given color, or the best match possible for it, -// from the palette given. This is an expensive operation, so results should -// be cached by the caller. -func FindColor(c Color, palette []Color) Color { - match := ColorDefault - dist := float64(0) - r, g, b := c.RGB() - c1 := colorful.Color{ - R: float64(r) / 255.0, - G: float64(g) / 255.0, - B: float64(b) / 255.0, - } - for _, d := range palette { - r, g, b = d.RGB() - c2 := colorful.Color{ - R: float64(r) / 255.0, - G: float64(g) / 255.0, - B: float64(b) / 255.0, - } - // CIE94 is more accurate, but really really expensive. - nd := c1.DistanceCIE76(c2) - if math.IsNaN(nd) { - nd = math.Inf(1) - } - if match == ColorDefault || nd < dist { - match = d - dist = nd - } - } - return match -} diff --git a/vendor/github.com/gdamore/tcell/console_stub.go b/vendor/github.com/gdamore/tcell/console_stub.go deleted file mode 100644 index fda2f092..00000000 --- a/vendor/github.com/gdamore/tcell/console_stub.go +++ /dev/null @@ -1,23 +0,0 @@ -// +build !windows - -// Copyright 2015 The TCell Authors -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use file except in compliance with the License. -// You may obtain a copy of the license at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package tcell - -// NewConsoleScreen returns a console based screen. This platform -// doesn't have support for any, so it returns nil and a suitable error. -func NewConsoleScreen() (Screen, error) { - return nil, ErrNoScreen -} diff --git a/vendor/github.com/gdamore/tcell/console_win.go b/vendor/github.com/gdamore/tcell/console_win.go deleted file mode 100644 index 73467cc2..00000000 --- a/vendor/github.com/gdamore/tcell/console_win.go +++ /dev/null @@ -1,1034 +0,0 @@ -// +build windows - -// Copyright 2019 The TCell Authors -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use file except in compliance with the License. -// You may obtain a copy of the license at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package tcell - -import ( - "errors" - "sync" - "syscall" - "unicode/utf16" - "unsafe" -) - -type cScreen struct { - in syscall.Handle - out syscall.Handle - cancelflag syscall.Handle - scandone chan struct{} - evch chan Event - quit chan struct{} - curx int - cury int - style Style - clear bool - fini bool - - w int - h int - - oscreen consoleInfo - ocursor cursorInfo - oimode uint32 - oomode uint32 - cells CellBuffer - colors map[Color]Color - - sync.Mutex -} - -var winLock sync.Mutex - -var winPalette = []Color{ - ColorBlack, - ColorMaroon, - ColorGreen, - ColorNavy, - ColorOlive, - ColorPurple, - ColorTeal, - ColorSilver, - ColorGray, - ColorRed, - ColorLime, - ColorBlue, - ColorYellow, - ColorFuchsia, - ColorAqua, - ColorWhite, -} - -var winColors = map[Color]Color{ - ColorBlack: ColorBlack, - ColorMaroon: ColorMaroon, - ColorGreen: ColorGreen, - ColorNavy: ColorNavy, - ColorOlive: ColorOlive, - ColorPurple: ColorPurple, - ColorTeal: ColorTeal, - ColorSilver: ColorSilver, - ColorGray: ColorGray, - ColorRed: ColorRed, - ColorLime: ColorLime, - ColorBlue: ColorBlue, - ColorYellow: ColorYellow, - ColorFuchsia: ColorFuchsia, - ColorAqua: ColorAqua, - ColorWhite: ColorWhite, -} - -var k32 = syscall.NewLazyDLL("kernel32.dll") - -// We have to bring in the kernel32.dll directly, so we can get access to some -// system calls that the core Go API lacks. -// -// Note that Windows appends some functions with W to indicate that wide -// characters (Unicode) are in use. The documentation refers to them -// without this suffix, as the resolution is made via preprocessor. -var ( - procReadConsoleInput = k32.NewProc("ReadConsoleInputW") - procWaitForMultipleObjects = k32.NewProc("WaitForMultipleObjects") - procCreateEvent = k32.NewProc("CreateEventW") - procSetEvent = k32.NewProc("SetEvent") - procGetConsoleCursorInfo = k32.NewProc("GetConsoleCursorInfo") - procSetConsoleCursorInfo = k32.NewProc("SetConsoleCursorInfo") - procSetConsoleCursorPosition = k32.NewProc("SetConsoleCursorPosition") - procSetConsoleMode = k32.NewProc("SetConsoleMode") - procGetConsoleMode = k32.NewProc("GetConsoleMode") - procGetConsoleScreenBufferInfo = k32.NewProc("GetConsoleScreenBufferInfo") - procFillConsoleOutputAttribute = k32.NewProc("FillConsoleOutputAttribute") - procFillConsoleOutputCharacter = k32.NewProc("FillConsoleOutputCharacterW") - procSetConsoleWindowInfo = k32.NewProc("SetConsoleWindowInfo") - procSetConsoleScreenBufferSize = k32.NewProc("SetConsoleScreenBufferSize") - procSetConsoleTextAttribute = k32.NewProc("SetConsoleTextAttribute") -) - -const ( - w32Infinite = ^uintptr(0) - w32WaitObject0 = uintptr(0) -) - -// NewConsoleScreen returns a Screen for the Windows console associated -// with the current process. The Screen makes use of the Windows Console -// API to display content and read events. -func NewConsoleScreen() (Screen, error) { - return &cScreen{}, nil -} - -func (s *cScreen) Init() error { - s.evch = make(chan Event, 10) - s.quit = make(chan struct{}) - s.scandone = make(chan struct{}) - - in, e := syscall.Open("CONIN$", syscall.O_RDWR, 0) - if e != nil { - return e - } - s.in = in - out, e := syscall.Open("CONOUT$", syscall.O_RDWR, 0) - if e != nil { - syscall.Close(s.in) - return e - } - s.out = out - - cf, _, e := procCreateEvent.Call( - uintptr(0), - uintptr(1), - uintptr(0), - uintptr(0)) - if cf == uintptr(0) { - return e - } - s.cancelflag = syscall.Handle(cf) - - s.Lock() - - s.curx = -1 - s.cury = -1 - s.style = StyleDefault - s.getCursorInfo(&s.ocursor) - s.getConsoleInfo(&s.oscreen) - s.getOutMode(&s.oomode) - s.getInMode(&s.oimode) - s.resize() - - s.fini = false - s.setInMode(modeResizeEn) - s.setOutMode(0) - s.clearScreen(s.style) - s.hideCursor() - s.Unlock() - go s.scanInput() - - return nil -} - -func (s *cScreen) CharacterSet() string { - // We are always UTF-16LE on Windows - return "UTF-16LE" -} - -func (s *cScreen) EnableMouse() { - s.setInMode(modeResizeEn | modeMouseEn | modeExtndFlg) -} - -func (s *cScreen) DisableMouse() { - s.setInMode(modeResizeEn) -} - -func (s *cScreen) Fini() { - s.Lock() - s.style = StyleDefault - s.curx = -1 - s.cury = -1 - s.fini = true - s.Unlock() - - s.setCursorInfo(&s.ocursor) - s.setInMode(s.oimode) - s.setOutMode(s.oomode) - s.setBufferSize(int(s.oscreen.size.x), int(s.oscreen.size.y)) - s.clearScreen(StyleDefault) - s.setCursorPos(0, 0) - procSetConsoleTextAttribute.Call( - uintptr(s.out), - uintptr(s.mapStyle(StyleDefault))) - - close(s.quit) - procSetEvent.Call(uintptr(s.cancelflag)) - // Block until scanInput returns; this prevents a race condition on Win 8+ - // which causes syscall.Close to block until another keypress is read. - <-s.scandone - syscall.Close(s.in) - syscall.Close(s.out) -} - -func (s *cScreen) PostEventWait(ev Event) { - s.evch <- ev -} - -func (s *cScreen) PostEvent(ev Event) error { - select { - case s.evch <- ev: - return nil - default: - return ErrEventQFull - } -} - -func (s *cScreen) PollEvent() Event { - select { - case <-s.quit: - return nil - case ev := <-s.evch: - return ev - } -} - -type cursorInfo struct { - size uint32 - visible uint32 -} - -type coord struct { - x int16 - y int16 -} - -func (c coord) uintptr() uintptr { - // little endian, put x first - return uintptr(c.x) | (uintptr(c.y) << 16) -} - -type rect struct { - left int16 - top int16 - right int16 - bottom int16 -} - -func (s *cScreen) showCursor() { - s.setCursorInfo(&cursorInfo{size: 100, visible: 1}) -} - -func (s *cScreen) hideCursor() { - s.setCursorInfo(&cursorInfo{size: 1, visible: 0}) -} - -func (s *cScreen) ShowCursor(x, y int) { - s.Lock() - if !s.fini { - s.curx = x - s.cury = y - } - s.doCursor() - s.Unlock() -} - -func (s *cScreen) doCursor() { - x, y := s.curx, s.cury - - if x < 0 || y < 0 || x >= s.w || y >= s.h { - s.setCursorPos(0, 0) - s.hideCursor() - } else { - s.setCursorPos(x, y) - s.showCursor() - } -} - -func (s *cScreen) HideCursor() { - s.ShowCursor(-1, -1) -} - -type charInfo struct { - ch uint16 - attr uint16 -} - -type inputRecord struct { - typ uint16 - _ uint16 - data [16]byte -} - -const ( - keyEvent uint16 = 1 - mouseEvent uint16 = 2 - resizeEvent uint16 = 4 - menuEvent uint16 = 8 // don't use - focusEvent uint16 = 16 // don't use -) - -type mouseRecord struct { - x int16 - y int16 - btns uint32 - mod uint32 - flags uint32 -} - -const ( - mouseDoubleClick uint32 = 0x2 - mouseHWheeled uint32 = 0x8 - mouseVWheeled uint32 = 0x4 - mouseMoved uint32 = 0x1 -) - -type resizeRecord struct { - x int16 - y int16 -} - -type keyRecord struct { - isdown int32 - repeat uint16 - kcode uint16 - scode uint16 - ch uint16 - mod uint32 -} - -const ( - // Constants per Microsoft. We don't put the modifiers - // here. - vkCancel = 0x03 - vkBack = 0x08 // Backspace - vkTab = 0x09 - vkClear = 0x0c - vkReturn = 0x0d - vkPause = 0x13 - vkEscape = 0x1b - vkSpace = 0x20 - vkPrior = 0x21 // PgUp - vkNext = 0x22 // PgDn - vkEnd = 0x23 - vkHome = 0x24 - vkLeft = 0x25 - vkUp = 0x26 - vkRight = 0x27 - vkDown = 0x28 - vkPrint = 0x2a - vkPrtScr = 0x2c - vkInsert = 0x2d - vkDelete = 0x2e - vkHelp = 0x2f - vkF1 = 0x70 - vkF2 = 0x71 - vkF3 = 0x72 - vkF4 = 0x73 - vkF5 = 0x74 - vkF6 = 0x75 - vkF7 = 0x76 - vkF8 = 0x77 - vkF9 = 0x78 - vkF10 = 0x79 - vkF11 = 0x7a - vkF12 = 0x7b - vkF13 = 0x7c - vkF14 = 0x7d - vkF15 = 0x7e - vkF16 = 0x7f - vkF17 = 0x80 - vkF18 = 0x81 - vkF19 = 0x82 - vkF20 = 0x83 - vkF21 = 0x84 - vkF22 = 0x85 - vkF23 = 0x86 - vkF24 = 0x87 -) - -var vkKeys = map[uint16]Key{ - vkCancel: KeyCancel, - vkBack: KeyBackspace, - vkTab: KeyTab, - vkClear: KeyClear, - vkPause: KeyPause, - vkPrint: KeyPrint, - vkPrtScr: KeyPrint, - vkPrior: KeyPgUp, - vkNext: KeyPgDn, - vkReturn: KeyEnter, - vkEnd: KeyEnd, - vkHome: KeyHome, - vkLeft: KeyLeft, - vkUp: KeyUp, - vkRight: KeyRight, - vkDown: KeyDown, - vkInsert: KeyInsert, - vkDelete: KeyDelete, - vkHelp: KeyHelp, - vkF1: KeyF1, - vkF2: KeyF2, - vkF3: KeyF3, - vkF4: KeyF4, - vkF5: KeyF5, - vkF6: KeyF6, - vkF7: KeyF7, - vkF8: KeyF8, - vkF9: KeyF9, - vkF10: KeyF10, - vkF11: KeyF11, - vkF12: KeyF12, - vkF13: KeyF13, - vkF14: KeyF14, - vkF15: KeyF15, - vkF16: KeyF16, - vkF17: KeyF17, - vkF18: KeyF18, - vkF19: KeyF19, - vkF20: KeyF20, - vkF21: KeyF21, - vkF22: KeyF22, - vkF23: KeyF23, - vkF24: KeyF24, -} - -// NB: All Windows platforms are little endian. We assume this -// never, ever change. The following code is endian safe. and does -// not use unsafe pointers. -func getu32(v []byte) uint32 { - return uint32(v[0]) + (uint32(v[1]) << 8) + (uint32(v[2]) << 16) + (uint32(v[3]) << 24) -} -func geti32(v []byte) int32 { - return int32(getu32(v)) -} -func getu16(v []byte) uint16 { - return uint16(v[0]) + (uint16(v[1]) << 8) -} -func geti16(v []byte) int16 { - return int16(getu16(v)) -} - -// Convert windows dwControlKeyState to modifier mask -func mod2mask(cks uint32) ModMask { - mm := ModNone - // Left or right control - if (cks & (0x0008 | 0x0004)) != 0 { - mm |= ModCtrl - } - // Left or right alt - if (cks & (0x0002 | 0x0001)) != 0 { - mm |= ModAlt - } - // Any shift - if (cks & 0x0010) != 0 { - mm |= ModShift - } - return mm -} - -func mrec2btns(mbtns, flags uint32) ButtonMask { - btns := ButtonNone - if mbtns&0x1 != 0 { - btns |= Button1 - } - if mbtns&0x2 != 0 { - btns |= Button2 - } - if mbtns&0x4 != 0 { - btns |= Button3 - } - if mbtns&0x8 != 0 { - btns |= Button4 - } - if mbtns&0x10 != 0 { - btns |= Button5 - } - if mbtns&0x20 != 0 { - btns |= Button6 - } - if mbtns&0x40 != 0 { - btns |= Button7 - } - if mbtns&0x80 != 0 { - btns |= Button8 - } - - if flags&mouseVWheeled != 0 { - if mbtns&0x80000000 == 0 { - btns |= WheelUp - } else { - btns |= WheelDown - } - } - if flags&mouseHWheeled != 0 { - if mbtns&0x80000000 == 0 { - btns |= WheelRight - } else { - btns |= WheelLeft - } - } - return btns -} - -func (s *cScreen) getConsoleInput() error { - // cancelFlag comes first as WaitForMultipleObjects returns the lowest index - // in the event that both events are signalled. - waitObjects := []syscall.Handle{s.cancelflag, s.in} - // As arrays are contiguous in memory, a pointer to the first object is the - // same as a pointer to the array itself. - pWaitObjects := unsafe.Pointer(&waitObjects[0]) - - rv, _, er := procWaitForMultipleObjects.Call( - uintptr(len(waitObjects)), - uintptr(pWaitObjects), - uintptr(0), - w32Infinite) - // WaitForMultipleObjects returns WAIT_OBJECT_0 + the index. - switch rv { - case w32WaitObject0: // s.cancelFlag - return errors.New("cancelled") - case w32WaitObject0 + 1: // s.in - rec := &inputRecord{} - var nrec int32 - rv, _, er := procReadConsoleInput.Call( - uintptr(s.in), - uintptr(unsafe.Pointer(rec)), - uintptr(1), - uintptr(unsafe.Pointer(&nrec))) - if rv == 0 { - return er - } - if nrec != 1 { - return nil - } - switch rec.typ { - case keyEvent: - krec := &keyRecord{} - krec.isdown = geti32(rec.data[0:]) - krec.repeat = getu16(rec.data[4:]) - krec.kcode = getu16(rec.data[6:]) - krec.scode = getu16(rec.data[8:]) - krec.ch = getu16(rec.data[10:]) - krec.mod = getu32(rec.data[12:]) - - if krec.isdown == 0 || krec.repeat < 1 { - // its a key release event, ignore it - return nil - } - if krec.ch != 0 { - // synthesized key code - for krec.repeat > 0 { - // convert shift+tab to backtab - if mod2mask(krec.mod) == ModShift && krec.ch == vkTab { - s.PostEvent(NewEventKey(KeyBacktab, 0, - ModNone)) - } else { - s.PostEvent(NewEventKey(KeyRune, rune(krec.ch), - mod2mask(krec.mod))) - } - krec.repeat-- - } - return nil - } - key := KeyNUL // impossible on Windows - ok := false - if key, ok = vkKeys[krec.kcode]; !ok { - return nil - } - for krec.repeat > 0 { - s.PostEvent(NewEventKey(key, rune(krec.ch), - mod2mask(krec.mod))) - krec.repeat-- - } - - case mouseEvent: - var mrec mouseRecord - mrec.x = geti16(rec.data[0:]) - mrec.y = geti16(rec.data[2:]) - mrec.btns = getu32(rec.data[4:]) - mrec.mod = getu32(rec.data[8:]) - mrec.flags = getu32(rec.data[12:]) - btns := mrec2btns(mrec.btns, mrec.flags) - // we ignore double click, events are delivered normally - s.PostEvent(NewEventMouse(int(mrec.x), int(mrec.y), btns, - mod2mask(mrec.mod))) - - case resizeEvent: - var rrec resizeRecord - rrec.x = geti16(rec.data[0:]) - rrec.y = geti16(rec.data[2:]) - s.PostEvent(NewEventResize(int(rrec.x), int(rrec.y))) - - default: - } - default: - return er - } - - return nil -} - -func (s *cScreen) scanInput() { - for { - if e := s.getConsoleInput(); e != nil { - close(s.scandone) - return - } - } -} - -// Windows console can display 8 characters, in either low or high intensity -func (s *cScreen) Colors() int { - return 16 -} - -var vgaColors = map[Color]uint16{ - ColorBlack: 0, - ColorMaroon: 0x4, - ColorGreen: 0x2, - ColorNavy: 0x1, - ColorOlive: 0x6, - ColorPurple: 0x5, - ColorTeal: 0x3, - ColorSilver: 0x7, - ColorGrey: 0x8, - ColorRed: 0xc, - ColorLime: 0xa, - ColorBlue: 0x9, - ColorYellow: 0xe, - ColorFuchsia: 0xd, - ColorAqua: 0xb, - ColorWhite: 0xf, -} - -// Windows uses RGB signals -func mapColor2RGB(c Color) uint16 { - winLock.Lock() - if v, ok := winColors[c]; ok { - c = v - } else { - v = FindColor(c, winPalette) - winColors[c] = v - c = v - } - winLock.Unlock() - - if vc, ok := vgaColors[c]; ok { - return vc - } - return 0 -} - -// Map a tcell style to Windows attributes -func (s *cScreen) mapStyle(style Style) uint16 { - f, b, a := style.Decompose() - fa := s.oscreen.attrs & 0xf - ba := (s.oscreen.attrs) >> 4 & 0xf - if f != ColorDefault { - fa = mapColor2RGB(f) - } - if b != ColorDefault { - ba = mapColor2RGB(b) - } - var attr uint16 - // We simulate reverse by doing the color swap ourselves. - // Apparently windows cannot really do this except in DBCS - // views. - if a&AttrReverse != 0 { - attr = ba - attr |= (fa << 4) - } else { - attr = fa - attr |= (ba << 4) - } - if a&AttrBold != 0 { - attr |= 0x8 - } - if a&AttrDim != 0 { - attr &^= 0x8 - } - if a&AttrUnderline != 0 { - // Best effort -- doesn't seem to work though. - attr |= 0x8000 - } - // Blink is unsupported - return attr -} - -func (s *cScreen) SetCell(x, y int, style Style, ch ...rune) { - if len(ch) > 0 { - s.SetContent(x, y, ch[0], ch[1:], style) - } else { - s.SetContent(x, y, ' ', nil, style) - } -} - -func (s *cScreen) SetContent(x, y int, mainc rune, combc []rune, style Style) { - s.Lock() - if !s.fini { - s.cells.SetContent(x, y, mainc, combc, style) - } - s.Unlock() -} - -func (s *cScreen) GetContent(x, y int) (rune, []rune, Style, int) { - s.Lock() - mainc, combc, style, width := s.cells.GetContent(x, y) - s.Unlock() - return mainc, combc, style, width -} - -func (s *cScreen) writeString(x, y int, style Style, ch []uint16) { - // we assume the caller has hidden the cursor - if len(ch) == 0 { - return - } - nw := uint32(len(ch)) - procSetConsoleTextAttribute.Call( - uintptr(s.out), - uintptr(s.mapStyle(style))) - s.setCursorPos(x, y) - syscall.WriteConsole(s.out, &ch[0], nw, &nw, nil) -} - -func (s *cScreen) draw() { - // allocate a scratch line bit enough for no combining chars. - // if you have combining characters, you may pay for extra allocs. - if s.clear { - s.clearScreen(s.style) - s.clear = false - s.cells.Invalidate() - } - buf := make([]uint16, 0, s.w) - wcs := buf[:] - lstyle := Style(-1) // invalid attribute - - lx, ly := -1, -1 - ra := make([]rune, 1) - - for y := 0; y < int(s.h); y++ { - for x := 0; x < int(s.w); x++ { - mainc, combc, style, width := s.cells.GetContent(x, y) - dirty := s.cells.Dirty(x, y) - if style == StyleDefault { - style = s.style - } - - if !dirty || style != lstyle { - // write out any data queued thus far - // because we are going to skip over some - // cells, or because we need to change styles - s.writeString(lx, ly, lstyle, wcs) - wcs = buf[0:0] - lstyle = Style(-1) - if !dirty { - continue - } - } - if x > s.w-width { - mainc = ' ' - combc = nil - width = 1 - } - if len(wcs) == 0 { - lstyle = style - lx = x - ly = y - } - ra[0] = mainc - wcs = append(wcs, utf16.Encode(ra)...) - if len(combc) != 0 { - wcs = append(wcs, utf16.Encode(combc)...) - } - for dx := 0; dx < width; dx++ { - s.cells.SetDirty(x+dx, y, false) - } - x += width - 1 - } - s.writeString(lx, ly, lstyle, wcs) - wcs = buf[0:0] - lstyle = Style(-1) - } -} - -func (s *cScreen) Show() { - s.Lock() - if !s.fini { - s.hideCursor() - s.resize() - s.draw() - s.doCursor() - } - s.Unlock() -} - -func (s *cScreen) Sync() { - s.Lock() - if !s.fini { - s.cells.Invalidate() - s.hideCursor() - s.resize() - s.draw() - s.doCursor() - } - s.Unlock() -} - -type consoleInfo struct { - size coord - pos coord - attrs uint16 - win rect - maxsz coord -} - -func (s *cScreen) getConsoleInfo(info *consoleInfo) { - procGetConsoleScreenBufferInfo.Call( - uintptr(s.out), - uintptr(unsafe.Pointer(info))) -} - -func (s *cScreen) getCursorInfo(info *cursorInfo) { - procGetConsoleCursorInfo.Call( - uintptr(s.out), - uintptr(unsafe.Pointer(info))) -} - -func (s *cScreen) setCursorInfo(info *cursorInfo) { - procSetConsoleCursorInfo.Call( - uintptr(s.out), - uintptr(unsafe.Pointer(info))) -} - -func (s *cScreen) setCursorPos(x, y int) { - procSetConsoleCursorPosition.Call( - uintptr(s.out), - coord{int16(x), int16(y)}.uintptr()) -} - -func (s *cScreen) setBufferSize(x, y int) { - procSetConsoleScreenBufferSize.Call( - uintptr(s.out), - coord{int16(x), int16(y)}.uintptr()) -} - -func (s *cScreen) Size() (int, int) { - s.Lock() - w, h := s.w, s.h - s.Unlock() - - return w, h -} - -func (s *cScreen) resize() { - info := consoleInfo{} - s.getConsoleInfo(&info) - - w := int((info.win.right - info.win.left) + 1) - h := int((info.win.bottom - info.win.top) + 1) - - if s.w == w && s.h == h { - return - } - - s.cells.Resize(w, h) - s.w = w - s.h = h - - s.setBufferSize(w, h) - - r := rect{0, 0, int16(w - 1), int16(h - 1)} - procSetConsoleWindowInfo.Call( - uintptr(s.out), - uintptr(1), - uintptr(unsafe.Pointer(&r))) - - s.PostEvent(NewEventResize(w, h)) -} - -func (s *cScreen) Clear() { - s.Fill(' ', s.style) -} - -func (s *cScreen) Fill(r rune, style Style) { - s.Lock() - if !s.fini { - s.cells.Fill(r, style) - s.clear = true - } - s.Unlock() -} - -func (s *cScreen) clearScreen(style Style) { - pos := coord{0, 0} - attr := s.mapStyle(style) - x, y := s.w, s.h - scratch := uint32(0) - count := uint32(x * y) - - procFillConsoleOutputAttribute.Call( - uintptr(s.out), - uintptr(attr), - uintptr(count), - pos.uintptr(), - uintptr(unsafe.Pointer(&scratch))) - procFillConsoleOutputCharacter.Call( - uintptr(s.out), - uintptr(' '), - uintptr(count), - pos.uintptr(), - uintptr(unsafe.Pointer(&scratch))) -} - -const ( - modeExtndFlg uint32 = 0x0080 - modeMouseEn uint32 = 0x0010 - modeResizeEn uint32 = 0x0008 - modeWrapEOL uint32 = 0x0002 - modeCooked uint32 = 0x0001 -) - -func (s *cScreen) setInMode(mode uint32) error { - rv, _, err := procSetConsoleMode.Call( - uintptr(s.in), - uintptr(mode)) - if rv == 0 { - return err - } - return nil -} - -func (s *cScreen) setOutMode(mode uint32) error { - rv, _, err := procSetConsoleMode.Call( - uintptr(s.out), - uintptr(mode)) - if rv == 0 { - return err - } - return nil -} - -func (s *cScreen) getInMode(v *uint32) { - procGetConsoleMode.Call( - uintptr(s.in), - uintptr(unsafe.Pointer(v))) -} - -func (s *cScreen) getOutMode(v *uint32) { - procGetConsoleMode.Call( - uintptr(s.out), - uintptr(unsafe.Pointer(v))) -} - -func (s *cScreen) SetStyle(style Style) { - s.Lock() - s.style = style - s.Unlock() -} - -// No fallback rune support, since we have Unicode. Yay! - -func (s *cScreen) RegisterRuneFallback(r rune, subst string) { -} - -func (s *cScreen) UnregisterRuneFallback(r rune) { -} - -func (s *cScreen) CanDisplay(r rune, checkFallbacks bool) bool { - // We presume we can display anything -- we're Unicode. - // (Sadly this not precisely true. Combinings are especially - // poorly supported under Windows.) - return true -} - -func (s *cScreen) HasMouse() bool { - return true -} - -func (s *cScreen) Resize(int, int, int, int) {} - -func (s *cScreen) HasKey(k Key) bool { - // Microsoft has codes for some keys, but they are unusual, - // so we don't include them. We include all the typical - // 101, 105 key layout keys. - valid := map[Key]bool{ - KeyBackspace: true, - KeyTab: true, - KeyEscape: true, - KeyPause: true, - KeyPrint: true, - KeyPgUp: true, - KeyPgDn: true, - KeyEnter: true, - KeyEnd: true, - KeyHome: true, - KeyLeft: true, - KeyUp: true, - KeyRight: true, - KeyDown: true, - KeyInsert: true, - KeyDelete: true, - KeyF1: true, - KeyF2: true, - KeyF3: true, - KeyF4: true, - KeyF5: true, - KeyF6: true, - KeyF7: true, - KeyF8: true, - KeyF9: true, - KeyF10: true, - KeyF11: true, - KeyF12: true, - KeyRune: true, - } - - return valid[k] -} diff --git a/vendor/github.com/gdamore/tcell/database.json b/vendor/github.com/gdamore/tcell/database.json deleted file mode 100644 index 2769591a..00000000 --- a/vendor/github.com/gdamore/tcell/database.json +++ /dev/null @@ -1,1351 +0,0 @@ -{"name":"rxvt-unicode","cols":80,"lines":24,"colors":88,"bell":"\u0007","clear":"\u001b[H\u001b[2J","smcup":"\u001b[?1049h","rmcup":"\u001b[r\u001b[?1049l","cnorm":"\u001b[?12l\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b[m\u001b(B","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","smkx":"\u001b=","rmkx":"\u001b\u003e","setaf":"\u001b[38;5;%p1%dm","setbg":"\u001b[48;5;%p1%dm","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","kbs":"","kf1":"\u001b[11~","kf2":"\u001b[12~","kf3":"\u001b[13~","kf4":"\u001b[14~","kf5":"\u001b[15~","kf6":"\u001b[17~","kf7":"\u001b[18~","kf8":"\u001b[19~","kf9":"\u001b[20~","kf10":"\u001b[21~","kf11":"\u001b[23~","kf12":"\u001b[24~","kf13":"\u001b[25~","kf14":"\u001b[26~","kf15":"\u001b[28~","kf16":"\u001b[29~","kf17":"\u001b[31~","kf18":"\u001b[32~","kf19":"\u001b[33~","kf20":"\u001b[34~","kich":"\u001b[2~","kdch":"\u001b[3~","khome":"\u001b[7~","kend":"\u001b[8~","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001b[Z","kmous":"\u001b[M","XM":"%?%p1%{1}%=%t%'h'%Pa%e%'l'%Pa%;\u001b[?1000%ga%c\u001b[?1002%ga%c\u001b[?1003%ga%c\u001b[?1006%ga%c","acsc":"``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~-A.B+C,D0EhFiG","smacs":"\u001b(0","rmacs":"\u001b(B","kRIT":"\u001b[c","kLFT":"\u001b[d","kHOM":"\u001b[7$","kEND":"\u001b[8$","_setfgbg":"\u001b[38;5;%p1%d;48;5;%p2%dm","_kscu1":"\u001b[a","_kscud1":"\u001b[b","_kccu1":"\u001b[Oa","_kccud1":"\u001b[Ob","_kccuf1":"\u001b[Oc","_kccub1":"\u001b[Od","_kchome":"\u001b[7^","_kcend":"\u001b[8^"} -{"name":"rxvt-unicode-256color","cols":80,"lines":24,"colors":256,"bell":"\u0007","clear":"\u001b[H\u001b[2J","smcup":"\u001b[?1049h","rmcup":"\u001b[r\u001b[?1049l","cnorm":"\u001b[?12l\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b[m\u001b(B","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","smkx":"\u001b=","rmkx":"\u001b\u003e","setaf":"\u001b[38;5;%p1%dm","setbg":"\u001b[48;5;%p1%dm","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","kbs":"","kf1":"\u001b[11~","kf2":"\u001b[12~","kf3":"\u001b[13~","kf4":"\u001b[14~","kf5":"\u001b[15~","kf6":"\u001b[17~","kf7":"\u001b[18~","kf8":"\u001b[19~","kf9":"\u001b[20~","kf10":"\u001b[21~","kf11":"\u001b[23~","kf12":"\u001b[24~","kf13":"\u001b[25~","kf14":"\u001b[26~","kf15":"\u001b[28~","kf16":"\u001b[29~","kf17":"\u001b[31~","kf18":"\u001b[32~","kf19":"\u001b[33~","kf20":"\u001b[34~","kich":"\u001b[2~","kdch":"\u001b[3~","khome":"\u001b[7~","kend":"\u001b[8~","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001b[Z","kmous":"\u001b[M","XM":"%?%p1%{1}%=%t%'h'%Pa%e%'l'%Pa%;\u001b[?1000%ga%c\u001b[?1002%ga%c\u001b[?1003%ga%c\u001b[?1006%ga%c","acsc":"``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~-A.B+C,D0EhFiG","smacs":"\u001b(0","rmacs":"\u001b(B","kRIT":"\u001b[c","kLFT":"\u001b[d","kHOM":"\u001b[7$","kEND":"\u001b[8$","_setfgbg":"\u001b[38;5;%p1%d;48;5;%p2%dm","_kscu1":"\u001b[a","_kscud1":"\u001b[b","_kccu1":"\u001b[Oa","_kccud1":"\u001b[Ob","_kccuf1":"\u001b[Oc","_kccub1":"\u001b[Od","_kchome":"\u001b[7^","_kcend":"\u001b[8^"} -{"name":"Eterm","aliases":["Eterm-color"],"cols":80,"lines":24,"colors":8,"bell":"\u0007","clear":"\u001b[H\u001b[2J","smcup":"\u001b7\u001b[?47h","rmcup":"\u001b[2J\u001b[?47l\u001b8","cnorm":"\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b[m\u000f","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","setaf":"\u001b[3%p1%dm","setbg":"\u001b[4%p1%dm","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001b[11~","kf2":"\u001b[12~","kf3":"\u001b[13~","kf4":"\u001b[14~","kf5":"\u001b[15~","kf6":"\u001b[17~","kf7":"\u001b[18~","kf8":"\u001b[19~","kf9":"\u001b[20~","kf10":"\u001b[21~","kf11":"\u001b[23~","kf12":"\u001b[24~","kf13":"\u001b[25~","kf14":"\u001b[26~","kf15":"\u001b[28~","kf16":"\u001b[29~","kf17":"\u001b[31~","kf18":"\u001b[32~","kf19":"\u001b[33~","kf20":"\u001b[34~","kf21":"\u001b[23$","kf22":"\u001b[24$","kf23":"\u001b[11^","kf24":"\u001b[12^","kf25":"\u001b[13^","kf26":"\u001b[14^","kf27":"\u001b[15^","kf28":"\u001b[17^","kf29":"\u001b[18^","kf30":"\u001b[19^","kf31":"\u001b[20^","kf32":"\u001b[21^","kf33":"\u001b[23^","kf34":"\u001b[24^","kf35":"\u001b[25^","kf36":"\u001b[26^","kf37":"\u001b[28^","kf38":"\u001b[29^","kf39":"\u001b[31^","kf40":"\u001b[32^","kf41":"\u001b[33^","kf42":"\u001b[34^","kf43":"\u001b[23@","kf44":"\u001b[24@","kich":"\u001b[2~","kdch":"\u001b[3~","khome":"\u001b[7~","kend":"\u001b[8~","khlp":"\u001b[28~","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kmous":"\u001b[M","XM":"%?%p1%{1}%=%t%'h'%Pa%e%'l'%Pa%;\u001b[?1000%ga%c\u001b[?1002%ga%c\u001b[?1003%ga%c\u001b[?1006%ga%c","acsc":"``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u000e","rmacs":"\u000f","enacs":"\u001b)0","kRIT":"\u001b[c","kLFT":"\u001b[d","kHOM":"\u001b[7$","kEND":"\u001b[8$","_setfgbg":"\u001b[3%p1%d;4%p2%dm","_kscu1":"\u001b[a","_kscud1":"\u001b[b","_kccu1":"\u001b[Oa","_kccud1":"\u001b[Ob","_kccuf1":"\u001b[Oc","_kccub1":"\u001b[Od","_kchome":"\u001b[7^","_kcend":"\u001b[8^"} -{"name":"Eterm-256color","cols":80,"lines":24,"colors":256,"bell":"\u0007","clear":"\u001b[H\u001b[2J","smcup":"\u001b7\u001b[?47h","rmcup":"\u001b[2J\u001b[?47l\u001b8","cnorm":"\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b[m\u000f","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","setaf":"\u001b[%?%p1%{8}%\u003c%t3%p1%d%e%p1%{16}%\u003c%t9%p1%{8}%-%d%e38;5;%p1%d%;m","setbg":"\u001b[%?%p1%{8}%\u003c%t4%p1%d%e%p1%{16}%\u003c%t10%p1%{8}%-%d%e48;5;%p1%d%;m","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001b[11~","kf2":"\u001b[12~","kf3":"\u001b[13~","kf4":"\u001b[14~","kf5":"\u001b[15~","kf6":"\u001b[17~","kf7":"\u001b[18~","kf8":"\u001b[19~","kf9":"\u001b[20~","kf10":"\u001b[21~","kf11":"\u001b[23~","kf12":"\u001b[24~","kf13":"\u001b[25~","kf14":"\u001b[26~","kf15":"\u001b[28~","kf16":"\u001b[29~","kf17":"\u001b[31~","kf18":"\u001b[32~","kf19":"\u001b[33~","kf20":"\u001b[34~","kf21":"\u001b[23$","kf22":"\u001b[24$","kf23":"\u001b[11^","kf24":"\u001b[12^","kf25":"\u001b[13^","kf26":"\u001b[14^","kf27":"\u001b[15^","kf28":"\u001b[17^","kf29":"\u001b[18^","kf30":"\u001b[19^","kf31":"\u001b[20^","kf32":"\u001b[21^","kf33":"\u001b[23^","kf34":"\u001b[24^","kf35":"\u001b[25^","kf36":"\u001b[26^","kf37":"\u001b[28^","kf38":"\u001b[29^","kf39":"\u001b[31^","kf40":"\u001b[32^","kf41":"\u001b[33^","kf42":"\u001b[34^","kf43":"\u001b[23@","kf44":"\u001b[24@","kich":"\u001b[2~","kdch":"\u001b[3~","khome":"\u001b[7~","kend":"\u001b[8~","khlp":"\u001b[28~","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kmous":"\u001b[M","XM":"%?%p1%{1}%=%t%'h'%Pa%e%'l'%Pa%;\u001b[?1000%ga%c\u001b[?1002%ga%c\u001b[?1003%ga%c\u001b[?1006%ga%c","acsc":"``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u000e","rmacs":"\u000f","enacs":"\u001b)0","kRIT":"\u001b[c","kLFT":"\u001b[d","kHOM":"\u001b[7$","kEND":"\u001b[8$","_setfgbg":"\u001b[%?%p1%{8}%\u003c%t3%p1%d%e%p1%{16}%\u003c%t9%p1%{8}%-%d%e38;5;%p1%d%;;%?%p2%{8}%\u003c%t4%p2%d%e%p2%{16}%\u003c%t10%p2%{8}%-%d%e48;5;%p2%d%;m","_kscu1":"\u001b[a","_kscud1":"\u001b[b","_kccu1":"\u001b[Oa","_kccud1":"\u001b[Ob","_kccuf1":"\u001b[Oc","_kccub1":"\u001b[Od","_kchome":"\u001b[7^","_kcend":"\u001b[8^"} -{"name":"Eterm-88color","cols":80,"lines":24,"colors":88,"bell":"\u0007","clear":"\u001b[H\u001b[2J","smcup":"\u001b7\u001b[?47h","rmcup":"\u001b[2J\u001b[?47l\u001b8","cnorm":"\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b[m\u000f","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","setaf":"\u001b[%?%p1%{8}%\u003c%t3%p1%d%e%p1%{16}%\u003c%t9%p1%{8}%-%d%e38;5;%p1%d%;m","setbg":"\u001b[%?%p1%{8}%\u003c%t4%p1%d%e%p1%{16}%\u003c%t10%p1%{8}%-%d%e48;5;%p1%d%;m","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001b[11~","kf2":"\u001b[12~","kf3":"\u001b[13~","kf4":"\u001b[14~","kf5":"\u001b[15~","kf6":"\u001b[17~","kf7":"\u001b[18~","kf8":"\u001b[19~","kf9":"\u001b[20~","kf10":"\u001b[21~","kf11":"\u001b[23~","kf12":"\u001b[24~","kf13":"\u001b[25~","kf14":"\u001b[26~","kf15":"\u001b[28~","kf16":"\u001b[29~","kf17":"\u001b[31~","kf18":"\u001b[32~","kf19":"\u001b[33~","kf20":"\u001b[34~","kf21":"\u001b[23$","kf22":"\u001b[24$","kf23":"\u001b[11^","kf24":"\u001b[12^","kf25":"\u001b[13^","kf26":"\u001b[14^","kf27":"\u001b[15^","kf28":"\u001b[17^","kf29":"\u001b[18^","kf30":"\u001b[19^","kf31":"\u001b[20^","kf32":"\u001b[21^","kf33":"\u001b[23^","kf34":"\u001b[24^","kf35":"\u001b[25^","kf36":"\u001b[26^","kf37":"\u001b[28^","kf38":"\u001b[29^","kf39":"\u001b[31^","kf40":"\u001b[32^","kf41":"\u001b[33^","kf42":"\u001b[34^","kf43":"\u001b[23@","kf44":"\u001b[24@","kich":"\u001b[2~","kdch":"\u001b[3~","khome":"\u001b[7~","kend":"\u001b[8~","khlp":"\u001b[28~","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kmous":"\u001b[M","XM":"%?%p1%{1}%=%t%'h'%Pa%e%'l'%Pa%;\u001b[?1000%ga%c\u001b[?1002%ga%c\u001b[?1003%ga%c\u001b[?1006%ga%c","acsc":"``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u000e","rmacs":"\u000f","enacs":"\u001b)0","kRIT":"\u001b[c","kLFT":"\u001b[d","kHOM":"\u001b[7$","kEND":"\u001b[8$","_setfgbg":"\u001b[%?%p1%{8}%\u003c%t3%p1%d%e%p1%{16}%\u003c%t9%p1%{8}%-%d%e38;5;%p1%d%;;%?%p2%{8}%\u003c%t4%p2%d%e%p2%{16}%\u003c%t10%p2%{8}%-%d%e48;5;%p2%d%;m","_kscu1":"\u001b[a","_kscud1":"\u001b[b","_kccu1":"\u001b[Oa","_kccud1":"\u001b[Ob","_kccuf1":"\u001b[Oc","_kccub1":"\u001b[Od","_kchome":"\u001b[7^","_kcend":"\u001b[8^"} -{"name":"NCR260VT300WPP","aliases":["ncr260vt300wpp"],"cols":132,"lines":24,"bell":"\u0007","clear":"\u001b[2J\u001b[1;1H$\u003c20\u003e","cnorm":"\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b[0m\u000f$\u003c20\u003e","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","smkx":"\u001b=","rmkx":"\u001b\u003e","cup":"\u001b[%i%p1%d;%p2%dH$\u003c30\u003e","cub1":"\u001b[D$\u003c5\u003e","cuu1":"\u001b[A$\u003c5\u003e","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kf5":"\u001b[M","kf6":"\u001b[17~","kf7":"\u001b[18~","kf8":"\u001b[19~","kf9":"\u001b[20~","kf10":"\u001b[21~","kf11":"\u001b[23~","kf12":"\u001b[24~","kf13":"\u001b[25~","kf14":"\u001b[26~","kf15":"\u001b[28~","kf16":"\u001b[29~","kf17":"\u001b[31~","kf18":"\u001b[32~","kf19":"\u001b[33~","kf20":"\u001b[34~","kf21":"\u001b[31~","kf22":"\u001b[32~","kf23":"\u001b[33~","kf24":"\u001b[34~","kf25":"\u001b[35~","kf26":"\u001b[1~","kf27":"\u001b[2~","kf28":"\u001b[3~","kf29":"\u001b[4~","kf30":"\u001b[5~","kf31":"\u001b[6~","kf32":"\u001b[7~","kf33":"\u001b[8~","kf34":"\u001b[9~","kf35":"\u001b[10~","kich":"\u001b[2~","kdch":"\u001b[4~","khome":"\u001b[H","kend":"\u001b[1~","khlp":"\u001b[28~","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","acsc":"``aaffggjjkkllmmnnooqqssttuuvvwwxx~~","smacs":"\u000e$\u003c20\u003e","rmacs":"\u000f$\u003c20\u003e"} -{"name":"aaa","aliases":["aaa-30","ambas","ambassador"],"cols":80,"lines":30,"bell":"\u0007","clear":"\u001b[H\u001b[J$\u003c156\u003e","smcup":"\u001b[H\u001b[J$\u003c156\u003e\u001b[30;0;0;30p","rmcup":"\u001b[60;0;0;30p\u001b[30;1H\u001b[K","sgr0":"\u001b[m","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","smkx":"\u001bP`\u003ez~[[J`8xz~[[A`4xz~[[D`6xz~[[C`2xz~[[B\u001b\\","rmkx":"\u001bP`\u003ey~[[J`8xy~[[A`4xy~[[D`6xy~[[C`2xy~[[B\u001b\\","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOA","kf2":"\u001bOB","kf3":"\u001bOC","kf4":"\u001bOD","kf5":"\u001bOE","kf6":"\u001bOF","kf7":"\u001bOG","kf8":"\u001bOH","kf9":"\u001bOI","kf10":"\u001bOJ","kf11":"\u001bOK","kf12":"\u001bOL","kf13":"\u001bOM","kf14":"\u001bON","kf15":"\u001bOO","kf16":"\u001bOP","kf17":"\u001bOQ","kf18":"\u001bOR","kf19":"\u001bOS","kf20":"\u001bOT","kf21":"\u001bOU","kf22":"\u001bOV","kf23":"\u001bOW","kf24":"\u001bOX","kich":"\u001b[@","kdch":"\u001b[P","khome":"\u001b[H","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001b[Z","kclr":"\u001b[J"} -{"name":"aaa+unk","aliases":["aaa-unk"],"cols":80,"lines":-1,"bell":"\u0007","clear":"\u001b[H\u001b[J$\u003c156\u003e","sgr0":"\u001b[m","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","smkx":"\u001bP`\u003ez~[[J`8xz~[[A`4xz~[[D`6xz~[[C`2xz~[[B\u001b\\","rmkx":"\u001bP`\u003ey~[[J`8xy~[[A`4xy~[[D`6xy~[[C`2xy~[[B\u001b\\","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOA","kf2":"\u001bOB","kf3":"\u001bOC","kf4":"\u001bOD","kf5":"\u001bOE","kf6":"\u001bOF","kf7":"\u001bOG","kf8":"\u001bOH","kf9":"\u001bOI","kf10":"\u001bOJ","kf11":"\u001bOK","kf12":"\u001bOL","kf13":"\u001bOM","kf14":"\u001bON","kf15":"\u001bOO","kf16":"\u001bOP","kf17":"\u001bOQ","kf18":"\u001bOR","kf19":"\u001bOS","kf20":"\u001bOT","kf21":"\u001bOU","kf22":"\u001bOV","kf23":"\u001bOW","kf24":"\u001bOX","kich":"\u001b[@","kdch":"\u001b[P","khome":"\u001b[H","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001b[Z","kclr":"\u001b[J"} -{"name":"aaa-18","cols":80,"lines":18,"bell":"\u0007","clear":"\u001b[H\u001b[J$\u003c156\u003e","smcup":"\u001b[18;0;0;18p","rmcup":"\u001b[60;0;0;18p\u001b[60;1H\u001b[K","sgr0":"\u001b[m","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","smkx":"\u001bP`\u003ez~[[J`8xz~[[A`4xz~[[D`6xz~[[C`2xz~[[B\u001b\\","rmkx":"\u001bP`\u003ey~[[J`8xy~[[A`4xy~[[D`6xy~[[C`2xy~[[B\u001b\\","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOA","kf2":"\u001bOB","kf3":"\u001bOC","kf4":"\u001bOD","kf5":"\u001bOE","kf6":"\u001bOF","kf7":"\u001bOG","kf8":"\u001bOH","kf9":"\u001bOI","kf10":"\u001bOJ","kf11":"\u001bOK","kf12":"\u001bOL","kf13":"\u001bOM","kf14":"\u001bON","kf15":"\u001bOO","kf16":"\u001bOP","kf17":"\u001bOQ","kf18":"\u001bOR","kf19":"\u001bOS","kf20":"\u001bOT","kf21":"\u001bOU","kf22":"\u001bOV","kf23":"\u001bOW","kf24":"\u001bOX","kich":"\u001b[@","kdch":"\u001b[P","khome":"\u001b[H","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001b[Z","kclr":"\u001b[J"} -{"name":"aaa-18-rv","cols":80,"lines":18,"bell":"\u0007","clear":"\u001b[H\u001b[J$\u003c156\u003e","smcup":"\u001b[18;0;0;18p","rmcup":"\u001b[60;0;0;18p\u001b[60;1H\u001b[K","sgr0":"\u001b[7m\u000e","smul":"\u001b[4;7m","bold":"\u001b[1;7m","blink":"\u001b[5;7m","rev":"\u001b[m","smkx":"\u001bP`\u003ez~[[J`8xz~[[A`4xz~[[D`6xz~[[C`2xz~[[B\u001b\\","rmkx":"\u001bP`\u003ey~[[J`8xy~[[A`4xy~[[D`6xy~[[C`2xy~[[B\u001b\\","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOA","kf2":"\u001bOB","kf3":"\u001bOC","kf4":"\u001bOD","kf5":"\u001bOE","kf6":"\u001bOF","kf7":"\u001bOG","kf8":"\u001bOH","kf9":"\u001bOI","kf10":"\u001bOJ","kf11":"\u001bOK","kf12":"\u001bOL","kf13":"\u001bOM","kf14":"\u001bON","kf15":"\u001bOO","kf16":"\u001bOP","kf17":"\u001bOQ","kf18":"\u001bOR","kf19":"\u001bOS","kf20":"\u001bOT","kf21":"\u001bOU","kf22":"\u001bOV","kf23":"\u001bOW","kf24":"\u001bOX","kich":"\u001b[@","kdch":"\u001b[P","khome":"\u001b[H","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001b[Z","kclr":"\u001b[J"} -{"name":"aaa-20","cols":80,"lines":20,"bell":"\u0007","clear":"\u001b[H\u001b[J$\u003c156\u003e","smcup":"\u001b[20;0;0;20p","rmcup":"\u001b[60;0;0;20p\u001b[60;1H\u001b[K","sgr0":"\u001b[m","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","smkx":"\u001bP`\u003ez~[[J`8xz~[[A`4xz~[[D`6xz~[[C`2xz~[[B\u001b\\","rmkx":"\u001bP`\u003ey~[[J`8xy~[[A`4xy~[[D`6xy~[[C`2xy~[[B\u001b\\","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOA","kf2":"\u001bOB","kf3":"\u001bOC","kf4":"\u001bOD","kf5":"\u001bOE","kf6":"\u001bOF","kf7":"\u001bOG","kf8":"\u001bOH","kf9":"\u001bOI","kf10":"\u001bOJ","kf11":"\u001bOK","kf12":"\u001bOL","kf13":"\u001bOM","kf14":"\u001bON","kf15":"\u001bOO","kf16":"\u001bOP","kf17":"\u001bOQ","kf18":"\u001bOR","kf19":"\u001bOS","kf20":"\u001bOT","kf21":"\u001bOU","kf22":"\u001bOV","kf23":"\u001bOW","kf24":"\u001bOX","kich":"\u001b[@","kdch":"\u001b[P","khome":"\u001b[H","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001b[Z","kclr":"\u001b[J"} -{"name":"aaa-22","cols":80,"lines":22,"bell":"\u0007","clear":"\u001b[H\u001b[J$\u003c156\u003e","smcup":"\u001b[22;0;0;22p","rmcup":"\u001b[60;0;0;22p\u001b[60;1H\u001b[K","sgr0":"\u001b[m","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","smkx":"\u001bP`\u003ez~[[J`8xz~[[A`4xz~[[D`6xz~[[C`2xz~[[B\u001b\\","rmkx":"\u001bP`\u003ey~[[J`8xy~[[A`4xy~[[D`6xy~[[C`2xy~[[B\u001b\\","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOA","kf2":"\u001bOB","kf3":"\u001bOC","kf4":"\u001bOD","kf5":"\u001bOE","kf6":"\u001bOF","kf7":"\u001bOG","kf8":"\u001bOH","kf9":"\u001bOI","kf10":"\u001bOJ","kf11":"\u001bOK","kf12":"\u001bOL","kf13":"\u001bOM","kf14":"\u001bON","kf15":"\u001bOO","kf16":"\u001bOP","kf17":"\u001bOQ","kf18":"\u001bOR","kf19":"\u001bOS","kf20":"\u001bOT","kf21":"\u001bOU","kf22":"\u001bOV","kf23":"\u001bOW","kf24":"\u001bOX","kich":"\u001b[@","kdch":"\u001b[P","khome":"\u001b[H","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001b[Z","kclr":"\u001b[J"} -{"name":"aaa-24","cols":80,"lines":24,"bell":"\u0007","clear":"\u001b[H\u001b[J$\u003c156\u003e","smcup":"\u001b[24;0;0;24p","rmcup":"\u001b[60;0;0;24p\u001b[60;1H\u001b[K","sgr0":"\u001b[m","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","smkx":"\u001bP`\u003ez~[[J`8xz~[[A`4xz~[[D`6xz~[[C`2xz~[[B\u001b\\","rmkx":"\u001bP`\u003ey~[[J`8xy~[[A`4xy~[[D`6xy~[[C`2xy~[[B\u001b\\","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOA","kf2":"\u001bOB","kf3":"\u001bOC","kf4":"\u001bOD","kf5":"\u001bOE","kf6":"\u001bOF","kf7":"\u001bOG","kf8":"\u001bOH","kf9":"\u001bOI","kf10":"\u001bOJ","kf11":"\u001bOK","kf12":"\u001bOL","kf13":"\u001bOM","kf14":"\u001bON","kf15":"\u001bOO","kf16":"\u001bOP","kf17":"\u001bOQ","kf18":"\u001bOR","kf19":"\u001bOS","kf20":"\u001bOT","kf21":"\u001bOU","kf22":"\u001bOV","kf23":"\u001bOW","kf24":"\u001bOX","kich":"\u001b[@","kdch":"\u001b[P","khome":"\u001b[H","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001b[Z","kclr":"\u001b[J"} -{"name":"aaa-24-rv","cols":80,"lines":24,"bell":"\u0007","clear":"\u001b[H\u001b[J$\u003c156\u003e","smcup":"\u001b[24;0;0;24p","rmcup":"\u001b[60;0;0;24p\u001b[60;1H\u001b[K","sgr0":"\u001b[7m\u000e","smul":"\u001b[4;7m","bold":"\u001b[1;7m","blink":"\u001b[5;7m","rev":"\u001b[m","smkx":"\u001bP`\u003ez~[[J`8xz~[[A`4xz~[[D`6xz~[[C`2xz~[[B\u001b\\","rmkx":"\u001bP`\u003ey~[[J`8xy~[[A`4xy~[[D`6xy~[[C`2xy~[[B\u001b\\","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOA","kf2":"\u001bOB","kf3":"\u001bOC","kf4":"\u001bOD","kf5":"\u001bOE","kf6":"\u001bOF","kf7":"\u001bOG","kf8":"\u001bOH","kf9":"\u001bOI","kf10":"\u001bOJ","kf11":"\u001bOK","kf12":"\u001bOL","kf13":"\u001bOM","kf14":"\u001bON","kf15":"\u001bOO","kf16":"\u001bOP","kf17":"\u001bOQ","kf18":"\u001bOR","kf19":"\u001bOS","kf20":"\u001bOT","kf21":"\u001bOU","kf22":"\u001bOV","kf23":"\u001bOW","kf24":"\u001bOX","kich":"\u001b[@","kdch":"\u001b[P","khome":"\u001b[H","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001b[Z","kclr":"\u001b[J"} -{"name":"aaa-26","cols":80,"lines":26,"bell":"\u0007","clear":"\u001b[H\u001b[J$\u003c156\u003e","smcup":"\u001b[H\u001b[J$\u003c156\u003e\u001b[26;0;0;26p","rmcup":"\u001b[60;0;0;26p\u001b[26;1H\u001b[K","sgr0":"\u001b[m","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","smkx":"\u001bP`\u003ez~[[J`8xz~[[A`4xz~[[D`6xz~[[C`2xz~[[B\u001b\\","rmkx":"\u001bP`\u003ey~[[J`8xy~[[A`4xy~[[D`6xy~[[C`2xy~[[B\u001b\\","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOA","kf2":"\u001bOB","kf3":"\u001bOC","kf4":"\u001bOD","kf5":"\u001bOE","kf6":"\u001bOF","kf7":"\u001bOG","kf8":"\u001bOH","kf9":"\u001bOI","kf10":"\u001bOJ","kf11":"\u001bOK","kf12":"\u001bOL","kf13":"\u001bOM","kf14":"\u001bON","kf15":"\u001bOO","kf16":"\u001bOP","kf17":"\u001bOQ","kf18":"\u001bOR","kf19":"\u001bOS","kf20":"\u001bOT","kf21":"\u001bOU","kf22":"\u001bOV","kf23":"\u001bOW","kf24":"\u001bOX","kich":"\u001b[@","kdch":"\u001b[P","khome":"\u001b[H","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001b[Z","kclr":"\u001b[J"} -{"name":"aaa-28","cols":80,"lines":28,"bell":"\u0007","clear":"\u001b[H\u001b[J$\u003c156\u003e","smcup":"\u001b[H\u001b[J$\u003c156\u003e\u001b[28;0;0;28p","rmcup":"\u001b[60;0;0;28p\u001b[28;1H\u001b[K","sgr0":"\u001b[m","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","smkx":"\u001bP`\u003ez~[[J`8xz~[[A`4xz~[[D`6xz~[[C`2xz~[[B\u001b\\","rmkx":"\u001bP`\u003ey~[[J`8xy~[[A`4xy~[[D`6xy~[[C`2xy~[[B\u001b\\","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOA","kf2":"\u001bOB","kf3":"\u001bOC","kf4":"\u001bOD","kf5":"\u001bOE","kf6":"\u001bOF","kf7":"\u001bOG","kf8":"\u001bOH","kf9":"\u001bOI","kf10":"\u001bOJ","kf11":"\u001bOK","kf12":"\u001bOL","kf13":"\u001bOM","kf14":"\u001bON","kf15":"\u001bOO","kf16":"\u001bOP","kf17":"\u001bOQ","kf18":"\u001bOR","kf19":"\u001bOS","kf20":"\u001bOT","kf21":"\u001bOU","kf22":"\u001bOV","kf23":"\u001bOW","kf24":"\u001bOX","kich":"\u001b[@","kdch":"\u001b[P","khome":"\u001b[H","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001b[Z","kclr":"\u001b[J"} -{"name":"aaa-30-ctxt","aliases":["aaa-ctxt"],"cols":80,"lines":30,"bell":"\u0007","clear":"\u001b[H\u001b[J$\u003c156\u003e","smcup":"\u001b[30;0;0;30p","rmcup":"\u001b[60;0;0;30p\u001b[60;1H\u001b[K","sgr0":"\u001b[m","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","smkx":"\u001bP`\u003ez~[[J`8xz~[[A`4xz~[[D`6xz~[[C`2xz~[[B\u001b\\","rmkx":"\u001bP`\u003ey~[[J`8xy~[[A`4xy~[[D`6xy~[[C`2xy~[[B\u001b\\","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOA","kf2":"\u001bOB","kf3":"\u001bOC","kf4":"\u001bOD","kf5":"\u001bOE","kf6":"\u001bOF","kf7":"\u001bOG","kf8":"\u001bOH","kf9":"\u001bOI","kf10":"\u001bOJ","kf11":"\u001bOK","kf12":"\u001bOL","kf13":"\u001bOM","kf14":"\u001bON","kf15":"\u001bOO","kf16":"\u001bOP","kf17":"\u001bOQ","kf18":"\u001bOR","kf19":"\u001bOS","kf20":"\u001bOT","kf21":"\u001bOU","kf22":"\u001bOV","kf23":"\u001bOW","kf24":"\u001bOX","kich":"\u001b[@","kdch":"\u001b[P","khome":"\u001b[H","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001b[Z","kclr":"\u001b[J"} -{"name":"aaa-30-rv","aliases":["aaa-rv"],"cols":80,"lines":30,"bell":"\u0007","clear":"\u001b[H\u001b[J$\u003c156\u003e","smcup":"\u001b[H\u001b[J$\u003c156\u003e\u001b[30;0;0;30p","rmcup":"\u001b[60;0;0;30p\u001b[30;1H\u001b[K","sgr0":"\u001b[7m\u000e","smul":"\u001b[4;7m","bold":"\u001b[1;7m","blink":"\u001b[5;7m","rev":"\u001b[m","smkx":"\u001bP`\u003ez~[[J`8xz~[[A`4xz~[[D`6xz~[[C`2xz~[[B\u001b\\","rmkx":"\u001bP`\u003ey~[[J`8xy~[[A`4xy~[[D`6xy~[[C`2xy~[[B\u001b\\","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOA","kf2":"\u001bOB","kf3":"\u001bOC","kf4":"\u001bOD","kf5":"\u001bOE","kf6":"\u001bOF","kf7":"\u001bOG","kf8":"\u001bOH","kf9":"\u001bOI","kf10":"\u001bOJ","kf11":"\u001bOK","kf12":"\u001bOL","kf13":"\u001bOM","kf14":"\u001bON","kf15":"\u001bOO","kf16":"\u001bOP","kf17":"\u001bOQ","kf18":"\u001bOR","kf19":"\u001bOS","kf20":"\u001bOT","kf21":"\u001bOU","kf22":"\u001bOV","kf23":"\u001bOW","kf24":"\u001bOX","kich":"\u001b[@","kdch":"\u001b[P","khome":"\u001b[H","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001b[Z","kclr":"\u001b[J"} -{"name":"aaa-30-rv-ctxt","aliases":["aaa-rv-ctxt"],"cols":80,"lines":30,"bell":"\u0007","clear":"\u001b[H\u001b[J$\u003c156\u003e","smcup":"\u001b[30;0;0;30p","rmcup":"\u001b[60;0;0;30p\u001b[60;1H\u001b[K","sgr0":"\u001b[7m\u000e","smul":"\u001b[4;7m","bold":"\u001b[1;7m","blink":"\u001b[5;7m","rev":"\u001b[m","smkx":"\u001bP`\u003ez~[[J`8xz~[[A`4xz~[[D`6xz~[[C`2xz~[[B\u001b\\","rmkx":"\u001bP`\u003ey~[[J`8xy~[[A`4xy~[[D`6xy~[[C`2xy~[[B\u001b\\","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOA","kf2":"\u001bOB","kf3":"\u001bOC","kf4":"\u001bOD","kf5":"\u001bOE","kf6":"\u001bOF","kf7":"\u001bOG","kf8":"\u001bOH","kf9":"\u001bOI","kf10":"\u001bOJ","kf11":"\u001bOK","kf12":"\u001bOL","kf13":"\u001bOM","kf14":"\u001bON","kf15":"\u001bOO","kf16":"\u001bOP","kf17":"\u001bOQ","kf18":"\u001bOR","kf19":"\u001bOS","kf20":"\u001bOT","kf21":"\u001bOU","kf22":"\u001bOV","kf23":"\u001bOW","kf24":"\u001bOX","kich":"\u001b[@","kdch":"\u001b[P","khome":"\u001b[H","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001b[Z","kclr":"\u001b[J"} -{"name":"aaa-30-s","aliases":["aaa-s"],"cols":80,"lines":29,"bell":"\u0007","clear":"\u001b[H\u001b[J$\u003c156\u003e","smcup":"\u001b[H\u001b[J$\u003c156\u003e\u001b[30;1;0;30p\u001b[30;1H\u001b[K","rmcup":"\u001b[60;1;0;30p\u001b[29;1H\u001b[K","sgr0":"\u001b[m","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","smkx":"\u001bP`\u003ez~[[J`8xz~[[A`4xz~[[D`6xz~[[C`2xz~[[B\u001b\\","rmkx":"\u001bP`\u003ey~[[J`8xy~[[A`4xy~[[D`6xy~[[C`2xy~[[B\u001b\\","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOA","kf2":"\u001bOB","kf3":"\u001bOC","kf4":"\u001bOD","kf5":"\u001bOE","kf6":"\u001bOF","kf7":"\u001bOG","kf8":"\u001bOH","kf9":"\u001bOI","kf10":"\u001bOJ","kf11":"\u001bOK","kf12":"\u001bOL","kf13":"\u001bOM","kf14":"\u001bON","kf15":"\u001bOO","kf16":"\u001bOP","kf17":"\u001bOQ","kf18":"\u001bOR","kf19":"\u001bOS","kf20":"\u001bOT","kf21":"\u001bOU","kf22":"\u001bOV","kf23":"\u001bOW","kf24":"\u001bOX","kich":"\u001b[@","kdch":"\u001b[P","khome":"\u001b[H","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001b[Z","kclr":"\u001b[J"} -{"name":"aaa-30-s-rv","aliases":["aaa-s-rv"],"cols":80,"lines":29,"bell":"\u0007","clear":"\u001b[H\u001b[J$\u003c156\u003e","smcup":"\u001b[H\u001b[J$\u003c156\u003e\u001b[30;1;0;30p\u001b[30;1H\u001b[K","rmcup":"\u001b[60;1;0;30p\u001b[29;1H\u001b[K","sgr0":"\u001b[7m\u000e","smul":"\u001b[4;7m","bold":"\u001b[1;7m","blink":"\u001b[5;7m","rev":"\u001b[m","smkx":"\u001bP`\u003ez~[[J`8xz~[[A`4xz~[[D`6xz~[[C`2xz~[[B\u001b\\","rmkx":"\u001bP`\u003ey~[[J`8xy~[[A`4xy~[[D`6xy~[[C`2xy~[[B\u001b\\","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOA","kf2":"\u001bOB","kf3":"\u001bOC","kf4":"\u001bOD","kf5":"\u001bOE","kf6":"\u001bOF","kf7":"\u001bOG","kf8":"\u001bOH","kf9":"\u001bOI","kf10":"\u001bOJ","kf11":"\u001bOK","kf12":"\u001bOL","kf13":"\u001bOM","kf14":"\u001bON","kf15":"\u001bOO","kf16":"\u001bOP","kf17":"\u001bOQ","kf18":"\u001bOR","kf19":"\u001bOS","kf20":"\u001bOT","kf21":"\u001bOU","kf22":"\u001bOV","kf23":"\u001bOW","kf24":"\u001bOX","kich":"\u001b[@","kdch":"\u001b[P","khome":"\u001b[H","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001b[Z","kclr":"\u001b[J"} -{"name":"aaa-36","cols":80,"lines":36,"bell":"\u0007","clear":"\u001b[H\u001b[J$\u003c156\u003e","smcup":"\u001b[H\u001b[J$\u003c156\u003e\u001b[36;0;0;36p","rmcup":"\u001b[60;0;0;36p\u001b[36;1H\u001b[K","sgr0":"\u001b[m","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","smkx":"\u001bP`\u003ez~[[J`8xz~[[A`4xz~[[D`6xz~[[C`2xz~[[B\u001b\\","rmkx":"\u001bP`\u003ey~[[J`8xy~[[A`4xy~[[D`6xy~[[C`2xy~[[B\u001b\\","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOA","kf2":"\u001bOB","kf3":"\u001bOC","kf4":"\u001bOD","kf5":"\u001bOE","kf6":"\u001bOF","kf7":"\u001bOG","kf8":"\u001bOH","kf9":"\u001bOI","kf10":"\u001bOJ","kf11":"\u001bOK","kf12":"\u001bOL","kf13":"\u001bOM","kf14":"\u001bON","kf15":"\u001bOO","kf16":"\u001bOP","kf17":"\u001bOQ","kf18":"\u001bOR","kf19":"\u001bOS","kf20":"\u001bOT","kf21":"\u001bOU","kf22":"\u001bOV","kf23":"\u001bOW","kf24":"\u001bOX","kich":"\u001b[@","kdch":"\u001b[P","khome":"\u001b[H","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001b[Z","kclr":"\u001b[J"} -{"name":"aaa-36-rv","cols":80,"lines":36,"bell":"\u0007","clear":"\u001b[H\u001b[J$\u003c156\u003e","smcup":"\u001b[H\u001b[J$\u003c156\u003e\u001b[36;0;0;36p","rmcup":"\u001b[60;0;0;36p\u001b[36;1H\u001b[K","sgr0":"\u001b[7m\u000e","smul":"\u001b[4;7m","bold":"\u001b[1;7m","blink":"\u001b[5;7m","rev":"\u001b[m","smkx":"\u001bP`\u003ez~[[J`8xz~[[A`4xz~[[D`6xz~[[C`2xz~[[B\u001b\\","rmkx":"\u001bP`\u003ey~[[J`8xy~[[A`4xy~[[D`6xy~[[C`2xy~[[B\u001b\\","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOA","kf2":"\u001bOB","kf3":"\u001bOC","kf4":"\u001bOD","kf5":"\u001bOE","kf6":"\u001bOF","kf7":"\u001bOG","kf8":"\u001bOH","kf9":"\u001bOI","kf10":"\u001bOJ","kf11":"\u001bOK","kf12":"\u001bOL","kf13":"\u001bOM","kf14":"\u001bON","kf15":"\u001bOO","kf16":"\u001bOP","kf17":"\u001bOQ","kf18":"\u001bOR","kf19":"\u001bOS","kf20":"\u001bOT","kf21":"\u001bOU","kf22":"\u001bOV","kf23":"\u001bOW","kf24":"\u001bOX","kich":"\u001b[@","kdch":"\u001b[P","khome":"\u001b[H","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001b[Z","kclr":"\u001b[J"} -{"name":"aaa-40","cols":80,"lines":40,"bell":"\u0007","clear":"\u001b[H\u001b[J$\u003c156\u003e","smcup":"\u001b[H\u001b[J$\u003c156\u003e\u001b[40;0;0;40p","rmcup":"\u001b[60;0;0;40p\u001b[40;1H\u001b[K","sgr0":"\u001b[m","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","smkx":"\u001bP`\u003ez~[[J`8xz~[[A`4xz~[[D`6xz~[[C`2xz~[[B\u001b\\","rmkx":"\u001bP`\u003ey~[[J`8xy~[[A`4xy~[[D`6xy~[[C`2xy~[[B\u001b\\","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOA","kf2":"\u001bOB","kf3":"\u001bOC","kf4":"\u001bOD","kf5":"\u001bOE","kf6":"\u001bOF","kf7":"\u001bOG","kf8":"\u001bOH","kf9":"\u001bOI","kf10":"\u001bOJ","kf11":"\u001bOK","kf12":"\u001bOL","kf13":"\u001bOM","kf14":"\u001bON","kf15":"\u001bOO","kf16":"\u001bOP","kf17":"\u001bOQ","kf18":"\u001bOR","kf19":"\u001bOS","kf20":"\u001bOT","kf21":"\u001bOU","kf22":"\u001bOV","kf23":"\u001bOW","kf24":"\u001bOX","kich":"\u001b[@","kdch":"\u001b[P","khome":"\u001b[H","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001b[Z","kclr":"\u001b[J"} -{"name":"aaa-40-rv","cols":80,"lines":40,"bell":"\u0007","clear":"\u001b[H\u001b[J$\u003c156\u003e","smcup":"\u001b[H\u001b[J$\u003c156\u003e\u001b[40;0;0;40p","rmcup":"\u001b[60;0;0;40p\u001b[40;1H\u001b[K","sgr0":"\u001b[7m\u000e","smul":"\u001b[4;7m","bold":"\u001b[1;7m","blink":"\u001b[5;7m","rev":"\u001b[m","smkx":"\u001bP`\u003ez~[[J`8xz~[[A`4xz~[[D`6xz~[[C`2xz~[[B\u001b\\","rmkx":"\u001bP`\u003ey~[[J`8xy~[[A`4xy~[[D`6xy~[[C`2xy~[[B\u001b\\","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOA","kf2":"\u001bOB","kf3":"\u001bOC","kf4":"\u001bOD","kf5":"\u001bOE","kf6":"\u001bOF","kf7":"\u001bOG","kf8":"\u001bOH","kf9":"\u001bOI","kf10":"\u001bOJ","kf11":"\u001bOK","kf12":"\u001bOL","kf13":"\u001bOM","kf14":"\u001bON","kf15":"\u001bOO","kf16":"\u001bOP","kf17":"\u001bOQ","kf18":"\u001bOR","kf19":"\u001bOS","kf20":"\u001bOT","kf21":"\u001bOU","kf22":"\u001bOV","kf23":"\u001bOW","kf24":"\u001bOX","kich":"\u001b[@","kdch":"\u001b[P","khome":"\u001b[H","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001b[Z","kclr":"\u001b[J"} -{"name":"aaa-48","cols":80,"lines":48,"bell":"\u0007","clear":"\u001b[H\u001b[J$\u003c156\u003e","smcup":"\u001b[H\u001b[J$\u003c156\u003e\u001b[48;0;0;48p","rmcup":"\u001b[60;0;0;48p\u001b[48;1H\u001b[K","sgr0":"\u001b[m","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","smkx":"\u001bP`\u003ez~[[J`8xz~[[A`4xz~[[D`6xz~[[C`2xz~[[B\u001b\\","rmkx":"\u001bP`\u003ey~[[J`8xy~[[A`4xy~[[D`6xy~[[C`2xy~[[B\u001b\\","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOA","kf2":"\u001bOB","kf3":"\u001bOC","kf4":"\u001bOD","kf5":"\u001bOE","kf6":"\u001bOF","kf7":"\u001bOG","kf8":"\u001bOH","kf9":"\u001bOI","kf10":"\u001bOJ","kf11":"\u001bOK","kf12":"\u001bOL","kf13":"\u001bOM","kf14":"\u001bON","kf15":"\u001bOO","kf16":"\u001bOP","kf17":"\u001bOQ","kf18":"\u001bOR","kf19":"\u001bOS","kf20":"\u001bOT","kf21":"\u001bOU","kf22":"\u001bOV","kf23":"\u001bOW","kf24":"\u001bOX","kich":"\u001b[@","kdch":"\u001b[P","khome":"\u001b[H","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001b[Z","kclr":"\u001b[J"} -{"name":"aaa-48-rv","cols":80,"lines":48,"bell":"\u0007","clear":"\u001b[H\u001b[J$\u003c156\u003e","smcup":"\u001b[H\u001b[J$\u003c156\u003e\u001b[48;0;0;48p","rmcup":"\u001b[60;0;0;48p\u001b[48;1H\u001b[K","sgr0":"\u001b[7m\u000e","smul":"\u001b[4;7m","bold":"\u001b[1;7m","blink":"\u001b[5;7m","rev":"\u001b[m","smkx":"\u001bP`\u003ez~[[J`8xz~[[A`4xz~[[D`6xz~[[C`2xz~[[B\u001b\\","rmkx":"\u001bP`\u003ey~[[J`8xy~[[A`4xy~[[D`6xy~[[C`2xy~[[B\u001b\\","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOA","kf2":"\u001bOB","kf3":"\u001bOC","kf4":"\u001bOD","kf5":"\u001bOE","kf6":"\u001bOF","kf7":"\u001bOG","kf8":"\u001bOH","kf9":"\u001bOI","kf10":"\u001bOJ","kf11":"\u001bOK","kf12":"\u001bOL","kf13":"\u001bOM","kf14":"\u001bON","kf15":"\u001bOO","kf16":"\u001bOP","kf17":"\u001bOQ","kf18":"\u001bOR","kf19":"\u001bOS","kf20":"\u001bOT","kf21":"\u001bOU","kf22":"\u001bOV","kf23":"\u001bOW","kf24":"\u001bOX","kich":"\u001b[@","kdch":"\u001b[P","khome":"\u001b[H","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001b[Z","kclr":"\u001b[J"} -{"name":"aaa-60","cols":80,"lines":60,"bell":"\u0007","clear":"\u001b[H\u001b[J$\u003c156\u003e","sgr0":"\u001b[m","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","smkx":"\u001bP`\u003ez~[[J`8xz~[[A`4xz~[[D`6xz~[[C`2xz~[[B\u001b\\","rmkx":"\u001bP`\u003ey~[[J`8xy~[[A`4xy~[[D`6xy~[[C`2xy~[[B\u001b\\","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOA","kf2":"\u001bOB","kf3":"\u001bOC","kf4":"\u001bOD","kf5":"\u001bOE","kf6":"\u001bOF","kf7":"\u001bOG","kf8":"\u001bOH","kf9":"\u001bOI","kf10":"\u001bOJ","kf11":"\u001bOK","kf12":"\u001bOL","kf13":"\u001bOM","kf14":"\u001bON","kf15":"\u001bOO","kf16":"\u001bOP","kf17":"\u001bOQ","kf18":"\u001bOR","kf19":"\u001bOS","kf20":"\u001bOT","kf21":"\u001bOU","kf22":"\u001bOV","kf23":"\u001bOW","kf24":"\u001bOX","kich":"\u001b[@","kdch":"\u001b[P","khome":"\u001b[H","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001b[Z","kclr":"\u001b[J"} -{"name":"aaa-60-dec-rv","cols":80,"lines":59,"bell":"\u0007","clear":"\u001b[H\u001b[J$\u003c156\u003e","sgr0":"\u001b[7m\u000e","smul":"\u001b[4;7m","bold":"\u001b[1;7m","blink":"\u001b[5;7m","rev":"\u001b[m","smkx":"\u001bP`\u003ez~[[J`8xz~[[A`4xz~[[D`6xz~[[C`2xz~[[B\u001b\\","rmkx":"\u001bP`\u003ey~[[J`8xy~[[A`4xy~[[D`6xy~[[C`2xy~[[B\u001b\\","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOA","kf2":"\u001bOB","kf3":"\u001bOC","kf4":"\u001bOD","kf5":"\u001bOE","kf6":"\u001bOF","kf7":"\u001bOG","kf8":"\u001bOH","kf9":"\u001bOI","kf10":"\u001bOJ","kf11":"\u001bOK","kf12":"\u001bOL","kf13":"\u001bOM","kf14":"\u001bON","kf15":"\u001bOO","kf16":"\u001bOP","kf17":"\u001bOQ","kf18":"\u001bOR","kf19":"\u001bOS","kf20":"\u001bOT","kf21":"\u001bOU","kf22":"\u001bOV","kf23":"\u001bOW","kf24":"\u001bOX","kich":"\u001b[@","kdch":"\u001b[P","khome":"\u001b[H","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001b[Z","kclr":"\u001b[J","acsc":"aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}","smacs":"\u000f","rmacs":"\u000e","enacs":"\u001b(0"} -{"name":"aaa-60-rv","cols":80,"lines":60,"bell":"\u0007","clear":"\u001b[H\u001b[J$\u003c156\u003e","sgr0":"\u001b[7m\u000e","smul":"\u001b[4;7m","bold":"\u001b[1;7m","blink":"\u001b[5;7m","rev":"\u001b[m","smkx":"\u001bP`\u003ez~[[J`8xz~[[A`4xz~[[D`6xz~[[C`2xz~[[B\u001b\\","rmkx":"\u001bP`\u003ey~[[J`8xy~[[A`4xy~[[D`6xy~[[C`2xy~[[B\u001b\\","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOA","kf2":"\u001bOB","kf3":"\u001bOC","kf4":"\u001bOD","kf5":"\u001bOE","kf6":"\u001bOF","kf7":"\u001bOG","kf8":"\u001bOH","kf9":"\u001bOI","kf10":"\u001bOJ","kf11":"\u001bOK","kf12":"\u001bOL","kf13":"\u001bOM","kf14":"\u001bON","kf15":"\u001bOO","kf16":"\u001bOP","kf17":"\u001bOQ","kf18":"\u001bOR","kf19":"\u001bOS","kf20":"\u001bOT","kf21":"\u001bOU","kf22":"\u001bOV","kf23":"\u001bOW","kf24":"\u001bOX","kich":"\u001b[@","kdch":"\u001b[P","khome":"\u001b[H","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001b[Z","kclr":"\u001b[J"} -{"name":"aaa-60-s","cols":80,"lines":59,"bell":"\u0007","clear":"\u001b[H\u001b[J$\u003c156\u003e","sgr0":"\u001b[m","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","smkx":"\u001bP`\u003ez~[[J`8xz~[[A`4xz~[[D`6xz~[[C`2xz~[[B\u001b\\","rmkx":"\u001bP`\u003ey~[[J`8xy~[[A`4xy~[[D`6xy~[[C`2xy~[[B\u001b\\","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOA","kf2":"\u001bOB","kf3":"\u001bOC","kf4":"\u001bOD","kf5":"\u001bOE","kf6":"\u001bOF","kf7":"\u001bOG","kf8":"\u001bOH","kf9":"\u001bOI","kf10":"\u001bOJ","kf11":"\u001bOK","kf12":"\u001bOL","kf13":"\u001bOM","kf14":"\u001bON","kf15":"\u001bOO","kf16":"\u001bOP","kf17":"\u001bOQ","kf18":"\u001bOR","kf19":"\u001bOS","kf20":"\u001bOT","kf21":"\u001bOU","kf22":"\u001bOV","kf23":"\u001bOW","kf24":"\u001bOX","kich":"\u001b[@","kdch":"\u001b[P","khome":"\u001b[H","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001b[Z","kclr":"\u001b[J"} -{"name":"aaa-60-s-rv","cols":80,"lines":59,"bell":"\u0007","clear":"\u001b[H\u001b[J$\u003c156\u003e","sgr0":"\u001b[7m\u000e","smul":"\u001b[4;7m","bold":"\u001b[1;7m","blink":"\u001b[5;7m","rev":"\u001b[m","smkx":"\u001bP`\u003ez~[[J`8xz~[[A`4xz~[[D`6xz~[[C`2xz~[[B\u001b\\","rmkx":"\u001bP`\u003ey~[[J`8xy~[[A`4xy~[[D`6xy~[[C`2xy~[[B\u001b\\","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOA","kf2":"\u001bOB","kf3":"\u001bOC","kf4":"\u001bOD","kf5":"\u001bOE","kf6":"\u001bOF","kf7":"\u001bOG","kf8":"\u001bOH","kf9":"\u001bOI","kf10":"\u001bOJ","kf11":"\u001bOK","kf12":"\u001bOL","kf13":"\u001bOM","kf14":"\u001bON","kf15":"\u001bOO","kf16":"\u001bOP","kf17":"\u001bOQ","kf18":"\u001bOR","kf19":"\u001bOS","kf20":"\u001bOT","kf21":"\u001bOU","kf22":"\u001bOV","kf23":"\u001bOW","kf24":"\u001bOX","kich":"\u001b[@","kdch":"\u001b[P","khome":"\u001b[H","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001b[Z","kclr":"\u001b[J"} -{"name":"aaa-db","cols":80,"lines":30,"bell":"\u0007","clear":"\u001b[H\u001b[J$\u003c156\u003e","smcup":"\u001b[H\u001b[J$\u003c156\u003e\u001b[30;0;0;30p","rmcup":"\u001b[60;0;0;30p\u001b[30;1H\u001b[K","sgr0":"\u001b[m","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","smkx":"\u001bP`\u003ez~[[J`8xz~[[A`4xz~[[D`6xz~[[C`2xz~[[B\u001b\\","rmkx":"\u001bP`\u003ey~[[J`8xy~[[A`4xy~[[D`6xy~[[C`2xy~[[B\u001b\\","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u001b[D","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOA","kf2":"\u001bOB","kf3":"\u001bOC","kf4":"\u001bOD","kf5":"\u001bOE","kf6":"\u001bOF","kf7":"\u001bOG","kf8":"\u001bOH","kf9":"\u001bOI","kf10":"\u001bOJ","kf11":"\u001bOK","kf12":"\u001bOL","kf13":"\u001bOM","kf14":"\u001bON","kf15":"\u001bOO","kf16":"\u001bOP","kf17":"\u001bOQ","kf18":"\u001bOR","kf19":"\u001bOS","kf20":"\u001bOT","kf21":"\u001bOU","kf22":"\u001bOV","kf23":"\u001bOW","kf24":"\u001bOX","kich":"\u001b[@","kdch":"\u001b[P","khome":"\u001b[H","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001b[Z","kclr":"\u001b[J"} -{"name":"aaa-s-ctxt","aliases":["aaa-30-s-ctxt"],"cols":80,"lines":29,"bell":"\u0007","clear":"\u001b[H\u001b[J$\u003c156\u003e","smcup":"\u001b[30;1H\u001b[K\u001b[30;1;0;30p","rmcup":"\u001b[60;1;0;30p\u001b[59;1H\u001b[K","sgr0":"\u001b[m","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","smkx":"\u001bP`\u003ez~[[J`8xz~[[A`4xz~[[D`6xz~[[C`2xz~[[B\u001b\\","rmkx":"\u001bP`\u003ey~[[J`8xy~[[A`4xy~[[D`6xy~[[C`2xy~[[B\u001b\\","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOA","kf2":"\u001bOB","kf3":"\u001bOC","kf4":"\u001bOD","kf5":"\u001bOE","kf6":"\u001bOF","kf7":"\u001bOG","kf8":"\u001bOH","kf9":"\u001bOI","kf10":"\u001bOJ","kf11":"\u001bOK","kf12":"\u001bOL","kf13":"\u001bOM","kf14":"\u001bON","kf15":"\u001bOO","kf16":"\u001bOP","kf17":"\u001bOQ","kf18":"\u001bOR","kf19":"\u001bOS","kf20":"\u001bOT","kf21":"\u001bOU","kf22":"\u001bOV","kf23":"\u001bOW","kf24":"\u001bOX","kich":"\u001b[@","kdch":"\u001b[P","khome":"\u001b[H","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001b[Z","kclr":"\u001b[J"} -{"name":"aaa-s-rv-ctxt","aliases":["aaa-30-s-rv-ct"],"cols":80,"lines":29,"bell":"\u0007","clear":"\u001b[H\u001b[J$\u003c156\u003e","smcup":"\u001b[30;1H\u001b[K\u001b[30;1;0;30p","rmcup":"\u001b[60;1;0;30p\u001b[59;1H\u001b[K","sgr0":"\u001b[7m\u000e","smul":"\u001b[4;7m","bold":"\u001b[1;7m","blink":"\u001b[5;7m","rev":"\u001b[m","smkx":"\u001bP`\u003ez~[[J`8xz~[[A`4xz~[[D`6xz~[[C`2xz~[[B\u001b\\","rmkx":"\u001bP`\u003ey~[[J`8xy~[[A`4xy~[[D`6xy~[[C`2xy~[[B\u001b\\","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOA","kf2":"\u001bOB","kf3":"\u001bOC","kf4":"\u001bOD","kf5":"\u001bOE","kf6":"\u001bOF","kf7":"\u001bOG","kf8":"\u001bOH","kf9":"\u001bOI","kf10":"\u001bOJ","kf11":"\u001bOK","kf12":"\u001bOL","kf13":"\u001bOM","kf14":"\u001bON","kf15":"\u001bOO","kf16":"\u001bOP","kf17":"\u001bOQ","kf18":"\u001bOR","kf19":"\u001bOS","kf20":"\u001bOT","kf21":"\u001bOU","kf22":"\u001bOV","kf23":"\u001bOW","kf24":"\u001bOX","kich":"\u001b[@","kdch":"\u001b[P","khome":"\u001b[H","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001b[Z","kclr":"\u001b[J"} -{"name":"abm80","cols":80,"lines":24,"clear":"\u001b\u001c","cup":"\u001b\u0011%p2%' '%+%c%p1%' '%+%c","cub1":"\u0008","cuu1":"\u001b\u000c","pad":"\u0000"} -{"name":"abm85","cols":80,"lines":24,"clear":"\u001b*","smul":"\u001bl","cup":"\u001b=%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u000b","pad":"\u0000","kbs":"\u0008","khome":"\u001e","kcuu1":"\u000b","kcud1":"\n","kcub1":"\u0008","kcuf1":"\u000c"} -{"name":"abm85e","cols":80,"lines":24,"bell":"\u0007","clear":"\u001b*","sgr0":"\u001b(\u001bk","smul":"\u001bl","rev":"\u001bj","dim":"\u001b)","cup":"\u001b=%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u000b","pad":"\u0000","kbs":"\u0008","khome":"\u001e","kcuu1":"\u000b","kcud1":"\n","kcub1":"\u0008","kcuf1":"\u000c"} -{"name":"abm85h","cols":80,"lines":24,"bell":"\u0007","clear":"\u001b*","cnorm":"\u001b.4","sgr0":"\u001b(\u001bG0","smul":"\u001bG8","rev":"\u001bG4","dim":"\u001b)","cup":"\u001b=%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u000b","pad":"\u0000","kbs":"\u0008","khome":"\u001e","kcuu1":"\u000b","kcud1":"\u0016","kcub1":"\u0008","kcuf1":"\u000c"} -{"name":"abm85h-old","aliases":["o85h","oabm85h"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u001b*","sgr0":"\u001b(\u001bk","smul":"\u001bl","rev":"\u001bj","dim":"\u001b)","cup":"\u001b=%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u000b","pad":"\u0000","kbs":"\u0008","khome":"\u001e","kcuu1":"\u000b","kcud1":"\n","kcub1":"\u0008","kcuf1":"\u000c"} -{"name":"act4","aliases":["microterm"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u000c$\u003c12/\u003e","cup":"\u0014%p1%{24}%+%c%p2%p2%?%'/'%\u003e%t%'0'%+%;%'P'%+%c","cub1":"\u0008","cuu1":"\u001a","pad":"\u0000","kcuu1":"\u001a","kcud1":"\u000b","kcub1":"\u0008","kcuf1":"\u0018"} -{"name":"act5","aliases":["microterm5"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u000c$\u003c12/\u003e","cup":"\u0014%p1%{24}%+%c%p2%p2%?%'/'%\u003e%t%'0'%+%;%'P'%+%c","cub1":"\u0008","cuu1":"\u001a","pad":"\u0000","kcuu1":"\u001a","kcud1":"\u000b","kcub1":"\u0008","kcuf1":"\u0018"} -{"name":"adds980","aliases":["a980"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u000c$\u003c1\u003e\u000b@","sgr0":"\u000f","cup":"\u000b%p1%'@'%+%c\u001b\u0005%p2%2d","cub1":"\u0008","pad":"\u0000","kf1":"\u001b1","kf2":"\u001b2","kf3":"\u001b3","kf4":"\u001b4","kf5":"\u001b5","kf6":"\u001b6","kf7":"\u001b7","kf8":"\u001b8","kf9":"\u001b9"} -{"name":"adm11","cols":80,"lines":24,"bell":"\u0007","clear":"\u001b*","sgr0":"\u001bG0","smul":"\u001bG8","blink":"\u001bG2","rev":"\u001bG4","cup":"\u001b=%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u000b","pad":"\u0000","kbs":"\u0008","kf1":"\u0001@\r","kf2":"\u0001A\r","kf3":"\u0001B\r","kf4":"\u0001C\r","kf5":"\u0001D\r","kf6":"\u0001E\r","kf7":"\u0001F\r","kf8":"\u0001G\r","khome":"\u001e","kcuu1":"\u000b","kcud1":"\n","kcub1":"\u0008","kcuf1":"\u000c"} -{"name":"adm1178","aliases":["1178"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u001b+","sgr0":"\u001b)","smul":"\u001bG1","bold":"\u001b(","rev":"\u001bG4","cup":"\u001b=%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u000b","pad":"","kbs":"\u0008","kcud1":"\n","kcub1":"\u0008"} -{"name":"adm12","cols":80,"lines":24,"bell":"\u0007","clear":"\u001a","sgr0":"\u001bG0","smul":"\u001bG8","rev":"\u001bG4","cup":"\u001b=%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u000b","pad":"\u0000","kf1":"\u00011\r","kf2":"\u00012\r","kf3":"\u00013\r","kf4":"\u00014\r","kf5":"\u00015\r","kf6":"\u00016\r","kf7":"\u00017\r","kf8":"\u00018\r","kf9":"\u00019\r","kcuu1":"\u000b","kcud1":"\n","kcub1":"\u0008","kcuf1":"\u000c"} -{"name":"adm1a","aliases":["adm1"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u001b;$\u003c1\u003e","cup":"\u001b=%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u000b","pad":"\u0000"} -{"name":"adm2","cols":80,"lines":24,"bell":"\u0007","clear":"\u001b;","cup":"\u001b=%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u000b","pad":"\u0000","khome":"\u001e","kcuu1":"\u000b","kcud1":"\n","kcub1":"\u0008","kcuf1":"\u000c"} -{"name":"adm20","cols":80,"lines":24,"bell":"\u0007","clear":"\u001a","sgr0":"\u001b(","cup":"\u001b=%i%p2%{31}%+%c%p1%{31}%+%c","cub1":"\u0008","cuu1":"\u000b","pad":"\u0000","kf1":"\u0001","kf2":"\u0002","kf3":"\u0017","kf4":"\u0004","kf5":"\u0005","kf6":"\u0018","kf7":"\u001a"} -{"name":"adm21","cols":80,"lines":24,"bell":"\u0007","clear":"\u001a$\u003c1/\u003e","sgr0":"\u001bG0","smul":"\u001bG8","rev":"\u001bG4","cup":"\u001b=%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u000b","pad":"\u0000","kbs":"\u0008","khome":"\u001e","kcuu1":"\u000b","kcud1":"\n","kcub1":"\u0008","kcuf1":"\u000c"} -{"name":"adm22","cols":80,"lines":24,"bell":"\u0007","clear":"\u001b+","sgr0":"\u001b(","cup":"\u001b=%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u000b","pad":"\u0000","kbs":"\u0008","kf1":"\u0001@\r","kf2":"\u0001A\r","kf3":"\u0001B\r","kf4":"\u0001C\r","kf5":"\u0001D\r","kf6":"\u0001E\r","kf7":"\u0001F\r","khome":"\u001e","kcuu1":"\u000b","kcud1":"\n","kcub1":"\u0008","kcuf1":"\u000c"} -{"name":"adm31","cols":80,"lines":24,"bell":"\u0007","clear":"\u001b*","sgr0":"\u001bG0","smul":"\u001bG1","cup":"\u001b=%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u000b","pad":"\u0000","kf1":"\u00011\r","kf2":"\u00012\r","kf3":"\u00013\r","kf4":"\u00014\r","kf5":"\u00015\r","kf6":"\u00016\r","kf7":"\u00017\r","kf8":"\u00018\r","kf9":"\u00019\r","kcuu1":"\u000b","kcud1":"\n","kcub1":"\u0008","kcuf1":"\u000c"} -{"name":"adm31-old","aliases":["o31"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u001b*","sgr0":"\u001bG0","cup":"\u001b=%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u000b","pad":"\u0000","kf1":"\u00011\r","kf2":"\u00012\r","kf3":"\u00013\r","kf4":"\u00014\r","kf5":"\u00015\r","kf6":"\u00016\r","kf7":"\u00017\r","kf8":"\u00018\r","kf9":"\u00019\r","kcuu1":"\u000b","kcud1":"\n","kcub1":"\u0008","kcuf1":"\u000c"} -{"name":"adm36","cols":80,"lines":24,"bell":"\u0007","clear":"\u001b[H\u001b[J$\u003c50\u003e","sgr0":"\u001b[m\u000f$\u003c2\u003e","smul":"\u001b[4m$\u003c2\u003e","bold":"\u001b[1m$\u003c2\u003e","blink":"\u001b[5m$\u003c2\u003e","rev":"\u001b[7m$\u003c2\u003e","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","cup":"\u001b[%i%p1%d;%p2%dH$\u003c5\u003e","cub1":"\u0008","cuu1":"\u001b[A$\u003c2\u003e","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kf5":"\u001bOt","kf6":"\u001bOu","kf7":"\u001bOv","kf8":"\u001bOl","kf9":"\u001bOw","kf10":"\u001bOx","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC","acsc":"``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u000e","rmacs":"\u000f","enacs":"\u001b(B\u001b)0"} -{"name":"adm3a","cols":80,"lines":24,"bell":"\u0007","clear":"\u001a$\u003c1/\u003e","cup":"\u001b=%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u000b","pad":"\u0000","kcuu1":"\u000b","kcud1":"\n","kcub1":"\u0008","kcuf1":"\u000c"} -{"name":"adm3a+","cols":80,"lines":24,"bell":"\u0007","clear":"\u001a$\u003c1/\u003e","cup":"\u001b=%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u000b","pad":"\u0000","kbs":"\u0008","kcuu1":"\u000b","kcud1":"\n","kcub1":"\u0008","kcuf1":"\u000c"} -{"name":"adm42","cols":80,"lines":24,"bell":"\u0007","clear":"\u001b;","sgr0":"\u001bG0","rev":"\u001bG4","cup":"\u001b=%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u000b","pad":"","khome":"\u001e","kcuu1":"\u000b","kcud1":"\n","kcub1":"\u0008","kcuf1":"\u000c"} -{"name":"adm42-ns","cols":80,"lines":24,"bell":"\u0007","clear":"\u001b;\u001bF \t","sgr0":"\u001bG0","rev":"\u001bG4","cup":"\u001b=%p1%' '%+%c%p2%' '%+%c$\u003c6\u003e\u001bF \t","cub1":"\u0008","cuu1":"\u000b","pad":"","khome":"\u001e","kcuu1":"\u000b","kcud1":"\n","kcub1":"\u0008","kcuf1":"\u000c"} -{"name":"adm5","cols":80,"lines":24,"bell":"\u0007","clear":"\u001a$\u003c1/\u003e","cup":"\u001b=%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u000b","pad":"\u0000","kbs":"\u0008","khome":"\u001e","kcuu1":"\u000b","kcud1":"\n","kcub1":"\u0008","kcuf1":"\u000c"} -{"name":"aepro","cols":80,"lines":24,"clear":"\u000c$\u003c300/\u003e","cup":"\u001bY%p1%' '%+%c%p2%' '%+%c","cuu1":"\u001bA","pad":"\u0000"} -{"name":"aixterm","cols":80,"lines":25,"colors":8,"bell":"\u0007","clear":"\u001b[H\u001b[J","sgr0":"\u001b[0;10m\u001b(B","smul":"\u001b[4m","bold":"\u001b[1m","rev":"\u001b[7m","setaf":"\u001b[3%p1%dm","setbg":"\u001b[4%p1%dm","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001b[001q","kf2":"\u001b[002q","kf3":"\u001b[003q","kf4":"\u001b[004q","kf5":"\u001b[005q","kf6":"\u001b[006q","kf7":"\u001b[007q","kf8":"\u001b[008q","kf9":"\u001b[009q","kf10":"\u001b[010q","kf11":"\u001b[011q","kf12":"\u001b[012q","kf13":"\u001b[013q","kf14":"\u001b[014q","kf15":"\u001b[015q","kf16":"\u001b[016q","kf17":"\u001b[017q","kf18":"\u001b[018q","kf19":"\u001b[019q","kf20":"\u001b[020q","kf21":"\u001b[021q","kf22":"\u001b[022q","kf23":"\u001b[023q","kf24":"\u001b[024q","kf25":"\u001b[025q","kf26":"\u001b[026q","kf27":"\u001b[027q","kf28":"\u001b[028q","kf29":"\u001b[029q","kf30":"\u001b[030q","kf31":"\u001b[031q","kf32":"\u001b[032q","kf33":"\u001b[033q","kf34":"\u001b[034q","kf35":"\u001b[035q","kf36":"\u001b[036q","kich":"\u001b[139q","kdch":"\u001b[P","khome":"\u001b[H","kend":"\u001b[146q","kpp":"\u001b[150q","knp":"\u001b[154q","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001b[Z","kclr":"\u001b[144q","acsc":"jjkkllmmnnqqttuuvvwwxx","_setfgbg":"\u001b[3%p1%d;4%p2%dm"} -{"name":"aixterm-16color","cols":80,"lines":25,"colors":16,"bell":"\u0007","clear":"\u001b[H\u001b[J","sgr0":"\u001b[0;10m\u001b(B","smul":"\u001b[4m","bold":"\u001b[1m","rev":"\u001b[7m","setaf":"\u001b[%?%p1%{8}%\u003c%t%p1%{30}%+%e%p1%'R'%+%;%dm","setbg":"\u001b[%?%p1%{8}%\u003c%t%p1%'('%+%e%p1%{92}%+%;%dm","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001b[001q","kf2":"\u001b[002q","kf3":"\u001b[003q","kf4":"\u001b[004q","kf5":"\u001b[005q","kf6":"\u001b[006q","kf7":"\u001b[007q","kf8":"\u001b[008q","kf9":"\u001b[009q","kf10":"\u001b[010q","kf11":"\u001b[011q","kf12":"\u001b[012q","kf13":"\u001b[013q","kf14":"\u001b[014q","kf15":"\u001b[015q","kf16":"\u001b[016q","kf17":"\u001b[017q","kf18":"\u001b[018q","kf19":"\u001b[019q","kf20":"\u001b[020q","kf21":"\u001b[021q","kf22":"\u001b[022q","kf23":"\u001b[023q","kf24":"\u001b[024q","kf25":"\u001b[025q","kf26":"\u001b[026q","kf27":"\u001b[027q","kf28":"\u001b[028q","kf29":"\u001b[029q","kf30":"\u001b[030q","kf31":"\u001b[031q","kf32":"\u001b[032q","kf33":"\u001b[033q","kf34":"\u001b[034q","kf35":"\u001b[035q","kf36":"\u001b[036q","kich":"\u001b[139q","kdch":"\u001b[P","khome":"\u001b[H","kend":"\u001b[146q","kpp":"\u001b[150q","knp":"\u001b[154q","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001b[Z","kclr":"\u001b[144q","acsc":"jjkkllmmnnqqttuuvvwwxx","_setfgbg":"\u001b[%?%p1%{8}%\u003c%t%p1%{30}%+%e%p1%'R'%+%;%d;%?%p2%{8}%\u003c%t%p2%'('%+%e%p2%{92}%+%;%dm"} -{"name":"aixterm-m","cols":80,"lines":25,"bell":"\u0007","clear":"\u001b[H\u001b[J","sgr0":"\u001b[0;10m\u001b(B","smul":"\u001b[4m","bold":"\u001b[1m","rev":"\u001b[7m","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001b[001q","kf2":"\u001b[002q","kf3":"\u001b[003q","kf4":"\u001b[004q","kf5":"\u001b[005q","kf6":"\u001b[006q","kf7":"\u001b[007q","kf8":"\u001b[008q","kf9":"\u001b[009q","kf10":"\u001b[010q","kf11":"\u001b[011q","kf12":"\u001b[012q","kf13":"\u001b[013q","kf14":"\u001b[014q","kf15":"\u001b[015q","kf16":"\u001b[016q","kf17":"\u001b[017q","kf18":"\u001b[018q","kf19":"\u001b[019q","kf20":"\u001b[020q","kf21":"\u001b[021q","kf22":"\u001b[022q","kf23":"\u001b[023q","kf24":"\u001b[024q","kf25":"\u001b[025q","kf26":"\u001b[026q","kf27":"\u001b[027q","kf28":"\u001b[028q","kf29":"\u001b[029q","kf30":"\u001b[030q","kf31":"\u001b[031q","kf32":"\u001b[032q","kf33":"\u001b[033q","kf34":"\u001b[034q","kf35":"\u001b[035q","kf36":"\u001b[036q","kich":"\u001b[139q","kdch":"\u001b[P","khome":"\u001b[H","kend":"\u001b[146q","kpp":"\u001b[150q","knp":"\u001b[154q","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001b[Z","kclr":"\u001b[144q","acsc":"jjkkllmmnnqqttuuvvwwxx"} -{"name":"aixterm-m-old","cols":80,"lines":25,"bell":"\u0007","clear":"\u001b[H\u001b[J","sgr0":"\u001b[0;10m","smul":"\u001b[4m","bold":"\u001b[1m","rev":"\u001b[7m","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001b[001q","kf2":"\u001b[002q","kf3":"\u001b[003q","kf4":"\u001b[004q","kf5":"\u001b[005q","kf6":"\u001b[006q","kf7":"\u001b[007q","kf8":"\u001b[008q","kf9":"\u001b[009q","kf10":"\u001b[010q","kf11":"\u001b[011q","kf12":"\u001b[012q","kf13":"\u001b[013q","kf14":"\u001b[014q","kf15":"\u001b[015q","kf16":"\u001b[016q","kf17":"\u001b[017q","kf18":"\u001b[018q","kf19":"\u001b[019q","kf20":"\u001b[020q","kf21":"\u001b[021q","kf22":"\u001b[022q","kf23":"\u001b[023q","kf24":"\u001b[024q","kf25":"\u001b[025q","kf26":"\u001b[026q","kf27":"\u001b[027q","kf28":"\u001b[028q","kf29":"\u001b[029q","kf30":"\u001b[030q","kf31":"\u001b[031q","kf32":"\u001b[032q","kf33":"\u001b[033q","kf34":"\u001b[034q","kf35":"\u001b[035q","kf36":"\u001b[036q","kich":"\u001b[139q","kdch":"\u001b[P","khome":"\u001b[H","kend":"\u001b[146q","kpp":"\u001b[150q","knp":"\u001b[154q","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001b[Z","kclr":"\u001b[144q","acsc":"j\ufffdk\ufffdl\ufffdm\ufffdn\ufffdq\ufffdt\ufffdu\ufffdv\ufffdw\ufffdx\ufffd"} -{"name":"aj510","cols":80,"lines":24,"clear":"\u000c","smcup":"\u001b\"N","rmcup":"\u001b\"N","smul":"\u001b\"U","cup":"\u001b#%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u001bY","pad":"","kcuu1":"\u001bY","kcud1":"\u001bZ","kcub1":"\u001bW","kcuf1":"\u001bX"} -{"name":"alto-h19","aliases":["alto-heath","altoh19","altoheath"],"cols":80,"lines":60,"bell":"\u0007","clear":"\u001bE","cnorm":"\u001by4","cup":"\u001bY%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u001bA","pad":"\u0000","kbs":"\u0008","kf1":"\u001bS","kf2":"\u001bT","kf3":"\u001bU","kf4":"\u001bV","kf5":"\u001bW","kf6":"\u001bP","kf7":"\u001bQ","kf8":"\u001bR","khome":"\u001bH","kcuu1":"\u001bA","kcud1":"\u001bB","kcub1":"\u001bD","kcuf1":"\u001bC","acsc":"~^x`qanbkcjdmelfgg+hai.kwsutvutvozs{","smacs":"\u001bF","rmacs":"\u001bG"} -{"name":"altos2","aliases":["alt2","altos-2"],"cols":80,"lines":24,"clear":"\u001b[H\u001b[2J","sgr0":"\u001b[m","smul":"\u001b[4m","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[1A","pad":"\u0000","kbs":"\u0008","kf1":"\u0001@\r","kf2":"\u0001A\r","kf3":"\u0001B\r","kf4":"\u0001C\r","kf5":"\u0001D\r","kf6":"\u0001E\r","kf7":"\u0001F\r","kf8":"\u0001G\r","kf9":"\u0001H\r","kf32":"\u0001`\r","kf33":"\u0001a\r","kf34":"\u0001b\r","kf35":"\u0001c\r","kf36":"\u0001d\r","kf37":"\u0001e\r","kf38":"\u0001f\r","kf39":"\u0001g\r","kf40":"\u0001h\r","kf41":"\u0001i\r","kf42":"\u0001j\r","kf43":"\u0001k\r","kdch":"\u0001M\r","khome":"\u001b[f","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u0001K\r","kclr":"\u0001L\r"} -{"name":"altos3","aliases":["alt3","alt5","altos-3","altos-5","altos5"],"cols":80,"lines":24,"clear":"\u001b[H\u001b[2J","sgr0":"\u001b[p","smul":"\u001b[4m","blink":"\u001b[5p","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[1A","pad":"\u0000","kbs":"\u0008","kf1":"\u0001@\r","kf2":"\u0001A\r","kf3":"\u0001B\r","kf4":"\u0001C\r","kf5":"\u0001D\r","kf6":"\u0001E\r","kf7":"\u0001F\r","kf8":"\u0001G\r","kf9":"\u0001H\r","kf32":"\u0001`\r","kf33":"\u0001a\r","kf34":"\u0001b\r","kf35":"\u0001c\r","kf36":"\u0001d\r","kf37":"\u0001e\r","kf38":"\u0001f\r","kf39":"\u0001g\r","kf40":"\u0001h\r","kf41":"\u0001i\r","kf42":"\u0001j\r","kf43":"\u0001k\r","kdch":"\u0001M\r","khome":"\u001b[f","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u0001K\r","kclr":"\u0001L\r"} -{"name":"altos4","aliases":["alt4","altos-4"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u001b+$\u003c20\u003e","cnorm":"\u001b`1","civis":"\u001b`0","sgr0":"\u001b(\u001bH\u0003","rev":"\u001b`6\u001b)","dim":"\u001b`7\u001b)","cup":"\u001b=%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u000b","pad":"\u0000","kbs":"\u0008","kf1":"\u0001@\r","kf2":"\u0001A\r","kf3":"\u0001B\r","kf4":"\u0001C\r","kf5":"\u0001D\r","kf6":"\u0001E\r","kf7":"\u0001F\r","kf8":"\u0001G\r","kf9":"\u0001H\r","kf10":"\u0001I\r","kf11":"\u0001J\r","kf12":"\u0001K\r","kf13":"\u0001L\r","kf14":"\u0001M\r","kf15":"\u0001N\r","kf16":"\u0001O\r","kich":"\u001bQ","kdch":"\u001bW","khome":"\u001e","kpp":"\u001bJ","knp":"\u001bK","kcuu1":"\u000b","kcud1":"\n","kcub1":"\u0008","kcuf1":"\u000c","kcbt":"\u001bI","kprt":"\u001bP","acsc":"0wa_h[jukslrmqnxqzttuyv]wpxv","smacs":"\u001bH\u0002","rmacs":"\u001bH\u0003","kHOM":"\u001b{"} -{"name":"altos7","aliases":["alt7"],"cols":80,"lines":24,"clear":"\u001b+\u001e","sgr0":"\u001bG0","smul":"\u001bG8","bold":"\u001bGt","blink":"\u001bG2","rev":"\u001bG4","dim":"\u001bGp","cup":"\u001b=%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u000b","pad":"\u0000","kbs":"\u0008","kf1":"\u0001@\r","kf2":"\u0001A\r","kf3":"\u0001B\r","kf4":"\u0001C\r","kf5":"\u0001D\r","kf6":"\u0001E\r","kf7":"\u0001F\r","kf8":"\u0001G\r","kf9":"\u0001H\r","kf32":"\u0001`\r","kf33":"\u0001a\r","kf34":"\u0001b\r","kf35":"\u0001c\r","kf36":"\u0001d\r","kf37":"\u0001e\r","kf38":"\u0001f\r","kf39":"\u0001g\r","kf40":"\u0001h\r","kf41":"\u0001i\r","kf42":"\u0001j\r","kf43":"\u0001k\r","kdch":"\u0001M\r","khome":"\u001e","kpp":"\u001bJ","knp":"\u001bK","kcuu1":"\u000b","kcud1":"\n","kcub1":"\u0008","kcuf1":"\u000c","kcbt":"\u0001K\r","kclr":"\u0001L\r","acsc":"j5k3l2m1n8q:t4u9v=w0x6"} -{"name":"altos7pc","aliases":["alt7pc"],"cols":80,"lines":24,"clear":"\u001b+\u001e","sgr0":"\u001bG0","smul":"\u001bG8","bold":"\u001bGt","blink":"\u001bG2","rev":"\u001bG4","dim":"\u001bGp","cup":"\u001b=%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u000b","pad":"\u0000","kbs":"\u0008","kf1":"\u0001@\r","kf2":"\u0001A\r","kf3":"\u0001B\r","kf4":"\u0001C\r","kf5":"\u0001D\r","kf6":"\u0001E\r","kf7":"\u0001F\r","kf8":"\u0001G\r","kf9":"\u0001H\r","kf32":"\u0001`\r","kf33":"\u0001a\r","kf34":"\u0001b\r","kf35":"\u0001c\r","kf36":"\u0001d\r","kf37":"\u0001e\r","kf38":"\u0001f\r","kf39":"\u0001g\r","kf40":"\u0001h\r","kf41":"\u0001i\r","kf42":"\u0001j\r","kf43":"\u0001k\r","kdch":"\u0001M\r","khome":"\u001e","kend":"\u001bT","kpp":"\u001bJ","knp":"\u001bK","kcuu1":"\u000b","kcud1":"\n","kcub1":"\u0008","kcuf1":"\u000c","kcbt":"\u0001K\r","kclr":"\u0001L\r","acsc":"j5k3l2m1n8q:t4u9v=w0x6"} -{"name":"amiga","cols":80,"lines":24,"bell":"\u0007","clear":"\u001b[H\u001b[J","cnorm":"\u001b[ p","civis":"\u001b[0 p","sgr0":"\u001b[m","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[7;2m","rev":"\u001b[7m","dim":"\u001b[2m","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u001b[D","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001b[0~","kf2":"\u001b[1~","kf3":"\u001b[2~","kf4":"\u001b[3~","kf5":"\u001b[4~","kf6":"\u001b[5~","kf7":"\u001b[6~","kf8":"\u001b[7~","kf9":"\u001b[8~","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","smacs":"\u000e","rmacs":"\u000f"} -{"name":"amiga-8bit","cols":80,"lines":24,"bell":"\u0007","clear":"\ufffdH\ufffdJ","smcup":"\ufffd?7l","rmcup":"\ufffd?7h","cnorm":"\ufffd p","civis":"\ufffd0 p","sgr0":"\ufffd0m","smul":"\ufffd4m","bold":"\ufffd1m","blink":"\ufffd7;2m","rev":"\ufffd7m","dim":"\ufffd2m","cup":"\ufffd%i%p1%d;%p2%dH","cub1":"\ufffdD","cuu1":"\ufffdA","pad":"\u0000","kbs":"\u0008","kf1":"\ufffd0~","kf2":"\ufffd1~","kf3":"\ufffd2~","kf4":"\ufffd3~","kf5":"\ufffd4~","kf6":"\ufffd5~","kf7":"\ufffd6~","kf8":"\ufffd7~","kf9":"\ufffd8~","kdch":"","khome":"\ufffd A","kend":"\ufffd @","kpp":"\ufffdT","knp":"\ufffdS","kcuu1":"\ufffdA","kcud1":"\ufffdB","kcub1":"\ufffdD","kcuf1":"\ufffdC","smacs":"\u000e","rmacs":"\u000f"} -{"name":"amiga-h","cols":80,"lines":24,"bell":"\u0007","clear":"\ufffdH\ufffdJ","smcup":"\ufffd?7l","rmcup":"\ufffd?7h","cnorm":"\ufffd p","civis":"\ufffd0 p","sgr0":"\ufffd0m","smul":"\ufffd4m","bold":"\ufffd1m","blink":"\ufffd7;2m","rev":"\ufffd7m","dim":"\ufffd2m","cup":"\ufffd%i%p1%d;%p2%dH","cub1":"\ufffdD","cuu1":"\ufffdA","pad":"\u0000","kbs":"\u0008","kf1":"\ufffd0~","kf2":"\ufffd1~","kf3":"\ufffd2~","kf4":"\ufffd3~","kf5":"\ufffd4~","kf6":"\ufffd5~","kf7":"\ufffd6~","kf8":"\ufffd7~","kf9":"\ufffd8~","kdch":"","kcuu1":"\ufffdA","kcud1":"\ufffdB","kcub1":"\ufffdD","kcuf1":"\ufffdC","smacs":"\u000e","rmacs":"\u000f"} -{"name":"amiga-vnc","cols":80,"lines":24,"colors":16,"bell":"\u0007","clear":"\u001b[H\u001b[J","smcup":"\u001b[?7h","rmcup":"\u001b[?7h\u001b[r\u001b[J","cnorm":"\u001b[p\u001b[\u003e?6l","civis":"\u001b[0p","sgr0":"\u001b[0m\u000f\u001b[30;85;\u003e15m","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[7;2m","rev":"\u001b[7m","dim":"\u001b[2m","smkx":"\u001b[?1h","rmkx":"\u001b[?1l","setaf":"\u001b[%?%p1%{8}%\u003e%t%'2'%p1%+%d%e3%p1%d%;m","setbg":"\u001b[%?%p1%{8}%\u003e%t%'F'%p1%+%d%e4%p1%d%;m","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u001b[D","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001b[0~","kf2":"\u001b[1~","kf3":"\u001b[2~","kf4":"\u001b[3~","kf5":"\u001b[4~","kf6":"\u001b[5~","kf7":"\u001b[6~","kf8":"\u001b[7~","kf9":"\u001b[8~","kdch":"","khome":"\u001b[44~","khlp":"\u001b[?~","kpp":"\u001b[41~","knp":"\u001b[42~","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\ufffdZ","kmous":"\u001b[M","XM":"%?%p1%{1}%=%t%'h'%Pa%e%'l'%Pa%;\u001b[?1000%ga%c\u001b[?1002%ga%c\u001b[?1003%ga%c\u001b[?1006%ga%c","_setfgbg":"\u001b[%?%p1%{8}%\u003e%t%'2'%p1%+%d%e3%p1%d%;;%?%p2%{8}%\u003e%t%'F'%p2%+%d%e4%p2%d%;m"} -{"name":"ampex175","cols":80,"lines":24,"bell":"\u0007","clear":"\u001b+","smcup":"\u001bN","rmcup":"\u001bF","smul":"\u001bl","cup":"\u001b=%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u000b","pad":"\u0000","kich":"\u001bQ","kdch":"\u001bW","khome":"\u001e","kcuu1":"\u000b","kcud1":"\n","kcub1":"\u0008","kcuf1":"\u000c"} -{"name":"ampex175-b","cols":80,"lines":24,"bell":"\u0007","clear":"\u001b+","smcup":"\u001bN","rmcup":"\u001bF","smul":"\u001bl","cup":"\u001b=%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u000b","pad":"\u0000","kbs":"\u001f","kich":"\u001bQ","kdch":"\u001bW","khome":"\u001e","kcuu1":"\u000b","kcud1":"\n","kcub1":"\u0008","kcuf1":"\u000c"} -{"name":"ampex210","aliases":["a210"],"cols":80,"lines":24,"clear":"\u001b*","sgr0":"\u001bG0","smul":"\u001bG8","rev":"\u001bG4","cup":"\u001b=%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u000b","pad":"\u0000","kf1":"\u00011\r","kf2":"\u00012\r","kf3":"\u00013\r","kf4":"\u00014\r","kf5":"\u00015\r","kf6":"\u00016\r","kf7":"\u00017\r","kf8":"\u00018\r","kf9":"\u00019\r","khome":"\u001e","kcuu1":"\u000b","kcud1":"\u0016","kcub1":"\u0008","kcuf1":"\u000c"} -{"name":"ampex219","aliases":["amp219","ampex-219"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u001b[H\u001b[2J$\u003c50\u003e","cnorm":"\u001b[?3l","sgr0":"\u001b[m$\u003c2\u003e","smul":"\u001b[4m$\u003c2\u003e","bold":"\u001b[1m$\u003c2\u003e","blink":"\u001b[5m$\u003c2\u003e","rev":"\u001b[7m","dim":"\u001b[1m","smkx":"\u001b=","rmkx":"\u001b\u003e","cup":"\u001b[%i%p1%d;%p2%dH$\u003c5\u003e","cub1":"\u0008","cuu1":"\u001b[A$\u003c2\u003e","pad":"\u0000","kf1":"\u001b[7~","kf2":"\u001b[8~","kf3":"\u001b[9~","kf4":"\u001b[10~","kf5":"\u001b[11~","kf6":"\u001b[17~","kf7":"\u001b[18~","kf8":"\u001b[19~","kf9":"\u001b[20~","khome":"\u001b[H","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C"} -{"name":"ampex219w","aliases":["amp219w","ampex-219w"],"cols":132,"lines":24,"bell":"\u0007","clear":"\u001b[H\u001b[2J$\u003c50\u003e","cnorm":"\u001b[?3l","sgr0":"\u001b[m$\u003c2\u003e","smul":"\u001b[4m$\u003c2\u003e","bold":"\u001b[1m$\u003c2\u003e","blink":"\u001b[5m$\u003c2\u003e","rev":"\u001b[7m","dim":"\u001b[1m","smkx":"\u001b=","rmkx":"\u001b\u003e","cup":"\u001b[%i%p1%d;%p2%dH$\u003c5\u003e","cub1":"\u0008","cuu1":"\u001b[A$\u003c2\u003e","pad":"\u0000","kf1":"\u001b[7~","kf2":"\u001b[8~","kf3":"\u001b[9~","kf4":"\u001b[10~","kf5":"\u001b[11~","kf6":"\u001b[17~","kf7":"\u001b[18~","kf8":"\u001b[19~","kf9":"\u001b[20~","khome":"\u001b[H","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C"} -{"name":"ampex232","aliases":["ampex-232"],"cols":80,"lines":24,"clear":"\u001b+","cnorm":"\u001b.4","civis":"\u001b.0","sgr0":"\u001bG0","smul":"\u001bG8","rev":"\u001bG4","cup":"\u001b=%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u000b","pad":"\u0000","kbs":"\u0008","kf1":"\u0001A\r","kf2":"\u0001B\r","kf3":"\u0001C\r","kf4":"\u0001D\r","kf5":"\u0001E\r","kf6":"\u0001F\r","kf7":"\u0001G\r","kf8":"\u0001H\r","kf9":"\u0001I\r","khome":"\u001e","kcuu1":"\u000b","kcud1":"\u0016","kcub1":"\u0008","kcuf1":"\u000c"} -{"name":"ampex232w","cols":132,"lines":24,"clear":"\u001b+","cnorm":"\u001b.4","civis":"\u001b.0","sgr0":"\u001bG0","smul":"\u001bG8","rev":"\u001bG4","cup":"\u001b=%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u000b","pad":"\u0000","kbs":"\u0008","kf1":"\u0001A\r","kf2":"\u0001B\r","kf3":"\u0001C\r","kf4":"\u0001D\r","kf5":"\u0001E\r","kf6":"\u0001F\r","kf7":"\u0001G\r","kf8":"\u0001H\r","kf9":"\u0001I\r","khome":"\u001e","kcuu1":"\u000b","kcud1":"\u0016","kcub1":"\u0008","kcuf1":"\u000c"} -{"name":"ampex80","aliases":["a80","d80","dialogue","dialogue80"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u001b*$\u003c75\u003e","smul":"\u001bl","cup":"\u001b=%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u000b","pad":"\u0000"} -{"name":"annarbor4080","aliases":["aa4080"],"cols":80,"lines":40,"bell":"\u0007","clear":"\u000c$\u003c2\u003e","cup":"\u000f%p2%{10}%/%{16}%*%p2%{10}%m%+%c%p1%?%p1%{19}%\u003e%t%{12}%+%;%'@'%+%c","cub1":"\u0008","cuu1":"\u000e","pad":"\u0000","kbs":"\u001e","khome":"\u000b","kcuu1":"\u000e","kcud1":"\n","kcub1":"\u0008","kcuf1":"\u001f"} -{"name":"ansi","cols":80,"lines":24,"colors":8,"bell":"\u0007","clear":"\u001b[H\u001b[J","sgr0":"\u001b[0;10m","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","setaf":"\u001b[3%p1%dm","setbg":"\u001b[4%p1%dm","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u001b[D","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kich":"\u001b[L","khome":"\u001b[H","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001b[Z","acsc":"+\u0010,\u0011-\u0018.\u00190\ufffd`\u0004a\ufffdf\ufffdg\ufffdh\ufffdj\ufffdk\ufffdl\ufffdm\ufffdn\ufffdo~p\ufffdq\ufffdr\ufffds_t\ufffdu\ufffdv\ufffdw\ufffdx\ufffdy\ufffdz\ufffd{\ufffd|\ufffd}\ufffd~\ufffd","smacs":"\u001b[11m","rmacs":"\u001b[10m","_setfgbg":"\u001b[3%p1%d;4%p2%dm"} -{"name":"ansi-color-2-emx","cols":80,"lines":25,"colors":8,"bell":"\u0007","clear":"\u001b[0;37;44m\u001b[H\u001b[J","cnorm":"\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b[0;37;44m","smul":"\u001b[1;36;44m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[1;37;46m","setaf":"\u001b[3%p1%dm","setbg":"\u001b[4%p1%dm","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\ufffd;","kf2":"\ufffd\u003c","kf3":"\ufffd=","kf4":"\ufffd\u003e","kf5":"\ufffd?","kf6":"\ufffd@","kf7":"\ufffdA","kf8":"\ufffdB","kf9":"\ufffdC","kf10":"\ufffdD","kf11":"\ufffd\ufffd","kf12":"\ufffd\ufffd","kf13":"\ufffdT","kf14":"\ufffdU","kf15":"\ufffdV","kf16":"\ufffdW","kf17":"\ufffdX","kf18":"\ufffdY","kf19":"\ufffdZ","kf20":"\ufffd[","kf21":"\ufffd\\","kf22":"\ufffd]","kf23":"\ufffd\ufffd","kf24":"\ufffd\ufffd","kf25":"\ufffd^","kf26":"\ufffd_","kf27":"\ufffd`","kf28":"\ufffda","kf29":"\ufffdb","kf30":"\ufffdc","kf31":"\ufffdd","kf32":"\ufffde","kf33":"\ufffdf","kf34":"\ufffdg","kf35":"\ufffd\ufffd","kf36":"\ufffd\ufffd","kf37":"\ufffdh","kf38":"\ufffdi","kf39":"\ufffdj","kf40":"\ufffdk","kf41":"\ufffdl","kf42":"\ufffdm","kf43":"\ufffdn","kf44":"\ufffdo","kf45":"\ufffdp","kf46":"\ufffdq","kf47":"\ufffd\ufffd","kf48":"\ufffd\ufffd","kich":"\ufffdR","kdch":"\ufffdS","khome":"\ufffdG","kend":"\ufffdO","kpp":"\ufffdI","knp":"\ufffdQ","kcuu1":"\ufffdH","kcud1":"\ufffdP","kcub1":"\ufffdK","kcuf1":"\ufffdM","kcbt":"\ufffd\u000f","acsc":"+\u0010,\u0011-\u0018.\u00190\ufffd`\u0004a\ufffdf\ufffdg\ufffdh\ufffdj\ufffdk\ufffdl\ufffdm\ufffdn\ufffdo~p\ufffdq\ufffdr\ufffds_t\ufffdu\ufffdv\ufffdw\ufffdx\ufffdy\ufffdz\ufffd{\ufffd|\ufffd}\ufffd~\ufffd","smacs":"\u001b[11m","rmacs":"\u001b[10m","_setfgbg":"\u001b[3%p1%d;4%p2%dm"} -{"name":"ansi-color-3-emx","cols":80,"lines":25,"colors":8,"bell":"\u0007","clear":"\u001b[0;37;40m\u001b[H\u001b[J","cnorm":"\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b[0;10m","smul":"\u001b[0;36;40m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[1;37;46m","setaf":"\u001b[3%p1%dm","setbg":"\u001b[4%p1%dm","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\ufffd;","kf2":"\ufffd\u003c","kf3":"\ufffd=","kf4":"\ufffd\u003e","kf5":"\ufffd?","kf6":"\ufffd@","kf7":"\ufffdA","kf8":"\ufffdB","kf9":"\ufffdC","kf10":"\ufffdD","kf11":"\ufffd\ufffd","kf12":"\ufffd\ufffd","kf13":"\ufffdT","kf14":"\ufffdU","kf15":"\ufffdV","kf16":"\ufffdW","kf17":"\ufffdX","kf18":"\ufffdY","kf19":"\ufffdZ","kf20":"\ufffd[","kf21":"\ufffd\\","kf22":"\ufffd]","kf23":"\ufffd\ufffd","kf24":"\ufffd\ufffd","kf25":"\ufffd^","kf26":"\ufffd_","kf27":"\ufffd`","kf28":"\ufffda","kf29":"\ufffdb","kf30":"\ufffdc","kf31":"\ufffdd","kf32":"\ufffde","kf33":"\ufffdf","kf34":"\ufffdg","kf35":"\ufffd\ufffd","kf36":"\ufffd\ufffd","kf37":"\ufffdh","kf38":"\ufffdi","kf39":"\ufffdj","kf40":"\ufffdk","kf41":"\ufffdl","kf42":"\ufffdm","kf43":"\ufffdn","kf44":"\ufffdo","kf45":"\ufffdp","kf46":"\ufffdq","kf47":"\ufffd\ufffd","kf48":"\ufffd\ufffd","kich":"\ufffdR","kdch":"\ufffdS","khome":"\ufffdG","kend":"\ufffdO","kpp":"\ufffdI","knp":"\ufffdQ","kcuu1":"\ufffdH","kcud1":"\ufffdP","kcub1":"\ufffdK","kcuf1":"\ufffdM","kcbt":"\ufffd\u000f","acsc":"+\u0010,\u0011-\u0018.\u00190\ufffd`\u0004a\ufffdf\ufffdg\ufffdh\ufffdj\ufffdk\ufffdl\ufffdm\ufffdn\ufffdo~p\ufffdq\ufffdr\ufffds_t\ufffdu\ufffdv\ufffdw\ufffdx\ufffdy\ufffdz\ufffd{\ufffd|\ufffd}\ufffd~\ufffd","smacs":"\u001b[11m","rmacs":"\u001b[10m","_setfgbg":"\u001b[3%p1%d;4%p2%dm"} -{"name":"ansi-emx","cols":80,"lines":25,"colors":8,"bell":"\u0007","clear":"\u001b[1;33;44m\u001b[H\u001b[J","cnorm":"\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b[0m\u001b[1;33;44m","smul":"\u001b[1;31;44m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[5;37;41m","setaf":"\u001b[3%p1%dm","setbg":"\u001b[4%p1%dm","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\ufffd;","kf2":"\ufffd\u003c","kf3":"\ufffd=","kf4":"\ufffd\u003e","kf5":"\ufffd?","kf6":"\ufffd@","kf7":"\ufffdA","kf8":"\ufffdB","kf9":"\ufffdC","kf10":"\ufffdD","kf11":"\ufffd\ufffd","kf12":"\ufffd\ufffd","kf13":"\ufffdT","kf14":"\ufffdU","kf15":"\ufffdV","kf16":"\ufffdW","kf17":"\ufffdX","kf18":"\ufffdY","kf19":"\ufffdZ","kf20":"\ufffd[","kf21":"\ufffd\\","kf22":"\ufffd]","kf23":"\ufffd\ufffd","kf24":"\ufffd\ufffd","kf25":"\ufffd^","kf26":"\ufffd_","kf27":"\ufffd`","kf28":"\ufffda","kf29":"\ufffdb","kf30":"\ufffdc","kf31":"\ufffdd","kf32":"\ufffde","kf33":"\ufffdf","kf34":"\ufffdg","kf35":"\ufffd\ufffd","kf36":"\ufffd\ufffd","kf37":"\ufffdh","kf38":"\ufffdi","kf39":"\ufffdj","kf40":"\ufffdk","kf41":"\ufffdl","kf42":"\ufffdm","kf43":"\ufffdn","kf44":"\ufffdo","kf45":"\ufffdp","kf46":"\ufffdq","kf47":"\ufffd\ufffd","kf48":"\ufffd\ufffd","kich":"\ufffdR","kdch":"\ufffdS","khome":"\ufffdG","kend":"\ufffdO","kpp":"\ufffdI","knp":"\ufffdQ","kcuu1":"\ufffdH","kcud1":"\ufffdP","kcub1":"\ufffdK","kcuf1":"\ufffdM","kcbt":"\ufffd\u000f","acsc":"+\u0010,\u0011-\u0018.\u00190\ufffd`\u0004a\ufffdf\ufffdg\ufffdh\ufffdj\ufffdk\ufffdl\ufffdm\ufffdn\ufffdo~p\ufffdq\ufffdr\ufffds_t\ufffdu\ufffdv\ufffdw\ufffdx\ufffdy\ufffdz\ufffd{\ufffd|\ufffd}\ufffd~\ufffd","smacs":"\u001b[11m","rmacs":"\u001b[10m","_setfgbg":"\u001b[3%p1%d;4%p2%dm"} -{"name":"ansi-generic","cols":80,"lines":24,"bell":"\u0007","clear":"\u001b[H\u001b[J","sgr0":"\u001b[0m","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u001b[D","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","khome":"\u001b[H","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C"} -{"name":"ansi-m","aliases":["ansi-mono"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u001b[H\u001b[J","sgr0":"\u001b[0;10m","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u001b[D","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kich":"\u001b[L","khome":"\u001b[H","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001b[Z","acsc":"+\u0010,\u0011-\u0018.\u00190\ufffd`\u0004a\ufffdf\ufffdg\ufffdh\ufffdj\ufffdk\ufffdl\ufffdm\ufffdn\ufffdo~p\ufffdq\ufffdr\ufffds_t\ufffdu\ufffdv\ufffdw\ufffdx\ufffdy\ufffdz\ufffd{\ufffd|\ufffd}\ufffd~\ufffd","smacs":"\u001b[12m","rmacs":"\u001b[10m"} -{"name":"ansi-mini","cols":80,"lines":24,"bell":"\u0007","clear":"\u001b[H\u001b[J","cup":"\u001b[%i%p1%d;%p2%dH","pad":"\u0000"} -{"name":"ansi-mtabs","cols":80,"lines":24,"bell":"\u0007","clear":"\u001b[H\u001b[J","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u001b[D","cuu1":"\u001b[A","pad":"\u0000"} -{"name":"ansi-nt","aliases":["psx_ansi"],"cols":80,"lines":25,"bell":"\u0007","clear":"\u001b[2J","sgr0":"\u001b[0m","rev":"\u001b[7m","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kcuu1":"\u001b[A","kcud1":"\u001b[V","kcub1":"\u001b[D","kcuf1":"\u001b[C"} -{"name":"ansi.sys","cols":80,"lines":25,"colors":8,"clear":"\u001b[2J","sgr0":"\u001b[0;10m","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","setaf":"\u001b[3%p1%dm","setbg":"\u001b[4%p1%dm","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","khome":"\u001e","kcuu1":"\u000b","kcud1":"\n","kcub1":"\u0008","kcuf1":"\u000c","acsc":"+\u0010,\u0011-\u0018.\u00190\ufffd`\u0004a\ufffdf\ufffdg\ufffdh\ufffdj\ufffdk\ufffdl\ufffdm\ufffdn\ufffdo~p\ufffdq\ufffdr\ufffds_t\ufffdu\ufffdv\ufffdw\ufffdx\ufffdy\ufffdz\ufffd{\ufffd|\ufffd}\ufffd~\ufffd","smacs":"\u001b[11m","rmacs":"\u001b[10m","_setfgbg":"\u001b[3%p1%d;4%p2%dm"} -{"name":"ansi.sys-old","cols":80,"lines":25,"colors":8,"clear":"\u001b[2J","sgr0":"\u001b[0;10m","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","setaf":"\u001b[3%p1%dm","setbg":"\u001b[4%p1%dm","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","khome":"\u001e","kcuu1":"\u000b","kcud1":"\n","kcub1":"\u0008","kcuf1":"\u000c","acsc":"+\u0010,\u0011-\u0018.\u00190\ufffd`\u0004a\ufffdf\ufffdg\ufffdh\ufffdj\ufffdk\ufffdl\ufffdm\ufffdn\ufffdo~p\ufffdq\ufffdr\ufffds_t\ufffdu\ufffdv\ufffdw\ufffdx\ufffdy\ufffdz\ufffd{\ufffd|\ufffd}\ufffd~\ufffd","smacs":"\u001b[11m","rmacs":"\u001b[10m","_setfgbg":"\u001b[3%p1%d;4%p2%dm"} -{"name":"ansi.sysk","aliases":["ansisysk"],"cols":80,"lines":25,"colors":8,"clear":"\u001b[2J","sgr0":"\u001b[0;10m","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","smkx":"\u001b[;71;30p\u001b[;72;11p\u001b[;73;27;21p\u001b[;77;12p\u001b[;80;10p\u001b[;81;27;4p\u001b[;82;27;27;105p\u001b[;83;127p","rmkx":"\u001b[;71;0;71p\u001b[;72;0;72p\u001b[;73;0;73p\u001b[;77;0;77p\u001b[;80;0;80p\u001b[;81;0;81p\u001b[;82;0;82p\u001b[;83;0;83p","setaf":"\u001b[3%p1%dm","setbg":"\u001b[4%p1%dm","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","khome":"\u001e","kcuu1":"\u000b","kcud1":"\n","kcub1":"\u0008","kcuf1":"\u000c","acsc":"+\u0010,\u0011-\u0018.\u00190\ufffd`\u0004a\ufffdf\ufffdg\ufffdh\ufffdj\ufffdk\ufffdl\ufffdm\ufffdn\ufffdo~p\ufffdq\ufffdr\ufffds_t\ufffdu\ufffdv\ufffdw\ufffdx\ufffdy\ufffdz\ufffd{\ufffd|\ufffd}\ufffd~\ufffd","smacs":"\u001b[11m","rmacs":"\u001b[10m","_setfgbg":"\u001b[3%p1%d;4%p2%dm"} -{"name":"ansi77","cols":80,"lines":24,"bell":"\u0007","clear":"\u001b[;H\u001b[2J","smul":"\u001b[4m","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOP","kf2":"\u001bOR","kf4":"\u001bOS","khome":"\u001b[H","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C"} -{"name":"apollo","cols":88,"lines":53,"clear":"\u000c","smcup":"\u001bW","rmcup":"\u001bX","smul":"\u001bU","cup":"\u001bM%p1%' '%+%c%p2%d)","cub1":"\u0008","cuu1":"\u001bA","pad":"\u0000"} -{"name":"apollo_15P","cols":80,"lines":24,"bell":"\u0007","clear":"\u001b[H\u001b[J$\u003c50\u003e","sgr0":"\u001b[m\u000f$\u003c2\u003e","smul":"\u001b[4m$\u003c2\u003e","bold":"\u001b[1m$\u003c2\u003e","blink":"\u001b[5m$\u003c2\u003e","rev":"\u001b[7m$\u003c2\u003e","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","cup":"\u001b[%i%p1%d;%p2%dH$\u003c5\u003e","cub1":"\u0008","cuu1":"\u001b[A$\u003c2\u003e","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kf5":"\u001bOt","kf6":"\u001bOu","kf7":"\u001bOv","kf8":"\u001bOl","kf9":"\u001bOw","kf10":"\u001bOx","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC","acsc":"``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u000e","rmacs":"\u000f","enacs":"\u001b(B\u001b)0"} -{"name":"apollo_19L","cols":80,"lines":24,"bell":"\u0007","clear":"\u001b[H\u001b[J$\u003c50\u003e","sgr0":"\u001b[m\u000f$\u003c2\u003e","smul":"\u001b[4m$\u003c2\u003e","bold":"\u001b[1m$\u003c2\u003e","blink":"\u001b[5m$\u003c2\u003e","rev":"\u001b[7m$\u003c2\u003e","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","cup":"\u001b[%i%p1%d;%p2%dH$\u003c5\u003e","cub1":"\u0008","cuu1":"\u001b[A$\u003c2\u003e","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kf5":"\u001bOt","kf6":"\u001bOu","kf7":"\u001bOv","kf8":"\u001bOl","kf9":"\u001bOw","kf10":"\u001bOx","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC","acsc":"``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u000e","rmacs":"\u000f","enacs":"\u001b(B\u001b)0"} -{"name":"apollo_color","cols":80,"lines":24,"bell":"\u0007","clear":"\u001b[H\u001b[J$\u003c50\u003e","sgr0":"\u001b[m\u000f$\u003c2\u003e","smul":"\u001b[4m$\u003c2\u003e","bold":"\u001b[1m$\u003c2\u003e","blink":"\u001b[5m$\u003c2\u003e","rev":"\u001b[7m$\u003c2\u003e","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","cup":"\u001b[%i%p1%d;%p2%dH$\u003c5\u003e","cub1":"\u0008","cuu1":"\u001b[A$\u003c2\u003e","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kf5":"\u001bOt","kf6":"\u001bOu","kf7":"\u001bOv","kf8":"\u001bOl","kf9":"\u001bOw","kf10":"\u001bOx","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC","acsc":"``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u000e","rmacs":"\u000f","enacs":"\u001b(B\u001b)0"} -{"name":"apple-80","cols":80,"lines":24,"clear":"\u000c$\u003c10*/\u003e","cup":"\u001e%p2%' '%+%c%p1%' '%+%c","cub1":"\u0008","cuu1":"\u001f","pad":"\u0000"} -{"name":"apple-ae","cols":80,"lines":24,"bell":"\u0007$\u003c500/\u003e","clear":"\u000c","sgr0":"\u000e","rev":"\u000f","cup":"\u001e%p2%' '%+%c%p1%' '%+%c","cub1":"\u0008","cuu1":"\u001f","pad":"\u0000","kcuu1":"\u000b","kcud1":"\n","kcub1":"\u0008","kcuf1":"\u0015","kclr":"\u0018"} -{"name":"apple-soroc","cols":80,"lines":24,"bell":"\u0007","clear":"\u001b*$\u003c300\u003e","cup":"\u001b=%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u000b","pad":"\u0000","kcuu1":"\u000b","kcud1":"\n","kcub1":"\u0008","kcuf1":"\u000c"} -{"name":"apple-uterm","cols":80,"lines":24,"clear":"\u000c","cup":"\u001e%p2%' '%+%c%p1%' '%+%c","cuu1":"\u001f","pad":"\u0000"} -{"name":"apple-uterm-vb","cols":80,"lines":24,"clear":"\u000c","cup":"\u001e%p2%' '%+%c%p1%' '%+%c","cuu1":"\u001f","pad":"\u0000"} -{"name":"apple-videx","cols":80,"lines":24,"clear":"\u000c$\u003c300/\u003e","sgr0":"\u001a2","cup":"\u001e%p2%' '%+%c%p1%' '%+%c","cub1":"\u0008","cuu1":"\u001f","pad":"\u0000","khome":"\u0019","kcud1":"\n","kcub1":"\u0008","kcuf1":"\u0015"} -{"name":"apple-videx2","cols":80,"lines":24,"bell":"\u0007$\u003c100/\u003e","clear":"\u000c$\u003c16*/\u003e","cup":"\u001e%p2%' '%+%c%p1%' '%+%c","cub1":"\u0008","cuu1":"\u001f","pad":"\u0000","kbs":"\u0008","khome":"\u0019","kcuu1":"\u001f","kcud1":"\n","kcub1":"\u0008","kcuf1":"\u001c"} -{"name":"apple-videx3","aliases":["vapple"],"cols":80,"lines":24,"clear":"\u001bv","cup":"\u001bY%p1%' '%+%c%p2%' '%+%c","cuu1":"\u001bA","pad":"\u0000","kf1":"\u001bQ","kf2":"\u001bR","kf3":"\u001b ","kf4":"\u001b!","kf5":"\u001b\"","kf6":"\u001b#","kf7":"\u001b$","kf8":"\u001b%%","kf9":"\u001b\u0026","khome":"\u001bH","kcuu1":"\u001bA","kcud1":"\u001bB","kcub1":"\u001bD","kcuf1":"\u001bC"} -{"name":"apple-vm80","aliases":["ap-vm80"],"cols":80,"lines":24,"clear":"\u000c$\u003c300/\u003e","cup":"\u001e%p1%' '%+%c%p2%' '%+%c$\u003c100/\u003e","cuu1":"\u001f","pad":"\u0000"} -{"name":"apple2e-p","cols":80,"lines":24,"bell":"\u0007","clear":"\u000c$\u003c100/\u003e","sgr0":"\u000e","rev":"\u000f","cup":"\u001e%p2%' '%+%c%p1%' '%+%c","cub1":"\u0008","cuu1":"\u001f","pad":"\u0000","kbs":"\u0008","kcuu1":"\u000b","kcud1":"\n","kcub1":"\u0008","kcuf1":"\u0015"} -{"name":"apple80p","cols":80,"lines":24,"clear":"\u0019\u000c","cup":"\u001e%p2%' '%+%c%p1%' '%+%c","cuu1":"\u001f","pad":"\u0000","kcub1":"\u0008"} -{"name":"appleII","cols":80,"lines":24,"clear":"\u000c","cnorm":"\u0014C2","sgr0":"\u000e","cup":"\u001e%p2%' '%+%c%p1%' '%+%c","cub1":"\u0008","cuu1":"\u001f","pad":"\u0000","kcud1":"\n","kcuf1":"\u0015"} -{"name":"appleIIgs","aliases":["appleIIc","appleIIe"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u000c","cup":"\u001e%p2%' '%+%c%p1%' '%+%c","cub1":"\u0008","cuu1":"\u001f","pad":"\u0000","kbs":"\u0008","kdch":"","kcuu1":"\u000b","kcud1":"\n","kcub1":"\u0008","kcuf1":"\u0015","kclr":"\u0018"} -{"name":"arm100","aliases":["arm100-am"],"cols":80,"lines":30,"colors":8,"bell":"\u0007","clear":"\u001b[H\u001b[J$\u003c50\u003e","sgr0":"\u001b[m\u000f$\u003c2\u003e","smul":"\u001b[4m$\u003c2\u003e","bold":"\u001b[1m$\u003c2\u003e","blink":"\u001b[5m$\u003c2\u003e","rev":"\u001b[7m$\u003c2\u003e","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","setaf":"\u001b[3%p1%dm","setbg":"\u001b[4%p1%dm","cup":"\u001b[%i%p1%d;%p2%dH$\u003c5\u003e","cub1":"\u0008","cuu1":"\u001b[A$\u003c2\u003e","pad":"\u0000","kbs":"\u0008","kf1":"\u001b[P","kf2":"\u001b[Q","kf3":"\u001b[R","kf4":"\u001b[S","kf5":"\u001b[t","kf6":"\u001b[u","kf7":"\u001b[v","kf8":"\u001b[l","kf9":"\u001b[w","kf10":"\u001b[x","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","acsc":"``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u000e","rmacs":"\u000f","enacs":"\u001b(B\u001b)0","_setfgbg":"\u001b[3%p1%d;4%p2%dm"} -{"name":"arm100-w","aliases":["arm100-wam"],"cols":132,"lines":50,"colors":8,"bell":"\u0007","clear":"\u001b[H\u001b[J$\u003c50\u003e","sgr0":"\u001b[m\u000f$\u003c2\u003e","smul":"\u001b[4m$\u003c2\u003e","bold":"\u001b[1m$\u003c2\u003e","blink":"\u001b[5m$\u003c2\u003e","rev":"\u001b[7m$\u003c2\u003e","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","setaf":"\u001b[3%p1%dm","setbg":"\u001b[4%p1%dm","cup":"\u001b[%i%p1%d;%p2%dH$\u003c5\u003e","cub1":"\u0008","cuu1":"\u001b[A$\u003c2\u003e","pad":"\u0000","kbs":"\u0008","kf1":"\u001b[P","kf2":"\u001b[Q","kf3":"\u001b[R","kf4":"\u001b[S","kf5":"\u001b[t","kf6":"\u001b[u","kf7":"\u001b[v","kf8":"\u001b[l","kf9":"\u001b[w","kf10":"\u001b[x","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","acsc":"``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u000e","rmacs":"\u000f","enacs":"\u001b(B\u001b)0","_setfgbg":"\u001b[3%p1%d;4%p2%dm"} -{"name":"atari","cols":80,"lines":25,"clear":"\u001bH\u001bJ","sgr0":"\u001bq","cup":"\u001bY%p1%' '%+%c%p2%' '%+%c","cub1":"\u001bD","cuu1":"\u001bA","pad":"\u0000","kcuu1":"\u001bA","kcud1":"\u001bB","kcub1":"\u001bD","kcuf1":"\u001bC"} -{"name":"aterm","cols":80,"lines":24,"colors":8,"bell":"\u0007","clear":"\u001b[H\u001b[2J","smcup":"\u001b7\u001b[?47h","rmcup":"\u001b[2J\u001b[?47l\u001b8","cnorm":"\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b[m\u000f","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","smkx":"\u001b=","rmkx":"\u001b\u003e","setaf":"\u001b[3%p1%dm","setbg":"\u001b[4%p1%dm","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kf5":"\u001b[15~","kf6":"\u001b[17~","kf7":"\u001b[18~","kf8":"\u001b[19~","kf9":"\u001b[20~","kf10":"\u001b[21~","kf11":"\u001b[23~","kf12":"\u001b[24~","kf13":"\u001b[25~","kf14":"\u001b[26~","kf15":"\u001b[28~","kf16":"\u001b[29~","kf17":"\u001b[31~","kf18":"\u001b[32~","kf19":"\u001b[33~","kf20":"\u001b[34~","kf21":"\u001b[23$","kf22":"\u001b[24$","kf23":"\u001b[11^","kf24":"\u001b[12^","kf25":"\u001b[13^","kf26":"\u001b[14^","kf27":"\u001b[15^","kf28":"\u001b[17^","kf29":"\u001b[18^","kf30":"\u001b[19^","kf31":"\u001b[20^","kf32":"\u001b[21^","kf33":"\u001b[23^","kf34":"\u001b[24^","kf35":"\u001b[25^","kf36":"\u001b[26^","kf37":"\u001b[28^","kf38":"\u001b[29^","kf39":"\u001b[31^","kf40":"\u001b[32^","kf41":"\u001b[33^","kf42":"\u001b[34^","kf43":"\u001b[23@","kf44":"\u001b[24@","kich":"\u001b[2~","kdch":"\u001b[3~","khome":"\u001b[7~","kend":"\u001b[8~","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001b[Z","kmous":"\u001b[M","XM":"%?%p1%{1}%=%t%'h'%Pa%e%'l'%Pa%;\u001b[?1000%ga%c\u001b[?1002%ga%c\u001b[?1003%ga%c\u001b[?1006%ga%c","acsc":"``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u000e","rmacs":"\u000f","enacs":"\u001b(B\u001b)0","kRIT":"\u001b[c","kLFT":"\u001b[d","kHOM":"\u001b[7$","kEND":"\u001b[8$","_setfgbg":"\u001b[3%p1%d;4%p2%dm","_kscu1":"\u001b[a","_kscud1":"\u001b[b","_kccu1":"\u001b[Oa","_kccud1":"\u001b[Ob","_kccuf1":"\u001b[Oc","_kccub1":"\u001b[Od","_kchome":"\u001b[7^","_kcend":"\u001b[8^"} -{"name":"att2300","aliases":["sv80"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u001b[H\u001b[J","sgr0":"\u001b[m","rev":"\u001b[7m","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001b[1r","kf2":"\u001b[2r","kf3":"\u001b[3r","kf4":"\u001b[4r","kf5":"\u001b[5r","kf6":"\u001b[6r","kf7":"\u001b[7r","kf8":"\u001b[8r","kf9":"\u001b[9r","kf10":"\u001b[10r","kf11":"\u001b[11r","kf12":"\u001b[12r","kf13":"\u001b[13r","kf14":"\u001b[14r","kf15":"\u001b[15r","kf16":"\u001b[16r","kich":"\u001b[@","kdch":"\u001b[P","khome":"\u001b[H","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001b[Z","kclr":"\u001b[J"} -{"name":"att2350","cols":80,"lines":24,"bell":"\u0007","clear":"\u001b[H\u001b[J","sgr0":"\u001b[m","rev":"\u001b[7m","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001b[1r","kf2":"\u001b[2r","kf3":"\u001b[3r","kf4":"\u001b[4r","kf5":"\u001b[5r","kf6":"\u001b[6r","kf7":"\u001b[7r","kf8":"\u001b[8r","kf9":"\u001b[9r","kf10":"\u001b[10r","kf11":"\u001b[11r","kf12":"\u001b[12r","kf13":"\u001b[13r","kf14":"\u001b[14r","kf15":"\u001b[15r","kf16":"\u001b[16r","kich":"\u001b[@","kdch":"\u001b[P","khome":"\u001b[H","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001b[Z","kclr":"\u001b[J"} -{"name":"att4410","aliases":["att5410","tty5410"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u001b[H\u001b[J","sgr0":"\u001b[m\u000f","smul":"\u001b[4m","bold":"\u001b[2;7m","blink":"\u001b[5m","rev":"\u001b[7m","dim":"\u001b[2m","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kf5":"\u001bOT","kf6":"\u001bOU","kf7":"\u001bOV","kf8":"\u001bOW","khome":"\u001b[H","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kclr":"\u001b[2J","acsc":"++,,--..00``aaffgghhjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u000e","rmacs":"\u000f"} -{"name":"att4410v1-w","aliases":["att5410v1-w","tty5410v1-w"],"cols":132,"lines":24,"bell":"\u0007","clear":"\u001b[H\u001b[J","sgr0":"\u001b[m\u000f","smul":"\u001b[4m","bold":"\u001b[2;7m","blink":"\u001b[5m","rev":"\u001b[7m","dim":"\u001b[2m","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kf5":"\u001bOT","kf6":"\u001bOU","kf7":"\u001bOV","kf8":"\u001bOW","khome":"\u001b[H","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kclr":"\u001b[2J","acsc":"++,,--..00``aaffgghhjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u000e","rmacs":"\u000f"} -{"name":"att4415","aliases":["att5420","tty5420"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u001b[x\u001b[J","cnorm":"\u001b[11;0j","sgr0":"\u001b[m\u000f","smul":"\u001b[4m","bold":"\u001b[2;7m","blink":"\u001b[5m","rev":"\u001b[7m","dim":"\u001b[2m","smkx":"\u001b[19;1j\u001b[21;4j\u001bent","rmkx":"\u001b[19;0j\u001b[21;1j\ufffd","cup":"\u001b[%i%p1%d;%p2%dx","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOc","kf2":"\u001bOd","kf3":"\u001bOe","kf4":"\u001bOf","kf5":"\u001bOg","kf6":"\u001bOh","kf7":"\u001bOi","kf8":"\u001bOj","kich":"\u001b[4h","kdch":"\u001b[P","khome":"\u001b[H","kend":"\u001bz","kpp":"\u001b[V","knp":"\u001b[U","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001b[Z","kclr":"\u001b[2J","acsc":"++,,--..00``aaffgghhjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u000e","rmacs":"\u000f"} -{"name":"att4415-nl","aliases":["att5420-nl","tty5420-nl"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u001b[x\u001b[J","cnorm":"\u001b[11;0j","sgr0":"\u001b[m\u000f","smul":"\u001b[4m","bold":"\u001b[2;7m","blink":"\u001b[5m","rev":"\u001b[7m","dim":"\u001b[2m","smkx":"\u001b[19;1j\u001b[21;4j\u001bent","rmkx":"\u001b[19;0j\u001b[21;1j\ufffd","cup":"\u001b[%i%p1%d;%p2%dx","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kich":"\u001b[4h","kdch":"\u001b[P","khome":"\u001b[H","kend":"\u001bz","kpp":"\u001b[V","knp":"\u001b[U","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001b[Z","kclr":"\u001b[2J","acsc":"++,,--..00``aaffgghhjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u000e","rmacs":"\u000f"} -{"name":"att4415-rv","aliases":["att5420-rv","tty5420-rv"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u001b[x\u001b[J","cnorm":"\u001b[11;0j","sgr0":"\u001b[m\u000f","smul":"\u001b[4m","bold":"\u001b[2;7m","blink":"\u001b[5m","rev":"\u001b[7m","dim":"\u001b[2m","smkx":"\u001b[19;1j\u001b[21;4j\u001bent","rmkx":"\u001b[19;0j\u001b[21;1j\ufffd","cup":"\u001b[%i%p1%d;%p2%dx","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOc","kf2":"\u001bOd","kf3":"\u001bOe","kf4":"\u001bOf","kf5":"\u001bOg","kf6":"\u001bOh","kf7":"\u001bOi","kf8":"\u001bOj","kich":"\u001b[4h","kdch":"\u001b[P","khome":"\u001b[H","kend":"\u001bz","kpp":"\u001b[V","knp":"\u001b[U","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001b[Z","kclr":"\u001b[2J","acsc":"++,,--..00``aaffgghhjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u000e","rmacs":"\u000f"} -{"name":"att4415-rv-nl","aliases":["att5420-rv-nl","tty5420-rv-nl"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u001b[x\u001b[J","cnorm":"\u001b[11;0j","sgr0":"\u001b[m\u000f","smul":"\u001b[4m","bold":"\u001b[2;7m","blink":"\u001b[5m","rev":"\u001b[7m","dim":"\u001b[2m","smkx":"\u001b[19;1j\u001b[21;4j\u001bent","rmkx":"\u001b[19;0j\u001b[21;1j\ufffd","cup":"\u001b[%i%p1%d;%p2%dx","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kich":"\u001b[4h","kdch":"\u001b[P","khome":"\u001b[H","kend":"\u001bz","kpp":"\u001b[V","knp":"\u001b[U","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001b[Z","kclr":"\u001b[2J","acsc":"++,,--..00``aaffgghhjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u000e","rmacs":"\u000f"} -{"name":"att4415-w","aliases":["att5420-w","tty5420-w"],"cols":132,"lines":24,"bell":"\u0007","clear":"\u001b[x\u001b[J","cnorm":"\u001b[11;0j","sgr0":"\u001b[m\u000f","smul":"\u001b[4m","bold":"\u001b[2;7m","blink":"\u001b[5m","rev":"\u001b[7m","dim":"\u001b[2m","smkx":"\u001b[19;1j\u001b[21;4j\u001bent","rmkx":"\u001b[19;0j\u001b[21;1j\ufffd","cup":"\u001b[%i%p1%d;%p2%dx","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOc","kf2":"\u001bOd","kf3":"\u001bOe","kf4":"\u001bOf","kf5":"\u001bOg","kf6":"\u001bOh","kf7":"\u001bOi","kf8":"\u001bOj","kich":"\u001b[4h","kdch":"\u001b[P","khome":"\u001b[H","kend":"\u001bz","kpp":"\u001b[V","knp":"\u001b[U","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001b[Z","kclr":"\u001b[2J","acsc":"++,,--..00``aaffgghhjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u000e","rmacs":"\u000f"} -{"name":"att4415-w-nl","aliases":["att5420-w-nl","tty5420-w-nl"],"cols":132,"lines":24,"bell":"\u0007","clear":"\u001b[x\u001b[J","cnorm":"\u001b[11;0j","sgr0":"\u001b[m\u000f","smul":"\u001b[4m","bold":"\u001b[2;7m","blink":"\u001b[5m","rev":"\u001b[7m","dim":"\u001b[2m","smkx":"\u001b[19;1j\u001b[21;4j\u001bent","rmkx":"\u001b[19;0j\u001b[21;1j\ufffd","cup":"\u001b[%i%p1%d;%p2%dx","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kich":"\u001b[4h","kdch":"\u001b[P","khome":"\u001b[H","kend":"\u001bz","kpp":"\u001b[V","knp":"\u001b[U","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001b[Z","kclr":"\u001b[2J","acsc":"++,,--..00``aaffgghhjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u000e","rmacs":"\u000f"} -{"name":"att4415-w-rv","aliases":["att5420-w-rv","tty5420-w-rv"],"cols":132,"lines":24,"bell":"\u0007","clear":"\u001b[x\u001b[J","cnorm":"\u001b[11;0j","sgr0":"\u001b[m\u000f","smul":"\u001b[4m","bold":"\u001b[2;7m","blink":"\u001b[5m","rev":"\u001b[7m","dim":"\u001b[2m","smkx":"\u001b[19;1j\u001b[21;4j\u001bent","rmkx":"\u001b[19;0j\u001b[21;1j\ufffd","cup":"\u001b[%i%p1%d;%p2%dx","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOc","kf2":"\u001bOd","kf3":"\u001bOe","kf4":"\u001bOf","kf5":"\u001bOg","kf6":"\u001bOh","kf7":"\u001bOi","kf8":"\u001bOj","kich":"\u001b[4h","kdch":"\u001b[P","khome":"\u001b[H","kend":"\u001bz","kpp":"\u001b[V","knp":"\u001b[U","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001b[Z","kclr":"\u001b[2J","acsc":"++,,--..00``aaffgghhjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u000e","rmacs":"\u000f"} -{"name":"att4415-w-rv-n","aliases":["att5420-w-rv-n","tty5420-w-rv-n"],"cols":132,"lines":24,"bell":"\u0007","clear":"\u001b[x\u001b[J","cnorm":"\u001b[11;0j","sgr0":"\u001b[m\u000f","smul":"\u001b[4m","bold":"\u001b[2;7m","blink":"\u001b[5m","rev":"\u001b[7m","dim":"\u001b[2m","smkx":"\u001b[19;1j\u001b[21;4j\u001bent","rmkx":"\u001b[19;0j\u001b[21;1j\ufffd","cup":"\u001b[%i%p1%d;%p2%dx","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kich":"\u001b[4h","kdch":"\u001b[P","khome":"\u001b[H","kend":"\u001bz","kpp":"\u001b[V","knp":"\u001b[U","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001b[Z","kclr":"\u001b[2J","acsc":"++,,--..00``aaffgghhjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u000e","rmacs":"\u000f"} -{"name":"att4418","aliases":["att5418"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u001b[H\u001b[2J","sgr0":"\u001b[m\u000f","smul":"\u001b[4m","blink":"\u001b[5m","rev":"\u001b[7m","dim":"\u001b[2m","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u001b[D","cuu1":"\u001b[A","pad":"\u0000","kf1":"\u001b[h","kf2":"\u001b[i","kf3":"\u001b[j","kf6":"\u001b[k","kf7":"\u001b[l","kf8":"\u001b[f","kf9":"\u001b[w","kf10":"\u001b[m","kf11":"\u001b[n","kf12":"\u001b[o","kf13":"\u001b[H","kf14":"\u001b[I","kf15":"\u001b[J","kf18":"\u001b[K","kf19":"\u001b[L","kf20":"\u001b[E","kf21":"\u001b[_","kf22":"\u001b[M","kf23":"\u001b[N","kf24":"\u001b[O","khome":"\u001bc","kcuu1":"\u001bS","kcud1":"\u001bU","kcub1":"\u001b@","kcuf1":"\u001bA","kclr":"\u001b[%%","acsc":"``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u000e","rmacs":"\u000f"} -{"name":"att4418-w","aliases":["att5418-w"],"cols":132,"lines":24,"bell":"\u0007","clear":"\u001b[H\u001b[2J","sgr0":"\u001b[m\u000f","smul":"\u001b[4m","blink":"\u001b[5m","rev":"\u001b[7m","dim":"\u001b[2m","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u001b[D","cuu1":"\u001b[A","pad":"\u0000","kf1":"\u001b[h","kf2":"\u001b[i","kf3":"\u001b[j","kf6":"\u001b[k","kf7":"\u001b[l","kf8":"\u001b[f","kf9":"\u001b[w","kf10":"\u001b[m","kf11":"\u001b[n","kf12":"\u001b[o","kf13":"\u001b[H","kf14":"\u001b[I","kf15":"\u001b[J","kf18":"\u001b[K","kf19":"\u001b[L","kf20":"\u001b[E","kf21":"\u001b[_","kf22":"\u001b[M","kf23":"\u001b[N","kf24":"\u001b[O","khome":"\u001bc","kcuu1":"\u001bS","kcud1":"\u001bU","kcub1":"\u001b@","kcuf1":"\u001bA","kclr":"\u001b[%%","acsc":"``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u000e","rmacs":"\u000f"} -{"name":"att4420","aliases":["tty4420"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u001bH\u001bJ","smul":"\u001b\\","cup":"\u001bY%p1%' '%+%c%p2%' '%+%c","cub1":"\u001bD","cuu1":"\u001bA","pad":"\u0000","kf3":"\u001b@","kich":"\u001b^","kdch":"\u001bP","khome":"\u001bH","kcuu1":"\u001bA","kcud1":"\u001bB","kcub1":"\u0008","kcuf1":"\u001bC","kcbt":"\u001bO","kclr":"\u001bJ"} -{"name":"att4424","aliases":["tty4424"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u001b[H\u001b[2J","sgr0":"\u001bX\u001b~\u001bZ\u001b4\u001b(B","smul":"\u001b\\","bold":"\u001b3","blink":"\u001b3","rev":"\u001b}","dim":"\u001bW","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001bA","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","khome":"\u001b[H","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kclr":"\u001bJ","acsc":"``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u001b(0","rmacs":"\u001b(B"} -{"name":"att4424-1","aliases":["tty4424-1"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u001b[H\u001b[2J","sgr0":"\u001bX\u001b~\u001bZ\u001b4\u001b(B","smul":"\u001b\\","bold":"\u001b3","blink":"\u001b3","rev":"\u001b}","dim":"\u001bW","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001bA","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kcuu1":"\u001bA","kcud1":"\u001bB","kcub1":"\u001bD","kcuf1":"\u001bC","acsc":"``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u001b(0","rmacs":"\u001b(B"} -{"name":"att4424m","aliases":["tty4424m"],"cols":80,"lines":23,"bell":"\u0007","clear":"\u001b[2;H\u001b[J","sgr0":"\u001b[m","smul":"\u001b[4m","cup":"\u001b[%i%p1%2d;%p2%2dH\u001b[B","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","khome":"\u001b[H","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C"} -{"name":"att4426","aliases":["tty4426"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u001b[H\u001b[2J\u001b[1U\u001b[H\u001b[2J\u001b[1V","sgr0":"\u001b[m\u001b(B","smul":"\u001b[4m","bold":"\u001b[5m","rev":"\u001b[7m","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u001b[D","cuu1":"\u001bA","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kf5":"\u001bOT","kf6":"\u001bOU","kf7":"\u001bOV","kf8":"\u001bOW","khome":"\u001b[H","kcuu1":"\u001bA","kcud1":"\u001bB","kcub1":"\u001bD","kcuf1":"\u001bC","kcbt":"\u001bO","kclr":"\u001b[2J","acsc":"``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u001b(0","rmacs":"\u001b(B"} -{"name":"att500","aliases":["att513"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u001b[H\u001b[J","cnorm":"\u001b[11;0|","sgr0":"\u001b[m\u000f","smul":"\u001b[4m","bold":"\u001b[2;7m","blink":"\u001b[5m","rev":"\u001b[7m","dim":"\u001b[2m","smkx":"\u001b[19;1|\u001b[21;4|\u001bent","rmkx":"\u001b[19;0|\u001b[21;1|\ufffd","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOc","kf2":"\u001bOd","kf3":"\u001bOe","kf4":"\u001bOf","kf5":"\u001bOg","kf6":"\u001bOh","kf7":"\u001bOi","kf8":"\u001bOj","kich":"\u001bNj","kdch":"\u001bNf","khome":"\u001b[H","kend":"\u001b0","khlp":"\u001bOm","kpp":"\u001b[V","knp":"\u001b[U","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001b[Z","kext":"\u001bOk","kclr":"\u001b[J","kprt":"\u001bOz","kcan":"\u001bOw","acsc":"+g,h-f.e`bhrisjjkkllmmnnqqttuuvvwwxx{{||}}~~","smacs":"\u000e","rmacs":"\u000f","enacs":"\u001b(B\u001b)1","kRIT":"\u001bNL","kLFT":"\u001bNK","kHOM":"\u001bNM","kEND":"\u001bNN"} -{"name":"att505","aliases":["att5430","gs5430","pt505"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u001b[2J\u001b[H","cnorm":"\u001b[\u003el","sgr0":"\u001b[m","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","cup":"\u001b[%p1%d;%p2%dH","cub1":"\u001b[D","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001b[01s","kf2":"\u001b[02s","kf3":"\u001b[03s","kf4":"\u001b[04s","kf5":"\u001b[05s","kf6":"\u001b[06s","kf18":"\u001b[18s","kf19":"\u001b[19s","kf20":"\u001b[20s","kf21":"\u001b[21s","kf22":"\u001b[22s","kf23":"\u001b[23s","kf24":"\u001b[24s","kf26":"\u001b[26s","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","acsc":"``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u001b[11m","rmacs":"\u001b[10m"} -{"name":"att505-24","aliases":["gs5430-24","pt505-24"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u001b[2J\u001b[H","cnorm":"\u001b[\u003el","sgr0":"\u001b[m","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","cup":"\u001b[%p1%d;%p2%dH","cub1":"\u001b[D","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001b[01s","kf2":"\u001b[02s","kf3":"\u001b[03s","kf4":"\u001b[04s","kf5":"\u001b[05s","kf6":"\u001b[06s","kf18":"\u001b[18s","kf19":"\u001b[19s","kf20":"\u001b[20s","kf21":"\u001b[21s","kf22":"\u001b[22s","kf23":"\u001b[23s","kf24":"\u001b[24s","kf26":"\u001b[26s","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","acsc":"``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u001b[11m","rmacs":"\u001b[10m"} -{"name":"att510a","aliases":["bct510a"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u001b[H\u001b[J","cnorm":"\u001b[11;3|","civis":"\u001b[11;0|","sgr0":"\u001b[m\u000f","smul":"\u001b[4m","bold":"\u001b[2;7m","blink":"\u001b[5m","rev":"\u001b[7m","dim":"\u001b[2m","smkx":"\u001b[19;1|","rmkx":"\u001b[19;0|","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOm","kf2":"\u001bOV","kf3":"\u001bOu","kf4":"\u001bNj","kf5":"\u001bNe","kf6":"\u001bNf","kf7":"\u001bNh","kf8":"\u001b[H","kf9":"\u001bOc","kf10":"\u001bOd","kf11":"\u001bOe","kf12":"\u001bOf","kf13":"\u001bOg","kf14":"\u001bOh","kf15":"\u001bOi","kf16":"\u001bOj","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001b[Z","acsc":"+g,h-f.e`bhrisjjkkllmmnnqqttuuvvwwxx{{||}}~~","smacs":"\u000e","rmacs":"\u000f","enacs":"\u001b(B\u001b)1","kRIT":"\u001b[v","kLFT":"\u001b[u"} -{"name":"att510d","aliases":["bct510d"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u001b[H\u001b[J","cnorm":"\u001b[11;3|","sgr0":"\u001b[m\u000f","smul":"\u001b[4m","bold":"\u001b[2;7m","blink":"\u001b[5m","rev":"\u001b[7m","dim":"\u001b[2m","smkx":"\u001b[19;1|","rmkx":"\u001b[19;0|","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOm","kf2":"\u001bOV","kf3":"\u001bOu","kf4":"\u001bNj","kf5":"\u001bNe","kf6":"\u001bNf","kf7":"\u001bNh","kf8":"\u001b[H","kf9":"\u001bOc","kf10":"\u001bOd","kf11":"\u001bOe","kf12":"\u001bOf","kf13":"\u001bOg","kf14":"\u001bOh","kf15":"\u001bOi","kf16":"\u001bOj","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001b[Z","acsc":"+g,h-f.e`bhrisjjkkllmmnnqqttuuvvwwxx{{||}}~~","smacs":"\u000e","rmacs":"\u000f","enacs":"\u001b(B\u001b)1","kRIT":"\u001b[v","kLFT":"\u001b[u"} -{"name":"att5410-w","aliases":["4410-w","5410-w","att4410-w","tty5410-w"],"cols":132,"lines":24,"bell":"\u0007","clear":"\u001b[H\u001b[J","sgr0":"\u001b[m\u000f","smul":"\u001b[4m","bold":"\u001b[2;7m","blink":"\u001b[5m","rev":"\u001b[7m","dim":"\u001b[2m","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kf5":"\u001bOT","kf6":"\u001bOU","kf7":"\u001bOV","kf8":"\u001bOW","khome":"\u001b[H","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kclr":"\u001b[2J","acsc":"++,,--..00``aaffgghhjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u000e","rmacs":"\u000f"} -{"name":"att5410v1","aliases":["att4410v1","tty5410v1"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u001b[H\u001b[J","sgr0":"\u001b[m\u000f","smul":"\u001b[4m","bold":"\u001b[2;7m","blink":"\u001b[5m","rev":"\u001b[7m","dim":"\u001b[2m","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kf5":"\u001bOT","kf6":"\u001bOU","kf7":"\u001bOV","kf8":"\u001bOW","khome":"\u001b[H","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kclr":"\u001b[2J","acsc":"++,,--..00``aaffgghhjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u000e","rmacs":"\u000f"} -{"name":"att5420_2","cols":80,"lines":24,"clear":"\u001bH\u001bJ","cnorm":"\u001b[11;0j","sgr0":"\u001b[m\u000f","smul":"\u001b[4m","blink":"\u001b[5m","rev":"\u001b[7m","dim":"\u001b[2m","smkx":"\u001b[19;1j","rmkx":"\u001b[19;0j","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOc","kf2":"\u001bOd","kf3":"\u001bOe","kf4":"\u001bOf","kf5":"\u001bOg","kf6":"\u001bOh","kf7":"\u001bOi","kf8":"\u001bOj","kich":"\u001b[4h","kdch":"\u001b[P","khome":"\u001b[H","kend":"\u001bz","kpp":"\u001b[V","knp":"\u001b[U","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001b[Z","kclr":"\u001b[2J","acsc":"``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u000e","rmacs":"\u000f"} -{"name":"att5420_2-w","cols":132,"lines":24,"clear":"\u001bH\u001bJ","cnorm":"\u001b[11;0j","sgr0":"\u001b[m\u000f","smul":"\u001b[4m","blink":"\u001b[5m","rev":"\u001b[7m","dim":"\u001b[2m","smkx":"\u001b[19;1j","rmkx":"\u001b[19;0j","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOc","kf2":"\u001bOd","kf3":"\u001bOe","kf4":"\u001bOf","kf5":"\u001bOg","kf6":"\u001bOh","kf7":"\u001bOi","kf8":"\u001bOj","kich":"\u001b[4h","kdch":"\u001b[P","khome":"\u001b[H","kend":"\u001bz","kpp":"\u001b[V","knp":"\u001b[U","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001b[Z","kclr":"\u001b[2J","acsc":"``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u000e","rmacs":"\u000f"} -{"name":"att5425","aliases":["att4425","tty5425"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u001b[H\u001b[J","cnorm":"\u001b[12;0j","sgr0":"\u001b[m\u000f","smul":"\u001b[4m","bold":"\u001b[2;7m","blink":"\u001b[5m","rev":"\u001b[7m","dim":"\u001b[2m","smkx":"\u001b[21;1j\u001b[25;4j\u001bent\u001b~","rmkx":"\u001b[21;0j\u001b[25;1j\ufffd","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOc","kf2":"\u001bOd","kf3":"\u001bOe","kf4":"\u001bOf","kf5":"\u001bOg","kf6":"\u001bOh","kf7":"\u001bOi","kf8":"\u001bOj","kich":"\u001b[4h","kdch":"\u001b[P","khome":"\u001b[H","kend":"\u001bz","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001b[Z","kclr":"\u001b[J","acsc":"``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u000e","rmacs":"\u000f","enacs":"\u001b(B\u001b)0"} -{"name":"att5425-nl","aliases":["att4425-nl","tty5425-nl"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u001b[H\u001b[J","cnorm":"\u001b[12;0j","sgr0":"\u001b[m\u000f","smul":"\u001b[4m","bold":"\u001b[2;7m","blink":"\u001b[5m","rev":"\u001b[7m","dim":"\u001b[2m","smkx":"\u001b[21;1j\u001b[25;4j\u001bent","rmkx":"\u001b[21;0j\u001b[25;1j\ufffd","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOc","kf2":"\u001bOd","kf3":"\u001bOe","kf4":"\u001bOf","kf5":"\u001bOg","kf6":"\u001bOh","kf7":"\u001bOi","kf8":"\u001bOj","kich":"\u001b[4h","kdch":"\u001b[P","khome":"\u001b[H","kend":"\u001bz","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001b[Z","kclr":"\u001b[J","acsc":"``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u000e","rmacs":"\u000f","enacs":"\u001b(B\u001b)0"} -{"name":"att5425-w","aliases":["att4425-w","tty5425-w"],"cols":132,"lines":24,"bell":"\u0007","clear":"\u001b[H\u001b[J","cnorm":"\u001b[12;0j","sgr0":"\u001b[m\u000f","smul":"\u001b[4m","bold":"\u001b[2;7m","blink":"\u001b[5m","rev":"\u001b[7m","dim":"\u001b[2m","smkx":"\u001b[21;1j\u001b[25;4j\u001bent\u001b~","rmkx":"\u001b[21;0j\u001b[25;1j\ufffd","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOc","kf2":"\u001bOd","kf3":"\u001bOe","kf4":"\u001bOf","kf5":"\u001bOg","kf6":"\u001bOh","kf7":"\u001bOi","kf8":"\u001bOj","kich":"\u001b[4h","kdch":"\u001b[P","khome":"\u001b[H","kend":"\u001bz","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001b[Z","kclr":"\u001b[J","acsc":"``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u000e","rmacs":"\u000f","enacs":"\u001b(B\u001b)0"} -{"name":"att5620","aliases":["5620","dmd","tty5620","ttydmd"],"cols":88,"lines":70,"bell":"\u0007","clear":"\u001b[H\u001b[J","sgr0":"\u001b[0m","smul":"\u001b[4m","bold":"\u001b[2m","rev":"\u001b[7m","dim":"\u001b[2m","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","kbs":"\u0008","khome":"\u001b[H","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kclr":"\u001b[2J"} -{"name":"att5620-1","aliases":["dmd1","tty5620-1"],"cols":88,"lines":70,"bell":"\u0007","clear":"\u001b[H\u001b[J","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","khome":"\u001b[H","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kclr":"\u001b[2J"} -{"name":"att5620-24","aliases":["dmd-24","tty5620-24"],"cols":88,"lines":24,"bell":"\u0007","clear":"\u001b[H\u001b[J","sgr0":"\u001b[0m","smul":"\u001b[4m","bold":"\u001b[2m","rev":"\u001b[7m","dim":"\u001b[2m","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","kbs":"\u0008","khome":"\u001b[H","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kclr":"\u001b[2J"} -{"name":"att5620-34","aliases":["dmd-34","tty5620-34"],"cols":88,"lines":34,"bell":"\u0007","clear":"\u001b[H\u001b[J","sgr0":"\u001b[0m","smul":"\u001b[4m","bold":"\u001b[2m","rev":"\u001b[7m","dim":"\u001b[2m","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","kbs":"\u0008","khome":"\u001b[H","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kclr":"\u001b[2J"} -{"name":"att5620-s","aliases":["layer","tty5620-s","vitty"],"cols":80,"lines":72,"bell":"\u0007","clear":"\u000c","cup":"\u001bY%p2%' '%+%c%p1%' '%+%c","cub1":"\u0008","cuu1":"\u000b","pad":"\u0000","kbs":"\u0008","khome":"\u001b[H","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kclr":"\u001b[2J"} -{"name":"att605","cols":80,"lines":24,"bell":"\u0007","clear":"\u001b[H\u001b[J","sgr0":"\u001b[m\u000f","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","dim":"\u001b[2m","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOc","kf2":"\u001bOd","kf3":"\u001bOe","kf4":"\u001bOf","kf5":"\u001bOg","kf6":"\u001bOh","kf7":"\u001bOi","kf8":"\u001bOj","kf9":"\u001bNo","kf10":"\u001bNp","kf11":"\u001bNq","kf12":"\u001bNr","kf13":"\u001bNs","kf14":"\u001bNt","kf15":"\u001bOC","kf16":"\u001bOD","kf17":"\u001bOE","kf18":"\u001bOF","kf19":"\u001bOG","kf20":"\u001bOH","kf21":"\u001bOI","kf22":"\u001bOJ","kf23":"\u001bNO","kf24":"\u001bNP","kf25":"\u001bNQ","kf26":"\u001bNR","kf27":"\u001bNS","kf28":"\u001bNT","kf29":"\u001bOP","kf30":"\u001bOQ","kf31":"\u001bOR","kf32":"\u001bOS","kf33":"\u001bOw","kf34":"\u001bOx","kf35":"\u001bOy","kf36":"\u001bOm","kf37":"\u001bOt","kf38":"\u001bOu","kf39":"\u001bOv","kf40":"\u001bOl","kf41":"\u001bOq","kf42":"\u001bOr","kf43":"\u001bOs","kf44":"\u001bOp","kf45":"\u001bOn","kf46":"\u001bOM","kich":"\u001b[@","kdch":"\u001b[P","khome":"\u001b[H","kend":"\u001b[24;1H","kpp":"\u001b[V","knp":"\u001b[U","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001b[Z","kclr":"\u001b[2J","acsc":"``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u001b)0\u000e","rmacs":"\u000f","kRIT":"\u001b[ @","kLFT":"\u001b[ A"} -{"name":"att605-pc","cols":80,"lines":24,"bell":"\u0007","clear":"\u001b[H\u001b[J","sgr0":"\u001b[m\u000f","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","dim":"\u001b[2m","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u001b[D","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001b[M","kf2":"\u001b[N","kf3":"\u001b[O","kf4":"\u001b[P","kf5":"\u001b[Q","kf6":"\u001b[R","kf7":"\u001b[S","kf8":"\u001b[T","kf9":"\u001b[U","kf10":"\u001b[V","kf11":"\u001bNq","kf12":"\u001bNr","kf13":"\u001bNs","kf14":"\u001bNt","kf15":"\u001bOC","kf16":"\u001bOD","kf17":"\u001bOE","kf18":"\u001bOF","kf19":"\u001bOG","kf20":"\u001bOH","kf21":"\u001bOI","kf22":"\u001bOJ","kf23":"\u001bNO","kf24":"\u001bNP","kf25":"\u001bNQ","kf26":"\u001bNR","kf27":"\u001bNS","kf28":"\u001bNT","kf29":"\u001bOP","kf30":"\u001bOQ","kf31":"\u001bOR","kf32":"\u001bOS","kf33":"\u001bOw","kf34":"\u001bOx","kf35":"\u001bOy","kf36":"\u001bOm","kf37":"\u001bOt","kf38":"\u001bOu","kf39":"\u001bOv","kf40":"\u001bOl","kf41":"\u001bOq","kf42":"\u001bOr","kf43":"\u001bOs","kf44":"\u001bOp","kf45":"\u001bOn","kf46":"\u001bOM","kich":"\u001b[@","kdch":"\u001b[P","khome":"\u001b[H","kend":"\u001b[F","kpp":"\u001b[I","knp":"\u001b[G","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001b[Z","kclr":"\u001b[2J","acsc":"j\ufffdk\ufffdl\ufffdm\ufffdn\ufffdq\ufffdt\ufffdu\ufffdv\ufffdw\ufffdx\ufffd","smacs":"\u001b)0\u000e","rmacs":"\u000f","kRIT":"\u001b[ @","kLFT":"\u001b[ A"} -{"name":"att605-w","cols":132,"lines":24,"bell":"\u0007","clear":"\u001b[H\u001b[J","sgr0":"\u001b[m\u000f","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","dim":"\u001b[2m","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOc","kf2":"\u001bOd","kf3":"\u001bOe","kf4":"\u001bOf","kf5":"\u001bOg","kf6":"\u001bOh","kf7":"\u001bOi","kf8":"\u001bOj","kf9":"\u001bNo","kf10":"\u001bNp","kf11":"\u001bNq","kf12":"\u001bNr","kf13":"\u001bNs","kf14":"\u001bNt","kf15":"\u001bOC","kf16":"\u001bOD","kf17":"\u001bOE","kf18":"\u001bOF","kf19":"\u001bOG","kf20":"\u001bOH","kf21":"\u001bOI","kf22":"\u001bOJ","kf23":"\u001bNO","kf24":"\u001bNP","kf25":"\u001bNQ","kf26":"\u001bNR","kf27":"\u001bNS","kf28":"\u001bNT","kf29":"\u001bOP","kf30":"\u001bOQ","kf31":"\u001bOR","kf32":"\u001bOS","kf33":"\u001bOw","kf34":"\u001bOx","kf35":"\u001bOy","kf36":"\u001bOm","kf37":"\u001bOt","kf38":"\u001bOu","kf39":"\u001bOv","kf40":"\u001bOl","kf41":"\u001bOq","kf42":"\u001bOr","kf43":"\u001bOs","kf44":"\u001bOp","kf45":"\u001bOn","kf46":"\u001bOM","kich":"\u001b[@","kdch":"\u001b[P","khome":"\u001b[H","kend":"\u001b[24;1H","kpp":"\u001b[V","knp":"\u001b[U","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001b[Z","kclr":"\u001b[2J","acsc":"``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u001b)0\u000e","rmacs":"\u000f","kRIT":"\u001b[ @","kLFT":"\u001b[ A"} -{"name":"att610","cols":80,"lines":24,"bell":"\u0007","clear":"\u001b[H\u001b[J","cnorm":"\u001b[?25h\u001b[?12l","civis":"\u001b[?25l","sgr0":"\u001b[m\u000f","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","dim":"\u001b[2m","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOc","kf2":"\u001bOd","kf3":"\u001bOe","kf4":"\u001bOf","kf5":"\u001bOg","kf6":"\u001bOh","kf7":"\u001bOi","kf8":"\u001bOj","kf9":"\u001bNo","kf10":"\u001bNp","kf11":"\u001bNq","kf12":"\u001bNr","kf13":"\u001bNs","kf14":"\u001bNt","khome":"\u001b[H","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001b[Z","kclr":"\u001b[2J","acsc":"``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u000e","rmacs":"\u000f","kRIT":"\u001b[ A","kLFT":"\u001b[ @"} -{"name":"att610-103k","cols":80,"lines":24,"bell":"\u0007","clear":"\u001b[H\u001b[J","cnorm":"\u001b[?25h\u001b[?12l","civis":"\u001b[?25l","sgr0":"\u001b[m\u000f","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","dim":"\u001b[2m","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOc","kf2":"\u001bOd","kf3":"\u001bOe","kf4":"\u001bOf","kf5":"\u001bOg","kf6":"\u001bOh","kf7":"\u001bOi","kf8":"\u001bOj","kich":"\u001bNj","kdch":"\u001bNf","khome":"\u001b[H","kend":"\u001b0","khlp":"\u001bOm","kpp":"\u001b[V","knp":"\u001b[U","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001b[Z","kext":"\u001bOk","kclr":"\u001b[2J","kprt":"\u001bOz","kcan":"\u001bOw","acsc":"``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u000e","rmacs":"\u000f","kRIT":"\u001b[ A","kLFT":"\u001b[ @","kEND":"\u001bNN"} -{"name":"att610-103k-w","cols":132,"lines":24,"bell":"\u0007","clear":"\u001b[H\u001b[J","cnorm":"\u001b[?25h\u001b[?12l","civis":"\u001b[?25l","sgr0":"\u001b[m\u000f","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","dim":"\u001b[2m","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOc","kf2":"\u001bOd","kf3":"\u001bOe","kf4":"\u001bOf","kf5":"\u001bOg","kf6":"\u001bOh","kf7":"\u001bOi","kf8":"\u001bOj","kich":"\u001bNj","kdch":"\u001bNf","khome":"\u001b[H","kend":"\u001b0","khlp":"\u001bOm","kpp":"\u001b[V","knp":"\u001b[U","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001b[Z","kext":"\u001bOk","kclr":"\u001b[2J","kprt":"\u001bOz","kcan":"\u001bOw","acsc":"``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u000e","rmacs":"\u000f","kRIT":"\u001b[ A","kLFT":"\u001b[ @","kEND":"\u001bNN"} -{"name":"att610-w","cols":132,"lines":24,"bell":"\u0007","clear":"\u001b[H\u001b[J","cnorm":"\u001b[?25h\u001b[?12l","civis":"\u001b[?25l","sgr0":"\u001b[m\u000f","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","dim":"\u001b[2m","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOc","kf2":"\u001bOd","kf3":"\u001bOe","kf4":"\u001bOf","kf5":"\u001bOg","kf6":"\u001bOh","kf7":"\u001bOi","kf8":"\u001bOj","kf9":"\u001bNo","kf10":"\u001bNp","kf11":"\u001bNq","kf12":"\u001bNr","kf13":"\u001bNs","kf14":"\u001bNt","khome":"\u001b[H","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001b[Z","kclr":"\u001b[2J","acsc":"``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u000e","rmacs":"\u000f","kRIT":"\u001b[ A","kLFT":"\u001b[ @"} -{"name":"att615","cols":80,"lines":24,"bell":"\u0007","clear":"\u001b[H\u001b[J","cnorm":"\u001b[?25h\u001b[?12l","civis":"\u001b[?25l","sgr0":"\u001b[m\u000f","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","dim":"\u001b[2m","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOc","kf2":"\u001bOd","kf3":"\u001bOe","kf4":"\u001bOf","kf5":"\u001bOg","kf6":"\u001bOh","kf7":"\u001bOi","kf8":"\u001bOj","kf9":"\u001bNo","kf10":"\u001bNp","kf11":"\u001bNq","kf12":"\u001bNr","kf13":"\u001bNs","kf14":"\u001bNt","kf15":"\u001bOC","kf16":"\u001bOD","kf17":"\u001bOE","kf18":"\u001bOF","kf19":"\u001bOG","kf20":"\u001bOH","kf21":"\u001bOI","kf22":"\u001bOJ","kf23":"\u001bNO","kf24":"\u001bNP","kf25":"\u001bNQ","kf26":"\u001bNR","kf27":"\u001bNS","kf28":"\u001bNT","kf29":"\u001bOP","kf30":"\u001bOQ","kf31":"\u001bOR","kf32":"\u001bOS","kf33":"\u001bOw","kf34":"\u001bOx","kf35":"\u001bOy","kf36":"\u001bOm","kf37":"\u001bOt","kf38":"\u001bOu","kf39":"\u001bOv","kf40":"\u001bOl","kf41":"\u001bOq","kf42":"\u001bOr","kf43":"\u001bOs","kf44":"\u001bOp","kf45":"\u001bOn","kf46":"\u001bOM","khome":"\u001b[H","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001b[Z","kclr":"\u001b[2J","acsc":"``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u000e","rmacs":"\u000f","kRIT":"\u001b[ @","kLFT":"\u001b[ A"} -{"name":"att615-103k","cols":80,"lines":24,"bell":"\u0007","clear":"\u001b[H\u001b[J","cnorm":"\u001b[?25h\u001b[?12l","civis":"\u001b[?25l","sgr0":"\u001b[m\u000f","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","dim":"\u001b[2m","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOc","kf2":"\u001bOd","kf3":"\u001bOe","kf4":"\u001bOf","kf5":"\u001bOg","kf6":"\u001bOh","kf7":"\u001bOi","kf8":"\u001bOj","kich":"\u001bNj","kdch":"\u001bNf","khome":"\u001b[H","kend":"\u001b0","khlp":"\u001bOm","kpp":"\u001b[V","knp":"\u001b[U","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001b[Z","kext":"\u001bOk","kclr":"\u001b[2J","kprt":"\u001bOz","kcan":"\u001bOw","acsc":"``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u000e","rmacs":"\u000f","kRIT":"\u001b[ @","kLFT":"\u001b[ A","kEND":"\u001bNN"} -{"name":"att615-103k-w","cols":132,"lines":24,"bell":"\u0007","clear":"\u001b[H\u001b[J","cnorm":"\u001b[?25h\u001b[?12l","civis":"\u001b[?25l","sgr0":"\u001b[m\u000f","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","dim":"\u001b[2m","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOc","kf2":"\u001bOd","kf3":"\u001bOe","kf4":"\u001bOf","kf5":"\u001bOg","kf6":"\u001bOh","kf7":"\u001bOi","kf8":"\u001bOj","kich":"\u001bNj","kdch":"\u001bNf","khome":"\u001b[H","kend":"\u001b0","khlp":"\u001bOm","kpp":"\u001b[V","knp":"\u001b[U","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001b[Z","kext":"\u001bOk","kclr":"\u001b[2J","kprt":"\u001bOz","kcan":"\u001bOw","acsc":"``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u000e","rmacs":"\u000f","kRIT":"\u001b[ @","kLFT":"\u001b[ A","kEND":"\u001bNN"} -{"name":"att615-w","cols":132,"lines":24,"bell":"\u0007","clear":"\u001b[H\u001b[J","cnorm":"\u001b[?25h\u001b[?12l","civis":"\u001b[?25l","sgr0":"\u001b[m\u000f","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","dim":"\u001b[2m","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOc","kf2":"\u001bOd","kf3":"\u001bOe","kf4":"\u001bOf","kf5":"\u001bOg","kf6":"\u001bOh","kf7":"\u001bOi","kf8":"\u001bOj","kf9":"\u001bNo","kf10":"\u001bNp","kf11":"\u001bNq","kf12":"\u001bNr","kf13":"\u001bNs","kf14":"\u001bNt","kf15":"\u001bOC","kf16":"\u001bOD","kf17":"\u001bOE","kf18":"\u001bOF","kf19":"\u001bOG","kf20":"\u001bOH","kf21":"\u001bOI","kf22":"\u001bOJ","kf23":"\u001bNO","kf24":"\u001bNP","kf25":"\u001bNQ","kf26":"\u001bNR","kf27":"\u001bNS","kf28":"\u001bNT","kf29":"\u001bOP","kf30":"\u001bOQ","kf31":"\u001bOR","kf32":"\u001bOS","kf33":"\u001bOw","kf34":"\u001bOx","kf35":"\u001bOy","kf36":"\u001bOm","kf37":"\u001bOt","kf38":"\u001bOu","kf39":"\u001bOv","kf40":"\u001bOl","kf41":"\u001bOq","kf42":"\u001bOr","kf43":"\u001bOs","kf44":"\u001bOp","kf45":"\u001bOn","kf46":"\u001bOM","khome":"\u001b[H","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001b[Z","kclr":"\u001b[2J","acsc":"``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u000e","rmacs":"\u000f","kRIT":"\u001b[ @","kLFT":"\u001b[ A"} -{"name":"att620","cols":80,"lines":24,"bell":"\u0007","clear":"\u001b[H\u001b[J","cnorm":"\u001b[?25h\u001b[?12l","civis":"\u001b[?25l","sgr0":"\u001b[m\u001b(B\u000f","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","dim":"\u001b[2m","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOc","kf2":"\u001bOd","kf3":"\u001bOe","kf4":"\u001bOf","kf5":"\u001bOg","kf6":"\u001bOh","kf7":"\u001bOi","kf8":"\u001bOj","kf9":"\u001bNo","kf10":"\u001bNp","kf11":"\u001bNq","kf12":"\u001bNr","kf13":"\u001bNs","kf14":"\u001bNt","kf15":"\u001bOC","kf16":"\u001bOD","kf17":"\u001bOE","kf18":"\u001bOF","kf19":"\u001bOG","kf20":"\u001bOH","kf21":"\u001bOI","kf22":"\u001bOJ","kf23":"\u001bNO","kf24":"\u001bNP","kf25":"\u001bNQ","kf26":"\u001bNR","kf27":"\u001bNS","kf28":"\u001bNT","kf29":"\u001bOP","kf30":"\u001bOQ","kf31":"\u001bOR","kf32":"\u001bOS","kf33":"\u001bOw","kf34":"\u001bOx","kf35":"\u001bOy","kf36":"\u001bOm","kf37":"\u001bOt","kf38":"\u001bOu","kf39":"\u001bOv","kf40":"\u001bOl","kf41":"\u001bOq","kf42":"\u001bOr","kf43":"\u001bOs","kf44":"\u001bOp","kf45":"\u001bOn","kf46":"\u001bOM","khome":"\u001b[H","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001b[Z","kclr":"\u001b[2J","acsc":"``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u001b)0\u000e","rmacs":"\u001b(B\u000f","kRIT":"\u001b[ @","kLFT":"\u001b[ A"} -{"name":"att620-103k","cols":80,"lines":24,"bell":"\u0007","clear":"\u001b[H\u001b[J","cnorm":"\u001b[?25h\u001b[?12l","civis":"\u001b[?25l","sgr0":"\u001b[m\u001b(B\u000f","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","dim":"\u001b[2m","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOc","kf2":"\u001bOd","kf3":"\u001bOe","kf4":"\u001bOf","kf5":"\u001bOg","kf6":"\u001bOh","kf7":"\u001bOi","kf8":"\u001bOj","kich":"\u001bNj","kdch":"\u001bNf","khome":"\u001b[H","kend":"\u001b0","khlp":"\u001bOm","kpp":"\u001b[V","knp":"\u001b[U","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001b[Z","kext":"\u001bOk","kclr":"\u001b[2J","kprt":"\u001bOz","kcan":"\u001bOw","acsc":"``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u001b)0\u000e","rmacs":"\u001b(B\u000f","kRIT":"\u001b[ @","kLFT":"\u001b[ A","kEND":"\u001bNN"} -{"name":"att620-103k-w","cols":132,"lines":24,"bell":"\u0007","clear":"\u001b[H\u001b[J","cnorm":"\u001b[?25h\u001b[?12l","civis":"\u001b[?25l","sgr0":"\u001b[m\u001b(B\u000f","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","dim":"\u001b[2m","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOc","kf2":"\u001bOd","kf3":"\u001bOe","kf4":"\u001bOf","kf5":"\u001bOg","kf6":"\u001bOh","kf7":"\u001bOi","kf8":"\u001bOj","kich":"\u001bNj","kdch":"\u001bNf","khome":"\u001b[H","kend":"\u001b0","khlp":"\u001bOm","kpp":"\u001b[V","knp":"\u001b[U","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001b[Z","kext":"\u001bOk","kclr":"\u001b[2J","kprt":"\u001bOz","kcan":"\u001bOw","acsc":"``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u001b)0\u000e","rmacs":"\u001b(B\u000f","kRIT":"\u001b[ @","kLFT":"\u001b[ A","kEND":"\u001bNN"} -{"name":"att620-w","cols":132,"lines":24,"bell":"\u0007","clear":"\u001b[H\u001b[J","cnorm":"\u001b[?25h\u001b[?12l","civis":"\u001b[?25l","sgr0":"\u001b[m\u001b(B\u000f","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","dim":"\u001b[2m","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOc","kf2":"\u001bOd","kf3":"\u001bOe","kf4":"\u001bOf","kf5":"\u001bOg","kf6":"\u001bOh","kf7":"\u001bOi","kf8":"\u001bOj","kf9":"\u001bNo","kf10":"\u001bNp","kf11":"\u001bNq","kf12":"\u001bNr","kf13":"\u001bNs","kf14":"\u001bNt","kf15":"\u001bOC","kf16":"\u001bOD","kf17":"\u001bOE","kf18":"\u001bOF","kf19":"\u001bOG","kf20":"\u001bOH","kf21":"\u001bOI","kf22":"\u001bOJ","kf23":"\u001bNO","kf24":"\u001bNP","kf25":"\u001bNQ","kf26":"\u001bNR","kf27":"\u001bNS","kf28":"\u001bNT","kf29":"\u001bOP","kf30":"\u001bOQ","kf31":"\u001bOR","kf32":"\u001bOS","kf33":"\u001bOw","kf34":"\u001bOx","kf35":"\u001bOy","kf36":"\u001bOm","kf37":"\u001bOt","kf38":"\u001bOu","kf39":"\u001bOv","kf40":"\u001bOl","kf41":"\u001bOq","kf42":"\u001bOr","kf43":"\u001bOs","kf44":"\u001bOp","kf45":"\u001bOn","kf46":"\u001bOM","khome":"\u001b[H","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001b[Z","kclr":"\u001b[2J","acsc":"``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u001b)0\u000e","rmacs":"\u001b(B\u000f","kRIT":"\u001b[ @","kLFT":"\u001b[ A"} -{"name":"att630","cols":80,"lines":60,"bell":"\u0007","clear":"\u001b[H\u001b[J","sgr0":"\u001b[m","smul":"\u001b[4m","blink":"\u001b[5m","rev":"\u001b[7m","dim":"\u001b[2m","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","kbs":"\u0008","kf9":"\u001bNo","kf10":"\u001bNp","kf11":"\u001bNq","kf12":"\u001bNr","kf13":"\u001bNs","kf14":"\u001bNt","kf15":"\u001bNu","kf16":"\u001bNv","kf17":"\u001bNw","kf18":"\u001bNx","kf19":"\u001bNy","kf20":"\u001bNz","kf21":"\u001bN{","kf22":"\u001bN|","kf23":"\u001bN}","kf24":"\u001bN~","kich":"\u001b[@","kdch":"\u001b[P","khome":"\u001b[H","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001b[Z","kclr":"\u001b[2J"} -{"name":"att630-24","aliases":["5630-24","5630DMD-24","630MTG-24"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u001b[H\u001b[J","sgr0":"\u001b[m","smul":"\u001b[4m","blink":"\u001b[5m","rev":"\u001b[7m","dim":"\u001b[2m","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","kbs":"\u0008","kf9":"\u001bNo","kf10":"\u001bNp","kf11":"\u001bNq","kf12":"\u001bNr","kf13":"\u001bNs","kf14":"\u001bNt","kf15":"\u001bNu","kf16":"\u001bNv","kf17":"\u001bNw","kf18":"\u001bNx","kf19":"\u001bNy","kf20":"\u001bNz","kf21":"\u001bN{","kf22":"\u001bN|","kf23":"\u001bN}","kf24":"\u001bN~","kich":"\u001b[@","kdch":"\u001b[P","khome":"\u001b[H","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001b[Z","kclr":"\u001b[2J"} -{"name":"att6386","aliases":["386at","at386"],"cols":80,"lines":25,"colors":8,"bell":"\u0007","clear":"\u001b[2J\u001b[H","cnorm":"\u001b[=1C","civis":"\u001b[=C","sgr0":"\u001b[0;10m","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","dim":"\u001b[2m","setaf":"\u001b[3%p1%dm","setbg":"\u001b[4%p1%dm","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u001b[D","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kf5":"\u001bOT","kf6":"\u001bOU","kf7":"\u001bOV","kf8":"\u001bOW","kf9":"\u001bOX","kf10":"\u001bOY","kf11":"\u001bOZ","kf12":"\u001bOA","kich":"\u001b[@","kdch":"\u001b[P","khome":"\u001b[H","kend":"\u001b[Y","kpp":"\u001b[V","knp":"\u001b[U","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001d","acsc":"``a1fxgqh0jYk?lZm@nEooppqDrrsstCu4vAwBx3yyzz{{||}}~~","smacs":"\u001b[12m","rmacs":"\u001b[10m","_setfgbg":"\u001b[3%p1%d;4%p2%dm"} -{"name":"att700","cols":80,"lines":24,"bell":"\u0007","clear":"\u001b[H\u001b[J","cnorm":"\u001b[?25h\u001b[?12l","civis":"\u001b[?25l","sgr0":"\u001b[m\u000f","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","dim":"\u001b[2m","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOc","kf2":"\u001bOd","kf3":"\u001bOe","kf4":"\u001bOf","kf5":"\u001bOg","kf6":"\u001bOh","kf7":"\u001bOi","kf8":"\u001bOj","kf9":"\u001bNo","kf10":"\u001bNp","kf11":"\u001bNq","kf12":"\u001bNr","kf13":"\u001bNs","kf14":"\u001bNt","kf15":"\u001bOC","kf16":"\u001bOD","kf17":"\u001bOE","kf18":"\u001bOF","kf19":"\u001bOG","kf20":"\u001bOH","kf21":"\u001bOI","kf22":"\u001bOJ","kf23":"\u001bNO","kf24":"\u001bNP","kf25":"\u001bNQ","kf26":"\u001bNR","kf27":"\u001bNS","kf28":"\u001bNT","kf29":"\u001bOq","kf30":"\u001bOr","kf31":"\u001bOs","kf32":"\u001bOt","kf33":"\u001bOu","kf34":"\u001bOv","kf35":"\u001bOw","kf36":"\u001bOx","kf37":"\u001bOy","kf38":"\u001bOu","kf39":"\u001bOv","kf40":"\u001bOl","kf41":"\u001bOq","kf42":"\u001bOr","kf43":"\u001bOs","kf44":"\u001bOp","kf45":"\u001bOn","kf46":"\u001bOM","kich":"\u001b[@","kdch":"\u001b[P","khome":"\u001b[H","kend":"\u001b[24;1H","kpp":"\u001b[V","knp":"\u001b[U","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001b[Z","kclr":"\u001b[2J","acsc":"``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u000e","rmacs":"\u000f","enacs":"\u001b(B\u001b)0","kRIT":"\u001b[ @","kLFT":"\u001b[ A"} -{"name":"att730","cols":80,"lines":60,"bell":"\u0007","clear":"\u001b[H\u001b[J","cnorm":"\u001b[?25h\u001b[?12l","civis":"\u001b[?25l","sgr0":"\u001b[m\u000f","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","dim":"\u001b[2m","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","kbs":"\u0008","kf1":"\u001bOc","kf2":"\u001bOd","kf3":"\u001bOe","kf4":"\u001bOf","kf5":"\u001bOg","kf6":"\u001bOh","kf7":"\u001bOi","kf8":"\u001bOj","kf9":"\u001bNo","kf10":"\u001bNp","kf11":"\u001bNq","kf12":"\u001bNr","kf13":"\u001bNs","kf14":"\u001bNt","kf15":"\u001bNu","kf16":"\u001bNv","kf17":"\u001bNw","kf18":"\u001bNx","kf19":"\u001bNy","kf20":"\u001bNz","kf21":"\u001bN{","kf22":"\u001bN|","kf23":"\u001bN}","kf24":"\u001bN~","kf25":"\u001bOC","kf26":"\u001bOD","kf27":"\u001bOE","kf28":"\u001bOF","kf29":"\u001bOG","kf30":"\u001bOH","kf31":"\u001bOI","kf32":"\u001bOJ","kf33":"\u001bNO","kf34":"\u001bNP","kf35":"\u001bNQ","kf36":"\u001bNR","kf37":"\u001bNS","kf38":"\u001bNT","kf39":"\u001bOU","kf40":"\u001bOV","kf41":"\u001bOW","kf42":"\u001bOX","kf43":"\u001bOY","kf44":"\u001bOZ","kf45":"\u001bO[","kf46":"\u001bO ","kf47":"\u001bO]","kf48":"\u001bO^","kich":"\u001b[@","khome":"\u001b[H","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001b[Z","kclr":"\u001b[2J","acsc":"``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u000e","rmacs":"\u000f","enacs":"\u001b(B\u001b)0","kRIT":"\u001b[ A","kLFT":"\u001b[ @"} -{"name":"att730-24","aliases":["730MTG-24"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u001b[H\u001b[J","cnorm":"\u001b[?25h\u001b[?12l","civis":"\u001b[?25l","sgr0":"\u001b[m\u000f","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","dim":"\u001b[2m","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","kbs":"\u0008","kf1":"\u001bOc","kf2":"\u001bOd","kf3":"\u001bOe","kf4":"\u001bOf","kf5":"\u001bOg","kf6":"\u001bOh","kf7":"\u001bOi","kf8":"\u001bOj","kf9":"\u001bNo","kf10":"\u001bNp","kf11":"\u001bNq","kf12":"\u001bNr","kf13":"\u001bNs","kf14":"\u001bNt","kf15":"\u001bNu","kf16":"\u001bNv","kf17":"\u001bNw","kf18":"\u001bNx","kf19":"\u001bNy","kf20":"\u001bNz","kf21":"\u001bN{","kf22":"\u001bN|","kf23":"\u001bN}","kf24":"\u001bN~","kf25":"\u001bOC","kf26":"\u001bOD","kf27":"\u001bOE","kf28":"\u001bOF","kf29":"\u001bOG","kf30":"\u001bOH","kf31":"\u001bOI","kf32":"\u001bOJ","kf33":"\u001bNO","kf34":"\u001bNP","kf35":"\u001bNQ","kf36":"\u001bNR","kf37":"\u001bNS","kf38":"\u001bNT","kf39":"\u001bOU","kf40":"\u001bOV","kf41":"\u001bOW","kf42":"\u001bOX","kf43":"\u001bOY","kf44":"\u001bOZ","kf45":"\u001bO[","kf46":"\u001bO ","kf47":"\u001bO]","kf48":"\u001bO^","kich":"\u001b[@","khome":"\u001b[H","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001b[Z","kclr":"\u001b[2J","acsc":"``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u000e","rmacs":"\u000f","enacs":"\u001b(B\u001b)0","kRIT":"\u001b[ A","kLFT":"\u001b[ @"} -{"name":"att730-41","aliases":["730MTG-41"],"cols":80,"lines":41,"bell":"\u0007","clear":"\u001b[H\u001b[J","cnorm":"\u001b[?25h\u001b[?12l","civis":"\u001b[?25l","sgr0":"\u001b[m\u000f","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","dim":"\u001b[2m","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","kbs":"\u0008","kf1":"\u001bOc","kf2":"\u001bOd","kf3":"\u001bOe","kf4":"\u001bOf","kf5":"\u001bOg","kf6":"\u001bOh","kf7":"\u001bOi","kf8":"\u001bOj","kf9":"\u001bNo","kf10":"\u001bNp","kf11":"\u001bNq","kf12":"\u001bNr","kf13":"\u001bNs","kf14":"\u001bNt","kf15":"\u001bNu","kf16":"\u001bNv","kf17":"\u001bNw","kf18":"\u001bNx","kf19":"\u001bNy","kf20":"\u001bNz","kf21":"\u001bN{","kf22":"\u001bN|","kf23":"\u001bN}","kf24":"\u001bN~","kf25":"\u001bOC","kf26":"\u001bOD","kf27":"\u001bOE","kf28":"\u001bOF","kf29":"\u001bOG","kf30":"\u001bOH","kf31":"\u001bOI","kf32":"\u001bOJ","kf33":"\u001bNO","kf34":"\u001bNP","kf35":"\u001bNQ","kf36":"\u001bNR","kf37":"\u001bNS","kf38":"\u001bNT","kf39":"\u001bOU","kf40":"\u001bOV","kf41":"\u001bOW","kf42":"\u001bOX","kf43":"\u001bOY","kf44":"\u001bOZ","kf45":"\u001bO[","kf46":"\u001bO ","kf47":"\u001bO]","kf48":"\u001bO^","kich":"\u001b[@","khome":"\u001b[H","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001b[Z","kclr":"\u001b[2J","acsc":"``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u000e","rmacs":"\u000f","enacs":"\u001b(B\u001b)0","kRIT":"\u001b[ A","kLFT":"\u001b[ @"} -{"name":"att7300","aliases":["3b1","pc7300","s4","unixpc"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u001b[2J\u001b[H","cnorm":"\u001b[=0C","civis":"\u001b[=1C","sgr0":"\u001b[0;10m","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[9m","rev":"\u001b[7m","dim":"\u001b[2m","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOc","kf2":"\u001bOd","kf3":"\u001bOe","kf4":"\u001bOf","kf5":"\u001bOg","kf6":"\u001bOh","kf7":"\u001bOi","kf8":"\u001bOj","kich":"\u001bNj","kdch":"\u001bNf","khome":"\u001b[H","kend":"\u001b0","khlp":"\u001bOm","kpp":"\u001b[V","knp":"\u001b[U","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001b[Z","kext":"\u001bOk","kclr":"\u001b[J","kprt":"\u001bOz","kcan":"\u001bOw","kRIT":"\u001bNL","kLFT":"\u001bNK","kHOM":"\u001bNM","kEND":"\u001bNN"} -{"name":"att730r","aliases":["730MTGr"],"cols":80,"lines":60,"bell":"\u0007","clear":"\u001b[H\u001b[J","cnorm":"\u001b[?25h\u001b[?12l","civis":"\u001b[?25l","sgr0":"\u001b[m\u000f","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","dim":"\u001b[2m","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","kbs":"\u0008","kf1":"\u001bOc","kf2":"\u001bOd","kf3":"\u001bOe","kf4":"\u001bOf","kf5":"\u001bOg","kf6":"\u001bOh","kf7":"\u001bOi","kf8":"\u001bOj","kf9":"\u001bNo","kf10":"\u001bNp","kf11":"\u001bNq","kf12":"\u001bNr","kf13":"\u001bNs","kf14":"\u001bNt","kf15":"\u001bNu","kf16":"\u001bNv","kf17":"\u001bNw","kf18":"\u001bNx","kf19":"\u001bNy","kf20":"\u001bNz","kf21":"\u001bN{","kf22":"\u001bN|","kf23":"\u001bN}","kf24":"\u001bN~","kf25":"\u001bOC","kf26":"\u001bOD","kf27":"\u001bOE","kf28":"\u001bOF","kf29":"\u001bOG","kf30":"\u001bOH","kf31":"\u001bOI","kf32":"\u001bOJ","kf33":"\u001bNO","kf34":"\u001bNP","kf35":"\u001bNQ","kf36":"\u001bNR","kf37":"\u001bNS","kf38":"\u001bNT","kf39":"\u001bOU","kf40":"\u001bOV","kf41":"\u001bOW","kf42":"\u001bOX","kf43":"\u001bOY","kf44":"\u001bOZ","kf45":"\u001bO[","kf46":"\u001bO ","kf47":"\u001bO]","kf48":"\u001bO^","kich":"\u001b[@","khome":"\u001b[H","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001b[Z","kclr":"\u001b[2J","acsc":"``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u000e","rmacs":"\u000f","enacs":"\u001b(B\u001b)0","kRIT":"\u001b[ A","kLFT":"\u001b[ @"} -{"name":"att730r-24","aliases":["730MTGr-24"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u001b[H\u001b[J","cnorm":"\u001b[?25h\u001b[?12l","civis":"\u001b[?25l","sgr0":"\u001b[m\u000f","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","dim":"\u001b[2m","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","kbs":"\u0008","kf1":"\u001bOc","kf2":"\u001bOd","kf3":"\u001bOe","kf4":"\u001bOf","kf5":"\u001bOg","kf6":"\u001bOh","kf7":"\u001bOi","kf8":"\u001bOj","kf9":"\u001bNo","kf10":"\u001bNp","kf11":"\u001bNq","kf12":"\u001bNr","kf13":"\u001bNs","kf14":"\u001bNt","kf15":"\u001bNu","kf16":"\u001bNv","kf17":"\u001bNw","kf18":"\u001bNx","kf19":"\u001bNy","kf20":"\u001bNz","kf21":"\u001bN{","kf22":"\u001bN|","kf23":"\u001bN}","kf24":"\u001bN~","kf25":"\u001bOC","kf26":"\u001bOD","kf27":"\u001bOE","kf28":"\u001bOF","kf29":"\u001bOG","kf30":"\u001bOH","kf31":"\u001bOI","kf32":"\u001bOJ","kf33":"\u001bNO","kf34":"\u001bNP","kf35":"\u001bNQ","kf36":"\u001bNR","kf37":"\u001bNS","kf38":"\u001bNT","kf39":"\u001bOU","kf40":"\u001bOV","kf41":"\u001bOW","kf42":"\u001bOX","kf43":"\u001bOY","kf44":"\u001bOZ","kf45":"\u001bO[","kf46":"\u001bO ","kf47":"\u001bO]","kf48":"\u001bO^","kich":"\u001b[@","khome":"\u001b[H","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001b[Z","kclr":"\u001b[2J","acsc":"``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u000e","rmacs":"\u000f","enacs":"\u001b(B\u001b)0","kRIT":"\u001b[ A","kLFT":"\u001b[ @"} -{"name":"att730r-41","aliases":["730MTG-41r"],"cols":80,"lines":41,"bell":"\u0007","clear":"\u001b[H\u001b[J","cnorm":"\u001b[?25h\u001b[?12l","civis":"\u001b[?25l","sgr0":"\u001b[m\u000f","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","dim":"\u001b[2m","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","kbs":"\u0008","kf1":"\u001bOc","kf2":"\u001bOd","kf3":"\u001bOe","kf4":"\u001bOf","kf5":"\u001bOg","kf6":"\u001bOh","kf7":"\u001bOi","kf8":"\u001bOj","kf9":"\u001bNo","kf10":"\u001bNp","kf11":"\u001bNq","kf12":"\u001bNr","kf13":"\u001bNs","kf14":"\u001bNt","kf15":"\u001bNu","kf16":"\u001bNv","kf17":"\u001bNw","kf18":"\u001bNx","kf19":"\u001bNy","kf20":"\u001bNz","kf21":"\u001bN{","kf22":"\u001bN|","kf23":"\u001bN}","kf24":"\u001bN~","kf25":"\u001bOC","kf26":"\u001bOD","kf27":"\u001bOE","kf28":"\u001bOF","kf29":"\u001bOG","kf30":"\u001bOH","kf31":"\u001bOI","kf32":"\u001bOJ","kf33":"\u001bNO","kf34":"\u001bNP","kf35":"\u001bNQ","kf36":"\u001bNR","kf37":"\u001bNS","kf38":"\u001bNT","kf39":"\u001bOU","kf40":"\u001bOV","kf41":"\u001bOW","kf42":"\u001bOX","kf43":"\u001bOY","kf44":"\u001bOZ","kf45":"\u001bO[","kf46":"\u001bO ","kf47":"\u001bO]","kf48":"\u001bO^","kich":"\u001b[@","khome":"\u001b[H","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001b[Z","kclr":"\u001b[2J","acsc":"``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u000e","rmacs":"\u000f","enacs":"\u001b(B\u001b)0","kRIT":"\u001b[ A","kLFT":"\u001b[ @"} -{"name":"avatar","aliases":["avatar1"],"cols":80,"lines":25,"cnorm":"\u0016'\u0001","civis":"\u0016'\u0002","sgr0":"\u0016\u0001\u0007","smul":"\u0016\u0001\u0001","bold":"\u0016\u0001\u0010","blink":"\u0016\u0002","rev":"\u0016\u0001p","cup":"\u0016\u0008%p1%c%p2%c","cub1":"\u0016\u0005","cuu1":"\u0016\u0003","pad":"\u0000","acsc":"+\u0010,\u0011-\u0018.\u00190\ufffd`\u0004a\ufffdf\ufffdg\ufffdh\ufffdj\ufffdk\ufffdl\ufffdm\ufffdn\ufffdo~p\ufffdq\ufffdr\ufffds_t\ufffdu\ufffdv\ufffdw\ufffdx\ufffdy\ufffdz\ufffd{\ufffd|\ufffd}\ufffd~\ufffd"} -{"name":"avatar0","cols":80,"lines":25,"sgr0":"\u0016\u0001\u0007","smul":"\u0016\u0001\u0001","bold":"\u0016\u0001\u0010","blink":"\u0016\u0002","rev":"\u0016\u0001p","cup":"\u0016\u0008%p1%c%p2%c","cub1":"\u0016\u0005","cuu1":"\u0016\u0003","pad":"\u0000","acsc":"+\u0010,\u0011-\u0018.\u00190\ufffd`\u0004a\ufffdf\ufffdg\ufffdh\ufffdj\ufffdk\ufffdl\ufffdm\ufffdn\ufffdo~p\ufffdq\ufffdr\ufffds_t\ufffdu\ufffdv\ufffdw\ufffdx\ufffdy\ufffdz\ufffd{\ufffd|\ufffd}\ufffd~\ufffd"} -{"name":"avatar0+","cols":80,"lines":25,"sgr0":"\u0016\u0001\u0007","smul":"\u0016\u0001\u0001","bold":"\u0016\u0001\u0010","blink":"\u0016\u0002","rev":"\u0016\u0001p","cup":"\u0016\u0008%p1%c%p2%c","cub1":"\u0016\u0005","cuu1":"\u0016\u0003","pad":"\u0000","acsc":"+\u0010,\u0011-\u0018.\u00190\ufffd`\u0004a\ufffdf\ufffdg\ufffdh\ufffdj\ufffdk\ufffdl\ufffdm\ufffdn\ufffdo~p\ufffdq\ufffdr\ufffds_t\ufffdu\ufffdv\ufffdw\ufffdx\ufffdy\ufffdz\ufffd{\ufffd|\ufffd}\ufffd~\ufffd"} -{"name":"avt","aliases":["avt-s","concept-avt"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u001b[H\u001b[J$\u003c38\u003e","smcup":"\u001b[2;25w\u001b2\r","rmcup":"\u001b[2w\u001b2\r\n","cnorm":"\u001b[=119l","sgr0":"\u001b[m","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","dim":"\u001b[1!{","smkx":"\u001b[1!z\u001b[0;3u","rmkx":"\u001b[!z\u001b[0;2u","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kich":"\u001b\u0001\r","kdch":"\u001b\u0002\r","khome":"\u001b[H","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","smacs":"\u000f$\u003c1\u003e","rmacs":"\u000e$\u003c1\u003e"} -{"name":"avt-ns","cols":80,"lines":24,"bell":"\u0007","clear":"\u001b[H\u001b[J$\u003c38\u003e","smcup":"\u001b[=4l\u001b[1;24w\u001b2\r","rmcup":"\u001b[w\u001b2\r\n","cnorm":"\u001b[=119l","sgr0":"\u001b[m","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","dim":"\u001b[1!{","smkx":"\u001b[1!z\u001b[0;3u","rmkx":"\u001b[!z\u001b[0;2u","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kich":"\u001b\u0001\r","kdch":"\u001b\u0002\r","khome":"\u001b[H","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","smacs":"\u000f$\u003c1\u003e","rmacs":"\u000e$\u003c1\u003e"} -{"name":"avt-rv","aliases":["avt-rv-s"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u001b[H\u001b[J$\u003c38\u003e","smcup":"\u001b[2;25w\u001b2\r","rmcup":"\u001b[2w\u001b2\r\n","cnorm":"\u001b[=119l","sgr0":"\u001b[m","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","dim":"\u001b[1!{","smkx":"\u001b[1!z\u001b[0;3u","rmkx":"\u001b[!z\u001b[0;2u","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kich":"\u001b\u0001\r","kdch":"\u001b\u0002\r","khome":"\u001b[H","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","smacs":"\u000f$\u003c1\u003e","rmacs":"\u000e$\u003c1\u003e"} -{"name":"avt-rv-ns","cols":80,"lines":24,"bell":"\u0007","clear":"\u001b[H\u001b[J$\u003c38\u003e","smcup":"\u001b[=4l\u001b[1;24w\u001b2\r","rmcup":"\u001b[w\u001b2\r\n","cnorm":"\u001b[=119l","sgr0":"\u001b[m","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","dim":"\u001b[1!{","smkx":"\u001b[1!z\u001b[0;3u","rmkx":"\u001b[!z\u001b[0;2u","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kich":"\u001b\u0001\r","kdch":"\u001b\u0002\r","khome":"\u001b[H","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","smacs":"\u000f$\u003c1\u003e","rmacs":"\u000e$\u003c1\u003e"} -{"name":"avt-w","aliases":["avt-w-s"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u001b[H\u001b[J$\u003c38\u003e","smcup":"\u001b[H\u001b[1;24;1;132w","rmcup":"\u001b[2w\u001b2\r\n","cnorm":"\u001b[=119l","sgr0":"\u001b[m","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","dim":"\u001b[1!{","smkx":"\u001b[1!z\u001b[0;3u","rmkx":"\u001b[!z\u001b[0;2u","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kich":"\u001b\u0001\r","kdch":"\u001b\u0002\r","khome":"\u001b[H","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","smacs":"\u000f$\u003c1\u003e","rmacs":"\u000e$\u003c1\u003e"} -{"name":"avt-w-ns","cols":80,"lines":24,"bell":"\u0007","clear":"\u001b[H\u001b[J$\u003c38\u003e","smcup":"\u001b[H\u001b[1;24;1;132w","rmcup":"\u001b[w\u001b2\r\n","cnorm":"\u001b[=119l","sgr0":"\u001b[m","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","dim":"\u001b[1!{","smkx":"\u001b[1!z\u001b[0;3u","rmkx":"\u001b[!z\u001b[0;2u","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kich":"\u001b\u0001\r","kdch":"\u001b\u0002\r","khome":"\u001b[H","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","smacs":"\u000f$\u003c1\u003e","rmacs":"\u000e$\u003c1\u003e"} -{"name":"avt-w-rv","aliases":["avt-w-rv-s"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u001b[H\u001b[J$\u003c38\u003e","smcup":"\u001b[H\u001b[1;24;1;132w","rmcup":"\u001b[2w\u001b2\r\n","cnorm":"\u001b[=119l","sgr0":"\u001b[m","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","dim":"\u001b[1!{","smkx":"\u001b[1!z\u001b[0;3u","rmkx":"\u001b[!z\u001b[0;2u","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kich":"\u001b\u0001\r","kdch":"\u001b\u0002\r","khome":"\u001b[H","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","smacs":"\u000f$\u003c1\u003e","rmacs":"\u000e$\u003c1\u003e"} -{"name":"avt-w-rv-ns","cols":80,"lines":24,"bell":"\u0007","clear":"\u001b[H\u001b[J$\u003c38\u003e","smcup":"\u001b[H\u001b[1;24;1;132w","rmcup":"\u001b[w\u001b2\r\n","cnorm":"\u001b[=119l","sgr0":"\u001b[m","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","dim":"\u001b[1!{","smkx":"\u001b[1!z\u001b[0;3u","rmkx":"\u001b[!z\u001b[0;2u","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kich":"\u001b\u0001\r","kdch":"\u001b\u0002\r","khome":"\u001b[H","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","smacs":"\u000f$\u003c1\u003e","rmacs":"\u000e$\u003c1\u003e"} -{"name":"aws","cols":80,"lines":28,"clear":"\u000c","smul":"\u001bAUN","cup":"\u001bC%p2%c%p1%c","cuu1":"\u0001","pad":"\u0000","kbs":"\u0008","kcuu1":"\u0001","kcud1":"\u000b","kcub1":"\u000e","kcuf1":"\u0012","smacs":"\u001bAAN","rmacs":"\u001bAAF"} -{"name":"awsc","cols":80,"lines":24,"clear":"\u000c","smul":"\u001bAC","cup":"\u001bC%p2%c%p1%c","cuu1":"\u0001","pad":"\u0000","kbs":"\u0008","kcuu1":"\u0001","kcud1":"\u000b","kcub1":"\u000e","kcuf1":"\u0012","smacs":"\u001bAAN","rmacs":"\u001bAAF"} -{"name":"bantam","aliases":["pe550","pe6100"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u001bK$\u003c20\u003e","cup":"\u001bX%p1%' '%+%c\u001bY%p2%' '%+%c","cub1":"\u0008","cuu1":"\u001bA","pad":"\u0000"} -{"name":"basis","cols":80,"lines":24,"bell":"\u0007","clear":"\u001b*$\u003c300/\u003e","sgr0":"\u001b)","cup":"\u001b=%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u000b","pad":"\u0000","kbs":"\u0008","kcuu1":"\u000b","kcud1":"\n","kcub1":"\u0008","kcuf1":"\u000c"} -{"name":"beacon","cols":80,"lines":32,"bell":"\u001bSTART\r\u001b37\r\u001bEND\r$\u003c1\u003e","clear":"\u001bZ$\u003c10\u003e","smcup":"\u001bSTART\r\u001b2,0\r\u001b12\r\u001bEND\r$\u003c10\u003e","sgr0":"\u001bSTART\r\u001b78\r\u001b70,0\r\u001bEND\r$\u003c20\u003e","smul":"\u001bSTART\r\u001b60,1\r\u001bEND\r","blink":"\u001bSTART\r\u001b61,1\r\u001bEND\r","rev":"\u001bSTART\r\u001b59,1\r\u001bEND\r","cup":"\u001b=%p1%' '%+%c%p2%' '%+%c$\u003c20\u003e","cub1":"\u0008","cuu1":"\u001bU","pad":"\u0000"} -{"name":"beehive","aliases":["bee"],"cols":80,"lines":24,"clear":"\u001bE","sgr0":"\u001bd@","smul":"\u001bd`","cup":"\u001bF%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u001bA","pad":"\u0000","kbs":"\u0008","kich":"\u001bQ","kdch":"\u001bP","khome":"\u001bH","kcuu1":"\u001bA","kcud1":"\u001bB","kcub1":"\u001bD","kcuf1":"\u001bC","kcbt":"\u001b\u003e","kclr":"\u001bE"} -{"name":"beterm","cols":80,"lines":25,"colors":8,"bell":"\u0007","clear":"\u001b[H\u001b[J","sgr0":"\u001b[0;10m","smul":"\u001b[4m","bold":"\u001b[1m","rev":"\u001b[7m","smkx":"\u001b[?4h","rmkx":"\u001b[?4l","setaf":"\u001b[3%p1%dm","setbg":"\u001b[4%p1%dm","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001b[11~","kf2":"\u001b[12~","kf3":"\u001b[13~","kf4":"\u001b[14~","kf5":"\u001b[15~","kf6":"\u001b[16~","kf7":"\u001b[17~","kf8":"\u001b[18~","kf9":"\u001b[19~","kf10":"\u001b[20~","kf11":"\u001b[21~","kf12":"\u001b[22~","kich":"\u001b[2~","kdch":"\u001b[3~","khome":"\u001b[1~","kend":"\u001b[4~","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","_setfgbg":"\u001b[3%p1%d;4%p2%dm"} -{"name":"bg1.25","cols":85,"lines":64,"bell":"\u0007","clear":"\u001b[H\u001b[J$\u003c150\u003e","sgr0":"\u001b[m","smkx":"\u001b=","rmkx":"\u001b\u003e","cup":"%i\u001b[%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kf1":"\u001bP","kf2":"\u001bQ","kf3":"\u001bR","kf4":"\u001bS","kcuu1":"\u001bA","kcud1":"\u001bB","kcub1":"\u001bD","kcuf1":"\u001bC"} -{"name":"bg1.25nv","cols":85,"lines":64,"bell":"\u0007","clear":"\u001b[H\u001b[J$\u003c150\u003e","sgr0":"\u001b[m","smkx":"\u001b=","rmkx":"\u001b\u003e","cup":"%i\u001b[%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kf1":"\u001bP","kf2":"\u001bQ","kf3":"\u001bR","kf4":"\u001bS","kcuu1":"\u001bA","kcud1":"\u001bB","kcub1":"\u001bD","kcuf1":"\u001bC"} -{"name":"bg1.25rv","cols":85,"lines":64,"bell":"\u0007","clear":"\u001b[H\u001b[J$\u003c150\u003e","sgr0":"\u001b[m","smkx":"\u001b=","rmkx":"\u001b\u003e","cup":"%i\u001b[%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kf1":"\u001bP","kf2":"\u001bQ","kf3":"\u001bR","kf4":"\u001bS","kcuu1":"\u001bA","kcud1":"\u001bB","kcub1":"\u001bD","kcuf1":"\u001bC"} -{"name":"bg2.0","aliases":["bg3.10"],"cols":85,"lines":64,"bell":"\u0007","clear":"\u001b[H\u001b[J$\u003c150\u003e","sgr0":"\u001b[m","smkx":"\u001b=","rmkx":"\u001b\u003e","cup":"%i\u001b[%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C"} -{"name":"bg2.0rv","aliases":["bg3.10rv"],"cols":85,"lines":64,"bell":"\u0007","clear":"\u001b[H\u001b[J$\u003c150\u003e","sgr0":"\u001b[m","smkx":"\u001b=","rmkx":"\u001b\u003e","cup":"%i\u001b[%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C"} -{"name":"bitgraph","aliases":["bg2.0nv","bg3.10nv"],"cols":85,"lines":64,"bell":"\u0007","clear":"\u001b[H\u001b[J$\u003c150\u003e","sgr0":"\u001b[m","smkx":"\u001b=","rmkx":"\u001b\u003e","cup":"%i\u001b[%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C"} -{"name":"blit","aliases":["jerq"],"cols":87,"lines":72,"bell":"\u0007","clear":"\u000c","cup":"\u001bY%p2%' '%+%c%p1%' '%+%c","cub1":"\u001bD","cuu1":"\u001bA","pad":"\u0000","kbs":"\u0008","kf1":"\u001bx","kf2":"\u001by","kf3":"\u001bz","kcuu1":"\u001bA","kcud1":"\u001bB","kcub1":"\u001bD","kcuf1":"\u001bC"} -{"name":"bobcat","aliases":["sbobcat"],"cols":128,"lines":47,"clear":"\u001bH\u001bJ","sgr0":"\u001b\u0026d@","smul":"\u001b\u0026dD","smkx":"\u001b\u0026s1A","rmkx":"\u001b\u0026s0A","cup":"\u001b\u0026a%p1%dy%p2%dC$\u003c6/\u003e","cub1":"\u0008","cuu1":"\u001bA","pad":"\u0000","kbs":"\u0008","khome":"\u001bh","kcuu1":"\u001bA","kcud1":"\u001bB","kcub1":"\u001bD","kcuf1":"\u001bC"} -{"name":"bq300","cols":80,"lines":24,"bell":"\u0007","clear":"\u001b[H\u001b[J","smcup":"\u001b[?7l\u001b[?1l\u001b(B","rmcup":"\u001b[?7h","cnorm":"\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b[0m\u001b(B","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","rmkx":"\u001b[?1l\u001b\u003e","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u001b[D","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kf6":"\u001b[17~","kf7":"\u001b[18~","kf8":"\u001b[19~","kf9":"\u001b[20~","kf10":"\u001b[21~","kf11":"\u001b[23~","kf12":"\u001b[24~","kf13":"\u001b[25~","kf14":"\u001b[26~","kf15":"\u001b[28~","kf16":"\u001b[29~","kf17":"\u001b[31~","kf18":"\u001b[32~","kf19":"\u001b[33~","kf20":"\u001b[34~","kich":"\u001b[2~","kdch":"\u001b[3~","khlp":"\u001b[28~","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","acsc":"``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u001b(0","rmacs":"\u001b(B","enacs":"\u001b(B\u001b)0"} -{"name":"bq300-8","cols":80,"lines":24,"bell":"\u0007","clear":"\ufffdH\ufffdJ","smcup":"\ufffd?7l\ufffd?1l\u001b(B","rmcup":"\ufffd?7h","cnorm":"\ufffd?25h","civis":"\ufffd?25l","sgr0":"\ufffd0m\u001b(B","smul":"\ufffd4m","bold":"\ufffd1m","blink":"\ufffd5m","rev":"\ufffd7m","rmkx":"\ufffd?1l\u001b\u003e","cup":"\ufffd%i%p1%d;%p2%dH","pad":"\u0000","kbs":"\u0008","kf1":"\ufffdP","kf2":"\ufffdQ","kf3":"\ufffdR","kf4":"\ufffdS","kf6":"\ufffd17~","kf7":"\ufffd18~","kf8":"\ufffd19~","kf9":"\ufffd20~","kf10":"\ufffd21~","kf11":"\ufffd23~","kf12":"\ufffd24~","kf13":"\ufffd25~","kf14":"\ufffd26~","kf15":"\ufffd28~","kf16":"\ufffd29~","kf17":"\ufffd31~","kf18":"\ufffd32~","kf19":"\ufffd33~","kf20":"\ufffd34~","kich":"\ufffd2~","kdch":"\ufffd3~","khlp":"\ufffd28~","kpp":"\ufffd5~","knp":"\ufffd6~","kcuu1":"\ufffdA","kcud1":"\ufffdB","kcub1":"\ufffdD","kcuf1":"\ufffdC","acsc":"``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u000e","rmacs":"\u000f","enacs":"\u001b(B\u001b)0"} -{"name":"bq300-8-pc","aliases":["Q306-8-pc"],"cols":80,"lines":24,"bell":"\u0007","clear":"\ufffdH\ufffdJ","smcup":"\ufffd?7l\ufffd?1l\u001b(B","rmcup":"\ufffd?7h","cnorm":"\ufffd?25h","civis":"\ufffd?25l","sgr0":"\ufffd0m\u001b(B","smul":"\ufffd4m","bold":"\ufffd1m","blink":"\ufffd5m","rev":"\ufffd7m","rmkx":"\ufffd?1l\u001b\u003e","cup":"\ufffd%i%p1%d;%p2%dH","pad":"\u0000","kbs":"\u0008","kf1":"\ufffd17~","kf2":"\ufffd18~","kf3":"\ufffd19~","kf4":"\ufffd20~","kf5":"\ufffd21~","kf6":"\ufffd23~","kf7":"\ufffd24~","kf8":"\ufffd25~","kf9":"\ufffd26~","kf10":"\ufffd28~","kf11":"\ufffd29~","kf12":"\ufffd31~","kich":"\ufffd2~","kdch":"\ufffd3~","khome":"\ufffd1~","kend":"\ufffd4~","kpp":"\ufffd5~","knp":"\ufffd6~","kcuu1":"\ufffdA","kcud1":"\ufffdB","kcub1":"\ufffdD","kcuf1":"\ufffdC","acsc":"``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u000e","rmacs":"\u000f","enacs":"\u001b(B\u001b)0"} -{"name":"bq300-8-pc-rv","cols":80,"lines":24,"bell":"\u0007","clear":"\ufffdH\ufffdJ","smcup":"\ufffd?7l\ufffd?1l\u001b(B","rmcup":"\ufffd?7h","cnorm":"\ufffd?25h","civis":"\ufffd?25l","sgr0":"\ufffd0m\u001b(B","smul":"\ufffd4m","bold":"\ufffd1m","blink":"\ufffd5m","rev":"\ufffd7m","rmkx":"\ufffd?1l\u001b\u003e","cup":"\ufffd%i%p1%d;%p2%dH","pad":"\u0000","kbs":"\u0008","kf1":"\ufffd17~","kf2":"\ufffd18~","kf3":"\ufffd19~","kf4":"\ufffd20~","kf5":"\ufffd21~","kf6":"\ufffd23~","kf7":"\ufffd24~","kf8":"\ufffd25~","kf9":"\ufffd26~","kf10":"\ufffd28~","kf11":"\ufffd29~","kf12":"\ufffd31~","kich":"\ufffd2~","kdch":"\ufffd3~","khome":"\ufffd1~","kend":"\ufffd4~","kpp":"\ufffd5~","knp":"\ufffd6~","kcuu1":"\ufffdA","kcud1":"\ufffdB","kcub1":"\ufffdD","kcuf1":"\ufffdC","acsc":"``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u000e","rmacs":"\u000f","enacs":"\u001b(B\u001b)0"} -{"name":"bq300-8-pc-w","cols":132,"lines":24,"bell":"\u0007","clear":"\ufffdH\ufffdJ","smcup":"\ufffd?7l\ufffd?1l\u001b(B","rmcup":"\ufffd?7h","cnorm":"\ufffd?25h","civis":"\ufffd?25l","sgr0":"\ufffd0m\u001b(B","smul":"\ufffd4m","bold":"\ufffd1m","blink":"\ufffd5m","rev":"\ufffd7m","rmkx":"\ufffd?1l\u001b\u003e","cup":"\ufffd%i%p1%d;%p2%dH","pad":"\u0000","kbs":"\u0008","kf1":"\ufffd17~","kf2":"\ufffd18~","kf3":"\ufffd19~","kf4":"\ufffd20~","kf5":"\ufffd21~","kf6":"\ufffd23~","kf7":"\ufffd24~","kf8":"\ufffd25~","kf9":"\ufffd26~","kf10":"\ufffd28~","kf11":"\ufffd29~","kf12":"\ufffd31~","kich":"\ufffd2~","kdch":"\ufffd3~","khome":"\ufffd1~","kend":"\ufffd4~","kpp":"\ufffd5~","knp":"\ufffd6~","kcuu1":"\ufffdA","kcud1":"\ufffdB","kcub1":"\ufffdD","kcuf1":"\ufffdC","acsc":"``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u000e","rmacs":"\u000f","enacs":"\u001b(B\u001b)0"} -{"name":"bq300-8-pc-w-rv","cols":132,"lines":24,"bell":"\u0007","clear":"\ufffdH\ufffdJ","smcup":"\ufffd?7l\ufffd?1l\u001b(B","rmcup":"\ufffd?7h","cnorm":"\ufffd?25h","civis":"\ufffd?25l","sgr0":"\ufffd0m\u001b(B","smul":"\ufffd4m","bold":"\ufffd1m","blink":"\ufffd5m","rev":"\ufffd7m","rmkx":"\ufffd?1l\u001b\u003e","cup":"\ufffd%i%p1%d;%p2%dH","pad":"\u0000","kbs":"\u0008","kf1":"\ufffd17~","kf2":"\ufffd18~","kf3":"\ufffd19~","kf4":"\ufffd20~","kf5":"\ufffd21~","kf6":"\ufffd23~","kf7":"\ufffd24~","kf8":"\ufffd25~","kf9":"\ufffd26~","kf10":"\ufffd28~","kf11":"\ufffd29~","kf12":"\ufffd31~","kich":"\ufffd2~","kdch":"\ufffd3~","khome":"\ufffd1~","kend":"\ufffd4~","kpp":"\ufffd5~","knp":"\ufffd6~","kcuu1":"\ufffdA","kcud1":"\ufffdB","kcub1":"\ufffdD","kcuf1":"\ufffdC","acsc":"``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u000e","rmacs":"\u000f","enacs":"\u001b(B\u001b)0"} -{"name":"bq300-8rv","cols":80,"lines":24,"bell":"\u0007","clear":"\ufffdH\ufffdJ","smcup":"\ufffd?7l\ufffd?1l\u001b(B","rmcup":"\ufffd?7h","cnorm":"\ufffd?25h","civis":"\ufffd?25l","sgr0":"\ufffd0m\u001b(B","smul":"\ufffd4m","bold":"\ufffd1m","blink":"\ufffd5m","rev":"\ufffd7m","rmkx":"\ufffd?1l\u001b\u003e","cup":"\ufffd%i%p1%d;%p2%dH","pad":"\u0000","kbs":"\u0008","kf1":"\ufffdP","kf2":"\ufffdQ","kf3":"\ufffdR","kf4":"\ufffdS","kf6":"\ufffd17~","kf7":"\ufffd18~","kf8":"\ufffd19~","kf9":"\ufffd20~","kf10":"\ufffd21~","kf11":"\ufffd23~","kf12":"\ufffd24~","kf13":"\ufffd25~","kf14":"\ufffd26~","kf15":"\ufffd28~","kf16":"\ufffd29~","kf17":"\ufffd31~","kf18":"\ufffd32~","kf19":"\ufffd33~","kf20":"\ufffd34~","kich":"\ufffd2~","kdch":"\ufffd3~","khlp":"\ufffd28~","kpp":"\ufffd5~","knp":"\ufffd6~","kcuu1":"\ufffdA","kcud1":"\ufffdB","kcub1":"\ufffdD","kcuf1":"\ufffdC","acsc":"``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u000e","rmacs":"\u000f","enacs":"\u001b(B\u001b)0"} -{"name":"bq300-8w","cols":132,"lines":24,"bell":"\u0007","clear":"\ufffdH\ufffdJ","smcup":"\ufffd?7l\ufffd?1l\u001b(B","rmcup":"\ufffd?7h","cnorm":"\ufffd?25h","civis":"\ufffd?25l","sgr0":"\ufffd0m\u001b(B","smul":"\ufffd4m","bold":"\ufffd1m","blink":"\ufffd5m","rev":"\ufffd7m","rmkx":"\ufffd?1l\u001b\u003e","cup":"\ufffd%i%p1%d;%p2%dH","pad":"\u0000","kbs":"\u0008","kf1":"\ufffdP","kf2":"\ufffdQ","kf3":"\ufffdR","kf4":"\ufffdS","kf6":"\ufffd17~","kf7":"\ufffd18~","kf8":"\ufffd19~","kf9":"\ufffd20~","kf10":"\ufffd21~","kf11":"\ufffd23~","kf12":"\ufffd24~","kf13":"\ufffd25~","kf14":"\ufffd26~","kf15":"\ufffd28~","kf16":"\ufffd29~","kf17":"\ufffd31~","kf18":"\ufffd32~","kf19":"\ufffd33~","kf20":"\ufffd34~","kich":"\ufffd2~","kdch":"\ufffd3~","khlp":"\ufffd28~","kpp":"\ufffd5~","knp":"\ufffd6~","kcuu1":"\ufffdA","kcud1":"\ufffdB","kcub1":"\ufffdD","kcuf1":"\ufffdC","acsc":"``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u000e","rmacs":"\u000f","enacs":"\u001b(B\u001b)0"} -{"name":"bq300-pc","cols":80,"lines":24,"bell":"\u0007","clear":"\u001b[H\u001b[J","smcup":"\u001b[?7l\u001b[?1l\u001b(B","rmcup":"\u001b[?7h","cnorm":"\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b[0m\u001b(B","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","rmkx":"\u001b[?1l\u001b\u003e","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u001b[D","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001b[17~","kf2":"\u001b[18~","kf3":"\u001b[19~","kf4":"\u001b[20~","kf5":"\u001b[21~","kf6":"\u001b[23~","kf7":"\u001b[24~","kf8":"\u001b[25~","kf9":"\u001b[26~","kf10":"\u001b[28~","kf11":"\u001b[29~","kf12":"\u001b[31~","kich":"\u001b[2~","kdch":"\u001b[3~","khome":"\u001b[1~","kend":"\u001b[4~","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","acsc":"``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u001b(0","rmacs":"\u001b(B","enacs":"\u001b(B\u001b)0"} -{"name":"bq300-pc-rv","cols":80,"lines":24,"bell":"\u0007","clear":"\u001b[H\u001b[J","smcup":"\u001b[?7l\u001b[?1l\u001b(B","rmcup":"\u001b[?7h","cnorm":"\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b[0m\u001b(B","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","rmkx":"\u001b[?1l\u001b\u003e","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u001b[D","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001b[17~","kf2":"\u001b[18~","kf3":"\u001b[19~","kf4":"\u001b[20~","kf5":"\u001b[21~","kf6":"\u001b[23~","kf7":"\u001b[24~","kf8":"\u001b[25~","kf9":"\u001b[26~","kf10":"\u001b[28~","kf11":"\u001b[29~","kf12":"\u001b[31~","kich":"\u001b[2~","kdch":"\u001b[3~","khome":"\u001b[1~","kend":"\u001b[4~","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","acsc":"``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u001b(0","rmacs":"\u001b(B","enacs":"\u001b(B\u001b)0"} -{"name":"bq300-pc-w","cols":132,"lines":24,"bell":"\u0007","clear":"\u001b[H\u001b[J","smcup":"\u001b[?7l\u001b[?1l\u001b(B","rmcup":"\u001b[?7h","cnorm":"\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b[0m\u001b(B","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","rmkx":"\u001b[?1l\u001b\u003e","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u001b[D","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001b[17~","kf2":"\u001b[18~","kf3":"\u001b[19~","kf4":"\u001b[20~","kf5":"\u001b[21~","kf6":"\u001b[23~","kf7":"\u001b[24~","kf8":"\u001b[25~","kf9":"\u001b[26~","kf10":"\u001b[28~","kf11":"\u001b[29~","kf12":"\u001b[31~","kich":"\u001b[2~","kdch":"\u001b[3~","khome":"\u001b[1~","kend":"\u001b[4~","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","acsc":"``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u001b(0","rmacs":"\u001b(B","enacs":"\u001b(B\u001b)0"} -{"name":"bq300-pc-w-rv","cols":132,"lines":24,"bell":"\u0007","clear":"\u001b[H\u001b[J","smcup":"\u001b[?7l\u001b[?1l\u001b(B","rmcup":"\u001b[?7h","cnorm":"\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b[0m\u001b(B","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","rmkx":"\u001b[?1l\u001b\u003e","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u001b[D","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001b[17~","kf2":"\u001b[18~","kf3":"\u001b[19~","kf4":"\u001b[20~","kf5":"\u001b[21~","kf6":"\u001b[23~","kf7":"\u001b[24~","kf8":"\u001b[25~","kf9":"\u001b[26~","kf10":"\u001b[28~","kf11":"\u001b[29~","kf12":"\u001b[31~","kich":"\u001b[2~","kdch":"\u001b[3~","khome":"\u001b[1~","kend":"\u001b[4~","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","acsc":"``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u001b(0","rmacs":"\u001b(B","enacs":"\u001b(B\u001b)0"} -{"name":"bq300-rv","cols":80,"lines":24,"bell":"\u0007","clear":"\u001b[H\u001b[J","smcup":"\u001b[?7l\u001b[?1l\u001b(B","rmcup":"\u001b[?7h","cnorm":"\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b[0m\u001b(B","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","rmkx":"\u001b[?1l\u001b\u003e","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u001b[D","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kf6":"\u001b[17~","kf7":"\u001b[18~","kf8":"\u001b[19~","kf9":"\u001b[20~","kf10":"\u001b[21~","kf11":"\u001b[23~","kf12":"\u001b[24~","kf13":"\u001b[25~","kf14":"\u001b[26~","kf15":"\u001b[28~","kf16":"\u001b[29~","kf17":"\u001b[31~","kf18":"\u001b[32~","kf19":"\u001b[33~","kf20":"\u001b[34~","kich":"\u001b[2~","kdch":"\u001b[3~","khlp":"\u001b[28~","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","acsc":"``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u001b(0","rmacs":"\u001b(B","enacs":"\u001b(B\u001b)0"} -{"name":"bq300-w","cols":132,"lines":24,"bell":"\u0007","clear":"\u001b[H\u001b[J","smcup":"\u001b[?7l\u001b[?1l\u001b(B","rmcup":"\u001b[?7h","cnorm":"\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b[0m\u001b(B","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","rmkx":"\u001b[?1l\u001b\u003e","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u001b[D","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kf6":"\u001b[17~","kf7":"\u001b[18~","kf8":"\u001b[19~","kf9":"\u001b[20~","kf10":"\u001b[21~","kf11":"\u001b[23~","kf12":"\u001b[24~","kf13":"\u001b[25~","kf14":"\u001b[26~","kf15":"\u001b[28~","kf16":"\u001b[29~","kf17":"\u001b[31~","kf18":"\u001b[32~","kf19":"\u001b[33~","kf20":"\u001b[34~","kich":"\u001b[2~","kdch":"\u001b[3~","khlp":"\u001b[28~","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","acsc":"``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u001b(0","rmacs":"\u001b(B","enacs":"\u001b(B\u001b)0"} -{"name":"bq300-w-8rv","cols":132,"lines":24,"bell":"\u0007","clear":"\ufffdH\ufffdJ","smcup":"\ufffd?7l\ufffd?1l\u001b(B","rmcup":"\ufffd?7h","cnorm":"\ufffd?25h","civis":"\ufffd?25l","sgr0":"\ufffd0m\u001b(B","smul":"\ufffd4m","bold":"\ufffd1m","blink":"\ufffd5m","rev":"\ufffd7m","rmkx":"\ufffd?1l\u001b\u003e","cup":"\ufffd%i%p1%d;%p2%dH","pad":"\u0000","kbs":"\u0008","kf1":"\ufffdP","kf2":"\ufffdQ","kf3":"\ufffdR","kf4":"\ufffdS","kf6":"\ufffd17~","kf7":"\ufffd18~","kf8":"\ufffd19~","kf9":"\ufffd20~","kf10":"\ufffd21~","kf11":"\ufffd23~","kf12":"\ufffd24~","kf13":"\ufffd25~","kf14":"\ufffd26~","kf15":"\ufffd28~","kf16":"\ufffd29~","kf17":"\ufffd31~","kf18":"\ufffd32~","kf19":"\ufffd33~","kf20":"\ufffd34~","kich":"\ufffd2~","kdch":"\ufffd3~","khlp":"\ufffd28~","kpp":"\ufffd5~","knp":"\ufffd6~","kcuu1":"\ufffdA","kcud1":"\ufffdB","kcub1":"\ufffdD","kcuf1":"\ufffdC","acsc":"``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u000e","rmacs":"\u000f","enacs":"\u001b(B\u001b)0"} -{"name":"bq300-w-rv","cols":132,"lines":24,"bell":"\u0007","clear":"\u001b[H\u001b[J","smcup":"\u001b[?7l\u001b[?1l\u001b(B","rmcup":"\u001b[?7h","cnorm":"\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b[0m\u001b(B","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","rmkx":"\u001b[?1l\u001b\u003e","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u001b[D","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kf6":"\u001b[17~","kf7":"\u001b[18~","kf8":"\u001b[19~","kf9":"\u001b[20~","kf10":"\u001b[21~","kf11":"\u001b[23~","kf12":"\u001b[24~","kf13":"\u001b[25~","kf14":"\u001b[26~","kf15":"\u001b[28~","kf16":"\u001b[29~","kf17":"\u001b[31~","kf18":"\u001b[32~","kf19":"\u001b[33~","kf20":"\u001b[34~","kich":"\u001b[2~","kdch":"\u001b[3~","khlp":"\u001b[28~","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","acsc":"``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u001b(0","rmacs":"\u001b(B","enacs":"\u001b(B\u001b)0"} -{"name":"bsdos-pc","cols":80,"lines":25,"colors":8,"bell":"\u0007","clear":"\u001bc","sgr0":"\u001b[0;10m","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","setaf":"\u001b[3%p1%dm","setbg":"\u001b[4%p1%dm","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kich":"\u001b[L","khome":"\u001b[H","kpp":"\u001b[I","knp":"\u001b[G","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","acsc":"+\u0010,\u0011-\u0018.\u00190\ufffd`\u0004a\ufffdf\ufffdg\ufffdh\ufffdj\ufffdk\ufffdl\ufffdm\ufffdn\ufffdo~p\ufffdq\ufffdr\ufffds_t\ufffdu\ufffdv\ufffdw\ufffdx\ufffdy\ufffdz\ufffd{\ufffd|\ufffd}\ufffd~\ufffd","smacs":"\u001b[11m","rmacs":"\u001b[10m","_setfgbg":"\u001b[3%p1%d;4%p2%dm"} -{"name":"bsdos-pc-m","aliases":["bsdos-pc-mono"],"cols":80,"lines":25,"bell":"\u0007","clear":"\u001bc","sgr0":"\u001b[0;10m","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kich":"\u001b[L","khome":"\u001b[H","kpp":"\u001b[I","knp":"\u001b[G","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","acsc":"+\u0010,\u0011-\u0018.\u00190\ufffd`\u0004a\ufffdf\ufffdg\ufffdh\ufffdj\ufffdk\ufffdl\ufffdm\ufffdn\ufffdo~p\ufffdq\ufffdr\ufffds_t\ufffdu\ufffdv\ufffdw\ufffdx\ufffdy\ufffdz\ufffd{\ufffd|\ufffd}\ufffd~\ufffd","smacs":"\u001b[11m","rmacs":"\u001b[10m"} -{"name":"bsdos-pc-nobold","cols":80,"lines":25,"colors":8,"bell":"\u0007","clear":"\u001bc","sgr0":"\u001b[0;10m","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","setaf":"\u001b[3%p1%dm","setbg":"\u001b[4%p1%dm","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kich":"\u001b[L","khome":"\u001b[H","kpp":"\u001b[I","knp":"\u001b[G","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","acsc":"+\u0010,\u0011-\u0018.\u00190\ufffd`\u0004a\ufffdf\ufffdg\ufffdh\ufffdj\ufffdk\ufffdl\ufffdm\ufffdn\ufffdo~p\ufffdq\ufffdr\ufffds_t\ufffdu\ufffdv\ufffdw\ufffdx\ufffdy\ufffdz\ufffd{\ufffd|\ufffd}\ufffd~\ufffd","smacs":"\u001b[11m","rmacs":"\u001b[10m","_setfgbg":"\u001b[3%p1%d;4%p2%dm"} -{"name":"bsdos-ppc","cols":80,"lines":25,"colors":8,"bell":"\u0007","clear":"\u001bc","sgr0":"\u001b[0;10m","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","setaf":"\u001b[3%p1%dm","setbg":"\u001b[4%p1%dm","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kich":"\u001b[L","khome":"\u001b[H","kpp":"\u001b[I","knp":"\u001b[G","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","acsc":"+\u0010,\u0011-\u0018.\u00190\ufffd`\u0004a\ufffdf\ufffdg\ufffdh\ufffdj\ufffdk\ufffdl\ufffdm\ufffdn\ufffdo~p\ufffdq\ufffdr\ufffds_t\ufffdu\ufffdv\ufffdw\ufffdx\ufffdy\ufffdz\ufffd{\ufffd|\ufffd}\ufffd~\ufffd","smacs":"\u001b[11m","rmacs":"\u001b[10m","_setfgbg":"\u001b[3%p1%d;4%p2%dm"} -{"name":"bsdos-sparc","cols":80,"lines":34,"bell":"\u0007","clear":"\u000c","sgr0":"\u001b[m","rev":"\u001b[7m","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001b[224z","kf2":"\u001b[225z","kf3":"\u001b[226z","kf4":"\u001b[227z","kf5":"\u001b[228z","kf6":"\u001b[229z","kf7":"\u001b[230z","kf8":"\u001b[231z","kf9":"\u001b[232z","kf10":"\u001b[233z","kf11":"\u001b[234z","kf12":"\u001b[235z","kdch":"","khome":"\u001b[214z","kend":"\u001b[220z","kpp":"\u001b[216z","knp":"\u001b[222z","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C"} -{"name":"c100","aliases":["c100-4p","c104","concept","concept100"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u001b?\u001b\u0005$\u003c2*\u003e","smcup":"\u001bU\u001bv 8p\u001bp\r\u001b\u0015$\u003c16\u003e","rmcup":"\u001bv $\u003c6\u003e\u001bp\r\n","sgr0":"\u001bN@","smul":"\u001bG","blink":"\u001bC","rev":"\u001bD","dim":"\u001bE","smkx":"\u001bX","rmkx":"\u001bx","cup":"\u001ba%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u001b;","pad":"\u0000","kbs":"\u0008","kf1":"\u001b5","kf2":"\u001b6","kf3":"\u001b7","kf4":"\u001b8","kf5":"\u001b9","kf6":"\u001b:a","kf7":"\u001b:b","kf8":"\u001b:c","kich":"\u001b\u0010","kdch":"\u001b\u0011","khome":"\u001b?","kpp":"\u001b.","knp":"\u001b-","kcuu1":"\u001b;","kcud1":"\u001b\u003c","kcub1":"\u001b\u003e","kcuf1":"\u001b=","kcbt":"\u001b'"} -{"name":"c100-rv","aliases":["c100-rv-4p","concept100-rv"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u001b?\u001b\u0005$\u003c2*\u003e","smcup":"\u001bU\u001bv 8p\u001bp\r\u001b\u0015$\u003c16\u003e","rmcup":"\u001bv $\u003c6\u003e\u001bp\r\n","sgr0":"\u001bN@","smul":"\u001bG","blink":"\u001bC","rev":"\u001bD","dim":"\u001bE","smkx":"\u001bX","rmkx":"\u001bx","cup":"\u001ba%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u001b;","pad":"\u0000","kbs":"\u0008","kf1":"\u001b5","kf2":"\u001b6","kf3":"\u001b7","kf4":"\u001b8","kf5":"\u001b9","kf6":"\u001b:a","kf7":"\u001b:b","kf8":"\u001b:c","kich":"\u001b\u0010","kdch":"\u001b\u0011","khome":"\u001b?","kpp":"\u001b.","knp":"\u001b-","kcuu1":"\u001b;","kcud1":"\u001b\u003c","kcub1":"\u001b\u003e","kcuf1":"\u001b=","kcbt":"\u001b'"} -{"name":"c108","aliases":["c108-8p","concept108","concept108-8p"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u001b?\u001b\u0005$\u003c2*\u003e","smcup":"\u001bU\u001bv 8p\u001bp\r\u001b\u0015","rmcup":"\u001bv \u0001p\u001bp\r\n","cnorm":"\u001bw","sgr0":"\u001bN@","smul":"\u001bG","blink":"\u001bC","rev":"\u001bD","dim":"\u001bE","smkx":"\u001bX","rmkx":"\u001bx","cup":"\u001ba%p1%?%p1%'_'%\u003e%t\u0001%'`'%-%;%' '%+%c%p2%?%p2%'_'%\u003e%t\u0001%'`'%-%;%' '%+%c","cub1":"\u0008","cuu1":"\u001b;","pad":"\u0000","kbs":"\u0008","kf1":"\u001b5","kf2":"\u001b6","kf3":"\u001b7","kf4":"\u001b8","kf5":"\u001b9","kf6":"\u001b:a","kf7":"\u001b:b","kf8":"\u001b:c","kich":"\u001b\u0010","kdch":"\u001b\u0011","khome":"\u001b?","kpp":"\u001b.","knp":"\u001b-","kcuu1":"\u001b;","kcud1":"\u001b\u003c","kcub1":"\u001b\u003e","kcuf1":"\u001b=","kcbt":"\u001b'","acsc":"jEkTl\\mMqLxU","smacs":"\u001bj!","rmacs":"\u001bj "} -{"name":"c108-4p","aliases":["concept108-4p"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u001b?\u001b\u0005$\u003c2*\u003e","smcup":"\u001bU\u001bv 8p\u001bp\r\u001b\u0015","rmcup":"\u001bv \u0001 p\u001bp\r\n","cnorm":"\u001bw","sgr0":"\u001bN@","smul":"\u001bG","blink":"\u001bC","rev":"\u001bD","dim":"\u001bE","smkx":"\u001bX","rmkx":"\u001bx","cup":"\u001ba%p1%?%p1%'_'%\u003e%t\u0001%'`'%-%;%' '%+%c%p2%?%p2%'_'%\u003e%t\u0001%'`'%-%;%' '%+%c","cub1":"\u0008","cuu1":"\u001b;","pad":"\u0000","kbs":"\u0008","kf1":"\u001b5","kf2":"\u001b6","kf3":"\u001b7","kf4":"\u001b8","kf5":"\u001b9","kf6":"\u001b:a","kf7":"\u001b:b","kf8":"\u001b:c","kich":"\u001b\u0010","kdch":"\u001b\u0011","khome":"\u001b?","kpp":"\u001b.","knp":"\u001b-","kcuu1":"\u001b;","kcud1":"\u001b\u003c","kcub1":"\u001b\u003e","kcuf1":"\u001b=","kcbt":"\u001b'","acsc":"jEkTl\\mMqLxU","smacs":"\u001bj!","rmacs":"\u001bj "} -{"name":"c108-rv","aliases":["c108-rv-8p"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u001b?\u001b\u0005$\u003c2*\u003e","smcup":"\u001bU\u001bv 8p\u001bp\r","rmcup":"\u001bv \u0002 p\u001bp\r\n","cnorm":"\u001bw","sgr0":"\u001bN@","smul":"\u001bG","blink":"\u001bC","rev":"\u001bD","dim":"\u001bE","smkx":"\u001bX","rmkx":"\u001bx","cup":"\u001ba%p1%?%p1%'_'%\u003e%t\u0001%'`'%-%;%' '%+%c%p2%?%p2%'_'%\u003e%t\u0001%'`'%-%;%' '%+%c","cub1":"\u0008","cuu1":"\u001b;","pad":"\u0000","kbs":"\u0008","kf1":"\u001b5","kf2":"\u001b6","kf3":"\u001b7","kf4":"\u001b8","kf5":"\u001b9","kf6":"\u001b:a","kf7":"\u001b:b","kf8":"\u001b:c","kich":"\u001b\u0010","kdch":"\u001b\u0011","khome":"\u001b?","kpp":"\u001b.","knp":"\u001b-","kcuu1":"\u001b;","kcud1":"\u001b\u003c","kcub1":"\u001b\u003e","kcuf1":"\u001b=","kcbt":"\u001b'","acsc":"jEkTl\\mMqLxU","smacs":"\u001bj!","rmacs":"\u001bj "} -{"name":"c108-rv-4p","aliases":["concept108rv4p"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u001b?\u001b\u0005$\u003c2*\u003e","smcup":"\u001bU\u001bv 8p\u001bp\r\u001b\u0015","rmcup":"\u001bv \u0001 p\u001bp\r\n","cnorm":"\u001bw","sgr0":"\u001bN@","smul":"\u001bG","blink":"\u001bC","rev":"\u001bD","dim":"\u001bE","smkx":"\u001bX","rmkx":"\u001bx","cup":"\u001ba%p1%?%p1%'_'%\u003e%t\u0001%'`'%-%;%' '%+%c%p2%?%p2%'_'%\u003e%t\u0001%'`'%-%;%' '%+%c","cub1":"\u0008","cuu1":"\u001b;","pad":"\u0000","kbs":"\u0008","kf1":"\u001b5","kf2":"\u001b6","kf3":"\u001b7","kf4":"\u001b8","kf5":"\u001b9","kf6":"\u001b:a","kf7":"\u001b:b","kf8":"\u001b:c","kich":"\u001b\u0010","kdch":"\u001b\u0011","khome":"\u001b?","kpp":"\u001b.","knp":"\u001b-","kcuu1":"\u001b;","kcud1":"\u001b\u003c","kcub1":"\u001b\u003e","kcuf1":"\u001b=","kcbt":"\u001b'","acsc":"jEkTl\\mMqLxU","smacs":"\u001bj!","rmacs":"\u001bj "} -{"name":"c108-w","aliases":["c108-w-8p","concept108-w-8","concept108-w8p"],"cols":132,"lines":24,"bell":"\u0007","clear":"\u001b?\u001b\u0005$\u003c2*\u003e","smcup":"\u001bU\u001bv 8\u0001D\u001bp\r","rmcup":"\u001bv \u00010\u0001D\u001bp\r\n","cnorm":"\u001bw","sgr0":"\u001bN@","smul":"\u001bG","blink":"\u001bC","rev":"\u001bD","dim":"\u001bE","smkx":"\u001bX","rmkx":"\u001bx","cup":"\u001ba%p1%?%p1%'_'%\u003e%t\u0001%'`'%-%;%' '%+%c%p2%?%p2%'_'%\u003e%t\u0001%'`'%-%;%' '%+%c","cub1":"\u0008","cuu1":"\u001b;","pad":"\u0000","kbs":"\u0008","kf1":"\u001b5","kf2":"\u001b6","kf3":"\u001b7","kf4":"\u001b8","kf5":"\u001b9","kf6":"\u001b:a","kf7":"\u001b:b","kf8":"\u001b:c","kich":"\u001b\u0010","kdch":"\u001b\u0011","khome":"\u001b?","kpp":"\u001b.","knp":"\u001b-","kcuu1":"\u001b;","kcud1":"\u001b\u003c","kcub1":"\u001b\u003e","kcuf1":"\u001b=","kcbt":"\u001b'","acsc":"jEkTl\\mMqLxU","smacs":"\u001bj!","rmacs":"\u001bj "} -{"name":"ca22851","cols":80,"lines":24,"bell":"\u0007","clear":"\u000c$\u003c8\u003e","cup":"\u0002%i%p1%c%p2%c","cub1":"\u0015","cuu1":"\u0016","pad":"\u0000","khome":"\u001e","kcuu1":"\u0016","kcud1":"\u0017","kcub1":"\u0015"} -{"name":"cbblit","aliases":["fixterm"],"cols":88,"lines":72,"bell":"\u0007","clear":"\u000c","smul":"\u001bU\"","cup":"\u001bY%p2%' '%+%c%p1%' '%+%c","cub1":"\u001bD","cuu1":"\u001bA","pad":"\u0000","kbs":"\u0008","kf1":"\u001bx","kf2":"\u001by","kf3":"\u001bz","kcuu1":"\u001bA","kcud1":"\u001bB","kcub1":"\u001bD","kcuf1":"\u001bC"} -{"name":"cbunix","cols":80,"lines":24,"bell":"\u0007","clear":"\u001bL","smul":"\u001ba\u0001","cup":"\u001bG%p2%c%p1%c","cub1":"\u0008","cuu1":"\u001bA","pad":"\u0000","khome":"\u001bE","kcuu1":"\u001bA","kcud1":"\u001bB","kcub1":"\u001bD","kcuf1":"\u001bC"} -{"name":"cci","aliases":["cci1","z8001","zen8001"],"cols":80,"lines":24,"clear":"\u001bH\u001bJ","cnorm":"\u001bP","sgr0":"\u001bM ","smul":"\u001bM0","blink":"\u001bM\"","rev":"\u001bM$","dim":"\u001bM!","cup":"\u001bY%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u001bA","pad":"\u0000","kbs":"\u0008","khome":"\u001bH","kcuu1":"\u001bA","kcud1":"\u001bB","kcub1":"\u001bD","kcuf1":"\u001bC"} -{"name":"cdc456","cols":80,"lines":24,"bell":"\u0007","clear":"\u0019\u0018","cup":"\u001b1%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u001a","pad":"\u0000"} -{"name":"cdc721","cols":80,"lines":24,"clear":"\u000c","cup":"\u0002%p2%' '%+%c%p1%' '%+%c","cuu1":"\u0017","pad":"\u0000","khome":"\u0019","kcuu1":"\u0017","kcud1":"\n","kcub1":"\u0008","kcuf1":"\t"} -{"name":"cdc721-esc","cols":80,"lines":30,"bell":"\u0007","clear":"\u000c","sgr0":"\u000f\u0015\u001d\u001eE\u001e\u0012\\","smul":"\u001c","blink":"\u000e","rev":"\u001eD","dim":"\u001c","smkx":"\u001e\u0012k","rmkx":"\u001e\u0012l","cup":"\u0002%p2%' '%+%c%p1%' '%+%c","cub1":"\u0008","cuu1":"\u0017","pad":"\u0000","kbs":"\u0008","kf1":"\u001er","kf2":"\u001es","kf3":"\u001et","kf4":"\u001eu","kf5":"\u001ev","kf6":"\u001ew","kf7":"\u001ex","kf8":"\u001ey","kf9":"\u001ez","khome":"\u0019","kcuu1":"\u0017","kcud1":"\u001a","kcub1":"\u0008","kcuf1":"\u0018"} -{"name":"cdc721ll","cols":132,"lines":24,"clear":"\u000c","cup":"\u0002%p2%' '%+%c%p1%' '%+%c","cuu1":"\u0017","pad":"\u0000","khome":"\u0019","kcuu1":"\u0017","kcud1":"\n","kcub1":"\u0008","kcuf1":"\t"} -{"name":"cdc752","cols":80,"lines":24,"bell":"\u0007","clear":"\u0018\u001b1 ","cup":"\u001b1%p2%' '%+%c%p1%' '%+%c","cub1":"\u0008","cuu1":"\u001a","pad":"\u0000"} -{"name":"cdc756","cols":80,"lines":24,"bell":"\u0007","clear":"\u0019\u0018","cup":"\u001b1%p2%' '%+%c%p1%' '%+%c","cub1":"\u0008","cuu1":"\u001a","pad":"\u0000","kbs":"\u0008","kf1":"\u001bB","kf2":"\u001bC","kf3":"\u001bD","kf4":"\u001bE","kf5":"\u001bF","kf6":"\u001bG","kf7":"\u001bH","kf8":"\u001ba","kf9":"\u001bb","kich":"\u001bK","kdch":"\u001bI","khome":"\u0019","kcuu1":"\u001a","kcud1":"\n","kcub1":"\u0008","kcuf1":"\u0015"} -{"name":"cg7900","aliases":["chromatics"],"cols":80,"lines":40,"bell":"\u0007","clear":"\u000c","smcup":"\u0001P0\u0001O1\u0001R1\u0001C4,\u0001c0,\u000c\u0001M0,42,WARNING DOUBLE ENTER ESCAPE and \u0015\u0001C1,\u0001c2,\u0001W0,0,79,39,","rmcup":"\u0001W0,40,85,48,\u000c\u0001W0,0,85,48,\u0001M0,40,","cup":"\u0001M%p2%d,%p1%d,","cub1":"\u0008","cuu1":"\u000b","pad":"\u0000"} -{"name":"cit101","aliases":["citc"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u001b[H\u001b[2J","cnorm":"\u001b[V\u001b8","sgr0":"\u001b[m","smul":"\u001b[4m","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC"} -{"name":"cit101e","cols":80,"lines":24,"clear":"\u001b[H\u001b[J","smul":"\u001b[4m","smkx":"\u001b=","rmkx":"\u001b\u003e","cup":"\u001b[%i%p1%2d;%p2%2dH","cuu1":"\u001b[A","pad":"\u0000","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kf5":"\u001bOm","kf6":"\u001bOl","kf7":"\u001bOM","kf8":"\u001bOn","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","smacs":"\u000e","rmacs":"\u000f"} -{"name":"cit101e-132","cols":132,"lines":24,"clear":"\u001b[H\u001b[J","smul":"\u001b[4m","smkx":"\u001b=","rmkx":"\u001b\u003e","cup":"\u001b[%i%p1%2d;%p2%2dH","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kf5":"\u001bOm","kf6":"\u001bOl","kf7":"\u001bOM","kf8":"\u001bOn","kcuu1":"\u001b[A","kcud1":"\n","kcub1":"\u0008","kcuf1":"\u001b[C","smacs":"\u000e","rmacs":"\u000f"} -{"name":"cit101e-n","cols":80,"lines":24,"clear":"\u001b[H\u001b[J","smul":"\u001b[4m","smkx":"\u001b=","rmkx":"\u001b\u003e","cup":"\u001b[%i%p1%2d;%p2%2dH","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kf5":"\u001bOm","kf6":"\u001bOl","kf7":"\u001bOM","kf8":"\u001bOn","kcuu1":"\u001b[A","kcud1":"\n","kcub1":"\u0008","kcuf1":"\u001b[C","smacs":"\u000e","rmacs":"\u000f"} -{"name":"cit101e-n132","cols":132,"lines":24,"clear":"\u001b[H\u001b[J","smul":"\u001b[4m","smkx":"\u001b=","rmkx":"\u001b\u003e","cup":"\u001b[%i%p1%2d;%p2%2dH","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kf5":"\u001bOm","kf6":"\u001bOl","kf7":"\u001bOM","kf8":"\u001bOn","kcuu1":"\u001b[A","kcud1":"\n","kcub1":"\u0008","kcuf1":"\u001b[C","smacs":"\u000e","rmacs":"\u000f"} -{"name":"cit101e-rv","cols":80,"lines":24,"bell":"\u0007","clear":"\u001b[H\u001b[J","smcup":"\u001b[\u003e5g\u001b[?7h\u001b[?5h","cnorm":"\u001b[0;3;4v","civis":"\u001b[1v","sgr0":"\u001b[m","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C"} -{"name":"cit500","cols":80,"lines":64,"bell":"\u0007","clear":"\u001b[H\u001b[J","sgr0":"\u001b[m","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001bM","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOQ","kf2":"\u001bOR","kf3":"\u001bOS","kf4":"\u001bOU","kf5":"\u001bOV","kf6":"\u001bOW","kf7":"\u001bOX","kf8":"\u001bOY","kf9":"\u001bOZ","kich":"\u001b[4h","kdch":"\u001b[P","khome":"\u001b[H","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC","kcbt":"\u001b[Z","smacs":"\u000e","rmacs":"\u000f"} -{"name":"cit80","aliases":["cit-80"],"cols":80,"lines":24,"clear":"\u001b[H\u001bJ","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","cup":"\u001b[%i%p1%2d;%p2%2dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC"} -{"name":"coco3","aliases":["os9LII"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u000c$\u003c5*/\u003e","cnorm":"\u0005!","civis":"\u0005 ","sgr0":"\u001f!\u001b:\ufffd","smul":"\u001f\"","bold":"\u001b:\u0001","blink":"\u001f\"","rev":"\u001f ","cup":"\u0002%p2%' '%+%c%p1%' '%+%c$\u003c2/\u003e","cub1":"\u0008","cuu1":"\t","pad":"\u0000","kcuu1":"\u000c","kcud1":"\n","kcub1":"\u0008","kcuf1":"\t"} -{"name":"color_xterm","aliases":["cx","cx100"],"cols":80,"lines":65,"colors":8,"bell":"\u0007","clear":"\u001b[H\u001b[2J","smcup":"\u001b[?1;41s\u001b[?1;41h\u001b=","rmcup":"\u001b\u003e\u001b[?41;1r","sgr0":"\u001b[0m\u000f","smul":"\u001b[4m","bold":"\u001b[1m","rev":"\u001b[7m","setaf":"\u001b[3%p1%dm","setbg":"\u001b[4%p1%dm","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001b[11~","kf2":"\u001b[12~","kf3":"\u001b[13~","kf4":"\u001b[14~","kf5":"\u001b[15~","kf6":"\u001b[17~","kf7":"\u001b[18~","kf8":"\u001b[19~","kf9":"\u001b[20~","kf10":"\u001b[21~","kf11":"\u001b[23~","kf12":"\u001b[24~","kich":"\u001b[2~","khome":"\u001b[7~","kend":"\u001b[8~","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC","kmous":"\u001b[M","XM":"%?%p1%{1}%=%t%'h'%Pa%e%'l'%Pa%;\u001b[?1000%ga%c\u001b[?1002%ga%c\u001b[?1003%ga%c\u001b[?1006%ga%c","acsc":"``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u000e","rmacs":"\u000f","enacs":"\u001b(B\u001b)0","_setfgbg":"\u001b[3%p1%d;4%p2%dm"} -{"name":"commodore","aliases":["b-128"],"cols":80,"lines":24,"clear":"\u001b\u0006$\u003c10/\u003e","cup":"\u001b\u000b%p1%2d,%p2%2d,$\u003c20/\u003e","cuu1":"\u0010","pad":"\u0000","khome":"\u001b\u0005","kcuu1":"\u0010","kcud1":"\n","kcub1":"\u0002","kcuf1":"\u0006"} -{"name":"cons25","aliases":["ansi80x25","ansis"],"cols":80,"lines":25,"colors":8,"bell":"\u0007","clear":"\u001b[H\u001b[J","cnorm":"\u001b[=0C","sgr0":"\u001b[m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","dim":"\u001b[30;1m","setaf":"\u001b[3%p1%dm","setbg":"\u001b[4%p1%dm","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","kbs":"\u0008","kf1":"\u001b[M","kf2":"\u001b[N","kf3":"\u001b[O","kf4":"\u001b[P","kf5":"\u001b[Q","kf6":"\u001b[R","kf7":"\u001b[S","kf8":"\u001b[T","kf9":"\u001b[U","kf10":"\u001b[V","kf11":"\u001b[W","kf12":"\u001b[X","kf13":"\u001b[Y","kf14":"\u001b[Z","kf15":"\u001b[a","kf16":"\u001b[b","kf17":"\u001b[c","kf18":"\u001b[d","kf19":"\u001b[e","kf20":"\u001b[f","kf21":"\u001b[g","kf22":"\u001b[h","kf23":"\u001b[i","kf24":"\u001b[j","kf25":"\u001b[k","kf26":"\u001b[l","kf27":"\u001b[m","kf28":"\u001b[n","kf29":"\u001b[o","kf30":"\u001b[p","kf31":"\u001b[q","kf32":"\u001b[r","kf33":"\u001b[s","kf34":"\u001b[t","kf35":"\u001b[u","kf36":"\u001b[v","kf37":"\u001b[w","kf38":"\u001b[x","kf39":"\u001b[y","kf40":"\u001b[z","kf41":"\u001b[@","kf42":"\u001b[[","kf43":"\u001b[\\","kf44":"\u001b[]","kf45":"\u001b[^","kf46":"\u001b[_","kf47":"\u001b[`","kf48":"\u001b[{","kich":"\u001b[L","kdch":"","khome":"\u001b[H","kend":"\u001b[F","kpp":"\u001b[I","knp":"\u001b[G","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001b[Z","acsc":"-\u0018.\u00190\ufffd`\u0004a\ufffdf\ufffdg\ufffdh\ufffdi\u0015j\ufffdk\ufffdl\ufffdm\ufffdn\ufffdq\ufffdt\ufffdu\ufffdv\ufffdw\ufffdx\ufffdy\ufffdz\ufffd~\ufffd","_setfgbg":"\u001b[3%p1%d;4%p2%dm"} -{"name":"cons25-m","aliases":["ansi80x25-mono","ansis-mono"],"cols":80,"lines":25,"bell":"\u0007","clear":"\u001b[H\u001b[J","cnorm":"\u001b[=0C","sgr0":"\u001b[m","smul":"\u001b[4m","blink":"\u001b[5m","rev":"\u001b[7m","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","kbs":"\u0008","kf1":"\u001b[M","kf2":"\u001b[N","kf3":"\u001b[O","kf4":"\u001b[P","kf5":"\u001b[Q","kf6":"\u001b[R","kf7":"\u001b[S","kf8":"\u001b[T","kf9":"\u001b[U","kf10":"\u001b[V","kf11":"\u001b[W","kf12":"\u001b[X","kf13":"\u001b[Y","kf14":"\u001b[Z","kf15":"\u001b[a","kf16":"\u001b[b","kf17":"\u001b[c","kf18":"\u001b[d","kf19":"\u001b[e","kf20":"\u001b[f","kf21":"\u001b[g","kf22":"\u001b[h","kf23":"\u001b[i","kf24":"\u001b[j","kf25":"\u001b[k","kf26":"\u001b[l","kf27":"\u001b[m","kf28":"\u001b[n","kf29":"\u001b[o","kf30":"\u001b[p","kf31":"\u001b[q","kf32":"\u001b[r","kf33":"\u001b[s","kf34":"\u001b[t","kf35":"\u001b[u","kf36":"\u001b[v","kf37":"\u001b[w","kf38":"\u001b[x","kf39":"\u001b[y","kf40":"\u001b[z","kf41":"\u001b[@","kf42":"\u001b[[","kf43":"\u001b[\\","kf44":"\u001b[]","kf45":"\u001b[^","kf46":"\u001b[_","kf47":"\u001b[`","kf48":"\u001b[{","kich":"\u001b[L","kdch":"","khome":"\u001b[H","kend":"\u001b[F","kpp":"\u001b[I","knp":"\u001b[G","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001b[Z","acsc":"-\u0018.\u00190\ufffd`\u0004a\ufffdf\ufffdg\ufffdh\ufffdi\u0015j\ufffdk\ufffdl\ufffdm\ufffdn\ufffdq\ufffdt\ufffdu\ufffdv\ufffdw\ufffdx\ufffdy\ufffdz\ufffd~\ufffd"} -{"name":"cons25l1","aliases":["cons25-iso8859"],"cols":80,"lines":25,"colors":8,"bell":"\u0007","clear":"\u001b[H\u001b[J","cnorm":"\u001b[=0C","sgr0":"\u001b[m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","dim":"\u001b[30;1m","setaf":"\u001b[3%p1%dm","setbg":"\u001b[4%p1%dm","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","kbs":"\u0008","kf1":"\u001b[M","kf2":"\u001b[N","kf3":"\u001b[O","kf4":"\u001b[P","kf5":"\u001b[Q","kf6":"\u001b[R","kf7":"\u001b[S","kf8":"\u001b[T","kf9":"\u001b[U","kf10":"\u001b[V","kf11":"\u001b[W","kf12":"\u001b[X","kf13":"\u001b[Y","kf14":"\u001b[Z","kf15":"\u001b[a","kf16":"\u001b[b","kf17":"\u001b[c","kf18":"\u001b[d","kf19":"\u001b[e","kf20":"\u001b[f","kf21":"\u001b[g","kf22":"\u001b[h","kf23":"\u001b[i","kf24":"\u001b[j","kf25":"\u001b[k","kf26":"\u001b[l","kf27":"\u001b[m","kf28":"\u001b[n","kf29":"\u001b[o","kf30":"\u001b[p","kf31":"\u001b[q","kf32":"\u001b[r","kf33":"\u001b[s","kf34":"\u001b[t","kf35":"\u001b[u","kf36":"\u001b[v","kf37":"\u001b[w","kf38":"\u001b[x","kf39":"\u001b[y","kf40":"\u001b[z","kf41":"\u001b[@","kf42":"\u001b[[","kf43":"\u001b[\\","kf44":"\u001b[]","kf45":"\u001b[^","kf46":"\u001b[_","kf47":"\u001b[`","kf48":"\u001b[{","kich":"\u001b[L","kdch":"","khome":"\u001b[H","kend":"\u001b[F","kpp":"\u001b[I","knp":"\u001b[G","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001b[Z","acsc":"+\ufffd,\ufffd-\u0018.\u0019`\ufffda\ufffdf\ufffdg\ufffdi\ufffdj\ufffdk\ufffdl\ufffdm\ufffdn\ufffdo\ufffdp\ufffdq\ufffdr\ufffds\ufffdt\ufffdu\ufffdv\ufffdw\ufffdx\ufffdy\ufffdz\ufffd~\ufffd","_setfgbg":"\u001b[3%p1%d;4%p2%dm"} -{"name":"cons25l1-m","aliases":["cons25-iso-m"],"cols":80,"lines":25,"bell":"\u0007","clear":"\u001b[H\u001b[J","cnorm":"\u001b[=0C","sgr0":"\u001b[m","smul":"\u001b[4m","blink":"\u001b[5m","rev":"\u001b[7m","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","kbs":"\u0008","kf1":"\u001b[M","kf2":"\u001b[N","kf3":"\u001b[O","kf4":"\u001b[P","kf5":"\u001b[Q","kf6":"\u001b[R","kf7":"\u001b[S","kf8":"\u001b[T","kf9":"\u001b[U","kf10":"\u001b[V","kf11":"\u001b[W","kf12":"\u001b[X","kf13":"\u001b[Y","kf14":"\u001b[Z","kf15":"\u001b[a","kf16":"\u001b[b","kf17":"\u001b[c","kf18":"\u001b[d","kf19":"\u001b[e","kf20":"\u001b[f","kf21":"\u001b[g","kf22":"\u001b[h","kf23":"\u001b[i","kf24":"\u001b[j","kf25":"\u001b[k","kf26":"\u001b[l","kf27":"\u001b[m","kf28":"\u001b[n","kf29":"\u001b[o","kf30":"\u001b[p","kf31":"\u001b[q","kf32":"\u001b[r","kf33":"\u001b[s","kf34":"\u001b[t","kf35":"\u001b[u","kf36":"\u001b[v","kf37":"\u001b[w","kf38":"\u001b[x","kf39":"\u001b[y","kf40":"\u001b[z","kf41":"\u001b[@","kf42":"\u001b[[","kf43":"\u001b[\\","kf44":"\u001b[]","kf45":"\u001b[^","kf46":"\u001b[_","kf47":"\u001b[`","kf48":"\u001b[{","kich":"\u001b[L","kdch":"","khome":"\u001b[H","kend":"\u001b[F","kpp":"\u001b[I","knp":"\u001b[G","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001b[Z","acsc":"+\ufffd,\ufffd-\u0018.\u0019`\ufffda\ufffdf\ufffdg\ufffdi\ufffdj\ufffdk\ufffdl\ufffdm\ufffdn\ufffdo\ufffdp\ufffdq\ufffdr\ufffds\ufffdt\ufffdu\ufffdv\ufffdw\ufffdx\ufffdy\ufffdz\ufffd~\ufffd"} -{"name":"cons25r","aliases":["cons25-koi8-r","ibmpc3r","pc3r"],"cols":80,"lines":25,"colors":8,"bell":"\u0007","clear":"\u001b[H\u001b[J","cnorm":"\u001b[=0C","sgr0":"\u001b[m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","dim":"\u001b[30;1m","setaf":"\u001b[3%p1%dm","setbg":"\u001b[4%p1%dm","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","kbs":"\u0008","kf1":"\u001b[M","kf2":"\u001b[N","kf3":"\u001b[O","kf4":"\u001b[P","kf5":"\u001b[Q","kf6":"\u001b[R","kf7":"\u001b[S","kf8":"\u001b[T","kf9":"\u001b[U","kf10":"\u001b[V","kf11":"\u001b[W","kf12":"\u001b[X","kf13":"\u001b[Y","kf14":"\u001b[Z","kf15":"\u001b[a","kf16":"\u001b[b","kf17":"\u001b[c","kf18":"\u001b[d","kf19":"\u001b[e","kf20":"\u001b[f","kf21":"\u001b[g","kf22":"\u001b[h","kf23":"\u001b[i","kf24":"\u001b[j","kf25":"\u001b[k","kf26":"\u001b[l","kf27":"\u001b[m","kf28":"\u001b[n","kf29":"\u001b[o","kf30":"\u001b[p","kf31":"\u001b[q","kf32":"\u001b[r","kf33":"\u001b[s","kf34":"\u001b[t","kf35":"\u001b[u","kf36":"\u001b[v","kf37":"\u001b[w","kf38":"\u001b[x","kf39":"\u001b[y","kf40":"\u001b[z","kf41":"\u001b[@","kf42":"\u001b[[","kf43":"\u001b[\\","kf44":"\u001b[]","kf45":"\u001b[^","kf46":"\u001b[_","kf47":"\u001b[`","kf48":"\u001b[{","kich":"\u001b[L","kdch":"","khome":"\u001b[H","kend":"\u001b[F","kpp":"\u001b[I","knp":"\u001b[G","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001b[Z","acsc":"-\u0018.\u00190\ufffd`\u0004a\ufffdf\ufffdh\ufffdi\u0015j\ufffdk\ufffdl\ufffdm\ufffdn\ufffdq\ufffdt\ufffdu\ufffdv\ufffdw\ufffdx\ufffdy\ufffdz\ufffd~\ufffd","_setfgbg":"\u001b[3%p1%d;4%p2%dm"} -{"name":"cons25r-m","aliases":["cons25-koi8r-m","ibmpc3r-mono","pc3r-m"],"cols":80,"lines":25,"bell":"\u0007","clear":"\u001b[H\u001b[J","cnorm":"\u001b[=0C","sgr0":"\u001b[m","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","dim":"\u001b[30;1m","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","kbs":"\u0008","kf1":"\u001b[M","kf2":"\u001b[N","kf3":"\u001b[O","kf4":"\u001b[P","kf5":"\u001b[Q","kf6":"\u001b[R","kf7":"\u001b[S","kf8":"\u001b[T","kf9":"\u001b[U","kf10":"\u001b[V","kf11":"\u001b[W","kf12":"\u001b[X","kf13":"\u001b[Y","kf14":"\u001b[Z","kf15":"\u001b[a","kf16":"\u001b[b","kf17":"\u001b[c","kf18":"\u001b[d","kf19":"\u001b[e","kf20":"\u001b[f","kf21":"\u001b[g","kf22":"\u001b[h","kf23":"\u001b[i","kf24":"\u001b[j","kf25":"\u001b[k","kf26":"\u001b[l","kf27":"\u001b[m","kf28":"\u001b[n","kf29":"\u001b[o","kf30":"\u001b[p","kf31":"\u001b[q","kf32":"\u001b[r","kf33":"\u001b[s","kf34":"\u001b[t","kf35":"\u001b[u","kf36":"\u001b[v","kf37":"\u001b[w","kf38":"\u001b[x","kf39":"\u001b[y","kf40":"\u001b[z","kf41":"\u001b[@","kf42":"\u001b[[","kf43":"\u001b[\\","kf44":"\u001b[]","kf45":"\u001b[^","kf46":"\u001b[_","kf47":"\u001b[`","kf48":"\u001b[{","kich":"\u001b[L","kdch":"","khome":"\u001b[H","kend":"\u001b[F","kpp":"\u001b[I","knp":"\u001b[G","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001b[Z","acsc":"-\u0018.\u00190\ufffd`\u0004a\ufffdf\ufffdh\ufffdi\u0015j\ufffdk\ufffdl\ufffdm\ufffdn\ufffdq\ufffdt\ufffdu\ufffdv\ufffdw\ufffdx\ufffdy\ufffdz\ufffd~\ufffd"} -{"name":"cons25w","aliases":["ansi80x25-raw","ansiw"],"cols":80,"lines":25,"colors":8,"bell":"\u0007","clear":"\u001b[H\u001b[J","cnorm":"\u001b[=0C","sgr0":"\u001b[m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","dim":"\u001b[30;1m","setaf":"\u001b[3%p1%dm","setbg":"\u001b[4%p1%dm","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","kbs":"\u0008","kf1":"\u001b[M","kf2":"\u001b[N","kf3":"\u001b[O","kf4":"\u001b[P","kf5":"\u001b[Q","kf6":"\u001b[R","kf7":"\u001b[S","kf8":"\u001b[T","kf9":"\u001b[U","kf10":"\u001b[V","kf11":"\u001b[W","kf12":"\u001b[X","kf13":"\u001b[Y","kf14":"\u001b[Z","kf15":"\u001b[a","kf16":"\u001b[b","kf17":"\u001b[c","kf18":"\u001b[d","kf19":"\u001b[e","kf20":"\u001b[f","kf21":"\u001b[g","kf22":"\u001b[h","kf23":"\u001b[i","kf24":"\u001b[j","kf25":"\u001b[k","kf26":"\u001b[l","kf27":"\u001b[m","kf28":"\u001b[n","kf29":"\u001b[o","kf30":"\u001b[p","kf31":"\u001b[q","kf32":"\u001b[r","kf33":"\u001b[s","kf34":"\u001b[t","kf35":"\u001b[u","kf36":"\u001b[v","kf37":"\u001b[w","kf38":"\u001b[x","kf39":"\u001b[y","kf40":"\u001b[z","kf41":"\u001b[@","kf42":"\u001b[[","kf43":"\u001b[\\","kf44":"\u001b[]","kf45":"\u001b[^","kf46":"\u001b[_","kf47":"\u001b[`","kf48":"\u001b[{","kich":"\u001b[L","kdch":"","khome":"\u001b[H","kend":"\u001b[F","kpp":"\u001b[I","knp":"\u001b[G","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001b[Z","_setfgbg":"\u001b[3%p1%d;4%p2%dm"} -{"name":"cons30","aliases":["ansi80x30"],"cols":80,"lines":30,"colors":8,"bell":"\u0007","clear":"\u001b[H\u001b[J","cnorm":"\u001b[=0C","sgr0":"\u001b[m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","dim":"\u001b[30;1m","setaf":"\u001b[3%p1%dm","setbg":"\u001b[4%p1%dm","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","kbs":"\u0008","kf1":"\u001b[M","kf2":"\u001b[N","kf3":"\u001b[O","kf4":"\u001b[P","kf5":"\u001b[Q","kf6":"\u001b[R","kf7":"\u001b[S","kf8":"\u001b[T","kf9":"\u001b[U","kf10":"\u001b[V","kf11":"\u001b[W","kf12":"\u001b[X","kf13":"\u001b[Y","kf14":"\u001b[Z","kf15":"\u001b[a","kf16":"\u001b[b","kf17":"\u001b[c","kf18":"\u001b[d","kf19":"\u001b[e","kf20":"\u001b[f","kf21":"\u001b[g","kf22":"\u001b[h","kf23":"\u001b[i","kf24":"\u001b[j","kf25":"\u001b[k","kf26":"\u001b[l","kf27":"\u001b[m","kf28":"\u001b[n","kf29":"\u001b[o","kf30":"\u001b[p","kf31":"\u001b[q","kf32":"\u001b[r","kf33":"\u001b[s","kf34":"\u001b[t","kf35":"\u001b[u","kf36":"\u001b[v","kf37":"\u001b[w","kf38":"\u001b[x","kf39":"\u001b[y","kf40":"\u001b[z","kf41":"\u001b[@","kf42":"\u001b[[","kf43":"\u001b[\\","kf44":"\u001b[]","kf45":"\u001b[^","kf46":"\u001b[_","kf47":"\u001b[`","kf48":"\u001b[{","kich":"\u001b[L","kdch":"","khome":"\u001b[H","kend":"\u001b[F","kpp":"\u001b[I","knp":"\u001b[G","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001b[Z","acsc":"-\u0018.\u00190\ufffd`\u0004a\ufffdf\ufffdg\ufffdh\ufffdi\u0015j\ufffdk\ufffdl\ufffdm\ufffdn\ufffdq\ufffdt\ufffdu\ufffdv\ufffdw\ufffdx\ufffdy\ufffdz\ufffd~\ufffd","_setfgbg":"\u001b[3%p1%d;4%p2%dm"} -{"name":"cons30-m","aliases":["ansi80x30-mono"],"cols":80,"lines":30,"bell":"\u0007","clear":"\u001b[H\u001b[J","cnorm":"\u001b[=0C","sgr0":"\u001b[m","smul":"\u001b[4m","blink":"\u001b[5m","rev":"\u001b[7m","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","kbs":"\u0008","kf1":"\u001b[M","kf2":"\u001b[N","kf3":"\u001b[O","kf4":"\u001b[P","kf5":"\u001b[Q","kf6":"\u001b[R","kf7":"\u001b[S","kf8":"\u001b[T","kf9":"\u001b[U","kf10":"\u001b[V","kf11":"\u001b[W","kf12":"\u001b[X","kf13":"\u001b[Y","kf14":"\u001b[Z","kf15":"\u001b[a","kf16":"\u001b[b","kf17":"\u001b[c","kf18":"\u001b[d","kf19":"\u001b[e","kf20":"\u001b[f","kf21":"\u001b[g","kf22":"\u001b[h","kf23":"\u001b[i","kf24":"\u001b[j","kf25":"\u001b[k","kf26":"\u001b[l","kf27":"\u001b[m","kf28":"\u001b[n","kf29":"\u001b[o","kf30":"\u001b[p","kf31":"\u001b[q","kf32":"\u001b[r","kf33":"\u001b[s","kf34":"\u001b[t","kf35":"\u001b[u","kf36":"\u001b[v","kf37":"\u001b[w","kf38":"\u001b[x","kf39":"\u001b[y","kf40":"\u001b[z","kf41":"\u001b[@","kf42":"\u001b[[","kf43":"\u001b[\\","kf44":"\u001b[]","kf45":"\u001b[^","kf46":"\u001b[_","kf47":"\u001b[`","kf48":"\u001b[{","kich":"\u001b[L","kdch":"","khome":"\u001b[H","kend":"\u001b[F","kpp":"\u001b[I","knp":"\u001b[G","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001b[Z","acsc":"-\u0018.\u00190\ufffd`\u0004a\ufffdf\ufffdg\ufffdh\ufffdi\u0015j\ufffdk\ufffdl\ufffdm\ufffdn\ufffdq\ufffdt\ufffdu\ufffdv\ufffdw\ufffdx\ufffdy\ufffdz\ufffd~\ufffd"} -{"name":"cons43","aliases":["ansi80x43"],"cols":80,"lines":43,"colors":8,"bell":"\u0007","clear":"\u001b[H\u001b[J","cnorm":"\u001b[=0C","sgr0":"\u001b[m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","dim":"\u001b[30;1m","setaf":"\u001b[3%p1%dm","setbg":"\u001b[4%p1%dm","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","kbs":"\u0008","kf1":"\u001b[M","kf2":"\u001b[N","kf3":"\u001b[O","kf4":"\u001b[P","kf5":"\u001b[Q","kf6":"\u001b[R","kf7":"\u001b[S","kf8":"\u001b[T","kf9":"\u001b[U","kf10":"\u001b[V","kf11":"\u001b[W","kf12":"\u001b[X","kf13":"\u001b[Y","kf14":"\u001b[Z","kf15":"\u001b[a","kf16":"\u001b[b","kf17":"\u001b[c","kf18":"\u001b[d","kf19":"\u001b[e","kf20":"\u001b[f","kf21":"\u001b[g","kf22":"\u001b[h","kf23":"\u001b[i","kf24":"\u001b[j","kf25":"\u001b[k","kf26":"\u001b[l","kf27":"\u001b[m","kf28":"\u001b[n","kf29":"\u001b[o","kf30":"\u001b[p","kf31":"\u001b[q","kf32":"\u001b[r","kf33":"\u001b[s","kf34":"\u001b[t","kf35":"\u001b[u","kf36":"\u001b[v","kf37":"\u001b[w","kf38":"\u001b[x","kf39":"\u001b[y","kf40":"\u001b[z","kf41":"\u001b[@","kf42":"\u001b[[","kf43":"\u001b[\\","kf44":"\u001b[]","kf45":"\u001b[^","kf46":"\u001b[_","kf47":"\u001b[`","kf48":"\u001b[{","kich":"\u001b[L","kdch":"","khome":"\u001b[H","kend":"\u001b[F","kpp":"\u001b[I","knp":"\u001b[G","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001b[Z","acsc":"-\u0018.\u00190\ufffd`\u0004a\ufffdf\ufffdg\ufffdh\ufffdi\u0015j\ufffdk\ufffdl\ufffdm\ufffdn\ufffdq\ufffdt\ufffdu\ufffdv\ufffdw\ufffdx\ufffdy\ufffdz\ufffd~\ufffd","_setfgbg":"\u001b[3%p1%d;4%p2%dm"} -{"name":"cons43-m","aliases":["ansi80x43-mono"],"cols":80,"lines":43,"bell":"\u0007","clear":"\u001b[H\u001b[J","cnorm":"\u001b[=0C","sgr0":"\u001b[m","smul":"\u001b[4m","blink":"\u001b[5m","rev":"\u001b[7m","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","kbs":"\u0008","kf1":"\u001b[M","kf2":"\u001b[N","kf3":"\u001b[O","kf4":"\u001b[P","kf5":"\u001b[Q","kf6":"\u001b[R","kf7":"\u001b[S","kf8":"\u001b[T","kf9":"\u001b[U","kf10":"\u001b[V","kf11":"\u001b[W","kf12":"\u001b[X","kf13":"\u001b[Y","kf14":"\u001b[Z","kf15":"\u001b[a","kf16":"\u001b[b","kf17":"\u001b[c","kf18":"\u001b[d","kf19":"\u001b[e","kf20":"\u001b[f","kf21":"\u001b[g","kf22":"\u001b[h","kf23":"\u001b[i","kf24":"\u001b[j","kf25":"\u001b[k","kf26":"\u001b[l","kf27":"\u001b[m","kf28":"\u001b[n","kf29":"\u001b[o","kf30":"\u001b[p","kf31":"\u001b[q","kf32":"\u001b[r","kf33":"\u001b[s","kf34":"\u001b[t","kf35":"\u001b[u","kf36":"\u001b[v","kf37":"\u001b[w","kf38":"\u001b[x","kf39":"\u001b[y","kf40":"\u001b[z","kf41":"\u001b[@","kf42":"\u001b[[","kf43":"\u001b[\\","kf44":"\u001b[]","kf45":"\u001b[^","kf46":"\u001b[_","kf47":"\u001b[`","kf48":"\u001b[{","kich":"\u001b[L","kdch":"","khome":"\u001b[H","kend":"\u001b[F","kpp":"\u001b[I","knp":"\u001b[G","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001b[Z","acsc":"-\u0018.\u00190\ufffd`\u0004a\ufffdf\ufffdg\ufffdh\ufffdi\u0015j\ufffdk\ufffdl\ufffdm\ufffdn\ufffdq\ufffdt\ufffdu\ufffdv\ufffdw\ufffdx\ufffdy\ufffdz\ufffd~\ufffd"} -{"name":"cons50","aliases":["ansi80x50","ansil"],"cols":80,"lines":50,"colors":8,"bell":"\u0007","clear":"\u001b[H\u001b[J","cnorm":"\u001b[=0C","sgr0":"\u001b[m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","dim":"\u001b[30;1m","setaf":"\u001b[3%p1%dm","setbg":"\u001b[4%p1%dm","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","kbs":"\u0008","kf1":"\u001b[M","kf2":"\u001b[N","kf3":"\u001b[O","kf4":"\u001b[P","kf5":"\u001b[Q","kf6":"\u001b[R","kf7":"\u001b[S","kf8":"\u001b[T","kf9":"\u001b[U","kf10":"\u001b[V","kf11":"\u001b[W","kf12":"\u001b[X","kf13":"\u001b[Y","kf14":"\u001b[Z","kf15":"\u001b[a","kf16":"\u001b[b","kf17":"\u001b[c","kf18":"\u001b[d","kf19":"\u001b[e","kf20":"\u001b[f","kf21":"\u001b[g","kf22":"\u001b[h","kf23":"\u001b[i","kf24":"\u001b[j","kf25":"\u001b[k","kf26":"\u001b[l","kf27":"\u001b[m","kf28":"\u001b[n","kf29":"\u001b[o","kf30":"\u001b[p","kf31":"\u001b[q","kf32":"\u001b[r","kf33":"\u001b[s","kf34":"\u001b[t","kf35":"\u001b[u","kf36":"\u001b[v","kf37":"\u001b[w","kf38":"\u001b[x","kf39":"\u001b[y","kf40":"\u001b[z","kf41":"\u001b[@","kf42":"\u001b[[","kf43":"\u001b[\\","kf44":"\u001b[]","kf45":"\u001b[^","kf46":"\u001b[_","kf47":"\u001b[`","kf48":"\u001b[{","kich":"\u001b[L","kdch":"","khome":"\u001b[H","kend":"\u001b[F","kpp":"\u001b[I","knp":"\u001b[G","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001b[Z","acsc":"-\u0018.\u00190\ufffd`\u0004a\ufffdf\ufffdg\ufffdh\ufffdi\u0015j\ufffdk\ufffdl\ufffdm\ufffdn\ufffdq\ufffdt\ufffdu\ufffdv\ufffdw\ufffdx\ufffdy\ufffdz\ufffd~\ufffd","_setfgbg":"\u001b[3%p1%d;4%p2%dm"} -{"name":"cons50-m","aliases":["ansi80x50-mono","ansil-mono"],"cols":80,"lines":50,"bell":"\u0007","clear":"\u001b[H\u001b[J","cnorm":"\u001b[=0C","sgr0":"\u001b[m","smul":"\u001b[4m","blink":"\u001b[5m","rev":"\u001b[7m","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","kbs":"\u0008","kf1":"\u001b[M","kf2":"\u001b[N","kf3":"\u001b[O","kf4":"\u001b[P","kf5":"\u001b[Q","kf6":"\u001b[R","kf7":"\u001b[S","kf8":"\u001b[T","kf9":"\u001b[U","kf10":"\u001b[V","kf11":"\u001b[W","kf12":"\u001b[X","kf13":"\u001b[Y","kf14":"\u001b[Z","kf15":"\u001b[a","kf16":"\u001b[b","kf17":"\u001b[c","kf18":"\u001b[d","kf19":"\u001b[e","kf20":"\u001b[f","kf21":"\u001b[g","kf22":"\u001b[h","kf23":"\u001b[i","kf24":"\u001b[j","kf25":"\u001b[k","kf26":"\u001b[l","kf27":"\u001b[m","kf28":"\u001b[n","kf29":"\u001b[o","kf30":"\u001b[p","kf31":"\u001b[q","kf32":"\u001b[r","kf33":"\u001b[s","kf34":"\u001b[t","kf35":"\u001b[u","kf36":"\u001b[v","kf37":"\u001b[w","kf38":"\u001b[x","kf39":"\u001b[y","kf40":"\u001b[z","kf41":"\u001b[@","kf42":"\u001b[[","kf43":"\u001b[\\","kf44":"\u001b[]","kf45":"\u001b[^","kf46":"\u001b[_","kf47":"\u001b[`","kf48":"\u001b[{","kich":"\u001b[L","kdch":"","khome":"\u001b[H","kend":"\u001b[F","kpp":"\u001b[I","knp":"\u001b[G","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001b[Z","acsc":"-\u0018.\u00190\ufffd`\u0004a\ufffdf\ufffdg\ufffdh\ufffdi\u0015j\ufffdk\ufffdl\ufffdm\ufffdn\ufffdq\ufffdt\ufffdu\ufffdv\ufffdw\ufffdx\ufffdy\ufffdz\ufffd~\ufffd"} -{"name":"cons50l1","aliases":["cons50-iso8859"],"cols":80,"lines":50,"colors":8,"bell":"\u0007","clear":"\u001b[H\u001b[J","cnorm":"\u001b[=0C","sgr0":"\u001b[m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","dim":"\u001b[30;1m","setaf":"\u001b[3%p1%dm","setbg":"\u001b[4%p1%dm","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","kbs":"\u0008","kf1":"\u001b[M","kf2":"\u001b[N","kf3":"\u001b[O","kf4":"\u001b[P","kf5":"\u001b[Q","kf6":"\u001b[R","kf7":"\u001b[S","kf8":"\u001b[T","kf9":"\u001b[U","kf10":"\u001b[V","kf11":"\u001b[W","kf12":"\u001b[X","kf13":"\u001b[Y","kf14":"\u001b[Z","kf15":"\u001b[a","kf16":"\u001b[b","kf17":"\u001b[c","kf18":"\u001b[d","kf19":"\u001b[e","kf20":"\u001b[f","kf21":"\u001b[g","kf22":"\u001b[h","kf23":"\u001b[i","kf24":"\u001b[j","kf25":"\u001b[k","kf26":"\u001b[l","kf27":"\u001b[m","kf28":"\u001b[n","kf29":"\u001b[o","kf30":"\u001b[p","kf31":"\u001b[q","kf32":"\u001b[r","kf33":"\u001b[s","kf34":"\u001b[t","kf35":"\u001b[u","kf36":"\u001b[v","kf37":"\u001b[w","kf38":"\u001b[x","kf39":"\u001b[y","kf40":"\u001b[z","kf41":"\u001b[@","kf42":"\u001b[[","kf43":"\u001b[\\","kf44":"\u001b[]","kf45":"\u001b[^","kf46":"\u001b[_","kf47":"\u001b[`","kf48":"\u001b[{","kich":"\u001b[L","kdch":"","khome":"\u001b[H","kend":"\u001b[F","kpp":"\u001b[I","knp":"\u001b[G","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001b[Z","acsc":"+\ufffd,\ufffd-\u0018.\u0019`\ufffda\ufffdf\ufffdg\ufffdi\ufffdj\ufffdk\ufffdl\ufffdm\ufffdn\ufffdo\ufffdp\ufffdq\ufffdr\ufffds\ufffdt\ufffdu\ufffdv\ufffdw\ufffdx\ufffdy\ufffdz\ufffd~\ufffd","_setfgbg":"\u001b[3%p1%d;4%p2%dm"} -{"name":"cons50l1-m","aliases":["cons50-iso-m"],"cols":80,"lines":50,"bell":"\u0007","clear":"\u001b[H\u001b[J","cnorm":"\u001b[=0C","sgr0":"\u001b[m","smul":"\u001b[4m","blink":"\u001b[5m","rev":"\u001b[7m","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","kbs":"\u0008","kf1":"\u001b[M","kf2":"\u001b[N","kf3":"\u001b[O","kf4":"\u001b[P","kf5":"\u001b[Q","kf6":"\u001b[R","kf7":"\u001b[S","kf8":"\u001b[T","kf9":"\u001b[U","kf10":"\u001b[V","kf11":"\u001b[W","kf12":"\u001b[X","kf13":"\u001b[Y","kf14":"\u001b[Z","kf15":"\u001b[a","kf16":"\u001b[b","kf17":"\u001b[c","kf18":"\u001b[d","kf19":"\u001b[e","kf20":"\u001b[f","kf21":"\u001b[g","kf22":"\u001b[h","kf23":"\u001b[i","kf24":"\u001b[j","kf25":"\u001b[k","kf26":"\u001b[l","kf27":"\u001b[m","kf28":"\u001b[n","kf29":"\u001b[o","kf30":"\u001b[p","kf31":"\u001b[q","kf32":"\u001b[r","kf33":"\u001b[s","kf34":"\u001b[t","kf35":"\u001b[u","kf36":"\u001b[v","kf37":"\u001b[w","kf38":"\u001b[x","kf39":"\u001b[y","kf40":"\u001b[z","kf41":"\u001b[@","kf42":"\u001b[[","kf43":"\u001b[\\","kf44":"\u001b[]","kf45":"\u001b[^","kf46":"\u001b[_","kf47":"\u001b[`","kf48":"\u001b[{","kich":"\u001b[L","kdch":"","khome":"\u001b[H","kend":"\u001b[F","kpp":"\u001b[I","knp":"\u001b[G","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001b[Z","acsc":"+\ufffd,\ufffd-\u0018.\u0019`\ufffda\ufffdf\ufffdg\ufffdi\ufffdj\ufffdk\ufffdl\ufffdm\ufffdn\ufffdo\ufffdp\ufffdq\ufffdr\ufffds\ufffdt\ufffdu\ufffdv\ufffdw\ufffdx\ufffdy\ufffdz\ufffd~\ufffd"} -{"name":"cons50r","aliases":["cons50-koi8r"],"cols":80,"lines":50,"colors":8,"bell":"\u0007","clear":"\u001b[H\u001b[J","cnorm":"\u001b[=0C","sgr0":"\u001b[m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","dim":"\u001b[30;1m","setaf":"\u001b[3%p1%dm","setbg":"\u001b[4%p1%dm","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","kbs":"\u0008","kf1":"\u001b[M","kf2":"\u001b[N","kf3":"\u001b[O","kf4":"\u001b[P","kf5":"\u001b[Q","kf6":"\u001b[R","kf7":"\u001b[S","kf8":"\u001b[T","kf9":"\u001b[U","kf10":"\u001b[V","kf11":"\u001b[W","kf12":"\u001b[X","kf13":"\u001b[Y","kf14":"\u001b[Z","kf15":"\u001b[a","kf16":"\u001b[b","kf17":"\u001b[c","kf18":"\u001b[d","kf19":"\u001b[e","kf20":"\u001b[f","kf21":"\u001b[g","kf22":"\u001b[h","kf23":"\u001b[i","kf24":"\u001b[j","kf25":"\u001b[k","kf26":"\u001b[l","kf27":"\u001b[m","kf28":"\u001b[n","kf29":"\u001b[o","kf30":"\u001b[p","kf31":"\u001b[q","kf32":"\u001b[r","kf33":"\u001b[s","kf34":"\u001b[t","kf35":"\u001b[u","kf36":"\u001b[v","kf37":"\u001b[w","kf38":"\u001b[x","kf39":"\u001b[y","kf40":"\u001b[z","kf41":"\u001b[@","kf42":"\u001b[[","kf43":"\u001b[\\","kf44":"\u001b[]","kf45":"\u001b[^","kf46":"\u001b[_","kf47":"\u001b[`","kf48":"\u001b[{","kich":"\u001b[L","kdch":"","khome":"\u001b[H","kend":"\u001b[F","kpp":"\u001b[I","knp":"\u001b[G","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001b[Z","acsc":"-\u0018.\u00190\ufffd`\u0004a\ufffdf\ufffdh\ufffdi\u0015j\ufffdk\ufffdl\ufffdm\ufffdn\ufffdq\ufffdt\ufffdu\ufffdv\ufffdw\ufffdx\ufffdy\ufffdz\ufffd~\ufffd","_setfgbg":"\u001b[3%p1%d;4%p2%dm"} -{"name":"cons50r-m","aliases":["cons50-koi8r-m"],"cols":80,"lines":50,"bell":"\u0007","clear":"\u001b[H\u001b[J","cnorm":"\u001b[=0C","sgr0":"\u001b[m","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","dim":"\u001b[30;1m","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","kbs":"\u0008","kf1":"\u001b[M","kf2":"\u001b[N","kf3":"\u001b[O","kf4":"\u001b[P","kf5":"\u001b[Q","kf6":"\u001b[R","kf7":"\u001b[S","kf8":"\u001b[T","kf9":"\u001b[U","kf10":"\u001b[V","kf11":"\u001b[W","kf12":"\u001b[X","kf13":"\u001b[Y","kf14":"\u001b[Z","kf15":"\u001b[a","kf16":"\u001b[b","kf17":"\u001b[c","kf18":"\u001b[d","kf19":"\u001b[e","kf20":"\u001b[f","kf21":"\u001b[g","kf22":"\u001b[h","kf23":"\u001b[i","kf24":"\u001b[j","kf25":"\u001b[k","kf26":"\u001b[l","kf27":"\u001b[m","kf28":"\u001b[n","kf29":"\u001b[o","kf30":"\u001b[p","kf31":"\u001b[q","kf32":"\u001b[r","kf33":"\u001b[s","kf34":"\u001b[t","kf35":"\u001b[u","kf36":"\u001b[v","kf37":"\u001b[w","kf38":"\u001b[x","kf39":"\u001b[y","kf40":"\u001b[z","kf41":"\u001b[@","kf42":"\u001b[[","kf43":"\u001b[\\","kf44":"\u001b[]","kf45":"\u001b[^","kf46":"\u001b[_","kf47":"\u001b[`","kf48":"\u001b[{","kich":"\u001b[L","kdch":"","khome":"\u001b[H","kend":"\u001b[F","kpp":"\u001b[I","knp":"\u001b[G","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001b[Z","acsc":"-\u0018.\u00190\ufffd`\u0004a\ufffdf\ufffdh\ufffdi\u0015j\ufffdk\ufffdl\ufffdm\ufffdn\ufffdq\ufffdt\ufffdu\ufffdv\ufffdw\ufffdx\ufffdy\ufffdz\ufffd~\ufffd"} -{"name":"cons60","aliases":["ansi80x60"],"cols":80,"lines":60,"colors":8,"bell":"\u0007","clear":"\u001b[H\u001b[J","cnorm":"\u001b[=0C","sgr0":"\u001b[m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","dim":"\u001b[30;1m","setaf":"\u001b[3%p1%dm","setbg":"\u001b[4%p1%dm","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","kbs":"\u0008","kf1":"\u001b[M","kf2":"\u001b[N","kf3":"\u001b[O","kf4":"\u001b[P","kf5":"\u001b[Q","kf6":"\u001b[R","kf7":"\u001b[S","kf8":"\u001b[T","kf9":"\u001b[U","kf10":"\u001b[V","kf11":"\u001b[W","kf12":"\u001b[X","kf13":"\u001b[Y","kf14":"\u001b[Z","kf15":"\u001b[a","kf16":"\u001b[b","kf17":"\u001b[c","kf18":"\u001b[d","kf19":"\u001b[e","kf20":"\u001b[f","kf21":"\u001b[g","kf22":"\u001b[h","kf23":"\u001b[i","kf24":"\u001b[j","kf25":"\u001b[k","kf26":"\u001b[l","kf27":"\u001b[m","kf28":"\u001b[n","kf29":"\u001b[o","kf30":"\u001b[p","kf31":"\u001b[q","kf32":"\u001b[r","kf33":"\u001b[s","kf34":"\u001b[t","kf35":"\u001b[u","kf36":"\u001b[v","kf37":"\u001b[w","kf38":"\u001b[x","kf39":"\u001b[y","kf40":"\u001b[z","kf41":"\u001b[@","kf42":"\u001b[[","kf43":"\u001b[\\","kf44":"\u001b[]","kf45":"\u001b[^","kf46":"\u001b[_","kf47":"\u001b[`","kf48":"\u001b[{","kich":"\u001b[L","kdch":"","khome":"\u001b[H","kend":"\u001b[F","kpp":"\u001b[I","knp":"\u001b[G","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001b[Z","acsc":"-\u0018.\u00190\ufffd`\u0004a\ufffdf\ufffdg\ufffdh\ufffdi\u0015j\ufffdk\ufffdl\ufffdm\ufffdn\ufffdq\ufffdt\ufffdu\ufffdv\ufffdw\ufffdx\ufffdy\ufffdz\ufffd~\ufffd","_setfgbg":"\u001b[3%p1%d;4%p2%dm"} -{"name":"cons60-m","aliases":["ansi80x60-mono"],"cols":80,"lines":60,"bell":"\u0007","clear":"\u001b[H\u001b[J","cnorm":"\u001b[=0C","sgr0":"\u001b[m","smul":"\u001b[4m","blink":"\u001b[5m","rev":"\u001b[7m","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","kbs":"\u0008","kf1":"\u001b[M","kf2":"\u001b[N","kf3":"\u001b[O","kf4":"\u001b[P","kf5":"\u001b[Q","kf6":"\u001b[R","kf7":"\u001b[S","kf8":"\u001b[T","kf9":"\u001b[U","kf10":"\u001b[V","kf11":"\u001b[W","kf12":"\u001b[X","kf13":"\u001b[Y","kf14":"\u001b[Z","kf15":"\u001b[a","kf16":"\u001b[b","kf17":"\u001b[c","kf18":"\u001b[d","kf19":"\u001b[e","kf20":"\u001b[f","kf21":"\u001b[g","kf22":"\u001b[h","kf23":"\u001b[i","kf24":"\u001b[j","kf25":"\u001b[k","kf26":"\u001b[l","kf27":"\u001b[m","kf28":"\u001b[n","kf29":"\u001b[o","kf30":"\u001b[p","kf31":"\u001b[q","kf32":"\u001b[r","kf33":"\u001b[s","kf34":"\u001b[t","kf35":"\u001b[u","kf36":"\u001b[v","kf37":"\u001b[w","kf38":"\u001b[x","kf39":"\u001b[y","kf40":"\u001b[z","kf41":"\u001b[@","kf42":"\u001b[[","kf43":"\u001b[\\","kf44":"\u001b[]","kf45":"\u001b[^","kf46":"\u001b[_","kf47":"\u001b[`","kf48":"\u001b[{","kich":"\u001b[L","kdch":"","khome":"\u001b[H","kend":"\u001b[F","kpp":"\u001b[I","knp":"\u001b[G","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001b[Z","acsc":"-\u0018.\u00190\ufffd`\u0004a\ufffdf\ufffdg\ufffdh\ufffdi\u0015j\ufffdk\ufffdl\ufffdm\ufffdn\ufffdq\ufffdt\ufffdu\ufffdv\ufffdw\ufffdx\ufffdy\ufffdz\ufffd~\ufffd"} -{"name":"cons60l1","aliases":["cons60-iso"],"cols":80,"lines":60,"colors":8,"bell":"\u0007","clear":"\u001b[H\u001b[J","cnorm":"\u001b[=0C","sgr0":"\u001b[m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","dim":"\u001b[30;1m","setaf":"\u001b[3%p1%dm","setbg":"\u001b[4%p1%dm","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","kbs":"\u0008","kf1":"\u001b[M","kf2":"\u001b[N","kf3":"\u001b[O","kf4":"\u001b[P","kf5":"\u001b[Q","kf6":"\u001b[R","kf7":"\u001b[S","kf8":"\u001b[T","kf9":"\u001b[U","kf10":"\u001b[V","kf11":"\u001b[W","kf12":"\u001b[X","kf13":"\u001b[Y","kf14":"\u001b[Z","kf15":"\u001b[a","kf16":"\u001b[b","kf17":"\u001b[c","kf18":"\u001b[d","kf19":"\u001b[e","kf20":"\u001b[f","kf21":"\u001b[g","kf22":"\u001b[h","kf23":"\u001b[i","kf24":"\u001b[j","kf25":"\u001b[k","kf26":"\u001b[l","kf27":"\u001b[m","kf28":"\u001b[n","kf29":"\u001b[o","kf30":"\u001b[p","kf31":"\u001b[q","kf32":"\u001b[r","kf33":"\u001b[s","kf34":"\u001b[t","kf35":"\u001b[u","kf36":"\u001b[v","kf37":"\u001b[w","kf38":"\u001b[x","kf39":"\u001b[y","kf40":"\u001b[z","kf41":"\u001b[@","kf42":"\u001b[[","kf43":"\u001b[\\","kf44":"\u001b[]","kf45":"\u001b[^","kf46":"\u001b[_","kf47":"\u001b[`","kf48":"\u001b[{","kich":"\u001b[L","kdch":"","khome":"\u001b[H","kend":"\u001b[F","kpp":"\u001b[I","knp":"\u001b[G","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001b[Z","acsc":"+\ufffd,\ufffd-\u0018.\u0019`\ufffda\ufffdf\ufffdg\ufffdi\ufffdj\ufffdk\ufffdl\ufffdm\ufffdn\ufffdo\ufffdp\ufffdq\ufffdr\ufffds\ufffdt\ufffdu\ufffdv\ufffdw\ufffdx\ufffdy\ufffdz\ufffd~\ufffd","_setfgbg":"\u001b[3%p1%d;4%p2%dm"} -{"name":"cons60l1-m","aliases":["cons60-iso-m"],"cols":80,"lines":60,"bell":"\u0007","clear":"\u001b[H\u001b[J","cnorm":"\u001b[=0C","sgr0":"\u001b[m","smul":"\u001b[4m","blink":"\u001b[5m","rev":"\u001b[7m","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","kbs":"\u0008","kf1":"\u001b[M","kf2":"\u001b[N","kf3":"\u001b[O","kf4":"\u001b[P","kf5":"\u001b[Q","kf6":"\u001b[R","kf7":"\u001b[S","kf8":"\u001b[T","kf9":"\u001b[U","kf10":"\u001b[V","kf11":"\u001b[W","kf12":"\u001b[X","kf13":"\u001b[Y","kf14":"\u001b[Z","kf15":"\u001b[a","kf16":"\u001b[b","kf17":"\u001b[c","kf18":"\u001b[d","kf19":"\u001b[e","kf20":"\u001b[f","kf21":"\u001b[g","kf22":"\u001b[h","kf23":"\u001b[i","kf24":"\u001b[j","kf25":"\u001b[k","kf26":"\u001b[l","kf27":"\u001b[m","kf28":"\u001b[n","kf29":"\u001b[o","kf30":"\u001b[p","kf31":"\u001b[q","kf32":"\u001b[r","kf33":"\u001b[s","kf34":"\u001b[t","kf35":"\u001b[u","kf36":"\u001b[v","kf37":"\u001b[w","kf38":"\u001b[x","kf39":"\u001b[y","kf40":"\u001b[z","kf41":"\u001b[@","kf42":"\u001b[[","kf43":"\u001b[\\","kf44":"\u001b[]","kf45":"\u001b[^","kf46":"\u001b[_","kf47":"\u001b[`","kf48":"\u001b[{","kich":"\u001b[L","kdch":"","khome":"\u001b[H","kend":"\u001b[F","kpp":"\u001b[I","knp":"\u001b[G","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001b[Z","acsc":"+\ufffd,\ufffd-\u0018.\u0019`\ufffda\ufffdf\ufffdg\ufffdi\ufffdj\ufffdk\ufffdl\ufffdm\ufffdn\ufffdo\ufffdp\ufffdq\ufffdr\ufffds\ufffdt\ufffdu\ufffdv\ufffdw\ufffdx\ufffdy\ufffdz\ufffd~\ufffd"} -{"name":"cons60r","aliases":["cons60-koi8r"],"cols":80,"lines":60,"colors":8,"bell":"\u0007","clear":"\u001b[H\u001b[J","cnorm":"\u001b[=0C","sgr0":"\u001b[m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","dim":"\u001b[30;1m","setaf":"\u001b[3%p1%dm","setbg":"\u001b[4%p1%dm","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","kbs":"\u0008","kf1":"\u001b[M","kf2":"\u001b[N","kf3":"\u001b[O","kf4":"\u001b[P","kf5":"\u001b[Q","kf6":"\u001b[R","kf7":"\u001b[S","kf8":"\u001b[T","kf9":"\u001b[U","kf10":"\u001b[V","kf11":"\u001b[W","kf12":"\u001b[X","kf13":"\u001b[Y","kf14":"\u001b[Z","kf15":"\u001b[a","kf16":"\u001b[b","kf17":"\u001b[c","kf18":"\u001b[d","kf19":"\u001b[e","kf20":"\u001b[f","kf21":"\u001b[g","kf22":"\u001b[h","kf23":"\u001b[i","kf24":"\u001b[j","kf25":"\u001b[k","kf26":"\u001b[l","kf27":"\u001b[m","kf28":"\u001b[n","kf29":"\u001b[o","kf30":"\u001b[p","kf31":"\u001b[q","kf32":"\u001b[r","kf33":"\u001b[s","kf34":"\u001b[t","kf35":"\u001b[u","kf36":"\u001b[v","kf37":"\u001b[w","kf38":"\u001b[x","kf39":"\u001b[y","kf40":"\u001b[z","kf41":"\u001b[@","kf42":"\u001b[[","kf43":"\u001b[\\","kf44":"\u001b[]","kf45":"\u001b[^","kf46":"\u001b[_","kf47":"\u001b[`","kf48":"\u001b[{","kich":"\u001b[L","kdch":"","khome":"\u001b[H","kend":"\u001b[F","kpp":"\u001b[I","knp":"\u001b[G","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001b[Z","acsc":"-\u0018.\u00190\ufffd`\u0004a\ufffdf\ufffdh\ufffdi\u0015j\ufffdk\ufffdl\ufffdm\ufffdn\ufffdq\ufffdt\ufffdu\ufffdv\ufffdw\ufffdx\ufffdy\ufffdz\ufffd~\ufffd","_setfgbg":"\u001b[3%p1%d;4%p2%dm"} -{"name":"cons60r-m","aliases":["cons60-koi8r-m"],"cols":80,"lines":60,"bell":"\u0007","clear":"\u001b[H\u001b[J","cnorm":"\u001b[=0C","sgr0":"\u001b[m","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","dim":"\u001b[30;1m","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","kbs":"\u0008","kf1":"\u001b[M","kf2":"\u001b[N","kf3":"\u001b[O","kf4":"\u001b[P","kf5":"\u001b[Q","kf6":"\u001b[R","kf7":"\u001b[S","kf8":"\u001b[T","kf9":"\u001b[U","kf10":"\u001b[V","kf11":"\u001b[W","kf12":"\u001b[X","kf13":"\u001b[Y","kf14":"\u001b[Z","kf15":"\u001b[a","kf16":"\u001b[b","kf17":"\u001b[c","kf18":"\u001b[d","kf19":"\u001b[e","kf20":"\u001b[f","kf21":"\u001b[g","kf22":"\u001b[h","kf23":"\u001b[i","kf24":"\u001b[j","kf25":"\u001b[k","kf26":"\u001b[l","kf27":"\u001b[m","kf28":"\u001b[n","kf29":"\u001b[o","kf30":"\u001b[p","kf31":"\u001b[q","kf32":"\u001b[r","kf33":"\u001b[s","kf34":"\u001b[t","kf35":"\u001b[u","kf36":"\u001b[v","kf37":"\u001b[w","kf38":"\u001b[x","kf39":"\u001b[y","kf40":"\u001b[z","kf41":"\u001b[@","kf42":"\u001b[[","kf43":"\u001b[\\","kf44":"\u001b[]","kf45":"\u001b[^","kf46":"\u001b[_","kf47":"\u001b[`","kf48":"\u001b[{","kich":"\u001b[L","kdch":"","khome":"\u001b[H","kend":"\u001b[F","kpp":"\u001b[I","knp":"\u001b[G","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001b[Z","acsc":"-\u0018.\u00190\ufffd`\u0004a\ufffdf\ufffdh\ufffdi\u0015j\ufffdk\ufffdl\ufffdm\ufffdn\ufffdq\ufffdt\ufffdu\ufffdv\ufffdw\ufffdx\ufffdy\ufffdz\ufffd~\ufffd"} -{"name":"contel300","aliases":["c300","contel320"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u001bK","sgr0":"\u001b!\ufffd","cup":"\u001bX%p1%' '%+%c\u001bY%p2%' '%+%c","cub1":"\u0008","cuu1":"\u001bA","pad":"\u0000","kbs":"\u0008","kf1":"\u001bRA","kf2":"\u001bRB","kf3":"\u001bRC","kf4":"\u001bRD","kf5":"\u001bRE","kf6":"\u001bRF","kf7":"\u001bRG","kf8":"\u001bRH","kf9":"\u001bRI"} -{"name":"contel301","aliases":["c301","c321","contel321"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u001bK","sgr0":"\u001b!\ufffd","cup":"\u001bX%p1%' '%+%c\u001bY%p2%' '%+%c","cub1":"\u0008","cuu1":"\u001bA","pad":"\u0000","kbs":"\u0008","kf1":"\u001bRA","kf2":"\u001bRB","kf3":"\u001bRC","kf4":"\u001bRD","kf5":"\u001bRE","kf6":"\u001bRF","kf7":"\u001bRG","kf8":"\u001bRH","kf9":"\u001bRI"} -{"name":"cops10","aliases":["cops","cops-10"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u0018$\u003c30/\u003e","cup":"\u0010%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u000b","pad":"\u0000","kbs":"\u0008","khome":"\u0019","kcuu1":"\u000b","kcud1":"\n","kcub1":"\u0008","kcuf1":"\u000c"} -{"name":"crt","aliases":["crt-vt220"],"cols":80,"lines":24,"colors":8,"bell":"\u0007","clear":"\u001b[H\u001b[J","sgr0":"\u001b[m\u001b(B","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","setaf":"\u001b[3%p1%dm","setbg":"\u001b[4%p1%dm","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kf6":"\u001b[17~","kf7":"\u001b[18~","kf8":"\u001b[19~","kf9":"\u001b[20~","kf10":"\u001b[21~","kf11":"\u001b[23~","kf12":"\u001b[24~","kf13":"\u001b[25~","kf14":"\u001b[26~","kf17":"\u001b[31~","kf18":"\u001b[32~","kf19":"\u001b[33~","kf20":"\u001b[34~","kich":"\u001b[2~","khlp":"\u001b[28~","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","acsc":"``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u001b(0$\u003c2\u003e","rmacs":"\u001b(B$\u003c4\u003e","enacs":"\u001b)0","_setfgbg":"\u001b[3%p1%d;4%p2%dm"} -{"name":"cs10","aliases":["colorscan"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u001b[H\u001b[J","sgr0":"\u001b[m","smul":"\u001b[4m","cup":"\u001b[%i%p1%02d;%p2%02dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C"} -{"name":"cs10-w","cols":132,"lines":24,"bell":"\u0007","clear":"\u001b[H\u001b[J","sgr0":"\u001b[m","smul":"\u001b[4m","cup":"\u001b[%i%p1%02d;%p2%03dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C"} -{"name":"ct8500","cols":80,"lines":25,"bell":"\u0007","clear":"\u001b\u0005","sgr0":"\u001b ","smul":"\u001b!","cup":"\u001b|%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u001bR","pad":"\u0000"} -{"name":"ctrm","cols":80,"lines":24,"bell":"\u0007","clear":"\u001bH\u001bJ","sgr0":"\u001b\u0026d@%{0}%PA%{0}%PB%{0}%PH","smul":"\u001b\u0026dD","bold":"%?%gH%{0}%=%t\u001b\u0026dH%{1}%PH%;","blink":"\u001b\u0026dA%{1}%PA","rev":"%?%gB%{0}%=%t\u001b\u0026dB%{1}%PB%;","smkx":"\u001b\u0026jB","rmkx":"\u001b\u0026jA","cup":"\u001b\u0026a%p2%dc%p1%dY","cub1":"\u0008","cuu1":"\u001bA","pad":"\u0000","kbs":"\u0008","kf1":"\u001bp\r","kf2":"\u001bq\r","kf3":"\u001br\r","kf4":"\u001bs\r","kf5":"\u001bt\r","kf6":"\u001bu\r","kf7":"\u001bv\r","kf8":"\u001bw\r","khome":"\u001bp\r","kcuu1":"\u001bt\r","kcud1":"\u001bw\r","kcub1":"\u001bu\r","kcuf1":"\u001bv\r"} -{"name":"cyb110","aliases":["mdl110"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u0018$\u003c70\u003e","cup":"\u0010%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u001a","pad":"\u0000"} -{"name":"cyb83","aliases":["xl83"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u000c$\u003c62\u003e","cup":"\u0017%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u000e","pad":"\u0000","kcuu1":"\u000e","kcud1":"\n","kcub1":"\u0008","kcuf1":"\t"} -{"name":"cygwin","cols":-1,"lines":-1,"colors":8,"bell":"\u0007","clear":"\u001b[H\u001b[J","smcup":"\u001b7\u001b[?47h","rmcup":"\u001b[2J\u001b[?47l\u001b8","sgr0":"\u001b[0;10m","smul":"\u001b[4m","bold":"\u001b[1m","rev":"\u001b[7m","setaf":"\u001b[3%p1%dm","setbg":"\u001b[4%p1%dm","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001b[[A","kf2":"\u001b[[B","kf3":"\u001b[[C","kf4":"\u001b[[D","kf5":"\u001b[[E","kf6":"\u001b[17~","kf7":"\u001b[18~","kf8":"\u001b[19~","kf9":"\u001b[20~","kf10":"\u001b[21~","kf11":"\u001b[23~","kf12":"\u001b[24~","kf13":"\u001b[25~","kf14":"\u001b[26~","kf15":"\u001b[28~","kf16":"\u001b[29~","kf17":"\u001b[31~","kf18":"\u001b[32~","kf19":"\u001b[33~","kf20":"\u001b[34~","kich":"\u001b[2~","kdch":"\u001b[3~","khome":"\u001b[1~","kend":"\u001b[4~","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","acsc":"+\u0010,\u0011-\u0018.\u00190\ufffd`\u0004a\ufffdf\ufffdg\ufffdh\ufffdj\ufffdk\ufffdl\ufffdm\ufffdn\ufffdo~p\ufffdq\ufffdr\ufffds_t\ufffdu\ufffdv\ufffdw\ufffdx\ufffdy\ufffdz\ufffd{\ufffd|\ufffd}\ufffd~\ufffd","smacs":"\u001b[11m","rmacs":"\u001b[10m","_setfgbg":"\u001b[3%p1%d;4%p2%dm"} -{"name":"cygwinB19","cols":80,"lines":25,"colors":8,"clear":"\u001b[2J","sgr0":"\u001b[0;10m","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","setaf":"\u001b[3%p1%dm","setbg":"\u001b[4%p1%dm","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kf1":"\u001b[[A","kf2":"\u001b[[B","kf3":"\u001b[[C","kf4":"\u001b[[D","kf5":"\u001b[[E","kf6":"\u001b[17~","kf7":"\u001b[18~","kf8":"\u001b[19~","kf9":"\u001b[20~","kf10":"\u001b[21~","kf11":"\u001b[23~","kf12":"\u001b[24~","kf13":"\u001b[25~","kf14":"\u001b[26~","kf15":"\u001b[28~","kf16":"\u001b[29~","kf17":"\u001b[31~","kf18":"\u001b[32~","kf19":"\u001b[33~","kf20":"\u001b[34~","kich":"\u001b[2~","kdch":"\u001b[3~","khome":"\u001b[1~","kend":"\u001b[4~","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","acsc":"+\u0010,\u0011-\u0018.\u00190\ufffd`\u0004a\ufffdf\ufffdg\ufffdh\ufffdj\ufffdk\ufffdl\ufffdm\ufffdn\ufffdo~p\ufffdq\ufffdr\ufffds_t\ufffdu\ufffdv\ufffdw\ufffdx\ufffdy\ufffdz\ufffd{\ufffd|\ufffd}\ufffd~\ufffd","smacs":"\u001b[11m","rmacs":"\u001b[10m","_setfgbg":"\u001b[3%p1%d;4%p2%dm"} -{"name":"cygwinDBG","cols":80,"lines":24,"colors":8,"bell":"\u0007","clear":"\u001b[H\u001b[J","cnorm":"\u001b[?25h","sgr0":"\u001b[0;10m","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","dim":"\u001b[2m","setaf":"\u001b[3%p1%dm","setbg":"\u001b[4%p1%dm","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u001b[D","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001b[[A","kf2":"\u001b[[B","kf3":"\u001b[[C","kf4":"\u001b[[D","kf5":"\u001b[[E","kf6":"\u001b[17~","kf7":"\u001b[18~","kf8":"\u001b[19~","kf9":"\u001b[20~","kf10":"\u001b[21~","kf11":"\u001b[23~","kf12":"\u001b[24~","kf13":"\u001b[25~","kf14":"\u001b[26~","kf15":"\u001b[28~","kf16":"\u001b[29~","kf17":"\u001b[31~","kf18":"\u001b[32~","kf19":"\u001b[33~","kf20":"\u001b[34~","kich":"\u001b[2~","kdch":"\u001b[3~","khome":"\u001b[1~","kend":"\u001b[4~","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001b[Z","acsc":"+\u0010,\u0011-\u0018.\u00190\ufffd`\u0004a\ufffdf\ufffdg\ufffdh\ufffdj\ufffdk\ufffdl\ufffdm\ufffdn\ufffdo~p\ufffdq\ufffdr\ufffds_t\ufffdu\ufffdv\ufffdw\ufffdx\ufffdy\ufffdz\ufffd{\ufffd|\ufffd}\ufffd~\ufffd","smacs":"\u001b[11m","rmacs":"\u001b[10m","_setfgbg":"\u001b[3%p1%d;4%p2%dm"} -{"name":"d132","aliases":["datagraphix"],"cols":80,"lines":30,"bell":"\u0007","clear":"\u000c","cnorm":"\u001bm\u001bn","cup":"\u001b8%i%p1%3d%p2%3d","cub1":"\u0008","cuu1":"\u001bK","pad":"\u0000","kbs":"\u0008","kcud1":"\n","kcub1":"\u0008"} -{"name":"d200","aliases":["d200-dg"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u000c","sgr0":"\u000f\u0015\u001d\u001eE","smul":"\u0014","bold":"\u001eD\u0014","blink":"\u000e","rev":"\u001eD","dim":"\u001c","cup":"\u0010%p2%c%p1%c","cub1":"\u0019","cuu1":"\u0017","pad":"\u0000","kf1":"\u001eq","kf2":"\u001er","kf3":"\u001es","kf4":"\u001et","kf5":"\u001eu","kf6":"\u001ev","kf7":"\u001ew","kf8":"\u001ex","kf9":"\u001ey","kf10":"\u001ez","kf11":"\u001e{","kf12":"\u001e|","kf13":"\u001e}","kf14":"\u001e~","kf15":"\u001ep","kf16":"\u001ea","kf17":"\u001eb","kf18":"\u001ec","kf19":"\u001ed","kf20":"\u001ee","kf21":"\u001ef","kf22":"\u001eg","kf23":"\u001eh","kf24":"\u001ei","kf25":"\u001ej","kf26":"\u001ek","kf27":"\u001el","kf28":"\u001em","kf29":"\u001en","kf30":"\u001e`","kf31":"\u001e1","kf32":"\u001e2","kf33":"\u001e3","kf34":"\u001e4","kf35":"\u001e5","kf36":"\u001e6","kf37":"\u001e7","kf38":"\u001e8","kf39":"\u001e9","kf40":"\u001e:","kf41":"\u001e;","kf42":"\u001e\u003c","kf43":"\u001e=","kf44":"\u001e\u003e","kf45":"\u001e0","kf46":"\u001e!","kf47":"\u001e\"","kf48":"\u001e#","kf49":"\u001e$","kf50":"\u001e%%","kf51":"\u001e\u0026","kf52":"\u001e'","kf53":"\u001e(","kf54":"\u001e)","kf55":"\u001e*","kf56":"\u001e+","kf57":"\u001e,","kf58":"\u001e-","kf59":"\u001e.","kf60":"\u001e ","khome":"\u0008","kcuu1":"\u0017","kcud1":"\u001a","kcub1":"\u0019","kcuf1":"\u0018","kclr":"\u000c","kRIT":"\u001e\u0018","kLFT":"\u001e\u0019","kHOM":"\u001e\u0008"} -{"name":"d210","aliases":["d214"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u001b[2J","sgr0":"\u001b[m","smul":"\u001b[4m","bold":"\u001b[4;7m","blink":"\u001b[5m","rev":"\u001b[7m","dim":"\u001b[2m","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kf1":"\u001b[001z","kf2":"\u001b[002z","kf3":"\u001b[003z","kf4":"\u001b[004z","kf5":"\u001b[005z","kf6":"\u001b[006z","kf7":"\u001b[007z","kf8":"\u001b[008z","kf9":"\u001b[009z","kf10":"\u001b[010z","kf11":"\u001b[011z","kf12":"\u001b[012z","kf13":"\u001b[013z","kf14":"\u001b[014z","kf15":"\u001b[000z","kf16":"\u001b[101z","kf17":"\u001b[102z","kf18":"\u001b[103z","kf19":"\u001b[104z","kf20":"\u001b[105z","kf21":"\u001b[106z","kf22":"\u001b[107z","kf23":"\u001b[108z","kf24":"\u001b[109z","kf25":"\u001b[110z","kf26":"\u001b[111z","kf27":"\u001b[112z","kf28":"\u001b[113z","kf29":"\u001b[114z","kf30":"\u001b[100z","kf31":"\u001b[201z","kf32":"\u001b[202z","kf33":"\u001b[203z","kf34":"\u001b[204z","kf35":"\u001b[205z","kf36":"\u001b[206z","kf37":"\u001b[207z","kf38":"\u001b[208z","kf39":"\u001b[209z","kf40":"\u001b[210z","kf41":"\u001b[211z","kf42":"\u001b[212z","kf43":"\u001b[213z","kf44":"\u001b[214z","kf45":"\u001b[200z","kf46":"\u001b[301z","kf47":"\u001b[302z","kf48":"\u001b[303z","kf49":"\u001b[304z","kf50":"\u001b[305z","kf51":"\u001b[306z","kf52":"\u001b[307z","kf53":"\u001b[308z","kf54":"\u001b[309z","kf55":"\u001b[310z","kf56":"\u001b[311z","kf57":"\u001b[312z","kf58":"\u001b[313z","kf59":"\u001b[314z","kf60":"\u001b[300z","khome":"\u001b[H","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kclr":"\u001b[2J","kprt":"\u001b[i"} -{"name":"d210-dg","aliases":["d214-dg"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u000c","sgr0":"\u000f\u0015\u001d\u001eE","smul":"\u0014","bold":"\u001eD\u0014","blink":"\u000e","rev":"\u001eD","dim":"\u001c","cup":"\u0010%p2%c%p1%c","cub1":"\u0019","cuu1":"\u0017","pad":"\u0000","kf1":"\u001eq","kf2":"\u001er","kf3":"\u001es","kf4":"\u001et","kf5":"\u001eu","kf6":"\u001ev","kf7":"\u001ew","kf8":"\u001ex","kf9":"\u001ey","kf10":"\u001ez","kf11":"\u001e{","kf12":"\u001e|","kf13":"\u001e}","kf14":"\u001e~","kf15":"\u001ep","kf16":"\u001ea","kf17":"\u001eb","kf18":"\u001ec","kf19":"\u001ed","kf20":"\u001ee","kf21":"\u001ef","kf22":"\u001eg","kf23":"\u001eh","kf24":"\u001ei","kf25":"\u001ej","kf26":"\u001ek","kf27":"\u001el","kf28":"\u001em","kf29":"\u001en","kf30":"\u001e`","kf31":"\u001e1","kf32":"\u001e2","kf33":"\u001e3","kf34":"\u001e4","kf35":"\u001e5","kf36":"\u001e6","kf37":"\u001e7","kf38":"\u001e8","kf39":"\u001e9","kf40":"\u001e:","kf41":"\u001e;","kf42":"\u001e\u003c","kf43":"\u001e=","kf44":"\u001e\u003e","kf45":"\u001e0","kf46":"\u001e!","kf47":"\u001e\"","kf48":"\u001e#","kf49":"\u001e$","kf50":"\u001e%%","kf51":"\u001e\u0026","kf52":"\u001e'","kf53":"\u001e(","kf54":"\u001e)","kf55":"\u001e*","kf56":"\u001e+","kf57":"\u001e,","kf58":"\u001e-","kf59":"\u001e.","kf60":"\u001e ","khome":"\u0008","kcuu1":"\u0017","kcud1":"\u001a","kcub1":"\u0019","kcuf1":"\u0018","kclr":"\u000c","kRIT":"\u001e\u0018","kLFT":"\u001e\u0019","kHOM":"\u001e\u0008"} -{"name":"d211","aliases":["d215"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u001b[2J","sgr0":"\u001b[m","smul":"\u001b[4m","bold":"\u001b[4;7m","blink":"\u001b[5m","rev":"\u001b[7m","dim":"\u001b[2m","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kf1":"\ufffd001z","kf2":"\ufffd002z","kf3":"\ufffd003z","kf4":"\ufffd004z","kf5":"\ufffd005z","kf6":"\ufffd006z","kf7":"\ufffd007z","kf8":"\ufffd008z","kf9":"\ufffd009z","kf10":"\ufffd010z","kf11":"\ufffd011z","kf12":"\ufffd012z","kf13":"\ufffd013z","kf14":"\ufffd014z","kf15":"\ufffd000z","kf16":"\ufffd101z","kf17":"\ufffd102z","kf18":"\ufffd103z","kf19":"\ufffd104z","kf20":"\ufffd105z","kf21":"\ufffd106z","kf22":"\ufffd107z","kf23":"\ufffd108z","kf24":"\ufffd109z","kf25":"\ufffd110z","kf26":"\ufffd111z","kf27":"\ufffd112z","kf28":"\ufffd113z","kf29":"\ufffd114z","kf30":"\ufffd100z","kf31":"\ufffd201z","kf32":"\ufffd202z","kf33":"\ufffd203z","kf34":"\ufffd204z","kf35":"\ufffd205z","kf36":"\ufffd206z","kf37":"\ufffd207z","kf38":"\ufffd208z","kf39":"\ufffd209z","kf40":"\ufffd210z","kf41":"\ufffd211z","kf42":"\ufffd212z","kf43":"\ufffd213z","kf44":"\ufffd214z","kf45":"\ufffd200z","kf46":"\ufffd301z","kf47":"\ufffd302z","kf48":"\ufffd303z","kf49":"\ufffd304z","kf50":"\ufffd305z","kf51":"\ufffd306z","kf52":"\ufffd307z","kf53":"\ufffd308z","kf54":"\ufffd309z","kf55":"\ufffd310z","kf56":"\ufffd311z","kf57":"\ufffd312z","kf58":"\ufffd313z","kf59":"\ufffd314z","kf60":"\ufffd300z","khome":"\ufffdH","kcuu1":"\ufffdA","kcud1":"\ufffdB","kcub1":"\ufffdD","kcuf1":"\ufffdC","kclr":"\ufffd2J","kprt":"\ufffdi"} -{"name":"d211-7b","aliases":["d215-7b"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u001b[2J","sgr0":"\u001b[m","smul":"\u001b[4m","bold":"\u001b[4;7m","blink":"\u001b[5m","rev":"\u001b[7m","dim":"\u001b[2m","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kf1":"\u001b[001z","kf2":"\u001b[002z","kf3":"\u001b[003z","kf4":"\u001b[004z","kf5":"\u001b[005z","kf6":"\u001b[006z","kf7":"\u001b[007z","kf8":"\u001b[008z","kf9":"\u001b[009z","kf10":"\u001b[010z","kf11":"\u001b[011z","kf12":"\u001b[012z","kf13":"\u001b[013z","kf14":"\u001b[014z","kf15":"\u001b[000z","kf16":"\u001b[101z","kf17":"\u001b[102z","kf18":"\u001b[103z","kf19":"\u001b[104z","kf20":"\u001b[105z","kf21":"\u001b[106z","kf22":"\u001b[107z","kf23":"\u001b[108z","kf24":"\u001b[109z","kf25":"\u001b[110z","kf26":"\u001b[111z","kf27":"\u001b[112z","kf28":"\u001b[113z","kf29":"\u001b[114z","kf30":"\u001b[100z","kf31":"\u001b[201z","kf32":"\u001b[202z","kf33":"\u001b[203z","kf34":"\u001b[204z","kf35":"\u001b[205z","kf36":"\u001b[206z","kf37":"\u001b[207z","kf38":"\u001b[208z","kf39":"\u001b[209z","kf40":"\u001b[210z","kf41":"\u001b[211z","kf42":"\u001b[212z","kf43":"\u001b[213z","kf44":"\u001b[214z","kf45":"\u001b[200z","kf46":"\u001b[301z","kf47":"\u001b[302z","kf48":"\u001b[303z","kf49":"\u001b[304z","kf50":"\u001b[305z","kf51":"\u001b[306z","kf52":"\u001b[307z","kf53":"\u001b[308z","kf54":"\u001b[309z","kf55":"\u001b[310z","kf56":"\u001b[311z","kf57":"\u001b[312z","kf58":"\u001b[313z","kf59":"\u001b[314z","kf60":"\u001b[300z","khome":"\u001b[H","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kclr":"\u001b[2J","kprt":"\u001b[i"} -{"name":"d211-dg","aliases":["d215-dg"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u000c","sgr0":"\u000f\u0015\u001d\u001eE","smul":"\u0014","bold":"\u001eD\u0014","blink":"\u000e","rev":"\u001eD","dim":"\u001c","cup":"\u0010%p2%c%p1%c","cub1":"\u0019","cuu1":"\u0017","pad":"\u0000","kf1":"\u001eq","kf2":"\u001er","kf3":"\u001es","kf4":"\u001et","kf5":"\u001eu","kf6":"\u001ev","kf7":"\u001ew","kf8":"\u001ex","kf9":"\u001ey","kf10":"\u001ez","kf11":"\u001e{","kf12":"\u001e|","kf13":"\u001e}","kf14":"\u001e~","kf15":"\u001ep","kf16":"\u001ea","kf17":"\u001eb","kf18":"\u001ec","kf19":"\u001ed","kf20":"\u001ee","kf21":"\u001ef","kf22":"\u001eg","kf23":"\u001eh","kf24":"\u001ei","kf25":"\u001ej","kf26":"\u001ek","kf27":"\u001el","kf28":"\u001em","kf29":"\u001en","kf30":"\u001e`","kf31":"\u001e1","kf32":"\u001e2","kf33":"\u001e3","kf34":"\u001e4","kf35":"\u001e5","kf36":"\u001e6","kf37":"\u001e7","kf38":"\u001e8","kf39":"\u001e9","kf40":"\u001e:","kf41":"\u001e;","kf42":"\u001e\u003c","kf43":"\u001e=","kf44":"\u001e\u003e","kf45":"\u001e0","kf46":"\u001e!","kf47":"\u001e\"","kf48":"\u001e#","kf49":"\u001e$","kf50":"\u001e%%","kf51":"\u001e\u0026","kf52":"\u001e'","kf53":"\u001e(","kf54":"\u001e)","kf55":"\u001e*","kf56":"\u001e+","kf57":"\u001e,","kf58":"\u001e-","kf59":"\u001e.","kf60":"\u001e ","khome":"\u0008","kcuu1":"\u0017","kcud1":"\u001a","kcub1":"\u0019","kcuf1":"\u0018","kclr":"\u000c","kRIT":"\u001e\u0018","kLFT":"\u001e\u0019","kHOM":"\u001e\u0008"} -{"name":"d216-dg","aliases":["d216+dg","d216e+dg","d216e-dg","d217-dg"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u000c","sgr0":"\u000f\u0015\u001d\u001eE","smul":"\u0014","bold":"\u001eD\u0014","blink":"\u000e","rev":"\u001eD","dim":"\u001c","cup":"\u0010%p2%c%p1%c","cub1":"\u0019","cuu1":"\u0017","pad":"\u0000","kf1":"\u001eq","kf2":"\u001er","kf3":"\u001es","kf4":"\u001et","kf5":"\u001eu","kf6":"\u001ev","kf7":"\u001ew","kf8":"\u001ex","kf9":"\u001ey","kf10":"\u001ez","kf11":"\u001e{","kf12":"\u001e|","kf13":"\u001e}","kf14":"\u001e~","kf15":"\u001ep","kf16":"\u001ea","kf17":"\u001eb","kf18":"\u001ec","kf19":"\u001ed","kf20":"\u001ee","kf21":"\u001ef","kf22":"\u001eg","kf23":"\u001eh","kf24":"\u001ei","kf25":"\u001ej","kf26":"\u001ek","kf27":"\u001el","kf28":"\u001em","kf29":"\u001en","kf30":"\u001e`","kf31":"\u001e1","kf32":"\u001e2","kf33":"\u001e3","kf34":"\u001e4","kf35":"\u001e5","kf36":"\u001e6","kf37":"\u001e7","kf38":"\u001e8","kf39":"\u001e9","kf40":"\u001e:","kf41":"\u001e;","kf42":"\u001e\u003c","kf43":"\u001e=","kf44":"\u001e\u003e","kf45":"\u001e0","kf46":"\u001e!","kf47":"\u001e\"","kf48":"\u001e#","kf49":"\u001e$","kf50":"\u001e%%","kf51":"\u001e\u0026","kf52":"\u001e'","kf53":"\u001e(","kf54":"\u001e)","kf55":"\u001e*","kf56":"\u001e+","kf57":"\u001e,","kf58":"\u001e-","kf59":"\u001e.","kf60":"\u001e ","khome":"\u0008","kcuu1":"\u0017","kcud1":"\u001a","kcub1":"\u0019","kcuf1":"\u0018","kclr":"\u000c","kRIT":"\u001e\u0018","kLFT":"\u001e\u0019","kHOM":"\u001e\u0008"} -{"name":"d216-unix","aliases":["d216+","d216e+","d216e-unix"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u001ePH","sgr0":"\u001ePJ\u0015\u001d\u001eE\u001eFS00","smul":"\u0014","bold":"\u001eD\u0014","blink":"\u001ePI","rev":"\u001eD","dim":"\u001c","cup":"\u0010%p2%c%p1%c","cub1":"\u001ePD","cuu1":"\u001ePA","pad":"\u0000","kf1":"\u001eq","kf2":"\u001er","kf3":"\u001es","kf4":"\u001et","kf5":"\u001eu","kf6":"\u001ev","kf7":"\u001ew","kf8":"\u001ex","kf9":"\u001ey","kf10":"\u001ez","kf11":"\u001e{","kf12":"\u001e|","kf13":"\u001e}","kf14":"\u001e~","kf15":"\u001ep","kf16":"\u001ea","kf17":"\u001eb","kf18":"\u001ec","kf19":"\u001ed","kf20":"\u001ee","kf21":"\u001ef","kf22":"\u001eg","kf23":"\u001eh","kf24":"\u001ei","kf25":"\u001ej","kf26":"\u001ek","kf27":"\u001el","kf28":"\u001em","kf29":"\u001en","kf30":"\u001e`","kf31":"\u001e1","kf32":"\u001e2","kf33":"\u001e3","kf34":"\u001e4","kf35":"\u001e5","kf36":"\u001e6","kf37":"\u001e7","kf38":"\u001e8","kf39":"\u001e9","kf40":"\u001e:","kf41":"\u001e;","kf42":"\u001e\u003c","kf43":"\u001e=","kf44":"\u001e\u003e","kf45":"\u001e0","kf46":"\u001e!","kf47":"\u001e\"","kf48":"\u001e#","kf49":"\u001e$","kf50":"\u001e%%","kf51":"\u001e\u0026","kf52":"\u001e'","kf53":"\u001e(","kf54":"\u001e)","kf55":"\u001e*","kf56":"\u001e+","kf57":"\u001e,","kf58":"\u001e-","kf59":"\u001e.","kf60":"\u001e ","khome":"\u001ePF","kcuu1":"\u001ePA","kcud1":"\u001ePB","kcub1":"\u001ePD","kcuf1":"\u001ePC","kclr":"\u001ePH","kprt":"\u001eP0","acsc":"aj$k\"l!m#n)q+t'u\u0026v(w%x*","smacs":"\u001eFS11","rmacs":"\u001eFS00","kRIT":"\u001ePc","kLFT":"\u001ePd","kHOM":"\u001ePf"} -{"name":"d216-unix-25","aliases":["d216+25"],"cols":80,"lines":25,"bell":"\u0007","clear":"\u001ePH","sgr0":"\u001ePJ\u0015\u001d\u001eE\u001eFS00","smul":"\u0014","bold":"\u001eD\u0014","blink":"\u001ePI","rev":"\u001eD","dim":"\u001c","cup":"\u0010%p2%c%p1%c","cub1":"\u001ePD","cuu1":"\u001ePA","pad":"\u0000","kf1":"\u001eq","kf2":"\u001er","kf3":"\u001es","kf4":"\u001et","kf5":"\u001eu","kf6":"\u001ev","kf7":"\u001ew","kf8":"\u001ex","kf9":"\u001ey","kf10":"\u001ez","kf11":"\u001e{","kf12":"\u001e|","kf13":"\u001e}","kf14":"\u001e~","kf15":"\u001ep","kf16":"\u001ea","kf17":"\u001eb","kf18":"\u001ec","kf19":"\u001ed","kf20":"\u001ee","kf21":"\u001ef","kf22":"\u001eg","kf23":"\u001eh","kf24":"\u001ei","kf25":"\u001ej","kf26":"\u001ek","kf27":"\u001el","kf28":"\u001em","kf29":"\u001en","kf30":"\u001e`","kf31":"\u001e1","kf32":"\u001e2","kf33":"\u001e3","kf34":"\u001e4","kf35":"\u001e5","kf36":"\u001e6","kf37":"\u001e7","kf38":"\u001e8","kf39":"\u001e9","kf40":"\u001e:","kf41":"\u001e;","kf42":"\u001e\u003c","kf43":"\u001e=","kf44":"\u001e\u003e","kf45":"\u001e0","kf46":"\u001e!","kf47":"\u001e\"","kf48":"\u001e#","kf49":"\u001e$","kf50":"\u001e%%","kf51":"\u001e\u0026","kf52":"\u001e'","kf53":"\u001e(","kf54":"\u001e)","kf55":"\u001e*","kf56":"\u001e+","kf57":"\u001e,","kf58":"\u001e-","kf59":"\u001e.","kf60":"\u001e ","khome":"\u001ePF","kcuu1":"\u001ePA","kcud1":"\u001ePB","kcub1":"\u001ePD","kcuf1":"\u001ePC","kclr":"\u001ePH","kprt":"\u001eP0","acsc":"aj$k\"l!m#n)q+t'u\u0026v(w%x*","smacs":"\u001eFS11","rmacs":"\u001eFS00","kRIT":"\u001ePc","kLFT":"\u001ePd","kHOM":"\u001ePf"} -{"name":"d217-unix","cols":80,"lines":24,"bell":"\u0007","clear":"\u001ePH","sgr0":"\u001ePJ\u0015\u001d\u001eE\u001eFS00","smul":"\u0014","bold":"\u001eD\u0014","blink":"\u001ePI","rev":"\u001eD","dim":"\u001c","cup":"\u0010%p2%c%p1%c","cub1":"\u001ePD","cuu1":"\u001ePA","pad":"\u0000","kf1":"\u001eq","kf2":"\u001er","kf3":"\u001es","kf4":"\u001et","kf5":"\u001eu","kf6":"\u001ev","kf7":"\u001ew","kf8":"\u001ex","kf9":"\u001ey","kf10":"\u001ez","kf11":"\u001e{","kf12":"\u001e|","kf13":"\u001e}","kf14":"\u001e~","kf15":"\u001ep","kf16":"\u001ea","kf17":"\u001eb","kf18":"\u001ec","kf19":"\u001ed","kf20":"\u001ee","kf21":"\u001ef","kf22":"\u001eg","kf23":"\u001eh","kf24":"\u001ei","kf25":"\u001ej","kf26":"\u001ek","kf27":"\u001el","kf28":"\u001em","kf29":"\u001en","kf30":"\u001e`","kf31":"\u001e1","kf32":"\u001e2","kf33":"\u001e3","kf34":"\u001e4","kf35":"\u001e5","kf36":"\u001e6","kf37":"\u001e7","kf38":"\u001e8","kf39":"\u001e9","kf40":"\u001e:","kf41":"\u001e;","kf42":"\u001e\u003c","kf43":"\u001e=","kf44":"\u001e\u003e","kf45":"\u001e0","kf46":"\u001e!","kf47":"\u001e\"","kf48":"\u001e#","kf49":"\u001e$","kf50":"\u001e%%","kf51":"\u001e\u0026","kf52":"\u001e'","kf53":"\u001e(","kf54":"\u001e)","kf55":"\u001e*","kf56":"\u001e+","kf57":"\u001e,","kf58":"\u001e-","kf59":"\u001e.","kf60":"\u001e ","khome":"\u001ePF","kcuu1":"\u001ePA","kcud1":"\u001ePB","kcub1":"\u001ePD","kcuf1":"\u001ePC","kclr":"\u001ePH","kprt":"\u001eP0","acsc":"aj$k\"l!m#n)q+t'u\u0026v(w%x*","smacs":"\u001eFS11","rmacs":"\u001eFS00","kRIT":"\u001ePc","kLFT":"\u001ePd","kHOM":"\u001ePf"} -{"name":"d217-unix-25","cols":80,"lines":25,"bell":"\u0007","clear":"\u001ePH","sgr0":"\u001ePJ\u0015\u001d\u001eE\u001eFS00","smul":"\u0014","bold":"\u001eD\u0014","blink":"\u001ePI","rev":"\u001eD","dim":"\u001c","cup":"\u0010%p2%c%p1%c","cub1":"\u001ePD","cuu1":"\u001ePA","pad":"\u0000","kf1":"\u001eq","kf2":"\u001er","kf3":"\u001es","kf4":"\u001et","kf5":"\u001eu","kf6":"\u001ev","kf7":"\u001ew","kf8":"\u001ex","kf9":"\u001ey","kf10":"\u001ez","kf11":"\u001e{","kf12":"\u001e|","kf13":"\u001e}","kf14":"\u001e~","kf15":"\u001ep","kf16":"\u001ea","kf17":"\u001eb","kf18":"\u001ec","kf19":"\u001ed","kf20":"\u001ee","kf21":"\u001ef","kf22":"\u001eg","kf23":"\u001eh","kf24":"\u001ei","kf25":"\u001ej","kf26":"\u001ek","kf27":"\u001el","kf28":"\u001em","kf29":"\u001en","kf30":"\u001e`","kf31":"\u001e1","kf32":"\u001e2","kf33":"\u001e3","kf34":"\u001e4","kf35":"\u001e5","kf36":"\u001e6","kf37":"\u001e7","kf38":"\u001e8","kf39":"\u001e9","kf40":"\u001e:","kf41":"\u001e;","kf42":"\u001e\u003c","kf43":"\u001e=","kf44":"\u001e\u003e","kf45":"\u001e0","kf46":"\u001e!","kf47":"\u001e\"","kf48":"\u001e#","kf49":"\u001e$","kf50":"\u001e%%","kf51":"\u001e\u0026","kf52":"\u001e'","kf53":"\u001e(","kf54":"\u001e)","kf55":"\u001e*","kf56":"\u001e+","kf57":"\u001e,","kf58":"\u001e-","kf59":"\u001e.","kf60":"\u001e ","khome":"\u001ePF","kcuu1":"\u001ePA","kcud1":"\u001ePB","kcub1":"\u001ePD","kcuf1":"\u001ePC","kclr":"\u001ePH","kprt":"\u001eP0","acsc":"aj$k\"l!m#n)q+t'u\u0026v(w%x*","smacs":"\u001eFS11","rmacs":"\u001eFS00","kRIT":"\u001ePc","kLFT":"\u001ePd","kHOM":"\u001ePf"} -{"name":"d220","cols":80,"lines":24,"colors":8,"bell":"\u0007","clear":"\u001b[2J","cnorm":"\u001b[3;2v","civis":"\u001b[3;0v","sgr0":"\u001b[m\u001b)4\u000f","smul":"\u001b[4m","bold":"\u001b[4;7m","blink":"\u001b[5m","rev":"\u001b[7m","dim":"\u001b[2m","setaf":"\u001b[3%p1%d%?%gD%t;2%;%?%gU%t;4%;%?%gB%t;5%;%?%gR%t;7%;m","setbg":"\u001b[4%p1%d%?%gD%t;2%;%?%gU%t;4%;%?%gB%t;5%;%?%gR%t;7%;m","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kf1":"\ufffd001z","kf2":"\ufffd002z","kf3":"\ufffd003z","kf4":"\ufffd004z","kf5":"\ufffd005z","kf6":"\ufffd006z","kf7":"\ufffd007z","kf8":"\ufffd008z","kf9":"\ufffd009z","kf10":"\ufffd010z","kf11":"\ufffd011z","kf12":"\ufffd012z","kf13":"\ufffd013z","kf14":"\ufffd014z","kf15":"\ufffd000z","kf16":"\ufffd101z","kf17":"\ufffd102z","kf18":"\ufffd103z","kf19":"\ufffd104z","kf20":"\ufffd105z","kf21":"\ufffd106z","kf22":"\ufffd107z","kf23":"\ufffd108z","kf24":"\ufffd109z","kf25":"\ufffd110z","kf26":"\ufffd111z","kf27":"\ufffd112z","kf28":"\ufffd113z","kf29":"\ufffd114z","kf30":"\ufffd100z","kf31":"\ufffd201z","kf32":"\ufffd202z","kf33":"\ufffd203z","kf34":"\ufffd204z","kf35":"\ufffd205z","kf36":"\ufffd206z","kf37":"\ufffd207z","kf38":"\ufffd208z","kf39":"\ufffd209z","kf40":"\ufffd210z","kf41":"\ufffd211z","kf42":"\ufffd212z","kf43":"\ufffd213z","kf44":"\ufffd214z","kf45":"\ufffd200z","kf46":"\ufffd301z","kf47":"\ufffd302z","kf48":"\ufffd303z","kf49":"\ufffd304z","kf50":"\ufffd305z","kf51":"\ufffd306z","kf52":"\ufffd307z","kf53":"\ufffd308z","kf54":"\ufffd309z","kf55":"\ufffd310z","kf56":"\ufffd311z","kf57":"\ufffd312z","kf58":"\ufffd313z","kf59":"\ufffd314z","kf60":"\ufffd300z","khome":"\ufffdH","kcuu1":"\ufffdA","kcud1":"\ufffdB","kcub1":"\ufffdD","kcuf1":"\ufffdC","kclr":"\ufffd2J","kprt":"\ufffdi","acsc":"j$k\"l!m#n)q+t'u\u0026v(w%x*","smacs":"\u001b)6\u000e","rmacs":"\u001b)4\u000f","_setfgbg":"\u001b[3%p1%d%?%gD%t;2%;%?%gU%t;4%;%?%gB%t;5%;%?%gR%t;7%;;4%p2%d%?%gD%t;2%;%?%gU%t;4%;%?%gB%t;5%;%?%gR%t;7%;m"} -{"name":"d220-7b","cols":80,"lines":24,"colors":8,"bell":"\u0007","clear":"\u001b[2J","cnorm":"\u001b[3;2v","civis":"\u001b[3;0v","sgr0":"\u001b[m\u000f","smul":"\u001b[4m","bold":"\u001b[4;7m","blink":"\u001b[5m","rev":"\u001b[7m","dim":"\u001b[2m","setaf":"\u001b[3%p1%d%?%gD%t;2%;%?%gU%t;4%;%?%gB%t;5%;%?%gR%t;7%;m","setbg":"\u001b[4%p1%d%?%gD%t;2%;%?%gU%t;4%;%?%gB%t;5%;%?%gR%t;7%;m","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kf1":"\u001b[001z","kf2":"\u001b[002z","kf3":"\u001b[003z","kf4":"\u001b[004z","kf5":"\u001b[005z","kf6":"\u001b[006z","kf7":"\u001b[007z","kf8":"\u001b[008z","kf9":"\u001b[009z","kf10":"\u001b[010z","kf11":"\u001b[011z","kf12":"\u001b[012z","kf13":"\u001b[013z","kf14":"\u001b[014z","kf15":"\u001b[000z","kf16":"\u001b[101z","kf17":"\u001b[102z","kf18":"\u001b[103z","kf19":"\u001b[104z","kf20":"\u001b[105z","kf21":"\u001b[106z","kf22":"\u001b[107z","kf23":"\u001b[108z","kf24":"\u001b[109z","kf25":"\u001b[110z","kf26":"\u001b[111z","kf27":"\u001b[112z","kf28":"\u001b[113z","kf29":"\u001b[114z","kf30":"\u001b[100z","kf31":"\u001b[201z","kf32":"\u001b[202z","kf33":"\u001b[203z","kf34":"\u001b[204z","kf35":"\u001b[205z","kf36":"\u001b[206z","kf37":"\u001b[207z","kf38":"\u001b[208z","kf39":"\u001b[209z","kf40":"\u001b[210z","kf41":"\u001b[211z","kf42":"\u001b[212z","kf43":"\u001b[213z","kf44":"\u001b[214z","kf45":"\u001b[200z","kf46":"\u001b[301z","kf47":"\u001b[302z","kf48":"\u001b[303z","kf49":"\u001b[304z","kf50":"\u001b[305z","kf51":"\u001b[306z","kf52":"\u001b[307z","kf53":"\u001b[308z","kf54":"\u001b[309z","kf55":"\u001b[310z","kf56":"\u001b[311z","kf57":"\u001b[312z","kf58":"\u001b[313z","kf59":"\u001b[314z","kf60":"\u001b[300z","khome":"\u001b[H","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kclr":"\u001b[2J","kprt":"\u001b[i","acsc":"j$k\"l!m#n)q+t'u\u0026v(w%x*","smacs":"\u000e","rmacs":"\u000f","enacs":"\u001b)6","_setfgbg":"\u001b[3%p1%d%?%gD%t;2%;%?%gU%t;4%;%?%gB%t;5%;%?%gR%t;7%;;4%p2%d%?%gD%t;2%;%?%gU%t;4%;%?%gB%t;5%;%?%gR%t;7%;m"} -{"name":"d220-dg","cols":80,"lines":24,"colors":8,"bell":"\u0007","clear":"\u000c","cnorm":"\u001eFQ2","civis":"\u001eFQ0","sgr0":"\u000f\u0015\u001d\u001eE\u001eFS00","smul":"\u0014","bold":"\u001eD\u0014","blink":"\u000e","rev":"\u001eD","dim":"\u001c","setaf":"\u001eA%p1%{2}%\u0026%?%p1%{1}%\u0026%t%{4}%|%;%?%p1%{4}%\u0026%t%{1}%|%;%'0'%+%c","setbg":"\u001eB%p1%{2}%\u0026%?%p1%{1}%\u0026%t%{4}%|%;%?%p1%{4}%\u0026%t%{1}%|%;%'0'%+%c","cup":"\u0010%p2%c%p1%c","cub1":"\u0019","cuu1":"\u0017","pad":"\u0000","kf1":"\u001eq","kf2":"\u001er","kf3":"\u001es","kf4":"\u001et","kf5":"\u001eu","kf6":"\u001ev","kf7":"\u001ew","kf8":"\u001ex","kf9":"\u001ey","kf10":"\u001ez","kf11":"\u001e{","kf12":"\u001e|","kf13":"\u001e}","kf14":"\u001e~","kf15":"\u001ep","kf16":"\u001ea","kf17":"\u001eb","kf18":"\u001ec","kf19":"\u001ed","kf20":"\u001ee","kf21":"\u001ef","kf22":"\u001eg","kf23":"\u001eh","kf24":"\u001ei","kf25":"\u001ej","kf26":"\u001ek","kf27":"\u001el","kf28":"\u001em","kf29":"\u001en","kf30":"\u001e`","kf31":"\u001e1","kf32":"\u001e2","kf33":"\u001e3","kf34":"\u001e4","kf35":"\u001e5","kf36":"\u001e6","kf37":"\u001e7","kf38":"\u001e8","kf39":"\u001e9","kf40":"\u001e:","kf41":"\u001e;","kf42":"\u001e\u003c","kf43":"\u001e=","kf44":"\u001e\u003e","kf45":"\u001e0","kf46":"\u001e!","kf47":"\u001e\"","kf48":"\u001e#","kf49":"\u001e$","kf50":"\u001e%%","kf51":"\u001e\u0026","kf52":"\u001e'","kf53":"\u001e(","kf54":"\u001e)","kf55":"\u001e*","kf56":"\u001e+","kf57":"\u001e,","kf58":"\u001e-","kf59":"\u001e.","kf60":"\u001e ","khome":"\u0008","kcuu1":"\u0017","kcud1":"\u001a","kcub1":"\u0019","kcuf1":"\u0018","kclr":"\u000c","acsc":"j$k\"l!m#n)q+t'u\u0026v(w%x*","smacs":"\u001eFS11","rmacs":"\u001eFS00","kRIT":"\u001e\u0018","kLFT":"\u001e\u0019","kHOM":"\u001e\u0008"} -{"name":"d230c","aliases":["d230"],"cols":80,"lines":24,"colors":8,"bell":"\u0007","clear":"\u001b[2J","cnorm":"\u001b[3;2v","civis":"\u001b[3;0v","sgr0":"\u001b[50m\u001b)4\u000f","smul":"\u001b[4;50m","bold":"\u001b[4;7;50m","blink":"\u001b[5;50m","rev":"\u001b[7;50m","dim":"\u001b[2;50m","smkx":"\u001b[2;0v","rmkx":"\u001b[2;1v","setaf":"\u001b[3%p1%d%?%gD%t;2%;%?%gU%t;4%;%?%gB%t;5%;%?%gR%t;7%;m","setbg":"\u001b[4%p1%d%?%gD%t;2%;%?%gU%t;4%;%?%gB%t;5%;%?%gR%t;7%;m","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kf1":"\u001b[001z","kf2":"\u001b[002z","kf3":"\u001b[003z","kf4":"\u001b[004z","kf5":"\u001b[005z","kf6":"\u001b[006z","kf7":"\u001b[007z","kf8":"\u001b[008z","kf9":"\u001b[009z","kf10":"\u001b[010z","kf11":"\u001b[011z","kf12":"\u001b[012z","kf13":"\u001b[013z","kf14":"\u001b[014z","kf15":"\u001b[000z","kf16":"\u001b[101z","kf17":"\u001b[102z","kf18":"\u001b[103z","kf19":"\u001b[104z","kf20":"\u001b[105z","kf21":"\u001b[106z","kf22":"\u001b[107z","kf23":"\u001b[108z","kf24":"\u001b[109z","kf25":"\u001b[110z","kf26":"\u001b[111z","kf27":"\u001b[112z","kf28":"\u001b[113z","kf29":"\u001b[114z","kf30":"\u001b[100z","kf31":"\u001b[201z","kf32":"\u001b[202z","kf33":"\u001b[203z","kf34":"\u001b[204z","kf35":"\u001b[205z","kf36":"\u001b[206z","kf37":"\u001b[207z","kf38":"\u001b[208z","kf39":"\u001b[209z","kf40":"\u001b[210z","kf41":"\u001b[211z","kf42":"\u001b[212z","kf43":"\u001b[213z","kf44":"\u001b[214z","kf45":"\u001b[200z","kf46":"\u001b[301z","kf47":"\u001b[302z","kf48":"\u001b[303z","kf49":"\u001b[304z","kf50":"\u001b[305z","kf51":"\u001b[306z","kf52":"\u001b[307z","kf53":"\u001b[308z","kf54":"\u001b[309z","kf55":"\u001b[310z","kf56":"\u001b[311z","kf57":"\u001b[312z","kf58":"\u001b[313z","kf59":"\u001b[314z","kf60":"\u001b[300z","khome":"\u001b[H","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kclr":"\u001b[2J","kprt":"\u001b[i","acsc":"j$k\"l!m#n)q+t'u\u0026v(w%x*","smacs":"\u001b)6\u000e","rmacs":"\u001b)4\u000f","_setfgbg":"\u001b[3%p1%d%?%gD%t;2%;%?%gU%t;4%;%?%gB%t;5%;%?%gR%t;7%;;4%p2%d%?%gD%t;2%;%?%gU%t;4%;%?%gB%t;5%;%?%gR%t;7%;m"} -{"name":"d230c-dg","aliases":["d230-dg"],"cols":80,"lines":24,"colors":8,"bell":"\u0007","clear":"\u000c","cnorm":"\u001eFQ2","civis":"\u001eFQ0","sgr0":"\u000f\u0015\u001d\u001eE\u001eFS00","smul":"\u0014","bold":"\u001eD\u0014","blink":"\u000e","rev":"\u001eD","dim":"\u001c","setaf":"\u001eA%p1%{2}%\u0026%?%p1%{1}%\u0026%t%{4}%|%;%?%p1%{4}%\u0026%t%{1}%|%;%'0'%+%c","setbg":"\u001eB%p1%{2}%\u0026%?%p1%{1}%\u0026%t%{4}%|%;%?%p1%{4}%\u0026%t%{1}%|%;%'0'%+%c","cup":"\u0010%p2%c%p1%c","cub1":"\u0019","cuu1":"\u0017","pad":"\u0000","kf1":"\u001eq","kf2":"\u001er","kf3":"\u001es","kf4":"\u001et","kf5":"\u001eu","kf6":"\u001ev","kf7":"\u001ew","kf8":"\u001ex","kf9":"\u001ey","kf10":"\u001ez","kf11":"\u001e{","kf12":"\u001e|","kf13":"\u001e}","kf14":"\u001e~","kf15":"\u001ep","kf16":"\u001ea","kf17":"\u001eb","kf18":"\u001ec","kf19":"\u001ed","kf20":"\u001ee","kf21":"\u001ef","kf22":"\u001eg","kf23":"\u001eh","kf24":"\u001ei","kf25":"\u001ej","kf26":"\u001ek","kf27":"\u001el","kf28":"\u001em","kf29":"\u001en","kf30":"\u001e`","kf31":"\u001e1","kf32":"\u001e2","kf33":"\u001e3","kf34":"\u001e4","kf35":"\u001e5","kf36":"\u001e6","kf37":"\u001e7","kf38":"\u001e8","kf39":"\u001e9","kf40":"\u001e:","kf41":"\u001e;","kf42":"\u001e\u003c","kf43":"\u001e=","kf44":"\u001e\u003e","kf45":"\u001e0","kf46":"\u001e!","kf47":"\u001e\"","kf48":"\u001e#","kf49":"\u001e$","kf50":"\u001e%%","kf51":"\u001e\u0026","kf52":"\u001e'","kf53":"\u001e(","kf54":"\u001e)","kf55":"\u001e*","kf56":"\u001e+","kf57":"\u001e,","kf58":"\u001e-","kf59":"\u001e.","kf60":"\u001e ","khome":"\u0008","kcuu1":"\u0017","kcud1":"\u001a","kcub1":"\u0019","kcuf1":"\u0018","kclr":"\u000c","acsc":"j$k\"l!m#n)q+t'u\u0026v(w%x*","smacs":"\u001eFS11","rmacs":"\u001eFS00","kRIT":"\u001e\u0018","kLFT":"\u001e\u0019","kHOM":"\u001e\u0008"} -{"name":"d400","aliases":["d400-dg","d450","d450-dg"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u000c","cnorm":"\u001eFQ2","civis":"\u001eFQ0","sgr0":"\u000f\u0015\u001d\u001eE\u001eO","smul":"\u0014","bold":"\u001eD\u0014","blink":"\u000e","rev":"\u001eD","dim":"\u001c","cup":"\u0010%p2%c%p1%c","cub1":"\u0019","cuu1":"\u0017","pad":"\u0000","kf1":"\u001eq","kf2":"\u001er","kf3":"\u001es","kf4":"\u001et","kf5":"\u001eu","kf6":"\u001ev","kf7":"\u001ew","kf8":"\u001ex","kf9":"\u001ey","kf10":"\u001ez","kf11":"\u001e{","kf12":"\u001e|","kf13":"\u001e}","kf14":"\u001e~","kf15":"\u001ep","kf16":"\u001ea","kf17":"\u001eb","kf18":"\u001ec","kf19":"\u001ed","kf20":"\u001ee","kf21":"\u001ef","kf22":"\u001eg","kf23":"\u001eh","kf24":"\u001ei","kf25":"\u001ej","kf26":"\u001ek","kf27":"\u001el","kf28":"\u001em","kf29":"\u001en","kf30":"\u001e`","kf31":"\u001e1","kf32":"\u001e2","kf33":"\u001e3","kf34":"\u001e4","kf35":"\u001e5","kf36":"\u001e6","kf37":"\u001e7","kf38":"\u001e8","kf39":"\u001e9","kf40":"\u001e:","kf41":"\u001e;","kf42":"\u001e\u003c","kf43":"\u001e=","kf44":"\u001e\u003e","kf45":"\u001e0","kf46":"\u001e!","kf47":"\u001e\"","kf48":"\u001e#","kf49":"\u001e$","kf50":"\u001e%%","kf51":"\u001e\u0026","kf52":"\u001e'","kf53":"\u001e(","kf54":"\u001e)","kf55":"\u001e*","kf56":"\u001e+","kf57":"\u001e,","kf58":"\u001e-","kf59":"\u001e.","kf60":"\u001e ","khome":"\u0008","kcuu1":"\u0017","kcud1":"\u001a","kcub1":"\u0019","kcuf1":"\u0018","kclr":"\u000c","acsc":"j$k\"l!m#n)q+t'u\u0026v(w%x*","smacs":"\u001eN","rmacs":"\u001eO","enacs":"\u001eN\u001eFS11\u001eO","kRIT":"\u001e\u0018","kLFT":"\u001e\u0019","kHOM":"\u001e\u0008"} -{"name":"d410","aliases":["d411","d460","d461"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u001b[2J","cnorm":"\u001b[3;2v","civis":"\u001b[3;0v","sgr0":"\u001b[m\u001b)4\u000f","smul":"\u001b[4m","bold":"\u001b[4;7m","blink":"\u001b[5m","rev":"\u001b[7m","dim":"\u001b[2m","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kf1":"\ufffd001z","kf2":"\ufffd002z","kf3":"\ufffd003z","kf4":"\ufffd004z","kf5":"\ufffd005z","kf6":"\ufffd006z","kf7":"\ufffd007z","kf8":"\ufffd008z","kf9":"\ufffd009z","kf10":"\ufffd010z","kf11":"\ufffd011z","kf12":"\ufffd012z","kf13":"\ufffd013z","kf14":"\ufffd014z","kf15":"\ufffd000z","kf16":"\ufffd101z","kf17":"\ufffd102z","kf18":"\ufffd103z","kf19":"\ufffd104z","kf20":"\ufffd105z","kf21":"\ufffd106z","kf22":"\ufffd107z","kf23":"\ufffd108z","kf24":"\ufffd109z","kf25":"\ufffd110z","kf26":"\ufffd111z","kf27":"\ufffd112z","kf28":"\ufffd113z","kf29":"\ufffd114z","kf30":"\ufffd100z","kf31":"\ufffd201z","kf32":"\ufffd202z","kf33":"\ufffd203z","kf34":"\ufffd204z","kf35":"\ufffd205z","kf36":"\ufffd206z","kf37":"\ufffd207z","kf38":"\ufffd208z","kf39":"\ufffd209z","kf40":"\ufffd210z","kf41":"\ufffd211z","kf42":"\ufffd212z","kf43":"\ufffd213z","kf44":"\ufffd214z","kf45":"\ufffd200z","kf46":"\ufffd301z","kf47":"\ufffd302z","kf48":"\ufffd303z","kf49":"\ufffd304z","kf50":"\ufffd305z","kf51":"\ufffd306z","kf52":"\ufffd307z","kf53":"\ufffd308z","kf54":"\ufffd309z","kf55":"\ufffd310z","kf56":"\ufffd311z","kf57":"\ufffd312z","kf58":"\ufffd313z","kf59":"\ufffd314z","kf60":"\ufffd300z","khome":"\ufffdH","kcuu1":"\ufffdA","kcud1":"\ufffdB","kcub1":"\ufffdD","kcuf1":"\ufffdC","kclr":"\ufffd2J","kprt":"\ufffdi","acsc":"j$k\"l!m#n)q+t'u\u0026v(w%x*","smacs":"\u001b)6\u000e","rmacs":"\u001b)4\u000f"} -{"name":"d410-7b","aliases":["d411-7b","d460-7b","d461-7b"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u001b[2J","cnorm":"\u001b[3;2v","civis":"\u001b[3;0v","sgr0":"\u001b[m\u000f","smul":"\u001b[4m","bold":"\u001b[4;7m","blink":"\u001b[5m","rev":"\u001b[7m","dim":"\u001b[2m","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kf1":"\u001b[001z","kf2":"\u001b[002z","kf3":"\u001b[003z","kf4":"\u001b[004z","kf5":"\u001b[005z","kf6":"\u001b[006z","kf7":"\u001b[007z","kf8":"\u001b[008z","kf9":"\u001b[009z","kf10":"\u001b[010z","kf11":"\u001b[011z","kf12":"\u001b[012z","kf13":"\u001b[013z","kf14":"\u001b[014z","kf15":"\u001b[000z","kf16":"\u001b[101z","kf17":"\u001b[102z","kf18":"\u001b[103z","kf19":"\u001b[104z","kf20":"\u001b[105z","kf21":"\u001b[106z","kf22":"\u001b[107z","kf23":"\u001b[108z","kf24":"\u001b[109z","kf25":"\u001b[110z","kf26":"\u001b[111z","kf27":"\u001b[112z","kf28":"\u001b[113z","kf29":"\u001b[114z","kf30":"\u001b[100z","kf31":"\u001b[201z","kf32":"\u001b[202z","kf33":"\u001b[203z","kf34":"\u001b[204z","kf35":"\u001b[205z","kf36":"\u001b[206z","kf37":"\u001b[207z","kf38":"\u001b[208z","kf39":"\u001b[209z","kf40":"\u001b[210z","kf41":"\u001b[211z","kf42":"\u001b[212z","kf43":"\u001b[213z","kf44":"\u001b[214z","kf45":"\u001b[200z","kf46":"\u001b[301z","kf47":"\u001b[302z","kf48":"\u001b[303z","kf49":"\u001b[304z","kf50":"\u001b[305z","kf51":"\u001b[306z","kf52":"\u001b[307z","kf53":"\u001b[308z","kf54":"\u001b[309z","kf55":"\u001b[310z","kf56":"\u001b[311z","kf57":"\u001b[312z","kf58":"\u001b[313z","kf59":"\u001b[314z","kf60":"\u001b[300z","khome":"\u001b[H","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kclr":"\u001b[2J","kprt":"\u001b[i","acsc":"j$k\"l!m#n)q+t'u\u0026v(w%x*","smacs":"\u000e","rmacs":"\u000f","enacs":"\u001b)6"} -{"name":"d410-7b-w","aliases":["d411-7b-w","d460-7b-w","d461-7b-w"],"cols":126,"lines":24,"bell":"\u0007","clear":"\u001b[2J","cnorm":"\u001b[3;2v","civis":"\u001b[3;0v","sgr0":"\u001b[m\u000f","smul":"\u001b[4m","bold":"\u001b[4;7m","blink":"\u001b[5m","rev":"\u001b[7m","dim":"\u001b[2m","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kf1":"\u001b[001z","kf2":"\u001b[002z","kf3":"\u001b[003z","kf4":"\u001b[004z","kf5":"\u001b[005z","kf6":"\u001b[006z","kf7":"\u001b[007z","kf8":"\u001b[008z","kf9":"\u001b[009z","kf10":"\u001b[010z","kf11":"\u001b[011z","kf12":"\u001b[012z","kf13":"\u001b[013z","kf14":"\u001b[014z","kf15":"\u001b[000z","kf16":"\u001b[101z","kf17":"\u001b[102z","kf18":"\u001b[103z","kf19":"\u001b[104z","kf20":"\u001b[105z","kf21":"\u001b[106z","kf22":"\u001b[107z","kf23":"\u001b[108z","kf24":"\u001b[109z","kf25":"\u001b[110z","kf26":"\u001b[111z","kf27":"\u001b[112z","kf28":"\u001b[113z","kf29":"\u001b[114z","kf30":"\u001b[100z","kf31":"\u001b[201z","kf32":"\u001b[202z","kf33":"\u001b[203z","kf34":"\u001b[204z","kf35":"\u001b[205z","kf36":"\u001b[206z","kf37":"\u001b[207z","kf38":"\u001b[208z","kf39":"\u001b[209z","kf40":"\u001b[210z","kf41":"\u001b[211z","kf42":"\u001b[212z","kf43":"\u001b[213z","kf44":"\u001b[214z","kf45":"\u001b[200z","kf46":"\u001b[301z","kf47":"\u001b[302z","kf48":"\u001b[303z","kf49":"\u001b[304z","kf50":"\u001b[305z","kf51":"\u001b[306z","kf52":"\u001b[307z","kf53":"\u001b[308z","kf54":"\u001b[309z","kf55":"\u001b[310z","kf56":"\u001b[311z","kf57":"\u001b[312z","kf58":"\u001b[313z","kf59":"\u001b[314z","kf60":"\u001b[300z","khome":"\u001b[H","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kclr":"\u001b[2J","kprt":"\u001b[i","acsc":"j$k\"l!m#n)q+t'u\u0026v(w%x*","smacs":"\u000e","rmacs":"\u000f","enacs":"\u001b)6"} -{"name":"d410-dg","aliases":["d411-dg","d460-dg","d461-dg"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u000c","cnorm":"\u001eFQ2","civis":"\u001eFQ0","sgr0":"\u000f\u0015\u001d\u001eE\u001eFS00","smul":"\u0014","bold":"\u001eD\u0014","blink":"\u000e","rev":"\u001eD","dim":"\u001c","cup":"\u0010%p2%c%p1%c","cub1":"\u0019","cuu1":"\u0017","pad":"\u0000","kf1":"\u001eq","kf2":"\u001er","kf3":"\u001es","kf4":"\u001et","kf5":"\u001eu","kf6":"\u001ev","kf7":"\u001ew","kf8":"\u001ex","kf9":"\u001ey","kf10":"\u001ez","kf11":"\u001e{","kf12":"\u001e|","kf13":"\u001e}","kf14":"\u001e~","kf15":"\u001ep","kf16":"\u001ea","kf17":"\u001eb","kf18":"\u001ec","kf19":"\u001ed","kf20":"\u001ee","kf21":"\u001ef","kf22":"\u001eg","kf23":"\u001eh","kf24":"\u001ei","kf25":"\u001ej","kf26":"\u001ek","kf27":"\u001el","kf28":"\u001em","kf29":"\u001en","kf30":"\u001e`","kf31":"\u001e1","kf32":"\u001e2","kf33":"\u001e3","kf34":"\u001e4","kf35":"\u001e5","kf36":"\u001e6","kf37":"\u001e7","kf38":"\u001e8","kf39":"\u001e9","kf40":"\u001e:","kf41":"\u001e;","kf42":"\u001e\u003c","kf43":"\u001e=","kf44":"\u001e\u003e","kf45":"\u001e0","kf46":"\u001e!","kf47":"\u001e\"","kf48":"\u001e#","kf49":"\u001e$","kf50":"\u001e%%","kf51":"\u001e\u0026","kf52":"\u001e'","kf53":"\u001e(","kf54":"\u001e)","kf55":"\u001e*","kf56":"\u001e+","kf57":"\u001e,","kf58":"\u001e-","kf59":"\u001e.","kf60":"\u001e ","khome":"\u0008","kcuu1":"\u0017","kcud1":"\u001a","kcub1":"\u0019","kcuf1":"\u0018","kclr":"\u000c","acsc":"j$k\"l!m#n)q+t'u\u0026v(w%x*","smacs":"\u001eFS11","rmacs":"\u001eFS00","kRIT":"\u001e\u0018","kLFT":"\u001e\u0019","kHOM":"\u001e\u0008"} -{"name":"d410-w","aliases":["d411-w","d460-w","d461-w"],"cols":126,"lines":24,"bell":"\u0007","clear":"\u001b[2J","cnorm":"\u001b[3;2v","civis":"\u001b[3;0v","sgr0":"\u001b[m\u001b)4\u000f","smul":"\u001b[4m","bold":"\u001b[4;7m","blink":"\u001b[5m","rev":"\u001b[7m","dim":"\u001b[2m","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kf1":"\ufffd001z","kf2":"\ufffd002z","kf3":"\ufffd003z","kf4":"\ufffd004z","kf5":"\ufffd005z","kf6":"\ufffd006z","kf7":"\ufffd007z","kf8":"\ufffd008z","kf9":"\ufffd009z","kf10":"\ufffd010z","kf11":"\ufffd011z","kf12":"\ufffd012z","kf13":"\ufffd013z","kf14":"\ufffd014z","kf15":"\ufffd000z","kf16":"\ufffd101z","kf17":"\ufffd102z","kf18":"\ufffd103z","kf19":"\ufffd104z","kf20":"\ufffd105z","kf21":"\ufffd106z","kf22":"\ufffd107z","kf23":"\ufffd108z","kf24":"\ufffd109z","kf25":"\ufffd110z","kf26":"\ufffd111z","kf27":"\ufffd112z","kf28":"\ufffd113z","kf29":"\ufffd114z","kf30":"\ufffd100z","kf31":"\ufffd201z","kf32":"\ufffd202z","kf33":"\ufffd203z","kf34":"\ufffd204z","kf35":"\ufffd205z","kf36":"\ufffd206z","kf37":"\ufffd207z","kf38":"\ufffd208z","kf39":"\ufffd209z","kf40":"\ufffd210z","kf41":"\ufffd211z","kf42":"\ufffd212z","kf43":"\ufffd213z","kf44":"\ufffd214z","kf45":"\ufffd200z","kf46":"\ufffd301z","kf47":"\ufffd302z","kf48":"\ufffd303z","kf49":"\ufffd304z","kf50":"\ufffd305z","kf51":"\ufffd306z","kf52":"\ufffd307z","kf53":"\ufffd308z","kf54":"\ufffd309z","kf55":"\ufffd310z","kf56":"\ufffd311z","kf57":"\ufffd312z","kf58":"\ufffd313z","kf59":"\ufffd314z","kf60":"\ufffd300z","khome":"\ufffdH","kcuu1":"\ufffdA","kcud1":"\ufffdB","kcub1":"\ufffdD","kcuf1":"\ufffdC","kclr":"\ufffd2J","kprt":"\ufffdi","acsc":"j$k\"l!m#n)q+t'u\u0026v(w%x*","smacs":"\u001b)6\u000e","rmacs":"\u001b)4\u000f"} -{"name":"d412-dg","aliases":["d412+dg","d413-dg","d462+dg","d462-dg","d462e-dg","d463-dg"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u000c","cnorm":"\u001eFQ2","civis":"\u001eFQ0","sgr0":"\u000f\u0015\u001d\u001eE\u001eFS00","smul":"\u0014","bold":"\u001eD\u0014","blink":"\u000e","rev":"\u001eD","dim":"\u001c","cup":"\u0010%p2%c%p1%c","cub1":"\u0019","cuu1":"\u0017","pad":"\u0000","kf1":"\u001eq","kf2":"\u001er","kf3":"\u001es","kf4":"\u001et","kf5":"\u001eu","kf6":"\u001ev","kf7":"\u001ew","kf8":"\u001ex","kf9":"\u001ey","kf10":"\u001ez","kf11":"\u001e{","kf12":"\u001e|","kf13":"\u001e}","kf14":"\u001e~","kf15":"\u001ep","kf16":"\u001ea","kf17":"\u001eb","kf18":"\u001ec","kf19":"\u001ed","kf20":"\u001ee","kf21":"\u001ef","kf22":"\u001eg","kf23":"\u001eh","kf24":"\u001ei","kf25":"\u001ej","kf26":"\u001ek","kf27":"\u001el","kf28":"\u001em","kf29":"\u001en","kf30":"\u001e`","kf31":"\u001e1","kf32":"\u001e2","kf33":"\u001e3","kf34":"\u001e4","kf35":"\u001e5","kf36":"\u001e6","kf37":"\u001e7","kf38":"\u001e8","kf39":"\u001e9","kf40":"\u001e:","kf41":"\u001e;","kf42":"\u001e\u003c","kf43":"\u001e=","kf44":"\u001e\u003e","kf45":"\u001e0","kf46":"\u001e!","kf47":"\u001e\"","kf48":"\u001e#","kf49":"\u001e$","kf50":"\u001e%%","kf51":"\u001e\u0026","kf52":"\u001e'","kf53":"\u001e(","kf54":"\u001e)","kf55":"\u001e*","kf56":"\u001e+","kf57":"\u001e,","kf58":"\u001e-","kf59":"\u001e.","kf60":"\u001e ","khome":"\u0008","kcuu1":"\u0017","kcud1":"\u001a","kcub1":"\u0019","kcuf1":"\u0018","kclr":"\u000c","acsc":"j$k\"l!m#n)q+t'u\u0026v(w%x*","smacs":"\u001eFS11","rmacs":"\u001eFS00","kRIT":"\u001e\u0018","kLFT":"\u001e\u0019","kHOM":"\u001e\u0008"} -{"name":"d412-unix","aliases":["d412+","d462+","d462-unix"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u001eFE","cnorm":"\u001eFQ5","civis":"\u001eFQ0","sgr0":"\u001ePJ\u0015\u001d\u001eE\u001eFS00","smul":"\u0014","bold":"\u001eD\u0014","blink":"\u001ePI","rev":"\u001eD","dim":"\u001c","cup":"\u001eFP%p2%2.2X%p1%2.2X","cub1":"\u001ePD","cuu1":"\u001ePA","pad":"\u0000","kf1":"\u001eq","kf2":"\u001er","kf3":"\u001es","kf4":"\u001et","kf5":"\u001eu","kf6":"\u001ev","kf7":"\u001ew","kf8":"\u001ex","kf9":"\u001ey","kf10":"\u001ez","kf11":"\u001e{","kf12":"\u001e|","kf13":"\u001e}","kf14":"\u001e~","kf15":"\u001ep","kf16":"\u001ea","kf17":"\u001eb","kf18":"\u001ec","kf19":"\u001ed","kf20":"\u001ee","kf21":"\u001ef","kf22":"\u001eg","kf23":"\u001eh","kf24":"\u001ei","kf25":"\u001ej","kf26":"\u001ek","kf27":"\u001el","kf28":"\u001em","kf29":"\u001en","kf30":"\u001e`","kf31":"\u001e1","kf32":"\u001e2","kf33":"\u001e3","kf34":"\u001e4","kf35":"\u001e5","kf36":"\u001e6","kf37":"\u001e7","kf38":"\u001e8","kf39":"\u001e9","kf40":"\u001e:","kf41":"\u001e;","kf42":"\u001e\u003c","kf43":"\u001e=","kf44":"\u001e\u003e","kf45":"\u001e0","kf46":"\u001e!","kf47":"\u001e\"","kf48":"\u001e#","kf49":"\u001e$","kf50":"\u001e%%","kf51":"\u001e\u0026","kf52":"\u001e'","kf53":"\u001e(","kf54":"\u001e)","kf55":"\u001e*","kf56":"\u001e+","kf57":"\u001e,","kf58":"\u001e-","kf59":"\u001e.","kf60":"\u001e ","khome":"\u001ePF","kcuu1":"\u001ePA","kcud1":"\u001ePB","kcub1":"\u001ePD","kcuf1":"\u001ePC","kclr":"\u001ePH","kprt":"\u001eP0","acsc":"aj$k\"l!m#n)q+t'u\u0026v(w%x*","smacs":"\u001eFS11","rmacs":"\u001eFS00","kRIT":"\u001ePc","kLFT":"\u001ePd","kHOM":"\u001ePf"} -{"name":"d412-unix-25","aliases":["d412+25","d462+25","d462-unix-25"],"cols":80,"lines":25,"bell":"\u0007","clear":"\u001eFE","cnorm":"\u001eFQ5","civis":"\u001eFQ0","sgr0":"\u001ePJ\u0015\u001d\u001eE\u001eFS00","smul":"\u0014","bold":"\u001eD\u0014","blink":"\u001ePI","rev":"\u001eD","dim":"\u001c","cup":"\u001eFP%p2%2.2X%p1%2.2X","cub1":"\u001ePD","cuu1":"\u001ePA","pad":"\u0000","kf1":"\u001eq","kf2":"\u001er","kf3":"\u001es","kf4":"\u001et","kf5":"\u001eu","kf6":"\u001ev","kf7":"\u001ew","kf8":"\u001ex","kf9":"\u001ey","kf10":"\u001ez","kf11":"\u001e{","kf12":"\u001e|","kf13":"\u001e}","kf14":"\u001e~","kf15":"\u001ep","kf16":"\u001ea","kf17":"\u001eb","kf18":"\u001ec","kf19":"\u001ed","kf20":"\u001ee","kf21":"\u001ef","kf22":"\u001eg","kf23":"\u001eh","kf24":"\u001ei","kf25":"\u001ej","kf26":"\u001ek","kf27":"\u001el","kf28":"\u001em","kf29":"\u001en","kf30":"\u001e`","kf31":"\u001e1","kf32":"\u001e2","kf33":"\u001e3","kf34":"\u001e4","kf35":"\u001e5","kf36":"\u001e6","kf37":"\u001e7","kf38":"\u001e8","kf39":"\u001e9","kf40":"\u001e:","kf41":"\u001e;","kf42":"\u001e\u003c","kf43":"\u001e=","kf44":"\u001e\u003e","kf45":"\u001e0","kf46":"\u001e!","kf47":"\u001e\"","kf48":"\u001e#","kf49":"\u001e$","kf50":"\u001e%%","kf51":"\u001e\u0026","kf52":"\u001e'","kf53":"\u001e(","kf54":"\u001e)","kf55":"\u001e*","kf56":"\u001e+","kf57":"\u001e,","kf58":"\u001e-","kf59":"\u001e.","kf60":"\u001e ","khome":"\u001ePF","kcuu1":"\u001ePA","kcud1":"\u001ePB","kcub1":"\u001ePD","kcuf1":"\u001ePC","kclr":"\u001ePH","kprt":"\u001eP0","acsc":"aj$k\"l!m#n)q+t'u\u0026v(w%x*","smacs":"\u001eFS11","rmacs":"\u001eFS00","kRIT":"\u001ePc","kLFT":"\u001ePd","kHOM":"\u001ePf"} -{"name":"d412-unix-s","aliases":["d412+s","d462+s","d462-unix-s"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u001eFG\u001ePH","cnorm":"\u001eFQ5","civis":"\u001eFQ0","sgr0":"\u001ePJ\u0015\u001d\u001eE\u001eFS00","smul":"\u0014","bold":"\u001eD\u0014","blink":"\u001ePI","rev":"\u001eD","dim":"\u001c","cup":"\u001eFP%p2%2.2X%p1%2.2X","cub1":"\u001ePD","cuu1":"\u001ePA","pad":"\u0000","kf1":"\u001eq","kf2":"\u001er","kf3":"\u001es","kf4":"\u001et","kf5":"\u001eu","kf6":"\u001ev","kf7":"\u001ew","kf8":"\u001ex","kf9":"\u001ey","kf10":"\u001ez","kf11":"\u001e{","kf12":"\u001e|","kf13":"\u001e}","kf14":"\u001e~","kf15":"\u001ep","kf16":"\u001ea","kf17":"\u001eb","kf18":"\u001ec","kf19":"\u001ed","kf20":"\u001ee","kf21":"\u001ef","kf22":"\u001eg","kf23":"\u001eh","kf24":"\u001ei","kf25":"\u001ej","kf26":"\u001ek","kf27":"\u001el","kf28":"\u001em","kf29":"\u001en","kf30":"\u001e`","kf31":"\u001e1","kf32":"\u001e2","kf33":"\u001e3","kf34":"\u001e4","kf35":"\u001e5","kf36":"\u001e6","kf37":"\u001e7","kf38":"\u001e8","kf39":"\u001e9","kf40":"\u001e:","kf41":"\u001e;","kf42":"\u001e\u003c","kf43":"\u001e=","kf44":"\u001e\u003e","kf45":"\u001e0","kf46":"\u001e!","kf47":"\u001e\"","kf48":"\u001e#","kf49":"\u001e$","kf50":"\u001e%%","kf51":"\u001e\u0026","kf52":"\u001e'","kf53":"\u001e(","kf54":"\u001e)","kf55":"\u001e*","kf56":"\u001e+","kf57":"\u001e,","kf58":"\u001e-","kf59":"\u001e.","kf60":"\u001e ","khome":"\u001ePF","kcuu1":"\u001ePA","kcud1":"\u001ePB","kcub1":"\u001ePD","kcuf1":"\u001ePC","kclr":"\u001ePH","kprt":"\u001eP0","acsc":"aj$k\"l!m#n)q+t'u\u0026v(w%x*","smacs":"\u001eFS11","rmacs":"\u001eFS00","kRIT":"\u001ePc","kLFT":"\u001ePd","kHOM":"\u001ePf"} -{"name":"d412-unix-sr","aliases":["d412+sr","d462+sr","d462-unix-sr"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u001eFE","cnorm":"\u001eFQ5","civis":"\u001eFQ0","sgr0":"\u001ePJ\u0015\u001d\u001eE\u001eFS00","smul":"\u0014","bold":"\u001eD\u0014","blink":"\u001ePI","rev":"\u001eD","dim":"\u001c","cup":"\u001eFP%p2%2.2X%p1%2.2X","cub1":"\u001ePD","pad":"\u0000","kf1":"\u001eq","kf2":"\u001er","kf3":"\u001es","kf4":"\u001et","kf5":"\u001eu","kf6":"\u001ev","kf7":"\u001ew","kf8":"\u001ex","kf9":"\u001ey","kf10":"\u001ez","kf11":"\u001e{","kf12":"\u001e|","kf13":"\u001e}","kf14":"\u001e~","kf15":"\u001ep","kf16":"\u001ea","kf17":"\u001eb","kf18":"\u001ec","kf19":"\u001ed","kf20":"\u001ee","kf21":"\u001ef","kf22":"\u001eg","kf23":"\u001eh","kf24":"\u001ei","kf25":"\u001ej","kf26":"\u001ek","kf27":"\u001el","kf28":"\u001em","kf29":"\u001en","kf30":"\u001e`","kf31":"\u001e1","kf32":"\u001e2","kf33":"\u001e3","kf34":"\u001e4","kf35":"\u001e5","kf36":"\u001e6","kf37":"\u001e7","kf38":"\u001e8","kf39":"\u001e9","kf40":"\u001e:","kf41":"\u001e;","kf42":"\u001e\u003c","kf43":"\u001e=","kf44":"\u001e\u003e","kf45":"\u001e0","kf46":"\u001e!","kf47":"\u001e\"","kf48":"\u001e#","kf49":"\u001e$","kf50":"\u001e%%","kf51":"\u001e\u0026","kf52":"\u001e'","kf53":"\u001e(","kf54":"\u001e)","kf55":"\u001e*","kf56":"\u001e+","kf57":"\u001e,","kf58":"\u001e-","kf59":"\u001e.","kf60":"\u001e ","khome":"\u001ePF","kcuu1":"\u001ePA","kcud1":"\u001ePB","kcub1":"\u001ePD","kcuf1":"\u001ePC","kclr":"\u001ePH","kprt":"\u001eP0","acsc":"aj$k\"l!m#n)q+t'u\u0026v(w%x*","smacs":"\u001eFS11","rmacs":"\u001eFS00","kRIT":"\u001ePc","kLFT":"\u001ePd","kHOM":"\u001ePf"} -{"name":"d412-unix-w","aliases":["d412+w","d462+w","d462-unix-w"],"cols":132,"lines":24,"bell":"\u0007","clear":"\u001eFE","cnorm":"\u001eFQ5","civis":"\u001eFQ0","sgr0":"\u001ePJ\u0015\u001d\u001eE\u001eFS00","smul":"\u0014","bold":"\u001eD\u0014","blink":"\u001ePI","rev":"\u001eD","dim":"\u001c","cup":"\u001eFP%p2%2.2X%p1%2.2X","cub1":"\u001ePD","cuu1":"\u001ePA","pad":"\u0000","kf1":"\u001eq","kf2":"\u001er","kf3":"\u001es","kf4":"\u001et","kf5":"\u001eu","kf6":"\u001ev","kf7":"\u001ew","kf8":"\u001ex","kf9":"\u001ey","kf10":"\u001ez","kf11":"\u001e{","kf12":"\u001e|","kf13":"\u001e}","kf14":"\u001e~","kf15":"\u001ep","kf16":"\u001ea","kf17":"\u001eb","kf18":"\u001ec","kf19":"\u001ed","kf20":"\u001ee","kf21":"\u001ef","kf22":"\u001eg","kf23":"\u001eh","kf24":"\u001ei","kf25":"\u001ej","kf26":"\u001ek","kf27":"\u001el","kf28":"\u001em","kf29":"\u001en","kf30":"\u001e`","kf31":"\u001e1","kf32":"\u001e2","kf33":"\u001e3","kf34":"\u001e4","kf35":"\u001e5","kf36":"\u001e6","kf37":"\u001e7","kf38":"\u001e8","kf39":"\u001e9","kf40":"\u001e:","kf41":"\u001e;","kf42":"\u001e\u003c","kf43":"\u001e=","kf44":"\u001e\u003e","kf45":"\u001e0","kf46":"\u001e!","kf47":"\u001e\"","kf48":"\u001e#","kf49":"\u001e$","kf50":"\u001e%%","kf51":"\u001e\u0026","kf52":"\u001e'","kf53":"\u001e(","kf54":"\u001e)","kf55":"\u001e*","kf56":"\u001e+","kf57":"\u001e,","kf58":"\u001e-","kf59":"\u001e.","kf60":"\u001e ","khome":"\u001ePF","kcuu1":"\u001ePA","kcud1":"\u001ePB","kcub1":"\u001ePD","kcuf1":"\u001ePC","kclr":"\u001ePH","kprt":"\u001eP0","acsc":"aj$k\"l!m#n)q+t'u\u0026v(w%x*","smacs":"\u001eFS11","rmacs":"\u001eFS00","kRIT":"\u001ePc","kLFT":"\u001ePd","kHOM":"\u001ePf"} -{"name":"d413-unix","aliases":["d463-unix"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u001eFE","cnorm":"\u001eFQ5","civis":"\u001eFQ0","sgr0":"\u001ePJ\u0015\u001d\u001eE\u001eFS00","smul":"\u0014","bold":"\u001eD\u0014","blink":"\u001ePI","rev":"\u001eD","dim":"\u001c","cup":"\u001eFP%p2%2.2X%p1%2.2X","cub1":"\u001ePD","cuu1":"\u001ePA","pad":"\u0000","kf1":"\u001eq","kf2":"\u001er","kf3":"\u001es","kf4":"\u001et","kf5":"\u001eu","kf6":"\u001ev","kf7":"\u001ew","kf8":"\u001ex","kf9":"\u001ey","kf10":"\u001ez","kf11":"\u001e{","kf12":"\u001e|","kf13":"\u001e}","kf14":"\u001e~","kf15":"\u001ep","kf16":"\u001ea","kf17":"\u001eb","kf18":"\u001ec","kf19":"\u001ed","kf20":"\u001ee","kf21":"\u001ef","kf22":"\u001eg","kf23":"\u001eh","kf24":"\u001ei","kf25":"\u001ej","kf26":"\u001ek","kf27":"\u001el","kf28":"\u001em","kf29":"\u001en","kf30":"\u001e`","kf31":"\u001e1","kf32":"\u001e2","kf33":"\u001e3","kf34":"\u001e4","kf35":"\u001e5","kf36":"\u001e6","kf37":"\u001e7","kf38":"\u001e8","kf39":"\u001e9","kf40":"\u001e:","kf41":"\u001e;","kf42":"\u001e\u003c","kf43":"\u001e=","kf44":"\u001e\u003e","kf45":"\u001e0","kf46":"\u001e!","kf47":"\u001e\"","kf48":"\u001e#","kf49":"\u001e$","kf50":"\u001e%%","kf51":"\u001e\u0026","kf52":"\u001e'","kf53":"\u001e(","kf54":"\u001e)","kf55":"\u001e*","kf56":"\u001e+","kf57":"\u001e,","kf58":"\u001e-","kf59":"\u001e.","kf60":"\u001e ","khome":"\u001ePF","kcuu1":"\u001ePA","kcud1":"\u001ePB","kcub1":"\u001ePD","kcuf1":"\u001ePC","kclr":"\u001ePH","kprt":"\u001eP0","acsc":"aj$k\"l!m#n)q+t'u\u0026v(w%x*","smacs":"\u001eFS11","rmacs":"\u001eFS00","kRIT":"\u001ePc","kLFT":"\u001ePd","kHOM":"\u001ePf"} -{"name":"d413-unix-25","aliases":["d463-unix-25"],"cols":80,"lines":25,"bell":"\u0007","clear":"\u001eFE","cnorm":"\u001eFQ5","civis":"\u001eFQ0","sgr0":"\u001ePJ\u0015\u001d\u001eE\u001eFS00","smul":"\u0014","bold":"\u001eD\u0014","blink":"\u001ePI","rev":"\u001eD","dim":"\u001c","cup":"\u001eFP%p2%2.2X%p1%2.2X","cub1":"\u001ePD","cuu1":"\u001ePA","pad":"\u0000","kf1":"\u001eq","kf2":"\u001er","kf3":"\u001es","kf4":"\u001et","kf5":"\u001eu","kf6":"\u001ev","kf7":"\u001ew","kf8":"\u001ex","kf9":"\u001ey","kf10":"\u001ez","kf11":"\u001e{","kf12":"\u001e|","kf13":"\u001e}","kf14":"\u001e~","kf15":"\u001ep","kf16":"\u001ea","kf17":"\u001eb","kf18":"\u001ec","kf19":"\u001ed","kf20":"\u001ee","kf21":"\u001ef","kf22":"\u001eg","kf23":"\u001eh","kf24":"\u001ei","kf25":"\u001ej","kf26":"\u001ek","kf27":"\u001el","kf28":"\u001em","kf29":"\u001en","kf30":"\u001e`","kf31":"\u001e1","kf32":"\u001e2","kf33":"\u001e3","kf34":"\u001e4","kf35":"\u001e5","kf36":"\u001e6","kf37":"\u001e7","kf38":"\u001e8","kf39":"\u001e9","kf40":"\u001e:","kf41":"\u001e;","kf42":"\u001e\u003c","kf43":"\u001e=","kf44":"\u001e\u003e","kf45":"\u001e0","kf46":"\u001e!","kf47":"\u001e\"","kf48":"\u001e#","kf49":"\u001e$","kf50":"\u001e%%","kf51":"\u001e\u0026","kf52":"\u001e'","kf53":"\u001e(","kf54":"\u001e)","kf55":"\u001e*","kf56":"\u001e+","kf57":"\u001e,","kf58":"\u001e-","kf59":"\u001e.","kf60":"\u001e ","khome":"\u001ePF","kcuu1":"\u001ePA","kcud1":"\u001ePB","kcub1":"\u001ePD","kcuf1":"\u001ePC","kclr":"\u001ePH","kprt":"\u001eP0","acsc":"aj$k\"l!m#n)q+t'u\u0026v(w%x*","smacs":"\u001eFS11","rmacs":"\u001eFS00","kRIT":"\u001ePc","kLFT":"\u001ePd","kHOM":"\u001ePf"} -{"name":"d413-unix-s","aliases":["d463-unix-s"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u001eFG\u001ePH","cnorm":"\u001eFQ5","civis":"\u001eFQ0","sgr0":"\u001ePJ\u0015\u001d\u001eE\u001eFS00","smul":"\u0014","bold":"\u001eD\u0014","blink":"\u001ePI","rev":"\u001eD","dim":"\u001c","cup":"\u001eFP%p2%2.2X%p1%2.2X","cub1":"\u001ePD","cuu1":"\u001ePA","pad":"\u0000","kf1":"\u001eq","kf2":"\u001er","kf3":"\u001es","kf4":"\u001et","kf5":"\u001eu","kf6":"\u001ev","kf7":"\u001ew","kf8":"\u001ex","kf9":"\u001ey","kf10":"\u001ez","kf11":"\u001e{","kf12":"\u001e|","kf13":"\u001e}","kf14":"\u001e~","kf15":"\u001ep","kf16":"\u001ea","kf17":"\u001eb","kf18":"\u001ec","kf19":"\u001ed","kf20":"\u001ee","kf21":"\u001ef","kf22":"\u001eg","kf23":"\u001eh","kf24":"\u001ei","kf25":"\u001ej","kf26":"\u001ek","kf27":"\u001el","kf28":"\u001em","kf29":"\u001en","kf30":"\u001e`","kf31":"\u001e1","kf32":"\u001e2","kf33":"\u001e3","kf34":"\u001e4","kf35":"\u001e5","kf36":"\u001e6","kf37":"\u001e7","kf38":"\u001e8","kf39":"\u001e9","kf40":"\u001e:","kf41":"\u001e;","kf42":"\u001e\u003c","kf43":"\u001e=","kf44":"\u001e\u003e","kf45":"\u001e0","kf46":"\u001e!","kf47":"\u001e\"","kf48":"\u001e#","kf49":"\u001e$","kf50":"\u001e%%","kf51":"\u001e\u0026","kf52":"\u001e'","kf53":"\u001e(","kf54":"\u001e)","kf55":"\u001e*","kf56":"\u001e+","kf57":"\u001e,","kf58":"\u001e-","kf59":"\u001e.","kf60":"\u001e ","khome":"\u001ePF","kcuu1":"\u001ePA","kcud1":"\u001ePB","kcub1":"\u001ePD","kcuf1":"\u001ePC","kclr":"\u001ePH","kprt":"\u001eP0","acsc":"aj$k\"l!m#n)q+t'u\u0026v(w%x*","smacs":"\u001eFS11","rmacs":"\u001eFS00","kRIT":"\u001ePc","kLFT":"\u001ePd","kHOM":"\u001ePf"} -{"name":"d413-unix-sr","aliases":["d463-unix-sr"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u001eFE","cnorm":"\u001eFQ5","civis":"\u001eFQ0","sgr0":"\u001ePJ\u0015\u001d\u001eE\u001eFS00","smul":"\u0014","bold":"\u001eD\u0014","blink":"\u001ePI","rev":"\u001eD","dim":"\u001c","cup":"\u001eFP%p2%2.2X%p1%2.2X","cub1":"\u001ePD","pad":"\u0000","kf1":"\u001eq","kf2":"\u001er","kf3":"\u001es","kf4":"\u001et","kf5":"\u001eu","kf6":"\u001ev","kf7":"\u001ew","kf8":"\u001ex","kf9":"\u001ey","kf10":"\u001ez","kf11":"\u001e{","kf12":"\u001e|","kf13":"\u001e}","kf14":"\u001e~","kf15":"\u001ep","kf16":"\u001ea","kf17":"\u001eb","kf18":"\u001ec","kf19":"\u001ed","kf20":"\u001ee","kf21":"\u001ef","kf22":"\u001eg","kf23":"\u001eh","kf24":"\u001ei","kf25":"\u001ej","kf26":"\u001ek","kf27":"\u001el","kf28":"\u001em","kf29":"\u001en","kf30":"\u001e`","kf31":"\u001e1","kf32":"\u001e2","kf33":"\u001e3","kf34":"\u001e4","kf35":"\u001e5","kf36":"\u001e6","kf37":"\u001e7","kf38":"\u001e8","kf39":"\u001e9","kf40":"\u001e:","kf41":"\u001e;","kf42":"\u001e\u003c","kf43":"\u001e=","kf44":"\u001e\u003e","kf45":"\u001e0","kf46":"\u001e!","kf47":"\u001e\"","kf48":"\u001e#","kf49":"\u001e$","kf50":"\u001e%%","kf51":"\u001e\u0026","kf52":"\u001e'","kf53":"\u001e(","kf54":"\u001e)","kf55":"\u001e*","kf56":"\u001e+","kf57":"\u001e,","kf58":"\u001e-","kf59":"\u001e.","kf60":"\u001e ","khome":"\u001ePF","kcuu1":"\u001ePA","kcud1":"\u001ePB","kcub1":"\u001ePD","kcuf1":"\u001ePC","kclr":"\u001ePH","kprt":"\u001eP0","acsc":"aj$k\"l!m#n)q+t'u\u0026v(w%x*","smacs":"\u001eFS11","rmacs":"\u001eFS00","kRIT":"\u001ePc","kLFT":"\u001ePd","kHOM":"\u001ePf"} -{"name":"d413-unix-w","aliases":["d463-unix-w"],"cols":132,"lines":24,"bell":"\u0007","clear":"\u001eFE","cnorm":"\u001eFQ5","civis":"\u001eFQ0","sgr0":"\u001ePJ\u0015\u001d\u001eE\u001eFS00","smul":"\u0014","bold":"\u001eD\u0014","blink":"\u001ePI","rev":"\u001eD","dim":"\u001c","cup":"\u001eFP%p2%2.2X%p1%2.2X","cub1":"\u001ePD","cuu1":"\u001ePA","pad":"\u0000","kf1":"\u001eq","kf2":"\u001er","kf3":"\u001es","kf4":"\u001et","kf5":"\u001eu","kf6":"\u001ev","kf7":"\u001ew","kf8":"\u001ex","kf9":"\u001ey","kf10":"\u001ez","kf11":"\u001e{","kf12":"\u001e|","kf13":"\u001e}","kf14":"\u001e~","kf15":"\u001ep","kf16":"\u001ea","kf17":"\u001eb","kf18":"\u001ec","kf19":"\u001ed","kf20":"\u001ee","kf21":"\u001ef","kf22":"\u001eg","kf23":"\u001eh","kf24":"\u001ei","kf25":"\u001ej","kf26":"\u001ek","kf27":"\u001el","kf28":"\u001em","kf29":"\u001en","kf30":"\u001e`","kf31":"\u001e1","kf32":"\u001e2","kf33":"\u001e3","kf34":"\u001e4","kf35":"\u001e5","kf36":"\u001e6","kf37":"\u001e7","kf38":"\u001e8","kf39":"\u001e9","kf40":"\u001e:","kf41":"\u001e;","kf42":"\u001e\u003c","kf43":"\u001e=","kf44":"\u001e\u003e","kf45":"\u001e0","kf46":"\u001e!","kf47":"\u001e\"","kf48":"\u001e#","kf49":"\u001e$","kf50":"\u001e%%","kf51":"\u001e\u0026","kf52":"\u001e'","kf53":"\u001e(","kf54":"\u001e)","kf55":"\u001e*","kf56":"\u001e+","kf57":"\u001e,","kf58":"\u001e-","kf59":"\u001e.","kf60":"\u001e ","khome":"\u001ePF","kcuu1":"\u001ePA","kcud1":"\u001ePB","kcub1":"\u001ePD","kcuf1":"\u001ePC","kclr":"\u001ePH","kprt":"\u001eP0","acsc":"aj$k\"l!m#n)q+t'u\u0026v(w%x*","smacs":"\u001eFS11","rmacs":"\u001eFS00","kRIT":"\u001ePc","kLFT":"\u001ePd","kHOM":"\u001ePf"} -{"name":"d414-unix","aliases":["d464-unix"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u001eFE","cnorm":"\u001eFQ5","civis":"\u001eFQ0","sgr0":"\u001ePJ\u0015\u001d\u001eE\u001eFS00","smul":"\u0014","bold":"\u001eD\u0014","blink":"\u001ePI","rev":"\u001eD","dim":"\u001c","cup":"\u001eFP%p2%2.2X%p1%2.2X","cub1":"\u001ePD","cuu1":"\u001ePA","pad":"\u0000","kf1":"\u001eq","kf2":"\u001er","kf3":"\u001es","kf4":"\u001et","kf5":"\u001eu","kf6":"\u001ev","kf7":"\u001ew","kf8":"\u001ex","kf9":"\u001ey","kf10":"\u001ez","kf11":"\u001e{","kf12":"\u001e|","kf13":"\u001e}","kf14":"\u001e~","kf15":"\u001ep","kf16":"\u001ea","kf17":"\u001eb","kf18":"\u001ec","kf19":"\u001ed","kf20":"\u001ee","kf21":"\u001ef","kf22":"\u001eg","kf23":"\u001eh","kf24":"\u001ei","kf25":"\u001ej","kf26":"\u001ek","kf27":"\u001el","kf28":"\u001em","kf29":"\u001en","kf30":"\u001e`","kf31":"\u001e1","kf32":"\u001e2","kf33":"\u001e3","kf34":"\u001e4","kf35":"\u001e5","kf36":"\u001e6","kf37":"\u001e7","kf38":"\u001e8","kf39":"\u001e9","kf40":"\u001e:","kf41":"\u001e;","kf42":"\u001e\u003c","kf43":"\u001e=","kf44":"\u001e\u003e","kf45":"\u001e0","kf46":"\u001e!","kf47":"\u001e\"","kf48":"\u001e#","kf49":"\u001e$","kf50":"\u001e%%","kf51":"\u001e\u0026","kf52":"\u001e'","kf53":"\u001e(","kf54":"\u001e)","kf55":"\u001e*","kf56":"\u001e+","kf57":"\u001e,","kf58":"\u001e-","kf59":"\u001e.","kf60":"\u001e ","khome":"\u001ePF","kcuu1":"\u001ePA","kcud1":"\u001ePB","kcub1":"\u001ePD","kcuf1":"\u001ePC","kclr":"\u001ePH","kprt":"\u001eP0","acsc":"aj$k\"l!m#n)q+t'u\u0026v(w%x*","smacs":"\u001eFS11","rmacs":"\u001eFS00","kRIT":"\u001ePc","kLFT":"\u001ePd","kHOM":"\u001ePf"} -{"name":"d414-unix-25","aliases":["d464-unix-25"],"cols":80,"lines":25,"bell":"\u0007","clear":"\u001eFE","cnorm":"\u001eFQ5","civis":"\u001eFQ0","sgr0":"\u001ePJ\u0015\u001d\u001eE\u001eFS00","smul":"\u0014","bold":"\u001eD\u0014","blink":"\u001ePI","rev":"\u001eD","dim":"\u001c","cup":"\u001eFP%p2%2.2X%p1%2.2X","cub1":"\u001ePD","cuu1":"\u001ePA","pad":"\u0000","kf1":"\u001eq","kf2":"\u001er","kf3":"\u001es","kf4":"\u001et","kf5":"\u001eu","kf6":"\u001ev","kf7":"\u001ew","kf8":"\u001ex","kf9":"\u001ey","kf10":"\u001ez","kf11":"\u001e{","kf12":"\u001e|","kf13":"\u001e}","kf14":"\u001e~","kf15":"\u001ep","kf16":"\u001ea","kf17":"\u001eb","kf18":"\u001ec","kf19":"\u001ed","kf20":"\u001ee","kf21":"\u001ef","kf22":"\u001eg","kf23":"\u001eh","kf24":"\u001ei","kf25":"\u001ej","kf26":"\u001ek","kf27":"\u001el","kf28":"\u001em","kf29":"\u001en","kf30":"\u001e`","kf31":"\u001e1","kf32":"\u001e2","kf33":"\u001e3","kf34":"\u001e4","kf35":"\u001e5","kf36":"\u001e6","kf37":"\u001e7","kf38":"\u001e8","kf39":"\u001e9","kf40":"\u001e:","kf41":"\u001e;","kf42":"\u001e\u003c","kf43":"\u001e=","kf44":"\u001e\u003e","kf45":"\u001e0","kf46":"\u001e!","kf47":"\u001e\"","kf48":"\u001e#","kf49":"\u001e$","kf50":"\u001e%%","kf51":"\u001e\u0026","kf52":"\u001e'","kf53":"\u001e(","kf54":"\u001e)","kf55":"\u001e*","kf56":"\u001e+","kf57":"\u001e,","kf58":"\u001e-","kf59":"\u001e.","kf60":"\u001e ","khome":"\u001ePF","kcuu1":"\u001ePA","kcud1":"\u001ePB","kcub1":"\u001ePD","kcuf1":"\u001ePC","kclr":"\u001ePH","kprt":"\u001eP0","acsc":"aj$k\"l!m#n)q+t'u\u0026v(w%x*","smacs":"\u001eFS11","rmacs":"\u001eFS00","kRIT":"\u001ePc","kLFT":"\u001ePd","kHOM":"\u001ePf"} -{"name":"d414-unix-s","aliases":["d464-unix-s"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u001eFG\u001ePH","cnorm":"\u001eFQ5","civis":"\u001eFQ0","sgr0":"\u001ePJ\u0015\u001d\u001eE\u001eFS00","smul":"\u0014","bold":"\u001eD\u0014","blink":"\u001ePI","rev":"\u001eD","dim":"\u001c","cup":"\u001eFP%p2%2.2X%p1%2.2X","cub1":"\u001ePD","cuu1":"\u001ePA","pad":"\u0000","kf1":"\u001eq","kf2":"\u001er","kf3":"\u001es","kf4":"\u001et","kf5":"\u001eu","kf6":"\u001ev","kf7":"\u001ew","kf8":"\u001ex","kf9":"\u001ey","kf10":"\u001ez","kf11":"\u001e{","kf12":"\u001e|","kf13":"\u001e}","kf14":"\u001e~","kf15":"\u001ep","kf16":"\u001ea","kf17":"\u001eb","kf18":"\u001ec","kf19":"\u001ed","kf20":"\u001ee","kf21":"\u001ef","kf22":"\u001eg","kf23":"\u001eh","kf24":"\u001ei","kf25":"\u001ej","kf26":"\u001ek","kf27":"\u001el","kf28":"\u001em","kf29":"\u001en","kf30":"\u001e`","kf31":"\u001e1","kf32":"\u001e2","kf33":"\u001e3","kf34":"\u001e4","kf35":"\u001e5","kf36":"\u001e6","kf37":"\u001e7","kf38":"\u001e8","kf39":"\u001e9","kf40":"\u001e:","kf41":"\u001e;","kf42":"\u001e\u003c","kf43":"\u001e=","kf44":"\u001e\u003e","kf45":"\u001e0","kf46":"\u001e!","kf47":"\u001e\"","kf48":"\u001e#","kf49":"\u001e$","kf50":"\u001e%%","kf51":"\u001e\u0026","kf52":"\u001e'","kf53":"\u001e(","kf54":"\u001e)","kf55":"\u001e*","kf56":"\u001e+","kf57":"\u001e,","kf58":"\u001e-","kf59":"\u001e.","kf60":"\u001e ","khome":"\u001ePF","kcuu1":"\u001ePA","kcud1":"\u001ePB","kcub1":"\u001ePD","kcuf1":"\u001ePC","kclr":"\u001ePH","kprt":"\u001eP0","acsc":"aj$k\"l!m#n)q+t'u\u0026v(w%x*","smacs":"\u001eFS11","rmacs":"\u001eFS00","kRIT":"\u001ePc","kLFT":"\u001ePd","kHOM":"\u001ePf"} -{"name":"d414-unix-sr","aliases":["d464-unix-sr"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u001eFE","cnorm":"\u001eFQ5","civis":"\u001eFQ0","sgr0":"\u001ePJ\u0015\u001d\u001eE\u001eFS00","smul":"\u0014","bold":"\u001eD\u0014","blink":"\u001ePI","rev":"\u001eD","dim":"\u001c","cup":"\u001eFP%p2%2.2X%p1%2.2X","cub1":"\u001ePD","pad":"\u0000","kf1":"\u001eq","kf2":"\u001er","kf3":"\u001es","kf4":"\u001et","kf5":"\u001eu","kf6":"\u001ev","kf7":"\u001ew","kf8":"\u001ex","kf9":"\u001ey","kf10":"\u001ez","kf11":"\u001e{","kf12":"\u001e|","kf13":"\u001e}","kf14":"\u001e~","kf15":"\u001ep","kf16":"\u001ea","kf17":"\u001eb","kf18":"\u001ec","kf19":"\u001ed","kf20":"\u001ee","kf21":"\u001ef","kf22":"\u001eg","kf23":"\u001eh","kf24":"\u001ei","kf25":"\u001ej","kf26":"\u001ek","kf27":"\u001el","kf28":"\u001em","kf29":"\u001en","kf30":"\u001e`","kf31":"\u001e1","kf32":"\u001e2","kf33":"\u001e3","kf34":"\u001e4","kf35":"\u001e5","kf36":"\u001e6","kf37":"\u001e7","kf38":"\u001e8","kf39":"\u001e9","kf40":"\u001e:","kf41":"\u001e;","kf42":"\u001e\u003c","kf43":"\u001e=","kf44":"\u001e\u003e","kf45":"\u001e0","kf46":"\u001e!","kf47":"\u001e\"","kf48":"\u001e#","kf49":"\u001e$","kf50":"\u001e%%","kf51":"\u001e\u0026","kf52":"\u001e'","kf53":"\u001e(","kf54":"\u001e)","kf55":"\u001e*","kf56":"\u001e+","kf57":"\u001e,","kf58":"\u001e-","kf59":"\u001e.","kf60":"\u001e ","khome":"\u001ePF","kcuu1":"\u001ePA","kcud1":"\u001ePB","kcub1":"\u001ePD","kcuf1":"\u001ePC","kclr":"\u001ePH","kprt":"\u001eP0","acsc":"aj$k\"l!m#n)q+t'u\u0026v(w%x*","smacs":"\u001eFS11","rmacs":"\u001eFS00","kRIT":"\u001ePc","kLFT":"\u001ePd","kHOM":"\u001ePf"} -{"name":"d414-unix-w","aliases":["d464-unix-w"],"cols":132,"lines":24,"bell":"\u0007","clear":"\u001eFE","cnorm":"\u001eFQ5","civis":"\u001eFQ0","sgr0":"\u001ePJ\u0015\u001d\u001eE\u001eFS00","smul":"\u0014","bold":"\u001eD\u0014","blink":"\u001ePI","rev":"\u001eD","dim":"\u001c","cup":"\u001eFP%p2%2.2X%p1%2.2X","cub1":"\u001ePD","cuu1":"\u001ePA","pad":"\u0000","kf1":"\u001eq","kf2":"\u001er","kf3":"\u001es","kf4":"\u001et","kf5":"\u001eu","kf6":"\u001ev","kf7":"\u001ew","kf8":"\u001ex","kf9":"\u001ey","kf10":"\u001ez","kf11":"\u001e{","kf12":"\u001e|","kf13":"\u001e}","kf14":"\u001e~","kf15":"\u001ep","kf16":"\u001ea","kf17":"\u001eb","kf18":"\u001ec","kf19":"\u001ed","kf20":"\u001ee","kf21":"\u001ef","kf22":"\u001eg","kf23":"\u001eh","kf24":"\u001ei","kf25":"\u001ej","kf26":"\u001ek","kf27":"\u001el","kf28":"\u001em","kf29":"\u001en","kf30":"\u001e`","kf31":"\u001e1","kf32":"\u001e2","kf33":"\u001e3","kf34":"\u001e4","kf35":"\u001e5","kf36":"\u001e6","kf37":"\u001e7","kf38":"\u001e8","kf39":"\u001e9","kf40":"\u001e:","kf41":"\u001e;","kf42":"\u001e\u003c","kf43":"\u001e=","kf44":"\u001e\u003e","kf45":"\u001e0","kf46":"\u001e!","kf47":"\u001e\"","kf48":"\u001e#","kf49":"\u001e$","kf50":"\u001e%%","kf51":"\u001e\u0026","kf52":"\u001e'","kf53":"\u001e(","kf54":"\u001e)","kf55":"\u001e*","kf56":"\u001e+","kf57":"\u001e,","kf58":"\u001e-","kf59":"\u001e.","kf60":"\u001e ","khome":"\u001ePF","kcuu1":"\u001ePA","kcud1":"\u001ePB","kcub1":"\u001ePD","kcuf1":"\u001ePC","kclr":"\u001ePH","kprt":"\u001eP0","acsc":"aj$k\"l!m#n)q+t'u\u0026v(w%x*","smacs":"\u001eFS11","rmacs":"\u001eFS00","kRIT":"\u001ePc","kLFT":"\u001ePd","kHOM":"\u001ePf"} -{"name":"d430c-dg","aliases":["d430-dg"],"cols":80,"lines":24,"colors":16,"bell":"\u0007","clear":"\u000c","cnorm":"\u001eFQ2","civis":"\u001eFQ0","sgr0":"\u000f\u0015\u001d\u001eE\u001eFS00","smul":"\u0014","bold":"\u001eD\u0014","blink":"\u000e","rev":"\u001eD","dim":"\u001c","setaf":"\u001eA%p1%?%p1%{8}%\u003c%t%{2}%\u0026%?%p1%{1}%\u0026%t%{4}%|%;%?%p1%{4}%\u0026%t%{1}%|%;%;%'0'%+%c","setbg":"\u001eB%p1%?%p1%{8}%\u003c%t%{2}%\u0026%?%p1%{1}%\u0026%t%{4}%|%;%?%p1%{4}%\u0026%t%{1}%|%;%;%'0'%+%c","cup":"\u0010%p2%c%p1%c","cub1":"\u0019","cuu1":"\u0017","pad":"\u0000","kf1":"\u001eq","kf2":"\u001er","kf3":"\u001es","kf4":"\u001et","kf5":"\u001eu","kf6":"\u001ev","kf7":"\u001ew","kf8":"\u001ex","kf9":"\u001ey","kf10":"\u001ez","kf11":"\u001e{","kf12":"\u001e|","kf13":"\u001e}","kf14":"\u001e~","kf15":"\u001ep","kf16":"\u001ea","kf17":"\u001eb","kf18":"\u001ec","kf19":"\u001ed","kf20":"\u001ee","kf21":"\u001ef","kf22":"\u001eg","kf23":"\u001eh","kf24":"\u001ei","kf25":"\u001ej","kf26":"\u001ek","kf27":"\u001el","kf28":"\u001em","kf29":"\u001en","kf30":"\u001e`","kf31":"\u001e1","kf32":"\u001e2","kf33":"\u001e3","kf34":"\u001e4","kf35":"\u001e5","kf36":"\u001e6","kf37":"\u001e7","kf38":"\u001e8","kf39":"\u001e9","kf40":"\u001e:","kf41":"\u001e;","kf42":"\u001e\u003c","kf43":"\u001e=","kf44":"\u001e\u003e","kf45":"\u001e0","kf46":"\u001e!","kf47":"\u001e\"","kf48":"\u001e#","kf49":"\u001e$","kf50":"\u001e%%","kf51":"\u001e\u0026","kf52":"\u001e'","kf53":"\u001e(","kf54":"\u001e)","kf55":"\u001e*","kf56":"\u001e+","kf57":"\u001e,","kf58":"\u001e-","kf59":"\u001e.","kf60":"\u001e ","khome":"\u0008","kcuu1":"\u0017","kcud1":"\u001a","kcub1":"\u0019","kcuf1":"\u0018","kclr":"\u000c","acsc":"j$k\"l!m#n)q+t'u\u0026v(w%x*","smacs":"\u001eFS11","rmacs":"\u001eFS00","kRIT":"\u001e\u0018","kLFT":"\u001e\u0019","kHOM":"\u001e\u0008"} -{"name":"d430c-dg-ccc","aliases":["d430-dg-ccc"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u000c","cnorm":"\u001eFQ2","civis":"\u001eFQ0","sgr0":"\u000f\u0015\u001d\u001eE\u001eFS00","smul":"\u0014","bold":"\u001eD\u0014","blink":"\u000e","rev":"\u001eD","dim":"\u001c","cup":"\u0010%p2%c%p1%c","cub1":"\u0019","cuu1":"\u0017","pad":"\u0000","kf1":"\u001eq","kf2":"\u001er","kf3":"\u001es","kf4":"\u001et","kf5":"\u001eu","kf6":"\u001ev","kf7":"\u001ew","kf8":"\u001ex","kf9":"\u001ey","kf10":"\u001ez","kf11":"\u001e{","kf12":"\u001e|","kf13":"\u001e}","kf14":"\u001e~","kf15":"\u001ep","kf16":"\u001ea","kf17":"\u001eb","kf18":"\u001ec","kf19":"\u001ed","kf20":"\u001ee","kf21":"\u001ef","kf22":"\u001eg","kf23":"\u001eh","kf24":"\u001ei","kf25":"\u001ej","kf26":"\u001ek","kf27":"\u001el","kf28":"\u001em","kf29":"\u001en","kf30":"\u001e`","kf31":"\u001e1","kf32":"\u001e2","kf33":"\u001e3","kf34":"\u001e4","kf35":"\u001e5","kf36":"\u001e6","kf37":"\u001e7","kf38":"\u001e8","kf39":"\u001e9","kf40":"\u001e:","kf41":"\u001e;","kf42":"\u001e\u003c","kf43":"\u001e=","kf44":"\u001e\u003e","kf45":"\u001e0","kf46":"\u001e!","kf47":"\u001e\"","kf48":"\u001e#","kf49":"\u001e$","kf50":"\u001e%%","kf51":"\u001e\u0026","kf52":"\u001e'","kf53":"\u001e(","kf54":"\u001e)","kf55":"\u001e*","kf56":"\u001e+","kf57":"\u001e,","kf58":"\u001e-","kf59":"\u001e.","kf60":"\u001e ","khome":"\u0008","kcuu1":"\u0017","kcud1":"\u001a","kcub1":"\u0019","kcuf1":"\u0018","kclr":"\u000c","acsc":"j$k\"l!m#n)q+t'u\u0026v(w%x*","smacs":"\u001eFS11","rmacs":"\u001eFS00","kRIT":"\u001e\u0018","kLFT":"\u001e\u0019","kHOM":"\u001e\u0008"} -{"name":"d430c-unix","aliases":["d430-unix"],"cols":80,"lines":24,"colors":16,"bell":"\u0007","clear":"\u001eFE","cnorm":"\u001eFQ5","civis":"\u001eFQ0","sgr0":"\u001ePJ\u0015\u001d\u001eE\u001eFS00","smul":"\u0014","bold":"\u001eD\u0014","blink":"\u001ePI","rev":"\u001eD","dim":"\u001c","setaf":"\u001eA%p1%?%p1%{8}%\u003c%t%{2}%\u0026%?%p1%{1}%\u0026%t%{4}%|%;%?%p1%{4}%\u0026%t%{1}%|%;%;%'0'%+%c","setbg":"\u001eB%p1%?%p1%{8}%\u003c%t%{2}%\u0026%?%p1%{1}%\u0026%t%{4}%|%;%?%p1%{4}%\u0026%t%{1}%|%;%;%'0'%+%c","cup":"\u001eFP%p2%2.2X%p1%2.2X","cub1":"\u001ePD","cuu1":"\u001ePA","pad":"\u0000","kf1":"\u001eq","kf2":"\u001er","kf3":"\u001es","kf4":"\u001et","kf5":"\u001eu","kf6":"\u001ev","kf7":"\u001ew","kf8":"\u001ex","kf9":"\u001ey","kf10":"\u001ez","kf11":"\u001e{","kf12":"\u001e|","kf13":"\u001e}","kf14":"\u001e~","kf15":"\u001ep","kf16":"\u001ea","kf17":"\u001eb","kf18":"\u001ec","kf19":"\u001ed","kf20":"\u001ee","kf21":"\u001ef","kf22":"\u001eg","kf23":"\u001eh","kf24":"\u001ei","kf25":"\u001ej","kf26":"\u001ek","kf27":"\u001el","kf28":"\u001em","kf29":"\u001en","kf30":"\u001e`","kf31":"\u001e1","kf32":"\u001e2","kf33":"\u001e3","kf34":"\u001e4","kf35":"\u001e5","kf36":"\u001e6","kf37":"\u001e7","kf38":"\u001e8","kf39":"\u001e9","kf40":"\u001e:","kf41":"\u001e;","kf42":"\u001e\u003c","kf43":"\u001e=","kf44":"\u001e\u003e","kf45":"\u001e0","kf46":"\u001e!","kf47":"\u001e\"","kf48":"\u001e#","kf49":"\u001e$","kf50":"\u001e%%","kf51":"\u001e\u0026","kf52":"\u001e'","kf53":"\u001e(","kf54":"\u001e)","kf55":"\u001e*","kf56":"\u001e+","kf57":"\u001e,","kf58":"\u001e-","kf59":"\u001e.","kf60":"\u001e ","khome":"\u001ePF","kcuu1":"\u001ePA","kcud1":"\u001ePB","kcub1":"\u001ePD","kcuf1":"\u001ePC","kclr":"\u001ePH","kprt":"\u001eP0","acsc":"aj$k\"l!m#n)q+t'u\u0026v(w%x*","smacs":"\u001eFS11","rmacs":"\u001eFS00","kRIT":"\u001ePc","kLFT":"\u001ePd","kHOM":"\u001ePf"} -{"name":"d430c-unix-25","aliases":["d430-unix-25"],"cols":80,"lines":25,"colors":16,"bell":"\u0007","clear":"\u001eFE","cnorm":"\u001eFQ5","civis":"\u001eFQ0","sgr0":"\u001ePJ\u0015\u001d\u001eE\u001eFS00","smul":"\u0014","bold":"\u001eD\u0014","blink":"\u001ePI","rev":"\u001eD","dim":"\u001c","setaf":"\u001eA%p1%?%p1%{8}%\u003c%t%{2}%\u0026%?%p1%{1}%\u0026%t%{4}%|%;%?%p1%{4}%\u0026%t%{1}%|%;%;%'0'%+%c","setbg":"\u001eB%p1%?%p1%{8}%\u003c%t%{2}%\u0026%?%p1%{1}%\u0026%t%{4}%|%;%?%p1%{4}%\u0026%t%{1}%|%;%;%'0'%+%c","cup":"\u001eFP%p2%2.2X%p1%2.2X","cub1":"\u001ePD","cuu1":"\u001ePA","pad":"\u0000","kf1":"\u001eq","kf2":"\u001er","kf3":"\u001es","kf4":"\u001et","kf5":"\u001eu","kf6":"\u001ev","kf7":"\u001ew","kf8":"\u001ex","kf9":"\u001ey","kf10":"\u001ez","kf11":"\u001e{","kf12":"\u001e|","kf13":"\u001e}","kf14":"\u001e~","kf15":"\u001ep","kf16":"\u001ea","kf17":"\u001eb","kf18":"\u001ec","kf19":"\u001ed","kf20":"\u001ee","kf21":"\u001ef","kf22":"\u001eg","kf23":"\u001eh","kf24":"\u001ei","kf25":"\u001ej","kf26":"\u001ek","kf27":"\u001el","kf28":"\u001em","kf29":"\u001en","kf30":"\u001e`","kf31":"\u001e1","kf32":"\u001e2","kf33":"\u001e3","kf34":"\u001e4","kf35":"\u001e5","kf36":"\u001e6","kf37":"\u001e7","kf38":"\u001e8","kf39":"\u001e9","kf40":"\u001e:","kf41":"\u001e;","kf42":"\u001e\u003c","kf43":"\u001e=","kf44":"\u001e\u003e","kf45":"\u001e0","kf46":"\u001e!","kf47":"\u001e\"","kf48":"\u001e#","kf49":"\u001e$","kf50":"\u001e%%","kf51":"\u001e\u0026","kf52":"\u001e'","kf53":"\u001e(","kf54":"\u001e)","kf55":"\u001e*","kf56":"\u001e+","kf57":"\u001e,","kf58":"\u001e-","kf59":"\u001e.","kf60":"\u001e ","khome":"\u001ePF","kcuu1":"\u001ePA","kcud1":"\u001ePB","kcub1":"\u001ePD","kcuf1":"\u001ePC","kclr":"\u001ePH","kprt":"\u001eP0","acsc":"aj$k\"l!m#n)q+t'u\u0026v(w%x*","smacs":"\u001eFS11","rmacs":"\u001eFS00","kRIT":"\u001ePc","kLFT":"\u001ePd","kHOM":"\u001ePf"} -{"name":"d430c-unix-25-ccc","aliases":["d430-unix-25-ccc"],"cols":80,"lines":25,"bell":"\u0007","clear":"\u001eFE","cnorm":"\u001eFQ5","civis":"\u001eFQ0","sgr0":"\u001ePJ\u0015\u001d\u001eE\u001eFS00","smul":"\u0014","bold":"\u001eD\u0014","blink":"\u001ePI","rev":"\u001eD","dim":"\u001c","cup":"\u001eFP%p2%2.2X%p1%2.2X","cub1":"\u001ePD","cuu1":"\u001ePA","pad":"\u0000","kf1":"\u001eq","kf2":"\u001er","kf3":"\u001es","kf4":"\u001et","kf5":"\u001eu","kf6":"\u001ev","kf7":"\u001ew","kf8":"\u001ex","kf9":"\u001ey","kf10":"\u001ez","kf11":"\u001e{","kf12":"\u001e|","kf13":"\u001e}","kf14":"\u001e~","kf15":"\u001ep","kf16":"\u001ea","kf17":"\u001eb","kf18":"\u001ec","kf19":"\u001ed","kf20":"\u001ee","kf21":"\u001ef","kf22":"\u001eg","kf23":"\u001eh","kf24":"\u001ei","kf25":"\u001ej","kf26":"\u001ek","kf27":"\u001el","kf28":"\u001em","kf29":"\u001en","kf30":"\u001e`","kf31":"\u001e1","kf32":"\u001e2","kf33":"\u001e3","kf34":"\u001e4","kf35":"\u001e5","kf36":"\u001e6","kf37":"\u001e7","kf38":"\u001e8","kf39":"\u001e9","kf40":"\u001e:","kf41":"\u001e;","kf42":"\u001e\u003c","kf43":"\u001e=","kf44":"\u001e\u003e","kf45":"\u001e0","kf46":"\u001e!","kf47":"\u001e\"","kf48":"\u001e#","kf49":"\u001e$","kf50":"\u001e%%","kf51":"\u001e\u0026","kf52":"\u001e'","kf53":"\u001e(","kf54":"\u001e)","kf55":"\u001e*","kf56":"\u001e+","kf57":"\u001e,","kf58":"\u001e-","kf59":"\u001e.","kf60":"\u001e ","khome":"\u001ePF","kcuu1":"\u001ePA","kcud1":"\u001ePB","kcub1":"\u001ePD","kcuf1":"\u001ePC","kclr":"\u001ePH","kprt":"\u001eP0","acsc":"aj$k\"l!m#n)q+t'u\u0026v(w%x*","smacs":"\u001eFS11","rmacs":"\u001eFS00","kRIT":"\u001ePc","kLFT":"\u001ePd","kHOM":"\u001ePf"} -{"name":"d430c-unix-ccc","aliases":["d430-unix-ccc"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u001eFE","cnorm":"\u001eFQ5","civis":"\u001eFQ0","sgr0":"\u001ePJ\u0015\u001d\u001eE\u001eFS00","smul":"\u0014","bold":"\u001eD\u0014","blink":"\u001ePI","rev":"\u001eD","dim":"\u001c","cup":"\u001eFP%p2%2.2X%p1%2.2X","cub1":"\u001ePD","cuu1":"\u001ePA","pad":"\u0000","kf1":"\u001eq","kf2":"\u001er","kf3":"\u001es","kf4":"\u001et","kf5":"\u001eu","kf6":"\u001ev","kf7":"\u001ew","kf8":"\u001ex","kf9":"\u001ey","kf10":"\u001ez","kf11":"\u001e{","kf12":"\u001e|","kf13":"\u001e}","kf14":"\u001e~","kf15":"\u001ep","kf16":"\u001ea","kf17":"\u001eb","kf18":"\u001ec","kf19":"\u001ed","kf20":"\u001ee","kf21":"\u001ef","kf22":"\u001eg","kf23":"\u001eh","kf24":"\u001ei","kf25":"\u001ej","kf26":"\u001ek","kf27":"\u001el","kf28":"\u001em","kf29":"\u001en","kf30":"\u001e`","kf31":"\u001e1","kf32":"\u001e2","kf33":"\u001e3","kf34":"\u001e4","kf35":"\u001e5","kf36":"\u001e6","kf37":"\u001e7","kf38":"\u001e8","kf39":"\u001e9","kf40":"\u001e:","kf41":"\u001e;","kf42":"\u001e\u003c","kf43":"\u001e=","kf44":"\u001e\u003e","kf45":"\u001e0","kf46":"\u001e!","kf47":"\u001e\"","kf48":"\u001e#","kf49":"\u001e$","kf50":"\u001e%%","kf51":"\u001e\u0026","kf52":"\u001e'","kf53":"\u001e(","kf54":"\u001e)","kf55":"\u001e*","kf56":"\u001e+","kf57":"\u001e,","kf58":"\u001e-","kf59":"\u001e.","kf60":"\u001e ","khome":"\u001ePF","kcuu1":"\u001ePA","kcud1":"\u001ePB","kcub1":"\u001ePD","kcuf1":"\u001ePC","kclr":"\u001ePH","kprt":"\u001eP0","acsc":"aj$k\"l!m#n)q+t'u\u0026v(w%x*","smacs":"\u001eFS11","rmacs":"\u001eFS00","kRIT":"\u001ePc","kLFT":"\u001ePd","kHOM":"\u001ePf"} -{"name":"d430c-unix-s","aliases":["d430-unix-s"],"cols":80,"lines":24,"colors":16,"bell":"\u0007","clear":"\u001eFG\u001ePH","cnorm":"\u001eFQ5","civis":"\u001eFQ0","sgr0":"\u001ePJ\u0015\u001d\u001eE\u001eFS00","smul":"\u0014","bold":"\u001eD\u0014","blink":"\u001ePI","rev":"\u001eD","dim":"\u001c","setaf":"\u001eA%p1%?%p1%{8}%\u003c%t%{2}%\u0026%?%p1%{1}%\u0026%t%{4}%|%;%?%p1%{4}%\u0026%t%{1}%|%;%;%'0'%+%c","setbg":"\u001eB%p1%?%p1%{8}%\u003c%t%{2}%\u0026%?%p1%{1}%\u0026%t%{4}%|%;%?%p1%{4}%\u0026%t%{1}%|%;%;%'0'%+%c","cup":"\u001eFP%p2%2.2X%p1%2.2X","cub1":"\u001ePD","cuu1":"\u001ePA","pad":"\u0000","kf1":"\u001eq","kf2":"\u001er","kf3":"\u001es","kf4":"\u001et","kf5":"\u001eu","kf6":"\u001ev","kf7":"\u001ew","kf8":"\u001ex","kf9":"\u001ey","kf10":"\u001ez","kf11":"\u001e{","kf12":"\u001e|","kf13":"\u001e}","kf14":"\u001e~","kf15":"\u001ep","kf16":"\u001ea","kf17":"\u001eb","kf18":"\u001ec","kf19":"\u001ed","kf20":"\u001ee","kf21":"\u001ef","kf22":"\u001eg","kf23":"\u001eh","kf24":"\u001ei","kf25":"\u001ej","kf26":"\u001ek","kf27":"\u001el","kf28":"\u001em","kf29":"\u001en","kf30":"\u001e`","kf31":"\u001e1","kf32":"\u001e2","kf33":"\u001e3","kf34":"\u001e4","kf35":"\u001e5","kf36":"\u001e6","kf37":"\u001e7","kf38":"\u001e8","kf39":"\u001e9","kf40":"\u001e:","kf41":"\u001e;","kf42":"\u001e\u003c","kf43":"\u001e=","kf44":"\u001e\u003e","kf45":"\u001e0","kf46":"\u001e!","kf47":"\u001e\"","kf48":"\u001e#","kf49":"\u001e$","kf50":"\u001e%%","kf51":"\u001e\u0026","kf52":"\u001e'","kf53":"\u001e(","kf54":"\u001e)","kf55":"\u001e*","kf56":"\u001e+","kf57":"\u001e,","kf58":"\u001e-","kf59":"\u001e.","kf60":"\u001e ","khome":"\u001ePF","kcuu1":"\u001ePA","kcud1":"\u001ePB","kcub1":"\u001ePD","kcuf1":"\u001ePC","kclr":"\u001ePH","kprt":"\u001eP0","acsc":"aj$k\"l!m#n)q+t'u\u0026v(w%x*","smacs":"\u001eFS11","rmacs":"\u001eFS00","kRIT":"\u001ePc","kLFT":"\u001ePd","kHOM":"\u001ePf"} -{"name":"d430c-unix-s-ccc","aliases":["d430-unix-s-ccc"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u001eFG\u001ePH","cnorm":"\u001eFQ5","civis":"\u001eFQ0","sgr0":"\u001ePJ\u0015\u001d\u001eE\u001eFS00","smul":"\u0014","bold":"\u001eD\u0014","blink":"\u001ePI","rev":"\u001eD","dim":"\u001c","cup":"\u001eFP%p2%2.2X%p1%2.2X","cub1":"\u001ePD","cuu1":"\u001ePA","pad":"\u0000","kf1":"\u001eq","kf2":"\u001er","kf3":"\u001es","kf4":"\u001et","kf5":"\u001eu","kf6":"\u001ev","kf7":"\u001ew","kf8":"\u001ex","kf9":"\u001ey","kf10":"\u001ez","kf11":"\u001e{","kf12":"\u001e|","kf13":"\u001e}","kf14":"\u001e~","kf15":"\u001ep","kf16":"\u001ea","kf17":"\u001eb","kf18":"\u001ec","kf19":"\u001ed","kf20":"\u001ee","kf21":"\u001ef","kf22":"\u001eg","kf23":"\u001eh","kf24":"\u001ei","kf25":"\u001ej","kf26":"\u001ek","kf27":"\u001el","kf28":"\u001em","kf29":"\u001en","kf30":"\u001e`","kf31":"\u001e1","kf32":"\u001e2","kf33":"\u001e3","kf34":"\u001e4","kf35":"\u001e5","kf36":"\u001e6","kf37":"\u001e7","kf38":"\u001e8","kf39":"\u001e9","kf40":"\u001e:","kf41":"\u001e;","kf42":"\u001e\u003c","kf43":"\u001e=","kf44":"\u001e\u003e","kf45":"\u001e0","kf46":"\u001e!","kf47":"\u001e\"","kf48":"\u001e#","kf49":"\u001e$","kf50":"\u001e%%","kf51":"\u001e\u0026","kf52":"\u001e'","kf53":"\u001e(","kf54":"\u001e)","kf55":"\u001e*","kf56":"\u001e+","kf57":"\u001e,","kf58":"\u001e-","kf59":"\u001e.","kf60":"\u001e ","khome":"\u001ePF","kcuu1":"\u001ePA","kcud1":"\u001ePB","kcub1":"\u001ePD","kcuf1":"\u001ePC","kclr":"\u001ePH","kprt":"\u001eP0","acsc":"aj$k\"l!m#n)q+t'u\u0026v(w%x*","smacs":"\u001eFS11","rmacs":"\u001eFS00","kRIT":"\u001ePc","kLFT":"\u001ePd","kHOM":"\u001ePf"} -{"name":"d430c-unix-sr","aliases":["d430-unix-sr"],"cols":80,"lines":24,"colors":16,"bell":"\u0007","clear":"\u001eFE","cnorm":"\u001eFQ5","civis":"\u001eFQ0","sgr0":"\u001ePJ\u0015\u001d\u001eE\u001eFS00","smul":"\u0014","bold":"\u001eD\u0014","blink":"\u001ePI","rev":"\u001eD","dim":"\u001c","setaf":"\u001eA%p1%?%p1%{8}%\u003c%t%{2}%\u0026%?%p1%{1}%\u0026%t%{4}%|%;%?%p1%{4}%\u0026%t%{1}%|%;%;%'0'%+%c","setbg":"\u001eB%p1%?%p1%{8}%\u003c%t%{2}%\u0026%?%p1%{1}%\u0026%t%{4}%|%;%?%p1%{4}%\u0026%t%{1}%|%;%;%'0'%+%c","cup":"\u001eFP%p2%2.2X%p1%2.2X","cub1":"\u001ePD","pad":"\u0000","kf1":"\u001eq","kf2":"\u001er","kf3":"\u001es","kf4":"\u001et","kf5":"\u001eu","kf6":"\u001ev","kf7":"\u001ew","kf8":"\u001ex","kf9":"\u001ey","kf10":"\u001ez","kf11":"\u001e{","kf12":"\u001e|","kf13":"\u001e}","kf14":"\u001e~","kf15":"\u001ep","kf16":"\u001ea","kf17":"\u001eb","kf18":"\u001ec","kf19":"\u001ed","kf20":"\u001ee","kf21":"\u001ef","kf22":"\u001eg","kf23":"\u001eh","kf24":"\u001ei","kf25":"\u001ej","kf26":"\u001ek","kf27":"\u001el","kf28":"\u001em","kf29":"\u001en","kf30":"\u001e`","kf31":"\u001e1","kf32":"\u001e2","kf33":"\u001e3","kf34":"\u001e4","kf35":"\u001e5","kf36":"\u001e6","kf37":"\u001e7","kf38":"\u001e8","kf39":"\u001e9","kf40":"\u001e:","kf41":"\u001e;","kf42":"\u001e\u003c","kf43":"\u001e=","kf44":"\u001e\u003e","kf45":"\u001e0","kf46":"\u001e!","kf47":"\u001e\"","kf48":"\u001e#","kf49":"\u001e$","kf50":"\u001e%%","kf51":"\u001e\u0026","kf52":"\u001e'","kf53":"\u001e(","kf54":"\u001e)","kf55":"\u001e*","kf56":"\u001e+","kf57":"\u001e,","kf58":"\u001e-","kf59":"\u001e.","kf60":"\u001e ","khome":"\u001ePF","kcuu1":"\u001ePA","kcud1":"\u001ePB","kcub1":"\u001ePD","kcuf1":"\u001ePC","kclr":"\u001ePH","kprt":"\u001eP0","acsc":"aj$k\"l!m#n)q+t'u\u0026v(w%x*","smacs":"\u001eFS11","rmacs":"\u001eFS00","kRIT":"\u001ePc","kLFT":"\u001ePd","kHOM":"\u001ePf"} -{"name":"d430c-unix-sr-ccc","aliases":["d430-unix-sr-ccc"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u001eFE","cnorm":"\u001eFQ5","civis":"\u001eFQ0","sgr0":"\u001ePJ\u0015\u001d\u001eE\u001eFS00","smul":"\u0014","bold":"\u001eD\u0014","blink":"\u001ePI","rev":"\u001eD","dim":"\u001c","cup":"\u001eFP%p2%2.2X%p1%2.2X","cub1":"\u001ePD","pad":"\u0000","kf1":"\u001eq","kf2":"\u001er","kf3":"\u001es","kf4":"\u001et","kf5":"\u001eu","kf6":"\u001ev","kf7":"\u001ew","kf8":"\u001ex","kf9":"\u001ey","kf10":"\u001ez","kf11":"\u001e{","kf12":"\u001e|","kf13":"\u001e}","kf14":"\u001e~","kf15":"\u001ep","kf16":"\u001ea","kf17":"\u001eb","kf18":"\u001ec","kf19":"\u001ed","kf20":"\u001ee","kf21":"\u001ef","kf22":"\u001eg","kf23":"\u001eh","kf24":"\u001ei","kf25":"\u001ej","kf26":"\u001ek","kf27":"\u001el","kf28":"\u001em","kf29":"\u001en","kf30":"\u001e`","kf31":"\u001e1","kf32":"\u001e2","kf33":"\u001e3","kf34":"\u001e4","kf35":"\u001e5","kf36":"\u001e6","kf37":"\u001e7","kf38":"\u001e8","kf39":"\u001e9","kf40":"\u001e:","kf41":"\u001e;","kf42":"\u001e\u003c","kf43":"\u001e=","kf44":"\u001e\u003e","kf45":"\u001e0","kf46":"\u001e!","kf47":"\u001e\"","kf48":"\u001e#","kf49":"\u001e$","kf50":"\u001e%%","kf51":"\u001e\u0026","kf52":"\u001e'","kf53":"\u001e(","kf54":"\u001e)","kf55":"\u001e*","kf56":"\u001e+","kf57":"\u001e,","kf58":"\u001e-","kf59":"\u001e.","kf60":"\u001e ","khome":"\u001ePF","kcuu1":"\u001ePA","kcud1":"\u001ePB","kcub1":"\u001ePD","kcuf1":"\u001ePC","kclr":"\u001ePH","kprt":"\u001eP0","acsc":"aj$k\"l!m#n)q+t'u\u0026v(w%x*","smacs":"\u001eFS11","rmacs":"\u001eFS00","kRIT":"\u001ePc","kLFT":"\u001ePd","kHOM":"\u001ePf"} -{"name":"d430c-unix-w","aliases":["d430-unix-w"],"cols":132,"lines":24,"colors":16,"bell":"\u0007","clear":"\u001eFE","cnorm":"\u001eFQ5","civis":"\u001eFQ0","sgr0":"\u001ePJ\u0015\u001d\u001eE\u001eFS00","smul":"\u0014","bold":"\u001eD\u0014","blink":"\u001ePI","rev":"\u001eD","dim":"\u001c","setaf":"\u001eA%p1%?%p1%{8}%\u003c%t%{2}%\u0026%?%p1%{1}%\u0026%t%{4}%|%;%?%p1%{4}%\u0026%t%{1}%|%;%;%'0'%+%c","setbg":"\u001eB%p1%?%p1%{8}%\u003c%t%{2}%\u0026%?%p1%{1}%\u0026%t%{4}%|%;%?%p1%{4}%\u0026%t%{1}%|%;%;%'0'%+%c","cup":"\u001eFP%p2%2.2X%p1%2.2X","cub1":"\u001ePD","cuu1":"\u001ePA","pad":"\u0000","kf1":"\u001eq","kf2":"\u001er","kf3":"\u001es","kf4":"\u001et","kf5":"\u001eu","kf6":"\u001ev","kf7":"\u001ew","kf8":"\u001ex","kf9":"\u001ey","kf10":"\u001ez","kf11":"\u001e{","kf12":"\u001e|","kf13":"\u001e}","kf14":"\u001e~","kf15":"\u001ep","kf16":"\u001ea","kf17":"\u001eb","kf18":"\u001ec","kf19":"\u001ed","kf20":"\u001ee","kf21":"\u001ef","kf22":"\u001eg","kf23":"\u001eh","kf24":"\u001ei","kf25":"\u001ej","kf26":"\u001ek","kf27":"\u001el","kf28":"\u001em","kf29":"\u001en","kf30":"\u001e`","kf31":"\u001e1","kf32":"\u001e2","kf33":"\u001e3","kf34":"\u001e4","kf35":"\u001e5","kf36":"\u001e6","kf37":"\u001e7","kf38":"\u001e8","kf39":"\u001e9","kf40":"\u001e:","kf41":"\u001e;","kf42":"\u001e\u003c","kf43":"\u001e=","kf44":"\u001e\u003e","kf45":"\u001e0","kf46":"\u001e!","kf47":"\u001e\"","kf48":"\u001e#","kf49":"\u001e$","kf50":"\u001e%%","kf51":"\u001e\u0026","kf52":"\u001e'","kf53":"\u001e(","kf54":"\u001e)","kf55":"\u001e*","kf56":"\u001e+","kf57":"\u001e,","kf58":"\u001e-","kf59":"\u001e.","kf60":"\u001e ","khome":"\u001ePF","kcuu1":"\u001ePA","kcud1":"\u001ePB","kcub1":"\u001ePD","kcuf1":"\u001ePC","kclr":"\u001ePH","kprt":"\u001eP0","acsc":"aj$k\"l!m#n)q+t'u\u0026v(w%x*","smacs":"\u001eFS11","rmacs":"\u001eFS00","kRIT":"\u001ePc","kLFT":"\u001ePd","kHOM":"\u001ePf"} -{"name":"d430c-unix-w-ccc","aliases":["d430-unix-w-ccc"],"cols":132,"lines":24,"bell":"\u0007","clear":"\u001eFE","cnorm":"\u001eFQ5","civis":"\u001eFQ0","sgr0":"\u001ePJ\u0015\u001d\u001eE\u001eFS00","smul":"\u0014","bold":"\u001eD\u0014","blink":"\u001ePI","rev":"\u001eD","dim":"\u001c","cup":"\u001eFP%p2%2.2X%p1%2.2X","cub1":"\u001ePD","cuu1":"\u001ePA","pad":"\u0000","kf1":"\u001eq","kf2":"\u001er","kf3":"\u001es","kf4":"\u001et","kf5":"\u001eu","kf6":"\u001ev","kf7":"\u001ew","kf8":"\u001ex","kf9":"\u001ey","kf10":"\u001ez","kf11":"\u001e{","kf12":"\u001e|","kf13":"\u001e}","kf14":"\u001e~","kf15":"\u001ep","kf16":"\u001ea","kf17":"\u001eb","kf18":"\u001ec","kf19":"\u001ed","kf20":"\u001ee","kf21":"\u001ef","kf22":"\u001eg","kf23":"\u001eh","kf24":"\u001ei","kf25":"\u001ej","kf26":"\u001ek","kf27":"\u001el","kf28":"\u001em","kf29":"\u001en","kf30":"\u001e`","kf31":"\u001e1","kf32":"\u001e2","kf33":"\u001e3","kf34":"\u001e4","kf35":"\u001e5","kf36":"\u001e6","kf37":"\u001e7","kf38":"\u001e8","kf39":"\u001e9","kf40":"\u001e:","kf41":"\u001e;","kf42":"\u001e\u003c","kf43":"\u001e=","kf44":"\u001e\u003e","kf45":"\u001e0","kf46":"\u001e!","kf47":"\u001e\"","kf48":"\u001e#","kf49":"\u001e$","kf50":"\u001e%%","kf51":"\u001e\u0026","kf52":"\u001e'","kf53":"\u001e(","kf54":"\u001e)","kf55":"\u001e*","kf56":"\u001e+","kf57":"\u001e,","kf58":"\u001e-","kf59":"\u001e.","kf60":"\u001e ","khome":"\u001ePF","kcuu1":"\u001ePA","kcud1":"\u001ePB","kcub1":"\u001ePD","kcuf1":"\u001ePC","kclr":"\u001ePH","kprt":"\u001eP0","acsc":"aj$k\"l!m#n)q+t'u\u0026v(w%x*","smacs":"\u001eFS11","rmacs":"\u001eFS00","kRIT":"\u001ePc","kLFT":"\u001ePd","kHOM":"\u001ePf"} -{"name":"d470c","aliases":["d470"],"cols":80,"lines":24,"colors":16,"bell":"\u0007","clear":"\u001b[2J","cnorm":"\u001b[3;2v","civis":"\u001b[3;0v","sgr0":"\u001b[m\u001b)4\u000f","smul":"\u001b[4m","bold":"\u001b[4;7m","blink":"\u001b[5m","rev":"\u001b[7m","dim":"\u001b[2m","setaf":"\u001b[%?%p1%{8}%\u003c%t3%p1%e\u003c%p1%{2}%\u0026%?%p1%{1}%\u0026%t%{4}%|%;%?%p1%{4}%\u0026%t%{1}%|%;%;%d%?%gD%t;2%;%?%gU%t;4%;%?%gB%t;5%;%?%gR%t;7%;m","setbg":"\u001b[%?%p1%{8}%\u003c%t4%p1%e=%p1%{2}%\u0026%?%p1%{1}%\u0026%t%{4}%|%;%?%p1%{4}%\u0026%t%{1}%|%;%;%d%?%gD%t;2%;%?%gU%t;4%;%?%gB%t;5%;%?%gR%t;7%;m","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kf1":"\ufffd001z","kf2":"\ufffd002z","kf3":"\ufffd003z","kf4":"\ufffd004z","kf5":"\ufffd005z","kf6":"\ufffd006z","kf7":"\ufffd007z","kf8":"\ufffd008z","kf9":"\ufffd009z","kf10":"\ufffd010z","kf11":"\ufffd011z","kf12":"\ufffd012z","kf13":"\ufffd013z","kf14":"\ufffd014z","kf15":"\ufffd000z","kf16":"\ufffd101z","kf17":"\ufffd102z","kf18":"\ufffd103z","kf19":"\ufffd104z","kf20":"\ufffd105z","kf21":"\ufffd106z","kf22":"\ufffd107z","kf23":"\ufffd108z","kf24":"\ufffd109z","kf25":"\ufffd110z","kf26":"\ufffd111z","kf27":"\ufffd112z","kf28":"\ufffd113z","kf29":"\ufffd114z","kf30":"\ufffd100z","kf31":"\ufffd201z","kf32":"\ufffd202z","kf33":"\ufffd203z","kf34":"\ufffd204z","kf35":"\ufffd205z","kf36":"\ufffd206z","kf37":"\ufffd207z","kf38":"\ufffd208z","kf39":"\ufffd209z","kf40":"\ufffd210z","kf41":"\ufffd211z","kf42":"\ufffd212z","kf43":"\ufffd213z","kf44":"\ufffd214z","kf45":"\ufffd200z","kf46":"\ufffd301z","kf47":"\ufffd302z","kf48":"\ufffd303z","kf49":"\ufffd304z","kf50":"\ufffd305z","kf51":"\ufffd306z","kf52":"\ufffd307z","kf53":"\ufffd308z","kf54":"\ufffd309z","kf55":"\ufffd310z","kf56":"\ufffd311z","kf57":"\ufffd312z","kf58":"\ufffd313z","kf59":"\ufffd314z","kf60":"\ufffd300z","khome":"\ufffdH","kcuu1":"\ufffdA","kcud1":"\ufffdB","kcub1":"\ufffdD","kcuf1":"\ufffdC","kclr":"\ufffd2J","kprt":"\ufffdi","acsc":"j$k\"l!m#n)q+t'u\u0026v(w%x*","smacs":"\u001b)6\u000e","rmacs":"\u001b)4\u000f","_setfgbg":"\u001b[%?%p1%{8}%\u003c%t3%p1%e\u003c%p1%{2}%\u0026%?%p1%{1}%\u0026%t%{4}%|%;%?%p1%{4}%\u0026%t%{1}%|%;%;%d%?%gD%t;2%;%?%gU%t;4%;%?%gB%t;5%;%?%gR%t;7%;;%?%p2%{8}%\u003c%t4%p2%e=%p2%{2}%\u0026%?%p2%{1}%\u0026%t%{4}%|%;%?%p2%{4}%\u0026%t%{1}%|%;%;%d%?%gD%t;2%;%?%gU%t;4%;%?%gB%t;5%;%?%gR%t;7%;m"} -{"name":"d470c-7b","aliases":["d470-7b"],"cols":80,"lines":24,"colors":16,"bell":"\u0007","clear":"\u001b[2J","cnorm":"\u001b[3;2v","civis":"\u001b[3;0v","sgr0":"\u001b[m\u000f","smul":"\u001b[4m","bold":"\u001b[4;7m","blink":"\u001b[5m","rev":"\u001b[7m","dim":"\u001b[2m","setaf":"\u001b[%?%p1%{8}%\u003c%t3%p1%e\u003c%p1%{2}%\u0026%?%p1%{1}%\u0026%t%{4}%|%;%?%p1%{4}%\u0026%t%{1}%|%;%;%d%?%gD%t;2%;%?%gU%t;4%;%?%gB%t;5%;%?%gR%t;7%;m","setbg":"\u001b[%?%p1%{8}%\u003c%t4%p1%e=%p1%{2}%\u0026%?%p1%{1}%\u0026%t%{4}%|%;%?%p1%{4}%\u0026%t%{1}%|%;%;%d%?%gD%t;2%;%?%gU%t;4%;%?%gB%t;5%;%?%gR%t;7%;m","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kf1":"\u001b[001z","kf2":"\u001b[002z","kf3":"\u001b[003z","kf4":"\u001b[004z","kf5":"\u001b[005z","kf6":"\u001b[006z","kf7":"\u001b[007z","kf8":"\u001b[008z","kf9":"\u001b[009z","kf10":"\u001b[010z","kf11":"\u001b[011z","kf12":"\u001b[012z","kf13":"\u001b[013z","kf14":"\u001b[014z","kf15":"\u001b[000z","kf16":"\u001b[101z","kf17":"\u001b[102z","kf18":"\u001b[103z","kf19":"\u001b[104z","kf20":"\u001b[105z","kf21":"\u001b[106z","kf22":"\u001b[107z","kf23":"\u001b[108z","kf24":"\u001b[109z","kf25":"\u001b[110z","kf26":"\u001b[111z","kf27":"\u001b[112z","kf28":"\u001b[113z","kf29":"\u001b[114z","kf30":"\u001b[100z","kf31":"\u001b[201z","kf32":"\u001b[202z","kf33":"\u001b[203z","kf34":"\u001b[204z","kf35":"\u001b[205z","kf36":"\u001b[206z","kf37":"\u001b[207z","kf38":"\u001b[208z","kf39":"\u001b[209z","kf40":"\u001b[210z","kf41":"\u001b[211z","kf42":"\u001b[212z","kf43":"\u001b[213z","kf44":"\u001b[214z","kf45":"\u001b[200z","kf46":"\u001b[301z","kf47":"\u001b[302z","kf48":"\u001b[303z","kf49":"\u001b[304z","kf50":"\u001b[305z","kf51":"\u001b[306z","kf52":"\u001b[307z","kf53":"\u001b[308z","kf54":"\u001b[309z","kf55":"\u001b[310z","kf56":"\u001b[311z","kf57":"\u001b[312z","kf58":"\u001b[313z","kf59":"\u001b[314z","kf60":"\u001b[300z","khome":"\u001b[H","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kclr":"\u001b[2J","kprt":"\u001b[i","acsc":"j$k\"l!m#n)q+t'u\u0026v(w%x*","smacs":"\u000e","rmacs":"\u000f","enacs":"\u001b)6","_setfgbg":"\u001b[%?%p1%{8}%\u003c%t3%p1%e\u003c%p1%{2}%\u0026%?%p1%{1}%\u0026%t%{4}%|%;%?%p1%{4}%\u0026%t%{1}%|%;%;%d%?%gD%t;2%;%?%gU%t;4%;%?%gB%t;5%;%?%gR%t;7%;;%?%p2%{8}%\u003c%t4%p2%e=%p2%{2}%\u0026%?%p2%{1}%\u0026%t%{4}%|%;%?%p2%{4}%\u0026%t%{1}%|%;%;%d%?%gD%t;2%;%?%gU%t;4%;%?%gB%t;5%;%?%gR%t;7%;m"} -{"name":"d470c-dg","aliases":["d470-dg"],"cols":80,"lines":24,"colors":16,"bell":"\u0007","clear":"\u000c","cnorm":"\u001eFQ2","civis":"\u001eFQ0","sgr0":"\u000f\u0015\u001d\u001eE\u001eFS00","smul":"\u0014","bold":"\u001eD\u0014","blink":"\u000e","rev":"\u001eD","dim":"\u001c","setaf":"\u001eA%p1%?%p1%{8}%\u003c%t%{2}%\u0026%?%p1%{1}%\u0026%t%{4}%|%;%?%p1%{4}%\u0026%t%{1}%|%;%;%'0'%+%c","setbg":"\u001eB%p1%?%p1%{8}%\u003c%t%{2}%\u0026%?%p1%{1}%\u0026%t%{4}%|%;%?%p1%{4}%\u0026%t%{1}%|%;%;%'0'%+%c","cup":"\u0010%p2%c%p1%c","cub1":"\u0019","cuu1":"\u0017","pad":"\u0000","kf1":"\u001eq","kf2":"\u001er","kf3":"\u001es","kf4":"\u001et","kf5":"\u001eu","kf6":"\u001ev","kf7":"\u001ew","kf8":"\u001ex","kf9":"\u001ey","kf10":"\u001ez","kf11":"\u001e{","kf12":"\u001e|","kf13":"\u001e}","kf14":"\u001e~","kf15":"\u001ep","kf16":"\u001ea","kf17":"\u001eb","kf18":"\u001ec","kf19":"\u001ed","kf20":"\u001ee","kf21":"\u001ef","kf22":"\u001eg","kf23":"\u001eh","kf24":"\u001ei","kf25":"\u001ej","kf26":"\u001ek","kf27":"\u001el","kf28":"\u001em","kf29":"\u001en","kf30":"\u001e`","kf31":"\u001e1","kf32":"\u001e2","kf33":"\u001e3","kf34":"\u001e4","kf35":"\u001e5","kf36":"\u001e6","kf37":"\u001e7","kf38":"\u001e8","kf39":"\u001e9","kf40":"\u001e:","kf41":"\u001e;","kf42":"\u001e\u003c","kf43":"\u001e=","kf44":"\u001e\u003e","kf45":"\u001e0","kf46":"\u001e!","kf47":"\u001e\"","kf48":"\u001e#","kf49":"\u001e$","kf50":"\u001e%%","kf51":"\u001e\u0026","kf52":"\u001e'","kf53":"\u001e(","kf54":"\u001e)","kf55":"\u001e*","kf56":"\u001e+","kf57":"\u001e,","kf58":"\u001e-","kf59":"\u001e.","kf60":"\u001e ","khome":"\u0008","kcuu1":"\u0017","kcud1":"\u001a","kcub1":"\u0019","kcuf1":"\u0018","kclr":"\u000c","acsc":"j$k\"l!m#n)q+t'u\u0026v(w%x*","smacs":"\u001eFS11","rmacs":"\u001eFS00","kRIT":"\u001e\u0018","kLFT":"\u001e\u0019","kHOM":"\u001e\u0008"} -{"name":"d555","cols":80,"lines":24,"bell":"\u0007","clear":"\u001b[2J","cnorm":"\u001b[3;2v","civis":"\u001b[3;0v","sgr0":"\u001b[m\u001b)4\u000f","smul":"\u001b[4m","bold":"\u001b[4;7m","blink":"\u001b[5m","rev":"\u001b[7m","dim":"\u001b[2m","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kf1":"\ufffd001z","kf2":"\ufffd002z","kf3":"\ufffd003z","kf4":"\ufffd004z","kf5":"\ufffd005z","kf6":"\ufffd006z","kf7":"\ufffd007z","kf8":"\ufffd008z","kf9":"\ufffd009z","kf10":"\ufffd010z","kf11":"\ufffd011z","kf12":"\ufffd012z","kf13":"\ufffd013z","kf14":"\ufffd014z","kf15":"\ufffd000z","kf16":"\ufffd101z","kf17":"\ufffd102z","kf18":"\ufffd103z","kf19":"\ufffd104z","kf20":"\ufffd105z","kf21":"\ufffd106z","kf22":"\ufffd107z","kf23":"\ufffd108z","kf24":"\ufffd109z","kf25":"\ufffd110z","kf26":"\ufffd111z","kf27":"\ufffd112z","kf28":"\ufffd113z","kf29":"\ufffd114z","kf30":"\ufffd100z","kf31":"\ufffd201z","kf32":"\ufffd202z","kf33":"\ufffd203z","kf34":"\ufffd204z","kf35":"\ufffd205z","kf36":"\ufffd206z","kf37":"\ufffd207z","kf38":"\ufffd208z","kf39":"\ufffd209z","kf40":"\ufffd210z","kf41":"\ufffd211z","kf42":"\ufffd212z","kf43":"\ufffd213z","kf44":"\ufffd214z","kf45":"\ufffd200z","kf46":"\ufffd301z","kf47":"\ufffd302z","kf48":"\ufffd303z","kf49":"\ufffd304z","kf50":"\ufffd305z","kf51":"\ufffd306z","kf52":"\ufffd307z","kf53":"\ufffd308z","kf54":"\ufffd309z","kf55":"\ufffd310z","kf56":"\ufffd311z","kf57":"\ufffd312z","kf58":"\ufffd313z","kf59":"\ufffd314z","kf60":"\ufffd300z","khome":"\ufffdH","kcuu1":"\ufffdA","kcud1":"\ufffdB","kcub1":"\ufffdD","kcuf1":"\ufffdC","kclr":"\ufffd2J","kprt":"\ufffdi","acsc":"j$k\"l!m#n)q+t'u\u0026v(w%x*","smacs":"\u001b)6\u000e","rmacs":"\u001b)4\u000f"} -{"name":"d555-7b","cols":80,"lines":24,"bell":"\u0007","clear":"\u001b[2J","cnorm":"\u001b[3;2v","civis":"\u001b[3;0v","sgr0":"\u001b[m\u000f","smul":"\u001b[4m","bold":"\u001b[4;7m","blink":"\u001b[5m","rev":"\u001b[7m","dim":"\u001b[2m","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kf1":"\u001b[001z","kf2":"\u001b[002z","kf3":"\u001b[003z","kf4":"\u001b[004z","kf5":"\u001b[005z","kf6":"\u001b[006z","kf7":"\u001b[007z","kf8":"\u001b[008z","kf9":"\u001b[009z","kf10":"\u001b[010z","kf11":"\u001b[011z","kf12":"\u001b[012z","kf13":"\u001b[013z","kf14":"\u001b[014z","kf15":"\u001b[000z","kf16":"\u001b[101z","kf17":"\u001b[102z","kf18":"\u001b[103z","kf19":"\u001b[104z","kf20":"\u001b[105z","kf21":"\u001b[106z","kf22":"\u001b[107z","kf23":"\u001b[108z","kf24":"\u001b[109z","kf25":"\u001b[110z","kf26":"\u001b[111z","kf27":"\u001b[112z","kf28":"\u001b[113z","kf29":"\u001b[114z","kf30":"\u001b[100z","kf31":"\u001b[201z","kf32":"\u001b[202z","kf33":"\u001b[203z","kf34":"\u001b[204z","kf35":"\u001b[205z","kf36":"\u001b[206z","kf37":"\u001b[207z","kf38":"\u001b[208z","kf39":"\u001b[209z","kf40":"\u001b[210z","kf41":"\u001b[211z","kf42":"\u001b[212z","kf43":"\u001b[213z","kf44":"\u001b[214z","kf45":"\u001b[200z","kf46":"\u001b[301z","kf47":"\u001b[302z","kf48":"\u001b[303z","kf49":"\u001b[304z","kf50":"\u001b[305z","kf51":"\u001b[306z","kf52":"\u001b[307z","kf53":"\u001b[308z","kf54":"\u001b[309z","kf55":"\u001b[310z","kf56":"\u001b[311z","kf57":"\u001b[312z","kf58":"\u001b[313z","kf59":"\u001b[314z","kf60":"\u001b[300z","khome":"\u001b[H","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kclr":"\u001b[2J","kprt":"\u001b[i","acsc":"j$k\"l!m#n)q+t'u\u0026v(w%x*","smacs":"\u000e","rmacs":"\u000f","enacs":"\u001b)6"} -{"name":"d555-7b-w","cols":126,"lines":24,"bell":"\u0007","clear":"\u001b[2J","cnorm":"\u001b[3;2v","civis":"\u001b[3;0v","sgr0":"\u001b[m\u000f","smul":"\u001b[4m","bold":"\u001b[4;7m","blink":"\u001b[5m","rev":"\u001b[7m","dim":"\u001b[2m","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kf1":"\u001b[001z","kf2":"\u001b[002z","kf3":"\u001b[003z","kf4":"\u001b[004z","kf5":"\u001b[005z","kf6":"\u001b[006z","kf7":"\u001b[007z","kf8":"\u001b[008z","kf9":"\u001b[009z","kf10":"\u001b[010z","kf11":"\u001b[011z","kf12":"\u001b[012z","kf13":"\u001b[013z","kf14":"\u001b[014z","kf15":"\u001b[000z","kf16":"\u001b[101z","kf17":"\u001b[102z","kf18":"\u001b[103z","kf19":"\u001b[104z","kf20":"\u001b[105z","kf21":"\u001b[106z","kf22":"\u001b[107z","kf23":"\u001b[108z","kf24":"\u001b[109z","kf25":"\u001b[110z","kf26":"\u001b[111z","kf27":"\u001b[112z","kf28":"\u001b[113z","kf29":"\u001b[114z","kf30":"\u001b[100z","kf31":"\u001b[201z","kf32":"\u001b[202z","kf33":"\u001b[203z","kf34":"\u001b[204z","kf35":"\u001b[205z","kf36":"\u001b[206z","kf37":"\u001b[207z","kf38":"\u001b[208z","kf39":"\u001b[209z","kf40":"\u001b[210z","kf41":"\u001b[211z","kf42":"\u001b[212z","kf43":"\u001b[213z","kf44":"\u001b[214z","kf45":"\u001b[200z","kf46":"\u001b[301z","kf47":"\u001b[302z","kf48":"\u001b[303z","kf49":"\u001b[304z","kf50":"\u001b[305z","kf51":"\u001b[306z","kf52":"\u001b[307z","kf53":"\u001b[308z","kf54":"\u001b[309z","kf55":"\u001b[310z","kf56":"\u001b[311z","kf57":"\u001b[312z","kf58":"\u001b[313z","kf59":"\u001b[314z","kf60":"\u001b[300z","khome":"\u001b[H","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kclr":"\u001b[2J","kprt":"\u001b[i","acsc":"j$k\"l!m#n)q+t'u\u0026v(w%x*","smacs":"\u000e","rmacs":"\u000f","enacs":"\u001b)6"} -{"name":"d555-dg","cols":80,"lines":24,"bell":"\u0007","clear":"\u000c","cnorm":"\u001eFQ2","civis":"\u001eFQ0","sgr0":"\u000f\u0015\u001d\u001eE\u001eFS00","smul":"\u0014","bold":"\u001eD\u0014","blink":"\u000e","rev":"\u001eD","dim":"\u001c","cup":"\u0010%p2%c%p1%c","cub1":"\u0019","cuu1":"\u0017","pad":"\u0000","kf1":"\u001eq","kf2":"\u001er","kf3":"\u001es","kf4":"\u001et","kf5":"\u001eu","kf6":"\u001ev","kf7":"\u001ew","kf8":"\u001ex","kf9":"\u001ey","kf10":"\u001ez","kf11":"\u001e{","kf12":"\u001e|","kf13":"\u001e}","kf14":"\u001e~","kf15":"\u001ep","kf16":"\u001ea","kf17":"\u001eb","kf18":"\u001ec","kf19":"\u001ed","kf20":"\u001ee","kf21":"\u001ef","kf22":"\u001eg","kf23":"\u001eh","kf24":"\u001ei","kf25":"\u001ej","kf26":"\u001ek","kf27":"\u001el","kf28":"\u001em","kf29":"\u001en","kf30":"\u001e`","kf31":"\u001e1","kf32":"\u001e2","kf33":"\u001e3","kf34":"\u001e4","kf35":"\u001e5","kf36":"\u001e6","kf37":"\u001e7","kf38":"\u001e8","kf39":"\u001e9","kf40":"\u001e:","kf41":"\u001e;","kf42":"\u001e\u003c","kf43":"\u001e=","kf44":"\u001e\u003e","kf45":"\u001e0","kf46":"\u001e!","kf47":"\u001e\"","kf48":"\u001e#","kf49":"\u001e$","kf50":"\u001e%%","kf51":"\u001e\u0026","kf52":"\u001e'","kf53":"\u001e(","kf54":"\u001e)","kf55":"\u001e*","kf56":"\u001e+","kf57":"\u001e,","kf58":"\u001e-","kf59":"\u001e.","kf60":"\u001e ","khome":"\u0008","kcuu1":"\u0017","kcud1":"\u001a","kcub1":"\u0019","kcuf1":"\u0018","kclr":"\u000c","acsc":"j$k\"l!m#n)q+t'u\u0026v(w%x*","smacs":"\u001eFS11","rmacs":"\u001eFS00","kRIT":"\u001e\u0018","kLFT":"\u001e\u0019","kHOM":"\u001e\u0008"} -{"name":"d555-w","cols":126,"lines":24,"bell":"\u0007","clear":"\u001b[2J","cnorm":"\u001b[3;2v","civis":"\u001b[3;0v","sgr0":"\u001b[m\u001b)4\u000f","smul":"\u001b[4m","bold":"\u001b[4;7m","blink":"\u001b[5m","rev":"\u001b[7m","dim":"\u001b[2m","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kf1":"\ufffd001z","kf2":"\ufffd002z","kf3":"\ufffd003z","kf4":"\ufffd004z","kf5":"\ufffd005z","kf6":"\ufffd006z","kf7":"\ufffd007z","kf8":"\ufffd008z","kf9":"\ufffd009z","kf10":"\ufffd010z","kf11":"\ufffd011z","kf12":"\ufffd012z","kf13":"\ufffd013z","kf14":"\ufffd014z","kf15":"\ufffd000z","kf16":"\ufffd101z","kf17":"\ufffd102z","kf18":"\ufffd103z","kf19":"\ufffd104z","kf20":"\ufffd105z","kf21":"\ufffd106z","kf22":"\ufffd107z","kf23":"\ufffd108z","kf24":"\ufffd109z","kf25":"\ufffd110z","kf26":"\ufffd111z","kf27":"\ufffd112z","kf28":"\ufffd113z","kf29":"\ufffd114z","kf30":"\ufffd100z","kf31":"\ufffd201z","kf32":"\ufffd202z","kf33":"\ufffd203z","kf34":"\ufffd204z","kf35":"\ufffd205z","kf36":"\ufffd206z","kf37":"\ufffd207z","kf38":"\ufffd208z","kf39":"\ufffd209z","kf40":"\ufffd210z","kf41":"\ufffd211z","kf42":"\ufffd212z","kf43":"\ufffd213z","kf44":"\ufffd214z","kf45":"\ufffd200z","kf46":"\ufffd301z","kf47":"\ufffd302z","kf48":"\ufffd303z","kf49":"\ufffd304z","kf50":"\ufffd305z","kf51":"\ufffd306z","kf52":"\ufffd307z","kf53":"\ufffd308z","kf54":"\ufffd309z","kf55":"\ufffd310z","kf56":"\ufffd311z","kf57":"\ufffd312z","kf58":"\ufffd313z","kf59":"\ufffd314z","kf60":"\ufffd300z","khome":"\ufffdH","kcuu1":"\ufffdA","kcud1":"\ufffdB","kcub1":"\ufffdD","kcuf1":"\ufffdC","kclr":"\ufffd2J","kprt":"\ufffdi","acsc":"j$k\"l!m#n)q+t'u\u0026v(w%x*","smacs":"\u001b)6\u000e","rmacs":"\u001b)4\u000f"} -{"name":"d577","cols":80,"lines":24,"bell":"\u0007","clear":"\u001b[2J","cnorm":"\u001b[3;2v","civis":"\u001b[3;0v","sgr0":"\u001b[m\u001b)4\u000f","smul":"\u001b[4m","bold":"\u001b[4;7m","blink":"\u001b[5m","rev":"\u001b[7m","dim":"\u001b[2m","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kf1":"\ufffd001z","kf2":"\ufffd002z","kf3":"\ufffd003z","kf4":"\ufffd004z","kf5":"\ufffd005z","kf6":"\ufffd006z","kf7":"\ufffd007z","kf8":"\ufffd008z","kf9":"\ufffd009z","kf10":"\ufffd010z","kf11":"\ufffd011z","kf12":"\ufffd012z","kf13":"\ufffd013z","kf14":"\ufffd014z","kf15":"\ufffd000z","kf16":"\ufffd101z","kf17":"\ufffd102z","kf18":"\ufffd103z","kf19":"\ufffd104z","kf20":"\ufffd105z","kf21":"\ufffd106z","kf22":"\ufffd107z","kf23":"\ufffd108z","kf24":"\ufffd109z","kf25":"\ufffd110z","kf26":"\ufffd111z","kf27":"\ufffd112z","kf28":"\ufffd113z","kf29":"\ufffd114z","kf30":"\ufffd100z","kf31":"\ufffd201z","kf32":"\ufffd202z","kf33":"\ufffd203z","kf34":"\ufffd204z","kf35":"\ufffd205z","kf36":"\ufffd206z","kf37":"\ufffd207z","kf38":"\ufffd208z","kf39":"\ufffd209z","kf40":"\ufffd210z","kf41":"\ufffd211z","kf42":"\ufffd212z","kf43":"\ufffd213z","kf44":"\ufffd214z","kf45":"\ufffd200z","kf46":"\ufffd301z","kf47":"\ufffd302z","kf48":"\ufffd303z","kf49":"\ufffd304z","kf50":"\ufffd305z","kf51":"\ufffd306z","kf52":"\ufffd307z","kf53":"\ufffd308z","kf54":"\ufffd309z","kf55":"\ufffd310z","kf56":"\ufffd311z","kf57":"\ufffd312z","kf58":"\ufffd313z","kf59":"\ufffd314z","kf60":"\ufffd300z","khome":"\ufffdH","kcuu1":"\ufffdA","kcud1":"\ufffdB","kcub1":"\ufffdD","kcuf1":"\ufffdC","kclr":"\ufffd2J","kprt":"\ufffdi","acsc":"j$k\"l!m#n)q+t'u\u0026v(w%x*","smacs":"\u001b)6\u000e","rmacs":"\u001b)4\u000f"} -{"name":"d577-7b","cols":80,"lines":24,"bell":"\u0007","clear":"\u001b[2J","cnorm":"\u001b[3;2v","civis":"\u001b[3;0v","sgr0":"\u001b[m\u000f","smul":"\u001b[4m","bold":"\u001b[4;7m","blink":"\u001b[5m","rev":"\u001b[7m","dim":"\u001b[2m","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kf1":"\u001b[001z","kf2":"\u001b[002z","kf3":"\u001b[003z","kf4":"\u001b[004z","kf5":"\u001b[005z","kf6":"\u001b[006z","kf7":"\u001b[007z","kf8":"\u001b[008z","kf9":"\u001b[009z","kf10":"\u001b[010z","kf11":"\u001b[011z","kf12":"\u001b[012z","kf13":"\u001b[013z","kf14":"\u001b[014z","kf15":"\u001b[000z","kf16":"\u001b[101z","kf17":"\u001b[102z","kf18":"\u001b[103z","kf19":"\u001b[104z","kf20":"\u001b[105z","kf21":"\u001b[106z","kf22":"\u001b[107z","kf23":"\u001b[108z","kf24":"\u001b[109z","kf25":"\u001b[110z","kf26":"\u001b[111z","kf27":"\u001b[112z","kf28":"\u001b[113z","kf29":"\u001b[114z","kf30":"\u001b[100z","kf31":"\u001b[201z","kf32":"\u001b[202z","kf33":"\u001b[203z","kf34":"\u001b[204z","kf35":"\u001b[205z","kf36":"\u001b[206z","kf37":"\u001b[207z","kf38":"\u001b[208z","kf39":"\u001b[209z","kf40":"\u001b[210z","kf41":"\u001b[211z","kf42":"\u001b[212z","kf43":"\u001b[213z","kf44":"\u001b[214z","kf45":"\u001b[200z","kf46":"\u001b[301z","kf47":"\u001b[302z","kf48":"\u001b[303z","kf49":"\u001b[304z","kf50":"\u001b[305z","kf51":"\u001b[306z","kf52":"\u001b[307z","kf53":"\u001b[308z","kf54":"\u001b[309z","kf55":"\u001b[310z","kf56":"\u001b[311z","kf57":"\u001b[312z","kf58":"\u001b[313z","kf59":"\u001b[314z","kf60":"\u001b[300z","khome":"\u001b[H","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kclr":"\u001b[2J","kprt":"\u001b[i","acsc":"j$k\"l!m#n)q+t'u\u0026v(w%x*","smacs":"\u000e","rmacs":"\u000f","enacs":"\u001b)6"} -{"name":"d577-7b-w","cols":126,"lines":24,"bell":"\u0007","clear":"\u001b[2J","cnorm":"\u001b[3;2v","civis":"\u001b[3;0v","sgr0":"\u001b[m\u000f","smul":"\u001b[4m","bold":"\u001b[4;7m","blink":"\u001b[5m","rev":"\u001b[7m","dim":"\u001b[2m","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kf1":"\u001b[001z","kf2":"\u001b[002z","kf3":"\u001b[003z","kf4":"\u001b[004z","kf5":"\u001b[005z","kf6":"\u001b[006z","kf7":"\u001b[007z","kf8":"\u001b[008z","kf9":"\u001b[009z","kf10":"\u001b[010z","kf11":"\u001b[011z","kf12":"\u001b[012z","kf13":"\u001b[013z","kf14":"\u001b[014z","kf15":"\u001b[000z","kf16":"\u001b[101z","kf17":"\u001b[102z","kf18":"\u001b[103z","kf19":"\u001b[104z","kf20":"\u001b[105z","kf21":"\u001b[106z","kf22":"\u001b[107z","kf23":"\u001b[108z","kf24":"\u001b[109z","kf25":"\u001b[110z","kf26":"\u001b[111z","kf27":"\u001b[112z","kf28":"\u001b[113z","kf29":"\u001b[114z","kf30":"\u001b[100z","kf31":"\u001b[201z","kf32":"\u001b[202z","kf33":"\u001b[203z","kf34":"\u001b[204z","kf35":"\u001b[205z","kf36":"\u001b[206z","kf37":"\u001b[207z","kf38":"\u001b[208z","kf39":"\u001b[209z","kf40":"\u001b[210z","kf41":"\u001b[211z","kf42":"\u001b[212z","kf43":"\u001b[213z","kf44":"\u001b[214z","kf45":"\u001b[200z","kf46":"\u001b[301z","kf47":"\u001b[302z","kf48":"\u001b[303z","kf49":"\u001b[304z","kf50":"\u001b[305z","kf51":"\u001b[306z","kf52":"\u001b[307z","kf53":"\u001b[308z","kf54":"\u001b[309z","kf55":"\u001b[310z","kf56":"\u001b[311z","kf57":"\u001b[312z","kf58":"\u001b[313z","kf59":"\u001b[314z","kf60":"\u001b[300z","khome":"\u001b[H","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kclr":"\u001b[2J","kprt":"\u001b[i","acsc":"j$k\"l!m#n)q+t'u\u0026v(w%x*","smacs":"\u000e","rmacs":"\u000f","enacs":"\u001b)6"} -{"name":"d577-dg","aliases":["d578-dg"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u000c","cnorm":"\u001eFQ2","civis":"\u001eFQ0","sgr0":"\u000f\u0015\u001d\u001eE\u001eFS00","smul":"\u0014","bold":"\u001eD\u0014","blink":"\u000e","rev":"\u001eD","dim":"\u001c","cup":"\u0010%p2%c%p1%c","cub1":"\u0019","cuu1":"\u0017","pad":"\u0000","kf1":"\u001eq","kf2":"\u001er","kf3":"\u001es","kf4":"\u001et","kf5":"\u001eu","kf6":"\u001ev","kf7":"\u001ew","kf8":"\u001ex","kf9":"\u001ey","kf10":"\u001ez","kf11":"\u001e{","kf12":"\u001e|","kf13":"\u001e}","kf14":"\u001e~","kf15":"\u001ep","kf16":"\u001ea","kf17":"\u001eb","kf18":"\u001ec","kf19":"\u001ed","kf20":"\u001ee","kf21":"\u001ef","kf22":"\u001eg","kf23":"\u001eh","kf24":"\u001ei","kf25":"\u001ej","kf26":"\u001ek","kf27":"\u001el","kf28":"\u001em","kf29":"\u001en","kf30":"\u001e`","kf31":"\u001e1","kf32":"\u001e2","kf33":"\u001e3","kf34":"\u001e4","kf35":"\u001e5","kf36":"\u001e6","kf37":"\u001e7","kf38":"\u001e8","kf39":"\u001e9","kf40":"\u001e:","kf41":"\u001e;","kf42":"\u001e\u003c","kf43":"\u001e=","kf44":"\u001e\u003e","kf45":"\u001e0","kf46":"\u001e!","kf47":"\u001e\"","kf48":"\u001e#","kf49":"\u001e$","kf50":"\u001e%%","kf51":"\u001e\u0026","kf52":"\u001e'","kf53":"\u001e(","kf54":"\u001e)","kf55":"\u001e*","kf56":"\u001e+","kf57":"\u001e,","kf58":"\u001e-","kf59":"\u001e.","kf60":"\u001e ","khome":"\u0008","kcuu1":"\u0017","kcud1":"\u001a","kcub1":"\u0019","kcuf1":"\u0018","kclr":"\u000c","acsc":"j$k\"l!m#n)q+t'u\u0026v(w%x*","smacs":"\u001eFS11","rmacs":"\u001eFS00","kRIT":"\u001e\u0018","kLFT":"\u001e\u0019","kHOM":"\u001e\u0008"} -{"name":"d577-w","cols":126,"lines":24,"bell":"\u0007","clear":"\u001b[2J","cnorm":"\u001b[3;2v","civis":"\u001b[3;0v","sgr0":"\u001b[m\u001b)4\u000f","smul":"\u001b[4m","bold":"\u001b[4;7m","blink":"\u001b[5m","rev":"\u001b[7m","dim":"\u001b[2m","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kf1":"\ufffd001z","kf2":"\ufffd002z","kf3":"\ufffd003z","kf4":"\ufffd004z","kf5":"\ufffd005z","kf6":"\ufffd006z","kf7":"\ufffd007z","kf8":"\ufffd008z","kf9":"\ufffd009z","kf10":"\ufffd010z","kf11":"\ufffd011z","kf12":"\ufffd012z","kf13":"\ufffd013z","kf14":"\ufffd014z","kf15":"\ufffd000z","kf16":"\ufffd101z","kf17":"\ufffd102z","kf18":"\ufffd103z","kf19":"\ufffd104z","kf20":"\ufffd105z","kf21":"\ufffd106z","kf22":"\ufffd107z","kf23":"\ufffd108z","kf24":"\ufffd109z","kf25":"\ufffd110z","kf26":"\ufffd111z","kf27":"\ufffd112z","kf28":"\ufffd113z","kf29":"\ufffd114z","kf30":"\ufffd100z","kf31":"\ufffd201z","kf32":"\ufffd202z","kf33":"\ufffd203z","kf34":"\ufffd204z","kf35":"\ufffd205z","kf36":"\ufffd206z","kf37":"\ufffd207z","kf38":"\ufffd208z","kf39":"\ufffd209z","kf40":"\ufffd210z","kf41":"\ufffd211z","kf42":"\ufffd212z","kf43":"\ufffd213z","kf44":"\ufffd214z","kf45":"\ufffd200z","kf46":"\ufffd301z","kf47":"\ufffd302z","kf48":"\ufffd303z","kf49":"\ufffd304z","kf50":"\ufffd305z","kf51":"\ufffd306z","kf52":"\ufffd307z","kf53":"\ufffd308z","kf54":"\ufffd309z","kf55":"\ufffd310z","kf56":"\ufffd311z","kf57":"\ufffd312z","kf58":"\ufffd313z","kf59":"\ufffd314z","kf60":"\ufffd300z","khome":"\ufffdH","kcuu1":"\ufffdA","kcud1":"\ufffdB","kcub1":"\ufffdD","kcuf1":"\ufffdC","kclr":"\ufffd2J","kprt":"\ufffdi","acsc":"j$k\"l!m#n)q+t'u\u0026v(w%x*","smacs":"\u001b)6\u000e","rmacs":"\u001b)4\u000f"} -{"name":"d578","cols":80,"lines":24,"bell":"\u0007","clear":"\u001b[2J","cnorm":"\u001b[3;2v","civis":"\u001b[3;0v","sgr0":"\u001b[m\u001b)4\u000f","smul":"\u001b[4m","bold":"\u001b[4;7m","blink":"\u001b[5m","rev":"\u001b[7m","dim":"\u001b[2m","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kf1":"\ufffd001z","kf2":"\ufffd002z","kf3":"\ufffd003z","kf4":"\ufffd004z","kf5":"\ufffd005z","kf6":"\ufffd006z","kf7":"\ufffd007z","kf8":"\ufffd008z","kf9":"\ufffd009z","kf10":"\ufffd010z","kf11":"\ufffd011z","kf12":"\ufffd012z","kf13":"\ufffd013z","kf14":"\ufffd014z","kf15":"\ufffd000z","kf16":"\ufffd101z","kf17":"\ufffd102z","kf18":"\ufffd103z","kf19":"\ufffd104z","kf20":"\ufffd105z","kf21":"\ufffd106z","kf22":"\ufffd107z","kf23":"\ufffd108z","kf24":"\ufffd109z","kf25":"\ufffd110z","kf26":"\ufffd111z","kf27":"\ufffd112z","kf28":"\ufffd113z","kf29":"\ufffd114z","kf30":"\ufffd100z","kf31":"\ufffd201z","kf32":"\ufffd202z","kf33":"\ufffd203z","kf34":"\ufffd204z","kf35":"\ufffd205z","kf36":"\ufffd206z","kf37":"\ufffd207z","kf38":"\ufffd208z","kf39":"\ufffd209z","kf40":"\ufffd210z","kf41":"\ufffd211z","kf42":"\ufffd212z","kf43":"\ufffd213z","kf44":"\ufffd214z","kf45":"\ufffd200z","kf46":"\ufffd301z","kf47":"\ufffd302z","kf48":"\ufffd303z","kf49":"\ufffd304z","kf50":"\ufffd305z","kf51":"\ufffd306z","kf52":"\ufffd307z","kf53":"\ufffd308z","kf54":"\ufffd309z","kf55":"\ufffd310z","kf56":"\ufffd311z","kf57":"\ufffd312z","kf58":"\ufffd313z","kf59":"\ufffd314z","kf60":"\ufffd300z","khome":"\ufffdH","kcuu1":"\ufffdA","kcud1":"\ufffdB","kcub1":"\ufffdD","kcuf1":"\ufffdC","kclr":"\ufffd2J","kprt":"\ufffdi","acsc":"j$k\"l!m#n)q+t'u\u0026v(w%x*","smacs":"\u001b)6\u000e","rmacs":"\u001b)4\u000f"} -{"name":"d578-7b","cols":80,"lines":24,"bell":"\u0007","clear":"\u001b[2J","cnorm":"\u001b[3;2v","civis":"\u001b[3;0v","sgr0":"\u001b[m\u000f","smul":"\u001b[4m","bold":"\u001b[4;7m","blink":"\u001b[5m","rev":"\u001b[7m","dim":"\u001b[2m","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kf1":"\u001b[001z","kf2":"\u001b[002z","kf3":"\u001b[003z","kf4":"\u001b[004z","kf5":"\u001b[005z","kf6":"\u001b[006z","kf7":"\u001b[007z","kf8":"\u001b[008z","kf9":"\u001b[009z","kf10":"\u001b[010z","kf11":"\u001b[011z","kf12":"\u001b[012z","kf13":"\u001b[013z","kf14":"\u001b[014z","kf15":"\u001b[000z","kf16":"\u001b[101z","kf17":"\u001b[102z","kf18":"\u001b[103z","kf19":"\u001b[104z","kf20":"\u001b[105z","kf21":"\u001b[106z","kf22":"\u001b[107z","kf23":"\u001b[108z","kf24":"\u001b[109z","kf25":"\u001b[110z","kf26":"\u001b[111z","kf27":"\u001b[112z","kf28":"\u001b[113z","kf29":"\u001b[114z","kf30":"\u001b[100z","kf31":"\u001b[201z","kf32":"\u001b[202z","kf33":"\u001b[203z","kf34":"\u001b[204z","kf35":"\u001b[205z","kf36":"\u001b[206z","kf37":"\u001b[207z","kf38":"\u001b[208z","kf39":"\u001b[209z","kf40":"\u001b[210z","kf41":"\u001b[211z","kf42":"\u001b[212z","kf43":"\u001b[213z","kf44":"\u001b[214z","kf45":"\u001b[200z","kf46":"\u001b[301z","kf47":"\u001b[302z","kf48":"\u001b[303z","kf49":"\u001b[304z","kf50":"\u001b[305z","kf51":"\u001b[306z","kf52":"\u001b[307z","kf53":"\u001b[308z","kf54":"\u001b[309z","kf55":"\u001b[310z","kf56":"\u001b[311z","kf57":"\u001b[312z","kf58":"\u001b[313z","kf59":"\u001b[314z","kf60":"\u001b[300z","khome":"\u001b[H","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kclr":"\u001b[2J","kprt":"\u001b[i","acsc":"j$k\"l!m#n)q+t'u\u0026v(w%x*","smacs":"\u000e","rmacs":"\u000f","enacs":"\u001b)6"} -{"name":"d800","cols":80,"lines":24,"bell":"\u0007","clear":"\u001b[1;1H\u001b[2J","cnorm":"\u001b[\u003e12h","sgr0":"\u001b[m","smul":"\u001b[4m","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kf5":"\u001bOT","kf6":"\u001bOU","kf7":"\u001bOV","kf8":"\u001bOW","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","acsc":"``a1fxgqh0jYk?lZm@nEooppqDrrsstCu4vAwBx3yyzz{{||}}~~","smacs":"\u001b[1m","rmacs":"\u001b[m"} -{"name":"ddr","aliases":["ddr3180","rebus3180"],"cols":80,"lines":24,"clear":"\u001b[H\u001b[2J$\u003c50/\u003e","sgr0":"\u001b[m$\u003c2/\u003e","smul":"\u001b[4m$\u003c2/\u003e","bold":"\u001b[1m$\u003c2/\u003e","blink":"\u001b[5m$\u003c2/\u003e","rev":"\u001b[7m$\u003c2/\u003e","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","cup":"\u001b[%i%p1%d;%p2%dH$\u003c5/\u003e","cub1":"\u0008","cuu1":"\u001b[A$\u003c2/\u003e","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C"} -{"name":"dec-vt100","cols":80,"lines":24,"bell":"\u0007","clear":"\u001b[H\u001b[J$\u003c50\u003e","sgr0":"\u001b[m\u000f$\u003c2\u003e","smul":"\u001b[4m$\u003c2\u003e","bold":"\u001b[1m$\u003c2\u003e","blink":"\u001b[5m$\u003c2\u003e","rev":"\u001b[7m$\u003c2\u003e","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","cup":"\u001b[%i%p1%d;%p2%dH$\u003c5\u003e","cub1":"\u0008","cuu1":"\u001b[A$\u003c2\u003e","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kf5":"\u001bOt","kf6":"\u001bOu","kf7":"\u001bOv","kf8":"\u001bOl","kf9":"\u001bOw","kf10":"\u001bOx","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC","acsc":"``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u000e","rmacs":"\u000f","enacs":"\u001b(B\u001b)0"} -{"name":"dec-vt220","cols":80,"lines":24,"bell":"\u0007","clear":"\u001b[H\u001b[J","sgr0":"\u001b[m\u001b(B","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kf6":"\u001b[17~","kf7":"\u001b[18~","kf8":"\u001b[19~","kf9":"\u001b[20~","kf10":"\u001b[21~","kf11":"\u001b[23~","kf12":"\u001b[24~","kf13":"\u001b[25~","kf14":"\u001b[26~","kf17":"\u001b[31~","kf18":"\u001b[32~","kf19":"\u001b[33~","kf20":"\u001b[34~","kich":"\u001b[2~","khlp":"\u001b[28~","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","acsc":"``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u001b(0$\u003c2\u003e","rmacs":"\u001b(B$\u003c4\u003e","enacs":"\u001b)0"} -{"name":"decansi","cols":-1,"lines":-1,"colors":8,"bell":"\u0007","clear":"\u001b[H\u001b[J","cnorm":"\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b[m","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","dim":"\u001b[2m","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","setaf":"\u001b[3%p1%dm","setbg":"\u001b[4%p1%dm","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u001b[D","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001b[11~","kf2":"\u001b[12~","kf3":"\u001b[13~","kf4":"\u001b[14~","kf5":"\u001b[15~","kf6":"\u001b[17~","kf7":"\u001b[18~","kf8":"\u001b[19~","kf9":"\u001b[20~","kf10":"\u001b[21~","kf11":"\u001b[23~","kf12":"\u001b[24~","kf13":"\u001b[25~","kf14":"\u001b[26~","kf15":"\u001b[28~","kf16":"\u001b[29~","kf17":"\u001b[31~","kf18":"\u001b[32~","kf19":"\u001b[33~","kf20":"\u001b[34~","kich":"\u001b[2~","kdch":"\u001b[3~","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC","acsc":"``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u000e","rmacs":"\u000f","enacs":"\u001b(B\u001b)0","_setfgbg":"\u001b[3%p1%d;4%p2%dm"} -{"name":"delta","aliases":["dd5000"],"cols":80,"lines":27,"bell":"\u0007","clear":"\u000eR","cup":"\u000f%p1%p1%{16}%m%{2}%*%-%'9'%+%c%p2%p2%{16}%m%{2}%*%-%'9'%+%c","cub1":"\u0008","cuu1":"\u001a","pad":"\u0000"} -{"name":"dg-generic","cols":80,"lines":24,"bell":"\u0007","clear":"\u000c","sgr0":"\u000f\u0015\u001d","smul":"\u0014","blink":"\u000e","dim":"\u001c","cup":"\u0010%p2%c%p1%c","cub1":"\u0019","cuu1":"\u0017","pad":"\u0000","kf1":"\u001eq","kf2":"\u001er","kf3":"\u001es","kf4":"\u001et","kf5":"\u001eu","kf6":"\u001ev","kf7":"\u001ew","kf8":"\u001ex","kf9":"\u001ey","kf10":"\u001ez","kf11":"\u001e{","kf12":"\u001ea","kf13":"\u001eb","kf14":"\u001ec","kf15":"\u001ed","kf16":"\u001ee","kf17":"\u001ef","kf18":"\u001eg","kf19":"\u001eh","kf20":"\u001ei","kf21":"\u001ej","kf22":"\u001ek","kf23":"\u001e1","kf24":"\u001e2","kf25":"\u001e3","kf26":"\u001e4","kf27":"\u001e5","kf28":"\u001e6","kf29":"\u001e7","kf30":"\u001e8","kf31":"\u001e9","kf32":"\u001e:","kf33":"\u001e;","kf34":"\u001e!","kf35":"\u001e\"","kf36":"\u001e#","kf37":"\u001e$","kf38":"\u001e%%","kf39":"\u001e\u0026","kf40":"\u001e'","kf41":"\u001e(","kf42":"\u001e)","kf43":"\u001e*","kf44":"\u001e+","khome":"\u0008","kcuu1":"\u0017","kcud1":"\u001a","kcub1":"\u0019","kcuf1":"\u0018","kclr":"\u000c"} -{"name":"dg200","cols":80,"lines":24,"bell":"\u0007","clear":"\u000c","smul":"\u0014","cup":"\u0010%p2%c%p1%c","cub1":"\u0019","cuu1":"\u0017","pad":"\u0000","kf1":"\u001eq","kf2":"\u001er","kf3":"\u001es","kf4":"\u001et","kf5":"\u001eu","kf6":"\u001ev","kf7":"\u001ew","kf8":"\u001ex","kf9":"\u001ey","khome":"\u0008","kcuu1":"\u0017","kcud1":"\u001a","kcub1":"\u0019","kcuf1":"\u0018"} -{"name":"dg210","aliases":["dg-ansi"],"cols":80,"lines":24,"clear":"\u001b[2J","smul":"\u001b[4;m","cup":"\u001b[%i%p1%d;%p2%dH","cuu1":"\u001b[A","pad":"\u0000","khome":"\u001b[H","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C"} -{"name":"dg211","cols":80,"lines":24,"bell":"\u0007","clear":"\u000c","smcup":"\u000c\u0012","rmcup":"\u000c","cnorm":"\u000c","smul":"\u0014","cup":"\u0010%p2%c%p1%c","cub1":"\u0019","cuu1":"\u0017","pad":"\u0000","kbs":"\u0019","khome":"\u0008","kcuu1":"\u0017","kcud1":"\u001a","kcub1":"\u0019","kcuf1":"\u0018"} -{"name":"dg450","aliases":["dg6134"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u000c","smul":"\u0014","cup":"\u0010%p2%c%p1%c","cuu1":"\u0017","pad":"\u0000","kf1":"\u001eq","kf2":"\u001er","kf3":"\u001es","kf4":"\u001et","kf5":"\u001eu","kf6":"\u001ev","kf7":"\u001ew","kf8":"\u001ex","kf9":"\u001ey","khome":"\u0008","kcuu1":"\u0017","kcud1":"\u001a","kcub1":"\u0019","kcuf1":"\u0018"} -{"name":"dg460-ansi","cols":80,"lines":24,"clear":"\u001b[2J","sgr0":"\u001b[m","smul":"\u001b[4m","blink":"\u001b[5m","rev":"\u001b[7m","dim":"\u001b[2m","cup":"\u001b[%i%p1%2d;%p2%2dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u001b[D","kf1":"\u001b[002z","kf2":"\u001b[003z","kf3":"\u001b[004z","kf4":"\u001b[005z","kf5":"\u001b[006z","kf6":"\u001b[007z","kf7":"\u001b[008z","kf8":"\u001b[009z","kf9":"\u001b[010z","khome":"\u001b[H","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C"} -{"name":"dg6053","aliases":["6053","6053-dg","605x","605x-dg","d2","d2-dg","dg605x"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u000c","sgr0":"\u000f\u0015\u001d","smul":"\u0014","blink":"\u000e","dim":"\u001c","cup":"\u0010%p2%c%p1%c","cub1":"\u0019","cuu1":"\u0017","pad":"\u0000","kf1":"\u001eq","kf2":"\u001er","kf3":"\u001es","kf4":"\u001et","kf5":"\u001eu","kf6":"\u001ev","kf7":"\u001ew","kf8":"\u001ex","kf9":"\u001ey","kf10":"\u001ez","kf11":"\u001e{","kf12":"\u001ea","kf13":"\u001eb","kf14":"\u001ec","kf15":"\u001ed","kf16":"\u001ee","kf17":"\u001ef","kf18":"\u001eg","kf19":"\u001eh","kf20":"\u001ei","kf21":"\u001ej","kf22":"\u001ek","kf23":"\u001e1","kf24":"\u001e2","kf25":"\u001e3","kf26":"\u001e4","kf27":"\u001e5","kf28":"\u001e6","kf29":"\u001e7","kf30":"\u001e8","kf31":"\u001e9","kf32":"\u001e:","kf33":"\u001e;","kf34":"\u001e!","kf35":"\u001e\"","kf36":"\u001e#","kf37":"\u001e$","kf38":"\u001e%%","kf39":"\u001e\u0026","kf40":"\u001e'","kf41":"\u001e(","kf42":"\u001e)","kf43":"\u001e*","kf44":"\u001e+","khome":"\u0008","kcuu1":"\u0017","kcud1":"\u001a","kcub1":"\u0019","kcuf1":"\u0018","kclr":"\u000c"} -{"name":"dg6053-old","aliases":["dg100"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u000c","smcup":"\u000c\u0012","rmcup":"\u000c","cnorm":"\u000c","smul":"\u0014","cup":"\u0010%p2%c%p1%c","cub1":"\u0019","cuu1":"\u0017","pad":"\u0000","kbs":"\u0019","kf1":"\u001er","kf2":"\u001es","kf3":"\u001et","kf4":"\u001eu","kf5":"\u001ev","kf6":"\u001ew","kf7":"\u001ex","kf8":"\u001ey","kf9":"\u001ez","khome":"\u0008","kcuu1":"\u0017","kcud1":"\u001a","kcub1":"\u0019","kcuf1":"\u0018"} -{"name":"djgpp","cols":-1,"lines":-1,"colors":8,"bell":"\u0007","clear":"\u001b[H\u001b[J","cnorm":"\u001b[v","civis":"\u001b[1v","sgr0":"\u001b[m","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","setaf":"\u001b[3%p1%dm","setbg":"\u001b[4%p1%dm","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001b[[A","kf2":"\u001b[[B","kf3":"\u001b[[C","kf4":"\u001b[[D","kf5":"\u001b[[E","kf6":"\u001b[17~","kf7":"\u001b[18~","kf8":"\u001b[19~","kf9":"\u001b[20~","kf10":"\u001b[21~","kf11":"\u001b[23~","kf12":"\u001b[24~","kich":"\u001b[2~","kdch":"\u001b[3~","khome":"\u001b[1~","kend":"\u001b[4~","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","acsc":"+\u0010,\u0011-\u0018.\u00190\ufffd`\u0004a\ufffdf\ufffdg\ufffdh\ufffdj\ufffdk\ufffdl\ufffdm\ufffdn\ufffdo~p\ufffdq\ufffdr\ufffds_t\ufffdu\ufffdv\ufffdw\ufffdx\ufffdy\ufffdz\ufffd{\ufffd|\ufffd}\ufffd~\ufffd","_setfgbg":"\u001b[3%p1%d;4%p2%dm"} -{"name":"djgpp204","cols":80,"lines":25,"colors":8,"bell":"\u0007","clear":"\u001b[H\u001b[2J","cnorm":"\u001b[v","civis":"\u001b[1v","sgr0":"\u001b[m","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","setaf":"\u001b[3%p1%dm","setbg":"\u001b[4%p1%dm","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u001b[D","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001b[[A","kf2":"\u001b[[B","kf3":"\u001b[[C","kf4":"\u001b[[D","kf5":"\u001b[[E","kf6":"\u001b[17~","kf7":"\u001b[18~","kf8":"\u001b[19~","kf9":"\u001b[20~","kf10":"\u001b[21~","kich":"\u001b[2~","kdch":"\u001b[3~","khome":"\u001b[1~","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","_setfgbg":"\u001b[3%p1%d;4%p2%dm"} -{"name":"dku7003","cols":80,"lines":25,"clear":"\u001d\u001f","sgr0":"\u001b[m","smul":"\u001b[4m","bold":"\u001b[7m","blink":"\u001b[5m","rev":"\u001b[7m","dim":"\u001b[2m","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0019","cuu1":"\u001a","pad":"\u0000","kbs":"\u0008","khome":"\u001d","kcuu1":"\u001a","kcud1":"\u000b","kcub1":"\u0019","kcuf1":"\u0018"} -{"name":"dku7003-dumb","cols":80,"lines":25,"clear":"\u001d\u001f","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0019","cuu1":"\u001a","pad":"\u0000","kbs":"\u0008","khome":"\u001d","kcuu1":"\u001a","kcud1":"\u000b","kcub1":"\u0019","kcuf1":"\u0018"} -{"name":"dku7202","cols":80,"lines":24,"bell":"\u0007","clear":"\u001b[2J","smcup":"\u001b[?\u003eh\u001bPY99:98\u001b\\","rmcup":"\u001b[0;98v\u001b[2J\u001b[v","cnorm":"\u001b[r","civis":"\u001b[1r","sgr0":"\u001b[m\u000f","smul":"\u001b[0;2m","blink":"\u001b[0;2;4m","rev":"\u001b[0;7m","dim":"\u001b[0;5m","cup":"\u001b[%i%p1%d;%p2%df","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001b[1u\u0017","kf2":"\u001b[2u\u0017","kf3":"\u001b[3u\u0017","kf4":"\u001b[4u\u0017","kf5":"\u001b[5u\u0017","kf6":"\u001b[6u\u0017","kf7":"\u001b[7u\u0017","kf8":"\u001b[8u\u0017","kdch":"\u001b[P","khome":"\u001b[H","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001b[Z","acsc":"``aaffggj)k,l\u0026m#n/ooppq*rrsst'u-v+w.x%yyzz{{||}}~~","smacs":"\u000e","rmacs":"\u000f"} -{"name":"dm1520","aliases":["dm1521"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u000c","cup":"\u001e%p2%' '%+%c%p1%' '%+%c","cub1":"\u0008","cuu1":"\u001f","pad":"\u0000","khome":"\u0019","kcuu1":"\u001f","kcud1":"\n","kcub1":"\u0008","kcuf1":"\u001c"} -{"name":"dm2500","aliases":["datamedia2500"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u001e\u001e","cup":"\u000c%p2%'`'%^%c%p1%'`'%^%c","cub1":"\u0008","cuu1":"\u001a","pad":"\ufffd"} -{"name":"dm3025","cols":80,"lines":24,"bell":"\u0007","clear":"\u001bM$\u003c2\u003e","cup":"\u001bY%p2%' '%+%c%p1%' '%+%c","cub1":"\u0008","cuu1":"\u001bA","pad":"\u0000"} -{"name":"dm3045","cols":80,"lines":24,"bell":"\u0007","clear":"\u001bM$\u003c2\u003e","cup":"\u001bY%p2%' '%+%c%p1%' '%+%c","cub1":"\u0008","cuu1":"\u001bA","pad":"","kf1":"\u001bp\r","kf2":"\u001bq\r","kf3":"\u001br\r","kf4":"\u001bs\r","kf5":"\u001bt\r","kf6":"\u001bu\r","kf7":"\u001bv\r","kf8":"\u001bw\r","kf9":"\u001bx\r","khome":"\u001bH","kcuu1":"\u001bA","kcuf1":"\u001bC"} -{"name":"dm80","aliases":["dmdt80","dt80"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u001b[2J\u001b[H","sgr0":"\u001b[m","smul":"\u001b[4m","bold":"\u001b[1m$\u003c2\u003e","blink":"\u001b[5m$\u003c2\u003e","rev":"\u001b[7m$\u003c2\u003e","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","cup":"%i\u001b[%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kf5":"\u001bOt","kf6":"\u001bOu","kf7":"\u001bOv","kf8":"\u001bOl","kf9":"\u001bOw","kf10":"\u001bOx","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC","acsc":"``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u000e","rmacs":"\u000f","enacs":"\u001b(B\u001b)0"} -{"name":"dm80w","aliases":["dmdt80w","dt80w"],"cols":132,"lines":24,"bell":"\u0007","clear":"\u001b[H\u001b[2J$\u003c50/\u003e","sgr0":"\u001b[m","smul":"\u001b[4m","bold":"\u001b[1m$\u003c2\u003e","blink":"\u001b[5m$\u003c2\u003e","rev":"\u001b[7m$\u003c2\u003e","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","cup":"\u001b[%i%p1%d;%p2%dH$\u003c5/\u003e","cub1":"\u0008","cuu1":"\u001b[A$\u003c5/\u003e","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kf5":"\u001bOt","kf6":"\u001bOu","kf7":"\u001bOv","kf8":"\u001bOl","kf9":"\u001bOw","kf10":"\u001bOx","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC","acsc":"``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u000e","rmacs":"\u000f","enacs":"\u001b(B\u001b)0"} -{"name":"dmchat","cols":80,"lines":24,"bell":"\u0007","clear":"\u001e\u001e","cup":"\u000c%p2%'`'%^%c%p1%'`'%^%c","cub1":"\u0008","cuu1":"\u001a","pad":"\ufffd"} -{"name":"dmterm","cols":80,"lines":24,"bell":"\u0007","clear":"\u001bj","cnorm":"\u001bG6","civis":"\u001bG5","sgr0":"\u001bG0","rev":"\u001bG4","cup":"\u001bY%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u001bA","pad":"\u0000","kf1":"\u001b2","kf2":"\u001b3","kf3":"\u001b4","kf4":"\u001b5","kf5":"\u001b6","kf6":"\u001b7","kf7":"\u001b8","kf8":"\u001b9","kf9":"\u001b0","khome":"\u001bH","kcuu1":"\u001bA","kcud1":"\u001bB","kcub1":"\u001bD","kcuf1":"\u001bC"} -{"name":"dp8242","cols":80,"lines":25,"bell":"\u0007","clear":"\u0015\u001b\u0004\u0017\u0018","cnorm":"\u0018","civis":"\u0019","smul":"\u001b\u0006","cup":"\t%p2%'\ufffd'%+%c%p1%'\ufffd'%+%c","cub1":"\u0008","pad":"\u0000","kbs":"\u0008","kf1":"\u0007\u001be","kf2":"\t\u001bd","kf3":"\n\u001bc","kf4":"\n\u001bb","kf5":"\u0013\u001ba","kf6":"\u001bO\u001be","kf7":"\u001bN\u001bd","kf8":"\u001bM\u001bc","kf9":"\u001bL\u001bb","kf10":"\u001bK\u001ba","kcuu1":"\u0005","kcud1":"\u0002","kcub1":"\u0004","kcuf1":"\u0006"} -{"name":"dt100","aliases":["dt-100"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u001b[H\u001b[2J","cnorm":"\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b[m","smul":"\u001b[4m","cup":"\u0008\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kf1":"\u001b[?3i","kf2":"\u001b[2i","kf3":"\u001b[@","kf4":"\u001b[M","kf5":"\u001b[17~","kf6":"\u001b[18~","kf7":"\u001b[19~","kf8":"\u001b[20~","kf9":"\u001b[21~","kf10":"\u001b[?5i","khome":"\u001b[H","kpp":"\u001b[28~","knp":"\u001b[29~","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","acsc":"jjkkllmmnnqqttuuvvwwxx","smacs":"\u000e","rmacs":"\u000f"} -{"name":"dt100w","aliases":["dt-100w"],"cols":132,"lines":24,"bell":"\u0007","clear":"\u001b[H\u001b[2J","cnorm":"\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b[m","smul":"\u001b[4m","cup":"\u0008\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kf1":"\u001b[?3i","kf2":"\u001b[2i","kf3":"\u001b[@","kf4":"\u001b[M","kf5":"\u001b[17~","kf6":"\u001b[18~","kf7":"\u001b[19~","kf8":"\u001b[20~","kf9":"\u001b[21~","kf10":"\u001b[?5i","khome":"\u001b[H","kpp":"\u001b[28~","knp":"\u001b[29~","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","acsc":"jjkkllmmnnqqttuuvvwwxx","smacs":"\u000e","rmacs":"\u000f"} -{"name":"dt110","cols":80,"lines":24,"bell":"\u0007","clear":"\u001b[H\u001b[2J","cnorm":"\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b[m","smul":"\u001b[4m","cup":"\u0008\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[0A","pad":"\u0000","kf1":"\u001b[1~","kf2":"\u001b[2~","kf3":"\u001b[3~","kf4":"\u001b[4~","kf5":"\u001b[5~","kf6":"\u001b[6~","kf7":"\u001b[7~","kf8":"\u001b[8~","kf9":"\u001b[9~","kf10":"\u001b[10~","kich":"\u001b[@","khome":"\u001b[G","kend":"\u001b[K","kpp":"\u001b[25~","knp":"\u001b[26~","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","acsc":"jjkkllmmnnqqttuuvvwwxx","smacs":"\u000e","rmacs":"\u000f","enacs":"\u001b(B\u001b)0"} -{"name":"dt80-sas","cols":80,"lines":24,"bell":"\u0007","clear":"\u000c","sgr0":"\u0018","rev":"\u001b$2\u0004","cup":"\u001b=%p2%' '%+%c%p1%' '%+%c","cub1":"\u0008","cuu1":"\u001f","pad":"\u0000","khome":"\u0019","kcuu1":"\u001f","kcud1":"\n","kcub1":"\u0008","kcuf1":"\u001c","kclr":"\u000c","acsc":"``a1fxgqh0jYk?lZm@nEooppqDrrsstCu4vAwBx3yyzz{{||}}~~","smacs":"\u001bF","rmacs":"\u001bG"} -{"name":"dtc382","cols":80,"lines":24,"bell":"\u0007","clear":"\u0010\u001d$\u003c20\u003e","smcup":"\u0010\u001d$\u003c20\u003e","cnorm":"\u0010b","smul":"\u0010 \u0010","cup":"\u0010\u0011%p2%c%p1%c","cub1":"\u0008","cuu1":"\u0010\u000c","pad":""} -{"name":"dtterm","cols":80,"lines":24,"colors":8,"bell":"\u0007","clear":"\u001b[H\u001b[J","cnorm":"\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b[m\u000f","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","dim":"\u001b[2m","setaf":"\u001b[3%p1%dm","setbg":"\u001b[4%p1%dm","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001b[11~","kf2":"\u001b[12~","kf3":"\u001b[13~","kf4":"\u001b[14~","kf5":"\u001b[15~","kf6":"\u001b[17~","kf7":"\u001b[18~","kf8":"\u001b[19~","kf9":"\u001b[20~","kf10":"\u001b[21~","kf11":"\u001b[23~","kf12":"\u001b[24~","kf13":"\u001b[25~","kf14":"\u001b[26~","kf15":"\u001b[28~","kf16":"\u001b[29~","kf17":"\u001b[31~","kf18":"\u001b[32~","kf19":"\u001b[33~","kf20":"\u001b[34~","kich":"\u001b[2~","kdch":"\u001b[3~","khlp":"\u001b[28~","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","acsc":"``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u000e","rmacs":"\u000f","enacs":"\u001b(B\u001b)0","_setfgbg":"\u001b[3%p1%d;4%p2%dm"} -{"name":"dwk","aliases":["dwk-vt"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u001bH\u001bJ","sgr0":"\u001bX","rev":"\u001bT","cup":"\u001bY%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u001bA","pad":"\u0000","kbs":"","kf1":"\u001bf1","kf2":"\u001bf2","kf3":"\u001bf3","kf4":"\u001bf4","kf5":"\u001bf5","kf6":"\u001bf6","kf7":"\u001bf7","kf8":"\u001bf8","kf9":"\u001bf9","kf10":"\u001bf0","kich":"\u001bd","kdch":"\u001be","kpp":"\u001bg","knp":"\u001bh","kcuu1":"\u001bA","kcud1":"\u001bB","kcub1":"\u001bD","kcuf1":"\u001bC","acsc":"+^,Q-S.M0`+a:f'g#h#i#jXkClJmFnNo~qUs_tEuPv\\wKxW~_","smacs":"\u001bF","rmacs":"\u001bG"} -{"name":"elks","cols":80,"lines":25,"bell":"\u0007","clear":"\u001bH\u001bJ","cup":"\u001bY%p1%' '%+%c%p2%' '%+%c","cub1":"\u001bD","cuu1":"\u001bA","pad":"\u0000","kbs":"\u0008","kcud1":"\n","kcub1":"\u0008"} -{"name":"elks-ansi","cols":80,"lines":25,"bell":"\u0007","clear":"\u001b[H\u001b[2J","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u001b[D","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kcud1":"\n","kcub1":"\u0008"} -{"name":"elks-vt52","cols":80,"lines":25,"bell":"\u0007","clear":"\u001bH\u001bJ","cup":"\u001bY%p1%' '%+%c%p2%' '%+%c","cub1":"\u001bD","cuu1":"\u001bA","pad":"\u0000","kbs":"\u0008","kcud1":"\n","kcub1":"\u0008"} -{"name":"emu","cols":80,"lines":24,"colors":15,"bell":"\u0007","clear":"\u001bP\u001bE0;0;","cnorm":"\u001ba","civis":"\u001bZ","sgr0":"\u001bS","smul":"\u001bV","bold":"\u001bU","blink":"\u001bW","rev":"\u001bT","setaf":"\u001br%i%p1%d;","setbg":"\u001bs%i%p1%d;","cup":"\u001bE%p1%d;%p2%d;","cub1":"\u0008","cuu1":"\u001bA","pad":"\u0000","kbs":"\u0008","kf1":"\u001bF01","kf2":"\u001bF02","kf3":"\u001bF03","kf4":"\u001bF04","kf5":"\u001bF05","kf6":"\u001bF06","kf7":"\u001bF07","kf8":"\u001bF08","kf9":"\u001bF09","kf10":"\u001bF10","kf11":"\u001bF11","kf12":"\u001bF12","kf13":"\u001bF13","kf14":"\u001bF14","kf15":"\u001bF15","kf16":"\u001bF16","kf17":"\u001bF17","kf18":"\u001bF18","kf19":"\u001bF19","kf20":"\u001bF20","kich":"\u001bins","kdch":"","kpp":"\u001bprior","knp":"\u001bnext","kcuu1":"\u001bA","kcud1":"\u001bB","kcub1":"\u001bC","kcuf1":"\u001bD","acsc":"61a\ufffdf\ufffdg2j\ufffdk\ufffdl\ufffdm\ufffdn\ufffdo\ufffdq\ufffds\ufffdt\ufffdu\ufffdv\ufffdw\ufffdx\ufffd~\ufffd"} -{"name":"emu-220","cols":80,"lines":24,"bell":"\u0007","clear":"\u001b[2J\u001b[H","smcup":"\u001b[?1l\u001b=","rmcup":"\u001b\u003e","cnorm":"\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b[m","smul":"\u001b[0;4m","bold":"\u001b[0;1m","blink":"\u001b[0;5m","rev":"\u001b[0;7m","smkx":"\u001b=","rmkx":"\u001b\u003e","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u001b[1D","cuu1":"\u001b[1A","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOq","kf2":"\u001bOr","kf3":"\u001bOs","kf4":"\u001bOt","kf5":"\u001bOu","kf6":"\u001bOv","kf7":"\u001bOw","kf8":"\u001bOx","kf9":"\u001bOy","kf10":"\u001bOl","kf11":"\u001bOm","kf12":"\u001bOn","kf13":"\u001bOP","kf14":"\u001bOQ","kf15":"\u001bOR","kf16":"\u001bOS","kf26":"\u001b[17~","kf27":"\u001b[18~","kf28":"\u001b[19~","kf29":"\u001b[20~","kf30":"\u001b[21~","kf34":"\u001b[26~","kf37":"\u001b[31~","kf38":"\u001b[32~","kf39":"\u001b[33~","kf40":"\u001b[34~","kich":"\u001b[2~","kdch":"\u001b[3~","khlp":"\u001b[28~","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","acsc":"aaffggjjkkllmmnnooqqssttuuvvwwxx~~","smacs":"\u000e","rmacs":"\u000f","enacs":"\u001b)0"} -{"name":"emx-base","cols":80,"lines":25,"colors":8,"bell":"\u0007","clear":"\u001b[2J","sgr0":"\u001b[0;10m","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","setaf":"\u001b[3%p1%dm","setbg":"\u001b[4%p1%dm","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\ufffd;","kf2":"\ufffd\u003c","kf3":"\ufffd=","kf4":"\ufffd\u003e","kf5":"\ufffd?","kf6":"\ufffd@","kf7":"\ufffdA","kf8":"\ufffdB","kf9":"\ufffdC","kf10":"\ufffdD","kf11":"\ufffd\ufffd","kf12":"\ufffd\ufffd","kf13":"\ufffdT","kf14":"\ufffdU","kf15":"\ufffdV","kf16":"\ufffdW","kf17":"\ufffdX","kf18":"\ufffdY","kf19":"\ufffdZ","kf20":"\ufffd[","kf21":"\ufffd\\","kf22":"\ufffd]","kf23":"\ufffd\ufffd","kf24":"\ufffd\ufffd","kf25":"\ufffd^","kf26":"\ufffd_","kf27":"\ufffd`","kf28":"\ufffda","kf29":"\ufffdb","kf30":"\ufffdc","kf31":"\ufffdd","kf32":"\ufffde","kf33":"\ufffdf","kf34":"\ufffdg","kf35":"\ufffd\ufffd","kf36":"\ufffd\ufffd","kf37":"\ufffdh","kf38":"\ufffdi","kf39":"\ufffdj","kf40":"\ufffdk","kf41":"\ufffdl","kf42":"\ufffdm","kf43":"\ufffdn","kf44":"\ufffdo","kf45":"\ufffdp","kf46":"\ufffdq","kf47":"\ufffd\ufffd","kf48":"\ufffd\ufffd","kich":"\ufffdR","kdch":"\ufffdS","khome":"\ufffdG","kend":"\ufffdO","kpp":"\ufffdI","knp":"\ufffdQ","kcuu1":"\ufffdH","kcud1":"\ufffdP","kcub1":"\ufffdK","kcuf1":"\ufffdM","kcbt":"\ufffd\u000f","acsc":"+\u0010,\u0011-\u0018.\u00190\ufffd`\u0004a\ufffdf\ufffdg\ufffdh\ufffdj\ufffdk\ufffdl\ufffdm\ufffdn\ufffdo~p\ufffdq\ufffdr\ufffds_t\ufffdu\ufffdv\ufffdw\ufffdx\ufffdy\ufffdz\ufffd{\ufffd|\ufffd}\ufffd~\ufffd","smacs":"\u001b[11m","rmacs":"\u001b[10m","_setfgbg":"\u001b[3%p1%d;4%p2%dm"} -{"name":"env230","aliases":["envision230"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u001b[H\u001b[J$\u003c50\u003e","sgr0":"\u001b[m\u000f$\u003c2\u003e","smul":"\u001b[4m$\u003c2\u003e","bold":"\u001b[1m$\u003c2\u003e","blink":"\u001b[5m$\u003c2\u003e","rev":"\u001b[7m$\u003c2\u003e","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","cup":"\u001b[%i%p1%d;%p2%dH$\u003c5\u003e","cub1":"\u0008","cuu1":"\u001b[A$\u003c2\u003e","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kf5":"\u001bOt","kf6":"\u001bOu","kf7":"\u001bOv","kf8":"\u001bOl","kf9":"\u001bOw","kf10":"\u001bOx","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC","acsc":"``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u000e","rmacs":"\u000f","enacs":"\u001b(B\u001b)0"} -{"name":"ergo4000","cols":80,"lines":66,"bell":"\u0007","clear":"\u001b[H\u001b[2J$\u003c80\u003e","sgr0":"\u001b[m$\u003c20\u003e","smkx":"\u001b=$\u003c4\u003e","rmkx":"\u001b=$\u003c4\u003e","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C"} -{"name":"esprit","cols":80,"lines":24,"bell":"\u0007","clear":"\u001b\u001c","smkx":"\u001b\u003c","rmkx":"\u001b\u003e","cup":"\u001b\u0011%p2%c%p1%c","cub1":"\u0008","cuu1":"\u001b\u000c","pad":"\u0000","kbs":"\u0008","kf1":"\u00021\n","kf2":"\u00022\n","kf3":"\u00023\n","kf4":"\u00024\n","kf5":"\u00025\n","kf6":"\u00026\n","kf7":"\u00027\n","kf8":"\u00028\n","kf9":"\u00029\n","khome":"\u001b\u0012","kcuu1":"\u001b\u000c","kcud1":"\u001b\u000b","kcub1":"\u0008","kcuf1":"\u0010"} -{"name":"esprit-am","cols":80,"lines":24,"bell":"\u0007","clear":"\u001b\u001c","smkx":"\u001b\u003c","rmkx":"\u001b\u003e","cup":"\u001b\u0011%p2%c%p1%c","cub1":"\u0008","cuu1":"\u001b\u000c","pad":"\u0000","kbs":"\u0008","kf1":"\u00021\n","kf2":"\u00022\n","kf3":"\u00023\n","kf4":"\u00024\n","kf5":"\u00025\n","kf6":"\u00026\n","kf7":"\u00027\n","kf8":"\u00028\n","kf9":"\u00029\n","khome":"\u001b\u0012","kcuu1":"\u001b\u000c","kcud1":"\u001b\u000b","kcub1":"\u0008","kcuf1":"\u0010"} -{"name":"eterm","cols":80,"lines":24,"bell":"\u0007","clear":"\u001b[H\u001b[J","smcup":"\u001b7\u001b[?47h","rmcup":"\u001b[2J\u001b[?47l\u001b8","sgr0":"\u001b[m","smul":"\u001b[4m","bold":"\u001b[1m","rev":"\u001b[7m","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000"} -{"name":"ex155","cols":80,"lines":24,"clear":"\u001bX","smul":"\u001bf\u001bD","cup":"\u001bE%p1%' '%+%c%p2%' '%+%c","pad":"\u0000","kbs":"\u0008","khome":"\u001b@","kcuu1":"\u000b","kcud1":"\n","kcub1":"\u0008","kcuf1":"\u000c","kcbt":"\u001b[","kclr":"\u001bX"} -{"name":"excel62","aliases":["excel64"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u001b[2J\u001b[H","sgr0":"\u001b[m","smul":"\u001b[4m","bold":"\u001b[1m$\u003c2\u003e","blink":"\u001b[5m$\u003c2\u003e","rev":"\u001b[7m$\u003c2\u003e","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","cup":"%i\u001b[%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kf5":"\u001bOu","kf6":"\u001bOv","kf7":"\u001bOw","kf8":"\u001bOx","kf9":"\u001bOy","kf10":"\u001bOx","kcuu1":"\u001bOA","kcud1":"\n","kcub1":"\u0008","kcuf1":"\u001bOC","acsc":"``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u000e","rmacs":"\u000f","enacs":"\u001b(B\u001b)0"} -{"name":"excel62-rv","aliases":["excel64-rv"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u001b[2J\u001b[H","sgr0":"\u001b[m","smul":"\u001b[4m","bold":"\u001b[1m$\u003c2\u003e","blink":"\u001b[5m$\u003c2\u003e","rev":"\u001b[7m$\u003c2\u003e","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","cup":"%i\u001b[%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kf5":"\u001bOu","kf6":"\u001bOv","kf7":"\u001bOw","kf8":"\u001bOx","kf9":"\u001bOy","kf10":"\u001bOx","kcuu1":"\u001bOA","kcud1":"\n","kcub1":"\u0008","kcuf1":"\u001bOC","acsc":"``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u000e","rmacs":"\u000f","enacs":"\u001b(B\u001b)0"} -{"name":"excel62-w","aliases":["excel64-w"],"cols":132,"lines":24,"bell":"\u0007","clear":"\u001b[H\u001b[2J$\u003c50/\u003e","sgr0":"\u001b[m","smul":"\u001b[4m","bold":"\u001b[1m$\u003c2\u003e","blink":"\u001b[5m$\u003c2\u003e","rev":"\u001b[7m$\u003c2\u003e","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","cup":"\u001b[%i%p1%d;%p2%dH$\u003c5/\u003e","cub1":"\u0008","cuu1":"\u001b[A$\u003c5/\u003e","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kf5":"\u001bOu","kf6":"\u001bOv","kf7":"\u001bOw","kf8":"\u001bOx","kf9":"\u001bOy","kf10":"\u001bOx","kcuu1":"\u001bOA","kcud1":"\n","kcub1":"\u0008","kcuf1":"\u001bOC","acsc":"``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u000e","rmacs":"\u000f","enacs":"\u001b(B\u001b)0"} -{"name":"f100","aliases":["freedom","freedom100"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u001a","sgr0":"\u001bG0","smul":"\u001bG8","rev":"\u001bG4","cup":"\u001b=%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u000b","pad":"\u0000","kbs":"\u0008","kf1":"\u0001@\r","kf2":"\u0001A\r","kf3":"\u0001B\r","kf4":"\u0001C\r","kf5":"\u0001D\r","kf6":"\u0001E\r","kf7":"\u0001F\r","kf8":"\u0001G\r","kf9":"\u0001H\r","kf10":"\u0001I\r","khome":"\u001e","kcuu1":"\u000b","kcud1":"\u0016","kcub1":"\u0008","kcuf1":"\u000c","kcbt":"\u001bI","smacs":"\u001b%%","rmacs":"\u001b$"} -{"name":"f100-rv","aliases":["freedom-rv"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u001a","sgr0":"\u001bG0","smul":"\u001bG8","rev":"\u001bG4","cup":"\u001b=%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u000b","pad":"\u0000","kbs":"\u0008","kf1":"\u0001@\r","kf2":"\u0001A\r","kf3":"\u0001B\r","kf4":"\u0001C\r","kf5":"\u0001D\r","kf6":"\u0001E\r","kf7":"\u0001F\r","kf8":"\u0001G\r","kf9":"\u0001H\r","kf10":"\u0001I\r","khome":"\u001e","kcuu1":"\u000b","kcud1":"\u0016","kcub1":"\u0008","kcuf1":"\u000c","kcbt":"\u001bI","smacs":"\u001b%%","rmacs":"\u001b$"} -{"name":"f110","aliases":["freedom110"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u001a","cnorm":"\u001b.2","civis":"\u001b.1","sgr0":"\u001bG0","smul":"\u001bG8","bold":"\u001bG0","blink":"\u001bG2","rev":"\u001bG4","dim":"\u001bG@","cup":"\u001b=%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u000b","pad":"\u0000","kbs":"\u0008","kf1":"\u0001@\r","kf2":"\u0001A\r","kf3":"\u0001B\r","kf4":"\u0001C\r","kf5":"\u0001D\r","kf6":"\u0001E\r","kf7":"\u0001F\r","kf8":"\u0001G\r","kf9":"\u0001H\r","kich":"\u001bQ","kdch":"\u001bW","khome":"\u001e","kcuu1":"\u000b","kcud1":"\u0016","kcub1":"\u0008","kcuf1":"\u000c","kcbt":"\u001bI","kclr":"\u001e","smacs":"\u001b$","rmacs":"\u001b%%"} -{"name":"f110-14","cols":80,"lines":24,"bell":"\u0007","clear":"\u001a","cnorm":"\u001b.2","civis":"\u001b.1","sgr0":"\u001bG0","smul":"\u001bG8","bold":"\u001bG0","blink":"\u001bG2","rev":"\u001bG4","dim":"\u001bG@","cup":"\u001b=%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u000b","pad":"\u0000","kbs":"\u0008","kf1":"\u0001@\r","kf2":"\u0001A\r","kf3":"\u0001B\r","kf4":"\u0001C\r","kf5":"\u0001D\r","kf6":"\u0001E\r","kf7":"\u0001F\r","kf8":"\u0001G\r","kf9":"\u0001H\r","kich":"\u001bQ","kdch":"\u001bW","khome":"\u001e","kcuu1":"\u000b","kcud1":"\u0016","kcub1":"\u0008","kcuf1":"\u000c","kcbt":"\u001bI","kclr":"\u001e","smacs":"\u001b$","rmacs":"\u001b%%"} -{"name":"f110-14w","cols":132,"lines":24,"bell":"\u0007","clear":"\u001a","cnorm":"\u001b.2","civis":"\u001b.1","sgr0":"\u001bG0","smul":"\u001bG8","bold":"\u001bG0","blink":"\u001bG2","rev":"\u001bG4","dim":"\u001bG@","cup":"\u001b=%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u000b","pad":"\u0000","kbs":"\u0008","kf1":"\u0001@\r","kf2":"\u0001A\r","kf3":"\u0001B\r","kf4":"\u0001C\r","kf5":"\u0001D\r","kf6":"\u0001E\r","kf7":"\u0001F\r","kf8":"\u0001G\r","kf9":"\u0001H\r","kich":"\u001bQ","kdch":"\u001bW","khome":"\u001e","kcuu1":"\u000b","kcud1":"\u0016","kcub1":"\u0008","kcuf1":"\u000c","kcbt":"\u001bI","kclr":"\u001e","smacs":"\u001b$","rmacs":"\u001b%%"} -{"name":"f110-w","cols":132,"lines":24,"bell":"\u0007","clear":"\u001a","cnorm":"\u001b.2","civis":"\u001b.1","sgr0":"\u001bG0","smul":"\u001bG8","bold":"\u001bG0","blink":"\u001bG2","rev":"\u001bG4","dim":"\u001bG@","cup":"\u001b=%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u000b","pad":"\u0000","kbs":"\u0008","kf1":"\u0001@\r","kf2":"\u0001A\r","kf3":"\u0001B\r","kf4":"\u0001C\r","kf5":"\u0001D\r","kf6":"\u0001E\r","kf7":"\u0001F\r","kf8":"\u0001G\r","kf9":"\u0001H\r","kich":"\u001bQ","kdch":"\u001bW","khome":"\u001e","kcuu1":"\u000b","kcud1":"\u0016","kcub1":"\u0008","kcuf1":"\u000c","kcbt":"\u001bI","kclr":"\u001e","smacs":"\u001b$","rmacs":"\u001b%%"} -{"name":"f1720","aliases":["f1720a"],"cols":80,"lines":16,"bell":"\u0007","clear":"\u001b[H\u001b[2J","sgr0":"\u001b[m","smul":"\u001b[4m","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kcuu1":"\u001c","kcud1":"\u001d","kcub1":"\u001f","kcuf1":"\u001e"} -{"name":"f200","aliases":["freedom200"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u001a","cnorm":"\u001b.1","civis":"\u001b.0","sgr0":"\u001bG0","smul":"\u001bG8","bold":"\u001bG0","blink":"\u001bG2","rev":"\u001bG4","dim":"\u001bG@","cup":"\u001b=%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u000b","pad":"\u0000","kbs":"\u0008","kf1":"\u0001@\r","kf2":"\u0001A\r","kf3":"\u0001B\r","kf4":"\u0001C\r","kf5":"\u0001D\r","kf6":"\u0001E\r","kf7":"\u0001F\r","kf8":"\u0001G\r","kf9":"\u0001H\r","kich":"\u001bQ","kdch":"\u001bW","kcuu1":"\u000b","kcud1":"\u0016","kcub1":"\u0008","kcuf1":"\u000c","kclr":"\u001e","smacs":"\u001b$","rmacs":"\u001b%%"} -{"name":"f200-w","cols":132,"lines":24,"bell":"\u0007","clear":"\u001a","cnorm":"\u001b.1","civis":"\u001b.0","sgr0":"\u001bG0","smul":"\u001bG8","bold":"\u001bG0","blink":"\u001bG2","rev":"\u001bG4","dim":"\u001bG@","cup":"\u001b=%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u000b","pad":"\u0000","kbs":"\u0008","kf1":"\u0001@\r","kf2":"\u0001A\r","kf3":"\u0001B\r","kf4":"\u0001C\r","kf5":"\u0001D\r","kf6":"\u0001E\r","kf7":"\u0001F\r","kf8":"\u0001G\r","kf9":"\u0001H\r","kich":"\u001bQ","kdch":"\u001bW","kcuu1":"\u000b","kcud1":"\u0016","kcub1":"\u0008","kcuf1":"\u000c","kclr":"\u001e","smacs":"\u001b$","rmacs":"\u001b%%"} -{"name":"f200vi","cols":80,"lines":24,"bell":"\u0007","clear":"\u001a","cnorm":"\u001b.1","civis":"\u001b.0","sgr0":"\u001bG0","smul":"\u001bG8","bold":"\u001bG0","blink":"\u001bG2","rev":"\u001bG4","dim":"\u001bG@","cup":"\u001b=%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u000b","pad":"\u0000","kbs":"\u0008","kf1":"\u0001@\r","kf2":"\u0001A\r","kf3":"\u0001B\r","kf4":"\u0001C\r","kf5":"\u0001D\r","kf6":"\u0001E\r","kf7":"\u0001F\r","kf8":"\u0001G\r","kf9":"\u0001H\r","kich":"\u001bQ","kdch":"\u001bW","kcuu1":"\u000b","kcud1":"\n","kcub1":"\u0008","kcuf1":"\u000c","kclr":"\u001e","smacs":"\u001b$","rmacs":"\u001b%%"} -{"name":"f200vi-w","cols":132,"lines":24,"bell":"\u0007","clear":"\u001a","cnorm":"\u001b.1","civis":"\u001b.0","sgr0":"\u001bG0","smul":"\u001bG8","bold":"\u001bG0","blink":"\u001bG2","rev":"\u001bG4","dim":"\u001bG@","cup":"\u001b=%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u000b","pad":"\u0000","kbs":"\u0008","kf1":"\u0001@\r","kf2":"\u0001A\r","kf3":"\u0001B\r","kf4":"\u0001C\r","kf5":"\u0001D\r","kf6":"\u0001E\r","kf7":"\u0001F\r","kf8":"\u0001G\r","kf9":"\u0001H\r","kich":"\u001bQ","kdch":"\u001bW","kcuu1":"\u000b","kcud1":"\n","kcub1":"\u0008","kcuf1":"\u000c","kclr":"\u001e","smacs":"\u001b$","rmacs":"\u001b%%"} -{"name":"falco","aliases":["ts-1","ts1"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u001b*","sgr0":"\u001bg0","smul":"\u001bg1","cup":"\u001b=%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u000b","pad":"\u0000","kcuu1":"\u000b","kcud1":"\n","kcub1":"\u0008","kcuf1":"\u000c"} -{"name":"falco-p","aliases":["ts-1p","ts1p"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u001b*","smcup":"\u001b_d","rmcup":"\u001b_b","sgr0":"\u001bg0","smul":"\u001bg1","cup":"\u001b=%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","khome":"\u001b[H","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C"} -{"name":"fos","aliases":["fortune"],"cols":80,"lines":25,"bell":"\u0007","clear":"\u000c$\u003c20\u003e","cnorm":"\u001b\\","civis":"\u001b]","sgr0":"\u001bI","smul":"\u001cHP","blink":"\u001bN","rev":"\u001bH","cup":"\u001cC%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u000b$\u003c3\u003e","pad":"\u0000","kbs":"\u0008","kf1":"\u0001a\r","kf2":"\u0001b\r","kf3":"\u0001c\r","kf4":"\u0001d\r","kf5":"\u0001e\r","kf6":"\u0001f\r","kf7":"\u0001g\r","kf8":"\u0001h\r","khome":"\u0001?\r","kend":"\u0001k\r","kpp":"\u0001n\r","knp":"\u0001o\r","kcuu1":"\u0001x\r","kcud1":"\u0001y\r","kcub1":"\u0001w\r","kcuf1":"\u0001z\r","acsc":"j*k(l m\"q\u0026v%w#x-","smacs":"\u001bo","rmacs":"\u000f"} -{"name":"fox","aliases":["pe1100"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u001bH\u001bJ$\u003c132\u003e","cup":"\u001bX%p1%' '%+%c\u001bY%p2%' '%+%c","cub1":"\u0008","cuu1":"\u001bA","pad":"\u0000"} -{"name":"gator","cols":128,"lines":47,"bell":"\u0007","clear":"\u001b[H\u001b[J","sgr0":"\u001b[m","smul":"\u001b[4m","rev":"\u001b[7m","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001bM","pad":"\u0000","kbs":"\u0008","kcud1":"\n","kcub1":"\u0008"} -{"name":"gator-52","cols":128,"lines":47,"bell":"\u0007","clear":"\u001bH\u001bJ","cup":"\u001bY%p1%' '%+%c%p2%' '%+%c","cub1":"\u001bD","cuu1":"\u001bA","pad":"\u0000","kbs":"\u0008","kcuu1":"\u001bA","kcud1":"\u001bB","kcub1":"\u001bD","kcuf1":"\u001bC","acsc":"ffgghhompoqqss.k","smacs":"\u001bF","rmacs":"\u001bG"} -{"name":"gator-52t","cols":128,"lines":94,"bell":"\u0007","clear":"\u001bH\u001bJ","cup":"\u001bY%p1%' '%+%c%p2%' '%+%c","cub1":"\u001bD","cuu1":"\u001bA","pad":"\u0000","kbs":"\u0008","kcuu1":"\u001bA","kcud1":"\u001bB","kcub1":"\u001bD","kcuf1":"\u001bC","acsc":"ffgghhompoqqss.k","smacs":"\u001bF","rmacs":"\u001bG"} -{"name":"gator-t","cols":128,"lines":94,"bell":"\u0007","clear":"\u001b[H\u001b[J","sgr0":"\u001b[m","smul":"\u001b[4m","rev":"\u001b[7m","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001bM","pad":"\u0000","kbs":"\u0008","kcud1":"\n","kcub1":"\u0008"} -{"name":"gigi","aliases":["vk100"],"cols":84,"lines":24,"bell":"\u0007","clear":"\u001b[H\u001b[2J","sgr0":"\u001b[m","smul":"\u001b[4m","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","khome":"\u001b[H","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC"} -{"name":"gnome","cols":80,"lines":24,"colors":8,"bell":"\u0007","clear":"\u001b[H\u001b[2J","smcup":"\u001b7\u001b[?47h","rmcup":"\u001b[2J\u001b[?47l\u001b8","cnorm":"\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b[0m\u000f","smul":"\u001b[4m","bold":"\u001b[1m","rev":"\u001b[7m","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","setaf":"\u001b[3%p1%dm","setbg":"\u001b[4%p1%dm","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kf5":"\u001b[15~","kf6":"\u001b[17~","kf7":"\u001b[18~","kf8":"\u001b[19~","kf9":"\u001b[20~","kf10":"\u001b[21~","kf11":"\u001b[23~","kf12":"\u001b[24~","kf13":"\u001bO1;2P","kf14":"\u001bO1;2Q","kf15":"\u001bO1;2R","kf16":"\u001bO1;2S","kf17":"\u001b[15;2~","kf18":"\u001b[17;2~","kf19":"\u001b[18;2~","kf20":"\u001b[19;2~","kf21":"\u001b[20;2~","kf22":"\u001b[21;2~","kf23":"\u001b[23;2~","kf24":"\u001b[24;2~","kf25":"\u001bO1;5P","kf26":"\u001bO1;5Q","kf27":"\u001bO1;5R","kf28":"\u001bO1;5S","kf29":"\u001b[15;5~","kf30":"\u001b[17;5~","kf31":"\u001b[18;5~","kf32":"\u001b[19;5~","kf33":"\u001b[20;5~","kf34":"\u001b[21;5~","kf35":"\u001b[23;5~","kf36":"\u001b[24;5~","kf37":"\u001bO1;6P","kf38":"\u001bO1;6Q","kf39":"\u001bO1;6R","kf40":"\u001bO1;6S","kf41":"\u001b[15;6~","kf42":"\u001b[17;6~","kf43":"\u001b[18;6~","kf44":"\u001b[19;6~","kf45":"\u001b[20;6~","kf46":"\u001b[21;6~","kf47":"\u001b[23;6~","kf48":"\u001b[24;6~","kf49":"\u001bO1;3P","kf50":"\u001bO1;3Q","kf51":"\u001bO1;3R","kf52":"\u001bO1;3S","kf53":"\u001b[15;3~","kf54":"\u001b[17;3~","kf55":"\u001b[18;3~","kf56":"\u001b[19;3~","kf57":"\u001b[20;3~","kf58":"\u001b[21;3~","kf59":"\u001b[23;3~","kf60":"\u001b[24;3~","kf61":"\u001bO1;4P","kf62":"\u001bO1;4Q","kf63":"\u001bO1;4R","kich":"\u001b[2~","kdch":"\u001b[3~","khome":"\u001bOH","kend":"\u001bOF","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC","kcbt":"\u001b[Z","kmous":"\u001b[M","XM":"%?%p1%{1}%=%t%'h'%Pa%e%'l'%Pa%;\u001b[?1000%ga%c\u001b[?1002%ga%c\u001b[?1003%ga%c\u001b[?1006%ga%c","acsc":"``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u000e","rmacs":"\u000f","enacs":"\u001b)0","kRIT":"\u001b[1;2C","kLFT":"\u001b[1;2D","kHOM":"\u001b[1;2H","kEND":"\u001b[1;2F","_setfgbg":"\u001b[3%p1%d;4%p2%dm","_kscu1":"\u001b[1;2A","_kscud1":"\u001b[1;2B","_kccu1":"\u001b[1;5A","_kccud1":"\u001b[1;5B","_kccuf1":"\u001b[1;5C","_kccub1":"\u001b[1;5D","_kmcu1":"\u001b[1;9A","_kmcud1":"\u001b[1;9B","_kmcuf1":"\u001b[1;9C","_kmcub1":"\u001b[1;9D","_kacu1":"\u001b[1;3A","_kacud1":"\u001b[1;3B","_kacuf1":"\u001b[1;3C","_kacub1":"\u001b[1;3D","_kchome":"\u001b[1;5H","_kcend":"\u001b[1;5F","_kahome":"\u001b[1;9H","_kaend":"\u001b[1;9F","_kascu1":"\u001b[1;4A","_kascud1":"\u001b[1;4B","_kascub1":"\u001b[1;4D","_kascuf1":"\u001b[1;4C","_kmscu1":"\u001b[1;10A","_kmscud1":"\u001b[1;10B","_kmscub1":"\u001b[1;10D","_kmscuf1":"\u001b[1;10C","_kcscu1":"\u001b[1;6A","_kcscud1":"\u001b[1;6B","_kcscub1":"\u001b[1;6D","_kcscuf1":"\u001b[1;6C","_kcHOME":"\u001b[1;6H","_kcEND":"\u001b[1;6F","_kaHOME":"\u001b[1;4H","_kaEND":"\u001b[1;4F","_kmHOME":"\u001b[1;10H","_kmEND":"\u001b[1;10F"} -{"name":"gnome-2007","cols":80,"lines":24,"colors":8,"bell":"\u0007","clear":"\u001b[H\u001b[2J","smcup":"\u001b7\u001b[?47h","rmcup":"\u001b[2J\u001b[?47l\u001b8","cnorm":"\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b[0m\u000f","smul":"\u001b[4m","bold":"\u001b[1m","rev":"\u001b[7m","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","setaf":"\u001b[3%p1%dm","setbg":"\u001b[4%p1%dm","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kf5":"\u001b[15~","kf6":"\u001b[17~","kf7":"\u001b[18~","kf8":"\u001b[19~","kf9":"\u001b[20~","kf10":"\u001b[21~","kf11":"\u001b[23~","kf12":"\u001b[24~","kf13":"\u001bO2P","kf14":"\u001bO2Q","kf15":"\u001bO2R","kf16":"\u001bO2S","kf17":"\u001b[15;2~","kf18":"\u001b[17;2~","kf19":"\u001b[18;2~","kf20":"\u001b[19;2~","kf21":"\u001b[20;2~","kf22":"\u001b[21;2~","kf23":"\u001b[23;2~","kf24":"\u001b[24;2~","kf25":"\u001bO5P","kf26":"\u001bO5Q","kf27":"\u001bO5R","kf28":"\u001bO5S","kf29":"\u001b[15;5~","kf30":"\u001b[17;5~","kf31":"\u001b[18;5~","kf32":"\u001b[19;5~","kf33":"\u001b[20;5~","kf34":"\u001b[21;5~","kf35":"\u001b[23;5~","kf36":"\u001b[24;5~","kf37":"\u001bO6P","kf38":"\u001bO6Q","kf39":"\u001bO6R","kf40":"\u001bO6S","kf41":"\u001b[15;6~","kf42":"\u001b[17;6~","kf43":"\u001b[18;6~","kf44":"\u001b[19;6~","kf45":"\u001b[20;6~","kf46":"\u001b[21;6~","kf47":"\u001b[23;6~","kf48":"\u001b[24;6~","kf49":"\u001bO3P","kf50":"\u001bO3Q","kf51":"\u001bO3R","kf52":"\u001bO3S","kf53":"\u001b[15;3~","kf54":"\u001b[17;3~","kf55":"\u001b[18;3~","kf56":"\u001b[19;3~","kf57":"\u001b[20;3~","kf58":"\u001b[21;3~","kf59":"\u001b[23;3~","kf60":"\u001b[24;3~","kf61":"\u001bO4P","kf62":"\u001bO4Q","kf63":"\u001bO4R","kich":"\u001b[2~","kdch":"\u001b[3~","khome":"\u001bOH","kend":"\u001bOF","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC","kcbt":"\u001b[Z","kmous":"\u001b[M","XM":"%?%p1%{1}%=%t%'h'%Pa%e%'l'%Pa%;\u001b[?1000%ga%c\u001b[?1002%ga%c\u001b[?1003%ga%c\u001b[?1006%ga%c","acsc":"``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u000e","rmacs":"\u000f","enacs":"\u001b)0","kRIT":"\u001b[1;2C","kLFT":"\u001b[1;2D","kHOM":"\u001b[1;2H","kEND":"\u001b[1;2F","_setfgbg":"\u001b[3%p1%d;4%p2%dm","_kscu1":"\u001b[1;2A","_kscud1":"\u001b[1;2B","_kccu1":"\u001b[1;5A","_kccud1":"\u001b[1;5B","_kccuf1":"\u001b[1;5C","_kccub1":"\u001b[1;5D","_kmcu1":"\u001b[1;9A","_kmcud1":"\u001b[1;9B","_kmcuf1":"\u001b[1;9C","_kmcub1":"\u001b[1;9D","_kacu1":"\u001b[1;3A","_kacud1":"\u001b[1;3B","_kacuf1":"\u001b[1;3C","_kacub1":"\u001b[1;3D","_kchome":"\u001b[1;5H","_kcend":"\u001b[1;5F","_kahome":"\u001b[1;9H","_kaend":"\u001b[1;9F","_kascu1":"\u001b[1;4A","_kascud1":"\u001b[1;4B","_kascub1":"\u001b[1;4D","_kascuf1":"\u001b[1;4C","_kmscu1":"\u001b[1;10A","_kmscud1":"\u001b[1;10B","_kmscub1":"\u001b[1;10D","_kmscuf1":"\u001b[1;10C","_kcscu1":"\u001b[1;6A","_kcscud1":"\u001b[1;6B","_kcscub1":"\u001b[1;6D","_kcscuf1":"\u001b[1;6C","_kcHOME":"\u001b[1;6H","_kcEND":"\u001b[1;6F","_kaHOME":"\u001b[1;4H","_kaEND":"\u001b[1;4F","_kmHOME":"\u001b[1;10H","_kmEND":"\u001b[1;10F"} -{"name":"gnome-2008","cols":80,"lines":24,"colors":8,"bell":"\u0007","clear":"\u001b[H\u001b[2J","smcup":"\u001b7\u001b[?47h","rmcup":"\u001b[2J\u001b[?47l\u001b8","cnorm":"\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b[0m\u000f","smul":"\u001b[4m","bold":"\u001b[1m","rev":"\u001b[7m","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","setaf":"\u001b[3%p1%dm","setbg":"\u001b[4%p1%dm","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kf5":"\u001b[15~","kf6":"\u001b[17~","kf7":"\u001b[18~","kf8":"\u001b[19~","kf9":"\u001b[20~","kf10":"\u001b[21~","kf11":"\u001b[23~","kf12":"\u001b[24~","kf13":"\u001bO1;2P","kf14":"\u001bO1;2Q","kf15":"\u001bO1;2R","kf16":"\u001bO1;2S","kf17":"\u001b[15;2~","kf18":"\u001b[17;2~","kf19":"\u001b[18;2~","kf20":"\u001b[19;2~","kf21":"\u001b[20;2~","kf22":"\u001b[21;2~","kf23":"\u001b[23;2~","kf24":"\u001b[24;2~","kf25":"\u001bO1;5P","kf26":"\u001bO1;5Q","kf27":"\u001bO1;5R","kf28":"\u001bO1;5S","kf29":"\u001b[15;5~","kf30":"\u001b[17;5~","kf31":"\u001b[18;5~","kf32":"\u001b[19;5~","kf33":"\u001b[20;5~","kf34":"\u001b[21;5~","kf35":"\u001b[23;5~","kf36":"\u001b[24;5~","kf37":"\u001bO1;6P","kf38":"\u001bO1;6Q","kf39":"\u001bO1;6R","kf40":"\u001bO1;6S","kf41":"\u001b[15;6~","kf42":"\u001b[17;6~","kf43":"\u001b[18;6~","kf44":"\u001b[19;6~","kf45":"\u001b[20;6~","kf46":"\u001b[21;6~","kf47":"\u001b[23;6~","kf48":"\u001b[24;6~","kf49":"\u001bO1;3P","kf50":"\u001bO1;3Q","kf51":"\u001bO1;3R","kf52":"\u001bO1;3S","kf53":"\u001b[15;3~","kf54":"\u001b[17;3~","kf55":"\u001b[18;3~","kf56":"\u001b[19;3~","kf57":"\u001b[20;3~","kf58":"\u001b[21;3~","kf59":"\u001b[23;3~","kf60":"\u001b[24;3~","kf61":"\u001bO1;4P","kf62":"\u001bO1;4Q","kf63":"\u001bO1;4R","kich":"\u001b[2~","kdch":"\u001b[3~","khome":"\u001bOH","kend":"\u001bOF","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC","kcbt":"\u001b[Z","kmous":"\u001b[M","XM":"%?%p1%{1}%=%t%'h'%Pa%e%'l'%Pa%;\u001b[?1000%ga%c\u001b[?1002%ga%c\u001b[?1003%ga%c\u001b[?1006%ga%c","acsc":"``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u000e","rmacs":"\u000f","enacs":"\u001b)0","kRIT":"\u001b[1;2C","kLFT":"\u001b[1;2D","kHOM":"\u001b[1;2H","kEND":"\u001b[1;2F","_setfgbg":"\u001b[3%p1%d;4%p2%dm","_kscu1":"\u001b[1;2A","_kscud1":"\u001b[1;2B","_kccu1":"\u001b[1;5A","_kccud1":"\u001b[1;5B","_kccuf1":"\u001b[1;5C","_kccub1":"\u001b[1;5D","_kmcu1":"\u001b[1;9A","_kmcud1":"\u001b[1;9B","_kmcuf1":"\u001b[1;9C","_kmcub1":"\u001b[1;9D","_kacu1":"\u001b[1;3A","_kacud1":"\u001b[1;3B","_kacuf1":"\u001b[1;3C","_kacub1":"\u001b[1;3D","_kchome":"\u001b[1;5H","_kcend":"\u001b[1;5F","_kahome":"\u001b[1;9H","_kaend":"\u001b[1;9F","_kascu1":"\u001b[1;4A","_kascud1":"\u001b[1;4B","_kascub1":"\u001b[1;4D","_kascuf1":"\u001b[1;4C","_kmscu1":"\u001b[1;10A","_kmscud1":"\u001b[1;10B","_kmscub1":"\u001b[1;10D","_kmscuf1":"\u001b[1;10C","_kcscu1":"\u001b[1;6A","_kcscud1":"\u001b[1;6B","_kcscub1":"\u001b[1;6D","_kcscuf1":"\u001b[1;6C","_kcHOME":"\u001b[1;6H","_kcEND":"\u001b[1;6F","_kaHOME":"\u001b[1;4H","_kaEND":"\u001b[1;4F","_kmHOME":"\u001b[1;10H","_kmEND":"\u001b[1;10F"} -{"name":"gnome-256color","cols":80,"lines":24,"colors":256,"bell":"\u0007","clear":"\u001b[H\u001b[2J","smcup":"\u001b7\u001b[?47h","rmcup":"\u001b[2J\u001b[?47l\u001b8","cnorm":"\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b[0m\u000f","smul":"\u001b[4m","bold":"\u001b[1m","rev":"\u001b[7m","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","setaf":"\u001b[%?%p1%{8}%\u003c%t3%p1%d%e%p1%{16}%\u003c%t9%p1%{8}%-%d%e38;5;%p1%d%;m","setbg":"\u001b[%?%p1%{8}%\u003c%t4%p1%d%e%p1%{16}%\u003c%t10%p1%{8}%-%d%e48;5;%p1%d%;m","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kf5":"\u001b[15~","kf6":"\u001b[17~","kf7":"\u001b[18~","kf8":"\u001b[19~","kf9":"\u001b[20~","kf10":"\u001b[21~","kf11":"\u001b[23~","kf12":"\u001b[24~","kf13":"\u001bO1;2P","kf14":"\u001bO1;2Q","kf15":"\u001bO1;2R","kf16":"\u001bO1;2S","kf17":"\u001b[15;2~","kf18":"\u001b[17;2~","kf19":"\u001b[18;2~","kf20":"\u001b[19;2~","kf21":"\u001b[20;2~","kf22":"\u001b[21;2~","kf23":"\u001b[23;2~","kf24":"\u001b[24;2~","kf25":"\u001bO1;5P","kf26":"\u001bO1;5Q","kf27":"\u001bO1;5R","kf28":"\u001bO1;5S","kf29":"\u001b[15;5~","kf30":"\u001b[17;5~","kf31":"\u001b[18;5~","kf32":"\u001b[19;5~","kf33":"\u001b[20;5~","kf34":"\u001b[21;5~","kf35":"\u001b[23;5~","kf36":"\u001b[24;5~","kf37":"\u001bO1;6P","kf38":"\u001bO1;6Q","kf39":"\u001bO1;6R","kf40":"\u001bO1;6S","kf41":"\u001b[15;6~","kf42":"\u001b[17;6~","kf43":"\u001b[18;6~","kf44":"\u001b[19;6~","kf45":"\u001b[20;6~","kf46":"\u001b[21;6~","kf47":"\u001b[23;6~","kf48":"\u001b[24;6~","kf49":"\u001bO1;3P","kf50":"\u001bO1;3Q","kf51":"\u001bO1;3R","kf52":"\u001bO1;3S","kf53":"\u001b[15;3~","kf54":"\u001b[17;3~","kf55":"\u001b[18;3~","kf56":"\u001b[19;3~","kf57":"\u001b[20;3~","kf58":"\u001b[21;3~","kf59":"\u001b[23;3~","kf60":"\u001b[24;3~","kf61":"\u001bO1;4P","kf62":"\u001bO1;4Q","kf63":"\u001bO1;4R","kich":"\u001b[2~","kdch":"\u001b[3~","khome":"\u001bOH","kend":"\u001bOF","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC","kcbt":"\u001b[Z","kmous":"\u001b[M","XM":"%?%p1%{1}%=%t%'h'%Pa%e%'l'%Pa%;\u001b[?1000%ga%c\u001b[?1002%ga%c\u001b[?1003%ga%c\u001b[?1006%ga%c","acsc":"``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u000e","rmacs":"\u000f","enacs":"\u001b)0","kRIT":"\u001b[1;2C","kLFT":"\u001b[1;2D","kHOM":"\u001b[1;2H","kEND":"\u001b[1;2F","_setfgbg":"\u001b[%?%p1%{8}%\u003c%t3%p1%d%e%p1%{16}%\u003c%t9%p1%{8}%-%d%e38;5;%p1%d%;;%?%p2%{8}%\u003c%t4%p2%d%e%p2%{16}%\u003c%t10%p2%{8}%-%d%e48;5;%p2%d%;m","_kscu1":"\u001b[1;2A","_kscud1":"\u001b[1;2B","_kccu1":"\u001b[1;5A","_kccud1":"\u001b[1;5B","_kccuf1":"\u001b[1;5C","_kccub1":"\u001b[1;5D","_kmcu1":"\u001b[1;9A","_kmcud1":"\u001b[1;9B","_kmcuf1":"\u001b[1;9C","_kmcub1":"\u001b[1;9D","_kacu1":"\u001b[1;3A","_kacud1":"\u001b[1;3B","_kacuf1":"\u001b[1;3C","_kacub1":"\u001b[1;3D","_kchome":"\u001b[1;5H","_kcend":"\u001b[1;5F","_kahome":"\u001b[1;9H","_kaend":"\u001b[1;9F","_kascu1":"\u001b[1;4A","_kascud1":"\u001b[1;4B","_kascub1":"\u001b[1;4D","_kascuf1":"\u001b[1;4C","_kmscu1":"\u001b[1;10A","_kmscud1":"\u001b[1;10B","_kmscub1":"\u001b[1;10D","_kmscuf1":"\u001b[1;10C","_kcscu1":"\u001b[1;6A","_kcscud1":"\u001b[1;6B","_kcscub1":"\u001b[1;6D","_kcscuf1":"\u001b[1;6C","_kcHOME":"\u001b[1;6H","_kcEND":"\u001b[1;6F","_kaHOME":"\u001b[1;4H","_kaEND":"\u001b[1;4F","_kmHOME":"\u001b[1;10H","_kmEND":"\u001b[1;10F"} -{"name":"gnome-fc5","cols":80,"lines":24,"colors":8,"bell":"\u0007","clear":"\u001b[H\u001b[2J","smcup":"\u001b7\u001b[?47h","rmcup":"\u001b[2J\u001b[?47l\u001b8","cnorm":"\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b[0m\u000f","smul":"\u001b[4m","bold":"\u001b[1m","rev":"\u001b[7m","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","setaf":"\u001b[3%p1%dm","setbg":"\u001b[4%p1%dm","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kf5":"\u001b[15~","kf6":"\u001b[17~","kf7":"\u001b[18~","kf8":"\u001b[19~","kf9":"\u001b[20~","kf10":"\u001b[21~","kf11":"\u001b[23~","kf12":"\u001b[24~","kf13":"\u001bO2P","kf14":"\u001bO2Q","kf15":"\u001bO2R","kf16":"\u001bO2S","kf17":"\u001b[15;2~","kf18":"\u001b[17;2~","kf19":"\u001b[18;2~","kf20":"\u001b[19;2~","kf21":"\u001b[20;2~","kf22":"\u001b[21;2~","kf23":"\u001b[23;2~","kf24":"\u001b[24;2~","kf25":"\u001bO5P","kf26":"\u001bO5Q","kf27":"\u001bO5R","kf28":"\u001bO5S","kf29":"\u001b[15;5~","kf30":"\u001b[17;5~","kf31":"\u001b[18;5~","kf32":"\u001b[19;5~","kf33":"\u001b[20;5~","kf34":"\u001b[21;5~","kf35":"\u001b[23;5~","kf36":"\u001b[24;5~","kf37":"\u001bO6P","kf38":"\u001bO6Q","kf39":"\u001bO6R","kf40":"\u001bO6S","kf41":"\u001b[15;6~","kf42":"\u001b[17;6~","kf43":"\u001b[18;6~","kf44":"\u001b[19;6~","kf45":"\u001b[20;6~","kf46":"\u001b[21;6~","kf47":"\u001b[23;6~","kf48":"\u001b[24;6~","kf49":"\u001bO3P","kf50":"\u001bO3Q","kf51":"\u001bO3R","kf52":"\u001bO3S","kf53":"\u001b[15;3~","kf54":"\u001b[17;3~","kf55":"\u001b[18;3~","kf56":"\u001b[19;3~","kf57":"\u001b[20;3~","kf58":"\u001b[21;3~","kf59":"\u001b[23;3~","kf60":"\u001b[24;3~","kf61":"\u001bO4P","kf62":"\u001bO4Q","kf63":"\u001bO4R","kich":"\u001b[2~","kdch":"\u001b[3~","khome":"\u001bOH","kend":"\u001bOF","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC","kcbt":"\u001b[Z","kmous":"\u001b[M","XM":"%?%p1%{1}%=%t%'h'%Pa%e%'l'%Pa%;\u001b[?1000%ga%c\u001b[?1002%ga%c\u001b[?1003%ga%c\u001b[?1006%ga%c","acsc":"``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u000e","rmacs":"\u000f","enacs":"\u001b)0","kRIT":"\u001bO2C","kLFT":"\u001bO2D","kHOM":"\u001b[1;2H","kEND":"\u001b[1;2F","_setfgbg":"\u001b[3%p1%d;4%p2%dm","_kchome":"\u001b[1;5H","_kcend":"\u001b[1;5F","_kahome":"\u001b[1;9H","_kaend":"\u001b[1;9F","_kcHOME":"\u001b[1;6H","_kcEND":"\u001b[1;6F","_kaHOME":"\u001b[1;4H","_kaEND":"\u001b[1;4F","_kmHOME":"\u001b[1;10H","_kmEND":"\u001b[1;10F"} -{"name":"gnome-rh62","cols":80,"lines":24,"colors":8,"bell":"\u0007","clear":"\u001b[H\u001b[2J","smcup":"\u001b7\u001b[?47h","rmcup":"\u001b[2J\u001b[?47l\u001b8","sgr0":"\u001b[m","smul":"\u001b[4m","bold":"\u001b[1m","rev":"\u001b[7m","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","setaf":"\u001b[3%p1%dm","setbg":"\u001b[4%p1%dm","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kf5":"\u001b[15~","kf6":"\u001b[17~","kf7":"\u001b[18~","kf8":"\u001b[19~","kf9":"\u001b[20~","kf10":"\u001b[21~","kf11":"\u001b[23~","kf12":"\u001b[24~","kf13":"\u001b[25~","kf14":"\u001b[26~","kf15":"\u001b[28~","kf16":"\u001b[29~","kf17":"\u001b[31~","kf18":"\u001b[32~","kf19":"\u001b[33~","kf20":"\u001b[34~","kich":"\u001b[2~","kdch":"","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC","kmous":"\u001b[M","XM":"%?%p1%{1}%=%t%'h'%Pa%e%'l'%Pa%;\u001b[?1000%ga%c\u001b[?1002%ga%c\u001b[?1003%ga%c\u001b[?1006%ga%c","acsc":"``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u000e","rmacs":"\u000f","enacs":"\u001b)0","_setfgbg":"\u001b[3%p1%d;4%p2%dm"} -{"name":"gnome-rh72","cols":80,"lines":24,"colors":8,"bell":"\u0007","clear":"\u001b[H\u001b[2J","smcup":"\u001b7\u001b[?47h","rmcup":"\u001b[2J\u001b[?47l\u001b8","cnorm":"\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b[0m\u000f","smul":"\u001b[4m","bold":"\u001b[1m","rev":"\u001b[7m","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","setaf":"\u001b[3%p1%dm","setbg":"\u001b[4%p1%dm","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kf5":"\u001b[15~","kf6":"\u001b[17~","kf7":"\u001b[18~","kf8":"\u001b[19~","kf9":"\u001b[20~","kf10":"\u001b[21~","kf11":"\u001b[23~","kf12":"\u001b[24~","kf13":"\u001b[25~","kf14":"\u001b[26~","kf15":"\u001b[28~","kf16":"\u001b[29~","kf17":"\u001b[31~","kf18":"\u001b[32~","kf19":"\u001b[33~","kf20":"\u001b[34~","kich":"\u001b[2~","kdch":"\u001b[3~","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC","kmous":"\u001b[M","XM":"%?%p1%{1}%=%t%'h'%Pa%e%'l'%Pa%;\u001b[?1000%ga%c\u001b[?1002%ga%c\u001b[?1003%ga%c\u001b[?1006%ga%c","acsc":"``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u000e","rmacs":"\u000f","enacs":"\u001b)0","_setfgbg":"\u001b[3%p1%d;4%p2%dm"} -{"name":"gnome-rh80","cols":80,"lines":24,"colors":8,"bell":"\u0007","clear":"\u001b[H\u001b[2J","smcup":"\u001b7\u001b[?47h","rmcup":"\u001b[2J\u001b[?47l\u001b8","cnorm":"\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b[0m\u000f","smul":"\u001b[4m","bold":"\u001b[1m","rev":"\u001b[7m","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","setaf":"\u001b[3%p1%dm","setbg":"\u001b[4%p1%dm","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kf5":"\u001b[15~","kf6":"\u001b[17~","kf7":"\u001b[18~","kf8":"\u001b[19~","kf9":"\u001b[20~","kf10":"\u001b[21~","kf11":"\u001b[23~","kf12":"\u001b[24~","kf13":"\u001b[25~","kf14":"\u001b[26~","kf15":"\u001b[28~","kf16":"\u001b[29~","kf17":"\u001b[31~","kf18":"\u001b[32~","kf19":"\u001b[33~","kf20":"\u001b[34~","kich":"\u001b[2~","kdch":"\u001b[3~","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC","kcbt":"\u001b\t","kmous":"\u001b[M","XM":"%?%p1%{1}%=%t%'h'%Pa%e%'l'%Pa%;\u001b[?1000%ga%c\u001b[?1002%ga%c\u001b[?1003%ga%c\u001b[?1006%ga%c","acsc":"``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u000e","rmacs":"\u000f","enacs":"\u001b)0","_setfgbg":"\u001b[3%p1%d;4%p2%dm"} -{"name":"gnome-rh90","cols":80,"lines":24,"colors":8,"bell":"\u0007","clear":"\u001b[H\u001b[2J","smcup":"\u001b7\u001b[?47h","rmcup":"\u001b[2J\u001b[?47l\u001b8","cnorm":"\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b[0m\u000f","smul":"\u001b[4m","bold":"\u001b[1m","rev":"\u001b[7m","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","setaf":"\u001b[3%p1%dm","setbg":"\u001b[4%p1%dm","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kf5":"\u001b[15~","kf6":"\u001b[17~","kf7":"\u001b[18~","kf8":"\u001b[19~","kf9":"\u001b[20~","kf10":"\u001b[21~","kf11":"\u001b[23~","kf12":"\u001b[24~","kf13":"\u001bO2P","kf14":"\u001bO2Q","kf15":"\u001bO2R","kf16":"\u001bO2S","kf17":"\u001b[15;2~","kf18":"\u001b[17;2~","kf19":"\u001b[18;2~","kf20":"\u001b[19;2~","kf21":"\u001b[20;2~","kf22":"\u001b[21;2~","kf23":"\u001b[23;2~","kf24":"\u001b[24;2~","kf25":"\u001bO5P","kf26":"\u001bO5Q","kf27":"\u001bO5R","kf28":"\u001bO5S","kf29":"\u001b[15;5~","kf30":"\u001b[17;5~","kf31":"\u001b[18;5~","kf32":"\u001b[19;5~","kf33":"\u001b[20;5~","kf34":"\u001b[21;5~","kf35":"\u001b[23;5~","kf36":"\u001b[24;5~","kf37":"\u001bO6P","kf38":"\u001bO6Q","kf39":"\u001bO6R","kf40":"\u001bO6S","kf41":"\u001b[15;6~","kf42":"\u001b[17;6~","kf43":"\u001b[18;6~","kf44":"\u001b[19;6~","kf45":"\u001b[20;6~","kf46":"\u001b[21;6~","kf47":"\u001b[23;6~","kf48":"\u001b[24;6~","kf49":"\u001bO3P","kf50":"\u001bO3Q","kf51":"\u001bO3R","kf52":"\u001bO3S","kf53":"\u001b[15;3~","kf54":"\u001b[17;3~","kf55":"\u001b[18;3~","kf56":"\u001b[19;3~","kf57":"\u001b[20;3~","kf58":"\u001b[21;3~","kf59":"\u001b[23;3~","kf60":"\u001b[24;3~","kf61":"\u001bO4P","kf62":"\u001bO4Q","kf63":"\u001bO4R","kich":"\u001b[2~","kdch":"\u001b[3~","khome":"\u001bOH","kend":"\u001bOF","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC","kcbt":"\u001b[Z","kmous":"\u001b[M","XM":"%?%p1%{1}%=%t%'h'%Pa%e%'l'%Pa%;\u001b[?1000%ga%c\u001b[?1002%ga%c\u001b[?1003%ga%c\u001b[?1006%ga%c","acsc":"``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u000e","rmacs":"\u000f","enacs":"\u001b)0","kRIT":"\u001bO2C","kLFT":"\u001bO2D","kHOM":"\u001b[1;2H","kEND":"\u001b[1;2F","_setfgbg":"\u001b[3%p1%d;4%p2%dm","_kchome":"\u001b[1;5H","_kcend":"\u001b[1;5F","_kahome":"\u001b[1;9H","_kaend":"\u001b[1;9F","_kcHOME":"\u001b[1;6H","_kcEND":"\u001b[1;6F","_kaHOME":"\u001b[1;4H","_kaEND":"\u001b[1;4F","_kmHOME":"\u001b[1;10H","_kmEND":"\u001b[1;10F"} -{"name":"go140","cols":80,"lines":24,"clear":"\u001b[H\u001b[2J$\u003c10/\u003e","sgr0":"\u001b[m","smul":"\u001b[4m","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","cup":"\u001b[%i%p1%2d;%p2%2dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","khome":"\u001b[H","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC"} -{"name":"go140w","cols":132,"lines":24,"clear":"\u001b[H\u001b[2J$\u003c10/\u003e","sgr0":"\u001b[m","smul":"\u001b[4m","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","cup":"\u001b[%i%p1%2d;%p2%2dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","khome":"\u001b[H","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC"} -{"name":"go225","aliases":["go-225"],"cols":80,"lines":25,"clear":"\u001b[H\u001b[J","smcup":"\u001b[2;0#w\u001b[1;25r","rmcup":"\u001b[!p\u001b[?7h\u001b[2;1;1#w","sgr0":"\u001b[m","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","smkx":"\u001b=","rmkx":"\u001b\u003e","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","khome":"\u001b[H","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C"} -{"name":"graphos","cols":80,"lines":24,"clear":"\u001b[H\u001b[2J","cnorm":"\u001bz56;2;0;0z\u001bz73z\u001bz4;1;1z","sgr0":"\u001b[m","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","khome":"\u001b[H","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C"} -{"name":"graphos-30","cols":80,"lines":30,"clear":"\u001b[H\u001b[2J","cnorm":"\u001bz56;2;0;0z\u001bz73z\u001bz4;1;1z","sgr0":"\u001b[m","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","khome":"\u001b[H","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C"} -{"name":"gs6300","aliases":["emots"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u001b[H\u001b[J","sgr0":"\u001b[m\u001b[10m","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001b[0s","kf2":"\u001b[24s","kf3":"\u001b[1s","kf4":"\u001b[23s","kf5":"\u001b[2s","kf6":"\u001b[22s","kf7":"\u001b[3s","kf8":"\u001b[21s","khome":"\u001b[H","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u0012\t","acsc":"++,,--..``aaffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u001b[11m","rmacs":"\u001b[10m"} -{"name":"guru","aliases":["guru+unk","guru-33"],"cols":80,"lines":33,"bell":"\u0007","clear":"\u001b[H\u001b[J$\u003c156\u003e","smcup":"\u001b[33p","rmcup":"\u001b[255p\u001b[255;1H\u001b[K","sgr0":"\u001b[m","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","smkx":"\u001bP`\u003ez~[[J`8xz~[[A`4xz~[[D`6xz~[[C`2xz~[[B\u001b\\","rmkx":"\u001bP`\u003ey~[[J`8xy~[[A`4xy~[[D`6xy~[[C`2xy~[[B\u001b\\","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOA","kf2":"\u001bOB","kf3":"\u001bOC","kf4":"\u001bOD","kf5":"\u001bOE","kf6":"\u001bOF","kf7":"\u001bOG","kf8":"\u001bOH","kf9":"\u001bOI","kf10":"\u001bOJ","kf11":"\u001bOK","kf12":"\u001bOL","kf13":"\u001bOM","kf14":"\u001bON","kf15":"\u001bOO","kf16":"\u001bOP","kf17":"\u001bOQ","kf18":"\u001bOR","kf19":"\u001bOS","kf20":"\u001bOT","kf21":"\u001bOU","kf22":"\u001bOV","kf23":"\u001bOW","kf24":"\u001bOX","kich":"\u001b[@","kdch":"\u001b[P","khome":"\u001b[H","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001b[Z","kclr":"\u001b[J"} -{"name":"guru-24","cols":80,"lines":24,"bell":"\u0007","clear":"\u001b[H\u001b[J$\u003c156\u003e","smcup":"\u001b[24p","rmcup":"\u001b[255p\u001b[255;1H\u001b[K","sgr0":"\u001b[m","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","smkx":"\u001bP`\u003ez~[[J`8xz~[[A`4xz~[[D`6xz~[[C`2xz~[[B\u001b\\","rmkx":"\u001bP`\u003ey~[[J`8xy~[[A`4xy~[[D`6xy~[[C`2xy~[[B\u001b\\","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOA","kf2":"\u001bOB","kf3":"\u001bOC","kf4":"\u001bOD","kf5":"\u001bOE","kf6":"\u001bOF","kf7":"\u001bOG","kf8":"\u001bOH","kf9":"\u001bOI","kf10":"\u001bOJ","kf11":"\u001bOK","kf12":"\u001bOL","kf13":"\u001bOM","kf14":"\u001bON","kf15":"\u001bOO","kf16":"\u001bOP","kf17":"\u001bOQ","kf18":"\u001bOR","kf19":"\u001bOS","kf20":"\u001bOT","kf21":"\u001bOU","kf22":"\u001bOV","kf23":"\u001bOW","kf24":"\u001bOX","kich":"\u001b[@","kdch":"\u001b[P","khome":"\u001b[H","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001b[Z","kclr":"\u001b[J"} -{"name":"guru-44","cols":97,"lines":44,"bell":"\u0007","clear":"\u001b[H\u001b[J$\u003c156\u003e","smcup":"\u001b[44p","rmcup":"\u001b[255p\u001b[255;1H\u001b[K","sgr0":"\u001b[m","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","smkx":"\u001bP`\u003ez~[[J`8xz~[[A`4xz~[[D`6xz~[[C`2xz~[[B\u001b\\","rmkx":"\u001bP`\u003ey~[[J`8xy~[[A`4xy~[[D`6xy~[[C`2xy~[[B\u001b\\","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOA","kf2":"\u001bOB","kf3":"\u001bOC","kf4":"\u001bOD","kf5":"\u001bOE","kf6":"\u001bOF","kf7":"\u001bOG","kf8":"\u001bOH","kf9":"\u001bOI","kf10":"\u001bOJ","kf11":"\u001bOK","kf12":"\u001bOL","kf13":"\u001bOM","kf14":"\u001bON","kf15":"\u001bOO","kf16":"\u001bOP","kf17":"\u001bOQ","kf18":"\u001bOR","kf19":"\u001bOS","kf20":"\u001bOT","kf21":"\u001bOU","kf22":"\u001bOV","kf23":"\u001bOW","kf24":"\u001bOX","kich":"\u001b[@","kdch":"\u001b[P","khome":"\u001b[H","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001b[Z","kclr":"\u001b[J"} -{"name":"guru-44-s","cols":80,"lines":43,"bell":"\u0007","clear":"\u001b[H\u001b[J$\u003c156\u003e","smcup":"\u001b[44;1p\u001b[255;1H\u001b[K","rmcup":"\u001b[255;1p\u001b[255;1H\u001b[K","sgr0":"\u001b[m","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","smkx":"\u001bP`\u003ez~[[J`8xz~[[A`4xz~[[D`6xz~[[C`2xz~[[B\u001b\\","rmkx":"\u001bP`\u003ey~[[J`8xy~[[A`4xy~[[D`6xy~[[C`2xy~[[B\u001b\\","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOA","kf2":"\u001bOB","kf3":"\u001bOC","kf4":"\u001bOD","kf5":"\u001bOE","kf6":"\u001bOF","kf7":"\u001bOG","kf8":"\u001bOH","kf9":"\u001bOI","kf10":"\u001bOJ","kf11":"\u001bOK","kf12":"\u001bOL","kf13":"\u001bOM","kf14":"\u001bON","kf15":"\u001bOO","kf16":"\u001bOP","kf17":"\u001bOQ","kf18":"\u001bOR","kf19":"\u001bOS","kf20":"\u001bOT","kf21":"\u001bOU","kf22":"\u001bOV","kf23":"\u001bOW","kf24":"\u001bOX","kich":"\u001b[@","kdch":"\u001b[P","khome":"\u001b[H","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001b[Z","kclr":"\u001b[J"} -{"name":"guru-76","cols":89,"lines":76,"bell":"\u0007","clear":"\u001b[H\u001b[J$\u003c156\u003e","smcup":"\u001b[76p","rmcup":"\u001b[255p\u001b[255;1H\u001b[K","sgr0":"\u001b[m","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","smkx":"\u001bP`\u003ez~[[J`8xz~[[A`4xz~[[D`6xz~[[C`2xz~[[B\u001b\\","rmkx":"\u001bP`\u003ey~[[J`8xy~[[A`4xy~[[D`6xy~[[C`2xy~[[B\u001b\\","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOA","kf2":"\u001bOB","kf3":"\u001bOC","kf4":"\u001bOD","kf5":"\u001bOE","kf6":"\u001bOF","kf7":"\u001bOG","kf8":"\u001bOH","kf9":"\u001bOI","kf10":"\u001bOJ","kf11":"\u001bOK","kf12":"\u001bOL","kf13":"\u001bOM","kf14":"\u001bON","kf15":"\u001bOO","kf16":"\u001bOP","kf17":"\u001bOQ","kf18":"\u001bOR","kf19":"\u001bOS","kf20":"\u001bOT","kf21":"\u001bOU","kf22":"\u001bOV","kf23":"\u001bOW","kf24":"\u001bOX","kich":"\u001b[@","kdch":"\u001b[P","khome":"\u001b[H","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001b[Z","kclr":"\u001b[J"} -{"name":"guru-76-lp","aliases":["guru-lp"],"cols":134,"lines":76,"bell":"\u0007","clear":"\u001b[H\u001b[J$\u003c156\u003e","smcup":"\u001b[76p","rmcup":"\u001b[255p\u001b[255;1H\u001b[K","sgr0":"\u001b[m","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","smkx":"\u001bP`\u003ez~[[J`8xz~[[A`4xz~[[D`6xz~[[C`2xz~[[B\u001b\\","rmkx":"\u001bP`\u003ey~[[J`8xy~[[A`4xy~[[D`6xy~[[C`2xy~[[B\u001b\\","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOA","kf2":"\u001bOB","kf3":"\u001bOC","kf4":"\u001bOD","kf5":"\u001bOE","kf6":"\u001bOF","kf7":"\u001bOG","kf8":"\u001bOH","kf9":"\u001bOI","kf10":"\u001bOJ","kf11":"\u001bOK","kf12":"\u001bOL","kf13":"\u001bOM","kf14":"\u001bON","kf15":"\u001bOO","kf16":"\u001bOP","kf17":"\u001bOQ","kf18":"\u001bOR","kf19":"\u001bOS","kf20":"\u001bOT","kf21":"\u001bOU","kf22":"\u001bOV","kf23":"\u001bOW","kf24":"\u001bOX","kich":"\u001b[@","kdch":"\u001b[P","khome":"\u001b[H","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001b[Z","kclr":"\u001b[J"} -{"name":"guru-76-s","cols":89,"lines":75,"bell":"\u0007","clear":"\u001b[H\u001b[J$\u003c156\u003e","smcup":"\u001b[76;1p\u001b[255;1H\u001b[K","rmcup":"\u001b[255;1p\u001b[255;1H\u001b[K","sgr0":"\u001b[m","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","smkx":"\u001bP`\u003ez~[[J`8xz~[[A`4xz~[[D`6xz~[[C`2xz~[[B\u001b\\","rmkx":"\u001bP`\u003ey~[[J`8xy~[[A`4xy~[[D`6xy~[[C`2xy~[[B\u001b\\","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOA","kf2":"\u001bOB","kf3":"\u001bOC","kf4":"\u001bOD","kf5":"\u001bOE","kf6":"\u001bOF","kf7":"\u001bOG","kf8":"\u001bOH","kf9":"\u001bOI","kf10":"\u001bOJ","kf11":"\u001bOK","kf12":"\u001bOL","kf13":"\u001bOM","kf14":"\u001bON","kf15":"\u001bOO","kf16":"\u001bOP","kf17":"\u001bOQ","kf18":"\u001bOR","kf19":"\u001bOS","kf20":"\u001bOT","kf21":"\u001bOU","kf22":"\u001bOV","kf23":"\u001bOW","kf24":"\u001bOX","kich":"\u001b[@","kdch":"\u001b[P","khome":"\u001b[H","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001b[Z","kclr":"\u001b[J"} -{"name":"guru-76-w","cols":178,"lines":76,"bell":"\u0007","clear":"\u001b[H\u001b[J$\u003c156\u003e","smcup":"\u001b[76p","rmcup":"\u001b[255p\u001b[255;1H\u001b[K","sgr0":"\u001b[m","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","smkx":"\u001bP`\u003ez~[[J`8xz~[[A`4xz~[[D`6xz~[[C`2xz~[[B\u001b\\","rmkx":"\u001bP`\u003ey~[[J`8xy~[[A`4xy~[[D`6xy~[[C`2xy~[[B\u001b\\","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOA","kf2":"\u001bOB","kf3":"\u001bOC","kf4":"\u001bOD","kf5":"\u001bOE","kf6":"\u001bOF","kf7":"\u001bOG","kf8":"\u001bOH","kf9":"\u001bOI","kf10":"\u001bOJ","kf11":"\u001bOK","kf12":"\u001bOL","kf13":"\u001bOM","kf14":"\u001bON","kf15":"\u001bOO","kf16":"\u001bOP","kf17":"\u001bOQ","kf18":"\u001bOR","kf19":"\u001bOS","kf20":"\u001bOT","kf21":"\u001bOU","kf22":"\u001bOV","kf23":"\u001bOW","kf24":"\u001bOX","kich":"\u001b[@","kdch":"\u001b[P","khome":"\u001b[H","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001b[Z","kclr":"\u001b[J"} -{"name":"guru-76-w-s","cols":178,"lines":75,"bell":"\u0007","clear":"\u001b[H\u001b[J$\u003c156\u003e","smcup":"\u001b[76;1p\u001b[255;1H\u001b[K","rmcup":"\u001b[255;1p\u001b[255;1H\u001b[K","sgr0":"\u001b[m","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","smkx":"\u001bP`\u003ez~[[J`8xz~[[A`4xz~[[D`6xz~[[C`2xz~[[B\u001b\\","rmkx":"\u001bP`\u003ey~[[J`8xy~[[A`4xy~[[D`6xy~[[C`2xy~[[B\u001b\\","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOA","kf2":"\u001bOB","kf3":"\u001bOC","kf4":"\u001bOD","kf5":"\u001bOE","kf6":"\u001bOF","kf7":"\u001bOG","kf8":"\u001bOH","kf9":"\u001bOI","kf10":"\u001bOJ","kf11":"\u001bOK","kf12":"\u001bOL","kf13":"\u001bOM","kf14":"\u001bON","kf15":"\u001bOO","kf16":"\u001bOP","kf17":"\u001bOQ","kf18":"\u001bOR","kf19":"\u001bOS","kf20":"\u001bOT","kf21":"\u001bOU","kf22":"\u001bOV","kf23":"\u001bOW","kf24":"\u001bOX","kich":"\u001b[@","kdch":"\u001b[P","khome":"\u001b[H","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001b[Z","kclr":"\u001b[J"} -{"name":"guru-76-wm","cols":178,"lines":76,"bell":"\u0007","clear":"\u001b[H\u001b[J$\u003c156\u003e","smcup":"\u001b[76p","rmcup":"\u001b[255p\u001b[255;1H\u001b[K","sgr0":"\u001b[m","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","smkx":"\u001bP`\u003ez~[[J`8xz~[[A`4xz~[[D`6xz~[[C`2xz~[[B\u001b\\","rmkx":"\u001bP`\u003ey~[[J`8xy~[[A`4xy~[[D`6xy~[[C`2xy~[[B\u001b\\","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOA","kf2":"\u001bOB","kf3":"\u001bOC","kf4":"\u001bOD","kf5":"\u001bOE","kf6":"\u001bOF","kf7":"\u001bOG","kf8":"\u001bOH","kf9":"\u001bOI","kf10":"\u001bOJ","kf11":"\u001bOK","kf12":"\u001bOL","kf13":"\u001bOM","kf14":"\u001bON","kf15":"\u001bOO","kf16":"\u001bOP","kf17":"\u001bOQ","kf18":"\u001bOR","kf19":"\u001bOS","kf20":"\u001bOT","kf21":"\u001bOU","kf22":"\u001bOV","kf23":"\u001bOW","kf24":"\u001bOX","kich":"\u001b[@","kdch":"\u001b[P","khome":"\u001b[H","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001b[Z","kclr":"\u001b[J"} -{"name":"guru-nctxt","cols":80,"lines":33,"bell":"\u0007","clear":"\u001b[H\u001b[J$\u003c156\u003e","smcup":"\u001b[H\u001b[J$\u003c156\u003e\u001b[33p\u001b[255;1H\u001b[K","rmcup":"\u001b[255p\u001b[255;1H\u001b[K","sgr0":"\u001b[m","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","smkx":"\u001bP`\u003ez~[[J`8xz~[[A`4xz~[[D`6xz~[[C`2xz~[[B\u001b\\","rmkx":"\u001bP`\u003ey~[[J`8xy~[[A`4xy~[[D`6xy~[[C`2xy~[[B\u001b\\","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOA","kf2":"\u001bOB","kf3":"\u001bOC","kf4":"\u001bOD","kf5":"\u001bOE","kf6":"\u001bOF","kf7":"\u001bOG","kf8":"\u001bOH","kf9":"\u001bOI","kf10":"\u001bOJ","kf11":"\u001bOK","kf12":"\u001bOL","kf13":"\u001bOM","kf14":"\u001bON","kf15":"\u001bOO","kf16":"\u001bOP","kf17":"\u001bOQ","kf18":"\u001bOR","kf19":"\u001bOS","kf20":"\u001bOT","kf21":"\u001bOU","kf22":"\u001bOV","kf23":"\u001bOW","kf24":"\u001bOX","kich":"\u001b[@","kdch":"\u001b[P","khome":"\u001b[H","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001b[Z","kclr":"\u001b[J"} -{"name":"guru-rv","aliases":["guru-33-rv"],"cols":80,"lines":33,"bell":"\u0007","clear":"\u001b[H\u001b[J$\u003c156\u003e","smcup":"\u001b[33p","rmcup":"\u001b[255p\u001b[255;1H\u001b[K","sgr0":"\u001b[m","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","smkx":"\u001bP`\u003ez~[[J`8xz~[[A`4xz~[[D`6xz~[[C`2xz~[[B\u001b\\","rmkx":"\u001bP`\u003ey~[[J`8xy~[[A`4xy~[[D`6xy~[[C`2xy~[[B\u001b\\","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOA","kf2":"\u001bOB","kf3":"\u001bOC","kf4":"\u001bOD","kf5":"\u001bOE","kf6":"\u001bOF","kf7":"\u001bOG","kf8":"\u001bOH","kf9":"\u001bOI","kf10":"\u001bOJ","kf11":"\u001bOK","kf12":"\u001bOL","kf13":"\u001bOM","kf14":"\u001bON","kf15":"\u001bOO","kf16":"\u001bOP","kf17":"\u001bOQ","kf18":"\u001bOR","kf19":"\u001bOS","kf20":"\u001bOT","kf21":"\u001bOU","kf22":"\u001bOV","kf23":"\u001bOW","kf24":"\u001bOX","kich":"\u001b[@","kdch":"\u001b[P","khome":"\u001b[H","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001b[Z","kclr":"\u001b[J"} -{"name":"guru-s","aliases":["guru-33-s"],"cols":80,"lines":32,"bell":"\u0007","clear":"\u001b[H\u001b[J$\u003c156\u003e","smcup":"\u001b[33;1p\u001b[255;1H\u001b[K","rmcup":"\u001b[255;1p\u001b[255;1H\u001b[K","sgr0":"\u001b[m","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","smkx":"\u001bP`\u003ez~[[J`8xz~[[A`4xz~[[D`6xz~[[C`2xz~[[B\u001b\\","rmkx":"\u001bP`\u003ey~[[J`8xy~[[A`4xy~[[D`6xy~[[C`2xy~[[B\u001b\\","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOA","kf2":"\u001bOB","kf3":"\u001bOC","kf4":"\u001bOD","kf5":"\u001bOE","kf6":"\u001bOF","kf7":"\u001bOG","kf8":"\u001bOH","kf9":"\u001bOI","kf10":"\u001bOJ","kf11":"\u001bOK","kf12":"\u001bOL","kf13":"\u001bOM","kf14":"\u001bON","kf15":"\u001bOO","kf16":"\u001bOP","kf17":"\u001bOQ","kf18":"\u001bOR","kf19":"\u001bOS","kf20":"\u001bOT","kf21":"\u001bOU","kf22":"\u001bOV","kf23":"\u001bOW","kf24":"\u001bOX","kich":"\u001b[@","kdch":"\u001b[P","khome":"\u001b[H","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001b[Z","kclr":"\u001b[J"} -{"name":"h19","aliases":["h19-b","heath","heath-19","heathkit","z19","zenith"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u001bE","cnorm":"\u001by4","cup":"\u001bY%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u001bA","pad":"\u0000","kbs":"\u0008","kf1":"\u001bS","kf2":"\u001bT","kf3":"\u001bU","kf4":"\u001bV","kf5":"\u001bW","kf6":"\u001bP","kf7":"\u001bQ","kf8":"\u001bR","khome":"\u001bH","kcuu1":"\u001bA","kcud1":"\u001bB","kcub1":"\u001bD","kcuf1":"\u001bC","acsc":"~^x`qanbkcjdmelfgg+hai.kwsutvutvozs{","smacs":"\u001bF","rmacs":"\u001bG"} -{"name":"h19-a","aliases":["h19a","heath-ansi","heathkit-a"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u001b[2J","cnorm":"\u001b[\u003e4l","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[1A","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOS","kf2":"\u001bOT","kf3":"\u001bOU","kf4":"\u001bOV","kf5":"\u001bOW","kf6":"\u001bOP","kf7":"\u001bOQ","kf8":"\u001bOR","khome":"\u001b[H","kcuu1":"\u001b[1A","kcud1":"\u001b[1B","kcub1":"\u001b[1D","kcuf1":"\u001b[1C","smacs":"\u001b[10m","rmacs":"\u001b[11m"} -{"name":"h19-bs","cols":80,"lines":24,"bell":"\u0007","clear":"\u001bE","cnorm":"\u001by4","smkx":"\u001bt","rmkx":"\u001bu","cup":"\u001bY%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u001bA","pad":"\u0000","kbs":"\u0008","kf1":"\u001bS","kf2":"\u001bT","kf3":"\u001bU","kf4":"\u001bV","kf5":"\u001bW","kf6":"\u001bP","kf7":"\u001bQ","kf8":"\u001bR","khome":"\u001bH","kcuu1":"\u001bA","kcud1":"\u001bB","kcub1":"\u001bD","kcuf1":"\u001bC","acsc":"~^x`qanbkcjdmelfgg+hai.kwsutvutvozs{","smacs":"\u001bF","rmacs":"\u001bG"} -{"name":"h19-g","aliases":["h19g"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u001bE","cnorm":"\u001bx4","cup":"\u001bY%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u001bA","pad":"\u0000","kbs":"\u0008","kf1":"\u001bS","kf2":"\u001bT","kf3":"\u001bU","kf4":"\u001bV","kf5":"\u001bW","kf6":"\u001bP","kf7":"\u001bQ","kf8":"\u001bR","khome":"\u001bH","kcuu1":"\u001bA","kcud1":"\u001bB","kcub1":"\u001bD","kcuf1":"\u001bC","acsc":"~^x`qanbkcjdmelfgg+hai.kwsutvutvozs{","smacs":"\u001bF","rmacs":"\u001bG"} -{"name":"h19-u","cols":80,"lines":24,"bell":"\u0007","clear":"\u001bE","cup":"\u001bY%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u001bA","pad":"\u0000","kbs":"\u0008","kf1":"\u001bS","kf2":"\u001bT","kf3":"\u001bU","kf4":"\u001bV","kf5":"\u001bW","kf6":"\u001bP","kf7":"\u001bQ","kf8":"\u001bR","khome":"\u001bH","kcuu1":"\u001bA","kcud1":"\u001bB","kcub1":"\u001bD","kcuf1":"\u001bC","acsc":"~^x`qanbkcjdmelfgg+hai.kwsutvutvozs{","smacs":"\u001bF","rmacs":"\u001bG"} -{"name":"h19-us","aliases":["h19-smul","h19us"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u001bE","smkx":"\u001bt","rmkx":"\u001bu","cup":"\u001bY%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u001bA","pad":"\u0000","kbs":"\u0008","kf1":"\u001bS","kf2":"\u001bT","kf3":"\u001bU","kf4":"\u001bV","kf5":"\u001bW","kf6":"\u001bP","kf7":"\u001bQ","kf8":"\u001bR","khome":"\u001bH","kcuu1":"\u001bA","kcud1":"\u001bB","kcub1":"\u001bD","kcuf1":"\u001bC","acsc":"~^x`qanbkcjdmelfgg+hai.kwsutvutvozs{","smacs":"\u001bF","rmacs":"\u001bG"} -{"name":"h19k","aliases":["h19kermit"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u001bE","cup":"\u001bY%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u001bA","pad":"\u0000","kbs":"\u0008","kf1":"\u001bS","kf2":"\u001bT","kf3":"\u001bU","kf4":"\u001bV","kf5":"\u001bW","kf6":"\u001bP","kf7":"\u001bQ","kf8":"\u001bR","khome":"\u001bH","kcuu1":"\u001bA","kcud1":"\u001bB","kcub1":"\u001bD","kcuf1":"\u001bC","acsc":"~^x`qanbkcjdmelfgg+hai.kwsutvutvozs{","smacs":"\u001bF","rmacs":"\u001bG"} -{"name":"ha8675","cols":80,"lines":24,"clear":"\u001bE","sgr0":"\u001bd@","smul":"\u001bd`","cup":"\u001bF%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u001bA","pad":"\u0000","kbs":"\u0008","kf1":"\u0006","kf2":"\u0010","kf3":"\u000e","kf4":"\u0016","kf5":"\n","kf6":"\u0014","kf7":"\u0008","kf8":"","kf9":"\u001be","kf10":"\u001bd","kf11":"\u0017","kf12":"\u001bR","kf13":"\u001bE","kf14":"\u001bI","kf15":"\u001bi","kf16":"\u001bg","kich":"\u001bQ","kdch":"\u001bP","khome":"\u001bH","kcuu1":"\u001bA","kcud1":"\u001bB","kcub1":"\u001bD","kcuf1":"\u001bC","kcbt":"\u001b\u003e","kclr":"\u001bE"} -{"name":"ha8686","cols":80,"lines":24,"clear":"\u001bE","sgr0":"\u001bd@","smul":"\u001bd`","cup":"\u001bF%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u001bA","pad":"\u0000","kbs":"\u0008","kf1":"\u0002\u001bp\u0003","kf2":"\u0002\u001bq\u0003","kf3":"\u0002\u001br\u0003","kf4":"\u0002\u001bs\u0003","kf5":"\u001b3","kf6":"\u001bI","kf7":"\u001bR","kf8":"\u001bJ","kf9":"\u001b(","kf10":"\u001bj","kf11":"\u001bW","kf12":"\u0002\u001b{\u0003","kf13":"\u0002\u001b|\u0003","kf14":"\u0002\u001b}\u0003","kf15":"\u0002\u001b~\u0003","kf16":"\u0002\u001b\u0003","kich":"\u001bQ","kdch":"\u001bP","khome":"\u001bH","kcuu1":"\u001bA","kcud1":"\u001bB","kcub1":"\u001bD","kcuf1":"\u001bC","kcbt":"\u001b\u003e","kclr":"\u001bE"} -{"name":"hazel","aliases":["exec80","h80","he80"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u001b[;H\u001b[2J$\u003c50/\u003e","sgr0":"\u001b[m$\u003c2/\u003e","smul":"\u001b[4m$\u003c2/\u003e","bold":"\u001b[1m$\u003c2/\u003e","blink":"\u001b[5m$\u003c2/\u003e","rev":"\u001b[7m$\u003c2/\u003e","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","cup":"\u001b[%i%p1%d;%p2%dH$\u003c5/\u003e","cub1":"\u0008","cuu1":"\u001b[A$\u003c2/\u003e","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC"} -{"name":"hds200","cols":80,"lines":24,"bell":"\u0007","clear":"\u001b[H\u001b[J","cnorm":"\u001b[+{","civis":"\u001b[6+{","sgr0":"\u001b[m\u000f","smul":"\u001b[0;4m","bold":"\u001b[0;1m","blink":"\u001b[0;5m","rev":"\u001b[0;7m","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u001b[D","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001c001\r","kf2":"\u001c002\r","kf3":"\u001c003\r","kf4":"\u001c004\r","kf5":"\u001c005\r","kf6":"\u001c006\r","kf7":"\u001c007\r","kf8":"\u001c008\r","kf9":"\u001c009\r","kf10":"\u001c010\r","kf11":"\u001c011\r","kf12":"\u001c012\r","kf13":"\u001bOP","kf14":"\u001bOQ","kf15":"\u001bOR","kf16":"\u001bOS","kf17":"\u001c017\r","kf18":"\u001c018\r","kf19":"\u001c019\r","kf20":"\u001c020\r","kf21":"\u001c021\r","kf22":"\u001c022\r","kf23":"\u001c023\r","kf31":"\u001c031\r","kf32":"\u001c032\r","kf33":"\u001c033\r","kf34":"\u001c034\r","kf35":"\u001c035\r","kf36":"\u001c036\r","kf37":"\u001c037\r","kf38":"\u001c038\r","kf39":"\u001c039\r","kf40":"\u001c040\r","kf41":"\u001c041\r","kf42":"\u001c042\r","kf43":"\u001b$P","kf44":"\u001b$Q","kf45":"\u001b$R","kf46":"\u001b$S","kf47":"\u001c047\r","kf48":"\u001c048\r","kf49":"\u001c049\r","kf50":"\u001c050\r","kf51":"\u001c051\r","kf52":"\u001c052\r","kf53":"\u001c053\r","kdch":"","khome":"\u001b[H","kpp":"\u001b[V","knp":"\u001b[U","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001b$I","acsc":"``aaffggjjkkllmmnnooqqssttuuvvwwxx~~","smacs":"\u000e","rmacs":"\u000f","kRIT":"\u001b$C","kLFT":"\u001b$D","kHOM":"\u001b$H"} -{"name":"hft-c","cols":80,"lines":25,"colors":8,"bell":"\u0007","clear":"\u001b[H\u001b[J","sgr0":"\u001b[0m\u001b(B","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","setaf":"\u001b[3%p1%dm","setbg":"\u001b[4%p1%dm","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001b[001q","kf2":"\u001b[002q","kf3":"\u001b[003q","kf4":"\u001b[004q","kf5":"\u001b[005q","kf6":"\u001b[006q","kf7":"\u001b[007q","kf8":"\u001b[008q","kf9":"\u001b[009q","kf10":"\u001b[010q","kf11":"\u001b[011q","kf12":"\u001b[012q","kf13":"\u001b[013q","kf14":"\u001b[014q","kf15":"\u001b[015q","kf16":"\u001b[016q","kf17":"\u001b[017q","kf18":"\u001b[018q","kf19":"\u001b[019q","kf20":"\u001b[020q","kf21":"\u001b[021q","kf22":"\u001b[022q","kf23":"\u001b[023q","kf24":"\u001b[024q","kf25":"\u001b[025q","kf26":"\u001b[026q","kf27":"\u001b[027q","kf28":"\u001b[028q","kf29":"\u001b[029q","kf30":"\u001b[030q","kf31":"\u001b[031q","kf32":"\u001b[032q","kf33":"\u001b[033q","kf34":"\u001b[034q","kf35":"\u001b[035q","kf36":"\u001b[036q","kich":"\u001b[139q","kdch":"\u001b[P","khome":"\u001b[H","kend":"\u001b[146q","kpp":"\u001b[150q","knp":"\u001b[154q","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001b[Z","kclr":"\u001b[144q","acsc":"jjkkllmmnnqqttuuvvwwxx","_setfgbg":"\u001b[3%p1%d;4%p2%dm"} -{"name":"hft-c-old","cols":80,"lines":25,"colors":8,"bell":"\u0007","clear":"\u001b[H\u001b[J","sgr0":"\u001b[0m","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","setaf":"\u001b[3%p1%dm","setbg":"\u001b[4%p1%dm","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001b[001q","kf2":"\u001b[002q","kf3":"\u001b[003q","kf4":"\u001b[004q","kf5":"\u001b[005q","kf6":"\u001b[006q","kf7":"\u001b[007q","kf8":"\u001b[008q","kf9":"\u001b[009q","kf10":"\u001b[010q","kf11":"\u001b[011q","kf12":"\u001b[012q","kf13":"\u001b[013q","kf14":"\u001b[014q","kf15":"\u001b[015q","kf16":"\u001b[016q","kf17":"\u001b[017q","kf18":"\u001b[018q","kf19":"\u001b[019q","kf20":"\u001b[020q","kf21":"\u001b[021q","kf22":"\u001b[022q","kf23":"\u001b[023q","kf24":"\u001b[024q","kf25":"\u001b[025q","kf26":"\u001b[026q","kf27":"\u001b[027q","kf28":"\u001b[028q","kf29":"\u001b[029q","kf30":"\u001b[030q","kf31":"\u001b[031q","kf32":"\u001b[032q","kf33":"\u001b[033q","kf34":"\u001b[034q","kf35":"\u001b[035q","kf36":"\u001b[036q","kich":"\u001b[139q","kdch":"\u001b[P","khome":"\u001b[H","kend":"\u001b[146q","kpp":"\u001b[150q","knp":"\u001b[154q","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001b[Z","kclr":"\u001b[144q","acsc":"j\ufffdk\ufffdl\ufffdm\ufffdn\ufffdq\ufffdt\ufffdu\ufffdv\ufffdw\ufffdx\ufffd","_setfgbg":"\u001b[3%p1%d;4%p2%dm"} -{"name":"hft-old","cols":80,"lines":25,"bell":"\u0007","clear":"\u001b[H\u001b[J","sgr0":"\u001b[m","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001b[001q","kf2":"\u001b[002q","kf3":"\u001b[003q","kf4":"\u001b[004q","kf5":"\u001b[005q","kf6":"\u001b[006q","kf7":"\u001b[007q","kf8":"\u001b[008q","kf9":"\u001b[009q","khome":"\u001b[H","kpp":"\u001b[159q","knp":"\u001b[153q","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C"} -{"name":"hirez100","cols":80,"lines":48,"bell":"\u0007","clear":"\u001b[H\u001b[J","sgr0":"\u001b[m","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001bM","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOQ","kf2":"\u001bOR","kf3":"\u001bOS","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC","smacs":"\u000e","rmacs":"\u000f"} -{"name":"hirez100-w","cols":132,"lines":48,"bell":"\u0007","clear":"\u001b[H\u001b[J","sgr0":"\u001b[m","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001bM","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOQ","kf2":"\u001bOR","kf3":"\u001bOS","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC","smacs":"\u000e","rmacs":"\u000f"} -{"name":"hmod1","cols":80,"lines":24,"bell":"\u0007","clear":"~\u001c","sgr0":"~\u0019","cup":"~\u0011%p2%c%p1%c","cub1":"\u0008","cuu1":"~\u000c","pad":"\u0000","khome":"~\u0012","kcuu1":"~\u000c","kcud1":"~\u000b","kcub1":"\u0008","kcuf1":"\u0010"} -{"name":"hp110","cols":80,"lines":16,"bell":"\u0007","clear":"\u001bH\u001bJ","sgr0":"\u001b\u0026d@","smul":"\u001b\u0026dD","cup":"\u001b\u0026a%p2%dc%p1%dY$\u003c6\u003e","cub1":"\u0008","cuu1":"\u001bA","pad":"\u0000","kbs":"\u0008","kcbt":"\u001bi"} -{"name":"hp150","cols":80,"lines":24,"bell":"\u0007","clear":"\u001b\u0026a0c0Y\u001bJ$\u003c40\u003e","sgr0":"\u001b\u0026d@\u000f","smul":"\u001b\u0026dD","bold":"\u001b\u0026dF","blink":"\u001b\u0026dA","rev":"\u001b\u0026dB","dim":"\u001b\u0026dH","smkx":"\u001b\u0026s1A","rmkx":"\u001b\u0026s0A","cup":"\u001b\u0026a%p1%dy%p2%dC$\u003c10\u003e","cub1":"\u0008","cuu1":"\u001bA","pad":"\u0000","kbs":"\u0008","kf1":"\u001bp\r","kf2":"\u001bq\r","kf3":"\u001br\r","kf4":"\u001bs\r","kf5":"\u001bt\r","kf6":"\u001bu\r","kf7":"\u001bv\r","kf8":"\u001bw\r","kich":"\u001bQ","kdch":"\u001bP","khome":"\u001bh","kpp":"\u001bV","knp":"\u001bU","kcuu1":"\u001bA","kcud1":"\u001bB","kcub1":"\u001bD","kcuf1":"\u001bC","kcbt":"\u001bi","kclr":"\u001bJ","acsc":"2[3@4\u003e5I9(:'JSKWLQMAO#P$Q;R!S\"T1U2V4W3X:Y+Z*dHjGkTlRmFn/q,t5u6v8w7x.","smacs":"\u000e","rmacs":"\u000f"} -{"name":"hp2","aliases":["hpex2"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u001b\u0026a0y0C\u001bJ","sgr0":"\u001b\u0026d@","smul":"\u001b\u0026dD","smkx":"\u001b\u0026s1A","rmkx":"\u001b\u0026s0A","cup":"\u001b\u0026a%p1%dy%p2%dC","cub1":"\u0008","cuu1":"\u001bA","pad":"\u0000","kbs":"\u0008","kf1":"\u001bp","kf2":"\u001bq","kf3":"\u001br","kf4":"\u001bs","kf5":"\u001bt","kf6":"\u001bu","kf7":"\u001bv","kf8":"\u001bw","kich":"\u001bQ","kdch":"\u001bP","khome":"\u001bh","kpp":"\u001bV","knp":"\u001bU","kcuu1":"\u001bA","kcud1":"\u001bB","kcub1":"\u001bD","kcuf1":"\u001bC","kclr":"\u001bJ"} -{"name":"hp236","cols":80,"lines":24,"clear":"\u001bF","cnorm":"\u001bDE","sgr0":"\u001bCI","cup":"\u001bE%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u000b","pad":"\u0000"} -{"name":"hp2382a","aliases":["hp2382"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u001b\u0026a0c0Y\u001bJ$\u003c40\u003e","sgr0":"\u001b\u0026d@","smul":"\u001b\u0026dD","bold":"\u001b\u0026dF","blink":"\u001b\u0026dA","rev":"\u001b\u0026dB","dim":"\u001b\u0026dH","smkx":"\u001b\u0026s1A","rmkx":"\u001b\u0026s0A","cup":"\u001b\u0026a%p1%dy%p2%dC$\u003c10\u003e","cub1":"\u0008","cuu1":"\u001bA","pad":"\u0000","kbs":"\u0008","kf1":"\u001bp","kf2":"\u001bq","kf3":"\u001br","kf4":"\u001bs","kf5":"\u001bt","kf6":"\u001bu","kf7":"\u001bv","kf8":"\u001bw","kich":"\u001bQ","kdch":"\u001bP","khome":"\u001bh","kpp":"\u001bV","knp":"\u001bU","kcuu1":"\u001bA","kcud1":"\u001bB","kcub1":"\u001bD","kcuf1":"\u001bC","kcbt":"\u001bi","kclr":"\u001bJ"} -{"name":"hp2392","cols":80,"lines":24,"bell":"\u0007","clear":"\u001bH\u001bJ","sgr0":"\u001b\u0026d@","smul":"\u001b\u0026dD","smkx":"\u001b\u0026s1A","rmkx":"\u001b\u0026s0A","cup":"\u001b\u0026a%p1%dy%p2%dC","cub1":"\u0008","cuu1":"\u001bA","pad":"\u0000","kbs":"\u0008","kf1":"\u001bp\r","kf2":"\u001bq\r","kf3":"\u001br\r","kf4":"\u001bs\r","kf5":"\u001bt\r","kf6":"\u001bu\r","kf7":"\u001bv\r","kf8":"\u001bw\r","khome":"\u001bh","kpp":"\u001bv","knp":"\u001bu","kcuu1":"\u001bA","kcud1":"\u001bB","kcub1":"\u001bD","kcuf1":"\u001bC"} -{"name":"hp2397a","aliases":["hp2397"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u001bH\u001bJ$\u003c40\u003e","sgr0":"\u001b\u0026d@\u000f","smul":"\u001b\u0026dD","bold":"\u001b\u0026dF","blink":"\u001b\u0026dA","rev":"\u001b\u0026dB","dim":"\u001b\u0026dH","smkx":"\u001b\u0026s1A","rmkx":"\u001b\u0026s0A","cup":"\u001b\u0026a%p1%dr%p2%dC","cub1":"\u0008","cuu1":"\u001bA","pad":"\u0000","kbs":"\u0008","kf1":"\u001bp","kf2":"\u001bq","kf3":"\u001br","kf4":"\u001bs","kf5":"\u001bt","kf6":"\u001bu","kf7":"\u001bv","kf8":"\u001bw","kich":"\u001bQ","kdch":"\u001bP","khome":"\u001bh","kpp":"\u001bV","knp":"\u001bU","kcuu1":"\u001bA","kcud1":"\u001bB","kcub1":"\u001bD","kcuf1":"\u001bC","kcbt":"\u001bi","kclr":"\u001bJ","acsc":"2[3@4\u003e5I9(:'JSKWLQMAO#P$Q;R!S\"T1U2V4W3X:Y+Z*dHjGkTlRmFn/q,t5u6v8w7x.","smacs":"\u000e","rmacs":"\u000f"} -{"name":"hp2621","aliases":["2621","2621-wl","2621a","hp2621-wl","hp2621a"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u001bH\u001bJ","sgr0":"\u001b\u0026d@","smul":"\u001b\u0026dD","smkx":"\u001b\u0026jB","rmkx":"\u001b\u0026jA","cup":"\u001b\u0026a%p2%dc%p1%dY","cub1":"\u0008","cuu1":"\u001bA","pad":"\u0000","kbs":"\u0008","kf1":"\u001bp\r","kf2":"\u001bq\r","kf3":"\u001br\r","kf4":"\u001bs\r","kf5":"\u001bt\r","kf6":"\u001bu\r","kf7":"\u001bv\r","kf8":"\u001bw\r","kcbt":"\u001bi"} -{"name":"hp2621-48","cols":80,"lines":48,"bell":"\u0007","clear":"\u001bH\u001bJ","sgr0":"\u001b\u0026d@","smul":"\u001b\u0026dD","smkx":"\u001b\u0026jB","rmkx":"\u001b\u0026jA","cup":"\u001b\u0026a%p2%dc%p1%dR","cub1":"\u0008","cuu1":"\u001bA","pad":"\u0000","kbs":"\u0008","kf1":"\u001bp\r","kf2":"\u001bq\r","kf3":"\u001br\r","kf4":"\u001bs\r","kf5":"\u001bt\r","kf6":"\u001bu\r","kf7":"\u001bv\r","kf8":"\u001bw\r","kcbt":"\u001bi"} -{"name":"hp2621-a","aliases":["hp2621a-a"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u001bH\u001bJ","sgr0":"\u001b\u0026d@","smul":"\u001b\u0026dD","smkx":"\u001b\u0026jB","rmkx":"\u001b\u0026j@","cup":"\u001b\u0026a%p2%dc%p1%dY","cub1":"\u0008","cuu1":"\u001bA","pad":"\u0000","kbs":"\u0008","khome":"\u001bp\r","kcuu1":"\u001bt\r","kcud1":"\u001bw\r","kcub1":"\u001bu\r","kcuf1":"\u001bv\r","kcbt":"\u001bi"} -{"name":"hp2621-ba","cols":80,"lines":24,"bell":"\u0007","clear":"\u001bH\u001bJ","sgr0":"\u001b\u0026d@","smul":"\u001b\u0026dD","cup":"\u001b\u0026a%p2%dc%p1%dY","cub1":"\u0008","cuu1":"\u001bA","pad":"\u0000","kbs":"\u0008","kf1":"\u001bp\r","kf2":"\u001bq\r","kf3":"\u001br\r","kf4":"\u001bs\r","kf5":"\u001bt\r","kf6":"\u001bu\r","kf7":"\u001bv\r","kf8":"\u001bw\r","khome":"\u001bh","kcuu1":"\u001bA","kcud1":"\u001bB","kcub1":"\u001bD","kcuf1":"\u001bC","kcbt":"\u001bi"} -{"name":"hp2621-fl","cols":80,"lines":24,"bell":"\u0007","clear":"\u001bH\u001bJ","sgr0":"\u001b\u0026d@","smul":"\u001b\u0026dD","smkx":"\u001b\u0026jB","rmkx":"\u001b\u0026j@","cup":"\u001b\u0026a%p2%dc%p1%dY","cub1":"\u0008","cuu1":"\u001bA","pad":"\u0000","kbs":"\u0008","kf1":"\u001bp\r","kf2":"\u001bq\r","kf3":"\u001br\r","kf4":"\u001bs\r","kf5":"\u001bt\r","kf6":"\u001bu\r","kf7":"\u001bv\r","kf8":"\u001bw\r","kcbt":"\u001bi"} -{"name":"hp2621-k45","aliases":["hp2621k45","k45"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u001bH\u001bJ","sgr0":"\u001b\u0026d@","smul":"\u001b\u0026dD","smkx":"\u001b\u0026s1A","rmkx":"\u001b\u0026s0A","cup":"\u001b\u0026a%p2%dc%p1%dY","cub1":"\u0008","cuu1":"\u001bA","pad":"\u0000","kbs":"\u0008","kf1":"\u001bp\r","kf2":"\u001bq\r","kf3":"\u001br\r","kf4":"\u001bs\r","kf5":"\u001bt\r","kf6":"\u001bu\r","kf7":"\u001bv\r","kf8":"\u001bw\r","khome":"\u001bh","kcuu1":"\u001bA","kcud1":"\u001bB","kcub1":"\u001bD","kcuf1":"\u001bC","kcbt":"\u001bi"} -{"name":"hp2621-nl","cols":80,"lines":24,"bell":"\u0007","clear":"\u001bH\u001bJ","sgr0":"\u001b\u0026d@","smul":"\u001b\u0026dD","cup":"\u001b\u0026a%p2%dc%p1%dY","cub1":"\u0008","cuu1":"\u001bA","pad":"\u0000","kbs":"\u0008","kf1":"\u001bp\r","kf2":"\u001bq\r","kf3":"\u001br\r","kf4":"\u001bs\r","kf5":"\u001bt\r","kf6":"\u001bu\r","kf7":"\u001bv\r","kf8":"\u001bw\r","kcbt":"\u001bi"} -{"name":"hp2621-nt","cols":80,"lines":24,"bell":"\u0007","clear":"\u001bH\u001bJ","sgr0":"\u001b\u0026d@","smul":"\u001b\u0026dD","smkx":"\u001b\u0026jB","rmkx":"\u001b\u0026jA","cup":"\u001b\u0026a%p2%dc%p1%dY","cub1":"\u0008","cuu1":"\u001bA","pad":"\u0000","kbs":"\u0008","kf1":"\u001bp\r","kf2":"\u001bq\r","kf3":"\u001br\r","kf4":"\u001bs\r","kf5":"\u001bt\r","kf6":"\u001bu\r","kf7":"\u001bv\r","kf8":"\u001bw\r","kcbt":"\u001bi"} -{"name":"hp2621b","cols":80,"lines":24,"bell":"\u0007","clear":"\u001bH\u001bJ","sgr0":"\u001b\u0026d@","smul":"\u001b\u0026dD","smkx":"\u001b\u0026jB","rmkx":"\u001b\u0026jA","cup":"\u001b\u0026a%p2%dc%p1%dY","cub1":"\u0008","cuu1":"\u001bA","pad":"\u0000","kbs":"\u0008","kf1":"\u001bp\r","kf2":"\u001bq\r","kf3":"\u001br\r","kf4":"\u001bs\r","kf5":"\u001bt\r","kf6":"\u001bu\r","kf7":"\u001bv\r","kf8":"\u001bw\r","khome":"\u001bh","kcuu1":"\u001bA","kcud1":"\u001bB","kcub1":"\u001bD","kcuf1":"\u001bC","kcbt":"\u001bi"} -{"name":"hp2621b-kx","cols":80,"lines":24,"bell":"\u0007","clear":"\u001bH\u001bJ","sgr0":"\u001b\u0026d@","smul":"\u001b\u0026dD","smkx":"\u001b\u0026s1A","rmkx":"\u001b\u0026s0A","cup":"\u001b\u0026a%p2%dc%p1%dY","cub1":"\u0008","cuu1":"\u001bA","pad":"\u0000","kbs":"\u0008","kf1":"\u001bp","kf2":"\u001bq","kf3":"\u001br","kf4":"\u001bs","kf5":"\u001bt","kf6":"\u001bu","kf7":"\u001bv","kf8":"\u001bw","kich":"\u001bQ","kdch":"\u001bP","khome":"\u001bh","kpp":"\u001bV","knp":"\u001bU","kcuu1":"\u001bA","kcud1":"\u001bB","kcub1":"\u001bD","kcuf1":"\u001bC","kcbt":"\u001bi","kclr":"\u001bJ"} -{"name":"hp2621b-kx-p","cols":80,"lines":24,"bell":"\u0007","clear":"\u001bH\u001bJ","sgr0":"\u001b\u0026d@","smul":"\u001b\u0026dD","smkx":"\u001b\u0026s1A","rmkx":"\u001b\u0026s0A","cup":"\u001b\u0026a%p2%dc%p1%dY","cub1":"\u0008","cuu1":"\u001bA","pad":"\u0000","kbs":"\u0008","kf1":"\u001bp","kf2":"\u001bq","kf3":"\u001br","kf4":"\u001bs","kf5":"\u001bt","kf6":"\u001bu","kf7":"\u001bv","kf8":"\u001bw","kich":"\u001bQ","kdch":"\u001bP","khome":"\u001bh","kpp":"\u001bV","knp":"\u001bU","kcuu1":"\u001bA","kcud1":"\u001bB","kcub1":"\u001bD","kcuf1":"\u001bC","kcbt":"\u001bi","kclr":"\u001bJ"} -{"name":"hp2621b-p","cols":80,"lines":24,"bell":"\u0007","clear":"\u001bH\u001bJ","sgr0":"\u001b\u0026d@","smul":"\u001b\u0026dD","smkx":"\u001b\u0026jB","rmkx":"\u001b\u0026jA","cup":"\u001b\u0026a%p2%dc%p1%dY","cub1":"\u0008","cuu1":"\u001bA","pad":"\u0000","kbs":"\u0008","kf1":"\u001bp\r","kf2":"\u001bq\r","kf3":"\u001br\r","kf4":"\u001bs\r","kf5":"\u001bt\r","kf6":"\u001bu\r","kf7":"\u001bv\r","kf8":"\u001bw\r","khome":"\u001bh","kcuu1":"\u001bA","kcud1":"\u001bB","kcub1":"\u001bD","kcuf1":"\u001bC","kcbt":"\u001bi"} -{"name":"hp2621p","cols":80,"lines":24,"bell":"\u0007","clear":"\u001bH\u001bJ","sgr0":"\u001b\u0026d@","smul":"\u001b\u0026dD","smkx":"\u001b\u0026jB","rmkx":"\u001b\u0026jA","cup":"\u001b\u0026a%p2%dc%p1%dY","cub1":"\u0008","cuu1":"\u001bA","pad":"\u0000","kbs":"\u0008","kf1":"\u001bp\r","kf2":"\u001bq\r","kf3":"\u001br\r","kf4":"\u001bs\r","kf5":"\u001bt\r","kf6":"\u001bu\r","kf7":"\u001bv\r","kf8":"\u001bw\r","kcbt":"\u001bi"} -{"name":"hp2621p-a","cols":80,"lines":24,"bell":"\u0007","clear":"\u001bH\u001bJ","sgr0":"\u001b\u0026d@","smul":"\u001b\u0026dD","smkx":"\u001b\u0026jB","rmkx":"\u001b\u0026jA","cup":"\u001b\u0026a%p2%dc%p1%dY","cub1":"\u0008","cuu1":"\u001bA","pad":"\u0000","kbs":"\u0008","khome":"\u001bp\r","kcuu1":"\u001bt\r","kcud1":"\u001bw\r","kcub1":"\u001bu\r","kcuf1":"\u001bv\r","kcbt":"\u001bi"} -{"name":"hp2622","aliases":["hp2622a"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u001b\u0026a0c0Y\u001bJ$\u003c40\u003e","sgr0":"\u001b\u0026d@\u000f","smul":"\u001b\u0026dD","bold":"\u001b\u0026dF","blink":"\u001b\u0026dA","rev":"\u001b\u0026dB","dim":"\u001b\u0026dH","smkx":"\u001b\u0026s1A","rmkx":"\u001b\u0026s0A","cup":"\u001b\u0026a%p1%dy%p2%dC$\u003c10\u003e","cub1":"\u0008","cuu1":"\u001bA","pad":"\u0000","kbs":"\u0008","kf1":"\u001bp\r","kf2":"\u001bq\r","kf3":"\u001br\r","kf4":"\u001bs\r","kf5":"\u001bt\r","kf6":"\u001bu\r","kf7":"\u001bv\r","kf8":"\u001bw\r","kich":"\u001bQ","kdch":"\u001bP","khome":"\u001bh","kpp":"\u001bV","knp":"\u001bU","kcuu1":"\u001bA","kcud1":"\u001bB","kcub1":"\u001bD","kcuf1":"\u001bC","kcbt":"\u001bi","kclr":"\u001bJ","acsc":"2[3@4\u003e5I9(:'JSKWLQMAO#P$Q;R!S\"T1U2V4W3X:Y+Z*dHjGkTlRmFn/q,t5u6v8w7x.","smacs":"\u000e","rmacs":"\u000f"} -{"name":"hp2623","aliases":["hp2623a"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u001b\u0026a0c0Y\u001bJ$\u003c40\u003e","sgr0":"\u001b\u0026d@\u000f","smul":"\u001b\u0026dD","bold":"\u001b\u0026dF","blink":"\u001b\u0026dA","rev":"\u001b\u0026dB","dim":"\u001b\u0026dH","smkx":"\u001b\u0026s1A","rmkx":"\u001b\u0026s0A","cup":"\u001b\u0026a%p1%dy%p2%dC$\u003c10\u003e","cub1":"\u0008","cuu1":"\u001bA","pad":"\u0000","kbs":"\u0008","kf1":"\u001bp\r","kf2":"\u001bq\r","kf3":"\u001br\r","kf4":"\u001bs\r","kf5":"\u001bt\r","kf6":"\u001bu\r","kf7":"\u001bv\r","kf8":"\u001bw\r","kich":"\u001bQ","kdch":"\u001bP","khome":"\u001bh","kpp":"\u001bV","knp":"\u001bU","kcuu1":"\u001bA","kcud1":"\u001bB","kcub1":"\u001bD","kcuf1":"\u001bC","kcbt":"\u001bi","kclr":"\u001bJ","acsc":"2[3@4\u003e5I9(:'JSKWLQMAO#P$Q;R!S\"T1U2V4W3X:Y+Z*dHjGkTlRmFn/q,t5u6v8w7x.","smacs":"\u000e","rmacs":"\u000f"} -{"name":"hp2624","aliases":["hp2624a","hp2624b","hp2624b-4p"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u001b\u0026a0c0Y\u001bJ$\u003c40\u003e","sgr0":"\u001b\u0026d@\u000f","smul":"\u001b\u0026dD","bold":"\u001b\u0026dF","blink":"\u001b\u0026dA","rev":"\u001b\u0026dB","dim":"\u001b\u0026dH","smkx":"\u001b\u0026s1A","rmkx":"\u001b\u0026s0A","cup":"\u001b\u0026a%p1%dy%p2%dC$\u003c10\u003e","cub1":"\u0008","cuu1":"\u001bA","pad":"\u0000","kbs":"\u0008","kf1":"\u001bp","kf2":"\u001bq","kf3":"\u001br","kf4":"\u001bs","kf5":"\u001bt","kf6":"\u001bu","kf7":"\u001bv","kf8":"\u001bw","kich":"\u001bQ","kdch":"\u001bP","khome":"\u001bh","kpp":"\u001bV","knp":"\u001bU","kcuu1":"\u001bA","kcud1":"\u001bB","kcub1":"\u001bD","kcuf1":"\u001bC","kcbt":"\u001bi","kclr":"\u001bJ","acsc":"2[3@4\u003e5I9(:'JSKWLQMAO#P$Q;R!S\"T1U2V4W3X:Y+Z*dHjGkTlRmFn/q,t5u6v8w7x.","smacs":"\u000e","rmacs":"\u000f"} -{"name":"hp2624-10p","aliases":["hp2624a-10p","hp2624b-10p"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u001b\u0026a0c0Y\u001bJ$\u003c40\u003e","sgr0":"\u001b\u0026d@\u000f","smul":"\u001b\u0026dD","bold":"\u001b\u0026dF","blink":"\u001b\u0026dA","rev":"\u001b\u0026dB","dim":"\u001b\u0026dH","smkx":"\u001b\u0026s1A","rmkx":"\u001b\u0026s0A","cup":"\u001b\u0026a%p1%dy%p2%dC$\u003c10\u003e","cub1":"\u0008","cuu1":"\u001bA","pad":"\u0000","kbs":"\u0008","kf1":"\u001bp","kf2":"\u001bq","kf3":"\u001br","kf4":"\u001bs","kf5":"\u001bt","kf6":"\u001bu","kf7":"\u001bv","kf8":"\u001bw","kich":"\u001bQ","kdch":"\u001bP","khome":"\u001bh","kpp":"\u001bV","knp":"\u001bU","kcuu1":"\u001bA","kcud1":"\u001bB","kcub1":"\u001bD","kcuf1":"\u001bC","kcbt":"\u001bi","kclr":"\u001bJ","acsc":"2[3@4\u003e5I9(:'JSKWLQMAO#P$Q;R!S\"T1U2V4W3X:Y+Z*dHjGkTlRmFn/q,t5u6v8w7x.","smacs":"\u000e","rmacs":"\u000f"} -{"name":"hp2624b-10p-p","cols":80,"lines":24,"bell":"\u0007","clear":"\u001b\u0026a0c0Y\u001bJ$\u003c40\u003e","sgr0":"\u001b\u0026d@\u000f","smul":"\u001b\u0026dD","bold":"\u001b\u0026dF","blink":"\u001b\u0026dA","rev":"\u001b\u0026dB","dim":"\u001b\u0026dH","smkx":"\u001b\u0026s1A","rmkx":"\u001b\u0026s0A","cup":"\u001b\u0026a%p1%dy%p2%dC$\u003c10\u003e","cub1":"\u0008","cuu1":"\u001bA","pad":"\u0000","kbs":"\u0008","kf1":"\u001bp","kf2":"\u001bq","kf3":"\u001br","kf4":"\u001bs","kf5":"\u001bt","kf6":"\u001bu","kf7":"\u001bv","kf8":"\u001bw","kich":"\u001bQ","kdch":"\u001bP","khome":"\u001bh","kpp":"\u001bV","knp":"\u001bU","kcuu1":"\u001bA","kcud1":"\u001bB","kcub1":"\u001bD","kcuf1":"\u001bC","kcbt":"\u001bi","kclr":"\u001bJ","acsc":"2[3@4\u003e5I9(:'JSKWLQMAO#P$Q;R!S\"T1U2V4W3X:Y+Z*dHjGkTlRmFn/q,t5u6v8w7x.","smacs":"\u000e","rmacs":"\u000f"} -{"name":"hp2624b-p","aliases":["hp2624b-4p-p"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u001b\u0026a0c0Y\u001bJ$\u003c40\u003e","sgr0":"\u001b\u0026d@\u000f","smul":"\u001b\u0026dD","bold":"\u001b\u0026dF","blink":"\u001b\u0026dA","rev":"\u001b\u0026dB","dim":"\u001b\u0026dH","smkx":"\u001b\u0026s1A","rmkx":"\u001b\u0026s0A","cup":"\u001b\u0026a%p1%dy%p2%dC$\u003c10\u003e","cub1":"\u0008","cuu1":"\u001bA","pad":"\u0000","kbs":"\u0008","kf1":"\u001bp","kf2":"\u001bq","kf3":"\u001br","kf4":"\u001bs","kf5":"\u001bt","kf6":"\u001bu","kf7":"\u001bv","kf8":"\u001bw","kich":"\u001bQ","kdch":"\u001bP","khome":"\u001bh","kpp":"\u001bV","knp":"\u001bU","kcuu1":"\u001bA","kcud1":"\u001bB","kcub1":"\u001bD","kcuf1":"\u001bC","kcbt":"\u001bi","kclr":"\u001bJ","acsc":"2[3@4\u003e5I9(:'JSKWLQMAO#P$Q;R!S\"T1U2V4W3X:Y+Z*dHjGkTlRmFn/q,t5u6v8w7x.","smacs":"\u000e","rmacs":"\u000f"} -{"name":"hp2626","aliases":["hp2626a","hp2626p"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u001b\u0026a0c0Y\u001bJ$\u003c40\u003e","sgr0":"\u001b\u0026d@\u000f","smul":"\u001b\u0026dD","bold":"\u001b\u0026dF","blink":"\u001b\u0026dA","rev":"\u001b\u0026dB","dim":"\u001b\u0026dH","smkx":"\u001b\u0026s1A","rmkx":"\u001b\u0026s0A","cup":"\u001b\u0026a%p1%dy%p2%dC$\u003c10\u003e","cub1":"\u0008","cuu1":"\u001bA","pad":"\u0000","kbs":"\u0008","kf1":"\u001bp\r","kf2":"\u001bq\r","kf3":"\u001br\r","kf4":"\u001bs\r","kf5":"\u001bt\r","kf6":"\u001bu\r","kf7":"\u001bv\r","kf8":"\u001bw\r","kich":"\u001bQ","kdch":"\u001bP","khome":"\u001bh","kpp":"\u001bV","knp":"\u001bU","kcuu1":"\u001bA","kcud1":"\u001bB","kcub1":"\u001bD","kcuf1":"\u001bC","kcbt":"\u001bi","kclr":"\u001bJ","acsc":"2[3@4\u003e5I9(:'JSKWLQMAO#P$Q;R!S\"T1U2V4W3X:Y+Z*dHjGkTlRmFn/q,t5u6v8w7x.","smacs":"\u000e","rmacs":"\u000f"} -{"name":"hp2626-12","cols":80,"lines":12,"bell":"\u0007","clear":"\u001b\u0026a0c0Y\u001bJ$\u003c40\u003e","sgr0":"\u001b\u0026d@\u000f","smul":"\u001b\u0026dD","bold":"\u001b\u0026dF","blink":"\u001b\u0026dA","rev":"\u001b\u0026dB","dim":"\u001b\u0026dH","smkx":"\u001b\u0026s1A","rmkx":"\u001b\u0026s0A","cup":"\u001b\u0026a%p1%dy%p2%dC$\u003c10\u003e","cub1":"\u0008","cuu1":"\u001bA","pad":"\u0000","kbs":"\u0008","kf1":"\u001bp\r","kf2":"\u001bq\r","kf3":"\u001br\r","kf4":"\u001bs\r","kf5":"\u001bt\r","kf6":"\u001bu\r","kf7":"\u001bv\r","kf8":"\u001bw\r","kich":"\u001bQ","kdch":"\u001bP","khome":"\u001bh","kpp":"\u001bV","knp":"\u001bU","kcuu1":"\u001bA","kcud1":"\u001bB","kcub1":"\u001bD","kcuf1":"\u001bC","kcbt":"\u001bi","kclr":"\u001bJ","acsc":"2[3@4\u003e5I9(:'JSKWLQMAO#P$Q;R!S\"T1U2V4W3X:Y+Z*dHjGkTlRmFn/q,t5u6v8w7x.","smacs":"\u000e","rmacs":"\u000f"} -{"name":"hp2626-12-s","cols":80,"lines":11,"bell":"\u0007","clear":"\u001b\u0026a0c0Y\u001bJ$\u003c40\u003e","sgr0":"\u001b\u0026d@\u000f","smul":"\u001b\u0026dD","bold":"\u001b\u0026dF","blink":"\u001b\u0026dA","rev":"\u001b\u0026dB","dim":"\u001b\u0026dH","smkx":"\u001b\u0026s1A","rmkx":"\u001b\u0026s0A","cup":"\u001b\u0026a%p1%dy%p2%dC$\u003c10\u003e","cub1":"\u0008","cuu1":"\u001bA","pad":"\u0000","kbs":"\u0008","kf1":"\u001bp\r","kf2":"\u001bq\r","kf3":"\u001br\r","kf4":"\u001bs\r","kf5":"\u001bt\r","kf6":"\u001bu\r","kf7":"\u001bv\r","kf8":"\u001bw\r","kich":"\u001bQ","kdch":"\u001bP","khome":"\u001bh","kpp":"\u001bV","knp":"\u001bU","kcuu1":"\u001bA","kcud1":"\u001bB","kcub1":"\u001bD","kcuf1":"\u001bC","kcbt":"\u001bi","kclr":"\u001bJ","acsc":"2[3@4\u003e5I9(:'JSKWLQMAO#P$Q;R!S\"T1U2V4W3X:Y+Z*dHjGkTlRmFn/q,t5u6v8w7x.","smacs":"\u000e","rmacs":"\u000f"} -{"name":"hp2626-12x40","cols":40,"lines":12,"bell":"\u0007","clear":"\u001b\u0026a0c0Y\u001bJ$\u003c40\u003e","sgr0":"\u001b\u0026d@\u000f","smul":"\u001b\u0026dD","bold":"\u001b\u0026dF","blink":"\u001b\u0026dA","rev":"\u001b\u0026dB","dim":"\u001b\u0026dH","smkx":"\u001b\u0026s1A","rmkx":"\u001b\u0026s0A","cup":"\u001b\u0026a%p1%dy%p2%dC$\u003c10\u003e","cub1":"\u0008","cuu1":"\u001bA","pad":"\u0000","kbs":"\u0008","kf1":"\u001bp\r","kf2":"\u001bq\r","kf3":"\u001br\r","kf4":"\u001bs\r","kf5":"\u001bt\r","kf6":"\u001bu\r","kf7":"\u001bv\r","kf8":"\u001bw\r","kich":"\u001bQ","kdch":"\u001bP","khome":"\u001bh","kpp":"\u001bV","knp":"\u001bU","kcuu1":"\u001bA","kcud1":"\u001bB","kcub1":"\u001bD","kcuf1":"\u001bC","kcbt":"\u001bi","kclr":"\u001bJ","acsc":"2[3@4\u003e5I9(:'JSKWLQMAO#P$Q;R!S\"T1U2V4W3X:Y+Z*dHjGkTlRmFn/q,t5u6v8w7x.","smacs":"\u000e","rmacs":"\u000f"} -{"name":"hp2626-ns","cols":80,"lines":24,"bell":"\u0007","clear":"\u001b\u0026a0c0Y\u001bJ$\u003c40\u003e","sgr0":"\u001b\u0026d@\u000f","smul":"\u001b\u0026dD","bold":"\u001b\u0026dF","blink":"\u001b\u0026dA","rev":"\u001b\u0026dB","dim":"\u001b\u0026dH","smkx":"\u001b\u0026s1A","rmkx":"\u001b\u0026s0A","cup":"\u001b\u0026a%p1%dy%p2%dC$\u003c10\u003e","cub1":"\u0008","cuu1":"\u001bA","pad":"\u0000","kbs":"\u0008","kf1":"\u001bp\r","kf2":"\u001bq\r","kf3":"\u001br\r","kf4":"\u001bs\r","kf5":"\u001bt\r","kf6":"\u001bu\r","kf7":"\u001bv\r","kf8":"\u001bw\r","kich":"\u001bQ","kdch":"\u001bP","khome":"\u001bh","kpp":"\u001bV","knp":"\u001bU","kcuu1":"\u001bA","kcud1":"\u001bB","kcub1":"\u001bD","kcuf1":"\u001bC","kcbt":"\u001bi","kclr":"\u001bJ","acsc":"2[3@4\u003e5I9(:'JSKWLQMAO#P$Q;R!S\"T1U2V4W3X:Y+Z*dHjGkTlRmFn/q,t5u6v8w7x.","smacs":"\u000e","rmacs":"\u000f"} -{"name":"hp2626-s","cols":80,"lines":23,"bell":"\u0007","clear":"\u001b\u0026a0c0Y\u001bJ$\u003c40\u003e","sgr0":"\u001b\u0026d@\u000f","smul":"\u001b\u0026dD","bold":"\u001b\u0026dF","blink":"\u001b\u0026dA","rev":"\u001b\u0026dB","dim":"\u001b\u0026dH","smkx":"\u001b\u0026s1A","rmkx":"\u001b\u0026s0A","cup":"\u001b\u0026a%p1%dy%p2%dC$\u003c10\u003e","cub1":"\u0008","cuu1":"\u001bA","pad":"\u0000","kbs":"\u0008","kf1":"\u001bp\r","kf2":"\u001bq\r","kf3":"\u001br\r","kf4":"\u001bs\r","kf5":"\u001bt\r","kf6":"\u001bu\r","kf7":"\u001bv\r","kf8":"\u001bw\r","kich":"\u001bQ","kdch":"\u001bP","khome":"\u001bh","kpp":"\u001bV","knp":"\u001bU","kcuu1":"\u001bA","kcud1":"\u001bB","kcub1":"\u001bD","kcuf1":"\u001bC","kcbt":"\u001bi","kclr":"\u001bJ","acsc":"2[3@4\u003e5I9(:'JSKWLQMAO#P$Q;R!S\"T1U2V4W3X:Y+Z*dHjGkTlRmFn/q,t5u6v8w7x.","smacs":"\u000e","rmacs":"\u000f"} -{"name":"hp2626-x40","cols":40,"lines":24,"bell":"\u0007","clear":"\u001b\u0026a0c0Y\u001bJ$\u003c40\u003e","sgr0":"\u001b\u0026d@\u000f","smul":"\u001b\u0026dD","bold":"\u001b\u0026dF","blink":"\u001b\u0026dA","rev":"\u001b\u0026dB","dim":"\u001b\u0026dH","smkx":"\u001b\u0026s1A","rmkx":"\u001b\u0026s0A","cup":"\u001b\u0026a%p1%dy%p2%dC$\u003c10\u003e","cub1":"\u0008","cuu1":"\u001bA","pad":"\u0000","kbs":"\u0008","kf1":"\u001bp\r","kf2":"\u001bq\r","kf3":"\u001br\r","kf4":"\u001bs\r","kf5":"\u001bt\r","kf6":"\u001bu\r","kf7":"\u001bv\r","kf8":"\u001bw\r","kich":"\u001bQ","kdch":"\u001bP","khome":"\u001bh","kpp":"\u001bV","knp":"\u001bU","kcuu1":"\u001bA","kcud1":"\u001bB","kcub1":"\u001bD","kcuf1":"\u001bC","kcbt":"\u001bi","kclr":"\u001bJ","acsc":"2[3@4\u003e5I9(:'JSKWLQMAO#P$Q;R!S\"T1U2V4W3X:Y+Z*dHjGkTlRmFn/q,t5u6v8w7x.","smacs":"\u000e","rmacs":"\u000f"} -{"name":"hp2627a","cols":80,"lines":24,"bell":"\u0007","clear":"\u001bH\u001bJ","sgr0":"\u001b\u0026d@","smul":"\u001b\u0026dD\u001b\u0026v1S","cup":"\u001b\u0026a%p2%dc%p1%dY","cub1":"\u0008","cuu1":"\u001bA","pad":"\u0000","kbs":"\u0008","kf1":"\u001bp\r","kf2":"\u001bq\r","kf3":"\u001br\r","kf4":"\u001bs\r","kf5":"\u001bt\r","kf6":"\u001bu\r","kf7":"\u001bv\r","kf8":"\u001bw\r","kcud1":"\n","kcub1":"\u0008","kcbt":"\u001bi"} -{"name":"hp2627a-rev","cols":80,"lines":24,"bell":"\u0007","clear":"\u001bH\u001bJ","sgr0":"\u001b\u0026d@","smul":"\u001b\u0026dD\u001b\u0026v1S","cup":"\u001b\u0026a%p2%dc%p1%dY","cub1":"\u0008","cuu1":"\u001bA","pad":"\u0000","kbs":"\u0008","kf1":"\u001bp\r","kf2":"\u001bq\r","kf3":"\u001br\r","kf4":"\u001bs\r","kf5":"\u001bt\r","kf6":"\u001bu\r","kf7":"\u001bv\r","kf8":"\u001bw\r","kcud1":"\n","kcub1":"\u0008","kcbt":"\u001bi"} -{"name":"hp2627c","cols":80,"lines":24,"bell":"\u0007","clear":"\u001bH\u001bJ","sgr0":"\u001b\u0026d@","smul":"\u001b\u0026dD\u001b\u0026v1S","cup":"\u001b\u0026a%p2%dc%p1%dY","cub1":"\u0008","cuu1":"\u001bA","pad":"\u0000","kbs":"\u0008","kf1":"\u001bp\r","kf2":"\u001bq\r","kf3":"\u001br\r","kf4":"\u001bs\r","kf5":"\u001bt\r","kf6":"\u001bu\r","kf7":"\u001bv\r","kf8":"\u001bw\r","kcud1":"\n","kcub1":"\u0008","kcbt":"\u001bi"} -{"name":"hp2640b","aliases":["hp2644a"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u001bH\u001bJ","sgr0":"\u001b\u0026d@","smul":"\u001b\u0026dD","blink":"\u001b\u0026dA","rev":"\u001b\u0026dB","dim":"\u001b\u0026dH","cup":"\u001b\u0026a%p2%dc%p1%dY$\u003c6\u003e","cub1":"\u0008","cuu1":"\u001bA","pad":"\u0000","kbs":"\u0008","kich":"\u001bQ","kdch":"\u001bP","khome":"\u001bh","kpp":"\u001bV","knp":"\u001bU","kcuu1":"\u001bA","kcud1":"\u001bB","kcub1":"\u001bD","kcuf1":"\u001bC","kcbt":"\u001bi"} -{"name":"hp2641a","aliases":["hp2645a","hp2647a"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u001bH\u001bJ","cup":"\u001b\u0026a%p2%2dc%p1%2dY","cub1":"\u0008","cuu1":"\u001bA","pad":"\u0000","kbs":"\u0008","kcud1":"\n","kcub1":"\u0008"} -{"name":"hp2645","aliases":["hp45"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u001bH\u001bJ","sgr0":"\u001b\u0026d@","smul":"\u001b\u0026dD","blink":"\u001b\u0026dA","rev":"\u001b\u0026dB","dim":"\u001b\u0026dH","smkx":"\u001b\u0026s1A","rmkx":"\u001b\u0026s0A","cup":"\u001b\u0026a%p2%dc%p1%dY$\u003c6\u003e","cub1":"\u0008","cuu1":"\u001bA","pad":"\u0000","kbs":"\u0008","kich":"\u001bQ","kdch":"\u001bP","khome":"\u001bh","kpp":"\u001bV","knp":"\u001bU","kcuu1":"\u001bA","kcud1":"\u001bB","kcub1":"\u001bD","kcuf1":"\u001bC","kcbt":"\u001bi"} -{"name":"hp2648","aliases":["hp2648a"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u001bH\u001bJ$\u003c50\u003e","sgr0":"\u001b\u0026d@","smul":"\u001b\u0026dD","blink":"\u001b\u0026dA","rev":"\u001b\u0026dB","dim":"\u001b\u0026dH","smkx":"\u001b\u0026s1A","rmkx":"\u001b\u0026s0A","cup":"\u001b\u0026a%p2%dc%p1%dY$\u003c20\u003e","cub1":"\u0008","cuu1":"\u001bA","pad":"\u0000","kbs":"\u0008","kich":"\u001bQ","kdch":"\u001bP","khome":"\u001bh","kpp":"\u001bV","knp":"\u001bU","kcuu1":"\u001bA","kcud1":"\u001bB","kcub1":"\u001bD","kcuf1":"\u001bC","kcbt":"\u001bi"} -{"name":"hp300h","cols":128,"lines":51,"bell":"\u0007","clear":"\u001b\u0026a0y0C\u001bJ","sgr0":"\u001b\u0026d@","smul":"\u001b\u0026dD","smkx":"\u001b\u0026s1A","rmkx":"\u001b\u0026s0A","cup":"\u001b\u0026a%p1%dy%p2%dC","cub1":"\u0008","cuu1":"\u001bA","pad":"\u0000","kbs":"\u0008","khome":"\u001bh","kcuu1":"\u001bA","kcud1":"\u001bB","kcub1":"\u001bD","kcuf1":"\u001bC"} -{"name":"hp700-wy","cols":80,"lines":24,"clear":"\u001a","sgr0":"\u001bG0$\u003c10/\u003e","smul":"\u001bG8$\u003c10/\u003e","cup":"\u001b=%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u000b","pad":"\u0000","kbs":"","kich":"\u001bq","khome":"\u001e","kcuu1":"\u000b","kcud1":"\u0016","kcub1":"\u0008","kcuf1":"\u000c","kcbt":"\u001bI","kclr":"\u001a"} -{"name":"hp70092","aliases":["hp70092a"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u001b\u0026a0y0C\u001bJ","sgr0":"\u001b\u0026d@","smul":"\u001b\u0026dD","bold":"\u001b\u0026dB","blink":"\u001b\u0026dA","rev":"\u001b\u0026dB","dim":"\u001b\u0026dH","smkx":"\u001b\u0026s1A","rmkx":"\u001b\u0026s0A","cup":"\u001b\u0026a%p1%dy%p2%dC","cub1":"\u0008","cuu1":"\u001bA","pad":"\u0000","kbs":"\u0008","kf1":"\u001bp","kf2":"\u001bq","kf3":"\u001br","kf4":"\u001bs","kf5":"\u001bt","kf6":"\u001bu","kf7":"\u001bv","kf8":"\u001bw","kich":"\u001bQ","kdch":"\u001bP","khome":"\u001bh","kpp":"\u001bV","knp":"\u001bU","kcuu1":"\u001bA","kcud1":"\u001bB","kcub1":"\u001bD","kcuf1":"\u001bC","kclr":"\u001bJ","acsc":"0cjgktlrmfn/q,t5u6v8w7x.","smacs":"\u000e","rmacs":"\u000f"} -{"name":"hp9837","aliases":["hp98720","hp98721"],"cols":128,"lines":46,"bell":"\u0007","clear":"\u001b\u0026a0y0C\u001bJ","sgr0":"\u001b\u0026d@","smul":"\u001b\u0026dD","smkx":"\u001b\u0026s1A","rmkx":"\u001b\u0026s0A","cup":"\u001b\u0026a%p1%dy%p2%dC","cub1":"\u0008","cuu1":"\u001bA","pad":"\u0000","kbs":"\u0008","kich":"\u001bQ","kdch":"\u001bP","khome":"\u001bh","kpp":"\u001bV","knp":"\u001bU","kcuu1":"\u001bA","kcud1":"\u001bB","kcub1":"\u001bD","kcuf1":"\u001bC"} -{"name":"hp9845","cols":80,"lines":21,"clear":"\u001bH\u001bJ","cup":"\u001b\u0026a%p2%2dc%p1%2dY","cuu1":"\u001bA","pad":"\u0000"} -{"name":"hp98550","aliases":["hp98550a"],"cols":128,"lines":49,"bell":"\u0007","clear":"\u001bH\u001bJ","cnorm":"\u001b*dQ","civis":"\u001b*dR","sgr0":"\u001b\u0026d@","smul":"\u001b\u0026dD","bold":"\u001b\u0026dJ","blink":"\u001b\u0026dA","rev":"\u001b\u0026dJ","dim":"\u001b\u0026dH","smkx":"\u001b\u0026s1A","rmkx":"\u001b\u0026s0A","cup":"\u001b\u0026a%p1%dy%p2%dC","cub1":"\u0008","cuu1":"\u001bA","pad":"\u0000","kbs":"\u0008","kf1":"\u001bp","kf2":"\u001bq","kf3":"\u001br","kf4":"\u001bs","kf5":"\u001bt","kf6":"\u001bu","kf7":"\u001bv","kf8":"\u001bw","kich":"\u001bQ","kdch":"\u001bP","khome":"\u001bh","kpp":"\u001bV","knp":"\u001bU","kcuu1":"\u001bA","kcud1":"\u001bB","kcub1":"\u001bD","kcuf1":"\u001bC","kclr":"\u001bJ","smacs":"\u000e","rmacs":"\u000f"} -{"name":"hpansi","aliases":["hp700"],"cols":80,"lines":25,"bell":"\u0007","clear":"\u001b[2J\u001b[H","cnorm":"\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b[m","smul":"\u001b[4m","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u001b[D","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001b[17~","kf2":"\u001b[18~","kf3":"\u001b[19~","kf4":"\u001b[20~","kf5":"\u001b[21~","kf6":"\u001b[23~","kf7":"\u001b[24~","kf8":"\u001b[25~","kf9":"\u001b[26~","kf10":"\u001b[28~","khome":"\u001b[1~","kend":"\u001b[4~","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001b[Z","acsc":"j\ufffdk\ufffdl\ufffdm\ufffdn\ufffdq\ufffdt\ufffdu\ufffdv\ufffdw\ufffdx\ufffd"} -{"name":"hpex","cols":-1,"lines":24,"bell":"\u0007","clear":"\u001bH\u001bJ","sgr0":"\u001b\u0026d@","smul":"\u001b\u0026dD","smkx":"\u001b\u0026s1A","rmkx":"\u001b\u0026s0A","cup":"\u001b\u0026a%p1%dy%p2%dC","cub1":"\u0008","cuu1":"\u001bA","pad":"\u0000","kbs":"\u0008","khome":"\u001bh","kcuu1":"\u001bA","kcud1":"\n","kcub1":"\u0008","kcuf1":"\u001bC"} -{"name":"hpgeneric","aliases":["hp"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u001bH\u001bJ","sgr0":"\u001b\u0026d@","smul":"\u001b\u0026dD","cup":"\u001b\u0026a%p2%dc%p1%dY$\u003c6\u003e","cub1":"\u0008","cuu1":"\u001bA","pad":"\u0000","kbs":"\u0008","kcbt":"\u001bi"} -{"name":"hpterm","aliases":["X-hpterm"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u001b\u0026a0y0C\u001bJ","sgr0":"\u001b\u0026d@","smul":"\u001b\u0026dD","bold":"\u001b\u0026dB","rev":"\u001b\u0026dB","dim":"\u001b\u0026dH","smkx":"\u001b\u0026s1A","rmkx":"\u001b\u0026s0A","cup":"\u001b\u0026a%p1%dy%p2%dC","cub1":"\u0008","cuu1":"\u001bA","pad":"\u0000","kbs":"\u0008","kf1":"\u001bp","kf2":"\u001bq","kf3":"\u001br","kf4":"\u001bs","kf5":"\u001bt","kf6":"\u001bu","kf7":"\u001bv","kf8":"\u001bw","kich":"\u001bQ","kdch":"\u001bP","khome":"\u001bh","kpp":"\u001bV","knp":"\u001bU","kcuu1":"\u001bA","kcud1":"\u001bB","kcub1":"\u001bD","kcuf1":"\u001bC","kclr":"\u001bJ","smacs":"\u000e","rmacs":"\u000f"} -{"name":"hpterm-color","cols":80,"lines":24,"bell":"\u0007","clear":"\u001b\u0026a0y0C\u001bJ","sgr0":"\u001b\u0026d@","smul":"\u001b\u0026dD","bold":"\u001b\u0026dB","rev":"\u001b\u0026dB","dim":"\u001b\u0026dH","smkx":"\u001b\u0026s1A","rmkx":"\u001b\u0026s0A","cup":"\u001b\u0026a%p1%dy%p2%dC","cub1":"\u0008","cuu1":"\u001bA","pad":"\u0000","kbs":"\u0008","kf1":"\u001bp","kf2":"\u001bq","kf3":"\u001br","kf4":"\u001bs","kf5":"\u001bt","kf6":"\u001bu","kf7":"\u001bv","kf8":"\u001bw","kich":"\u001bQ","kdch":"\u001bP","khome":"\u001bh","kpp":"\u001bV","knp":"\u001bU","kcuu1":"\u001bA","kcud1":"\u001bB","kcub1":"\u001bD","kcuf1":"\u001bC","kclr":"\u001bJ","smacs":"\u000e","rmacs":"\u000f"} -{"name":"hurd","cols":-1,"lines":-1,"colors":8,"bell":"\u0007","clear":"\u001bc","cnorm":"\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b[0m","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","dim":"\u001b[2m","setaf":"\u001b[3%p1%dm","setbg":"\u001b[4%p1%dm","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kf5":"\u001b[15~","kf6":"\u001b[17~","kf7":"\u001b[18~","kf8":"\u001b[19~","kf9":"\u001b[20~","kf10":"\u001b[21~","kf11":"\u001b[23~","kf12":"\u001b[24~","kf13":"\u001b[25~","kf14":"\u001b[26~","kf15":"\u001b[28~","kf16":"\u001b[29~","kf17":"\u001b[31~","kf18":"\u001b[32~","kf19":"\u001b[33~","kf20":"\u001b[34~","kich":"\u001b[2~","kdch":"\u001b[3~","khome":"\u001b[1~","kend":"\u001b[4~","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC","kcbt":"\u001b[Z","kmous":"\u001b[M","XM":"%?%p1%{1}%=%t%'h'%Pa%e%'l'%Pa%;\u001b[?1000%ga%c\u001b[?1002%ga%c\u001b[?1003%ga%c\u001b[?1006%ga%c","acsc":"++,,--..00ii``aaffgghhjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u001b[11m","rmacs":"\u001b[10m","_setfgbg":"\u001b[3%p1%d;4%p2%dm"} -{"name":"hz1420","cols":80,"lines":24,"bell":"\u0007","clear":"\u001b\u001c","cup":"\u001b\u0011%p2%c%p1%' '%+%c","cub1":"\u0008","cuu1":"\u001b\u000c","pad":"\u0000"} -{"name":"hz1500","cols":80,"lines":24,"bell":"\u0007","clear":"~\u001c","cup":"~\u0011%p2%p2%?%{30}%\u003e%t%' '%+%;%'`'%+%c%p1%'`'%+%c","cub1":"\u0008","cuu1":"~\u000c","pad":"\u0000","khome":"~\u0012","kcuu1":"~\u000c","kcud1":"\n","kcub1":"\u0008","kcuf1":"\u0010"} -{"name":"hz1510","cols":80,"lines":24,"bell":"\u0007","clear":"\u001b\u001c","cup":"\u001b\u0011%p2%c%p1%c","cub1":"\u0008","cuu1":"\u001b\u000c","pad":"\u0000"} -{"name":"hz1520","cols":80,"lines":24,"bell":"\u0007","clear":"\u001b\u001c","sgr0":"\u001b\u0019","bold":"\u001b\u001f","cup":"\u001b\u0011%p2%c%p1%c","cub1":"\u0008","cuu1":"\u001b\u000c","pad":"\u0000","kbs":"\u0008","khome":"\u001b\u0012","kcuu1":"\u001b\u000c","kcud1":"\u001b\u000b","kcub1":"\u0008","kcuf1":"\u0010","kclr":"\u001b\u001c"} -{"name":"hz1520-noesc","cols":80,"lines":24,"bell":"\u0007","clear":"~\u001c","cup":"~\u0011%p2%c%p1%c$\u003c1\u003e","cub1":"\u0008","cuu1":"~\u000c","pad":"\u0000"} -{"name":"hz1552","cols":80,"lines":24,"bell":"\u0007","clear":"\u001bH\u001bJ","cup":"\u001bY%p1%' '%+%c%p2%' '%+%c","cub1":"\u001bD","cuu1":"\u001bA","pad":"\u0000","kbs":"\u0008","kf1":"\u001bP","kf2":"\u001bQ","kf3":"\u001bR","kcuu1":"\u001bA","kcud1":"\u001bB","kcub1":"\u001bD","kcuf1":"\u001bC","acsc":"ffgghhompoqqss.k","smacs":"\u001bF","rmacs":"\u001bG"} -{"name":"hz1552-rv","cols":80,"lines":24,"bell":"\u0007","clear":"\u001bH\u001bJ","cup":"\u001bY%p1%' '%+%c%p2%' '%+%c","cub1":"\u001bD","cuu1":"\u001bA","pad":"\u0000","kbs":"\u0008","kf1":"\u001bP","kf2":"\u001bQ","kf3":"\u001bR","kcuu1":"\u001bA","kcud1":"\u001bB","kcub1":"\u001bD","kcuf1":"\u001bC","acsc":"ffgghhompoqqss.k","smacs":"\u001bF","rmacs":"\u001bG"} -{"name":"hz2000","cols":74,"lines":27,"bell":"\u0007","clear":"~\u001c$\u003c6\u003e","cup":"~\u0011%p2%c%p1%c","cub1":"\u0008","pad":""} -{"name":"i100","aliases":["gt100","gt100a"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u000c","cup":"\u001bf%p2%' '%+%c%p1%' '%+%c","cub1":"\u0008","cuu1":"\u001bA","pad":"\u0000"} -{"name":"i400","cols":80,"lines":25,"bell":"\u0007","clear":"\u001b[2J","cup":"\u001b[%i%p1%3d;%p2%3dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000"} -{"name":"ibcs2","cols":-1,"lines":-1,"clear":"\u001bc","cup":"\u001b[%i%p1%d;%p2%dH","pad":"\u0000"} -{"name":"ibm-apl","aliases":["apl"],"cols":80,"lines":25,"bell":"\u0007","clear":"\u000c","cup":"\u001e%p2%' '%+%c%p1%' '%+%c","cub1":"\u0008","cuu1":"\u001f","pad":"\u0000","khome":"\u0019","kcuu1":"\u001f","kcud1":"\n","kcub1":"\u0008","kcuf1":"\u001c"} -{"name":"ibm-system1","aliases":["system1"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u001a","cup":"\u0005%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u001e","pad":"\u0000"} -{"name":"ibm3101","aliases":["i3101"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u001bK","cup":"\u001bY%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u001bA","pad":"\u0000","kcuu1":"\u001bA","kcud1":"\u001bB","kcub1":"\u001bD","kcuf1":"\u001bC"} -{"name":"ibm3151","cols":80,"lines":24,"bell":"\u0007","clear":"\u001bH\u001bJ","smcup":"\u001b\u003eB","rmcup":"\u001b\u003eB","sgr0":"\u001b4@\u001b\u003eB","smul":"\u001b4\"a","bold":"\u001b4(a","blink":"\u001b4$a","rev":"\u001b4!a","cup":"\u001bY%p1%' '%+%c%p2%' '%+%c","cub1":"\u001bD","cuu1":"\u001bA","pad":"\u0000","kbs":"\u0008","kf1":"\u001ba\r","kf2":"\u001bb\r","kf3":"\u001bc\r","kf4":"\u001bd\r","kf5":"\u001be\r","kf6":"\u001bf\r","kf7":"\u001bg\r","kf8":"\u001bh\r","kf9":"\u001bi\r","kf10":"\u001bj\r","kf11":"\u001bk\r","kf12":"\u001bl\r","kf13":"\u001b!a\r","kf14":"\u001b!b\r","kf15":"\u001b!c\r","kf16":"\u001b!d\r","kf17":"\u001b!e\r","kf18":"\u001b!f\r","kf19":"\u001b!g\r","kf20":"\u001b!h\r","kf21":"\u001b!i\r","kf22":"\u001b!j\r","kf23":"\u001b!k\r","kf24":"\u001b!l\r","kich":"\u001bP \u0008","kdch":"\u001bQ","khome":"\u001bH","kcuu1":"\u001bA","kcud1":"\u001bB","kcub1":"\u001bD","kcuf1":"\u001bC","kcbt":"\u001b2","kclr":"\u001bL\r","acsc":"j\ufffdk\ufffdl\ufffdm\ufffdn\ufffdq\ufffdt\ufffdu\ufffdv\ufffdw\ufffdx\ufffd","smacs":"\u001b\u003eA","rmacs":"\u001b\u003eB"} -{"name":"ibm3161","aliases":["ibm3163","wy60-316X","wyse60-316X"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u001bH\u001bJ","smcup":"\u001b\u003eA","rmcup":"\u001b\u003eA","sgr0":"\u001b4@\u001b\u003c@","smul":"\u001b4B","bold":"\u001b4H","blink":"\u001b4D","rev":"\u001b4A","cup":"\u001bY%p1%' '%+%c%p2%' '%+%c","cub1":"\u001bD","cuu1":"\u001bA","pad":"\u0000","kbs":"\u0008","kf1":"\u001ba\r","kf2":"\u001bb\r","kf3":"\u001bc\r","kf4":"\u001bd\r","kf5":"\u001be\r","kf6":"\u001bf\r","kf7":"\u001bg\r","kf8":"\u001bh\r","kf9":"\u001bi\r","kf10":"\u001bj\r","kf11":"\u001bk\r","kf12":"\u001bl\r","kf13":"\u001b!a\r","kf14":"\u001b!b\r","kf15":"\u001b!c\r","kf16":"\u001b!d\r","kf17":"\u001b!e\r","kf18":"\u001b!f\r","kf19":"\u001b!g\r","kf20":"\u001b!h\r","kf21":"\u001b!i\r","kf22":"\u001b!j\r","kf23":"\u001b!k\r","kf24":"\u001b!l\r","kich":"\u001bP \u0008","kdch":"\u001bQ","khome":"\u001bH","kcuu1":"\u001bA","kcud1":"\u001bB","kcub1":"\u001bD","kcuf1":"\u001bC","kcbt":"\u001b2","kclr":"\u001bL\r","acsc":"j\ufffdk\ufffdl\ufffdm\ufffdn\ufffdq\ufffdt\ufffdu\ufffdv\ufffdw\ufffdx\ufffd"} -{"name":"ibm3161-C","cols":80,"lines":24,"bell":"\u0007","clear":"\u001bH\u001bJ","smcup":"\u001b\u003eB","rmcup":"\u001b\u003eB","sgr0":"\u001b4@\u001b\u003c@","smul":"\u001b4B","bold":"\u001b4H","blink":"\u001b4D","rev":"\u001b4A","cup":"\u001bY%p1%' '%+%c%p2%' '%+%c","cub1":"\u001bD","cuu1":"\u001bA","pad":"\u0000","kbs":"\u0008","kf1":"\u001ba\r","kf2":"\u001bb\r","kf3":"\u001bc\r","kf4":"\u001bd\r","kf5":"\u001be\r","kf6":"\u001bf\r","kf7":"\u001bg\r","kf8":"\u001bh\r","kf9":"\u001bi\r","kf10":"\u001bj\r","kf11":"\u001bk\r","kf12":"\u001bl\r","kf13":"\u001b!a\r","kf14":"\u001b!b\r","kf15":"\u001b!c\r","kf16":"\u001b!d\r","kf17":"\u001b!e\r","kf18":"\u001b!f\r","kf19":"\u001b!g\r","kf20":"\u001b!h\r","kf21":"\u001b!i\r","kf22":"\u001b!j\r","kf23":"\u001b!k\r","kf24":"\u001b!l\r","kich":"\u001bP \u0008","kdch":"\u001bQ","khome":"\u001bH","kcuu1":"\u001bA","kcud1":"\u001bB","kcub1":"\u001bD","kcuf1":"\u001bC","kcbt":"\u001b2","kclr":"\u001bL\r","acsc":"j\ufffdk\ufffdl\ufffdm\ufffdn\ufffdq\ufffdt\ufffdu\ufffdv\ufffdw\ufffdx\ufffd"} -{"name":"ibm3162","cols":80,"lines":24,"bell":"\u0007","clear":"\u001bH\u001bJ","smcup":"\u001b\u003eB","rmcup":"\u001b\u003eB","sgr0":"\u001b4@","smul":"\u001b4\"a","bold":"\u001b4(a","blink":"\u001b4$a","rev":"\u001b4!a","cup":"\u001bY%p1%' '%+%c%p2%' '%+%c","cub1":"\u001bD","cuu1":"\u001bA","pad":"\u0000","kbs":"\u0008","kf1":"\u001ba\r","kf2":"\u001bb\r","kf3":"\u001bc\r","kf4":"\u001bd\r","kf5":"\u001be\r","kf6":"\u001bf\r","kf7":"\u001bg\r","kf8":"\u001bh\r","kf9":"\u001bi\r","kf10":"\u001bj\r","kf11":"\u001bk\r","kf12":"\u001bl\r","kf13":"\u001b!a\r","kf14":"\u001b!b\r","kf15":"\u001b!c\r","kf16":"\u001b!d\r","kf17":"\u001b!e\r","kf18":"\u001b!f\r","kf19":"\u001b!g\r","kf20":"\u001b!h\r","kf21":"\u001b!i\r","kf22":"\u001b!j\r","kf23":"\u001b!k\r","kf24":"\u001b!l\r","kich":"\u001bP \u0008","kdch":"\u001bQ","khome":"\u001bH","kcuu1":"\u001bA","kcud1":"\u001bB","kcub1":"\u001bD","kcuf1":"\u001bC","kcbt":"\u001b2","kclr":"\u001bL\r","acsc":"j\ufffdk\ufffdl\ufffdm\ufffdn\ufffdq\ufffdt\ufffdu\ufffdv\ufffdw\ufffdx\ufffd"} -{"name":"ibm3164","aliases":["i3164"],"cols":80,"lines":24,"colors":8,"bell":"\u0007","clear":"\u001bH\u001bJ","smcup":"\u001b!9/N\u001b\u003eB","rmcup":"\u001b!9(N\u001b\u003eB","sgr0":"\u001b4@\u001b\u003c@","smul":"\u001b4B","bold":"\u001b4H","blink":"\u001b4D","rev":"\u001b4A","setaf":"\u001b4%?%p1%t %p1%' '%+%c%e!'%;@","setbg":"\u001b4 %p1%'@'%+%c","cup":"\u001bY%p1%' '%+%c%p2%' '%+%c","cub1":"\u001bD","cuu1":"\u001bA","pad":"\u0000","kbs":"\u0008","kf1":"\u001ba\r","kf2":"\u001bb\r","kf3":"\u001bc\r","kf4":"\u001bd\r","kf5":"\u001be\r","kf6":"\u001bf\r","kf7":"\u001bg\r","kf8":"\u001bh\r","kf9":"\u001bi\r","kf10":"\u001bj\r","kf11":"\u001bk\r","kf12":"\u001bl\r","kf13":"\u001b!a\r","kf14":"\u001b!b\r","kf15":"\u001b!c\r","kf16":"\u001b!d\r","kf17":"\u001b!e\r","kf18":"\u001b!f\r","kf19":"\u001b!g\r","kf20":"\u001b!h\r","kf21":"\u001b!i\r","kf22":"\u001b!j\r","kf23":"\u001b!k\r","kf24":"\u001b!l\r","kich":"\u001bP \u0008","kdch":"\u001bQ","khome":"\u001bH","kcuu1":"\u001bA","kcud1":"\u001bB","kcub1":"\u001bD","kcuf1":"\u001bC","kcbt":"\u001b2","kclr":"\u001bL\r","acsc":"j\ufffdk\ufffdl\ufffdm\ufffdn\ufffdq\ufffdt\ufffdu\ufffdv\ufffdw\ufffdx\ufffd"} -{"name":"ibm5081","aliases":["hft"],"cols":80,"lines":25,"colors":8,"bell":"\u0007","clear":"\u001b[H\u001b[J","sgr0":"\u001b[0m\u001b(B","smul":"\u001b[4m","rev":"\u001b[7m","setaf":"\u001b[3%p1%dm","setbg":"\u001b[4%p1%dm","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001b[001q","kf2":"\u001b[002q","kf3":"\u001b[003q","kf4":"\u001b[004q","kf5":"\u001b[005q","kf6":"\u001b[006q","kf7":"\u001b[007q","kf8":"\u001b[008q","kf9":"\u001b[009q","kf10":"\u001b[010q","kf11":"\u001b[011q","kf12":"\u001b[012q","kf13":"\u001b[013q","kf14":"\u001b[014q","kf15":"\u001b[015q","kf16":"\u001b[016q","kf17":"\u001b[017q","kf18":"\u001b[018q","kf19":"\u001b[019q","kf20":"\u001b[020q","kf21":"\u001b[021q","kf22":"\u001b[022q","kf23":"\u001b[023q","kf24":"\u001b[024q","kf25":"\u001b[025q","kf26":"\u001b[026q","kf27":"\u001b[027q","kf28":"\u001b[028q","kf29":"\u001b[029q","kf30":"\u001b[030q","kf31":"\u001b[031q","kf32":"\u001b[032q","kf33":"\u001b[033q","kf34":"\u001b[034q","kf35":"\u001b[035q","kf36":"\u001b[036q","kich":"\u001b[139q","kdch":"\u001b[P","khome":"\u001b[H","kend":"\u001b[146q","kpp":"\u001b[150q","knp":"\u001b[154q","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001b[Z","kclr":"\u001b[144q","acsc":"jjkkllmmnnqqttuuvvwwxx","_setfgbg":"\u001b[3%p1%d;4%p2%dm"} -{"name":"ibm5081-c","aliases":["ibmmpel-c"],"cols":80,"lines":33,"bell":"\u0007","clear":"\u001bK","sgr0":"\u001bw\u001bq\u001bz\u001bB","smul":"\u001bF\u001bf2;","bold":"\u001bZ","rev":"\u001bp","cup":"\u001bY%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u001bA","pad":"\u0000","kbs":"\u0008","kf1":"\u001bS","kf2":"\u001bT","kf3":"\u001bU","kf4":"\u001bV","kf5":"\u001bW","kf6":"\u001bP","kf7":"\u001bQ","kf8":"\u001bR","kf9":"\u001bY","kich":"\ufffd","khome":"\u001bH","kpp":"\u001bg","knp":"\u001bE","kcuu1":"\u001bA","kcud1":"\u001bB","kcub1":"\u001bD","kcuf1":"\u001bC"} -{"name":"ibm5151","aliases":["wy60-AT","wyse60-AT"],"cols":80,"lines":25,"bell":"\u0007","clear":"\u001b[H\u001b[J","sgr0":"\u001b[0m","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001b[001q","kf2":"\u001b[002q","kf3":"\u001b[003q","kf4":"\u001b[004q","kf5":"\u001b[005q","kf6":"\u001b[006q","kf7":"\u001b[007q","kf8":"\u001b[008q","kf9":"\u001b[009q","kf10":"\u001b[010q","kf11":"\u001b[011q","kf12":"\u001b[012q","kf13":"\u001b[013q","kf14":"\u001b[014q","kf15":"\u001b[015q","kf16":"\u001b[016q","kf17":"\u001b[017q","kf18":"\u001b[018q","kf19":"\u001b[019q","kf20":"\u001b[020q","kf21":"\u001b[021q","kf22":"\u001b[022q","kf23":"\u001b[023q","kf24":"\u001b[024q","kf25":"\u001b[025q","kf26":"\u001b[026q","kf27":"\u001b[027q","kf28":"\u001b[028q","kf29":"\u001b[029q","kf30":"\u001b[030q","kf31":"\u001b[031q","kf32":"\u001b[032q","kf33":"\u001b[033q","kf34":"\u001b[034q","kf35":"\u001b[035q","kf36":"\u001b[036q","kich":"\u001b[139q","kdch":"\u001b[P","khome":"\u001b[H","kend":"\u001b[146q","kpp":"\u001b[150q","knp":"\u001b[154q","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001b[Z","kclr":"\u001b[144q","acsc":"j\ufffdk\ufffdl\ufffdm\ufffdn\ufffdq\ufffdt\ufffdu\ufffdv\ufffdw\ufffdx\ufffd"} -{"name":"ibm5154","cols":80,"lines":25,"colors":8,"bell":"\u0007","clear":"\u001b[H\u001b[J","sgr0":"\u001b[0m","smul":"\u001b[4m","blink":"\u001b[5m","rev":"\u001b[7m","setaf":"\u001b[3%p1%dm","setbg":"\u001b[4%p1%dm","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001b[001q","kf2":"\u001b[002q","kf3":"\u001b[003q","kf4":"\u001b[004q","kf5":"\u001b[005q","kf6":"\u001b[006q","kf7":"\u001b[007q","kf8":"\u001b[008q","kf9":"\u001b[009q","kf10":"\u001b[010q","kf11":"\u001b[011q","kf12":"\u001b[012q","kf13":"\u001b[013q","kf14":"\u001b[014q","kf15":"\u001b[015q","kf16":"\u001b[016q","kf17":"\u001b[017q","kf18":"\u001b[018q","kf19":"\u001b[019q","kf20":"\u001b[020q","kf21":"\u001b[021q","kf22":"\u001b[022q","kf23":"\u001b[023q","kf24":"\u001b[024q","kf25":"\u001b[025q","kf26":"\u001b[026q","kf27":"\u001b[027q","kf28":"\u001b[028q","kf29":"\u001b[029q","kf30":"\u001b[030q","kf31":"\u001b[031q","kf32":"\u001b[032q","kf33":"\u001b[033q","kf34":"\u001b[034q","kf35":"\u001b[035q","kf36":"\u001b[036q","kich":"\u001b[139q","kdch":"\u001b[P","khome":"\u001b[H","kend":"\u001b[146q","kpp":"\u001b[150q","knp":"\u001b[154q","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001b[Z","kclr":"\u001b[144q","acsc":"j\ufffdk\ufffdl\ufffdm\ufffdn\ufffdq\ufffdt\ufffdu\ufffdv\ufffdw\ufffdx\ufffd","_setfgbg":"\u001b[3%p1%d;4%p2%dm"} -{"name":"ibm6153","cols":80,"lines":25,"bell":"\u0007","clear":"\u001b[H\u001b[J","sgr0":"\u001b[0;10m","smul":"\u001b[4m","bold":"\u001b[12m","rev":"\u001b[7m","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001b[001q","kf2":"\u001b[002q","kf3":"\u001b[003q","kf4":"\u001b[004q","kf5":"\u001b[005q","kf6":"\u001b[006q","kf7":"\u001b[007q","kf8":"\u001b[008q","kf9":"\u001b[009q","kf10":"\u001b[010q","kf11":"\u001b[011q","kf12":"\u001b[012q","kf13":"\u001b[013q","kf14":"\u001b[014q","kf15":"\u001b[015q","kf16":"\u001b[016q","kf17":"\u001b[017q","kf18":"\u001b[018q","kf19":"\u001b[019q","kf20":"\u001b[020q","kf21":"\u001b[021q","kf22":"\u001b[022q","kf23":"\u001b[023q","kf24":"\u001b[024q","kf25":"\u001b[025q","kf26":"\u001b[026q","kf27":"\u001b[027q","kf28":"\u001b[028q","kf29":"\u001b[029q","kf30":"\u001b[030q","kf31":"\u001b[031q","kf32":"\u001b[032q","kf33":"\u001b[033q","kf34":"\u001b[034q","kf35":"\u001b[035q","kf36":"\u001b[036q","kich":"\u001b[139q","kdch":"\u001b[P","khome":"\u001b[H","kend":"\u001b[146q","kpp":"\u001b[150q","knp":"\u001b[154q","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001b[Z","kclr":"\u001b[144q","acsc":"j\ufffdk\ufffdl\ufffdm\ufffdn\ufffdq\ufffdt\ufffdu\ufffdv\ufffdw\ufffdx\ufffd"} -{"name":"ibm6153-40","cols":40,"lines":12,"bell":"\u0007","clear":"\u001b[H\u001b[J","sgr0":"\u001b[0m","smul":"\u001b[4m","rev":"\u001b[7m","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001b[001q","kf2":"\u001b[002q","kf3":"\u001b[003q","kf4":"\u001b[004q","kf5":"\u001b[005q","kf6":"\u001b[006q","kf7":"\u001b[007q","kf8":"\u001b[008q","kf9":"\u001b[009q","kf10":"\u001b[010q","kf11":"\u001b[011q","kf12":"\u001b[012q","kf13":"\u001b[013q","kf14":"\u001b[014q","kf15":"\u001b[015q","kf16":"\u001b[016q","kf17":"\u001b[017q","kf18":"\u001b[018q","kf19":"\u001b[019q","kf20":"\u001b[020q","kf21":"\u001b[021q","kf22":"\u001b[022q","kf23":"\u001b[023q","kf24":"\u001b[024q","kf25":"\u001b[025q","kf26":"\u001b[026q","kf27":"\u001b[027q","kf28":"\u001b[028q","kf29":"\u001b[029q","kf30":"\u001b[030q","kf31":"\u001b[031q","kf32":"\u001b[032q","kf33":"\u001b[033q","kf34":"\u001b[034q","kf35":"\u001b[035q","kf36":"\u001b[036q","kich":"\u001b[139q","kdch":"\u001b[P","khome":"\u001b[H","kend":"\u001b[146q","kpp":"\u001b[150q","knp":"\u001b[154q","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001b[Z","kclr":"\u001b[144q","acsc":"j\ufffdk\ufffdl\ufffdm\ufffdn\ufffdq\ufffdt\ufffdu\ufffdv\ufffdw\ufffdx\ufffd"} -{"name":"ibm6153-90","cols":90,"lines":36,"bell":"\u0007","clear":"\u001b[H\u001b[J","sgr0":"\u001b[0m","smul":"\u001b[4m","rev":"\u001b[7m","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001b[001q","kf2":"\u001b[002q","kf3":"\u001b[003q","kf4":"\u001b[004q","kf5":"\u001b[005q","kf6":"\u001b[006q","kf7":"\u001b[007q","kf8":"\u001b[008q","kf9":"\u001b[009q","kf10":"\u001b[010q","kf11":"\u001b[011q","kf12":"\u001b[012q","kf13":"\u001b[013q","kf14":"\u001b[014q","kf15":"\u001b[015q","kf16":"\u001b[016q","kf17":"\u001b[017q","kf18":"\u001b[018q","kf19":"\u001b[019q","kf20":"\u001b[020q","kf21":"\u001b[021q","kf22":"\u001b[022q","kf23":"\u001b[023q","kf24":"\u001b[024q","kf25":"\u001b[025q","kf26":"\u001b[026q","kf27":"\u001b[027q","kf28":"\u001b[028q","kf29":"\u001b[029q","kf30":"\u001b[030q","kf31":"\u001b[031q","kf32":"\u001b[032q","kf33":"\u001b[033q","kf34":"\u001b[034q","kf35":"\u001b[035q","kf36":"\u001b[036q","kich":"\u001b[139q","kdch":"\u001b[P","khome":"\u001b[H","kend":"\u001b[146q","kpp":"\u001b[150q","knp":"\u001b[154q","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001b[Z","kclr":"\u001b[144q","acsc":"j\ufffdk\ufffdl\ufffdm\ufffdn\ufffdq\ufffdt\ufffdu\ufffdv\ufffdw\ufffdx\ufffd"} -{"name":"ibm6154","cols":80,"lines":25,"colors":8,"bell":"\u0007","clear":"\u001b[H\u001b[J","sgr0":"\u001b[0;10m","smul":"\u001b[4m","bold":"\u001b[12m","rev":"\u001b[7m","setaf":"\u001b[3%p1%dm","setbg":"\u001b[4%p1%dm","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001b[001q","kf2":"\u001b[002q","kf3":"\u001b[003q","kf4":"\u001b[004q","kf5":"\u001b[005q","kf6":"\u001b[006q","kf7":"\u001b[007q","kf8":"\u001b[008q","kf9":"\u001b[009q","kf10":"\u001b[010q","kf11":"\u001b[011q","kf12":"\u001b[012q","kf13":"\u001b[013q","kf14":"\u001b[014q","kf15":"\u001b[015q","kf16":"\u001b[016q","kf17":"\u001b[017q","kf18":"\u001b[018q","kf19":"\u001b[019q","kf20":"\u001b[020q","kf21":"\u001b[021q","kf22":"\u001b[022q","kf23":"\u001b[023q","kf24":"\u001b[024q","kf25":"\u001b[025q","kf26":"\u001b[026q","kf27":"\u001b[027q","kf28":"\u001b[028q","kf29":"\u001b[029q","kf30":"\u001b[030q","kf31":"\u001b[031q","kf32":"\u001b[032q","kf33":"\u001b[033q","kf34":"\u001b[034q","kf35":"\u001b[035q","kf36":"\u001b[036q","kich":"\u001b[139q","kdch":"\u001b[P","khome":"\u001b[H","kend":"\u001b[146q","kpp":"\u001b[150q","knp":"\u001b[154q","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001b[Z","kclr":"\u001b[144q","acsc":"j\ufffdk\ufffdl\ufffdm\ufffdn\ufffdq\ufffdt\ufffdu\ufffdv\ufffdw\ufffdx\ufffd","_setfgbg":"\u001b[3%p1%d;4%p2%dm"} -{"name":"ibm6155","cols":80,"lines":25,"bell":"\u0007","clear":"\u001b[H\u001b[J","sgr0":"\u001b[0m","smul":"\u001b[4m","rev":"\u001b[7m","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001b[001q","kf2":"\u001b[002q","kf3":"\u001b[003q","kf4":"\u001b[004q","kf5":"\u001b[005q","kf6":"\u001b[006q","kf7":"\u001b[007q","kf8":"\u001b[008q","kf9":"\u001b[009q","kf10":"\u001b[010q","kf11":"\u001b[011q","kf12":"\u001b[012q","kf13":"\u001b[013q","kf14":"\u001b[014q","kf15":"\u001b[015q","kf16":"\u001b[016q","kf17":"\u001b[017q","kf18":"\u001b[018q","kf19":"\u001b[019q","kf20":"\u001b[020q","kf21":"\u001b[021q","kf22":"\u001b[022q","kf23":"\u001b[023q","kf24":"\u001b[024q","kf25":"\u001b[025q","kf26":"\u001b[026q","kf27":"\u001b[027q","kf28":"\u001b[028q","kf29":"\u001b[029q","kf30":"\u001b[030q","kf31":"\u001b[031q","kf32":"\u001b[032q","kf33":"\u001b[033q","kf34":"\u001b[034q","kf35":"\u001b[035q","kf36":"\u001b[036q","kich":"\u001b[139q","kdch":"\u001b[P","khome":"\u001b[H","kend":"\u001b[146q","kpp":"\u001b[150q","knp":"\u001b[154q","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001b[Z","kclr":"\u001b[144q","acsc":"j\ufffdk\ufffdl\ufffdm\ufffdn\ufffdq\ufffdt\ufffdu\ufffdv\ufffdw\ufffdx\ufffd"} -{"name":"ibm8503","aliases":["ibm8507","ibm8604"],"cols":80,"lines":25,"colors":8,"bell":"\u0007","clear":"\u001b[H\u001b[J","sgr0":"\u001b[0m\u001b(B","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","setaf":"\u001b[3%p1%dm","setbg":"\u001b[4%p1%dm","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001b[001q","kf2":"\u001b[002q","kf3":"\u001b[003q","kf4":"\u001b[004q","kf5":"\u001b[005q","kf6":"\u001b[006q","kf7":"\u001b[007q","kf8":"\u001b[008q","kf9":"\u001b[009q","kf10":"\u001b[010q","kf11":"\u001b[011q","kf12":"\u001b[012q","kf13":"\u001b[013q","kf14":"\u001b[014q","kf15":"\u001b[015q","kf16":"\u001b[016q","kf17":"\u001b[017q","kf18":"\u001b[018q","kf19":"\u001b[019q","kf20":"\u001b[020q","kf21":"\u001b[021q","kf22":"\u001b[022q","kf23":"\u001b[023q","kf24":"\u001b[024q","kf25":"\u001b[025q","kf26":"\u001b[026q","kf27":"\u001b[027q","kf28":"\u001b[028q","kf29":"\u001b[029q","kf30":"\u001b[030q","kf31":"\u001b[031q","kf32":"\u001b[032q","kf33":"\u001b[033q","kf34":"\u001b[034q","kf35":"\u001b[035q","kf36":"\u001b[036q","kich":"\u001b[139q","kdch":"\u001b[P","khome":"\u001b[H","kend":"\u001b[146q","kpp":"\u001b[150q","knp":"\u001b[154q","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001b[Z","kclr":"\u001b[144q","acsc":"jjkkllmmnnqqttuuvvwwxx","_setfgbg":"\u001b[3%p1%d;4%p2%dm"} -{"name":"ibm8512","aliases":["ibm8513"],"cols":80,"lines":25,"colors":8,"bell":"\u0007","clear":"\u001b[H\u001b[J","smcup":"\u001b[20;4l\u001b[?7h\u001bb","rmcup":"\u001b[20h","sgr0":"\u001b[m","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","setaf":"\u001b[3%p1%dm","setbg":"\u001b[4%p1%dm","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u001b[D","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001b[001q","kf2":"\u001b[002q","kf3":"\u001b[003q","kf4":"\u001b[004q","kf5":"\u001b[005q","kf6":"\u001b[006q","kf7":"\u001b[007q","kf8":"\u001b[008q","kf9":"\u001b[009q","kf10":"\u001b[010q","kf11":"\u001b[011q","kf12":"\u001b[012q","kf13":"\u001b[013q","kf14":"\u001b[014q","kf15":"\u001b[015q","kf16":"\u001b[016q","kf17":"\u001b[017q","kf18":"\u001b[018q","kf19":"\u001b[019q","kf20":"\u001b[020q","kf21":"\u001b[021q","kf22":"\u001b[022q","kf23":"\u001b[023q","kf24":"\u001b[024q","kf25":"\u001b[025q","kf26":"\u001b[026q","kf27":"\u001b[027q","kf28":"\u001b[028q","kf29":"\u001b[029q","kf30":"\u001b[030q","kf31":"\u001b[031q","kf32":"\u001b[032q","kf33":"\u001b[033q","kf34":"\u001b[034q","kf35":"\u001b[035q","kf36":"\u001b[036q","kich":"\u001b[139q","kdch":"\u001b[P","khome":"\u001b[H","kend":"\u001b[146q","kpp":"\u001b[150q","knp":"\u001b[154q","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001b[Z","kclr":"\u001b[144q","acsc":"jjkkllmmnnqqttuuvvwwxx","smacs":"\u000e","rmacs":"\u000f","_setfgbg":"\u001b[3%p1%d;4%p2%dm"} -{"name":"ibm8514","cols":80,"lines":25,"colors":8,"bell":"\u0007","clear":"\u001b[H\u001b[J","sgr0":"\u001b[0m\u001b(B","smul":"\u001b[4m","rev":"\u001b[7m","setaf":"\u001b[3%p1%dm","setbg":"\u001b[4%p1%dm","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001b[001q","kf2":"\u001b[002q","kf3":"\u001b[003q","kf4":"\u001b[004q","kf5":"\u001b[005q","kf6":"\u001b[006q","kf7":"\u001b[007q","kf8":"\u001b[008q","kf9":"\u001b[009q","kf10":"\u001b[010q","kf11":"\u001b[011q","kf12":"\u001b[012q","kf13":"\u001b[013q","kf14":"\u001b[014q","kf15":"\u001b[015q","kf16":"\u001b[016q","kf17":"\u001b[017q","kf18":"\u001b[018q","kf19":"\u001b[019q","kf20":"\u001b[020q","kf21":"\u001b[021q","kf22":"\u001b[022q","kf23":"\u001b[023q","kf24":"\u001b[024q","kf25":"\u001b[025q","kf26":"\u001b[026q","kf27":"\u001b[027q","kf28":"\u001b[028q","kf29":"\u001b[029q","kf30":"\u001b[030q","kf31":"\u001b[031q","kf32":"\u001b[032q","kf33":"\u001b[033q","kf34":"\u001b[034q","kf35":"\u001b[035q","kf36":"\u001b[036q","kich":"\u001b[139q","kdch":"\u001b[P","khome":"\u001b[H","kend":"\u001b[146q","kpp":"\u001b[150q","knp":"\u001b[154q","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001b[Z","kclr":"\u001b[144q","acsc":"jjkkllmmnnqqttuuvvwwxx","_setfgbg":"\u001b[3%p1%d;4%p2%dm"} -{"name":"ibm8514-c","cols":80,"lines":41,"bell":"\u0007","clear":"\u001bK","sgr0":"\u001bw\u001bq\u001bz\u001bB","smul":"\u001bF\u001bf2;","bold":"\u001bZ","rev":"\u001bp","cup":"\u001bY%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u001bA","pad":"\u0000","kbs":"\u0008","kf1":"\u001bS","kf2":"\u001bT","kf3":"\u001bU","kf4":"\u001bV","kf5":"\u001bW","kf6":"\u001bP","kf7":"\u001bQ","kf8":"\u001bR","kf9":"\u001bY","kich":"\ufffd","khome":"\u001bH","kpp":"\u001bg","knp":"\u001bE","kcuu1":"\u001bA","kcud1":"\n","kcub1":"\u0008","kcuf1":"\u001bC"} -{"name":"ibmaed","cols":80,"lines":52,"clear":"\u001bH\u001bK","sgr0":"\u001b0","cup":"\u001bY%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u001bA","pad":"\u0000","kbs":"\u0008","kcuu1":"\u001bA","kcud1":"\u001bB","kcub1":"\u001bD","kcuf1":"\u001bC"} -{"name":"ibmapa8c","aliases":["ibmapa8"],"cols":80,"lines":31,"bell":"\u0007","clear":"\u001bK","sgr0":"\u001bw\u001bq\u001bz\u001bB","smul":"\u001bW","bold":"\u001bZ","rev":"\u001bp","cup":"\u001bY%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u001bA","pad":"\u0000","kbs":"\u0008","kf1":"\u001bS","kf2":"\u001bT","kf3":"\u001bU","kf4":"\u001bV","kf5":"\u001bW","kf6":"\u001bP","kf7":"\u001bQ","kf8":"\u001bR","kf9":"\u001bY","kich":"\ufffd","khome":"\u001bH","kpp":"\u001bg","knp":"\u001bE","kcuu1":"\u001bA","kcud1":"\u001bB","kcub1":"\u001bD","kcuf1":"\u001bC"} -{"name":"ibmapa8c-c","aliases":["ibm6154-c"],"cols":80,"lines":31,"bell":"\u0007","clear":"\u001bK","sgr0":"\u001bw\u001bq\u001bz\u001bB","smul":"\u001bF\u001bf2;","bold":"\u001bZ","rev":"\u001bp","dim":"\u001bF\u001bf7;","cup":"\u001bY%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u001bA","pad":"\u0000","kbs":"\u0008","kf1":"\u001bS","kf2":"\u001bT","kf3":"\u001bU","kf4":"\u001bV","kf5":"\u001bW","kf6":"\u001bP","kf7":"\u001bQ","kf8":"\u001bR","kf9":"\u001bY","kich":"\ufffd","khome":"\u001bH","kpp":"\u001bg","knp":"\u001bE","kcuu1":"\u001bA","kcud1":"\u001bB","kcub1":"\u001bD","kcuf1":"\u001bC"} -{"name":"ibmega","cols":80,"lines":24,"bell":"\u0007","clear":"\u001bK","sgr0":"\u001bw\u001bq\u001bz\u001bB","smul":"\u001bW","bold":"\u001bZ","rev":"\u001bp","cup":"\u001bY%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u001bA","pad":"\u0000","kbs":"\u0008","kf1":"\u001bS","kf2":"\u001bT","kf3":"\u001bU","kf4":"\u001bV","kf5":"\u001bW","kf6":"\u001bP","kf7":"\u001bQ","kf8":"\u001bR","kf9":"\u001bY","kich":"\ufffd","khome":"\u001bH","kpp":"\u001bg","knp":"\u001bE","kcuu1":"\u001bA","kcud1":"\n","kcub1":"\u0008","kcuf1":"\u001bC"} -{"name":"ibmega-c","aliases":["ibm5154-c"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u001bK","sgr0":"\u001bw\u001bq\u001bz\u001bB","smul":"\u001bF\u001bf2;","bold":"\u001bZ","rev":"\u001bp","cup":"\u001bY%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u001bA","pad":"\u0000","kbs":"\u0008","kf1":"\u001bS","kf2":"\u001bT","kf3":"\u001bU","kf4":"\u001bV","kf5":"\u001bW","kf6":"\u001bP","kf7":"\u001bQ","kf8":"\u001bR","kf9":"\u001bY","kich":"\ufffd","khome":"\u001bH","kpp":"\u001bg","knp":"\u001bE","kcuu1":"\u001bA","kcud1":"\u001bB","kcub1":"\u001bD","kcuf1":"\u001bC"} -{"name":"ibmmono","cols":80,"lines":24,"bell":"\u0007","clear":"\u001bK","sgr0":"\u001bw\u001bq\u001bz\u001bB","smul":"\u001bW","bold":"\u001bZ","rev":"\u001bp","cup":"\u001bY%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u001bA","pad":"\u0000","kbs":"\u0008","kf1":"\u001bS","kf2":"\u001bT","kf3":"\u001bU","kf4":"\u001bV","kf5":"\u001bW","kf6":"\u001bP","kf7":"\u001bQ","kf8":"\u001bR","kf9":"\u001bY","kich":"\ufffd","khome":"\u001bH","kpp":"\u001bg","knp":"\u001bE","kcuu1":"\u001bA","kcud1":"\u001bB","kcub1":"\u001bD","kcuf1":"\u001bC"} -{"name":"ibmpc","aliases":["wy60-PC","wyse60-PC"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u001bc","sgr0":"\u001b[m","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u001b[D","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\ufffd","kf2":"\ufffd","kf3":"\ufffd","kf4":"\ufffd","kf5":"\ufffd","kf6":"\ufffd","kf7":"\ufffd","kf8":"\ufffd","kf9":"\ufffd","kf10":"\ufffd","kich":"\u001b[\u0008","kdch":"","khome":"\u001b[H","kend":"\u001b[Y","kpp":"\u001b[V","knp":"\u001b[U","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001d","acsc":"j\ufffdk\ufffdl\ufffdm\ufffdn\ufffdq\ufffdt\ufffdu\ufffdv\ufffdw\ufffdx\ufffd"} -{"name":"ibmpc3","aliases":["pc3-bold"],"cols":80,"lines":25,"colors":8,"bell":"\u0007","clear":"\u001bc","sgr0":"\u001b[0;10m","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","setaf":"\u001b[3%p1%dm","setbg":"\u001b[4%p1%dm","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kich":"\u001b[L","khome":"\u001b[H","kpp":"\u001b[I","knp":"\u001b[G","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","acsc":"+\u0010,\u0011-\u0018.\u00190\ufffd`\u0004a\ufffdf\ufffdg\ufffdh\ufffdj\ufffdk\ufffdl\ufffdm\ufffdn\ufffdo~p\ufffdq\ufffdr\ufffds_t\ufffdu\ufffdv\ufffdw\ufffdx\ufffdy\ufffdz\ufffd{\ufffd|\ufffd}\ufffd~\ufffd","smacs":"\u001b[11m","rmacs":"\u001b[10m","_setfgbg":"\u001b[3%p1%d;4%p2%dm"} -{"name":"ibmpcx","aliases":["ibmx","xenix"],"cols":80,"lines":25,"clear":"\u000c","sgr0":"\u001b[0;10m","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","cup":"\u001b[%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001b[K","kf2":"\u001b[L","kf3":"\u001b[M","kf4":"\u001b[N","khome":"\u001b[Y","kend":"\u001b[d","kpp":"\u001b[Z","knp":"\u001b[e","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","acsc":"+\u0010,\u0011-\u0018.\u00190\ufffd`\u0004a\ufffdf\ufffdg\ufffdh\ufffdj\ufffdk\ufffdl\ufffdm\ufffdn\ufffdo~p\ufffdq\ufffdr\ufffds_t\ufffdu\ufffdv\ufffdw\ufffdx\ufffdy\ufffdz\ufffd{\ufffd|\ufffd}\ufffd~\ufffd","smacs":"\u001b[11m","rmacs":"\u001b[10m"} -{"name":"ibmvga","cols":80,"lines":24,"bell":"\u0007","clear":"\u001bK","sgr0":"\u001bw\u001bq\u001bz\u001bB","smul":"\u001bW","bold":"\u001bZ","rev":"\u001bp","cup":"\u001bY%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u001bA","pad":"\u0000","kbs":"\u0008","kf1":"\u001bS","kf2":"\u001bT","kf3":"\u001bU","kf4":"\u001bV","kf5":"\u001bW","kf6":"\u001bP","kf7":"\u001bQ","kf8":"\u001bR","kf9":"\u001bY","kich":"\ufffd","khome":"\u001bH","kpp":"\u001bg","knp":"\u001bE","kcuu1":"\u001bA","kcud1":"\n","kcub1":"\u0008","kcuf1":"\u001bC"} -{"name":"ibmvga-c","cols":80,"lines":24,"bell":"\u0007","clear":"\u001bK","sgr0":"\u001bw\u001bq\u001bz\u001bB","smul":"\u001bF\u001bf2;","bold":"\u001bZ","rev":"\u001bp","cup":"\u001bY%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u001bA","pad":"\u0000","kbs":"\u0008","kf1":"\u001bS","kf2":"\u001bT","kf3":"\u001bU","kf4":"\u001bV","kf5":"\u001bW","kf6":"\u001bP","kf7":"\u001bQ","kf8":"\u001bR","kf9":"\u001bY","kich":"\ufffd","khome":"\u001bH","kpp":"\u001bg","knp":"\u001bE","kcuu1":"\u001bA","kcud1":"\n","kcub1":"\u0008","kcuf1":"\u001bC"} -{"name":"icl6404","aliases":["icl6402","kds6402","kds7372"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u001b*","cnorm":"\u001b.3","civis":"\u001b.0","sgr0":"\u001b[0ZZ","smul":"\u001b[8ZZ","blink":"\u001b[2ZZ","rev":"\u001b[4ZZ","cup":"\u001b=%p1%' '%+%c%p2%'P'%m%' '%+%c%p2%'P'%\u003e%' '%+%c","cuu1":"\u000b","pad":"\u0000"} -{"name":"icl6404-w","aliases":["kds7372-w"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u001b*","cnorm":"\u001b.3","civis":"\u001b.0","sgr0":"\u001b[0ZZ","smul":"\u001b[8ZZ","blink":"\u001b[2ZZ","rev":"\u001b[4ZZ","cup":"\u001b=%p1%' '%+%c%p2%'P'%m%' '%+%c%p2%'P'%\u003e%' '%+%c","cuu1":"\u000b","pad":"\u0000"} -{"name":"ifmr","cols":80,"lines":24,"clear":"\u001bZ","sgr0":"\u001bK","cup":"\u001bY%p2%' '%+%c%p1%' '%+%c","cub1":"\u0008","cuu1":"\u001bA","pad":"\u0000"} -{"name":"ims-ansi","aliases":["ultima2","ultimaII"],"cols":80,"lines":24,"clear":"\u001b[H\u001b[2J","sgr0":"\u001b[m","smul":"\u001b[4m","cup":"\u001b[%i%p1%2d;%p2%2dH","cub1":"\u0008","cuu1":"\u001bM","pad":"\u0000","khome":"\u001b[H","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C"} -{"name":"ims950","cols":80,"lines":24,"bell":"\u0007","clear":"\u001b*","sgr0":"\u001bG0","smul":"\u001bG8","rev":"\u001bG4","cup":"\u001b=%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u000b","pad":"\u0000","kich":"\u001bQ","kdch":"\u001bW","kcbt":"\u001bI","kclr":"\u001b*","acsc":"b\tc\u000cd\re\ni\u000b","smacs":"\u0015","rmacs":"\u0018"} -{"name":"ims950-b","cols":80,"lines":24,"bell":"\u0007","clear":"\u001b*","sgr0":"\u001bG0","smul":"\u001bG8","rev":"\u001bG4","cup":"\u001b=%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u000b","pad":"\u0000","kich":"\u001bQ","kdch":"\u001bW","kcbt":"\u001bI","kclr":"\u001b*","acsc":"b\tc\u000cd\re\ni\u000b","smacs":"\u0015","rmacs":"\u0018"} -{"name":"ims950-rv","cols":80,"lines":24,"bell":"\u0007","clear":"\u001b*","sgr0":"\u001bG0","smul":"\u001bG8","rev":"\u001bG4","cup":"\u001b=%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u000b","pad":"\u0000","kich":"\u001bQ","kdch":"\u001bW","kcbt":"\u001bI","kclr":"\u001b*","acsc":"b\tc\u000cd\re\ni\u000b","smacs":"\u0015","rmacs":"\u0018"} -{"name":"interix","aliases":["ntconsole","ntconsole-25","opennt","opennt-25"],"cols":80,"lines":25,"colors":8,"bell":"\u0007","clear":"\u001b[2J","smcup":"\u001b[s\u001b[1b","rmcup":"\u001b[2b\u001b[u\r\u001b[K","sgr0":"\u001b[0m","smul":"\u001b[4m","bold":"\u001b[1m","rev":"\u001b[7m","setaf":"\u001b[3%p1%dm","setbg":"\u001b[4%p1%dm","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u001b[D","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001bF1","kf2":"\u001bF2","kf3":"\u001bF3","kf4":"\u001bF4","kf5":"\u001bF5","kf6":"\u001bF6","kf7":"\u001bF7","kf8":"\u001bF8","kf9":"\u001bF9","kf10":"\u001bFA","kf11":"\u001bFB","kf12":"\u001bFC","kf13":"\u001bFD","kf14":"\u001bFE","kf15":"\u001bFF","kf16":"\u001bFG","kf17":"\u001bFH","kf18":"\u001bFI","kf19":"\u001bFJ","kf20":"\u001bFK","kf21":"\u001bFL","kf22":"\u001bFM","kf23":"\u001bFN","kf24":"\u001bFO","kf25":"\u001bFP","kf26":"\u001bFQ","kf27":"\u001bFR","kf28":"\u001bFS","kf29":"\u001bFT","kf30":"\u001bFU","kf31":"\u001bFV","kf32":"\u001bFW","kf33":"\u001bFX","kf34":"\u001bFY","kf35":"\u001bFZ","kf36":"\u001bFa","kf37":"\u001bFb","kf38":"\u001bFc","kf39":"\u001bFd","kf40":"\u001bFe","kf41":"\u001bFf","kf42":"\u001bFg","kf43":"\u001bFh","kf44":"\u001bFi","kf45":"\u001bFj","kf46":"\u001bFk","kf47":"\u001bFm","kf48":"\u001bFn","kf49":"\u001bFo","kf50":"\u001bFp","kf51":"\u001bFq","kf52":"\u001bFr","kf53":"\u001bFs","kf54":"\u001bFt","kf55":"\u001bFu","kf56":"\u001bFv","kf57":"\u001bFw","kf58":"\u001bFx","kf59":"\u001bFy","kf60":"\u001bFz","kf61":"\u001bF+","kf62":"\u001bF-","kf63":"\u001bF\u000c kf64=\u001bF$","kich":"\u001b[L","kdch":"\u001b[M","kend":"\u001b[U","kpp":"\u001b[S","knp":"\u001b[T","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001b[Z","acsc":"`\u0004a\ufffdf\ufffdg\ufffdh\ufffdj\ufffdk\ufffdl\ufffdm\ufffdn\ufffdo~q\ufffdr\ufffds_t\ufffdu\ufffdv\ufffdw\ufffdx\ufffdy\ufffdz\ufffd{\ufffd|\ufffd}\ufffd~\ufffd.\u0019-\u0018,\u0011+\u00100\ufffdp\ufffdr\ufffdy\ufffdz\ufffd{\ufffd|\ufffd}\ufffd","_setfgbg":"\u001b[3%p1%d;4%p2%dm"} -{"name":"interix-nti","aliases":["ntconsole-25-nti","opennt-25-nti","opennt-nti"],"cols":80,"lines":25,"colors":8,"bell":"\u0007","clear":"\u001b[2J","sgr0":"\u001b[0m","smul":"\u001b[4m","bold":"\u001b[1m","rev":"\u001b[7m","setaf":"\u001b[3%p1%dm","setbg":"\u001b[4%p1%dm","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u001b[D","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001bF1","kf2":"\u001bF2","kf3":"\u001bF3","kf4":"\u001bF4","kf5":"\u001bF5","kf6":"\u001bF6","kf7":"\u001bF7","kf8":"\u001bF8","kf9":"\u001bF9","kf10":"\u001bFA","kf11":"\u001bFB","kf12":"\u001bFC","kf13":"\u001bFD","kf14":"\u001bFE","kf15":"\u001bFF","kf16":"\u001bFG","kf17":"\u001bFH","kf18":"\u001bFI","kf19":"\u001bFJ","kf20":"\u001bFK","kf21":"\u001bFL","kf22":"\u001bFM","kf23":"\u001bFN","kf24":"\u001bFO","kf25":"\u001bFP","kf26":"\u001bFQ","kf27":"\u001bFR","kf28":"\u001bFS","kf29":"\u001bFT","kf30":"\u001bFU","kf31":"\u001bFV","kf32":"\u001bFW","kf33":"\u001bFX","kf34":"\u001bFY","kf35":"\u001bFZ","kf36":"\u001bFa","kf37":"\u001bFb","kf38":"\u001bFc","kf39":"\u001bFd","kf40":"\u001bFe","kf41":"\u001bFf","kf42":"\u001bFg","kf43":"\u001bFh","kf44":"\u001bFi","kf45":"\u001bFj","kf46":"\u001bFk","kf47":"\u001bFm","kf48":"\u001bFn","kf49":"\u001bFo","kf50":"\u001bFp","kf51":"\u001bFq","kf52":"\u001bFr","kf53":"\u001bFs","kf54":"\u001bFt","kf55":"\u001bFu","kf56":"\u001bFv","kf57":"\u001bFw","kf58":"\u001bFx","kf59":"\u001bFy","kf60":"\u001bFz","kf61":"\u001bF+","kf62":"\u001bF-","kf63":"\u001bF\u000c kf64=\u001bF$","kich":"\u001b[L","kdch":"\u001b[M","kend":"\u001b[U","kpp":"\u001b[S","knp":"\u001b[T","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001b[Z","acsc":"`\u0004a\ufffdf\ufffdg\ufffdh\ufffdj\ufffdk\ufffdl\ufffdm\ufffdn\ufffdo~q\ufffdr\ufffds_t\ufffdu\ufffdv\ufffdw\ufffdx\ufffdy\ufffdz\ufffd{\ufffd|\ufffd}\ufffd~\ufffd.\u0019-\u0018,\u0011+\u00100\ufffdp\ufffdr\ufffdy\ufffdz\ufffd{\ufffd|\ufffd}\ufffd","_setfgbg":"\u001b[3%p1%d;4%p2%dm"} -{"name":"intertube","aliases":["intertec"],"cols":80,"lines":25,"bell":"\u0007","clear":"\u000c","cup":"\u001bY%p1%' '%+%c%p2%' '%+%c$\u003c50\u003e","cub1":"\u0008","cuu1":"\u001a","pad":"\u0000"} -{"name":"intertube2","cols":80,"lines":25,"bell":"\u0007","clear":"\u000c","cup":"\u000e%p1%c\u0010%p2%{10}%/%{16}%*%p2%{10}%m%+%c","cub1":"\u0008","cuu1":"\u001a","pad":"\u0000"} -{"name":"intext","cols":80,"lines":24,"bell":"\u0007","clear":"\u000c$\u003c132\u003e","smkx":"\u001e:\ufffd\u0016%%","rmkx":"\u00169","cup":"\u000f%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u001c","pad":"\u0000","kbs":"\u0008","kf1":"\u0016A\r","kf2":"\u0016B\r","kf3":"\u0016C\r","kf4":"\u0016D\r","kf5":"\u0016E\r","kf6":"\u0016F\r","kf7":"\u0016G\r","kf8":"\u0016H\r","kf9":"\u0016I\r","khome":"\u001a","kcuu1":"\u001c","kcud1":"\n","kcub1":"\u001f","kcuf1":"\u001e"} -{"name":"intext2","aliases":["intextii"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u001b[H\u001b[2J","smul":"\u001b[18 D","cup":"\u001b[%i%p1%d;%p2%dH","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001bP\r","kf2":"\u001bQ\r","kf3":"\u001bS\r","kf4":"\u001bT\r","kf5":"\u001bU\r","kf6":"\u001bV\r","kf7":"\u001bW\r","kf8":"\u001bX\r","kf9":"\u001bY\r","khome":"\u001bR\r","kcuu1":"\u001bA\r","kcud1":"\u001bB\r","kcub1":"\u001bD\r","kcuf1":"\u001bC\r"} -{"name":"iris-ansi","aliases":["iris-ansi-net"],"cols":80,"lines":40,"bell":"\u0007","clear":"\u001b[H\u001b[2J","cnorm":"\u001b[9/y\u001b[12/y\u001b[=6l","sgr0":"\u001b[m","smul":"\u001b[4m","bold":"\u001b[1m","rev":"\u001b[7m","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u001b[D","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001b[001q","kf2":"\u001b[002q","kf3":"\u001b[003q","kf4":"\u001b[004q","kf5":"\u001b[005q","kf6":"\u001b[006q","kf7":"\u001b[007q","kf8":"\u001b[008q","kf9":"\u001b[009q","kf10":"\u001b[010q","kf11":"\u001b[011q","kf12":"\u001b[012q","kich":"\u001b[139q","kdch":"","khome":"\u001b[H","kend":"\u001b[146q","kpp":"\u001b[150q","knp":"\u001b[154q","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001b[Z","kprt":"\u001b[209q","kRIT":"\u001b[167q","kLFT":"\u001b[158q","kHOM":"\u001b[143q","kEND":"\u001b[147q"} -{"name":"iris-ansi-ap","cols":80,"lines":40,"bell":"\u0007","clear":"\u001b[H\u001b[2J","cnorm":"\u001b[9/y\u001b[12/y\u001b[=6l","sgr0":"\u001b[m","smul":"\u001b[4m","bold":"\u001b[1m","rev":"\u001b[7m","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u001b[D","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001b[001q","kf2":"\u001b[002q","kf3":"\u001b[003q","kf4":"\u001b[004q","kf5":"\u001b[005q","kf6":"\u001b[006q","kf7":"\u001b[007q","kf8":"\u001b[008q","kf9":"\u001b[009q","kf10":"\u001b[010q","kf11":"\u001b[011q","kf12":"\u001b[012q","kich":"\u001b[139q","kdch":"","khome":"\u001b[H","kend":"\u001b[146q","kpp":"\u001b[150q","knp":"\u001b[154q","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001b[Z","kprt":"\u001b[209q","kRIT":"\u001b[167q","kLFT":"\u001b[158q","kHOM":"\u001b[143q","kEND":"\u001b[147q"} -{"name":"iris-color","aliases":["xwsh"],"cols":80,"lines":40,"colors":8,"bell":"\u0007","clear":"\u001b[H\u001b[2J","cnorm":"\u001b[9/y\u001b[12/y\u001b[=6l","sgr0":"\u001b[m","smul":"\u001b[4m","bold":"\u001b[1m","rev":"\u001b[7m","dim":"\u001b[2m","setaf":"\u001b[3%p1%dm","setbg":"\u001b[4%p1%dm","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u001b[D","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001b[001q","kf2":"\u001b[002q","kf3":"\u001b[003q","kf4":"\u001b[004q","kf5":"\u001b[005q","kf6":"\u001b[006q","kf7":"\u001b[007q","kf8":"\u001b[008q","kf9":"\u001b[009q","kf10":"\u001b[010q","kf11":"\u001b[011q","kf12":"\u001b[012q","kich":"\u001b[139q","kdch":"","khome":"\u001b[H","kend":"\u001b[146q","kpp":"\u001b[150q","knp":"\u001b[154q","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001b[Z","kprt":"\u001b[209q","kRIT":"\u001b[167q","kLFT":"\u001b[158q","kHOM":"\u001b[143q","kEND":"\u001b[147q","_setfgbg":"\u001b[3%p1%d;4%p2%dm"} -{"name":"jaixterm","cols":80,"lines":25,"colors":8,"bell":"\u0007","clear":"\u001b[H\u001b[J","sgr0":"\u001b[0;10m\u001b(B","smul":"\u001b[4m","bold":"\u001b[1m","rev":"\u001b[7m","setaf":"\u001b[3%p1%dm","setbg":"\u001b[4%p1%dm","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001b[001q","kf2":"\u001b[002q","kf3":"\u001b[003q","kf4":"\u001b[004q","kf5":"\u001b[005q","kf6":"\u001b[006q","kf7":"\u001b[007q","kf8":"\u001b[008q","kf9":"\u001b[009q","kf10":"\u001b[010q","kf11":"\u001b[011q","kf12":"\u001b[012q","kf13":"\u001b[013q","kf14":"\u001b[014q","kf15":"\u001b[015q","kf16":"\u001b[016q","kf17":"\u001b[017q","kf18":"\u001b[018q","kf19":"\u001b[019q","kf20":"\u001b[020q","kf21":"\u001b[021q","kf22":"\u001b[022q","kf23":"\u001b[023q","kf24":"\u001b[024q","kf25":"\u001b[025q","kf26":"\u001b[026q","kf27":"\u001b[027q","kf28":"\u001b[028q","kf29":"\u001b[029q","kf30":"\u001b[030q","kf31":"\u001b[031q","kf32":"\u001b[032q","kf33":"\u001b[033q","kf34":"\u001b[034q","kf35":"\u001b[035q","kf36":"\u001b[036q","kich":"\u001b[139q","kdch":"\u001b[P","khome":"\u001b[H","kend":"\u001b[146q","kpp":"\u001b[150q","knp":"\u001b[154q","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001b[Z","kclr":"\u001b[144q","_setfgbg":"\u001b[3%p1%d;4%p2%dm"} -{"name":"jaixterm-m","cols":80,"lines":25,"bell":"\u0007","clear":"\u001b[H\u001b[J","sgr0":"\u001b[0;10m\u001b(B","smul":"\u001b[4m","bold":"\u001b[1m","rev":"\u001b[7m","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001b[001q","kf2":"\u001b[002q","kf3":"\u001b[003q","kf4":"\u001b[004q","kf5":"\u001b[005q","kf6":"\u001b[006q","kf7":"\u001b[007q","kf8":"\u001b[008q","kf9":"\u001b[009q","kf10":"\u001b[010q","kf11":"\u001b[011q","kf12":"\u001b[012q","kf13":"\u001b[013q","kf14":"\u001b[014q","kf15":"\u001b[015q","kf16":"\u001b[016q","kf17":"\u001b[017q","kf18":"\u001b[018q","kf19":"\u001b[019q","kf20":"\u001b[020q","kf21":"\u001b[021q","kf22":"\u001b[022q","kf23":"\u001b[023q","kf24":"\u001b[024q","kf25":"\u001b[025q","kf26":"\u001b[026q","kf27":"\u001b[027q","kf28":"\u001b[028q","kf29":"\u001b[029q","kf30":"\u001b[030q","kf31":"\u001b[031q","kf32":"\u001b[032q","kf33":"\u001b[033q","kf34":"\u001b[034q","kf35":"\u001b[035q","kf36":"\u001b[036q","kich":"\u001b[139q","kdch":"\u001b[P","khome":"\u001b[H","kend":"\u001b[146q","kpp":"\u001b[150q","knp":"\u001b[154q","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001b[Z","kclr":"\u001b[144q"} -{"name":"kaypro","aliases":["kaypro2"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u001a$\u003c1/\u003e","cup":"\u001b=%p1%' '%+%c%p2%' '%+%c","cuu1":"\u000b","pad":"\u0000","kcuu1":"\u000b","kcud1":"\n","kcuf1":"\u000c"} -{"name":"kermit","cols":80,"lines":24,"clear":"\u001bE","cup":"\u001bY%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u001bA","pad":"\u0000","khome":"\u001e","kcuu1":"\u000b","kcud1":"\n","kcub1":"\u0008","kcuf1":"\u000c"} -{"name":"kermit-am","cols":80,"lines":24,"clear":"\u001bE","cup":"\u001bY%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u001bA","pad":"\u0000","khome":"\u001e","kcuu1":"\u000b","kcud1":"\n","kcub1":"\u0008","kcuf1":"\u000c"} -{"name":"kon","aliases":["jfbterm","kon2"],"cols":-1,"lines":-1,"colors":8,"bell":"\u0007","clear":"\u001b[H\u001b[J","sgr0":"\u001b[0;10m","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","dim":"\u001b[2m","setaf":"\u001b[3%p1%dm","setbg":"\u001b[4%p1%dm","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"","kf1":"\u001b[[A","kf2":"\u001b[[B","kf3":"\u001b[[C","kf4":"\u001b[[D","kf5":"\u001b[[E","kf6":"\u001b[17~","kf7":"\u001b[18~","kf8":"\u001b[19~","kf9":"\u001b[20~","kf10":"\u001b[21~","kf11":"\u001b[23~","kf12":"\u001b[24~","kf13":"\u001b[25~","kf14":"\u001b[26~","kf15":"\u001b[28~","kf16":"\u001b[29~","kf17":"\u001b[31~","kf18":"\u001b[32~","kf19":"\u001b[33~","kf20":"\u001b[34~","kich":"\u001b[2~","kdch":"\u001b[3~","khome":"\u001b[1~","kend":"\u001b[4~","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kmous":"\u001b[M","XM":"%?%p1%{1}%=%t%'h'%Pa%e%'l'%Pa%;\u001b[?1000%ga%c\u001b[?1002%ga%c\u001b[?1003%ga%c\u001b[?1006%ga%c","acsc":"+\u0010,\u0011-\u0018.\u00190\ufffd`\u0004a\ufffdf\ufffdg\ufffdh\ufffdi\ufffdj\ufffdk\ufffdl\ufffdm\ufffdn\ufffdo~p\ufffdq\ufffdr\ufffds_t\ufffdu\ufffdv\ufffdw\ufffdx\ufffdy\ufffdz\ufffd{\ufffd|\ufffd}\ufffd~\ufffd","smacs":"\u001b[11m","rmacs":"\u001b[10m","_setfgbg":"\u001b[3%p1%d;4%p2%dm"} -{"name":"konsole","cols":80,"lines":24,"colors":8,"clear":"\u001b[H\u001b[2J","smcup":"\u001b7\u001b[?47h","rmcup":"\u001b[2J\u001b[?47l\u001b8","cnorm":"\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b[0m\u000f","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","setaf":"\u001b[3%p1%dm","setbg":"\u001b[4%p1%dm","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","kbs":"","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kf5":"\u001b[15~","kf6":"\u001b[17~","kf7":"\u001b[18~","kf8":"\u001b[19~","kf9":"\u001b[20~","kf10":"\u001b[21~","kf11":"\u001b[23~","kf12":"\u001b[24~","kf13":"\u001bO2P","kf14":"\u001bO2Q","kf15":"\u001bO2R","kf16":"\u001bO2S","kf17":"\u001b[15;2~","kf18":"\u001b[17;2~","kf19":"\u001b[18;2~","kf20":"\u001b[19;2~","kf21":"\u001b[20;2~","kf22":"\u001b[21;2~","kf23":"\u001b[23;2~","kf24":"\u001b[24;2~","kf25":"\u001bO5P","kf26":"\u001bO5Q","kf27":"\u001bO5R","kf28":"\u001bO5S","kf29":"\u001b[15;5~","kf30":"\u001b[17;5~","kf31":"\u001b[18;5~","kf32":"\u001b[19;5~","kf33":"\u001b[20;5~","kf34":"\u001b[21;5~","kf35":"\u001b[23;5~","kf36":"\u001b[24;5~","kf37":"\u001bO6P","kf38":"\u001bO6Q","kf39":"\u001bO6R","kf40":"\u001bO6S","kf41":"\u001b[15;6~","kf42":"\u001b[17;6~","kf43":"\u001b[18;6~","kf44":"\u001b[19;6~","kf45":"\u001b[20;6~","kf46":"\u001b[21;6~","kf47":"\u001b[23;6~","kf48":"\u001b[24;6~","kf49":"\u001bO3P","kf50":"\u001bO3Q","kf51":"\u001bO3R","kf52":"\u001bO3S","kf53":"\u001b[15;3~","kf54":"\u001b[17;3~","kf55":"\u001b[18;3~","kf56":"\u001b[19;3~","kf57":"\u001b[20;3~","kf58":"\u001b[21;3~","kf59":"\u001b[23;3~","kf60":"\u001b[24;3~","kf61":"\u001bO4P","kf62":"\u001bO4Q","kf63":"\u001bO4R","kich":"\u001b[2~","kdch":"\u001b[3~","khome":"\u001bOH","kend":"\u001bOF","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC","kcbt":"\u001b[Z","kmous":"\u001b[M","XM":"%?%p1%{1}%=%t%'h'%Pa%e%'l'%Pa%;\u001b[?1000%ga%c\u001b[?1002%ga%c\u001b[?1003%ga%c\u001b[?1006%ga%c","acsc":"``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u000e","rmacs":"\u000f","enacs":"\u001b)0","_setfgbg":"\u001b[3%p1%d;4%p2%dm"} -{"name":"konsole-16color","cols":80,"lines":24,"colors":16,"clear":"\u001b[H\u001b[2J","smcup":"\u001b7\u001b[?47h","rmcup":"\u001b[2J\u001b[?47l\u001b8","cnorm":"\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b[0m\u000f","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","setaf":"\u001b[%?%p1%{8}%\u003c%t%p1%{30}%+%e%p1%'R'%+%;%dm","setbg":"\u001b[%?%p1%{8}%\u003c%t%p1%'('%+%e%p1%{92}%+%;%dm","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","kbs":"","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kf5":"\u001b[15~","kf6":"\u001b[17~","kf7":"\u001b[18~","kf8":"\u001b[19~","kf9":"\u001b[20~","kf10":"\u001b[21~","kf11":"\u001b[23~","kf12":"\u001b[24~","kf13":"\u001bO2P","kf14":"\u001bO2Q","kf15":"\u001bO2R","kf16":"\u001bO2S","kf17":"\u001b[15;2~","kf18":"\u001b[17;2~","kf19":"\u001b[18;2~","kf20":"\u001b[19;2~","kf21":"\u001b[20;2~","kf22":"\u001b[21;2~","kf23":"\u001b[23;2~","kf24":"\u001b[24;2~","kf25":"\u001bO5P","kf26":"\u001bO5Q","kf27":"\u001bO5R","kf28":"\u001bO5S","kf29":"\u001b[15;5~","kf30":"\u001b[17;5~","kf31":"\u001b[18;5~","kf32":"\u001b[19;5~","kf33":"\u001b[20;5~","kf34":"\u001b[21;5~","kf35":"\u001b[23;5~","kf36":"\u001b[24;5~","kf37":"\u001bO6P","kf38":"\u001bO6Q","kf39":"\u001bO6R","kf40":"\u001bO6S","kf41":"\u001b[15;6~","kf42":"\u001b[17;6~","kf43":"\u001b[18;6~","kf44":"\u001b[19;6~","kf45":"\u001b[20;6~","kf46":"\u001b[21;6~","kf47":"\u001b[23;6~","kf48":"\u001b[24;6~","kf49":"\u001bO3P","kf50":"\u001bO3Q","kf51":"\u001bO3R","kf52":"\u001bO3S","kf53":"\u001b[15;3~","kf54":"\u001b[17;3~","kf55":"\u001b[18;3~","kf56":"\u001b[19;3~","kf57":"\u001b[20;3~","kf58":"\u001b[21;3~","kf59":"\u001b[23;3~","kf60":"\u001b[24;3~","kf61":"\u001bO4P","kf62":"\u001bO4Q","kf63":"\u001bO4R","kich":"\u001b[2~","kdch":"\u001b[3~","khome":"\u001bOH","kend":"\u001bOF","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC","kcbt":"\u001b[Z","kmous":"\u001b[M","XM":"%?%p1%{1}%=%t%'h'%Pa%e%'l'%Pa%;\u001b[?1000%ga%c\u001b[?1002%ga%c\u001b[?1003%ga%c\u001b[?1006%ga%c","acsc":"``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u000e","rmacs":"\u000f","enacs":"\u001b)0","_setfgbg":"\u001b[%?%p1%{8}%\u003c%t%p1%{30}%+%e%p1%'R'%+%;%d;%?%p2%{8}%\u003c%t%p2%'('%+%e%p2%{92}%+%;%dm"} -{"name":"konsole-256color","cols":80,"lines":24,"colors":256,"clear":"\u001b[H\u001b[2J","smcup":"\u001b7\u001b[?47h","rmcup":"\u001b[2J\u001b[?47l\u001b8","cnorm":"\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b[0m\u000f","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","setaf":"\u001b[%?%p1%{8}%\u003c%t3%p1%d%e%p1%{16}%\u003c%t9%p1%{8}%-%d%e38;5;%p1%d%;m","setbg":"\u001b[%?%p1%{8}%\u003c%t4%p1%d%e%p1%{16}%\u003c%t10%p1%{8}%-%d%e48;5;%p1%d%;m","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","kbs":"","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kf5":"\u001b[15~","kf6":"\u001b[17~","kf7":"\u001b[18~","kf8":"\u001b[19~","kf9":"\u001b[20~","kf10":"\u001b[21~","kf11":"\u001b[23~","kf12":"\u001b[24~","kf13":"\u001bO2P","kf14":"\u001bO2Q","kf15":"\u001bO2R","kf16":"\u001bO2S","kf17":"\u001b[15;2~","kf18":"\u001b[17;2~","kf19":"\u001b[18;2~","kf20":"\u001b[19;2~","kf21":"\u001b[20;2~","kf22":"\u001b[21;2~","kf23":"\u001b[23;2~","kf24":"\u001b[24;2~","kf25":"\u001bO5P","kf26":"\u001bO5Q","kf27":"\u001bO5R","kf28":"\u001bO5S","kf29":"\u001b[15;5~","kf30":"\u001b[17;5~","kf31":"\u001b[18;5~","kf32":"\u001b[19;5~","kf33":"\u001b[20;5~","kf34":"\u001b[21;5~","kf35":"\u001b[23;5~","kf36":"\u001b[24;5~","kf37":"\u001bO6P","kf38":"\u001bO6Q","kf39":"\u001bO6R","kf40":"\u001bO6S","kf41":"\u001b[15;6~","kf42":"\u001b[17;6~","kf43":"\u001b[18;6~","kf44":"\u001b[19;6~","kf45":"\u001b[20;6~","kf46":"\u001b[21;6~","kf47":"\u001b[23;6~","kf48":"\u001b[24;6~","kf49":"\u001bO3P","kf50":"\u001bO3Q","kf51":"\u001bO3R","kf52":"\u001bO3S","kf53":"\u001b[15;3~","kf54":"\u001b[17;3~","kf55":"\u001b[18;3~","kf56":"\u001b[19;3~","kf57":"\u001b[20;3~","kf58":"\u001b[21;3~","kf59":"\u001b[23;3~","kf60":"\u001b[24;3~","kf61":"\u001bO4P","kf62":"\u001bO4Q","kf63":"\u001bO4R","kich":"\u001b[2~","kdch":"\u001b[3~","khome":"\u001bOH","kend":"\u001bOF","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC","kcbt":"\u001b[Z","kmous":"\u001b[M","XM":"%?%p1%{1}%=%t%'h'%Pa%e%'l'%Pa%;\u001b[?1000%ga%c\u001b[?1002%ga%c\u001b[?1003%ga%c\u001b[?1006%ga%c","acsc":"``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u000e","rmacs":"\u000f","enacs":"\u001b)0","_setfgbg":"\u001b[%?%p1%{8}%\u003c%t3%p1%d%e%p1%{16}%\u003c%t9%p1%{8}%-%d%e38;5;%p1%d%;;%?%p2%{8}%\u003c%t4%p2%d%e%p2%{16}%\u003c%t10%p2%{8}%-%d%e48;5;%p2%d%;m"} -{"name":"konsole-base","cols":80,"lines":24,"colors":8,"clear":"\u001b[H\u001b[2J","smcup":"\u001b7\u001b[?47h","rmcup":"\u001b[2J\u001b[?47l\u001b8","cnorm":"\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b[0m\u000f","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","setaf":"\u001b[3%p1%dm","setbg":"\u001b[4%p1%dm","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","kbs":"","kich":"\u001b[2~","khome":"\u001b[1~","kend":"\u001b[4~","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC","kmous":"\u001b[M","XM":"%?%p1%{1}%=%t%'h'%Pa%e%'l'%Pa%;\u001b[?1000%ga%c\u001b[?1002%ga%c\u001b[?1003%ga%c\u001b[?1006%ga%c","acsc":"``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u000e","rmacs":"\u000f","enacs":"\u001b)0","_setfgbg":"\u001b[3%p1%d;4%p2%dm"} -{"name":"konsole-linux","cols":80,"lines":24,"colors":8,"clear":"\u001b[H\u001b[2J","smcup":"\u001b7\u001b[?47h","rmcup":"\u001b[2J\u001b[?47l\u001b8","cnorm":"\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b[0m\u000f","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","setaf":"\u001b[3%p1%dm","setbg":"\u001b[4%p1%dm","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","kbs":"","kf1":"\u001b[[A","kf2":"\u001b[[B","kf3":"\u001b[[C","kf4":"\u001b[[D","kf5":"\u001b[[E","kf6":"\u001b[17~","kf7":"\u001b[18~","kf8":"\u001b[19~","kf9":"\u001b[20~","kf10":"\u001b[21~","kf11":"\u001b[23~","kf12":"\u001b[24~","kich":"\u001b[2~","kdch":"\u001b[3~","khome":"\u001b[1~","kend":"\u001b[4~","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC","kmous":"\u001b[M","XM":"%?%p1%{1}%=%t%'h'%Pa%e%'l'%Pa%;\u001b[?1000%ga%c\u001b[?1002%ga%c\u001b[?1003%ga%c\u001b[?1006%ga%c","acsc":"``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u000e","rmacs":"\u000f","enacs":"\u001b)0","_setfgbg":"\u001b[3%p1%d;4%p2%dm"} -{"name":"konsole-solaris","cols":80,"lines":24,"colors":8,"clear":"\u001b[H\u001b[2J","smcup":"\u001b7\u001b[?47h","rmcup":"\u001b[2J\u001b[?47l\u001b8","cnorm":"\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b[0m\u000f","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","setaf":"\u001b[3%p1%dm","setbg":"\u001b[4%p1%dm","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","kbs":"\u0008","kf1":"\u001b[11~","kf2":"\u001b[12~","kf3":"\u001b[13~","kf4":"\u001b[14~","kf5":"\u001b[15~","kf6":"\u001b[17~","kf7":"\u001b[18~","kf8":"\u001b[19~","kf9":"\u001b[20~","kf10":"\u001b[21~","kf11":"\u001b[23~","kf12":"\u001b[24~","kich":"\u001b[2~","kdch":"\u001b[3~","khome":"\u001b[1~","kend":"\u001b[4~","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC","kmous":"\u001b[M","XM":"%?%p1%{1}%=%t%'h'%Pa%e%'l'%Pa%;\u001b[?1000%ga%c\u001b[?1002%ga%c\u001b[?1003%ga%c\u001b[?1006%ga%c","acsc":"``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u000e","rmacs":"\u000f","enacs":"\u001b)0","_setfgbg":"\u001b[3%p1%d;4%p2%dm"} -{"name":"konsole-vt100","cols":80,"lines":24,"colors":8,"clear":"\u001b[H\u001b[2J","smcup":"\u001b7\u001b[?47h","rmcup":"\u001b[2J\u001b[?47l\u001b8","cnorm":"\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b[0m\u000f","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","setaf":"\u001b[3%p1%dm","setbg":"\u001b[4%p1%dm","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","kbs":"","kf1":"\u001b[11~","kf2":"\u001b[12~","kf3":"\u001b[13~","kf4":"\u001b[14~","kf5":"\u001b[15~","kf6":"\u001b[17~","kf7":"\u001b[18~","kf8":"\u001b[19~","kf9":"\u001b[20~","kf10":"\u001b[21~","kf11":"\u001b[23~","kf12":"\u001b[24~","kich":"\u001b[2~","kdch":"\u001b[3~","khome":"\u001b[H","kend":"\u001b[F","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC","kmous":"\u001b[M","XM":"%?%p1%{1}%=%t%'h'%Pa%e%'l'%Pa%;\u001b[?1000%ga%c\u001b[?1002%ga%c\u001b[?1003%ga%c\u001b[?1006%ga%c","acsc":"``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u000e","rmacs":"\u000f","enacs":"\u001b)0","_setfgbg":"\u001b[3%p1%d;4%p2%dm"} -{"name":"konsole-vt420pc","cols":80,"lines":24,"colors":8,"clear":"\u001b[H\u001b[2J","smcup":"\u001b7\u001b[?47h","rmcup":"\u001b[2J\u001b[?47l\u001b8","cnorm":"\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b[0m\u000f","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","setaf":"\u001b[3%p1%dm","setbg":"\u001b[4%p1%dm","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","kbs":"\u0008","kf1":"\u001b[11~","kf2":"\u001b[12~","kf3":"\u001b[13~","kf4":"\u001b[14~","kf5":"\u001b[15~","kf6":"\u001b[17~","kf7":"\u001b[18~","kf8":"\u001b[19~","kf9":"\u001b[20~","kf10":"\u001b[21~","kf11":"\u001b[23~","kf12":"\u001b[24~","kich":"\u001b[2~","kdch":"","khome":"\u001b[H","kend":"\u001b[F","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC","kmous":"\u001b[M","XM":"%?%p1%{1}%=%t%'h'%Pa%e%'l'%Pa%;\u001b[?1000%ga%c\u001b[?1002%ga%c\u001b[?1003%ga%c\u001b[?1006%ga%c","acsc":"``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u000e","rmacs":"\u000f","enacs":"\u001b)0","_setfgbg":"\u001b[3%p1%d;4%p2%dm"} -{"name":"konsole-xf3x","cols":80,"lines":24,"colors":8,"clear":"\u001b[H\u001b[2J","smcup":"\u001b7\u001b[?47h","rmcup":"\u001b[2J\u001b[?47l\u001b8","cnorm":"\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b[0m\u000f","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","setaf":"\u001b[3%p1%dm","setbg":"\u001b[4%p1%dm","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","kbs":"","kf1":"\u001b[11~","kf2":"\u001b[12~","kf3":"\u001b[13~","kf4":"\u001b[14~","kf5":"\u001b[15~","kf6":"\u001b[17~","kf7":"\u001b[18~","kf8":"\u001b[19~","kf9":"\u001b[20~","kf10":"\u001b[21~","kf11":"\u001b[23~","kf12":"\u001b[24~","kich":"\u001b[2~","kdch":"\u001b[3~","khome":"\u001b[1~","kend":"\u001b[4~","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC","kmous":"\u001b[M","XM":"%?%p1%{1}%=%t%'h'%Pa%e%'l'%Pa%;\u001b[?1000%ga%c\u001b[?1002%ga%c\u001b[?1003%ga%c\u001b[?1006%ga%c","acsc":"``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u000e","rmacs":"\u000f","enacs":"\u001b)0","_setfgbg":"\u001b[3%p1%d;4%p2%dm"} -{"name":"konsole-xf4x","cols":80,"lines":24,"colors":8,"clear":"\u001b[H\u001b[2J","smcup":"\u001b7\u001b[?47h","rmcup":"\u001b[2J\u001b[?47l\u001b8","cnorm":"\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b[0m\u000f","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","setaf":"\u001b[3%p1%dm","setbg":"\u001b[4%p1%dm","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","kbs":"","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kf5":"\u001b[15~","kf6":"\u001b[17~","kf7":"\u001b[18~","kf8":"\u001b[19~","kf9":"\u001b[20~","kf10":"\u001b[21~","kf11":"\u001b[23~","kf12":"\u001b[24~","kf13":"\u001bO2P","kf14":"\u001bO2Q","kf15":"\u001bO2R","kf16":"\u001bO2S","kf17":"\u001b[15;2~","kf18":"\u001b[17;2~","kf19":"\u001b[18;2~","kf20":"\u001b[19;2~","kf21":"\u001b[20;2~","kf22":"\u001b[21;2~","kf23":"\u001b[23;2~","kf24":"\u001b[24;2~","kf25":"\u001bO5P","kf26":"\u001bO5Q","kf27":"\u001bO5R","kf28":"\u001bO5S","kf29":"\u001b[15;5~","kf30":"\u001b[17;5~","kf31":"\u001b[18;5~","kf32":"\u001b[19;5~","kf33":"\u001b[20;5~","kf34":"\u001b[21;5~","kf35":"\u001b[23;5~","kf36":"\u001b[24;5~","kf37":"\u001bO6P","kf38":"\u001bO6Q","kf39":"\u001bO6R","kf40":"\u001bO6S","kf41":"\u001b[15;6~","kf42":"\u001b[17;6~","kf43":"\u001b[18;6~","kf44":"\u001b[19;6~","kf45":"\u001b[20;6~","kf46":"\u001b[21;6~","kf47":"\u001b[23;6~","kf48":"\u001b[24;6~","kf49":"\u001bO3P","kf50":"\u001bO3Q","kf51":"\u001bO3R","kf52":"\u001bO3S","kf53":"\u001b[15;3~","kf54":"\u001b[17;3~","kf55":"\u001b[18;3~","kf56":"\u001b[19;3~","kf57":"\u001b[20;3~","kf58":"\u001b[21;3~","kf59":"\u001b[23;3~","kf60":"\u001b[24;3~","kf61":"\u001bO4P","kf62":"\u001bO4Q","kf63":"\u001bO4R","kich":"\u001b[2~","kdch":"\u001b[3~","khome":"\u001bOH","kend":"\u001bOF","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC","kcbt":"\u001b[Z","kmous":"\u001b[M","XM":"%?%p1%{1}%=%t%'h'%Pa%e%'l'%Pa%;\u001b[?1000%ga%c\u001b[?1002%ga%c\u001b[?1003%ga%c\u001b[?1006%ga%c","acsc":"``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u000e","rmacs":"\u000f","enacs":"\u001b)0","_setfgbg":"\u001b[3%p1%d;4%p2%dm"} -{"name":"kt7","cols":80,"lines":24,"clear":"\u001a","sgr0":"\u001bG0","smul":"\u001bG8","rev":"\u001bG4","cup":"\u001b=%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u000b","pad":"\u0000","kbs":"\u0008","kf1":"\u0001@\r","kf2":"\u0001A\r","kf3":"\u0001B\r","kf4":"\u0001C\r","kf5":"\u0001D\r","kf6":"\u0001E\r","kf7":"\u0001F\r","kf8":"\u0001G\r","kf9":"\u0001H\r","kich":"\u001bQ","kdch":"\u001bW","khome":"\u001e","kcuu1":"\u000b","kcud1":"\u0016","kcub1":"\u0008","kcuf1":"\u000c","kcbt":"\u001bI","kclr":"\u001a"} -{"name":"kt7ix","cols":80,"lines":25,"bell":"\u0007","clear":"\u001b*","cnorm":"\u001b.3","civis":"\u001b.0","sgr0":"\u001bG0","smul":"\u001bG8","blink":"\u001bG2","dim":"\u001bG@","cup":"\u001b=%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u000b","pad":"\u0000","kbs":"\u0008","kf1":"\u0001@\r","kf2":"\u0001A\r","kf3":"\u0001B\r","kf4":"\u0001C\r","kf5":"\u0001D\r","kf6":"\u0001E\r","kf7":"\u0001F\r","kf8":"\u0001G\r","kf9":"\u0001H\r","kich":"\u001bQ","khome":"\u001e","kend":"\u001bY","knp":"\u001bJ","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001bI","kclr":"\u001b*","acsc":"jYk?lZm@nEqDt4uCvAwBx3","smacs":"\u001b$","rmacs":"\u001b%%"} -{"name":"kterm","cols":80,"lines":24,"colors":8,"bell":"\u0007","clear":"\u001b[H\u001b[2J","smcup":"\u001b7\u001b[?47h","rmcup":"\u001b[2J\u001b[?47l\u001b8","sgr0":"\u001b[m\u001b(B","smul":"\u001b[4m","bold":"\u001b[1m","rev":"\u001b[7m","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","setaf":"\u001b[3%p1%dm","setbg":"\u001b[4%p1%dm","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001b[11~","kf2":"\u001b[12~","kf3":"\u001b[13~","kf4":"\u001b[14~","kf5":"\u001b[15~","kf6":"\u001b[17~","kf7":"\u001b[18~","kf8":"\u001b[19~","kf9":"\u001b[20~","kf10":"\u001b[21~","kf11":"\u001b[23~","kf12":"\u001b[24~","kf13":"\u001b[25~","kf14":"\u001b[26~","kf15":"\u001b[28~","kf16":"\u001b[29~","kf17":"\u001b[31~","kf18":"\u001b[32~","kf19":"\u001b[33~","kf20":"\u001b[34~","kich":"\u001b[2~","kdch":"\u001b[3~","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC","kmous":"\u001b[M","XM":"%?%p1%{1}%=%t%'h'%Pa%e%'l'%Pa%;\u001b[?1000%ga%c\u001b[?1002%ga%c\u001b[?1003%ga%c\u001b[?1006%ga%c","acsc":"``aajjkkllmmnnooppqqrrssttuuvvwwxx~~","smacs":"\u001b(0","rmacs":"\u001b(B","_setfgbg":"\u001b[3%p1%d;4%p2%dm"} -{"name":"kterm-color","aliases":["kterm-co"],"cols":80,"lines":24,"colors":8,"bell":"\u0007","clear":"\u001b[H\u001b[2J","smcup":"\u001b7\u001b[?47h","rmcup":"\u001b[2J\u001b[?47l\u001b8","sgr0":"\u001b[m\u001b(B","smul":"\u001b[4m","bold":"\u001b[1m","rev":"\u001b[7m","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","setaf":"\u001b[3%p1%dm","setbg":"\u001b[4%p1%dm","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001b[11~","kf2":"\u001b[12~","kf3":"\u001b[13~","kf4":"\u001b[14~","kf5":"\u001b[15~","kf6":"\u001b[17~","kf7":"\u001b[18~","kf8":"\u001b[19~","kf9":"\u001b[20~","kf10":"\u001b[21~","kf11":"\u001b[23~","kf12":"\u001b[24~","kf13":"\u001b[25~","kf14":"\u001b[26~","kf15":"\u001b[28~","kf16":"\u001b[29~","kf17":"\u001b[31~","kf18":"\u001b[32~","kf19":"\u001b[33~","kf20":"\u001b[34~","kich":"\u001b[2~","kdch":"\u001b[3~","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC","kmous":"\u001b[M","XM":"%?%p1%{1}%=%t%'h'%Pa%e%'l'%Pa%;\u001b[?1000%ga%c\u001b[?1002%ga%c\u001b[?1003%ga%c\u001b[?1006%ga%c","acsc":"``aajjkkllmmnnooppqqrrssttuuvvwwxx~~","smacs":"\u001b(0","rmacs":"\u001b(B","_setfgbg":"\u001b[3%p1%d;4%p2%dm"} -{"name":"kvt","cols":80,"lines":24,"colors":8,"bell":"\u0007","clear":"\u001b[H\u001b[2J","smcup":"\u001b7\u001b[?47h","rmcup":"\u001b[2J\u001b[?47l\u001b8","sgr0":"\u001b[m","smul":"\u001b[4m","bold":"\u001b[1m","rev":"\u001b[7m","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","setaf":"\u001b[3%p1%dm","setbg":"\u001b[4%p1%dm","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001b[11~","kf2":"\u001b[12~","kf3":"\u001b[13~","kf4":"\u001b[14~","kf5":"\u001b[15~","kf6":"\u001b[17~","kf7":"\u001b[18~","kf8":"\u001b[19~","kf9":"\u001b[20~","kf10":"\u001b[21~","kf11":"\u001b[23~","kf12":"\u001b[24~","kf13":"\u001b[25~","kf14":"\u001b[26~","kf15":"\u001b[28~","kf16":"\u001b[29~","kf17":"\u001b[31~","kf18":"\u001b[32~","kf19":"\u001b[33~","kf20":"\u001b[34~","kich":"\u001b[2~","kdch":"","khome":"\u001b[H","kend":"\u001b[F","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC","kmous":"\u001b[M","XM":"%?%p1%{1}%=%t%'h'%Pa%e%'l'%Pa%;\u001b[?1000%ga%c\u001b[?1002%ga%c\u001b[?1003%ga%c\u001b[?1006%ga%c","acsc":"``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u000e","rmacs":"\u000f","enacs":"\u001b)0","_setfgbg":"\u001b[3%p1%d;4%p2%dm"} -{"name":"lft","aliases":["LFT-PC850","lft-pc850"],"cols":80,"lines":25,"bell":"\u0007","clear":"\u001b[H\u001b[J","sgr0":"\u001b[0m","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001b[001q","kf2":"\u001b[002q","kf3":"\u001b[003q","kf4":"\u001b[004q","kf5":"\u001b[005q","kf6":"\u001b[006q","kf7":"\u001b[007q","kf8":"\u001b[008q","kf9":"\u001b[009q","kf10":"\u001b[010q","kf11":"\u001b[011q","kf12":"\u001b[012q","kf13":"\u001b[013q","kf14":"\u001b[014q","kf15":"\u001b[015q","kf16":"\u001b[016q","kf17":"\u001b[017q","kf18":"\u001b[018q","kf19":"\u001b[019q","kf20":"\u001b[020q","kf21":"\u001b[021q","kf22":"\u001b[022q","kf23":"\u001b[023q","kf24":"\u001b[024q","kf25":"\u001b[025q","kf26":"\u001b[026q","kf27":"\u001b[027q","kf28":"\u001b[028q","kf29":"\u001b[029q","kf30":"\u001b[030q","kf31":"\u001b[031q","kf32":"\u001b[032q","kf33":"\u001b[033q","kf34":"\u001b[034q","kf35":"\u001b[035q","kf36":"\u001b[036q","kich":"\u001b[139q","kdch":"\u001b[P","khome":"\u001b[H","kend":"\u001b[146q","kpp":"\u001b[150q","knp":"\u001b[154q","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001b[Z","kclr":"\u001b[144q","acsc":"j\ufffdk\ufffdl\ufffdm\ufffdn\ufffdq\ufffdt\ufffdu\ufffdv\ufffdw\ufffdx\ufffd","smacs":"\u001b(0","rmacs":"\u001b(B"} -{"name":"linux","cols":-1,"lines":-1,"colors":8,"bell":"\u0007","clear":"\u001b[H\u001b[J","cnorm":"\u001b[?25h\u001b[?0c","civis":"\u001b[?25l\u001b[?1c","sgr0":"\u001b[0;10m","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","dim":"\u001b[2m","setaf":"\u001b[3%p1%dm","setbg":"\u001b[4%p1%dm","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"","kf1":"\u001b[[A","kf2":"\u001b[[B","kf3":"\u001b[[C","kf4":"\u001b[[D","kf5":"\u001b[[E","kf6":"\u001b[17~","kf7":"\u001b[18~","kf8":"\u001b[19~","kf9":"\u001b[20~","kf10":"\u001b[21~","kf11":"\u001b[23~","kf12":"\u001b[24~","kf13":"\u001b[25~","kf14":"\u001b[26~","kf15":"\u001b[28~","kf16":"\u001b[29~","kf17":"\u001b[31~","kf18":"\u001b[32~","kf19":"\u001b[33~","kf20":"\u001b[34~","kich":"\u001b[2~","kdch":"\u001b[3~","khome":"\u001b[1~","kend":"\u001b[4~","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001b[Z","kmous":"\u001b[M","XM":"%?%p1%{1}%=%t%'h'%Pa%e%'l'%Pa%;\u001b[?1000%ga%c\u001b[?1002%ga%c\u001b[?1003%ga%c\u001b[?1006%ga%c","acsc":"+\u0010,\u0011-\u0018.\u00190\ufffd`\u0004a\ufffdf\ufffdg\ufffdh\ufffdi\ufffdj\ufffdk\ufffdl\ufffdm\ufffdn\ufffdo~p\ufffdq\ufffdr\ufffds_t\ufffdu\ufffdv\ufffdw\ufffdx\ufffdy\ufffdz\ufffd{\ufffd|\ufffd}\ufffd~\ufffd","smacs":"\u001b[11m","rmacs":"\u001b[10m","_setfgbg":"\u001b[3%p1%d;4%p2%dm"} -{"name":"linux-basic","cols":-1,"lines":-1,"colors":8,"bell":"\u0007","clear":"\u001b[H\u001b[J","sgr0":"\u001b[0;10m","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","dim":"\u001b[2m","setaf":"\u001b[3%p1%dm","setbg":"\u001b[4%p1%dm","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"","kf1":"\u001b[[A","kf2":"\u001b[[B","kf3":"\u001b[[C","kf4":"\u001b[[D","kf5":"\u001b[[E","kf6":"\u001b[17~","kf7":"\u001b[18~","kf8":"\u001b[19~","kf9":"\u001b[20~","kf10":"\u001b[21~","kf11":"\u001b[23~","kf12":"\u001b[24~","kf13":"\u001b[25~","kf14":"\u001b[26~","kf15":"\u001b[28~","kf16":"\u001b[29~","kf17":"\u001b[31~","kf18":"\u001b[32~","kf19":"\u001b[33~","kf20":"\u001b[34~","kich":"\u001b[2~","kdch":"\u001b[3~","khome":"\u001b[1~","kend":"\u001b[4~","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001b[Z","kmous":"\u001b[M","XM":"%?%p1%{1}%=%t%'h'%Pa%e%'l'%Pa%;\u001b[?1000%ga%c\u001b[?1002%ga%c\u001b[?1003%ga%c\u001b[?1006%ga%c","acsc":"+\u0010,\u0011-\u0018.\u00190\ufffd`\u0004a\ufffdf\ufffdg\ufffdh\ufffdi\ufffdj\ufffdk\ufffdl\ufffdm\ufffdn\ufffdo~p\ufffdq\ufffdr\ufffds_t\ufffdu\ufffdv\ufffdw\ufffdx\ufffdy\ufffdz\ufffd{\ufffd|\ufffd}\ufffd~\ufffd","smacs":"\u001b[11m","rmacs":"\u001b[10m","_setfgbg":"\u001b[3%p1%d;4%p2%dm"} -{"name":"linux-c","cols":-1,"lines":-1,"colors":8,"bell":"\u0007","clear":"\u001b[H\u001b[J","sgr0":"\u001b[0;10m","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","dim":"\u001b[2m","setaf":"\u001b[3%p1%dm","setbg":"\u001b[4%p1%dm","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"","kf1":"\u001b[[A","kf2":"\u001b[[B","kf3":"\u001b[[C","kf4":"\u001b[[D","kf5":"\u001b[[E","kf6":"\u001b[17~","kf7":"\u001b[18~","kf8":"\u001b[19~","kf9":"\u001b[20~","kf10":"\u001b[21~","kf11":"\u001b[23~","kf12":"\u001b[24~","kf13":"\u001b[25~","kf14":"\u001b[26~","kf15":"\u001b[28~","kf16":"\u001b[29~","kf17":"\u001b[31~","kf18":"\u001b[32~","kf19":"\u001b[33~","kf20":"\u001b[34~","kich":"\u001b[2~","kdch":"\u001b[3~","khome":"\u001b[1~","kend":"\u001b[4~","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001b[Z","kmous":"\u001b[M","XM":"%?%p1%{1}%=%t%'h'%Pa%e%'l'%Pa%;\u001b[?1000%ga%c\u001b[?1002%ga%c\u001b[?1003%ga%c\u001b[?1006%ga%c","acsc":"+\u0010,\u0011-\u0018.\u00190\ufffd`\u0004a\ufffdf\ufffdg\ufffdh\ufffdi\ufffdj\ufffdk\ufffdl\ufffdm\ufffdn\ufffdo~p\ufffdq\ufffdr\ufffds_t\ufffdu\ufffdv\ufffdw\ufffdx\ufffdy\ufffdz\ufffd{\ufffd|\ufffd}\ufffd~\ufffd","smacs":"\u001b[11m","rmacs":"\u001b[10m","_setfgbg":"\u001b[3%p1%d;4%p2%dm"} -{"name":"linux-c-nc","cols":-1,"lines":-1,"colors":8,"bell":"\u0007","clear":"\u001b[H\u001b[J","sgr0":"\u001b[0;10m","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","dim":"\u001b[2m","setaf":"\u001b[3%p1%dm","setbg":"\u001b[4%p1%dm","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"","kf1":"\u001b[[A","kf2":"\u001b[[B","kf3":"\u001b[[C","kf4":"\u001b[[D","kf5":"\u001b[[E","kf6":"\u001b[17~","kf7":"\u001b[18~","kf8":"\u001b[19~","kf9":"\u001b[20~","kf10":"\u001b[21~","kf11":"\u001b[23~","kf12":"\u001b[24~","kf13":"\u001b[25~","kf14":"\u001b[26~","kf15":"\u001b[28~","kf16":"\u001b[29~","kf17":"\u001b[31~","kf18":"\u001b[32~","kf19":"\u001b[33~","kf20":"\u001b[34~","kich":"\u001b[2~","kdch":"\u001b[3~","khome":"\u001b[1~","kend":"\u001b[4~","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001b[Z","kmous":"\u001b[M","XM":"%?%p1%{1}%=%t%'h'%Pa%e%'l'%Pa%;\u001b[?1000%ga%c\u001b[?1002%ga%c\u001b[?1003%ga%c\u001b[?1006%ga%c","acsc":"+\u0010,\u0011-\u0018.\u00190\ufffd`\u0004a\ufffdf\ufffdg\ufffdh\ufffdi\ufffdj\ufffdk\ufffdl\ufffdm\ufffdn\ufffdo~p\ufffdq\ufffdr\ufffds_t\ufffdu\ufffdv\ufffdw\ufffdx\ufffdy\ufffdz\ufffd{\ufffd|\ufffd}\ufffd~\ufffd","smacs":"\u001b[11m","rmacs":"\u001b[10m","_setfgbg":"\u001b[3%p1%d;4%p2%dm"} -{"name":"linux-koi8","cols":-1,"lines":-1,"colors":8,"bell":"\u0007","clear":"\u001b[H\u001b[J","cnorm":"\u001b[?25h\u001b[?0c","civis":"\u001b[?25l\u001b[?1c","sgr0":"\u001b[0;10m","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","dim":"\u001b[2m","setaf":"\u001b[3%p1%dm","setbg":"\u001b[4%p1%dm","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"","kf1":"\u001b[[A","kf2":"\u001b[[B","kf3":"\u001b[[C","kf4":"\u001b[[D","kf5":"\u001b[[E","kf6":"\u001b[17~","kf7":"\u001b[18~","kf8":"\u001b[19~","kf9":"\u001b[20~","kf10":"\u001b[21~","kf11":"\u001b[23~","kf12":"\u001b[24~","kf13":"\u001b[25~","kf14":"\u001b[26~","kf15":"\u001b[28~","kf16":"\u001b[29~","kf17":"\u001b[31~","kf18":"\u001b[32~","kf19":"\u001b[33~","kf20":"\u001b[34~","kich":"\u001b[2~","kdch":"\u001b[3~","khome":"\u001b[1~","kend":"\u001b[4~","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001b[Z","kmous":"\u001b[M","XM":"%?%p1%{1}%=%t%'h'%Pa%e%'l'%Pa%;\u001b[?1000%ga%c\u001b[?1002%ga%c\u001b[?1003%ga%c\u001b[?1006%ga%c","acsc":"+\u0010,\u0011-\u0018.\u00190\ufffd`\u0004a\ufffdf\ufffdg\ufffdh\ufffdi\ufffdj\ufffdk\ufffdl\ufffdm\ufffdn\ufffdo~p\ufffdq\ufffdr\ufffds_t\ufffdu\ufffdv\ufffdw\ufffdx\ufffdy\ufffdz\ufffd{\ufffd|\ufffd~\ufffd","smacs":"\u001b[11m","rmacs":"\u001b[10m","_setfgbg":"\u001b[3%p1%d;4%p2%dm"} -{"name":"linux-koi8r","cols":-1,"lines":-1,"colors":8,"bell":"\u0007","clear":"\u001b[H\u001b[J","cnorm":"\u001b[?25h\u001b[?0c","civis":"\u001b[?25l\u001b[?1c","sgr0":"\u001b[0;10m","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","dim":"\u001b[2m","setaf":"\u001b[3%p1%dm","setbg":"\u001b[4%p1%dm","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"","kf1":"\u001b[[A","kf2":"\u001b[[B","kf3":"\u001b[[C","kf4":"\u001b[[D","kf5":"\u001b[[E","kf6":"\u001b[17~","kf7":"\u001b[18~","kf8":"\u001b[19~","kf9":"\u001b[20~","kf10":"\u001b[21~","kf11":"\u001b[23~","kf12":"\u001b[24~","kf13":"\u001b[25~","kf14":"\u001b[26~","kf15":"\u001b[28~","kf16":"\u001b[29~","kf17":"\u001b[31~","kf18":"\u001b[32~","kf19":"\u001b[33~","kf20":"\u001b[34~","kich":"\u001b[2~","kdch":"\u001b[3~","khome":"\u001b[1~","kend":"\u001b[4~","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001b[Z","kmous":"\u001b[M","XM":"%?%p1%{1}%=%t%'h'%Pa%e%'l'%Pa%;\u001b[?1000%ga%c\u001b[?1002%ga%c\u001b[?1003%ga%c\u001b[?1006%ga%c","acsc":"+\u0010,\u0011-\u0018.\u00190\ufffd`\u0004a\ufffdf\ufffdg\ufffdh\ufffdi\ufffdj\ufffdk\ufffdl\ufffdm\ufffdn\ufffdo~p\ufffdq\ufffdr\ufffds_t\ufffdu\ufffdv\ufffdw\ufffdx\ufffdy\ufffdz\ufffd{\ufffd|\ufffd}\ufffd~\ufffd","smacs":"\u001b[11m","rmacs":"\u001b[10m","_setfgbg":"\u001b[3%p1%d;4%p2%dm"} -{"name":"linux-lat","cols":-1,"lines":-1,"colors":8,"bell":"\u0007","clear":"\u001b[H\u001b[J","cnorm":"\u001b[?25h\u001b[?0c","civis":"\u001b[?25l\u001b[?1c","sgr0":"\u001b[0;10m","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","dim":"\u001b[2m","setaf":"\u001b[3%p1%dm","setbg":"\u001b[4%p1%dm","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"","kf1":"\u001b[[A","kf2":"\u001b[[B","kf3":"\u001b[[C","kf4":"\u001b[[D","kf5":"\u001b[[E","kf6":"\u001b[17~","kf7":"\u001b[18~","kf8":"\u001b[19~","kf9":"\u001b[20~","kf10":"\u001b[21~","kf11":"\u001b[23~","kf12":"\u001b[24~","kf13":"\u001b[25~","kf14":"\u001b[26~","kf15":"\u001b[28~","kf16":"\u001b[29~","kf17":"\u001b[31~","kf18":"\u001b[32~","kf19":"\u001b[33~","kf20":"\u001b[34~","kich":"\u001b[2~","kdch":"\u001b[3~","khome":"\u001b[1~","kend":"\u001b[4~","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001b[Z","kmous":"\u001b[M","XM":"%?%p1%{1}%=%t%'h'%Pa%e%'l'%Pa%;\u001b[?1000%ga%c\u001b[?1002%ga%c\u001b[?1003%ga%c\u001b[?1006%ga%c","acsc":"+\u0010,\u0011-\u0018.\u00190\ufffd`\u0004a\u000bf\ufffdg\ufffdh\ufffdi\ufffdj\ufffdk\ufffdl\ufffdm\ufffdn\ufffdo~p\ufffdq\ufffdr\ufffds_t\ufffdu\ufffdv\ufffdw\ufffdx\ufffdy\ufffdz\ufffd{\ufffd|\ufffd}\ufffd~\ufffd","smacs":"\u001b[11m","rmacs":"\u001b[10m","_setfgbg":"\u001b[3%p1%d;4%p2%dm"} -{"name":"linux-m","cols":-1,"lines":-1,"bell":"\u0007","clear":"\u001b[H\u001b[J","cnorm":"\u001b[?25h\u001b[?0c","civis":"\u001b[?25l\u001b[?1c","sgr0":"\u001b[0;10m","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","dim":"\u001b[2m","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"","kf1":"\u001b[[A","kf2":"\u001b[[B","kf3":"\u001b[[C","kf4":"\u001b[[D","kf5":"\u001b[[E","kf6":"\u001b[17~","kf7":"\u001b[18~","kf8":"\u001b[19~","kf9":"\u001b[20~","kf10":"\u001b[21~","kf11":"\u001b[23~","kf12":"\u001b[24~","kf13":"\u001b[25~","kf14":"\u001b[26~","kf15":"\u001b[28~","kf16":"\u001b[29~","kf17":"\u001b[31~","kf18":"\u001b[32~","kf19":"\u001b[33~","kf20":"\u001b[34~","kich":"\u001b[2~","kdch":"\u001b[3~","khome":"\u001b[1~","kend":"\u001b[4~","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001b[Z","kmous":"\u001b[M","XM":"%?%p1%{1}%=%t%'h'%Pa%e%'l'%Pa%;\u001b[?1000%ga%c\u001b[?1002%ga%c\u001b[?1003%ga%c\u001b[?1006%ga%c","acsc":"+\u0010,\u0011-\u0018.\u00190\ufffd`\u0004a\ufffdf\ufffdg\ufffdh\ufffdi\ufffdj\ufffdk\ufffdl\ufffdm\ufffdn\ufffdo~p\ufffdq\ufffdr\ufffds_t\ufffdu\ufffdv\ufffdw\ufffdx\ufffdy\ufffdz\ufffd{\ufffd|\ufffd}\ufffd~\ufffd","smacs":"\u001b[11m","rmacs":"\u001b[10m"} -{"name":"linux-nic","cols":-1,"lines":-1,"colors":8,"bell":"\u0007","clear":"\u001b[H\u001b[J","cnorm":"\u001b[?25h\u001b[?0c","civis":"\u001b[?25l\u001b[?1c","sgr0":"\u001b[0;10m","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","dim":"\u001b[2m","setaf":"\u001b[3%p1%dm","setbg":"\u001b[4%p1%dm","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"","kf1":"\u001b[[A","kf2":"\u001b[[B","kf3":"\u001b[[C","kf4":"\u001b[[D","kf5":"\u001b[[E","kf6":"\u001b[17~","kf7":"\u001b[18~","kf8":"\u001b[19~","kf9":"\u001b[20~","kf10":"\u001b[21~","kf11":"\u001b[23~","kf12":"\u001b[24~","kf13":"\u001b[25~","kf14":"\u001b[26~","kf15":"\u001b[28~","kf16":"\u001b[29~","kf17":"\u001b[31~","kf18":"\u001b[32~","kf19":"\u001b[33~","kf20":"\u001b[34~","kich":"\u001b[2~","kdch":"\u001b[3~","khome":"\u001b[1~","kend":"\u001b[4~","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001b[Z","kmous":"\u001b[M","XM":"%?%p1%{1}%=%t%'h'%Pa%e%'l'%Pa%;\u001b[?1000%ga%c\u001b[?1002%ga%c\u001b[?1003%ga%c\u001b[?1006%ga%c","acsc":"+\u0010,\u0011-\u0018.\u00190\ufffd`\u0004a\ufffdf\ufffdg\ufffdh\ufffdi\ufffdj\ufffdk\ufffdl\ufffdm\ufffdn\ufffdo~p\ufffdq\ufffdr\ufffds_t\ufffdu\ufffdv\ufffdw\ufffdx\ufffdy\ufffdz\ufffd{\ufffd|\ufffd}\ufffd~\ufffd","smacs":"\u001b[11m","rmacs":"\u001b[10m","_setfgbg":"\u001b[3%p1%d;4%p2%dm"} -{"name":"linux-vt","cols":-1,"lines":-1,"colors":8,"bell":"\u0007","clear":"\u001b[H\u001b[J","cnorm":"\u001b[?25h\u001b[?0c","civis":"\u001b[?25l\u001b[?1c","sgr0":"\u001b[0m\u001b(K\u000f","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","dim":"\u001b[2m","setaf":"\u001b[3%p1%dm","setbg":"\u001b[4%p1%dm","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"","kf1":"\u001b[[A","kf2":"\u001b[[B","kf3":"\u001b[[C","kf4":"\u001b[[D","kf5":"\u001b[[E","kf6":"\u001b[17~","kf7":"\u001b[18~","kf8":"\u001b[19~","kf9":"\u001b[20~","kf10":"\u001b[21~","kf11":"\u001b[23~","kf12":"\u001b[24~","kf13":"\u001b[25~","kf14":"\u001b[26~","kf15":"\u001b[28~","kf16":"\u001b[29~","kf17":"\u001b[31~","kf18":"\u001b[32~","kf19":"\u001b[33~","kf20":"\u001b[34~","kich":"\u001b[2~","kdch":"\u001b[3~","khome":"\u001b[1~","kend":"\u001b[4~","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001b[Z","kmous":"\u001b[M","XM":"%?%p1%{1}%=%t%'h'%Pa%e%'l'%Pa%;\u001b[?1000%ga%c\u001b[?1002%ga%c\u001b[?1003%ga%c\u001b[?1006%ga%c","acsc":"++,,--..00``aaffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz~~","smacs":"\u001b(0","rmacs":"\u001b(K","_setfgbg":"\u001b[3%p1%d;4%p2%dm"} -{"name":"linux2.6.26","cols":-1,"lines":-1,"colors":8,"bell":"\u0007","clear":"\u001b[H\u001b[J","cnorm":"\u001b[?25h\u001b[?0c","civis":"\u001b[?25l\u001b[?1c","sgr0":"\u001b[0;10m","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","dim":"\u001b[2m","setaf":"\u001b[3%p1%dm","setbg":"\u001b[4%p1%dm","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"","kf1":"\u001b[[A","kf2":"\u001b[[B","kf3":"\u001b[[C","kf4":"\u001b[[D","kf5":"\u001b[[E","kf6":"\u001b[17~","kf7":"\u001b[18~","kf8":"\u001b[19~","kf9":"\u001b[20~","kf10":"\u001b[21~","kf11":"\u001b[23~","kf12":"\u001b[24~","kf13":"\u001b[25~","kf14":"\u001b[26~","kf15":"\u001b[28~","kf16":"\u001b[29~","kf17":"\u001b[31~","kf18":"\u001b[32~","kf19":"\u001b[33~","kf20":"\u001b[34~","kich":"\u001b[2~","kdch":"\u001b[3~","khome":"\u001b[1~","kend":"\u001b[4~","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001b[Z","kmous":"\u001b[M","XM":"%?%p1%{1}%=%t%'h'%Pa%e%'l'%Pa%;\u001b[?1000%ga%c\u001b[?1002%ga%c\u001b[?1003%ga%c\u001b[?1006%ga%c","acsc":"+\u0010,\u0011-\u0018.\u00190\ufffd`\u0004a\ufffdf\ufffdg\ufffdh\ufffdi\ufffdj\ufffdk\ufffdl\ufffdm\ufffdn\ufffdo~p\ufffdq\ufffdr\ufffds_t\ufffdu\ufffdv\ufffdw\ufffdx\ufffdy\ufffdz\ufffd{\ufffd|\ufffd}\ufffd~\ufffd","smacs":"\u001b[11m","rmacs":"\u001b[10m","_setfgbg":"\u001b[3%p1%d;4%p2%dm"} -{"name":"lisa","cols":88,"lines":32,"clear":"\u000c","cnorm":"\u001b[5l","civis":"\u001b[5h","sgr0":"\u001b[m","smul":"\u001b[4m","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","acsc":"jdkclfmenbqattuvvuwsx`","smacs":"\u001b[11m","rmacs":"\u001b[10m"} -{"name":"lisaterm","cols":80,"lines":24,"bell":"\u0007","clear":"\u001b[H\u001b[2J","sgr0":"\u001b[m","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOQ","kf2":"\u001bOR","kf3":"\u001bOS","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC"} -{"name":"lisaterm-w","cols":132,"lines":24,"bell":"\u0007","clear":"\u001b[H\u001b[2J","sgr0":"\u001b[m","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOQ","kf2":"\u001bOR","kf3":"\u001bOS","kcuu1":"\u001bOA","kcud1":"\n","kcub1":"\u0008","kcuf1":"\u001bOC"} -{"name":"liswb","cols":88,"lines":32,"clear":"\u000c","cnorm":"\u001b[5l","civis":"\u001b[5h","sgr0":"\u001b[m","smul":"\u001b[4m","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","acsc":"jdkclfmenbqattuvvuwsx`","smacs":"\u001b[11m","rmacs":"\u001b[10m"} -{"name":"luna","aliases":["luna68k"],"cols":88,"lines":46,"bell":"\u0007","clear":"\u001b[H\u001b[J","cup":"\u001b[%i%p1%d;%p2%dH","pad":"\u0000"} -{"name":"m2-nam","aliases":["minitel","minitel-2","minitel-2-nam"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u001b[H\u001b[J","cnorm":"\u001b[\u003c1l","civis":"\u001b[\u003c1h","sgr0":"\u001b[m","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u001b[D","cuu1":"\u001b[A","pad":"\u0000","kf1":"\u001bOq","kf2":"\u001bOr","kf3":"\u001bOs","kf4":"\u001bOt","kf5":"\u001bOu","kf6":"\u001bOv","kf7":"\u001bOw","kf8":"\u001bOx","kf9":"\u001bOy","kf10":"\u001bOp","kich":"\u001b[4h","kdch":"\u001b[P","khome":"\u001b[H","kpp":"\u001bOR","knp":"\u001bOn","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kclr":"\u001b[2J","acsc":"aaffggjjkkllmmnnooqqssttuuvvwwxx","smacs":"\u000e","rmacs":"\u000f"} -{"name":"mac","aliases":["macintosh"],"cols":88,"lines":32,"clear":"\u000c","cnorm":"\u001b[5l","civis":"\u001b[5h","sgr0":"\u001b[m","smul":"\u001b[4m","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","acsc":"jdkclfmenbqattuvvuwsx`","smacs":"\u001b[11m","rmacs":"\u001b[10m"} -{"name":"mac-w","aliases":["macterminal-w"],"cols":132,"lines":32,"clear":"\u000c","cnorm":"\u001b[5l","civis":"\u001b[5h","sgr0":"\u001b[m","smul":"\u001b[4m","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","acsc":"jdkclfmenbqattuvvuwsx`","smacs":"\u001b[11m","rmacs":"\u001b[10m"} -{"name":"mach","cols":80,"lines":25,"bell":"\u0007","clear":"\u001bc","sgr0":"\u001b[0m","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kf5":"\u001bOT","kf6":"\u001bOU","kf7":"\u001bOV","kf8":"\u001bOW","kf9":"\u001bOX","kf10":"\u001bOY","kich":"\u001b[@","kdch":"\u001b[9","khome":"\u001b[H","kend":"\u001b[Y","kpp":"\u001b[V","knp":"\u001b[U","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C"} -{"name":"mach-bold","cols":80,"lines":25,"bell":"\u0007","clear":"\u001bc","sgr0":"\u001b[0m","smul":"\u001b[1m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kf5":"\u001bOT","kf6":"\u001bOU","kf7":"\u001bOV","kf8":"\u001bOW","kf9":"\u001bOX","kf10":"\u001bOY","kich":"\u001b[@","kdch":"\u001b[9","khome":"\u001b[H","kend":"\u001b[Y","kpp":"\u001b[V","knp":"\u001b[U","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C"} -{"name":"mach-color","cols":80,"lines":25,"colors":8,"bell":"\u0007","clear":"\u001bc","sgr0":"\u001b[0m","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","dim":"\u001b[2m","setaf":"\u001b[3%p1%dm","setbg":"\u001b[4%p1%dm","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kf5":"\u001bOT","kf6":"\u001bOU","kf7":"\u001bOV","kf8":"\u001bOW","kf9":"\u001bOX","kf10":"\u001bOY","kich":"\u001b[@","kdch":"\u001b[9","khome":"\u001b[H","kend":"\u001b[Y","kpp":"\u001b[V","knp":"\u001b[U","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","_setfgbg":"\u001b[3%p1%d;4%p2%dm"} -{"name":"mai","aliases":["basic4"],"cols":82,"lines":25,"bell":"\u0007","clear":"\u001d\u001f","cnorm":"\u001b[?7h","sgr0":"\u001b[m","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001a","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kf5":"\u001bOT","kf6":"\u001bOU","kf7":"\u001bOV","kf8":"\u001bOW","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC"} -{"name":"masscomp","cols":80,"lines":24,"clear":"\u001b[2J","smul":"\u001bGu","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC"} -{"name":"masscomp1","cols":104,"lines":36,"clear":"\u001b[2J","smul":"\u001bGu","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC"} -{"name":"masscomp2","cols":64,"lines":21,"clear":"\u001b[2J","smul":"\u001bGu","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC"} -{"name":"memhp","cols":80,"lines":24,"bell":"\u0007","clear":"\u001bH\u001bJ$\u003c40\u003e","sgr0":"\u001b\u0026d@\u000f","smul":"\u001b\u0026dD","bold":"\u001b\u0026dF","blink":"\u001b\u0026dA","rev":"\u001b\u0026dB","dim":"\u001b\u0026dH","smkx":"\u001b\u0026s1A","rmkx":"\u001b\u0026s0A","cup":"\u001b\u0026a%p1%dr%p2%dC","cub1":"\u0008","cuu1":"\u001bA","pad":"\u0000","kbs":"\u0008","kf1":"\u001bp","kf2":"\u001bq","kf3":"\u001br","kf4":"\u001bs","kf5":"\u001bt","kf6":"\u001bu","kf7":"\u001bv","kf8":"\u001bw","kich":"\u001bQ","kdch":"\u001bP","khome":"\u001bh","kpp":"\u001bV","knp":"\u001bU","kcuu1":"\u001bA","kcud1":"\u001bB","kcub1":"\u001bD","kcuf1":"\u001bC","kcbt":"\u001bi","kclr":"\u001bJ","acsc":"2[3@4\u003e5I9(:'JSKWLQMAO#P$Q;R!S\"T1U2V4W3X:Y+Z*dHjGkTlRmFn/q,t5u6v8w7x.","smacs":"\u000e","rmacs":"\u000f"} -{"name":"mgr","cols":-1,"lines":-1,"bell":"\u0007","clear":"\u000c","cnorm":"\u001bh","civis":"\u001b9h","sgr0":"\u001b0n","smul":"\u001b4n","bold":"\u001b2n","rev":"\u001b1n","cup":"\u001b%p2%d;%p1%dM","cub1":"\u0008","cuu1":"\u001bu","pad":"\u0000","kbs":"\u0008","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C"} -{"name":"mgr-linux","cols":-1,"lines":-1,"bell":"\u0007","clear":"\u000c","cnorm":"\u001bh","civis":"\u001b9h","sgr0":"\u001b0n","smul":"\u001b4n","bold":"\u001b2n","rev":"\u001b1n","cup":"\u001b%p2%d;%p1%dM","cub1":"\u0008","cuu1":"\u001bu","pad":"\u0000","kbs":"\u0008","kf1":"\u001b[[A","kf2":"\u001b[[B","kf3":"\u001b[[C","kf4":"\u001b[[D","kf5":"\u001b[[E","kf6":"\u001b[17~","kf7":"\u001b[18~","kf8":"\u001b[19~","kf9":"\u001b[20~","kf10":"\u001b[21~","kf11":"\u001b[23~","kf12":"\u001b[24~","kdch":"\u001b[3~","khome":"\u001b[1~","kend":"\u001b[4~","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C"} -{"name":"mgr-sun","cols":-1,"lines":-1,"bell":"\u0007","clear":"\u000c","cnorm":"\u001bh","civis":"\u001b9h","sgr0":"\u001b0n","smul":"\u001b4n","bold":"\u001b2n","rev":"\u001b1n","cup":"\u001b%p2%d;%p1%dM","cub1":"\u0008","cuu1":"\u001bu","pad":"\u0000","kbs":"\u0008","kf1":"\u001b[224z","kf2":"\u001b[225z","kf3":"\u001b[226z","kf4":"\u001b[227z","kf5":"\u001b[228z","kf6":"\u001b[229z","kf7":"\u001b[230z","kf8":"\u001b[231z","kf9":"\u001b[232z","kf10":"\u001b[233z","kf11":"\u001b[234z","kf12":"\u001b[235z","khome":"\u001b[214z","kend":"\u001b[220z","khlp":"\u001b[207z","kpp":"\u001b[216z","knp":"\u001b[222z","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C"} -{"name":"mgt","cols":80,"lines":24,"colors":8,"bell":"\u0007","clear":"\u001b[H\u001b[2J","smcup":"\u001b[?1048h\u001b[?1047h","rmcup":"\u001b[?1047l\u001b[?1048l","cnorm":"\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b[m\u000f","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","setaf":"\u001b[3%p1%dm","setbg":"\u001b[4%p1%dm","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kf5":"\u001b[15~","kf6":"\u001b[17~","kf7":"\u001b[18~","kf8":"\u001b[19~","kf9":"\u001b[20~","kf10":"\u001b[21~","kf11":"\u001b[23~","kf12":"\u001b[24~","kf13":"\u001b[25~","kf14":"\u001b[26~","kf15":"\u001b[28~","kf16":"\u001b[29~","kf17":"\u001b[31~","kf18":"\u001b[32~","kf19":"\u001b[33~","kf20":"\u001b[34~","kich":"\u001b[2~","kdch":"\u001b[3~","khome":"\u001bOH","kend":"\u001bOF","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC","kmous":"\u001b[M","XM":"%?%p1%{1}%=%t%'h'%Pa%e%'l'%Pa%;\u001b[?1000%ga%c\u001b[?1002%ga%c\u001b[?1003%ga%c\u001b[?1006%ga%c","acsc":"``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u000e","rmacs":"\u000f","enacs":"\u001b(B\u001b)0","_setfgbg":"\u001b[3%p1%d;4%p2%dm"} -{"name":"microb","aliases":["microbee"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u001bE","sgr0":"\u001bd@","smul":"\u001bd`","cup":"\u001bF%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u001bA","pad":"\u0000","kf1":"\u001bp","kf2":"\u001bq","kf3":"\u001br","kf4":"\u001bs","kf5":"\u001bt","kf6":"\u001bu","kf7":"\u001bv","kf8":"\u001bw","kf9":"\u001bx","khome":"\u001bH","kcuu1":"\u001bA","kcud1":"\u001bB","kcub1":"\u001bD","kcuf1":"\u001bC"} -{"name":"mime","aliases":["mime1","mime2","mimei","mimeii"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u001d\u0003","cup":"\u0014%p1%{24}%+%c%p2%p2%?%' '%\u003e%t%'0'%+%;%'P'%+%c","cub1":"\u0008","cuu1":"\u001a","pad":"\u0000","kcuu1":"\u001a","kcud1":"\u000b","kcub1":"\u0008","kcuf1":"\u0018"} -{"name":"mime-fb","cols":80,"lines":24,"bell":"\u0007","clear":"\u001d\u0003","cup":"\u0014%p1%{24}%+%c%p2%p2%?%' '%\u003e%t%'0'%+%;%'P'%+%c","cub1":"\u0008","cuu1":"\u001a","pad":"\u0000","kcuu1":"\u001a","kcud1":"\u000b","kcub1":"\u0008","kcuf1":"\u0018"} -{"name":"mime-hb","cols":80,"lines":24,"bell":"\u0007","clear":"\u001d\u0003","cup":"\u0014%p1%{24}%+%c%p2%p2%?%' '%\u003e%t%'0'%+%;%'P'%+%c","cub1":"\u0008","cuu1":"\u001a","pad":"\u0000","kcuu1":"\u001a","kcud1":"\u000b","kcub1":"\u0008","kcuf1":"\u0018"} -{"name":"mime2a","aliases":["mime2a-v"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u001bL","smul":"\u001b4","cup":"\u001bY%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u001bA","pad":"\u0000","kcuu1":"\u001bA","kcud1":"\u001bB","kcub1":"\u001bD","kcuf1":"\u001bC"} -{"name":"mime2a-s","cols":80,"lines":24,"bell":"\u0007","clear":"\u001bL","smul":"\u001b6","cup":"\u001b=%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u001bI","pad":"\u0000","kcuu1":"\u000b","kcud1":"\n","kcub1":"\u0008","kcuf1":"\u000c"} -{"name":"mime314","aliases":["mm314"],"cols":80,"lines":24,"clear":"\u000c","cup":"\u0014%p1%c%p2%c","cub1":"\u0008","cuu1":"\u001a","pad":"\u0000","kcuu1":"\u001a","kcud1":"\u000b","kcub1":"\u0008","kcuf1":"\u0018"} -{"name":"mime3a","cols":80,"lines":24,"bell":"\u0007","clear":"\u001a$\u003c1/\u003e","cup":"\u001b=%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u000b","pad":"\u0000","kcuu1":"\u001a","kcud1":"\u000b","kcub1":"\u0008","kcuf1":"\u0018"} -{"name":"mime3ax","aliases":["mime-3ax"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u001a$\u003c1/\u003e","cup":"\u001b=%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u000b","pad":"\u0000","kcuu1":"\u001a","kcud1":"\u000b","kcub1":"\u0008","kcuf1":"\u0018"} -{"name":"minitel1","cols":40,"lines":24,"bell":"\u0007","clear":"\u000c","cnorm":"\u0011","civis":"\u0014","sgr0":"\u001bI\u001b\\","blink":"\u001bH","rev":"\u001b]","cup":"\u001f%p1%'A'%+%c%p2%'A'%+%c","cub1":"\u0008","cuu1":"\u000b","pad":"\u0000","acsc":"+.,,./f0g1","enacs":"\u0019"} -{"name":"minitel1b","cols":40,"lines":24,"bell":"\u0007","clear":"\u000c","cnorm":"\u0011","civis":"\u0014","sgr0":"\u001bI\u001b\\","blink":"\u001bH","rev":"\u001b]","smkx":"\u001b;iYA\u001b;jYC","cup":"\u001f%p1%'A'%+%c%p2%'A'%+%c","cub1":"\u0008","cuu1":"\u000b","pad":"\u0000","kich":"\u001b[4h","kdch":"\u001b[P","khome":"\u001b[H","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kclr":"\u001b[2J","acsc":"+.,,./f0g1","enacs":"\u0019"} -{"name":"minitel1b-80","cols":80,"lines":24,"bell":"\u0007","clear":"\u001b[H\u001b[2J","cnorm":"\u001f@A\u0011\n","civis":"\u001f@A\u0014\n","sgr0":"\u001b[m","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kf1":"\u001bOq","kf2":"\u001bOr","kf3":"\u001bOs","kf4":"\u001bOt","kf5":"\u001bOu","kf6":"\u001bOv","kf7":"\u001bOw","kf8":"\u001bOx","kf9":"\u001bOy","kich":"\u001b[4h","kdch":"\u001b[P","khome":"\u001b[H","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kclr":"\u001b[2J","acsc":"+.,,./f0g1","enacs":"\u0019"} -{"name":"minix","cols":80,"lines":25,"bell":"\u0007","clear":"\u001b[H\u001b[0J","sgr0":"\u001b[0m","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001b[V","kf2":"\u001b[U","kf3":"\u001b[T","kf4":"\u001b[S","kf5":"\u001b[G","khome":"\u001b[H","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C"} -{"name":"minix-old","cols":80,"lines":25,"bell":"\u0007","clear":"\u001b[H\u001b[0J","sgr0":"\u001b[0m","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001b[V","kf2":"\u001b[U","kf3":"\u001b[T","kf4":"\u001b[S","kf5":"\u001b[G","khome":"\u001b[H","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C"} -{"name":"minix-old-am","cols":80,"lines":25,"bell":"\u0007","clear":"\u001b[H\u001b[0J","sgr0":"\u001b[0m","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001b[V","kf2":"\u001b[U","kf3":"\u001b[T","kf4":"\u001b[S","kf5":"\u001b[G","khome":"\u001b[H","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C"} -{"name":"mlterm","cols":80,"lines":24,"colors":8,"bell":"\u0007","clear":"\u001b[H\u001b[2J","smcup":"\u001b[?1049h","rmcup":"\u001b[?1049l","cnorm":"\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b[m\u001b(B","smul":"\u001b[4m","bold":"\u001b[1m","rev":"\u001b[7m","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","setaf":"\u001b[3%p1%dm","setbg":"\u001b[4%p1%dm","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","kbs":"","kf1":"\u001b[11~","kf2":"\u001b[12~","kf3":"\u001b[13~","kf4":"\u001b[14~","kf5":"\u001b[15~","kf6":"\u001b[17~","kf7":"\u001b[18~","kf8":"\u001b[19~","kf9":"\u001b[20~","kf10":"\u001b[21~","kf11":"\u001b[23~","kf12":"\u001b[24~","kf13":"\u001b[11;2~","kf14":"\u001b[12;2~","kf15":"\u001b[13;2~","kf16":"\u001b[14;2~","kf17":"\u001b[15;2~","kf18":"\u001b[17;2~","kf19":"\u001b[18;2~","kf20":"\u001b[19;2~","kf21":"\u001b[20;2~","kf22":"\u001b[21;2~","kf23":"\u001b[23;2~","kf24":"\u001b[24;2~","kf25":"\u001b[11;5~","kf26":"\u001b[12;5~","kf27":"\u001b[13;5~","kf28":"\u001b[14;5~","kf29":"\u001b[15;5~","kf30":"\u001b[17;5~","kf31":"\u001b[18;5~","kf32":"\u001b[19;5~","kf33":"\u001b[20;5~","kf34":"\u001b[21;5~","kf35":"\u001b[23;5~","kf36":"\u001b[24;5~","kf37":"\u001b[11;6~","kf38":"\u001b[12;6~","kf39":"\u001b[13;6~","kf40":"\u001b[14;6~","kf41":"\u001b[15;6~","kf42":"\u001b[17;6~","kf43":"\u001b[18;6~","kf44":"\u001b[19;6~","kf45":"\u001b[20;6~","kf46":"\u001b[21;6~","kf47":"\u001b[23;6~","kf48":"\u001b[24;6~","kf49":"\u001b[11;3~","kf50":"\u001b[12;3~","kf51":"\u001b[13;3~","kf52":"\u001b[14;3~","kf53":"\u001b[15;3~","kf54":"\u001b[17;3~","kf55":"\u001b[18;3~","kf56":"\u001b[19;3~","kf57":"\u001b[20;3~","kf58":"\u001b[21;3~","kf59":"\u001b[23;3~","kf60":"\u001b[24;3~","kf61":"\u001b[11;4~","kf62":"\u001b[12;4~","kf63":"\u001b[13;4~","kich":"\u001b[2~","kdch":"\u001b[3~","khome":"\u001bOH","kend":"\u001bOF","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC","kcbt":"\u001b[Z","kmous":"\u001b[M","XM":"%?%p1%{1}%=%t%'h'%Pa%e%'l'%Pa%;\u001b[?1000%ga%c\u001b[?1002%ga%c\u001b[?1003%ga%c\u001b[?1006%ga%c","acsc":"00``aaffgghhjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u001b(0","rmacs":"\u001b(B","kRIT":"\u001bO1;2C","kLFT":"\u001bO1;2D","_setfgbg":"\u001b[3%p1%d;4%p2%dm"} -{"name":"mm340","aliases":["mime340"],"cols":80,"lines":24,"clear":"\u001a$\u003c12/\u003e","cup":"\u001b=%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u000b","pad":"\u0000","kbs":"\u0008","kcuu1":"\u000b","kcud1":"\n","kcub1":"\u0008"} -{"name":"modgraph","aliases":["mod24"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u001b[H\u001b[J$\u003c50\u003e","sgr0":"\u001b[m\u000f$\u003c2\u003e","smul":"\u001b[4m$\u003c2\u003e","bold":"\u001b[1m$\u003c2\u003e","blink":"\u001b[5m$\u003c2\u003e","rev":"\u001b[7m$\u003c2\u003e","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","cup":"\u001b[%i%p1%d;%p2%dH$\u003c5\u003e","cub1":"\u0008","cuu1":"\u001b[A$\u003c2\u003e","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kf5":"\u001bOt","kf6":"\u001bOu","kf7":"\u001bOv","kf8":"\u001bOl","kf9":"\u001bOw","kf10":"\u001bOx","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC","acsc":"``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u000e","rmacs":"\u000f","enacs":"\u001b(B\u001b)0"} -{"name":"modgraph2","cols":80,"lines":24,"clear":"\u001bH\u001bJ$\u003c50/\u003e","cup":"\u001bY%p1%' '%+%c%p2%' '%+%c$\u003c5/\u003e","cub1":"\u0008","cuu1":"\u001bA$\u003c2/\u003e","pad":"\u0000"} -{"name":"modgraph48","aliases":["mod"],"cols":80,"lines":48,"bell":"\u0007","clear":"\u001b[;H\u001b[2J","sgr0":"\u001b[m","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC"} -{"name":"mono-emx","cols":80,"lines":24,"clear":"\u001b[H\u001b[2J$\u003c50\u003e","sgr0":"\u001b[0m","rev":"\u001b[7m","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u001b[D","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\ufffd;","kf2":"\ufffd\u003c","kf3":"\ufffd=","kf4":"\ufffd\u003e","kf5":"\ufffd?","kf6":"\ufffd@","kf7":"\ufffdA","kf8":"\ufffdB","kf9":"\ufffdC","kich":"\ufffdR","khome":"\ufffdG","kpp":"\ufffdI","knp":"\ufffdQ","kcuu1":"\ufffdH","kcud1":"\ufffdP","kcub1":"\ufffdK","kcuf1":"\ufffdM"} -{"name":"mrxvt","cols":80,"lines":24,"colors":8,"bell":"\u0007","clear":"\u001b[H\u001b[2J","smcup":"\u001b7\u001b[?47h","rmcup":"\u001b[2J\u001b[?47l\u001b8","cnorm":"\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b[m\u000f","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","smkx":"\u001b=","rmkx":"\u001b\u003e","setaf":"\u001b[3%p1%dm","setbg":"\u001b[4%p1%dm","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001b[11~","kf2":"\u001b[12~","kf3":"\u001b[13~","kf4":"\u001b[14~","kf5":"\u001b[15~","kf6":"\u001b[17~","kf7":"\u001b[18~","kf8":"\u001b[19~","kf9":"\u001b[20~","kf10":"\u001b[21~","kf11":"\u001b[23~","kf12":"\u001b[24~","kf13":"\u001b[11;2~","kf14":"\u001b[12;2~","kf15":"\u001b[13;2~","kf16":"\u001b[14;2~","kf17":"\u001b[15;2~","kf18":"\u001b[17;2~","kf19":"\u001b[18;2~","kf20":"\u001b[19;2~","kf21":"\u001b[20;2~","kf22":"\u001b[21;2~","kf23":"\u001b[23;2~","kf24":"\u001b[24;2~","kf25":"\u001b[11;5~","kf26":"\u001b[12;5~","kf27":"\u001b[13;5~","kf28":"\u001b[14;5~","kf29":"\u001b[15;5~","kf30":"\u001b[17;5~","kf31":"\u001b[18;5~","kf32":"\u001b[19;5~","kf33":"\u001b[20;5~","kf34":"\u001b[21;5~","kf35":"\u001b[23;5~","kf36":"\u001b[24;5~","kf37":"\u001b[11;6~","kf38":"\u001b[12;6~","kf39":"\u001b[13;6~","kf40":"\u001b[14;6~","kf41":"\u001b[15;6~","kf42":"\u001b[17;6~","kf43":"\u001b[18;6~","kf44":"\u001b[19;6~","kf45":"\u001b[20;6~","kf46":"\u001b[21;6~","kf47":"\u001b[23;6~","kf48":"\u001b[24;6~","kf49":"\u001b[11;3~","kf50":"\u001b[12;3~","kf51":"\u001b[13;3~","kf52":"\u001b[14;3~","kf53":"\u001b[15;3~","kf54":"\u001b[17;3~","kf55":"\u001b[18;3~","kf56":"\u001b[19;3~","kf57":"\u001b[20;3~","kf58":"\u001b[21;3~","kf59":"\u001b[23;3~","kf60":"\u001b[24;3~","kf61":"\u001b[11;4~","kf62":"\u001b[12;4~","kf63":"\u001b[13;4~","kich":"\u001b[2~","kdch":"\u001b[3~","khome":"\u001b[7~","kend":"\u001b[8~","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001b[Z","kmous":"\u001b[M","XM":"%?%p1%{1}%=%t%'h'%Pa%e%'l'%Pa%;\u001b[?1000%ga%c\u001b[?1002%ga%c\u001b[?1003%ga%c\u001b[?1006%ga%c","acsc":"``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u000e","rmacs":"\u000f","enacs":"\u001b(B\u001b)0","kRIT":"\u001b[1;2C","kLFT":"\u001b[1;2D","kHOM":"\u001b[7$","kEND":"\u001b[8$","_setfgbg":"\u001b[3%p1%d;4%p2%dm","_kscu1":"\u001b[1;2A","_kscud1":"\u001b[1;2B","_kccu1":"\u001b[1;5A","_kccud1":"\u001b[1;5B","_kccuf1":"\u001b[1;5C","_kccub1":"\u001b[1;5D","_kmcu1":"\u001b[1;9A","_kmcud1":"\u001b[1;9B","_kmcuf1":"\u001b[1;9C","_kmcub1":"\u001b[1;9D","_kacu1":"\u001b[1;3A","_kacud1":"\u001b[1;3B","_kacuf1":"\u001b[1;3C","_kacub1":"\u001b[1;3D","_kchome":"\u001b[7^","_kcend":"\u001b[8^","_kascu1":"\u001b[1;4A","_kascud1":"\u001b[1;4B","_kascub1":"\u001b[1;4D","_kascuf1":"\u001b[1;4C","_kmscu1":"\u001b[1;10A","_kmscud1":"\u001b[1;10B","_kmscub1":"\u001b[1;10D","_kmscuf1":"\u001b[1;10C","_kcscu1":"\u001b[1;6A","_kcscud1":"\u001b[1;6B","_kcscub1":"\u001b[1;6D","_kcscuf1":"\u001b[1;6C"} -{"name":"ms-vt-utf8","aliases":["vt-utf8"],"cols":80,"lines":25,"colors":8,"bell":"\u0007","clear":"\u001b[H\u001b[J$\u003c50\u003e","sgr0":"\u001b[m\u000f$\u003c2\u003e","smul":"\u001b[4m$\u003c2\u003e","bold":"\u001b[1m$\u003c2\u003e","blink":"\u001b[5m$\u003c2\u003e","rev":"\u001b[7m$\u003c2\u003e","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","setaf":"\u001b[3%p1%dm","setbg":"\u001b[4%p1%dm","cup":"\u001b[%i%p1%d;%p2%dH$\u003c5\u003e","cub1":"\u0008","cuu1":"\u001b[A$\u003c2\u003e","pad":"\u0000","kbs":"\u0008","kf1":"\u001b1","kf2":"\u001b2","kf3":"\u001b3","kf4":"\u001b4","kf5":"\u001b5","kf6":"\u001b6","kf7":"\u001b7","kf8":"\u001b8","kf9":"\u001b9","kf10":"\u001b0","kf11":"\u001b!","kf12":"\u001b@","kf13":"\u001b\u0013\u001b1","kf14":"\u001b\u0013\u001b2","kf15":"\u001b\u0013\u001b3","kf16":"\u001b\u0013\u001b4","kf17":"\u001b\u0013\u001b5","kf18":"\u001b\u0013\u001b6","kf19":"\u001b\u0013\u001b7","kf20":"\u001b\u0013\u001b8","kf21":"\u001b\u0013\u001b9","kf22":"\u001b\u0013\u001b0","kf23":"\u001b\u0013\u001b!","kf24":"\u001b\u0013\u001b@","kf25":"\u001b\u0003\u001b1","kf26":"\u001b\u0003\u001b2","kf27":"\u001b\u0003\u001b3","kf28":"\u001b\u0003\u001b4","kf29":"\u001b\u0003\u001b5","kf30":"\u001b\u0003\u001b6","kf31":"\u001b\u0003\u001b7","kf32":"\u001b\u0003\u001b8","kf33":"\u001b\u0003\u001b9","kf34":"\u001b\u0003\u001b0","kf35":"\u001b\u0003\u001b!","kf36":"\u001b\u0003\u001b@","kf37":"\u001b\u0001\u001b1","kf38":"\u001b\u0001\u001b2","kf39":"\u001b\u0001\u001b3","kf40":"\u001b\u0001\u001b4","kf41":"\u001b\u0001\u001b5","kf42":"\u001b\u0001\u001b6","kf43":"\u001b\u0001\u001b7","kf44":"\u001b\u0001\u001b8","kf45":"\u001b\u0001\u001b9","kf46":"\u001b\u0001\u001b0","kf47":"\u001b\u0001\u001b!","kf48":"\u001b\u0001\u001b@","kich":"\u001b+","kdch":"\u001b-","khome":"\u001bh","kend":"\u001bk","kpp":"\u001b?","knp":"\u001b/","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC","acsc":"+\u0010,\u0011-\u0018.\u00190\ufffd`\u0004a\ufffdf\ufffdg\ufffdh\ufffdi\ufffdj\ufffdk\ufffdl\ufffdm\ufffdn\ufffdo~p\ufffdq\ufffdr\ufffds_t\ufffdu\ufffdv\ufffdw\ufffdx\ufffdy\ufffdz\ufffd{\ufffd|\ufffd}\ufffd~\ufffd","smacs":"\u000e","rmacs":"\u000f","enacs":"\u001b(B\u001b)0","_setfgbg":"\u001b[3%p1%d;4%p2%dm"} -{"name":"ms-vt100","cols":80,"lines":25,"bell":"\u0007","clear":"\u001b[H\u001b[J$\u003c50\u003e","sgr0":"\u001b[m\u000f$\u003c2\u003e","smul":"\u001b[4m$\u003c2\u003e","bold":"\u001b[1m$\u003c2\u003e","blink":"\u001b[5m$\u003c2\u003e","rev":"\u001b[7m$\u003c2\u003e","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","cup":"\u001b[%i%p1%d;%p2%dH$\u003c5\u003e","cub1":"\u0008","cuu1":"\u001b[A$\u003c2\u003e","pad":"\u0000","kbs":"\u0008","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC","acsc":"+\u0010,\u0011-\u0018.\u00190\ufffd`\u0004a\ufffdf\ufffdg\ufffdh\ufffdi\ufffdj\ufffdk\ufffdl\ufffdm\ufffdn\ufffdo~p\ufffdq\ufffdr\ufffds_t\ufffdu\ufffdv\ufffdw\ufffdx\ufffdy\ufffdz\ufffd{\ufffd|\ufffd}\ufffd~\ufffd","smacs":"\u000e","rmacs":"\u000f","enacs":"\u001b(B\u001b)0"} -{"name":"ms-vt100+","aliases":["vt100+"],"cols":80,"lines":25,"colors":8,"bell":"\u0007","clear":"\u001b[H\u001b[J$\u003c50\u003e","sgr0":"\u001b[m\u000f$\u003c2\u003e","smul":"\u001b[4m$\u003c2\u003e","bold":"\u001b[1m$\u003c2\u003e","blink":"\u001b[5m$\u003c2\u003e","rev":"\u001b[7m$\u003c2\u003e","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","setaf":"\u001b[3%p1%dm","setbg":"\u001b[4%p1%dm","cup":"\u001b[%i%p1%d;%p2%dH$\u003c5\u003e","cub1":"\u0008","cuu1":"\u001b[A$\u003c2\u003e","pad":"\u0000","kbs":"\u0008","kf1":"\u001b1","kf2":"\u001b2","kf3":"\u001b3","kf4":"\u001b4","kf5":"\u001b5","kf6":"\u001b6","kf7":"\u001b7","kf8":"\u001b8","kf9":"\u001b9","kf10":"\u001b0","kf11":"\u001b!","kf12":"\u001b@","kf13":"\u001b\u0013\u001b1","kf14":"\u001b\u0013\u001b2","kf15":"\u001b\u0013\u001b3","kf16":"\u001b\u0013\u001b4","kf17":"\u001b\u0013\u001b5","kf18":"\u001b\u0013\u001b6","kf19":"\u001b\u0013\u001b7","kf20":"\u001b\u0013\u001b8","kf21":"\u001b\u0013\u001b9","kf22":"\u001b\u0013\u001b0","kf23":"\u001b\u0013\u001b!","kf24":"\u001b\u0013\u001b@","kf25":"\u001b\u0003\u001b1","kf26":"\u001b\u0003\u001b2","kf27":"\u001b\u0003\u001b3","kf28":"\u001b\u0003\u001b4","kf29":"\u001b\u0003\u001b5","kf30":"\u001b\u0003\u001b6","kf31":"\u001b\u0003\u001b7","kf32":"\u001b\u0003\u001b8","kf33":"\u001b\u0003\u001b9","kf34":"\u001b\u0003\u001b0","kf35":"\u001b\u0003\u001b!","kf36":"\u001b\u0003\u001b@","kf37":"\u001b\u0001\u001b1","kf38":"\u001b\u0001\u001b2","kf39":"\u001b\u0001\u001b3","kf40":"\u001b\u0001\u001b4","kf41":"\u001b\u0001\u001b5","kf42":"\u001b\u0001\u001b6","kf43":"\u001b\u0001\u001b7","kf44":"\u001b\u0001\u001b8","kf45":"\u001b\u0001\u001b9","kf46":"\u001b\u0001\u001b0","kf47":"\u001b\u0001\u001b!","kf48":"\u001b\u0001\u001b@","kich":"\u001b+","kdch":"\u001b-","khome":"\u001bh","kend":"\u001bk","kpp":"\u001b?","knp":"\u001b/","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC","acsc":"+\u0010,\u0011-\u0018.\u00190\ufffd`\u0004a\ufffdf\ufffdg\ufffdh\ufffdi\ufffdj\ufffdk\ufffdl\ufffdm\ufffdn\ufffdo~p\ufffdq\ufffdr\ufffds_t\ufffdu\ufffdv\ufffdw\ufffdx\ufffdy\ufffdz\ufffd{\ufffd|\ufffd}\ufffd~\ufffd","smacs":"\u000e","rmacs":"\u000f","enacs":"\u001b(B\u001b)0","_setfgbg":"\u001b[3%p1%d;4%p2%dm"} -{"name":"ms-vt100-color","aliases":["vtnt"],"cols":80,"lines":25,"colors":8,"bell":"\u0007","clear":"\u001b[H\u001b[J$\u003c50\u003e","sgr0":"\u001b[m\u000f$\u003c2\u003e","smul":"\u001b[4m$\u003c2\u003e","bold":"\u001b[1m$\u003c2\u003e","blink":"\u001b[5m$\u003c2\u003e","rev":"\u001b[7m$\u003c2\u003e","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","setaf":"\u001b[3%p1%dm","setbg":"\u001b[4%p1%dm","cup":"\u001b[%i%p1%d;%p2%dH$\u003c5\u003e","cub1":"\u0008","cuu1":"\u001b[A$\u003c2\u003e","pad":"\u0000","kbs":"\u0008","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC","acsc":"+\u0010,\u0011-\u0018.\u00190\ufffd`\u0004a\ufffdf\ufffdg\ufffdh\ufffdi\ufffdj\ufffdk\ufffdl\ufffdm\ufffdn\ufffdo~p\ufffdq\ufffdr\ufffds_t\ufffdu\ufffdv\ufffdw\ufffdx\ufffdy\ufffdz\ufffd{\ufffd|\ufffd}\ufffd~\ufffd","smacs":"\u000e","rmacs":"\u000f","enacs":"\u001b(B\u001b)0","_setfgbg":"\u001b[3%p1%d;4%p2%dm"} -{"name":"msk227","aliases":["mskermit227"],"cols":80,"lines":24,"clear":"\u001bE","cup":"\u001bY%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u001bA","pad":"\u0000","khome":"\u001e","kcuu1":"\u000b","kcud1":"\n","kcub1":"\u0008","kcuf1":"\u000c"} -{"name":"msk22714","aliases":["mskermit22714"],"cols":80,"lines":24,"clear":"\u001bE","sgr0":"\u001b[m","smul":"\u001b[4m","bold":"\u001b[1m","rev":"\u001b[7m","cup":"\u001bY%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u001bA","pad":"\u0000","kf1":"\u001b1","kf2":"\u001b2","kf3":"\u001b3","kf4":"\u001b4","kf5":"\u001b5","kf6":"\u001b6","kf7":"\u001b7","kf8":"\u001b8","kf9":"\u001b9","khome":"\u001e","kcuu1":"\u000b","kcud1":"\n","kcub1":"\u0008","kcuf1":"\u000c"} -{"name":"msk227am","aliases":["mskermit227am"],"cols":80,"lines":24,"clear":"\u001bE","cup":"\u001bY%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u001bA","pad":"\u0000","khome":"\u001e","kcuu1":"\u000b","kcud1":"\n","kcub1":"\u0008","kcuf1":"\u000c"} -{"name":"mt4520-rv","cols":80,"lines":24,"bell":"\u0007","clear":"\u001b[H\u001b[J","cnorm":"\u001b[0V\u001b8","sgr0":"\u001b[m","smul":"\u001b[4m","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u001b[D","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","khome":"\u001b[H","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C"} -{"name":"mt70","aliases":["mt-70"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u001a","smcup":"\u001b\"2\u001bG0\u001b]","cnorm":"\u001b\"2","civis":"\u001b\"0","sgr0":"\u001bG0","smul":"\u001bG1","rev":"\u001bG4","dim":"\u001bG2","cup":"\u001b=%p1%' '%+%c%p2%' '%+%c$\u003c1\u003e","cub1":"\u0008","cuu1":"\u000b","pad":"\u0000","kbs":"\u0008","kf1":"\u0001@\r","kf2":"\u0001A\r","kf3":"\u0001B\r","kf4":"\u0001C\r","kf5":"\u0001D\r","kf6":"\u0001E\r","kf7":"\u0001F\r","kf8":"\u0001G\r","kf9":"\u0001H\r","kf10":"\u0001I\r","kf11":"\u0001`\r","kf12":"\u0001a\r","kf13":"\u0001b\r","kf14":"\u0001c\r","kf15":"\u0001d\r","kf16":"\u0001e\r","kf17":"\u0001f\r","kf18":"\u0001g\r","kf19":"\u0001h\r","kf20":"\u0001i\r","kdch":"","khome":"\u0001N\r","khlp":"\u0001O\r","kcuu1":"\u0001J\r","kcud1":"\u0001K\r","kcub1":"\u0001L\r","kcuf1":"\u0001M\r","kcbt":"\u0001\u001a\r","kclr":"\u0001n\r","acsc":"+z,{-x.yOi`|jGkFlEmDnHqJtLuKvNwMxI","smacs":"\u001b$","rmacs":"\u001b%%"} -{"name":"mterm","aliases":["mouse-sun"],"cols":-1,"lines":-1,"bell":"\u0007","clear":"\u000c","cup":"\u0006%p1%d.%p2%d.","cub1":"\u0008","cuu1":"\u0018","pad":"\u0000","kbs":"\u0008"} -{"name":"mterm-ansi","cols":-1,"lines":-1,"bell":"\u0007","clear":"\u001b[H\u001b[J","sgr0":"\u001b[m","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","dim":"\u001b[2m","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u001b[D","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","acsc":"``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u000e","rmacs":"\u000f"} -{"name":"mvterm","aliases":["vv100"],"cols":80,"lines":24,"colors":8,"bell":"\u0007","clear":"\u001b[H\u001b[2J","smcup":"\u001b7\u001b[?47h","rmcup":"\u001b[2J\u001b[?47l\u001b8","sgr0":"\u001b[m\u000f","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","setaf":"\u001b[3%p1%dm","setbg":"\u001b[4%p1%dm","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kf5":"\u001bOt","kf6":"\u001bOu","kf7":"\u001bOv","kf8":"\u001bOl","kf9":"\u001bOw","kf10":"\u001bOx","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC","acsc":"``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u000e","rmacs":"\u000f","enacs":"\u001b(B\u001b)0","_setfgbg":"\u001b[3%p1%d;4%p2%dm"} -{"name":"nansi.sys","aliases":["nansisys"],"cols":80,"lines":25,"colors":8,"clear":"\u001b[2J","sgr0":"\u001b[0;10m","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","setaf":"\u001b[3%p1%dm","setbg":"\u001b[4%p1%dm","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","khome":"\u001e","kcuu1":"\u000b","kcud1":"\n","kcub1":"\u0008","kcuf1":"\u000c","acsc":"+\u0010,\u0011-\u0018.\u00190\ufffd`\u0004a\ufffdf\ufffdg\ufffdh\ufffdj\ufffdk\ufffdl\ufffdm\ufffdn\ufffdo~p\ufffdq\ufffdr\ufffds_t\ufffdu\ufffdv\ufffdw\ufffdx\ufffdy\ufffdz\ufffd{\ufffd|\ufffd}\ufffd~\ufffd","smacs":"\u001b[11m","rmacs":"\u001b[10m","_setfgbg":"\u001b[3%p1%d;4%p2%dm"} -{"name":"nansi.sysk","aliases":["nansisysk"],"cols":80,"lines":25,"colors":8,"clear":"\u001b[2J","sgr0":"\u001b[0;10m","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","smkx":"\u001b[;71;30p\u001b[;72;11p\u001b[;73;27;21p\u001b[;77;12p\u001b[;80;10p\u001b[;81;27;4p\u001b[;82;27;27;105p\u001b[;83;127p","rmkx":"\u001b[;71;0;71p\u001b[;72;0;72p\u001b[;73;0;73p\u001b[;77;0;77p\u001b[;80;0;80p\u001b[;81;0;81p\u001b[;82;0;82p\u001b[;83;0;83p","setaf":"\u001b[3%p1%dm","setbg":"\u001b[4%p1%dm","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","khome":"\u001e","kcuu1":"\u000b","kcud1":"\n","kcub1":"\u0008","kcuf1":"\u000c","acsc":"+\u0010,\u0011-\u0018.\u00190\ufffd`\u0004a\ufffdf\ufffdg\ufffdh\ufffdj\ufffdk\ufffdl\ufffdm\ufffdn\ufffdo~p\ufffdq\ufffdr\ufffds_t\ufffdu\ufffdv\ufffdw\ufffdx\ufffdy\ufffdz\ufffd{\ufffd|\ufffd}\ufffd~\ufffd","smacs":"\u001b[11m","rmacs":"\u001b[10m","_setfgbg":"\u001b[3%p1%d;4%p2%dm"} -{"name":"ncr160vppp","cols":80,"lines":24,"bell":"\u0007","clear":"\u000c$\u003c40\u003e","cnorm":"\u001b`5","civis":"\u001b`0","sgr0":"\u001bG0\u001bH\u0003","smul":"\u001bG8","blink":"\u001bG2","rev":"\u001bG4","dim":"\u001bGp","cup":"\u001bY%p1%' '%+%c%p2%' '%+%c$\u003c5\u003e","cub1":"\u0008$\u003c2\u003e","cuu1":"\u001a$\u003c2\u003e","pad":"\u0000","kbs":"\u0008","kf1":"\u00021\r","kf2":"\u00022\r","kf3":"\u00023\r","kf4":"\u00024\r","kf5":"\u00025\r","kf6":"\u00026\r","kf7":"\u00027\r","kf8":"\u00028\r","kf9":"\u00029\r","kf10":"\u0002:\r","kf11":"\u0002;\r","kf12":"\u0002\u003c\r","kf13":"\u0002=\r","kf14":"\u0002\u003e\r","kf15":"\u0002?\r","kf16":"\u0002@\r","kf17":"\u0002!\r","kf18":"\u0002\"\r","kf19":"\u0002#\r","kf20":"\u0002$\r","kf21":"\u0002%^M","kf22":"\u0002\u0026\r","kf23":"\u0002'\r","kf24":"\u0002(\r","kf25":"\u0002)\r","kf26":"\u0002*\r","kf27":"\u0002+\r","kf28":"\u0002,\r","kf29":"\u0002-\r","kf30":"\u0002.\r","kf31":"\u0002/\r","kf32":"\u00020\r","kich":"\u001bq","kdch":"\u001bW","khome":"\u0001","kend":"\u001bK","kpp":"\u001bJ","knp":"\u001bJ","kcuu1":"\u001a","kcud1":"\n","kcub1":"\u0015","kcuf1":"\u0006","kprt":"\u001bP","acsc":"07a?h;j5k3l2m1n8q:t4u9v=w0x6","smacs":"\u001bcB1\u001bH\u0002","rmacs":"\u001bcB0\u001bH\u0003","kRIT":"\u0006","kHOM":"\u0001","kEND":"\u001bk"} -{"name":"ncr160vpwpp","cols":132,"lines":24,"bell":"\u0007","clear":"\u000c$\u003c40\u003e","cnorm":"\u001b`5","civis":"\u001b`0","sgr0":"\u001bG0\u001bH\u0003","smul":"\u001bG8","blink":"\u001bG2","rev":"\u001bG4","dim":"\u001bGp","cup":"\u001ba%i%p1%dR%p2%dC$\u003c30\u003e","cub1":"\u0008$\u003c2\u003e","cuu1":"\u001a$\u003c2\u003e","pad":"\u0000","kbs":"\u0008","kf1":"\u00021\r","kf2":"\u00022\r","kf3":"\u00023\r","kf4":"\u00024\r","kf5":"\u00025\r","kf6":"\u00026\r","kf7":"\u00027\r","kf8":"\u00028\r","kf9":"\u00029\r","kf10":"\u0002:\r","kf11":"\u0002;\r","kf12":"\u0002\u003c\r","kf13":"\u0002=\r","kf14":"\u0002\u003e\r","kf15":"\u0002?\r","kf16":"\u0002@\r","kf17":"\u0002!\r","kf18":"\u0002\"\r","kf19":"\u0002#\r","kf20":"\u0002$\r","kf21":"\u0002%^M","kf22":"\u0002\u0026\r","kf23":"\u0002'\r","kf24":"\u0002(\r","kf25":"\u0002)\r","kf26":"\u0002*\r","kf27":"\u0002+\r","kf28":"\u0002,\r","kf29":"\u0002-\r","kf30":"\u0002.\r","kf31":"\u0002/\r","kf32":"\u00020\r","kich":"\u001bq","kdch":"\u001bW","khome":"\u0001","kend":"\u001bK","kpp":"\u001bJ","knp":"\u001bJ","kcuu1":"\u001a","kcud1":"\n","kcub1":"\u0015","kcuf1":"\u0006","kprt":"\u001bP","acsc":"07a?h;j5k3l2m1n8q:t4u9v=w0x6","smacs":"\u001bcB1\u001bH\u0002","rmacs":"\u001bcB0\u001bH\u0003","kRIT":"\u0006","kHOM":"\u0001","kEND":"\u001bk"} -{"name":"ncr160vt100an","cols":80,"lines":24,"bell":"\u0007","clear":"\u001b[2J\u001b[1;1H$\u003c20\u003e","cnorm":"\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b[0m\u000f$\u003c20\u003e","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","cup":"\u001b[%i%p1%d;%p2%dH$\u003c10\u003e","cub1":"\u001b[D$\u003c5\u003e","cuu1":"\u001b[A$\u003c5\u003e","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kich":"\u001b[2~","kdch":"\u001b[3~","khlp":"\u001b[28~","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC","acsc":"``aaffggjjkkllmmnnooqqssttuuvvwwxx~~","smacs":"\u000e","rmacs":"\u000f"} -{"name":"ncr160vt100pp","cols":80,"lines":24,"bell":"\u0007","clear":"\u001b[2J\u001b[1;1H$\u003c20\u003e","cnorm":"\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b[0m\u000f$\u003c20\u003e","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","smkx":"\u001b=","rmkx":"\u001b\u003e","cup":"\u001b[%i%p1%d;%p2%dH$\u003c10\u003e","cub1":"\u001b[D$\u003c5\u003e","cuu1":"\u001b[A$\u003c5\u003e","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kich":"\u001b[1~","kdch":"\u001b[4~","khome":"\u001b[2~","kend":"\u001b[5~","khlp":"\u001b[28~","kpp":"\u001b[3~","knp":"\u001b[6~","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","acsc":"``aaffggjjkkllmmnnooqqssttuuvvwwxx~~","smacs":"\u000e","rmacs":"\u000f"} -{"name":"ncr160vt100wan","cols":132,"lines":24,"bell":"\u0007","clear":"\u001b[2J\u001b[1;1H$\u003c20\u003e","cnorm":"\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b[0m\u000f$\u003c20\u003e","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","cup":"\u001b[%i%p1%d;%p2%dH$\u003c30\u003e","cub1":"\u001b[D$\u003c5\u003e","cuu1":"\u001b[A$\u003c5\u003e","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kich":"\u001b[2~","kdch":"\u001b[3~","khlp":"\u001b[28~","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC","acsc":"``aaffggjjkkllmmnnooqqssttuuvvwwxx~~","smacs":"\u000e","rmacs":"\u000f"} -{"name":"ncr160vt100wpp","cols":132,"lines":24,"bell":"\u0007","clear":"\u001b[2J\u001b[1;1H$\u003c20\u003e","cnorm":"\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b[0m\u000f$\u003c20\u003e","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","smkx":"\u001b=","rmkx":"\u001b\u003e","cup":"\u001b[%i%p1%d;%p2%dH$\u003c30\u003e","cub1":"\u001b[D$\u003c5\u003e","cuu1":"\u001b[A$\u003c5\u003e","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kich":"\u001b[1~","kdch":"\u001b[4~","khome":"\u001b[2~","kend":"\u001b[5~","khlp":"\u001b[28~","kpp":"\u001b[3~","knp":"\u001b[6~","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","acsc":"``aaffggjjkkllmmnnooqqssttuuvvwwxx~~","smacs":"\u000e","rmacs":"\u000f"} -{"name":"ncr160vt200an","cols":80,"lines":24,"bell":"\u0007","clear":"\u001b[2J\u001b[1;1H$\u003c20\u003e","cnorm":"\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b[0m\u000f$\u003c20\u003e","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","cup":"\u001b[%i%p1%d;%p2%dH$\u003c10\u003e","cub1":"\u001b[D$\u003c5\u003e","cuu1":"\u001b[A$\u003c5\u003e","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kf5":"\u001b[M","kf6":"\u001b[17~","kf7":"\u001b[18~","kf8":"\u001b[19~","kf9":"\u001b[20~","kf10":"\u001b[21~","kf11":"\u001b[23~","kf12":"\u001b[24~","kf13":"\u001b[25~","kf14":"\u001b[26~","kf15":"\u001b[28~","kf16":"\u001b[29~","kf17":"\u001b[31~","kf18":"\u001b[32~","kf19":"\u001b[33~","kf20":"\u001b[34~","kf21":"\u001b[31~","kf22":"\u001b[32~","kf23":"\u001b[33~","kf24":"\u001b[34~","kf25":"\u001b[35~","kf26":"\u001b[1~","kf27":"\u001b[2~","kf28":"\u001b[3~","kf29":"\u001b[4~","kf30":"\u001b[5~","kf31":"\u001b[6~","kf32":"\u001b[7~","kf33":"\u001b[8~","kf34":"\u001b[9~","kf35":"\u001b[10~","kich":"\u001b[2~","kdch":"\u001b[3~","khlp":"\u001b[28~","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC","acsc":"``aaffggjjkkllmmnnooqqssttuuvvwwxx~~","smacs":"\u000e$\u003c20\u003e","rmacs":"\u000f$\u003c20\u003e"} -{"name":"ncr160vt200pp","cols":80,"lines":24,"bell":"\u0007","clear":"\u001b[2J\u001b[1;1H$\u003c20\u003e","cnorm":"\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b[0m\u000f$\u003c20\u003e","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","smkx":"\u001b=","rmkx":"\u001b\u003e","cup":"\u001b[%i%p1%d;%p2%dH$\u003c10\u003e","cub1":"\u001b[D$\u003c5\u003e","cuu1":"\u001b[A$\u003c5\u003e","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kf5":"\u001b[M","kf6":"\u001b[17~","kf7":"\u001b[18~","kf8":"\u001b[19~","kf9":"\u001b[20~","kf10":"\u001b[21~","kf11":"\u001b[23~","kf12":"\u001b[24~","kf13":"\u001b[25~","kf14":"\u001b[26~","kf15":"\u001b[28~","kf16":"\u001b[29~","kf17":"\u001b[31~","kf18":"\u001b[32~","kf19":"\u001b[33~","kf20":"\u001b[34~","kf21":"\u001b[31~","kf22":"\u001b[32~","kf23":"\u001b[33~","kf24":"\u001b[34~","kf25":"\u001b[35~","kf26":"\u001b[1~","kf27":"\u001b[2~","kf28":"\u001b[3~","kf29":"\u001b[4~","kf30":"\u001b[5~","kf31":"\u001b[6~","kf32":"\u001b[7~","kf33":"\u001b[8~","kf34":"\u001b[9~","kf35":"\u001b[10~","kich":"\u001b[2~","kdch":"\u001b[4~","khome":"\u001b[H","kend":"\u001b[1~","khlp":"\u001b[28~","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","acsc":"``aaffggjjkkllmmnnooqqssttuuvvwwxx~~","smacs":"\u000e$\u003c20\u003e","rmacs":"\u000f$\u003c20\u003e"} -{"name":"ncr160vt200wan","cols":132,"lines":24,"bell":"\u0007","clear":"\u001b[2J\u001b[1;1H$\u003c20\u003e","cnorm":"\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b[0m\u000f$\u003c20\u003e","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","cup":"\u001b[%i%p1%d;%p2%dH$\u003c30\u003e","cub1":"\u001b[D$\u003c5\u003e","cuu1":"\u001b[A$\u003c5\u003e","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kf5":"\u001b[M","kf6":"\u001b[17~","kf7":"\u001b[18~","kf8":"\u001b[19~","kf9":"\u001b[20~","kf10":"\u001b[21~","kf11":"\u001b[23~","kf12":"\u001b[24~","kf13":"\u001b[25~","kf14":"\u001b[26~","kf15":"\u001b[28~","kf16":"\u001b[29~","kf17":"\u001b[31~","kf18":"\u001b[32~","kf19":"\u001b[33~","kf20":"\u001b[34~","kf21":"\u001b[31~","kf22":"\u001b[32~","kf23":"\u001b[33~","kf24":"\u001b[34~","kf25":"\u001b[35~","kf26":"\u001b[1~","kf27":"\u001b[2~","kf28":"\u001b[3~","kf29":"\u001b[4~","kf30":"\u001b[5~","kf31":"\u001b[6~","kf32":"\u001b[7~","kf33":"\u001b[8~","kf34":"\u001b[9~","kf35":"\u001b[10~","kich":"\u001b[2~","kdch":"\u001b[3~","khlp":"\u001b[28~","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC","acsc":"``aaffggjjkkllmmnnooqqssttuuvvwwxx~~","smacs":"\u000e$\u003c20\u003e","rmacs":"\u000f$\u003c20\u003e"} -{"name":"ncr160vt200wpp","cols":132,"lines":24,"bell":"\u0007","clear":"\u001b[2J\u001b[1;1H$\u003c20\u003e","cnorm":"\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b[0m\u000f$\u003c20\u003e","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","smkx":"\u001b=","rmkx":"\u001b\u003e","cup":"\u001b[%i%p1%d;%p2%dH$\u003c30\u003e","cub1":"\u001b[D$\u003c5\u003e","cuu1":"\u001b[A$\u003c5\u003e","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kf5":"\u001b[M","kf6":"\u001b[17~","kf7":"\u001b[18~","kf8":"\u001b[19~","kf9":"\u001b[20~","kf10":"\u001b[21~","kf11":"\u001b[23~","kf12":"\u001b[24~","kf13":"\u001b[25~","kf14":"\u001b[26~","kf15":"\u001b[28~","kf16":"\u001b[29~","kf17":"\u001b[31~","kf18":"\u001b[32~","kf19":"\u001b[33~","kf20":"\u001b[34~","kf21":"\u001b[31~","kf22":"\u001b[32~","kf23":"\u001b[33~","kf24":"\u001b[34~","kf25":"\u001b[35~","kf26":"\u001b[1~","kf27":"\u001b[2~","kf28":"\u001b[3~","kf29":"\u001b[4~","kf30":"\u001b[5~","kf31":"\u001b[6~","kf32":"\u001b[7~","kf33":"\u001b[8~","kf34":"\u001b[9~","kf35":"\u001b[10~","kich":"\u001b[2~","kdch":"\u001b[4~","khome":"\u001b[H","kend":"\u001b[1~","khlp":"\u001b[28~","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","acsc":"``aaffggjjkkllmmnnooqqssttuuvvwwxx~~","smacs":"\u000e$\u003c20\u003e","rmacs":"\u000f$\u003c20\u003e"} -{"name":"ncr160vt300an","cols":80,"lines":24,"bell":"\u0007","clear":"\u001b[2J\u001b[1;1H$\u003c20\u003e","cnorm":"\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b[0m\u000f$\u003c20\u003e","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","cup":"\u001b[%i%p1%d;%p2%dH$\u003c10\u003e","cub1":"\u001b[D$\u003c5\u003e","cuu1":"\u001b[A$\u003c5\u003e","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kf5":"\u001b[M","kf6":"\u001b[17~","kf7":"\u001b[18~","kf8":"\u001b[19~","kf9":"\u001b[20~","kf10":"\u001b[21~","kf11":"\u001b[23~","kf12":"\u001b[24~","kf13":"\u001b[25~","kf14":"\u001b[26~","kf15":"\u001b[28~","kf16":"\u001b[29~","kf17":"\u001b[31~","kf18":"\u001b[32~","kf19":"\u001b[33~","kf20":"\u001b[34~","kf21":"\u001b[31~","kf22":"\u001b[32~","kf23":"\u001b[33~","kf24":"\u001b[34~","kf25":"\u001b[35~","kf26":"\u001b[1~","kf27":"\u001b[2~","kf28":"\u001b[3~","kf29":"\u001b[4~","kf30":"\u001b[5~","kf31":"\u001b[6~","kf32":"\u001b[7~","kf33":"\u001b[8~","kf34":"\u001b[9~","kf35":"\u001b[10~","kich":"\u001b[2~","kdch":"\u001b[3~","khlp":"\u001b[28~","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC","acsc":"``aaffggjjkkllmmnnooqqssttuuvvwwxx~~","smacs":"\u000e$\u003c20\u003e","rmacs":"\u000f$\u003c20\u003e"} -{"name":"ncr160vt300pp","cols":80,"lines":24,"bell":"\u0007","clear":"\u001b[2J\u001b[1;1H$\u003c20\u003e","cnorm":"\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b[0m\u000f$\u003c20\u003e","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","smkx":"\u001b=","rmkx":"\u001b\u003e","cup":"\u001b[%i%p1%d;%p2%dH$\u003c10\u003e","cub1":"\u001b[D$\u003c5\u003e","cuu1":"\u001b[A$\u003c5\u003e","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kf5":"\u001b[M","kf6":"\u001b[17~","kf7":"\u001b[18~","kf8":"\u001b[19~","kf9":"\u001b[20~","kf10":"\u001b[21~","kf11":"\u001b[23~","kf12":"\u001b[24~","kf13":"\u001b[25~","kf14":"\u001b[26~","kf15":"\u001b[28~","kf16":"\u001b[29~","kf17":"\u001b[31~","kf18":"\u001b[32~","kf19":"\u001b[33~","kf20":"\u001b[34~","kf21":"\u001b[31~","kf22":"\u001b[32~","kf23":"\u001b[33~","kf24":"\u001b[34~","kf25":"\u001b[35~","kf26":"\u001b[1~","kf27":"\u001b[2~","kf28":"\u001b[3~","kf29":"\u001b[4~","kf30":"\u001b[5~","kf31":"\u001b[6~","kf32":"\u001b[7~","kf33":"\u001b[8~","kf34":"\u001b[9~","kf35":"\u001b[10~","kich":"\u001b[2~","kdch":"\u001b[4~","khome":"\u001b[H","kend":"\u001b[1~","khlp":"\u001b[28~","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","acsc":"``aaffggjjkkllmmnnooqqssttuuvvwwxx~~","smacs":"\u000e$\u003c20\u003e","rmacs":"\u000f$\u003c20\u003e"} -{"name":"ncr160vt300wan","cols":132,"lines":24,"bell":"\u0007","clear":"\u001b[2J\u001b[1;1H$\u003c20\u003e","cnorm":"\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b[0m\u000f$\u003c20\u003e","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","cup":"\u001b[%i%p1%d;%p2%dH$\u003c30\u003e","cub1":"\u001b[D$\u003c5\u003e","cuu1":"\u001b[A$\u003c5\u003e","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kf5":"\u001b[M","kf6":"\u001b[17~","kf7":"\u001b[18~","kf8":"\u001b[19~","kf9":"\u001b[20~","kf10":"\u001b[21~","kf11":"\u001b[23~","kf12":"\u001b[24~","kf13":"\u001b[25~","kf14":"\u001b[26~","kf15":"\u001b[28~","kf16":"\u001b[29~","kf17":"\u001b[31~","kf18":"\u001b[32~","kf19":"\u001b[33~","kf20":"\u001b[34~","kf21":"\u001b[31~","kf22":"\u001b[32~","kf23":"\u001b[33~","kf24":"\u001b[34~","kf25":"\u001b[35~","kf26":"\u001b[1~","kf27":"\u001b[2~","kf28":"\u001b[3~","kf29":"\u001b[4~","kf30":"\u001b[5~","kf31":"\u001b[6~","kf32":"\u001b[7~","kf33":"\u001b[8~","kf34":"\u001b[9~","kf35":"\u001b[10~","kich":"\u001b[2~","kdch":"\u001b[3~","khlp":"\u001b[28~","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC","acsc":"``aaffggjjkkllmmnnooqqssttuuvvwwxx~~","smacs":"\u000e$\u003c20\u003e","rmacs":"\u000f$\u003c20\u003e"} -{"name":"ncr160vt300wpp","cols":132,"lines":24,"bell":"\u0007","clear":"\u001b[2J\u001b[1;1H$\u003c20\u003e","cnorm":"\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b[0m\u000f$\u003c20\u003e","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","smkx":"\u001b=","rmkx":"\u001b\u003e","cup":"\u001b[%i%p1%d;%p2%dH$\u003c30\u003e","cub1":"\u001b[D$\u003c5\u003e","cuu1":"\u001b[A$\u003c5\u003e","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kf5":"\u001b[M","kf6":"\u001b[17~","kf7":"\u001b[18~","kf8":"\u001b[19~","kf9":"\u001b[20~","kf10":"\u001b[21~","kf11":"\u001b[23~","kf12":"\u001b[24~","kf13":"\u001b[25~","kf14":"\u001b[26~","kf15":"\u001b[28~","kf16":"\u001b[29~","kf17":"\u001b[31~","kf18":"\u001b[32~","kf19":"\u001b[33~","kf20":"\u001b[34~","kf21":"\u001b[31~","kf22":"\u001b[32~","kf23":"\u001b[33~","kf24":"\u001b[34~","kf25":"\u001b[35~","kf26":"\u001b[1~","kf27":"\u001b[2~","kf28":"\u001b[3~","kf29":"\u001b[4~","kf30":"\u001b[5~","kf31":"\u001b[6~","kf32":"\u001b[7~","kf33":"\u001b[8~","kf34":"\u001b[9~","kf35":"\u001b[10~","kich":"\u001b[2~","kdch":"\u001b[4~","khome":"\u001b[H","kend":"\u001b[1~","khlp":"\u001b[28~","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","acsc":"``aaffggjjkkllmmnnooqqssttuuvvwwxx~~","smacs":"\u000e$\u003c20\u003e","rmacs":"\u000f$\u003c20\u003e"} -{"name":"ncr160wy50+pp","cols":80,"lines":24,"bell":"\u0007","clear":"\u001b+$\u003c20\u003e","cnorm":"\u001b`1","civis":"\u001b`0","sgr0":"\u001bG0\u001bH\u0003$\u003c15\u003e","smul":"\u001bG8","blink":"\u001bG2","rev":"\u001bG4","dim":"\u001bGp","cup":"\u001b=%p1%' '%+%c%p2%' '%+%c$\u003c30\u003e","cub1":"\u0008$\u003c5\u003e","cuu1":"\u000b$\u003c5\u003e","pad":"\u0000","kbs":"\u0008","kf1":"\u0001@\r","kf2":"\u0001A\r","kf3":"\u0001B\r","kf4":"\u0001C\r","kf5":"\u0001D\r","kf6":"\u0001E\r","kf7":"\u0001F\r","kf8":"\u0001G\r","kf9":"\u0001H\r","kf10":"\u0001I\r","kf11":"\u0001J\r","kf12":"\u0001K\r","kf13":"\u0001L\r","kf14":"\u0001M\r","kf15":"\u0001N\r","kf16":"\u0001O\r","kf17":"\u0001`\r","kf18":"\u0001a\r","kf19":"\u0001b\r","kf20":"\u0001c\r","kf21":"\u0001d\r","kf22":"\u0001e\r","kf23":"\u0001f\r","kf24":"\u0001g\r","kf25":"\u0001h\r","kf26":"\u0001i\r","kf27":"\u0001j\r","kf28":"\u0001k\r","kf29":"\u0001l\r","kf30":"\u0001m\r","kf31":"\u0001n\r","kf32":"\u0001o\r","kich":"\u001bq","kdch":"\u001bW","khome":"\u001e","kend":"\u001bT","kpp":"\u001bJ","knp":"\u001bK","kcuu1":"\u000b","kcud1":"\n","kcub1":"\u0008","kcuf1":"\u000c","kcbt":"\u001bI","kprt":"\u001bP","acsc":"0wa_h[jukslrmqnxqzttuyv]wpxv","smacs":"\u001bH\u0002","rmacs":"\u001bH\u0003","kRIT":"\u000c","kHOM":"\u001b{","kEND":"\u001bY"} -{"name":"ncr160wy50+wpp","cols":132,"lines":24,"bell":"\u0007","clear":"\u001b+$\u003c20\u003e","cnorm":"\u001b`1","civis":"\u001b`0","sgr0":"\u001bG0\u001bH\u0003$\u003c15\u003e","smul":"\u001bG8","blink":"\u001bG2","rev":"\u001bG4","dim":"\u001bGp","cup":"\u001ba%i%p1%dR%p2%dC$\u003c30\u003e","cub1":"\u0008$\u003c5\u003e","cuu1":"\u000b$\u003c5\u003e","pad":"\u0000","kbs":"\u0008","kf1":"\u0001@\r","kf2":"\u0001A\r","kf3":"\u0001B\r","kf4":"\u0001C\r","kf5":"\u0001D\r","kf6":"\u0001E\r","kf7":"\u0001F\r","kf8":"\u0001G\r","kf9":"\u0001H\r","kf10":"\u0001I\r","kf11":"\u0001J\r","kf12":"\u0001K\r","kf13":"\u0001L\r","kf14":"\u0001M\r","kf15":"\u0001N\r","kf16":"\u0001O\r","kf17":"\u0001`\r","kf18":"\u0001a\r","kf19":"\u0001b\r","kf20":"\u0001c\r","kf21":"\u0001d\r","kf22":"\u0001e\r","kf23":"\u0001f\r","kf24":"\u0001g\r","kf25":"\u0001h\r","kf26":"\u0001i\r","kf27":"\u0001j\r","kf28":"\u0001k\r","kf29":"\u0001l\r","kf30":"\u0001m\r","kf31":"\u0001n\r","kf32":"\u0001o\r","kich":"\u001bq","kdch":"\u001bW","khome":"\u001e","kend":"\u001bT","kpp":"\u001bJ","knp":"\u001bK","kcuu1":"\u000b","kcud1":"\n","kcub1":"\u0008","kcuf1":"\u000c","kcbt":"\u001bI","kprt":"\u001bP","acsc":"0wa_h[jukslrmqnxqzttuyv]wpxv","smacs":"\u001bH\u0002","rmacs":"\u001bH\u0003","kRIT":"\u000c","kHOM":"\u001b{","kEND":"\u001bY"} -{"name":"ncr160wy60pp","cols":80,"lines":24,"bell":"\u0007","clear":"\u001b*$\u003c100\u003e","cnorm":"\u001b`1","civis":"\u001b`0","sgr0":"\u001bG0\u001bcB0\u001bcD$\u003c15\u003e","smul":"\u001bG8","blink":"\u001bG2","rev":"\u001bG4","cup":"\u001b=%p1%' '%+%c%p2%' '%+%c$\u003c10\u003e","cub1":"\u0008$\u003c5\u003e","cuu1":"\u000b$\u003c5\u003e","pad":"\u0000","kbs":"\u0008","kf1":"\u0001@\r","kf2":"\u0001A\r","kf3":"\u0001B\r","kf4":"\u0001C\r","kf5":"\u0001D\r","kf6":"\u0001E\r","kf7":"\u0001F\r","kf8":"\u0001G\r","kf9":"\u0001H\r","kf10":"\u0001I\r","kf11":"\u0001J\r","kf12":"\u0001K\r","kf13":"\u0001L\r","kf14":"\u0001M\r","kf15":"\u0001N\r","kf16":"\u0001O\r","kf17":"\u0001`\r","kf18":"\u0001a\r","kf19":"\u0001b\r","kf20":"\u0001c\r","kf21":"\u0001d\r","kf22":"\u0001e\r","kf23":"\u0001f\r","kf24":"\u0001g\r","kf25":"\u0001h\r","kf26":"\u0001i\r","kf27":"\u0001j\r","kf28":"\u0001k\r","kf29":"\u0001l\r","kf30":"\u0001m\r","kf31":"\u0001n\r","kf32":"\u0001o\r","kich":"\u001bq","kdch":"\u001bW","khome":"\u001e","kend":"\u001bT","kpp":"\u001bJ","knp":"\u001bK","kcuu1":"\u000b","kcud1":"\n","kcub1":"\u0008","kcuf1":"\u000c","kcbt":"\u001bI$\u003c15\u003e","kprt":"\u001bP","acsc":"07a?h;j5k3l2m1n8q:t4u9v=w0x6","smacs":"\u001bH\u0002","rmacs":"\u001bH\u0003","kRIT":"\u000c","kHOM":"\u001b{","kEND":"\u001bY"} -{"name":"ncr160wy60wpp","cols":132,"lines":24,"bell":"\u0007","clear":"\u001b*$\u003c100\u003e","cnorm":"\u001b`1","civis":"\u001b`0","sgr0":"\u001bG0\u001bcB0\u001bcD$\u003c15\u003e","smul":"\u001bG8","blink":"\u001bG2","rev":"\u001bG4","cup":"\u001ba%i%p1%dR%p2%dC$\u003c30\u003e","cub1":"\u0008$\u003c5\u003e","cuu1":"\u000b$\u003c5\u003e","pad":"\u0000","kbs":"\u0008","kf1":"\u0001@\r","kf2":"\u0001A\r","kf3":"\u0001B\r","kf4":"\u0001C\r","kf5":"\u0001D\r","kf6":"\u0001E\r","kf7":"\u0001F\r","kf8":"\u0001G\r","kf9":"\u0001H\r","kf10":"\u0001I\r","kf11":"\u0001J\r","kf12":"\u0001K\r","kf13":"\u0001L\r","kf14":"\u0001M\r","kf15":"\u0001N\r","kf16":"\u0001O\r","kf17":"\u0001`\r","kf18":"\u0001a\r","kf19":"\u0001b\r","kf20":"\u0001c\r","kf21":"\u0001d\r","kf22":"\u0001e\r","kf23":"\u0001f\r","kf24":"\u0001g\r","kf25":"\u0001h\r","kf26":"\u0001i\r","kf27":"\u0001j\r","kf28":"\u0001k\r","kf29":"\u0001l\r","kf30":"\u0001m\r","kf31":"\u0001n\r","kf32":"\u0001o\r","kich":"\u001bq","kdch":"\u001bW","khome":"\u001e","kend":"\u001bT","kpp":"\u001bJ","knp":"\u001bK","kcuu1":"\u000b","kcud1":"\n","kcub1":"\u0008","kcuf1":"\u000c","kcbt":"\u001bI$\u003c15\u003e","kprt":"\u001bP","acsc":"07a?h;j5k3l2m1n8q:t4u9v=w0x6","smacs":"\u001bH\u0002","rmacs":"\u001bH\u0003","kRIT":"\u000c","kHOM":"\u001b{","kEND":"\u001bY"} -{"name":"ncr260intan","cols":80,"lines":24,"colors":8,"bell":"\u0007","clear":"\u001b[2J\u001b[1;1H$\u003c20\u003e","cnorm":"\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b[0m\u000f$\u003c20\u003e","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","setaf":"\u001b[3%p1%dm","setbg":"\u001b[4%p1%dm","cup":"\u001b[%i%p1%d;%p2%dH$\u003c10\u003e","cub1":"\u001b[D$\u003c5\u003e","cuu1":"\u001b[A$\u003c5\u003e","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kf5":"\u001b[M","kf6":"\u001b[17~","kf7":"\u001b[18~","kf8":"\u001b[19~","kf9":"\u001b[20~","kf10":"\u001b[21~","kf11":"\u001b[23~","kf12":"\u001b[24~","kf13":"\u001b[25~","kf14":"\u001b[26~","kf15":"\u001b[28~","kf16":"\u001b[29~","kf17":"\u001b[31~","kf18":"\u001b[32~","kf19":"\u001b[33~","kf20":"\u001b[34~","kf21":"\u001b[31~","kf22":"\u001b[32~","kf23":"\u001b[33~","kf24":"\u001b[34~","kf25":"\u001b[35~","kf26":"\u001b[1~","kf27":"\u001b[2~","kf28":"\u001b[3~","kf29":"\u001b[4~","kf30":"\u001b[5~","kf31":"\u001b[6~","kf32":"\u001b[7~","kf33":"\u001b[8~","kf34":"\u001b[9~","kf35":"\u001b[10~","kich":"\u001b[2~","kdch":"\u001b[3~","khlp":"\u001b[28~","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC","acsc":"``aaffggjjkkllmmnnooqqssttuuvvwwxx~~","smacs":"\u000e$\u003c20\u003e","rmacs":"\u000f$\u003c20\u003e","_setfgbg":"\u001b[3%p1%d;4%p2%dm"} -{"name":"ncr260intpp","cols":80,"lines":24,"colors":8,"bell":"\u0007","clear":"\u001b[2J\u001b[1;1H$\u003c20\u003e","cnorm":"\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b[0m\u000f$\u003c20\u003e","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","smkx":"\u001b=","rmkx":"\u001b\u003e","setaf":"\u001b[3%p1%dm","setbg":"\u001b[4%p1%dm","cup":"\u001b[%i%p1%d;%p2%dH$\u003c10\u003e","cub1":"\u001b[D$\u003c5\u003e","cuu1":"\u001b[A$\u003c5\u003e","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kf5":"\u001b[M","kf6":"\u001b[17~","kf7":"\u001b[18~","kf8":"\u001b[19~","kf9":"\u001b[20~","kf10":"\u001b[21~","kf11":"\u001b[23~","kf12":"\u001b[24~","kf13":"\u001b[25~","kf14":"\u001b[26~","kf15":"\u001b[28~","kf16":"\u001b[29~","kf17":"\u001b[31~","kf18":"\u001b[32~","kf19":"\u001b[33~","kf20":"\u001b[34~","kf21":"\u001b[31~","kf22":"\u001b[32~","kf23":"\u001b[33~","kf24":"\u001b[34~","kf25":"\u001b[35~","kf26":"\u001b[1~","kf27":"\u001b[2~","kf28":"\u001b[3~","kf29":"\u001b[4~","kf30":"\u001b[5~","kf31":"\u001b[6~","kf32":"\u001b[7~","kf33":"\u001b[8~","kf34":"\u001b[9~","kf35":"\u001b[10~","kich":"\u001b[2~","kdch":"\u001b[4~","khome":"\u001b[H","kend":"\u001b[1~","khlp":"\u001b[28~","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","acsc":"``aaffggjjkkllmmnnooqqssttuuvvwwxx~~","smacs":"\u000e$\u003c20\u003e","rmacs":"\u000f$\u003c20\u003e","_setfgbg":"\u001b[3%p1%d;4%p2%dm"} -{"name":"ncr260intwan","cols":132,"lines":24,"colors":8,"bell":"\u0007","clear":"\u001b[2J\u001b[1;1H$\u003c20\u003e","cnorm":"\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b[0m\u000f$\u003c20\u003e","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","setaf":"\u001b[3%p1%dm","setbg":"\u001b[4%p1%dm","cup":"\u001b[%i%p1%d;%p2%dH$\u003c30\u003e","cub1":"\u001b[D$\u003c5\u003e","cuu1":"\u001b[A$\u003c5\u003e","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kf5":"\u001b[M","kf6":"\u001b[17~","kf7":"\u001b[18~","kf8":"\u001b[19~","kf9":"\u001b[20~","kf10":"\u001b[21~","kf11":"\u001b[23~","kf12":"\u001b[24~","kf13":"\u001b[25~","kf14":"\u001b[26~","kf15":"\u001b[28~","kf16":"\u001b[29~","kf17":"\u001b[31~","kf18":"\u001b[32~","kf19":"\u001b[33~","kf20":"\u001b[34~","kf21":"\u001b[31~","kf22":"\u001b[32~","kf23":"\u001b[33~","kf24":"\u001b[34~","kf25":"\u001b[35~","kf26":"\u001b[1~","kf27":"\u001b[2~","kf28":"\u001b[3~","kf29":"\u001b[4~","kf30":"\u001b[5~","kf31":"\u001b[6~","kf32":"\u001b[7~","kf33":"\u001b[8~","kf34":"\u001b[9~","kf35":"\u001b[10~","kich":"\u001b[2~","kdch":"\u001b[3~","khlp":"\u001b[28~","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC","acsc":"``aaffggjjkkllmmnnooqqssttuuvvwwxx~~","smacs":"\u000e$\u003c20\u003e","rmacs":"\u000f$\u003c20\u003e","_setfgbg":"\u001b[3%p1%d;4%p2%dm"} -{"name":"ncr260intwpp","cols":132,"lines":24,"colors":8,"bell":"\u0007","clear":"\u001b[2J\u001b[1;1H$\u003c20\u003e","cnorm":"\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b[0m\u000f$\u003c20\u003e","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","smkx":"\u001b=","rmkx":"\u001b\u003e","setaf":"\u001b[3%p1%dm","setbg":"\u001b[4%p1%dm","cup":"\u001b[%i%p1%d;%p2%dH$\u003c30\u003e","cub1":"\u001b[D$\u003c5\u003e","cuu1":"\u001b[A$\u003c5\u003e","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kf5":"\u001b[M","kf6":"\u001b[17~","kf7":"\u001b[18~","kf8":"\u001b[19~","kf9":"\u001b[20~","kf10":"\u001b[21~","kf11":"\u001b[23~","kf12":"\u001b[24~","kf13":"\u001b[25~","kf14":"\u001b[26~","kf15":"\u001b[28~","kf16":"\u001b[29~","kf17":"\u001b[31~","kf18":"\u001b[32~","kf19":"\u001b[33~","kf20":"\u001b[34~","kf21":"\u001b[31~","kf22":"\u001b[32~","kf23":"\u001b[33~","kf24":"\u001b[34~","kf25":"\u001b[35~","kf26":"\u001b[1~","kf27":"\u001b[2~","kf28":"\u001b[3~","kf29":"\u001b[4~","kf30":"\u001b[5~","kf31":"\u001b[6~","kf32":"\u001b[7~","kf33":"\u001b[8~","kf34":"\u001b[9~","kf35":"\u001b[10~","kich":"\u001b[2~","kdch":"\u001b[4~","khome":"\u001b[H","kend":"\u001b[1~","khlp":"\u001b[28~","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","acsc":"``aaffggjjkkllmmnnooqqssttuuvvwwxx~~","smacs":"\u000e$\u003c20\u003e","rmacs":"\u000f$\u003c20\u003e","_setfgbg":"\u001b[3%p1%d;4%p2%dm"} -{"name":"ncr260vppp","cols":80,"lines":24,"bell":"\u0007","clear":"\u000c$\u003c40\u003e","cnorm":"\u001b`5","civis":"\u001b`0","sgr0":"\u001bG0\u001bH\u0003","smul":"\u001bG8","blink":"\u001bG2","rev":"\u001bG4","dim":"\u001bGp","cup":"\u001bY%p1%' '%+%c%p2%' '%+%c$\u003c5\u003e","cub1":"\u0008$\u003c2\u003e","cuu1":"\u001a$\u003c2\u003e","pad":"\u0000","kbs":"\u0008","kf1":"\u00021\r","kf2":"\u00022\r","kf3":"\u00023\r","kf4":"\u00024\r","kf5":"\u00025\r","kf6":"\u00026\r","kf7":"\u00027\r","kf8":"\u00028\r","kf9":"\u00029\r","kf10":"\u0002:\r","kf11":"\u0002;\r","kf12":"\u0002\u003c\r","kf13":"\u0002=\r","kf14":"\u0002\u003e\r","kf15":"\u0002?\r","kf16":"\u0002@\r","kf17":"\u0002!\r","kf18":"\u0002\"\r","kf19":"\u0002#\r","kf20":"\u0002$\r","kf21":"\u0002%^M","kf22":"\u0002\u0026\r","kf23":"\u0002'\r","kf24":"\u0002(\r","kf25":"\u0002)\r","kf26":"\u0002*\r","kf27":"\u0002+\r","kf28":"\u0002,\r","kf29":"\u0002-\r","kf30":"\u0002.\r","kf31":"\u0002/\r","kf32":"\u00020\r","kich":"\u001bq","kdch":"\u001bW","khome":"\u0001","kend":"\u001bK","kpp":"\u001bJ","knp":"\u001bJ","kcuu1":"\u001a","kcud1":"\n","kcub1":"\u0015","kcuf1":"\u0006","kprt":"\u001bP","acsc":"07a?h;j5k3l2m1n8q:t4u9v=w0x6","smacs":"\u001bcB1\u001bH\u0002","rmacs":"\u001bcB0\u001bH\u0003","kRIT":"\u0006","kHOM":"\u0001","kEND":"\u001bk"} -{"name":"ncr260vpwpp","cols":132,"lines":24,"bell":"\u0007","clear":"\u000c$\u003c40\u003e","cnorm":"\u001b`5","civis":"\u001b`0","sgr0":"\u001bG0\u001bH\u0003","smul":"\u001bG8","blink":"\u001bG2","rev":"\u001bG4","dim":"\u001bGp","cup":"\u001ba%i%p1%dR%p2%dC$\u003c30\u003e","cub1":"\u0008$\u003c2\u003e","cuu1":"\u001a$\u003c2\u003e","pad":"\u0000","kbs":"\u0008","kf1":"\u00021\r","kf2":"\u00022\r","kf3":"\u00023\r","kf4":"\u00024\r","kf5":"\u00025\r","kf6":"\u00026\r","kf7":"\u00027\r","kf8":"\u00028\r","kf9":"\u00029\r","kf10":"\u0002:\r","kf11":"\u0002;\r","kf12":"\u0002\u003c\r","kf13":"\u0002=\r","kf14":"\u0002\u003e\r","kf15":"\u0002?\r","kf16":"\u0002@\r","kf17":"\u0002!\r","kf18":"\u0002\"\r","kf19":"\u0002#\r","kf20":"\u0002$\r","kf21":"\u0002%^M","kf22":"\u0002\u0026\r","kf23":"\u0002'\r","kf24":"\u0002(\r","kf25":"\u0002)\r","kf26":"\u0002*\r","kf27":"\u0002+\r","kf28":"\u0002,\r","kf29":"\u0002-\r","kf30":"\u0002.\r","kf31":"\u0002/\r","kf32":"\u00020\r","kich":"\u001bq","kdch":"\u001bW","khome":"\u0001","kend":"\u001bK","kpp":"\u001bJ","knp":"\u001bJ","kcuu1":"\u001a","kcud1":"\n","kcub1":"\u0015","kcuf1":"\u0006","kprt":"\u001bP","acsc":"07a?h;j5k3l2m1n8q:t4u9v=w0x6","smacs":"\u001bcB1\u001bH\u0002","rmacs":"\u001bcB0\u001bH\u0003","kRIT":"\u0006","kHOM":"\u0001","kEND":"\u001bk"} -{"name":"ncr260vt100an","cols":80,"lines":24,"bell":"\u0007","clear":"\u001b[2J\u001b[1;1H$\u003c20\u003e","cnorm":"\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b[0m\u000f$\u003c20\u003e","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","cup":"\u001b[%i%p1%d;%p2%dH$\u003c10\u003e","cub1":"\u001b[D$\u003c5\u003e","cuu1":"\u001b[A$\u003c5\u003e","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kich":"\u001b[2~","kdch":"\u001b[3~","khlp":"\u001b[28~","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC","acsc":"``aaffggjjkkllmmnnooqqssttuuvvwwxx~~","smacs":"\u000e","rmacs":"\u000f"} -{"name":"ncr260vt100pp","cols":80,"lines":24,"bell":"\u0007","clear":"\u001b[2J\u001b[1;1H$\u003c20\u003e","cnorm":"\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b[0m\u000f$\u003c20\u003e","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","smkx":"\u001b=","rmkx":"\u001b\u003e","cup":"\u001b[%i%p1%d;%p2%dH$\u003c10\u003e","cub1":"\u001b[D$\u003c5\u003e","cuu1":"\u001b[A$\u003c5\u003e","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kich":"\u001b[1~","kdch":"\u001b[4~","khome":"\u001b[2~","kend":"\u001b[5~","khlp":"\u001b[28~","kpp":"\u001b[3~","knp":"\u001b[6~","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","acsc":"``aaffggjjkkllmmnnooqqssttuuvvwwxx~~","smacs":"\u000e","rmacs":"\u000f"} -{"name":"ncr260vt100wan","cols":132,"lines":24,"bell":"\u0007","clear":"\u001b[2J\u001b[1;1H$\u003c20\u003e","cnorm":"\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b[0m\u000f$\u003c20\u003e","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","cup":"\u001b[%i%p1%d;%p2%dH$\u003c30\u003e","cub1":"\u001b[D$\u003c5\u003e","cuu1":"\u001b[A$\u003c5\u003e","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kich":"\u001b[2~","kdch":"\u001b[3~","khlp":"\u001b[28~","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC","acsc":"``aaffggjjkkllmmnnooqqssttuuvvwwxx~~","smacs":"\u000e","rmacs":"\u000f"} -{"name":"ncr260vt100wpp","cols":132,"lines":24,"bell":"\u0007","clear":"\u001b[2J\u001b[1;1H$\u003c20\u003e","cnorm":"\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b[0m\u000f$\u003c20\u003e","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","smkx":"\u001b=","rmkx":"\u001b\u003e","cup":"\u001b[%i%p1%d;%p2%dH$\u003c30\u003e","cub1":"\u001b[D$\u003c5\u003e","cuu1":"\u001b[A$\u003c5\u003e","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kich":"\u001b[1~","kdch":"\u001b[4~","khome":"\u001b[2~","kend":"\u001b[5~","khlp":"\u001b[28~","kpp":"\u001b[3~","knp":"\u001b[6~","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","acsc":"``aaffggjjkkllmmnnooqqssttuuvvwwxx~~","smacs":"\u000e","rmacs":"\u000f"} -{"name":"ncr260vt200an","cols":80,"lines":24,"bell":"\u0007","clear":"\u001b[2J\u001b[1;1H$\u003c20\u003e","cnorm":"\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b[0m\u000f$\u003c20\u003e","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","cup":"\u001b[%i%p1%d;%p2%dH$\u003c10\u003e","cub1":"\u001b[D$\u003c5\u003e","cuu1":"\u001b[A$\u003c5\u003e","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kf5":"\u001b[M","kf6":"\u001b[17~","kf7":"\u001b[18~","kf8":"\u001b[19~","kf9":"\u001b[20~","kf10":"\u001b[21~","kf11":"\u001b[23~","kf12":"\u001b[24~","kf13":"\u001b[25~","kf14":"\u001b[26~","kf15":"\u001b[28~","kf16":"\u001b[29~","kf17":"\u001b[31~","kf18":"\u001b[32~","kf19":"\u001b[33~","kf20":"\u001b[34~","kf21":"\u001b[31~","kf22":"\u001b[32~","kf23":"\u001b[33~","kf24":"\u001b[34~","kf25":"\u001b[35~","kf26":"\u001b[1~","kf27":"\u001b[2~","kf28":"\u001b[3~","kf29":"\u001b[4~","kf30":"\u001b[5~","kf31":"\u001b[6~","kf32":"\u001b[7~","kf33":"\u001b[8~","kf34":"\u001b[9~","kf35":"\u001b[10~","kich":"\u001b[2~","kdch":"\u001b[3~","khlp":"\u001b[28~","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC","acsc":"``aaffggjjkkllmmnnooqqssttuuvvwwxx~~","smacs":"\u000e$\u003c20\u003e","rmacs":"\u000f$\u003c20\u003e"} -{"name":"ncr260vt200pp","cols":80,"lines":24,"bell":"\u0007","clear":"\u001b[2J\u001b[1;1H$\u003c20\u003e","cnorm":"\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b[0m\u000f$\u003c20\u003e","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","smkx":"\u001b=","rmkx":"\u001b\u003e","cup":"\u001b[%i%p1%d;%p2%dH$\u003c10\u003e","cub1":"\u001b[D$\u003c5\u003e","cuu1":"\u001b[A$\u003c5\u003e","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kf5":"\u001b[M","kf6":"\u001b[17~","kf7":"\u001b[18~","kf8":"\u001b[19~","kf9":"\u001b[20~","kf10":"\u001b[21~","kf11":"\u001b[23~","kf12":"\u001b[24~","kf13":"\u001b[25~","kf14":"\u001b[26~","kf15":"\u001b[28~","kf16":"\u001b[29~","kf17":"\u001b[31~","kf18":"\u001b[32~","kf19":"\u001b[33~","kf20":"\u001b[34~","kf21":"\u001b[31~","kf22":"\u001b[32~","kf23":"\u001b[33~","kf24":"\u001b[34~","kf25":"\u001b[35~","kf26":"\u001b[1~","kf27":"\u001b[2~","kf28":"\u001b[3~","kf29":"\u001b[4~","kf30":"\u001b[5~","kf31":"\u001b[6~","kf32":"\u001b[7~","kf33":"\u001b[8~","kf34":"\u001b[9~","kf35":"\u001b[10~","kich":"\u001b[2~","kdch":"\u001b[4~","khome":"\u001b[H","kend":"\u001b[1~","khlp":"\u001b[28~","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","acsc":"``aaffggjjkkllmmnnooqqssttuuvvwwxx~~","smacs":"\u000e$\u003c20\u003e","rmacs":"\u000f$\u003c20\u003e"} -{"name":"ncr260vt200wan","cols":132,"lines":24,"bell":"\u0007","clear":"\u001b[2J\u001b[1;1H$\u003c20\u003e","cnorm":"\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b[0m\u000f$\u003c20\u003e","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","cup":"\u001b[%i%p1%d;%p2%dH$\u003c30\u003e","cub1":"\u001b[D$\u003c5\u003e","cuu1":"\u001b[A$\u003c5\u003e","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kf5":"\u001b[M","kf6":"\u001b[17~","kf7":"\u001b[18~","kf8":"\u001b[19~","kf9":"\u001b[20~","kf10":"\u001b[21~","kf11":"\u001b[23~","kf12":"\u001b[24~","kf13":"\u001b[25~","kf14":"\u001b[26~","kf15":"\u001b[28~","kf16":"\u001b[29~","kf17":"\u001b[31~","kf18":"\u001b[32~","kf19":"\u001b[33~","kf20":"\u001b[34~","kf21":"\u001b[31~","kf22":"\u001b[32~","kf23":"\u001b[33~","kf24":"\u001b[34~","kf25":"\u001b[35~","kf26":"\u001b[1~","kf27":"\u001b[2~","kf28":"\u001b[3~","kf29":"\u001b[4~","kf30":"\u001b[5~","kf31":"\u001b[6~","kf32":"\u001b[7~","kf33":"\u001b[8~","kf34":"\u001b[9~","kf35":"\u001b[10~","kich":"\u001b[2~","kdch":"\u001b[3~","khlp":"\u001b[28~","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC","acsc":"``aaffggjjkkllmmnnooqqssttuuvvwwxx~~","smacs":"\u000e$\u003c20\u003e","rmacs":"\u000f$\u003c20\u003e"} -{"name":"ncr260vt200wpp","cols":132,"lines":24,"bell":"\u0007","clear":"\u001b[2J\u001b[1;1H$\u003c20\u003e","cnorm":"\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b[0m\u000f$\u003c20\u003e","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","smkx":"\u001b=","rmkx":"\u001b\u003e","cup":"\u001b[%i%p1%d;%p2%dH$\u003c30\u003e","cub1":"\u001b[D$\u003c5\u003e","cuu1":"\u001b[A$\u003c5\u003e","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kf5":"\u001b[M","kf6":"\u001b[17~","kf7":"\u001b[18~","kf8":"\u001b[19~","kf9":"\u001b[20~","kf10":"\u001b[21~","kf11":"\u001b[23~","kf12":"\u001b[24~","kf13":"\u001b[25~","kf14":"\u001b[26~","kf15":"\u001b[28~","kf16":"\u001b[29~","kf17":"\u001b[31~","kf18":"\u001b[32~","kf19":"\u001b[33~","kf20":"\u001b[34~","kf21":"\u001b[31~","kf22":"\u001b[32~","kf23":"\u001b[33~","kf24":"\u001b[34~","kf25":"\u001b[35~","kf26":"\u001b[1~","kf27":"\u001b[2~","kf28":"\u001b[3~","kf29":"\u001b[4~","kf30":"\u001b[5~","kf31":"\u001b[6~","kf32":"\u001b[7~","kf33":"\u001b[8~","kf34":"\u001b[9~","kf35":"\u001b[10~","kich":"\u001b[2~","kdch":"\u001b[4~","khome":"\u001b[H","kend":"\u001b[1~","khlp":"\u001b[28~","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","acsc":"``aaffggjjkkllmmnnooqqssttuuvvwwxx~~","smacs":"\u000e$\u003c20\u003e","rmacs":"\u000f$\u003c20\u003e"} -{"name":"ncr260vt300an","cols":80,"lines":24,"bell":"\u0007","clear":"\u001b[2J\u001b[1;1H$\u003c20\u003e","cnorm":"\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b[0m\u000f$\u003c20\u003e","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","cup":"\u001b[%i%p1%d;%p2%dH$\u003c10\u003e","cub1":"\u001b[D$\u003c5\u003e","cuu1":"\u001b[A$\u003c5\u003e","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kf5":"\u001b[M","kf6":"\u001b[17~","kf7":"\u001b[18~","kf8":"\u001b[19~","kf9":"\u001b[20~","kf10":"\u001b[21~","kf11":"\u001b[23~","kf12":"\u001b[24~","kf13":"\u001b[25~","kf14":"\u001b[26~","kf15":"\u001b[28~","kf16":"\u001b[29~","kf17":"\u001b[31~","kf18":"\u001b[32~","kf19":"\u001b[33~","kf20":"\u001b[34~","kf21":"\u001b[31~","kf22":"\u001b[32~","kf23":"\u001b[33~","kf24":"\u001b[34~","kf25":"\u001b[35~","kf26":"\u001b[1~","kf27":"\u001b[2~","kf28":"\u001b[3~","kf29":"\u001b[4~","kf30":"\u001b[5~","kf31":"\u001b[6~","kf32":"\u001b[7~","kf33":"\u001b[8~","kf34":"\u001b[9~","kf35":"\u001b[10~","kich":"\u001b[2~","kdch":"\u001b[3~","khlp":"\u001b[28~","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC","acsc":"``aaffggjjkkllmmnnooqqssttuuvvwwxx~~","smacs":"\u000e$\u003c20\u003e","rmacs":"\u000f$\u003c20\u003e"} -{"name":"ncr260vt300pp","cols":80,"lines":24,"bell":"\u0007","clear":"\u001b[2J\u001b[1;1H$\u003c20\u003e","cnorm":"\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b[0m\u000f$\u003c20\u003e","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","smkx":"\u001b=","rmkx":"\u001b\u003e","cup":"\u001b[%i%p1%d;%p2%dH$\u003c10\u003e","cub1":"\u001b[D$\u003c5\u003e","cuu1":"\u001b[A$\u003c5\u003e","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kf5":"\u001b[M","kf6":"\u001b[17~","kf7":"\u001b[18~","kf8":"\u001b[19~","kf9":"\u001b[20~","kf10":"\u001b[21~","kf11":"\u001b[23~","kf12":"\u001b[24~","kf13":"\u001b[25~","kf14":"\u001b[26~","kf15":"\u001b[28~","kf16":"\u001b[29~","kf17":"\u001b[31~","kf18":"\u001b[32~","kf19":"\u001b[33~","kf20":"\u001b[34~","kf21":"\u001b[31~","kf22":"\u001b[32~","kf23":"\u001b[33~","kf24":"\u001b[34~","kf25":"\u001b[35~","kf26":"\u001b[1~","kf27":"\u001b[2~","kf28":"\u001b[3~","kf29":"\u001b[4~","kf30":"\u001b[5~","kf31":"\u001b[6~","kf32":"\u001b[7~","kf33":"\u001b[8~","kf34":"\u001b[9~","kf35":"\u001b[10~","kich":"\u001b[2~","kdch":"\u001b[4~","khome":"\u001b[H","kend":"\u001b[1~","khlp":"\u001b[28~","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","acsc":"``aaffggjjkkllmmnnooqqssttuuvvwwxx~~","smacs":"\u000e$\u003c20\u003e","rmacs":"\u000f$\u003c20\u003e"} -{"name":"ncr260vt300wan","cols":132,"lines":24,"bell":"\u0007","clear":"\u001b[2J\u001b[1;1H$\u003c20\u003e","cnorm":"\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b[0m\u000f$\u003c20\u003e","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","cup":"\u001b[%i%p1%d;%p2%dH$\u003c30\u003e","cub1":"\u001b[D$\u003c5\u003e","cuu1":"\u001b[A$\u003c5\u003e","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kf5":"\u001b[M","kf6":"\u001b[17~","kf7":"\u001b[18~","kf8":"\u001b[19~","kf9":"\u001b[20~","kf10":"\u001b[21~","kf11":"\u001b[23~","kf12":"\u001b[24~","kf13":"\u001b[25~","kf14":"\u001b[26~","kf15":"\u001b[28~","kf16":"\u001b[29~","kf17":"\u001b[31~","kf18":"\u001b[32~","kf19":"\u001b[33~","kf20":"\u001b[34~","kf21":"\u001b[31~","kf22":"\u001b[32~","kf23":"\u001b[33~","kf24":"\u001b[34~","kf25":"\u001b[35~","kf26":"\u001b[1~","kf27":"\u001b[2~","kf28":"\u001b[3~","kf29":"\u001b[4~","kf30":"\u001b[5~","kf31":"\u001b[6~","kf32":"\u001b[7~","kf33":"\u001b[8~","kf34":"\u001b[9~","kf35":"\u001b[10~","kich":"\u001b[2~","kdch":"\u001b[3~","khlp":"\u001b[28~","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC","acsc":"``aaffggjjkkllmmnnooqqssttuuvvwwxx~~","smacs":"\u000e$\u003c20\u003e","rmacs":"\u000f$\u003c20\u003e"} -{"name":"ncr260wy325pp","cols":80,"lines":24,"bell":"\u0007","clear":"\u001b*$\u003c10\u003e","cnorm":"\u001b`1","civis":"\u001b`0","sgr0":"\u001bG0\u001bcB0\u001bcD$\u003c15\u003e","smul":"\u001bG8","blink":"\u001bG2","rev":"\u001bG4","cup":"\u001b=%p1%' '%+%c%p2%' '%+%c$\u003c10\u003e","cub1":"\u0008$\u003c5\u003e","cuu1":"\u000b$\u003c5\u003e","pad":"\u0000","kbs":"\u0008","kf1":"\u0001@\r","kf2":"\u0001A\r","kf3":"\u0001B\r","kf4":"\u0001C\r","kf5":"\u0001D\r","kf6":"\u0001E\r","kf7":"\u0001F\r","kf8":"\u0001G\r","kf9":"\u0001H\r","kf10":"\u0001I\r","kf11":"\u0001J\r","kf12":"\u0001K\r","kf13":"\u0001L\r","kf14":"\u0001M\r","kf15":"\u0001N\r","kf16":"\u0001O\r","kf17":"\u0001`\r","kf18":"\u0001a\r","kf19":"\u0001b\r","kf20":"\u0001c\r","kf21":"\u0001d\r","kf22":"\u0001e\r","kf23":"\u0001f\r","kf24":"\u0001g\r","kf25":"\u0001h\r","kf26":"\u0001i\r","kf27":"\u0001j\r","kf28":"\u0001k\r","kf29":"\u0001l\r","kf30":"\u0001m\r","kf31":"\u0001n\r","kf32":"\u0001o\r","kich":"\u001bq","kdch":"\u001bW","khome":"\u001e","kend":"\u001bT","kpp":"\u001bJ","knp":"\u001bK","kcuu1":"\u000b","kcud1":"\n","kcub1":"\u0008","kcuf1":"\u000c","kcbt":"\u001bI","kprt":"\u001bP","acsc":"07a?h;j5k3l2m1n8q:t4u9v=w0x6","smacs":"\u001bH\u0002\u001bcB1","rmacs":"\u001bH\u0003\u001bcB0","kRIT":"\u000c","kHOM":"\u001b{","kEND":"\u001bY"} -{"name":"ncr260wy325wpp","cols":132,"lines":24,"bell":"\u0007","clear":"\u001b*$\u003c10\u003e","cnorm":"\u001b`1","civis":"\u001b`0","sgr0":"\u001bG0\u001bcB0\u001bcD$\u003c15\u003e","smul":"\u001bG8","blink":"\u001bG2","rev":"\u001bG4","cup":"\u001ba%i%p1%dR%p2%dC$\u003c30\u003e","cub1":"\u0008$\u003c5\u003e","cuu1":"\u000b$\u003c5\u003e","pad":"\u0000","kbs":"\u0008","kf1":"\u0001@\r","kf2":"\u0001A\r","kf3":"\u0001B\r","kf4":"\u0001C\r","kf5":"\u0001D\r","kf6":"\u0001E\r","kf7":"\u0001F\r","kf8":"\u0001G\r","kf9":"\u0001H\r","kf10":"\u0001I\r","kf11":"\u0001J\r","kf12":"\u0001K\r","kf13":"\u0001L\r","kf14":"\u0001M\r","kf15":"\u0001N\r","kf16":"\u0001O\r","kf17":"\u0001`\r","kf18":"\u0001a\r","kf19":"\u0001b\r","kf20":"\u0001c\r","kf21":"\u0001d\r","kf22":"\u0001e\r","kf23":"\u0001f\r","kf24":"\u0001g\r","kf25":"\u0001h\r","kf26":"\u0001i\r","kf27":"\u0001j\r","kf28":"\u0001k\r","kf29":"\u0001l\r","kf30":"\u0001m\r","kf31":"\u0001n\r","kf32":"\u0001o\r","kich":"\u001bq","kdch":"\u001bW","khome":"\u001e","kend":"\u001bT","kpp":"\u001bJ","knp":"\u001bK","kcuu1":"\u000b","kcud1":"\n","kcub1":"\u0008","kcuf1":"\u000c","kcbt":"\u001bI","kprt":"\u001bP","acsc":"07a?h;j5k3l2m1n8q:t4u9v=w0x6","smacs":"\u001bH\u0002\u001bcB1","rmacs":"\u001bH\u0003\u001bcB0","kRIT":"\u000c","kHOM":"\u001b{","kEND":"\u001bY"} -{"name":"ncr260wy350pp","cols":80,"lines":24,"bell":"\u0007","clear":"\u001b+$\u003c20\u003e","cnorm":"\u001b`1","civis":"\u001b`0","sgr0":"\u001bG0\u001bH\u0003\u001bcD","smul":"\u001bG8","blink":"\u001bG2","rev":"\u001bG4","dim":"\u001bGp","cup":"\u001b=%p1%' '%+%c%p2%' '%+%c$\u003c40\u003e","cub1":"\u0008$\u003c5\u003e","cuu1":"\u000b$\u003c5\u003e","pad":"\u0000","kbs":"\u0008","kf1":"\u0001@\r","kf2":"\u0001A\r","kf3":"\u0001B\r","kf4":"\u0001C\r","kf5":"\u0001D\r","kf6":"\u0001E\r","kf7":"\u0001F\r","kf8":"\u0001G\r","kf9":"\u0001H\r","kf10":"\u0001I\r","kf11":"\u0001J\r","kf12":"\u0001K\r","kf13":"\u0001L\r","kf14":"\u0001M\r","kf15":"\u0001N\r","kf16":"\u0001O\r","kf17":"\u0001`\r","kf18":"\u0001a\r","kf19":"\u0001b\r","kf20":"\u0001c\r","kf21":"\u0001d\r","kf22":"\u0001e\r","kf23":"\u0001f\r","kf24":"\u0001g\r","kf25":"\u0001h\r","kf26":"\u0001i\r","kf27":"\u0001j\r","kf28":"\u0001k\r","kf29":"\u0001l\r","kf30":"\u0001m\r","kf31":"\u0001n\r","kf32":"\u0001o\r","kich":"\u001bq","kdch":"\u001bW","khome":"\u001e","kend":"\u001bT","kpp":"\u001bJ","knp":"\u001bK","kcuu1":"\u000b","kcud1":"\n","kcub1":"\u0008","kcuf1":"\u000c","kcbt":"\u001bI","kprt":"\u001bP","acsc":"07a?h;j5k3l2m1n8q:t4u9v=w0x6","smacs":"\u001bH\u0002\u001bcB1","rmacs":"\u001bH\u0003\u001bcB0","kRIT":"\u000c","kHOM":"\u001b{","kEND":"\u001bY"} -{"name":"ncr260wy350wpp","cols":132,"lines":24,"bell":"\u0007","clear":"\u001b+$\u003c20\u003e","cnorm":"\u001b`1","civis":"\u001b`0","sgr0":"\u001bG0\u001bH\u0003\u001bcD","smul":"\u001bG8","blink":"\u001bG2","rev":"\u001bG4","dim":"\u001bGp","cup":"\u001ba%i%p1%dR%p2%dC$\u003c30\u003e","cub1":"\u0008$\u003c5\u003e","cuu1":"\u000b$\u003c5\u003e","pad":"\u0000","kbs":"\u0008","kf1":"\u0001@\r","kf2":"\u0001A\r","kf3":"\u0001B\r","kf4":"\u0001C\r","kf5":"\u0001D\r","kf6":"\u0001E\r","kf7":"\u0001F\r","kf8":"\u0001G\r","kf9":"\u0001H\r","kf10":"\u0001I\r","kf11":"\u0001J\r","kf12":"\u0001K\r","kf13":"\u0001L\r","kf14":"\u0001M\r","kf15":"\u0001N\r","kf16":"\u0001O\r","kf17":"\u0001`\r","kf18":"\u0001a\r","kf19":"\u0001b\r","kf20":"\u0001c\r","kf21":"\u0001d\r","kf22":"\u0001e\r","kf23":"\u0001f\r","kf24":"\u0001g\r","kf25":"\u0001h\r","kf26":"\u0001i\r","kf27":"\u0001j\r","kf28":"\u0001k\r","kf29":"\u0001l\r","kf30":"\u0001m\r","kf31":"\u0001n\r","kf32":"\u0001o\r","kich":"\u001bq","kdch":"\u001bW","khome":"\u001e","kend":"\u001bT","kpp":"\u001bJ","knp":"\u001bK","kcuu1":"\u000b","kcud1":"\n","kcub1":"\u0008","kcuf1":"\u000c","kcbt":"\u001bI","kprt":"\u001bP","acsc":"07a?h;j5k3l2m1n8q:t4u9v=w0x6","smacs":"\u001bH\u0002\u001bcB1","rmacs":"\u001bH\u0003\u001bcB0","kRIT":"\u000c","kHOM":"\u001b{","kEND":"\u001bY"} -{"name":"ncr260wy50+pp","cols":80,"lines":24,"bell":"\u0007","clear":"\u001b+$\u003c20\u003e","cnorm":"\u001b`1","civis":"\u001b`0","sgr0":"\u001bG0\u001bH\u0003$\u003c15\u003e","smul":"\u001bG8","blink":"\u001bG2","rev":"\u001bG4","dim":"\u001bGp","cup":"\u001b=%p1%' '%+%c%p2%' '%+%c$\u003c30\u003e","cub1":"\u0008$\u003c5\u003e","cuu1":"\u000b$\u003c5\u003e","pad":"\u0000","kbs":"\u0008","kf1":"\u0001@\r","kf2":"\u0001A\r","kf3":"\u0001B\r","kf4":"\u0001C\r","kf5":"\u0001D\r","kf6":"\u0001E\r","kf7":"\u0001F\r","kf8":"\u0001G\r","kf9":"\u0001H\r","kf10":"\u0001I\r","kf11":"\u0001J\r","kf12":"\u0001K\r","kf13":"\u0001L\r","kf14":"\u0001M\r","kf15":"\u0001N\r","kf16":"\u0001O\r","kf17":"\u0001`\r","kf18":"\u0001a\r","kf19":"\u0001b\r","kf20":"\u0001c\r","kf21":"\u0001d\r","kf22":"\u0001e\r","kf23":"\u0001f\r","kf24":"\u0001g\r","kf25":"\u0001h\r","kf26":"\u0001i\r","kf27":"\u0001j\r","kf28":"\u0001k\r","kf29":"\u0001l\r","kf30":"\u0001m\r","kf31":"\u0001n\r","kf32":"\u0001o\r","kich":"\u001bq","kdch":"\u001bW","khome":"\u001e","kend":"\u001bT","kpp":"\u001bJ","knp":"\u001bK","kcuu1":"\u000b","kcud1":"\n","kcub1":"\u0008","kcuf1":"\u000c","kcbt":"\u001bI","kprt":"\u001bP","acsc":"0wa_h[jukslrmqnxqzttuyv]wpxv","smacs":"\u001bH\u0002","rmacs":"\u001bH\u0003","kRIT":"\u000c","kHOM":"\u001b{","kEND":"\u001bY"} -{"name":"ncr260wy50+wpp","cols":132,"lines":24,"bell":"\u0007","clear":"\u001b+$\u003c20\u003e","cnorm":"\u001b`1","civis":"\u001b`0","sgr0":"\u001bG0\u001bH\u0003$\u003c15\u003e","smul":"\u001bG8","blink":"\u001bG2","rev":"\u001bG4","dim":"\u001bGp","cup":"\u001ba%i%p1%dR%p2%dC$\u003c30\u003e","cub1":"\u0008$\u003c5\u003e","cuu1":"\u000b$\u003c5\u003e","pad":"\u0000","kbs":"\u0008","kf1":"\u0001@\r","kf2":"\u0001A\r","kf3":"\u0001B\r","kf4":"\u0001C\r","kf5":"\u0001D\r","kf6":"\u0001E\r","kf7":"\u0001F\r","kf8":"\u0001G\r","kf9":"\u0001H\r","kf10":"\u0001I\r","kf11":"\u0001J\r","kf12":"\u0001K\r","kf13":"\u0001L\r","kf14":"\u0001M\r","kf15":"\u0001N\r","kf16":"\u0001O\r","kf17":"\u0001`\r","kf18":"\u0001a\r","kf19":"\u0001b\r","kf20":"\u0001c\r","kf21":"\u0001d\r","kf22":"\u0001e\r","kf23":"\u0001f\r","kf24":"\u0001g\r","kf25":"\u0001h\r","kf26":"\u0001i\r","kf27":"\u0001j\r","kf28":"\u0001k\r","kf29":"\u0001l\r","kf30":"\u0001m\r","kf31":"\u0001n\r","kf32":"\u0001o\r","kich":"\u001bq","kdch":"\u001bW","khome":"\u001e","kend":"\u001bT","kpp":"\u001bJ","knp":"\u001bK","kcuu1":"\u000b","kcud1":"\n","kcub1":"\u0008","kcuf1":"\u000c","kcbt":"\u001bI","kprt":"\u001bP","acsc":"0wa_h[jukslrmqnxqzttuyv]wpxv","smacs":"\u001bH\u0002","rmacs":"\u001bH\u0003","kRIT":"\u000c","kHOM":"\u001b{","kEND":"\u001bY"} -{"name":"ncr260wy60pp","cols":80,"lines":24,"bell":"\u0007","clear":"\u001b*$\u003c100\u003e","cnorm":"\u001b`1","civis":"\u001b`0","sgr0":"\u001bG0\u001bcB0\u001bcD$\u003c15\u003e","smul":"\u001bG8","blink":"\u001bG2","rev":"\u001bG4","cup":"\u001b=%p1%' '%+%c%p2%' '%+%c$\u003c10\u003e","cub1":"\u0008$\u003c5\u003e","cuu1":"\u000b$\u003c5\u003e","pad":"\u0000","kbs":"\u0008","kf1":"\u0001@\r","kf2":"\u0001A\r","kf3":"\u0001B\r","kf4":"\u0001C\r","kf5":"\u0001D\r","kf6":"\u0001E\r","kf7":"\u0001F\r","kf8":"\u0001G\r","kf9":"\u0001H\r","kf10":"\u0001I\r","kf11":"\u0001J\r","kf12":"\u0001K\r","kf13":"\u0001L\r","kf14":"\u0001M\r","kf15":"\u0001N\r","kf16":"\u0001O\r","kf17":"\u0001`\r","kf18":"\u0001a\r","kf19":"\u0001b\r","kf20":"\u0001c\r","kf21":"\u0001d\r","kf22":"\u0001e\r","kf23":"\u0001f\r","kf24":"\u0001g\r","kf25":"\u0001h\r","kf26":"\u0001i\r","kf27":"\u0001j\r","kf28":"\u0001k\r","kf29":"\u0001l\r","kf30":"\u0001m\r","kf31":"\u0001n\r","kf32":"\u0001o\r","kich":"\u001bq","kdch":"\u001bW","khome":"\u001e","kend":"\u001bT","kpp":"\u001bJ","knp":"\u001bK","kcuu1":"\u000b","kcud1":"\n","kcub1":"\u0008","kcuf1":"\u000c","kcbt":"\u001bI$\u003c15\u003e","kprt":"\u001bP","acsc":"07a?h;j5k3l2m1n8q:t4u9v=w0x6","smacs":"\u001bH\u0002","rmacs":"\u001bH\u0003","kRIT":"\u000c","kHOM":"\u001b{","kEND":"\u001bY"} -{"name":"ncr260wy60wpp","cols":132,"lines":24,"bell":"\u0007","clear":"\u001b*$\u003c100\u003e","cnorm":"\u001b`1","civis":"\u001b`0","sgr0":"\u001bG0\u001bcB0\u001bcD$\u003c15\u003e","smul":"\u001bG8","blink":"\u001bG2","rev":"\u001bG4","cup":"\u001ba%i%p1%dR%p2%dC$\u003c30\u003e","cub1":"\u0008$\u003c5\u003e","cuu1":"\u000b$\u003c5\u003e","pad":"\u0000","kbs":"\u0008","kf1":"\u0001@\r","kf2":"\u0001A\r","kf3":"\u0001B\r","kf4":"\u0001C\r","kf5":"\u0001D\r","kf6":"\u0001E\r","kf7":"\u0001F\r","kf8":"\u0001G\r","kf9":"\u0001H\r","kf10":"\u0001I\r","kf11":"\u0001J\r","kf12":"\u0001K\r","kf13":"\u0001L\r","kf14":"\u0001M\r","kf15":"\u0001N\r","kf16":"\u0001O\r","kf17":"\u0001`\r","kf18":"\u0001a\r","kf19":"\u0001b\r","kf20":"\u0001c\r","kf21":"\u0001d\r","kf22":"\u0001e\r","kf23":"\u0001f\r","kf24":"\u0001g\r","kf25":"\u0001h\r","kf26":"\u0001i\r","kf27":"\u0001j\r","kf28":"\u0001k\r","kf29":"\u0001l\r","kf30":"\u0001m\r","kf31":"\u0001n\r","kf32":"\u0001o\r","kich":"\u001bq","kdch":"\u001bW","khome":"\u001e","kend":"\u001bT","kpp":"\u001bJ","knp":"\u001bK","kcuu1":"\u000b","kcud1":"\n","kcub1":"\u0008","kcuf1":"\u000c","kcbt":"\u001bI$\u003c15\u003e","kprt":"\u001bP","acsc":"07a?h;j5k3l2m1n8q:t4u9v=w0x6","smacs":"\u001bH\u0002","rmacs":"\u001bH\u0003","kRIT":"\u000c","kHOM":"\u001b{","kEND":"\u001bY"} -{"name":"ncr7900i","aliases":["ncr7900"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u000c","sgr0":"\u001b0@","smul":"\u001b0`","blink":"\u001b0B","rev":"\u001b0P","dim":"\u001b0A","cup":"\u001b1%p2%c%p1%c","cub1":"\u0008","cuu1":"\u001a","pad":"\u0000","khome":"\u0001","kcuu1":"\u001a","kcud1":"\n","kcub1":"\u0015","kcuf1":"\u0006"} -{"name":"ncr7900iv","cols":80,"lines":24,"bell":"\u0007","clear":"\u000c","cup":"\u000b%p1%'@'%+%c\u001b\u0005%p2%02d","cub1":"\u0008","pad":"\u0000","kbs":"\u0008","kf1":"\u001bS","kf2":"\u001bT","kf3":"\u001bU","kf4":"\u001bV","kf5":"\u001bW","kf6":"\u001bP","kf7":"\u001bQ","kf8":"\u001bR","khome":"\u001bH","kcuu1":"\u001bA","kcud1":"\u001bB","kcub1":"\u001bD","kcuf1":"\u001bC"} -{"name":"ncr7901","cols":80,"lines":24,"bell":"\u0007","clear":"\u000c","cnorm":"\u0018","civis":"\u0017","sgr0":"\u000f","smul":"\u001b0`\u000e","blink":"\u001b0B","rev":"\u001b0P","dim":"\u001b0A","cup":"\u001bY%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u001a","pad":"\u0000","khome":"\u0008","kcuu1":"\u001a","kcud1":"\n","kcub1":"\u0015","kcuf1":"\u0006","kclr":"\u000c"} -{"name":"ncrvt100an","aliases":["ncrvt100pp"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u001b[2J\u001b[1;1H$\u003c300\u003e","sgr0":"\u000f\u001b[0m$\u003c120\u003e","smul":"\u001b[4m$\u003c30\u003e","bold":"\u001b[1m$\u003c30\u003e","blink":"\u001b[5m$\u003c30\u003e","rev":"\u001b[7m$\u003c30\u003e","cup":"\u001b[%i%p1%d;%p2%dH$\u003c100\u003e","cub1":"\u001b[D$\u003c2\u003e","cuu1":"\u001b[A$\u003c2\u003e","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","acsc":"``aaffgghhiijjkkllmmnnqqttuuvvwwxxyyzz~~","smacs":"\u000e$\u003c90\u003e","rmacs":"\u000f$\u003c90\u003e","enacs":"\u001b(B\u001b)0$\u003c40\u003e","kRIT":"\u001b[C","kLFT":"\u001b[D"} -{"name":"ncrvt100wan","aliases":["NCRVT100WPP","ncrvt100wpp"],"cols":132,"lines":24,"bell":"\u0007","clear":"\u001b[2J\u001b[1;1H$\u003c300\u003e","sgr0":"\u000f\u001b[0m$\u003c120\u003e","smul":"\u001b[4m$\u003c30\u003e","bold":"\u001b[1m$\u003c30\u003e","blink":"\u001b[5m$\u003c30\u003e","rev":"\u001b[7m$\u003c30\u003e","cup":"\u001b[%i%p1%d;%p2%dH$\u003c100\u003e","cub1":"\u001b[D$\u003c2\u003e","cuu1":"\u001b[A$\u003c2\u003e","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","acsc":"``aaffgghhiijjkkllmmnnqqttuuvvwwxxyyzz~~","smacs":"\u000e$\u003c90\u003e","rmacs":"\u000f$\u003c90\u003e","enacs":"\u001b(B\u001b)0$\u003c40\u003e","kRIT":"\u001b[C","kLFT":"\u001b[D"} -{"name":"ncsa","cols":-1,"lines":-1,"colors":8,"bell":"\u0007","clear":"\u001b[H\u001b[2J","smcup":"\u001b7","rmcup":"\u001b[2J\u001b8","cnorm":"\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b[m\u001b(B","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","setaf":"\u001b[3%p1%dm","setbg":"\u001b[4%p1%dm","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001b[17~","kf2":"\u001b[18","kf3":"\u001b[19~","kf4":"\u001b[20~","kf5":"\u001b[21~","kf6":"\u001b[23~","kf7":"\u001b[24~","kf8":"\u001b[25~","kf9":"\u001b[26~","kf10":"\u001b[28~","kf11":"\u001b[29~","kf12":"\u001b[31~","kf13":"\u001b[32~","kf14":"\u001b[33~","kf15":"\u001b[34~","kdch":"\u001b[4~","khome":"\u001b[2~","kend":"\u001b[5~","khlp":"\u001b[1~","kpp":"\u001b[3~","knp":"\u001b[6~","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","acsc":"``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u001b(0","rmacs":"\u001b(B","enacs":"\u001b)0","_setfgbg":"\u001b[3%p1%d;4%p2%dm"} -{"name":"ncsa-m","aliases":["ncsa-vt220-8"],"cols":-1,"lines":-1,"bell":"\u0007","clear":"\u001b[H\u001b[2J","smcup":"\u001b7","rmcup":"\u001b[2J\u001b8","cnorm":"\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b[m\u001b(B","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001b[17~","kf2":"\u001b[18","kf3":"\u001b[19~","kf4":"\u001b[20~","kf5":"\u001b[21~","kf6":"\u001b[23~","kf7":"\u001b[24~","kf8":"\u001b[25~","kf9":"\u001b[26~","kf10":"\u001b[28~","kf11":"\u001b[29~","kf12":"\u001b[31~","kf13":"\u001b[32~","kf14":"\u001b[33~","kf15":"\u001b[34~","kdch":"\u001b[4~","khome":"\u001b[2~","kend":"\u001b[5~","khlp":"\u001b[1~","kpp":"\u001b[3~","knp":"\u001b[6~","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","acsc":"``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u001b(0","rmacs":"\u001b(B","enacs":"\u001b)0"} -{"name":"ncsa-m-ns","cols":-1,"lines":-1,"bell":"\u0007","clear":"\u001b[H\u001b[2J","smcup":"\u001b7","rmcup":"\u001b[2J\u001b8","cnorm":"\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b[m\u001b(B","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001b[17~","kf2":"\u001b[18","kf3":"\u001b[19~","kf4":"\u001b[20~","kf5":"\u001b[21~","kf6":"\u001b[23~","kf7":"\u001b[24~","kf8":"\u001b[25~","kf9":"\u001b[26~","kf10":"\u001b[28~","kf11":"\u001b[29~","kf12":"\u001b[31~","kf13":"\u001b[32~","kf14":"\u001b[33~","kf15":"\u001b[34~","kdch":"\u001b[4~","khome":"\u001b[2~","kend":"\u001b[5~","khlp":"\u001b[1~","kpp":"\u001b[3~","knp":"\u001b[6~","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","acsc":"``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u001b(0","rmacs":"\u001b(B","enacs":"\u001b)0"} -{"name":"ncsa-ns","cols":-1,"lines":-1,"colors":8,"bell":"\u0007","clear":"\u001b[H\u001b[2J","smcup":"\u001b7","rmcup":"\u001b[2J\u001b8","cnorm":"\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b[m\u001b(B","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","setaf":"\u001b[3%p1%dm","setbg":"\u001b[4%p1%dm","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001b[17~","kf2":"\u001b[18","kf3":"\u001b[19~","kf4":"\u001b[20~","kf5":"\u001b[21~","kf6":"\u001b[23~","kf7":"\u001b[24~","kf8":"\u001b[25~","kf9":"\u001b[26~","kf10":"\u001b[28~","kf11":"\u001b[29~","kf12":"\u001b[31~","kf13":"\u001b[32~","kf14":"\u001b[33~","kf15":"\u001b[34~","kdch":"\u001b[4~","khome":"\u001b[2~","kend":"\u001b[5~","khlp":"\u001b[1~","kpp":"\u001b[3~","knp":"\u001b[6~","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","acsc":"``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u001b(0","rmacs":"\u001b(B","enacs":"\u001b)0","_setfgbg":"\u001b[3%p1%d;4%p2%dm"} -{"name":"ncsa-vt220","cols":-1,"lines":-1,"colors":8,"bell":"\u0007","clear":"\u001b[H\u001b[2J","smcup":"\u001b7","rmcup":"\u001b[2J\u001b8","cnorm":"\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b[m\u001b(B","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","setaf":"\u001b[3%p1%dm","setbg":"\u001b[4%p1%dm","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kf5":"\u001b[21~","kf6":"\u001b[17~","kf7":"\u001b[18~","kf8":"\u001b[19~","kf9":"\u001b[20~","kf10":"\u001b[21~","kf11":"\u001b[23~","kf12":"\u001b[24~","kf13":"\u001b[25~","kf14":"\u001b[26~","kf15":"\u001b[28~","kf16":"\u001b[29~","kf17":"\u001b[31~","kf18":"\u001b[32~","kf19":"\u001b[33~","kf20":"\u001b[34~","kdch":"\u001b[4~","khome":"\u001b[2~","kend":"\u001b[5~","khlp":"\u001b[1~","kpp":"\u001b[3~","knp":"\u001b[6~","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","acsc":"``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u001b(0","rmacs":"\u001b(B","enacs":"\u001b)0","_setfgbg":"\u001b[3%p1%d;4%p2%dm"} -{"name":"ndr9500","aliases":["nd9500"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u001b;","cnorm":"\u001b.1","civis":"\u001b.0","sgr0":"\u001bG0\u001b%%\u001b(","dim":"\u001b)","cup":"\u001b=%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u000b","pad":"\u0000","kf1":"\u0001@\r","kf2":"\u0001A\r","kf3":"\u0001B\r","kf4":"\u0001C\r","kf5":"\u0001D\r","kf6":"\u0001E\r","kf7":"\u0001F\r","kf8":"\u0001G\r","kf9":"\u0001H\r","kf10":"\u0001I\r","kf11":"\u0001J\r","kf12":"\u0001`\r","kf13":"\u0001a\r","kf14":"\u0001b\r","kf15":"\u0001c\r","kf16":"\u0001d\r","kf17":"\u0001e\r","kf18":"\u0001f\r","kf19":"\u0001g\r","kf20":"\u0001h\r","kf21":"\u0001i\r","kf22":"\u0001j\r","kich":"\u001bQ","kdch":"\u001bW","khome":"\u001e","kcuu1":"\u000b","kcud1":"\u0016","kcub1":"\u0008","kcuf1":"\u000c","kcbt":"\u001bI","kclr":"\u001a","kprt":"\u001bP","acsc":"qKnImAjDwNuLtMvOlBkCxJ","smacs":"\u001b$","rmacs":"\u001b%%"} -{"name":"ndr9500-25","cols":80,"lines":25,"bell":"\u0007","clear":"\u001b;","cnorm":"\u001b.1","civis":"\u001b.0","sgr0":"\u001bG0\u001b%%\u001b(","dim":"\u001b)","cup":"\u001b=%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u000b","pad":"\u0000","kf1":"\u0001@\r","kf2":"\u0001A\r","kf3":"\u0001B\r","kf4":"\u0001C\r","kf5":"\u0001D\r","kf6":"\u0001E\r","kf7":"\u0001F\r","kf8":"\u0001G\r","kf9":"\u0001H\r","kf10":"\u0001I\r","kf11":"\u0001J\r","kf12":"\u0001`\r","kf13":"\u0001a\r","kf14":"\u0001b\r","kf15":"\u0001c\r","kf16":"\u0001d\r","kf17":"\u0001e\r","kf18":"\u0001f\r","kf19":"\u0001g\r","kf20":"\u0001h\r","kf21":"\u0001i\r","kf22":"\u0001j\r","kich":"\u001bQ","kdch":"\u001bW","khome":"\u001e","kcuu1":"\u000b","kcud1":"\u0016","kcub1":"\u0008","kcuf1":"\u000c","kcbt":"\u001bI","kclr":"\u001a","kprt":"\u001bP","acsc":"qKnImAjDwNuLtMvOlBkCxJ","smacs":"\u001b$","rmacs":"\u001b%%"} -{"name":"ndr9500-25-mc","cols":80,"lines":25,"bell":"\u0007","clear":"\u001b;","cnorm":"\u001b.1","civis":"\u001b.0","sgr0":"\u001bG0\u001b%%\u001b(","smul":"\u001bG8","blink":"\u001bG2","rev":"\u001bG4","dim":"\u001b)","cup":"\u001b=%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u000b","pad":"\u0000","kf1":"\u0001@\r","kf2":"\u0001A\r","kf3":"\u0001B\r","kf4":"\u0001C\r","kf5":"\u0001D\r","kf6":"\u0001E\r","kf7":"\u0001F\r","kf8":"\u0001G\r","kf9":"\u0001H\r","kf10":"\u0001I\r","kf11":"\u0001J\r","kf12":"\u0001`\r","kf13":"\u0001a\r","kf14":"\u0001b\r","kf15":"\u0001c\r","kf16":"\u0001d\r","kf17":"\u0001e\r","kf18":"\u0001f\r","kf19":"\u0001g\r","kf20":"\u0001h\r","kf21":"\u0001i\r","kf22":"\u0001j\r","kich":"\u001bQ","kdch":"\u001bW","khome":"\u001e","kcuu1":"\u000b","kcud1":"\u0016","kcub1":"\u0008","kcuf1":"\u000c","kcbt":"\u001bI","kclr":"\u001a","kprt":"\u001bP","acsc":"qKnImAjDwNuLtMvOlBkCxJ","smacs":"\u001b$","rmacs":"\u001b%%"} -{"name":"ndr9500-25-mc-nl","cols":80,"lines":25,"bell":"\u0007","clear":"\u001b;","cnorm":"\u001b.1","civis":"\u001b.0","sgr0":"\u001bG0\u001b%%\u001b(","smul":"\u001bG8","blink":"\u001bG2","rev":"\u001bG4","dim":"\u001b)","cup":"\u001b=%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u000b","pad":"\u0000","kf1":"\u0001@\r","kf2":"\u0001A\r","kf3":"\u0001B\r","kf4":"\u0001C\r","kf5":"\u0001D\r","kf6":"\u0001E\r","kf7":"\u0001F\r","kf8":"\u0001G\r","kf9":"\u0001H\r","kf10":"\u0001I\r","kf11":"\u0001J\r","kf12":"\u0001`\r","kf13":"\u0001a\r","kf14":"\u0001b\r","kf15":"\u0001c\r","kf16":"\u0001d\r","kf17":"\u0001e\r","kf18":"\u0001f\r","kf19":"\u0001g\r","kf20":"\u0001h\r","kf21":"\u0001i\r","kf22":"\u0001j\r","kich":"\u001bQ","kdch":"\u001bW","khome":"\u001e","kcuu1":"\u000b","kcud1":"\u0016","kcub1":"\u0008","kcuf1":"\u000c","kcbt":"\u001bI","kclr":"\u001a","kprt":"\u001bP","acsc":"qKnImAjDwNuLtMvOlBkCxJ","smacs":"\u001b$","rmacs":"\u001b%%"} -{"name":"ndr9500-25-nl","cols":80,"lines":25,"bell":"\u0007","clear":"\u001b;","cnorm":"\u001b.1","civis":"\u001b.0","sgr0":"\u001bG0\u001b%%\u001b(","dim":"\u001b)","cup":"\u001b=%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u000b","pad":"\u0000","kf1":"\u0001@\r","kf2":"\u0001A\r","kf3":"\u0001B\r","kf4":"\u0001C\r","kf5":"\u0001D\r","kf6":"\u0001E\r","kf7":"\u0001F\r","kf8":"\u0001G\r","kf9":"\u0001H\r","kf10":"\u0001I\r","kf11":"\u0001J\r","kf12":"\u0001`\r","kf13":"\u0001a\r","kf14":"\u0001b\r","kf15":"\u0001c\r","kf16":"\u0001d\r","kf17":"\u0001e\r","kf18":"\u0001f\r","kf19":"\u0001g\r","kf20":"\u0001h\r","kf21":"\u0001i\r","kf22":"\u0001j\r","kich":"\u001bQ","kdch":"\u001bW","khome":"\u001e","kcuu1":"\u000b","kcud1":"\u0016","kcub1":"\u0008","kcuf1":"\u000c","kcbt":"\u001bI","kclr":"\u001a","kprt":"\u001bP","acsc":"qKnImAjDwNuLtMvOlBkCxJ","smacs":"\u001b$","rmacs":"\u001b%%"} -{"name":"ndr9500-mc","cols":80,"lines":24,"bell":"\u0007","clear":"\u001b;","cnorm":"\u001b.1","civis":"\u001b.0","sgr0":"\u001bG0\u001b%%\u001b(","smul":"\u001bG8","blink":"\u001bG2","rev":"\u001bG4","dim":"\u001b)","cup":"\u001b=%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u000b","pad":"\u0000","kf1":"\u0001@\r","kf2":"\u0001A\r","kf3":"\u0001B\r","kf4":"\u0001C\r","kf5":"\u0001D\r","kf6":"\u0001E\r","kf7":"\u0001F\r","kf8":"\u0001G\r","kf9":"\u0001H\r","kf10":"\u0001I\r","kf11":"\u0001J\r","kf12":"\u0001`\r","kf13":"\u0001a\r","kf14":"\u0001b\r","kf15":"\u0001c\r","kf16":"\u0001d\r","kf17":"\u0001e\r","kf18":"\u0001f\r","kf19":"\u0001g\r","kf20":"\u0001h\r","kf21":"\u0001i\r","kf22":"\u0001j\r","kich":"\u001bQ","kdch":"\u001bW","khome":"\u001e","kcuu1":"\u000b","kcud1":"\u0016","kcub1":"\u0008","kcuf1":"\u000c","kcbt":"\u001bI","kclr":"\u001a","kprt":"\u001bP","acsc":"qKnImAjDwNuLtMvOlBkCxJ","smacs":"\u001b$","rmacs":"\u001b%%"} -{"name":"ndr9500-mc-nl","cols":80,"lines":24,"bell":"\u0007","clear":"\u001b;","cnorm":"\u001b.1","civis":"\u001b.0","sgr0":"\u001bG0\u001b%%\u001b(","smul":"\u001bG8","blink":"\u001bG2","rev":"\u001bG4","dim":"\u001b)","cup":"\u001b=%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u000b","pad":"\u0000","kf1":"\u0001@\r","kf2":"\u0001A\r","kf3":"\u0001B\r","kf4":"\u0001C\r","kf5":"\u0001D\r","kf6":"\u0001E\r","kf7":"\u0001F\r","kf8":"\u0001G\r","kf9":"\u0001H\r","kf10":"\u0001I\r","kf11":"\u0001J\r","kf12":"\u0001`\r","kf13":"\u0001a\r","kf14":"\u0001b\r","kf15":"\u0001c\r","kf16":"\u0001d\r","kf17":"\u0001e\r","kf18":"\u0001f\r","kf19":"\u0001g\r","kf20":"\u0001h\r","kf21":"\u0001i\r","kf22":"\u0001j\r","kich":"\u001bQ","kdch":"\u001bW","khome":"\u001e","kcuu1":"\u000b","kcud1":"\u0016","kcub1":"\u0008","kcuf1":"\u000c","kcbt":"\u001bI","kclr":"\u001a","kprt":"\u001bP","acsc":"qKnImAjDwNuLtMvOlBkCxJ","smacs":"\u001b$","rmacs":"\u001b%%"} -{"name":"ndr9500-nl","cols":80,"lines":24,"bell":"\u0007","clear":"\u001b;","cnorm":"\u001b.1","civis":"\u001b.0","sgr0":"\u001bG0\u001b%%\u001b(","dim":"\u001b)","cup":"\u001b=%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u000b","pad":"\u0000","kf1":"\u0001@\r","kf2":"\u0001A\r","kf3":"\u0001B\r","kf4":"\u0001C\r","kf5":"\u0001D\r","kf6":"\u0001E\r","kf7":"\u0001F\r","kf8":"\u0001G\r","kf9":"\u0001H\r","kf10":"\u0001I\r","kf11":"\u0001J\r","kf12":"\u0001`\r","kf13":"\u0001a\r","kf14":"\u0001b\r","kf15":"\u0001c\r","kf16":"\u0001d\r","kf17":"\u0001e\r","kf18":"\u0001f\r","kf19":"\u0001g\r","kf20":"\u0001h\r","kf21":"\u0001i\r","kf22":"\u0001j\r","kich":"\u001bQ","kdch":"\u001bW","khome":"\u001e","kcuu1":"\u000b","kcud1":"\u0016","kcub1":"\u0008","kcuf1":"\u000c","kcbt":"\u001bI","kclr":"\u001a","kprt":"\u001bP","acsc":"qKnImAjDwNuLtMvOlBkCxJ","smacs":"\u001b$","rmacs":"\u001b%%"} -{"name":"news-old-unk","cols":80,"lines":-1,"bell":"\u0007","clear":"\u001b[;H\u001b[2J","sgr0":"\u001b[m","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC"} -{"name":"news-unk","cols":80,"lines":-1,"bell":"\u0007","clear":"\u001b[H\u001b[2J","sgr0":"\u001b[m","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kf5":"\u001bOT","kf6":"\u001bOU","kf7":"\u001bOV","kf8":"\u001bOW","kf9":"\u001bOX","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC"} -{"name":"news28","cols":80,"lines":28,"bell":"\u0007","clear":"\u001b[;H\u001b[2J","sgr0":"\u001b[m","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC"} -{"name":"news29","aliases":["news28-a"],"cols":80,"lines":29,"bell":"\u0007","clear":"\u001b[;H\u001b[2J","sgr0":"\u001b[m","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC"} -{"name":"next","cols":80,"lines":24,"bell":"\u0007","clear":"\u000c","sgr0":"\u001b[m","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kcud1":"\n","kcub1":"\u0008"} -{"name":"northstar","cols":80,"lines":24,"clear":"\u0004$\u003c200/\u003e","cup":"\u001b=%p1%' '%+%c%p2%' '%+%c$\u003c1/\u003e","pad":"\u0000"} -{"name":"nsterm","aliases":["Apple_Terminal"],"cols":80,"lines":24,"colors":8,"bell":"\u0007","clear":"\u001b[H\u001b[J","sgr0":"\u001b[m\u000f","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","setaf":"\u001b[3%p1%dm","setbg":"\u001b[4%p1%dm","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC","acsc":"0#`\ufffda:f\ufffdg\ufffdh#i\ufffdjjkkllmmnno\ufffdp\ufffdq\ufffdrrssttuuvvwwxxy\ufffdz\ufffd{\ufffd|\ufffd}\ufffd~\ufffd+\ufffd-\ufffd,\ufffd.\ufffd","smacs":"\u000e","rmacs":"\u000f","enacs":"\u001b(B\u001b)0","_setfgbg":"\u001b[3%p1%d;4%p2%dm"} -{"name":"nsterm+7","cols":80,"lines":24,"bell":"\u0007","clear":"\u001b[H\u001b[J","sgr0":"\u001b[m\u000f","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC"} -{"name":"nsterm+acs","cols":80,"lines":24,"bell":"\u0007","clear":"\u001b[H\u001b[J","sgr0":"\u001b[m\u000f","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC","acsc":"``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u000e","rmacs":"\u000f","enacs":"\u001b(B\u001b)0"} -{"name":"nsterm+mac","cols":80,"lines":24,"bell":"\u0007","clear":"\u001b[H\u001b[J","sgr0":"\u001b[m\u000f","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC","acsc":"0#`\ufffda:f\ufffdg\ufffdh#i\ufffdjjkkllmmnno\ufffdp\ufffdq\ufffdrrssttuuvvwwxxy\ufffdz\ufffd{\ufffd|\ufffd}\ufffd~\ufffd+\ufffd-\ufffd,\ufffd.\ufffd","smacs":"\u000e","rmacs":"\u000f","enacs":"\u001b(B\u001b)0"} -{"name":"nsterm-16color","cols":80,"lines":24,"colors":16,"bell":"\u0007","clear":"\u001b[H\u001b[J","sgr0":"\u001b[m\u000f","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","setaf":"\u001b[%?%p1%{8}%\u003c%t%p1%{30}%+%e%p1%'R'%+%;%dm","setbg":"\u001b[%?%p1%{8}%\u003c%t%p1%'('%+%e%p1%{92}%+%;%dm","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kf5":"\u001b[15~","kf6":"\u001b[17~","kf7":"\u001b[18~","kf8":"\u001b[19~","kf9":"\u001b[20~","kf10":"\u001b[21~","kf11":"\u001b[23~","kf12":"\u001b[24~","kdch":"\u001b[3~","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC","acsc":"``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u000e","rmacs":"\u000f","enacs":"\u001b(B\u001b)0","_setfgbg":"\u001b[%?%p1%{8}%\u003c%t%p1%{30}%+%e%p1%'R'%+%;%d;%?%p2%{8}%\u003c%t%p2%'('%+%e%p2%{92}%+%;%dm"} -{"name":"nsterm-7","cols":80,"lines":24,"colors":8,"bell":"\u0007","clear":"\u001b[H\u001b[J","sgr0":"\u001b[m\u000f","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","setaf":"\u001b[3%p1%dm","setbg":"\u001b[4%p1%dm","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC","_setfgbg":"\u001b[3%p1%d;4%p2%dm"} -{"name":"nsterm-7-c","aliases":["nsterm-c-7"],"cols":80,"lines":24,"colors":16,"bell":"\u0007","clear":"\u001b[H\u001b[J","sgr0":"\u001b[m\u000f","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","setaf":"\u001b[%?%p1%{8}%\u003c%t%p1%{30}%+%e%p1%'R'%+%;%dm","setbg":"\u001b[%?%p1%{8}%\u003c%t%p1%'('%+%e%p1%{92}%+%;%dm","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC","_setfgbg":"\u001b[%?%p1%{8}%\u003c%t%p1%{30}%+%e%p1%'R'%+%;%d;%?%p2%{8}%\u003c%t%p2%'('%+%e%p2%{92}%+%;%dm"} -{"name":"nsterm-acs","cols":80,"lines":24,"colors":8,"bell":"\u0007","clear":"\u001b[H\u001b[J","sgr0":"\u001b[m\u000f","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","setaf":"\u001b[3%p1%dm","setbg":"\u001b[4%p1%dm","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC","acsc":"``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u000e","rmacs":"\u000f","enacs":"\u001b(B\u001b)0","_setfgbg":"\u001b[3%p1%d;4%p2%dm"} -{"name":"nsterm-c","cols":80,"lines":24,"colors":16,"bell":"\u0007","clear":"\u001b[H\u001b[J","sgr0":"\u001b[m\u000f","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","setaf":"\u001b[%?%p1%{8}%\u003c%t%p1%{30}%+%e%p1%'R'%+%;%dm","setbg":"\u001b[%?%p1%{8}%\u003c%t%p1%'('%+%e%p1%{92}%+%;%dm","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC","acsc":"0#`\ufffda:f\ufffdg\ufffdh#i\ufffdjjkkllmmnno\ufffdp\ufffdq\ufffdrrssttuuvvwwxxy\ufffdz\ufffd{\ufffd|\ufffd}\ufffd~\ufffd+\ufffd-\ufffd,\ufffd.\ufffd","smacs":"\u000e","rmacs":"\u000f","enacs":"\u001b(B\u001b)0","_setfgbg":"\u001b[%?%p1%{8}%\u003c%t%p1%{30}%+%e%p1%'R'%+%;%d;%?%p2%{8}%\u003c%t%p2%'('%+%e%p2%{92}%+%;%dm"} -{"name":"nsterm-c-acs","aliases":["nsterm-acs-c"],"cols":80,"lines":24,"colors":16,"bell":"\u0007","clear":"\u001b[H\u001b[J","sgr0":"\u001b[m\u000f","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","setaf":"\u001b[%?%p1%{8}%\u003c%t%p1%{30}%+%e%p1%'R'%+%;%dm","setbg":"\u001b[%?%p1%{8}%\u003c%t%p1%'('%+%e%p1%{92}%+%;%dm","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC","acsc":"``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u000e","rmacs":"\u000f","enacs":"\u001b(B\u001b)0","_setfgbg":"\u001b[%?%p1%{8}%\u003c%t%p1%{30}%+%e%p1%'R'%+%;%d;%?%p2%{8}%\u003c%t%p2%'('%+%e%p2%{92}%+%;%dm"} -{"name":"nsterm-c-s","cols":80,"lines":24,"colors":16,"bell":"\u0007","clear":"\u001b[H\u001b[J","sgr0":"\u001b[m\u000f","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","setaf":"\u001b[%?%p1%{8}%\u003c%t%p1%{30}%+%e%p1%'R'%+%;%dm","setbg":"\u001b[%?%p1%{8}%\u003c%t%p1%'('%+%e%p1%{92}%+%;%dm","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC","acsc":"0#`\ufffda:f\ufffdg\ufffdh#i\ufffdjjkkllmmnno\ufffdp\ufffdq\ufffdrrssttuuvvwwxxy\ufffdz\ufffd{\ufffd|\ufffd}\ufffd~\ufffd+\ufffd-\ufffd,\ufffd.\ufffd","smacs":"\u000e","rmacs":"\u000f","enacs":"\u001b(B\u001b)0","_setfgbg":"\u001b[%?%p1%{8}%\u003c%t%p1%{30}%+%e%p1%'R'%+%;%d;%?%p2%{8}%\u003c%t%p2%'('%+%e%p2%{92}%+%;%dm"} -{"name":"nsterm-c-s-7","aliases":["nsterm-7-c-s"],"cols":80,"lines":24,"colors":16,"bell":"\u0007","clear":"\u001b[H\u001b[J","sgr0":"\u001b[m\u000f","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","setaf":"\u001b[%?%p1%{8}%\u003c%t%p1%{30}%+%e%p1%'R'%+%;%dm","setbg":"\u001b[%?%p1%{8}%\u003c%t%p1%'('%+%e%p1%{92}%+%;%dm","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC","_setfgbg":"\u001b[%?%p1%{8}%\u003c%t%p1%{30}%+%e%p1%'R'%+%;%d;%?%p2%{8}%\u003c%t%p2%'('%+%e%p2%{92}%+%;%dm"} -{"name":"nsterm-c-s-acs","aliases":["nsterm-acs-c-s"],"cols":80,"lines":24,"colors":16,"bell":"\u0007","clear":"\u001b[H\u001b[J","sgr0":"\u001b[m\u000f","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","setaf":"\u001b[%?%p1%{8}%\u003c%t%p1%{30}%+%e%p1%'R'%+%;%dm","setbg":"\u001b[%?%p1%{8}%\u003c%t%p1%'('%+%e%p1%{92}%+%;%dm","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC","acsc":"``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u000e","rmacs":"\u000f","enacs":"\u001b(B\u001b)0","_setfgbg":"\u001b[%?%p1%{8}%\u003c%t%p1%{30}%+%e%p1%'R'%+%;%d;%?%p2%{8}%\u003c%t%p2%'('%+%e%p2%{92}%+%;%dm"} -{"name":"nsterm-m","cols":80,"lines":24,"bell":"\u0007","clear":"\u001b[H\u001b[J","sgr0":"\u001b[m\u000f","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC","acsc":"0#`\ufffda:f\ufffdg\ufffdh#i\ufffdjjkkllmmnno\ufffdp\ufffdq\ufffdrrssttuuvvwwxxy\ufffdz\ufffd{\ufffd|\ufffd}\ufffd~\ufffd+\ufffd-\ufffd,\ufffd.\ufffd","smacs":"\u000e","rmacs":"\u000f","enacs":"\u001b(B\u001b)0"} -{"name":"nsterm-m-7","aliases":["nsterm-7-m"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u001b[H\u001b[J","sgr0":"\u001b[m\u000f","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC"} -{"name":"nsterm-m-acs","aliases":["nsterm-acs-m"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u001b[H\u001b[J","sgr0":"\u001b[m\u000f","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC","acsc":"``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u000e","rmacs":"\u000f","enacs":"\u001b(B\u001b)0"} -{"name":"nsterm-m-s","cols":80,"lines":24,"bell":"\u0007","clear":"\u001b[H\u001b[J","sgr0":"\u001b[m\u000f","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC","acsc":"0#`\ufffda:f\ufffdg\ufffdh#i\ufffdjjkkllmmnno\ufffdp\ufffdq\ufffdrrssttuuvvwwxxy\ufffdz\ufffd{\ufffd|\ufffd}\ufffd~\ufffd+\ufffd-\ufffd,\ufffd.\ufffd","smacs":"\u000e","rmacs":"\u000f","enacs":"\u001b(B\u001b)0"} -{"name":"nsterm-m-s-7","aliases":["nsterm-7-m-s"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u001b[H\u001b[J","sgr0":"\u001b[m\u000f","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC"} -{"name":"nsterm-m-s-acs","aliases":["nsterm-acs-m-s"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u001b[H\u001b[J","sgr0":"\u001b[m\u000f","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC","acsc":"``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u000e","rmacs":"\u000f","enacs":"\u001b(B\u001b)0"} -{"name":"nsterm-s","cols":80,"lines":24,"colors":8,"bell":"\u0007","clear":"\u001b[H\u001b[J","sgr0":"\u001b[m\u000f","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","setaf":"\u001b[3%p1%dm","setbg":"\u001b[4%p1%dm","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC","acsc":"0#`\ufffda:f\ufffdg\ufffdh#i\ufffdjjkkllmmnno\ufffdp\ufffdq\ufffdrrssttuuvvwwxxy\ufffdz\ufffd{\ufffd|\ufffd}\ufffd~\ufffd+\ufffd-\ufffd,\ufffd.\ufffd","smacs":"\u000e","rmacs":"\u000f","enacs":"\u001b(B\u001b)0","_setfgbg":"\u001b[3%p1%d;4%p2%dm"} -{"name":"nsterm-s-7","aliases":["nsterm-7-s"],"cols":80,"lines":24,"colors":8,"bell":"\u0007","clear":"\u001b[H\u001b[J","sgr0":"\u001b[m\u000f","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","setaf":"\u001b[3%p1%dm","setbg":"\u001b[4%p1%dm","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC","_setfgbg":"\u001b[3%p1%d;4%p2%dm"} -{"name":"nsterm-s-acs","aliases":["nsterm-acs-s"],"cols":80,"lines":24,"colors":8,"bell":"\u0007","clear":"\u001b[H\u001b[J","sgr0":"\u001b[m\u000f","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","setaf":"\u001b[3%p1%dm","setbg":"\u001b[4%p1%dm","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC","acsc":"``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u000e","rmacs":"\u000f","enacs":"\u001b(B\u001b)0","_setfgbg":"\u001b[3%p1%d;4%p2%dm"} -{"name":"nwp511","aliases":["nwp-511"],"cols":80,"lines":24,"clear":"\u001b[;H\u001b[2J$\u003c20/\u003e","smul":"\u001b[4m$\u003c2/\u003e","cup":"\u001b[%i%p1%d;%p2%dH","cuu1":"\u001b[A$\u003c2/\u003e","pad":"\u0000","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kf5":"\u001bOT","kf6":"\u001b#W","khome":"\u001b[H","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C"} -{"name":"nwp512","aliases":["news","news40","nwp514","vt100-bm"],"cols":80,"lines":40,"bell":"\u0007","clear":"\u001b[;H\u001b[2J","sgr0":"\u001b[m","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC"} -{"name":"nwp512-a","aliases":["news-a","news40-a","news42","nwp514-a"],"cols":80,"lines":42,"bell":"\u0007","clear":"\u001b[;H\u001b[2J","sgr0":"\u001b[m","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC"} -{"name":"nwp512-o","aliases":["news-o","news40-o","nwp514-o","vt100-bm-o"],"cols":80,"lines":40,"bell":"\u0007","clear":"\u001b[;H\u001b[2J","sgr0":"\u001b[m","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC"} -{"name":"nwp513","aliases":["news31","newscbm","nwe501","nwp518"],"cols":80,"lines":31,"bell":"\u0007","clear":"\u001b[;H\u001b[2J","sgr0":"\u001b[m","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC"} -{"name":"nwp513-a","aliases":["news31-a","news33","newscbm-a","newscbm33","nwe501-a","nwp251-a","nwp518-a"],"cols":80,"lines":33,"bell":"\u0007","clear":"\u001b[;H\u001b[2J","sgr0":"\u001b[m","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC"} -{"name":"nwp513-o","aliases":["news31-o","newscbm-o","nwe501-o","nwp251-o","nwp518-o"],"cols":80,"lines":31,"bell":"\u0007","clear":"\u001b[;H\u001b[2J","sgr0":"\u001b[m","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC"} -{"name":"nwp517","aliases":["nwp-517"],"cols":80,"lines":30,"bell":"\u0007","clear":"\u001b[H\u001b[J","sgr0":"\u001b[m\u001b(B","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kf6":"\u001b[17~","kf7":"\u001b[18~","kf8":"\u001b[19~","kf9":"\u001b[20~","kf10":"\u001b[21~","kf11":"\u001b[23~","kf12":"\u001b[24~","kf13":"\u001b[25~","kf14":"\u001b[26~","kf17":"\u001b[31~","kf18":"\u001b[32~","kf19":"\u001b[33~","kf20":"\u001b[34~","kich":"\u001b[2~","khlp":"\u001b[28~","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","acsc":"``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u001b(0$\u003c2\u003e","rmacs":"\u001b(B$\u003c4\u003e","enacs":"\u001b)0"} -{"name":"nwp517-w","aliases":["nwp-517-w"],"cols":132,"lines":50,"bell":"\u0007","clear":"\u001b[H\u001b[J","sgr0":"\u001b[m\u001b(B","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kf6":"\u001b[17~","kf7":"\u001b[18~","kf8":"\u001b[19~","kf9":"\u001b[20~","kf10":"\u001b[21~","kf11":"\u001b[23~","kf12":"\u001b[24~","kf13":"\u001b[25~","kf14":"\u001b[26~","kf17":"\u001b[31~","kf18":"\u001b[32~","kf19":"\u001b[33~","kf20":"\u001b[34~","kich":"\u001b[2~","khlp":"\u001b[28~","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","acsc":"``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u001b(0$\u003c2\u003e","rmacs":"\u001b(B$\u003c4\u003e","enacs":"\u001b)0"} -{"name":"oblit","aliases":["ojerq"],"cols":88,"lines":72,"bell":"\u0007","clear":"\u000c","cup":"\u001bY%p2%' '%+%c%p1%' '%+%c","cub1":"\u001bD","cuu1":"\u001bA","pad":"\u0000","kbs":"\u0008"} -{"name":"oc100","aliases":["c100-1p","oconcept"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u001b?\u001b\u0005$\u003c2*\u003e","smcup":"\u001bU\u001bv 8p\u001bp\r\u001b\u0015$\u003c16\u003e","rmcup":"\u001bv $\u003c6\u003e\u001bp\r\n","sgr0":"\u001bN@","smul":"\u001bG","blink":"\u001bC","rev":"\u001bD","dim":"\u001bE","smkx":"\u001bX","rmkx":"\u001bx","cup":"\u001ba%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u001b;","pad":"\u0000","kbs":"\u0008","kf1":"\u001b5","kf2":"\u001b6","kf3":"\u001b7","kf4":"\u001b8","kf5":"\u001b9","kf6":"\u001b:a","kf7":"\u001b:b","kf8":"\u001b:c","kich":"\u001b\u0010","kdch":"\u001b\u0011","khome":"\u001b?","kpp":"\u001b.","knp":"\u001b-","kcuu1":"\u001b;","kcud1":"\u001b\u003c","kcub1":"\u001b\u003e","kcuf1":"\u001b=","kcbt":"\u001b'"} -{"name":"ofcons","cols":80,"lines":30,"bell":"\u0007","clear":"\u000c","sgr0":"\ufffd0m","bold":"\ufffd1m","blink":"\ufffd7;2m","rev":"\ufffd7m","dim":"\ufffd2m","cup":"\ufffd%i%p1%d;%p2%dH","cub1":"\ufffdD","cuu1":"\ufffdA","pad":"\u0000","kbs":"\u0008","kf1":"\ufffd0P","kf2":"\ufffd0Q","kf3":"\ufffd0W","kf4":"\ufffd0x","kf5":"\ufffd0t","kf6":"\ufffd0u","kf7":"\ufffd0q","kf8":"\ufffd0r","kf9":"\ufffd0p","kf10":"\ufffd0M","kdch":"\ufffdP","kpp":"\ufffd?","knp":"\ufffd/","kcuu1":"\ufffdA","kcud1":"\ufffdB","kcub1":"\ufffdD","kcuf1":"\ufffdC"} -{"name":"oldsun","cols":80,"lines":34,"bell":"\u0007","clear":"\u000c","sgr0":"\u001b[m","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","khome":"\u001b[H","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C"} -{"name":"opennt-100","aliases":["ntconsole-100"],"cols":80,"lines":100,"colors":8,"bell":"\u0007","clear":"\u001b[2J","smcup":"\u001b[s\u001b[1b","rmcup":"\u001b[2b\u001b[u\r\u001b[K","sgr0":"\u001b[0m","smul":"\u001b[4m","bold":"\u001b[1m","rev":"\u001b[7m","setaf":"\u001b[3%p1%dm","setbg":"\u001b[4%p1%dm","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u001b[D","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001bF1","kf2":"\u001bF2","kf3":"\u001bF3","kf4":"\u001bF4","kf5":"\u001bF5","kf6":"\u001bF6","kf7":"\u001bF7","kf8":"\u001bF8","kf9":"\u001bF9","kf10":"\u001bFA","kf11":"\u001bFB","kf12":"\u001bFC","kf13":"\u001bFD","kf14":"\u001bFE","kf15":"\u001bFF","kf16":"\u001bFG","kf17":"\u001bFH","kf18":"\u001bFI","kf19":"\u001bFJ","kf20":"\u001bFK","kf21":"\u001bFL","kf22":"\u001bFM","kf23":"\u001bFN","kf24":"\u001bFO","kf25":"\u001bFP","kf26":"\u001bFQ","kf27":"\u001bFR","kf28":"\u001bFS","kf29":"\u001bFT","kf30":"\u001bFU","kf31":"\u001bFV","kf32":"\u001bFW","kf33":"\u001bFX","kf34":"\u001bFY","kf35":"\u001bFZ","kf36":"\u001bFa","kf37":"\u001bFb","kf38":"\u001bFc","kf39":"\u001bFd","kf40":"\u001bFe","kf41":"\u001bFf","kf42":"\u001bFg","kf43":"\u001bFh","kf44":"\u001bFi","kf45":"\u001bFj","kf46":"\u001bFk","kf47":"\u001bFm","kf48":"\u001bFn","kf49":"\u001bFo","kf50":"\u001bFp","kf51":"\u001bFq","kf52":"\u001bFr","kf53":"\u001bFs","kf54":"\u001bFt","kf55":"\u001bFu","kf56":"\u001bFv","kf57":"\u001bFw","kf58":"\u001bFx","kf59":"\u001bFy","kf60":"\u001bFz","kf61":"\u001bF+","kf62":"\u001bF-","kf63":"\u001bF\u000c kf64=\u001bF$","kich":"\u001b[L","kdch":"\u001b[M","kend":"\u001b[U","kpp":"\u001b[S","knp":"\u001b[T","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001b[Z","acsc":"`\u0004a\ufffdf\ufffdg\ufffdh\ufffdj\ufffdk\ufffdl\ufffdm\ufffdn\ufffdo~q\ufffdr\ufffds_t\ufffdu\ufffdv\ufffdw\ufffdx\ufffdy\ufffdz\ufffd{\ufffd|\ufffd}\ufffd~\ufffd.\u0019-\u0018,\u0011+\u00100\ufffdp\ufffdr\ufffdy\ufffdz\ufffd{\ufffd|\ufffd}\ufffd","_setfgbg":"\u001b[3%p1%d;4%p2%dm"} -{"name":"opennt-100-nti","aliases":["ntconsole-100-nti"],"cols":80,"lines":100,"colors":8,"bell":"\u0007","clear":"\u001b[2J","sgr0":"\u001b[0m","smul":"\u001b[4m","bold":"\u001b[1m","rev":"\u001b[7m","setaf":"\u001b[3%p1%dm","setbg":"\u001b[4%p1%dm","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u001b[D","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001bF1","kf2":"\u001bF2","kf3":"\u001bF3","kf4":"\u001bF4","kf5":"\u001bF5","kf6":"\u001bF6","kf7":"\u001bF7","kf8":"\u001bF8","kf9":"\u001bF9","kf10":"\u001bFA","kf11":"\u001bFB","kf12":"\u001bFC","kf13":"\u001bFD","kf14":"\u001bFE","kf15":"\u001bFF","kf16":"\u001bFG","kf17":"\u001bFH","kf18":"\u001bFI","kf19":"\u001bFJ","kf20":"\u001bFK","kf21":"\u001bFL","kf22":"\u001bFM","kf23":"\u001bFN","kf24":"\u001bFO","kf25":"\u001bFP","kf26":"\u001bFQ","kf27":"\u001bFR","kf28":"\u001bFS","kf29":"\u001bFT","kf30":"\u001bFU","kf31":"\u001bFV","kf32":"\u001bFW","kf33":"\u001bFX","kf34":"\u001bFY","kf35":"\u001bFZ","kf36":"\u001bFa","kf37":"\u001bFb","kf38":"\u001bFc","kf39":"\u001bFd","kf40":"\u001bFe","kf41":"\u001bFf","kf42":"\u001bFg","kf43":"\u001bFh","kf44":"\u001bFi","kf45":"\u001bFj","kf46":"\u001bFk","kf47":"\u001bFm","kf48":"\u001bFn","kf49":"\u001bFo","kf50":"\u001bFp","kf51":"\u001bFq","kf52":"\u001bFr","kf53":"\u001bFs","kf54":"\u001bFt","kf55":"\u001bFu","kf56":"\u001bFv","kf57":"\u001bFw","kf58":"\u001bFx","kf59":"\u001bFy","kf60":"\u001bFz","kf61":"\u001bF+","kf62":"\u001bF-","kf63":"\u001bF\u000c kf64=\u001bF$","kich":"\u001b[L","kdch":"\u001b[M","kend":"\u001b[U","kpp":"\u001b[S","knp":"\u001b[T","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001b[Z","acsc":"`\u0004a\ufffdf\ufffdg\ufffdh\ufffdj\ufffdk\ufffdl\ufffdm\ufffdn\ufffdo~q\ufffdr\ufffds_t\ufffdu\ufffdv\ufffdw\ufffdx\ufffdy\ufffdz\ufffd{\ufffd|\ufffd}\ufffd~\ufffd.\u0019-\u0018,\u0011+\u00100\ufffdp\ufffdr\ufffdy\ufffdz\ufffd{\ufffd|\ufffd}\ufffd","_setfgbg":"\u001b[3%p1%d;4%p2%dm"} -{"name":"opennt-35","aliases":["ntconsole-35"],"cols":80,"lines":35,"colors":8,"bell":"\u0007","clear":"\u001b[2J","smcup":"\u001b[s\u001b[1b","rmcup":"\u001b[2b\u001b[u\r\u001b[K","sgr0":"\u001b[0m","smul":"\u001b[4m","bold":"\u001b[1m","rev":"\u001b[7m","setaf":"\u001b[3%p1%dm","setbg":"\u001b[4%p1%dm","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u001b[D","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001bF1","kf2":"\u001bF2","kf3":"\u001bF3","kf4":"\u001bF4","kf5":"\u001bF5","kf6":"\u001bF6","kf7":"\u001bF7","kf8":"\u001bF8","kf9":"\u001bF9","kf10":"\u001bFA","kf11":"\u001bFB","kf12":"\u001bFC","kf13":"\u001bFD","kf14":"\u001bFE","kf15":"\u001bFF","kf16":"\u001bFG","kf17":"\u001bFH","kf18":"\u001bFI","kf19":"\u001bFJ","kf20":"\u001bFK","kf21":"\u001bFL","kf22":"\u001bFM","kf23":"\u001bFN","kf24":"\u001bFO","kf25":"\u001bFP","kf26":"\u001bFQ","kf27":"\u001bFR","kf28":"\u001bFS","kf29":"\u001bFT","kf30":"\u001bFU","kf31":"\u001bFV","kf32":"\u001bFW","kf33":"\u001bFX","kf34":"\u001bFY","kf35":"\u001bFZ","kf36":"\u001bFa","kf37":"\u001bFb","kf38":"\u001bFc","kf39":"\u001bFd","kf40":"\u001bFe","kf41":"\u001bFf","kf42":"\u001bFg","kf43":"\u001bFh","kf44":"\u001bFi","kf45":"\u001bFj","kf46":"\u001bFk","kf47":"\u001bFm","kf48":"\u001bFn","kf49":"\u001bFo","kf50":"\u001bFp","kf51":"\u001bFq","kf52":"\u001bFr","kf53":"\u001bFs","kf54":"\u001bFt","kf55":"\u001bFu","kf56":"\u001bFv","kf57":"\u001bFw","kf58":"\u001bFx","kf59":"\u001bFy","kf60":"\u001bFz","kf61":"\u001bF+","kf62":"\u001bF-","kf63":"\u001bF\u000c kf64=\u001bF$","kich":"\u001b[L","kdch":"\u001b[M","kend":"\u001b[U","kpp":"\u001b[S","knp":"\u001b[T","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001b[Z","acsc":"`\u0004a\ufffdf\ufffdg\ufffdh\ufffdj\ufffdk\ufffdl\ufffdm\ufffdn\ufffdo~q\ufffdr\ufffds_t\ufffdu\ufffdv\ufffdw\ufffdx\ufffdy\ufffdz\ufffd{\ufffd|\ufffd}\ufffd~\ufffd.\u0019-\u0018,\u0011+\u00100\ufffdp\ufffdr\ufffdy\ufffdz\ufffd{\ufffd|\ufffd}\ufffd","_setfgbg":"\u001b[3%p1%d;4%p2%dm"} -{"name":"opennt-35-nti","aliases":["ntconsole-35-nti"],"cols":80,"lines":35,"colors":8,"bell":"\u0007","clear":"\u001b[2J","sgr0":"\u001b[0m","smul":"\u001b[4m","bold":"\u001b[1m","rev":"\u001b[7m","setaf":"\u001b[3%p1%dm","setbg":"\u001b[4%p1%dm","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u001b[D","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001bF1","kf2":"\u001bF2","kf3":"\u001bF3","kf4":"\u001bF4","kf5":"\u001bF5","kf6":"\u001bF6","kf7":"\u001bF7","kf8":"\u001bF8","kf9":"\u001bF9","kf10":"\u001bFA","kf11":"\u001bFB","kf12":"\u001bFC","kf13":"\u001bFD","kf14":"\u001bFE","kf15":"\u001bFF","kf16":"\u001bFG","kf17":"\u001bFH","kf18":"\u001bFI","kf19":"\u001bFJ","kf20":"\u001bFK","kf21":"\u001bFL","kf22":"\u001bFM","kf23":"\u001bFN","kf24":"\u001bFO","kf25":"\u001bFP","kf26":"\u001bFQ","kf27":"\u001bFR","kf28":"\u001bFS","kf29":"\u001bFT","kf30":"\u001bFU","kf31":"\u001bFV","kf32":"\u001bFW","kf33":"\u001bFX","kf34":"\u001bFY","kf35":"\u001bFZ","kf36":"\u001bFa","kf37":"\u001bFb","kf38":"\u001bFc","kf39":"\u001bFd","kf40":"\u001bFe","kf41":"\u001bFf","kf42":"\u001bFg","kf43":"\u001bFh","kf44":"\u001bFi","kf45":"\u001bFj","kf46":"\u001bFk","kf47":"\u001bFm","kf48":"\u001bFn","kf49":"\u001bFo","kf50":"\u001bFp","kf51":"\u001bFq","kf52":"\u001bFr","kf53":"\u001bFs","kf54":"\u001bFt","kf55":"\u001bFu","kf56":"\u001bFv","kf57":"\u001bFw","kf58":"\u001bFx","kf59":"\u001bFy","kf60":"\u001bFz","kf61":"\u001bF+","kf62":"\u001bF-","kf63":"\u001bF\u000c kf64=\u001bF$","kich":"\u001b[L","kdch":"\u001b[M","kend":"\u001b[U","kpp":"\u001b[S","knp":"\u001b[T","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001b[Z","acsc":"`\u0004a\ufffdf\ufffdg\ufffdh\ufffdj\ufffdk\ufffdl\ufffdm\ufffdn\ufffdo~q\ufffdr\ufffds_t\ufffdu\ufffdv\ufffdw\ufffdx\ufffdy\ufffdz\ufffd{\ufffd|\ufffd}\ufffd~\ufffd.\u0019-\u0018,\u0011+\u00100\ufffdp\ufffdr\ufffdy\ufffdz\ufffd{\ufffd|\ufffd}\ufffd","_setfgbg":"\u001b[3%p1%d;4%p2%dm"} -{"name":"opennt-35-w","aliases":["ntconsole-35-w"],"cols":125,"lines":35,"colors":8,"bell":"\u0007","clear":"\u001b[2J","smcup":"\u001b[s\u001b[1b","rmcup":"\u001b[2b\u001b[u\r\u001b[K","sgr0":"\u001b[0m","smul":"\u001b[4m","bold":"\u001b[1m","rev":"\u001b[7m","setaf":"\u001b[3%p1%dm","setbg":"\u001b[4%p1%dm","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u001b[D","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001bF1","kf2":"\u001bF2","kf3":"\u001bF3","kf4":"\u001bF4","kf5":"\u001bF5","kf6":"\u001bF6","kf7":"\u001bF7","kf8":"\u001bF8","kf9":"\u001bF9","kf10":"\u001bFA","kf11":"\u001bFB","kf12":"\u001bFC","kf13":"\u001bFD","kf14":"\u001bFE","kf15":"\u001bFF","kf16":"\u001bFG","kf17":"\u001bFH","kf18":"\u001bFI","kf19":"\u001bFJ","kf20":"\u001bFK","kf21":"\u001bFL","kf22":"\u001bFM","kf23":"\u001bFN","kf24":"\u001bFO","kf25":"\u001bFP","kf26":"\u001bFQ","kf27":"\u001bFR","kf28":"\u001bFS","kf29":"\u001bFT","kf30":"\u001bFU","kf31":"\u001bFV","kf32":"\u001bFW","kf33":"\u001bFX","kf34":"\u001bFY","kf35":"\u001bFZ","kf36":"\u001bFa","kf37":"\u001bFb","kf38":"\u001bFc","kf39":"\u001bFd","kf40":"\u001bFe","kf41":"\u001bFf","kf42":"\u001bFg","kf43":"\u001bFh","kf44":"\u001bFi","kf45":"\u001bFj","kf46":"\u001bFk","kf47":"\u001bFm","kf48":"\u001bFn","kf49":"\u001bFo","kf50":"\u001bFp","kf51":"\u001bFq","kf52":"\u001bFr","kf53":"\u001bFs","kf54":"\u001bFt","kf55":"\u001bFu","kf56":"\u001bFv","kf57":"\u001bFw","kf58":"\u001bFx","kf59":"\u001bFy","kf60":"\u001bFz","kf61":"\u001bF+","kf62":"\u001bF-","kf63":"\u001bF\u000c kf64=\u001bF$","kich":"\u001b[L","kdch":"\u001b[M","kend":"\u001b[U","kpp":"\u001b[S","knp":"\u001b[T","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001b[Z","acsc":"`\u0004a\ufffdf\ufffdg\ufffdh\ufffdj\ufffdk\ufffdl\ufffdm\ufffdn\ufffdo~q\ufffdr\ufffds_t\ufffdu\ufffdv\ufffdw\ufffdx\ufffdy\ufffdz\ufffd{\ufffd|\ufffd}\ufffd~\ufffd.\u0019-\u0018,\u0011+\u00100\ufffdp\ufffdr\ufffdy\ufffdz\ufffd{\ufffd|\ufffd}\ufffd","_setfgbg":"\u001b[3%p1%d;4%p2%dm"} -{"name":"opennt-50","aliases":["ntconsole-50"],"cols":80,"lines":50,"colors":8,"bell":"\u0007","clear":"\u001b[2J","smcup":"\u001b[s\u001b[1b","rmcup":"\u001b[2b\u001b[u\r\u001b[K","sgr0":"\u001b[0m","smul":"\u001b[4m","bold":"\u001b[1m","rev":"\u001b[7m","setaf":"\u001b[3%p1%dm","setbg":"\u001b[4%p1%dm","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u001b[D","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001bF1","kf2":"\u001bF2","kf3":"\u001bF3","kf4":"\u001bF4","kf5":"\u001bF5","kf6":"\u001bF6","kf7":"\u001bF7","kf8":"\u001bF8","kf9":"\u001bF9","kf10":"\u001bFA","kf11":"\u001bFB","kf12":"\u001bFC","kf13":"\u001bFD","kf14":"\u001bFE","kf15":"\u001bFF","kf16":"\u001bFG","kf17":"\u001bFH","kf18":"\u001bFI","kf19":"\u001bFJ","kf20":"\u001bFK","kf21":"\u001bFL","kf22":"\u001bFM","kf23":"\u001bFN","kf24":"\u001bFO","kf25":"\u001bFP","kf26":"\u001bFQ","kf27":"\u001bFR","kf28":"\u001bFS","kf29":"\u001bFT","kf30":"\u001bFU","kf31":"\u001bFV","kf32":"\u001bFW","kf33":"\u001bFX","kf34":"\u001bFY","kf35":"\u001bFZ","kf36":"\u001bFa","kf37":"\u001bFb","kf38":"\u001bFc","kf39":"\u001bFd","kf40":"\u001bFe","kf41":"\u001bFf","kf42":"\u001bFg","kf43":"\u001bFh","kf44":"\u001bFi","kf45":"\u001bFj","kf46":"\u001bFk","kf47":"\u001bFm","kf48":"\u001bFn","kf49":"\u001bFo","kf50":"\u001bFp","kf51":"\u001bFq","kf52":"\u001bFr","kf53":"\u001bFs","kf54":"\u001bFt","kf55":"\u001bFu","kf56":"\u001bFv","kf57":"\u001bFw","kf58":"\u001bFx","kf59":"\u001bFy","kf60":"\u001bFz","kf61":"\u001bF+","kf62":"\u001bF-","kf63":"\u001bF\u000c kf64=\u001bF$","kich":"\u001b[L","kdch":"\u001b[M","kend":"\u001b[U","kpp":"\u001b[S","knp":"\u001b[T","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001b[Z","acsc":"`\u0004a\ufffdf\ufffdg\ufffdh\ufffdj\ufffdk\ufffdl\ufffdm\ufffdn\ufffdo~q\ufffdr\ufffds_t\ufffdu\ufffdv\ufffdw\ufffdx\ufffdy\ufffdz\ufffd{\ufffd|\ufffd}\ufffd~\ufffd.\u0019-\u0018,\u0011+\u00100\ufffdp\ufffdr\ufffdy\ufffdz\ufffd{\ufffd|\ufffd}\ufffd","_setfgbg":"\u001b[3%p1%d;4%p2%dm"} -{"name":"opennt-50-nti","aliases":["ntconsole-50-nti"],"cols":80,"lines":50,"colors":8,"bell":"\u0007","clear":"\u001b[2J","sgr0":"\u001b[0m","smul":"\u001b[4m","bold":"\u001b[1m","rev":"\u001b[7m","setaf":"\u001b[3%p1%dm","setbg":"\u001b[4%p1%dm","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u001b[D","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001bF1","kf2":"\u001bF2","kf3":"\u001bF3","kf4":"\u001bF4","kf5":"\u001bF5","kf6":"\u001bF6","kf7":"\u001bF7","kf8":"\u001bF8","kf9":"\u001bF9","kf10":"\u001bFA","kf11":"\u001bFB","kf12":"\u001bFC","kf13":"\u001bFD","kf14":"\u001bFE","kf15":"\u001bFF","kf16":"\u001bFG","kf17":"\u001bFH","kf18":"\u001bFI","kf19":"\u001bFJ","kf20":"\u001bFK","kf21":"\u001bFL","kf22":"\u001bFM","kf23":"\u001bFN","kf24":"\u001bFO","kf25":"\u001bFP","kf26":"\u001bFQ","kf27":"\u001bFR","kf28":"\u001bFS","kf29":"\u001bFT","kf30":"\u001bFU","kf31":"\u001bFV","kf32":"\u001bFW","kf33":"\u001bFX","kf34":"\u001bFY","kf35":"\u001bFZ","kf36":"\u001bFa","kf37":"\u001bFb","kf38":"\u001bFc","kf39":"\u001bFd","kf40":"\u001bFe","kf41":"\u001bFf","kf42":"\u001bFg","kf43":"\u001bFh","kf44":"\u001bFi","kf45":"\u001bFj","kf46":"\u001bFk","kf47":"\u001bFm","kf48":"\u001bFn","kf49":"\u001bFo","kf50":"\u001bFp","kf51":"\u001bFq","kf52":"\u001bFr","kf53":"\u001bFs","kf54":"\u001bFt","kf55":"\u001bFu","kf56":"\u001bFv","kf57":"\u001bFw","kf58":"\u001bFx","kf59":"\u001bFy","kf60":"\u001bFz","kf61":"\u001bF+","kf62":"\u001bF-","kf63":"\u001bF\u000c kf64=\u001bF$","kich":"\u001b[L","kdch":"\u001b[M","kend":"\u001b[U","kpp":"\u001b[S","knp":"\u001b[T","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001b[Z","acsc":"`\u0004a\ufffdf\ufffdg\ufffdh\ufffdj\ufffdk\ufffdl\ufffdm\ufffdn\ufffdo~q\ufffdr\ufffds_t\ufffdu\ufffdv\ufffdw\ufffdx\ufffdy\ufffdz\ufffd{\ufffd|\ufffd}\ufffd~\ufffd.\u0019-\u0018,\u0011+\u00100\ufffdp\ufffdr\ufffdy\ufffdz\ufffd{\ufffd|\ufffd}\ufffd","_setfgbg":"\u001b[3%p1%d;4%p2%dm"} -{"name":"opennt-50-w","aliases":["ntconsole-50-w"],"cols":125,"lines":50,"colors":8,"bell":"\u0007","clear":"\u001b[2J","smcup":"\u001b[s\u001b[1b","rmcup":"\u001b[2b\u001b[u\r\u001b[K","sgr0":"\u001b[0m","smul":"\u001b[4m","bold":"\u001b[1m","rev":"\u001b[7m","setaf":"\u001b[3%p1%dm","setbg":"\u001b[4%p1%dm","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u001b[D","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001bF1","kf2":"\u001bF2","kf3":"\u001bF3","kf4":"\u001bF4","kf5":"\u001bF5","kf6":"\u001bF6","kf7":"\u001bF7","kf8":"\u001bF8","kf9":"\u001bF9","kf10":"\u001bFA","kf11":"\u001bFB","kf12":"\u001bFC","kf13":"\u001bFD","kf14":"\u001bFE","kf15":"\u001bFF","kf16":"\u001bFG","kf17":"\u001bFH","kf18":"\u001bFI","kf19":"\u001bFJ","kf20":"\u001bFK","kf21":"\u001bFL","kf22":"\u001bFM","kf23":"\u001bFN","kf24":"\u001bFO","kf25":"\u001bFP","kf26":"\u001bFQ","kf27":"\u001bFR","kf28":"\u001bFS","kf29":"\u001bFT","kf30":"\u001bFU","kf31":"\u001bFV","kf32":"\u001bFW","kf33":"\u001bFX","kf34":"\u001bFY","kf35":"\u001bFZ","kf36":"\u001bFa","kf37":"\u001bFb","kf38":"\u001bFc","kf39":"\u001bFd","kf40":"\u001bFe","kf41":"\u001bFf","kf42":"\u001bFg","kf43":"\u001bFh","kf44":"\u001bFi","kf45":"\u001bFj","kf46":"\u001bFk","kf47":"\u001bFm","kf48":"\u001bFn","kf49":"\u001bFo","kf50":"\u001bFp","kf51":"\u001bFq","kf52":"\u001bFr","kf53":"\u001bFs","kf54":"\u001bFt","kf55":"\u001bFu","kf56":"\u001bFv","kf57":"\u001bFw","kf58":"\u001bFx","kf59":"\u001bFy","kf60":"\u001bFz","kf61":"\u001bF+","kf62":"\u001bF-","kf63":"\u001bF\u000c kf64=\u001bF$","kich":"\u001b[L","kdch":"\u001b[M","kend":"\u001b[U","kpp":"\u001b[S","knp":"\u001b[T","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001b[Z","acsc":"`\u0004a\ufffdf\ufffdg\ufffdh\ufffdj\ufffdk\ufffdl\ufffdm\ufffdn\ufffdo~q\ufffdr\ufffds_t\ufffdu\ufffdv\ufffdw\ufffdx\ufffdy\ufffdz\ufffd{\ufffd|\ufffd}\ufffd~\ufffd.\u0019-\u0018,\u0011+\u00100\ufffdp\ufffdr\ufffdy\ufffdz\ufffd{\ufffd|\ufffd}\ufffd","_setfgbg":"\u001b[3%p1%d;4%p2%dm"} -{"name":"opennt-60","aliases":["ntconsole-60"],"cols":80,"lines":60,"colors":8,"bell":"\u0007","clear":"\u001b[2J","smcup":"\u001b[s\u001b[1b","rmcup":"\u001b[2b\u001b[u\r\u001b[K","sgr0":"\u001b[0m","smul":"\u001b[4m","bold":"\u001b[1m","rev":"\u001b[7m","setaf":"\u001b[3%p1%dm","setbg":"\u001b[4%p1%dm","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u001b[D","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001bF1","kf2":"\u001bF2","kf3":"\u001bF3","kf4":"\u001bF4","kf5":"\u001bF5","kf6":"\u001bF6","kf7":"\u001bF7","kf8":"\u001bF8","kf9":"\u001bF9","kf10":"\u001bFA","kf11":"\u001bFB","kf12":"\u001bFC","kf13":"\u001bFD","kf14":"\u001bFE","kf15":"\u001bFF","kf16":"\u001bFG","kf17":"\u001bFH","kf18":"\u001bFI","kf19":"\u001bFJ","kf20":"\u001bFK","kf21":"\u001bFL","kf22":"\u001bFM","kf23":"\u001bFN","kf24":"\u001bFO","kf25":"\u001bFP","kf26":"\u001bFQ","kf27":"\u001bFR","kf28":"\u001bFS","kf29":"\u001bFT","kf30":"\u001bFU","kf31":"\u001bFV","kf32":"\u001bFW","kf33":"\u001bFX","kf34":"\u001bFY","kf35":"\u001bFZ","kf36":"\u001bFa","kf37":"\u001bFb","kf38":"\u001bFc","kf39":"\u001bFd","kf40":"\u001bFe","kf41":"\u001bFf","kf42":"\u001bFg","kf43":"\u001bFh","kf44":"\u001bFi","kf45":"\u001bFj","kf46":"\u001bFk","kf47":"\u001bFm","kf48":"\u001bFn","kf49":"\u001bFo","kf50":"\u001bFp","kf51":"\u001bFq","kf52":"\u001bFr","kf53":"\u001bFs","kf54":"\u001bFt","kf55":"\u001bFu","kf56":"\u001bFv","kf57":"\u001bFw","kf58":"\u001bFx","kf59":"\u001bFy","kf60":"\u001bFz","kf61":"\u001bF+","kf62":"\u001bF-","kf63":"\u001bF\u000c kf64=\u001bF$","kich":"\u001b[L","kdch":"\u001b[M","kend":"\u001b[U","kpp":"\u001b[S","knp":"\u001b[T","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001b[Z","acsc":"`\u0004a\ufffdf\ufffdg\ufffdh\ufffdj\ufffdk\ufffdl\ufffdm\ufffdn\ufffdo~q\ufffdr\ufffds_t\ufffdu\ufffdv\ufffdw\ufffdx\ufffdy\ufffdz\ufffd{\ufffd|\ufffd}\ufffd~\ufffd.\u0019-\u0018,\u0011+\u00100\ufffdp\ufffdr\ufffdy\ufffdz\ufffd{\ufffd|\ufffd}\ufffd","_setfgbg":"\u001b[3%p1%d;4%p2%dm"} -{"name":"opennt-60-nti","aliases":["ntconsole-60-nti"],"cols":80,"lines":60,"colors":8,"bell":"\u0007","clear":"\u001b[2J","sgr0":"\u001b[0m","smul":"\u001b[4m","bold":"\u001b[1m","rev":"\u001b[7m","setaf":"\u001b[3%p1%dm","setbg":"\u001b[4%p1%dm","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u001b[D","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001bF1","kf2":"\u001bF2","kf3":"\u001bF3","kf4":"\u001bF4","kf5":"\u001bF5","kf6":"\u001bF6","kf7":"\u001bF7","kf8":"\u001bF8","kf9":"\u001bF9","kf10":"\u001bFA","kf11":"\u001bFB","kf12":"\u001bFC","kf13":"\u001bFD","kf14":"\u001bFE","kf15":"\u001bFF","kf16":"\u001bFG","kf17":"\u001bFH","kf18":"\u001bFI","kf19":"\u001bFJ","kf20":"\u001bFK","kf21":"\u001bFL","kf22":"\u001bFM","kf23":"\u001bFN","kf24":"\u001bFO","kf25":"\u001bFP","kf26":"\u001bFQ","kf27":"\u001bFR","kf28":"\u001bFS","kf29":"\u001bFT","kf30":"\u001bFU","kf31":"\u001bFV","kf32":"\u001bFW","kf33":"\u001bFX","kf34":"\u001bFY","kf35":"\u001bFZ","kf36":"\u001bFa","kf37":"\u001bFb","kf38":"\u001bFc","kf39":"\u001bFd","kf40":"\u001bFe","kf41":"\u001bFf","kf42":"\u001bFg","kf43":"\u001bFh","kf44":"\u001bFi","kf45":"\u001bFj","kf46":"\u001bFk","kf47":"\u001bFm","kf48":"\u001bFn","kf49":"\u001bFo","kf50":"\u001bFp","kf51":"\u001bFq","kf52":"\u001bFr","kf53":"\u001bFs","kf54":"\u001bFt","kf55":"\u001bFu","kf56":"\u001bFv","kf57":"\u001bFw","kf58":"\u001bFx","kf59":"\u001bFy","kf60":"\u001bFz","kf61":"\u001bF+","kf62":"\u001bF-","kf63":"\u001bF\u000c kf64=\u001bF$","kich":"\u001b[L","kdch":"\u001b[M","kend":"\u001b[U","kpp":"\u001b[S","knp":"\u001b[T","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001b[Z","acsc":"`\u0004a\ufffdf\ufffdg\ufffdh\ufffdj\ufffdk\ufffdl\ufffdm\ufffdn\ufffdo~q\ufffdr\ufffds_t\ufffdu\ufffdv\ufffdw\ufffdx\ufffdy\ufffdz\ufffd{\ufffd|\ufffd}\ufffd~\ufffd.\u0019-\u0018,\u0011+\u00100\ufffdp\ufffdr\ufffdy\ufffdz\ufffd{\ufffd|\ufffd}\ufffd","_setfgbg":"\u001b[3%p1%d;4%p2%dm"} -{"name":"opennt-60-w","aliases":["ntconsole-60-w"],"cols":125,"lines":60,"colors":8,"bell":"\u0007","clear":"\u001b[2J","smcup":"\u001b[s\u001b[1b","rmcup":"\u001b[2b\u001b[u\r\u001b[K","sgr0":"\u001b[0m","smul":"\u001b[4m","bold":"\u001b[1m","rev":"\u001b[7m","setaf":"\u001b[3%p1%dm","setbg":"\u001b[4%p1%dm","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u001b[D","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001bF1","kf2":"\u001bF2","kf3":"\u001bF3","kf4":"\u001bF4","kf5":"\u001bF5","kf6":"\u001bF6","kf7":"\u001bF7","kf8":"\u001bF8","kf9":"\u001bF9","kf10":"\u001bFA","kf11":"\u001bFB","kf12":"\u001bFC","kf13":"\u001bFD","kf14":"\u001bFE","kf15":"\u001bFF","kf16":"\u001bFG","kf17":"\u001bFH","kf18":"\u001bFI","kf19":"\u001bFJ","kf20":"\u001bFK","kf21":"\u001bFL","kf22":"\u001bFM","kf23":"\u001bFN","kf24":"\u001bFO","kf25":"\u001bFP","kf26":"\u001bFQ","kf27":"\u001bFR","kf28":"\u001bFS","kf29":"\u001bFT","kf30":"\u001bFU","kf31":"\u001bFV","kf32":"\u001bFW","kf33":"\u001bFX","kf34":"\u001bFY","kf35":"\u001bFZ","kf36":"\u001bFa","kf37":"\u001bFb","kf38":"\u001bFc","kf39":"\u001bFd","kf40":"\u001bFe","kf41":"\u001bFf","kf42":"\u001bFg","kf43":"\u001bFh","kf44":"\u001bFi","kf45":"\u001bFj","kf46":"\u001bFk","kf47":"\u001bFm","kf48":"\u001bFn","kf49":"\u001bFo","kf50":"\u001bFp","kf51":"\u001bFq","kf52":"\u001bFr","kf53":"\u001bFs","kf54":"\u001bFt","kf55":"\u001bFu","kf56":"\u001bFv","kf57":"\u001bFw","kf58":"\u001bFx","kf59":"\u001bFy","kf60":"\u001bFz","kf61":"\u001bF+","kf62":"\u001bF-","kf63":"\u001bF\u000c kf64=\u001bF$","kich":"\u001b[L","kdch":"\u001b[M","kend":"\u001b[U","kpp":"\u001b[S","knp":"\u001b[T","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001b[Z","acsc":"`\u0004a\ufffdf\ufffdg\ufffdh\ufffdj\ufffdk\ufffdl\ufffdm\ufffdn\ufffdo~q\ufffdr\ufffds_t\ufffdu\ufffdv\ufffdw\ufffdx\ufffdy\ufffdz\ufffd{\ufffd|\ufffd}\ufffd~\ufffd.\u0019-\u0018,\u0011+\u00100\ufffdp\ufffdr\ufffdy\ufffdz\ufffd{\ufffd|\ufffd}\ufffd","_setfgbg":"\u001b[3%p1%d;4%p2%dm"} -{"name":"opennt-w","aliases":["ntconsole-25-w","ntconsole-w","opennt-25-w"],"cols":125,"lines":25,"colors":8,"bell":"\u0007","clear":"\u001b[2J","smcup":"\u001b[s\u001b[1b","rmcup":"\u001b[2b\u001b[u\r\u001b[K","sgr0":"\u001b[0m","smul":"\u001b[4m","bold":"\u001b[1m","rev":"\u001b[7m","setaf":"\u001b[3%p1%dm","setbg":"\u001b[4%p1%dm","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u001b[D","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001bF1","kf2":"\u001bF2","kf3":"\u001bF3","kf4":"\u001bF4","kf5":"\u001bF5","kf6":"\u001bF6","kf7":"\u001bF7","kf8":"\u001bF8","kf9":"\u001bF9","kf10":"\u001bFA","kf11":"\u001bFB","kf12":"\u001bFC","kf13":"\u001bFD","kf14":"\u001bFE","kf15":"\u001bFF","kf16":"\u001bFG","kf17":"\u001bFH","kf18":"\u001bFI","kf19":"\u001bFJ","kf20":"\u001bFK","kf21":"\u001bFL","kf22":"\u001bFM","kf23":"\u001bFN","kf24":"\u001bFO","kf25":"\u001bFP","kf26":"\u001bFQ","kf27":"\u001bFR","kf28":"\u001bFS","kf29":"\u001bFT","kf30":"\u001bFU","kf31":"\u001bFV","kf32":"\u001bFW","kf33":"\u001bFX","kf34":"\u001bFY","kf35":"\u001bFZ","kf36":"\u001bFa","kf37":"\u001bFb","kf38":"\u001bFc","kf39":"\u001bFd","kf40":"\u001bFe","kf41":"\u001bFf","kf42":"\u001bFg","kf43":"\u001bFh","kf44":"\u001bFi","kf45":"\u001bFj","kf46":"\u001bFk","kf47":"\u001bFm","kf48":"\u001bFn","kf49":"\u001bFo","kf50":"\u001bFp","kf51":"\u001bFq","kf52":"\u001bFr","kf53":"\u001bFs","kf54":"\u001bFt","kf55":"\u001bFu","kf56":"\u001bFv","kf57":"\u001bFw","kf58":"\u001bFx","kf59":"\u001bFy","kf60":"\u001bFz","kf61":"\u001bF+","kf62":"\u001bF-","kf63":"\u001bF\u000c kf64=\u001bF$","kich":"\u001b[L","kdch":"\u001b[M","kend":"\u001b[U","kpp":"\u001b[S","knp":"\u001b[T","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001b[Z","acsc":"`\u0004a\ufffdf\ufffdg\ufffdh\ufffdj\ufffdk\ufffdl\ufffdm\ufffdn\ufffdo~q\ufffdr\ufffds_t\ufffdu\ufffdv\ufffdw\ufffdx\ufffdy\ufffdz\ufffd{\ufffd|\ufffd}\ufffd~\ufffd.\u0019-\u0018,\u0011+\u00100\ufffdp\ufffdr\ufffdy\ufffdz\ufffd{\ufffd|\ufffd}\ufffd","_setfgbg":"\u001b[3%p1%d;4%p2%dm"} -{"name":"opennt-w-vt","aliases":["ntconsole-25-w-vt","ntconsole-w-vt","opennt-25-w-vt"],"cols":132,"lines":25,"colors":8,"bell":"\u0007","clear":"\u001b[2J","smcup":"\u001b[s\u001b[1b","rmcup":"\u001b[2b\u001b[u\r\u001b[K","sgr0":"\u001b[0m","smul":"\u001b[4m","bold":"\u001b[1m","rev":"\u001b[7m","setaf":"\u001b[3%p1%dm","setbg":"\u001b[4%p1%dm","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u001b[D","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001bF1","kf2":"\u001bF2","kf3":"\u001bF3","kf4":"\u001bF4","kf5":"\u001bF5","kf6":"\u001bF6","kf7":"\u001bF7","kf8":"\u001bF8","kf9":"\u001bF9","kf10":"\u001bFA","kf11":"\u001bFB","kf12":"\u001bFC","kf13":"\u001bFD","kf14":"\u001bFE","kf15":"\u001bFF","kf16":"\u001bFG","kf17":"\u001bFH","kf18":"\u001bFI","kf19":"\u001bFJ","kf20":"\u001bFK","kf21":"\u001bFL","kf22":"\u001bFM","kf23":"\u001bFN","kf24":"\u001bFO","kf25":"\u001bFP","kf26":"\u001bFQ","kf27":"\u001bFR","kf28":"\u001bFS","kf29":"\u001bFT","kf30":"\u001bFU","kf31":"\u001bFV","kf32":"\u001bFW","kf33":"\u001bFX","kf34":"\u001bFY","kf35":"\u001bFZ","kf36":"\u001bFa","kf37":"\u001bFb","kf38":"\u001bFc","kf39":"\u001bFd","kf40":"\u001bFe","kf41":"\u001bFf","kf42":"\u001bFg","kf43":"\u001bFh","kf44":"\u001bFi","kf45":"\u001bFj","kf46":"\u001bFk","kf47":"\u001bFm","kf48":"\u001bFn","kf49":"\u001bFo","kf50":"\u001bFp","kf51":"\u001bFq","kf52":"\u001bFr","kf53":"\u001bFs","kf54":"\u001bFt","kf55":"\u001bFu","kf56":"\u001bFv","kf57":"\u001bFw","kf58":"\u001bFx","kf59":"\u001bFy","kf60":"\u001bFz","kf61":"\u001bF+","kf62":"\u001bF-","kf63":"\u001bF\u000c kf64=\u001bF$","kich":"\u001b[L","kdch":"\u001b[M","kend":"\u001b[U","kpp":"\u001b[S","knp":"\u001b[T","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001b[Z","acsc":"`\u0004a\ufffdf\ufffdg\ufffdh\ufffdj\ufffdk\ufffdl\ufffdm\ufffdn\ufffdo~q\ufffdr\ufffds_t\ufffdu\ufffdv\ufffdw\ufffdx\ufffdy\ufffdz\ufffd{\ufffd|\ufffd}\ufffd~\ufffd.\u0019-\u0018,\u0011+\u00100\ufffdp\ufffdr\ufffdy\ufffdz\ufffd{\ufffd|\ufffd}\ufffd","_setfgbg":"\u001b[3%p1%d;4%p2%dm"} -{"name":"opus3n1+","cols":80,"lines":24,"bell":"\u0007","clear":"\u001b*$\u003c100\u003e","smcup":"\u001bzz\u0026\u001b[A\u001bzz'\u001b[B\u001bzz(\u001b[D\u001bzz)\u001b[C\u001bzz\u003c\u001b[Q","cnorm":"\u001b`1","civis":"\u001b`0","sgr0":"\u001b(\u001bH\u0003\u001bG0\u001bcD","smul":"\u001bG8","blink":"\u001bG2","rev":"\u001bG4","dim":"\u001bGp","cup":"\u001ba%i%p1%dR%p2%dC","cub1":"\u0008","cuu1":"\u000b","pad":"\u0000","kbs":"\u0008","kf1":"\u0001@\r","kf2":"\u0001A\r","kf3":"\u0001B\r","kf4":"\u0001C\r","kf5":"\u0001D\r","kf6":"\u0001E\r","kf7":"\u0001F\r","kf8":"\u0001G\r","kf9":"\u0001H\r","kf10":"\u0001I\r","kf11":"\u0001J\r","kf12":"\u0001K\r","kf13":"\u0001L\r","kf14":"\u0001M\r","kf15":"\u0001N\r","kf16":"\u0001O\r","kich":"\u001bQ","kdch":"\u001bW","khome":"\u001e","kend":"\u001b[F","kpp":"\u001bJ","knp":"\u001bK","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001bI","kprt":"\u001bP","acsc":"0wa_h[jukslrmqnxqzttuyv]wpxv","smacs":"\u001bH\u0002","rmacs":"\u001bH\u0003","kHOM":"\u001b{"} -{"name":"origpc3","aliases":["origibmpc3"],"cols":80,"lines":25,"clear":"\u001bc","sgr0":"\u001b[m\u001b[1;0x\u001b[2;7x","smul":"\u001b[1;7x\u001b[2;0x","bold":"\u001b[7m","cup":"\u001b[%i%p1%2d;%p2%2dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","khome":"\u001b[Y","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","acsc":"j\ufffdk\ufffdl\ufffdm\ufffdn\ufffdq\ufffdt\ufffdu\ufffdv\ufffdw\ufffdx\ufffd"} -{"name":"osborne","aliases":["osborne1"],"cols":80,"lines":24,"clear":"\u001a","smul":"\u001bl","cup":"\u001b=%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008$\u003c4\u003e","cuu1":"\u000b","pad":"\u0000","kbs":"\u0008","kcuu1":"\u000b","kcud1":"\n","kcub1":"\u0008","kcuf1":"\u000c"} -{"name":"osborne-w","aliases":["osborne1-w"],"cols":104,"lines":24,"bell":"\u0007","clear":"\u001a","smul":"\u001bl","cup":"\u001b=%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u000b","pad":"\u0000","kcuu1":"\u000b","kcud1":"\n","kcub1":"\u0008","kcuf1":"\u000c"} -{"name":"osexec","cols":80,"lines":24,"bell":"\u0007","clear":"\u001a","smul":"\u001bl","cup":"\u001b=%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u000b","pad":"\u0000","kbs":"\u0008","kf1":"\u0001A\r","kf2":"\u0001B\r","kf3":"\u0001C\r","kf4":"\u0001D\r","kf5":"\u0001E\r","kf6":"\u0001F\r","kf7":"\u0001G\r","kf8":"\u0001H\r","kf9":"\u0001I\r","kcuu1":"\u000b","kcud1":"\n","kcub1":"\u0008","kcuf1":"\u000c"} -{"name":"otek4115","cols":80,"lines":34,"clear":"\u001b[H\u001b[2J","smcup":"\u001b%!0\u001bLBB2\u001b%!1","rmcup":"\u001b%!0\u001bLBG8\u001b%!1\u001b[34;1H\u001b[J","cnorm":"\u001b%!0\u001bLBG8\u001b%!1\u001b[34;1H","sgr0":"\u001b[m","smul":"\u001b[4m","smkx":"\u001b=","rmkx":"\u001b\u003e","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u001b[D","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008"} -{"name":"owl","aliases":["pe1200"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u001bH\u001bJ$\u003c132\u003e","sgr0":"\u001b!\ufffd","cup":"\u001bX%p1%' '%+%c\u001bY%p2%' '%+%c","cub1":"\u0008","cuu1":"\u001bA","pad":"\u0000","kbs":"\u0008","kf1":"\u001bRA","kf2":"\u001bRB","kf3":"\u001bRC","kf4":"\u001bRD","kf5":"\u001bRE","kf6":"\u001bRF","kf7":"\u001bRG","kf8":"\u001bRH","kf9":"\u001bRI"} -{"name":"p19","cols":80,"lines":24,"bell":"\u0007","clear":"\u001bE","cnorm":"\u001by4","cup":"\u001bY%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u001bA","pad":"\u0000","kbs":"\u0008","kf1":"\u001bS","kf2":"\u001bT","kf3":"\u001bU","kf4":"\u001bV","kf5":"\u001bW","kf6":"\u001bP","kf7":"\u001bQ","kf8":"\u001bR","khome":"\u001bH","kcuu1":"\u001bA","kcud1":"\u001bB","kcub1":"\u001bD","kcuf1":"\u001bC","acsc":"~^x`qanbkcjdmelfgg+hai.kwsutvutvozs{","smacs":"\u001bF","rmacs":"\u001bG"} -{"name":"p8gl","aliases":["prism8gl"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u000c","sgr0":"\u0003 ","smul":"\u00030","blink":"\u0003B","rev":"\u0003D","dim":"\u0003A","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0015","cuu1":"\u001a","pad":"\ufffd","kbs":"\u0008","kf1":"\u0001@\r","kf2":"\u0001A\r","kf3":"\u0001B\r","kf4":"\u0001C\r","kf5":"\u0001D\r","kf6":"\u0001E\r","kf7":"\u0001F\r","kf8":"\u0001G\r","kf9":"\u0001H\r","kf10":"\u0001I\r","kf12":"\u0001J\r","kf13":"\u0001K\r","kf14":"\u0001L\r","kf15":"\u0001M\r","kf16":"\u0001N\r","kf17":"\u0001O\r","kdch":" \u0008","khome":"\u0001","kcuu1":"\u001a","kcud1":"\n","kcub1":"\u0015","kcuf1":"\u0006"} -{"name":"pc-coherent","aliases":["coherent","pcz19"],"cols":80,"lines":25,"bell":"\u0007","clear":"\u001bE","sgr0":"\u001bq","cup":"\u001bY%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u001bA","pad":"\u0000","kbs":"\u0008","khome":"\u001bH","kcuu1":"\u001bA","kcud1":"\u001bB","kcub1":"\u001bD","kcuf1":"\u001bC"} -{"name":"pc-minix","cols":80,"lines":25,"bell":"\u0007","clear":"\u001b[H\u001b[0J","sgr0":"\u001b[0m","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001b[V","kf2":"\u001b[U","kf3":"\u001b[T","kf4":"\u001b[S","kf5":"\u001b[G","khome":"\u001b[H","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","acsc":"+\u0010,\u0011-\u0018.\u00190\ufffd`\u0004a\ufffdf\ufffdg\ufffdh\ufffdj\ufffdk\ufffdl\ufffdm\ufffdn\ufffdo~p\ufffdq\ufffdr\ufffds_t\ufffdu\ufffdv\ufffdw\ufffdx\ufffdy\ufffdz\ufffd{\ufffd|\ufffd}\ufffd~\ufffd","smacs":"\u001b[11m","rmacs":"\u001b[10m"} -{"name":"pc-venix","aliases":["venix"],"cols":80,"lines":25,"bell":"\u0007","clear":"\u001bH\u001bJ","cup":"\u001bY%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u001bA","pad":"\u0000","kbs":"\u0008","khome":"\u001bG","kcuu1":"\u001bH","kcud1":"\u001bP","kcub1":"\u001bK","kcuf1":"\u001bM"} -{"name":"pc3","cols":80,"lines":25,"colors":8,"bell":"\u0007","clear":"\u001bc","sgr0":"\u001b[0;10m","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","setaf":"\u001b[3%p1%dm","setbg":"\u001b[4%p1%dm","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kich":"\u001b[L","khome":"\u001b[H","kpp":"\u001b[I","knp":"\u001b[G","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","acsc":"+\u0010,\u0011-\u0018.\u00190\ufffd`\u0004a\ufffdf\ufffdg\ufffdh\ufffdj\ufffdk\ufffdl\ufffdm\ufffdn\ufffdo~p\ufffdq\ufffdr\ufffds_t\ufffdu\ufffdv\ufffdw\ufffdx\ufffdy\ufffdz\ufffd{\ufffd|\ufffd}\ufffd~\ufffd","smacs":"\u001b[11m","rmacs":"\u001b[10m","_setfgbg":"\u001b[3%p1%d;4%p2%dm"} -{"name":"pc6300plus","cols":80,"lines":24,"bell":"\u0007","clear":"\u001b[2J\u001b[H","cnorm":"\u001b[=1C","civis":"\u001b[=C","sgr0":"\u001b[m","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","dim":"\u001b[2m","cup":"\u001b[%i%p1%2d;%p2%2dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOc","kf2":"\u001bOd","kf3":"\u001bOe","kf4":"\u001bOf","kf5":"\u001bOg","kf6":"\u001bOh","kf7":"\u001bOi","kf8":"\u001bOj","kf9":"\u001bOk","kf10":"\u001bOu","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C"} -{"name":"pcansi","cols":80,"lines":24,"colors":8,"bell":"\u0007","clear":"\u001b[H\u001b[J","sgr0":"\u001b[0;10m","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","setaf":"\u001b[3%p1%dm","setbg":"\u001b[4%p1%dm","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u001b[D","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","khome":"\u001b[H","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","acsc":"+\u0010,\u0011-\u0018.\u00190\ufffd`\u0004a\ufffdf\ufffdg\ufffdh\ufffdj\ufffdk\ufffdl\ufffdm\ufffdn\ufffdo~p\ufffdq\ufffdr\ufffds_t\ufffdu\ufffdv\ufffdw\ufffdx\ufffdy\ufffdz\ufffd{\ufffd|\ufffd}\ufffd~\ufffd","smacs":"\u001b[12m","rmacs":"\u001b[10m","_setfgbg":"\u001b[3%p1%d;4%p2%dm"} -{"name":"pcansi-25","aliases":["pcansi25"],"cols":80,"lines":25,"colors":8,"bell":"\u0007","clear":"\u001b[H\u001b[J","sgr0":"\u001b[0;10m","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","setaf":"\u001b[3%p1%dm","setbg":"\u001b[4%p1%dm","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u001b[D","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","khome":"\u001b[H","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","acsc":"+\u0010,\u0011-\u0018.\u00190\ufffd`\u0004a\ufffdf\ufffdg\ufffdh\ufffdj\ufffdk\ufffdl\ufffdm\ufffdn\ufffdo~p\ufffdq\ufffdr\ufffds_t\ufffdu\ufffdv\ufffdw\ufffdx\ufffdy\ufffdz\ufffd{\ufffd|\ufffd}\ufffd~\ufffd","smacs":"\u001b[12m","rmacs":"\u001b[10m","_setfgbg":"\u001b[3%p1%d;4%p2%dm"} -{"name":"pcansi-25-m","aliases":["pcansi25m"],"cols":80,"lines":25,"bell":"\u0007","clear":"\u001b[H\u001b[J","sgr0":"\u001b[0;10m","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u001b[D","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","khome":"\u001b[H","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","acsc":"+\u0010,\u0011-\u0018.\u00190\ufffd`\u0004a\ufffdf\ufffdg\ufffdh\ufffdj\ufffdk\ufffdl\ufffdm\ufffdn\ufffdo~p\ufffdq\ufffdr\ufffds_t\ufffdu\ufffdv\ufffdw\ufffdx\ufffdy\ufffdz\ufffd{\ufffd|\ufffd}\ufffd~\ufffd","smacs":"\u001b[12m","rmacs":"\u001b[10m"} -{"name":"pcansi-33","aliases":["pcansi33"],"cols":80,"lines":33,"colors":8,"bell":"\u0007","clear":"\u001b[H\u001b[J","sgr0":"\u001b[0;10m","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","setaf":"\u001b[3%p1%dm","setbg":"\u001b[4%p1%dm","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u001b[D","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","khome":"\u001b[H","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","acsc":"+\u0010,\u0011-\u0018.\u00190\ufffd`\u0004a\ufffdf\ufffdg\ufffdh\ufffdj\ufffdk\ufffdl\ufffdm\ufffdn\ufffdo~p\ufffdq\ufffdr\ufffds_t\ufffdu\ufffdv\ufffdw\ufffdx\ufffdy\ufffdz\ufffd{\ufffd|\ufffd}\ufffd~\ufffd","smacs":"\u001b[12m","rmacs":"\u001b[10m","_setfgbg":"\u001b[3%p1%d;4%p2%dm"} -{"name":"pcansi-33-m","aliases":["pcansi33m"],"cols":80,"lines":33,"bell":"\u0007","clear":"\u001b[H\u001b[J","sgr0":"\u001b[0;10m","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u001b[D","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","khome":"\u001b[H","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","acsc":"+\u0010,\u0011-\u0018.\u00190\ufffd`\u0004a\ufffdf\ufffdg\ufffdh\ufffdj\ufffdk\ufffdl\ufffdm\ufffdn\ufffdo~p\ufffdq\ufffdr\ufffds_t\ufffdu\ufffdv\ufffdw\ufffdx\ufffdy\ufffdz\ufffd{\ufffd|\ufffd}\ufffd~\ufffd","smacs":"\u001b[12m","rmacs":"\u001b[10m"} -{"name":"pcansi-43","aliases":["pcansi43"],"cols":80,"lines":43,"colors":8,"bell":"\u0007","clear":"\u001b[H\u001b[J","sgr0":"\u001b[0;10m","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","setaf":"\u001b[3%p1%dm","setbg":"\u001b[4%p1%dm","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u001b[D","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","khome":"\u001b[H","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","acsc":"+\u0010,\u0011-\u0018.\u00190\ufffd`\u0004a\ufffdf\ufffdg\ufffdh\ufffdj\ufffdk\ufffdl\ufffdm\ufffdn\ufffdo~p\ufffdq\ufffdr\ufffds_t\ufffdu\ufffdv\ufffdw\ufffdx\ufffdy\ufffdz\ufffd{\ufffd|\ufffd}\ufffd~\ufffd","smacs":"\u001b[12m","rmacs":"\u001b[10m","_setfgbg":"\u001b[3%p1%d;4%p2%dm"} -{"name":"pcansi-43-m","aliases":["ansi43m"],"cols":80,"lines":43,"bell":"\u0007","clear":"\u001b[H\u001b[J","sgr0":"\u001b[0;10m","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u001b[D","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","khome":"\u001b[H","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","acsc":"+\u0010,\u0011-\u0018.\u00190\ufffd`\u0004a\ufffdf\ufffdg\ufffdh\ufffdj\ufffdk\ufffdl\ufffdm\ufffdn\ufffdo~p\ufffdq\ufffdr\ufffds_t\ufffdu\ufffdv\ufffdw\ufffdx\ufffdy\ufffdz\ufffd{\ufffd|\ufffd}\ufffd~\ufffd","smacs":"\u001b[12m","rmacs":"\u001b[10m"} -{"name":"pcansi-m","aliases":["pcansi-mono"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u001b[H\u001b[J","sgr0":"\u001b[0;10m","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u001b[D","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","khome":"\u001b[H","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","acsc":"+\u0010,\u0011-\u0018.\u00190\ufffd`\u0004a\ufffdf\ufffdg\ufffdh\ufffdj\ufffdk\ufffdl\ufffdm\ufffdn\ufffdo~p\ufffdq\ufffdr\ufffds_t\ufffdu\ufffdv\ufffdw\ufffdx\ufffdy\ufffdz\ufffd{\ufffd|\ufffd}\ufffd~\ufffd","smacs":"\u001b[12m","rmacs":"\u001b[10m"} -{"name":"pccons","aliases":["pcconsole"],"cols":80,"lines":25,"bell":"\u0007","clear":"\u001b[H\u001b[2J","sgr0":"\u001b[m","rev":"\u001b[7m","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","khome":"\u001b[H","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C"} -{"name":"pcix","cols":80,"lines":24,"clear":"\u001bc","sgr0":"\u001b[m","smul":"\u001b[4m","cup":"\u001b[%i%p1%2d;%p2%2dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000"} -{"name":"pckermit","aliases":["pckermit12"],"cols":80,"lines":25,"clear":"\u001bH\u001bJ","cup":"\u001bY%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u001bA","pad":"\u0000","khome":"\u001e","kcuu1":"\u000b","kcud1":"\n","kcub1":"\u0008","kcuf1":"\u000c"} -{"name":"pckermit120","cols":80,"lines":24,"clear":"\u001bE","cup":"\u001bY%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u001bA","pad":"\u0000","khome":"\u001e","kcuu1":"\u000b","kcud1":"\n","kcub1":"\u0008","kcuf1":"\u000c"} -{"name":"pcmw","cols":80,"lines":24,"bell":"\u0007","clear":"\u001b[;H\u001b[2J$\u003c50/\u003e","sgr0":"\u001b[m$\u003c2/\u003e","smul":"\u001b[4m$\u003c2/\u003e","bold":"\u001b[1m$\u003c2/\u003e","blink":"\u001b[5m$\u003c2/\u003e","rev":"\u001b[7m$\u003c2/\u003e","cup":"\u001b[%i%p1%d;%p2%dH$\u003c5/\u003e","cub1":"\u0008","cuu1":"\u001b[A$\u003c2/\u003e","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC"} -{"name":"pcplot","cols":80,"lines":24,"bell":"\u0007","clear":"\u001b[H\u001b[J$\u003c50\u003e","sgr0":"\u001b[m\u000f$\u003c2\u003e","smul":"\u001b[4m$\u003c2\u003e","bold":"\u001b[1m$\u003c2\u003e","blink":"\u001b[5m$\u003c2\u003e","rev":"\u001b[7m$\u003c2\u003e","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","cup":"\u001b[%i%p1%d;%p2%dH$\u003c5\u003e","cub1":"\u0008","cuu1":"\u001b[A$\u003c2\u003e","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kf5":"\u001bOt","kf6":"\u001bOu","kf7":"\u001bOv","kf8":"\u001bOl","kf9":"\u001bOw","kf10":"\u001bOx","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC","acsc":"``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u000e","rmacs":"\u000f","enacs":"\u001b(B\u001b)0"} -{"name":"pcvt25","cols":80,"lines":25,"bell":"\u0007","clear":"\u001b[H\u001b[J","cnorm":"\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b[m","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"","kf1":"\u001b[17~","kf2":"\u001b[18~","kf3":"\u001b[19~","kf4":"\u001b[20~","kf5":"\u001b[21~","kf6":"\u001b[23~","kf7":"\u001b[24~","kf8":"\u001b[25~","kich":"\u001b[2~","kdch":"\u001b[3~","khome":"\u001b[1~","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC","acsc":"++,,--..00``aaffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz~~","smacs":"\u001b(0","rmacs":"\u001b(B"} -{"name":"pcvt25-color","cols":80,"lines":25,"colors":8,"bell":"\u0007","clear":"\u001b[H\u001b[J","cnorm":"\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b[m","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","setaf":"\u001b[3%p1%dm","setbg":"\u001b[4%p1%dm","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kf5":"\u001b[17~","kf6":"\u001b[18~","kf7":"\u001b[19~","kf8":"\u001b[20~","kf9":"\u001b[21~","kf10":"\u001b[29~","kf11":"\u001b[23~","kf12":"\u001b[24~","kf13":"\u001b[25~","kf14":"\u001b[26~","kf15":"\u001b[28~","kf16":"\u001b[29~","kf17":"\u001b[31~","kf18":"\u001b[32~","kf19":"\u001b[33~","kf20":"\u001b[34~","kich":"\u001b[2~","kdch":"\u001b[3~","khome":"\u001b[1~","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC","acsc":"++,,--..00``aaffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz~~","smacs":"\u001b(0","rmacs":"\u001b(B","_setfgbg":"\u001b[3%p1%d;4%p2%dm"} -{"name":"pcvt25w","cols":132,"lines":25,"bell":"\u0007","clear":"\u001b[H\u001b[J","cnorm":"\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b[m","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"","kf1":"\u001b[17~","kf2":"\u001b[18~","kf3":"\u001b[19~","kf4":"\u001b[20~","kf5":"\u001b[21~","kf6":"\u001b[23~","kf7":"\u001b[24~","kf8":"\u001b[25~","kich":"\u001b[2~","kdch":"\u001b[3~","khome":"\u001b[1~","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC","acsc":"++,,--..00``aaffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz~~","smacs":"\u001b(0","rmacs":"\u001b(B"} -{"name":"pcvt28","cols":80,"lines":28,"bell":"\u0007","clear":"\u001b[H\u001b[J","cnorm":"\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b[m","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"","kf1":"\u001b[17~","kf2":"\u001b[18~","kf3":"\u001b[19~","kf4":"\u001b[20~","kf5":"\u001b[21~","kf6":"\u001b[23~","kf7":"\u001b[24~","kf8":"\u001b[25~","kich":"\u001b[2~","kdch":"\u001b[3~","khome":"\u001b[1~","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC","acsc":"++,,--..00``aaffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz~~","smacs":"\u001b(0","rmacs":"\u001b(B"} -{"name":"pcvt28w","cols":132,"lines":28,"bell":"\u0007","clear":"\u001b[H\u001b[J","cnorm":"\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b[m","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"","kf1":"\u001b[17~","kf2":"\u001b[18~","kf3":"\u001b[19~","kf4":"\u001b[20~","kf5":"\u001b[21~","kf6":"\u001b[23~","kf7":"\u001b[24~","kf8":"\u001b[25~","kich":"\u001b[2~","kdch":"\u001b[3~","khome":"\u001b[1~","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC","acsc":"++,,--..00``aaffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz~~","smacs":"\u001b(0","rmacs":"\u001b(B"} -{"name":"pcvt35","cols":80,"lines":35,"bell":"\u0007","clear":"\u001b[H\u001b[J","cnorm":"\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b[m","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"","kf1":"\u001b[17~","kf2":"\u001b[18~","kf3":"\u001b[19~","kf4":"\u001b[20~","kf5":"\u001b[21~","kf6":"\u001b[23~","kf7":"\u001b[24~","kf8":"\u001b[25~","kich":"\u001b[2~","kdch":"\u001b[3~","khome":"\u001b[1~","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC","acsc":"++,,--..00``aaffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz~~","smacs":"\u001b(0","rmacs":"\u001b(B"} -{"name":"pcvt35w","cols":132,"lines":35,"bell":"\u0007","clear":"\u001b[H\u001b[J","cnorm":"\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b[m","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"","kf1":"\u001b[17~","kf2":"\u001b[18~","kf3":"\u001b[19~","kf4":"\u001b[20~","kf5":"\u001b[21~","kf6":"\u001b[23~","kf7":"\u001b[24~","kf8":"\u001b[25~","kich":"\u001b[2~","kdch":"\u001b[3~","khome":"\u001b[1~","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC","acsc":"++,,--..00``aaffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz~~","smacs":"\u001b(0","rmacs":"\u001b(B"} -{"name":"pcvt40","cols":80,"lines":40,"bell":"\u0007","clear":"\u001b[H\u001b[J","cnorm":"\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b[m","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"","kf1":"\u001b[17~","kf2":"\u001b[18~","kf3":"\u001b[19~","kf4":"\u001b[20~","kf5":"\u001b[21~","kf6":"\u001b[23~","kf7":"\u001b[24~","kf8":"\u001b[25~","kich":"\u001b[2~","kdch":"\u001b[3~","khome":"\u001b[1~","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC","acsc":"++,,--..00``aaffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz~~","smacs":"\u001b(0","rmacs":"\u001b(B"} -{"name":"pcvt40w","cols":132,"lines":40,"bell":"\u0007","clear":"\u001b[H\u001b[J","cnorm":"\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b[m","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"","kf1":"\u001b[17~","kf2":"\u001b[18~","kf3":"\u001b[19~","kf4":"\u001b[20~","kf5":"\u001b[21~","kf6":"\u001b[23~","kf7":"\u001b[24~","kf8":"\u001b[25~","kich":"\u001b[2~","kdch":"\u001b[3~","khome":"\u001b[1~","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC","acsc":"++,,--..00``aaffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz~~","smacs":"\u001b(0","rmacs":"\u001b(B"} -{"name":"pcvt43","cols":80,"lines":43,"bell":"\u0007","clear":"\u001b[H\u001b[J","cnorm":"\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b[m","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"","kf1":"\u001b[17~","kf2":"\u001b[18~","kf3":"\u001b[19~","kf4":"\u001b[20~","kf5":"\u001b[21~","kf6":"\u001b[23~","kf7":"\u001b[24~","kf8":"\u001b[25~","kich":"\u001b[2~","kdch":"\u001b[3~","khome":"\u001b[1~","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC","acsc":"++,,--..00``aaffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz~~","smacs":"\u001b(0","rmacs":"\u001b(B"} -{"name":"pcvt43w","cols":132,"lines":43,"bell":"\u0007","clear":"\u001b[H\u001b[J","cnorm":"\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b[m","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"","kf1":"\u001b[17~","kf2":"\u001b[18~","kf3":"\u001b[19~","kf4":"\u001b[20~","kf5":"\u001b[21~","kf6":"\u001b[23~","kf7":"\u001b[24~","kf8":"\u001b[25~","kich":"\u001b[2~","kdch":"\u001b[3~","khome":"\u001b[1~","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC","acsc":"++,,--..00``aaffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz~~","smacs":"\u001b(0","rmacs":"\u001b(B"} -{"name":"pcvt50","cols":80,"lines":50,"bell":"\u0007","clear":"\u001b[H\u001b[J","cnorm":"\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b[m","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"","kf1":"\u001b[17~","kf2":"\u001b[18~","kf3":"\u001b[19~","kf4":"\u001b[20~","kf5":"\u001b[21~","kf6":"\u001b[23~","kf7":"\u001b[24~","kf8":"\u001b[25~","kich":"\u001b[2~","kdch":"\u001b[3~","khome":"\u001b[1~","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC","acsc":"++,,--..00``aaffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz~~","smacs":"\u001b(0","rmacs":"\u001b(B"} -{"name":"pcvt50w","cols":132,"lines":50,"bell":"\u0007","clear":"\u001b[H\u001b[J","cnorm":"\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b[m","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"","kf1":"\u001b[17~","kf2":"\u001b[18~","kf3":"\u001b[19~","kf4":"\u001b[20~","kf5":"\u001b[21~","kf6":"\u001b[23~","kf7":"\u001b[24~","kf8":"\u001b[25~","kich":"\u001b[2~","kdch":"\u001b[3~","khome":"\u001b[1~","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC","acsc":"++,,--..00``aaffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz~~","smacs":"\u001b(0","rmacs":"\u001b(B"} -{"name":"pcvtXX","cols":-1,"lines":-1,"bell":"\u0007","clear":"\u001b[H\u001b[J","cnorm":"\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b[m","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"","kf1":"\u001b[17~","kf2":"\u001b[18~","kf3":"\u001b[19~","kf4":"\u001b[20~","kf5":"\u001b[21~","kf6":"\u001b[23~","kf7":"\u001b[24~","kf8":"\u001b[25~","kich":"\u001b[2~","kdch":"\u001b[3~","khome":"\u001b[1~","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC","acsc":"++,,--..00``aaffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz~~","smacs":"\u001b(0","rmacs":"\u001b(B"} -{"name":"pe1251","aliases":["pe6300","pe6312"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u001bK$\u003c332\u003e","cup":"\u001bX%p1%' '%+%c\u001bY%p2%' '%+%c","cub1":"\u001bD","cuu1":"\u001bA","pad":"\u0000","kf1":"\u001bRB","kf2":"\u001bRC","kf3":"\u001bRD","kf4":"\u001bRE","kf5":"\u001bRF","kf6":"\u001bRG","kf7":"\u001bRH","kf8":"\u001bRI","kf9":"\u001bRJ","kf10":"\u001bRK"} -{"name":"pe7000c","cols":80,"lines":24,"bell":"\u0007","clear":"\u001bK","smul":"\u001b! ","cup":"\u001bS%p1%' '%+%c%p2%' '%+%c","cub1":"\u001bD","cuu1":"\u001bA","pad":"\u0000","kbs":"\u0008","kf1":"\u001b!\u0001","kf2":"\u001b!\u0002","kf3":"\u001b!\u0003","kf4":"\u001b!\u0004","kf5":"\u001b!\u0005","kf6":"\u001b!\u0006","kf7":"\u001b!\u0007","kf8":"\u001b!\u0008","kf9":"\u001b!\t","kf10":"\u001b!\n","khome":"\u001b!S","kcuu1":"\u001b!T","kcud1":"\u001b!U","kcub1":"\u001b!V","kcuf1":"\u001b!W"} -{"name":"pe7000m","cols":80,"lines":24,"bell":"\u0007","clear":"\u001bK","cup":"\u001bS%p1%' '%+%c%p2%' '%+%c","cub1":"\u001bD","cuu1":"\u001bA","pad":"\u0000","kbs":"\u0008","kf1":"\u001b!\u0001","kf2":"\u001b!\u0002","kf3":"\u001b!\u0003","kf4":"\u001b!\u0004","kf5":"\u001b!\u0005","kf6":"\u001b!\u0006","kf7":"\u001b!\u0007","kf8":"\u001b!\u0008","kf9":"\u001b!\t","kf10":"\u001b!\n","khome":"\u001b!S","kcuu1":"\u001b!T","kcud1":"\u001b!U","kcub1":"\u001b!V","kcuf1":"\u001b!W"} -{"name":"pilot","aliases":["tgtelnet"],"cols":39,"lines":16,"bell":"\u0007","clear":"\u001bc","cup":"\u001bm%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","pad":"\u0000","kbs":"\u0008","kpp":"\u000b","knp":"\u000c","kcud1":"\n","kcub1":"\u0008"} -{"name":"prism12","aliases":["P12","p12"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u000c","cnorm":"\u001b[\u003c4h","civis":"\u001b[\u003c4l","sgr0":"\u001b[0m\u000f","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001b[11~","kf2":"\u001b[12~","kf3":"\u001b[13~","kf4":"\u001b[14~","kf5":"\u001b[15~","kf6":"\u001b[17~","kf7":"\u001b[18~","kf8":"\u001b[19~","kf9":"\u001b[20~","kf10":"\u001b[21~","kf11":"\u001b[23~","kf12":"\u001b[24~","kf13":"\u001b[25~","kf14":"\u001b[26~","kf15":"\u001b[28~","kf16":"\u001b[29~","kf17":"\u001b[31~","kf18":"\u001b[32~","khome":"\u001b[H","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kclr":"\u000c"} -{"name":"prism12-m","aliases":["P12-M","p12-m"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u000c$\u003c20\u003e","cnorm":"\u001d\ufffd","civis":"\u001d\ufffd","sgr0":"\u0003 ","smul":"\u0003P","blink":"\u0003B","rev":"\u0003D","dim":"\u0003A","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001a","pad":"\u0000","kbs":"\u0008","khome":"\u0001"} -{"name":"prism12-m-w","aliases":["P12-M-W","p12-m-w"],"cols":132,"lines":24,"bell":"\u0007","clear":"\u000c$\u003c20\u003e","cnorm":"\u001d\ufffd","civis":"\u001d\ufffd","sgr0":"\u0003 ","smul":"\u0003P","blink":"\u0003B","rev":"\u0003D","dim":"\u0003A","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001a","pad":"\u0000","kbs":"\u0008","khome":"\u0001"} -{"name":"prism12-w","aliases":["P12-W","p12-w"],"cols":132,"lines":24,"bell":"\u0007","clear":"\u000c","cnorm":"\u001b[\u003c4h","civis":"\u001b[\u003c4l","sgr0":"\u001b[0m\u000f","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001b[11~","kf2":"\u001b[12~","kf3":"\u001b[13~","kf4":"\u001b[14~","kf5":"\u001b[15~","kf6":"\u001b[17~","kf7":"\u001b[18~","kf8":"\u001b[19~","kf9":"\u001b[20~","kf10":"\u001b[21~","kf11":"\u001b[23~","kf12":"\u001b[24~","kf13":"\u001b[25~","kf14":"\u001b[26~","kf15":"\u001b[28~","kf16":"\u001b[29~","kf17":"\u001b[31~","kf18":"\u001b[32~","khome":"\u001b[H","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kclr":"\u000c"} -{"name":"prism14","aliases":["P14","p14"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u000c","cnorm":"\u001b[\u003c4h","civis":"\u001b[\u003c4l","sgr0":"\u001b[0m\u000f","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001b[11~","kf2":"\u001b[12~","kf3":"\u001b[13~","kf4":"\u001b[14~","kf5":"\u001b[15~","kf6":"\u001b[17~","kf7":"\u001b[18~","kf8":"\u001b[19~","kf9":"\u001b[20~","kf10":"\u001b[21~","kf11":"\u001b[23~","kf12":"\u001b[24~","kf13":"\u001b[25~","kf14":"\u001b[26~","kf15":"\u001b[28~","kf16":"\u001b[29~","kf17":"\u001b[31~","kf18":"\u001b[32~","khome":"\u001b[H","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kclr":"\u000c"} -{"name":"prism14-m","aliases":["P14-M","p14-m"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u000c$\u003c20\u003e","cnorm":"\u001d\ufffd","civis":"\u001d\ufffd","sgr0":"\u0003 ","smul":"\u0003P","blink":"\u0003B","rev":"\u0003D","dim":"\u0003A","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001a","pad":"\u0000","kbs":"\u0008","khome":"\u0001"} -{"name":"prism14-m-w","aliases":["P14-M-W","p14-m-w"],"cols":132,"lines":24,"bell":"\u0007","clear":"\u000c$\u003c20\u003e","cnorm":"\u001d\ufffd","civis":"\u001d\ufffd","sgr0":"\u0003 ","smul":"\u0003P","blink":"\u0003B","rev":"\u0003D","dim":"\u0003A","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001a","pad":"\u0000","kbs":"\u0008","khome":"\u0001"} -{"name":"prism14-w","aliases":["P14-W","p14-w"],"cols":132,"lines":24,"bell":"\u0007","clear":"\u000c","cnorm":"\u001b[\u003c4h","civis":"\u001b[\u003c4l","sgr0":"\u001b[0m\u000f","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001b[11~","kf2":"\u001b[12~","kf3":"\u001b[13~","kf4":"\u001b[14~","kf5":"\u001b[15~","kf6":"\u001b[17~","kf7":"\u001b[18~","kf8":"\u001b[19~","kf9":"\u001b[20~","kf10":"\u001b[21~","kf11":"\u001b[23~","kf12":"\u001b[24~","kf13":"\u001b[25~","kf14":"\u001b[26~","kf15":"\u001b[28~","kf16":"\u001b[29~","kf17":"\u001b[31~","kf18":"\u001b[32~","khome":"\u001b[H","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kclr":"\u000c"} -{"name":"prism2","cols":80,"lines":24,"bell":"\u0007","clear":"\u000c$\u003c20\u003e","cup":"\u000b%p1%' '%+%c\u0010%p2%{10}%/%{16}%*%p2%{10}%m%+%Pc%?%{17}%gc%=%{19}%gc%=%|%gc%!%|%t%{1}%gc%+%c%{8}%e%gc%;%c","cub1":"\u0008","cuu1":"\u001a","pad":"\u0000","kbs":"\u0008","khome":"\u0001"} -{"name":"prism4","aliases":["P4","p4"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u000c$\u003c20\u003e","cnorm":"\u001d\ufffd","civis":"\u001d\ufffd","sgr0":"\u0003 ","smul":"\u0003P","blink":"\u0003B","rev":"\u0003D","dim":"\u0003A","cup":"\u000b%p1%' '%+%c\u0010%p2%{10}%/%{16}%*%p2%{10}%m%+%Pc%?%{17}%gc%=%{19}%gc%=%|%gc%!%|%t%{1}%gc%+%c%{8}%e%gc%;%c","cub1":"\u0008","cuu1":"\u001a","pad":"\u0000","kbs":"\u0008","khome":"\u0001"} -{"name":"prism5","aliases":["P5","p5"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u000c$\u003c20\u003e","cnorm":"\u001d\ufffd","civis":"\u001d\ufffd","sgr0":"\u0003 ","smul":"\u0003P","blink":"\u0003B","rev":"\u0003D","dim":"\u0003A","cup":"\u000b%p1%' '%+%c\u0010%p2%{10}%/%{16}%*%p2%{10}%m%+%Pc%?%{17}%gc%=%{19}%gc%=%|%gc%!%|%t%{1}%gc%+%c%{8}%e%gc%;%c","cub1":"\u0008","cuu1":"\u001a","pad":"\u0000","kbs":"\u0008","khome":"\u0001"} -{"name":"prism7","aliases":["P7","p7"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u000c$\u003c20\u003e","cnorm":"\u001d\ufffd","civis":"\u001d\ufffd","sgr0":"\u0003 ","smul":"\u0003P","blink":"\u0003B","rev":"\u0003D","dim":"\u0003A","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001a","pad":"\u0000","kbs":"\u0008","khome":"\u0001"} -{"name":"prism8","aliases":["P8","p8"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u000c$\u003c20\u003e","cnorm":"\u001d\ufffd","civis":"\u001d\ufffd","sgr0":"\u0003 ","smul":"\u0003P","blink":"\u0003B","rev":"\u0003D","dim":"\u0003A","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001a","pad":"\u0000","kbs":"\u0008","khome":"\u0001"} -{"name":"prism8-w","aliases":["P8-W","p8-w"],"cols":132,"lines":24,"bell":"\u0007","clear":"\u000c$\u003c20\u003e","cnorm":"\u001d\ufffd","civis":"\u001d\ufffd","sgr0":"\u0003 ","smul":"\u0003P","blink":"\u0003B","rev":"\u0003D","dim":"\u0003A","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001a","pad":"\u0000","kbs":"\u0008","khome":"\u0001"} -{"name":"prism9","aliases":["P9","p9"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u000c","cnorm":"\u001b[\u003c4h","civis":"\u001b[\u003c4l","sgr0":"\u001b[0m\u000f","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001b[11~","kf2":"\u001b[12~","kf3":"\u001b[13~","kf4":"\u001b[14~","kf5":"\u001b[15~","kf6":"\u001b[17~","kf7":"\u001b[18~","kf8":"\u001b[19~","kf9":"\u001b[20~","kf10":"\u001b[21~","kf11":"\u001b[23~","kf12":"\u001b[24~","kf13":"\u001b[25~","kf14":"\u001b[26~","kf15":"\u001b[28~","kf16":"\u001b[29~","kf17":"\u001b[31~","kf18":"\u001b[32~","khome":"\u001b[H","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kclr":"\u000c"} -{"name":"prism9-8","aliases":["P9-8","p9-8"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u000c$\u003c20\u003e","cnorm":"\u001d\ufffd","civis":"\u001d\ufffd","sgr0":"\u0003 ","smul":"\u0003P","blink":"\u0003B","rev":"\u0003D","dim":"\u0003A","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001a","pad":"\u0000","kbs":"\u0008","khome":"\u0001"} -{"name":"prism9-8-w","aliases":["P9-8-W","p9-8-w"],"cols":132,"lines":24,"bell":"\u0007","clear":"\u000c$\u003c20\u003e","cnorm":"\u001d\ufffd","civis":"\u001d\ufffd","sgr0":"\u0003 ","smul":"\u0003P","blink":"\u0003B","rev":"\u0003D","dim":"\u0003A","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001a","pad":"\u0000","kbs":"\u0008","khome":"\u0001"} -{"name":"prism9-w","aliases":["P9-W","p9-w"],"cols":132,"lines":24,"bell":"\u0007","clear":"\u000c","cnorm":"\u001b[\u003c4h","civis":"\u001b[\u003c4l","sgr0":"\u001b[0m\u000f","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001b[11~","kf2":"\u001b[12~","kf3":"\u001b[13~","kf4":"\u001b[14~","kf5":"\u001b[15~","kf6":"\u001b[17~","kf7":"\u001b[18~","kf8":"\u001b[19~","kf9":"\u001b[20~","kf10":"\u001b[21~","kf11":"\u001b[23~","kf12":"\u001b[24~","kf13":"\u001b[25~","kf14":"\u001b[26~","kf15":"\u001b[28~","kf16":"\u001b[29~","kf17":"\u001b[31~","kf18":"\u001b[32~","khome":"\u001b[H","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kclr":"\u000c"} -{"name":"pro350","aliases":["decpro"],"cols":80,"lines":24,"clear":"\u001bH\u001bJ","smul":"\u001b\u0004","cup":"\u001bY%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u001bA","pad":"\u0000","kf1":"\u001bF","kf2":"\u001bG","kf3":"\u001bH","kf4":"\u001bI","kf5":"\u001bJ","kf6":"\u001bi","kf7":"\u001bj","khome":"\u001bH","kcuu1":"\u001bA","kcud1":"\u001bB","kcub1":"\u001bD","kcuf1":"\u001bC","acsc":"``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u001bF","rmacs":"\u001bG"} -{"name":"ps300","cols":80,"lines":24,"bell":"\u0007","clear":"\u001b[H\u001b[J$\u003c50\u003e","sgr0":"\u001b[m\u000f$\u003c2\u003e","bold":"\u001b[1m$\u003c2\u003e","blink":"\u001b[5m$\u003c2\u003e","rev":"\u001b[7m$\u003c2\u003e","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","cup":"\u001b[%i%p1%d;%p2%dH$\u003c5\u003e","cub1":"\u0008","cuu1":"\u001b[A$\u003c2\u003e","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kf5":"\u001bOt","kf6":"\u001bOu","kf7":"\u001bOv","kf8":"\u001bOl","kf9":"\u001bOw","kf10":"\u001bOx","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC","acsc":"``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u000e","rmacs":"\u000f","enacs":"\u001b(B\u001b)0"} -{"name":"psterm","aliases":["psterm-basic"],"cols":80,"lines":34,"clear":"\u000c","smcup":"\u001bOt","rmcup":"\u001bNt","sgr0":"\u001bN*","smul":"\u001bOu","bold":"\u001bOd","blink":"\u001bOb","rev":"\u001bOr","cup":"\u001b%p1%d;%p2%d;","cub1":"\u001bT","cuu1":"\u001bY","pad":"\u0000","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C"} -{"name":"psterm-80x24","cols":80,"lines":24,"clear":"\u000c","smcup":"\u001bOt","rmcup":"\u001bNt","sgr0":"\u001bN*","smul":"\u001bOu","bold":"\u001bOd","blink":"\u001bOb","rev":"\u001bOr","cup":"\u001b%p1%d;%p2%d;","cub1":"\u001bT","cuu1":"\u001bY","pad":"\u0000","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C"} -{"name":"psterm-90x28","cols":90,"lines":28,"clear":"\u000c","smcup":"\u001bOt","rmcup":"\u001bNt","sgr0":"\u001bN*","smul":"\u001bOu","bold":"\u001bOd","blink":"\u001bOb","rev":"\u001bOr","cup":"\u001b%p1%d;%p2%d;","cub1":"\u001bT","cuu1":"\u001bY","pad":"\u0000","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C"} -{"name":"psterm-96x48","cols":96,"lines":48,"clear":"\u000c","smcup":"\u001bOt","rmcup":"\u001bNt","sgr0":"\u001bN*","smul":"\u001bOu","bold":"\u001bOd","blink":"\u001bOb","rev":"\u001bOr","cup":"\u001b%p1%d;%p2%d;","cub1":"\u001bT","cuu1":"\u001bY","pad":"\u0000","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C"} -{"name":"psterm-fast","cols":80,"lines":34,"clear":"\u000c","smcup":"\u000ft","rmcup":"\u000et","sgr0":"\u000e*","smul":"\u000fu","bold":"\u000fd","blink":"\u000fb","rev":"\u000fr","cup":"\u0004%p1%d;%p2%d;","cub1":"\u0014","cuu1":"\u0019","pad":"\u0000","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C"} -{"name":"pt100","aliases":["fenix","pt200","wren"],"cols":80,"lines":24,"clear":"\u001b?","smcup":"\u001b[\u003e1l\u001b[\u003e2l\u001b[\u003e16l\u001b[4l\u001b[\u003e9l\u001b[20l\u001b[\u003e3l\u001b[\u003e7h\u001b[\u003e12l\u001b[1Q","sgr0":"\u001b[m","smul":"\u001b[4m","dim":"\u001b[2m","smkx":"\u001b[\u003e13h","rmkx":"\u001b[\u003e13l","cup":"\u001b0%p1%'!'%+%c%p2%'!'%+%c","cub1":"\u0008","cuu1":"\u001bM","pad":"\u0000","kbs":"\u0008","khome":"\u001b$A","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C"} -{"name":"pt100w","aliases":["fenixw","pt200w","wrenw"],"cols":132,"lines":24,"clear":"\u001b?","smcup":"\u001b[\u003e1l\u001b[\u003e2l\u001b[\u003e16l\u001b[4l\u001b[\u003e9l\u001b[20l\u001b[\u003e3l\u001b[\u003e7h\u001b[\u003e12l\u001b[1Q","sgr0":"\u001b[m","smul":"\u001b[4m","dim":"\u001b[2m","smkx":"\u001b[\u003e13h","rmkx":"\u001b[\u003e13l","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001bM","pad":"\u0000","kbs":"\u0008","khome":"\u001b$A","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C"} -{"name":"pt250","cols":80,"lines":24,"clear":"\u001b?","smcup":"\u001b[\u003e1l\u001b[\u003e2l\u001b[\u003e16l\u001b[4l\u001b[\u003e9l\u001b[20l\u001b[\u003e3l\u001b[\u003e7h\u001b[\u003e12l\u001b[1Q","sgr0":"\u001b[m","smul":"\u001b[4m","dim":"\u001b[2m","smkx":"\u001b[\u003e13h","rmkx":"\u001b[\u003e13l","cup":"\u001b0%p1%'!'%+%c%p2%'!'%+%c","cub1":"\u0008","cuu1":"\u001bM","pad":"\u0000","kbs":"\u0008","khome":"\u001b$A","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C"} -{"name":"pt250w","cols":132,"lines":24,"clear":"\u001b?","smcup":"\u001b[\u003e1l\u001b[\u003e2l\u001b[\u003e16l\u001b[4l\u001b[\u003e9l\u001b[20l\u001b[\u003e3l\u001b[\u003e7h\u001b[\u003e12l\u001b[1Q","sgr0":"\u001b[m","smul":"\u001b[4m","dim":"\u001b[2m","smkx":"\u001b[\u003e13h","rmkx":"\u001b[\u003e13l","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001bM","pad":"\u0000","kbs":"\u0008","khome":"\u001b$A","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C"} -{"name":"pty","cols":80,"lines":24,"bell":"\u0007","clear":"\u001bL","smul":"\u001ba!","cup":"\u001bG%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u001bA","pad":"\u0000","khome":"\u001bE","kcuu1":"\u001bA","kcud1":"\u001bB","kcub1":"\u001bD","kcuf1":"\u001bC"} -{"name":"putty","cols":-1,"lines":-1,"colors":8,"bell":"\u0007","clear":"\u001b[H\u001b[J","smcup":"\u001b[?47h","rmcup":"\u001b[2J\u001b[?47l","cnorm":"\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b[m\u000f","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","setaf":"\u001b[3%p1%dm","setbg":"\u001b[4%p1%dm","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001bM","pad":"\u0000","kbs":"","kf1":"\u001b[11~","kf2":"\u001b[12~","kf3":"\u001b[13~","kf4":"\u001b[14~","kf5":"\u001b[15~","kf6":"\u001b[17~","kf7":"\u001b[18~","kf8":"\u001b[19~","kf9":"\u001b[20~","kf10":"\u001b[21~","kf11":"\u001b[23~","kf12":"\u001b[24~","kf13":"\u001b[25~","kf14":"\u001b[26~","kf15":"\u001b[28~","kf16":"\u001b[29~","kf17":"\u001b[31~","kf18":"\u001b[32~","kf19":"\u001b[33~","kf20":"\u001b[34~","kich":"\u001b[2~","kdch":"\u001b[3~","khome":"\u001b[1~","kend":"\u001b[4~","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001b[Z","kcan":"\u0003","kmous":"\u001b[M","XM":"%?%p1%{1}%=%t%'h'%Pa%e%'l'%Pa%;\u001b[?1000%ga%c\u001b[?1002%ga%c\u001b[?1003%ga%c\u001b[?1006%ga%c","acsc":"``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u000e","rmacs":"\u000f","enacs":"\u001b(B\u001b)0","_setfgbg":"\u001b[3%p1%d;4%p2%dm"} -{"name":"putty-256color","cols":-1,"lines":-1,"colors":256,"bell":"\u0007","clear":"\u001b[H\u001b[J","smcup":"\u001b[?47h","rmcup":"\u001b[2J\u001b[?47l","cnorm":"\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b[m\u000f","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","setaf":"\u001b[%?%p1%{8}%\u003c%t3%p1%d%e%p1%{16}%\u003c%t9%p1%{8}%-%d%e38;5;%p1%d%;m","setbg":"\u001b[%?%p1%{8}%\u003c%t4%p1%d%e%p1%{16}%\u003c%t10%p1%{8}%-%d%e48;5;%p1%d%;m","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001bM","pad":"\u0000","kbs":"","kf1":"\u001b[11~","kf2":"\u001b[12~","kf3":"\u001b[13~","kf4":"\u001b[14~","kf5":"\u001b[15~","kf6":"\u001b[17~","kf7":"\u001b[18~","kf8":"\u001b[19~","kf9":"\u001b[20~","kf10":"\u001b[21~","kf11":"\u001b[23~","kf12":"\u001b[24~","kf13":"\u001b[25~","kf14":"\u001b[26~","kf15":"\u001b[28~","kf16":"\u001b[29~","kf17":"\u001b[31~","kf18":"\u001b[32~","kf19":"\u001b[33~","kf20":"\u001b[34~","kich":"\u001b[2~","kdch":"\u001b[3~","khome":"\u001b[1~","kend":"\u001b[4~","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001b[Z","kcan":"\u0003","kmous":"\u001b[M","XM":"%?%p1%{1}%=%t%'h'%Pa%e%'l'%Pa%;\u001b[?1000%ga%c\u001b[?1002%ga%c\u001b[?1003%ga%c\u001b[?1006%ga%c","acsc":"``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u000e","rmacs":"\u000f","enacs":"\u001b(B\u001b)0","_setfgbg":"\u001b[%?%p1%{8}%\u003c%t3%p1%d%e%p1%{16}%\u003c%t9%p1%{8}%-%d%e38;5;%p1%d%;;%?%p2%{8}%\u003c%t4%p2%d%e%p2%{16}%\u003c%t10%p2%{8}%-%d%e48;5;%p2%d%;m"} -{"name":"putty-vt100","cols":-1,"lines":-1,"colors":8,"bell":"\u0007","clear":"\u001b[H\u001b[J","smcup":"\u001b[?47h","rmcup":"\u001b[2J\u001b[?47l","cnorm":"\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b[m\u000f","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","setaf":"\u001b[3%p1%dm","setbg":"\u001b[4%p1%dm","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001bM","pad":"\u0000","kbs":"","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kf5":"\u001bOT","kf6":"\u001bOU","kf7":"\u001bOV","kf8":"\u001bOW","kf9":"\u001bOX","kf10":"\u001bOY","kf11":"\u001bOZ","kf12":"\u001bO[","kf13":"\u001b[25~","kf14":"\u001b[26~","kf15":"\u001b[28~","kf16":"\u001b[29~","kf17":"\u001b[31~","kf18":"\u001b[32~","kf19":"\u001b[33~","kf20":"\u001b[34~","kich":"\u001b[2~","kdch":"\u001b[3~","khome":"\u001b[1~","kend":"\u001b[4~","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001b[Z","kcan":"\u0003","kmous":"\u001b[M","XM":"%?%p1%{1}%=%t%'h'%Pa%e%'l'%Pa%;\u001b[?1000%ga%c\u001b[?1002%ga%c\u001b[?1003%ga%c\u001b[?1006%ga%c","acsc":"``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u000e","rmacs":"\u000f","enacs":"\u001b(B\u001b)0","_setfgbg":"\u001b[3%p1%d;4%p2%dm"} -{"name":"qansi","cols":80,"lines":25,"bell":"\u0007","clear":"\u001b[2J\u001b[H","cnorm":"\u001b[?25h\u001b[?12l","civis":"\u001b[?25l","sgr0":"\u001b[m\u000f","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","dim":"\u001b[2m","cup":"\u001b[%i%p1%d;%p2%dH$\u003c5\u003e","cub1":"\u001b[D","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kf5":"\u001bOT","kf6":"\u001bOU","kf7":"\u001bOV","kf8":"\u001bOW","kf9":"\u001bOX","kf10":"\u001bOY","kf11":"\u001bOZ","kf12":"\u001bOA","kf13":"\u001bOp","kf14":"\u001bOq","kf15":"\u001bOr","kf16":"\u001bOs","kf17":"\u001bOt","kf18":"\u001bOu","kf19":"\u001bOv","kf20":"\u001bOw","kf21":"\u001bOx","kf22":"\u001bOy","kf23":"\u001bOz","kf24":"\u001bOa","kf25":"\u001b[1~","kf26":"\u001b[2~","kf27":"\u001b[3~","kf28":"\u001b[4~","kf29":"\u001b[5~","kf30":"\u001b[6~","kf31":"\u001b[7~","kf32":"\u001b[8~","kf33":"\u001b[9~","kf34":"\u001b[10~","kf35":"\u001b[11~","kf36":"\u001b[12~","kf37":"\u001b[17~","kf38":"\u001b[18~","kf39":"\u001b[19~","kf40":"\u001b[20~","kf41":"\u001b[21~","kf42":"\u001b[22~","kf43":"\u001b[23~","kf44":"\u001b[24~","kf45":"\u001b[25~","kf46":"\u001b[26~","kf47":"\u001b[27~","kf48":"\u001b[28~","kich":"\u001b[@","kdch":"\u001b[P","khome":"\u001b[H","kend":"\u001b[Y","khlp":"\u001bNh","kpp":"\u001b[V","knp":"\u001b[U","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001b[Z","kext":"\u001b[y","kclr":"\u001bNa","kcan":"\u001b[S","acsc":"``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~Oa","smacs":"\u000e","rmacs":"\u000f","kRIT":"\u001b[c","kLFT":"\u001b[d","kHOM":"\u001b[h","_kscu1":"\u001b[a","_kscud1":"\u001b[b","_kccu1":"\u001b[Oa","_kccud1":"\u001b[Ob","_kccuf1":"\u001b[Oc","_kccub1":"\u001b[Od"} -{"name":"qansi-g","cols":80,"lines":25,"bell":"\u0007","clear":"\u001b[2J\u001b[H","cnorm":"\u001b[?25h\u001b[?12l","civis":"\u001b[?25l","sgr0":"\u001b[m\u000f","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","dim":"\u001b[2m","cup":"\u001b[%i%p1%d;%p2%dH$\u003c5\u003e","cub1":"\u001b[D","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kf5":"\u001bOT","kf6":"\u001bOU","kf7":"\u001bOV","kf8":"\u001bOW","kf9":"\u001bOX","kf10":"\u001bOY","kf11":"\u001bOZ","kf12":"\u001bOA","kf13":"\u001bOp","kf14":"\u001bOq","kf15":"\u001bOr","kf16":"\u001bOs","kf17":"\u001bOt","kf18":"\u001bOu","kf19":"\u001bOv","kf20":"\u001bOw","kf21":"\u001bOx","kf22":"\u001bOy","kf23":"\u001bOz","kf24":"\u001bOa","kf25":"\u001b[1~","kf26":"\u001b[2~","kf27":"\u001b[3~","kf28":"\u001b[4~","kf29":"\u001b[5~","kf30":"\u001b[6~","kf31":"\u001b[7~","kf32":"\u001b[8~","kf33":"\u001b[9~","kf34":"\u001b[10~","kf35":"\u001b[11~","kf36":"\u001b[12~","kf37":"\u001b[17~","kf38":"\u001b[18~","kf39":"\u001b[19~","kf40":"\u001b[20~","kf41":"\u001b[21~","kf42":"\u001b[22~","kf43":"\u001b[23~","kf44":"\u001b[24~","kf45":"\u001b[25~","kf46":"\u001b[26~","kf47":"\u001b[27~","kf48":"\u001b[28~","kich":"\u001b[@","kdch":"\u001b[P","khome":"\u001b[H","kend":"\u001b[Y","khlp":"\u001bNh","kpp":"\u001b[V","knp":"\u001b[U","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001b[Z","kext":"\u001b[y","kclr":"\u001bNa","kcan":"\u001b[S","acsc":"``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~Oa","smacs":"\u000e","rmacs":"\u000f","kRIT":"\u001b[c","kLFT":"\u001b[d","kHOM":"\u001b[h","_kscu1":"\u001b[a","_kscud1":"\u001b[b","_kccu1":"\u001b[Oa","_kccud1":"\u001b[Ob","_kccuf1":"\u001b[Oc","_kccub1":"\u001b[Od"} -{"name":"qansi-m","cols":80,"lines":25,"bell":"\u0007","clear":"\u001b[2J\u001b[H","cnorm":"\u001b[?25h\u001b[?12l","civis":"\u001b[?25l","sgr0":"\u001b[m\u000f","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","dim":"\u001b[2m","cup":"\u001b[%i%p1%d;%p2%dH$\u003c5\u003e","cub1":"\u001b[D","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kf5":"\u001bOT","kf6":"\u001bOU","kf7":"\u001bOV","kf8":"\u001bOW","kf9":"\u001bOX","kf10":"\u001bOY","kf11":"\u001bOZ","kf12":"\u001bOA","kf13":"\u001bOp","kf14":"\u001bOq","kf15":"\u001bOr","kf16":"\u001bOs","kf17":"\u001bOt","kf18":"\u001bOu","kf19":"\u001bOv","kf20":"\u001bOw","kf21":"\u001bOx","kf22":"\u001bOy","kf23":"\u001bOz","kf24":"\u001bOa","kf25":"\u001b[1~","kf26":"\u001b[2~","kf27":"\u001b[3~","kf28":"\u001b[4~","kf29":"\u001b[5~","kf30":"\u001b[6~","kf31":"\u001b[7~","kf32":"\u001b[8~","kf33":"\u001b[9~","kf34":"\u001b[10~","kf35":"\u001b[11~","kf36":"\u001b[12~","kf37":"\u001b[17~","kf38":"\u001b[18~","kf39":"\u001b[19~","kf40":"\u001b[20~","kf41":"\u001b[21~","kf42":"\u001b[22~","kf43":"\u001b[23~","kf44":"\u001b[24~","kf45":"\u001b[25~","kf46":"\u001b[26~","kf47":"\u001b[27~","kf48":"\u001b[28~","kich":"\u001b[@","kdch":"\u001b[P","khome":"\u001b[H","kend":"\u001b[Y","khlp":"\u001bNh","kpp":"\u001b[V","knp":"\u001b[U","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001b[Z","kext":"\u001b[y","kclr":"\u001bNa","kcan":"\u001b[S","acsc":"``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~Oa","smacs":"\u000e","rmacs":"\u000f","kRIT":"\u001b[c","kLFT":"\u001b[d","kHOM":"\u001b[h","_kscu1":"\u001b[a","_kscud1":"\u001b[b","_kccu1":"\u001b[Oa","_kccud1":"\u001b[Ob","_kccuf1":"\u001b[Oc","_kccub1":"\u001b[Od"} -{"name":"qansi-t","cols":80,"lines":25,"bell":"\u0007","clear":"\u001b[2J\u001b[H","cnorm":"\u001b[?25h\u001b[?12l","civis":"\u001b[?25l","sgr0":"\u001b[m\u000f","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","dim":"\u001b[2m","cup":"\u001b[%i%p1%d;%p2%dH$\u003c5\u003e","cub1":"\u001b[D","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kf5":"\u001bOT","kf6":"\u001bOU","kf7":"\u001bOV","kf8":"\u001bOW","kf9":"\u001bOX","kf10":"\u001bOY","kf11":"\u001bOZ","kf12":"\u001bOA","kf13":"\u001bOp","kf14":"\u001bOq","kf15":"\u001bOr","kf16":"\u001bOs","kf17":"\u001bOt","kf18":"\u001bOu","kf19":"\u001bOv","kf20":"\u001bOw","kf21":"\u001bOx","kf22":"\u001bOy","kf23":"\u001bOz","kf24":"\u001bOa","kf25":"\u001b[1~","kf26":"\u001b[2~","kf27":"\u001b[3~","kf28":"\u001b[4~","kf29":"\u001b[5~","kf30":"\u001b[6~","kf31":"\u001b[7~","kf32":"\u001b[8~","kf33":"\u001b[9~","kf34":"\u001b[10~","kf35":"\u001b[11~","kf36":"\u001b[12~","kf37":"\u001b[17~","kf38":"\u001b[18~","kf39":"\u001b[19~","kf40":"\u001b[20~","kf41":"\u001b[21~","kf42":"\u001b[22~","kf43":"\u001b[23~","kf44":"\u001b[24~","kf45":"\u001b[25~","kf46":"\u001b[26~","kf47":"\u001b[27~","kf48":"\u001b[28~","kich":"\u001b[@","kdch":"\u001b[P","khome":"\u001b[H","kend":"\u001b[Y","khlp":"\u001bNh","kpp":"\u001b[V","knp":"\u001b[U","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001b[Z","kext":"\u001b[y","kclr":"\u001bNa","kcan":"\u001b[S","acsc":"``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~Oa","smacs":"\u000e","rmacs":"\u000f","kRIT":"\u001b[c","kLFT":"\u001b[d","kHOM":"\u001b[h","_kscu1":"\u001b[a","_kscud1":"\u001b[b","_kccu1":"\u001b[Oa","_kccud1":"\u001b[Ob","_kccuf1":"\u001b[Oc","_kccub1":"\u001b[Od"} -{"name":"qansi-w","cols":80,"lines":25,"bell":"\u0007","clear":"\u001b[2J\u001b[H","cnorm":"\u001b[?25h\u001b[?12l","civis":"\u001b[?25l","sgr0":"\u001b[m\u000f","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","dim":"\u001b[2m","cup":"\u001b[%i%p1%d;%p2%dH$\u003c5\u003e","cub1":"\u001b[D","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kf5":"\u001bOT","kf6":"\u001bOU","kf7":"\u001bOV","kf8":"\u001bOW","kf9":"\u001bOX","kf10":"\u001bOY","kf11":"\u001bOZ","kf12":"\u001bOA","kf13":"\u001bOp","kf14":"\u001bOq","kf15":"\u001bOr","kf16":"\u001bOs","kf17":"\u001bOt","kf18":"\u001bOu","kf19":"\u001bOv","kf20":"\u001bOw","kf21":"\u001bOx","kf22":"\u001bOy","kf23":"\u001bOz","kf24":"\u001bOa","kf25":"\u001b[1~","kf26":"\u001b[2~","kf27":"\u001b[3~","kf28":"\u001b[4~","kf29":"\u001b[5~","kf30":"\u001b[6~","kf31":"\u001b[7~","kf32":"\u001b[8~","kf33":"\u001b[9~","kf34":"\u001b[10~","kf35":"\u001b[11~","kf36":"\u001b[12~","kf37":"\u001b[17~","kf38":"\u001b[18~","kf39":"\u001b[19~","kf40":"\u001b[20~","kf41":"\u001b[21~","kf42":"\u001b[22~","kf43":"\u001b[23~","kf44":"\u001b[24~","kf45":"\u001b[25~","kf46":"\u001b[26~","kf47":"\u001b[27~","kf48":"\u001b[28~","kich":"\u001b[@","kdch":"\u001b[P","khome":"\u001b[H","kend":"\u001b[Y","khlp":"\u001bNh","kpp":"\u001b[V","knp":"\u001b[U","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001b[Z","kext":"\u001b[y","kclr":"\u001bNa","kcan":"\u001b[S","acsc":"``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~Oa","smacs":"\u000e","rmacs":"\u000f","kRIT":"\u001b[c","kLFT":"\u001b[d","kHOM":"\u001b[h","_kscu1":"\u001b[a","_kscud1":"\u001b[b","_kccu1":"\u001b[Oa","_kccud1":"\u001b[Ob","_kccuf1":"\u001b[Oc","_kccub1":"\u001b[Od"} -{"name":"qdss","aliases":["qdcons"],"cols":128,"lines":57,"clear":"\u001a$\u003c1/\u003e","cup":"\u001b=%p1%c%p2%c","cub1":"\u0008","cuu1":"\u000b","pad":"\u0000"} -{"name":"qnx","aliases":["qnx4"],"cols":80,"lines":25,"bell":"\u0007","clear":"\u001bH\u001bJ","smcup":"\u001bi","rmcup":"\u001bh\u001bR","cnorm":"\u001by1","civis":"\u001by0","sgr0":"\u001b}\u001b]\u001b\u003e\u001b)","smul":"\u001b[","bold":"\u001b\u003c","blink":"\u001b{","rev":"\u001b(","cup":"\u001bY%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u001bA","pad":"\u0000","kf1":"\ufffd\ufffd","kf2":"\ufffd\ufffd","kf3":"\ufffd\ufffd","kf4":"\ufffd\ufffd","kf5":"\ufffd\ufffd","kf6":"\ufffd\ufffd","kf7":"\ufffd\ufffd","kf8":"\ufffd\ufffd","kf9":"\ufffd\ufffd","kf10":"\ufffd\ufffd","kf11":"\ufffd\ufffd","kf12":"\ufffd\ufffd","kf13":"\ufffd\ufffd","kf14":"\ufffd\ufffd","kf15":"\ufffd\ufffd","kf16":"\ufffd\ufffd","kf17":"\ufffd\ufffd","kf18":"\ufffd\ufffd","kf19":"\ufffd\ufffd","kf20":"\ufffd\ufffd","kf21":"\ufffd\ufffd","kf22":"\ufffd\ufffd","kf23":"\ufffd\ufffd","kf24":"\ufffd\ufffd","kf25":"\ufffd\ufffd","kf26":"\ufffd\ufffd","kf27":"\ufffd\ufffd","kf28":"\ufffd\ufffd","kf29":"\ufffd\ufffd","kf30":"\ufffd\ufffd","kf31":"\ufffd\ufffd","kf32":"\ufffd\ufffd","kf33":"\ufffd\ufffd","kf34":"\ufffd\ufffd","kf35":"\ufffd\ufffd","kf36":"\ufffd\ufffd","kf37":"\ufffd\ufffd","kf38":"\ufffd\ufffd","kf39":"\ufffd\ufffd","kf40":"\ufffd\ufffd","kf41":"\ufffd\ufffd","kf42":"\ufffd\ufffd","kf43":"\ufffd\ufffd","kf44":"\ufffd\ufffd","kf45":"\ufffd\ufffd","kf46":"\ufffd\ufffd","kf47":"\ufffd\ufffd","kf48":"\ufffd\ufffd","kich":"\ufffd\ufffd","kdch":"\ufffd\ufffd","khome":"\ufffd\ufffd","kend":"\ufffd\ufffd","khlp":"\ufffd\ufffd","kpp":"\ufffd\ufffd","knp":"\ufffd\ufffd","kcuu1":"\ufffd\ufffd","kcud1":"\ufffd\ufffd","kcub1":"\ufffd\ufffd","kcuf1":"\ufffd\ufffd","kcbt":"\ufffd\ufffd","kext":"\ufffd\ufffd","kclr":"\ufffd\ufffd","kprt":"\ufffd\ufffd","kcan":"\ufffd\ufffd","acsc":"O\ufffda\ufffdj\ufffdk\ufffdl\ufffdm\ufffdn\ufffdo\ufffdq\ufffds\ufffdt\ufffdu\ufffdv\ufffdw\ufffdx\ufffd","kRIT":"\ufffd\ufffd","kLFT":"\ufffd\ufffd","kHOM":"\ufffd\ufffd","kEND":"\ufffd\ufffd"} -{"name":"qnxm","cols":80,"lines":25,"bell":"\u0007","clear":"\u001bH\u001bJ","smcup":"\u001bi","rmcup":"\u001bh\u001bR","cnorm":"\u001by1","civis":"\u001by0","sgr0":"\u001b}\u001b]\u001b\u003e\u001b)","smul":"\u001b[","bold":"\u001b\u003c","blink":"\u001b{","rev":"\u001b(","cup":"\u001bY%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u001bA","pad":"\u0000","kf1":"\ufffd\ufffd","kf2":"\ufffd\ufffd","kf3":"\ufffd\ufffd","kf4":"\ufffd\ufffd","kf5":"\ufffd\ufffd","kf6":"\ufffd\ufffd","kf7":"\ufffd\ufffd","kf8":"\ufffd\ufffd","kf9":"\ufffd\ufffd","kf10":"\ufffd\ufffd","kf11":"\ufffd\ufffd","kf12":"\ufffd\ufffd","kf13":"\ufffd\ufffd","kf14":"\ufffd\ufffd","kf15":"\ufffd\ufffd","kf16":"\ufffd\ufffd","kf17":"\ufffd\ufffd","kf18":"\ufffd\ufffd","kf19":"\ufffd\ufffd","kf20":"\ufffd\ufffd","kf21":"\ufffd\ufffd","kf22":"\ufffd\ufffd","kf23":"\ufffd\ufffd","kf24":"\ufffd\ufffd","kf25":"\ufffd\ufffd","kf26":"\ufffd\ufffd","kf27":"\ufffd\ufffd","kf28":"\ufffd\ufffd","kf29":"\ufffd\ufffd","kf30":"\ufffd\ufffd","kf31":"\ufffd\ufffd","kf32":"\ufffd\ufffd","kf33":"\ufffd\ufffd","kf34":"\ufffd\ufffd","kf35":"\ufffd\ufffd","kf36":"\ufffd\ufffd","kf37":"\ufffd\ufffd","kf38":"\ufffd\ufffd","kf39":"\ufffd\ufffd","kf40":"\ufffd\ufffd","kf41":"\ufffd\ufffd","kf42":"\ufffd\ufffd","kf43":"\ufffd\ufffd","kf44":"\ufffd\ufffd","kf45":"\ufffd\ufffd","kf46":"\ufffd\ufffd","kf47":"\ufffd\ufffd","kf48":"\ufffd\ufffd","kich":"\ufffd\ufffd","kdch":"\ufffd\ufffd","khome":"\ufffd\ufffd","kend":"\ufffd\ufffd","khlp":"\ufffd\ufffd","kpp":"\ufffd\ufffd","knp":"\ufffd\ufffd","kcuu1":"\ufffd\ufffd","kcud1":"\ufffd\ufffd","kcub1":"\ufffd\ufffd","kcuf1":"\ufffd\ufffd","kcbt":"\ufffd\ufffd","kext":"\ufffd\ufffd","kclr":"\ufffd\ufffd","kprt":"\ufffd\ufffd","kcan":"\ufffd\ufffd","acsc":"O\ufffda\ufffdj\ufffdk\ufffdl\ufffdm\ufffdn\ufffdo\ufffdq\ufffds\ufffdt\ufffdu\ufffdv\ufffdw\ufffdx\ufffd","kRIT":"\ufffd\ufffd","kLFT":"\ufffd\ufffd","kHOM":"\ufffd\ufffd","kEND":"\ufffd\ufffd"} -{"name":"qnxt","aliases":["qnxt4"],"cols":80,"lines":25,"bell":"\u0007","clear":"\u001bH\u001bJ","smcup":"\u001bi","rmcup":"\u001bh\u001bR","cnorm":"\u001by1","civis":"\u001by0","sgr0":"\u001b}\u001b]\u001b\u003e\u001b)","smul":"\u001b[","bold":"\u001b\u003c","blink":"\u001b{","rev":"\u001b(","cup":"\u001bY%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u001bA","pad":"\u0000","kf1":"\ufffd\ufffd","kf2":"\ufffd\ufffd","kf3":"\ufffd\ufffd","kf4":"\ufffd\ufffd","kf5":"\ufffd\ufffd","kf6":"\ufffd\ufffd","kf7":"\ufffd\ufffd","kf8":"\ufffd\ufffd","kf9":"\ufffd\ufffd","kf10":"\ufffd\ufffd","kf11":"\ufffd\ufffd","kf12":"\ufffd\ufffd","kf13":"\ufffd\ufffd","kf14":"\ufffd\ufffd","kf15":"\ufffd\ufffd","kf16":"\ufffd\ufffd","kf17":"\ufffd\ufffd","kf18":"\ufffd\ufffd","kf19":"\ufffd\ufffd","kf20":"\ufffd\ufffd","kf21":"\ufffd\ufffd","kf22":"\ufffd\ufffd","kf23":"\ufffd\ufffd","kf24":"\ufffd\ufffd","kf25":"\ufffd\ufffd","kf26":"\ufffd\ufffd","kf27":"\ufffd\ufffd","kf28":"\ufffd\ufffd","kf29":"\ufffd\ufffd","kf30":"\ufffd\ufffd","kf31":"\ufffd\ufffd","kf32":"\ufffd\ufffd","kf33":"\ufffd\ufffd","kf34":"\ufffd\ufffd","kf35":"\ufffd\ufffd","kf36":"\ufffd\ufffd","kf37":"\ufffd\ufffd","kf38":"\ufffd\ufffd","kf39":"\ufffd\ufffd","kf40":"\ufffd\ufffd","kf41":"\ufffd\ufffd","kf42":"\ufffd\ufffd","kf43":"\ufffd\ufffd","kf44":"\ufffd\ufffd","kf45":"\ufffd\ufffd","kf46":"\ufffd\ufffd","kf47":"\ufffd\ufffd","kf48":"\ufffd\ufffd","kich":"\ufffd\ufffd","kdch":"\ufffd\ufffd","khome":"\ufffd\ufffd","kend":"\ufffd\ufffd","khlp":"\ufffd\ufffd","kpp":"\ufffd\ufffd","knp":"\ufffd\ufffd","kcuu1":"\ufffd\ufffd","kcud1":"\ufffd\ufffd","kcub1":"\ufffd\ufffd","kcuf1":"\ufffd\ufffd","kcbt":"\ufffd\ufffd","kext":"\ufffd\ufffd","kclr":"\ufffd\ufffd","kprt":"\ufffd\ufffd","kcan":"\ufffd\ufffd","acsc":"O\ufffda\ufffdj\ufffdk\ufffdl\ufffdm\ufffdn\ufffdo\ufffdq\ufffds\ufffdt\ufffdu\ufffdv\ufffdw\ufffdx\ufffd","kRIT":"\ufffd\ufffd","kLFT":"\ufffd\ufffd","kHOM":"\ufffd\ufffd","kEND":"\ufffd\ufffd"} -{"name":"qnxt2","cols":80,"lines":25,"bell":"\u0007","clear":"\u001bH\u001bJ","sgr0":"\u001b}\u001b]\u001b\u003e\u001b)","smul":"\u001b[","bold":"\u001b\u003c","blink":"\u001b{","rev":"\u001b(","cup":"\u001bY%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u001bA","pad":"\u0000","kf1":"\ufffd\ufffd","kf2":"\ufffd\ufffd","kf3":"\ufffd\ufffd","kf4":"\ufffd\ufffd","kf5":"\ufffd\ufffd","kf6":"\ufffd\ufffd","kf7":"\ufffd\ufffd","kf8":"\ufffd\ufffd","kf9":"\ufffd\ufffd","kf10":"\ufffd\ufffd","kf11":"\ufffd\ufffd","kf12":"\ufffd\ufffd","kf13":"\ufffd\ufffd","kf14":"\ufffd\ufffd","kf15":"\ufffd\ufffd","kf16":"\ufffd\ufffd","kf17":"\ufffd\ufffd","kf18":"\ufffd\ufffd","kf19":"\ufffd\ufffd","kf20":"\ufffd\ufffd","kf21":"\ufffd\ufffd","kf22":"\ufffd\ufffd","kf23":"\ufffd\ufffd","kf24":"\ufffd\ufffd","kf25":"\ufffd\ufffd","kf26":"\ufffd\ufffd","kf27":"\ufffd\ufffd","kf28":"\ufffd\ufffd","kf29":"\ufffd\ufffd","kf30":"\ufffd\ufffd","kf31":"\ufffd\ufffd","kf32":"\ufffd\ufffd","kf33":"\ufffd\ufffd","kf34":"\ufffd\ufffd","kf35":"\ufffd\ufffd","kf36":"\ufffd\ufffd","kf37":"\ufffd\ufffd","kf38":"\ufffd\ufffd","kf39":"\ufffd\ufffd","kf40":"\ufffd\ufffd","kf41":"\ufffd\ufffd","kf42":"\ufffd\ufffd","kf43":"\ufffd\ufffd","kf44":"\ufffd\ufffd","kf45":"\ufffd\ufffd","kf46":"\ufffd\ufffd","kf47":"\ufffd\ufffd","kf48":"\ufffd\ufffd","kich":"\ufffd\ufffd","kdch":"\ufffd\ufffd","khome":"\ufffd\ufffd","kend":"\ufffd\ufffd","khlp":"\ufffd\ufffd","kpp":"\ufffd\ufffd","knp":"\ufffd\ufffd","kcuu1":"\ufffd\ufffd","kcud1":"\ufffd\ufffd","kcub1":"\ufffd\ufffd","kcuf1":"\ufffd\ufffd","kcbt":"\ufffd\ufffd","kext":"\ufffd\ufffd","kclr":"\ufffd\ufffd","kprt":"\ufffd\ufffd","kcan":"\ufffd\ufffd","acsc":"O\ufffda\ufffdj\ufffdk\ufffdl\ufffdm\ufffdn\ufffdo\ufffdq\ufffds\ufffdt\ufffdu\ufffdv\ufffdw\ufffdx\ufffd","kRIT":"\ufffd\ufffd","kLFT":"\ufffd\ufffd","kHOM":"\ufffd\ufffd","kEND":"\ufffd\ufffd"} -{"name":"qnxtmono","cols":80,"lines":25,"bell":"\u0007","clear":"\u001bH\u001bJ","smcup":"\u001bi","rmcup":"\u001bh\u001bR","cnorm":"\u001by1","civis":"\u001by0","sgr0":"\u001b}\u001b]\u001b\u003e\u001b)","smul":"\u001b[","bold":"\u001b\u003c","blink":"\u001b{","rev":"\u001b(","cup":"\u001bY%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u001bA","pad":"\u0000","kf1":"\ufffd\ufffd","kf2":"\ufffd\ufffd","kf3":"\ufffd\ufffd","kf4":"\ufffd\ufffd","kf5":"\ufffd\ufffd","kf6":"\ufffd\ufffd","kf7":"\ufffd\ufffd","kf8":"\ufffd\ufffd","kf9":"\ufffd\ufffd","kf10":"\ufffd\ufffd","kf11":"\ufffd\ufffd","kf12":"\ufffd\ufffd","kf13":"\ufffd\ufffd","kf14":"\ufffd\ufffd","kf15":"\ufffd\ufffd","kf16":"\ufffd\ufffd","kf17":"\ufffd\ufffd","kf18":"\ufffd\ufffd","kf19":"\ufffd\ufffd","kf20":"\ufffd\ufffd","kf21":"\ufffd\ufffd","kf22":"\ufffd\ufffd","kf23":"\ufffd\ufffd","kf24":"\ufffd\ufffd","kf25":"\ufffd\ufffd","kf26":"\ufffd\ufffd","kf27":"\ufffd\ufffd","kf28":"\ufffd\ufffd","kf29":"\ufffd\ufffd","kf30":"\ufffd\ufffd","kf31":"\ufffd\ufffd","kf32":"\ufffd\ufffd","kf33":"\ufffd\ufffd","kf34":"\ufffd\ufffd","kf35":"\ufffd\ufffd","kf36":"\ufffd\ufffd","kf37":"\ufffd\ufffd","kf38":"\ufffd\ufffd","kf39":"\ufffd\ufffd","kf40":"\ufffd\ufffd","kf41":"\ufffd\ufffd","kf42":"\ufffd\ufffd","kf43":"\ufffd\ufffd","kf44":"\ufffd\ufffd","kf45":"\ufffd\ufffd","kf46":"\ufffd\ufffd","kf47":"\ufffd\ufffd","kf48":"\ufffd\ufffd","kich":"\ufffd\ufffd","kdch":"\ufffd\ufffd","khome":"\ufffd\ufffd","kend":"\ufffd\ufffd","khlp":"\ufffd\ufffd","kpp":"\ufffd\ufffd","knp":"\ufffd\ufffd","kcuu1":"\ufffd\ufffd","kcud1":"\ufffd\ufffd","kcub1":"\ufffd\ufffd","kcuf1":"\ufffd\ufffd","kcbt":"\ufffd\ufffd","kext":"\ufffd\ufffd","kclr":"\ufffd\ufffd","kprt":"\ufffd\ufffd","kcan":"\ufffd\ufffd","acsc":"O\ufffda\ufffdj\ufffdk\ufffdl\ufffdm\ufffdn\ufffdo\ufffdq\ufffds\ufffdt\ufffdu\ufffdv\ufffdw\ufffdx\ufffd","kRIT":"\ufffd\ufffd","kLFT":"\ufffd\ufffd","kHOM":"\ufffd\ufffd","kEND":"\ufffd\ufffd"} -{"name":"qnxw","cols":80,"lines":25,"bell":"\u0007","clear":"\u001bH\u001bJ","smcup":"\u001bi","rmcup":"\u001bh\u001bR","cnorm":"\u001by1","civis":"\u001by0","sgr0":"\u001b}\u001b]\u001b\u003e\u001b)","smul":"\u001b[","bold":"\u001b\u003c","blink":"\u001b{","rev":"\u001b(","cup":"\u001bY%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u001bA","pad":"\u0000","kf1":"\ufffd\ufffd","kf2":"\ufffd\ufffd","kf3":"\ufffd\ufffd","kf4":"\ufffd\ufffd","kf5":"\ufffd\ufffd","kf6":"\ufffd\ufffd","kf7":"\ufffd\ufffd","kf8":"\ufffd\ufffd","kf9":"\ufffd\ufffd","kf10":"\ufffd\ufffd","kf11":"\ufffd\ufffd","kf12":"\ufffd\ufffd","kf13":"\ufffd\ufffd","kf14":"\ufffd\ufffd","kf15":"\ufffd\ufffd","kf16":"\ufffd\ufffd","kf17":"\ufffd\ufffd","kf18":"\ufffd\ufffd","kf19":"\ufffd\ufffd","kf20":"\ufffd\ufffd","kf21":"\ufffd\ufffd","kf22":"\ufffd\ufffd","kf23":"\ufffd\ufffd","kf24":"\ufffd\ufffd","kf25":"\ufffd\ufffd","kf26":"\ufffd\ufffd","kf27":"\ufffd\ufffd","kf28":"\ufffd\ufffd","kf29":"\ufffd\ufffd","kf30":"\ufffd\ufffd","kf31":"\ufffd\ufffd","kf32":"\ufffd\ufffd","kf33":"\ufffd\ufffd","kf34":"\ufffd\ufffd","kf35":"\ufffd\ufffd","kf36":"\ufffd\ufffd","kf37":"\ufffd\ufffd","kf38":"\ufffd\ufffd","kf39":"\ufffd\ufffd","kf40":"\ufffd\ufffd","kf41":"\ufffd\ufffd","kf42":"\ufffd\ufffd","kf43":"\ufffd\ufffd","kf44":"\ufffd\ufffd","kf45":"\ufffd\ufffd","kf46":"\ufffd\ufffd","kf47":"\ufffd\ufffd","kf48":"\ufffd\ufffd","kich":"\ufffd\ufffd","kdch":"\ufffd\ufffd","khome":"\ufffd\ufffd","kend":"\ufffd\ufffd","khlp":"\ufffd\ufffd","kpp":"\ufffd\ufffd","knp":"\ufffd\ufffd","kcuu1":"\ufffd\ufffd","kcud1":"\ufffd\ufffd","kcub1":"\ufffd\ufffd","kcuf1":"\ufffd\ufffd","kcbt":"\ufffd\ufffd","kext":"\ufffd\ufffd","kclr":"\ufffd\ufffd","kprt":"\ufffd\ufffd","kcan":"\ufffd\ufffd","acsc":"O\ufffda\ufffdj\ufffdk\ufffdl\ufffdm\ufffdn\ufffdo\ufffdq\ufffds\ufffdt\ufffdu\ufffdv\ufffdw\ufffdx\ufffd","kRIT":"\ufffd\ufffd","kLFT":"\ufffd\ufffd","kHOM":"\ufffd\ufffd","kEND":"\ufffd\ufffd"} -{"name":"qvt101","aliases":["qvt108"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u001a","cnorm":"\u001b.4","sgr0":"\u001bG0","smul":"\u001bG8","rev":"\u001bG4","cup":"\u001b=%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u000b","pad":"\u0000","kbs":"\u0008","kf1":"\u0001@\r","kf2":"\u0001A\r","kf3":"\u0001B\r","kf4":"\u0001C\r","kf5":"\u0001D\r","kf6":"\u0001E\r","kf7":"\u0001F\r","kf8":"\u0001G\r","kf9":"\u0001H\r","kf10":"\u0001I\r","kich":"\u001bQ","khome":"\u001e","kcuu1":"\u000b","kcud1":"\n","kcub1":"\u0008","kcuf1":"\u000c","kcbt":"\u001bI"} -{"name":"qvt101+","aliases":["qvt101p"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u001a","cnorm":"\u001b.4","sgr0":"\u001bG0","smul":"\u001bG8","rev":"\u001bG4","cup":"\u001b=%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u000b","pad":"\u0000","kbs":"\u0008","kf1":"\u0001@\r","kf2":"\u0001A\r","kf3":"\u0001B\r","kf4":"\u0001C\r","kf5":"\u0001D\r","kf6":"\u0001E\r","kf7":"\u0001F\r","kf8":"\u0001G\r","kf9":"\u0001H\r","kf10":"\u0001I\r","kich":"\u001bQ","khome":"\u001e","kcuu1":"\u000b","kcud1":"\n","kcub1":"\u0008","kcuf1":"\u000c","kcbt":"\u001bI"} -{"name":"qvt102","cols":80,"lines":24,"bell":"\u0007","clear":"\u001a","cnorm":"\u001b.","sgr0":"\u001bG0","smul":"\u001bG8","rev":"\u001bG4","cup":"\u001b=%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u000b","pad":"\u0000","kbs":"\u0008","kf1":"\u0001@\r","kf2":"\u0001A\r","kf3":"\u0001B\r","kf4":"\u0001C\r","kf5":"\u0001D\r","kf6":"\u0001E\r","kf7":"\u0001F\r","kf8":"\u0001G\r","kf9":"\u0001H\r","kf10":"\u0001I\r","kich":"\u001bQ","khome":"\u001e","kcuu1":"\u000b","kcud1":"\n","kcub1":"\u0008","kcuf1":"\u000c","kcbt":"\u001bI"} -{"name":"qvt103","cols":80,"lines":24,"bell":"\u0007","clear":"\u001b[H\u001b[2J$\u003c50\u003e","sgr0":"\u001b[m$\u003c2\u003e","smul":"\u001b[4m$\u003c2\u003e","bold":"\u001b[1m$\u003c2\u003e","blink":"\u001b[5m$\u003c2\u003e","rev":"\u001b[7m$\u003c2\u003e","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","cup":"\u001b[%i%p1%d;%p2%dH$\u003c5\u003e","cub1":"\u0008","cuu1":"\u001b[A$\u003c2\u003e","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC"} -{"name":"qvt103-w","cols":132,"lines":24,"bell":"\u0007","clear":"\u001b[H\u001b[2J$\u003c50\u003e","sgr0":"\u001b[m$\u003c2\u003e","smul":"\u001b[4m$\u003c2\u003e","bold":"\u001b[1m$\u003c2\u003e","blink":"\u001b[5m$\u003c2\u003e","rev":"\u001b[7m$\u003c2\u003e","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","cup":"\u001b[%i%p1%d;%p2%dH$\u003c5\u003e","cub1":"\u0008","cuu1":"\u001b[A$\u003c2\u003e","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC"} -{"name":"qvt119+","aliases":["qvt119","qvt119p"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u001b*1","cnorm":"\u001b.4","sgr0":"\u001bG0","smul":"\u001bG8","rev":"\u001bG4","cup":"\u001b=%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u000b","pad":"\u0000","kbs":"\u0008","kf1":"\u0001@\r","kf2":"\u0001A\r","kf3":"\u0001B\r","kf4":"\u0001C\r","kf5":"\u0001D\r","kf6":"\u0001E\r","kf7":"\u0001F\r","kf8":"\u0001G\r","kf9":"\u0001H\r","khome":"\u001e","kcuu1":"\u000b","kcud1":"\n","kcub1":"\u0008","kcuf1":"\u000c"} -{"name":"qvt119+-25","aliases":["qvt119p-25"],"cols":80,"lines":25,"bell":"\u0007","clear":"\u001b*1","cnorm":"\u001b.4","sgr0":"\u001bG0","smul":"\u001bG8","rev":"\u001bG4","cup":"\u001b=%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u000b","pad":"\u0000","kbs":"\u0008","kf1":"\u0001@\r","kf2":"\u0001A\r","kf3":"\u0001B\r","kf4":"\u0001C\r","kf5":"\u0001D\r","kf6":"\u0001E\r","kf7":"\u0001F\r","kf8":"\u0001G\r","kf9":"\u0001H\r","khome":"\u001e","kcuu1":"\u000b","kcud1":"\n","kcub1":"\u0008","kcuf1":"\u000c"} -{"name":"qvt119+-25-w","aliases":["qvt119-25-w","qvt119p-25-w"],"cols":80,"lines":25,"bell":"\u0007","clear":"\u001b*1","cnorm":"\u001b.4","sgr0":"\u001bG0","smul":"\u001bG8","rev":"\u001bG4","cup":"\u001b=%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u000b","pad":"\u0000","kbs":"\u0008","kf1":"\u0001@\r","kf2":"\u0001A\r","kf3":"\u0001B\r","kf4":"\u0001C\r","kf5":"\u0001D\r","kf6":"\u0001E\r","kf7":"\u0001F\r","kf8":"\u0001G\r","kf9":"\u0001H\r","khome":"\u001e","kcuu1":"\u000b","kcud1":"\n","kcub1":"\u0008","kcuf1":"\u000c"} -{"name":"qvt119+-w","aliases":["qvt119-w","qvt119p-w"],"cols":132,"lines":24,"bell":"\u0007","clear":"\u001b*1","cnorm":"\u001b.4","sgr0":"\u001bG0","smul":"\u001bG8","rev":"\u001bG4","cup":"\u001b=%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u000b","pad":"\u0000","kbs":"\u0008","kf1":"\u0001@\r","kf2":"\u0001A\r","kf3":"\u0001B\r","kf4":"\u0001C\r","kf5":"\u0001D\r","kf6":"\u0001E\r","kf7":"\u0001F\r","kf8":"\u0001G\r","kf9":"\u0001H\r","khome":"\u001e","kcuu1":"\u000b","kcud1":"\n","kcub1":"\u0008","kcuf1":"\u000c"} -{"name":"qvt203","aliases":["qvt203+"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u001b[H\u001b[2J$\u003c50\u003e","sgr0":"\u001b[m$\u003c2\u003e","smul":"\u001b[4m$\u003c2\u003e","bold":"\u001b[1m$\u003c2\u003e","blink":"\u001b[5m$\u003c2\u003e","rev":"\u001b[7m$\u003c2\u003e","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","cup":"\u001b[%i%p1%d;%p2%dH$\u003c5\u003e","cub1":"\u0008","cuu1":"\u001b[A$\u003c2\u003e","pad":"\u0000","kbs":"\u0008","kf1":"\u001b[17~","kf2":"\u001b[18~","kf3":"\u001b[19~","kf4":"\u001b[20~","kf5":"\u001b[21~","kf6":"\u001b[23~","kf7":"\u001b[24~","kf8":"\u001b[25~","kf9":"\u001b[28~","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC"} -{"name":"qvt203-25","cols":80,"lines":25,"bell":"\u0007","clear":"\u001b[H\u001b[2J$\u003c50\u003e","sgr0":"\u001b[m$\u003c2\u003e","smul":"\u001b[4m$\u003c2\u003e","bold":"\u001b[1m$\u003c2\u003e","blink":"\u001b[5m$\u003c2\u003e","rev":"\u001b[7m$\u003c2\u003e","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","cup":"\u001b[%i%p1%d;%p2%dH$\u003c5\u003e","cub1":"\u0008","cuu1":"\u001b[A$\u003c2\u003e","pad":"\u0000","kbs":"\u0008","kf1":"\u001b[17~","kf2":"\u001b[18~","kf3":"\u001b[19~","kf4":"\u001b[20~","kf5":"\u001b[21~","kf6":"\u001b[23~","kf7":"\u001b[24~","kf8":"\u001b[25~","kf9":"\u001b[28~","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC"} -{"name":"qvt203-25-w","cols":132,"lines":25,"bell":"\u0007","clear":"\u001b[H\u001b[2J$\u003c50\u003e","sgr0":"\u001b[m$\u003c2\u003e","smul":"\u001b[4m$\u003c2\u003e","bold":"\u001b[1m$\u003c2\u003e","blink":"\u001b[5m$\u003c2\u003e","rev":"\u001b[7m$\u003c2\u003e","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","cup":"\u001b[%i%p1%d;%p2%dH$\u003c5\u003e","cub1":"\u0008","cuu1":"\u001b[A$\u003c2\u003e","pad":"\u0000","kbs":"\u0008","kf1":"\u001b[17~","kf2":"\u001b[18~","kf3":"\u001b[19~","kf4":"\u001b[20~","kf5":"\u001b[21~","kf6":"\u001b[23~","kf7":"\u001b[24~","kf8":"\u001b[25~","kf9":"\u001b[28~","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC"} -{"name":"qvt203-w","aliases":["qvt203-w-am"],"cols":132,"lines":24,"bell":"\u0007","clear":"\u001b[H\u001b[2J$\u003c50\u003e","sgr0":"\u001b[m$\u003c2\u003e","smul":"\u001b[4m$\u003c2\u003e","bold":"\u001b[1m$\u003c2\u003e","blink":"\u001b[5m$\u003c2\u003e","rev":"\u001b[7m$\u003c2\u003e","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","cup":"\u001b[%i%p1%d;%p2%dH$\u003c5\u003e","cub1":"\u0008","cuu1":"\u001b[A$\u003c2\u003e","pad":"\u0000","kbs":"\u0008","kf1":"\u001b[17~","kf2":"\u001b[18~","kf3":"\u001b[19~","kf4":"\u001b[20~","kf5":"\u001b[21~","kf6":"\u001b[23~","kf7":"\u001b[24~","kf8":"\u001b[25~","kf9":"\u001b[28~","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC"} -{"name":"rbcomm","cols":80,"lines":25,"bell":"\u0007","clear":"\u000c","cnorm":"\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b[m","smul":"\u0014","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u0012","smkx":"\u001b=","rmkx":"\u001b\u003e","cup":"\u001f%p2%' '%+%c%p1%' '%+%c","cub1":"\u0008","cuu1":"\u001e","pad":"\u0000","kbs":"\u0008","khome":"\u0001","kcuu1":"\u0010","kcud1":"\u000e","kcub1":"\u0002","kcuf1":"\u0006"} -{"name":"rbcomm-nam","cols":80,"lines":25,"bell":"\u0007","clear":"\u000c","cnorm":"\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b[m","smul":"\u0014","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u0012","smkx":"\u001b=","rmkx":"\u001b\u003e","cup":"\u001f%p2%' '%+%c%p1%' '%+%c","cub1":"\u0008","cuu1":"\u001e","pad":"\u0000","kbs":"\u0008","khome":"\u0001","kcuu1":"\u0010","kcud1":"\n","kcub1":"\u0008","kcuf1":"\u0006"} -{"name":"rbcomm-w","cols":132,"lines":25,"bell":"\u0007","clear":"\u000c","cnorm":"\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b[m","smul":"\u0014","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u0012","smkx":"\u001b=","rmkx":"\u001b\u003e","cup":"\u001f%p2%' '%+%c%p1%' '%+%c","cub1":"\u0008","cuu1":"\u001e","pad":"\u0000","kbs":"\u0008","khome":"\u0001","kcuu1":"\u0010","kcud1":"\n","kcub1":"\u0008","kcuf1":"\u0006"} -{"name":"rca","cols":40,"lines":24,"clear":"\u000c","cup":"\u001bY%p1%' '%+%c%p2%' '%+%c","cuu1":"\u000b","pad":"\u0000"} -{"name":"rcons","cols":80,"lines":34,"bell":"\u0007","clear":"\u000c","sgr0":"\u001b[m","rev":"\u001b[7m","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001b[224z","kf2":"\u001b[225z","kf3":"\u001b[226z","kf4":"\u001b[227z","kf5":"\u001b[228z","kf6":"\u001b[229z","kf7":"\u001b[230z","kf8":"\u001b[231z","kf9":"\u001b[232z","kf10":"\u001b[233z","kf11":"\u001b[234z","kf12":"\u001b[235z","kdch":"","khome":"\u001b[214z","kend":"\u001b[220z","kpp":"\u001b[216z","knp":"\u001b[222z","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C"} -{"name":"rcons-color","cols":80,"lines":34,"colors":8,"bell":"\u0007","clear":"\u000c","sgr0":"\u001b[m","rev":"\u001b[7m","setaf":"\u001b[3%p1%dm","setbg":"\u001b[4%p1%dm","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001b[224z","kf2":"\u001b[225z","kf3":"\u001b[226z","kf4":"\u001b[227z","kf5":"\u001b[228z","kf6":"\u001b[229z","kf7":"\u001b[230z","kf8":"\u001b[231z","kf9":"\u001b[232z","kf10":"\u001b[233z","kf11":"\u001b[234z","kf12":"\u001b[235z","kdch":"","khome":"\u001b[214z","kend":"\u001b[220z","kpp":"\u001b[216z","knp":"\u001b[222z","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","_setfgbg":"\u001b[3%p1%d;4%p2%dm"} -{"name":"regent100","cols":80,"lines":24,"bell":"\u0007","clear":"\u000c","sgr0":"\u001b0@","smul":"\u001b0`","cup":"\u000b%p1%' '%+%c\u0010%p2%{10}%/%{16}%*%p2%{10}%m%+%c","cub1":"\u0015","cuu1":"\u001a","pad":"\u0000","kf1":"\u00022\r","kf2":"\u00023\r","kf3":"\u00024\r","kf4":"\u00025\r","kf5":"\u00026\r","kf6":"\u00027\r","kf7":"\u00028\r"} -{"name":"regent20","cols":80,"lines":24,"bell":"\u0007","clear":"\u000c","cup":"\u001bY%p1%' '%+%c%p2%' '%+%c","cub1":"\u0015","cuu1":"\u001a","pad":"\u0000"} -{"name":"regent25","cols":80,"lines":24,"bell":"\u0007","clear":"\u000c","cup":"\u001bY%p1%' '%+%c%p2%' '%+%c","cub1":"\u0015","cuu1":"\u001a","pad":"\u0000","khome":"\u0001","kcuu1":"\u001a","kcud1":"\n","kcub1":"\u0015","kcuf1":"\u0006"} -{"name":"regent40","cols":80,"lines":24,"bell":"\u0007","clear":"\u000c","sgr0":"\u001b0@","smul":"\u001b0`","cup":"\u001bY%p1%' '%+%c%p2%' '%+%c","cub1":"\u0015","cuu1":"\u001a","pad":"\u0000","kf1":"\u00022\r","kf2":"\u00023\r","kf3":"\u00024\r","kf4":"\u00025\r","kf5":"\u00026\r","kf6":"\u00027\r","kf7":"\u00028\r","khome":"\u0001","kcuu1":"\u001a","kcud1":"\n","kcub1":"\u0015","kcuf1":"\u0006"} -{"name":"regent40+","cols":80,"lines":24,"bell":"\u0007","clear":"\u000c","sgr0":"\u001b0@","smul":"\u001b0`","cup":"\u001bY%p1%' '%+%c%p2%' '%+%c","cub1":"\u0015","cuu1":"\u001a","pad":"\u0000","kf1":"\u00022\r","kf2":"\u00023\r","kf3":"\u00024\r","kf4":"\u00025\r","kf5":"\u00026\r","kf6":"\u00027\r","kf7":"\u00028\r","khome":"\u0001","kcuu1":"\u001a","kcud1":"\n","kcub1":"\u0015","kcuf1":"\u0006"} -{"name":"regent60","aliases":["regent200"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u000c","sgr0":"\u001b0@","smul":"\u001b0`","cup":"\u001bY%p1%' '%+%c%p2%' '%+%c","cub1":"\u0015","cuu1":"\u001a","pad":"\u0000","kf1":"\u00022\r","kf2":"\u00023\r","kf3":"\u00024\r","kf4":"\u00025\r","kf5":"\u00026\r","kf6":"\u00027\r","kf7":"\u00028\r","kich":"\u001bF","kdch":"\u001bE","khome":"\u0001","kcuu1":"\u001a","kcud1":"\n","kcub1":"\u0015","kcuf1":"\u0006"} -{"name":"rt6221","cols":80,"lines":24,"bell":"\u0007","clear":"\u001b[1;1H\u001b[J","cnorm":"\u001b[\u003e5h\u001b[\u003e9h","civis":"\u001b[\u003e5l","sgr0":"\u001b[m","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","smkx":"\u001b=","rmkx":"\u001b\u003e","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001bM","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOQ","kf2":"\u001bOR","kf3":"\u001bOS","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","smacs":"\u000e","rmacs":"\u000f"} -{"name":"rt6221-w","cols":160,"lines":48,"bell":"\u0007","clear":"\u001b[1;1H\u001b[J","cnorm":"\u001b[\u003e5h\u001b[\u003e9h","civis":"\u001b[\u003e5l","sgr0":"\u001b[m","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","smkx":"\u001b=","rmkx":"\u001b\u003e","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001bM","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOQ","kf2":"\u001bOR","kf3":"\u001bOS","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","smacs":"\u000e","rmacs":"\u000f"} -{"name":"rtpc","aliases":["ibmapa16"],"cols":80,"lines":32,"bell":"\u0007","clear":"\u001bK","sgr0":"\u001bw\u001bq\u001bz\u001bB","smul":"\u001bW","bold":"\u001bZ","rev":"\u001bp","cup":"\u001bY%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u001bA","pad":"\u0000","kbs":"\u0008","kf1":"\u001bS","kf2":"\u001bT","kf3":"\u001bU","kf4":"\u001bV","kf5":"\u001bW","kf6":"\u001bP","kf7":"\u001bQ","kf8":"\u001bR","kf9":"\u001bY","kich":"\ufffd","khome":"\u001bH","kpp":"\u001bg","knp":"\u001bE","kcuu1":"\u001bA","kcud1":"\u001bB","kcub1":"\u001bD","kcuf1":"\u001bC"} -{"name":"rxvt","cols":80,"lines":24,"colors":8,"bell":"\u0007","clear":"\u001b[H\u001b[2J","smcup":"\u001b7\u001b[?47h","rmcup":"\u001b[2J\u001b[?47l\u001b8","cnorm":"\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b[m\u000f","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","smkx":"\u001b=","rmkx":"\u001b\u003e","setaf":"\u001b[3%p1%dm","setbg":"\u001b[4%p1%dm","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001b[11~","kf2":"\u001b[12~","kf3":"\u001b[13~","kf4":"\u001b[14~","kf5":"\u001b[15~","kf6":"\u001b[17~","kf7":"\u001b[18~","kf8":"\u001b[19~","kf9":"\u001b[20~","kf10":"\u001b[21~","kf11":"\u001b[23~","kf12":"\u001b[24~","kf13":"\u001b[25~","kf14":"\u001b[26~","kf15":"\u001b[28~","kf16":"\u001b[29~","kf17":"\u001b[31~","kf18":"\u001b[32~","kf19":"\u001b[33~","kf20":"\u001b[34~","kf21":"\u001b[23$","kf22":"\u001b[24$","kf23":"\u001b[11^","kf24":"\u001b[12^","kf25":"\u001b[13^","kf26":"\u001b[14^","kf27":"\u001b[15^","kf28":"\u001b[17^","kf29":"\u001b[18^","kf30":"\u001b[19^","kf31":"\u001b[20^","kf32":"\u001b[21^","kf33":"\u001b[23^","kf34":"\u001b[24^","kf35":"\u001b[25^","kf36":"\u001b[26^","kf37":"\u001b[28^","kf38":"\u001b[29^","kf39":"\u001b[31^","kf40":"\u001b[32^","kf41":"\u001b[33^","kf42":"\u001b[34^","kf43":"\u001b[23@","kf44":"\u001b[24@","kich":"\u001b[2~","kdch":"\u001b[3~","khome":"\u001b[7~","kend":"\u001b[8~","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001b[Z","kmous":"\u001b[M","XM":"%?%p1%{1}%=%t%'h'%Pa%e%'l'%Pa%;\u001b[?1000%ga%c\u001b[?1002%ga%c\u001b[?1003%ga%c\u001b[?1006%ga%c","acsc":"``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u000e","rmacs":"\u000f","enacs":"\u001b(B\u001b)0","kRIT":"\u001b[c","kLFT":"\u001b[d","kHOM":"\u001b[7$","kEND":"\u001b[8$","_setfgbg":"\u001b[3%p1%d;4%p2%dm","_kscu1":"\u001b[a","_kscud1":"\u001b[b","_kccu1":"\u001b[Oa","_kccud1":"\u001b[Ob","_kccuf1":"\u001b[Oc","_kccub1":"\u001b[Od","_kchome":"\u001b[7^","_kcend":"\u001b[8^"} -{"name":"rxvt-16color","cols":80,"lines":24,"colors":16,"bell":"\u0007","clear":"\u001b[H\u001b[2J","smcup":"\u001b7\u001b[?47h","rmcup":"\u001b[2J\u001b[?47l\u001b8","cnorm":"\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b[m\u000f","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","smkx":"\u001b=","rmkx":"\u001b\u003e","setaf":"\u001b[%?%p1%{8}%\u003c%t%p1%{30}%+%e%p1%'R'%+%;%dm","setbg":"\u001b[%?%p1%{8}%\u003c%t%p1%'('%+%e%p1%{92}%+%;%dm","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001b[11~","kf2":"\u001b[12~","kf3":"\u001b[13~","kf4":"\u001b[14~","kf5":"\u001b[15~","kf6":"\u001b[17~","kf7":"\u001b[18~","kf8":"\u001b[19~","kf9":"\u001b[20~","kf10":"\u001b[21~","kf11":"\u001b[23~","kf12":"\u001b[24~","kf13":"\u001b[25~","kf14":"\u001b[26~","kf15":"\u001b[28~","kf16":"\u001b[29~","kf17":"\u001b[31~","kf18":"\u001b[32~","kf19":"\u001b[33~","kf20":"\u001b[34~","kf21":"\u001b[23$","kf22":"\u001b[24$","kf23":"\u001b[11^","kf24":"\u001b[12^","kf25":"\u001b[13^","kf26":"\u001b[14^","kf27":"\u001b[15^","kf28":"\u001b[17^","kf29":"\u001b[18^","kf30":"\u001b[19^","kf31":"\u001b[20^","kf32":"\u001b[21^","kf33":"\u001b[23^","kf34":"\u001b[24^","kf35":"\u001b[25^","kf36":"\u001b[26^","kf37":"\u001b[28^","kf38":"\u001b[29^","kf39":"\u001b[31^","kf40":"\u001b[32^","kf41":"\u001b[33^","kf42":"\u001b[34^","kf43":"\u001b[23@","kf44":"\u001b[24@","kich":"\u001b[2~","kdch":"\u001b[3~","khome":"\u001b[7~","kend":"\u001b[8~","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001b[Z","kmous":"\u001b[M","XM":"%?%p1%{1}%=%t%'h'%Pa%e%'l'%Pa%;\u001b[?1000%ga%c\u001b[?1002%ga%c\u001b[?1003%ga%c\u001b[?1006%ga%c","acsc":"``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u000e","rmacs":"\u000f","enacs":"\u001b(B\u001b)0","kRIT":"\u001b[c","kLFT":"\u001b[d","kHOM":"\u001b[7$","kEND":"\u001b[8$","_setfgbg":"\u001b[%?%p1%{8}%\u003c%t%p1%{30}%+%e%p1%'R'%+%;%d;%?%p2%{8}%\u003c%t%p2%'('%+%e%p2%{92}%+%;%dm","_kscu1":"\u001b[a","_kscud1":"\u001b[b","_kccu1":"\u001b[Oa","_kccud1":"\u001b[Ob","_kccuf1":"\u001b[Oc","_kccub1":"\u001b[Od","_kchome":"\u001b[7^","_kcend":"\u001b[8^"} -{"name":"rxvt-256color","cols":80,"lines":24,"colors":256,"bell":"\u0007","clear":"\u001b[H\u001b[2J","smcup":"\u001b7\u001b[?47h","rmcup":"\u001b[2J\u001b[?47l\u001b8","cnorm":"\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b[m\u000f","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","smkx":"\u001b=","rmkx":"\u001b\u003e","setaf":"\u001b[%?%p1%{8}%\u003c%t3%p1%d%e%p1%{16}%\u003c%t9%p1%{8}%-%d%e38;5;%p1%d%;m","setbg":"\u001b[%?%p1%{8}%\u003c%t4%p1%d%e%p1%{16}%\u003c%t10%p1%{8}%-%d%e48;5;%p1%d%;m","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001b[11~","kf2":"\u001b[12~","kf3":"\u001b[13~","kf4":"\u001b[14~","kf5":"\u001b[15~","kf6":"\u001b[17~","kf7":"\u001b[18~","kf8":"\u001b[19~","kf9":"\u001b[20~","kf10":"\u001b[21~","kf11":"\u001b[23~","kf12":"\u001b[24~","kf13":"\u001b[25~","kf14":"\u001b[26~","kf15":"\u001b[28~","kf16":"\u001b[29~","kf17":"\u001b[31~","kf18":"\u001b[32~","kf19":"\u001b[33~","kf20":"\u001b[34~","kf21":"\u001b[23$","kf22":"\u001b[24$","kf23":"\u001b[11^","kf24":"\u001b[12^","kf25":"\u001b[13^","kf26":"\u001b[14^","kf27":"\u001b[15^","kf28":"\u001b[17^","kf29":"\u001b[18^","kf30":"\u001b[19^","kf31":"\u001b[20^","kf32":"\u001b[21^","kf33":"\u001b[23^","kf34":"\u001b[24^","kf35":"\u001b[25^","kf36":"\u001b[26^","kf37":"\u001b[28^","kf38":"\u001b[29^","kf39":"\u001b[31^","kf40":"\u001b[32^","kf41":"\u001b[33^","kf42":"\u001b[34^","kf43":"\u001b[23@","kf44":"\u001b[24@","kich":"\u001b[2~","kdch":"\u001b[3~","khome":"\u001b[7~","kend":"\u001b[8~","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001b[Z","kmous":"\u001b[M","XM":"%?%p1%{1}%=%t%'h'%Pa%e%'l'%Pa%;\u001b[?1000%ga%c\u001b[?1002%ga%c\u001b[?1003%ga%c\u001b[?1006%ga%c","acsc":"``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u000e","rmacs":"\u000f","enacs":"\u001b(B\u001b)0","kRIT":"\u001b[c","kLFT":"\u001b[d","kHOM":"\u001b[7$","kEND":"\u001b[8$","_setfgbg":"\u001b[%?%p1%{8}%\u003c%t3%p1%d%e%p1%{16}%\u003c%t9%p1%{8}%-%d%e38;5;%p1%d%;;%?%p2%{8}%\u003c%t4%p2%d%e%p2%{16}%\u003c%t10%p2%{8}%-%d%e48;5;%p2%d%;m","_kscu1":"\u001b[a","_kscud1":"\u001b[b","_kccu1":"\u001b[Oa","_kccud1":"\u001b[Ob","_kccuf1":"\u001b[Oc","_kccub1":"\u001b[Od","_kchome":"\u001b[7^","_kcend":"\u001b[8^"} -{"name":"rxvt-88color","cols":80,"lines":24,"colors":88,"bell":"\u0007","clear":"\u001b[H\u001b[2J","smcup":"\u001b7\u001b[?47h","rmcup":"\u001b[2J\u001b[?47l\u001b8","cnorm":"\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b[m\u000f","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","smkx":"\u001b=","rmkx":"\u001b\u003e","setaf":"\u001b[%?%p1%{8}%\u003c%t3%p1%d%e%p1%{16}%\u003c%t9%p1%{8}%-%d%e38;5;%p1%d%;m","setbg":"\u001b[%?%p1%{8}%\u003c%t4%p1%d%e%p1%{16}%\u003c%t10%p1%{8}%-%d%e48;5;%p1%d%;m","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001b[11~","kf2":"\u001b[12~","kf3":"\u001b[13~","kf4":"\u001b[14~","kf5":"\u001b[15~","kf6":"\u001b[17~","kf7":"\u001b[18~","kf8":"\u001b[19~","kf9":"\u001b[20~","kf10":"\u001b[21~","kf11":"\u001b[23~","kf12":"\u001b[24~","kf13":"\u001b[25~","kf14":"\u001b[26~","kf15":"\u001b[28~","kf16":"\u001b[29~","kf17":"\u001b[31~","kf18":"\u001b[32~","kf19":"\u001b[33~","kf20":"\u001b[34~","kf21":"\u001b[23$","kf22":"\u001b[24$","kf23":"\u001b[11^","kf24":"\u001b[12^","kf25":"\u001b[13^","kf26":"\u001b[14^","kf27":"\u001b[15^","kf28":"\u001b[17^","kf29":"\u001b[18^","kf30":"\u001b[19^","kf31":"\u001b[20^","kf32":"\u001b[21^","kf33":"\u001b[23^","kf34":"\u001b[24^","kf35":"\u001b[25^","kf36":"\u001b[26^","kf37":"\u001b[28^","kf38":"\u001b[29^","kf39":"\u001b[31^","kf40":"\u001b[32^","kf41":"\u001b[33^","kf42":"\u001b[34^","kf43":"\u001b[23@","kf44":"\u001b[24@","kich":"\u001b[2~","kdch":"\u001b[3~","khome":"\u001b[7~","kend":"\u001b[8~","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001b[Z","kmous":"\u001b[M","XM":"%?%p1%{1}%=%t%'h'%Pa%e%'l'%Pa%;\u001b[?1000%ga%c\u001b[?1002%ga%c\u001b[?1003%ga%c\u001b[?1006%ga%c","acsc":"``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u000e","rmacs":"\u000f","enacs":"\u001b(B\u001b)0","kRIT":"\u001b[c","kLFT":"\u001b[d","kHOM":"\u001b[7$","kEND":"\u001b[8$","_setfgbg":"\u001b[%?%p1%{8}%\u003c%t3%p1%d%e%p1%{16}%\u003c%t9%p1%{8}%-%d%e38;5;%p1%d%;;%?%p2%{8}%\u003c%t4%p2%d%e%p2%{16}%\u003c%t10%p2%{8}%-%d%e48;5;%p2%d%;m","_kscu1":"\u001b[a","_kscud1":"\u001b[b","_kccu1":"\u001b[Oa","_kccud1":"\u001b[Ob","_kccuf1":"\u001b[Oc","_kccub1":"\u001b[Od","_kchome":"\u001b[7^","_kcend":"\u001b[8^"} -{"name":"rxvt-basic","cols":80,"lines":24,"bell":"\u0007","clear":"\u001b[H\u001b[2J","smcup":"\u001b7\u001b[?47h","rmcup":"\u001b[2J\u001b[?47l\u001b8","cnorm":"\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b[0m\u000f","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","smkx":"\u001b=","rmkx":"\u001b\u003e","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001b[11~","kf2":"\u001b[12~","kf3":"\u001b[13~","kf4":"\u001b[14~","kf5":"\u001b[15~","kf6":"\u001b[17~","kf7":"\u001b[18~","kf8":"\u001b[19~","kf9":"\u001b[20~","kf10":"\u001b[21~","kf11":"\u001b[23~","kf12":"\u001b[24~","kf13":"\u001b[25~","kf14":"\u001b[26~","kf15":"\u001b[28~","kf16":"\u001b[29~","kf17":"\u001b[31~","kf18":"\u001b[32~","kf19":"\u001b[33~","kf20":"\u001b[34~","kf21":"\u001b[23$","kf22":"\u001b[24$","kf23":"\u001b[11^","kf24":"\u001b[12^","kf25":"\u001b[13^","kf26":"\u001b[14^","kf27":"\u001b[15^","kf28":"\u001b[17^","kf29":"\u001b[18^","kf30":"\u001b[19^","kf31":"\u001b[20^","kf32":"\u001b[21^","kf33":"\u001b[23^","kf34":"\u001b[24^","kf35":"\u001b[25^","kf36":"\u001b[26^","kf37":"\u001b[28^","kf38":"\u001b[29^","kf39":"\u001b[31^","kf40":"\u001b[32^","kf41":"\u001b[33^","kf42":"\u001b[34^","kf43":"\u001b[23@","kf44":"\u001b[24@","kich":"\u001b[2~","kdch":"\u001b[3~","khome":"\u001b[7~","kend":"\u001b[8~","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001b[Z","kmous":"\u001b[M","XM":"%?%p1%{1}%=%t%'h'%Pa%e%'l'%Pa%;\u001b[?1000%ga%c\u001b[?1002%ga%c\u001b[?1003%ga%c\u001b[?1006%ga%c","acsc":"``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u000e","rmacs":"\u000f","enacs":"\u001b(B\u001b)0","kRIT":"\u001b[c","kLFT":"\u001b[d","kHOM":"\u001b[7$","kEND":"\u001b[8$","_kscu1":"\u001b[a","_kscud1":"\u001b[b","_kccu1":"\u001b[Oa","_kccud1":"\u001b[Ob","_kccuf1":"\u001b[Oc","_kccub1":"\u001b[Od","_kchome":"\u001b[7^","_kcend":"\u001b[8^"} -{"name":"rxvt-color","cols":80,"lines":24,"colors":8,"bell":"\u0007","clear":"\u001b[H\u001b[2J","smcup":"\u001b7\u001b[?47h","rmcup":"\u001b[2J\u001b[?47l\u001b8","cnorm":"\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b[m\u000f","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","smkx":"\u001b=","rmkx":"\u001b\u003e","setaf":"\u001b[3%p1%dm","setbg":"\u001b[4%p1%dm","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001b[11~","kf2":"\u001b[12~","kf3":"\u001b[13~","kf4":"\u001b[14~","kf5":"\u001b[15~","kf6":"\u001b[17~","kf7":"\u001b[18~","kf8":"\u001b[19~","kf9":"\u001b[20~","kf10":"\u001b[21~","kf11":"\u001b[23~","kf12":"\u001b[24~","kf13":"\u001b[25~","kf14":"\u001b[26~","kf15":"\u001b[28~","kf16":"\u001b[29~","kf17":"\u001b[31~","kf18":"\u001b[32~","kf19":"\u001b[33~","kf20":"\u001b[34~","kf21":"\u001b[23$","kf22":"\u001b[24$","kf23":"\u001b[11^","kf24":"\u001b[12^","kf25":"\u001b[13^","kf26":"\u001b[14^","kf27":"\u001b[15^","kf28":"\u001b[17^","kf29":"\u001b[18^","kf30":"\u001b[19^","kf31":"\u001b[20^","kf32":"\u001b[21^","kf33":"\u001b[23^","kf34":"\u001b[24^","kf35":"\u001b[25^","kf36":"\u001b[26^","kf37":"\u001b[28^","kf38":"\u001b[29^","kf39":"\u001b[31^","kf40":"\u001b[32^","kf41":"\u001b[33^","kf42":"\u001b[34^","kf43":"\u001b[23@","kf44":"\u001b[24@","kich":"\u001b[2~","kdch":"\u001b[3~","khome":"\u001b[7~","kend":"\u001b[8~","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001b[Z","kmous":"\u001b[M","XM":"%?%p1%{1}%=%t%'h'%Pa%e%'l'%Pa%;\u001b[?1000%ga%c\u001b[?1002%ga%c\u001b[?1003%ga%c\u001b[?1006%ga%c","acsc":"``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u000e","rmacs":"\u000f","enacs":"\u001b(B\u001b)0","kRIT":"\u001b[c","kLFT":"\u001b[d","kHOM":"\u001b[7$","kEND":"\u001b[8$","_setfgbg":"\u001b[3%p1%d;4%p2%dm","_kscu1":"\u001b[a","_kscud1":"\u001b[b","_kccu1":"\u001b[Oa","_kccud1":"\u001b[Ob","_kccuf1":"\u001b[Oc","_kccub1":"\u001b[Od","_kchome":"\u001b[7^","_kcend":"\u001b[8^"} -{"name":"rxvt-cygwin","cols":80,"lines":24,"colors":8,"bell":"\u0007","clear":"\u001b[H\u001b[2J","smcup":"\u001b7\u001b[?47h","rmcup":"\u001b[2J\u001b[?47l\u001b8","cnorm":"\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b[m\u000f","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","smkx":"\u001b=","rmkx":"\u001b\u003e","setaf":"\u001b[3%p1%dm","setbg":"\u001b[4%p1%dm","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001b[11~","kf2":"\u001b[12~","kf3":"\u001b[13~","kf4":"\u001b[14~","kf5":"\u001b[15~","kf6":"\u001b[17~","kf7":"\u001b[18~","kf8":"\u001b[19~","kf9":"\u001b[20~","kf10":"\u001b[21~","kf11":"\u001b[23~","kf12":"\u001b[24~","kf13":"\u001b[25~","kf14":"\u001b[26~","kf15":"\u001b[28~","kf16":"\u001b[29~","kf17":"\u001b[31~","kf18":"\u001b[32~","kf19":"\u001b[33~","kf20":"\u001b[34~","kf21":"\u001b[23$","kf22":"\u001b[24$","kf23":"\u001b[11^","kf24":"\u001b[12^","kf25":"\u001b[13^","kf26":"\u001b[14^","kf27":"\u001b[15^","kf28":"\u001b[17^","kf29":"\u001b[18^","kf30":"\u001b[19^","kf31":"\u001b[20^","kf32":"\u001b[21^","kf33":"\u001b[23^","kf34":"\u001b[24^","kf35":"\u001b[25^","kf36":"\u001b[26^","kf37":"\u001b[28^","kf38":"\u001b[29^","kf39":"\u001b[31^","kf40":"\u001b[32^","kf41":"\u001b[33^","kf42":"\u001b[34^","kf43":"\u001b[23@","kf44":"\u001b[24@","kich":"\u001b[2~","kdch":"\u001b[3~","khome":"\u001b[7~","kend":"\u001b[8~","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001b[Z","kmous":"\u001b[M","XM":"%?%p1%{1}%=%t%'h'%Pa%e%'l'%Pa%;\u001b[?1000%ga%c\u001b[?1002%ga%c\u001b[?1003%ga%c\u001b[?1006%ga%c","acsc":"0\ufffd+\ufffd,\ufffd-^`\u0004a\ufffdf\ufffdg\ufffdh\ufffdj\ufffdk\ufffdl\ufffdm\ufffdn\ufffdo~p\ufffdq\ufffdr\ufffds_t\ufffdu\ufffdv\ufffdw\ufffdx\ufffdy\ufffdz\ufffd{\ufffd|\ufffd}\ufffd~\ufffd","smacs":"\u000e","rmacs":"\u000f","enacs":"\u001b(B\u001b)0","kRIT":"\u001b[c","kLFT":"\u001b[d","kHOM":"\u001b[7$","kEND":"\u001b[8$","_setfgbg":"\u001b[3%p1%d;4%p2%dm","_kscu1":"\u001b[a","_kscud1":"\u001b[b","_kccu1":"\u001b[Oa","_kccud1":"\u001b[Ob","_kccuf1":"\u001b[Oc","_kccub1":"\u001b[Od","_kchome":"\u001b[7^","_kcend":"\u001b[8^"} -{"name":"rxvt-cygwin-native","cols":80,"lines":24,"colors":8,"bell":"\u0007","clear":"\u001b[H\u001b[2J","smcup":"\u001b7\u001b[?47h","rmcup":"\u001b[2J\u001b[?47l\u001b8","cnorm":"\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b[m\u000f","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","smkx":"\u001b=","rmkx":"\u001b\u003e","setaf":"\u001b[3%p1%dm","setbg":"\u001b[4%p1%dm","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001b[11~","kf2":"\u001b[12~","kf3":"\u001b[13~","kf4":"\u001b[14~","kf5":"\u001b[15~","kf6":"\u001b[17~","kf7":"\u001b[18~","kf8":"\u001b[19~","kf9":"\u001b[20~","kf10":"\u001b[21~","kf11":"\u001b[23~","kf12":"\u001b[24~","kf13":"\u001b[25~","kf14":"\u001b[26~","kf15":"\u001b[28~","kf16":"\u001b[29~","kf17":"\u001b[31~","kf18":"\u001b[32~","kf19":"\u001b[33~","kf20":"\u001b[34~","kf21":"\u001b[23$","kf22":"\u001b[24$","kf23":"\u001b[11^","kf24":"\u001b[12^","kf25":"\u001b[13^","kf26":"\u001b[14^","kf27":"\u001b[15^","kf28":"\u001b[17^","kf29":"\u001b[18^","kf30":"\u001b[19^","kf31":"\u001b[20^","kf32":"\u001b[21^","kf33":"\u001b[23^","kf34":"\u001b[24^","kf35":"\u001b[25^","kf36":"\u001b[26^","kf37":"\u001b[28^","kf38":"\u001b[29^","kf39":"\u001b[31^","kf40":"\u001b[32^","kf41":"\u001b[33^","kf42":"\u001b[34^","kf43":"\u001b[23@","kf44":"\u001b[24@","kich":"\u001b[2~","kdch":"\u001b[3~","khome":"\u001b[7~","kend":"\u001b[8~","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001b[Z","kmous":"\u001b[M","XM":"%?%p1%{1}%=%t%'h'%Pa%e%'l'%Pa%;\u001b[?1000%ga%c\u001b[?1002%ga%c\u001b[?1003%ga%c\u001b[?1006%ga%c","acsc":"0\ufffd+\ufffd,\ufffd-^`\u0004a\ufffdf\ufffdg\ufffdh\ufffdj\ufffdk\ufffdl\ufffdm\ufffdn\ufffdo~p\ufffdq\ufffdr\ufffds_t\ufffdu\ufffdv\ufffdw\ufffdx\ufffdy\ufffdz\ufffd{\ufffd|\ufffd~\ufffd","smacs":"\u000e","rmacs":"\u000f","enacs":"\u001b(B\u001b)0","kRIT":"\u001b[c","kLFT":"\u001b[d","kHOM":"\u001b[7$","kEND":"\u001b[8$","_setfgbg":"\u001b[3%p1%d;4%p2%dm","_kscu1":"\u001b[a","_kscud1":"\u001b[b","_kccu1":"\u001b[Oa","_kccud1":"\u001b[Ob","_kccuf1":"\u001b[Oc","_kccub1":"\u001b[Od","_kchome":"\u001b[7^","_kcend":"\u001b[8^"} -{"name":"rxvt-xpm","cols":80,"lines":24,"colors":8,"bell":"\u0007","clear":"\u001b[H\u001b[2J","smcup":"\u001b7\u001b[?47h","rmcup":"\u001b[2J\u001b[?47l\u001b8","cnorm":"\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b[m\u000f","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","smkx":"\u001b=","rmkx":"\u001b\u003e","setaf":"\u001b[3%p1%dm","setbg":"\u001b[4%p1%dm","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001b[11~","kf2":"\u001b[12~","kf3":"\u001b[13~","kf4":"\u001b[14~","kf5":"\u001b[15~","kf6":"\u001b[17~","kf7":"\u001b[18~","kf8":"\u001b[19~","kf9":"\u001b[20~","kf10":"\u001b[21~","kf11":"\u001b[23~","kf12":"\u001b[24~","kf13":"\u001b[25~","kf14":"\u001b[26~","kf15":"\u001b[28~","kf16":"\u001b[29~","kf17":"\u001b[31~","kf18":"\u001b[32~","kf19":"\u001b[33~","kf20":"\u001b[34~","kf21":"\u001b[23$","kf22":"\u001b[24$","kf23":"\u001b[11^","kf24":"\u001b[12^","kf25":"\u001b[13^","kf26":"\u001b[14^","kf27":"\u001b[15^","kf28":"\u001b[17^","kf29":"\u001b[18^","kf30":"\u001b[19^","kf31":"\u001b[20^","kf32":"\u001b[21^","kf33":"\u001b[23^","kf34":"\u001b[24^","kf35":"\u001b[25^","kf36":"\u001b[26^","kf37":"\u001b[28^","kf38":"\u001b[29^","kf39":"\u001b[31^","kf40":"\u001b[32^","kf41":"\u001b[33^","kf42":"\u001b[34^","kf43":"\u001b[23@","kf44":"\u001b[24@","kich":"\u001b[2~","kdch":"\u001b[3~","khome":"\u001b[7~","kend":"\u001b[8~","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001b[Z","kmous":"\u001b[M","XM":"%?%p1%{1}%=%t%'h'%Pa%e%'l'%Pa%;\u001b[?1000%ga%c\u001b[?1002%ga%c\u001b[?1003%ga%c\u001b[?1006%ga%c","acsc":"``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u000e","rmacs":"\u000f","enacs":"\u001b(B\u001b)0","kRIT":"\u001b[c","kLFT":"\u001b[d","kHOM":"\u001b[7$","kEND":"\u001b[8$","_setfgbg":"\u001b[3%p1%d;4%p2%dm","_kscu1":"\u001b[a","_kscud1":"\u001b[b","_kccu1":"\u001b[Oa","_kccud1":"\u001b[Ob","_kccuf1":"\u001b[Oc","_kccub1":"\u001b[Od","_kchome":"\u001b[7^","_kcend":"\u001b[8^"} -{"name":"sb1","cols":80,"lines":25,"bell":"\u0007","clear":"\u001bH$\u003c1\u003e\u001bJ$\u003c3\u003e","smcup":"\u001bO","sgr0":"\u001b_3","smul":"\u001b_0","cup":"\u001bF%p2%03d%p1%03d","cub1":"\u0008","cuu1":"\u001bA$\u003c3\u003e","pad":"\u0000","kbs":"\u001f","kf1":"\u001bp","kf2":"\u001bq","kf3":"\u001br","kf4":"\u001bs","kf5":"\u001bt","kf6":"\u001bu","kf7":"\u001bv","kf8":"\u001bw","kf9":"\u001b1","kich":"\u001bQ\u001bO","khome":"\u001bH","kcuu1":"\u001bA","kcud1":"\u001bB","kcub1":"\u001bD","kcuf1":"\u001bC"} -{"name":"sb2","aliases":["sb3"],"cols":80,"lines":25,"bell":"\u0007","clear":"\u001bH$\u003c1\u003e\u001bJ$\u003c3\u003e","smcup":"\u001bO","sgr0":"\u001b_3","smul":"\u001b_0","cup":"\u001bF%p2%03d%p1%03d","cub1":"\u0008","cuu1":"\u001bA$\u003c3\u003e","pad":"\u0000","kbs":"\u001f","kf1":"\u001bp","kf2":"\u001bq","kf3":"\u001br","kf4":"\u001bs","kf5":"\u001bt","kf6":"\u001bu","kf7":"\u001bv","kf8":"\u001bw","kf9":"\u001b1","kich":"\u001bQ\u001bO","khome":"\u001bH","kcuu1":"\u001bA","kcud1":"\u001bB","kcub1":"\u001bD","kcuf1":"\u001bC"} -{"name":"sbi","aliases":["superbee"],"cols":80,"lines":25,"bell":"\u0007","clear":"\u001bH$\u003c1\u003e\u001bJ$\u003c3\u003e","smcup":"\u001bO","sgr0":"\u001b_3","smul":"\u001b_0","cup":"\u001bF%p2%03d%p1%03d","cub1":"\u0008","cuu1":"\u001bA$\u003c3\u003e","pad":"\u0000","kbs":"\u001f","kf1":"\u001bp","kf2":"\u001bq","kf3":"\u001br","kf4":"\u001bs","kf5":"\u001bt","kf6":"\u001bu","kf7":"\u001bv","kf8":"\u001bw","kf9":"\u001b1","kich":"\u001bQ\u001bO","khome":"\u001bH","kcuu1":"\u001bA","kcud1":"\u001bB","kcub1":"\u001bD","kcuf1":"\u001bC"} -{"name":"scanset","aliases":["sc410","sc415"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u001bH\u001bJ","cup":"\u001bY%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u000b","pad":"\u0000","kcuu1":"\u001bA","kcud1":"\u001bB","kcub1":"\u001bD","kcuf1":"\u001bC","acsc":"j%k4l\u003cm-q,x5","smacs":"\u000e","rmacs":"\u000f"} -{"name":"scoansi","cols":80,"lines":25,"colors":8,"bell":"\u0007","clear":"\u001b[H\u001b[2J","cnorm":"\u001b[=10;12C","civis":"\u001b[=14;12C","sgr0":"\u001b[0;10m","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","setaf":"\u001b[3%p1%dm","setbg":"\u001b[4%p1%dm","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001b[M","kf2":"\u001b[N","kf3":"\u001b[O","kf4":"\u001b[P","kf5":"\u001b[Q","kf6":"\u001b[R","kf7":"\u001b[S","kf8":"\u001b[T","kf9":"\u001b[U","kf10":"\u001b[V","kf11":"\u001b[W","kf12":"\u001b[X","kf13":"\u001b[Y","kf15":"\u001b[a","kf16":"\u001b[b","kf17":"\u001b[c","kf18":"\u001b[d","kf19":"\u001b[e","kf20":"\u001b[f","kf21":"\u001b[g","kf22":"\u001b[h","kf23":"\u001b[i","kf24":"\u001b[j","kf25":"\u001b[k","kf26":"\u001b[l","kf27":"\u001b[m","kf28":"\u001b[n","kf29":"\u001b[o","kf30":"\u001b[p","kf31":"\u001b[q","kf32":"\u001b[r","kf33":"\u001b[s","kf34":"\u001b[t","kf35":"\u001b[u","kf36":"\u001b[v","kf37":"\u001b[w","kf38":"\u001b[x","kf39":"\u001b[y","kf40":"\u001b[z","kf41":"\u001b[@","kf42":"\u001b[[","kf43":"\u001b[\\","kf44":"\u001b[]","kf45":"\u001b[^","kf46":"\u001b[_","kf47":"\u001b[`","kf48":"\u001b[{","kich":"\u001b[L","kdch":"","khome":"\u001b[H","kend":"\u001b[F","kpp":"\u001b[I","knp":"\u001b[G","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001b[Z","acsc":"-\ufffd.\ufffd,.+/0[5566778899::;;\u003c\u003c==\u003e\u003eFFGGHHIIJJKKLLMMNNOOPPQQRRSSTTUUVVWWXX`\ufffda0fxgqh2jYk?lZm@nEqDtCu4vAwBx3yszr{c}\u001c~\ufffd","smacs":"\u001b[12m","rmacs":"\u001b[10m","_setfgbg":"\u001b[3%p1%d;4%p2%dm"} -{"name":"scoansi-new","cols":80,"lines":25,"colors":8,"bell":"\u0007","clear":"\u001b[H\u001b[2J","cnorm":"\u001b[=1c","civis":"\u001b[=0c","sgr0":"\u001b[0;10m","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","setaf":"\u001b[3%p1%dm","setbg":"\u001b[4%p1%dm","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001b[M","kf2":"\u001b[N","kf3":"\u001b[O","kf4":"\u001b[P","kf5":"\u001b[Q","kf6":"\u001b[R","kf7":"\u001b[S","kf8":"\u001b[T","kf9":"\u001b[U","kf10":"\u001b[V","kf11":"\u001b[W","kf12":"\u001b[X","kf13":"\u001b[Y","kf15":"\u001b[a","kf16":"\u001b[b","kf17":"\u001b[c","kf18":"\u001b[d","kf19":"\u001b[e","kf20":"\u001b[f","kf21":"\u001b[g","kf22":"\u001b[h","kf23":"\u001b[i","kf24":"\u001b[j","kf25":"\u001b[k","kf26":"\u001b[l","kf27":"\u001b[m","kf28":"\u001b[n","kf29":"\u001b[o","kf30":"\u001b[p","kf31":"\u001b[q","kf32":"\u001b[r","kf33":"\u001b[s","kf34":"\u001b[t","kf35":"\u001b[u","kf36":"\u001b[v","kf37":"\u001b[w","kf38":"\u001b[x","kf39":"\u001b[y","kf40":"\u001b[z","kf41":"\u001b[@","kf42":"\u001b[[","kf43":"\u001b[\\","kf44":"\u001b[]","kf45":"\u001b[^","kf46":"\u001b[_","kf47":"\u001b[`","kf48":"\u001b[{","kich":"\u001b[L","kdch":"","khome":"\u001b[H","kend":"\u001b[F","kpp":"\u001b[I","knp":"\u001b[G","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001b[Z","acsc":"-\ufffd.\ufffd,.+/0[5566778899::;;\u003c\u003c==\u003e\u003eFFGGHHIIJJKKLLMMNNOOPPQQRRSSTTUUVVWWXX`\ufffda0fxgqh2jYk?lZm@nEqDtCu4vAwBx3yszr{c}\u001c~\ufffd","smacs":"\u001b[12m","rmacs":"\u001b[10m","_setfgbg":"\u001b[3%p1%d;4%p2%dm"} -{"name":"scoansi-old","cols":80,"lines":25,"colors":8,"bell":"\u0007","clear":"\u001b[H\u001b[2J","cnorm":"\u001b[=10;12C","civis":"\u001b[=14;12C","sgr0":"\u001b[0;10m","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","setaf":"\u001b[3%p1%dm","setbg":"\u001b[4%p1%dm","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001b[M","kf2":"\u001b[N","kf3":"\u001b[O","kf4":"\u001b[P","kf5":"\u001b[Q","kf6":"\u001b[R","kf7":"\u001b[S","kf8":"\u001b[T","kf9":"\u001b[U","kf10":"\u001b[V","kf11":"\u001b[W","kf12":"\u001b[X","kf13":"\u001b[Y","kf15":"\u001b[a","kf16":"\u001b[b","kf17":"\u001b[c","kf18":"\u001b[d","kf19":"\u001b[e","kf20":"\u001b[f","kf21":"\u001b[g","kf22":"\u001b[h","kf23":"\u001b[i","kf24":"\u001b[j","kf25":"\u001b[k","kf26":"\u001b[l","kf27":"\u001b[m","kf28":"\u001b[n","kf29":"\u001b[o","kf30":"\u001b[p","kf31":"\u001b[q","kf32":"\u001b[r","kf33":"\u001b[s","kf34":"\u001b[t","kf35":"\u001b[u","kf36":"\u001b[v","kf37":"\u001b[w","kf38":"\u001b[x","kf39":"\u001b[y","kf40":"\u001b[z","kf41":"\u001b[@","kf42":"\u001b[[","kf43":"\u001b[\\","kf44":"\u001b[]","kf45":"\u001b[^","kf46":"\u001b[_","kf47":"\u001b[`","kf48":"\u001b[{","kich":"\u001b[L","kdch":"","khome":"\u001b[H","kend":"\u001b[F","kpp":"\u001b[I","knp":"\u001b[G","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001b[Z","acsc":"-\ufffd.\ufffd,.+/0[5566778899::;;\u003c\u003c==\u003e\u003eFFGGHHIIJJKKLLMMNNOOPPQQRRSSTTUUVVWWXX`\ufffda0fxgqh2jYk?lZm@nEqDtCu4vAwBx3yszr{c}\u001c~\ufffd","smacs":"\u001b[12m","rmacs":"\u001b[10m","_setfgbg":"\u001b[3%p1%d;4%p2%dm"} -{"name":"screen","cols":80,"lines":24,"colors":8,"bell":"\u0007","clear":"\u001b[H\u001b[J","smcup":"\u001b[?1049h","rmcup":"\u001b[?1049l","cnorm":"\u001b[34h\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b[m\u000f","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","setaf":"\u001b[3%p1%dm","setbg":"\u001b[4%p1%dm","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001bM","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kf5":"\u001b[15~","kf6":"\u001b[17~","kf7":"\u001b[18~","kf8":"\u001b[19~","kf9":"\u001b[20~","kf10":"\u001b[21~","kf11":"\u001b[23~","kf12":"\u001b[24~","kich":"\u001b[2~","kdch":"\u001b[3~","khome":"\u001b[1~","kend":"\u001b[4~","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC","kcbt":"\u001b[Z","kmous":"\u001b[M","XM":"%?%p1%{1}%=%t%'h'%Pa%e%'l'%Pa%;\u001b[?1000%ga%c\u001b[?1002%ga%c\u001b[?1003%ga%c\u001b[?1006%ga%c","acsc":"++,,--..00``aaffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u000e","rmacs":"\u000f","enacs":"\u001b(B\u001b)0","_setfgbg":"\u001b[3%p1%d;4%p2%dm"} -{"name":"screen-16color","cols":80,"lines":24,"colors":16,"bell":"\u0007","clear":"\u001b[H\u001b[J","smcup":"\u001b[?1049h","rmcup":"\u001b[?1049l","cnorm":"\u001b[34h\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b[m\u000f","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","setaf":"\u001b[%?%p1%{8}%\u003c%t%p1%{30}%+%e%p1%'R'%+%;%dm","setbg":"\u001b[%?%p1%{8}%\u003c%t%p1%'('%+%e%p1%{92}%+%;%dm","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001bM","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kf5":"\u001b[15~","kf6":"\u001b[17~","kf7":"\u001b[18~","kf8":"\u001b[19~","kf9":"\u001b[20~","kf10":"\u001b[21~","kf11":"\u001b[23~","kf12":"\u001b[24~","kich":"\u001b[2~","kdch":"\u001b[3~","khome":"\u001b[1~","kend":"\u001b[4~","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC","kcbt":"\u001b[Z","kmous":"\u001b[M","XM":"%?%p1%{1}%=%t%'h'%Pa%e%'l'%Pa%;\u001b[?1000%ga%c\u001b[?1002%ga%c\u001b[?1003%ga%c\u001b[?1006%ga%c","acsc":"++,,--..00``aaffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u000e","rmacs":"\u000f","enacs":"\u001b(B\u001b)0","_setfgbg":"\u001b[%?%p1%{8}%\u003c%t%p1%{30}%+%e%p1%'R'%+%;%d;%?%p2%{8}%\u003c%t%p2%'('%+%e%p2%{92}%+%;%dm"} -{"name":"screen-16color-bce","cols":80,"lines":24,"colors":16,"bell":"\u0007","clear":"\u001b[H\u001b[J","smcup":"\u001b[?1049h","rmcup":"\u001b[?1049l","cnorm":"\u001b[34h\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b[m\u000f","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","setaf":"\u001b[%?%p1%{8}%\u003c%t%p1%{30}%+%e%p1%'R'%+%;%dm","setbg":"\u001b[%?%p1%{8}%\u003c%t%p1%'('%+%e%p1%{92}%+%;%dm","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001bM","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kf5":"\u001b[15~","kf6":"\u001b[17~","kf7":"\u001b[18~","kf8":"\u001b[19~","kf9":"\u001b[20~","kf10":"\u001b[21~","kf11":"\u001b[23~","kf12":"\u001b[24~","kich":"\u001b[2~","kdch":"\u001b[3~","khome":"\u001b[1~","kend":"\u001b[4~","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC","kcbt":"\u001b[Z","kmous":"\u001b[M","XM":"%?%p1%{1}%=%t%'h'%Pa%e%'l'%Pa%;\u001b[?1000%ga%c\u001b[?1002%ga%c\u001b[?1003%ga%c\u001b[?1006%ga%c","acsc":"++,,--..00``aaffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u000e","rmacs":"\u000f","enacs":"\u001b(B\u001b)0","_setfgbg":"\u001b[%?%p1%{8}%\u003c%t%p1%{30}%+%e%p1%'R'%+%;%d;%?%p2%{8}%\u003c%t%p2%'('%+%e%p2%{92}%+%;%dm"} -{"name":"screen-16color-bce-s","cols":80,"lines":24,"colors":16,"bell":"\u0007","clear":"\u001b[H\u001b[J","smcup":"\u001b[?1049h","rmcup":"\u001b[?1049l","cnorm":"\u001b[34h\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b[m\u000f","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","setaf":"\u001b[%?%p1%{8}%\u003c%t%p1%{30}%+%e%p1%'R'%+%;%dm","setbg":"\u001b[%?%p1%{8}%\u003c%t%p1%'('%+%e%p1%{92}%+%;%dm","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001bM","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kf5":"\u001b[15~","kf6":"\u001b[17~","kf7":"\u001b[18~","kf8":"\u001b[19~","kf9":"\u001b[20~","kf10":"\u001b[21~","kf11":"\u001b[23~","kf12":"\u001b[24~","kich":"\u001b[2~","kdch":"\u001b[3~","khome":"\u001b[1~","kend":"\u001b[4~","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC","kcbt":"\u001b[Z","kmous":"\u001b[M","XM":"%?%p1%{1}%=%t%'h'%Pa%e%'l'%Pa%;\u001b[?1000%ga%c\u001b[?1002%ga%c\u001b[?1003%ga%c\u001b[?1006%ga%c","acsc":"++,,--..00``aaffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u000e","rmacs":"\u000f","enacs":"\u001b(B\u001b)0","_setfgbg":"\u001b[%?%p1%{8}%\u003c%t%p1%{30}%+%e%p1%'R'%+%;%d;%?%p2%{8}%\u003c%t%p2%'('%+%e%p2%{92}%+%;%dm"} -{"name":"screen-16color-s","cols":80,"lines":24,"colors":16,"bell":"\u0007","clear":"\u001b[H\u001b[J","smcup":"\u001b[?1049h","rmcup":"\u001b[?1049l","cnorm":"\u001b[34h\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b[m\u000f","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","setaf":"\u001b[%?%p1%{8}%\u003c%t%p1%{30}%+%e%p1%'R'%+%;%dm","setbg":"\u001b[%?%p1%{8}%\u003c%t%p1%'('%+%e%p1%{92}%+%;%dm","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001bM","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kf5":"\u001b[15~","kf6":"\u001b[17~","kf7":"\u001b[18~","kf8":"\u001b[19~","kf9":"\u001b[20~","kf10":"\u001b[21~","kf11":"\u001b[23~","kf12":"\u001b[24~","kich":"\u001b[2~","kdch":"\u001b[3~","khome":"\u001b[1~","kend":"\u001b[4~","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC","kcbt":"\u001b[Z","kmous":"\u001b[M","XM":"%?%p1%{1}%=%t%'h'%Pa%e%'l'%Pa%;\u001b[?1000%ga%c\u001b[?1002%ga%c\u001b[?1003%ga%c\u001b[?1006%ga%c","acsc":"++,,--..00``aaffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u000e","rmacs":"\u000f","enacs":"\u001b(B\u001b)0","_setfgbg":"\u001b[%?%p1%{8}%\u003c%t%p1%{30}%+%e%p1%'R'%+%;%d;%?%p2%{8}%\u003c%t%p2%'('%+%e%p2%{92}%+%;%dm"} -{"name":"screen-256color","cols":80,"lines":24,"colors":256,"bell":"\u0007","clear":"\u001b[H\u001b[J","smcup":"\u001b[?1049h","rmcup":"\u001b[?1049l","cnorm":"\u001b[34h\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b[m\u000f","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","setaf":"\u001b[%?%p1%{8}%\u003c%t3%p1%d%e%p1%{16}%\u003c%t9%p1%{8}%-%d%e38;5;%p1%d%;m","setbg":"\u001b[%?%p1%{8}%\u003c%t4%p1%d%e%p1%{16}%\u003c%t10%p1%{8}%-%d%e48;5;%p1%d%;m","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001bM","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kf5":"\u001b[15~","kf6":"\u001b[17~","kf7":"\u001b[18~","kf8":"\u001b[19~","kf9":"\u001b[20~","kf10":"\u001b[21~","kf11":"\u001b[23~","kf12":"\u001b[24~","kich":"\u001b[2~","kdch":"\u001b[3~","khome":"\u001b[1~","kend":"\u001b[4~","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC","kcbt":"\u001b[Z","kmous":"\u001b[M","XM":"%?%p1%{1}%=%t%'h'%Pa%e%'l'%Pa%;\u001b[?1000%ga%c\u001b[?1002%ga%c\u001b[?1003%ga%c\u001b[?1006%ga%c","acsc":"++,,--..00``aaffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u000e","rmacs":"\u000f","enacs":"\u001b(B\u001b)0","_setfgbg":"\u001b[%?%p1%{8}%\u003c%t3%p1%d%e%p1%{16}%\u003c%t9%p1%{8}%-%d%e38;5;%p1%d%;;%?%p2%{8}%\u003c%t4%p2%d%e%p2%{16}%\u003c%t10%p2%{8}%-%d%e48;5;%p2%d%;m"} -{"name":"screen-256color-bce","cols":80,"lines":24,"colors":256,"bell":"\u0007","clear":"\u001b[H\u001b[J","smcup":"\u001b[?1049h","rmcup":"\u001b[?1049l","cnorm":"\u001b[34h\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b[m\u000f","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","setaf":"\u001b[%?%p1%{8}%\u003c%t3%p1%d%e%p1%{16}%\u003c%t9%p1%{8}%-%d%e38;5;%p1%d%;m","setbg":"\u001b[%?%p1%{8}%\u003c%t4%p1%d%e%p1%{16}%\u003c%t10%p1%{8}%-%d%e48;5;%p1%d%;m","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001bM","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kf5":"\u001b[15~","kf6":"\u001b[17~","kf7":"\u001b[18~","kf8":"\u001b[19~","kf9":"\u001b[20~","kf10":"\u001b[21~","kf11":"\u001b[23~","kf12":"\u001b[24~","kich":"\u001b[2~","kdch":"\u001b[3~","khome":"\u001b[1~","kend":"\u001b[4~","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC","kcbt":"\u001b[Z","kmous":"\u001b[M","XM":"%?%p1%{1}%=%t%'h'%Pa%e%'l'%Pa%;\u001b[?1000%ga%c\u001b[?1002%ga%c\u001b[?1003%ga%c\u001b[?1006%ga%c","acsc":"++,,--..00``aaffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u000e","rmacs":"\u000f","enacs":"\u001b(B\u001b)0","_setfgbg":"\u001b[%?%p1%{8}%\u003c%t3%p1%d%e%p1%{16}%\u003c%t9%p1%{8}%-%d%e38;5;%p1%d%;;%?%p2%{8}%\u003c%t4%p2%d%e%p2%{16}%\u003c%t10%p2%{8}%-%d%e48;5;%p2%d%;m"} -{"name":"screen-256color-bce-s","cols":80,"lines":24,"colors":256,"bell":"\u0007","clear":"\u001b[H\u001b[J","smcup":"\u001b[?1049h","rmcup":"\u001b[?1049l","cnorm":"\u001b[34h\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b[m\u000f","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","setaf":"\u001b[%?%p1%{8}%\u003c%t3%p1%d%e%p1%{16}%\u003c%t9%p1%{8}%-%d%e38;5;%p1%d%;m","setbg":"\u001b[%?%p1%{8}%\u003c%t4%p1%d%e%p1%{16}%\u003c%t10%p1%{8}%-%d%e48;5;%p1%d%;m","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001bM","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kf5":"\u001b[15~","kf6":"\u001b[17~","kf7":"\u001b[18~","kf8":"\u001b[19~","kf9":"\u001b[20~","kf10":"\u001b[21~","kf11":"\u001b[23~","kf12":"\u001b[24~","kich":"\u001b[2~","kdch":"\u001b[3~","khome":"\u001b[1~","kend":"\u001b[4~","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC","kcbt":"\u001b[Z","kmous":"\u001b[M","XM":"%?%p1%{1}%=%t%'h'%Pa%e%'l'%Pa%;\u001b[?1000%ga%c\u001b[?1002%ga%c\u001b[?1003%ga%c\u001b[?1006%ga%c","acsc":"++,,--..00``aaffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u000e","rmacs":"\u000f","enacs":"\u001b(B\u001b)0","_setfgbg":"\u001b[%?%p1%{8}%\u003c%t3%p1%d%e%p1%{16}%\u003c%t9%p1%{8}%-%d%e38;5;%p1%d%;;%?%p2%{8}%\u003c%t4%p2%d%e%p2%{16}%\u003c%t10%p2%{8}%-%d%e48;5;%p2%d%;m"} -{"name":"screen-256color-s","cols":80,"lines":24,"colors":256,"bell":"\u0007","clear":"\u001b[H\u001b[J","smcup":"\u001b[?1049h","rmcup":"\u001b[?1049l","cnorm":"\u001b[34h\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b[m\u000f","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","setaf":"\u001b[%?%p1%{8}%\u003c%t3%p1%d%e%p1%{16}%\u003c%t9%p1%{8}%-%d%e38;5;%p1%d%;m","setbg":"\u001b[%?%p1%{8}%\u003c%t4%p1%d%e%p1%{16}%\u003c%t10%p1%{8}%-%d%e48;5;%p1%d%;m","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001bM","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kf5":"\u001b[15~","kf6":"\u001b[17~","kf7":"\u001b[18~","kf8":"\u001b[19~","kf9":"\u001b[20~","kf10":"\u001b[21~","kf11":"\u001b[23~","kf12":"\u001b[24~","kich":"\u001b[2~","kdch":"\u001b[3~","khome":"\u001b[1~","kend":"\u001b[4~","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC","kcbt":"\u001b[Z","kmous":"\u001b[M","XM":"%?%p1%{1}%=%t%'h'%Pa%e%'l'%Pa%;\u001b[?1000%ga%c\u001b[?1002%ga%c\u001b[?1003%ga%c\u001b[?1006%ga%c","acsc":"++,,--..00``aaffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u000e","rmacs":"\u000f","enacs":"\u001b(B\u001b)0","_setfgbg":"\u001b[%?%p1%{8}%\u003c%t3%p1%d%e%p1%{16}%\u003c%t9%p1%{8}%-%d%e38;5;%p1%d%;;%?%p2%{8}%\u003c%t4%p2%d%e%p2%{16}%\u003c%t10%p2%{8}%-%d%e48;5;%p2%d%;m"} -{"name":"screen-bce","cols":80,"lines":24,"colors":8,"bell":"\u0007","clear":"\u001b[H\u001b[J","smcup":"\u001b[?1049h","rmcup":"\u001b[?1049l","cnorm":"\u001b[34h\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b[m\u000f","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","setaf":"\u001b[3%p1%dm","setbg":"\u001b[4%p1%dm","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001bM","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kf5":"\u001b[15~","kf6":"\u001b[17~","kf7":"\u001b[18~","kf8":"\u001b[19~","kf9":"\u001b[20~","kf10":"\u001b[21~","kf11":"\u001b[23~","kf12":"\u001b[24~","kich":"\u001b[2~","kdch":"\u001b[3~","khome":"\u001b[1~","kend":"\u001b[4~","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC","kcbt":"\u001b[Z","kmous":"\u001b[M","XM":"%?%p1%{1}%=%t%'h'%Pa%e%'l'%Pa%;\u001b[?1000%ga%c\u001b[?1002%ga%c\u001b[?1003%ga%c\u001b[?1006%ga%c","acsc":"++,,--..00``aaffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u000e","rmacs":"\u000f","enacs":"\u001b(B\u001b)0","_setfgbg":"\u001b[3%p1%d;4%p2%dm"} -{"name":"screen-s","cols":80,"lines":24,"colors":8,"bell":"\u0007","clear":"\u001b[H\u001b[J","smcup":"\u001b[?1049h","rmcup":"\u001b[?1049l","cnorm":"\u001b[34h\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b[m\u000f","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","setaf":"\u001b[3%p1%dm","setbg":"\u001b[4%p1%dm","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001bM","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kf5":"\u001b[15~","kf6":"\u001b[17~","kf7":"\u001b[18~","kf8":"\u001b[19~","kf9":"\u001b[20~","kf10":"\u001b[21~","kf11":"\u001b[23~","kf12":"\u001b[24~","kich":"\u001b[2~","kdch":"\u001b[3~","khome":"\u001b[1~","kend":"\u001b[4~","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC","kcbt":"\u001b[Z","kmous":"\u001b[M","XM":"%?%p1%{1}%=%t%'h'%Pa%e%'l'%Pa%;\u001b[?1000%ga%c\u001b[?1002%ga%c\u001b[?1003%ga%c\u001b[?1006%ga%c","acsc":"++,,--..00``aaffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u000e","rmacs":"\u000f","enacs":"\u001b(B\u001b)0","_setfgbg":"\u001b[3%p1%d;4%p2%dm"} -{"name":"screen-w","cols":132,"lines":24,"colors":8,"bell":"\u0007","clear":"\u001b[H\u001b[J","smcup":"\u001b[?1049h","rmcup":"\u001b[?1049l","cnorm":"\u001b[34h\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b[m\u000f","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","setaf":"\u001b[3%p1%dm","setbg":"\u001b[4%p1%dm","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001bM","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kf5":"\u001b[15~","kf6":"\u001b[17~","kf7":"\u001b[18~","kf8":"\u001b[19~","kf9":"\u001b[20~","kf10":"\u001b[21~","kf11":"\u001b[23~","kf12":"\u001b[24~","kich":"\u001b[2~","kdch":"\u001b[3~","khome":"\u001b[1~","kend":"\u001b[4~","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC","kcbt":"\u001b[Z","kmous":"\u001b[M","XM":"%?%p1%{1}%=%t%'h'%Pa%e%'l'%Pa%;\u001b[?1000%ga%c\u001b[?1002%ga%c\u001b[?1003%ga%c\u001b[?1006%ga%c","acsc":"++,,--..00``aaffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u000e","rmacs":"\u000f","enacs":"\u001b(B\u001b)0","_setfgbg":"\u001b[3%p1%d;4%p2%dm"} -{"name":"screen.linux","cols":80,"lines":24,"colors":8,"bell":"\u0007","clear":"\u001b[H\u001b[J","smcup":"\u001b[?1049h","rmcup":"\u001b[?1049l","cnorm":"\u001b[34h\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b[m\u000f","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","setaf":"\u001b[3%p1%dm","setbg":"\u001b[4%p1%dm","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001bM","pad":"\u0000","kbs":"","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kf5":"\u001b[15~","kf6":"\u001b[17~","kf7":"\u001b[18~","kf8":"\u001b[19~","kf9":"\u001b[20~","kf10":"\u001b[21~","kf11":"\u001b[23~","kf12":"\u001b[24~","kich":"\u001b[2~","kdch":"\u001b[3~","khome":"\u001b[1~","kend":"\u001b[4~","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC","kmous":"\u001b[M","XM":"%?%p1%{1}%=%t%'h'%Pa%e%'l'%Pa%;\u001b[?1000%ga%c\u001b[?1002%ga%c\u001b[?1003%ga%c\u001b[?1006%ga%c","acsc":"++,,--..00``aaffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u000e","rmacs":"\u000f","enacs":"\u001b(B\u001b)0","_setfgbg":"\u001b[3%p1%d;4%p2%dm"} -{"name":"screen.mlterm","cols":80,"lines":24,"colors":8,"bell":"\u0007","clear":"\u001b[H\u001b[2J","smcup":"\u001b[?1049h","rmcup":"\u001b[?1049l","cnorm":"\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b[m\u001b(B","smul":"\u001b[4m","bold":"\u001b[1m","rev":"\u001b[7m","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","setaf":"\u001b[3%p1%dm","setbg":"\u001b[4%p1%dm","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","kbs":"","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kf5":"\u001b[15~","kf6":"\u001b[17~","kf7":"\u001b[18~","kf8":"\u001b[19~","kf9":"\u001b[20~","kf10":"\u001b[21~","kf11":"\u001b[23~","kf12":"\u001b[24~","kf13":"\u001b[11;2~","kf14":"\u001b[12;2~","kf15":"\u001b[13;2~","kf16":"\u001b[14;2~","kf17":"\u001b[15;2~","kf18":"\u001b[17;2~","kf19":"\u001b[18;2~","kf20":"\u001b[19;2~","kf21":"\u001b[20;2~","kf22":"\u001b[21;2~","kf23":"\u001b[23;2~","kf24":"\u001b[24;2~","kf25":"\u001b[11;5~","kf26":"\u001b[12;5~","kf27":"\u001b[13;5~","kf28":"\u001b[14;5~","kf29":"\u001b[15;5~","kf30":"\u001b[17;5~","kf31":"\u001b[18;5~","kf32":"\u001b[19;5~","kf33":"\u001b[20;5~","kf34":"\u001b[21;5~","kf35":"\u001b[23;5~","kf36":"\u001b[24;5~","kf37":"\u001b[11;6~","kf38":"\u001b[12;6~","kf39":"\u001b[13;6~","kf40":"\u001b[14;6~","kf41":"\u001b[15;6~","kf42":"\u001b[17;6~","kf43":"\u001b[18;6~","kf44":"\u001b[19;6~","kf45":"\u001b[20;6~","kf46":"\u001b[21;6~","kf47":"\u001b[23;6~","kf48":"\u001b[24;6~","kf49":"\u001b[11;3~","kf50":"\u001b[12;3~","kf51":"\u001b[13;3~","kf52":"\u001b[14;3~","kf53":"\u001b[15;3~","kf54":"\u001b[17;3~","kf55":"\u001b[18;3~","kf56":"\u001b[19;3~","kf57":"\u001b[20;3~","kf58":"\u001b[21;3~","kf59":"\u001b[23;3~","kf60":"\u001b[24;3~","kf61":"\u001b[11;4~","kf62":"\u001b[12;4~","kf63":"\u001b[13;4~","kich":"\u001b[2~","kdch":"\u001b[3~","khome":"\u001b[1~","kend":"\u001b[4~","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC","kcbt":"\u001b[Z","kmous":"\u001b[M","XM":"%?%p1%{1}%=%t%'h'%Pa%e%'l'%Pa%;\u001b[?1000%ga%c\u001b[?1002%ga%c\u001b[?1003%ga%c\u001b[?1006%ga%c","acsc":"00``aaffgghhjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u001b(0","rmacs":"\u001b(B","kRIT":"\u001bO1;2C","kLFT":"\u001bO1;2D","_setfgbg":"\u001b[3%p1%d;4%p2%dm"} -{"name":"screen.rxvt","cols":80,"lines":24,"colors":8,"bell":"\u0007","clear":"\u001b[H\u001b[J","smcup":"\u001b[?1049h","rmcup":"\u001b[?1049l","cnorm":"\u001b[34h\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b[m\u000f","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","setaf":"\u001b[3%p1%dm","setbg":"\u001b[4%p1%dm","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001bM","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kf5":"\u001b[15~","kf6":"\u001b[17~","kf7":"\u001b[18~","kf8":"\u001b[19~","kf9":"\u001b[20~","kf10":"\u001b[21~","kf11":"\u001b[23~","kf12":"\u001b[24~","kf13":"\u001b[25~","kf14":"\u001b[26~","kf15":"\u001b[28~","kf16":"\u001b[29~","kf17":"\u001b[31~","kf18":"\u001b[32~","kf19":"\u001b[33~","kf20":"\u001b[34~","kf21":"\u001b[23$","kf22":"\u001b[24$","kf23":"\u001b[11^","kf24":"\u001b[12^","kf25":"\u001b[13^","kf26":"\u001b[14^","kf27":"\u001b[15^","kf28":"\u001b[17^","kf29":"\u001b[18^","kf30":"\u001b[19^","kf31":"\u001b[20^","kf32":"\u001b[21^","kf33":"\u001b[23^","kf34":"\u001b[24^","kf35":"\u001b[25^","kf36":"\u001b[26^","kf37":"\u001b[28^","kf38":"\u001b[29^","kf39":"\u001b[31^","kf40":"\u001b[32^","kf41":"\u001b[33^","kf42":"\u001b[34^","kf43":"\u001b[23@","kf44":"\u001b[24@","kich":"\u001b[2~","kdch":"\u001b[3~","khome":"\u001b[1~","kend":"\u001b[4~","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC","kcbt":"\u001b[Z","kmous":"\u001b[M","XM":"%?%p1%{1}%=%t%'h'%Pa%e%'l'%Pa%;\u001b[?1000%ga%c\u001b[?1002%ga%c\u001b[?1003%ga%c\u001b[?1006%ga%c","acsc":"++,,--..00``aaffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u000e","rmacs":"\u000f","enacs":"\u001b(B\u001b)0","kRIT":"\u001b[c","kLFT":"\u001b[d","kHOM":"\u001b[7$","kEND":"\u001b[8$","_setfgbg":"\u001b[3%p1%d;4%p2%dm","_kscu1":"\u001b[a","_kscud1":"\u001b[b","_kccu1":"\u001b[Oa","_kccud1":"\u001b[Ob","_kccuf1":"\u001b[Oc","_kccub1":"\u001b[Od","_kchome":"\u001b[7^","_kcend":"\u001b[8^"} -{"name":"screen.teraterm","cols":80,"lines":24,"colors":8,"bell":"\u0007","clear":"\u001b[H\u001b[J","smcup":"\u001b[?1049h","rmcup":"\u001b[?1049l","cnorm":"\u001b[34h\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b[m\u000f","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","setaf":"\u001b[3%p1%dm","setbg":"\u001b[4%p1%dm","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001bM","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kf5":"\u001b[15~","kf6":"\u001b[17~","kf7":"\u001b[18~","kf8":"\u001b[19~","kf9":"\u001b[20~","kf10":"\u001b[21~","kf11":"\u001b[23~","kf12":"\u001b[24~","kich":"\u001b[2~","kdch":"\u001b[3~","khome":"\u001b[1~","kend":"\u001b[4~","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC","kcbt":"\u001b[Z","kmous":"\u001b[M","XM":"%?%p1%{1}%=%t%'h'%Pa%e%'l'%Pa%;\u001b[?1000%ga%c\u001b[?1002%ga%c\u001b[?1003%ga%c\u001b[?1006%ga%c","acsc":"+\u0010,\u0011-\u0018.\u00190\ufffd`\u0004a\ufffdf\ufffdg\ufffdh\ufffdi\ufffdj\ufffdk\ufffdl\ufffdm\ufffdn\ufffdo~p\ufffdq\ufffdr\ufffds_t\ufffdu\ufffdv\ufffdw\ufffdx\ufffdy\ufffdz\ufffd{\ufffd|\ufffd}\ufffd~\ufffd","smacs":"\u000e","rmacs":"\u000f","enacs":"\u001b(B\u001b)0","_setfgbg":"\u001b[3%p1%d;4%p2%dm"} -{"name":"screen.xterm-r6","cols":80,"lines":24,"bell":"\u0007","clear":"\u001b[H\u001b[2J","smcup":"\u001b7\u001b[?47h","rmcup":"\u001b[2J\u001b[?47l\u001b8","sgr0":"\u001b[m","smul":"\u001b[4m","bold":"\u001b[1m","rev":"\u001b[7m","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kf5":"\u001b[15~","kf6":"\u001b[17~","kf7":"\u001b[18~","kf8":"\u001b[19~","kf9":"\u001b[20~","kf10":"\u001b[21~","kf11":"\u001b[23~","kf12":"\u001b[24~","kf13":"\u001b[25~","kf14":"\u001b[26~","kf15":"\u001b[28~","kf16":"\u001b[29~","kf17":"\u001b[31~","kf18":"\u001b[32~","kf19":"\u001b[33~","kf20":"\u001b[34~","kich":"\u001b[2~","kdch":"\u001b[3~","khome":"\u001b[1~","kend":"\u001b[4~","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC","kmous":"\u001b[M","XM":"%?%p1%{1}%=%t%'h'%Pa%e%'l'%Pa%;\u001b[?1000%ga%c\u001b[?1002%ga%c\u001b[?1003%ga%c\u001b[?1006%ga%c","acsc":"``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u000e","rmacs":"\u000f","enacs":"\u001b)0"} -{"name":"screen.xterm-xfree86","aliases":["screen.xterm-new"],"cols":80,"lines":24,"colors":8,"bell":"\u0007","clear":"\u001b[H\u001b[2J","smcup":"\u001b[?1049h","rmcup":"\u001b[?1049l","cnorm":"\u001b[?12l\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b(B\u001b[m","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","setaf":"\u001b[3%p1%dm","setbg":"\u001b[4%p1%dm","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","kbs":"\u0008","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kf5":"\u001b[15~","kf6":"\u001b[17~","kf7":"\u001b[18~","kf8":"\u001b[19~","kf9":"\u001b[20~","kf10":"\u001b[21~","kf11":"\u001b[23~","kf12":"\u001b[24~","kf13":"\u001b[1;2P","kf14":"\u001b[1;2Q","kf15":"\u001b[1;2R","kf16":"\u001b[1;2S","kf17":"\u001b[15;2~","kf18":"\u001b[17;2~","kf19":"\u001b[18;2~","kf20":"\u001b[19;2~","kf21":"\u001b[20;2~","kf22":"\u001b[21;2~","kf23":"\u001b[23;2~","kf24":"\u001b[24;2~","kf25":"\u001b[1;5P","kf26":"\u001b[1;5Q","kf27":"\u001b[1;5R","kf28":"\u001b[1;5S","kf29":"\u001b[15;5~","kf30":"\u001b[17;5~","kf31":"\u001b[18;5~","kf32":"\u001b[19;5~","kf33":"\u001b[20;5~","kf34":"\u001b[21;5~","kf35":"\u001b[23;5~","kf36":"\u001b[24;5~","kf37":"\u001b[1;6P","kf38":"\u001b[1;6Q","kf39":"\u001b[1;6R","kf40":"\u001b[1;6S","kf41":"\u001b[15;6~","kf42":"\u001b[17;6~","kf43":"\u001b[18;6~","kf44":"\u001b[19;6~","kf45":"\u001b[20;6~","kf46":"\u001b[21;6~","kf47":"\u001b[23;6~","kf48":"\u001b[24;6~","kf49":"\u001b[1;3P","kf50":"\u001b[1;3Q","kf51":"\u001b[1;3R","kf52":"\u001b[1;3S","kf53":"\u001b[15;3~","kf54":"\u001b[17;3~","kf55":"\u001b[18;3~","kf56":"\u001b[19;3~","kf57":"\u001b[20;3~","kf58":"\u001b[21;3~","kf59":"\u001b[23;3~","kf60":"\u001b[24;3~","kf61":"\u001b[1;4P","kf62":"\u001b[1;4Q","kf63":"\u001b[1;4R","kich":"\u001b[2~","kdch":"\u001b[3~","khome":"\u001b[1~","kend":"\u001b[4~","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC","kcbt":"\u001b[Z","kmous":"\u001b[M","XM":"%?%p1%{1}%=%t%'h'%Pa%e%'l'%Pa%;\u001b[?1000%ga%c\u001b[?1002%ga%c\u001b[?1003%ga%c\u001b[?1006%ga%c","acsc":"``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u001b(0","rmacs":"\u001b(B","kRIT":"\u001b[1;2C","kLFT":"\u001b[1;2D","kHOM":"\u001b[1;2H","kEND":"\u001b[1;2F","_setfgbg":"\u001b[3%p1%d;4%p2%dm","_kscu1":"\u001b[1;2A","_kscud1":"\u001b[1;2B","_kccu1":"\u001b[1;5A","_kccud1":"\u001b[1;5B","_kccuf1":"\u001b[1;5C","_kccub1":"\u001b[1;5D","_kmcu1":"\u001b[1;9A","_kmcud1":"\u001b[1;9B","_kmcuf1":"\u001b[1;9C","_kmcub1":"\u001b[1;9D","_kacu1":"\u001b[1;3A","_kacud1":"\u001b[1;3B","_kacuf1":"\u001b[1;3C","_kacub1":"\u001b[1;3D","_kchome":"\u001b[1;5H","_kcend":"\u001b[1;5F","_kahome":"\u001b[1;9H","_kaend":"\u001b[1;9F","_kascu1":"\u001b[1;4A","_kascud1":"\u001b[1;4B","_kascub1":"\u001b[1;4D","_kascuf1":"\u001b[1;4C","_kmscu1":"\u001b[1;10A","_kmscud1":"\u001b[1;10B","_kmscub1":"\u001b[1;10D","_kmscuf1":"\u001b[1;10C","_kcscu1":"\u001b[1;6A","_kcscud1":"\u001b[1;6B","_kcscub1":"\u001b[1;6D","_kcscuf1":"\u001b[1;6C","_kcHOME":"\u001b[1;6H","_kcEND":"\u001b[1;6F","_kaHOME":"\u001b[1;4H","_kaEND":"\u001b[1;4F","_kmHOME":"\u001b[1;10H","_kmEND":"\u001b[1;10F"} -{"name":"screen2","cols":80,"lines":24,"clear":"\u001b[2J\u001b[H","sgr0":"\u001b[m","smul":"\u001b[4m","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001bS","kf2":"\u001bT","kf3":"\u001bU","kf4":"\u001bV","kf5":"\u001bW","kf6":"\u001bP","kf7":"\u001bQ","kf8":"\u001bR","kf9":"\u001b0I","khome":"\u001bH","kcuu1":"\u001bA","kcud1":"\u001bB","kcub1":"\u001bD","kcuf1":"\u001bC"} -{"name":"screen3","cols":80,"lines":24,"bell":"\u0007","clear":"\u001b[H\u001b[J","sgr0":"\u001b[m","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","smkx":"\u001b=","rmkx":"\u001b\u003e","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001bM","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC"} -{"name":"screwpoint","cols":80,"lines":24,"bell":"\u0007","clear":"\u000c","cnorm":"\u000f\u001b0`","sgr0":"\u000f","cup":"\u001bY%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u001a","pad":"\u0000","kf2":"\u00022","kf3":"\u0002!","kf4":"\u0002\"","kf5":"\u0002#","khome":"\u0001","kcuu1":"\u001a","kcud1":"\n","kcub1":"\u0015","kcuf1":"\u0006"} -{"name":"scrhp","cols":80,"lines":24,"bell":"\u0007","clear":"\u001b\u0026a0c0Y\u001bJ$\u003c40\u003e","sgr0":"\u001b\u0026d@\u000f","smul":"\u001b\u0026dD","bold":"\u001b\u0026dF","blink":"\u001b\u0026dA","rev":"\u001b\u0026dB","dim":"\u001b\u0026dH","smkx":"\u001b\u0026s1A","rmkx":"\u001b\u0026s0A","cup":"\u001b\u0026a%p1%dy%p2%dC$\u003c10\u003e","cub1":"\u0008","cuu1":"\u001bA","pad":"\u0000","kbs":"\u0008","kf1":"\u001bp","kf2":"\u001bq","kf3":"\u001br","kf4":"\u001bs","kf5":"\u001bt","kf6":"\u001bu","kf7":"\u001bv","kf8":"\u001bw","kich":"\u001bQ","kdch":"\u001bP","khome":"\u001bh","kpp":"\u001bV","knp":"\u001bU","kcuu1":"\u001bA","kcud1":"\u001bB","kcub1":"\u001bD","kcuf1":"\u001bC","kcbt":"\u001bi","kclr":"\u001bJ","acsc":"2[3@4\u003e5I9(:'JSKWLQMAO#P$Q;R!S\"T1U2V4W3X:Y+Z*dHjGkTlRmFn/q,t5u6v8w7x.","smacs":"\u000e","rmacs":"\u000f"} -{"name":"sibo","cols":61,"lines":20,"bell":"\u0007","clear":"\u001bH\u001bJ","cup":"\u001bY%p1%' '%+%c%p2%' '%+%c","cub1":"\u001bD","cuu1":"\u001bA","pad":"\u0000","kbs":"\u0008","kcud1":"\n","kcub1":"\u0008"} -{"name":"simterm","cols":80,"lines":24,"bell":"\u0007","clear":"\u001bH\u001bJ","smcup":"\u001bVS","rmcup":"\u001bVE","sgr0":"\u001b\u0026d@","cup":"\u001b=%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u001bA","pad":"\u0000"} -{"name":"soroc120","aliases":["iq120","soroc"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u001b*$\u003c2\u003e","cup":"\u001b=%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u000b","pad":"\u0000","kcuu1":"\u000b","kcud1":"\n","kcub1":"\u0008","kcuf1":"\u000c"} -{"name":"soroc140","aliases":["iq140"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u001b+","smul":"\u001b\u0001","cup":"\u001b=%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u000b","pad":"\u0000","kbs":"\u0008","kf1":"\u0001@\r","kf2":"\u0001A\r","kf3":"\u0001B\r","kf4":"\u0001C\r","kf5":"\u0001D\r","kf6":"\u0001E\r","kf7":"\u0001F\r","kf8":"\u0001G\r","kf9":"\u0001H\r","khome":"\u001e","kcuu1":"\u000b","kcuf1":"\u000c"} -{"name":"st52","cols":80,"lines":25,"bell":"\u0007","clear":"\u001bH\u001bJ","smcup":"\u001be","cnorm":"\u001be","civis":"\u001bf","sgr0":"\u001bq","cup":"\u001bY%p1%' '%+%c%p2%' '%+%c","cub1":"\u001bD","cuu1":"\u001bA","pad":"\u0000","kbs":"\u0008","kf1":"\u001b#;","kf2":"\u001b#\u003c","kf3":"\u001b#=","kf4":"\u001b#\u003e","kf5":"\u001b#?","kf6":"\u001b#@","kf7":"\u001b#A","kf8":"\u001b#B","kf9":"\u001b#C","khome":"\u001b#G","kcuu1":"\u001b#H","kcud1":"\u001b#P","kcub1":"\u001b#K","kcuf1":"\u001b#M","kclr":"\u001b#7"} -{"name":"sun","aliases":["sun1","sun2"],"cols":80,"lines":34,"bell":"\u0007","clear":"\u000c","sgr0":"\u001b[m","rev":"\u001b[7m","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001b[224z","kf2":"\u001b[225z","kf3":"\u001b[226z","kf4":"\u001b[227z","kf5":"\u001b[228z","kf6":"\u001b[229z","kf7":"\u001b[230z","kf8":"\u001b[231z","kf9":"\u001b[232z","kf10":"\u001b[233z","kf11":"\u001b[234z","kf12":"\u001b[235z","kdch":"","khome":"\u001b[214z","kend":"\u001b[220z","kpp":"\u001b[216z","knp":"\u001b[222z","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C"} -{"name":"sun-1","cols":80,"lines":1,"bell":"\u0007","clear":"\u000c","sgr0":"\u001b[m","rev":"\u001b[7m","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001b[224z","kf2":"\u001b[225z","kf3":"\u001b[226z","kf4":"\u001b[227z","kf5":"\u001b[228z","kf6":"\u001b[229z","kf7":"\u001b[230z","kf8":"\u001b[231z","kf9":"\u001b[232z","kf10":"\u001b[233z","kf11":"\u001b[234z","kf12":"\u001b[235z","kdch":"","khome":"\u001b[214z","kend":"\u001b[220z","kpp":"\u001b[216z","knp":"\u001b[222z","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C"} -{"name":"sun-12","cols":80,"lines":12,"bell":"\u0007","clear":"\u000c","sgr0":"\u001b[m","rev":"\u001b[7m","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001b[224z","kf2":"\u001b[225z","kf3":"\u001b[226z","kf4":"\u001b[227z","kf5":"\u001b[228z","kf6":"\u001b[229z","kf7":"\u001b[230z","kf8":"\u001b[231z","kf9":"\u001b[232z","kf10":"\u001b[233z","kf11":"\u001b[234z","kf12":"\u001b[235z","kdch":"","khome":"\u001b[214z","kend":"\u001b[220z","kpp":"\u001b[216z","knp":"\u001b[222z","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C"} -{"name":"sun-17","cols":80,"lines":17,"bell":"\u0007","clear":"\u000c","sgr0":"\u001b[m","rev":"\u001b[7m","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001b[224z","kf2":"\u001b[225z","kf3":"\u001b[226z","kf4":"\u001b[227z","kf5":"\u001b[228z","kf6":"\u001b[229z","kf7":"\u001b[230z","kf8":"\u001b[231z","kf9":"\u001b[232z","kf10":"\u001b[233z","kf11":"\u001b[234z","kf12":"\u001b[235z","kdch":"","khome":"\u001b[214z","kend":"\u001b[220z","kpp":"\u001b[216z","knp":"\u001b[222z","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C"} -{"name":"sun-24","cols":80,"lines":24,"bell":"\u0007","clear":"\u000c","sgr0":"\u001b[m","rev":"\u001b[7m","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001b[224z","kf2":"\u001b[225z","kf3":"\u001b[226z","kf4":"\u001b[227z","kf5":"\u001b[228z","kf6":"\u001b[229z","kf7":"\u001b[230z","kf8":"\u001b[231z","kf9":"\u001b[232z","kf10":"\u001b[233z","kf11":"\u001b[234z","kf12":"\u001b[235z","kdch":"","khome":"\u001b[214z","kend":"\u001b[220z","kpp":"\u001b[216z","knp":"\u001b[222z","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C"} -{"name":"sun-34","cols":80,"lines":34,"bell":"\u0007","clear":"\u000c","sgr0":"\u001b[m","rev":"\u001b[7m","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001b[224z","kf2":"\u001b[225z","kf3":"\u001b[226z","kf4":"\u001b[227z","kf5":"\u001b[228z","kf6":"\u001b[229z","kf7":"\u001b[230z","kf8":"\u001b[231z","kf9":"\u001b[232z","kf10":"\u001b[233z","kf11":"\u001b[234z","kf12":"\u001b[235z","kdch":"","khome":"\u001b[214z","kend":"\u001b[220z","kpp":"\u001b[216z","knp":"\u001b[222z","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C"} -{"name":"sun-48","cols":80,"lines":48,"bell":"\u0007","clear":"\u000c","sgr0":"\u001b[m","rev":"\u001b[7m","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001b[224z","kf2":"\u001b[225z","kf3":"\u001b[226z","kf4":"\u001b[227z","kf5":"\u001b[228z","kf6":"\u001b[229z","kf7":"\u001b[230z","kf8":"\u001b[231z","kf9":"\u001b[232z","kf10":"\u001b[233z","kf11":"\u001b[234z","kf12":"\u001b[235z","kdch":"","khome":"\u001b[214z","kend":"\u001b[220z","kpp":"\u001b[216z","knp":"\u001b[222z","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C"} -{"name":"sun-c","aliases":["sun-cmd"],"cols":80,"lines":35,"bell":"\u0007","clear":"\u000c","smcup":"\u001b[\u003e4l","rmcup":"\u001b[\u003e4h","sgr0":"\u001b[m","rev":"\u001b[7m","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001b[224z","kf2":"\u001b[225z","kf3":"\u001b[226z","kf4":"\u001b[227z","kf5":"\u001b[228z","kf6":"\u001b[229z","kf7":"\u001b[230z","kf8":"\u001b[231z","kf9":"\u001b[232z","kf10":"\u001b[233z","kf11":"\u001b[234z","kf12":"\u001b[235z","kdch":"","khome":"\u001b[214z","kend":"\u001b[220z","kpp":"\u001b[216z","knp":"\u001b[222z","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C"} -{"name":"sun-cgsix","aliases":["sun-ss5"],"cols":80,"lines":34,"bell":"\u0007","clear":"\u000c","sgr0":"\u001b[m","rev":"\u001b[7m","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001b[224z","kf2":"\u001b[225z","kf3":"\u001b[226z","kf4":"\u001b[227z","kf5":"\u001b[228z","kf6":"\u001b[229z","kf7":"\u001b[230z","kf8":"\u001b[231z","kf9":"\u001b[232z","kf10":"\u001b[233z","kf11":"\u001b[234z","kf12":"\u001b[235z","kdch":"","khome":"\u001b[214z","kend":"\u001b[220z","kpp":"\u001b[216z","knp":"\u001b[222z","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C"} -{"name":"sun-color","cols":80,"lines":34,"colors":8,"bell":"\u0007","clear":"\u000c","sgr0":"\u001b[m","rev":"\u001b[7m","setaf":"\u001b[3%p1%dm","setbg":"\u001b[4%p1%dm","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001b[224z","kf2":"\u001b[225z","kf3":"\u001b[226z","kf4":"\u001b[227z","kf5":"\u001b[228z","kf6":"\u001b[229z","kf7":"\u001b[230z","kf8":"\u001b[231z","kf9":"\u001b[232z","kf10":"\u001b[233z","kf11":"\u001b[234z","kf12":"\u001b[235z","kdch":"","khome":"\u001b[214z","kend":"\u001b[220z","kpp":"\u001b[216z","knp":"\u001b[222z","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","_setfgbg":"\u001b[3%p1%d;4%p2%dm"} -{"name":"sun-e","aliases":["sun-nic","sune"],"cols":80,"lines":34,"bell":"\u0007","clear":"\u000c","sgr0":"\u001b[m","rev":"\u001b[7m","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001b[224z","kf2":"\u001b[225z","kf3":"\u001b[226z","kf4":"\u001b[227z","kf5":"\u001b[228z","kf6":"\u001b[229z","kf7":"\u001b[230z","kf8":"\u001b[231z","kf9":"\u001b[232z","kf10":"\u001b[233z","kf11":"\u001b[234z","kf12":"\u001b[235z","kdch":"","khome":"\u001b[214z","kend":"\u001b[220z","kpp":"\u001b[216z","knp":"\u001b[222z","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C"} -{"name":"sun-e-s","aliases":["sun-s-e"],"cols":80,"lines":34,"bell":"\u0007","clear":"\u000c","sgr0":"\u001b[m","rev":"\u001b[7m","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001b[224z","kf2":"\u001b[225z","kf3":"\u001b[226z","kf4":"\u001b[227z","kf5":"\u001b[228z","kf6":"\u001b[229z","kf7":"\u001b[230z","kf8":"\u001b[231z","kf9":"\u001b[232z","kf10":"\u001b[233z","kf11":"\u001b[234z","kf12":"\u001b[235z","kdch":"","khome":"\u001b[214z","kend":"\u001b[220z","kpp":"\u001b[216z","knp":"\u001b[222z","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C"} -{"name":"sun-il","cols":80,"lines":34,"bell":"\u0007","clear":"\u000c","sgr0":"\u001b[m","rev":"\u001b[7m","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001b[224z","kf2":"\u001b[225z","kf3":"\u001b[226z","kf4":"\u001b[227z","kf5":"\u001b[228z","kf6":"\u001b[229z","kf7":"\u001b[230z","kf8":"\u001b[231z","kf9":"\u001b[232z","kf10":"\u001b[233z","kf11":"\u001b[234z","kf12":"\u001b[235z","kdch":"","khome":"\u001b[214z","kend":"\u001b[220z","kpp":"\u001b[216z","knp":"\u001b[222z","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C"} -{"name":"sun-s","cols":80,"lines":34,"bell":"\u0007","clear":"\u000c","sgr0":"\u001b[m","rev":"\u001b[7m","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001b[224z","kf2":"\u001b[225z","kf3":"\u001b[226z","kf4":"\u001b[227z","kf5":"\u001b[228z","kf6":"\u001b[229z","kf7":"\u001b[230z","kf8":"\u001b[231z","kf9":"\u001b[232z","kf10":"\u001b[233z","kf11":"\u001b[234z","kf12":"\u001b[235z","kdch":"","khome":"\u001b[214z","kend":"\u001b[220z","kpp":"\u001b[216z","knp":"\u001b[222z","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C"} -{"name":"sun-type4","cols":80,"lines":34,"bell":"\u0007","clear":"\u000c","sgr0":"\u001b[m","rev":"\u001b[7m","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001b[224z","kf2":"\u001b[225z","kf3":"\u001b[226z","kf4":"\u001b[227z","kf5":"\u001b[228z","kf6":"\u001b[229z","kf7":"\u001b[230z","kf8":"\u001b[231z","kf9":"\u001b[232z","kf10":"\u001b[233z","kf11":"\u001b[234z","kf12":"\u001b[235z","kdch":"","khome":"\u001b[214z","kend":"\u001b[220z","kpp":"\u001b[216z","knp":"\u001b[222z","kcuu1":"\u001b[215z","kcud1":"\u001b[221z","kcub1":"\u001b[217z","kcuf1":"\u001b[219z"} -{"name":"superbee-xsb","cols":80,"lines":25,"clear":"\u001bH\u001bJ$\u003c3\u003e","cnorm":"\n","sgr0":"\u001b_3","cup":"\u001bF%p2%3d%p1%3d","cub1":"\u0008","cuu1":"\u001bA$\u003c3\u003e","pad":"\u0000","kf1":"\u001bp","kf2":"\u001bq","kf3":"\u001br","kf4":"\u001bs","kf5":"\u001bt","kf6":"\u001bu","kf7":"\u001bv","kf8":"\u001bw","khome":"\u001bH","kcuu1":"\u001bA","kcud1":"\u001bB","kcub1":"\u001bD","kcuf1":"\u001bC"} -{"name":"superbeeic","cols":80,"lines":25,"clear":"\u001bH\u001bJ$\u003c3\u003e","cnorm":"\n","sgr0":"\u001b_3","cup":"\u001bF%p2%3d%p1%3d","cub1":"\u0008","cuu1":"\u001bA$\u003c3\u003e","pad":"\u0000","kf1":"\u001bp","kf2":"\u001bq","kf3":"\u001br","kf4":"\u001bs","kf5":"\u001bt","kf6":"\u001bu","kf7":"\u001bv","kf8":"\u001bw","khome":"\u001bH","kcuu1":"\u001bA","kcud1":"\u001bB","kcub1":"\u001bD","kcuf1":"\u001bC"} -{"name":"superbrain","cols":80,"lines":24,"bell":"\u0007","clear":"\u000c$\u003c5*\u003e","smcup":"\u000c","rmcup":"\u000c","cup":"\u001bY%p1%' '%+%c%p2%' '%+%c$\u003c20\u003e","cub1":"\u0008","cuu1":"\u000b","pad":"\u0000","kcuu1":"\u000b","kcud1":"\n","kcub1":"\u0015","kcuf1":"\u0006"} -{"name":"swtp","aliases":["ct82"],"cols":82,"lines":20,"bell":"\u0007","clear":"\u000c","cup":"\u000b%p2%c%p1%c","cub1":"\u0004","cuu1":"\u0001","pad":"\u0000"} -{"name":"synertek","aliases":["ktm","synertek380"],"cols":80,"lines":24,"clear":"\u001a","cup":"\u001b=%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u000b","pad":"\u0000"} -{"name":"t10","cols":80,"lines":24,"clear":"\u001bj$\u003c30/\u003e","smul":"\u001bRH","cup":"\u001bY%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u001bA","pad":"\ufffd"} -{"name":"t1061","aliases":["teleray"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u000c$\u003c1\u003e","smul":"\u001bRH","cup":"\u001bY%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u001bA","pad":"\u0000","kf1":"\u001a1","kf2":"\u001a2","kf3":"\u001a3","kf4":"\u001a4","kf5":"\u001a5","kf6":"\u001a6","kf7":"\u001a7","kf8":"\u001a8"} -{"name":"t1061f","cols":80,"lines":24,"bell":"\u0007","clear":"\u000c$\u003c1\u003e","smul":"\u001bRH","cup":"\u001bY%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u001bA","pad":"\u0000","kf1":"\u001a1","kf2":"\u001a2","kf3":"\u001a3","kf4":"\u001a4","kf5":"\u001a5","kf6":"\u001a6","kf7":"\u001a7","kf8":"\u001a8"} -{"name":"t16","cols":80,"lines":24,"bell":"\u0007","clear":"\u001b[H\u001b[2J","smcup":"\u001b[U\u001b[?38l","rmcup":"\u001b[V\u001b[24;1f\u001b[?38h","sgr0":"\u001b[m","smul":"\u001b[4m","cup":"%i\u001b[%p1%d;%p2%df","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kf1":"\u001a1","kf2":"\u001a2","kf3":"\u001a3","kf4":"\u001a4","kf5":"\u001a5","kf6":"\u001a6","kf7":"\u001a7","kf8":"\u001a8","kf9":"\u001a9","kf10":"\u001a0"} -{"name":"t3800","cols":80,"lines":24,"bell":"\u0007","clear":"\u000c","cup":"\u001bY%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u000b","pad":"\u0000"} -{"name":"tab132","aliases":["tab","tab132-15"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u001b[H\u001b[J$\u003c50\u003e","sgr0":"\u001b[m\u000f$\u003c2\u003e","smul":"\u001b[4m$\u003c2\u003e","bold":"\u001b[1m$\u003c2\u003e","blink":"\u001b[5m$\u003c2\u003e","rev":"\u001b[7m$\u003c2\u003e","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A$\u003c2\u003e","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kf5":"\u001bOt","kf6":"\u001bOu","kf7":"\u001bOv","kf8":"\u001bOl","kf9":"\u001bOw","kf10":"\u001bOx","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001bOC","acsc":"``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u000e","rmacs":"\u000f","enacs":"\u001b(B\u001b)0"} -{"name":"tab132-rv","cols":80,"lines":24,"bell":"\u0007","clear":"\u001b[H\u001b[J$\u003c50\u003e","sgr0":"\u001b[m\u000f$\u003c2\u003e","smul":"\u001b[4m$\u003c2\u003e","bold":"\u001b[1m$\u003c2\u003e","blink":"\u001b[5m$\u003c2\u003e","rev":"\u001b[7m$\u003c2\u003e","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A$\u003c2\u003e","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kf5":"\u001bOt","kf6":"\u001bOu","kf7":"\u001bOv","kf8":"\u001bOl","kf9":"\u001bOw","kf10":"\u001bOx","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001bOC","acsc":"``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u000e","rmacs":"\u000f","enacs":"\u001b(B\u001b)0"} -{"name":"tab132-w","cols":132,"lines":24,"bell":"\u0007","clear":"\u001b[H\u001b[J$\u003c50\u003e","sgr0":"\u001b[m\u000f$\u003c2\u003e","smul":"\u001b[4m$\u003c2\u003e","bold":"\u001b[1m$\u003c2\u003e","blink":"\u001b[5m$\u003c2\u003e","rev":"\u001b[7m$\u003c2\u003e","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A$\u003c2\u003e","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kf5":"\u001bOt","kf6":"\u001bOu","kf7":"\u001bOv","kf8":"\u001bOl","kf9":"\u001bOw","kf10":"\u001bOx","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001bOC","acsc":"``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u000e","rmacs":"\u000f","enacs":"\u001b(B\u001b)0"} -{"name":"tab132-w-rv","cols":132,"lines":24,"bell":"\u0007","clear":"\u001b[H\u001b[J$\u003c50\u003e","sgr0":"\u001b[m\u000f$\u003c2\u003e","smul":"\u001b[4m$\u003c2\u003e","bold":"\u001b[1m$\u003c2\u003e","blink":"\u001b[5m$\u003c2\u003e","rev":"\u001b[7m$\u003c2\u003e","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A$\u003c2\u003e","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kf5":"\u001bOt","kf6":"\u001bOu","kf7":"\u001bOv","kf8":"\u001bOl","kf9":"\u001bOw","kf10":"\u001bOx","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001bOC","acsc":"``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u000e","rmacs":"\u000f","enacs":"\u001b(B\u001b)0"} -{"name":"tandem6510","cols":80,"lines":24,"bell":"\u0007","clear":"\u001a$\u003c1/\u003e","cup":"\u001b=%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u000b","pad":"\u0000","kcuu1":"\u000b","kcud1":"\n","kcub1":"\u0008","kcuf1":"\u000c"} -{"name":"tandem653","aliases":["t653x"],"cols":80,"lines":24,"clear":"\u001bI","sgr0":"\u001b6 ","smul":"\u001b60","cup":"\u0013%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u001bA","pad":"\u0000"} -{"name":"tek4023","cols":80,"lines":24,"bell":"\u0007","clear":"\u001b\u000c$\u003c4/\u003e","cup":"\u001c%p2%' '%+%c%p1%' '%+%c","cub1":"\u0008","pad":"\u0000","kbs":"\u0008"} -{"name":"tek4025-cr","cols":80,"lines":33,"clear":"\u001fera;","smcup":"\u001fwor 33h","rmcup":"\u001fwor 0","cup":"\u001fjum%i%p1%d,%p2%d;","cub1":"\u0008","cuu1":"\u000b","pad":"\u0000"} -{"name":"tek4105","cols":79,"lines":29,"bell":"\u0007","clear":"\u001b[2J\u001b[H","smcup":"\u001b%!1\u001b[?6l\u001b[2J","sgr0":"\u001b[=0;\u003c1m","smul":"\u001b[=5;\u003c2m","bold":"\u001b[=7;\u003c4m","blink":"\u001b[=3;\u003c7m","rev":"\u001b[=1;\u003c3m","dim":"\u001b[=1;\u003c6m","cup":"\u001b[%i%p1%2d;%p2%2dH","cuu1":"\u001b[1A","pad":"\u0000","kbs":"\u0008","kcuu1":"\u001b[1A","kcud1":"\u001b[1B","kcub1":"\u001b[1D","kcuf1":"\u001b[1C","smacs":"\u001b[1m","rmacs":"\u001b[m"} -{"name":"tek4105-30","cols":80,"lines":30,"bell":"\u0007","clear":"\u001b[H\u001b[J$\u003c50\u003e","sgr0":"\u001b[m\u000f$\u003c2\u003e","smul":"\u001b[4m$\u003c2\u003e","bold":"\u001b[1m$\u003c2\u003e","blink":"\u001b[5m$\u003c2\u003e","rev":"\u001b[7m$\u003c2\u003e","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","cup":"\u001b[%i%p1%d;%p2%dH$\u003c5\u003e","cub1":"\u0008","cuu1":"\u001b[A$\u003c2\u003e","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kf5":"\u001bOt","kf6":"\u001bOu","kf7":"\u001bOv","kf8":"\u001bOl","kf9":"\u001bOw","kf10":"\u001bOx","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC","acsc":"``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u000e","rmacs":"\u000f","enacs":"\u001b(B\u001b)0"} -{"name":"tek4105a","cols":80,"lines":30,"bell":"\u0007","clear":"\u001b[H\u001b[J","smcup":"\u001b[?6l","rmcup":"\u001b%!0\u001bLBH=\u001b%!1","cnorm":"\u001b%!0\u001bTD10\u001b%!1","civis":"\u001b%!0\u001bTD00\u001b%!1","sgr0":"\u001b[m","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001bM","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOB","kf2":"\u001bOC","kf3":"\u001bOD","kf4":"\u001bOP","kf5":"\u001bOQ","kf6":"\u001bOR","kf7":"\u001bOS","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC","smacs":"\u000e","rmacs":"\u000f"} -{"name":"tek4106brl","aliases":["tek4107brl","tek4109brl"],"cols":80,"lines":32,"bell":"\u0007","clear":"\u001b[H\u001b[J","smcup":"\u001b[?6l","rmcup":"\u001b%!0\u001bLBH=\u001b%!1","cnorm":"\u001b%!0\u001bTD10\u001b%!1","civis":"\u001b%!0\u001bTD00\u001b%!1","sgr0":"\u001b[m","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001bM","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOB","kf2":"\u001bOC","kf3":"\u001bOD","kf4":"\u001bOP","kf5":"\u001bOQ","kf6":"\u001bOR","kf7":"\u001bOS","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC","smacs":"\u000e","rmacs":"\u000f"} -{"name":"tek4107","aliases":["tek4109"],"cols":79,"lines":29,"bell":"\u0007","clear":"\u001bLZ","cnorm":"\u001b%!0","sgr0":"\u001b%!1\u001b[m$\u003c2\u003e\u001b%!0","smul":"\u001b%!1\u001b[4m$\u003c2\u003e\u001b%!0","bold":"\u001b%!1\u001b[1m$\u003c2\u003e\u001b%!0","blink":"\u001b%!1\u001b[5m$\u003c2\u003e\u001b%!0","rev":"\u001b%!1\u001b[7m$\u003c2\u003e\u001b%0","dim":"\u001b%!1\u001b[\u003c0m$\u003c2\u003e\u001b%!0","cup":"\u001bY%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u001bA","pad":"\u0000","kbs":"\u0008","kcuu1":"\u001bA","kcud1":"\u001bB","kcub1":"\u001bD","kcuf1":"\u001bC"} -{"name":"tek4112","aliases":["tek4114"],"cols":80,"lines":34,"clear":"\u001b[2J\u001b[0;0H","sgr0":"\u001b[m","smul":"\u001b[4m","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001bM","pad":"\u0000"} -{"name":"tek4112-5","cols":80,"lines":5,"clear":"\u001b[2J\u001b[0;0H","sgr0":"\u001b[m","smul":"\u001b[4m","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001bM","pad":"\u0000"} -{"name":"tek4112-nd","cols":80,"lines":34,"clear":"\u001b[2J\u001b[0;0H","sgr0":"\u001b[m","smul":"\u001b[4m","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u000b","pad":"\u0000"} -{"name":"tek4115","cols":80,"lines":34,"bell":"\u0007","clear":"\u001b[H\u001b[J","sgr0":"\u001b[m","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","khome":"\u001b[H","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C"} -{"name":"tek4125","cols":80,"lines":34,"bell":"\u0007","clear":"\u001b[H\u001b[J$\u003c50\u003e","sgr0":"\u001b[m\u000f$\u003c2\u003e","smul":"\u001b[4m$\u003c2\u003e","bold":"\u001b[1m$\u003c2\u003e","blink":"\u001b[5m$\u003c2\u003e","rev":"\u001b[7m$\u003c2\u003e","smkx":"\u001b=","rmkx":"\u001b[?1l\u001b\u003e","cup":"\u001b[%i%p1%d;%p2%dH$\u003c5\u003e","cub1":"\u0008","cuu1":"\u001b[A$\u003c2\u003e","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kf5":"\u001bOt","kf6":"\u001bOu","kf7":"\u001bOv","kf8":"\u001bOl","kf9":"\u001bOw","kf10":"\u001bOx","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC","acsc":"``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u000e","rmacs":"\u000f","enacs":"\u001b(B\u001b)0"} -{"name":"tek4205","cols":80,"lines":30,"bell":"\u0007","clear":"\u001b[2J\u001b[H","smcup":"\u001b%%!1\u001b[?6l\u001b[2J","sgr0":"\u001b[=0;\u003c1m\u001b[24;25;27m\u000f","smul":"\u001b[4m","bold":"\u001b[=7;\u003c4m","blink":"\u001b[5m","rev":"\u001b[7m","dim":"\u001b[=1;\u003c6m","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u001b[D","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOB","kf2":"\u001bOC","kf3":"\u001bOD","kf4":"\u001bP","kf5":"\u001bQ","kf6":"\u001bR","kf7":"\u001bS","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","acsc":"``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u000e","rmacs":"\u000f","enacs":"\u001b)0"} -{"name":"tek4207","cols":80,"lines":32,"clear":"\u001b[H\u001b[J$\u003c156/\u003e","smcup":"\u001b[?6l\u001b[H\u001b[J","rmcup":"\u001b[?6h\u001b%!0\u001bLBP0\u001b%!1\u001b[32;1f","sgr0":"\u001b[m","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001bM","pad":"\u0000","khome":"\u001b[H","kcuu1":"\u001bM","kcud1":"\u001bD","kcub1":"\u001b[D","kcuf1":"\u001b[C"} -{"name":"tek4207-s","cols":79,"lines":29,"bell":"\u0007","clear":"\u001bLZ","cnorm":"\u001b%!0","sgr0":"\u001b%!1\u001b[m$\u003c2\u003e\u001b%!0","smul":"\u001b%!1\u001b[4m$\u003c2\u003e\u001b%!0","bold":"\u001b%!1\u001b[1m$\u003c2\u003e\u001b%!0","blink":"\u001b%!1\u001b[5m$\u003c2\u003e\u001b%!0","rev":"\u001b%!1\u001b[7m$\u003c2\u003e\u001b%0","dim":"\u001b%!1\u001b[\u003c0m$\u003c2\u003e\u001b%!0","cup":"\u001bY%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u001bA","pad":"\u0000","kbs":"\u0008","kcuu1":"\u001bA","kcud1":"\u001bB","kcub1":"\u001bD","kcuf1":"\u001bC"} -{"name":"tek4404","cols":80,"lines":32,"clear":"\u001b[H\u001b[2J","smcup":"\u001b%\u001b!1\u001b[1;32r\u001b[?6l\u001b\u003e","rmcup":"\u001b[1;1H\u001b[0J\u001b[?6h\u001b[?1l","sgr0":"\u001b[m","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","smkx":"\u001b[?1l","rmkx":"\u001b[?1h","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C"} -{"name":"teraterm","cols":80,"lines":24,"colors":8,"bell":"\u0007","clear":"\u001b[H\u001b[J","cnorm":"\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b[0m\u000f","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","setaf":"\u001b[3%p1%dm","setbg":"\u001b[4%p1%dm","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001b[11~","kf2":"\u001b[12~","kf3":"\u001b[13~","kf4":"\u001b[14~","kf5":"\u001b[15~","kf6":"\u001b[17~","kf7":"\u001b[18~","kf8":"\u001b[19~","kf9":"\u001b[20~","kf10":"\u001b[21~","kf11":"\u001b[23~","kf12":"\u001b[24~","kf13":"\u001b[25~","kf14":"\u001b[26~","kf15":"\u001b[28~","kf16":"\u001b[29~","kf17":"\u001b[31~","kf18":"\u001b[32~","kf19":"\u001b[33~","kf20":"\u001b[34~","kich":"\u001b[2~","kdch":"\u001b[3~","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC","kmous":"\u001b[M","XM":"%?%p1%{1}%=%t%'h'%Pa%e%'l'%Pa%;\u001b[?1000%ga%c\u001b[?1002%ga%c\u001b[?1003%ga%c\u001b[?1006%ga%c","acsc":"``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u000e","rmacs":"\u000f","enacs":"\u001b(B\u001b)0","_setfgbg":"\u001b[3%p1%d;4%p2%dm"} -{"name":"teraterm2.3","cols":80,"lines":24,"colors":8,"bell":"\u0007","clear":"\u001b[H\u001b[J","cnorm":"\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b[0m\u000f","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","setaf":"\u001b[3%p1%dm","setbg":"\u001b[4%p1%dm","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001b[11~","kf2":"\u001b[12~","kf3":"\u001b[13~","kf4":"\u001b[14~","kf5":"\u001b[15~","kf6":"\u001b[17~","kf7":"\u001b[18~","kf8":"\u001b[19~","kf9":"\u001b[20~","kf10":"\u001b[21~","kf11":"\u001b[23~","kf12":"\u001b[24~","kf13":"\u001b[25~","kf14":"\u001b[26~","kf15":"\u001b[28~","kf16":"\u001b[29~","kf17":"\u001b[31~","kf18":"\u001b[32~","kf19":"\u001b[33~","kf20":"\u001b[34~","kich":"\u001b[2~","kdch":"\u001b[3~","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC","acsc":"+\u0010,\u0011-\u0018.\u00190\ufffd`\u0004a\ufffdf\ufffdg\ufffdh\ufffdi\ufffdj\ufffdk\ufffdl\ufffdm\ufffdn\ufffdo~p\ufffdq\ufffdr\ufffds_t\ufffdu\ufffdv\ufffdw\ufffdx\ufffdy\ufffdz\ufffd{\ufffd|\ufffd}\ufffd~\ufffd","smacs":"\u000e","rmacs":"\u000f","enacs":"\u001b(B\u001b)0","_setfgbg":"\u001b[3%p1%d;4%p2%dm"} -{"name":"teraterm4.59","cols":80,"lines":24,"colors":8,"bell":"\u0007","clear":"\u001b[H\u001b[J","cnorm":"\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b[0m\u000f","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","setaf":"\u001b[3%p1%dm","setbg":"\u001b[4%p1%dm","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001b[11~","kf2":"\u001b[12~","kf3":"\u001b[13~","kf4":"\u001b[14~","kf5":"\u001b[15~","kf6":"\u001b[17~","kf7":"\u001b[18~","kf8":"\u001b[19~","kf9":"\u001b[20~","kf10":"\u001b[21~","kf11":"\u001b[23~","kf12":"\u001b[24~","kf13":"\u001b[25~","kf14":"\u001b[26~","kf15":"\u001b[28~","kf16":"\u001b[29~","kf17":"\u001b[31~","kf18":"\u001b[32~","kf19":"\u001b[33~","kf20":"\u001b[34~","kich":"\u001b[2~","kdch":"\u001b[3~","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC","kmous":"\u001b[M","XM":"%?%p1%{1}%=%t%'h'%Pa%e%'l'%Pa%;\u001b[?1000%ga%c\u001b[?1002%ga%c\u001b[?1003%ga%c\u001b[?1006%ga%c","acsc":"``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u000e","rmacs":"\u000f","enacs":"\u001b(B\u001b)0","_setfgbg":"\u001b[3%p1%d;4%p2%dm"} -{"name":"ti916","aliases":["ti916-220-7"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u001b[H\u001b[2J$\u003c6\u003e","cnorm":"\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b[m\u001b(B","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","cup":"\u001b[%p1%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001b[17~","kf2":"\u001b[18~","kf3":"\u001b[19~","kf4":"\u001b[20~","kf5":"\u001b[21~","kf6":"\u001b[23~","kf7":"\u001b[24~","kf8":"\u001b[25~","kf9":"\u001b[26~","kf10":"\u001b[28~","kf11":"\u001b[29~","kf12":"\u001b[31~","kf13":"\u001b[25~","kf14":"\u001b[26~","kf17":"\u001b[31~","kf18":"\u001b[32~","kf19":"\u001b[33~","kf20":"\u001b[34~","kich":"\u001b[@","kdch":"\u001b[P","khome":"\u001b[H","khlp":"\u001b[28~","kpp":"\u001b[T","knp":"\u001b[S","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kprt":"\u0018","acsc":"``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u000e$\u003c2\u003e","rmacs":"\u000f$\u003c2\u003e","enacs":"\u001b(B\u001b)0"} -{"name":"ti916-132","cols":132,"lines":24,"bell":"\u0007","clear":"\u001b[H\u001b[2J$\u003c6\u003e","cnorm":"\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b[m\u001b(B","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","cup":"\u001b[%p1%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001b[17~","kf2":"\u001b[18~","kf3":"\u001b[19~","kf4":"\u001b[20~","kf5":"\u001b[21~","kf6":"\u001b[23~","kf7":"\u001b[24~","kf8":"\u001b[25~","kf9":"\u001b[26~","kf10":"\u001b[28~","kf11":"\u001b[29~","kf12":"\u001b[31~","kf13":"\u001b[25~","kf14":"\u001b[26~","kf17":"\u001b[31~","kf18":"\u001b[32~","kf19":"\u001b[33~","kf20":"\u001b[34~","kich":"\u001b[@","kdch":"\u001b[P","khome":"\u001b[H","khlp":"\u001b[28~","kpp":"\u001b[T","knp":"\u001b[S","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kprt":"\u0018","acsc":"``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u000e$\u003c2\u003e","rmacs":"\u000f$\u003c2\u003e","enacs":"\u001b(B\u001b)0"} -{"name":"ti916-8","aliases":["ti916-220-8"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u001b[H\u001b[2J$\u003c6\u003e","cnorm":"\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b[m\u001b(B","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","cup":"\u001b[%p1%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\ufffd17~","kf2":"\ufffd18~","kf3":"\ufffd19~","kf4":"\ufffd20~","kf5":"\ufffd21~","kf6":"\ufffd23~","kf7":"\ufffd24~","kf8":"\ufffd25~","kf9":"\ufffd26~","kf10":"\ufffd28~","kf11":"\ufffd29~","kf12":"\ufffd31~","kf13":"\u001b[25~","kf14":"\u001b[26~","kf17":"\u001b[31~","kf18":"\u001b[32~","kf19":"\u001b[33~","kf20":"\u001b[34~","kich":"\ufffd@","kdch":"\ufffdP","khome":"\ufffdH","khlp":"\u001b[28~","kpp":"\ufffdT","knp":"\ufffdS","kcuu1":"\ufffdA","kcud1":"\ufffdB","kcub1":"\ufffdD","kcuf1":"\ufffdC","kprt":"\u0018","acsc":"``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u000e$\u003c2\u003e","rmacs":"\u000f$\u003c2\u003e","enacs":"\u001b(B\u001b)0"} -{"name":"ti916-8-132","cols":132,"lines":24,"bell":"\u0007","clear":"\u001b[H\u001b[2J$\u003c6\u003e","cnorm":"\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b[m\u001b(B","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","cup":"\u001b[%p1%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\ufffd17~","kf2":"\ufffd18~","kf3":"\ufffd19~","kf4":"\ufffd20~","kf5":"\ufffd21~","kf6":"\ufffd23~","kf7":"\ufffd24~","kf8":"\ufffd25~","kf9":"\ufffd26~","kf10":"\ufffd28~","kf11":"\ufffd29~","kf12":"\ufffd31~","kf13":"\u001b[25~","kf14":"\u001b[26~","kf17":"\u001b[31~","kf18":"\u001b[32~","kf19":"\u001b[33~","kf20":"\u001b[34~","kich":"\ufffd@","kdch":"\ufffdP","khome":"\ufffdH","khlp":"\u001b[28~","kpp":"\ufffdT","knp":"\ufffdS","kcuu1":"\ufffdA","kcud1":"\ufffdB","kcub1":"\ufffdD","kcuf1":"\ufffdC","kprt":"\u0018","acsc":"``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u000e$\u003c2\u003e","rmacs":"\u000f$\u003c2\u003e","enacs":"\u001b(B\u001b)0"} -{"name":"ti924","cols":80,"lines":24,"bell":"\u0007","clear":"\u001b[2J\u001b[H","cnorm":"\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b[m","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","cup":"%i\u001b[%p1%d;%p2%dH","cub1":"\u001b[D","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kf5":"\u001b[16~","kf6":"\u001b[17~","kf7":"\u001b[18~","kf8":"\u001b[19~","kf9":"\u001b[20~","kich":"\u001b[@","kdch":"\u001b[P","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C"} -{"name":"ti924-8","cols":80,"lines":24,"bell":"\u0007","clear":"\u001b[2J\u001b[H","cnorm":"\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b[m","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","cup":"%i\u001b[%p1%d;%p2%dH","cub1":"\u001b[D","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"P$\u003c\ufffd\u003e","kf2":"Q$\u003c\ufffd\u003e","kf3":"R$\u003c\ufffd\u003e","kf4":"S$\u003c\ufffd\u003e","kf5":"~$\u003c\ufffd16\u003e","kf6":"~$\u003c\ufffd17\u003e","kf7":"~$\u003c\ufffd18\u003e","kf8":"~$\u003c\ufffd19\u003e","kf9":"~$\u003c\ufffd20\u003e","kich":"@$\u003c\ufffd\u003e","kdch":"P$\u003c\ufffd\u003e","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C"} -{"name":"ti924-8w","cols":132,"lines":24,"bell":"\u0007","clear":"\u001b[2J\u001b[H","cnorm":"\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b[m","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","cup":"%i\u001b[%p1%d;%p2%dH","cub1":"\u001b[D","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"P$\u003c\ufffd\u003e","kf2":"Q$\u003c\ufffd\u003e","kf3":"R$\u003c\ufffd\u003e","kf4":"S$\u003c\ufffd\u003e","kf5":"~$\u003c\ufffd16\u003e","kf6":"~$\u003c\ufffd17\u003e","kf7":"~$\u003c\ufffd18\u003e","kf8":"~$\u003c\ufffd19\u003e","kf9":"~$\u003c\ufffd20\u003e","kich":"@$\u003c\ufffd\u003e","kdch":"P$\u003c\ufffd\u003e","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C"} -{"name":"ti924w","cols":132,"lines":24,"bell":"\u0007","clear":"\u001b[2J\u001b[H","cnorm":"\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b[m","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","cup":"%i\u001b[%p1%d;%p2%dH","cub1":"\u001b[D","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kf5":"\u001b[16~","kf6":"\u001b[17~","kf7":"\u001b[18~","kf8":"\u001b[19~","kf9":"\u001b[20~","kich":"\u001b[@","kdch":"\u001b[P","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C"} -{"name":"ti926","cols":80,"lines":24,"bell":"\u0007","clear":"\u001b[2J\u001b[H","cnorm":"\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b[m","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","cup":"%i\u001b[%p1%d;%p2%dH","cub1":"\u001b[D","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kf5":"\u001b[16~","kf6":"\u001b[17~","kf7":"\u001b[18~","kf8":"\u001b[19~","kf9":"\u001b[20~","kich":"\u001b[@","kdch":"\u001b[P","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C"} -{"name":"ti926-8","cols":80,"lines":24,"bell":"\u0007","clear":"\u001b[2J\u001b[H","cnorm":"\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b[m","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","cup":"%i\u001b[%p1%d;%p2%dH","cub1":"\u001b[D","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"P$\u003c\ufffd\u003e","kf2":"Q$\u003c\ufffd\u003e","kf3":"R$\u003c\ufffd\u003e","kf4":"S$\u003c\ufffd\u003e","kf5":"~$\u003c\ufffd16\u003e","kf6":"~$\u003c\ufffd17\u003e","kf7":"~$\u003c\ufffd18\u003e","kf8":"~$\u003c\ufffd19\u003e","kf9":"~$\u003c\ufffd20\u003e","kich":"@$\u003c\ufffd\u003e","kdch":"P$\u003c\ufffd\u003e","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C"} -{"name":"ti928","cols":80,"lines":25,"colors":8,"bell":"\u0007","clear":"\u001b[2J\u001b[H","sgr0":"\u001b[m","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","setaf":"\u001b[3%p1%dm","setbg":"\u001b[4%p1%dm","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001b[17~","kf2":"\u001b[18~","kf3":"\u001b[19~","kf4":"\u001b[20~","kf5":"\u001b[21~","kf6":"\u001b[23~","kf7":"\u001b[24~","kf8":"\u001b[25~","kf9":"\u001b[26~","kf10":"\u001b[28~","kf11":"\u001b[29~","kf12":"\u001b[31~","kf13":"\u001b[32~","kf15":"\u001b[34~","kich":"\u001b[@","kdch":"\u001b[P","khome":"\u001b[H","kend":"\u001b_1\u001b\\","kpp":"\u001b[T","knp":"\u001b[S","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kprt":"\u001b[35~","_setfgbg":"\u001b[3%p1%d;4%p2%dm"} -{"name":"ti928-8","cols":80,"lines":25,"colors":8,"bell":"\u0007","clear":"\u001b[2J\u001b[H","sgr0":"\u001b[m","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","setaf":"\u001b[3%p1%dm","setbg":"\u001b[4%p1%dm","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\ufffd17~","kf2":"\ufffd18~","kf3":"\ufffd19~","kf4":"\ufffd20~","kf5":"\ufffd21~","kf6":"\ufffd23~","kf7":"\ufffd24~","kf8":"\ufffd25~","kf9":"\ufffd26~","kf10":"\ufffd28~","kf11":"\ufffd29~","kf12":"\ufffd31~","kf13":"\ufffd32~","kf15":"\ufffd34~","kich":"\ufffd@","kdch":"\ufffdP","khome":"\ufffdH","kend":"\ufffd1\ufffd","kpp":"\ufffdT","knp":"\ufffdS","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kprt":"\ufffd35~","_setfgbg":"\u001b[3%p1%d;4%p2%dm"} -{"name":"ti931","cols":80,"lines":24,"bell":"\u0007","clear":"\u001bL","cnorm":"\u001b4@","sgr0":"\u001b4@","smul":"\u001b4D","blink":"\u001b4P","rev":"\u001b4B","cup":"\u001bY%p1%' '%+%c%p2%' '%+%c","cub1":"\u001bD","cuu1":"\u001bA","pad":"\u0000","kf1":"\u001bi1","kf2":"\u001bi2","kf3":"\u001bi3","kf4":"\u001bi4","kf5":"\u001bi5","kf6":"\u001bi6","kf7":"\u001bi7","kf8":"\u001bi8","kf9":"\u001bi9","kich":"\u001bP","kdch":"\u001bQ","kcuu1":"\u001bA","kcud1":"\u001bB","kcub1":"\u001bD","kcuf1":"\u001bC"} -{"name":"ti_ansi","cols":80,"lines":25,"colors":8,"bell":"\u0007","clear":"\u001b[2J\u001b[H","sgr0":"\u001b[m","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","setaf":"\u001b[3%p1%dm","setbg":"\u001b[4%p1%dm","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001b[M","kf2":"\u001b[N","kf3":"\u001b[O","kf4":"\u001b[P","kf5":"\u001b[Q","kf6":"\u001b[R","kf7":"\u001b[S","kf8":"\u001b[T","kf9":"\u001b[U","khome":"\u001b[H","kend":"\u001b[F","kpp":"\u001b[I","knp":"\u001b[G","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","_setfgbg":"\u001b[3%p1%d;4%p2%dm"} -{"name":"trs16","cols":80,"lines":24,"bell":"\u0007","clear":"\u000c","cnorm":"\u001bRC","civis":"\u001bRc","sgr0":"\u001bR@","cup":"\u001bY%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u001bA","pad":"\u0000","kbs":"\u0008","kf1":"\u0002","kf2":"\u0004","kf3":"\u000c","kf4":"\u0015","kf5":"\u0010","kf6":"\u000e","kf7":"\u0013","khome":"\u0017","kcuu1":"\u001bA","kcud1":"\u001bB","kcub1":"\u001bD","kcuf1":"\u001bC","acsc":"jak`l_mbquvewcxs","smacs":"\u001bRG","rmacs":"\u001bRg"} -{"name":"trs2","aliases":["trs80II","trsII"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u000c","sgr0":"\u000f","cup":"\u001bY%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u001e","pad":"\u0000","kbs":"\u0008","kcuu1":"\u001e","kcud1":"\u001f","kcub1":"\u001c","kcuf1":"\u001d"} -{"name":"ts100","aliases":["ts100-sp"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u001b[H\u001b[J$\u003c50\u003e","sgr0":"\u001b[m\u000f$\u003c2\u003e","smul":"\u001b[4m$\u003c2\u003e","bold":"\u001b[1m$\u003c2\u003e","blink":"\u001b[5m$\u003c2\u003e","rev":"\u001b[7m$\u003c2\u003e","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","cup":"\u001b[%i%p1%d;%p2%dH$\u003c5\u003e","cub1":"\u0008","cuu1":"\u001b[A$\u003c2\u003e","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kf5":"\u001bOt","kf6":"\u001bOu","kf7":"\u001bOv","kf8":"\u001bOl","kf9":"\u001bOw","kf10":"\u001bOx","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC","acsc":"``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u000e","rmacs":"\u000f","enacs":"\u001b(B\u001b)0"} -{"name":"ts100-ctxt","cols":80,"lines":24,"bell":"\u0007","clear":"\u001b[H\u001b[J$\u003c50\u003e","smcup":"\u001b~_d\u001b[2J","rmcup":"\u001b~_b","sgr0":"\u001b[m\u000f$\u003c2\u003e","smul":"\u001b[4m$\u003c2\u003e","bold":"\u001b[1m$\u003c2\u003e","blink":"\u001b[5m$\u003c2\u003e","rev":"\u001b[7m$\u003c2\u003e","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","cup":"\u001b[%i%p1%d;%p2%dH$\u003c5\u003e","cub1":"\u0008","cuu1":"\u001b[A$\u003c2\u003e","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kf5":"\u001bOt","kf6":"\u001bOu","kf7":"\u001bOv","kf8":"\u001bOl","kf9":"\u001bOw","kf10":"\u001bOx","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC","acsc":"``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u000e","rmacs":"\u000f","enacs":"\u001b(B\u001b)0"} -{"name":"tt","aliases":["tkterm"],"cols":-1,"lines":-1,"clear":"\u001b[H\u001b[J","cup":"\u001b[%p1%d;%p2%dH","cuu1":"\u001b[A","pad":"\u0000","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kf5":"\u001bOT","kf6":"\u001bOU","kf7":"\u001bOV","kf8":"\u001bOW","kf9":"\u001bOX"} -{"name":"tt505-22","aliases":["gs5430-22","pt505-22"],"cols":80,"lines":22,"bell":"\u0007","clear":"\u001b[2J\u001b[H","cnorm":"\u001b[\u003el","sgr0":"\u001b[m","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","cup":"\u001b[%p1%d;%p2%dH","cub1":"\u001b[D","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001b[01s","kf2":"\u001b[02s","kf3":"\u001b[03s","kf4":"\u001b[04s","kf5":"\u001b[05s","kf6":"\u001b[06s","kf18":"\u001b[18s","kf19":"\u001b[19s","kf20":"\u001b[20s","kf21":"\u001b[21s","kf22":"\u001b[22s","kf23":"\u001b[23s","kf24":"\u001b[24s","kf26":"\u001b[26s","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","acsc":"``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u001b[11m","rmacs":"\u001b[10m"} -{"name":"tvi803","cols":80,"lines":24,"bell":"\u0007","clear":"\u001b*$\u003c10\u003e","sgr0":"\u001bG0","smul":"\u001bG8","rev":"\u001bG4","cup":"\u001b=%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u000b","pad":"\u0000","kbs":"\u0008","kf1":"\u0001@\r","kf2":"\u0001A\r","kf3":"\u0001B\r","kf4":"\u0001C\r","kf5":"\u0001D\r","kf6":"\u0001E\r","kf7":"\u0001F\r","kf8":"\u0001G\r","kf9":"\u0001H\r","kich":"\u001bQ","kdch":"\u001bW","khome":"\u001e","kcuu1":"\u000b","kcud1":"\u0016","kcub1":"\u0008","kcuf1":"\u000c","kcbt":"\u001bI","kclr":"\u001b*","acsc":"b\tc\u000cd\re\ni\u000b","smacs":"\u0015","rmacs":"\u0018"} -{"name":"tvi9065","cols":80,"lines":25,"bell":"\u0007","clear":"\u001a","smcup":"\u001b.2","rmcup":"\u001b.3\u001br\u001b[1;25r\u001b[25;0H","cnorm":"\u001b.3","civis":"\u001b.0","sgr0":"\u001bG0","smul":"\u001bG8","bold":"\u001bG,","blink":"\u001bG2","rev":"\u001bG4","dim":"\u001bGp","cup":"\u001b=%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u000b","pad":"\u0000","kbs":"\u0008","kf1":"\u0001@\r","kf2":"\u0001A\r","kf3":"\u0001B\r","kf4":"\u0001C\r","kf5":"\u0001D\r","kf6":"\u0001E\r","kf7":"\u0001F\r","kf8":"\u0001G\r","kf9":"\u0001H\r","kf10":"\u0001I\r","kf11":"\u0001J\r","kf12":"\u0001K\r","kdch":"\u001bW","khome":"\u001e","kcuu1":"\u000b","kcud1":"\u0016","kcub1":"\u0008","kcuf1":"\u000c","kcbt":"\u001bI","acsc":"'r0_jhkglfmeniopqksqtmulvownxj","smacs":"\u001b$","rmacs":"\u001b%%","kHOM":"\u001b "} -{"name":"tvi910","cols":80,"lines":24,"bell":"\u0007","clear":"\u001a","sgr0":"\u001bG0","smul":"\u001bG8","rev":"\u001bG4","cup":"\u001b=%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u000b","pad":"\u0000","kbs":"\u0008","kf1":"\u0001@\r","kf2":"\u0001A\r","kf3":"\u0001B\r","kf4":"\u0001C\r","kf5":"\u0001D\r","kf6":"\u0001E\r","kf7":"\u0001F\r","kf8":"\u0001G\r","kf9":"\u0001H\r","khome":"\u001e","kcuu1":"\u000b","kcud1":"\n","kcub1":"\u0008","kcuf1":"\u000c"} -{"name":"tvi910+","cols":80,"lines":24,"bell":"\u0007","clear":"\u001a","sgr0":"\u001bG0","smul":"\u001bG8","rev":"\u001bG4","cup":"\u001b=%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u000b","pad":"\u0000","kbs":"\u0008","kf1":"\u0001A\r","kf2":"\u0001B\r","kf3":"\u0001C\r","kf4":"\u0001D\r","kf5":"\u0001E\r","kf6":"\u0001F\r","kf7":"\u0001G\r","kf8":"\u0001H\r","kf9":"\u0001I\r","khome":"\u001e","kcuu1":"\u000b","kcud1":"\n","kcub1":"\u0008","kcuf1":"\u000c"} -{"name":"tvi912","aliases":["tvi914","tvi920"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u001a","smul":"\u001bl","cup":"\u001b=%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u000b","pad":"\u0000","kbs":"\u0008","kf1":"\u0001@\r","kf2":"\u0001A\r","kf3":"\u0001B\r","kf4":"\u0001C\r","kf5":"\u0001D\r","kf6":"\u0001E\r","kf7":"\u0001F\r","kf8":"\u0001G\r","kf9":"\u0001H\r","khome":"\u001e","kcuu1":"\u000b","kcud1":"\n","kcub1":"\u0008","kcuf1":"\u000c"} -{"name":"tvi912b","aliases":["tvi912c"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u001a$\u003c50\u003e","sgr0":"\u001b(","dim":"\u001b)","cup":"\u001b=%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u000b","pad":"\u0000","kdch":"","khome":"\u001e","kcuu1":"\u000b","kcud1":"\n","kcub1":"\u0008","kcuf1":"\u000c"} -{"name":"tvi912b-2p","aliases":["tvi912c-2p"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u001a$\u003c50\u003e","smcup":"\u001bK\u001a$\u003c50\u003e\u001b(\u001bk\u0008\u001bm\u0008\u001bq\u001a$\u003c50\u003e","rmcup":"\u001a$\u003c50\u003e\u001bK\u001b=7 ","sgr0":"\u001b(","dim":"\u001b)","cup":"\u001b=%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u000b","pad":"\u0000","kdch":"","khome":"\u001e","kcuu1":"\u000b","kcud1":"\n","kcub1":"\u0008","kcuf1":"\u000c"} -{"name":"tvi912b-2p-mc","aliases":["tvi912b-mc-2p","tvi912c-2p-mc","tvi912c-mc-2p"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u001a$\u003c50\u003e","smcup":"\u001bK\u001a$\u003c50\u003e\u001b(\u001bk\u0008\u001bm\u0008\u001bq\u001a$\u003c50\u003e","rmcup":"\u001a$\u003c50\u003e\u001bK\u001b=7 ","sgr0":"\u001b(\u001bk\u0008\u001bm\u0008\u001bq","smul":"\u001bl","blink":"\u001b^","rev":"\u001bj","dim":"\u001b) ","cup":"\u001b=%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u000b","pad":"\u0000","kdch":"","khome":"\u001e","kcuu1":"\u000b","kcud1":"\n","kcub1":"\u0008","kcuf1":"\u000c"} -{"name":"tvi912b-2p-p","aliases":["tvi912b-p-2p","tvi912c-2p-p","tvi912c-p-2p"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u001a$\u003c50\u003e","smcup":"\u001bK\u001a$\u003c50\u003e\u001b(\u001bk\u0008\u001bm\u0008\u001bq\u001a$\u003c50\u003e","rmcup":"\u001a$\u003c50\u003e\u001bK\u001b=7 ","cup":"\u001b=%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u000b","pad":"\u0000","kdch":"","khome":"\u001e","kcuu1":"\u000b","kcud1":"\n","kcub1":"\u0008","kcuf1":"\u000c"} -{"name":"tvi912b-2p-unk","aliases":["tvi912b-unk-2p","tvi912c-2p-unk","tvi912c-unk-2p"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u001a$\u003c50\u003e","smcup":"\u001bK\u001a$\u003c50\u003e\u001b(\u001bk\u0008\u001bm\u0008\u001bq\u001a$\u003c50\u003e","rmcup":"\u001a$\u003c50\u003e\u001bK\u001b=7 ","cup":"\u001b=%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u000b","pad":"\u0000","kdch":"","khome":"\u001e","kcuu1":"\u000b","kcud1":"\n","kcub1":"\u0008","kcuf1":"\u000c"} -{"name":"tvi912b-mc","aliases":["tvi912c-mc"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u001a$\u003c50\u003e","sgr0":"\u001b(\u001bk\u0008\u001bm\u0008\u001bq","smul":"\u001bl","blink":"\u001b^","rev":"\u001bj","dim":"\u001b) ","cup":"\u001b=%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u000b","pad":"\u0000","kdch":"","khome":"\u001e","kcuu1":"\u000b","kcud1":"\n","kcub1":"\u0008","kcuf1":"\u000c"} -{"name":"tvi912b-p","aliases":["tvi912c-p"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u001a$\u003c50\u003e","cup":"\u001b=%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u000b","pad":"\u0000","kdch":"","khome":"\u001e","kcuu1":"\u000b","kcud1":"\n","kcub1":"\u0008","kcuf1":"\u000c"} -{"name":"tvi912b-unk","aliases":["tvi912c-unk"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u001a$\u003c50\u003e","cup":"\u001b=%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u000b","pad":"\u0000","kdch":"","khome":"\u001e","kcuu1":"\u000b","kcud1":"\n","kcub1":"\u0008","kcuf1":"\u000c"} -{"name":"tvi912b-vb","aliases":["tvi912c-vb"],"cols":80,"lines":24,"bell":"\u001bK$\u003c100\u003e\u001bK","clear":"\u001a$\u003c50\u003e","smcup":"\u001bK\u001a$\u003c50\u003e\u001b(\u001bk\u0008\u001bm\u0008\u001bq\u001a$\u003c50\u003e","rmcup":"\u001a$\u003c50\u003e\u001bK\u001b=7 ","sgr0":"\u001b(","dim":"\u001b)","cup":"\u001b=%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u000b","pad":"\u0000","kdch":"","khome":"\u001e","kcuu1":"\u000b","kcud1":"\n","kcub1":"\u0008","kcuf1":"\u000c"} -{"name":"tvi912b-vb-mc","aliases":["tvi912b-mc-vb","tvi912c-mc-vb","tvi912c-vb-mc"],"cols":80,"lines":24,"bell":"\u001bK$\u003c100\u003e\u001bK","clear":"\u001a$\u003c50\u003e","smcup":"\u001bK\u001a$\u003c50\u003e\u001b(\u001bk\u0008\u001bm\u0008\u001bq\u001a$\u003c50\u003e","rmcup":"\u001a$\u003c50\u003e\u001bK\u001b=7 ","sgr0":"\u001b(\u001bk\u0008\u001bm\u0008\u001bq","smul":"\u001bl","blink":"\u001b^","rev":"\u001bj","dim":"\u001b) ","cup":"\u001b=%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u000b","pad":"\u0000","kdch":"","khome":"\u001e","kcuu1":"\u000b","kcud1":"\n","kcub1":"\u0008","kcuf1":"\u000c"} -{"name":"tvi912b-vb-p","aliases":["tvi912b-p-vb","tvi912c-p-vb","tvi912c-vb-p"],"cols":80,"lines":24,"bell":"\u001bK$\u003c100\u003e\u001bK","clear":"\u001a$\u003c50\u003e","smcup":"\u001bK\u001a$\u003c50\u003e\u001b(\u001bk\u0008\u001bm\u0008\u001bq\u001a$\u003c50\u003e","rmcup":"\u001a$\u003c50\u003e\u001bK\u001b=7 ","cup":"\u001b=%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u000b","pad":"\u0000","kdch":"","khome":"\u001e","kcuu1":"\u000b","kcud1":"\n","kcub1":"\u0008","kcuf1":"\u000c"} -{"name":"tvi912b-vb-unk","aliases":["tvi912b-unk-vb","tvi912c-unk-vb","tvi912c-vb-unk"],"cols":80,"lines":24,"bell":"\u001bK$\u003c100\u003e\u001bK","clear":"\u001a$\u003c50\u003e","smcup":"\u001bK\u001a$\u003c50\u003e\u001b(\u001bk\u0008\u001bm\u0008\u001bq\u001a$\u003c50\u003e","rmcup":"\u001a$\u003c50\u003e\u001bK\u001b=7 ","cup":"\u001b=%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u000b","pad":"\u0000","kdch":"","khome":"\u001e","kcuu1":"\u000b","kcud1":"\n","kcub1":"\u0008","kcuf1":"\u000c"} -{"name":"tvi920b","aliases":["tvi920c"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u001a$\u003c50\u003e","sgr0":"\u001b(","dim":"\u001b)","cup":"\u001b=%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u000b","pad":"\u0000","kf1":"\u0001@\r","kf2":"\u0001A\r","kf3":"\u0001B\r","kf4":"\u0001C\r","kf5":"\u0001D\r","kf6":"\u0001E\r","kf7":"\u0001F\r","kf8":"\u0001G\r","kf9":"\u0001H\r","kf10":"\u0001I\r","kf11":"\u0001J\r","kf12":"\u0001`\r","kf13":"\u0001a\r","kf14":"\u0001b\r","kf15":"\u0001c\r","kf16":"\u0001d\r","kf17":"\u0001e\r","kf18":"\u0001f\r","kf19":"\u0001g\r","kf20":"\u0001h\r","kf21":"\u0001i\r","kf22":"\u0001j\r","kdch":"","khome":"\u001e","kcuu1":"\u000b","kcud1":"\n","kcub1":"\u0008","kcuf1":"\u000c"} -{"name":"tvi920b-2p","aliases":["tvi920c-2p"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u001a$\u003c50\u003e","smcup":"\u001bK\u001a$\u003c50\u003e\u001b(\u001bk\u0008\u001bm\u0008\u001bq\u001a$\u003c50\u003e","rmcup":"\u001a$\u003c50\u003e\u001bK\u001b=7 ","sgr0":"\u001b(","dim":"\u001b)","cup":"\u001b=%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u000b","pad":"\u0000","kf1":"\u0001@\r","kf2":"\u0001A\r","kf3":"\u0001B\r","kf4":"\u0001C\r","kf5":"\u0001D\r","kf6":"\u0001E\r","kf7":"\u0001F\r","kf8":"\u0001G\r","kf9":"\u0001H\r","kf10":"\u0001I\r","kf11":"\u0001J\r","kf12":"\u0001`\r","kf13":"\u0001a\r","kf14":"\u0001b\r","kf15":"\u0001c\r","kf16":"\u0001d\r","kf17":"\u0001e\r","kf18":"\u0001f\r","kf19":"\u0001g\r","kf20":"\u0001h\r","kf21":"\u0001i\r","kf22":"\u0001j\r","kdch":"","khome":"\u001e","kcuu1":"\u000b","kcud1":"\n","kcub1":"\u0008","kcuf1":"\u000c"} -{"name":"tvi920b-2p-mc","aliases":["tvi920b-mc-2p","tvi920c-2p-mc","tvi920c-mc-2p"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u001a$\u003c50\u003e","smcup":"\u001bK\u001a$\u003c50\u003e\u001b(\u001bk\u0008\u001bm\u0008\u001bq\u001a$\u003c50\u003e","rmcup":"\u001a$\u003c50\u003e\u001bK\u001b=7 ","sgr0":"\u001b(\u001bk\u0008\u001bm\u0008\u001bq","smul":"\u001bl","blink":"\u001b^","rev":"\u001bj","dim":"\u001b) ","cup":"\u001b=%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u000b","pad":"\u0000","kf1":"\u0001@\r","kf2":"\u0001A\r","kf3":"\u0001B\r","kf4":"\u0001C\r","kf5":"\u0001D\r","kf6":"\u0001E\r","kf7":"\u0001F\r","kf8":"\u0001G\r","kf9":"\u0001H\r","kf10":"\u0001I\r","kf11":"\u0001J\r","kf12":"\u0001`\r","kf13":"\u0001a\r","kf14":"\u0001b\r","kf15":"\u0001c\r","kf16":"\u0001d\r","kf17":"\u0001e\r","kf18":"\u0001f\r","kf19":"\u0001g\r","kf20":"\u0001h\r","kf21":"\u0001i\r","kf22":"\u0001j\r","kdch":"","khome":"\u001e","kcuu1":"\u000b","kcud1":"\n","kcub1":"\u0008","kcuf1":"\u000c"} -{"name":"tvi920b-2p-p","aliases":["tvi920b-p-2p","tvi920c-2p-p","tvi920c-p-2p"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u001a$\u003c50\u003e","smcup":"\u001bK\u001a$\u003c50\u003e\u001b(\u001bk\u0008\u001bm\u0008\u001bq\u001a$\u003c50\u003e","rmcup":"\u001a$\u003c50\u003e\u001bK\u001b=7 ","cup":"\u001b=%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u000b","pad":"\u0000","kf1":"\u0001@\r","kf2":"\u0001A\r","kf3":"\u0001B\r","kf4":"\u0001C\r","kf5":"\u0001D\r","kf6":"\u0001E\r","kf7":"\u0001F\r","kf8":"\u0001G\r","kf9":"\u0001H\r","kf10":"\u0001I\r","kf11":"\u0001J\r","kf12":"\u0001`\r","kf13":"\u0001a\r","kf14":"\u0001b\r","kf15":"\u0001c\r","kf16":"\u0001d\r","kf17":"\u0001e\r","kf18":"\u0001f\r","kf19":"\u0001g\r","kf20":"\u0001h\r","kf21":"\u0001i\r","kf22":"\u0001j\r","kdch":"","khome":"\u001e","kcuu1":"\u000b","kcud1":"\n","kcub1":"\u0008","kcuf1":"\u000c"} -{"name":"tvi920b-2p-unk","aliases":["tvi920b-unk-2p","tvi920c-2p-unk","tvi920c-unk-2p"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u001a$\u003c50\u003e","smcup":"\u001bK\u001a$\u003c50\u003e\u001b(\u001bk\u0008\u001bm\u0008\u001bq\u001a$\u003c50\u003e","rmcup":"\u001a$\u003c50\u003e\u001bK\u001b=7 ","cup":"\u001b=%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u000b","pad":"\u0000","kf1":"\u0001@\r","kf2":"\u0001A\r","kf3":"\u0001B\r","kf4":"\u0001C\r","kf5":"\u0001D\r","kf6":"\u0001E\r","kf7":"\u0001F\r","kf8":"\u0001G\r","kf9":"\u0001H\r","kf10":"\u0001I\r","kf11":"\u0001J\r","kf12":"\u0001`\r","kf13":"\u0001a\r","kf14":"\u0001b\r","kf15":"\u0001c\r","kf16":"\u0001d\r","kf17":"\u0001e\r","kf18":"\u0001f\r","kf19":"\u0001g\r","kf20":"\u0001h\r","kf21":"\u0001i\r","kf22":"\u0001j\r","kdch":"","khome":"\u001e","kcuu1":"\u000b","kcud1":"\n","kcub1":"\u0008","kcuf1":"\u000c"} -{"name":"tvi920b-mc","aliases":["tvi920c-mc"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u001a$\u003c50\u003e","sgr0":"\u001b(\u001bk\u0008\u001bm\u0008\u001bq","smul":"\u001bl","blink":"\u001b^","rev":"\u001bj","dim":"\u001b) ","cup":"\u001b=%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u000b","pad":"\u0000","kf1":"\u0001@\r","kf2":"\u0001A\r","kf3":"\u0001B\r","kf4":"\u0001C\r","kf5":"\u0001D\r","kf6":"\u0001E\r","kf7":"\u0001F\r","kf8":"\u0001G\r","kf9":"\u0001H\r","kf10":"\u0001I\r","kf11":"\u0001J\r","kf12":"\u0001`\r","kf13":"\u0001a\r","kf14":"\u0001b\r","kf15":"\u0001c\r","kf16":"\u0001d\r","kf17":"\u0001e\r","kf18":"\u0001f\r","kf19":"\u0001g\r","kf20":"\u0001h\r","kf21":"\u0001i\r","kf22":"\u0001j\r","kdch":"","khome":"\u001e","kcuu1":"\u000b","kcud1":"\n","kcub1":"\u0008","kcuf1":"\u000c"} -{"name":"tvi920b-p","aliases":["tvi920c-p"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u001a$\u003c50\u003e","cup":"\u001b=%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u000b","pad":"\u0000","kf1":"\u0001@\r","kf2":"\u0001A\r","kf3":"\u0001B\r","kf4":"\u0001C\r","kf5":"\u0001D\r","kf6":"\u0001E\r","kf7":"\u0001F\r","kf8":"\u0001G\r","kf9":"\u0001H\r","kf10":"\u0001I\r","kf11":"\u0001J\r","kf12":"\u0001`\r","kf13":"\u0001a\r","kf14":"\u0001b\r","kf15":"\u0001c\r","kf16":"\u0001d\r","kf17":"\u0001e\r","kf18":"\u0001f\r","kf19":"\u0001g\r","kf20":"\u0001h\r","kf21":"\u0001i\r","kf22":"\u0001j\r","kdch":"","khome":"\u001e","kcuu1":"\u000b","kcud1":"\n","kcub1":"\u0008","kcuf1":"\u000c"} -{"name":"tvi920b-unk","aliases":["tvi920c-unk"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u001a$\u003c50\u003e","cup":"\u001b=%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u000b","pad":"\u0000","kf1":"\u0001@\r","kf2":"\u0001A\r","kf3":"\u0001B\r","kf4":"\u0001C\r","kf5":"\u0001D\r","kf6":"\u0001E\r","kf7":"\u0001F\r","kf8":"\u0001G\r","kf9":"\u0001H\r","kf10":"\u0001I\r","kf11":"\u0001J\r","kf12":"\u0001`\r","kf13":"\u0001a\r","kf14":"\u0001b\r","kf15":"\u0001c\r","kf16":"\u0001d\r","kf17":"\u0001e\r","kf18":"\u0001f\r","kf19":"\u0001g\r","kf20":"\u0001h\r","kf21":"\u0001i\r","kf22":"\u0001j\r","kdch":"","khome":"\u001e","kcuu1":"\u000b","kcud1":"\n","kcub1":"\u0008","kcuf1":"\u000c"} -{"name":"tvi920b-vb","aliases":["tvi920c-vb"],"cols":80,"lines":24,"bell":"\u001bK$\u003c100\u003e\u001bK","clear":"\u001a$\u003c50\u003e","smcup":"\u001bK\u001a$\u003c50\u003e\u001b(\u001bk\u0008\u001bm\u0008\u001bq\u001a$\u003c50\u003e","rmcup":"\u001a$\u003c50\u003e\u001bK\u001b=7 ","sgr0":"\u001b(","dim":"\u001b)","cup":"\u001b=%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u000b","pad":"\u0000","kf1":"\u0001@\r","kf2":"\u0001A\r","kf3":"\u0001B\r","kf4":"\u0001C\r","kf5":"\u0001D\r","kf6":"\u0001E\r","kf7":"\u0001F\r","kf8":"\u0001G\r","kf9":"\u0001H\r","kf10":"\u0001I\r","kf11":"\u0001J\r","kf12":"\u0001`\r","kf13":"\u0001a\r","kf14":"\u0001b\r","kf15":"\u0001c\r","kf16":"\u0001d\r","kf17":"\u0001e\r","kf18":"\u0001f\r","kf19":"\u0001g\r","kf20":"\u0001h\r","kf21":"\u0001i\r","kf22":"\u0001j\r","kdch":"","khome":"\u001e","kcuu1":"\u000b","kcud1":"\n","kcub1":"\u0008","kcuf1":"\u000c"} -{"name":"tvi920b-vb-mc","aliases":["tvi920b-mc-vb","tvi920c-mc-vb","tvi920c-vb-mc"],"cols":80,"lines":24,"bell":"\u001bK$\u003c100\u003e\u001bK","clear":"\u001a$\u003c50\u003e","smcup":"\u001bK\u001a$\u003c50\u003e\u001b(\u001bk\u0008\u001bm\u0008\u001bq\u001a$\u003c50\u003e","rmcup":"\u001a$\u003c50\u003e\u001bK\u001b=7 ","sgr0":"\u001b(\u001bk\u0008\u001bm\u0008\u001bq","smul":"\u001bl","blink":"\u001b^","rev":"\u001bj","dim":"\u001b) ","cup":"\u001b=%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u000b","pad":"\u0000","kf1":"\u0001@\r","kf2":"\u0001A\r","kf3":"\u0001B\r","kf4":"\u0001C\r","kf5":"\u0001D\r","kf6":"\u0001E\r","kf7":"\u0001F\r","kf8":"\u0001G\r","kf9":"\u0001H\r","kf10":"\u0001I\r","kf11":"\u0001J\r","kf12":"\u0001`\r","kf13":"\u0001a\r","kf14":"\u0001b\r","kf15":"\u0001c\r","kf16":"\u0001d\r","kf17":"\u0001e\r","kf18":"\u0001f\r","kf19":"\u0001g\r","kf20":"\u0001h\r","kf21":"\u0001i\r","kf22":"\u0001j\r","kdch":"","khome":"\u001e","kcuu1":"\u000b","kcud1":"\n","kcub1":"\u0008","kcuf1":"\u000c"} -{"name":"tvi920b-vb-p","aliases":["tvi920b-p-vb","tvi920c-p-vb","tvi920c-vb-p"],"cols":80,"lines":24,"bell":"\u001bK$\u003c100\u003e\u001bK","clear":"\u001a$\u003c50\u003e","smcup":"\u001bK\u001a$\u003c50\u003e\u001b(\u001bk\u0008\u001bm\u0008\u001bq\u001a$\u003c50\u003e","rmcup":"\u001a$\u003c50\u003e\u001bK\u001b=7 ","cup":"\u001b=%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u000b","pad":"\u0000","kf1":"\u0001@\r","kf2":"\u0001A\r","kf3":"\u0001B\r","kf4":"\u0001C\r","kf5":"\u0001D\r","kf6":"\u0001E\r","kf7":"\u0001F\r","kf8":"\u0001G\r","kf9":"\u0001H\r","kf10":"\u0001I\r","kf11":"\u0001J\r","kf12":"\u0001`\r","kf13":"\u0001a\r","kf14":"\u0001b\r","kf15":"\u0001c\r","kf16":"\u0001d\r","kf17":"\u0001e\r","kf18":"\u0001f\r","kf19":"\u0001g\r","kf20":"\u0001h\r","kf21":"\u0001i\r","kf22":"\u0001j\r","kdch":"","khome":"\u001e","kcuu1":"\u000b","kcud1":"\n","kcub1":"\u0008","kcuf1":"\u000c"} -{"name":"tvi920b-vb-unk","aliases":["tvi920b-unk-vb","tvi920c-unk-vb","tvi920c-vb-unk"],"cols":80,"lines":24,"bell":"\u001bK$\u003c100\u003e\u001bK","clear":"\u001a$\u003c50\u003e","smcup":"\u001bK\u001a$\u003c50\u003e\u001b(\u001bk\u0008\u001bm\u0008\u001bq\u001a$\u003c50\u003e","rmcup":"\u001a$\u003c50\u003e\u001bK\u001b=7 ","cup":"\u001b=%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u000b","pad":"\u0000","kf1":"\u0001@\r","kf2":"\u0001A\r","kf3":"\u0001B\r","kf4":"\u0001C\r","kf5":"\u0001D\r","kf6":"\u0001E\r","kf7":"\u0001F\r","kf8":"\u0001G\r","kf9":"\u0001H\r","kf10":"\u0001I\r","kf11":"\u0001J\r","kf12":"\u0001`\r","kf13":"\u0001a\r","kf14":"\u0001b\r","kf15":"\u0001c\r","kf16":"\u0001d\r","kf17":"\u0001e\r","kf18":"\u0001f\r","kf19":"\u0001g\r","kf20":"\u0001h\r","kf21":"\u0001i\r","kf22":"\u0001j\r","kdch":"","khome":"\u001e","kcuu1":"\u000b","kcud1":"\n","kcub1":"\u0008","kcuf1":"\u000c"} -{"name":"tvi921","cols":80,"lines":24,"clear":"\u001a","cnorm":"\u001b.3","sgr0":"\u001bG0","smul":"\u001bG8","rev":"\u001bG4","cup":"\u001b=%p1%' '%+%c%p2%' '%+%c$\u003c3/\u003e","cub1":"\u0008","cuu1":"\u000b","pad":"\u0000","kbs":"\u0008","kich":"\u001bQ","kdch":"\u001bW","kcuu1":"\u000b","kcud1":"\u0016","kcub1":"\u0008","kcuf1":"\u000c","kclr":"\u001a","smacs":"\u001b$","rmacs":"\u001b%%"} -{"name":"tvi924","cols":80,"lines":24,"bell":"\u0007","clear":"\u001b*0","cnorm":"\u001b.3","civis":"\u001b.0","sgr0":"\u001bG0","smul":"\u001bG8","blink":"\u001bG2","rev":"\u001bG4","cup":"\u001b=%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u000b","pad":"\u0000","kbs":"\u0008","kf1":"\u0001A\r","kf2":"\u0001B\r","kf3":"\u0001C\r","kf4":"\u0001D\r","kf5":"\u0001E\r","kf6":"\u0001F\r","kf7":"\u0001G\r","kf8":"\u0001H\r","kf9":"\u0001I\r","kf10":"\u0001J\r","kf11":"\u0001K\r","kf12":"\u0001L\r","kf13":"\u0001M\r","kf14":"\u0001N\r","kf15":"\u0001O\r","kich":"\u001bQ","kdch":"\u001bW","khome":"\u001e","kcuu1":"\u000b","kcud1":"\u0016","kcub1":"\u0008","kcuf1":"\u000c","kclr":"\u001b*0"} -{"name":"tvi925","cols":80,"lines":24,"bell":"\u0007","clear":"\u001a","cnorm":"\u001b.4","sgr0":"\u001bG0","smul":"\u001bG8","rev":"\u001bG4","cup":"\u001b=%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u000b","pad":"\u0000","kbs":"\u0008","kf1":"\u0001@\r","kf2":"\u0001A\r","kf3":"\u0001B\r","kf4":"\u0001C\r","kf5":"\u0001D\r","kf6":"\u0001E\r","kf7":"\u0001F\r","kf8":"\u0001G\r","kf9":"\u0001H\r","kich":"\u001bQ","kdch":"\u001bW","khome":"\u001e","kcuu1":"\u000b","kcud1":"\u0016","kcub1":"\u0008","kcuf1":"\u000c","kclr":"\u001a"} -{"name":"tvi925-hi","cols":80,"lines":24,"bell":"\u0007","clear":"\u001a","cnorm":"\u001b.4","sgr0":"\u001bG0","smul":"\u001bG8","rev":"\u001bG4","cup":"\u001b=%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u000b","pad":"\u0000","kbs":"\u0008","kf1":"\u0001@\r","kf2":"\u0001A\r","kf3":"\u0001B\r","kf4":"\u0001C\r","kf5":"\u0001D\r","kf6":"\u0001E\r","kf7":"\u0001F\r","kf8":"\u0001G\r","kf9":"\u0001H\r","kich":"\u001bQ","kdch":"\u001bW","khome":"\u001e","kcuu1":"\u000b","kcud1":"\n","kcub1":"\u0008","kcuf1":"\u000c","kclr":"\u001a"} -{"name":"tvi92B","cols":80,"lines":24,"clear":"\u001a","cnorm":"\u001b.3","sgr0":"\u001bG0","smul":"\u001bG8","rev":"\u001bG4","cup":"\u001b=%p1%' '%+%c%p2%' '%+%c$\u003c3/\u003e","cub1":"\u0008","cuu1":"\u000b","pad":"\u0000","kbs":"\u0008","kich":"\u001bQ","kdch":"\u001bW","kcuu1":"\u000b","kcud1":"\u0016","kcub1":"\u0008","kcuf1":"\u000c","kclr":"\u001a","smacs":"\u001b$","rmacs":"\u001b%%"} -{"name":"tvi92D","cols":80,"lines":24,"clear":"\u001a","cnorm":"\u001b.3","sgr0":"\u001bG0","smul":"\u001bG8","rev":"\u001bG4","cup":"\u001b=%p1%' '%+%c%p2%' '%+%c$\u003c3/\u003e","cub1":"\u0008","cuu1":"\u000b","pad":"\u0000","kbs":"\u0008","kich":"\u001bQ","kdch":"\u001bW","kcuu1":"\u000b","kcud1":"\u0016","kcub1":"\u0008","kcuf1":"\u000c","kclr":"\u001a","smacs":"\u001b$","rmacs":"\u001b%%"} -{"name":"tvi950","cols":80,"lines":24,"bell":"\u0007","clear":"\u001b*","sgr0":"\u001bG0","smul":"\u001bG8","rev":"\u001bG4","cup":"\u001b=%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u000b","pad":"\u0000","kbs":"\u0008","kf1":"\u0001@\r","kf2":"\u0001A\r","kf3":"\u0001B\r","kf4":"\u0001C\r","kf5":"\u0001D\r","kf6":"\u0001E\r","kf7":"\u0001F\r","kf8":"\u0001G\r","kf9":"\u0001H\r","kich":"\u001bQ","kdch":"\u001bW","khome":"\u001e","kcuu1":"\u000b","kcud1":"\u0016","kcub1":"\u0008","kcuf1":"\u000c","kcbt":"\u001bI","kclr":"\u001b*","acsc":"b\tc\u000cd\re\ni\u000b","smacs":"\u0015","rmacs":"\u0018"} -{"name":"tvi950-2p","cols":80,"lines":24,"bell":"\u0007","clear":"\u001b*","smcup":"\u001b\\1\u001b-07 ","rmcup":"\u001b\\2\u001b-07 ","sgr0":"\u001bG0","smul":"\u001bG8","rev":"\u001bG4","smkx":"\u001bl","rmkx":"\u001bk","cup":"\u001b=%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u000b","pad":"\u0000","kbs":"\u0008","kf1":"\u0001@\r","kf2":"\u0001A\r","kf3":"\u0001B\r","kf4":"\u0001C\r","kf5":"\u0001D\r","kf6":"\u0001E\r","kf7":"\u0001F\r","kf8":"\u0001G\r","kf9":"\u0001H\r","kich":"\u001bQ","kdch":"\u001bW","khome":"\u001e","kcuu1":"\u000b","kcud1":"\u0016","kcub1":"\u0008","kcuf1":"\u000c","kcbt":"\u001bI","kclr":"\u001b*","acsc":"b\tc\u000cd\re\ni\u000b","smacs":"\u0015","rmacs":"\u0018"} -{"name":"tvi950-4p","cols":80,"lines":24,"bell":"\u0007","clear":"\u001b*","smcup":"\u001b\\1\u001b-07 ","rmcup":"\u001b\\3\u001b-07 ","sgr0":"\u001bG0","smul":"\u001bG8","rev":"\u001bG4","smkx":"\u001bl","rmkx":"\u001bk","cup":"\u001b=%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u000b","pad":"\u0000","kbs":"\u0008","kf1":"\u0001@\r","kf2":"\u0001A\r","kf3":"\u0001B\r","kf4":"\u0001C\r","kf5":"\u0001D\r","kf6":"\u0001E\r","kf7":"\u0001F\r","kf8":"\u0001G\r","kf9":"\u0001H\r","kich":"\u001bQ","kdch":"\u001bW","khome":"\u001e","kcuu1":"\u000b","kcud1":"\u0016","kcub1":"\u0008","kcuf1":"\u000c","kcbt":"\u001bI","kclr":"\u001b*","acsc":"b\tc\u000cd\re\ni\u000b","smacs":"\u0015","rmacs":"\u0018"} -{"name":"tvi950-rv","cols":80,"lines":24,"bell":"\u0007","clear":"\u001b*","sgr0":"\u001bG0","smul":"\u001bG8","rev":"\u001bG4","cup":"\u001b=%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u000b","pad":"\u0000","kbs":"\u0008","kf1":"\u0001@\r","kf2":"\u0001A\r","kf3":"\u0001B\r","kf4":"\u0001C\r","kf5":"\u0001D\r","kf6":"\u0001E\r","kf7":"\u0001F\r","kf8":"\u0001G\r","kf9":"\u0001H\r","kich":"\u001bQ","kdch":"\u001bW","khome":"\u001e","kcuu1":"\u000b","kcud1":"\u0016","kcub1":"\u0008","kcuf1":"\u000c","kcbt":"\u001bI","kclr":"\u001b*","acsc":"b\tc\u000cd\re\ni\u000b","smacs":"\u0015","rmacs":"\u0018"} -{"name":"tvi950-rv-2p","cols":80,"lines":24,"bell":"\u0007","clear":"\u001b*","smcup":"\u001b\\1\u001b-07 ","rmcup":"\u001b\\2\u001b-07 ","sgr0":"\u001bG0","smul":"\u001bG8","rev":"\u001bG4","smkx":"\u001bl","rmkx":"\u001bk","cup":"\u001b=%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u000b","pad":"\u0000","kbs":"\u0008","kf1":"\u0001@\r","kf2":"\u0001A\r","kf3":"\u0001B\r","kf4":"\u0001C\r","kf5":"\u0001D\r","kf6":"\u0001E\r","kf7":"\u0001F\r","kf8":"\u0001G\r","kf9":"\u0001H\r","kich":"\u001bQ","kdch":"\u001bW","khome":"\u001e","kcuu1":"\u000b","kcud1":"\u0016","kcub1":"\u0008","kcuf1":"\u000c","kcbt":"\u001bI","kclr":"\u001b*","acsc":"b\tc\u000cd\re\ni\u000b","smacs":"\u0015","rmacs":"\u0018"} -{"name":"tvi950-rv-4p","cols":80,"lines":24,"bell":"\u0007","clear":"\u001b*","smcup":"\u001b\\1\u001b-07 ","rmcup":"\u001b\\3\u001b-07 ","sgr0":"\u001bG0","smul":"\u001bG8","rev":"\u001bG4","smkx":"\u001bl","rmkx":"\u001bk","cup":"\u001b=%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u000b","pad":"\u0000","kbs":"\u0008","kf1":"\u0001@\r","kf2":"\u0001A\r","kf3":"\u0001B\r","kf4":"\u0001C\r","kf5":"\u0001D\r","kf6":"\u0001E\r","kf7":"\u0001F\r","kf8":"\u0001G\r","kf9":"\u0001H\r","kich":"\u001bQ","kdch":"\u001bW","khome":"\u001e","kcuu1":"\u000b","kcud1":"\u0016","kcub1":"\u0008","kcuf1":"\u000c","kcbt":"\u001bI","kclr":"\u001b*","acsc":"b\tc\u000cd\re\ni\u000b","smacs":"\u0015","rmacs":"\u0018"} -{"name":"tvi955","cols":80,"lines":24,"bell":"\u0007","clear":"\u001b*","cnorm":"\u001b.2","civis":"\u001b.0","sgr0":"\u001bG0\u001b[=5l","smul":"\u001bG8","blink":"\u001bG2","rev":"\u001bG4","dim":"\u001b[=5h","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u000b","pad":"\u0000","kbs":"\u0008","kf1":"\u0001@\r","kf2":"\u0001A\r","kf3":"\u0001B\r","kf4":"\u0001C\r","kf5":"\u0001D\r","kf6":"\u0001E\r","kf7":"\u0001F\r","kf8":"\u0001G\r","kf9":"\u0001H\r","kich":"\u001bQ","kdch":"\u001bW","khome":"\u001e","kpp":"\u001bJ","knp":"\u001bK","kcuu1":"\u000b","kcud1":"\u0016","kcub1":"\u0008","kcuf1":"\u000c","kcbt":"\u001bI","kclr":"\u001b*","acsc":"0_`RjHkGlFmEnIoPqKsQtMuLvOwNxJ","smacs":"\u001b$","rmacs":"\u001b%%"} -{"name":"tvi955-hb","aliases":["955-hb"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u001b*","cnorm":"\u001b.2","civis":"\u001b.0","sgr0":"\u001bG0\u001b[=5h","smul":"\u001bG8","bold":"\u001b[=5l","blink":"\u001bG2","rev":"\u001bG4","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u000b","pad":"\u0000","kbs":"\u0008","kf1":"\u0001@\r","kf2":"\u0001A\r","kf3":"\u0001B\r","kf4":"\u0001C\r","kf5":"\u0001D\r","kf6":"\u0001E\r","kf7":"\u0001F\r","kf8":"\u0001G\r","kf9":"\u0001H\r","kich":"\u001bQ","kdch":"\u001bW","khome":"\u001e","kpp":"\u001bJ","knp":"\u001bK","kcuu1":"\u000b","kcud1":"\u0016","kcub1":"\u0008","kcuf1":"\u000c","kcbt":"\u001bI","kclr":"\u001b*","acsc":"0_`RjHkGlFmEnIoPqKsQtMuLvOwNxJ","smacs":"\u001b$","rmacs":"\u001b%%"} -{"name":"tvi955-w","aliases":["955-w"],"cols":132,"lines":24,"bell":"\u0007","clear":"\u001b*","cnorm":"\u001b.2","civis":"\u001b.0","sgr0":"\u001bG0\u001b[=5l","smul":"\u001bG8","blink":"\u001bG2","rev":"\u001bG4","dim":"\u001b[=5h","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u000b","pad":"\u0000","kbs":"\u0008","kf1":"\u0001@\r","kf2":"\u0001A\r","kf3":"\u0001B\r","kf4":"\u0001C\r","kf5":"\u0001D\r","kf6":"\u0001E\r","kf7":"\u0001F\r","kf8":"\u0001G\r","kf9":"\u0001H\r","kich":"\u001bQ","kdch":"\u001bW","khome":"\u001e","kpp":"\u001bJ","knp":"\u001bK","kcuu1":"\u000b","kcud1":"\u0016","kcub1":"\u0008","kcuf1":"\u000c","kcbt":"\u001bI","kclr":"\u001b*","acsc":"0_`RjHkGlFmEnIoPqKsQtMuLvOwNxJ","smacs":"\u001b$","rmacs":"\u001b%%"} -{"name":"tvi970","cols":80,"lines":24,"clear":"\u001b[H\u001b[2J","smcup":"\u001b[?20l\u001b[?7h\u001b[1Q","sgr0":"\u001b[m","smul":"\u001b[4m","cup":"\u001b[%i%p1%d;%p2%df","cub1":"\u0008","cuu1":"\u001bM","pad":"\u0000","kbs":"\u0008","kf1":"\u001b?a","kf2":"\u001b?b","kf3":"\u001b?c","kf4":"\u001b?d","kf5":"\u001b?e","kf6":"\u001b?f","kf7":"\u001b?g","kf8":"\u001b?h","kf9":"\u001b?i","khome":"\u001b[H","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","smacs":"\u001b(B","rmacs":"\u001b(B"} -{"name":"tvi970-2p","cols":80,"lines":24,"clear":"\u001b[H\u001b[2J","smcup":"\u001b[U\u001b[?20l\u001b[?7h\u001b[1Q","rmcup":"\u001b[H\u001b[J\u001b[V","sgr0":"\u001b[m","smul":"\u001b[4m","cup":"\u001b[%i%p1%d;%p2%df","cub1":"\u0008","cuu1":"\u001bM","pad":"\u0000","kbs":"\u0008","kf1":"\u001b?a","kf2":"\u001b?b","kf3":"\u001b?c","kf4":"\u001b?d","kf5":"\u001b?e","kf6":"\u001b?f","kf7":"\u001b?g","kf8":"\u001b?h","kf9":"\u001b?i","khome":"\u001b[H","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","smacs":"\u001b(B","rmacs":"\u001b(B"} -{"name":"tvi970-vb","cols":80,"lines":24,"clear":"\u001b[H\u001b[2J","smcup":"\u001b[?20l\u001b[?7h\u001b[1Q","sgr0":"\u001b[m","smul":"\u001b[4m","cup":"\u001b[%i%p1%d;%p2%df","cub1":"\u0008","cuu1":"\u001bM","pad":"\u0000","kbs":"\u0008","kf1":"\u001b?a","kf2":"\u001b?b","kf3":"\u001b?c","kf4":"\u001b?d","kf5":"\u001b?e","kf6":"\u001b?f","kf7":"\u001b?g","kf8":"\u001b?h","kf9":"\u001b?i","khome":"\u001b[H","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","smacs":"\u001b(B","rmacs":"\u001b(B"} -{"name":"tvipt","cols":80,"lines":24,"clear":"\u001a","smul":"\u001bG1B@\u001bH","cup":"\u001b=%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u000b","pad":"\u0000","kbs":"\u0008","kf1":"\u0002","khome":"\u001e","kcuu1":"\u000b","kcud1":"\n","kcub1":"\u0008","kcuf1":"\u000c"} -{"name":"tws-generic","aliases":["dku7102"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u001b[2J","smcup":"\u001b[?\u003eh\u001bPY99:98\u001b\\","rmcup":"\u001b[0;98v\u001b[2J\u001b[v","cnorm":"\u001b[r","civis":"\u001b[1r","sgr0":"\u001b[m\u000f","smul":"\u001b[0;4m","blink":"\u001b[0;5m","rev":"\u001b[0;7m","dim":"\u001b[0;2m","cup":"\u001b[%i%p1%d;%p2%df","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001b[1u\u0017","kf2":"\u001b[2u\u0017","kf3":"\u001b[3u\u0017","kf4":"\u001b[4u\u0017","kf5":"\u001b[5u\u0017","kf6":"\u001b[6u\u0017","kf7":"\u001b[7u\u0017","kf8":"\u001b[8u\u0017","kdch":"\u001b[P","khome":"\u001b[H","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001b[Z","acsc":"``aaffggj)k,l\u0026m#n/ooppq*rrsst'u-v+w.x%yyzz{{||}}~~","smacs":"\u000e","rmacs":"\u000f"} -{"name":"tws2102-sna","aliases":["dku7102-sna"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u001b[2J","smcup":"\u001b[?\u003eh\u001bPY99:98\u001b\\","rmcup":"\u001b[0;98v\u001b[2J\u001b[v","cnorm":"\u001b[r","civis":"\u001b[1r","sgr0":"\u001b[m\u000f","smul":"\u001b[0;4m","blink":"\u001b[0;5m","rev":"\u001b[0;7m","dim":"\u001b[0;2m","cup":"\u001b[%i%p1%d;%p2%df","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001b[1u\u0017","kf2":"\u001b[2u\u0017","kf3":"\u001b[3u\u0017","kf4":"\u001b[4u\u0017","kf5":"\u001b[5u\u0017","kf6":"\u001b[6u\u0017","kf7":"\u001b[7u\u0017","kf8":"\u001b[8u\u0017","kdch":"\u001b[P","khome":"\u001b[H","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001b[Z","acsc":"``aaffggj)k,l\u0026m#n/ooppq*rrsst'u-v+w.x%yyzz{{||}}~~","smacs":"\u000e","rmacs":"\u000f"} -{"name":"tws2103","aliases":["xdku"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u001b[2J","smcup":"\u001b[?\u003eh\u001bPY99:98\u001b\\","rmcup":"\u001b[0;98v\u001b[2J\u001b[v","cnorm":"\u001b[r","civis":"\u001b[1r","sgr0":"\u001b[m\u000f","smul":"\u001b[0;4m","blink":"\u001b[0;5m","rev":"\u001b[0;7m","dim":"\u001b[0;2m","cup":"\u001b[%i%p1%d;%p2%df","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001b[1u\u0017","kf2":"\u001b[2u\u0017","kf3":"\u001b[3u\u0017","kf4":"\u001b[4u\u0017","kf5":"\u001b[5u\u0017","kf6":"\u001b[6u\u0017","kf7":"\u001b[7u\u0017","kf8":"\u001b[8u\u0017","kdch":"\u001b[P","khome":"\u001b[H","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001b[Z","acsc":"``aaffggj)k,l\u0026m#n/ooppq*rrsst'u-v+w.x%yyzz{{||}}~~","smacs":"\u000e","rmacs":"\u000f"} -{"name":"tws2103-sna","aliases":["dku7103-sna"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u001b[2J","smcup":"\u001b[?\u003eh\u001bPY99:98\u001b\\","rmcup":"\u001b[0;98v\u001b[2J\u001b[v","cnorm":"\u001b[r","civis":"\u001b[1r","sgr0":"\u001b[m\u000f","smul":"\u001b[0;4m","blink":"\u001b[0;5m","rev":"\u001b[0;7m","dim":"\u001b[0;2m","cup":"\u001b[%i%p1%d;%p2%df","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001b[1u\u0017","kf2":"\u001b[2u\u0017","kf3":"\u001b[3u\u0017","kf4":"\u001b[4u\u0017","kf5":"\u001b[5u\u0017","kf6":"\u001b[6u\u0017","kf7":"\u001b[7u\u0017","kf8":"\u001b[8u\u0017","kdch":"\u001b[P","khome":"\u001b[H","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001b[Z","acsc":"``aaffggj)k,l\u0026m#n/ooppq*rrsst'u-v+w.x%yyzz{{||}}~~","smacs":"\u000e","rmacs":"\u000f"} -{"name":"uniterm","aliases":["uniterm49"],"cols":80,"lines":49,"bell":"\u0007","clear":"\u001b[H\u001b[J","sgr0":"\u001b[m\u001b(B","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kf6":"\u001b[17~","kf7":"\u001b[18~","kf8":"\u001b[19~","kf9":"\u001b[20~","kf10":"\u001b[21~","kf11":"\u001b[23~","kf12":"\u001b[24~","kf13":"\u001b[25~","kf14":"\u001b[26~","kf17":"\u001b[31~","kf18":"\u001b[32~","kf19":"\u001b[33~","kf20":"\u001b[34~","kich":"\u001b[2~","khlp":"\u001b[28~","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","acsc":"``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u001b(0$\u003c2\u003e","rmacs":"\u001b(B$\u003c4\u003e","enacs":"\u001b)0"} -{"name":"uts30","cols":80,"lines":24,"bell":"\u0007","clear":"\u000c","cnorm":"\u001bS","civis":"\u001bR","sgr0":"\u001b[m","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","khome":"\u001b[H","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC","acsc":"``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u001bF","rmacs":"\u001bd"} -{"name":"uwin","cols":-1,"lines":-1,"colors":8,"bell":"\u0007","clear":"\u001b[H\u001b[J","cnorm":"\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b[0;10m","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","dim":"\u001b[2m","setaf":"\u001b[3%p1%dm","setbg":"\u001b[4%p1%dm","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kf5":"\u001bOT","kf6":"\u001bOU","kf7":"\u001bOV","kf8":"\u001bOW","kf9":"\u001bOX","kf10":"\u001bOY","kf11":"\u001bOZ","kf12":"\u001bOA","kich":"\u001b[@","kdch":"","khome":"\u001b[H","kend":"\u001b[Y","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","acsc":"+\u0010,\u0011-\u0018.\u00190\ufffd`\u0004a\ufffdf\ufffdg\ufffdh\ufffdi\ufffdj\ufffdk\ufffdl\ufffdm\ufffdn\ufffdo~p\ufffdq\ufffdr\ufffds_t\ufffdu\ufffdv\ufffdw\ufffdx\ufffdy\ufffdz\ufffd{\ufffd|\ufffd}\ufffd~\ufffd","smacs":"\u001b[11m","rmacs":"\u001b[10m","_setfgbg":"\u001b[3%p1%d;4%p2%dm"} -{"name":"v3220","cols":80,"lines":24,"clear":"\u001b[H\u001b[J","sgr0":"\u001b[m","smul":"\u001b[4m","smkx":"\u001b=","rmkx":"\u001b\u003e","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kf1":"\u001b[2~","kf2":"\u001b[3~","kf3":"\u001b[4~","kf4":"\u001b[5~","kf5":"\u001b[6~","kf6":"\u001b[OP","kf7":"\u001b[OQ","kf8":"\u001b[OR","kf9":"\u001b[OS","khome":"\u001b[H","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C"} -{"name":"v5410","cols":80,"lines":24,"bell":"\u0007","clear":"\u001b[H\u001b[J$\u003c50\u003e","sgr0":"\u001b[m\u000f$\u003c2\u003e","smul":"\u001b[4m$\u003c2\u003e","bold":"\u001b[1m$\u003c2\u003e","blink":"\u001b[5m$\u003c2\u003e","rev":"\u001b[7m$\u003c2\u003e","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","cup":"\u001b[%i%p1%d;%p2%dH$\u003c5\u003e","cub1":"\u0008","cuu1":"\u001b[A$\u003c2\u003e","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kf5":"\u001bOt","kf6":"\u001bOu","kf7":"\u001bOv","kf8":"\u001bOl","kf9":"\u001bOw","kf10":"\u001bOx","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC","acsc":"``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u000e","rmacs":"\u000f","enacs":"\u001b(B\u001b)0"} -{"name":"vc404","cols":80,"lines":24,"bell":"\u0007","clear":"\u0018$\u003c40\u003e","cup":"\u0010%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u001a","pad":"\u0000","kcuu1":"\u001a","kcud1":"\n","kcub1":"\u0008","kcuf1":"\u0015"} -{"name":"vc404-s","cols":80,"lines":24,"bell":"\u0007","clear":"\u0018$\u003c40\u003e","cup":"\u0010%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u001a","pad":"\u0000","kcuu1":"\u001a","kcud1":"\n","kcub1":"\u0008","kcuf1":"\u0015"} -{"name":"vc414","aliases":["vc414h"],"cols":80,"lines":24,"clear":"\u001b\u001c$\u003c40\u003e","cup":"\u001b\u0011%p2%c%p1%c$\u003c40\u003e","cuu1":"\u001b\u000c","pad":"\u0000","kf1":"\u001bB","kf2":"\u001bC","kf3":"\u001bD","kf4":"\u001bE","kf5":"\u001bF","kf6":"\u001bG","kf7":"\u001bH","khome":"\u001b\u0012","kcuu1":"\u001b\u000c","kcud1":"\u001b\u000b","kcub1":"\u0008","kcuf1":"\u0010"} -{"name":"vc415","cols":80,"lines":24,"bell":"\u0007","clear":"\u000c","cup":"\u0010%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u001a","pad":"\u0000","kcuu1":"\u001a","kcud1":"\n","kcub1":"\u0008","kcuf1":"\u0015"} -{"name":"versaterm","cols":80,"lines":24,"bell":"\u0007","clear":"\u001b[;H\u001b[2J$\u003c50/\u003e","sgr0":"\u001b[m$\u003c2/\u003e","smul":"\u001b[4m$\u003c2/\u003e","bold":"\u001b[1m$\u003c2/\u003e","blink":"\u001b[5m$\u003c2/\u003e","rev":"\u001b[7m$\u003c2/\u003e","smkx":"\u001b=\u001b[?1h","rmkx":"\u001b\u003e\u001b[?1l","cup":"\u001b[%i%p1%d;%p2%dH$\u003c5/\u003e","cub1":"\u0008","cuu1":"\u001b[A$\u003c2/\u003e","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC"} -{"name":"vi200","cols":80,"lines":24,"bell":"\u0007","clear":"\u001bv","cnorm":"\u001bc","sgr0":"\u001b3\u001bb","dim":"\u001b4","smkx":"\u001b=","rmkx":"\u001b\u003e","cup":"\u001bY%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u001bA","pad":"\u0000","kbs":"\u0008","kf1":"\u001b?q","kf2":"\u001b?r","kf3":"\u001b?s","kf4":"\u001b?t","kf5":"\u001b?u","kf6":"\u001b?v","kf7":"\u001b?w","kf8":"\u001b?x","kf9":"\u001b?y","kich":"\u001bi","kdch":"\u001bO","khome":"\u001bH","kcuu1":"\u001bA","kcud1":"\u001bB","kcub1":"\u001bD","kcuf1":"\u001bC","kclr":"\u001bv","smacs":"\u001bF","rmacs":"\u001bG"} -{"name":"vi200-f","cols":80,"lines":24,"bell":"\u0007","clear":"\u001bv","cnorm":"\u001bc","sgr0":"\u001b3\u001bb","dim":"\u001b4","smkx":"\u001b=","rmkx":"\u001b\u003e","cup":"\u001bY%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u001bA","pad":"\u0000","kbs":"\u0008","kf1":"\u001b?q","kf2":"\u001b?r","kf3":"\u001b?s","kf4":"\u001b?t","kf5":"\u001b?u","kf6":"\u001b?v","kf7":"\u001b?w","kf8":"\u001b?x","kf9":"\u001b?y","kich":"\u001bi","kdch":"\u001bO","khome":"\u001bH","kcuu1":"\u001bA","kcud1":"\u001bB","kcub1":"\u001bD","kcuf1":"\u001bC","kclr":"\u001bv","smacs":"\u001bF","rmacs":"\u001bG"} -{"name":"vi200-rv","cols":80,"lines":24,"bell":"\u0007","clear":"\u001bv","sgr0":"\u001b3\u001bb","dim":"\u001b4","smkx":"\u001b=","rmkx":"\u001b\u003e","cup":"\u001bY%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u001bA","pad":"\u0000","kbs":"\u0008","kf1":"\u001b?q","kf2":"\u001b?r","kf3":"\u001b?s","kf4":"\u001b?t","kf5":"\u001b?u","kf6":"\u001b?v","kf7":"\u001b?w","kf8":"\u001b?x","kf9":"\u001b?y","kich":"\u001bi","kdch":"\u001bO","khome":"\u001bH","kcuu1":"\u001bA","kcud1":"\u001bB","kcub1":"\u001bD","kcuf1":"\u001bC","kclr":"\u001bv","smacs":"\u001bF","rmacs":"\u001bG"} -{"name":"vi300","cols":80,"lines":24,"bell":"\u0007","clear":"\u001b[H\u001b[2J","sgr0":"\u001b[m","smul":"\u001b[4m","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kf1":"\u001b_A\u001b\\","kf2":"\u001b_B\u001b\\","kf3":"\u001b_C\u001b\\","kf4":"\u001b_D\u001b\\","kf5":"\u001b_E\u001b\\","kf6":"\u001b_F\u001b\\","kf7":"\u001b_G\u001b\\","kf8":"\u001b_H\u001b\\","kf9":"\u001b_I\u001b\\","khome":"\u001b[H","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C"} -{"name":"vi300-old","cols":80,"lines":24,"bell":"\u0007","clear":"\u001b[H\u001b[2J","sgr0":"\u001b[m","smul":"\u001b[4m","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kf1":"\u001b_A\u001b\\","kf2":"\u001b_B\u001b\\","kf3":"\u001b_C\u001b\\","kf4":"\u001b_D\u001b\\","kf5":"\u001b_E\u001b\\","kf6":"\u001b_F\u001b\\","kf7":"\u001b_G\u001b\\","kf8":"\u001b_H\u001b\\","kf9":"\u001b_I\u001b\\","khome":"\u001b[H","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C"} -{"name":"vi50","cols":80,"lines":24,"bell":"\u0007","clear":"\u001bH\u001bJ","smul":"\u001bS","cup":"\u001bY%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u001bA","pad":"\u0000","kbs":"\u0008","kf1":"\u001bP","kf2":"\u001bQ","kf3":"\u001bR","kf4":"\u001bV","kf5":"\u001bE","kf6":"\u001b]","kf7":"\u001bL","kf8":"\u001bv","kf9":"\u001bM","khome":"\u001bH","kcuu1":"\u001bA","kcud1":"\u001bB","kcub1":"\u001bD","kcuf1":"\u001bC"} -{"name":"vi500","cols":80,"lines":33,"clear":"\u001bv$\u003c6*/\u003e","smul":"\u001b\u0004","cup":"\u001bY%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u001bA","pad":"\u0000","kbs":"\u0008","khome":"\u001bH","kcuu1":"\u001bA","kcud1":"\u001bB","kcub1":"\u001bD","kcuf1":"\u001bC","smacs":"\u000e","rmacs":"\u000f"} -{"name":"vi50adm","cols":80,"lines":24,"bell":"\u0007","clear":"\u001a","cup":"\u001b=%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u000b","pad":"\u0000","kbs":"\u0008","khome":"\u001bH","kcuu1":"\u001bA","kcud1":"\u001bB","kcub1":"\u001bD","kcuf1":"\u001bC"} -{"name":"vi55","cols":80,"lines":24,"clear":"\u001bv","cup":"\u001bY%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u001bA","pad":"\u0000","kbs":"\u0008","kcuu1":"\u001bA","kcud1":"\u001bB","kcub1":"\u001bD","kcuf1":"\u001bC"} -{"name":"vi550","cols":80,"lines":33,"bell":"\u0007","clear":"\u0018\u001b[H\u001b[2J","sgr0":"\u001b[m","smul":"\u001b[4m","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kf1":"\u001b_A\u001b\\","kf2":"\u001b_B\u001b\\","kf3":"\u001b_C\u001b\\","kf4":"\u001b_D\u001b\\","kf5":"\u001b_E\u001b\\","kf6":"\u001b_F\u001b\\","kf7":"\u001b_G\u001b\\","kf8":"\u001b_H\u001b\\","kf9":"\u001b_I\u001b\\","khome":"\u001b[H","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C"} -{"name":"vi603","aliases":["visual603"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u001b[H\u001b[J","sgr0":"\u001b[m","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kf5":"\u001bOt","kf6":"\u001bOu","kf7":"\u001bOv","kf8":"\u001bOl","kf9":"\u001bOw","kf10":"\u001bOx","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC","acsc":"``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u000e","rmacs":"\u000f","enacs":"\u001b(B\u001b)0"} -{"name":"viewpoint","aliases":["addsviewpoint"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u000c","cnorm":"\u000f\u001b0`","sgr0":"\u000f","smul":"\u000e","cup":"\u001bY%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u001a","pad":"\u0000","kf2":"\u00022","kf3":"\u0002!","kf4":"\u0002\"","kf5":"\u0002#","khome":"\u0001","kcuu1":"\u001a","kcud1":"\n","kcub1":"\u0015","kcuf1":"\u0006"} -{"name":"vip","cols":80,"lines":24,"bell":"\u0007","clear":"\u001b`","sgr0":"\u001bsR\u001bsU\u001bF","smul":"\u001bs_","blink":"\u001bsB","rev":"\u001bsI","dim":"\u001bsL","cup":"\u001b[%i%p1%03d%p2%03df","cub1":"\u0008","cuu1":"\u001bA","pad":"\u0000","kbs":"\u0008","kf1":"\u001b0","kf2":"\u001b2","kf3":"\u001b6","kf4":"\u001b8","kf5":"\u001b:","kf6":"\u001b\u003c","kf7":"\u001b\u003e","kf8":"\u001bP","kf9":"\u001bR","kf10":"\u001bT","kf11":"\u001b\\","kf12":"\u001b^","kf21":"\u001b1","kf22":"\u001b5","kf23":"\u001b7","kf24":"\u001b9","kf25":"\u001b;","kf26":"\u001b=","kf27":"\u001b?","kf28":"\u001bQ","kf29":"\u001bS","kf30":"\u001bV","kf31":"\u001b]","kf32":"\u001b_","kich":"\u001b[I","kdch":"\u001b[P","khome":"\u001bH","kcuu1":"\u001bA","kcud1":"\u001bB","kcub1":"\u001bD","kcuf1":"\u001bC","kcbt":"\u001b[Z","kclr":"\u001b`","acsc":"0pjdkblamcnkqitgufvhwexj","smacs":"\u001bG","rmacs":"\u001bF","kRIT":"\u001bu","kLFT":"\u001bo","kHOM":"\u001bH"} -{"name":"vip-H","aliases":["Q310-vip-H","Q310-vip-H-am","vip7800-H"],"cols":80,"lines":72,"bell":"\u0007","clear":"\u001b`","sgr0":"\u001bsR\u001bsU\u001bF","smul":"\u001bs_","blink":"\u001bsB","rev":"\u001bsI","dim":"\u001bsL","cup":"\u001b[%i%p1%03d%p2%03df","cub1":"\u0008","cuu1":"\u001bA","pad":"\u0000","kbs":"\u0008","kf1":"\u001b0","kf2":"\u001b2","kf3":"\u001b6","kf4":"\u001b8","kf5":"\u001b:","kf6":"\u001b\u003c","kf7":"\u001b\u003e","kf8":"\u001bP","kf9":"\u001bR","kf10":"\u001bT","kf11":"\u001b\\","kf12":"\u001b^","kf21":"\u001b1","kf22":"\u001b5","kf23":"\u001b7","kf24":"\u001b9","kf25":"\u001b;","kf26":"\u001b=","kf27":"\u001b?","kf28":"\u001bQ","kf29":"\u001bS","kf30":"\u001bV","kf31":"\u001b]","kf32":"\u001b_","kich":"\u001b[I","kdch":"\u001b[P","khome":"\u001bH","kcuu1":"\u001bA","kcud1":"\u001bB","kcub1":"\u001bD","kcuf1":"\u001bC","kcbt":"\u001b[Z","kclr":"\u001b`","acsc":"0pjdkblamcnkqitgufvhwexj","smacs":"\u001bG","rmacs":"\u001bF","kRIT":"\u001bu","kLFT":"\u001bo","kHOM":"\u001bH"} -{"name":"vip-Hw","aliases":["Q310-vip-Hw","vip7800-Hw"],"cols":132,"lines":72,"bell":"\u0007","clear":"\u001b`","sgr0":"\u001bsR\u001bsU\u001bF","smul":"\u001bs_","blink":"\u001bsB","rev":"\u001bsI","dim":"\u001bsL","cup":"\u001b[%i%p1%03d%p2%03df","cub1":"\u0008","cuu1":"\u001bA","pad":"\u0000","kbs":"\u0008","kf1":"\u001b0","kf2":"\u001b2","kf3":"\u001b6","kf4":"\u001b8","kf5":"\u001b:","kf6":"\u001b\u003c","kf7":"\u001b\u003e","kf8":"\u001bP","kf9":"\u001bR","kf10":"\u001bT","kf11":"\u001b\\","kf12":"\u001b^","kf21":"\u001b1","kf22":"\u001b5","kf23":"\u001b7","kf24":"\u001b9","kf25":"\u001b;","kf26":"\u001b=","kf27":"\u001b?","kf28":"\u001bQ","kf29":"\u001bS","kf30":"\u001bV","kf31":"\u001b]","kf32":"\u001b_","kich":"\u001b[I","kdch":"\u001b[P","khome":"\u001bH","kcuu1":"\u001bA","kcud1":"\u001bB","kcub1":"\u001bD","kcuf1":"\u001bC","kcbt":"\u001b[Z","kclr":"\u001b`","acsc":"0pjdkblamcnkqitgufvhwexj","smacs":"\u001bG","rmacs":"\u001bF","kRIT":"\u001bu","kLFT":"\u001bo","kHOM":"\u001bH"} -{"name":"vip-w","aliases":["Q310-vip-w","Q310-vip-w-am","vip7800-w"],"cols":132,"lines":24,"bell":"\u0007","clear":"\u001b`","sgr0":"\u001bsR\u001bsU\u001bF","smul":"\u001bs_","blink":"\u001bsB","rev":"\u001bsI","dim":"\u001bsL","cup":"\u001b[%i%p1%03d%p2%03df","cub1":"\u0008","cuu1":"\u001bA","pad":"\u0000","kbs":"\u0008","kf1":"\u001b0","kf2":"\u001b2","kf3":"\u001b6","kf4":"\u001b8","kf5":"\u001b:","kf6":"\u001b\u003c","kf7":"\u001b\u003e","kf8":"\u001bP","kf9":"\u001bR","kf10":"\u001bT","kf11":"\u001b\\","kf12":"\u001b^","kf21":"\u001b1","kf22":"\u001b5","kf23":"\u001b7","kf24":"\u001b9","kf25":"\u001b;","kf26":"\u001b=","kf27":"\u001b?","kf28":"\u001bQ","kf29":"\u001bS","kf30":"\u001bV","kf31":"\u001b]","kf32":"\u001b_","kich":"\u001b[I","kdch":"\u001b[P","khome":"\u001bH","kcuu1":"\u001bA","kcud1":"\u001bB","kcub1":"\u001bD","kcuf1":"\u001bC","kcbt":"\u001b[Z","kclr":"\u001b`","acsc":"0pjdkblamcnkqitgufvhwexj","smacs":"\u001bG","rmacs":"\u001bF","kRIT":"\u001bu","kLFT":"\u001bo","kHOM":"\u001bH"} -{"name":"visa50","cols":80,"lines":25,"bell":"\u0007","clear":"\u001b[H\u001b[2J","sgr0":"\u001b[0;2m","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","dim":"\u001b[2m","smkx":"\u001b=","rmkx":"\u001b\u003e","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u001b[D","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001b001","kf2":"\u001b002","kf3":"\u001b003","kf4":"\u001b004","kf5":"\u001b005","kf6":"\u001b006","kf7":"\u001b007","kf8":"\u001b008","kf9":"\u001b009","kf10":"\u001b011","kdch":"","khome":"\u001b[f","kcuu1":"\u001b[A","kcud1":"\u001b[A","kcub1":"\u001b[D","kcuf1":"\u001b[C","acsc":"0_aaffggh jjkkllmmnnooqqssttuuvvwwxx","smacs":"\u001b3h","rmacs":"\u001b[3l"} -{"name":"vp3a+","aliases":["viewpoint3a+"],"cols":80,"lines":24,"clear":"\u001b*$\u003c80\u003e","cnorm":"\u0018","civis":"\u0017","sgr0":"\u001b(","smul":"\u001b0`\u001b)","blink":"\u001b0B\u001b)","rev":"\u001b0P\u001b)","dim":"\u001b0A\u001b)","cup":"\u001b=%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u000b","pad":"\u0000","kbs":"\u0008","khome":"\u001e","kcuu1":"\u000b","kcud1":"\n","kcub1":"\u0008","kcuf1":"\u000c"} -{"name":"vp60","aliases":["addsvp60","viewpoint60"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u000c","sgr0":"\u001b0@","smul":"\u001b0`","cup":"\u001bY%p1%' '%+%c%p2%' '%+%c","cub1":"\u0015","cuu1":"\u001a","pad":"\u0000","kf1":"\u00022\r","kf2":"\u00023\r","kf3":"\u00024\r","kf4":"\u00025\r","kf5":"\u00026\r","kf6":"\u00027\r","kf7":"\u00028\r","khome":"\u0001","kcuu1":"\u001a","kcud1":"\n","kcub1":"\u0015","kcuf1":"\u0006"} -{"name":"vp90","aliases":["viewpoint90"],"cols":80,"lines":24,"clear":"\u001bG\u001bk","sgr0":"\u001bR\u001b0@\u001bV","smul":"\u001bR\u001b0`\u001bV","cup":"\u001bY%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u001a","pad":"\u0000","kbs":"\u0008","kf1":"\u00022\r","kf2":"\u00023\r","kf3":"\u00024\r","kf4":"\u00025\r","kf5":"\u00026\r","kf6":"\u00027\r","kf7":"\u00028\r","kf8":"\u00029\r","kf9":"\u0002:\r","kf10":"\u0002;\r","khome":"\u0001","kcuu1":"\u001a","kcud1":"\n","kcub1":"\u0015","kcuf1":"\u0006"} -{"name":"vremote","cols":79,"lines":24,"bell":"\u0007","clear":"\u001bL","smul":"\u001ba\u0001","cup":"\u001bG%p2%c%p1%c","cub1":"\u0008","cuu1":"\u001bA","pad":"\u0000","khome":"\u001bE","kcuu1":"\u001bA","kcud1":"\u001bB","kcub1":"\u001bD","kcuf1":"\u001bC"} -{"name":"vsc","cols":80,"lines":26,"clear":"\u001b[;H\u001b[2J$\u003c50/\u003e","sgr0":"\u001f!","smul":"\u001f\"","rev":"\u001f ","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kcud1":"\n","kcub1":"\u0008"} -{"name":"vt100","aliases":["vt100-am"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u001b[H\u001b[J$\u003c50\u003e","sgr0":"\u001b[m\u000f$\u003c2\u003e","smul":"\u001b[4m$\u003c2\u003e","bold":"\u001b[1m$\u003c2\u003e","blink":"\u001b[5m$\u003c2\u003e","rev":"\u001b[7m$\u003c2\u003e","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","cup":"\u001b[%i%p1%d;%p2%dH$\u003c5\u003e","cub1":"\u0008","cuu1":"\u001b[A$\u003c2\u003e","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kf5":"\u001bOt","kf6":"\u001bOu","kf7":"\u001bOv","kf8":"\u001bOl","kf9":"\u001bOw","kf10":"\u001bOx","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC","acsc":"``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u000e","rmacs":"\u000f","enacs":"\u001b(B\u001b)0"} -{"name":"vt100-nav","cols":80,"lines":24,"bell":"\u0007","clear":"\u001b[H\u001b[J$\u003c50\u003e","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","cup":"\u001b[%i%p1%d;%p2%dH$\u003c5\u003e","cub1":"\u0008","cuu1":"\u001b[A$\u003c2\u003e","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kf5":"\u001bOt","kf6":"\u001bOu","kf7":"\u001bOv","kf8":"\u001bOl","kf9":"\u001bOw","kf10":"\u001bOx","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC","acsc":"``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u000e","rmacs":"\u000f","enacs":"\u001b(B\u001b)0"} -{"name":"vt100-nav-w","aliases":["vt100-w-nav"],"cols":132,"lines":14,"bell":"\u0007","clear":"\u001b[H\u001b[J$\u003c50\u003e","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","cup":"\u001b[%i%p1%d;%p2%dH$\u003c5\u003e","cub1":"\u0008","cuu1":"\u001b[A$\u003c2\u003e","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kf5":"\u001bOt","kf6":"\u001bOu","kf7":"\u001bOv","kf8":"\u001bOl","kf9":"\u001bOw","kf10":"\u001bOx","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC","acsc":"``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u000e","rmacs":"\u000f","enacs":"\u001b(B\u001b)0"} -{"name":"vt100-putty","cols":80,"lines":24,"bell":"\u0007","clear":"\u001b[H\u001b[J$\u003c50\u003e","sgr0":"\u001b[m\u000f$\u003c2\u003e","smul":"\u001b[4m$\u003c2\u003e","bold":"\u001b[1m$\u003c2\u003e","blink":"\u001b[5m$\u003c2\u003e","rev":"\u001b[7m$\u003c2\u003e","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","cup":"\u001b[%i%p1%d;%p2%dH$\u003c5\u003e","cub1":"\u0008","cuu1":"\u001b[A$\u003c2\u003e","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kf5":"\u001bOt","kf6":"\u001bOu","kf7":"\u001bOv","kf8":"\u001bOl","kf9":"\u001bOw","kf10":"\u001bOx","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC","acsc":"``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u000e","rmacs":"\u000f","enacs":"\u001b(B\u001b)0"} -{"name":"vt100-s","aliases":["vt100-s-top","vt100-top-s"],"cols":80,"lines":23,"bell":"\u0007","clear":"\u001b[2;1H\u001b[J$\u003c50\u003e","sgr0":"\u001b[m\u000f$\u003c2\u003e","smul":"\u001b[4m$\u003c2\u003e","bold":"\u001b[1m$\u003c2\u003e","blink":"\u001b[5m$\u003c2\u003e","rev":"\u001b[7m$\u003c2\u003e","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","cup":"\u001b[%i%p1%{1}%+%d;%p2%dH$\u003c5\u003e","cub1":"\u0008","cuu1":"\u001b[A$\u003c2\u003e","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kf5":"\u001bOt","kf6":"\u001bOu","kf7":"\u001bOv","kf8":"\u001bOl","kf9":"\u001bOw","kf10":"\u001bOx","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC","acsc":"``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u000e","rmacs":"\u000f","enacs":"\u001b(B\u001b)0"} -{"name":"vt100-s-bot","aliases":["vt100-bot-s"],"cols":80,"lines":23,"bell":"\u0007","clear":"\u001b[H\u001b[J$\u003c50\u003e","sgr0":"\u001b[m\u000f$\u003c2\u003e","smul":"\u001b[4m$\u003c2\u003e","bold":"\u001b[1m$\u003c2\u003e","blink":"\u001b[5m$\u003c2\u003e","rev":"\u001b[7m$\u003c2\u003e","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","cup":"\u001b[%i%p1%d;%p2%dH$\u003c5\u003e","cub1":"\u0008","cuu1":"\u001b[A$\u003c2\u003e","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kf5":"\u001bOt","kf6":"\u001bOu","kf7":"\u001bOv","kf8":"\u001bOl","kf9":"\u001bOw","kf10":"\u001bOx","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC","acsc":"``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u000e","rmacs":"\u000f","enacs":"\u001b(B\u001b)0"} -{"name":"vt100-vb","cols":80,"lines":24,"clear":"\u001b[H\u001b[J$\u003c50\u003e","sgr0":"\u001b[m\u000f$\u003c2\u003e","smul":"\u001b[4m$\u003c2\u003e","bold":"\u001b[1m$\u003c2\u003e","blink":"\u001b[5m$\u003c2\u003e","rev":"\u001b[7m$\u003c2\u003e","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","cup":"\u001b[%i%p1%d;%p2%dH$\u003c5\u003e","cub1":"\u0008","cuu1":"\u001b[A$\u003c2\u003e","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kf5":"\u001bOt","kf6":"\u001bOu","kf7":"\u001bOv","kf8":"\u001bOl","kf9":"\u001bOw","kf10":"\u001bOx","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC","acsc":"``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u000e","rmacs":"\u000f","enacs":"\u001b(B\u001b)0"} -{"name":"vt100-w","aliases":["vt100-w-am"],"cols":132,"lines":24,"bell":"\u0007","clear":"\u001b[H\u001b[J$\u003c50\u003e","sgr0":"\u001b[m\u000f$\u003c2\u003e","smul":"\u001b[4m$\u003c2\u003e","bold":"\u001b[1m$\u003c2\u003e","blink":"\u001b[5m$\u003c2\u003e","rev":"\u001b[7m$\u003c2\u003e","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","cup":"\u001b[%i%p1%d;%p2%dH$\u003c5\u003e","cub1":"\u0008","cuu1":"\u001b[A$\u003c2\u003e","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kf5":"\u001bOt","kf6":"\u001bOu","kf7":"\u001bOv","kf8":"\u001bOl","kf9":"\u001bOw","kf10":"\u001bOx","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC","acsc":"``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u000e","rmacs":"\u000f","enacs":"\u001b(B\u001b)0"} -{"name":"vt100-w-nam","aliases":["vt100-nam-w"],"cols":132,"lines":14,"bell":"\u0007","clear":"\u001b[H\u001b[J$\u003c50\u003e","sgr0":"\u001b[m\u000f$\u003c2\u003e","smul":"\u001b[4m$\u003c2\u003e","bold":"\u001b[1m$\u003c2\u003e","blink":"\u001b[5m$\u003c2\u003e","rev":"\u001b[7m$\u003c2\u003e","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","cup":"\u001b[%i%p1%d;%p2%dH$\u003c5\u003e","cub1":"\u0008","cuu1":"\u001b[A$\u003c2\u003e","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kf5":"\u001bOt","kf6":"\u001bOu","kf7":"\u001bOv","kf8":"\u001bOl","kf9":"\u001bOw","kf10":"\u001bOx","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC","acsc":"``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u000e","rmacs":"\u000f","enacs":"\u001b(B\u001b)0"} -{"name":"vt100nam","aliases":["vt100-nam"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u001b[H\u001b[J$\u003c50\u003e","sgr0":"\u001b[m\u000f$\u003c2\u003e","smul":"\u001b[4m$\u003c2\u003e","bold":"\u001b[1m$\u003c2\u003e","blink":"\u001b[5m$\u003c2\u003e","rev":"\u001b[7m$\u003c2\u003e","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","cup":"\u001b[%i%p1%d;%p2%dH$\u003c5\u003e","cub1":"\u0008","cuu1":"\u001b[A$\u003c2\u003e","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kf5":"\u001bOt","kf6":"\u001bOu","kf7":"\u001bOv","kf8":"\u001bOl","kf9":"\u001bOw","kf10":"\u001bOx","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC","acsc":"``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u000e","rmacs":"\u000f","enacs":"\u001b(B\u001b)0"} -{"name":"vt102","cols":80,"lines":24,"bell":"\u0007","clear":"\u001b[H\u001b[J$\u003c50\u003e","sgr0":"\u001b[m\u000f$\u003c2\u003e","smul":"\u001b[4m$\u003c2\u003e","bold":"\u001b[1m$\u003c2\u003e","blink":"\u001b[5m$\u003c2\u003e","rev":"\u001b[7m$\u003c2\u003e","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","cup":"\u001b[%i%p1%d;%p2%dH$\u003c5\u003e","cub1":"\u0008","cuu1":"\u001b[A$\u003c2\u003e","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kf5":"\u001bOt","kf6":"\u001bOu","kf7":"\u001bOv","kf8":"\u001bOl","kf9":"\u001bOw","kf10":"\u001bOx","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC","acsc":"``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u000e","rmacs":"\u000f","enacs":"\u001b(B\u001b)0"} -{"name":"vt102-nsgr","cols":80,"lines":24,"bell":"\u0007","clear":"\u001b[H\u001b[J$\u003c50\u003e","sgr0":"\u001b[m","smul":"\u001b[4m$\u003c2\u003e","bold":"\u001b[1m$\u003c2\u003e","blink":"\u001b[5m$\u003c2\u003e","rev":"\u001b[7m$\u003c2\u003e","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","cup":"\u001b[%i%p1%d;%p2%dH$\u003c5\u003e","cub1":"\u0008","cuu1":"\u001b[A$\u003c2\u003e","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kf5":"\u001bOt","kf6":"\u001bOu","kf7":"\u001bOv","kf8":"\u001bOl","kf9":"\u001bOw","kf10":"\u001bOx","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC","acsc":"``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u000e","rmacs":"\u000f","enacs":"\u001b(B\u001b)0"} -{"name":"vt102-w","cols":132,"lines":24,"bell":"\u0007","clear":"\u001b[H\u001b[J$\u003c50\u003e","sgr0":"\u001b[m\u000f$\u003c2\u003e","smul":"\u001b[4m$\u003c2\u003e","bold":"\u001b[1m$\u003c2\u003e","blink":"\u001b[5m$\u003c2\u003e","rev":"\u001b[7m$\u003c2\u003e","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","cup":"\u001b[%i%p1%d;%p2%dH$\u003c5\u003e","cub1":"\u0008","cuu1":"\u001b[A$\u003c2\u003e","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kf5":"\u001bOt","kf6":"\u001bOu","kf7":"\u001bOv","kf8":"\u001bOl","kf9":"\u001bOw","kf10":"\u001bOx","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC","acsc":"``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u000e","rmacs":"\u000f","enacs":"\u001b(B\u001b)0"} -{"name":"vt125","cols":80,"lines":24,"bell":"\u0007","clear":"\u001b[H\u001b[2J\u001bPpS(E)\u001b\\$\u003c50\u003e","sgr0":"\u001b[m\u000f$\u003c2\u003e","smul":"\u001b[4m$\u003c2\u003e","bold":"\u001b[1m$\u003c2\u003e","blink":"\u001b[5m$\u003c2\u003e","rev":"\u001b[7m$\u003c2\u003e","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","cup":"\u001b[%i%p1%d;%p2%dH$\u003c5\u003e","cub1":"\u0008","cuu1":"\u001b[A$\u003c2\u003e","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kf5":"\u001bOt","kf6":"\u001bOu","kf7":"\u001bOv","kf8":"\u001bOl","kf9":"\u001bOw","kf10":"\u001bOx","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC","acsc":"``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u000e","rmacs":"\u000f","enacs":"\u001b(B\u001b)0"} -{"name":"vt131","cols":80,"lines":24,"bell":"\u0007","clear":"\u001b[;H\u001b[2J$\u003c50/\u003e","sgr0":"\u001b[m$\u003c2/\u003e","smul":"\u001b[4m$\u003c2/\u003e","bold":"\u001b[1m$\u003c2/\u003e","blink":"\u001b[5m$\u003c2/\u003e","rev":"\u001b[7m$\u003c2/\u003e","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","cup":"\u001b[%i%p1%d;%p2%dH$\u003c5/\u003e","cub1":"\u0008","cuu1":"\u001b[A$\u003c2/\u003e","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC"} -{"name":"vt132","cols":80,"lines":24,"bell":"\u0007","clear":"\u001b[H\u001b[J$\u003c50\u003e","sgr0":"\u001b[m\u000f$\u003c2\u003e","smul":"\u001b[4m$\u003c2\u003e","bold":"\u001b[1m$\u003c2\u003e","blink":"\u001b[5m$\u003c2\u003e","rev":"\u001b[7m$\u003c2\u003e","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","cup":"\u001b[%i%p1%d;%p2%dH$\u003c5\u003e","cub1":"\u0008","cuu1":"\u001b[A$\u003c2\u003e","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kf5":"\u001bOt","kf6":"\u001bOu","kf7":"\u001bOv","kf8":"\u001bOl","kf9":"\u001bOw","kf10":"\u001bOx","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC","acsc":"``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u000e","rmacs":"\u000f","enacs":"\u001b(B\u001b)0"} -{"name":"vt200-js","aliases":["vt220-js"],"cols":80,"lines":-1,"bell":"\u0007","clear":"\u001b[H\u001b[J","smul":"\u001b[4m","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC"} -{"name":"vt220","aliases":["vt200"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u001b[H\u001b[J","sgr0":"\u001b[m\u001b(B","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kf6":"\u001b[17~","kf7":"\u001b[18~","kf8":"\u001b[19~","kf9":"\u001b[20~","kf10":"\u001b[21~","kf11":"\u001b[23~","kf12":"\u001b[24~","kf13":"\u001b[25~","kf14":"\u001b[26~","kf17":"\u001b[31~","kf18":"\u001b[32~","kf19":"\u001b[33~","kf20":"\u001b[34~","kich":"\u001b[2~","khlp":"\u001b[28~","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","acsc":"``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u001b(0$\u003c2\u003e","rmacs":"\u001b(B$\u003c4\u003e","enacs":"\u001b)0"} -{"name":"vt220-8bit","aliases":["vt200-8","vt200-8bit","vt220-8"],"cols":80,"lines":24,"bell":"\u0007","clear":"\ufffdH\ufffdJ","sgr0":"\ufffd0m\u001b(B","smul":"\ufffd4m","bold":"\ufffd1m","blink":"\ufffd5m","rev":"\ufffd7m","cup":"\ufffd%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\ufffdA","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kf6":"\ufffd17~","kf7":"\ufffd18~","kf8":"\ufffd19~","kf9":"\ufffd20~","kf10":"\ufffd21~","kf11":"\ufffd23~","kf12":"\ufffd24~","kf13":"\ufffd25~","kf14":"\ufffd26~","kf17":"\ufffd31~","kf18":"\ufffd32~","kf19":"\ufffd33~","kf20":"\ufffd34~","kich":"\ufffd2~","khome":"\ufffdH","khlp":"\ufffd28~","kpp":"\ufffd5~","knp":"\ufffd6~","kcuu1":"\ufffdA","kcud1":"\ufffdB","kcub1":"\ufffdD","kcuf1":"\ufffdC","acsc":"``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u001b(0","rmacs":"\u001b(B","enacs":"\u001b)0"} -{"name":"vt220-nam","aliases":["v200-nam"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u001b[H\u001b[J","sgr0":"\u001b[m\u001b(B","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kf6":"\u001b[17~","kf7":"\u001b[18~","kf8":"\u001b[19~","kf9":"\u001b[20~","kf10":"\u001b[21~","kf11":"\u001b[23~","kf12":"\u001b[24~","kf13":"\u001b[25~","kf14":"\u001b[26~","kf17":"\u001b[31~","kf18":"\u001b[32~","kf19":"\u001b[33~","kf20":"\u001b[34~","kich":"\u001b[2~","khlp":"\u001b[28~","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","acsc":"``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u001b(0$\u003c2\u003e","rmacs":"\u001b(B$\u003c4\u003e","enacs":"\u001b)0"} -{"name":"vt220-old","aliases":["vt200-old"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u001b[H\u001b[2J$\u003c50\u003e","cnorm":"\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b[m$\u003c2\u003e","smul":"\u001b[4m","bold":"\u001b[1m$\u003c2\u003e","blink":"\u001b[5m$\u003c2\u003e","rev":"\u001b[7m$\u003c2\u003e","cup":"\u001b[%i%p1%d;%p2%dH$\u003c10\u003e","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kf5":"\u001b[17~","kf6":"\u001b[18~","kf7":"\u001b[19~","kf8":"\u001b[20~","kf9":"\u001b[21~","kf10":"\u001b[29~","kich":"\u001b[2~","kdch":"\u001b[3~","khome":"\u001b[1~","kend":"\u001b[4~","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","acsc":"``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u001b(0$\u003c2\u003e","rmacs":"\u001b(B$\u003c4\u003e"} -{"name":"vt220-w","aliases":["vt200-w"],"cols":132,"lines":24,"bell":"\u0007","clear":"\u001b[H\u001b[J","sgr0":"\u001b[m\u001b(B","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kf6":"\u001b[17~","kf7":"\u001b[18~","kf8":"\u001b[19~","kf9":"\u001b[20~","kf10":"\u001b[21~","kf11":"\u001b[23~","kf12":"\u001b[24~","kf13":"\u001b[25~","kf14":"\u001b[26~","kf17":"\u001b[31~","kf18":"\u001b[32~","kf19":"\u001b[33~","kf20":"\u001b[34~","kich":"\u001b[2~","khlp":"\u001b[28~","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","acsc":"``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u001b(0$\u003c2\u003e","rmacs":"\u001b(B$\u003c4\u003e","enacs":"\u001b)0"} -{"name":"vt220d","cols":80,"lines":24,"bell":"\u0007","clear":"\u001b[H\u001b[2J$\u003c50\u003e","cnorm":"\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b[m$\u003c2\u003e","smul":"\u001b[4m","bold":"\u001b[1m$\u003c2\u003e","blink":"\u001b[5m$\u003c2\u003e","rev":"\u001b[7m$\u003c2\u003e","cup":"\u001b[%i%p1%d;%p2%dH$\u003c10\u003e","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kf6":"\u001b[17~","kf7":"\u001b[18~","kf8":"\u001b[19~","kf9":"\u001b[20~","kf10":"\u001b[21~","kf11":"\u001b[23~","kf12":"\u001b[24~","kf13":"\u001b[25~","kf14":"\u001b[26~","kf15":"\u001b[28~","kf16":"\u001b[29~","kf17":"\u001b[31~","kf18":"\u001b[32~","kf19":"\u001b[33~","kf20":"\u001b[34~","kich":"\u001b[2~","kdch":"\u001b[3~","khome":"\u001b[1~","kend":"\u001b[4~","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","acsc":"``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u001b(0$\u003c2\u003e","rmacs":"\u001b(B$\u003c4\u003e"} -{"name":"vt320","aliases":["vt300"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u001b[H\u001b[2J","cnorm":"\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b[m\u001b(B","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kf6":"\u001b[17~","kf7":"\u001b[18~","kf8":"\u001b[19~","kf9":"\u001b[20~","kf10":"\u001b[21~","kf11":"\u001b[23~","kf12":"\u001b[24~","kf13":"\u001b[25~","kf14":"\u001b[26~","kf15":"\u001b[28~","kf16":"\u001b[29~","kf17":"\u001b[31~","kf18":"\u001b[32~","kf19":"\u001b[33~","kf20":"\u001b[34~","kich":"\u001b[2~","kdch":"\u001b[3~","khome":"\u001b[1~","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC","acsc":"``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u001b(0","rmacs":"\u001b(B"} -{"name":"vt320-k3","cols":80,"lines":49,"bell":"\u0007","clear":"\u001b[H\u001b[J","cnorm":"\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b[m","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kf6":"\u001b[17~","kf7":"\u001b[18~","kf8":"\u001b[19~","kf9":"\u001b[20~","kich":"\u001b[2~","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC","acsc":"``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u001b(0","rmacs":"\u001b(B"} -{"name":"vt320-k311","cols":80,"lines":24,"bell":"\u0007","clear":"\u001b[;H\u001b[2J","cnorm":"\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b[m","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kf6":"\u001b[17~","kf7":"\u001b[18~","kf8":"\u001b[19~","kf9":"\u001b[20~","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC","acsc":"``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u000e","rmacs":"\u000f"} -{"name":"vt320-nam","aliases":["vt300-nam"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u001b[H\u001b[2J","cnorm":"\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b[m\u001b(B","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kf6":"\u001b[17~","kf7":"\u001b[18~","kf8":"\u001b[19~","kf9":"\u001b[20~","kf10":"\u001b[21~","kf11":"\u001b[23~","kf12":"\u001b[24~","kf13":"\u001b[25~","kf14":"\u001b[26~","kf15":"\u001b[28~","kf16":"\u001b[29~","kf17":"\u001b[31~","kf18":"\u001b[32~","kf19":"\u001b[33~","kf20":"\u001b[34~","kich":"\u001b[2~","kdch":"\u001b[3~","khome":"\u001b[1~","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC","acsc":"``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u001b(0","rmacs":"\u001b(B"} -{"name":"vt320-w","aliases":["vt300-w"],"cols":132,"lines":24,"bell":"\u0007","clear":"\u001b[H\u001b[2J","cnorm":"\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b[m\u001b(B","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kf6":"\u001b[17~","kf7":"\u001b[18~","kf8":"\u001b[19~","kf9":"\u001b[20~","kf10":"\u001b[21~","kf11":"\u001b[23~","kf12":"\u001b[24~","kf13":"\u001b[25~","kf14":"\u001b[26~","kf15":"\u001b[28~","kf16":"\u001b[29~","kf17":"\u001b[31~","kf18":"\u001b[32~","kf19":"\u001b[33~","kf20":"\u001b[34~","kich":"\u001b[2~","kdch":"\u001b[3~","khome":"\u001b[1~","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC","acsc":"``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u001b(0","rmacs":"\u001b(B"} -{"name":"vt320-w-nam","aliases":["vt300-w-nam"],"cols":132,"lines":24,"bell":"\u0007","clear":"\u001b[H\u001b[2J","cnorm":"\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b[m\u001b(B","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kf6":"\u001b[17~","kf7":"\u001b[18~","kf8":"\u001b[19~","kf9":"\u001b[20~","kf10":"\u001b[21~","kf11":"\u001b[23~","kf12":"\u001b[24~","kf13":"\u001b[25~","kf14":"\u001b[26~","kf15":"\u001b[28~","kf16":"\u001b[29~","kf17":"\u001b[31~","kf18":"\u001b[32~","kf19":"\u001b[33~","kf20":"\u001b[34~","kich":"\u001b[2~","kdch":"\u001b[3~","khome":"\u001b[1~","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC","acsc":"``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u001b(0","rmacs":"\u001b(B"} -{"name":"vt320nam","aliases":["v320n"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u001b[H\u001b[J","sgr0":"\u001b[m\u001b(B","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kf6":"\u001b[17~","kf7":"\u001b[18~","kf8":"\u001b[19~","kf9":"\u001b[20~","kf10":"\u001b[21~","kf11":"\u001b[23~","kf12":"\u001b[24~","kf13":"\u001b[25~","kf14":"\u001b[26~","kf17":"\u001b[31~","kf18":"\u001b[32~","kf19":"\u001b[33~","kf20":"\u001b[34~","kich":"\u001b[2~","khlp":"\u001b[28~","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","acsc":"``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u001b(0$\u003c2\u003e","rmacs":"\u001b(B$\u003c4\u003e","enacs":"\u001b)0"} -{"name":"vt340","aliases":["dec-vt330","dec-vt340","vt330"],"cols":80,"lines":24,"clear":"\u001b[H\u001b[J","cnorm":"\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b[m\u001b(B","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kf6":"\u001b[17~","kf7":"\u001b[18~","kf8":"\u001b[19~","kf9":"\u001b[20~","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC","acsc":"``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u001b(0","rmacs":"\u001b(B"} -{"name":"vt400","aliases":["dec-vt400","vt400-24"],"cols":80,"lines":24,"clear":"\u001b[H\u001b[J$\u003c10/\u003e","cnorm":"\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b[m\u001b(B","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kf6":"\u001b[17~","kf7":"\u001b[18~","kf8":"\u001b[19~","kf9":"\u001b[20~","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC","acsc":"``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u001b(0","rmacs":"\u001b(B"} -{"name":"vt420","cols":80,"lines":24,"bell":"\u0007","clear":"\u001b[H\u001b[2J$\u003c50\u003e","sgr0":"\u001b[m$\u003c2\u003e","smul":"\u001b[4m","bold":"\u001b[1m$\u003c2\u003e","blink":"\u001b[5m$\u003c2\u003e","rev":"\u001b[7m$\u003c2\u003e","smkx":"\u001b=","rmkx":"\u001b\u003e","cup":"\u001b[%i%p1%d;%p2%dH$\u003c10\u003e","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kf5":"\u001b[17~","kf6":"\u001b[18~","kf7":"\u001b[19~","kf8":"\u001b[20~","kf9":"\u001b[21~","kf10":"\u001b[29~","kich":"\u001b[2~","kdch":"\u001b[3~","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","acsc":"``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u001b(0$\u003c2\u003e","rmacs":"\u001b(B$\u003c4\u003e"} -{"name":"vt420f","cols":80,"lines":24,"bell":"\u0007","clear":"\u001b[H\u001b[2J$\u003c50\u003e","sgr0":"\u001b[m$\u003c2\u003e","smul":"\u001b[4m","bold":"\u001b[1m$\u003c2\u003e","blink":"\u001b[5m$\u003c2\u003e","rev":"\u001b[7m$\u003c2\u003e","smkx":"\u001b=","rmkx":"\u001b\u003e","cup":"\u001b[%i%p1%d;%p2%dH$\u003c10\u003e","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001b[11~","kf2":"\u001b[12~","kf3":"\u001b[13~","kf4":"\u001b[14~","kf5":"\u001b[15~","kf6":"\u001b[17~","kf7":"\u001b[18~","kf8":"\u001b[19~","kf9":"\u001b[20~","kf10":"\u001b[21~","kf11":"\u001b[23~","kf12":"\u001b[24~","kf13":"\u001b[25~","kf14":"\u001b[26~","kf15":"\u001b[28~","kf16":"\u001b[29~","kf17":"\u001b[31~","kf18":"\u001b[32~","kf19":"\u001b[33~","kf20":"\u001b[34~","kich":"\u001b[2~","kdch":"","khome":"\u001b[H","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","acsc":"``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u001b(0$\u003c2\u003e","rmacs":"\u001b(B$\u003c4\u003e"} -{"name":"vt420pc","cols":80,"lines":24,"bell":"\u0007","clear":"\u001b[H\u001b[2J$\u003c50\u003e","sgr0":"\u001b[m$\u003c2\u003e","smul":"\u001b[4m","bold":"\u001b[1m$\u003c2\u003e","blink":"\u001b[5m$\u003c2\u003e","rev":"\u001b[7m$\u003c2\u003e","smkx":"\u001b=","rmkx":"\u001b\u003e","cup":"\u001b[%i%p1%d;%p2%dH$\u003c10\u003e","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001b[11~","kf2":"\u001b[12~","kf3":"\u001b[13~","kf4":"\u001b[14~","kf5":"\u001b[15~","kf6":"\u001b[17~","kf7":"\u001b[18~","kf8":"\u001b[19~","kf9":"\u001b[20~","kf10":"\u001b[21~","kf11":"\u001b[23~","kf12":"\u001b[24~","kf13":"\u001b[11;2~","kf14":"\u001b[12;2~","kf15":"\u001b[13;2~","kf16":"\u001b[14;2~","kf17":"\u001b[15;2~","kf18":"\u001b[17;2~","kf19":"\u001b[18;2~","kf20":"\u001b[19;2~","kf21":"\u001b[20;2~","kf22":"\u001b[21;2~","kf23":"\u001b[23;2~","kf24":"\u001b[24;2~","kf25":"\u001b[23~","kf26":"\u001b[24~","kf27":"\u001b[25~","kf28":"\u001b[26~","kf29":"\u001b[28~","kf30":"\u001b[29~","kf31":"\u001b[31~","kf32":"\u001b[32~","kf33":"\u001b[33~","kf34":"\u001b[34~","kf35":"\u001b[35~","kf36":"\u001b[36~","kf37":"\u001b[23;2~","kf38":"\u001b[24;2~","kf39":"\u001b[25;2~","kf40":"\u001b[26;2~","kf41":"\u001b[28;2~","kf42":"\u001b[29;2~","kf43":"\u001b[31;2~","kf44":"\u001b[32;2~","kf45":"\u001b[33;2~","kf46":"\u001b[34;2~","kf47":"\u001b[35;2~","kf48":"\u001b[36;2~","kich":"\u001b[2~","kdch":"","khome":"\u001b[H","kend":"\u001b[4~","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","acsc":"``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u001b(0$\u003c2\u003e","rmacs":"\u001b(B$\u003c4\u003e"} -{"name":"vt420pcdos","cols":80,"lines":25,"bell":"\u0007","clear":"\u001b[H\u001b[2J$\u003c50\u003e","sgr0":"\u001b[m","smul":"\u001b[4m","bold":"\u001b[1m$\u003c2\u003e","blink":"\u001b[5m$\u003c2\u003e","rev":"\u001b[7m$\u003c2\u003e","smkx":"\u001b=","rmkx":"\u001b\u003e","cup":"\u001b[%i%p1%d;%p2%dH$\u003c10\u003e","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001b[11~","kf2":"\u001b[12~","kf3":"\u001b[13~","kf4":"\u001b[14~","kf5":"\u001b[15~","kf6":"\u001b[17~","kf7":"\u001b[18~","kf8":"\u001b[19~","kf9":"\u001b[20~","kf10":"\u001b[21~","kf11":"\u001b[23~","kf12":"\u001b[24~","kf13":"\u001b[11;2~","kf14":"\u001b[12;2~","kf15":"\u001b[13;2~","kf16":"\u001b[14;2~","kf17":"\u001b[15;2~","kf18":"\u001b[17;2~","kf19":"\u001b[18;2~","kf20":"\u001b[19;2~","kf21":"\u001b[20;2~","kf22":"\u001b[21;2~","kf23":"\u001b[23;2~","kf24":"\u001b[24;2~","kf25":"\u001b[23~","kf26":"\u001b[24~","kf27":"\u001b[25~","kf28":"\u001b[26~","kf29":"\u001b[28~","kf30":"\u001b[29~","kf31":"\u001b[31~","kf32":"\u001b[32~","kf33":"\u001b[33~","kf34":"\u001b[34~","kf35":"\u001b[35~","kf36":"\u001b[36~","kf37":"\u001b[23;2~","kf38":"\u001b[24;2~","kf39":"\u001b[25;2~","kf40":"\u001b[26;2~","kf41":"\u001b[28;2~","kf42":"\u001b[29;2~","kf43":"\u001b[31;2~","kf44":"\u001b[32;2~","kf45":"\u001b[33;2~","kf46":"\u001b[34;2~","kf47":"\u001b[35;2~","kf48":"\u001b[36;2~","kich":"\u001b[2~","kdch":"","khome":"\u001b[H","kend":"\u001b[4~","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","acsc":"``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u001b(0$\u003c2\u003e","rmacs":"\u001b(B$\u003c4\u003e"} -{"name":"vt50h","cols":80,"lines":12,"bell":"\u0007","clear":"\u001bH\u001bJ","cup":"\u001bY%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u001bA","pad":"\u0000"} -{"name":"vt510","cols":80,"lines":24,"bell":"\u0007","clear":"\u001b[H\u001b[2J$\u003c50\u003e","sgr0":"\u001b[m$\u003c2\u003e","smul":"\u001b[4m","bold":"\u001b[1m$\u003c2\u003e","blink":"\u001b[5m$\u003c2\u003e","rev":"\u001b[7m$\u003c2\u003e","smkx":"\u001b=","rmkx":"\u001b\u003e","cup":"\u001b[%i%p1%d;%p2%dH$\u003c10\u003e","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kf5":"\u001b[17~","kf6":"\u001b[18~","kf7":"\u001b[19~","kf8":"\u001b[20~","kf9":"\u001b[21~","kf10":"\u001b[29~","kich":"\u001b[2~","kdch":"\u001b[3~","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","acsc":"``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u001b(0$\u003c2\u003e","rmacs":"\u001b(B$\u003c4\u003e"} -{"name":"vt510pc","cols":80,"lines":24,"bell":"\u0007","clear":"\u001b[H\u001b[2J$\u003c50\u003e","sgr0":"\u001b[m$\u003c2\u003e","smul":"\u001b[4m","bold":"\u001b[1m$\u003c2\u003e","blink":"\u001b[5m$\u003c2\u003e","rev":"\u001b[7m$\u003c2\u003e","smkx":"\u001b=","rmkx":"\u001b\u003e","cup":"\u001b[%i%p1%d;%p2%dH$\u003c10\u003e","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001b[11~","kf2":"\u001b[12~","kf3":"\u001b[13~","kf4":"\u001b[14~","kf5":"\u001b[15~","kf6":"\u001b[17~","kf7":"\u001b[18~","kf8":"\u001b[19~","kf9":"\u001b[20~","kf10":"\u001b[21~","kf11":"\u001b[23~","kf12":"\u001b[24~","kf13":"\u001b[11;2~","kf14":"\u001b[12;2~","kf15":"\u001b[13;2~","kf16":"\u001b[14;2~","kf17":"\u001b[15;2~","kf18":"\u001b[17;2~","kf19":"\u001b[18;2~","kf20":"\u001b[19;2~","kf21":"\u001b[20;2~","kf22":"\u001b[21;2~","kf23":"\u001b[23;2~","kf24":"\u001b[24;2~","kf25":"\u001b[23~","kf26":"\u001b[24~","kf27":"\u001b[25~","kf28":"\u001b[26~","kf29":"\u001b[28~","kf30":"\u001b[29~","kf31":"\u001b[31~","kf32":"\u001b[32~","kf33":"\u001b[33~","kf34":"\u001b[34~","kf35":"\u001b[35~","kf36":"\u001b[36~","kf37":"\u001b[23;2~","kf38":"\u001b[24;2~","kf39":"\u001b[25;2~","kf40":"\u001b[26;2~","kf41":"\u001b[28;2~","kf42":"\u001b[29;2~","kf43":"\u001b[31;2~","kf44":"\u001b[32;2~","kf45":"\u001b[33;2~","kf46":"\u001b[34;2~","kf47":"\u001b[35;2~","kf48":"\u001b[36;2~","kich":"\u001b[2~","kdch":"","khome":"\u001b[H","kend":"\u001b[4~","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","acsc":"``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u001b(0$\u003c2\u003e","rmacs":"\u001b(B$\u003c4\u003e"} -{"name":"vt510pcdos","cols":80,"lines":25,"bell":"\u0007","clear":"\u001b[H\u001b[2J$\u003c50\u003e","sgr0":"\u001b[m","smul":"\u001b[4m","bold":"\u001b[1m$\u003c2\u003e","blink":"\u001b[5m$\u003c2\u003e","rev":"\u001b[7m$\u003c2\u003e","smkx":"\u001b=","rmkx":"\u001b\u003e","cup":"\u001b[%i%p1%d;%p2%dH$\u003c10\u003e","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001b[11~","kf2":"\u001b[12~","kf3":"\u001b[13~","kf4":"\u001b[14~","kf5":"\u001b[15~","kf6":"\u001b[17~","kf7":"\u001b[18~","kf8":"\u001b[19~","kf9":"\u001b[20~","kf10":"\u001b[21~","kf11":"\u001b[23~","kf12":"\u001b[24~","kf13":"\u001b[11;2~","kf14":"\u001b[12;2~","kf15":"\u001b[13;2~","kf16":"\u001b[14;2~","kf17":"\u001b[15;2~","kf18":"\u001b[17;2~","kf19":"\u001b[18;2~","kf20":"\u001b[19;2~","kf21":"\u001b[20;2~","kf22":"\u001b[21;2~","kf23":"\u001b[23;2~","kf24":"\u001b[24;2~","kf25":"\u001b[23~","kf26":"\u001b[24~","kf27":"\u001b[25~","kf28":"\u001b[26~","kf29":"\u001b[28~","kf30":"\u001b[29~","kf31":"\u001b[31~","kf32":"\u001b[32~","kf33":"\u001b[33~","kf34":"\u001b[34~","kf35":"\u001b[35~","kf36":"\u001b[36~","kf37":"\u001b[23;2~","kf38":"\u001b[24;2~","kf39":"\u001b[25;2~","kf40":"\u001b[26;2~","kf41":"\u001b[28;2~","kf42":"\u001b[29;2~","kf43":"\u001b[31;2~","kf44":"\u001b[32;2~","kf45":"\u001b[33;2~","kf46":"\u001b[34;2~","kf47":"\u001b[35;2~","kf48":"\u001b[36;2~","kich":"\u001b[2~","kdch":"","khome":"\u001b[H","kend":"\u001b[4~","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","acsc":"``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u001b(0$\u003c2\u003e","rmacs":"\u001b(B$\u003c4\u003e"} -{"name":"vt52","cols":80,"lines":24,"bell":"\u0007","clear":"\u001bH\u001bJ","cup":"\u001bY%p1%' '%+%c%p2%' '%+%c","cub1":"\u001bD","cuu1":"\u001bA","pad":"\u0000","kbs":"\u0008","kcuu1":"\u001bA","kcud1":"\u001bB","kcub1":"\u001bD","kcuf1":"\u001bC","acsc":"ffgghhompoqqss.k","smacs":"\u001bF","rmacs":"\u001bG"} -{"name":"vt520","cols":80,"lines":24,"bell":"\u0007","clear":"\u001b[H\u001b[2J$\u003c50\u003e","sgr0":"\u001b[m$\u003c2\u003e","smul":"\u001b[4m","bold":"\u001b[1m$\u003c2\u003e","blink":"\u001b[5m$\u003c2\u003e","rev":"\u001b[7m$\u003c2\u003e","cup":"\u001b[%i%p1%d;%p2%dH$\u003c10\u003e","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kf5":"\u001b[17~","kf6":"\u001b[18~","kf7":"\u001b[19~","kf8":"\u001b[20~","kf9":"\u001b[21~","kf10":"\u001b[29~","kich":"\u001b[2~","kdch":"\u001b[3~","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","acsc":"``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u001b(0$\u003c2\u003e","rmacs":"\u001b(B$\u003c4\u003e"} -{"name":"vt525","cols":80,"lines":24,"bell":"\u0007","clear":"\u001b[H\u001b[2J$\u003c50\u003e","sgr0":"\u001b[m$\u003c2\u003e","smul":"\u001b[4m","bold":"\u001b[1m$\u003c2\u003e","blink":"\u001b[5m$\u003c2\u003e","rev":"\u001b[7m$\u003c2\u003e","cup":"\u001b[%i%p1%d;%p2%dH$\u003c10\u003e","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kf5":"\u001b[17~","kf6":"\u001b[18~","kf7":"\u001b[19~","kf8":"\u001b[20~","kf9":"\u001b[21~","kf10":"\u001b[29~","kich":"\u001b[2~","kdch":"\u001b[3~","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","acsc":"``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u001b(0$\u003c2\u003e","rmacs":"\u001b(B$\u003c4\u003e"} -{"name":"vt61","aliases":["vt-61","vt61.5"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u001bH\u001bJ$\u003c120\u003e","cup":"\u001bY%p1%' '%+%c%p2%' '%+%c$\u003c20\u003e","cub1":"\u0008","cuu1":"\u001bA$\u003c20\u003e","pad":"\u0000","kcuu1":"\u001bA","kcud1":"\u001bB","kcub1":"\u001bD","kcuf1":"\u001bC"} -{"name":"wsiris","aliases":["iris40"],"cols":80,"lines":40,"bell":"\u0007","clear":"\u001bv","cnorm":"\u001b\u003e","sgr0":"\u001b7F7","smul":"\u001b7R2\u001b9P","dim":"\u001b7F2","cup":"\u001bY%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u001bA","pad":"\u0000","kf1":"\u001b1","kf2":"\u001b2","kf3":"\u001b3","kf4":"\u001b4","kf5":"\u001b5","kf6":"\u001b6","kf7":"\u001b7","kf8":"\u001b8","kf9":"\u001b9","kcuu1":"\u001bA","kcud1":"\u001bB","kcub1":"\u001bD","kcuf1":"\u001bC"} -{"name":"wsvt25","cols":80,"lines":25,"colors":8,"bell":"\u0007","clear":"\u001b[H\u001b[J","sgr0":"\u001b[m\u001b(B","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","setaf":"\u001b[3%p1%dm","setbg":"\u001b[4%p1%dm","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001b[11~","kf2":"\u001b[12~","kf3":"\u001b[13~","kf4":"\u001b[14~","kf5":"\u001b[15~","kf6":"\u001b[17~","kf7":"\u001b[18~","kf8":"\u001b[19~","kf9":"\u001b[20~","kf10":"\u001b[21~","kf11":"\u001b[23~","kf12":"\u001b[24~","kf13":"\u001b[25~","kf14":"\u001b[26~","kf17":"\u001b[31~","kf18":"\u001b[32~","kf19":"\u001b[33~","kf20":"\u001b[34~","kich":"\u001b[2~","khome":"\u001b[7~","kend":"\u001b[8~","khlp":"\u001b[28~","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","acsc":"``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u001b(0$\u003c2\u003e","rmacs":"\u001b(B$\u003c4\u003e","enacs":"\u001b)0","_setfgbg":"\u001b[3%p1%d;4%p2%dm"} -{"name":"wsvt25m","cols":80,"lines":25,"colors":8,"bell":"\u0007","clear":"\u001b[H\u001b[J","sgr0":"\u001b[m\u001b(B","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","setaf":"\u001b[3%p1%dm","setbg":"\u001b[4%p1%dm","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001b[11~","kf2":"\u001b[12~","kf3":"\u001b[13~","kf4":"\u001b[14~","kf5":"\u001b[15~","kf6":"\u001b[17~","kf7":"\u001b[18~","kf8":"\u001b[19~","kf9":"\u001b[20~","kf10":"\u001b[21~","kf11":"\u001b[23~","kf12":"\u001b[24~","kf13":"\u001b[25~","kf14":"\u001b[26~","kf17":"\u001b[31~","kf18":"\u001b[32~","kf19":"\u001b[33~","kf20":"\u001b[34~","kich":"\u001b[2~","khome":"\u001b[7~","kend":"\u001b[8~","khlp":"\u001b[28~","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","acsc":"``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u001b(0$\u003c2\u003e","rmacs":"\u001b(B$\u003c4\u003e","enacs":"\u001b)0","_setfgbg":"\u001b[3%p1%d;4%p2%dm"} -{"name":"wy100","cols":80,"lines":24,"bell":"\u0007","clear":"\u001b;","sgr0":"\u001bG0","smul":"\u001bG8","rev":"\u001bG4","cup":"\u001b=%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u000b","pad":"\u0000","kbs":"\u0008","kf1":"\u0001@\r","kf2":"\u0001A\r","kf3":"\u0001B\r","kf4":"\u0001C\r","kf5":"\u0001D\r","kf6":"\u0001E\r","kf7":"\u0001F\r","kf8":"\u0001G\r","khome":"\u001b{","kcuu1":"\u000b","kcud1":"\n","kcub1":"\u0008","kcuf1":"\u000c"} -{"name":"wy100q","cols":80,"lines":24,"clear":"\u001a","sgr0":"\u001bG0","smul":"\u001bG8","rev":"\u001bG4","cup":"\u001b=%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u000b","pad":"\u0000","kcuu1":"\u000b","kcud1":"\n","kcub1":"\u0008","kcuf1":"\u000c"} -{"name":"wy120","aliases":["wy150","wyse120","wyse150"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u001b+$\u003c50\u003e","smcup":"\u001bw0","rmcup":"\u001bw1","cnorm":"\u001b`1","civis":"\u001b`0","sgr0":"\u001b(\u001bH\u0003\u001bG0\u001bcD","smul":"\u001bG8","blink":"\u001bG2","rev":"\u001bG4","dim":"\u001bGp","cup":"\u001b=%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u000b","pad":"\u0000","kbs":"\u0008","kf1":"\u0001@\r","kf2":"\u0001A\r","kf3":"\u0001B\r","kf4":"\u0001C\r","kf5":"\u0001D\r","kf6":"\u0001E\r","kf7":"\u0001F\r","kf8":"\u0001G\r","kf9":"\u0001H\r","kf10":"\u0001I\r","kf11":"\u0001J\r","kf12":"\u0001K\r","kf13":"\u0001L\r","kf14":"\u0001M\r","kf15":"\u0001N\r","kf16":"\u0001O\r","kich":"\u001bQ","kdch":"\u001bW","khome":"\u001e","kpp":"\u001bJ","knp":"\u001bK","kcuu1":"\u000b","kcud1":"\n","kcub1":"\u0008","kcuf1":"\u000c","kcbt":"\u001bI","kprt":"\u001bP","acsc":"+/,.0[iha2fxgqh1jYk?lZm@nEqDtCu4vAwBx3yszr{c~~","smacs":"\u001bcE","rmacs":"\u001bcD","kHOM":"\u001b{"} -{"name":"wy120-25","aliases":["wy150-25","wyse120-25","wyse150-25"],"cols":80,"lines":25,"bell":"\u0007","clear":"\u001b+$\u003c50\u003e","smcup":"\u001bw0","rmcup":"\u001bw1","cnorm":"\u001b`1","civis":"\u001b`0","sgr0":"\u001b(\u001bH\u0003\u001bG0\u001bcD","smul":"\u001bG8","blink":"\u001bG2","rev":"\u001bG4","dim":"\u001bGp","cup":"\u001b=%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u000b","pad":"\u0000","kbs":"\u0008","kf1":"\u0001@\r","kf2":"\u0001A\r","kf3":"\u0001B\r","kf4":"\u0001C\r","kf5":"\u0001D\r","kf6":"\u0001E\r","kf7":"\u0001F\r","kf8":"\u0001G\r","kf9":"\u0001H\r","kf10":"\u0001I\r","kf11":"\u0001J\r","kf12":"\u0001K\r","kf13":"\u0001L\r","kf14":"\u0001M\r","kf15":"\u0001N\r","kf16":"\u0001O\r","kich":"\u001bQ","kdch":"\u001bW","khome":"\u001e","kpp":"\u001bJ","knp":"\u001bK","kcuu1":"\u000b","kcud1":"\n","kcub1":"\u0008","kcuf1":"\u000c","kcbt":"\u001bI","kprt":"\u001bP","acsc":"+/,.0[iha2fxgqh1jYk?lZm@nEqDtCu4vAwBx3yszr{c~~","smacs":"\u001bcE","rmacs":"\u001bcD","kHOM":"\u001b{"} -{"name":"wy120-25-w","aliases":["wy150-25-w","wyse120-25-w","wyse150-25-w"],"cols":132,"lines":25,"bell":"\u0007","clear":"\u001b+$\u003c50\u003e","smcup":"\u001bw0","rmcup":"\u001bw1","cnorm":"\u001b`1","civis":"\u001b`0","sgr0":"\u001b(\u001bH\u0003\u001bG0\u001bcD","smul":"\u001bG8","blink":"\u001bG2","rev":"\u001bG4","dim":"\u001bGp","cup":"\u001ba%i%p1%dR%p2%dC","cub1":"\u0008","cuu1":"\u000b","pad":"\u0000","kbs":"\u0008","kf1":"\u0001@\r","kf2":"\u0001A\r","kf3":"\u0001B\r","kf4":"\u0001C\r","kf5":"\u0001D\r","kf6":"\u0001E\r","kf7":"\u0001F\r","kf8":"\u0001G\r","kf9":"\u0001H\r","kf10":"\u0001I\r","kf11":"\u0001J\r","kf12":"\u0001K\r","kf13":"\u0001L\r","kf14":"\u0001M\r","kf15":"\u0001N\r","kf16":"\u0001O\r","kich":"\u001bQ","kdch":"\u001bW","khome":"\u001e","kpp":"\u001bJ","knp":"\u001bK","kcuu1":"\u000b","kcud1":"\n","kcub1":"\u0008","kcuf1":"\u000c","kcbt":"\u001bI","kprt":"\u001bP","acsc":"+/,.0[iha2fxgqh1jYk?lZm@nEqDtCu4vAwBx3yszr{c~~","smacs":"\u001bcE","rmacs":"\u001bcD","kHOM":"\u001b{"} -{"name":"wy120-vb","aliases":["wy150-vb","wyse120-vb","wyse150-vb"],"cols":80,"lines":24,"clear":"\u001b+$\u003c50\u003e","smcup":"\u001bw0","rmcup":"\u001bw1","cnorm":"\u001b`1","civis":"\u001b`0","sgr0":"\u001b(\u001bH\u0003\u001bG0\u001bcD","smul":"\u001bG8","blink":"\u001bG2","rev":"\u001bG4","dim":"\u001bGp","cup":"\u001b=%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u000b","pad":"\u0000","kbs":"\u0008","kf1":"\u0001@\r","kf2":"\u0001A\r","kf3":"\u0001B\r","kf4":"\u0001C\r","kf5":"\u0001D\r","kf6":"\u0001E\r","kf7":"\u0001F\r","kf8":"\u0001G\r","kf9":"\u0001H\r","kf10":"\u0001I\r","kf11":"\u0001J\r","kf12":"\u0001K\r","kf13":"\u0001L\r","kf14":"\u0001M\r","kf15":"\u0001N\r","kf16":"\u0001O\r","kich":"\u001bQ","kdch":"\u001bW","khome":"\u001e","kpp":"\u001bJ","knp":"\u001bK","kcuu1":"\u000b","kcud1":"\n","kcub1":"\u0008","kcuf1":"\u000c","kcbt":"\u001bI","kprt":"\u001bP","acsc":"+/,.0[iha2fxgqh1jYk?lZm@nEqDtCu4vAwBx3yszr{c~~","smacs":"\u001bcE","rmacs":"\u001bcD","kHOM":"\u001b{"} -{"name":"wy120-w","aliases":["wy150-w","wyse120-w","wyse150-w"],"cols":132,"lines":24,"bell":"\u0007","clear":"\u001b+$\u003c50\u003e","smcup":"\u001bw0","rmcup":"\u001bw1","cnorm":"\u001b`1","civis":"\u001b`0","sgr0":"\u001b(\u001bH\u0003\u001bG0\u001bcD","smul":"\u001bG8","blink":"\u001bG2","rev":"\u001bG4","dim":"\u001bGp","cup":"\u001ba%i%p1%dR%p2%dC","cub1":"\u0008","cuu1":"\u000b","pad":"\u0000","kbs":"\u0008","kf1":"\u0001@\r","kf2":"\u0001A\r","kf3":"\u0001B\r","kf4":"\u0001C\r","kf5":"\u0001D\r","kf6":"\u0001E\r","kf7":"\u0001F\r","kf8":"\u0001G\r","kf9":"\u0001H\r","kf10":"\u0001I\r","kf11":"\u0001J\r","kf12":"\u0001K\r","kf13":"\u0001L\r","kf14":"\u0001M\r","kf15":"\u0001N\r","kf16":"\u0001O\r","kich":"\u001bQ","kdch":"\u001bW","khome":"\u001e","kpp":"\u001bJ","knp":"\u001bK","kcuu1":"\u000b","kcud1":"\n","kcub1":"\u0008","kcuf1":"\u000c","kcbt":"\u001bI","kprt":"\u001bP","acsc":"+/,.0[iha2fxgqh1jYk?lZm@nEqDtCu4vAwBx3yszr{c~~","smacs":"\u001bcE","rmacs":"\u001bcD","kHOM":"\u001b{"} -{"name":"wy120-w-vb","aliases":["wy120-wvb","wy150-w-vb","wyse120-wvb","wyse150-w-vb"],"cols":132,"lines":24,"clear":"\u001b+$\u003c50\u003e","smcup":"\u001bw0","rmcup":"\u001bw1","cnorm":"\u001b`1","civis":"\u001b`0","sgr0":"\u001b(\u001bH\u0003\u001bG0\u001bcD","smul":"\u001bG8","blink":"\u001bG2","rev":"\u001bG4","dim":"\u001bGp","cup":"\u001ba%i%p1%dR%p2%dC","cub1":"\u0008","cuu1":"\u000b","pad":"\u0000","kbs":"\u0008","kf1":"\u0001@\r","kf2":"\u0001A\r","kf3":"\u0001B\r","kf4":"\u0001C\r","kf5":"\u0001D\r","kf6":"\u0001E\r","kf7":"\u0001F\r","kf8":"\u0001G\r","kf9":"\u0001H\r","kf10":"\u0001I\r","kf11":"\u0001J\r","kf12":"\u0001K\r","kf13":"\u0001L\r","kf14":"\u0001M\r","kf15":"\u0001N\r","kf16":"\u0001O\r","kich":"\u001bQ","kdch":"\u001bW","khome":"\u001e","kpp":"\u001bJ","knp":"\u001bK","kcuu1":"\u000b","kcud1":"\n","kcub1":"\u0008","kcuf1":"\u000c","kcbt":"\u001bI","kprt":"\u001bP","acsc":"+/,.0[iha2fxgqh1jYk?lZm@nEqDtCu4vAwBx3yszr{c~~","smacs":"\u001bcE","rmacs":"\u001bcD","kHOM":"\u001b{"} -{"name":"wy160","aliases":["wyse160"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u001b+$\u003c30\u003e","smcup":"\u001bw1","rmcup":"\u001bw0","cnorm":"\u001b`1","civis":"\u001b`0","sgr0":"\u001b(\u001bH\u0003\u001bG0\u001bcD","smul":"\u001bG8","blink":"\u001bG2","rev":"\u001bG4","dim":"\u001bGp","cup":"\u001b=%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u000b","pad":"\u0000","kbs":"\u0008","kf1":"\u0001@\r","kf2":"\u0001A\r","kf3":"\u0001B\r","kf4":"\u0001C\r","kf5":"\u0001D\r","kf6":"\u0001E\r","kf7":"\u0001F\r","kf8":"\u0001G\r","kf9":"\u0001H\r","kf10":"\u0001I\r","kf11":"\u0001J\r","kf12":"\u0001K\r","kf13":"\u0001L\r","kf14":"\u0001M\r","kf15":"\u0001N\r","kf16":"\u0001O\r","kich":"\u001bQ","kdch":"\u001bW","khome":"\u001e","kpp":"\u001bJ","knp":"\u001bK","kcuu1":"\u000b","kcud1":"\n","kcub1":"\u0008","kcuf1":"\u000c","kcbt":"\u001bI","kprt":"\u001bP","acsc":"+/,.0[iha2fxgqh1jYk?lZm@nEqDtCu4vAwBx3yszr{c~~","smacs":"\u001bcE","rmacs":"\u001bcD","kHOM":"\u001b{"} -{"name":"wy160-25","aliases":["wyse160-25"],"cols":80,"lines":25,"bell":"\u0007","clear":"\u001b+$\u003c30\u003e","smcup":"\u001bw1","rmcup":"\u001bw0","cnorm":"\u001b`1","civis":"\u001b`0","sgr0":"\u001b(\u001bH\u0003\u001bG0\u001bcD","smul":"\u001bG8","blink":"\u001bG2","rev":"\u001bG4","dim":"\u001bGp","cup":"\u001b=%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u000b","pad":"\u0000","kbs":"\u0008","kf1":"\u0001@\r","kf2":"\u0001A\r","kf3":"\u0001B\r","kf4":"\u0001C\r","kf5":"\u0001D\r","kf6":"\u0001E\r","kf7":"\u0001F\r","kf8":"\u0001G\r","kf9":"\u0001H\r","kf10":"\u0001I\r","kf11":"\u0001J\r","kf12":"\u0001K\r","kf13":"\u0001L\r","kf14":"\u0001M\r","kf15":"\u0001N\r","kf16":"\u0001O\r","kich":"\u001bQ","kdch":"\u001bW","khome":"\u001e","kpp":"\u001bJ","knp":"\u001bK","kcuu1":"\u000b","kcud1":"\n","kcub1":"\u0008","kcuf1":"\u000c","kcbt":"\u001bI","kprt":"\u001bP","acsc":"+/,.0[iha2fxgqh1jYk?lZm@nEqDtCu4vAwBx3yszr{c~~","smacs":"\u001bcE","rmacs":"\u001bcD","kHOM":"\u001b{"} -{"name":"wy160-25-w","aliases":["wyse160-25-w"],"cols":132,"lines":25,"bell":"\u0007","clear":"\u001b+$\u003c30\u003e","smcup":"\u001bw1","rmcup":"\u001bw0","cnorm":"\u001b`1","civis":"\u001b`0","sgr0":"\u001b(\u001bH\u0003\u001bG0\u001bcD","smul":"\u001bG8","blink":"\u001bG2","rev":"\u001bG4","dim":"\u001bGp","cup":"\u001ba%i%p1%dR%p2%dC","cub1":"\u0008","cuu1":"\u000b","pad":"\u0000","kbs":"\u0008","kf1":"\u0001@\r","kf2":"\u0001A\r","kf3":"\u0001B\r","kf4":"\u0001C\r","kf5":"\u0001D\r","kf6":"\u0001E\r","kf7":"\u0001F\r","kf8":"\u0001G\r","kf9":"\u0001H\r","kf10":"\u0001I\r","kf11":"\u0001J\r","kf12":"\u0001K\r","kf13":"\u0001L\r","kf14":"\u0001M\r","kf15":"\u0001N\r","kf16":"\u0001O\r","kich":"\u001bQ","kdch":"\u001bW","khome":"\u001e","kpp":"\u001bJ","knp":"\u001bK","kcuu1":"\u000b","kcud1":"\n","kcub1":"\u0008","kcuf1":"\u000c","kcbt":"\u001bI","kprt":"\u001bP","acsc":"+/,.0[iha2fxgqh1jYk?lZm@nEqDtCu4vAwBx3yszr{c~~","smacs":"\u001bcE","rmacs":"\u001bcD","kHOM":"\u001b{"} -{"name":"wy160-42","aliases":["wyse160-42"],"cols":80,"lines":42,"bell":"\u0007","clear":"\u001b+$\u003c50\u003e","smcup":"\u001bw1","rmcup":"\u001bw0","cnorm":"\u001b`1","civis":"\u001b`0","sgr0":"\u001b(\u001bH\u0003\u001bG0\u001bcD","smul":"\u001bG8","blink":"\u001bG2","rev":"\u001bG4","dim":"\u001bGp","cup":"\u001b=%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u000b","pad":"\u0000","kbs":"\u0008","kf1":"\u0001@\r","kf2":"\u0001A\r","kf3":"\u0001B\r","kf4":"\u0001C\r","kf5":"\u0001D\r","kf6":"\u0001E\r","kf7":"\u0001F\r","kf8":"\u0001G\r","kf9":"\u0001H\r","kf10":"\u0001I\r","kf11":"\u0001J\r","kf12":"\u0001K\r","kf13":"\u0001L\r","kf14":"\u0001M\r","kf15":"\u0001N\r","kf16":"\u0001O\r","kich":"\u001bQ","kdch":"\u001bW","khome":"\u001e","kpp":"\u001bJ","knp":"\u001bK","kcuu1":"\u000b","kcud1":"\n","kcub1":"\u0008","kcuf1":"\u000c","kcbt":"\u001bI","kprt":"\u001bP","acsc":"+/,.0[iha2fxgqh1jYk?lZm@nEqDtCu4vAwBx3yszr{c~~","smacs":"\u001bcE","rmacs":"\u001bcD","kHOM":"\u001b{"} -{"name":"wy160-42-w","aliases":["wyse160-42-w"],"cols":132,"lines":42,"bell":"\u0007","clear":"\u001b+$\u003c50\u003e","smcup":"\u001bw1","rmcup":"\u001bw0","cnorm":"\u001b`1","civis":"\u001b`0","sgr0":"\u001b(\u001bH\u0003\u001bG0\u001bcD","smul":"\u001bG8","blink":"\u001bG2","rev":"\u001bG4","dim":"\u001bGp","cup":"\u001ba%i%p1%dR%p2%dC","cub1":"\u0008","cuu1":"\u000b","pad":"\u0000","kbs":"\u0008","kf1":"\u0001@\r","kf2":"\u0001A\r","kf3":"\u0001B\r","kf4":"\u0001C\r","kf5":"\u0001D\r","kf6":"\u0001E\r","kf7":"\u0001F\r","kf8":"\u0001G\r","kf9":"\u0001H\r","kf10":"\u0001I\r","kf11":"\u0001J\r","kf12":"\u0001K\r","kf13":"\u0001L\r","kf14":"\u0001M\r","kf15":"\u0001N\r","kf16":"\u0001O\r","kich":"\u001bQ","kdch":"\u001bW","khome":"\u001e","kpp":"\u001bJ","knp":"\u001bK","kcuu1":"\u000b","kcud1":"\n","kcub1":"\u0008","kcuf1":"\u000c","kcbt":"\u001bI","kprt":"\u001bP","acsc":"+/,.0[iha2fxgqh1jYk?lZm@nEqDtCu4vAwBx3yszr{c~~","smacs":"\u001bcE","rmacs":"\u001bcD","kHOM":"\u001b{"} -{"name":"wy160-43","aliases":["wyse160-43"],"cols":80,"lines":43,"bell":"\u0007","clear":"\u001b+$\u003c50\u003e","smcup":"\u001bw1","rmcup":"\u001bw0","cnorm":"\u001b`1","civis":"\u001b`0","sgr0":"\u001b(\u001bH\u0003\u001bG0\u001bcD","smul":"\u001bG8","blink":"\u001bG2","rev":"\u001bG4","dim":"\u001bGp","cup":"\u001b=%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u000b","pad":"\u0000","kbs":"\u0008","kf1":"\u0001@\r","kf2":"\u0001A\r","kf3":"\u0001B\r","kf4":"\u0001C\r","kf5":"\u0001D\r","kf6":"\u0001E\r","kf7":"\u0001F\r","kf8":"\u0001G\r","kf9":"\u0001H\r","kf10":"\u0001I\r","kf11":"\u0001J\r","kf12":"\u0001K\r","kf13":"\u0001L\r","kf14":"\u0001M\r","kf15":"\u0001N\r","kf16":"\u0001O\r","kich":"\u001bQ","kdch":"\u001bW","khome":"\u001e","kpp":"\u001bJ","knp":"\u001bK","kcuu1":"\u000b","kcud1":"\n","kcub1":"\u0008","kcuf1":"\u000c","kcbt":"\u001bI","kprt":"\u001bP","acsc":"+/,.0[iha2fxgqh1jYk?lZm@nEqDtCu4vAwBx3yszr{c~~","smacs":"\u001bcE","rmacs":"\u001bcD","kHOM":"\u001b{"} -{"name":"wy160-43-w","aliases":["wyse160-43-w"],"cols":132,"lines":43,"bell":"\u0007","clear":"\u001b+$\u003c50\u003e","smcup":"\u001bw1","rmcup":"\u001bw0","cnorm":"\u001b`1","civis":"\u001b`0","sgr0":"\u001b(\u001bH\u0003\u001bG0\u001bcD","smul":"\u001bG8","blink":"\u001bG2","rev":"\u001bG4","dim":"\u001bGp","cup":"\u001ba%i%p1%dR%p2%dC","cub1":"\u0008","cuu1":"\u000b","pad":"\u0000","kbs":"\u0008","kf1":"\u0001@\r","kf2":"\u0001A\r","kf3":"\u0001B\r","kf4":"\u0001C\r","kf5":"\u0001D\r","kf6":"\u0001E\r","kf7":"\u0001F\r","kf8":"\u0001G\r","kf9":"\u0001H\r","kf10":"\u0001I\r","kf11":"\u0001J\r","kf12":"\u0001K\r","kf13":"\u0001L\r","kf14":"\u0001M\r","kf15":"\u0001N\r","kf16":"\u0001O\r","kich":"\u001bQ","kdch":"\u001bW","khome":"\u001e","kpp":"\u001bJ","knp":"\u001bK","kcuu1":"\u000b","kcud1":"\n","kcub1":"\u0008","kcuf1":"\u000c","kcbt":"\u001bI","kprt":"\u001bP","acsc":"+/,.0[iha2fxgqh1jYk?lZm@nEqDtCu4vAwBx3yszr{c~~","smacs":"\u001bcE","rmacs":"\u001bcD","kHOM":"\u001b{"} -{"name":"wy160-tek","cols":74,"lines":35,"bell":"\u0007","clear":"\u001b\u000c","cup":"\u001d%{3103}%'['%p1%*%-%Py%p2%'7'%*%Px%gy%{128}%/%{31}%\u0026%' '%+%c%gy%{3}%\u0026%{4}%*%gx%{3}%\u0026%+%'`'%+%c%gy%{004}%/%{31}%\u0026%'`'%+%c%gx%{128}%/%{31}%\u0026%' '%+%c%gx%{004}%/%{31}%\u0026%'@'%+%c\u001f","cub1":"\u0008","cuu1":"\u000b","pad":"\u0000"} -{"name":"wy160-vb","aliases":["wyse160-vb"],"cols":80,"lines":24,"clear":"\u001b+$\u003c30\u003e","smcup":"\u001bw1","rmcup":"\u001bw0","cnorm":"\u001b`1","civis":"\u001b`0","sgr0":"\u001b(\u001bH\u0003\u001bG0\u001bcD","smul":"\u001bG8","blink":"\u001bG2","rev":"\u001bG4","dim":"\u001bGp","cup":"\u001b=%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u000b","pad":"\u0000","kbs":"\u0008","kf1":"\u0001@\r","kf2":"\u0001A\r","kf3":"\u0001B\r","kf4":"\u0001C\r","kf5":"\u0001D\r","kf6":"\u0001E\r","kf7":"\u0001F\r","kf8":"\u0001G\r","kf9":"\u0001H\r","kf10":"\u0001I\r","kf11":"\u0001J\r","kf12":"\u0001K\r","kf13":"\u0001L\r","kf14":"\u0001M\r","kf15":"\u0001N\r","kf16":"\u0001O\r","kich":"\u001bQ","kdch":"\u001bW","khome":"\u001e","kpp":"\u001bJ","knp":"\u001bK","kcuu1":"\u000b","kcud1":"\n","kcub1":"\u0008","kcuf1":"\u000c","kcbt":"\u001bI","kprt":"\u001bP","acsc":"+/,.0[iha2fxgqh1jYk?lZm@nEqDtCu4vAwBx3yszr{c~~","smacs":"\u001bcE","rmacs":"\u001bcD","kHOM":"\u001b{"} -{"name":"wy160-w","aliases":["wyse160-w"],"cols":132,"lines":24,"bell":"\u0007","clear":"\u001b+$\u003c30\u003e","smcup":"\u001bw1","rmcup":"\u001bw0","cnorm":"\u001b`1","civis":"\u001b`0","sgr0":"\u001b(\u001bH\u0003\u001bG0\u001bcD","smul":"\u001bG8","blink":"\u001bG2","rev":"\u001bG4","dim":"\u001bGp","cup":"\u001ba%i%p1%dR%p2%dC","cub1":"\u0008","cuu1":"\u000b","pad":"\u0000","kbs":"\u0008","kf1":"\u0001@\r","kf2":"\u0001A\r","kf3":"\u0001B\r","kf4":"\u0001C\r","kf5":"\u0001D\r","kf6":"\u0001E\r","kf7":"\u0001F\r","kf8":"\u0001G\r","kf9":"\u0001H\r","kf10":"\u0001I\r","kf11":"\u0001J\r","kf12":"\u0001K\r","kf13":"\u0001L\r","kf14":"\u0001M\r","kf15":"\u0001N\r","kf16":"\u0001O\r","kich":"\u001bQ","kdch":"\u001bW","khome":"\u001e","kpp":"\u001bJ","knp":"\u001bK","kcuu1":"\u000b","kcud1":"\n","kcub1":"\u0008","kcuf1":"\u000c","kcbt":"\u001bI","kprt":"\u001bP","acsc":"+/,.0[iha2fxgqh1jYk?lZm@nEqDtCu4vAwBx3yszr{c~~","smacs":"\u001bcE","rmacs":"\u001bcD","kHOM":"\u001b{"} -{"name":"wy160-w-vb","aliases":["wy160-wvb","wyse160-wvb"],"cols":132,"lines":24,"clear":"\u001b+$\u003c30\u003e","smcup":"\u001bw1","rmcup":"\u001bw0","cnorm":"\u001b`1","civis":"\u001b`0","sgr0":"\u001b(\u001bH\u0003\u001bG0\u001bcD","smul":"\u001bG8","blink":"\u001bG2","rev":"\u001bG4","dim":"\u001bGp","cup":"\u001ba%i%p1%dR%p2%dC","cub1":"\u0008","cuu1":"\u000b","pad":"\u0000","kbs":"\u0008","kf1":"\u0001@\r","kf2":"\u0001A\r","kf3":"\u0001B\r","kf4":"\u0001C\r","kf5":"\u0001D\r","kf6":"\u0001E\r","kf7":"\u0001F\r","kf8":"\u0001G\r","kf9":"\u0001H\r","kf10":"\u0001I\r","kf11":"\u0001J\r","kf12":"\u0001K\r","kf13":"\u0001L\r","kf14":"\u0001M\r","kf15":"\u0001N\r","kf16":"\u0001O\r","kich":"\u001bQ","kdch":"\u001bW","khome":"\u001e","kpp":"\u001bJ","knp":"\u001bK","kcuu1":"\u000b","kcud1":"\n","kcub1":"\u0008","kcuf1":"\u000c","kcbt":"\u001bI","kprt":"\u001bP","acsc":"+/,.0[iha2fxgqh1jYk?lZm@nEqDtCu4vAwBx3yszr{c~~","smacs":"\u001bcE","rmacs":"\u001bcD","kHOM":"\u001b{"} -{"name":"wy185","aliases":["wyse185"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u001b[H\u001b[J$\u003c40\u003e","smcup":"\u001b[ Q","rmcup":"\u001b[ R","cnorm":"\u001b[34h\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b[m\u000f","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","dim":"\u001b[2m","smkx":"\u001b[?1l\u001b=","rmkx":"\u001b\u003e","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kf6":"\u001b[17~","kf7":"\u001b[18~","kf8":"\u001b[19~","kf9":"\u001b[20~","kf10":"\u001b[21~","kf11":"\u001b[23~","kf12":"\u001b[24~","kf13":"\u001b[25~","kf14":"\u001b[26~","kf15":"\u001b[28~","kf16":"\u001b[29~","kf17":"\u001b[31~","kf18":"\u001b[32~","kf19":"\u001b[33~","kf20":"\u001b[34~","kich":"\u001b[2~","kdch":"\u001b[3~","khome":"\u001b[26~","khlp":"\u001b[28~","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001b[Z","acsc":"``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u000e","rmacs":"\u000f","enacs":"\u001b)0"} -{"name":"wy185-24","aliases":["wyse185-24"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u001b[H\u001b[J$\u003c40\u003e","smcup":"\u001b[ Q","rmcup":"\u001b[ R","cnorm":"\u001b[34h\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b[m\u000f","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","dim":"\u001b[2m","smkx":"\u001b[?1l\u001b=","rmkx":"\u001b\u003e","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kf6":"\u001b[17~","kf7":"\u001b[18~","kf8":"\u001b[19~","kf9":"\u001b[20~","kf10":"\u001b[21~","kf11":"\u001b[23~","kf12":"\u001b[24~","kf13":"\u001b[25~","kf14":"\u001b[26~","kf15":"\u001b[28~","kf16":"\u001b[29~","kf17":"\u001b[31~","kf18":"\u001b[32~","kf19":"\u001b[33~","kf20":"\u001b[34~","kich":"\u001b[2~","kdch":"\u001b[3~","khome":"\u001b[26~","khlp":"\u001b[28~","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001b[Z","acsc":"``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u000e","rmacs":"\u000f","enacs":"\u001b)0"} -{"name":"wy185-vb","aliases":["wyse185-vb"],"cols":80,"lines":24,"clear":"\u001b[H\u001b[J$\u003c40\u003e","smcup":"\u001b[ Q","rmcup":"\u001b[ R","cnorm":"\u001b[34h\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b[m\u000f","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","dim":"\u001b[2m","smkx":"\u001b[?1l\u001b=","rmkx":"\u001b\u003e","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kf6":"\u001b[17~","kf7":"\u001b[18~","kf8":"\u001b[19~","kf9":"\u001b[20~","kf10":"\u001b[21~","kf11":"\u001b[23~","kf12":"\u001b[24~","kf13":"\u001b[25~","kf14":"\u001b[26~","kf15":"\u001b[28~","kf16":"\u001b[29~","kf17":"\u001b[31~","kf18":"\u001b[32~","kf19":"\u001b[33~","kf20":"\u001b[34~","kich":"\u001b[2~","kdch":"\u001b[3~","khome":"\u001b[26~","khlp":"\u001b[28~","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001b[Z","acsc":"``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u000e","rmacs":"\u000f","enacs":"\u001b)0"} -{"name":"wy185-w","aliases":["wyse185-w"],"cols":132,"lines":24,"bell":"\u0007","clear":"\u001b[H\u001b[J$\u003c40\u003e","smcup":"\u001b[ Q","rmcup":"\u001b[ R","cnorm":"\u001b[34h\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b[m\u000f","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","dim":"\u001b[2m","smkx":"\u001b[?1l\u001b=","rmkx":"\u001b\u003e","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kf6":"\u001b[17~","kf7":"\u001b[18~","kf8":"\u001b[19~","kf9":"\u001b[20~","kf10":"\u001b[21~","kf11":"\u001b[23~","kf12":"\u001b[24~","kf13":"\u001b[25~","kf14":"\u001b[26~","kf15":"\u001b[28~","kf16":"\u001b[29~","kf17":"\u001b[31~","kf18":"\u001b[32~","kf19":"\u001b[33~","kf20":"\u001b[34~","kich":"\u001b[2~","kdch":"\u001b[3~","khome":"\u001b[26~","khlp":"\u001b[28~","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001b[Z","acsc":"``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u000e","rmacs":"\u000f","enacs":"\u001b)0"} -{"name":"wy185-wvb","aliases":["wyse185-wvb"],"cols":132,"lines":24,"clear":"\u001b[H\u001b[J$\u003c40\u003e","smcup":"\u001b[ Q","rmcup":"\u001b[ R","cnorm":"\u001b[34h\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b[m\u000f","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","dim":"\u001b[2m","smkx":"\u001b[?1l\u001b=","rmkx":"\u001b\u003e","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kf6":"\u001b[17~","kf7":"\u001b[18~","kf8":"\u001b[19~","kf9":"\u001b[20~","kf10":"\u001b[21~","kf11":"\u001b[23~","kf12":"\u001b[24~","kf13":"\u001b[25~","kf14":"\u001b[26~","kf15":"\u001b[28~","kf16":"\u001b[29~","kf17":"\u001b[31~","kf18":"\u001b[32~","kf19":"\u001b[33~","kf20":"\u001b[34~","kich":"\u001b[2~","kdch":"\u001b[3~","khome":"\u001b[26~","khlp":"\u001b[28~","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001b[Z","acsc":"``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u000e","rmacs":"\u000f","enacs":"\u001b)0"} -{"name":"wy30","aliases":["wyse30"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u001b+$\u003c80\u003e","cnorm":"\u001b`1","civis":"\u001b`0","sgr0":"\u001b(\u001bH\u0003","dim":"\u001b`7\u001b)","cup":"\u001b=%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u000b","pad":"\u0000","kbs":"\u0008","kf1":"\u0001@\r","kf2":"\u0001A\r","kf3":"\u0001B\r","kf4":"\u0001C\r","kf5":"\u0001D\r","kf6":"\u0001E\r","kf7":"\u0001F\r","kf8":"\u0001G\r","kich":"\u001bQ","kdch":"\u001bW","khome":"\u001e","kpp":"\u001bJ","knp":"\u001bK","kcuu1":"\u000b","kcud1":"\n","kcub1":"\u0008","kcuf1":"\u000c","kcbt":"\u001bI","acsc":"0wa_h[jukslrmqnxqzttuyv]wpxv","smacs":"\u001bH\u0002","rmacs":"\u001bH\u0003","kHOM":"\u001b{"} -{"name":"wy30-mc","aliases":["wyse30-mc"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u001b+$\u003c80\u003e","rmcup":"\u001bG0","cnorm":"\u001b`1","civis":"\u001b`0","sgr0":"\u001bG0\u001b(\u001bH\u0003","smul":"\u001bG8","blink":"\u001bG2","rev":"\u001bG4","dim":"\u001bGp","cup":"\u001b=%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u000b","pad":"\u0000","kbs":"\u0008","kf1":"\u0001@\r","kf2":"\u0001A\r","kf3":"\u0001B\r","kf4":"\u0001C\r","kf5":"\u0001D\r","kf6":"\u0001E\r","kf7":"\u0001F\r","kf8":"\u0001G\r","kich":"\u001bQ","kdch":"\u001bW","khome":"\u001e","kpp":"\u001bJ","knp":"\u001bK","kcuu1":"\u000b","kcud1":"\n","kcub1":"\u0008","kcuf1":"\u000c","kcbt":"\u001bI","acsc":"0wa_h[jukslrmqnxqzttuyv]wpxv","smacs":"\u001bG0\u001bH\u0002","rmacs":"\u001bG0\u001bH\u0003","kHOM":"\u001b{"} -{"name":"wy30-vb","aliases":["wyse30-vb"],"cols":80,"lines":24,"clear":"\u001b+$\u003c80\u003e","cnorm":"\u001b`1","civis":"\u001b`0","sgr0":"\u001b(\u001bH\u0003","dim":"\u001b`7\u001b)","cup":"\u001b=%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u000b","pad":"\u0000","kbs":"\u0008","kf1":"\u0001@\r","kf2":"\u0001A\r","kf3":"\u0001B\r","kf4":"\u0001C\r","kf5":"\u0001D\r","kf6":"\u0001E\r","kf7":"\u0001F\r","kf8":"\u0001G\r","kich":"\u001bQ","kdch":"\u001bW","khome":"\u001e","kpp":"\u001bJ","knp":"\u001bK","kcuu1":"\u000b","kcud1":"\n","kcub1":"\u0008","kcuf1":"\u000c","kcbt":"\u001bI","acsc":"0wa_h[jukslrmqnxqzttuyv]wpxv","smacs":"\u001bH\u0002","rmacs":"\u001bH\u0003","kHOM":"\u001b{"} -{"name":"wy325","aliases":["wyse325"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u001b+$\u003c50\u003e","smcup":"\u001bw1","rmcup":"\u001bw0","cnorm":"\u001b`1","civis":"\u001b`0","sgr0":"\u001b(\u001bH\u0003\u001bG0\u001bcD","smul":"\u001bG8","blink":"\u001bG2","rev":"\u001bG4","dim":"\u001bGp","cup":"\u001b=%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u000b","pad":"\u0000","kbs":"\u0008","kf1":"\u0001@\r","kf2":"\u0001A\r","kf3":"\u0001B\r","kf4":"\u0001C\r","kf5":"\u0001D\r","kf6":"\u0001E\r","kf7":"\u0001F\r","kf8":"\u0001G\r","kf9":"\u0001H\r","kf10":"\u0001I\r","kf11":"\u0001J\r","kf12":"\u0001K\r","kf13":"\u0001L\r","kf14":"\u0001M\r","kf15":"\u0001N\r","kf16":"\u0001O\r","kich":"\u001bq","kdch":"\u001bW","khome":"\u001e","kpp":"\u001bJ","knp":"\u001bK","kcuu1":"\u000b","kcud1":"\n","kcub1":"\u0008","kcuf1":"\u000c","kcbt":"\u001bI","kprt":"\u001bP","acsc":"+/,.0[iha2fxgqh1jYk?lZm@nEqDtCu4vAwBx3yszr{c~~","smacs":"\u001bcE","rmacs":"\u001bcD","kHOM":"\u001b{"} -{"name":"wy325-25","aliases":["wy325-80","wyse-325","wyse325-25"],"cols":80,"lines":25,"bell":"\u0007","clear":"\u001b+$\u003c50\u003e","smcup":"\u001bw1","rmcup":"\u001bw0","cnorm":"\u001b`1","civis":"\u001b`0","sgr0":"\u001b(\u001bH\u0003\u001bG0\u001bcD","smul":"\u001bG8","blink":"\u001bG2","rev":"\u001bG4","dim":"\u001bGp","cup":"\u001b=%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u000b","pad":"\u0000","kbs":"\u0008","kf1":"\u0001@\r","kf2":"\u0001A\r","kf3":"\u0001B\r","kf4":"\u0001C\r","kf5":"\u0001D\r","kf6":"\u0001E\r","kf7":"\u0001F\r","kf8":"\u0001G\r","kf9":"\u0001H\r","kf10":"\u0001I\r","kf11":"\u0001J\r","kf12":"\u0001K\r","kf13":"\u0001L\r","kf14":"\u0001M\r","kf15":"\u0001N\r","kf16":"\u0001O\r","kich":"\u001bq","kdch":"\u001bW","khome":"\u001e","kpp":"\u001bJ","knp":"\u001bK","kcuu1":"\u000b","kcud1":"\n","kcub1":"\u0008","kcuf1":"\u000c","kcbt":"\u001bI","kprt":"\u001bP","acsc":"+/,.0[iha2fxgqh1jYk?lZm@nEqDtCu4vAwBx3yszr{c~~","smacs":"\u001bcE","rmacs":"\u001bcD","kHOM":"\u001b{"} -{"name":"wy325-25w","aliases":["wyse325-25w"],"cols":132,"lines":25,"bell":"\u0007","clear":"\u001b+$\u003c50\u003e","smcup":"\u001bw1","rmcup":"\u001bw0","cnorm":"\u001b`1","civis":"\u001b`0","sgr0":"\u001b(\u001bH\u0003\u001bG0\u001bcD","smul":"\u001bG8","blink":"\u001bG2","rev":"\u001bG4","dim":"\u001bGp","cup":"\u001ba%i%p1%dR%p2%dC","cub1":"\u0008","cuu1":"\u000b","pad":"\u0000","kbs":"\u0008","kf1":"\u0001@\r","kf2":"\u0001A\r","kf3":"\u0001B\r","kf4":"\u0001C\r","kf5":"\u0001D\r","kf6":"\u0001E\r","kf7":"\u0001F\r","kf8":"\u0001G\r","kf9":"\u0001H\r","kf10":"\u0001I\r","kf11":"\u0001J\r","kf12":"\u0001K\r","kf13":"\u0001L\r","kf14":"\u0001M\r","kf15":"\u0001N\r","kf16":"\u0001O\r","kich":"\u001bq","kdch":"\u001bW","khome":"\u001e","kpp":"\u001bJ","knp":"\u001bK","kcuu1":"\u000b","kcud1":"\n","kcub1":"\u0008","kcuf1":"\u000c","kcbt":"\u001bI","kprt":"\u001bP","acsc":"+/,.0[iha2fxgqh1jYk?lZm@nEqDtCu4vAwBx3yszr{c~~","smacs":"\u001bcE","rmacs":"\u001bcD","kHOM":"\u001b{"} -{"name":"wy325-42","aliases":["wyse325-42"],"cols":80,"lines":42,"bell":"\u0007","clear":"\u001b+$\u003c50\u003e","smcup":"\u001bw1","rmcup":"\u001bw0","cnorm":"\u001b`1","civis":"\u001b`0","sgr0":"\u001b(\u001bH\u0003\u001bG0\u001bcD","smul":"\u001bG8","blink":"\u001bG2","rev":"\u001bG4","dim":"\u001bGp","cup":"\u001b=%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u000b","pad":"\u0000","kbs":"\u0008","kf1":"\u0001@\r","kf2":"\u0001A\r","kf3":"\u0001B\r","kf4":"\u0001C\r","kf5":"\u0001D\r","kf6":"\u0001E\r","kf7":"\u0001F\r","kf8":"\u0001G\r","kf9":"\u0001H\r","kf10":"\u0001I\r","kf11":"\u0001J\r","kf12":"\u0001K\r","kf13":"\u0001L\r","kf14":"\u0001M\r","kf15":"\u0001N\r","kf16":"\u0001O\r","kich":"\u001bq","kdch":"\u001bW","khome":"\u001e","kpp":"\u001bJ","knp":"\u001bK","kcuu1":"\u000b","kcud1":"\n","kcub1":"\u0008","kcuf1":"\u000c","kcbt":"\u001bI","kprt":"\u001bP","acsc":"+/,.0[iha2fxgqh1jYk?lZm@nEqDtCu4vAwBx3yszr{c~~","smacs":"\u001bcE","rmacs":"\u001bcD","kHOM":"\u001b{"} -{"name":"wy325-42w","aliases":["wyse325-42w"],"cols":132,"lines":42,"bell":"\u0007","clear":"\u001b+$\u003c50\u003e","smcup":"\u001bw1","rmcup":"\u001bw0","cnorm":"\u001b`1","civis":"\u001b`0","sgr0":"\u001b(\u001bH\u0003\u001bG0\u001bcD","smul":"\u001bG8","blink":"\u001bG2","rev":"\u001bG4","dim":"\u001bGp","cup":"\u001ba%i%p1%dR%p2%dC","cub1":"\u0008","cuu1":"\u000b","pad":"\u0000","kbs":"\u0008","kf1":"\u0001@\r","kf2":"\u0001A\r","kf3":"\u0001B\r","kf4":"\u0001C\r","kf5":"\u0001D\r","kf6":"\u0001E\r","kf7":"\u0001F\r","kf8":"\u0001G\r","kf9":"\u0001H\r","kf10":"\u0001I\r","kf11":"\u0001J\r","kf12":"\u0001K\r","kf13":"\u0001L\r","kf14":"\u0001M\r","kf15":"\u0001N\r","kf16":"\u0001O\r","kich":"\u001bq","kdch":"\u001bW","khome":"\u001e","kpp":"\u001bJ","knp":"\u001bK","kcuu1":"\u000b","kcud1":"\n","kcub1":"\u0008","kcuf1":"\u000c","kcbt":"\u001bI","kprt":"\u001bP","acsc":"+/,.0[iha2fxgqh1jYk?lZm@nEqDtCu4vAwBx3yszr{c~~","smacs":"\u001bcE","rmacs":"\u001bcD","kHOM":"\u001b{"} -{"name":"wy325-42w-vb","aliases":["wy325-42wvb"],"cols":132,"lines":24,"clear":"\u001b+$\u003c50\u003e","smcup":"\u001bw1","rmcup":"\u001bw0","cnorm":"\u001b`1","civis":"\u001b`0","sgr0":"\u001b(\u001bH\u0003\u001bG0\u001bcD","smul":"\u001bG8","blink":"\u001bG2","rev":"\u001bG4","dim":"\u001bGp","cup":"\u001ba%i%p1%dR%p2%dC","cub1":"\u0008","cuu1":"\u000b","pad":"\u0000","kbs":"\u0008","kf1":"\u0001@\r","kf2":"\u0001A\r","kf3":"\u0001B\r","kf4":"\u0001C\r","kf5":"\u0001D\r","kf6":"\u0001E\r","kf7":"\u0001F\r","kf8":"\u0001G\r","kf9":"\u0001H\r","kf10":"\u0001I\r","kf11":"\u0001J\r","kf12":"\u0001K\r","kf13":"\u0001L\r","kf14":"\u0001M\r","kf15":"\u0001N\r","kf16":"\u0001O\r","kich":"\u001bq","kdch":"\u001bW","khome":"\u001e","kpp":"\u001bJ","knp":"\u001bK","kcuu1":"\u000b","kcud1":"\n","kcub1":"\u0008","kcuf1":"\u000c","kcbt":"\u001bI","kprt":"\u001bP","acsc":"+/,.0[iha2fxgqh1jYk?lZm@nEqDtCu4vAwBx3yszr{c~~","smacs":"\u001bcE","rmacs":"\u001bcD","kHOM":"\u001b{"} -{"name":"wy325-43","aliases":["wyse325-43"],"cols":80,"lines":43,"bell":"\u0007","clear":"\u001b+$\u003c50\u003e","smcup":"\u001bw1","rmcup":"\u001bw0","cnorm":"\u001b`1","civis":"\u001b`0","sgr0":"\u001b(\u001bH\u0003\u001bG0\u001bcD","smul":"\u001bG8","blink":"\u001bG2","rev":"\u001bG4","dim":"\u001bGp","cup":"\u001b=%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u000b","pad":"\u0000","kbs":"\u0008","kf1":"\u0001@\r","kf2":"\u0001A\r","kf3":"\u0001B\r","kf4":"\u0001C\r","kf5":"\u0001D\r","kf6":"\u0001E\r","kf7":"\u0001F\r","kf8":"\u0001G\r","kf9":"\u0001H\r","kf10":"\u0001I\r","kf11":"\u0001J\r","kf12":"\u0001K\r","kf13":"\u0001L\r","kf14":"\u0001M\r","kf15":"\u0001N\r","kf16":"\u0001O\r","kich":"\u001bq","kdch":"\u001bW","khome":"\u001e","kpp":"\u001bJ","knp":"\u001bK","kcuu1":"\u000b","kcud1":"\n","kcub1":"\u0008","kcuf1":"\u000c","kcbt":"\u001bI","kprt":"\u001bP","acsc":"+/,.0[iha2fxgqh1jYk?lZm@nEqDtCu4vAwBx3yszr{c~~","smacs":"\u001bcE","rmacs":"\u001bcD","kHOM":"\u001b{"} -{"name":"wy325-43w","aliases":["wyse325-43w"],"cols":132,"lines":43,"bell":"\u0007","clear":"\u001b+$\u003c50\u003e","smcup":"\u001bw1","rmcup":"\u001bw0","cnorm":"\u001b`1","civis":"\u001b`0","sgr0":"\u001b(\u001bH\u0003\u001bG0\u001bcD","smul":"\u001bG8","blink":"\u001bG2","rev":"\u001bG4","dim":"\u001bGp","cup":"\u001ba%i%p1%dR%p2%dC","cub1":"\u0008","cuu1":"\u000b","pad":"\u0000","kbs":"\u0008","kf1":"\u0001@\r","kf2":"\u0001A\r","kf3":"\u0001B\r","kf4":"\u0001C\r","kf5":"\u0001D\r","kf6":"\u0001E\r","kf7":"\u0001F\r","kf8":"\u0001G\r","kf9":"\u0001H\r","kf10":"\u0001I\r","kf11":"\u0001J\r","kf12":"\u0001K\r","kf13":"\u0001L\r","kf14":"\u0001M\r","kf15":"\u0001N\r","kf16":"\u0001O\r","kich":"\u001bq","kdch":"\u001bW","khome":"\u001e","kpp":"\u001bJ","knp":"\u001bK","kcuu1":"\u000b","kcud1":"\n","kcub1":"\u0008","kcuf1":"\u000c","kcbt":"\u001bI","kprt":"\u001bP","acsc":"+/,.0[iha2fxgqh1jYk?lZm@nEqDtCu4vAwBx3yszr{c~~","smacs":"\u001bcE","rmacs":"\u001bcD","kHOM":"\u001b{"} -{"name":"wy325-43w-vb","aliases":["wy325-43wvb"],"cols":132,"lines":24,"clear":"\u001b+$\u003c50\u003e","smcup":"\u001bw1","rmcup":"\u001bw0","cnorm":"\u001b`1","civis":"\u001b`0","sgr0":"\u001b(\u001bH\u0003\u001bG0\u001bcD","smul":"\u001bG8","blink":"\u001bG2","rev":"\u001bG4","dim":"\u001bGp","cup":"\u001ba%i%p1%dR%p2%dC","cub1":"\u0008","cuu1":"\u000b","pad":"\u0000","kbs":"\u0008","kf1":"\u0001@\r","kf2":"\u0001A\r","kf3":"\u0001B\r","kf4":"\u0001C\r","kf5":"\u0001D\r","kf6":"\u0001E\r","kf7":"\u0001F\r","kf8":"\u0001G\r","kf9":"\u0001H\r","kf10":"\u0001I\r","kf11":"\u0001J\r","kf12":"\u0001K\r","kf13":"\u0001L\r","kf14":"\u0001M\r","kf15":"\u0001N\r","kf16":"\u0001O\r","kich":"\u001bq","kdch":"\u001bW","khome":"\u001e","kpp":"\u001bJ","knp":"\u001bK","kcuu1":"\u000b","kcud1":"\n","kcub1":"\u0008","kcuf1":"\u000c","kcbt":"\u001bI","kprt":"\u001bP","acsc":"+/,.0[iha2fxgqh1jYk?lZm@nEqDtCu4vAwBx3yszr{c~~","smacs":"\u001bcE","rmacs":"\u001bcD","kHOM":"\u001b{"} -{"name":"wy325-vb","aliases":["wyse325-vb"],"cols":80,"lines":24,"clear":"\u001b+$\u003c50\u003e","smcup":"\u001bw1","rmcup":"\u001bw0","cnorm":"\u001b`1","civis":"\u001b`0","sgr0":"\u001b(\u001bH\u0003\u001bG0\u001bcD","smul":"\u001bG8","blink":"\u001bG2","rev":"\u001bG4","dim":"\u001bGp","cup":"\u001b=%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u000b","pad":"\u0000","kbs":"\u0008","kf1":"\u0001@\r","kf2":"\u0001A\r","kf3":"\u0001B\r","kf4":"\u0001C\r","kf5":"\u0001D\r","kf6":"\u0001E\r","kf7":"\u0001F\r","kf8":"\u0001G\r","kf9":"\u0001H\r","kf10":"\u0001I\r","kf11":"\u0001J\r","kf12":"\u0001K\r","kf13":"\u0001L\r","kf14":"\u0001M\r","kf15":"\u0001N\r","kf16":"\u0001O\r","kich":"\u001bq","kdch":"\u001bW","khome":"\u001e","kpp":"\u001bJ","knp":"\u001bK","kcuu1":"\u000b","kcud1":"\n","kcub1":"\u0008","kcuf1":"\u000c","kcbt":"\u001bI","kprt":"\u001bP","acsc":"+/,.0[iha2fxgqh1jYk?lZm@nEqDtCu4vAwBx3yszr{c~~","smacs":"\u001bcE","rmacs":"\u001bcD","kHOM":"\u001b{"} -{"name":"wy325-w","aliases":["wy325w-24","wyse325-w"],"cols":132,"lines":24,"bell":"\u0007","clear":"\u001b+$\u003c50\u003e","smcup":"\u001bw1","rmcup":"\u001bw0","cnorm":"\u001b`1","civis":"\u001b`0","sgr0":"\u001b(\u001bH\u0003\u001bG0\u001bcD","smul":"\u001bG8","blink":"\u001bG2","rev":"\u001bG4","dim":"\u001bGp","cup":"\u001ba%i%p1%dR%p2%dC","cub1":"\u0008","cuu1":"\u000b","pad":"\u0000","kbs":"\u0008","kf1":"\u0001@\r","kf2":"\u0001A\r","kf3":"\u0001B\r","kf4":"\u0001C\r","kf5":"\u0001D\r","kf6":"\u0001E\r","kf7":"\u0001F\r","kf8":"\u0001G\r","kf9":"\u0001H\r","kf10":"\u0001I\r","kf11":"\u0001J\r","kf12":"\u0001K\r","kf13":"\u0001L\r","kf14":"\u0001M\r","kf15":"\u0001N\r","kf16":"\u0001O\r","kich":"\u001bq","kdch":"\u001bW","khome":"\u001e","kpp":"\u001bJ","knp":"\u001bK","kcuu1":"\u000b","kcud1":"\n","kcub1":"\u0008","kcuf1":"\u000c","kcbt":"\u001bI","kprt":"\u001bP","acsc":"+/,.0[iha2fxgqh1jYk?lZm@nEqDtCu4vAwBx3yszr{c~~","smacs":"\u001bcE","rmacs":"\u001bcD","kHOM":"\u001b{"} -{"name":"wy325-w-vb","aliases":["wy325-wvb","wyse325-wvb"],"cols":132,"lines":24,"clear":"\u001b+$\u003c50\u003e","smcup":"\u001bw1","rmcup":"\u001bw0","cnorm":"\u001b`1","civis":"\u001b`0","sgr0":"\u001b(\u001bH\u0003\u001bG0\u001bcD","smul":"\u001bG8","blink":"\u001bG2","rev":"\u001bG4","dim":"\u001bGp","cup":"\u001ba%i%p1%dR%p2%dC","cub1":"\u0008","cuu1":"\u000b","pad":"\u0000","kbs":"\u0008","kf1":"\u0001@\r","kf2":"\u0001A\r","kf3":"\u0001B\r","kf4":"\u0001C\r","kf5":"\u0001D\r","kf6":"\u0001E\r","kf7":"\u0001F\r","kf8":"\u0001G\r","kf9":"\u0001H\r","kf10":"\u0001I\r","kf11":"\u0001J\r","kf12":"\u0001K\r","kf13":"\u0001L\r","kf14":"\u0001M\r","kf15":"\u0001N\r","kf16":"\u0001O\r","kich":"\u001bq","kdch":"\u001bW","khome":"\u001e","kpp":"\u001bJ","knp":"\u001bK","kcuu1":"\u000b","kcud1":"\n","kcub1":"\u0008","kcuf1":"\u000c","kcbt":"\u001bI","kprt":"\u001bP","acsc":"+/,.0[iha2fxgqh1jYk?lZm@nEqDtCu4vAwBx3yszr{c~~","smacs":"\u001bcE","rmacs":"\u001bcD","kHOM":"\u001b{"} -{"name":"wy350","aliases":["wyse350"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u001b+$\u003c20\u003e","cnorm":"\u001b`1","civis":"\u001b`0","sgr0":"\u001bG0\u001b(\u001bH\u0003%{0}%PA%{0}%PC","smul":"\u001bG8","blink":"\u001bG2","rev":"\u001bG4","dim":"\u001bGp","cup":"\u001b=%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u000b","pad":"\u0000","kbs":"\u0008","kf1":"\u0001@\r","kf2":"\u0001A\r","kf3":"\u0001B\r","kf4":"\u0001C\r","kf5":"\u0001D\r","kf6":"\u0001E\r","kf7":"\u0001F\r","kf8":"\u0001G\r","kf9":"\u0001H\r","kf10":"\u0001I\r","kf11":"\u0001J\r","kf12":"\u0001K\r","kf13":"\u0001L\r","kf14":"\u0001M\r","kf15":"\u0001N\r","kf16":"\u0001O\r","kich":"\u001bQ","kdch":"\u001bW","khome":"\u001e","kpp":"\u001bJ","knp":"\u001bK","kcuu1":"\u000b","kcud1":"\n","kcub1":"\u0008","kcuf1":"\u000c","kcbt":"\u001bI","kprt":"\u001bP","acsc":"0wa_h[jukslrmqnxqzttuyv]wpxv","smacs":"\u001bG0\u001bH\u0002","rmacs":"\u001bG0\u001bH\u0003","kHOM":"\u001b{"} -{"name":"wy350-vb","aliases":["wyse350-vb"],"cols":80,"lines":24,"clear":"\u001b+$\u003c20\u003e","cnorm":"\u001b`1","civis":"\u001b`0","sgr0":"\u001bG0\u001b(\u001bH\u0003%{0}%PA%{0}%PC","smul":"\u001bG8","blink":"\u001bG2","rev":"\u001bG4","dim":"\u001bGp","cup":"\u001b=%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u000b","pad":"\u0000","kbs":"\u0008","kf1":"\u0001@\r","kf2":"\u0001A\r","kf3":"\u0001B\r","kf4":"\u0001C\r","kf5":"\u0001D\r","kf6":"\u0001E\r","kf7":"\u0001F\r","kf8":"\u0001G\r","kf9":"\u0001H\r","kf10":"\u0001I\r","kf11":"\u0001J\r","kf12":"\u0001K\r","kf13":"\u0001L\r","kf14":"\u0001M\r","kf15":"\u0001N\r","kf16":"\u0001O\r","kich":"\u001bQ","kdch":"\u001bW","khome":"\u001e","kpp":"\u001bJ","knp":"\u001bK","kcuu1":"\u000b","kcud1":"\n","kcub1":"\u0008","kcuf1":"\u000c","kcbt":"\u001bI","kprt":"\u001bP","acsc":"0wa_h[jukslrmqnxqzttuyv]wpxv","smacs":"\u001bG0\u001bH\u0002","rmacs":"\u001bG0\u001bH\u0003","kHOM":"\u001b{"} -{"name":"wy350-w","aliases":["wyse350-w"],"cols":132,"lines":24,"bell":"\u0007","clear":"\u001b+$\u003c20\u003e","cnorm":"\u001b`1","civis":"\u001b`0","sgr0":"\u001bG0\u001b(\u001bH\u0003%{0}%PA%{0}%PC","smul":"\u001bG8","blink":"\u001bG2","rev":"\u001bG4","dim":"\u001bGp","cup":"\u001ba%i%p1%dR%p2%dC","cub1":"\u0008","cuu1":"\u000b","pad":"\u0000","kbs":"\u0008","kf1":"\u0001@\r","kf2":"\u0001A\r","kf3":"\u0001B\r","kf4":"\u0001C\r","kf5":"\u0001D\r","kf6":"\u0001E\r","kf7":"\u0001F\r","kf8":"\u0001G\r","kf9":"\u0001H\r","kf10":"\u0001I\r","kf11":"\u0001J\r","kf12":"\u0001K\r","kf13":"\u0001L\r","kf14":"\u0001M\r","kf15":"\u0001N\r","kf16":"\u0001O\r","kich":"\u001bQ","kdch":"\u001bW","khome":"\u001e","kpp":"\u001bJ","knp":"\u001bK","kcuu1":"\u000b","kcud1":"\n","kcub1":"\u0008","kcuf1":"\u000c","kcbt":"\u001bI","kprt":"\u001bP","acsc":"0wa_h[jukslrmqnxqzttuyv]wpxv","smacs":"\u001bG0\u001bH\u0002","rmacs":"\u001bG0\u001bH\u0003","kHOM":"\u001b{"} -{"name":"wy350-wvb","aliases":["wyse350-wvb"],"cols":132,"lines":24,"clear":"\u001b+$\u003c20\u003e","cnorm":"\u001b`1","civis":"\u001b`0","sgr0":"\u001bG0\u001b(\u001bH\u0003%{0}%PA%{0}%PC","smul":"\u001bG8","blink":"\u001bG2","rev":"\u001bG4","dim":"\u001bGp","cup":"\u001ba%i%p1%dR%p2%dC","cub1":"\u0008","cuu1":"\u000b","pad":"\u0000","kbs":"\u0008","kf1":"\u0001@\r","kf2":"\u0001A\r","kf3":"\u0001B\r","kf4":"\u0001C\r","kf5":"\u0001D\r","kf6":"\u0001E\r","kf7":"\u0001F\r","kf8":"\u0001G\r","kf9":"\u0001H\r","kf10":"\u0001I\r","kf11":"\u0001J\r","kf12":"\u0001K\r","kf13":"\u0001L\r","kf14":"\u0001M\r","kf15":"\u0001N\r","kf16":"\u0001O\r","kich":"\u001bQ","kdch":"\u001bW","khome":"\u001e","kpp":"\u001bJ","knp":"\u001bK","kcuu1":"\u000b","kcud1":"\n","kcub1":"\u0008","kcuf1":"\u000c","kcbt":"\u001bI","kprt":"\u001bP","acsc":"0wa_h[jukslrmqnxqzttuyv]wpxv","smacs":"\u001bG0\u001bH\u0002","rmacs":"\u001bG0\u001bH\u0003","kHOM":"\u001b{"} -{"name":"wy370","aliases":["wy370-101k","wyse370"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u001b[H\u001b[J$\u003c40\u003e","smcup":"\u001b[ Q","rmcup":"\u001b[ R","cnorm":"\u001b[34h\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b[m\u000f","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","dim":"\u001b[2m","smkx":"\u001b[?1l\u001b=","rmkx":"\u001b\u003e","cup":"\u001b[%i%p1%d;%p2%dH$\u003c1\u003e","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001b[?4i","kf2":"\u001b[?3i","kf3":"\u001b[2i","kf4":"\u001b[@","kf5":"\u001b[M","kf6":"\u001b[17~","kf7":"\u001b[18~","kf8":"\u001b[19~","kf9":"\u001b[20~","kf10":"\u001b[21~","kf11":"\u001b[23~","kf12":"\u001b[24~","kf13":"\u001b[25~","kf14":"\u001b[26~","kf15":"\u001b[28~","kf16":"\u001b[29~","kich":"\u001bOP","kdch":"\u001bOQ","khome":"\u001b[H","kpp":"\u001b[V","knp":"\u001b[U","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001b[Z","acsc":"``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u000e","rmacs":"\u000f","enacs":"\u001b)0"} -{"name":"wy370-105k","cols":80,"lines":24,"bell":"\u0007","clear":"\u001b[H\u001b[J$\u003c40\u003e","smcup":"\u001b[ Q","rmcup":"\u001b[ R","cnorm":"\u001b[34h\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b[m\u000f","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","dim":"\u001b[2m","smkx":"\u001b[?1l\u001b=","rmkx":"\u001b\u003e","cup":"\u001b[%i%p1%d;%p2%dH$\u003c1\u003e","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kf6":"\u001b[17~","kf7":"\u001b[18~","kf8":"\u001b[19~","kf9":"\u001b[20~","kf10":"\u001b[21~","kf11":"\u001b[23~","kf12":"\u001b[24~","kf13":"\u001b[25~","kf14":"\u001b[26~","kf15":"\u001b[28~","kf16":"\u001b[29~","kf17":"\u001b[31~","kf18":"\u001b[32~","kf19":"\u001b[33~","kf20":"\u001b[34~","kich":"\u001b[2~","kdch":"\u001b[3~","khome":"\u001b[26~","khlp":"\u001b[28~","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","acsc":"``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u000e","rmacs":"\u000f","enacs":"\u001b)0"} -{"name":"wy370-EPC","cols":80,"lines":24,"bell":"\u0007","clear":"\u001b[H\u001b[J$\u003c40\u003e","smcup":"\u001b[ Q","rmcup":"\u001b[ R","cnorm":"\u001b[34h\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b[m\u000f","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","dim":"\u001b[2m","smkx":"\u001b[?1l\u001b=","rmkx":"\u001b\u003e","cup":"\u001b[%i%p1%d;%p2%dH$\u003c1\u003e","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kf5":"\u001b[M","kf6":"\u001b[17~","kf7":"\u001b[18~","kf8":"\u001b[19~","kf9":"\u001b[20~","kf10":"\u001b[21~","kf11":"\u001b[23~","kf12":"\u001b[24~","kich":"\u001b[2~","khome":"\u001b[H","kend":"\u001b[1~","kpp":"\u001b[V","knp":"\u001b[U","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001b[Z","acsc":"``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u000e","rmacs":"\u000f","enacs":"\u001b)0"} -{"name":"wy370-nk","cols":80,"lines":24,"bell":"\u0007","clear":"\u001b[H\u001b[J$\u003c40\u003e","smcup":"\u001b[ Q","rmcup":"\u001b[ R","cnorm":"\u001b[34h\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b[m\u000f","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","dim":"\u001b[2m","smkx":"\u001b[?1l\u001b=","rmkx":"\u001b\u003e","cup":"\u001b[%i%p1%d;%p2%dH$\u003c1\u003e","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","acsc":"``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u000e","rmacs":"\u000f","enacs":"\u001b)0"} -{"name":"wy370-rv","cols":80,"lines":24,"bell":"\u0007","clear":"\u001b[H\u001b[J$\u003c40\u003e","smcup":"\u001b[ Q","rmcup":"\u001b[ R","cnorm":"\u001b[34h\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b[m\u000f","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","dim":"\u001b[2m","smkx":"\u001b[?1l\u001b=","rmkx":"\u001b\u003e","cup":"\u001b[%i%p1%d;%p2%dH$\u003c1\u003e","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001b[?4i","kf2":"\u001b[?3i","kf3":"\u001b[2i","kf4":"\u001b[@","kf5":"\u001b[M","kf6":"\u001b[17~","kf7":"\u001b[18~","kf8":"\u001b[19~","kf9":"\u001b[20~","kf10":"\u001b[21~","kf11":"\u001b[23~","kf12":"\u001b[24~","kf13":"\u001b[25~","kf14":"\u001b[26~","kf15":"\u001b[28~","kf16":"\u001b[29~","kich":"\u001bOP","kdch":"\u001bOQ","khome":"\u001b[H","kpp":"\u001b[V","knp":"\u001b[U","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001b[Z","acsc":"``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u000e","rmacs":"\u000f","enacs":"\u001b)0"} -{"name":"wy370-tek","cols":80,"lines":36,"bell":"\u0007","clear":"\u001b\u000c","cup":"\u001d%{775}%'l'%p1%*%{5}%/%-%Py%p2%'@'%*%{4}%+%{5}%/%Px%gy%' '%/%{31}%\u0026%' '%+%c%gy%{31}%\u0026%'`'%+%c%gx%' '%/%{31}%\u0026%' '%+%c%gx%{31}%\u0026%'@'%+%c\u001f","cub1":"\u0008","cuu1":"\u000b","pad":"\u0000","kbs":"\u0008","kcuu1":"\u000b","kcud1":"\n","kcub1":"\u0008","kcuf1":"\t"} -{"name":"wy370-vb","cols":80,"lines":24,"clear":"\u001b[H\u001b[J$\u003c40\u003e","smcup":"\u001b[ Q","rmcup":"\u001b[ R","cnorm":"\u001b[34h\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b[m\u000f","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","dim":"\u001b[2m","smkx":"\u001b[?1l\u001b=","rmkx":"\u001b\u003e","cup":"\u001b[%i%p1%d;%p2%dH$\u003c1\u003e","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001b[?4i","kf2":"\u001b[?3i","kf3":"\u001b[2i","kf4":"\u001b[@","kf5":"\u001b[M","kf6":"\u001b[17~","kf7":"\u001b[18~","kf8":"\u001b[19~","kf9":"\u001b[20~","kf10":"\u001b[21~","kf11":"\u001b[23~","kf12":"\u001b[24~","kf13":"\u001b[25~","kf14":"\u001b[26~","kf15":"\u001b[28~","kf16":"\u001b[29~","kich":"\u001bOP","kdch":"\u001bOQ","khome":"\u001b[H","kpp":"\u001b[V","knp":"\u001b[U","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001b[Z","acsc":"``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u000e","rmacs":"\u000f","enacs":"\u001b)0"} -{"name":"wy370-w","cols":132,"lines":24,"bell":"\u0007","clear":"\u001b[H\u001b[J$\u003c40\u003e","smcup":"\u001b[ Q","rmcup":"\u001b[ R","cnorm":"\u001b[34h\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b[m\u000f","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","dim":"\u001b[2m","smkx":"\u001b[?1l\u001b=","rmkx":"\u001b\u003e","cup":"\u001b[%i%p1%d;%p2%dH$\u003c1\u003e","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001b[?4i","kf2":"\u001b[?3i","kf3":"\u001b[2i","kf4":"\u001b[@","kf5":"\u001b[M","kf6":"\u001b[17~","kf7":"\u001b[18~","kf8":"\u001b[19~","kf9":"\u001b[20~","kf10":"\u001b[21~","kf11":"\u001b[23~","kf12":"\u001b[24~","kf13":"\u001b[25~","kf14":"\u001b[26~","kf15":"\u001b[28~","kf16":"\u001b[29~","kich":"\u001bOP","kdch":"\u001bOQ","khome":"\u001b[H","kpp":"\u001b[V","knp":"\u001b[U","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001b[Z","acsc":"``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u000e","rmacs":"\u000f","enacs":"\u001b)0"} -{"name":"wy370-wvb","cols":132,"lines":24,"bell":"\u0007","clear":"\u001b[H\u001b[J$\u003c40\u003e","smcup":"\u001b[ Q","rmcup":"\u001b[ R","cnorm":"\u001b[34h\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b[m\u000f","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","dim":"\u001b[2m","smkx":"\u001b[?1l\u001b=","rmkx":"\u001b\u003e","cup":"\u001b[%i%p1%d;%p2%dH$\u003c1\u003e","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001b[?4i","kf2":"\u001b[?3i","kf3":"\u001b[2i","kf4":"\u001b[@","kf5":"\u001b[M","kf6":"\u001b[17~","kf7":"\u001b[18~","kf8":"\u001b[19~","kf9":"\u001b[20~","kf10":"\u001b[21~","kf11":"\u001b[23~","kf12":"\u001b[24~","kf13":"\u001b[25~","kf14":"\u001b[26~","kf15":"\u001b[28~","kf16":"\u001b[29~","kich":"\u001bOP","kdch":"\u001bOQ","khome":"\u001b[H","kpp":"\u001b[V","knp":"\u001b[U","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001b[Z","acsc":"``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u000e","rmacs":"\u000f","enacs":"\u001b)0"} -{"name":"wy50","aliases":["wyse50"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u001b+$\u003c20\u003e","cnorm":"\u001b`1","civis":"\u001b`0","sgr0":"\u001b(\u001bH\u0003","rev":"\u001b`6\u001b)","dim":"\u001b`7\u001b)","cup":"\u001b=%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u000b","pad":"\u0000","kbs":"\u0008","kf1":"\u0001@\r","kf2":"\u0001A\r","kf3":"\u0001B\r","kf4":"\u0001C\r","kf5":"\u0001D\r","kf6":"\u0001E\r","kf7":"\u0001F\r","kf8":"\u0001G\r","kf9":"\u0001H\r","kf10":"\u0001I\r","kf11":"\u0001J\r","kf12":"\u0001K\r","kf13":"\u0001L\r","kf14":"\u0001M\r","kf15":"\u0001N\r","kf16":"\u0001O\r","kich":"\u001bQ","kdch":"\u001bW","khome":"\u001e","kpp":"\u001bJ","knp":"\u001bK","kcuu1":"\u000b","kcud1":"\n","kcub1":"\u0008","kcuf1":"\u000c","kcbt":"\u001bI","kprt":"\u001bP","acsc":"0wa_h[jukslrmqnxqzttuyv]wpxv","smacs":"\u001bH\u0002","rmacs":"\u001bH\u0003","kHOM":"\u001b{"} -{"name":"wy50-mc","aliases":["wyse50-mc"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u001b+$\u003c20\u003e","rmcup":"\u001bG0","cnorm":"\u001b`1","civis":"\u001b`0","sgr0":"\u001bG0\u001b(\u001bH\u0003","smul":"\u001bG8","blink":"\u001bG2","rev":"\u001bG4","dim":"\u001bGp","cup":"\u001b=%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u000b","pad":"\u0000","kbs":"\u0008","kf1":"\u0001@\r","kf2":"\u0001A\r","kf3":"\u0001B\r","kf4":"\u0001C\r","kf5":"\u0001D\r","kf6":"\u0001E\r","kf7":"\u0001F\r","kf8":"\u0001G\r","kf9":"\u0001H\r","kf10":"\u0001I\r","kf11":"\u0001J\r","kf12":"\u0001K\r","kf13":"\u0001L\r","kf14":"\u0001M\r","kf15":"\u0001N\r","kf16":"\u0001O\r","kich":"\u001bQ","kdch":"\u001bW","khome":"\u001e","kpp":"\u001bJ","knp":"\u001bK","kcuu1":"\u000b","kcud1":"\n","kcub1":"\u0008","kcuf1":"\u000c","kcbt":"\u001bI","kprt":"\u001bP","acsc":"0wa_h[jukslrmqnxqzttuyv]wpxv","smacs":"\u001bG0\u001bH\u0002","rmacs":"\u001bG0\u001bH\u0003","kHOM":"\u001b{"} -{"name":"wy50-vb","aliases":["wyse50-vb"],"cols":80,"lines":24,"clear":"\u001b+$\u003c20\u003e","cnorm":"\u001b`1","civis":"\u001b`0","sgr0":"\u001b(\u001bH\u0003","rev":"\u001b`6\u001b)","dim":"\u001b`7\u001b)","cup":"\u001b=%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u000b","pad":"\u0000","kbs":"\u0008","kf1":"\u0001@\r","kf2":"\u0001A\r","kf3":"\u0001B\r","kf4":"\u0001C\r","kf5":"\u0001D\r","kf6":"\u0001E\r","kf7":"\u0001F\r","kf8":"\u0001G\r","kf9":"\u0001H\r","kf10":"\u0001I\r","kf11":"\u0001J\r","kf12":"\u0001K\r","kf13":"\u0001L\r","kf14":"\u0001M\r","kf15":"\u0001N\r","kf16":"\u0001O\r","kich":"\u001bQ","kdch":"\u001bW","khome":"\u001e","kpp":"\u001bJ","knp":"\u001bK","kcuu1":"\u000b","kcud1":"\n","kcub1":"\u0008","kcuf1":"\u000c","kcbt":"\u001bI","kprt":"\u001bP","acsc":"0wa_h[jukslrmqnxqzttuyv]wpxv","smacs":"\u001bH\u0002","rmacs":"\u001bH\u0003","kHOM":"\u001b{"} -{"name":"wy50-w","aliases":["wyse50-w"],"cols":132,"lines":24,"bell":"\u0007","clear":"\u001b+$\u003c20\u003e","cnorm":"\u001b`1","civis":"\u001b`0","sgr0":"\u001b(\u001bH\u0003","rev":"\u001b`6\u001b)","dim":"\u001b`7\u001b)","cup":"\u001ba%i%p1%dR%p2%dC","cub1":"\u0008","cuu1":"\u000b","pad":"\u0000","kbs":"\u0008","kf1":"\u0001@\r","kf2":"\u0001A\r","kf3":"\u0001B\r","kf4":"\u0001C\r","kf5":"\u0001D\r","kf6":"\u0001E\r","kf7":"\u0001F\r","kf8":"\u0001G\r","kf9":"\u0001H\r","kf10":"\u0001I\r","kf11":"\u0001J\r","kf12":"\u0001K\r","kf13":"\u0001L\r","kf14":"\u0001M\r","kf15":"\u0001N\r","kf16":"\u0001O\r","kich":"\u001bQ","kdch":"\u001bW","khome":"\u001e","kpp":"\u001bJ","knp":"\u001bK","kcuu1":"\u000b","kcud1":"\n","kcub1":"\u0008","kcuf1":"\u000c","kcbt":"\u001bI","kprt":"\u001bP","acsc":"0wa_h[jukslrmqnxqzttuyv]wpxv","smacs":"\u001bH\u0002","rmacs":"\u001bH\u0003","kHOM":"\u001b{"} -{"name":"wy50-wvb","aliases":["wyse50-wvb"],"cols":132,"lines":24,"clear":"\u001b+$\u003c20\u003e","cnorm":"\u001b`1","civis":"\u001b`0","sgr0":"\u001b(\u001bH\u0003","rev":"\u001b`6\u001b)","dim":"\u001b`7\u001b)","cup":"\u001ba%i%p1%dR%p2%dC","cub1":"\u0008","cuu1":"\u000b","pad":"\u0000","kbs":"\u0008","kf1":"\u0001@\r","kf2":"\u0001A\r","kf3":"\u0001B\r","kf4":"\u0001C\r","kf5":"\u0001D\r","kf6":"\u0001E\r","kf7":"\u0001F\r","kf8":"\u0001G\r","kf9":"\u0001H\r","kf10":"\u0001I\r","kf11":"\u0001J\r","kf12":"\u0001K\r","kf13":"\u0001L\r","kf14":"\u0001M\r","kf15":"\u0001N\r","kf16":"\u0001O\r","kich":"\u001bQ","kdch":"\u001bW","khome":"\u001e","kpp":"\u001bJ","knp":"\u001bK","kcuu1":"\u000b","kcud1":"\n","kcub1":"\u0008","kcuf1":"\u000c","kcbt":"\u001bI","kprt":"\u001bP","acsc":"0wa_h[jukslrmqnxqzttuyv]wpxv","smacs":"\u001bH\u0002","rmacs":"\u001bH\u0003","kHOM":"\u001b{"} -{"name":"wy520","aliases":["wyse520"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u001b[H\u001b[J$\u003c40\u003e","smcup":"\u001b[ Q\u001b[?67;8h","rmcup":"\u001b[ R","cnorm":"\u001b[34h\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b[m\u000f","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","dim":"\u001b[2m","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kf6":"\u001b[17~","kf7":"\u001b[18~","kf8":"\u001b[19~","kf9":"\u001b[20~","kf10":"\u001b[21~","kf11":"\u001b[23~","kf12":"\u001b[24~","kf13":"\u001b[25~","kf14":"\u001b[26~","kf15":"\u001b[28~","kf16":"\u001b[29~","kf17":"\u001b[31~","kf18":"\u001b[32~","kf19":"\u001b[33~","kf20":"\u001b[34~","kich":"\u001b[2~","kdch":"\u001b[3~","khome":"\u001b[26~","khlp":"\u001b[28~","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001b[Z","acsc":"``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u000e","rmacs":"\u000f","enacs":"\u001b)0"} -{"name":"wy520-24","aliases":["wyse520-24"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u001b[H\u001b[J$\u003c40\u003e","smcup":"\u001b[ Q\u001b[?67;8h","rmcup":"\u001b[ R","cnorm":"\u001b[34h\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b[m\u000f","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","dim":"\u001b[2m","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kf6":"\u001b[17~","kf7":"\u001b[18~","kf8":"\u001b[19~","kf9":"\u001b[20~","kf10":"\u001b[21~","kf11":"\u001b[23~","kf12":"\u001b[24~","kf13":"\u001b[25~","kf14":"\u001b[26~","kf15":"\u001b[28~","kf16":"\u001b[29~","kf17":"\u001b[31~","kf18":"\u001b[32~","kf19":"\u001b[33~","kf20":"\u001b[34~","kich":"\u001b[2~","kdch":"\u001b[3~","khome":"\u001b[26~","khlp":"\u001b[28~","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001b[Z","acsc":"``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u000e","rmacs":"\u000f","enacs":"\u001b)0"} -{"name":"wy520-36","aliases":["wyse520-36"],"cols":80,"lines":36,"bell":"\u0007","clear":"\u001b[H\u001b[J$\u003c40\u003e","smcup":"\u001b[ Q\u001b[?67;8h","rmcup":"\u001b[ R","cnorm":"\u001b[34h\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b[m\u000f","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","dim":"\u001b[2m","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kf6":"\u001b[17~","kf7":"\u001b[18~","kf8":"\u001b[19~","kf9":"\u001b[20~","kf10":"\u001b[21~","kf11":"\u001b[23~","kf12":"\u001b[24~","kf13":"\u001b[25~","kf14":"\u001b[26~","kf15":"\u001b[28~","kf16":"\u001b[29~","kf17":"\u001b[31~","kf18":"\u001b[32~","kf19":"\u001b[33~","kf20":"\u001b[34~","kich":"\u001b[2~","kdch":"\u001b[3~","khome":"\u001b[26~","khlp":"\u001b[28~","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001b[Z","acsc":"``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u000e","rmacs":"\u000f","enacs":"\u001b)0"} -{"name":"wy520-36pc","aliases":["wyse520-36pc"],"cols":80,"lines":36,"bell":"\u0007","clear":"\u001b[H\u001b[J$\u003c40\u003e","smcup":"\u001b[ Q\u001b[?67;8h","rmcup":"\u001b[ R","cnorm":"\u001b[34h\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b[m\u000f","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","dim":"\u001b[2m","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001b[11~","kf2":"\u001b[12~","kf3":"\u001b[13~","kf4":"\u001b[14~","kf5":"\u001b[15~","kf6":"\u001b[17~","kf7":"\u001b[18~","kf8":"\u001b[19~","kf9":"\u001b[20~","kf10":"\u001b[21~","kf11":"\u001b[23~","kf12":"\u001b[24~","kf13":"\u001b[25~","kf14":"\u001b[26~","kf15":"\u001b[28~","kf16":"\u001b[29~","kf17":"\u001b[31~","kf18":"\u001b[32~","kf19":"\u001b[33~","kf20":"\u001b[34~","kich":"\u001b[2~","kdch":"","khome":"\u001b[H","kend":"\u001b[4~","khlp":"\u001b[28~","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001b[Z","acsc":"``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u000e","rmacs":"\u000f","enacs":"\u001b)0"} -{"name":"wy520-36w","aliases":["wyse520-36w"],"cols":132,"lines":36,"bell":"\u0007","clear":"\u001b[H\u001b[J$\u003c40\u003e","smcup":"\u001b[ Q\u001b[?67;8h","rmcup":"\u001b[ R","cnorm":"\u001b[34h\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b[m\u000f","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","dim":"\u001b[2m","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kf6":"\u001b[17~","kf7":"\u001b[18~","kf8":"\u001b[19~","kf9":"\u001b[20~","kf10":"\u001b[21~","kf11":"\u001b[23~","kf12":"\u001b[24~","kf13":"\u001b[25~","kf14":"\u001b[26~","kf15":"\u001b[28~","kf16":"\u001b[29~","kf17":"\u001b[31~","kf18":"\u001b[32~","kf19":"\u001b[33~","kf20":"\u001b[34~","kich":"\u001b[2~","kdch":"\u001b[3~","khome":"\u001b[26~","khlp":"\u001b[28~","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001b[Z","acsc":"``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u000e","rmacs":"\u000f","enacs":"\u001b)0"} -{"name":"wy520-36wpc","aliases":["wyse520-36wpc"],"cols":132,"lines":36,"bell":"\u0007","clear":"\u001b[H\u001b[J$\u003c40\u003e","smcup":"\u001b[ Q\u001b[?67;8h","rmcup":"\u001b[ R","cnorm":"\u001b[34h\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b[m\u000f","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","dim":"\u001b[2m","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001b[11~","kf2":"\u001b[12~","kf3":"\u001b[13~","kf4":"\u001b[14~","kf5":"\u001b[15~","kf6":"\u001b[17~","kf7":"\u001b[18~","kf8":"\u001b[19~","kf9":"\u001b[20~","kf10":"\u001b[21~","kf11":"\u001b[23~","kf12":"\u001b[24~","kf13":"\u001b[25~","kf14":"\u001b[26~","kf15":"\u001b[28~","kf16":"\u001b[29~","kf17":"\u001b[31~","kf18":"\u001b[32~","kf19":"\u001b[33~","kf20":"\u001b[34~","kich":"\u001b[2~","kdch":"","khome":"\u001b[H","kend":"\u001b[4~","khlp":"\u001b[28~","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001b[Z","acsc":"``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u000e","rmacs":"\u000f","enacs":"\u001b)0"} -{"name":"wy520-48","aliases":["wyse520-48"],"cols":80,"lines":48,"bell":"\u0007","clear":"\u001b[H\u001b[J$\u003c40\u003e","smcup":"\u001b[ Q\u001b[?67;8h","rmcup":"\u001b[ R","cnorm":"\u001b[34h\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b[m\u000f","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","dim":"\u001b[2m","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kf6":"\u001b[17~","kf7":"\u001b[18~","kf8":"\u001b[19~","kf9":"\u001b[20~","kf10":"\u001b[21~","kf11":"\u001b[23~","kf12":"\u001b[24~","kf13":"\u001b[25~","kf14":"\u001b[26~","kf15":"\u001b[28~","kf16":"\u001b[29~","kf17":"\u001b[31~","kf18":"\u001b[32~","kf19":"\u001b[33~","kf20":"\u001b[34~","kich":"\u001b[2~","kdch":"\u001b[3~","khome":"\u001b[26~","khlp":"\u001b[28~","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001b[Z","acsc":"``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u000e","rmacs":"\u000f","enacs":"\u001b)0"} -{"name":"wy520-48pc","aliases":["wyse520-48pc"],"cols":80,"lines":48,"bell":"\u0007","clear":"\u001b[H\u001b[J$\u003c40\u003e","smcup":"\u001b[ Q\u001b[?67;8h","rmcup":"\u001b[ R","cnorm":"\u001b[34h\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b[m\u000f","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","dim":"\u001b[2m","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001b[11~","kf2":"\u001b[12~","kf3":"\u001b[13~","kf4":"\u001b[14~","kf5":"\u001b[15~","kf6":"\u001b[17~","kf7":"\u001b[18~","kf8":"\u001b[19~","kf9":"\u001b[20~","kf10":"\u001b[21~","kf11":"\u001b[23~","kf12":"\u001b[24~","kf13":"\u001b[25~","kf14":"\u001b[26~","kf15":"\u001b[28~","kf16":"\u001b[29~","kf17":"\u001b[31~","kf18":"\u001b[32~","kf19":"\u001b[33~","kf20":"\u001b[34~","kich":"\u001b[2~","kdch":"","khome":"\u001b[H","kend":"\u001b[4~","khlp":"\u001b[28~","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001b[Z","acsc":"``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u000e","rmacs":"\u000f","enacs":"\u001b)0"} -{"name":"wy520-48w","aliases":["wyse520-48w"],"cols":132,"lines":48,"bell":"\u0007","clear":"\u001b[H\u001b[J$\u003c40\u003e","smcup":"\u001b[ Q\u001b[?67;8h","rmcup":"\u001b[ R","cnorm":"\u001b[34h\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b[m\u000f","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","dim":"\u001b[2m","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kf6":"\u001b[17~","kf7":"\u001b[18~","kf8":"\u001b[19~","kf9":"\u001b[20~","kf10":"\u001b[21~","kf11":"\u001b[23~","kf12":"\u001b[24~","kf13":"\u001b[25~","kf14":"\u001b[26~","kf15":"\u001b[28~","kf16":"\u001b[29~","kf17":"\u001b[31~","kf18":"\u001b[32~","kf19":"\u001b[33~","kf20":"\u001b[34~","kich":"\u001b[2~","kdch":"\u001b[3~","khome":"\u001b[26~","khlp":"\u001b[28~","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001b[Z","acsc":"``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u000e","rmacs":"\u000f","enacs":"\u001b)0"} -{"name":"wy520-48wpc","aliases":["wyse520-48wpc"],"cols":132,"lines":48,"bell":"\u0007","clear":"\u001b[H\u001b[J$\u003c40\u003e","smcup":"\u001b[ Q\u001b[?67;8h","rmcup":"\u001b[ R","cnorm":"\u001b[34h\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b[m\u000f","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","dim":"\u001b[2m","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001b[11~","kf2":"\u001b[12~","kf3":"\u001b[13~","kf4":"\u001b[14~","kf5":"\u001b[15~","kf6":"\u001b[17~","kf7":"\u001b[18~","kf8":"\u001b[19~","kf9":"\u001b[20~","kf10":"\u001b[21~","kf11":"\u001b[23~","kf12":"\u001b[24~","kf13":"\u001b[25~","kf14":"\u001b[26~","kf15":"\u001b[28~","kf16":"\u001b[29~","kf17":"\u001b[31~","kf18":"\u001b[32~","kf19":"\u001b[33~","kf20":"\u001b[34~","kich":"\u001b[2~","kdch":"","khome":"\u001b[H","kend":"\u001b[4~","khlp":"\u001b[28~","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001b[Z","acsc":"``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u000e","rmacs":"\u000f","enacs":"\u001b)0"} -{"name":"wy520-epc","aliases":["wyse520-epc"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u001b[H\u001b[J$\u003c40\u003e","smcup":"\u001b[ Q\u001b[?67;8h","rmcup":"\u001b[ R","cnorm":"\u001b[34h\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b[m\u000f","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","dim":"\u001b[2m","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001b[11~","kf2":"\u001b[12~","kf3":"\u001b[13~","kf4":"\u001b[14~","kf5":"\u001b[15~","kf6":"\u001b[17~","kf7":"\u001b[18~","kf8":"\u001b[19~","kf9":"\u001b[20~","kf10":"\u001b[21~","kf11":"\u001b[23~","kf12":"\u001b[24~","kf13":"\u001b[25~","kf14":"\u001b[26~","kf15":"\u001b[28~","kf16":"\u001b[29~","kf17":"\u001b[31~","kf18":"\u001b[32~","kf19":"\u001b[33~","kf20":"\u001b[34~","kich":"\u001b[2~","kdch":"","khome":"\u001b[H","kend":"\u001b[4~","khlp":"\u001b[28~","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001b[Z","acsc":"``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u000e","rmacs":"\u000f","enacs":"\u001b)0"} -{"name":"wy520-epc-24","aliases":["wyse520-pc-24"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u001b[H\u001b[J$\u003c40\u003e","smcup":"\u001b[ Q\u001b[?67;8h","rmcup":"\u001b[ R","cnorm":"\u001b[34h\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b[m\u000f","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","dim":"\u001b[2m","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001b[11~","kf2":"\u001b[12~","kf3":"\u001b[13~","kf4":"\u001b[14~","kf5":"\u001b[15~","kf6":"\u001b[17~","kf7":"\u001b[18~","kf8":"\u001b[19~","kf9":"\u001b[20~","kf10":"\u001b[21~","kf11":"\u001b[23~","kf12":"\u001b[24~","kf13":"\u001b[25~","kf14":"\u001b[26~","kf15":"\u001b[28~","kf16":"\u001b[29~","kf17":"\u001b[31~","kf18":"\u001b[32~","kf19":"\u001b[33~","kf20":"\u001b[34~","kich":"\u001b[2~","kdch":"","khome":"\u001b[H","kend":"\u001b[4~","khlp":"\u001b[28~","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001b[Z","acsc":"``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u000e","rmacs":"\u000f","enacs":"\u001b)0"} -{"name":"wy520-epc-vb","aliases":["wyse520-pc-vb"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u001b[H\u001b[J$\u003c40\u003e","smcup":"\u001b[ Q\u001b[?67;8h","rmcup":"\u001b[ R","cnorm":"\u001b[34h\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b[m\u000f","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","dim":"\u001b[2m","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001b[11~","kf2":"\u001b[12~","kf3":"\u001b[13~","kf4":"\u001b[14~","kf5":"\u001b[15~","kf6":"\u001b[17~","kf7":"\u001b[18~","kf8":"\u001b[19~","kf9":"\u001b[20~","kf10":"\u001b[21~","kf11":"\u001b[23~","kf12":"\u001b[24~","kf13":"\u001b[25~","kf14":"\u001b[26~","kf15":"\u001b[28~","kf16":"\u001b[29~","kf17":"\u001b[31~","kf18":"\u001b[32~","kf19":"\u001b[33~","kf20":"\u001b[34~","kich":"\u001b[2~","kdch":"","khome":"\u001b[H","kend":"\u001b[4~","khlp":"\u001b[28~","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001b[Z","acsc":"``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u000e","rmacs":"\u000f","enacs":"\u001b)0"} -{"name":"wy520-epc-w","aliases":["wyse520-epc-w"],"cols":132,"lines":24,"bell":"\u0007","clear":"\u001b[H\u001b[J$\u003c40\u003e","smcup":"\u001b[ Q\u001b[?67;8h","rmcup":"\u001b[ R","cnorm":"\u001b[34h\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b[m\u000f","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","dim":"\u001b[2m","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001b[11~","kf2":"\u001b[12~","kf3":"\u001b[13~","kf4":"\u001b[14~","kf5":"\u001b[15~","kf6":"\u001b[17~","kf7":"\u001b[18~","kf8":"\u001b[19~","kf9":"\u001b[20~","kf10":"\u001b[21~","kf11":"\u001b[23~","kf12":"\u001b[24~","kf13":"\u001b[25~","kf14":"\u001b[26~","kf15":"\u001b[28~","kf16":"\u001b[29~","kf17":"\u001b[31~","kf18":"\u001b[32~","kf19":"\u001b[33~","kf20":"\u001b[34~","kich":"\u001b[2~","kdch":"","khome":"\u001b[H","kend":"\u001b[4~","khlp":"\u001b[28~","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001b[Z","acsc":"``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u000e","rmacs":"\u000f","enacs":"\u001b)0"} -{"name":"wy520-epc-wvb","aliases":["wyse520-p-wvb"],"cols":132,"lines":24,"bell":"\u0007","clear":"\u001b[H\u001b[J$\u003c40\u003e","smcup":"\u001b[ Q\u001b[?67;8h","rmcup":"\u001b[ R","cnorm":"\u001b[34h\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b[m\u000f","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","dim":"\u001b[2m","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001b[11~","kf2":"\u001b[12~","kf3":"\u001b[13~","kf4":"\u001b[14~","kf5":"\u001b[15~","kf6":"\u001b[17~","kf7":"\u001b[18~","kf8":"\u001b[19~","kf9":"\u001b[20~","kf10":"\u001b[21~","kf11":"\u001b[23~","kf12":"\u001b[24~","kf13":"\u001b[25~","kf14":"\u001b[26~","kf15":"\u001b[28~","kf16":"\u001b[29~","kf17":"\u001b[31~","kf18":"\u001b[32~","kf19":"\u001b[33~","kf20":"\u001b[34~","kich":"\u001b[2~","kdch":"","khome":"\u001b[H","kend":"\u001b[4~","khlp":"\u001b[28~","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001b[Z","acsc":"``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u000e","rmacs":"\u000f","enacs":"\u001b)0"} -{"name":"wy520-vb","aliases":["wyse520-vb"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u001b[H\u001b[J$\u003c40\u003e","smcup":"\u001b[ Q\u001b[?67;8h","rmcup":"\u001b[ R","cnorm":"\u001b[34h\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b[m\u000f","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","dim":"\u001b[2m","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kf6":"\u001b[17~","kf7":"\u001b[18~","kf8":"\u001b[19~","kf9":"\u001b[20~","kf10":"\u001b[21~","kf11":"\u001b[23~","kf12":"\u001b[24~","kf13":"\u001b[25~","kf14":"\u001b[26~","kf15":"\u001b[28~","kf16":"\u001b[29~","kf17":"\u001b[31~","kf18":"\u001b[32~","kf19":"\u001b[33~","kf20":"\u001b[34~","kich":"\u001b[2~","kdch":"\u001b[3~","khome":"\u001b[26~","khlp":"\u001b[28~","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001b[Z","acsc":"``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u000e","rmacs":"\u000f","enacs":"\u001b)0"} -{"name":"wy520-w","aliases":["wyse520-w"],"cols":132,"lines":24,"bell":"\u0007","clear":"\u001b[H\u001b[J$\u003c40\u003e","smcup":"\u001b[ Q\u001b[?67;8h","rmcup":"\u001b[ R","cnorm":"\u001b[34h\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b[m\u000f","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","dim":"\u001b[2m","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kf6":"\u001b[17~","kf7":"\u001b[18~","kf8":"\u001b[19~","kf9":"\u001b[20~","kf10":"\u001b[21~","kf11":"\u001b[23~","kf12":"\u001b[24~","kf13":"\u001b[25~","kf14":"\u001b[26~","kf15":"\u001b[28~","kf16":"\u001b[29~","kf17":"\u001b[31~","kf18":"\u001b[32~","kf19":"\u001b[33~","kf20":"\u001b[34~","kich":"\u001b[2~","kdch":"\u001b[3~","khome":"\u001b[26~","khlp":"\u001b[28~","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001b[Z","acsc":"``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u000e","rmacs":"\u000f","enacs":"\u001b)0"} -{"name":"wy520-wvb","aliases":["wyse520-wvb"],"cols":132,"lines":24,"bell":"\u0007","clear":"\u001b[H\u001b[J$\u003c40\u003e","smcup":"\u001b[ Q\u001b[?67;8h","rmcup":"\u001b[ R","cnorm":"\u001b[34h\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b[m\u000f","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","dim":"\u001b[2m","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kf6":"\u001b[17~","kf7":"\u001b[18~","kf8":"\u001b[19~","kf9":"\u001b[20~","kf10":"\u001b[21~","kf11":"\u001b[23~","kf12":"\u001b[24~","kf13":"\u001b[25~","kf14":"\u001b[26~","kf15":"\u001b[28~","kf16":"\u001b[29~","kf17":"\u001b[31~","kf18":"\u001b[32~","kf19":"\u001b[33~","kf20":"\u001b[34~","kich":"\u001b[2~","kdch":"\u001b[3~","khome":"\u001b[26~","khlp":"\u001b[28~","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001b[Z","acsc":"``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u000e","rmacs":"\u000f","enacs":"\u001b)0"} -{"name":"wy60","aliases":["wyse60"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u001b+$\u003c100\u003e","smcup":"\u001bw0","rmcup":"\u001bw1","cnorm":"\u001b`1","civis":"\u001b`0","sgr0":"\u001b(\u001bH\u0003\u001bG0\u001bcD","smul":"\u001bG8","blink":"\u001bG2","rev":"\u001bG4","dim":"\u001bGp","cup":"\u001b=%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u000b","pad":"\u0000","kbs":"\u0008","kf1":"\u0001@\r","kf2":"\u0001A\r","kf3":"\u0001B\r","kf4":"\u0001C\r","kf5":"\u0001D\r","kf6":"\u0001E\r","kf7":"\u0001F\r","kf8":"\u0001G\r","kf9":"\u0001H\r","kf10":"\u0001I\r","kf11":"\u0001J\r","kf12":"\u0001K\r","kf13":"\u0001L\r","kf14":"\u0001M\r","kf15":"\u0001N\r","kf16":"\u0001O\r","kich":"\u001bQ","kdch":"\u001bW","khome":"\u001e","kpp":"\u001bJ","knp":"\u001bK","kcuu1":"\u000b","kcud1":"\n","kcub1":"\u0008","kcuf1":"\u000c","kcbt":"\u001bI","kprt":"\u001bP","acsc":"+/,.0[iha2fxgqh1jYk?lZm@nEqDtCu4vAwBx3yszr{c~~","smacs":"\u001bcE","rmacs":"\u001bcD","kHOM":"\u001b{"} -{"name":"wy60-25","aliases":["wyse60-25"],"cols":80,"lines":25,"bell":"\u0007","clear":"\u001b+$\u003c100\u003e","smcup":"\u001bw0","rmcup":"\u001bw1","cnorm":"\u001b`1","civis":"\u001b`0","sgr0":"\u001b(\u001bH\u0003\u001bG0\u001bcD","smul":"\u001bG8","blink":"\u001bG2","rev":"\u001bG4","dim":"\u001bGp","cup":"\u001b=%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u000b","pad":"\u0000","kbs":"\u0008","kf1":"\u0001@\r","kf2":"\u0001A\r","kf3":"\u0001B\r","kf4":"\u0001C\r","kf5":"\u0001D\r","kf6":"\u0001E\r","kf7":"\u0001F\r","kf8":"\u0001G\r","kf9":"\u0001H\r","kf10":"\u0001I\r","kf11":"\u0001J\r","kf12":"\u0001K\r","kf13":"\u0001L\r","kf14":"\u0001M\r","kf15":"\u0001N\r","kf16":"\u0001O\r","kich":"\u001bQ","kdch":"\u001bW","khome":"\u001e","kpp":"\u001bJ","knp":"\u001bK","kcuu1":"\u000b","kcud1":"\n","kcub1":"\u0008","kcuf1":"\u000c","kcbt":"\u001bI","kprt":"\u001bP","acsc":"+/,.0[iha2fxgqh1jYk?lZm@nEqDtCu4vAwBx3yszr{c~~","smacs":"\u001bcE","rmacs":"\u001bcD","kHOM":"\u001b{"} -{"name":"wy60-25-w","aliases":["wyse60-25-w"],"cols":132,"lines":25,"bell":"\u0007","clear":"\u001b+$\u003c100\u003e","smcup":"\u001bw0","rmcup":"\u001bw1","cnorm":"\u001b`1","civis":"\u001b`0","sgr0":"\u001b(\u001bH\u0003\u001bG0\u001bcD","smul":"\u001bG8","blink":"\u001bG2","rev":"\u001bG4","dim":"\u001bGp","cup":"\u001ba%i%p1%dR%p2%dC","cub1":"\u0008","cuu1":"\u000b","pad":"\u0000","kbs":"\u0008","kf1":"\u0001@\r","kf2":"\u0001A\r","kf3":"\u0001B\r","kf4":"\u0001C\r","kf5":"\u0001D\r","kf6":"\u0001E\r","kf7":"\u0001F\r","kf8":"\u0001G\r","kf9":"\u0001H\r","kf10":"\u0001I\r","kf11":"\u0001J\r","kf12":"\u0001K\r","kf13":"\u0001L\r","kf14":"\u0001M\r","kf15":"\u0001N\r","kf16":"\u0001O\r","kich":"\u001bQ","kdch":"\u001bW","khome":"\u001e","kpp":"\u001bJ","knp":"\u001bK","kcuu1":"\u000b","kcud1":"\n","kcub1":"\u0008","kcuf1":"\u000c","kcbt":"\u001bI","kprt":"\u001bP","acsc":"+/,.0[iha2fxgqh1jYk?lZm@nEqDtCu4vAwBx3yszr{c~~","smacs":"\u001bcE","rmacs":"\u001bcD","kHOM":"\u001b{"} -{"name":"wy60-42","aliases":["wyse60-42"],"cols":80,"lines":42,"bell":"\u0007","clear":"\u001b+$\u003c260\u003e","smcup":"\u001bw0","rmcup":"\u001bw1","cnorm":"\u001b`1","civis":"\u001b`0","sgr0":"\u001b(\u001bH\u0003\u001bG0\u001bcD","smul":"\u001bG8","blink":"\u001bG2","rev":"\u001bG4","dim":"\u001bGp","cup":"\u001b=%p1%' '%+%c%p2%' '%+%c$\u003c2\u003e","cub1":"\u0008","cuu1":"\u000b","pad":"\u0000","kbs":"\u0008","kf1":"\u0001@\r","kf2":"\u0001A\r","kf3":"\u0001B\r","kf4":"\u0001C\r","kf5":"\u0001D\r","kf6":"\u0001E\r","kf7":"\u0001F\r","kf8":"\u0001G\r","kf9":"\u0001H\r","kf10":"\u0001I\r","kf11":"\u0001J\r","kf12":"\u0001K\r","kf13":"\u0001L\r","kf14":"\u0001M\r","kf15":"\u0001N\r","kf16":"\u0001O\r","kich":"\u001bQ","kdch":"\u001bW","khome":"\u001e","kpp":"\u001bJ","knp":"\u001bK","kcuu1":"\u000b","kcud1":"\n","kcub1":"\u0008","kcuf1":"\u000c","kcbt":"\u001bI","kprt":"\u001bP","acsc":"+/,.0[iha2fxgqh1jYk?lZm@nEqDtCu4vAwBx3yszr{c~~","smacs":"\u001bcE","rmacs":"\u001bcD","kHOM":"\u001b{"} -{"name":"wy60-42-w","aliases":["wyse60-42-w"],"cols":132,"lines":42,"bell":"\u0007","clear":"\u001b+$\u003c260\u003e","smcup":"\u001bw0","rmcup":"\u001bw1","cnorm":"\u001b`1","civis":"\u001b`0","sgr0":"\u001b(\u001bH\u0003\u001bG0\u001bcD","smul":"\u001bG8","blink":"\u001bG2","rev":"\u001bG4","dim":"\u001bGp","cup":"\u001ba%i%p1%dR%p2%dC$\u003c2\u003e","cub1":"\u0008","cuu1":"\u000b","pad":"\u0000","kbs":"\u0008","kf1":"\u0001@\r","kf2":"\u0001A\r","kf3":"\u0001B\r","kf4":"\u0001C\r","kf5":"\u0001D\r","kf6":"\u0001E\r","kf7":"\u0001F\r","kf8":"\u0001G\r","kf9":"\u0001H\r","kf10":"\u0001I\r","kf11":"\u0001J\r","kf12":"\u0001K\r","kf13":"\u0001L\r","kf14":"\u0001M\r","kf15":"\u0001N\r","kf16":"\u0001O\r","kich":"\u001bQ","kdch":"\u001bW","khome":"\u001e","kpp":"\u001bJ","knp":"\u001bK","kcuu1":"\u000b","kcud1":"\n","kcub1":"\u0008","kcuf1":"\u000c","kcbt":"\u001bI","kprt":"\u001bP","acsc":"+/,.0[iha2fxgqh1jYk?lZm@nEqDtCu4vAwBx3yszr{c~~","smacs":"\u001bcE","rmacs":"\u001bcD","kHOM":"\u001b{"} -{"name":"wy60-43","aliases":["wyse60-43"],"cols":80,"lines":43,"bell":"\u0007","clear":"\u001b+$\u003c260\u003e","smcup":"\u001bw0","rmcup":"\u001bw1","cnorm":"\u001b`1","civis":"\u001b`0","sgr0":"\u001b(\u001bH\u0003\u001bG0\u001bcD","smul":"\u001bG8","blink":"\u001bG2","rev":"\u001bG4","dim":"\u001bGp","cup":"\u001b=%p1%' '%+%c%p2%' '%+%c$\u003c2\u003e","cub1":"\u0008","cuu1":"\u000b","pad":"\u0000","kbs":"\u0008","kf1":"\u0001@\r","kf2":"\u0001A\r","kf3":"\u0001B\r","kf4":"\u0001C\r","kf5":"\u0001D\r","kf6":"\u0001E\r","kf7":"\u0001F\r","kf8":"\u0001G\r","kf9":"\u0001H\r","kf10":"\u0001I\r","kf11":"\u0001J\r","kf12":"\u0001K\r","kf13":"\u0001L\r","kf14":"\u0001M\r","kf15":"\u0001N\r","kf16":"\u0001O\r","kich":"\u001bQ","kdch":"\u001bW","khome":"\u001e","kpp":"\u001bJ","knp":"\u001bK","kcuu1":"\u000b","kcud1":"\n","kcub1":"\u0008","kcuf1":"\u000c","kcbt":"\u001bI","kprt":"\u001bP","acsc":"+/,.0[iha2fxgqh1jYk?lZm@nEqDtCu4vAwBx3yszr{c~~","smacs":"\u001bcE","rmacs":"\u001bcD","kHOM":"\u001b{"} -{"name":"wy60-43-w","aliases":["wyse60-43-w"],"cols":132,"lines":43,"bell":"\u0007","clear":"\u001b+$\u003c260\u003e","smcup":"\u001bw0","rmcup":"\u001bw1","cnorm":"\u001b`1","civis":"\u001b`0","sgr0":"\u001b(\u001bH\u0003\u001bG0\u001bcD","smul":"\u001bG8","blink":"\u001bG2","rev":"\u001bG4","dim":"\u001bGp","cup":"\u001ba%i%p1%dR%p2%dC$\u003c2\u003e","cub1":"\u0008","cuu1":"\u000b","pad":"\u0000","kbs":"\u0008","kf1":"\u0001@\r","kf2":"\u0001A\r","kf3":"\u0001B\r","kf4":"\u0001C\r","kf5":"\u0001D\r","kf6":"\u0001E\r","kf7":"\u0001F\r","kf8":"\u0001G\r","kf9":"\u0001H\r","kf10":"\u0001I\r","kf11":"\u0001J\r","kf12":"\u0001K\r","kf13":"\u0001L\r","kf14":"\u0001M\r","kf15":"\u0001N\r","kf16":"\u0001O\r","kich":"\u001bQ","kdch":"\u001bW","khome":"\u001e","kpp":"\u001bJ","knp":"\u001bK","kcuu1":"\u000b","kcud1":"\n","kcub1":"\u0008","kcuf1":"\u000c","kcbt":"\u001bI","kprt":"\u001bP","acsc":"+/,.0[iha2fxgqh1jYk?lZm@nEqDtCu4vAwBx3yszr{c~~","smacs":"\u001bcE","rmacs":"\u001bcD","kHOM":"\u001b{"} -{"name":"wy60-vb","aliases":["wyse60-vb"],"cols":80,"lines":24,"clear":"\u001b+$\u003c100\u003e","smcup":"\u001bw0","rmcup":"\u001bw1","cnorm":"\u001b`1","civis":"\u001b`0","sgr0":"\u001b(\u001bH\u0003\u001bG0\u001bcD","smul":"\u001bG8","blink":"\u001bG2","rev":"\u001bG4","dim":"\u001bGp","cup":"\u001b=%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u000b","pad":"\u0000","kbs":"\u0008","kf1":"\u0001@\r","kf2":"\u0001A\r","kf3":"\u0001B\r","kf4":"\u0001C\r","kf5":"\u0001D\r","kf6":"\u0001E\r","kf7":"\u0001F\r","kf8":"\u0001G\r","kf9":"\u0001H\r","kf10":"\u0001I\r","kf11":"\u0001J\r","kf12":"\u0001K\r","kf13":"\u0001L\r","kf14":"\u0001M\r","kf15":"\u0001N\r","kf16":"\u0001O\r","kich":"\u001bQ","kdch":"\u001bW","khome":"\u001e","kpp":"\u001bJ","knp":"\u001bK","kcuu1":"\u000b","kcud1":"\n","kcub1":"\u0008","kcuf1":"\u000c","kcbt":"\u001bI","kprt":"\u001bP","acsc":"+/,.0[iha2fxgqh1jYk?lZm@nEqDtCu4vAwBx3yszr{c~~","smacs":"\u001bcE","rmacs":"\u001bcD","kHOM":"\u001b{"} -{"name":"wy60-w","aliases":["wyse60-w"],"cols":132,"lines":24,"bell":"\u0007","clear":"\u001b+$\u003c100\u003e","smcup":"\u001bw0","rmcup":"\u001bw1","cnorm":"\u001b`1","civis":"\u001b`0","sgr0":"\u001b(\u001bH\u0003\u001bG0\u001bcD","smul":"\u001bG8","blink":"\u001bG2","rev":"\u001bG4","dim":"\u001bGp","cup":"\u001ba%i%p1%dR%p2%dC","cub1":"\u0008","cuu1":"\u000b","pad":"\u0000","kbs":"\u0008","kf1":"\u0001@\r","kf2":"\u0001A\r","kf3":"\u0001B\r","kf4":"\u0001C\r","kf5":"\u0001D\r","kf6":"\u0001E\r","kf7":"\u0001F\r","kf8":"\u0001G\r","kf9":"\u0001H\r","kf10":"\u0001I\r","kf11":"\u0001J\r","kf12":"\u0001K\r","kf13":"\u0001L\r","kf14":"\u0001M\r","kf15":"\u0001N\r","kf16":"\u0001O\r","kich":"\u001bQ","kdch":"\u001bW","khome":"\u001e","kpp":"\u001bJ","knp":"\u001bK","kcuu1":"\u000b","kcud1":"\n","kcub1":"\u0008","kcuf1":"\u000c","kcbt":"\u001bI","kprt":"\u001bP","acsc":"+/,.0[iha2fxgqh1jYk?lZm@nEqDtCu4vAwBx3yszr{c~~","smacs":"\u001bcE","rmacs":"\u001bcD","kHOM":"\u001b{"} -{"name":"wy60-w-vb","aliases":["wy60-wvb","wyse60-wvb"],"cols":132,"lines":24,"clear":"\u001b+$\u003c100\u003e","smcup":"\u001bw0","rmcup":"\u001bw1","cnorm":"\u001b`1","civis":"\u001b`0","sgr0":"\u001b(\u001bH\u0003\u001bG0\u001bcD","smul":"\u001bG8","blink":"\u001bG2","rev":"\u001bG4","dim":"\u001bGp","cup":"\u001ba%i%p1%dR%p2%dC","cub1":"\u0008","cuu1":"\u000b","pad":"\u0000","kbs":"\u0008","kf1":"\u0001@\r","kf2":"\u0001A\r","kf3":"\u0001B\r","kf4":"\u0001C\r","kf5":"\u0001D\r","kf6":"\u0001E\r","kf7":"\u0001F\r","kf8":"\u0001G\r","kf9":"\u0001H\r","kf10":"\u0001I\r","kf11":"\u0001J\r","kf12":"\u0001K\r","kf13":"\u0001L\r","kf14":"\u0001M\r","kf15":"\u0001N\r","kf16":"\u0001O\r","kich":"\u001bQ","kdch":"\u001bW","khome":"\u001e","kpp":"\u001bJ","knp":"\u001bK","kcuu1":"\u000b","kcud1":"\n","kcub1":"\u0008","kcuf1":"\u000c","kcbt":"\u001bI","kprt":"\u001bP","acsc":"+/,.0[iha2fxgqh1jYk?lZm@nEqDtCu4vAwBx3yszr{c~~","smacs":"\u001bcE","rmacs":"\u001bcD","kHOM":"\u001b{"} -{"name":"wy75","aliases":["wyse75"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u001b[H\u001b[J$\u003c30\u003e","cnorm":"\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b[m\u000f","smul":"\u001b[2t\u001b[4m","rev":"\u001b[1t\u001b[7m","dim":"\u001b[0t\u001b[2m","smkx":"\u001b[?1l\u001b[?7h\u001b=","rmkx":"\u001b\u003e","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001b[?5i","kf2":"\u001b[?3i","kf3":"\u001b[2i","kf4":"\u001b[@","kf5":"\u001b[M","kf6":"\u001b[17~","kf7":"\u001b[18~","kf8":"\u001b[19~","kf9":"\u001b[20~","kf10":"\u001b[21~","kf11":"\u001b[23~","kf12":"\u001b[24~","kf13":"\u001b[25~","kf14":"\u001b[26~","kf15":"\u001b[28~","kf16":"\u001b[29~","kf17":"\u001b[31~","kf18":"\u001b[32~","kf19":"\u001b[33~","kf20":"\u001b[34~","kf21":"\u001b[35~","kich":"\u001b[@","khome":"\u001b[H","khlp":"\u001b[28~","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kprt":"\u001b[?5i","acsc":"``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u000e","rmacs":"\u000f","enacs":"\u001b)0"} -{"name":"wy75-mc","aliases":["wyse75-mc"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u001b[H\u001b[J$\u003c30\u003e","cnorm":"\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b[0p\u000f","smul":"\u001b[8p","blink":"\u001b[2p","rev":"\u001b[16p","dim":"\u001b[1p","smkx":"\u001b[?1l\u001b[?7h\u001b=","rmkx":"\u001b\u003e","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001b[?5i","kf2":"\u001b[?3i","kf3":"\u001b[2i","kf4":"\u001b[@","kf5":"\u001b[M","kf6":"\u001b[17~","kf7":"\u001b[18~","kf8":"\u001b[19~","kf9":"\u001b[20~","kf10":"\u001b[21~","kf11":"\u001b[23~","kf12":"\u001b[24~","kf13":"\u001b[25~","kf14":"\u001b[26~","kf15":"\u001b[28~","kf16":"\u001b[29~","kf17":"\u001b[31~","kf18":"\u001b[32~","kf19":"\u001b[33~","kf20":"\u001b[34~","kf21":"\u001b[35~","kich":"\u001b[@","khome":"\u001b[H","khlp":"\u001b[28~","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kprt":"\u001b[?5i","acsc":"``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u001b[0p\u000e","rmacs":"\u001b[0p\u000f","enacs":"\u001b)0"} -{"name":"wy75-vb","aliases":["wyse75-vb"],"cols":80,"lines":24,"clear":"\u001b[H\u001b[J$\u003c30\u003e","cnorm":"\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b[m\u000f","smul":"\u001b[2t\u001b[4m","rev":"\u001b[1t\u001b[7m","dim":"\u001b[0t\u001b[2m","smkx":"\u001b[?1l\u001b[?7h\u001b=","rmkx":"\u001b\u003e","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001b[?5i","kf2":"\u001b[?3i","kf3":"\u001b[2i","kf4":"\u001b[@","kf5":"\u001b[M","kf6":"\u001b[17~","kf7":"\u001b[18~","kf8":"\u001b[19~","kf9":"\u001b[20~","kf10":"\u001b[21~","kf11":"\u001b[23~","kf12":"\u001b[24~","kf13":"\u001b[25~","kf14":"\u001b[26~","kf15":"\u001b[28~","kf16":"\u001b[29~","kf17":"\u001b[31~","kf18":"\u001b[32~","kf19":"\u001b[33~","kf20":"\u001b[34~","kf21":"\u001b[35~","kich":"\u001b[@","khome":"\u001b[H","khlp":"\u001b[28~","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kprt":"\u001b[?5i","acsc":"``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u000e","rmacs":"\u000f","enacs":"\u001b)0"} -{"name":"wy75-w","aliases":["wyse75-w"],"cols":132,"lines":24,"bell":"\u0007","clear":"\u001b[H\u001b[J$\u003c30\u003e","cnorm":"\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b[m\u000f","smul":"\u001b[2t\u001b[4m","rev":"\u001b[1t\u001b[7m","dim":"\u001b[0t\u001b[2m","smkx":"\u001b[?1l\u001b[?7h\u001b=","rmkx":"\u001b\u003e","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001b[?5i","kf2":"\u001b[?3i","kf3":"\u001b[2i","kf4":"\u001b[@","kf5":"\u001b[M","kf6":"\u001b[17~","kf7":"\u001b[18~","kf8":"\u001b[19~","kf9":"\u001b[20~","kf10":"\u001b[21~","kf11":"\u001b[23~","kf12":"\u001b[24~","kf13":"\u001b[25~","kf14":"\u001b[26~","kf15":"\u001b[28~","kf16":"\u001b[29~","kf17":"\u001b[31~","kf18":"\u001b[32~","kf19":"\u001b[33~","kf20":"\u001b[34~","kf21":"\u001b[35~","kich":"\u001b[@","khome":"\u001b[H","khlp":"\u001b[28~","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kprt":"\u001b[?5i","acsc":"``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u000e","rmacs":"\u000f","enacs":"\u001b)0"} -{"name":"wy75-wvb","aliases":["wyse75-wvb"],"cols":132,"lines":24,"clear":"\u001b[H\u001b[J$\u003c30\u003e","cnorm":"\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b[m\u000f","smul":"\u001b[2t\u001b[4m","rev":"\u001b[1t\u001b[7m","dim":"\u001b[0t\u001b[2m","smkx":"\u001b[?1l\u001b[?7h\u001b=","rmkx":"\u001b\u003e","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001b[?5i","kf2":"\u001b[?3i","kf3":"\u001b[2i","kf4":"\u001b[@","kf5":"\u001b[M","kf6":"\u001b[17~","kf7":"\u001b[18~","kf8":"\u001b[19~","kf9":"\u001b[20~","kf10":"\u001b[21~","kf11":"\u001b[23~","kf12":"\u001b[24~","kf13":"\u001b[25~","kf14":"\u001b[26~","kf15":"\u001b[28~","kf16":"\u001b[29~","kf17":"\u001b[31~","kf18":"\u001b[32~","kf19":"\u001b[33~","kf20":"\u001b[34~","kf21":"\u001b[35~","kich":"\u001b[@","khome":"\u001b[H","khlp":"\u001b[28~","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kprt":"\u001b[?5i","acsc":"``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u000e","rmacs":"\u000f","enacs":"\u001b)0"} -{"name":"wy75ap","aliases":["wy-75ap","wyse-75ap","wyse75ap"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u001b[H\u001b[J$\u003c30\u003e","cnorm":"\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b[m\u000f","smul":"\u001b[2t\u001b[4m","rev":"\u001b[1t\u001b[7m","dim":"\u001b[0t\u001b[2m","smkx":"\u001b[?1h\u001b=$\u003c10/\u003e","rmkx":"\u001b[?1l\u001b\u003e$\u003c10/\u003e","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001b[?5i","kf2":"\u001b[?3i","kf3":"\u001b[2i","kf4":"\u001b[@","kf5":"\u001b[M","kf6":"\u001b[17~","kf7":"\u001b[18~","kf8":"\u001b[19~","kf9":"\u001b[20~","kf10":"\u001b[21~","kf11":"\u001b[23~","kf12":"\u001b[24~","kf13":"\u001b[25~","kf14":"\u001b[26~","kf15":"\u001b[28~","kf16":"\u001b[29~","kf17":"\u001b[31~","kf18":"\u001b[32~","kf19":"\u001b[33~","kf20":"\u001b[34~","kf21":"\u001b[35~","kich":"\u001b[@","khome":"\u001bOH","khlp":"\u001b[28~","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC","kprt":"\u001b[?5i","acsc":"``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u000e","rmacs":"\u000f","enacs":"\u001b)0"} -{"name":"wy85","aliases":["wyse85"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u001b[H\u001b[J$\u003c110\u003e","cnorm":"\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b[m\u000f","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","dim":"\u001b[2m","smkx":"\u001b[?1l\u001b=","rmkx":"\u001b\u003e","cup":"\u001b[%i%p1%d;%p2%dH$\u003c1\u003e","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kf6":"\u001b[17~","kf7":"\u001b[18~","kf8":"\u001b[19~","kf9":"\u001b[20~","kf10":"\u001b[21~","kf11":"\u001b[23~","kf12":"\u001b[24~","kf13":"\u001b[25~","kf14":"\u001b[26~","kf15":"\u001b[28~","kf16":"\u001b[29~","kf17":"\u001b[31~","kf18":"\u001b[32~","kf19":"\u001b[33~","kf20":"\u001b[34~","kich":"\u001b[2~","kdch":"\u001b[3~","khome":"\u001b[26~","khlp":"\u001b[28~","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","acsc":"``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u000e","rmacs":"\u000f","enacs":"\u001b)0"} -{"name":"wy85-8bit","aliases":["wyse85-8bit"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u001b[H\u001b[J$\u003c110\u003e","cnorm":"\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b[m\u000f","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","dim":"\u001b[2m","smkx":"\u001b[?1l\u001b=","rmkx":"\u001b\u003e","cup":"\u001b[%i%p1%d;%p2%dH$\u003c1\u003e","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kf6":"\ufffd17~","kf7":"\ufffd18~","kf8":"\ufffd19~","kf9":"\ufffd20~","kf10":"\ufffd21~","kf11":"\ufffd23~","kf12":"\ufffd24~","kf13":"\ufffd25~","kf14":"\ufffd26~","kf15":"\ufffd28~","kf16":"\ufffd29~","kf17":"\ufffd31~","kf18":"\ufffd32~","kf19":"\ufffd33~","kf20":"\ufffd34~","kich":"\ufffd2~","kdch":"\ufffd3~","khome":"\ufffd26~","khlp":"\ufffd28~","kpp":"\ufffd5~","knp":"\ufffd6~","kcuu1":"\ufffdA","kcud1":"\ufffdB","kcub1":"\ufffdD","kcuf1":"\ufffdC","acsc":"``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u000e","rmacs":"\u000f","enacs":"\u001b)0"} -{"name":"wy85-vb","aliases":["wyse85-vb"],"cols":80,"lines":24,"clear":"\u001b[H\u001b[J$\u003c110\u003e","cnorm":"\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b[m\u000f","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","dim":"\u001b[2m","smkx":"\u001b[?1l\u001b=","rmkx":"\u001b\u003e","cup":"\u001b[%i%p1%d;%p2%dH$\u003c1\u003e","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kf6":"\u001b[17~","kf7":"\u001b[18~","kf8":"\u001b[19~","kf9":"\u001b[20~","kf10":"\u001b[21~","kf11":"\u001b[23~","kf12":"\u001b[24~","kf13":"\u001b[25~","kf14":"\u001b[26~","kf15":"\u001b[28~","kf16":"\u001b[29~","kf17":"\u001b[31~","kf18":"\u001b[32~","kf19":"\u001b[33~","kf20":"\u001b[34~","kich":"\u001b[2~","kdch":"\u001b[3~","khome":"\u001b[26~","khlp":"\u001b[28~","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","acsc":"``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u000e","rmacs":"\u000f","enacs":"\u001b)0"} -{"name":"wy85-w","aliases":["wyse85-w"],"cols":132,"lines":24,"bell":"\u0007","clear":"\u001b[H\u001b[J$\u003c110\u003e","cnorm":"\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b[m\u000f","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","dim":"\u001b[2m","smkx":"\u001b[?1l\u001b=","rmkx":"\u001b\u003e","cup":"\u001b[%i%p1%d;%p2%dH$\u003c1\u003e","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kf6":"\u001b[17~","kf7":"\u001b[18~","kf8":"\u001b[19~","kf9":"\u001b[20~","kf10":"\u001b[21~","kf11":"\u001b[23~","kf12":"\u001b[24~","kf13":"\u001b[25~","kf14":"\u001b[26~","kf15":"\u001b[28~","kf16":"\u001b[29~","kf17":"\u001b[31~","kf18":"\u001b[32~","kf19":"\u001b[33~","kf20":"\u001b[34~","kich":"\u001b[2~","kdch":"\u001b[3~","khome":"\u001b[26~","khlp":"\u001b[28~","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","acsc":"``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u000e","rmacs":"\u000f","enacs":"\u001b)0"} -{"name":"wy85-wvb","aliases":["wyse85-wvb"],"cols":132,"lines":24,"clear":"\u001b[H\u001b[J$\u003c110\u003e","cnorm":"\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b[m\u000f","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","dim":"\u001b[2m","smkx":"\u001b[?1l\u001b=","rmkx":"\u001b\u003e","cup":"\u001b[%i%p1%d;%p2%dH$\u003c1\u003e","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kf6":"\u001b[17~","kf7":"\u001b[18~","kf8":"\u001b[19~","kf9":"\u001b[20~","kf10":"\u001b[21~","kf11":"\u001b[23~","kf12":"\u001b[24~","kf13":"\u001b[25~","kf14":"\u001b[26~","kf15":"\u001b[28~","kf16":"\u001b[29~","kf17":"\u001b[31~","kf18":"\u001b[32~","kf19":"\u001b[33~","kf20":"\u001b[34~","kich":"\u001b[2~","kdch":"\u001b[3~","khome":"\u001b[26~","khlp":"\u001b[28~","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","acsc":"``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u000e","rmacs":"\u000f","enacs":"\u001b)0"} -{"name":"wy99-ansi","cols":80,"lines":25,"bell":"\u0007","clear":"\u001b[H\u001b[J$\u003c200\u003e","cnorm":"\u001b[34h\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b[m\u000f\u001b[\"q","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","dim":"\u001b[2m","smkx":"\u001b[?1h","rmkx":"\u001b[?1l","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008$\u003c1\u003e","cuu1":"\u001bM","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kf5":"\u001b[M","kf6":"\u001b[17~","kf7":"\u001b[18~","kf8":"\u001b[19~","kf9":"\u001b[20~","kf10":"\u001b[21~","kf11":"\u001b[23~","kf12":"\u001b[24~","kf17":"\u001b[K","kf18":"\u001b[31~","kf19":"\u001b[32~","kf20":"\u001b[33~","kf21":"\u001b[34~","kf22":"\u001b[35~","kf23":"\u001b[1~","kf24":"\u001b[2~","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC","kcbt":"\u001b[z","acsc":"``aaffggjjkkllmmnnooqqssttuuvvwwxx{{||}}~~","smacs":"\u000e","rmacs":"\u000f","enacs":"\u001b)0"} -{"name":"wy99a-ansi","cols":80,"lines":25,"bell":"\u0007","clear":"\u001b[H\u001b[J$\u003c200\u003e","cnorm":"\u001b[34h\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b[m\u000f\u001b[\"q","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","dim":"\u001b[2m","smkx":"\u001b[?1h","rmkx":"\u001b[?1l","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008$\u003c1\u003e","cuu1":"\u001bM","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kf5":"\u001b[M","kf6":"\u001b[17~","kf7":"\u001b[18~","kf8":"\u001b[19~","kf9":"\u001b[20~","kf10":"\u001b[21~","kf11":"\u001b[23~","kf12":"\u001b[24~","kf17":"\u001b[K","kf18":"\u001b[31~","kf19":"\u001b[32~","kf20":"\u001b[33~","kf21":"\u001b[34~","kf22":"\u001b[35~","kf23":"\u001b[1~","kf24":"\u001b[2~","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC","kcbt":"\u001b[z","acsc":"``aaffggjjkkllmmnnooqqssttuuvvwwxx{{||}}~~","smacs":"\u000e","rmacs":"\u000f","enacs":"\u001b)0"} -{"name":"wy99f","aliases":["wy-99fgt","wy99fgt"],"cols":80,"lines":25,"bell":"\u0007","clear":"\u001b'\u001b(\u001a","smcup":"\u001bc20\u001bc30","rmcup":"\u001bc21\u001bc31","cnorm":"\u001b`4\u001b`1","civis":"\u001b`0","sgr0":"\u001b(\u001bG0","blink":"\u001bG2","rev":"\u001bG4","dim":"\u001bGp","cup":"\u001b=%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u000b","pad":"\u0000","kbs":"\u0008","kf1":"\u0001@\r","kf2":"\u0001A\r","kf3":"\u0001B\r","kf4":"\u0001C\r","kf5":"\u0001D\r","kf6":"\u0001E\r","kf7":"\u0001F\r","kf8":"\u0001G\r","kf9":"\u0001H\r","kf10":"\u0001I\r","kf11":"\u0001J\r","kf12":"\u0001K\r","kf13":"\u0001`\r","kf14":"\u0001a\r","kf15":"\u0001b\r","kf16":"\u0001c\r","kf17":"\u0001d\r","kf18":"\u0001e\r","kf19":"\u0001f\r","kf20":"\u0001g\r","kf21":"\u0001h\r","kf22":"\u0001i\r","kf23":"\u0001j\r","kf24":"\u0001k\r","kcuu1":"\u000b","kcud1":"\n","kcub1":"\u0008","kcuf1":"\u000c","kcbt":"\u001bI","kprt":"\u001bP","acsc":"'x+y.wi~_vj(k'l\u0026m%n)o9q*s8t-u.v,w+x=","smacs":"\u001bcE","rmacs":"\u001bcD","enacs":"\u001bc@1J$\u003c2000\u003e"} -{"name":"wy99fa","aliases":["wy-99fgta","wy99fgta"],"cols":80,"lines":25,"bell":"\u0007","clear":"\u001b'\u001b(\u001a","smcup":"\u001bc20\u001bc30","rmcup":"\u001bc21\u001bc31","cnorm":"\u001b`4\u001b`1","civis":"\u001b`0","sgr0":"\u001b(\u001bG0","blink":"\u001bG2","rev":"\u001bG4","dim":"\u001bGp","cup":"\u001b=%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u000b","pad":"\u0000","kbs":"\u0008","kf1":"\u0001@\r","kf2":"\u0001A\r","kf3":"\u0001B\r","kf4":"\u0001C\r","kf5":"\u0001D\r","kf6":"\u0001E\r","kf7":"\u0001F\r","kf8":"\u0001G\r","kf9":"\u0001H\r","kf10":"\u0001I\r","kf11":"\u0001J\r","kf12":"\u0001K\r","kf13":"\u0001`\r","kf14":"\u0001a\r","kf15":"\u0001b\r","kf16":"\u0001c\r","kf17":"\u0001d\r","kf18":"\u0001e\r","kf19":"\u0001f\r","kf20":"\u0001g\r","kf21":"\u0001h\r","kf22":"\u0001i\r","kf23":"\u0001j\r","kf24":"\u0001k\r","kcuu1":"\u000b","kcud1":"\n","kcub1":"\u0008","kcuf1":"\u000c","kcbt":"\u001bI","kprt":"\u001bP","acsc":"'x+y.wi~_vj(k'l\u0026m%n)o9q*s8t-u.v,w+x=","smacs":"\u001bcE","rmacs":"\u001bcD","enacs":"\u001bc@1J$\u003c2000\u003e"} -{"name":"wy99gt","aliases":["wyse99gt"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u001b+$\u003c130\u003e","smcup":"\u001bw1","rmcup":"\u001bw0","cnorm":"\u001b`1","civis":"\u001b`0","sgr0":"\u001b(\u001bH\u0003\u001bG0\u001bcD","smul":"\u001bG8","blink":"\u001bG2","rev":"\u001bG4","dim":"\u001bGp","cup":"\u001b=%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u000b","pad":"\u0000","kbs":"\u0008","kf1":"\u0001@\r","kf2":"\u0001A\r","kf3":"\u0001B\r","kf4":"\u0001C\r","kf5":"\u0001D\r","kf6":"\u0001E\r","kf7":"\u0001F\r","kf8":"\u0001G\r","kf9":"\u0001H\r","kf10":"\u0001I\r","kf11":"\u0001J\r","kf12":"\u0001K\r","kf13":"\u0001L\r","kf14":"\u0001M\r","kf15":"\u0001N\r","kf16":"\u0001O\r","kich":"\u001bQ","kdch":"\u001bW","khome":"\u001e","kpp":"\u001bJ","knp":"\u001bK","kcuu1":"\u000b","kcud1":"\n","kcub1":"\u0008","kcuf1":"\u000c","kcbt":"\u001bI","kprt":"\u001bP","acsc":"+/,.0[iha2fxgqh1jYk?lZm@nEqDtCu4vAwBx3yszr{c~~","smacs":"\u001bcE","rmacs":"\u001bcD","kHOM":"\u001b{"} -{"name":"wy99gt-25","aliases":["wyse99gt-25"],"cols":80,"lines":25,"bell":"\u0007","clear":"\u001b+$\u003c130\u003e","smcup":"\u001bw1","rmcup":"\u001bw0","cnorm":"\u001b`1","civis":"\u001b`0","sgr0":"\u001b(\u001bH\u0003\u001bG0\u001bcD","smul":"\u001bG8","blink":"\u001bG2","rev":"\u001bG4","dim":"\u001bGp","cup":"\u001b=%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u000b","pad":"\u0000","kbs":"\u0008","kf1":"\u0001@\r","kf2":"\u0001A\r","kf3":"\u0001B\r","kf4":"\u0001C\r","kf5":"\u0001D\r","kf6":"\u0001E\r","kf7":"\u0001F\r","kf8":"\u0001G\r","kf9":"\u0001H\r","kf10":"\u0001I\r","kf11":"\u0001J\r","kf12":"\u0001K\r","kf13":"\u0001L\r","kf14":"\u0001M\r","kf15":"\u0001N\r","kf16":"\u0001O\r","kich":"\u001bQ","kdch":"\u001bW","khome":"\u001e","kpp":"\u001bJ","knp":"\u001bK","kcuu1":"\u000b","kcud1":"\n","kcub1":"\u0008","kcuf1":"\u000c","kcbt":"\u001bI","kprt":"\u001bP","acsc":"+/,.0[iha2fxgqh1jYk?lZm@nEqDtCu4vAwBx3yszr{c~~","smacs":"\u001bcE","rmacs":"\u001bcD","kHOM":"\u001b{"} -{"name":"wy99gt-25-w","aliases":["wyse99gt-25-w"],"cols":132,"lines":25,"bell":"\u0007","clear":"\u001b+$\u003c160\u003e","smcup":"\u001bw1","rmcup":"\u001bw0","cnorm":"\u001b`1","civis":"\u001b`0","sgr0":"\u001b(\u001bH\u0003\u001bG0\u001bcD","smul":"\u001bG8","blink":"\u001bG2","rev":"\u001bG4","dim":"\u001bGp","cup":"\u001ba%i%p1%dR%p2%dC$\u003c2\u003e","cub1":"\u0008","cuu1":"\u000b","pad":"\u0000","kbs":"\u0008","kf1":"\u0001@\r","kf2":"\u0001A\r","kf3":"\u0001B\r","kf4":"\u0001C\r","kf5":"\u0001D\r","kf6":"\u0001E\r","kf7":"\u0001F\r","kf8":"\u0001G\r","kf9":"\u0001H\r","kf10":"\u0001I\r","kf11":"\u0001J\r","kf12":"\u0001K\r","kf13":"\u0001L\r","kf14":"\u0001M\r","kf15":"\u0001N\r","kf16":"\u0001O\r","kich":"\u001bQ","kdch":"\u001bW","khome":"\u001e","kpp":"\u001bJ","knp":"\u001bK","kcuu1":"\u000b","kcud1":"\n","kcub1":"\u0008","kcuf1":"\u000c","kcbt":"\u001bI","kprt":"\u001bP","acsc":"+/,.0[iha2fxgqh1jYk?lZm@nEqDtCu4vAwBx3yszr{c~~","smacs":"\u001bcE","rmacs":"\u001bcD","kHOM":"\u001b{"} -{"name":"wy99gt-tek","cols":74,"lines":35,"bell":"\u0007","clear":"\u001b\u000c","cup":"\u001d%{3040}%'Y'%p1%*%-%Py%p2%'7'%*%Px%gy%{128}%/%{31}%\u0026%' '%+%c%gy%{3}%\u0026%{4}%*%gx%{3}%\u0026%+%'`'%+%c%gy%{004}%/%{31}%\u0026%'`'%+%c%gx%{128}%/%{31}%\u0026%' '%+%c%gx%{004}%/%{31}%\u0026%'@'%+%c\u001f","cub1":"\u0008","cuu1":"\u000b","pad":"\u0000"} -{"name":"wy99gt-vb","aliases":["wyse99gt-vb"],"cols":80,"lines":24,"clear":"\u001b+$\u003c130\u003e","smcup":"\u001bw1","rmcup":"\u001bw0","cnorm":"\u001b`1","civis":"\u001b`0","sgr0":"\u001b(\u001bH\u0003\u001bG0\u001bcD","smul":"\u001bG8","blink":"\u001bG2","rev":"\u001bG4","dim":"\u001bGp","cup":"\u001b=%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u000b","pad":"\u0000","kbs":"\u0008","kf1":"\u0001@\r","kf2":"\u0001A\r","kf3":"\u0001B\r","kf4":"\u0001C\r","kf5":"\u0001D\r","kf6":"\u0001E\r","kf7":"\u0001F\r","kf8":"\u0001G\r","kf9":"\u0001H\r","kf10":"\u0001I\r","kf11":"\u0001J\r","kf12":"\u0001K\r","kf13":"\u0001L\r","kf14":"\u0001M\r","kf15":"\u0001N\r","kf16":"\u0001O\r","kich":"\u001bQ","kdch":"\u001bW","khome":"\u001e","kpp":"\u001bJ","knp":"\u001bK","kcuu1":"\u000b","kcud1":"\n","kcub1":"\u0008","kcuf1":"\u000c","kcbt":"\u001bI","kprt":"\u001bP","acsc":"+/,.0[iha2fxgqh1jYk?lZm@nEqDtCu4vAwBx3yszr{c~~","smacs":"\u001bcE","rmacs":"\u001bcD","kHOM":"\u001b{"} -{"name":"wy99gt-w","aliases":["wyse99gt-w"],"cols":132,"lines":24,"bell":"\u0007","clear":"\u001b+$\u003c160\u003e","smcup":"\u001bw1","rmcup":"\u001bw0","cnorm":"\u001b`1","civis":"\u001b`0","sgr0":"\u001b(\u001bH\u0003\u001bG0\u001bcD","smul":"\u001bG8","blink":"\u001bG2","rev":"\u001bG4","dim":"\u001bGp","cup":"\u001ba%i%p1%dR%p2%dC$\u003c2\u003e","cub1":"\u0008","cuu1":"\u000b","pad":"\u0000","kbs":"\u0008","kf1":"\u0001@\r","kf2":"\u0001A\r","kf3":"\u0001B\r","kf4":"\u0001C\r","kf5":"\u0001D\r","kf6":"\u0001E\r","kf7":"\u0001F\r","kf8":"\u0001G\r","kf9":"\u0001H\r","kf10":"\u0001I\r","kf11":"\u0001J\r","kf12":"\u0001K\r","kf13":"\u0001L\r","kf14":"\u0001M\r","kf15":"\u0001N\r","kf16":"\u0001O\r","kich":"\u001bQ","kdch":"\u001bW","khome":"\u001e","kpp":"\u001bJ","knp":"\u001bK","kcuu1":"\u000b","kcud1":"\n","kcub1":"\u0008","kcuf1":"\u000c","kcbt":"\u001bI","kprt":"\u001bP","acsc":"+/,.0[iha2fxgqh1jYk?lZm@nEqDtCu4vAwBx3yszr{c~~","smacs":"\u001bcE","rmacs":"\u001bcD","kHOM":"\u001b{"} -{"name":"wy99gt-w-vb","aliases":["wy99gt-wvb","wyse99gt-wvb"],"cols":132,"lines":24,"clear":"\u001b+$\u003c160\u003e","smcup":"\u001bw1","rmcup":"\u001bw0","cnorm":"\u001b`1","civis":"\u001b`0","sgr0":"\u001b(\u001bH\u0003\u001bG0\u001bcD","smul":"\u001bG8","blink":"\u001bG2","rev":"\u001bG4","dim":"\u001bGp","cup":"\u001ba%i%p1%dR%p2%dC$\u003c2\u003e","cub1":"\u0008","cuu1":"\u000b","pad":"\u0000","kbs":"\u0008","kf1":"\u0001@\r","kf2":"\u0001A\r","kf3":"\u0001B\r","kf4":"\u0001C\r","kf5":"\u0001D\r","kf6":"\u0001E\r","kf7":"\u0001F\r","kf8":"\u0001G\r","kf9":"\u0001H\r","kf10":"\u0001I\r","kf11":"\u0001J\r","kf12":"\u0001K\r","kf13":"\u0001L\r","kf14":"\u0001M\r","kf15":"\u0001N\r","kf16":"\u0001O\r","kich":"\u001bQ","kdch":"\u001bW","khome":"\u001e","kpp":"\u001bJ","knp":"\u001bK","kcuu1":"\u000b","kcud1":"\n","kcub1":"\u0008","kcuf1":"\u000c","kcbt":"\u001bI","kprt":"\u001bP","acsc":"+/,.0[iha2fxgqh1jYk?lZm@nEqDtCu4vAwBx3yszr{c~~","smacs":"\u001bcE","rmacs":"\u001bcD","kHOM":"\u001b{"} -{"name":"wyse-vp","cols":80,"lines":24,"bell":"\u0007","clear":"\u000c","sgr0":"\u000f","smul":"\u000e","cup":"\u001bY%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u001a","pad":"\u0000","kbs":"\u0008","khome":"\u0001","kcuu1":"\u001a","kcud1":"\n","kcub1":"\u0015","kcuf1":"\u0006"} -{"name":"x10term","aliases":["vs100-x10"],"cols":80,"lines":65,"clear":"\u001b[H\u001b[2J","sgr0":"\u001b[m","smul":"\u001b[4m","bold":"\u001b[1m","rev":"\u001b[7m","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC"} -{"name":"x68k","aliases":["x68k-ite"],"cols":96,"lines":32,"bell":"\u0007","clear":"\u001b[H\u001b[J","sgr0":"\u001b[m\u001b(B","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kf6":"\u001b[17~","kf7":"\u001b[18~","kf8":"\u001b[19~","kf9":"\u001b[20~","kf10":"\u001b[21~","kf11":"\u001b[23~","kf12":"\u001b[24~","kf13":"\u001b[25~","kf14":"\u001b[26~","kf17":"\u001b[31~","kf18":"\u001b[32~","kf19":"\u001b[33~","kf20":"\u001b[34~","kich":"\u001b[2~","khlp":"\u001b[28~","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kclr":"\u001b[9~","acsc":"``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u001b(0$\u003c2\u003e","rmacs":"\u001b(B$\u003c4\u003e","enacs":"\u001b)0"} -{"name":"xerox820","aliases":["x820"],"cols":80,"lines":24,"bell":"\u0007","clear":"1\u001a","cup":"\u001b=%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u000b","pad":"\u0000"} -{"name":"xfce","cols":80,"lines":24,"colors":8,"bell":"\u0007","clear":"\u001b[H\u001b[2J","smcup":"\u001b7\u001b[?47h","rmcup":"\u001b[2J\u001b[?47l\u001b8","cnorm":"\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b[0m\u000f","smul":"\u001b[4m","bold":"\u001b[1m","rev":"\u001b[7m","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","setaf":"\u001b[3%p1%dm","setbg":"\u001b[4%p1%dm","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kf5":"\u001b[15~","kf6":"\u001b[17~","kf7":"\u001b[18~","kf8":"\u001b[19~","kf9":"\u001b[20~","kf10":"\u001b[21~","kf11":"\u001b[23~","kf12":"\u001b[24~","kf13":"\u001bO1;2P","kf14":"\u001bO1;2Q","kf15":"\u001bO1;2R","kf16":"\u001bO1;2S","kf17":"\u001b[15;2~","kf18":"\u001b[17;2~","kf19":"\u001b[18;2~","kf20":"\u001b[19;2~","kf21":"\u001b[20;2~","kf22":"\u001b[21;2~","kf23":"\u001b[23;2~","kf24":"\u001b[24;2~","kf25":"\u001bO1;5P","kf26":"\u001bO1;5Q","kf27":"\u001bO1;5R","kf28":"\u001bO1;5S","kf29":"\u001b[15;5~","kf30":"\u001b[17;5~","kf31":"\u001b[18;5~","kf32":"\u001b[19;5~","kf33":"\u001b[20;5~","kf34":"\u001b[21;5~","kf35":"\u001b[23;5~","kf36":"\u001b[24;5~","kf37":"\u001bO1;6P","kf38":"\u001bO1;6Q","kf39":"\u001bO1;6R","kf40":"\u001bO1;6S","kf41":"\u001b[15;6~","kf42":"\u001b[17;6~","kf43":"\u001b[18;6~","kf44":"\u001b[19;6~","kf45":"\u001b[20;6~","kf46":"\u001b[21;6~","kf47":"\u001b[23;6~","kf48":"\u001b[24;6~","kf49":"\u001bO1;3P","kf50":"\u001bO1;3Q","kf51":"\u001bO1;3R","kf52":"\u001bO1;3S","kf53":"\u001b[15;3~","kf54":"\u001b[17;3~","kf55":"\u001b[18;3~","kf56":"\u001b[19;3~","kf57":"\u001b[20;3~","kf58":"\u001b[21;3~","kf59":"\u001b[23;3~","kf60":"\u001b[24;3~","kf61":"\u001bO1;4P","kf62":"\u001bO1;4Q","kf63":"\u001bO1;4R","kich":"\u001b[2~","kdch":"\u001b[3~","khome":"\u001bOH","kend":"\u001bOF","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC","kcbt":"\u001b[Z","kmous":"\u001b[M","XM":"%?%p1%{1}%=%t%'h'%Pa%e%'l'%Pa%;\u001b[?1000%ga%c\u001b[?1002%ga%c\u001b[?1003%ga%c\u001b[?1006%ga%c","acsc":"``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u000e","rmacs":"\u000f","enacs":"\u001b)0","kRIT":"\u001b[1;2C","kLFT":"\u001b[1;2D","kHOM":"\u001b[1;2H","kEND":"\u001b[1;2F","_setfgbg":"\u001b[3%p1%d;4%p2%dm","_kscu1":"\u001b[1;2A","_kscud1":"\u001b[1;2B","_kccu1":"\u001b[1;5A","_kccud1":"\u001b[1;5B","_kccuf1":"\u001b[1;5C","_kccub1":"\u001b[1;5D","_kmcu1":"\u001b[1;9A","_kmcud1":"\u001b[1;9B","_kmcuf1":"\u001b[1;9C","_kmcub1":"\u001b[1;9D","_kacu1":"\u001b[1;3A","_kacud1":"\u001b[1;3B","_kacuf1":"\u001b[1;3C","_kacub1":"\u001b[1;3D","_kchome":"\u001b[1;5H","_kcend":"\u001b[1;5F","_kahome":"\u001b[1;9H","_kaend":"\u001b[1;9F","_kascu1":"\u001b[1;4A","_kascud1":"\u001b[1;4B","_kascub1":"\u001b[1;4D","_kascuf1":"\u001b[1;4C","_kmscu1":"\u001b[1;10A","_kmscud1":"\u001b[1;10B","_kmscub1":"\u001b[1;10D","_kmscuf1":"\u001b[1;10C","_kcscu1":"\u001b[1;6A","_kcscud1":"\u001b[1;6B","_kcscub1":"\u001b[1;6D","_kcscuf1":"\u001b[1;6C","_kcHOME":"\u001b[1;6H","_kcEND":"\u001b[1;6F","_kaHOME":"\u001b[1;4H","_kaEND":"\u001b[1;4F","_kmHOME":"\u001b[1;10H","_kmEND":"\u001b[1;10F"} -{"name":"xiterm","cols":80,"lines":24,"colors":8,"bell":"\u0007","clear":"\u001b[H\u001b[2J","smcup":"\u001b7\u001b[?47h","rmcup":"\u001b[2J\u001b[?47l\u001b8","sgr0":"\u001b[m","smul":"\u001b[4m","bold":"\u001b[1m","rev":"\u001b[7m","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","setaf":"\u001b[3%p1%dm","setbg":"\u001b[4%p1%dm","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"","kf1":"\u001b[11~","kf2":"\u001b[12~","kf3":"\u001b[13~","kf4":"\u001b[14~","kf5":"\u001b[15~","kf6":"\u001b[17~","kf7":"\u001b[18~","kf8":"\u001b[19~","kf9":"\u001b[20~","kf10":"\u001b[21~","kf11":"\u001b[23~","kf12":"\u001b[24~","kf13":"\u001b[25~","kf14":"\u001b[26~","kf15":"\u001b[28~","kf16":"\u001b[29~","kf17":"\u001b[31~","kf18":"\u001b[32~","kf19":"\u001b[33~","kf20":"\u001b[34~","kich":"\u001b[2~","kdch":"\u001b[3~","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC","kmous":"\u001b[M","XM":"%?%p1%{1}%=%t%'h'%Pa%e%'l'%Pa%;\u001b[?1000%ga%c\u001b[?1002%ga%c\u001b[?1003%ga%c\u001b[?1006%ga%c","acsc":"``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u000e","rmacs":"\u000f","enacs":"\u001b)0","_setfgbg":"\u001b[3%p1%d;4%p2%dm"} -{"name":"xnuppc","aliases":["darwin"],"cols":-1,"lines":-1,"colors":8,"clear":"\u001b[H\u001b[J","sgr0":"\u001b[m\u000f","smul":"\u001b[4m","bold":"\u001b[1m","rev":"\u001b[7m","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","setaf":"\u001b[3%p1%dm","setbg":"\u001b[4%p1%dm","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u001b[D","cuu1":"\u001b[A","pad":"\u0000","kbs":"","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC","_setfgbg":"\u001b[3%p1%d;4%p2%dm"} -{"name":"xnuppc+b","cols":-1,"lines":-1,"clear":"\u001b[H\u001b[J","sgr0":"\u001b[m\u000f","smul":"\u001b[4m","bold":"\u001b[35m","rev":"\u001b[7m","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u001b[D","cuu1":"\u001b[A","pad":"\u0000","kbs":"","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC"} -{"name":"xnuppc+basic","cols":-1,"lines":-1,"clear":"\u001b[H\u001b[J","sgr0":"\u001b[m\u000f","smul":"\u001b[4m","bold":"\u001b[1m","rev":"\u001b[7m","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u001b[D","cuu1":"\u001b[A","pad":"\u0000","kbs":"","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC"} -{"name":"xnuppc+f","cols":-1,"lines":-1,"clear":"\u001b[H\u001b[J","sgr0":"\u001b[m\u000f","smul":"\u001b[36;4m","bold":"\u001b[35m","rev":"\u001b[7m","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u001b[D","cuu1":"\u001b[A","pad":"\u0000","kbs":"","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC"} -{"name":"xnuppc+f2","cols":-1,"lines":-1,"clear":"\u001b[H\u001b[J","sgr0":"\u001b[m\u000f","smul":"\u001b[34m","bold":"\u001b[33m","rev":"\u001b[7m","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u001b[D","cuu1":"\u001b[A","pad":"\u0000","kbs":"","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC"} -{"name":"xnuppc-100x37","aliases":["darwin-100x37"],"cols":100,"lines":37,"colors":8,"clear":"\u001b[H\u001b[J","sgr0":"\u001b[m\u000f","smul":"\u001b[4m","bold":"\u001b[1m","rev":"\u001b[7m","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","setaf":"\u001b[3%p1%dm","setbg":"\u001b[4%p1%dm","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u001b[D","cuu1":"\u001b[A","pad":"\u0000","kbs":"","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC","_setfgbg":"\u001b[3%p1%d;4%p2%dm"} -{"name":"xnuppc-100x37-m","aliases":["darwin-100x37-m"],"cols":100,"lines":37,"clear":"\u001b[H\u001b[J","sgr0":"\u001b[m\u000f","smul":"\u001b[4m","bold":"\u001b[1m","rev":"\u001b[7m","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u001b[D","cuu1":"\u001b[A","pad":"\u0000","kbs":"","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC"} -{"name":"xnuppc-112x37","aliases":["darwin-112x37"],"cols":112,"lines":37,"colors":8,"clear":"\u001b[H\u001b[J","sgr0":"\u001b[m\u000f","smul":"\u001b[4m","bold":"\u001b[1m","rev":"\u001b[7m","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","setaf":"\u001b[3%p1%dm","setbg":"\u001b[4%p1%dm","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u001b[D","cuu1":"\u001b[A","pad":"\u0000","kbs":"","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC","_setfgbg":"\u001b[3%p1%d;4%p2%dm"} -{"name":"xnuppc-112x37-m","aliases":["darwin-112x37-m"],"cols":112,"lines":37,"clear":"\u001b[H\u001b[J","sgr0":"\u001b[m\u000f","smul":"\u001b[4m","bold":"\u001b[1m","rev":"\u001b[7m","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u001b[D","cuu1":"\u001b[A","pad":"\u0000","kbs":"","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC"} -{"name":"xnuppc-128x40","aliases":["darwin-128x40"],"cols":128,"lines":40,"colors":8,"clear":"\u001b[H\u001b[J","sgr0":"\u001b[m\u000f","smul":"\u001b[4m","bold":"\u001b[1m","rev":"\u001b[7m","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","setaf":"\u001b[3%p1%dm","setbg":"\u001b[4%p1%dm","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u001b[D","cuu1":"\u001b[A","pad":"\u0000","kbs":"","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC","_setfgbg":"\u001b[3%p1%d;4%p2%dm"} -{"name":"xnuppc-128x40-m","aliases":["darwin-128x40-m"],"cols":128,"lines":40,"clear":"\u001b[H\u001b[J","sgr0":"\u001b[m\u000f","smul":"\u001b[4m","bold":"\u001b[1m","rev":"\u001b[7m","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u001b[D","cuu1":"\u001b[A","pad":"\u0000","kbs":"","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC"} -{"name":"xnuppc-128x48","aliases":["darwin-128x48"],"cols":128,"lines":48,"colors":8,"clear":"\u001b[H\u001b[J","sgr0":"\u001b[m\u000f","smul":"\u001b[4m","bold":"\u001b[1m","rev":"\u001b[7m","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","setaf":"\u001b[3%p1%dm","setbg":"\u001b[4%p1%dm","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u001b[D","cuu1":"\u001b[A","pad":"\u0000","kbs":"","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC","_setfgbg":"\u001b[3%p1%d;4%p2%dm"} -{"name":"xnuppc-128x48-m","aliases":["darwin-128x48-m"],"cols":128,"lines":48,"clear":"\u001b[H\u001b[J","sgr0":"\u001b[m\u000f","smul":"\u001b[4m","bold":"\u001b[1m","rev":"\u001b[7m","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u001b[D","cuu1":"\u001b[A","pad":"\u0000","kbs":"","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC"} -{"name":"xnuppc-144x48","aliases":["darwin-144x48"],"cols":144,"lines":48,"colors":8,"clear":"\u001b[H\u001b[J","sgr0":"\u001b[m\u000f","smul":"\u001b[4m","bold":"\u001b[1m","rev":"\u001b[7m","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","setaf":"\u001b[3%p1%dm","setbg":"\u001b[4%p1%dm","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u001b[D","cuu1":"\u001b[A","pad":"\u0000","kbs":"","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC","_setfgbg":"\u001b[3%p1%d;4%p2%dm"} -{"name":"xnuppc-144x48-m","aliases":["darwin-144x48-m"],"cols":144,"lines":48,"clear":"\u001b[H\u001b[J","sgr0":"\u001b[m\u000f","smul":"\u001b[4m","bold":"\u001b[1m","rev":"\u001b[7m","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u001b[D","cuu1":"\u001b[A","pad":"\u0000","kbs":"","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC"} -{"name":"xnuppc-160x64","aliases":["darwin-160x64"],"cols":160,"lines":64,"colors":8,"clear":"\u001b[H\u001b[J","sgr0":"\u001b[m\u000f","smul":"\u001b[4m","bold":"\u001b[1m","rev":"\u001b[7m","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","setaf":"\u001b[3%p1%dm","setbg":"\u001b[4%p1%dm","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u001b[D","cuu1":"\u001b[A","pad":"\u0000","kbs":"","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC","_setfgbg":"\u001b[3%p1%d;4%p2%dm"} -{"name":"xnuppc-160x64-m","aliases":["darwin-160x64-m"],"cols":160,"lines":64,"clear":"\u001b[H\u001b[J","sgr0":"\u001b[m\u000f","smul":"\u001b[4m","bold":"\u001b[1m","rev":"\u001b[7m","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u001b[D","cuu1":"\u001b[A","pad":"\u0000","kbs":"","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC"} -{"name":"xnuppc-200x64","aliases":["darwin-200x64"],"cols":200,"lines":64,"colors":8,"clear":"\u001b[H\u001b[J","sgr0":"\u001b[m\u000f","smul":"\u001b[4m","bold":"\u001b[1m","rev":"\u001b[7m","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","setaf":"\u001b[3%p1%dm","setbg":"\u001b[4%p1%dm","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u001b[D","cuu1":"\u001b[A","pad":"\u0000","kbs":"","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC","_setfgbg":"\u001b[3%p1%d;4%p2%dm"} -{"name":"xnuppc-200x64-m","aliases":["darwin-200x64-m"],"cols":200,"lines":64,"clear":"\u001b[H\u001b[J","sgr0":"\u001b[m\u000f","smul":"\u001b[4m","bold":"\u001b[1m","rev":"\u001b[7m","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u001b[D","cuu1":"\u001b[A","pad":"\u0000","kbs":"","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC"} -{"name":"xnuppc-200x75","aliases":["darwin-200x75"],"cols":200,"lines":75,"colors":8,"clear":"\u001b[H\u001b[J","sgr0":"\u001b[m\u000f","smul":"\u001b[4m","bold":"\u001b[1m","rev":"\u001b[7m","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","setaf":"\u001b[3%p1%dm","setbg":"\u001b[4%p1%dm","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u001b[D","cuu1":"\u001b[A","pad":"\u0000","kbs":"","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC","_setfgbg":"\u001b[3%p1%d;4%p2%dm"} -{"name":"xnuppc-200x75-m","aliases":["darwin-200x75-m"],"cols":200,"lines":75,"clear":"\u001b[H\u001b[J","sgr0":"\u001b[m\u000f","smul":"\u001b[4m","bold":"\u001b[1m","rev":"\u001b[7m","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u001b[D","cuu1":"\u001b[A","pad":"\u0000","kbs":"","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC"} -{"name":"xnuppc-256x96","aliases":["darwin-256x96"],"cols":256,"lines":96,"colors":8,"clear":"\u001b[H\u001b[J","sgr0":"\u001b[m\u000f","smul":"\u001b[4m","bold":"\u001b[1m","rev":"\u001b[7m","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","setaf":"\u001b[3%p1%dm","setbg":"\u001b[4%p1%dm","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u001b[D","cuu1":"\u001b[A","pad":"\u0000","kbs":"","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC","_setfgbg":"\u001b[3%p1%d;4%p2%dm"} -{"name":"xnuppc-256x96-m","aliases":["darwin-256x96-m"],"cols":256,"lines":96,"clear":"\u001b[H\u001b[J","sgr0":"\u001b[m\u000f","smul":"\u001b[4m","bold":"\u001b[1m","rev":"\u001b[7m","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u001b[D","cuu1":"\u001b[A","pad":"\u0000","kbs":"","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC"} -{"name":"xnuppc-80x25","aliases":["darwin-80x25"],"cols":80,"lines":25,"colors":8,"clear":"\u001b[H\u001b[J","sgr0":"\u001b[m\u000f","smul":"\u001b[4m","bold":"\u001b[1m","rev":"\u001b[7m","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","setaf":"\u001b[3%p1%dm","setbg":"\u001b[4%p1%dm","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u001b[D","cuu1":"\u001b[A","pad":"\u0000","kbs":"","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC","_setfgbg":"\u001b[3%p1%d;4%p2%dm"} -{"name":"xnuppc-80x25-m","aliases":["darwin-80x25-m"],"cols":80,"lines":25,"clear":"\u001b[H\u001b[J","sgr0":"\u001b[m\u000f","smul":"\u001b[4m","bold":"\u001b[1m","rev":"\u001b[7m","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u001b[D","cuu1":"\u001b[A","pad":"\u0000","kbs":"","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC"} -{"name":"xnuppc-80x30","aliases":["darwin-80x30"],"cols":80,"lines":30,"colors":8,"clear":"\u001b[H\u001b[J","sgr0":"\u001b[m\u000f","smul":"\u001b[4m","bold":"\u001b[1m","rev":"\u001b[7m","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","setaf":"\u001b[3%p1%dm","setbg":"\u001b[4%p1%dm","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u001b[D","cuu1":"\u001b[A","pad":"\u0000","kbs":"","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC","_setfgbg":"\u001b[3%p1%d;4%p2%dm"} -{"name":"xnuppc-80x30-m","aliases":["darwin-80x30-m"],"cols":80,"lines":30,"clear":"\u001b[H\u001b[J","sgr0":"\u001b[m\u000f","smul":"\u001b[4m","bold":"\u001b[1m","rev":"\u001b[7m","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u001b[D","cuu1":"\u001b[A","pad":"\u0000","kbs":"","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC"} -{"name":"xnuppc-90x30","aliases":["darwin-90x30"],"cols":90,"lines":30,"colors":8,"clear":"\u001b[H\u001b[J","sgr0":"\u001b[m\u000f","smul":"\u001b[4m","bold":"\u001b[1m","rev":"\u001b[7m","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","setaf":"\u001b[3%p1%dm","setbg":"\u001b[4%p1%dm","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u001b[D","cuu1":"\u001b[A","pad":"\u0000","kbs":"","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC","_setfgbg":"\u001b[3%p1%d;4%p2%dm"} -{"name":"xnuppc-90x30-m","aliases":["darwin-90x30-m"],"cols":90,"lines":30,"clear":"\u001b[H\u001b[J","sgr0":"\u001b[m\u000f","smul":"\u001b[4m","bold":"\u001b[1m","rev":"\u001b[7m","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u001b[D","cuu1":"\u001b[A","pad":"\u0000","kbs":"","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC"} -{"name":"xnuppc-b","aliases":["darwin-b"],"cols":-1,"lines":-1,"colors":8,"clear":"\u001b[H\u001b[J","sgr0":"\u001b[m\u000f","smul":"\u001b[4m","bold":"\u001b[35m","rev":"\u001b[7m","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","setaf":"\u001b[3%p1%dm","setbg":"\u001b[4%p1%dm","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u001b[D","cuu1":"\u001b[A","pad":"\u0000","kbs":"","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC","_setfgbg":"\u001b[3%p1%d;4%p2%dm"} -{"name":"xnuppc-f","aliases":["darwin-f"],"cols":-1,"lines":-1,"colors":8,"clear":"\u001b[H\u001b[J","sgr0":"\u001b[m\u000f","smul":"\u001b[36;4m","bold":"\u001b[35m","rev":"\u001b[7m","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","setaf":"\u001b[3%p1%dm","setbg":"\u001b[4%p1%dm","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u001b[D","cuu1":"\u001b[A","pad":"\u0000","kbs":"","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC","_setfgbg":"\u001b[3%p1%d;4%p2%dm"} -{"name":"xnuppc-f2","aliases":["darwin-f2"],"cols":-1,"lines":-1,"colors":8,"clear":"\u001b[H\u001b[J","sgr0":"\u001b[m\u000f","smul":"\u001b[34m","bold":"\u001b[33m","rev":"\u001b[7m","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","setaf":"\u001b[3%p1%dm","setbg":"\u001b[4%p1%dm","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u001b[D","cuu1":"\u001b[A","pad":"\u0000","kbs":"","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC","_setfgbg":"\u001b[3%p1%d;4%p2%dm"} -{"name":"xnuppc-m","aliases":["darwin-m"],"cols":-1,"lines":-1,"clear":"\u001b[H\u001b[J","sgr0":"\u001b[m\u000f","smul":"\u001b[4m","bold":"\u001b[1m","rev":"\u001b[7m","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u001b[D","cuu1":"\u001b[A","pad":"\u0000","kbs":"","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC"} -{"name":"xnuppc-m-b","aliases":["darwin-m-b"],"cols":-1,"lines":-1,"clear":"\u001b[H\u001b[J","sgr0":"\u001b[m\u000f","smul":"\u001b[4m","bold":"\u001b[35m","rev":"\u001b[7m","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u001b[D","cuu1":"\u001b[A","pad":"\u0000","kbs":"","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC"} -{"name":"xnuppc-m-f","aliases":["darwin-m-f"],"cols":-1,"lines":-1,"clear":"\u001b[H\u001b[J","sgr0":"\u001b[m\u000f","smul":"\u001b[36;4m","bold":"\u001b[35m","rev":"\u001b[7m","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u001b[D","cuu1":"\u001b[A","pad":"\u0000","kbs":"","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC"} -{"name":"xnuppc-m-f2","aliases":["darwin-m-f2"],"cols":-1,"lines":-1,"clear":"\u001b[H\u001b[J","sgr0":"\u001b[m\u000f","smul":"\u001b[34m","bold":"\u001b[33m","rev":"\u001b[7m","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u001b[D","cuu1":"\u001b[A","pad":"\u0000","kbs":"","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC"} -{"name":"xtalk","cols":80,"lines":24,"bell":"\u0007","clear":"\u001b[H\u001b[J$\u003c50\u003e","sgr0":"\u001b[m","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","cup":"\u001b[%i%p1%d;%p2%dH$\u003c5\u003e","cub1":"\u0008","cuu1":"\u001b[A$\u003c2\u003e","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kf5":"\u001bOt","kf6":"\u001bOu","kf7":"\u001bOv","kf8":"\u001bOl","kf9":"\u001bOw","kf10":"\u001bOx","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC","acsc":"``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u000e","rmacs":"\u000f","enacs":"\u001b(B\u001b)0"} -{"name":"xterm","cols":80,"lines":24,"colors":8,"bell":"\u0007","clear":"\u001b[H\u001b[2J","smcup":"\u001b[?1049h","rmcup":"\u001b[?1049l","cnorm":"\u001b[?12l\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b(B\u001b[m","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","setaf":"\u001b[3%p1%dm","setbg":"\u001b[4%p1%dm","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","kbs":"\u0008","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kf5":"\u001b[15~","kf6":"\u001b[17~","kf7":"\u001b[18~","kf8":"\u001b[19~","kf9":"\u001b[20~","kf10":"\u001b[21~","kf11":"\u001b[23~","kf12":"\u001b[24~","kf13":"\u001b[1;2P","kf14":"\u001b[1;2Q","kf15":"\u001b[1;2R","kf16":"\u001b[1;2S","kf17":"\u001b[15;2~","kf18":"\u001b[17;2~","kf19":"\u001b[18;2~","kf20":"\u001b[19;2~","kf21":"\u001b[20;2~","kf22":"\u001b[21;2~","kf23":"\u001b[23;2~","kf24":"\u001b[24;2~","kf25":"\u001b[1;5P","kf26":"\u001b[1;5Q","kf27":"\u001b[1;5R","kf28":"\u001b[1;5S","kf29":"\u001b[15;5~","kf30":"\u001b[17;5~","kf31":"\u001b[18;5~","kf32":"\u001b[19;5~","kf33":"\u001b[20;5~","kf34":"\u001b[21;5~","kf35":"\u001b[23;5~","kf36":"\u001b[24;5~","kf37":"\u001b[1;6P","kf38":"\u001b[1;6Q","kf39":"\u001b[1;6R","kf40":"\u001b[1;6S","kf41":"\u001b[15;6~","kf42":"\u001b[17;6~","kf43":"\u001b[18;6~","kf44":"\u001b[19;6~","kf45":"\u001b[20;6~","kf46":"\u001b[21;6~","kf47":"\u001b[23;6~","kf48":"\u001b[24;6~","kf49":"\u001b[1;3P","kf50":"\u001b[1;3Q","kf51":"\u001b[1;3R","kf52":"\u001b[1;3S","kf53":"\u001b[15;3~","kf54":"\u001b[17;3~","kf55":"\u001b[18;3~","kf56":"\u001b[19;3~","kf57":"\u001b[20;3~","kf58":"\u001b[21;3~","kf59":"\u001b[23;3~","kf60":"\u001b[24;3~","kf61":"\u001b[1;4P","kf62":"\u001b[1;4Q","kf63":"\u001b[1;4R","kich":"\u001b[2~","kdch":"\u001b[3~","khome":"\u001bOH","kend":"\u001bOF","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC","kcbt":"\u001b[Z","kmous":"\u001b[M","XM":"%?%p1%{1}%=%t%'h'%Pa%e%'l'%Pa%;\u001b[?1000%ga%c\u001b[?1002%ga%c\u001b[?1003%ga%c\u001b[?1006%ga%c","acsc":"``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u001b(0","rmacs":"\u001b(B","kRIT":"\u001b[1;2C","kLFT":"\u001b[1;2D","kHOM":"\u001b[1;2H","kEND":"\u001b[1;2F","_setfgbg":"\u001b[3%p1%d;4%p2%dm","_kscu1":"\u001b[1;2A","_kscud1":"\u001b[1;2B","_kccu1":"\u001b[1;5A","_kccud1":"\u001b[1;5B","_kccuf1":"\u001b[1;5C","_kccub1":"\u001b[1;5D","_kmcu1":"\u001b[1;9A","_kmcud1":"\u001b[1;9B","_kmcuf1":"\u001b[1;9C","_kmcub1":"\u001b[1;9D","_kacu1":"\u001b[1;3A","_kacud1":"\u001b[1;3B","_kacuf1":"\u001b[1;3C","_kacub1":"\u001b[1;3D","_kchome":"\u001b[1;5H","_kcend":"\u001b[1;5F","_kahome":"\u001b[1;9H","_kaend":"\u001b[1;9F","_kascu1":"\u001b[1;4A","_kascud1":"\u001b[1;4B","_kascub1":"\u001b[1;4D","_kascuf1":"\u001b[1;4C","_kmscu1":"\u001b[1;10A","_kmscud1":"\u001b[1;10B","_kmscub1":"\u001b[1;10D","_kmscuf1":"\u001b[1;10C","_kcscu1":"\u001b[1;6A","_kcscud1":"\u001b[1;6B","_kcscub1":"\u001b[1;6D","_kcscuf1":"\u001b[1;6C","_kcHOME":"\u001b[1;6H","_kcEND":"\u001b[1;6F","_kaHOME":"\u001b[1;4H","_kaEND":"\u001b[1;4F","_kmHOME":"\u001b[1;10H","_kmEND":"\u001b[1;10F"} -{"name":"xterm+sl","cols":80,"lines":24,"colors":8,"bell":"\u0007","clear":"\u001b[H\u001b[2J","smcup":"\u001b[?1049h","rmcup":"\u001b[?1049l","cnorm":"\u001b[?12l\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b(B\u001b[m","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","setaf":"\u001b[3%p1%dm","setbg":"\u001b[4%p1%dm","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","kbs":"\u0008","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kf5":"\u001b[15~","kf6":"\u001b[17~","kf7":"\u001b[18~","kf8":"\u001b[19~","kf9":"\u001b[20~","kf10":"\u001b[21~","kf11":"\u001b[23~","kf12":"\u001b[24~","kf13":"\u001b[1;2P","kf14":"\u001b[1;2Q","kf15":"\u001b[1;2R","kf16":"\u001b[1;2S","kf17":"\u001b[15;2~","kf18":"\u001b[17;2~","kf19":"\u001b[18;2~","kf20":"\u001b[19;2~","kf21":"\u001b[20;2~","kf22":"\u001b[21;2~","kf23":"\u001b[23;2~","kf24":"\u001b[24;2~","kf25":"\u001b[1;5P","kf26":"\u001b[1;5Q","kf27":"\u001b[1;5R","kf28":"\u001b[1;5S","kf29":"\u001b[15;5~","kf30":"\u001b[17;5~","kf31":"\u001b[18;5~","kf32":"\u001b[19;5~","kf33":"\u001b[20;5~","kf34":"\u001b[21;5~","kf35":"\u001b[23;5~","kf36":"\u001b[24;5~","kf37":"\u001b[1;6P","kf38":"\u001b[1;6Q","kf39":"\u001b[1;6R","kf40":"\u001b[1;6S","kf41":"\u001b[15;6~","kf42":"\u001b[17;6~","kf43":"\u001b[18;6~","kf44":"\u001b[19;6~","kf45":"\u001b[20;6~","kf46":"\u001b[21;6~","kf47":"\u001b[23;6~","kf48":"\u001b[24;6~","kf49":"\u001b[1;3P","kf50":"\u001b[1;3Q","kf51":"\u001b[1;3R","kf52":"\u001b[1;3S","kf53":"\u001b[15;3~","kf54":"\u001b[17;3~","kf55":"\u001b[18;3~","kf56":"\u001b[19;3~","kf57":"\u001b[20;3~","kf58":"\u001b[21;3~","kf59":"\u001b[23;3~","kf60":"\u001b[24;3~","kf61":"\u001b[1;4P","kf62":"\u001b[1;4Q","kf63":"\u001b[1;4R","kich":"\u001b[2~","kdch":"\u001b[3~","khome":"\u001bOH","kend":"\u001bOF","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC","kcbt":"\u001b[Z","kmous":"\u001b[M","XM":"%?%p1%{1}%=%t%'h'%Pa%e%'l'%Pa%;\u001b[?1000%ga%c\u001b[?1002%ga%c\u001b[?1003%ga%c\u001b[?1006%ga%c","acsc":"``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u001b(0","rmacs":"\u001b(B","kRIT":"\u001b[1;2C","kLFT":"\u001b[1;2D","kHOM":"\u001b[1;2H","kEND":"\u001b[1;2F","_setfgbg":"\u001b[3%p1%d;4%p2%dm","_kscu1":"\u001b[1;2A","_kscud1":"\u001b[1;2B","_kccu1":"\u001b[1;5A","_kccud1":"\u001b[1;5B","_kccuf1":"\u001b[1;5C","_kccub1":"\u001b[1;5D","_kmcu1":"\u001b[1;9A","_kmcud1":"\u001b[1;9B","_kmcuf1":"\u001b[1;9C","_kmcub1":"\u001b[1;9D","_kacu1":"\u001b[1;3A","_kacud1":"\u001b[1;3B","_kacuf1":"\u001b[1;3C","_kacub1":"\u001b[1;3D","_kchome":"\u001b[1;5H","_kcend":"\u001b[1;5F","_kahome":"\u001b[1;9H","_kaend":"\u001b[1;9F","_kascu1":"\u001b[1;4A","_kascud1":"\u001b[1;4B","_kascub1":"\u001b[1;4D","_kascuf1":"\u001b[1;4C","_kmscu1":"\u001b[1;10A","_kmscud1":"\u001b[1;10B","_kmscub1":"\u001b[1;10D","_kmscuf1":"\u001b[1;10C","_kcscu1":"\u001b[1;6A","_kcscud1":"\u001b[1;6B","_kcscub1":"\u001b[1;6D","_kcscuf1":"\u001b[1;6C","_kcHOME":"\u001b[1;6H","_kcEND":"\u001b[1;6F","_kaHOME":"\u001b[1;4H","_kaEND":"\u001b[1;4F","_kmHOME":"\u001b[1;10H","_kmEND":"\u001b[1;10F"} -{"name":"xterm+sl-twm","cols":80,"lines":24,"colors":8,"bell":"\u0007","clear":"\u001b[H\u001b[2J","smcup":"\u001b[?1049h","rmcup":"\u001b[?1049l","cnorm":"\u001b[?12l\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b(B\u001b[m","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","setaf":"\u001b[3%p1%dm","setbg":"\u001b[4%p1%dm","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","kbs":"\u0008","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kf5":"\u001b[15~","kf6":"\u001b[17~","kf7":"\u001b[18~","kf8":"\u001b[19~","kf9":"\u001b[20~","kf10":"\u001b[21~","kf11":"\u001b[23~","kf12":"\u001b[24~","kf13":"\u001b[1;2P","kf14":"\u001b[1;2Q","kf15":"\u001b[1;2R","kf16":"\u001b[1;2S","kf17":"\u001b[15;2~","kf18":"\u001b[17;2~","kf19":"\u001b[18;2~","kf20":"\u001b[19;2~","kf21":"\u001b[20;2~","kf22":"\u001b[21;2~","kf23":"\u001b[23;2~","kf24":"\u001b[24;2~","kf25":"\u001b[1;5P","kf26":"\u001b[1;5Q","kf27":"\u001b[1;5R","kf28":"\u001b[1;5S","kf29":"\u001b[15;5~","kf30":"\u001b[17;5~","kf31":"\u001b[18;5~","kf32":"\u001b[19;5~","kf33":"\u001b[20;5~","kf34":"\u001b[21;5~","kf35":"\u001b[23;5~","kf36":"\u001b[24;5~","kf37":"\u001b[1;6P","kf38":"\u001b[1;6Q","kf39":"\u001b[1;6R","kf40":"\u001b[1;6S","kf41":"\u001b[15;6~","kf42":"\u001b[17;6~","kf43":"\u001b[18;6~","kf44":"\u001b[19;6~","kf45":"\u001b[20;6~","kf46":"\u001b[21;6~","kf47":"\u001b[23;6~","kf48":"\u001b[24;6~","kf49":"\u001b[1;3P","kf50":"\u001b[1;3Q","kf51":"\u001b[1;3R","kf52":"\u001b[1;3S","kf53":"\u001b[15;3~","kf54":"\u001b[17;3~","kf55":"\u001b[18;3~","kf56":"\u001b[19;3~","kf57":"\u001b[20;3~","kf58":"\u001b[21;3~","kf59":"\u001b[23;3~","kf60":"\u001b[24;3~","kf61":"\u001b[1;4P","kf62":"\u001b[1;4Q","kf63":"\u001b[1;4R","kich":"\u001b[2~","kdch":"\u001b[3~","khome":"\u001bOH","kend":"\u001bOF","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC","kcbt":"\u001b[Z","kmous":"\u001b[M","XM":"%?%p1%{1}%=%t%'h'%Pa%e%'l'%Pa%;\u001b[?1000%ga%c\u001b[?1002%ga%c\u001b[?1003%ga%c\u001b[?1006%ga%c","acsc":"``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u001b(0","rmacs":"\u001b(B","kRIT":"\u001b[1;2C","kLFT":"\u001b[1;2D","kHOM":"\u001b[1;2H","kEND":"\u001b[1;2F","_setfgbg":"\u001b[3%p1%d;4%p2%dm","_kscu1":"\u001b[1;2A","_kscud1":"\u001b[1;2B","_kccu1":"\u001b[1;5A","_kccud1":"\u001b[1;5B","_kccuf1":"\u001b[1;5C","_kccub1":"\u001b[1;5D","_kmcu1":"\u001b[1;9A","_kmcud1":"\u001b[1;9B","_kmcuf1":"\u001b[1;9C","_kmcub1":"\u001b[1;9D","_kacu1":"\u001b[1;3A","_kacud1":"\u001b[1;3B","_kacuf1":"\u001b[1;3C","_kacub1":"\u001b[1;3D","_kchome":"\u001b[1;5H","_kcend":"\u001b[1;5F","_kahome":"\u001b[1;9H","_kaend":"\u001b[1;9F","_kascu1":"\u001b[1;4A","_kascud1":"\u001b[1;4B","_kascub1":"\u001b[1;4D","_kascuf1":"\u001b[1;4C","_kmscu1":"\u001b[1;10A","_kmscud1":"\u001b[1;10B","_kmscub1":"\u001b[1;10D","_kmscuf1":"\u001b[1;10C","_kcscu1":"\u001b[1;6A","_kcscud1":"\u001b[1;6B","_kcscub1":"\u001b[1;6D","_kcscuf1":"\u001b[1;6C","_kcHOME":"\u001b[1;6H","_kcEND":"\u001b[1;6F","_kaHOME":"\u001b[1;4H","_kaEND":"\u001b[1;4F","_kmHOME":"\u001b[1;10H","_kmEND":"\u001b[1;10F"} -{"name":"xterm-1002","cols":80,"lines":24,"colors":8,"bell":"\u0007","clear":"\u001b[H\u001b[2J","smcup":"\u001b[?1049h","rmcup":"\u001b[?1049l","cnorm":"\u001b[?12l\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b(B\u001b[m","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","setaf":"\u001b[3%p1%dm","setbg":"\u001b[4%p1%dm","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","kbs":"\u0008","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kf5":"\u001b[15~","kf6":"\u001b[17~","kf7":"\u001b[18~","kf8":"\u001b[19~","kf9":"\u001b[20~","kf10":"\u001b[21~","kf11":"\u001b[23~","kf12":"\u001b[24~","kf13":"\u001b[1;2P","kf14":"\u001b[1;2Q","kf15":"\u001b[1;2R","kf16":"\u001b[1;2S","kf17":"\u001b[15;2~","kf18":"\u001b[17;2~","kf19":"\u001b[18;2~","kf20":"\u001b[19;2~","kf21":"\u001b[20;2~","kf22":"\u001b[21;2~","kf23":"\u001b[23;2~","kf24":"\u001b[24;2~","kf25":"\u001b[1;5P","kf26":"\u001b[1;5Q","kf27":"\u001b[1;5R","kf28":"\u001b[1;5S","kf29":"\u001b[15;5~","kf30":"\u001b[17;5~","kf31":"\u001b[18;5~","kf32":"\u001b[19;5~","kf33":"\u001b[20;5~","kf34":"\u001b[21;5~","kf35":"\u001b[23;5~","kf36":"\u001b[24;5~","kf37":"\u001b[1;6P","kf38":"\u001b[1;6Q","kf39":"\u001b[1;6R","kf40":"\u001b[1;6S","kf41":"\u001b[15;6~","kf42":"\u001b[17;6~","kf43":"\u001b[18;6~","kf44":"\u001b[19;6~","kf45":"\u001b[20;6~","kf46":"\u001b[21;6~","kf47":"\u001b[23;6~","kf48":"\u001b[24;6~","kf49":"\u001b[1;3P","kf50":"\u001b[1;3Q","kf51":"\u001b[1;3R","kf52":"\u001b[1;3S","kf53":"\u001b[15;3~","kf54":"\u001b[17;3~","kf55":"\u001b[18;3~","kf56":"\u001b[19;3~","kf57":"\u001b[20;3~","kf58":"\u001b[21;3~","kf59":"\u001b[23;3~","kf60":"\u001b[24;3~","kf61":"\u001b[1;4P","kf62":"\u001b[1;4Q","kf63":"\u001b[1;4R","kich":"\u001b[2~","kdch":"\u001b[3~","khome":"\u001bOH","kend":"\u001bOF","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC","kcbt":"\u001b[Z","kmous":"\u001b[M","XM":"\u001b[?1002%?%p1%{1}%=%th%el%;","acsc":"``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u001b(0","rmacs":"\u001b(B","kRIT":"\u001b[1;2C","kLFT":"\u001b[1;2D","kHOM":"\u001b[1;2H","kEND":"\u001b[1;2F","_setfgbg":"\u001b[3%p1%d;4%p2%dm","_kscu1":"\u001b[1;2A","_kscud1":"\u001b[1;2B","_kccu1":"\u001b[1;5A","_kccud1":"\u001b[1;5B","_kccuf1":"\u001b[1;5C","_kccub1":"\u001b[1;5D","_kmcu1":"\u001b[1;9A","_kmcud1":"\u001b[1;9B","_kmcuf1":"\u001b[1;9C","_kmcub1":"\u001b[1;9D","_kacu1":"\u001b[1;3A","_kacud1":"\u001b[1;3B","_kacuf1":"\u001b[1;3C","_kacub1":"\u001b[1;3D","_kchome":"\u001b[1;5H","_kcend":"\u001b[1;5F","_kahome":"\u001b[1;9H","_kaend":"\u001b[1;9F","_kascu1":"\u001b[1;4A","_kascud1":"\u001b[1;4B","_kascub1":"\u001b[1;4D","_kascuf1":"\u001b[1;4C","_kmscu1":"\u001b[1;10A","_kmscud1":"\u001b[1;10B","_kmscub1":"\u001b[1;10D","_kmscuf1":"\u001b[1;10C","_kcscu1":"\u001b[1;6A","_kcscud1":"\u001b[1;6B","_kcscub1":"\u001b[1;6D","_kcscuf1":"\u001b[1;6C","_kcHOME":"\u001b[1;6H","_kcEND":"\u001b[1;6F","_kaHOME":"\u001b[1;4H","_kaEND":"\u001b[1;4F","_kmHOME":"\u001b[1;10H","_kmEND":"\u001b[1;10F"} -{"name":"xterm-1003","cols":80,"lines":24,"colors":8,"bell":"\u0007","clear":"\u001b[H\u001b[2J","smcup":"\u001b[?1049h","rmcup":"\u001b[?1049l","cnorm":"\u001b[?12l\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b(B\u001b[m","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","setaf":"\u001b[3%p1%dm","setbg":"\u001b[4%p1%dm","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","kbs":"\u0008","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kf5":"\u001b[15~","kf6":"\u001b[17~","kf7":"\u001b[18~","kf8":"\u001b[19~","kf9":"\u001b[20~","kf10":"\u001b[21~","kf11":"\u001b[23~","kf12":"\u001b[24~","kf13":"\u001b[1;2P","kf14":"\u001b[1;2Q","kf15":"\u001b[1;2R","kf16":"\u001b[1;2S","kf17":"\u001b[15;2~","kf18":"\u001b[17;2~","kf19":"\u001b[18;2~","kf20":"\u001b[19;2~","kf21":"\u001b[20;2~","kf22":"\u001b[21;2~","kf23":"\u001b[23;2~","kf24":"\u001b[24;2~","kf25":"\u001b[1;5P","kf26":"\u001b[1;5Q","kf27":"\u001b[1;5R","kf28":"\u001b[1;5S","kf29":"\u001b[15;5~","kf30":"\u001b[17;5~","kf31":"\u001b[18;5~","kf32":"\u001b[19;5~","kf33":"\u001b[20;5~","kf34":"\u001b[21;5~","kf35":"\u001b[23;5~","kf36":"\u001b[24;5~","kf37":"\u001b[1;6P","kf38":"\u001b[1;6Q","kf39":"\u001b[1;6R","kf40":"\u001b[1;6S","kf41":"\u001b[15;6~","kf42":"\u001b[17;6~","kf43":"\u001b[18;6~","kf44":"\u001b[19;6~","kf45":"\u001b[20;6~","kf46":"\u001b[21;6~","kf47":"\u001b[23;6~","kf48":"\u001b[24;6~","kf49":"\u001b[1;3P","kf50":"\u001b[1;3Q","kf51":"\u001b[1;3R","kf52":"\u001b[1;3S","kf53":"\u001b[15;3~","kf54":"\u001b[17;3~","kf55":"\u001b[18;3~","kf56":"\u001b[19;3~","kf57":"\u001b[20;3~","kf58":"\u001b[21;3~","kf59":"\u001b[23;3~","kf60":"\u001b[24;3~","kf61":"\u001b[1;4P","kf62":"\u001b[1;4Q","kf63":"\u001b[1;4R","kich":"\u001b[2~","kdch":"\u001b[3~","khome":"\u001bOH","kend":"\u001bOF","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC","kcbt":"\u001b[Z","kmous":"\u001b[M","XM":"\u001b[?1003%?%p1%{1}%=%th%el%;","acsc":"``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u001b(0","rmacs":"\u001b(B","kRIT":"\u001b[1;2C","kLFT":"\u001b[1;2D","kHOM":"\u001b[1;2H","kEND":"\u001b[1;2F","_setfgbg":"\u001b[3%p1%d;4%p2%dm","_kscu1":"\u001b[1;2A","_kscud1":"\u001b[1;2B","_kccu1":"\u001b[1;5A","_kccud1":"\u001b[1;5B","_kccuf1":"\u001b[1;5C","_kccub1":"\u001b[1;5D","_kmcu1":"\u001b[1;9A","_kmcud1":"\u001b[1;9B","_kmcuf1":"\u001b[1;9C","_kmcub1":"\u001b[1;9D","_kacu1":"\u001b[1;3A","_kacud1":"\u001b[1;3B","_kacuf1":"\u001b[1;3C","_kacub1":"\u001b[1;3D","_kchome":"\u001b[1;5H","_kcend":"\u001b[1;5F","_kahome":"\u001b[1;9H","_kaend":"\u001b[1;9F","_kascu1":"\u001b[1;4A","_kascud1":"\u001b[1;4B","_kascub1":"\u001b[1;4D","_kascuf1":"\u001b[1;4C","_kmscu1":"\u001b[1;10A","_kmscud1":"\u001b[1;10B","_kmscub1":"\u001b[1;10D","_kmscuf1":"\u001b[1;10C","_kcscu1":"\u001b[1;6A","_kcscud1":"\u001b[1;6B","_kcscub1":"\u001b[1;6D","_kcscuf1":"\u001b[1;6C","_kcHOME":"\u001b[1;6H","_kcEND":"\u001b[1;6F","_kaHOME":"\u001b[1;4H","_kaEND":"\u001b[1;4F","_kmHOME":"\u001b[1;10H","_kmEND":"\u001b[1;10F"} -{"name":"xterm-16color","cols":80,"lines":24,"colors":16,"bell":"\u0007","clear":"\u001b[H\u001b[2J","smcup":"\u001b[?1049h","rmcup":"\u001b[?1049l","cnorm":"\u001b[?12l\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b(B\u001b[m","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","setaf":"\u001b[%?%p1%{8}%\u003c%t%p1%{30}%+%e%p1%'R'%+%;%dm","setbg":"\u001b[%?%p1%{8}%\u003c%t%p1%'('%+%e%p1%{92}%+%;%dm","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","kbs":"\u0008","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kf5":"\u001b[15~","kf6":"\u001b[17~","kf7":"\u001b[18~","kf8":"\u001b[19~","kf9":"\u001b[20~","kf10":"\u001b[21~","kf11":"\u001b[23~","kf12":"\u001b[24~","kf13":"\u001b[1;2P","kf14":"\u001b[1;2Q","kf15":"\u001b[1;2R","kf16":"\u001b[1;2S","kf17":"\u001b[15;2~","kf18":"\u001b[17;2~","kf19":"\u001b[18;2~","kf20":"\u001b[19;2~","kf21":"\u001b[20;2~","kf22":"\u001b[21;2~","kf23":"\u001b[23;2~","kf24":"\u001b[24;2~","kf25":"\u001b[1;5P","kf26":"\u001b[1;5Q","kf27":"\u001b[1;5R","kf28":"\u001b[1;5S","kf29":"\u001b[15;5~","kf30":"\u001b[17;5~","kf31":"\u001b[18;5~","kf32":"\u001b[19;5~","kf33":"\u001b[20;5~","kf34":"\u001b[21;5~","kf35":"\u001b[23;5~","kf36":"\u001b[24;5~","kf37":"\u001b[1;6P","kf38":"\u001b[1;6Q","kf39":"\u001b[1;6R","kf40":"\u001b[1;6S","kf41":"\u001b[15;6~","kf42":"\u001b[17;6~","kf43":"\u001b[18;6~","kf44":"\u001b[19;6~","kf45":"\u001b[20;6~","kf46":"\u001b[21;6~","kf47":"\u001b[23;6~","kf48":"\u001b[24;6~","kf49":"\u001b[1;3P","kf50":"\u001b[1;3Q","kf51":"\u001b[1;3R","kf52":"\u001b[1;3S","kf53":"\u001b[15;3~","kf54":"\u001b[17;3~","kf55":"\u001b[18;3~","kf56":"\u001b[19;3~","kf57":"\u001b[20;3~","kf58":"\u001b[21;3~","kf59":"\u001b[23;3~","kf60":"\u001b[24;3~","kf61":"\u001b[1;4P","kf62":"\u001b[1;4Q","kf63":"\u001b[1;4R","kich":"\u001b[2~","kdch":"\u001b[3~","khome":"\u001bOH","kend":"\u001bOF","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC","kcbt":"\u001b[Z","kmous":"\u001b[M","XM":"%?%p1%{1}%=%t%'h'%Pa%e%'l'%Pa%;\u001b[?1000%ga%c\u001b[?1002%ga%c\u001b[?1003%ga%c\u001b[?1006%ga%c","acsc":"``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u001b(0","rmacs":"\u001b(B","kRIT":"\u001b[1;2C","kLFT":"\u001b[1;2D","kHOM":"\u001b[1;2H","kEND":"\u001b[1;2F","_setfgbg":"\u001b[%?%p1%{8}%\u003c%t%p1%{30}%+%e%p1%'R'%+%;%d;%?%p2%{8}%\u003c%t%p2%'('%+%e%p2%{92}%+%;%dm","_kscu1":"\u001b[1;2A","_kscud1":"\u001b[1;2B","_kccu1":"\u001b[1;5A","_kccud1":"\u001b[1;5B","_kccuf1":"\u001b[1;5C","_kccub1":"\u001b[1;5D","_kmcu1":"\u001b[1;9A","_kmcud1":"\u001b[1;9B","_kmcuf1":"\u001b[1;9C","_kmcub1":"\u001b[1;9D","_kacu1":"\u001b[1;3A","_kacud1":"\u001b[1;3B","_kacuf1":"\u001b[1;3C","_kacub1":"\u001b[1;3D","_kchome":"\u001b[1;5H","_kcend":"\u001b[1;5F","_kahome":"\u001b[1;9H","_kaend":"\u001b[1;9F","_kascu1":"\u001b[1;4A","_kascud1":"\u001b[1;4B","_kascub1":"\u001b[1;4D","_kascuf1":"\u001b[1;4C","_kmscu1":"\u001b[1;10A","_kmscud1":"\u001b[1;10B","_kmscub1":"\u001b[1;10D","_kmscuf1":"\u001b[1;10C","_kcscu1":"\u001b[1;6A","_kcscud1":"\u001b[1;6B","_kcscub1":"\u001b[1;6D","_kcscuf1":"\u001b[1;6C","_kcHOME":"\u001b[1;6H","_kcEND":"\u001b[1;6F","_kaHOME":"\u001b[1;4H","_kaEND":"\u001b[1;4F","_kmHOME":"\u001b[1;10H","_kmEND":"\u001b[1;10F"} -{"name":"xterm-24","aliases":["vs100","xterms"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u001b[H\u001b[2J","smcup":"\u001b7\u001b[?47h","rmcup":"\u001b[2J\u001b[?47l\u001b8","sgr0":"\u001b[m","smul":"\u001b[4m","bold":"\u001b[1m","rev":"\u001b[7m","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001b[11~","kf2":"\u001b[12~","kf3":"\u001b[13~","kf4":"\u001b[14~","kf5":"\u001b[15~","kf6":"\u001b[17~","kf7":"\u001b[18~","kf8":"\u001b[19~","kf9":"\u001b[20~","kf10":"\u001b[21~","kf11":"\u001b[23~","kf12":"\u001b[24~","kf13":"\u001b[25~","kf14":"\u001b[26~","kf15":"\u001b[28~","kf16":"\u001b[29~","kf17":"\u001b[31~","kf18":"\u001b[32~","kf19":"\u001b[33~","kf20":"\u001b[34~","kich":"\u001b[2~","kdch":"\u001b[3~","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC","kmous":"\u001b[M","XM":"%?%p1%{1}%=%t%'h'%Pa%e%'l'%Pa%;\u001b[?1000%ga%c\u001b[?1002%ga%c\u001b[?1003%ga%c\u001b[?1006%ga%c","acsc":"``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u000e","rmacs":"\u000f","enacs":"\u001b)0"} -{"name":"xterm-256color","cols":80,"lines":24,"colors":256,"bell":"\u0007","clear":"\u001b[H\u001b[2J","smcup":"\u001b[?1049h","rmcup":"\u001b[?1049l","cnorm":"\u001b[?12l\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b(B\u001b[m","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","setaf":"\u001b[%?%p1%{8}%\u003c%t3%p1%d%e%p1%{16}%\u003c%t9%p1%{8}%-%d%e38;5;%p1%d%;m","setbg":"\u001b[%?%p1%{8}%\u003c%t4%p1%d%e%p1%{16}%\u003c%t10%p1%{8}%-%d%e48;5;%p1%d%;m","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","kbs":"\u0008","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kf5":"\u001b[15~","kf6":"\u001b[17~","kf7":"\u001b[18~","kf8":"\u001b[19~","kf9":"\u001b[20~","kf10":"\u001b[21~","kf11":"\u001b[23~","kf12":"\u001b[24~","kf13":"\u001b[1;2P","kf14":"\u001b[1;2Q","kf15":"\u001b[1;2R","kf16":"\u001b[1;2S","kf17":"\u001b[15;2~","kf18":"\u001b[17;2~","kf19":"\u001b[18;2~","kf20":"\u001b[19;2~","kf21":"\u001b[20;2~","kf22":"\u001b[21;2~","kf23":"\u001b[23;2~","kf24":"\u001b[24;2~","kf25":"\u001b[1;5P","kf26":"\u001b[1;5Q","kf27":"\u001b[1;5R","kf28":"\u001b[1;5S","kf29":"\u001b[15;5~","kf30":"\u001b[17;5~","kf31":"\u001b[18;5~","kf32":"\u001b[19;5~","kf33":"\u001b[20;5~","kf34":"\u001b[21;5~","kf35":"\u001b[23;5~","kf36":"\u001b[24;5~","kf37":"\u001b[1;6P","kf38":"\u001b[1;6Q","kf39":"\u001b[1;6R","kf40":"\u001b[1;6S","kf41":"\u001b[15;6~","kf42":"\u001b[17;6~","kf43":"\u001b[18;6~","kf44":"\u001b[19;6~","kf45":"\u001b[20;6~","kf46":"\u001b[21;6~","kf47":"\u001b[23;6~","kf48":"\u001b[24;6~","kf49":"\u001b[1;3P","kf50":"\u001b[1;3Q","kf51":"\u001b[1;3R","kf52":"\u001b[1;3S","kf53":"\u001b[15;3~","kf54":"\u001b[17;3~","kf55":"\u001b[18;3~","kf56":"\u001b[19;3~","kf57":"\u001b[20;3~","kf58":"\u001b[21;3~","kf59":"\u001b[23;3~","kf60":"\u001b[24;3~","kf61":"\u001b[1;4P","kf62":"\u001b[1;4Q","kf63":"\u001b[1;4R","kich":"\u001b[2~","kdch":"\u001b[3~","khome":"\u001bOH","kend":"\u001bOF","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC","kcbt":"\u001b[Z","kmous":"\u001b[M","XM":"%?%p1%{1}%=%t%'h'%Pa%e%'l'%Pa%;\u001b[?1000%ga%c\u001b[?1002%ga%c\u001b[?1003%ga%c\u001b[?1006%ga%c","acsc":"``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u001b(0","rmacs":"\u001b(B","kRIT":"\u001b[1;2C","kLFT":"\u001b[1;2D","kHOM":"\u001b[1;2H","kEND":"\u001b[1;2F","_setfgbg":"\u001b[%?%p1%{8}%\u003c%t3%p1%d%e%p1%{16}%\u003c%t9%p1%{8}%-%d%e38;5;%p1%d%;;%?%p2%{8}%\u003c%t4%p2%d%e%p2%{16}%\u003c%t10%p2%{8}%-%d%e48;5;%p2%d%;m","_kscu1":"\u001b[1;2A","_kscud1":"\u001b[1;2B","_kccu1":"\u001b[1;5A","_kccud1":"\u001b[1;5B","_kccuf1":"\u001b[1;5C","_kccub1":"\u001b[1;5D","_kmcu1":"\u001b[1;9A","_kmcud1":"\u001b[1;9B","_kmcuf1":"\u001b[1;9C","_kmcub1":"\u001b[1;9D","_kacu1":"\u001b[1;3A","_kacud1":"\u001b[1;3B","_kacuf1":"\u001b[1;3C","_kacub1":"\u001b[1;3D","_kchome":"\u001b[1;5H","_kcend":"\u001b[1;5F","_kahome":"\u001b[1;9H","_kaend":"\u001b[1;9F","_kascu1":"\u001b[1;4A","_kascud1":"\u001b[1;4B","_kascub1":"\u001b[1;4D","_kascuf1":"\u001b[1;4C","_kmscu1":"\u001b[1;10A","_kmscud1":"\u001b[1;10B","_kmscub1":"\u001b[1;10D","_kmscuf1":"\u001b[1;10C","_kcscu1":"\u001b[1;6A","_kcscud1":"\u001b[1;6B","_kcscub1":"\u001b[1;6D","_kcscuf1":"\u001b[1;6C","_kcHOME":"\u001b[1;6H","_kcEND":"\u001b[1;6F","_kaHOME":"\u001b[1;4H","_kaEND":"\u001b[1;4F","_kmHOME":"\u001b[1;10H","_kmEND":"\u001b[1;10F"} -{"name":"xterm-88color","cols":80,"lines":24,"colors":88,"bell":"\u0007","clear":"\u001b[H\u001b[2J","smcup":"\u001b[?1049h","rmcup":"\u001b[?1049l","cnorm":"\u001b[?12l\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b(B\u001b[m","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","setaf":"\u001b[%?%p1%{8}%\u003c%t3%p1%d%e%p1%{16}%\u003c%t9%p1%{8}%-%d%e38;5;%p1%d%;m","setbg":"\u001b[%?%p1%{8}%\u003c%t4%p1%d%e%p1%{16}%\u003c%t10%p1%{8}%-%d%e48;5;%p1%d%;m","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","kbs":"\u0008","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kf5":"\u001b[15~","kf6":"\u001b[17~","kf7":"\u001b[18~","kf8":"\u001b[19~","kf9":"\u001b[20~","kf10":"\u001b[21~","kf11":"\u001b[23~","kf12":"\u001b[24~","kf13":"\u001b[1;2P","kf14":"\u001b[1;2Q","kf15":"\u001b[1;2R","kf16":"\u001b[1;2S","kf17":"\u001b[15;2~","kf18":"\u001b[17;2~","kf19":"\u001b[18;2~","kf20":"\u001b[19;2~","kf21":"\u001b[20;2~","kf22":"\u001b[21;2~","kf23":"\u001b[23;2~","kf24":"\u001b[24;2~","kf25":"\u001b[1;5P","kf26":"\u001b[1;5Q","kf27":"\u001b[1;5R","kf28":"\u001b[1;5S","kf29":"\u001b[15;5~","kf30":"\u001b[17;5~","kf31":"\u001b[18;5~","kf32":"\u001b[19;5~","kf33":"\u001b[20;5~","kf34":"\u001b[21;5~","kf35":"\u001b[23;5~","kf36":"\u001b[24;5~","kf37":"\u001b[1;6P","kf38":"\u001b[1;6Q","kf39":"\u001b[1;6R","kf40":"\u001b[1;6S","kf41":"\u001b[15;6~","kf42":"\u001b[17;6~","kf43":"\u001b[18;6~","kf44":"\u001b[19;6~","kf45":"\u001b[20;6~","kf46":"\u001b[21;6~","kf47":"\u001b[23;6~","kf48":"\u001b[24;6~","kf49":"\u001b[1;3P","kf50":"\u001b[1;3Q","kf51":"\u001b[1;3R","kf52":"\u001b[1;3S","kf53":"\u001b[15;3~","kf54":"\u001b[17;3~","kf55":"\u001b[18;3~","kf56":"\u001b[19;3~","kf57":"\u001b[20;3~","kf58":"\u001b[21;3~","kf59":"\u001b[23;3~","kf60":"\u001b[24;3~","kf61":"\u001b[1;4P","kf62":"\u001b[1;4Q","kf63":"\u001b[1;4R","kich":"\u001b[2~","kdch":"\u001b[3~","khome":"\u001bOH","kend":"\u001bOF","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC","kcbt":"\u001b[Z","kmous":"\u001b[M","XM":"%?%p1%{1}%=%t%'h'%Pa%e%'l'%Pa%;\u001b[?1000%ga%c\u001b[?1002%ga%c\u001b[?1003%ga%c\u001b[?1006%ga%c","acsc":"``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u001b(0","rmacs":"\u001b(B","kRIT":"\u001b[1;2C","kLFT":"\u001b[1;2D","kHOM":"\u001b[1;2H","kEND":"\u001b[1;2F","_setfgbg":"\u001b[%?%p1%{8}%\u003c%t3%p1%d%e%p1%{16}%\u003c%t9%p1%{8}%-%d%e38;5;%p1%d%;;%?%p2%{8}%\u003c%t4%p2%d%e%p2%{16}%\u003c%t10%p2%{8}%-%d%e48;5;%p2%d%;m","_kscu1":"\u001b[1;2A","_kscud1":"\u001b[1;2B","_kccu1":"\u001b[1;5A","_kccud1":"\u001b[1;5B","_kccuf1":"\u001b[1;5C","_kccub1":"\u001b[1;5D","_kmcu1":"\u001b[1;9A","_kmcud1":"\u001b[1;9B","_kmcuf1":"\u001b[1;9C","_kmcub1":"\u001b[1;9D","_kacu1":"\u001b[1;3A","_kacud1":"\u001b[1;3B","_kacuf1":"\u001b[1;3C","_kacub1":"\u001b[1;3D","_kchome":"\u001b[1;5H","_kcend":"\u001b[1;5F","_kahome":"\u001b[1;9H","_kaend":"\u001b[1;9F","_kascu1":"\u001b[1;4A","_kascud1":"\u001b[1;4B","_kascub1":"\u001b[1;4D","_kascuf1":"\u001b[1;4C","_kmscu1":"\u001b[1;10A","_kmscud1":"\u001b[1;10B","_kmscub1":"\u001b[1;10D","_kmscuf1":"\u001b[1;10C","_kcscu1":"\u001b[1;6A","_kcscud1":"\u001b[1;6B","_kcscub1":"\u001b[1;6D","_kcscuf1":"\u001b[1;6C","_kcHOME":"\u001b[1;6H","_kcEND":"\u001b[1;6F","_kaHOME":"\u001b[1;4H","_kaEND":"\u001b[1;4F","_kmHOME":"\u001b[1;10H","_kmEND":"\u001b[1;10F"} -{"name":"xterm-8bit","cols":80,"lines":24,"colors":8,"bell":"\u0007","clear":"\ufffdH\ufffd2J","smcup":"\ufffd?1049h","rmcup":"\ufffd?1049l","cnorm":"\ufffd?25l\ufffd?25h","civis":"\ufffd?25l","sgr0":"\ufffd0m\u001b(B","smul":"\ufffd4m","bold":"\ufffd1m","blink":"\ufffd5m","rev":"\ufffd7m","smkx":"\ufffd?1h\u001b=","rmkx":"\ufffd?1l\u001b\u003e","setaf":"\ufffd3%p1%dm","setbg":"\ufffd4%p1%dm","cup":"\ufffd%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\ufffdA","kbs":"\u0008","kf1":"\ufffd11~","kf2":"\ufffd12~","kf3":"\ufffd13~","kf4":"\ufffd14~","kf5":"\ufffd15~","kf6":"\ufffd17~","kf7":"\ufffd18~","kf8":"\ufffd19~","kf9":"\ufffd20~","kf10":"\ufffd21~","kf11":"\ufffd23~","kf12":"\ufffd24~","kf13":"\ufffd25~","kf14":"\ufffd26~","kf15":"\ufffd28~","kf16":"\ufffd29~","kf17":"\ufffd31~","kf18":"\ufffd32~","kf19":"\ufffd33~","kf20":"\ufffd34~","kich":"\ufffd2~","kdch":"\ufffd3~","khome":"\ufffd1~","kend":"\ufffd4~","kpp":"\ufffd5~","knp":"\ufffd6~","kcuu1":"\ufffdA","kcud1":"\ufffdB","kcub1":"\ufffdD","kcuf1":"\ufffdC","kcbt":"\ufffdZ","kmous":"\ufffdM","XM":"%?%p1%{1}%=%t%'h'%Pa%e%'l'%Pa%;\u001b[?1000%ga%c\u001b[?1002%ga%c\u001b[?1003%ga%c\u001b[?1006%ga%c","acsc":"``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u001b(0","rmacs":"\u001b(B"} -{"name":"xterm-basic","cols":80,"lines":24,"colors":8,"bell":"\u0007","clear":"\u001b[H\u001b[2J","smcup":"\u001b[?1049h","rmcup":"\u001b[?1049l","cnorm":"\u001b[?12l\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b(B\u001b[m","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","setaf":"\u001b[3%p1%dm","setbg":"\u001b[4%p1%dm","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kmous":"\u001b[M","XM":"%?%p1%{1}%=%t%'h'%Pa%e%'l'%Pa%;\u001b[?1000%ga%c\u001b[?1002%ga%c\u001b[?1003%ga%c\u001b[?1006%ga%c","acsc":"``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u001b(0","rmacs":"\u001b(B","_setfgbg":"\u001b[3%p1%d;4%p2%dm"} -{"name":"xterm-bold","cols":80,"lines":24,"bell":"\u0007","clear":"\u001b[H\u001b[2J","smcup":"\u001b7\u001b[?47h","rmcup":"\u001b[2J\u001b[?47l\u001b8","sgr0":"\u001b[m","smul":"\u001b[1m","bold":"\u001b[1m","rev":"\u001b[7m","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001b[11~","kf2":"\u001b[12~","kf3":"\u001b[13~","kf4":"\u001b[14~","kf5":"\u001b[15~","kf6":"\u001b[17~","kf7":"\u001b[18~","kf8":"\u001b[19~","kf9":"\u001b[20~","kf10":"\u001b[21~","kf11":"\u001b[23~","kf12":"\u001b[24~","kf13":"\u001b[25~","kf14":"\u001b[26~","kf15":"\u001b[28~","kf16":"\u001b[29~","kf17":"\u001b[31~","kf18":"\u001b[32~","kf19":"\u001b[33~","kf20":"\u001b[34~","kich":"\u001b[2~","kdch":"\u001b[3~","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC","kmous":"\u001b[M","XM":"%?%p1%{1}%=%t%'h'%Pa%e%'l'%Pa%;\u001b[?1000%ga%c\u001b[?1002%ga%c\u001b[?1003%ga%c\u001b[?1006%ga%c","acsc":"``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u000e","rmacs":"\u000f","enacs":"\u001b)0"} -{"name":"xterm-color","aliases":["nxterm"],"cols":80,"lines":24,"colors":8,"bell":"\u0007","clear":"\u001b[H\u001b[2J","smcup":"\u001b7\u001b[?47h","rmcup":"\u001b[2J\u001b[?47l\u001b8","sgr0":"\u001b[m","smul":"\u001b[4m","bold":"\u001b[1m","rev":"\u001b[7m","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","setaf":"\u001b[3%p1%dm","setbg":"\u001b[4%p1%dm","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001b[11~","kf2":"\u001b[12~","kf3":"\u001b[13~","kf4":"\u001b[14~","kf5":"\u001b[15~","kf6":"\u001b[17~","kf7":"\u001b[18~","kf8":"\u001b[19~","kf9":"\u001b[20~","kf10":"\u001b[21~","kf11":"\u001b[23~","kf12":"\u001b[24~","kf13":"\u001b[25~","kf14":"\u001b[26~","kf15":"\u001b[28~","kf16":"\u001b[29~","kf17":"\u001b[31~","kf18":"\u001b[32~","kf19":"\u001b[33~","kf20":"\u001b[34~","kich":"\u001b[2~","kdch":"\u001b[3~","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC","kmous":"\u001b[M","XM":"%?%p1%{1}%=%t%'h'%Pa%e%'l'%Pa%;\u001b[?1000%ga%c\u001b[?1002%ga%c\u001b[?1003%ga%c\u001b[?1006%ga%c","acsc":"``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u000e","rmacs":"\u000f","enacs":"\u001b)0","_setfgbg":"\u001b[3%p1%d;4%p2%dm"} -{"name":"xterm-hp","cols":80,"lines":24,"colors":8,"bell":"\u0007","clear":"\u001b[H\u001b[2J","smcup":"\u001b[?1049h","rmcup":"\u001b[?1049l","cnorm":"\u001b[?12l\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b(B\u001b[m","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","setaf":"\u001b[3%p1%dm","setbg":"\u001b[4%p1%dm","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001bp","kf2":"\u001bq","kf3":"\u001br","kf4":"\u001bs","kf5":"\u001bt","kf6":"\u001bu","kf7":"\u001bv","kf8":"\u001bw","kich":"\u001bQ","kdch":"\u001bP","khome":"\u001bh","kend":"\u001bF","kpp":"\u001bT","knp":"\u001bS","kcuu1":"\u001bA","kcud1":"\u001bB","kcub1":"\u001bD","kcuf1":"\u001bC","kclr":"\u001bJ","kmous":"\u001b[M","XM":"%?%p1%{1}%=%t%'h'%Pa%e%'l'%Pa%;\u001b[?1000%ga%c\u001b[?1002%ga%c\u001b[?1003%ga%c\u001b[?1006%ga%c","acsc":"``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u001b(0","rmacs":"\u001b(B","_setfgbg":"\u001b[3%p1%d;4%p2%dm"} -{"name":"xterm-new","cols":80,"lines":24,"colors":8,"bell":"\u0007","clear":"\u001b[H\u001b[2J","smcup":"\u001b[?1049h","rmcup":"\u001b[?1049l","cnorm":"\u001b[?12l\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b(B\u001b[m","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","setaf":"\u001b[3%p1%dm","setbg":"\u001b[4%p1%dm","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","kbs":"\u0008","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kf5":"\u001b[15~","kf6":"\u001b[17~","kf7":"\u001b[18~","kf8":"\u001b[19~","kf9":"\u001b[20~","kf10":"\u001b[21~","kf11":"\u001b[23~","kf12":"\u001b[24~","kf13":"\u001b[1;2P","kf14":"\u001b[1;2Q","kf15":"\u001b[1;2R","kf16":"\u001b[1;2S","kf17":"\u001b[15;2~","kf18":"\u001b[17;2~","kf19":"\u001b[18;2~","kf20":"\u001b[19;2~","kf21":"\u001b[20;2~","kf22":"\u001b[21;2~","kf23":"\u001b[23;2~","kf24":"\u001b[24;2~","kf25":"\u001b[1;5P","kf26":"\u001b[1;5Q","kf27":"\u001b[1;5R","kf28":"\u001b[1;5S","kf29":"\u001b[15;5~","kf30":"\u001b[17;5~","kf31":"\u001b[18;5~","kf32":"\u001b[19;5~","kf33":"\u001b[20;5~","kf34":"\u001b[21;5~","kf35":"\u001b[23;5~","kf36":"\u001b[24;5~","kf37":"\u001b[1;6P","kf38":"\u001b[1;6Q","kf39":"\u001b[1;6R","kf40":"\u001b[1;6S","kf41":"\u001b[15;6~","kf42":"\u001b[17;6~","kf43":"\u001b[18;6~","kf44":"\u001b[19;6~","kf45":"\u001b[20;6~","kf46":"\u001b[21;6~","kf47":"\u001b[23;6~","kf48":"\u001b[24;6~","kf49":"\u001b[1;3P","kf50":"\u001b[1;3Q","kf51":"\u001b[1;3R","kf52":"\u001b[1;3S","kf53":"\u001b[15;3~","kf54":"\u001b[17;3~","kf55":"\u001b[18;3~","kf56":"\u001b[19;3~","kf57":"\u001b[20;3~","kf58":"\u001b[21;3~","kf59":"\u001b[23;3~","kf60":"\u001b[24;3~","kf61":"\u001b[1;4P","kf62":"\u001b[1;4Q","kf63":"\u001b[1;4R","kich":"\u001b[2~","kdch":"\u001b[3~","khome":"\u001bOH","kend":"\u001bOF","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC","kcbt":"\u001b[Z","kmous":"\u001b[M","XM":"%?%p1%{1}%=%t%'h'%Pa%e%'l'%Pa%;\u001b[?1000%ga%c\u001b[?1002%ga%c\u001b[?1003%ga%c\u001b[?1006%ga%c","acsc":"``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u001b(0","rmacs":"\u001b(B","kRIT":"\u001b[1;2C","kLFT":"\u001b[1;2D","kHOM":"\u001b[1;2H","kEND":"\u001b[1;2F","_setfgbg":"\u001b[3%p1%d;4%p2%dm","_kscu1":"\u001b[1;2A","_kscud1":"\u001b[1;2B","_kccu1":"\u001b[1;5A","_kccud1":"\u001b[1;5B","_kccuf1":"\u001b[1;5C","_kccub1":"\u001b[1;5D","_kmcu1":"\u001b[1;9A","_kmcud1":"\u001b[1;9B","_kmcuf1":"\u001b[1;9C","_kmcub1":"\u001b[1;9D","_kacu1":"\u001b[1;3A","_kacud1":"\u001b[1;3B","_kacuf1":"\u001b[1;3C","_kacub1":"\u001b[1;3D","_kchome":"\u001b[1;5H","_kcend":"\u001b[1;5F","_kahome":"\u001b[1;9H","_kaend":"\u001b[1;9F","_kascu1":"\u001b[1;4A","_kascud1":"\u001b[1;4B","_kascub1":"\u001b[1;4D","_kascuf1":"\u001b[1;4C","_kmscu1":"\u001b[1;10A","_kmscud1":"\u001b[1;10B","_kmscub1":"\u001b[1;10D","_kmscuf1":"\u001b[1;10C","_kcscu1":"\u001b[1;6A","_kcscud1":"\u001b[1;6B","_kcscub1":"\u001b[1;6D","_kcscuf1":"\u001b[1;6C","_kcHOME":"\u001b[1;6H","_kcEND":"\u001b[1;6F","_kaHOME":"\u001b[1;4H","_kaEND":"\u001b[1;4F","_kmHOME":"\u001b[1;10H","_kmEND":"\u001b[1;10F"} -{"name":"xterm-nic","cols":80,"lines":24,"colors":8,"bell":"\u0007","clear":"\u001b[H\u001b[2J","smcup":"\u001b[?1049h","rmcup":"\u001b[?1049l","cnorm":"\u001b[?12l\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b(B\u001b[m","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","setaf":"\u001b[3%p1%dm","setbg":"\u001b[4%p1%dm","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","kbs":"\u0008","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kf5":"\u001b[15~","kf6":"\u001b[17~","kf7":"\u001b[18~","kf8":"\u001b[19~","kf9":"\u001b[20~","kf10":"\u001b[21~","kf11":"\u001b[23~","kf12":"\u001b[24~","kf13":"\u001b[1;2P","kf14":"\u001b[1;2Q","kf15":"\u001b[1;2R","kf16":"\u001b[1;2S","kf17":"\u001b[15;2~","kf18":"\u001b[17;2~","kf19":"\u001b[18;2~","kf20":"\u001b[19;2~","kf21":"\u001b[20;2~","kf22":"\u001b[21;2~","kf23":"\u001b[23;2~","kf24":"\u001b[24;2~","kf25":"\u001b[1;5P","kf26":"\u001b[1;5Q","kf27":"\u001b[1;5R","kf28":"\u001b[1;5S","kf29":"\u001b[15;5~","kf30":"\u001b[17;5~","kf31":"\u001b[18;5~","kf32":"\u001b[19;5~","kf33":"\u001b[20;5~","kf34":"\u001b[21;5~","kf35":"\u001b[23;5~","kf36":"\u001b[24;5~","kf37":"\u001b[1;6P","kf38":"\u001b[1;6Q","kf39":"\u001b[1;6R","kf40":"\u001b[1;6S","kf41":"\u001b[15;6~","kf42":"\u001b[17;6~","kf43":"\u001b[18;6~","kf44":"\u001b[19;6~","kf45":"\u001b[20;6~","kf46":"\u001b[21;6~","kf47":"\u001b[23;6~","kf48":"\u001b[24;6~","kf49":"\u001b[1;3P","kf50":"\u001b[1;3Q","kf51":"\u001b[1;3R","kf52":"\u001b[1;3S","kf53":"\u001b[15;3~","kf54":"\u001b[17;3~","kf55":"\u001b[18;3~","kf56":"\u001b[19;3~","kf57":"\u001b[20;3~","kf58":"\u001b[21;3~","kf59":"\u001b[23;3~","kf60":"\u001b[24;3~","kf61":"\u001b[1;4P","kf62":"\u001b[1;4Q","kf63":"\u001b[1;4R","kich":"\u001b[2~","kdch":"\u001b[3~","khome":"\u001bOH","kend":"\u001bOF","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC","kcbt":"\u001b[Z","kmous":"\u001b[M","XM":"%?%p1%{1}%=%t%'h'%Pa%e%'l'%Pa%;\u001b[?1000%ga%c\u001b[?1002%ga%c\u001b[?1003%ga%c\u001b[?1006%ga%c","acsc":"``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u001b(0","rmacs":"\u001b(B","kRIT":"\u001b[1;2C","kLFT":"\u001b[1;2D","kHOM":"\u001b[1;2H","kEND":"\u001b[1;2F","_setfgbg":"\u001b[3%p1%d;4%p2%dm","_kscu1":"\u001b[1;2A","_kscud1":"\u001b[1;2B","_kccu1":"\u001b[1;5A","_kccud1":"\u001b[1;5B","_kccuf1":"\u001b[1;5C","_kccub1":"\u001b[1;5D","_kmcu1":"\u001b[1;9A","_kmcud1":"\u001b[1;9B","_kmcuf1":"\u001b[1;9C","_kmcub1":"\u001b[1;9D","_kacu1":"\u001b[1;3A","_kacud1":"\u001b[1;3B","_kacuf1":"\u001b[1;3C","_kacub1":"\u001b[1;3D","_kchome":"\u001b[1;5H","_kcend":"\u001b[1;5F","_kahome":"\u001b[1;9H","_kaend":"\u001b[1;9F","_kascu1":"\u001b[1;4A","_kascud1":"\u001b[1;4B","_kascub1":"\u001b[1;4D","_kascuf1":"\u001b[1;4C","_kmscu1":"\u001b[1;10A","_kmscud1":"\u001b[1;10B","_kmscub1":"\u001b[1;10D","_kmscuf1":"\u001b[1;10C","_kcscu1":"\u001b[1;6A","_kcscud1":"\u001b[1;6B","_kcscub1":"\u001b[1;6D","_kcscuf1":"\u001b[1;6C","_kcHOME":"\u001b[1;6H","_kcEND":"\u001b[1;6F","_kaHOME":"\u001b[1;4H","_kaEND":"\u001b[1;4F","_kmHOME":"\u001b[1;10H","_kmEND":"\u001b[1;10F"} -{"name":"xterm-noapp","cols":80,"lines":24,"colors":8,"bell":"\u0007","clear":"\u001b[H\u001b[2J","cnorm":"\u001b[?12l\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b(B\u001b[m","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","smkx":"\u001b=","rmkx":"\u001b\u003e","setaf":"\u001b[3%p1%dm","setbg":"\u001b[4%p1%dm","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","kbs":"\u0008","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kf5":"\u001b[15~","kf6":"\u001b[17~","kf7":"\u001b[18~","kf8":"\u001b[19~","kf9":"\u001b[20~","kf10":"\u001b[21~","kf11":"\u001b[23~","kf12":"\u001b[24~","kf13":"\u001b[1;2P","kf14":"\u001b[1;2Q","kf15":"\u001b[1;2R","kf16":"\u001b[1;2S","kf17":"\u001b[15;2~","kf18":"\u001b[17;2~","kf19":"\u001b[18;2~","kf20":"\u001b[19;2~","kf21":"\u001b[20;2~","kf22":"\u001b[21;2~","kf23":"\u001b[23;2~","kf24":"\u001b[24;2~","kf25":"\u001b[1;5P","kf26":"\u001b[1;5Q","kf27":"\u001b[1;5R","kf28":"\u001b[1;5S","kf29":"\u001b[15;5~","kf30":"\u001b[17;5~","kf31":"\u001b[18;5~","kf32":"\u001b[19;5~","kf33":"\u001b[20;5~","kf34":"\u001b[21;5~","kf35":"\u001b[23;5~","kf36":"\u001b[24;5~","kf37":"\u001b[1;6P","kf38":"\u001b[1;6Q","kf39":"\u001b[1;6R","kf40":"\u001b[1;6S","kf41":"\u001b[15;6~","kf42":"\u001b[17;6~","kf43":"\u001b[18;6~","kf44":"\u001b[19;6~","kf45":"\u001b[20;6~","kf46":"\u001b[21;6~","kf47":"\u001b[23;6~","kf48":"\u001b[24;6~","kf49":"\u001b[1;3P","kf50":"\u001b[1;3Q","kf51":"\u001b[1;3R","kf52":"\u001b[1;3S","kf53":"\u001b[15;3~","kf54":"\u001b[17;3~","kf55":"\u001b[18;3~","kf56":"\u001b[19;3~","kf57":"\u001b[20;3~","kf58":"\u001b[21;3~","kf59":"\u001b[23;3~","kf60":"\u001b[24;3~","kf61":"\u001b[1;4P","kf62":"\u001b[1;4Q","kf63":"\u001b[1;4R","kich":"\u001b[2~","kdch":"\u001b[3~","khome":"\u001b[H","kend":"\u001b[F","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kcbt":"\u001b[Z","kmous":"\u001b[M","XM":"%?%p1%{1}%=%t%'h'%Pa%e%'l'%Pa%;\u001b[?1000%ga%c\u001b[?1002%ga%c\u001b[?1003%ga%c\u001b[?1006%ga%c","acsc":"``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u001b(0","rmacs":"\u001b(B","kRIT":"\u001b[1;2C","kLFT":"\u001b[1;2D","kHOM":"\u001b[1;2H","kEND":"\u001b[1;2F","_setfgbg":"\u001b[3%p1%d;4%p2%dm","_kscu1":"\u001b[1;2A","_kscud1":"\u001b[1;2B","_kccu1":"\u001b[1;5A","_kccud1":"\u001b[1;5B","_kccuf1":"\u001b[1;5C","_kccub1":"\u001b[1;5D","_kmcu1":"\u001b[1;9A","_kmcud1":"\u001b[1;9B","_kmcuf1":"\u001b[1;9C","_kmcub1":"\u001b[1;9D","_kacu1":"\u001b[1;3A","_kacud1":"\u001b[1;3B","_kacuf1":"\u001b[1;3C","_kacub1":"\u001b[1;3D","_kchome":"\u001b[1;5H","_kcend":"\u001b[1;5F","_kahome":"\u001b[1;9H","_kaend":"\u001b[1;9F","_kascu1":"\u001b[1;4A","_kascud1":"\u001b[1;4B","_kascub1":"\u001b[1;4D","_kascuf1":"\u001b[1;4C","_kmscu1":"\u001b[1;10A","_kmscud1":"\u001b[1;10B","_kmscub1":"\u001b[1;10D","_kmscuf1":"\u001b[1;10C","_kcscu1":"\u001b[1;6A","_kcscud1":"\u001b[1;6B","_kcscub1":"\u001b[1;6D","_kcscuf1":"\u001b[1;6C","_kcHOME":"\u001b[1;6H","_kcEND":"\u001b[1;6F","_kaHOME":"\u001b[1;4H","_kaEND":"\u001b[1;4F","_kmHOME":"\u001b[1;10H","_kmEND":"\u001b[1;10F"} -{"name":"xterm-pcolor","cols":80,"lines":24,"colors":8,"bell":"\u0007","clear":"\u001b[H\u001b[2J","smcup":"\u001b[?1049h","rmcup":"\u001b[?1049l","cnorm":"\u001b[?12l\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b(B\u001b[m","smul":"\u001b[4m\u001b[42m","bold":"\u001b[1m\u001b[43m","blink":"\u001b[5m","rev":"\u001b[7m\u001b[34m","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","setaf":"\u001b[3%p1%dm","setbg":"\u001b[4%p1%dm","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","kbs":"\u0008","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kf5":"\u001b[15~","kf6":"\u001b[17~","kf7":"\u001b[18~","kf8":"\u001b[19~","kf9":"\u001b[20~","kf10":"\u001b[21~","kf11":"\u001b[23~","kf12":"\u001b[24~","kf13":"\u001b[1;2P","kf14":"\u001b[1;2Q","kf15":"\u001b[1;2R","kf16":"\u001b[1;2S","kf17":"\u001b[15;2~","kf18":"\u001b[17;2~","kf19":"\u001b[18;2~","kf20":"\u001b[19;2~","kf21":"\u001b[20;2~","kf22":"\u001b[21;2~","kf23":"\u001b[23;2~","kf24":"\u001b[24;2~","kf25":"\u001b[1;5P","kf26":"\u001b[1;5Q","kf27":"\u001b[1;5R","kf28":"\u001b[1;5S","kf29":"\u001b[15;5~","kf30":"\u001b[17;5~","kf31":"\u001b[18;5~","kf32":"\u001b[19;5~","kf33":"\u001b[20;5~","kf34":"\u001b[21;5~","kf35":"\u001b[23;5~","kf36":"\u001b[24;5~","kf37":"\u001b[1;6P","kf38":"\u001b[1;6Q","kf39":"\u001b[1;6R","kf40":"\u001b[1;6S","kf41":"\u001b[15;6~","kf42":"\u001b[17;6~","kf43":"\u001b[18;6~","kf44":"\u001b[19;6~","kf45":"\u001b[20;6~","kf46":"\u001b[21;6~","kf47":"\u001b[23;6~","kf48":"\u001b[24;6~","kf49":"\u001b[1;3P","kf50":"\u001b[1;3Q","kf51":"\u001b[1;3R","kf52":"\u001b[1;3S","kf53":"\u001b[15;3~","kf54":"\u001b[17;3~","kf55":"\u001b[18;3~","kf56":"\u001b[19;3~","kf57":"\u001b[20;3~","kf58":"\u001b[21;3~","kf59":"\u001b[23;3~","kf60":"\u001b[24;3~","kf61":"\u001b[1;4P","kf62":"\u001b[1;4Q","kf63":"\u001b[1;4R","kich":"\u001b[2~","kdch":"\u001b[3~","khome":"\u001bOH","kend":"\u001bOF","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC","kcbt":"\u001b[Z","kmous":"\u001b[M","XM":"%?%p1%{1}%=%t%'h'%Pa%e%'l'%Pa%;\u001b[?1000%ga%c\u001b[?1002%ga%c\u001b[?1003%ga%c\u001b[?1006%ga%c","acsc":"``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u001b(0","rmacs":"\u001b(B","enacs":"\u001b)0","kRIT":"\u001b[1;2C","kLFT":"\u001b[1;2D","kHOM":"\u001b[1;2H","kEND":"\u001b[1;2F","_setfgbg":"\u001b[3%p1%d;4%p2%dm","_kscu1":"\u001b[1;2A","_kscud1":"\u001b[1;2B","_kccu1":"\u001b[1;5A","_kccud1":"\u001b[1;5B","_kccuf1":"\u001b[1;5C","_kccub1":"\u001b[1;5D","_kmcu1":"\u001b[1;9A","_kmcud1":"\u001b[1;9B","_kmcuf1":"\u001b[1;9C","_kmcub1":"\u001b[1;9D","_kacu1":"\u001b[1;3A","_kacud1":"\u001b[1;3B","_kacuf1":"\u001b[1;3C","_kacub1":"\u001b[1;3D","_kchome":"\u001b[1;5H","_kcend":"\u001b[1;5F","_kahome":"\u001b[1;9H","_kaend":"\u001b[1;9F","_kascu1":"\u001b[1;4A","_kascud1":"\u001b[1;4B","_kascub1":"\u001b[1;4D","_kascuf1":"\u001b[1;4C","_kmscu1":"\u001b[1;10A","_kmscud1":"\u001b[1;10B","_kmscub1":"\u001b[1;10D","_kmscuf1":"\u001b[1;10C","_kcscu1":"\u001b[1;6A","_kcscud1":"\u001b[1;6B","_kcscub1":"\u001b[1;6D","_kcscuf1":"\u001b[1;6C","_kcHOME":"\u001b[1;6H","_kcEND":"\u001b[1;6F","_kaHOME":"\u001b[1;4H","_kaEND":"\u001b[1;4F","_kmHOME":"\u001b[1;10H","_kmEND":"\u001b[1;10F"} -{"name":"xterm-r5","cols":80,"lines":24,"bell":"\u0007","clear":"\u001b[H\u001b[2J","sgr0":"\u001b[m","smul":"\u001b[4m","bold":"\u001b[1m","rev":"\u001b[7m","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001b[11~","kf2":"\u001b[12~","kf3":"\u001b[13~","kf4":"\u001b[14~","kf5":"\u001b[15~","kf6":"\u001b[17~","kf7":"\u001b[18~","kf8":"\u001b[19~","kf9":"\u001b[20~","kf10":"\u001b[21~","kf11":"\u001b[23~","kf12":"\u001b[24~","kich":"\u001b[2~","kdch":"\u001b[3~","khome":"\u001b[1~","kend":"\u001b[4~","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC","kmous":"\u001b[M","XM":"%?%p1%{1}%=%t%'h'%Pa%e%'l'%Pa%;\u001b[?1000%ga%c\u001b[?1002%ga%c\u001b[?1003%ga%c\u001b[?1006%ga%c"} -{"name":"xterm-r6","aliases":["xterm-old"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u001b[H\u001b[2J","smcup":"\u001b7\u001b[?47h","rmcup":"\u001b[2J\u001b[?47l\u001b8","sgr0":"\u001b[m","smul":"\u001b[4m","bold":"\u001b[1m","rev":"\u001b[7m","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001b[11~","kf2":"\u001b[12~","kf3":"\u001b[13~","kf4":"\u001b[14~","kf5":"\u001b[15~","kf6":"\u001b[17~","kf7":"\u001b[18~","kf8":"\u001b[19~","kf9":"\u001b[20~","kf10":"\u001b[21~","kf11":"\u001b[23~","kf12":"\u001b[24~","kf13":"\u001b[25~","kf14":"\u001b[26~","kf15":"\u001b[28~","kf16":"\u001b[29~","kf17":"\u001b[31~","kf18":"\u001b[32~","kf19":"\u001b[33~","kf20":"\u001b[34~","kich":"\u001b[2~","kdch":"\u001b[3~","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC","kmous":"\u001b[M","XM":"%?%p1%{1}%=%t%'h'%Pa%e%'l'%Pa%;\u001b[?1000%ga%c\u001b[?1002%ga%c\u001b[?1003%ga%c\u001b[?1006%ga%c","acsc":"``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u000e","rmacs":"\u000f","enacs":"\u001b)0"} -{"name":"xterm-sco","cols":80,"lines":24,"colors":8,"bell":"\u0007","clear":"\u001b[H\u001b[2J","smcup":"\u001b[?1049h","rmcup":"\u001b[?1049l","cnorm":"\u001b[?12l\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b(B\u001b[m","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","setaf":"\u001b[3%p1%dm","setbg":"\u001b[4%p1%dm","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001b[M","kf2":"\u001b[N","kf3":"\u001b[O","kf4":"\u001b[P","kf5":"\u001b[Q","kf6":"\u001b[R","kf7":"\u001b[S","kf8":"\u001b[T","kf9":"\u001b[U","kf10":"\u001b[V","kf11":"\u001b[W","kf12":"\u001b[X","kf13":"\u001b[Y","kf14":"\u001b[Z","kf15":"\u001b[a","kf16":"\u001b[b","kf17":"\u001b[c","kf18":"\u001b[d","kf19":"\u001b[e","kf20":"\u001b[f","kf21":"\u001b[g","kf22":"\u001b[h","kf23":"\u001b[i","kf24":"\u001b[j","kf25":"\u001b[k","kf26":"\u001b[l","kf27":"\u001b[m","kf28":"\u001b[n","kf29":"\u001b[o","kf30":"\u001b[p","kf31":"\u001b[q","kf32":"\u001b[r","kf33":"\u001b[s","kf34":"\u001b[t","kf35":"\u001b[u","kf36":"\u001b[v","kf37":"\u001b[w","kf38":"\u001b[x","kf39":"\u001b[y","kf40":"\u001b[z","kf41":"\u001b[@","kf42":"\u001b[[","kf43":"\u001b[\\","kf44":"\u001b[]","kf45":"\u001b[^","kf46":"\u001b[_","kf47":"\u001b[`","kf48":"\u001b[{","kich":"\u001b[L","kdch":"","khome":"\u001b[H","kend":"\u001b[F","kpp":"\u001b[I","knp":"\u001b[G","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","kmous":"\u001b[\u003eM","XM":"%?%p1%{1}%=%t%'h'%Pa%e%'l'%Pa%;\u001b[?1000%ga%c\u001b[?1002%ga%c\u001b[?1003%ga%c\u001b[?1006%ga%c","acsc":"``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u001b(0","rmacs":"\u001b(B","_setfgbg":"\u001b[3%p1%d;4%p2%dm"} -{"name":"xterm-sun","cols":80,"lines":24,"colors":8,"bell":"\u0007","clear":"\u001b[H\u001b[2J","smcup":"\u001b[?1049h","rmcup":"\u001b[?1049l","cnorm":"\u001b[?12l\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b(B\u001b[m","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","setaf":"\u001b[3%p1%dm","setbg":"\u001b[4%p1%dm","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001b[224z","kf2":"\u001b[225z","kf3":"\u001b[226z","kf4":"\u001b[227z","kf5":"\u001b[228z","kf6":"\u001b[229z","kf7":"\u001b[230z","kf8":"\u001b[231z","kf9":"\u001b[232z","kf10":"\u001b[233z","kf11":"\u001b[192z","kf12":"\u001b[193z","kf13":"\u001b[194z","kf14":"\u001b[195z","kf15":"\u001b[196z","kf17":"\u001b[198z","kf18":"\u001b[199z","kf19":"\u001b[200z","kf20":"\u001b[201z","kf31":"\u001b[208z","kf32":"\u001b[209z","kf33":"\u001b[210z","kf34":"\u001b[211z","kf35":"\u001b[212z","kf36":"\u001b[213z","kf38":"\u001b[215z","kf40":"\u001b[217z","kf42":"\u001b[219z","kf44":"\u001b[221z","kf45":"\u001b[222z","kf46":"\u001b[234z","kf47":"\u001b[235z","kich":"\u001b[2z","kdch":"\u001b[3z","khome":"\u001b[214z","kend":"\u001b[220z","khlp":"\u001b[196z","kpp":"\u001b[216z","knp":"\u001b[222z","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC","kmous":"\u001b[M","XM":"%?%p1%{1}%=%t%'h'%Pa%e%'l'%Pa%;\u001b[?1000%ga%c\u001b[?1002%ga%c\u001b[?1003%ga%c\u001b[?1006%ga%c","acsc":"``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u001b(0","rmacs":"\u001b(B","_setfgbg":"\u001b[3%p1%d;4%p2%dm"} -{"name":"xterm-vt220","cols":80,"lines":24,"colors":8,"bell":"\u0007","clear":"\u001b[H\u001b[2J","smcup":"\u001b[?1049h","rmcup":"\u001b[?1049l","cnorm":"\u001b[?12l\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b(B\u001b[m","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","setaf":"\u001b[3%p1%dm","setbg":"\u001b[4%p1%dm","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kf5":"\u001b[15~","kf6":"\u001b[17~","kf7":"\u001b[18~","kf8":"\u001b[19~","kf9":"\u001b[20~","kf10":"\u001b[21~","kf11":"\u001b[23~","kf12":"\u001b[24~","kf13":"\u001b[25~","kf14":"\u001b[26~","kf15":"\u001b[28~","kf16":"\u001b[29~","kf17":"\u001b[31~","kf18":"\u001b[32~","kf19":"\u001b[33~","kf20":"\u001b[34~","kich":"\u001b[2~","kdch":"\u001b[3~","khome":"\u001b[1~","kend":"\u001b[4~","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC","kcbt":"\u001b[Z","kmous":"\u001b[M","XM":"%?%p1%{1}%=%t%'h'%Pa%e%'l'%Pa%;\u001b[?1000%ga%c\u001b[?1002%ga%c\u001b[?1003%ga%c\u001b[?1006%ga%c","acsc":"``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u001b(0","rmacs":"\u001b(B","_setfgbg":"\u001b[3%p1%d;4%p2%dm"} -{"name":"xterm-vt52","cols":80,"lines":24,"bell":"\u0007","clear":"\u001bH\u001bJ","cup":"\u001bY%p1%' '%+%c%p2%' '%+%c","cub1":"\u001bD","cuu1":"\u001bA","pad":"\u0000","kbs":"\u0008","kcuu1":"\u001bA","kcud1":"\u001bB","kcub1":"\u001bD","kcuf1":"\u001bC","acsc":"``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u001bF","rmacs":"\u001bG"} -{"name":"xterm-xf86-v32","cols":80,"lines":24,"colors":8,"bell":"\u0007","clear":"\u001b[H\u001b[2J","smcup":"\u001b7\u001b[?47h","rmcup":"\u001b[2J\u001b[?47l\u001b8","cnorm":"\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b[m\u000f","smul":"\u001b[4m","bold":"\u001b[1m","rev":"\u001b[7m","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","setaf":"\u001b[3%p1%dm","setbg":"\u001b[4%p1%dm","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001b[11~","kf2":"\u001b[12~","kf3":"\u001b[13~","kf4":"\u001b[14~","kf5":"\u001b[15~","kf6":"\u001b[17~","kf7":"\u001b[18~","kf8":"\u001b[19~","kf9":"\u001b[20~","kf10":"\u001b[21~","kf11":"\u001b[23~","kf12":"\u001b[24~","kf13":"\u001b[25~","kf14":"\u001b[26~","kf15":"\u001b[28~","kf16":"\u001b[29~","kf17":"\u001b[31~","kf18":"\u001b[32~","kf19":"\u001b[33~","kf20":"\u001b[34~","kich":"\u001b[2~","kdch":"","khome":"\u001bOH","kend":"\u001bOF","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC","kmous":"\u001b[M","XM":"%?%p1%{1}%=%t%'h'%Pa%e%'l'%Pa%;\u001b[?1000%ga%c\u001b[?1002%ga%c\u001b[?1003%ga%c\u001b[?1006%ga%c","acsc":"``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u000e","rmacs":"\u000f","enacs":"\u001b(B\u001b)0","_setfgbg":"\u001b[3%p1%d;4%p2%dm"} -{"name":"xterm-xf86-v33","cols":80,"lines":24,"colors":8,"bell":"\u0007","clear":"\u001b[H\u001b[2J","smcup":"\u001b7\u001b[?47h","rmcup":"\u001b[2J\u001b[?47l\u001b8","cnorm":"\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b[m\u000f","smul":"\u001b[4m","bold":"\u001b[1m","rev":"\u001b[7m","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","setaf":"\u001b[3%p1%dm","setbg":"\u001b[4%p1%dm","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kf5":"\u001b[15~","kf6":"\u001b[17~","kf7":"\u001b[18~","kf8":"\u001b[19~","kf9":"\u001b[20~","kf10":"\u001b[21~","kf11":"\u001b[23~","kf12":"\u001b[24~","kf13":"\u001b[25~","kf14":"\u001b[26~","kf15":"\u001b[28~","kf16":"\u001b[29~","kf17":"\u001b[31~","kf18":"\u001b[32~","kf19":"\u001b[33~","kf20":"\u001b[34~","kich":"\u001b[2~","kdch":"","khome":"\u001bOH","kend":"\u001bOF","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC","kmous":"\u001b[M","XM":"%?%p1%{1}%=%t%'h'%Pa%e%'l'%Pa%;\u001b[?1000%ga%c\u001b[?1002%ga%c\u001b[?1003%ga%c\u001b[?1006%ga%c","acsc":"``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u000e","rmacs":"\u000f","enacs":"\u001b(B\u001b)0","_setfgbg":"\u001b[3%p1%d;4%p2%dm"} -{"name":"xterm-xf86-v333","cols":80,"lines":24,"colors":8,"bell":"\u0007","clear":"\u001b[H\u001b[2J","smcup":"\u001b[?1048h\u001b[?1047h","rmcup":"\u001b[?1047l\u001b[?1048l","cnorm":"\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b[m\u000f","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","setaf":"\u001b[3%p1%dm","setbg":"\u001b[4%p1%dm","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kf5":"\u001b[15~","kf6":"\u001b[17~","kf7":"\u001b[18~","kf8":"\u001b[19~","kf9":"\u001b[20~","kf10":"\u001b[21~","kf11":"\u001b[23~","kf12":"\u001b[24~","kf13":"\u001b[25~","kf14":"\u001b[26~","kf15":"\u001b[28~","kf16":"\u001b[29~","kf17":"\u001b[31~","kf18":"\u001b[32~","kf19":"\u001b[33~","kf20":"\u001b[34~","kich":"\u001b[2~","kdch":"\u001b[3~","khome":"\u001bOH","kend":"\u001bOF","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC","kmous":"\u001b[M","XM":"%?%p1%{1}%=%t%'h'%Pa%e%'l'%Pa%;\u001b[?1000%ga%c\u001b[?1002%ga%c\u001b[?1003%ga%c\u001b[?1006%ga%c","acsc":"``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u000e","rmacs":"\u000f","enacs":"\u001b(B\u001b)0","_setfgbg":"\u001b[3%p1%d;4%p2%dm"} -{"name":"xterm-xf86-v40","cols":80,"lines":24,"colors":8,"bell":"\u0007","clear":"\u001b[H\u001b[2J","smcup":"\u001b[?1049h","rmcup":"\u001b[?1049l","cnorm":"\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b[m\u000f","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","setaf":"\u001b[3%p1%dm","setbg":"\u001b[4%p1%dm","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","kbs":"\u0008","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kf5":"\u001b[15~","kf6":"\u001b[17~","kf7":"\u001b[18~","kf8":"\u001b[19~","kf9":"\u001b[20~","kf10":"\u001b[21~","kf11":"\u001b[23~","kf12":"\u001b[24~","kf13":"\u001bO2P","kf14":"\u001bO2Q","kf15":"\u001bO2R","kf16":"\u001bO2S","kf17":"\u001b[15;2~","kf18":"\u001b[17;2~","kf19":"\u001b[18;2~","kf20":"\u001b[19;2~","kf21":"\u001b[20;2~","kf22":"\u001b[21;2~","kf23":"\u001b[23;2~","kf24":"\u001b[24;2~","kf25":"\u001bO5P","kf26":"\u001bO5Q","kf27":"\u001bO5R","kf28":"\u001bO5S","kf29":"\u001b[15;5~","kf30":"\u001b[17;5~","kf31":"\u001b[18;5~","kf32":"\u001b[19;5~","kf33":"\u001b[20;5~","kf34":"\u001b[21;5~","kf35":"\u001b[23;5~","kf36":"\u001b[24;5~","kf37":"\u001bO6P","kf38":"\u001bO6Q","kf39":"\u001bO6R","kf40":"\u001bO6S","kf41":"\u001b[15;6~","kf42":"\u001b[17;6~","kf43":"\u001b[18;6~","kf44":"\u001b[19;6~","kf45":"\u001b[20;6~","kf46":"\u001b[21;6~","kf47":"\u001b[23;6~","kf48":"\u001b[24;6~","kich":"\u001b[2~","kdch":"\u001b[3~","khome":"\u001bOH","kend":"\u001bOF","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC","kcbt":"\u001b[Z","kmous":"\u001b[M","XM":"%?%p1%{1}%=%t%'h'%Pa%e%'l'%Pa%;\u001b[?1000%ga%c\u001b[?1002%ga%c\u001b[?1003%ga%c\u001b[?1006%ga%c","acsc":"``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u000e","rmacs":"\u000f","enacs":"\u001b(B\u001b)0","kRIT":"\u001bO5C","kLFT":"\u001bO5D","kHOM":"\u001bO5H","kEND":"\u001bO5F","_setfgbg":"\u001b[3%p1%d;4%p2%dm"} -{"name":"xterm-xf86-v43","cols":80,"lines":24,"colors":8,"bell":"\u0007","clear":"\u001b[H\u001b[2J","smcup":"\u001b[?1049h","rmcup":"\u001b[?1049l","cnorm":"\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b[m\u000f","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","setaf":"\u001b[3%p1%dm","setbg":"\u001b[4%p1%dm","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","kbs":"\u0008","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kf5":"\u001b[15~","kf6":"\u001b[17~","kf7":"\u001b[18~","kf8":"\u001b[19~","kf9":"\u001b[20~","kf10":"\u001b[21~","kf11":"\u001b[23~","kf12":"\u001b[24~","kf13":"\u001bO2P","kf14":"\u001bO2Q","kf15":"\u001bO2R","kf16":"\u001bO2S","kf17":"\u001b[15;2~","kf18":"\u001b[17;2~","kf19":"\u001b[18;2~","kf20":"\u001b[19;2~","kf21":"\u001b[20;2~","kf22":"\u001b[21;2~","kf23":"\u001b[23;2~","kf24":"\u001b[24;2~","kf25":"\u001bO5P","kf26":"\u001bO5Q","kf27":"\u001bO5R","kf28":"\u001bO5S","kf29":"\u001b[15;5~","kf30":"\u001b[17;5~","kf31":"\u001b[18;5~","kf32":"\u001b[19;5~","kf33":"\u001b[20;5~","kf34":"\u001b[21;5~","kf35":"\u001b[23;5~","kf36":"\u001b[24;5~","kf37":"\u001bO6P","kf38":"\u001bO6Q","kf39":"\u001bO6R","kf40":"\u001bO6S","kf41":"\u001b[15;6~","kf42":"\u001b[17;6~","kf43":"\u001b[18;6~","kf44":"\u001b[19;6~","kf45":"\u001b[20;6~","kf46":"\u001b[21;6~","kf47":"\u001b[23;6~","kf48":"\u001b[24;6~","kich":"\u001b[2~","kdch":"\u001b[3~","khome":"\u001bOH","kend":"\u001bOF","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC","kcbt":"\u001b[Z","kmous":"\u001b[M","XM":"%?%p1%{1}%=%t%'h'%Pa%e%'l'%Pa%;\u001b[?1000%ga%c\u001b[?1002%ga%c\u001b[?1003%ga%c\u001b[?1006%ga%c","acsc":"``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u000e","rmacs":"\u000f","enacs":"\u001b(B\u001b)0","kRIT":"\u001b[1;2C","kLFT":"\u001b[1;2D","kHOM":"\u001b[1;2H","kEND":"\u001b[1;2F","_setfgbg":"\u001b[3%p1%d;4%p2%dm","_kscu1":"\u001b[1;2A","_kscud1":"\u001b[1;2B","_kccu1":"\u001b[1;5A","_kccud1":"\u001b[1;5B","_kccuf1":"\u001b[1;5C","_kccub1":"\u001b[1;5D","_kmcu1":"\u001b[1;9A","_kmcud1":"\u001b[1;9B","_kmcuf1":"\u001b[1;9C","_kmcub1":"\u001b[1;9D","_kacu1":"\u001b[1;3A","_kacud1":"\u001b[1;3B","_kacuf1":"\u001b[1;3C","_kacub1":"\u001b[1;3D","_kchome":"\u001b[1;5H","_kcend":"\u001b[1;5F","_kahome":"\u001b[1;9H","_kaend":"\u001b[1;9F","_kascu1":"\u001b[1;4A","_kascud1":"\u001b[1;4B","_kascub1":"\u001b[1;4D","_kascuf1":"\u001b[1;4C","_kmscu1":"\u001b[1;10A","_kmscud1":"\u001b[1;10B","_kmscub1":"\u001b[1;10D","_kmscuf1":"\u001b[1;10C","_kcscu1":"\u001b[1;6A","_kcscud1":"\u001b[1;6B","_kcscub1":"\u001b[1;6D","_kcscuf1":"\u001b[1;6C","_kcHOME":"\u001b[1;6H","_kcEND":"\u001b[1;6F","_kaHOME":"\u001b[1;4H","_kaEND":"\u001b[1;4F","_kmHOME":"\u001b[1;10H","_kmEND":"\u001b[1;10F"} -{"name":"xterm-xf86-v44","cols":80,"lines":24,"colors":8,"bell":"\u0007","clear":"\u001b[H\u001b[2J","smcup":"\u001b[?1049h","rmcup":"\u001b[?1049l","cnorm":"\u001b[?12l\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b[m\u000f","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","setaf":"\u001b[3%p1%dm","setbg":"\u001b[4%p1%dm","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","kbs":"\u0008","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kf5":"\u001b[15~","kf6":"\u001b[17~","kf7":"\u001b[18~","kf8":"\u001b[19~","kf9":"\u001b[20~","kf10":"\u001b[21~","kf11":"\u001b[23~","kf12":"\u001b[24~","kf13":"\u001bO2P","kf14":"\u001bO2Q","kf15":"\u001bO2R","kf16":"\u001bO2S","kf17":"\u001b[15;2~","kf18":"\u001b[17;2~","kf19":"\u001b[18;2~","kf20":"\u001b[19;2~","kf21":"\u001b[20;2~","kf22":"\u001b[21;2~","kf23":"\u001b[23;2~","kf24":"\u001b[24;2~","kf25":"\u001bO5P","kf26":"\u001bO5Q","kf27":"\u001bO5R","kf28":"\u001bO5S","kf29":"\u001b[15;5~","kf30":"\u001b[17;5~","kf31":"\u001b[18;5~","kf32":"\u001b[19;5~","kf33":"\u001b[20;5~","kf34":"\u001b[21;5~","kf35":"\u001b[23;5~","kf36":"\u001b[24;5~","kf37":"\u001bO6P","kf38":"\u001bO6Q","kf39":"\u001bO6R","kf40":"\u001bO6S","kf41":"\u001b[15;6~","kf42":"\u001b[17;6~","kf43":"\u001b[18;6~","kf44":"\u001b[19;6~","kf45":"\u001b[20;6~","kf46":"\u001b[21;6~","kf47":"\u001b[23;6~","kf48":"\u001b[24;6~","kich":"\u001b[2~","kdch":"\u001b[3~","khome":"\u001bOH","kend":"\u001bOF","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC","kcbt":"\u001b[Z","kmous":"\u001b[M","XM":"%?%p1%{1}%=%t%'h'%Pa%e%'l'%Pa%;\u001b[?1000%ga%c\u001b[?1002%ga%c\u001b[?1003%ga%c\u001b[?1006%ga%c","acsc":"``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u000e","rmacs":"\u000f","enacs":"\u001b(B\u001b)0","kRIT":"\u001b[1;2C","kLFT":"\u001b[1;2D","kHOM":"\u001b[1;2H","kEND":"\u001b[1;2F","_setfgbg":"\u001b[3%p1%d;4%p2%dm","_kscu1":"\u001b[1;2A","_kscud1":"\u001b[1;2B","_kccu1":"\u001b[1;5A","_kccud1":"\u001b[1;5B","_kccuf1":"\u001b[1;5C","_kccub1":"\u001b[1;5D","_kmcu1":"\u001b[1;9A","_kmcud1":"\u001b[1;9B","_kmcuf1":"\u001b[1;9C","_kmcub1":"\u001b[1;9D","_kacu1":"\u001b[1;3A","_kacud1":"\u001b[1;3B","_kacuf1":"\u001b[1;3C","_kacub1":"\u001b[1;3D","_kchome":"\u001b[1;5H","_kcend":"\u001b[1;5F","_kahome":"\u001b[1;9H","_kaend":"\u001b[1;9F","_kascu1":"\u001b[1;4A","_kascud1":"\u001b[1;4B","_kascub1":"\u001b[1;4D","_kascuf1":"\u001b[1;4C","_kmscu1":"\u001b[1;10A","_kmscud1":"\u001b[1;10B","_kmscub1":"\u001b[1;10D","_kmscuf1":"\u001b[1;10C","_kcscu1":"\u001b[1;6A","_kcscud1":"\u001b[1;6B","_kcscub1":"\u001b[1;6D","_kcscuf1":"\u001b[1;6C","_kcHOME":"\u001b[1;6H","_kcEND":"\u001b[1;6F","_kaHOME":"\u001b[1;4H","_kaEND":"\u001b[1;4F","_kmHOME":"\u001b[1;10H","_kmEND":"\u001b[1;10F"} -{"name":"xterm-xfree86","cols":80,"lines":24,"colors":8,"bell":"\u0007","clear":"\u001b[H\u001b[2J","smcup":"\u001b[?1049h","rmcup":"\u001b[?1049l","cnorm":"\u001b[?12l\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b[m\u000f","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","setaf":"\u001b[3%p1%dm","setbg":"\u001b[4%p1%dm","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","kbs":"\u0008","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kf5":"\u001b[15~","kf6":"\u001b[17~","kf7":"\u001b[18~","kf8":"\u001b[19~","kf9":"\u001b[20~","kf10":"\u001b[21~","kf11":"\u001b[23~","kf12":"\u001b[24~","kf13":"\u001bO2P","kf14":"\u001bO2Q","kf15":"\u001bO2R","kf16":"\u001bO2S","kf17":"\u001b[15;2~","kf18":"\u001b[17;2~","kf19":"\u001b[18;2~","kf20":"\u001b[19;2~","kf21":"\u001b[20;2~","kf22":"\u001b[21;2~","kf23":"\u001b[23;2~","kf24":"\u001b[24;2~","kf25":"\u001bO5P","kf26":"\u001bO5Q","kf27":"\u001bO5R","kf28":"\u001bO5S","kf29":"\u001b[15;5~","kf30":"\u001b[17;5~","kf31":"\u001b[18;5~","kf32":"\u001b[19;5~","kf33":"\u001b[20;5~","kf34":"\u001b[21;5~","kf35":"\u001b[23;5~","kf36":"\u001b[24;5~","kf37":"\u001bO6P","kf38":"\u001bO6Q","kf39":"\u001bO6R","kf40":"\u001bO6S","kf41":"\u001b[15;6~","kf42":"\u001b[17;6~","kf43":"\u001b[18;6~","kf44":"\u001b[19;6~","kf45":"\u001b[20;6~","kf46":"\u001b[21;6~","kf47":"\u001b[23;6~","kf48":"\u001b[24;6~","kich":"\u001b[2~","kdch":"\u001b[3~","khome":"\u001bOH","kend":"\u001bOF","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC","kcbt":"\u001b[Z","kmous":"\u001b[M","XM":"%?%p1%{1}%=%t%'h'%Pa%e%'l'%Pa%;\u001b[?1000%ga%c\u001b[?1002%ga%c\u001b[?1003%ga%c\u001b[?1006%ga%c","acsc":"``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u000e","rmacs":"\u000f","enacs":"\u001b(B\u001b)0","kRIT":"\u001b[1;2C","kLFT":"\u001b[1;2D","kHOM":"\u001b[1;2H","kEND":"\u001b[1;2F","_setfgbg":"\u001b[3%p1%d;4%p2%dm","_kscu1":"\u001b[1;2A","_kscud1":"\u001b[1;2B","_kccu1":"\u001b[1;5A","_kccud1":"\u001b[1;5B","_kccuf1":"\u001b[1;5C","_kccub1":"\u001b[1;5D","_kmcu1":"\u001b[1;9A","_kmcud1":"\u001b[1;9B","_kmcuf1":"\u001b[1;9C","_kmcub1":"\u001b[1;9D","_kacu1":"\u001b[1;3A","_kacud1":"\u001b[1;3B","_kacuf1":"\u001b[1;3C","_kacub1":"\u001b[1;3D","_kchome":"\u001b[1;5H","_kcend":"\u001b[1;5F","_kahome":"\u001b[1;9H","_kaend":"\u001b[1;9F","_kascu1":"\u001b[1;4A","_kascud1":"\u001b[1;4B","_kascub1":"\u001b[1;4D","_kascuf1":"\u001b[1;4C","_kmscu1":"\u001b[1;10A","_kmscud1":"\u001b[1;10B","_kmscub1":"\u001b[1;10D","_kmscuf1":"\u001b[1;10C","_kcscu1":"\u001b[1;6A","_kcscud1":"\u001b[1;6B","_kcscub1":"\u001b[1;6D","_kcscuf1":"\u001b[1;6C","_kcHOME":"\u001b[1;6H","_kcEND":"\u001b[1;6F","_kaHOME":"\u001b[1;4H","_kaEND":"\u001b[1;4F","_kmHOME":"\u001b[1;10H","_kmEND":"\u001b[1;10F"} -{"name":"xterm-xi","cols":80,"lines":24,"colors":8,"bell":"\u0007","clear":"\u001b[H\u001b[2J","smcup":"\u001b7\u001b[?47h","rmcup":"\u001b[2J\u001b[?47l\u001b8","cnorm":"\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b[m\u000f","smul":"\u001b[4m","bold":"\u001b[1m","rev":"\u001b[7m","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","setaf":"\u001b[3%p1%dm","setbg":"\u001b[4%p1%dm","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kf5":"\u001b[15~","kf6":"\u001b[17~","kf7":"\u001b[18~","kf8":"\u001b[19~","kf9":"\u001b[20~","kf10":"\u001b[21~","kf11":"\u001b[23~","kf12":"\u001b[24~","kf13":"\u001b[25~","kf14":"\u001b[26~","kf15":"\u001b[28~","kf16":"\u001b[29~","kf17":"\u001b[31~","kf18":"\u001b[32~","kf19":"\u001b[33~","kf20":"\u001b[34~","kich":"\u001b[2~","kdch":"","khome":"\u001bOH","kend":"\u001bOF","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC","kmous":"\u001b[M","XM":"%?%p1%{1}%=%t%'h'%Pa%e%'l'%Pa%;\u001b[?1000%ga%c\u001b[?1002%ga%c\u001b[?1003%ga%c\u001b[?1006%ga%c","acsc":"``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u000e","rmacs":"\u000f","enacs":"\u001b(B\u001b)0","_setfgbg":"\u001b[3%p1%d;4%p2%dm"} -{"name":"xterm1","cols":80,"lines":24,"colors":8,"bell":"\u0007","clear":"\u001b[H\u001b[2J","cnorm":"\u001b[?12l\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b(B\u001b[m","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","setaf":"\u001b[3%p1%dm","setbg":"\u001b[4%p1%dm","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","kbs":"\u0008","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kf5":"\u001b[15~","kf6":"\u001b[17~","kf7":"\u001b[18~","kf8":"\u001b[19~","kf9":"\u001b[20~","kf10":"\u001b[21~","kf11":"\u001b[23~","kf12":"\u001b[24~","kf13":"\u001b[1;2P","kf14":"\u001b[1;2Q","kf15":"\u001b[1;2R","kf16":"\u001b[1;2S","kf17":"\u001b[15;2~","kf18":"\u001b[17;2~","kf19":"\u001b[18;2~","kf20":"\u001b[19;2~","kf21":"\u001b[20;2~","kf22":"\u001b[21;2~","kf23":"\u001b[23;2~","kf24":"\u001b[24;2~","kf25":"\u001b[1;5P","kf26":"\u001b[1;5Q","kf27":"\u001b[1;5R","kf28":"\u001b[1;5S","kf29":"\u001b[15;5~","kf30":"\u001b[17;5~","kf31":"\u001b[18;5~","kf32":"\u001b[19;5~","kf33":"\u001b[20;5~","kf34":"\u001b[21;5~","kf35":"\u001b[23;5~","kf36":"\u001b[24;5~","kf37":"\u001b[1;6P","kf38":"\u001b[1;6Q","kf39":"\u001b[1;6R","kf40":"\u001b[1;6S","kf41":"\u001b[15;6~","kf42":"\u001b[17;6~","kf43":"\u001b[18;6~","kf44":"\u001b[19;6~","kf45":"\u001b[20;6~","kf46":"\u001b[21;6~","kf47":"\u001b[23;6~","kf48":"\u001b[24;6~","kf49":"\u001b[1;3P","kf50":"\u001b[1;3Q","kf51":"\u001b[1;3R","kf52":"\u001b[1;3S","kf53":"\u001b[15;3~","kf54":"\u001b[17;3~","kf55":"\u001b[18;3~","kf56":"\u001b[19;3~","kf57":"\u001b[20;3~","kf58":"\u001b[21;3~","kf59":"\u001b[23;3~","kf60":"\u001b[24;3~","kf61":"\u001b[1;4P","kf62":"\u001b[1;4Q","kf63":"\u001b[1;4R","kich":"\u001b[2~","kdch":"\u001b[3~","khome":"\u001bOH","kend":"\u001bOF","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC","kcbt":"\u001b[Z","kmous":"\u001b[M","XM":"%?%p1%{1}%=%t%'h'%Pa%e%'l'%Pa%;\u001b[?1000%ga%c\u001b[?1002%ga%c\u001b[?1003%ga%c\u001b[?1006%ga%c","acsc":"``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u001b(0","rmacs":"\u001b(B","kRIT":"\u001b[1;2C","kLFT":"\u001b[1;2D","kHOM":"\u001b[1;2H","kEND":"\u001b[1;2F","_setfgbg":"\u001b[3%p1%d;4%p2%dm","_kscu1":"\u001b[1;2A","_kscud1":"\u001b[1;2B","_kccu1":"\u001b[1;5A","_kccud1":"\u001b[1;5B","_kccuf1":"\u001b[1;5C","_kccub1":"\u001b[1;5D","_kmcu1":"\u001b[1;9A","_kmcud1":"\u001b[1;9B","_kmcuf1":"\u001b[1;9C","_kmcub1":"\u001b[1;9D","_kacu1":"\u001b[1;3A","_kacud1":"\u001b[1;3B","_kacuf1":"\u001b[1;3C","_kacub1":"\u001b[1;3D","_kchome":"\u001b[1;5H","_kcend":"\u001b[1;5F","_kahome":"\u001b[1;9H","_kaend":"\u001b[1;9F","_kascu1":"\u001b[1;4A","_kascud1":"\u001b[1;4B","_kascub1":"\u001b[1;4D","_kascuf1":"\u001b[1;4C","_kmscu1":"\u001b[1;10A","_kmscud1":"\u001b[1;10B","_kmscub1":"\u001b[1;10D","_kmscuf1":"\u001b[1;10C","_kcscu1":"\u001b[1;6A","_kcscud1":"\u001b[1;6B","_kcscub1":"\u001b[1;6D","_kcscuf1":"\u001b[1;6C","_kcHOME":"\u001b[1;6H","_kcEND":"\u001b[1;6F","_kaHOME":"\u001b[1;4H","_kaEND":"\u001b[1;4F","_kmHOME":"\u001b[1;10H","_kmEND":"\u001b[1;10F"} -{"name":"xtermc","cols":80,"lines":24,"colors":8,"bell":"\u0007","clear":"\u001b[H\u001b[2J","smcup":"\u001b@0\u001b[?4s\u001b[?4h\u001b@1","rmcup":"\u001b@0\u001b[?4r","sgr0":"\u001b[m\u000f","bold":"\u001b[1m","rev":"\u001b[7m","setaf":"\u001b[3%p1%dm","setbg":"\u001b[4%p1%dm","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u001b[1D","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kf5":"\u001bOT","kf6":"\u001bOU","kf7":"\u001bOV","kf8":"\u001bOW","kf9":"\u001bOX","kf10":"\u001bOY","kf11":"\u001bOZ","kf12":"\u001bOA","khome":"\u001b[H","kend":"\u001b[Y","kpp":"\u001b[V","knp":"\u001b[U","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC","kmous":"\u001b[\u001f","XM":"%?%p1%{1}%=%t%'h'%Pa%e%'l'%Pa%;\u001b[?1000%ga%c\u001b[?1002%ga%c\u001b[?1003%ga%c\u001b[?1006%ga%c","acsc":"``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u000e","rmacs":"\u000f","enacs":"\u001b(B\u001b)0","_setfgbg":"\u001b[3%p1%d;4%p2%dm"} -{"name":"xtermm","cols":80,"lines":24,"bell":"\u0007","clear":"\u001b[H\u001b[2J","smcup":"\u001b@0\u001b[?4s\u001b[?4h\u001b@1","rmcup":"\u001b@0\u001b[?4r","sgr0":"\u001b[m\u000f","bold":"\u001b[1m","rev":"\u001b[7m","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u001b[1D","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kf5":"\u001bOT","kf6":"\u001bOU","kf7":"\u001bOV","kf8":"\u001bOW","kf9":"\u001bOX","kf10":"\u001bOY","kf11":"\u001bOZ","kf12":"\u001bOA","khome":"\u001b[H","kend":"\u001b[Y","kpp":"\u001b[V","knp":"\u001b[U","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC","kmous":"\u001b[\u001f","XM":"%?%p1%{1}%=%t%'h'%Pa%e%'l'%Pa%;\u001b[?1000%ga%c\u001b[?1002%ga%c\u001b[?1003%ga%c\u001b[?1006%ga%c","acsc":"``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u000e","rmacs":"\u000f","enacs":"\u001b(B\u001b)0"} -{"name":"xterms-sun","cols":80,"lines":24,"colors":8,"bell":"\u0007","clear":"\u001b[H\u001b[2J","smcup":"\u001b[?1049h","rmcup":"\u001b[?1049l","cnorm":"\u001b[?12l\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b(B\u001b[m","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","setaf":"\u001b[3%p1%dm","setbg":"\u001b[4%p1%dm","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001b[224z","kf2":"\u001b[225z","kf3":"\u001b[226z","kf4":"\u001b[227z","kf5":"\u001b[228z","kf6":"\u001b[229z","kf7":"\u001b[230z","kf8":"\u001b[231z","kf9":"\u001b[232z","kf10":"\u001b[233z","kf11":"\u001b[192z","kf12":"\u001b[193z","kf13":"\u001b[194z","kf14":"\u001b[195z","kf15":"\u001b[196z","kf17":"\u001b[198z","kf18":"\u001b[199z","kf19":"\u001b[200z","kf20":"\u001b[201z","kf31":"\u001b[208z","kf32":"\u001b[209z","kf33":"\u001b[210z","kf34":"\u001b[211z","kf35":"\u001b[212z","kf36":"\u001b[213z","kf38":"\u001b[215z","kf40":"\u001b[217z","kf42":"\u001b[219z","kf44":"\u001b[221z","kf45":"\u001b[222z","kf46":"\u001b[234z","kf47":"\u001b[235z","kich":"\u001b[2z","kdch":"\u001b[3z","khome":"\u001b[214z","kend":"\u001b[220z","khlp":"\u001b[196z","kpp":"\u001b[216z","knp":"\u001b[222z","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC","kmous":"\u001b[M","XM":"%?%p1%{1}%=%t%'h'%Pa%e%'l'%Pa%;\u001b[?1000%ga%c\u001b[?1002%ga%c\u001b[?1003%ga%c\u001b[?1006%ga%c","acsc":"``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u001b(0","rmacs":"\u001b(B","_setfgbg":"\u001b[3%p1%d;4%p2%dm"} -{"name":"z100","aliases":["h-100","h100","z-100","z110"],"cols":80,"lines":24,"clear":"\u001bE$\u003c5*/\u003e","cnorm":"\u001by4\u001bm70","cup":"\u001bY%p1%' '%+%c%p2%' '%+%c$\u003c1*/\u003e","cub1":"\u0008","cuu1":"\u001bA","pad":"\u0000","kbs":"\u0008","kf1":"\u001bS","kf2":"\u001bT","kf3":"\u001bU","kf4":"\u001bV","kf5":"\u001bW","kf6":"\u001bP","kf7":"\u001bQ","kf8":"\u001bR","kf9":"\u001bOI","khome":"\u001bH","kcuu1":"\u001bA","kcud1":"\u001bB","kcub1":"\u001bD","kcuf1":"\u001bC","acsc":"~^x`qanbkcjdmelfgg+hai.kwsutvutvozs{","smacs":"\u001bF","rmacs":"\u001bG"} -{"name":"z100bw","aliases":["h-100bw","h100bw","z-100bw","z110bw"],"cols":80,"lines":24,"clear":"\u001bE$\u003c5*/\u003e","cnorm":"\u001by4","cup":"\u001bY%p1%' '%+%c%p2%' '%+%c$\u003c1*/\u003e","cub1":"\u0008","cuu1":"\u001bA","pad":"\u0000","kbs":"\u0008","kf1":"\u001bS","kf2":"\u001bT","kf3":"\u001bU","kf4":"\u001bV","kf5":"\u001bW","kf6":"\u001bP","kf7":"\u001bQ","kf8":"\u001bR","kf9":"\u001bOI","khome":"\u001bH","kcuu1":"\u001bA","kcud1":"\u001bB","kcub1":"\u001bD","kcuf1":"\u001bC","acsc":"~^x`qanbkcjdmelfgg+hai.kwsutvutvozs{","smacs":"\u001bF","rmacs":"\u001bG"} -{"name":"z29","aliases":["z29b","zenith29"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u001bE$\u003c14\u003e","cnorm":"\u001by4","smul":"\u001bs8","cup":"\u001bY%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u001b$\u003c1\u003eA","pad":"\u0000","kbs":"\u0008","kf1":"\u001bS","kf2":"\u001bT","kf3":"\u001bU","kf4":"\u001bV","kf5":"\u001bW","kf6":"\u001bP","kf7":"\u001bQ","kf8":"\u001bR","kf9":"\u001b0I","khome":"\u001bH","kcuu1":"\u001bA","kcud1":"\u001bB","kcub1":"\u001bD","kcuf1":"\u001bC","smacs":"\u001bG","rmacs":"\u001bF"} -{"name":"z29a","aliases":["h29a-kc-bc","z29a-kc-bc"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u001b[2J","smcup":"\u001b[?7l","rmcup":"\u001b[?7h","sgr0":"\u001b[m","smul":"\u001b[4m","bold":"\u001b[2m","blink":"\u001b[5m","rev":"\u001b[7m","dim":"\u001b[2m","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOS","kf2":"\u001bOT","kf3":"\u001bOU","kf4":"\u001bOV","kf5":"\u001bOW","kf6":"\u001bOP","kf7":"\u001bOQ","kf8":"\u001bOR","kf9":"\u001bOX","khome":"\u001b[H","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC","kclr":"\u001b[J"} -{"name":"z29a-kc-uc","aliases":["h29a-kc-uc"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u001b[2J","smcup":"\u001b[?7l","rmcup":"\u001b[?7h","sgr0":"\u001b[m","smul":"\u001b[4m","bold":"\u001b[2m","blink":"\u001b[5m","rev":"\u001b[7m","dim":"\u001b[2m","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOS","kf2":"\u001bOT","kf3":"\u001bOU","kf4":"\u001bOV","kf5":"\u001bOW","kf6":"\u001bOP","kf7":"\u001bOQ","kf8":"\u001bOR","kf9":"\u001bOX","khome":"\u001b[H","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC","kclr":"\u001b[J"} -{"name":"z29a-nkc-bc","aliases":["h29a-nkc-bc"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u001b[2J","smcup":"\u001b[?7l","rmcup":"\u001b[?7h","sgr0":"\u001b[m","smul":"\u001b[4m","bold":"\u001b[2m","blink":"\u001b[5m","rev":"\u001b[7m","dim":"\u001b[2m","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOS","kf2":"\u001bOT","kf3":"\u001bOU","kf4":"\u001bOV","kf5":"\u001bOW","kf6":"\u001bOP","kf7":"\u001bOQ","kf8":"\u001bOR","kf9":"\u001bOX","khome":"\u001b[H","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC","kclr":"\u001b[J"} -{"name":"z29a-nkc-uc","aliases":["h29a-nkc-uc"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u001b[2J","smcup":"\u001b[?7l","rmcup":"\u001b[?7h","sgr0":"\u001b[m","smul":"\u001b[4m","bold":"\u001b[2m","blink":"\u001b[5m","rev":"\u001b[7m","dim":"\u001b[2m","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOS","kf2":"\u001bOT","kf3":"\u001bOU","kf4":"\u001bOV","kf5":"\u001bOW","kf6":"\u001bOP","kf7":"\u001bOQ","kf8":"\u001bOR","kf9":"\u001bOX","khome":"\u001b[H","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC","kclr":"\u001b[J"} -{"name":"z340","cols":132,"lines":42,"bell":"\u0007","clear":"\u001b[H\u001b[2J","cnorm":"\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b[m\u001b(B","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kf6":"\u001b[17~","kf7":"\u001b[18~","kf8":"\u001b[19~","kf9":"\u001b[20~","kf10":"\u001b[21~","kf11":"\u001b[23~","kf12":"\u001b[24~","kf13":"\u001b[25~","kf14":"\u001b[26~","kf15":"\u001b[28~","kf16":"\u001b[29~","kf17":"\u001b[31~","kf18":"\u001b[32~","kf19":"\u001b[33~","kf20":"\u001b[34~","kich":"\u001b[2~","kdch":"\u001b[3~","khome":"\u001b[1~","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC","acsc":"``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u001b(0","rmacs":"\u001b(B"} -{"name":"z340-nam","cols":132,"lines":42,"bell":"\u0007","clear":"\u001b[H\u001b[2J","cnorm":"\u001b[?25h","civis":"\u001b[?25l","sgr0":"\u001b[m\u001b(B","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","smkx":"\u001b[?1h\u001b=","rmkx":"\u001b[?1l\u001b\u003e","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"","kf1":"\u001bOP","kf2":"\u001bOQ","kf3":"\u001bOR","kf4":"\u001bOS","kf6":"\u001b[17~","kf7":"\u001b[18~","kf8":"\u001b[19~","kf9":"\u001b[20~","kf10":"\u001b[21~","kf11":"\u001b[23~","kf12":"\u001b[24~","kf13":"\u001b[25~","kf14":"\u001b[26~","kf15":"\u001b[28~","kf16":"\u001b[29~","kf17":"\u001b[31~","kf18":"\u001b[32~","kf19":"\u001b[33~","kf20":"\u001b[34~","kich":"\u001b[2~","kdch":"\u001b[3~","khome":"\u001b[1~","kpp":"\u001b[5~","knp":"\u001b[6~","kcuu1":"\u001bOA","kcud1":"\u001bOB","kcub1":"\u001bOD","kcuf1":"\u001bOC","acsc":"``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~","smacs":"\u001b(0","rmacs":"\u001b(B"} -{"name":"z39-a","aliases":["z39a","zenith39-a","zenith39-ansi"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u001b[2J\u001b[H","cnorm":"\u001b[\u003e5l","civis":"\u001b[\u003e5h","sgr0":"\u001b[0m","smul":"\u001b[4m","bold":"\u001b[1m","blink":"\u001b[5m","rev":"\u001b[7m","dim":"\u001b[2m","smkx":"\u001b[\u003e7h","rmkx":"\u001b[\u003e7l","cup":"\u001b[%i%p1%d;%p2%dH","cub1":"\u0008","cuu1":"\u001b[A","pad":"\u0000","kbs":"\u0008","kf1":"\u001bOS","kf2":"\u001bOT","kf3":"\u001bOU","kf4":"\u001bOV","kf5":"\u001bOW","kf6":"\u001bOP","kf7":"\u001bOQ","kf8":"\u001bOR","kf9":"\u001bOX","khome":"\u001b[H","khlp":"\u001b[~","kcuu1":"\u001b[A","kcud1":"\u001b[B","kcub1":"\u001b[D","kcuf1":"\u001b[C","acsc":"0a``aaffggjjkkllmmnnooqqssttuuvvwwxx~~","smacs":"\u001b(0","rmacs":"\u001b(B"} -{"name":"zen30","aliases":["z30"],"cols":80,"lines":24,"bell":"\u0007","clear":"\u001b*","sgr0":"\u001bG0","rev":"\u001bG4","dim":"\u001bG2","cup":"\u001b=%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u000b","pad":"\u0000"} -{"name":"zen50","aliases":["z50"],"cols":80,"lines":24,"clear":"\u001b+","sgr0":"\u001bG0","rev":"\u001bG4","cup":"\u001b=%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u000b","pad":"\u0000","khome":"\u001e","kcuu1":"\u000b","kcud1":"\n","kcub1":"\u0008","kcuf1":"\u000c"} -{"name":"ztx","aliases":["htx11","zt-1","ztx-1-a","ztx11"],"cols":80,"lines":24,"clear":"\u001bE","smul":"\u001bs2","cup":"\u001bY%p1%' '%+%c%p2%' '%+%c","cub1":"\u0008","cuu1":"\u001bA","pad":"\u0000","kbs":"\u0008","kf1":"\u001bB","kf2":"\u001bU","kf3":"\u001bV","kf4":"\u001bW","kf5":"\u001bP","kf6":"\u001bQ","kf7":"\u001bR","kcuu1":"\u001bA","kcud1":"\u001bB","kcub1":"\u001bD","kcuf1":"\u001bC"} diff --git a/vendor/github.com/gdamore/tcell/doc.go b/vendor/github.com/gdamore/tcell/doc.go deleted file mode 100644 index b6719613..00000000 --- a/vendor/github.com/gdamore/tcell/doc.go +++ /dev/null @@ -1,48 +0,0 @@ -// Copyright 2018 The TCell Authors -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use file except in compliance with the License. -// You may obtain a copy of the license at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -// Package tcell provides a lower-level, portable API for building -// programs that interact with terminals or consoles. It works with -// both common (and many uncommon!) terminals or terminal emulators, -// and Windows console implementations. -// -// It provides support for up to 256 colors, text attributes, and box drawing -// elements. A database of terminals built from a real terminfo database -// is provided, along with code to generate new database entries. -// -// Tcell offers very rich support for mice, dependent upon the terminal -// of course. (Windows, XTerm, and iTerm 2 are known to work very well.) -// -// If the environment is not Unicode by default, such as an ISO8859 based -// locale or GB18030, Tcell can convert input and output, so that your -// terminal can operate in whatever locale is most convenient, while the -// application program can just assume "everything is UTF-8". Reasonable -// defaults are used for updating characters to something suitable for -// display. Unicode box drawing characters will be converted to use the -// alternate character set of your terminal, if native conversions are -// not available. If no ACS is available, then some ASCII fallbacks will -// be used. -// -// Note that support for non-UTF-8 locales (other than C) must be enabled -// by the application using RegisterEncoding() -- we don't have them all -// enabled by default to avoid bloating the application unneccessarily. -// (These days UTF-8 is good enough for almost everyone, and nobody should -// be using legacy locales anymore.) Also, actual glyphs for various code -// point will only be displayed if your terminal or emulator (or the font -// the emulator is using) supports them. -// -// A rich set of keycodes is supported, with support for up to 65 function -// keys, and various other special keys. -// -package tcell diff --git a/vendor/github.com/gdamore/tcell/encoding.go b/vendor/github.com/gdamore/tcell/encoding.go deleted file mode 100644 index 596a6e80..00000000 --- a/vendor/github.com/gdamore/tcell/encoding.go +++ /dev/null @@ -1,139 +0,0 @@ -// Copyright 2015 The TCell Authors -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use file except in compliance with the License. -// You may obtain a copy of the license at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package tcell - -import ( - "strings" - "sync" - - "golang.org/x/text/encoding" - - gencoding "github.com/gdamore/encoding" -) - -var encodings map[string]encoding.Encoding -var encodingLk sync.Mutex -var encodingFallback EncodingFallback = EncodingFallbackFail - -// RegisterEncoding may be called by the application to register an encoding. -// The presence of additional encodings will facilitate application usage with -// terminal environments where the I/O subsystem does not support Unicode. -// -// Windows systems use Unicode natively, and do not need any of the encoding -// subsystem when using Windows Console screens. -// -// Please see the Go documentation for golang.org/x/text/encoding -- most of -// the common ones exist already as stock variables. For example, ISO8859-15 -// can be registered using the following code: -// -// import "golang.org/x/text/encoding/charmap" -// -// ... -// RegisterEncoding("ISO8859-15", charmap.ISO8859_15) -// -// Aliases can be registered as well, for example "8859-15" could be an alias -// for "ISO8859-15". -// -// For POSIX systems, the tcell package will check the environment variables -// LC_ALL, LC_CTYPE, and LANG (in that order) to determine the character set. -// These are expected to have the following pattern: -// -// $language[.$codeset[@$variant] -// -// We extract only the $codeset part, which will usually be something like -// UTF-8 or ISO8859-15 or KOI8-R. Note that if the locale is either "POSIX" -// or "C", then we assume US-ASCII (the POSIX 'portable character set' -// and assume all other characters are somehow invalid.) -// -// Modern POSIX systems and terminal emulators may use UTF-8, and for those -// systems, this API is also unnecessary. For example, Darwin (MacOS X) and -// modern Linux running modern xterm generally will out of the box without -// any of this. Use of UTF-8 is recommended when possible, as it saves -// quite a lot processing overhead. -// -// Note that some encodings are quite large (for example GB18030 which is a -// superset of Unicode) and so the application size can be expected ot -// increase quite a bit as each encoding is added. The East Asian encodings -// have been seen to add 100-200K per encoding to the application size. -// -func RegisterEncoding(charset string, enc encoding.Encoding) { - encodingLk.Lock() - charset = strings.ToLower(charset) - encodings[charset] = enc - encodingLk.Unlock() -} - -// EncodingFallback describes how the system behavees when the locale -// requires a character set that we do not support. The system always -// supports UTF-8 and US-ASCII. On Windows consoles, UTF-16LE is also -// supported automatically. Other character sets must be added using the -// RegisterEncoding API. (A large group of nearly all of them can be -// added using the RegisterAll function in the encoding sub package.) -type EncodingFallback int - -const ( - // EncodingFallbackFail behavior causes GetEncoding to fail - // when it cannot find an encoding. - EncodingFallbackFail = iota - - // EncodingFallbackASCII behaviore causes GetEncoding to fall back - // to a 7-bit ASCII encoding, if no other encoding can be found. - EncodingFallbackASCII - - // EncodingFallbackUTF8 behavior causes GetEncoding to assume - // UTF8 can pass unmodified upon failure. Note that this behavior - // is not recommended, unless you are sure your terminal can cope - // with real UTF8 sequences. - EncodingFallbackUTF8 -) - -// SetEncodingFallback changes the behavior of GetEncoding when a suitable -// encoding is not found. The default is EncodingFallbackFail, which -// causes GetEncoding to simply return nil. -func SetEncodingFallback(fb EncodingFallback) { - encodingLk.Lock() - encodingFallback = fb - encodingLk.Unlock() -} - -// GetEncoding is used by Screen implementors who want to locate an encoding -// for the given character set name. Note that this will return nil for -// either the Unicode (UTF-8) or ASCII encodings, since we don't use -// encodings for them but instead have our own native methods. -func GetEncoding(charset string) encoding.Encoding { - charset = strings.ToLower(charset) - encodingLk.Lock() - defer encodingLk.Unlock() - if enc, ok := encodings[charset]; ok { - return enc - } - switch encodingFallback { - case EncodingFallbackASCII: - return gencoding.ASCII - case EncodingFallbackUTF8: - return encoding.Nop - } - return nil -} - -func init() { - // We always support UTF-8 and ASCII. - encodings = make(map[string]encoding.Encoding) - encodings["utf-8"] = gencoding.UTF8 - encodings["utf8"] = gencoding.UTF8 - encodings["us-ascii"] = gencoding.ASCII - encodings["ascii"] = gencoding.ASCII - encodings["iso646"] = gencoding.ASCII -} diff --git a/vendor/github.com/gdamore/tcell/errors.go b/vendor/github.com/gdamore/tcell/errors.go deleted file mode 100644 index 920b64b2..00000000 --- a/vendor/github.com/gdamore/tcell/errors.go +++ /dev/null @@ -1,73 +0,0 @@ -// Copyright 2015 The TCell Authors -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use file except in compliance with the License. -// You may obtain a copy of the license at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package tcell - -import ( - "errors" - "time" - - "github.com/gdamore/tcell/terminfo" -) - -var ( - // ErrTermNotFound indicates that a suitable terminal entry could - // not be found. This can result from either not having TERM set, - // or from the TERM failing to support certain minimal functionality, - // in particular absolute cursor addressability (the cup capability) - // is required. For example, legacy "adm3" lacks this capability, - // whereas the slightly newer "adm3a" supports it. This failure - // occurs most often with "dumb". - ErrTermNotFound = terminfo.ErrTermNotFound - - // ErrNoScreen indicates that no suitable screen could be found. - // This may result from attempting to run on a platform where there - // is no support for either termios or console I/O (such as nacl), - // or from running in an environment where there is no access to - // a suitable console/terminal device. (For example, running on - // without a controlling TTY or with no /dev/tty on POSIX platforms.) - ErrNoScreen = errors.New("no suitable screen available") - - // ErrNoCharset indicates that the locale environment the - // program is not supported by the program, because no suitable - // encoding was found for it. This problem never occurs if - // the environment is UTF-8 or UTF-16. - ErrNoCharset = errors.New("character set not supported") - - // ErrEventQFull indicates that the event queue is full, and - // cannot accept more events. - ErrEventQFull = errors.New("event queue full") -) - -// An EventError is an event representing some sort of error, and carries -// an error payload. -type EventError struct { - t time.Time - err error -} - -// When returns the time when the event was created. -func (ev *EventError) When() time.Time { - return ev.t -} - -// Error implements the error. -func (ev *EventError) Error() string { - return ev.err.Error() -} - -// NewEventError creates an ErrorEvent with the given error payload. -func NewEventError(err error) *EventError { - return &EventError{t: time.Now(), err: err} -} diff --git a/vendor/github.com/gdamore/tcell/event.go b/vendor/github.com/gdamore/tcell/event.go deleted file mode 100644 index a3b77006..00000000 --- a/vendor/github.com/gdamore/tcell/event.go +++ /dev/null @@ -1,53 +0,0 @@ -// Copyright 2015 The TCell Authors -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use file except in compliance with the License. -// You may obtain a copy of the license at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package tcell - -import ( - "time" -) - -// Event is a generic interface used for passing around Events. -// Concrete types follow. -type Event interface { - // When reports the time when the event was generated. - When() time.Time -} - -// EventTime is a simple base event class, suitable for easy reuse. -// It can be used to deliver actual timer events as well. -type EventTime struct { - when time.Time -} - -// When returns the time stamp when the event occurred. -func (e *EventTime) When() time.Time { - return e.when -} - -// SetEventTime sets the time of occurrence for the event. -func (e *EventTime) SetEventTime(t time.Time) { - e.when = t -} - -// SetEventNow sets the time of occurrence for the event to the current time. -func (e *EventTime) SetEventNow() { - e.SetEventTime(time.Now()) -} - -// EventHandler is anything that handles events. If the handler has -// consumed the event, it should return true. False otherwise. -type EventHandler interface { - HandleEvent(Event) bool -} diff --git a/vendor/github.com/gdamore/tcell/go.mod b/vendor/github.com/gdamore/tcell/go.mod deleted file mode 100644 index 55480222..00000000 --- a/vendor/github.com/gdamore/tcell/go.mod +++ /dev/null @@ -1,10 +0,0 @@ -module github.com/gdamore/tcell - -go 1.12 - -require ( - github.com/gdamore/encoding v1.0.0 - github.com/lucasb-eyer/go-colorful v1.0.2 - github.com/mattn/go-runewidth v0.0.4 - golang.org/x/text v0.3.0 -) diff --git a/vendor/github.com/gdamore/tcell/go.sum b/vendor/github.com/gdamore/tcell/go.sum deleted file mode 100644 index ff1c0288..00000000 --- a/vendor/github.com/gdamore/tcell/go.sum +++ /dev/null @@ -1,10 +0,0 @@ -github.com/DATA-DOG/go-sqlmock v1.3.3 h1:CWUqKXe0s8A2z6qCgkP4Kru7wC11YoAnoupUKFDnH08= -github.com/DATA-DOG/go-sqlmock v1.3.3/go.mod h1:f/Ixk793poVmq4qj/V1dPUg2JEAKC73Q5eFN3EC/SaM= -github.com/gdamore/encoding v1.0.0 h1:+7OoQ1Bc6eTm5niUzBa0Ctsh6JbMW6Ra+YNuAtDBdko= -github.com/gdamore/encoding v1.0.0/go.mod h1:alR0ol34c49FCSBLjhosxzcPHQbf2trDkoo5dl+VrEg= -github.com/lucasb-eyer/go-colorful v1.0.2 h1:mCMFu6PgSozg9tDNMMK3g18oJBX7oYGrC09mS6CXfO4= -github.com/lucasb-eyer/go-colorful v1.0.2/go.mod h1:0MS4r+7BZKSJ5mw4/S5MPN+qHFF1fYclkSPilDOKW0s= -github.com/mattn/go-runewidth v0.0.4 h1:2BvfKmzob6Bmd4YsL0zygOqfdFnK7GR4QL06Do4/p7Y= -github.com/mattn/go-runewidth v0.0.4/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU= -golang.org/x/text v0.3.0 h1:g61tztE5qeGQ89tm6NTjjM9VPIm088od1l6aSorWRWg= -golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= diff --git a/vendor/github.com/gdamore/tcell/interrupt.go b/vendor/github.com/gdamore/tcell/interrupt.go deleted file mode 100644 index 70dddfce..00000000 --- a/vendor/github.com/gdamore/tcell/interrupt.go +++ /dev/null @@ -1,41 +0,0 @@ -// Copyright 2015 The TCell Authors -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use file except in compliance with the License. -// You may obtain a copy of the license at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package tcell - -import ( - "time" -) - -// EventInterrupt is a generic wakeup event. Its can be used to -// to request a redraw. It can carry an arbitrary payload, as well. -type EventInterrupt struct { - t time.Time - v interface{} -} - -// When returns the time when this event was created. -func (ev *EventInterrupt) When() time.Time { - return ev.t -} - -// Data is used to obtain the opaque event payload. -func (ev *EventInterrupt) Data() interface{} { - return ev.v -} - -// NewEventInterrupt creates an EventInterrupt with the given payload. -func NewEventInterrupt(data interface{}) *EventInterrupt { - return &EventInterrupt{t: time.Now(), v: data} -} diff --git a/vendor/github.com/gdamore/tcell/key.go b/vendor/github.com/gdamore/tcell/key.go deleted file mode 100644 index 3545215a..00000000 --- a/vendor/github.com/gdamore/tcell/key.go +++ /dev/null @@ -1,464 +0,0 @@ -// Copyright 2016 The TCell Authors -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use file except in compliance with the License. -// You may obtain a copy of the license at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package tcell - -import ( - "fmt" - "strings" - "time" -) - -// EventKey represents a key press. Usually this is a key press followed -// by a key release, but since terminal programs don't have a way to report -// key release events, we usually get just one event. If a key is held down -// then the terminal may synthesize repeated key presses at some predefined -// rate. We have no control over that, nor visibility into it. -// -// In some cases, we can have a modifier key, such as ModAlt, that can be -// generated with a key press. (This usually is represented by having the -// high bit set, or in some cases, by sending an ESC prior to the rune.) -// -// If the value of Key() is KeyRune, then the actual key value will be -// available with the Rune() method. This will be the case for most keys. -// In most situations, the modifiers will not be set. For example, if the -// rune is 'A', this will be reported without the ModShift bit set, since -// really can't tell if the Shift key was pressed (it might have been CAPSLOCK, -// or a terminal that only can send capitals, or keyboard with separate -// capital letters from lower case letters). -// -// Generally, terminal applications have far less visibility into keyboard -// activity than graphical applications. Hence, they should avoid depending -// overly much on availability of modifiers, or the availability of any -// specific keys. -type EventKey struct { - t time.Time - mod ModMask - key Key - ch rune -} - -// When returns the time when this Event was created, which should closely -// match the time when the key was pressed. -func (ev *EventKey) When() time.Time { - return ev.t -} - -// Rune returns the rune corresponding to the key press, if it makes sense. -// The result is only defined if the value of Key() is KeyRune. -func (ev *EventKey) Rune() rune { - return ev.ch -} - -// Key returns a virtual key code. We use this to identify specific key -// codes, such as KeyEnter, etc. Most control and function keys are reported -// with unique Key values. Normal alphanumeric and punctuation keys will -// generally return KeyRune here; the specific key can be further decoded -// using the Rune() function. -func (ev *EventKey) Key() Key { - return ev.key -} - -// Modifiers returns the modifiers that were present with the key press. Note -// that not all platforms and terminals support this equally well, and some -// cases we will not not know for sure. Hence, applications should avoid -// using this in most circumstances. -func (ev *EventKey) Modifiers() ModMask { - return ev.mod -} - -// KeyNames holds the written names of special keys. Useful to echo back a key -// name, or to look up a key from a string value. -var KeyNames = map[Key]string{ - KeyEnter: "Enter", - KeyBackspace: "Backspace", - KeyTab: "Tab", - KeyBacktab: "Backtab", - KeyEsc: "Esc", - KeyBackspace2: "Backspace2", - KeyDelete: "Delete", - KeyInsert: "Insert", - KeyUp: "Up", - KeyDown: "Down", - KeyLeft: "Left", - KeyRight: "Right", - KeyHome: "Home", - KeyEnd: "End", - KeyUpLeft: "UpLeft", - KeyUpRight: "UpRight", - KeyDownLeft: "DownLeft", - KeyDownRight: "DownRight", - KeyCenter: "Center", - KeyPgDn: "PgDn", - KeyPgUp: "PgUp", - KeyClear: "Clear", - KeyExit: "Exit", - KeyCancel: "Cancel", - KeyPause: "Pause", - KeyPrint: "Print", - KeyF1: "F1", - KeyF2: "F2", - KeyF3: "F3", - KeyF4: "F4", - KeyF5: "F5", - KeyF6: "F6", - KeyF7: "F7", - KeyF8: "F8", - KeyF9: "F9", - KeyF10: "F10", - KeyF11: "F11", - KeyF12: "F12", - KeyF13: "F13", - KeyF14: "F14", - KeyF15: "F15", - KeyF16: "F16", - KeyF17: "F17", - KeyF18: "F18", - KeyF19: "F19", - KeyF20: "F20", - KeyF21: "F21", - KeyF22: "F22", - KeyF23: "F23", - KeyF24: "F24", - KeyF25: "F25", - KeyF26: "F26", - KeyF27: "F27", - KeyF28: "F28", - KeyF29: "F29", - KeyF30: "F30", - KeyF31: "F31", - KeyF32: "F32", - KeyF33: "F33", - KeyF34: "F34", - KeyF35: "F35", - KeyF36: "F36", - KeyF37: "F37", - KeyF38: "F38", - KeyF39: "F39", - KeyF40: "F40", - KeyF41: "F41", - KeyF42: "F42", - KeyF43: "F43", - KeyF44: "F44", - KeyF45: "F45", - KeyF46: "F46", - KeyF47: "F47", - KeyF48: "F48", - KeyF49: "F49", - KeyF50: "F50", - KeyF51: "F51", - KeyF52: "F52", - KeyF53: "F53", - KeyF54: "F54", - KeyF55: "F55", - KeyF56: "F56", - KeyF57: "F57", - KeyF58: "F58", - KeyF59: "F59", - KeyF60: "F60", - KeyF61: "F61", - KeyF62: "F62", - KeyF63: "F63", - KeyF64: "F64", - KeyCtrlA: "Ctrl-A", - KeyCtrlB: "Ctrl-B", - KeyCtrlC: "Ctrl-C", - KeyCtrlD: "Ctrl-D", - KeyCtrlE: "Ctrl-E", - KeyCtrlF: "Ctrl-F", - KeyCtrlG: "Ctrl-G", - KeyCtrlJ: "Ctrl-J", - KeyCtrlK: "Ctrl-K", - KeyCtrlL: "Ctrl-L", - KeyCtrlN: "Ctrl-N", - KeyCtrlO: "Ctrl-O", - KeyCtrlP: "Ctrl-P", - KeyCtrlQ: "Ctrl-Q", - KeyCtrlR: "Ctrl-R", - KeyCtrlS: "Ctrl-S", - KeyCtrlT: "Ctrl-T", - KeyCtrlU: "Ctrl-U", - KeyCtrlV: "Ctrl-V", - KeyCtrlW: "Ctrl-W", - KeyCtrlX: "Ctrl-X", - KeyCtrlY: "Ctrl-Y", - KeyCtrlZ: "Ctrl-Z", - KeyCtrlSpace: "Ctrl-Space", - KeyCtrlUnderscore: "Ctrl-_", - KeyCtrlRightSq: "Ctrl-]", - KeyCtrlBackslash: "Ctrl-\\", - KeyCtrlCarat: "Ctrl-^", -} - -// Name returns a printable value or the key stroke. This can be used -// when printing the event, for example. -func (ev *EventKey) Name() string { - s := "" - m := []string{} - if ev.mod&ModShift != 0 { - m = append(m, "Shift") - } - if ev.mod&ModAlt != 0 { - m = append(m, "Alt") - } - if ev.mod&ModMeta != 0 { - m = append(m, "Meta") - } - if ev.mod&ModCtrl != 0 { - m = append(m, "Ctrl") - } - - ok := false - if s, ok = KeyNames[ev.key]; !ok { - if ev.key == KeyRune { - s = "Rune[" + string(ev.ch) + "]" - } else { - s = fmt.Sprintf("Key[%d,%d]", ev.key, int(ev.ch)) - } - } - if len(m) != 0 { - if ev.mod&ModCtrl != 0 && strings.HasPrefix(s, "Ctrl-") { - s = s[5:] - } - return fmt.Sprintf("%s+%s", strings.Join(m, "+"), s) - } - return s -} - -// NewEventKey attempts to create a suitable event. It parses the various -// ASCII control sequences if KeyRune is passed for Key, but if the caller -// has more precise information it should set that specifically. Callers -// that aren't sure about modifier state (most) should just pass ModNone. -func NewEventKey(k Key, ch rune, mod ModMask) *EventKey { - if k == KeyRune && (ch < ' ' || ch == 0x7f) { - // Turn specials into proper key codes. This is for - // control characters and the DEL. - k = Key(ch) - if mod == ModNone && ch < ' ' { - switch Key(ch) { - case KeyBackspace, KeyTab, KeyEsc, KeyEnter: - // these keys are directly typeable without CTRL - default: - // most likely entered with a CTRL keypress - mod = ModCtrl - } - } - } - return &EventKey{t: time.Now(), key: k, ch: ch, mod: mod} -} - -// ModMask is a mask of modifier keys. Note that it will not always be -// possible to report modifier keys. -type ModMask int16 - -// These are the modifiers keys that can be sent either with a key press, -// or a mouse event. Note that as of now, due to the confusion associated -// with Meta, and the lack of support for it on many/most platforms, the -// current implementations never use it. Instead, they use ModAlt, even for -// events that could possibly have been distinguished from ModAlt. -const ( - ModShift ModMask = 1 << iota - ModCtrl - ModAlt - ModMeta - ModNone ModMask = 0 -) - -// Key is a generic value for representing keys, and especially special -// keys (function keys, cursor movement keys, etc.) For normal keys, like -// ASCII letters, we use KeyRune, and then expect the application to -// inspect the Rune() member of the EventKey. -type Key int16 - -// This is the list of named keys. KeyRune is special however, in that it is -// a place holder key indicating that a printable character was sent. The -// actual value of the rune will be transported in the Rune of the associated -// EventKey. -const ( - KeyRune Key = iota + 256 - KeyUp - KeyDown - KeyRight - KeyLeft - KeyUpLeft - KeyUpRight - KeyDownLeft - KeyDownRight - KeyCenter - KeyPgUp - KeyPgDn - KeyHome - KeyEnd - KeyInsert - KeyDelete - KeyHelp - KeyExit - KeyClear - KeyCancel - KeyPrint - KeyPause - KeyBacktab - KeyF1 - KeyF2 - KeyF3 - KeyF4 - KeyF5 - KeyF6 - KeyF7 - KeyF8 - KeyF9 - KeyF10 - KeyF11 - KeyF12 - KeyF13 - KeyF14 - KeyF15 - KeyF16 - KeyF17 - KeyF18 - KeyF19 - KeyF20 - KeyF21 - KeyF22 - KeyF23 - KeyF24 - KeyF25 - KeyF26 - KeyF27 - KeyF28 - KeyF29 - KeyF30 - KeyF31 - KeyF32 - KeyF33 - KeyF34 - KeyF35 - KeyF36 - KeyF37 - KeyF38 - KeyF39 - KeyF40 - KeyF41 - KeyF42 - KeyF43 - KeyF44 - KeyF45 - KeyF46 - KeyF47 - KeyF48 - KeyF49 - KeyF50 - KeyF51 - KeyF52 - KeyF53 - KeyF54 - KeyF55 - KeyF56 - KeyF57 - KeyF58 - KeyF59 - KeyF60 - KeyF61 - KeyF62 - KeyF63 - KeyF64 -) - -// These are the control keys. Note that they overlap with other keys, -// perhaps. For example, KeyCtrlH is the same as KeyBackspace. -const ( - KeyCtrlSpace Key = iota - KeyCtrlA - KeyCtrlB - KeyCtrlC - KeyCtrlD - KeyCtrlE - KeyCtrlF - KeyCtrlG - KeyCtrlH - KeyCtrlI - KeyCtrlJ - KeyCtrlK - KeyCtrlL - KeyCtrlM - KeyCtrlN - KeyCtrlO - KeyCtrlP - KeyCtrlQ - KeyCtrlR - KeyCtrlS - KeyCtrlT - KeyCtrlU - KeyCtrlV - KeyCtrlW - KeyCtrlX - KeyCtrlY - KeyCtrlZ - KeyCtrlLeftSq // Escape - KeyCtrlBackslash - KeyCtrlRightSq - KeyCtrlCarat - KeyCtrlUnderscore -) - -// Special values - these are fixed in an attempt to make it more likely -// that aliases will encode the same way. - -// These are the defined ASCII values for key codes. They generally match -// with KeyCtrl values. -const ( - KeyNUL Key = iota - KeySOH - KeySTX - KeyETX - KeyEOT - KeyENQ - KeyACK - KeyBEL - KeyBS - KeyTAB - KeyLF - KeyVT - KeyFF - KeyCR - KeySO - KeySI - KeyDLE - KeyDC1 - KeyDC2 - KeyDC3 - KeyDC4 - KeyNAK - KeySYN - KeyETB - KeyCAN - KeyEM - KeySUB - KeyESC - KeyFS - KeyGS - KeyRS - KeyUS - KeyDEL Key = 0x7F -) - -// These keys are aliases for other names. -const ( - KeyBackspace = KeyBS - KeyTab = KeyTAB - KeyEsc = KeyESC - KeyEscape = KeyESC - KeyEnter = KeyCR - KeyBackspace2 = KeyDEL -) diff --git a/vendor/github.com/gdamore/tcell/mouse.go b/vendor/github.com/gdamore/tcell/mouse.go deleted file mode 100644 index 8c51c98e..00000000 --- a/vendor/github.com/gdamore/tcell/mouse.go +++ /dev/null @@ -1,97 +0,0 @@ -// Copyright 2015 The TCell Authors -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use file except in compliance with the License. -// You may obtain a copy of the license at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package tcell - -import ( - "time" -) - -// EventMouse is a mouse event. It is sent on either mouse up or mouse down -// events. It is also sent on mouse motion events - if the terminal supports -// it. We make every effort to ensure that mouse release events are delivered. -// Hence, click drag can be identified by a motion event with the mouse down, -// without any intervening button release. On some terminals only the initiating -// press and terminating release event will be delivered. -// -// Mouse wheel events, when reported, may appear on their own as individual -// impulses; that is, there will normally not be a release event delivered -// for mouse wheel movements. -// -// Most terminals cannot report the state of more than one button at a time -- -// and some cannot report motion events unless a button is pressed. -// -// Applications can inspect the time between events to resolve double or -// triple clicks. -type EventMouse struct { - t time.Time - btn ButtonMask - mod ModMask - x int - y int -} - -// When returns the time when this EventMouse was created. -func (ev *EventMouse) When() time.Time { - return ev.t -} - -// Buttons returns the list of buttons that were pressed or wheel motions. -func (ev *EventMouse) Buttons() ButtonMask { - return ev.btn -} - -// Modifiers returns a list of keyboard modifiers that were pressed -// with the mouse button(s). -func (ev *EventMouse) Modifiers() ModMask { - return ev.mod -} - -// Position returns the mouse position in character cells. The origin -// 0, 0 is at the upper left corner. -func (ev *EventMouse) Position() (int, int) { - return ev.x, ev.y -} - -// NewEventMouse is used to create a new mouse event. Applications -// shouldn't need to use this; its mostly for screen implementors. -func NewEventMouse(x, y int, btn ButtonMask, mod ModMask) *EventMouse { - return &EventMouse{t: time.Now(), x: x, y: y, btn: btn, mod: mod} -} - -// ButtonMask is a mask of mouse buttons and wheel events. Mouse button presses -// are normally delivered as both press and release events. Mouse wheel events -// are normally just single impulse events. Windows supports up to eight -// separate buttons plus all four wheel directions, but XTerm can only support -// mouse buttons 1-3 and wheel up/down. Its not unheard of for terminals -// to support only one or two buttons (think Macs). Old terminals, and true -// emulations (such as vt100) won't support mice at all, of course. -type ButtonMask int16 - -// These are the actual button values. -const ( - Button1 ButtonMask = 1 << iota // Usually left mouse button. - Button2 // Usually the middle mouse button. - Button3 // Usually the right mouse button. - Button4 // Often a side button (thumb/next). - Button5 // Often a side button (thumb/prev). - Button6 - Button7 - Button8 - WheelUp // Wheel motion up/away from user. - WheelDown // Wheel motion down/towards user. - WheelLeft // Wheel motion to left. - WheelRight // Wheel motion to right. - ButtonNone ButtonMask = 0 // No button or wheel events. -) diff --git a/vendor/github.com/gdamore/tcell/resize.go b/vendor/github.com/gdamore/tcell/resize.go deleted file mode 100644 index 0385673c..00000000 --- a/vendor/github.com/gdamore/tcell/resize.go +++ /dev/null @@ -1,42 +0,0 @@ -// Copyright 2015 The TCell Authors -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use file except in compliance with the License. -// You may obtain a copy of the license at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package tcell - -import ( - "time" -) - -// EventResize is sent when the window size changes. -type EventResize struct { - t time.Time - w int - h int -} - -// NewEventResize creates an EventResize with the new updated window size, -// which is given in character cells. -func NewEventResize(width, height int) *EventResize { - return &EventResize{t: time.Now(), w: width, h: height} -} - -// When returns the time when the Event was created. -func (ev *EventResize) When() time.Time { - return ev.t -} - -// Size returns the new window size as width, height in character cells. -func (ev *EventResize) Size() (int, int) { - return ev.w, ev.h -} diff --git a/vendor/github.com/gdamore/tcell/runes.go b/vendor/github.com/gdamore/tcell/runes.go deleted file mode 100644 index ed9c63b5..00000000 --- a/vendor/github.com/gdamore/tcell/runes.go +++ /dev/null @@ -1,111 +0,0 @@ -// Copyright 2015 The TCell Authors -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use file except in compliance with the License. -// You may obtain a copy of the license at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package tcell - -// The names of these constants are chosen to match Terminfo names, -// modulo case, and changing the prefix from ACS_ to Rune. These are -// the runes we provide extra special handling for, with ASCII fallbacks -// for terminals that lack them. -const ( - RuneSterling = '£' - RuneDArrow = '↓' - RuneLArrow = '←' - RuneRArrow = '→' - RuneUArrow = '↑' - RuneBullet = '·' - RuneBoard = '░' - RuneCkBoard = '▒' - RuneDegree = '°' - RuneDiamond = '◆' - RuneGEqual = '≥' - RunePi = 'π' - RuneHLine = '─' - RuneLantern = '§' - RunePlus = '┼' - RuneLEqual = '≤' - RuneLLCorner = '└' - RuneLRCorner = '┘' - RuneNEqual = '≠' - RunePlMinus = '±' - RuneS1 = '⎺' - RuneS3 = '⎻' - RuneS7 = '⎼' - RuneS9 = '⎽' - RuneBlock = '█' - RuneTTee = '┬' - RuneRTee = '┤' - RuneLTee = '├' - RuneBTee = '┴' - RuneULCorner = '┌' - RuneURCorner = '┐' - RuneVLine = '│' -) - -// RuneFallbacks is the default map of fallback strings that will be -// used to replace a rune when no other more appropriate transformation -// is available, and the rune cannot be displayed directly. -// -// New entries may be added to this map over time, as it becomes clear -// that such is desirable. Characters that represent either letters or -// numbers should not be added to this list unless it is certain that -// the meaning will still convey unambiguously. -// -// As an example, it would be appropriate to add an ASCII mapping for -// the full width form of the letter 'A', but it would not be appropriate -// to do so a glyph representing the country China. -// -// Programs that desire richer fallbacks may register additional ones, -// or change or even remove these mappings with Screen.RegisterRuneFallback -// Screen.UnregisterRuneFallback methods. -// -// Note that Unicode is presumed to be able to display all glyphs. -// This is a pretty poor assumption, but there is no easy way to -// figure out which glyphs are supported in a given font. Hence, -// some care in selecting the characters you support in your application -// is still appropriate. -var RuneFallbacks = map[rune]string{ - RuneSterling: "f", - RuneDArrow: "v", - RuneLArrow: "<", - RuneRArrow: ">", - RuneUArrow: "^", - RuneBullet: "o", - RuneBoard: "#", - RuneCkBoard: ":", - RuneDegree: "\\", - RuneDiamond: "+", - RuneGEqual: ">", - RunePi: "*", - RuneHLine: "-", - RuneLantern: "#", - RunePlus: "+", - RuneLEqual: "<", - RuneLLCorner: "+", - RuneLRCorner: "+", - RuneNEqual: "!", - RunePlMinus: "#", - RuneS1: "~", - RuneS3: "-", - RuneS7: "-", - RuneS9: "_", - RuneBlock: "#", - RuneTTee: "+", - RuneRTee: "+", - RuneLTee: "+", - RuneBTee: "+", - RuneULCorner: "+", - RuneURCorner: "+", - RuneVLine: "|", -} diff --git a/vendor/github.com/gdamore/tcell/screen.go b/vendor/github.com/gdamore/tcell/screen.go deleted file mode 100644 index 99816a01..00000000 --- a/vendor/github.com/gdamore/tcell/screen.go +++ /dev/null @@ -1,209 +0,0 @@ -// Copyright 2019 The TCell Authors -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use file except in compliance with the License. -// You may obtain a copy of the license at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package tcell - -// Screen represents the physical (or emulated) screen. -// This can be a terminal window or a physical console. Platforms implement -// this differerently. -type Screen interface { - // Init initializes the screen for use. - Init() error - - // Fini finalizes the screen also releasing resources. - Fini() - - // Clear erases the screen. The contents of any screen buffers - // will also be cleared. This has the logical effect of - // filling the screen with spaces, using the global default style. - Clear() - - // Fill fills the screen with the given character and style. - Fill(rune, Style) - - // SetCell is an older API, and will be removed. Please use - // SetContent instead; SetCell is implemented in terms of SetContent. - SetCell(x int, y int, style Style, ch ...rune) - - // GetContent returns the contents at the given location. If the - // coordinates are out of range, then the values will be 0, nil, - // StyleDefault. Note that the contents returned are logical contents - // and may not actually be what is displayed, but rather are what will - // be displayed if Show() or Sync() is called. The width is the width - // in screen cells; most often this will be 1, but some East Asian - // characters require two cells. - GetContent(x, y int) (mainc rune, combc []rune, style Style, width int) - - // SetContent sets the contents of the given cell location. If - // the coordinates are out of range, then the operation is ignored. - // - // The first rune is the primary non-zero width rune. The array - // that follows is a possible list of combining characters to append, - // and will usually be nil (no combining characters.) - // - // The results are not displayd until Show() or Sync() is called. - // - // Note that wide (East Asian full width) runes occupy two cells, - // and attempts to place character at next cell to the right will have - // undefined effects. Wide runes that are printed in the - // last column will be replaced with a single width space on output. - SetContent(x int, y int, mainc rune, combc []rune, style Style) - - // SetStyle sets the default style to use when clearing the screen - // or when StyleDefault is specified. If it is also StyleDefault, - // then whatever system/terminal default is relevant will be used. - SetStyle(style Style) - - // ShowCursor is used to display the cursor at a given location. - // If the coordinates -1, -1 are given or are otherwise outside the - // dimensions of the screen, the cursor will be hidden. - ShowCursor(x int, y int) - - // HideCursor is used to hide the cursor. Its an alias for - // ShowCursor(-1, -1). - HideCursor() - - // Size returns the screen size as width, height. This changes in - // response to a call to Clear or Flush. - Size() (int, int) - - // PollEvent waits for events to arrive. Main application loops - // must spin on this to prevent the application from stalling. - // Furthermore, this will return nil if the Screen is finalized. - PollEvent() Event - - // PostEvent tries to post an event into the event stream. This - // can fail if the event queue is full. In that case, the event - // is dropped, and ErrEventQFull is returned. - PostEvent(ev Event) error - - // PostEventWait is like PostEvent, but if the queue is full, it - // blocks until there is space in the queue, making delivery - // reliable. However, it is VERY important that this function - // never be called from within whatever event loop is polling - // with PollEvent(), otherwise a deadlock may arise. - // - // For this reason, when using this function, the use of a - // Goroutine is recommended to ensure no deadlock can occur. - PostEventWait(ev Event) - - // EnableMouse enables the mouse. (If your terminal supports it.) - EnableMouse() - - // DisableMouse disables the mouse. - DisableMouse() - - // HasMouse returns true if the terminal (apparently) supports a - // mouse. Note that the a return value of true doesn't guarantee that - // a mouse/pointing device is present; a false return definitely - // indicates no mouse support is available. - HasMouse() bool - - // Colors returns the number of colors. All colors are assumed to - // use the ANSI color map. If a terminal is monochrome, it will - // return 0. - Colors() int - - // Show makes all the content changes made using SetContent() visible - // on the display. - // - // It does so in the most efficient and least visually disruptive - // manner possible. - Show() - - // Sync works like Show(), but it updates every visible cell on the - // physical display, assuming that it is not synchronized with any - // internal model. This may be both expensive and visually jarring, - // so it should only be used when believed to actually be necessary. - // - // Typically this is called as a result of a user-requested redraw - // (e.g. to clear up on screen corruption caused by some other program), - // or during a resize event. - Sync() - - // CharacterSet returns information about the character set. - // This isn't the full locale, but it does give us the input/output - // character set. Note that this is just for diagnostic purposes, - // we normally translate input/output to/from UTF-8, regardless of - // what the user's environment is. - CharacterSet() string - - // RegisterRuneFallback adds a fallback for runes that are not - // part of the character set -- for example one coudld register - // o as a fallback for ø. This should be done cautiously for - // characters that might be displayed ordinarily in language - // specific text -- characters that could change the meaning of - // of written text would be dangerous. The intention here is to - // facilitate fallback characters in pseudo-graphical applications. - // - // If the terminal has fallbacks already in place via an alternate - // character set, those are used in preference. Also, standard - // fallbacks for graphical characters in the ACSC terminfo string - // are registered implicitly. - - // The display string should be the same width as original rune. - // This makes it possible to register two character replacements - // for full width East Asian characters, for example. - // - // It is recommended that replacement strings consist only of - // 7-bit ASCII, since other characters may not display everywhere. - RegisterRuneFallback(r rune, subst string) - - // UnregisterRuneFallback unmaps a replacement. It will unmap - // the implicit ASCII replacements for alternate characters as well. - // When an unmapped char needs to be displayed, but no suitable - // glyph is available, '?' is emitted instead. It is not possible - // to "disable" the use of alternate characters that are supported - // by your terminal except by changing the terminal database. - UnregisterRuneFallback(r rune) - - // CanDisplay returns true if the given rune can be displayed on - // this screen. Note that this is a best guess effort -- whether - // your fonts support the character or not may be questionable. - // Mostly this is for folks who work outside of Unicode. - // - // If checkFallbacks is true, then if any (possibly imperfect) - // fallbacks are registered, this will return true. This will - // also return true if the terminal can replace the glyph with - // one that is visually indistinguishable from the one requested. - CanDisplay(r rune, checkFallbacks bool) bool - - // Resize does nothing, since its generally not possible to - // ask a screen to resize, but it allows the Screen to implement - // the View interface. - Resize(int, int, int, int) - - // HasKey returns true if the keyboard is believed to have the - // key. In some cases a keyboard may have keys with this name - // but no support for them, while in others a key may be reported - // as supported but not actually be usable (such as some emulators - // that hijack certain keys). Its best not to depend to strictly - // on this function, but it can be used for hinting when building - // menus, displayed hot-keys, etc. Note that KeyRune (literal - // runes) is always true. - HasKey(Key) bool -} - -// NewScreen returns a default Screen suitable for the user's terminal -// environment. -func NewScreen() (Screen, error) { - // Windows is happier if we try for a console screen first. - if s, _ := NewConsoleScreen(); s != nil { - return s, nil - } else if s, e := NewTerminfoScreen(); s != nil { - return s, nil - } else { - return nil, e - } -} diff --git a/vendor/github.com/gdamore/tcell/simulation.go b/vendor/github.com/gdamore/tcell/simulation.go deleted file mode 100644 index 850a7b3d..00000000 --- a/vendor/github.com/gdamore/tcell/simulation.go +++ /dev/null @@ -1,508 +0,0 @@ -// Copyright 2016 The TCell Authors -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use file except in compliance with the License. -// You may obtain a copy of the license at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package tcell - -import ( - "sync" - "unicode/utf8" - - "golang.org/x/text/transform" -) - -// NewSimulationScreen returns a SimulationScreen. Note that -// SimulationScreen is also a Screen. -func NewSimulationScreen(charset string) SimulationScreen { - if charset == "" { - charset = "UTF-8" - } - s := &simscreen{charset: charset} - return s -} - -// SimulationScreen represents a screen simulation. This is intended to -// be a superset of normal Screens, but also adds some important interfaces -// for testing. -type SimulationScreen interface { - // InjectKeyBytes injects a stream of bytes corresponding to - // the native encoding (see charset). It turns true if the entire - // set of bytes were processed and delivered as KeyEvents, false - // if any bytes were not fully understood. Any bytes that are not - // fully converted are discarded. - InjectKeyBytes(buf []byte) bool - - // InjectKey injects a key event. The rune is a UTF-8 rune, post - // any translation. - InjectKey(key Key, r rune, mod ModMask) - - // InjectMouse injects a mouse event. - InjectMouse(x, y int, buttons ButtonMask, mod ModMask) - - // SetSize resizes the underlying physical screen. It also causes - // a resize event to be injected during the next Show() or Sync(). - // A new physical contents array will be allocated (with data from - // the old copied), so any prior value obtained with GetContents - // won't be used anymore - SetSize(width, height int) - - // GetContents returns screen contents as an array of - // cells, along with the physical width & height. Note that the - // physical contents will be used until the next time SetSize() - // is called. - GetContents() (cells []SimCell, width int, height int) - - // GetCursor returns the cursor details. - GetCursor() (x int, y int, visible bool) - - Screen -} - -// SimCell represents a simulated screen cell. The purpose of this -// is to track on screen content. -type SimCell struct { - // Bytes is the actual character bytes. Normally this is - // rune data, but it could be be data in another encoding system. - Bytes []byte - - // Style is the style used to display the data. - Style Style - - // Runes is the list of runes, unadulterated, in UTF-8. - Runes []rune -} - -type simscreen struct { - physw int - physh int - fini bool - style Style - evch chan Event - quit chan struct{} - - front []SimCell - back CellBuffer - clear bool - cursorx int - cursory int - cursorvis bool - mouse bool - charset string - encoder transform.Transformer - decoder transform.Transformer - fillchar rune - fillstyle Style - fallback map[rune]string - - sync.Mutex -} - -func (s *simscreen) Init() error { - s.evch = make(chan Event, 10) - s.quit = make(chan struct{}) - s.fillchar = 'X' - s.fillstyle = StyleDefault - s.mouse = false - s.physw = 80 - s.physh = 25 - s.cursorx = -1 - s.cursory = -1 - s.style = StyleDefault - - if enc := GetEncoding(s.charset); enc != nil { - s.encoder = enc.NewEncoder() - s.decoder = enc.NewDecoder() - } else { - return ErrNoCharset - } - - s.front = make([]SimCell, s.physw*s.physh) - s.back.Resize(80, 25) - - // default fallbacks - s.fallback = make(map[rune]string) - for k, v := range RuneFallbacks { - s.fallback[k] = v - } - return nil -} - -func (s *simscreen) Fini() { - s.Lock() - s.fini = true - s.back.Resize(0, 0) - s.Unlock() - if s.quit != nil { - close(s.quit) - } - s.physw = 0 - s.physh = 0 - s.front = nil -} - -func (s *simscreen) SetStyle(style Style) { - s.Lock() - s.style = style - s.Unlock() -} - -func (s *simscreen) Clear() { - s.Fill(' ', s.style) -} - -func (s *simscreen) Fill(r rune, style Style) { - s.Lock() - s.back.Fill(r, style) - s.Unlock() -} - -func (s *simscreen) SetCell(x, y int, style Style, ch ...rune) { - - if len(ch) > 0 { - s.SetContent(x, y, ch[0], ch[1:], style) - } else { - s.SetContent(x, y, ' ', nil, style) - } -} - -func (s *simscreen) SetContent(x, y int, mainc rune, combc []rune, st Style) { - - s.Lock() - s.back.SetContent(x, y, mainc, combc, st) - s.Unlock() -} - -func (s *simscreen) GetContent(x, y int) (rune, []rune, Style, int) { - var mainc rune - var combc []rune - var style Style - var width int - s.Lock() - mainc, combc, style, width = s.back.GetContent(x, y) - s.Unlock() - return mainc, combc, style, width -} - -func (s *simscreen) drawCell(x, y int) int { - - mainc, combc, style, width := s.back.GetContent(x, y) - if !s.back.Dirty(x, y) { - return width - } - if x >= s.physw || y >= s.physh || x < 0 || y < 0 { - return width - } - simc := &s.front[(y*s.physw)+x] - - if style == StyleDefault { - style = s.style - } - simc.Style = style - simc.Runes = append([]rune{mainc}, combc...) - - // now emit runes - taking care to not overrun width with a - // wide character, and to ensure that we emit exactly one regular - // character followed up by any residual combing characters - - simc.Bytes = nil - - if x > s.physw-width { - simc.Runes = []rune{' '} - simc.Bytes = []byte{' '} - return width - } - - lbuf := make([]byte, 12) - ubuf := make([]byte, 12) - nout := 0 - - for _, r := range simc.Runes { - - l := utf8.EncodeRune(ubuf, r) - - nout, _, _ = s.encoder.Transform(lbuf, ubuf[:l], true) - - if nout == 0 || lbuf[0] == '\x1a' { - - // skip combining - - if subst, ok := s.fallback[r]; ok { - simc.Bytes = append(simc.Bytes, - []byte(subst)...) - - } else if r >= ' ' && r <= '~' { - simc.Bytes = append(simc.Bytes, byte(r)) - - } else if simc.Bytes == nil { - simc.Bytes = append(simc.Bytes, '?') - } - } else { - simc.Bytes = append(simc.Bytes, lbuf[:nout]...) - } - } - s.back.SetDirty(x, y, false) - return width -} - -func (s *simscreen) ShowCursor(x, y int) { - s.Lock() - s.cursorx, s.cursory = x, y - s.showCursor() - s.Unlock() -} - -func (s *simscreen) HideCursor() { - s.ShowCursor(-1, -1) -} - -func (s *simscreen) showCursor() { - - x, y := s.cursorx, s.cursory - if x < 0 || y < 0 || x >= s.physw || y >= s.physh { - s.cursorvis = false - } else { - s.cursorvis = true - } -} - -func (s *simscreen) hideCursor() { - // does not update cursor position - s.cursorvis = false -} - -func (s *simscreen) Show() { - s.Lock() - s.resize() - s.draw() - s.Unlock() -} - -func (s *simscreen) clearScreen() { - // We emulate a hardware clear by filling with a specific pattern - for i := range s.front { - s.front[i].Style = s.fillstyle - s.front[i].Runes = []rune{s.fillchar} - s.front[i].Bytes = []byte{byte(s.fillchar)} - } - s.clear = false -} - -func (s *simscreen) draw() { - s.hideCursor() - if s.clear { - s.clearScreen() - } - - w, h := s.back.Size() - for y := 0; y < h; y++ { - for x := 0; x < w; x++ { - width := s.drawCell(x, y) - x += width - 1 - } - } - s.showCursor() -} - -func (s *simscreen) EnableMouse() { - s.mouse = true -} - -func (s *simscreen) DisableMouse() { - s.mouse = false -} - -func (s *simscreen) Size() (int, int) { - s.Lock() - w, h := s.back.Size() - s.Unlock() - return w, h -} - -func (s *simscreen) resize() { - w, h := s.physw, s.physh - ow, oh := s.back.Size() - if w != ow || h != oh { - s.back.Resize(w, h) - ev := NewEventResize(w, h) - s.PostEvent(ev) - } -} - -func (s *simscreen) Colors() int { - return 256 -} - -func (s *simscreen) PollEvent() Event { - select { - case <-s.quit: - return nil - case ev := <-s.evch: - return ev - } -} - -func (s *simscreen) PostEventWait(ev Event) { - s.evch <- ev -} - -func (s *simscreen) PostEvent(ev Event) error { - select { - case s.evch <- ev: - return nil - default: - return ErrEventQFull - } -} - -func (s *simscreen) InjectMouse(x, y int, buttons ButtonMask, mod ModMask) { - ev := NewEventMouse(x, y, buttons, mod) - s.PostEvent(ev) -} - -func (s *simscreen) InjectKey(key Key, r rune, mod ModMask) { - ev := NewEventKey(key, r, mod) - s.PostEvent(ev) -} - -func (s *simscreen) InjectKeyBytes(b []byte) bool { - failed := false - -outer: - for len(b) > 0 { - if b[0] >= ' ' && b[0] <= 0x7F { - // printable ASCII easy to deal with -- no encodings - ev := NewEventKey(KeyRune, rune(b[0]), ModNone) - s.PostEvent(ev) - b = b[1:] - continue - } - - if b[0] < 0x80 { - mod := ModNone - // No encodings start with low numbered values - if Key(b[0]) >= KeyCtrlA && Key(b[0]) <= KeyCtrlZ { - mod = ModCtrl - } - ev := NewEventKey(Key(b[0]), 0, mod) - s.PostEvent(ev) - continue - } - - utfb := make([]byte, len(b)*4) // worst case - for l := 1; l < len(b); l++ { - s.decoder.Reset() - nout, nin, _ := s.decoder.Transform(utfb, b[:l], true) - - if nout != 0 { - r, _ := utf8.DecodeRune(utfb[:nout]) - if r != utf8.RuneError { - ev := NewEventKey(KeyRune, r, ModNone) - s.PostEvent(ev) - } - b = b[nin:] - continue outer - } - } - failed = true - b = b[1:] - continue - } - - return !failed -} - -func (s *simscreen) Sync() { - s.Lock() - s.clear = true - s.resize() - s.back.Invalidate() - s.draw() - s.Unlock() -} - -func (s *simscreen) CharacterSet() string { - return s.charset -} - -func (s *simscreen) SetSize(w, h int) { - s.Lock() - newc := make([]SimCell, w*h) - for row := 0; row < h && row < s.physh; row++ { - for col := 0; col < w && col < s.physw; col++ { - newc[(row*w)+col] = s.front[(row*s.physw)+col] - } - } - s.cursorx, s.cursory = -1, -1 - s.physw, s.physh = w, h - s.front = newc - s.back.Resize(w, h) - s.Unlock() -} - -func (s *simscreen) GetContents() ([]SimCell, int, int) { - s.Lock() - cells, w, h := s.front, s.physw, s.physh - s.Unlock() - return cells, w, h -} - -func (s *simscreen) GetCursor() (int, int, bool) { - s.Lock() - x, y, vis := s.cursorx, s.cursory, s.cursorvis - s.Unlock() - return x, y, vis -} - -func (s *simscreen) RegisterRuneFallback(r rune, subst string) { - s.Lock() - s.fallback[r] = subst - s.Unlock() -} - -func (s *simscreen) UnregisterRuneFallback(r rune) { - s.Lock() - delete(s.fallback, r) - s.Unlock() -} - -func (s *simscreen) CanDisplay(r rune, checkFallbacks bool) bool { - - if enc := s.encoder; enc != nil { - nb := make([]byte, 6) - ob := make([]byte, 6) - num := utf8.EncodeRune(ob, r) - - enc.Reset() - dst, _, err := enc.Transform(nb, ob[:num], true) - if dst != 0 && err == nil && nb[0] != '\x1A' { - return true - } - } - if !checkFallbacks { - return false - } - if _, ok := s.fallback[r]; ok { - return true - } - return false -} - -func (s *simscreen) HasMouse() bool { - return false -} - -func (s *simscreen) Resize(int, int, int, int) {} - -func (s *simscreen) HasKey(Key) bool { - return true -} diff --git a/vendor/github.com/gdamore/tcell/style.go b/vendor/github.com/gdamore/tcell/style.go deleted file mode 100644 index c4ee9351..00000000 --- a/vendor/github.com/gdamore/tcell/style.go +++ /dev/null @@ -1,126 +0,0 @@ -// Copyright 2015 The TCell Authors -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use file except in compliance with the License. -// You may obtain a copy of the license at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package tcell - -// Style represents a complete text style, including both foreground -// and background color. We encode it in a 64-bit int for efficiency. -// The coding is (MSB): <7b flags><1b><24b fgcolor><7b attr><1b><24b bgcolor>. -// The <1b> is set true to indicate that the color is an RGB color, rather -// than a named index. -// -// This gives 24bit color options, if it ever becomes truly necessary. -// However, applications must not rely on this encoding. -// -// Note that not all terminals can display all colors or attributes, and -// many might have specific incompatibilities between specific attributes -// and color combinations. -// -// The intention is to extend styles to support paletting, in which case -// some flag bit(s) would be set, and the foreground and background colors -// would be replaced with a palette number and palette index. -// -// To use Style, just declare a variable of its type. -type Style int64 - -// StyleDefault represents a default style, based upon the context. -// It is the zero value. -const StyleDefault Style = 0 - -// styleFlags -- used internally for now. -const ( - styleBgSet = 1 << (iota + 57) - styleFgSet - stylePalette -) - -// Foreground returns a new style based on s, with the foreground color set -// as requested. ColorDefault can be used to select the global default. -func (s Style) Foreground(c Color) Style { - if c == ColorDefault { - return (s &^ (0x1ffffff00000000 | styleFgSet)) - } - return (s &^ Style(0x1ffffff00000000)) | - ((Style(c) & 0x1ffffff) << 32) | styleFgSet -} - -// Background returns a new style based on s, with the background color set -// as requested. ColorDefault can be used to select the global default. -func (s Style) Background(c Color) Style { - if c == ColorDefault { - return (s &^ (0x1ffffff | styleBgSet)) - } - return (s &^ (0x1ffffff)) | (Style(c) & 0x1ffffff) | styleBgSet -} - -// Decompose breaks a style up, returning the foreground, background, -// and other attributes. -func (s Style) Decompose() (fg Color, bg Color, attr AttrMask) { - if s&styleFgSet != 0 { - fg = Color(s>>32) & 0x1ffffff - } else { - fg = ColorDefault - } - if s&styleBgSet != 0 { - bg = Color(s & 0x1ffffff) - } else { - bg = ColorDefault - } - attr = AttrMask(s) & attrAll - - return fg, bg, attr -} - -func (s Style) setAttrs(attrs Style, on bool) Style { - if on { - return s | attrs - } - return s &^ attrs -} - -// Normal returns the style with all attributes disabled. -func (s Style) Normal() Style { - return s &^ Style(attrAll) -} - -// Bold returns a new style based on s, with the bold attribute set -// as requested. -func (s Style) Bold(on bool) Style { - return s.setAttrs(Style(AttrBold), on) -} - -// Blink returns a new style based on s, with the blink attribute set -// as requested. -func (s Style) Blink(on bool) Style { - return s.setAttrs(Style(AttrBlink), on) -} - -// Dim returns a new style based on s, with the dim attribute set -// as requested. -func (s Style) Dim(on bool) Style { - return s.setAttrs(Style(AttrDim), on) -} - -// Reverse returns a new style based on s, with the reverse attribute set -// as requested. (Reverse usually changes the foreground and background -// colors.) -func (s Style) Reverse(on bool) Style { - return s.setAttrs(Style(AttrReverse), on) -} - -// Underline returns a new style based on s, with the underline attribute set -// as requested. -func (s Style) Underline(on bool) Style { - return s.setAttrs(Style(AttrUnderline), on) -} diff --git a/vendor/github.com/gdamore/tcell/terminfo/.gitignore b/vendor/github.com/gdamore/tcell/terminfo/.gitignore deleted file mode 100644 index 74f3c04f..00000000 --- a/vendor/github.com/gdamore/tcell/terminfo/.gitignore +++ /dev/null @@ -1 +0,0 @@ -mkinfo diff --git a/vendor/github.com/gdamore/tcell/terminfo/README.md b/vendor/github.com/gdamore/tcell/terminfo/README.md deleted file mode 100644 index b3337014..00000000 --- a/vendor/github.com/gdamore/tcell/terminfo/README.md +++ /dev/null @@ -1,8 +0,0 @@ -To run the database: - -./mkinfo -all - -You can also generate a single entry: - -./mkinfo -db - diff --git a/vendor/github.com/gdamore/tcell/terminfo/TERMINALS.md b/vendor/github.com/gdamore/tcell/terminfo/TERMINALS.md deleted file mode 100644 index 85c1e61c..00000000 --- a/vendor/github.com/gdamore/tcell/terminfo/TERMINALS.md +++ /dev/null @@ -1,7 +0,0 @@ -TERMINALS -========= - -The best way to populate terminals on Debian is to install ncurses, -ncurses-term, screen, tmux, rxvt-unicode, and dvtm. This populates the -the terminfo database so that we can have a reasonable set of starting -terminals. diff --git a/vendor/github.com/gdamore/tcell/terminfo/mkinfo.go b/vendor/github.com/gdamore/tcell/terminfo/mkinfo.go deleted file mode 100644 index 53e8d873..00000000 --- a/vendor/github.com/gdamore/tcell/terminfo/mkinfo.go +++ /dev/null @@ -1,888 +0,0 @@ -// +build ignore - -// Copyright 2019 The TCell Authors -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use file except in compliance with the License. -// You may obtain a copy of the license at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -// This command is used to generate suitable configuration files in either -// go syntax or in JSON. It defaults to JSON output on stdout. If no -// term values are specified on the command line, then $TERM is used. -// -// Usage is like this: -// -// mkinfo [-init] [-go file.go] [-json file.json] [-quiet] [-nofatal] [...] -// -// -all scan terminfo to determine database entries to use -// -db generate database entries (database/*), implied for -all -// -gzip specifies output should be compressed (json only) -// -go specifies Go output into the named file. Use - for stdout. -// -json specifies JSON output in the named file. Use - for stdout -// -nofatal indicates that errors loading definitions should not be fatal -// - -package main - -import ( - "bufio" - "bytes" - "compress/gzip" - "crypto/sha1" - "encoding/json" - "errors" - "flag" - "fmt" - "io" - "os" - "os/exec" - "path" - "regexp" - "strconv" - "strings" - - "github.com/gdamore/tcell/terminfo" -) - -type termcap struct { - name string - desc string - aliases []string - bools map[string]bool - nums map[string]int - strs map[string]string -} - -func (tc *termcap) getnum(s string) int { - return (tc.nums[s]) -} - -func (tc *termcap) getflag(s string) bool { - return (tc.bools[s]) -} - -func (tc *termcap) getstr(s string) string { - return (tc.strs[s]) -} - -const ( - NONE = iota - CTRL - ESC -) - -var notaddressable = errors.New("terminal not cursor addressable") - -func unescape(s string) string { - // Various escapes are in \x format. Control codes are - // encoded as ^M (carat followed by ASCII equivalent). - // Escapes are: \e, \E - escape - // \0 NULL, \n \l \r \t \b \f \s for equivalent C escape. - buf := &bytes.Buffer{} - esc := NONE - - for i := 0; i < len(s); i++ { - c := s[i] - switch esc { - case NONE: - switch c { - case '\\': - esc = ESC - case '^': - esc = CTRL - default: - buf.WriteByte(c) - } - case CTRL: - buf.WriteByte(c - 0x40) - esc = NONE - case ESC: - switch c { - case 'E', 'e': - buf.WriteByte(0x1b) - case '0', '1', '2', '3', '4', '5', '6', '7': - if i+2 < len(s) && s[i+1] >= '0' && s[i+1] <= '7' && s[i+2] >= '0' && s[i+2] <= '7' { - buf.WriteByte(((c - '0') * 64) + ((s[i+1] - '0') * 8) + (s[i+2] - '0')) - i = i + 2 - } else if c == '0' { - buf.WriteByte(0) - } - case 'n': - buf.WriteByte('\n') - case 'r': - buf.WriteByte('\r') - case 't': - buf.WriteByte('\t') - case 'b': - buf.WriteByte('\b') - case 'f': - buf.WriteByte('\f') - case 's': - buf.WriteByte(' ') - case 'l': - panic("WTF: weird format: " + s) - default: - buf.WriteByte(c) - } - esc = NONE - } - } - return (buf.String()) -} - -func getallterms() ([]string, error) { - out := []string{} - cmd := exec.Command("toe", "-a") - output := &bytes.Buffer{} - cmd.Stdout = output - err := cmd.Run() - if err != nil { - return nil, err - } - lines := strings.Split(output.String(), "\n") - for _, l := range lines { - fields := strings.Fields(l) - if len(fields) > 0 { - out = append(out, fields[0]) - } - } - return out, nil -} - -func (tc *termcap) setupterm(name string) error { - cmd := exec.Command("infocmp", "-1", name) - output := &bytes.Buffer{} - cmd.Stdout = output - - tc.strs = make(map[string]string) - tc.bools = make(map[string]bool) - tc.nums = make(map[string]int) - - err := cmd.Run() - if err != nil { - return err - } - - // Now parse the output. - // We get comment lines (starting with "#"), followed by - // a header line that looks like "||...|" - // then capabilities, one per line, starting with a tab and ending - // with a comma and newline. - lines := strings.Split(output.String(), "\n") - for len(lines) > 0 && strings.HasPrefix(lines[0], "#") { - lines = lines[1:] - } - - // Ditch trailing empty last line - if lines[len(lines)-1] == "" { - lines = lines[:len(lines)-1] - } - header := lines[0] - if strings.HasSuffix(header, ",") { - header = header[:len(header)-1] - } - names := strings.Split(header, "|") - tc.name = names[0] - names = names[1:] - if len(names) > 0 { - tc.desc = names[len(names)-1] - names = names[:len(names)-1] - } - tc.aliases = names - for _, val := range lines[1:] { - if (!strings.HasPrefix(val, "\t")) || - (!strings.HasSuffix(val, ",")) { - return (errors.New("malformed infocmp: " + val)) - } - - val = val[1:] - val = val[:len(val)-1] - - if k := strings.SplitN(val, "=", 2); len(k) == 2 { - tc.strs[k[0]] = unescape(k[1]) - } else if k := strings.SplitN(val, "#", 2); len(k) == 2 { - if u, err := strconv.ParseUint(k[1], 0, 0); err != nil { - return (err) - } else { - tc.nums[k[0]] = int(u) - } - } else { - tc.bools[val] = true - } - } - return nil -} - -// This program is used to collect data from the system's terminfo library, -// and write it into Go source code. That is, we maintain our terminfo -// capabilities encoded in the program. It should never need to be run by -// an end user, but developers can use this to add codes for additional -// terminal types. -func getinfo(name string) (*terminfo.Terminfo, string, error) { - var tc termcap - if err := tc.setupterm(name); err != nil { - if err != nil { - return nil, "", err - } - } - t := &terminfo.Terminfo{} - // If this is an alias record, then just emit the alias - t.Name = tc.name - if t.Name != name { - return t, "", nil - } - t.Aliases = tc.aliases - t.Colors = tc.getnum("colors") - t.Columns = tc.getnum("cols") - t.Lines = tc.getnum("lines") - t.Bell = tc.getstr("bel") - t.Clear = tc.getstr("clear") - t.EnterCA = tc.getstr("smcup") - t.ExitCA = tc.getstr("rmcup") - t.ShowCursor = tc.getstr("cnorm") - t.HideCursor = tc.getstr("civis") - t.AttrOff = tc.getstr("sgr0") - t.Underline = tc.getstr("smul") - t.Bold = tc.getstr("bold") - t.Blink = tc.getstr("blink") - t.Dim = tc.getstr("dim") - t.Reverse = tc.getstr("rev") - t.EnterKeypad = tc.getstr("smkx") - t.ExitKeypad = tc.getstr("rmkx") - t.SetFg = tc.getstr("setaf") - t.SetBg = tc.getstr("setab") - t.SetCursor = tc.getstr("cup") - t.CursorBack1 = tc.getstr("cub1") - t.CursorUp1 = tc.getstr("cuu1") - t.KeyF1 = tc.getstr("kf1") - t.KeyF2 = tc.getstr("kf2") - t.KeyF3 = tc.getstr("kf3") - t.KeyF4 = tc.getstr("kf4") - t.KeyF5 = tc.getstr("kf5") - t.KeyF6 = tc.getstr("kf6") - t.KeyF7 = tc.getstr("kf7") - t.KeyF8 = tc.getstr("kf8") - t.KeyF9 = tc.getstr("kf9") - t.KeyF10 = tc.getstr("kf10") - t.KeyF11 = tc.getstr("kf11") - t.KeyF12 = tc.getstr("kf12") - t.KeyF13 = tc.getstr("kf13") - t.KeyF14 = tc.getstr("kf14") - t.KeyF15 = tc.getstr("kf15") - t.KeyF16 = tc.getstr("kf16") - t.KeyF17 = tc.getstr("kf17") - t.KeyF18 = tc.getstr("kf18") - t.KeyF19 = tc.getstr("kf19") - t.KeyF20 = tc.getstr("kf20") - t.KeyF21 = tc.getstr("kf21") - t.KeyF22 = tc.getstr("kf22") - t.KeyF23 = tc.getstr("kf23") - t.KeyF24 = tc.getstr("kf24") - t.KeyF25 = tc.getstr("kf25") - t.KeyF26 = tc.getstr("kf26") - t.KeyF27 = tc.getstr("kf27") - t.KeyF28 = tc.getstr("kf28") - t.KeyF29 = tc.getstr("kf29") - t.KeyF30 = tc.getstr("kf30") - t.KeyF31 = tc.getstr("kf31") - t.KeyF32 = tc.getstr("kf32") - t.KeyF33 = tc.getstr("kf33") - t.KeyF34 = tc.getstr("kf34") - t.KeyF35 = tc.getstr("kf35") - t.KeyF36 = tc.getstr("kf36") - t.KeyF37 = tc.getstr("kf37") - t.KeyF38 = tc.getstr("kf38") - t.KeyF39 = tc.getstr("kf39") - t.KeyF40 = tc.getstr("kf40") - t.KeyF41 = tc.getstr("kf41") - t.KeyF42 = tc.getstr("kf42") - t.KeyF43 = tc.getstr("kf43") - t.KeyF44 = tc.getstr("kf44") - t.KeyF45 = tc.getstr("kf45") - t.KeyF46 = tc.getstr("kf46") - t.KeyF47 = tc.getstr("kf47") - t.KeyF48 = tc.getstr("kf48") - t.KeyF49 = tc.getstr("kf49") - t.KeyF50 = tc.getstr("kf50") - t.KeyF51 = tc.getstr("kf51") - t.KeyF52 = tc.getstr("kf52") - t.KeyF53 = tc.getstr("kf53") - t.KeyF54 = tc.getstr("kf54") - t.KeyF55 = tc.getstr("kf55") - t.KeyF56 = tc.getstr("kf56") - t.KeyF57 = tc.getstr("kf57") - t.KeyF58 = tc.getstr("kf58") - t.KeyF59 = tc.getstr("kf59") - t.KeyF60 = tc.getstr("kf60") - t.KeyF61 = tc.getstr("kf61") - t.KeyF62 = tc.getstr("kf62") - t.KeyF63 = tc.getstr("kf63") - t.KeyF64 = tc.getstr("kf64") - t.KeyInsert = tc.getstr("kich1") - t.KeyDelete = tc.getstr("kdch1") - t.KeyBackspace = tc.getstr("kbs") - t.KeyHome = tc.getstr("khome") - t.KeyEnd = tc.getstr("kend") - t.KeyUp = tc.getstr("kcuu1") - t.KeyDown = tc.getstr("kcud1") - t.KeyRight = tc.getstr("kcuf1") - t.KeyLeft = tc.getstr("kcub1") - t.KeyPgDn = tc.getstr("knp") - t.KeyPgUp = tc.getstr("kpp") - t.KeyBacktab = tc.getstr("kcbt") - t.KeyExit = tc.getstr("kext") - t.KeyCancel = tc.getstr("kcan") - t.KeyPrint = tc.getstr("kprt") - t.KeyHelp = tc.getstr("khlp") - t.KeyClear = tc.getstr("kclr") - t.AltChars = tc.getstr("acsc") - t.EnterAcs = tc.getstr("smacs") - t.ExitAcs = tc.getstr("rmacs") - t.EnableAcs = tc.getstr("enacs") - t.Mouse = tc.getstr("kmous") - t.KeyShfRight = tc.getstr("kRIT") - t.KeyShfLeft = tc.getstr("kLFT") - t.KeyShfHome = tc.getstr("kHOM") - t.KeyShfEnd = tc.getstr("kEND") - - // Terminfo lacks descriptions for a bunch of modified keys, - // but modern XTerm and emulators often have them. Let's add them, - // if the shifted right and left arrows are defined. - if t.KeyShfRight == "\x1b[1;2C" && t.KeyShfLeft == "\x1b[1;2D" { - t.KeyShfUp = "\x1b[1;2A" - t.KeyShfDown = "\x1b[1;2B" - t.KeyMetaUp = "\x1b[1;9A" - t.KeyMetaDown = "\x1b[1;9B" - t.KeyMetaRight = "\x1b[1;9C" - t.KeyMetaLeft = "\x1b[1;9D" - t.KeyAltUp = "\x1b[1;3A" - t.KeyAltDown = "\x1b[1;3B" - t.KeyAltRight = "\x1b[1;3C" - t.KeyAltLeft = "\x1b[1;3D" - t.KeyCtrlUp = "\x1b[1;5A" - t.KeyCtrlDown = "\x1b[1;5B" - t.KeyCtrlRight = "\x1b[1;5C" - t.KeyCtrlLeft = "\x1b[1;5D" - t.KeyAltShfUp = "\x1b[1;4A" - t.KeyAltShfDown = "\x1b[1;4B" - t.KeyAltShfRight = "\x1b[1;4C" - t.KeyAltShfLeft = "\x1b[1;4D" - - t.KeyMetaShfUp = "\x1b[1;10A" - t.KeyMetaShfDown = "\x1b[1;10B" - t.KeyMetaShfRight = "\x1b[1;10C" - t.KeyMetaShfLeft = "\x1b[1;10D" - - t.KeyCtrlShfUp = "\x1b[1;6A" - t.KeyCtrlShfDown = "\x1b[1;6B" - t.KeyCtrlShfRight = "\x1b[1;6C" - t.KeyCtrlShfLeft = "\x1b[1;6D" - } - // And also for Home and End - if t.KeyShfHome == "\x1b[1;2H" && t.KeyShfEnd == "\x1b[1;2F" { - t.KeyCtrlHome = "\x1b[1;5H" - t.KeyCtrlEnd = "\x1b[1;5F" - t.KeyAltHome = "\x1b[1;9H" - t.KeyAltEnd = "\x1b[1;9F" - t.KeyCtrlShfHome = "\x1b[1;6H" - t.KeyCtrlShfEnd = "\x1b[1;6F" - t.KeyAltShfHome = "\x1b[1;4H" - t.KeyAltShfEnd = "\x1b[1;4F" - t.KeyMetaShfHome = "\x1b[1;10H" - t.KeyMetaShfEnd = "\x1b[1;10F" - } - - // And the same thing for rxvt and workalikes (Eterm, aterm, etc.) - // It seems that urxvt at least send ESC as ALT prefix for these, - // although some places seem to indicate a separate ALT key sesquence. - if t.KeyShfRight == "\x1b[c" && t.KeyShfLeft == "\x1b[d" { - t.KeyShfUp = "\x1b[a" - t.KeyShfDown = "\x1b[b" - t.KeyCtrlUp = "\x1b[Oa" - t.KeyCtrlDown = "\x1b[Ob" - t.KeyCtrlRight = "\x1b[Oc" - t.KeyCtrlLeft = "\x1b[Od" - } - if t.KeyShfHome == "\x1b[7$" && t.KeyShfEnd == "\x1b[8$" { - t.KeyCtrlHome = "\x1b[7^" - t.KeyCtrlEnd = "\x1b[8^" - } - - // If the kmous entry is present, then we need to record the - // the codes to enter and exit mouse mode. Sadly, this is not - // part of the terminfo databases anywhere that I've found, but - // is an extension. The escape codes are documented in the XTerm - // manual, and all terminals that have kmous are expected to - // use these same codes, unless explicitly configured otherwise - // vi XM. Note that in any event, we only known how to parse either - // x11 or SGR mouse events -- if your terminal doesn't support one - // of these two forms, you maybe out of luck. - t.MouseMode = tc.getstr("XM") - if t.Mouse != "" && t.MouseMode == "" { - // we anticipate that all xterm mouse tracking compatible - // terminals understand mouse tracking (1000), but we hope - // that those that don't understand any-event tracking (1003) - // will at least ignore it. Likewise we hope that terminals - // that don't understand SGR reporting (1006) just ignore it. - t.MouseMode = "%?%p1%{1}%=%t%'h'%Pa%e%'l'%Pa%;" + - "\x1b[?1000%ga%c\x1b[?1002%ga%c\x1b[?1003%ga%c\x1b[?1006%ga%c" - } - - // We only support colors in ANSI 8 or 256 color mode. - if t.Colors < 8 || t.SetFg == "" { - t.Colors = 0 - } - if t.SetCursor == "" { - return nil, "", notaddressable - } - - // For padding, we lookup the pad char. If that isn't present, - // and npc is *not* set, then we assume a null byte. - t.PadChar = tc.getstr("pad") - if t.PadChar == "" { - if !tc.getflag("npc") { - t.PadChar = "\u0000" - } - } - - // For terminals that use "standard" SGR sequences, lets combine the - // foreground and background together. - if strings.HasPrefix(t.SetFg, "\x1b[") && - strings.HasPrefix(t.SetBg, "\x1b[") && - strings.HasSuffix(t.SetFg, "m") && - strings.HasSuffix(t.SetBg, "m") { - fg := t.SetFg[:len(t.SetFg)-1] - r := regexp.MustCompile("%p1") - bg := r.ReplaceAllString(t.SetBg[2:], "%p2") - t.SetFgBg = fg + ";" + bg - } - - return t, tc.desc, nil -} - -func dotGoAddInt(w io.Writer, n string, i int) { - if i == 0 { - // initialized to 0, ignore - return - } - fmt.Fprintf(w, "\t\t%-13s %d,\n", n+":", i) -} -func dotGoAddStr(w io.Writer, n string, s string) { - if s == "" { - return - } - fmt.Fprintf(w, "\t\t%-13s %q,\n", n+":", s) -} - -func dotGoAddArr(w io.Writer, n string, a []string) { - if len(a) == 0 { - return - } - fmt.Fprintf(w, "\t\t%-13s []string{", n+":") - did := false - for _, b := range a { - if did { - fmt.Fprint(w, ", ") - } - did = true - fmt.Fprintf(w, "%q", b) - } - fmt.Fprintln(w, "},") -} - -func dotGoHeader(w io.Writer, packname string) { - fmt.Fprintln(w, "// Generated automatically. DO NOT HAND-EDIT.") - fmt.Fprintln(w, "") - fmt.Fprintf(w, "package %s\n", packname) - fmt.Fprintln(w, "") -} - -func dotGoTrailer(w io.Writer) { -} - -func dotGoInfo(w io.Writer, t *terminfo.Terminfo, desc string) { - - fmt.Fprintln(w, "") - fmt.Fprintln(w, "func init() {") - fmt.Fprintf(w, "\t// %s\n", desc) - fmt.Fprintln(w, "\tAddTerminfo(&Terminfo{") - dotGoAddStr(w, "Name", t.Name) - dotGoAddArr(w, "Aliases", t.Aliases) - dotGoAddInt(w, "Columns", t.Columns) - dotGoAddInt(w, "Lines", t.Lines) - dotGoAddInt(w, "Colors", t.Colors) - dotGoAddStr(w, "Bell", t.Bell) - dotGoAddStr(w, "Clear", t.Clear) - dotGoAddStr(w, "EnterCA", t.EnterCA) - dotGoAddStr(w, "ExitCA", t.ExitCA) - dotGoAddStr(w, "ShowCursor", t.ShowCursor) - dotGoAddStr(w, "HideCursor", t.HideCursor) - dotGoAddStr(w, "AttrOff", t.AttrOff) - dotGoAddStr(w, "Underline", t.Underline) - dotGoAddStr(w, "Bold", t.Bold) - dotGoAddStr(w, "Dim", t.Dim) - dotGoAddStr(w, "Blink", t.Blink) - dotGoAddStr(w, "Reverse", t.Reverse) - dotGoAddStr(w, "EnterKeypad", t.EnterKeypad) - dotGoAddStr(w, "ExitKeypad", t.ExitKeypad) - dotGoAddStr(w, "SetFg", t.SetFg) - dotGoAddStr(w, "SetBg", t.SetBg) - dotGoAddStr(w, "SetFgBg", t.SetFgBg) - dotGoAddStr(w, "PadChar", t.PadChar) - dotGoAddStr(w, "AltChars", t.AltChars) - dotGoAddStr(w, "EnterAcs", t.EnterAcs) - dotGoAddStr(w, "ExitAcs", t.ExitAcs) - dotGoAddStr(w, "EnableAcs", t.EnableAcs) - dotGoAddStr(w, "SetFgRGB", t.SetFgRGB) - dotGoAddStr(w, "SetBgRGB", t.SetBgRGB) - dotGoAddStr(w, "SetFgBgRGB", t.SetFgBgRGB) - dotGoAddStr(w, "Mouse", t.Mouse) - dotGoAddStr(w, "MouseMode", t.MouseMode) - dotGoAddStr(w, "SetCursor", t.SetCursor) - dotGoAddStr(w, "CursorBack1", t.CursorBack1) - dotGoAddStr(w, "CursorUp1", t.CursorUp1) - dotGoAddStr(w, "KeyUp", t.KeyUp) - dotGoAddStr(w, "KeyDown", t.KeyDown) - dotGoAddStr(w, "KeyRight", t.KeyRight) - dotGoAddStr(w, "KeyLeft", t.KeyLeft) - dotGoAddStr(w, "KeyInsert", t.KeyInsert) - dotGoAddStr(w, "KeyDelete", t.KeyDelete) - dotGoAddStr(w, "KeyBackspace", t.KeyBackspace) - dotGoAddStr(w, "KeyHome", t.KeyHome) - dotGoAddStr(w, "KeyEnd", t.KeyEnd) - dotGoAddStr(w, "KeyPgUp", t.KeyPgUp) - dotGoAddStr(w, "KeyPgDn", t.KeyPgDn) - dotGoAddStr(w, "KeyF1", t.KeyF1) - dotGoAddStr(w, "KeyF2", t.KeyF2) - dotGoAddStr(w, "KeyF3", t.KeyF3) - dotGoAddStr(w, "KeyF4", t.KeyF4) - dotGoAddStr(w, "KeyF5", t.KeyF5) - dotGoAddStr(w, "KeyF6", t.KeyF6) - dotGoAddStr(w, "KeyF7", t.KeyF7) - dotGoAddStr(w, "KeyF8", t.KeyF8) - dotGoAddStr(w, "KeyF9", t.KeyF9) - dotGoAddStr(w, "KeyF10", t.KeyF10) - dotGoAddStr(w, "KeyF11", t.KeyF11) - dotGoAddStr(w, "KeyF12", t.KeyF12) - dotGoAddStr(w, "KeyF13", t.KeyF13) - dotGoAddStr(w, "KeyF14", t.KeyF14) - dotGoAddStr(w, "KeyF15", t.KeyF15) - dotGoAddStr(w, "KeyF16", t.KeyF16) - dotGoAddStr(w, "KeyF17", t.KeyF17) - dotGoAddStr(w, "KeyF18", t.KeyF18) - dotGoAddStr(w, "KeyF19", t.KeyF19) - dotGoAddStr(w, "KeyF20", t.KeyF20) - dotGoAddStr(w, "KeyF21", t.KeyF21) - dotGoAddStr(w, "KeyF22", t.KeyF22) - dotGoAddStr(w, "KeyF23", t.KeyF23) - dotGoAddStr(w, "KeyF24", t.KeyF24) - dotGoAddStr(w, "KeyF25", t.KeyF25) - dotGoAddStr(w, "KeyF26", t.KeyF26) - dotGoAddStr(w, "KeyF27", t.KeyF27) - dotGoAddStr(w, "KeyF28", t.KeyF28) - dotGoAddStr(w, "KeyF29", t.KeyF29) - dotGoAddStr(w, "KeyF30", t.KeyF30) - dotGoAddStr(w, "KeyF31", t.KeyF31) - dotGoAddStr(w, "KeyF32", t.KeyF32) - dotGoAddStr(w, "KeyF33", t.KeyF33) - dotGoAddStr(w, "KeyF34", t.KeyF34) - dotGoAddStr(w, "KeyF35", t.KeyF35) - dotGoAddStr(w, "KeyF36", t.KeyF36) - dotGoAddStr(w, "KeyF37", t.KeyF37) - dotGoAddStr(w, "KeyF38", t.KeyF38) - dotGoAddStr(w, "KeyF39", t.KeyF39) - dotGoAddStr(w, "KeyF40", t.KeyF40) - dotGoAddStr(w, "KeyF41", t.KeyF41) - dotGoAddStr(w, "KeyF42", t.KeyF42) - dotGoAddStr(w, "KeyF43", t.KeyF43) - dotGoAddStr(w, "KeyF44", t.KeyF44) - dotGoAddStr(w, "KeyF45", t.KeyF45) - dotGoAddStr(w, "KeyF46", t.KeyF46) - dotGoAddStr(w, "KeyF47", t.KeyF47) - dotGoAddStr(w, "KeyF48", t.KeyF48) - dotGoAddStr(w, "KeyF49", t.KeyF49) - dotGoAddStr(w, "KeyF50", t.KeyF50) - dotGoAddStr(w, "KeyF51", t.KeyF51) - dotGoAddStr(w, "KeyF52", t.KeyF52) - dotGoAddStr(w, "KeyF53", t.KeyF53) - dotGoAddStr(w, "KeyF54", t.KeyF54) - dotGoAddStr(w, "KeyF55", t.KeyF55) - dotGoAddStr(w, "KeyF56", t.KeyF56) - dotGoAddStr(w, "KeyF57", t.KeyF57) - dotGoAddStr(w, "KeyF58", t.KeyF58) - dotGoAddStr(w, "KeyF59", t.KeyF59) - dotGoAddStr(w, "KeyF60", t.KeyF60) - dotGoAddStr(w, "KeyF61", t.KeyF61) - dotGoAddStr(w, "KeyF62", t.KeyF62) - dotGoAddStr(w, "KeyF63", t.KeyF63) - dotGoAddStr(w, "KeyF64", t.KeyF64) - dotGoAddStr(w, "KeyCancel", t.KeyCancel) - dotGoAddStr(w, "KeyPrint", t.KeyPrint) - dotGoAddStr(w, "KeyExit", t.KeyExit) - dotGoAddStr(w, "KeyHelp", t.KeyHelp) - dotGoAddStr(w, "KeyClear", t.KeyClear) - dotGoAddStr(w, "KeyBacktab", t.KeyBacktab) - dotGoAddStr(w, "KeyShfLeft", t.KeyShfLeft) - dotGoAddStr(w, "KeyShfRight", t.KeyShfRight) - dotGoAddStr(w, "KeyShfUp", t.KeyShfUp) - dotGoAddStr(w, "KeyShfDown", t.KeyShfDown) - dotGoAddStr(w, "KeyCtrlLeft", t.KeyCtrlLeft) - dotGoAddStr(w, "KeyCtrlRight", t.KeyCtrlRight) - dotGoAddStr(w, "KeyCtrlUp", t.KeyCtrlUp) - dotGoAddStr(w, "KeyCtrlDown", t.KeyCtrlDown) - dotGoAddStr(w, "KeyMetaLeft", t.KeyMetaLeft) - dotGoAddStr(w, "KeyMetaRight", t.KeyMetaRight) - dotGoAddStr(w, "KeyMetaUp", t.KeyMetaUp) - dotGoAddStr(w, "KeyMetaDown", t.KeyMetaDown) - dotGoAddStr(w, "KeyAltLeft", t.KeyAltLeft) - dotGoAddStr(w, "KeyAltRight", t.KeyAltRight) - dotGoAddStr(w, "KeyAltUp", t.KeyAltUp) - dotGoAddStr(w, "KeyAltDown", t.KeyAltDown) - dotGoAddStr(w, "KeyAltShfLeft", t.KeyAltShfLeft) - dotGoAddStr(w, "KeyAltShfRight", t.KeyAltShfRight) - dotGoAddStr(w, "KeyAltShfUp", t.KeyAltShfUp) - dotGoAddStr(w, "KeyAltShfDown", t.KeyAltShfDown) - dotGoAddStr(w, "KeyMetaShfLeft", t.KeyMetaShfLeft) - dotGoAddStr(w, "KeyMetaShfRight", t.KeyMetaShfRight) - dotGoAddStr(w, "KeyMetaShfUp", t.KeyMetaShfUp) - dotGoAddStr(w, "KeyMetaShfDown", t.KeyMetaShfDown) - dotGoAddStr(w, "KeyCtrlShfLeft", t.KeyCtrlShfLeft) - dotGoAddStr(w, "KeyCtrlShfRight", t.KeyCtrlShfRight) - dotGoAddStr(w, "KeyCtrlShfUp", t.KeyCtrlShfUp) - dotGoAddStr(w, "KeyCtrlShfDown", t.KeyCtrlShfDown) - dotGoAddStr(w, "KeyShfHome", t.KeyShfHome) - dotGoAddStr(w, "KeyShfEnd", t.KeyShfEnd) - dotGoAddStr(w, "KeyCtrlHome", t.KeyCtrlHome) - dotGoAddStr(w, "KeyCtrlEnd", t.KeyCtrlEnd) - dotGoAddStr(w, "KeyMetaHome", t.KeyMetaHome) - dotGoAddStr(w, "KeyMetaEnd", t.KeyMetaEnd) - dotGoAddStr(w, "KeyAltHome", t.KeyAltHome) - dotGoAddStr(w, "KeyAltEnd", t.KeyAltEnd) - dotGoAddStr(w, "KeyCtrlShfHome", t.KeyCtrlShfHome) - dotGoAddStr(w, "KeyCtrlShfEnd", t.KeyCtrlShfEnd) - dotGoAddStr(w, "KeyMetaShfHome", t.KeyMetaShfHome) - dotGoAddStr(w, "KeyMetaShfEnd", t.KeyMetaShfEnd) - dotGoAddStr(w, "KeyAltShfHome", t.KeyAltShfHome) - dotGoAddStr(w, "KeyAltShfEnd", t.KeyAltShfEnd) - fmt.Fprintln(w, "\t})") - fmt.Fprintln(w, "}") -} - -var packname = "terminfo" - -func dotGoFile(fname string, term *terminfo.Terminfo, desc string, makeDir bool) error { - w := os.Stdout - var e error - if fname != "-" && fname != "" { - if makeDir { - dname := path.Dir(fname) - _ = os.Mkdir(dname, 0777) - } - if w, e = os.Create(fname); e != nil { - return e - } - } - dotGoHeader(w, packname) - dotGoInfo(w, term, desc) - dotGoTrailer(w) - if w != os.Stdout { - w.Close() - } - cmd := exec.Command("go", "fmt", fname) - cmd.Run() - return nil -} - -func dotGzFile(fname string, term *terminfo.Terminfo, makeDir bool) error { - - var w io.WriteCloser = os.Stdout - var e error - if fname != "-" && fname != "" { - if makeDir { - dname := path.Dir(fname) - _ = os.Mkdir(dname, 0777) - } - if w, e = os.Create(fname); e != nil { - return e - } - } - - w = gzip.NewWriter(w) - - js, e := json.Marshal(term) - fmt.Fprintln(w, string(js)) - - if w != os.Stdout { - w.Close() - } - return nil -} - -func jsonFile(fname string, term *terminfo.Terminfo, makeDir bool) error { - w := os.Stdout - var e error - if fname != "-" && fname != "" { - if makeDir { - dname := path.Dir(fname) - _ = os.Mkdir(dname, 0777) - } - if w, e = os.Create(fname); e != nil { - return e - } - } - - js, e := json.Marshal(term) - fmt.Fprintln(w, string(js)) - - if w != os.Stdout { - w.Close() - } - return nil -} - -func dumpDatabase(terms map[string]*terminfo.Terminfo, descs map[string]string) { - - // Load models .text - mfile, e := os.Open("models.txt") - models := make(map[string]bool) - if e != nil { - fmt.Fprintf(os.Stderr, "Failed reading models.txt: %v", e) - } - scanner := bufio.NewScanner(mfile) - for scanner.Scan() { - models[scanner.Text()] = true - } - - for name, t := range terms { - - // If this is one of our builtin models, generate the GO file - if models[name] { - desc := descs[name] - safename := strings.Replace(name, "-", "_", -1) - goname := fmt.Sprintf("term_%s.go", safename) - e = dotGoFile(goname, t, desc, true) - if e != nil { - fmt.Fprintf(os.Stderr, "Failed creating %s: %v", goname, e) - os.Exit(1) - } - continue - } - - hash := fmt.Sprintf("%x", sha1.Sum([]byte(name))) - fname := fmt.Sprintf("%s.gz", hash[0:8]) - fname = path.Join("database", hash[0:2], fname) - e = dotGzFile(fname, t, true) - if e != nil { - fmt.Fprintf(os.Stderr, "Failed creating %s: %v", fname, e) - os.Exit(1) - } - - for _, a := range t.Aliases { - hash = fmt.Sprintf("%x", sha1.Sum([]byte(a))) - fname = path.Join("database", hash[0:2], hash[0:8]) - e = jsonFile(fname, &terminfo.Terminfo{Name: t.Name}, true) - if e != nil { - fmt.Fprintf(os.Stderr, "Failed creating %s: %v", fname, e) - os.Exit(1) - } - } - } -} - -func main() { - gofile := "" - jsonfile := "" - nofatal := false - quiet := false - dogzip := false - all := false - db := false - - flag.StringVar(&gofile, "go", "", "generate go source in named file") - flag.StringVar(&jsonfile, "json", "", "generate json in named file") - flag.StringVar(&packname, "P", packname, "package name (go source)") - flag.BoolVar(&nofatal, "nofatal", false, "errors are not fatal") - flag.BoolVar(&quiet, "quiet", false, "suppress error messages") - flag.BoolVar(&dogzip, "gzip", false, "compress json output") - flag.BoolVar(&all, "all", false, "load all terminals from terminfo") - flag.BoolVar(&db, "db", false, "generate json db file in place") - flag.Parse() - var e error - - args := flag.Args() - if all { - db = true // implied - allterms, e := getallterms() - if e != nil { - fmt.Fprintf(os.Stderr, "Failed: %v", e) - os.Exit(1) - } - args = append(args, allterms...) - } - if len(args) == 0 { - args = []string{os.Getenv("TERM")} - } - - tdata := make(map[string]*terminfo.Terminfo) - descs := make(map[string]string) - - for _, term := range args { - if t, desc, e := getinfo(term); e != nil { - if all && e == notaddressable { - continue - } - if !quiet { - fmt.Fprintf(os.Stderr, - "Failed loading %s: %v\n", term, e) - } - if !nofatal { - os.Exit(1) - } - } else { - tdata[term] = t - descs[term] = desc - } - } - - if len(tdata) == 0 { - // No data. - os.Exit(0) - } - - if db { - dumpDatabase(tdata, descs) - } else if gofile != "" { - for term, t := range tdata { - if t.Name == term { - e = dotGoFile(gofile, t, descs[term], false) - if e != nil { - fmt.Fprintf(os.Stderr, "Failed %s: %v", gofile, e) - os.Exit(1) - } - } - } - - } else { - for _, t := range tdata { - if dogzip { - if e = dotGzFile(jsonfile, t, false); e != nil { - fmt.Fprintf(os.Stderr, "Failed %s: %v", gofile, e) - os.Exit(1) - } - } else { - if e = jsonFile(jsonfile, t, false); e != nil { - fmt.Fprintf(os.Stderr, "Failed %s: %v", gofile, e) - os.Exit(1) - } - } - } - } -} diff --git a/vendor/github.com/gdamore/tcell/terminfo/models.txt b/vendor/github.com/gdamore/tcell/terminfo/models.txt deleted file mode 100644 index 718eb9bc..00000000 --- a/vendor/github.com/gdamore/tcell/terminfo/models.txt +++ /dev/null @@ -1,57 +0,0 @@ -adm3a -aixterm -ansi -aterm -beterm -bsdos-pc -cygwin -d200 -d210 -dtterm -eterm -gnome -gnome-256color -hpterm -hz1500 -konsole -konsole-256color -kterm -linux -pcansi -rxvt -rxvt-256color -rxvt-unicode -rxvt-unicode-256color -screen -screen-256color -st -st-256color -st-truecolor -st-meta -st-meta-256color -st-meta-truecolor -sun -sun-color -tvi910 -tvi912 -tvi921 -tvi925 -tvi950 -tvi970 -vt52 -vt100 -vt102 -vt220 -vt320 -vt400 -vt420 -wy50 -wy60 -wy99-ansi -wy99a-ansi -xfce -xnuppc -xterm -xterm -xterm-256color -xterm-truecolor diff --git a/vendor/github.com/gdamore/tcell/terminfo/term_adm3a.go b/vendor/github.com/gdamore/tcell/terminfo/term_adm3a.go deleted file mode 100644 index d8709dac..00000000 --- a/vendor/github.com/gdamore/tcell/terminfo/term_adm3a.go +++ /dev/null @@ -1,22 +0,0 @@ -// Generated automatically. DO NOT HAND-EDIT. - -package terminfo - -func init() { - // lsi adm3a - AddTerminfo(&Terminfo{ - Name: "adm3a", - Columns: 80, - Lines: 24, - Bell: "\a", - Clear: "\x1a$<1/>", - PadChar: "\x00", - SetCursor: "\x1b=%p1%' '%+%c%p2%' '%+%c", - CursorBack1: "\b", - CursorUp1: "\v", - KeyUp: "\v", - KeyDown: "\n", - KeyRight: "\f", - KeyLeft: "\b", - }) -} diff --git a/vendor/github.com/gdamore/tcell/terminfo/term_aixterm.go b/vendor/github.com/gdamore/tcell/terminfo/term_aixterm.go deleted file mode 100644 index e1d2146a..00000000 --- a/vendor/github.com/gdamore/tcell/terminfo/term_aixterm.go +++ /dev/null @@ -1,76 +0,0 @@ -// Generated automatically. DO NOT HAND-EDIT. - -package terminfo - -func init() { - // IBM Aixterm Terminal Emulator - AddTerminfo(&Terminfo{ - Name: "aixterm", - Columns: 80, - Lines: 25, - Colors: 8, - Bell: "\a", - Clear: "\x1b[H\x1b[J", - AttrOff: "\x1b[0;10m\x1b(B", - Underline: "\x1b[4m", - Bold: "\x1b[1m", - Reverse: "\x1b[7m", - SetFg: "\x1b[3%p1%dm", - SetBg: "\x1b[4%p1%dm", - SetFgBg: "\x1b[3%p1%d;4%p2%dm", - PadChar: "\x00", - AltChars: "jjkkllmmnnqqttuuvvwwxx", - SetCursor: "\x1b[%i%p1%d;%p2%dH", - CursorBack1: "\b", - CursorUp1: "\x1b[A", - KeyUp: "\x1b[A", - KeyDown: "\x1b[B", - KeyRight: "\x1b[C", - KeyLeft: "\x1b[D", - KeyInsert: "\x1b[139q", - KeyDelete: "\x1b[P", - KeyBackspace: "\b", - KeyHome: "\x1b[H", - KeyEnd: "\x1b[146q", - KeyPgUp: "\x1b[150q", - KeyPgDn: "\x1b[154q", - KeyF1: "\x1b[001q", - KeyF2: "\x1b[002q", - KeyF3: "\x1b[003q", - KeyF4: "\x1b[004q", - KeyF5: "\x1b[005q", - KeyF6: "\x1b[006q", - KeyF7: "\x1b[007q", - KeyF8: "\x1b[008q", - KeyF9: "\x1b[009q", - KeyF10: "\x1b[010q", - KeyF11: "\x1b[011q", - KeyF12: "\x1b[012q", - KeyF13: "\x1b[013q", - KeyF14: "\x1b[014q", - KeyF15: "\x1b[015q", - KeyF16: "\x1b[016q", - KeyF17: "\x1b[017q", - KeyF18: "\x1b[018q", - KeyF19: "\x1b[019q", - KeyF20: "\x1b[020q", - KeyF21: "\x1b[021q", - KeyF22: "\x1b[022q", - KeyF23: "\x1b[023q", - KeyF24: "\x1b[024q", - KeyF25: "\x1b[025q", - KeyF26: "\x1b[026q", - KeyF27: "\x1b[027q", - KeyF28: "\x1b[028q", - KeyF29: "\x1b[029q", - KeyF30: "\x1b[030q", - KeyF31: "\x1b[031q", - KeyF32: "\x1b[032q", - KeyF33: "\x1b[033q", - KeyF34: "\x1b[034q", - KeyF35: "\x1b[035q", - KeyF36: "\x1b[036q", - KeyClear: "\x1b[144q", - KeyBacktab: "\x1b[Z", - }) -} diff --git a/vendor/github.com/gdamore/tcell/terminfo/term_ansi.go b/vendor/github.com/gdamore/tcell/terminfo/term_ansi.go deleted file mode 100644 index a7909931..00000000 --- a/vendor/github.com/gdamore/tcell/terminfo/term_ansi.go +++ /dev/null @@ -1,38 +0,0 @@ -// Generated automatically. DO NOT HAND-EDIT. - -package terminfo - -func init() { - // ansi/pc-term compatible with color - AddTerminfo(&Terminfo{ - Name: "ansi", - Columns: 80, - Lines: 24, - Colors: 8, - Bell: "\a", - Clear: "\x1b[H\x1b[J", - AttrOff: "\x1b[0;10m", - Underline: "\x1b[4m", - Bold: "\x1b[1m", - Blink: "\x1b[5m", - Reverse: "\x1b[7m", - SetFg: "\x1b[3%p1%dm", - SetBg: "\x1b[4%p1%dm", - SetFgBg: "\x1b[3%p1%d;4%p2%dm", - PadChar: "\x00", - AltChars: "+\x10,\x11-\x18.\x190\xdb`\x04a\xb1f\xf8g\xf1h\xb0j\xd9k\xbfl\xdam\xc0n\xc5o~p\xc4q\xc4r\xc4s_t\xc3u\xb4v\xc1w\xc2x\xb3y\xf3z\xf2{\xe3|\xd8}\x9c~\xfe", - EnterAcs: "\x1b[11m", - ExitAcs: "\x1b[10m", - SetCursor: "\x1b[%i%p1%d;%p2%dH", - CursorBack1: "\x1b[D", - CursorUp1: "\x1b[A", - KeyUp: "\x1b[A", - KeyDown: "\x1b[B", - KeyRight: "\x1b[C", - KeyLeft: "\x1b[D", - KeyInsert: "\x1b[L", - KeyBackspace: "\b", - KeyHome: "\x1b[H", - KeyBacktab: "\x1b[Z", - }) -} diff --git a/vendor/github.com/gdamore/tcell/terminfo/term_aterm.go b/vendor/github.com/gdamore/tcell/terminfo/term_aterm.go deleted file mode 100644 index 77177a22..00000000 --- a/vendor/github.com/gdamore/tcell/terminfo/term_aterm.go +++ /dev/null @@ -1,107 +0,0 @@ -// Generated automatically. DO NOT HAND-EDIT. - -package terminfo - -func init() { - // AfterStep terminal - AddTerminfo(&Terminfo{ - Name: "aterm", - Columns: 80, - Lines: 24, - Colors: 8, - Bell: "\a", - Clear: "\x1b[H\x1b[2J", - EnterCA: "\x1b7\x1b[?47h", - ExitCA: "\x1b[2J\x1b[?47l\x1b8", - ShowCursor: "\x1b[?25h", - HideCursor: "\x1b[?25l", - AttrOff: "\x1b[m\x0f", - Underline: "\x1b[4m", - Bold: "\x1b[1m", - Blink: "\x1b[5m", - Reverse: "\x1b[7m", - EnterKeypad: "\x1b=", - ExitKeypad: "\x1b>", - SetFg: "\x1b[3%p1%dm", - SetBg: "\x1b[4%p1%dm", - SetFgBg: "\x1b[3%p1%d;4%p2%dm", - PadChar: "\x00", - AltChars: "``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~", - EnterAcs: "\x0e", - ExitAcs: "\x0f", - EnableAcs: "\x1b(B\x1b)0", - Mouse: "\x1b[M", - MouseMode: "%?%p1%{1}%=%t%'h'%Pa%e%'l'%Pa%;\x1b[?1000%ga%c\x1b[?1002%ga%c\x1b[?1003%ga%c\x1b[?1006%ga%c", - SetCursor: "\x1b[%i%p1%d;%p2%dH", - CursorBack1: "\b", - CursorUp1: "\x1b[A", - KeyUp: "\x1b[A", - KeyDown: "\x1b[B", - KeyRight: "\x1b[C", - KeyLeft: "\x1b[D", - KeyInsert: "\x1b[2~", - KeyDelete: "\x1b[3~", - KeyBackspace: "\u007f", - KeyHome: "\x1b[7~", - KeyEnd: "\x1b[8~", - KeyPgUp: "\x1b[5~", - KeyPgDn: "\x1b[6~", - KeyF1: "\x1bOP", - KeyF2: "\x1bOQ", - KeyF3: "\x1bOR", - KeyF4: "\x1bOS", - KeyF5: "\x1b[15~", - KeyF6: "\x1b[17~", - KeyF7: "\x1b[18~", - KeyF8: "\x1b[19~", - KeyF9: "\x1b[20~", - KeyF10: "\x1b[21~", - KeyF11: "\x1b[23~", - KeyF12: "\x1b[24~", - KeyF13: "\x1b[25~", - KeyF14: "\x1b[26~", - KeyF15: "\x1b[28~", - KeyF16: "\x1b[29~", - KeyF17: "\x1b[31~", - KeyF18: "\x1b[32~", - KeyF19: "\x1b[33~", - KeyF20: "\x1b[34~", - KeyF21: "\x1b[23$", - KeyF22: "\x1b[24$", - KeyF23: "\x1b[11^", - KeyF24: "\x1b[12^", - KeyF25: "\x1b[13^", - KeyF26: "\x1b[14^", - KeyF27: "\x1b[15^", - KeyF28: "\x1b[17^", - KeyF29: "\x1b[18^", - KeyF30: "\x1b[19^", - KeyF31: "\x1b[20^", - KeyF32: "\x1b[21^", - KeyF33: "\x1b[23^", - KeyF34: "\x1b[24^", - KeyF35: "\x1b[25^", - KeyF36: "\x1b[26^", - KeyF37: "\x1b[28^", - KeyF38: "\x1b[29^", - KeyF39: "\x1b[31^", - KeyF40: "\x1b[32^", - KeyF41: "\x1b[33^", - KeyF42: "\x1b[34^", - KeyF43: "\x1b[23@", - KeyF44: "\x1b[24@", - KeyBacktab: "\x1b[Z", - KeyShfLeft: "\x1b[d", - KeyShfRight: "\x1b[c", - KeyShfUp: "\x1b[a", - KeyShfDown: "\x1b[b", - KeyCtrlLeft: "\x1b[Od", - KeyCtrlRight: "\x1b[Oc", - KeyCtrlUp: "\x1b[Oa", - KeyCtrlDown: "\x1b[Ob", - KeyShfHome: "\x1b[7$", - KeyShfEnd: "\x1b[8$", - KeyCtrlHome: "\x1b[7^", - KeyCtrlEnd: "\x1b[8^", - }) -} diff --git a/vendor/github.com/gdamore/tcell/terminfo/term_beterm.go b/vendor/github.com/gdamore/tcell/terminfo/term_beterm.go deleted file mode 100644 index de1b5d9f..00000000 --- a/vendor/github.com/gdamore/tcell/terminfo/term_beterm.go +++ /dev/null @@ -1,51 +0,0 @@ -// Generated automatically. DO NOT HAND-EDIT. - -package terminfo - -func init() { - // BeOS Terminal - AddTerminfo(&Terminfo{ - Name: "beterm", - Columns: 80, - Lines: 25, - Colors: 8, - Bell: "\a", - Clear: "\x1b[H\x1b[J", - AttrOff: "\x1b[0;10m", - Underline: "\x1b[4m", - Bold: "\x1b[1m", - Reverse: "\x1b[7m", - EnterKeypad: "\x1b[?4h", - ExitKeypad: "\x1b[?4l", - SetFg: "\x1b[3%p1%dm", - SetBg: "\x1b[4%p1%dm", - SetFgBg: "\x1b[3%p1%d;4%p2%dm", - PadChar: "\x00", - SetCursor: "\x1b[%i%p1%d;%p2%dH", - CursorBack1: "\b", - CursorUp1: "\x1b[A", - KeyUp: "\x1b[A", - KeyDown: "\x1b[B", - KeyRight: "\x1b[C", - KeyLeft: "\x1b[D", - KeyInsert: "\x1b[2~", - KeyDelete: "\x1b[3~", - KeyBackspace: "\b", - KeyHome: "\x1b[1~", - KeyEnd: "\x1b[4~", - KeyPgUp: "\x1b[5~", - KeyPgDn: "\x1b[6~", - KeyF1: "\x1b[11~", - KeyF2: "\x1b[12~", - KeyF3: "\x1b[13~", - KeyF4: "\x1b[14~", - KeyF5: "\x1b[15~", - KeyF6: "\x1b[16~", - KeyF7: "\x1b[17~", - KeyF8: "\x1b[18~", - KeyF9: "\x1b[19~", - KeyF10: "\x1b[20~", - KeyF11: "\x1b[21~", - KeyF12: "\x1b[22~", - }) -} diff --git a/vendor/github.com/gdamore/tcell/terminfo/term_bsdos_pc.go b/vendor/github.com/gdamore/tcell/terminfo/term_bsdos_pc.go deleted file mode 100644 index c0561261..00000000 --- a/vendor/github.com/gdamore/tcell/terminfo/term_bsdos_pc.go +++ /dev/null @@ -1,39 +0,0 @@ -// Generated automatically. DO NOT HAND-EDIT. - -package terminfo - -func init() { - // IBM PC BSD/OS Console - AddTerminfo(&Terminfo{ - Name: "bsdos-pc", - Columns: 80, - Lines: 25, - Colors: 8, - Bell: "\a", - Clear: "\x1bc", - AttrOff: "\x1b[0;10m", - Underline: "\x1b[4m", - Bold: "\x1b[1m", - Blink: "\x1b[5m", - Reverse: "\x1b[7m", - SetFg: "\x1b[3%p1%dm", - SetBg: "\x1b[4%p1%dm", - SetFgBg: "\x1b[3%p1%d;4%p2%dm", - PadChar: "\x00", - AltChars: "+\x10,\x11-\x18.\x190\xdb`\x04a\xb1f\xf8g\xf1h\xb0j\xd9k\xbfl\xdam\xc0n\xc5o~p\xc4q\xc4r\xc4s_t\xc3u\xb4v\xc1w\xc2x\xb3y\xf3z\xf2{\xe3|\xd8}\x9c~\xfe", - EnterAcs: "\x1b[11m", - ExitAcs: "\x1b[10m", - SetCursor: "\x1b[%i%p1%d;%p2%dH", - CursorBack1: "\b", - CursorUp1: "\x1b[A", - KeyUp: "\x1b[A", - KeyDown: "\x1b[B", - KeyRight: "\x1b[C", - KeyLeft: "\x1b[D", - KeyInsert: "\x1b[L", - KeyBackspace: "\b", - KeyHome: "\x1b[H", - KeyPgUp: "\x1b[I", - KeyPgDn: "\x1b[G", - }) -} diff --git a/vendor/github.com/gdamore/tcell/terminfo/term_cygwin.go b/vendor/github.com/gdamore/tcell/terminfo/term_cygwin.go deleted file mode 100644 index 568bbe14..00000000 --- a/vendor/github.com/gdamore/tcell/terminfo/term_cygwin.go +++ /dev/null @@ -1,60 +0,0 @@ -// Generated automatically. DO NOT HAND-EDIT. - -package terminfo - -func init() { - // ansi emulation for Cygwin - AddTerminfo(&Terminfo{ - Name: "cygwin", - Colors: 8, - Bell: "\a", - Clear: "\x1b[H\x1b[J", - EnterCA: "\x1b7\x1b[?47h", - ExitCA: "\x1b[2J\x1b[?47l\x1b8", - AttrOff: "\x1b[0;10m", - Underline: "\x1b[4m", - Bold: "\x1b[1m", - Reverse: "\x1b[7m", - SetFg: "\x1b[3%p1%dm", - SetBg: "\x1b[4%p1%dm", - SetFgBg: "\x1b[3%p1%d;4%p2%dm", - PadChar: "\x00", - AltChars: "+\x10,\x11-\x18.\x190\xdb`\x04a\xb1f\xf8g\xf1h\xb0j\xd9k\xbfl\xdam\xc0n\xc5o~p\xc4q\xc4r\xc4s_t\xc3u\xb4v\xc1w\xc2x\xb3y\xf3z\xf2{\xe3|\xd8}\x9c~\xfe", - EnterAcs: "\x1b[11m", - ExitAcs: "\x1b[10m", - SetCursor: "\x1b[%i%p1%d;%p2%dH", - CursorBack1: "\b", - CursorUp1: "\x1b[A", - KeyUp: "\x1b[A", - KeyDown: "\x1b[B", - KeyRight: "\x1b[C", - KeyLeft: "\x1b[D", - KeyInsert: "\x1b[2~", - KeyDelete: "\x1b[3~", - KeyBackspace: "\b", - KeyHome: "\x1b[1~", - KeyEnd: "\x1b[4~", - KeyPgUp: "\x1b[5~", - KeyPgDn: "\x1b[6~", - KeyF1: "\x1b[[A", - KeyF2: "\x1b[[B", - KeyF3: "\x1b[[C", - KeyF4: "\x1b[[D", - KeyF5: "\x1b[[E", - KeyF6: "\x1b[17~", - KeyF7: "\x1b[18~", - KeyF8: "\x1b[19~", - KeyF9: "\x1b[20~", - KeyF10: "\x1b[21~", - KeyF11: "\x1b[23~", - KeyF12: "\x1b[24~", - KeyF13: "\x1b[25~", - KeyF14: "\x1b[26~", - KeyF15: "\x1b[28~", - KeyF16: "\x1b[29~", - KeyF17: "\x1b[31~", - KeyF18: "\x1b[32~", - KeyF19: "\x1b[33~", - KeyF20: "\x1b[34~", - }) -} diff --git a/vendor/github.com/gdamore/tcell/terminfo/term_d200.go b/vendor/github.com/gdamore/tcell/terminfo/term_d200.go deleted file mode 100644 index 611f6ee8..00000000 --- a/vendor/github.com/gdamore/tcell/terminfo/term_d200.go +++ /dev/null @@ -1,94 +0,0 @@ -// Generated automatically. DO NOT HAND-EDIT. - -package terminfo - -func init() { - // Data General DASHER D200 - AddTerminfo(&Terminfo{ - Name: "d200", - Aliases: []string{"d200-dg"}, - Columns: 80, - Lines: 24, - Bell: "\a", - Clear: "\f", - AttrOff: "\x0f\x15\x1d\x1eE", - Underline: "\x14", - Bold: "\x1eD\x14", - Dim: "\x1c", - Blink: "\x0e", - Reverse: "\x1eD", - PadChar: "\x00", - SetCursor: "\x10%p2%c%p1%c", - CursorBack1: "\x19", - CursorUp1: "\x17", - KeyUp: "\x17", - KeyDown: "\x1a", - KeyRight: "\x18", - KeyLeft: "\x19", - KeyHome: "\b", - KeyF1: "\x1eq", - KeyF2: "\x1er", - KeyF3: "\x1es", - KeyF4: "\x1et", - KeyF5: "\x1eu", - KeyF6: "\x1ev", - KeyF7: "\x1ew", - KeyF8: "\x1ex", - KeyF9: "\x1ey", - KeyF10: "\x1ez", - KeyF11: "\x1e{", - KeyF12: "\x1e|", - KeyF13: "\x1e}", - KeyF14: "\x1e~", - KeyF15: "\x1ep", - KeyF16: "\x1ea", - KeyF17: "\x1eb", - KeyF18: "\x1ec", - KeyF19: "\x1ed", - KeyF20: "\x1ee", - KeyF21: "\x1ef", - KeyF22: "\x1eg", - KeyF23: "\x1eh", - KeyF24: "\x1ei", - KeyF25: "\x1ej", - KeyF26: "\x1ek", - KeyF27: "\x1el", - KeyF28: "\x1em", - KeyF29: "\x1en", - KeyF30: "\x1e`", - KeyF31: "\x1e1", - KeyF32: "\x1e2", - KeyF33: "\x1e3", - KeyF34: "\x1e4", - KeyF35: "\x1e5", - KeyF36: "\x1e6", - KeyF37: "\x1e7", - KeyF38: "\x1e8", - KeyF39: "\x1e9", - KeyF40: "\x1e:", - KeyF41: "\x1e;", - KeyF42: "\x1e<", - KeyF43: "\x1e=", - KeyF44: "\x1e>", - KeyF45: "\x1e0", - KeyF46: "\x1e!", - KeyF47: "\x1e\"", - KeyF48: "\x1e#", - KeyF49: "\x1e$", - KeyF50: "\x1e%%", - KeyF51: "\x1e&", - KeyF52: "\x1e'", - KeyF53: "\x1e(", - KeyF54: "\x1e)", - KeyF55: "\x1e*", - KeyF56: "\x1e+", - KeyF57: "\x1e,", - KeyF58: "\x1e-", - KeyF59: "\x1e.", - KeyF60: "\x1e ", - KeyClear: "\f", - KeyShfLeft: "\x1e\x19", - KeyShfRight: "\x1e\x18", - KeyShfHome: "\x1e\b", - }) -} diff --git a/vendor/github.com/gdamore/tcell/terminfo/term_d210.go b/vendor/github.com/gdamore/tcell/terminfo/term_d210.go deleted file mode 100644 index 87e0662d..00000000 --- a/vendor/github.com/gdamore/tcell/terminfo/term_d210.go +++ /dev/null @@ -1,92 +0,0 @@ -// Generated automatically. DO NOT HAND-EDIT. - -package terminfo - -func init() { - // Data General DASHER D210 series - AddTerminfo(&Terminfo{ - Name: "d210", - Aliases: []string{"d214"}, - Columns: 80, - Lines: 24, - Bell: "\a", - Clear: "\x1b[2J", - AttrOff: "\x1b[m", - Underline: "\x1b[4m", - Bold: "\x1b[4;7m", - Dim: "\x1b[2m", - Blink: "\x1b[5m", - Reverse: "\x1b[7m", - PadChar: "\x00", - SetCursor: "\x1b[%i%p1%d;%p2%dH", - CursorBack1: "\b", - CursorUp1: "\x1b[A", - KeyUp: "\x1b[A", - KeyDown: "\x1b[B", - KeyRight: "\x1b[C", - KeyLeft: "\x1b[D", - KeyHome: "\x1b[H", - KeyF1: "\x1b[001z", - KeyF2: "\x1b[002z", - KeyF3: "\x1b[003z", - KeyF4: "\x1b[004z", - KeyF5: "\x1b[005z", - KeyF6: "\x1b[006z", - KeyF7: "\x1b[007z", - KeyF8: "\x1b[008z", - KeyF9: "\x1b[009z", - KeyF10: "\x1b[010z", - KeyF11: "\x1b[011z", - KeyF12: "\x1b[012z", - KeyF13: "\x1b[013z", - KeyF14: "\x1b[014z", - KeyF15: "\x1b[000z", - KeyF16: "\x1b[101z", - KeyF17: "\x1b[102z", - KeyF18: "\x1b[103z", - KeyF19: "\x1b[104z", - KeyF20: "\x1b[105z", - KeyF21: "\x1b[106z", - KeyF22: "\x1b[107z", - KeyF23: "\x1b[108z", - KeyF24: "\x1b[109z", - KeyF25: "\x1b[110z", - KeyF26: "\x1b[111z", - KeyF27: "\x1b[112z", - KeyF28: "\x1b[113z", - KeyF29: "\x1b[114z", - KeyF30: "\x1b[100z", - KeyF31: "\x1b[201z", - KeyF32: "\x1b[202z", - KeyF33: "\x1b[203z", - KeyF34: "\x1b[204z", - KeyF35: "\x1b[205z", - KeyF36: "\x1b[206z", - KeyF37: "\x1b[207z", - KeyF38: "\x1b[208z", - KeyF39: "\x1b[209z", - KeyF40: "\x1b[210z", - KeyF41: "\x1b[211z", - KeyF42: "\x1b[212z", - KeyF43: "\x1b[213z", - KeyF44: "\x1b[214z", - KeyF45: "\x1b[200z", - KeyF46: "\x1b[301z", - KeyF47: "\x1b[302z", - KeyF48: "\x1b[303z", - KeyF49: "\x1b[304z", - KeyF50: "\x1b[305z", - KeyF51: "\x1b[306z", - KeyF52: "\x1b[307z", - KeyF53: "\x1b[308z", - KeyF54: "\x1b[309z", - KeyF55: "\x1b[310z", - KeyF56: "\x1b[311z", - KeyF57: "\x1b[312z", - KeyF58: "\x1b[313z", - KeyF59: "\x1b[314z", - KeyF60: "\x1b[300z", - KeyPrint: "\x1b[i", - KeyClear: "\x1b[2J", - }) -} diff --git a/vendor/github.com/gdamore/tcell/terminfo/term_dtterm.go b/vendor/github.com/gdamore/tcell/terminfo/term_dtterm.go deleted file mode 100644 index 9c563c50..00000000 --- a/vendor/github.com/gdamore/tcell/terminfo/term_dtterm.go +++ /dev/null @@ -1,64 +0,0 @@ -// Generated automatically. DO NOT HAND-EDIT. - -package terminfo - -func init() { - // CDE desktop terminal - AddTerminfo(&Terminfo{ - Name: "dtterm", - Columns: 80, - Lines: 24, - Colors: 8, - Bell: "\a", - Clear: "\x1b[H\x1b[J", - ShowCursor: "\x1b[?25h", - HideCursor: "\x1b[?25l", - AttrOff: "\x1b[m\x0f", - Underline: "\x1b[4m", - Bold: "\x1b[1m", - Dim: "\x1b[2m", - Blink: "\x1b[5m", - Reverse: "\x1b[7m", - SetFg: "\x1b[3%p1%dm", - SetBg: "\x1b[4%p1%dm", - SetFgBg: "\x1b[3%p1%d;4%p2%dm", - PadChar: "\x00", - AltChars: "``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~", - EnterAcs: "\x0e", - ExitAcs: "\x0f", - EnableAcs: "\x1b(B\x1b)0", - SetCursor: "\x1b[%i%p1%d;%p2%dH", - CursorBack1: "\b", - CursorUp1: "\x1b[A", - KeyUp: "\x1b[A", - KeyDown: "\x1b[B", - KeyRight: "\x1b[C", - KeyLeft: "\x1b[D", - KeyInsert: "\x1b[2~", - KeyDelete: "\x1b[3~", - KeyBackspace: "\b", - KeyPgUp: "\x1b[5~", - KeyPgDn: "\x1b[6~", - KeyF1: "\x1b[11~", - KeyF2: "\x1b[12~", - KeyF3: "\x1b[13~", - KeyF4: "\x1b[14~", - KeyF5: "\x1b[15~", - KeyF6: "\x1b[17~", - KeyF7: "\x1b[18~", - KeyF8: "\x1b[19~", - KeyF9: "\x1b[20~", - KeyF10: "\x1b[21~", - KeyF11: "\x1b[23~", - KeyF12: "\x1b[24~", - KeyF13: "\x1b[25~", - KeyF14: "\x1b[26~", - KeyF15: "\x1b[28~", - KeyF16: "\x1b[29~", - KeyF17: "\x1b[31~", - KeyF18: "\x1b[32~", - KeyF19: "\x1b[33~", - KeyF20: "\x1b[34~", - KeyHelp: "\x1b[28~", - }) -} diff --git a/vendor/github.com/gdamore/tcell/terminfo/term_gnome.go b/vendor/github.com/gdamore/tcell/terminfo/term_gnome.go deleted file mode 100644 index d7907f4c..00000000 --- a/vendor/github.com/gdamore/tcell/terminfo/term_gnome.go +++ /dev/null @@ -1,154 +0,0 @@ -// Generated automatically. DO NOT HAND-EDIT. - -package terminfo - -func init() { - // GNOME Terminal - AddTerminfo(&Terminfo{ - Name: "gnome", - Columns: 80, - Lines: 24, - Colors: 8, - Bell: "\a", - Clear: "\x1b[H\x1b[2J", - EnterCA: "\x1b7\x1b[?47h", - ExitCA: "\x1b[2J\x1b[?47l\x1b8", - ShowCursor: "\x1b[?25h", - HideCursor: "\x1b[?25l", - AttrOff: "\x1b[0m\x0f", - Underline: "\x1b[4m", - Bold: "\x1b[1m", - Dim: "\x1b[2m", - Reverse: "\x1b[7m", - EnterKeypad: "\x1b[?1h\x1b=", - ExitKeypad: "\x1b[?1l\x1b>", - SetFg: "\x1b[3%p1%dm", - SetBg: "\x1b[4%p1%dm", - SetFgBg: "\x1b[3%p1%d;4%p2%dm", - PadChar: "\x00", - AltChars: "``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~", - EnterAcs: "\x0e", - ExitAcs: "\x0f", - EnableAcs: "\x1b)0", - Mouse: "\x1b[M", - MouseMode: "%?%p1%{1}%=%t%'h'%Pa%e%'l'%Pa%;\x1b[?1000%ga%c\x1b[?1002%ga%c\x1b[?1003%ga%c\x1b[?1006%ga%c", - SetCursor: "\x1b[%i%p1%d;%p2%dH", - CursorBack1: "\b", - CursorUp1: "\x1b[A", - KeyUp: "\x1bOA", - KeyDown: "\x1bOB", - KeyRight: "\x1bOC", - KeyLeft: "\x1bOD", - KeyInsert: "\x1b[2~", - KeyDelete: "\x1b[3~", - KeyBackspace: "\u007f", - KeyHome: "\x1bOH", - KeyEnd: "\x1bOF", - KeyPgUp: "\x1b[5~", - KeyPgDn: "\x1b[6~", - KeyF1: "\x1bOP", - KeyF2: "\x1bOQ", - KeyF3: "\x1bOR", - KeyF4: "\x1bOS", - KeyF5: "\x1b[15~", - KeyF6: "\x1b[17~", - KeyF7: "\x1b[18~", - KeyF8: "\x1b[19~", - KeyF9: "\x1b[20~", - KeyF10: "\x1b[21~", - KeyF11: "\x1b[23~", - KeyF12: "\x1b[24~", - KeyF13: "\x1bO1;2P", - KeyF14: "\x1bO1;2Q", - KeyF15: "\x1bO1;2R", - KeyF16: "\x1bO1;2S", - KeyF17: "\x1b[15;2~", - KeyF18: "\x1b[17;2~", - KeyF19: "\x1b[18;2~", - KeyF20: "\x1b[19;2~", - KeyF21: "\x1b[20;2~", - KeyF22: "\x1b[21;2~", - KeyF23: "\x1b[23;2~", - KeyF24: "\x1b[24;2~", - KeyF25: "\x1bO1;5P", - KeyF26: "\x1bO1;5Q", - KeyF27: "\x1bO1;5R", - KeyF28: "\x1bO1;5S", - KeyF29: "\x1b[15;5~", - KeyF30: "\x1b[17;5~", - KeyF31: "\x1b[18;5~", - KeyF32: "\x1b[19;5~", - KeyF33: "\x1b[20;5~", - KeyF34: "\x1b[21;5~", - KeyF35: "\x1b[23;5~", - KeyF36: "\x1b[24;5~", - KeyF37: "\x1bO1;6P", - KeyF38: "\x1bO1;6Q", - KeyF39: "\x1bO1;6R", - KeyF40: "\x1bO1;6S", - KeyF41: "\x1b[15;6~", - KeyF42: "\x1b[17;6~", - KeyF43: "\x1b[18;6~", - KeyF44: "\x1b[19;6~", - KeyF45: "\x1b[20;6~", - KeyF46: "\x1b[21;6~", - KeyF47: "\x1b[23;6~", - KeyF48: "\x1b[24;6~", - KeyF49: "\x1bO1;3P", - KeyF50: "\x1bO1;3Q", - KeyF51: "\x1bO1;3R", - KeyF52: "\x1bO1;3S", - KeyF53: "\x1b[15;3~", - KeyF54: "\x1b[17;3~", - KeyF55: "\x1b[18;3~", - KeyF56: "\x1b[19;3~", - KeyF57: "\x1b[20;3~", - KeyF58: "\x1b[21;3~", - KeyF59: "\x1b[23;3~", - KeyF60: "\x1b[24;3~", - KeyF61: "\x1bO1;4P", - KeyF62: "\x1bO1;4Q", - KeyF63: "\x1bO1;4R", - KeyBacktab: "\x1b[Z", - KeyShfLeft: "\x1b[1;2D", - KeyShfRight: "\x1b[1;2C", - KeyShfUp: "\x1b[1;2A", - KeyShfDown: "\x1b[1;2B", - KeyCtrlLeft: "\x1b[1;5D", - KeyCtrlRight: "\x1b[1;5C", - KeyCtrlUp: "\x1b[1;5A", - KeyCtrlDown: "\x1b[1;5B", - KeyMetaLeft: "\x1b[1;9D", - KeyMetaRight: "\x1b[1;9C", - KeyMetaUp: "\x1b[1;9A", - KeyMetaDown: "\x1b[1;9B", - KeyAltLeft: "\x1b[1;3D", - KeyAltRight: "\x1b[1;3C", - KeyAltUp: "\x1b[1;3A", - KeyAltDown: "\x1b[1;3B", - KeyAltShfLeft: "\x1b[1;4D", - KeyAltShfRight: "\x1b[1;4C", - KeyAltShfUp: "\x1b[1;4A", - KeyAltShfDown: "\x1b[1;4B", - KeyMetaShfLeft: "\x1b[1;10D", - KeyMetaShfRight: "\x1b[1;10C", - KeyMetaShfUp: "\x1b[1;10A", - KeyMetaShfDown: "\x1b[1;10B", - KeyCtrlShfLeft: "\x1b[1;6D", - KeyCtrlShfRight: "\x1b[1;6C", - KeyCtrlShfUp: "\x1b[1;6A", - KeyCtrlShfDown: "\x1b[1;6B", - KeyShfHome: "\x1b[1;2H", - KeyShfEnd: "\x1b[1;2F", - KeyCtrlHome: "\x1b[1;5H", - KeyCtrlEnd: "\x1b[1;5F", - KeyAltHome: "\x1b[1;9H", - KeyAltEnd: "\x1b[1;9F", - KeyCtrlShfHome: "\x1b[1;6H", - KeyCtrlShfEnd: "\x1b[1;6F", - KeyMetaShfHome: "\x1b[1;10H", - KeyMetaShfEnd: "\x1b[1;10F", - KeyAltShfHome: "\x1b[1;4H", - KeyAltShfEnd: "\x1b[1;4F", - }) -} diff --git a/vendor/github.com/gdamore/tcell/terminfo/term_gnome_256color.go b/vendor/github.com/gdamore/tcell/terminfo/term_gnome_256color.go deleted file mode 100644 index 342699d4..00000000 --- a/vendor/github.com/gdamore/tcell/terminfo/term_gnome_256color.go +++ /dev/null @@ -1,154 +0,0 @@ -// Generated automatically. DO NOT HAND-EDIT. - -package terminfo - -func init() { - // GNOME Terminal with xterm 256-colors - AddTerminfo(&Terminfo{ - Name: "gnome-256color", - Columns: 80, - Lines: 24, - Colors: 256, - Bell: "\a", - Clear: "\x1b[H\x1b[2J", - EnterCA: "\x1b7\x1b[?47h", - ExitCA: "\x1b[2J\x1b[?47l\x1b8", - ShowCursor: "\x1b[?25h", - HideCursor: "\x1b[?25l", - AttrOff: "\x1b[0m\x0f", - Underline: "\x1b[4m", - Bold: "\x1b[1m", - Dim: "\x1b[2m", - Reverse: "\x1b[7m", - EnterKeypad: "\x1b[?1h\x1b=", - ExitKeypad: "\x1b[?1l\x1b>", - SetFg: "\x1b[%?%p1%{8}%<%t3%p1%d%e%p1%{16}%<%t9%p1%{8}%-%d%e38;5;%p1%d%;m", - SetBg: "\x1b[%?%p1%{8}%<%t4%p1%d%e%p1%{16}%<%t10%p1%{8}%-%d%e48;5;%p1%d%;m", - SetFgBg: "\x1b[%?%p1%{8}%<%t3%p1%d%e%p1%{16}%<%t9%p1%{8}%-%d%e38;5;%p1%d%;;%?%p2%{8}%<%t4%p2%d%e%p2%{16}%<%t10%p2%{8}%-%d%e48;5;%p2%d%;m", - PadChar: "\x00", - AltChars: "``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~", - EnterAcs: "\x0e", - ExitAcs: "\x0f", - EnableAcs: "\x1b)0", - Mouse: "\x1b[M", - MouseMode: "%?%p1%{1}%=%t%'h'%Pa%e%'l'%Pa%;\x1b[?1000%ga%c\x1b[?1002%ga%c\x1b[?1003%ga%c\x1b[?1006%ga%c", - SetCursor: "\x1b[%i%p1%d;%p2%dH", - CursorBack1: "\b", - CursorUp1: "\x1b[A", - KeyUp: "\x1bOA", - KeyDown: "\x1bOB", - KeyRight: "\x1bOC", - KeyLeft: "\x1bOD", - KeyInsert: "\x1b[2~", - KeyDelete: "\x1b[3~", - KeyBackspace: "\u007f", - KeyHome: "\x1bOH", - KeyEnd: "\x1bOF", - KeyPgUp: "\x1b[5~", - KeyPgDn: "\x1b[6~", - KeyF1: "\x1bOP", - KeyF2: "\x1bOQ", - KeyF3: "\x1bOR", - KeyF4: "\x1bOS", - KeyF5: "\x1b[15~", - KeyF6: "\x1b[17~", - KeyF7: "\x1b[18~", - KeyF8: "\x1b[19~", - KeyF9: "\x1b[20~", - KeyF10: "\x1b[21~", - KeyF11: "\x1b[23~", - KeyF12: "\x1b[24~", - KeyF13: "\x1b[1;2P", - KeyF14: "\x1b[1;2Q", - KeyF15: "\x1b[1;2R", - KeyF16: "\x1b[1;2S", - KeyF17: "\x1b[15;2~", - KeyF18: "\x1b[17;2~", - KeyF19: "\x1b[18;2~", - KeyF20: "\x1b[19;2~", - KeyF21: "\x1b[20;2~", - KeyF22: "\x1b[21;2~", - KeyF23: "\x1b[23;2~", - KeyF24: "\x1b[24;2~", - KeyF25: "\x1b[1;5P", - KeyF26: "\x1b[1;5Q", - KeyF27: "\x1b[1;5R", - KeyF28: "\x1b[1;5S", - KeyF29: "\x1b[15;5~", - KeyF30: "\x1b[17;5~", - KeyF31: "\x1b[18;5~", - KeyF32: "\x1b[19;5~", - KeyF33: "\x1b[20;5~", - KeyF34: "\x1b[21;5~", - KeyF35: "\x1b[23;5~", - KeyF36: "\x1b[24;5~", - KeyF37: "\x1b[1;6P", - KeyF38: "\x1b[1;6Q", - KeyF39: "\x1b[1;6R", - KeyF40: "\x1b[1;6S", - KeyF41: "\x1b[15;6~", - KeyF42: "\x1b[17;6~", - KeyF43: "\x1b[18;6~", - KeyF44: "\x1b[19;6~", - KeyF45: "\x1b[20;6~", - KeyF46: "\x1b[21;6~", - KeyF47: "\x1b[23;6~", - KeyF48: "\x1b[24;6~", - KeyF49: "\x1b[1;3P", - KeyF50: "\x1b[1;3Q", - KeyF51: "\x1b[1;3R", - KeyF52: "\x1b[1;3S", - KeyF53: "\x1b[15;3~", - KeyF54: "\x1b[17;3~", - KeyF55: "\x1b[18;3~", - KeyF56: "\x1b[19;3~", - KeyF57: "\x1b[20;3~", - KeyF58: "\x1b[21;3~", - KeyF59: "\x1b[23;3~", - KeyF60: "\x1b[24;3~", - KeyF61: "\x1b[1;4P", - KeyF62: "\x1b[1;4Q", - KeyF63: "\x1b[1;4R", - KeyBacktab: "\x1b[Z", - KeyShfLeft: "\x1b[1;2D", - KeyShfRight: "\x1b[1;2C", - KeyShfUp: "\x1b[1;2A", - KeyShfDown: "\x1b[1;2B", - KeyCtrlLeft: "\x1b[1;5D", - KeyCtrlRight: "\x1b[1;5C", - KeyCtrlUp: "\x1b[1;5A", - KeyCtrlDown: "\x1b[1;5B", - KeyMetaLeft: "\x1b[1;9D", - KeyMetaRight: "\x1b[1;9C", - KeyMetaUp: "\x1b[1;9A", - KeyMetaDown: "\x1b[1;9B", - KeyAltLeft: "\x1b[1;3D", - KeyAltRight: "\x1b[1;3C", - KeyAltUp: "\x1b[1;3A", - KeyAltDown: "\x1b[1;3B", - KeyAltShfLeft: "\x1b[1;4D", - KeyAltShfRight: "\x1b[1;4C", - KeyAltShfUp: "\x1b[1;4A", - KeyAltShfDown: "\x1b[1;4B", - KeyMetaShfLeft: "\x1b[1;10D", - KeyMetaShfRight: "\x1b[1;10C", - KeyMetaShfUp: "\x1b[1;10A", - KeyMetaShfDown: "\x1b[1;10B", - KeyCtrlShfLeft: "\x1b[1;6D", - KeyCtrlShfRight: "\x1b[1;6C", - KeyCtrlShfUp: "\x1b[1;6A", - KeyCtrlShfDown: "\x1b[1;6B", - KeyShfHome: "\x1b[1;2H", - KeyShfEnd: "\x1b[1;2F", - KeyCtrlHome: "\x1b[1;5H", - KeyCtrlEnd: "\x1b[1;5F", - KeyAltHome: "\x1b[1;9H", - KeyAltEnd: "\x1b[1;9F", - KeyCtrlShfHome: "\x1b[1;6H", - KeyCtrlShfEnd: "\x1b[1;6F", - KeyMetaShfHome: "\x1b[1;10H", - KeyMetaShfEnd: "\x1b[1;10F", - KeyAltShfHome: "\x1b[1;4H", - KeyAltShfEnd: "\x1b[1;4F", - }) -} diff --git a/vendor/github.com/gdamore/tcell/terminfo/term_hpterm.go b/vendor/github.com/gdamore/tcell/terminfo/term_hpterm.go deleted file mode 100644 index 0fa30bc6..00000000 --- a/vendor/github.com/gdamore/tcell/terminfo/term_hpterm.go +++ /dev/null @@ -1,47 +0,0 @@ -// Generated automatically. DO NOT HAND-EDIT. - -package terminfo - -func init() { - // hp X11 terminal emulator - AddTerminfo(&Terminfo{ - Name: "hpterm", - Aliases: []string{"X-hpterm"}, - Columns: 80, - Lines: 24, - Bell: "\a", - Clear: "\x1b&a0y0C\x1bJ", - AttrOff: "\x1b&d@", - Underline: "\x1b&dD", - Bold: "\x1b&dB", - Dim: "\x1b&dH", - Reverse: "\x1b&dB", - EnterKeypad: "\x1b&s1A", - ExitKeypad: "\x1b&s0A", - PadChar: "\x00", - EnterAcs: "\x0e", - ExitAcs: "\x0f", - SetCursor: "\x1b&a%p1%dy%p2%dC", - CursorBack1: "\b", - CursorUp1: "\x1bA", - KeyUp: "\x1bA", - KeyDown: "\x1bB", - KeyRight: "\x1bC", - KeyLeft: "\x1bD", - KeyInsert: "\x1bQ", - KeyDelete: "\x1bP", - KeyBackspace: "\b", - KeyHome: "\x1bh", - KeyPgUp: "\x1bV", - KeyPgDn: "\x1bU", - KeyF1: "\x1bp", - KeyF2: "\x1bq", - KeyF3: "\x1br", - KeyF4: "\x1bs", - KeyF5: "\x1bt", - KeyF6: "\x1bu", - KeyF7: "\x1bv", - KeyF8: "\x1bw", - KeyClear: "\x1bJ", - }) -} diff --git a/vendor/github.com/gdamore/tcell/terminfo/term_hz1500.go b/vendor/github.com/gdamore/tcell/terminfo/term_hz1500.go deleted file mode 100644 index 34ef6efa..00000000 --- a/vendor/github.com/gdamore/tcell/terminfo/term_hz1500.go +++ /dev/null @@ -1,23 +0,0 @@ -// Generated automatically. DO NOT HAND-EDIT. - -package terminfo - -func init() { - // hazeltine 1500 - AddTerminfo(&Terminfo{ - Name: "hz1500", - Columns: 80, - Lines: 24, - Bell: "\a", - Clear: "~\x1c", - PadChar: "\x00", - SetCursor: "~\x11%p2%p2%?%{30}%>%t%' '%+%;%'`'%+%c%p1%'`'%+%c", - CursorBack1: "\b", - CursorUp1: "~\f", - KeyUp: "~\f", - KeyDown: "\n", - KeyRight: "\x10", - KeyLeft: "\b", - KeyHome: "~\x12", - }) -} diff --git a/vendor/github.com/gdamore/tcell/terminfo/term_konsole.go b/vendor/github.com/gdamore/tcell/terminfo/term_konsole.go deleted file mode 100644 index 5c4e4ec4..00000000 --- a/vendor/github.com/gdamore/tcell/terminfo/term_konsole.go +++ /dev/null @@ -1,112 +0,0 @@ -// Generated automatically. DO NOT HAND-EDIT. - -package terminfo - -func init() { - // KDE console window - AddTerminfo(&Terminfo{ - Name: "konsole", - Columns: 80, - Lines: 24, - Colors: 8, - Clear: "\x1b[H\x1b[2J", - EnterCA: "\x1b7\x1b[?47h", - ExitCA: "\x1b[2J\x1b[?47l\x1b8", - ShowCursor: "\x1b[?25h", - HideCursor: "\x1b[?25l", - AttrOff: "\x1b[0m\x0f", - Underline: "\x1b[4m", - Bold: "\x1b[1m", - Blink: "\x1b[5m", - Reverse: "\x1b[7m", - EnterKeypad: "\x1b[?1h\x1b=", - ExitKeypad: "\x1b[?1l\x1b>", - SetFg: "\x1b[3%p1%dm", - SetBg: "\x1b[4%p1%dm", - SetFgBg: "\x1b[3%p1%d;4%p2%dm", - AltChars: "``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~", - EnterAcs: "\x0e", - ExitAcs: "\x0f", - EnableAcs: "\x1b)0", - Mouse: "\x1b[M", - MouseMode: "%?%p1%{1}%=%t%'h'%Pa%e%'l'%Pa%;\x1b[?1000%ga%c\x1b[?1002%ga%c\x1b[?1003%ga%c\x1b[?1006%ga%c", - SetCursor: "\x1b[%i%p1%d;%p2%dH", - CursorBack1: "\b", - CursorUp1: "\x1b[A", - KeyUp: "\x1bOA", - KeyDown: "\x1bOB", - KeyRight: "\x1bOC", - KeyLeft: "\x1bOD", - KeyInsert: "\x1b[2~", - KeyDelete: "\x1b[3~", - KeyBackspace: "\u007f", - KeyHome: "\x1bOH", - KeyEnd: "\x1bOF", - KeyPgUp: "\x1b[5~", - KeyPgDn: "\x1b[6~", - KeyF1: "\x1bOP", - KeyF2: "\x1bOQ", - KeyF3: "\x1bOR", - KeyF4: "\x1bOS", - KeyF5: "\x1b[15~", - KeyF6: "\x1b[17~", - KeyF7: "\x1b[18~", - KeyF8: "\x1b[19~", - KeyF9: "\x1b[20~", - KeyF10: "\x1b[21~", - KeyF11: "\x1b[23~", - KeyF12: "\x1b[24~", - KeyF13: "\x1bO2P", - KeyF14: "\x1bO2Q", - KeyF15: "\x1bO2R", - KeyF16: "\x1bO2S", - KeyF17: "\x1b[15;2~", - KeyF18: "\x1b[17;2~", - KeyF19: "\x1b[18;2~", - KeyF20: "\x1b[19;2~", - KeyF21: "\x1b[20;2~", - KeyF22: "\x1b[21;2~", - KeyF23: "\x1b[23;2~", - KeyF24: "\x1b[24;2~", - KeyF25: "\x1bO5P", - KeyF26: "\x1bO5Q", - KeyF27: "\x1bO5R", - KeyF28: "\x1bO5S", - KeyF29: "\x1b[15;5~", - KeyF30: "\x1b[17;5~", - KeyF31: "\x1b[18;5~", - KeyF32: "\x1b[19;5~", - KeyF33: "\x1b[20;5~", - KeyF34: "\x1b[21;5~", - KeyF35: "\x1b[23;5~", - KeyF36: "\x1b[24;5~", - KeyF37: "\x1bO6P", - KeyF38: "\x1bO6Q", - KeyF39: "\x1bO6R", - KeyF40: "\x1bO6S", - KeyF41: "\x1b[15;6~", - KeyF42: "\x1b[17;6~", - KeyF43: "\x1b[18;6~", - KeyF44: "\x1b[19;6~", - KeyF45: "\x1b[20;6~", - KeyF46: "\x1b[21;6~", - KeyF47: "\x1b[23;6~", - KeyF48: "\x1b[24;6~", - KeyF49: "\x1bO3P", - KeyF50: "\x1bO3Q", - KeyF51: "\x1bO3R", - KeyF52: "\x1bO3S", - KeyF53: "\x1b[15;3~", - KeyF54: "\x1b[17;3~", - KeyF55: "\x1b[18;3~", - KeyF56: "\x1b[19;3~", - KeyF57: "\x1b[20;3~", - KeyF58: "\x1b[21;3~", - KeyF59: "\x1b[23;3~", - KeyF60: "\x1b[24;3~", - KeyF61: "\x1bO4P", - KeyF62: "\x1bO4Q", - KeyF63: "\x1bO4R", - KeyBacktab: "\x1b[Z", - }) -} diff --git a/vendor/github.com/gdamore/tcell/terminfo/term_konsole_256color.go b/vendor/github.com/gdamore/tcell/terminfo/term_konsole_256color.go deleted file mode 100644 index cbe0314d..00000000 --- a/vendor/github.com/gdamore/tcell/terminfo/term_konsole_256color.go +++ /dev/null @@ -1,112 +0,0 @@ -// Generated automatically. DO NOT HAND-EDIT. - -package terminfo - -func init() { - // KDE console window with xterm 256-colors - AddTerminfo(&Terminfo{ - Name: "konsole-256color", - Columns: 80, - Lines: 24, - Colors: 256, - Clear: "\x1b[H\x1b[2J", - EnterCA: "\x1b7\x1b[?47h", - ExitCA: "\x1b[2J\x1b[?47l\x1b8", - ShowCursor: "\x1b[?25h", - HideCursor: "\x1b[?25l", - AttrOff: "\x1b[0m\x0f", - Underline: "\x1b[4m", - Bold: "\x1b[1m", - Blink: "\x1b[5m", - Reverse: "\x1b[7m", - EnterKeypad: "\x1b[?1h\x1b=", - ExitKeypad: "\x1b[?1l\x1b>", - SetFg: "\x1b[%?%p1%{8}%<%t3%p1%d%e%p1%{16}%<%t9%p1%{8}%-%d%e38;5;%p1%d%;m", - SetBg: "\x1b[%?%p1%{8}%<%t4%p1%d%e%p1%{16}%<%t10%p1%{8}%-%d%e48;5;%p1%d%;m", - SetFgBg: "\x1b[%?%p1%{8}%<%t3%p1%d%e%p1%{16}%<%t9%p1%{8}%-%d%e38;5;%p1%d%;;%?%p2%{8}%<%t4%p2%d%e%p2%{16}%<%t10%p2%{8}%-%d%e48;5;%p2%d%;m", - AltChars: "``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~", - EnterAcs: "\x0e", - ExitAcs: "\x0f", - EnableAcs: "\x1b)0", - Mouse: "\x1b[M", - MouseMode: "%?%p1%{1}%=%t%'h'%Pa%e%'l'%Pa%;\x1b[?1000%ga%c\x1b[?1002%ga%c\x1b[?1003%ga%c\x1b[?1006%ga%c", - SetCursor: "\x1b[%i%p1%d;%p2%dH", - CursorBack1: "\b", - CursorUp1: "\x1b[A", - KeyUp: "\x1bOA", - KeyDown: "\x1bOB", - KeyRight: "\x1bOC", - KeyLeft: "\x1bOD", - KeyInsert: "\x1b[2~", - KeyDelete: "\x1b[3~", - KeyBackspace: "\u007f", - KeyHome: "\x1bOH", - KeyEnd: "\x1bOF", - KeyPgUp: "\x1b[5~", - KeyPgDn: "\x1b[6~", - KeyF1: "\x1bOP", - KeyF2: "\x1bOQ", - KeyF3: "\x1bOR", - KeyF4: "\x1bOS", - KeyF5: "\x1b[15~", - KeyF6: "\x1b[17~", - KeyF7: "\x1b[18~", - KeyF8: "\x1b[19~", - KeyF9: "\x1b[20~", - KeyF10: "\x1b[21~", - KeyF11: "\x1b[23~", - KeyF12: "\x1b[24~", - KeyF13: "\x1bO2P", - KeyF14: "\x1bO2Q", - KeyF15: "\x1bO2R", - KeyF16: "\x1bO2S", - KeyF17: "\x1b[15;2~", - KeyF18: "\x1b[17;2~", - KeyF19: "\x1b[18;2~", - KeyF20: "\x1b[19;2~", - KeyF21: "\x1b[20;2~", - KeyF22: "\x1b[21;2~", - KeyF23: "\x1b[23;2~", - KeyF24: "\x1b[24;2~", - KeyF25: "\x1bO5P", - KeyF26: "\x1bO5Q", - KeyF27: "\x1bO5R", - KeyF28: "\x1bO5S", - KeyF29: "\x1b[15;5~", - KeyF30: "\x1b[17;5~", - KeyF31: "\x1b[18;5~", - KeyF32: "\x1b[19;5~", - KeyF33: "\x1b[20;5~", - KeyF34: "\x1b[21;5~", - KeyF35: "\x1b[23;5~", - KeyF36: "\x1b[24;5~", - KeyF37: "\x1bO6P", - KeyF38: "\x1bO6Q", - KeyF39: "\x1bO6R", - KeyF40: "\x1bO6S", - KeyF41: "\x1b[15;6~", - KeyF42: "\x1b[17;6~", - KeyF43: "\x1b[18;6~", - KeyF44: "\x1b[19;6~", - KeyF45: "\x1b[20;6~", - KeyF46: "\x1b[21;6~", - KeyF47: "\x1b[23;6~", - KeyF48: "\x1b[24;6~", - KeyF49: "\x1bO3P", - KeyF50: "\x1bO3Q", - KeyF51: "\x1bO3R", - KeyF52: "\x1bO3S", - KeyF53: "\x1b[15;3~", - KeyF54: "\x1b[17;3~", - KeyF55: "\x1b[18;3~", - KeyF56: "\x1b[19;3~", - KeyF57: "\x1b[20;3~", - KeyF58: "\x1b[21;3~", - KeyF59: "\x1b[23;3~", - KeyF60: "\x1b[24;3~", - KeyF61: "\x1bO4P", - KeyF62: "\x1bO4Q", - KeyF63: "\x1bO4R", - KeyBacktab: "\x1b[Z", - }) -} diff --git a/vendor/github.com/gdamore/tcell/terminfo/term_kterm.go b/vendor/github.com/gdamore/tcell/terminfo/term_kterm.go deleted file mode 100644 index a7ec2f10..00000000 --- a/vendor/github.com/gdamore/tcell/terminfo/term_kterm.go +++ /dev/null @@ -1,64 +0,0 @@ -// Generated automatically. DO NOT HAND-EDIT. - -package terminfo - -func init() { - // kterm kanji terminal emulator (X window system) - AddTerminfo(&Terminfo{ - Name: "kterm", - Columns: 80, - Lines: 24, - Colors: 8, - Bell: "\a", - Clear: "\x1b[H\x1b[2J", - EnterCA: "\x1b7\x1b[?47h", - ExitCA: "\x1b[2J\x1b[?47l\x1b8", - AttrOff: "\x1b[m\x1b(B", - Underline: "\x1b[4m", - Bold: "\x1b[1m", - Reverse: "\x1b[7m", - EnterKeypad: "\x1b[?1h\x1b=", - ExitKeypad: "\x1b[?1l\x1b>", - SetFg: "\x1b[3%p1%dm", - SetBg: "\x1b[4%p1%dm", - SetFgBg: "\x1b[3%p1%d;4%p2%dm", - PadChar: "\x00", - AltChars: "``aajjkkllmmnnooppqqrrssttuuvvwwxx~~", - EnterAcs: "\x1b(0", - ExitAcs: "\x1b(B", - Mouse: "\x1b[M", - MouseMode: "%?%p1%{1}%=%t%'h'%Pa%e%'l'%Pa%;\x1b[?1000%ga%c\x1b[?1002%ga%c\x1b[?1003%ga%c\x1b[?1006%ga%c", - SetCursor: "\x1b[%i%p1%d;%p2%dH", - CursorBack1: "\b", - CursorUp1: "\x1b[A", - KeyUp: "\x1bOA", - KeyDown: "\x1bOB", - KeyRight: "\x1bOC", - KeyLeft: "\x1bOD", - KeyInsert: "\x1b[2~", - KeyDelete: "\x1b[3~", - KeyBackspace: "\b", - KeyPgUp: "\x1b[5~", - KeyPgDn: "\x1b[6~", - KeyF1: "\x1b[11~", - KeyF2: "\x1b[12~", - KeyF3: "\x1b[13~", - KeyF4: "\x1b[14~", - KeyF5: "\x1b[15~", - KeyF6: "\x1b[17~", - KeyF7: "\x1b[18~", - KeyF8: "\x1b[19~", - KeyF9: "\x1b[20~", - KeyF10: "\x1b[21~", - KeyF11: "\x1b[23~", - KeyF12: "\x1b[24~", - KeyF13: "\x1b[25~", - KeyF14: "\x1b[26~", - KeyF15: "\x1b[28~", - KeyF16: "\x1b[29~", - KeyF17: "\x1b[31~", - KeyF18: "\x1b[32~", - KeyF19: "\x1b[33~", - KeyF20: "\x1b[34~", - }) -} diff --git a/vendor/github.com/gdamore/tcell/terminfo/term_linux.go b/vendor/github.com/gdamore/tcell/terminfo/term_linux.go deleted file mode 100644 index a3d18720..00000000 --- a/vendor/github.com/gdamore/tcell/terminfo/term_linux.go +++ /dev/null @@ -1,66 +0,0 @@ -// Generated automatically. DO NOT HAND-EDIT. - -package terminfo - -func init() { - // linux console - AddTerminfo(&Terminfo{ - Name: "linux", - Colors: 8, - Bell: "\a", - Clear: "\x1b[H\x1b[J", - ShowCursor: "\x1b[?25h\x1b[?0c", - HideCursor: "\x1b[?25l\x1b[?1c", - AttrOff: "\x1b[m\x0f", - Underline: "\x1b[4m", - Bold: "\x1b[1m", - Dim: "\x1b[2m", - Blink: "\x1b[5m", - Reverse: "\x1b[7m", - SetFg: "\x1b[3%p1%dm", - SetBg: "\x1b[4%p1%dm", - SetFgBg: "\x1b[3%p1%d;4%p2%dm", - PadChar: "\x00", - AltChars: "++,,--..00__``aaffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}c~~", - EnterAcs: "\x0e", - ExitAcs: "\x0f", - EnableAcs: "\x1b(B\x1b)0", - Mouse: "\x1b[M", - MouseMode: "%?%p1%{1}%=%t%'h'%Pa%e%'l'%Pa%;\x1b[?1000%ga%c\x1b[?1002%ga%c\x1b[?1003%ga%c\x1b[?1006%ga%c", - SetCursor: "\x1b[%i%p1%d;%p2%dH", - CursorBack1: "\b", - CursorUp1: "\x1b[A", - KeyUp: "\x1b[A", - KeyDown: "\x1b[B", - KeyRight: "\x1b[C", - KeyLeft: "\x1b[D", - KeyInsert: "\x1b[2~", - KeyDelete: "\x1b[3~", - KeyBackspace: "\u007f", - KeyHome: "\x1b[1~", - KeyEnd: "\x1b[4~", - KeyPgUp: "\x1b[5~", - KeyPgDn: "\x1b[6~", - KeyF1: "\x1b[[A", - KeyF2: "\x1b[[B", - KeyF3: "\x1b[[C", - KeyF4: "\x1b[[D", - KeyF5: "\x1b[[E", - KeyF6: "\x1b[17~", - KeyF7: "\x1b[18~", - KeyF8: "\x1b[19~", - KeyF9: "\x1b[20~", - KeyF10: "\x1b[21~", - KeyF11: "\x1b[23~", - KeyF12: "\x1b[24~", - KeyF13: "\x1b[25~", - KeyF14: "\x1b[26~", - KeyF15: "\x1b[28~", - KeyF16: "\x1b[29~", - KeyF17: "\x1b[31~", - KeyF18: "\x1b[32~", - KeyF19: "\x1b[33~", - KeyF20: "\x1b[34~", - KeyBacktab: "\x1b[Z", - }) -} diff --git a/vendor/github.com/gdamore/tcell/terminfo/term_pcansi.go b/vendor/github.com/gdamore/tcell/terminfo/term_pcansi.go deleted file mode 100644 index 270ee459..00000000 --- a/vendor/github.com/gdamore/tcell/terminfo/term_pcansi.go +++ /dev/null @@ -1,36 +0,0 @@ -// Generated automatically. DO NOT HAND-EDIT. - -package terminfo - -func init() { - // ibm-pc terminal programs claiming to be ansi - AddTerminfo(&Terminfo{ - Name: "pcansi", - Columns: 80, - Lines: 24, - Colors: 8, - Bell: "\a", - Clear: "\x1b[H\x1b[J", - AttrOff: "\x1b[0;10m", - Underline: "\x1b[4m", - Bold: "\x1b[1m", - Blink: "\x1b[5m", - Reverse: "\x1b[7m", - SetFg: "\x1b[3%p1%dm", - SetBg: "\x1b[4%p1%dm", - SetFgBg: "\x1b[3%p1%d;4%p2%dm", - PadChar: "\x00", - AltChars: "+\x10,\x11-\x18.\x190\xdb`\x04a\xb1f\xf8g\xf1h\xb0j\xd9k\xbfl\xdam\xc0n\xc5o~p\xc4q\xc4r\xc4s_t\xc3u\xb4v\xc1w\xc2x\xb3y\xf3z\xf2{\xe3|\xd8}\x9c~\xfe", - EnterAcs: "\x1b[12m", - ExitAcs: "\x1b[10m", - SetCursor: "\x1b[%i%p1%d;%p2%dH", - CursorBack1: "\x1b[D", - CursorUp1: "\x1b[A", - KeyUp: "\x1b[A", - KeyDown: "\x1b[B", - KeyRight: "\x1b[C", - KeyLeft: "\x1b[D", - KeyBackspace: "\b", - KeyHome: "\x1b[H", - }) -} diff --git a/vendor/github.com/gdamore/tcell/terminfo/term_rxvt.go b/vendor/github.com/gdamore/tcell/terminfo/term_rxvt.go deleted file mode 100644 index 9ce8e805..00000000 --- a/vendor/github.com/gdamore/tcell/terminfo/term_rxvt.go +++ /dev/null @@ -1,107 +0,0 @@ -// Generated automatically. DO NOT HAND-EDIT. - -package terminfo - -func init() { - // rxvt terminal emulator (X Window System) - AddTerminfo(&Terminfo{ - Name: "rxvt", - Columns: 80, - Lines: 24, - Colors: 8, - Bell: "\a", - Clear: "\x1b[H\x1b[2J", - EnterCA: "\x1b7\x1b[?47h", - ExitCA: "\x1b[2J\x1b[?47l\x1b8", - ShowCursor: "\x1b[?25h", - HideCursor: "\x1b[?25l", - AttrOff: "\x1b[m\x0f", - Underline: "\x1b[4m", - Bold: "\x1b[1m", - Blink: "\x1b[5m", - Reverse: "\x1b[7m", - EnterKeypad: "\x1b=", - ExitKeypad: "\x1b>", - SetFg: "\x1b[3%p1%dm", - SetBg: "\x1b[4%p1%dm", - SetFgBg: "\x1b[3%p1%d;4%p2%dm", - PadChar: "\x00", - AltChars: "``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~", - EnterAcs: "\x0e", - ExitAcs: "\x0f", - EnableAcs: "\x1b(B\x1b)0", - Mouse: "\x1b[M", - MouseMode: "%?%p1%{1}%=%t%'h'%Pa%e%'l'%Pa%;\x1b[?1000%ga%c\x1b[?1002%ga%c\x1b[?1003%ga%c\x1b[?1006%ga%c", - SetCursor: "\x1b[%i%p1%d;%p2%dH", - CursorBack1: "\b", - CursorUp1: "\x1b[A", - KeyUp: "\x1b[A", - KeyDown: "\x1b[B", - KeyRight: "\x1b[C", - KeyLeft: "\x1b[D", - KeyInsert: "\x1b[2~", - KeyDelete: "\x1b[3~", - KeyBackspace: "\u007f", - KeyHome: "\x1b[7~", - KeyEnd: "\x1b[8~", - KeyPgUp: "\x1b[5~", - KeyPgDn: "\x1b[6~", - KeyF1: "\x1b[11~", - KeyF2: "\x1b[12~", - KeyF3: "\x1b[13~", - KeyF4: "\x1b[14~", - KeyF5: "\x1b[15~", - KeyF6: "\x1b[17~", - KeyF7: "\x1b[18~", - KeyF8: "\x1b[19~", - KeyF9: "\x1b[20~", - KeyF10: "\x1b[21~", - KeyF11: "\x1b[23~", - KeyF12: "\x1b[24~", - KeyF13: "\x1b[25~", - KeyF14: "\x1b[26~", - KeyF15: "\x1b[28~", - KeyF16: "\x1b[29~", - KeyF17: "\x1b[31~", - KeyF18: "\x1b[32~", - KeyF19: "\x1b[33~", - KeyF20: "\x1b[34~", - KeyF21: "\x1b[23$", - KeyF22: "\x1b[24$", - KeyF23: "\x1b[11^", - KeyF24: "\x1b[12^", - KeyF25: "\x1b[13^", - KeyF26: "\x1b[14^", - KeyF27: "\x1b[15^", - KeyF28: "\x1b[17^", - KeyF29: "\x1b[18^", - KeyF30: "\x1b[19^", - KeyF31: "\x1b[20^", - KeyF32: "\x1b[21^", - KeyF33: "\x1b[23^", - KeyF34: "\x1b[24^", - KeyF35: "\x1b[25^", - KeyF36: "\x1b[26^", - KeyF37: "\x1b[28^", - KeyF38: "\x1b[29^", - KeyF39: "\x1b[31^", - KeyF40: "\x1b[32^", - KeyF41: "\x1b[33^", - KeyF42: "\x1b[34^", - KeyF43: "\x1b[23@", - KeyF44: "\x1b[24@", - KeyBacktab: "\x1b[Z", - KeyShfLeft: "\x1b[d", - KeyShfRight: "\x1b[c", - KeyShfUp: "\x1b[a", - KeyShfDown: "\x1b[b", - KeyCtrlLeft: "\x1b[Od", - KeyCtrlRight: "\x1b[Oc", - KeyCtrlUp: "\x1b[Oa", - KeyCtrlDown: "\x1b[Ob", - KeyShfHome: "\x1b[7$", - KeyShfEnd: "\x1b[8$", - KeyCtrlHome: "\x1b[7^", - KeyCtrlEnd: "\x1b[8^", - }) -} diff --git a/vendor/github.com/gdamore/tcell/terminfo/term_rxvt_256color.go b/vendor/github.com/gdamore/tcell/terminfo/term_rxvt_256color.go deleted file mode 100644 index d2cd3108..00000000 --- a/vendor/github.com/gdamore/tcell/terminfo/term_rxvt_256color.go +++ /dev/null @@ -1,107 +0,0 @@ -// Generated automatically. DO NOT HAND-EDIT. - -package terminfo - -func init() { - // rxvt 2.7.9 with xterm 256-colors - AddTerminfo(&Terminfo{ - Name: "rxvt-256color", - Columns: 80, - Lines: 24, - Colors: 256, - Bell: "\a", - Clear: "\x1b[H\x1b[2J", - EnterCA: "\x1b7\x1b[?47h", - ExitCA: "\x1b[2J\x1b[?47l\x1b8", - ShowCursor: "\x1b[?25h", - HideCursor: "\x1b[?25l", - AttrOff: "\x1b[m\x0f", - Underline: "\x1b[4m", - Bold: "\x1b[1m", - Blink: "\x1b[5m", - Reverse: "\x1b[7m", - EnterKeypad: "\x1b=", - ExitKeypad: "\x1b>", - SetFg: "\x1b[%?%p1%{8}%<%t3%p1%d%e%p1%{16}%<%t9%p1%{8}%-%d%e38;5;%p1%d%;m", - SetBg: "\x1b[%?%p1%{8}%<%t4%p1%d%e%p1%{16}%<%t10%p1%{8}%-%d%e48;5;%p1%d%;m", - SetFgBg: "\x1b[%?%p1%{8}%<%t3%p1%d%e%p1%{16}%<%t9%p1%{8}%-%d%e38;5;%p1%d%;;%?%p2%{8}%<%t4%p2%d%e%p2%{16}%<%t10%p2%{8}%-%d%e48;5;%p2%d%;m", - PadChar: "\x00", - AltChars: "``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~", - EnterAcs: "\x0e", - ExitAcs: "\x0f", - EnableAcs: "\x1b(B\x1b)0", - Mouse: "\x1b[M", - MouseMode: "%?%p1%{1}%=%t%'h'%Pa%e%'l'%Pa%;\x1b[?1000%ga%c\x1b[?1002%ga%c\x1b[?1003%ga%c\x1b[?1006%ga%c", - SetCursor: "\x1b[%i%p1%d;%p2%dH", - CursorBack1: "\b", - CursorUp1: "\x1b[A", - KeyUp: "\x1b[A", - KeyDown: "\x1b[B", - KeyRight: "\x1b[C", - KeyLeft: "\x1b[D", - KeyInsert: "\x1b[2~", - KeyDelete: "\x1b[3~", - KeyBackspace: "\u007f", - KeyHome: "\x1b[7~", - KeyEnd: "\x1b[8~", - KeyPgUp: "\x1b[5~", - KeyPgDn: "\x1b[6~", - KeyF1: "\x1b[11~", - KeyF2: "\x1b[12~", - KeyF3: "\x1b[13~", - KeyF4: "\x1b[14~", - KeyF5: "\x1b[15~", - KeyF6: "\x1b[17~", - KeyF7: "\x1b[18~", - KeyF8: "\x1b[19~", - KeyF9: "\x1b[20~", - KeyF10: "\x1b[21~", - KeyF11: "\x1b[23~", - KeyF12: "\x1b[24~", - KeyF13: "\x1b[25~", - KeyF14: "\x1b[26~", - KeyF15: "\x1b[28~", - KeyF16: "\x1b[29~", - KeyF17: "\x1b[31~", - KeyF18: "\x1b[32~", - KeyF19: "\x1b[33~", - KeyF20: "\x1b[34~", - KeyF21: "\x1b[23$", - KeyF22: "\x1b[24$", - KeyF23: "\x1b[11^", - KeyF24: "\x1b[12^", - KeyF25: "\x1b[13^", - KeyF26: "\x1b[14^", - KeyF27: "\x1b[15^", - KeyF28: "\x1b[17^", - KeyF29: "\x1b[18^", - KeyF30: "\x1b[19^", - KeyF31: "\x1b[20^", - KeyF32: "\x1b[21^", - KeyF33: "\x1b[23^", - KeyF34: "\x1b[24^", - KeyF35: "\x1b[25^", - KeyF36: "\x1b[26^", - KeyF37: "\x1b[28^", - KeyF38: "\x1b[29^", - KeyF39: "\x1b[31^", - KeyF40: "\x1b[32^", - KeyF41: "\x1b[33^", - KeyF42: "\x1b[34^", - KeyF43: "\x1b[23@", - KeyF44: "\x1b[24@", - KeyBacktab: "\x1b[Z", - KeyShfLeft: "\x1b[d", - KeyShfRight: "\x1b[c", - KeyShfUp: "\x1b[a", - KeyShfDown: "\x1b[b", - KeyCtrlLeft: "\x1b[Od", - KeyCtrlRight: "\x1b[Oc", - KeyCtrlUp: "\x1b[Oa", - KeyCtrlDown: "\x1b[Ob", - KeyShfHome: "\x1b[7$", - KeyShfEnd: "\x1b[8$", - KeyCtrlHome: "\x1b[7^", - KeyCtrlEnd: "\x1b[8^", - }) -} diff --git a/vendor/github.com/gdamore/tcell/terminfo/term_rxvt_unicode.go b/vendor/github.com/gdamore/tcell/terminfo/term_rxvt_unicode.go deleted file mode 100644 index 3aebf6b5..00000000 --- a/vendor/github.com/gdamore/tcell/terminfo/term_rxvt_unicode.go +++ /dev/null @@ -1,81 +0,0 @@ -// Generated automatically. DO NOT HAND-EDIT. - -package terminfo - -func init() { - // rxvt-unicode terminal (X Window System) - AddTerminfo(&Terminfo{ - Name: "rxvt-unicode", - Columns: 80, - Lines: 24, - Colors: 88, - Bell: "\a", - Clear: "\x1b[H\x1b[2J", - EnterCA: "\x1b[?1049h", - ExitCA: "\x1b[r\x1b[?1049l", - ShowCursor: "\x1b[?12l\x1b[?25h", - HideCursor: "\x1b[?25l", - AttrOff: "\x1b[m\x1b(B", - Underline: "\x1b[4m", - Bold: "\x1b[1m", - Blink: "\x1b[5m", - Reverse: "\x1b[7m", - EnterKeypad: "\x1b=", - ExitKeypad: "\x1b>", - SetFg: "\x1b[38;5;%p1%dm", - SetBg: "\x1b[48;5;%p1%dm", - SetFgBg: "\x1b[38;5;%p1%d;48;5;%p2%dm", - AltChars: "+C,D-A.B0E``aaffgghFiGjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~", - EnterAcs: "\x1b(0", - ExitAcs: "\x1b(B", - Mouse: "\x1b[M", - MouseMode: "%?%p1%{1}%=%t%'h'%Pa%e%'l'%Pa%;\x1b[?1000%ga%c\x1b[?1002%ga%c\x1b[?1003%ga%c\x1b[?1006%ga%c", - SetCursor: "\x1b[%i%p1%d;%p2%dH", - CursorBack1: "\b", - CursorUp1: "\x1b[A", - KeyUp: "\x1b[A", - KeyDown: "\x1b[B", - KeyRight: "\x1b[C", - KeyLeft: "\x1b[D", - KeyInsert: "\x1b[2~", - KeyDelete: "\x1b[3~", - KeyBackspace: "\u007f", - KeyHome: "\x1b[7~", - KeyEnd: "\x1b[8~", - KeyPgUp: "\x1b[5~", - KeyPgDn: "\x1b[6~", - KeyF1: "\x1b[11~", - KeyF2: "\x1b[12~", - KeyF3: "\x1b[13~", - KeyF4: "\x1b[14~", - KeyF5: "\x1b[15~", - KeyF6: "\x1b[17~", - KeyF7: "\x1b[18~", - KeyF8: "\x1b[19~", - KeyF9: "\x1b[20~", - KeyF10: "\x1b[21~", - KeyF11: "\x1b[23~", - KeyF12: "\x1b[24~", - KeyF13: "\x1b[25~", - KeyF14: "\x1b[26~", - KeyF15: "\x1b[28~", - KeyF16: "\x1b[29~", - KeyF17: "\x1b[31~", - KeyF18: "\x1b[32~", - KeyF19: "\x1b[33~", - KeyF20: "\x1b[34~", - KeyBacktab: "\x1b[Z", - KeyShfLeft: "\x1b[d", - KeyShfRight: "\x1b[c", - KeyShfUp: "\x1b[a", - KeyShfDown: "\x1b[b", - KeyCtrlLeft: "\x1b[Od", - KeyCtrlRight: "\x1b[Oc", - KeyCtrlUp: "\x1b[Oa", - KeyCtrlDown: "\x1b[Ob", - KeyShfHome: "\x1b[7$", - KeyShfEnd: "\x1b[8$", - KeyCtrlHome: "\x1b[7^", - KeyCtrlEnd: "\x1b[8^", - }) -} diff --git a/vendor/github.com/gdamore/tcell/terminfo/term_rxvt_unicode_256color.go b/vendor/github.com/gdamore/tcell/terminfo/term_rxvt_unicode_256color.go deleted file mode 100644 index 276f5808..00000000 --- a/vendor/github.com/gdamore/tcell/terminfo/term_rxvt_unicode_256color.go +++ /dev/null @@ -1,81 +0,0 @@ -// Generated automatically. DO NOT HAND-EDIT. - -package terminfo - -func init() { - // rxvt-unicode terminal with 256 colors (X Window System) - AddTerminfo(&Terminfo{ - Name: "rxvt-unicode-256color", - Columns: 80, - Lines: 24, - Colors: 256, - Bell: "\a", - Clear: "\x1b[H\x1b[2J", - EnterCA: "\x1b[?1049h", - ExitCA: "\x1b[r\x1b[?1049l", - ShowCursor: "\x1b[?12l\x1b[?25h", - HideCursor: "\x1b[?25l", - AttrOff: "\x1b[m\x1b(B", - Underline: "\x1b[4m", - Bold: "\x1b[1m", - Blink: "\x1b[5m", - Reverse: "\x1b[7m", - EnterKeypad: "\x1b=", - ExitKeypad: "\x1b>", - SetFg: "\x1b[38;5;%p1%dm", - SetBg: "\x1b[48;5;%p1%dm", - SetFgBg: "\x1b[38;5;%p1%d;48;5;%p2%dm", - AltChars: "+C,D-A.B0E``aaffgghFiGjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~", - EnterAcs: "\x1b(0", - ExitAcs: "\x1b(B", - Mouse: "\x1b[M", - MouseMode: "%?%p1%{1}%=%t%'h'%Pa%e%'l'%Pa%;\x1b[?1000%ga%c\x1b[?1002%ga%c\x1b[?1003%ga%c\x1b[?1006%ga%c", - SetCursor: "\x1b[%i%p1%d;%p2%dH", - CursorBack1: "\b", - CursorUp1: "\x1b[A", - KeyUp: "\x1b[A", - KeyDown: "\x1b[B", - KeyRight: "\x1b[C", - KeyLeft: "\x1b[D", - KeyInsert: "\x1b[2~", - KeyDelete: "\x1b[3~", - KeyBackspace: "\u007f", - KeyHome: "\x1b[7~", - KeyEnd: "\x1b[8~", - KeyPgUp: "\x1b[5~", - KeyPgDn: "\x1b[6~", - KeyF1: "\x1b[11~", - KeyF2: "\x1b[12~", - KeyF3: "\x1b[13~", - KeyF4: "\x1b[14~", - KeyF5: "\x1b[15~", - KeyF6: "\x1b[17~", - KeyF7: "\x1b[18~", - KeyF8: "\x1b[19~", - KeyF9: "\x1b[20~", - KeyF10: "\x1b[21~", - KeyF11: "\x1b[23~", - KeyF12: "\x1b[24~", - KeyF13: "\x1b[25~", - KeyF14: "\x1b[26~", - KeyF15: "\x1b[28~", - KeyF16: "\x1b[29~", - KeyF17: "\x1b[31~", - KeyF18: "\x1b[32~", - KeyF19: "\x1b[33~", - KeyF20: "\x1b[34~", - KeyBacktab: "\x1b[Z", - KeyShfLeft: "\x1b[d", - KeyShfRight: "\x1b[c", - KeyShfUp: "\x1b[a", - KeyShfDown: "\x1b[b", - KeyCtrlLeft: "\x1b[Od", - KeyCtrlRight: "\x1b[Oc", - KeyCtrlUp: "\x1b[Oa", - KeyCtrlDown: "\x1b[Ob", - KeyShfHome: "\x1b[7$", - KeyShfEnd: "\x1b[8$", - KeyCtrlHome: "\x1b[7^", - KeyCtrlEnd: "\x1b[8^", - }) -} diff --git a/vendor/github.com/gdamore/tcell/terminfo/term_screen.go b/vendor/github.com/gdamore/tcell/terminfo/term_screen.go deleted file mode 100644 index d9dca02b..00000000 --- a/vendor/github.com/gdamore/tcell/terminfo/term_screen.go +++ /dev/null @@ -1,64 +0,0 @@ -// Generated automatically. DO NOT HAND-EDIT. - -package terminfo - -func init() { - // VT 100/ANSI X3.64 virtual terminal - AddTerminfo(&Terminfo{ - Name: "screen", - Columns: 80, - Lines: 24, - Colors: 8, - Bell: "\a", - Clear: "\x1b[H\x1b[J", - EnterCA: "\x1b[?1049h", - ExitCA: "\x1b[?1049l", - ShowCursor: "\x1b[34h\x1b[?25h", - HideCursor: "\x1b[?25l", - AttrOff: "\x1b[m\x0f", - Underline: "\x1b[4m", - Bold: "\x1b[1m", - Dim: "\x1b[2m", - Blink: "\x1b[5m", - Reverse: "\x1b[7m", - EnterKeypad: "\x1b[?1h\x1b=", - ExitKeypad: "\x1b[?1l\x1b>", - SetFg: "\x1b[3%p1%dm", - SetBg: "\x1b[4%p1%dm", - SetFgBg: "\x1b[3%p1%d;4%p2%dm", - PadChar: "\x00", - AltChars: "++,,--..00``aaffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~", - EnterAcs: "\x0e", - ExitAcs: "\x0f", - EnableAcs: "\x1b(B\x1b)0", - Mouse: "\x1b[M", - MouseMode: "%?%p1%{1}%=%t%'h'%Pa%e%'l'%Pa%;\x1b[?1000%ga%c\x1b[?1002%ga%c\x1b[?1003%ga%c\x1b[?1006%ga%c", - SetCursor: "\x1b[%i%p1%d;%p2%dH", - CursorBack1: "\b", - CursorUp1: "\x1bM", - KeyUp: "\x1bOA", - KeyDown: "\x1bOB", - KeyRight: "\x1bOC", - KeyLeft: "\x1bOD", - KeyInsert: "\x1b[2~", - KeyDelete: "\x1b[3~", - KeyBackspace: "\u007f", - KeyHome: "\x1b[1~", - KeyEnd: "\x1b[4~", - KeyPgUp: "\x1b[5~", - KeyPgDn: "\x1b[6~", - KeyF1: "\x1bOP", - KeyF2: "\x1bOQ", - KeyF3: "\x1bOR", - KeyF4: "\x1bOS", - KeyF5: "\x1b[15~", - KeyF6: "\x1b[17~", - KeyF7: "\x1b[18~", - KeyF8: "\x1b[19~", - KeyF9: "\x1b[20~", - KeyF10: "\x1b[21~", - KeyF11: "\x1b[23~", - KeyF12: "\x1b[24~", - KeyBacktab: "\x1b[Z", - }) -} diff --git a/vendor/github.com/gdamore/tcell/terminfo/term_screen_256color.go b/vendor/github.com/gdamore/tcell/terminfo/term_screen_256color.go deleted file mode 100644 index 40fda226..00000000 --- a/vendor/github.com/gdamore/tcell/terminfo/term_screen_256color.go +++ /dev/null @@ -1,64 +0,0 @@ -// Generated automatically. DO NOT HAND-EDIT. - -package terminfo - -func init() { - // GNU Screen with 256 colors - AddTerminfo(&Terminfo{ - Name: "screen-256color", - Columns: 80, - Lines: 24, - Colors: 256, - Bell: "\a", - Clear: "\x1b[H\x1b[J", - EnterCA: "\x1b[?1049h", - ExitCA: "\x1b[?1049l", - ShowCursor: "\x1b[34h\x1b[?25h", - HideCursor: "\x1b[?25l", - AttrOff: "\x1b[m\x0f", - Underline: "\x1b[4m", - Bold: "\x1b[1m", - Dim: "\x1b[2m", - Blink: "\x1b[5m", - Reverse: "\x1b[7m", - EnterKeypad: "\x1b[?1h\x1b=", - ExitKeypad: "\x1b[?1l\x1b>", - SetFg: "\x1b[%?%p1%{8}%<%t3%p1%d%e%p1%{16}%<%t9%p1%{8}%-%d%e38;5;%p1%d%;m", - SetBg: "\x1b[%?%p1%{8}%<%t4%p1%d%e%p1%{16}%<%t10%p1%{8}%-%d%e48;5;%p1%d%;m", - SetFgBg: "\x1b[%?%p1%{8}%<%t3%p1%d%e%p1%{16}%<%t9%p1%{8}%-%d%e38;5;%p1%d%;;%?%p2%{8}%<%t4%p2%d%e%p2%{16}%<%t10%p2%{8}%-%d%e48;5;%p2%d%;m", - PadChar: "\x00", - AltChars: "++,,--..00``aaffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~", - EnterAcs: "\x0e", - ExitAcs: "\x0f", - EnableAcs: "\x1b(B\x1b)0", - Mouse: "\x1b[M", - MouseMode: "%?%p1%{1}%=%t%'h'%Pa%e%'l'%Pa%;\x1b[?1000%ga%c\x1b[?1002%ga%c\x1b[?1003%ga%c\x1b[?1006%ga%c", - SetCursor: "\x1b[%i%p1%d;%p2%dH", - CursorBack1: "\b", - CursorUp1: "\x1bM", - KeyUp: "\x1bOA", - KeyDown: "\x1bOB", - KeyRight: "\x1bOC", - KeyLeft: "\x1bOD", - KeyInsert: "\x1b[2~", - KeyDelete: "\x1b[3~", - KeyBackspace: "\u007f", - KeyHome: "\x1b[1~", - KeyEnd: "\x1b[4~", - KeyPgUp: "\x1b[5~", - KeyPgDn: "\x1b[6~", - KeyF1: "\x1bOP", - KeyF2: "\x1bOQ", - KeyF3: "\x1bOR", - KeyF4: "\x1bOS", - KeyF5: "\x1b[15~", - KeyF6: "\x1b[17~", - KeyF7: "\x1b[18~", - KeyF8: "\x1b[19~", - KeyF9: "\x1b[20~", - KeyF10: "\x1b[21~", - KeyF11: "\x1b[23~", - KeyF12: "\x1b[24~", - KeyBacktab: "\x1b[Z", - }) -} diff --git a/vendor/github.com/gdamore/tcell/terminfo/term_st.go b/vendor/github.com/gdamore/tcell/terminfo/term_st.go deleted file mode 100644 index 272af39c..00000000 --- a/vendor/github.com/gdamore/tcell/terminfo/term_st.go +++ /dev/null @@ -1,156 +0,0 @@ -// Generated automatically. DO NOT HAND-EDIT. - -package terminfo - -func init() { - // simpleterm 0.4.1 - AddTerminfo(&Terminfo{ - Name: "st", - Aliases: []string{"stterm"}, - Columns: 80, - Lines: 24, - Colors: 8, - Bell: "\a", - Clear: "\x1b[H\x1b[2J", - EnterCA: "\x1b[?1049h", - ExitCA: "\x1b[?1049l", - ShowCursor: "\x1b[?12l\x1b[?25h", - HideCursor: "\x1b[?25l", - AttrOff: "\x1b[0m", - Underline: "\x1b[4m", - Bold: "\x1b[1m", - Blink: "\x1b[5m", - Reverse: "\x1b[7m", - EnterKeypad: "\x1b[?1h\x1b=", - ExitKeypad: "\x1b[?1l\x1b>", - SetFg: "\x1b[3%p1%dm", - SetBg: "\x1b[4%p1%dm", - SetFgBg: "\x1b[3%p1%d;4%p2%dm", - PadChar: "\x00", - AltChars: "``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~", - EnterAcs: "\x1b(0", - ExitAcs: "\x1b(B", - EnableAcs: "\x1b)0", - Mouse: "\x1b[M", - MouseMode: "%?%p1%{1}%=%t%'h'%Pa%e%'l'%Pa%;\x1b[?1000%ga%c\x1b[?1002%ga%c\x1b[?1003%ga%c\x1b[?1006%ga%c", - SetCursor: "\x1b[%i%p1%d;%p2%dH", - CursorBack1: "\b", - CursorUp1: "\x1b[A", - KeyUp: "\x1bOA", - KeyDown: "\x1bOB", - KeyRight: "\x1bOC", - KeyLeft: "\x1bOD", - KeyInsert: "\x1b[2~", - KeyDelete: "\x1b[3~", - KeyBackspace: "\u007f", - KeyHome: "\x1b[1~", - KeyEnd: "\x1b[4~", - KeyPgUp: "\x1b[5~", - KeyPgDn: "\x1b[6~", - KeyF1: "\x1bOP", - KeyF2: "\x1bOQ", - KeyF3: "\x1bOR", - KeyF4: "\x1bOS", - KeyF5: "\x1b[15~", - KeyF6: "\x1b[17~", - KeyF7: "\x1b[18~", - KeyF8: "\x1b[19~", - KeyF9: "\x1b[20~", - KeyF10: "\x1b[21~", - KeyF11: "\x1b[23~", - KeyF12: "\x1b[24~", - KeyF13: "\x1b[1;2P", - KeyF14: "\x1b[1;2Q", - KeyF15: "\x1b[1;2R", - KeyF16: "\x1b[1;2S", - KeyF17: "\x1b[15;2~", - KeyF18: "\x1b[17;2~", - KeyF19: "\x1b[18;2~", - KeyF20: "\x1b[19;2~", - KeyF21: "\x1b[20;2~", - KeyF22: "\x1b[21;2~", - KeyF23: "\x1b[23;2~", - KeyF24: "\x1b[24;2~", - KeyF25: "\x1b[1;5P", - KeyF26: "\x1b[1;5Q", - KeyF27: "\x1b[1;5R", - KeyF28: "\x1b[1;5S", - KeyF29: "\x1b[15;5~", - KeyF30: "\x1b[17;5~", - KeyF31: "\x1b[18;5~", - KeyF32: "\x1b[19;5~", - KeyF33: "\x1b[20;5~", - KeyF34: "\x1b[21;5~", - KeyF35: "\x1b[23;5~", - KeyF36: "\x1b[24;5~", - KeyF37: "\x1b[1;6P", - KeyF38: "\x1b[1;6Q", - KeyF39: "\x1b[1;6R", - KeyF40: "\x1b[1;6S", - KeyF41: "\x1b[15;6~", - KeyF42: "\x1b[17;6~", - KeyF43: "\x1b[18;6~", - KeyF44: "\x1b[19;6~", - KeyF45: "\x1b[20;6~", - KeyF46: "\x1b[21;6~", - KeyF47: "\x1b[23;6~", - KeyF48: "\x1b[24;6~", - KeyF49: "\x1b[1;3P", - KeyF50: "\x1b[1;3Q", - KeyF51: "\x1b[1;3R", - KeyF52: "\x1b[1;3S", - KeyF53: "\x1b[15;3~", - KeyF54: "\x1b[17;3~", - KeyF55: "\x1b[18;3~", - KeyF56: "\x1b[19;3~", - KeyF57: "\x1b[20;3~", - KeyF58: "\x1b[21;3~", - KeyF59: "\x1b[23;3~", - KeyF60: "\x1b[24;3~", - KeyF61: "\x1b[1;4P", - KeyF62: "\x1b[1;4Q", - KeyF63: "\x1b[1;4R", - KeyClear: "\x1b[3;5~", - KeyBacktab: "\x1b[Z", - KeyShfLeft: "\x1b[1;2D", - KeyShfRight: "\x1b[1;2C", - KeyShfUp: "\x1b[1;2A", - KeyShfDown: "\x1b[1;2B", - KeyCtrlLeft: "\x1b[1;5D", - KeyCtrlRight: "\x1b[1;5C", - KeyCtrlUp: "\x1b[1;5A", - KeyCtrlDown: "\x1b[1;5B", - KeyMetaLeft: "\x1b[1;9D", - KeyMetaRight: "\x1b[1;9C", - KeyMetaUp: "\x1b[1;9A", - KeyMetaDown: "\x1b[1;9B", - KeyAltLeft: "\x1b[1;3D", - KeyAltRight: "\x1b[1;3C", - KeyAltUp: "\x1b[1;3A", - KeyAltDown: "\x1b[1;3B", - KeyAltShfLeft: "\x1b[1;4D", - KeyAltShfRight: "\x1b[1;4C", - KeyAltShfUp: "\x1b[1;4A", - KeyAltShfDown: "\x1b[1;4B", - KeyMetaShfLeft: "\x1b[1;10D", - KeyMetaShfRight: "\x1b[1;10C", - KeyMetaShfUp: "\x1b[1;10A", - KeyMetaShfDown: "\x1b[1;10B", - KeyCtrlShfLeft: "\x1b[1;6D", - KeyCtrlShfRight: "\x1b[1;6C", - KeyCtrlShfUp: "\x1b[1;6A", - KeyCtrlShfDown: "\x1b[1;6B", - KeyShfHome: "\x1b[1;2H", - KeyShfEnd: "\x1b[1;2F", - KeyCtrlHome: "\x1b[1;5H", - KeyCtrlEnd: "\x1b[1;5F", - KeyAltHome: "\x1b[1;9H", - KeyAltEnd: "\x1b[1;9F", - KeyCtrlShfHome: "\x1b[1;6H", - KeyCtrlShfEnd: "\x1b[1;6F", - KeyMetaShfHome: "\x1b[1;10H", - KeyMetaShfEnd: "\x1b[1;10F", - KeyAltShfHome: "\x1b[1;4H", - KeyAltShfEnd: "\x1b[1;4F", - }) -} diff --git a/vendor/github.com/gdamore/tcell/terminfo/term_st_256color.go b/vendor/github.com/gdamore/tcell/terminfo/term_st_256color.go deleted file mode 100644 index 9b4256f3..00000000 --- a/vendor/github.com/gdamore/tcell/terminfo/term_st_256color.go +++ /dev/null @@ -1,156 +0,0 @@ -// Generated automatically. DO NOT HAND-EDIT. - -package terminfo - -func init() { - // simpleterm with 256 colors - AddTerminfo(&Terminfo{ - Name: "st-256color", - Aliases: []string{"stterm-256color"}, - Columns: 80, - Lines: 24, - Colors: 256, - Bell: "\a", - Clear: "\x1b[H\x1b[2J", - EnterCA: "\x1b[?1049h", - ExitCA: "\x1b[?1049l", - ShowCursor: "\x1b[?12l\x1b[?25h", - HideCursor: "\x1b[?25l", - AttrOff: "\x1b[0m", - Underline: "\x1b[4m", - Bold: "\x1b[1m", - Blink: "\x1b[5m", - Reverse: "\x1b[7m", - EnterKeypad: "\x1b[?1h\x1b=", - ExitKeypad: "\x1b[?1l\x1b>", - SetFg: "\x1b[%?%p1%{8}%<%t3%p1%d%e%p1%{16}%<%t9%p1%{8}%-%d%e38;5;%p1%d%;m", - SetBg: "\x1b[%?%p1%{8}%<%t4%p1%d%e%p1%{16}%<%t10%p1%{8}%-%d%e48;5;%p1%d%;m", - SetFgBg: "\x1b[%?%p1%{8}%<%t3%p1%d%e%p1%{16}%<%t9%p1%{8}%-%d%e38;5;%p1%d%;;%?%p2%{8}%<%t4%p2%d%e%p2%{16}%<%t10%p2%{8}%-%d%e48;5;%p2%d%;m", - PadChar: "\x00", - AltChars: "``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~", - EnterAcs: "\x1b(0", - ExitAcs: "\x1b(B", - EnableAcs: "\x1b)0", - Mouse: "\x1b[M", - MouseMode: "%?%p1%{1}%=%t%'h'%Pa%e%'l'%Pa%;\x1b[?1000%ga%c\x1b[?1002%ga%c\x1b[?1003%ga%c\x1b[?1006%ga%c", - SetCursor: "\x1b[%i%p1%d;%p2%dH", - CursorBack1: "\b", - CursorUp1: "\x1b[A", - KeyUp: "\x1bOA", - KeyDown: "\x1bOB", - KeyRight: "\x1bOC", - KeyLeft: "\x1bOD", - KeyInsert: "\x1b[2~", - KeyDelete: "\x1b[3~", - KeyBackspace: "\u007f", - KeyHome: "\x1b[1~", - KeyEnd: "\x1b[4~", - KeyPgUp: "\x1b[5~", - KeyPgDn: "\x1b[6~", - KeyF1: "\x1bOP", - KeyF2: "\x1bOQ", - KeyF3: "\x1bOR", - KeyF4: "\x1bOS", - KeyF5: "\x1b[15~", - KeyF6: "\x1b[17~", - KeyF7: "\x1b[18~", - KeyF8: "\x1b[19~", - KeyF9: "\x1b[20~", - KeyF10: "\x1b[21~", - KeyF11: "\x1b[23~", - KeyF12: "\x1b[24~", - KeyF13: "\x1b[1;2P", - KeyF14: "\x1b[1;2Q", - KeyF15: "\x1b[1;2R", - KeyF16: "\x1b[1;2S", - KeyF17: "\x1b[15;2~", - KeyF18: "\x1b[17;2~", - KeyF19: "\x1b[18;2~", - KeyF20: "\x1b[19;2~", - KeyF21: "\x1b[20;2~", - KeyF22: "\x1b[21;2~", - KeyF23: "\x1b[23;2~", - KeyF24: "\x1b[24;2~", - KeyF25: "\x1b[1;5P", - KeyF26: "\x1b[1;5Q", - KeyF27: "\x1b[1;5R", - KeyF28: "\x1b[1;5S", - KeyF29: "\x1b[15;5~", - KeyF30: "\x1b[17;5~", - KeyF31: "\x1b[18;5~", - KeyF32: "\x1b[19;5~", - KeyF33: "\x1b[20;5~", - KeyF34: "\x1b[21;5~", - KeyF35: "\x1b[23;5~", - KeyF36: "\x1b[24;5~", - KeyF37: "\x1b[1;6P", - KeyF38: "\x1b[1;6Q", - KeyF39: "\x1b[1;6R", - KeyF40: "\x1b[1;6S", - KeyF41: "\x1b[15;6~", - KeyF42: "\x1b[17;6~", - KeyF43: "\x1b[18;6~", - KeyF44: "\x1b[19;6~", - KeyF45: "\x1b[20;6~", - KeyF46: "\x1b[21;6~", - KeyF47: "\x1b[23;6~", - KeyF48: "\x1b[24;6~", - KeyF49: "\x1b[1;3P", - KeyF50: "\x1b[1;3Q", - KeyF51: "\x1b[1;3R", - KeyF52: "\x1b[1;3S", - KeyF53: "\x1b[15;3~", - KeyF54: "\x1b[17;3~", - KeyF55: "\x1b[18;3~", - KeyF56: "\x1b[19;3~", - KeyF57: "\x1b[20;3~", - KeyF58: "\x1b[21;3~", - KeyF59: "\x1b[23;3~", - KeyF60: "\x1b[24;3~", - KeyF61: "\x1b[1;4P", - KeyF62: "\x1b[1;4Q", - KeyF63: "\x1b[1;4R", - KeyClear: "\x1b[3;5~", - KeyBacktab: "\x1b[Z", - KeyShfLeft: "\x1b[1;2D", - KeyShfRight: "\x1b[1;2C", - KeyShfUp: "\x1b[1;2A", - KeyShfDown: "\x1b[1;2B", - KeyCtrlLeft: "\x1b[1;5D", - KeyCtrlRight: "\x1b[1;5C", - KeyCtrlUp: "\x1b[1;5A", - KeyCtrlDown: "\x1b[1;5B", - KeyMetaLeft: "\x1b[1;9D", - KeyMetaRight: "\x1b[1;9C", - KeyMetaUp: "\x1b[1;9A", - KeyMetaDown: "\x1b[1;9B", - KeyAltLeft: "\x1b[1;3D", - KeyAltRight: "\x1b[1;3C", - KeyAltUp: "\x1b[1;3A", - KeyAltDown: "\x1b[1;3B", - KeyAltShfLeft: "\x1b[1;4D", - KeyAltShfRight: "\x1b[1;4C", - KeyAltShfUp: "\x1b[1;4A", - KeyAltShfDown: "\x1b[1;4B", - KeyMetaShfLeft: "\x1b[1;10D", - KeyMetaShfRight: "\x1b[1;10C", - KeyMetaShfUp: "\x1b[1;10A", - KeyMetaShfDown: "\x1b[1;10B", - KeyCtrlShfLeft: "\x1b[1;6D", - KeyCtrlShfRight: "\x1b[1;6C", - KeyCtrlShfUp: "\x1b[1;6A", - KeyCtrlShfDown: "\x1b[1;6B", - KeyShfHome: "\x1b[1;2H", - KeyShfEnd: "\x1b[1;2F", - KeyCtrlHome: "\x1b[1;5H", - KeyCtrlEnd: "\x1b[1;5F", - KeyAltHome: "\x1b[1;9H", - KeyAltEnd: "\x1b[1;9F", - KeyCtrlShfHome: "\x1b[1;6H", - KeyCtrlShfEnd: "\x1b[1;6F", - KeyMetaShfHome: "\x1b[1;10H", - KeyMetaShfEnd: "\x1b[1;10F", - KeyAltShfHome: "\x1b[1;4H", - KeyAltShfEnd: "\x1b[1;4F", - }) -} diff --git a/vendor/github.com/gdamore/tcell/terminfo/term_st_meta.go b/vendor/github.com/gdamore/tcell/terminfo/term_st_meta.go deleted file mode 100644 index 1fd5f144..00000000 --- a/vendor/github.com/gdamore/tcell/terminfo/term_st_meta.go +++ /dev/null @@ -1,155 +0,0 @@ -// Generated automatically. DO NOT HAND-EDIT. - -package terminfo - -func init() { - // simpleterm with meta key - AddTerminfo(&Terminfo{ - Name: "st-meta", - Columns: 80, - Lines: 24, - Colors: 8, - Bell: "\a", - Clear: "\x1b[H\x1b[2J", - EnterCA: "\x1b[?1049h", - ExitCA: "\x1b[?1049l", - ShowCursor: "\x1b[?12l\x1b[?25h", - HideCursor: "\x1b[?25l", - AttrOff: "\x1b[0m", - Underline: "\x1b[4m", - Bold: "\x1b[1m", - Dim: "\x1b[2m", - Blink: "\x1b[5m", - Reverse: "\x1b[7m", - EnterKeypad: "\x1b[?1h\x1b=", - ExitKeypad: "\x1b[?1l\x1b>", - SetFg: "\x1b[3%p1%dm", - SetBg: "\x1b[4%p1%dm", - SetFgBg: "\x1b[3%p1%d;4%p2%dm", - AltChars: "+C,D-A.B0E``aaffgghFiGjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~", - EnterAcs: "\x1b(0", - ExitAcs: "\x1b(B", - EnableAcs: "\x1b)0", - Mouse: "\x1b[M", - MouseMode: "%?%p1%{1}%=%t%'h'%Pa%e%'l'%Pa%;\x1b[?1000%ga%c\x1b[?1002%ga%c\x1b[?1003%ga%c\x1b[?1006%ga%c", - SetCursor: "\x1b[%i%p1%d;%p2%dH", - CursorBack1: "\b", - CursorUp1: "\x1b[A", - KeyUp: "\x1bOA", - KeyDown: "\x1bOB", - KeyRight: "\x1bOC", - KeyLeft: "\x1bOD", - KeyInsert: "\x1b[2~", - KeyDelete: "\x1b[3~", - KeyBackspace: "\u007f", - KeyHome: "\x1b[1~", - KeyEnd: "\x1b[4~", - KeyPgUp: "\x1b[5~", - KeyPgDn: "\x1b[6~", - KeyF1: "\x1bOP", - KeyF2: "\x1bOQ", - KeyF3: "\x1bOR", - KeyF4: "\x1bOS", - KeyF5: "\x1b[15~", - KeyF6: "\x1b[17~", - KeyF7: "\x1b[18~", - KeyF8: "\x1b[19~", - KeyF9: "\x1b[20~", - KeyF10: "\x1b[21~", - KeyF11: "\x1b[23~", - KeyF12: "\x1b[24~", - KeyF13: "\x1b[1;2P", - KeyF14: "\x1b[1;2Q", - KeyF15: "\x1b[1;2R", - KeyF16: "\x1b[1;2S", - KeyF17: "\x1b[15;2~", - KeyF18: "\x1b[17;2~", - KeyF19: "\x1b[18;2~", - KeyF20: "\x1b[19;2~", - KeyF21: "\x1b[20;2~", - KeyF22: "\x1b[21;2~", - KeyF23: "\x1b[23;2~", - KeyF24: "\x1b[24;2~", - KeyF25: "\x1b[1;5P", - KeyF26: "\x1b[1;5Q", - KeyF27: "\x1b[1;5R", - KeyF28: "\x1b[1;5S", - KeyF29: "\x1b[15;5~", - KeyF30: "\x1b[17;5~", - KeyF31: "\x1b[18;5~", - KeyF32: "\x1b[19;5~", - KeyF33: "\x1b[20;5~", - KeyF34: "\x1b[21;5~", - KeyF35: "\x1b[23;5~", - KeyF36: "\x1b[24;5~", - KeyF37: "\x1b[1;6P", - KeyF38: "\x1b[1;6Q", - KeyF39: "\x1b[1;6R", - KeyF40: "\x1b[1;6S", - KeyF41: "\x1b[15;6~", - KeyF42: "\x1b[17;6~", - KeyF43: "\x1b[18;6~", - KeyF44: "\x1b[19;6~", - KeyF45: "\x1b[20;6~", - KeyF46: "\x1b[21;6~", - KeyF47: "\x1b[23;6~", - KeyF48: "\x1b[24;6~", - KeyF49: "\x1b[1;3P", - KeyF50: "\x1b[1;3Q", - KeyF51: "\x1b[1;3R", - KeyF52: "\x1b[1;3S", - KeyF53: "\x1b[15;3~", - KeyF54: "\x1b[17;3~", - KeyF55: "\x1b[18;3~", - KeyF56: "\x1b[19;3~", - KeyF57: "\x1b[20;3~", - KeyF58: "\x1b[21;3~", - KeyF59: "\x1b[23;3~", - KeyF60: "\x1b[24;3~", - KeyF61: "\x1b[1;4P", - KeyF62: "\x1b[1;4Q", - KeyF63: "\x1b[1;4R", - KeyClear: "\x1b[3;5~", - KeyBacktab: "\x1b[Z", - KeyShfLeft: "\x1b[1;2D", - KeyShfRight: "\x1b[1;2C", - KeyShfUp: "\x1b[1;2A", - KeyShfDown: "\x1b[1;2B", - KeyCtrlLeft: "\x1b[1;5D", - KeyCtrlRight: "\x1b[1;5C", - KeyCtrlUp: "\x1b[1;5A", - KeyCtrlDown: "\x1b[1;5B", - KeyMetaLeft: "\x1b[1;9D", - KeyMetaRight: "\x1b[1;9C", - KeyMetaUp: "\x1b[1;9A", - KeyMetaDown: "\x1b[1;9B", - KeyAltLeft: "\x1b[1;3D", - KeyAltRight: "\x1b[1;3C", - KeyAltUp: "\x1b[1;3A", - KeyAltDown: "\x1b[1;3B", - KeyAltShfLeft: "\x1b[1;4D", - KeyAltShfRight: "\x1b[1;4C", - KeyAltShfUp: "\x1b[1;4A", - KeyAltShfDown: "\x1b[1;4B", - KeyMetaShfLeft: "\x1b[1;10D", - KeyMetaShfRight: "\x1b[1;10C", - KeyMetaShfUp: "\x1b[1;10A", - KeyMetaShfDown: "\x1b[1;10B", - KeyCtrlShfLeft: "\x1b[1;6D", - KeyCtrlShfRight: "\x1b[1;6C", - KeyCtrlShfUp: "\x1b[1;6A", - KeyCtrlShfDown: "\x1b[1;6B", - KeyShfHome: "\x1b[1;2H", - KeyShfEnd: "\x1b[1;2F", - KeyCtrlHome: "\x1b[1;5H", - KeyCtrlEnd: "\x1b[1;5F", - KeyAltHome: "\x1b[1;9H", - KeyAltEnd: "\x1b[1;9F", - KeyCtrlShfHome: "\x1b[1;6H", - KeyCtrlShfEnd: "\x1b[1;6F", - KeyMetaShfHome: "\x1b[1;10H", - KeyMetaShfEnd: "\x1b[1;10F", - KeyAltShfHome: "\x1b[1;4H", - KeyAltShfEnd: "\x1b[1;4F", - }) -} diff --git a/vendor/github.com/gdamore/tcell/terminfo/term_st_meta_256color.go b/vendor/github.com/gdamore/tcell/terminfo/term_st_meta_256color.go deleted file mode 100644 index 5f181b2a..00000000 --- a/vendor/github.com/gdamore/tcell/terminfo/term_st_meta_256color.go +++ /dev/null @@ -1,155 +0,0 @@ -// Generated automatically. DO NOT HAND-EDIT. - -package terminfo - -func init() { - // simpleterm with meta key and 256 colors - AddTerminfo(&Terminfo{ - Name: "st-meta-256color", - Columns: 80, - Lines: 24, - Colors: 256, - Bell: "\a", - Clear: "\x1b[H\x1b[2J", - EnterCA: "\x1b[?1049h", - ExitCA: "\x1b[?1049l", - ShowCursor: "\x1b[?12l\x1b[?25h", - HideCursor: "\x1b[?25l", - AttrOff: "\x1b[0m", - Underline: "\x1b[4m", - Bold: "\x1b[1m", - Dim: "\x1b[2m", - Blink: "\x1b[5m", - Reverse: "\x1b[7m", - EnterKeypad: "\x1b[?1h\x1b=", - ExitKeypad: "\x1b[?1l\x1b>", - SetFg: "\x1b[%?%p1%{8}%<%t3%p1%d%e%p1%{16}%<%t9%p1%{8}%-%d%e38;5;%p1%d%;m", - SetBg: "\x1b[%?%p1%{8}%<%t4%p1%d%e%p1%{16}%<%t10%p1%{8}%-%d%e48;5;%p1%d%;m", - SetFgBg: "\x1b[%?%p1%{8}%<%t3%p1%d%e%p1%{16}%<%t9%p1%{8}%-%d%e38;5;%p1%d%;;%?%p2%{8}%<%t4%p2%d%e%p2%{16}%<%t10%p2%{8}%-%d%e48;5;%p2%d%;m", - AltChars: "+C,D-A.B0E``aaffgghFiGjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~", - EnterAcs: "\x1b(0", - ExitAcs: "\x1b(B", - EnableAcs: "\x1b)0", - Mouse: "\x1b[M", - MouseMode: "%?%p1%{1}%=%t%'h'%Pa%e%'l'%Pa%;\x1b[?1000%ga%c\x1b[?1002%ga%c\x1b[?1003%ga%c\x1b[?1006%ga%c", - SetCursor: "\x1b[%i%p1%d;%p2%dH", - CursorBack1: "\b", - CursorUp1: "\x1b[A", - KeyUp: "\x1bOA", - KeyDown: "\x1bOB", - KeyRight: "\x1bOC", - KeyLeft: "\x1bOD", - KeyInsert: "\x1b[2~", - KeyDelete: "\x1b[3~", - KeyBackspace: "\u007f", - KeyHome: "\x1b[1~", - KeyEnd: "\x1b[4~", - KeyPgUp: "\x1b[5~", - KeyPgDn: "\x1b[6~", - KeyF1: "\x1bOP", - KeyF2: "\x1bOQ", - KeyF3: "\x1bOR", - KeyF4: "\x1bOS", - KeyF5: "\x1b[15~", - KeyF6: "\x1b[17~", - KeyF7: "\x1b[18~", - KeyF8: "\x1b[19~", - KeyF9: "\x1b[20~", - KeyF10: "\x1b[21~", - KeyF11: "\x1b[23~", - KeyF12: "\x1b[24~", - KeyF13: "\x1b[1;2P", - KeyF14: "\x1b[1;2Q", - KeyF15: "\x1b[1;2R", - KeyF16: "\x1b[1;2S", - KeyF17: "\x1b[15;2~", - KeyF18: "\x1b[17;2~", - KeyF19: "\x1b[18;2~", - KeyF20: "\x1b[19;2~", - KeyF21: "\x1b[20;2~", - KeyF22: "\x1b[21;2~", - KeyF23: "\x1b[23;2~", - KeyF24: "\x1b[24;2~", - KeyF25: "\x1b[1;5P", - KeyF26: "\x1b[1;5Q", - KeyF27: "\x1b[1;5R", - KeyF28: "\x1b[1;5S", - KeyF29: "\x1b[15;5~", - KeyF30: "\x1b[17;5~", - KeyF31: "\x1b[18;5~", - KeyF32: "\x1b[19;5~", - KeyF33: "\x1b[20;5~", - KeyF34: "\x1b[21;5~", - KeyF35: "\x1b[23;5~", - KeyF36: "\x1b[24;5~", - KeyF37: "\x1b[1;6P", - KeyF38: "\x1b[1;6Q", - KeyF39: "\x1b[1;6R", - KeyF40: "\x1b[1;6S", - KeyF41: "\x1b[15;6~", - KeyF42: "\x1b[17;6~", - KeyF43: "\x1b[18;6~", - KeyF44: "\x1b[19;6~", - KeyF45: "\x1b[20;6~", - KeyF46: "\x1b[21;6~", - KeyF47: "\x1b[23;6~", - KeyF48: "\x1b[24;6~", - KeyF49: "\x1b[1;3P", - KeyF50: "\x1b[1;3Q", - KeyF51: "\x1b[1;3R", - KeyF52: "\x1b[1;3S", - KeyF53: "\x1b[15;3~", - KeyF54: "\x1b[17;3~", - KeyF55: "\x1b[18;3~", - KeyF56: "\x1b[19;3~", - KeyF57: "\x1b[20;3~", - KeyF58: "\x1b[21;3~", - KeyF59: "\x1b[23;3~", - KeyF60: "\x1b[24;3~", - KeyF61: "\x1b[1;4P", - KeyF62: "\x1b[1;4Q", - KeyF63: "\x1b[1;4R", - KeyClear: "\x1b[3;5~", - KeyBacktab: "\x1b[Z", - KeyShfLeft: "\x1b[1;2D", - KeyShfRight: "\x1b[1;2C", - KeyShfUp: "\x1b[1;2A", - KeyShfDown: "\x1b[1;2B", - KeyCtrlLeft: "\x1b[1;5D", - KeyCtrlRight: "\x1b[1;5C", - KeyCtrlUp: "\x1b[1;5A", - KeyCtrlDown: "\x1b[1;5B", - KeyMetaLeft: "\x1b[1;9D", - KeyMetaRight: "\x1b[1;9C", - KeyMetaUp: "\x1b[1;9A", - KeyMetaDown: "\x1b[1;9B", - KeyAltLeft: "\x1b[1;3D", - KeyAltRight: "\x1b[1;3C", - KeyAltUp: "\x1b[1;3A", - KeyAltDown: "\x1b[1;3B", - KeyAltShfLeft: "\x1b[1;4D", - KeyAltShfRight: "\x1b[1;4C", - KeyAltShfUp: "\x1b[1;4A", - KeyAltShfDown: "\x1b[1;4B", - KeyMetaShfLeft: "\x1b[1;10D", - KeyMetaShfRight: "\x1b[1;10C", - KeyMetaShfUp: "\x1b[1;10A", - KeyMetaShfDown: "\x1b[1;10B", - KeyCtrlShfLeft: "\x1b[1;6D", - KeyCtrlShfRight: "\x1b[1;6C", - KeyCtrlShfUp: "\x1b[1;6A", - KeyCtrlShfDown: "\x1b[1;6B", - KeyShfHome: "\x1b[1;2H", - KeyShfEnd: "\x1b[1;2F", - KeyCtrlHome: "\x1b[1;5H", - KeyCtrlEnd: "\x1b[1;5F", - KeyAltHome: "\x1b[1;9H", - KeyAltEnd: "\x1b[1;9F", - KeyCtrlShfHome: "\x1b[1;6H", - KeyCtrlShfEnd: "\x1b[1;6F", - KeyMetaShfHome: "\x1b[1;10H", - KeyMetaShfEnd: "\x1b[1;10F", - KeyAltShfHome: "\x1b[1;4H", - KeyAltShfEnd: "\x1b[1;4F", - }) -} diff --git a/vendor/github.com/gdamore/tcell/terminfo/term_sun.go b/vendor/github.com/gdamore/tcell/terminfo/term_sun.go deleted file mode 100644 index 5858b4c2..00000000 --- a/vendor/github.com/gdamore/tcell/terminfo/term_sun.go +++ /dev/null @@ -1,44 +0,0 @@ -// Generated automatically. DO NOT HAND-EDIT. - -package terminfo - -func init() { - // Sun Microsystems Inc. workstation console - AddTerminfo(&Terminfo{ - Name: "sun", - Aliases: []string{"sun1", "sun2"}, - Columns: 80, - Lines: 34, - Bell: "\a", - Clear: "\f", - AttrOff: "\x1b[m", - Reverse: "\x1b[7m", - PadChar: "\x00", - SetCursor: "\x1b[%i%p1%d;%p2%dH", - CursorBack1: "\b", - CursorUp1: "\x1b[A", - KeyUp: "\x1b[A", - KeyDown: "\x1b[B", - KeyRight: "\x1b[C", - KeyLeft: "\x1b[D", - KeyInsert: "\x1b[247z", - KeyDelete: "\u007f", - KeyBackspace: "\b", - KeyHome: "\x1b[214z", - KeyEnd: "\x1b[220z", - KeyPgUp: "\x1b[216z", - KeyPgDn: "\x1b[222z", - KeyF1: "\x1b[224z", - KeyF2: "\x1b[225z", - KeyF3: "\x1b[226z", - KeyF4: "\x1b[227z", - KeyF5: "\x1b[228z", - KeyF6: "\x1b[229z", - KeyF7: "\x1b[230z", - KeyF8: "\x1b[231z", - KeyF9: "\x1b[232z", - KeyF10: "\x1b[233z", - KeyF11: "\x1b[234z", - KeyF12: "\x1b[235z", - }) -} diff --git a/vendor/github.com/gdamore/tcell/terminfo/term_sun_color.go b/vendor/github.com/gdamore/tcell/terminfo/term_sun_color.go deleted file mode 100644 index e4ebe96b..00000000 --- a/vendor/github.com/gdamore/tcell/terminfo/term_sun_color.go +++ /dev/null @@ -1,48 +0,0 @@ -// Generated automatically. DO NOT HAND-EDIT. - -package terminfo - -func init() { - // Sun Microsystems Workstation console with color support (IA systems) - AddTerminfo(&Terminfo{ - Name: "sun-color", - Columns: 80, - Lines: 34, - Colors: 8, - Bell: "\a", - Clear: "\f", - AttrOff: "\x1b[m", - Bold: "\x1b[1m", - Reverse: "\x1b[7m", - SetFg: "\x1b[3%p1%dm", - SetBg: "\x1b[4%p1%dm", - SetFgBg: "\x1b[3%p1%d;4%p2%dm", - PadChar: "\x00", - SetCursor: "\x1b[%i%p1%d;%p2%dH", - CursorBack1: "\b", - CursorUp1: "\x1b[A", - KeyUp: "\x1b[A", - KeyDown: "\x1b[B", - KeyRight: "\x1b[C", - KeyLeft: "\x1b[D", - KeyInsert: "\x1b[247z", - KeyDelete: "\u007f", - KeyBackspace: "\b", - KeyHome: "\x1b[214z", - KeyEnd: "\x1b[220z", - KeyPgUp: "\x1b[216z", - KeyPgDn: "\x1b[222z", - KeyF1: "\x1b[224z", - KeyF2: "\x1b[225z", - KeyF3: "\x1b[226z", - KeyF4: "\x1b[227z", - KeyF5: "\x1b[228z", - KeyF6: "\x1b[229z", - KeyF7: "\x1b[230z", - KeyF8: "\x1b[231z", - KeyF9: "\x1b[232z", - KeyF10: "\x1b[233z", - KeyF11: "\x1b[234z", - KeyF12: "\x1b[235z", - }) -} diff --git a/vendor/github.com/gdamore/tcell/terminfo/term_termite.go b/vendor/github.com/gdamore/tcell/terminfo/term_termite.go deleted file mode 100644 index 8e7f683c..00000000 --- a/vendor/github.com/gdamore/tcell/terminfo/term_termite.go +++ /dev/null @@ -1,152 +0,0 @@ -// Generated automatically. DO NOT HAND-EDIT. - -package terminfo - -func init() { - // VTE-based terminal - AddTerminfo(&Terminfo{ - Name: "xterm-termite", - Columns: 80, - Lines: 24, - Colors: 256, - Bell: "\a", - Clear: "\x1b[H\x1b[2J", - EnterCA: "\x1b[?1049h", - ExitCA: "\x1b[?1049l", - ShowCursor: "\x1b[?12l\x1b[?25h", - HideCursor: "\x1b[?25l", - AttrOff: "\x1b(B\x1b[m", - Underline: "\x1b[4m", - Bold: "\x1b[1m", - Dim: "\x1b[2m", - Reverse: "\x1b[7m", - EnterKeypad: "\x1b[?1h\x1b=", - ExitKeypad: "\x1b[?1l\x1b>", - SetFg: "\x1b[%?%p1%{8}%<%t3%p1%d%e%p1%{16}%<%t9%p1%{8}%-%d%e38;5;%p1%d%;m", - SetBg: "\x1b[%?%p1%{8}%<%t4%p1%d%e%p1%{16}%<%t10%p1%{8}%-%d%e48;5;%p1%d%;m", - SetFgBg: "\x1b[%?%p1%{8}%<%t3%p1%d%e%p1%{16}%<%t9%p1%{8}%-%d%e38;5;%p1%d%;;%?%p2%{8}%<%t4%p2%d%e%p2%{16}%<%t10%p2%{8}%-%d%e48;5;%p2%d%;m", - AltChars: "++,,--..00``aaffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~", - EnterAcs: "\x1b(0", - ExitAcs: "\x1b(B", - Mouse: "\x1b[M", - MouseMode: "%?%p1%{1}%=%t%'h'%Pa%e%'l'%Pa%;\x1b[?1000%ga%c\x1b[?1002%ga%c\x1b[?1003%ga%c\x1b[?1006%ga%c", - SetCursor: "\x1b[%i%p1%d;%p2%dH", - CursorBack1: "\b", - CursorUp1: "\x1b[A", - KeyUp: "\x1bOA", - KeyDown: "\x1bOB", - KeyRight: "\x1bOC", - KeyLeft: "\x1bOD", - KeyInsert: "\x1b[2~", - KeyDelete: "\x1b[3~", - KeyBackspace: "\xff", - KeyHome: "\x1bOH", - KeyEnd: "\x1bOF", - KeyPgUp: "\x1b[5~", - KeyPgDn: "\x1b[6~", - KeyF1: "\x1bOP", - KeyF2: "\x1bOQ", - KeyF3: "\x1bOR", - KeyF4: "\x1bOS", - KeyF5: "\x1b[15~", - KeyF6: "\x1b[17~", - KeyF7: "\x1b[18~", - KeyF8: "\x1b[19~", - KeyF9: "\x1b[20~", - KeyF10: "\x1b[21~", - KeyF11: "\x1b[23~", - KeyF12: "\x1b[24~", - KeyF13: "\x1b[1;2P", - KeyF14: "\x1b[1;2Q", - KeyF15: "\x1b[1;2R", - KeyF16: "\x1b[1;2S", - KeyF17: "\x1b[15;2~", - KeyF18: "\x1b[17;2~", - KeyF19: "\x1b[18;2~", - KeyF20: "\x1b[19;2~", - KeyF21: "\x1b[20;2~", - KeyF22: "\x1b[21;2~", - KeyF23: "\x1b[23;2~", - KeyF24: "\x1b[24;2~", - KeyF25: "\x1b[1;5P", - KeyF26: "\x1b[1;5Q", - KeyF27: "\x1b[1;5R", - KeyF28: "\x1b[1;5S", - KeyF29: "\x1b[15;5~", - KeyF30: "\x1b[17;5~", - KeyF31: "\x1b[18;5~", - KeyF32: "\x1b[19;5~", - KeyF33: "\x1b[20;5~", - KeyF34: "\x1b[21;5~", - KeyF35: "\x1b[23;5~", - KeyF36: "\x1b[24;5~", - KeyF37: "\x1b[1;6P", - KeyF38: "\x1b[1;6Q", - KeyF39: "\x1b[1;6R", - KeyF40: "\x1b[1;6S", - KeyF41: "\x1b[15;6~", - KeyF42: "\x1b[17;6~", - KeyF43: "\x1b[18;6~", - KeyF44: "\x1b[19;6~", - KeyF45: "\x1b[20;6~", - KeyF46: "\x1b[21;6~", - KeyF47: "\x1b[23;6~", - KeyF48: "\x1b[24;6~", - KeyF49: "\x1b[1;3P", - KeyF50: "\x1b[1;3Q", - KeyF51: "\x1b[1;3R", - KeyF52: "\x1b[1;3S", - KeyF53: "\x1b[15;3~", - KeyF54: "\x1b[17;3~", - KeyF55: "\x1b[18;3~", - KeyF56: "\x1b[19;3~", - KeyF57: "\x1b[20;3~", - KeyF58: "\x1b[21;3~", - KeyF59: "\x1b[23;3~", - KeyF60: "\x1b[24;3~", - KeyF61: "\x1b[1;4P", - KeyF62: "\x1b[1;4Q", - KeyF63: "\x1b[1;4R", - KeyBacktab: "\x1b[Z", - KeyShfLeft: "\x1b[1;2D", - KeyShfRight: "\x1b[1;2C", - KeyShfUp: "\x1b[1;2A", - KeyShfDown: "\x1b[1;2B", - KeyCtrlLeft: "\x1b[1;5D", - KeyCtrlRight: "\x1b[1;5C", - KeyCtrlUp: "\x1b[1;5A", - KeyCtrlDown: "\x1b[1;5B", - KeyMetaLeft: "\x1b[1;9D", - KeyMetaRight: "\x1b[1;9C", - KeyMetaUp: "\x1b[1;9A", - KeyMetaDown: "\x1b[1;9B", - KeyAltLeft: "\x1b[1;3D", - KeyAltRight: "\x1b[1;3C", - KeyAltUp: "\x1b[1;3A", - KeyAltDown: "\x1b[1;3B", - KeyAltShfLeft: "\x1b[1;4D", - KeyAltShfRight: "\x1b[1;4C", - KeyAltShfUp: "\x1b[1;4A", - KeyAltShfDown: "\x1b[1;4B", - KeyMetaShfLeft: "\x1b[1;10D", - KeyMetaShfRight: "\x1b[1;10C", - KeyMetaShfUp: "\x1b[1;10A", - KeyMetaShfDown: "\x1b[1;10B", - KeyCtrlShfLeft: "\x1b[1;6D", - KeyCtrlShfRight: "\x1b[1;6C", - KeyCtrlShfUp: "\x1b[1;6A", - KeyCtrlShfDown: "\x1b[1;6B", - KeyShfHome: "\x1b[1;2H", - KeyShfEnd: "\x1b[1;2F", - KeyCtrlHome: "\x1b[1;5H", - KeyCtrlEnd: "\x1b[1;5F", - KeyAltHome: "\x1b[1;9H", - KeyAltEnd: "\x1b[1;9F", - KeyCtrlShfHome: "\x1b[1;6H", - KeyCtrlShfEnd: "\x1b[1;6F", - KeyMetaShfHome: "\x1b[1;10H", - KeyMetaShfEnd: "\x1b[1;10F", - KeyAltShfHome: "\x1b[1;4H", - KeyAltShfEnd: "\x1b[1;4F", - }) -} diff --git a/vendor/github.com/gdamore/tcell/terminfo/term_tvi910.go b/vendor/github.com/gdamore/tcell/terminfo/term_tvi910.go deleted file mode 100644 index 03b4bf98..00000000 --- a/vendor/github.com/gdamore/tcell/terminfo/term_tvi910.go +++ /dev/null @@ -1,36 +0,0 @@ -// Generated automatically. DO NOT HAND-EDIT. - -package terminfo - -func init() { - // televideo model 910 - AddTerminfo(&Terminfo{ - Name: "tvi910", - Columns: 80, - Lines: 24, - Bell: "\a", - Clear: "\x1a", - AttrOff: "\x1bG0", - Underline: "\x1bG8", - Reverse: "\x1bG4", - PadChar: "\x00", - SetCursor: "\x1b=%p1%' '%+%c%p2%' '%+%c", - CursorBack1: "\b", - CursorUp1: "\v", - KeyUp: "\v", - KeyDown: "\n", - KeyRight: "\f", - KeyLeft: "\b", - KeyBackspace: "\b", - KeyHome: "\x1e", - KeyF1: "\x01@\r", - KeyF2: "\x01A\r", - KeyF3: "\x01B\r", - KeyF4: "\x01C\r", - KeyF5: "\x01D\r", - KeyF6: "\x01E\r", - KeyF7: "\x01F\r", - KeyF8: "\x01G\r", - KeyF9: "\x01H\r", - }) -} diff --git a/vendor/github.com/gdamore/tcell/terminfo/term_tvi912.go b/vendor/github.com/gdamore/tcell/terminfo/term_tvi912.go deleted file mode 100644 index a6eeb8f7..00000000 --- a/vendor/github.com/gdamore/tcell/terminfo/term_tvi912.go +++ /dev/null @@ -1,35 +0,0 @@ -// Generated automatically. DO NOT HAND-EDIT. - -package terminfo - -func init() { - // old televideo 912/914/920 - AddTerminfo(&Terminfo{ - Name: "tvi912", - Aliases: []string{"tvi914", "tvi920"}, - Columns: 80, - Lines: 24, - Bell: "\a", - Clear: "\x1a", - Underline: "\x1bl", - PadChar: "\x00", - SetCursor: "\x1b=%p1%' '%+%c%p2%' '%+%c", - CursorBack1: "\b", - CursorUp1: "\v", - KeyUp: "\v", - KeyDown: "\n", - KeyRight: "\f", - KeyLeft: "\b", - KeyBackspace: "\b", - KeyHome: "\x1e", - KeyF1: "\x01@\r", - KeyF2: "\x01A\r", - KeyF3: "\x01B\r", - KeyF4: "\x01C\r", - KeyF5: "\x01D\r", - KeyF6: "\x01E\r", - KeyF7: "\x01F\r", - KeyF8: "\x01G\r", - KeyF9: "\x01H\r", - }) -} diff --git a/vendor/github.com/gdamore/tcell/terminfo/term_tvi921.go b/vendor/github.com/gdamore/tcell/terminfo/term_tvi921.go deleted file mode 100644 index 10860cfa..00000000 --- a/vendor/github.com/gdamore/tcell/terminfo/term_tvi921.go +++ /dev/null @@ -1,31 +0,0 @@ -// Generated automatically. DO NOT HAND-EDIT. - -package terminfo - -func init() { - // televideo model 921 with sysline same as page & real vi function - AddTerminfo(&Terminfo{ - Name: "tvi921", - Columns: 80, - Lines: 24, - Clear: "\x1a", - ShowCursor: "\x1b.3", - AttrOff: "\x1bG0", - Underline: "\x1bG8", - Reverse: "\x1bG4", - PadChar: "\x00", - EnterAcs: "\x1b$", - ExitAcs: "\x1b%%", - SetCursor: "\x1b=%p1%' '%+%c%p2%' '%+%c$<3/>", - CursorBack1: "\b", - CursorUp1: "\v", - KeyUp: "\v", - KeyDown: "\x16", - KeyRight: "\f", - KeyLeft: "\b", - KeyInsert: "\x1bQ", - KeyDelete: "\x1bW", - KeyBackspace: "\b", - KeyClear: "\x1a", - }) -} diff --git a/vendor/github.com/gdamore/tcell/terminfo/term_tvi925.go b/vendor/github.com/gdamore/tcell/terminfo/term_tvi925.go deleted file mode 100644 index d678ac03..00000000 --- a/vendor/github.com/gdamore/tcell/terminfo/term_tvi925.go +++ /dev/null @@ -1,40 +0,0 @@ -// Generated automatically. DO NOT HAND-EDIT. - -package terminfo - -func init() { - // televideo 925 - AddTerminfo(&Terminfo{ - Name: "tvi925", - Columns: 80, - Lines: 24, - Bell: "\a", - Clear: "\x1a", - ShowCursor: "\x1b.4", - AttrOff: "\x1bG0", - Underline: "\x1bG8", - Reverse: "\x1bG4", - PadChar: "\x00", - SetCursor: "\x1b=%p1%' '%+%c%p2%' '%+%c", - CursorBack1: "\b", - CursorUp1: "\v", - KeyUp: "\v", - KeyDown: "\x16", - KeyRight: "\f", - KeyLeft: "\b", - KeyInsert: "\x1bQ", - KeyDelete: "\x1bW", - KeyBackspace: "\b", - KeyHome: "\x1e", - KeyF1: "\x01@\r", - KeyF2: "\x01A\r", - KeyF3: "\x01B\r", - KeyF4: "\x01C\r", - KeyF5: "\x01D\r", - KeyF6: "\x01E\r", - KeyF7: "\x01F\r", - KeyF8: "\x01G\r", - KeyF9: "\x01H\r", - KeyClear: "\x1a", - }) -} diff --git a/vendor/github.com/gdamore/tcell/terminfo/term_tvi950.go b/vendor/github.com/gdamore/tcell/terminfo/term_tvi950.go deleted file mode 100644 index 49d9e4ba..00000000 --- a/vendor/github.com/gdamore/tcell/terminfo/term_tvi950.go +++ /dev/null @@ -1,43 +0,0 @@ -// Generated automatically. DO NOT HAND-EDIT. - -package terminfo - -func init() { - // televideo 950 - AddTerminfo(&Terminfo{ - Name: "tvi950", - Columns: 80, - Lines: 24, - Bell: "\a", - Clear: "\x1b*", - AttrOff: "\x1bG0", - Underline: "\x1bG8", - Reverse: "\x1bG4", - PadChar: "\x00", - AltChars: "b\tc\fd\re\ni\v", - EnterAcs: "\x15", - ExitAcs: "\x18", - SetCursor: "\x1b=%p1%' '%+%c%p2%' '%+%c", - CursorBack1: "\b", - CursorUp1: "\v", - KeyUp: "\v", - KeyDown: "\x16", - KeyRight: "\f", - KeyLeft: "\b", - KeyInsert: "\x1bQ", - KeyDelete: "\x1bW", - KeyBackspace: "\b", - KeyHome: "\x1e", - KeyF1: "\x01@\r", - KeyF2: "\x01A\r", - KeyF3: "\x01B\r", - KeyF4: "\x01C\r", - KeyF5: "\x01D\r", - KeyF6: "\x01E\r", - KeyF7: "\x01F\r", - KeyF8: "\x01G\r", - KeyF9: "\x01H\r", - KeyClear: "\x1b*", - KeyBacktab: "\x1bI", - }) -} diff --git a/vendor/github.com/gdamore/tcell/terminfo/term_tvi970.go b/vendor/github.com/gdamore/tcell/terminfo/term_tvi970.go deleted file mode 100644 index ef9166ee..00000000 --- a/vendor/github.com/gdamore/tcell/terminfo/term_tvi970.go +++ /dev/null @@ -1,37 +0,0 @@ -// Generated automatically. DO NOT HAND-EDIT. - -package terminfo - -func init() { - // televideo 970 - AddTerminfo(&Terminfo{ - Name: "tvi970", - Columns: 80, - Lines: 24, - Clear: "\x1b[H\x1b[2J", - EnterCA: "\x1b[?20l\x1b[?7h\x1b[1Q", - AttrOff: "\x1b[m", - Underline: "\x1b[4m", - PadChar: "\x00", - EnterAcs: "\x1b(B", - ExitAcs: "\x1b(B", - SetCursor: "\x1b[%i%p1%d;%p2%df", - CursorBack1: "\b", - CursorUp1: "\x1bM", - KeyUp: "\x1b[A", - KeyDown: "\x1b[B", - KeyRight: "\x1b[C", - KeyLeft: "\x1b[D", - KeyBackspace: "\b", - KeyHome: "\x1b[H", - KeyF1: "\x1b?a", - KeyF2: "\x1b?b", - KeyF3: "\x1b?c", - KeyF4: "\x1b?d", - KeyF5: "\x1b?e", - KeyF6: "\x1b?f", - KeyF7: "\x1b?g", - KeyF8: "\x1b?h", - KeyF9: "\x1b?i", - }) -} diff --git a/vendor/github.com/gdamore/tcell/terminfo/term_vt100.go b/vendor/github.com/gdamore/tcell/terminfo/term_vt100.go deleted file mode 100644 index 8293cdaa..00000000 --- a/vendor/github.com/gdamore/tcell/terminfo/term_vt100.go +++ /dev/null @@ -1,45 +0,0 @@ -// Generated automatically. DO NOT HAND-EDIT. - -package terminfo - -func init() { - // dec vt100 (w/advanced video) - AddTerminfo(&Terminfo{ - Name: "vt100", - Aliases: []string{"vt100-am"}, - Columns: 80, - Lines: 24, - Bell: "\a", - Clear: "\x1b[H\x1b[J$<50>", - AttrOff: "\x1b[m\x0f$<2>", - Underline: "\x1b[4m$<2>", - Bold: "\x1b[1m$<2>", - Blink: "\x1b[5m$<2>", - Reverse: "\x1b[7m$<2>", - EnterKeypad: "\x1b[?1h\x1b=", - ExitKeypad: "\x1b[?1l\x1b>", - PadChar: "\x00", - AltChars: "``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~", - EnterAcs: "\x0e", - ExitAcs: "\x0f", - EnableAcs: "\x1b(B\x1b)0", - SetCursor: "\x1b[%i%p1%d;%p2%dH$<5>", - CursorBack1: "\b", - CursorUp1: "\x1b[A$<2>", - KeyUp: "\x1bOA", - KeyDown: "\x1bOB", - KeyRight: "\x1bOC", - KeyLeft: "\x1bOD", - KeyBackspace: "\b", - KeyF1: "\x1bOP", - KeyF2: "\x1bOQ", - KeyF3: "\x1bOR", - KeyF4: "\x1bOS", - KeyF5: "\x1bOt", - KeyF6: "\x1bOu", - KeyF7: "\x1bOv", - KeyF8: "\x1bOl", - KeyF9: "\x1bOw", - KeyF10: "\x1bOx", - }) -} diff --git a/vendor/github.com/gdamore/tcell/terminfo/term_vt102.go b/vendor/github.com/gdamore/tcell/terminfo/term_vt102.go deleted file mode 100644 index 414d36b3..00000000 --- a/vendor/github.com/gdamore/tcell/terminfo/term_vt102.go +++ /dev/null @@ -1,44 +0,0 @@ -// Generated automatically. DO NOT HAND-EDIT. - -package terminfo - -func init() { - // dec vt102 - AddTerminfo(&Terminfo{ - Name: "vt102", - Columns: 80, - Lines: 24, - Bell: "\a", - Clear: "\x1b[H\x1b[J$<50>", - AttrOff: "\x1b[m\x0f$<2>", - Underline: "\x1b[4m$<2>", - Bold: "\x1b[1m$<2>", - Blink: "\x1b[5m$<2>", - Reverse: "\x1b[7m$<2>", - EnterKeypad: "\x1b[?1h\x1b=", - ExitKeypad: "\x1b[?1l\x1b>", - PadChar: "\x00", - AltChars: "``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~", - EnterAcs: "\x0e", - ExitAcs: "\x0f", - EnableAcs: "\x1b(B\x1b)0", - SetCursor: "\x1b[%i%p1%d;%p2%dH$<5>", - CursorBack1: "\b", - CursorUp1: "\x1b[A$<2>", - KeyUp: "\x1bOA", - KeyDown: "\x1bOB", - KeyRight: "\x1bOC", - KeyLeft: "\x1bOD", - KeyBackspace: "\b", - KeyF1: "\x1bOP", - KeyF2: "\x1bOQ", - KeyF3: "\x1bOR", - KeyF4: "\x1bOS", - KeyF5: "\x1bOt", - KeyF6: "\x1bOu", - KeyF7: "\x1bOv", - KeyF8: "\x1bOl", - KeyF9: "\x1bOw", - KeyF10: "\x1bOx", - }) -} diff --git a/vendor/github.com/gdamore/tcell/terminfo/term_vt220.go b/vendor/github.com/gdamore/tcell/terminfo/term_vt220.go deleted file mode 100644 index 5d0d7489..00000000 --- a/vendor/github.com/gdamore/tcell/terminfo/term_vt220.go +++ /dev/null @@ -1,55 +0,0 @@ -// Generated automatically. DO NOT HAND-EDIT. - -package terminfo - -func init() { - // dec vt220 - AddTerminfo(&Terminfo{ - Name: "vt220", - Aliases: []string{"vt200"}, - Columns: 80, - Lines: 24, - Bell: "\a", - Clear: "\x1b[H\x1b[J", - AttrOff: "\x1b[m\x1b(B", - Underline: "\x1b[4m", - Bold: "\x1b[1m", - Blink: "\x1b[5m", - Reverse: "\x1b[7m", - PadChar: "\x00", - AltChars: "``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~", - EnterAcs: "\x1b(0$<2>", - ExitAcs: "\x1b(B$<4>", - EnableAcs: "\x1b)0", - SetCursor: "\x1b[%i%p1%d;%p2%dH", - CursorBack1: "\b", - CursorUp1: "\x1b[A", - KeyUp: "\x1b[A", - KeyDown: "\x1b[B", - KeyRight: "\x1b[C", - KeyLeft: "\x1b[D", - KeyInsert: "\x1b[2~", - KeyDelete: "\x1b[3~", - KeyBackspace: "\b", - KeyPgUp: "\x1b[5~", - KeyPgDn: "\x1b[6~", - KeyF1: "\x1bOP", - KeyF2: "\x1bOQ", - KeyF3: "\x1bOR", - KeyF4: "\x1bOS", - KeyF6: "\x1b[17~", - KeyF7: "\x1b[18~", - KeyF8: "\x1b[19~", - KeyF9: "\x1b[20~", - KeyF10: "\x1b[21~", - KeyF11: "\x1b[23~", - KeyF12: "\x1b[24~", - KeyF13: "\x1b[25~", - KeyF14: "\x1b[26~", - KeyF17: "\x1b[31~", - KeyF18: "\x1b[32~", - KeyF19: "\x1b[33~", - KeyF20: "\x1b[34~", - KeyHelp: "\x1b[28~", - }) -} diff --git a/vendor/github.com/gdamore/tcell/terminfo/term_vt320.go b/vendor/github.com/gdamore/tcell/terminfo/term_vt320.go deleted file mode 100644 index 7832e082..00000000 --- a/vendor/github.com/gdamore/tcell/terminfo/term_vt320.go +++ /dev/null @@ -1,60 +0,0 @@ -// Generated automatically. DO NOT HAND-EDIT. - -package terminfo - -func init() { - // dec vt320 7 bit terminal - AddTerminfo(&Terminfo{ - Name: "vt320", - Aliases: []string{"vt300"}, - Columns: 80, - Lines: 24, - Bell: "\a", - Clear: "\x1b[H\x1b[2J", - ShowCursor: "\x1b[?25h", - HideCursor: "\x1b[?25l", - AttrOff: "\x1b[m\x1b(B", - Underline: "\x1b[4m", - Bold: "\x1b[1m", - Blink: "\x1b[5m", - Reverse: "\x1b[7m", - EnterKeypad: "\x1b[?1h\x1b=", - ExitKeypad: "\x1b[?1l\x1b>", - PadChar: "\x00", - AltChars: "``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~", - EnterAcs: "\x1b(0", - ExitAcs: "\x1b(B", - SetCursor: "\x1b[%i%p1%d;%p2%dH", - CursorBack1: "\b", - CursorUp1: "\x1b[A", - KeyUp: "\x1bOA", - KeyDown: "\x1bOB", - KeyRight: "\x1bOC", - KeyLeft: "\x1bOD", - KeyInsert: "\x1b[2~", - KeyDelete: "\x1b[3~", - KeyBackspace: "\u007f", - KeyHome: "\x1b[1~", - KeyPgUp: "\x1b[5~", - KeyPgDn: "\x1b[6~", - KeyF1: "\x1bOP", - KeyF2: "\x1bOQ", - KeyF3: "\x1bOR", - KeyF4: "\x1bOS", - KeyF6: "\x1b[17~", - KeyF7: "\x1b[18~", - KeyF8: "\x1b[19~", - KeyF9: "\x1b[20~", - KeyF10: "\x1b[21~", - KeyF11: "\x1b[23~", - KeyF12: "\x1b[24~", - KeyF13: "\x1b[25~", - KeyF14: "\x1b[26~", - KeyF15: "\x1b[28~", - KeyF16: "\x1b[29~", - KeyF17: "\x1b[31~", - KeyF18: "\x1b[32~", - KeyF19: "\x1b[33~", - KeyF20: "\x1b[34~", - }) -} diff --git a/vendor/github.com/gdamore/tcell/terminfo/term_vt400.go b/vendor/github.com/gdamore/tcell/terminfo/term_vt400.go deleted file mode 100644 index 2a7cadad..00000000 --- a/vendor/github.com/gdamore/tcell/terminfo/term_vt400.go +++ /dev/null @@ -1,43 +0,0 @@ -// Generated automatically. DO NOT HAND-EDIT. - -package terminfo - -func init() { - // dec vt400 24x80 column autowrap - AddTerminfo(&Terminfo{ - Name: "vt400", - Aliases: []string{"vt400-24", "dec-vt400"}, - Columns: 80, - Lines: 24, - Clear: "\x1b[H\x1b[J$<10/>", - ShowCursor: "\x1b[?25h", - HideCursor: "\x1b[?25l", - AttrOff: "\x1b[m\x1b(B", - Underline: "\x1b[4m", - Bold: "\x1b[1m", - Blink: "\x1b[5m", - Reverse: "\x1b[7m", - EnterKeypad: "\x1b[?1h\x1b=", - ExitKeypad: "\x1b[?1l\x1b>", - PadChar: "\x00", - AltChars: "``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~", - EnterAcs: "\x1b(0", - ExitAcs: "\x1b(B", - SetCursor: "\x1b[%i%p1%d;%p2%dH", - CursorBack1: "\b", - CursorUp1: "\x1b[A", - KeyUp: "\x1bOA", - KeyDown: "\x1bOB", - KeyRight: "\x1bOC", - KeyLeft: "\x1bOD", - KeyBackspace: "\b", - KeyF1: "\x1bOP", - KeyF2: "\x1bOQ", - KeyF3: "\x1bOR", - KeyF4: "\x1bOS", - KeyF6: "\x1b[17~", - KeyF7: "\x1b[18~", - KeyF8: "\x1b[19~", - KeyF9: "\x1b[20~", - }) -} diff --git a/vendor/github.com/gdamore/tcell/terminfo/term_vt420.go b/vendor/github.com/gdamore/tcell/terminfo/term_vt420.go deleted file mode 100644 index b8a4a1c2..00000000 --- a/vendor/github.com/gdamore/tcell/terminfo/term_vt420.go +++ /dev/null @@ -1,50 +0,0 @@ -// Generated automatically. DO NOT HAND-EDIT. - -package terminfo - -func init() { - // DEC VT420 - AddTerminfo(&Terminfo{ - Name: "vt420", - Columns: 80, - Lines: 24, - Bell: "\a", - Clear: "\x1b[H\x1b[2J$<50>", - ShowCursor: "\x1b[?25h", - HideCursor: "\x1b[?25l", - AttrOff: "\x1b[m\x1b(B$<2>", - Underline: "\x1b[4m", - Bold: "\x1b[1m$<2>", - Blink: "\x1b[5m$<2>", - Reverse: "\x1b[7m$<2>", - EnterKeypad: "\x1b=", - ExitKeypad: "\x1b>", - PadChar: "\x00", - AltChars: "``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~", - EnterAcs: "\x1b(0$<2>", - ExitAcs: "\x1b(B$<4>", - EnableAcs: "\x1b)0", - SetCursor: "\x1b[%i%p1%d;%p2%dH$<10>", - CursorBack1: "\b", - CursorUp1: "\x1b[A", - KeyUp: "\x1b[A", - KeyDown: "\x1b[B", - KeyRight: "\x1b[C", - KeyLeft: "\x1b[D", - KeyInsert: "\x1b[2~", - KeyDelete: "\x1b[3~", - KeyBackspace: "\b", - KeyPgUp: "\x1b[5~", - KeyPgDn: "\x1b[6~", - KeyF1: "\x1bOP", - KeyF2: "\x1bOQ", - KeyF3: "\x1bOR", - KeyF4: "\x1bOS", - KeyF5: "\x1b[17~", - KeyF6: "\x1b[18~", - KeyF7: "\x1b[19~", - KeyF8: "\x1b[20~", - KeyF9: "\x1b[21~", - KeyF10: "\x1b[29~", - }) -} diff --git a/vendor/github.com/gdamore/tcell/terminfo/term_vt52.go b/vendor/github.com/gdamore/tcell/terminfo/term_vt52.go deleted file mode 100644 index 2bf190b7..00000000 --- a/vendor/github.com/gdamore/tcell/terminfo/term_vt52.go +++ /dev/null @@ -1,26 +0,0 @@ -// Generated automatically. DO NOT HAND-EDIT. - -package terminfo - -func init() { - // dec vt52 - AddTerminfo(&Terminfo{ - Name: "vt52", - Columns: 80, - Lines: 24, - Bell: "\a", - Clear: "\x1bH\x1bJ", - PadChar: "\x00", - AltChars: "+h.k0affggolpnqprrss", - EnterAcs: "\x1bF", - ExitAcs: "\x1bG", - SetCursor: "\x1bY%p1%' '%+%c%p2%' '%+%c", - CursorBack1: "\x1bD", - CursorUp1: "\x1bA", - KeyUp: "\x1bA", - KeyDown: "\x1bB", - KeyRight: "\x1bC", - KeyLeft: "\x1bD", - KeyBackspace: "\b", - }) -} diff --git a/vendor/github.com/gdamore/tcell/terminfo/term_wy50.go b/vendor/github.com/gdamore/tcell/terminfo/term_wy50.go deleted file mode 100644 index 022dda9d..00000000 --- a/vendor/github.com/gdamore/tcell/terminfo/term_wy50.go +++ /dev/null @@ -1,56 +0,0 @@ -// Generated automatically. DO NOT HAND-EDIT. - -package terminfo - -func init() { - // Wyse 50 - AddTerminfo(&Terminfo{ - Name: "wy50", - Aliases: []string{"wyse50"}, - Columns: 80, - Lines: 24, - Bell: "\a", - Clear: "\x1b+$<20>", - ShowCursor: "\x1b`1", - HideCursor: "\x1b`0", - AttrOff: "\x1b(\x1bH\x03", - Dim: "\x1b`7\x1b)", - Reverse: "\x1b`6\x1b)", - PadChar: "\x00", - AltChars: "0wa_h[jukslrmqnxqzttuyv]wpxv", - EnterAcs: "\x1bH\x02", - ExitAcs: "\x1bH\x03", - SetCursor: "\x1b=%p1%' '%+%c%p2%' '%+%c", - CursorBack1: "\b", - CursorUp1: "\v", - KeyUp: "\v", - KeyDown: "\n", - KeyRight: "\f", - KeyLeft: "\b", - KeyInsert: "\x1bQ", - KeyDelete: "\x1bW", - KeyBackspace: "\b", - KeyHome: "\x1e", - KeyPgUp: "\x1bJ", - KeyPgDn: "\x1bK", - KeyF1: "\x01@\r", - KeyF2: "\x01A\r", - KeyF3: "\x01B\r", - KeyF4: "\x01C\r", - KeyF5: "\x01D\r", - KeyF6: "\x01E\r", - KeyF7: "\x01F\r", - KeyF8: "\x01G\r", - KeyF9: "\x01H\r", - KeyF10: "\x01I\r", - KeyF11: "\x01J\r", - KeyF12: "\x01K\r", - KeyF13: "\x01L\r", - KeyF14: "\x01M\r", - KeyF15: "\x01N\r", - KeyF16: "\x01O\r", - KeyPrint: "\x1bP", - KeyBacktab: "\x1bI", - KeyShfHome: "\x1b{", - }) -} diff --git a/vendor/github.com/gdamore/tcell/terminfo/term_wy60.go b/vendor/github.com/gdamore/tcell/terminfo/term_wy60.go deleted file mode 100644 index a737bb85..00000000 --- a/vendor/github.com/gdamore/tcell/terminfo/term_wy60.go +++ /dev/null @@ -1,60 +0,0 @@ -// Generated automatically. DO NOT HAND-EDIT. - -package terminfo - -func init() { - // Wyse 60 - AddTerminfo(&Terminfo{ - Name: "wy60", - Aliases: []string{"wyse60"}, - Columns: 80, - Lines: 24, - Bell: "\a", - Clear: "\x1b+$<100>", - EnterCA: "\x1bw0", - ExitCA: "\x1bw1", - ShowCursor: "\x1b`1", - HideCursor: "\x1b`0", - AttrOff: "\x1b(\x1bH\x03\x1bG0\x1bcD", - Underline: "\x1bG8", - Dim: "\x1bGp", - Blink: "\x1bG2", - Reverse: "\x1bG4", - PadChar: "\x00", - AltChars: "+/,.0[a2fxgqh1ihjYk?lZm@nEqDtCu4vAwBx3yszr{c~~", - EnterAcs: "\x1bcE", - ExitAcs: "\x1bcD", - SetCursor: "\x1b=%p1%' '%+%c%p2%' '%+%c", - CursorBack1: "\b", - CursorUp1: "\v", - KeyUp: "\v", - KeyDown: "\n", - KeyRight: "\f", - KeyLeft: "\b", - KeyInsert: "\x1bQ", - KeyDelete: "\x1bW", - KeyBackspace: "\b", - KeyHome: "\x1e", - KeyPgUp: "\x1bJ", - KeyPgDn: "\x1bK", - KeyF1: "\x01@\r", - KeyF2: "\x01A\r", - KeyF3: "\x01B\r", - KeyF4: "\x01C\r", - KeyF5: "\x01D\r", - KeyF6: "\x01E\r", - KeyF7: "\x01F\r", - KeyF8: "\x01G\r", - KeyF9: "\x01H\r", - KeyF10: "\x01I\r", - KeyF11: "\x01J\r", - KeyF12: "\x01K\r", - KeyF13: "\x01L\r", - KeyF14: "\x01M\r", - KeyF15: "\x01N\r", - KeyF16: "\x01O\r", - KeyPrint: "\x1bP", - KeyBacktab: "\x1bI", - KeyShfHome: "\x1b{", - }) -} diff --git a/vendor/github.com/gdamore/tcell/terminfo/term_wy99_ansi.go b/vendor/github.com/gdamore/tcell/terminfo/term_wy99_ansi.go deleted file mode 100644 index 6bf0d69c..00000000 --- a/vendor/github.com/gdamore/tcell/terminfo/term_wy99_ansi.go +++ /dev/null @@ -1,58 +0,0 @@ -// Generated automatically. DO NOT HAND-EDIT. - -package terminfo - -func init() { - // Wyse WY-99GT in ansi mode (int'l PC keyboard) - AddTerminfo(&Terminfo{ - Name: "wy99-ansi", - Columns: 80, - Lines: 25, - Bell: "\a", - Clear: "\x1b[H\x1b[J$<200>", - ShowCursor: "\x1b[34h\x1b[?25h", - HideCursor: "\x1b[?25l", - AttrOff: "\x1b[m\x0f\x1b[\"q", - Underline: "\x1b[4m", - Bold: "\x1b[1m", - Dim: "\x1b[2m", - Blink: "\x1b[5m", - Reverse: "\x1b[7m", - EnterKeypad: "\x1b[?1h", - ExitKeypad: "\x1b[?1l", - PadChar: "\x00", - AltChars: "``aaffggjjkkllmmnnooqqssttuuvvwwxx{{||}}~~", - EnterAcs: "\x0e", - ExitAcs: "\x0f", - EnableAcs: "\x1b)0", - SetCursor: "\x1b[%i%p1%d;%p2%dH", - CursorBack1: "\b$<1>", - CursorUp1: "\x1bM", - KeyUp: "\x1bOA", - KeyDown: "\x1bOB", - KeyRight: "\x1bOC", - KeyLeft: "\x1bOD", - KeyBackspace: "\b", - KeyF1: "\x1bOP", - KeyF2: "\x1bOQ", - KeyF3: "\x1bOR", - KeyF4: "\x1bOS", - KeyF5: "\x1b[M", - KeyF6: "\x1b[17~", - KeyF7: "\x1b[18~", - KeyF8: "\x1b[19~", - KeyF9: "\x1b[20~", - KeyF10: "\x1b[21~", - KeyF11: "\x1b[23~", - KeyF12: "\x1b[24~", - KeyF17: "\x1b[K", - KeyF18: "\x1b[31~", - KeyF19: "\x1b[32~", - KeyF20: "\x1b[33~", - KeyF21: "\x1b[34~", - KeyF22: "\x1b[35~", - KeyF23: "\x1b[1~", - KeyF24: "\x1b[2~", - KeyBacktab: "\x1b[z", - }) -} diff --git a/vendor/github.com/gdamore/tcell/terminfo/term_wy99a_ansi.go b/vendor/github.com/gdamore/tcell/terminfo/term_wy99a_ansi.go deleted file mode 100644 index 1d7f6f21..00000000 --- a/vendor/github.com/gdamore/tcell/terminfo/term_wy99a_ansi.go +++ /dev/null @@ -1,58 +0,0 @@ -// Generated automatically. DO NOT HAND-EDIT. - -package terminfo - -func init() { - // Wyse WY-99GT in ansi mode (US PC keyboard) - AddTerminfo(&Terminfo{ - Name: "wy99a-ansi", - Columns: 80, - Lines: 25, - Bell: "\a", - Clear: "\x1b[H\x1b[J$<200>", - ShowCursor: "\x1b[34h\x1b[?25h", - HideCursor: "\x1b[?25l", - AttrOff: "\x1b[m\x0f\x1b[\"q", - Underline: "\x1b[4m", - Bold: "\x1b[1m", - Dim: "\x1b[2m", - Blink: "\x1b[5m", - Reverse: "\x1b[7m", - EnterKeypad: "\x1b[?1h", - ExitKeypad: "\x1b[?1l", - PadChar: "\x00", - AltChars: "``aaffggjjkkllmmnnooqqssttuuvvwwxx{{||}}~~", - EnterAcs: "\x0e", - ExitAcs: "\x0f", - EnableAcs: "\x1b)0", - SetCursor: "\x1b[%i%p1%d;%p2%dH", - CursorBack1: "\b$<1>", - CursorUp1: "\x1bM", - KeyUp: "\x1bOA", - KeyDown: "\x1bOB", - KeyRight: "\x1bOC", - KeyLeft: "\x1bOD", - KeyBackspace: "\b", - KeyF1: "\x1bOP", - KeyF2: "\x1bOQ", - KeyF3: "\x1bOR", - KeyF4: "\x1bOS", - KeyF5: "\x1b[M", - KeyF6: "\x1b[17~", - KeyF7: "\x1b[18~", - KeyF8: "\x1b[19~", - KeyF9: "\x1b[20~", - KeyF10: "\x1b[21~", - KeyF11: "\x1b[23~", - KeyF12: "\x1b[24~", - KeyF17: "\x1b[K", - KeyF18: "\x1b[31~", - KeyF19: "\x1b[32~", - KeyF20: "\x1b[33~", - KeyF21: "\x1b[34~", - KeyF22: "\x1b[35~", - KeyF23: "\x1b[1~", - KeyF24: "\x1b[2~", - KeyBacktab: "\x1b[z", - }) -} diff --git a/vendor/github.com/gdamore/tcell/terminfo/term_xfce.go b/vendor/github.com/gdamore/tcell/terminfo/term_xfce.go deleted file mode 100644 index bb39be95..00000000 --- a/vendor/github.com/gdamore/tcell/terminfo/term_xfce.go +++ /dev/null @@ -1,153 +0,0 @@ -// Generated automatically. DO NOT HAND-EDIT. - -package terminfo - -func init() { - // Xfce Terminal - AddTerminfo(&Terminfo{ - Name: "xfce", - Columns: 80, - Lines: 24, - Colors: 8, - Bell: "\a", - Clear: "\x1b[H\x1b[2J", - EnterCA: "\x1b7\x1b[?47h", - ExitCA: "\x1b[2J\x1b[?47l\x1b8", - ShowCursor: "\x1b[?25h", - HideCursor: "\x1b[?25l", - AttrOff: "\x1b[0m\x0f", - Underline: "\x1b[4m", - Bold: "\x1b[1m", - Reverse: "\x1b[7m", - EnterKeypad: "\x1b[?1h\x1b=", - ExitKeypad: "\x1b[?1l\x1b>", - SetFg: "\x1b[3%p1%dm", - SetBg: "\x1b[4%p1%dm", - SetFgBg: "\x1b[3%p1%d;4%p2%dm", - PadChar: "\x00", - AltChars: "``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~", - EnterAcs: "\x0e", - ExitAcs: "\x0f", - EnableAcs: "\x1b)0", - Mouse: "\x1b[M", - MouseMode: "%?%p1%{1}%=%t%'h'%Pa%e%'l'%Pa%;\x1b[?1000%ga%c\x1b[?1002%ga%c\x1b[?1003%ga%c\x1b[?1006%ga%c", - SetCursor: "\x1b[%i%p1%d;%p2%dH", - CursorBack1: "\b", - CursorUp1: "\x1b[A", - KeyUp: "\x1bOA", - KeyDown: "\x1bOB", - KeyRight: "\x1bOC", - KeyLeft: "\x1bOD", - KeyInsert: "\x1b[2~", - KeyDelete: "\x1b[3~", - KeyBackspace: "\u007f", - KeyHome: "\x1bOH", - KeyEnd: "\x1bOF", - KeyPgUp: "\x1b[5~", - KeyPgDn: "\x1b[6~", - KeyF1: "\x1bOP", - KeyF2: "\x1bOQ", - KeyF3: "\x1bOR", - KeyF4: "\x1bOS", - KeyF5: "\x1b[15~", - KeyF6: "\x1b[17~", - KeyF7: "\x1b[18~", - KeyF8: "\x1b[19~", - KeyF9: "\x1b[20~", - KeyF10: "\x1b[21~", - KeyF11: "\x1b[23~", - KeyF12: "\x1b[24~", - KeyF13: "\x1bO1;2P", - KeyF14: "\x1bO1;2Q", - KeyF15: "\x1bO1;2R", - KeyF16: "\x1bO1;2S", - KeyF17: "\x1b[15;2~", - KeyF18: "\x1b[17;2~", - KeyF19: "\x1b[18;2~", - KeyF20: "\x1b[19;2~", - KeyF21: "\x1b[20;2~", - KeyF22: "\x1b[21;2~", - KeyF23: "\x1b[23;2~", - KeyF24: "\x1b[24;2~", - KeyF25: "\x1bO1;5P", - KeyF26: "\x1bO1;5Q", - KeyF27: "\x1bO1;5R", - KeyF28: "\x1bO1;5S", - KeyF29: "\x1b[15;5~", - KeyF30: "\x1b[17;5~", - KeyF31: "\x1b[18;5~", - KeyF32: "\x1b[19;5~", - KeyF33: "\x1b[20;5~", - KeyF34: "\x1b[21;5~", - KeyF35: "\x1b[23;5~", - KeyF36: "\x1b[24;5~", - KeyF37: "\x1bO1;6P", - KeyF38: "\x1bO1;6Q", - KeyF39: "\x1bO1;6R", - KeyF40: "\x1bO1;6S", - KeyF41: "\x1b[15;6~", - KeyF42: "\x1b[17;6~", - KeyF43: "\x1b[18;6~", - KeyF44: "\x1b[19;6~", - KeyF45: "\x1b[20;6~", - KeyF46: "\x1b[21;6~", - KeyF47: "\x1b[23;6~", - KeyF48: "\x1b[24;6~", - KeyF49: "\x1bO1;3P", - KeyF50: "\x1bO1;3Q", - KeyF51: "\x1bO1;3R", - KeyF52: "\x1bO1;3S", - KeyF53: "\x1b[15;3~", - KeyF54: "\x1b[17;3~", - KeyF55: "\x1b[18;3~", - KeyF56: "\x1b[19;3~", - KeyF57: "\x1b[20;3~", - KeyF58: "\x1b[21;3~", - KeyF59: "\x1b[23;3~", - KeyF60: "\x1b[24;3~", - KeyF61: "\x1bO1;4P", - KeyF62: "\x1bO1;4Q", - KeyF63: "\x1bO1;4R", - KeyBacktab: "\x1b[Z", - KeyShfLeft: "\x1b[1;2D", - KeyShfRight: "\x1b[1;2C", - KeyShfUp: "\x1b[1;2A", - KeyShfDown: "\x1b[1;2B", - KeyCtrlLeft: "\x1b[1;5D", - KeyCtrlRight: "\x1b[1;5C", - KeyCtrlUp: "\x1b[1;5A", - KeyCtrlDown: "\x1b[1;5B", - KeyMetaLeft: "\x1b[1;9D", - KeyMetaRight: "\x1b[1;9C", - KeyMetaUp: "\x1b[1;9A", - KeyMetaDown: "\x1b[1;9B", - KeyAltLeft: "\x1b[1;3D", - KeyAltRight: "\x1b[1;3C", - KeyAltUp: "\x1b[1;3A", - KeyAltDown: "\x1b[1;3B", - KeyAltShfLeft: "\x1b[1;4D", - KeyAltShfRight: "\x1b[1;4C", - KeyAltShfUp: "\x1b[1;4A", - KeyAltShfDown: "\x1b[1;4B", - KeyMetaShfLeft: "\x1b[1;10D", - KeyMetaShfRight: "\x1b[1;10C", - KeyMetaShfUp: "\x1b[1;10A", - KeyMetaShfDown: "\x1b[1;10B", - KeyCtrlShfLeft: "\x1b[1;6D", - KeyCtrlShfRight: "\x1b[1;6C", - KeyCtrlShfUp: "\x1b[1;6A", - KeyCtrlShfDown: "\x1b[1;6B", - KeyShfHome: "\x1b[1;2H", - KeyShfEnd: "\x1b[1;2F", - KeyCtrlHome: "\x1b[1;5H", - KeyCtrlEnd: "\x1b[1;5F", - KeyAltHome: "\x1b[1;9H", - KeyAltEnd: "\x1b[1;9F", - KeyCtrlShfHome: "\x1b[1;6H", - KeyCtrlShfEnd: "\x1b[1;6F", - KeyMetaShfHome: "\x1b[1;10H", - KeyMetaShfEnd: "\x1b[1;10F", - KeyAltShfHome: "\x1b[1;4H", - KeyAltShfEnd: "\x1b[1;4F", - }) -} diff --git a/vendor/github.com/gdamore/tcell/terminfo/term_xnuppc.go b/vendor/github.com/gdamore/tcell/terminfo/term_xnuppc.go deleted file mode 100644 index b1dafd6b..00000000 --- a/vendor/github.com/gdamore/tcell/terminfo/term_xnuppc.go +++ /dev/null @@ -1,31 +0,0 @@ -// Generated automatically. DO NOT HAND-EDIT. - -package terminfo - -func init() { - // Darwin PowerPC Console (color) - AddTerminfo(&Terminfo{ - Name: "xnuppc", - Aliases: []string{"darwin"}, - Colors: 8, - Clear: "\x1b[H\x1b[J", - AttrOff: "\x1b[m", - Underline: "\x1b[4m", - Bold: "\x1b[1m", - Reverse: "\x1b[7m", - EnterKeypad: "\x1b[?1h\x1b=", - ExitKeypad: "\x1b[?1l\x1b>", - SetFg: "\x1b[3%p1%dm", - SetBg: "\x1b[4%p1%dm", - SetFgBg: "\x1b[3%p1%d;4%p2%dm", - PadChar: "\x00", - SetCursor: "\x1b[%i%p1%d;%p2%dH", - CursorBack1: "\x1b[D", - CursorUp1: "\x1b[A", - KeyUp: "\x1bOA", - KeyDown: "\x1bOB", - KeyRight: "\x1bOC", - KeyLeft: "\x1bOD", - KeyBackspace: "\u007f", - }) -} diff --git a/vendor/github.com/gdamore/tcell/terminfo/term_xterm.go b/vendor/github.com/gdamore/tcell/terminfo/term_xterm.go deleted file mode 100644 index 1e4d296e..00000000 --- a/vendor/github.com/gdamore/tcell/terminfo/term_xterm.go +++ /dev/null @@ -1,154 +0,0 @@ -// Generated automatically. DO NOT HAND-EDIT. - -package terminfo - -func init() { - // X11 terminal emulator - AddTerminfo(&Terminfo{ - Name: "xterm", - Aliases: []string{"xterm-debian"}, - Columns: 80, - Lines: 24, - Colors: 8, - Bell: "\a", - Clear: "\x1b[H\x1b[2J", - EnterCA: "\x1b[?1049h", - ExitCA: "\x1b[?1049l", - ShowCursor: "\x1b[?12l\x1b[?25h", - HideCursor: "\x1b[?25l", - AttrOff: "\x1b(B\x1b[m", - Underline: "\x1b[4m", - Bold: "\x1b[1m", - Dim: "\x1b[2m", - Blink: "\x1b[5m", - Reverse: "\x1b[7m", - EnterKeypad: "\x1b[?1h\x1b=", - ExitKeypad: "\x1b[?1l\x1b>", - SetFg: "\x1b[3%p1%dm", - SetBg: "\x1b[4%p1%dm", - SetFgBg: "\x1b[3%p1%d;4%p2%dm", - AltChars: "``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~", - EnterAcs: "\x1b(0", - ExitAcs: "\x1b(B", - Mouse: "\x1b[M", - MouseMode: "%?%p1%{1}%=%t%'h'%Pa%e%'l'%Pa%;\x1b[?1000%ga%c\x1b[?1002%ga%c\x1b[?1003%ga%c\x1b[?1006%ga%c", - SetCursor: "\x1b[%i%p1%d;%p2%dH", - CursorBack1: "\b", - CursorUp1: "\x1b[A", - KeyUp: "\x1bOA", - KeyDown: "\x1bOB", - KeyRight: "\x1bOC", - KeyLeft: "\x1bOD", - KeyInsert: "\x1b[2~", - KeyDelete: "\x1b[3~", - KeyBackspace: "\u007f", - KeyHome: "\x1bOH", - KeyEnd: "\x1bOF", - KeyPgUp: "\x1b[5~", - KeyPgDn: "\x1b[6~", - KeyF1: "\x1bOP", - KeyF2: "\x1bOQ", - KeyF3: "\x1bOR", - KeyF4: "\x1bOS", - KeyF5: "\x1b[15~", - KeyF6: "\x1b[17~", - KeyF7: "\x1b[18~", - KeyF8: "\x1b[19~", - KeyF9: "\x1b[20~", - KeyF10: "\x1b[21~", - KeyF11: "\x1b[23~", - KeyF12: "\x1b[24~", - KeyF13: "\x1b[1;2P", - KeyF14: "\x1b[1;2Q", - KeyF15: "\x1b[1;2R", - KeyF16: "\x1b[1;2S", - KeyF17: "\x1b[15;2~", - KeyF18: "\x1b[17;2~", - KeyF19: "\x1b[18;2~", - KeyF20: "\x1b[19;2~", - KeyF21: "\x1b[20;2~", - KeyF22: "\x1b[21;2~", - KeyF23: "\x1b[23;2~", - KeyF24: "\x1b[24;2~", - KeyF25: "\x1b[1;5P", - KeyF26: "\x1b[1;5Q", - KeyF27: "\x1b[1;5R", - KeyF28: "\x1b[1;5S", - KeyF29: "\x1b[15;5~", - KeyF30: "\x1b[17;5~", - KeyF31: "\x1b[18;5~", - KeyF32: "\x1b[19;5~", - KeyF33: "\x1b[20;5~", - KeyF34: "\x1b[21;5~", - KeyF35: "\x1b[23;5~", - KeyF36: "\x1b[24;5~", - KeyF37: "\x1b[1;6P", - KeyF38: "\x1b[1;6Q", - KeyF39: "\x1b[1;6R", - KeyF40: "\x1b[1;6S", - KeyF41: "\x1b[15;6~", - KeyF42: "\x1b[17;6~", - KeyF43: "\x1b[18;6~", - KeyF44: "\x1b[19;6~", - KeyF45: "\x1b[20;6~", - KeyF46: "\x1b[21;6~", - KeyF47: "\x1b[23;6~", - KeyF48: "\x1b[24;6~", - KeyF49: "\x1b[1;3P", - KeyF50: "\x1b[1;3Q", - KeyF51: "\x1b[1;3R", - KeyF52: "\x1b[1;3S", - KeyF53: "\x1b[15;3~", - KeyF54: "\x1b[17;3~", - KeyF55: "\x1b[18;3~", - KeyF56: "\x1b[19;3~", - KeyF57: "\x1b[20;3~", - KeyF58: "\x1b[21;3~", - KeyF59: "\x1b[23;3~", - KeyF60: "\x1b[24;3~", - KeyF61: "\x1b[1;4P", - KeyF62: "\x1b[1;4Q", - KeyF63: "\x1b[1;4R", - KeyBacktab: "\x1b[Z", - KeyShfLeft: "\x1b[1;2D", - KeyShfRight: "\x1b[1;2C", - KeyShfUp: "\x1b[1;2A", - KeyShfDown: "\x1b[1;2B", - KeyCtrlLeft: "\x1b[1;5D", - KeyCtrlRight: "\x1b[1;5C", - KeyCtrlUp: "\x1b[1;5A", - KeyCtrlDown: "\x1b[1;5B", - KeyMetaLeft: "\x1b[1;9D", - KeyMetaRight: "\x1b[1;9C", - KeyMetaUp: "\x1b[1;9A", - KeyMetaDown: "\x1b[1;9B", - KeyAltLeft: "\x1b[1;3D", - KeyAltRight: "\x1b[1;3C", - KeyAltUp: "\x1b[1;3A", - KeyAltDown: "\x1b[1;3B", - KeyAltShfLeft: "\x1b[1;4D", - KeyAltShfRight: "\x1b[1;4C", - KeyAltShfUp: "\x1b[1;4A", - KeyAltShfDown: "\x1b[1;4B", - KeyMetaShfLeft: "\x1b[1;10D", - KeyMetaShfRight: "\x1b[1;10C", - KeyMetaShfUp: "\x1b[1;10A", - KeyMetaShfDown: "\x1b[1;10B", - KeyCtrlShfLeft: "\x1b[1;6D", - KeyCtrlShfRight: "\x1b[1;6C", - KeyCtrlShfUp: "\x1b[1;6A", - KeyCtrlShfDown: "\x1b[1;6B", - KeyShfHome: "\x1b[1;2H", - KeyShfEnd: "\x1b[1;2F", - KeyCtrlHome: "\x1b[1;5H", - KeyCtrlEnd: "\x1b[1;5F", - KeyAltHome: "\x1b[1;9H", - KeyAltEnd: "\x1b[1;9F", - KeyCtrlShfHome: "\x1b[1;6H", - KeyCtrlShfEnd: "\x1b[1;6F", - KeyMetaShfHome: "\x1b[1;10H", - KeyMetaShfEnd: "\x1b[1;10F", - KeyAltShfHome: "\x1b[1;4H", - KeyAltShfEnd: "\x1b[1;4F", - }) -} diff --git a/vendor/github.com/gdamore/tcell/terminfo/term_xterm_256color.go b/vendor/github.com/gdamore/tcell/terminfo/term_xterm_256color.go deleted file mode 100644 index f95d21e8..00000000 --- a/vendor/github.com/gdamore/tcell/terminfo/term_xterm_256color.go +++ /dev/null @@ -1,153 +0,0 @@ -// Generated automatically. DO NOT HAND-EDIT. - -package terminfo - -func init() { - // xterm with 256 colors - AddTerminfo(&Terminfo{ - Name: "xterm-256color", - Columns: 80, - Lines: 24, - Colors: 256, - Bell: "\a", - Clear: "\x1b[H\x1b[2J", - EnterCA: "\x1b[?1049h", - ExitCA: "\x1b[?1049l", - ShowCursor: "\x1b[?12l\x1b[?25h", - HideCursor: "\x1b[?25l", - AttrOff: "\x1b(B\x1b[m", - Underline: "\x1b[4m", - Bold: "\x1b[1m", - Dim: "\x1b[2m", - Blink: "\x1b[5m", - Reverse: "\x1b[7m", - EnterKeypad: "\x1b[?1h\x1b=", - ExitKeypad: "\x1b[?1l\x1b>", - SetFg: "\x1b[%?%p1%{8}%<%t3%p1%d%e%p1%{16}%<%t9%p1%{8}%-%d%e38;5;%p1%d%;m", - SetBg: "\x1b[%?%p1%{8}%<%t4%p1%d%e%p1%{16}%<%t10%p1%{8}%-%d%e48;5;%p1%d%;m", - SetFgBg: "\x1b[%?%p1%{8}%<%t3%p1%d%e%p1%{16}%<%t9%p1%{8}%-%d%e38;5;%p1%d%;;%?%p2%{8}%<%t4%p2%d%e%p2%{16}%<%t10%p2%{8}%-%d%e48;5;%p2%d%;m", - AltChars: "``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~", - EnterAcs: "\x1b(0", - ExitAcs: "\x1b(B", - Mouse: "\x1b[M", - MouseMode: "%?%p1%{1}%=%t%'h'%Pa%e%'l'%Pa%;\x1b[?1000%ga%c\x1b[?1002%ga%c\x1b[?1003%ga%c\x1b[?1006%ga%c", - SetCursor: "\x1b[%i%p1%d;%p2%dH", - CursorBack1: "\b", - CursorUp1: "\x1b[A", - KeyUp: "\x1bOA", - KeyDown: "\x1bOB", - KeyRight: "\x1bOC", - KeyLeft: "\x1bOD", - KeyInsert: "\x1b[2~", - KeyDelete: "\x1b[3~", - KeyBackspace: "\u007f", - KeyHome: "\x1bOH", - KeyEnd: "\x1bOF", - KeyPgUp: "\x1b[5~", - KeyPgDn: "\x1b[6~", - KeyF1: "\x1bOP", - KeyF2: "\x1bOQ", - KeyF3: "\x1bOR", - KeyF4: "\x1bOS", - KeyF5: "\x1b[15~", - KeyF6: "\x1b[17~", - KeyF7: "\x1b[18~", - KeyF8: "\x1b[19~", - KeyF9: "\x1b[20~", - KeyF10: "\x1b[21~", - KeyF11: "\x1b[23~", - KeyF12: "\x1b[24~", - KeyF13: "\x1b[1;2P", - KeyF14: "\x1b[1;2Q", - KeyF15: "\x1b[1;2R", - KeyF16: "\x1b[1;2S", - KeyF17: "\x1b[15;2~", - KeyF18: "\x1b[17;2~", - KeyF19: "\x1b[18;2~", - KeyF20: "\x1b[19;2~", - KeyF21: "\x1b[20;2~", - KeyF22: "\x1b[21;2~", - KeyF23: "\x1b[23;2~", - KeyF24: "\x1b[24;2~", - KeyF25: "\x1b[1;5P", - KeyF26: "\x1b[1;5Q", - KeyF27: "\x1b[1;5R", - KeyF28: "\x1b[1;5S", - KeyF29: "\x1b[15;5~", - KeyF30: "\x1b[17;5~", - KeyF31: "\x1b[18;5~", - KeyF32: "\x1b[19;5~", - KeyF33: "\x1b[20;5~", - KeyF34: "\x1b[21;5~", - KeyF35: "\x1b[23;5~", - KeyF36: "\x1b[24;5~", - KeyF37: "\x1b[1;6P", - KeyF38: "\x1b[1;6Q", - KeyF39: "\x1b[1;6R", - KeyF40: "\x1b[1;6S", - KeyF41: "\x1b[15;6~", - KeyF42: "\x1b[17;6~", - KeyF43: "\x1b[18;6~", - KeyF44: "\x1b[19;6~", - KeyF45: "\x1b[20;6~", - KeyF46: "\x1b[21;6~", - KeyF47: "\x1b[23;6~", - KeyF48: "\x1b[24;6~", - KeyF49: "\x1b[1;3P", - KeyF50: "\x1b[1;3Q", - KeyF51: "\x1b[1;3R", - KeyF52: "\x1b[1;3S", - KeyF53: "\x1b[15;3~", - KeyF54: "\x1b[17;3~", - KeyF55: "\x1b[18;3~", - KeyF56: "\x1b[19;3~", - KeyF57: "\x1b[20;3~", - KeyF58: "\x1b[21;3~", - KeyF59: "\x1b[23;3~", - KeyF60: "\x1b[24;3~", - KeyF61: "\x1b[1;4P", - KeyF62: "\x1b[1;4Q", - KeyF63: "\x1b[1;4R", - KeyBacktab: "\x1b[Z", - KeyShfLeft: "\x1b[1;2D", - KeyShfRight: "\x1b[1;2C", - KeyShfUp: "\x1b[1;2A", - KeyShfDown: "\x1b[1;2B", - KeyCtrlLeft: "\x1b[1;5D", - KeyCtrlRight: "\x1b[1;5C", - KeyCtrlUp: "\x1b[1;5A", - KeyCtrlDown: "\x1b[1;5B", - KeyMetaLeft: "\x1b[1;9D", - KeyMetaRight: "\x1b[1;9C", - KeyMetaUp: "\x1b[1;9A", - KeyMetaDown: "\x1b[1;9B", - KeyAltLeft: "\x1b[1;3D", - KeyAltRight: "\x1b[1;3C", - KeyAltUp: "\x1b[1;3A", - KeyAltDown: "\x1b[1;3B", - KeyAltShfLeft: "\x1b[1;4D", - KeyAltShfRight: "\x1b[1;4C", - KeyAltShfUp: "\x1b[1;4A", - KeyAltShfDown: "\x1b[1;4B", - KeyMetaShfLeft: "\x1b[1;10D", - KeyMetaShfRight: "\x1b[1;10C", - KeyMetaShfUp: "\x1b[1;10A", - KeyMetaShfDown: "\x1b[1;10B", - KeyCtrlShfLeft: "\x1b[1;6D", - KeyCtrlShfRight: "\x1b[1;6C", - KeyCtrlShfUp: "\x1b[1;6A", - KeyCtrlShfDown: "\x1b[1;6B", - KeyShfHome: "\x1b[1;2H", - KeyShfEnd: "\x1b[1;2F", - KeyCtrlHome: "\x1b[1;5H", - KeyCtrlEnd: "\x1b[1;5F", - KeyAltHome: "\x1b[1;9H", - KeyAltEnd: "\x1b[1;9F", - KeyCtrlShfHome: "\x1b[1;6H", - KeyCtrlShfEnd: "\x1b[1;6F", - KeyMetaShfHome: "\x1b[1;10H", - KeyMetaShfEnd: "\x1b[1;10F", - KeyAltShfHome: "\x1b[1;4H", - KeyAltShfEnd: "\x1b[1;4F", - }) -} diff --git a/vendor/github.com/gdamore/tcell/terminfo/terminfo.go b/vendor/github.com/gdamore/tcell/terminfo/terminfo.go deleted file mode 100644 index a307f765..00000000 --- a/vendor/github.com/gdamore/tcell/terminfo/terminfo.go +++ /dev/null @@ -1,923 +0,0 @@ -// Copyright 2019 The TCell Authors -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use file except in compliance with the License. -// You may obtain a copy of the license at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package terminfo - -import ( - "bytes" - "compress/gzip" - "crypto/sha1" - "encoding/json" - "errors" - "fmt" - "io" - "os" - "path" - "path/filepath" - "strconv" - "strings" - "sync" -) - -var ( - // ErrTermNotFound indicates that a suitable terminal entry could - // not be found. This can result from either not having TERM set, - // or from the TERM failing to support certain minimal functionality, - // in particular absolute cursor addressability (the cup capability) - // is required. For example, legacy "adm3" lacks this capability, - // whereas the slightly newer "adm3a" supports it. This failure - // occurs most often with "dumb". - ErrTermNotFound = errors.New("terminal entry not found") -) - -// Terminfo represents a terminfo entry. Note that we use friendly names -// in Go, but when we write out JSON, we use the same names as terminfo. -// The name, aliases and smous, rmous fields do not come from terminfo directly. -type Terminfo struct { - Name string `json:"name"` - Aliases []string `json:"aliases,omitempty"` - Columns int `json:"cols,omitempty"` // cols - Lines int `json:"lines,omitempty"` // lines - Colors int `json:"colors,omitempty"` // colors - Bell string `json:"bell,omitempty"` // bell - Clear string `json:"clear,omitempty"` // clear - EnterCA string `json:"smcup,omitempty"` // smcup - ExitCA string `json:"rmcup,omitempty"` // rmcup - ShowCursor string `json:"cnorm,omitempty"` // cnorm - HideCursor string `json:"civis,omitempty"` // civis - AttrOff string `json:"sgr0,omitempty"` // sgr0 - Underline string `json:"smul,omitempty"` // smul - Bold string `json:"bold,omitempty"` // bold - Blink string `json:"blink,omitempty"` // blink - Reverse string `json:"rev,omitempty"` // rev - Dim string `json:"dim,omitempty"` // dim - EnterKeypad string `json:"smkx,omitempty"` // smkx - ExitKeypad string `json:"rmkx,omitempty"` // rmkx - SetFg string `json:"setaf,omitempty"` // setaf - SetBg string `json:"setbg,omitempty"` // setab - SetCursor string `json:"cup,omitempty"` // cup - CursorBack1 string `json:"cub1,omitempty"` // cub1 - CursorUp1 string `json:"cuu1,omitempty"` // cuu1 - PadChar string `json:"pad,omitempty"` // pad - KeyBackspace string `json:"kbs,omitempty"` // kbs - KeyF1 string `json:"kf1,omitempty"` // kf1 - KeyF2 string `json:"kf2,omitempty"` // kf2 - KeyF3 string `json:"kf3,omitempty"` // kf3 - KeyF4 string `json:"kf4,omitempty"` // kf4 - KeyF5 string `json:"kf5,omitempty"` // kf5 - KeyF6 string `json:"kf6,omitempty"` // kf6 - KeyF7 string `json:"kf7,omitempty"` // kf7 - KeyF8 string `json:"kf8,omitempty"` // kf8 - KeyF9 string `json:"kf9,omitempty"` // kf9 - KeyF10 string `json:"kf10,omitempty"` // kf10 - KeyF11 string `json:"kf11,omitempty"` // kf11 - KeyF12 string `json:"kf12,omitempty"` // kf12 - KeyF13 string `json:"kf13,omitempty"` // kf13 - KeyF14 string `json:"kf14,omitempty"` // kf14 - KeyF15 string `json:"kf15,omitempty"` // kf15 - KeyF16 string `json:"kf16,omitempty"` // kf16 - KeyF17 string `json:"kf17,omitempty"` // kf17 - KeyF18 string `json:"kf18,omitempty"` // kf18 - KeyF19 string `json:"kf19,omitempty"` // kf19 - KeyF20 string `json:"kf20,omitempty"` // kf20 - KeyF21 string `json:"kf21,omitempty"` // kf21 - KeyF22 string `json:"kf22,omitempty"` // kf22 - KeyF23 string `json:"kf23,omitempty"` // kf23 - KeyF24 string `json:"kf24,omitempty"` // kf24 - KeyF25 string `json:"kf25,omitempty"` // kf25 - KeyF26 string `json:"kf26,omitempty"` // kf26 - KeyF27 string `json:"kf27,omitempty"` // kf27 - KeyF28 string `json:"kf28,omitempty"` // kf28 - KeyF29 string `json:"kf29,omitempty"` // kf29 - KeyF30 string `json:"kf30,omitempty"` // kf30 - KeyF31 string `json:"kf31,omitempty"` // kf31 - KeyF32 string `json:"kf32,omitempty"` // kf32 - KeyF33 string `json:"kf33,omitempty"` // kf33 - KeyF34 string `json:"kf34,omitempty"` // kf34 - KeyF35 string `json:"kf35,omitempty"` // kf35 - KeyF36 string `json:"kf36,omitempty"` // kf36 - KeyF37 string `json:"kf37,omitempty"` // kf37 - KeyF38 string `json:"kf38,omitempty"` // kf38 - KeyF39 string `json:"kf39,omitempty"` // kf39 - KeyF40 string `json:"kf40,omitempty"` // kf40 - KeyF41 string `json:"kf41,omitempty"` // kf41 - KeyF42 string `json:"kf42,omitempty"` // kf42 - KeyF43 string `json:"kf43,omitempty"` // kf43 - KeyF44 string `json:"kf44,omitempty"` // kf44 - KeyF45 string `json:"kf45,omitempty"` // kf45 - KeyF46 string `json:"kf46,omitempty"` // kf46 - KeyF47 string `json:"kf47,omitempty"` // kf47 - KeyF48 string `json:"kf48,omitempty"` // kf48 - KeyF49 string `json:"kf49,omitempty"` // kf49 - KeyF50 string `json:"kf50,omitempty"` // kf50 - KeyF51 string `json:"kf51,omitempty"` // kf51 - KeyF52 string `json:"kf52,omitempty"` // kf52 - KeyF53 string `json:"kf53,omitempty"` // kf53 - KeyF54 string `json:"kf54,omitempty"` // kf54 - KeyF55 string `json:"kf55,omitempty"` // kf55 - KeyF56 string `json:"kf56,omitempty"` // kf56 - KeyF57 string `json:"kf57,omitempty"` // kf57 - KeyF58 string `json:"kf58,omitempty"` // kf58 - KeyF59 string `json:"kf59,omitempty"` // kf59 - KeyF60 string `json:"kf60,omitempty"` // kf60 - KeyF61 string `json:"kf61,omitempty"` // kf61 - KeyF62 string `json:"kf62,omitempty"` // kf62 - KeyF63 string `json:"kf63,omitempty"` // kf63 - KeyF64 string `json:"kf64,omitempty"` // kf64 - KeyInsert string `json:"kich,omitempty"` // kich1 - KeyDelete string `json:"kdch,omitempty"` // kdch1 - KeyHome string `json:"khome,omitempty"` // khome - KeyEnd string `json:"kend,omitempty"` // kend - KeyHelp string `json:"khlp,omitempty"` // khlp - KeyPgUp string `json:"kpp,omitempty"` // kpp - KeyPgDn string `json:"knp,omitempty"` // knp - KeyUp string `json:"kcuu1,omitempty"` // kcuu1 - KeyDown string `json:"kcud1,omitempty"` // kcud1 - KeyLeft string `json:"kcub1,omitempty"` // kcub1 - KeyRight string `json:"kcuf1,omitempty"` // kcuf1 - KeyBacktab string `json:"kcbt,omitempty"` // kcbt - KeyExit string `json:"kext,omitempty"` // kext - KeyClear string `json:"kclr,omitempty"` // kclr - KeyPrint string `json:"kprt,omitempty"` // kprt - KeyCancel string `json:"kcan,omitempty"` // kcan - Mouse string `json:"kmous,omitempty"` // kmous - MouseMode string `json:"XM,omitempty"` // XM - AltChars string `json:"acsc,omitempty"` // acsc - EnterAcs string `json:"smacs,omitempty"` // smacs - ExitAcs string `json:"rmacs,omitempty"` // rmacs - EnableAcs string `json:"enacs,omitempty"` // enacs - KeyShfRight string `json:"kRIT,omitempty"` // kRIT - KeyShfLeft string `json:"kLFT,omitempty"` // kLFT - KeyShfHome string `json:"kHOM,omitempty"` // kHOM - KeyShfEnd string `json:"kEND,omitempty"` // kEND - - // These are non-standard extensions to terminfo. This includes - // true color support, and some additional keys. Its kind of bizarre - // that shifted variants of left and right exist, but not up and down. - // Terminal support for these are going to vary amongst XTerm - // emulations, so don't depend too much on them in your application. - - SetFgBg string `json:"_setfgbg,omitempty"` // setfgbg - SetFgBgRGB string `json:"_setfgbgrgb,omitempty"` // setfgbgrgb - SetFgRGB string `json:"_setfrgb,omitempty"` // setfrgb - SetBgRGB string `json:"_setbrgb,omitempty"` // setbrgb - KeyShfUp string `json:"_kscu1,omitempty"` // shift-up - KeyShfDown string `json:"_kscud1,omitempty"` // shift-down - KeyCtrlUp string `json:"_kccu1,omitempty"` // ctrl-up - KeyCtrlDown string `json:"_kccud1,omitempty"` // ctrl-left - KeyCtrlRight string `json:"_kccuf1,omitempty"` // ctrl-right - KeyCtrlLeft string `json:"_kccub1,omitempty"` // ctrl-left - KeyMetaUp string `json:"_kmcu1,omitempty"` // meta-up - KeyMetaDown string `json:"_kmcud1,omitempty"` // meta-left - KeyMetaRight string `json:"_kmcuf1,omitempty"` // meta-right - KeyMetaLeft string `json:"_kmcub1,omitempty"` // meta-left - KeyAltUp string `json:"_kacu1,omitempty"` // alt-up - KeyAltDown string `json:"_kacud1,omitempty"` // alt-left - KeyAltRight string `json:"_kacuf1,omitempty"` // alt-right - KeyAltLeft string `json:"_kacub1,omitempty"` // alt-left - KeyCtrlHome string `json:"_kchome,omitempty"` - KeyCtrlEnd string `json:"_kcend,omitempty"` - KeyMetaHome string `json:"_kmhome,omitempty"` - KeyMetaEnd string `json:"_kmend,omitempty"` - KeyAltHome string `json:"_kahome,omitempty"` - KeyAltEnd string `json:"_kaend,omitempty"` - KeyAltShfUp string `json:"_kascu1,omitempty"` - KeyAltShfDown string `json:"_kascud1,omitempty"` - KeyAltShfLeft string `json:"_kascub1,omitempty"` - KeyAltShfRight string `json:"_kascuf1,omitempty"` - KeyMetaShfUp string `json:"_kmscu1,omitempty"` - KeyMetaShfDown string `json:"_kmscud1,omitempty"` - KeyMetaShfLeft string `json:"_kmscub1,omitempty"` - KeyMetaShfRight string `json:"_kmscuf1,omitempty"` - KeyCtrlShfUp string `json:"_kcscu1,omitempty"` - KeyCtrlShfDown string `json:"_kcscud1,omitempty"` - KeyCtrlShfLeft string `json:"_kcscub1,omitempty"` - KeyCtrlShfRight string `json:"_kcscuf1,omitempty"` - KeyCtrlShfHome string `json:"_kcHOME,omitempty"` - KeyCtrlShfEnd string `json:"_kcEND,omitempty"` - KeyAltShfHome string `json:"_kaHOME,omitempty"` - KeyAltShfEnd string `json:"_kaEND,omitempty"` - KeyMetaShfHome string `json:"_kmHOME,omitempty"` - KeyMetaShfEnd string `json:"_kmEND,omitempty"` -} - -type stackElem struct { - s string - i int - isStr bool - isInt bool -} - -type stack []stackElem - -func (st stack) Push(v string) stack { - e := stackElem{ - s: v, - isStr: true, - } - return append(st, e) -} - -func (st stack) Pop() (string, stack) { - v := "" - if len(st) > 0 { - e := st[len(st)-1] - st = st[:len(st)-1] - if e.isStr { - v = e.s - } else { - v = strconv.Itoa(e.i) - } - } - return v, st -} - -func (st stack) PopInt() (int, stack) { - if len(st) > 0 { - e := st[len(st)-1] - st = st[:len(st)-1] - if e.isInt { - return e.i, st - } else if e.isStr { - i, _ := strconv.Atoi(e.s) - return i, st - } - } - return 0, st -} - -func (st stack) PopBool() (bool, stack) { - if len(st) > 0 { - e := st[len(st)-1] - st = st[:len(st)-1] - if e.isStr { - if e.s == "1" { - return true, st - } - return false, st - } else if e.i == 1 { - return true, st - } else { - return false, st - } - } - return false, st -} - -func (st stack) PushInt(i int) stack { - e := stackElem{ - i: i, - isInt: true, - } - return append(st, e) -} - -func (st stack) PushBool(i bool) stack { - if i { - return st.PushInt(1) - } - return st.PushInt(0) -} - -func nextch(s string, index int) (byte, int) { - if index < len(s) { - return s[index], index + 1 - } - return 0, index -} - -// static vars -var svars [26]string - -// paramsBuffer handles some persistent state for TParam. Technically we -// could probably dispense with this, but caching buffer arrays gives us -// a nice little performance boost. Furthermore, we know that TParam is -// rarely (never?) called re-entrantly, so we can just reuse the same -// buffers, making it thread-safe by stashing a lock. -type paramsBuffer struct { - out bytes.Buffer - buf bytes.Buffer - lk sync.Mutex -} - -// Start initializes the params buffer with the initial string data. -// It also locks the paramsBuffer. The caller must call End() when -// finished. -func (pb *paramsBuffer) Start(s string) { - pb.lk.Lock() - pb.out.Reset() - pb.buf.Reset() - pb.buf.WriteString(s) -} - -// End returns the final output from TParam, but it also releases the lock. -func (pb *paramsBuffer) End() string { - s := pb.out.String() - pb.lk.Unlock() - return s -} - -// NextCh returns the next input character to the expander. -func (pb *paramsBuffer) NextCh() (byte, error) { - return pb.buf.ReadByte() -} - -// PutCh "emits" (rather schedules for output) a single byte character. -func (pb *paramsBuffer) PutCh(ch byte) { - pb.out.WriteByte(ch) -} - -// PutString schedules a string for output. -func (pb *paramsBuffer) PutString(s string) { - pb.out.WriteString(s) -} - -var pb = ¶msBuffer{} - -// TParm takes a terminfo parameterized string, such as setaf or cup, and -// evaluates the string, and returns the result with the parameter -// applied. -func (t *Terminfo) TParm(s string, p ...int) string { - var stk stack - var a, b string - var ai, bi int - var ab bool - var dvars [26]string - var params [9]int - - pb.Start(s) - - // make sure we always have 9 parameters -- makes it easier - // later to skip checks - for i := 0; i < len(params) && i < len(p); i++ { - params[i] = p[i] - } - - nest := 0 - - for { - - ch, err := pb.NextCh() - if err != nil { - break - } - - if ch != '%' { - pb.PutCh(ch) - continue - } - - ch, err = pb.NextCh() - if err != nil { - // XXX Error - break - } - - switch ch { - case '%': // quoted % - pb.PutCh(ch) - - case 'i': // increment both parameters (ANSI cup support) - params[0]++ - params[1]++ - - case 'c', 's': - // NB: these, and 'd' below are special cased for - // efficiency. They could be handled by the richer - // format support below, less efficiently. - a, stk = stk.Pop() - pb.PutString(a) - - case 'd': - ai, stk = stk.PopInt() - pb.PutString(strconv.Itoa(ai)) - - case '0', '1', '2', '3', '4', 'x', 'X', 'o', ':': - // This is pretty suboptimal, but this is rarely used. - // None of the mainstream terminals use any of this, - // and it would surprise me if this code is ever - // executed outside of test cases. - f := "%" - if ch == ':' { - ch, _ = pb.NextCh() - } - f += string(ch) - for ch == '+' || ch == '-' || ch == '#' || ch == ' ' { - ch, _ = pb.NextCh() - f += string(ch) - } - for (ch >= '0' && ch <= '9') || ch == '.' { - ch, _ = pb.NextCh() - f += string(ch) - } - switch ch { - case 'd', 'x', 'X', 'o': - ai, stk = stk.PopInt() - pb.PutString(fmt.Sprintf(f, ai)) - case 'c', 's': - a, stk = stk.Pop() - pb.PutString(fmt.Sprintf(f, a)) - } - - case 'p': // push parameter - ch, _ = pb.NextCh() - ai = int(ch - '1') - if ai >= 0 && ai < len(params) { - stk = stk.PushInt(params[ai]) - } else { - stk = stk.PushInt(0) - } - - case 'P': // pop & store variable - ch, _ = pb.NextCh() - if ch >= 'A' && ch <= 'Z' { - svars[int(ch-'A')], stk = stk.Pop() - } else if ch >= 'a' && ch <= 'z' { - dvars[int(ch-'a')], stk = stk.Pop() - } - - case 'g': // recall & push variable - ch, _ = pb.NextCh() - if ch >= 'A' && ch <= 'Z' { - stk = stk.Push(svars[int(ch-'A')]) - } else if ch >= 'a' && ch <= 'z' { - stk = stk.Push(dvars[int(ch-'a')]) - } - - case '\'': // push(char) - ch, _ = pb.NextCh() - pb.NextCh() // must be ' but we don't check - stk = stk.Push(string(ch)) - - case '{': // push(int) - ai = 0 - ch, _ = pb.NextCh() - for ch >= '0' && ch <= '9' { - ai *= 10 - ai += int(ch - '0') - ch, _ = pb.NextCh() - } - // ch must be '}' but no verification - stk = stk.PushInt(ai) - - case 'l': // push(strlen(pop)) - a, stk = stk.Pop() - stk = stk.PushInt(len(a)) - - case '+': - bi, stk = stk.PopInt() - ai, stk = stk.PopInt() - stk = stk.PushInt(ai + bi) - - case '-': - bi, stk = stk.PopInt() - ai, stk = stk.PopInt() - stk = stk.PushInt(ai - bi) - - case '*': - bi, stk = stk.PopInt() - ai, stk = stk.PopInt() - stk = stk.PushInt(ai * bi) - - case '/': - bi, stk = stk.PopInt() - ai, stk = stk.PopInt() - if bi != 0 { - stk = stk.PushInt(ai / bi) - } else { - stk = stk.PushInt(0) - } - - case 'm': // push(pop mod pop) - bi, stk = stk.PopInt() - ai, stk = stk.PopInt() - if bi != 0 { - stk = stk.PushInt(ai % bi) - } else { - stk = stk.PushInt(0) - } - - case '&': // AND - bi, stk = stk.PopInt() - ai, stk = stk.PopInt() - stk = stk.PushInt(ai & bi) - - case '|': // OR - bi, stk = stk.PopInt() - ai, stk = stk.PopInt() - stk = stk.PushInt(ai | bi) - - case '^': // XOR - bi, stk = stk.PopInt() - ai, stk = stk.PopInt() - stk = stk.PushInt(ai ^ bi) - - case '~': // bit complement - ai, stk = stk.PopInt() - stk = stk.PushInt(ai ^ -1) - - case '!': // logical NOT - ai, stk = stk.PopInt() - stk = stk.PushBool(ai != 0) - - case '=': // numeric compare or string compare - b, stk = stk.Pop() - a, stk = stk.Pop() - stk = stk.PushBool(a == b) - - case '>': // greater than, numeric - bi, stk = stk.PopInt() - ai, stk = stk.PopInt() - stk = stk.PushBool(ai > bi) - - case '<': // less than, numeric - bi, stk = stk.PopInt() - ai, stk = stk.PopInt() - stk = stk.PushBool(ai < bi) - - case '?': // start conditional - - case 't': - ab, stk = stk.PopBool() - if ab { - // just keep going - break - } - nest = 0 - ifloop: - // this loop consumes everything until we hit our else, - // or the end of the conditional - for { - ch, err = pb.NextCh() - if err != nil { - break - } - if ch != '%' { - continue - } - ch, _ = pb.NextCh() - switch ch { - case ';': - if nest == 0 { - break ifloop - } - nest-- - case '?': - nest++ - case 'e': - if nest == 0 { - break ifloop - } - } - } - - case 'e': - // if we got here, it means we didn't use the else - // in the 't' case above, and we should skip until - // the end of the conditional - nest = 0 - elloop: - for { - ch, err = pb.NextCh() - if err != nil { - break - } - if ch != '%' { - continue - } - ch, _ = pb.NextCh() - switch ch { - case ';': - if nest == 0 { - break elloop - } - nest-- - case '?': - nest++ - } - } - - case ';': // endif - - } - } - - return pb.End() -} - -// TPuts emits the string to the writer, but expands inline padding -// indications (of the form $<[delay]> where [delay] is msec) to -// a suitable number of padding characters (usually null bytes) based -// upon the supplied baud. At high baud rates, more padding characters -// will be inserted. All Terminfo based strings should be emitted using -// this function. -func (t *Terminfo) TPuts(w io.Writer, s string, baud int) { - for { - beg := strings.Index(s, "$<") - if beg < 0 { - // Most strings don't need padding, which is good news! - io.WriteString(w, s) - return - } - io.WriteString(w, s[:beg]) - s = s[beg+2:] - end := strings.Index(s, ">") - if end < 0 { - // unterminated.. just emit bytes unadulterated - io.WriteString(w, "$<"+s) - return - } - val := s[:end] - s = s[end+1:] - padus := 0 - unit := 1000 - dot := false - loop: - for i := range val { - switch val[i] { - case '0', '1', '2', '3', '4', '5', '6', '7', '8', '9': - padus *= 10 - padus += int(val[i] - '0') - if dot { - unit *= 10 - } - case '.': - if !dot { - dot = true - } else { - break loop - } - default: - break loop - } - } - cnt := int(((baud / 8) * padus) / unit) - for cnt > 0 { - io.WriteString(w, t.PadChar) - cnt-- - } - } -} - -// TGoto returns a string suitable for addressing the cursor at the given -// row and column. The origin 0, 0 is in the upper left corner of the screen. -func (t *Terminfo) TGoto(col, row int) string { - return t.TParm(t.SetCursor, row, col) -} - -// TColor returns a string corresponding to the given foreground and background -// colors. Either fg or bg can be set to -1 to elide. -func (t *Terminfo) TColor(fi, bi int) string { - rv := "" - // As a special case, we map bright colors to lower versions if the - // color table only holds 8. For the remaining 240 colors, the user - // is out of luck. Someday we could create a mapping table, but its - // not worth it. - if t.Colors == 8 { - if fi > 7 && fi < 16 { - fi -= 8 - } - if bi > 7 && bi < 16 { - bi -= 8 - } - } - if t.Colors > fi && fi >= 0 { - rv += t.TParm(t.SetFg, fi) - } - if t.Colors > bi && bi >= 0 { - rv += t.TParm(t.SetBg, bi) - } - return rv -} - -var ( - dblock sync.Mutex - terminfos = make(map[string]*Terminfo) - aliases = make(map[string]string) -) - -// AddTerminfo can be called to register a new Terminfo entry. -func AddTerminfo(t *Terminfo) { - dblock.Lock() - terminfos[t.Name] = t - for _, x := range t.Aliases { - terminfos[x] = t - } - dblock.Unlock() -} - -func loadFromFile(fname string, term string) (*Terminfo, error) { - var e error - var f io.Reader - if f, e = os.Open(fname); e != nil { - return nil, e - } - if strings.HasSuffix(fname, ".gz") { - if f, e = gzip.NewReader(f); e != nil { - return nil, e - } - } - d := json.NewDecoder(f) - for { - t := &Terminfo{} - if e := d.Decode(t); e != nil { - if e == io.EOF { - return nil, ErrTermNotFound - } - return nil, e - } - if t.SetCursor == "" { - // This must be an alias record, return it. - return t, nil - } - if t.Name == term { - return t, nil - } - for _, a := range t.Aliases { - if a == term { - return t, nil - } - } - } -} - -// LookupTerminfo attempts to find a definition for the named $TERM. -// It first looks in the builtin database, which should cover just about -// everyone. If it can't find one there, then it will attempt to read -// one from the JSON file located in either $TCELLDB, $HOME/.tcelldb, -// or as a database file. -// -// The database files are named by taking terminal name, hashing it through -// sha1, and then a subdirectory of the form database/hash[0:2]/hash[0:8] -// (with an optional .gz extension). -// -// For other local database files, we will look for the database file using -// the terminal name, so database/term[0:2]/term[0:8], again with optional -// .gz extension. -func LookupTerminfo(name string) (*Terminfo, error) { - if name == "" { - // else on windows: index out of bounds - // on the name[0] reference below - return nil, ErrTermNotFound - } - - addtruecolor := false - switch os.Getenv("COLORTERM") { - case "truecolor", "24bit", "24-bit": - addtruecolor = true - } - dblock.Lock() - t := terminfos[name] - dblock.Unlock() - - if t == nil { - - var files []string - letter := fmt.Sprintf("%02x", name[0]) - gzfile := path.Join(letter, name+".gz") - jsfile := path.Join(letter, name) - hash := fmt.Sprintf("%x", sha1.Sum([]byte(name))) - gzhfile := path.Join(hash[0:2], hash[0:8]+".gz") - jshfile := path.Join(hash[0:2], hash[0:8]) - - // Build up the search path. Old versions of tcell used a - // single database file, whereas the new ones locate them - // in JSON (optionally compressed) files. - // - // The search path for "xterm" (SHA1 sig e2e28a8e...) looks - // like this: - // - // $TCELLDB/78/xterm.gz - // $TCELLDB/78/xterm - // $TCELLDB - // $HOME/.tcelldb/e2/e2e28a8e.gz - // $HOME/.tcelldb/e2/e2e28a8e - // $HOME/.tcelldb/78/xterm.gz - // $HOME/.tcelldb/78/xterm - // $HOME/.tcelldb - // $GOPATH/terminfo/database/e2/e2e28a8e.gz - // $GOPATH/terminfo/database/e2/e2e28a8e - // $GOPATH/terminfo/database/78/xterm.gz - // $GOPATH/terminfo/database/78/xterm - // - // Note that the legacy name lookups (78/xterm etc.) are - // provided for compatibility. We do not actually deliver - // any files with this style of naming, to avoid collisions - // on case insensitive filesystems. (*cough* mac *cough*). - - // If $GOPATH set, honor it, else assume $HOME/go just like - // modern golang does. - gopath := os.Getenv("GOPATH") - if gopath == "" { - gopath = path.Join(os.Getenv("HOME"), "go") - } - if pth := os.Getenv("TCELLDB"); pth != "" { - files = append(files, - path.Join(pth, gzfile), - path.Join(pth, jsfile), - pth) - } - if pth := os.Getenv("HOME"); pth != "" { - pth = path.Join(pth, ".tcelldb") - files = append(files, - path.Join(pth, gzhfile), - path.Join(pth, jshfile), - path.Join(pth, gzfile), - path.Join(pth, jsfile), - pth) - } - - for _, pth := range filepath.SplitList(gopath) { - pth = path.Join(pth, "src", "github.com", - "gdamore", "tcell", "terminfo", "database") - files = append(files, - path.Join(pth, gzhfile), - path.Join(pth, jshfile), - path.Join(pth, gzfile), - path.Join(pth, jsfile)) - } - - for _, fname := range files { - t, _ = loadFromFile(fname, name) - if t != nil { - break - } - } - if t != nil { - if t.Name != name { - // Check for a database loop (no infinite - // recursion). - dblock.Lock() - if aliases[name] != "" { - dblock.Unlock() - return nil, ErrTermNotFound - } - aliases[name] = t.Name - dblock.Unlock() - return LookupTerminfo(t.Name) - } - dblock.Lock() - terminfos[name] = t - dblock.Unlock() - } - } - - // If the name ends in -truecolor, then fabricate an entry - // from the corresponding -256color, -color, or bare terminal. - if t == nil && strings.HasSuffix(name, "-truecolor") { - - suffixes := []string{ - "-256color", - "-88color", - "-color", - "", - } - base := name[:len(name)-len("-truecolor")] - for _, s := range suffixes { - if t, _ = LookupTerminfo(base + s); t != nil { - addtruecolor = true - break - } - } - } - - if t == nil { - return nil, ErrTermNotFound - } - - switch os.Getenv("TCELL_TRUECOLOR") { - case "": - case "disable": - addtruecolor = false - default: - addtruecolor = true - } - - // If the user has requested 24-bit color with $COLORTERM, then - // amend the value (unless already present). This means we don't - // need to have a value present. - if addtruecolor && - t.SetFgBgRGB == "" && - t.SetFgRGB == "" && - t.SetBgRGB == "" { - - // Supply vanilla ISO 8613-6:1994 24-bit color sequences. - t.SetFgRGB = "\x1b[38;2;%p1%d;%p2%d;%p3%dm" - t.SetBgRGB = "\x1b[48;2;%p1%d;%p2%d;%p3%dm" - t.SetFgBgRGB = "\x1b[38;2;%p1%d;%p2%d;%p3%d;" + - "48;2;%p4%d;%p5%d;%p6%dm" - } - - return t, nil -} diff --git a/vendor/github.com/gdamore/tcell/tscreen.go b/vendor/github.com/gdamore/tcell/tscreen.go deleted file mode 100644 index c4736409..00000000 --- a/vendor/github.com/gdamore/tcell/tscreen.go +++ /dev/null @@ -1,1416 +0,0 @@ -// Copyright 2017 The TCell Authors -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use file except in compliance with the License. -// You may obtain a copy of the license at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package tcell - -import ( - "bytes" - "io" - "os" - "strconv" - "sync" - "time" - "unicode/utf8" - - "golang.org/x/text/transform" - - "github.com/gdamore/tcell/terminfo" -) - -// NewTerminfoScreen returns a Screen that uses the stock TTY interface -// and POSIX termios, combined with a terminfo description taken from -// the $TERM environment variable. It returns an error if the terminal -// is not supported for any reason. -// -// For terminals that do not support dynamic resize events, the $LINES -// $COLUMNS environment variables can be set to the actual window size, -// otherwise defaults taken from the terminal database are used. -func NewTerminfoScreen() (Screen, error) { - ti, e := terminfo.LookupTerminfo(os.Getenv("TERM")) - if e != nil { - return nil, e - } - t := &tScreen{ti: ti} - - t.keyexist = make(map[Key]bool) - t.keycodes = make(map[string]*tKeyCode) - if len(ti.Mouse) > 0 { - t.mouse = []byte(ti.Mouse) - } - t.prepareKeys() - t.buildAcsMap() - t.sigwinch = make(chan os.Signal, 10) - t.fallback = make(map[rune]string) - for k, v := range RuneFallbacks { - t.fallback[k] = v - } - - return t, nil -} - -// tKeyCode represents a combination of a key code and modifiers. -type tKeyCode struct { - key Key - mod ModMask -} - -// tScreen represents a screen backed by a terminfo implementation. -type tScreen struct { - ti *terminfo.Terminfo - h int - w int - fini bool - cells CellBuffer - in *os.File - out *os.File - buffering bool // true if we are collecting writes to buf instead of sending directly to out - buf bytes.Buffer - curstyle Style - style Style - evch chan Event - sigwinch chan os.Signal - quit chan struct{} - indoneq chan struct{} - keyexist map[Key]bool - keycodes map[string]*tKeyCode - keychan chan []byte - keytimer *time.Timer - keyexpire time.Time - cx int - cy int - mouse []byte - clear bool - cursorx int - cursory int - tiosp *termiosPrivate - baud int - wasbtn bool - acs map[rune]string - charset string - encoder transform.Transformer - decoder transform.Transformer - fallback map[rune]string - colors map[Color]Color - palette []Color - truecolor bool - escaped bool - buttondn bool - - sync.Mutex -} - -func (t *tScreen) Init() error { - t.evch = make(chan Event, 10) - t.indoneq = make(chan struct{}) - t.keychan = make(chan []byte, 10) - t.keytimer = time.NewTimer(time.Millisecond * 50) - t.charset = "UTF-8" - - t.charset = getCharset() - if enc := GetEncoding(t.charset); enc != nil { - t.encoder = enc.NewEncoder() - t.decoder = enc.NewDecoder() - } else { - return ErrNoCharset - } - ti := t.ti - - // environment overrides - w := ti.Columns - h := ti.Lines - if i, _ := strconv.Atoi(os.Getenv("LINES")); i != 0 { - h = i - } - if i, _ := strconv.Atoi(os.Getenv("COLUMNS")); i != 0 { - w = i - } - if e := t.termioInit(); e != nil { - return e - } - - if t.ti.SetFgBgRGB != "" || t.ti.SetFgRGB != "" || t.ti.SetBgRGB != "" { - t.truecolor = true - } - // A user who wants to have his themes honored can - // set this environment variable. - if os.Getenv("TCELL_TRUECOLOR") == "disable" { - t.truecolor = false - } - if !t.truecolor { - t.colors = make(map[Color]Color) - t.palette = make([]Color, t.Colors()) - for i := 0; i < t.Colors(); i++ { - t.palette[i] = Color(i) - // identity map for our builtin colors - t.colors[Color(i)] = Color(i) - } - } - - t.TPuts(ti.EnterCA) - t.TPuts(ti.HideCursor) - t.TPuts(ti.EnableAcs) - t.TPuts(ti.Clear) - - t.quit = make(chan struct{}) - - t.Lock() - t.cx = -1 - t.cy = -1 - t.style = StyleDefault - t.cells.Resize(w, h) - t.cursorx = -1 - t.cursory = -1 - t.resize() - t.Unlock() - - go t.mainLoop() - go t.inputLoop() - - return nil -} - -func (t *tScreen) prepareKeyMod(key Key, mod ModMask, val string) { - if val != "" { - // Do not overrride codes that already exist - if _, exist := t.keycodes[val]; !exist { - t.keyexist[key] = true - t.keycodes[val] = &tKeyCode{key: key, mod: mod} - } - } -} - -func (t *tScreen) prepareKey(key Key, val string) { - t.prepareKeyMod(key, ModNone, val) -} - -func (t *tScreen) prepareKeys() { - ti := t.ti - t.prepareKey(KeyBackspace, ti.KeyBackspace) - t.prepareKey(KeyF1, ti.KeyF1) - t.prepareKey(KeyF2, ti.KeyF2) - t.prepareKey(KeyF3, ti.KeyF3) - t.prepareKey(KeyF4, ti.KeyF4) - t.prepareKey(KeyF5, ti.KeyF5) - t.prepareKey(KeyF6, ti.KeyF6) - t.prepareKey(KeyF7, ti.KeyF7) - t.prepareKey(KeyF8, ti.KeyF8) - t.prepareKey(KeyF9, ti.KeyF9) - t.prepareKey(KeyF10, ti.KeyF10) - t.prepareKey(KeyF11, ti.KeyF11) - t.prepareKey(KeyF12, ti.KeyF12) - t.prepareKey(KeyF13, ti.KeyF13) - t.prepareKey(KeyF14, ti.KeyF14) - t.prepareKey(KeyF15, ti.KeyF15) - t.prepareKey(KeyF16, ti.KeyF16) - t.prepareKey(KeyF17, ti.KeyF17) - t.prepareKey(KeyF18, ti.KeyF18) - t.prepareKey(KeyF19, ti.KeyF19) - t.prepareKey(KeyF20, ti.KeyF20) - t.prepareKey(KeyF21, ti.KeyF21) - t.prepareKey(KeyF22, ti.KeyF22) - t.prepareKey(KeyF23, ti.KeyF23) - t.prepareKey(KeyF24, ti.KeyF24) - t.prepareKey(KeyF25, ti.KeyF25) - t.prepareKey(KeyF26, ti.KeyF26) - t.prepareKey(KeyF27, ti.KeyF27) - t.prepareKey(KeyF28, ti.KeyF28) - t.prepareKey(KeyF29, ti.KeyF29) - t.prepareKey(KeyF30, ti.KeyF30) - t.prepareKey(KeyF31, ti.KeyF31) - t.prepareKey(KeyF32, ti.KeyF32) - t.prepareKey(KeyF33, ti.KeyF33) - t.prepareKey(KeyF34, ti.KeyF34) - t.prepareKey(KeyF35, ti.KeyF35) - t.prepareKey(KeyF36, ti.KeyF36) - t.prepareKey(KeyF37, ti.KeyF37) - t.prepareKey(KeyF38, ti.KeyF38) - t.prepareKey(KeyF39, ti.KeyF39) - t.prepareKey(KeyF40, ti.KeyF40) - t.prepareKey(KeyF41, ti.KeyF41) - t.prepareKey(KeyF42, ti.KeyF42) - t.prepareKey(KeyF43, ti.KeyF43) - t.prepareKey(KeyF44, ti.KeyF44) - t.prepareKey(KeyF45, ti.KeyF45) - t.prepareKey(KeyF46, ti.KeyF46) - t.prepareKey(KeyF47, ti.KeyF47) - t.prepareKey(KeyF48, ti.KeyF48) - t.prepareKey(KeyF49, ti.KeyF49) - t.prepareKey(KeyF50, ti.KeyF50) - t.prepareKey(KeyF51, ti.KeyF51) - t.prepareKey(KeyF52, ti.KeyF52) - t.prepareKey(KeyF53, ti.KeyF53) - t.prepareKey(KeyF54, ti.KeyF54) - t.prepareKey(KeyF55, ti.KeyF55) - t.prepareKey(KeyF56, ti.KeyF56) - t.prepareKey(KeyF57, ti.KeyF57) - t.prepareKey(KeyF58, ti.KeyF58) - t.prepareKey(KeyF59, ti.KeyF59) - t.prepareKey(KeyF60, ti.KeyF60) - t.prepareKey(KeyF61, ti.KeyF61) - t.prepareKey(KeyF62, ti.KeyF62) - t.prepareKey(KeyF63, ti.KeyF63) - t.prepareKey(KeyF64, ti.KeyF64) - t.prepareKey(KeyInsert, ti.KeyInsert) - t.prepareKey(KeyDelete, ti.KeyDelete) - t.prepareKey(KeyHome, ti.KeyHome) - t.prepareKey(KeyEnd, ti.KeyEnd) - t.prepareKey(KeyUp, ti.KeyUp) - t.prepareKey(KeyDown, ti.KeyDown) - t.prepareKey(KeyLeft, ti.KeyLeft) - t.prepareKey(KeyRight, ti.KeyRight) - t.prepareKey(KeyPgUp, ti.KeyPgUp) - t.prepareKey(KeyPgDn, ti.KeyPgDn) - t.prepareKey(KeyHelp, ti.KeyHelp) - t.prepareKey(KeyPrint, ti.KeyPrint) - t.prepareKey(KeyCancel, ti.KeyCancel) - t.prepareKey(KeyExit, ti.KeyExit) - t.prepareKey(KeyBacktab, ti.KeyBacktab) - - t.prepareKeyMod(KeyRight, ModShift, ti.KeyShfRight) - t.prepareKeyMod(KeyLeft, ModShift, ti.KeyShfLeft) - t.prepareKeyMod(KeyUp, ModShift, ti.KeyShfUp) - t.prepareKeyMod(KeyDown, ModShift, ti.KeyShfDown) - t.prepareKeyMod(KeyHome, ModShift, ti.KeyShfHome) - t.prepareKeyMod(KeyEnd, ModShift, ti.KeyShfEnd) - - t.prepareKeyMod(KeyRight, ModCtrl, ti.KeyCtrlRight) - t.prepareKeyMod(KeyLeft, ModCtrl, ti.KeyCtrlLeft) - t.prepareKeyMod(KeyUp, ModCtrl, ti.KeyCtrlUp) - t.prepareKeyMod(KeyDown, ModCtrl, ti.KeyCtrlDown) - t.prepareKeyMod(KeyHome, ModCtrl, ti.KeyCtrlHome) - t.prepareKeyMod(KeyEnd, ModCtrl, ti.KeyCtrlEnd) - - t.prepareKeyMod(KeyRight, ModAlt, ti.KeyAltRight) - t.prepareKeyMod(KeyLeft, ModAlt, ti.KeyAltLeft) - t.prepareKeyMod(KeyUp, ModAlt, ti.KeyAltUp) - t.prepareKeyMod(KeyDown, ModAlt, ti.KeyAltDown) - t.prepareKeyMod(KeyHome, ModAlt, ti.KeyAltHome) - t.prepareKeyMod(KeyEnd, ModAlt, ti.KeyAltEnd) - - t.prepareKeyMod(KeyRight, ModAlt, ti.KeyMetaRight) - t.prepareKeyMod(KeyLeft, ModAlt, ti.KeyMetaLeft) - t.prepareKeyMod(KeyUp, ModAlt, ti.KeyMetaUp) - t.prepareKeyMod(KeyDown, ModAlt, ti.KeyMetaDown) - t.prepareKeyMod(KeyHome, ModAlt, ti.KeyMetaHome) - t.prepareKeyMod(KeyEnd, ModAlt, ti.KeyMetaEnd) - - t.prepareKeyMod(KeyRight, ModAlt|ModShift, ti.KeyAltShfRight) - t.prepareKeyMod(KeyLeft, ModAlt|ModShift, ti.KeyAltShfLeft) - t.prepareKeyMod(KeyUp, ModAlt|ModShift, ti.KeyAltShfUp) - t.prepareKeyMod(KeyDown, ModAlt|ModShift, ti.KeyAltShfDown) - t.prepareKeyMod(KeyHome, ModAlt|ModShift, ti.KeyAltShfHome) - t.prepareKeyMod(KeyEnd, ModAlt|ModShift, ti.KeyAltShfEnd) - - t.prepareKeyMod(KeyRight, ModAlt|ModShift, ti.KeyMetaShfRight) - t.prepareKeyMod(KeyLeft, ModAlt|ModShift, ti.KeyMetaShfLeft) - t.prepareKeyMod(KeyUp, ModAlt|ModShift, ti.KeyMetaShfUp) - t.prepareKeyMod(KeyDown, ModAlt|ModShift, ti.KeyMetaShfDown) - t.prepareKeyMod(KeyHome, ModAlt|ModShift, ti.KeyMetaShfHome) - t.prepareKeyMod(KeyEnd, ModAlt|ModShift, ti.KeyMetaShfEnd) - - t.prepareKeyMod(KeyRight, ModCtrl|ModShift, ti.KeyCtrlShfRight) - t.prepareKeyMod(KeyLeft, ModCtrl|ModShift, ti.KeyCtrlShfLeft) - t.prepareKeyMod(KeyUp, ModCtrl|ModShift, ti.KeyCtrlShfUp) - t.prepareKeyMod(KeyDown, ModCtrl|ModShift, ti.KeyCtrlShfDown) - t.prepareKeyMod(KeyHome, ModCtrl|ModShift, ti.KeyCtrlShfHome) - t.prepareKeyMod(KeyEnd, ModCtrl|ModShift, ti.KeyCtrlShfEnd) - - // Sadly, xterm handling of keycodes is somewhat erratic. In - // particular, different codes are sent depending on application - // mode is in use or not, and the entries for many of these are - // simply absent from terminfo on many systems. So we insert - // a number of escape sequences if they are not already used, in - // order to have the widest correct usage. Note that prepareKey - // will not inject codes if the escape sequence is already known. - // We also only do this for terminals that have the application - // mode present. - - // Cursor mode - if ti.EnterKeypad != "" { - t.prepareKey(KeyUp, "\x1b[A") - t.prepareKey(KeyDown, "\x1b[B") - t.prepareKey(KeyRight, "\x1b[C") - t.prepareKey(KeyLeft, "\x1b[D") - t.prepareKey(KeyEnd, "\x1b[F") - t.prepareKey(KeyHome, "\x1b[H") - t.prepareKey(KeyDelete, "\x1b[3~") - t.prepareKey(KeyHome, "\x1b[1~") - t.prepareKey(KeyEnd, "\x1b[4~") - t.prepareKey(KeyPgUp, "\x1b[5~") - t.prepareKey(KeyPgDn, "\x1b[6~") - - // Application mode - t.prepareKey(KeyUp, "\x1bOA") - t.prepareKey(KeyDown, "\x1bOB") - t.prepareKey(KeyRight, "\x1bOC") - t.prepareKey(KeyLeft, "\x1bOD") - t.prepareKey(KeyHome, "\x1bOH") - } - -outer: - // Add key mappings for control keys. - for i := 0; i < ' '; i++ { - // Do not insert direct key codes for ambiguous keys. - // For example, ESC is used for lots of other keys, so - // when parsing this we don't want to fast path handling - // of it, but instead wait a bit before parsing it as in - // isolation. - for esc := range t.keycodes { - if []byte(esc)[0] == byte(i) { - continue outer - } - } - - t.keyexist[Key(i)] = true - - mod := ModCtrl - switch Key(i) { - case KeyBS, KeyTAB, KeyESC, KeyCR: - // directly typeable- no control sequence - mod = ModNone - } - t.keycodes[string(rune(i))] = &tKeyCode{key: Key(i), mod: mod} - } -} - -func (t *tScreen) Fini() { - t.Lock() - defer t.Unlock() - - ti := t.ti - t.cells.Resize(0, 0) - t.TPuts(ti.ShowCursor) - t.TPuts(ti.AttrOff) - t.TPuts(ti.Clear) - t.TPuts(ti.ExitCA) - t.TPuts(ti.ExitKeypad) - t.TPuts(ti.TParm(ti.MouseMode, 0)) - t.curstyle = Style(-1) - t.clear = false - t.fini = true - - select { - case <-t.quit: - // do nothing, already closed - - default: - close(t.quit) - } - - t.termioFini() -} - -func (t *tScreen) SetStyle(style Style) { - t.Lock() - if !t.fini { - t.style = style - } - t.Unlock() -} - -func (t *tScreen) Clear() { - t.Fill(' ', t.style) -} - -func (t *tScreen) Fill(r rune, style Style) { - t.Lock() - if !t.fini { - t.cells.Fill(r, style) - } - t.Unlock() -} - -func (t *tScreen) SetContent(x, y int, mainc rune, combc []rune, style Style) { - t.Lock() - if !t.fini { - t.cells.SetContent(x, y, mainc, combc, style) - } - t.Unlock() -} - -func (t *tScreen) GetContent(x, y int) (rune, []rune, Style, int) { - t.Lock() - mainc, combc, style, width := t.cells.GetContent(x, y) - t.Unlock() - return mainc, combc, style, width -} - -func (t *tScreen) SetCell(x, y int, style Style, ch ...rune) { - if len(ch) > 0 { - t.SetContent(x, y, ch[0], ch[1:], style) - } else { - t.SetContent(x, y, ' ', nil, style) - } -} - -func (t *tScreen) encodeRune(r rune, buf []byte) []byte { - - nb := make([]byte, 6) - ob := make([]byte, 6) - num := utf8.EncodeRune(ob, r) - ob = ob[:num] - dst := 0 - var err error - if enc := t.encoder; enc != nil { - enc.Reset() - dst, _, err = enc.Transform(nb, ob, true) - } - if err != nil || dst == 0 || nb[0] == '\x1a' { - // Combining characters are elided - if len(buf) == 0 { - if acs, ok := t.acs[r]; ok { - buf = append(buf, []byte(acs)...) - } else if fb, ok := t.fallback[r]; ok { - buf = append(buf, []byte(fb)...) - } else { - buf = append(buf, '?') - } - } - } else { - buf = append(buf, nb[:dst]...) - } - - return buf -} - -func (t *tScreen) sendFgBg(fg Color, bg Color) { - ti := t.ti - if ti.Colors == 0 { - return - } - if t.truecolor { - if ti.SetFgBgRGB != "" && - fg != ColorDefault && bg != ColorDefault { - r1, g1, b1 := fg.RGB() - r2, g2, b2 := bg.RGB() - t.TPuts(ti.TParm(ti.SetFgBgRGB, - int(r1), int(g1), int(b1), - int(r2), int(g2), int(b2))) - } else { - if fg != ColorDefault && ti.SetFgRGB != "" { - r, g, b := fg.RGB() - t.TPuts(ti.TParm(ti.SetFgRGB, - int(r), int(g), int(b))) - } - if bg != ColorDefault && ti.SetBgRGB != "" { - r, g, b := bg.RGB() - t.TPuts(ti.TParm(ti.SetBgRGB, - int(r), int(g), int(b))) - } - } - return - } - - if fg != ColorDefault { - if v, ok := t.colors[fg]; ok { - fg = v - } else { - v = FindColor(fg, t.palette) - t.colors[fg] = v - fg = v - } - } - - if bg != ColorDefault { - if v, ok := t.colors[bg]; ok { - bg = v - } else { - v = FindColor(bg, t.palette) - t.colors[bg] = v - bg = v - } - } - - if ti.SetFgBg != "" && fg != ColorDefault && bg != ColorDefault { - t.TPuts(ti.TParm(ti.SetFgBg, int(fg), int(bg))) - } else { - if fg != ColorDefault && ti.SetFg != "" { - t.TPuts(ti.TParm(ti.SetFg, int(fg))) - } - if bg != ColorDefault && ti.SetBg != "" { - t.TPuts(ti.TParm(ti.SetBg, int(bg))) - } - } -} - -func (t *tScreen) drawCell(x, y int) int { - - ti := t.ti - - mainc, combc, style, width := t.cells.GetContent(x, y) - if !t.cells.Dirty(x, y) { - return width - } - - if t.cy != y || t.cx != x { - t.TPuts(ti.TGoto(x, y)) - t.cx = x - t.cy = y - } - - if style == StyleDefault { - style = t.style - } - if style != t.curstyle { - fg, bg, attrs := style.Decompose() - - t.TPuts(ti.AttrOff) - - t.sendFgBg(fg, bg) - if attrs&AttrBold != 0 { - t.TPuts(ti.Bold) - } - if attrs&AttrUnderline != 0 { - t.TPuts(ti.Underline) - } - if attrs&AttrReverse != 0 { - t.TPuts(ti.Reverse) - } - if attrs&AttrBlink != 0 { - t.TPuts(ti.Blink) - } - if attrs&AttrDim != 0 { - t.TPuts(ti.Dim) - } - t.curstyle = style - } - // now emit runes - taking care to not overrun width with a - // wide character, and to ensure that we emit exactly one regular - // character followed up by any residual combing characters - - if width < 1 { - width = 1 - } - - var str string - - buf := make([]byte, 0, 6) - - buf = t.encodeRune(mainc, buf) - for _, r := range combc { - buf = t.encodeRune(r, buf) - } - - str = string(buf) - if width > 1 && str == "?" { - // No FullWidth character support - str = "? " - t.cx = -1 - } - - // XXX: check for hazeltine not being able to display ~ - - if x > t.w-width { - // too wide to fit; emit a single space instead - width = 1 - str = " " - } - t.writeString(str) - t.cx += width - t.cells.SetDirty(x, y, false) - if width > 1 { - t.cx = -1 - } - - return width -} - -func (t *tScreen) ShowCursor(x, y int) { - t.Lock() - t.cursorx = x - t.cursory = y - t.Unlock() -} - -func (t *tScreen) HideCursor() { - t.ShowCursor(-1, -1) -} - -func (t *tScreen) showCursor() { - - x, y := t.cursorx, t.cursory - w, h := t.cells.Size() - if x < 0 || y < 0 || x >= w || y >= h { - t.hideCursor() - return - } - t.TPuts(t.ti.TGoto(x, y)) - t.TPuts(t.ti.ShowCursor) - t.cx = x - t.cy = y -} - -// writeString sends a string to the terminal. The string is sent as-is and -// this function does not expand inline padding indications (of the form -// $<[delay]> where [delay] is msec). In order to have these expanded, use -// TPuts. If the screen is "buffering", the string is collected in a buffer, -// with the intention that the entire buffer be sent to the terminal in one -// write operation at some point later. -func (t *tScreen) writeString(s string) { - if t.buffering { - io.WriteString(&t.buf, s) - } else { - io.WriteString(t.out, s) - } -} - -func (t *tScreen) TPuts(s string) { - if t.buffering { - t.ti.TPuts(&t.buf, s, t.baud) - } else { - t.ti.TPuts(t.out, s, t.baud) - } -} - -func (t *tScreen) Show() { - t.Lock() - if !t.fini { - t.resize() - t.draw() - } - t.Unlock() -} - -func (t *tScreen) clearScreen() { - fg, bg, _ := t.style.Decompose() - t.sendFgBg(fg, bg) - t.TPuts(t.ti.Clear) - t.clear = false -} - -func (t *tScreen) hideCursor() { - // does not update cursor position - if t.ti.HideCursor != "" { - t.TPuts(t.ti.HideCursor) - } else { - // No way to hide cursor, stick it - // at bottom right of screen - t.cx, t.cy = t.cells.Size() - t.TPuts(t.ti.TGoto(t.cx, t.cy)) - } -} - -func (t *tScreen) draw() { - // clobber cursor position, because we're gonna change it all - t.cx = -1 - t.cy = -1 - - t.buf.Reset() - t.buffering = true - defer func() { - t.buffering = false - }() - - // hide the cursor while we move stuff around - t.hideCursor() - - if t.clear { - t.clearScreen() - } - - for y := 0; y < t.h; y++ { - for x := 0; x < t.w; x++ { - width := t.drawCell(x, y) - if width > 1 { - if x+1 < t.w { - // this is necessary so that if we ever - // go back to drawing that cell, we - // actually will *draw* it. - t.cells.SetDirty(x+1, y, true) - } - } - x += width - 1 - } - } - - // restore the cursor - t.showCursor() - - t.buf.WriteTo(t.out) -} - -func (t *tScreen) EnableMouse() { - if len(t.mouse) != 0 { - t.TPuts(t.ti.TParm(t.ti.MouseMode, 1)) - } -} - -func (t *tScreen) DisableMouse() { - if len(t.mouse) != 0 { - t.TPuts(t.ti.TParm(t.ti.MouseMode, 0)) - } -} - -func (t *tScreen) Size() (int, int) { - t.Lock() - w, h := t.w, t.h - t.Unlock() - return w, h -} - -func (t *tScreen) resize() { - if w, h, e := t.getWinSize(); e == nil { - if w != t.w || h != t.h { - t.cx = -1 - t.cy = -1 - - t.cells.Resize(w, h) - t.cells.Invalidate() - t.h = h - t.w = w - ev := NewEventResize(w, h) - t.PostEvent(ev) - } - } -} - -func (t *tScreen) Colors() int { - // this doesn't change, no need for lock - if t.truecolor { - return 1 << 24 - } - return t.ti.Colors -} - -func (t *tScreen) PollEvent() Event { - select { - case <-t.quit: - return nil - case ev := <-t.evch: - return ev - } -} - -// vtACSNames is a map of bytes defined by terminfo that are used in -// the terminals Alternate Character Set to represent other glyphs. -// For example, the upper left corner of the box drawing set can be -// displayed by printing "l" while in the alternate character set. -// Its not quite that simple, since the "l" is the terminfo name, -// and it may be necessary to use a different character based on -// the terminal implementation (or the terminal may lack support for -// this altogether). See buildAcsMap below for detail. -var vtACSNames = map[byte]rune{ - '+': RuneRArrow, - ',': RuneLArrow, - '-': RuneUArrow, - '.': RuneDArrow, - '0': RuneBlock, - '`': RuneDiamond, - 'a': RuneCkBoard, - 'b': '␉', // VT100, Not defined by terminfo - 'c': '␌', // VT100, Not defined by terminfo - 'd': '␋', // VT100, Not defined by terminfo - 'e': '␊', // VT100, Not defined by terminfo - 'f': RuneDegree, - 'g': RunePlMinus, - 'h': RuneBoard, - 'i': RuneLantern, - 'j': RuneLRCorner, - 'k': RuneURCorner, - 'l': RuneULCorner, - 'm': RuneLLCorner, - 'n': RunePlus, - 'o': RuneS1, - 'p': RuneS3, - 'q': RuneHLine, - 'r': RuneS7, - 's': RuneS9, - 't': RuneLTee, - 'u': RuneRTee, - 'v': RuneBTee, - 'w': RuneTTee, - 'x': RuneVLine, - 'y': RuneLEqual, - 'z': RuneGEqual, - '{': RunePi, - '|': RuneNEqual, - '}': RuneSterling, - '~': RuneBullet, -} - -// buildAcsMap builds a map of characters that we translate from Unicode to -// alternate character encodings. To do this, we use the standard VT100 ACS -// maps. This is only done if the terminal lacks support for Unicode; we -// always prefer to emit Unicode glyphs when we are able. -func (t *tScreen) buildAcsMap() { - acsstr := t.ti.AltChars - t.acs = make(map[rune]string) - for len(acsstr) > 2 { - srcv := acsstr[0] - dstv := string(acsstr[1]) - if r, ok := vtACSNames[srcv]; ok { - t.acs[r] = t.ti.EnterAcs + dstv + t.ti.ExitAcs - } - acsstr = acsstr[2:] - } -} - -func (t *tScreen) PostEventWait(ev Event) { - t.evch <- ev -} - -func (t *tScreen) PostEvent(ev Event) error { - select { - case t.evch <- ev: - return nil - default: - return ErrEventQFull - } -} - -func (t *tScreen) clip(x, y int) (int, int) { - w, h := t.cells.Size() - if x < 0 { - x = 0 - } - if y < 0 { - y = 0 - } - if x > w-1 { - x = w - 1 - } - if y > h-1 { - y = h - 1 - } - return x, y -} - -func (t *tScreen) postMouseEvent(x, y, btn int) { - - // XTerm mouse events only report at most one button at a time, - // which may include a wheel button. Wheel motion events are - // reported as single impulses, while other button events are reported - // as separate press & release events. - - button := ButtonNone - mod := ModNone - - // Mouse wheel has bit 6 set, no release events. It should be noted - // that wheel events are sometimes misdelivered as mouse button events - // during a click-drag, so we debounce these, considering them to be - // button press events unless we see an intervening release event. - switch btn & 0x43 { - case 0: - button = Button1 - t.wasbtn = true - case 1: - button = Button2 - t.wasbtn = true - case 2: - button = Button3 - t.wasbtn = true - case 3: - button = ButtonNone - t.wasbtn = false - case 0x40: - if !t.wasbtn { - button = WheelUp - } else { - button = Button1 - } - case 0x41: - if !t.wasbtn { - button = WheelDown - } else { - button = Button2 - } - } - - if btn&0x4 != 0 { - mod |= ModShift - } - if btn&0x8 != 0 { - mod |= ModAlt - } - if btn&0x10 != 0 { - mod |= ModCtrl - } - - // Some terminals will report mouse coordinates outside the - // screen, especially with click-drag events. Clip the coordinates - // to the screen in that case. - x, y = t.clip(x, y) - - ev := NewEventMouse(x, y, button, mod) - t.PostEvent(ev) -} - -// parseSgrMouse attempts to locate an SGR mouse record at the start of the -// buffer. It returns true, true if it found one, and the associated bytes -// be removed from the buffer. It returns true, false if the buffer might -// contain such an event, but more bytes are necessary (partial match), and -// false, false if the content is definitely *not* an SGR mouse record. -func (t *tScreen) parseSgrMouse(buf *bytes.Buffer) (bool, bool) { - - b := buf.Bytes() - - var x, y, btn, state int - dig := false - neg := false - motion := false - i := 0 - val := 0 - - for i = range b { - switch b[i] { - case '\x1b': - if state != 0 { - return false, false - } - state = 1 - - case '\x9b': - if state != 0 { - return false, false - } - state = 2 - - case '[': - if state != 1 { - return false, false - } - state = 2 - - case '<': - if state != 2 { - return false, false - } - val = 0 - dig = false - neg = false - state = 3 - - case '-': - if state != 3 && state != 4 && state != 5 { - return false, false - } - if dig || neg { - return false, false - } - neg = true // stay in state - - case '0', '1', '2', '3', '4', '5', '6', '7', '8', '9': - if state != 3 && state != 4 && state != 5 { - return false, false - } - val *= 10 - val += int(b[i] - '0') - dig = true // stay in state - - case ';': - if neg { - val = -val - } - switch state { - case 3: - btn, val = val, 0 - neg, dig, state = false, false, 4 - case 4: - x, val = val-1, 0 - neg, dig, state = false, false, 5 - default: - return false, false - } - - case 'm', 'M': - if state != 5 { - return false, false - } - if neg { - val = -val - } - y = val - 1 - - motion = (btn & 32) != 0 - btn &^= 32 - if b[i] == 'm' { - // mouse release, clear all buttons - btn |= 3 - btn &^= 0x40 - t.buttondn = false - } else if motion { - /* - * Some broken terminals appear to send - * mouse button one motion events, instead of - * encoding 35 (no buttons) into these events. - * We resolve these by looking for a non-motion - * event first. - */ - if !t.buttondn { - btn |= 3 - btn &^= 0x40 - } - } else { - t.buttondn = true - } - // consume the event bytes - for i >= 0 { - buf.ReadByte() - i-- - } - t.postMouseEvent(x, y, btn) - return true, true - } - } - - // incomplete & inconclusve at this point - return true, false -} - -// parseXtermMouse is like parseSgrMouse, but it parses a legacy -// X11 mouse record. -func (t *tScreen) parseXtermMouse(buf *bytes.Buffer) (bool, bool) { - - b := buf.Bytes() - - state := 0 - btn := 0 - x := 0 - y := 0 - - for i := range b { - switch state { - case 0: - switch b[i] { - case '\x1b': - state = 1 - case '\x9b': - state = 2 - default: - return false, false - } - case 1: - if b[i] != '[' { - return false, false - } - state = 2 - case 2: - if b[i] != 'M' { - return false, false - } - state++ - case 3: - btn = int(b[i]) - state++ - case 4: - x = int(b[i]) - 32 - 1 - state++ - case 5: - y = int(b[i]) - 32 - 1 - for i >= 0 { - buf.ReadByte() - i-- - } - t.postMouseEvent(x, y, btn) - return true, true - } - } - return true, false -} - -func (t *tScreen) parseFunctionKey(buf *bytes.Buffer) (bool, bool) { - b := buf.Bytes() - partial := false - for e, k := range t.keycodes { - esc := []byte(e) - if (len(esc) == 1) && (esc[0] == '\x1b') { - continue - } - if bytes.HasPrefix(b, esc) { - // matched - var r rune - if len(esc) == 1 { - r = rune(b[0]) - } - mod := k.mod - if t.escaped { - mod |= ModAlt - t.escaped = false - } - ev := NewEventKey(k.key, r, mod) - t.PostEvent(ev) - for i := 0; i < len(esc); i++ { - buf.ReadByte() - } - return true, true - } - if bytes.HasPrefix(esc, b) { - partial = true - } - } - return partial, false -} - -func (t *tScreen) parseRune(buf *bytes.Buffer) (bool, bool) { - b := buf.Bytes() - if b[0] >= ' ' && b[0] <= 0x7F { - // printable ASCII easy to deal with -- no encodings - mod := ModNone - if t.escaped { - mod = ModAlt - t.escaped = false - } - ev := NewEventKey(KeyRune, rune(b[0]), mod) - t.PostEvent(ev) - buf.ReadByte() - return true, true - } - - if b[0] < 0x80 { - // Low numbered values are control keys, not runes. - return false, false - } - - utfb := make([]byte, 12) - for l := 1; l <= len(b); l++ { - t.decoder.Reset() - nout, nin, e := t.decoder.Transform(utfb, b[:l], true) - if e == transform.ErrShortSrc { - continue - } - if nout != 0 { - r, _ := utf8.DecodeRune(utfb[:nout]) - if r != utf8.RuneError { - mod := ModNone - if t.escaped { - mod = ModAlt - t.escaped = false - } - ev := NewEventKey(KeyRune, r, mod) - t.PostEvent(ev) - } - for nin > 0 { - buf.ReadByte() - nin-- - } - return true, true - } - } - // Looks like potential escape - return true, false -} - -func (t *tScreen) scanInput(buf *bytes.Buffer, expire bool) { - - t.Lock() - defer t.Unlock() - - for { - b := buf.Bytes() - if len(b) == 0 { - buf.Reset() - return - } - - partials := 0 - - if part, comp := t.parseRune(buf); comp { - continue - } else if part { - partials++ - } - - if part, comp := t.parseFunctionKey(buf); comp { - continue - } else if part { - partials++ - } - - // Only parse mouse records if this term claims to have - // mouse support - - if t.ti.Mouse != "" { - if part, comp := t.parseXtermMouse(buf); comp { - continue - } else if part { - partials++ - } - - if part, comp := t.parseSgrMouse(buf); comp { - continue - } else if part { - partials++ - } - } - - if partials == 0 || expire { - if b[0] == '\x1b' { - if len(b) == 1 { - ev := NewEventKey(KeyEsc, 0, ModNone) - t.PostEvent(ev) - t.escaped = false - } else { - t.escaped = true - } - buf.ReadByte() - continue - } - // Nothing was going to match, or we timed out - // waiting for more data -- just deliver the characters - // to the app & let them sort it out. Possibly we - // should only do this for control characters like ESC. - by, _ := buf.ReadByte() - mod := ModNone - if t.escaped { - t.escaped = false - mod = ModAlt - } - ev := NewEventKey(KeyRune, rune(by), mod) - t.PostEvent(ev) - continue - } - - // well we have some partial data, wait until we get - // some more - break - } -} - -func (t *tScreen) mainLoop() { - buf := &bytes.Buffer{} - for { - select { - case <-t.quit: - close(t.indoneq) - return - case <-t.sigwinch: - t.Lock() - t.cx = -1 - t.cy = -1 - t.resize() - t.cells.Invalidate() - t.draw() - t.Unlock() - continue - case <-t.keytimer.C: - // If the timer fired, and the current time - // is after the expiration of the escape sequence, - // then we assume the escape sequence reached it's - // conclusion, and process the chunk independently. - // This lets us detect conflicts such as a lone ESC. - if buf.Len() > 0 { - if time.Now().After(t.keyexpire) { - t.scanInput(buf, true) - } - } - if buf.Len() > 0 { - if !t.keytimer.Stop() { - select { - case <-t.keytimer.C: - default: - } - } - t.keytimer.Reset(time.Millisecond * 50) - } - case chunk := <-t.keychan: - buf.Write(chunk) - t.keyexpire = time.Now().Add(time.Millisecond * 50) - t.scanInput(buf, false) - if !t.keytimer.Stop() { - select { - case <-t.keytimer.C: - default: - } - } - if buf.Len() > 0 { - t.keytimer.Reset(time.Millisecond * 50) - } - } - } -} - -func (t *tScreen) inputLoop() { - - for { - chunk := make([]byte, 128) - n, e := t.in.Read(chunk) - switch e { - case io.EOF: - case nil: - default: - t.PostEvent(NewEventError(e)) - return - } - t.keychan <- chunk[:n] - } -} - -func (t *tScreen) Sync() { - t.Lock() - t.cx = -1 - t.cy = -1 - if !t.fini { - t.resize() - t.clear = true - t.cells.Invalidate() - t.draw() - } - t.Unlock() -} - -func (t *tScreen) CharacterSet() string { - return t.charset -} - -func (t *tScreen) RegisterRuneFallback(orig rune, fallback string) { - t.Lock() - t.fallback[orig] = fallback - t.Unlock() -} - -func (t *tScreen) UnregisterRuneFallback(orig rune) { - t.Lock() - delete(t.fallback, orig) - t.Unlock() -} - -func (t *tScreen) CanDisplay(r rune, checkFallbacks bool) bool { - - if enc := t.encoder; enc != nil { - nb := make([]byte, 6) - ob := make([]byte, 6) - num := utf8.EncodeRune(ob, r) - - enc.Reset() - dst, _, err := enc.Transform(nb, ob[:num], true) - if dst != 0 && err == nil && nb[0] != '\x1A' { - return true - } - } - // Terminal fallbacks always permitted, since we assume they are - // basically nearly perfect renditions. - if _, ok := t.acs[r]; ok { - return true - } - if !checkFallbacks { - return false - } - if _, ok := t.fallback[r]; ok { - return true - } - return false -} - -func (t *tScreen) HasMouse() bool { - return len(t.mouse) != 0 -} - -func (t *tScreen) HasKey(k Key) bool { - if k == KeyRune { - return true - } - return t.keyexist[k] -} - -func (t *tScreen) Resize(int, int, int, int) {} diff --git a/vendor/github.com/gdamore/tcell/tscreen_bsd.go b/vendor/github.com/gdamore/tcell/tscreen_bsd.go deleted file mode 100644 index 86d749b7..00000000 --- a/vendor/github.com/gdamore/tcell/tscreen_bsd.go +++ /dev/null @@ -1,119 +0,0 @@ -// +build freebsd netbsd openbsd dragonfly - -// Copyright 2018 The TCell Authors -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use file except in compliance with the License. -// You may obtain a copy of the license at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package tcell - -import ( - "os" - "os/signal" - "syscall" - "unsafe" -) - -type termiosPrivate syscall.Termios - -func (t *tScreen) termioInit() error { - var e error - var newtios termiosPrivate - var fd uintptr - var tios uintptr - var ioc uintptr - t.tiosp = &termiosPrivate{} - - if t.in, e = os.OpenFile("/dev/tty", os.O_RDONLY, 0); e != nil { - goto failed - } - if t.out, e = os.OpenFile("/dev/tty", os.O_WRONLY, 0); e != nil { - goto failed - } - - tios = uintptr(unsafe.Pointer(t.tiosp)) - ioc = uintptr(syscall.TIOCGETA) - fd = uintptr(t.out.Fd()) - if _, _, e1 := syscall.Syscall6(syscall.SYS_IOCTL, fd, ioc, tios, 0, 0, 0); e1 != 0 { - e = e1 - goto failed - } - - // On this platform (FreeBSD and family), the baud rate is stored - // directly as an integer in termios.c_ospeed. No bitmasking required. - t.baud = int(t.tiosp.Ospeed) - newtios = *t.tiosp - newtios.Iflag &^= syscall.IGNBRK | syscall.BRKINT | syscall.PARMRK | - syscall.ISTRIP | syscall.INLCR | syscall.IGNCR | - syscall.ICRNL | syscall.IXON - newtios.Oflag &^= syscall.OPOST - newtios.Lflag &^= syscall.ECHO | syscall.ECHONL | syscall.ICANON | - syscall.ISIG | syscall.IEXTEN - newtios.Cflag &^= syscall.CSIZE | syscall.PARENB - newtios.Cflag |= syscall.CS8 - - tios = uintptr(unsafe.Pointer(&newtios)) - - ioc = uintptr(syscall.TIOCSETA) - if _, _, e1 := syscall.Syscall6(syscall.SYS_IOCTL, fd, ioc, tios, 0, 0, 0); e1 != 0 { - e = e1 - goto failed - } - - signal.Notify(t.sigwinch, syscall.SIGWINCH) - - if w, h, e := t.getWinSize(); e == nil && w != 0 && h != 0 { - t.cells.Resize(w, h) - } - - return nil - -failed: - if t.in != nil { - t.in.Close() - } - if t.out != nil { - t.out.Close() - } - return e -} - -func (t *tScreen) termioFini() { - - signal.Stop(t.sigwinch) - - <-t.indoneq - - if t.out != nil { - fd := uintptr(t.out.Fd()) - ioc := uintptr(syscall.TIOCSETAF) - tios := uintptr(unsafe.Pointer(t.tiosp)) - syscall.Syscall6(syscall.SYS_IOCTL, fd, ioc, tios, 0, 0, 0) - t.out.Close() - } - if t.in != nil { - t.in.Close() - } -} - -func (t *tScreen) getWinSize() (int, int, error) { - - fd := uintptr(t.out.Fd()) - dim := [4]uint16{} - dimp := uintptr(unsafe.Pointer(&dim)) - ioc := uintptr(syscall.TIOCGWINSZ) - if _, _, err := syscall.Syscall6(syscall.SYS_IOCTL, - fd, ioc, dimp, 0, 0, 0); err != 0 { - return -1, -1, err - } - return int(dim[1]), int(dim[0]), nil -} diff --git a/vendor/github.com/gdamore/tcell/tscreen_darwin.go b/vendor/github.com/gdamore/tcell/tscreen_darwin.go deleted file mode 100644 index df51cb5f..00000000 --- a/vendor/github.com/gdamore/tcell/tscreen_darwin.go +++ /dev/null @@ -1,140 +0,0 @@ -// +build darwin - -// Copyright 2018 The TCell Authors -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use file except in compliance with the License. -// You may obtain a copy of the license at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package tcell - -// The Darwin system is *almost* a real BSD system, but it suffers from -// a brain damaged TTY driver. This TTY driver does not actually -// wake up in poll() or similar calls, which means that we cannot reliably -// shut down the terminal without resorting to obscene custom C code -// and a dedicated poller thread. -// -// So instead, we do a best effort, and simply try to do the close in the -// background. Probably this will cause a leak of two goroutines and -// maybe also the file descriptor, meaning that applications on Darwin -// can't reinitialize the screen, but that's probably a very rare behavior, -// and accepting that is the best of some very poor alternative options. -// -// Maybe someday Apple will fix there tty driver, but its been broken for -// a long time (probably forever) so holding one's breath is contraindicated. - -import ( - "os" - "os/signal" - "syscall" - "unsafe" -) - -type termiosPrivate syscall.Termios - -func (t *tScreen) termioInit() error { - var e error - var newtios termiosPrivate - var fd uintptr - var tios uintptr - var ioc uintptr - t.tiosp = &termiosPrivate{} - - if t.in, e = os.OpenFile("/dev/tty", os.O_RDONLY, 0); e != nil { - goto failed - } - if t.out, e = os.OpenFile("/dev/tty", os.O_WRONLY, 0); e != nil { - goto failed - } - - tios = uintptr(unsafe.Pointer(t.tiosp)) - ioc = uintptr(syscall.TIOCGETA) - fd = uintptr(t.out.Fd()) - if _, _, e1 := syscall.Syscall6(syscall.SYS_IOCTL, fd, ioc, tios, 0, 0, 0); e1 != 0 { - e = e1 - goto failed - } - - // On this platform (FreeBSD and family), the baud rate is stored - // directly as an integer in termios.c_ospeed. No bitmasking required. - t.baud = int(t.tiosp.Ospeed) - newtios = *t.tiosp - newtios.Iflag &^= syscall.IGNBRK | syscall.BRKINT | syscall.PARMRK | - syscall.ISTRIP | syscall.INLCR | syscall.IGNCR | - syscall.ICRNL | syscall.IXON - newtios.Oflag &^= syscall.OPOST - newtios.Lflag &^= syscall.ECHO | syscall.ECHONL | syscall.ICANON | - syscall.ISIG | syscall.IEXTEN - newtios.Cflag &^= syscall.CSIZE | syscall.PARENB - newtios.Cflag |= syscall.CS8 - - tios = uintptr(unsafe.Pointer(&newtios)) - - ioc = uintptr(syscall.TIOCSETA) - if _, _, e1 := syscall.Syscall6(syscall.SYS_IOCTL, fd, ioc, tios, 0, 0, 0); e1 != 0 { - e = e1 - goto failed - } - - signal.Notify(t.sigwinch, syscall.SIGWINCH) - - if w, h, e := t.getWinSize(); e == nil && w != 0 && h != 0 { - t.cells.Resize(w, h) - } - - return nil - -failed: - if t.in != nil { - t.in.Close() - } - if t.out != nil { - t.out.Close() - } - return e -} - -func (t *tScreen) termioFini() { - - signal.Stop(t.sigwinch) - - <-t.indoneq - - if t.out != nil { - fd := uintptr(t.out.Fd()) - ioc := uintptr(syscall.TIOCSETAF) - tios := uintptr(unsafe.Pointer(t.tiosp)) - syscall.Syscall6(syscall.SYS_IOCTL, fd, ioc, tios, 0, 0, 0) - t.out.Close() - } - - // See above -- we background this call which might help, but - // really the tty is probably open. - - go func() { - if t.in != nil { - t.in.Close() - } - }() -} - -func (t *tScreen) getWinSize() (int, int, error) { - - fd := uintptr(t.out.Fd()) - dim := [4]uint16{} - dimp := uintptr(unsafe.Pointer(&dim)) - ioc := uintptr(syscall.TIOCGWINSZ) - if _, _, err := syscall.Syscall6(syscall.SYS_IOCTL, - fd, ioc, dimp, 0, 0, 0); err != 0 { - return -1, -1, err - } - return int(dim[1]), int(dim[0]), nil -} diff --git a/vendor/github.com/gdamore/tcell/tscreen_linux.go b/vendor/github.com/gdamore/tcell/tscreen_linux.go deleted file mode 100644 index 79602f4c..00000000 --- a/vendor/github.com/gdamore/tcell/tscreen_linux.go +++ /dev/null @@ -1,129 +0,0 @@ -// +build linux - -// Copyright 2017 The TCell Authors -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use file except in compliance with the License. -// You may obtain a copy of the license at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package tcell - -import ( - "os" - "os/signal" - "syscall" - "unsafe" -) - -type termiosPrivate syscall.Termios - -func (t *tScreen) termioInit() error { - var e error - var newtios termiosPrivate - var fd uintptr - var tios uintptr - var ioc uintptr - t.tiosp = &termiosPrivate{} - - if t.in, e = os.OpenFile("/dev/tty", os.O_RDONLY, 0); e != nil { - goto failed - } - if t.out, e = os.OpenFile("/dev/tty", os.O_WRONLY, 0); e != nil { - goto failed - } - - tios = uintptr(unsafe.Pointer(t.tiosp)) - ioc = uintptr(syscall.TCGETS) - fd = uintptr(t.out.Fd()) - if _, _, e1 := syscall.Syscall6(syscall.SYS_IOCTL, fd, ioc, tios, 0, 0, 0); e1 != 0 { - e = e1 - goto failed - } - - // On this platform, the baud rate is stored - // directly as an integer in termios.c_ospeed. - t.baud = int(t.tiosp.Ospeed) - newtios = *t.tiosp - newtios.Iflag &^= syscall.IGNBRK | syscall.BRKINT | syscall.PARMRK | - syscall.ISTRIP | syscall.INLCR | syscall.IGNCR | - syscall.ICRNL | syscall.IXON - newtios.Oflag &^= syscall.OPOST - newtios.Lflag &^= syscall.ECHO | syscall.ECHONL | syscall.ICANON | - syscall.ISIG | syscall.IEXTEN - newtios.Cflag &^= syscall.CSIZE | syscall.PARENB - newtios.Cflag |= syscall.CS8 - - // This is setup for blocking reads. In the past we attempted to - // use non-blocking reads, but now a separate input loop and timer - // copes with the problems we had on some systems (BSD/Darwin) - // where close hung forever. - newtios.Cc[syscall.VMIN] = 1 - newtios.Cc[syscall.VTIME] = 0 - - tios = uintptr(unsafe.Pointer(&newtios)) - - // Well this kind of sucks, because we don't have TCSETSF, but only - // TCSETS. This can leave some output unflushed. - ioc = uintptr(syscall.TCSETS) - if _, _, e1 := syscall.Syscall6(syscall.SYS_IOCTL, fd, ioc, tios, 0, 0, 0); e1 != 0 { - e = e1 - goto failed - } - - signal.Notify(t.sigwinch, syscall.SIGWINCH) - - if w, h, e := t.getWinSize(); e == nil && w != 0 && h != 0 { - t.cells.Resize(w, h) - } - - return nil - -failed: - if t.in != nil { - t.in.Close() - } - if t.out != nil { - t.out.Close() - } - return e -} - -func (t *tScreen) termioFini() { - - signal.Stop(t.sigwinch) - - <-t.indoneq - - if t.out != nil { - fd := uintptr(t.out.Fd()) - // XXX: We'd really rather do TCSETSF here! - ioc := uintptr(syscall.TCSETS) - tios := uintptr(unsafe.Pointer(t.tiosp)) - syscall.Syscall6(syscall.SYS_IOCTL, fd, ioc, tios, 0, 0, 0) - t.out.Close() - } - if t.in != nil { - t.in.Close() - } -} - -func (t *tScreen) getWinSize() (int, int, error) { - - fd := uintptr(t.out.Fd()) - dim := [4]uint16{} - dimp := uintptr(unsafe.Pointer(&dim)) - ioc := uintptr(syscall.TIOCGWINSZ) - if _, _, err := syscall.Syscall6(syscall.SYS_IOCTL, - fd, ioc, dimp, 0, 0, 0); err != 0 { - return -1, -1, err - } - return int(dim[1]), int(dim[0]), nil -} diff --git a/vendor/github.com/gdamore/tcell/tscreen_posix.go b/vendor/github.com/gdamore/tcell/tscreen_posix.go deleted file mode 100644 index 66fbe04b..00000000 --- a/vendor/github.com/gdamore/tcell/tscreen_posix.go +++ /dev/null @@ -1,206 +0,0 @@ -// +build solaris - -// Copyright 2017 The TCell Authors -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use file except in compliance with the License. -// You may obtain a copy of the license at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package tcell - -import ( - "os" - "os/signal" - "syscall" -) - -// #include -// #include -// -// int getwinsize(int fd, int *cols, int *rows) { -// #if defined TIOCGWINSZ -// struct winsize w; -// if (ioctl(fd, TIOCGWINSZ, &w) < 0) { -// return (-1); -// } -// *cols = w.ws_col; -// *rows = w.ws_row; -// return (0); -// #else -// return (-1); -// #endif -// } -// -// int getbaud(struct termios *tios) { -// switch (cfgetospeed(tios)) { -// #ifdef B0 -// case B0: return (0); -// #endif -// #ifdef B50 -// case B50: return (50); -// #endif -// #ifdef B75 -// case B75: return (75); -// #endif -// #ifdef B110 -// case B110: return (110); -// #endif -// #ifdef B134 -// case B134: return (134); -// #endif -// #ifdef B150 -// case B150: return (150); -// #endif -// #ifdef B200 -// case B200: return (200); -// #endif -// #ifdef B300 -// case B300: return (300); -// #endif -// #ifdef B600 -// case B600: return (600); -// #endif -// #ifdef B1200 -// case B1200: return (1200); -// #endif -// #ifdef B1800 -// case B1800: return (1800); -// #endif -// #ifdef B2400 -// case B2400: return (2400); -// #endif -// #ifdef B4800 -// case B4800: return (4800); -// #endif -// #ifdef B9600 -// case B9600: return (9600); -// #endif -// #ifdef B19200 -// case B19200: return (19200); -// #endif -// #ifdef B38400 -// case B38400: return (38400); -// #endif -// #ifdef B57600 -// case B57600: return (57600); -// #endif -// #ifdef B76800 -// case B76800: return (76800); -// #endif -// #ifdef B115200 -// case B115200: return (115200); -// #endif -// #ifdef B153600 -// case B153600: return (153600); -// #endif -// #ifdef B230400 -// case B230400: return (230400); -// #endif -// #ifdef B307200 -// case B307200: return (307200); -// #endif -// #ifdef B460800 -// case B460800: return (460800); -// #endif -// #ifdef B921600 -// case B921600: return (921600); -// #endif -// } -// return (0); -// } -import "C" - -type termiosPrivate struct { - tios C.struct_termios -} - -func (t *tScreen) termioInit() error { - var e error - var rv C.int - var newtios C.struct_termios - var fd C.int - - if t.in, e = os.OpenFile("/dev/tty", os.O_RDONLY, 0); e != nil { - goto failed - } - if t.out, e = os.OpenFile("/dev/tty", os.O_WRONLY, 0); e != nil { - goto failed - } - - t.tiosp = &termiosPrivate{} - - fd = C.int(t.out.Fd()) - if rv, e = C.tcgetattr(fd, &t.tiosp.tios); rv != 0 { - goto failed - } - t.baud = int(C.getbaud(&t.tiosp.tios)) - newtios = t.tiosp.tios - newtios.c_iflag &^= C.IGNBRK | C.BRKINT | C.PARMRK | - C.ISTRIP | C.INLCR | C.IGNCR | - C.ICRNL | C.IXON - newtios.c_oflag &^= C.OPOST - newtios.c_lflag &^= C.ECHO | C.ECHONL | C.ICANON | - C.ISIG | C.IEXTEN - newtios.c_cflag &^= C.CSIZE | C.PARENB - newtios.c_cflag |= C.CS8 - - // This is setup for blocking reads. In the past we attempted to - // use non-blocking reads, but now a separate input loop and timer - // copes with the problems we had on some systems (BSD/Darwin) - // where close hung forever. - newtios.Cc[syscall.VMIN] = 1 - newtios.Cc[syscall.VTIME] = 0 - - if rv, e = C.tcsetattr(fd, C.TCSANOW|C.TCSAFLUSH, &newtios); rv != 0 { - goto failed - } - - signal.Notify(t.sigwinch, syscall.SIGWINCH) - - if w, h, e := t.getWinSize(); e == nil && w != 0 && h != 0 { - t.cells.Resize(w, h) - } - - return nil - -failed: - if t.in != nil { - t.in.Close() - } - if t.out != nil { - t.out.Close() - } - return e -} - -func (t *tScreen) termioFini() { - - signal.Stop(t.sigwinch) - - <-t.indoneq - - if t.out != nil { - fd := C.int(t.out.Fd()) - C.tcsetattr(fd, C.TCSANOW|C.TCSAFLUSH, &t.tiosp.tios) - t.out.Close() - } - if t.in != nil { - t.in.Close() - } -} - -func (t *tScreen) getWinSize() (int, int, error) { - var cx, cy C.int - if r, e := C.getwinsize(C.int(t.out.Fd()), &cx, &cy); r != 0 { - return 0, 0, e - } - return int(cx), int(cy), nil -} diff --git a/vendor/github.com/gdamore/tcell/tscreen_stub.go b/vendor/github.com/gdamore/tcell/tscreen_stub.go deleted file mode 100644 index 91de26e1..00000000 --- a/vendor/github.com/gdamore/tcell/tscreen_stub.go +++ /dev/null @@ -1,32 +0,0 @@ -// +build nacl plan9 - -// Copyright 2015 The TCell Authors -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use file except in compliance with the License. -// You may obtain a copy of the license at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package tcell - -// This stub file is for systems that have no termios. - -type termiosPrivate struct{} - -func (t *tScreen) termioInit() error { - return ErrNoScreen -} - -func (t *tScreen) termioFini() { -} - -func (t *tScreen) getWinSize() (int, int, error) { - return 0, 0, ErrNoScreen -} diff --git a/vendor/github.com/gdamore/tcell/tscreen_windows.go b/vendor/github.com/gdamore/tcell/tscreen_windows.go deleted file mode 100644 index daac0976..00000000 --- a/vendor/github.com/gdamore/tcell/tscreen_windows.go +++ /dev/null @@ -1,40 +0,0 @@ -// +build windows - -// Copyright 2015 The TCell Authors -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use file except in compliance with the License. -// You may obtain a copy of the license at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package tcell - -// On Windows we don't have support for termios. We probably could, and -// may should, in a cygwin type environment. Its not clear how to make -// this all work nicely with both cygwin and Windows console, so we -// decline to do so here. - -func (t *tScreen) termioInit() error { - return ErrNoScreen -} - -func (t *tScreen) termioFini() { - return -} - -func (t *tScreen) getWinSize() (int, int, error) { - return 0, 0, ErrNoScreen -} - -func (t *tScreen) getCharset() string { - return "UTF-16LE" -} - -type termiosPrivate struct{} diff --git a/vendor/github.com/go-ole/go-ole/.travis.yml b/vendor/github.com/go-ole/go-ole/.travis.yml deleted file mode 100644 index 0c2c02bd..00000000 --- a/vendor/github.com/go-ole/go-ole/.travis.yml +++ /dev/null @@ -1,9 +0,0 @@ -language: go -sudo: false - -go: - - 1.1 - - 1.2 - - 1.3 - - 1.4 - - tip diff --git a/vendor/github.com/go-ole/go-ole/ChangeLog.md b/vendor/github.com/go-ole/go-ole/ChangeLog.md deleted file mode 100644 index 4ba6a8c6..00000000 --- a/vendor/github.com/go-ole/go-ole/ChangeLog.md +++ /dev/null @@ -1,49 +0,0 @@ -# Version 1.x.x - -* **Add more test cases and reference new test COM server project.** (Placeholder for future additions) - -# Version 1.2.0-alphaX - -**Minimum supported version is now Go 1.4. Go 1.1 support is deprecated, but should still build.** - - * Added CI configuration for Travis-CI and AppVeyor. - * Added test InterfaceID and ClassID for the COM Test Server project. - * Added more inline documentation (#83). - * Added IEnumVARIANT implementation (#88). - * Added IEnumVARIANT test cases (#99, #100, #101). - * Added support for retrieving `time.Time` from VARIANT (#92). - * Added test case for IUnknown (#64). - * Added test case for IDispatch (#64). - * Added test cases for scalar variants (#64, #76). - -# Version 1.1.1 - - * Fixes for Linux build. - * Fixes for Windows build. - -# Version 1.1.0 - -The change to provide building on all platforms is a new feature. The increase in minor version reflects that and allows those who wish to stay on 1.0.x to continue to do so. Support for 1.0.x will be limited to bug fixes. - - * Move GUID out of variables.go into its own file to make new documentation available. - * Move OleError out of ole.go into its own file to make new documentation available. - * Add documentation to utility functions. - * Add documentation to variant receiver functions. - * Add documentation to ole structures. - * Make variant available to other systems outside of Windows. - * Make OLE structures available to other systems outside of Windows. - -## New Features - - * Library should now be built on all platforms supported by Go. Library will NOOP on any platform that is not Windows. - * More functions are now documented and available on godoc.org. - -# Version 1.0.1 - - 1. Fix package references from repository location change. - -# Version 1.0.0 - -This version is stable enough for use. The COM API is still incomplete, but provides enough functionality for accessing COM servers using IDispatch interface. - -There is no changelog for this version. Check commits for history. diff --git a/vendor/github.com/go-ole/go-ole/LICENSE b/vendor/github.com/go-ole/go-ole/LICENSE deleted file mode 100644 index 623ec06f..00000000 --- a/vendor/github.com/go-ole/go-ole/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License (MIT) - -Copyright © 2013-2017 Yasuhiro Matsumoto, - -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the “Software”), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies -of the Software, and to permit persons to whom the Software is furnished to do -so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/vendor/github.com/go-ole/go-ole/README.md b/vendor/github.com/go-ole/go-ole/README.md deleted file mode 100644 index 7b577558..00000000 --- a/vendor/github.com/go-ole/go-ole/README.md +++ /dev/null @@ -1,46 +0,0 @@ -# Go OLE - -[![Build status](https://ci.appveyor.com/api/projects/status/qr0u2sf7q43us9fj?svg=true)](https://ci.appveyor.com/project/jacobsantos/go-ole-jgs28) -[![Build Status](https://travis-ci.org/go-ole/go-ole.svg?branch=master)](https://travis-ci.org/go-ole/go-ole) -[![GoDoc](https://godoc.org/github.com/go-ole/go-ole?status.svg)](https://godoc.org/github.com/go-ole/go-ole) - -Go bindings for Windows COM using shared libraries instead of cgo. - -By Yasuhiro Matsumoto. - -## Install - -To experiment with go-ole, you can just compile and run the example program: - -``` -go get github.com/go-ole/go-ole -cd /path/to/go-ole/ -go test - -cd /path/to/go-ole/example/excel -go run excel.go -``` - -## Continuous Integration - -Continuous integration configuration has been added for both Travis-CI and AppVeyor. You will have to add these to your own account for your fork in order for it to run. - -**Travis-CI** - -Travis-CI was added to check builds on Linux to ensure that `go get` works when cross building. Currently, Travis-CI is not used to test cross-building, but this may be changed in the future. It is also not currently possible to test the library on Linux, since COM API is specific to Windows and it is not currently possible to run a COM server on Linux or even connect to a remote COM server. - -**AppVeyor** - -AppVeyor is used to build on Windows using the (in-development) test COM server. It is currently only used to test the build and ensure that the code works on Windows. It will be used to register a COM server and then run the test cases based on the test COM server. - -The tests currently do run and do pass and this should be maintained with commits. - -## Versioning - -Go OLE uses [semantic versioning](http://semver.org) for version numbers, which is similar to the version contract of the Go language. Which means that the major version will always maintain backwards compatibility with minor versions. Minor versions will only add new additions and changes. Fixes will always be in patch. - -This contract should allow you to upgrade to new minor and patch versions without breakage or modifications to your existing code. Leave a ticket, if there is breakage, so that it could be fixed. - -## LICENSE - -Under the MIT License: http://mattn.mit-license.org/2013 diff --git a/vendor/github.com/go-ole/go-ole/appveyor.yml b/vendor/github.com/go-ole/go-ole/appveyor.yml deleted file mode 100644 index 0d557ac2..00000000 --- a/vendor/github.com/go-ole/go-ole/appveyor.yml +++ /dev/null @@ -1,54 +0,0 @@ -# Notes: -# - Minimal appveyor.yml file is an empty file. All sections are optional. -# - Indent each level of configuration with 2 spaces. Do not use tabs! -# - All section names are case-sensitive. -# - Section names should be unique on each level. - -version: "1.3.0.{build}-alpha-{branch}" - -os: Windows Server 2012 R2 - -branches: - only: - - master - - v1.2 - - v1.1 - - v1.0 - -skip_tags: true - -clone_folder: c:\gopath\src\github.com\go-ole\go-ole - -environment: - GOPATH: c:\gopath - matrix: - - GOARCH: amd64 - GOVERSION: 1.5 - GOROOT: c:\go - DOWNLOADPLATFORM: "x64" - -install: - - choco install mingw - - SET PATH=c:\tools\mingw64\bin;%PATH% - # - Download COM Server - - ps: Start-FileDownload "https://github.com/go-ole/test-com-server/releases/download/v1.0.2/test-com-server-${env:DOWNLOADPLATFORM}.zip" - - 7z e test-com-server-%DOWNLOADPLATFORM%.zip -oc:\gopath\src\github.com\go-ole\go-ole > NUL - - c:\gopath\src\github.com\go-ole\go-ole\build\register-assembly.bat - # - set - - go version - - go env - - go get -u golang.org/x/tools/cmd/cover - - go get -u golang.org/x/tools/cmd/godoc - - go get -u golang.org/x/tools/cmd/stringer - -build_script: - - cd c:\gopath\src\github.com\go-ole\go-ole - - go get -v -t ./... - - go build - - go test -v -cover ./... - -# disable automatic tests -test: off - -# disable deployment -deploy: off diff --git a/vendor/github.com/go-ole/go-ole/com.go b/vendor/github.com/go-ole/go-ole/com.go deleted file mode 100644 index 6f986b18..00000000 --- a/vendor/github.com/go-ole/go-ole/com.go +++ /dev/null @@ -1,344 +0,0 @@ -// +build windows - -package ole - -import ( - "syscall" - "unicode/utf16" - "unsafe" -) - -var ( - procCoInitialize, _ = modole32.FindProc("CoInitialize") - procCoInitializeEx, _ = modole32.FindProc("CoInitializeEx") - procCoUninitialize, _ = modole32.FindProc("CoUninitialize") - procCoCreateInstance, _ = modole32.FindProc("CoCreateInstance") - procCoTaskMemFree, _ = modole32.FindProc("CoTaskMemFree") - procCLSIDFromProgID, _ = modole32.FindProc("CLSIDFromProgID") - procCLSIDFromString, _ = modole32.FindProc("CLSIDFromString") - procStringFromCLSID, _ = modole32.FindProc("StringFromCLSID") - procStringFromIID, _ = modole32.FindProc("StringFromIID") - procIIDFromString, _ = modole32.FindProc("IIDFromString") - procCoGetObject, _ = modole32.FindProc("CoGetObject") - procGetUserDefaultLCID, _ = modkernel32.FindProc("GetUserDefaultLCID") - procCopyMemory, _ = modkernel32.FindProc("RtlMoveMemory") - procVariantInit, _ = modoleaut32.FindProc("VariantInit") - procVariantClear, _ = modoleaut32.FindProc("VariantClear") - procVariantTimeToSystemTime, _ = modoleaut32.FindProc("VariantTimeToSystemTime") - procSysAllocString, _ = modoleaut32.FindProc("SysAllocString") - procSysAllocStringLen, _ = modoleaut32.FindProc("SysAllocStringLen") - procSysFreeString, _ = modoleaut32.FindProc("SysFreeString") - procSysStringLen, _ = modoleaut32.FindProc("SysStringLen") - procCreateDispTypeInfo, _ = modoleaut32.FindProc("CreateDispTypeInfo") - procCreateStdDispatch, _ = modoleaut32.FindProc("CreateStdDispatch") - procGetActiveObject, _ = modoleaut32.FindProc("GetActiveObject") - - procGetMessageW, _ = moduser32.FindProc("GetMessageW") - procDispatchMessageW, _ = moduser32.FindProc("DispatchMessageW") -) - -// coInitialize initializes COM library on current thread. -// -// MSDN documentation suggests that this function should not be called. Call -// CoInitializeEx() instead. The reason has to do with threading and this -// function is only for single-threaded apartments. -// -// That said, most users of the library have gotten away with just this -// function. If you are experiencing threading issues, then use -// CoInitializeEx(). -func coInitialize() (err error) { - // http://msdn.microsoft.com/en-us/library/windows/desktop/ms678543(v=vs.85).aspx - // Suggests that no value should be passed to CoInitialized. - // Could just be Call() since the parameter is optional. <-- Needs testing to be sure. - hr, _, _ := procCoInitialize.Call(uintptr(0)) - if hr != 0 { - err = NewError(hr) - } - return -} - -// coInitializeEx initializes COM library with concurrency model. -func coInitializeEx(coinit uint32) (err error) { - // http://msdn.microsoft.com/en-us/library/windows/desktop/ms695279(v=vs.85).aspx - // Suggests that the first parameter is not only optional but should always be NULL. - hr, _, _ := procCoInitializeEx.Call(uintptr(0), uintptr(coinit)) - if hr != 0 { - err = NewError(hr) - } - return -} - -// CoInitialize initializes COM library on current thread. -// -// MSDN documentation suggests that this function should not be called. Call -// CoInitializeEx() instead. The reason has to do with threading and this -// function is only for single-threaded apartments. -// -// That said, most users of the library have gotten away with just this -// function. If you are experiencing threading issues, then use -// CoInitializeEx(). -func CoInitialize(p uintptr) (err error) { - // p is ignored and won't be used. - // Avoid any variable not used errors. - p = uintptr(0) - return coInitialize() -} - -// CoInitializeEx initializes COM library with concurrency model. -func CoInitializeEx(p uintptr, coinit uint32) (err error) { - // Avoid any variable not used errors. - p = uintptr(0) - return coInitializeEx(coinit) -} - -// CoUninitialize uninitializes COM Library. -func CoUninitialize() { - procCoUninitialize.Call() -} - -// CoTaskMemFree frees memory pointer. -func CoTaskMemFree(memptr uintptr) { - procCoTaskMemFree.Call(memptr) -} - -// CLSIDFromProgID retrieves Class Identifier with the given Program Identifier. -// -// The Programmatic Identifier must be registered, because it will be looked up -// in the Windows Registry. The registry entry has the following keys: CLSID, -// Insertable, Protocol and Shell -// (https://msdn.microsoft.com/en-us/library/dd542719(v=vs.85).aspx). -// -// programID identifies the class id with less precision and is not guaranteed -// to be unique. These are usually found in the registry under -// HKEY_LOCAL_MACHINE\SOFTWARE\Classes, usually with the format of -// "Program.Component.Version" with version being optional. -// -// CLSIDFromProgID in Windows API. -func CLSIDFromProgID(progId string) (clsid *GUID, err error) { - var guid GUID - lpszProgID := uintptr(unsafe.Pointer(syscall.StringToUTF16Ptr(progId))) - hr, _, _ := procCLSIDFromProgID.Call(lpszProgID, uintptr(unsafe.Pointer(&guid))) - if hr != 0 { - err = NewError(hr) - } - clsid = &guid - return -} - -// CLSIDFromString retrieves Class ID from string representation. -// -// This is technically the string version of the GUID and will convert the -// string to object. -// -// CLSIDFromString in Windows API. -func CLSIDFromString(str string) (clsid *GUID, err error) { - var guid GUID - lpsz := uintptr(unsafe.Pointer(syscall.StringToUTF16Ptr(str))) - hr, _, _ := procCLSIDFromString.Call(lpsz, uintptr(unsafe.Pointer(&guid))) - if hr != 0 { - err = NewError(hr) - } - clsid = &guid - return -} - -// StringFromCLSID returns GUID formated string from GUID object. -func StringFromCLSID(clsid *GUID) (str string, err error) { - var p *uint16 - hr, _, _ := procStringFromCLSID.Call(uintptr(unsafe.Pointer(clsid)), uintptr(unsafe.Pointer(&p))) - if hr != 0 { - err = NewError(hr) - } - str = LpOleStrToString(p) - return -} - -// IIDFromString returns GUID from program ID. -func IIDFromString(progId string) (clsid *GUID, err error) { - var guid GUID - lpsz := uintptr(unsafe.Pointer(syscall.StringToUTF16Ptr(progId))) - hr, _, _ := procIIDFromString.Call(lpsz, uintptr(unsafe.Pointer(&guid))) - if hr != 0 { - err = NewError(hr) - } - clsid = &guid - return -} - -// StringFromIID returns GUID formatted string from GUID object. -func StringFromIID(iid *GUID) (str string, err error) { - var p *uint16 - hr, _, _ := procStringFromIID.Call(uintptr(unsafe.Pointer(iid)), uintptr(unsafe.Pointer(&p))) - if hr != 0 { - err = NewError(hr) - } - str = LpOleStrToString(p) - return -} - -// CreateInstance of single uninitialized object with GUID. -func CreateInstance(clsid *GUID, iid *GUID) (unk *IUnknown, err error) { - if iid == nil { - iid = IID_IUnknown - } - hr, _, _ := procCoCreateInstance.Call( - uintptr(unsafe.Pointer(clsid)), - 0, - CLSCTX_SERVER, - uintptr(unsafe.Pointer(iid)), - uintptr(unsafe.Pointer(&unk))) - if hr != 0 { - err = NewError(hr) - } - return -} - -// GetActiveObject retrieves pointer to active object. -func GetActiveObject(clsid *GUID, iid *GUID) (unk *IUnknown, err error) { - if iid == nil { - iid = IID_IUnknown - } - hr, _, _ := procGetActiveObject.Call( - uintptr(unsafe.Pointer(clsid)), - uintptr(unsafe.Pointer(iid)), - uintptr(unsafe.Pointer(&unk))) - if hr != 0 { - err = NewError(hr) - } - return -} - -type BindOpts struct { - CbStruct uint32 - GrfFlags uint32 - GrfMode uint32 - TickCountDeadline uint32 -} - -// GetObject retrieves pointer to active object. -func GetObject(programID string, bindOpts *BindOpts, iid *GUID) (unk *IUnknown, err error) { - if bindOpts != nil { - bindOpts.CbStruct = uint32(unsafe.Sizeof(BindOpts{})) - } - if iid == nil { - iid = IID_IUnknown - } - hr, _, _ := procCoGetObject.Call( - uintptr(unsafe.Pointer(syscall.StringToUTF16Ptr(programID))), - uintptr(unsafe.Pointer(bindOpts)), - uintptr(unsafe.Pointer(iid)), - uintptr(unsafe.Pointer(&unk))) - if hr != 0 { - err = NewError(hr) - } - return -} - -// VariantInit initializes variant. -func VariantInit(v *VARIANT) (err error) { - hr, _, _ := procVariantInit.Call(uintptr(unsafe.Pointer(v))) - if hr != 0 { - err = NewError(hr) - } - return -} - -// VariantClear clears value in Variant settings to VT_EMPTY. -func VariantClear(v *VARIANT) (err error) { - hr, _, _ := procVariantClear.Call(uintptr(unsafe.Pointer(v))) - if hr != 0 { - err = NewError(hr) - } - return -} - -// SysAllocString allocates memory for string and copies string into memory. -func SysAllocString(v string) (ss *int16) { - pss, _, _ := procSysAllocString.Call(uintptr(unsafe.Pointer(syscall.StringToUTF16Ptr(v)))) - ss = (*int16)(unsafe.Pointer(pss)) - return -} - -// SysAllocStringLen copies up to length of given string returning pointer. -func SysAllocStringLen(v string) (ss *int16) { - utf16 := utf16.Encode([]rune(v + "\x00")) - ptr := &utf16[0] - - pss, _, _ := procSysAllocStringLen.Call(uintptr(unsafe.Pointer(ptr)), uintptr(len(utf16)-1)) - ss = (*int16)(unsafe.Pointer(pss)) - return -} - -// SysFreeString frees string system memory. This must be called with SysAllocString. -func SysFreeString(v *int16) (err error) { - hr, _, _ := procSysFreeString.Call(uintptr(unsafe.Pointer(v))) - if hr != 0 { - err = NewError(hr) - } - return -} - -// SysStringLen is the length of the system allocated string. -func SysStringLen(v *int16) uint32 { - l, _, _ := procSysStringLen.Call(uintptr(unsafe.Pointer(v))) - return uint32(l) -} - -// CreateStdDispatch provides default IDispatch implementation for IUnknown. -// -// This handles default IDispatch implementation for objects. It haves a few -// limitations with only supporting one language. It will also only return -// default exception codes. -func CreateStdDispatch(unk *IUnknown, v uintptr, ptinfo *IUnknown) (disp *IDispatch, err error) { - hr, _, _ := procCreateStdDispatch.Call( - uintptr(unsafe.Pointer(unk)), - v, - uintptr(unsafe.Pointer(ptinfo)), - uintptr(unsafe.Pointer(&disp))) - if hr != 0 { - err = NewError(hr) - } - return -} - -// CreateDispTypeInfo provides default ITypeInfo implementation for IDispatch. -// -// This will not handle the full implementation of the interface. -func CreateDispTypeInfo(idata *INTERFACEDATA) (pptinfo *IUnknown, err error) { - hr, _, _ := procCreateDispTypeInfo.Call( - uintptr(unsafe.Pointer(idata)), - uintptr(GetUserDefaultLCID()), - uintptr(unsafe.Pointer(&pptinfo))) - if hr != 0 { - err = NewError(hr) - } - return -} - -// copyMemory moves location of a block of memory. -func copyMemory(dest unsafe.Pointer, src unsafe.Pointer, length uint32) { - procCopyMemory.Call(uintptr(dest), uintptr(src), uintptr(length)) -} - -// GetUserDefaultLCID retrieves current user default locale. -func GetUserDefaultLCID() (lcid uint32) { - ret, _, _ := procGetUserDefaultLCID.Call() - lcid = uint32(ret) - return -} - -// GetMessage in message queue from runtime. -// -// This function appears to block. PeekMessage does not block. -func GetMessage(msg *Msg, hwnd uint32, MsgFilterMin uint32, MsgFilterMax uint32) (ret int32, err error) { - r0, _, err := procGetMessageW.Call(uintptr(unsafe.Pointer(msg)), uintptr(hwnd), uintptr(MsgFilterMin), uintptr(MsgFilterMax)) - ret = int32(r0) - return -} - -// DispatchMessage to window procedure. -func DispatchMessage(msg *Msg) (ret int32) { - r0, _, _ := procDispatchMessageW.Call(uintptr(unsafe.Pointer(msg))) - ret = int32(r0) - return -} diff --git a/vendor/github.com/go-ole/go-ole/com_func.go b/vendor/github.com/go-ole/go-ole/com_func.go deleted file mode 100644 index cef539d9..00000000 --- a/vendor/github.com/go-ole/go-ole/com_func.go +++ /dev/null @@ -1,174 +0,0 @@ -// +build !windows - -package ole - -import ( - "time" - "unsafe" -) - -// coInitialize initializes COM library on current thread. -// -// MSDN documentation suggests that this function should not be called. Call -// CoInitializeEx() instead. The reason has to do with threading and this -// function is only for single-threaded apartments. -// -// That said, most users of the library have gotten away with just this -// function. If you are experiencing threading issues, then use -// CoInitializeEx(). -func coInitialize() error { - return NewError(E_NOTIMPL) -} - -// coInitializeEx initializes COM library with concurrency model. -func coInitializeEx(coinit uint32) error { - return NewError(E_NOTIMPL) -} - -// CoInitialize initializes COM library on current thread. -// -// MSDN documentation suggests that this function should not be called. Call -// CoInitializeEx() instead. The reason has to do with threading and this -// function is only for single-threaded apartments. -// -// That said, most users of the library have gotten away with just this -// function. If you are experiencing threading issues, then use -// CoInitializeEx(). -func CoInitialize(p uintptr) error { - return NewError(E_NOTIMPL) -} - -// CoInitializeEx initializes COM library with concurrency model. -func CoInitializeEx(p uintptr, coinit uint32) error { - return NewError(E_NOTIMPL) -} - -// CoUninitialize uninitializes COM Library. -func CoUninitialize() {} - -// CoTaskMemFree frees memory pointer. -func CoTaskMemFree(memptr uintptr) {} - -// CLSIDFromProgID retrieves Class Identifier with the given Program Identifier. -// -// The Programmatic Identifier must be registered, because it will be looked up -// in the Windows Registry. The registry entry has the following keys: CLSID, -// Insertable, Protocol and Shell -// (https://msdn.microsoft.com/en-us/library/dd542719(v=vs.85).aspx). -// -// programID identifies the class id with less precision and is not guaranteed -// to be unique. These are usually found in the registry under -// HKEY_LOCAL_MACHINE\SOFTWARE\Classes, usually with the format of -// "Program.Component.Version" with version being optional. -// -// CLSIDFromProgID in Windows API. -func CLSIDFromProgID(progId string) (*GUID, error) { - return nil, NewError(E_NOTIMPL) -} - -// CLSIDFromString retrieves Class ID from string representation. -// -// This is technically the string version of the GUID and will convert the -// string to object. -// -// CLSIDFromString in Windows API. -func CLSIDFromString(str string) (*GUID, error) { - return nil, NewError(E_NOTIMPL) -} - -// StringFromCLSID returns GUID formated string from GUID object. -func StringFromCLSID(clsid *GUID) (string, error) { - return "", NewError(E_NOTIMPL) -} - -// IIDFromString returns GUID from program ID. -func IIDFromString(progId string) (*GUID, error) { - return nil, NewError(E_NOTIMPL) -} - -// StringFromIID returns GUID formatted string from GUID object. -func StringFromIID(iid *GUID) (string, error) { - return "", NewError(E_NOTIMPL) -} - -// CreateInstance of single uninitialized object with GUID. -func CreateInstance(clsid *GUID, iid *GUID) (*IUnknown, error) { - return nil, NewError(E_NOTIMPL) -} - -// GetActiveObject retrieves pointer to active object. -func GetActiveObject(clsid *GUID, iid *GUID) (*IUnknown, error) { - return nil, NewError(E_NOTIMPL) -} - -// VariantInit initializes variant. -func VariantInit(v *VARIANT) error { - return NewError(E_NOTIMPL) -} - -// VariantClear clears value in Variant settings to VT_EMPTY. -func VariantClear(v *VARIANT) error { - return NewError(E_NOTIMPL) -} - -// SysAllocString allocates memory for string and copies string into memory. -func SysAllocString(v string) *int16 { - u := int16(0) - return &u -} - -// SysAllocStringLen copies up to length of given string returning pointer. -func SysAllocStringLen(v string) *int16 { - u := int16(0) - return &u -} - -// SysFreeString frees string system memory. This must be called with SysAllocString. -func SysFreeString(v *int16) error { - return NewError(E_NOTIMPL) -} - -// SysStringLen is the length of the system allocated string. -func SysStringLen(v *int16) uint32 { - return uint32(0) -} - -// CreateStdDispatch provides default IDispatch implementation for IUnknown. -// -// This handles default IDispatch implementation for objects. It haves a few -// limitations with only supporting one language. It will also only return -// default exception codes. -func CreateStdDispatch(unk *IUnknown, v uintptr, ptinfo *IUnknown) (*IDispatch, error) { - return nil, NewError(E_NOTIMPL) -} - -// CreateDispTypeInfo provides default ITypeInfo implementation for IDispatch. -// -// This will not handle the full implementation of the interface. -func CreateDispTypeInfo(idata *INTERFACEDATA) (*IUnknown, error) { - return nil, NewError(E_NOTIMPL) -} - -// copyMemory moves location of a block of memory. -func copyMemory(dest unsafe.Pointer, src unsafe.Pointer, length uint32) {} - -// GetUserDefaultLCID retrieves current user default locale. -func GetUserDefaultLCID() uint32 { - return uint32(0) -} - -// GetMessage in message queue from runtime. -// -// This function appears to block. PeekMessage does not block. -func GetMessage(msg *Msg, hwnd uint32, MsgFilterMin uint32, MsgFilterMax uint32) (int32, error) { - return int32(0), NewError(E_NOTIMPL) -} - -// DispatchMessage to window procedure. -func DispatchMessage(msg *Msg) int32 { - return int32(0) -} - -func GetVariantDate(value uint64) (time.Time, error) { - return time.Now(), NewError(E_NOTIMPL) -} diff --git a/vendor/github.com/go-ole/go-ole/connect.go b/vendor/github.com/go-ole/go-ole/connect.go deleted file mode 100644 index b2ac2ec6..00000000 --- a/vendor/github.com/go-ole/go-ole/connect.go +++ /dev/null @@ -1,192 +0,0 @@ -package ole - -// Connection contains IUnknown for fluent interface interaction. -// -// Deprecated. Use oleutil package instead. -type Connection struct { - Object *IUnknown // Access COM -} - -// Initialize COM. -func (*Connection) Initialize() (err error) { - return coInitialize() -} - -// Uninitialize COM. -func (*Connection) Uninitialize() { - CoUninitialize() -} - -// Create IUnknown object based first on ProgId and then from String. -func (c *Connection) Create(progId string) (err error) { - var clsid *GUID - clsid, err = CLSIDFromProgID(progId) - if err != nil { - clsid, err = CLSIDFromString(progId) - if err != nil { - return - } - } - - unknown, err := CreateInstance(clsid, IID_IUnknown) - if err != nil { - return - } - c.Object = unknown - - return -} - -// Release IUnknown object. -func (c *Connection) Release() { - c.Object.Release() -} - -// Load COM object from list of programIDs or strings. -func (c *Connection) Load(names ...string) (errors []error) { - var tempErrors []error = make([]error, len(names)) - var numErrors int = 0 - for _, name := range names { - err := c.Create(name) - if err != nil { - tempErrors = append(tempErrors, err) - numErrors += 1 - continue - } - break - } - - copy(errors, tempErrors[0:numErrors]) - return -} - -// Dispatch returns Dispatch object. -func (c *Connection) Dispatch() (object *Dispatch, err error) { - dispatch, err := c.Object.QueryInterface(IID_IDispatch) - if err != nil { - return - } - object = &Dispatch{dispatch} - return -} - -// Dispatch stores IDispatch object. -type Dispatch struct { - Object *IDispatch // Dispatch object. -} - -// Call method on IDispatch with parameters. -func (d *Dispatch) Call(method string, params ...interface{}) (result *VARIANT, err error) { - id, err := d.GetId(method) - if err != nil { - return - } - - result, err = d.Invoke(id, DISPATCH_METHOD, params) - return -} - -// MustCall method on IDispatch with parameters. -func (d *Dispatch) MustCall(method string, params ...interface{}) (result *VARIANT) { - id, err := d.GetId(method) - if err != nil { - panic(err) - } - - result, err = d.Invoke(id, DISPATCH_METHOD, params) - if err != nil { - panic(err) - } - - return -} - -// Get property on IDispatch with parameters. -func (d *Dispatch) Get(name string, params ...interface{}) (result *VARIANT, err error) { - id, err := d.GetId(name) - if err != nil { - return - } - result, err = d.Invoke(id, DISPATCH_PROPERTYGET, params) - return -} - -// MustGet property on IDispatch with parameters. -func (d *Dispatch) MustGet(name string, params ...interface{}) (result *VARIANT) { - id, err := d.GetId(name) - if err != nil { - panic(err) - } - - result, err = d.Invoke(id, DISPATCH_PROPERTYGET, params) - if err != nil { - panic(err) - } - return -} - -// Set property on IDispatch with parameters. -func (d *Dispatch) Set(name string, params ...interface{}) (result *VARIANT, err error) { - id, err := d.GetId(name) - if err != nil { - return - } - result, err = d.Invoke(id, DISPATCH_PROPERTYPUT, params) - return -} - -// MustSet property on IDispatch with parameters. -func (d *Dispatch) MustSet(name string, params ...interface{}) (result *VARIANT) { - id, err := d.GetId(name) - if err != nil { - panic(err) - } - - result, err = d.Invoke(id, DISPATCH_PROPERTYPUT, params) - if err != nil { - panic(err) - } - return -} - -// GetId retrieves ID of name on IDispatch. -func (d *Dispatch) GetId(name string) (id int32, err error) { - var dispid []int32 - dispid, err = d.Object.GetIDsOfName([]string{name}) - if err != nil { - return - } - id = dispid[0] - return -} - -// GetIds retrieves all IDs of names on IDispatch. -func (d *Dispatch) GetIds(names ...string) (dispid []int32, err error) { - dispid, err = d.Object.GetIDsOfName(names) - return -} - -// Invoke IDispatch on DisplayID of dispatch type with parameters. -// -// There have been problems where if send cascading params..., it would error -// out because the parameters would be empty. -func (d *Dispatch) Invoke(id int32, dispatch int16, params []interface{}) (result *VARIANT, err error) { - if len(params) < 1 { - result, err = d.Object.Invoke(id, dispatch) - } else { - result, err = d.Object.Invoke(id, dispatch, params...) - } - return -} - -// Release IDispatch object. -func (d *Dispatch) Release() { - d.Object.Release() -} - -// Connect initializes COM and attempts to load IUnknown based on given names. -func Connect(names ...string) (connection *Connection) { - connection.Initialize() - connection.Load(names...) - return -} diff --git a/vendor/github.com/go-ole/go-ole/constants.go b/vendor/github.com/go-ole/go-ole/constants.go deleted file mode 100644 index fd0c6d74..00000000 --- a/vendor/github.com/go-ole/go-ole/constants.go +++ /dev/null @@ -1,153 +0,0 @@ -package ole - -const ( - CLSCTX_INPROC_SERVER = 1 - CLSCTX_INPROC_HANDLER = 2 - CLSCTX_LOCAL_SERVER = 4 - CLSCTX_INPROC_SERVER16 = 8 - CLSCTX_REMOTE_SERVER = 16 - CLSCTX_ALL = CLSCTX_INPROC_SERVER | CLSCTX_INPROC_HANDLER | CLSCTX_LOCAL_SERVER - CLSCTX_INPROC = CLSCTX_INPROC_SERVER | CLSCTX_INPROC_HANDLER - CLSCTX_SERVER = CLSCTX_INPROC_SERVER | CLSCTX_LOCAL_SERVER | CLSCTX_REMOTE_SERVER -) - -const ( - COINIT_APARTMENTTHREADED = 0x2 - COINIT_MULTITHREADED = 0x0 - COINIT_DISABLE_OLE1DDE = 0x4 - COINIT_SPEED_OVER_MEMORY = 0x8 -) - -const ( - DISPATCH_METHOD = 1 - DISPATCH_PROPERTYGET = 2 - DISPATCH_PROPERTYPUT = 4 - DISPATCH_PROPERTYPUTREF = 8 -) - -const ( - S_OK = 0x00000000 - E_UNEXPECTED = 0x8000FFFF - E_NOTIMPL = 0x80004001 - E_OUTOFMEMORY = 0x8007000E - E_INVALIDARG = 0x80070057 - E_NOINTERFACE = 0x80004002 - E_POINTER = 0x80004003 - E_HANDLE = 0x80070006 - E_ABORT = 0x80004004 - E_FAIL = 0x80004005 - E_ACCESSDENIED = 0x80070005 - E_PENDING = 0x8000000A - - CO_E_CLASSSTRING = 0x800401F3 -) - -const ( - CC_FASTCALL = iota - CC_CDECL - CC_MSCPASCAL - CC_PASCAL = CC_MSCPASCAL - CC_MACPASCAL - CC_STDCALL - CC_FPFASTCALL - CC_SYSCALL - CC_MPWCDECL - CC_MPWPASCAL - CC_MAX = CC_MPWPASCAL -) - -type VT uint16 - -const ( - VT_EMPTY VT = 0x0 - VT_NULL VT = 0x1 - VT_I2 VT = 0x2 - VT_I4 VT = 0x3 - VT_R4 VT = 0x4 - VT_R8 VT = 0x5 - VT_CY VT = 0x6 - VT_DATE VT = 0x7 - VT_BSTR VT = 0x8 - VT_DISPATCH VT = 0x9 - VT_ERROR VT = 0xa - VT_BOOL VT = 0xb - VT_VARIANT VT = 0xc - VT_UNKNOWN VT = 0xd - VT_DECIMAL VT = 0xe - VT_I1 VT = 0x10 - VT_UI1 VT = 0x11 - VT_UI2 VT = 0x12 - VT_UI4 VT = 0x13 - VT_I8 VT = 0x14 - VT_UI8 VT = 0x15 - VT_INT VT = 0x16 - VT_UINT VT = 0x17 - VT_VOID VT = 0x18 - VT_HRESULT VT = 0x19 - VT_PTR VT = 0x1a - VT_SAFEARRAY VT = 0x1b - VT_CARRAY VT = 0x1c - VT_USERDEFINED VT = 0x1d - VT_LPSTR VT = 0x1e - VT_LPWSTR VT = 0x1f - VT_RECORD VT = 0x24 - VT_INT_PTR VT = 0x25 - VT_UINT_PTR VT = 0x26 - VT_FILETIME VT = 0x40 - VT_BLOB VT = 0x41 - VT_STREAM VT = 0x42 - VT_STORAGE VT = 0x43 - VT_STREAMED_OBJECT VT = 0x44 - VT_STORED_OBJECT VT = 0x45 - VT_BLOB_OBJECT VT = 0x46 - VT_CF VT = 0x47 - VT_CLSID VT = 0x48 - VT_BSTR_BLOB VT = 0xfff - VT_VECTOR VT = 0x1000 - VT_ARRAY VT = 0x2000 - VT_BYREF VT = 0x4000 - VT_RESERVED VT = 0x8000 - VT_ILLEGAL VT = 0xffff - VT_ILLEGALMASKED VT = 0xfff - VT_TYPEMASK VT = 0xfff -) - -const ( - DISPID_UNKNOWN = -1 - DISPID_VALUE = 0 - DISPID_PROPERTYPUT = -3 - DISPID_NEWENUM = -4 - DISPID_EVALUATE = -5 - DISPID_CONSTRUCTOR = -6 - DISPID_DESTRUCTOR = -7 - DISPID_COLLECT = -8 -) - -const ( - TKIND_ENUM = 1 - TKIND_RECORD = 2 - TKIND_MODULE = 3 - TKIND_INTERFACE = 4 - TKIND_DISPATCH = 5 - TKIND_COCLASS = 6 - TKIND_ALIAS = 7 - TKIND_UNION = 8 - TKIND_MAX = 9 -) - -// Safe Array Feature Flags - -const ( - FADF_AUTO = 0x0001 - FADF_STATIC = 0x0002 - FADF_EMBEDDED = 0x0004 - FADF_FIXEDSIZE = 0x0010 - FADF_RECORD = 0x0020 - FADF_HAVEIID = 0x0040 - FADF_HAVEVARTYPE = 0x0080 - FADF_BSTR = 0x0100 - FADF_UNKNOWN = 0x0200 - FADF_DISPATCH = 0x0400 - FADF_VARIANT = 0x0800 - FADF_RESERVED = 0xF008 -) diff --git a/vendor/github.com/go-ole/go-ole/error.go b/vendor/github.com/go-ole/go-ole/error.go deleted file mode 100644 index 096b456d..00000000 --- a/vendor/github.com/go-ole/go-ole/error.go +++ /dev/null @@ -1,51 +0,0 @@ -package ole - -// OleError stores COM errors. -type OleError struct { - hr uintptr - description string - subError error -} - -// NewError creates new error with HResult. -func NewError(hr uintptr) *OleError { - return &OleError{hr: hr} -} - -// NewErrorWithDescription creates new COM error with HResult and description. -func NewErrorWithDescription(hr uintptr, description string) *OleError { - return &OleError{hr: hr, description: description} -} - -// NewErrorWithSubError creates new COM error with parent error. -func NewErrorWithSubError(hr uintptr, description string, err error) *OleError { - return &OleError{hr: hr, description: description, subError: err} -} - -// Code is the HResult. -func (v *OleError) Code() uintptr { - return uintptr(v.hr) -} - -// String description, either manually set or format message with error code. -func (v *OleError) String() string { - if v.description != "" { - return errstr(int(v.hr)) + " (" + v.description + ")" - } - return errstr(int(v.hr)) -} - -// Error implements error interface. -func (v *OleError) Error() string { - return v.String() -} - -// Description retrieves error summary, if there is one. -func (v *OleError) Description() string { - return v.description -} - -// SubError returns parent error, if there is one. -func (v *OleError) SubError() error { - return v.subError -} diff --git a/vendor/github.com/go-ole/go-ole/error_func.go b/vendor/github.com/go-ole/go-ole/error_func.go deleted file mode 100644 index 8a2ffaa2..00000000 --- a/vendor/github.com/go-ole/go-ole/error_func.go +++ /dev/null @@ -1,8 +0,0 @@ -// +build !windows - -package ole - -// errstr converts error code to string. -func errstr(errno int) string { - return "" -} diff --git a/vendor/github.com/go-ole/go-ole/error_windows.go b/vendor/github.com/go-ole/go-ole/error_windows.go deleted file mode 100644 index d0e8e685..00000000 --- a/vendor/github.com/go-ole/go-ole/error_windows.go +++ /dev/null @@ -1,24 +0,0 @@ -// +build windows - -package ole - -import ( - "fmt" - "syscall" - "unicode/utf16" -) - -// errstr converts error code to string. -func errstr(errno int) string { - // ask windows for the remaining errors - var flags uint32 = syscall.FORMAT_MESSAGE_FROM_SYSTEM | syscall.FORMAT_MESSAGE_ARGUMENT_ARRAY | syscall.FORMAT_MESSAGE_IGNORE_INSERTS - b := make([]uint16, 300) - n, err := syscall.FormatMessage(flags, 0, uint32(errno), 0, b, nil) - if err != nil { - return fmt.Sprintf("error %d (FormatMessage failed with: %v)", errno, err) - } - // trim terminating \r and \n - for ; n > 0 && (b[n-1] == '\n' || b[n-1] == '\r'); n-- { - } - return string(utf16.Decode(b[:n])) -} diff --git a/vendor/github.com/go-ole/go-ole/guid.go b/vendor/github.com/go-ole/go-ole/guid.go deleted file mode 100644 index 8d20f68f..00000000 --- a/vendor/github.com/go-ole/go-ole/guid.go +++ /dev/null @@ -1,284 +0,0 @@ -package ole - -var ( - // IID_NULL is null Interface ID, used when no other Interface ID is known. - IID_NULL = NewGUID("{00000000-0000-0000-0000-000000000000}") - - // IID_IUnknown is for IUnknown interfaces. - IID_IUnknown = NewGUID("{00000000-0000-0000-C000-000000000046}") - - // IID_IDispatch is for IDispatch interfaces. - IID_IDispatch = NewGUID("{00020400-0000-0000-C000-000000000046}") - - // IID_IEnumVariant is for IEnumVariant interfaces - IID_IEnumVariant = NewGUID("{00020404-0000-0000-C000-000000000046}") - - // IID_IConnectionPointContainer is for IConnectionPointContainer interfaces. - IID_IConnectionPointContainer = NewGUID("{B196B284-BAB4-101A-B69C-00AA00341D07}") - - // IID_IConnectionPoint is for IConnectionPoint interfaces. - IID_IConnectionPoint = NewGUID("{B196B286-BAB4-101A-B69C-00AA00341D07}") - - // IID_IInspectable is for IInspectable interfaces. - IID_IInspectable = NewGUID("{AF86E2E0-B12D-4C6A-9C5A-D7AA65101E90}") - - // IID_IProvideClassInfo is for IProvideClassInfo interfaces. - IID_IProvideClassInfo = NewGUID("{B196B283-BAB4-101A-B69C-00AA00341D07}") -) - -// These are for testing and not part of any library. -var ( - // IID_ICOMTestString is for ICOMTestString interfaces. - // - // {E0133EB4-C36F-469A-9D3D-C66B84BE19ED} - IID_ICOMTestString = NewGUID("{E0133EB4-C36F-469A-9D3D-C66B84BE19ED}") - - // IID_ICOMTestInt8 is for ICOMTestInt8 interfaces. - // - // {BEB06610-EB84-4155-AF58-E2BFF53680B4} - IID_ICOMTestInt8 = NewGUID("{BEB06610-EB84-4155-AF58-E2BFF53680B4}") - - // IID_ICOMTestInt16 is for ICOMTestInt16 interfaces. - // - // {DAA3F9FA-761E-4976-A860-8364CE55F6FC} - IID_ICOMTestInt16 = NewGUID("{DAA3F9FA-761E-4976-A860-8364CE55F6FC}") - - // IID_ICOMTestInt32 is for ICOMTestInt32 interfaces. - // - // {E3DEDEE7-38A2-4540-91D1-2EEF1D8891B0} - IID_ICOMTestInt32 = NewGUID("{E3DEDEE7-38A2-4540-91D1-2EEF1D8891B0}") - - // IID_ICOMTestInt64 is for ICOMTestInt64 interfaces. - // - // {8D437CBC-B3ED-485C-BC32-C336432A1623} - IID_ICOMTestInt64 = NewGUID("{8D437CBC-B3ED-485C-BC32-C336432A1623}") - - // IID_ICOMTestFloat is for ICOMTestFloat interfaces. - // - // {BF1ED004-EA02-456A-AA55-2AC8AC6B054C} - IID_ICOMTestFloat = NewGUID("{BF1ED004-EA02-456A-AA55-2AC8AC6B054C}") - - // IID_ICOMTestDouble is for ICOMTestDouble interfaces. - // - // {BF908A81-8687-4E93-999F-D86FAB284BA0} - IID_ICOMTestDouble = NewGUID("{BF908A81-8687-4E93-999F-D86FAB284BA0}") - - // IID_ICOMTestBoolean is for ICOMTestBoolean interfaces. - // - // {D530E7A6-4EE8-40D1-8931-3D63B8605010} - IID_ICOMTestBoolean = NewGUID("{D530E7A6-4EE8-40D1-8931-3D63B8605010}") - - // IID_ICOMEchoTestObject is for ICOMEchoTestObject interfaces. - // - // {6485B1EF-D780-4834-A4FE-1EBB51746CA3} - IID_ICOMEchoTestObject = NewGUID("{6485B1EF-D780-4834-A4FE-1EBB51746CA3}") - - // IID_ICOMTestTypes is for ICOMTestTypes interfaces. - // - // {CCA8D7AE-91C0-4277-A8B3-FF4EDF28D3C0} - IID_ICOMTestTypes = NewGUID("{CCA8D7AE-91C0-4277-A8B3-FF4EDF28D3C0}") - - // CLSID_COMEchoTestObject is for COMEchoTestObject class. - // - // {3C24506A-AE9E-4D50-9157-EF317281F1B0} - CLSID_COMEchoTestObject = NewGUID("{3C24506A-AE9E-4D50-9157-EF317281F1B0}") - - // CLSID_COMTestScalarClass is for COMTestScalarClass class. - // - // {865B85C5-0334-4AC6-9EF6-AACEC8FC5E86} - CLSID_COMTestScalarClass = NewGUID("{865B85C5-0334-4AC6-9EF6-AACEC8FC5E86}") -) - -const hextable = "0123456789ABCDEF" -const emptyGUID = "{00000000-0000-0000-0000-000000000000}" - -// GUID is Windows API specific GUID type. -// -// This exists to match Windows GUID type for direct passing for COM. -// Format is in xxxxxxxx-xxxx-xxxx-xxxxxxxxxxxxxxxx. -type GUID struct { - Data1 uint32 - Data2 uint16 - Data3 uint16 - Data4 [8]byte -} - -// NewGUID converts the given string into a globally unique identifier that is -// compliant with the Windows API. -// -// The supplied string may be in any of these formats: -// -// XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX -// XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX -// {XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX} -// -// The conversion of the supplied string is not case-sensitive. -func NewGUID(guid string) *GUID { - d := []byte(guid) - var d1, d2, d3, d4a, d4b []byte - - switch len(d) { - case 38: - if d[0] != '{' || d[37] != '}' { - return nil - } - d = d[1:37] - fallthrough - case 36: - if d[8] != '-' || d[13] != '-' || d[18] != '-' || d[23] != '-' { - return nil - } - d1 = d[0:8] - d2 = d[9:13] - d3 = d[14:18] - d4a = d[19:23] - d4b = d[24:36] - case 32: - d1 = d[0:8] - d2 = d[8:12] - d3 = d[12:16] - d4a = d[16:20] - d4b = d[20:32] - default: - return nil - } - - var g GUID - var ok1, ok2, ok3, ok4 bool - g.Data1, ok1 = decodeHexUint32(d1) - g.Data2, ok2 = decodeHexUint16(d2) - g.Data3, ok3 = decodeHexUint16(d3) - g.Data4, ok4 = decodeHexByte64(d4a, d4b) - if ok1 && ok2 && ok3 && ok4 { - return &g - } - return nil -} - -func decodeHexUint32(src []byte) (value uint32, ok bool) { - var b1, b2, b3, b4 byte - var ok1, ok2, ok3, ok4 bool - b1, ok1 = decodeHexByte(src[0], src[1]) - b2, ok2 = decodeHexByte(src[2], src[3]) - b3, ok3 = decodeHexByte(src[4], src[5]) - b4, ok4 = decodeHexByte(src[6], src[7]) - value = (uint32(b1) << 24) | (uint32(b2) << 16) | (uint32(b3) << 8) | uint32(b4) - ok = ok1 && ok2 && ok3 && ok4 - return -} - -func decodeHexUint16(src []byte) (value uint16, ok bool) { - var b1, b2 byte - var ok1, ok2 bool - b1, ok1 = decodeHexByte(src[0], src[1]) - b2, ok2 = decodeHexByte(src[2], src[3]) - value = (uint16(b1) << 8) | uint16(b2) - ok = ok1 && ok2 - return -} - -func decodeHexByte64(s1 []byte, s2 []byte) (value [8]byte, ok bool) { - var ok1, ok2, ok3, ok4, ok5, ok6, ok7, ok8 bool - value[0], ok1 = decodeHexByte(s1[0], s1[1]) - value[1], ok2 = decodeHexByte(s1[2], s1[3]) - value[2], ok3 = decodeHexByte(s2[0], s2[1]) - value[3], ok4 = decodeHexByte(s2[2], s2[3]) - value[4], ok5 = decodeHexByte(s2[4], s2[5]) - value[5], ok6 = decodeHexByte(s2[6], s2[7]) - value[6], ok7 = decodeHexByte(s2[8], s2[9]) - value[7], ok8 = decodeHexByte(s2[10], s2[11]) - ok = ok1 && ok2 && ok3 && ok4 && ok5 && ok6 && ok7 && ok8 - return -} - -func decodeHexByte(c1, c2 byte) (value byte, ok bool) { - var n1, n2 byte - var ok1, ok2 bool - n1, ok1 = decodeHexChar(c1) - n2, ok2 = decodeHexChar(c2) - value = (n1 << 4) | n2 - ok = ok1 && ok2 - return -} - -func decodeHexChar(c byte) (byte, bool) { - switch { - case '0' <= c && c <= '9': - return c - '0', true - case 'a' <= c && c <= 'f': - return c - 'a' + 10, true - case 'A' <= c && c <= 'F': - return c - 'A' + 10, true - } - - return 0, false -} - -// String converts the GUID to string form. It will adhere to this pattern: -// -// {XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX} -// -// If the GUID is nil, the string representation of an empty GUID is returned: -// -// {00000000-0000-0000-0000-000000000000} -func (guid *GUID) String() string { - if guid == nil { - return emptyGUID - } - - var c [38]byte - c[0] = '{' - putUint32Hex(c[1:9], guid.Data1) - c[9] = '-' - putUint16Hex(c[10:14], guid.Data2) - c[14] = '-' - putUint16Hex(c[15:19], guid.Data3) - c[19] = '-' - putByteHex(c[20:24], guid.Data4[0:2]) - c[24] = '-' - putByteHex(c[25:37], guid.Data4[2:8]) - c[37] = '}' - return string(c[:]) -} - -func putUint32Hex(b []byte, v uint32) { - b[0] = hextable[byte(v>>24)>>4] - b[1] = hextable[byte(v>>24)&0x0f] - b[2] = hextable[byte(v>>16)>>4] - b[3] = hextable[byte(v>>16)&0x0f] - b[4] = hextable[byte(v>>8)>>4] - b[5] = hextable[byte(v>>8)&0x0f] - b[6] = hextable[byte(v)>>4] - b[7] = hextable[byte(v)&0x0f] -} - -func putUint16Hex(b []byte, v uint16) { - b[0] = hextable[byte(v>>8)>>4] - b[1] = hextable[byte(v>>8)&0x0f] - b[2] = hextable[byte(v)>>4] - b[3] = hextable[byte(v)&0x0f] -} - -func putByteHex(dst, src []byte) { - for i := 0; i < len(src); i++ { - dst[i*2] = hextable[src[i]>>4] - dst[i*2+1] = hextable[src[i]&0x0f] - } -} - -// IsEqualGUID compares two GUID. -// -// Not constant time comparison. -func IsEqualGUID(guid1 *GUID, guid2 *GUID) bool { - return guid1.Data1 == guid2.Data1 && - guid1.Data2 == guid2.Data2 && - guid1.Data3 == guid2.Data3 && - guid1.Data4[0] == guid2.Data4[0] && - guid1.Data4[1] == guid2.Data4[1] && - guid1.Data4[2] == guid2.Data4[2] && - guid1.Data4[3] == guid2.Data4[3] && - guid1.Data4[4] == guid2.Data4[4] && - guid1.Data4[5] == guid2.Data4[5] && - guid1.Data4[6] == guid2.Data4[6] && - guid1.Data4[7] == guid2.Data4[7] -} diff --git a/vendor/github.com/go-ole/go-ole/iconnectionpoint.go b/vendor/github.com/go-ole/go-ole/iconnectionpoint.go deleted file mode 100644 index 9e6c49f4..00000000 --- a/vendor/github.com/go-ole/go-ole/iconnectionpoint.go +++ /dev/null @@ -1,20 +0,0 @@ -package ole - -import "unsafe" - -type IConnectionPoint struct { - IUnknown -} - -type IConnectionPointVtbl struct { - IUnknownVtbl - GetConnectionInterface uintptr - GetConnectionPointContainer uintptr - Advise uintptr - Unadvise uintptr - EnumConnections uintptr -} - -func (v *IConnectionPoint) VTable() *IConnectionPointVtbl { - return (*IConnectionPointVtbl)(unsafe.Pointer(v.RawVTable)) -} diff --git a/vendor/github.com/go-ole/go-ole/iconnectionpoint_func.go b/vendor/github.com/go-ole/go-ole/iconnectionpoint_func.go deleted file mode 100644 index 5414dc3c..00000000 --- a/vendor/github.com/go-ole/go-ole/iconnectionpoint_func.go +++ /dev/null @@ -1,21 +0,0 @@ -// +build !windows - -package ole - -import "unsafe" - -func (v *IConnectionPoint) GetConnectionInterface(piid **GUID) int32 { - return int32(0) -} - -func (v *IConnectionPoint) Advise(unknown *IUnknown) (uint32, error) { - return uint32(0), NewError(E_NOTIMPL) -} - -func (v *IConnectionPoint) Unadvise(cookie uint32) error { - return NewError(E_NOTIMPL) -} - -func (v *IConnectionPoint) EnumConnections(p *unsafe.Pointer) (err error) { - return NewError(E_NOTIMPL) -} diff --git a/vendor/github.com/go-ole/go-ole/iconnectionpoint_windows.go b/vendor/github.com/go-ole/go-ole/iconnectionpoint_windows.go deleted file mode 100644 index 32bc1832..00000000 --- a/vendor/github.com/go-ole/go-ole/iconnectionpoint_windows.go +++ /dev/null @@ -1,43 +0,0 @@ -// +build windows - -package ole - -import ( - "syscall" - "unsafe" -) - -func (v *IConnectionPoint) GetConnectionInterface(piid **GUID) int32 { - // XXX: This doesn't look like it does what it's supposed to - return release((*IUnknown)(unsafe.Pointer(v))) -} - -func (v *IConnectionPoint) Advise(unknown *IUnknown) (cookie uint32, err error) { - hr, _, _ := syscall.Syscall( - v.VTable().Advise, - 3, - uintptr(unsafe.Pointer(v)), - uintptr(unsafe.Pointer(unknown)), - uintptr(unsafe.Pointer(&cookie))) - if hr != 0 { - err = NewError(hr) - } - return -} - -func (v *IConnectionPoint) Unadvise(cookie uint32) (err error) { - hr, _, _ := syscall.Syscall( - v.VTable().Unadvise, - 2, - uintptr(unsafe.Pointer(v)), - uintptr(cookie), - 0) - if hr != 0 { - err = NewError(hr) - } - return -} - -func (v *IConnectionPoint) EnumConnections(p *unsafe.Pointer) error { - return NewError(E_NOTIMPL) -} diff --git a/vendor/github.com/go-ole/go-ole/iconnectionpointcontainer.go b/vendor/github.com/go-ole/go-ole/iconnectionpointcontainer.go deleted file mode 100644 index 165860d1..00000000 --- a/vendor/github.com/go-ole/go-ole/iconnectionpointcontainer.go +++ /dev/null @@ -1,17 +0,0 @@ -package ole - -import "unsafe" - -type IConnectionPointContainer struct { - IUnknown -} - -type IConnectionPointContainerVtbl struct { - IUnknownVtbl - EnumConnectionPoints uintptr - FindConnectionPoint uintptr -} - -func (v *IConnectionPointContainer) VTable() *IConnectionPointContainerVtbl { - return (*IConnectionPointContainerVtbl)(unsafe.Pointer(v.RawVTable)) -} diff --git a/vendor/github.com/go-ole/go-ole/iconnectionpointcontainer_func.go b/vendor/github.com/go-ole/go-ole/iconnectionpointcontainer_func.go deleted file mode 100644 index 5dfa42aa..00000000 --- a/vendor/github.com/go-ole/go-ole/iconnectionpointcontainer_func.go +++ /dev/null @@ -1,11 +0,0 @@ -// +build !windows - -package ole - -func (v *IConnectionPointContainer) EnumConnectionPoints(points interface{}) error { - return NewError(E_NOTIMPL) -} - -func (v *IConnectionPointContainer) FindConnectionPoint(iid *GUID, point **IConnectionPoint) error { - return NewError(E_NOTIMPL) -} diff --git a/vendor/github.com/go-ole/go-ole/iconnectionpointcontainer_windows.go b/vendor/github.com/go-ole/go-ole/iconnectionpointcontainer_windows.go deleted file mode 100644 index ad30d79e..00000000 --- a/vendor/github.com/go-ole/go-ole/iconnectionpointcontainer_windows.go +++ /dev/null @@ -1,25 +0,0 @@ -// +build windows - -package ole - -import ( - "syscall" - "unsafe" -) - -func (v *IConnectionPointContainer) EnumConnectionPoints(points interface{}) error { - return NewError(E_NOTIMPL) -} - -func (v *IConnectionPointContainer) FindConnectionPoint(iid *GUID, point **IConnectionPoint) (err error) { - hr, _, _ := syscall.Syscall( - v.VTable().FindConnectionPoint, - 3, - uintptr(unsafe.Pointer(v)), - uintptr(unsafe.Pointer(iid)), - uintptr(unsafe.Pointer(point))) - if hr != 0 { - err = NewError(hr) - } - return -} diff --git a/vendor/github.com/go-ole/go-ole/idispatch.go b/vendor/github.com/go-ole/go-ole/idispatch.go deleted file mode 100644 index d4af1240..00000000 --- a/vendor/github.com/go-ole/go-ole/idispatch.go +++ /dev/null @@ -1,94 +0,0 @@ -package ole - -import "unsafe" - -type IDispatch struct { - IUnknown -} - -type IDispatchVtbl struct { - IUnknownVtbl - GetTypeInfoCount uintptr - GetTypeInfo uintptr - GetIDsOfNames uintptr - Invoke uintptr -} - -func (v *IDispatch) VTable() *IDispatchVtbl { - return (*IDispatchVtbl)(unsafe.Pointer(v.RawVTable)) -} - -func (v *IDispatch) GetIDsOfName(names []string) (dispid []int32, err error) { - dispid, err = getIDsOfName(v, names) - return -} - -func (v *IDispatch) Invoke(dispid int32, dispatch int16, params ...interface{}) (result *VARIANT, err error) { - result, err = invoke(v, dispid, dispatch, params...) - return -} - -func (v *IDispatch) GetTypeInfoCount() (c uint32, err error) { - c, err = getTypeInfoCount(v) - return -} - -func (v *IDispatch) GetTypeInfo() (tinfo *ITypeInfo, err error) { - tinfo, err = getTypeInfo(v) - return -} - -// GetSingleIDOfName is a helper that returns single display ID for IDispatch name. -// -// This replaces the common pattern of attempting to get a single name from the list of available -// IDs. It gives the first ID, if it is available. -func (v *IDispatch) GetSingleIDOfName(name string) (displayID int32, err error) { - var displayIDs []int32 - displayIDs, err = v.GetIDsOfName([]string{name}) - if err != nil { - return - } - displayID = displayIDs[0] - return -} - -// InvokeWithOptionalArgs accepts arguments as an array, works like Invoke. -// -// Accepts name and will attempt to retrieve Display ID to pass to Invoke. -// -// Passing params as an array is a workaround that could be fixed in later versions of Go that -// prevent passing empty params. During testing it was discovered that this is an acceptable way of -// getting around not being able to pass params normally. -func (v *IDispatch) InvokeWithOptionalArgs(name string, dispatch int16, params []interface{}) (result *VARIANT, err error) { - displayID, err := v.GetSingleIDOfName(name) - if err != nil { - return - } - - if len(params) < 1 { - result, err = v.Invoke(displayID, dispatch) - } else { - result, err = v.Invoke(displayID, dispatch, params...) - } - - return -} - -// CallMethod invokes named function with arguments on object. -func (v *IDispatch) CallMethod(name string, params ...interface{}) (*VARIANT, error) { - return v.InvokeWithOptionalArgs(name, DISPATCH_METHOD, params) -} - -// GetProperty retrieves the property with the name with the ability to pass arguments. -// -// Most of the time you will not need to pass arguments as most objects do not allow for this -// feature. Or at least, should not allow for this feature. Some servers don't follow best practices -// and this is provided for those edge cases. -func (v *IDispatch) GetProperty(name string, params ...interface{}) (*VARIANT, error) { - return v.InvokeWithOptionalArgs(name, DISPATCH_PROPERTYGET, params) -} - -// PutProperty attempts to mutate a property in the object. -func (v *IDispatch) PutProperty(name string, params ...interface{}) (*VARIANT, error) { - return v.InvokeWithOptionalArgs(name, DISPATCH_PROPERTYPUT, params) -} diff --git a/vendor/github.com/go-ole/go-ole/idispatch_func.go b/vendor/github.com/go-ole/go-ole/idispatch_func.go deleted file mode 100644 index b8fbbe31..00000000 --- a/vendor/github.com/go-ole/go-ole/idispatch_func.go +++ /dev/null @@ -1,19 +0,0 @@ -// +build !windows - -package ole - -func getIDsOfName(disp *IDispatch, names []string) ([]int32, error) { - return []int32{}, NewError(E_NOTIMPL) -} - -func getTypeInfoCount(disp *IDispatch) (uint32, error) { - return uint32(0), NewError(E_NOTIMPL) -} - -func getTypeInfo(disp *IDispatch) (*ITypeInfo, error) { - return nil, NewError(E_NOTIMPL) -} - -func invoke(disp *IDispatch, dispid int32, dispatch int16, params ...interface{}) (*VARIANT, error) { - return nil, NewError(E_NOTIMPL) -} diff --git a/vendor/github.com/go-ole/go-ole/idispatch_windows.go b/vendor/github.com/go-ole/go-ole/idispatch_windows.go deleted file mode 100644 index 6ec180b5..00000000 --- a/vendor/github.com/go-ole/go-ole/idispatch_windows.go +++ /dev/null @@ -1,200 +0,0 @@ -// +build windows - -package ole - -import ( - "math/big" - "syscall" - "time" - "unsafe" -) - -func getIDsOfName(disp *IDispatch, names []string) (dispid []int32, err error) { - wnames := make([]*uint16, len(names)) - for i := 0; i < len(names); i++ { - wnames[i] = syscall.StringToUTF16Ptr(names[i]) - } - dispid = make([]int32, len(names)) - namelen := uint32(len(names)) - hr, _, _ := syscall.Syscall6( - disp.VTable().GetIDsOfNames, - 6, - uintptr(unsafe.Pointer(disp)), - uintptr(unsafe.Pointer(IID_NULL)), - uintptr(unsafe.Pointer(&wnames[0])), - uintptr(namelen), - uintptr(GetUserDefaultLCID()), - uintptr(unsafe.Pointer(&dispid[0]))) - if hr != 0 { - err = NewError(hr) - } - return -} - -func getTypeInfoCount(disp *IDispatch) (c uint32, err error) { - hr, _, _ := syscall.Syscall( - disp.VTable().GetTypeInfoCount, - 2, - uintptr(unsafe.Pointer(disp)), - uintptr(unsafe.Pointer(&c)), - 0) - if hr != 0 { - err = NewError(hr) - } - return -} - -func getTypeInfo(disp *IDispatch) (tinfo *ITypeInfo, err error) { - hr, _, _ := syscall.Syscall( - disp.VTable().GetTypeInfo, - 3, - uintptr(unsafe.Pointer(disp)), - uintptr(GetUserDefaultLCID()), - uintptr(unsafe.Pointer(&tinfo))) - if hr != 0 { - err = NewError(hr) - } - return -} - -func invoke(disp *IDispatch, dispid int32, dispatch int16, params ...interface{}) (result *VARIANT, err error) { - var dispparams DISPPARAMS - - if dispatch&DISPATCH_PROPERTYPUT != 0 { - dispnames := [1]int32{DISPID_PROPERTYPUT} - dispparams.rgdispidNamedArgs = uintptr(unsafe.Pointer(&dispnames[0])) - dispparams.cNamedArgs = 1 - } else if dispatch&DISPATCH_PROPERTYPUTREF != 0 { - dispnames := [1]int32{DISPID_PROPERTYPUT} - dispparams.rgdispidNamedArgs = uintptr(unsafe.Pointer(&dispnames[0])) - dispparams.cNamedArgs = 1 - } - var vargs []VARIANT - if len(params) > 0 { - vargs = make([]VARIANT, len(params)) - for i, v := range params { - //n := len(params)-i-1 - n := len(params) - i - 1 - VariantInit(&vargs[n]) - switch vv := v.(type) { - case bool: - if vv { - vargs[n] = NewVariant(VT_BOOL, 0xffff) - } else { - vargs[n] = NewVariant(VT_BOOL, 0) - } - case *bool: - vargs[n] = NewVariant(VT_BOOL|VT_BYREF, int64(uintptr(unsafe.Pointer(v.(*bool))))) - case uint8: - vargs[n] = NewVariant(VT_I1, int64(v.(uint8))) - case *uint8: - vargs[n] = NewVariant(VT_I1|VT_BYREF, int64(uintptr(unsafe.Pointer(v.(*uint8))))) - case int8: - vargs[n] = NewVariant(VT_I1, int64(v.(int8))) - case *int8: - vargs[n] = NewVariant(VT_I1|VT_BYREF, int64(uintptr(unsafe.Pointer(v.(*uint8))))) - case int16: - vargs[n] = NewVariant(VT_I2, int64(v.(int16))) - case *int16: - vargs[n] = NewVariant(VT_I2|VT_BYREF, int64(uintptr(unsafe.Pointer(v.(*int16))))) - case uint16: - vargs[n] = NewVariant(VT_UI2, int64(v.(uint16))) - case *uint16: - vargs[n] = NewVariant(VT_UI2|VT_BYREF, int64(uintptr(unsafe.Pointer(v.(*uint16))))) - case int32: - vargs[n] = NewVariant(VT_I4, int64(v.(int32))) - case *int32: - vargs[n] = NewVariant(VT_I4|VT_BYREF, int64(uintptr(unsafe.Pointer(v.(*int32))))) - case uint32: - vargs[n] = NewVariant(VT_UI4, int64(v.(uint32))) - case *uint32: - vargs[n] = NewVariant(VT_UI4|VT_BYREF, int64(uintptr(unsafe.Pointer(v.(*uint32))))) - case int64: - vargs[n] = NewVariant(VT_I8, int64(v.(int64))) - case *int64: - vargs[n] = NewVariant(VT_I8|VT_BYREF, int64(uintptr(unsafe.Pointer(v.(*int64))))) - case uint64: - vargs[n] = NewVariant(VT_UI8, int64(uintptr(v.(uint64)))) - case *uint64: - vargs[n] = NewVariant(VT_UI8|VT_BYREF, int64(uintptr(unsafe.Pointer(v.(*uint64))))) - case int: - vargs[n] = NewVariant(VT_I4, int64(v.(int))) - case *int: - vargs[n] = NewVariant(VT_I4|VT_BYREF, int64(uintptr(unsafe.Pointer(v.(*int))))) - case uint: - vargs[n] = NewVariant(VT_UI4, int64(v.(uint))) - case *uint: - vargs[n] = NewVariant(VT_UI4|VT_BYREF, int64(uintptr(unsafe.Pointer(v.(*uint))))) - case float32: - vargs[n] = NewVariant(VT_R4, *(*int64)(unsafe.Pointer(&vv))) - case *float32: - vargs[n] = NewVariant(VT_R4|VT_BYREF, int64(uintptr(unsafe.Pointer(v.(*float32))))) - case float64: - vargs[n] = NewVariant(VT_R8, *(*int64)(unsafe.Pointer(&vv))) - case *float64: - vargs[n] = NewVariant(VT_R8|VT_BYREF, int64(uintptr(unsafe.Pointer(v.(*float64))))) - case *big.Int: - vargs[n] = NewVariant(VT_DECIMAL, v.(*big.Int).Int64()) - case string: - vargs[n] = NewVariant(VT_BSTR, int64(uintptr(unsafe.Pointer(SysAllocStringLen(v.(string)))))) - case *string: - vargs[n] = NewVariant(VT_BSTR|VT_BYREF, int64(uintptr(unsafe.Pointer(v.(*string))))) - case time.Time: - s := vv.Format("2006-01-02 15:04:05") - vargs[n] = NewVariant(VT_BSTR, int64(uintptr(unsafe.Pointer(SysAllocStringLen(s))))) - case *time.Time: - s := vv.Format("2006-01-02 15:04:05") - vargs[n] = NewVariant(VT_BSTR|VT_BYREF, int64(uintptr(unsafe.Pointer(&s)))) - case *IDispatch: - vargs[n] = NewVariant(VT_DISPATCH, int64(uintptr(unsafe.Pointer(v.(*IDispatch))))) - case **IDispatch: - vargs[n] = NewVariant(VT_DISPATCH|VT_BYREF, int64(uintptr(unsafe.Pointer(v.(**IDispatch))))) - case nil: - vargs[n] = NewVariant(VT_NULL, 0) - case *VARIANT: - vargs[n] = NewVariant(VT_VARIANT|VT_BYREF, int64(uintptr(unsafe.Pointer(v.(*VARIANT))))) - case []byte: - safeByteArray := safeArrayFromByteSlice(v.([]byte)) - vargs[n] = NewVariant(VT_ARRAY|VT_UI1, int64(uintptr(unsafe.Pointer(safeByteArray)))) - defer VariantClear(&vargs[n]) - case []string: - safeByteArray := safeArrayFromStringSlice(v.([]string)) - vargs[n] = NewVariant(VT_ARRAY|VT_BSTR, int64(uintptr(unsafe.Pointer(safeByteArray)))) - defer VariantClear(&vargs[n]) - default: - panic("unknown type") - } - } - dispparams.rgvarg = uintptr(unsafe.Pointer(&vargs[0])) - dispparams.cArgs = uint32(len(params)) - } - - result = new(VARIANT) - var excepInfo EXCEPINFO - VariantInit(result) - hr, _, _ := syscall.Syscall9( - disp.VTable().Invoke, - 9, - uintptr(unsafe.Pointer(disp)), - uintptr(dispid), - uintptr(unsafe.Pointer(IID_NULL)), - uintptr(GetUserDefaultLCID()), - uintptr(dispatch), - uintptr(unsafe.Pointer(&dispparams)), - uintptr(unsafe.Pointer(result)), - uintptr(unsafe.Pointer(&excepInfo)), - 0) - if hr != 0 { - err = NewErrorWithSubError(hr, BstrToString(excepInfo.bstrDescription), excepInfo) - } - for i, varg := range vargs { - n := len(params) - i - 1 - if varg.VT == VT_BSTR && varg.Val != 0 { - SysFreeString(((*int16)(unsafe.Pointer(uintptr(varg.Val))))) - } - if varg.VT == (VT_BSTR|VT_BYREF) && varg.Val != 0 { - *(params[n].(*string)) = LpOleStrToString(*(**uint16)(unsafe.Pointer(uintptr(varg.Val)))) - } - } - return -} diff --git a/vendor/github.com/go-ole/go-ole/ienumvariant.go b/vendor/github.com/go-ole/go-ole/ienumvariant.go deleted file mode 100644 index 24338975..00000000 --- a/vendor/github.com/go-ole/go-ole/ienumvariant.go +++ /dev/null @@ -1,19 +0,0 @@ -package ole - -import "unsafe" - -type IEnumVARIANT struct { - IUnknown -} - -type IEnumVARIANTVtbl struct { - IUnknownVtbl - Next uintptr - Skip uintptr - Reset uintptr - Clone uintptr -} - -func (v *IEnumVARIANT) VTable() *IEnumVARIANTVtbl { - return (*IEnumVARIANTVtbl)(unsafe.Pointer(v.RawVTable)) -} diff --git a/vendor/github.com/go-ole/go-ole/ienumvariant_func.go b/vendor/github.com/go-ole/go-ole/ienumvariant_func.go deleted file mode 100644 index c1484819..00000000 --- a/vendor/github.com/go-ole/go-ole/ienumvariant_func.go +++ /dev/null @@ -1,19 +0,0 @@ -// +build !windows - -package ole - -func (enum *IEnumVARIANT) Clone() (*IEnumVARIANT, error) { - return nil, NewError(E_NOTIMPL) -} - -func (enum *IEnumVARIANT) Reset() error { - return NewError(E_NOTIMPL) -} - -func (enum *IEnumVARIANT) Skip(celt uint) error { - return NewError(E_NOTIMPL) -} - -func (enum *IEnumVARIANT) Next(celt uint) (VARIANT, uint, error) { - return NewVariant(VT_NULL, int64(0)), 0, NewError(E_NOTIMPL) -} diff --git a/vendor/github.com/go-ole/go-ole/ienumvariant_windows.go b/vendor/github.com/go-ole/go-ole/ienumvariant_windows.go deleted file mode 100644 index 4781f3b8..00000000 --- a/vendor/github.com/go-ole/go-ole/ienumvariant_windows.go +++ /dev/null @@ -1,63 +0,0 @@ -// +build windows - -package ole - -import ( - "syscall" - "unsafe" -) - -func (enum *IEnumVARIANT) Clone() (cloned *IEnumVARIANT, err error) { - hr, _, _ := syscall.Syscall( - enum.VTable().Clone, - 2, - uintptr(unsafe.Pointer(enum)), - uintptr(unsafe.Pointer(&cloned)), - 0) - if hr != 0 { - err = NewError(hr) - } - return -} - -func (enum *IEnumVARIANT) Reset() (err error) { - hr, _, _ := syscall.Syscall( - enum.VTable().Reset, - 1, - uintptr(unsafe.Pointer(enum)), - 0, - 0) - if hr != 0 { - err = NewError(hr) - } - return -} - -func (enum *IEnumVARIANT) Skip(celt uint) (err error) { - hr, _, _ := syscall.Syscall( - enum.VTable().Skip, - 2, - uintptr(unsafe.Pointer(enum)), - uintptr(celt), - 0) - if hr != 0 { - err = NewError(hr) - } - return -} - -func (enum *IEnumVARIANT) Next(celt uint) (array VARIANT, length uint, err error) { - hr, _, _ := syscall.Syscall6( - enum.VTable().Next, - 4, - uintptr(unsafe.Pointer(enum)), - uintptr(celt), - uintptr(unsafe.Pointer(&array)), - uintptr(unsafe.Pointer(&length)), - 0, - 0) - if hr != 0 { - err = NewError(hr) - } - return -} diff --git a/vendor/github.com/go-ole/go-ole/iinspectable.go b/vendor/github.com/go-ole/go-ole/iinspectable.go deleted file mode 100644 index f4a19e25..00000000 --- a/vendor/github.com/go-ole/go-ole/iinspectable.go +++ /dev/null @@ -1,18 +0,0 @@ -package ole - -import "unsafe" - -type IInspectable struct { - IUnknown -} - -type IInspectableVtbl struct { - IUnknownVtbl - GetIIds uintptr - GetRuntimeClassName uintptr - GetTrustLevel uintptr -} - -func (v *IInspectable) VTable() *IInspectableVtbl { - return (*IInspectableVtbl)(unsafe.Pointer(v.RawVTable)) -} diff --git a/vendor/github.com/go-ole/go-ole/iinspectable_func.go b/vendor/github.com/go-ole/go-ole/iinspectable_func.go deleted file mode 100644 index 348829bf..00000000 --- a/vendor/github.com/go-ole/go-ole/iinspectable_func.go +++ /dev/null @@ -1,15 +0,0 @@ -// +build !windows - -package ole - -func (v *IInspectable) GetIids() ([]*GUID, error) { - return []*GUID{}, NewError(E_NOTIMPL) -} - -func (v *IInspectable) GetRuntimeClassName() (string, error) { - return "", NewError(E_NOTIMPL) -} - -func (v *IInspectable) GetTrustLevel() (uint32, error) { - return uint32(0), NewError(E_NOTIMPL) -} diff --git a/vendor/github.com/go-ole/go-ole/iinspectable_windows.go b/vendor/github.com/go-ole/go-ole/iinspectable_windows.go deleted file mode 100644 index 4519a4aa..00000000 --- a/vendor/github.com/go-ole/go-ole/iinspectable_windows.go +++ /dev/null @@ -1,72 +0,0 @@ -// +build windows - -package ole - -import ( - "bytes" - "encoding/binary" - "reflect" - "syscall" - "unsafe" -) - -func (v *IInspectable) GetIids() (iids []*GUID, err error) { - var count uint32 - var array uintptr - hr, _, _ := syscall.Syscall( - v.VTable().GetIIds, - 3, - uintptr(unsafe.Pointer(v)), - uintptr(unsafe.Pointer(&count)), - uintptr(unsafe.Pointer(&array))) - if hr != 0 { - err = NewError(hr) - return - } - defer CoTaskMemFree(array) - - iids = make([]*GUID, count) - byteCount := count * uint32(unsafe.Sizeof(GUID{})) - slicehdr := reflect.SliceHeader{Data: array, Len: int(byteCount), Cap: int(byteCount)} - byteSlice := *(*[]byte)(unsafe.Pointer(&slicehdr)) - reader := bytes.NewReader(byteSlice) - for i := range iids { - guid := GUID{} - err = binary.Read(reader, binary.LittleEndian, &guid) - if err != nil { - return - } - iids[i] = &guid - } - return -} - -func (v *IInspectable) GetRuntimeClassName() (s string, err error) { - var hstring HString - hr, _, _ := syscall.Syscall( - v.VTable().GetRuntimeClassName, - 2, - uintptr(unsafe.Pointer(v)), - uintptr(unsafe.Pointer(&hstring)), - 0) - if hr != 0 { - err = NewError(hr) - return - } - s = hstring.String() - DeleteHString(hstring) - return -} - -func (v *IInspectable) GetTrustLevel() (level uint32, err error) { - hr, _, _ := syscall.Syscall( - v.VTable().GetTrustLevel, - 2, - uintptr(unsafe.Pointer(v)), - uintptr(unsafe.Pointer(&level)), - 0) - if hr != 0 { - err = NewError(hr) - } - return -} diff --git a/vendor/github.com/go-ole/go-ole/iprovideclassinfo.go b/vendor/github.com/go-ole/go-ole/iprovideclassinfo.go deleted file mode 100644 index 25f3a6f2..00000000 --- a/vendor/github.com/go-ole/go-ole/iprovideclassinfo.go +++ /dev/null @@ -1,21 +0,0 @@ -package ole - -import "unsafe" - -type IProvideClassInfo struct { - IUnknown -} - -type IProvideClassInfoVtbl struct { - IUnknownVtbl - GetClassInfo uintptr -} - -func (v *IProvideClassInfo) VTable() *IProvideClassInfoVtbl { - return (*IProvideClassInfoVtbl)(unsafe.Pointer(v.RawVTable)) -} - -func (v *IProvideClassInfo) GetClassInfo() (cinfo *ITypeInfo, err error) { - cinfo, err = getClassInfo(v) - return -} diff --git a/vendor/github.com/go-ole/go-ole/iprovideclassinfo_func.go b/vendor/github.com/go-ole/go-ole/iprovideclassinfo_func.go deleted file mode 100644 index 7e3cb63e..00000000 --- a/vendor/github.com/go-ole/go-ole/iprovideclassinfo_func.go +++ /dev/null @@ -1,7 +0,0 @@ -// +build !windows - -package ole - -func getClassInfo(disp *IProvideClassInfo) (tinfo *ITypeInfo, err error) { - return nil, NewError(E_NOTIMPL) -} diff --git a/vendor/github.com/go-ole/go-ole/iprovideclassinfo_windows.go b/vendor/github.com/go-ole/go-ole/iprovideclassinfo_windows.go deleted file mode 100644 index 2ad01639..00000000 --- a/vendor/github.com/go-ole/go-ole/iprovideclassinfo_windows.go +++ /dev/null @@ -1,21 +0,0 @@ -// +build windows - -package ole - -import ( - "syscall" - "unsafe" -) - -func getClassInfo(disp *IProvideClassInfo) (tinfo *ITypeInfo, err error) { - hr, _, _ := syscall.Syscall( - disp.VTable().GetClassInfo, - 2, - uintptr(unsafe.Pointer(disp)), - uintptr(unsafe.Pointer(&tinfo)), - 0) - if hr != 0 { - err = NewError(hr) - } - return -} diff --git a/vendor/github.com/go-ole/go-ole/itypeinfo.go b/vendor/github.com/go-ole/go-ole/itypeinfo.go deleted file mode 100644 index dd3c5e21..00000000 --- a/vendor/github.com/go-ole/go-ole/itypeinfo.go +++ /dev/null @@ -1,34 +0,0 @@ -package ole - -import "unsafe" - -type ITypeInfo struct { - IUnknown -} - -type ITypeInfoVtbl struct { - IUnknownVtbl - GetTypeAttr uintptr - GetTypeComp uintptr - GetFuncDesc uintptr - GetVarDesc uintptr - GetNames uintptr - GetRefTypeOfImplType uintptr - GetImplTypeFlags uintptr - GetIDsOfNames uintptr - Invoke uintptr - GetDocumentation uintptr - GetDllEntry uintptr - GetRefTypeInfo uintptr - AddressOfMember uintptr - CreateInstance uintptr - GetMops uintptr - GetContainingTypeLib uintptr - ReleaseTypeAttr uintptr - ReleaseFuncDesc uintptr - ReleaseVarDesc uintptr -} - -func (v *ITypeInfo) VTable() *ITypeInfoVtbl { - return (*ITypeInfoVtbl)(unsafe.Pointer(v.RawVTable)) -} diff --git a/vendor/github.com/go-ole/go-ole/itypeinfo_func.go b/vendor/github.com/go-ole/go-ole/itypeinfo_func.go deleted file mode 100644 index 8364a659..00000000 --- a/vendor/github.com/go-ole/go-ole/itypeinfo_func.go +++ /dev/null @@ -1,7 +0,0 @@ -// +build !windows - -package ole - -func (v *ITypeInfo) GetTypeAttr() (*TYPEATTR, error) { - return nil, NewError(E_NOTIMPL) -} diff --git a/vendor/github.com/go-ole/go-ole/itypeinfo_windows.go b/vendor/github.com/go-ole/go-ole/itypeinfo_windows.go deleted file mode 100644 index 54782b3d..00000000 --- a/vendor/github.com/go-ole/go-ole/itypeinfo_windows.go +++ /dev/null @@ -1,21 +0,0 @@ -// +build windows - -package ole - -import ( - "syscall" - "unsafe" -) - -func (v *ITypeInfo) GetTypeAttr() (tattr *TYPEATTR, err error) { - hr, _, _ := syscall.Syscall( - uintptr(v.VTable().GetTypeAttr), - 2, - uintptr(unsafe.Pointer(v)), - uintptr(unsafe.Pointer(&tattr)), - 0) - if hr != 0 { - err = NewError(hr) - } - return -} diff --git a/vendor/github.com/go-ole/go-ole/iunknown.go b/vendor/github.com/go-ole/go-ole/iunknown.go deleted file mode 100644 index 108f28ea..00000000 --- a/vendor/github.com/go-ole/go-ole/iunknown.go +++ /dev/null @@ -1,57 +0,0 @@ -package ole - -import "unsafe" - -type IUnknown struct { - RawVTable *interface{} -} - -type IUnknownVtbl struct { - QueryInterface uintptr - AddRef uintptr - Release uintptr -} - -type UnknownLike interface { - QueryInterface(iid *GUID) (disp *IDispatch, err error) - AddRef() int32 - Release() int32 -} - -func (v *IUnknown) VTable() *IUnknownVtbl { - return (*IUnknownVtbl)(unsafe.Pointer(v.RawVTable)) -} - -func (v *IUnknown) PutQueryInterface(interfaceID *GUID, obj interface{}) error { - return reflectQueryInterface(v, v.VTable().QueryInterface, interfaceID, obj) -} - -func (v *IUnknown) IDispatch(interfaceID *GUID) (dispatch *IDispatch, err error) { - err = v.PutQueryInterface(interfaceID, &dispatch) - return -} - -func (v *IUnknown) IEnumVARIANT(interfaceID *GUID) (enum *IEnumVARIANT, err error) { - err = v.PutQueryInterface(interfaceID, &enum) - return -} - -func (v *IUnknown) QueryInterface(iid *GUID) (*IDispatch, error) { - return queryInterface(v, iid) -} - -func (v *IUnknown) MustQueryInterface(iid *GUID) (disp *IDispatch) { - unk, err := queryInterface(v, iid) - if err != nil { - panic(err) - } - return unk -} - -func (v *IUnknown) AddRef() int32 { - return addRef(v) -} - -func (v *IUnknown) Release() int32 { - return release(v) -} diff --git a/vendor/github.com/go-ole/go-ole/iunknown_func.go b/vendor/github.com/go-ole/go-ole/iunknown_func.go deleted file mode 100644 index d0a62cfd..00000000 --- a/vendor/github.com/go-ole/go-ole/iunknown_func.go +++ /dev/null @@ -1,19 +0,0 @@ -// +build !windows - -package ole - -func reflectQueryInterface(self interface{}, method uintptr, interfaceID *GUID, obj interface{}) (err error) { - return NewError(E_NOTIMPL) -} - -func queryInterface(unk *IUnknown, iid *GUID) (disp *IDispatch, err error) { - return nil, NewError(E_NOTIMPL) -} - -func addRef(unk *IUnknown) int32 { - return 0 -} - -func release(unk *IUnknown) int32 { - return 0 -} diff --git a/vendor/github.com/go-ole/go-ole/iunknown_windows.go b/vendor/github.com/go-ole/go-ole/iunknown_windows.go deleted file mode 100644 index ede5bb8c..00000000 --- a/vendor/github.com/go-ole/go-ole/iunknown_windows.go +++ /dev/null @@ -1,58 +0,0 @@ -// +build windows - -package ole - -import ( - "reflect" - "syscall" - "unsafe" -) - -func reflectQueryInterface(self interface{}, method uintptr, interfaceID *GUID, obj interface{}) (err error) { - selfValue := reflect.ValueOf(self).Elem() - objValue := reflect.ValueOf(obj).Elem() - - hr, _, _ := syscall.Syscall( - method, - 3, - selfValue.UnsafeAddr(), - uintptr(unsafe.Pointer(interfaceID)), - objValue.Addr().Pointer()) - if hr != 0 { - err = NewError(hr) - } - return -} - -func queryInterface(unk *IUnknown, iid *GUID) (disp *IDispatch, err error) { - hr, _, _ := syscall.Syscall( - unk.VTable().QueryInterface, - 3, - uintptr(unsafe.Pointer(unk)), - uintptr(unsafe.Pointer(iid)), - uintptr(unsafe.Pointer(&disp))) - if hr != 0 { - err = NewError(hr) - } - return -} - -func addRef(unk *IUnknown) int32 { - ret, _, _ := syscall.Syscall( - unk.VTable().AddRef, - 1, - uintptr(unsafe.Pointer(unk)), - 0, - 0) - return int32(ret) -} - -func release(unk *IUnknown) int32 { - ret, _, _ := syscall.Syscall( - unk.VTable().Release, - 1, - uintptr(unsafe.Pointer(unk)), - 0, - 0) - return int32(ret) -} diff --git a/vendor/github.com/go-ole/go-ole/ole.go b/vendor/github.com/go-ole/go-ole/ole.go deleted file mode 100644 index e2ae4f4b..00000000 --- a/vendor/github.com/go-ole/go-ole/ole.go +++ /dev/null @@ -1,157 +0,0 @@ -package ole - -import ( - "fmt" - "strings" -) - -// DISPPARAMS are the arguments that passed to methods or property. -type DISPPARAMS struct { - rgvarg uintptr - rgdispidNamedArgs uintptr - cArgs uint32 - cNamedArgs uint32 -} - -// EXCEPINFO defines exception info. -type EXCEPINFO struct { - wCode uint16 - wReserved uint16 - bstrSource *uint16 - bstrDescription *uint16 - bstrHelpFile *uint16 - dwHelpContext uint32 - pvReserved uintptr - pfnDeferredFillIn uintptr - scode uint32 -} - -// WCode return wCode in EXCEPINFO. -func (e EXCEPINFO) WCode() uint16 { - return e.wCode -} - -// SCODE return scode in EXCEPINFO. -func (e EXCEPINFO) SCODE() uint32 { - return e.scode -} - -// String convert EXCEPINFO to string. -func (e EXCEPINFO) String() string { - var src, desc, hlp string - if e.bstrSource == nil { - src = "" - } else { - src = BstrToString(e.bstrSource) - } - - if e.bstrDescription == nil { - desc = "" - } else { - desc = BstrToString(e.bstrDescription) - } - - if e.bstrHelpFile == nil { - hlp = "" - } else { - hlp = BstrToString(e.bstrHelpFile) - } - - return fmt.Sprintf( - "wCode: %#x, bstrSource: %v, bstrDescription: %v, bstrHelpFile: %v, dwHelpContext: %#x, scode: %#x", - e.wCode, src, desc, hlp, e.dwHelpContext, e.scode, - ) -} - -// Error implements error interface and returns error string. -func (e EXCEPINFO) Error() string { - if e.bstrDescription != nil { - return strings.TrimSpace(BstrToString(e.bstrDescription)) - } - - src := "Unknown" - if e.bstrSource != nil { - src = BstrToString(e.bstrSource) - } - - code := e.scode - if e.wCode != 0 { - code = uint32(e.wCode) - } - - return fmt.Sprintf("%v: %#x", src, code) -} - -// PARAMDATA defines parameter data type. -type PARAMDATA struct { - Name *int16 - Vt uint16 -} - -// METHODDATA defines method info. -type METHODDATA struct { - Name *uint16 - Data *PARAMDATA - Dispid int32 - Meth uint32 - CC int32 - CArgs uint32 - Flags uint16 - VtReturn uint32 -} - -// INTERFACEDATA defines interface info. -type INTERFACEDATA struct { - MethodData *METHODDATA - CMembers uint32 -} - -// Point is 2D vector type. -type Point struct { - X int32 - Y int32 -} - -// Msg is message between processes. -type Msg struct { - Hwnd uint32 - Message uint32 - Wparam int32 - Lparam int32 - Time uint32 - Pt Point -} - -// TYPEDESC defines data type. -type TYPEDESC struct { - Hreftype uint32 - VT uint16 -} - -// IDLDESC defines IDL info. -type IDLDESC struct { - DwReserved uint32 - WIDLFlags uint16 -} - -// TYPEATTR defines type info. -type TYPEATTR struct { - Guid GUID - Lcid uint32 - dwReserved uint32 - MemidConstructor int32 - MemidDestructor int32 - LpstrSchema *uint16 - CbSizeInstance uint32 - Typekind int32 - CFuncs uint16 - CVars uint16 - CImplTypes uint16 - CbSizeVft uint16 - CbAlignment uint16 - WTypeFlags uint16 - WMajorVerNum uint16 - WMinorVerNum uint16 - TdescAlias TYPEDESC - IdldescType IDLDESC -} diff --git a/vendor/github.com/go-ole/go-ole/oleutil/connection.go b/vendor/github.com/go-ole/go-ole/oleutil/connection.go deleted file mode 100644 index 60df73cd..00000000 --- a/vendor/github.com/go-ole/go-ole/oleutil/connection.go +++ /dev/null @@ -1,100 +0,0 @@ -// +build windows - -package oleutil - -import ( - "reflect" - "unsafe" - - ole "github.com/go-ole/go-ole" -) - -type stdDispatch struct { - lpVtbl *stdDispatchVtbl - ref int32 - iid *ole.GUID - iface interface{} - funcMap map[string]int32 -} - -type stdDispatchVtbl struct { - pQueryInterface uintptr - pAddRef uintptr - pRelease uintptr - pGetTypeInfoCount uintptr - pGetTypeInfo uintptr - pGetIDsOfNames uintptr - pInvoke uintptr -} - -func dispQueryInterface(this *ole.IUnknown, iid *ole.GUID, punk **ole.IUnknown) uint32 { - pthis := (*stdDispatch)(unsafe.Pointer(this)) - *punk = nil - if ole.IsEqualGUID(iid, ole.IID_IUnknown) || - ole.IsEqualGUID(iid, ole.IID_IDispatch) { - dispAddRef(this) - *punk = this - return ole.S_OK - } - if ole.IsEqualGUID(iid, pthis.iid) { - dispAddRef(this) - *punk = this - return ole.S_OK - } - return ole.E_NOINTERFACE -} - -func dispAddRef(this *ole.IUnknown) int32 { - pthis := (*stdDispatch)(unsafe.Pointer(this)) - pthis.ref++ - return pthis.ref -} - -func dispRelease(this *ole.IUnknown) int32 { - pthis := (*stdDispatch)(unsafe.Pointer(this)) - pthis.ref-- - return pthis.ref -} - -func dispGetIDsOfNames(this *ole.IUnknown, iid *ole.GUID, wnames []*uint16, namelen int, lcid int, pdisp []int32) uintptr { - pthis := (*stdDispatch)(unsafe.Pointer(this)) - names := make([]string, len(wnames)) - for i := 0; i < len(names); i++ { - names[i] = ole.LpOleStrToString(wnames[i]) - } - for n := 0; n < namelen; n++ { - if id, ok := pthis.funcMap[names[n]]; ok { - pdisp[n] = id - } - } - return ole.S_OK -} - -func dispGetTypeInfoCount(pcount *int) uintptr { - if pcount != nil { - *pcount = 0 - } - return ole.S_OK -} - -func dispGetTypeInfo(ptypeif *uintptr) uintptr { - return ole.E_NOTIMPL -} - -func dispInvoke(this *ole.IDispatch, dispid int32, riid *ole.GUID, lcid int, flags int16, dispparams *ole.DISPPARAMS, result *ole.VARIANT, pexcepinfo *ole.EXCEPINFO, nerr *uint) uintptr { - pthis := (*stdDispatch)(unsafe.Pointer(this)) - found := "" - for name, id := range pthis.funcMap { - if id == dispid { - found = name - } - } - if found != "" { - rv := reflect.ValueOf(pthis.iface).Elem() - rm := rv.MethodByName(found) - rr := rm.Call([]reflect.Value{}) - println(len(rr)) - return ole.S_OK - } - return ole.E_NOTIMPL -} diff --git a/vendor/github.com/go-ole/go-ole/oleutil/connection_func.go b/vendor/github.com/go-ole/go-ole/oleutil/connection_func.go deleted file mode 100644 index 8818fb82..00000000 --- a/vendor/github.com/go-ole/go-ole/oleutil/connection_func.go +++ /dev/null @@ -1,10 +0,0 @@ -// +build !windows - -package oleutil - -import ole "github.com/go-ole/go-ole" - -// ConnectObject creates a connection point between two services for communication. -func ConnectObject(disp *ole.IDispatch, iid *ole.GUID, idisp interface{}) (uint32, error) { - return 0, ole.NewError(ole.E_NOTIMPL) -} diff --git a/vendor/github.com/go-ole/go-ole/oleutil/connection_windows.go b/vendor/github.com/go-ole/go-ole/oleutil/connection_windows.go deleted file mode 100644 index ab9c0d8d..00000000 --- a/vendor/github.com/go-ole/go-ole/oleutil/connection_windows.go +++ /dev/null @@ -1,58 +0,0 @@ -// +build windows - -package oleutil - -import ( - "reflect" - "syscall" - "unsafe" - - ole "github.com/go-ole/go-ole" -) - -// ConnectObject creates a connection point between two services for communication. -func ConnectObject(disp *ole.IDispatch, iid *ole.GUID, idisp interface{}) (cookie uint32, err error) { - unknown, err := disp.QueryInterface(ole.IID_IConnectionPointContainer) - if err != nil { - return - } - - container := (*ole.IConnectionPointContainer)(unsafe.Pointer(unknown)) - var point *ole.IConnectionPoint - err = container.FindConnectionPoint(iid, &point) - if err != nil { - return - } - if edisp, ok := idisp.(*ole.IUnknown); ok { - cookie, err = point.Advise(edisp) - container.Release() - if err != nil { - return - } - } - rv := reflect.ValueOf(disp).Elem() - if rv.Type().Kind() == reflect.Struct { - dest := &stdDispatch{} - dest.lpVtbl = &stdDispatchVtbl{} - dest.lpVtbl.pQueryInterface = syscall.NewCallback(dispQueryInterface) - dest.lpVtbl.pAddRef = syscall.NewCallback(dispAddRef) - dest.lpVtbl.pRelease = syscall.NewCallback(dispRelease) - dest.lpVtbl.pGetTypeInfoCount = syscall.NewCallback(dispGetTypeInfoCount) - dest.lpVtbl.pGetTypeInfo = syscall.NewCallback(dispGetTypeInfo) - dest.lpVtbl.pGetIDsOfNames = syscall.NewCallback(dispGetIDsOfNames) - dest.lpVtbl.pInvoke = syscall.NewCallback(dispInvoke) - dest.iface = disp - dest.iid = iid - cookie, err = point.Advise((*ole.IUnknown)(unsafe.Pointer(dest))) - container.Release() - if err != nil { - point.Release() - return - } - return - } - - container.Release() - - return 0, ole.NewError(ole.E_INVALIDARG) -} diff --git a/vendor/github.com/go-ole/go-ole/oleutil/go-get.go b/vendor/github.com/go-ole/go-ole/oleutil/go-get.go deleted file mode 100644 index 58347628..00000000 --- a/vendor/github.com/go-ole/go-ole/oleutil/go-get.go +++ /dev/null @@ -1,6 +0,0 @@ -// This file is here so go get succeeds as without it errors with: -// no buildable Go source files in ... -// -// +build !windows - -package oleutil diff --git a/vendor/github.com/go-ole/go-ole/oleutil/oleutil.go b/vendor/github.com/go-ole/go-ole/oleutil/oleutil.go deleted file mode 100644 index f7803c1e..00000000 --- a/vendor/github.com/go-ole/go-ole/oleutil/oleutil.go +++ /dev/null @@ -1,127 +0,0 @@ -package oleutil - -import ole "github.com/go-ole/go-ole" - -// ClassIDFrom retrieves class ID whether given is program ID or application string. -func ClassIDFrom(programID string) (classID *ole.GUID, err error) { - return ole.ClassIDFrom(programID) -} - -// CreateObject creates object from programID based on interface type. -// -// Only supports IUnknown. -// -// Program ID can be either program ID or application string. -func CreateObject(programID string) (unknown *ole.IUnknown, err error) { - classID, err := ole.ClassIDFrom(programID) - if err != nil { - return - } - - unknown, err = ole.CreateInstance(classID, ole.IID_IUnknown) - if err != nil { - return - } - - return -} - -// GetActiveObject retrieves active object for program ID and interface ID based -// on interface type. -// -// Only supports IUnknown. -// -// Program ID can be either program ID or application string. -func GetActiveObject(programID string) (unknown *ole.IUnknown, err error) { - classID, err := ole.ClassIDFrom(programID) - if err != nil { - return - } - - unknown, err = ole.GetActiveObject(classID, ole.IID_IUnknown) - if err != nil { - return - } - - return -} - -// CallMethod calls method on IDispatch with parameters. -func CallMethod(disp *ole.IDispatch, name string, params ...interface{}) (result *ole.VARIANT, err error) { - return disp.InvokeWithOptionalArgs(name, ole.DISPATCH_METHOD, params) -} - -// MustCallMethod calls method on IDispatch with parameters or panics. -func MustCallMethod(disp *ole.IDispatch, name string, params ...interface{}) (result *ole.VARIANT) { - r, err := CallMethod(disp, name, params...) - if err != nil { - panic(err.Error()) - } - return r -} - -// GetProperty retrieves property from IDispatch. -func GetProperty(disp *ole.IDispatch, name string, params ...interface{}) (result *ole.VARIANT, err error) { - return disp.InvokeWithOptionalArgs(name, ole.DISPATCH_PROPERTYGET, params) -} - -// MustGetProperty retrieves property from IDispatch or panics. -func MustGetProperty(disp *ole.IDispatch, name string, params ...interface{}) (result *ole.VARIANT) { - r, err := GetProperty(disp, name, params...) - if err != nil { - panic(err.Error()) - } - return r -} - -// PutProperty mutates property. -func PutProperty(disp *ole.IDispatch, name string, params ...interface{}) (result *ole.VARIANT, err error) { - return disp.InvokeWithOptionalArgs(name, ole.DISPATCH_PROPERTYPUT, params) -} - -// MustPutProperty mutates property or panics. -func MustPutProperty(disp *ole.IDispatch, name string, params ...interface{}) (result *ole.VARIANT) { - r, err := PutProperty(disp, name, params...) - if err != nil { - panic(err.Error()) - } - return r -} - -// PutPropertyRef mutates property reference. -func PutPropertyRef(disp *ole.IDispatch, name string, params ...interface{}) (result *ole.VARIANT, err error) { - return disp.InvokeWithOptionalArgs(name, ole.DISPATCH_PROPERTYPUTREF, params) -} - -// MustPutPropertyRef mutates property reference or panics. -func MustPutPropertyRef(disp *ole.IDispatch, name string, params ...interface{}) (result *ole.VARIANT) { - r, err := PutPropertyRef(disp, name, params...) - if err != nil { - panic(err.Error()) - } - return r -} - -func ForEach(disp *ole.IDispatch, f func(v *ole.VARIANT) error) error { - newEnum, err := disp.GetProperty("_NewEnum") - if err != nil { - return err - } - defer newEnum.Clear() - - enum, err := newEnum.ToIUnknown().IEnumVARIANT(ole.IID_IEnumVariant) - if err != nil { - return err - } - defer enum.Release() - - for item, length, err := enum.Next(1); length > 0; item, length, err = enum.Next(1) { - if err != nil { - return err - } - if ferr := f(&item); ferr != nil { - return ferr - } - } - return nil -} diff --git a/vendor/github.com/go-ole/go-ole/safearray.go b/vendor/github.com/go-ole/go-ole/safearray.go deleted file mode 100644 index a5201b56..00000000 --- a/vendor/github.com/go-ole/go-ole/safearray.go +++ /dev/null @@ -1,27 +0,0 @@ -// Package is meant to retrieve and process safe array data returned from COM. - -package ole - -// SafeArrayBound defines the SafeArray boundaries. -type SafeArrayBound struct { - Elements uint32 - LowerBound int32 -} - -// SafeArray is how COM handles arrays. -type SafeArray struct { - Dimensions uint16 - FeaturesFlag uint16 - ElementsSize uint32 - LocksAmount uint32 - Data uint32 - Bounds [16]byte -} - -// SAFEARRAY is obsolete, exists for backwards compatibility. -// Use SafeArray -type SAFEARRAY SafeArray - -// SAFEARRAYBOUND is obsolete, exists for backwards compatibility. -// Use SafeArrayBound -type SAFEARRAYBOUND SafeArrayBound diff --git a/vendor/github.com/go-ole/go-ole/safearray_func.go b/vendor/github.com/go-ole/go-ole/safearray_func.go deleted file mode 100644 index 0dee670c..00000000 --- a/vendor/github.com/go-ole/go-ole/safearray_func.go +++ /dev/null @@ -1,211 +0,0 @@ -// +build !windows - -package ole - -import ( - "unsafe" -) - -// safeArrayAccessData returns raw array pointer. -// -// AKA: SafeArrayAccessData in Windows API. -func safeArrayAccessData(safearray *SafeArray) (uintptr, error) { - return uintptr(0), NewError(E_NOTIMPL) -} - -// safeArrayUnaccessData releases raw array. -// -// AKA: SafeArrayUnaccessData in Windows API. -func safeArrayUnaccessData(safearray *SafeArray) error { - return NewError(E_NOTIMPL) -} - -// safeArrayAllocData allocates SafeArray. -// -// AKA: SafeArrayAllocData in Windows API. -func safeArrayAllocData(safearray *SafeArray) error { - return NewError(E_NOTIMPL) -} - -// safeArrayAllocDescriptor allocates SafeArray. -// -// AKA: SafeArrayAllocDescriptor in Windows API. -func safeArrayAllocDescriptor(dimensions uint32) (*SafeArray, error) { - return nil, NewError(E_NOTIMPL) -} - -// safeArrayAllocDescriptorEx allocates SafeArray. -// -// AKA: SafeArrayAllocDescriptorEx in Windows API. -func safeArrayAllocDescriptorEx(variantType VT, dimensions uint32) (*SafeArray, error) { - return nil, NewError(E_NOTIMPL) -} - -// safeArrayCopy returns copy of SafeArray. -// -// AKA: SafeArrayCopy in Windows API. -func safeArrayCopy(original *SafeArray) (*SafeArray, error) { - return nil, NewError(E_NOTIMPL) -} - -// safeArrayCopyData duplicates SafeArray into another SafeArray object. -// -// AKA: SafeArrayCopyData in Windows API. -func safeArrayCopyData(original *SafeArray, duplicate *SafeArray) error { - return NewError(E_NOTIMPL) -} - -// safeArrayCreate creates SafeArray. -// -// AKA: SafeArrayCreate in Windows API. -func safeArrayCreate(variantType VT, dimensions uint32, bounds *SafeArrayBound) (*SafeArray, error) { - return nil, NewError(E_NOTIMPL) -} - -// safeArrayCreateEx creates SafeArray. -// -// AKA: SafeArrayCreateEx in Windows API. -func safeArrayCreateEx(variantType VT, dimensions uint32, bounds *SafeArrayBound, extra uintptr) (*SafeArray, error) { - return nil, NewError(E_NOTIMPL) -} - -// safeArrayCreateVector creates SafeArray. -// -// AKA: SafeArrayCreateVector in Windows API. -func safeArrayCreateVector(variantType VT, lowerBound int32, length uint32) (*SafeArray, error) { - return nil, NewError(E_NOTIMPL) -} - -// safeArrayCreateVectorEx creates SafeArray. -// -// AKA: SafeArrayCreateVectorEx in Windows API. -func safeArrayCreateVectorEx(variantType VT, lowerBound int32, length uint32, extra uintptr) (*SafeArray, error) { - return nil, NewError(E_NOTIMPL) -} - -// safeArrayDestroy destroys SafeArray object. -// -// AKA: SafeArrayDestroy in Windows API. -func safeArrayDestroy(safearray *SafeArray) error { - return NewError(E_NOTIMPL) -} - -// safeArrayDestroyData destroys SafeArray object. -// -// AKA: SafeArrayDestroyData in Windows API. -func safeArrayDestroyData(safearray *SafeArray) error { - return NewError(E_NOTIMPL) -} - -// safeArrayDestroyDescriptor destroys SafeArray object. -// -// AKA: SafeArrayDestroyDescriptor in Windows API. -func safeArrayDestroyDescriptor(safearray *SafeArray) error { - return NewError(E_NOTIMPL) -} - -// safeArrayGetDim is the amount of dimensions in the SafeArray. -// -// SafeArrays may have multiple dimensions. Meaning, it could be -// multidimensional array. -// -// AKA: SafeArrayGetDim in Windows API. -func safeArrayGetDim(safearray *SafeArray) (*uint32, error) { - u := uint32(0) - return &u, NewError(E_NOTIMPL) -} - -// safeArrayGetElementSize is the element size in bytes. -// -// AKA: SafeArrayGetElemsize in Windows API. -func safeArrayGetElementSize(safearray *SafeArray) (*uint32, error) { - u := uint32(0) - return &u, NewError(E_NOTIMPL) -} - -// safeArrayGetElement retrieves element at given index. -func safeArrayGetElement(safearray *SafeArray, index int32, pv unsafe.Pointer) error { - return NewError(E_NOTIMPL) -} - -// safeArrayGetElement retrieves element at given index and converts to string. -func safeArrayGetElementString(safearray *SafeArray, index int32) (string, error) { - return "", NewError(E_NOTIMPL) -} - -// safeArrayGetIID is the InterfaceID of the elements in the SafeArray. -// -// AKA: SafeArrayGetIID in Windows API. -func safeArrayGetIID(safearray *SafeArray) (*GUID, error) { - return nil, NewError(E_NOTIMPL) -} - -// safeArrayGetLBound returns lower bounds of SafeArray. -// -// SafeArrays may have multiple dimensions. Meaning, it could be -// multidimensional array. -// -// AKA: SafeArrayGetLBound in Windows API. -func safeArrayGetLBound(safearray *SafeArray, dimension uint32) (int32, error) { - return int32(0), NewError(E_NOTIMPL) -} - -// safeArrayGetUBound returns upper bounds of SafeArray. -// -// SafeArrays may have multiple dimensions. Meaning, it could be -// multidimensional array. -// -// AKA: SafeArrayGetUBound in Windows API. -func safeArrayGetUBound(safearray *SafeArray, dimension uint32) (int32, error) { - return int32(0), NewError(E_NOTIMPL) -} - -// safeArrayGetVartype returns data type of SafeArray. -// -// AKA: SafeArrayGetVartype in Windows API. -func safeArrayGetVartype(safearray *SafeArray) (uint16, error) { - return uint16(0), NewError(E_NOTIMPL) -} - -// safeArrayLock locks SafeArray for reading to modify SafeArray. -// -// This must be called during some calls to ensure that another process does not -// read or write to the SafeArray during editing. -// -// AKA: SafeArrayLock in Windows API. -func safeArrayLock(safearray *SafeArray) error { - return NewError(E_NOTIMPL) -} - -// safeArrayUnlock unlocks SafeArray for reading. -// -// AKA: SafeArrayUnlock in Windows API. -func safeArrayUnlock(safearray *SafeArray) error { - return NewError(E_NOTIMPL) -} - -// safeArrayPutElement stores the data element at the specified location in the -// array. -// -// AKA: SafeArrayPutElement in Windows API. -func safeArrayPutElement(safearray *SafeArray, index int64, element uintptr) error { - return NewError(E_NOTIMPL) -} - -// safeArrayGetRecordInfo accesses IRecordInfo info for custom types. -// -// AKA: SafeArrayGetRecordInfo in Windows API. -// -// XXX: Must implement IRecordInfo interface for this to return. -func safeArrayGetRecordInfo(safearray *SafeArray) (interface{}, error) { - return nil, NewError(E_NOTIMPL) -} - -// safeArraySetRecordInfo mutates IRecordInfo info for custom types. -// -// AKA: SafeArraySetRecordInfo in Windows API. -// -// XXX: Must implement IRecordInfo interface for this to return. -func safeArraySetRecordInfo(safearray *SafeArray, recordInfo interface{}) error { - return NewError(E_NOTIMPL) -} diff --git a/vendor/github.com/go-ole/go-ole/safearray_windows.go b/vendor/github.com/go-ole/go-ole/safearray_windows.go deleted file mode 100644 index b48a2394..00000000 --- a/vendor/github.com/go-ole/go-ole/safearray_windows.go +++ /dev/null @@ -1,337 +0,0 @@ -// +build windows - -package ole - -import ( - "unsafe" -) - -var ( - procSafeArrayAccessData, _ = modoleaut32.FindProc("SafeArrayAccessData") - procSafeArrayAllocData, _ = modoleaut32.FindProc("SafeArrayAllocData") - procSafeArrayAllocDescriptor, _ = modoleaut32.FindProc("SafeArrayAllocDescriptor") - procSafeArrayAllocDescriptorEx, _ = modoleaut32.FindProc("SafeArrayAllocDescriptorEx") - procSafeArrayCopy, _ = modoleaut32.FindProc("SafeArrayCopy") - procSafeArrayCopyData, _ = modoleaut32.FindProc("SafeArrayCopyData") - procSafeArrayCreate, _ = modoleaut32.FindProc("SafeArrayCreate") - procSafeArrayCreateEx, _ = modoleaut32.FindProc("SafeArrayCreateEx") - procSafeArrayCreateVector, _ = modoleaut32.FindProc("SafeArrayCreateVector") - procSafeArrayCreateVectorEx, _ = modoleaut32.FindProc("SafeArrayCreateVectorEx") - procSafeArrayDestroy, _ = modoleaut32.FindProc("SafeArrayDestroy") - procSafeArrayDestroyData, _ = modoleaut32.FindProc("SafeArrayDestroyData") - procSafeArrayDestroyDescriptor, _ = modoleaut32.FindProc("SafeArrayDestroyDescriptor") - procSafeArrayGetDim, _ = modoleaut32.FindProc("SafeArrayGetDim") - procSafeArrayGetElement, _ = modoleaut32.FindProc("SafeArrayGetElement") - procSafeArrayGetElemsize, _ = modoleaut32.FindProc("SafeArrayGetElemsize") - procSafeArrayGetIID, _ = modoleaut32.FindProc("SafeArrayGetIID") - procSafeArrayGetLBound, _ = modoleaut32.FindProc("SafeArrayGetLBound") - procSafeArrayGetUBound, _ = modoleaut32.FindProc("SafeArrayGetUBound") - procSafeArrayGetVartype, _ = modoleaut32.FindProc("SafeArrayGetVartype") - procSafeArrayLock, _ = modoleaut32.FindProc("SafeArrayLock") - procSafeArrayPtrOfIndex, _ = modoleaut32.FindProc("SafeArrayPtrOfIndex") - procSafeArrayUnaccessData, _ = modoleaut32.FindProc("SafeArrayUnaccessData") - procSafeArrayUnlock, _ = modoleaut32.FindProc("SafeArrayUnlock") - procSafeArrayPutElement, _ = modoleaut32.FindProc("SafeArrayPutElement") - //procSafeArrayRedim, _ = modoleaut32.FindProc("SafeArrayRedim") // TODO - //procSafeArraySetIID, _ = modoleaut32.FindProc("SafeArraySetIID") // TODO - procSafeArrayGetRecordInfo, _ = modoleaut32.FindProc("SafeArrayGetRecordInfo") - procSafeArraySetRecordInfo, _ = modoleaut32.FindProc("SafeArraySetRecordInfo") -) - -// safeArrayAccessData returns raw array pointer. -// -// AKA: SafeArrayAccessData in Windows API. -// Todo: Test -func safeArrayAccessData(safearray *SafeArray) (element uintptr, err error) { - err = convertHresultToError( - procSafeArrayAccessData.Call( - uintptr(unsafe.Pointer(safearray)), - uintptr(unsafe.Pointer(&element)))) - return -} - -// safeArrayUnaccessData releases raw array. -// -// AKA: SafeArrayUnaccessData in Windows API. -func safeArrayUnaccessData(safearray *SafeArray) (err error) { - err = convertHresultToError(procSafeArrayUnaccessData.Call(uintptr(unsafe.Pointer(safearray)))) - return -} - -// safeArrayAllocData allocates SafeArray. -// -// AKA: SafeArrayAllocData in Windows API. -func safeArrayAllocData(safearray *SafeArray) (err error) { - err = convertHresultToError(procSafeArrayAllocData.Call(uintptr(unsafe.Pointer(safearray)))) - return -} - -// safeArrayAllocDescriptor allocates SafeArray. -// -// AKA: SafeArrayAllocDescriptor in Windows API. -func safeArrayAllocDescriptor(dimensions uint32) (safearray *SafeArray, err error) { - err = convertHresultToError( - procSafeArrayAllocDescriptor.Call(uintptr(dimensions), uintptr(unsafe.Pointer(&safearray)))) - return -} - -// safeArrayAllocDescriptorEx allocates SafeArray. -// -// AKA: SafeArrayAllocDescriptorEx in Windows API. -func safeArrayAllocDescriptorEx(variantType VT, dimensions uint32) (safearray *SafeArray, err error) { - err = convertHresultToError( - procSafeArrayAllocDescriptorEx.Call( - uintptr(variantType), - uintptr(dimensions), - uintptr(unsafe.Pointer(&safearray)))) - return -} - -// safeArrayCopy returns copy of SafeArray. -// -// AKA: SafeArrayCopy in Windows API. -func safeArrayCopy(original *SafeArray) (safearray *SafeArray, err error) { - err = convertHresultToError( - procSafeArrayCopy.Call( - uintptr(unsafe.Pointer(original)), - uintptr(unsafe.Pointer(&safearray)))) - return -} - -// safeArrayCopyData duplicates SafeArray into another SafeArray object. -// -// AKA: SafeArrayCopyData in Windows API. -func safeArrayCopyData(original *SafeArray, duplicate *SafeArray) (err error) { - err = convertHresultToError( - procSafeArrayCopyData.Call( - uintptr(unsafe.Pointer(original)), - uintptr(unsafe.Pointer(duplicate)))) - return -} - -// safeArrayCreate creates SafeArray. -// -// AKA: SafeArrayCreate in Windows API. -func safeArrayCreate(variantType VT, dimensions uint32, bounds *SafeArrayBound) (safearray *SafeArray, err error) { - sa, _, err := procSafeArrayCreate.Call( - uintptr(variantType), - uintptr(dimensions), - uintptr(unsafe.Pointer(bounds))) - safearray = (*SafeArray)(unsafe.Pointer(&sa)) - return -} - -// safeArrayCreateEx creates SafeArray. -// -// AKA: SafeArrayCreateEx in Windows API. -func safeArrayCreateEx(variantType VT, dimensions uint32, bounds *SafeArrayBound, extra uintptr) (safearray *SafeArray, err error) { - sa, _, err := procSafeArrayCreateEx.Call( - uintptr(variantType), - uintptr(dimensions), - uintptr(unsafe.Pointer(bounds)), - extra) - safearray = (*SafeArray)(unsafe.Pointer(sa)) - return -} - -// safeArrayCreateVector creates SafeArray. -// -// AKA: SafeArrayCreateVector in Windows API. -func safeArrayCreateVector(variantType VT, lowerBound int32, length uint32) (safearray *SafeArray, err error) { - sa, _, err := procSafeArrayCreateVector.Call( - uintptr(variantType), - uintptr(lowerBound), - uintptr(length)) - safearray = (*SafeArray)(unsafe.Pointer(sa)) - return -} - -// safeArrayCreateVectorEx creates SafeArray. -// -// AKA: SafeArrayCreateVectorEx in Windows API. -func safeArrayCreateVectorEx(variantType VT, lowerBound int32, length uint32, extra uintptr) (safearray *SafeArray, err error) { - sa, _, err := procSafeArrayCreateVectorEx.Call( - uintptr(variantType), - uintptr(lowerBound), - uintptr(length), - extra) - safearray = (*SafeArray)(unsafe.Pointer(sa)) - return -} - -// safeArrayDestroy destroys SafeArray object. -// -// AKA: SafeArrayDestroy in Windows API. -func safeArrayDestroy(safearray *SafeArray) (err error) { - err = convertHresultToError(procSafeArrayDestroy.Call(uintptr(unsafe.Pointer(safearray)))) - return -} - -// safeArrayDestroyData destroys SafeArray object. -// -// AKA: SafeArrayDestroyData in Windows API. -func safeArrayDestroyData(safearray *SafeArray) (err error) { - err = convertHresultToError(procSafeArrayDestroyData.Call(uintptr(unsafe.Pointer(safearray)))) - return -} - -// safeArrayDestroyDescriptor destroys SafeArray object. -// -// AKA: SafeArrayDestroyDescriptor in Windows API. -func safeArrayDestroyDescriptor(safearray *SafeArray) (err error) { - err = convertHresultToError(procSafeArrayDestroyDescriptor.Call(uintptr(unsafe.Pointer(safearray)))) - return -} - -// safeArrayGetDim is the amount of dimensions in the SafeArray. -// -// SafeArrays may have multiple dimensions. Meaning, it could be -// multidimensional array. -// -// AKA: SafeArrayGetDim in Windows API. -func safeArrayGetDim(safearray *SafeArray) (dimensions *uint32, err error) { - l, _, err := procSafeArrayGetDim.Call(uintptr(unsafe.Pointer(safearray))) - dimensions = (*uint32)(unsafe.Pointer(l)) - return -} - -// safeArrayGetElementSize is the element size in bytes. -// -// AKA: SafeArrayGetElemsize in Windows API. -func safeArrayGetElementSize(safearray *SafeArray) (length *uint32, err error) { - l, _, err := procSafeArrayGetElemsize.Call(uintptr(unsafe.Pointer(safearray))) - length = (*uint32)(unsafe.Pointer(l)) - return -} - -// safeArrayGetElement retrieves element at given index. -func safeArrayGetElement(safearray *SafeArray, index int32, pv unsafe.Pointer) error { - return convertHresultToError( - procSafeArrayGetElement.Call( - uintptr(unsafe.Pointer(safearray)), - uintptr(unsafe.Pointer(&index)), - uintptr(pv))) -} - -// safeArrayGetElementString retrieves element at given index and converts to string. -func safeArrayGetElementString(safearray *SafeArray, index int32) (str string, err error) { - var element *int16 - err = convertHresultToError( - procSafeArrayGetElement.Call( - uintptr(unsafe.Pointer(safearray)), - uintptr(unsafe.Pointer(&index)), - uintptr(unsafe.Pointer(&element)))) - str = BstrToString(*(**uint16)(unsafe.Pointer(&element))) - SysFreeString(element) - return -} - -// safeArrayGetIID is the InterfaceID of the elements in the SafeArray. -// -// AKA: SafeArrayGetIID in Windows API. -func safeArrayGetIID(safearray *SafeArray) (guid *GUID, err error) { - err = convertHresultToError( - procSafeArrayGetIID.Call( - uintptr(unsafe.Pointer(safearray)), - uintptr(unsafe.Pointer(&guid)))) - return -} - -// safeArrayGetLBound returns lower bounds of SafeArray. -// -// SafeArrays may have multiple dimensions. Meaning, it could be -// multidimensional array. -// -// AKA: SafeArrayGetLBound in Windows API. -func safeArrayGetLBound(safearray *SafeArray, dimension uint32) (lowerBound int32, err error) { - err = convertHresultToError( - procSafeArrayGetLBound.Call( - uintptr(unsafe.Pointer(safearray)), - uintptr(dimension), - uintptr(unsafe.Pointer(&lowerBound)))) - return -} - -// safeArrayGetUBound returns upper bounds of SafeArray. -// -// SafeArrays may have multiple dimensions. Meaning, it could be -// multidimensional array. -// -// AKA: SafeArrayGetUBound in Windows API. -func safeArrayGetUBound(safearray *SafeArray, dimension uint32) (upperBound int32, err error) { - err = convertHresultToError( - procSafeArrayGetUBound.Call( - uintptr(unsafe.Pointer(safearray)), - uintptr(dimension), - uintptr(unsafe.Pointer(&upperBound)))) - return -} - -// safeArrayGetVartype returns data type of SafeArray. -// -// AKA: SafeArrayGetVartype in Windows API. -func safeArrayGetVartype(safearray *SafeArray) (varType uint16, err error) { - err = convertHresultToError( - procSafeArrayGetVartype.Call( - uintptr(unsafe.Pointer(safearray)), - uintptr(unsafe.Pointer(&varType)))) - return -} - -// safeArrayLock locks SafeArray for reading to modify SafeArray. -// -// This must be called during some calls to ensure that another process does not -// read or write to the SafeArray during editing. -// -// AKA: SafeArrayLock in Windows API. -func safeArrayLock(safearray *SafeArray) (err error) { - err = convertHresultToError(procSafeArrayLock.Call(uintptr(unsafe.Pointer(safearray)))) - return -} - -// safeArrayUnlock unlocks SafeArray for reading. -// -// AKA: SafeArrayUnlock in Windows API. -func safeArrayUnlock(safearray *SafeArray) (err error) { - err = convertHresultToError(procSafeArrayUnlock.Call(uintptr(unsafe.Pointer(safearray)))) - return -} - -// safeArrayPutElement stores the data element at the specified location in the -// array. -// -// AKA: SafeArrayPutElement in Windows API. -func safeArrayPutElement(safearray *SafeArray, index int64, element uintptr) (err error) { - err = convertHresultToError( - procSafeArrayPutElement.Call( - uintptr(unsafe.Pointer(safearray)), - uintptr(unsafe.Pointer(&index)), - uintptr(unsafe.Pointer(element)))) - return -} - -// safeArrayGetRecordInfo accesses IRecordInfo info for custom types. -// -// AKA: SafeArrayGetRecordInfo in Windows API. -// -// XXX: Must implement IRecordInfo interface for this to return. -func safeArrayGetRecordInfo(safearray *SafeArray) (recordInfo interface{}, err error) { - err = convertHresultToError( - procSafeArrayGetRecordInfo.Call( - uintptr(unsafe.Pointer(safearray)), - uintptr(unsafe.Pointer(&recordInfo)))) - return -} - -// safeArraySetRecordInfo mutates IRecordInfo info for custom types. -// -// AKA: SafeArraySetRecordInfo in Windows API. -// -// XXX: Must implement IRecordInfo interface for this to return. -func safeArraySetRecordInfo(safearray *SafeArray, recordInfo interface{}) (err error) { - err = convertHresultToError( - procSafeArraySetRecordInfo.Call( - uintptr(unsafe.Pointer(safearray)), - uintptr(unsafe.Pointer(&recordInfo)))) - return -} diff --git a/vendor/github.com/go-ole/go-ole/safearrayconversion.go b/vendor/github.com/go-ole/go-ole/safearrayconversion.go deleted file mode 100644 index 259f488e..00000000 --- a/vendor/github.com/go-ole/go-ole/safearrayconversion.go +++ /dev/null @@ -1,140 +0,0 @@ -// Helper for converting SafeArray to array of objects. - -package ole - -import ( - "unsafe" -) - -type SafeArrayConversion struct { - Array *SafeArray -} - -func (sac *SafeArrayConversion) ToStringArray() (strings []string) { - totalElements, _ := sac.TotalElements(0) - strings = make([]string, totalElements) - - for i := int32(0); i < totalElements; i++ { - strings[int32(i)], _ = safeArrayGetElementString(sac.Array, i) - } - - return -} - -func (sac *SafeArrayConversion) ToByteArray() (bytes []byte) { - totalElements, _ := sac.TotalElements(0) - bytes = make([]byte, totalElements) - - for i := int32(0); i < totalElements; i++ { - safeArrayGetElement(sac.Array, i, unsafe.Pointer(&bytes[int32(i)])) - } - - return -} - -func (sac *SafeArrayConversion) ToValueArray() (values []interface{}) { - totalElements, _ := sac.TotalElements(0) - values = make([]interface{}, totalElements) - vt, _ := safeArrayGetVartype(sac.Array) - - for i := int32(0); i < totalElements; i++ { - switch VT(vt) { - case VT_BOOL: - var v bool - safeArrayGetElement(sac.Array, i, unsafe.Pointer(&v)) - values[i] = v - case VT_I1: - var v int8 - safeArrayGetElement(sac.Array, i, unsafe.Pointer(&v)) - values[i] = v - case VT_I2: - var v int16 - safeArrayGetElement(sac.Array, i, unsafe.Pointer(&v)) - values[i] = v - case VT_I4: - var v int32 - safeArrayGetElement(sac.Array, i, unsafe.Pointer(&v)) - values[i] = v - case VT_I8: - var v int64 - safeArrayGetElement(sac.Array, i, unsafe.Pointer(&v)) - values[i] = v - case VT_UI1: - var v uint8 - safeArrayGetElement(sac.Array, i, unsafe.Pointer(&v)) - values[i] = v - case VT_UI2: - var v uint16 - safeArrayGetElement(sac.Array, i, unsafe.Pointer(&v)) - values[i] = v - case VT_UI4: - var v uint32 - safeArrayGetElement(sac.Array, i, unsafe.Pointer(&v)) - values[i] = v - case VT_UI8: - var v uint64 - safeArrayGetElement(sac.Array, i, unsafe.Pointer(&v)) - values[i] = v - case VT_R4: - var v float32 - safeArrayGetElement(sac.Array, i, unsafe.Pointer(&v)) - values[i] = v - case VT_R8: - var v float64 - safeArrayGetElement(sac.Array, i, unsafe.Pointer(&v)) - values[i] = v - case VT_BSTR: - var v string - safeArrayGetElement(sac.Array, i, unsafe.Pointer(&v)) - values[i] = v - case VT_VARIANT: - var v VARIANT - safeArrayGetElement(sac.Array, i, unsafe.Pointer(&v)) - values[i] = v.Value() - default: - // TODO - } - } - - return -} - -func (sac *SafeArrayConversion) GetType() (varType uint16, err error) { - return safeArrayGetVartype(sac.Array) -} - -func (sac *SafeArrayConversion) GetDimensions() (dimensions *uint32, err error) { - return safeArrayGetDim(sac.Array) -} - -func (sac *SafeArrayConversion) GetSize() (length *uint32, err error) { - return safeArrayGetElementSize(sac.Array) -} - -func (sac *SafeArrayConversion) TotalElements(index uint32) (totalElements int32, err error) { - if index < 1 { - index = 1 - } - - // Get array bounds - var LowerBounds int32 - var UpperBounds int32 - - LowerBounds, err = safeArrayGetLBound(sac.Array, index) - if err != nil { - return - } - - UpperBounds, err = safeArrayGetUBound(sac.Array, index) - if err != nil { - return - } - - totalElements = UpperBounds - LowerBounds + 1 - return -} - -// Release Safe Array memory -func (sac *SafeArrayConversion) Release() { - safeArrayDestroy(sac.Array) -} diff --git a/vendor/github.com/go-ole/go-ole/safearrayslices.go b/vendor/github.com/go-ole/go-ole/safearrayslices.go deleted file mode 100644 index a9fa885f..00000000 --- a/vendor/github.com/go-ole/go-ole/safearrayslices.go +++ /dev/null @@ -1,33 +0,0 @@ -// +build windows - -package ole - -import ( - "unsafe" -) - -func safeArrayFromByteSlice(slice []byte) *SafeArray { - array, _ := safeArrayCreateVector(VT_UI1, 0, uint32(len(slice))) - - if array == nil { - panic("Could not convert []byte to SAFEARRAY") - } - - for i, v := range slice { - safeArrayPutElement(array, int64(i), uintptr(unsafe.Pointer(&v))) - } - return array -} - -func safeArrayFromStringSlice(slice []string) *SafeArray { - array, _ := safeArrayCreateVector(VT_BSTR, 0, uint32(len(slice))) - - if array == nil { - panic("Could not convert []string to SAFEARRAY") - } - // SysAllocStringLen(s) - for i, v := range slice { - safeArrayPutElement(array, int64(i), uintptr(unsafe.Pointer(SysAllocStringLen(v)))) - } - return array -} diff --git a/vendor/github.com/go-ole/go-ole/utility.go b/vendor/github.com/go-ole/go-ole/utility.go deleted file mode 100644 index 99ee82dc..00000000 --- a/vendor/github.com/go-ole/go-ole/utility.go +++ /dev/null @@ -1,101 +0,0 @@ -package ole - -import ( - "unicode/utf16" - "unsafe" -) - -// ClassIDFrom retrieves class ID whether given is program ID or application string. -// -// Helper that provides check against both Class ID from Program ID and Class ID from string. It is -// faster, if you know which you are using, to use the individual functions, but this will check -// against available functions for you. -func ClassIDFrom(programID string) (classID *GUID, err error) { - classID, err = CLSIDFromProgID(programID) - if err != nil { - classID, err = CLSIDFromString(programID) - if err != nil { - return - } - } - return -} - -// BytePtrToString converts byte pointer to a Go string. -func BytePtrToString(p *byte) string { - a := (*[10000]uint8)(unsafe.Pointer(p)) - i := 0 - for a[i] != 0 { - i++ - } - return string(a[:i]) -} - -// UTF16PtrToString is alias for LpOleStrToString. -// -// Kept for compatibility reasons. -func UTF16PtrToString(p *uint16) string { - return LpOleStrToString(p) -} - -// LpOleStrToString converts COM Unicode to Go string. -func LpOleStrToString(p *uint16) string { - if p == nil { - return "" - } - - length := lpOleStrLen(p) - a := make([]uint16, length) - - ptr := unsafe.Pointer(p) - - for i := 0; i < int(length); i++ { - a[i] = *(*uint16)(ptr) - ptr = unsafe.Pointer(uintptr(ptr) + 2) - } - - return string(utf16.Decode(a)) -} - -// BstrToString converts COM binary string to Go string. -func BstrToString(p *uint16) string { - if p == nil { - return "" - } - length := SysStringLen((*int16)(unsafe.Pointer(p))) - a := make([]uint16, length) - - ptr := unsafe.Pointer(p) - - for i := 0; i < int(length); i++ { - a[i] = *(*uint16)(ptr) - ptr = unsafe.Pointer(uintptr(ptr) + 2) - } - return string(utf16.Decode(a)) -} - -// lpOleStrLen returns the length of Unicode string. -func lpOleStrLen(p *uint16) (length int64) { - if p == nil { - return 0 - } - - ptr := unsafe.Pointer(p) - - for i := 0; ; i++ { - if 0 == *(*uint16)(ptr) { - length = int64(i) - break - } - ptr = unsafe.Pointer(uintptr(ptr) + 2) - } - return -} - -// convertHresultToError converts syscall to error, if call is unsuccessful. -func convertHresultToError(hr uintptr, r2 uintptr, ignore error) (err error) { - if hr != 0 { - err = NewError(hr) - } - return -} diff --git a/vendor/github.com/go-ole/go-ole/variables.go b/vendor/github.com/go-ole/go-ole/variables.go deleted file mode 100644 index ebe00f1c..00000000 --- a/vendor/github.com/go-ole/go-ole/variables.go +++ /dev/null @@ -1,16 +0,0 @@ -// +build windows - -package ole - -import ( - "syscall" -) - -var ( - modcombase = syscall.NewLazyDLL("combase.dll") - modkernel32, _ = syscall.LoadDLL("kernel32.dll") - modole32, _ = syscall.LoadDLL("ole32.dll") - modoleaut32, _ = syscall.LoadDLL("oleaut32.dll") - modmsvcrt, _ = syscall.LoadDLL("msvcrt.dll") - moduser32, _ = syscall.LoadDLL("user32.dll") -) diff --git a/vendor/github.com/go-ole/go-ole/variant.go b/vendor/github.com/go-ole/go-ole/variant.go deleted file mode 100644 index 967a23fe..00000000 --- a/vendor/github.com/go-ole/go-ole/variant.go +++ /dev/null @@ -1,105 +0,0 @@ -package ole - -import "unsafe" - -// NewVariant returns new variant based on type and value. -func NewVariant(vt VT, val int64) VARIANT { - return VARIANT{VT: vt, Val: val} -} - -// ToIUnknown converts Variant to Unknown object. -func (v *VARIANT) ToIUnknown() *IUnknown { - if v.VT != VT_UNKNOWN { - return nil - } - return (*IUnknown)(unsafe.Pointer(uintptr(v.Val))) -} - -// ToIDispatch converts variant to dispatch object. -func (v *VARIANT) ToIDispatch() *IDispatch { - if v.VT != VT_DISPATCH { - return nil - } - return (*IDispatch)(unsafe.Pointer(uintptr(v.Val))) -} - -// ToArray converts variant to SafeArray helper. -func (v *VARIANT) ToArray() *SafeArrayConversion { - if v.VT != VT_SAFEARRAY { - if v.VT&VT_ARRAY == 0 { - return nil - } - } - var safeArray *SafeArray = (*SafeArray)(unsafe.Pointer(uintptr(v.Val))) - return &SafeArrayConversion{safeArray} -} - -// ToString converts variant to Go string. -func (v *VARIANT) ToString() string { - if v.VT != VT_BSTR { - return "" - } - return BstrToString(*(**uint16)(unsafe.Pointer(&v.Val))) -} - -// Clear the memory of variant object. -func (v *VARIANT) Clear() error { - return VariantClear(v) -} - -// Value returns variant value based on its type. -// -// Currently supported types: 2- and 4-byte integers, strings, bools. -// Note that 64-bit integers, datetimes, and other types are stored as strings -// and will be returned as strings. -// -// Needs to be further converted, because this returns an interface{}. -func (v *VARIANT) Value() interface{} { - switch v.VT { - case VT_I1: - return int8(v.Val) - case VT_UI1: - return uint8(v.Val) - case VT_I2: - return int16(v.Val) - case VT_UI2: - return uint16(v.Val) - case VT_I4: - return int32(v.Val) - case VT_UI4: - return uint32(v.Val) - case VT_I8: - return int64(v.Val) - case VT_UI8: - return uint64(v.Val) - case VT_INT: - return int(v.Val) - case VT_UINT: - return uint(v.Val) - case VT_INT_PTR: - return uintptr(v.Val) // TODO - case VT_UINT_PTR: - return uintptr(v.Val) - case VT_R4: - return *(*float32)(unsafe.Pointer(&v.Val)) - case VT_R8: - return *(*float64)(unsafe.Pointer(&v.Val)) - case VT_BSTR: - return v.ToString() - case VT_DATE: - // VT_DATE type will either return float64 or time.Time. - d := uint64(v.Val) - date, err := GetVariantDate(d) - if err != nil { - return float64(v.Val) - } - return date - case VT_UNKNOWN: - return v.ToIUnknown() - case VT_DISPATCH: - return v.ToIDispatch() - case VT_BOOL: - return v.Val != 0 - } - return nil -} diff --git a/vendor/github.com/go-ole/go-ole/variant_386.go b/vendor/github.com/go-ole/go-ole/variant_386.go deleted file mode 100644 index e73736bf..00000000 --- a/vendor/github.com/go-ole/go-ole/variant_386.go +++ /dev/null @@ -1,11 +0,0 @@ -// +build 386 - -package ole - -type VARIANT struct { - VT VT // 2 - wReserved1 uint16 // 4 - wReserved2 uint16 // 6 - wReserved3 uint16 // 8 - Val int64 // 16 -} diff --git a/vendor/github.com/go-ole/go-ole/variant_amd64.go b/vendor/github.com/go-ole/go-ole/variant_amd64.go deleted file mode 100644 index dccdde13..00000000 --- a/vendor/github.com/go-ole/go-ole/variant_amd64.go +++ /dev/null @@ -1,12 +0,0 @@ -// +build amd64 - -package ole - -type VARIANT struct { - VT VT // 2 - wReserved1 uint16 // 4 - wReserved2 uint16 // 6 - wReserved3 uint16 // 8 - Val int64 // 16 - _ [8]byte // 24 -} diff --git a/vendor/github.com/go-ole/go-ole/variant_date_386.go b/vendor/github.com/go-ole/go-ole/variant_date_386.go deleted file mode 100644 index 1b970f63..00000000 --- a/vendor/github.com/go-ole/go-ole/variant_date_386.go +++ /dev/null @@ -1,22 +0,0 @@ -// +build windows,386 - -package ole - -import ( - "errors" - "syscall" - "time" - "unsafe" -) - -// GetVariantDate converts COM Variant Time value to Go time.Time. -func GetVariantDate(value uint64) (time.Time, error) { - var st syscall.Systemtime - v1 := uint32(value) - v2 := uint32(value >> 32) - r, _, _ := procVariantTimeToSystemTime.Call(uintptr(v1), uintptr(v2), uintptr(unsafe.Pointer(&st))) - if r != 0 { - return time.Date(int(st.Year), time.Month(st.Month), int(st.Day), int(st.Hour), int(st.Minute), int(st.Second), int(st.Milliseconds/1000), time.UTC), nil - } - return time.Now(), errors.New("Could not convert to time, passing current time.") -} diff --git a/vendor/github.com/go-ole/go-ole/variant_date_amd64.go b/vendor/github.com/go-ole/go-ole/variant_date_amd64.go deleted file mode 100644 index 6952f1f0..00000000 --- a/vendor/github.com/go-ole/go-ole/variant_date_amd64.go +++ /dev/null @@ -1,20 +0,0 @@ -// +build windows,amd64 - -package ole - -import ( - "errors" - "syscall" - "time" - "unsafe" -) - -// GetVariantDate converts COM Variant Time value to Go time.Time. -func GetVariantDate(value uint64) (time.Time, error) { - var st syscall.Systemtime - r, _, _ := procVariantTimeToSystemTime.Call(uintptr(value), uintptr(unsafe.Pointer(&st))) - if r != 0 { - return time.Date(int(st.Year), time.Month(st.Month), int(st.Day), int(st.Hour), int(st.Minute), int(st.Second), int(st.Milliseconds/1000), time.UTC), nil - } - return time.Now(), errors.New("Could not convert to time, passing current time.") -} diff --git a/vendor/github.com/go-ole/go-ole/variant_ppc64le.go b/vendor/github.com/go-ole/go-ole/variant_ppc64le.go deleted file mode 100644 index 326427a7..00000000 --- a/vendor/github.com/go-ole/go-ole/variant_ppc64le.go +++ /dev/null @@ -1,12 +0,0 @@ -// +build ppc64le - -package ole - -type VARIANT struct { - VT VT // 2 - wReserved1 uint16 // 4 - wReserved2 uint16 // 6 - wReserved3 uint16 // 8 - Val int64 // 16 - _ [8]byte // 24 -} diff --git a/vendor/github.com/go-ole/go-ole/variant_s390x.go b/vendor/github.com/go-ole/go-ole/variant_s390x.go deleted file mode 100644 index 9874ca66..00000000 --- a/vendor/github.com/go-ole/go-ole/variant_s390x.go +++ /dev/null @@ -1,12 +0,0 @@ -// +build s390x - -package ole - -type VARIANT struct { - VT VT // 2 - wReserved1 uint16 // 4 - wReserved2 uint16 // 6 - wReserved3 uint16 // 8 - Val int64 // 16 - _ [8]byte // 24 -} diff --git a/vendor/github.com/go-ole/go-ole/vt_string.go b/vendor/github.com/go-ole/go-ole/vt_string.go deleted file mode 100644 index 729b4a04..00000000 --- a/vendor/github.com/go-ole/go-ole/vt_string.go +++ /dev/null @@ -1,58 +0,0 @@ -// generated by stringer -output vt_string.go -type VT; DO NOT EDIT - -package ole - -import "fmt" - -const ( - _VT_name_0 = "VT_EMPTYVT_NULLVT_I2VT_I4VT_R4VT_R8VT_CYVT_DATEVT_BSTRVT_DISPATCHVT_ERRORVT_BOOLVT_VARIANTVT_UNKNOWNVT_DECIMAL" - _VT_name_1 = "VT_I1VT_UI1VT_UI2VT_UI4VT_I8VT_UI8VT_INTVT_UINTVT_VOIDVT_HRESULTVT_PTRVT_SAFEARRAYVT_CARRAYVT_USERDEFINEDVT_LPSTRVT_LPWSTR" - _VT_name_2 = "VT_RECORDVT_INT_PTRVT_UINT_PTR" - _VT_name_3 = "VT_FILETIMEVT_BLOBVT_STREAMVT_STORAGEVT_STREAMED_OBJECTVT_STORED_OBJECTVT_BLOB_OBJECTVT_CFVT_CLSID" - _VT_name_4 = "VT_BSTR_BLOBVT_VECTOR" - _VT_name_5 = "VT_ARRAY" - _VT_name_6 = "VT_BYREF" - _VT_name_7 = "VT_RESERVED" - _VT_name_8 = "VT_ILLEGAL" -) - -var ( - _VT_index_0 = [...]uint8{0, 8, 15, 20, 25, 30, 35, 40, 47, 54, 65, 73, 80, 90, 100, 110} - _VT_index_1 = [...]uint8{0, 5, 11, 17, 23, 28, 34, 40, 47, 54, 64, 70, 82, 91, 105, 113, 122} - _VT_index_2 = [...]uint8{0, 9, 19, 30} - _VT_index_3 = [...]uint8{0, 11, 18, 27, 37, 55, 71, 85, 90, 98} - _VT_index_4 = [...]uint8{0, 12, 21} - _VT_index_5 = [...]uint8{0, 8} - _VT_index_6 = [...]uint8{0, 8} - _VT_index_7 = [...]uint8{0, 11} - _VT_index_8 = [...]uint8{0, 10} -) - -func (i VT) String() string { - switch { - case 0 <= i && i <= 14: - return _VT_name_0[_VT_index_0[i]:_VT_index_0[i+1]] - case 16 <= i && i <= 31: - i -= 16 - return _VT_name_1[_VT_index_1[i]:_VT_index_1[i+1]] - case 36 <= i && i <= 38: - i -= 36 - return _VT_name_2[_VT_index_2[i]:_VT_index_2[i+1]] - case 64 <= i && i <= 72: - i -= 64 - return _VT_name_3[_VT_index_3[i]:_VT_index_3[i+1]] - case 4095 <= i && i <= 4096: - i -= 4095 - return _VT_name_4[_VT_index_4[i]:_VT_index_4[i+1]] - case i == 8192: - return _VT_name_5 - case i == 16384: - return _VT_name_6 - case i == 32768: - return _VT_name_7 - case i == 65535: - return _VT_name_8 - default: - return fmt.Sprintf("VT(%d)", i) - } -} diff --git a/vendor/github.com/go-ole/go-ole/winrt.go b/vendor/github.com/go-ole/go-ole/winrt.go deleted file mode 100644 index 4e9eca73..00000000 --- a/vendor/github.com/go-ole/go-ole/winrt.go +++ /dev/null @@ -1,99 +0,0 @@ -// +build windows - -package ole - -import ( - "reflect" - "syscall" - "unicode/utf8" - "unsafe" -) - -var ( - procRoInitialize = modcombase.NewProc("RoInitialize") - procRoActivateInstance = modcombase.NewProc("RoActivateInstance") - procRoGetActivationFactory = modcombase.NewProc("RoGetActivationFactory") - procWindowsCreateString = modcombase.NewProc("WindowsCreateString") - procWindowsDeleteString = modcombase.NewProc("WindowsDeleteString") - procWindowsGetStringRawBuffer = modcombase.NewProc("WindowsGetStringRawBuffer") -) - -func RoInitialize(thread_type uint32) (err error) { - hr, _, _ := procRoInitialize.Call(uintptr(thread_type)) - if hr != 0 { - err = NewError(hr) - } - return -} - -func RoActivateInstance(clsid string) (ins *IInspectable, err error) { - hClsid, err := NewHString(clsid) - if err != nil { - return nil, err - } - defer DeleteHString(hClsid) - - hr, _, _ := procRoActivateInstance.Call( - uintptr(unsafe.Pointer(hClsid)), - uintptr(unsafe.Pointer(&ins))) - if hr != 0 { - err = NewError(hr) - } - return -} - -func RoGetActivationFactory(clsid string, iid *GUID) (ins *IInspectable, err error) { - hClsid, err := NewHString(clsid) - if err != nil { - return nil, err - } - defer DeleteHString(hClsid) - - hr, _, _ := procRoGetActivationFactory.Call( - uintptr(unsafe.Pointer(hClsid)), - uintptr(unsafe.Pointer(iid)), - uintptr(unsafe.Pointer(&ins))) - if hr != 0 { - err = NewError(hr) - } - return -} - -// HString is handle string for pointers. -type HString uintptr - -// NewHString returns a new HString for Go string. -func NewHString(s string) (hstring HString, err error) { - u16 := syscall.StringToUTF16Ptr(s) - len := uint32(utf8.RuneCountInString(s)) - hr, _, _ := procWindowsCreateString.Call( - uintptr(unsafe.Pointer(u16)), - uintptr(len), - uintptr(unsafe.Pointer(&hstring))) - if hr != 0 { - err = NewError(hr) - } - return -} - -// DeleteHString deletes HString. -func DeleteHString(hstring HString) (err error) { - hr, _, _ := procWindowsDeleteString.Call(uintptr(hstring)) - if hr != 0 { - err = NewError(hr) - } - return -} - -// String returns Go string value of HString. -func (h HString) String() string { - var u16buf uintptr - var u16len uint32 - u16buf, _, _ = procWindowsGetStringRawBuffer.Call( - uintptr(h), - uintptr(unsafe.Pointer(&u16len))) - - u16hdr := reflect.SliceHeader{Data: u16buf, Len: int(u16len), Cap: int(u16len)} - u16 := *(*[]uint16)(unsafe.Pointer(&u16hdr)) - return syscall.UTF16ToString(u16) -} diff --git a/vendor/github.com/go-ole/go-ole/winrt_doc.go b/vendor/github.com/go-ole/go-ole/winrt_doc.go deleted file mode 100644 index 52e6d74c..00000000 --- a/vendor/github.com/go-ole/go-ole/winrt_doc.go +++ /dev/null @@ -1,36 +0,0 @@ -// +build !windows - -package ole - -// RoInitialize -func RoInitialize(thread_type uint32) (err error) { - return NewError(E_NOTIMPL) -} - -// RoActivateInstance -func RoActivateInstance(clsid string) (ins *IInspectable, err error) { - return nil, NewError(E_NOTIMPL) -} - -// RoGetActivationFactory -func RoGetActivationFactory(clsid string, iid *GUID) (ins *IInspectable, err error) { - return nil, NewError(E_NOTIMPL) -} - -// HString is handle string for pointers. -type HString uintptr - -// NewHString returns a new HString for Go string. -func NewHString(s string) (hstring HString, err error) { - return HString(uintptr(0)), NewError(E_NOTIMPL) -} - -// DeleteHString deletes HString. -func DeleteHString(hstring HString) (err error) { - return NewError(E_NOTIMPL) -} - -// String returns Go string value of HString. -func (h HString) String() string { - return "" -} diff --git a/vendor/github.com/godbus/dbus/.travis.yml b/vendor/github.com/godbus/dbus/.travis.yml deleted file mode 100644 index 9cd57f43..00000000 --- a/vendor/github.com/godbus/dbus/.travis.yml +++ /dev/null @@ -1,46 +0,0 @@ -dist: precise -language: go -go_import_path: github.com/godbus/dbus -sudo: true - -go: - - 1.7.3 - - 1.8.7 - - 1.9.5 - - 1.10.1 - - tip - -env: - global: - matrix: - - TARGET=amd64 - - TARGET=arm64 - - TARGET=arm - - TARGET=386 - - TARGET=ppc64le - -matrix: - fast_finish: true - allow_failures: - - go: tip - exclude: - - go: tip - env: TARGET=arm - - go: tip - env: TARGET=arm64 - - go: tip - env: TARGET=386 - - go: tip - env: TARGET=ppc64le - -addons: - apt: - packages: - - dbus - - dbus-x11 - -before_install: - -script: - - go test -v -race ./... # Run all the tests with the race detector enabled - - go vet ./... # go vet is the official Go static analyzer diff --git a/vendor/github.com/godbus/dbus/CONTRIBUTING.md b/vendor/github.com/godbus/dbus/CONTRIBUTING.md deleted file mode 100644 index c88f9b2b..00000000 --- a/vendor/github.com/godbus/dbus/CONTRIBUTING.md +++ /dev/null @@ -1,50 +0,0 @@ -# How to Contribute - -## Getting Started - -- Fork the repository on GitHub -- Read the [README](README.markdown) for build and test instructions -- Play with the project, submit bugs, submit patches! - -## Contribution Flow - -This is a rough outline of what a contributor's workflow looks like: - -- Create a topic branch from where you want to base your work (usually master). -- Make commits of logical units. -- Make sure your commit messages are in the proper format (see below). -- Push your changes to a topic branch in your fork of the repository. -- Make sure the tests pass, and add any new tests as appropriate. -- Submit a pull request to the original repository. - -Thanks for your contributions! - -### Format of the Commit Message - -We follow a rough convention for commit messages that is designed to answer two -questions: what changed and why. The subject line should feature the what and -the body of the commit should describe the why. - -``` -scripts: add the test-cluster command - -this uses tmux to setup a test cluster that you can easily kill and -start for debugging. - -Fixes #38 -``` - -The format can be described more formally as follows: - -``` -: - - - -