From 834c095c2f344196fadfa07f204bfff6001e7f28 Mon Sep 17 00:00:00 2001 From: Antonio Pagano Date: Mon, 20 Apr 2020 20:16:44 -0500 Subject: [PATCH 01/64] adding direct version on the docker build --- .goreleaser.yml | 2 -- Dockerfile.build | 4 ++-- Dockerfile.slim.build | 4 ++-- 3 files changed, 4 insertions(+), 6 deletions(-) diff --git a/.goreleaser.yml b/.goreleaser.yml index 01a27ce3b..2bd591e4e 100644 --- a/.goreleaser.yml +++ b/.goreleaser.yml @@ -17,8 +17,6 @@ builds: goarm: - 6 - 7 - hooks: - post: tar -czvf dist/buffalo_Linux_x86_64.tar.gz dist/buffalo_linux_amd64 archives: - replacements: diff --git a/Dockerfile.build b/Dockerfile.build index ec533d610..d7d916078 100644 --- a/Dockerfile.build +++ b/Dockerfile.build @@ -33,8 +33,8 @@ RUN npm install -g --no-progress yarn \ RUN curl -sfL https://install.goreleaser.com/github.com/golangci/golangci-lint.sh | sh -s -- -b $(go env GOPATH)/bin v1.24.0 # Pulling docker binary from releases -RUN wget https://github.com/gobuffalo/buffalo/releases/latest/download/buffalo_Linux_x86_64.tar.gz \ - && tar -xzf buffalo_Linux_x86_64.tar.gz \ +RUN wget https://github.com/gobuffalo/buffalo/releases/download/v0.16.5/buffalo_0.16.6_Linux_x86_64.tar.gz \ + && tar -xzf buffalo_0.16.6_Linux_x86_64.tar.gz \ && mv buffalo $(go env GOPATH)/bin/buffalo RUN buffalo plugins install github.com/gobuffalo/buffalo-pop/v2 diff --git a/Dockerfile.slim.build b/Dockerfile.slim.build index 3d3f3d98c..8799d710c 100644 --- a/Dockerfile.slim.build +++ b/Dockerfile.slim.build @@ -19,8 +19,8 @@ RUN npm i -g --no-progress yarn \ && yarn config set yarn-offline-mirror-pruning true # Pulling docker binary from releases -RUN wget https://github.com/gobuffalo/buffalo/releases/latest/download/buffalo_Linux_x86_64.tar.gz \ - && tar -xzf buffalo_Linux_x86_64.tar.gz \ +RUN wget https://github.com/gobuffalo/buffalo/releases/download/v0.16.5/buffalo_0.16.6_Linux_x86_64.tar.gz \ + && tar -xzf buffalo_0.16.6_Linux_x86_64.tar.gz \ && mv buffalo $(go env GOPATH)/bin/buffalo RUN buffalo plugins install github.com/gobuffalo/buffalo-pop/v2 From ef66b753c06174ac7633529fc19ad58db3199e8a Mon Sep 17 00:00:00 2001 From: Antonio Pagano Date: Mon, 20 Apr 2020 22:07:03 -0500 Subject: [PATCH 02/64] fixing plugin installation --- Dockerfile.build | 2 +- Dockerfile.slim.build | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Dockerfile.build b/Dockerfile.build index 276603747..ad570dd7e 100644 --- a/Dockerfile.build +++ b/Dockerfile.build @@ -37,7 +37,7 @@ RUN wget https://github.com/gobuffalo/buffalo/releases/download/v0.16.8/buffalo_ && tar -xzf buffalo_0.16.8_Linux_x86_64.tar.gz \ && mv buffalo $(go env GOPATH)/bin/buffalo -RUN buffalo plugins install github.com/gobuffalo/buffalo-pop/v2 +RUN go get github.com/gobuffalo/buffalo-pop/v2 RUN buffalo version RUN mkdir /src diff --git a/Dockerfile.slim.build b/Dockerfile.slim.build index 5556c27d4..fe61b9bce 100644 --- a/Dockerfile.slim.build +++ b/Dockerfile.slim.build @@ -23,7 +23,7 @@ RUN wget https://github.com/gobuffalo/buffalo/releases/download/v0.16.8/buffalo_ && tar -xzf buffalo_0.16.8_Linux_x86_64.tar.gz \ && mv buffalo $(go env GOPATH)/bin/buffalo -RUN buffalo plugins install github.com/gobuffalo/buffalo-pop/v2 +RUN go get github.com/gobuffalo/buffalo-pop/v2 RUN buffalo version RUN mkdir /src From 7827df3e72925e452e3da62e38be6666bd8d782c Mon Sep 17 00:00:00 2001 From: Disconnect3d Date: Tue, 9 Jun 2020 18:03:49 +0200 Subject: [PATCH 03/64] Fix npm's package.json permissions (#2005) Changed created file permissions from 644 (`-w----r--`) to 0644 (`rw-r--r--`) --- buffalo/cmd/fix/npm.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/buffalo/cmd/fix/npm.go b/buffalo/cmd/fix/npm.go index 67427ab4e..9d1aab499 100644 --- a/buffalo/cmd/fix/npm.go +++ b/buffalo/cmd/fix/npm.go @@ -62,7 +62,7 @@ func AddPackageJSONScripts(r *Runner) error { return fmt.Errorf("could not rewrite package.json: %s", err.Error()) } - ioutil.WriteFile("package.json", b, 644) + ioutil.WriteFile("package.json", b, 0644) } else { fmt.Println("~~~ package.json doesn't need to be patched, skipping. ~~~") } From 9da374054a28f300da1667617698fbac08a78174 Mon Sep 17 00:00:00 2001 From: hackerman <3372410+aeneasr@users.noreply.github.com> Date: Tue, 9 Jun 2020 18:05:04 +0200 Subject: [PATCH 04/64] Bump spf13/viper to v1.7.0 (#1999) --- go.mod | 2 +- go.sum | 122 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 123 insertions(+), 1 deletion(-) diff --git a/go.mod b/go.mod index c0a933c60..879985ae4 100644 --- a/go.mod +++ b/go.mod @@ -38,7 +38,7 @@ require ( github.com/sirupsen/logrus v1.5.0 github.com/spf13/cobra v0.0.6 github.com/spf13/pflag v1.0.5 - github.com/spf13/viper v1.6.2 + github.com/spf13/viper v1.7.0 github.com/stretchr/testify v1.5.1 golang.org/x/sync v0.0.0-20200317015054-43a5402ce75a golang.org/x/tools v0.0.0-20200323192200-8849913b6971 diff --git a/go.sum b/go.sum index 3facfde08..adf9f4da1 100644 --- a/go.sum +++ b/go.sum @@ -1,13 +1,26 @@ cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= cloud.google.com/go v0.31.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= +cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= cloud.google.com/go v0.36.0/go.mod h1:RUoy9p/M4ge0HzT8L+SDZ8jg+Q6fth0CiBuhFJpSV40= +cloud.google.com/go v0.38.0/go.mod h1:990N+gfupTy94rShfmMCWGDn0LpTmnzTp2qbd1dvSRU= +cloud.google.com/go v0.44.1/go.mod h1:iSa0KzasP4Uvy3f1mN/7PiObzGgflwredwwASm/v6AU= +cloud.google.com/go v0.44.2/go.mod h1:60680Gw3Yr4ikxnPRS/oxxkBccT6SA1yMk63TGekxKY= +cloud.google.com/go v0.45.1/go.mod h1:RpBamKRgapWJb87xiFSdk4g1CME7QZg3uwTez+TSTjc= +cloud.google.com/go v0.46.3/go.mod h1:a6bKKbmY7er1mI7TEI4lsAkts/mkhTSZK8w33B4RAg0= +cloud.google.com/go/bigquery v1.0.1/go.mod h1:i/xbL2UlR5RvWAURpBYZTtm/cXjCha9lbfbpx4poX+o= +cloud.google.com/go/datastore v1.0.0/go.mod h1:LXYbyblFSglQ5pkeyhO+Qmw7ukd3C+pD7TKLgZqpHYE= +cloud.google.com/go/firestore v1.1.0/go.mod h1:ulACoGHTpvq5r8rxGJ4ddJZBZqakUQqClKRT5SZwBmk= +cloud.google.com/go/pubsub v1.0.1/go.mod h1:R0Gpsv3s54REJCy4fxDixWD93lHJMoZTyQ2kNxGRt3I= +cloud.google.com/go/storage v1.0.0/go.mod h1:IhtSnM/ZTZV8YYJWCY8RULGVqBDmpoyjwiyrjsg+URw= dmitri.shuralyov.com/app/changes v0.0.0-20180602232624-0a106ad413e3/go.mod h1:Yl+fi1br7+Rr3LqpNJf1/uxUdtRUV+Tnj0o93V2B9MU= +dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= dmitri.shuralyov.com/html/belt v0.0.0-20180602232347-f7d459c86be0/go.mod h1:JLBrvjyP0v+ecvNYvCpyZgu5/xkfAUhi6wJj28eUfSU= dmitri.shuralyov.com/service/change v0.0.0-20181023043359-a85b471d5412/go.mod h1:a1inKt/atXimZ4Mv927x+r7UpyzRUf4emIoiiSC2TN4= dmitri.shuralyov.com/state v0.0.0-20180228185332-28bcc343414c/go.mod h1:0PRwlb0D6DFvNNtx+9ybjezNCa8XF0xaYcETyp6rHWU= git.apache.org/thrift.git v0.0.0-20180902110319-2566ecd5d999/go.mod h1:fPE2ZNJGynbRyZ4dJvy6G277gSllfV2HJqblrnkyeyg= github.com/BurntSushi/toml v0.3.1 h1:WXkYYl6Yr3qBf1K79EBnL4mak0OimBfB0XUf9Vl28OQ= github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= +github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= github.com/Masterminds/semver v1.4.2/go.mod h1:MB6lktGJrhw8PrUyiEoblNEGEQ+RzHPF078ddwwvV3Y= github.com/Masterminds/semver v1.5.0 h1:H65muMkzWKEuNDnfl9d70GUjFniHKHRbFPGBuZ3QEww= github.com/Masterminds/semver v1.5.0/go.mod h1:MB6lktGJrhw8PrUyiEoblNEGEQ+RzHPF078ddwwvV3Y= @@ -19,9 +32,14 @@ github.com/ajg/form v1.5.1/go.mod h1:uL1WgH+h2mgNtvBq0339dVnzXdBETtL2LeUXaIv25UY github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= github.com/anmitsu/go-shlex v0.0.0-20161002113705-648efa622239/go.mod h1:2FmKhYUyUczH0OGQWaF5ceTx0UBShxjsH6f8oGKYe2c= +github.com/armon/circbuf v0.0.0-20150827004946-bbbad097214e/go.mod h1:3U/XgcO3hCbHZ8TKRvWD2dDTCfh9M9ya+I9JpbB7O8o= github.com/armon/consul-api v0.0.0-20180202201655-eb2c6b5be1b6/go.mod h1:grANhF5doyWs3UAsr3K4I6qtAmlQcZDesFNEHPZAzj8= +github.com/armon/go-metrics v0.0.0-20180917152333-f0300d1749da/go.mod h1:Q73ZrmVTwzkszR9V5SSuryQ31EELlFMUz1kKyl939pY= +github.com/armon/go-radix v0.0.0-20180808171621-7fddfc383310/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8= +github.com/bgentry/speakeasy v0.1.0/go.mod h1:+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kBD4zp0CCIs= +github.com/bketelsen/crypt v0.0.3-0.20200106085610-5cbc8cc4026c/go.mod h1:MKsuJmJgSg28kpZDP6UIiPt0e0Oz0kqKNGyRaWEPv84= github.com/blang/semver v3.5.1+incompatible h1:cQNTCjp13qL8KC3Nbxr/y2Bqb63oX6wdnnjpJbkM4JQ= github.com/blang/semver v3.5.1+incompatible/go.mod h1:kRBLl5iJ+tD4TcOOxsy/0fnwebNt5EWlYSAyrTnjyyk= github.com/bradfitz/go-smtpd v0.0.0-20170404230938-deb6d6237625/go.mod h1:HYsPBTaaSFSlLx/70C2HPIMNZpVV8+vt/A+FMnYP11g= @@ -36,8 +54,10 @@ github.com/cockroachdb/cockroach-go v0.0.0-20190925194419-606b3d062051/go.mod h1 github.com/codegangsta/negroni v1.0.0/go.mod h1:v0y3T5G7Y1UlFfyxFn/QLRU4a2EuNau2iZY63YTKWo0= github.com/coreos/bbolt v1.3.2/go.mod h1:iRUV2dpdMOn7Bo10OQBFzIJO9kkE559Wcmn+qkEiiKk= github.com/coreos/etcd v3.3.10+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE= +github.com/coreos/etcd v3.3.13+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE= github.com/coreos/go-etcd v2.0.0+incompatible/go.mod h1:Jez6KQU2B/sWsbdaef3ED8NzMklzPG4d5KIOhIy30Tk= github.com/coreos/go-semver v0.2.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= +github.com/coreos/go-semver v0.3.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= github.com/coreos/go-systemd v0.0.0-20181012123002-c6f51f82210d/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= github.com/coreos/go-systemd v0.0.0-20190719114852-fd7a80b32e1f/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= @@ -64,6 +84,7 @@ github.com/fsnotify/fsnotify v1.4.7 h1:IXs+QLmnXW2CcXuY+8Mzv/fWEsPGWxqefPtCP5CnV github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= github.com/gliderlabs/ssh v0.1.1/go.mod h1:U7qILu1NlMHj9FlMhZLlkCdDnU1DBEAqr0aevW3Awn0= +github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU= github.com/go-kit/kit v0.8.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9GBnD5lWE= github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk= @@ -589,14 +610,17 @@ github.com/golang/groupcache v0.0.0-20190129154638-5b532d6fd5ef/go.mod h1:cIg4er 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/mock v1.2.0/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= +github.com/golang/mock v1.3.1/go.mod h1:sBzyDLLjw3U8JLTeZvSv8jJB+tU5PVekmnlKIyFUx0Y= github.com/golang/protobuf v1.1.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= github.com/golang/protobuf v1.3.1 h1:YF8+flBXS5eO826T4nzqPrxfhQThhXl0YzfuUPu4SBg= github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= +github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= github.com/gomodule/redigo v2.0.0+incompatible/go.mod h1:B4C85qUVwatsJoIUNIfCRsp7qO0iAmpGFZ4EELWSbC4= github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= +github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= github.com/google/go-cmp v0.4.0 h1:xsAVV57WRhGj6kEIi8ReJzQlHHqcBYCElAvkovg3B/4= github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= @@ -604,8 +628,12 @@ github.com/google/go-github v17.0.0+incompatible/go.mod h1:zLgOLi98H3fifZn+44m+u github.com/google/go-querystring v1.0.0/go.mod h1:odCYkC5MyYFN7vkCjXpyrEuKhc/BUO6wN/zVPAxq5ck= github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs= github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= +github.com/google/pprof v0.0.0-20190515194954-54271f7e092f/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= +github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI= github.com/googleapis/gax-go v2.0.0+incompatible/go.mod h1:SFVmujtThgffbyetf+mdk2eWhX2bMyUtNHzFKcPA9HY= github.com/googleapis/gax-go/v2 v2.0.3/go.mod h1:LLvjysVCY1JZeum8Z6l8qUty8fiNwE08qbEPm1M08qg= +github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg= +github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk= github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1 h1:EGx4pi6eqNxGaHF6qqu48+N2wcFQ5qg5FXgOdqsJ5d8= github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY= github.com/gorilla/context v1.1.1/go.mod h1:kBGZzfjB9CEq2AlWe17Uuf7NDRt0dE0s8S51q0aT7Yg= @@ -627,13 +655,33 @@ github.com/gorilla/sessions v1.1.3/go.mod h1:8KCfur6+4Mqcc6S0FEfKuN15Vl5MgXW92AE github.com/gorilla/sessions v1.2.0 h1:S7P+1Hm5V/AT9cjEcUD5uDaQSX0OE577aCXgoaKpYbQ= github.com/gorilla/sessions v1.2.0/go.mod h1:dk2InVEVJ0sfLlnXv9EAgkf6ecYs/i80K/zI+bUmuGM= github.com/gorilla/websocket v1.4.0/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ= +github.com/gorilla/websocket v1.4.2/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= github.com/gregjones/httpcache v0.0.0-20180305231024-9cad4c3443a7/go.mod h1:FecbI9+v66THATjSRHfNgh1IVFe/9kFxbXtjV0ctIMA= github.com/grpc-ecosystem/go-grpc-middleware v1.0.0/go.mod h1:FiyG127CGDf3tlThmgyCl78X/SZQqEOJBCDaAfeWzPs= github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0/go.mod h1:8NvIoxWQoOIhqOTXgfV/d3M/q6VIi02HzZEHgUlZvzk= github.com/grpc-ecosystem/grpc-gateway v1.5.0/go.mod h1:RSKVYQBd5MCa4OVpNdGskqpgL2+G+NZTnrVHpWWfpdw= github.com/grpc-ecosystem/grpc-gateway v1.9.0/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY= +github.com/hashicorp/consul/api v1.1.0/go.mod h1:VmuI/Lkw1nC05EYQWNKwWGbkg+FbDBtguAZLlVdkD9Q= +github.com/hashicorp/consul/sdk v0.1.1/go.mod h1:VKf9jXwCTEY1QZP2MOLRhb5i/I/ssyNV1vwHyQBF0x8= +github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= +github.com/hashicorp/go-cleanhttp v0.5.1/go.mod h1:JpRdi6/HCYpAwUzNwuwqhbovhLtngrth3wmdIIUrZ80= +github.com/hashicorp/go-immutable-radix v1.0.0/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60= +github.com/hashicorp/go-msgpack v0.5.3/go.mod h1:ahLV/dePpqEmjfWmKiqvPkv/twdG7iPBM1vqhUKIvfM= +github.com/hashicorp/go-multierror v1.0.0/go.mod h1:dHtQlpGsu+cZNNAkkCN/P3hoUDHhCYQXV3UM06sGGrk= +github.com/hashicorp/go-rootcerts v1.0.0/go.mod h1:K6zTfqpRlCUIjkwsN4Z+hiSfzSTQa6eBIzfwKfwNnHU= +github.com/hashicorp/go-sockaddr v1.0.0/go.mod h1:7Xibr9yA9JjQq1JpNB2Vw7kxv8xerXegt+ozgdvDeDU= +github.com/hashicorp/go-syslog v1.0.0/go.mod h1:qPfqrKkXGihmCqbJM2mZgkZGvKG1dFdvsLplgctolz4= +github.com/hashicorp/go-uuid v1.0.0/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= +github.com/hashicorp/go-uuid v1.0.1/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= +github.com/hashicorp/go.net v0.0.1/go.mod h1:hjKkEWcCURg++eb33jQU7oqQcI9XDCnUzHA0oac0k90= +github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= +github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= github.com/hashicorp/hcl v1.0.0 h1:0Anlzjpi4vEasTeNFn2mLJgTSwt0+6sfsiTG8qcWGx4= github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ= +github.com/hashicorp/logutils v1.0.0/go.mod h1:QIAnNjmIWmVIIkWDTG1z5v++HQmx9WQRO+LraFDTW64= +github.com/hashicorp/mdns v1.0.0/go.mod h1:tL+uN++7HEJ6SQLQ2/p+z2pH24WQKWjBPkE0mNTz8vQ= +github.com/hashicorp/memberlist v0.1.3/go.mod h1:ajVTdAv/9Im8oMAAj5G31PhhMCZJV2pPBoIllUwCN7I= +github.com/hashicorp/serf v0.8.2/go.mod h1:6hOLApaqBFA1NXqRQAsxw9QxuDEvNxSQRwA/JwenrHc= github.com/hpcloud/tail v1.0.0 h1:nfCOvKYfkgYP8hkirhJocXT2+zOD8yUNjXaWfTlyFKI= github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= github.com/inconshreveable/mousetrap v1.0.0 h1:Z8tu5sraLXCXIcARxBp/8cbvlwVa7Z1NHg9XEKhtSvM= @@ -688,6 +736,8 @@ github.com/joho/godotenv v1.2.0/go.mod h1:7hK45KPybAkOC6peb+G5yklZfMxEjkZhHbwpqx github.com/joho/godotenv v1.3.0 h1:Zjp+RcGpHhGlrMbJzXTrZZPrWj+1vfm90La1wgB6Bhc= github.com/joho/godotenv v1.3.0/go.mod h1:7hK45KPybAkOC6peb+G5yklZfMxEjkZhHbwpqxOKXbg= github.com/jonboulle/clockwork v0.1.0/go.mod h1:Ii8DK3G1RaLaWxj9trq07+26W01tbo22gdxWY5EU2bo= +github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU= +github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU= github.com/jtolds/gls v4.20.0+incompatible h1:xdiiI2gbIgH/gLH7ADydsJ1uDOEzR8yvV7C0MuV77Wo= github.com/jtolds/gls v4.20.0+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU= github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w= @@ -778,6 +828,7 @@ github.com/mattn/go-colorable v0.1.1/go.mod h1:FuOcm+DKB9mbwrcAfNl7/TZVBZ6rcncea github.com/mattn/go-colorable v0.1.2/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE= github.com/mattn/go-colorable v0.1.4 h1:snbPLB8fVfU9iwbbo30TPtbLRzwWu6aJS6Xh4eaaviA= github.com/mattn/go-colorable v0.1.4/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE= +github.com/mattn/go-isatty v0.0.3/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= github.com/mattn/go-isatty v0.0.4/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= github.com/mattn/go-isatty v0.0.5/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s= github.com/mattn/go-isatty v0.0.7/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s= @@ -797,12 +848,20 @@ github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5 github.com/microcosm-cc/bluemonday v1.0.1/go.mod h1:hsXNsILzKxV+sX77C5b8FSuKF00vh2OMYv+xgHpAMF4= github.com/microcosm-cc/bluemonday v1.0.2 h1:5lPfLTTAvAbtS0VqT+94yOtFnGfUWYyx0+iToC3Os3s= github.com/microcosm-cc/bluemonday v1.0.2/go.mod h1:iVP4YcDBq+n/5fb23BhYFvIMq/leAFZyRl6bYmGDlGc= +github.com/miekg/dns v1.0.14/go.mod h1:W1PPwlIAgtquWBMBEV9nkV9Cazfe8ScdGz/Lj7v3Nrg= +github.com/mitchellh/cli v1.0.0/go.mod h1:hNIlj7HEI86fIcpObd7a0FcrxTWetlwJDGcceTlRvqc= github.com/mitchellh/go-homedir v1.0.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= github.com/mitchellh/go-homedir v1.1.0 h1:lukF9ziXFxDFPkA1vsr5zpc1XuPDn/wFntq5mG+4E0Y= github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= +github.com/mitchellh/go-testing-interface v1.0.0/go.mod h1:kRemZodwjscx+RGhAo8eIhFbs2+BFgRtFPeD/KE+zxI= +github.com/mitchellh/gox v0.4.0/go.mod h1:Sd9lOJ0+aimLBi73mGofS1ycjY8lL3uZM3JPS42BGNg= +github.com/mitchellh/iochan v1.0.0/go.mod h1:JwYml1nuB7xOzsp52dPpHFffvOCDupsG0QubkSMEySY= +github.com/mitchellh/mapstructure v0.0.0-20160808181253-ca63d7c062ee/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= github.com/mitchellh/mapstructure v1.0.0/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= github.com/mitchellh/mapstructure v1.1.2 h1:fmNYVwqnSfB9mZU6OS2O6GsXM+wcskZDuKQzvN1EDeE= github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= +github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= +github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= github.com/monoculum/formam v0.0.0-20180901015400-4e68be1d79ba/go.mod h1:RKgILGEJq24YyJ2ban8EO0RUVSJlF1pGsEvoLEACr/Q= github.com/monoculum/formam v0.0.0-20190307031628-bc555adff0cd/go.mod h1:JKa2av1XVkGjhxdLS59nDoXa2JpmIHpnURWNbzCtXtc= github.com/monoculum/formam v0.0.0-20190730134247-0612307a4099/go.mod h1:JKa2av1XVkGjhxdLS59nDoXa2JpmIHpnURWNbzCtXtc= @@ -833,6 +892,7 @@ github.com/onsi/gomega v1.7.0/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1Cpa github.com/onsi/gomega v1.7.1 h1:K0jcRCwNQM3vFGh1ppMtDh/+7ApJrjldlX8fA0jDTLQ= github.com/onsi/gomega v1.7.1/go.mod h1:XdKZgCCFLUoM/7CFJVPcG8C1xQ1AJ0vpAezJrB7JYyY= github.com/openzipkin/zipkin-go v0.1.1/go.mod h1:NtoC/o8u3JlF1lSlyPNswIbeQH9bJTmOf0Erfk+hxe8= +github.com/pascaldekloe/goe v0.0.0-20180627143212-57f6aae5913c/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc= github.com/pelletier/go-toml v1.2.0 h1:T5zMGML61Wp+FlcbWjRDT7yAxhJNAiPPLOFECq181zc= github.com/pelletier/go-toml v1.2.0/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/94hg7ilaic= github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= @@ -842,6 +902,7 @@ github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= 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/posener/complete v1.1.1/go.mod h1:em0nMJCgc9GFtwrmVmEMR/ZL6WyhyjMBndrE9hABlRI= github.com/prometheus/client_golang v0.8.0/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw= github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw= github.com/prometheus/client_golang v0.9.3/go.mod h1:/TN21ttK/J9q6uSwhBd54HahCDft0ttaMvbicHlPoso= @@ -869,7 +930,9 @@ github.com/rs/zerolog v1.13.0/go.mod h1:YbFCdg8HfsridGWAh22vktObvhZbQsZXe4/zB0OK github.com/rs/zerolog v1.15.0/go.mod h1:xYTKnLHcpfU2225ny5qZjxnj9NvkumZYjJHlAThCjNc= github.com/russross/blackfriday v1.5.2/go.mod h1:JO/DiYxRf+HjHt06OyowR9PTA263kcR/rfWxYHBV53g= github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= +github.com/ryanuber/columnize v0.0.0-20160712163229-9b3edd62028f/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts= github.com/satori/go.uuid v1.2.0/go.mod h1:dA0hQrYB0VpLJoorglMZABFdXlWrHn1NEOzdhQKdks0= +github.com/sean-/seed v0.0.0-20170313163322-e2103e2c3529/go.mod h1:DxrIzT+xaE7yg65j358z/aeFdxmN0P9QXhEzd20vsDc= github.com/serenize/snaker v0.0.0-20171204205717-a683aaf2d516 h1:ofR1ZdrNSkiWcMsRrubK9tb2/SlZVWttAfqUjJi6QYc= github.com/serenize/snaker v0.0.0-20171204205717-a683aaf2d516/go.mod h1:Yow6lPLSAXx2ifx470yD/nUe22Dv5vBvxK/UK9UUTVs= github.com/sergi/go-diff v1.0.0 h1:Kpca3qRNrduNnOQeazBd0ysaKrUJiIuISHxogkT9RPQ= @@ -949,6 +1012,8 @@ github.com/spf13/viper v1.3.2/go.mod h1:ZiWeW+zYFKm7srdB9IoDzzZXaJaI5eL9QjNiN/DM github.com/spf13/viper v1.4.0/go.mod h1:PTJ7Z/lr49W6bUbkmS1V3by4uWynFiR9p7+dSq/yZzE= github.com/spf13/viper v1.6.2 h1:7aKfF+e8/k68gda3LOjo5RxiUqddoFxVq4BKBPrxk5E= github.com/spf13/viper v1.6.2/go.mod h1:t3iDnF5Jlj76alVNuyFBk5oUMCvsrkbvZK0WQdfDi5k= +github.com/spf13/viper v1.7.0 h1:xVKxvI7ouOI5I+U9s2eeiUfMaWBVoXA3AWskkrqK0VM= +github.com/spf13/viper v1.7.0/go.mod h1:8WkrPz2fc9jxqZNCJI/76HCieCp4Q8HaLFoCha5qpdg= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.2.0/go.mod h1:qt09Ya8vawLte6SNmTgCsAVtYtaKzEcn8ATUoHMkEqE= @@ -975,6 +1040,8 @@ github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9de github.com/zenazn/goji v0.9.0/go.mod h1:7S9M489iMyHBNxwZnk9/EHS098H4/F6TATF2mIxtB1Q= go.etcd.io/bbolt v1.3.2/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= go.opencensus.io v0.18.0/go.mod h1:vKdFvxhtzZ9onBp9VKHK8z/sRpBMnKAsufL7wlDrCOA= +go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU= +go.opencensus.io v0.22.0/go.mod h1:+kGneAE2xo2IficOXnaByMWTGM9T73dGwxeWcUqIpI8= go.uber.org/atomic v1.3.2/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= go.uber.org/atomic v1.4.0/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= go.uber.org/multierr v1.1.0/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/0= @@ -990,6 +1057,7 @@ golang.org/x/crypto v0.0.0-20181015023909-0c41d7ab0a0e/go.mod h1:6SG95UA2DQfeDnf golang.org/x/crypto v0.0.0-20181024171144-74cb1d3d52f4/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20181025113841-85e1b3f9139a/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20181025213731-e84da0312774/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= +golang.org/x/crypto v0.0.0-20181029021203-45a5f77698d3/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20181030102418-4d3f4d9ffa16/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20181106171534-e4dc69e5b2fd/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20181112202954-3d3f9f413869/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= @@ -1006,6 +1074,7 @@ golang.org/x/crypto v0.0.0-20190403202508-8e1b8d32e692/go.mod h1:WFFai1msRO1wXaE golang.org/x/crypto v0.0.0-20190404164418-38d8ce5564a5/go.mod h1:WFFai1msRO1wXaEeE5yQxYXgSfI8pQAWXbQop6sCtWE= golang.org/x/crypto v0.0.0-20190411191339-88737f569e3a/go.mod h1:WFFai1msRO1wXaEeE5yQxYXgSfI8pQAWXbQop6sCtWE= golang.org/x/crypto v0.0.0-20190422162423-af44ce270edf/go.mod h1:WFFai1msRO1wXaEeE5yQxYXgSfI8pQAWXbQop6sCtWE= +golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20190611184440-5c40567a22f8/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20190621222207-cc06ce4a13d4/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= @@ -1016,9 +1085,24 @@ golang.org/x/crypto v0.0.0-20191122220453-ac88ee75c92c/go.mod h1:LzIPMQfyMNhhGPh golang.org/x/crypto v0.0.0-20200206161412-a0c6ece9d31a h1:aczoJ0HPNE92XKa7DrIzkNN6esOKO2TBwiiYoKcINhA= golang.org/x/crypto v0.0.0-20200206161412-a0c6ece9d31a/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= +golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= +golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= +golang.org/x/exp v0.0.0-20190829153037-c13cbed26979/go.mod h1:86+5VVa7VpoJ4kLfm080zCjGlMRFzhUhsZKEZO7MGek= +golang.org/x/exp v0.0.0-20191030013958-a1ab85dbe136/go.mod h1:JXzH8nQsPlswgeRAPE3MuO9GYsAcnJvJ4vnMwN/5qkY= +golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js= +golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= 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/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= +golang.org/x/lint v0.0.0-20190301231843-5614ed5bae6f/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= +golang.org/x/lint v0.0.0-20190409202823-959b441ac422/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= +golang.org/x/lint v0.0.0-20190909230951-414d861bb4ac/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= +golang.org/x/lint v0.0.0-20190930215403-16217165b5de/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= +golang.org/x/mobile v0.0.0-20190312151609-d3739f865fa6/go.mod h1:z+o9i4GpDbdi3rU15maQ/Ox0txvL9dWGYEHz965HBQE= +golang.org/x/mobile v0.0.0-20190719004257-d2bd2a29d028/go.mod h1:E/iHnbuqvinMTCcRqshq8CkpyQDoeVncDDYHnLhea+o= +golang.org/x/mod v0.0.0-20190513183733-4bf6d317e70e/go.mod h1:mXi4GBBbnImb6dmsKGUJ2LatrhH/nqhxcFungHvyanc= +golang.org/x/mod v0.1.0/go.mod h1:0QHyrYULN0/3qlju5TqG8bIK38QM8yzMo5ekMj3DlcY= golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee h1:WG0RUwxtNT4qqaXX3DPA8zHFNm/D9xaBpxzHt1WcA/E= golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= golang.org/x/mod v0.2.0 h1:KU7oHjnv3XNWfa5COkzUifxZmxp1TyI7ImMXqFxLwvQ= @@ -1042,10 +1126,13 @@ golang.org/x/net v0.0.0-20181201002055-351d144fa1fc/go.mod h1:mL1N/T3taQHkDXs73r golang.org/x/net v0.0.0-20181207154023-610586996380/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20181213202711-891ebc4b82d6/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20181220203305-927f97764cc3/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-20190119204137-ed066c81e75e/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190501004415-9ce7a6920f09/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190503192946-f4e77d36d62c/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190514140710-3ec191127204/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190522155817-f3200d17e092/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks= golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks= @@ -1061,6 +1148,8 @@ golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLL golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20181017192945-9dcd33a902f4/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-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= +golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/perf v0.0.0-20180704124530-6e6d33e29852/go.mod h1:JLpeXjPJfIyPr5TlbXLkXWLhP8nz10XfvxElABhCtcw= 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= @@ -1073,6 +1162,7 @@ golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sync v0.0.0-20200317015054-43a5402ce75a h1:WXEvlFVvvGxCJLG6REjsT03iWnKLEWinaScsxF2Vm2o= golang.org/x/sync v0.0.0-20200317015054-43a5402ce75a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sys v0.0.0-20180816055513-1c9583448a9c/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20180823144017-11551d06cbcc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180906133057-8cf3aee42992/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= @@ -1105,12 +1195,16 @@ golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5h golang.org/x/sys v0.0.0-20190219092855-153ac476189d/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190220154126-629670e5acc5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190222072716-a9d3bda3a223/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190403152447-81d4e9dc473e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190419153524-e8e3143a4f4a/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190422165155-953cdadca894/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190502145724-3ef323f4f1fd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190515120540-06a5c4944438/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190606165138-5da285871e9c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190813064441-fde4db37ae7a/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191008105621-543471e840be/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191026070338-33540a1f6037 h1:YyJpGZS1sBuBCzLAR1VEpK193GlqGZbnPFnPV/5Rsb4= @@ -1170,7 +1264,10 @@ golang.org/x/tools v0.0.0-20190214204934-8dcb7bc8c7fe/go.mod h1:E6PF97AdD6v0s+fP golang.org/x/tools v0.0.0-20190219135230-f000d56b39dc/go.mod h1:E6PF97AdD6v0s+fPshSmumCW1S1Ne85RbPQxELkKa44= golang.org/x/tools v0.0.0-20190219185102-9394956cfdc5/go.mod h1:E6PF97AdD6v0s+fPshSmumCW1S1Ne85RbPQxELkKa44= golang.org/x/tools v0.0.0-20190221204921-83362c3779f5/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= +golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190312151545-0bb0c0a6e846/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190312170243-e65039ee4138/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/tools v0.0.0-20190315044204-8b67d361bba2/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/tools v0.0.0-20190318200714-bb1270c20edf/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/tools v0.0.0-20190328211700-ab21143f2384/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= @@ -1179,7 +1276,9 @@ golang.org/x/tools v0.0.0-20190404132500-923d25813098/go.mod h1:LCzVGOaR6xXOjkQ3 golang.org/x/tools v0.0.0-20190407030857-0fdf0c73855b/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/tools v0.0.0-20190416151739-9c9e1878f421/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/tools v0.0.0-20190420181800-aa740d480789/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190425150028-36563e24a262/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= golang.org/x/tools v0.0.0-20190425163242-31fd60d6bfdc/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= +golang.org/x/tools v0.0.0-20190506145303-2d16b83fe98c/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= golang.org/x/tools v0.0.0-20190603152906-08e0b306e832/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= golang.org/x/tools v0.0.0-20190603231351-8aaa1484dc10/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= golang.org/x/tools v0.0.0-20190606124116-d0a3d012864b/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= @@ -1188,13 +1287,17 @@ golang.org/x/tools v0.0.0-20190621195816-6e04913cbbac/go.mod h1:/rFqwRUd4F7ZHNgw golang.org/x/tools v0.0.0-20190624180213-70d37148ca0c/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= golang.org/x/tools v0.0.0-20190628153133-6cdbf07be9d0/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= golang.org/x/tools v0.0.0-20190809145639-6d4652c779c4/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20190816200558-6889da9d5479/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20190823170909-c4a336ef6a2f/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20190825031127-d72b05d2b1b6/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20190905035308-adb45749da8e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20190906203814-12febf440ab1/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20190907020128-2ca718005c18/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20190911174233-4f2ddba30aff/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191004055002-72853e10c5a3/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191012152004-8de300cfc20a/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191015150414-f936694f27bf/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191112195655-aa38f8e97acc/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191224055732-dd894d0a8a40/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200117220505-0cba7a3a9ee9/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= @@ -1212,10 +1315,16 @@ golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8T google.golang.org/api v0.0.0-20180910000450-7ca32eb868bf/go.mod h1:4mhQ8q/RsB7i+udVvVy5NUi08OU8ZlA0gRVgrF7VFY0= google.golang.org/api v0.0.0-20181030000543-1d582fd0359e/go.mod h1:4mhQ8q/RsB7i+udVvVy5NUi08OU8ZlA0gRVgrF7VFY0= google.golang.org/api v0.1.0/go.mod h1:UGEZY7KEX120AnNLIHFMKIo4obdJhkp2tPbaPlQx13Y= +google.golang.org/api v0.4.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE= +google.golang.org/api v0.7.0/go.mod h1:WtwebWUNSVBH/HAw79HIFXZNqEvBhG+Ra+ax0hx3E3M= +google.golang.org/api v0.8.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= +google.golang.org/api v0.9.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= +google.golang.org/api v0.13.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= google.golang.org/appengine v1.2.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= 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/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= google.golang.org/appengine v1.6.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= google.golang.org/appengine v1.6.1 h1:QzqyMA1tlu6CgqCDUtU9V+ZKhLFT2dkJuANu5QaxI3I= google.golang.org/appengine v1.6.1/go.mod h1:i06prIuMbXzDqacNJfV5OdTW448YApPu5ww/cMBSeb0= @@ -1224,11 +1333,21 @@ google.golang.org/genproto v0.0.0-20180831171423-11092d34479b/go.mod h1:JiN7NxoA google.golang.org/genproto v0.0.0-20181029155118-b69ba1387ce2/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= google.golang.org/genproto v0.0.0-20181202183823-bd91e49a0898/go.mod h1:7Ep/1NZk928CDR8SjdVbjWNpdIf6nzjE3BTgJDr2Atg= google.golang.org/genproto v0.0.0-20190201180003-4b09977fb922/go.mod h1:L3J43x8/uS+qIUoksaLKe6OS3nUKxOKuIFz1sl2/jx4= +google.golang.org/genproto v0.0.0-20190307195333-5fe7a883aa19/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= +google.golang.org/genproto v0.0.0-20190418145605-e7d98fc518a7/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= +google.golang.org/genproto v0.0.0-20190425155659-357c62f0e4bb/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= +google.golang.org/genproto v0.0.0-20190502173448-54afdca5d873/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= +google.golang.org/genproto v0.0.0-20190801165951-fa694d86fc64/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= +google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= +google.golang.org/genproto v0.0.0-20190911173649-1774047e7e51/go.mod h1:IbNlFCBrqXvoKpeg0TB2l7cyZUmoaFKYIwrEpbDKLA8= +google.golang.org/genproto v0.0.0-20191108220845-16a3f7862a1a/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= 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= google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= +google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38= google.golang.org/grpc v1.21.0/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= +google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= gopkg.in/airbrake/gobrake.v2 v2.0.9/go.mod h1:/h5ZAUhDkGaJfjzjKLSjv6zCL6O0LLBxU4K+aSYdM/U= gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw= gopkg.in/alexcesaro/quotedprintable.v3 v3.0.0-20150716171945-2caba252f4dc h1:2gGKlE2+asNV9m7xrywl36YYNnBG5ZQ0r/BOOxqPpmk= @@ -1263,5 +1382,8 @@ grpc.go4.org v0.0.0-20170609214715-11d0a25b4919/go.mod h1:77eQGdRu53HpSqPFJFmuJd honnef.co/go/tools v0.0.0-20180728063816-88497007e858/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= +honnef.co/go/tools v0.0.0-20190418001031-e561f6794a2a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= +honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg= +rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8= sourcegraph.com/sourcegraph/go-diff v0.5.0/go.mod h1:kuch7UrkMzY0X+p9CRK03kfuPQ2zzQcaEFbx8wA8rck= sourcegraph.com/sqs/pbtypes v0.0.0-20180604144634-d3ebe8f20ae4/go.mod h1:ketZ/q3QxT9HOBeFhu6RdvsftgpsbFHBF5Cas6cDKZ0= From 4aa9475d0f199d3d3a2e2ebfd15e22b07cd309ab Mon Sep 17 00:00:00 2001 From: Antonio Pagano Date: Tue, 9 Jun 2020 11:11:43 -0500 Subject: [PATCH 05/64] bunping version --- runtime/version.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/runtime/version.go b/runtime/version.go index c7fbe95c8..0ac2b003d 100644 --- a/runtime/version.go +++ b/runtime/version.go @@ -1,4 +1,4 @@ package runtime // Version is the current version of the buffalo binary -var Version = "v0.16.9" +var Version = "v0.16.10" From 9e9d5bfd97f2d41382e1570571e8d45bf7724f2b Mon Sep 17 00:00:00 2001 From: Antonio Pagano Date: Tue, 9 Jun 2020 11:50:58 -0500 Subject: [PATCH 06/64] changing version on dockerfile --- Dockerfile.build | 4 ++-- Dockerfile.slim.build | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Dockerfile.build b/Dockerfile.build index 851756a33..13e828eb8 100644 --- a/Dockerfile.build +++ b/Dockerfile.build @@ -33,8 +33,8 @@ RUN npm install -g --no-progress yarn \ RUN curl -sfL https://install.goreleaser.com/github.com/golangci/golangci-lint.sh | sh -s -- -b $(go env GOPATH)/bin v1.24.0 # Pulling docker binary from releases -RUN wget https://github.com/gobuffalo/buffalo/releases/download/v0.16.9/buffalo_0.16.9_Linux_x86_64.tar.gz \ - && tar -xzf buffalo_0.16.9_Linux_x86_64.tar.gz \ +RUN wget https://github.com/gobuffalo/buffalo/releases/download/v0.16.10/buffalo_0.16.10_Linux_x86_64.tar.gz \ + && tar -xzf buffalo_0.16.10_Linux_x86_64.tar.gz \ && mv buffalo $(go env GOPATH)/bin/buffalo RUN go get github.com/gobuffalo/buffalo-pop/v2 diff --git a/Dockerfile.slim.build b/Dockerfile.slim.build index eeaee839f..d801bd687 100644 --- a/Dockerfile.slim.build +++ b/Dockerfile.slim.build @@ -19,8 +19,8 @@ RUN npm i -g --no-progress yarn \ && yarn config set yarn-offline-mirror-pruning true # Pulling docker binary from releases -RUN wget https://github.com/gobuffalo/buffalo/releases/download/vv0.16.9/buffalo_v0.16.9_Linux_x86_64.tar.gz \ - && tar -xzf buffalo_v0.16.9_Linux_x86_64.tar.gz \ +RUN wget https://github.com/gobuffalo/buffalo/releases/download/vv0.16.10/buffalo_v0.16.10_Linux_x86_64.tar.gz \ + && tar -xzf buffalo_v0.16.10_Linux_x86_64.tar.gz \ && mv buffalo $(go env GOPATH)/bin/buffalo RUN go get github.com/gobuffalo/buffalo-pop/v2 From e9d8c0a46732511eaeaa7060c5866c193e980d00 Mon Sep 17 00:00:00 2001 From: Antonio Pagano Date: Wed, 15 Jul 2020 15:50:58 -0500 Subject: [PATCH 07/64] patch to fix the keywords check on new app --- Dockerfile.build | 4 ++-- Dockerfile.slim.build | 4 ++-- genny/newapp/core/options.go | 12 +++++++++++- runtime/version.go | 2 +- 4 files changed, 16 insertions(+), 6 deletions(-) diff --git a/Dockerfile.build b/Dockerfile.build index 13e828eb8..b74bea99d 100644 --- a/Dockerfile.build +++ b/Dockerfile.build @@ -33,8 +33,8 @@ RUN npm install -g --no-progress yarn \ RUN curl -sfL https://install.goreleaser.com/github.com/golangci/golangci-lint.sh | sh -s -- -b $(go env GOPATH)/bin v1.24.0 # Pulling docker binary from releases -RUN wget https://github.com/gobuffalo/buffalo/releases/download/v0.16.10/buffalo_0.16.10_Linux_x86_64.tar.gz \ - && tar -xzf buffalo_0.16.10_Linux_x86_64.tar.gz \ +RUN wget https://github.com/gobuffalo/buffalo/releases/download/v0.16.11/buffalo_0.16.11_Linux_x86_64.tar.gz \ + && tar -xzf buffalo_0.16.11_Linux_x86_64.tar.gz \ && mv buffalo $(go env GOPATH)/bin/buffalo RUN go get github.com/gobuffalo/buffalo-pop/v2 diff --git a/Dockerfile.slim.build b/Dockerfile.slim.build index d801bd687..8d9e323b0 100644 --- a/Dockerfile.slim.build +++ b/Dockerfile.slim.build @@ -19,8 +19,8 @@ RUN npm i -g --no-progress yarn \ && yarn config set yarn-offline-mirror-pruning true # Pulling docker binary from releases -RUN wget https://github.com/gobuffalo/buffalo/releases/download/vv0.16.10/buffalo_v0.16.10_Linux_x86_64.tar.gz \ - && tar -xzf buffalo_v0.16.10_Linux_x86_64.tar.gz \ +RUN wget https://github.com/gobuffalo/buffalo/releases/download/v0.16.11/buffalo_v0.16.11_Linux_x86_64.tar.gz \ + && tar -xzf buffalo_v0.16.11_Linux_x86_64.tar.gz \ && mv buffalo $(go env GOPATH)/bin/buffalo RUN go get github.com/gobuffalo/buffalo-pop/v2 diff --git a/genny/newapp/core/options.go b/genny/newapp/core/options.go index 3aba66ef6..d14a437b2 100644 --- a/genny/newapp/core/options.go +++ b/genny/newapp/core/options.go @@ -71,7 +71,7 @@ func (opts *Options) Validate() error { } name := strings.ToLower(opts.App.Name.String()) - fb := append(opts.ForbiddenNames, "buffalo", "test", "dev") + fb := append(opts.ForbiddenNames) for _, n := range fb { rx, err := regexp.Compile(n) if err != nil { @@ -82,9 +82,19 @@ func (opts *Options) Validate() error { } } + keywords := []string{"buffalo", "test", "dev"} + for _, kw := range keywords { + if name != kw { + continue + } + + return fmt.Errorf("name %s is not allowed, try a different application name", opts.App.Name) + } + if !nameRX.MatchString(name) { return fmt.Errorf("name %s is not allowed, application name can only contain [a-Z0-9-_]", opts.App.Name) } + return nil } diff --git a/runtime/version.go b/runtime/version.go index 0ac2b003d..d9f4664d6 100644 --- a/runtime/version.go +++ b/runtime/version.go @@ -1,4 +1,4 @@ package runtime // Version is the current version of the buffalo binary -var Version = "v0.16.10" +var Version = "v0.16.11" From 7fc13fb34cb4b1eed2259fd022b37129f8e131f7 Mon Sep 17 00:00:00 2001 From: Antonio Pagano Date: Wed, 15 Jul 2020 15:54:32 -0500 Subject: [PATCH 08/64] removing unneeded append --- genny/newapp/core/options.go | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/genny/newapp/core/options.go b/genny/newapp/core/options.go index d14a437b2..9ed4c344b 100644 --- a/genny/newapp/core/options.go +++ b/genny/newapp/core/options.go @@ -71,8 +71,7 @@ func (opts *Options) Validate() error { } name := strings.ToLower(opts.App.Name.String()) - fb := append(opts.ForbiddenNames) - for _, n := range fb { + for _, n := range opts.ForbiddenNames { rx, err := regexp.Compile(n) if err != nil { return err From d86adbc5a69af47d983c39f4d2cefff3a7cff168 Mon Sep 17 00:00:00 2001 From: Antonio Pagano <645522+paganotoni@users.noreply.github.com> Date: Thu, 16 Jul 2020 17:20:57 -0500 Subject: [PATCH 09/64] Task fixing html binder (#2016) * binder was not wired * packing --- binding/binding.go | 6 ++---- binding/html_content_type_binder.go | 13 +++++++------ 2 files changed, 9 insertions(+), 10 deletions(-) diff --git a/binding/binding.go b/binding/binding.go index 88e0c9999..e77eb6974 100644 --- a/binding/binding.go +++ b/binding/binding.go @@ -19,13 +19,11 @@ var ( IgnoreUnknownKeys: true, }) - // BaseRequestBinder is an instance of the requeBinder, it comes with preconfigured + // BaseRequestBinder is an instance of the requestBinder, it comes with preconfigured // content type binders for HTML, JSON, XML and Files, as well as custom types decoders // for time.Time and nulls.Time BaseRequestBinder = NewRequestBinder( - HTMLContentTypeBinder{ - decoder: formDecoder, - }, + NewHTMLContentTypeBinder(formDecoder), JSONContentTypeBinder{}, XMLRequestTypeBinder{}, FileRequestTypeBinder{ diff --git a/binding/html_content_type_binder.go b/binding/html_content_type_binder.go index 06b5ec97c..0450bc48d 100644 --- a/binding/html_content_type_binder.go +++ b/binding/html_content_type_binder.go @@ -2,8 +2,10 @@ package binding import ( "net/http" + "time" "github.com/gobuffalo/buffalo/binding/decoders" + "github.com/gobuffalo/nulls" "github.com/monoculum/formam" ) @@ -15,14 +17,12 @@ type HTMLContentTypeBinder struct { // NewHTMLContentTypeBinder returns an instance of HTMLContentTypeBinder with // custom type decoders registered for Time and nulls.Time func NewHTMLContentTypeBinder(decoder *formam.Decoder) HTMLContentTypeBinder { - htmlBinder := HTMLContentTypeBinder{ + decoder.RegisterCustomType(decoders.TimeDecoderFn(), []interface{}{time.Time{}}, nil) + decoder.RegisterCustomType(decoders.NullTimeDecoderFn(), []interface{}{nulls.Time{}}, nil) + + return HTMLContentTypeBinder{ decoder: decoder, } - - decoder.RegisterCustomType(decoders.TimeDecoderFn(), []interface{}{}, []interface{}{}) - decoder.RegisterCustomType(decoders.NullTimeDecoderFn(), []interface{}{}, []interface{}{}) - - return htmlBinder } // ContentTypes that will be used to identify HTML requests @@ -46,6 +46,7 @@ func (ht HTMLContentTypeBinder) BinderFunc() Binder { if err := ht.decoder.Decode(req.Form, i); err != nil { return err } + return nil } } From e5ff685254149cc35a3df84b60d943225f8eb1c9 Mon Sep 17 00:00:00 2001 From: Antonio Pagano Date: Thu, 16 Jul 2020 17:21:57 -0500 Subject: [PATCH 10/64] adding new version number --- Dockerfile.build | 4 ++-- Dockerfile.slim.build | 4 ++-- runtime/version.go | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/Dockerfile.build b/Dockerfile.build index b74bea99d..12a48cd28 100644 --- a/Dockerfile.build +++ b/Dockerfile.build @@ -33,8 +33,8 @@ RUN npm install -g --no-progress yarn \ RUN curl -sfL https://install.goreleaser.com/github.com/golangci/golangci-lint.sh | sh -s -- -b $(go env GOPATH)/bin v1.24.0 # Pulling docker binary from releases -RUN wget https://github.com/gobuffalo/buffalo/releases/download/v0.16.11/buffalo_0.16.11_Linux_x86_64.tar.gz \ - && tar -xzf buffalo_0.16.11_Linux_x86_64.tar.gz \ +RUN wget https://github.com/gobuffalo/buffalo/releases/download/v0.16.12/buffalo_0.16.12_Linux_x86_64.tar.gz \ + && tar -xzf buffalo_0.16.12_Linux_x86_64.tar.gz \ && mv buffalo $(go env GOPATH)/bin/buffalo RUN go get github.com/gobuffalo/buffalo-pop/v2 diff --git a/Dockerfile.slim.build b/Dockerfile.slim.build index 8d9e323b0..6f14ba0ea 100644 --- a/Dockerfile.slim.build +++ b/Dockerfile.slim.build @@ -19,8 +19,8 @@ RUN npm i -g --no-progress yarn \ && yarn config set yarn-offline-mirror-pruning true # Pulling docker binary from releases -RUN wget https://github.com/gobuffalo/buffalo/releases/download/v0.16.11/buffalo_v0.16.11_Linux_x86_64.tar.gz \ - && tar -xzf buffalo_v0.16.11_Linux_x86_64.tar.gz \ +RUN wget https://github.com/gobuffalo/buffalo/releases/download/v0.16.12/buffalo_v0.16.12_Linux_x86_64.tar.gz \ + && tar -xzf buffalo_v0.16.12_Linux_x86_64.tar.gz \ && mv buffalo $(go env GOPATH)/bin/buffalo RUN go get github.com/gobuffalo/buffalo-pop/v2 diff --git a/runtime/version.go b/runtime/version.go index d9f4664d6..05362ddad 100644 --- a/runtime/version.go +++ b/runtime/version.go @@ -1,4 +1,4 @@ package runtime // Version is the current version of the buffalo binary -var Version = "v0.16.11" +var Version = "v0.16.12" From 4362a835f73922d762c5a2ebca4bd5ec46344565 Mon Sep 17 00:00:00 2001 From: Antonio Pagano Date: Sat, 18 Jul 2020 10:24:06 -0500 Subject: [PATCH 11/64] pulling the buffalo binary from gobinaries.com --- Dockerfile.build | 8 ++------ Dockerfile.slim.build | 9 ++------- runtime/version.go | 2 +- 3 files changed, 5 insertions(+), 14 deletions(-) diff --git a/Dockerfile.build b/Dockerfile.build index 12a48cd28..791114292 100644 --- a/Dockerfile.build +++ b/Dockerfile.build @@ -31,12 +31,8 @@ RUN npm install -g --no-progress yarn \ # Install golangci RUN curl -sfL https://install.goreleaser.com/github.com/golangci/golangci-lint.sh | sh -s -- -b $(go env GOPATH)/bin v1.24.0 - -# Pulling docker binary from releases -RUN wget https://github.com/gobuffalo/buffalo/releases/download/v0.16.12/buffalo_0.16.12_Linux_x86_64.tar.gz \ - && tar -xzf buffalo_0.16.12_Linux_x86_64.tar.gz \ - && mv buffalo $(go env GOPATH)/bin/buffalo - +# Installing buffalo binary +RUN curl -sf https://gobinaries.com/gobuffalo/buffalo/buffalo@v0.16.13 | sh RUN go get github.com/gobuffalo/buffalo-pop/v2 RUN buffalo version diff --git a/Dockerfile.slim.build b/Dockerfile.slim.build index 6f14ba0ea..1e9398933 100644 --- a/Dockerfile.slim.build +++ b/Dockerfile.slim.build @@ -1,13 +1,11 @@ FROM golang:alpine EXPOSE 3000 -ENV GOPROXY=https://proxy.golang.org ENV GO111MODULE=on - ENV GOPROXY=https://proxy.golang.org RUN apk add --no-cache --upgrade apk-tools \ - && apk add --no-cache bash curl openssl git build-base nodejs npm sqlite sqlite-dev mysql-client vim postgresql libpq postgresql-contrib + && apk add --no-cache bash curl openssl git build-base nodejs npm sqlite sqlite-dev mysql-client vim postgresql libpq postgresql-contrib libc6-compat # Installing linter RUN curl -sfL https://install.goreleaser.com/github.com/golangci/golangci-lint.sh \ @@ -19,10 +17,7 @@ RUN npm i -g --no-progress yarn \ && yarn config set yarn-offline-mirror-pruning true # Pulling docker binary from releases -RUN wget https://github.com/gobuffalo/buffalo/releases/download/v0.16.12/buffalo_v0.16.12_Linux_x86_64.tar.gz \ - && tar -xzf buffalo_v0.16.12_Linux_x86_64.tar.gz \ - && mv buffalo $(go env GOPATH)/bin/buffalo - +RUN curl -sf https://gobinaries.com/gobuffalo/buffalo/buffalo@v0.16.13 | sh RUN go get github.com/gobuffalo/buffalo-pop/v2 RUN buffalo version diff --git a/runtime/version.go b/runtime/version.go index 05362ddad..f5ca6e681 100644 --- a/runtime/version.go +++ b/runtime/version.go @@ -1,4 +1,4 @@ package runtime // Version is the current version of the buffalo binary -var Version = "v0.16.12" +var Version = "v0.16.13" From b0f043ab966c2b9def2459902bd37512c7e69b99 Mon Sep 17 00:00:00 2001 From: Antonio Pagano <645522+paganotoni@users.noreply.github.com> Date: Wed, 29 Jul 2020 12:11:47 -0500 Subject: [PATCH 12/64] Task updating formam (#2025) * v0.16.13 (#2019) * adding direct version on the docker build * fixing plugin installation * Fix npm's package.json permissions (#2005) Changed created file permissions from 644 (`-w----r--`) to 0644 (`rw-r--r--`) * Bump spf13/viper to v1.7.0 (#1999) * bunping version * changing version on dockerfile * patch to fix the keywords check on new app * removing unneeded append * Task fixing html binder (#2016) * binder was not wired * packing * adding new version number * pulling the buffalo binary from gobinaries.com Co-authored-by: Disconnect3d Co-authored-by: hackerman <3372410+aeneasr@users.noreply.github.com> * updating formam Co-authored-by: Disconnect3d Co-authored-by: hackerman <3372410+aeneasr@users.noreply.github.com> --- go.mod | 2 +- go.sum | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/go.mod b/go.mod index 879985ae4..8f76c8b87 100644 --- a/go.mod +++ b/go.mod @@ -34,7 +34,7 @@ require ( github.com/markbates/refresh v1.11.1 github.com/markbates/safe v1.0.1 github.com/markbates/sigtx v1.0.0 - github.com/monoculum/formam v0.0.0-20200316225015-49f0baed3a1b + github.com/monoculum/formam v0.0.0-20200527175922-6f3cce7a46cf github.com/sirupsen/logrus v1.5.0 github.com/spf13/cobra v0.0.6 github.com/spf13/pflag v1.0.5 diff --git a/go.sum b/go.sum index adf9f4da1..b77c0aa8e 100644 --- a/go.sum +++ b/go.sum @@ -870,6 +870,8 @@ github.com/monoculum/formam v0.0.0-20191229172733-952f0766a724 h1:qlTmDrFZLQIGXn github.com/monoculum/formam v0.0.0-20191229172733-952f0766a724/go.mod h1:JKa2av1XVkGjhxdLS59nDoXa2JpmIHpnURWNbzCtXtc= github.com/monoculum/formam v0.0.0-20200316225015-49f0baed3a1b h1:BvSZE/bUSz180cQzAEDVOh7seh57UNBlcGAte0CQ8l4= github.com/monoculum/formam v0.0.0-20200316225015-49f0baed3a1b/go.mod h1:JKa2av1XVkGjhxdLS59nDoXa2JpmIHpnURWNbzCtXtc= +github.com/monoculum/formam v0.0.0-20200527175922-6f3cce7a46cf h1:DJ+VDi88ZNh+C3HkJlNtfWIeOdLPxFjbtwGbWa/D3sY= +github.com/monoculum/formam v0.0.0-20200527175922-6f3cce7a46cf/go.mod h1:JKa2av1XVkGjhxdLS59nDoXa2JpmIHpnURWNbzCtXtc= github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= github.com/neelance/astrewrite v0.0.0-20160511093645-99348263ae86/go.mod h1:kHJEU3ofeGjhHklVoIGuVj85JJwZ6kWPaJwCIxgnFmo= github.com/neelance/sourcemap v0.0.0-20151028013722-8c68805598ab/go.mod h1:Qr6/a/Q4r9LP1IltGz7tA7iOK1WonHEYhu1HRBA7ZiM= From 2a6f20b5d26ad6ddbcdd51e5be382d4910788719 Mon Sep 17 00:00:00 2001 From: Antonio Pagano <645522+paganotoni@users.noreply.github.com> Date: Sun, 2 Aug 2020 10:06:14 -0500 Subject: [PATCH 13/64] Fixes #1987 and #2023 (#2026) * v0.16.13 (#2019) * adding direct version on the docker build * fixing plugin installation * Fix npm's package.json permissions (#2005) Changed created file permissions from 644 (`-w----r--`) to 0644 (`rw-r--r--`) * Bump spf13/viper to v1.7.0 (#1999) * bunping version * changing version on dockerfile * patch to fix the keywords check on new app * removing unneeded append * Task fixing html binder (#2016) * binder was not wired * packing * adding new version number * pulling the buffalo binary from gobinaries.com Co-authored-by: Disconnect3d Co-authored-by: hackerman <3372410+aeneasr@users.noreply.github.com> * fixing #1987 and #2023 * adding missing converstion * removing commented code Co-authored-by: Disconnect3d Co-authored-by: hackerman <3372410+aeneasr@users.noreply.github.com> --- genny/newapp/api/api_test.go | 10 ++++++ .../newapp/api/templates/actions/app.go.tmpl | 14 ++++++++ .../api/templates/locales/all.en-us.yaml.tmpl | 3 ++ genny/resource/resource_test.go | 34 +++++++++++++++++++ .../standard/actions/resource-name.go.tmpl | 6 ++-- packrd/packed-packr.go | 6 ++-- 6 files changed, 68 insertions(+), 5 deletions(-) create mode 100644 genny/newapp/api/templates/locales/all.en-us.yaml.tmpl diff --git a/genny/newapp/api/api_test.go b/genny/newapp/api/api_test.go index 74e3b7387..4b9f26347 100644 --- a/genny/newapp/api/api_test.go +++ b/genny/newapp/api/api_test.go @@ -62,6 +62,16 @@ func Test_New(t *testing.T) { r.NoError(err) r.Contains(f.String(), `return c.Render(http.StatusOK, r.JSON(map[string]string{"message": "Welcome to Buffalo!"}))`) + f, err = res.Find("actions/app.go") + r.NoError(err) + r.Contains(f.String(), `i18n "github.com/gobuffalo/mw-i18n"`) + r.Contains(f.String(), `var T *i18n.Translator`) + r.Contains(f.String(), `func translations() buffalo.MiddlewareFunc {`) + + f, err = res.Find("locales/all.en-us.yaml") + r.NoError(err) + r.Contains(f.String(), `translation: "Welcome to Buffalo (EN)"`) + unexpected := []string{ "Dockerfile", "database.yml", diff --git a/genny/newapp/api/templates/actions/app.go.tmpl b/genny/newapp/api/templates/actions/app.go.tmpl index 78e68155a..c5bbe8f0c 100644 --- a/genny/newapp/api/templates/actions/app.go.tmpl +++ b/genny/newapp/api/templates/actions/app.go.tmpl @@ -6,6 +6,7 @@ import ( forcessl "github.com/gobuffalo/mw-forcessl" paramlogger "github.com/gobuffalo/mw-paramlogger" "github.com/unrolled/secure" + i18n "github.com/gobuffalo/mw-i18n" {{ if .opts.App.WithPop }} "{{.opts.App.ModelsPkg}}" @@ -21,6 +22,7 @@ import ( // application is being run. Default is "development". var ENV = envy.Get("GO_ENV", "development") var app *buffalo.App +var T *i18n.Translator // App is where all routes and middleware for buffalo // should be defined. This is the nerve center of your @@ -68,6 +70,18 @@ func App() *buffalo.App { return app } +// translations will load locale files, set up the translator `actions.T`, +// and will return a middleware to use to load the correct locale for each +// request. +// for more information: https://gobuffalo.io/en/docs/localization +func translations() buffalo.MiddlewareFunc { + var err error + if T, err = i18n.New(packr.New("app:locales", "../locales"), "en-US"); err != nil { + app.Stop(err) + } + return T.Middleware() +} + // forceSSL will return a middleware that will redirect an incoming request // if it is not HTTPS. "http://example.com" => "https://example.com". // This middleware does **not** enable SSL. for your application. To do that diff --git a/genny/newapp/api/templates/locales/all.en-us.yaml.tmpl b/genny/newapp/api/templates/locales/all.en-us.yaml.tmpl new file mode 100644 index 000000000..6514e2100 --- /dev/null +++ b/genny/newapp/api/templates/locales/all.en-us.yaml.tmpl @@ -0,0 +1,3 @@ +# For more information on using i18n see: https://github.com/nicksnyder/go-i18n +- id: welcome_greeting + translation: "Welcome to Buffalo (EN)" diff --git a/genny/resource/resource_test.go b/genny/resource/resource_test.go index e4e730624..a208e3dc5 100644 --- a/genny/resource/resource_test.go +++ b/genny/resource/resource_test.go @@ -1,6 +1,7 @@ package resource import ( + "fmt" "path" "path/filepath" "strings" @@ -220,3 +221,36 @@ func Test_New_UseModel(t *testing.T) { r.Contains(f.String(), "users := &models.Users{}") } + +func Test_New_SkipModel(t *testing.T) { + r := require.New(t) + + app := meta.New(".") + app.PackageRoot("github.com/markbates/coke") + + opts := &Options{ + App: app, + Name: "Widget", + SkipModel: true, + } + + g, err := New(opts) + r.NoError(err) + + run := runner() + run.With(g) + r.NoError(run.Run()) + + res := run.Results() + + r.Len(res.Commands, 0) + r.Len(res.Files, 9) + + f, err := res.Find("actions/widgets.go") + r.NoError(err) + actions := []string{"List", "Show", "Create", "Update", "Destroy", "New", "Edit"} + for _, action := range actions { + r.Contains(f.String(), fmt.Sprintf("func (v WidgetsResource) %v(c buffalo.Context) error {", action)) + } + +} diff --git a/genny/resource/templates/standard/actions/resource-name.go.tmpl b/genny/resource/templates/standard/actions/resource-name.go.tmpl index aa53e3db7..35c6d5f03 100644 --- a/genny/resource/templates/standard/actions/resource-name.go.tmpl +++ b/genny/resource/templates/standard/actions/resource-name.go.tmpl @@ -11,9 +11,9 @@ type {{.opts.Name.Resource}}Resource struct{ } {{ range $a := .actions }} -// {{$a.String}} default implementation. -func (v {{$.opts.Name.Resource}}Resource) {{$a.String}}(c buffalo.Context) error { - return c.Render(http.StatusOK, r.String("{{$.opts.Model.Proper}}#{{$a.String}}")) +// {{$a.Pascalize}} default implementation. +func (v {{$.opts.Name.Resource}}Resource) {{$a.Pascalize}}(c buffalo.Context) error { + return c.Render(http.StatusOK, r.String("{{$.opts.Model.Proper}}#{{$a.Pascalize}}")) } {{end}} diff --git a/packrd/packed-packr.go b/packrd/packed-packr.go index e1388b57c..8212f3594 100644 --- a/packrd/packed-packr.go +++ b/packrd/packed-packr.go @@ -33,7 +33,7 @@ var _ = func() error { "37c2dc1a1f60c5e3d5255a61cf48ad1a": "1f8b08000000000000ff2ccdb10dc3201046e13a37c52f2a68f00caed266058c023939e690392ac4ee511257affaf46a887bc84fe4939336223eaa9c0a4b80c9acafbef928c79265eb2985b72c570dddcc18f052b5f9b556bf466529edb167cc69c811a55e22b8b05a8741c025fdfdb7b2e10fbed83a47933e010000fffff34f28648b000000", "3baa9872a06bb993286ec8aa69b4f41f": "1f8b08000000000000ff5490cf4ec3300c87ef3cc54f968640a2aae04ad20b4fe22d5e172d69a6381b428877476bba35bbe49f3ffbb3639cbf601758d5524edf343c01eddb2e852ebaeefd638e006663b14f192fc7374451e551f4157ec23eb01ef08b4de51a32ea381337bc851e651c2417cc6b774d3f623310720ab2c468cdab82a8635b0c30db73296942f93989a57aa1fb3021a9101c17ee9cd7e8ef520267cf5de0ad044b5f33d796058c9e78aad4c13b2793a592cf42c373f151f4d3f457e0a195beea9b597be72febffe0efd6fb7a5e9065fb0f0000ffff829b6c549e010000", "42ef67a69104cc24dbb29e2ddffdf564": "1f8b08000000000000ffbc544f6b1b3f10bde7530c22fee14064c32f3db9eb2d213625d006d386dcb5d6d82ba295965939ae2bf4dd8bf68fbd9bbabeb5975d09cd8cde7b9a3789546fb0d6a2aae6ac3cf00f5064fc7f965e0124f95d7720b9325a19e499b6eb57967a3fb1a5ab265fad443df94c765786904cf3bb3aaf5771a3ad709cd43677754d80643407adccebb31d1bdc77859e4481936f58d91dad31849570f9f8e6167c5d66062c730632677849aa107460e1063c8c9a8a000f84c2213ce11e86c856644ba410da9b213439c954aab7f4aafd5d254e641a3bc8cda6fef2dcbe21b5ebcc924442d968e37214f29812375cf7587a0f24cc16e1ba84d91c1a4cf7ce5105bc85138338a80d98183579b04561cdf3a144600e7f38d60b4c5c9e7a1fa36a9d56a25a0bad7e2244d15d9ef6eaa191c7c46edff17779fa9fc9aaf2639714ff28644328b3f2707aa28d25180fc57c11f4202afcaecc56630837a00c9c8d58e91d091d42ff891247ddb2af4e71419e77121597358a571c1f4468b535bc50526a6469e4e3fdf5052e13ef63fda1ba21764b3275327d07a8aff1199d5b2cfdaccb9638469dac31f0c53bb0b5393c0c42568244f1b8086176fe498e441f1710ce194b998d65b7109b6006ec45e13e7a6cf4478028951b2268adf657d0ed051965b627804ba9dc6580ff5c41193b9ad82d30299ce005badc4a3603b6587e593e2f8f076b6b368a8a78724f0807bb836a47f8e9446e8195237bf88d5f3baf4edb539325d3ce5ffd29d77a3a99d6132c4eba5e1f4603f1351a87d48cb4d11c4ab15546384be376a5aca941b457ff0a0000ffffc89382642d060000", - "4334b0f46d779c32dd8a3ee235a4b42e": "1f8b08000000000000ff84565f6fdb38127fd7a718e8c9361c0ab8470329906bd3e60eae6354bee680a26818716c714b71b82465c730f4dd174349891d20bb4f92c8dffc9ff98d9cac7ecb1d82aca2261bb24c378e7c84490690ef74acdb27515153ece8a9dd6ea5a102edfe98bf7b3b3c19b0255f6108e61d6473b81a118c76d2cbc6d06e87fe7d8133d05b175aebc9185445c0aaf5986719c0e9047a0b825c0ce2c639f1a063bd26075dc7c2a7d3ebcd575268c2faf7aeebfe31b62b47aed8ffabe08723d71cf2de145a05575d97bd91f7a1a8c887f7d53e170143e0ec33a6221bd1c67874f87e1ece407936cdb2a280dbd577d001da800a22418dc64138e858d51030466d77019e24df9285438d1e21d6c892d239a32bc9f5670d4fa8ed0e7c6b057cc2ad6c4de4d35ce11e0db9066dcc45b6973e59bc066e07f105e324ff72ffeb76f53d9f5f62a7092b9d83d91000273cb97ce31cabee9d91c680a73662006915345a298307e991fb080651960a35b546c11382c2adb6a8046c6a1d5853ac112cfa3d428536a207dac2915aff264a9115051f7da396f3323f3336879da7d6853960ac8410c00e28ac8cf4a86073bf86ab0ff0e9fe61c53a7abb0d4a1bb8cf8ed482540ae4b9f391e0513af70833b98de86783324eb16415c9dc1c622d63ff0e076d0cacee3750cb3df617160f673a395e84209b543d0edbb7c8a17a0cd4fa6a7438c51a400638a03163d0ff89204da0c1eda47e4cbb47a86aac7ea3026d5332c92bf4fc76bc48440afeb1e44c7fd606c3237b21e1e3cde6e3ddd5cd72d96b9c4320d0712c98340779e4f662616764850a8c0c71b495642e5c9fb3ef3af619711ef768476759c74b5952661918092ceed173735492d94064dbd656dc6993e94503c229032e1a37e6f535586dd209f40763bf89151e26e3fbbd4b5ef530805bbb5ff00ccc87efb21fe23292c7058c232d56ad31a76e04ad3d3e488f61013f7e8e7a87b3512f53800f6298bdc954dc49ab0cfa5145f7c6e04a36b880fcd7399df199e0d274ddafc193bc17eba6597af2f8b5911a193567ea081e95f658a52496e572cc85f85fc049e2e9b25c4ea6afd24bda81c73f5b0cb1e76e8ce8034cb6daa4179eb7e3545ce839a36fb11e6596e9fb557189b1ef8741f9c07590183112fcb7bc5f5d683d23435132119d8d7af147209b8f6effed3e48c61fbc74015056f58b7d6d4142f4d2867e478a110b95f82e4d8b933c3ee75331993972e223598b09371d71dfb0a17d725de9209f0c0fb50e6f32c37b446c5ead4c9ab491c4a77f4fa7a3efbc60fafdd20b7eb9dd4cf2229fc31d353874098313c4636cbd655cd625b61d8bd88fd3787dc1554c06c3edd00cd282b615356925f40949a4b3e571d3012c45b8db6cd6a580bc8ed12d8a029f65e30cf2d2cae1fa437f1ede5c9cd1e7ab7d45186036b3146733409b5255964b913600f3f80589c3864051729a951db8632a6a1ace521b12c182f3f47c5cc0e8c1cb0e159aff630a4555281266481034e411b4dd926f929533d9777f358a9e635e87e4853dbebec4f69911a7d7b28c7f3e679049afed9266ca72f96da8c5a2671d5ebad7903b4faa4d9d320c76592ed71cc91d4a853e2ca091ee4788bc697ef68f53feffabcfe40fd22b54576b4f91f2c5509e3cb14a37cdbaecaf000000ffff4ca8780e120a0000", + "4334b0f46d779c32dd8a3ee235a4b42e": "1f8b08000000000000ff8c565f6fdb36107ff7a7b8e9c9326c0adbd3e02105b2366d36b88e51b9cd80a26818f16c73a5781c49d9f1027ff7e12829b10da4dd83219a3cfeeeffefe864f54dae11641535d93018e8da918f301c00646b1d37cdbda8a82ed674dfac56d2508176bbcf5e3cedbe2cb0225f6108e605c97a37e92558da492f6b43eb35fa972f1c099d9bd0584fc6a02a02568d473ed63fff6a5fc6e2d36c3000787c04bd02412e0671e99cb8d571b320078703ab787c7c3e794f0a4d587c5b1f0e3f8cc0c4912bb6bf14fc71e4ea5dd6aa42ab6072380cceeefb5054e4c3cbb00f45c01038472c53918d6863dc3b7cd9c323a16c900f06450157f34fa00334011544820d1a0761a763b58180316abb0e702ff9942cec36e811e206f9a674cee84a729530c23d6abb06df58016f70251b13793753b84543ae461b3331d84a9f345e00178d78877198bdbbf97a35ff948d4f65f3242b9d8351e700073c6d2e61c4a9124b2f6d3032924f9e5c3ac71a5b1ba531e0a98918405a05b556cae04e7ae422840e916f850d3546c13d82c295b6a8042c373a3052dc2058f45b840a6d440fb4823d35fecc7931280adefa400d876b7ca46c0c6b4f8d0b63c0580921800d505819e951c1f266019357f0e6e676ce18adde1aa50d5c7e7b6a402a05f2d8f84870279dbb83915c45f4a30e8c232f1922a91b43dcc8d8ae61a78d81f9cd1236728bed81c5dd1126fb8b10649d92ca6efb06d9558f811a5ff506275f03c8003b34a677fa8f08d204eacc4ef07dd83d42b5c1ea1b2ad0360593bc42cfabfd492092f3772547faad3618eed80a09af2f97afaf2797b3598b388640a0639f30697672cf55c7979d91152a3032c45e57ba7362fa986dd7b18d88f3b845db1bcb184f69499165c14860718b9e8ba3924c2562b06a6cc59536cc4fea121e995d56a95e2f2ec06a9376a0dde8eb4dcc7137ecd7372e59d58a015cd9ed945b63dcfd2fdbde2e23799c42dfe962de18f378e885161e6fa5c73085cf5f7adc6eafc76566f041742d39ccc5b5b4caa0ef210e670ae7b2c629645f8f598ef704a7e670f8da5992b5d70ef9207db9fd9a48b58c9a23b5078f4a7bac5210cb72d6c7427c0c384c245f96b361fe7c7b466bf0f84f8321b6c48f117d80e14a9bb4e07edbe7e204e788fbc5a2bf334bff9f814b8c6d3d74e01d054222ca48f06779333f413de24851323f1db57af177209bf5667f774c24e5b75eba0028abcd937e6d414264e66a07ace865a1129fa4697098c5872c17c39123275e93b598e4f25eee03d6b44da62b1de4bde1a6d6e12c323c5e5a7e6cb50ceb34a8c49bdff3bcb79de74e3b76da8befae96c3acc8c6704d357655c2c249c4636cbc65b9c121b16decc83791426a29435281a14a1a8415f7f1982708342ec53f3e9135dc754f0bb1bc1b272eb5aa45e8959c315e13d227e13354453e9556af8b7c0a314375514e8cc2fb3579046d57e4eb64ea143631ba302d9ee7a2d0fc82291455a14888fadf24dab6fab19bc3fca991df3f19f896a5b8d97832a14f3ff22d1b2cc769e722bd3b52f3f3e3caa71597d5b4f520f0ec13a2e8ffe563c8d04e3e9659fe5b02f8e98c514419c90dd177e979cacef2c8ae61de25aaefb6ef849859bb3bedba565ad0b6a23a8df436a6693aac981775004b11ae97cb452920e3884e8b021f64ed0cf2a323838b57ed7e383b389a73cffa156180d1c8521c8d006daae9b29c8994411eb827d31696048a92d10cb6e3d6aea8aeb99c9b902621384f0ffb1fe43ac9fc8f3a79f14159b415f2cc66dfab8e2eeefdfbf638512ddae93c28cbd9872e17d3763cf0a3e90232e74935a97d3a062ecbd9823db946a9d08729d4d27d0e919f045fdacf63f6d7e42df99df40ad564e1295236edd29325fa3f70adfc170000ffff9db270a2f80b0000", "47cdc99cfd7800b23c57b35568e02598": "1f8b08000000000000ff8453d16e2b35107df7578c6e1e7861775321845454a4d2842b046da240dbdb27e4d893dd21de19637be98da2fc3bb2779b80a04279f0c66766ceccf19919fcda51048aa0a11f5ca22a26dd222cc4ec31ecc82168b610f08f810246f8ee6682e0ea9b7afeb59a4197928fd74d63c5c4da16ac36d237c82d313643c4d00e64315f54d4eb169b425478aaed40ce36ea87cdea1e5ad90ebb9d76d24ce7f5f1588b4fb17ec21049f874021da1a460506af9f0041f57575757f7abc5e3cf4b109eaed69bd5a797d2d875d3f8209f0f752b4e735b4b6895da3c3e40bfb714a0f2d0c4609a379e5befebb5367bdde27adf9e4eea79b5f969f1e3e67fa2d4f1483bb880cf94ba67dc7a6df6509d4e6a06298bfc4ace81d1a643481d02fb1e8863d2ce414ce8bf84811dc6087eac5dff1e85c1749a5b8cea76b1f82750ff17eb8b0e5c2873f84107ae9d983dd465e6fcffcc58552c950fd2068c511d8fe82296cc1cf9f7d6fe15c8b6c45dbed40ceec41fca501f05eec50e0e23f49a6987314575b75abf402b752f763ace5771e8a743cd266d2cfa085bdc49c0f1ad89db624223fe90bfa30cc1204481d4e904af0856f88b048c68210904acacbcb2136db35ffac1746a562abca54c15266da774e23fb523ab13820c01de4aa005a70f188a30ad401ee20d5345e77ad27772edd8345479931219a8049a2d71a3bd57a3d1b5f3c45872b4df83b67654799c7fab63f71e6674653024da91d109a3ba183433a851d6aada05e96fa63d3993439d5fea918df43d722a4a0d5c5e6d4bacc30188e1830f62079348f8431e15afd50cc6adfa6df9f074738173b1ef896d2990cb2781795d7e59674a6034c316212232e48e408614c98eee37c2491363283b7bbb586c6ea66ca5969fd6ab5f96f0d57c3e7fb7e59edaa0731f67af848139dbe33250eefdee7e7151604cc26f2f0f9261fc8ce672f357000000ffffc5fa989b12050000", "4e577aceb26efd4aa3e9ef3ab5ae5884": "1f8b08000000000000ff9c55df8be336107ef75f311504649a53ee36f4a1ee65e176cb9642f70877d7f6611b0ec5961d114b32929c0b2cf9dfcb48b2e3dcfe80f625966646df37f34933e978b9e78d00c5a5ce32a93a633dd00c80d4ca13fcb6a6095fe3d267218ea20c6b2f952019ae1ae977fd9695462d14b7fb2df7c22d1a2b6b1f7fc977418dd9f675cd5bb318beb6d7110ee02b90f7b31598ce3bb68ef9adf70dccae17fc7bf787d24ba35d74a3133db2061abc7f4bbf5b9b2e8747985dbf98014a601787ab9773ec4cb738fc14fc23f3bda9447b410ca7c8f22485df5001376631cd3fba9ea2e45956f7ba04a9a5a7393c667e0ec25a2856802ab135b74ed0b0fc7477bb5c2e7f9e47d46d2fdbea8b540201f30c30133cf8c30ab46ce1310300a895676b2bb56f3515d662d829034857c03e0b7f8330743084ddefba3678fc2f619d34ba98f0251352ce0301265080c7cd29cf4ea9187c63a118006e1b87c518c73ed8c66500076ec158d948cd5b34c1c3c6792b759301d4c6829ce3213c63b96e444488e5c83ab8562b206fde9064844bb415f0ae13baa203ec23023cbcdd9c02ae7b903fbe2b368cb13c9de6e914fa0ab949d6ad157c1fd6a7249aaca1159a625c8e29bc3b2785f6691239dec2db737eb176585d643a829f0bb80fba059315beb73a5197a84648f01de6e7be495feea00c04aff641c99d00a26463b917a408c8691778ce6f39461ee2fda6c80e5f4ebaf2101e833c777b3207e2c30f777b97e22f147a0fcb5180d634ec8e7bde52a28d07a14ddfecb0a05e09ed1d74dc3951813710b0f38934a1f43059d847f1edd6682f8e3e503c5c6df2a7b4d77035d29683ec217c596c26b8a9c722f2a75e0f90732847d427ed34ad24b553c4ab44cdfbd68f327c1d9b184728fbc398fd9afb1d2569d090fc97e7d09fe77c9675a823a9a4aa91ecd628c57575e64aef7efaea4b55b1cfbe921a426786e5d4617a3f7a4cefa72e4c7070096ba76262044af93f043c8db3e3f2d18573e314abe979a07ee44ab02fd2b782e630bb86c3309adc3f9acce162a2d13ccca6575a258eada13302ebd61cc75bec4c87cfef3e0448a36fcc91867f13b452c2bbae5083cf615bb0c5649fcf41853f11f6ebcd4b937ad4a5a6e48ecb36b643af9105ce5805cc107f32cbe37d6ccd91fdd9d1ff866e7bfd0af4291ba6c3bf010000ffff364833083b080000", "50d3e266d6148ce655a2a7ff90ce1dd7": "1f8b08000000000000ffbc92414b03311085effb2b1e2b85f552a878743d78d793b7b2946967acc126914cc2e2bf9760060b2a56058f99f95ee6bd4cd66bdd49a0e4e2347581bc60447f8859111f303bde4bd6beeb80777099697b9069ea00c024c7e8477899e2dc0480e32ab85a8c28c5f11d79e1a1e9fb732caefbc6d9d5f78f4ee1b4b9c1d9ca806de4970a68f462dd5ab3fe2e0965e10d651b18e23c1c8f28cffc25f1d320c329de2ffecdfb37fb2a2ae917dbfa34e42da527dc5016b50eb1770123722a62a57d652f57edf8167973ea5ff8e373bc060000fffff48dcecee6020000", @@ -43,7 +43,7 @@ var _ = func() error { "5d6f2ea1184b1653049f127764858779": "1f8b08000000000000ff84524d6bdc3010bdeb573c9425b40559ec2d98f4104ad99e9a3d945e832ccfca62b51e23c9db429aff5e243b69c852727ae67dcc789eddd181233d241bfd945b012884112a4177b30f7d8276ac53b47af381ecc0908f8f0d4f393577d3d4ec8d3d1a47fba37b7a92f8033b67a81e524ba8c3f6639d66fb9711ff8b56dfe9d8fb0835619abbe0ad3629514e55720c47196a86f37998bbc6f2493beee6c3c104d66ff03972e21e3dff1a039bbe72f47be298b1bffbf1edb3dc146837bbfb82baf3a3142265e3282d25644a5988a6803a9b985a5cbf3c0be06ca2375d58dcc0eefee1ebf79f2d64f14821aeb0e360468733c5e479841dd85bc24061a2289a399172d5a1fcc9386a71fd8a0aa66e07566da1db957e2fbd553717d16d7323444997d7bdc297c18c8e9019f2f6b6c5a78bddb2687322e481b050d8f1f33502781b5b9656f6754db5d116eb39ff7eb2d2f0fab916f16f000000ffffcf5a70eb87020000", "5eb380c2ae8ca6e10dffc3b60fd4c68c": "1f8b08000000000000ff74903d6b342114856befafb8afc58b2e83032917b6d866cb14c942cae08ace4a6655f49a0fc2fcf7e038c51248a93ecf390793366f7ab2a80df9180a80bfa5980905304eb6900f1307607cf274ad1765e26d9ce2a53aa7e73836398fef0ffc2fa0544f968304a0af64f1b8963cb74b2c94ab21fc06b65b29d51f61017035183cdb42af778220dc6d83d45936af4f1ed0e68cfb03f69447fbd1a5174fd793ffa49a6d11c794841c70dddb10c17fc7f301b952a3db0c2e2530efd6ec7f070c7e6e8d8cd449939e85cd59025b00982eadfbff5d52e3fa71bffdead050d6f73dd52068405d242cf0130000ffff7b2fce9c7d010000", "60b5ddeee92d1c5cda67c7a329b10b52": "1f8b08000000000000ff348d310ec2301004ebec2b4ea9628ae40594b4f006c7d8e604b9b30e1b8a287f478250ed6a34d2141fee3e47f2a1b2ca13e0a5a8551ad0f599ebadcd63d065ca3ab794fc43a7ff5a946bb41e0e787923a3c38f8c27c92c11484d02b1701d1cade88c8eb41be7f81ef67b29dfecba396cf8040000ffff2bd288128c000000", - "6573548b2fc0f0f412c4d11f61313305": "1f8b08000000000000ff7c904d6ac4300c85f73a854867914071f685aeba2cfd61e6041e47c984269651e4d26274f7629a0ecca62b49f0f4de27251f3efc44e883ce1c3780794d2c8a2d203691b4bfa8a606ea34cd7ac9671778ed273ee771f40bf77b6da003d0ef44588ae3a49b7bf52bb9236d9c2590d95f879b4a0e5a00715fbd8ac0004a41f171223c787c7844b763a119f43d9672f0eea432c7c90c071a7d5e14e7352db452545fb50ec61c03b69f55fd2f4a77ebd7862bd11347a52fed904458b0c20a699688c11d290e246d7d8b3ba9d7bcbd3ddfa3ec366d734d7de18116f72e9c48ccee6eb29aaefbbd96e260063f010000ffffc834eef185010000", + "6573548b2fc0f0f412c4d11f61313305": "1f8b08000000000000ff7c90c14ac4400c86ef798a50f7d0824cef82278fa22ebb4f909da6ddc17666c864441de6dda5587b50f09404fe3fff9744b2af34319255177c02704b0ca2d80262e359fbab6a6c609d26a7d77c31362cfd142e791c690efd561be800f42332966242d4649e696173e214b258aef5a7c3a492ad1640dcacbb082a402928e427c603e1dd3d9a0d0b6b85bec7520e648e942ccdee936bc58147cab3a25be2cc0b7ba5556e60ccde62fbb61afea5e9feac6cedcef510bcf2bb76c82241704516d62c1ead39b11f58daf539e6aca439bd3cdea298b38af353dbecc14f61e0d91c2544965a6f7ec7355df77d36fba156f80a0000ffff7c5baa9c8e010000", "6791bbd7d67bf8d4c3e88687fb9eac28": "1f8b08000000000000ffb2c930b4abaed6cb4bcc4dd50b482c4e4eccc9ac4aadad55aeaed64b4c2ec9cccf4316b5d1cf30b4e302040000ffff9ca0bf3a33000000", "699a49e7ff71b8f8ca660965ef51458f": "1f8b08000000000000ffec5a5f73dbb8117fd7a7d8e34c3b644785d29be94b3a79b063fbceade3786c25d7b70e4c2e25d420c000a02d57c3efde5900d4bf9328275192bb8b9f64098bfd87c56f7f4bbae6f91d9f20f0dc09adec6020aa5a1b07e960009094954be853a11b4d9dabfd978970d3e696e5ba1a4df46d53965cea51fcdc2d50eb7a74fff7ddebb391415b6b55a0f142f339d3b5b3eca8aed91b5da0b4577793b64d06d960301ac1782a2c944222080b135468b8c3026e1fe138286470ee4097251a0b1c6eb9153958679adc3506a1d486b4f0a2106a32042c84136a025c1550a0c4f0056a3e4106e7253ceac640455e90b94a1ba4ddb9ae6a8933d086044021167e0ddc942b70538c66058955a81ca71c2f659d262d641b5c170ef3d19d6929f50339a178451f524f48915deac20284ea827d499b7c965ec28d5093467203699742bfc0ae8caed1b46d46b227c730e6b7125fc2956c0c979bc27e51fc0fa3f8355add987c8bf825af9075cb51fa8abbe95272b426faeefa224abd17f80063ac6ac91d52c4059a955d2eaed8f5fd6794a320e4dd1b8572d8e14ef717658ecec374df4b6dfc0fdb53148e7ae01e6bdcab39d4d47c00102b79213468bd6b17c23a98a0b3c0a5dc30f893d14dddb62c9673a3fc2df435c6ebda978877b3e66e4aba7e3a1dc3967c0e6827a4f7fb9ccdbc3369be70f5b5560e672e0334461ba028c80a3a6ff5e41872ad1406a74aa32bff731e360d00dc6c08fa0e5ebe829cbde7b2c13471b32463e95f6a5d93f2b8371b0088127ed077de048041d7180565e5d829592ed3446970862bcba335dda822a18d2d21d17adade73f39a5b0c65d0b6e4c09ffd9159b635bf73afc357e644282a3783b691ce32b8e286571612baea89bfff498de63fe12b456ab4241ca06d422b16f49c60c91be9e09e82b6c00d060daffeb6a1e3d58f2f12daf3817c7433d639706674154ca7398b7f6459f4f21a9d11788fbb0b66791827c721b7680c99f8c08ea44c7bb395fdc30bfff00a9490ebe781c674098fbf2c3099fdc295b3693275954c86100aaeb7907c284745110bd8c74db74eaf1611580dc241ce15dc223436a01a0974f79f795539bb419726cb834886f0a1cba6363e730ba9def093617f3165ab09c9d93552f429353f76e3b86becdb7f0dc1b09fc76f2ed2640f360955e08cd5b2b153e61397f982ceba64fed7fa409e94cc4d8f7e7cf182fcf8e7cddbcb3de7bd6e73f6f4f3db61f2df6f2e9e66f13a144f9a67110a6fa6fa2140219d70c11df740acd52e20ee034652d861e32e601ccde7c93c69dbb5157fddce4fda8fc14df2fcf7889b7405a5d439611e578055ed1e77e47a17ca129f90d887b29d8605cc8e359442157d1d369c9ce1153a34b0fd7ce8b80912d81ac4b9193b13aad85e829db34388b0ba448375dd49d6838379c8eeeaadbfd4ee8c523ba44dd92151b20fb4ba70768156b71ef1ef30a865a7fae15b81d622a0af065a9b16d7416b3ea7ca5b4e2247f617bc85bfb62da1cf253e80f15602a095da541ed072833c8e100a1f7661db728ce9e57d3bb14de1c3d301ec12f7e0d713cb701f02642bd7e233eb50e16619b6741ea80a7f0094bed79468a4318e86bc5d50a3232aefa3d9a4d167fceaedcd67f2ece0d8de8ef10db0f99880b95f594c18653dd4348691d3aee170ce8ef7c2f0d3b8e66fb675bee75214743c4bbad279b448ce00e01e8db1c395fed4ed3b52452c843de8bdc8eb9e4c893218633f737ba41ed36c5df2b3fa908ff80dbf0bd1fa150bfc9e0bc96f2582505614b88cbde3e7716f848fb02d190637635b8a430d39067cc223c1a7ebbda609dc94872a682c1a9a0996bb736d0ce66155a8ba716cddee21ba672f6ebd53b5d1395a4bc938554eb8c7cf003232f6691df5539cf4ed361cc8a6e98f68ac9f6299baee86e195fe7ad851f3bca4ea30e8a771a5bb0ab6e880836d72f20e2a72718291789d496ea769c68e8a224da2483284311b132c488fe043e82f2ee69b3d16acdb9fc5721a8dfca300838508a51b5095d8957fb0b8c95682d86a526f10df52484348b6f5ff3fddef2b6c767e7238eeb6e25800b5e26b53b9ed1e7c0966775a08b7a0763c3ca25db0bb5d44e3d7f482547d04a1eb1f5647e4c5d3190885f03cb13e8915fd3667cbc374b64391712abe7d6cfc5dedc9523ee56a823d843c12807e42bef678e7eadd977dbc133c7fbe2ebfe3ebb27db4d91c02bfda4cd33713c46a7b9e097e35137894f93e86822d80fa3c15fc71a682c6dff1ef6a2a086ce21b0d04c1f827ce02fe8dae75463f86fffee8232f2b6f5e77d217cf5d5608ffc9e9c5e9f8f48b3298e8ff3385797e47b5418cd6bceacae4000ce76b00744950fc25e0b90879d80ed0d71be0ec5fe31f049d9367e05d05deff070000ffffe23875a37d280000", "6d370f84065919e03dd2bd3d253bad56": "1f8b08000000000000ff2cc74d0a84300c06d0f5e41421ab7163cf9496fea16d827ebdbf20ae1ecf351d5a336b42b77913f5e17681ffc4cc2c332334c0e52dfda476b415f76423548bab143d2d7c0a6df4040000ffff73c1922350000000", @@ -51,6 +51,7 @@ var _ = func() error { "7246b36750fc4704d53f0fe7dc0f9a92": "1f8b08000000000000ff1cccc14a03311080e173e729869c1229e95df0608bb8a0e2610b1e65c8ced66036b366260711dfbd74af3f1fff4ae99b2e8c942c4b5580bcacd20c5d653b7c99ad0e60ee35a127c5bbc74d8d3d1b073cb3dae7200b0f54a7c2cd07fc835d63c5fb07248dc3f9edd5bb830bf199cd07801d697cfae954fc6d1c4723ebfafeb2c7c61a4f3271d8c849aa51aeea6ff928d36f1cade57af1618fee834b9285d1048f7d9ea9880bf00fd7000000ffffecd480c3c7000000", "72d19d26d8f2fe5da0c98e7273b5c28a": "1f8b08000000000000ffb491c16ae3301086ef7e8a61c0e080edc0664fc6f1b224bb90438ba169ef634b8945248d91959420f4eec581b6a487de7a9ac37cccfc1f7f2dd4057a4dd3b4c6f15afc06d315bfb04900ea61f5be1085b25a5959749afb1336ff84f21042c9a39fca07165297ade351ba18ebe5b06a927a29d4a549923a5dc3819df9cf2ebbe75fc86d68924fca1eb58c318740bd576cab8fbb8f64e457ac253f64e11e69c991d96d63ace0db17e56e0b719183917e605101b6cf7b8c0b0890de74d3358ce4bc229d6108e581b598859673fe72f046e3e293d4ca9ef69cfd74d6702ba002ecbc85cedbe2959c55f68839a0204f45cff6a09cc10af0af9370e5334c6727ff600e1d8b6b05b821db4b3d8ba64d52a710e7f9160000ffff43242cc0f6010000", "765269a6919d64f4181ba2d9c7592a90": "1f8b08000000000000ff348eb1aac2401045fbfd8afb428ae415fb010f5e6123d80451fb306cc6b098ec86cca671987f978876977b8a73160a0f1a19144acc499c53c54a6964d484bf7ff80f8099bb6f29a021c1efe17d5eb758b8c58da5f4aab5cf4b11dfd1ccfec292b735b0d977f5aaa8c99f49024df1c9306b5aa80348fc91e2d4545d2e38cdcbc433a7c2c34fd53adb73380dbbfd150000ffff01382a01aa000000", + "7fcc70e2c7483a7326a24bd1cdc4af08": "1f8b08000000000000ff24ccb1aec2300c05d0bd5f71d5b73c8612b1a18c4830b232a2d2baa9456223c711e2ef11b01f9d3f9cd450d4082c8b5a199d55a08256591278b71754a288d5fd516308897d6db7eda425084ff72aaf992c241d3eb41bc073c493f2a485aec9889c257580db28357ff788fef20370c5a12dcb9815ffc7f3a6efde010000fffff7ca089490000000", "813f5480d7e19daf02c182e36fa8863c": "1f8b08000000000000ff5492416be3301085effa156fdbc326c5c8f72e3da4878585a52ce450f6e6893cb645648d90e4a6a1e4bf2f92b3b4b9198fdeccbcf95e2073a4913193f54ad93948ccd828e0cec978a7cac7c707b4849cf42e04bd33d98a4f7f8e232e973bb555aa6dab1836214f8c942966eb4704b13e639088b32c11cfcb3090135008ce1a2a5d74d1fe9505863c0666872132837c0fea7b64419e6c4257da7798394fd2373013f9918bf4345186cde8855303ce46ebda72e71c4e0c4ac77529ca0d2823c9cceb564d5909331d1969898c2c4566c839741482de737ce3cdb66bb078c729d5e7bdf8ef1927f2b96c566d566745fac5549d079b341eb76a58bca9d7d96cf1a150dee1f109b41eb11c74b355801dc031d6cae7f41ff5dfb72778ebaa187032ea9f94c96d38c622bca88b52ed83bac78b644ea0832c793d981ea553eafe1efbfd6fec9750c02af5ca886c649ed9f7088e4c2155f97cb570e0c916080851decf0dd262265052bb40666248c4cb68fd7b25e53857dc79e219bdd40c949113d3db19ce0ea5aaae31d098720ee9b16d4739ac81d0565af66d2f26b5755c5dfa7f5a9e17eb7aa55e27f6e8ae0a1ccacfaeb08d8b2f308cccc13a5e8d1caca7786ebe66a772a8ce4ed6391cb8c4a12c3a71a128c30a6d556afc2afcc0ef814de65ed55a6d7d4de26db7cf24dcdc7049c577197213a96b8cb5520fadfa170000ffff71ae9b187d030000", "81cb1587fe133299c9c3ce339d832518": "1f8b08000000000000ff4c8e414ac5401044d7f6298aac1290c91d74f3c185e03f41ff4927199c991e3a3d228877974016ae8a2a8ac76b1c3f791370f4a4f5204aa5a9394602862a3eefee6da0b36dc9f7fe0851cbbce9a3af2b679daf1c68229a67dcb4c88deb92c5900e301659b967c77e8dae38c4be04bd9d7fc6ae45d07893406baff13f618cb8f0e155abcbb74f103335fcd0938977ab88e143ea22369e9ee1eeecfd787f7b8685bb5baadb38dc2467c56a5af072c94e13fdd25f000000ffff16411447fa000000", "856a80f6bafc680de7d735663c530c12": "1f8b08000000000000ff4ccbb10ac2400c80e1d97b8a583af41cee01040717c14504dd255ca31cdca562d2c5907717ede2f6f3c16f062fe407418f59cbc4b0dd415a52dcc37de60c030a6cf63fbbcc4529c295446f667d626c94ce28196b7993fb1797fb5f8708165628e980a50edd695238b667a546ac34aebb183c98118feee1130000ffff2bf5ff9191000000", @@ -115,6 +116,7 @@ var _ = func() error { b.SetResolver("actions/home.go.tmpl", packr.Pointer{ForwardBox: gk, ForwardPath: "d77707b5575db5b50791e6c1a131ac93"}) b.SetResolver("actions/home_test.go.tmpl", packr.Pointer{ForwardBox: gk, ForwardPath: "3453f7ce3ce1e9c9d586ba9aa79a8794"}) b.SetResolver("actions/render.go.tmpl", packr.Pointer{ForwardBox: gk, ForwardPath: "eccd20a3ab2a512709dccf2fb8df4bac"}) + b.SetResolver("locales/all.en-us.yaml.tmpl", packr.Pointer{ForwardBox: gk, ForwardPath: "7fcc70e2c7483a7326a24bd1cdc4af08"}) }() From 4643bad7fb583514fffc183d4899a15cfcbb3015 Mon Sep 17 00:00:00 2001 From: Antonio Pagano Date: Sun, 2 Aug 2020 10:06:44 -0500 Subject: [PATCH 14/64] changing version number --- Dockerfile.build | 2 +- Dockerfile.slim.build | 2 +- runtime/version.go | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Dockerfile.build b/Dockerfile.build index 791114292..a2e3ecbf1 100644 --- a/Dockerfile.build +++ b/Dockerfile.build @@ -32,7 +32,7 @@ RUN npm install -g --no-progress yarn \ # Install golangci RUN curl -sfL https://install.goreleaser.com/github.com/golangci/golangci-lint.sh | sh -s -- -b $(go env GOPATH)/bin v1.24.0 # Installing buffalo binary -RUN curl -sf https://gobinaries.com/gobuffalo/buffalo/buffalo@v0.16.13 | sh +RUN curl -sf https://gobinaries.com/gobuffalo/buffalo/buffalo@v0.16.14 | sh RUN go get github.com/gobuffalo/buffalo-pop/v2 RUN buffalo version diff --git a/Dockerfile.slim.build b/Dockerfile.slim.build index 1e9398933..57320e9b3 100644 --- a/Dockerfile.slim.build +++ b/Dockerfile.slim.build @@ -17,7 +17,7 @@ RUN npm i -g --no-progress yarn \ && yarn config set yarn-offline-mirror-pruning true # Pulling docker binary from releases -RUN curl -sf https://gobinaries.com/gobuffalo/buffalo/buffalo@v0.16.13 | sh +RUN curl -sf https://gobinaries.com/gobuffalo/buffalo/buffalo@v0.16.14 | sh RUN go get github.com/gobuffalo/buffalo-pop/v2 RUN buffalo version diff --git a/runtime/version.go b/runtime/version.go index f5ca6e681..8c7cbecf6 100644 --- a/runtime/version.go +++ b/runtime/version.go @@ -1,4 +1,4 @@ package runtime // Version is the current version of the buffalo binary -var Version = "v0.16.13" +var Version = "v0.16.14" From 39711ae472dfcfb5297f6cc361b989deed2500f3 Mon Sep 17 00:00:00 2001 From: Antonio Pagano <645522+paganotoni@users.noreply.github.com> Date: Fri, 4 Sep 2020 12:27:16 -0500 Subject: [PATCH 15/64] moving to latest 2 go versions (#2038) --- .github/workflows/tests.yml | 2 +- render/js_test.go | 7 +++++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index d0f3036d1..457405146 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -8,7 +8,7 @@ jobs: runs-on: ${{ matrix.os }} strategy: matrix: - go-version: [1.13.x, 1.14.x] + go-version: [1.14.x, 1.15.x] os: [macos-latest, windows-latest, ubuntu-latest] env: GO111MODULE: on diff --git a/render/js_test.go b/render/js_test.go index 7536857f3..335e0d84b 100644 --- a/render/js_test.go +++ b/render/js_test.go @@ -124,6 +124,9 @@ func Test_JavaScript_HTML_Partial(t *testing.T) { bb := &bytes.Buffer{} r.NoError(h.Render(bb, Data{})) - pre := `let a = "\x3Cdiv` - r.True(strings.HasPrefix(bb.String(), pre)) + r.Contains(bb.String(), `id`) + r.Contains(bb.String(), `foo`) + + // To check it has escaped the partial + r.NotContains(bb.String(), `
`) } From e44a95da6b44c4360dcf8a6a05b0eb9005d209d1 Mon Sep 17 00:00:00 2001 From: Antonio Pagano <645522+paganotoni@users.noreply.github.com> Date: Fri, 4 Sep 2020 15:11:43 -0500 Subject: [PATCH 16/64] Task binding cleanup (#2039) * moving to latest 2 go versions * cleaning up the decoder on the binding package --- binding/binding.go | 25 ++++++++++++++++++++----- binding/html_content_type_binder.go | 14 -------------- 2 files changed, 20 insertions(+), 19 deletions(-) diff --git a/binding/binding.go b/binding/binding.go index e77eb6974..e78de96be 100644 --- a/binding/binding.go +++ b/binding/binding.go @@ -2,8 +2,10 @@ package binding import ( "net/http" + "time" "github.com/gobuffalo/buffalo/binding/decoders" + "github.com/gobuffalo/nulls" "github.com/monoculum/formam" ) @@ -14,16 +16,16 @@ var ( // information on how this impacts file uploads. MaxFileMemory int64 = 5 * 1024 * 1024 - formDecoder = formam.NewDecoder(&formam.DecoderOptions{ - TagName: "form", - IgnoreUnknownKeys: true, - }) + // formDecoder (formam) that will be used across ContentTypeBinders + formDecoder = buildFormDecoder() // BaseRequestBinder is an instance of the requestBinder, it comes with preconfigured // content type binders for HTML, JSON, XML and Files, as well as custom types decoders // for time.Time and nulls.Time BaseRequestBinder = NewRequestBinder( - NewHTMLContentTypeBinder(formDecoder), + HTMLContentTypeBinder{ + decoder: formDecoder, + }, JSONContentTypeBinder{}, XMLRequestTypeBinder{}, FileRequestTypeBinder{ @@ -32,6 +34,19 @@ var ( ) ) +// buildFormDecoder that will be used in the package. This method adds some custom decoders for time.Time and nulls.Time. +func buildFormDecoder() *formam.Decoder { + decoder := formam.NewDecoder(&formam.DecoderOptions{ + TagName: "form", + IgnoreUnknownKeys: true, + }) + + decoder.RegisterCustomType(decoders.TimeDecoderFn(), []interface{}{time.Time{}}, nil) + decoder.RegisterCustomType(decoders.NullTimeDecoderFn(), []interface{}{nulls.Time{}}, nil) + + return decoder +} + // RegisterTimeFormats allows to add custom time layouts that // the binder will be able to use for decoding. func RegisterTimeFormats(layouts ...string) { diff --git a/binding/html_content_type_binder.go b/binding/html_content_type_binder.go index 0450bc48d..dd69eb56d 100644 --- a/binding/html_content_type_binder.go +++ b/binding/html_content_type_binder.go @@ -2,10 +2,7 @@ package binding import ( "net/http" - "time" - "github.com/gobuffalo/buffalo/binding/decoders" - "github.com/gobuffalo/nulls" "github.com/monoculum/formam" ) @@ -14,17 +11,6 @@ type HTMLContentTypeBinder struct { decoder *formam.Decoder } -// NewHTMLContentTypeBinder returns an instance of HTMLContentTypeBinder with -// custom type decoders registered for Time and nulls.Time -func NewHTMLContentTypeBinder(decoder *formam.Decoder) HTMLContentTypeBinder { - decoder.RegisterCustomType(decoders.TimeDecoderFn(), []interface{}{time.Time{}}, nil) - decoder.RegisterCustomType(decoders.NullTimeDecoderFn(), []interface{}{nulls.Time{}}, nil) - - return HTMLContentTypeBinder{ - decoder: decoder, - } -} - // ContentTypes that will be used to identify HTML requests func (ht HTMLContentTypeBinder) ContentTypes() []string { return []string{ From 859e8284ec9d26786bfe6c32332a1d5bd9dc748f Mon Sep 17 00:00:00 2001 From: Antonio Pagano <645522+paganotoni@users.noreply.github.com> Date: Sat, 5 Sep 2020 12:04:45 -0500 Subject: [PATCH 17/64] Task update formam (#2041) * v0.16.14 (#2030) * adding direct version on the docker build * fixing plugin installation * Fix npm's package.json permissions (#2005) Changed created file permissions from 644 (`-w----r--`) to 0644 (`rw-r--r--`) * Bump spf13/viper to v1.7.0 (#1999) * bunping version * changing version on dockerfile * patch to fix the keywords check on new app * removing unneeded append * Task fixing html binder (#2016) * binder was not wired * packing * adding new version number * pulling the buffalo binary from gobinaries.com * Task updating formam (#2025) * v0.16.13 (#2019) * adding direct version on the docker build * fixing plugin installation * Fix npm's package.json permissions (#2005) Changed created file permissions from 644 (`-w----r--`) to 0644 (`rw-r--r--`) * Bump spf13/viper to v1.7.0 (#1999) * bunping version * changing version on dockerfile * patch to fix the keywords check on new app * removing unneeded append * Task fixing html binder (#2016) * binder was not wired * packing * adding new version number * pulling the buffalo binary from gobinaries.com Co-authored-by: Disconnect3d Co-authored-by: hackerman <3372410+aeneasr@users.noreply.github.com> * updating formam Co-authored-by: Disconnect3d Co-authored-by: hackerman <3372410+aeneasr@users.noreply.github.com> * Fixes #1987 and #2023 (#2026) * v0.16.13 (#2019) * adding direct version on the docker build * fixing plugin installation * Fix npm's package.json permissions (#2005) Changed created file permissions from 644 (`-w----r--`) to 0644 (`rw-r--r--`) * Bump spf13/viper to v1.7.0 (#1999) * bunping version * changing version on dockerfile * patch to fix the keywords check on new app * removing unneeded append * Task fixing html binder (#2016) * binder was not wired * packing * adding new version number * pulling the buffalo binary from gobinaries.com Co-authored-by: Disconnect3d Co-authored-by: hackerman <3372410+aeneasr@users.noreply.github.com> * fixing #1987 and #2023 * adding missing converstion * removing commented code Co-authored-by: Disconnect3d Co-authored-by: hackerman <3372410+aeneasr@users.noreply.github.com> * changing version number Co-authored-by: Disconnect3d Co-authored-by: hackerman <3372410+aeneasr@users.noreply.github.com> * updates formam version #2040 Co-authored-by: Disconnect3d Co-authored-by: hackerman <3372410+aeneasr@users.noreply.github.com> --- go.mod | 2 +- go.sum | 6 ++---- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/go.mod b/go.mod index 8f76c8b87..c0cb83925 100644 --- a/go.mod +++ b/go.mod @@ -34,7 +34,7 @@ require ( github.com/markbates/refresh v1.11.1 github.com/markbates/safe v1.0.1 github.com/markbates/sigtx v1.0.0 - github.com/monoculum/formam v0.0.0-20200527175922-6f3cce7a46cf + github.com/monoculum/formam v0.0.0-20200905010316-d7a8fbd33677 github.com/sirupsen/logrus v1.5.0 github.com/spf13/cobra v0.0.6 github.com/spf13/pflag v1.0.5 diff --git a/go.sum b/go.sum index b77c0aa8e..7446cd944 100644 --- a/go.sum +++ b/go.sum @@ -868,10 +868,8 @@ github.com/monoculum/formam v0.0.0-20190730134247-0612307a4099/go.mod h1:JKa2av1 github.com/monoculum/formam v0.0.0-20190830100315-7ff9597b1407/go.mod h1:JKa2av1XVkGjhxdLS59nDoXa2JpmIHpnURWNbzCtXtc= github.com/monoculum/formam v0.0.0-20191229172733-952f0766a724 h1:qlTmDrFZLQIGXnd1JE58dqyLnKyIJjR9WBeDQcT3O8w= github.com/monoculum/formam v0.0.0-20191229172733-952f0766a724/go.mod h1:JKa2av1XVkGjhxdLS59nDoXa2JpmIHpnURWNbzCtXtc= -github.com/monoculum/formam v0.0.0-20200316225015-49f0baed3a1b h1:BvSZE/bUSz180cQzAEDVOh7seh57UNBlcGAte0CQ8l4= -github.com/monoculum/formam v0.0.0-20200316225015-49f0baed3a1b/go.mod h1:JKa2av1XVkGjhxdLS59nDoXa2JpmIHpnURWNbzCtXtc= -github.com/monoculum/formam v0.0.0-20200527175922-6f3cce7a46cf h1:DJ+VDi88ZNh+C3HkJlNtfWIeOdLPxFjbtwGbWa/D3sY= -github.com/monoculum/formam v0.0.0-20200527175922-6f3cce7a46cf/go.mod h1:JKa2av1XVkGjhxdLS59nDoXa2JpmIHpnURWNbzCtXtc= +github.com/monoculum/formam v0.0.0-20200905010316-d7a8fbd33677 h1:N11HMdhT5DtkXsQQo3xPFipjvG7QwzKa9MBupRQqXaU= +github.com/monoculum/formam v0.0.0-20200905010316-d7a8fbd33677/go.mod h1:JKa2av1XVkGjhxdLS59nDoXa2JpmIHpnURWNbzCtXtc= github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= github.com/neelance/astrewrite v0.0.0-20160511093645-99348263ae86/go.mod h1:kHJEU3ofeGjhHklVoIGuVj85JJwZ6kWPaJwCIxgnFmo= github.com/neelance/sourcemap v0.0.0-20151028013722-8c68805598ab/go.mod h1:Qr6/a/Q4r9LP1IltGz7tA7iOK1WonHEYhu1HRBA7ZiM= From ec9ca999615980f463448bc97a2be36623b0745f Mon Sep 17 00:00:00 2001 From: Antonio Pagano <645522+paganotoni@users.noreply.github.com> Date: Sat, 5 Sep 2020 12:12:29 -0500 Subject: [PATCH 18/64] updating flect versionm (#2042) --- go.mod | 2 +- go.sum | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/go.mod b/go.mod index c0cb83925..be9ef8141 100644 --- a/go.mod +++ b/go.mod @@ -11,7 +11,7 @@ require ( github.com/gobuffalo/clara/v2 v2.0.2 github.com/gobuffalo/envy v1.9.0 github.com/gobuffalo/events v1.4.1 - github.com/gobuffalo/flect v0.2.1 + github.com/gobuffalo/flect v0.2.2 github.com/gobuffalo/genny/v2 v2.0.6 github.com/gobuffalo/github_flavored_markdown v1.1.0 github.com/gobuffalo/helpers v0.6.1 diff --git a/go.sum b/go.sum index 7446cd944..83f7c8e6d 100644 --- a/go.sum +++ b/go.sum @@ -258,6 +258,8 @@ github.com/gobuffalo/flect v0.2.0 h1:EWCvMGGxOjsgwlWaP+f4+Hh6yrrte7JeFL2S6b+0hdM github.com/gobuffalo/flect v0.2.0/go.mod h1:W3K3X9ksuZfir8f/LrfVtWmCDQFfayuylOJ7sz/Fj80= github.com/gobuffalo/flect v0.2.1 h1:GPoRjEN0QObosV4XwuoWvSd5uSiL0N3e91/xqyY4crQ= github.com/gobuffalo/flect v0.2.1/go.mod h1:vmkQwuZYhN5Pc4ljYQZzP+1sq+NEkK+lh20jmEmX3jc= +github.com/gobuffalo/flect v0.2.2 h1:PAVD7sp0KOdfswjAw9BpLCU9hXo7wFSzgpQ+zNeks/A= +github.com/gobuffalo/flect v0.2.2/go.mod h1:vmkQwuZYhN5Pc4ljYQZzP+1sq+NEkK+lh20jmEmX3jc= github.com/gobuffalo/genny v0.0.0-20180924032338-7af3a40f2252/go.mod h1:tUTQOogrr7tAQnhajMSH6rv1BVev34H2sa1xNHMy94g= github.com/gobuffalo/genny v0.0.0-20181003150629-3786a0744c5d/go.mod h1:WAd8HmjMVrnkAZbmfgH5dLBUchsZfqzp/WS5sQz+uTM= github.com/gobuffalo/genny v0.0.0-20181005145118-318a41a134cc/go.mod h1:WAd8HmjMVrnkAZbmfgH5dLBUchsZfqzp/WS5sQz+uTM= From 0c5aed0f28d0b4dd51d05aa9ca12c0d841d1d1cf Mon Sep 17 00:00:00 2001 From: Antonio Pagano Date: Sat, 5 Sep 2020 13:06:49 -0500 Subject: [PATCH 19/64] updating version --- Dockerfile.build | 2 +- Dockerfile.slim.build | 2 +- runtime/version.go | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Dockerfile.build b/Dockerfile.build index a2e3ecbf1..16af7cd1a 100644 --- a/Dockerfile.build +++ b/Dockerfile.build @@ -32,7 +32,7 @@ RUN npm install -g --no-progress yarn \ # Install golangci RUN curl -sfL https://install.goreleaser.com/github.com/golangci/golangci-lint.sh | sh -s -- -b $(go env GOPATH)/bin v1.24.0 # Installing buffalo binary -RUN curl -sf https://gobinaries.com/gobuffalo/buffalo/buffalo@v0.16.14 | sh +RUN curl -sf https://gobinaries.com/gobuffalo/buffalo/buffalo@v0.16.15 | sh RUN go get github.com/gobuffalo/buffalo-pop/v2 RUN buffalo version diff --git a/Dockerfile.slim.build b/Dockerfile.slim.build index 57320e9b3..788b59d1a 100644 --- a/Dockerfile.slim.build +++ b/Dockerfile.slim.build @@ -17,7 +17,7 @@ RUN npm i -g --no-progress yarn \ && yarn config set yarn-offline-mirror-pruning true # Pulling docker binary from releases -RUN curl -sf https://gobinaries.com/gobuffalo/buffalo/buffalo@v0.16.14 | sh +RUN curl -sf https://gobinaries.com/gobuffalo/buffalo/buffalo@v0.16.15 | sh RUN go get github.com/gobuffalo/buffalo-pop/v2 RUN buffalo version diff --git a/runtime/version.go b/runtime/version.go index 8c7cbecf6..52302ec37 100644 --- a/runtime/version.go +++ b/runtime/version.go @@ -1,4 +1,4 @@ package runtime // Version is the current version of the buffalo binary -var Version = "v0.16.14" +var Version = "v0.16.15" From 9b38d89b2b96d7fe5cf01b386a0fb6a5e8b953e0 Mon Sep 17 00:00:00 2001 From: Antonio Pagano <645522+paganotoni@users.noreply.github.com> Date: Sun, 6 Sep 2020 19:02:05 -0500 Subject: [PATCH 20/64] updating some libraries to pass the github security warnings (#2044) --- genny/build/_fixtures/coke/package.json | 21 +- genny/build/_fixtures/coke/yarn.lock | 514 +++++++++++++++--------- 2 files changed, 343 insertions(+), 192 deletions(-) diff --git a/genny/build/_fixtures/coke/package.json b/genny/build/_fixtures/coke/package.json index 46e4a4ba6..c1ca5e7e0 100644 --- a/genny/build/_fixtures/coke/package.json +++ b/genny/build/_fixtures/coke/package.json @@ -9,33 +9,30 @@ }, "repository": "github.com/gobuffalo/buffalo", "dependencies": { - "bootstrap": "4.5.0", - "popper.js": "^1.16.1", "@fortawesome/fontawesome-free": "^5.12.0", + "bootstrap": "4.5.2", "jquery": "3.5.1", - "jquery-ujs": "~1.2.2" + "jquery-ujs": "~1.2.2", + "popper.js": "^1.16.1" }, "devDependencies": { "@babel/core": "^7.9.0", "@babel/preset-env": "^7.9.5", - "babel-loader": "^8.1.0", + "copy-webpack-plugin": "~6.1.0", "css-loader": "~3.5.1", "expose-loader": "~0.7.5", "file-loader": "~6.0.0", "gopherjs-loader": "^0.0.1", + "mini-css-extract-plugin": "^0.11.0", + "node-sass": "~4.14.1", + "npm-install-webpack-plugin": "4.0.5", "sass-loader": "~8.0.2", "style-loader": "~1.1.3", + "terser-webpack-plugin": "~4.1.0", "url-loader": "~4.1.0", - "node-sass": "~4.13.1", - - "npm-install-webpack-plugin": "4.0.5", - "terser-webpack-plugin": "~2.3.1", - "mini-css-extract-plugin": "^0.9.0", - "webpack-clean-obsolete-chunks": "^0.4.0", - "copy-webpack-plugin": "~5.1.1", - "webpack": "~4.42.1", + "webpack-clean-obsolete-chunks": "^0.4.0", "webpack-cli": "^4.0.0-beta.8", "webpack-livereload-plugin": "~2.3.0", "webpack-manifest-plugin": "~2.2.0" diff --git a/genny/build/_fixtures/coke/yarn.lock b/genny/build/_fixtures/coke/yarn.lock index d62a48247..3b372abfc 100644 --- a/genny/build/_fixtures/coke/yarn.lock +++ b/genny/build/_fixtures/coke/yarn.lock @@ -748,11 +748,49 @@ resolved "https://registry.yarnpkg.com/@fortawesome/fontawesome-free/-/fontawesome-free-5.13.0.tgz#fcb113d1aca4b471b709e8c9c168674fbd6e06d9" integrity sha512-xKOeQEl5O47GPZYIMToj6uuA2syyFlq9EMSl2ui0uytjY9xbe8XS0pexNWmxrdcCyNGyDmLyYw5FtKsalBUeOg== +"@nodelib/fs.scandir@2.1.3": + version "2.1.3" + resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.3.tgz#3a582bdb53804c6ba6d146579c46e52130cf4a3b" + integrity sha512-eGmwYQn3gxo4r7jdQnkrrN6bY478C3P+a/y72IJukF8LjB6ZHeB3c+Ehacj3sYeSmUXGlnA67/PmbM9CVwL7Dw== + dependencies: + "@nodelib/fs.stat" "2.0.3" + run-parallel "^1.1.9" + +"@nodelib/fs.stat@2.0.3", "@nodelib/fs.stat@^2.0.2": + version "2.0.3" + resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.3.tgz#34dc5f4cabbc720f4e60f75a747e7ecd6c175bd3" + integrity sha512-bQBFruR2TAwoevBEd/NWMoAAtNGzTRgdrqnYCc7dhzfoNvqPzLyqlEQnzZ3kVnNrSp25iyxE00/3h2fqGAGArA== + +"@nodelib/fs.walk@^1.2.3": + version "1.2.4" + resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.4.tgz#011b9202a70a6366e436ca5c065844528ab04976" + integrity sha512-1V9XOY4rDW0rehzbrcqAmHnz8e7SKvX27gh8Gt2WgB0+pdzdiLV83p72kZPU+jvMbS1qU5mauP2iOvO8rhmurQ== + dependencies: + "@nodelib/fs.scandir" "2.1.3" + fastq "^1.6.0" + +"@npmcli/move-file@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@npmcli/move-file/-/move-file-1.0.1.tgz#de103070dac0f48ce49cf6693c23af59c0f70464" + integrity sha512-Uv6h1sT+0DrblvIrolFtbvM1FgWm+/sy4B3pvLp67Zys+thcukzS5ekn7HsZFGpWP4Q3fYJCljbWQE/XivMRLw== + dependencies: + mkdirp "^1.0.4" + "@types/color-name@^1.1.1": version "1.1.1" resolved "https://registry.yarnpkg.com/@types/color-name/-/color-name-1.1.1.tgz#1c1261bbeaa10a8055bbc5d8ab84b7b2afc846a0" integrity sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ== +"@types/json-schema@^7.0.5": + version "7.0.6" + resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.6.tgz#f4c7ec43e81b319a9815115031709f26987891f0" + integrity sha512-3c+yGKvVP5Y9TYBEibGNR+kLtijnj7mYrXRg+WpFb2X9xm04g/DXYkfg4hmzJQosc9snFNUPkbYIhu+KAm6jJw== + +"@types/node@*": + version "14.6.4" + resolved "https://registry.yarnpkg.com/@types/node/-/node-14.6.4.tgz#a145cc0bb14ef9c4777361b7bbafa5cf8e3acb5a" + integrity sha512-Wk7nG1JSaMfMpoMJDKUsWYugliB2Vy55pdjLpmLixeyMi7HizW2I/9QoxsPCkXl3dO+ZOVqPumKaDUv5zJu2uQ== + "@webassemblyjs/ast@1.9.0": version "1.9.0" resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.9.0.tgz#bd850604b4042459a5a41cd7d338cbed695ed964" @@ -946,12 +984,22 @@ ajv-errors@^1.0.0: resolved "https://registry.yarnpkg.com/ajv-errors/-/ajv-errors-1.0.1.tgz#f35986aceb91afadec4102fbd85014950cefa64d" integrity sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ== -ajv-keywords@^3.1.0, ajv-keywords@^3.4.1: - version "3.4.1" - resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.4.1.tgz#ef916e271c64ac12171fd8384eaae6b2345854da" - integrity sha512-RO1ibKvd27e6FEShVFfPALuHI3WjSVNeK5FIsmme/LYRNxjKuNj+Dt7bucLa6NdSv3JcVTyMlm9kGR84z1XpaQ== +ajv-keywords@^3.1.0, ajv-keywords@^3.4.1, ajv-keywords@^3.5.2: + version "3.5.2" + resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz#31f29da5ab6e00d1c2d329acf7b5929614d5014d" + integrity sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ== + +ajv@^6.1.0, ajv@^6.10.2, ajv@^6.12.4: + version "6.12.4" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.4.tgz#0614facc4522127fa713445c6bfd3ebd376e2234" + integrity sha512-eienB2c9qVQs2KWexhkrdMLVDoIQCz5KSeLxwg9Lzk4DOfBtIK9PQwwufcsn1jjGuf9WZmqPMbGxOzfcuphJCQ== + dependencies: + fast-deep-equal "^3.1.1" + fast-json-stable-stringify "^2.0.0" + json-schema-traverse "^0.4.1" + uri-js "^4.2.2" -ajv@^6.1.0, ajv@^6.10.2, ajv@^6.12.0, ajv@^6.5.5: +ajv@^6.12.0, ajv@^6.5.5: version "6.12.2" resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.2.tgz#c629c5eced17baf314437918d2da88c99d5958cd" integrity sha512-k+V+hzjm5q/Mr8ef/1Y9goCmlsK4I6Sm74teeyGvFk1XrOsbsKLjEdrvny42CZ+a8sXbk8KWpY/bDwS+FLL2UQ== @@ -966,7 +1014,7 @@ amdefine@>=0.0.4: resolved "https://registry.yarnpkg.com/amdefine/-/amdefine-1.0.1.tgz#4a5282ac164729e93619bcfd3ad151f817ce91f5" integrity sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU= -ansi-colors@^3.0.0, ansi-colors@^3.2.1: +ansi-colors@^3.2.1: version "3.2.4" resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-3.2.4.tgz#e3a3da4bfbae6c86a9c285625de124a234026fbf" integrity sha512-hHUXGagefjN2iRrID63xckIvotOXOojhQKWIPUZ4mNUZ9nLZW+7FMNoE1lOkEhNWYsx/7ysGIuJYCiMAA9FnrA== @@ -1074,6 +1122,11 @@ array-union@^1.0.1: dependencies: array-uniq "^1.0.1" +array-union@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" + integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== + array-uniq@^1.0.1: version "1.0.3" resolved "https://registry.yarnpkg.com/array-uniq/-/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6" @@ -1084,14 +1137,15 @@ array-unique@^0.3.2: resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428" integrity sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg= -asn1.js@^4.0.0: - version "4.10.1" - resolved "https://registry.yarnpkg.com/asn1.js/-/asn1.js-4.10.1.tgz#b9c2bf5805f1e64aadeed6df3a2bfafb5a73f5a0" - integrity sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw== +asn1.js@^5.2.0: + version "5.4.1" + resolved "https://registry.yarnpkg.com/asn1.js/-/asn1.js-5.4.1.tgz#11a980b84ebb91781ce35b0fdc2ee294e3783f07" + integrity sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA== dependencies: bn.js "^4.0.0" inherits "^2.0.1" minimalistic-assert "^1.0.0" + safer-buffer "^2.1.0" asn1@~0.2.3: version "0.2.4" @@ -1214,9 +1268,9 @@ binary-extensions@^1.0.0: integrity sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw== binary-extensions@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.0.0.tgz#23c0df14f6a88077f5f986c0d167ec03c3d5537c" - integrity sha512-Phlt0plgpIIBOGTT/ehfFnbNlfsDEiqmzE2KRXoX1bLIlir4X/MR+zSyBEkL05ffWgnRSf/DXv+WrUAVr93/ow== + version "2.1.0" + resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.1.0.tgz#30fa40c9e7fe07dbc895678cd287024dea241dd9" + integrity sha512-1Yj8h9Q+QDF5FzhMs/c9+6UntbD5MkRfRwac8DoEm9ZfUBZ7tZ55YcGVAzEe4bXsdQHEk+s9S5wsOKVdZrw0tQ== bindings@^1.5.0: version "1.5.0" @@ -1243,9 +1297,9 @@ bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.4.0: integrity sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw== bn.js@^5.1.1: - version "5.1.2" - resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-5.1.2.tgz#c9686902d3c9a27729f43ab10f9d79c2004da7b0" - integrity sha512-40rZaf3bUNKTVYu9sIeeEGOg7g14Yvnj9kH7b50EiwX0Q7A6umbvfI5tvHaOERH0XigqKkfLkFQxzb4e6CIXnA== + version "5.1.3" + resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-5.1.3.tgz#beca005408f642ebebea80b042b4d18d2ac0ee6b" + integrity sha512-GkTiFpjFtUzU9CbMeJ5iazkCzGL3jrhzerzZIuqLABjbwRaFt33I9tUdSNryIptM+RxDet6OKm2WnLXzW51KsQ== body@^5.1.0: version "5.1.0" @@ -1286,7 +1340,7 @@ braces@^2.3.1, braces@^2.3.2: split-string "^3.0.2" to-regex "^3.0.1" -braces@~3.0.2: +braces@^3.0.1, braces@~3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== @@ -1338,15 +1392,15 @@ browserify-rsa@^4.0.0, browserify-rsa@^4.0.1: randombytes "^2.0.1" browserify-sign@^4.0.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/browserify-sign/-/browserify-sign-4.2.0.tgz#545d0b1b07e6b2c99211082bf1b12cce7a0b0e11" - integrity sha512-hEZC1KEeYuoHRqhGhTy6gWrpJA3ZDjFWv0DE61643ZnOXAKJb3u7yWcrU0mMc9SwAqK1n7myPGndkp0dFG7NFA== + version "4.2.1" + resolved "https://registry.yarnpkg.com/browserify-sign/-/browserify-sign-4.2.1.tgz#eaf4add46dd54be3bb3b36c0cf15abbeba7956c3" + integrity sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg== dependencies: bn.js "^5.1.1" browserify-rsa "^4.0.1" create-hash "^1.2.0" create-hmac "^1.1.7" - elliptic "^6.5.2" + elliptic "^6.5.3" inherits "^2.0.4" parse-asn1 "^5.1.5" readable-stream "^3.6.0" @@ -1398,7 +1452,7 @@ bytes@1: resolved "https://registry.yarnpkg.com/bytes/-/bytes-1.0.0.tgz#3569ede8ba34315fab99c3e92cb04c7220de1fa8" integrity sha1-NWnt6Lo0MV+rmcPpLLBMciDeH6g= -cacache@^12.0.2, cacache@^12.0.3: +cacache@^12.0.2: version "12.0.4" resolved "https://registry.yarnpkg.com/cacache/-/cacache-12.0.4.tgz#668bcbd105aeb5f1d92fe25570ec9525c8faa40c" integrity sha512-a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ== @@ -1419,28 +1473,27 @@ cacache@^12.0.2, cacache@^12.0.3: unique-filename "^1.1.1" y18n "^4.0.0" -cacache@^13.0.1: - version "13.0.1" - resolved "https://registry.yarnpkg.com/cacache/-/cacache-13.0.1.tgz#a8000c21697089082f85287a1aec6e382024a71c" - integrity sha512-5ZvAxd05HDDU+y9BVvcqYu2LLXmPnQ0hW62h32g4xBTgL/MppR4/04NHfj/ycM2y6lmTnbw6HVi+1eN0Psba6w== +cacache@^15.0.5: + version "15.0.5" + resolved "https://registry.yarnpkg.com/cacache/-/cacache-15.0.5.tgz#69162833da29170d6732334643c60e005f5f17d0" + integrity sha512-lloiL22n7sOjEEXdL8NAjTgv9a1u43xICE9/203qonkZUCj5X1UEWIdf2/Y0d6QcCtMzbKQyhrcDbdvlZTs/+A== dependencies: - chownr "^1.1.2" - figgy-pudding "^3.5.1" + "@npmcli/move-file" "^1.0.1" + chownr "^2.0.0" fs-minipass "^2.0.0" glob "^7.1.4" - graceful-fs "^4.2.2" infer-owner "^1.0.4" - lru-cache "^5.1.1" - minipass "^3.0.0" + lru-cache "^6.0.0" + minipass "^3.1.1" minipass-collect "^1.0.2" minipass-flush "^1.0.5" minipass-pipeline "^1.2.2" - mkdirp "^0.5.1" - move-concurrently "^1.0.1" - p-map "^3.0.0" + mkdirp "^1.0.3" + p-map "^4.0.0" promise-inflight "^1.0.1" - rimraf "^2.7.1" - ssri "^7.0.0" + rimraf "^3.0.2" + ssri "^8.0.0" + tar "^6.0.2" unique-filename "^1.1.1" cache-base@^1.0.1: @@ -1538,10 +1591,10 @@ chokidar@^2.1.8: optionalDependencies: fsevents "^1.2.7" -chokidar@^3.4.0: - version "3.4.0" - resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.4.0.tgz#b30611423ce376357c765b9b8f904b9fba3c0be8" - integrity sha512-aXAaho2VJtisB/1fg1+3nlLJqGOuewTzQpd/Tz0yTg2R0e4IGtshYvtjowyEumcBv2z+y4+kc75Mz7j5xJskcQ== +chokidar@^3.4.1: + version "3.4.2" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.4.2.tgz#38dc8e658dec3809741eb3ef7bb0a47fe424232d" + integrity sha512-IZHaDeBeI+sZJRX7lGcXsdzgvZqKv6sECqsbErJA4mHWfpRrD8B97kSFN4cQz6nGBGiuFia1MKR4d6c1o8Cv7A== dependencies: anymatch "~3.1.1" braces "~3.0.2" @@ -1553,11 +1606,16 @@ chokidar@^3.4.0: optionalDependencies: fsevents "~2.1.2" -chownr@^1.1.1, chownr@^1.1.2: +chownr@^1.1.1: version "1.1.4" resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.4.tgz#6fc9d7b42d32a583596337666e7d08084da2cc6b" integrity sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg== +chownr@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/chownr/-/chownr-2.0.0.tgz#15bfbe53d2eab4cf70f18a8cd68ebe5b3cb1dece" + integrity sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ== + chrome-trace-event@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/chrome-trace-event/-/chrome-trace-event-1.0.2.tgz#234090ee97c7d4ad1a2c4beae27505deffc608a4" @@ -1759,23 +1817,22 @@ copy-descriptor@^0.1.0: resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d" integrity sha1-Z29us8OZl8LuGsOpJP1hJHSPV40= -copy-webpack-plugin@~5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/copy-webpack-plugin/-/copy-webpack-plugin-5.1.1.tgz#5481a03dea1123d88a988c6ff8b78247214f0b88" - integrity sha512-P15M5ZC8dyCjQHWwd4Ia/dm0SgVvZJMYeykVIVYXbGyqO4dWB5oyPHp9i7wjwo5LhtlhKbiBCdS2NvM07Wlybg== +copy-webpack-plugin@~6.1.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/copy-webpack-plugin/-/copy-webpack-plugin-6.1.0.tgz#5bde7f826d87e716d8d5e761ddd34bb675448458" + integrity sha512-aWjIuLt1OVQxaDVffnt3bnGmLA8zGgAJaFwPA+a+QYVPh1vhIKjVfh3SbOFLV0kRPvGBITbw17n5CsmiBS4LQQ== dependencies: - cacache "^12.0.3" - find-cache-dir "^2.1.0" - glob-parent "^3.1.0" - globby "^7.1.1" - is-glob "^4.0.1" - loader-utils "^1.2.3" - minimatch "^3.0.4" + cacache "^15.0.5" + fast-glob "^3.2.4" + find-cache-dir "^3.3.1" + glob-parent "^5.1.1" + globby "^11.0.1" + loader-utils "^2.0.0" normalize-path "^3.0.0" - p-limit "^2.2.1" - schema-utils "^1.0.0" - serialize-javascript "^2.1.2" - webpack-log "^2.0.0" + p-limit "^3.0.2" + schema-utils "^2.7.1" + serialize-javascript "^4.0.0" + webpack-sources "^1.4.3" core-js-compat@^3.6.2: version "3.6.5" @@ -1791,12 +1848,12 @@ core-util-is@1.0.2, core-util-is@~1.0.0: integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac= create-ecdh@^4.0.0: - version "4.0.3" - resolved "https://registry.yarnpkg.com/create-ecdh/-/create-ecdh-4.0.3.tgz#c9111b6f33045c4697f144787f9254cdc77c45ff" - integrity sha512-GbEHQPMOswGpKXM9kCWVrremUcBmjteUaQ01T9rkKCPDXfUHX0IoP9LpHYo2NPFampa4e+/pFDc3jQdxrxQLaw== + version "4.0.4" + resolved "https://registry.yarnpkg.com/create-ecdh/-/create-ecdh-4.0.4.tgz#d6e7f4bffa66736085a0762fd3a632684dabcc4e" + integrity sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A== dependencies: bn.js "^4.1.0" - elliptic "^6.0.0" + elliptic "^6.5.3" create-hash@^1.1.0, create-hash@^1.1.2, create-hash@^1.2.0: version "1.2.0" @@ -2011,12 +2068,12 @@ diffie-hellman@^5.0.0: miller-rabin "^4.0.0" randombytes "^2.0.0" -dir-glob@^2.0.0: - version "2.2.2" - resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-2.2.2.tgz#fa09f0694153c8918b18ba0deafae94769fc50c4" - integrity sha512-f9LBi5QWzIW3I6e//uxZoLBlUt9kcp66qo0sSCxL6YZKc75R1c4MFCoe/LaZiBGmgujvQdxc5Bn3QhfyvK5Hsw== +dir-glob@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f" + integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA== dependencies: - path-type "^3.0.0" + path-type "^4.0.0" domain-browser@^1.1.1: version "1.2.0" @@ -2046,10 +2103,10 @@ electron-to-chromium@^1.3.413: resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.451.tgz#0c075af3e2f06d706670bde0279432802ca8c83f" integrity sha512-2fvco0F2bBIgqzO8GRP0Jt/91pdrf9KfZ5FsmkYkjERmIJG585cFeFZV4+CO6oTmU3HmCTgfcZuEa7kW8VUh3A== -elliptic@^6.0.0, elliptic@^6.5.2: - version "6.5.2" - resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.2.tgz#05c5678d7173c049d8ca433552224a495d0e3762" - integrity sha512-f4x70okzZbIQl/NSRLkI/+tteV/9WqL98zx+SQ69KbXxmVrmjwsNUPn/gYJJ0sHvEak24cZgHIPegRePAtA/xw== +elliptic@^6.5.3: + version "6.5.3" + resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.3.tgz#cb59eb2efdaf73a0bd78ccd7015a62ad6e0f93d6" + integrity sha512-IMqzv5wNQf+E6aHeIqATs0tOLeOTwj1QKbRcS3jBbYkl5oLAserA8yJTT7/VyHUYG91PRmPyeQDObKLPpeS4dw== dependencies: bn.js "^4.4.0" brorand "^1.0.1" @@ -2072,9 +2129,9 @@ end-of-stream@^1.0.0, end-of-stream@^1.1.0: once "^1.4.0" enhanced-resolve@^4.1.0: - version "4.1.1" - resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-4.1.1.tgz#2937e2b8066cd0fe7ce0990a98f0d71a35189f66" - integrity sha512-98p2zE+rL7/g/DzMHMTF4zZlCgeVdJ7yr6xzEpJRYwFYrGi9ANdn5DnJURg6RpBkyk60XYDnWIv51VfIhfNGuA== + version "4.3.0" + resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-4.3.0.tgz#3b806f3bfafc1ec7de69551ef93cca46c1704126" + integrity sha512-3e87LvavsdxyoCfGusJnrZ5G8SLPOFeHSNpZI/ATL9a5leXo2k0w6MKnbqhdBad9qTobSfB20Ld7UmgoNbAZkQ== dependencies: graceful-fs "^4.1.2" memory-fs "^0.5.0" @@ -2148,26 +2205,31 @@ eslint-scope@^4.0.3: estraverse "^4.1.1" esrecurse@^4.1.0: - version "4.2.1" - resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.2.1.tgz#007a3b9fdbc2b3bb87e4879ea19c92fdbd3942cf" - integrity sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ== + version "4.3.0" + resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921" + integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== dependencies: - estraverse "^4.1.0" + estraverse "^5.2.0" -estraverse@^4.1.0, estraverse@^4.1.1: +estraverse@^4.1.1: version "4.3.0" resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d" integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== +estraverse@^5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.2.0.tgz#307df42547e6cc7324d3cf03c155d5cdb8c53880" + integrity sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ== + esutils@^2.0.2: version "2.0.3" resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== events@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/events/-/events-3.1.0.tgz#84279af1b34cb75aa88bf5ff291f6d0bd9b31a59" - integrity sha512-Rv+u8MLHNOdMjTAFeT3nCjHn2aGlx435FP/sDHNaRhDEMwyI/aB22Kj2qIN8R0cw3z28psEQLYwxVKLsKrMgWg== + version "3.2.0" + resolved "https://registry.yarnpkg.com/events/-/events-3.2.0.tgz#93b87c18f8efcd4202a461aec4dfc0556b639379" + integrity sha512-/46HWwbfCX2xTawVfkKLGxMifJYQBWMwY1mjywRtb4c9x8l5NP3KoJtnIOiL1hfdRkIuYhETxQlo62IF8tcnlg== evp_bytestokey@^1.0.0, evp_bytestokey@^1.0.3: version "1.0.3" @@ -2271,15 +2333,34 @@ extsprintf@^1.2.0: integrity sha1-4mifjzVvrWLMplo6kcXfX5VRaS8= fast-deep-equal@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.1.tgz#545145077c501491e33b15ec408c294376e94ae4" - integrity sha512-8UEa58QDLauDNfpbrX55Q9jrGHThw2ZMdOky5Gl1CDtVeJDPVrG4Jxx1N8jw2gkWaff5UUuX1KJd+9zGe2B+ZA== + version "3.1.3" + resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" + integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== + +fast-glob@^3.1.1, fast-glob@^3.2.4: + version "3.2.4" + resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.4.tgz#d20aefbf99579383e7f3cc66529158c9b98554d3" + integrity sha512-kr/Oo6PX51265qeuCYsyGypiO5uJFgBS0jksyG7FUeCyQzNwYnzrNIMR1NXfkZXsMYXYLRAHgISHBz8gQcxKHQ== + dependencies: + "@nodelib/fs.stat" "^2.0.2" + "@nodelib/fs.walk" "^1.2.3" + glob-parent "^5.1.0" + merge2 "^1.3.0" + micromatch "^4.0.2" + picomatch "^2.2.1" fast-json-stable-stringify@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== +fastq@^1.6.0: + version "1.8.0" + resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.8.0.tgz#550e1f9f59bbc65fe185cb6a9b4d95357107f481" + integrity sha512-SMIZoZdLh/fgofivvIkmknUXyPnvxRE3DhtZ5Me3Mrsk5gyPL42F0xr51TdRXskBxHfMp+07bcYzfsYEsSQA9Q== + dependencies: + reusify "^1.0.4" + faye-websocket@~0.10.0: version "0.10.0" resolved "https://registry.yarnpkg.com/faye-websocket/-/faye-websocket-0.10.0.tgz#4e492f8d04dfb6f89003507f6edbf2d501e7c6f4" @@ -2541,7 +2622,7 @@ glob-parent@^3.1.0: is-glob "^3.1.0" path-dirname "^1.0.0" -glob-parent@~5.1.0: +glob-parent@^5.1.0, glob-parent@^5.1.1, glob-parent@~5.1.0: version "5.1.1" resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.1.tgz#b6c1ef417c4e5663ea498f1c45afac6916bbc229" integrity sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ== @@ -2565,6 +2646,18 @@ globals@^11.1.0: resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== +globby@^11.0.1: + version "11.0.1" + resolved "https://registry.yarnpkg.com/globby/-/globby-11.0.1.tgz#9a2bf107a068f3ffeabc49ad702c79ede8cfd357" + integrity sha512-iH9RmgwCmUJHi2z5o2l3eTtGBtXek1OYlHrbcxOYugyHLmAsZrPj43OtHThd62Buh/Vv6VyCBD2bdyWcGNQqoQ== + dependencies: + array-union "^2.1.0" + dir-glob "^3.0.1" + fast-glob "^3.1.1" + ignore "^5.1.4" + merge2 "^1.3.0" + slash "^3.0.0" + globby@^6.1.0: version "6.1.0" resolved "https://registry.yarnpkg.com/globby/-/globby-6.1.0.tgz#f5a6d70e8395e21c858fb0489d64df02424d506c" @@ -2576,18 +2669,6 @@ globby@^6.1.0: pify "^2.0.0" pinkie-promise "^2.0.0" -globby@^7.1.1: - version "7.1.1" - resolved "https://registry.yarnpkg.com/globby/-/globby-7.1.1.tgz#fb2ccff9401f8600945dfada97440cca972b8680" - integrity sha1-+yzP+UAfhgCUXfral0QMypcrhoA= - dependencies: - array-union "^1.0.1" - dir-glob "^2.0.0" - glob "^7.1.2" - ignore "^3.3.5" - pify "^3.0.0" - slash "^1.0.0" - globule@^1.0.0: version "1.3.1" resolved "https://registry.yarnpkg.com/globule/-/globule-1.3.1.tgz#90a25338f22b7fbeb527cee63c629aea754d33b9" @@ -2602,7 +2683,7 @@ gopherjs-loader@^0.0.1: resolved "https://registry.yarnpkg.com/gopherjs-loader/-/gopherjs-loader-0.0.1.tgz#c9e25aa7693731de5daa0ea829a96b47f7e92668" integrity sha1-yeJap2k3Md5dqg6oKalrR/fpJmg= -graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.2: +graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.6: version "4.2.4" resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.4.tgz#2256bde14d3632958c465ebc96dc467ca07a29fb" integrity sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw== @@ -2757,10 +2838,10 @@ iferr@^0.1.5: resolved "https://registry.yarnpkg.com/iferr/-/iferr-0.1.5.tgz#c60eed69e6d8fdb6b3104a1fcbca1c192dc5b501" integrity sha1-xg7taebY/bazEEofy8ocGS3FtQE= -ignore@^3.3.5: - version "3.3.10" - resolved "https://registry.yarnpkg.com/ignore/-/ignore-3.3.10.tgz#0a97fb876986e8081c631160f8f9f389157f0043" - integrity sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug== +ignore@^5.1.4: + version "5.1.8" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.1.8.tgz#f150a8b50a34289b33e22f5889abd4d8016f0e57" + integrity sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw== import-local@^3.0.2: version "3.0.2" @@ -3079,11 +3160,12 @@ isstream@~0.1.2: resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" integrity sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo= -jest-worker@^25.4.0: - version "25.5.0" - resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-25.5.0.tgz#2611d071b79cea0f43ee57a3d118593ac1547db1" - integrity sha512-/dsSmUkIy5EBGfv/IjjqmFxrNAUpBERfGs1oHROyD7yxjG/w+t0GOJDX8O1k32ySmd7+a5IhnJU2qQFcJ4n1vw== +jest-worker@^26.3.0: + version "26.3.0" + resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-26.3.0.tgz#7c8a97e4f4364b4f05ed8bca8ca0c24de091871f" + integrity sha512-Vmpn2F6IASefL+DVBhPzI2J9/GJUsqzomdeN+P+dK8/jKxbh8R3BtFnx3FIta7wYlPU62cpJMJQo4kuOowcMnw== dependencies: + "@types/node" "*" merge-stream "^2.0.0" supports-color "^7.0.0" @@ -3330,6 +3412,13 @@ lru-cache@^5.1.1: dependencies: yallist "^3.0.2" +lru-cache@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94" + integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== + dependencies: + yallist "^4.0.0" + make-dir@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-2.1.0.tgz#5f0310e18b8be898cc07009295a30ae41e91e6f5" @@ -3408,6 +3497,11 @@ merge-stream@^2.0.0: resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== +merge2@^1.3.0: + version "1.4.1" + resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" + integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== + micromatch@^3.1.10, micromatch@^3.1.4: version "3.1.10" resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23" @@ -3427,6 +3521,14 @@ micromatch@^3.1.10, micromatch@^3.1.4: snapdragon "^0.8.1" to-regex "^3.0.2" +micromatch@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.2.tgz#4fcb0999bf9fbc2fcbdd212f6d629b9a56c39259" + integrity sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q== + dependencies: + braces "^3.0.1" + picomatch "^2.0.5" + miller-rabin@^4.0.0: version "4.0.1" resolved "https://registry.yarnpkg.com/miller-rabin/-/miller-rabin-4.0.1.tgz#f080351c865b0dc562a8462966daa53543c78a4d" @@ -3512,6 +3614,14 @@ minipass@^3.0.0, minipass@^3.1.1: dependencies: yallist "^4.0.0" +minizlib@^2.1.1: + version "2.1.2" + resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-2.1.2.tgz#e90d3466ba209b932451508a11ce3d3632145931" + integrity sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg== + dependencies: + minipass "^3.0.0" + yallist "^4.0.0" + mississippi@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/mississippi/-/mississippi-3.0.0.tgz#ea0a3291f97e0b5e8776b363d5f0a12d94c67022" @@ -3543,6 +3653,11 @@ mixin-deep@^1.2.0: dependencies: minimist "^1.2.5" +mkdirp@^1.0.3, mkdirp@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e" + integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== + move-concurrently@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/move-concurrently/-/move-concurrently-1.0.1.tgz#be2c005fda32e0b29af1f05d7c4b33214c701f92" @@ -3593,9 +3708,9 @@ nanomatch@^1.2.9: to-regex "^3.0.1" neo-async@^2.5.0, neo-async@^2.6.1: - version "2.6.1" - resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.1.tgz#ac27ada66167fa8849a6addd837f6b189ad2081c" - integrity sha512-iyam8fBuCUpWeKPGpaNMetEocMt364qkCsfL9JuhjXX6dRnguRVOfk2GZaDpPjcOKiiXCPINZC1GczQ7iTq3Zw== + version "2.6.2" + resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.2.tgz#b4aafb93e3aeb2d8174ca53cf163ab7d7308305f" + integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw== node-gyp@^3.8.0: version "3.8.0" @@ -3861,13 +3976,20 @@ p-limit@^1.1.0: dependencies: p-try "^1.0.0" -p-limit@^2.0.0, p-limit@^2.2.0, p-limit@^2.2.1, p-limit@^2.3.0: +p-limit@^2.0.0, p-limit@^2.2.0: version "2.3.0" resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== dependencies: p-try "^2.0.0" +p-limit@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.0.2.tgz#1664e010af3cadc681baafd3e2a437be7b0fb5fe" + integrity sha512-iwqZSOoWIW+Ew4kAGUlN16J4M7OB3ysMLSZtnhmqx7njIHFPlxWBX8xo3lVTyFVq6mI/lL9qt2IsN1sHwaxJkg== + dependencies: + p-try "^2.0.0" + p-locate@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43" @@ -3894,10 +4016,10 @@ p-map@^1.1.1: resolved "https://registry.yarnpkg.com/p-map/-/p-map-1.2.0.tgz#e4e94f311eabbc8633a1e79908165fca26241b6b" integrity sha512-r6zKACMNhjPJMTl8KcFH4li//gkrXWfbD6feV8l6doRHlzljFWGJ2AP6iKaCJXyZmAUMOPtvbW7EXkbWO/pLEA== -p-map@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/p-map/-/p-map-3.0.0.tgz#d704d9af8a2ba684e2600d9a215983d4141a979d" - integrity sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ== +p-map@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/p-map/-/p-map-4.0.0.tgz#bb2f95a5eda2ec168ec9274e06a747c3e2904d2b" + integrity sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ== dependencies: aggregate-error "^3.0.0" @@ -3926,13 +4048,12 @@ parallel-transform@^1.1.0: readable-stream "^2.1.5" parse-asn1@^5.0.0, parse-asn1@^5.1.5: - version "5.1.5" - resolved "https://registry.yarnpkg.com/parse-asn1/-/parse-asn1-5.1.5.tgz#003271343da58dc94cace494faef3d2147ecea0e" - integrity sha512-jkMYn1dcJqF6d5CpU689bq7w/b5ALS9ROVSpQDPrZsqqesUJii9qutvoT5ltGedNXMO2e16YUWIghG9KxaViTQ== + version "5.1.6" + resolved "https://registry.yarnpkg.com/parse-asn1/-/parse-asn1-5.1.6.tgz#385080a3ec13cb62a62d39409cb3e88844cdaed4" + integrity sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw== dependencies: - asn1.js "^4.0.0" + asn1.js "^5.2.0" browserify-aes "^1.0.0" - create-hash "^1.1.0" evp_bytestokey "^1.0.0" pbkdf2 "^3.0.3" safe-buffer "^5.1.1" @@ -4005,17 +4126,15 @@ path-type@^1.0.0: pify "^2.0.0" pinkie-promise "^2.0.0" -path-type@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/path-type/-/path-type-3.0.0.tgz#cef31dc8e0a1a3bb0d105c0cd97cf3bf47f4e36f" - integrity sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg== - dependencies: - pify "^3.0.0" +path-type@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" + integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== pbkdf2@^3.0.3: - version "3.0.17" - resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.0.17.tgz#976c206530617b14ebb32114239f7b09336e93a6" - integrity sha512-U/il5MsrZp7mGg3mSQfn742na2T+1/vHDCG5/iTI3X9MKUuYUZVLQhyRsg06mCgDBTd57TxzgZt7P+fYfjRLtA== + version "3.1.1" + resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.1.1.tgz#cb8724b0fada984596856d1a6ebafd3584654b94" + integrity sha512-4Ejy1OPxi9f2tt1rRV7Go7zmfDQ+ZectEQz3VGUQhgq62HtIRPDyG/JtnwIxs6x3uNMwo2V7q1fMvKjb+Tnpqg== dependencies: create-hash "^1.1.2" create-hmac "^1.1.4" @@ -4028,7 +4147,7 @@ performance-now@^2.1.0: resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" integrity sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns= -picomatch@^2.0.4, picomatch@^2.2.1: +picomatch@^2.0.4, picomatch@^2.0.5, picomatch@^2.2.1: version "2.2.2" resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.2.2.tgz#21f333e9b6b8eaff02468f5146ea406d345f4dad" integrity sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg== @@ -4276,7 +4395,7 @@ querystring@0.2.0: resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.0.tgz#b209849203bb25df820da756e747005878521620" integrity sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA= -randombytes@^2.0.0, randombytes@^2.0.1, randombytes@^2.0.5: +randombytes@^2.0.0, randombytes@^2.0.1, randombytes@^2.0.5, randombytes@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ== @@ -4518,13 +4637,25 @@ ret@~0.1.10: resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc" integrity sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg== -rimraf@2, rimraf@^2.2.8, rimraf@^2.5.4, rimraf@^2.6.3, rimraf@^2.7.1: +reusify@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" + integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== + +rimraf@2, rimraf@^2.2.8, rimraf@^2.5.4, rimraf@^2.6.3: version "2.7.1" resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec" integrity sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w== dependencies: glob "^7.1.3" +rimraf@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a" + integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== + dependencies: + glob "^7.1.3" + ripemd160@^2.0.0, ripemd160@^2.0.1: version "2.0.2" resolved "https://registry.yarnpkg.com/ripemd160/-/ripemd160-2.0.2.tgz#a1c1a6f624751577ba5d07914cbc92850585890c" @@ -4533,6 +4664,11 @@ ripemd160@^2.0.0, ripemd160@^2.0.1: hash-base "^3.0.0" inherits "^2.0.1" +run-parallel@^1.1.9: + version "1.1.9" + resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.1.9.tgz#c9dd3a7cf9f4b2c4b6244e173a6ed866e61dd679" + integrity sha512-DEqnSRTDw/Tc3FXf49zedI638Z9onwUotBMiUFKmrO2sdFKIbXamXGQ3Axd4qgphxKB4kw/qP1w5kTxnfU1B9Q== + run-queue@^1.0.0, run-queue@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/run-queue/-/run-queue-1.0.3.tgz#e848396f057d223f24386924618e25694161ec47" @@ -4605,6 +4741,15 @@ schema-utils@^2.6.1, schema-utils@^2.6.5, schema-utils@^2.6.6: ajv "^6.12.0" ajv-keywords "^3.4.1" +schema-utils@^2.7.1: + version "2.7.1" + resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-2.7.1.tgz#1ca4f32d1b24c590c203b8e7a50bf0ea4cd394d7" + integrity sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg== + dependencies: + "@types/json-schema" "^7.0.5" + ajv "^6.12.4" + ajv-keywords "^3.5.2" + scss-tokenizer@^0.2.3: version "0.2.3" resolved "https://registry.yarnpkg.com/scss-tokenizer/-/scss-tokenizer-0.2.3.tgz#8eb06db9a9723333824d3f5530641149847ce5d1" @@ -4633,15 +4778,12 @@ semver@~5.3.0: resolved "https://registry.yarnpkg.com/semver/-/semver-5.3.0.tgz#9b2ce5d3de02d17c6012ad326aa6b4d0cf54f94f" integrity sha1-myzl094C0XxgEq0yaqa00M9U+U8= -serialize-javascript@^2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-2.1.2.tgz#ecec53b0e0317bdc95ef76ab7074b7384785fa61" - integrity sha512-rs9OggEUF0V4jUSecXazOYsLfu7OGK2qIn3c7IPBiffz32XniEp/TX9Xmc9LQfK2nQ2QKHvZ2oygKUGU0lG4jQ== - -serialize-javascript@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-3.0.0.tgz#492e489a2d77b7b804ad391a5f5d97870952548e" - integrity sha512-skZcHYw2vEX4bw90nAr2iTTsz6x2SrHEnfxgKYmZlvJYBEZrvbKtobJWlQ20zczKb3bsHHXXTYt48zBA7ni9cw== +serialize-javascript@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-4.0.0.tgz#b525e1238489a5ecfc42afacc3fe99e666f4b1aa" + integrity sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw== + dependencies: + randombytes "^2.1.0" set-blocking@^2.0.0, set-blocking@~2.0.0: version "2.0.0" @@ -4707,10 +4849,10 @@ signal-exit@^3.0.0, signal-exit@^3.0.2: resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.3.tgz#a1410c2edd8f077b08b4e253c8eacfcaf057461c" integrity sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA== -slash@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/slash/-/slash-1.0.0.tgz#c41f2f6c39fc16d1cd17ad4b5d896114ae470d55" - integrity sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU= +slash@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" + integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== snapdragon-node@^2.0.1: version "2.1.1" @@ -4850,12 +4992,11 @@ ssri@^6.0.1: dependencies: figgy-pudding "^3.5.1" -ssri@^7.0.0: - version "7.1.0" - resolved "https://registry.yarnpkg.com/ssri/-/ssri-7.1.0.tgz#92c241bf6de82365b5c7fb4bd76e975522e1294d" - integrity sha512-77/WrDZUWocK0mvA5NTRQyveUf+wsrIc6vyrxpS8tVvYBcX215QbafrJR3KtkpskIzoFLqqNuuYQvxaMjXJ/0g== +ssri@^8.0.0: + version "8.0.0" + resolved "https://registry.yarnpkg.com/ssri/-/ssri-8.0.0.tgz#79ca74e21f8ceaeddfcb4b90143c458b8d988808" + integrity sha512-aq/pz989nxVYwn16Tsbj1TqFpD5LLrQxHf5zaHuieFV+R0Bbr4y8qUsOA45hXT/N4/9UNXTarBjnjVmjSOVaAA== dependencies: - figgy-pudding "^3.5.1" minipass "^3.1.1" static-extend@^0.1.1: @@ -5076,40 +5217,61 @@ tar@^2.0.0: fstream "^1.0.12" inherits "2" +tar@^6.0.2: + version "6.0.5" + resolved "https://registry.yarnpkg.com/tar/-/tar-6.0.5.tgz#bde815086e10b39f1dcd298e89d596e1535e200f" + integrity sha512-0b4HOimQHj9nXNEAA7zWwMM91Zhhba3pspja6sQbgTpynOJf+bkjBnfybNYzbpLbnwXnbyB4LOREvlyXLkCHSg== + dependencies: + chownr "^2.0.0" + fs-minipass "^2.0.0" + minipass "^3.0.0" + minizlib "^2.1.1" + mkdirp "^1.0.3" + yallist "^4.0.0" + terser-webpack-plugin@^1.4.3: - version "1.4.3" - resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-1.4.3.tgz#5ecaf2dbdc5fb99745fd06791f46fc9ddb1c9a7c" - integrity sha512-QMxecFz/gHQwteWwSo5nTc6UaICqN1bMedC5sMtUc7y3Ha3Q8y6ZO0iCR8pq4RJC8Hjf0FEPEHZqcMB/+DFCrA== + version "1.4.5" + resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-1.4.5.tgz#a217aefaea330e734ffacb6120ec1fa312d6040b" + integrity sha512-04Rfe496lN8EYruwi6oPQkG0vo8C+HT49X687FZnpPF0qMAIHONI6HEXYPKDOE8e5HjXTyKfqRd/agHtH0kOtw== dependencies: cacache "^12.0.2" find-cache-dir "^2.1.0" is-wsl "^1.1.0" schema-utils "^1.0.0" - serialize-javascript "^2.1.2" + serialize-javascript "^4.0.0" source-map "^0.6.1" terser "^4.1.2" webpack-sources "^1.4.0" worker-farm "^1.7.0" -terser-webpack-plugin@~2.3.1: - version "2.3.6" - resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-2.3.6.tgz#a4014b311a61f87c6a1b217ef4f5a75bd0665a69" - integrity sha512-I8IDsQwZrqjdmOicNeE8L/MhwatAap3mUrtcAKJuilsemUNcX+Hier/eAzwStVqhlCxq0aG3ni9bK/0BESXkTg== +terser-webpack-plugin@~4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-4.1.0.tgz#6e9d6ae4e1a900d88ddce8da6a47507ea61f44bc" + integrity sha512-0ZWDPIP8BtEDZdChbufcXUigOYk6dOX/P/X0hWxqDDcVAQLb8Yy/0FAaemSfax3PAA67+DJR778oz8qVbmy4hA== dependencies: - cacache "^13.0.1" + cacache "^15.0.5" find-cache-dir "^3.3.1" - jest-worker "^25.4.0" - p-limit "^2.3.0" + jest-worker "^26.3.0" + p-limit "^3.0.2" schema-utils "^2.6.6" - serialize-javascript "^3.0.0" + serialize-javascript "^4.0.0" source-map "^0.6.1" - terser "^4.6.12" + terser "^5.0.0" webpack-sources "^1.4.3" -terser@^4.1.2, terser@^4.6.12: - version "4.7.0" - resolved "https://registry.yarnpkg.com/terser/-/terser-4.7.0.tgz#15852cf1a08e3256a80428e865a2fa893ffba006" - integrity sha512-Lfb0RiZcjRDXCC3OSHJpEkxJ9Qeqs6mp2v4jf2MHfy8vGERmVDuvjXdd/EnP5Deme5F2yBRBymKmKHCBg2echw== +terser@^4.1.2: + version "4.8.0" + resolved "https://registry.yarnpkg.com/terser/-/terser-4.8.0.tgz#63056343d7c70bb29f3af665865a46fe03a0df17" + integrity sha512-EAPipTNeWsb/3wLPeup1tVPaXfIaU68xMnVdPafIL1TV05OhASArYyIfFvnvJCNrR2NIOvDVNNTFRa+Re2MWyw== + dependencies: + commander "^2.20.0" + source-map "~0.6.1" + source-map-support "~0.5.12" + +terser@^5.0.0: + version "5.3.0" + resolved "https://registry.yarnpkg.com/terser/-/terser-5.3.0.tgz#c481f4afecdcc182d5e2bdd2ff2dc61555161e81" + integrity sha512-XTT3D3AwxC54KywJijmY2mxZ8nJiEjBHVYzq8l9OaYuRFWeQNBwvipuzzYEP4e+/AVcd1hqG/CqgsdIRyT45Fg== dependencies: commander "^2.20.0" source-map "~0.6.1" @@ -5317,9 +5479,9 @@ upath@^1.1.1: integrity sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg== uri-js@^4.2.2: - version "4.2.2" - resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.2.2.tgz#94c540e1ff772956e2299507c010aea6c8838eb0" - integrity sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ== + version "4.4.0" + resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.0.tgz#aa714261de793e8a82347a7bcc9ce74e86f28602" + integrity sha512-B0yRTzYdUCCn9n+F4+Gh4yIDtMQcaJsmYBDsTSG8g/OejKBodLQ2IHfN3bM7jUsRXndopT7OIXWdYqc1fjmV6g== dependencies: punycode "^2.1.0" @@ -5409,14 +5571,14 @@ watchpack-chokidar2@^2.0.0: chokidar "^2.1.8" watchpack@^1.6.0: - version "1.7.2" - resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-1.7.2.tgz#c02e4d4d49913c3e7e122c3325365af9d331e9aa" - integrity sha512-ymVbbQP40MFTp+cNMvpyBpBtygHnPzPkHqoIwRRj/0B8KhqQwV8LaKjtbaxF2lK4vl8zN9wCxS46IFCU5K4W0g== + version "1.7.4" + resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-1.7.4.tgz#6e9da53b3c80bb2d6508188f5b200410866cd30b" + integrity sha512-aWAgTW4MoSJzZPAicljkO1hsi1oKj/RRq/OJQh2PKI2UKL04c2Bs+MBOB+BBABHTXJpf9mCwHN7ANCvYsvY2sg== dependencies: graceful-fs "^4.1.2" neo-async "^2.5.0" optionalDependencies: - chokidar "^3.4.0" + chokidar "^3.4.1" watchpack-chokidar2 "^2.0.0" webpack-clean-obsolete-chunks@^0.4.0: @@ -5456,14 +5618,6 @@ webpack-livereload-plugin@~2.3.0: portfinder "^1.0.17" tiny-lr "^1.1.1" -webpack-log@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/webpack-log/-/webpack-log-2.0.0.tgz#5b7928e0637593f119d32f6227c1e0ac31e1b47f" - integrity sha512-cX8G2vR/85UYG59FgkoMamwHUIkSSlV3bBMRsbxVXVUk2j6NleCKjQ/WE9eYg9WY4w25O9w8wKP4rzNZFmUcUg== - dependencies: - ansi-colors "^3.0.0" - uuid "^3.3.2" - webpack-log@^3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/webpack-log/-/webpack-log-3.0.1.tgz#647c42231b6f74d7cc3c3a66510370e635d066ea" From 5476b1d473a0c6bbbce3c915935c8326c1b1c993 Mon Sep 17 00:00:00 2001 From: Antonio Pagano <645522+paganotoni@users.noreply.github.com> Date: Fri, 18 Sep 2020 12:17:36 -0500 Subject: [PATCH 21/64] Removing Grifts folder (#2050) * removing the grifts folder * removing grifts folder from codeclimate exceptions --- .codeclimate.yml | 1 - grifts/tools.go | 37 ------------------------------------- 2 files changed, 38 deletions(-) delete mode 100644 grifts/tools.go diff --git a/.codeclimate.yml b/.codeclimate.yml index a6456d0ee..f39e7cad7 100644 --- a/.codeclimate.yml +++ b/.codeclimate.yml @@ -18,7 +18,6 @@ exclude_paths: - "generators/*/templates/**/*" - "buffalo/cmd/filetests/*" - "examples/**/*" - - "grifts/**/*" - "vendor/**/*" - "**/*_test.go" - "*_test.go" diff --git a/grifts/tools.go b/grifts/tools.go deleted file mode 100644 index e8d989bdc..000000000 --- a/grifts/tools.go +++ /dev/null @@ -1,37 +0,0 @@ -package grifts - -import ( - "os" - "os/exec" - - "github.com/markbates/grift/grift" -) - -var _ = grift.Namespace("tools", func() { - - var run = func(args ...string) error { - cmd := exec.Command(args[0], args[1:]...) - cmd.Stdin = os.Stdin - cmd.Stderr = os.Stderr - cmd.Stdout = os.Stdout - return cmd.Run() - } - - var _ = grift.Add("install", func(c *grift.Context) error { - if _, err := exec.LookPath("golangci-lint"); err != nil { - if err := run("go", "get", "-v", "github.com/golangci/golangci-lint/cmd/golangci-lint"); err != nil { - return err - } - } - return nil - }) - - var _ = grift.Add("lint", func(c *grift.Context) error { - if err := grift.Run("tools:install", c); err != nil { - return err - } - - return run("golangci-lint", "run", "--fast", "--deadline=3m") - }) - -}) From 70f4aafe400ff0a094fc3f314cf25972d149d480 Mon Sep 17 00:00:00 2001 From: Antonio Pagano <645522+paganotoni@users.noreply.github.com> Date: Wed, 7 Oct 2020 13:49:45 -0500 Subject: [PATCH 22/64] fixes the non-existing .git folder case (#2053) --- buffalo/cmd/build.go | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/buffalo/cmd/build.go b/buffalo/cmd/build.go index 1c663668e..9f75d89f7 100644 --- a/buffalo/cmd/build.go +++ b/buffalo/cmd/build.go @@ -130,9 +130,16 @@ func buildVersion(version string) string { run.Logger.Warnf("could not find %s; defaulting to version %s", vcs, version) return vcs } + var cmd *exec.Cmd switch vcs { case "git": + // If .git folder does not exist return default version + if stat, err := os.Stat(".git"); err != nil || !stat.IsDir() { + run.Logger.Warnf("could not find .git folder; defaulting to version %s", version) + return version + } + cmd = exec.Command("git", "rev-parse", "--short", "HEAD") case "bzr": cmd = exec.Command("bzr", "revno") From 1a802535dcd262c116cb251ae414786c7f7e013c Mon Sep 17 00:00:00 2001 From: Antonio Pagano <645522+paganotoni@users.noreply.github.com> Date: Fri, 16 Oct 2020 12:27:21 -0500 Subject: [PATCH 23/64] calling persist explicitly (#2054) --- route_info.go | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/route_info.go b/route_info.go index b0d7f8fec..3309abbed 100644 --- a/route_info.go +++ b/route_info.go @@ -94,8 +94,6 @@ func (ri RouteInfo) ServeHTTP(res http.ResponseWriter, req *http.Request) { a := ri.App c := a.newContext(ri, res, req) - defer c.Flash().persist(c.Session()) - payload := events.Payload{ "route": ri, "app": a, @@ -103,8 +101,8 @@ func (ri RouteInfo) ServeHTTP(res http.ResponseWriter, req *http.Request) { } events.EmitPayload(EvtRouteStarted, payload) - err := a.Middleware.handler(ri)(c) + c.Flash().persist(c.Session()) if err != nil { status := http.StatusInternalServerError @@ -117,5 +115,6 @@ func (ri RouteInfo) ServeHTTP(res http.ResponseWriter, req *http.Request) { c.Response().WriteHeader(status) c.Response().Write([]byte(err.Error())) } + events.EmitPayload(EvtRouteFinished, payload) } From c55480191b0880148c820d6a0bdbda63459e7ea7 Mon Sep 17 00:00:00 2001 From: Antonio Pagano Date: Wed, 21 Oct 2020 19:55:48 -0500 Subject: [PATCH 24/64] adding version number --- Dockerfile.build | 2 +- Dockerfile.slim.build | 2 +- runtime/version.go | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Dockerfile.build b/Dockerfile.build index 16af7cd1a..0f83c15d6 100644 --- a/Dockerfile.build +++ b/Dockerfile.build @@ -32,7 +32,7 @@ RUN npm install -g --no-progress yarn \ # Install golangci RUN curl -sfL https://install.goreleaser.com/github.com/golangci/golangci-lint.sh | sh -s -- -b $(go env GOPATH)/bin v1.24.0 # Installing buffalo binary -RUN curl -sf https://gobinaries.com/gobuffalo/buffalo/buffalo@v0.16.15 | sh +RUN curl -sf https://gobinaries.com/gobuffalo/buffalo/buffalo@v0.16.16 | sh RUN go get github.com/gobuffalo/buffalo-pop/v2 RUN buffalo version diff --git a/Dockerfile.slim.build b/Dockerfile.slim.build index 788b59d1a..4badb0dfe 100644 --- a/Dockerfile.slim.build +++ b/Dockerfile.slim.build @@ -17,7 +17,7 @@ RUN npm i -g --no-progress yarn \ && yarn config set yarn-offline-mirror-pruning true # Pulling docker binary from releases -RUN curl -sf https://gobinaries.com/gobuffalo/buffalo/buffalo@v0.16.15 | sh +RUN curl -sf https://gobinaries.com/gobuffalo/buffalo/buffalo@v0.16.16 | sh RUN go get github.com/gobuffalo/buffalo-pop/v2 RUN buffalo version diff --git a/runtime/version.go b/runtime/version.go index 52302ec37..9ec0a5fa2 100644 --- a/runtime/version.go +++ b/runtime/version.go @@ -1,4 +1,4 @@ package runtime // Version is the current version of the buffalo binary -var Version = "v0.16.15" +var Version = "v0.16.16" From f88da17c2ad833689b138671f70cced2d594decd Mon Sep 17 00:00:00 2001 From: Antonio Pagano Date: Wed, 11 Nov 2020 08:30:37 -0500 Subject: [PATCH 25/64] Pointing README to new go docs link --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 37ce67a9b..69798591d 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@

-GoDoc +PkgGoDev Tests Status Go Report Card Open Source Helpers From 45acf7a9d995b6ff483c5e30e4af633f5ccb95a5 Mon Sep 17 00:00:00 2001 From: Antonio Pagano Date: Wed, 11 Nov 2020 08:59:32 -0500 Subject: [PATCH 26/64] running packr2 --- README.md | 2 +- packrd/packed-packr.go | 282 ++++++++++++++++++++--------------------- 2 files changed, 142 insertions(+), 142 deletions(-) diff --git a/README.md b/README.md index 69798591d..e4d2d12ea 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -

+

PkgGoDev diff --git a/packrd/packed-packr.go b/packrd/packed-packr.go index 8212f3594..3cb3ea982 100644 --- a/packrd/packed-packr.go +++ b/packrd/packed-packr.go @@ -11,79 +11,79 @@ import ( ) var _ = func() error { - const gk = "4dcbdf8144bda526614a21c6047cc42a" + const gk = "c0c964921797caa6d52bcd12ef38ede5" g := packr.New(gk, "") hgr, err := resolver.NewHexGzip(map[string]string{ - "02e9568ee200d1f95e13ba2235a3085a": "1f8b08000000000000ff9454c16edb3814bceb2b064c60ec2e4009392c1008e9c1a95df790c6aea5b4e849a0a46799082d2a24e53670f5ef8524cb8993a6494f4f18be9911f9864c69a50d253633b272a1b7db71c815e80ebeae9cf52797f17d456095b6ae3064199ac6033844e578410e75950b47188d0e882cad134a81df6360dd299e2949a5ebf44959faadc9e6dedea9bf73e82847e2653e08a812dc22486ba9728ba0d081355970fa0f656b0db6dbf5e6e3aaf21722bb15052d6e8ba661f889ac76e03958c0c05767ff766a597e907889daf56d6e7369c02b5475aa6416086bc9d96ea9d0687f9fd728a45bd7a99fe94d50e8b45ead84d2c1933a50363a47aebf974a8bbcc3e847a58dc3621c7f7cc74edb129ecee66d0d525932cfb34e1464c3aed991759ee7b7856f85b12146876f0fd80a2345aafa6e60364fa6d75f42b0b687bd350dc0621ec5b3e5344a2697e1f1d15e8b0df91fa4a2a6491e44df1401e0d3b7e8f3553219c7e3cb71347d55f981b29ccfe364318ea2aff3e52404335a0fce433e80781ac507f1e46679d51bb45a93f4c6a8a6619e77829956a22cb02563a52e91adb5cc086b521519cfaf2df1a2ebe072230a0a317a0429d19d3fb05febe1700fbfc63ee3e7cfa867feb9e7b5ec76602778bf166541701aece222c47fcfbc59bb565b825b137a08333decc6039ed27ad30e7d1c942e5321f6dbb164b6326b53f352448e07c9fb8b1afeffe7e93fcb153f3c21c3991dcd7078b5fad6fdbde9fff157000000ffff99f35612d8040000", - "04485932d90f92b1f6d01ac655f3b3d2": "1f8b08000000000000ffa4935b4cd3671887ff26de6d59d8922d9b2eb33aa6558aadd406e3d45a40c64108300373ba1a8452a0500e838156401ca70844c7383928c7164a2dd0ca414e15778893a51048c620dbc230195bb22cc8b8a63c0b2064f77b9237bf2f5fbee77baf7e82b04bd82578786ca44848dc2d086f0882201604c143100491b075bfc96e4178eda5add98617acadb937f3f9f3659a4d7da87515f845e57136328f8bdadb7cf9958da53ffedc79bbbebebeade2766f9dedfde3f886e4f2e6891cde3e654074c680e8d475f61ccfe6755926126526f75a1cb0beb6e96fccb65b5963c1439c88e7f9124ec616732cbe0ec9d53abce38d48a38bf009c9c033a89457c449a4196a5ffcb1b5bfbbcfc9ab122d074f5fc753994de0d57c62efd850dfed475d35486c652767626f7128bc0cb1d2c0cbe238caab4c9beef2df7fa1d21bf1d2b4228b337230b21275452fe9ed8f894a2f223aa7820cf3d7846519d92bcfe4685809b24bb5482e55323bf70b2d3d4ec4da0e14993dc8756df8e5b4139e5e8ad7c9300e78fb73c05b85541941f8a795f86aeea248ef24a0681c454e3f85f71cc4df6cc24b67c3476f45a16be1d4875af61c3cc33b9200ce4705e11f1acc5b87fcd92f0d40f5710e87833fc7d3ff069ee70af8405d4a68463d47d3ecc8d36c48350dec93a808bb10c4a0ed0263c3597cebd4d1d61081af4ac561df18fc937bf152d72055d713a83111906e449a6a439e66c53bae91d331494c4d14b3f49b93d68e62ec0faa595eeaa3c79ec989c81b84660fe095d080546f2144dfcdfb294dc852adc8f55d48932d4414753038d2c4946b9edfe7ef303f6361c6354daba39ae8422731d726507e3688a2e009970d03f8c455732cb50b9f940e8e6adbf0cbed22bfc5ccf0680521091a92f232187df405ba9a2e0c75e32494b8f8e4d614970b2729ab1b22bfda8a58d3caf1e4667c7466e4574a286fba4f424115fb4e46f3eed98b14d69ac82a6f446d3061ec71d1f77896fc2a3b13ae196e37f6225237234bb17248634671a58ce8f85444de4a8e28cef19e4cc511df603e4acce2669505ebc8240ee7534cf7fb8175565756d116d713985c4a446e2389e5163a1f0c11a54e65efe1b3ec97faa1bf5648f7c8180ee7389d030fa96e32b3b2f2cf4e7fa6e77e64e1d90293ae27d807da714d7fc7af8b0b34771ae91f3633fbf337fc30fd90c1d12e0686fa585d5dddf4fedba1ed362e3e5be4d1b883a1e1562626cc3cfddec4d8580b63ce1ee6e67ec2ed76efb81b08ff937f030000ffff6ddbe2317e040000", - "06a6a4ca9e718a10ee1efef1c2e49b52": "1f8b08000000000000ffa4574f6fe3b613bdfb53cc4f0860293f59027ad4c2dd431a2c0aec26db76db3dd846424b239bb64c6a399412afedef5e50a464f94fba059a836593f31e8733a33793540ad2f015e7254bd7300685df2aaed0f75eec9217bc1b589b0f859cf70d16859c1f77ef64b9752c9f8b6ac145df3495e576e4084765b37d447ee282df11ddbf6ac5527d09de70c14729d108adc52501133c47ba026d8fdc388b0be85d814c3cce4916a8f16e5989355dc3a7c66c249ddd286d0c8f2c5f5011aacbe375b3fee6c53ff21a7fc742b2ec6dcf0b5ea36a6c7a70874fa5c8f9a2524c4b0563d80d005068c59112c82b916a2e851f9865809aa976d3999a3f5696054f99314c60e2160186512c64864f1b99550552bcfa56a1da8eaa15c5a4d258315e50b4a261d8473022d414a744718f36a2948e8633fbe530681ea6a022da8ad4f73af86d7c1bdd7a41944b75cfd2a5ef1ba7b7018c7fee9ce639d855188fc73f3a39e860000a75a584fbe97c002850c31ab7306ee2b38d1496054bd18ffd693475dcd3d82795ee57b44f89f60b194ce3603f8d7c4d668d262c9dd9f57811c27018749efa6bdc46a499d2f495eba5ef3d7901ecf7e0c797d89b98079146d2dd9dc790b382f0c777e0b9df6677b2c6edcc404555147de4e93e4c9a43663f20ee83a2b2a2a5f3cda6d13e2cb2351d001c4203b7e54a7eeb83a940b7668e7707087c69c527faac64cd33b42f83bfbb49c0b395e785abdfccf3b87008c21ec13505f177392f50b00d26e04dcc73164d5229340abd64b49c4529d119cf8586f9935daee42681ae40bd50cb043cef300b616764ed4fb19119cf396609685561c817422a4c60e29982bcbdf542f056ed17f3fadcde7a33383db88dc047c932548fa5a95f6aef61f46fc3bfa3e3cf705e2d125b19676138d1411b80071b805600a31549717eeb4b0df46d6667ef06fd0cbbec7519b6f2e0bced4b8ecbb883b525a88c96f465e6589b00a6ee1388a7917b216ee2b0b75b11f681e6ef5acea3a2895f7862b803bb9a8049c8c8fef04290addf3b92954af1132b6d840f8737094a49fa3f9310fb970c3d82e37bdae3dd1da3a6e9f5fd4d1cda4079bac78faf69516598c0a9a45fa759599aced5399b63d171bd41f5864bfe8bccf3bdf9f869af75bea77a11f8d3f7f5789afd7f1ab51f8139cf7a5da9eea8eb8c28f53f12987a6f19ae39e59a6ba4906451a3df8a49e0f0f85a4a6a19de5bc9f9dfe9e2cd1bae2de431fa0b592e51adba1cb4799cb9ded7be3ef38a17d95dd3c32ffb751cc3c3e397fb047ecd612b2b600a61c96a2e16c0892a2478e17a097ac90984d43047b345a8c12b952c51155b2f840d5b634b47954243a5e0c3e3d3fdc35fc0a9b16fcd81113ccfab3c6785b4be3d83ac51299e21c1c3e32ff706d5b235a7bf2c99c61acf19b504a9c0cbb0c642961b14da8b1a9c1d5b50d43036c7a64814a1a8a396dc74c61398d31fd33aecb0d39b5d36d294228a3aecf5aa6d72321545ae29f99de0c94a97954ee05a77b06d61455e0825d3cb049e6f764f4f195766ff1097d5bce0a9eb03cf5d1d38553c3bb8eb7ee1d1ddaac033ab13053ddaba024dfaddfb55a320ab149361a46918c2b099c19a8714c359d7bbe1d8c1ed60503793d249642168b9ad43adc3b6c99bb6703e9dfa3b569628b23f52c54bfd852d9c4c0541e77523f796afef844dbb1d8661dcf49cfec4ecb79e588bae9f1c2f9fca4da990cc5aeff5db30b1284e8204b0462c9f72932fb2ee5dd3cdae067ac0546e4c5cc835d6f012d77d71ff86dc5d431c82eeca26a846dc37fc7b338ff64bd7757495c0c45e7ad68fd779200f83c360604b253272a4b499a04e0aa9a7257e30f83b0000fffff3292c28d40d0000", - "09debad446adbbaa70992811a3b479d2": "1f8b08000000000000ff72c8cc2dc82f2a5150aa4bcacf2f292e294a2cd02f4e2e2ed68773f5405c256b2e844a87b4fca292c4f2d4e2fcdc54fdb4fc3c185b37ad2835551fa4393127472f37334f0fa213a135a9342d2d31275fc99a0b100000ffff04baf43578000000", - "0ac9c97b14565a81e81adc4ef482ff28": "1f8b08000000000000ff7c94c1ab1b3710c6cfd55f31cf2ea4599c7d4e7b28bc4b49531a7269030998107a186bc796b0ac11d2c8db25e47f2fa3f53a79f491e38ad137bfef9bd1ae6147c1f29940187eaf870306be33e683c37882892b1c388375ccc5c7e352d00e27ae1946dac340170a9cce140522d1507a633e7f067f809e9394fe554afdce8b7bc7095e7cf962d66bf80305f75808de93d464cc5b81c07c2a10fc895a5bebb834a6420235cddd30a5e02d8ae708b501210c57a93bf813a360116f1b3fc1c1e722204eeb5452d9547160f005385154617104ab45a49fce6105071f08300e408317f0a297aad23802cb399315fdce11cf543690b09491f35036e0b848d90089edfb1ec4a1006652eecc297b14fa1a1dc58bcf1c35b6de988f5c61f4210086c237d4339e084acd346b75ddc4b5eba00866b9f7b10886d0b01603c08759dd3af696fadbc4ba6ee4f84cba0e966b6ab009a9c32b556fcc7abd86d79914f5a30a2da32ac6fc7dda4061ad7b76a1168e527e27bf264fc34cb4d46c20f278e3b218c1ceedbef551c0c7d97313bbe23d18f3c38fb0bf5e4d9c96ab2f50578ee2d0164c37ecbdb6d6c9abeaabaf7b63ccd2b9389f0a8c5e1c20583e9f95b8b56c731851acfbffda691156e1338ab718c20499f6d5873988370c7b1f314f735d9c004b2129b77ce143dbbfd626d738a7b7181ae8b25a481e5b1de862ccdb365a48eca3cc60fbcc63a1ac9bf2c989a487fbfb973fffda6ffb6dfff2e197ed76fbcf4f4f1e3f6f42c5710d03142240583df11b5841c223f5c674dd6b8ec78c52434ba1dc759d6e479ba4c30bcd384bb28f9e696a51e41aa38fc7b65fb053f77fd1bff29b313b824cea5987a7548e70d0b9f1e5b1b1235fc3e83ddf6c7d7bf87c6e44174f63fb3584a0af41133eea96c0c0b6ea6b9bc1c451566f6f980708d59eee8cf9f48e47ca34c07e5acc3cddcafc170000ffff90de672137050000", - "1766fb2f5a37b14997d2efd7a94119b8": "1f8b08000000000000ff7c52cd8a1b3d10bcfb29fa1318fc416686dc72900cf9bb267b302c3985b6a667d56b8d24a4f62c8ef1bb87b16cafc3929c24d155d5adaad6ff7df9fe79f3e3e12b3819fd7aa1eb01a01d613f5f00f44882107024a326a69714b328b031080531ea857b71a6a7892d35e7c73be0c0c2e89b62d19379afee85acc35c488cdacbd07cb89684c5d3fad37e18d04768e07884362629edc794da6f3852bb9911fc8be074d25d852f008ec706788010e50effc8e21e699bd0eee074aa0d96068a1c3c1547241b7c5aa96d6dd6da52d4ffb0bcaa51e8ff41c2943c5b148ee19ef8a74bb6e4a1499871bcf309f7e228085b96c34f893b0a0ababf702fe51b771ee42d1f96eb5709cf610799bc516c6350e0320d176229240f286ea578c4272add80d30c6ad9c6f307ce21e8ee1ab9dec6feb05e54dd9e27b01e4b316a1e073950be84560d4a98e7ac576af0585c3b2fd0ab2b157260f2fdcda8aee7e9aabe34f08c13169b39bd35f8f9e6afeeea4cbaab0bfa3b0000ffff85cad3beb8020000", - "1a498e3f79e792cf588697578944bc27": "1f8b08000000000000ff8453c16e133110bdfb2b46cd810bbb49c5ada887d00d158274a3a036ed0979edc9ae8977c6b2bdb451947f47de6c12a02094831dbf9937ef3d7b3f2ecb39d45c75ebb5b43c1ed6abdd2e671743fe803e18a6fd5e88d9dd03dc96979797f3b2b8ff3203a6e168b12c1f9fa089d15d8dc7cef3cb36afd94aaa73f6b510cbfb3b6837da78c81c8c8357e323f9d4b97c21d546d6b8d8d4fbbd5895cbcfc5a7e57faac46e67d67006a761851564fbfd9fc0cac4668595936ad3c323888d09f06cac05255583101b04722d180a515a0b21a27b0b1d590c01dc6168fe3d30816a24d518c4b4287e07f2bf4d7d929efa91a97c2b3de596d506f23e8cf4ff3431cb8833e7b9f61882d8edd006ec3b53e5afd25e15921e3cbfde8911dcb0dbf6f66e19e6ac3b8b015a49668d210671532e9ea0e6bc653d2ca7a3d0b5c32246434a1a5d800ad7ec11aace586da806491a14bb6dda07eebc42080cb191119e1134d39b0884a8213278cc343f9365a94106683bd58851cf706c191886948776433fa4355a4604ee3c1c295083955bf47d4435433271c4449f783e243dbce68368c8b21065340a32867165682c9d4b51dd93e2b6458abdd48efad82a43d26fc1105c38cfba53d1305da4597825467078f9df66770fd76738917d30a47b02e95ce29be4fd2f1935119424a8100222c1da730bdcc560f4e1212aa6280da1efbfab69512caf876e21668f8bf2eb0cde4d26937f4a6e4ded65d271ba2cdf11a5fb391b4ada6fe6c5c9ffd084efcf8924185f509d4f7e060000ffff7cd3d84624040000", - "1ad33d32c175564c3b3ccb60ccc718c9": "1f8b08000000000000ff9456dd6ee3bc11bdf7534c75651b36857e57858b2c90cd269b02de2488bcbb058a2261a4914d84e2b02465c50dfceec590926307c86ebf8bc00a393c73e687676865f92cd708b20c8a8c1f8d5463c905188f00b2b50a9bf64994d4e46b7a6aeb5a6acad16c77d987bbfd2f1bd4e44af45e7f60d974f3c182adad74b2d1b45ea3fbf8c091d17b0aad71a43556b9c7b275988d4600afafa06a10648317e7d68a9f2a6ceec8c27ecf875f5fdf76be5185dadf3daff7fbdfc636b764f3ed1f39ff58b24d972557682a98eff7ecb8f4aefe380adee533eaaf7f331f5bf1eec75cb86e2edffe918d26a3519ec3e5cd0f501e5a8f1504820d6a0bbe53a1dc80c71094597b7892bc4b06ba0d3a84b0413e29add5aa945c7e46784265d6e05a23e00bd6b2d58157b30ab7a8c936684226465be9a2c733e06e105f318cb3afb70f97373fb2d9a9ed24da4a6b61da53e77cc7c5154c3946b172d2782d03b918c9b9b5ec3171945a83a336a007692a68545569eca443ee2ee811f994df50ab2b7842a8b056062b01ab8df28c14360806dd16a14413d001d5b0a3d6bd0b5e8cf29c97eea9e574cd8e9ccd60eda8b57e06184a210430810a4b2d1d56b0babd83f927f872fbf3863192df06a5f1dc7d3b6a415615c863f281e0515afb0853590774d31e8c332f1922ba9b41d8c890bea1535ac3cded0a36728b69c3607784c9f12278d9c4a272d8ae450ed5a1a7d69503e118ab07e9a143ad87a0ff11406a4f3ded083fa4dd21941b2c9fb102656232c955e8f86b77928818fc63c199be521afd23b3907071bebab89e9f2f970971069e4085a160527772c75dc787ad962556a0a50f83af78e684fa8cb9ab9032621d6ed10c6419e350969859360c0406b7e8b8394ac91a2146756b4aeeb4f1e4a42fe195af651dfbf5ec0c8cd27105d2c2d06fe206bbf1f07d6b23ab64067069b60bbe1ab3feff02bd57646e64830bc81e8e3587d704676abf7ff0c92c4bc7f69351fce5dbd0066a64504c7c070e2be5b08c3115c572a026be7b1c47312d8ae578f2767a496b70f89f167d48028b019d8771ad74fce0f6df4dc409ce91c68abbe1cc32feff067ce728300fb996caf80017c5fd15c81064f9ec056c42b07e91e75dd709eaa4b782dc3a57a6c217613736bf70e4fdbc50011fee13bb872b726b74bb8731234d0637f7d8d0365e974a79f9a4b9f3953fe5cb6aca15e9c9fd52f323e84f27ad0794e5e6901b654042601d4a73500cb6508a1f52b738cec24b3611e3a9252b2ec8188c767f8a689c1549ed92977113a78ef8f2793219b8f310493324e216185a1ba5aff59818ea740d1627d8c73b8706e0cdaf97ab71966733b8a606afa5a9f4a18cbcfd765b9395f41e83ff4c2f13f6eea36ad6bc0db5a326de48db3e6955426a4472bb1140e4eb30b4ce30ea681f85fc9853baad9a64059a4aa97bd4190f27686d040e8739008ffd7344ac1e6751a64d95100627efc4342687123e4395e4e235197c918bf566a8bee451ac78bd2187a04c4dae89541787ee3d0c5ba1f8d5935754fa3c22aaff46d3a422a7a93f68c4b703c12bb6627de0a1872efe914b42b39ac595b3f81688ba12077bfccaa4b58b1481e7b12a443efc3799418666febdc8267f8f007f792756a20864c7e8dc2496e7509dd511aff1a42fd4a01cbf48310f847eb75720694099929af85a48398d83a766c9551e0c05b85eadee0a0119677491e7f8221bab915f32199c7d4aebfeddc6d1087df35f117a984e0d85e914d0c40b56144b112bc8b3fc6490c38aa0a2489ac13a048725350dc66b14872c58472fbbdfd43adafc1f7df2e123344f1df2a6ccbfea8e3eefc39bf8b85009ed74d414c5f2beafc5224d1e7e8f9d41661d556dbc3efd34298ae51d47728db242e717d048fb2f1ff8b5f1eff4f39afd737e45ae93aec26aceda4ed9a22f4fb667943df7caff020000ffffcc4ac5ca2c0c0000", - "242b39ad54264b3a991f6244cef7c7fe": "1f8b08000000000000ff2c8d4b6a03310c86f73a8536597a085d9ab647e8054a311a5be31864c9f8119adb974cbaf9d0e3e7fba9b5d0cda6c70d4a56eb9cc26192b80f0f0eefacc93a3814cb2f0e704863f07c0e6ded522238ccbd1ce765d6060ef7a2e0502d71a89696f0f3b50d1ac3458a3786a25156e214f877b28e627ad66dd99e64bdc3be8aa4d068defc297ded89851e1edfae571db017a5fe084a953dbe5f3e905adbbea8325e3edd998768b592a67008e5e1f1fb075869170ed1c4faf038fb6210cbff967d1d0789c15f000000ffff20a0099817010000", - "24acb3645d0c223724ce264b932033fd": "1f8b08000000000000ffb2c930b42b49cd2dc8492c492dd6cf4dcccc492d2ad6cf49accc2f2dd12bc8292dced0cb28c9cdb1d1cf30b4e3e2b251b555a8cc4ccd495150b5e302040000ffff448386763b000000", - "2613a5ab39a3b9986bb019331d8546e9": "1f8b08000000000000ff94544d8fa3300c3dc3afb0345a69f740c54799a9d2cbfe95405288066294ba2ab3abf9efab244009add4ae7273ece717bf17ef6ad4c4959606fec651af747255825a06459e0ee331fe8ee35672e1af2b5e7f36062f5a2435766818bcbde7bc94f21847031742e98641960e23f8e2a8c23139ab3f2e5ea111d224157ad45d870d82ea1b0b3cf53ccc2d77a4a8936768337b7b424d164632283cae8b5ca56a5ab2b1f4184713a16babc8d2e9b969944e2a24c29e4156b8ba294a383028b7bdf2a55788bc6a9f1d1c8c50e7a1e35f0c94ee949649d561fdb9c0334803606e7137f4488e940859a3e1a45033b868218d050b4a9513c593369e93a37d5faf7153ba13585f7aa9c925ac703a792206f9617efef952b992072c57ef59e95b0ca38b3c7043ce8b725fdc8f7ff1d2ad5b5b6ca4cdf37b69f74e8070acc42b4f76adcb7ec277973b9f42158a2f2003249c79bdff9cf6e9d6b09edc09916caa9b2eef54a319b8b1dffcf55697f63cf4e002b156fced50d9f382e6b5d4248d145b063eee727ef752280ebceb806b013f7b3ecefff5e3231dc65fb636fc3cc188bd79968166a59512ca49d0ef272ddef72fb4289eb488c2ff16a8e8e9ad72ee4d1cbad84bf7947859bc403c0d89af19bb5565f317cfa4ab8b6987cd4b2c4bd31ffff588a0f16a3745b73d332f18fbd07f010000ffffa680b9a8b2050000", - "2b2a30dbb8a10e299ad753680511cf4a": "1f8b08000000000000ff24ccb1aec2300c05d0bd5f71d5b73c8612b1a18c4830b232a2d2baa9456223c711e2ef11b01f9d3f9cd450d4082c8b5a199d55a08256591278b71754a288d5fd516308897d6db7eda425084ff72aaf992c241d3eb41bc073c493f2a485aec9889c257580db28357ff788fef20370c5a12dcb9815ffc7f3a6efde010000fffff7ca089490000000", - "2c6bd972240bcd80d2ed0682ad950326": "1f8b08000000000000ffcacb4f498dcfcd4f29cd492dd6e7d2d2cbc94fe74acaccd3e702040000ffffe55507d519000000", - "3453f7ce3ce1e9c9d586ba9aa79a8794": "1f8b08000000000000ff1cccc14a03311080e173e729869c1229e95df0608b5814ec21824719b2b33598cdac99c941c4772fedf5e7e35f297fd39991b215690a509655baa16b6cbb2fb3d501cca365f4a478f778536914e380efacf67994858fd4a6cadd07fc834d67c5fb07248d2fe9f4e6ddce85f8cce603c086343efd0caafe3a8ec9c8869e5eb7d859e341260e37729066549afa6bdecbf41b93f5d2ce3e6cd17d70cdb2309ae07ecc33557101fee1120000ffff2fa22d1ac7000000", - "35b86742dab99741a63518db24bb76a5": "1f8b08000000000000ffecbd6d8f1cc7912efa79f82beace7e590399c98cc8c837c3f48145c9f6023cf72cb05e5ddc4f06b74489bcdb228921454bfaf517f14454750f3994a8e1c86c9f630356176bbaba3223232322e3e589dffd8fefbf3d2c6f9e5cbd7af6e2f9834b4af97279f27c7df1d5b3e7df3cb8fceef5d7715cfe8fdfdffbddff15e3f2a727cf9f5c3d7efde2eab7cb1fbe7af15f4f967f3b1cbe7bf51ab716a694530ecb7f7cf9a7e58bef5fbeb87abdfcfbe1bb6fe2bf3d5f126e7e69eff8edd252cecb67df3d3b7cb5e4df2c4b8cfaf39fffaf877ff97ffffd8be5d59b6f967fffcfcf1efddbc3e532debfffff9487f7ef7ffe97cff10b94e8fefd2ffeefcbe5f2e9ebd72f7f7bfffedffef6b7f4b7925e5c7d73ff4f578f5f3e7db6bebaff1f5ffee9be7ef1f3bf7c7effd59b6f88d257afbfbafcfdbddfe92f9fcc932e97675f3db8fcecbbafbf7e7c78f1d7efeb1ffffaa7172f9f3eb9ba5cbefff6f0fcd5831b5ec23967fd51ffca6fbf3f3c7bfedf377d91e69cf7f1d7cbe5fb0797f9e5f797f72e961fec6a79f3ecc9df3e7ba1f797bccc8cff2bd51fffd7e149fcafc7eb7f7f73f5e2bbe75f3db87cfee46fcbb5ef7cffede1b7af5e3e5e9f3cb87c79f5e4d593ab374f746adffcfedec5ef5e3e7efd74f9fad9e1f0e0f2f98be74f2e9757afaf5efcf7930797ffc24493ea7623feedd957af9f3eb8a4b6df393c7bfe647dfcf2c125de7bedf6fff7e2d9f3b7ef7ffbecf593abc3b36f9fbd7e7049f972f9eac1e5bd8b8bff496d240934c6da66ec1ca8d53423514f25702fa9d8f5c3562971e839f53098024b4e822b9199c643bd6a75a612ec8b836710217c7bdebbb878c88553c1edc6a9e2bb6c97f88143cc89435e634e142951d04fd65bb1245e23a51eb9a7164b92586be25813c5c169e8233d12a516f5ff5cf020c522a9dfbbb8d03f732ca9c59c5aec8963d639e5d4d7ac132da904e23422e9a4f4e525d535871c721c3d75ff7895f52b55bfc291ea23e2ae447b3a93e8d06be49c585fa7cfd95b7aec69c6a62f0a19ffae4ae9d4624b823770121db37e869a26ee29f138b550f4bf071d3b4dffba4d44ffdcf5d3df1674c2ba2c2591fec9be1ab827b18fb6e2517c4fdfa66bcaab5243a92c51dfae33c0bcf19d8155183eda9186be8a31291dacbe4a473182a4b1e654424915eb37a20e9d729a4a76fb59c12b9b7ff2460c257adf2f9ee654fe0c56fcf1f2beee0be5e2c7577fba7afcd5b327cf5f63d3ffc7977ffab7cfff4a7fbd5cbef1dbfff9fcd9eb570f2ebf7bf5e4ea3f747ffdafe7fff9eac9e5f23d3db89429a9895c2e3fd083cb2a39b5dacae5f23d9ffe891f5cf69c6aa172f9fb7b1717bf7bf5fac5cb6579f1f5d7af9ebc7e709975ebfc7078f2e052efc7f5c5e1c5d56fffe573ea0f6bc320df7920491ef3e6a7f2c8f5b31b9fa21b1ff88cbf685ffcc16871ff3a31de121bdf5d1dfef55f36dafc06fb1a9bba041a1d9b9ad208d45a246a49b0a9c5ae8f9bbaee9bba1c37f59a95dd4bd48d2b2391f272e804ce3b44aa9466e8caff4df98138954734f426979cf8d13e085fd2972f0e3f7cf3e2b90ffb5ffef0c74ea55c2e2f5f3c7baeabd89ba8f490b934a92a1b724fb2d4ae7c53674fbcd43e12872a6369ac5ba99691ead2cad8af479e7e3db66ba154977b171723d7d443ad2df5a5cf9128d43ef57a8cd0724bbc74fd77689c535d7ae734432b92da72f141c36fa0928c5416154fa1144e75a9a2bb8570b7250a85ca5287ee84ac2f6fa2f7b24eaeebf04aae49963e702969e8c0bb4e8f5b4bb4d825eb4cbb8a4fa6aa93d63dc779a4b90c7d92b3a4b2cc1138531a0b652c49563a509e69069a4a5993607db125a3d1535d3863fff696445fcdd49575babe8565e8d77a496de1aa0ba1d7b4701bf8ced0eb5ef15365e101969839c9c243e9c1194f4e888bacb4e1a1220a9cb6f0245dac4636679e3d51682a6c17ee84eba9636e59af2be6c2e012a5e6a22a8a4313251265d1a5c3b313927576ac689aa1d6ae64645dfd5297a6e4aa042eaaa9059923b1bebf15d54bbd276535957375a6fa1e46e89f95cf59aef3f1084df0ab52f43aeb00949347a853c7c853c06a92faf5794063b6417abfe277664fdb1a756e200ef754436f9cfac24d257a1f25d5a55053119cf58152671a61704eb494a1ea58794254d486c13dcd45ca4ca4fa78912a50e57391a15c3fb8a5b12859200b74e349d1fb5413e900aa3263185997bc4edd897d369d2d29b9fbc0cc791b9872b9da05bd299bb7a65baf5749b4b4a933ec8595fd5507874e75e945d43e98398da5575299a02cb653ff28f9f63da8224fb7ce0cad97340fb1aa2ea4340e9cf186540fac6bdd0ea21f94cad3515239508dc574684b3dce5443e976a11a8f420e8d5458ea1cf7ab436f6a38ccc46f22cd43644923724be51065268e2dcd4727a3f9f1dd717ff6707ed11edab86b515ee342fa3ca9de95549e4612fd37d7d4637baab64c3bc4a202ad3d8d95f45f0c8191caaaef1e816a1a5174ab488b552da75e4c7147ddb80c5b43d7416a64e5a636cdae2a814ce3b34afb1194054a4f7c502b2a70a203bea41357f9cf9cc6a1c008a8a91d5ab7ab7aa8d574793d88287d929a7d072e6a9c49ea87d6d47ca1540f45ad0e4c905a2a5138f53791f8906145c83ad56aa846893860a2084cbca1d69e32995a7945a7d1a2c0b6503ad59ee6bbb46e7ff8bc7f518dd63c27e803aad14c2336d588983fc94c2d0c5d40bd948374d842f254482d3cb595cada7b12908af20ca3e0fb41bfaf8ba7dc3f92403b327e78ea42917d3fc953651f02c3347d693f28152434dc1cca067aafe8dcb2b2310fd8a5a93d526dc24166769e509bf0d1c9746e60b23fb6cff90f6c1317557041ca487d153556cd4a93585355ce51d394d68a498afe45774fd3bfa89d27abf285ee24e51ffd2495079c9ab21726a37f0b2a774999465f53549eeaafdb5c2516650f49758d2a9a945b6960044de75974282bb6206c509512532d793d87502a7a8428b34316ebe82567e85b7dddc9ec6ea203fee7741013ec92ca2a30be39546cd9118a32ad1e0b708ca87124561358cf033acab92a3b068e2aa71acce68989e9c8a4e43483f4aae3534b04d72d9cbcefe74646b01f549cafaa03d4245312e650c10d6dc5512cb1ae41d4f7e0c453d25c752f32560c6b596d852af6dfaae7a58089e8c6f6e38eb27fb53d8a93911e27aa4e7eac19363e36a8b1bc9ebc6ce84f0e87672f5f3d595e5f3d7efeeaeb1757df3eb8fcf6f1ebab67dfff6b4ec463519e9d3496fd436f4a4d35cb5846a9494aa1df5cbe3dfbf57b35c97b1a97cbfac383cb32492faf70f772b9fa019f3a00359d6f3586d839e5cc63e95992cc516e1e446992da368892f86e07d1d31cc5ecd95e3bbf6708256f74603ddbda105477db2070f50e1f756eb38e4dc489eed9ae7c14ab2d9f8a90ae4bdf54deb06e2e3000c5b9f1f84c12672c387f632bda2e54e1deedefd088d891ca416ab7eaaf06ce2627c63aa1246660bdad3bbf98ecb093abddcafb9951796be23e43a628b7d36aa2555f82932743ca90f3b1deebd10e93aad22ab481ee423bbceae932aac4aafa3b105838ef12045ec16070e0c4b91ffb60469c63ed67e034504182c3ea0ccdd527e11cdca31d73f5a45ed748f6749250ec341eaa523c43e2956813ab7a96d6a71ef26c81bb8a2c9e1557339c2cd5cfd8085c7194a1b1aa71112452379f05e368a7477c8874d61556f2135c225827b50fd49e523b081aa60635d887096fc29fa632432052598367d7ea16012437848b1a48b20e9fac1e9294bd42818722bbab420eee6c394415e9c36d9aa29c34d4a0e82a3eff8cf9fc7879efe2e2ed697f900f4ceed805564829d39aa89057abb729e734651de535d8905cb0a1365b6906eea60729f0486d9d60385ddad8942caad628a7baaa0a87e280882d38039aeebbc158b9b6e86aa106ae53175d42562d39c388259b229dbe27d80cb70e3d1e8a1de0121f8619a9f5d1fe433f7e900483cc8a26b4b6ffda3d1d38892c3da74679de2cc260cf7e9408738b9839d10adb0976287c62902aba99d706cf12991684b5c0f068a950e81015caef4aa8000b621abf43bb11dc52fa408f33a8d0834501c3bf2bf128520d3460a0817b0b2e093f0f438f60aa1fa03d39f5472763feb9556da14ad3d5c38c942174797bb65d4581724eb482f758d7146ec91a601f16350470b2527e13d8fdca753d1b29860b6963453267224cd4a47bb7d89e6e7086ce6096649295cdb690a087d6088710a920192b8c9f66f4afba8b0503512634f9a1d28fa71d305a6c50084a1c50c74e280433174ec30328cc6adbc23eee4a5736ff044ce50981aa4f408ce93d1c76533db841d60f3066ccce7e245542cb662aeb146c7554d1c841d9a2c6a9bf36201cf56755b4f32196a1a3c4407403412f1e224c42d8e513ebaa7bc797eb67247483d30167e615225a79ce5c9b6113d2b2ba8c0e9b8cd645d6adccab8be868225aa289e8eafa07323a988c8ebb8c8e2ea4e326a4a30969d5a32ea7e326a7e3514ec35bdd533b0c18bea4a7bad8931c7485479a8792f425ca4a8f4ea6f5cefc3f89a8aee07913d52ea9c32ea9c351529ba00e9ba08e47411d5d524793d4f128a9a38beab88beaf881a2ba9a376e4c089f8915c3efaaf15dd8fc066d85675db5ad0711b08b225570bb4ee1d1c90fddc070324be3133b4f25800a499ba19a20f8193d43c1972a7c88ddce34b0fb5453d83952cd311c17da8a63605122aa39d6cca0ab387041fae26cc415b6d108a586ac473bd58419fc22cadf7a402a6a01821795e445c9c6784b24ddc5c6b370fa9b2c87042f70f9c2098017ea8e257821f4740e55574aace27c1bca5a084195aa3fa007b081788aca41e5e982bd6fa456918425ac01dbbd92f977e4a09235bb5da9328ab15daa0a4018434a41610bc860157b80bc28aa52d6683e80a20489b6793ca0644e146c3d4214041ef34d2ee377328e5c6ab38a79323c5682af91ee4b446eb0954311634bc6299986bb9ab0626a466f3195d861663668a67d66165d9a6e89a9ecf4331e8c6509d95c007d972766a1739c300895732265b89758d92bd666ee88199b0a7bc92038c7fd8530f4a34c7d56854e85656e14af38c4ea8aeb54a3e4487a8a8820acaeddaa36baeaae6a4a78eaa8d46e81187cc8bde3c00f653470b88673fd6423dcb065da1795b62d23f05af1187031cde81ab75b540bcebf5457e85378323a2219b0f27425e000d063b7ae8d4af7083f2c4d0f33aa98d0430ee68fc3471de6a90169a7528e7028283950d1159c0fc56e22d028d8173a3e0a2763bdd1e95c3fab9fd53f1e9dce0ca7692d736151215095ce0b4b4d23d49a93de1f887e0cbb6a053efd0eaf7bd7ef16c1f5d0ef16d6e770ffdec505179563b50e7d047ed45a259585558e855a8b3ec22db9aa7c8f9ffced213786cb5ff4698fe7484e7d69b0736bd181347bb3706a4b1335722ac205ad4c7d5b2da92c4d256da8d59dd34d8fd01ee7d16bc65c6569100436277d5d0bb5cdc44bc34ef3fba4df10b8b22b8205157fd7c9e7f74c6bd303dbb44a472862e8fb4b535e6eb32e4594bbbbf9e6b9208e56970269d94957a540d57635e2179e3abd4e88afcc167aaebe1216379833c9c2b3223ea05f41b464e89a94dc4243c0a650c3a9a6a6b614d0baf5acf74bc635be236d8f3758c8a08d9aca4dbef66bfaeed7d3c2eeb07eaf223ea876a5035c877aced4c36f6c7a41309be8d1c9e06e0e3cbecd8816ced015e345d75c0982d0a3e84e6c5389560b488c604cc5d1afe796ca52595747f9484f00baaa8c27e1385139817889f266e8d497da085715f1c0866b4a6d5156ec58665c8786409432a54542e803f7d4754e5065a253290b2290a14d4eb49462315f7d6f4110482750970297b532ddbcc698f72e2edecf9b826113227bba55dbd4a9f16cd803a7619b9f09feb2ee8fd6556a2965058c5b1765c7e3753686d74d3f95d394f93f2c28d77044ac3c122dadb16a7a8f0a9e5c5b3c728e6580512b22c10381297db25c0b2f7770815e37133be47f7a5fc0f88f7ffcbcfde1445034c1ea668b556378ca70cbc826701021ab704411ddb8277fda02ff7883fb7f76e4e7d43adfc476cc6e611c1f29321c60e4091df0347a3e096d4e3fd86cf085f91d813080f3ef90f73c98cddd4cf815f23c180fb4d8335bb24b868980ffc23a235868fe9a68593d96e2939116334256dbc5fcda3eece1c39cab3dc3e631779f24d9c9d662201ccca46b9e6103171fc14a820711ffcd9eba93032c3cfdef2758ab8ab029b77faed5d9af55eb0db6889cae5580211d1807355f1578ef33bca6dbdacd6861d219b6542a318736d609546b27f96204cab66da994cad1a83e7e72a9a279b16bb4b5b5b38daf55f15f29c7d502ab0dbc89fd40e30f4cf8f3695baa785cab6abe10a48f350f09280f29cf114ea367b05475ea61a9cefccfa5fa5597cafd457cd7d9ad057ec6d1cded4596d596f73c50cbd02c27199ac53334cb498666fd800ccd7d793c42522c59d333347799f493199a6c39ac01a19d3d43933d4393dfcad064cfd0947733349b6768f60fccd0849b169fbca7ab22c23cf78b1bb26f1e7efe793e5a0abb9de08a475c82b7931dc1ae78ea89e219ae11c6cd8ac736c991ba6cdae744f7b0eb1e3e61c37715cfb4d8dca9da09bbda014ddf553c3a4cdb77bbee99a7ba67533c2e0dccabfe96e269c1b26e6fd8227fee8d6ff0595ca36b955da7ff93ae1f4cd72a3f43d7d6dbae7f7da36f6f3b358ac8a5fa29ad874bf5f193527d27ac8bf5b98b75b2f57a3f51fd89ea9fd7e439ed5ae15d79be53f51d91be9135be6528057a4b9e77c8f37e23515bbf294c7d4ad43acbae29ff49d40f226a9d3725069d12f557d760f72e2ede2e33f85535981bec3729b15f5783ddbbb878b453f3180bbf7afcd5b3c7871b2a0df8af16d1eea5a7d6a758505b724b34695c2e570f2ea5a632271f2b12fe725340bdf445974a262ffb076e4e4a75f4b2f0e0346b97dffc5c69c30757293c943ef83d550a37d71bd45a48de53d630f2e49b5f33c71f8b47bcef5f27e4fbab1478ab52e8390761c42b113cc602b23bfcf4c09a13af14b95a244704b97489a394242bd74001f71849802509feba6dd640cdc2b908c155fd99325379b4bff56732f27aae81e1f7cfa608c16d26baea6a5a49903da89f5d15db2a76c60d081d58fa0c83812d5083642a4826fd3f79811276644f25224d8103c9da548906825354efc01189b7b225a758ee21458498914b808371b4644cb6b8931296d8cf012c183147c4cdb2056cece4c0b10acc8a16518590b7dfd3f5a878ba2153802c6b4c3795253a53ec88a2af6c31654b8fd1c32d59bd485df5cbd411958c24dbe7bd8b8b877a0a9e817922fdc1897dbc7ab45ffdcc429561abdd53f5fc2e4b6043224ebec52c3d2e7827135d955f91f05b908d37b7cf37f926be3233fe4e58eb26beea1ec6d5a9985c6c10f4f2d314ae73aa002e9ccaca16e42d816a4431093e9eda6caca0ccbd344ad295dc2434361497e2165dc6c1912ccd35759daf92014c8e502d84fa083ac1cda2e86a35789450b78365a935b304c2c08b78c541d5680865d17c4d2de550229b8e0b08865ab2a34eca2c0e2c6a923536a8164b7554d3d57209df3dd85e23556b3a74290539855e7ba84b6b99ce88816e37a6b9d24ce0916527ca6e0e6d264bd9861ecdf556118b55535a4cc1daa4dd46c6817ff5c37db0f424da3e57b2fc1095254e187c1e72c8fb31c053ddb7a82e0e1196ace9fe3dd5ebdd6d1b4bdd44828bdf85dc31ab0703eb6f5982f3661a9ee636d48c7c9d5a61901c39c84e3492d808857c66ec938e9d3c525d2baca116105a27d702b09a8ae7aac769bb17c95c2e45b99941382dbadd635191b1a50f9415894158ad1ec93734ebf3d59faa6aee288b23a5aa0c4bcd2c5e37e0312d952f88de531ca9458461f2ba25ed547d0c59a47ad19046bb5ab688e5204e0804b68cfd15a5046aa5423fe8d8a0058ba5caaf88ed8f005eee961b4601d314cbcff7f423361980307641da2c923455b82131dfd20656378e0526a8399b24f1216fb906c5f4924a12fbcd692f1e2b922af41f1c3ce36b062be3d0c9588e020cf8026121a17b165c433225e40caa35500a4c4865a8f8249f2a92232d7f05f5299e7bc16b337bd3f2dd2c97a058e29eca126327b20c57af8229ab551b50e06a89139ecae2f93096ee5b603f4306e6807163f96deaa2bc8269aa41fbb0669450a01252af4b60140a9eb0f887c5c7c60835e76b512abfea057791758638591f308550b2b65dd3f11a8592fa7dbdf6e248ff27b37fad0751822e7d203c465612296f5f733d86d04a3e5ed7a6d7a8ad915a126dd782fb153c2162f17aff67c64fa1e44d32a3f40b994a39275eba28d79789b85ba9ca68134335ebceaeb3d2b50cd4ec75e4110e14a5f576bc6ed063282dbb7771d15ac5e3082e361b0642fe56cba92cb3a83cd7998ee3f53b81c39be37d22c2c2c72594822c71e24590f55949872d1637a49a44af916bc7b83b425519b08825632018a94fcefd3bf04ceb46d1c96cff2ca9ec5fe30f1e9a9a34faacfeecc0754de43582953a0687b40ccea9e19a4265c6f79be5a6a3a6b0fbf77d48482fa1869fd2ad55493e30922d48c7aa9cf1828a97e9af28252aa832432d4613bd325a5a2570c1df319422692c621922c533449c3a459cb81d8f545cb3fe14ae74ae0df3c6b7d9be514181899f2c3b352a663df17bdb0215fcca4625bc1606890ae145d802c9a47362e4b2948291aa98d291caf6b8ce7efbd9d2f09d8661dab5cdb86121505785598a64a403a18a57ffd16d5e765b5f88af0b8829f8c98919946bebf9a14b555046cba08b71a15c634f2928e2a689253c5dd89b38e7946d9c8bd899f33dc17e4f1e3fe51d5b1cc1ab09cb872179201f5765db514692be0d93e7c6313c4063702eea8f311c23797686a3fd27b187b81e69a816c136e4f5d9d57a78f2f60644ed9312c47c0bb530dc0a25b13d75f5647dbde03b7cb9e00bedf238eb4ebd5d2e1e391997cbd327cfbe798af8c70df6fcf64acb84aba10a3ff5e2d7edbca4f64cdefdb1279fabf9596036ab6de8ee2e31e310f6623ff96c7eaaddad4471df103db437abe9e163d83e7f7c7bc2dd26ac437e6b063ee1729cb0bce7e19a6ff3b0935ada473c5ce563863d3ee2e1f631c36eb7a2b63fdc6f456d1f76ff18828d8f1af6ada8ed0f8f5b51db873d3f8660f363863d6f456d7bb8e58fd8922d7f04c11a7dccb0e9238441a38fd8928d3f8660e56386cd1f210c5af905d47e27ce8f737c538b84695865a79518593400de8158de5b5682c8c7d4c362af3880c259e4304e285b573df5530f0fb8155b5e2dbec3eed380c3e2ad675fbc7cbc3e7bfdc3834bbd6d5e9c593c1d71ac5b6c125568a1a04ed5ab483d9062c1154e03e594e6abb0ac72c111dfa6dddcf9a1bf30f509af0998f876572bc4ca3767e856c180a7a29533557c130e2bc645858f9791ae8f842a87ce7202b3875bca0a002df8e39a8786dc19623f5ef012d40f468be09a726f1eb34185b847769ba172052073ad79cba10768842060531eb6a9c441aa31723567681d6eeb2349dff5e77e506e48b9ebdc1064ccb1f09b2a16fa42a15fb47a3f54c779a4adc46265129ce84ba16325b8bef1934ce17b7a70d947aa866f258d0cdaca6fb11a11f53c464983b76116553b3acced1e230bf63c32855a1d762e49f52745c39691e1314fb8513dc3329c246478c4b76ff782d56452dc9231aa0790e1b83d642b03ddd2362da4bce5436c09195b4019b167b7dc11e68e0873fb53e22e59099e92114cea59e6a45bef1e9e6e70cd8e4d3a995430d39f3ccb1359161eb0453c225a8cb7444fc8409a88951fe2bfc7b19987b25e2b89bd41d676f8451a006f548076a72b3cf851875bf79c00cf5b85973f6f7e69681389b4c5a5375c398bf6185819aa14b628790b0e74b2ff8afdaa67b180d8f0df013963eea4adbe2015de6e0ec763914532688f3e1e535dd98f466535f28be3030c1fb3de2feeeaa7688a6300d7c333139cb696db83300106886a2dfcf727a95b274a6026997bb782e308e118b270cceadab1c68d04804cd86641ae3465539e2733ac4eb96adc6d3439090121e0b87a30c1ffbde50c1182fa793f3a921f344b38fef6ceb247c6a42d07c3a321b491c9c2255bd064bac6c271d455a967403bf52d7b64383a84f87df1dc941a8f01b9874a43e48002896ebbb6ff3a6d7ffc6999d1e0caa933f1c143167cc2e4cd55fa3861737656e9276cde9c65aea76c1b3b1567731477faefd49db1f73d79fc3790968cd53d9089cf768dd9c7c6f46fc991beb1fd293318bb070bf3bccdeed5b7e3588f49a99bbc18b1bccdec5ecfec392c668594edf38810794d61a8b619e2baa6b2abc4a1e77868447e8f1c2abb99eb59137bcc53f581ac967e860043377c13440d2682052d8d5003a11c5680b2b55afe0c0255d103b3b1986c773016f2a273849450728f0014024878580d322b156e660a1603392d0815954812694b3cead898e201b67a2d96fbb3b3449d5a6035d4578b095bccb4a2e095535bb71f1e006a21035269ab6ffb025955ac8ed2726cd6e28ce7a62de23e865304e9a34304338fe031cf6196af8130b0c5e5d82c5d64434741d8ba02a7a8acbb755b215e4bd4a1752f79c53e89cdb813da915644042165d9c36908ceab3488823fe09c62c5ad5d976035394c41409369203886f5d40632badb447555d12701de7042caf748839b97a00bea9d2bc25cc5923b62b71097efb415822a14577628904d7db5f02b329e8201bb2add0cba4ed7ca8f25c52cf3dd1810a46c6fd85c92eabac5cf05a803d3b49ca34491e1c61a400e2020c009168084f02a961e263558a89a8ae7a317147ba30018cfad11201091bba52e4412032bb18497b6010b89e14d30b8863675c226b43a629c5be091c4bd910c6d1dc480ff44f726f605c996ff0641bf5657cb645f2cc04a81295310bb230b2b237fcd227f641b93900562c1dbb187e5c54bc1c5f58fe530d1c35eb13056ee270824d61e4e96fa97b1086a57591af497a7f1fada12407595c563d73dd800eb34232298dd76d1f032766c2b2be8b7d147ab399f911dd4c450a32c47171926c5405518675272e8b18a743dc490c11a6db5a0710f16096d61c62d59062ad2d45ce847cad9e112722b9871d6a001d9f54875f56d8fd4552c75c3e04e106b4501602a0f3b23942abaf77b81252ba267ff23d17e11b19be5c4b08b0120b08d606926dd4fff96f260d9082530a0a8c8ad6ed9c4a8a53a98e93282e1534f24c014307931680f334caaa76fc14c729f03721e0305377775f9105d66a4792a19a609b011871f0c802c52b6640731c9ad6b13c84a400c2c5a0f1b961e0be1ee542760e018d529d2bae5ec54186a0dcab979ce890954cbe6a951764b004695b29319b130ca2defc67d0d03b3cfe6d311cfb0edf8ae0abf6a9901c80e30540b53786be4702c5cb38236da2aef8d73233240516a2fa64e2d47d8b2e8807112b29925ae3625f8c47f097f948ab27fdd142e6500e3a2ec482a3ecb8ae81372216670109fba56cf10a66630dd8190a3412e465aa8b6e5b09f238aced5d23bcd6cedd8d11ca6eed16699bd6c0e18834082355fede069ba2c3b6acf495a9b95fe109945d16c15574ffba890600c241aa59c1ca96bfc69291b3a77c79768c09a01e761b31bba844a158c07c972dda5256f1920dc2c838242a98e610588126c2b1ed841c584790654a31f7d375f1cf084f09768893102a9667076d34090a6ed11867466202de9e4d6b6953aa4061044b687b77c2d8928a28a767631a445f0a831638bae11d873562be0408094d2772bc4322da160b7446dd722782147cb4dd13366736c7b689f0adc0d03026a2b2ae3abe14f217f2bb29da1c666736fc7cfed735cc754fb7959570780273cff49e2564ee6ca4005d31ac9b724769c4145c2be9f5e19e65526e6ec3079c72eef0cb30f7688e7f58923520a3c232e01d90d1f896650f21a69ab1e81cc401dca06eb2791bcb8c49c2f1b4cd2d8ab5eec3ef291762ba9b8be81de59f5a02a38ab00ed723d06299ba31512f491493a1841f8bb183a260cc1860c15604cb4069b8a517e7f24ea2d3d9d77eddbe2897492464853252f06da2ca07a5b70a7bb1fa65ad3b50386c5cf999674b969c3726b9fe69d8d554f993c879f325bb353a6dd618b829e05316bb735379f876915007fb86135cf8598a0218859a711d3eeb0c5a3cf83980d293e9d37d16bc52b65af8b399b3d54e187685312add610449019ce663bab603b13877b25835439f135d613f712fe7f262385cba74d2bbf6dee5fb781f2f90cb354023e4a36a768738886091f49b1a8e4b98cb463a4303c77605f83888c94771efde4b2a94836d9d4a60bfa22ec81abd9ce0312b16471dc1e2b8850731b18cf4089ed916fa990ee1cba11f85236ceed3c86d306a1b4a62363fe3cf853c6087554c39fb5e24ea0c2b2b97f917bde572a8e8a4f1dec6b4eab787bb0cc3bdf6632520db51ba6bc01881a9a2a908b01ab7a1e23ad79a2594c5b6345798c75e43297f730a4ef6ad8e3704bc13d4ee6e53d1313a1d4e253c0f8dddb85536e77cf4bb7a2019a96e731d05de97ca4b2107cc203b1392f2bea51cd07547bb8b3c3dc606225b87005ae7db3d33b8ed42db0956e9dc9cac8a87009b6b5794f39da40eeb173adc078c3592927500ad5a0a4c384eb03809400d11de731b182b208a6e926fe0080e606c5d7ad1d0bced806421aa695fca0a0d4dabe9cc7442413da5a11f06103e5c0c38a5e457054e1550ca574070297c06878733e9ba704d601aed5db0d585719ec28fd3893610e00abf66a81816e38b6c1ea027b7097b449d8e6413684a3cf64f802dd55ab753ce8ee3eaea1e0bf67c30d65e4405d5071392ccce4d9141641ad5ee68a6a0f2febc5bfce63f86a3208a257b26e5c6c6e750ee6a0bca5ed7bf703059e7cb54a634378630418f87c4443ed56512830c3c8e30edd50c2e1473e13e150e17037416ce7dcadc4b78433b2b4ea003d293b35eb09e6dff889b4e0bff3301925995ccd9b8976598816aad5dac399685e1e680ea707058f2c0f3bee2095e75c283911f5accd738ab6e4cae2b18733d93e6ced39ad97c006c8615d72d97bf09cc9488ba573f03c71b41707fa3b12f4d37b5f98cdfbc23cdcfbc2deb657ef9cc718c9bdd75cbcbd70a1ee632c3f55dd50ad599c4cef368dd424f893cfc5086833719026c9fb699982453282f7b53a132ba0a1fbabd49e8a9db2c7067f01ac002be53c17b5a0eb2e0186ec6a9156a40a20b14310517e176af113a959b1324d649a0dc311410b040beb9f892cab1dbd13304c4b891deef81e1e7b3e177aa297010b599e2f1c0b563f546e8444f94483b4766266026ea905b215f69ecf49b01658fed2d056c9b29aab53b3eb71e53c8659d81a78795fd1ee0950d54edcba93ce659cc69c96e56760421b969fc4b361cf82c41fb5a98be7916fdd1c2d13fa6cd853182825c2a9ae561f52bd118632e799a408189441114ad3f35cd8f25c8261c5b5f330b1ac20556dade24138299e20a077ce8294dc9be70201a1d98a42d146a8c0f03f139b8e07524fc5f2388b953219b696f5fd3e1779c403febc821295bd90a4fad9f44ca2c3dc37dbbf796123f7cdf66f7226631cf9ed310e3ab731f6b18d716e63ccdb18cfc57a33a7531335dbadc66903b43b1f4959fb7442f6eca954fb627b5edaa71fe3d8177b6c639cdb629f8957ac6571c8a9b26e5949e4e988c0873b97610e87706a3ecc7a8aa21ece269f42e969c05da79041732b0f3c9f14aa86b499daac4ef1b8f0c5eb20cfc431d6b86cf9a76c7ba8713db394c956ac5d5f8571c97bab77b811c2993026a3ab327a0a9e380fac6d7c897c1eabcd65cf36aeae1e256fab7d2ef69a20c1a85507677564f6b2378738939dc365beb57358e8cc764e6146cf3b83199fc1fadc3a887da019e84c768f77926c76e8a9ae20556272a0f358efb2ed9db6ed9db2ad773b97bd23841e8743c93880a0c0e4f03b3cc299d81a95045d430b6a3107d61a30c7bade259e89bb0dc899d62e72dd6036d80120249ec9fe06ae282a860c34deaa3336bcf2e3c6b90619f9ab363afb3918cabf67c3b51d1ff4d86dad58b9b8d552d20d60f59f6050d10635a30fea97ca923b19145a2ed3d87aaaf0eeaa27ef91c8b06b643f15b06774006cdbbd3e8c8c0442f700de30628095e2adcc67f01613860bef85acb1591dde49dd6f75e81aab09ae0efd72f47a5b9f976a45ecd1c7147d4c8655660d7a82a769a254fa972abb3ba1ac4335ef50a6a8cc169423ce4fd186504abf369e20c1fb127caaf138c2f4de973092437e58eaf32759b57e6d44c147144f47f48b2c923b715e5372f7753dbaaf737297472bf336a6f19d0c6c1e075653df863693bc3db44fae31a54f43ad460ebad9c23d0db472e0a9e735ebfa015c9d1e0093c364187e825afa950db8c3212bc0a7c31056cec498e60ecca05150a26e260b0d203d601e2d967558ae801570c0c35303104ac49070806a12d10f4225bba5af8b7d59bc7adece102648a878d57311c77204d636b573f1c7f0a870c4e91c7b6a685c81d311da5e9466384c30a7546d6d39fa8131db33890d9509379d65faa462c84ad626a37afb8dd5baf264acef006044303c847a3e7b1098e682be3bd635039c350dad021050a897aa08794d6bbd32ad668a93ac15e042649e496b948b6d7c26f363a9413a5b7f1e548758b5116afc0d95aa58ce79031a1059b4b4443a9f446361ef2a50572207712b193d5328941cf996c7b4bb465eb56dcdb9be01c448368812ee91d190c83e0fb122869ee810d9a17fca9f89fb2132e4b7a08601686368c883cd72bc7a95038a1decc320222cd659f52933621956d48664198afb7c3d1b1f254e06f763fe74b1f632f0610af2a23aba1f422ad78af4780a83cd2c3ea2788a7749aeb7757cdef90a14ccaacb9b421b90a9b5130a15a07b86f903542dfbf8b2ccdba75cfe5a88b234fa3b88b2a59c0997df01bef0cb17871f3e19adb7761af72e2e2823a121d3e257bd2d13a86683d35c28034f043d312ece8349fe41c091e139b061663f1d6cf7d41ae7db6374dce938598d170fdbd21e8498fb9693db874afecf049b268bdc8e4407116b06d7dec4d1121f8a1a466fe254e910bb956e4e0376dbaf0e6c8d3ee50020c7a72ca91c28a3472819ae2e7963c4fde24d19c0a73a10f059dfb4d40faab8ca9bc8edc0b17e29949ff6240742ca523f14b54fdfcc432ca1bf613a48e86f0aebdb91d498d3fc73ab1f27acee8cb027c2aa3564d6e79e68697d0621ef0916a4eefd783e3907209fa48c96da215b3dbe41fd4eaf139c9645864e75584fc322d48f37b7f219fc1ae1954eb4ed360fa7d91d955df54cf65ae71284da1b16afb468def00f107b1bc470f14e9a05487ce54b9972768cdda58532c7a29fd6baaf0b8aa48be0baebb55aa1274af86cc6de5109555b92a5f71ea4b17d8ef21126c3dd32f3064425c3b3a7fa064475ca0d9f768cb5fb18ab971bd99db31aa3f04647cff0ea1b688ecc33c9946b3d6fd6a19f20ecce598d71ba7015d9b27c269dd918770520a3bcad00ce658cad79b6944c5febdecb36c63351520d27ed5a86376f46adcdb0061dfe797687c25a4b12a05dcad2d07db535514b8b3b7aff64bfea797ea442fa3546cf1dd8fc32132d5c9167d36baa4bc93d35243adcda56bc73674db5d6493555745acea102551ba8c1db95da3772883c1162fd38e3e5d7a077c925f4aa868a08fa3ce3ba010bfe3c39a4cc9a4ae8d4535f8a489aa17349732979831aa7331c75958291ce3416c1a1a197bc94397527524b63399dd799786b303c13d218a3a76acd9c5c99f473f1d880a43ed2e266a2de9377c7791b8eb833d0bd53d35ba572683274bf09a51e5a563ea81d59d9b35de3e34f366203d6edc90d8ac692dcec21ae69435dace3b661bdbb96ca3d238851c41b44b177e411ef745357832591501df4a5eb09dec1cc9bf592d960d0258d55104740bf189cfe11e2f07654dd609aa67e5faceb3d9c027543d91ec0f4afabe5f3a089087e3902046c1e0129cc71c480db44fb243298ff12591cb71cdda0f30a40460332b756022d7680cb3bc8395afd00b45c9f6e28bf24c3e923f45e61c03b02cccf7a41a866a5bddfd00020bbe5c05147d03a926c9f40d8ee1d803468e57824f7e9f5a393eb33e92bd83a107e3aa5be16efd281eefcb6d8e8eab01aa27e31c453fcb1a3210d79d3062b7a23e0ee187e4c067b34f00c72022cc8e4ada32c892b4c5be5553656dc1a7390752699ab35a19c480b10f4f969684755d1838b3278879056707b64a2bb266919c86a6bddb028fadeb21adbe0fd9cfa8bd9d428facb3875ed16486ca1603bceedf34dfe2582c15a767cac6c583b7a250dec7aab67403b935f9c35f96bad240acda9e67fa8cde13843c83ff12c1a245b9ec7e1b1cea9c42a9ccaea08a925508d53478a8fa7d9dbba1d7bf301bfdc6bfd4bd85abd58f266719a12686af8e6bc35b3f1cccc60189f0350a0cd1b29f6d4228341aba3117bf00132050143246a9550f65663fa34798f9824d1760b3ac578c3926aa89c962d4ad6aa4ed6d8ac4991a741aa0868d74a837fe9aa502ad2da5deb828cc98a35f16a601e03bc6e4e53f2c223eb8d4181adc1dfde2b51f6f67f74eccd6929b5d646c65b57146fe4c9d6bac256ca9a3756f76d23e5c6bfde1d776458b7ad95bdb79f60cd66b014b44f90598abcf820c57b89595e1a3081adf1337c23eb7e635a267144e69bf79313743f1c7b53c86cbd2fb79691d5da9978d7c7e648b786796179f8e3d81e7906efbdb27dae8695096bcbb9179f871cb2372b645fbae26d2eebb684de9595d7ad83a2153f5a3729ef9cd23d811b80165e9cdf1d216a2f39be3d604c4e77b95a607151a5243cf62aa0d32a54ef6be9ad3e9b3711457f9fbd5da8352429616f0abaf5a6f5566779af6f3d5663b6635bd0719d36f1f875714d61ddd268df41c506e66dba3f4191436faa516a9d6f623b9614985960bdad8ead84b70c7ad9eeed9d3fb18bfd8e37850b68261c9bf7f6dcf2ec0d1069eb232c9bb8d93a78e2ab16790cd3be76d2c1d6fbe93a4672f14e9d0329df0cbdb20d7bf830e72ed31c376c2b493e6645f1d66dc7811bdbd60382b11f0dca736f5b0a6583ffde5abce7d42bddf919b04e6fec3a5677d67a462ded22bb6e26cb890928de29feedbe425bd7540a5b6110a2be9f804191bbd4b8fd9341ffc11914ad4bb8fdefc6a0adab21589b9c32e88ec9c14756f446cefd846167dcdaaff3de7119b6259813ac72e44f7613a26dfce9a6c58617ff7efef4b6bdd5fb1cf6ad597a89c716c8e5c8a2d85f636b078d63eed6ebdaa01737fe8c4706b54e679eb7e03ddd6d69c917f8ccf9b3751cb100abe24470068d1b83fa6291534ce2c6a1de3b8ebca1e406595eb63671e4d623baaa7f0a1eadb35897f07ff2e83f328fd659bdf1fbdf8747b7d8c1372f9e7ff2ac9d6ca5ca7569a3ee57f0a84c5ada440fde99d35c3ac393d34b9233cc3e6ac3e6d196366768232f9d2642be92c6b9e41fb5e9d8146dcb3f6a1e0ed1cb31d299e4dfb74c69475590b437edcb5b9a6de77a2e9d45a820cb6ff48349b969e0ab5b535674b96d9602086156ed70b9ddb31ebbde71babaa0226f138a46f887ec8dfc77118b9a6986efb2b85bac1cadc8fd349f03a32131ea471c107643dc44f771f34d58958a8b1b6b4047915cba0fb7d7c6e6ed64c827eb90c230cdc44fdfc55b715b7b6eca26bd2558f7e6638f611f9e798e697321d306a2fbe47078f6f2d593e5f5d5e3e7afbe7e71f5ed83cb6f1fbfbe7af6fdbfe6443c16d50493c6b27fe066974475d6a5674a3c6bfd8d410e9446a91be44099ac3c75f5fd834b92542e97ab1ffceaf6af959a2a2fa3d424329abf5366d717d93be9a7de09d6b5ba62eb4443d60f1840b891d8030a540d0e7bf526c94004888c8ef0de58b9c15f54a2d729c69e642dae359b1f80a6a10fd9329a73a87ae35a6baf34d0329ddc274bde4ca0a4f950d0e6cbc03c45e092950ce8e67ddc3fee92e3d694cc328c96a5d06f2e6fded319ff7b47f8a4c6e56eb12a6e5c4499b684323f6eb6b173ca99c7d2b32499a37ceae99626a96dd32d896f9ceeff495bf3a7dfd9e74d2fd5bb35e5c1bcc05f33fbd8e64a757b2f8f7daed0bcfada9ee8e3f8a9a7398a20dda2d7ceefe3a65f39bd02332df98699f24e6196139484f7abeebf07dfef9dc1ac4b425e058e1b2fe06f56eb59d340dc1a870d3b5520720d1dee3045354c6f6143a8c244477d159fe86e6051c01a869dcf2c9e652075441657153d154d38fa4b446b018423071427e99f6af036fbfaa33322a58d537b58e60852f5f7246788e61ef609fd7866842e8805551c71a057a2d16ea8c5038468af8df012758bb80a7aeaa16f480466664455e37e0eb2941294539fd97c49d5a934b68c826dc6c571ba39f49f9f7247f8b8e013483b30d7aada06e69ca473db4dffbb58329fbc992d370a629d7e8ac18e08e804c01156d275a40db4881e9f48c69066ed63676c331554e8abac18865252079a94c45e6e7b76baf3c6c205ee27e6d5c00e58c76b678b1a0b4e256b6c26062321ae0a680b30151a0c024c240dab6214e59640d39b683b52c40cac278c198a87ac951b7a18697a1b4bf17695e741131e2d545d48ec86500a02c1123a08647a28275a5ba0623804141865e0c3b018dacaa67c4690b6617ef46cfa66acd3fba0b3f7069916073993c9d7a9c7605d0d5df8a9fb16f950debd19701e629461eb71db213523418ff2ea6db006ba20a814180005a9ab959cce882c34601000234459a27a16092047a0989b45e0d7e1476d36b8b1a2f4457fd673e9cc4d288468a2ec3290e884aec5608e16c1f88cc852b56433ec37efce4cca326d9d6ec43070473cb3cc90224784a9a2bb11df2f40ae1db7ed7773f75b053de7eb5ca12eb29a4c338c58b275269fdefadd1acee83dd54885ad77ed2db11aef1e274300a932d240ca2d6f96e6b0a143b4b7d540627a30c4100b26b67399c3696d51f449c46d12f13889e8b388368b787d163f75f4c16127fa296bffb0bb85529b8d97ce89a5743f73a90cad1f7fe63abe783b6c9dbc7690c8d2736a94e7273c74d5526e98ea0d87ae4fbe63a543c490dab2bd6f51f83cc32861587ae93c97b1963130d6023bc3071b6db0f1dc062b452d611e23c93a1d698d2d760600bb6a59afd9daecaaf89b2ad7550f009a6d35a82d32a02dea11757534d1546a4011d728d38136abea45fd23027162901100138825072a517ff2a1d8cd81ee6930eb747c144ec67a1ec4f39664aadb570377c271a1a075910e5e4f6c75acc088f28e466a910163c7e836cec5a4862c5093daa0d260536f1dcd6b804d5d5637a9813905933a1c4d6ab7a8ed242501a041d37253cca48e629cb519d4d12dea0840b6ae921f09edb74c1fbc738274ddc666516f0675dc0cea78625047b3a8e36e51c7a3451d37933aee26753c9ad4d16d6a808ca1f4852bcea172efe296059e774d85960568aa03ab0fbb3ab85d1d8e76b59bd56137abc36656bb551dddaa8e9b551dddac0e6656c753b33aba5d1d37bb3aee767574c33a6e86753c33c3ba629dcdb076bb3aec767538dad5665687cdac8e47b33aba5d1dcdae8e47bb3aba611d77c33a9e99615d07a9599d18c09740679bc110fe0009ba6e6675c4c993e0bf81cba5de7601efda11c51315164de5a0ad0cf09675f8aa0d1b7ca67c885dd7a4af641d943994cdd01634036b2a4445edd5e635202a2981604706510de78a15c4946a59f17af4aa2624ac5f33d2cacb3aad72429455e0e865bc25523b44ecb7beda4117720a421a65d9ca2bc22b0dab461886488b534e29b14a6a883d07642b17b87ff45fd6d56120d6ac32aba77630f8c1b6a279a92a0965bdaa4a8d62c5554f7230ec42320f1e63afa2a52ccecf4a3e396220a7160bdc29a467f0ae0683d94a4569826aa86e30b896fae390df38e44cab11840c2dde68d1009ec51c5e9e5884d0b6d51aea0a7483dcedaa86b19d1859fb34941d07a01cd502196bb4a2268edd9a096f7e5352a525488c19c0aee408da6e1521c0c935842b31d83c8c5e2c433c4eb811947322e5357283579363c5e91bf487233383e0c8c65a235be05e6d28207d82dcd1c95d55bb9a3185f6c2142547c2be026175ed504061852fdd0c38e070714df521771da54883f4a9aa902b62edc75df021d180f7644ca431a8dff1fea4a66295465fdb8c1d1aa8b548d4b03d8aae8e5e3f6c9550be9f6a186c7d4e0bae44661a0ff5aaa9a40af6c5c1135edcae57f72e2e1e72613c300312e2fdbb68fda73f701ec2aae6a17c5d01551a8e1553239ac16e1d6f507a404813e99055aa802b36510bd82e64358c96865256490d6125ec1caa5bbd2e37d7cfd90cf719bb4a811237795094d5bdf0a5ab5103390fcba8fa53aada99f5191d4c419f0e4ae56089bef045a9d4817d1587c1cfb1d7f5ba1550f53146e950c1f449f79801fac275a546054ca9aa2ac7ecb21c81cb4c3a3666734995359b5304855bddac320adb340575619b3dc38e871c40a1680df43bf25d2a720e210a2c49d18b29a3e52f4ae203321aa1fd1a248ad80f4e7bf13067a2a0b08fd8e0bf3a5427421e1cd9e48e037516544a75f7ea36f8e05057a72303bd903c09d1e44577ae90a18d5402b24b52b68a6db6cebfcd4c0db8eecc110390b711dd64357432fc5eb776732a46200c5d375514fa4928f8b3174eead1ce4a62b0fc367beb2baed354bbe661cde8918cddadd72570635cef2cfe1182280f99777d726e40d7550e6bae82dc7d0c4f166dddbdcf66c065aa08d301fb787777f7b5f17e7a23b20346bdf7adb80c7e02353b86d51e9fc730b9d13fc2302bcabf7b56a31c6609b0f619e272335755229e891ba214b5546cb8711f6fdcc71baf8df777f7bff9fdbd7308602349a10669c3dcc3e7312680a14a173b5bfdeefeab37dffcfedeff1f0000ffff5fe69651a1010100", - "3643cac7aad7e449dde7f023f89ff862": "1f8b08000000000000ff648ec14ec2401086ef7d8a3ff4a209e9039870a8b2310605d2ad282732b453d8b8ec34bbdb62dfde948428718ef3ff33df97a23c9a808c5d8fc658c699020eecd853e41afb01fbae69c8ca1454d738b267c42363ecf7e40ded2d070cd2c131d748d26b1f5160856a1817e572a2961b8803b5ad351545230e21928f5d8b20e30b7f939dc57f0554e23d57d10e5992a2948bc42fb70b8c85dace36f9ebbb4223fe44717ab1a9c8c152640fcfd11bee476d1360dc3fd2e83ca00bc61d20217be6c8aebf9b2cd476729f256992427dd3a9b5fc90a498e765fe986bb55be75a7fac8af9ecf33a490aadb47e592d775a3d15aabc8ddecaf54eab62a38a3ffb9f000000ffffb53849697f010000", - "37c2dc1a1f60c5e3d5255a61cf48ad1a": "1f8b08000000000000ff2ccdb10dc3201046e13a37c52f2a68f00caed266058c023939e690392ac4ee511257affaf46a887bc84fe4939336223eaa9c0a4b80c9acafbef928c79265eb2985b72c570dddcc18f052b5f9b556bf466529edb167cc69c811a55e22b8b05a8741c025fdfdb7b2e10fbed83a47933e010000fffff34f28648b000000", - "3baa9872a06bb993286ec8aa69b4f41f": "1f8b08000000000000ff5490cf4ec3300c87ef3cc54f968640a2aae04ad20b4fe22d5e172d69a6381b428877476bba35bbe49f3ffbb3639cbf601758d5524edf343c01eddb2e852ebaeefd638e006663b14f192fc7374451e551f4157ec23eb01ef08b4de51a32ea381337bc851e651c2417cc6b774d3f623310720ab2c468cdab82a8635b0c30db73296942f93989a57aa1fb3021a9101c17ee9cd7e8ef520267cf5de0ad044b5f33d796058c9e78aad4c13b2793a592cf42c373f151f4d3f457e0a195beea9b597be72febffe0efd6fb7a5e9065fb0f0000ffff829b6c549e010000", - "42ef67a69104cc24dbb29e2ddffdf564": "1f8b08000000000000ffbc544f6b1b3f10bde7530c22fee14064c32f3db9eb2d213625d006d386dcb5d6d82ba295965939ae2bf4dd8bf68fbd9bbabeb5975d09cd8cde7b9a3789546fb0d6a2aae6ac3cf00f5064fc7f965e0124f95d7720b9325a19e499b6eb57967a3fb1a5ab265fad443df94c765786904cf3bb3aaf5771a3ad709cd43677754d80643407adccebb31d1bdc77859e4481936f58d91dad31849570f9f8e6167c5d66062c730632677849aa107460e1063c8c9a8a000f84c2213ce11e86c856644ba410da9b213439c954aab7f4aafd5d254e641a3bc8cda6fef2dcbe21b5ebcc924442d968e37214f29812375cf7587a0f24cc16e1ba84d91c1a4cf7ce5105bc85138338a80d98183579b04561cdf3a144600e7f38d60b4c5c9e7a1fa36a9d56a25a0bad7e2244d15d9ef6eaa191c7c46edff17779fa9fc9aaf2639714ff28644328b3f2707aa28d25180fc57c11f4202afcaecc56630837a00c9c8d58e91d091d42ff891247ddb2af4e71419e77121597358a571c1f4468b535bc50526a6469e4e3fdf5052e13ef63fda1ba21764b3275327d07a8aff1199d5b2cfdaccb9638469dac31f0c53bb0b5393c0c42568244f1b8086176fe498e441f1710ce194b998d65b7109b6006ec45e13e7a6cf4478028951b2268adf657d0ed051965b627804ba9dc6580ff5c41193b9ad82d30299ce005badc4a3603b6587e593e2f8f076b6b368a8a78724f0807bb836a47f8e9446e8195237bf88d5f3baf4edb539325d3ce5ffd29d77a3a99d6132c4eba5e1f4603f1351a87d48cb4d11c4ab15546384be376a5aca941b457ff0a0000ffffc89382642d060000", - "4334b0f46d779c32dd8a3ee235a4b42e": "1f8b08000000000000ff8c565f6fdb36107ff7a7b8e9c9326c0adbd3e02105b2366d36b88e51b9cd80a26818f16c73a5781c49d9f1027ff7e12829b10da4dd83219a3cfeeeffefe864f54dae11641535d93018e8da918f301c00646b1d37cdbda8a82ed674dfac56d2508176bbcf5e3cedbe2cb0225f6108e605c97a37e92558da492f6b43eb35fa972f1c099d9bd0584fc6a02a02568d473ed63fff6a5fc6e2d36c3000787c04bd02412e0671e99cb8d571b320078703ab787c7c3e794f0a4d587c5b1f0e3f8cc0c4912bb6bf14fc71e4ea5dd6aa42ab6072380cceeefb5054e4c3cbb00f45c01038472c53918d6863dc3b7cd9c323a16c900f06450157f34fa00334011544820d1a0761a763b58180316abb0e702ff9942cec36e811e206f9a674cee84a729530c23d6abb06df58016f70251b13793753b84543ae461b3331d84a9f345e00178d78877198bdbbf97a35ff948d4f65f3242b9d8351e700073c6d2e61c4a9124b2f6d3032924f9e5c3ac71a5b1ba531e0a98918405a05b556cae04e7ae422840e916f850d3546c13d82c295b6a8042c373a3052dc2058f45b840a6d440fb4823d35fecc7931280adefa400d876b7ca46c0c6b4f8d0b63c0580921800d505819e951c1f266019357f0e6e676ce18adde1aa50d5c7e7b6a402a05f2d8f84870279dbb83915c45f4a30e8c232f1922a91b43dcc8d8ae61a78d81f9cd1236728bed81c5dd1126fb8b10649d92ca6efb06d9558f811a5ff506275f03c8003b34a677fa8f08d204eacc4ef07dd83d42b5c1ea1b2ad0360593bc42cfabfd492092f3772547faad3618eed80a09af2f97afaf2797b3598b388640a0639f30697672cf55c7979d91152a3032c45e57ba7362fa986dd7b18d88f3b845db1bcb184f69499165c14860718b9e8ba3924c2562b06a6cc59536cc4fea121e995d56a95e2f2ec06a9376a0dde8eb4dcc7137ecd7372e59d58a015cd9ed945b63dcfd2fdbde2e23799c42dfe962de18f378e885161e6fa5c73085cf5f7adc6eafc76566f041742d39ccc5b5b4caa0ef210e670ae7b2c629645f8f598ef704a7e670f8da5992b5d70ef9207db9fd9a48b58c9a23b5078f4a7bac5210cb72d6c7427c0c384c245f96b361fe7c7b466bf0f84f8321b6c48f117d80e14a9bb4e07edbe7e204e788fbc5a2bf334bff9f814b8c6d3d74e01d054222ca48f06779333f413de24851323f1db57af177209bf5667f774c24e5b75eba0028abcd937e6d414264e66a07ace865a1129fa4697098c5872c17c39123275e93b598e4f25eee03d6b44da62b1de4bde1a6d6e12c323c5e5a7e6cb50ceb34a8c49bdff3bcb79de74e3b76da8befae96c3acc8c6704d357655c2c249c4636cbc65b9c121b16decc83791426a29435281a14a1a8415f7f1982708342ec53f3e9135dc754f0bb1bc1b272eb5aa45e8959c315e13d227e13354453e9556af8b7c0a314375514e8cc2fb3579046d57e4eb64ea143631ba302d9ee7a2d0fc82291455a14888fadf24dab6fab19bc3fca991df3f19f896a5b8d97832a14f3ff22d1b2cc769e722bd3b52f3f3e3caa71597d5b4f520f0ec13a2e8ffe563c8d04e3e9659fe5b02f8e98c514419c90dd177e979cacef2c8ae61de25aaefb6ef849859bb3bedba565ad0b6a23a8df436a6693aac981775004b11ae97cb452920e3884e8b021f64ed0cf2a323838b57ed7e383b389a73cffa156180d1c8521c8d006daae9b29c8994411eb827d31696048a92d10cb6e3d6aea8aeb99c9b902621384f0ffb1fe43ac9fc8f3a79f14159b415f2cc66dfab8e2eeefdfbf638512ddae93c28cbd9872e17d3763cf0a3e90232e74935a97d3a062ecbd9823db946a9d08729d4d27d0e919f045fdacf63f6d7e42df99df40ad564e1295236edd29325fa3f70adfc170000ffff9db270a2f80b0000", - "47cdc99cfd7800b23c57b35568e02598": "1f8b08000000000000ff8453d16e2b35107df7578c6e1e7861775321845454a4d2842b046da240dbdb27e4d893dd21de19637be98da2fc3bb2779b80a04279f0c66766ceccf19919fcda51048aa0a11f5ca22a26dd222cc4ec31ecc82168b610f08f810246f8ee6682e0ea9b7afeb59a4197928fd74d63c5c4da16ac36d237c82d313643c4d00e64315f54d4eb169b425478aaed40ce36ea87cdea1e5ad90ebb9d76d24ce7f5f1588b4fb17ec21049f874021da1a460506af9f0041f57575757f7abc5e3cf4b109eaed69bd5a797d2d875d3f8209f0f752b4e735b4b6895da3c3e40bfb714a0f2d0c4609a379e5befebb5367bdde27adf9e4eea79b5f969f1e3e67fa2d4f1483bb880cf94ba67dc7a6df6509d4e6a06298bfc4ace81d1a643481d02fb1e8863d2ce414ce8bf84811dc6087eac5dff1e85c1749a5b8cea76b1f82750ff17eb8b0e5c2873f84107ae9d983dd465e6fcffcc58552c950fd2068c511d8fe82296cc1cf9f7d6fe15c8b6c45dbed40ceec41fca501f05eec50e0e23f49a6987314575b75abf402b752f763ace5771e8a743cd266d2cfa085bdc49c0f1ad89db624223fe90bfa30cc1204481d4e904af0856f88b048c68210904acacbcb2136db35ffac1746a562abca54c15266da774e23fb523ab13820c01de4aa005a70f188a30ad401ee20d5345e77ad27772edd8345479931219a8049a2d71a3bd57a3d1b5f3c45872b4df83b67654799c7fab63f71e6674653024da91d109a3ba183433a851d6aada05e96fa63d3993439d5fea918df43d722a4a0d5c5e6d4bacc30188e1830f62079348f8431e15afd50cc6adfa6df9f074738173b1ef896d2990cb2781795d7e59674a6034c316212232e48e408614c98eee37c2491363283b7bbb586c6ea66ca5969fd6ab5f96f0d57c3e7fb7e59edaa0731f67af848139dbe33250eefdee7e7151604cc26f2f0f9261fc8ce672f357000000ffffc5fa989b12050000", - "4e577aceb26efd4aa3e9ef3ab5ae5884": "1f8b08000000000000ff9c55df8be336107ef75f311504649a53ee36f4a1ee65e176cb9642f70877d7f6611b0ec5961d114b32929c0b2cf9dfcb48b2e3dcfe80f625966646df37f34933e978b9e78d00c5a5ce32a93a633dd00c80d4ca13fcb6a6095fe3d267218ea20c6b2f952019ae1ae977fd9695462d14b7fb2df7c22d1a2b6b1f7fc977418dd9f675cd5bb318beb6d7110ee02b90f7b31598ce3bb68ef9adf70dccae17fc7bf787d24ba35d74a3133db2061abc7f4bbf5b9b2e8747985dbf98014a601787ab9773ec4cb738fc14fc23f3bda9447b410ca7c8f22485df5001376631cd3fba9ea2e45956f7ba04a9a5a7393c667e0ec25a2856802ab135b74ed0b0fc7477bb5c2e7f9e47d46d2fdbea8b540201f30c30133cf8c30ab46ce1310300a895676b2bb56f3515d662d829034857c03e0b7f8330743084ddefba3678fc2f619d34ba98f0251352ce0301265080c7cd29cf4ea9187c63a118006e1b87c518c73ed8c66500076ec158d948cd5b34c1c3c6792b759301d4c6829ce3213c63b96e444488e5c83ab8562b206fde9064844bb415f0ae13baa203ec23023cbcdd9c02ae7b903fbe2b368cb13c9de6e914fa0ab949d6ad157c1fd6a7249aaca1159a625c8e29bc3b2785f6691239dec2db737eb176585d643a829f0bb80fba059315beb73a5197a84648f01de6e7be495feea00c04aff641c99d00a26463b917a408c8691778ce6f39461ee2fda6c80e5f4ebaf2101e833c777b3207e2c30f777b97e22f147a0fcb5180d634ec8e7bde52a28d07a14ddfecb0a05e09ed1d74dc3951813710b0f38934a1f43059d847f1edd6682f8e3e503c5c6df2a7b4d77035d29683ec217c596c26b8a9c722f2a75e0f90732847d427ed34ad24b553c4ab44cdfbd68f327c1d9b184728fbc398fd9afb1d2569d090fc97e7d09fe77c9675a823a9a4aa91ecd628c57575e64aef7efaea4b55b1cfbe921a426786e5d4617a3f7a4cefa72e4c7070096ba76262044af93f043c8db3e3f2d18573e314abe979a07ee44ab02fd2b782e630bb86c3309adc3f9acce162a2d13ccca6575a258eada13302ebd61cc75bec4c87cfef3e0448a36fcc91867f13b452c2bbae5083cf615bb0c5649fcf41853f11f6ebcd4b937ad4a5a6e48ecb36b643af9105ce5805cc107f32cbe37d6ccd91fdd9d1ff866e7bfd0af4291ba6c3bf010000ffff364833083b080000", - "50d3e266d6148ce655a2a7ff90ce1dd7": "1f8b08000000000000ffbc92414b03311085effb2b1e2b85f552a878743d78d793b7b2946967acc126914cc2e2bf9760060b2a56058f99f95ee6bd4cd66bdd49a0e4e2347581bc60447f8859111f303bde4bd6beeb80777099697b9069ea00c024c7e8477899e2dc0480e32ab85a8c28c5f11d79e1a1e9fb732caefbc6d9d5f78f4ee1b4b9c1d9ca806de4970a68f462dd5ab3fe2e0965e10d651b18e23c1c8f28cffc25f1d320c329de2ffecdfb37fb2a2ae917dbfa34e42da527dc5016b50eb1770123722a62a57d652f57edf8167973ea5ff8e373bc060000fffff48dcecee6020000", - "52cdf751a4adab526c64b817f123a6bf": "1f8b08000000000000ff748dc16ec3201044ef7cc58aa3a5d4698ffe19cb8131465d58044b94cfaf6afb5045f56ddebc817da2b6287922fb658ddbe0bedb64881274137fe398b1339193bcc6706422dd2ada26ec27fabcdf4de11e62de976b7c251c33e4e5c1f01369ed304441d6a4578a63be744ffcabf072dc3de6b2a8a21ee76f146a5cb58dc3300e3bdbdf342b9a7e04b167f5ce6f054b68e7f3d21f1cdd098a547851b43f7f67f19893f8ce68a3353f010000ffff524107ee51010000", - "543c89ec0b890fad904db35b155d0b21": "1f8b08000000000000ff8c535f6bdb30107ff7a7384c5f6dd33e0c26c660a5d9188c6dc42eec2d28f245516de934e99caea4feeec3499ad86dc2f6645bf7bbdf9f3b7983211a72026e92075a460109c0b2336d2d1200809a548361ff0e9081b152a30065826a519942532b9d16d7f9f5cd01b3dd825901fe869c3cc7fceeb67af208a9a7c83a604c21ebfb8b742f28f13e7f97c9d61b87072c00ba8d09e42c3a16c743809f3fcaeacb7c562eeecbd95cc00bc339c4ddad80ed76efeb93f7f9776931ff6c5aecfb0563e463820cd0d5d0f7497241b89a95d5623e2befbf55a58082ad2f06822c60ec5a8efbbec8e8e369746a8daaa18e8f07a173026c539b009987ab3167720261640ab85052ad719cbbc1a738fe1ec09bebcc373adb6193a98e26d0c8a00dafbb65aec8160f91d15a0c85a6eca1736670ef29f03f1b352dbbd54ab654bc7abe69b454434d8fae25594f6947c69db42860de39184cc030c7f1f614592b5d2de079129683f490beb20e1faeb6e331f643b68130a78ee1235ca81ebaf33fb64d61f6eb6b35513a84db19836760c44b3c83ca2966949bf36b13d33d9d6a5ef2facd4ed34253e11b9d8e9877374206362ba978d231509cbb9027448d918d93bcfbe9837cdc4f803af613f33b89a1b43850fc8fcadf000000ffff09da42524d040000", - "567e2638f2c5d15d059defb14e4e463a": "1f8b08000000000000ff7c8ec14ac4301086ef7d8a217441c18d7a2d6d61d9931711ec0b24d9e95a4c9398996835e4dd655d1441e96d0efff77d933344e58e087580a603e90393dc3147826d2955ce308d802f5007b9f7f3ecddf01e1004e3c2e26bd16e3a18e5800bef22aa411d2f44ce7590f76a46f9a0c8283b7d6029e20a72f46fd4c0ed4db9844d7f72a3255ced68efedefcefe09cdb3f6cb7a273973dae1a1815159c2bfbdb3edce85c42baa1fcc1dbebffce7ac5a9d98bd0363155127343bd0ecb6948c412201d15bec04253d4f2cfa47f58aedf519e9abcf000000ffffdcd8bf6980010000", - "5d6f2ea1184b1653049f127764858779": "1f8b08000000000000ff84524d6bdc3010bdeb573c9425b40559ec2d98f4104ad99e9a3d945e832ccfca62b51e23c9db429aff5e243b69c852727ae67dcc789eddd181233d241bfd945b012884112a4177b30f7d8276ac53b47af381ecc0908f8f0d4f393577d3d4ec8d3d1a47fba37b7a92f8033b67a81e524ba8c3f6639d66fb9711ff8b56dfe9d8fb0835619abbe0ad3629514e55720c47196a86f37998bbc6f2493beee6c3c104d66ff03972e21e3dff1a039bbe72f47be298b1bffbf1edb3dc146837bbfb82baf3a3142265e3282d25644a5988a6803a9b985a5cbf3c0be06ca2375d58dcc0eefee1ebf79f2d64f14821aeb0e360468733c5e479841dd85bc24061a2289a399172d5a1fcc9386a71fd8a0aa66e07566da1db957e2fbd553717d16d7323444997d7bdc297c18c8e9019f2f6b6c5a78bddb2687322e481b050d8f1f33502781b5b9656f6754db5d116eb39ff7eb2d2f0fab916f16f000000ffffcf5a70eb87020000", - "5eb380c2ae8ca6e10dffc3b60fd4c68c": "1f8b08000000000000ff74903d6b342114856befafb8afc58b2e83032917b6d866cb14c942cae08ace4a6655f49a0fc2fcf7e038c51248a93ecf390793366f7ab2a80df9180a80bfa5980905304eb6900f1307607cf274ad1765e26d9ce2a53aa7e73836398fef0ffc2fa0544f968304a0af64f1b8963cb74b2c94ab21fc06b65b29d51f61017035183cdb42af778220dc6d83d45936af4f1ed0e68cfb03f69447fbd1a5174fd793ffa49a6d11c794841c70dddb10c17fc7f301b952a3db0c2e2530efd6ec7f070c7e6e8d8cd449939e85cd59025b00982eadfbff5d52e3fa71bffdead050d6f73dd52068405d242cf0130000ffff7b2fce9c7d010000", - "60b5ddeee92d1c5cda67c7a329b10b52": "1f8b08000000000000ff348d310ec2301004ebec2b4ea9628ae40594b4f006c7d8e604b9b30e1b8a287f478250ed6a34d2141fee3e47f2a1b2ca13e0a5a8551ad0f599ebadcd63d065ca3ab794fc43a7ff5a946bb41e0e787923a3c38f8c27c92c11484d02b1701d1cade88c8eb41be7f81ef67b29dfecba396cf8040000ffff2bd288128c000000", - "6573548b2fc0f0f412c4d11f61313305": "1f8b08000000000000ff7c90c14ac4400c86ef798a50f7d0824cef82278fa22ebb4f909da6ddc17666c864441de6dda5587b50f09404fe3fff9744b2af34319255177c02704b0ca2d80262e359fbab6a6c609d26a7d77c31362cfd142e791c690efd561be800f42332966242d4649e696173e214b258aef5a7c3a492ad1640dcacbb082a402928e427c603e1dd3d9a0d0b6b85bec7520e648e942ccdee936bc58147cab3a25be2cc0b7ba5556e60ccde62fbb61afea5e9feac6cedcef510bcf2bb76c82241704516d62c1ead39b11f58daf539e6aca439bd3cdea298b38af353dbecc14f61e0d91c2544965a6f7ec7355df77d36fba156f80a0000ffff7c5baa9c8e010000", - "6791bbd7d67bf8d4c3e88687fb9eac28": "1f8b08000000000000ffb2c930b4abaed6cb4bcc4dd50b482c4e4eccc9ac4aadad55aeaed64b4c2ec9cccf4316b5d1cf30b4e302040000ffff9ca0bf3a33000000", - "699a49e7ff71b8f8ca660965ef51458f": "1f8b08000000000000ffec5a5f73dbb8117fd7a7d8e34c3b644785d29be94b3a79b063fbceade3786c25d7b70e4c2e25d420c000a02d57c3efde5900d4bf9328275192bb8b9f64098bfd87c56f7f4bbae6f91d9f20f0dc09adec6020aa5a1b07e960009094954be853a11b4d9dabfd978970d3e696e5ba1a4df46d53965cea51fcdc2d50eb7a74fff7ddebb391415b6b55a0f142f339d3b5b3eca8aed91b5da0b4577793b64d06d960301ac1782a2c944222080b135468b8c3026e1fe138286470ee4097251a0b1c6eb9153958679adc3506a1d486b4f0a2106a32042c84136a025c1550a0c4f0056a3e4106e7253ceac640455e90b94a1ba4ddb9ae6a8933d086044021167e0ddc942b70538c66058955a81ca71c2f659d262d641b5c170ef3d19d6929f50339a178451f524f48915deac20284ea827d499b7c965ec28d5093467203699742bfc0ae8caed1b46d46b227c730e6b7125fc2956c0c979bc27e51fc0fa3f8355add987c8bf825af9075cb51fa8abbe95272b426faeefa224abd17f80063ac6ac91d52c4059a955d2eaed8f5fd6794a320e4dd1b8572d8e14ef717658ecec374df4b6dfc0fdb53148e7ae01e6bdcab39d4d47c00102b79213468bd6b17c23a98a0b3c0a5dc30f893d14dddb62c9673a3fc2df435c6ebda978877b3e66e4aba7e3a1dc3967c0e6827a4f7fb9ccdbc3369be70f5b5560e672e0334461ba028c80a3a6ff5e41872ad1406a74aa32bff731e360d00dc6c08fa0e5ebe829cbde7b2c13471b32463e95f6a5d93f2b8371b0088127ed077de048041d7180565e5d829592ed3446970862bcba335dda822a18d2d21d17adade73f39a5b0c65d0b6e4c09ffd9159b635bf73afc357e644282a3783b691ce32b8e286571612baea89bfff498de63fe12b456ab4241ca06d422b16f49c60c91be9e09e82b6c00d060daffeb6a1e3d58f2f12daf3817c7433d639706674154ca7398b7f6459f4f21a9d11788fbb0b66791827c721b7680c99f8c08ea44c7bb395fdc30bfff00a9490ebe781c674098fbf2c3099fdc295b3693275954c86100aaeb7907c284745110bd8c74db74eaf1611580dc241ce15dc223436a01a0974f79f795539bb419726cb834886f0a1cba6363e730ba9def093617f3165ab09c9d93552f429353f76e3b86becdb7f0dc1b09fc76f2ed2640f360955e08cd5b2b153e61397f982ceba64fed7fa409e94cc4d8f7e7cf182fcf8e7cddbcb3de7bd6e73f6f4f3db61f2df6f2e9e66f13a144f9a67110a6fa6fa2140219d70c11df740acd52e20ee034652d861e32e601ccde7c93c69dbb5157fddce4fda8fc14df2fcf7889b7405a5d439611e578055ed1e77e47a17ca129f90d887b29d8605cc8e359442157d1d369c9ce1153a34b0fd7ce8b80912d81ac4b9193b13aad85e829db34388b0ba448375dd49d6838379c8eeeaadbfd4ee8c523ba44dd92151b20fb4ba70768156b71ef1ef30a865a7fae15b81d622a0af065a9b16d7416b3ea7ca5b4e2247f617bc85bfb62da1cf253e80f15602a095da541ed072833c8e100a1f7661db728ce9e57d3bb14de1c3d301ec12f7e0d713cb701f02642bd7e233eb50e16619b6741ea80a7f0094bed79468a4318e86bc5d50a3232aefa3d9a4d167fceaedcd67f2ece0d8de8ef10db0f99880b95f594c18653dd4348691d3aee170ce8ef7c2f0d3b8e66fb675bee75214743c4bbad279b448ce00e01e8db1c395fed4ed3b52452c843de8bdc8eb9e4c893218633f737ba41ed36c5df2b3fa908ff80dbf0bd1fa150bfc9e0bc96f2582505614b88cbde3e7716f848fb02d190637635b8a430d39067cc223c1a7ebbda609dc94872a682c1a9a0996bb736d0ce66155a8ba716cddee21ba672f6ebd53b5d1395a4bc938554eb8c7cf003232f6691df5539cf4ed361cc8a6e98f68ac9f6299baee86e195fe7ad851f3bca4ea30e8a771a5bb0ab6e880836d72f20e2a72718291789d496ea769c68e8a224da2483284311b132c488fe043e82f2ee69b3d16acdb9fc5721a8dfca300838508a51b5095d8957fb0b8c95682d86a526f10df52484348b6f5ff3fddef2b6c767e7238eeb6e25800b5e26b53b9ed1e7c0966775a08b7a0763c3ca25db0bb5d44e3d7f482547d04a1eb1f5647e4c5d3190885f03cb13e8915fd3667cbc374b64391712abe7d6cfc5dedc9523ee56a823d843c12807e42bef678e7eadd977dbc133c7fbe2ebfe3ebb27db4d91c02bfda4cd33713c46a7b9e097e35137894f93e86822d80fa3c15fc71a682c6dff1ef6a2a086ce21b0d04c1f827ce02fe8dae75463f86fffee8232f2b6f5e77d217cf5d5608ffc9e9c5e9f8f48b3298e8ff3385797e47b5418cd6bceacae4000ce76b00744950fc25e0b90879d80ed0d71be0ec5fe31f049d9367e05d05deff070000ffffe23875a37d280000", - "6d370f84065919e03dd2bd3d253bad56": "1f8b08000000000000ff2cc74d0a84300c06d0f5e41421ab7163cf9496fea16d827ebdbf20ae1ecf351d5a336b42b77913f5e17681ffc4cc2c332334c0e52dfda476b415f76423548bab143d2d7c0a6df4040000ffff73c1922350000000", - "709335c479cc2996cc506ec82da2424b": "1f8b08000000000000ff010000ffff0000000000000000", - "7246b36750fc4704d53f0fe7dc0f9a92": "1f8b08000000000000ff1cccc14a03311080e173e729869c1229e95df0608bb8a0e2610b1e65c8ced66036b366260711dfbd74af3f1fff4ae99b2e8c942c4b5580bcacd20c5d653b7c99ad0e60ee35a127c5bbc74d8d3d1b073cb3dae7200b0f54a7c2cd07fc835d63c5fb07248dc3f9edd5bb830bf199cd07801d697cfae954fc6d1c4723ebfafeb2c7c61a4f3271d8c849aa51aeea6ff928d36f1cade57af1618fee834b9285d1048f7d9ea9880bf00fd7000000ffffecd480c3c7000000", - "72d19d26d8f2fe5da0c98e7273b5c28a": "1f8b08000000000000ffb491c16ae3301086ef7e8a61c0e080edc0664fc6f1b224bb90438ba169ef634b8945248d91959420f4eec581b6a487de7a9ac37cccfc1f7f2dd4057a4dd3b4c6f15afc06d315bfb04900ea61f5be1085b25a5959749afb1336ff84f21042c9a39fca07165297ade351ba18ebe5b06a927a29d4a549923a5dc3819df9cf2ebbe75fc86d68924fca1eb58c318740bd576cab8fbb8f64e457ac253f64e11e69c991d96d63ace0db17e56e0b719183917e605101b6cf7b8c0b0890de74d3358ce4bc229d6108e581b598859673fe72f046e3e293d4ca9ef69cfd74d6702ba002ecbc85cedbe2959c55f68839a0204f45cff6a09cc10af0af9370e5334c6727ff600e1d8b6b05b821db4b3d8ba64d52a710e7f9160000ffff43242cc0f6010000", - "765269a6919d64f4181ba2d9c7592a90": "1f8b08000000000000ff348eb1aac2401045fbfd8afb428ae415fb010f5e6123d80451fb306cc6b098ec86cca671987f978876977b8a73160a0f1a19144acc499c53c54a6964d484bf7ff80f8099bb6f29a021c1efe17d5eb758b8c58da5f4aab5cf4b11dfd1ccfec292b735b0d977f5aaa8c99f49024df1c9306b5aa80348fc91e2d4545d2e38cdcbc433a7c2c34fd53adb73380dbbfd150000ffff01382a01aa000000", - "7fcc70e2c7483a7326a24bd1cdc4af08": "1f8b08000000000000ff24ccb1aec2300c05d0bd5f71d5b73c8612b1a18c4830b232a2d2baa9456223c711e2ef11b01f9d3f9cd450d4082c8b5a199d55a08256591278b71754a288d5fd516308897d6db7eda425084ff72aaf992c241d3eb41bc073c493f2a485aec9889c257580db28357ff788fef20370c5a12dcb9815ffc7f3a6efde010000fffff7ca089490000000", - "813f5480d7e19daf02c182e36fa8863c": "1f8b08000000000000ff5492416be3301085effa156fdbc326c5c8f72e3da4878585a52ce450f6e6893cb645648d90e4a6a1e4bf2f92b3b4b9198fdeccbcf95e2073a4913193f54ad93948ccd828e0cec978a7cac7c707b4849cf42e04bd33d98a4f7f8e232e973bb555aa6dab1836214f8c942966eb4704b13e639088b32c11cfcb3090135008ce1a2a5d74d1fe9505863c0666872132837c0fea7b64419e6c4257da7798394fd2373013f9918bf4345186cde8855303ce46ebda72e71c4e0c4ac77529ca0d2823c9cceb564d5909331d1969898c2c4566c839741482de737ce3cdb66bb078c729d5e7bdf8ef1927f2b96c566d566745fac5549d079b341eb76a58bca9d7d96cf1a150dee1f109b41eb11c74b355801dc031d6cae7f41ff5dfb72778ebaa187032ea9f94c96d38c622bca88b52ed83bac78b644ea0832c793d981ea553eafe1efbfd6fec9750c02af5ca886c649ed9f7088e4c2155f97cb570e0c916080851decf0dd262265052bb40666248c4cb68fd7b25e53857dc79e219bdd40c949113d3db19ce0ea5aaae31d098720ee9b16d4739ac81d0565af66d2f26b5755c5dfa7f5a9e17eb7aa55e27f6e8ae0a1ccacfaeb08d8b2f308cccc13a5e8d1caca7786ebe66a772a8ce4ed6391cb8c4a12c3a71a128c30a6d556afc2afcc0ef814de65ed55a6d7d4de26db7cf24dcdc7049c577197213a96b8cb5520fadfa170000ffff71ae9b187d030000", - "81cb1587fe133299c9c3ce339d832518": "1f8b08000000000000ff4c8e414ac5401044d7f6298aac1290c91d74f3c185e03f41ff4927199c991e3a3d228877974016ae8a2a8ac76b1c3f791370f4a4f5204aa5a9394602862a3eefee6da0b36dc9f7fe0851cbbce9a3af2b679daf1c68229a67dcb4c88deb92c5900e301659b967c77e8dae38c4be04bd9d7fc6ae45d07893406baff13f618cb8f0e155abcbb74f103335fcd0938977ab88e143ea22369e9ee1eeecfd787f7b8685bb5baadb38dc2467c56a5af072c94e13fdd25f000000ffff16411447fa000000", - "856a80f6bafc680de7d735663c530c12": "1f8b08000000000000ff4ccbb10ac2400c80e1d97b8a583af41cee01040717c14504dd255ca31cdca562d2c5907717ede2f6f3c16f062fe407418f59cbc4b0dd415a52dcc37de60c030a6cf63fbbcc4529c295446f667d626c94ce28196b7993fb1797fb5f8708165628e980a50edd695238b667a546ac34aebb183c98118feee1130000ffff2bf5ff9191000000", - "8904c5384fa8668d6a79e32e48c53111": "1f8b08000000000000ffecbd6d8f1cc7912efa79f82beace7e590399c98cc8c837c3f48145c9f6023cf72cb05e5ddc4f06b74489bcdb228921454bfaf517f14454750f3994a8e1c86c9f630356176bbaba3223232322e3e589dffd8fefbf3d2c6f9e5cbd7af6e2f9834b4af97279f27c7df1d5b3e7df3cb8fceef5d7715cfe8fdfdffbddff15e3f2a727cf9f5c3d7efde2eab7cb1fbe7af15f4f967f3b1cbe7bf51ab716a694530ecb7f7cf9a7e58bef5fbeb87abdfcfbe1bb6fe2bf3d5f126e7e69eff8edd252cecb67df3d3b7cb5e4df2c4b8cfaf39fffaf877ff97ffffd8be5d59b6f967fffcfcf1efddbc3e532debfffff9487f7ef7ffe97cff10b94e8fefd2ffeefcbe5f2e9ebd72f7f7bfffedffef6b7f4b7925e5c7d73ff4f578f5f3e7db6bebaff1f5ffee9be7ef1f3bf7c7effd59b6f88d257afbfbafcfdbddfe92f9fcc932e97675f3db8fcecbbafbf7e7c78f1d7efeb1ffffaa7172f9f3eb9ba5cbefff6f0fcd5831b5ec23967fd51ffca6fbf3f3c7bfedf377d91e69cf7f1d7cbe5fb0797f9e5f797f72e961fec6a79f3ecc9df3e7ba1f797bccc8cff2bd51fffd7e149fcafc7eb7f7f73f5e2bbe75f3db87cfee46fcbb5ef7cffede1b7af5e3e5e9f3cb87c79f5e4d593ab374f746adffcfedec5ef5e3e7efd74f9fad9e1f0e0f2f98be74f2e9757afaf5efcf7930797ffc24493ea7623feedd957af9f3eb8a4b6df393c7bfe647dfcf2c125de7bedf6fff7e2d9f3b7ef7ffbecf593abc3b36f9fbd7e7049f972f9eac1e5bd8b8bff496d240934c6da66ec1ca8d53423514f25702fa9d8f5c3562971e839f53098024b4e822b9199c643bd6a75a612ec8b836710217c7bdebbb878c88553c1edc6a9e2bb6c97f88143cc89435e634e142951d04fd65bb1245e23a51eb9a7164b92586be25813c5c169e8233d12a516f5ff5cf020c522a9dfbbb8d03f732ca9c59c5aec8963d639e5d4d7ac132da904e23422e9a4f4e525d535871c721c3d75ff7895f52b55bfc291ea23e2ae447b3a93e8d06be49c585fa7cfd95b7aec69c6a62f0a19ffae4ae9d4624b823770121db37e869a26ee29f138b550f4bf071d3b4dffba4d44ffdcf5d3df1674c2ba2c2591fec9be1ab827b18fb6e2517c4fdfa66bcaab5243a92c51dfae33c0bcf19d8155183eda9186be8a31291dacbe4a473182a4b1e654424915eb37a20e9d729a4a76fb59c12b9b7ff2460c257adf2f9ee654fe0c56fcf1f2beee0be5e2c7577fba7afcd5b327cf5f63d3ffc7977ffab7cfff4a7fbd5cbef1dbfff9fcd9eb570f2ebf7bf5e4ea3f747ffdafe7fff9eac9e5f23d3db89429a9895c2e3fd083cb2a39b5dacae5f23d9ffe891f5cf69c6aa172f9fb7b1717bf7bf5fac5cb6579f1f5d7af9ebc7e709975ebfc7078f2e052efc7f5c5e1c5d56fffe573ea0f6bc320df7920491ef3e6a7f2c8f5b31b9fa21b1ff88cbf685ffcc16871ff3a31de121bdf5d1dfef55f36dafc06fb1a9bba041a1d9b9ad208d45a246a49b0a9c5ae8f9bbaee9bba1c37f59a95dd4bd48d2b2391f272e804ce3b44aa9466e8caff4df98138954734f426979cf8d13e085fd2972f0e3f7cf3e2b90ffb5ffef0c74ea55c2e2f5f3c7baeabd89ba8f490b934a92a1b724fb2d4ae7c53674fbcd43e12872a6369ac5ba99691ead2cad8af479e7e3db66ba154977b171723d7d443ad2df5a5cf9128d43ef57a8cd0724bbc74fd77689c535d7ae734432b92da72f141c36fa0928c5416154fa1144e75a9a2bb8570b7250a85ca5287ee84ac2f6fa2f7b24eaeebf04aae49963e702969e8c0bb4e8f5b4bb4d825eb4cbb8a4fa6aa93d63dc779a4b90c7d92b3a4b2cc1138531a0b652c49563a509e69069a4a5993607db125a3d1535d3863fff696445fcdd49575babe8565e8d77a496de1aa0ba1d7b4701bf8ced0eb5ef15365e101969839c9c243e9c1194f4e888bacb4e1a1220a9cb6f0245dac4636679e3d51682a6c17ee84eba9636e59af2be6c2e012a5e6a22a8a4313251265d1a5c3b313927576ac689aa1d6ae64645dfd5297a6e4aa042eaaa9059923b1bebf15d54bbd276535957375a6fa1e46e89f95cf59aef3f1084df0ab52f43aeb00949347a853c7c853c06a92faf5794063b6417abfe277664fdb1a756e200ef754436f9cfac24d257a1f25d5a55053119cf58152671a61704eb494a1ea58794254d486c13dcd45ca4ca4fa78912a50e57391a15c3fb8a5b12859200b74e349d1fb5413e900aa3263185997bc4edd897d369d2d29b9fbc0cc791b9872b9da05bd299bb7a65baf5749b4b4a933ec8595fd5507874e75e945d43e98398da5575299a02cb653ff28f9f63da8224fb7ce0cad97340fb1aa2ea4340e9cf186540fac6bdd0ea21f94cad3515239508dc574684b3dce5443e976a11a8f420e8d5458ea1cf7ab436f6a38ccc46f22cd43644923724be51065268e2dcd4727a3f9f1dd717ff6707ed11edab86b515ee342fa3ca9de95549e4612fd37d7d4637baab64c3bc4a202ad3d8d95f45f0c8191caaaef1e816a1a5174ab488b552da75e4c7147ddb80c5b43d7416a64e5a636cdae2a814ce3b34afb1194054a4f7c502b2a70a203bea41357f9cf9cc6a1c008a8a91d5ab7ab7aa8d574793d88287d929a7d072e6a9c49ea87d6d47ca1540f45ad0e4c905a2a5138f53791f8906145c83ad56aa846893860a2084cbca1d69e32995a7945a7d1a2c0b6503ad59ee6bbb46e7ff8bc7f518dd63c27e803aad14c2336d588983fc94c2d0c5d40bd948374d842f254482d3cb595cada7b12908af20ca3e0fb41bfaf8ba7dc3f92403b327e78ea42917d3fc953651f02c3347d693f28152434dc1cca067aafe8dcb2b2310fd8a5a93d526dc24166769e509bf0d1c9746e60b23fb6cff90f6c1317557041ca487d153556cd4a93585355ce51d394d68a498afe45774fd3bfa89d27abf285ee24e51ffd2495079c9ab21726a37f0b2a774999465f53549eeaafdb5c2516650f49758d2a9a945b6960044de75974282bb6206c509512532d793d87502a7a8428b34316ebe82567e85b7dddc9ec6ea203fee7741013ec92ca2a30be39546cd9118a32ad1e0b708ca87124561358cf033acab92a3b068e2aa71acce68989e9c8a4e43483f4aae3534b04d72d9cbcefe74646b01f549cafaa03d4245312e650c10d6dc5512cb1ae41d4f7e0c453d25c752f32560c6b596d852af6dfaae7a58089e8c6f6e38eb27fb53d8a93911e27aa4e7eac19363e36a8b1bc9ebc6ce84f0e87672f5f3d595e5f3d7efeeaeb1757df3eb8fcf6f1ebab67dfff6b4ec463519e9d3496fd436f4a4d35cb5846a9494aa1df5cbe3dfbf57b35c97b1a97cbfac383cb32492faf70f772b9fa019f3a00359d6f3586d839e5cc63e95992cc516e1e446992da368892f86e07d1d31cc5ecd95e3bbf6708256f74603ddbda105477db2070f50e1f756eb38e4dc489eed9ae7c14ab2d9f8a90ae4bdf54deb06e2e3000c5b9f1f84c12672c387f632bda2e54e1deedefd088d891ca416ab7eaaf06ce2627c63aa1246660bdad3bbf98ecb093abddcafb9951796be23e43a628b7d36aa2555f82932743ca90f3b1deebd10e93aad22ab481ee423bbceae932aac4aafa3b105838ef12045ec16070e0c4b91ffb60469c63ed67e034504182c3ea0ccdd527e11cdca31d73f5a45ed748f6749250ec341eaa523c43e2956813ab7a96d6a71ef26c81bb8a2c9e1557339c2cd5cfd8085c7194a1b1aa71112452379f05e368a7477c8874d61556f2135c225827b50fd49e523b081aa60635d887096fc29fa632432052598367d7ea16012437848b1a48b20e9fac1e9294bd42818722bbab420eee6c394415e9c36d9aa29c34d4a0e82a3eff8cf9fc7879efe2e2ed697f900f4ceed805564829d39aa89057abb729e734651de535d8905cb0a1365b6906eea60729f0486d9d60385ddad8942caad628a7baaa0a87e280882d38039aeebbc158b9b6e86aa106ae53175d42562d39c388259b229dbe27d80cb70e3d1e8a1de0121f8619a9f5d1fe433f7e900483cc8a26b4b6ffda3d1d38892c3da74679de2cc260cf7e9408738b9839d10adb0976287c62902aba99d706cf12991684b5c0f068a950e81015caef4aa8000b621abf43bb11dc52fa408f33a8d0834501c3bf2bf128520d3460a0817b0b2e093f0f438f60aa1fa03d39f5472763feb9556da14ad3d5c38c942174797bb65d4581724eb482f758d7146ec91a601f16350470b2527e13d8fdca753d1b29860b6963453267224cd4a47bb7d89e6e7086ce6096649295cdb690a087d6088710a920192b8c9f66f4afba8b0503512634f9a1d28fa71d305a6c50084a1c50c74e280433174ec30328cc6adbc23eee4a5736ff044ce50981aa4f408ce93d1c76533db841d60f3066ccce7e245542cb662aeb146c7554d1c841d9a2c6a9bf36201cf56755b4f32196a1a3c4407403412f1e224c42d8e513ebaa7bc797eb67247483d30167e615225a79ce5c9b6113d2b2ba8c0e9b8cd645d6adccab8be868225aa289e8eafa07323a988c8ebb8c8e2ea4e326a4a30969d5a32ea7e326a7e3514ec35bdd533b0c18bea4a7bad8931c7485479a8792f425ca4a8f4ea6f5cefc3f89a8aee07913d52ea9c32ea9c351529ba00e9ba08e47411d5d524793d4f128a9a38beab88beaf881a2ba9a376e4c089f8915c3efaaf15dd8fc066d85675db5ad0711b08b225570bb4ee1d1c90fddc070324be3133b4f25800a499ba19a20f8193d43c1972a7c88ddce34b0fb5453d83952cd311c17da8a63605122aa39d6cca0ab387041fae26cc415b6d108a586ac473bd58419fc22cadf7a402a6a01821795e445c9c6784b24ddc5c6b370fa9b2c87042f70f9c2098017ea8e257821f4740e55574aace27c1bca5a084195aa3fa007b081788aca41e5e982bd6fa456918425ac01dbbd92f977e4a09235bb5da9328ab15daa0a4018434a41610bc860157b80bc28aa52d6683e80a20489b6793ca0644e146c3d4214041ef34d2ee377328e5c6ab38a79323c5682af91ee4b446eb0954311634bc6299986bb9ab0626a466f3195d861663668a67d66165d9a6e89a9ecf4331e8c6509d95c007d972766a1739c300895732265b89758d92bd666ee88199b0a7bc92038c7fd8530f4a34c7d56854e85656e14af38c4ea8aeb54a3e4487a8a8820acaeddaa36baeaae6a4a78eaa8d46e81187cc8bde3c00f653470b88673fd6423dcb065da1795b62d23f05af1187031cde81ab75b540bcebf5457e85378323a2219b0f27425e000d063b7ae8d4af7083f2c4d0f33aa98d0430ee68fc3471de6a90169a7528e7028283950d1159c0fc56e22d028d8173a3e0a2763bdd1e95c3fab9fd53f1e9dce0ca7692d736151215095ce0b4b4d23d49a93de1f887e0cbb6a053efd0eaf7bd7ef16c1f5d0ef16d6e770ffdec505179563b50e7d047ed45a259585558e855a8b3ec22db9aa7c8f9ffced213786cb5ff4698fe7484e7d69b0736bd181347bb3706a4b1335722ac205ad4c7d5b2da92c4d256da8d59dd34d8fd01ee7d16bc65c6569100436277d5d0bb5cdc44bc34ef3fba4df10b8b22b8205157fd7c9e7f74c6bd303dbb44a472862e8fb4b535e6eb32e4594bbbbf9e6b9208e56970269d94957a540d57635e2179e3abd4e88afcc167aaebe1216379833c9c2b3223ea05f41b464e89a94dc4243c0a650c3a9a6a6b614d0baf5acf74bc635be236d8f3758c8a08d9aca4dbef66bfaeed7d3c2eeb07eaf223ea876a5035c877aced4c36f6c7a41309be8d1c9e06e0e3cbecd8816ced015e345d75c0982d0a3e84e6c5389560b488c604cc5d1afe796ca52595747f9484f00baaa8c27e1385139817889f266e8d497da085715f1c0866b4a6d5156ec58665c8786409432a54542e803f7d4754e5065a253290b2290a14d4eb49462315f7d6f4110482750970297b532ddbcc698f72e2edecf9b826113227bba55dbd4a9f16cd803a7619b9f09feb2ee8fd6556a2965058c5b1765c7e3753686d74d3f95d394f93f2c28d77044ac3c122dadb16a7a8f0a9e5c5b3c728e6580512b22c10381297db25c0b2f7770815e37133be47f7a5fc0f88f7ffcbcfde1445034c1ea668b556378ca70cbc826701021ab704411ddb8277fda02ff7883fb7f76e4e7d43adfc476cc6e611c1f29321c60e4091df0347a3e096d4e3fd86cf085f91d813080f3ef90f73c98cddd4cf815f23c180fb4d8335bb24b868980ffc23a235868fe9a68593d96e2939116334256dbc5fcda3eece1c39cab3dc3e631779f24d9c9d662201ccca46b9e6103171fc14a820711ffcd9eba93032c3cfdef2758ab8ab029b77faed5d9af55eb0db6889cae5580211d1807355f1578ef33bca6dbdacd6861d219b6542a318736d609546b27f96204cab66da994cad1a83e7e72a9a279b16bb4b5b5b38daf55f15f29c7d502ab0dbc89fd40e30f4cf8f3695baa785cab6abe10a48f350f09280f29cf114ea367b05475ea61a9cefccfa5fa5597cafd457cd7d9ad057ec6d1cded4596d596f73c50cbd02c27199ac53334cb498666fd800ccd7d793c42522c59d333347799f493199a6c39ac01a19d3d43933d4393dfcad064cfd0947733349b6768f60fccd0849b169fbca7ab22c23cf78b1bb26f1e7efe793e5a0abb9de08a475c82b7931dc1ae78ea89e219ae11c6cd8ac736c991ba6cdae744f7b0eb1e3e61c37715cfb4d8dca9da09bbda014ddf553c3a4cdb77bbee99a7ba67533c2e0dccabfe96e269c1b26e6fd8227fee8d6ff0595ca36b955da7ff93ae1f4cd72a3f43d7d6dbae7f7da36f6f3b358ac8a5fa29ad874bf5f193527d27ac8bf5b98b75b2f57a3f51fd89ea9fd7e439ed5ae15d79be53f51d91be9135be6528057a4b9e77c8f37e23515bbf294c7d4ad43acbae29ff49d40f226a9d3725069d12f557d760f72e2ede2e33f85535981bec3729b15f5783ddbbb878b453f3180bbf7afcd5b3c7871b2a0df8af16d1eea5a7d6a758505b724b34695c2e570f2ea5a632271f2b12fe725340bdf445974a262ffb076e4e4a75f4b2f0e0346b97dffc5c69c30757293c943ef83d550a37d71bd45a48de53d630f2e49b5f33c71f8b47bcef5f27e4fbab1478ab52e8390761c42b113cc602b23bfcf4c09a13af14b95a244704b97489a394242bd74001f71849802509feba6dd640cdc2b908c155fd99325379b4bff56732f27aae81e1f7cfa608c16d26baea6a5a49903da89f5d15db2a76c60d081d58fa0c83812d5083642a4826fd3f79811276644f25224d8103c9da548906825354efc01189b7b225a758ee21458498914b808371b4644cb6b8931296d8cf012c183147c4cdb2056cece4c0b10acc8a16518590b7dfd3f5a878ba2153802c6b4c3795253a53ec88a2af6c31654b8fd1c32d59bd485df5cbd411958c24dbe7bd8b8b877a0a9e817922fdc1897dbc7ab45ffdcc429561abdd53f5fc2e4b6043224ebec52c3d2e7827135d955f91f05b908d37b7cf37f926be3233fe4e58eb26beea1ec6d5a9985c6c10f4f2d314ae73aa002e9ccaca16e42d816a4431093e9eda6caca0ccbd344ad295dc2434361497e2165dc6c1912ccd35759daf92014c8e502d84fa083ac1cda2e86a35789450b78365a935b304c2c08b78c541d5680865d17c4d2de550229b8e0b08865ab2a34eca2c0e2c6a923536a8164b7554d3d57209df3dd85e23556b3a74290539855e7ba84b6b99ce88816e37a6b9d24ce0916527ca6e0e6d264bd9861ecdf556118b55535a4cc1daa4dd46c6817ff5c37db0f424da3e57b2fc1095254e187c1e72c8fb31c053ddb7a82e0e1196ace9fe3dd5ebdd6d1b4bdd44828bdf85dc31ab0703eb6f5982f3661a9ee636d48c7c9d5a61901c39c84e3492d808857c66ec938e9d3c525d2baca116105a27d702b09a8ae7aac769bb17c95c2e45b99941382dbadd635191b1a50f9415894158ad1ec93734ebf3d59faa6aee288b23a5aa0c4bcd2c5e37e0312d952f88de531ca9458461f2ba25ed547d0c59a47ad19046bb5ab688e5204e0804b68cfd15a5046aa5423fe8d8a0058ba5caaf88ed8f005eee961b4601d314cbcff7f423361980307641da2c923455b82131dfd20656378e0526a8399b24f1216fb906c5f4924a12fbcd692f1e2b922af41f1c3ce36b062be3d0c9588e020cf8026121a17b165c433225e40caa35500a4c4865a8f8249f2a92232d7f05f5299e7bc16b337bd3f2dd2c97a058e29eca126327b20c57af8229ab551b50e06a89139ecae2f93096ee5b603f4306e6807163f96deaa2bc8269aa41fbb0669450a01252af4b60140a9eb0f887c5c7c60835e76b512abfea057791758638591f308550b2b65dd3f11a8592fa7dbdf6e248ff27b37fad0751822e7d203c465612296f5f733d86d04a3e5ed7a6d7a8ad915a126dd782fb153c2162f17aff67c64fa1e44d32a3f40b994a39275eba28d79789b85ba9ca68134335ebceaeb3d2b50cd4ec75e4110e14a5f576bc6ed063282dbb7771d15ac5e3082e361b0642fe56cba92cb3a83cd7998ee3f53b81c39be37d22c2c2c72594822c71e24590f55949872d1637a49a44af916bc7b83b425519b08825632018a94fcefd3bf04ceb46d1c96cff2ca9ec5fe30f1e9a9a34faacfeecc0754de43582953a0687b40ccea9e19a4265c6f79be5a6a3a6b0fbf77d48482fa1869fd2ad55493e30922d48c7aa9cf1828a97e9af28252aa832432d4613bd325a5a2570c1df319422692c621922c533449c3a459cb81d8f545cb3fe14ae74ae0df3c6b7d9be514181899f2c3b352a663df17bdb0215fcca4625bc1606890ae145d802c9a47362e4b2948291aa98d291caf6b8ce7efbd9d2f09d8661dab5cdb86121505785598a64a403a18a57ffd16d5e765b5f88af0b8829f8c98919946bebf9a14b555046cba08b71a15c634f2928e2a689253c5dd89b38e7946d9c8bd899f33dc17e4f1e3fe51d5b1cc1ab09cb872179201f5765db514692be0d93e7c6313c4063702eea8f311c23797686a3fd27b187b81e69a816c136e4f5d9d57a78f2f60644ed9312c47c0bb530dc0a25b13d75f5647dbde03b7cb9e00bedf238eb4ebd5d2e1e391997cbd327cfbe798af8c70df6fcf64acb84aba10a3ff5e2d7edbca4f64cdefdb1279fabf9596036ab6de8ee2e31e310f6623ff96c7eaaddad4471df103db437abe9e163d83e7f7c7bc2dd26ac437e6b063ee1729cb0bce7e19a6ff3b0935ada473c5ce563863d3ee2e1f631c36eb7a2b63fdc6f456d1f76ff18828d8f1af6ada8ed0f8f5b51db873d3f8660f363863d6f456d7bb8e58fd8922d7f04c11a7dccb0e9238441a38fd8928d3f8660e56386cd1f210c5af905d47e27ce8f737c538b84695865a79518593400de8158de5b5682c8c7d4c362af3880c259e4304e285b573df5530f0fb8155b5e2dbec3eed380c3e2ad675fbc7cbc3e7bfdc3834bbd6d5e9c593c1d71ac5b6c125568a1a04ed5ab483d9062c1154e03e594e6abb0ac72c111dfa6dddcf9a1bf30f509af0998f876572bc4ca3767e856c180a7a29533557c130e2bc645858f9791ae8f842a87ce7202b3875bca0a002df8e39a8786dc19623f5ef012d40f468be09a726f1eb34185b847769ba172052073ad79cba10768842060531eb6a9c441aa31723567681d6eeb2349dff5e77e506e48b9ebdc1064ccb1f09b2a16fa42a15fb47a3f54c779a4adc46265129ce84ba16325b8bef1934ce17b7a70d947aa866f258d0cdaca6fb11a11f53c464983b76116553b3acced1e230bf63c32855a1d762e49f52745c39691e1314fb8513dc3329c246478c4b76ff782d56452dc9231aa0790e1b83d642b03ddd2362da4bce5436c09195b4019b167b7dc11e68e0873fb53e22e59099e92114cea59e6a45bef1e9e6e70cd8e4d3a995430d39f3ccb1359161eb0453c225a8cb7444fc8409a88951fe2bfc7b19987b25e2b89bd41d676f8451a006f548076a72b3cf851875bf79c00cf5b85973f6f7e69681389b4c5a5375c398bf6185819aa14b628790b0e74b2ff8afdaa67b180d8f0df013963eea4adbe2015de6e0ec763914532688f3e1e535dd98f466535f28be3030c1fb3de2feeeaa7688a6300d7c333139cb696db83300106886a2dfcf727a95b274a6026997bb782e308e118b270cceadab1c68d04804cd86641ae3465539e2733ac4eb96adc6d3439090121e0b87a30c1ffbde50c1182fa793f3a921f344b38fef6ceb247c6a42d07c3a321b491c9c2255bd064bac6c271d455a967403bf52d7b64383a84f87df1dc941a8f01b9874a43e48002896ebbb6ff3a6d7ffc6999d1e0caa933f1c143167cc2e4cd55fa3861737656e9276cde9c65aea76c1b3b1567731477faefd49db1f73d79fc3790968cd53d9089cf768dd9c7c6f46fc991beb1fd293318bb070bf3bccdeed5b7e3588f49a99bbc18b1bccdec5ecfec392c668594edf38810794d61a8b619e2baa6b2abc4a1e77868447e8f1c2abb99eb59137bcc53f581ac967e860043377c13440d2682052d8d5003a11c5680b2b55afe0c0255d103b3b1986c773016f2a273849450728f0014024878580d322b156e660a1603392d0815954812694b3cead898e201b67a2d96fbb3b3449d5a6035d4578b095bccb4a2e095535bb71f1e006a21035269ab6ffb025955ac8ed2726cd6e28ce7a62de23e865304e9a34304338fe031cf6196af8130b0c5e5d82c5d64434741d8ba02a7a8acbb755b215e4bd4a1752f79c53e89cdb813da915644042165d9c36908ceab3488823fe09c62c5ad5d976035394c41409369203886f5d40632badb447555d12701de7042caf748839b97a00bea9d2bc25cc5923b62b71097efb415822a14577628904d7db5f02b329e8201bb2add0cba4ed7ca8f25c52cf3dd1810a46c6fd85c92eabac5cf05a803d3b49ca34491e1c61a400e2020c009168084f02a961e263558a89a8ae7a317147ba30018cfad11201091bba52e4412032bb18497b6010b89e14d30b8863675c226b43a629c5be091c4bd910c6d1dc480ff44f726f605c996ff0641bf5657cb645f2cc04a81295310bb230b2b237fcd227f641b93900562c1dbb187e5c54bc1c5f58fe530d1c35eb13056ee270824d61e4e96fa97b1086a57591af497a7f1fada12407595c563d73dd800eb34232298dd76d1f032766c2b2be8b7d147ab399f911dd4c450a32c47171926c5405518675272e8b18a743dc490c11a6db5a0710f16096d61c62d59062ad2d45ce847cad9e112722b9871d6a001d9f54875f56d8fd4552c75c3e04e106b4501602a0f3b23942abaf77b81252ba267ff23d17e11b19be5c4b08b0120b08d606926dd4fff96f260d9082530a0a8c8ad6ed9c4a8a53a98e93282e1534f24c014307931680f334caaa76fc14c729f03721e0305377775f9105d66a4792a19a609b011871f0c802c52b6640731c9ad6b13c84a400c2c5a0f1b961e0be1ee542760e018d529d2bae5ec54186a0dcab979ce890954cbe6a951764b004695b29319b130ca2defc67d0d03b3cfe6d311cfb0edf8ae0abf6a9901c80e30540b53786be4702c5cb38236da2aef8d73233240516a2fa64e2d47d8b2e8807112b29925ae3625f8c47f097f948ab27fdd142e6500e3a2ec482a3ecb8ae81372216670109fba56cf10a66630dd8190a3412e465aa8b6e5b09f238aced5d23bcd6cedd8d11ca6eed16699bd6c0e18834082355fede069ba2c3b6acf495a9b95fe109945d16c15574ffba890600c241aa59c1ca96bfc69291b3a77c79768c09a01e761b31bba844a158c07c972dda5256f1920dc2c838242a98e610588126c2b1ed841c584790654a31f7d375f1cf084f09768893102a9667076d34090a6ed11867466202de9e4d6b6953aa4061044b687b77c2d8928a28a767631a445f0a831638bae11d873562be0408094d2772bc4322da160b7446dd722782147cb4dd13366736c7b689f0adc0d03026a2b2ae3abe14f217f2bb29da1c666736fc7cfed735cc754fb7959570780273cff49e2564ee6ca4005d31ac9b724769c4145c2be9f5e19e65526e6ec3079c72eef0cb30f7688e7f58923520a3c232e01d90d1f896650f21a69ab1e81cc401dca06eb2791bcb8c49c2f1b4cd2d8ab5eec3ef291762ba9b8be81de59f5a02a38ab00ed723d06299ba31512f491493a1841f8bb183a260cc1860c15604cb4069b8a517e7f24ea2d3d9d77eddbe2897492464853252f06da2ca07a5b70a7bb1fa65ad3b50386c5cf999674b969c3726b9fe69d8d554f993c879f325bb353a6dd618b829e05316bb735379f876915007fb86135cf8598a0218859a711d3eeb0c5a3cf83980d293e9d37d16bc52b65af8b399b3d54e187685312add610449019ce663bab603b13877b25835439f135d613f712fe7f262385cba74d2bbf6dee5fb781f2f90cb354023e4a36a768738886091f49b1a8e4b98cb463a4303c77605f83888c94771efde4b2a94836d9d4a60bfa22ec81abd9ce0312b16471dc1e2b8850731b18cf4089ed916fa990ee1cba11f85236ceed3c86d306a1b4a62363fe3cf853c6087554c39fb5e24ea0c2b2b97f917bde572a8e8a4f1dec6b4eab787bb0cc3bdf6632520db51ba6bc01881a9a2a908b01ab7a1e23ad79a2594c5b6345798c75e43297f730a4ef6ad8e3704bc13d4ee6e53d1313a1d4e253c0f8dddb85536e77cf4bb7a2019a96e731d05de97ca4b2107cc203b1392f2bea51cd07547bb8b3c3dc606225b87005ae7db3d33b8ed42db0956e9dc9cac8a87009b6b5794f39da40eeb173adc078c3592927500ad5a0a4c384eb03809400d11de731b182b208a6e926fe0080e606c5d7ad1d0bced806421aa695fca0a0d4dabe9cc7442413da5a11f06103e5c0c38a5e457054e1550ca574070297c06878733e9ba704d601aed5db0d585719ec28fd3893610e00abf66a81816e38b6c1ea027b7097b449d8e6413684a3cf64f802dd55ab753ce8ee3eaea1e0bf67c30d65e4405d5071392ccce4d9141641ad5ee68a6a0f2febc5bfce63f86a3208a257b26e5c6c6e750ee6a0bca5ed7bf703059e7cb54a634378630418f87c4443ed56512830c3c8e30edd50c2e1473e13e150e17037416ce7dcadc4b78433b2b4ea003d293b35eb09e6dff889b4e0bff3301925995ccd9b8976598816aad5dac399685e1e680ea707058f2c0f3bee2095e75c283911f5accd738ab6e4cae2b18733d93e6ced39ad97c006c8615d72d97bf09cc9488ba573f03c71b41707fa3b12f4d37b5f98cdfbc23cdcfbc2deb657ef9cc718c9bdd75cbcbd70a1ee632c3f55dd50ad599c4cef368dd424f893cfc5086833719026c9fb699982453282f7b53a132ba0a1fbabd49e8a9db2c7067f01ac002be53c17b5a0eb2e0186ec6a9156a40a20b14310517e176af113a959b1324d649a0dc311410b040beb9f892cab1dbd13304c4b891deef81e1e7b3e177aa297010b599e2f1c0b563f546e8444f94483b4766266026ea905b215f69ecf49b01658fed2d056c9b29aab53b3eb71e53c8659d81a78795fd1ee0950d54edcba93ce659cc69c96e56760421b969fc4b361cf82c41fb5a98be7916fdd1c2d13fa6cd853182825c2a9ae561f52bd118632e799a408189441114ad3f35cd8f25c8261c5b5f330b1ac20556dade24138299e20a077ce8294dc9be70201a1d98a42d146a8c0f03f139b8e07524fc5f2388b953219b696f5fd3e1779c403febc821295bd90a4fad9f44ca2c3dc37dbbf796123f7cdf66f7226631cf9ed310e3ab731f6b18d716e63ccdb18cfc57a33a7531335dbadc66903b43b1f4959fb7442f6eca954fb627b5edaa71fe3d8177b6c639cdb629f8957ac6571c8a9b26e5949e4e988c0873b97610e87706a3ecc7a8aa21ece269f42e969c05da79041732b0f3c9f14aa86b499daac4ef1b8f0c5eb20cfc431d6b86cf9a76c7ba8713db394c956ac5d5f8571c97bab77b811c2993026a3ab327a0a9e380fac6d7c897c1eabcd65cf36aeae1e256fab7d2ef69a20c1a85507677564f6b2378738939dc365beb57358e8cc764e6146cf3b83199fc1fadc3a887da019e84c768f77926c76e8a9ae20556272a0f358efb2ed9db6ed9db2ad773b97bd23841e8743c93880a0c0e4f03b3cc299d81a95045d430b6a3107d61a30c7bade259e89bb0dc899d62e72dd6036d80120249ec9fe06ae282a860c34deaa3336bcf2e3c6b90619f9ab363afb3918cabf67c3b51d1ff4d86dad58b9b8d552d20d60f59f6050d10635a30fea97ca923b19145a2ed3d87aaaf0eeaa27ef91c8b06b643f15b06774006cdbbd3e8c8c0442f700de30628095e2adcc67f01613860bef85acb1591dde49dd6f75e81aab09ae0efd72f47a5b9f976a45ecd1c7147d4c8655660d7a82a769a254fa972abb3ba1ac4335ef50a6a8cc169423ce4fd186504abf369e20c1fb127caaf138c2f4de973092437e58eaf32759b57e6d44c147144f47f48b2c923b715e5372f7753dbaaf737297472bf336a6f19d0c6c1e075653df863693bc3db44fae31a54f43ad460ebad9c23d0db472e0a9e735ebfa015c9d1e0093c364187e825afa950db8c3212bc0a7c31056cec498e60ecca05150a26e260b0d203d601e2d967558ae801570c0c35303104ac49070806a12d10f4225bba5af8b7d59bc7adece102648a878d57311c77204d636b573f1c7f0a870c4e91c7b6a685c81d311da5e9466384c30a7546d6d39fa8131db33890d9509379d65faa462c84ad626a37afb8dd5baf264acef006044303c847a3e7b1098e682be3bd635039c350dad021050a897aa08794d6bbd32ad668a93ac15e042649e496b948b6d7c26f363a9413a5b7f1e548758b5116afc0d95aa58ce79031a1059b4b4443a9f446361ef2a50572207712b193d5328941cf996c7b4bb465eb56dcdb9be01c448368812ee91d190c83e0fb122869ee810d9a17fca9f89fb2132e4b7a08601686368c883cd72bc7a95038a1decc320222cd659f52933621956d48664198afb7c3d1b1f254e06f763fe74b1f632f0610af2a23aba1f422ad78af4780a83cd2c3ea2788a7749aeb7757cdef90a14ccaacb9b421b90a9b5130a15a07b86f903542dfbf8b2ccdba75cfe5a88b234fa3b88b2a59c0997df01bef0cb17871f3e19adb7761af72e2e2823a121d3e257bd2d13a86683d35c28034f043d312ece8349fe41c091e139b061663f1d6cf7d41ae7db6374dce938598d170fdbd21e8498fb9693db874afecf049b268bdc8e4407116b06d7dec4d1121f8a1a466fe254e910bb956e4e0376dbaf0e6c8d3ee50020c7a72ca91c28a3472819ae2e7963c4fde24d19c0a73a10f059dfb4d40faab8ca9bc8edc0b17e29949ff6240742ca523f14b54fdfcc432ca1bf613a48e86f0aebdb91d498d3fc73ab1f27acee8cb027c2aa3564d6e79e68697d0621ef0916a4eefd783e3907209fa48c96da215b3dbe41fd4eaf139c9645864e75584fc322d48f37b7f219fc1ae1954eb4ed360fa7d91d955df54cf65ae71284da1b16afb468def00f107b1bc470f14e9a05487ce54b9972768cdda58532c7a29fd6baaf0b8aa48be0baebb55aa1274af86cc6de5109555b92a5f71ea4b17d8ef21126c3dd32f3064425c3b3a7fa064475ca0d9f768cb5fb18ab971bd99db31aa3f04647cff0ea1b688ecc33c9946b3d6fd6a19f20ecce598d71ba7015d9b27c269dd918770520a3bcad00ce658cad79b6944c5febdecb36c63351520d27ed5a86376f46adcdb0061dfe797687c25a4b12a05dcad2d07db535514b8b3b7aff64bfea797ea442fa3546cf1dd8fc32132d5c9167d36baa4bc93d35243adcda56bc73674db5d6493555745acea102551ba8c1db95da3772883c1162fd38e3e5d7a077c925f4aa868a08fa3ce3ba010bfe3c39a4cc9a4ae8d4535f8a489aa17349732979831aa7331c75958291ce3416c1a1a197bc94397527524b63399dd799786b303c13d218a3a76acd9c5c99f473f1d880a43ed2e266a2de9377c7791b8eb833d0bd53d35ba572683274bf09a51e5a563ea81d59d9b35de3e34f366203d6edc90d8ac692dcec21ae69435dace3b661bdbb96ca3d238851c41b44b177e411ef745357832591501df4a5eb09dec1cc9bf592d960d0258d55104740bf189cfe11e2f07654dd609aa67e5faceb3d9c027543d91ec0f4afabe5f3a089087e3902046c1e0129cc71c480db44fb243298ff12591cb71cdda0f30a40460332b756022d7680cb3bc8395afd00b45c9f6e28bf24c3e923f45e61c03b02cccf7a41a866a5bddfd00020bbe5c05147d03a926c9f40d8ee1d803468e57824f7e9f5a393eb33e92bd83a107e3aa5be16efd281eefcb6d8e8eab01aa27e31c453fcb1a3210d79d3062b7a23e0ee187e4c067b34f00c72022cc8e4ada32c892b4c5be5553656dc1a7390752699ab35a19c480b10f4f969684755d1838b3278879056707b64a2bb266919c86a6bddb028fadeb21adbe0fd9cfa8bd9d428facb3875ed16486ca1603bceedf34dfe2582c15a767cac6c583b7a250dec7aab67403b935f9c35f96bad240acda9e67fa8cde13843c83ff12c1a245b9ec7e1b1cea9c42a9ccaea08a925508d53478a8fa7d9dbba1d7bf301bfdc6bfd4bd85abd58f266719a12686af8e6bc35b3f1cccc60189f0350a0cd1b29f6d4228341aba3117bf00132050143246a9550f65663fa34798f9824d1760b3ac578c3926aa89c962d4ad6aa4ed6d8ac4991a741aa0868d74a837fe9aa502ad2da5deb828cc98a35f16a601e03bc6e4e53f2c223eb8d4181adc1dfde2b51f6f67f74eccd6929b5d646c65b57146fe4c9d6bac256ca9a3756f76d23e5c6bfde1d776458b7ad95bdb79f60cd66b014b44f90598abcf820c57b89595e1a3081adf1337c23eb7e635a267144e69bf79313743f1c7b53c86cbd2fb79691d5da9978d7c7e648b786796179f8e3d81e7906efbdb27dae8695096bcbb9179f871cb2372b645fbae26d2eebb684de9595d7ad83a2153f5a3729ef9cd23d811b80165e9cdf1d216a2f39be3d604c4e77b95a607151a5243cf62aa0d32a54ef6be9ad3e9b3711457f9fbd5da8352429616f0abaf5a6f5566779af6f3d5663b6635bd0719d36f1f875714d61ddd268df41c506e66dba3f4191436faa516a9d6f623b9614985960bdad8ead84b70c7ad9eeed9d3fb18bfd8e37850b68261c9bf7f6dcf2ec0d1069eb232c9bb8d93a78e2ab16790cd3be76d2c1d6fbe93a4672f14e9d0329df0cbdb20d7bf830e72ed31c376c2b493e6645f1d66dc7811bdbd60382b11f0dca736f5b0a6583ffde5abce7d42bddf919b04e6fec3a5677d67a462ded22bb6e26cb890928de29feedbe425bd7540a5b6110a2be9f804191bbd4b8fd9341ffc11914ad4bb8fdefc6a0adab21589b9c32e88ec9c14756f446cefd846167dcdaaff3de7119b6259813ac72e44f7613a26dfce9a6c58617ff7efef4b6bdd5fb1cf6ad597a89c716c8e5c8a2d85f636b078d63eed6ebdaa01737fe8c4706b54e679eb7e03ddd6d69c917f8ccf9b3751cb100abe24470068d1b83fa6291534ce2c6a1de3b8ebca1e406595eb63671e4d623baaa7f0a1eadb35897f07ff2e83f328fd659bdf1fbdf8747b7d8c1372f9e7ff2ac9d6ca5ca7569a3ee57f0a84c5ada440fde99d35c3ac393d34b9233cc3e6ac3e6d196366768232f9d2642be92c6b9e41fb5e9d8146dcb3f6a1e0ed1cb31d299e4dfb74c69475590b437edcb5b9a6de77a2e9d45a820cb6ff48349b969e0ab5b535674b96d9602086156ed70b9ddb31ebbde71babaa0226f138a46f887ec8dfc77118b9a6986efb2b85bac1cadc8fd349f03a32131ea471c107643dc44f771f34d58958a8b1b6b4047915cba0fb7d7c6e6ed64c827eb90c230cdc44fdfc55b715b7b6eca26bd2558f7e6638f611f9e798e697321d306a2fbe47078f6f2d593e5f5d5e3e7afbe7e71f5ed83cb6f1fbfbe7af6fdbfe6443c16d50493c6b27fe066974475d6a5674a3c6bfd8d410e9446a91be44099ac3c75f5fd834b92542e97ab1ffceaf6af959a2a2fa3d424329abf5366d717d93be9a7de09d6b5ba62eb4443d60f1840b891d8030a540d0e7bf526c94004888c8ef0de58b9c15f54a2d729c69e642dae359b1f80a6a10fd9329a73a87ae35a6baf34d0329ddc274bde4ca0a4f950d0e6cbc03c45e092950ce8e67ddc3fee92e3d694cc328c96a5d06f2e6fded319ff7b47f8a4c6e56eb12a6e5c4499b684323f6eb6b173ca99c7d2b32499a37ceae99626a96dd32d896f9ceeff495bf3a7dfd9e74d2fd5bb35e5c1bcc05f33fbd8e64a757b2f8f7daed0bcfada9ee8e3f8a9a7398a20dda2d7ceefe3a65f39bd02332df98699f24e6196139484f7abeebf07dfef9dc1ac4b425e058e1b2fe06f56eb59d340dc1a870d3b5520720d1dee3045354c6f6143a8c244477d159fe86e6051c01a869dcf2c9e652075441657153d154d38fa4b446b018423071427e99f6af036fbfaa33322a58d537b58e60852f5f7246788e61ef609fd7866842e8805551c71a057a2d16ea8c5038468af8df012758bb80a7aeaa16f480466664455e37e0eb2941294539fd97c49d5a934b68c826dc6c571ba39f49f9f7247f8b8e013483b30d7aada06e69ca473db4dffbb58329fbc992d370a629d7e8ac18e08e804c01156d275a40db4881e9f48c69066ed63676c331554e8abac18865252079a94c45e6e7b76baf3c6c205ee27e6d5c00e58c76b678b1a0b4e256b6c26062321ae0a680b30151a0c024c240dab6214e59640d39b683b52c40cac278c198a87ac951b7a18697a1b4bf17695e741131e2d545d48ec86500a02c1123a08647a28275a5ba0623804141865e0c3b018dacaa67c4690b6617ef46cfa66acd3fba0b3f7069916073993c9d7a9c7605d0d5df8a9fb16f950debd19701e629461eb71db213523418ff2ea6db006ba20a814180005a9ab959cce882c34601000234459a27a16092047a0989b45e0d7e1476d36b8b1a2f4457fd673e9cc4d288468a2ec3290e884aec5608e16c1f88cc852b56433ec37efce4cca326d9d6ec43070473cb3cc90224784a9a2bb11df2f40ae1db7ed7773f75b053de7eb5ca12eb29a4c338c58b275269fdefadd1acee83dd54885ad77ed2db11aef1e274300a932d240ca2d6f96e6b0a143b4b7d540627a30c4100b26b67399c3696d51f449c46d12f13889e8b388368b787d163f75f4c16127fa296bffb0bb85529b8d97ce89a5743f73a90cad1f7fe63abe783b6c9dbc7690c8d2736a94e7273c74d5526e98ea0d87ae4fbe63a543c490dab2bd6f51f83cc32861587ae93c97b1963130d6023bc3071b6db0f1dc062b452d611e23c93a1d698d2d760600bb6a59afd9daecaaf89b2ad7550f009a6d35a82d32a02dea11757534d1546a4011d728d38136abea45fd23027162901100138825072a517ff2a1d8cd81ee6930eb747c144ec67a1ec4f39664aadb570377c271a1a075910e5e4f6c75acc088f28e466a910163c7e836cec5a4862c5093daa0d260536f1dcd6b804d5d5637a9813905933a1c4d6ab7a8ed242501a041d37253cca48e629cb519d4d12dea0840b6ae921f09edb74c1fbc738274ddc666516f0675dc0cea78625047b3a8e36e51c7a3451d37933aee26753c9ad4d16d6a808ca1f4852bcea172efe296059e774d85960568aa03ab0fbb3ab85d1d8e76b59bd56137abc36656bb551dddaa8e9b551dddac0e6656c753b33aba5d1d37bb3aee767574c33a6e86753c33c3ba629dcdb076bb3aec767538dad5665687cdac8e47b33aba5d1dcdae8e47bb3aba611d77c33a9e99615d07a9599d18c09740679bc110fe0009ba6e6675c4c993e0bf81cba5de7601efda11c51315164de5a0ad0cf09675f8aa0d1b7ca67c885dd7a4af641d943994cdd01634036b2a4445edd5e635202a2981604706510de78a15c4946a59f17af4aa2624ac5f33d2cacb3aad72429455e0e865bc25523b44ecb7beda4117720a421a65d9ca2bc22b0dab461886488b534e29b14a6a883d07642b17b87ff45fd6d56120d6ac32aba77630f8c1b6a279a92a0965bdaa4a8d62c5554f7230ec42320f1e63afa2a52ccecf4a3e396220a7160bdc29a467f0ae0683d94a4569826aa86e30b896fae390df38e44cab11840c2dde68d1009ec51c5e9e5884d0b6d51aea0a7483dcedaa86b19d1859fb34941d07a01cd502196bb4a2268edd9a096f7e5352a525488c19c0aee408da6e1521c0c935842b31d83c8c5e2c433c4eb811947322e5357283579363c5e91bf487233383e0c8c65a235be05e6d28207d82dcd1c95d55bb9a3185f6c2142547c2be026175ed504061852fdd0c38e070714df521771da54883f4a9aa902b62edc75df021d180f7644ca431a8dff1fea4a66295465fdb8c1d1aa8b548d4b03d8aae8e5e3f6c9550be9f6a186c7d4e0bae44661a0ff5aaa9a40af6c5c1135edcae57f72e2e1e72613c300312e2fdbb68fda73f701ec2aae6a17c5d01551a8e1553239ac16e1d6f507a404813e99055aa802b36510bd82e64358c96865256490d6125ec1caa5bbd2e37d7cfd90cf719bb4a811237795094d5bdf0a5ab5103390fcba8fa53aada99f5191d4c419f0e4ae56089bef045a9d4817d1587c1cfb1d7f5ba1550f53146e950c1f449f79801fac275a546054ca9aa2ac7ecb21c81cb4c3a3666734995359b5304855bddac320adb340575619b3dc38e871c40a1680df43bf25d2a720e210a2c49d18b29a3e52f4ae203321aa1fd1a248ad80f4e7bf13067a2a0b08fd8e0bf3a5427421e1cd9e48e037516544a75f7ea36f8e05057a72303bd903c09d1e44577ae90a18d5402b24b52b68a6db6cebfcd4c0db8eecc110390b711dd64357432fc5eb776732a46200c5d375514fa4928f8b3174eead1ce4a62b0fc367beb2baed354bbe661cde8918cddadd72570635cef2cfe1182280f99777d726e40d7550e6bae82dc7d0c4f166dddbdcf66c065aa08d301fb787777f7b5f17e7a23b20346bdf7adb80c7e02353b86d51e9fc730b9d13fc2302bcabf7b56a31c6609b0f619e272335755229e891ba214b5546cb8711f6fdcc71baf8df777f7bff9fdbd7308602349a10669c3dcc3e7312680a14a173b5bfdeefeab37dffcfedeff1f0000ffff5fe69651a1010100", - "8b0e984a5d392e463a901f21b248a7c4": "1f8b08000000000000ff7452cb6edc300cbceb2b089dd6856b033d1ac821011a1468da5ef203b24ddb42255195a83c50ecbf17921f9b069bbdac389a1992637935fc5633821a58938b4268eb29309c04809c352fa96f06b2ed4c7d9a2665a8cd8ad03e7d911f32f6ff806ec4204525c4930a10e0d38a345fddac1d1650c5881cefe8056ea038373ff1f92495f7dd7a256b904dd3fad41b3dc84a8829b901b4d37caae0af000870039b6f966ec75fbeec9309f9d7b6f0edf1c70318f54a8981097a8414718489022863d6eb807f12468edd26cbe0439174a5ce73193da8ecdd7893e2d22c6c8dacc5a54fde6520c74a3bede6e24d13f082c068bd518c87fde30edcd14bf77efd83bd2570a9ab7ad3dfeee195e98e28df4e733b8e475f58d0780c11160c78acb862dd9ee156efc115939c9123f7b927e2c841f98cd8c32eb981ac45c7654ba31dc6b7ea1e0d3d8372236c6febfaabd9dcda6c1de5bbf63636f714ec777c5d3fc405aaaf33ef29ace4ffa09d7cce877325cee25f000000ffff1baf99a500030000", - "8ccb2b48dd100514ebacd9654f7e2fce": "1f8b08000000000000ff7492c18edb201086cfcc534c39d99585db957ab19443ab6ebb87dd4d14a7eab1621deca0624018278da2bc7b35d8de5372b060f0c7fcffcce065f357760a7ba98d0a0380eebd0b113360dcb88e0330dee97818df44e3fab2736f63db4ae3ca650dcaee55e0f730658fe7bb3f493c94c787bbc0b2923b0e39c051061cfae8935f5127ed7418f0e3e4443cda4e5b05d08eb6416d75cc72bc00b0b2c4cd688cb61d36ceb6bac336b81ee341a1b247012cd55dad283a8b9f2a66bc7ed96dfe6cd6db1d2f907ffef4f085e7c00e6eb8853dadeb8419d748430cb1e3a0c20df657fdb82596102f87e1e4c2fe96f2d7bafebdde7e9f516054a80ae973011835a24807aba91fafea4417a7b66464a240aaaa403252e0a245b9749b6e7e58a1d5062fc098719df821a334990a2107760560947aeeebab3a65f376eda37676b80022e2d3eee5f9599edd182be4266dc421f68617c0d84ef5dec8a8866fee5f8569de291197de57f39babe20251a14294eff134f7bc987494f1442f7ee6f8722d805d73b8c2ff000000ffff685bab16cb020000", - "9d1b79c560fde234414ecf0149a1df01": "1f8b08000000000000ffa454516fda30107ee757dc2c2181b4e0419f5a39912a81c6c3da5515ef93832f89d5c446f6415bd1eeb74f26c012085da53dc5f6ddf7dd77be2f16054a852ee90108a537b02ca5f7315b5a43521b742c44da31679ff7a7a79832aa543486b0f05534d92d5e7c3481d2e6f6880110120a8759cc443f06672d3d482a0643e8272c11bacac1bb6547507a8fe4b9ae648e9e07ce91dfe40c6449316389e0f2288b2bbdf940e3f541e3f541e3f81b90a6127d5366314e82081ab0672c97b6c25fb943246d7216f4085e8c9bd993bf9b468f05d1cadf709e6b2ad6e968692b9edb749d65b2b47cff0d6d1f246632854c46753a03e9b48c0aad149a98915b63685427f019dac68d843b690a14c5e45050d9e5ba424392b435ec620fa1d6a1c0485bded61c24a7d63e5d163c6d96b9a8ac31b9e372bfe8097e306bafcb8f5d5e9c74f8d7afd3dda82f98b86dfcfaaeae922966daa08247bb26f48217571f296e73924c4b8c1cfa95355e6f1a857791561ad4c99e9c5ea16a8aa0d07c6b3ae480f0852259eadcc4acc48c5ae3db818e8da1217481f26eb698ff9c0a4ec55972f270bb987747ee6fef66dd91f9edfdf4c7ecf1342838b9e68c4ff40b4aad7a4d7a4d443f86cc3a18b82168036e77d5b085fe694dd73e0847eabccf939c9adf8dee900aab4e49770a55076f378dce6070a4fa1203fb3e5b30787b03370acf15fc8e816dd910b667680087b476669f79167f072c3d7e042cb5795ad8418dff0adb708f377bbaf76107e1ffb55a13dfcb0a3f4f2496566152a3e7d2a812dd9e40f03a74066cdb2594ae95371d543be6b80d7f4af75371f8347ec2cc5a620908bf92268107fb1c4c02e9ebbf1eb9e636bc5a82d70cfb127f020000ffff0dbe9ce240070000", - "9f2daa325aa64cda5f09da97a65b852d": "1f8b08000000000000ff548fcb6dc3301044ef530a01ef36910e5c80409313890ec555b8348d741f08f900bebdc300efcd64cbd6152168906aeb0ff8672d8390921915b7d214633f14cd3297ddf2a3d215e2d1fd9262daa8089723a68f2eabe178dc6a491add39ced9f464990a597b791fec0a619ba749deaecb755827821c2523d9648f2bff41721c11e2b3419235b7ca652b3eac7fbde803e4be3dff5aeedb530282f819b23320171f8a958d3d0ee6b3e9f737be030000ffffcfa015bc01010000", - "a0904bad0a4150c57d6f1e6c5d6aa503": "1f8b08000000000000ff010000ffff0000000000000000", - "a4be76308cb5f0ce6524479f82e9df1a": "1f8b08000000000000ff5c514d6edc3a0cdeeb14df5b3901fcdc7d16b9442f60ce88b2d89144839262f8f6853c13b4e8ca04cdef5751fe834c19bf7a6d886c8ca6e052fb982235acb71e0225c5ad4bf22b225510d6e54796cda88996ba42025a64d0be27b95fcbeb6ed77d71ae97a0d67aa1c6e99cffa835cebb1ad939a32aa822f77b1c5fc1a13d7924fdbaec64e68653fb0c2a1ecd0638f30c8131a574becedf64fa624426f3d8543d5a94b2d5f77118e94975636c2a655bf0f1e69c84413b19a3324bd9901952c6cefece328f700555335f94886a26b711e67bc2613a7ed0be73610fdf6d1cfe53de0cb5c10ea3026938a4c5abb8f57fbf22241abede9d33dec87ce25a67d478851ba8bb6606dd4d6b1d4e139d43836edadb8cc09c108cf92ac973e2c6c8bc40da54a18fe512d43235c46e6dc1c129cd6399658b0dcf2ed02bbf1c85a7a3d19ebf608fa2c7e29c4c2921f1287400be335446a0acbd62276bc3d8a1e6eb87739f9ff8a9485ab6d703462a8f8aa0064ae9520b52a3fb1d0000ffffd31e584a8b020000", - "a9b609ba9b7a306c42499485e3c01bab": "1f8b08000000000000ffacce410a02310c40d17d4f11ba3707f00e82201ea034510aa529498a8c43efeec6c185ab8139c0ffbc13143a435c5794ee861721ae782bed396ad2f266bc3762b52cca7362564ece84367266b318005c53b39abc48fbfb5c553aeb9cf04a06dfe6316a5d601bc5b00f303a1d03d8467b01c4e62acb1184df2a864f000000ffff4c95c89e87010000", - "aaa62e7739ae79a7991ad085bfba82da": "1f8b08000000000000ff6c53b98edb3014ecfd1584eae5b32eef556d912645bad40628e9c9a697e26348ca0782f5b70794684bcaba1366067388e4df156389161d26ef2ca9fab6158a92a7001ed13a493ae019a4908e6827e40049dde0190e6e4495ac51bbc1e3d7cfdf23e66a2b8d77c93b0b198c250d1e83e0849511f527e3fc247cbd1fc42c644bd52c78c338379676169d4b568c7d0db6160d39e9c95e827827fdbeafa0a66ebda3587fbd98d1a041dda0ae25ceba5444de792b4c30296113e731961832066d58f6ce926d06d9336437eea325ebc5091d75b86e49dfbe796b7118bfdd40964f5e873f3d8e3d0bd84c3623ccfb31e39a410ef934b0c1e38f879d3f2a51a15ad74a0e512ff00ae5bd59e4c86224dfa61a9134161d7a8efa78976c92a7d5a811bd2763b19567b403fd062ff07c3f9c60c0158926b2af904dfeb57333eebad88a67430ee7740a2f43ee40b7522dc8e7fb4d632cd991d9a33dcccdb729a493b921e797e1db626ee0c4b2d92ba490df497f596667904171637b3bdf7b2de77b3535c883f78d2a864a91341d97da79a1148f57991bd5efc66753423a8df7681dda07aa6b0ec5b4b2935af23013cfde8adacf84db747ece37a35aa1d09c2a470a3df27adfeb4f17e5e5ecd8c85c1e856f209bed898238b5cca75e539c8cbfbe80ec5b19258f6831fccaff077e937642cb169d5f0ac37b0a8f63f5b5fa170000ffff7d5869daad040000", - "adbdf21aecb8483652c3ca79c70c21e0": "1f8b08000000000000ff7455516fe3360c7eb67f05e1a72448edf7003da0b8eb5d07646971ceba01c3d02a161d0b278b9a24c71714f9ef03653b97146b5e224be4c78fe427ca8aea87d823882a28323e4d556bc90598a549b657a1e97679456db1a75d57d7425331fe671f9da3391cb334a9c955e8bd86ffb76afb9bc9224b132b9c6835edf7e83eb6bf307a17bc338eb4465978ac3a87593a4fd3a280fbcd33280f9d470981a0416dc1f72a540d780c4199bd879de05332d037e8104283ec29acd5aa125c1146d8a1327b709dc9e10bd6a2d38177338907d4645b3421cbd3837031e22d7005f26f1866d9b7c797fbcd73b6bcb69d475b612d2cc6f4f23b6b23e53b6b197a2023b406475d400fc2486895941a7be1106a7230bab2976fa8d3127608126b6550e6b06d9467a4d020187407840a4d400754c3913af72ecb3c2d0adefa4e1dd76579116c097b479df54bc050e5790e4c4062a5854309dbc727b8f9045f1effdc30c610b745613ca818098494202ec907825761ed2b2c441dd02d46302eb16088186e09a111615843afb486cde3161a71c0e1c0607f81c9f92278d1c6ee71daae434ed5a1a7ce5513e198ab07e1a147ada7a47f0b20b4a79176849fcaee10aa06ab1f284199584c72121daf8e578588c9bf965ce9af4aa37f6516023edf6d3f3fdcdcadd703e2123c810a53c384eec591e5c5ce568b0a2568e1c3142bfa5c515f327715868aa0f19d1bad3c439cbb120b7bb6337840c7eaa804df923cad3b53b1d466f32b05c25b9aa83a0af3f6168cd2bc91c4cf496df906fbd9b47eb491131b25f7e6b082e977bf795ea6c3b244ef15998d687105d9cbdb5b4e36788e96f35ecec53a9d5efc60962dd32439cdd33449f83274815a1114d33e8243a91c5681f55396eb8159fe87c7591c2465b99ecd27cf35edc1e1bf1dfa00716c6040e761562b1d17acfce33cbfc0b8182ef9d3e4b18edf1194edbedd6f6759912de1815a7c10466a3e4c4e699a380c9d338c9b9ee2459e380d1d988eafae01eb6c3c1d33130694a9a88dd366a01ff55c732b950743011eb6dba73287ac09c1ae8a027f8ad66ae43198c1eda761dfbf3bb8b899bfe24b420f8b85a1b058001ab1d3c875cde370e11171351f604b20299266b01ec161456d8b4642e7e3dd05ebe8e771051383f3f0ce15bf0a85a4ca17d1662c10b4e41094a9c9b531ca85ef87c3bd18d4fbabe76769fe7eceed2b5bbc9dbb323d341716b301ec52c265b9fe3e366235a998ef41661dc92ebe8e519e65b97ee2241e5048747e05adb07ffbc0f3eb9fe1ef2dfbebe62bb95e3889f2e6c951a06c3576263b2d5356f829fd2f0000fffff938fe4679070000", - "b944ada0d7dfee32b86a3c351586ba93": "1f8b08000000000000ff010000ffff0000000000000000", - "bf27d2dc0c63524e934bff393b6a81bf": "1f8b08000000000000ffb4525fabd330147fcfa738373048e09282e0cbb4f7c93b15748203c12749dbb4c6a5392149ebc6e87797a415953995827de99ffcceefdfa993f551760a2421ba77e8233002400d7634dd43f4da76213f773a7e1e2a51635f74580d6d2b0d16ad5175bc7decd015e3d33f9ccbfae88bf149423cdf94a05b60e862108f76d41e6daf6c84bb1268a34665d0a577cae1029b879b9cca8ee7990fa684e384b483ad415b1d1987cb2a29dd82f21eb625247af17608f1a022a32fdf7d7adc7fa0f74013e715dfe681f26779f2ae04ab4d564f97c14eec64948629ef3901987e724c001a8fee858cb292417dec0de3e96385a7e4209726f6ea2ba34be6addca674c98628289ffd567812af646054dbbc258d36882f012de58b8d70ff3d54c2eeb46d0e79dfbf1bc9034b0b7fcb32a701c8d4cb2f94fcbe57b2519e851993984ac83ae20dcae6f50f4de657e84d645a367d555e1e5dd95eb31089736ffea1b95fe1ffab35872e77b6f3d8af2eeb5b000000ffffd35ecdf2fc030000", - "c21d2243a9690d4f725d253a1eaae057": "1f8b08000000000000ff2a484cce4e4c4f55484c2ec9cccf2be602040000ffffe129fcc910000000", - "c5e5aa3411561d2c0c102809e446e220": "1f8b08000000000000ffa4935b4cd3671887ff26de6d59d8922d9b2eb33aa6558aadd406e3d45a40c64108300373ba1a8452a0500e838156401ca70844c7383928c7164a2dd0ca414e15778893a51048c620dbc230195bb22cc8b8a63c0b2064f77b9237bf2f5fbee77baf7e82b04bd82578786ca44848dc2d086f0882201604c143100491b075bfc96e4178eda5add98617acadb937f3f9f3659a4d7da87515f845e57136328f8bdadb7cf9958da53ffedc79bbbebebeade2766f9dedfde3f886e4f2e6891cde3e654074c680e8d475f61ccfe6755926126526f75a1cb0beb6e96fccb65b5963c1439c88e7f9124ec616732cbe0ec9d53abce38d48a38bf009c9c033a89457c449a4196a5ffcb1b5bfbbcfc9ab122d074f5fc753994de0d57c62efd850dfed475d35486c652767626f7128bc0cb1d2c0cbe238caab4c9beef2df7fa1d21bf1d2b4228b337230b21275452fe9ed8f894a2f223aa7820cf3d7846519d92bcfe4685809b24bb5482e55323bf70b2d3d4ec4da0e14993dc8756df8e5b4139e5e8ad7c9300e78fb73c05b85541941f8a795f86aeea248ef24a0681c454e3f85f71cc4df6cc24b67c3476f45a16be1d4875af61c3cc33b9200ce4705e11f1acc5b87fcd92f0d40f5710e87833fc7d3ff069ee70af8405d4a68463d47d3ecc8d36c48350dec93a808bb10c4a0ed0263c3597cebd4d1d61081af4ac561df18fc937bf152d72055d713a83111906e449a6a439e66c53bae91d331494c4d14b3f49b93d68e62ec0faa595eeaa3c79ec989c81b84660fe095d080546f2144dfcdfb294dc852adc8f55d48932d4414753038d2c4946b9edfe7ef303f6361c6354daba39ae8422731d726507e3688a2e009970d03f8c455732cb50b9f940e8e6adbf0cbed22bfc5ccf0680521091a92f232187df405ba9a2e0c75e32494b8f8e4d614970b2729ab1b22bfda8a58d3caf1e4667c7466e4574a286fba4f424115fb4e46f3eed98b14d69ac82a6f446d3061ec71d1f77896fc2a3b13ae196e37f6225237234bb17248634671a58ce8f85444de4a8e28cef19e4cc511df603e4acce2669505ebc8240ee7534cf7fb8175565756d116d713985c4a446e2389e5163a1f0c11a54e65efe1b3ec97faa1bf5648f7c8180ee7389d030fa96e32b3b2f2cf4e7fa6e77e64e1d90293ae27d807da714d7fc7af8b0b34771ae91f3633fbf337fc30fd90c1d12e0686fa585d5dddf4fedba1ed362e3e5be4d1b883a1e1562626cc3cfddec4d8580b63ce1ee6e67ec2ed76efb81b08ff937f030000ffff6ddbe2317e040000", - "c7c4ea3097c70c12789fa4422ab742fa": "1f8b08000000000000ff7c51cf6bc23014bee7af789481a7b678edd841711bc270e2d46b784d5f63306d6292ba8d92ff7dd4ead876d82990efc7fbdef734b6b243490548c39834050348219966d369f6913046ed79fc7a7ee58fabfd43201f18eb7b5035d009326383cf16f3eda72548acf1413af209a431324feeac04f9517fc34e9af57d0ad45610236325d5c611f7c2291b8a0bf4bf738ca39d3f6948054c84230c0415062cd113f4fda89c599badb0a1ec49698a910fc1ef2790eebe93fccc315836c74a39482ddc6d37b3fdf28dcf77cb97055f2c37b9ed4aad448ede53f0434d5c35d6b8c02d8643f16be61ac51125ad8f72584fb53ea0d66305d280a4005285435766c234b9346557d7a84dfee7bdf11b534165de5b6db062ecda125c497039c657000000ffffeab6a341c2010000", - "ccf670bbd1b940f77e6a33d18bed3b7e": "1f8b08000000000000ff348e314fc330148477ff8ac3ca9030383b12030b124b8580bd7ab8afa9456c07bfe7012cff77948a6e77a7d3ddb791ffa285415e434e624c885b2e8ad100565934a4c59add2c412ff5d3f91c67d1c2ea2f65be16ce3f73e1ef1a0a5b3399d650282d8c81f0f008f73f8cdecdb9268f9104f74fd7f0bd06e5091f2c7a6c6d70795371078aecde58722d9e7bbfa9636b18c8bd92785ac32fa3f771423300897ba6b08ef690152f715b3972523eddd9c9f41d87d3697fff0b0000ffffd638316cea000000", - "d258e202261ed56ac0a8449df027094c": "1f8b08000000000000ffaae65250502acecc4b2fcd492c52b252502ac8292d4acc51e2aae502040000ffff3f6c01c21b000000", - "d4f2890402006146d78d0aa8f8c5ba2a": "1f8b08000000000000ffb493516bdb301485dffd2b2e228516229bad7b328e47378751d8466065efb2a5d822d79291e48e4ce8bf0f3971da2cd9defae487cb3df73b47c70597cfd020b37645863dfd007d4ddf93320128bafb79c0a9542895a035ea66474aef533d389b7ed35c60ba317a102604a88463126d9175f76512155e696f5133478d6c3b37a90314372b40a9764ffa76d6fbce7a91fe64e633b36283a36118c286b9eef66e097e12ca81d44e41ed14956aab49b8030f370741804facd981d3c010e19cf18bd1e310c2f1308479e71584e0d29d81ccbe26020fe7336658ff588590ff75e848ff43aa164508e96305e11afd2f6694542d5942adf93e07b2e6d2453b9760d7d299f5df848d33d50a43964038738cf6c2759a931c48b5feba7e5a9f068d565b69fa38793002f67a043b1af1f1c55425ac337a7ff255645c3e97c9f193244931e2dc1094d6d136bed3d4412065e23d98c8028b01f2151cbc3c38672c8430350ce5e53a954ef430d4f4dddc3464b538ddb17dac077fe9322c863938db3094bf05845064d3d25160f8d79f109fc9fbc5ff52f6fe423fc4fe15d9708804659944ab42f168abc8462c933f010000ffffef62da7b98030000", - "d77707b5575db5b50791e6c1a131ac93": "1f8b08000000000000ff4c8e3f4bc4401047fbfd143fb74a4036bda5368782075e612116739bc92698fdc3ecac08c77d770997e2aac70cc37b53c8ff506090d725a76acc124b164567009b588759b558b34d61d1b99d9dcf7108f9dca689d63cecb4a637661870c8910f94c695054b0561e489daaa98f7a56654965f462bdb3d61ce915128b033534bfeded079ec7af79293f29ff660912cb81840589b2478f7c16964e9b647dd49495b3dbe3d42dcebe9f8de452a5f556549e1fb868b8d5c2b05b64fb09fbcfaadaf19cfb7d283bdf6bdb99aff000000ffff5167c69218010000", - "d8ea92bfa1667613feca7b7c00f413a6": "1f8b08000000000000ff8c8d414a04410c45d7d629c2308b6e90f45e702588a0a2a81788d569a7a12a35a4532086dc5d70445dbafb3c1effb98392bc31ec29dbda042e2e014f738388344de0be47a1caf8485ba6b27e7084fbb7ff17c2cc0bf562b0d663e1ca62f4a5a4a54bfeffcd90e1b52f0b9586574d8cdf6d04566d0a9ece94adab40c62796997538981df1d9c8faf6707b0e8a372ff777c3ee2776bd168e987e43278007ab65378e29923bcb1c913e030000ffff1fc509720a010000", - "dea300b9bc0b1a9623ad19f4494e92ca": "1f8b08000000000000ffcacd4f29cd49d54bad28c82f2a2956b055a8e65250505028c8294dcfcc2bb65288067315148a520b4b338b5235d4134b4bf20b8a52d3322b528bd435c1b2b15c0a0ab55c80000000ffffa429f83f4a000000", - "e0c0cd0d96c606a11abafce45587b849": "1f8b08000000000000ff1cccc14a03311080e173e729869c1229e95df0608bb8a0e2610b1e65c8ced66036b366260711dfbd74af3f1fff4ae99b2e8c942c4b5580bcacd20c5d653b7c99ad0e60ee35a127c5bbc74d8d3d1b073cb3dae7200b0f54a7c2cd07fc835d63c5fb07248dc3f9edd5bb830bf199cd07801d697cfae954fc6d1c4723ebfafeb2c7c61a4f3271d8c849aa51aeea6ff928d36f1cade57af1618fee834b9285d1048f7d9ea9880bf00fd7000000ffffecd480c3c7000000", - "e1ce4dd81dc280423d4863fc1a330606": "1f8b08000000000000ff4c8e414ac6301085d7ce2986ac5a90e4106e0a2a827a81f9d369136c326132911fc4bb4ba10b578ff7787c7c8de217ed8c142d4bed00b93451c309105d650bc9ac3938db9e2d8d9b8f52c22eb7b16d7448b8d2c10c10022e5278a1ba1eac983b12aebcd1380cd3359a6067fd661cedfc1326298c8d76f6b08d1aff13a68817de3f4935bedb8cac2a8a3ff0a06c432b46ffce75659d4e4fff6164a3bf3d3fa2fae5f3f56572b9ae7cf7c9cae1e6197ee12f0000ffff1754f1f8f0000000", - "e4f19bb976ea59b0682a286b89396afb": "1f8b08000000000000ffaae65250502a284a2d4e2d2956b252885672484a4c4acdd18708e9a6e69529c572d57201020000ffff2214070e27000000", - "e8696ae819b72019fcd50611211ddc80": "1f8b08000000000000ff54cc4d0a83301005e07d4ea1e22259680e20fdb9428f10c90b1852476712da527af722b482ab99f7e07b8cb54c0cdde0b990a04be43cf8d2d6c71c6f05fcaae3ba9dc60c6a77235196cc6eb17e926ca3d8bde9c732fb843eca415c0371760f08dd6103cdffbf0b0c6c032ea59f51add6a63a9dabb7521f33a86f000000ffff52246deaae000000", - "ea4216afa34546e2c4ecbfb7213f6fff": "1f8b08000000000000ff0a2d4e2dd24d4c4fcd2bb152d0e272c92c4eccc9c92fb752d0e702040000ffff4284a48f1a000000", - "eccd20a3ab2a512709dccf2fb8df4bac": "1f8b08000000000000ff34cdc16ec2301004d0fb7ec5c8a7a4aa927ba59eda5ecb851fd898b531246bcbb14108e5df5120ec6547a3274d627b662f605b42d499284c29e6828600e34339d6a1b371ea7d1caa733cc6fefdb3e841b2a196e8c219191fafa6fb531f54885c558ba0a1342dee04647c6323ff726db6b84bcfe115acf72b8eeb587ea216d1b2bf25f982e194c6607985fd698e6a3e09585a5ae8110000ffff7d25ad33bf000000", - "ed4d5aa3047fd65157293d965aaebec5": "1f8b08000000000000ff94545daf9b300c7de75758aa366d0f547c947babf4657f25909446176294ba2a7753fffb44122014b4f58a07a4c43e3ef139f6be424d5c6969e04f04d02a1ddf95a00b833c4bbafe143da2e822b9f0f725af3e6a83372de20a1b340c766f192fa43c45001d1742e99a419a743db8748012fbf8aa7edb8b128d90262ed101ef1bacd1e2aab6b67f005ffde8b31f368e1435f26a232ea90f3ca3a6015832c87db03fbc4b555f68384edca9a77abf2892eea4e5a6563a2e91085b06693e02f80bc28e41315218ca6661d95585804c7a1cb184ba760dff64a074a3b48ccb06ab8fb00c83642ac03dfe9a2bc99e62212b349c146a06372da41910a764e5933d7be3d81523911582c620792fb0bab55293bd5c2235f24c0cb26328c6f5565a3d6ce433ddc5c36643e45def8e360c94f1bc38e473f2a48a73d0d0fc7cad79966d6a7e181579eaf0238a88979e74a8d6c1d7f8be77f754a2f8043240c217f5a6b596f0e00ba7cf9d3923924db20de78daa35032bc6696ed5ae2a86ef146d79696d84ddb11cbed7ac3090a8a42669a45811711776f07eb552280ebc69806b013f5ade8f63fffe9e74fd4f9b1c8e5d30784b192693cd2d4f8b416d2846cd07669edd3f0abf1dbe56387fadb083c8b620d289bb0fdb9c84a759489339e9ff8f2af2af3d2a593f6afd9a5768ae80162b6db19d82b5f49876c2b49903b33b7f86cb7a5ad769927c5b34e56f000000ffffca7f6ab658060000", - "f535300726d0bc835017ec26af4e8408": "1f8b08000000000000ff8c90c16aeb301045f7fe8a61c0e080edc0cb5b19c7a504ba6b6a48e87e6c29b188a431b2926084febd389096eeba9ac51cee3ddc5aa81bf49aa6698be35cfc07d315ffb04900ea61f37c884259adac2c3acdfd059bbdbc4308258f7e2adf59485db68e47e962acd7c3a649eab550b72649ea740b2776e68d5df69bff24b7a3491e943d6b19630e817aafd856dfb97b32f289b5faea48c7d8921fb2550e46fa814505d87e1c8e185710207d28a75b18c979453ac310ca136bb158ad178972f046e3ea87d4ca5e8e9cfda5303c86a8003b6fa1f3b6b893b3ca9e310714e4a9e8d99e94335801be3a09335f61ba3af98239742ce60a7047b6977a914d9ba44e212ef72b0000ffff7e16bb647e010000", + "0234b5edc6e81c1e266d31f193fe20b9": "1f8b08000000000000ff8c8d414a04410c45d7d629c2308b6e90f45e702588a0a2a81788d569a7a12a35a4532086dc5d70445dbafb3c1effb98392bc31ec29dbda042e2e014f738388344de0be47a1caf8485ba6b27e7084fbb7ff17c2cc0bf562b0d663e1ca62f4a5a4a54bfeffcd90e1b52f0b9586574d8cdf6d04566d0a9ece94adab40c62796997538981df1d9c8faf6707b0e8a372ff777c3ee2776bd168e987e43278007ab65378e29923bcb1c913e030000ffff1fc509720a010000", + "02c0cabc5d0ccf06bf62aef1259e6eaa": "1f8b08000000000000ffcacd4f29cd49d54bad28c82f2a2956b055a8e65250505028c8294dcfcc2bb65288067315148a520b4b338b5235d4134b4bf20b8a52d3322b528bd435c1b2b15c0a0ab55c80000000ffffa429f83f4a000000", + "11a0cc9b3e885f72d7f5b4c016722237": "1f8b08000000000000ff010000ffff0000000000000000", + "11da39f868d54d3279affe59a569252f": "1f8b08000000000000ff348d310ec2301004ebec2b4ea9628ae40594b4f006c7d8e604b9b30e1b8a287f478250ed6a34d2141fee3e47f2a1b2ca13e0a5a8551ad0f599ebadcd63d065ca3ab794fc43a7ff5a946bb41e0e787923a3c38f8c27c92c11484d02b1701d1cade88c8eb41be7f81ef67b29dfecba396cf8040000ffff2bd288128c000000", + "1ec08471990f98ece7e8d944aa3cd415": "1f8b08000000000000ff010000ffff0000000000000000", + "1ecd294aa90a5a249902dadd8b1b7502": "1f8b08000000000000ff348e314fc330148477ff8ac3ca9030383b12030b124b8580bd7ab8afa9456c07bfe7012cff77948a6e77a7d3ddb791ffa285415e434e624c885b2e8ad100565934a4c59add2c412ff5d3f91c67d1c2ea2f65be16ce3f73e1ef1a0a5b3399d650282d8c81f0f008f73f8cdecdb9268f9104f74fd7f0bd06e5091f2c7a6c6d70795371078aecde58722d9e7bbfa9636b18c8bd92785ac32fa3f771423300897ba6b08ef690152f715b3972523eddd9c9f41d87d3697fff0b0000ffffd638316cea000000", + "1f893bc0a5e86464fb13af76078ae912": "1f8b08000000000000ffb2c930b42b49cd2dc8492c492dd6cf4dcccc492d2ad6cf49accc2f2dd12bc8292dced0cb28c9cdb1d1cf30b4e3e2b251b555a8cc4ccd495150b5e302040000ffff448386763b000000", + "1fd3e4602afd3c7e8d6adf2c2aca985c": "1f8b08000000000000ffa4935b4cd3671887ff26de6d59d8922d9b2eb33aa6558aadd406e3d45a40c64108300373ba1a8452a0500e838156401ca70844c7383928c7164a2dd0ca414e15778893a51048c620dbc230195bb22cc8b8a63c0b2064f77b9237bf2f5fbee77baf7e82b04bd82578786ca44848dc2d086f0882201604c143100491b075bfc96e4178eda5add98617acadb937f3f9f3659a4d7da87515f845e57136328f8bdadb7cf9958da53ffedc79bbbebebeade2766f9dedfde3f886e4f2e6891cde3e654074c680e8d475f61ccfe6755926126526f75a1cb0beb6e96fccb65b5963c1439c88e7f9124ec616732cbe0ec9d53abce38d48a38bf009c9c033a89457c449a4196a5ffcb1b5bfbbcfc9ab122d074f5fc753994de0d57c62efd850dfed475d35486c652767626f7128bc0cb1d2c0cbe238caab4c9beef2df7fa1d21bf1d2b4228b337230b21275452fe9ed8f894a2f223aa7820cf3d7846519d92bcfe4685809b24bb5482e55323bf70b2d3d4ec4da0e14993dc8756df8e5b4139e5e8ad7c9300e78fb73c05b85541941f8a795f86aeea248ef24a0681c454e3f85f71cc4df6cc24b67c3476f45a16be1d4875af61c3cc33b9200ce4705e11f1acc5b87fcd92f0d40f5710e87833fc7d3ff069ee70af8405d4a68463d47d3ecc8d36c48350dec93a808bb10c4a0ed0263c3597cebd4d1d61081af4ac561df18fc937bf152d72055d713a83111906e449a6a439e66c53bae91d331494c4d14b3f49b93d68e62ec0faa595eeaa3c79ec989c81b84660fe095d080546f2144dfcdfb294dc852adc8f55d48932d4414753038d2c4946b9edfe7ef303f6361c6354daba39ae8422731d726507e3688a2e009970d03f8c455732cb50b9f940e8e6adbf0cbed22bfc5ccf0680521091a92f232187df405ba9a2e0c75e32494b8f8e4d614970b2729ab1b22bfda8a58d3caf1e4667c7466e4574a286fba4f424115fb4e46f3eed98b14d69ac82a6f446d3061ec71d1f77896fc2a3b13ae196e37f6225237234bb17248634671a58ce8f85444de4a8e28cef19e4cc511df603e4acce2669505ebc8240ee7534cf7fb8175565756d116d713985c4a446e2389e5163a1f0c11a54e65efe1b3ec97faa1bf5648f7c8180ee7389d030fa96e32b3b2f2cf4e7fa6e77e64e1d90293ae27d807da714d7fc7af8b0b34771ae91f3633fbf337fc30fd90c1d12e0686fa585d5dddf4fedba1ed362e3e5be4d1b883a1e1562626cc3cfddec4d8580b63ce1ee6e67ec2ed76efb81b08ff937f030000ffff6ddbe2317e040000", + "200603a93cae9aee719dcb679b44c289": "1f8b08000000000000ffcacb4f498dcfcd4f29cd492dd6e7d2d2cbc94fe74acaccd3e702040000ffffe55507d519000000", + "357939eff9d3a7884ef4ebadca1b1668": "1f8b08000000000000ff748dc16ec3201044ef7cc58aa3a5d4698ffe19cb8131465d58044b94cfaf6afb5045f56ddebc817da2b6287922fb658ddbe0bedb64881274137fe398b1339193bcc6706422dd2ada26ec27fabcdf4de11e62de976b7c251c33e4e5c1f01369ed304441d6a4578a63be744ffcabf072dc3de6b2a8a21ee76f146a5cb58dc3300e3bdbdf342b9a7e04b167f5ce6f054b68e7f3d21f1cdd098a547851b43f7f67f19893f8ce68a3353f010000ffff524107ee51010000", + "3a5d3f320c662fc4951dba09e5ca48af": "1f8b08000000000000ff54cc4d0a83301005e07d4ea1e22259680e20fdb9428f10c90b1852476712da527af722b482ab99f7e07b8cb54c0cdde0b990a04be43cf8d2d6c71c6f05fcaae3ba9dc60c6a77235196cc6eb17e926ca3d8bde9c732fb843eca415c0371760f08dd6103cdffbf0b0c6c032ea59f51add6a63a9dabb7521f33a86f000000ffff52246deaae000000", + "3ab914a64676d62186c6060f4988dd39": "1f8b08000000000000ff7c94c1ab1b3710c6cfd55f31cf2ea4599c7d4e7b28bc4b49531a7269030998107a186bc796b0ac11d2c8db25e47f2fa3f53a79f491e38ad137bfef9bd1ae6147c1f29940187eaf870306be33e683c37882892b1c388375ccc5c7e352d00e27ae1946dac340170a9cce140522d1507a633e7f067f809e9394fe554afdce8b7bc7095e7cf962d66bf80305f75808de93d464cc5b81c07c2a10fc895a5bebb834a6420235cddd30a5e02d8ae708b501210c57a93bf813a360116f1b3fc1c1e722204eeb5452d9547160f005385154617104ab45a49fce6105071f08300e408317f0a297aad23802cb399315fdce11cf543690b09491f35036e0b848d90089edfb1ec4a1006652eecc297b14fa1a1dc58bcf1c35b6de988f5c61f4210086c237d4339e084acd346b75ddc4b5eba00866b9f7b10886d0b01603c08759dd3af696fadbc4ba6ee4f84cba0e966b6ab009a9c32b556fcc7abd86d79914f5a30a2da32ac6fc7dda4061ad7b76a1168e527e27bf264fc34cb4d46c20f278e3b218c1ceedbef551c0c7d97313bbe23d18f3c38fb0bf5e4d9c96ab2f50578ee2d0164c37ecbdb6d6c9abeaabaf7b63ccd2b9389f0a8c5e1c20583e9f95b8b56c731851acfbffda691156e1338ab718c20499f6d5873988370c7b1f314f735d9c004b2129b77ce143dbbfd626d738a7b7181ae8b25a481e5b1de862ccdb365a48eca3cc60fbcc63a1ac9bf2c989a487fbfb973fffda6ffb6dfff2e197ed76fbcf4f4f1e3f6f42c5710d03142240583df11b5841c223f5c674dd6b8ec78c52434ba1dc759d6e479ba4c30bcd384bb28f9e696a51e41aa38fc7b65fb053f77fd1bff29b313b824cea5987a7548e70d0b9f1e5b1b1235fc3e83ddf6c7d7bf87c6e44174f63fb3584a0af41133eea96c0c0b6ea6b9bc1c451566f6f980708d59eee8cf9f48e47ca34c07e5acc3cddcafc170000ffff90de672137050000", + "3c5378f5aa59242753fa2bcf50bbb6d2": "1f8b08000000000000ffa454516fda30107ee757dc2c2181b4e0419f5a39912a81c6c3da5515ef93832f89d5c446f6415bd1eeb74f26c012085da53dc5f6ddf7dd77be2f16054a852ee90108a537b02ca5f7315b5a43521b742c44da31679ff7a7a79832aa543486b0f05534d92d5e7c3481d2e6f6880110120a8759cc443f06672d3d482a0643e8272c11bacac1bb6547507a8fe4b9ae648e9e07ce91dfe40c6449316389e0f2288b2bbdf940e3f541e3f541e3f81b90a6127d5366314e82081ab0672c97b6c25fb943246d7216f4085e8c9bd993bf9b468f05d1cadf709e6b2ad6e968692b9edb749d65b2b47cff0d6d1f246632854c46753a03e9b48c0aad149a98915b63685427f019dac68d843b690a14c5e45050d9e5ba424392b435ec620fa1d6a1c0485bded61c24a7d63e5d163c6d96b9a8ac31b9e372bfe8097e306bafcb8f5d5e9c74f8d7afd3dda82f98b86dfcfaaeae922966daa08247bb26f48217571f296e73924c4b8c1cfa95355e6f1a857791561ad4c99e9c5ea16a8aa0d07c6b3ae480f0852259eadcc4acc48c5ae3db818e8da1217481f26eb698ff9c0a4ec55972f270bb987747ee6fef66dd91f9edfdf4c7ecf1342838b9e68c4ff40b4aad7a4d7a4d443f86cc3a18b82168036e77d5b085fe694dd73e0847eabccf939c9adf8dee900aab4e49770a55076f378dce6070a4fa1203fb3e5b30787b03370acf15fc8e816dd910b667680087b476669f79167f072c3d7e042cb5795ad8418dff0adb708f377bbaf76107e1ffb55a13dfcb0a3f4f2496566152a3e7d2a812dd9e40f03a74066cdb2594ae95371d543be6b80d7f4af75371f8347ec2cc5a620908bf92268107fb1c4c02e9ebbf1eb9e636bc5a82d70cfb127f020000ffff0dbe9ce240070000", + "3e00c27b916d08ee5aa54c8a3d2f31a5": "1f8b08000000000000ff548fcb6dc3301044ef530a01ef36910e5c80409313890ec555b8348d741f08f900bebdc300efcd64cbd6152168906aeb0ff8672d8390921915b7d214633f14cd3297ddf2a3d215e2d1fd9262daa8089723a68f2eabe178dc6a491add39ced9f464990a597b791fec0a619ba749deaecb755827821c2523d9648f2bff41721c11e2b3419235b7ca652b3eac7fbde803e4be3dff5aeedb530282f819b23320171f8a958d3d0ee6b3e9f737be030000ffffcfa015bc01010000", + "4a4954ee92c57e00f8a0f34ec9a08084": "1f8b08000000000000ff84524d6bdc3010bdeb573c9425b40559ec2d98f4104ad99e9a3d945e832ccfca62b51e23c9db429aff5e243b69c852727ae67dcc789eddd181233d241bfd945b012884112a4177b30f7d8276ac53b47af381ecc0908f8f0d4f393577d3d4ec8d3d1a47fba37b7a92f8033b67a81e524ba8c3f6639d66fb9711ff8b56dfe9d8fb0835619abbe0ad3629514e55720c47196a86f37998bbc6f2493beee6c3c104d66ff03972e21e3dff1a039bbe72f47be298b1bffbf1edb3dc146837bbfb82baf3a3142265e3282d25644a5988a6803a9b985a5cbf3c0be06ca2375d58dcc0eefee1ebf79f2d64f14821aeb0e360468733c5e479841dd85bc24061a2289a399172d5a1fcc9386a71fd8a0aa66e07566da1db957e2fbd553717d16d7323444997d7bdc297c18c8e9019f2f6b6c5a78bddb2687322e481b050d8f1f33502781b5b9656f6754db5d116eb39ff7eb2d2f0fab916f16f000000ffffcf5a70eb87020000", + "524efd5799b78f65989b6c1104215481": "1f8b08000000000000ff94544d8fa3300c3dc3afb0345a69f740c54799a9d2cbfe95405288066294ba2ab3abf9efab244009add4ae7273ece717bf17ef6ad4c4959606fec651af747255825a06459e0ee331fe8ee35672e1af2b5e7f36062f5a2435766818bcbde7bc94f21847031742e98641960e23f8e2a8c23139ab3f2e5ea111d224157ad45d870d82ea1b0b3cf53ccc2d77a4a8936768337b7b424d164632283cae8b5ca56a5ab2b1f4184713a16babc8d2e9b969944e2a24c29e4156b8ba294a383028b7bdf2a55788bc6a9f1d1c8c50e7a1e35f0c94ee949649d561fdb9c0334803606e7137f4488e940859a3e1a45033b868218d050b4a9513c593369e93a37d5faf7153ba13585f7aa9c925ac703a792206f9617efef952b992072c57ef59e95b0ca38b3c7043ce8b725fdc8f7ff1d2ad5b5b6ca4cdf37b69f74e8070acc42b4f76adcb7ec277973b9f42158a2f2003249c79bdff9cf6e9d6b09edc09916caa9b2eef54a319b8b1dffcf55697f63cf4e002b156fced50d9f382e6b5d4248d145b063eee727ef752280ebceb806b013f7b3ecefff5e3231dc65fb636fc3cc188bd79968166a59512ca49d0ef272ddef72fb4289eb488c2ff16a8e8e9ad72ee4d1cbad84bf7947859bc403c0d89af19bb5565f317cfa4ab8b6987cd4b2c4bd31ffff588a0f16a3745b73d332f18fbd07f010000ffffa680b9a8b2050000", + "52f14062d5b60ffc0896c4bda40d83fc": "1f8b08000000000000ff9c55df8be336107ef75f311504649a53ee36f4a1ee65e176cb9642f70877d7f6611b0ec5961d114b32929c0b2cf9dfcb48b2e3dcfe80f625966646df37f34933e978b9e78d00c5a5ce32a93a633dd00c80d4ca13fcb6a6095fe3d267218ea20c6b2f952019ae1ae977fd9695462d14b7fb2df7c22d1a2b6b1f7fc977418dd9f675cd5bb318beb6d7110ee02b90f7b31598ce3bb68ef9adf70dccae17fc7bf787d24ba35d74a3133db2061abc7f4bbf5b9b2e8747985dbf98014a601787ab9773ec4cb738fc14fc23f3bda9447b410ca7c8f22485df5001376631cd3fba9ea2e45956f7ba04a9a5a7393c667e0ec25a2856802ab135b74ed0b0fc7477bb5c2e7f9e47d46d2fdbea8b540201f30c30133cf8c30ab46ce1310300a895676b2bb56f3515d662d829034857c03e0b7f8330743084ddefba3678fc2f619d34ba98f0251352ce0301265080c7cd29cf4ea9187c63a118006e1b87c518c73ed8c66500076ec158d948cd5b34c1c3c6792b759301d4c6829ce3213c63b96e444488e5c83ab8562b206fde9064844bb415f0ae13baa203ec23023cbcdd9c02ae7b903fbe2b368cb13c9de6e914fa0ab949d6ad157c1fd6a7249aaca1159a625c8e29bc3b2785f6691239dec2db737eb176585d643a829f0bb80fba059315beb73a5197a84648f01de6e7be495feea00c04aff641c99d00a26463b917a408c8691778ce6f39461ee2fda6c80e5f4ebaf2101e833c777b3207e2c30f777b97e22f147a0fcb5180d634ec8e7bde52a28d07a14ddfecb0a05e09ed1d74dc3951813710b0f38934a1f43059d847f1edd6682f8e3e503c5c6df2a7b4d77035d29683ec217c596c26b8a9c722f2a75e0f90732847d427ed34ad24b553c4ab44cdfbd68f327c1d9b184728fbc398fd9afb1d2569d090fc97e7d09fe77c9675a823a9a4aa91ecd628c57575e64aef7efaea4b55b1cfbe921a426786e5d4617a3f7a4cefa72e4c7070096ba76262044af93f043c8db3e3f2d18573e314abe979a07ee44ab02fd2b782e630bb86c3309adc3f9acce162a2d13ccca6575a258eada13302ebd61cc75bec4c87cfef3e0448a36fcc91867f13b452c2bbae5083cf615bb0c5649fcf41853f11f6ebcd4b937ad4a5a6e48ecb36b643af9105ce5805cc107f32cbe37d6ccd91fdd9d1ff866e7bfd0af4291ba6c3bf010000ffff364833083b080000", + "545676fd88c0d1d27198d283049c41b0": "1f8b08000000000000ff4c8e3f4bc4401047fbfd143fb74a4036bda5368782075e612116739bc92698fdc3ecac08c77d770997e2aac70cc37b53c8ff506090d725a76acc124b164567009b588759b558b34d61d1b99d9dcf7108f9dca689d63cecb4a637661870c8910f94c695054b0561e489daaa98f7a56654965f462bdb3d61ce915128b033534bfeded079ec7af79293f29ff660912cb81840589b2478f7c16964e9b647dd49495b3dbe3d42dcebe9f8de452a5f556549e1fb868b8d5c2b05b64fb09fbcfaadaf19cfb7d283bdf6bdb99aff000000ffff5167c69218010000", + "59c3c4502bfd1cb86f9a7572f82ea9ed": "1f8b08000000000000ff7455516fe3360c7eb67f05e1a72448edf7003da0b8eb5d07646971ceba01c3d02a161d0b278b9a24c71714f9ef03653b97146b5e224be4c78fe427ca8aea87d823882a28323e4d556bc90598a549b657a1e97679456db1a75d57d7425331fe671f9da3391cb334a9c955e8bd86ffb76afb9bc9224b132b9c6835edf7e83eb6bf307a17bc338eb4465978ac3a87593a4fd3a280fbcd33280f9d470981a0416dc1f72a540d780c4199bd879de05332d037e8104283ec29acd5aa125c1146d8a1327b709dc9e10bd6a2d38177338907d4645b3421cbd3837031e22d7005f26f1866d9b7c797fbcd73b6bcb69d475b612d2cc6f4f23b6b23e53b6b197a2023b406475d400fc2486895941a7be1106a7230bab2976fa8d3127608126b6550e6b06d9467a4d020187407840a4d400754c3913af72ecb3c2d0adefa4e1dd76579116c097b479df54bc050e5790e4c4062a5854309dbc727b8f9045f1effdc30c610b745613ca818098494202ec907825761ed2b2c441dd02d46302eb16088186e09a111615843afb486cde3161a71c0e1c0607f81c9f92278d1c6ee71daae434ed5a1a7ce5513e198ab07e1a147ada7a47f0b20b4a79176849fcaee10aa06ab1f284199584c72121daf8e578588c9bf965ce9af4aa37f6516023edf6d3f3fdcdcadd703e2123c810a53c384eec591e5c5ce568b0a2568e1c3142bfa5c515f327715868aa0f19d1bad3c439cbb120b7bb6337840c7eaa804df923cad3b53b1d466f32b05c25b9aa83a0af3f6168cd2bc91c4cf496df906fbd9b47eb491131b25f7e6b082e977bf795ea6c3b244ef15998d687105d9cbdb5b4e36788e96f35ecec53a9d5efc60962dd32439cdd33449f83274815a1114d33e8243a91c5681f55396eb8159fe87c7591c2465b99ecd27cf35edc1e1bf1dfa00716c6040e761562b1d17acfce33cbfc0b8182ef9d3e4b18edf1194edbedd6f6759912de1815a7c10466a3e4c4e699a380c9d338c9b9ee2459e380d1d988eafae01eb6c3c1d33130694a9a88dd366a01ff55c732b950743011eb6dba73287ac09c1ae8a027f8ad66ae43198c1eda761dfbf3bb8b899bfe24b420f8b85a1b058001ab1d3c875cde370e11171351f604b20299266b01ec161456d8b4642e7e3dd05ebe8e771051383f3f0ce15bf0a85a4ca17d1662c10b4e41094a9c9b531ca85ef87c3bd18d4fbabe76769fe7eceed2b5bbc9dbb323d341716b301ec52c265b9fe3e366235a998ef41661dc92ebe8e519e65b97ee2241e5048747e05adb07ffbc0f3eb9fe1ef2dfbebe62bb95e3889f2e6c951a06c3576263b2d5356f829fd2f0000fffff938fe4679070000", + "5a632d314f6d6797fef503c04ff3e44b": "1f8b08000000000000ff2a484cce4e4c4f55484c2ec9cccf2be602040000ffffe129fcc910000000", + "5c28c6abb0b23e98772f3aaed045abf5": "1f8b08000000000000ffecbd6d8f1cc7912efa79f82beace7e590399c98cc8c837c3f48145c9f6023cf72cb05e5ddc4f06b74489bcdb228921454bfaf517f14454750f3994a8e1c86c9f630356176bbaba3223232322e3e589dffd8fefbf3d2c6f9e5cbd7af6e2f9834b4af97279f27c7df1d5b3e7df3cb8fceef5d7715cfe8fdfdffbddff15e3f2a727cf9f5c3d7efde2eab7cb1fbe7af15f4f967f3b1cbe7bf51ab716a694530ecb7f7cf9a7e58bef5fbeb87abdfcfbe1bb6fe2bf3d5f126e7e69eff8edd252cecb67df3d3b7cb5e4df2c4b8cfaf39fffaf877ff97ffffd8be5d59b6f967fffcfcf1efddbc3e532debfffff9487f7ef7ffe97cff10b94e8fefd2ffeefcbe5f2e9ebd72f7f7bfffedffef6b7f4b7925e5c7d73ff4f578f5f3e7db6bebaff1f5ffee9be7ef1f3bf7c7effd59b6f88d257afbfbafcfdbddfe92f9fcc932e97675f3db8fcecbbafbf7e7c78f1d7efeb1ffffaa7172f9f3eb9ba5cbefff6f0fcd5831b5ec23967fd51ffca6fbf3f3c7bfedf377d91e69cf7f1d7cbe5fb0797f9e5f797f72e961fec6a79f3ecc9df3e7ba1f797bccc8cff2bd51fffd7e149fcafc7eb7f7f73f5e2bbe75f3db87cfee46fcbb5ef7cffede1b7af5e3e5e9f3cb87c79f5e4d593ab374f746adffcfedec5ef5e3e7efd74f9fad9e1f0e0f2f98be74f2e9757afaf5efcf7930797ffc24493ea7623feedd957af9f3eb8a4b6df393c7bfe647dfcf2c125de7bedf6fff7e2d9f3b7ef7ffbecf593abc3b36f9fbd7e7049f972f9eac1e5bd8b8bff496d240934c6da66ec1ca8d53423514f25702fa9d8f5c3562971e839f53098024b4e822b9199c643bd6a75a612ec8b836710217c7bdebbb878c88553c1edc6a9e2bb6c97f88143cc89435e634e142951d04fd65bb1245e23a51eb9a7164b92586be25813c5c169e8233d12a516f5ff5cf020c522a9dfbbb8d03f732ca9c59c5aec8963d639e5d4d7ac132da904e23422e9a4f4e525d535871c721c3d75ff7895f52b55bfc291ea23e2ae447b3a93e8d06be49c585fa7cfd95b7aec69c6a62f0a19ffae4ae9d4624b823770121db37e869a26ee29f138b550f4bf071d3b4dffba4d44ffdcf5d3df1674c2ba2c2591fec9be1ab827b18fb6e2517c4fdfa66bcaab5243a92c51dfae33c0bcf19d8155183eda9186be8a31291dacbe4a473182a4b1e654424915eb37a20e9d729a4a76fb59c12b9b7ff2460c257adf2f9ee654fe0c56fcf1f2beee0be5e2c7577fba7afcd5b327cf5f63d3ffc7977ffab7cfff4a7fbd5cbef1dbfff9fcd9eb570f2ebf7bf5e4ea3f747ffdafe7fff9eac9e5f23d3db89429a9895c2e3fd083cb2a39b5dacae5f23d9ffe891f5cf69c6aa172f9fb7b1717bf7bf5fac5cb6579f1f5d7af9ebc7e709975ebfc7078f2e052efc7f5c5e1c5d56fffe573ea0f6bc320df7920491ef3e6a7f2c8f5b31b9fa21b1ff88cbf685ffcc16871ff3a31de121bdf5d1dfef55f36dafc06fb1a9bba041a1d9b9ad208d45a246a49b0a9c5ae8f9bbaee9bba1c37f59a95dd4bd48d2b2391f272e804ce3b44aa9466e8caff4df98138954734f426979cf8d13e085fd2972f0e3f7cf3e2b90ffb5ffef0c74ea55c2e2f5f3c7baeabd89ba8f490b934a92a1b724fb2d4ae7c53674fbcd43e12872a6369ac5ba99691ead2cad8af479e7e3db66ba154977b171723d7d443ad2df5a5cf9128d43ef57a8cd0724bbc74fd77689c535d7ae734432b92da72f141c36fa0928c5416154fa1144e75a9a2bb8570b7250a85ca5287ee84ac2f6fa2f7b24eaeebf04aae49963e702969e8c0bb4e8f5b4bb4d825eb4cbb8a4fa6aa93d63dc779a4b90c7d92b3a4b2cc1138531a0b652c49563a509e69069a4a5993607db125a3d1535d3863fff696445fcdd49575babe8565e8d77a496de1aa0ba1d7b4701bf8ced0eb5ef15365e101969839c9c243e9c1194f4e888bacb4e1a1220a9cb6f0245dac4636679e3d51682a6c17ee84eba9636e59af2be6c2e012a5e6a22a8a4313251265d1a5c3b313927576ac689aa1d6ae64645dfd5297a6e4aa042eaaa9059923b1bebf15d54bbd276535957375a6fa1e46e89f95cf59aef3f1084df0ab52f43aeb00949347a853c7c853c06a92faf5794063b6417abfe277664fdb1a756e200ef754436f9cfac24d257a1f25d5a55053119cf58152671a61704eb494a1ea58794254d486c13dcd45ca4ca4fa78912a50e57391a15c3fb8a5b12859200b74e349d1fb5413e900aa3263185997bc4edd897d369d2d29b9fbc0cc791b9872b9da05bd299bb7a65baf5749b4b4a933ec8595fd5507874e75e945d43e98398da5575299a02cb653ff28f9f63da8224fb7ce0cad97340fb1aa2ea4340e9cf186540fac6bdd0ea21f94cad3515239508dc574684b3dce5443e976a11a8f420e8d5458ea1cf7ab436f6a38ccc46f22cd43644923724be51065268e2dcd4727a3f9f1dd717ff6707ed11edab86b515ee342fa3ca9de95549e4612fd37d7d4637baab64c3bc4a202ad3d8d95f45f0c8191caaaef1e816a1a5174ab488b552da75e4c7147ddb80c5b43d7416a64e5a636cdae2a814ce3b34afb1194054a4f7c502b2a70a203bea41357f9cf9cc6a1c008a8a91d5ab7ab7aa8d574793d88287d929a7d072e6a9c49ea87d6d47ca1540f45ad0e4c905a2a5138f53791f8906145c83ad56aa846893860a2084cbca1d69e32995a7945a7d1a2c0b6503ad59ee6bbb46e7ff8bc7f518dd63c27e803aad14c2336d588983fc94c2d0c5d40bd948374d842f254482d3cb595cada7b12908af20ca3e0fb41bfaf8ba7dc3f92403b327e78ea42917d3fc953651f02c3347d693f28152434dc1cca067aafe8dcb2b2310fd8a5a93d526dc24166769e509bf0d1c9746e60b23fb6cff90f6c1317557041ca487d153556cd4a93585355ce51d394d68a498afe45774fd3bfa89d27abf285ee24e51ffd2495079c9ab21726a37f0b2a774999465f53549eeaafdb5c2516650f49758d2a9a945b6960044de75974282bb6206c509512532d793d87502a7a8428b34316ebe82567e85b7dddc9ec6ea203fee7741013ec92ca2a30be39546cd9118a32ad1e0b708ca87124561358cf033acab92a3b068e2aa71acce68989e9c8a4e43483f4aae3534b04d72d9cbcefe74646b01f549cafaa03d4245312e650c10d6dc5512cb1ae41d4f7e0c453d25c752f32560c6b596d852af6dfaae7a58089e8c6f6e38eb27fb53d8a93911e27aa4e7eac19363e36a8b1bc9ebc6ce84f0e87672f5f3d595e5f3d7efeeaeb1757df3eb8fcf6f1ebab67dfff6b4ec463519e9d3496fd436f4a4d35cb5846a9494aa1df5cbe3dfbf57b35c97b1a97cbfac383cb32492faf70f772b9fa019f3a00359d6f3586d839e5cc63e95992cc516e1e446992da368892f86e07d1d31cc5ecd95e3bbf6708256f74603ddbda105477db2070f50e1f756eb38e4dc489eed9ae7c14ab2d9f8a90ae4bdf54deb06e2e3000c5b9f1f84c12672c387f632bda2e54e1deedefd088d891ca416ab7eaaf06ce2627c63aa1246660bdad3bbf98ecb093abddcafb9951796be23e43a628b7d36aa2555f82932743ca90f3b1deebd10e93aad22ab481ee423bbceae932aac4aafa3b105838ef12045ec16070e0c4b91ffb60469c63ed67e034504182c3ea0ccdd527e11cdca31d73f5a45ed748f6749250ec341eaa523c43e2956813ab7a96d6a71ef26c81bb8a2c9e1557339c2cd5cfd8085c7194a1b1aa71112452379f05e368a7477c8874d61556f2135c225827b50fd49e523b081aa60635d887096fc29fa632432052598367d7ea16012437848b1a48b20e9fac1e9294bd42818722bbab420eee6c394415e9c36d9aa29c34d4a0e82a3eff8cf9fc7879efe2e2ed697f900f4ceed805564829d39aa89057abb729e734651de535d8905cb0a1365b6906eea60729f0486d9d60385ddad8942caad628a7baaa0a87e280882d38039aeebbc158b9b6e86aa106ae53175d42562d39c388259b229dbe27d80cb70e3d1e8a1de0121f8619a9f5d1fe433f7e900483cc8a26b4b6ffda3d1d38892c3da74679de2cc260cf7e9408738b9839d10adb0976287c62902aba99d706cf12991684b5c0f068a950e81015caef4aa8000b621abf43bb11dc52fa408f33a8d0834501c3bf2bf128520d3460a0817b0b2e093f0f438f60aa1fa03d39f5472763feb9556da14ad3d5c38c942174797bb65d4581724eb482f758d7146ec91a601f16350470b2527e13d8fdca753d1b29860b6963453267224cd4a47bb7d89e6e7086ce6096649295cdb690a087d6088710a920192b8c9f66f4afba8b0503512634f9a1d28fa71d305a6c50084a1c50c74e280433174ec30328cc6adbc23eee4a5736ff044ce50981aa4f408ce93d1c76533db841d60f3066ccce7e245542cb662aeb146c7554d1c841d9a2c6a9bf36201cf56755b4f32196a1a3c4407403412f1e224c42d8e513ebaa7bc797eb67247483d30167e615225a79ce5c9b6113d2b2ba8c0e9b8cd645d6adccab8be868225aa289e8eafa07323a988c8ebb8c8e2ea4e326a4a30969d5a32ea7e326a7e3514ec35bdd533b0c18bea4a7bad8931c7485479a8792f425ca4a8f4ea6f5cefc3f89a8aee07913d52ea9c32ea9c351529ba00e9ba08e47411d5d524793d4f128a9a38beab88beaf881a2ba9a376e4c089f8915c3efaaf15dd8fc066d85675db5ad0711b08b225570bb4ee1d1c90fddc070324be3133b4f25800a499ba19a20f8193d43c1972a7c88ddce34b0fb5453d83952cd311c17da8a63605122aa39d6cca0ab387041fae26cc415b6d108a586ac473bd58419fc22cadf7a402a6a01821795e445c9c6784b24ddc5c6b370fa9b2c87042f70f9c2098017ea8e257821f4740e55574aace27c1bca5a084195aa3fa007b081788aca41e5e982bd6fa456918425ac01dbbd92f977e4a09235bb5da9328ab15daa0a4018434a41610bc860157b80bc28aa52d6683e80a20489b6793ca0644e146c3d4214041ef34d2ee377328e5c6ab38a79323c5682af91ee4b446eb0954311634bc6299986bb9ab0626a466f3195d861663668a67d66165d9a6e89a9ecf4331e8c6509d95c007d972766a1739c300895732265b89758d92bd666ee88199b0a7bc92038c7fd8530f4a34c7d56854e85656e14af38c4ea8aeb54a3e4487a8a8820acaeddaa36baeaae6a4a78eaa8d46e81187cc8bde3c00f653470b88673fd6423dcb065da1795b62d23f05af1187031cde81ab75b540bcebf5457e85378323a2219b0f27425e000d063b7ae8d4af7083f2c4d0f33aa98d0430ee68fc3471de6a90169a7528e7028283950d1159c0fc56e22d028d8173a3e0a2763bdd1e95c3fab9fd53f1e9dce0ca7692d736151215095ce0b4b4d23d49a93de1f887e0cbb6a053efd0eaf7bd7ef16c1f5d0ef16d6e770ffdec505179563b50e7d047ed45a259585558e855a8b3ec22db9aa7c8f9ffced213786cb5ff4698fe7484e7d69b0736bd181347bb3706a4b1335722ac205ad4c7d5b2da92c4d256da8d59dd34d8fd01ee7d16bc65c6569100436277d5d0bb5cdc44bc34ef3fba4df10b8b22b8205157fd7c9e7f74c6bd303dbb44a472862e8fb4b535e6eb32e4594bbbbf9e6b9208e56970269d94957a540d57635e2179e3abd4e88afcc167aaebe1216379833c9c2b3223ea05f41b464e89a94dc4243c0a650c3a9a6a6b614d0baf5acf74bc635be236d8f3758c8a08d9aca4dbef66bfaeed7d3c2eeb07eaf223ea876a5035c877aced4c36f6c7a41309be8d1c9e06e0e3cbecd8816ced015e345d75c0982d0a3e84e6c5389560b488c604cc5d1afe796ca52595747f9484f00baaa8c27e1385139817889f266e8d497da085715f1c0866b4a6d5156ec58665c8786409432a54542e803f7d4754e5065a253290b2290a14d4eb49462315f7d6f4110482750970297b532ddbcc698f72e2edecf9b826113227bba55dbd4a9f16cd803a7619b9f09feb2ee8fd6556a2965058c5b1765c7e3753686d74d3f95d394f93f2c28d77044ac3c122dadb16a7a8f0a9e5c5b3c728e6580512b22c10381297db25c0b2f7770815e37133be47f7a5fc0f88f7ffcbcfde1445034c1ea668b556378ca70cbc826701021ab704411ddb8277fda02ff7883fb7f76e4e7d43adfc476cc6e611c1f29321c60e4091df0347a3e096d4e3fd86cf085f91d813080f3ef90f73c98cddd4cf815f23c180fb4d8335bb24b868980ffc23a235868fe9a68593d96e2939116334256dbc5fcda3eece1c39cab3dc3e631779f24d9c9d662201ccca46b9e6103171fc14a820711ffcd9eba93032c3cfdef2758ab8ab029b77faed5d9af55eb0db6889cae5580211d1807355f1578ef33bca6dbdacd6861d219b6542a318736d609546b27f96204cab66da994cad1a83e7e72a9a279b16bb4b5b5b38daf55f15f29c7d502ab0dbc89fd40e30f4cf8f3695baa785cab6abe10a48f350f09280f29cf114ea367b05475ea61a9cefccfa5fa5597cafd457cd7d9ad057ec6d1cded4596d596f73c50cbd02c27199ac53334cb498666fd800ccd7d793c42522c59d333347799f493199a6c39ac01a19d3d43933d4393dfcad064cfd0947733349b6768f60fccd0849b169fbca7ab22c23cf78b1bb26f1e7efe793e5a0abb9de08a475c82b7931dc1ae78ea89e219ae11c6cd8ac736c991ba6cdae744f7b0eb1e3e61c37715cfb4d8dca9da09bbda014ddf553c3a4cdb77bbee99a7ba67533c2e0dccabfe96e269c1b26e6fd8227fee8d6ff0595ca36b955da7ff93ae1f4cd72a3f43d7d6dbae7f7da36f6f3b358ac8a5fa29ad874bf5f193527d27ac8bf5b98b75b2f57a3f51fd89ea9fd7e439ed5ae15d79be53f51d91be9135be6528057a4b9e77c8f37e23515bbf294c7d4ad43acbae29ff49d40f226a9d3725069d12f557d760f72e2ede2e33f85535981bec3729b15f5783ddbbb878b453f3180bbf7afcd5b3c7871b2a0df8af16d1eea5a7d6a758505b724b34695c2e570f2ea5a632271f2b12fe725340bdf445974a262ffb076e4e4a75f4b2f0e0346b97dffc5c69c30757293c943ef83d550a37d71bd45a48de53d630f2e49b5f33c71f8b47bcef5f27e4fbab1478ab52e8390761c42b113cc602b23bfcf4c09a13af14b95a244704b97489a394242bd74001f71849802509feba6dd640cdc2b908c155fd99325379b4bff56732f27aae81e1f7cfa608c16d26baea6a5a49903da89f5d15db2a76c60d081d58fa0c83812d5083642a4826fd3f79811276644f25224d8103c9da548906825354efc01189b7b225a758ee21458498914b808371b4644cb6b8931296d8cf012c183147c4cdb2056cece4c0b10acc8a16518590b7dfd3f5a878ba2153802c6b4c3795253a53ec88a2af6c31654b8fd1c32d59bd485df5cbd411958c24dbe7bd8b8b877a0a9e817922fdc1897dbc7ab45ffdcc429561abdd53f5fc2e4b6043224ebec52c3d2e7827135d955f91f05b908d37b7cf37f926be3233fe4e58eb26beea1ec6d5a9985c6c10f4f2d314ae73aa002e9ccaca16e42d816a4431093e9eda6caca0ccbd344ad295dc2434361497e2165dc6c1912ccd35759daf92014c8e502d84fa083ac1cda2e86a35789450b78365a935b304c2c08b78c541d5680865d17c4d2de550229b8e0b08865ab2a34eca2c0e2c6a923536a8164b7554d3d57209df3dd85e23556b3a74290539855e7ba84b6b99ce88816e37a6b9d24ce0916527ca6e0e6d264bd9861ecdf556118b55535a4cc1daa4dd46c6817ff5c37db0f424da3e57b2fc1095254e187c1e72c8fb31c053ddb7a82e0e1196ace9fe3dd5ebdd6d1b4bdd44828bdf85dc31ab0703eb6f5982f3661a9ee636d48c7c9d5a61901c39c84e3492d808857c66ec938e9d3c525d2baca116105a27d702b09a8ae7aac769bb17c95c2e45b99941382dbadd635191b1a50f9415894158ad1ec93734ebf3d59faa6aee288b23a5aa0c4bcd2c5e37e0312d952f88de531ca9458461f2ba25ed547d0c59a47ad19046bb5ab688e5204e0804b68cfd15a5046aa5423fe8d8a0058ba5caaf88ed8f005eee961b4601d314cbcff7f423361980307641da2c923455b82131dfd20656378e0526a8399b24f1216fb906c5f4924a12fbcd692f1e2b922af41f1c3ce36b062be3d0c9588e020cf8026121a17b165c433225e40caa35500a4c4865a8f8249f2a92232d7f05f5299e7bc16b337bd3f2dd2c97a058e29eca126327b20c57af8229ab551b50e06a89139ecae2f93096ee5b603f4306e6807163f96deaa2bc8269aa41fbb0669450a01252af4b60140a9eb0f887c5c7c60835e76b512abfea057791758638591f308550b2b65dd3f11a8592fa7dbdf6e248ff27b37fad0751822e7d203c465612296f5f733d86d04a3e5ed7a6d7a8ad915a126dd782fb153c2162f17aff67c64fa1e44d32a3f40b994a39275eba28d79789b85ba9ca68134335ebceaeb3d2b50cd4ec75e4110e14a5f576bc6ed063282dbb7771d15ac5e3082e361b0642fe56cba92cb3a83cd7998ee3f53b81c39be37d22c2c2c72594822c71e24590f55949872d1637a49a44af916bc7b83b425519b08825632018a94fcefd3bf04ceb46d1c96cff2ca9ec5fe30f1e9a9a34faacfeecc0754de43582953a0687b40ccea9e19a4265c6f79be5a6a3a6b0fbf77d48482fa1869fd2ad55493e30922d48c7aa9cf1828a97e9af28252aa832432d4613bd325a5a2570c1df319422692c621922c533449c3a459cb81d8f545cb3fe14ae74ae0df3c6b7d9be514181899f2c3b352a663df17bdb0215fcca4625bc1606890ae145d802c9a47362e4b2948291aa98d291caf6b8ce7efbd9d2f09d8661dab5cdb86121505785598a64a403a18a57ffd16d5e765b5f88af0b8829f8c98919946bebf9a14b555046cba08b71a15c634f2928e2a689253c5dd89b38e7946d9c8bd899f33dc17e4f1e3fe51d5b1cc1ab09cb872179201f5765db514692be0d93e7c6313c4063702eea8f311c23797686a3fd27b187b81e69a816c136e4f5d9d57a78f2f60644ed9312c47c0bb530dc0a25b13d75f5647dbde03b7cb9e00bedf238eb4ebd5d2e1e391997cbd327cfbe798af8c70df6fcf64acb84aba10a3ff5e2d7edbca4f64cdefdb1279fabf9596036ab6de8ee2e31e310f6623ff96c7eaaddad4471df103db437abe9e163d83e7f7c7bc2dd26ac437e6b063ee1729cb0bce7e19a6ff3b0935ada473c5ce563863d3ee2e1f631c36eb7a2b63fdc6f456d1f76ff18828d8f1af6ada8ed0f8f5b51db873d3f8660f363863d6f456d7bb8e58fd8922d7f04c11a7dccb0e9238441a38fd8928d3f8660e56386cd1f210c5af905d47e27ce8f737c538b84695865a79518593400de8158de5b5682c8c7d4c362af3880c259e4304e285b573df5530f0fb8155b5e2dbec3eed380c3e2ad675fbc7cbc3e7bfdc3834bbd6d5e9c593c1d71ac5b6c125568a1a04ed5ab483d9062c1154e03e594e6abb0ac72c111dfa6dddcf9a1bf30f509af0998f876572bc4ca3767e856c180a7a29533557c130e2bc645858f9791ae8f842a87ce7202b3875bca0a002df8e39a8786dc19623f5ef012d40f468be09a726f1eb34185b847769ba172052073ad79cba10768842060531eb6a9c441aa31723567681d6eeb2349dff5e77e506e48b9ebdc1064ccb1f09b2a16fa42a15fb47a3f54c779a4adc46265129ce84ba16325b8bef1934ce17b7a70d947aa866f258d0cdaca6fb11a11f53c464983b76116553b3acced1e230bf63c32855a1d762e49f52745c39691e1314fb8513dc3329c246478c4b76ff782d56452dc9231aa0790e1b83d642b03ddd2362da4bce5436c09195b4019b167b7dc11e68e0873fb53e22e59099e92114cea59e6a45bef1e9e6e70cd8e4d3a995430d39f3ccb1359161eb0453c225a8cb7444fc8409a88951fe2bfc7b19987b25e2b89bd41d676f8451a006f548076a72b3cf851875bf79c00cf5b85973f6f7e69681389b4c5a5375c398bf6185819aa14b628790b0e74b2ff8afdaa67b180d8f0df013963eea4adbe2015de6e0ec763914532688f3e1e535dd98f466535f28be3030c1fb3de2feeeaa7688a6300d7c333139cb696db83300106886a2dfcf727a95b274a6026997bb782e308e118b270cceadab1c68d04804cd86641ae3465539e2733ac4eb96adc6d3439090121e0b87a30c1ffbde50c1182fa793f3a921f344b38fef6ceb247c6a42d07c3a321b491c9c2255bd064bac6c271d455a967403bf52d7b64383a84f87df1dc941a8f01b9874a43e48002896ebbb6ff3a6d7ffc6999d1e0caa933f1c143167cc2e4cd55fa3861737656e9276cde9c65aea76c1b3b1567731477faefd49db1f73d79fc3790968cd53d9089cf768dd9c7c6f46fc991beb1fd293318bb070bf3bccdeed5b7e3588f49a99bbc18b1bccdec5ecfec392c668594edf38810794d61a8b619e2baa6b2abc4a1e77868447e8f1c2abb99eb59137bcc53f581ac967e860043377c13440d2682052d8d5003a11c5680b2b55afe0c0255d103b3b1986c773016f2a273849450728f0014024878580d322b156e660a1603392d0815954812694b3cead898e201b67a2d96fbb3b3449d5a6035d4578b095bccb4a2e095535bb71f1e006a21035269ab6ffb025955ac8ed2726cd6e28ce7a62de23e865304e9a34304338fe031cf6196af8130b0c5e5d82c5d64434741d8ba02a7a8acbb755b215e4bd4a1752f79c53e89cdb813da915644042165d9c36908ceab3488823fe09c62c5ad5d976035394c41409369203886f5d40632badb447555d12701de7042caf748839b97a00bea9d2bc25cc5923b62b71097efb415822a14577628904d7db5f02b329e8201bb2add0cba4ed7ca8f25c52cf3dd1810a46c6fd85c92eabac5cf05a803d3b49ca34491e1c61a400e2020c009168084f02a961e263558a89a8ae7a317147ba30018cfad11201091bba52e4412032bb18497b6010b89e14d30b8863675c226b43a629c5be091c4bd910c6d1dc480ff44f726f605c996ff0641bf5657cb645f2cc04a81295310bb230b2b237fcd227f641b93900562c1dbb187e5c54bc1c5f58fe530d1c35eb13056ee270824d61e4e96fa97b1086a57591af497a7f1fada12407595c563d73dd800eb34232298dd76d1f032766c2b2be8b7d147ab399f911dd4c450a32c47171926c5405518675272e8b18a743dc490c11a6db5a0710f16096d61c62d59062ad2d45ce847cad9e112722b9871d6a001d9f54875f56d8fd4552c75c3e04e106b4501602a0f3b23942abaf77b81252ba267ff23d17e11b19be5c4b08b0120b08d606926dd4fff96f260d9082530a0a8c8ad6ed9c4a8a53a98e93282e1534f24c014307931680f334caaa76fc14c729f03721e0305377775f9105d66a4792a19a609b011871f0c802c52b6640731c9ad6b13c84a400c2c5a0f1b961e0be1ee542760e018d529d2bae5ec54186a0dcab979ce890954cbe6a951764b004695b29319b130ca2defc67d0d03b3cfe6d311cfb0edf8ae0abf6a9901c80e30540b53786be4702c5cb38236da2aef8d73233240516a2fa64e2d47d8b2e8807112b29925ae3625f8c47f097f948ab27fdd142e6500e3a2ec482a3ecb8ae81372216670109fba56cf10a66630dd8190a3412e465aa8b6e5b09f238aced5d23bcd6cedd8d11ca6eed16699bd6c0e18834082355fede069ba2c3b6acf495a9b95fe109945d16c15574ffba890600c241aa59c1ca96bfc69291b3a77c79768c09a01e761b31bba844a158c07c972dda5256f1920dc2c838242a98e610588126c2b1ed841c584790654a31f7d375f1cf084f09768893102a9667076d34090a6ed11867466202de9e4d6b6953aa4061044b687b77c2d8928a28a767631a445f0a831638bae11d873562be0408094d2772bc4322da160b7446dd722782147cb4dd13366736c7b689f0adc0d03026a2b2ae3abe14f217f2bb29da1c666736fc7cfed735cc754fb7959570780273cff49e2564ee6ca4005d31ac9b724769c4145c2be9f5e19e65526e6ec3079c72eef0cb30f7688e7f58923520a3c232e01d90d1f896650f21a69ab1e81cc401dca06eb2791bcb8c49c2f1b4cd2d8ab5eec3ef291762ba9b8be81de59f5a02a38ab00ed723d06299ba31512f491493a1841f8bb183a260cc1860c15604cb4069b8a517e7f24ea2d3d9d77eddbe2897492464853252f06da2ca07a5b70a7bb1fa65ad3b50386c5cf999674b969c3726b9fe69d8d554f993c879f325bb353a6dd618b829e05316bb735379f876915007fb86135cf8598a0218859a711d3eeb0c5a3cf83980d293e9d37d16bc52b65af8b399b3d54e187685312add610449019ce663bab603b13877b25835439f135d613f712fe7f262385cba74d2bbf6dee5fb781f2f90cb354023e4a36a768738886091f49b1a8e4b98cb463a4303c77605f83888c94771efde4b2a94836d9d4a60bfa22ec81abd9ce0312b16471dc1e2b8850731b18cf4089ed916fa990ee1cba11f85236ceed3c86d306a1b4a62363fe3cf853c6087554c39fb5e24ea0c2b2b97f917bde572a8e8a4f1dec6b4eab787bb0cc3bdf6632520db51ba6bc01881a9a2a908b01ab7a1e23ad79a2594c5b6345798c75e43297f730a4ef6ad8e3704bc13d4ee6e53d1313a1d4e253c0f8dddb85536e77cf4bb7a2019a96e731d05de97ca4b2107cc203b1392f2bea51cd07547bb8b3c3dc606225b87005ae7db3d33b8ed42db0956e9dc9cac8a87009b6b5794f39da40eeb173adc078c3592927500ad5a0a4c384eb03809400d11de731b182b208a6e926fe0080e606c5d7ad1d0bced806421aa695fca0a0d4dabe9cc7442413da5a11f06103e5c0c38a5e457054e1550ca574070297c06878733e9ba704d601aed5db0d585719ec28fd3893610e00abf66a81816e38b6c1ea027b7097b449d8e6413684a3cf64f802dd55ab753ce8ee3eaea1e0bf67c30d65e4405d5071392ccce4d9141641ad5ee68a6a0f2febc5bfce63f86a3208a257b26e5c6c6e750ee6a0bca5ed7bf703059e7cb54a634378630418f87c4443ed56512830c3c8e30edd50c2e1473e13e150e17037416ce7dcadc4b78433b2b4ea003d293b35eb09e6dff889b4e0bff3301925995ccd9b8976598816aad5dac399685e1e680ea707058f2c0f3bee2095e75c283911f5accd738ab6e4cae2b18733d93e6ced39ad97c006c8615d72d97bf09cc9488ba573f03c71b41707fa3b12f4d37b5f98cdfbc23cdcfbc2deb657ef9cc718c9bdd75cbcbd70a1ee632c3f55dd50ad599c4cef368dd424f893cfc5086833719026c9fb699982453282f7b53a132ba0a1fbabd49e8a9db2c7067f01ac002be53c17b5a0eb2e0186ec6a9156a40a20b14310517e176af113a959b1324d649a0dc311410b040beb9f892cab1dbd13304c4b891deef81e1e7b3e177aa297010b599e2f1c0b563f546e8444f94483b4766266026ea905b215f69ecf49b01658fed2d056c9b29aab53b3eb71e53c8659d81a78795fd1ee0950d54edcba93ce659cc69c96e56760421b969fc4b361cf82c41fb5a98be7916fdd1c2d13fa6cd853182825c2a9ae561f52bd118632e799a408189441114ad3f35cd8f25c8261c5b5f330b1ac20556dade24138299e20a077ce8294dc9be70201a1d98a42d146a8c0f03f139b8e07524fc5f2388b953219b696f5fd3e1779c403febc821295bd90a4fad9f44ca2c3dc37dbbf796123f7cdf66f7226631cf9ed310e3ab731f6b18d716e63ccdb18cfc57a33a7531335dbadc66903b43b1f4959fb7442f6eca954fb627b5edaa71fe3d8177b6c639cdb629f8957ac6571c8a9b26e5949e4e988c0873b97610e87706a3ecc7a8aa21ece269f42e969c05da79041732b0f3c9f14aa86b499daac4ef1b8f0c5eb20cfc431d6b86cf9a76c7ba8713db394c956ac5d5f8571c97bab77b811c2993026a3ab327a0a9e380fac6d7c897c1eabcd65cf36aeae1e256fab7d2ef69a20c1a85507677564f6b2378738939dc365beb57358e8cc764e6146cf3b83199fc1fadc3a887da019e84c768f77926c76e8a9ae20556272a0f358efb2ed9db6ed9db2ad773b97bd23841e8743c93880a0c0e4f03b3cc299d81a95045d430b6a3107d61a30c7bade259e89bb0dc899d62e72dd6036d80120249ec9fe06ae282a860c34deaa3336bcf2e3c6b90619f9ab363afb3918cabf67c3b51d1ff4d86dad58b9b8d552d20d60f59f6050d10635a30fea97ca923b19145a2ed3d87aaaf0eeaa27ef91c8b06b643f15b06774006cdbbd3e8c8c0442f700de30628095e2adcc67f01613860bef85acb1591dde49dd6f75e81aab09ae0efd72f47a5b9f976a45ecd1c7147d4c8655660d7a82a769a254fa972abb3ba1ac4335ef50a6a8cc169423ce4fd186504abf369e20c1fb127caaf138c2f4de973092437e58eaf32759b57e6d44c147144f47f48b2c923b715e5372f7753dbaaf737297472bf336a6f19d0c6c1e075653df863693bc3db44fae31a54f43ad460ebad9c23d0db472e0a9e735ebfa015c9d1e0093c364187e825afa950db8c3212bc0a7c31056cec498e60ecca05150a26e260b0d203d601e2d967558ae801570c0c35303104ac49070806a12d10f4225bba5af8b7d59bc7adece102648a878d57311c77204d636b573f1c7f0a870c4e91c7b6a685c81d311da5e9466384c30a7546d6d39fa8131db33890d9509379d65faa462c84ad626a37afb8dd5baf264acef006044303c847a3e7b1098e682be3bd635039c350dad021050a897aa08794d6bbd32ad668a93ac15e042649e496b948b6d7c26f363a9413a5b7f1e548758b5116afc0d95aa58ce79031a1059b4b4443a9f446361ef2a50572207712b193d5328941cf996c7b4bb465eb56dcdb9be01c448368812ee91d190c83e0fb122869ee810d9a17fca9f89fb2132e4b7a08601686368c883cd72bc7a95038a1decc320222cd659f52933621956d48664198afb7c3d1b1f254e06f763fe74b1f632f0610af2a23aba1f422ad78af4780a83cd2c3ea2788a7749aeb7757cdef90a14ccaacb9b421b90a9b5130a15a07b86f903542dfbf8b2ccdba75cfe5a88b234fa3b88b2a59c0997df01bef0cb17871f3e19adb7761af72e2e2823a121d3e257bd2d13a86683d35c28034f043d312ece8349fe41c091e139b061663f1d6cf7d41ae7db6374dce938598d170fdbd21e8498fb9693db874afecf049b268bdc8e4407116b06d7dec4d1121f8a1a466fe254e910bb956e4e0376dbaf0e6c8d3ee50020c7a72ca91c28a3472819ae2e7963c4fde24d19c0a73a10f059dfb4d40faab8ca9bc8edc0b17e29949ff6240742ca523f14b54fdfcc432ca1bf613a48e86f0aebdb91d498d3fc73ab1f27acee8cb027c2aa3564d6e79e68697d0621ef0916a4eefd783e3907209fa48c96da215b3dbe41fd4eaf139c9645864e75584fc322d48f37b7f219fc1ae1954eb4ed360fa7d91d955df54cf65ae71284da1b16afb468def00f107b1bc470f14e9a05487ce54b9972768cdda58532c7a29fd6baaf0b8aa48be0baebb55aa1274af86cc6de5109555b92a5f71ea4b17d8ef21126c3dd32f3064425c3b3a7fa064475ca0d9f768cb5fb18ab971bd99db31aa3f04647cff0ea1b688ecc33c9946b3d6fd6a19f20ecce598d71ba7015d9b27c269dd918770520a3bcad00ce658cad79b6944c5febdecb36c63351520d27ed5a86376f46adcdb0061dfe797687c25a4b12a05dcad2d07db535514b8b3b7aff64bfea797ea442fa3546cf1dd8fc32132d5c9167d36baa4bc93d35243adcda56bc73674db5d6493555745acea102551ba8c1db95da3772883c1162fd38e3e5d7a077c925f4aa868a08fa3ce3ba010bfe3c39a4cc9a4ae8d4535f8a489aa17349732979831aa7331c75958291ce3416c1a1a197bc94397527524b63399dd799786b303c13d218a3a76acd9c5c99f473f1d880a43ed2e266a2de9377c7791b8eb833d0bd53d35ba572683274bf09a51e5a563ea81d59d9b35de3e34f366203d6edc90d8ac692dcec21ae69435dace3b661bdbb96ca3d238851c41b44b177e411ef745357832591501df4a5eb09dec1cc9bf592d960d0258d55104740bf189cfe11e2f07654dd609aa67e5faceb3d9c027543d91ec0f4afabe5f3a089087e3902046c1e0129cc71c480db44fb243298ff12591cb71cdda0f30a40460332b756022d7680cb3bc8395afd00b45c9f6e28bf24c3e923f45e61c03b02cccf7a41a866a5bddfd00020bbe5c05147d03a926c9f40d8ee1d803468e57824f7e9f5a393eb33e92bd83a107e3aa5be16efd281eefcb6d8e8eab01aa27e31c453fcb1a3210d79d3062b7a23e0ee187e4c067b34f00c72022cc8e4ada32c892b4c5be5553656dc1a7390752699ab35a19c480b10f4f969684755d1838b3278879056707b64a2bb266919c86a6bddb028fadeb21adbe0fd9cfa8bd9d428facb3875ed16486ca1603bceedf34dfe2582c15a767cac6c583b7a250dec7aab67403b935f9c35f96bad240acda9e67fa8cde13843c83ff12c1a245b9ec7e1b1cea9c42a9ccaea08a925508d53478a8fa7d9dbba1d7bf301bfdc6bfd4bd85abd58f266719a12686af8e6bc35b3f1cccc60189f0350a0cd1b29f6d4228341aba3117bf00132050143246a9550f65663fa34798f9824d1760b3ac578c3926aa89c962d4ad6aa4ed6d8ac4991a741aa0868d74a837fe9aa502ad2da5deb828cc98a35f16a601e03bc6e4e53f2c223eb8d4181adc1dfde2b51f6f67f74eccd6929b5d646c65b57146fe4c9d6bac256ca9a3756f76d23e5c6bfde1d776458b7ad95bdb79f60cd66b014b44f90598abcf820c57b89595e1a3081adf1337c23eb7e635a267144e69bf79313743f1c7b53c86cbd2fb79691d5da9978d7c7e648b786796179f8e3d81e7906efbdb27dae8695096bcbb9179f871cb2372b645fbae26d2eebb684de9595d7ad83a2153f5a3729ef9cd23d811b80165e9cdf1d216a2f39be3d604c4e77b95a607151a5243cf62aa0d32a54ef6be9ad3e9b3711457f9fbd5da8352429616f0abaf5a6f5566779af6f3d5663b6635bd0719d36f1f875714d61ddd268df41c506e66dba3f4191436faa516a9d6f623b9614985960bdad8ead84b70c7ad9eeed9d3fb18bfd8e37850b68261c9bf7f6dcf2ec0d1069eb232c9bb8d93a78e2ab16790cd3be76d2c1d6fbe93a4672f14e9d0329df0cbdb20d7bf830e72ed31c376c2b493e6645f1d66dc7811bdbd60382b11f0dca736f5b0a6583ffde5abce7d42bddf919b04e6fec3a5677d67a462ded22bb6e26cb890928de29feedbe425bd7540a5b6110a2be9f804191bbd4b8fd9341ffc11914ad4bb8fdefc6a0adab21589b9c32e88ec9c14756f446cefd846167dcdaaff3de7119b6259813ac72e44f7613a26dfce9a6c58617ff7efef4b6bdd5fb1cf6ad597a89c716c8e5c8a2d85f636b078d63eed6ebdaa01737fe8c4706b54e679eb7e03ddd6d69c917f8ccf9b3751cb100abe24470068d1b83fa6291534ce2c6a1de3b8ebca1e406595eb63671e4d623baaa7f0a1eadb35897f07ff2e83f328fd659bdf1fbdf8747b7d8c1372f9e7ff2ac9d6ca5ca7569a3ee57f0a84c5ada440fde99d35c3ac393d34b9233cc3e6ac3e6d196366768232f9d2642be92c6b9e41fb5e9d8146dcb3f6a1e0ed1cb31d299e4dfb74c69475590b437edcb5b9a6de77a2e9d45a820cb6ff48349b969e0ab5b535674b96d9602086156ed70b9ddb31ebbde71babaa0226f138a46f887ec8dfc77118b9a6986efb2b85bac1cadc8fd349f03a32131ea471c107643dc44f771f34d58958a8b1b6b4047915cba0fb7d7c6e6ed64c827eb90c230cdc44fdfc55b715b7b6eca26bd2558f7e6638f611f9e798e697321d306a2fbe47078f6f2d593e5f5d5e3e7afbe7e71f5ed83cb6f1fbfbe7af6fdbfe6443c16d50493c6b27fe066974475d6a5674a3c6bfd8d410e9446a91be44099ac3c75f5fd834b92542e97ab1ffceaf6af959a2a2fa3d424329abf5366d717d93be9a7de09d6b5ba62eb4443d60f1840b891d8030a540d0e7bf526c94004888c8ef0de58b9c15f54a2d729c69e642dae359b1f80a6a10fd9329a73a87ae35a6baf34d0329ddc274bde4ca0a4f950d0e6cbc03c45e092950ce8e67ddc3fee92e3d694cc328c96a5d06f2e6fded319ff7b47f8a4c6e56eb12a6e5c4499b684323f6eb6b173ca99c7d2b32499a37ceae99626a96dd32d896f9ceeff495bf3a7dfd9e74d2fd5bb35e5c1bcc05f33fbd8e64a757b2f8f7daed0bcfada9ee8e3f8a9a7398a20dda2d7ceefe3a65f39bd02332df98699f24e6196139484f7abeebf07dfef9dc1ac4b425e058e1b2fe06f56eb59d340dc1a870d3b5520720d1dee3045354c6f6143a8c244477d159fe86e6051c01a869dcf2c9e652075441657153d154d38fa4b446b018423071427e99f6af036fbfaa33322a58d537b58e60852f5f7246788e61ef609fd7866842e8805551c71a057a2d16ea8c5038468af8df012758bb80a7aeaa16f480466664455e37e0eb2941294539fd97c49d5a934b68c826dc6c571ba39f49f9f7247f8b8e013483b30d7aada06e69ca473db4dffbb58329fbc992d370a629d7e8ac18e08e804c01156d275a40db4881e9f48c69066ed63676c331554e8abac18865252079a94c45e6e7b76baf3c6c205ee27e6d5c00e58c76b678b1a0b4e256b6c26062321ae0a680b30151a0c024c240dab6214e59640d39b683b52c40cac278c198a87ac951b7a18697a1b4bf17695e741131e2d545d48ec86500a02c1123a08647a28275a5ba0623804141865e0c3b018dacaa67c4690b6617ef46cfa66acd3fba0b3f7069916073993c9d7a9c7605d0d5df8a9fb16f950debd19701e629461eb71db213523418ff2ea6db006ba20a814180005a9ab959cce882c34601000234459a27a16092047a0989b45e0d7e1476d36b8b1a2f4457fd673e9cc4d288468a2ec3290e884aec5608e16c1f88cc852b56433ec37efce4cca326d9d6ec43070473cb3cc90224784a9a2bb11df2f40ae1db7ed7773f75b053de7eb5ca12eb29a4c338c58b275269fdefadd1acee83dd54885ad77ed2db11aef1e274300a932d240ca2d6f96e6b0a143b4b7d540627a30c4100b26b67399c3696d51f449c46d12f13889e8b388368b787d163f75f4c16127fa296bffb0bb85529b8d97ce89a5743f73a90cad1f7fe63abe783b6c9dbc7690c8d2736a94e7273c74d5526e98ea0d87ae4fbe63a543c490dab2bd6f51f83cc32861587ae93c97b1963130d6023bc3071b6db0f1dc062b452d611e23c93a1d698d2d760600bb6a59afd9daecaaf89b2ad7550f009a6d35a82d32a02dea11757534d1546a4011d728d38136abea45fd23027162901100138825072a517ff2a1d8cd81ee6930eb747c144ec67a1ec4f39664aadb570377c271a1a075910e5e4f6c75acc088f28e466a910163c7e836cec5a4862c5093daa0d260536f1dcd6b804d5d5637a9813905933a1c4d6ab7a8ed242501a041d37253cca48e629cb519d4d12dea0840b6ae921f09edb74c1fbc738274ddc666516f0675dc0cea78625047b3a8e36e51c7a3451d37933aee26753c9ad4d16d6a808ca1f4852bcea172efe296059e774d85960568aa03ab0fbb3ab85d1d8e76b59bd56137abc36656bb551dddaa8e9b551dddac0e6656c753b33aba5d1d37bb3aee767574c33a6e86753c33c3ba629dcdb076bb3aec767538dad5665687cdac8e47b33aba5d1dcdae8e47bb3aba611d77c33a9e99615d07a9599d18c09740679bc110fe0009ba6e6675c4c993e0bf81cba5de7601efda11c51315164de5a0ad0cf09675f8aa0d1b7ca67c885dd7a4af641d943994cdd01634036b2a4445edd5e635202a2981604706510de78a15c4946a59f17af4aa2624ac5f33d2cacb3aad72429455e0e865bc25523b44ecb7beda4117720a421a65d9ca2bc22b0dab461886488b534e29b14a6a883d07642b17b87ff45fd6d56120d6ac32aba77630f8c1b6a279a92a0965bdaa4a8d62c5554f7230ec42320f1e63afa2a52ccecf4a3e396220a7160bdc29a467f0ae0683d94a4569826aa86e30b896fae390df38e44cab11840c2dde68d1009ec51c5e9e5884d0b6d51aea0a7483dcedaa86b19d1859fb34941d07a01cd502196bb4a2268edd9a096f7e5352a525488c19c0aee408da6e1521c0c935842b31d83c8c5e2c433c4eb811947322e5357283579363c5e91bf487233383e0c8c65a235be05e6d28207d82dcd1c95d55bb9a3185f6c2142547c2be026175ed504061852fdd0c38e070714df521771da54883f4a9aa902b62edc75df021d180f7644ca431a8dff1fea4a66295465fdb8c1d1aa8b548d4b03d8aae8e5e3f6c9550be9f6a186c7d4e0bae44661a0ff5aaa9a40af6c5c1135edcae57f72e2e1e72613c300312e2fdbb68fda73f701ec2aae6a17c5d01551a8e1553239ac16e1d6f507a404813e99055aa802b36510bd82e64358c96865256490d6125ec1caa5bbd2e37d7cfd90cf719bb4a811237795094d5bdf0a5ab5103390fcba8fa53aada99f5191d4c419f0e4ae56089bef045a9d4817d1587c1cfb1d7f5ba1550f53146e950c1f449f79801fac275a546054ca9aa2ac7ecb21c81cb4c3a3666734995359b5304855bddac320adb340575619b3dc38e871c40a1680df43bf25d2a720e210a2c49d18b29a3e52f4ae203321aa1fd1a248ad80f4e7bf13067a2a0b08fd8e0bf3a5427421e1cd9e48e037516544a75f7ea36f8e05057a72303bd903c09d1e44577ae90a18d5402b24b52b68a6db6cebfcd4c0db8eecc110390b711dd64357432fc5eb776732a46200c5d375514fa4928f8b3174eead1ce4a62b0fc367beb2baed354bbe661cde8918cddadd72570635cef2cfe1182280f99777d726e40d7550e6bae82dc7d0c4f166dddbdcf66c065aa08d301fb787777f7b5f17e7a23b20346bdf7adb80c7e02353b86d51e9fc730b9d13fc2302bcabf7b56a31c6609b0f619e272335755229e891ba214b5546cb8711f6fdcc71baf8df777f7bff9fdbd7308602349a10669c3dcc3e7312680a14a173b5bfdeefeab37dffcfedeff1f0000ffff5fe69651a1010100", + "67965ff5ea3fd75bf5d6891d715a8d5f": "1f8b08000000000000ffaae65250502acecc4b2fcd492c52b252502ac8292d4acc51e2aae502040000ffff3f6c01c21b000000", + "6d6389bc500aa7c88f06a525ffdc3964": "1f8b08000000000000ff2ccdb10dc3201046e13a37c52f2a68f00caed266058c023939e690392ac4ee511257affaf46a887bc84fe4939336223eaa9c0a4b80c9acafbef928c79265eb2985b72c570dddcc18f052b5f9b556bf466529edb167cc69c811a55e22b8b05a8741c025fdfdb7b2e10fbed83a47933e010000fffff34f28648b000000", + "6db581c2c298b22b8281e79de71aa56a": "1f8b08000000000000ffb491c16ae3301086ef7e8a61c0e080edc0664fc6f1b224bb90438ba169ef634b8945248d91959420f4eec581b6a487de7a9ac37cccfc1f7f2dd4057a4dd3b4c6f15afc06d315bfb04900ea61f5be1085b25a5959749afb1336ff84f21042c9a39fca07165297ade351ba18ebe5b06a927a29d4a549923a5dc3819df9cf2ebbe75fc86d68924fca1eb58c318740bd576cab8fbb8f64e457ac253f64e11e69c991d96d63ace0db17e56e0b719183917e605101b6cf7b8c0b0890de74d3358ce4bc229d6108e581b598859673fe72f046e3e293d4ca9ef69cfd74d6702ba002ecbc85cedbe2959c55f68839a0204f45cff6a09cc10af0af9370e5334c6727ff600e1d8b6b05b821db4b3d8ba64d52a710e7f9160000ffff43242cc0f6010000", + "6e0c924074f3636a40c0a94549a7d6b0": "1f8b08000000000000ffbc544f6b1b3f10bde7530c22fee14064c32f3db9eb2d213625d006d386dcb5d6d82ba295965939ae2bf4dd8bf68fbd9bbabeb5975d09cd8cde7b9a3789546fb0d6a2aae6ac3cf00f5064fc7f965e0124f95d7720b9325a19e499b6eb57967a3fb1a5ab265fad443df94c765786904cf3bb3aaf5771a3ad709cd43677754d80643407adccebb31d1bdc77859e4481936f58d91dad31849570f9f8e6167c5d66062c730632677849aa107460e1063c8c9a8a000f84c2213ce11e86c856644ba410da9b213439c954aab7f4aafd5d254e641a3bc8cda6fef2dcbe21b5ebcc924442d968e37214f29812375cf7587a0f24cc16e1ba84d91c1a4cf7ce5105bc85138338a80d98183579b04561cdf3a144600e7f38d60b4c5c9e7a1fa36a9d56a25a0bad7e2244d15d9ef6eaa191c7c46edff17779fa9fc9aaf2639714ff28644328b3f2707aa28d25180fc57c11f4202afcaecc56630837a00c9c8d58e91d091d42ff891247ddb2af4e71419e77121597358a571c1f4468b535bc50526a6469e4e3fdf5052e13ef63fda1ba21764b3275327d07a8aff1199d5b2cfdaccb9638469dac31f0c53bb0b5393c0c42568244f1b8086176fe498e441f1710ce194b998d65b7109b6006ec45e13e7a6cf4478028951b2268adf657d0ed051965b627804ba9dc6580ff5c41193b9ad82d30299ce005badc4a3603b6587e593e2f8f076b6b368a8a78724f0807bb836a47f8e9446e8195237bf88d5f3baf4edb539325d3ce5ffd29d77a3a99d6132c4eba5e1f4603f1351a87d48cb4d11c4ab15546384be376a5aca941b457ff0a0000ffffc89382642d060000", + "70731710a6b9f5808311e8dc2d8f7460": "1f8b08000000000000ff7c52cd8a1b3d10bcfb29fa1318fc416686dc72900cf9bb267b302c3985b6a667d56b8d24a4f62c8ef1bb87b16cafc3929c24d155d5adaad6ff7df9fe79f3e3e12b3819fd7aa1eb01a01d613f5f00f44882107024a326a69714b328b031080531ea857b71a6a7892d35e7c73be0c0c2e89b62d19379afee85acc35c488cdacbd07cb89684c5d3fad37e18d04768e07884362629edc794da6f3852bb9911fc8be074d25d852f008ec706788010e50effc8e21e699bd0eee074aa0d96068a1c3c1547241b7c5aa96d6dd6da52d4ffb0bcaa51e8ff41c2943c5b148ee19ef8a74bb6e4a1499871bcf309f7e228085b96c34f893b0a0ababf702fe51b771ee42d1f96eb5709cf610799bc516c6350e0320d176229240f286ea578c4272add80d30c6ad9c6f307ce21e8ee1ab9dec6feb05e54dd9e27b01e4b316a1e073950be84560d4a98e7ac576af0585c3b2fd0ab2b157260f2fdcda8aee7e9aabe34f08c13169b39bd35f8f9e6afeeea4cbaab0bfa3b0000ffff85cad3beb8020000", + "70ae08ec6bfcd89151868c693af94486": "1f8b08000000000000ff7492c18edb201086cfcc534c39d99585db957ab19443ab6ebb87dd4d14a7eab1621deca0624018278da2bc7b35d8de5372b060f0c7fcffcce065f357760a7ba98d0a0380eebd0b113360dcb88e0330dee97818df44e3fab2736f63db4ae3ca650dcaee55e0f730658fe7bb3f493c94c787bbc0b2923b0e39c051061cfae8935f5127ed7418f0e3e4443cda4e5b05d08eb6416d75cc72bc00b0b2c4cd688cb61d36ceb6bac336b81ee341a1b247012cd55dad283a8b9f2a66bc7ed96dfe6cd6db1d2f907ffef4f085e7c00e6eb8853dadeb8419d748430cb1e3a0c20df657fdb82596102f87e1e4c2fe96f2d7bafebdde7e9f516054a80ae973011835a24807aba91fafea4417a7b66464a240aaaa403252e0a245b9749b6e7e58a1d5062fc098719df821a334990a2107760560947aeeebab3a65f376eda37676b80022e2d3eee5f9599edd182be4266dc421f68617c0d84ef5dec8a8866fee5f8569de291197de57f39babe20251a14294eff134f7bc987494f1442f7ee6f8722d805d73b8c2ff000000ffff685bab16cb020000", + "749dc26d85a249c8c5a3efa92cb0293b": "1f8b08000000000000ff010000ffff0000000000000000", + "7a58ef101f5e8bc63d4aa81d805d3dba": "1f8b08000000000000ff72c8cc2dc82f2a5150aa4bcacf2f292e294a2cd02f4e2e2ed68773f5405c256b2e844a87b4fca292c4f2d4e2fcdc54fdb4fc3c185b37ad2835551fa4393127472f37334f0fa213a135a9342d2d31275fc99a0b100000ffff04baf43578000000", + "82bafaaf693dd31835437687f3bc795c": "1f8b08000000000000ff24ccb1aec2300c05d0bd5f71d5b73c8612b1a18c4830b232a2d2baa9456223c711e2ef11b01f9d3f9cd450d4082c8b5a199d55a08256591278b71754a288d5fd516308897d6db7eda425084ff72aaf992c241d3eb41bc073c493f2a485aec9889c257580db28357ff788fef20370c5a12dcb9815ffc7f3a6efde010000fffff7ca089490000000", + "83e722486c9aaa60954a8c8bcd026763": "1f8b08000000000000ff7c90c14ac4400c86ef798a50f7d0824cef82278fa22ebb4f909da6ddc17666c864441de6dda5587b50f09404fe3fff9744b2af34319255177c02704b0ca2d80262e359fbab6a6c609d26a7d77c31362cfd142e791c690efd561be800f42332966242d4649e696173e214b258aef5a7c3a492ad1640dcacbb082a402928e427c603e1dd3d9a0d0b6b85bec7520e648e942ccdee936bc58147cab3a25be2cc0b7ba5556e60ccde62fbb61afea5e9feac6cedcef510bcf2bb76c82241704516d62c1ead39b11f58daf539e6aca439bd3cdea298b38af353dbecc14f61e0d91c2544965a6f7ec7355df77d36fba156f80a0000ffff7c5baa9c8e010000", + "8d1395ead30d0841f952b8cca46300a8": "1f8b08000000000000ffacce410a02310c40d17d4f11ba3707f00e82201ea034510aa529498a8c43efeec6c185ab8139c0ffbc13143a435c5794ee861721ae782bed396ad2f266bc3762b52cca7362564ece84367266b318005c53b39abc48fbfb5c553aeb9cf04a06dfe6316a5d601bc5b00f303a1d03d8467b01c4e62acb1184df2a864f000000ffff4c95c89e87010000", + "8f7214811ed4641d8d06c428e736e427": "1f8b08000000000000ffaae65250502a284a2d4e2d2956b252885672484a4c4acdd18708e9a6e69529c572d57201020000ffff2214070e27000000", + "9897b71949d4e127aa00c50724ae4b5a": "1f8b08000000000000ff24ccb1aec2300c05d0bd5f71d5b73c8612b1a18c4830b232a2d2baa9456223c711e2ef11b01f9d3f9cd450d4082c8b5a199d55a08256591278b71754a288d5fd516308897d6db7eda425084ff72aaf992c241d3eb41bc073c493f2a485aec9889c257580db28357ff788fef20370c5a12dcb9815ffc7f3a6efde010000fffff7ca089490000000", + "9a6b926cb5a5d57f2ebe46e33ce680be": "1f8b08000000000000ff7c51cf6bc23014bee7af789481a7b678edd841711bc270e2d46b784d5f63306d6292ba8d92ff7dd4ead876d82990efc7fbdef734b6b243490548c39834050348219966d369f6913046ed79fc7a7ee58fabfd43201f18eb7b5035d009326383cf16f3eda72548acf1413af209a431324feeac04f9517fc34e9af57d0ad45610236325d5c611f7c2291b8a0bf4bf738ca39d3f6948054c84230c0415062cd113f4fda89c599badb0a1ec49698a910fc1ef2790eebe93fccc315836c74a39482ddc6d37b3fdf28dcf77cb97055f2c37b9ed4aad448ede53f0434d5c35d6b8c02d8643f16be61ac51125ad8f72584fb53ea0d66305d280a4005285435766c234b9346557d7a84dfee7bdf11b534165de5b6db062ecda125c497039c657000000ffffeab6a341c2010000", + "9aec4669fcf2f836741c92fc02cc9098": "1f8b08000000000000ff2cc74d0a84300c06d0f5e41421ab7163cf9496fea16d827ebdbf20ae1ecf351d5a336b42b77913f5e17681ffc4cc2c332334c0e52dfda476b415f76423548bab143d2d7c0a6df4040000ffff73c1922350000000", + "a2aa87a7f3879b4244cf8c8555382e93": "1f8b08000000000000ffbc92414b03311085effb2b1e2b85f552a878743d78d793b7b2946967acc126914cc2e2bf9760060b2a56058f99f95ee6bd4cd66bdd49a0e4e2347581bc60447f8859111f303bde4bd6beeb80777099697b9069ea00c024c7e8477899e2dc0480e32ab85a8c28c5f11d79e1a1e9fb732caefbc6d9d5f78f4ee1b4b9c1d9ca806de4970a68f462dd5ab3fe2e0965e10d651b18e23c1c8f28cffc25f1d320c329de2ffecdfb37fb2a2ae917dbfa34e42da527dc5016b50eb1770123722a62a57d652f57edf8167973ea5ff8e373bc060000fffff48dcecee6020000", + "a5bd9ef051dd34fa95a8ddfe363e527a": "1f8b08000000000000ffec5a5f73dbb8117fd7a7d8e34c3b644785d29be94b3a79b063fbceade3786c25d7b70e4c2e25d420c000a02d57c3efde5900d4bf9328275192bb8b9f64098bfd87c56f7f4bbae6f91d9f20f0dc09adec6020aa5a1b07e960009094954be853a11b4d9dabfd978970d3e696e5ba1a4df46d53965cea51fcdc2d50eb7a74fff7ddebb391415b6b55a0f142f339d3b5b3eca8aed91b5da0b4577793b64d06d960301ac1782a2c944222080b135468b8c3026e1fe138286470ee4097251a0b1c6eb9153958679adc3506a1d486b4f0a2106a32042c84136a025c1550a0c4f0056a3e4106e7253ceac640455e90b94a1ba4ddb9ae6a8933d086044021167e0ddc942b70538c66058955a81ca71c2f659d262d641b5c170ef3d19d6929f50339a178451f524f48915deac20284ea827d499b7c965ec28d5093467203699742bfc0ae8caed1b46d46b227c730e6b7125fc2956c0c979bc27e51fc0fa3f8355add987c8bf825af9075cb51fa8abbe95272b426faeefa224abd17f80063ac6ac91d52c4059a955d2eaed8f5fd6794a320e4dd1b8572d8e14ef717658ecec374df4b6dfc0fdb53148e7ae01e6bdcab39d4d47c00102b79213468bd6b17c23a98a0b3c0a5dc30f893d14dddb62c9673a3fc2df435c6ebda978877b3e66e4aba7e3a1dc3967c0e6827a4f7fb9ccdbc3369be70f5b5560e672e0334461ba028c80a3a6ff5e41872ad1406a74aa32bff731e360d00dc6c08fa0e5ebe829cbde7b2c13471b32463e95f6a5d93f2b8371b0088127ed077de048041d7180565e5d829592ed3446970862bcba335dda822a18d2d21d17adade73f39a5b0c65d0b6e4c09ffd9159b635bf73afc357e644282a3783b691ce32b8e286571612baea89bfff498de63fe12b456ab4241ca06d422b16f49c60c91be9e09e82b6c00d060daffeb6a1e3d58f2f12daf3817c7433d639706674154ca7398b7f6459f4f21a9d11788fbb0b66791827c721b7680c99f8c08ea44c7bb395fdc30bfff00a9490ebe781c674098fbf2c3099fdc295b3693275954c86100aaeb7907c284745110bd8c74db74eaf1611580dc241ce15dc223436a01a0974f79f795539bb419726cb834886f0a1cba6363e730ba9def093617f3165ab09c9d93552f429353f76e3b86becdb7f0dc1b09fc76f2ed2640f360955e08cd5b2b153e61397f982ceba64fed7fa409e94cc4d8f7e7cf182fcf8e7cddbcb3de7bd6e73f6f4f3db61f2df6f2e9e66f13a144f9a67110a6fa6fa2140219d70c11df740acd52e20ee034652d861e32e601ccde7c93c69dbb5157fddce4fda8fc14df2fcf7889b7405a5d439611e578055ed1e77e47a17ca129f90d887b29d8605cc8e359442157d1d369c9ce1153a34b0fd7ce8b80912d81ac4b9193b13aad85e829db34388b0ba448375dd49d6838379c8eeeaadbfd4ee8c523ba44dd92151b20fb4ba70768156b71ef1ef30a865a7fae15b81d622a0af065a9b16d7416b3ea7ca5b4e2247f617bc85bfb62da1cf253e80f15602a095da541ed072833c8e100a1f7661db728ce9e57d3bb14de1c3d301ec12f7e0d713cb701f02642bd7e233eb50e16619b6741ea80a7f0094bed79468a4318e86bc5d50a3232aefa3d9a4d167fceaedcd67f2ece0d8de8ef10db0f99880b95f594c18653dd4348691d3aee170ce8ef7c2f0d3b8e66fb675bee75214743c4bbad279b448ce00e01e8db1c395fed4ed3b52452c843de8bdc8eb9e4c893218633f737ba41ed36c5df2b3fa908ff80dbf0bd1fa150bfc9e0bc96f2582505614b88cbde3e7716f848fb02d190637635b8a430d39067cc223c1a7ebbda609dc94872a682c1a9a0996bb736d0ce66155a8ba716cddee21ba672f6ebd53b5d1395a4bc938554eb8c7cf003232f6691df5539cf4ed361cc8a6e98f68ac9f6299baee86e195fe7ad851f3bca4ea30e8a771a5bb0ab6e880836d72f20e2a72718291789d496ea769c68e8a224da2483284311b132c488fe043e82f2ee69b3d16acdb9fc5721a8dfca300838508a51b5095d8957fb0b8c95682d86a526f10df52484348b6f5ff3fddef2b6c767e7238eeb6e25800b5e26b53b9ed1e7c0966775a08b7a0763c3ca25db0bb5d44e3d7f482547d04a1eb1f5647e4c5d3190885f03cb13e8915fd3667cbc374b64391712abe7d6cfc5dedc9523ee56a823d843c12807e42bef678e7eadd977dbc133c7fbe2ebfe3ebb27db4d91c02bfda4cd33713c46a7b9e097e35137894f93e86822d80fa3c15fc71a682c6dff1ef6a2a086ce21b0d04c1f827ce02fe8dae75463f86fffee8232f2b6f5e77d217cf5d5608ffc9e9c5e9f8f48b3298e8ff3385797e47b5418cd6bceacae4000ce76b00744950fc25e0b90879d80ed0d71be0ec5fe31f049d9367e05d05deff070000ffffe23875a37d280000", + "a85bfd7cc3b5f9eb04967d04cf35cc5e": "1f8b08000000000000ffb4525fabd330147fcfa738373048e09282e0cbb4f7c93b15748203c12749dbb4c6a5392149ebc6e87797a415953995827de99ffcceefdfa993f551760a2421ba77e8233002400d7634dd43f4da76213f773a7e1e2a51635f74580d6d2b0d16ad5175bc7decd015e3d33f9ccbfae88bf149423cdf94a05b60e862108f76d41e6daf6c84bb1268a34665d0a577cae1029b879b9cca8ee7990fa684e384b483ad415b1d1987cb2a29dd82f21eb625247af17608f1a022a32fdf7d7adc7fa0f74013e715dfe681f26779f2ae04ab4d564f97c14eec64948629ef3901987e724c001a8fee858cb292417dec0de3e96385a7e4209726f6ea2ba34be6addca674c98628289ffd567812af646054dbbc258d36882f012de58b8d70ff3d54c2eeb46d0e79dfbf1bc9034b0b7fcb32a701c8d4cb2f94fcbe57b2519e851993984ac83ae20dcae6f50f4de657e84d645a367d555e1e5dd95eb31089736ffea1b95fe1ffab35872e77b6f3d8af2eeb5b000000ffffd35ecdf2fc030000", + "a8ec67aa1e41fcbd2cdd86240d37c5e0": "1f8b08000000000000ff8c565f6fdb36107ff7a7b8e9c9326c0adbd3e02105b2366d36b88e51b9cd80a26818f16c73a5781c49d9f1027ff7e12829b10da4dd83219a3cfeeeffefe864f54dae11641535d93018e8da918f301c00646b1d37cdbda8a82ed674dfac56d2508176bbcf5e3cedbe2cb0225f6108e605c97a37e92558da492f6b43eb35fa972f1c099d9bd0584fc6a02a02568d473ed63fff6a5fc6e2d36c3000787c04bd02412e0671e99cb8d571b320078703ab787c7c3e794f0a4d587c5b1f0e3f8cc0c4912bb6bf14fc71e4ea5dd6aa42ab6072380cceeefb5054e4c3cbb00f45c01038472c53918d6863dc3b7cd9c323a16c900f06450157f34fa00334011544820d1a0761a763b58180316abb0e702ff9942cec36e811e206f9a674cee84a729530c23d6abb06df58016f70251b13793753b84543ae461b3331d84a9f345e00178d78877198bdbbf97a35ff948d4f65f3242b9d8351e700073c6d2e61c4a9124b2f6d3032924f9e5c3ac71a5b1ba531e0a98918405a05b556cae04e7ae422840e916f850d3546c13d82c295b6a8042c373a3052dc2058f45b840a6d440fb4823d35fecc7931280adefa400d876b7ca46c0c6b4f8d0b63c0580921800d505819e951c1f266019357f0e6e676ce18adde1aa50d5c7e7b6a402a05f2d8f84870279dbb83915c45f4a30e8c232f1922a91b43dcc8d8ae61a78d81f9cd1236728bed81c5dd1126fb8b10649d92ca6efb06d9558f811a5ff506275f03c8003b34a677fa8f08d204eacc4ef07dd83d42b5c1ea1b2ad0360593bc42cfabfd492092f3772547faad3618eed80a09af2f97afaf2797b3598b388640a0639f30697672cf55c7979d91152a3032c45e57ba7362fa986dd7b18d88f3b845db1bcb184f69499165c14860718b9e8ba3924c2562b06a6cc59536cc4fea121e995d56a95e2f2ec06a9376a0dde8eb4dcc7137ecd7372e59d58a015cd9ed945b63dcfd2fdbde2e23799c42dfe962de18f378e885161e6fa5c73085cf5f7adc6eafc76566f041742d39ccc5b5b4caa0ef210e670ae7b2c629645f8f598ef704a7e670f8da5992b5d70ef9207db9fd9a48b58c9a23b5078f4a7bac5210cb72d6c7427c0c384c245f96b361fe7c7b466bf0f84f8321b6c48f117d80e14a9bb4e07edbe7e204e788fbc5a2bf334bff9f814b8c6d3d74e01d054222ca48f06779333f413de24851323f1db57af177209bf5667f774c24e5b75eba0028abcd937e6d414264e66a07ace865a1129fa4697098c5872c17c39123275e93b598e4f25eee03d6b44da62b1de4bde1a6d6e12c323c5e5a7e6cb50ceb34a8c49bdff3bcb79de74e3b76da8befae96c3acc8c6704d357655c2c249c4636cbc65b9c121b16decc83791426a29435281a14a1a8415f7f1982708342ec53f3e9135dc754f0bb1bc1b272eb5aa45e8959c315e13d227e13354453e9556af8b7c0a314375514e8cc2fb3579046d57e4eb64ea143631ba302d9ee7a2d0fc82291455a14888fadf24dab6fab19bc3fca991df3f19f896a5b8d97832a14f3ff22d1b2cc769e722bd3b52f3f3e3caa71597d5b4f520f0ec13a2e8ffe563c8d04e3e9659fe5b02f8e98c514419c90dd177e979cacef2c8ae61de25aaefb6ef849859bb3bedba565ad0b6a23a8df436a6693aac981775004b11ae97cb452920e3884e8b021f64ed0cf2a323838b57ed7e383b389a73cffa156180d1c8521c8d006daae9b29c8994411eb827d31696048a92d10cb6e3d6aea8aeb99c9b902621384f0ffb1fe43ac9fc8f3a79f14159b415f2cc66dfab8e2eeefdfbf638512ddae93c28cbd9872e17d3763cf0a3e90232e74935a97d3a062ecbd9823db946a9d08729d4d27d0e919f045fdacf63f6d7e42df99df40ad564e1295236edd29325fa3f70adfc170000ffff9db270a2f80b0000", + "ab8942bb19a00ddb54dfc22df4c36c21": "1f8b08000000000000ff8453d16e2b35107df7578c6e1e7861775321845454a4d2842b046da240dbdb27e4d893dd21de19637be98da2fc3bb2779b80a04279f0c66766ceccf19919fcda51048aa0a11f5ca22a26dd222cc4ec31ecc82168b610f08f810246f8ee6682e0ea9b7afeb59a4197928fd74d63c5c4da16ac36d237c82d313643c4d00e64315f54d4eb169b425478aaed40ce36ea87cdea1e5ad90ebb9d76d24ce7f5f1588b4fb17ec21049f874021da1a460506af9f0041f57575757f7abc5e3cf4b109eaed69bd5a797d2d875d3f8209f0f752b4e735b4b6895da3c3e40bfb714a0f2d0c4609a379e5befebb5367bdde27adf9e4eea79b5f969f1e3e67fa2d4f1483bb880cf94ba67dc7a6df6509d4e6a06298bfc4ace81d1a643481d02fb1e8863d2ce414ce8bf84811dc6087eac5dff1e85c1749a5b8cea76b1f82750ff17eb8b0e5c2873f84107ae9d983dd465e6fcffcc58552c950fd2068c511d8fe82296cc1cf9f7d6fe15c8b6c45dbed40ceec41fca501f05eec50e0e23f49a6987314575b75abf402b752f763ace5771e8a743cd266d2cfa085bdc49c0f1ad89db624223fe90bfa30cc1204481d4e904af0856f88b048c68210904acacbcb2136db35ffac1746a562abca54c15266da774e23fb523ab13820c01de4aa005a70f188a30ad401ee20d5345e77ad27772edd8345479931219a8049a2d71a3bd57a3d1b5f3c45872b4df83b67654799c7fab63f71e6674653024da91d109a3ba183433a851d6aada05e96fa63d3993439d5fea918df43d722a4a0d5c5e6d4bacc30188e1830f62079348f8431e15afd50cc6adfa6df9f074738173b1ef896d2990cb2781795d7e59674a6034c316212232e48e408614c98eee37c2491363283b7bbb586c6ea66ca5969fd6ab5f96f0d57c3e7fb7e59edaa0731f67af848139dbe33250eefdee7e7151604cc26f2f0f9261fc8ce672f357000000ffffc5fa989b12050000", + "ad0590eeb12863588f25c48a5f376f57": "1f8b08000000000000ff94545daf9b300c7de75758aa366d0f547c947babf4657f25909446176294ba2a7753fffb44122014b4f58a07a4c43e3ef139f6be424d5c6969e04f04d02a1ddf95a00b833c4bbafe143da2e822b9f0f725af3e6a83372de20a1b340c766f192fa43c45001d1742e99a419a743db8748012fbf8aa7edb8b128d90262ed101ef1bacd1e2aab6b67f005ffde8b31f368e1435f26a232ea90f3ca3a6015832c87db03fbc4b555f68384edca9a77abf2892eea4e5a6563a2e91085b06693e02f80bc28e41315218ca6661d95585804c7a1cb184ba760dff64a074a3b48ccb06ab8fb00c83642ac03dfe9a2bc99e62212b349c146a06372da41910a764e5933d7be3d81523911582c620792fb0bab55293bd5c2235f24c0cb26328c6f5565a3d6ce433ddc5c36643e45def8e360c94f1bc38e473f2a48a73d0d0fc7cad79966d6a7e181579eaf0238a88979e74a8d6c1d7f8be77f754a2f8043240c217f5a6b596f0e00ba7cf9d3923924db20de78daa35032bc6696ed5ae2a86ef146d79696d84ddb11cbed7ac3090a8a42669a45811711776f07eb552280ebc69806b013f5ade8f63fffe9e74fd4f9b1c8e5d30784b192693cd2d4f8b416d2846cd07669edd3f0abf1dbe56387fadb083c8b620d289bb0fdb9c84a759489339e9ff8f2af2af3d2a593f6afd9a5768ae80162b6db19d82b5f49876c2b49903b33b7f86cb7a5ad769927c5b34e56f000000ffffca7f6ab658060000", + "ad984a19840b1660f7b799cfc369022d": "1f8b08000000000000ff8c535f6bdb30107ff7a7384c5f6dd33e0c26c660a5d9188c6dc42eec2d28f245516de934e99caea4feeec3499ad86dc2f6645bf7bbdf9f3b7983211a72026e92075a460109c0b2336d2d1200809a548361ff0e9081b152a30065826a519942532b9d16d7f9f5cd01b3dd825901fe869c3cc7fceeb67af208a9a7c83a604c21ebfb8b742f28f13e7f97c9d61b87072c00ba8d09e42c3a16c743809f3fcaeacb7c562eeecbd95cc00bc339c4ddad80ed76efeb93f7f9776931ff6c5aecfb0563e463820cd0d5d0f7497241b89a95d5623e2befbf55a58082ad2f06822c60ec5a8efbbec8e8e369746a8daaa18e8f07a173026c539b009987ab3167720261640ab85052ad719cbbc1a738fe1ec09bebcc373adb6193a98e26d0c8a00dafbb65aec8160f91d15a0c85a6eca1736670ef29f03f1b352dbbd54ab654bc7abe69b454434d8fae25594f6947c69db42860de39184cc030c7f1f614592b5d2de079129683f490beb20e1faeb6e331f643b68130a78ee1235ca81ebaf33fb64d61f6eb6b35513a84db19836760c44b3c83ca2966949bf36b13d33d9d6a5ef2facd4ed34253e11b9d8e9877374206362ba978d231509cbb9027448d918d93bcfbe9837cdc4f803af613f33b89a1b43850fc8fcadf000000ffff09da42524d040000", + "addf37c61e119909debf422a9b655510": "1f8b08000000000000ffa4935b4cd3671887ff26de6d59d8922d9b2eb33aa6558aadd406e3d45a40c64108300373ba1a8452a0500e838156401ca70844c7383928c7164a2dd0ca414e15778893a51048c620dbc230195bb22cc8b8a63c0b2064f77b9237bf2f5fbee77baf7e82b04bd82578786ca44848dc2d086f0882201604c143100491b075bfc96e4178eda5add98617acadb937f3f9f3659a4d7da87515f845e57136328f8bdadb7cf9958da53ffedc79bbbebebeade2766f9dedfde3f886e4f2e6891cde3e654074c680e8d475f61ccfe6755926126526f75a1cb0beb6e96fccb65b5963c1439c88e7f9124ec616732cbe0ec9d53abce38d48a38bf009c9c033a89457c449a4196a5ffcb1b5bfbbcfc9ab122d074f5fc753994de0d57c62efd850dfed475d35486c652767626f7128bc0cb1d2c0cbe238caab4c9beef2df7fa1d21bf1d2b4228b337230b21275452fe9ed8f894a2f223aa7820cf3d7846519d92bcfe4685809b24bb5482e55323bf70b2d3d4ec4da0e14993dc8756df8e5b4139e5e8ad7c9300e78fb73c05b85541941f8a795f86aeea248ef24a0681c454e3f85f71cc4df6cc24b67c3476f45a16be1d4875af61c3cc33b9200ce4705e11f1acc5b87fcd92f0d40f5710e87833fc7d3ff069ee70af8405d4a68463d47d3ecc8d36c48350dec93a808bb10c4a0ed0263c3597cebd4d1d61081af4ac561df18fc937bf152d72055d713a83111906e449a6a439e66c53bae91d331494c4d14b3f49b93d68e62ec0faa595eeaa3c79ec989c81b84660fe095d080546f2144dfcdfb294dc852adc8f55d48932d4414753038d2c4946b9edfe7ef303f6361c6354daba39ae8422731d726507e3688a2e009970d03f8c455732cb50b9f940e8e6adbf0cbed22bfc5ccf0680521091a92f232187df405ba9a2e0c75e32494b8f8e4d614970b2729ab1b22bfda8a58d3caf1e4667c7466e4574a286fba4f424115fb4e46f3eed98b14d69ac82a6f446d3061ec71d1f77896fc2a3b13ae196e37f6225237234bb17248634671a58ce8f85444de4a8e28cef19e4cc511df603e4acce2669505ebc8240ee7534cf7fb8175565756d116d713985c4a446e2389e5163a1f0c11a54e65efe1b3ec97faa1bf5648f7c8180ee7389d030fa96e32b3b2f2cf4e7fa6e77e64e1d90293ae27d807da714d7fc7af8b0b34771ae91f3633fbf337fc30fd90c1d12e0686fa585d5dddf4fedba1ed362e3e5be4d1b883a1e1562626cc3cfddec4d8580b63ce1ee6e67ec2ed76efb81b08ff937f030000ffff6ddbe2317e040000", + "afc1533d018c2d1730753da9c1eec198": "1f8b08000000000000ff8453c16e133110bdfb2b46cd810bbb49c5ada887d00d158274a3a036ed0979edc9ae8977c6b2bdb451947f47de6c12a02094831dbf9937ef3d7b3f2ecb39d45c75ebb5b43c1ed6abdd2e671743fe803e18a6fd5e88d9dd03dc96979797f3b2b8ff3203a6e168b12c1f9fa089d15d8dc7cef3cb36afd94aaa73f6b510cbfb3b6837da78c81c8c8357e323f9d4b97c21d546d6b8d8d4fbbd5895cbcfc5a7e57faac46e67d67006a761851564fbfd9fc0cac4668595936ad3c323888d09f06cac05255583101b04722d180a515a0b21a27b0b1d590c01dc6168fe3d30816a24d518c4b4287e07f2bf4d7d929efa91a97c2b3de596d506f23e8cf4ff3431cb8833e7b9f61882d8edd006ec3b53e5afd25e15921e3cbfde8911dcb0dbf6f66e19e6ac3b8b015a49668d210671532e9ea0e6bc653d2ca7a3d0b5c32246434a1a5d800ad7ec11aace586da806491a14bb6dda07eebc42080cb191119e1134d39b0884a8213278cc343f9365a94106683bd58851cf706c191886948776433fa4355a4604ee3c1c295083955bf47d4435433271c4449f783e243dbce68368c8b21065340a32867165682c9d4b51dd93e2b6458abdd48efad82a43d26fc1105c38cfba53d1305da4597825467078f9df66770fd76738917d30a47b02e95ce29be4fd2f1935119424a8100222c1da730bdcc560f4e1212aa6280da1efbfab69512caf876e21668f8bf2eb0cde4d26937f4a6e4ded65d271ba2cdf11a5fb391b4ada6fe6c5c9ffd084efcf8924185f509d4f7e060000ffff7cd3d84624040000", + "b1025117b1edd497f09f8663eb3a853b": "1f8b08000000000000ff7452cb6edc300cbceb2b089dd6856b033d1ac821011a1468da5ef203b24ddb42255195a83c50ecbf17921f9b069bbdac389a1992637935fc5633821a58938b4268eb29309c04809c352fa96f06b2ed4c7d9a2665a8cd8ad03e7d911f32f6ff806ec4204525c4930a10e0d38a345fddac1d1650c5881cefe8056ea038373ff1f92495f7dd7a256b904dd3fad41b3dc84a8829b901b4d37caae0af000870039b6f966ec75fbeec9309f9d7b6f0edf1c70318f54a8981097a8414718489022863d6eb807f12468edd26cbe0439174a5ce73193da8ecdd7893e2d22c6c8dacc5a54fde6520c74a3bede6e24d13f082c068bd518c87fde30edcd14bf77efd83bd2570a9ab7ad3dfeee195e98e28df4e733b8e475f58d0780c11160c78acb862dd9ee156efc115939c9123f7b927e2c841f98cd8c32eb981ac45c7654ba31dc6b7ea1e0d3d8372236c6febfaabd9dcda6c1de5bbf63636f714ec777c5d3fc405aaaf33ef29ace4ffa09d7cce877325cee25f000000ffff1baf99a500030000", + "b33656abe4a19add5fb7502f0b6b2dee": "1f8b08000000000000ff0a2d4e2dd24d4c4fcd2bb152d0e272c92c4eccc9c92fb752d0e702040000ffff4284a48f1a000000", + "b8438980c36888bd6a7b788a487d06ed": "1f8b08000000000000ff348eb1aac2401045fbfd8afb428ae415fb010f5e6123d80451fb306cc6b098ec86cca671987f978876977b8a73160a0f1a19144acc499c53c54a6964d484bf7ff80f8099bb6f29a021c1efe17d5eb758b8c58da5f4aab5cf4b11dfd1ccfec292b735b0d977f5aaa8c99f49024df1c9306b5aa80348fc91e2d4545d2e38cdcbc433a7c2c34fd53adb73380dbbfd150000ffff01382a01aa000000", + "b97ef3b8e9a685594ebc0fc9eebc931a": "1f8b08000000000000ffb493516bdb301485dffd2b2e228516229bad7b328e47378751d8466065efb2a5d822d79291e48e4ce8bf0f3971da2cd9defae487cb3df73b47c70597cfd020b37645863dfd007d4ddf93320128bafb79c0a9542895a035ea66474aef533d389b7ed35c60ba317a102604a88463126d9175f76512155e696f5133478d6c3b37a90314372b40a9764ffa76d6fbce7a91fe64e633b36283a36118c286b9eef66e097e12ca81d44e41ed14956aab49b8030f370741804facd981d3c010e19cf18bd1e310c2f1308479e71584e0d29d81ccbe26020fe7336658ff588590ff75e848ff43aa164508e96305e11afd2f6694542d5942adf93e07b2e6d2453b9760d7d299f5df848d33d50a43964038738cf6c2759a931c48b5feba7e5a9f068d565b69fa38793002f67a043b1af1f1c55425ac337a7ff255645c3e97c9f193244931e2dc1094d6d136bed3d4412065e23d98c8028b01f2151cbc3c38672c8430350ce5e53a954ef430d4f4dddc3464b538ddb17dac077fe9322c863938db3094bf05845064d3d25160f8d79f109fc9fbc5ff52f6fe423fc4fe15d9708804659944ab42f168abc8462c933f010000ffffef62da7b98030000", + "baca6b4ebf8cc8bd0ea945a5a2fffe15": "1f8b08000000000000ff4ccbb10ac2400c80e1d97b8a583af41cee01040717c14504dd255ca31cdca562d2c5907717ede2f6f3c16f062fe407418f59cbc4b0dd415a52dcc37de60c030a6cf63fbbcc4529c295446f667d626c94ce28196b7993fb1797fb5f8708165628e980a50edd695238b667a546ac34aebb183c98118feee1130000ffff2bf5ff9191000000", + "c3816880f9d6ede8f28a4a1f0360251d": "1f8b08000000000000ff648ec14ec2401086ef7d8a3ff4a209e9039870a8b2310605d2ad282732b453d8b8ec34bbdb62dfde948428718ef3ff33df97a23c9a808c5d8fc658c699020eecd853e41afb01fbae69c8ca1454d738b267c42363ecf7e40ded2d070cd2c131d748d26b1f5160856a1817e572a2961b8803b5ad351545230e21928f5d8b20e30b7f939dc57f0554e23d57d10e5992a2948bc42fb70b8c85dace36f9ebbb4223fe44717ab1a9c8c152640fcfd11bee476d1360dc3fd2e83ca00bc61d20217be6c8aebf9b2cd476729f256992427dd3a9b5fc90a498e765fe986bb55be75a7fac8af9ecf33a490aadb47e592d775a3d15aabc8ddecaf54eab62a38a3ffb9f000000ffffb53849697f010000", + "c6660b1c6a1a45d1cb79e72c7bb65764": "1f8b08000000000000ff2c8d4b6a03310c86f73a8536597a085d9ab647e8054a311a5be31864c9f8119adb974cbaf9d0e3e7fba9b5d0cda6c70d4a56eb9cc26192b80f0f0eefacc93a3814cb2f0e704863f07c0e6ded522238ccbd1ce765d6060ef7a2e0502d71a89696f0f3b50d1ac3458a3786a25156e214f877b28e627ad66dd99e64bdc3be8aa4d068defc297ded89851e1edfae571db017a5fe084a953dbe5f3e905adbbea8325e3edd998768b592a67008e5e1f1fb075869170ed1c4faf038fb6210cbff967d1d0789c15f000000ffff20a0099817010000", + "c6e3e8d28eed67725402c2b7c09dd7e7": "1f8b08000000000000ff5c514d6edc3a0cdeeb14df5b3901fcdc7d16b9442f60ce88b2d89144839262f8f6853c13b4e8ca04cdef5751fe834c19bf7a6d886c8ca6e052fb982235acb71e0225c5ad4bf22b225510d6e54796cda88996ba42025a64d0be27b95fcbeb6ed77d71ae97a0d67aa1c6e99cffa835cebb1ad939a32aa822f77b1c5fc1a13d7924fdbaec64e68653fb0c2a1ecd0638f30c8131a574becedf64fa624426f3d8543d5a94b2d5f77118e94975636c2a655bf0f1e69c84413b19a3324bd9901952c6cefece328f700555335f94886a26b711e67bc2613a7ed0be73610fdf6d1cfe53de0cb5c10ea3026938a4c5abb8f57fbf22241abede9d33dec87ce25a67d478851ba8bb6606dd4d6b1d4e139d43836edadb8cc09c108cf92ac973e2c6c8bc40da54a18fe512d43235c46e6dc1c129cd6399658b0dcf2ed02bbf1c85a7a3d19ebf608fa2c7e29c4c2921f1287400be335446a0acbd62276bc3d8a1e6eb87739f9ff8a9485ab6d703462a8f8aa0064ae9520b52a3fb1d0000ffffd31e584a8b020000", + "c7bf78b3701e04e6225e9c327e2e71a1": "1f8b08000000000000ffecbd6d8f1cc7912efa79f82beace7e590399c98cc8c837c3f48145c9f6023cf72cb05e5ddc4f06b74489bcdb228921454bfaf517f14454750f3994a8e1c86c9f630356176bbaba3223232322e3e589dffd8fefbf3d2c6f9e5cbd7af6e2f9834b4af97279f27c7df1d5b3e7df3cb8fceef5d7715cfe8fdfdffbddff15e3f2a727cf9f5c3d7efde2eab7cb1fbe7af15f4f967f3b1cbe7bf51ab716a694530ecb7f7cf9a7e58bef5fbeb87abdfcfbe1bb6fe2bf3d5f126e7e69eff8edd252cecb67df3d3b7cb5e4df2c4b8cfaf39fffaf877ff97ffffd8be5d59b6f967fffcfcf1efddbc3e532debfffff9487f7ef7ffe97cff10b94e8fefd2ffeefcbe5f2e9ebd72f7f7bfffedffef6b7f4b7925e5c7d73ff4f578f5f3e7db6bebaff1f5ffee9be7ef1f3bf7c7effd59b6f88d257afbfbafcfdbddfe92f9fcc932e97675f3db8fcecbbafbf7e7c78f1d7efeb1ffffaa7172f9f3eb9ba5cbefff6f0fcd5831b5ec23967fd51ffca6fbf3f3c7bfedf377d91e69cf7f1d7cbe5fb0797f9e5f797f72e961fec6a79f3ecc9df3e7ba1f797bccc8cff2bd51fffd7e149fcafc7eb7f7f73f5e2bbe75f3db87cfee46fcbb5ef7cffede1b7af5e3e5e9f3cb87c79f5e4d593ab374f746adffcfedec5ef5e3e7efd74f9fad9e1f0e0f2f98be74f2e9757afaf5efcf7930797ffc24493ea7623feedd957af9f3eb8a4b6df393c7bfe647dfcf2c125de7bedf6fff7e2d9f3b7ef7ffbecf593abc3b36f9fbd7e7049f972f9eac1e5bd8b8bff496d240934c6da66ec1ca8d53423514f25702fa9d8f5c3562971e839f53098024b4e822b9199c643bd6a75a612ec8b836710217c7bdebbb878c88553c1edc6a9e2bb6c97f88143cc89435e634e142951d04fd65bb1245e23a51eb9a7164b92586be25813c5c169e8233d12a516f5ff5cf020c522a9dfbbb8d03f732ca9c59c5aec8963d639e5d4d7ac132da904e23422e9a4f4e525d535871c721c3d75ff7895f52b55bfc291ea23e2ae447b3a93e8d06be49c585fa7cfd95b7aec69c6a62f0a19ffae4ae9d4624b823770121db37e869a26ee29f138b550f4bf071d3b4dffba4d44ffdcf5d3df1674c2ba2c2591fec9be1ab827b18fb6e2517c4fdfa66bcaab5243a92c51dfae33c0bcf19d8155183eda9186be8a31291dacbe4a473182a4b1e654424915eb37a20e9d729a4a76fb59c12b9b7ff2460c257adf2f9ee654fe0c56fcf1f2beee0be5e2c7577fba7afcd5b327cf5f63d3ffc7977ffab7cfff4a7fbd5cbef1dbfff9fcd9eb570f2ebf7bf5e4ea3f747ffdafe7fff9eac9e5f23d3db89429a9895c2e3fd083cb2a39b5dacae5f23d9ffe891f5cf69c6aa172f9fb7b1717bf7bf5fac5cb6579f1f5d7af9ebc7e709975ebfc7078f2e052efc7f5c5e1c5d56fffe573ea0f6bc320df7920491ef3e6a7f2c8f5b31b9fa21b1ff88cbf685ffcc16871ff3a31de121bdf5d1dfef55f36dafc06fb1a9bba041a1d9b9ad208d45a246a49b0a9c5ae8f9bbaee9bba1c37f59a95dd4bd48d2b2391f272e804ce3b44aa9466e8caff4df98138954734f426979cf8d13e085fd2972f0e3f7cf3e2b90ffb5ffef0c74ea55c2e2f5f3c7baeabd89ba8f490b934a92a1b724fb2d4ae7c53674fbcd43e12872a6369ac5ba99691ead2cad8af479e7e3db66ba154977b171723d7d443ad2df5a5cf9128d43ef57a8cd0724bbc74fd77689c535d7ae734432b92da72f141c36fa0928c5416154fa1144e75a9a2bb8570b7250a85ca5287ee84ac2f6fa2f7b24eaeebf04aae49963e702969e8c0bb4e8f5b4bb4d825eb4cbb8a4fa6aa93d63dc779a4b90c7d92b3a4b2cc1138531a0b652c49563a509e69069a4a5993607db125a3d1535d3863fff696445fcdd49575babe8565e8d77a496de1aa0ba1d7b4701bf8ced0eb5ef15365e101969839c9c243e9c1194f4e888bacb4e1a1220a9cb6f0245dac4636679e3d51682a6c17ee84eba9636e59af2be6c2e012a5e6a22a8a4313251265d1a5c3b313927576ac689aa1d6ae64645dfd5297a6e4aa042eaaa9059923b1bebf15d54bbd276535957375a6fa1e46e89f95cf59aef3f1084df0ab52f43aeb00949347a853c7c853c06a92faf5794063b6417abfe277664fdb1a756e200ef754436f9cfac24d257a1f25d5a55053119cf58152671a61704eb494a1ea58794254d486c13dcd45ca4ca4fa78912a50e57391a15c3fb8a5b12859200b74e349d1fb5413e900aa3263185997bc4edd897d369d2d29b9fbc0cc791b9872b9da05bd299bb7a65baf5749b4b4a933ec8595fd5507874e75e945d43e98398da5575299a02cb653ff28f9f63da8224fb7ce0cad97340fb1aa2ea4340e9cf186540fac6bdd0ea21f94cad3515239508dc574684b3dce5443e976a11a8f420e8d5458ea1cf7ab436f6a38ccc46f22cd43644923724be51065268e2dcd4727a3f9f1dd717ff6707ed11edab86b515ee342fa3ca9de95549e4612fd37d7d4637baab64c3bc4a202ad3d8d95f45f0c8191caaaef1e816a1a5174ab488b552da75e4c7147ddb80c5b43d7416a64e5a636cdae2a814ce3b34afb1194054a4f7c502b2a70a203bea41357f9cf9cc6a1c008a8a91d5ab7ab7aa8d574793d88287d929a7d072e6a9c49ea87d6d47ca1540f45ad0e4c905a2a5138f53791f8906145c83ad56aa846893860a2084cbca1d69e32995a7945a7d1a2c0b6503ad59ee6bbb46e7ff8bc7f518dd63c27e803aad14c2336d588983fc94c2d0c5d40bd948374d842f254482d3cb595cada7b12908af20ca3e0fb41bfaf8ba7dc3f92403b327e78ea42917d3fc953651f02c3347d693f28152434dc1cca067aafe8dcb2b2310fd8a5a93d526dc24166769e509bf0d1c9746e60b23fb6cff90f6c1317557041ca487d153556cd4a93585355ce51d394d68a498afe45774fd3bfa89d27abf285ee24e51ffd2495079c9ab21726a37f0b2a774999465f53549eeaafdb5c2516650f49758d2a9a945b6960044de75974282bb6206c509512532d793d87502a7a8428b34316ebe82567e85b7dddc9ec6ea203fee7741013ec92ca2a30be39546cd9118a32ad1e0b708ca87124561358cf033acab92a3b068e2aa71acce68989e9c8a4e43483f4aae3534b04d72d9cbcefe74646b01f549cafaa03d4245312e650c10d6dc5512cb1ae41d4f7e0c453d25c752f32560c6b596d852af6dfaae7a58089e8c6f6e38eb27fb53d8a93911e27aa4e7eac19363e36a8b1bc9ebc6ce84f0e87672f5f3d595e5f3d7efeeaeb1757df3eb8fcf6f1ebab67dfff6b4ec463519e9d3496fd436f4a4d35cb5846a9494aa1df5cbe3dfbf57b35c97b1a97cbfac383cb32492faf70f772b9fa019f3a00359d6f3586d839e5cc63e95992cc516e1e446992da368892f86e07d1d31cc5ecd95e3bbf6708256f74603ddbda105477db2070f50e1f756eb38e4dc489eed9ae7c14ab2d9f8a90ae4bdf54deb06e2e3000c5b9f1f84c12672c387f632bda2e54e1deedefd088d891ca416ab7eaaf06ce2627c63aa1246660bdad3bbf98ecb093abddcafb9951796be23e43a628b7d36aa2555f82932743ca90f3b1deebd10e93aad22ab481ee423bbceae932aac4aafa3b105838ef12045ec16070e0c4b91ffb60469c63ed67e034504182c3ea0ccdd527e11cdca31d73f5a45ed748f6749250ec341eaa523c43e2956813ab7a96d6a71ef26c81bb8a2c9e1557339c2cd5cfd8085c7194a1b1aa71112452379f05e368a7477c8874d61556f2135c225827b50fd49e523b081aa60635d887096fc29fa632432052598367d7ea16012437848b1a48b20e9fac1e9294bd42818722bbab420eee6c394415e9c36d9aa29c34d4a0e82a3eff8cf9fc7879efe2e2ed697f900f4ceed805564829d39aa89057abb729e734651de535d8905cb0a1365b6906eea60729f0486d9d60385ddad8942caad628a7baaa0a87e280882d38039aeebbc158b9b6e86aa106ae53175d42562d39c388259b229dbe27d80cb70e3d1e8a1de0121f8619a9f5d1fe433f7e900483cc8a26b4b6ffda3d1d38892c3da74679de2cc260cf7e9408738b9839d10adb0976287c62902aba99d706cf12991684b5c0f068a950e81015caef4aa8000b621abf43bb11dc52fa408f33a8d0834501c3bf2bf128520d3460a0817b0b2e093f0f438f60aa1fa03d39f5472763feb9556da14ad3d5c38c942174797bb65d4581724eb482f758d7146ec91a601f16350470b2527e13d8fdca753d1b29860b6963453267224cd4a47bb7d89e6e7086ce6096649295cdb690a087d6088710a920192b8c9f66f4afba8b0503512634f9a1d28fa71d305a6c50084a1c50c74e280433174ec30328cc6adbc23eee4a5736ff044ce50981aa4f408ce93d1c76533db841d60f3066ccce7e245542cb662aeb146c7554d1c841d9a2c6a9bf36201cf56755b4f32196a1a3c4407403412f1e224c42d8e513ebaa7bc797eb67247483d30167e615225a79ce5c9b6113d2b2ba8c0e9b8cd645d6adccab8be868225aa289e8eafa07323a988c8ebb8c8e2ea4e326a4a30969d5a32ea7e326a7e3514ec35bdd533b0c18bea4a7bad8931c7485479a8792f425ca4a8f4ea6f5cefc3f89a8aee07913d52ea9c32ea9c351529ba00e9ba08e47411d5d524793d4f128a9a38beab88beaf881a2ba9a376e4c089f8915c3efaaf15dd8fc066d85675db5ad0711b08b225570bb4ee1d1c90fddc070324be3133b4f25800a499ba19a20f8193d43c1972a7c88ddce34b0fb5453d83952cd311c17da8a63605122aa39d6cca0ab387041fae26cc415b6d108a586ac473bd58419fc22cadf7a402a6a01821795e445c9c6784b24ddc5c6b370fa9b2c87042f70f9c2098017ea8e257821f4740e55574aace27c1bca5a084195aa3fa007b081788aca41e5e982bd6fa456918425ac01dbbd92f977e4a09235bb5da9328ab15daa0a4018434a41610bc860157b80bc28aa52d6683e80a20489b6793ca0644e146c3d4214041ef34d2ee377328e5c6ab38a79323c5682af91ee4b446eb0954311634bc6299986bb9ab0626a466f3195d861663668a67d66165d9a6e89a9ecf4331e8c6509d95c007d972766a1739c300895732265b89758d92bd666ee88199b0a7bc92038c7fd8530f4a34c7d56854e85656e14af38c4ea8aeb54a3e4487a8a8820acaeddaa36baeaae6a4a78eaa8d46e81187cc8bde3c00f653470b88673fd6423dcb065da1795b62d23f05af1187031cde81ab75b540bcebf5457e85378323a2219b0f27425e000d063b7ae8d4af7083f2c4d0f33aa98d0430ee68fc3471de6a90169a7528e7028283950d1159c0fc56e22d028d8173a3e0a2763bdd1e95c3fab9fd53f1e9dce0ca7692d736151215095ce0b4b4d23d49a93de1f887e0cbb6a053efd0eaf7bd7ef16c1f5d0ef16d6e770ffdec505179563b50e7d047ed45a259585558e855a8b3ec22db9aa7c8f9ffced213786cb5ff4698fe7484e7d69b0736bd181347bb3706a4b1335722ac205ad4c7d5b2da92c4d256da8d59dd34d8fd01ee7d16bc65c6569100436277d5d0bb5cdc44bc34ef3fba4df10b8b22b8205157fd7c9e7f74c6bd303dbb44a472862e8fb4b535e6eb32e4594bbbbf9e6b9208e56970269d94957a540d57635e2179e3abd4e88afcc167aaebe1216379833c9c2b3223ea05f41b464e89a94dc4243c0a650c3a9a6a6b614d0baf5acf74bc635be236d8f3758c8a08d9aca4dbef66bfaeed7d3c2eeb07eaf223ea876a5035c877aced4c36f6c7a41309be8d1c9e06e0e3cbecd8816ced015e345d75c0982d0a3e84e6c5389560b488c604cc5d1afe796ca52595747f9484f00baaa8c27e1385139817889f266e8d497da085715f1c0866b4a6d5156ec58665c8786409432a54542e803f7d4754e5065a253290b2290a14d4eb49462315f7d6f4110482750970297b532ddbcc698f72e2edecf9b826113227bba55dbd4a9f16cd803a7619b9f09feb2ee8fd6556a2965058c5b1765c7e3753686d74d3f95d394f93f2c28d77044ac3c122dadb16a7a8f0a9e5c5b3c728e6580512b22c10381297db25c0b2f7770815e37133be47f7a5fc0f88f7ffcbcfde1445034c1ea668b556378ca70cbc826701021ab704411ddb8277fda02ff7883fb7f76e4e7d43adfc476cc6e611c1f29321c60e4091df0347a3e096d4e3fd86cf085f91d813080f3ef90f73c98cddd4cf815f23c180fb4d8335bb24b868980ffc23a235868fe9a68593d96e2939116334256dbc5fcda3eece1c39cab3dc3e631779f24d9c9d662201ccca46b9e6103171fc14a820711ffcd9eba93032c3cfdef2758ab8ab029b77faed5d9af55eb0db6889cae5580211d1807355f1578ef33bca6dbdacd6861d219b6542a318736d609546b27f96204cab66da994cad1a83e7e72a9a279b16bb4b5b5b38daf55f15f29c7d502ab0dbc89fd40e30f4cf8f3695baa785cab6abe10a48f350f09280f29cf114ea367b05475ea61a9cefccfa5fa5597cafd457cd7d9ad057ec6d1cded4596d596f73c50cbd02c27199ac53334cb498666fd800ccd7d793c42522c59d333347799f493199a6c39ac01a19d3d43933d4393dfcad064cfd0947733349b6768f60fccd0849b169fbca7ab22c23cf78b1bb26f1e7efe793e5a0abb9de08a475c82b7931dc1ae78ea89e219ae11c6cd8ac736c991ba6cdae744f7b0eb1e3e61c37715cfb4d8dca9da09bbda014ddf553c3a4cdb77bbee99a7ba67533c2e0dccabfe96e269c1b26e6fd8227fee8d6ff0595ca36b955da7ff93ae1f4cd72a3f43d7d6dbae7f7da36f6f3b358ac8a5fa29ad874bf5f193527d27ac8bf5b98b75b2f57a3f51fd89ea9fd7e439ed5ae15d79be53f51d91be9135be6528057a4b9e77c8f37e23515bbf294c7d4ad43acbae29ff49d40f226a9d3725069d12f557d760f72e2ede2e33f85535981bec3729b15f5783ddbbb878b453f3180bbf7afcd5b3c7871b2a0df8af16d1eea5a7d6a758505b724b34695c2e570f2ea5a632271f2b12fe725340bdf445974a262ffb076e4e4a75f4b2f0e0346b97dffc5c69c30757293c943ef83d550a37d71bd45a48de53d630f2e49b5f33c71f8b47bcef5f27e4fbab1478ab52e8390761c42b113cc602b23bfcf4c09a13af14b95a244704b97489a394242bd74001f71849802509feba6dd640cdc2b908c155fd99325379b4bff56732f27aae81e1f7cfa608c16d26baea6a5a49903da89f5d15db2a76c60d081d58fa0c83812d5083642a4826fd3f79811276644f25224d8103c9da548906825354efc01189b7b225a758ee21458498914b808371b4644cb6b8931296d8cf012c183147c4cdb2056cece4c0b10acc8a16518590b7dfd3f5a878ba2153802c6b4c3795253a53ec88a2af6c31654b8fd1c32d59bd485df5cbd411958c24dbe7bd8b8b877a0a9e817922fdc1897dbc7ab45ffdcc429561abdd53f5fc2e4b6043224ebec52c3d2e7827135d955f91f05b908d37b7cf37f926be3233fe4e58eb26beea1ec6d5a9985c6c10f4f2d314ae73aa002e9ccaca16e42d816a4431093e9eda6caca0ccbd344ad295dc2434361497e2165dc6c1912ccd35759daf92014c8e502d84fa083ac1cda2e86a35789450b78365a935b304c2c08b78c541d5680865d17c4d2de550229b8e0b08865ab2a34eca2c0e2c6a923536a8164b7554d3d57209df3dd85e23556b3a74290539855e7ba84b6b99ce88816e37a6b9d24ce0916527ca6e0e6d264bd9861ecdf556118b55535a4cc1daa4dd46c6817ff5c37db0f424da3e57b2fc1095254e187c1e72c8fb31c053ddb7a82e0e1196ace9fe3dd5ebdd6d1b4bdd44828bdf85dc31ab0703eb6f5982f3661a9ee636d48c7c9d5a61901c39c84e3492d808857c66ec938e9d3c525d2baca116105a27d702b09a8ae7aac769bb17c95c2e45b99941382dbadd635191b1a50f9415894158ad1ec93734ebf3d59faa6aee288b23a5aa0c4bcd2c5e37e0312d952f88de531ca9458461f2ba25ed547d0c59a47ad19046bb5ab688e5204e0804b68cfd15a5046aa5423fe8d8a0058ba5caaf88ed8f005eee961b4601d314cbcff7f423361980307641da2c923455b82131dfd20656378e0526a8399b24f1216fb906c5f4924a12fbcd692f1e2b922af41f1c3ce36b062be3d0c9588e020cf8026121a17b165c433225e40caa35500a4c4865a8f8249f2a92232d7f05f5299e7bc16b337bd3f2dd2c97a058e29eca126327b20c57af8229ab551b50e06a89139ecae2f93096ee5b603f4306e6807163f96deaa2bc8269aa41fbb0669450a01252af4b60140a9eb0f887c5c7c60835e76b512abfea057791758638591f308550b2b65dd3f11a8592fa7dbdf6e248ff27b37fad0751822e7d203c465612296f5f733d86d04a3e5ed7a6d7a8ad915a126dd782fb153c2162f17aff67c64fa1e44d32a3f40b994a39275eba28d79789b85ba9ca68134335ebceaeb3d2b50cd4ec75e4110e14a5f576bc6ed063282dbb7771d15ac5e3082e361b0642fe56cba92cb3a83cd7998ee3f53b81c39be37d22c2c2c72594822c71e24590f55949872d1637a49a44af916bc7b83b425519b08825632018a94fcefd3bf04ceb46d1c96cff2ca9ec5fe30f1e9a9a34faacfeecc0754de43582953a0687b40ccea9e19a4265c6f79be5a6a3a6b0fbf77d48482fa1869fd2ad55493e30922d48c7aa9cf1828a97e9af28252aa832432d4613bd325a5a2570c1df319422692c621922c533449c3a459cb81d8f545cb3fe14ae74ae0df3c6b7d9be514181899f2c3b352a663df17bdb0215fcca4625bc1606890ae145d802c9a47362e4b2948291aa98d291caf6b8ce7efbd9d2f09d8661dab5cdb86121505785598a64a403a18a57ffd16d5e765b5f88af0b8829f8c98919946bebf9a14b555046cba08b71a15c634f2928e2a689253c5dd89b38e7946d9c8bd899f33dc17e4f1e3fe51d5b1cc1ab09cb872179201f5765db514692be0d93e7c6313c4063702eea8f311c23797686a3fd27b187b81e69a816c136e4f5d9d57a78f2f60644ed9312c47c0bb530dc0a25b13d75f5647dbde03b7cb9e00bedf238eb4ebd5d2e1e391997cbd327cfbe798af8c70df6fcf64acb84aba10a3ff5e2d7edbca4f64cdefdb1279fabf9596036ab6de8ee2e31e310f6623ff96c7eaaddad4471df103db437abe9e163d83e7f7c7bc2dd26ac437e6b063ee1729cb0bce7e19a6ff3b0935ada473c5ce563863d3ee2e1f631c36eb7a2b63fdc6f456d1f76ff18828d8f1af6ada8ed0f8f5b51db873d3f8660f363863d6f456d7bb8e58fd8922d7f04c11a7dccb0e9238441a38fd8928d3f8660e56386cd1f210c5af905d47e27ce8f737c538b84695865a79518593400de8158de5b5682c8c7d4c362af3880c259e4304e285b573df5530f0fb8155b5e2dbec3eed380c3e2ad675fbc7cbc3e7bfdc3834bbd6d5e9c593c1d71ac5b6c125568a1a04ed5ab483d9062c1154e03e594e6abb0ac72c111dfa6dddcf9a1bf30f509af0998f876572bc4ca3767e856c180a7a29533557c130e2bc645858f9791ae8f842a87ce7202b3875bca0a002df8e39a8786dc19623f5ef012d40f468be09a726f1eb34185b847769ba172052073ad79cba10768842060531eb6a9c441aa31723567681d6eeb2349dff5e77e506e48b9ebdc1064ccb1f09b2a16fa42a15fb47a3f54c779a4adc46265129ce84ba16325b8bef1934ce17b7a70d947aa866f258d0cdaca6fb11a11f53c464983b76116553b3acced1e230bf63c32855a1d762e49f52745c39691e1314fb8513dc3329c246478c4b76ff782d56452dc9231aa0790e1b83d642b03ddd2362da4bce5436c09195b4019b167b7dc11e68e0873fb53e22e59099e92114cea59e6a45bef1e9e6e70cd8e4d3a995430d39f3ccb1359161eb0453c225a8cb7444fc8409a88951fe2bfc7b19987b25e2b89bd41d676f8451a006f548076a72b3cf851875bf79c00cf5b85973f6f7e69681389b4c5a5375c398bf6185819aa14b628790b0e74b2ff8afdaa67b180d8f0df013963eea4adbe2015de6e0ec763914532688f3e1e535dd98f466535f28be3030c1fb3de2feeeaa7688a6300d7c333139cb696db83300106886a2dfcf727a95b274a6026997bb782e308e118b270cceadab1c68d04804cd86641ae3465539e2733ac4eb96adc6d3439090121e0b87a30c1ffbde50c1182fa793f3a921f344b38fef6ceb247c6a42d07c3a321b491c9c2255bd064bac6c271d455a967403bf52d7b64383a84f87df1dc941a8f01b9874a43e48002896ebbb6ff3a6d7ffc6999d1e0caa933f1c143167cc2e4cd55fa3861737656e9276cde9c65aea76c1b3b1567731477faefd49db1f73d79fc3790968cd53d9089cf768dd9c7c6f46fc991beb1fd293318bb070bf3bccdeed5b7e3588f49a99bbc18b1bccdec5ecfec392c668594edf38810794d61a8b619e2baa6b2abc4a1e77868447e8f1c2abb99eb59137bcc53f581ac967e860043377c13440d2682052d8d5003a11c5680b2b55afe0c0255d103b3b1986c773016f2a273849450728f0014024878580d322b156e660a1603392d0815954812694b3cead898e201b67a2d96fbb3b3449d5a6035d4578b095bccb4a2e095535bb71f1e006a21035269ab6ffb025955ac8ed2726cd6e28ce7a62de23e865304e9a34304338fe031cf6196af8130b0c5e5d82c5d64434741d8ba02a7a8acbb755b215e4bd4a1752f79c53e89cdb813da915644042165d9c36908ceab3488823fe09c62c5ad5d976035394c41409369203886f5d40632badb447555d12701de7042caf748839b97a00bea9d2bc25cc5923b62b71097efb415822a14577628904d7db5f02b329e8201bb2add0cba4ed7ca8f25c52cf3dd1810a46c6fd85c92eabac5cf05a803d3b49ca34491e1c61a400e2020c009168084f02a961e263558a89a8ae7a317147ba30018cfad11201091bba52e4412032bb18497b6010b89e14d30b8863675c226b43a629c5be091c4bd910c6d1dc480ff44f726f605c996ff0641bf5657cb645f2cc04a81295310bb230b2b237fcd227f641b93900562c1dbb187e5c54bc1c5f58fe530d1c35eb13056ee270824d61e4e96fa97b1086a57591af497a7f1fada12407595c563d73dd800eb34232298dd76d1f032766c2b2be8b7d147ab399f911dd4c450a32c47171926c5405518675272e8b18a743dc490c11a6db5a0710f16096d61c62d59062ad2d45ce847cad9e112722b9871d6a001d9f54875f56d8fd4552c75c3e04e106b4501602a0f3b23942abaf77b81252ba267ff23d17e11b19be5c4b08b0120b08d606926dd4fff96f260d9082530a0a8c8ad6ed9c4a8a53a98e93282e1534f24c014307931680f334caaa76fc14c729f03721e0305377775f9105d66a4792a19a609b011871f0c802c52b6640731c9ad6b13c84a400c2c5a0f1b961e0be1ee542760e018d529d2bae5ec54186a0dcab979ce890954cbe6a951764b004695b29319b130ca2defc67d0d03b3cfe6d311cfb0edf8ae0abf6a9901c80e30540b53786be4702c5cb38236da2aef8d73233240516a2fa64e2d47d8b2e8807112b29925ae3625f8c47f097f948ab27fdd142e6500e3a2ec482a3ecb8ae81372216670109fba56cf10a66630dd8190a3412e465aa8b6e5b09f238aced5d23bcd6cedd8d11ca6eed16699bd6c0e18834082355fede069ba2c3b6acf495a9b95fe109945d16c15574ffba890600c241aa59c1ca96bfc69291b3a77c79768c09a01e761b31bba844a158c07c972dda5256f1920dc2c838242a98e610588126c2b1ed841c584790654a31f7d375f1cf084f09768893102a9667076d34090a6ed11867466202de9e4d6b6953aa4061044b687b77c2d8928a28a767631a445f0a831638bae11d873562be0408094d2772bc4322da160b7446dd722782147cb4dd13366736c7b689f0adc0d03026a2b2ae3abe14f217f2bb29da1c666736fc7cfed735cc754fb7959570780273cff49e2564ee6ca4005d31ac9b724769c4145c2be9f5e19e65526e6ec3079c72eef0cb30f7688e7f58923520a3c232e01d90d1f896650f21a69ab1e81cc401dca06eb2791bcb8c49c2f1b4cd2d8ab5eec3ef291762ba9b8be81de59f5a02a38ab00ed723d06299ba31512f491493a1841f8bb183a260cc1860c15604cb4069b8a517e7f24ea2d3d9d77eddbe2897492464853252f06da2ca07a5b70a7bb1fa65ad3b50386c5cf999674b969c3726b9fe69d8d554f993c879f325bb353a6dd618b829e05316bb735379f876915007fb86135cf8598a0218859a711d3eeb0c5a3cf83980d293e9d37d16bc52b65af8b399b3d54e187685312add610449019ce663bab603b13877b25835439f135d613f712fe7f262385cba74d2bbf6dee5fb781f2f90cb354023e4a36a768738886091f49b1a8e4b98cb463a4303c77605f83888c94771efde4b2a94836d9d4a60bfa22ec81abd9ce0312b16471dc1e2b8850731b18cf4089ed916fa990ee1cba11f85236ceed3c86d306a1b4a62363fe3cf853c6087554c39fb5e24ea0c2b2b97f917bde572a8e8a4f1dec6b4eab787bb0cc3bdf6632520db51ba6bc01881a9a2a908b01ab7a1e23ad79a2594c5b6345798c75e43297f730a4ef6ad8e3704bc13d4ee6e53d1313a1d4e253c0f8dddb85536e77cf4bb7a2019a96e731d05de97ca4b2107cc203b1392f2bea51cd07547bb8b3c3dc606225b87005ae7db3d33b8ed42db0956e9dc9cac8a87009b6b5794f39da40eeb173adc078c3592927500ad5a0a4c384eb03809400d11de731b182b208a6e926fe0080e606c5d7ad1d0bced806421aa695fca0a0d4dabe9cc7442413da5a11f06103e5c0c38a5e457054e1550ca574070297c06878733e9ba704d601aed5db0d585719ec28fd3893610e00abf66a81816e38b6c1ea027b7097b449d8e6413684a3cf64f802dd55ab753ce8ee3eaea1e0bf67c30d65e4405d5071392ccce4d9141641ad5ee68a6a0f2febc5bfce63f86a3208a257b26e5c6c6e750ee6a0bca5ed7bf703059e7cb54a634378630418f87c4443ed56512830c3c8e30edd50c2e1473e13e150e17037416ce7dcadc4b78433b2b4ea003d293b35eb09e6dff889b4e0bff3301925995ccd9b8976598816aad5dac399685e1e680ea707058f2c0f3bee2095e75c283911f5accd738ab6e4cae2b18733d93e6ced39ad97c006c8615d72d97bf09cc9488ba573f03c71b41707fa3b12f4d37b5f98cdfbc23cdcfbc2deb657ef9cc718c9bdd75cbcbd70a1ee632c3f55dd50ad599c4cef368dd424f893cfc5086833719026c9fb699982453282f7b53a132ba0a1fbabd49e8a9db2c7067f01ac002be53c17b5a0eb2e0186ec6a9156a40a20b14310517e176af113a959b1324d649a0dc311410b040beb9f892cab1dbd13304c4b891deef81e1e7b3e177aa297010b599e2f1c0b563f546e8444f94483b4766266026ea905b215f69ecf49b01658fed2d056c9b29aab53b3eb71e53c8659d81a78795fd1ee0950d54edcba93ce659cc69c96e56760421b969fc4b361cf82c41fb5a98be7916fdd1c2d13fa6cd853182825c2a9ae561f52bd118632e799a408189441114ad3f35cd8f25c8261c5b5f330b1ac20556dade24138299e20a077ce8294dc9be70201a1d98a42d146a8c0f03f139b8e07524fc5f2388b953219b696f5fd3e1779c403febc821295bd90a4fad9f44ca2c3dc37dbbf796123f7cdf66f7226631cf9ed310e3ab731f6b18d716e63ccdb18cfc57a33a7531335dbadc66903b43b1f4959fb7442f6eca954fb627b5edaa71fe3d8177b6c639cdb629f8957ac6571c8a9b26e5949e4e988c0873b97610e87706a3ecc7a8aa21ece269f42e969c05da79041732b0f3c9f14aa86b499daac4ef1b8f0c5eb20cfc431d6b86cf9a76c7ba8713db394c956ac5d5f8571c97bab77b811c2993026a3ab327a0a9e380fac6d7c897c1eabcd65cf36aeae1e256fab7d2ef69a20c1a85507677564f6b2378738939dc365beb57358e8cc764e6146cf3b83199fc1fadc3a887da019e84c768f77926c76e8a9ae20556272a0f358efb2ed9db6ed9db2ad773b97bd23841e8743c93880a0c0e4f03b3cc299d81a95045d430b6a3107d61a30c7bade259e89bb0dc899d62e72dd6036d80120249ec9fe06ae282a860c34deaa3336bcf2e3c6b90619f9ab363afb3918cabf67c3b51d1ff4d86dad58b9b8d552d20d60f59f6050d10635a30fea97ca923b19145a2ed3d87aaaf0eeaa27ef91c8b06b643f15b06774006cdbbd3e8c8c0442f700de30628095e2adcc67f01613860bef85acb1591dde49dd6f75e81aab09ae0efd72f47a5b9f976a45ecd1c7147d4c8655660d7a82a769a254fa972abb3ba1ac4335ef50a6a8cc169423ce4fd186504abf369e20c1fb127caaf138c2f4de973092437e58eaf32759b57e6d44c147144f47f48b2c923b715e5372f7753dbaaf737297472bf336a6f19d0c6c1e075653df863693bc3db44fae31a54f43ad460ebad9c23d0db472e0a9e735ebfa015c9d1e0093c364187e825afa950db8c3212bc0a7c31056cec498e60ecca05150a26e260b0d203d601e2d967558ae801570c0c35303104ac49070806a12d10f4225bba5af8b7d59bc7adece102648a878d57311c77204d636b573f1c7f0a870c4e91c7b6a685c81d311da5e9466384c30a7546d6d39fa8131db33890d9509379d65faa462c84ad626a37afb8dd5baf264acef006044303c847a3e7b1098e682be3bd635039c350dad021050a897aa08794d6bbd32ad668a93ac15e042649e496b948b6d7c26f363a9413a5b7f1e548758b5116afc0d95aa58ce79031a1059b4b4443a9f446361ef2a50572207712b193d5328941cf996c7b4bb465eb56dcdb9be01c448368812ee91d190c83e0fb122869ee810d9a17fca9f89fb2132e4b7a08601686368c883cd72bc7a95038a1decc320222cd659f52933621956d48664198afb7c3d1b1f254e06f763fe74b1f632f0610af2a23aba1f422ad78af4780a83cd2c3ea2788a7749aeb7757cdef90a14ccaacb9b421b90a9b5130a15a07b86f903542dfbf8b2ccdba75cfe5a88b234fa3b88b2a59c0997df01bef0cb17871f3e19adb7761af72e2e2823a121d3e257bd2d13a86683d35c28034f043d312ece8349fe41c091e139b061663f1d6cf7d41ae7db6374dce938598d170fdbd21e8498fb9693db874afecf049b268bdc8e4407116b06d7dec4d1121f8a1a466fe254e910bb956e4e0376dbaf0e6c8d3ee50020c7a72ca91c28a3472819ae2e7963c4fde24d19c0a73a10f059dfb4d40faab8ca9bc8edc0b17e29949ff6240742ca523f14b54fdfcc432ca1bf613a48e86f0aebdb91d498d3fc73ab1f27acee8cb027c2aa3564d6e79e68697d0621ef0916a4eefd783e3907209fa48c96da215b3dbe41fd4eaf139c9645864e75584fc322d48f37b7f219fc1ae1954eb4ed360fa7d91d955df54cf65ae71284da1b16afb468def00f107b1bc470f14e9a05487ce54b9972768cdda58532c7a29fd6baaf0b8aa48be0baebb55aa1274af86cc6de5109555b92a5f71ea4b17d8ef21126c3dd32f3064425c3b3a7fa064475ca0d9f768cb5fb18ab971bd99db31aa3f04647cff0ea1b688ecc33c9946b3d6fd6a19f20ecce598d71ba7015d9b27c269dd918770520a3bcad00ce658cad79b6944c5febdecb36c63351520d27ed5a86376f46adcdb0061dfe797687c25a4b12a05dcad2d07db535514b8b3b7aff64bfea797ea442fa3546cf1dd8fc32132d5c9167d36baa4bc93d35243adcda56bc73674db5d6493555745acea102551ba8c1db95da3772883c1162fd38e3e5d7a077c925f4aa868a08fa3ce3ba010bfe3c39a4cc9a4ae8d4535f8a489aa17349732979831aa7331c75958291ce3416c1a1a197bc94397527524b63399dd799786b303c13d218a3a76acd9c5c99f473f1d880a43ed2e266a2de9377c7791b8eb833d0bd53d35ba572683274bf09a51e5a563ea81d59d9b35de3e34f366203d6edc90d8ac692dcec21ae69435dace3b661bdbb96ca3d238851c41b44b177e411ef745357832591501df4a5eb09dec1cc9bf592d960d0258d55104740bf189cfe11e2f07654dd609aa67e5faceb3d9c027543d91ec0f4afabe5f3a089087e3902046c1e0129cc71c480db44fb243298ff12591cb71cdda0f30a40460332b756022d7680cb3bc8395afd00b45c9f6e28bf24c3e923f45e61c03b02cccf7a41a866a5bddfd00020bbe5c05147d03a926c9f40d8ee1d803468e57824f7e9f5a393eb33e92bd83a107e3aa5be16efd281eefcb6d8e8eab01aa27e31c453fcb1a3210d79d3062b7a23e0ee187e4c067b34f00c72022cc8e4ada32c892b4c5be5553656dc1a7390752699ab35a19c480b10f4f969684755d1838b3278879056707b64a2bb266919c86a6bddb028fadeb21adbe0fd9cfa8bd9d428facb3875ed16486ca1603bceedf34dfe2582c15a767cac6c583b7a250dec7aab67403b935f9c35f96bad240acda9e67fa8cde13843c83ff12c1a245b9ec7e1b1cea9c42a9ccaea08a925508d53478a8fa7d9dbba1d7bf301bfdc6bfd4bd85abd58f266719a12686af8e6bc35b3f1cccc60189f0350a0cd1b29f6d4228341aba3117bf00132050143246a9550f65663fa34798f9824d1760b3ac578c3926aa89c962d4ad6aa4ed6d8ac4991a741aa0868d74a837fe9aa502ad2da5deb828cc98a35f16a601e03bc6e4e53f2c223eb8d4181adc1dfde2b51f6f67f74eccd6929b5d646c65b57146fe4c9d6bac256ca9a3756f76d23e5c6bfde1d776458b7ad95bdb79f60cd66b014b44f90598abcf820c57b89595e1a3081adf1337c23eb7e635a267144e69bf79313743f1c7b53c86cbd2fb79691d5da9978d7c7e648b786796179f8e3d81e7906efbdb27dae8695096bcbb9179f871cb2372b645fbae26d2eebb684de9595d7ad83a2153f5a3729ef9cd23d811b80165e9cdf1d216a2f39be3d604c4e77b95a607151a5243cf62aa0d32a54ef6be9ad3e9b3711457f9fbd5da8352429616f0abaf5a6f5566779af6f3d5663b6635bd0719d36f1f875714d61ddd268df41c506e66dba3f4191436faa516a9d6f623b9614985960bdad8ead84b70c7ad9eeed9d3fb18bfd8e37850b68261c9bf7f6dcf2ec0d1069eb232c9bb8d93a78e2ab16790cd3be76d2c1d6fbe93a4672f14e9d0329df0cbdb20d7bf830e72ed31c376c2b493e6645f1d66dc7811bdbd60382b11f0dca736f5b0a6583ffde5abce7d42bddf919b04e6fec3a5677d67a462ded22bb6e26cb890928de29feedbe425bd7540a5b6110a2be9f804191bbd4b8fd9341ffc11914ad4bb8fdefc6a0adab21589b9c32e88ec9c14756f446cefd846167dcdaaff3de7119b6259813ac72e44f7613a26dfce9a6c58617ff7efef4b6bdd5fb1cf6ad597a89c716c8e5c8a2d85f636b078d63eed6ebdaa01737fe8c4706b54e679eb7e03ddd6d69c917f8ccf9b3751cb100abe24470068d1b83fa6291534ce2c6a1de3b8ebca1e406595eb63671e4d623baaa7f0a1eadb35897f07ff2e83f328fd659bdf1fbdf8747b7d8c1372f9e7ff2ac9d6ca5ca7569a3ee57f0a84c5ada440fde99d35c3ac393d34b9233cc3e6ac3e6d196366768232f9d2642be92c6b9e41fb5e9d8146dcb3f6a1e0ed1cb31d299e4dfb74c69475590b437edcb5b9a6de77a2e9d45a820cb6ff48349b969e0ab5b535674b96d9602086156ed70b9ddb31ebbde71babaa0226f138a46f887ec8dfc77118b9a6986efb2b85bac1cadc8fd349f03a32131ea471c107643dc44f771f34d58958a8b1b6b4047915cba0fb7d7c6e6ed64c827eb90c230cdc44fdfc55b715b7b6eca26bd2558f7e6638f611f9e798e697321d306a2fbe47078f6f2d593e5f5d5e3e7afbe7e71f5ed83cb6f1fbfbe7af6fdbfe6443c16d50493c6b27fe066974475d6a5674a3c6bfd8d410e9446a91be44099ac3c75f5fd834b92542e97ab1ffceaf6af959a2a2fa3d424329abf5366d717d93be9a7de09d6b5ba62eb4443d60f1840b891d8030a540d0e7bf526c94004888c8ef0de58b9c15f54a2d729c69e642dae359b1f80a6a10fd9329a73a87ae35a6baf34d0329ddc274bde4ca0a4f950d0e6cbc03c45e092950ce8e67ddc3fee92e3d694cc328c96a5d06f2e6fded319ff7b47f8a4c6e56eb12a6e5c4499b684323f6eb6b173ca99c7d2b32499a37ceae99626a96dd32d896f9ceeff495bf3a7dfd9e74d2fd5bb35e5c1bcc05f33fbd8e64a757b2f8f7daed0bcfada9ee8e3f8a9a7398a20dda2d7ceefe3a65f39bd02332df98699f24e6196139484f7abeebf07dfef9dc1ac4b425e058e1b2fe06f56eb59d340dc1a870d3b5520720d1dee3045354c6f6143a8c244477d159fe86e6051c01a869dcf2c9e652075441657153d154d38fa4b446b018423071427e99f6af036fbfaa33322a58d537b58e60852f5f7246788e61ef609fd7866842e8805551c71a057a2d16ea8c5038468af8df012758bb80a7aeaa16f480466664455e37e0eb2941294539fd97c49d5a934b68c826dc6c571ba39f49f9f7247f8b8e013483b30d7aada06e69ca473db4dffbb58329fbc992d370a629d7e8ac18e08e804c01156d275a40db4881e9f48c69066ed63676c331554e8abac18865252079a94c45e6e7b76baf3c6c205ee27e6d5c00e58c76b678b1a0b4e256b6c26062321ae0a680b30151a0c024c240dab6214e59640d39b683b52c40cac278c198a87ac951b7a18697a1b4bf17695e741131e2d545d48ec86500a02c1123a08647a28275a5ba0623804141865e0c3b018dacaa67c4690b6617ef46cfa66acd3fba0b3f7069916073993c9d7a9c7605d0d5df8a9fb16f950debd19701e629461eb71db213523418ff2ea6db006ba20a814180005a9ab959cce882c34601000234459a27a16092047a0989b45e0d7e1476d36b8b1a2f4457fd673e9cc4d288468a2ec3290e884aec5608e16c1f88cc852b56433ec37efce4cca326d9d6ec43070473cb3cc90224784a9a2bb11df2f40ae1db7ed7773f75b053de7eb5ca12eb29a4c338c58b275269fdefadd1acee83dd54885ad77ed2db11aef1e274300a932d240ca2d6f96e6b0a143b4b7d540627a30c4100b26b67399c3696d51f449c46d12f13889e8b388368b787d163f75f4c16127fa296bffb0bb85529b8d97ce89a5743f73a90cad1f7fe63abe783b6c9dbc7690c8d2736a94e7273c74d5526e98ea0d87ae4fbe63a543c490dab2bd6f51f83cc32861587ae93c97b1963130d6023bc3071b6db0f1dc062b452d611e23c93a1d698d2d760600bb6a59afd9daecaaf89b2ad7550f009a6d35a82d32a02dea11757534d1546a4011d728d38136abea45fd23027162901100138825072a517ff2a1d8cd81ee6930eb747c144ec67a1ec4f39664aadb570377c271a1a075910e5e4f6c75acc088f28e466a910163c7e836cec5a4862c5093daa0d260536f1dcd6b804d5d5637a9813905933a1c4d6ab7a8ed242501a041d37253cca48e629cb519d4d12dea0840b6ae921f09edb74c1fbc738274ddc666516f0675dc0cea78625047b3a8e36e51c7a3451d37933aee26753c9ad4d16d6a808ca1f4852bcea172efe296059e774d85960568aa03ab0fbb3ab85d1d8e76b59bd56137abc36656bb551dddaa8e9b551dddac0e6656c753b33aba5d1d37bb3aee767574c33a6e86753c33c3ba629dcdb076bb3aec767538dad5665687cdac8e47b33aba5d1dcdae8e47bb3aba611d77c33a9e99615d07a9599d18c09740679bc110fe0009ba6e6675c4c993e0bf81cba5de7601efda11c51315164de5a0ad0cf09675f8aa0d1b7ca67c885dd7a4af641d943994cdd01634036b2a4445edd5e635202a2981604706510de78a15c4946a59f17af4aa2624ac5f33d2cacb3aad72429455e0e865bc25523b44ecb7beda4117720a421a65d9ca2bc22b0dab461886488b534e29b14a6a883d07642b17b87ff45fd6d56120d6ac32aba77630f8c1b6a279a92a0965bdaa4a8d62c5554f7230ec42320f1e63afa2a52ccecf4a3e396220a7160bdc29a467f0ae0683d94a4569826aa86e30b896fae390df38e44cab11840c2dde68d1009ec51c5e9e5884d0b6d51aea0a7483dcedaa86b19d1859fb34941d07a01cd502196bb4a2268edd9a096f7e5352a525488c19c0aee408da6e1521c0c935842b31d83c8c5e2c433c4eb811947322e5357283579363c5e91bf487233383e0c8c65a235be05e6d28207d82dcd1c95d55bb9a3185f6c2142547c2be026175ed504061852fdd0c38e070714df521771da54883f4a9aa902b62edc75df021d180f7644ca431a8dff1fea4a66295465fdb8c1d1aa8b548d4b03d8aae8e5e3f6c9550be9f6a186c7d4e0bae44661a0ff5aaa9a40af6c5c1135edcae57f72e2e1e72613c300312e2fdbb68fda73f701ec2aae6a17c5d01551a8e1553239ac16e1d6f507a404813e99055aa802b36510bd82e64358c96865256490d6125ec1caa5bbd2e37d7cfd90cf719bb4a811237795094d5bdf0a5ab5103390fcba8fa53aada99f5191d4c419f0e4ae56089bef045a9d4817d1587c1cfb1d7f5ba1550f53146e950c1f449f79801fac275a546054ca9aa2ac7ecb21c81cb4c3a3666734995359b5304855bddac320adb340575619b3dc38e871c40a1680df43bf25d2a720e210a2c49d18b29a3e52f4ae203321aa1fd1a248ad80f4e7bf13067a2a0b08fd8e0bf3a5427421e1cd9e48e037516544a75f7ea36f8e05057a72303bd903c09d1e44577ae90a18d5402b24b52b68a6db6cebfcd4c0db8eecc110390b711dd64357432fc5eb776732a46200c5d375514fa4928f8b3174eead1ce4a62b0fc367beb2baed354bbe661cde8918cddadd72570635cef2cfe1182280f99777d726e40d7550e6bae82dc7d0c4f166dddbdcf66c065aa08d301fb787777f7b5f17e7a23b20346bdf7adb80c7e02353b86d51e9fc730b9d13fc2302bcabf7b56a31c6609b0f619e272335755229e891ba214b5546cb8711f6fdcc71baf8df777f7bff9fdbd7308602349a10669c3dcc3e7312680a14a173b5bfdeefeab37dffcfedeff1f0000ffff5fe69651a1010100", + "c942384692540a659219d8746ee9fcae": "1f8b08000000000000ff5490cf4ec3300c87ef3cc54f968640a2aae04ad20b4fe22d5e172d69a6381b428877476bba35bbe49f3ffbb3639cbf601758d5524edf343c01eddb2e852ebaeefd638e006663b14f192fc7374451e551f4157ec23eb01ef08b4de51a32ea381337bc851e651c2417cc6b774d3f623310720ab2c468cdab82a8635b0c30db73296942f93989a57aa1fb3021a9101c17ee9cd7e8ef520267cf5de0ad044b5f33d796058c9e78aad4c13b2793a592cf42c373f151f4d3f457e0a195beea9b597be72febffe0efd6fb7a5e9065fb0f0000ffff829b6c549e010000", + "cc0ec998cebfa39579cabe0ebf0062f9": "1f8b08000000000000ff1cccc14a03311080e173e729869c1229e95df0608bb8a0e2610b1e65c8ced66036b366260711dfbd74af3f1fff4ae99b2e8c942c4b5580bcacd20c5d653b7c99ad0e60ee35a127c5bbc74d8d3d1b073cb3dae7200b0f54a7c2cd07fc835d63c5fb07248dc3f9edd5bb830bf199cd07801d697cfae954fc6d1c4723ebfafeb2c7c61a4f3271d8c849aa51aeea6ff928d36f1cade57af1618fee834b9285d1048f7d9ea9880bf00fd7000000ffffecd480c3c7000000", + "ce01971710d9b9f11bba237baf76ec52": "1f8b08000000000000ff1cccc14a03311080e173e729869c1229e95df0608b5814ec21824719b2b33598cdac99c941c4772fedf5e7e35f297fd39991b215690a509655baa16b6cbb2fb3d501cca365f4a478f778536914e380efacf67994858fd4a6cadd07fc834d67c5fb07248d2fe9f4e6ddce85f8cce603c086343efd0caafe3a8ec9c8869e5eb7d859e341260e37729066549afa6bdecbf41b93f5d2ce3e6cd17d70cdb2309ae07ecc33557101fee1120000ffff2fa22d1ac7000000", + "cf6712125ddfa9d651b4f66d736d6303": "1f8b08000000000000ff5492416be3301085effa156fdbc326c5c8f72e3da4878585a52ce450f6e6893cb645648d90e4a6a1e4bf2f92b3b4b9198fdeccbcf95e2073a4913193f54ad93948ccd828e0cec978a7cac7c707b4849cf42e04bd33d98a4f7f8e232e973bb555aa6dab1836214f8c942966eb4704b13e639088b32c11cfcb3090135008ce1a2a5d74d1fe9505863c0666872132837c0fea7b64419e6c4257da7798394fd2373013f9918bf4345186cde8855303ce46ebda72e71c4e0c4ac77529ca0d2823c9cceb564d5909331d1969898c2c4566c839741482de737ce3cdb66bb078c729d5e7bdf8ef1927f2b96c566d566745fac5549d079b341eb76a58bca9d7d96cf1a150dee1f109b41eb11c74b355801dc031d6cae7f41ff5dfb72778ebaa187032ea9f94c96d38c622bca88b52ed83bac78b644ea0832c793d981ea553eafe1efbfd6fec9750c02af5ca886c649ed9f7088e4c2155f97cb570e0c916080851decf0dd262265052bb40666248c4cb68fd7b25e53857dc79e219bdd40c949113d3db19ce0ea5aaae31d098720ee9b16d4739ac81d0565af66d2f26b5755c5dfa7f5a9e17eb7aa55e27f6e8ae0a1ccacfaeb08d8b2f308cccc13a5e8d1caca7786ebe66a772a8ce4ed6391cb8c4a12c3a71a128c30a6d556afc2afcc0ef814de65ed55a6d7d4de26db7cf24dcdc7049c577197213a96b8cb5520fadfa170000ffff71ae9b187d030000", + "d439a742bb76bceaa50df253815eda39": "1f8b08000000000000ff6c53b98edb3014ecfd1584eae5b32eef556d912645bad40628e9c9a697e26348ca0782f5b70794684bcaba1366067388e4df156389161d26ef2ca9fab6158a92a7001ed13a493ae019a4908e6827e40049dde0190e6e4495ac51bbc1e3d7cfdf23e66a2b8d77c93b0b198c250d1e83e0849511f527e3fc247cbd1fc42c644bd52c78c338379676169d4b568c7d0db6160d39e9c95e827827fdbeafa0a66ebda3587fbd98d1a041dda0ae25ceba5444de792b4c30296113e731961832066d58f6ce926d06d9336437eea325ebc5091d75b86e49dfbe796b7118bfdd40964f5e873f3d8e3d0bd84c3623ccfb31e39a410ef934b0c1e38f879d3f2a51a15ad74a0e512ff00ae5bd59e4c86224dfa61a9134161d7a8efa78976c92a7d5a811bd2763b19567b403fd062ff07c3f9c60c0158926b2af904dfeb57333eebad88a67430ee7740a2f43ee40b7522dc8e7fb4d632cd991d9a33dcccdb729a493b921e797e1db626ee0c4b2d92ba490df497f596667904171637b3bdf7b2de77b3535c883f78d2a864a91341d97da79a1148f57991bd5efc66753423a8df7681dda07aa6b0ec5b4b2935af23013cfde8adacf84db747ece37a35aa1d09c2a470a3df27adfeb4f17e5e5ecd8c85c1e856f209bed898238b5cca75e539c8cbfbe80ec5b19258f6831fccaff077e937642cb169d5f0ac37b0a8f63f5b5fa170000ffff7d5869daad040000", + "d7356a0c96560b441eda4c9e940b5754": "1f8b08000000000000ff8c90c16aeb301045f7fe8a61c0e080edc0cb5b19c7a504ba6b6a48e87e6c29b188a431b2926084febd389096eeba9ac51cee3ddc5aa81bf49aa6698be35cfc07d315ffb04900ea61f37c884259adac2c3acdfd059bbdbc4308258f7e2adf59485db68e47e962acd7c3a649eab550b72649ea740b2776e68d5df69bff24b7a3491e943d6b19630e817aafd856dfb97b32f289b5faea48c7d8921fb2550e46fa814505d87e1c8e185710207d28a75b18c979453ac310ca136bb158ad178972f046e3ea87d4ca5e8e9cfda5303c86a8003b6fa1f3b6b893b3ca9e310714e4a9e8d99e94335801be3a09335f61ba3af98239742ce60a7047b6977a914d9ba44e212ef72b0000ffff7e16bb647e010000", + "daae3f6c1877694081e2d9bbe1ef33a2": "1f8b08000000000000ffa4574f6fe3b613bdfb53cc4f0860293f59027ad4c2dd431a2c0aec26db76db3dd846424b239bb64c6a399412afedef5e50a464f94fba059a836593f31e8733a33793540ad2f015e7254bd7300685df2aaed0f75eec9217bc1b589b0f859cf70d16859c1f77ef64b9752c9f8b6ac145df3495e576e4084765b37d447ee282df11ddbf6ac5527d09de70c14729d108adc52501133c47ba026d8fdc388b0be85d814c3cce4916a8f16e5989355dc3a7c66c249ddd286d0c8f2c5f5011aacbe375b3fee6c53ff21a7fc742b2ec6dcf0b5ea36a6c7a70874fa5c8f9a2524c4b0563d80d005068c59112c82b916a2e851f9865809aa976d3999a3f5696054f99314c60e2160186512c64864f1b99550552bcfa56a1da8eaa15c5a4d258315e50b4a261d8473022d414a744718f36a2948e8633fbe530681ea6a022da8ad4f73af86d7c1bdd7a41944b75cfd2a5ef1ba7b7018c7fee9ce639d855188fc73f3a39e860000a75a584fbe97c002850c31ab7306ee2b38d1496054bd18ffd693475dcd3d82795ee57b44f89f60b194ce3603f8d7c4d668d262c9dd9f57811c27018749efa6bdc46a499d2f495eba5ef3d7901ecf7e0c797d89b98079146d2dd9dc790b382f0c777e0b9df6677b2c6edcc404555147de4e93e4c9a43663f20ee83a2b2a2a5f3cda6d13e2cb2351d001c4203b7e54a7eeb83a940b7668e7707087c69c527faac64cd33b42f83bfbb49c0b395e785abdfccf3b87008c21ec13505f177392f50b00d26e04dcc73164d5229340abd64b49c4529d119cf8586f9935daee42681ae40bd50cb043cef300b616764ed4fb19119cf396609685561c817422a4c60e29982bcbdf542f056ed17f3fadcde7a33383db88dc047c932548fa5a95f6aef61f46fc3bfa3e3cf705e2d125b19676138d1411b80071b805600a31549717eeb4b0df46d6667ef06fd0cbbec7519b6f2e0bced4b8ecbb883b525a88c96f465e6589b00a6ee1388a7917b216ee2b0b75b11f681e6ef5acea3a2895f7862b803bb9a8049c8c8fef04290addf3b92954af1132b6d840f8737094a49fa3f9310fb970c3d82e37bdae3dd1da3a6e9f5fd4d1cda4079bac78faf69516598c0a9a45fa759599aced5399b63d171bd41f5864bfe8bccf3bdf9f869af75bea77a11f8d3f7f5789afd7f1ab51f8139cf7a5da9eea8eb8c28f53f12987a6f19ae39e59a6ba4906451a3df8a49e0f0f85a4a6a19de5bc9f9dfe9e2cd1bae2de431fa0b592e51adba1cb4799cb9ded7be3ef38a17d95dd3c32ffb751cc3c3e397fb047ecd612b2b600a61c96a2e16c0892a2478e17a097ac90984d43047b345a8c12b952c51155b2f840d5b634b47954243a5e0c3e3d3fdc35fc0a9b16fcd81113ccfab3c6785b4be3d83ac51299e21c1c3e32ff706d5b235a7bf2c99c61acf19b504a9c0cbb0c642961b14da8b1a9c1d5b50d43036c7a64814a1a8a396dc74c61398d31fd33aecb0d39b5d36d294228a3aecf5aa6d72321545ae29f99de0c94a97954ee05a77b06d61455e0825d3cb049e6f764f4f195766ff1097d5bce0a9eb03cf5d1d38553c3bb8eb7ee1d1ddaac033ab13053ddaba024dfaddfb55a320ab149361a46918c2b099c19a8714c359d7bbe1d8c1ed60503793d249642168b9ad43adc3b6c99bb6703e9dfa3b569628b23f52c54bfd852d9c4c0541e77523f796afef844dbb1d8661dcf49cfec4ecb79e588bae9f1c2f9fca4da990cc5aeff5db30b1284e8204b0462c9f72932fb2ee5dd3cdae067ac0546e4c5cc835d6f012d77d71ff86dc5d431c82eeca26a846dc37fc7b338ff64bd7757495c0c45e7ad68fd779200f83c360604b253272a4b499a04e0aa9a7257e30f83b0000fffff3292c28d40d0000", + "db8e1e2167d7993bdf62512ba883d4d0": "1f8b08000000000000ff9456dd6ee3bc11bdf7534c75651b36857e57858b2c90cd269b02de2488bcbb058a2261a4914d84e2b02465c50dfceec590926307c86ebf8bc00a393c73e687676865f92cd708b20c8a8c1f8d5463c905188f00b2b50a9bf64994d4e46b7a6aeb5a6acad16c77d987bbfd2f1bd4e44af45e7f60d974f3c182adad74b2d1b45ea3fbf8c091d17b0aad71a43556b9c7b275988d4600afafa06a10648317e7d68a9f2a6ceec8c27ecf875f5fdf76be5185dadf3daff7fbdfc636b764f3ed1f39ff58b24d972557682a98eff7ecb8f4aefe380adee533eaaf7f331f5bf1eec75cb86e2edffe918d26a3519ec3e5cd0f501e5a8f1504820d6a0bbe53a1dc80c71094597b7892bc4b06ba0d3a84b0413e29add5aa945c7e46784265d6e05a23e00bd6b2d58157b30ab7a8c936684226465be9a2c733e06e105f318cb3afb70f97373fb2d9a9ed24da4a6b61da53e77cc7c5154c3946b172d2782d03b918c9b9b5ec3171945a83a336a007692a68545569eca443ee2ee811f994df50ab2b7842a8b056062b01ab8df28c14360806dd16a14413d001d5b0a3d6bd0b5e8cf29c97eea9e574cd8e9ccd60eda8b57e06184a210430810a4b2d1d56b0babd83f927f872fbf3863192df06a5f1dc7d3b6a415615c863f281e0515afb0853590774d31e8c332f1922ba9b41d8c890bea1535ac3cded0a36728b69c3607784c9f12278d9c4a272d8ae450ed5a1a7d69503e118ab07e9a143ad87a0ff11406a4f3ded083fa4dd21941b2c9fb102656232c955e8f86b77928818fc63c199be521afd23b3907071bebab89e9f2f970971069e4085a160527772c75dc787ad962556a0a50f83af78e684fa8cb9ab9032621d6ed10c6419e350969859360c0406b7e8b8394ac91a2146756b4aeeb4f1e4a42fe195af651dfbf5ec0c8cd27105d2c2d06fe206bbf1f07d6b23ab64067069b60bbe1ab3feff02bd57646e64830bc81e8e3587d704676abf7ff0c92c4bc7f69351fce5dbd0066a64504c7c070e2be5b08c3115c572a026be7b1c47312d8ae578f2767a496b70f89f167d48028b019d8771ad74fce0f6df4dc409ce91c68abbe1cc32feff067ce728300fb996caf80017c5fd15c81064f9ec056c42b07e91e75dd709eaa4b782dc3a57a6c217613736bf70e4fdbc50011fee13bb872b726b74bb8731234d0637f7d8d0365e974a79f9a4b9f3953fe5cb6aca15e9c9fd52f323e84f27ad0794e5e6901b654042601d4a73500cb6508a1f52b738cec24b3611e3a9252b2ec8188c767f8a689c1549ed92977113a78ef8f2793219b8f310493324e216185a1ba5aff59818ea740d1627d8c73b8706e0cdaf97ab71966733b8a606afa5a9f4a18cbcfd765b9395f41e83ff4c2f13f6eea36ad6bc0db5a326de48db3e6955426a4472bb1140e4eb30b4ce30ea681f85fc9853baad9a64059a4aa97bd4190f27686d040e8739008ffd7344ac1e6751a64d95100627efc4342687123e4395e4e235197c918bf566a8bee451ac78bd2187a04c4dae89541787ee3d0c5ba1f8d5935754fa3c22aaff46d3a422a7a93f68c4b703c12bb6627de0a1872efe914b42b39ac595b3f81688ba12077bfccaa4b58b1481e7b12a443efc3799418666febdc8267f8f007f792756a20864c7e8dc2496e7509dd511aff1a42fd4a01cbf48310f847eb75720694099929af85a48398d83a766c9551e0c05b85eadee0a0119677491e7f8221bab915f32199c7d4aebfeddc6d1087df35f117a984e0d85e914d0c40b56144b112bc8b3fc6490c38aa0a2489ac13a048725350dc66b14872c58472fbbdfd43adafc1f7df2e123344f1df2a6ccbfea8e3eefc39bf8b85009ed74d414c5f2beafc5224d1e7e8f9d41661d556dbc3efd34298ae51d47728db242e717d048fb2f1ff8b5f1eff4f39afd737e45ae93aec26aceda4ed9a22f4fb667943df7caff020000ffffcc4ac5ca2c0c0000", + "db9e7b0a79a9cfb135df713ae83ce099": "1f8b08000000000000ff4c8e414ac6301085d7ce2986ac5a90e4106e0a2a827a81f9d369136c326132911fc4bb4ba10b578ff7787c7c8de217ed8c142d4bed00b93451c309105d650bc9ac3938db9e2d8d9b8f52c22eb7b16d7448b8d2c10c10022e5278a1ba1eac983b12aebcd1380cd3359a6067fd661cedfc1326298c8d76f6b08d1aff13a68817de3f4935bedb8cac2a8a3ff0a06c432b46ffce75659d4e4fff6164a3bf3d3fa2fae5f3f56572b9ae7cf7c9cae1e6197ee12f0000ffff1754f1f8f0000000", + "e255094fe51ef01862178e311e17f754": "1f8b08000000000000ff7c8ec14ac4301086ef7d8a217441c18d7a2d6d61d9931711ec0b24d9e95a4c9398996835e4dd655d1441e96d0efff77d933344e58e087580a603e90393dc3147826d2955ce308d802f5007b9f7f3ecddf01e1004e3c2e26bd16e3a18e5800bef22aa411d2f44ce7590f76a46f9a0c8283b7d6029e20a72f46fd4c0ed4db9844d7f72a3255ced68efedefcefe09cdb3f6cb7a273973dae1a1815159c2bfbdb3edce85c42baa1fcc1dbebffce7ac5a9d98bd0363155127343bd0ecb6948c412201d15bec04253d4f2cfa47f58aedf519e9abcf000000ffffdcd8bf6980010000", + "e2d5d81577b142a416eee01f2874f794": "1f8b08000000000000ffb2c930b4abaed6cb4bcc4dd50b482c4e4eccc9ac4aadad55aeaed64b4c2ec9cccf4316b5d1cf30b4e302040000ffff9ca0bf3a33000000", + "e8972ac6dc3e57b0c59883df456ad37c": "1f8b08000000000000ff34cdc16ec2301004d0fb7ec5c8a7a4aa927ba59eda5ecb851fd898b531246bcbb14108e5df5120ec6547a3274d627b662f605b42d499284c29e6828600e34339d6a1b371ea7d1caa733cc6fefdb3e841b2a196e8c219191fafa6fb531f54885c558ba0a1342dee04647c6323ff726db6b84bcfe115acf72b8eeb587ea216d1b2bf25f982e194c6607985fd698e6a3e09585a5ae8110000ffff7d25ad33bf000000", + "ea761d55cd5f5d08a297041a98564260": "1f8b08000000000000ff4c8e414ac5401044d7f6298aac1290c91d74f3c185e03f41ff4927199c991e3a3d228877974016ae8a2a8ac76b1c3f791370f4a4f5204aa5a9394602862a3eefee6da0b36dc9f7fe0851cbbce9a3af2b679daf1c68229a67dcb4c88deb92c5900e301659b967c77e8dae38c4be04bd9d7fc6ae45d07893406baff13f618cb8f0e155abcbb74f103335fcd0938977ab88e143ea22369e9ee1eeecfd787f7b8685bb5baadb38dc2467c56a5af072c94e13fdd25f000000ffff16411447fa000000", + "efa72723cef2e8bfedc523738bf5d159": "1f8b08000000000000ff9454c16edb3814bceb2b064c60ec2e4009392c1008e9c1a95df790c6aea5b4e849a0a46799082d2a24e53670f5ef8524cb8993a6494f4f18be9911f9864c69a50d253633b272a1b7db71c815e80ebeae9cf52797f17d456095b6ae3064199ac6033844e578410e75950b47188d0e882cad134a81df6360dd299e2949a5ebf44959faadc9e6dedea9bf73e82847e2653e08a812dc22486ba9728ba0d081355970fa0f656b0db6dbf5e6e3aaf21722bb15052d6e8ba661f889ac76e03958c0c05767ff766a597e907889daf56d6e7369c02b5475aa6416086bc9d96ea9d0687f9fd728a45bd7a99fe94d50e8b45ead84d2c1933a50363a47aebf974a8bbcc3e847a58dc3621c7f7cc74edb129ecee66d0d525932cfb34e1464c3aed991759ee7b7856f85b12146876f0fd80a2345aafa6e60364fa6d75f42b0b687bd350dc0621ec5b3e5344a2697e1f1d15e8b0df91fa4a2a6491e44df1401e0d3b7e8f3553219c7e3cb71347d55f981b29ccfe364318ea2aff3e52404335a0fce433e80781ac507f1e46679d51bb45a93f4c6a8a6619e77829956a22cb02563a52e91adb5cc086b521519cfaf2df1a2ebe072230a0a317a0429d19d3fb05febe1700fbfc63ee3e7cfa867feb9e7b5ec76602778bf166541701aece222c47fcfbc59bb565b825b137a08333decc6039ed27ad30e7d1c942e5321f6dbb164b6326b53f352448e07c9fb8b1afeffe7e93fcb153f3c21c3991dcd7078b5fad6fdbde9fff157000000ffff99f35612d8040000", + "fb822827dff50f68a3cd4cbdf7a507a1": "1f8b08000000000000ff74903d6b342114856befafb8afc58b2e83032917b6d866cb14c942cae08ace4a6655f49a0fc2fcf7e038c51248a93ecf390793366f7ab2a80df9180a80bfa5980905304eb6900f1307607cf274ad1765e26d9ce2a53aa7e73836398fef0ffc2fa0544f968304a0af64f1b8963cb74b2c94ab21fc06b65b29d51f61017035183cdb42af778220dc6d83d45936af4f1ed0e68cfb03f69447fbd1a5174fd793ffa49a6d11c794841c70dddb10c17fc7f301b952a3db0c2e2530efd6ec7f070c7e6e8d8cd449939e85cd59025b00982eadfbff5d52e3fa71bffdead050d6f73dd52068405d242cf0130000ffff7b2fce9c7d010000", + "fcf9b1fe98670ffe85fadf1593a3b534": "1f8b08000000000000ff1cccc14a03311080e173e729869c1229e95df0608bb8a0e2610b1e65c8ced66036b366260711dfbd74af3f1fff4ae99b2e8c942c4b5580bcacd20c5d653b7c99ad0e60ee35a127c5bbc74d8d3d1b073cb3dae7200b0f54a7c2cd07fc835d63c5fb07248dc3f9edd5bb830bf199cd07801d697cfae954fc6d1c4723ebfafeb2c7c61a4f3271d8c849aa51aeea6ff928d36f1cade57af1618fee834b9285d1048f7d9ea9880bf00fd7000000ffffecd480c3c7000000", }) if err != nil { panic(err) @@ -93,156 +93,156 @@ var _ = func() error { func() { b := packr.New("buffalo:genny:assets:standard", "../standard/templates") - b.SetResolver("public/assets/application.css.tmpl", packr.Pointer{ForwardBox: gk, ForwardPath: "b944ada0d7dfee32b86a3c351586ba93"}) - b.SetResolver("public/assets/application.js.tmpl", packr.Pointer{ForwardBox: gk, ForwardPath: "a0904bad0a4150c57d6f1e6c5d6aa503"}) - b.SetResolver("public/assets/buffalo.css.tmpl", packr.Pointer{ForwardBox: gk, ForwardPath: "2613a5ab39a3b9986bb019331d8546e9"}) - b.SetResolver("public/assets/images/favicon.ico.tmpl", packr.Pointer{ForwardBox: gk, ForwardPath: "04485932d90f92b1f6d01ac655f3b3d2"}) - b.SetResolver("public/assets/images/logo.svg.tmpl", packr.Pointer{ForwardBox: gk, ForwardPath: "8904c5384fa8668d6a79e32e48c53111"}) + b.SetResolver("public/assets/application.css.tmpl", packr.Pointer{ForwardBox: gk, ForwardPath: "749dc26d85a249c8c5a3efa92cb0293b"}) + b.SetResolver("public/assets/application.js.tmpl", packr.Pointer{ForwardBox: gk, ForwardPath: "1ec08471990f98ece7e8d944aa3cd415"}) + b.SetResolver("public/assets/buffalo.css.tmpl", packr.Pointer{ForwardBox: gk, ForwardPath: "524efd5799b78f65989b6c1104215481"}) + b.SetResolver("public/assets/images/favicon.ico.tmpl", packr.Pointer{ForwardBox: gk, ForwardPath: "1fd3e4602afd3c7e8d6adf2c2aca985c"}) + b.SetResolver("public/assets/images/logo.svg.tmpl", packr.Pointer{ForwardBox: gk, ForwardPath: "5c28c6abb0b23e98772f3aaed045abf5"}) }() func() { b := packr.New("buffalo:genny:ci", "../ci/templates") - b.SetResolver("-dot-circleci/config.yml.tmpl", packr.Pointer{ForwardBox: gk, ForwardPath: "543c89ec0b890fad904db35b155d0b21"}) - b.SetResolver("-dot-gitlab-ci-no-pop.yml.tmpl", packr.Pointer{ForwardBox: gk, ForwardPath: "5d6f2ea1184b1653049f127764858779"}) - b.SetResolver("-dot-gitlab-ci.yml.tmpl", packr.Pointer{ForwardBox: gk, ForwardPath: "02e9568ee200d1f95e13ba2235a3085a"}) - b.SetResolver("-dot-travis.yml.tmpl", packr.Pointer{ForwardBox: gk, ForwardPath: "c7c4ea3097c70c12789fa4422ab742fa"}) + b.SetResolver("-dot-circleci/config.yml.tmpl", packr.Pointer{ForwardBox: gk, ForwardPath: "ad984a19840b1660f7b799cfc369022d"}) + b.SetResolver("-dot-gitlab-ci-no-pop.yml.tmpl", packr.Pointer{ForwardBox: gk, ForwardPath: "4a4954ee92c57e00f8a0f34ec9a08084"}) + b.SetResolver("-dot-gitlab-ci.yml.tmpl", packr.Pointer{ForwardBox: gk, ForwardPath: "efa72723cef2e8bfedc523738bf5d159"}) + b.SetResolver("-dot-travis.yml.tmpl", packr.Pointer{ForwardBox: gk, ForwardPath: "9a6b926cb5a5d57f2ebe46e33ce680be"}) }() func() { b := packr.New("buffalo:genny:newapp:api", "../api/templates") - b.SetResolver("actions/app.go.tmpl", packr.Pointer{ForwardBox: gk, ForwardPath: "4334b0f46d779c32dd8a3ee235a4b42e"}) - b.SetResolver("actions/home.go.tmpl", packr.Pointer{ForwardBox: gk, ForwardPath: "d77707b5575db5b50791e6c1a131ac93"}) - b.SetResolver("actions/home_test.go.tmpl", packr.Pointer{ForwardBox: gk, ForwardPath: "3453f7ce3ce1e9c9d586ba9aa79a8794"}) - b.SetResolver("actions/render.go.tmpl", packr.Pointer{ForwardBox: gk, ForwardPath: "eccd20a3ab2a512709dccf2fb8df4bac"}) - b.SetResolver("locales/all.en-us.yaml.tmpl", packr.Pointer{ForwardBox: gk, ForwardPath: "7fcc70e2c7483a7326a24bd1cdc4af08"}) + b.SetResolver("actions/app.go.tmpl", packr.Pointer{ForwardBox: gk, ForwardPath: "a8ec67aa1e41fcbd2cdd86240d37c5e0"}) + b.SetResolver("actions/home.go.tmpl", packr.Pointer{ForwardBox: gk, ForwardPath: "545676fd88c0d1d27198d283049c41b0"}) + b.SetResolver("actions/home_test.go.tmpl", packr.Pointer{ForwardBox: gk, ForwardPath: "ce01971710d9b9f11bba237baf76ec52"}) + b.SetResolver("actions/render.go.tmpl", packr.Pointer{ForwardBox: gk, ForwardPath: "e8972ac6dc3e57b0c59883df456ad37c"}) + b.SetResolver("locales/all.en-us.yaml.tmpl", packr.Pointer{ForwardBox: gk, ForwardPath: "9897b71949d4e127aa00c50724ae4b5a"}) }() func() { b := packr.New("buffalo:genny:newapp:core", "../core/templates") - b.SetResolver("-dot-codeclimate.yml.tmpl", packr.Pointer{ForwardBox: gk, ForwardPath: "52cdf751a4adab526c64b817f123a6bf"}) - b.SetResolver("-dot-env.tmpl", packr.Pointer{ForwardBox: gk, ForwardPath: "3643cac7aad7e449dde7f023f89ff862"}) - b.SetResolver("README.md.tmpl", packr.Pointer{ForwardBox: gk, ForwardPath: "0ac9c97b14565a81e81adc4ef482ff28"}) - b.SetResolver("actions/actions_test.go.tmpl", packr.Pointer{ForwardBox: gk, ForwardPath: "5eb380c2ae8ca6e10dffc3b60fd4c68c"}) - b.SetResolver("actions/app.go.tmpl", packr.Pointer{ForwardBox: gk, ForwardPath: "adbdf21aecb8483652c3ca79c70c21e0"}) - b.SetResolver("actions/home.go.tmpl", packr.Pointer{ForwardBox: gk, ForwardPath: "81cb1587fe133299c9c3ce339d832518"}) - b.SetResolver("actions/home_test.go.tmpl", packr.Pointer{ForwardBox: gk, ForwardPath: "7246b36750fc4704d53f0fe7dc0f9a92"}) - b.SetResolver("actions/render.go.tmpl", packr.Pointer{ForwardBox: gk, ForwardPath: "60b5ddeee92d1c5cda67c7a329b10b52"}) - b.SetResolver("fixtures/sample.toml.tmpl", packr.Pointer{ForwardBox: gk, ForwardPath: "50d3e266d6148ce655a2a7ff90ce1dd7"}) - b.SetResolver("grifts/init.go.tmpl", packr.Pointer{ForwardBox: gk, ForwardPath: "37c2dc1a1f60c5e3d5255a61cf48ad1a"}) - b.SetResolver("inflections.json.tmpl", packr.Pointer{ForwardBox: gk, ForwardPath: "d258e202261ed56ac0a8449df027094c"}) - b.SetResolver("main.go.tmpl", packr.Pointer{ForwardBox: gk, ForwardPath: "813f5480d7e19daf02c182e36fa8863c"}) + b.SetResolver("-dot-codeclimate.yml.tmpl", packr.Pointer{ForwardBox: gk, ForwardPath: "357939eff9d3a7884ef4ebadca1b1668"}) + b.SetResolver("-dot-env.tmpl", packr.Pointer{ForwardBox: gk, ForwardPath: "c3816880f9d6ede8f28a4a1f0360251d"}) + b.SetResolver("README.md.tmpl", packr.Pointer{ForwardBox: gk, ForwardPath: "3ab914a64676d62186c6060f4988dd39"}) + b.SetResolver("actions/actions_test.go.tmpl", packr.Pointer{ForwardBox: gk, ForwardPath: "fb822827dff50f68a3cd4cbdf7a507a1"}) + b.SetResolver("actions/app.go.tmpl", packr.Pointer{ForwardBox: gk, ForwardPath: "59c3c4502bfd1cb86f9a7572f82ea9ed"}) + b.SetResolver("actions/home.go.tmpl", packr.Pointer{ForwardBox: gk, ForwardPath: "ea761d55cd5f5d08a297041a98564260"}) + b.SetResolver("actions/home_test.go.tmpl", packr.Pointer{ForwardBox: gk, ForwardPath: "fcf9b1fe98670ffe85fadf1593a3b534"}) + b.SetResolver("actions/render.go.tmpl", packr.Pointer{ForwardBox: gk, ForwardPath: "11da39f868d54d3279affe59a569252f"}) + b.SetResolver("fixtures/sample.toml.tmpl", packr.Pointer{ForwardBox: gk, ForwardPath: "a2aa87a7f3879b4244cf8c8555382e93"}) + b.SetResolver("grifts/init.go.tmpl", packr.Pointer{ForwardBox: gk, ForwardPath: "6d6389bc500aa7c88f06a525ffdc3964"}) + b.SetResolver("inflections.json.tmpl", packr.Pointer{ForwardBox: gk, ForwardPath: "67965ff5ea3fd75bf5d6891d715a8d5f"}) + b.SetResolver("main.go.tmpl", packr.Pointer{ForwardBox: gk, ForwardPath: "cf6712125ddfa9d651b4f66d736d6303"}) }() func() { b := packr.New("buffalo:genny:refresh", "../refresh/templates") - b.SetResolver("-dot-buffalo.dev.yml.plush", packr.Pointer{ForwardBox: gk, ForwardPath: "242b39ad54264b3a991f6244cef7c7fe"}) + b.SetResolver("-dot-buffalo.dev.yml.plush", packr.Pointer{ForwardBox: gk, ForwardPath: "c6660b1c6a1a45d1cb79e72c7bb65764"}) }() func() { b := packr.New("buffalo:genny:vcs", "../vcs/templates") - b.SetResolver("ignore.tmpl", packr.Pointer{ForwardBox: gk, ForwardPath: "9f2daa325aa64cda5f09da97a65b852d"}) + b.SetResolver("ignore.tmpl", packr.Pointer{ForwardBox: gk, ForwardPath: "3e00c27b916d08ee5aa54c8a3d2f31a5"}) }() func() { b := packr.New("github.com/gobuffalo/buffalo/@v0.15.4/genny/resource/templates/core", "../resource/templates/core") - b.SetResolver("locales/folder-name.en-us.yaml.tmpl", packr.Pointer{ForwardBox: gk, ForwardPath: "a9b609ba9b7a306c42499485e3c01bab"}) - b.SetResolver("templates/folder-name/_form.plush.html.tmpl", packr.Pointer{ForwardBox: gk, ForwardPath: "567e2638f2c5d15d059defb14e4e463a"}) - b.SetResolver("templates/folder-name/edit.plush.html.tmpl", packr.Pointer{ForwardBox: gk, ForwardPath: "72d19d26d8f2fe5da0c98e7273b5c28a"}) - b.SetResolver("templates/folder-name/index.plush.html.tmpl", packr.Pointer{ForwardBox: gk, ForwardPath: "42ef67a69104cc24dbb29e2ddffdf564"}) - b.SetResolver("templates/folder-name/new.plush.html.tmpl", packr.Pointer{ForwardBox: gk, ForwardPath: "f535300726d0bc835017ec26af4e8408"}) - b.SetResolver("templates/folder-name/show.plush.html.tmpl", packr.Pointer{ForwardBox: gk, ForwardPath: "d4f2890402006146d78d0aa8f8c5ba2a"}) + b.SetResolver("locales/folder-name.en-us.yaml.tmpl", packr.Pointer{ForwardBox: gk, ForwardPath: "8d1395ead30d0841f952b8cca46300a8"}) + b.SetResolver("templates/folder-name/_form.plush.html.tmpl", packr.Pointer{ForwardBox: gk, ForwardPath: "e255094fe51ef01862178e311e17f754"}) + b.SetResolver("templates/folder-name/edit.plush.html.tmpl", packr.Pointer{ForwardBox: gk, ForwardPath: "6db581c2c298b22b8281e79de71aa56a"}) + b.SetResolver("templates/folder-name/index.plush.html.tmpl", packr.Pointer{ForwardBox: gk, ForwardPath: "6e0c924074f3636a40c0a94549a7d6b0"}) + b.SetResolver("templates/folder-name/new.plush.html.tmpl", packr.Pointer{ForwardBox: gk, ForwardPath: "d7356a0c96560b441eda4c9e940b5754"}) + b.SetResolver("templates/folder-name/show.plush.html.tmpl", packr.Pointer{ForwardBox: gk, ForwardPath: "b97ef3b8e9a685594ebc0fc9eebc931a"}) }() func() { b := packr.New("github.com/gobuffalo/buffalo/@v0.15.4/genny/resource/templates/standard", "../resource/templates/standard") - b.SetResolver("actions/resource-name.go.tmpl", packr.Pointer{ForwardBox: gk, ForwardPath: "6573548b2fc0f0f412c4d11f61313305"}) - b.SetResolver("actions/resource-name_test.go.tmpl", packr.Pointer{ForwardBox: gk, ForwardPath: "ccf670bbd1b940f77e6a33d18bed3b7e"}) + b.SetResolver("actions/resource-name.go.tmpl", packr.Pointer{ForwardBox: gk, ForwardPath: "83e722486c9aaa60954a8c8bcd026763"}) + b.SetResolver("actions/resource-name_test.go.tmpl", packr.Pointer{ForwardBox: gk, ForwardPath: "1ecd294aa90a5a249902dadd8b1b7502"}) }() func() { b := packr.New("github.com/gobuffalo/buffalo/@v0.15.4/genny/resource/templates/use_model", "../resource/templates/use_model") - b.SetResolver("actions/resource-name.go.tmpl", packr.Pointer{ForwardBox: gk, ForwardPath: "699a49e7ff71b8f8ca660965ef51458f"}) - b.SetResolver("actions/resource-name_test.go.tmpl", packr.Pointer{ForwardBox: gk, ForwardPath: "765269a6919d64f4181ba2d9c7592a90"}) + b.SetResolver("actions/resource-name.go.tmpl", packr.Pointer{ForwardBox: gk, ForwardPath: "a5bd9ef051dd34fa95a8ddfe363e527a"}) + b.SetResolver("actions/resource-name_test.go.tmpl", packr.Pointer{ForwardBox: gk, ForwardPath: "b8438980c36888bd6a7b788a487d06ed"}) }() func() { b := packr.New("github.com/gobuffalo/buffalo/common", "../docker/templates/common") - b.SetResolver("-dot-dockerignore.tmpl", packr.Pointer{ForwardBox: gk, ForwardPath: "2c6bd972240bcd80d2ed0682ad950326"}) + b.SetResolver("-dot-dockerignore.tmpl", packr.Pointer{ForwardBox: gk, ForwardPath: "200603a93cae9aee719dcb679b44c289"}) }() func() { b := packr.New("github.com/gobuffalo/buffalo/genny/actions/templates", "../actions/templates") - b.SetResolver("actions.go.tmpl", packr.Pointer{ForwardBox: gk, ForwardPath: "d8ea92bfa1667613feca7b7c00f413a6"}) - b.SetResolver("actions_header.go.tmpl", packr.Pointer{ForwardBox: gk, ForwardPath: "6d370f84065919e03dd2bd3d253bad56"}) - b.SetResolver("test.go.tmpl", packr.Pointer{ForwardBox: gk, ForwardPath: "856a80f6bafc680de7d735663c530c12"}) - b.SetResolver("tests_header.go.tmpl", packr.Pointer{ForwardBox: gk, ForwardPath: "c21d2243a9690d4f725d253a1eaae057"}) - b.SetResolver("view.plush.html.tmpl", packr.Pointer{ForwardBox: gk, ForwardPath: "6791bbd7d67bf8d4c3e88687fb9eac28"}) + b.SetResolver("actions.go.tmpl", packr.Pointer{ForwardBox: gk, ForwardPath: "0234b5edc6e81c1e266d31f193fe20b9"}) + b.SetResolver("actions_header.go.tmpl", packr.Pointer{ForwardBox: gk, ForwardPath: "9aec4669fcf2f836741c92fc02cc9098"}) + b.SetResolver("test.go.tmpl", packr.Pointer{ForwardBox: gk, ForwardPath: "baca6b4ebf8cc8bd0ea945a5a2fffe15"}) + b.SetResolver("tests_header.go.tmpl", packr.Pointer{ForwardBox: gk, ForwardPath: "5a632d314f6d6797fef503c04ff3e44b"}) + b.SetResolver("view.plush.html.tmpl", packr.Pointer{ForwardBox: gk, ForwardPath: "e2d5d81577b142a416eee01f2874f794"}) }() func() { b := packr.New("github.com/gobuffalo/buffalo/genny/assets/webpack", "../webpack/templates") - b.SetResolver("-dot-babelrc.tmpl", packr.Pointer{ForwardBox: gk, ForwardPath: "e4f19bb976ea59b0682a286b89396afb"}) - b.SetResolver("assets/css/_buffalo.scss.tmpl", packr.Pointer{ForwardBox: gk, ForwardPath: "ed4d5aa3047fd65157293d965aaebec5"}) - b.SetResolver("assets/css/application.scss.tmpl", packr.Pointer{ForwardBox: gk, ForwardPath: "09debad446adbbaa70992811a3b479d2"}) - b.SetResolver("assets/images/favicon.ico.tmpl", packr.Pointer{ForwardBox: gk, ForwardPath: "c5e5aa3411561d2c0c102809e446e220"}) - b.SetResolver("assets/images/logo.svg", packr.Pointer{ForwardBox: gk, ForwardPath: "35b86742dab99741a63518db24bb76a5"}) - b.SetResolver("assets/js/application.js.tmpl", packr.Pointer{ForwardBox: gk, ForwardPath: "e8696ae819b72019fcd50611211ddc80"}) - b.SetResolver("package.json.tmpl", packr.Pointer{ForwardBox: gk, ForwardPath: "aaa62e7739ae79a7991ad085bfba82da"}) - b.SetResolver("postcss.config.js.tmpl", packr.Pointer{ForwardBox: gk, ForwardPath: "dea300b9bc0b1a9623ad19f4494e92ca"}) - b.SetResolver("public/assets/-dot-keep.tmpl", packr.Pointer{ForwardBox: gk, ForwardPath: "709335c479cc2996cc506ec82da2424b"}) - b.SetResolver("webpack.config.js.tmpl", packr.Pointer{ForwardBox: gk, ForwardPath: "06a6a4ca9e718a10ee1efef1c2e49b52"}) + b.SetResolver("-dot-babelrc.tmpl", packr.Pointer{ForwardBox: gk, ForwardPath: "8f7214811ed4641d8d06c428e736e427"}) + b.SetResolver("assets/css/_buffalo.scss.tmpl", packr.Pointer{ForwardBox: gk, ForwardPath: "ad0590eeb12863588f25c48a5f376f57"}) + b.SetResolver("assets/css/application.scss.tmpl", packr.Pointer{ForwardBox: gk, ForwardPath: "7a58ef101f5e8bc63d4aa81d805d3dba"}) + b.SetResolver("assets/images/favicon.ico.tmpl", packr.Pointer{ForwardBox: gk, ForwardPath: "addf37c61e119909debf422a9b655510"}) + b.SetResolver("assets/images/logo.svg", packr.Pointer{ForwardBox: gk, ForwardPath: "c7bf78b3701e04e6225e9c327e2e71a1"}) + b.SetResolver("assets/js/application.js.tmpl", packr.Pointer{ForwardBox: gk, ForwardPath: "3a5d3f320c662fc4951dba09e5ca48af"}) + b.SetResolver("package.json.tmpl", packr.Pointer{ForwardBox: gk, ForwardPath: "d439a742bb76bceaa50df253815eda39"}) + b.SetResolver("postcss.config.js.tmpl", packr.Pointer{ForwardBox: gk, ForwardPath: "02c0cabc5d0ccf06bf62aef1259e6eaa"}) + b.SetResolver("public/assets/-dot-keep.tmpl", packr.Pointer{ForwardBox: gk, ForwardPath: "11a0cc9b3e885f72d7f5b4c016722237"}) + b.SetResolver("webpack.config.js.tmpl", packr.Pointer{ForwardBox: gk, ForwardPath: "daae3f6c1877694081e2d9bbe1ef33a2"}) }() func() { b := packr.New("github.com/gobuffalo/buffalo/genny/mail/init/templates", "../mail/init/templates") - b.SetResolver("mailers/mailers.go.tmpl", packr.Pointer{ForwardBox: gk, ForwardPath: "8ccb2b48dd100514ebacd9654f7e2fce"}) - b.SetResolver("templates/mail/layout.plush.html.tmpl", packr.Pointer{ForwardBox: gk, ForwardPath: "24acb3645d0c223724ce264b932033fd"}) + b.SetResolver("mailers/mailers.go.tmpl", packr.Pointer{ForwardBox: gk, ForwardPath: "70ae08ec6bfcd89151868c693af94486"}) + b.SetResolver("templates/mail/layout.plush.html.tmpl", packr.Pointer{ForwardBox: gk, ForwardPath: "1f893bc0a5e86464fb13af76078ae912"}) }() func() { b := packr.New("github.com/gobuffalo/buffalo/multi", "../docker/templates/multi") - b.SetResolver("Dockerfile.tmpl", packr.Pointer{ForwardBox: gk, ForwardPath: "47cdc99cfd7800b23c57b35568e02598"}) + b.SetResolver("Dockerfile.tmpl", packr.Pointer{ForwardBox: gk, ForwardPath: "ab8942bb19a00ddb54dfc22df4c36c21"}) }() func() { b := packr.New("github.com/gobuffalo/buffalo/standard", "../docker/templates/standard") - b.SetResolver("Dockerfile.tmpl", packr.Pointer{ForwardBox: gk, ForwardPath: "1a498e3f79e792cf588697578944bc27"}) + b.SetResolver("Dockerfile.tmpl", packr.Pointer{ForwardBox: gk, ForwardPath: "afc1533d018c2d1730753da9c1eec198"}) }() func() { b := packr.New("github.com/gobuffalo/buffalo:genny/newapp/web", "../web/templates") - b.SetResolver("actions/app.go.tmpl", packr.Pointer{ForwardBox: gk, ForwardPath: "1ad33d32c175564c3b3ccb60ccc718c9"}) - b.SetResolver("actions/home.go.tmpl", packr.Pointer{ForwardBox: gk, ForwardPath: "e1ce4dd81dc280423d4863fc1a330606"}) - b.SetResolver("actions/home_test.go.tmpl", packr.Pointer{ForwardBox: gk, ForwardPath: "e0c0cd0d96c606a11abafce45587b849"}) - b.SetResolver("actions/render.go.tmpl", packr.Pointer{ForwardBox: gk, ForwardPath: "8b0e984a5d392e463a901f21b248a7c4"}) - b.SetResolver("locales/all.en-us.yaml.tmpl", packr.Pointer{ForwardBox: gk, ForwardPath: "2b2a30dbb8a10e299ad753680511cf4a"}) - b.SetResolver("public/robots.txt.tmpl", packr.Pointer{ForwardBox: gk, ForwardPath: "ea4216afa34546e2c4ecbfb7213f6fff"}) - b.SetResolver("templates/_flash.plush.html.tmpl", packr.Pointer{ForwardBox: gk, ForwardPath: "3baa9872a06bb993286ec8aa69b4f41f"}) - b.SetResolver("templates/application.plush.html.tmpl", packr.Pointer{ForwardBox: gk, ForwardPath: "1766fb2f5a37b14997d2efd7a94119b8"}) - b.SetResolver("templates/index.plush.html.tmpl", packr.Pointer{ForwardBox: gk, ForwardPath: "9d1b79c560fde234414ecf0149a1df01"}) + b.SetResolver("actions/app.go.tmpl", packr.Pointer{ForwardBox: gk, ForwardPath: "db8e1e2167d7993bdf62512ba883d4d0"}) + b.SetResolver("actions/home.go.tmpl", packr.Pointer{ForwardBox: gk, ForwardPath: "db9e7b0a79a9cfb135df713ae83ce099"}) + b.SetResolver("actions/home_test.go.tmpl", packr.Pointer{ForwardBox: gk, ForwardPath: "cc0ec998cebfa39579cabe0ebf0062f9"}) + b.SetResolver("actions/render.go.tmpl", packr.Pointer{ForwardBox: gk, ForwardPath: "b1025117b1edd497f09f8663eb3a853b"}) + b.SetResolver("locales/all.en-us.yaml.tmpl", packr.Pointer{ForwardBox: gk, ForwardPath: "82bafaaf693dd31835437687f3bc795c"}) + b.SetResolver("public/robots.txt.tmpl", packr.Pointer{ForwardBox: gk, ForwardPath: "b33656abe4a19add5fb7502f0b6b2dee"}) + b.SetResolver("templates/_flash.plush.html.tmpl", packr.Pointer{ForwardBox: gk, ForwardPath: "c942384692540a659219d8746ee9fcae"}) + b.SetResolver("templates/application.plush.html.tmpl", packr.Pointer{ForwardBox: gk, ForwardPath: "70731710a6b9f5808311e8dc2d8f7460"}) + b.SetResolver("templates/index.plush.html.tmpl", packr.Pointer{ForwardBox: gk, ForwardPath: "3c5378f5aa59242753fa2bcf50bbb6d2"}) }() func() { b := packr.New("github.com/gobuffalo/buffalo@v0.15.6/genny/build", "../build/templates") - b.SetResolver("a/aa.go.plush", packr.Pointer{ForwardBox: gk, ForwardPath: "bf27d2dc0c63524e934bff393b6a81bf"}) - b.SetResolver("buffalo_build_main.go.plush", packr.Pointer{ForwardBox: gk, ForwardPath: "4e577aceb26efd4aa3e9ef3ab5ae5884"}) - b.SetResolver("migrations/-dot-pop-tmp.md", packr.Pointer{ForwardBox: gk, ForwardPath: "a4be76308cb5f0ce6524479f82e9df1a"}) + b.SetResolver("a/aa.go.plush", packr.Pointer{ForwardBox: gk, ForwardPath: "a85bfd7cc3b5f9eb04967d04cf35cc5e"}) + b.SetResolver("buffalo_build_main.go.plush", packr.Pointer{ForwardBox: gk, ForwardPath: "52f14062d5b60ffc0896c4bda40d83fc"}) + b.SetResolver("migrations/-dot-pop-tmp.md", packr.Pointer{ForwardBox: gk, ForwardPath: "c6e3e8d28eed67725402c2b7c09dd7e7"}) }() return nil From 4357a7569c995b2d5c01d79dfc493b37cedcdd4c Mon Sep 17 00:00:00 2001 From: Antonio Pagano <645522+paganotoni@users.noreply.github.com> Date: Sat, 19 Dec 2020 09:20:20 -0500 Subject: [PATCH 27/64] Warns if response is attempted to be written twice (#2059) * v0.16.16 (#2055) * adding direct version on the docker build * fixing plugin installation * Fix npm's package.json permissions (#2005) Changed created file permissions from 644 (`-w----r--`) to 0644 (`rw-r--r--`) * Bump spf13/viper to v1.7.0 (#1999) * bunping version * changing version on dockerfile * patch to fix the keywords check on new app * removing unneeded append * Task fixing html binder (#2016) * binder was not wired * packing * adding new version number * pulling the buffalo binary from gobinaries.com * Task updating formam (#2025) * v0.16.13 (#2019) * adding direct version on the docker build * fixing plugin installation * Fix npm's package.json permissions (#2005) Changed created file permissions from 644 (`-w----r--`) to 0644 (`rw-r--r--`) * Bump spf13/viper to v1.7.0 (#1999) * bunping version * changing version on dockerfile * patch to fix the keywords check on new app * removing unneeded append * Task fixing html binder (#2016) * binder was not wired * packing * adding new version number * pulling the buffalo binary from gobinaries.com Co-authored-by: Disconnect3d Co-authored-by: hackerman <3372410+aeneasr@users.noreply.github.com> * updating formam Co-authored-by: Disconnect3d Co-authored-by: hackerman <3372410+aeneasr@users.noreply.github.com> * Fixes #1987 and #2023 (#2026) * v0.16.13 (#2019) * adding direct version on the docker build * fixing plugin installation * Fix npm's package.json permissions (#2005) Changed created file permissions from 644 (`-w----r--`) to 0644 (`rw-r--r--`) * Bump spf13/viper to v1.7.0 (#1999) * bunping version * changing version on dockerfile * patch to fix the keywords check on new app * removing unneeded append * Task fixing html binder (#2016) * binder was not wired * packing * adding new version number * pulling the buffalo binary from gobinaries.com Co-authored-by: Disconnect3d Co-authored-by: hackerman <3372410+aeneasr@users.noreply.github.com> * fixing #1987 and #2023 * adding missing converstion * removing commented code Co-authored-by: Disconnect3d Co-authored-by: hackerman <3372410+aeneasr@users.noreply.github.com> * changing version number * moving to latest 2 go versions (#2038) * Task binding cleanup (#2039) * moving to latest 2 go versions * cleaning up the decoder on the binding package * Task update formam (#2041) * v0.16.14 (#2030) * adding direct version on the docker build * fixing plugin installation * Fix npm's package.json permissions (#2005) Changed created file permissions from 644 (`-w----r--`) to 0644 (`rw-r--r--`) * Bump spf13/viper to v1.7.0 (#1999) * bunping version * changing version on dockerfile * patch to fix the keywords check on new app * removing unneeded append * Task fixing html binder (#2016) * binder was not wired * packing * adding new version number * pulling the buffalo binary from gobinaries.com * Task updating formam (#2025) * v0.16.13 (#2019) * adding direct version on the docker build * fixing plugin installation * Fix npm's package.json permissions (#2005) Changed created file permissions from 644 (`-w----r--`) to 0644 (`rw-r--r--`) * Bump spf13/viper to v1.7.0 (#1999) * bunping version * changing version on dockerfile * patch to fix the keywords check on new app * removing unneeded append * Task fixing html binder (#2016) * binder was not wired * packing * adding new version number * pulling the buffalo binary from gobinaries.com Co-authored-by: Disconnect3d Co-authored-by: hackerman <3372410+aeneasr@users.noreply.github.com> * updating formam Co-authored-by: Disconnect3d Co-authored-by: hackerman <3372410+aeneasr@users.noreply.github.com> * Fixes #1987 and #2023 (#2026) * v0.16.13 (#2019) * adding direct version on the docker build * fixing plugin installation * Fix npm's package.json permissions (#2005) Changed created file permissions from 644 (`-w----r--`) to 0644 (`rw-r--r--`) * Bump spf13/viper to v1.7.0 (#1999) * bunping version * changing version on dockerfile * patch to fix the keywords check on new app * removing unneeded append * Task fixing html binder (#2016) * binder was not wired * packing * adding new version number * pulling the buffalo binary from gobinaries.com Co-authored-by: Disconnect3d Co-authored-by: hackerman <3372410+aeneasr@users.noreply.github.com> * fixing #1987 and #2023 * adding missing converstion * removing commented code Co-authored-by: Disconnect3d Co-authored-by: hackerman <3372410+aeneasr@users.noreply.github.com> * changing version number Co-authored-by: Disconnect3d Co-authored-by: hackerman <3372410+aeneasr@users.noreply.github.com> * updates formam version #2040 Co-authored-by: Disconnect3d Co-authored-by: hackerman <3372410+aeneasr@users.noreply.github.com> * updating flect versionm (#2042) * updating version * updating some libraries to pass the github security warnings (#2044) * Removing Grifts folder (#2050) * removing the grifts folder * removing grifts folder from codeclimate exceptions * fixes the non-existing .git folder case (#2053) * calling persist explicitly (#2054) * adding version number Co-authored-by: Disconnect3d Co-authored-by: hackerman <3372410+aeneasr@users.noreply.github.com> * only writing the header if it has not been written * bumping version * adding packr2 files Co-authored-by: Disconnect3d Co-authored-by: hackerman <3372410+aeneasr@users.noreply.github.com> --- response.go | 15 ++++++++++++--- response_test.go | 22 ++++++++++++++++++++++ runtime/version.go | 2 +- 3 files changed, 35 insertions(+), 4 deletions(-) create mode 100644 response_test.go diff --git a/response.go b/response.go index 81f9c7577..77ed02977 100644 --- a/response.go +++ b/response.go @@ -18,9 +18,18 @@ type Response struct { } // WriteHeader sets the status code for a response -func (w *Response) WriteHeader(i int) { - w.Status = i - w.ResponseWriter.WriteHeader(i) +func (w *Response) WriteHeader(code int) { + if code == w.Status { + return + } + + if w.Status > 0 { + fmt.Printf("[WARNING] Headers were already written. Wanted to override status code %d with %d", w.Status, code) + return + } + + w.Status = code + w.ResponseWriter.WriteHeader(code) } // Write the body of the response diff --git a/response_test.go b/response_test.go new file mode 100644 index 000000000..1dbd60fed --- /dev/null +++ b/response_test.go @@ -0,0 +1,22 @@ +package buffalo + +import ( + "net/http" + "net/http/httptest" + "testing" + + "github.com/stretchr/testify/require" +) + +func Test_Response_MultipleWrite(t *testing.T) { + r := require.New(t) + resWr := httptest.NewRecorder() + res := Response{ + ResponseWriter: resWr, + } + + res.WriteHeader(http.StatusOK) + res.WriteHeader(http.StatusInternalServerError) + + r.Equal(res.Status, http.StatusOK) +} diff --git a/runtime/version.go b/runtime/version.go index 9ec0a5fa2..c816e52e9 100644 --- a/runtime/version.go +++ b/runtime/version.go @@ -1,4 +1,4 @@ package runtime // Version is the current version of the buffalo binary -var Version = "v0.16.16" +var Version = "v0.16.17" From 122e3e342e375a00ebcaf86e2950b7d07f171ac9 Mon Sep 17 00:00:00 2001 From: Antonio Pagano Date: Wed, 23 Dec 2020 19:18:41 -0500 Subject: [PATCH 28/64] allows to specify custom partialfeeders --- render/partials_test.go | 33 +++++++++++++++++++++++++++++++++ render/template.go | 6 +++++- 2 files changed, 38 insertions(+), 1 deletion(-) diff --git a/render/partials_test.go b/render/partials_test.go index 82420d046..d158ac9b2 100644 --- a/render/partials_test.go +++ b/render/partials_test.go @@ -29,6 +29,39 @@ func Test_Template_Partial(t *testing.T) { r.Equal("Foo > Mark", strings.TrimSpace(bb.String())) } +func Test_Template_PartialCustomFeeder(t *testing.T) { + r := require.New(t) + + box := packd.NewMemoryBox() + r.NoError(box.AddString("base.plush.html", `<%= partial("foo.plush.html") %>`)) + r.NoError(box.AddString("_foo.plush.html", "other")) + + e := NewEngine() + e.TemplatesBox = box + + t.Run("Custom Feeder", func(t *testing.T) { + e.Helpers["partialFeeder"] = func(path string) (string, error) { + return "custom", nil + } + + bb := &bytes.Buffer{} + + re := e.HTML("base.plush.html") + r.NoError(re.Render(bb, Data{})) + r.Equal("custom", strings.TrimSpace(bb.String())) + }) + + t.Run("Default Feeder", func(t *testing.T) { + e.Helpers["partialFeeder"] = nil + + bb := &bytes.Buffer{} + + re := e.HTML("base.plush.html") + r.NoError(re.Render(bb, Data{})) + r.Equal("other", strings.TrimSpace(bb.String())) + }) +} + func Test_Template_Partial_WithoutExtension(t *testing.T) { r := require.New(t) diff --git a/render/template.go b/render/template.go index 7d2daf8bf..4c806a1f5 100644 --- a/render/template.go +++ b/render/template.go @@ -158,7 +158,11 @@ func (s templateRenderer) exec(name string, data Data) (template.HTML, error) { for k, v := range s.Helpers { helpers[k] = v } - helpers["partialFeeder"] = s.partialFeeder + + // Allows to specify custom partialFeeder + if helpers["partialFeeder"] == nil { + helpers["partialFeeder"] = s.partialFeeder + } helpers = s.addAssetsHelpers(helpers) From e34adaec964df24e4ece3b75d50e642bb59d86dc Mon Sep 17 00:00:00 2001 From: Antonio Pagano Date: Wed, 23 Dec 2020 19:33:21 -0500 Subject: [PATCH 29/64] cleaning up a bit for codeclimate --- render/template.go | 55 +++++++++++++++++++++++++++------------------- 1 file changed, 32 insertions(+), 23 deletions(-) diff --git a/render/template.go b/render/template.go index 4c806a1f5..b67641d39 100644 --- a/render/template.go +++ b/render/template.go @@ -119,29 +119,7 @@ func (s templateRenderer) exec(name string, data Data) (template.HTML, error) { name = fixExtension(name, ct) // Try to use localized version - templateName := name - if languages, ok := data["languages"].([]string); ok { - ll := len(languages) - if ll > 0 { - // Default language is the last in the list - defaultLanguage := languages[ll-1] - ext := filepath.Ext(name) - rawName := strings.TrimSuffix(name, ext) - - for _, l := range languages { - var candidateName string - if l == defaultLanguage { - break - } - candidateName = rawName + "." + strings.ToLower(l) + ext - if _, err := s.resolve(candidateName); err == nil { - // Replace name with the existing suffixed version - templateName = candidateName - break - } - } - } - } + templateName := s.localizedName(name, data) // Set current_template to context if _, ok := data["current_template"]; !ok { @@ -182,6 +160,37 @@ func (s templateRenderer) exec(name string, data Data) (template.HTML, error) { return template.HTML(body), nil } +func (s templateRenderer) localizedName(name string, data Data) string { + templateName := name + + languages, ok := data["languages"].([]string) + if !ok || len(languages) == 0 { + return templateName + } + + ll := len(languages) + // Default language is the last in the list + defaultLanguage := languages[ll-1] + ext := filepath.Ext(name) + rawName := strings.TrimSuffix(name, ext) + + for _, l := range languages { + var candidateName string + if l == defaultLanguage { + break + } + + candidateName = rawName + "." + strings.ToLower(l) + ext + if _, err := s.resolve(candidateName); err == nil { + // Replace name with the existing suffixed version + templateName = candidateName + break + } + } + + return templateName +} + func (s templateRenderer) exts(name string) []string { exts := []string{} for { From bfd73793f0e188842ead1d96b273972bf7bce273 Mon Sep 17 00:00:00 2001 From: Antonio Pagano Date: Wed, 23 Dec 2020 19:34:35 -0500 Subject: [PATCH 30/64] changing the version --- Dockerfile.build | 2 +- Dockerfile.slim.build | 2 +- runtime/version.go | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Dockerfile.build b/Dockerfile.build index 0f83c15d6..e9cd12591 100644 --- a/Dockerfile.build +++ b/Dockerfile.build @@ -32,7 +32,7 @@ RUN npm install -g --no-progress yarn \ # Install golangci RUN curl -sfL https://install.goreleaser.com/github.com/golangci/golangci-lint.sh | sh -s -- -b $(go env GOPATH)/bin v1.24.0 # Installing buffalo binary -RUN curl -sf https://gobinaries.com/gobuffalo/buffalo/buffalo@v0.16.16 | sh +RUN curl -sf https://gobinaries.com/gobuffalo/buffalo/buffalo@v0.16.18 | sh RUN go get github.com/gobuffalo/buffalo-pop/v2 RUN buffalo version diff --git a/Dockerfile.slim.build b/Dockerfile.slim.build index 4badb0dfe..10097ddd3 100644 --- a/Dockerfile.slim.build +++ b/Dockerfile.slim.build @@ -17,7 +17,7 @@ RUN npm i -g --no-progress yarn \ && yarn config set yarn-offline-mirror-pruning true # Pulling docker binary from releases -RUN curl -sf https://gobinaries.com/gobuffalo/buffalo/buffalo@v0.16.16 | sh +RUN curl -sf https://gobinaries.com/gobuffalo/buffalo/buffalo@v0.16.18 | sh RUN go get github.com/gobuffalo/buffalo-pop/v2 RUN buffalo version diff --git a/runtime/version.go b/runtime/version.go index c816e52e9..8d41ab854 100644 --- a/runtime/version.go +++ b/runtime/version.go @@ -1,4 +1,4 @@ package runtime // Version is the current version of the buffalo binary -var Version = "v0.16.17" +var Version = "v0.16.18" From 00f638886dabff1cd63cafeadd4d83e90ac0a4ab Mon Sep 17 00:00:00 2001 From: Antonio Pagano <645522+paganotoni@users.noreply.github.com> Date: Thu, 7 Jan 2021 18:14:37 -0500 Subject: [PATCH 31/64] Application Route Namer (#2075) * Development (#2072) * adding direct version on the docker build * fixing plugin installation * Fix npm's package.json permissions (#2005) Changed created file permissions from 644 (`-w----r--`) to 0644 (`rw-r--r--`) * Bump spf13/viper to v1.7.0 (#1999) * bunping version * changing version on dockerfile * patch to fix the keywords check on new app * removing unneeded append * Task fixing html binder (#2016) * binder was not wired * packing * adding new version number * pulling the buffalo binary from gobinaries.com * Task updating formam (#2025) * v0.16.13 (#2019) * adding direct version on the docker build * fixing plugin installation * Fix npm's package.json permissions (#2005) Changed created file permissions from 644 (`-w----r--`) to 0644 (`rw-r--r--`) * Bump spf13/viper to v1.7.0 (#1999) * bunping version * changing version on dockerfile * patch to fix the keywords check on new app * removing unneeded append * Task fixing html binder (#2016) * binder was not wired * packing * adding new version number * pulling the buffalo binary from gobinaries.com Co-authored-by: Disconnect3d Co-authored-by: hackerman <3372410+aeneasr@users.noreply.github.com> * updating formam Co-authored-by: Disconnect3d Co-authored-by: hackerman <3372410+aeneasr@users.noreply.github.com> * Fixes #1987 and #2023 (#2026) * v0.16.13 (#2019) * adding direct version on the docker build * fixing plugin installation * Fix npm's package.json permissions (#2005) Changed created file permissions from 644 (`-w----r--`) to 0644 (`rw-r--r--`) * Bump spf13/viper to v1.7.0 (#1999) * bunping version * changing version on dockerfile * patch to fix the keywords check on new app * removing unneeded append * Task fixing html binder (#2016) * binder was not wired * packing * adding new version number * pulling the buffalo binary from gobinaries.com Co-authored-by: Disconnect3d Co-authored-by: hackerman <3372410+aeneasr@users.noreply.github.com> * fixing #1987 and #2023 * adding missing converstion * removing commented code Co-authored-by: Disconnect3d Co-authored-by: hackerman <3372410+aeneasr@users.noreply.github.com> * changing version number * moving to latest 2 go versions (#2038) * Task binding cleanup (#2039) * moving to latest 2 go versions * cleaning up the decoder on the binding package * Task update formam (#2041) * v0.16.14 (#2030) * adding direct version on the docker build * fixing plugin installation * Fix npm's package.json permissions (#2005) Changed created file permissions from 644 (`-w----r--`) to 0644 (`rw-r--r--`) * Bump spf13/viper to v1.7.0 (#1999) * bunping version * changing version on dockerfile * patch to fix the keywords check on new app * removing unneeded append * Task fixing html binder (#2016) * binder was not wired * packing * adding new version number * pulling the buffalo binary from gobinaries.com * Task updating formam (#2025) * v0.16.13 (#2019) * adding direct version on the docker build * fixing plugin installation * Fix npm's package.json permissions (#2005) Changed created file permissions from 644 (`-w----r--`) to 0644 (`rw-r--r--`) * Bump spf13/viper to v1.7.0 (#1999) * bunping version * changing version on dockerfile * patch to fix the keywords check on new app * removing unneeded append * Task fixing html binder (#2016) * binder was not wired * packing * adding new version number * pulling the buffalo binary from gobinaries.com Co-authored-by: Disconnect3d Co-authored-by: hackerman <3372410+aeneasr@users.noreply.github.com> * updating formam Co-authored-by: Disconnect3d Co-authored-by: hackerman <3372410+aeneasr@users.noreply.github.com> * Fixes #1987 and #2023 (#2026) * v0.16.13 (#2019) * adding direct version on the docker build * fixing plugin installation * Fix npm's package.json permissions (#2005) Changed created file permissions from 644 (`-w----r--`) to 0644 (`rw-r--r--`) * Bump spf13/viper to v1.7.0 (#1999) * bunping version * changing version on dockerfile * patch to fix the keywords check on new app * removing unneeded append * Task fixing html binder (#2016) * binder was not wired * packing * adding new version number * pulling the buffalo binary from gobinaries.com Co-authored-by: Disconnect3d Co-authored-by: hackerman <3372410+aeneasr@users.noreply.github.com> * fixing #1987 and #2023 * adding missing converstion * removing commented code Co-authored-by: Disconnect3d Co-authored-by: hackerman <3372410+aeneasr@users.noreply.github.com> * changing version number Co-authored-by: Disconnect3d Co-authored-by: hackerman <3372410+aeneasr@users.noreply.github.com> * updates formam version #2040 Co-authored-by: Disconnect3d Co-authored-by: hackerman <3372410+aeneasr@users.noreply.github.com> * updating flect versionm (#2042) * updating version * updating some libraries to pass the github security warnings (#2044) * Removing Grifts folder (#2050) * removing the grifts folder * removing grifts folder from codeclimate exceptions * fixes the non-existing .git folder case (#2053) * calling persist explicitly (#2054) * adding version number * Pointing README to new go docs link * running packr2 * Warns if response is attempted to be written twice (#2059) * v0.16.16 (#2055) * adding direct version on the docker build * fixing plugin installation * Fix npm's package.json permissions (#2005) Changed created file permissions from 644 (`-w----r--`) to 0644 (`rw-r--r--`) * Bump spf13/viper to v1.7.0 (#1999) * bunping version * changing version on dockerfile * patch to fix the keywords check on new app * removing unneeded append * Task fixing html binder (#2016) * binder was not wired * packing * adding new version number * pulling the buffalo binary from gobinaries.com * Task updating formam (#2025) * v0.16.13 (#2019) * adding direct version on the docker build * fixing plugin installation * Fix npm's package.json permissions (#2005) Changed created file permissions from 644 (`-w----r--`) to 0644 (`rw-r--r--`) * Bump spf13/viper to v1.7.0 (#1999) * bunping version * changing version on dockerfile * patch to fix the keywords check on new app * removing unneeded append * Task fixing html binder (#2016) * binder was not wired * packing * adding new version number * pulling the buffalo binary from gobinaries.com Co-authored-by: Disconnect3d Co-authored-by: hackerman <3372410+aeneasr@users.noreply.github.com> * updating formam Co-authored-by: Disconnect3d Co-authored-by: hackerman <3372410+aeneasr@users.noreply.github.com> * Fixes #1987 and #2023 (#2026) * v0.16.13 (#2019) * adding direct version on the docker build * fixing plugin installation * Fix npm's package.json permissions (#2005) Changed created file permissions from 644 (`-w----r--`) to 0644 (`rw-r--r--`) * Bump spf13/viper to v1.7.0 (#1999) * bunping version * changing version on dockerfile * patch to fix the keywords check on new app * removing unneeded append * Task fixing html binder (#2016) * binder was not wired * packing * adding new version number * pulling the buffalo binary from gobinaries.com Co-authored-by: Disconnect3d Co-authored-by: hackerman <3372410+aeneasr@users.noreply.github.com> * fixing #1987 and #2023 * adding missing converstion * removing commented code Co-authored-by: Disconnect3d Co-authored-by: hackerman <3372410+aeneasr@users.noreply.github.com> * changing version number * moving to latest 2 go versions (#2038) * Task binding cleanup (#2039) * moving to latest 2 go versions * cleaning up the decoder on the binding package * Task update formam (#2041) * v0.16.14 (#2030) * adding direct version on the docker build * fixing plugin installation * Fix npm's package.json permissions (#2005) Changed created file permissions from 644 (`-w----r--`) to 0644 (`rw-r--r--`) * Bump spf13/viper to v1.7.0 (#1999) * bunping version * changing version on dockerfile * patch to fix the keywords check on new app * removing unneeded append * Task fixing html binder (#2016) * binder was not wired * packing * adding new version number * pulling the buffalo binary from gobinaries.com * Task updating formam (#2025) * v0.16.13 (#2019) * adding direct version on the docker build * fixing plugin installation * Fix npm's package.json permissions (#2005) Changed created file permissions from 644 (`-w----r--`) to 0644 (`rw-r--r--`) * Bump spf13/viper to v1.7.0 (#1999) * bunping version * changing version on dockerfile * patch to fix the keywords check on new app * removing unneeded append * Task fixing html binder (#2016) * binder was not wired * packing * adding new version number * pulling the buffalo binary from gobinaries.com Co-authored-by: Disconnect3d Co-authored-by: hackerman <3372410+aeneasr@users.noreply.github.com> * updating formam Co-authored-by: Disconnect3d Co-authored-by: hackerman <3372410+aeneasr@users.noreply.github.com> * Fixes #1987 and #2023 (#2026) * v0.16.13 (#2019) * adding direct version on the docker build * fixing plugin installation * Fix npm's package.json permissions (#2005) Changed created file permissions from 644 (`-w----r--`) to 0644 (`rw-r--r--`) * Bump spf13/viper to v1.7.0 (#1999) * bunping version * changing version on dockerfile * patch to fix the keywords check on new app * removing unneeded append * Task fixing html binder (#2016) * binder was not wired * packing * adding new version number * pulling the buffalo binary from gobinaries.com Co-authored-by: Disconnect3d Co-authored-by: hackerman <3372410+aeneasr@users.noreply.github.com> * fixing #1987 and #2023 * adding missing converstion * removing commented code Co-authored-by: Disconnect3d Co-authored-by: hackerman <3372410+aeneasr@users.noreply.github.com> * changing version number Co-authored-by: Disconnect3d Co-authored-by: hackerman <3372410+aeneasr@users.noreply.github.com> * updates formam version #2040 Co-authored-by: Disconnect3d Co-authored-by: hackerman <3372410+aeneasr@users.noreply.github.com> * updating flect versionm (#2042) * updating version * updating some libraries to pass the github security warnings (#2044) * Removing Grifts folder (#2050) * removing the grifts folder * removing grifts folder from codeclimate exceptions * fixes the non-existing .git folder case (#2053) * calling persist explicitly (#2054) * adding version number Co-authored-by: Disconnect3d Co-authored-by: hackerman <3372410+aeneasr@users.noreply.github.com> * only writing the header if it has not been written * bumping version * adding packr2 files Co-authored-by: Disconnect3d Co-authored-by: hackerman <3372410+aeneasr@users.noreply.github.com> * allows to specify custom partialfeeders * cleaning up a bit for codeclimate * changing the version Co-authored-by: Disconnect3d Co-authored-by: hackerman <3372410+aeneasr@users.noreply.github.com> * allowing apps to define their own route namers * tweaking and packing Co-authored-by: Disconnect3d Co-authored-by: hackerman <3372410+aeneasr@users.noreply.github.com> --- app.go | 6 ++++ route_mappings.go | 58 +------------------------------------ routenamer.go | 74 +++++++++++++++++++++++++++++++++++++++++++++++ router_test.go | 4 +-- 4 files changed, 83 insertions(+), 59 deletions(-) create mode 100644 routenamer.go diff --git a/app.go b/app.go index 8ef8245e9..a255bd216 100644 --- a/app.go +++ b/app.go @@ -23,6 +23,10 @@ type App struct { root *App children []*App filepaths []string + + // Routenamer for the app. This field provides the ability to override the + // base route namer for something more specific to the app. + RouteNamer RouteNamer } // Muxer returns the underlying mux router to allow @@ -48,6 +52,8 @@ func New(opts Options) *App { moot: &sync.RWMutex{}, routes: RouteList{}, children: []*App{}, + + RouteNamer: baseRouteNamer{}, } dem := a.defaultErrorMiddleware diff --git a/route_mappings.go b/route_mappings.go index d77adc099..e5c9429a7 100644 --- a/route_mappings.go +++ b/route_mappings.go @@ -11,7 +11,6 @@ import ( "strings" "github.com/gobuffalo/envy" - "github.com/gobuffalo/flect" "github.com/gobuffalo/flect/name" "github.com/gorilla/handlers" ) @@ -263,7 +262,7 @@ func (a *App) addRoute(method string, url string, h Handler) *RouteInfo { url = path.Join(a.Prefix, url) url = a.normalizePath(url) - name := a.buildRouteName(url) + name := a.RouteNamer.NameRoute(url) hs := funcKey(h) r := &RouteInfo{ @@ -291,61 +290,6 @@ func (a *App) addRoute(method string, url string, h Handler) *RouteInfo { return r } -//buildRouteName builds a route based on the path passed. -func (a *App) buildRouteName(p string) string { - if p == "/" || p == "" { - return "root" - } - - resultParts := []string{} - parts := strings.Split(p, "/") - - for index, part := range parts { - - originalPart := parts[index] - - var previousPart string - if index > 0 { - previousPart = parts[index-1] - } - - var nextPart string - if len(parts) > index+1 { - nextPart = parts[index+1] - } - - isIdentifierPart := strings.Contains(part, "{") && (strings.Contains(part, flect.Singularize(previousPart))) - isSimplifiedID := part == `{id}` - - if isIdentifierPart || isSimplifiedID || part == "" { - continue - } - - if strings.Contains(nextPart, "{") { - part = flect.Singularize(part) - } - - if originalPart == "new" || originalPart == "edit" { - resultParts = append([]string{part}, resultParts...) - continue - } - - if strings.Contains(previousPart, "}") { - resultParts = append(resultParts, part) - continue - } - - resultParts = append(resultParts, part) - } - - if len(resultParts) == 0 { - return "unnamed" - } - - underscore := strings.TrimSpace(strings.Join(resultParts, "_")) - return name.VarCase(underscore) -} - func stripAsset(path string, h http.Handler, a *App) http.Handler { if path == "" { return h diff --git a/routenamer.go b/routenamer.go new file mode 100644 index 000000000..b6d28058d --- /dev/null +++ b/routenamer.go @@ -0,0 +1,74 @@ +package buffalo + +import ( + "strings" + + "github.com/gobuffalo/flect" + "github.com/gobuffalo/flect/name" +) + +// RouteNamer is in charge of naming a route from the +// path assigned, this name typically will be used if no +// name is assined with .Name(...). +type RouteNamer interface { + // NameRoute receives the path and returns the name + // for the route. + NameRoute(string) string +} + +// BaseRouteNamer is the default route namer used by apps. +type baseRouteNamer struct{} + +func (drn baseRouteNamer) NameRoute(p string) string { + if p == "/" || p == "" { + return "root" + } + + resultParts := []string{} + parts := strings.Split(p, "/") + + for index, part := range parts { + + originalPart := parts[index] + + var previousPart string + if index > 0 { + previousPart = parts[index-1] + } + + var nextPart string + if len(parts) > index+1 { + nextPart = parts[index+1] + } + + isIdentifierPart := strings.Contains(part, "{") && (strings.Contains(part, flect.Singularize(previousPart))) + isSimplifiedID := part == `{id}` + + if isIdentifierPart || isSimplifiedID || part == "" { + continue + } + + if strings.Contains(nextPart, "{") { + part = flect.Singularize(part) + } + + if originalPart == "new" || originalPart == "edit" { + resultParts = append([]string{part}, resultParts...) + continue + } + + if strings.Contains(previousPart, "}") { + resultParts = append(resultParts, part) + continue + } + + resultParts = append(resultParts, part) + } + + if len(resultParts) == 0 { + return "unnamed" + } + + underscore := strings.TrimSpace(strings.Join(resultParts, "_")) + return name.VarCase(underscore) +} diff --git a/router_test.go b/router_test.go index 11fca3f7a..b41a33893 100644 --- a/router_test.go +++ b/router_test.go @@ -740,7 +740,7 @@ func Test_buildRouteName(t *testing.T) { a := New(Options{}) for input, result := range cases { - fResult := a.buildRouteName(input) + fResult := a.RouteNamer.NameRoute(input) r.Equal(result, fResult, input) } @@ -751,7 +751,7 @@ func Test_buildRouteName(t *testing.T) { } for input, result := range cases { - fResult := a.buildRouteName(input) + fResult := a.RouteNamer.NameRoute(input) r.Equal(result, fResult, input) } } From 0381b3a01d17cb21850385b121640db8a0cca40b Mon Sep 17 00:00:00 2001 From: Antonio Pagano Date: Thu, 7 Jan 2021 18:16:59 -0500 Subject: [PATCH 32/64] v0.16.19 --- Dockerfile.build | 2 +- Dockerfile.slim.build | 2 +- runtime/version.go | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Dockerfile.build b/Dockerfile.build index e9cd12591..00973c48c 100644 --- a/Dockerfile.build +++ b/Dockerfile.build @@ -32,7 +32,7 @@ RUN npm install -g --no-progress yarn \ # Install golangci RUN curl -sfL https://install.goreleaser.com/github.com/golangci/golangci-lint.sh | sh -s -- -b $(go env GOPATH)/bin v1.24.0 # Installing buffalo binary -RUN curl -sf https://gobinaries.com/gobuffalo/buffalo/buffalo@v0.16.18 | sh +RUN curl -sf https://gobinaries.com/gobuffalo/buffalo/buffalo@v0.16.19 | sh RUN go get github.com/gobuffalo/buffalo-pop/v2 RUN buffalo version diff --git a/Dockerfile.slim.build b/Dockerfile.slim.build index 10097ddd3..e1a020908 100644 --- a/Dockerfile.slim.build +++ b/Dockerfile.slim.build @@ -17,7 +17,7 @@ RUN npm i -g --no-progress yarn \ && yarn config set yarn-offline-mirror-pruning true # Pulling docker binary from releases -RUN curl -sf https://gobinaries.com/gobuffalo/buffalo/buffalo@v0.16.18 | sh +RUN curl -sf https://gobinaries.com/gobuffalo/buffalo/buffalo@v0.16.19 | sh RUN go get github.com/gobuffalo/buffalo-pop/v2 RUN buffalo version diff --git a/runtime/version.go b/runtime/version.go index 8d41ab854..d8ab7a115 100644 --- a/runtime/version.go +++ b/runtime/version.go @@ -1,4 +1,4 @@ package runtime // Version is the current version of the buffalo binary -var Version = "v0.16.18" +var Version = "v0.16.19" From cceaf61d27cbb29a9c36c651eca71382870f3cc2 Mon Sep 17 00:00:00 2001 From: Antonio Pagano Date: Fri, 8 Jan 2021 13:20:12 -0500 Subject: [PATCH 33/64] fixing groups routenamer issue --- route_mappings.go | 1 + 1 file changed, 1 insertion(+) diff --git a/route_mappings.go b/route_mappings.go index e5c9429a7..1e860b018 100644 --- a/route_mappings.go +++ b/route_mappings.go @@ -236,6 +236,7 @@ func (a *App) Group(groupPath string) *App { g.Name = g.Prefix g.router = a.router + g.RouteNamer = a.RouteNamer g.Middleware = a.Middleware.clone() g.ErrorHandlers = a.ErrorHandlers g.root = a From cb7e62938457a1546c2adda721812e94fbeda067 Mon Sep 17 00:00:00 2001 From: Antonio Pagano Date: Fri, 8 Jan 2021 13:23:01 -0500 Subject: [PATCH 34/64] version change --- Dockerfile.build | 2 +- Dockerfile.slim.build | 2 +- runtime/version.go | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Dockerfile.build b/Dockerfile.build index 00973c48c..3172b822b 100644 --- a/Dockerfile.build +++ b/Dockerfile.build @@ -32,7 +32,7 @@ RUN npm install -g --no-progress yarn \ # Install golangci RUN curl -sfL https://install.goreleaser.com/github.com/golangci/golangci-lint.sh | sh -s -- -b $(go env GOPATH)/bin v1.24.0 # Installing buffalo binary -RUN curl -sf https://gobinaries.com/gobuffalo/buffalo/buffalo@v0.16.19 | sh +RUN curl -sf https://gobinaries.com/gobuffalo/buffalo/buffalo@v0.16.20 | sh RUN go get github.com/gobuffalo/buffalo-pop/v2 RUN buffalo version diff --git a/Dockerfile.slim.build b/Dockerfile.slim.build index e1a020908..1e16f9701 100644 --- a/Dockerfile.slim.build +++ b/Dockerfile.slim.build @@ -17,7 +17,7 @@ RUN npm i -g --no-progress yarn \ && yarn config set yarn-offline-mirror-pruning true # Pulling docker binary from releases -RUN curl -sf https://gobinaries.com/gobuffalo/buffalo/buffalo@v0.16.19 | sh +RUN curl -sf https://gobinaries.com/gobuffalo/buffalo/buffalo@v0.16.20| sh RUN go get github.com/gobuffalo/buffalo-pop/v2 RUN buffalo version diff --git a/runtime/version.go b/runtime/version.go index d8ab7a115..a287a7f10 100644 --- a/runtime/version.go +++ b/runtime/version.go @@ -1,4 +1,4 @@ package runtime // Version is the current version of the buffalo binary -var Version = "v0.16.19" +var Version = "v0.16.20" From b3c3975a1399e9777e0effcc00073354d079c5af Mon Sep 17 00:00:00 2001 From: Zeger-Jan van de Weg Date: Thu, 11 Mar 2021 13:45:20 +0100 Subject: [PATCH 35/64] Fix generated GitLab ci YAML (#2086) * gitlab-ci: Default to Golang 1.15 Given the policy by the golang team to support and maintain only the latest two Go releases defaulting to Go 1.8 effectily made buffalo test with a EOL'ed Golang. This change defaults to 1.15, and allows the user to switch to 1.16 with the already present latest switch. * gitlab-ci: Leverage gomodules over GOPATH Prior to this change, the `.gitlab-ci.yml` linked the directories so that GOPATH would work. Given buffalo now always uses gomodules these steps are no longer required, and currently even break the pipeline created from the generated CI definitions. By just executing the job in the `/builds` subdirectory gomodules work as expected again. * gitlab-ci: Update postgres connection details Docker links the containers differently than was priorly assumed for GitLab CI. As such the out-of-the-box settings weren't properly working. This change resolves that in the CI YAML definitions to isolate the changes from local setups. --- genny/ci/templates/-dot-gitlab-ci-no-pop.yml.tmpl | 9 +++------ genny/ci/templates/-dot-gitlab-ci.yml.tmpl | 15 ++++++++------- 2 files changed, 11 insertions(+), 13 deletions(-) diff --git a/genny/ci/templates/-dot-gitlab-ci-no-pop.yml.tmpl b/genny/ci/templates/-dot-gitlab-ci-no-pop.yml.tmpl index 35736fd35..2bbabae53 100644 --- a/genny/ci/templates/-dot-gitlab-ci-no-pop.yml.tmpl +++ b/genny/ci/templates/-dot-gitlab-ci-no-pop.yml.tmpl @@ -1,10 +1,7 @@ before_script: - - ln -s /builds /go/src/$(echo "{{.opts.App.PackagePkg}}" | cut -d "/" -f1) - - cd /go/src/{{.opts.App.PackagePkg}} - mkdir -p public/assets - go get -u github.com/gobuffalo/buffalo/buffalo - go mod download - - export PATH="$PATH:$GOPATH/bin" stages: - test @@ -17,12 +14,12 @@ stages: .use-golang-image: &use-golang-latest image: golang:latest -.use-golang-image: &use-golang-1-8 - image: golang:1.8 +.use-golang-image: &use-golang-1-15 + image: golang:1.15 test: # Change to "<<: *use-golang-latest" to use the latest Go version - <<: *use-golang-1-8 + <<: *use-golang-1-15 <<: *test-vars stage: test script: diff --git a/genny/ci/templates/-dot-gitlab-ci.yml.tmpl b/genny/ci/templates/-dot-gitlab-ci.yml.tmpl index aa355cb00..6e8f70f27 100644 --- a/genny/ci/templates/-dot-gitlab-ci.yml.tmpl +++ b/genny/ci/templates/-dot-gitlab-ci.yml.tmpl @@ -4,12 +4,9 @@ before_script: {{- else if eq .opts.DBType "mysql" }} - apt-get update && apt-get install -y mysql-client {{- end }} - - ln -s /builds /go/src/$(echo "{{.opts.App.PackagePkg}}" | cut -d "/" -f1) - - cd /go/src/{{.opts.App.PackagePkg}} - mkdir -p public/assets - go get -u github.com/gobuffalo/buffalo/buffalo - go mod download - - export PATH="$PATH:$GOPATH/bin" stages: - test @@ -19,22 +16,26 @@ stages: GO_ENV: "test" {{- if eq .opts.DBType "postgres" }} POSTGRES_DB: "{{.opts.App.Name.File}}_test" + POSTGRES_USER: runner + POSTGRES_PASSSWORD: "" + POSTGRES_HOST_AUTH_METHOD: trust + TEST_DATABASE_URL: "postgres://${POSTGRES_USER}:${POSTGRES_PASSWORD}@postgres:5432/${POSTGRES_DB}?sslmode=disable" {{- else if eq .opts.DBType "mysql" }} MYSQL_DATABASE: "{{.opts.App.Name.File}}_test" MYSQL_ROOT_PASSWORD: "root" -{{- end }} TEST_DATABASE_URL: "{{.testDbUrl}}" +{{- end }} # Golang version choice helper .use-golang-image: &use-golang-latest image: golang:latest -.use-golang-image: &use-golang-1-8 - image: golang:1.8 +.use-golang-image: &use-golang-1-15 + image: golang:1.15 test: # Change to "<<: *use-golang-latest" to use the latest Go version - <<: *use-golang-1-8 + <<: *use-golang-1-15 <<: *test-vars stage: test services: From bbdf5bbfc5e7ed8b0a26060339d28d350b409168 Mon Sep 17 00:00:00 2001 From: Antonio Pagano Date: Thu, 11 Mar 2021 08:14:28 -0500 Subject: [PATCH 36/64] moving to last 2 versions of Go --- .github/workflows/tests.yml | 11 ++++--- README.md | 19 +++++++----- go.mod | 2 +- go.sum | 61 ------------------------------------- 4 files changed, 20 insertions(+), 73 deletions(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 457405146..6c8551081 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -1,14 +1,17 @@ name: Tests -on: [push, pull_request] -jobs: - +on: + push: + branches: + - master + pull_request: +jobs: tests-off: name: ${{matrix.go-version}} ${{matrix.os}} runs-on: ${{ matrix.os }} strategy: matrix: - go-version: [1.14.x, 1.15.x] + go-version: [1.15.x, 1.16.x] os: [macos-latest, windows-latest, ubuntu-latest] env: GO111MODULE: on diff --git a/README.md b/README.md index e4d2d12ea..2b6a26e23 100644 --- a/README.md +++ b/README.md @@ -9,13 +9,6 @@ # Buffalo - -### **As of December 1st, 2019 Buffalo, and all related packages, require Go Modules and the use of the `GOPATH` is no longer supported.** - -Please see this blog post for more information [https://blog.gobuffalo.io/the-road-to-1-0-requiring-modules-5672c6b015e5.](https://blog.gobuffalo.io/the-road-to-1-0-requiring-modules-5672c6b015e5). - ---- - A Go web development eco-system, designed to make your project easier. Buffalo helps you to generate a web project that already has everything from front-end (JavaScript, SCSS, etc.) to the back-end (database, routing, etc.) already hooked up and ready to run. From there it provides easy APIs to build your web application quickly in Go. @@ -24,6 +17,18 @@ Buffalo **isn't just a framework**; it's a holistic web development environment > I :heart: web dev in go again - Brian Ketelsen +## ⚠️ Important + +Buffalo works only with Go modules. `GOPATH` mode is likely to break most of the functionality of the Buffalo eco-system. + +Please see [this blogpost](https://blog.gobuffalo.io/the-road-to-1-0-requiring-modules-5672c6b015e5) for more information. + +Also, the buffalo team will support the last 2 versions of Go, which at the moment are: + +- 1.15.x +- 1.16.x + +While Buffalo `may` work on older versions we encourage you to upgrade to latest 2 versions. ## Documentation Please visit [http://gobuffalo.io](http://gobuffalo.io) for the latest documentation, examples, and more. diff --git a/go.mod b/go.mod index be9ef8141..6e4a7e416 100644 --- a/go.mod +++ b/go.mod @@ -1,6 +1,6 @@ module github.com/gobuffalo/buffalo -go 1.13 +go 1.15 require ( github.com/BurntSushi/toml v0.3.1 diff --git a/go.sum b/go.sum index 83f7c8e6d..764691d2f 100644 --- a/go.sum +++ b/go.sum @@ -40,14 +40,12 @@ github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24 github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8= github.com/bgentry/speakeasy v0.1.0/go.mod h1:+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kBD4zp0CCIs= github.com/bketelsen/crypt v0.0.3-0.20200106085610-5cbc8cc4026c/go.mod h1:MKsuJmJgSg28kpZDP6UIiPt0e0Oz0kqKNGyRaWEPv84= -github.com/blang/semver v3.5.1+incompatible h1:cQNTCjp13qL8KC3Nbxr/y2Bqb63oX6wdnnjpJbkM4JQ= github.com/blang/semver v3.5.1+incompatible/go.mod h1:kRBLl5iJ+tD4TcOOxsy/0fnwebNt5EWlYSAyrTnjyyk= github.com/bradfitz/go-smtpd v0.0.0-20170404230938-deb6d6237625/go.mod h1:HYsPBTaaSFSlLx/70C2HPIMNZpVV8+vt/A+FMnYP11g= github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= github.com/cockroachdb/apd v1.1.0/go.mod h1:8Sl8LxpKi29FqWXR16WEFZRNSz3SoPzUzeMeY4+DwBQ= github.com/cockroachdb/cockroach-go v0.0.0-20181001143604-e0a95dfd547c/go.mod h1:XGLbWH/ujMcbPbhZq52Nv6UrCghb1yGn//133kEsvDk= -github.com/cockroachdb/cockroach-go v0.0.0-20190916165215-ad57a61cc915 h1:QX2Zc22B15gdWwDCwS7BXmbeD/SWdcRK12gOfZ5BsIs= github.com/cockroachdb/cockroach-go v0.0.0-20190916165215-ad57a61cc915/go.mod h1:XGLbWH/ujMcbPbhZq52Nv6UrCghb1yGn//133kEsvDk= github.com/cockroachdb/cockroach-go v0.0.0-20190925194419-606b3d062051 h1:eApuUG8W2EtBVwxqLlY2wgoqDYOg3WvIHGvW4fUbbow= github.com/cockroachdb/cockroach-go v0.0.0-20190925194419-606b3d062051/go.mod h1:XGLbWH/ujMcbPbhZq52Nv6UrCghb1yGn//133kEsvDk= @@ -89,14 +87,12 @@ github.com/go-kit/kit v0.8.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2 github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9GBnD5lWE= github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk= github.com/go-sql-driver/mysql v1.4.0/go.mod h1:zAC/RDZ24gD3HViQzih4MyKcchzm+sOG5ZlKdlhCg5w= -github.com/go-sql-driver/mysql v1.4.1 h1:g24URVg0OFbNUTx9qqY1IRZ9D9z3iPyi5zKhQZpNwpA= github.com/go-sql-driver/mysql v1.4.1/go.mod h1:zAC/RDZ24gD3HViQzih4MyKcchzm+sOG5ZlKdlhCg5w= github.com/go-sql-driver/mysql v1.5.0 h1:ozyZYNQW3x3HtqT1jira07DN2PArx2v7/mN66gGcHOs= github.com/go-sql-driver/mysql v1.5.0/go.mod h1:DCzpHaOWr8IXmIStZouvnhqoel9Qv2LBy8hT2VhHyBg= github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= github.com/gobuffalo/attrs v0.0.0-20190219185331-f338c9388485/go.mod h1:4duuawTqi2wkkpB4ePgWMaai6/Kc6WEz83bhFwpHzj0= github.com/gobuffalo/attrs v0.0.0-20190224210810-a9411de4debd/go.mod h1:4duuawTqi2wkkpB4ePgWMaai6/Kc6WEz83bhFwpHzj0= -github.com/gobuffalo/attrs v0.1.0 h1:LY6/rbhPD/hfa+AfviaMXBmZBGb0fGHF12yg7f3dPQA= github.com/gobuffalo/attrs v0.1.0/go.mod h1:fmNpaWyHM0tRm8gCZWKx8yY9fvaNLo2PyzBNSrBZ5Hw= github.com/gobuffalo/attrs v1.0.0 h1:aAK8D55L0GNVbVRlaCwvAGE2BcGdEoVoK86vgQpuUZ8= github.com/gobuffalo/attrs v1.0.0/go.mod h1:YWU+sjOr7V05rNzvCoVc5qQTC2IgEz9434TFW5GhNaw= @@ -198,7 +194,6 @@ github.com/gobuffalo/envy v1.6.13/go.mod h1:w9DJppgl51JwUFWWd/M/6/otrPtWV3WYMa+N github.com/gobuffalo/envy v1.6.15/go.mod h1:n7DRkBerg/aorDM8kbduw5dN3oXGswK5liaSCx4T5NI= github.com/gobuffalo/envy v1.7.0/go.mod h1:n7DRkBerg/aorDM8kbduw5dN3oXGswK5liaSCx4T5NI= github.com/gobuffalo/envy v1.7.1/go.mod h1:FurDp9+EDPE4aIUS3ZLyD+7/9fpx7YRt/ukY6jIHf0w= -github.com/gobuffalo/envy v1.8.1 h1:RUr68liRvs0TS1D5qdW3mQv2SjAsu1QWMCx1tG4kDjs= github.com/gobuffalo/envy v1.8.1/go.mod h1:FurDp9+EDPE4aIUS3ZLyD+7/9fpx7YRt/ukY6jIHf0w= github.com/gobuffalo/envy v1.9.0 h1:eZR0DuEgVLfeIb1zIKt3bT4YovIMf9O9LXQeCZLXpqE= github.com/gobuffalo/envy v1.9.0/go.mod h1:FurDp9+EDPE4aIUS3ZLyD+7/9fpx7YRt/ukY6jIHf0w= @@ -215,7 +210,6 @@ github.com/gobuffalo/events v1.1.8/go.mod h1:UFy+W6X6VbCWS8k2iT81HYX65dMtiuVycMy github.com/gobuffalo/events v1.1.9/go.mod h1:/0nf8lMtP5TkgNbzYxR6Bl4GzBy5s5TebgNTdRfRbPM= github.com/gobuffalo/events v1.2.0/go.mod h1:pxvpvsKXKZNPtHuIxUV3K+g+KP5o4forzaeFj++bh68= github.com/gobuffalo/events v1.3.1/go.mod h1:9JOkQVoyRtailYVE/JJ2ZQ/6i4gTjM5t2HsZK4C1cSA= -github.com/gobuffalo/events v1.4.0 h1:Vje/vgTWs+dyhIS0U03oLpvx1SUdAqutv/hDWIz2ErM= github.com/gobuffalo/events v1.4.0/go.mod h1:gQbNh681BwO+urxPpHHBiVD8Y+2lg17Wj2xuCMMKr8E= github.com/gobuffalo/events v1.4.1 h1:OLJIun6wRx4DOW19XoL/AoyjuJltqeOBFH3q8cDvNb8= github.com/gobuffalo/events v1.4.1/go.mod h1:SjXgWKpeSuvQDvGhgMz5IXx3Czu+IbL+XPLR41NvVQY= @@ -231,7 +225,6 @@ github.com/gobuffalo/fizz v1.6.1/go.mod h1:V4V6EA8eYu/L43y6gZj7mjmPkigl9m+Eu3Pe+ github.com/gobuffalo/fizz v1.8.0/go.mod h1:2LqJOOGUp1JpN9m54ac5jMQ1MpbNvSVbFi9BY+AEXOo= github.com/gobuffalo/fizz v1.9.0/go.mod h1:2LqJOOGUp1JpN9m54ac5jMQ1MpbNvSVbFi9BY+AEXOo= github.com/gobuffalo/fizz v1.9.2/go.mod h1:XJb7Do1keOPkaJnJ48OCjV+7ABQ7mbOqui2WfDobXTQ= -github.com/gobuffalo/fizz v1.9.5 h1:Qh0GkP7MYtJs9RZwBkPJ0CzEXynVowdNfrjg8b+TOxA= github.com/gobuffalo/fizz v1.9.5/go.mod h1:v9cFl56oXm+hNNayTsIQHnq209bTDUbIM8GYWCJw3TE= github.com/gobuffalo/fizz v1.9.8 h1:K0uXVQ/hF1NaETpW++bTvK4A+42GCioKzpvdtSfkiRM= github.com/gobuffalo/fizz v1.9.8/go.mod h1:w1FEn1yKNVCc49KnADGyYGRPH7jFON3ak4Bj1yUudHo= @@ -254,9 +247,7 @@ github.com/gobuffalo/flect v0.1.1/go.mod h1:8JCgGVbRjJhVgD6399mQr4fx5rRfGKVzFjbj github.com/gobuffalo/flect v0.1.3/go.mod h1:8JCgGVbRjJhVgD6399mQr4fx5rRfGKVzFjbj6RE/9UI= github.com/gobuffalo/flect v0.1.5/go.mod h1:W3K3X9ksuZfir8f/LrfVtWmCDQFfayuylOJ7sz/Fj80= github.com/gobuffalo/flect v0.1.6/go.mod h1:W3K3X9ksuZfir8f/LrfVtWmCDQFfayuylOJ7sz/Fj80= -github.com/gobuffalo/flect v0.2.0 h1:EWCvMGGxOjsgwlWaP+f4+Hh6yrrte7JeFL2S6b+0hdM= github.com/gobuffalo/flect v0.2.0/go.mod h1:W3K3X9ksuZfir8f/LrfVtWmCDQFfayuylOJ7sz/Fj80= -github.com/gobuffalo/flect v0.2.1 h1:GPoRjEN0QObosV4XwuoWvSd5uSiL0N3e91/xqyY4crQ= github.com/gobuffalo/flect v0.2.1/go.mod h1:vmkQwuZYhN5Pc4ljYQZzP+1sq+NEkK+lh20jmEmX3jc= github.com/gobuffalo/flect v0.2.2 h1:PAVD7sp0KOdfswjAw9BpLCU9hXo7wFSzgpQ+zNeks/A= github.com/gobuffalo/flect v0.2.2/go.mod h1:vmkQwuZYhN5Pc4ljYQZzP+1sq+NEkK+lh20jmEmX3jc= @@ -304,7 +295,6 @@ github.com/gobuffalo/genny v0.4.0/go.mod h1:Kdo8wsw5zmooVvEfMkfv4JI9Ogz/PMvBNvl1 github.com/gobuffalo/genny v0.4.1/go.mod h1:dpded+KBgICFciAb+6R5Lo+1VxzofjqHgKqFYIL8M7U= github.com/gobuffalo/genny v0.6.0 h1:d7c6d66ZrTHHty01hDX1/TcTWvAJQxRZl885KWX5kHY= github.com/gobuffalo/genny v0.6.0/go.mod h1:Vigx9VDiNscYpa/LwrURqGXLSIbzTfapt9+K6gF1kTA= -github.com/gobuffalo/genny/v2 v2.0.5 h1:IH0EHcvwKT0MdASzptvkz/ViYBQELTklq1/l8Ot3Q5E= github.com/gobuffalo/genny/v2 v2.0.5/go.mod h1:kRkJuAw9mdI37AiEYjV4Dl+TgkBDYf8HZVjLkqe5eBg= github.com/gobuffalo/genny/v2 v2.0.6 h1:5M1Cl4pkS3mIl/X5s27nhq/o/2S8e5cPXmlcGwSDBI4= github.com/gobuffalo/genny/v2 v2.0.6/go.mod h1:3tUHnhxSOSe1wmx669WaBtIA3OSvtVkwRTvJFsH+d9o= @@ -344,7 +334,6 @@ github.com/gobuffalo/httptest v1.0.6/go.mod h1:7T1IbSrg60ankme0aDLVnEY0h056g9M1/ github.com/gobuffalo/httptest v1.1.0/go.mod h1:BIfCgiqCOotRc5xYwCcZN7IFYag4277Ynqjar/Ra3iI= github.com/gobuffalo/httptest v1.2.0/go.mod h1:0KfourZCsapuvkljDMSr7YM+66kCt/rXv54YcWRWwhc= github.com/gobuffalo/httptest v1.3.0/go.mod h1:Y4qebOsMH91XdB0cZuS8OUdAKHGV7hVDcjgzGupoYlk= -github.com/gobuffalo/httptest v1.4.0 h1:DaoTl/2iFRTk9Uau6b0Lh644tcbRtBNMHcWg6WhieS8= github.com/gobuffalo/httptest v1.4.0/go.mod h1:VDkgCFmIxAunkLNts49TC949NRLTtvyLKuN67o6hrXM= github.com/gobuffalo/httptest v1.4.1/go.mod h1:F541Rwcu9Ypo1NBAsYxrCV0J6ibAGGEvhM3653G+u5I= github.com/gobuffalo/httptest v1.5.0 h1:kzrM6oEJccNN36cow9fLvgWfwUpUfwBBelsgA6Gghnk= @@ -362,7 +351,6 @@ github.com/gobuffalo/licenser v0.0.0-20190224205124-37799bc2ebf6/go.mod h1:ve/Ue github.com/gobuffalo/licenser v0.0.0-20190329153211-c35c0a2813b2/go.mod h1:ZVWE6uKUE3rGf7sedUHWVjNWrEgxaUQLVFL+pQiWpfY= github.com/gobuffalo/licenser v1.1.0/go.mod h1:ZVWE6uKUE3rGf7sedUHWVjNWrEgxaUQLVFL+pQiWpfY= github.com/gobuffalo/licenser v1.2.0/go.mod h1:ZqDQ+UOqsXPovl65rbCr3Tye6+nKjT4ovwurjVxvMQM= -github.com/gobuffalo/licenser v1.4.0 h1:S8WY0nLT9zkBTjFYcbJ0E9MEK7SgE86aMfjsnuThQjY= github.com/gobuffalo/licenser v1.4.0/go.mod h1:YkyTh2T/d7KECTh32j65auPV876gkJJk55aAdBfDehg= github.com/gobuffalo/logger v0.0.0-20181022175615-46cfb361fc27/go.mod h1:8sQkgyhWipz1mIctHF4jTxmJh1Vxhp7mP8IqbljgJZo= github.com/gobuffalo/logger v0.0.0-20181027144941-73d08d2bb969/go.mod h1:7uGg2duHKpWnN4+YmyKBdLXfhopkAdVM6H3nKbyFbz8= @@ -397,7 +385,6 @@ github.com/gobuffalo/meta v0.0.0-20190320152240-a5320142224a/go.mod h1:+VGfK9Jm9 github.com/gobuffalo/meta v0.0.0-20190329152330-e161e8a93e3b/go.mod h1:mCRSy5F47tjK8yaIDcJad4oe9fXxY5gLrx3Xx2spK+0= github.com/gobuffalo/meta v0.1.0/go.mod h1:vAgu28tKdaPIkt8j60wYv1dLuJ1UwOmAjZtYOnLJlko= github.com/gobuffalo/meta v0.2.0/go.mod h1:KZ9Hk/o+kFpwRhzUO95EOuxf3jXU4GleCTUDSTpe3hQ= -github.com/gobuffalo/meta v0.2.1 h1:6SWsmdlfPC91ysIaPHhXjtVzcAIqUxxC5uetDd4fpdo= github.com/gobuffalo/meta v0.2.1/go.mod h1:KZ9Hk/o+kFpwRhzUO95EOuxf3jXU4GleCTUDSTpe3hQ= github.com/gobuffalo/meta v0.3.0 h1:F0BFeZuQ1UmsHAVBgsnzolheLmv11t2GQ+53OFOP7lk= github.com/gobuffalo/meta v0.3.0/go.mod h1:cpr6mrUX5H/B4wEP86Gdq568TK4+dKUD8oRPl698RUw= @@ -407,21 +394,16 @@ github.com/gobuffalo/mw-basicauth v1.0.7/go.mod h1:xJ9/OSiOWl+kZkjaSun62srODr3Cx github.com/gobuffalo/mw-contenttype v0.0.0-20180802152300-74f5a47f4d56/go.mod h1:7EvcmzBbeCvFtQm5GqF9ys6QnCxz2UM1x0moiWLq1No= github.com/gobuffalo/mw-contenttype v0.0.0-20190129203934-2554e742333b/go.mod h1:7x87+mDrr9Peh7AqhOtESyJLanMd2zQNz2Hts+vtBoE= github.com/gobuffalo/mw-csrf v0.0.0-20180802151833-446ff26e108b/go.mod h1:sbGtb8DmDZuDUQoxjr8hG1ZbLtZboD9xsn6p77ppcHo= -github.com/gobuffalo/mw-csrf v0.0.0-20190129204204-25460a055517 h1:pOOXwl1xPLLP8oZw3e3t2wwrc/KSzmlRBcaQwGpG9oo= github.com/gobuffalo/mw-csrf v0.0.0-20190129204204-25460a055517/go.mod h1:o5u+nnN0Oa7LBeDYH9QP36qeMPnXV9qbVnbZ4D+Kb0Q= -github.com/gobuffalo/mw-forcessl v0.0.0-20180802152810-73921ae7a130 h1:v94+IGhlBro0Lz1gOR3lrdAVSZ0mJF2NxsdppKd7FnI= github.com/gobuffalo/mw-forcessl v0.0.0-20180802152810-73921ae7a130/go.mod h1:JvNHRj7bYNAMUr/5XMkZaDcw3jZhUZpsmzhd//FFWmQ= github.com/gobuffalo/mw-i18n v0.0.0-20180802152014-e3060b7e13d6/go.mod h1:91AQfukc52A6hdfIfkxzyr+kpVYDodgAeT5cjX1UIj4= github.com/gobuffalo/mw-i18n v0.0.0-20181027200759-09e0c99be4d3/go.mod h1:1PpGPgqP8VsfUppgBA9FrTOXjI6X9gjqhh/8dmg48lg= -github.com/gobuffalo/mw-i18n v0.0.0-20190129204410-552713a3ebb4 h1:c1fFPCxA7SozZPqMhpfZoOVa3wUpCl11gyCEZ4nYqUE= github.com/gobuffalo/mw-i18n v0.0.0-20190129204410-552713a3ebb4/go.mod h1:rBg2eHxsyxVjtYra6fGy4GSF5C8NysOvz+Znnzk42EM= github.com/gobuffalo/mw-paramlogger v0.0.0-20181005191442-d6ee392ec72e/go.mod h1:6OJr6VwSzgJMqWMj7TYmRUqzNe2LXu/W1rRW4MAz/ME= -github.com/gobuffalo/mw-paramlogger v0.0.0-20190129202837-395da1998525 h1:2QoD5giw2UrYJu65UKDEo9HFcz9yun387twL2zzn+/Q= github.com/gobuffalo/mw-paramlogger v0.0.0-20190129202837-395da1998525/go.mod h1:gEo/ABCsKqvpp/KCxN2AIzDEe0OJUXbJ9293FYrXw+w= github.com/gobuffalo/mw-tokenauth v0.0.0-20181001105134-8545f626c189/go.mod h1:UqBF00IfKvd39ni5+yI5MLMjAf4gX7cDKN/26zDOD6c= github.com/gobuffalo/mw-tokenauth v0.0.0-20190129201951-95847f29c5c8/go.mod h1:n2oa93LHGD94hGI+PoJO+6cf60DNrXrAIv9L/Ke3GXc= github.com/gobuffalo/nulls v0.0.0-20190305142546-85f3c9250d87/go.mod h1:KhaLCW+kFA/G97tZkmVkIxhRw3gvZszJn7JjPLI3gtI= -github.com/gobuffalo/nulls v0.1.0 h1:pR3SDzXyFcQrzyPreZj+OzNHSxI4DphSOFaQuidxrfw= github.com/gobuffalo/nulls v0.1.0/go.mod h1:/HRtuDRoVoN5fABk3J6jzZaGEdcIZEMs0qczj71eKZY= github.com/gobuffalo/nulls v0.2.0 h1:7R0Uec6JlZI02TR29zrs3KFIuUV8Sqe/s/j3yLvs+gc= github.com/gobuffalo/nulls v0.2.0/go.mod h1:w4q8RoSCEt87Q0K0sRIZWYeIxkxog5mh3eN3C/n+dUc= @@ -443,7 +425,6 @@ github.com/gobuffalo/packd v0.0.0-20190315122247-83d601d65093/go.mod h1:LpEu7Oko github.com/gobuffalo/packd v0.0.0-20190315124812-a385830c7fc0/go.mod h1:M2Juc+hhDXf/PnmBANFCqx4DM3wRbgDvnVWeG2RIxq4= github.com/gobuffalo/packd v0.1.0/go.mod h1:M2Juc+hhDXf/PnmBANFCqx4DM3wRbgDvnVWeG2RIxq4= github.com/gobuffalo/packd v0.2.0/go.mod h1:k2CkHP3bjbqL2GwxwhxUy1DgnlbW644hkLC9iIUvZwY= -github.com/gobuffalo/packd v0.3.0 h1:eMwymTkA1uXsqxS0Tpoop3Lc0u3kTfiMBE6nKtQU4g4= github.com/gobuffalo/packd v0.3.0/go.mod h1:zC7QkmNkYVGKPw4tHpBQ+ml7W/3tIebgeo1b36chA3Q= github.com/gobuffalo/packd v1.0.0 h1:6ERZvJHfe24rfFmA9OaoKBdC7+c9sydrytMg8SdFGBM= github.com/gobuffalo/packd v1.0.0/go.mod h1:6VTc4htmJRFB7u1m/4LeMTWjFoYrUiBkU9Fdec9hrhI= @@ -487,7 +468,6 @@ github.com/gobuffalo/packr/v2 v2.5.1/go.mod h1:8f9c96ITobJlPzI44jj+4tHnEKNt0xXWS github.com/gobuffalo/packr/v2 v2.5.2/go.mod h1:sgEE1xNZ6G0FNN5xn9pevVu4nywaxHvgup67xisti08= github.com/gobuffalo/packr/v2 v2.5.3/go.mod h1:sgEE1xNZ6G0FNN5xn9pevVu4nywaxHvgup67xisti08= github.com/gobuffalo/packr/v2 v2.6.0/go.mod h1:sgEE1xNZ6G0FNN5xn9pevVu4nywaxHvgup67xisti08= -github.com/gobuffalo/packr/v2 v2.7.1 h1:n3CIW5T17T8v4GGK5sWXLVWJhCz7b5aNLSxW6gYim4o= github.com/gobuffalo/packr/v2 v2.7.1/go.mod h1:qYEvAazPaVxy7Y7KR0W8qYEE+RymX74kETFqjFoFlOc= github.com/gobuffalo/packr/v2 v2.8.0 h1:IULGd15bQL59ijXLxEvA5wlMxsmx/ZkQv9T282zNVIY= github.com/gobuffalo/packr/v2 v2.8.0/go.mod h1:PDk2k3vGevNE3SwVyVRgQCCXETC9SaONCNSXT1Q8M1g= @@ -539,7 +519,6 @@ github.com/gobuffalo/pop v4.12.1+incompatible/go.mod h1:DwBz3SD5SsHpTZiTubcsFWcV github.com/gobuffalo/pop v4.12.2+incompatible/go.mod h1:DwBz3SD5SsHpTZiTubcsFWcVDpJWGsxjVjMPnkiThWg= github.com/gobuffalo/pop v4.13.1+incompatible h1:AhbqPxNOBN/DBb2DBaiBqzOXIBQXxEYzngHHJ+ytP4g= github.com/gobuffalo/pop v4.13.1+incompatible/go.mod h1:DwBz3SD5SsHpTZiTubcsFWcVDpJWGsxjVjMPnkiThWg= -github.com/gobuffalo/pop/v5 v5.0.9 h1:F6nT4I2S8tkwBGX0JZePvmOIg1A1VX8Exgcsaak7BfM= github.com/gobuffalo/pop/v5 v5.0.9/go.mod h1:mZJHJbA3cy2V18abXYuVop2ldEJ8UZ2DK6qOekC5u5g= github.com/gobuffalo/pop/v5 v5.0.11 h1:BzSFbylk6+w2pEj+8yFHPxsShiJvg6ZV8rcAPNVdmtw= github.com/gobuffalo/pop/v5 v5.0.11/go.mod h1:mZJHJbA3cy2V18abXYuVop2ldEJ8UZ2DK6qOekC5u5g= @@ -567,7 +546,6 @@ github.com/gobuffalo/shoulders v1.0.1/go.mod h1:V33CcVmaQ4gRUmHKwq1fiTXuf8Gp/qjQ github.com/gobuffalo/shoulders v1.0.3/go.mod h1:LqMcHhKRuBPMAYElqOe3POHiZ1x7Ry0BE8ZZ84Bx+k4= github.com/gobuffalo/shoulders v1.0.4/go.mod h1:LqMcHhKRuBPMAYElqOe3POHiZ1x7Ry0BE8ZZ84Bx+k4= github.com/gobuffalo/shoulders v1.1.0/go.mod h1:kcIJs3p7VqoBJ36Mzs+x767NyzTx0pxBvzZdWTWZYF8= -github.com/gobuffalo/shoulders v1.2.0 h1:XcPmWbzN7944VXS/I//R7o2eupUHEp3mLFWbUlk1Sco= github.com/gobuffalo/shoulders v1.2.0/go.mod h1:Ia3oFybQWg4711cb2S5JkFSt9V4rMiLGusWZ6mRAdNM= github.com/gobuffalo/syncx v0.0.0-20181120191700-98333ab04150/go.mod h1:HhnNqWY95UYwwW3uSASeV7vtgYkT2t16hJgV3AEPUpw= github.com/gobuffalo/syncx v0.0.0-20181120194010-558ac7de985f/go.mod h1:HhnNqWY95UYwwW3uSASeV7vtgYkT2t16hJgV3AEPUpw= @@ -585,13 +563,10 @@ github.com/gobuffalo/tags/v3 v3.1.0 h1:mzdCYooN2VsLRr8KIAdEZ1lh1Py7JSMsiEGCGata2 github.com/gobuffalo/tags/v3 v3.1.0/go.mod h1:ZQeN6TCTiwAFnS0dNcbDtSgZDwNKSpqajvVtt6mlYpA= github.com/gobuffalo/uuid v2.0.3+incompatible/go.mod h1:ErhIzkRhm0FtRuiE/PeORqcw4cVi1RtSpnwYrxuvkfE= github.com/gobuffalo/uuid v2.0.4+incompatible/go.mod h1:ErhIzkRhm0FtRuiE/PeORqcw4cVi1RtSpnwYrxuvkfE= -github.com/gobuffalo/uuid v2.0.5+incompatible h1:c5uWRuEnYggYCrT9AJm0U2v1QTG7OVDAvxhj8tIV5Gc= github.com/gobuffalo/uuid v2.0.5+incompatible/go.mod h1:ErhIzkRhm0FtRuiE/PeORqcw4cVi1RtSpnwYrxuvkfE= -github.com/gobuffalo/validate v2.0.3+incompatible h1:6f4JCEz11Zi6iIlexMv7Jz10RBPvgI795AOaubtCwTE= github.com/gobuffalo/validate v2.0.3+incompatible/go.mod h1:N+EtDe0J8252BgfzQUChBgfd6L93m9weay53EWFVsMM= github.com/gobuffalo/validate v2.0.4+incompatible h1:ZTxozrIw8qQ5nfhShmc4izjYPTsPhfdXTdhXOd5OS9o= github.com/gobuffalo/validate v2.0.4+incompatible/go.mod h1:N+EtDe0J8252BgfzQUChBgfd6L93m9weay53EWFVsMM= -github.com/gobuffalo/validate/v3 v3.0.0 h1:dF7Bg8NMF9Zv8bZvUMXYJXxZdj+eSZ8z/lGM7/jVFUE= github.com/gobuffalo/validate/v3 v3.0.0/go.mod h1:HFpjq+AIiA2RHoQnQVTFKF/ZpUPXwyw82LgyDPxQ9r0= github.com/gobuffalo/validate/v3 v3.1.0 h1:/QQN920PciCfBs3aywtJTvDTHmBFMKoiwkshUWa/HLQ= github.com/gobuffalo/validate/v3 v3.1.0/go.mod h1:HFpjq+AIiA2RHoQnQVTFKF/ZpUPXwyw82LgyDPxQ9r0= @@ -615,7 +590,6 @@ github.com/golang/mock v1.2.0/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfb github.com/golang/mock v1.3.1/go.mod h1:sBzyDLLjw3U8JLTeZvSv8jJB+tU5PVekmnlKIyFUx0Y= github.com/golang/protobuf v1.1.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= -github.com/golang/protobuf v1.3.1 h1:YF8+flBXS5eO826T4nzqPrxfhQThhXl0YzfuUPu4SBg= github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= github.com/gomodule/redigo v2.0.0+incompatible/go.mod h1:B4C85qUVwatsJoIUNIfCRsp7qO0iAmpGFZ4EELWSbC4= @@ -645,7 +619,6 @@ github.com/gorilla/mux v1.6.2/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2z github.com/gorilla/mux v1.7.0/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs= github.com/gorilla/mux v1.7.1/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs= github.com/gorilla/mux v1.7.2/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs= -github.com/gorilla/mux v1.7.3 h1:gnP5JzjVOuiZD07fKKToCAOjS0yOpj/qPETTXCCS6hw= github.com/gorilla/mux v1.7.3/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs= github.com/gorilla/mux v1.7.4 h1:VuZ8uybHlWmqV03+zRzdwKL4tUnIp1MAQtp1mIFE1bc= github.com/gorilla/mux v1.7.4/go.mod h1:DVbg23sWSpFRCP0SfiEN6jmj59UnW/n46BH5rLB71So= @@ -684,13 +657,11 @@ github.com/hashicorp/logutils v1.0.0/go.mod h1:QIAnNjmIWmVIIkWDTG1z5v++HQmx9WQRO github.com/hashicorp/mdns v1.0.0/go.mod h1:tL+uN++7HEJ6SQLQ2/p+z2pH24WQKWjBPkE0mNTz8vQ= github.com/hashicorp/memberlist v0.1.3/go.mod h1:ajVTdAv/9Im8oMAAj5G31PhhMCZJV2pPBoIllUwCN7I= github.com/hashicorp/serf v0.8.2/go.mod h1:6hOLApaqBFA1NXqRQAsxw9QxuDEvNxSQRwA/JwenrHc= -github.com/hpcloud/tail v1.0.0 h1:nfCOvKYfkgYP8hkirhJocXT2+zOD8yUNjXaWfTlyFKI= github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= github.com/inconshreveable/mousetrap v1.0.0 h1:Z8tu5sraLXCXIcARxBp/8cbvlwVa7Z1NHg9XEKhtSvM= github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8= github.com/jackc/chunkreader v1.0.0 h1:4s39bBR8ByfqH+DKm8rQA3E1LHZWB9XWcrz8fqaZbe0= github.com/jackc/chunkreader v1.0.0/go.mod h1:RT6O25fNZIuasFJRyZ4R/Y2BbhasbmZXF9QQ7T3kePo= -github.com/jackc/chunkreader/v2 v2.0.0 h1:DUwgMQuuPnS0rhMXenUtZpqZqrR/30NWY+qQvTpSvEs= github.com/jackc/chunkreader/v2 v2.0.0/go.mod h1:odVSm741yZoC3dpHEUXIqA9tQRhFrgOHwnPIn9lDKlk= github.com/jackc/chunkreader/v2 v2.0.1 h1:i+RDz65UE+mmpjTfyz0MoVTnzeYxroil2G82ki7MGG8= github.com/jackc/chunkreader/v2 v2.0.1/go.mod h1:odVSm741yZoC3dpHEUXIqA9tQRhFrgOHwnPIn9lDKlk= @@ -698,7 +669,6 @@ github.com/jackc/fake v0.0.0-20150926172116-812a484cc733/go.mod h1:WrMFNQdiFJ80s github.com/jackc/pgconn v0.0.0-20190420214824-7e0022ef6ba3/go.mod h1:jkELnwuX+w9qN5YIfX0fl88Ehu4XC3keFuOJJk9pcnA= github.com/jackc/pgconn v0.0.0-20190824142844-760dd75542eb/go.mod h1:lLjNuW/+OfW9/pnVKPazfWOgNfH2aPem8YQ7ilXGvJE= github.com/jackc/pgconn v0.0.0-20190831204454-2fabfa3c18b7/go.mod h1:ZJKsE/KZfsUgOEh9hBm+xYTstcNHg7UPMVJqRfQxq4s= -github.com/jackc/pgconn v1.0.1 h1:ZANo4pIkeHKIVD1cQMcxu8fwrwIICLblzi9HCjooZeQ= github.com/jackc/pgconn v1.0.1/go.mod h1:GgY/Lbj1VonNaVdNUHs9AwWom3yP2eymFQ1C8z9r/Lk= github.com/jackc/pgconn v1.3.1/go.mod h1:2Ze5IP7prCiM28C4nc5LUoRaSyMDYZFE32L4gMJVtcU= github.com/jackc/pgconn v1.3.2 h1:9UIGICxEAW70RQDGilGwsCG63NCcm5amjuBQCFzrmsw= @@ -715,7 +685,6 @@ github.com/jackc/pgproto3/v2 v2.0.0-alpha1.0.20190420180111-c116219b62db/go.mod github.com/jackc/pgproto3/v2 v2.0.0-alpha1.0.20190609003834-432c2951c711/go.mod h1:uH0AWtUmuShn0bcesswc4aBTWGvw0cAxIJp+6OB//Wg= github.com/jackc/pgproto3/v2 v2.0.0-rc3/go.mod h1:ryONWYqW6dqSg1Lw6vXNMXoBJhpzvWKnT95C46ckYeM= github.com/jackc/pgproto3/v2 v2.0.0-rc3.0.20190831210041-4c03ce451f29/go.mod h1:ryONWYqW6dqSg1Lw6vXNMXoBJhpzvWKnT95C46ckYeM= -github.com/jackc/pgproto3/v2 v2.0.0 h1:FApgMJ/GtaXfI0s8Lvd0kaLaRwMOhs4VH92pwkwQQvU= github.com/jackc/pgproto3/v2 v2.0.0/go.mod h1:ryONWYqW6dqSg1Lw6vXNMXoBJhpzvWKnT95C46ckYeM= github.com/jackc/pgproto3/v2 v2.0.1 h1:Rdjp4NFjwHnEslx2b66FfCI2S0LhO4itac3hXz6WX9M= github.com/jackc/pgproto3/v2 v2.0.1/go.mod h1:WfJCnwN3HIg9Ish/j3sgWXnAfK8A9Y0bwXYU5xKaEdA= @@ -751,7 +720,6 @@ github.com/karrick/godirwalk v1.10.3/go.mod h1:RoGL9dQei4vP9ilrpETWE8CLOZ1kiN0Lh github.com/karrick/godirwalk v1.10.12/go.mod h1:RoGL9dQei4vP9ilrpETWE8CLOZ1kiN0LhBygSwrAsHA= github.com/karrick/godirwalk v1.12.0/go.mod h1:H5KPZjojv4lE+QYImBI8xVtrBRgYrIVsaRPx4tDPEn4= github.com/karrick/godirwalk v1.15.2/go.mod h1:j4mkqPuvaLI8mp1DroR3P6ad7cyYd4c1qeJ3RV7ULlk= -github.com/karrick/godirwalk v1.15.3 h1:0a2pXOgtB16CqIqXTiT7+K9L73f74n/aNQUnH6Ortew= github.com/karrick/godirwalk v1.15.3/go.mod h1:j4mkqPuvaLI8mp1DroR3P6ad7cyYd4c1qeJ3RV7ULlk= github.com/karrick/godirwalk v1.15.5 h1:ErdAEFW/cKxQ5+9Gm/hopxB8ki21/di+vyNb9mHnHrA= github.com/karrick/godirwalk v1.15.5/go.mod h1:j4mkqPuvaLI8mp1DroR3P6ad7cyYd4c1qeJ3RV7ULlk= @@ -764,7 +732,6 @@ github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxv github.com/konsorten/go-windows-terminal-sequences v1.0.2 h1:DB17ag19krx9CFsz4o3enTrPXyIXCl+2iCXH/aMAp9s= github.com/konsorten/go-windows-terminal-sequences v1.0.2/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc= -github.com/kr/pretty v0.1.0 h1:L/CwN0zerZDmRFUapSPitk6f+Q3+0za1rQkzVuMiMFI= github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= github.com/kr/pretty v0.2.0 h1:s5hAObm+yFO5uHYt5dYjxi2rXrsnmRpJx4OYvIWUaQs= github.com/kr/pretty v0.2.0/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= @@ -775,7 +742,6 @@ github.com/kr/text v0.1.0 h1:45sCR5RtlFHMR4UwH9sdQ5TC8v0qDQCHnXt+kaKSTVE= github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= github.com/lib/pq v1.0.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= github.com/lib/pq v1.1.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= -github.com/lib/pq v1.2.0 h1:LXpIM/LZ5xGFhOpXAQUIMM1HdyqzVYM13zNdjCEEcA0= github.com/lib/pq v1.2.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= github.com/lib/pq v1.3.0 h1:/qkRGz8zljWiDcFvgpwUpwIAPu3r07TDvs3Rws+o/pU= github.com/lib/pq v1.3.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= @@ -837,12 +803,10 @@ github.com/mattn/go-isatty v0.0.7/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hd github.com/mattn/go-isatty v0.0.8/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s= github.com/mattn/go-isatty v0.0.9/go.mod h1:YNRxwqDuOph6SZLI9vUUz6OYw3QyUt7WiY2yME+cCiQ= github.com/mattn/go-isatty v0.0.10/go.mod h1:qgIWMr58cqv1PHHyhnkY9lrL7etaEgOFcMEpPG5Rm84= -github.com/mattn/go-isatty v0.0.11 h1:FxPOTFNqGkuDUGi3H/qkUbQO4ZiBa2brKq5r0l8TGeM= github.com/mattn/go-isatty v0.0.11/go.mod h1:PhnuNfih5lzO57/f3n+odYbM4JtupLOxQOAqxQCu2WE= github.com/mattn/go-isatty v0.0.12 h1:wuysRhFDzyxgEmMf5xjvJ2M9dZoWAXNNr5LSBS7uHXY= github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU= github.com/mattn/go-sqlite3 v1.9.0/go.mod h1:FPy6KqzDD04eiIsT53CuJW3U88zkxoIYsOqkbpncsNc= -github.com/mattn/go-sqlite3 v1.10.0 h1:jbhqpg7tQe4SupckyijYiy0mJJ/pRyHvXf7JdWK860o= github.com/mattn/go-sqlite3 v1.10.0/go.mod h1:FPy6KqzDD04eiIsT53CuJW3U88zkxoIYsOqkbpncsNc= github.com/mattn/go-sqlite3 v2.0.3+incompatible h1:gXHsfypPkaMZrKbD5209QV9jbUTJKjyR5WD3HYQSd+U= github.com/mattn/go-sqlite3 v2.0.3+incompatible/go.mod h1:FPy6KqzDD04eiIsT53CuJW3U88zkxoIYsOqkbpncsNc= @@ -868,14 +832,12 @@ github.com/monoculum/formam v0.0.0-20180901015400-4e68be1d79ba/go.mod h1:RKgILGE github.com/monoculum/formam v0.0.0-20190307031628-bc555adff0cd/go.mod h1:JKa2av1XVkGjhxdLS59nDoXa2JpmIHpnURWNbzCtXtc= github.com/monoculum/formam v0.0.0-20190730134247-0612307a4099/go.mod h1:JKa2av1XVkGjhxdLS59nDoXa2JpmIHpnURWNbzCtXtc= github.com/monoculum/formam v0.0.0-20190830100315-7ff9597b1407/go.mod h1:JKa2av1XVkGjhxdLS59nDoXa2JpmIHpnURWNbzCtXtc= -github.com/monoculum/formam v0.0.0-20191229172733-952f0766a724 h1:qlTmDrFZLQIGXnd1JE58dqyLnKyIJjR9WBeDQcT3O8w= github.com/monoculum/formam v0.0.0-20191229172733-952f0766a724/go.mod h1:JKa2av1XVkGjhxdLS59nDoXa2JpmIHpnURWNbzCtXtc= github.com/monoculum/formam v0.0.0-20200905010316-d7a8fbd33677 h1:N11HMdhT5DtkXsQQo3xPFipjvG7QwzKa9MBupRQqXaU= github.com/monoculum/formam v0.0.0-20200905010316-d7a8fbd33677/go.mod h1:JKa2av1XVkGjhxdLS59nDoXa2JpmIHpnURWNbzCtXtc= github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= github.com/neelance/astrewrite v0.0.0-20160511093645-99348263ae86/go.mod h1:kHJEU3ofeGjhHklVoIGuVj85JJwZ6kWPaJwCIxgnFmo= github.com/neelance/sourcemap v0.0.0-20151028013722-8c68805598ab/go.mod h1:Qr6/a/Q4r9LP1IltGz7tA7iOK1WonHEYhu1HRBA7ZiM= -github.com/nicksnyder/go-i18n v1.10.0 h1:5AzlPKvXBH4qBzmZ09Ua9Gipyruv6uApMcrNZdo96+Q= github.com/nicksnyder/go-i18n v1.10.0/go.mod h1:HrK7VCrbOvQoUAQ7Vpy7i87N7JZZZ7R2xBGjv0j365Q= github.com/oklog/ulid v1.3.1/go.mod h1:CirwcVhetQ6Lv90oh/F+FBtV6XMibvdAFo93nm5qn4U= github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= @@ -883,7 +845,6 @@ github.com/onsi/ginkgo v1.7.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+W github.com/onsi/ginkgo v1.8.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/ginkgo v1.9.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/ginkgo v1.10.1/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= -github.com/onsi/ginkgo v1.10.3 h1:OoxbjfXVZyod1fmWYhI7SEyaD8B00ynP3T+D5GiyHOY= github.com/onsi/ginkgo v1.10.3/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/gomega v1.4.1/go.mod h1:C1qb7wdrVGGVU+Z6iS04AVkA3Q65CEZX59MT0QO5uiA= github.com/onsi/gomega v1.4.2/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= @@ -891,14 +852,12 @@ github.com/onsi/gomega v1.4.3/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1Cpa github.com/onsi/gomega v1.5.0/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= github.com/onsi/gomega v1.6.0/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= github.com/onsi/gomega v1.7.0/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= -github.com/onsi/gomega v1.7.1 h1:K0jcRCwNQM3vFGh1ppMtDh/+7ApJrjldlX8fA0jDTLQ= github.com/onsi/gomega v1.7.1/go.mod h1:XdKZgCCFLUoM/7CFJVPcG8C1xQ1AJ0vpAezJrB7JYyY= github.com/openzipkin/zipkin-go v0.1.1/go.mod h1:NtoC/o8u3JlF1lSlyPNswIbeQH9bJTmOf0Erfk+hxe8= github.com/pascaldekloe/goe v0.0.0-20180627143212-57f6aae5913c/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc= github.com/pelletier/go-toml v1.2.0 h1:T5zMGML61Wp+FlcbWjRDT7yAxhJNAiPPLOFECq181zc= github.com/pelletier/go-toml v1.2.0/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/94hg7ilaic= github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= -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/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= @@ -923,7 +882,6 @@ github.com/rogpeppe/go-internal v1.1.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFR github.com/rogpeppe/go-internal v1.2.2/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= github.com/rogpeppe/go-internal v1.3.2/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc= -github.com/rogpeppe/go-internal v1.4.0 h1:LUa41nrWTQNGhzdsZ5lTnkwbNjj6rXTdazA1cSdjkOY= github.com/rogpeppe/go-internal v1.4.0/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc= github.com/rogpeppe/go-internal v1.5.2 h1:qLvObTrvO/XRCqmkKxUlOBc48bI3efyDuAZe25QiF0w= github.com/rogpeppe/go-internal v1.5.2/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc= @@ -935,9 +893,7 @@ github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQD github.com/ryanuber/columnize v0.0.0-20160712163229-9b3edd62028f/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts= github.com/satori/go.uuid v1.2.0/go.mod h1:dA0hQrYB0VpLJoorglMZABFdXlWrHn1NEOzdhQKdks0= github.com/sean-/seed v0.0.0-20170313163322-e2103e2c3529/go.mod h1:DxrIzT+xaE7yg65j358z/aeFdxmN0P9QXhEzd20vsDc= -github.com/serenize/snaker v0.0.0-20171204205717-a683aaf2d516 h1:ofR1ZdrNSkiWcMsRrubK9tb2/SlZVWttAfqUjJi6QYc= github.com/serenize/snaker v0.0.0-20171204205717-a683aaf2d516/go.mod h1:Yow6lPLSAXx2ifx470yD/nUe22Dv5vBvxK/UK9UUTVs= -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/sergi/go-diff v1.1.0 h1:we8PVUC3FE2uYfodKH/nBHMSetSfHDR6scGdBi+erh0= github.com/sergi/go-diff v1.1.0/go.mod h1:STckp+ISIX8hZLjrqAeVduY0gWCT9IjLuqbuNXdaHfM= @@ -974,7 +930,6 @@ github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPx github.com/sirupsen/logrus v1.3.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= github.com/sirupsen/logrus v1.4.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= github.com/sirupsen/logrus v1.4.1/go.mod h1:ni0Sbl8bgC9z8RoU9G6nDWqqs/fq4eDPysMBDgk/93Q= -github.com/sirupsen/logrus v1.4.2 h1:SPIRibHv4MatM3XXNO2BJeFLZwZ2LvZgfQ5+UNI2im4= github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE= github.com/sirupsen/logrus v1.5.0 h1:1N5EYkVAPEywqZRJd7cwnRtCb6xJx7NH3T3WUTF980Q= github.com/sirupsen/logrus v1.5.0/go.mod h1:+F7Ogzej0PZc/94MaYx/nvG9jOFMD2osvC3s+Squfpo= @@ -997,7 +952,6 @@ github.com/spf13/cast v1.3.0 h1:oget//CVOEoFewqQxwr0Ej5yjygnqGkvggSE/gB35Q8= github.com/spf13/cast v1.3.0/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= github.com/spf13/cobra v0.0.3/go.mod h1:1l0Ry5zgKvJasoi3XT1TypsSe7PqH0Sj9dhYf7v3XqQ= github.com/spf13/cobra v0.0.4/go.mod h1:3K3wKZymM7VvHMDS9+Akkh4K60UwM26emMESw8tLCHU= -github.com/spf13/cobra v0.0.5 h1:f0B+LkLX6DtmRH1isoNA9VTtNUK9K8xYd28JNNfOv/s= github.com/spf13/cobra v0.0.5/go.mod h1:3K3wKZymM7VvHMDS9+Akkh4K60UwM26emMESw8tLCHU= github.com/spf13/cobra v0.0.6 h1:breEStsVwemnKh2/s6gMvSdMEkwW0sK8vGStnlVBMCs= github.com/spf13/cobra v0.0.6/go.mod h1:/6GTrnGXV9HjY+aR4k0oJ5tcvakLuG6EuKReYlHNrgE= @@ -1012,7 +966,6 @@ github.com/spf13/viper v1.3.0/go.mod h1:ZiWeW+zYFKm7srdB9IoDzzZXaJaI5eL9QjNiN/DM github.com/spf13/viper v1.3.1/go.mod h1:ZiWeW+zYFKm7srdB9IoDzzZXaJaI5eL9QjNiN/DMA2s= github.com/spf13/viper v1.3.2/go.mod h1:ZiWeW+zYFKm7srdB9IoDzzZXaJaI5eL9QjNiN/DMA2s= github.com/spf13/viper v1.4.0/go.mod h1:PTJ7Z/lr49W6bUbkmS1V3by4uWynFiR9p7+dSq/yZzE= -github.com/spf13/viper v1.6.2 h1:7aKfF+e8/k68gda3LOjo5RxiUqddoFxVq4BKBPrxk5E= github.com/spf13/viper v1.6.2/go.mod h1:t3iDnF5Jlj76alVNuyFBk5oUMCvsrkbvZK0WQdfDi5k= github.com/spf13/viper v1.7.0 h1:xVKxvI7ouOI5I+U9s2eeiUfMaWBVoXA3AWskkrqK0VM= github.com/spf13/viper v1.7.0/go.mod h1:8WkrPz2fc9jxqZNCJI/76HCieCp4Q8HaLFoCha5qpdg= @@ -1021,7 +974,6 @@ github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+ github.com/stretchr/objx v0.2.0/go.mod h1:qt09Ya8vawLte6SNmTgCsAVtYtaKzEcn8ATUoHMkEqE= github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= -github.com/stretchr/testify v1.4.0 h1:2E4SXV/wtOkTonXsotYi4li6zVWxYlZuYNCXe9XRJyk= github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= github.com/stretchr/testify v1.5.1 h1:nOGnQDM7FYENwehXlg/kFVnos3rEvtKTjRvOWSzb6H4= github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA= @@ -1034,7 +986,6 @@ github.com/ugorji/go/codec v0.0.0-20181204163529-d75b2dcb6bc8/go.mod h1:VFNgLljT github.com/unrolled/secure v0.0.0-20180918153822-f340ee86eb8b/go.mod h1:mnPT77IAdsi/kV7+Es7y+pXALeV3h7G6dQF6mNYjcLA= github.com/unrolled/secure v0.0.0-20181005190816-ff9db2ff917f/go.mod h1:mnPT77IAdsi/kV7+Es7y+pXALeV3h7G6dQF6mNYjcLA= github.com/unrolled/secure v0.0.0-20181022170031-4b6b7cf51606/go.mod h1:mnPT77IAdsi/kV7+Es7y+pXALeV3h7G6dQF6mNYjcLA= -github.com/unrolled/secure v0.0.0-20190103195806-76e6d4e9b90c h1:ZY4dowVsuIAQtXXwKJ9ezfonDQ2YT7pcXRpPF2iAy3Y= github.com/unrolled/secure v0.0.0-20190103195806-76e6d4e9b90c/go.mod h1:mnPT77IAdsi/kV7+Es7y+pXALeV3h7G6dQF6mNYjcLA= github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2/go.mod h1:UETIi67q53MR2AWcXfiuqkDkRtnGDLqkBTpCHuJHxtU= github.com/xordataexchange/crypt v0.0.3-0.20170626215501-b2862e3d0a77/go.mod h1:aYKd//L2LvnjZzWKhF00oedf4jCCReLcmhLdhm1A27Q= @@ -1082,7 +1033,6 @@ golang.org/x/crypto v0.0.0-20190611184440-5c40567a22f8/go.mod h1:yigFU9vqHzYiE8U golang.org/x/crypto v0.0.0-20190621222207-cc06ce4a13d4/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20190820162420-60c769a6c586/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20191122220453-ac88ee75c92c h1:/nJuwDLoL/zrqY6gf57vxC+Pi+pZ8bfhpPkicO5H7W4= golang.org/x/crypto v0.0.0-20191122220453-ac88ee75c92c/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20200206161412-a0c6ece9d31a h1:aczoJ0HPNE92XKa7DrIzkNN6esOKO2TBwiiYoKcINhA= golang.org/x/crypto v0.0.0-20200206161412-a0c6ece9d31a/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= @@ -1105,7 +1055,6 @@ golang.org/x/mobile v0.0.0-20190312151609-d3739f865fa6/go.mod h1:z+o9i4GpDbdi3rU golang.org/x/mobile v0.0.0-20190719004257-d2bd2a29d028/go.mod h1:E/iHnbuqvinMTCcRqshq8CkpyQDoeVncDDYHnLhea+o= golang.org/x/mod v0.0.0-20190513183733-4bf6d317e70e/go.mod h1:mXi4GBBbnImb6dmsKGUJ2LatrhH/nqhxcFungHvyanc= golang.org/x/mod v0.1.0/go.mod h1:0QHyrYULN0/3qlju5TqG8bIK38QM8yzMo5ekMj3DlcY= -golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee h1:WG0RUwxtNT4qqaXX3DPA8zHFNm/D9xaBpxzHt1WcA/E= golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= golang.org/x/mod v0.2.0 h1:KU7oHjnv3XNWfa5COkzUifxZmxp1TyI7ImMXqFxLwvQ= golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= @@ -1140,9 +1089,7 @@ golang.org/x/net v0.0.0-20190522155817-f3200d17e092/go.mod h1:HSz+uSET+XFnRR8LxR golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks= golang.org/x/net v0.0.0-20190613194153-d28f0bde5980/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20190813141303-74dc4d7220e7 h1:fHDIZ2oxGnUZRN6WgWFCbYBjH9uqVPRCUVUDhs0wnbA= golang.org/x/net v0.0.0-20190813141303-74dc4d7220e7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200202094626-16171245cfb2 h1:CCH4IOTTfewWjGOlSp+zGcjutRKlBEZQ6wTn8ozI/nI= golang.org/x/net v0.0.0-20200202094626-16171245cfb2/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200219183655-46282727080f/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200226121028-0de0cce0169b h1:0mm1VjtFUOIlE1SbDlwjYaDxZVDP2S5ou6y0gSgXHu8= @@ -1159,7 +1106,6 @@ golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190412183630-56d357773e84/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e h1:vcxGaoTs7kV8m5Np9uUNQin4BrLOthgV7252N8V+FwY= golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20200317015054-43a5402ce75a h1:WXEvlFVvvGxCJLG6REjsT03iWnKLEWinaScsxF2Vm2o= golang.org/x/sync v0.0.0-20200317015054-43a5402ce75a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -1209,7 +1155,6 @@ golang.org/x/sys v0.0.0-20190606165138-5da285871e9c/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190813064441-fde4db37ae7a/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191008105621-543471e840be/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191026070338-33540a1f6037 h1:YyJpGZS1sBuBCzLAR1VEpK193GlqGZbnPFnPV/5Rsb4= golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200116001909-b77594299b42/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200202164722-d101bd2416d5 h1:LfCXLvNmTYH9kEmVgqbnsWfruoXZIrh4YBgqVHtDvw0= @@ -1304,7 +1249,6 @@ golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtn golang.org/x/tools v0.0.0-20191224055732-dd894d0a8a40/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200117220505-0cba7a3a9ee9/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200131211209-ecb101ed6550/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200308013534-11ec41452d41 h1:9Di9iYgOt9ThCipBxChBVhgNipDoE5mxO84rQV7D0FE= golang.org/x/tools v0.0.0-20200308013534-11ec41452d41/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw= golang.org/x/tools v0.0.0-20200323192200-8849913b6971 h1:7xTjEBkQgB1qdLZddETld2Flxf5D/U848jdOyhu39TE= golang.org/x/tools v0.0.0-20200323192200-8849913b6971/go.mod h1:Sl4aGygMT6LrqrWclx+PTx3U+LnKx/seiNR+3G19Ar8= @@ -1328,7 +1272,6 @@ google.golang.org/appengine v1.3.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7 google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= google.golang.org/appengine v1.6.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= -google.golang.org/appengine v1.6.1 h1:QzqyMA1tlu6CgqCDUtU9V+ZKhLFT2dkJuANu5QaxI3I= google.golang.org/appengine v1.6.1/go.mod h1:i06prIuMbXzDqacNJfV5OdTW448YApPu5ww/cMBSeb0= 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= @@ -1355,12 +1298,10 @@ gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLks gopkg.in/alexcesaro/quotedprintable.v3 v3.0.0-20150716171945-2caba252f4dc h1:2gGKlE2+asNV9m7xrywl36YYNnBG5ZQ0r/BOOxqPpmk= gopkg.in/alexcesaro/quotedprintable.v3 v3.0.0-20150716171945-2caba252f4dc/go.mod h1:m7x9LTH6d71AHyAX77c9yqWCCa3UKHcVEj9y7hAtKDk= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127 h1:qIbj1fsPNlZgppZ+VLlY7N33q108Sa+fhmuc+sWQYwY= gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15 h1:YR8cESwS4TdDjEe65xsg0ogRM/Nc3DYOhEAlW+xobZo= gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= -gopkg.in/fsnotify.v1 v1.4.7 h1:xOHLXZwVvI9hhs+cLKq5+I5onOuwQLhQwiu63xxlHs4= gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys= gopkg.in/gemnasium/logrus-airbrake-hook.v2 v2.1.2/go.mod h1:Xk6kEKp8OKb+X14hQBKWaSkCsqBpgog8nAV2xsGOxlo= gopkg.in/gomail.v2 v2.0.0-20160411212932-81ebce5c23df/go.mod h1:LRQQ+SO6ZHR7tOkpBDuZnXENFzX8qRjMDMyPD6BRkCw= @@ -1370,13 +1311,11 @@ gopkg.in/ini.v1 v1.51.0 h1:AQvPpx3LzTDM0AjnIRlVFwFFGC+npRopjZxLJj6gdno= gopkg.in/ini.v1 v1.51.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= gopkg.in/mail.v2 v2.0.0-20180731213649-a0242b2233b4/go.mod h1:htwXN1Qh09vZJ1NVKxQqHPBaCBbzKhp5GzuJEA4VJWw= gopkg.in/resty.v1 v1.12.0/go.mod h1:mDo4pnntr5jdWRML875a/NmxYqAlA73dVijT2AXvQQo= -gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 h1:uRGJdciOHaEIrze2W8Q3AKkepLTh2hOroT7a+7czfdQ= gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw= gopkg.in/yaml.v2 v2.0.0-20170812160011-eb3733d160e7/go.mod h1:JAlM8MvJe8wmxCU4Bli9HhUf9+ttbYbLASfIpnQbh74= gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.2.7 h1:VUgggvou5XRW9mHwD/yXxIYSMtY0zoKQf/v226p2nyo= gopkg.in/yaml.v2 v2.2.7/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.8 h1:obN1ZagJSUGI0Ek/LBmuj4SNLPfIny3KsKFopxRdj10= gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= From 8d604419136d68a4b8c0cb5e09407dc6caad13c2 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 11 Mar 2021 08:18:12 -0500 Subject: [PATCH 37/64] Bump elliptic from 6.5.3 to 6.5.4 in /genny/build/_fixtures/coke (#2088) * Update 'goreleaser' config to use new syntax (#2079) Previous config used `brews`, which has been deprecated and superseded by `tap`: https://goreleaser.com/deprecations/#brewsgithub * Bump elliptic from 6.5.3 to 6.5.4 in /genny/build/_fixtures/coke Bumps [elliptic](https://github.com/indutny/elliptic) from 6.5.3 to 6.5.4. - [Release notes](https://github.com/indutny/elliptic/releases) - [Commits](https://github.com/indutny/elliptic/compare/v6.5.3...v6.5.4) Signed-off-by: dependabot[bot] Co-authored-by: Adriano Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .goreleaser.yml | 2 +- genny/build/_fixtures/coke/yarn.lock | 32 ++++++++++++++-------------- 2 files changed, 17 insertions(+), 17 deletions(-) diff --git a/.goreleaser.yml b/.goreleaser.yml index ce7fef0ce..6e132e7bb 100644 --- a/.goreleaser.yml +++ b/.goreleaser.yml @@ -38,7 +38,7 @@ changelog: brews: - name: 'buffalo' - github: + tap: owner: 'gobuffalo' name: 'homebrew-tap' install: | diff --git a/genny/build/_fixtures/coke/yarn.lock b/genny/build/_fixtures/coke/yarn.lock index 6d2a8cef6..febb9f7fb 100644 --- a/genny/build/_fixtures/coke/yarn.lock +++ b/genny/build/_fixtures/coke/yarn.lock @@ -1296,10 +1296,10 @@ bluebird@^3.5.5: resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.7.2.tgz#9f229c15be272454ffa973ace0dbee79a1b0c36f" integrity sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg== -bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.4.0: - version "4.11.9" - resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.9.tgz#26d556829458f9d1e81fc48952493d0ba3507828" - integrity sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw== +bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.11.9: + version "4.12.0" + resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.12.0.tgz#775b3f278efbb9718eec7361f483fb36fbbfea88" + integrity sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA== bn.js@^5.1.1: version "5.1.3" @@ -1352,7 +1352,7 @@ braces@^3.0.1, braces@~3.0.2: dependencies: fill-range "^7.0.1" -brorand@^1.0.1: +brorand@^1.0.1, brorand@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f" integrity sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8= @@ -2104,17 +2104,17 @@ electron-to-chromium@^1.3.413: integrity sha512-2fvco0F2bBIgqzO8GRP0Jt/91pdrf9KfZ5FsmkYkjERmIJG585cFeFZV4+CO6oTmU3HmCTgfcZuEa7kW8VUh3A== elliptic@^6.5.3: - version "6.5.3" - resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.3.tgz#cb59eb2efdaf73a0bd78ccd7015a62ad6e0f93d6" - integrity sha512-IMqzv5wNQf+E6aHeIqATs0tOLeOTwj1QKbRcS3jBbYkl5oLAserA8yJTT7/VyHUYG91PRmPyeQDObKLPpeS4dw== + version "6.5.4" + resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.4.tgz#da37cebd31e79a1367e941b592ed1fbebd58abbb" + integrity sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ== dependencies: - bn.js "^4.4.0" - brorand "^1.0.1" + bn.js "^4.11.9" + brorand "^1.1.0" hash.js "^1.0.0" - hmac-drbg "^1.0.0" - inherits "^2.0.1" - minimalistic-assert "^1.0.0" - minimalistic-crypto-utils "^1.0.0" + hmac-drbg "^1.0.1" + inherits "^2.0.4" + minimalistic-assert "^1.0.1" + minimalistic-crypto-utils "^1.0.1" emoji-regex@^7.0.1: version "7.0.3" @@ -2788,7 +2788,7 @@ hash.js@^1.0.0, hash.js@^1.0.3: inherits "^2.0.3" minimalistic-assert "^1.0.1" -hmac-drbg@^1.0.0: +hmac-drbg@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1" integrity sha1-0nRXAQJabHdabFRXk+1QL8DGSaE= @@ -3562,7 +3562,7 @@ minimalistic-assert@^1.0.0, minimalistic-assert@^1.0.1: resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7" integrity sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A== -minimalistic-crypto-utils@^1.0.0, minimalistic-crypto-utils@^1.0.1: +minimalistic-crypto-utils@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a" integrity sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo= From 5c8d60b922afd81db8f68e7cd337d93273328393 Mon Sep 17 00:00:00 2001 From: Antonio Pagano Date: Sun, 25 Apr 2021 11:59:25 -0400 Subject: [PATCH 38/64] updating plush and helpers package --- go.mod | 4 ++-- go.sum | 4 ++++ 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/go.mod b/go.mod index 6e4a7e416..c6c44f6a4 100644 --- a/go.mod +++ b/go.mod @@ -14,14 +14,14 @@ require ( github.com/gobuffalo/flect v0.2.2 github.com/gobuffalo/genny/v2 v2.0.6 github.com/gobuffalo/github_flavored_markdown v1.1.0 - github.com/gobuffalo/helpers v0.6.1 + github.com/gobuffalo/helpers v0.6.2 github.com/gobuffalo/httptest v1.5.0 github.com/gobuffalo/logger v1.0.3 github.com/gobuffalo/meta v0.3.0 github.com/gobuffalo/nulls v0.2.0 github.com/gobuffalo/packd v1.0.0 github.com/gobuffalo/packr/v2 v2.8.0 - github.com/gobuffalo/plush/v4 v4.0.0 + github.com/gobuffalo/plush/v4 v4.1.4 github.com/gobuffalo/pop/v5 v5.0.11 github.com/gobuffalo/tags/v3 v3.1.0 github.com/google/go-cmp v0.4.0 diff --git a/go.sum b/go.sum index 764691d2f..f250930ec 100644 --- a/go.sum +++ b/go.sum @@ -321,6 +321,8 @@ github.com/gobuffalo/helpers v0.5.0/go.mod h1:stpgxJ2C7T99NLyAxGUnYMM2zAtBk5NKQR github.com/gobuffalo/helpers v0.6.0/go.mod h1:pncVrer7x/KRvnL5aJABLAuT/RhKRR9klL6dkUOhyv8= github.com/gobuffalo/helpers v0.6.1 h1:LLcL4BsiyDQYtMRUUpyFdBFvFXQ6hNYOpwrcYeilVWM= github.com/gobuffalo/helpers v0.6.1/go.mod h1:wInbDi0vTJKZBviURTLRMFLE4+nF2uRuuL2fnlYo7w4= +github.com/gobuffalo/helpers v0.6.2 h1:0caYR4GAtgZ/O0vTU2uyoMxtqRXUcKaIyRlRnw0GRgw= +github.com/gobuffalo/helpers v0.6.2/go.mod h1:wInbDi0vTJKZBviURTLRMFLE4+nF2uRuuL2fnlYo7w4= github.com/gobuffalo/here v0.2.3/go.mod h1:2a6G14FaAKOGJMK/5UNa4Og/+iyFS5cq3MnlvFR7YDk= github.com/gobuffalo/here v0.4.0/go.mod h1:bTNk/uKZgycuB358iR0D32dI9kHBClBGpXjW2HVHkNo= github.com/gobuffalo/here v0.5.1/go.mod h1:wAG085dHOYqUpf+Ap+WOdrPTp5IYcDAs/x7PLa8Y5fM= @@ -487,6 +489,8 @@ github.com/gobuffalo/plush v3.8.3+incompatible h1:kzvUTnFPhwyfPEsx7U7LI05/IIslZV github.com/gobuffalo/plush v3.8.3+incompatible/go.mod h1:rQ4zdtUUyZNqULlc6bqd5scsPfLKfT0+TGMChgduDvI= github.com/gobuffalo/plush/v4 v4.0.0 h1:ZHdmfr2R7DQ77XzWZK2PGKJOXm9NRy21EZ6Rw7FhuNw= github.com/gobuffalo/plush/v4 v4.0.0/go.mod h1:ErFS3UxKqEb8fpFJT7lYErfN/Nw6vHGiDMTjxpk5bQ0= +github.com/gobuffalo/plush/v4 v4.1.4 h1:x/B1hbwiO+Mh4JsoNdHtQXVoYhKjqUBw9u/ARxiFY3Y= +github.com/gobuffalo/plush/v4 v4.1.4/go.mod h1:ErFS3UxKqEb8fpFJT7lYErfN/Nw6vHGiDMTjxpk5bQ0= github.com/gobuffalo/plushgen v0.0.0-20181128164830-d29dcb966cb2/go.mod h1:r9QwptTFnuvSaSRjpSp4S2/4e2D3tJhARYbvEBcKSb4= github.com/gobuffalo/plushgen v0.0.0-20181203163832-9fc4964505c2/go.mod h1:opEdT33AA2HdrIwK1aibqnTJDVVKXC02Bar/GT1YRVs= github.com/gobuffalo/plushgen v0.0.0-20181207152837-eedb135bd51b/go.mod h1:Lcw7HQbEVm09sAQrCLzIxuhFbB3nAgp4c55E+UlynR0= From 5912e1c329456a9fffa71f7f63923bbb99df6498 Mon Sep 17 00:00:00 2001 From: Antonio Pagano Date: Sun, 25 Apr 2021 12:18:33 -0400 Subject: [PATCH 39/64] adding latest plush --- go.mod | 4 ++-- go.sum | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 50 insertions(+), 2 deletions(-) diff --git a/go.mod b/go.mod index c6c44f6a4..917858f84 100644 --- a/go.mod +++ b/go.mod @@ -22,13 +22,13 @@ require ( github.com/gobuffalo/packd v1.0.0 github.com/gobuffalo/packr/v2 v2.8.0 github.com/gobuffalo/plush/v4 v4.1.4 - github.com/gobuffalo/pop/v5 v5.0.11 + github.com/gobuffalo/pop/v5 v5.3.3 github.com/gobuffalo/tags/v3 v3.1.0 github.com/google/go-cmp v0.4.0 github.com/gorilla/handlers v1.4.2 github.com/gorilla/mux v1.7.4 github.com/gorilla/sessions v1.2.0 - github.com/karrick/godirwalk v1.15.5 + github.com/karrick/godirwalk v1.16.1 github.com/markbates/grift v1.5.0 github.com/markbates/oncer v1.0.0 github.com/markbates/refresh v1.11.1 diff --git a/go.sum b/go.sum index f250930ec..52dc05088 100644 --- a/go.sum +++ b/go.sum @@ -228,6 +228,8 @@ github.com/gobuffalo/fizz v1.9.2/go.mod h1:XJb7Do1keOPkaJnJ48OCjV+7ABQ7mbOqui2Wf github.com/gobuffalo/fizz v1.9.5/go.mod h1:v9cFl56oXm+hNNayTsIQHnq209bTDUbIM8GYWCJw3TE= github.com/gobuffalo/fizz v1.9.8 h1:K0uXVQ/hF1NaETpW++bTvK4A+42GCioKzpvdtSfkiRM= github.com/gobuffalo/fizz v1.9.8/go.mod h1:w1FEn1yKNVCc49KnADGyYGRPH7jFON3ak4Bj1yUudHo= +github.com/gobuffalo/fizz v1.10.0 h1:I8vad0PnmR+CLjSnZ5L5jlhBm4S88UIGOoZZL3/3e24= +github.com/gobuffalo/fizz v1.10.0/go.mod h1:J2XGPO0AfJ1zKw7+2BA+6FEGAkyEsdCOLvN93WCT2WI= github.com/gobuffalo/flect v0.0.0-20180907193754-dc14d8acaf9f/go.mod h1:rCiQgmAE4axgBNl3jZWzS5rETRYTGOsrixTRaCPzNdA= github.com/gobuffalo/flect v0.0.0-20181002182613-4571df4b1daf/go.mod h1:rCiQgmAE4axgBNl3jZWzS5rETRYTGOsrixTRaCPzNdA= github.com/gobuffalo/flect v0.0.0-20181007231023-ae7ed6bfe683/go.mod h1:rCiQgmAE4axgBNl3jZWzS5rETRYTGOsrixTRaCPzNdA= @@ -526,6 +528,8 @@ github.com/gobuffalo/pop v4.13.1+incompatible/go.mod h1:DwBz3SD5SsHpTZiTubcsFWcV github.com/gobuffalo/pop/v5 v5.0.9/go.mod h1:mZJHJbA3cy2V18abXYuVop2ldEJ8UZ2DK6qOekC5u5g= github.com/gobuffalo/pop/v5 v5.0.11 h1:BzSFbylk6+w2pEj+8yFHPxsShiJvg6ZV8rcAPNVdmtw= github.com/gobuffalo/pop/v5 v5.0.11/go.mod h1:mZJHJbA3cy2V18abXYuVop2ldEJ8UZ2DK6qOekC5u5g= +github.com/gobuffalo/pop/v5 v5.3.3 h1:L8TRyREUSO2Jtai3DeqnPTHV0AOAMZYyf6TaVsLBVsc= +github.com/gobuffalo/pop/v5 v5.3.3/go.mod h1:Ey1hqzDLkWQKNEfsnafaz+3P1h/TrS++W9PmpGsNxvk= github.com/gobuffalo/release v1.0.35/go.mod h1:VtHFAKs61vO3wboCec5xr9JPTjYyWYcvaM3lclkc4x4= github.com/gobuffalo/release v1.0.38/go.mod h1:VtHFAKs61vO3wboCec5xr9JPTjYyWYcvaM3lclkc4x4= github.com/gobuffalo/release v1.0.42/go.mod h1:RPs7EtafH4oylgetOJpGP0yCZZUiO4vqHfTHJjSdpug= @@ -677,6 +681,11 @@ github.com/jackc/pgconn v1.0.1/go.mod h1:GgY/Lbj1VonNaVdNUHs9AwWom3yP2eymFQ1C8z9 github.com/jackc/pgconn v1.3.1/go.mod h1:2Ze5IP7prCiM28C4nc5LUoRaSyMDYZFE32L4gMJVtcU= github.com/jackc/pgconn v1.3.2 h1:9UIGICxEAW70RQDGilGwsCG63NCcm5amjuBQCFzrmsw= github.com/jackc/pgconn v1.3.2/go.mod h1:LvCquS3HbBKwgl7KbX9KyqEIumJAbm1UMcTvGaIf3bM= +github.com/jackc/pgconn v1.4.0/go.mod h1:Y2O3ZDF0q4mMacyWV3AstPJpeHXWGEetiFttmq5lahk= +github.com/jackc/pgconn v1.5.0/go.mod h1:QeD3lBfpTFe8WUnPZWN5KY/mB8FGMIYRdd8P8Jr0fAI= +github.com/jackc/pgconn v1.5.1-0.20200601181101-fa742c524853/go.mod h1:QeD3lBfpTFe8WUnPZWN5KY/mB8FGMIYRdd8P8Jr0fAI= +github.com/jackc/pgconn v1.8.0 h1:FmjZ0rOyXTr1wfWs45i4a9vjnjWUAGpMuQLD9OSs+lw= +github.com/jackc/pgconn v1.8.0/go.mod h1:1C2Pb36bGIP9QHGBYCjnyhqu7Rv3sGshaQUvmfGIB/o= github.com/jackc/pgio v1.0.0 h1:g12B9UwVnzGhueNavwioyEEpAmqMe1E/BN9ES+8ovkE= github.com/jackc/pgio v1.0.0/go.mod h1:oP+2QK2wFfUWgr+gxjoBH9KGBb31Eio69xUb0w5bYf8= github.com/jackc/pgmock v0.0.0-20190831213851-13a1b77aafa2 h1:JVX6jT/XfzNqIjye4717ITLaNwV9mWbJx0dLCpcRzdA= @@ -692,17 +701,36 @@ github.com/jackc/pgproto3/v2 v2.0.0-rc3.0.20190831210041-4c03ce451f29/go.mod h1: github.com/jackc/pgproto3/v2 v2.0.0/go.mod h1:ryONWYqW6dqSg1Lw6vXNMXoBJhpzvWKnT95C46ckYeM= github.com/jackc/pgproto3/v2 v2.0.1 h1:Rdjp4NFjwHnEslx2b66FfCI2S0LhO4itac3hXz6WX9M= github.com/jackc/pgproto3/v2 v2.0.1/go.mod h1:WfJCnwN3HIg9Ish/j3sgWXnAfK8A9Y0bwXYU5xKaEdA= +github.com/jackc/pgproto3/v2 v2.0.6 h1:b1105ZGEMFe7aCvrT1Cca3VoVb4ZFMaFJLJcg/3zD+8= +github.com/jackc/pgproto3/v2 v2.0.6/go.mod h1:WfJCnwN3HIg9Ish/j3sgWXnAfK8A9Y0bwXYU5xKaEdA= +github.com/jackc/pgservicefile v0.0.0-20200307190119-3430c5407db8/go.mod h1:vsD4gTJCa9TptPL8sPkXrLZ+hDuNrZCnj29CQpr4X1E= +github.com/jackc/pgservicefile v0.0.0-20200714003250-2b9c44734f2b h1:C8S2+VttkHFdOOCXJe+YGfa4vHYwlt4Zx+IVXQ97jYg= +github.com/jackc/pgservicefile v0.0.0-20200714003250-2b9c44734f2b/go.mod h1:vsD4gTJCa9TptPL8sPkXrLZ+hDuNrZCnj29CQpr4X1E= github.com/jackc/pgtype v0.0.0-20190421001408-4ed0de4755e0/go.mod h1:hdSHsc1V01CGwFsrv11mJRHWJ6aifDLfdV3aVjFF0zg= github.com/jackc/pgtype v0.0.0-20190824184912-ab885b375b90/go.mod h1:KcahbBH1nCMSo2DXpzsoWOAfFkdEtEJpPbVLq8eE+mc= github.com/jackc/pgtype v0.0.0-20190828014616-a8802b16cc59/go.mod h1:MWlu30kVJrUS8lot6TQqcg7mtthZ9T0EoIBFiJcmcyw= +github.com/jackc/pgtype v1.2.0/go.mod h1:5m2OfMh1wTK7x+Fk952IDmI4nw3nPrvtQdM0ZT4WpC0= +github.com/jackc/pgtype v1.3.1-0.20200510190516-8cd94a14c75a/go.mod h1:vaogEUkALtxZMCH411K+tKzNpwzCKU+AnPzBKZ+I+Po= +github.com/jackc/pgtype v1.3.1-0.20200606141011-f6355165a91c/go.mod h1:cvk9Bgu/VzJ9/lxTO5R5sf80p0DiucVtN7ZxvaC4GmQ= +github.com/jackc/pgtype v1.6.2 h1:b3pDeuhbbzBYcg5kwNmNDun4pFUD/0AAr1kLXZLeNt8= +github.com/jackc/pgtype v1.6.2/go.mod h1:JCULISAZBFGrHaOXIIFiyfzW5VY0GRitRr8NeJsrdig= github.com/jackc/pgx v3.2.0+incompatible/go.mod h1:0ZGrqGqkRlliWnWB4zKnWtjbSWbGkVEFm4TeybAXq+I= github.com/jackc/pgx v3.3.0+incompatible/go.mod h1:0ZGrqGqkRlliWnWB4zKnWtjbSWbGkVEFm4TeybAXq+I= +github.com/jackc/pgx v3.5.0+incompatible h1:BRJ4G3UPtvml5R1ey0biqqGuYUGayMYekm3woO75orY= github.com/jackc/pgx v3.5.0+incompatible/go.mod h1:0ZGrqGqkRlliWnWB4zKnWtjbSWbGkVEFm4TeybAXq+I= github.com/jackc/pgx/v4 v4.0.0-20190420224344-cc3461e65d96/go.mod h1:mdxmSJJuR08CZQyj1PVQBHy9XOp5p8/SHH6a0psbY9Y= github.com/jackc/pgx/v4 v4.0.0-20190421002000-1b8f0016e912/go.mod h1:no/Y67Jkk/9WuGR0JG/JseM9irFbnEPbuWV2EELPNuM= github.com/jackc/pgx/v4 v4.0.0-pre1.0.20190824185557-6972a5742186/go.mod h1:X+GQnOEnf1dqHGpw7JmHqHc1NxDoalibchSk9/RWuDc= +github.com/jackc/pgx/v4 v4.5.0/go.mod h1:EpAKPLdnTorwmPUUsqrPxy5fphV18j9q3wrfRXgo+kA= +github.com/jackc/pgx/v4 v4.6.1-0.20200510190926-94ba730bb1e9/go.mod h1:t3/cdRQl6fOLDxqtlyhe9UWgfIi9R8+8v8GKV5TRA/o= +github.com/jackc/pgx/v4 v4.6.1-0.20200606145419-4e5062306904/go.mod h1:ZDaNWkt9sW1JMiNn0kdYBaLelIhw7Pg4qd+Vk6tw7Hg= +github.com/jackc/pgx/v4 v4.10.1 h1:/6Q3ye4myIj6AaplUm+eRcz4OhK9HAvFf4ePsG40LJY= +github.com/jackc/pgx/v4 v4.10.1/go.mod h1:QlrWebbs3kqEZPHCTGyxecvzG6tvIsYu+A5b1raylkA= github.com/jackc/puddle v0.0.0-20190413234325-e4ced69a3a2b/go.mod h1:m4B5Dj62Y0fbyuIc15OsIqK0+JU8nkqQjsgx7dvjSWk= github.com/jackc/puddle v0.0.0-20190608224051-11cab39313c9/go.mod h1:m4B5Dj62Y0fbyuIc15OsIqK0+JU8nkqQjsgx7dvjSWk= +github.com/jackc/puddle v1.1.0/go.mod h1:m4B5Dj62Y0fbyuIc15OsIqK0+JU8nkqQjsgx7dvjSWk= +github.com/jackc/puddle v1.1.1/go.mod h1:m4B5Dj62Y0fbyuIc15OsIqK0+JU8nkqQjsgx7dvjSWk= +github.com/jackc/puddle v1.1.3/go.mod h1:m4B5Dj62Y0fbyuIc15OsIqK0+JU8nkqQjsgx7dvjSWk= github.com/jellevandenhooff/dkim v0.0.0-20150330215556-f50fe3d243e1/go.mod h1:E0B/fFc00Y+Rasa88328GlI/XbtyysCtTHZS8h7IrBU= github.com/jmoiron/sqlx v0.0.0-20180614180643-0dae4fefe7c0/go.mod h1:IiEW3SEiiErVyFdH8NTuWjSifiEQKUoyK3LNqr2kCHU= github.com/jmoiron/sqlx v1.2.0 h1:41Ip0zITnmWNR/vHV+S4m+VoUivnWY5E4OJfLZjCJMA= @@ -727,6 +755,7 @@ github.com/karrick/godirwalk v1.15.2/go.mod h1:j4mkqPuvaLI8mp1DroR3P6ad7cyYd4c1q github.com/karrick/godirwalk v1.15.3/go.mod h1:j4mkqPuvaLI8mp1DroR3P6ad7cyYd4c1qeJ3RV7ULlk= github.com/karrick/godirwalk v1.15.5 h1:ErdAEFW/cKxQ5+9Gm/hopxB8ki21/di+vyNb9mHnHrA= github.com/karrick/godirwalk v1.15.5/go.mod h1:j4mkqPuvaLI8mp1DroR3P6ad7cyYd4c1qeJ3RV7ULlk= +github.com/karrick/godirwalk v1.16.1/go.mod h1:j4mkqPuvaLI8mp1DroR3P6ad7cyYd4c1qeJ3RV7ULlk= github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51 h1:Z9n2FFNUXsshfwJMBgNA0RU6/i7WVaAegv3PtuIHPMs= github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51/go.mod h1:CzGEWj7cYgsdH8dAjBGEr58BoE7ScuLd+fwFZ44+/x8= github.com/kisielk/errcheck v1.1.0/go.mod h1:EZBBE59ingxPouuu3KfxchcWSUPOHkagtvWXihfKN4Q= @@ -749,6 +778,8 @@ github.com/lib/pq v1.1.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= github.com/lib/pq v1.2.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= github.com/lib/pq v1.3.0 h1:/qkRGz8zljWiDcFvgpwUpwIAPu3r07TDvs3Rws+o/pU= github.com/lib/pq v1.3.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= +github.com/luna-duclos/instrumentedsql v1.1.3 h1:t7mvC0z1jUt5A0UQ6I/0H31ryymuQRnJcWCiqV3lSAA= +github.com/luna-duclos/instrumentedsql v1.1.3/go.mod h1:9J1njvFds+zN7y85EDhN9XNQLANWwZt2ULeIC8yMNYs= github.com/magiconair/properties v1.8.0/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ= github.com/magiconair/properties v1.8.1 h1:ZC2Vc7/ZFkGmsVC9KvOjumD+G5lXy2RtTKyzRKO2BQ4= github.com/magiconair/properties v1.8.1/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ= @@ -800,6 +831,8 @@ github.com/mattn/go-colorable v0.1.1/go.mod h1:FuOcm+DKB9mbwrcAfNl7/TZVBZ6rcncea github.com/mattn/go-colorable v0.1.2/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE= github.com/mattn/go-colorable v0.1.4 h1:snbPLB8fVfU9iwbbo30TPtbLRzwWu6aJS6Xh4eaaviA= github.com/mattn/go-colorable v0.1.4/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE= +github.com/mattn/go-colorable v0.1.6 h1:6Su7aK7lXmJ/U79bYtBjLNaha4Fs1Rg9plHpcH+vvnE= +github.com/mattn/go-colorable v0.1.6/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= github.com/mattn/go-isatty v0.0.3/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= github.com/mattn/go-isatty v0.0.4/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= github.com/mattn/go-isatty v0.0.5/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s= @@ -902,6 +935,7 @@ github.com/sergi/go-diff v1.0.0/go.mod h1:0CfEIISq7TuYL3j771MWULgwwjU+GofnZX9QAm github.com/sergi/go-diff v1.1.0 h1:we8PVUC3FE2uYfodKH/nBHMSetSfHDR6scGdBi+erh0= github.com/sergi/go-diff v1.1.0/go.mod h1:STckp+ISIX8hZLjrqAeVduY0gWCT9IjLuqbuNXdaHfM= github.com/shopspring/decimal v0.0.0-20180709203117-cd690d0c9e24/go.mod h1:M+9NzErvs504Cn4c5DxATwIqPbtswREoFCre64PpcG4= +github.com/shopspring/decimal v0.0.0-20200227202807-02e2044944cc/go.mod h1:DKyhrW/HYNuLGql+MJL6WCR6knT2jwCFRcu2hWCYk4o= github.com/shurcooL/component v0.0.0-20170202220835-f88ec8f54cc4/go.mod h1:XhFIlyj5a1fBNx5aJTbKoIq0mNaPvOagO+HjB3EtxrY= github.com/shurcooL/events v0.0.0-20181021180414-410e4ca65f48/go.mod h1:5u70Mqkb5O5cxEA8nxTsgrgLehJeAw6Oc4Ab1c/P1HM= github.com/shurcooL/github_flavored_markdown v0.0.0-20181002035957-2122de532470/go.mod h1:2dOwnU2uBioM+SGy2aZoq1f/Sd1l9OkAeAUvjSyvgU0= @@ -1001,7 +1035,10 @@ go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU= go.opencensus.io v0.22.0/go.mod h1:+kGneAE2xo2IficOXnaByMWTGM9T73dGwxeWcUqIpI8= go.uber.org/atomic v1.3.2/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= go.uber.org/atomic v1.4.0/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= +go.uber.org/atomic v1.6.0/go.mod h1:sABNBOSYdrvTF6hTgEIbc7YasKWGhgEQZyfxyTvoXHQ= go.uber.org/multierr v1.1.0/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/0= +go.uber.org/multierr v1.5.0/go.mod h1:FeouvMocqHpRaaGuG9EjoKcStLC43Zu/fmqdUMPcKYU= +go.uber.org/tools v0.0.0-20190618225709-2cfd321de3ee/go.mod h1:vJERXedbb3MVM5f9Ejo0C68/HhF8uaILCdgjnY+goOA= go.uber.org/zap v1.9.1/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q= go.uber.org/zap v1.10.0/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q= go4.org v0.0.0-20180809161055-417644f6feb5/go.mod h1:MkTOUMDaeVYJUOUsaDXIhWPZYa1yOyC1qaOBpL57BhE= @@ -1036,10 +1073,14 @@ golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8U golang.org/x/crypto v0.0.0-20190611184440-5c40567a22f8/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20190621222207-cc06ce4a13d4/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20190820162420-60c769a6c586/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20190911031432-227b76d455e7/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20191122220453-ac88ee75c92c/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20200206161412-a0c6ece9d31a h1:aczoJ0HPNE92XKa7DrIzkNN6esOKO2TBwiiYoKcINhA= golang.org/x/crypto v0.0.0-20200206161412-a0c6ece9d31a/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +golang.org/x/crypto v0.0.0-20200323165209-0ec3e9974c59/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9 h1:psW17arqaxU48Z5kZ0CQnkZWQJsqcURM6tKiBApRjXI= +golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= @@ -1158,15 +1199,20 @@ golang.org/x/sys v0.0.0-20190515120540-06a5c4944438/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20190606165138-5da285871e9c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190813064441-fde4db37ae7a/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190826190057-c7b8b68b1456/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191008105621-543471e840be/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200116001909-b77594299b42/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200202164722-d101bd2416d5 h1:LfCXLvNmTYH9kEmVgqbnsWfruoXZIrh4YBgqVHtDvw0= golang.org/x/sys v0.0.0-20200202164722-d101bd2416d5/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae h1:/WDfKMnPU+m5M4xB+6x4kaepxRw6jWvR5iDRdvjHgy8= +golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.2 h1:tW2bmiBqwgJj/UpqtC8EpXEZVYOwU0yG4iWbprSVAcs= golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= +golang.org/x/text v0.3.3 h1:cokOdA+Jmi5PJGXLlLllQSgYigAEfHXJAERHVMaCc2k= +golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/time v0.0.0-20180412165947-fbb02b2291d2/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= @@ -1248,6 +1294,8 @@ golang.org/x/tools v0.0.0-20190911174233-4f2ddba30aff/go.mod h1:b+2E5dAYhXwXZwtn golang.org/x/tools v0.0.0-20191004055002-72853e10c5a3/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191012152004-8de300cfc20a/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191015150414-f936694f27bf/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191029041327-9cc4af7d6b2c/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191029190741-b9c20aec41a5/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191112195655-aa38f8e97acc/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191224055732-dd894d0a8a40/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= From c04d065f994852f584587252e260f683269ac168 Mon Sep 17 00:00:00 2001 From: Antonio Pagano Date: Sun, 25 Apr 2021 13:23:16 -0400 Subject: [PATCH 40/64] updating version --- Dockerfile.build | 2 +- Dockerfile.slim.build | 2 +- runtime/version.go | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Dockerfile.build b/Dockerfile.build index 3172b822b..e0efe1512 100644 --- a/Dockerfile.build +++ b/Dockerfile.build @@ -32,7 +32,7 @@ RUN npm install -g --no-progress yarn \ # Install golangci RUN curl -sfL https://install.goreleaser.com/github.com/golangci/golangci-lint.sh | sh -s -- -b $(go env GOPATH)/bin v1.24.0 # Installing buffalo binary -RUN curl -sf https://gobinaries.com/gobuffalo/buffalo/buffalo@v0.16.20 | sh +RUN curl -sf https://gobinaries.com/gobuffalo/buffalo/buffalo@v0.16.22 | sh RUN go get github.com/gobuffalo/buffalo-pop/v2 RUN buffalo version diff --git a/Dockerfile.slim.build b/Dockerfile.slim.build index 1e16f9701..c5e792ff9 100644 --- a/Dockerfile.slim.build +++ b/Dockerfile.slim.build @@ -17,7 +17,7 @@ RUN npm i -g --no-progress yarn \ && yarn config set yarn-offline-mirror-pruning true # Pulling docker binary from releases -RUN curl -sf https://gobinaries.com/gobuffalo/buffalo/buffalo@v0.16.20| sh +RUN curl -sf https://gobinaries.com/gobuffalo/buffalo/buffalo@v0.16.22| sh RUN go get github.com/gobuffalo/buffalo-pop/v2 RUN buffalo version diff --git a/runtime/version.go b/runtime/version.go index a287a7f10..84e7db05b 100644 --- a/runtime/version.go +++ b/runtime/version.go @@ -1,4 +1,4 @@ package runtime // Version is the current version of the buffalo binary -var Version = "v0.16.20" +var Version = "v0.16.22" From 2cfd340c655d8967c7fc97eb91f1c8cf656ae566 Mon Sep 17 00:00:00 2001 From: Antonio Pagano Date: Mon, 26 Apr 2021 08:48:36 -0400 Subject: [PATCH 41/64] packing missing --- genny/actions/actions-packr.go | 2 +- genny/assets/standard/standard-packr.go | 2 +- genny/assets/webpack/webpack-packr.go | 2 +- genny/build/build-packr.go | 2 +- genny/ci/ci-packr.go | 2 +- genny/docker/docker-packr.go | 2 +- genny/mail/mail-packr.go | 2 +- genny/newapp/api/api-packr.go | 2 +- genny/newapp/core/core-packr.go | 2 +- genny/newapp/web/web-packr.go | 2 +- genny/refresh/refresh-packr.go | 2 +- genny/resource/resource-packr.go | 2 +- genny/vcs/vcs-packr.go | 2 +- packrd/packed-packr.go | 55 +++++++++---------------- 14 files changed, 32 insertions(+), 49 deletions(-) diff --git a/genny/actions/actions-packr.go b/genny/actions/actions-packr.go index 22612f6c7..46fd00968 100644 --- a/genny/actions/actions-packr.go +++ b/genny/actions/actions-packr.go @@ -5,4 +5,4 @@ // and any other packr generated files. package actions -import _ "github.com/gobuffalo/buffalo/packrd" +import _ "Users/paganotoni/code/gobuffalo/buffalo/packrd" diff --git a/genny/assets/standard/standard-packr.go b/genny/assets/standard/standard-packr.go index e23057120..b8c37290d 100644 --- a/genny/assets/standard/standard-packr.go +++ b/genny/assets/standard/standard-packr.go @@ -5,4 +5,4 @@ // and any other packr generated files. package standard -import _ "github.com/gobuffalo/buffalo/packrd" +import _ "Users/paganotoni/code/gobuffalo/buffalo/packrd" diff --git a/genny/assets/webpack/webpack-packr.go b/genny/assets/webpack/webpack-packr.go index 7370ca82b..707d10e7d 100644 --- a/genny/assets/webpack/webpack-packr.go +++ b/genny/assets/webpack/webpack-packr.go @@ -5,4 +5,4 @@ // and any other packr generated files. package webpack -import _ "github.com/gobuffalo/buffalo/packrd" +import _ "Users/paganotoni/code/gobuffalo/buffalo/packrd" diff --git a/genny/build/build-packr.go b/genny/build/build-packr.go index 9a999f396..6312111df 100644 --- a/genny/build/build-packr.go +++ b/genny/build/build-packr.go @@ -5,4 +5,4 @@ // and any other packr generated files. package build -import _ "github.com/gobuffalo/buffalo/packrd" +import _ "Users/paganotoni/code/gobuffalo/buffalo/packrd" diff --git a/genny/ci/ci-packr.go b/genny/ci/ci-packr.go index 06da48ef8..52d352001 100644 --- a/genny/ci/ci-packr.go +++ b/genny/ci/ci-packr.go @@ -5,4 +5,4 @@ // and any other packr generated files. package ci -import _ "github.com/gobuffalo/buffalo/packrd" +import _ "Users/paganotoni/code/gobuffalo/buffalo/packrd" diff --git a/genny/docker/docker-packr.go b/genny/docker/docker-packr.go index 4eb5f781c..bbd0c3d8b 100644 --- a/genny/docker/docker-packr.go +++ b/genny/docker/docker-packr.go @@ -5,4 +5,4 @@ // and any other packr generated files. package docker -import _ "github.com/gobuffalo/buffalo/packrd" +import _ "Users/paganotoni/code/gobuffalo/buffalo/packrd" diff --git a/genny/mail/mail-packr.go b/genny/mail/mail-packr.go index 5f3e353ab..710191370 100644 --- a/genny/mail/mail-packr.go +++ b/genny/mail/mail-packr.go @@ -5,4 +5,4 @@ // and any other packr generated files. package mail -import _ "github.com/gobuffalo/buffalo/packrd" +import _ "Users/paganotoni/code/gobuffalo/buffalo/packrd" diff --git a/genny/newapp/api/api-packr.go b/genny/newapp/api/api-packr.go index 488d9b971..01d813c9c 100644 --- a/genny/newapp/api/api-packr.go +++ b/genny/newapp/api/api-packr.go @@ -5,4 +5,4 @@ // and any other packr generated files. package api -import _ "github.com/gobuffalo/buffalo/packrd" +import _ "Users/paganotoni/code/gobuffalo/buffalo/packrd" diff --git a/genny/newapp/core/core-packr.go b/genny/newapp/core/core-packr.go index 190c8a13d..d072764f6 100644 --- a/genny/newapp/core/core-packr.go +++ b/genny/newapp/core/core-packr.go @@ -5,4 +5,4 @@ // and any other packr generated files. package core -import _ "github.com/gobuffalo/buffalo/packrd" +import _ "Users/paganotoni/code/gobuffalo/buffalo/packrd" diff --git a/genny/newapp/web/web-packr.go b/genny/newapp/web/web-packr.go index 09a1cbd7b..7ab6a2875 100644 --- a/genny/newapp/web/web-packr.go +++ b/genny/newapp/web/web-packr.go @@ -5,4 +5,4 @@ // and any other packr generated files. package web -import _ "github.com/gobuffalo/buffalo/packrd" +import _ "Users/paganotoni/code/gobuffalo/buffalo/packrd" diff --git a/genny/refresh/refresh-packr.go b/genny/refresh/refresh-packr.go index 2084ab042..ca60cddf5 100644 --- a/genny/refresh/refresh-packr.go +++ b/genny/refresh/refresh-packr.go @@ -5,4 +5,4 @@ // and any other packr generated files. package refresh -import _ "github.com/gobuffalo/buffalo/packrd" +import _ "Users/paganotoni/code/gobuffalo/buffalo/packrd" diff --git a/genny/resource/resource-packr.go b/genny/resource/resource-packr.go index 385b06d4e..4b23b2f05 100644 --- a/genny/resource/resource-packr.go +++ b/genny/resource/resource-packr.go @@ -5,4 +5,4 @@ // and any other packr generated files. package resource -import _ "github.com/gobuffalo/buffalo/packrd" +import _ "Users/paganotoni/code/gobuffalo/buffalo/packrd" diff --git a/genny/vcs/vcs-packr.go b/genny/vcs/vcs-packr.go index 8db6172a1..0de5d0e41 100644 --- a/genny/vcs/vcs-packr.go +++ b/genny/vcs/vcs-packr.go @@ -5,4 +5,4 @@ // and any other packr generated files. package vcs -import _ "github.com/gobuffalo/buffalo/packrd" +import _ "Users/paganotoni/code/gobuffalo/buffalo/packrd" diff --git a/packrd/packed-packr.go b/packrd/packed-packr.go index 3cb3ea982..70c7ec2c6 100644 --- a/packrd/packed-packr.go +++ b/packrd/packed-packr.go @@ -28,7 +28,7 @@ var _ = func() error { "3ab914a64676d62186c6060f4988dd39": "1f8b08000000000000ff7c94c1ab1b3710c6cfd55f31cf2ea4599c7d4e7b28bc4b49531a7269030998107a186bc796b0ac11d2c8db25e47f2fa3f53a79f491e38ad137bfef9bd1ae6147c1f29940187eaf870306be33e683c37882892b1c388375ccc5c7e352d00e27ae1946dac340170a9cce140522d1507a633e7f067f809e9394fe554afdce8b7bc7095e7cf962d66bf80305f75808de93d464cc5b81c07c2a10fc895a5bebb834a6420235cddd30a5e02d8ae708b501210c57a93bf813a360116f1b3fc1c1e722204eeb5452d9547160f005385154617104ab45a49fce6105071f08300e408317f0a297aad23802cb399315fdce11cf543690b09491f35036e0b848d90089edfb1ec4a1006652eecc297b14fa1a1dc58bcf1c35b6de988f5c61f4210086c237d4339e084acd346b75ddc4b5eba00866b9f7b10886d0b01603c08759dd3af696fadbc4ba6ee4f84cba0e966b6ab009a9c32b556fcc7abd86d79914f5a30a2da32ac6fc7dda4061ad7b76a1168e527e27bf264fc34cb4d46c20f278e3b218c1ceedbef551c0c7d97313bbe23d18f3c38fb0bf5e4d9c96ab2f50578ee2d0164c37ecbdb6d6c9abeaabaf7b63ccd2b9389f0a8c5e1c20583e9f95b8b56c731851acfbffda691156e1338ab718c20499f6d5873988370c7b1f314f735d9c004b2129b77ce143dbbfd626d738a7b7181ae8b25a481e5b1de862ccdb365a48eca3cc60fbcc63a1ac9bf2c989a487fbfb973fffda6ffb6dfff2e197ed76fbcf4f4f1e3f6f42c5710d03142240583df11b5841c223f5c674dd6b8ec78c52434ba1dc759d6e479ba4c30bcd384bb28f9e696a51e41aa38fc7b65fb053f77fd1bff29b313b824cea5987a7548e70d0b9f1e5b1b1235fc3e83ddf6c7d7bf87c6e44174f63fb3584a0af41133eea96c0c0b6ea6b9bc1c451566f6f980708d59eee8cf9f48e47ca34c07e5acc3cddcafc170000ffff90de672137050000", "3c5378f5aa59242753fa2bcf50bbb6d2": "1f8b08000000000000ffa454516fda30107ee757dc2c2181b4e0419f5a39912a81c6c3da5515ef93832f89d5c446f6415bd1eeb74f26c012085da53dc5f6ddf7dd77be2f16054a852ee90108a537b02ca5f7315b5a43521b742c44da31679ff7a7a79832aa543486b0f05534d92d5e7c3481d2e6f6880110120a8759cc443f06672d3d482a0643e8272c11bacac1bb6547507a8fe4b9ae648e9e07ce91dfe40c6449316389e0f2288b2bbdf940e3f541e3f541e3f81b90a6127d5366314e82081ab0672c97b6c25fb943246d7216f4085e8c9bd993bf9b468f05d1cadf709e6b2ad6e968692b9edb749d65b2b47cff0d6d1f246632854c46753a03e9b48c0aad149a98915b63685427f019dac68d843b690a14c5e45050d9e5ba424392b435ec620fa1d6a1c0485bded61c24a7d63e5d163c6d96b9a8ac31b9e372bfe8097e306bafcb8f5d5e9c74f8d7afd3dda82f98b86dfcfaaeae922966daa08247bb26f48217571f296e73924c4b8c1cfa95355e6f1a857791561ad4c99e9c5ea16a8aa0d07c6b3ae480f0852259eadcc4acc48c5ae3db818e8da1217481f26eb698ff9c0a4ec55972f270bb987747ee6fef66dd91f9edfdf4c7ecf1342838b9e68c4ff40b4aad7a4d7a4d443f86cc3a18b82168036e77d5b085fe694dd73e0847eabccf939c9adf8dee900aab4e49770a55076f378dce6070a4fa1203fb3e5b30787b03370acf15fc8e816dd910b667680087b476669f79167f072c3d7e042cb5795ad8418dff0adb708f377bbaf76107e1ffb55a13dfcb0a3f4f2496566152a3e7d2a812dd9e40f03a74066cdb2594ae95371d543be6b80d7f4af75371f8347ec2cc5a620908bf92268107fb1c4c02e9ebbf1eb9e636bc5a82d70cfb127f020000ffff0dbe9ce240070000", "3e00c27b916d08ee5aa54c8a3d2f31a5": "1f8b08000000000000ff548fcb6dc3301044ef530a01ef36910e5c80409313890ec555b8348d741f08f900bebdc300efcd64cbd6152168906aeb0ff8672d8390921915b7d214633f14cd3297ddf2a3d215e2d1fd9262daa8089723a68f2eabe178dc6a491add39ced9f464990a597b791fec0a619ba749deaecb755827821c2523d9648f2bff41721c11e2b3419235b7ca652b3eac7fbde803e4be3dff5aeedb530282f819b23320171f8a958d3d0ee6b3e9f737be030000ffffcfa015bc01010000", - "4a4954ee92c57e00f8a0f34ec9a08084": "1f8b08000000000000ff84524d6bdc3010bdeb573c9425b40559ec2d98f4104ad99e9a3d945e832ccfca62b51e23c9db429aff5e243b69c852727ae67dcc789eddd181233d241bfd945b012884112a4177b30f7d8276ac53b47af381ecc0908f8f0d4f393577d3d4ec8d3d1a47fba37b7a92f8033b67a81e524ba8c3f6639d66fb9711ff8b56dfe9d8fb0835619abbe0ad3629514e55720c47196a86f37998bbc6f2493beee6c3c104d66ff03972e21e3dff1a039bbe72f47be298b1bffbf1edb3dc146837bbfb82baf3a3142265e3282d25644a5988a6803a9b985a5cbf3c0be06ca2375d58dcc0eefee1ebf79f2d64f14821aeb0e360468733c5e479841dd85bc24061a2289a399172d5a1fcc9386a71fd8a0aa66e07566da1db957e2fbd553717d16d7323444997d7bdc297c18c8e9019f2f6b6c5a78bddb2687322e481b050d8f1f33502781b5b9656f6754db5d116eb39ff7eb2d2f0fab916f16f000000ffffcf5a70eb87020000", + "4a4954ee92c57e00f8a0f34ec9a08084": "1f8b08000000000000ff84513d6bc33010ddef573c1cc8509083872c225b29d9daad6b90ed8b2c2afb8c24bb7fbfc876da900c9d4ebc0f9eee5dcd57097c894d7063d20428f45fad0b5023c6a9f6ae39981839c585b202cb096a8275a99beab291fe60a59eae57e3e5f0306f965e5ab4f23d78312d514cc6725ca312c74454e6a16613a2c6fef74dc06c8233b55fd5c0f9e3f2f6fea951644d41b4c359bc192c660ed1c980a613d7303af623072aa7c8ca2e0ae57a6359637f0779b3a4031bb7c27a83ff7357aa3a3e79abb23a12657ffef00eaf9d192c23098ad349e3e529bdc8dc1419a963ac10ce72db878047db16bbc0f74d2da56a6c1bfd5d3397bc5d63257f020000ffff5d890c59f0010000", "524efd5799b78f65989b6c1104215481": "1f8b08000000000000ff94544d8fa3300c3dc3afb0345a69f740c54799a9d2cbfe95405288066294ba2ab3abf9efab244009add4ae7273ece717bf17ef6ad4c4959606fec651af747255825a06459e0ee331fe8ee35672e1af2b5e7f36062f5a2435766818bcbde7bc94f21847031742e98641960e23f8e2a8c23139ab3f2e5ea111d224157ad45d870d82ea1b0b3cf53ccc2d77a4a8936768337b7b424d164632283cae8b5ca56a5ab2b1f4184713a16babc8d2e9b969944e2a24c29e4156b8ba294a383028b7bdf2a55788bc6a9f1d1c8c50e7a1e35f0c94ee949649d561fdb9c0334803606e7137f4488e940859a3e1a45033b868218d050b4a9513c593369e93a37d5faf7153ba13585f7aa9c925ac703a792206f9617efef952b992072c57ef59e95b0ca38b3c7043ce8b725fdc8f7ff1d2ad5b5b6ca4cdf37b69f74e8070acc42b4f76adcb7ec277973b9f42158a2f2003249c79bdff9cf6e9d6b09edc09916caa9b2eef54a319b8b1dffcf55697f63cf4e002b156fced50d9f382e6b5d4248d145b063eee727ef752280ebceb806b013f7b3ecefff5e3231dc65fb636fc3cc188bd79968166a59512ca49d0ef272ddef72fb4289eb488c2ff16a8e8e9ad72ee4d1cbad84bf7947859bc403c0d89af19bb5565f317cfa4ab8b6987cd4b2c4bd31ffff588a0f16a3745b73d332f18fbd07f010000ffffa680b9a8b2050000", "52f14062d5b60ffc0896c4bda40d83fc": "1f8b08000000000000ff9c55df8be336107ef75f311504649a53ee36f4a1ee65e176cb9642f70877d7f6611b0ec5961d114b32929c0b2cf9dfcb48b2e3dcfe80f625966646df37f34933e978b9e78d00c5a5ce32a93a633dd00c80d4ca13fcb6a6095fe3d267218ea20c6b2f952019ae1ae977fd9695462d14b7fb2df7c22d1a2b6b1f7fc977418dd9f675cd5bb318beb6d7110ee02b90f7b31598ce3bb68ef9adf70dccae17fc7bf787d24ba35d74a3133db2061abc7f4bbf5b9b2e8747985dbf98014a601787ab9773ec4cb738fc14fc23f3bda9447b410ca7c8f22485df5001376631cd3fba9ea2e45956f7ba04a9a5a7393c667e0ec25a2856802ab135b74ed0b0fc7477bb5c2e7f9e47d46d2fdbea8b540201f30c30133cf8c30ab46ce1310300a895676b2bb56f3515d662d829034857c03e0b7f8330743084ddefba3678fc2f619d34ba98f0251352ce0301265080c7cd29cf4ea9187c63a118006e1b87c518c73ed8c66500076ec158d948cd5b34c1c3c6792b759301d4c6829ce3213c63b96e444488e5c83ab8562b206fde9064844bb415f0ae13baa203ec23023cbcdd9c02ae7b903fbe2b368cb13c9de6e914fa0ab949d6ad157c1fd6a7249aaca1159a625c8e29bc3b2785f6691239dec2db737eb176585d643a829f0bb80fba059315beb73a5197a84648f01de6e7be495feea00c04aff641c99d00a26463b917a408c8691778ce6f39461ee2fda6c80e5f4ebaf2101e833c777b3207e2c30f777b97e22f147a0fcb5180d634ec8e7bde52a28d07a14ddfecb0a05e09ed1d74dc3951813710b0f38934a1f43059d847f1edd6682f8e3e503c5c6df2a7b4d77035d29683ec217c596c26b8a9c722f2a75e0f90732847d427ed34ad24b553c4ab44cdfbd68f327c1d9b184728fbc398fd9afb1d2569d090fc97e7d09fe77c9675a823a9a4aa91ecd628c57575e64aef7efaea4b55b1cfbe921a426786e5d4617a3f7a4cefa72e4c7070096ba76262044af93f043c8db3e3f2d18573e314abe979a07ee44ab02fd2b782e630bb86c3309adc3f9acce162a2d13ccca6575a258eada13302ebd61cc75bec4c87cfef3e0448a36fcc91867f13b452c2bbae5083cf615bb0c5649fcf41853f11f6ebcd4b937ad4a5a6e48ecb36b643af9105ce5805cc107f32cbe37d6ccd91fdd9d1ff866e7bfd0af4291ba6c3bf010000ffff364833083b080000", "545676fd88c0d1d27198d283049c41b0": "1f8b08000000000000ff4c8e3f4bc4401047fbfd143fb74a4036bda5368782075e612116739bc92698fdc3ecac08c77d770997e2aac70cc37b53c8ff506090d725a76acc124b164567009b588759b558b34d61d1b99d9dcf7108f9dca689d63cecb4a637661870c8910f94c695054b0561e489daaa98f7a56654965f462bdb3d61ce915128b033534bfeded079ec7af79293f29ff660912cb81840589b2478f7c16964e9b647dd49495b3dbe3d42dcebe9f8de452a5f556549e1fb868b8d5c2b05b64fb09fbcfaadaf19cfb7d283bdf6bdb99aff000000ffff5167c69218010000", @@ -81,7 +81,7 @@ var _ = func() error { "e2d5d81577b142a416eee01f2874f794": "1f8b08000000000000ffb2c930b4abaed6cb4bcc4dd50b482c4e4eccc9ac4aadad55aeaed64b4c2ec9cccf4316b5d1cf30b4e302040000ffff9ca0bf3a33000000", "e8972ac6dc3e57b0c59883df456ad37c": "1f8b08000000000000ff34cdc16ec2301004d0fb7ec5c8a7a4aa927ba59eda5ecb851fd898b531246bcbb14108e5df5120ec6547a3274d627b662f605b42d499284c29e6828600e34339d6a1b371ea7d1caa733cc6fefdb3e841b2a196e8c219191fafa6fb531f54885c558ba0a1342dee04647c6323ff726db6b84bcfe115acf72b8eeb587ea216d1b2bf25f982e194c6607985fd698e6a3e09585a5ae8110000ffff7d25ad33bf000000", "ea761d55cd5f5d08a297041a98564260": "1f8b08000000000000ff4c8e414ac5401044d7f6298aac1290c91d74f3c185e03f41ff4927199c991e3a3d228877974016ae8a2a8ac76b1c3f791370f4a4f5204aa5a9394602862a3eefee6da0b36dc9f7fe0851cbbce9a3af2b679daf1c68229a67dcb4c88deb92c5900e301659b967c77e8dae38c4be04bd9d7fc6ae45d07893406baff13f618cb8f0e155abcbb74f103335fcd0938977ab88e143ea22369e9ee1eeecfd787f7b8685bb5baadb38dc2467c56a5af072c94e13fdd25f000000ffff16411447fa000000", - "efa72723cef2e8bfedc523738bf5d159": "1f8b08000000000000ff9454c16edb3814bceb2b064c60ec2e4009392c1008e9c1a95df790c6aea5b4e849a0a46799082d2a24e53670f5ef8524cb8993a6494f4f18be9911f9864c69a50d253633b272a1b7db71c815e80ebeae9cf52797f17d456095b6ae3064199ac6033844e578410e75950b47188d0e882cad134a81df6360dd299e2949a5ebf44959faadc9e6dedea9bf73e82847e2653e08a812dc22486ba9728ba0d081355970fa0f656b0db6dbf5e6e3aaf21722bb15052d6e8ba661f889ac76e03958c0c05767ff766a597e907889daf56d6e7369c02b5475aa6416086bc9d96ea9d0687f9fd728a45bd7a99fe94d50e8b45ead84d2c1933a50363a47aebf974a8bbcc3e847a58dc3621c7f7cc74edb129ecee66d0d525932cfb34e1464c3aed991759ee7b7856f85b12146876f0fd80a2345aafa6e60364fa6d75f42b0b687bd350dc0621ec5b3e5344a2697e1f1d15e8b0df91fa4a2a6491e44df1401e0d3b7e8f3553219c7e3cb71347d55f981b29ccfe364318ea2aff3e52404335a0fce433e80781ac507f1e46679d51bb45a93f4c6a8a6619e77829956a22cb02563a52e91adb5cc086b521519cfaf2df1a2ebe072230a0a317a0429d19d3fb05febe1700fbfc63ee3e7cfa867feb9e7b5ec76602778bf166541701aece222c47fcfbc59bb565b825b137a08333decc6039ed27ad30e7d1c942e5321f6dbb164b6326b53f352448e07c9fb8b1afeffe7e93fcb153f3c21c3991dcd7078b5fad6fdbde9fff157000000ffff99f35612d8040000", + "efa72723cef2e8bfedc523738bf5d159": "1f8b08000000000000ff9454516f9b30107ef7af38d1290f934c946d79b13a6dc9c8d287b674816cda1372e042ac194c6d93a942fcf709082cb4ddd63d81eebeefbef3f93bef70af344626d6a2b08c541505b107bc075715d6b8de327c28109c42199b6a340ed43501a0c00b4b53b4501609b70893c91011b9b15c4aa00fd0b3ee258da5c0dcb6f5511a7c56247b30f7f2ff145acaa8789ef405b21f89d0400b28ca9d14f1941b83d6b4a95441538896900a7b28776eacb269aa76e57ecfa59a3efaf6944c2590a89fb9543c21c4589ea2616dd2a2b184b8cd871eb9360c26c33f0138722df84e766880b51fad6ebf32701a8cf3d29903dcf941b8deac82c85b3270aaaa832f8ac2bde519ba9f85c4ba8ebaa223fc36586d18e832cf518f33778b2008bef91b8f81f38874e50761b4d88657d1cd2abcf23d065697c6b6a070158491b70817cb45b08ab69b6bf6bb5d369dbeaa46d2353b0b348a8d60fd7120ccdfbd7d73cef196f5076364a6127c9f08d34cce79b973006ebe075fae87f65e34aa8eb2f1fd70689081a3953ae59f3b7055b517eeedb65ad6b5736e3f72016b25799ec211b5112a87f8a0448c704059a0266e6990a62d828a8ca7c860721692bc3514c029d785d929fc2ff68ccee64fb833773627a4e1371ebc804f079ea70856817379c9e0f51375a7c99506c11e10ba10ac557f1e02f09876926dc3e7e66ff784c1e94406f551c4cd26fcc9f6e3bba4dd8ab3f9df0df06457e8f0f8f4631bbd0efd7bd7414f7bdef5f82b0000ffffdc2fe29312050000", "fb822827dff50f68a3cd4cbdf7a507a1": "1f8b08000000000000ff74903d6b342114856befafb8afc58b2e83032917b6d866cb14c942cae08ace4a6655f49a0fc2fcf7e038c51248a93ecf390793366f7ab2a80df9180a80bfa5980905304eb6900f1307607cf274ad1765e26d9ce2a53aa7e73836398fef0ffc2fa0544f968304a0af64f1b8963cb74b2c94ab21fc06b65b29d51f61017035183cdb42af778220dc6d83d45936af4f1ed0e68cfb03f69447fbd1a5174fd793ffa49a6d11c794841c70dddb10c17fc7f301b952a3db0c2e2530efd6ec7f070c7e6e8d8cd449939e85cd59025b00982eadfbff5d52e3fa71bffdead050d6f73dd52068405d242cf0130000ffff7b2fce9c7d010000", "fcf9b1fe98670ffe85fadf1593a3b534": "1f8b08000000000000ff1cccc14a03311080e173e729869c1229e95df0608bb8a0e2610b1e65c8ced66036b366260711dfbd74af3f1fff4ae99b2e8c942c4b5580bcacd20c5d653b7c99ad0e60ee35a127c5bbc74d8d3d1b073cb3dae7200b0f54a7c2cd07fc835d63c5fb07248dc3f9edd5bb830bf199cd07801d697cfae954fc6d1c4723ebfafeb2c7c61a4f3271d8c849aa51aeea6ff928d36f1cade57af1618fee834b9285d1048f7d9ea9880bf00fd7000000ffffecd480c3c7000000", }) @@ -98,8 +98,7 @@ var _ = func() error { b.SetResolver("public/assets/buffalo.css.tmpl", packr.Pointer{ForwardBox: gk, ForwardPath: "524efd5799b78f65989b6c1104215481"}) b.SetResolver("public/assets/images/favicon.ico.tmpl", packr.Pointer{ForwardBox: gk, ForwardPath: "1fd3e4602afd3c7e8d6adf2c2aca985c"}) b.SetResolver("public/assets/images/logo.svg.tmpl", packr.Pointer{ForwardBox: gk, ForwardPath: "5c28c6abb0b23e98772f3aaed045abf5"}) - }() - + }() func() { b := packr.New("buffalo:genny:ci", "../ci/templates") @@ -107,8 +106,7 @@ var _ = func() error { b.SetResolver("-dot-gitlab-ci-no-pop.yml.tmpl", packr.Pointer{ForwardBox: gk, ForwardPath: "4a4954ee92c57e00f8a0f34ec9a08084"}) b.SetResolver("-dot-gitlab-ci.yml.tmpl", packr.Pointer{ForwardBox: gk, ForwardPath: "efa72723cef2e8bfedc523738bf5d159"}) b.SetResolver("-dot-travis.yml.tmpl", packr.Pointer{ForwardBox: gk, ForwardPath: "9a6b926cb5a5d57f2ebe46e33ce680be"}) - }() - + }() func() { b := packr.New("buffalo:genny:newapp:api", "../api/templates") @@ -117,8 +115,7 @@ var _ = func() error { b.SetResolver("actions/home_test.go.tmpl", packr.Pointer{ForwardBox: gk, ForwardPath: "ce01971710d9b9f11bba237baf76ec52"}) b.SetResolver("actions/render.go.tmpl", packr.Pointer{ForwardBox: gk, ForwardPath: "e8972ac6dc3e57b0c59883df456ad37c"}) b.SetResolver("locales/all.en-us.yaml.tmpl", packr.Pointer{ForwardBox: gk, ForwardPath: "9897b71949d4e127aa00c50724ae4b5a"}) - }() - + }() func() { b := packr.New("buffalo:genny:newapp:core", "../core/templates") @@ -134,20 +131,17 @@ var _ = func() error { b.SetResolver("grifts/init.go.tmpl", packr.Pointer{ForwardBox: gk, ForwardPath: "6d6389bc500aa7c88f06a525ffdc3964"}) b.SetResolver("inflections.json.tmpl", packr.Pointer{ForwardBox: gk, ForwardPath: "67965ff5ea3fd75bf5d6891d715a8d5f"}) b.SetResolver("main.go.tmpl", packr.Pointer{ForwardBox: gk, ForwardPath: "cf6712125ddfa9d651b4f66d736d6303"}) - }() - + }() func() { b := packr.New("buffalo:genny:refresh", "../refresh/templates") b.SetResolver("-dot-buffalo.dev.yml.plush", packr.Pointer{ForwardBox: gk, ForwardPath: "c6660b1c6a1a45d1cb79e72c7bb65764"}) - }() - + }() func() { b := packr.New("buffalo:genny:vcs", "../vcs/templates") b.SetResolver("ignore.tmpl", packr.Pointer{ForwardBox: gk, ForwardPath: "3e00c27b916d08ee5aa54c8a3d2f31a5"}) - }() - + }() func() { b := packr.New("github.com/gobuffalo/buffalo/@v0.15.4/genny/resource/templates/core", "../resource/templates/core") @@ -157,28 +151,24 @@ var _ = func() error { b.SetResolver("templates/folder-name/index.plush.html.tmpl", packr.Pointer{ForwardBox: gk, ForwardPath: "6e0c924074f3636a40c0a94549a7d6b0"}) b.SetResolver("templates/folder-name/new.plush.html.tmpl", packr.Pointer{ForwardBox: gk, ForwardPath: "d7356a0c96560b441eda4c9e940b5754"}) b.SetResolver("templates/folder-name/show.plush.html.tmpl", packr.Pointer{ForwardBox: gk, ForwardPath: "b97ef3b8e9a685594ebc0fc9eebc931a"}) - }() - + }() func() { b := packr.New("github.com/gobuffalo/buffalo/@v0.15.4/genny/resource/templates/standard", "../resource/templates/standard") b.SetResolver("actions/resource-name.go.tmpl", packr.Pointer{ForwardBox: gk, ForwardPath: "83e722486c9aaa60954a8c8bcd026763"}) b.SetResolver("actions/resource-name_test.go.tmpl", packr.Pointer{ForwardBox: gk, ForwardPath: "1ecd294aa90a5a249902dadd8b1b7502"}) - }() - + }() func() { b := packr.New("github.com/gobuffalo/buffalo/@v0.15.4/genny/resource/templates/use_model", "../resource/templates/use_model") b.SetResolver("actions/resource-name.go.tmpl", packr.Pointer{ForwardBox: gk, ForwardPath: "a5bd9ef051dd34fa95a8ddfe363e527a"}) b.SetResolver("actions/resource-name_test.go.tmpl", packr.Pointer{ForwardBox: gk, ForwardPath: "b8438980c36888bd6a7b788a487d06ed"}) - }() - + }() func() { b := packr.New("github.com/gobuffalo/buffalo/common", "../docker/templates/common") b.SetResolver("-dot-dockerignore.tmpl", packr.Pointer{ForwardBox: gk, ForwardPath: "200603a93cae9aee719dcb679b44c289"}) - }() - + }() func() { b := packr.New("github.com/gobuffalo/buffalo/genny/actions/templates", "../actions/templates") @@ -187,8 +177,7 @@ var _ = func() error { b.SetResolver("test.go.tmpl", packr.Pointer{ForwardBox: gk, ForwardPath: "baca6b4ebf8cc8bd0ea945a5a2fffe15"}) b.SetResolver("tests_header.go.tmpl", packr.Pointer{ForwardBox: gk, ForwardPath: "5a632d314f6d6797fef503c04ff3e44b"}) b.SetResolver("view.plush.html.tmpl", packr.Pointer{ForwardBox: gk, ForwardPath: "e2d5d81577b142a416eee01f2874f794"}) - }() - + }() func() { b := packr.New("github.com/gobuffalo/buffalo/genny/assets/webpack", "../webpack/templates") @@ -202,27 +191,23 @@ var _ = func() error { b.SetResolver("postcss.config.js.tmpl", packr.Pointer{ForwardBox: gk, ForwardPath: "02c0cabc5d0ccf06bf62aef1259e6eaa"}) b.SetResolver("public/assets/-dot-keep.tmpl", packr.Pointer{ForwardBox: gk, ForwardPath: "11a0cc9b3e885f72d7f5b4c016722237"}) b.SetResolver("webpack.config.js.tmpl", packr.Pointer{ForwardBox: gk, ForwardPath: "daae3f6c1877694081e2d9bbe1ef33a2"}) - }() - + }() func() { b := packr.New("github.com/gobuffalo/buffalo/genny/mail/init/templates", "../mail/init/templates") b.SetResolver("mailers/mailers.go.tmpl", packr.Pointer{ForwardBox: gk, ForwardPath: "70ae08ec6bfcd89151868c693af94486"}) b.SetResolver("templates/mail/layout.plush.html.tmpl", packr.Pointer{ForwardBox: gk, ForwardPath: "1f893bc0a5e86464fb13af76078ae912"}) - }() - + }() func() { b := packr.New("github.com/gobuffalo/buffalo/multi", "../docker/templates/multi") b.SetResolver("Dockerfile.tmpl", packr.Pointer{ForwardBox: gk, ForwardPath: "ab8942bb19a00ddb54dfc22df4c36c21"}) - }() - + }() func() { b := packr.New("github.com/gobuffalo/buffalo/standard", "../docker/templates/standard") b.SetResolver("Dockerfile.tmpl", packr.Pointer{ForwardBox: gk, ForwardPath: "afc1533d018c2d1730753da9c1eec198"}) - }() - + }() func() { b := packr.New("github.com/gobuffalo/buffalo:genny/newapp/web", "../web/templates") @@ -235,15 +220,13 @@ var _ = func() error { b.SetResolver("templates/_flash.plush.html.tmpl", packr.Pointer{ForwardBox: gk, ForwardPath: "c942384692540a659219d8746ee9fcae"}) b.SetResolver("templates/application.plush.html.tmpl", packr.Pointer{ForwardBox: gk, ForwardPath: "70731710a6b9f5808311e8dc2d8f7460"}) b.SetResolver("templates/index.plush.html.tmpl", packr.Pointer{ForwardBox: gk, ForwardPath: "3c5378f5aa59242753fa2bcf50bbb6d2"}) - }() - + }() func() { b := packr.New("github.com/gobuffalo/buffalo@v0.15.6/genny/build", "../build/templates") b.SetResolver("a/aa.go.plush", packr.Pointer{ForwardBox: gk, ForwardPath: "a85bfd7cc3b5f9eb04967d04cf35cc5e"}) b.SetResolver("buffalo_build_main.go.plush", packr.Pointer{ForwardBox: gk, ForwardPath: "52f14062d5b60ffc0896c4bda40d83fc"}) b.SetResolver("migrations/-dot-pop-tmp.md", packr.Pointer{ForwardBox: gk, ForwardPath: "c6e3e8d28eed67725402c2b7c09dd7e7"}) - }() - + }() return nil }() From 6db4825cf6ddd6faeae95e2a1c392d5c4a99c134 Mon Sep 17 00:00:00 2001 From: Antonio Pagano Date: Mon, 26 Apr 2021 09:04:26 -0400 Subject: [PATCH 42/64] using the correct packatge --- genny/actions/actions-packr.go | 2 +- genny/assets/standard/standard-packr.go | 2 +- genny/assets/webpack/webpack-packr.go | 2 +- genny/build/build-packr.go | 2 +- genny/ci/ci-packr.go | 2 +- genny/docker/docker-packr.go | 2 +- genny/mail/mail-packr.go | 2 +- genny/newapp/api/api-packr.go | 2 +- genny/newapp/core/core-packr.go | 2 +- genny/newapp/web/web-packr.go | 2 +- genny/refresh/refresh-packr.go | 2 +- genny/resource/resource-packr.go | 2 +- genny/vcs/vcs-packr.go | 2 +- 13 files changed, 13 insertions(+), 13 deletions(-) diff --git a/genny/actions/actions-packr.go b/genny/actions/actions-packr.go index 46fd00968..22612f6c7 100644 --- a/genny/actions/actions-packr.go +++ b/genny/actions/actions-packr.go @@ -5,4 +5,4 @@ // and any other packr generated files. package actions -import _ "Users/paganotoni/code/gobuffalo/buffalo/packrd" +import _ "github.com/gobuffalo/buffalo/packrd" diff --git a/genny/assets/standard/standard-packr.go b/genny/assets/standard/standard-packr.go index b8c37290d..e23057120 100644 --- a/genny/assets/standard/standard-packr.go +++ b/genny/assets/standard/standard-packr.go @@ -5,4 +5,4 @@ // and any other packr generated files. package standard -import _ "Users/paganotoni/code/gobuffalo/buffalo/packrd" +import _ "github.com/gobuffalo/buffalo/packrd" diff --git a/genny/assets/webpack/webpack-packr.go b/genny/assets/webpack/webpack-packr.go index 707d10e7d..7370ca82b 100644 --- a/genny/assets/webpack/webpack-packr.go +++ b/genny/assets/webpack/webpack-packr.go @@ -5,4 +5,4 @@ // and any other packr generated files. package webpack -import _ "Users/paganotoni/code/gobuffalo/buffalo/packrd" +import _ "github.com/gobuffalo/buffalo/packrd" diff --git a/genny/build/build-packr.go b/genny/build/build-packr.go index 6312111df..9a999f396 100644 --- a/genny/build/build-packr.go +++ b/genny/build/build-packr.go @@ -5,4 +5,4 @@ // and any other packr generated files. package build -import _ "Users/paganotoni/code/gobuffalo/buffalo/packrd" +import _ "github.com/gobuffalo/buffalo/packrd" diff --git a/genny/ci/ci-packr.go b/genny/ci/ci-packr.go index 52d352001..06da48ef8 100644 --- a/genny/ci/ci-packr.go +++ b/genny/ci/ci-packr.go @@ -5,4 +5,4 @@ // and any other packr generated files. package ci -import _ "Users/paganotoni/code/gobuffalo/buffalo/packrd" +import _ "github.com/gobuffalo/buffalo/packrd" diff --git a/genny/docker/docker-packr.go b/genny/docker/docker-packr.go index bbd0c3d8b..4eb5f781c 100644 --- a/genny/docker/docker-packr.go +++ b/genny/docker/docker-packr.go @@ -5,4 +5,4 @@ // and any other packr generated files. package docker -import _ "Users/paganotoni/code/gobuffalo/buffalo/packrd" +import _ "github.com/gobuffalo/buffalo/packrd" diff --git a/genny/mail/mail-packr.go b/genny/mail/mail-packr.go index 710191370..5f3e353ab 100644 --- a/genny/mail/mail-packr.go +++ b/genny/mail/mail-packr.go @@ -5,4 +5,4 @@ // and any other packr generated files. package mail -import _ "Users/paganotoni/code/gobuffalo/buffalo/packrd" +import _ "github.com/gobuffalo/buffalo/packrd" diff --git a/genny/newapp/api/api-packr.go b/genny/newapp/api/api-packr.go index 01d813c9c..488d9b971 100644 --- a/genny/newapp/api/api-packr.go +++ b/genny/newapp/api/api-packr.go @@ -5,4 +5,4 @@ // and any other packr generated files. package api -import _ "Users/paganotoni/code/gobuffalo/buffalo/packrd" +import _ "github.com/gobuffalo/buffalo/packrd" diff --git a/genny/newapp/core/core-packr.go b/genny/newapp/core/core-packr.go index d072764f6..190c8a13d 100644 --- a/genny/newapp/core/core-packr.go +++ b/genny/newapp/core/core-packr.go @@ -5,4 +5,4 @@ // and any other packr generated files. package core -import _ "Users/paganotoni/code/gobuffalo/buffalo/packrd" +import _ "github.com/gobuffalo/buffalo/packrd" diff --git a/genny/newapp/web/web-packr.go b/genny/newapp/web/web-packr.go index 7ab6a2875..09a1cbd7b 100644 --- a/genny/newapp/web/web-packr.go +++ b/genny/newapp/web/web-packr.go @@ -5,4 +5,4 @@ // and any other packr generated files. package web -import _ "Users/paganotoni/code/gobuffalo/buffalo/packrd" +import _ "github.com/gobuffalo/buffalo/packrd" diff --git a/genny/refresh/refresh-packr.go b/genny/refresh/refresh-packr.go index ca60cddf5..2084ab042 100644 --- a/genny/refresh/refresh-packr.go +++ b/genny/refresh/refresh-packr.go @@ -5,4 +5,4 @@ // and any other packr generated files. package refresh -import _ "Users/paganotoni/code/gobuffalo/buffalo/packrd" +import _ "github.com/gobuffalo/buffalo/packrd" diff --git a/genny/resource/resource-packr.go b/genny/resource/resource-packr.go index 4b23b2f05..385b06d4e 100644 --- a/genny/resource/resource-packr.go +++ b/genny/resource/resource-packr.go @@ -5,4 +5,4 @@ // and any other packr generated files. package resource -import _ "Users/paganotoni/code/gobuffalo/buffalo/packrd" +import _ "github.com/gobuffalo/buffalo/packrd" diff --git a/genny/vcs/vcs-packr.go b/genny/vcs/vcs-packr.go index 0de5d0e41..8db6172a1 100644 --- a/genny/vcs/vcs-packr.go +++ b/genny/vcs/vcs-packr.go @@ -5,4 +5,4 @@ // and any other packr generated files. package vcs -import _ "Users/paganotoni/code/gobuffalo/buffalo/packrd" +import _ "github.com/gobuffalo/buffalo/packrd" From 3b0471858f811e0d5b8e2694c27b701b5569a49c Mon Sep 17 00:00:00 2001 From: Stefan Dorresteijn Date: Fri, 21 May 2021 15:35:47 +0200 Subject: [PATCH 43/64] Feature/improved error reporting in production (#2108) * Development (#2099) * adding direct version on the docker build * fixing plugin installation * Fix npm's package.json permissions (#2005) Changed created file permissions from 644 (`-w----r--`) to 0644 (`rw-r--r--`) * Bump spf13/viper to v1.7.0 (#1999) * bunping version * changing version on dockerfile * patch to fix the keywords check on new app * removing unneeded append * Task fixing html binder (#2016) * binder was not wired * packing * adding new version number * pulling the buffalo binary from gobinaries.com * Task updating formam (#2025) * v0.16.13 (#2019) * adding direct version on the docker build * fixing plugin installation * Fix npm's package.json permissions (#2005) Changed created file permissions from 644 (`-w----r--`) to 0644 (`rw-r--r--`) * Bump spf13/viper to v1.7.0 (#1999) * bunping version * changing version on dockerfile * patch to fix the keywords check on new app * removing unneeded append * Task fixing html binder (#2016) * binder was not wired * packing * adding new version number * pulling the buffalo binary from gobinaries.com Co-authored-by: Disconnect3d Co-authored-by: hackerman <3372410+aeneasr@users.noreply.github.com> * updating formam Co-authored-by: Disconnect3d Co-authored-by: hackerman <3372410+aeneasr@users.noreply.github.com> * Fixes #1987 and #2023 (#2026) * v0.16.13 (#2019) * adding direct version on the docker build * fixing plugin installation * Fix npm's package.json permissions (#2005) Changed created file permissions from 644 (`-w----r--`) to 0644 (`rw-r--r--`) * Bump spf13/viper to v1.7.0 (#1999) * bunping version * changing version on dockerfile * patch to fix the keywords check on new app * removing unneeded append * Task fixing html binder (#2016) * binder was not wired * packing * adding new version number * pulling the buffalo binary from gobinaries.com Co-authored-by: Disconnect3d Co-authored-by: hackerman <3372410+aeneasr@users.noreply.github.com> * fixing #1987 and #2023 * adding missing converstion * removing commented code Co-authored-by: Disconnect3d Co-authored-by: hackerman <3372410+aeneasr@users.noreply.github.com> * changing version number * moving to latest 2 go versions (#2038) * Task binding cleanup (#2039) * moving to latest 2 go versions * cleaning up the decoder on the binding package * Task update formam (#2041) * v0.16.14 (#2030) * adding direct version on the docker build * fixing plugin installation * Fix npm's package.json permissions (#2005) Changed created file permissions from 644 (`-w----r--`) to 0644 (`rw-r--r--`) * Bump spf13/viper to v1.7.0 (#1999) * bunping version * changing version on dockerfile * patch to fix the keywords check on new app * removing unneeded append * Task fixing html binder (#2016) * binder was not wired * packing * adding new version number * pulling the buffalo binary from gobinaries.com * Task updating formam (#2025) * v0.16.13 (#2019) * adding direct version on the docker build * fixing plugin installation * Fix npm's package.json permissions (#2005) Changed created file permissions from 644 (`-w----r--`) to 0644 (`rw-r--r--`) * Bump spf13/viper to v1.7.0 (#1999) * bunping version * changing version on dockerfile * patch to fix the keywords check on new app * removing unneeded append * Task fixing html binder (#2016) * binder was not wired * packing * adding new version number * pulling the buffalo binary from gobinaries.com Co-authored-by: Disconnect3d Co-authored-by: hackerman <3372410+aeneasr@users.noreply.github.com> * updating formam Co-authored-by: Disconnect3d Co-authored-by: hackerman <3372410+aeneasr@users.noreply.github.com> * Fixes #1987 and #2023 (#2026) * v0.16.13 (#2019) * adding direct version on the docker build * fixing plugin installation * Fix npm's package.json permissions (#2005) Changed created file permissions from 644 (`-w----r--`) to 0644 (`rw-r--r--`) * Bump spf13/viper to v1.7.0 (#1999) * bunping version * changing version on dockerfile * patch to fix the keywords check on new app * removing unneeded append * Task fixing html binder (#2016) * binder was not wired * packing * adding new version number * pulling the buffalo binary from gobinaries.com Co-authored-by: Disconnect3d Co-authored-by: hackerman <3372410+aeneasr@users.noreply.github.com> * fixing #1987 and #2023 * adding missing converstion * removing commented code Co-authored-by: Disconnect3d Co-authored-by: hackerman <3372410+aeneasr@users.noreply.github.com> * changing version number Co-authored-by: Disconnect3d Co-authored-by: hackerman <3372410+aeneasr@users.noreply.github.com> * updates formam version #2040 Co-authored-by: Disconnect3d Co-authored-by: hackerman <3372410+aeneasr@users.noreply.github.com> * updating flect versionm (#2042) * updating version * updating some libraries to pass the github security warnings (#2044) * Removing Grifts folder (#2050) * removing the grifts folder * removing grifts folder from codeclimate exceptions * fixes the non-existing .git folder case (#2053) * calling persist explicitly (#2054) * adding version number * Pointing README to new go docs link * running packr2 * Warns if response is attempted to be written twice (#2059) * v0.16.16 (#2055) * adding direct version on the docker build * fixing plugin installation * Fix npm's package.json permissions (#2005) Changed created file permissions from 644 (`-w----r--`) to 0644 (`rw-r--r--`) * Bump spf13/viper to v1.7.0 (#1999) * bunping version * changing version on dockerfile * patch to fix the keywords check on new app * removing unneeded append * Task fixing html binder (#2016) * binder was not wired * packing * adding new version number * pulling the buffalo binary from gobinaries.com * Task updating formam (#2025) * v0.16.13 (#2019) * adding direct version on the docker build * fixing plugin installation * Fix npm's package.json permissions (#2005) Changed created file permissions from 644 (`-w----r--`) to 0644 (`rw-r--r--`) * Bump spf13/viper to v1.7.0 (#1999) * bunping version * changing version on dockerfile * patch to fix the keywords check on new app * removing unneeded append * Task fixing html binder (#2016) * binder was not wired * packing * adding new version number * pulling the buffalo binary from gobinaries.com Co-authored-by: Disconnect3d Co-authored-by: hackerman <3372410+aeneasr@users.noreply.github.com> * updating formam Co-authored-by: Disconnect3d Co-authored-by: hackerman <3372410+aeneasr@users.noreply.github.com> * Fixes #1987 and #2023 (#2026) * v0.16.13 (#2019) * adding direct version on the docker build * fixing plugin installation * Fix npm's package.json permissions (#2005) Changed created file permissions from 644 (`-w----r--`) to 0644 (`rw-r--r--`) * Bump spf13/viper to v1.7.0 (#1999) * bunping version * changing version on dockerfile * patch to fix the keywords check on new app * removing unneeded append * Task fixing html binder (#2016) * binder was not wired * packing * adding new version number * pulling the buffalo binary from gobinaries.com Co-authored-by: Disconnect3d Co-authored-by: hackerman <3372410+aeneasr@users.noreply.github.com> * fixing #1987 and #2023 * adding missing converstion * removing commented code Co-authored-by: Disconnect3d Co-authored-by: hackerman <3372410+aeneasr@users.noreply.github.com> * changing version number * moving to latest 2 go versions (#2038) * Task binding cleanup (#2039) * moving to latest 2 go versions * cleaning up the decoder on the binding package * Task update formam (#2041) * v0.16.14 (#2030) * adding direct version on the docker build * fixing plugin installation * Fix npm's package.json permissions (#2005) Changed created file permissions from 644 (`-w----r--`) to 0644 (`rw-r--r--`) * Bump spf13/viper to v1.7.0 (#1999) * bunping version * changing version on dockerfile * patch to fix the keywords check on new app * removing unneeded append * Task fixing html binder (#2016) * binder was not wired * packing * adding new version number * pulling the buffalo binary from gobinaries.com * Task updating formam (#2025) * v0.16.13 (#2019) * adding direct version on the docker build * fixing plugin installation * Fix npm's package.json permissions (#2005) Changed created file permissions from 644 (`-w----r--`) to 0644 (`rw-r--r--`) * Bump spf13/viper to v1.7.0 (#1999) * bunping version * changing version on dockerfile * patch to fix the keywords check on new app * removing unneeded append * Task fixing html binder (#2016) * binder was not wired * packing * adding new version number * pulling the buffalo binary from gobinaries.com Co-authored-by: Disconnect3d Co-authored-by: hackerman <3372410+aeneasr@users.noreply.github.com> * updating formam Co-authored-by: Disconnect3d Co-authored-by: hackerman <3372410+aeneasr@users.noreply.github.com> * Fixes #1987 and #2023 (#2026) * v0.16.13 (#2019) * adding direct version on the docker build * fixing plugin installation * Fix npm's package.json permissions (#2005) Changed created file permissions from 644 (`-w----r--`) to 0644 (`rw-r--r--`) * Bump spf13/viper to v1.7.0 (#1999) * bunping version * changing version on dockerfile * patch to fix the keywords check on new app * removing unneeded append * Task fixing html binder (#2016) * binder was not wired * packing * adding new version number * pulling the buffalo binary from gobinaries.com Co-authored-by: Disconnect3d Co-authored-by: hackerman <3372410+aeneasr@users.noreply.github.com> * fixing #1987 and #2023 * adding missing converstion * removing commented code Co-authored-by: Disconnect3d Co-authored-by: hackerman <3372410+aeneasr@users.noreply.github.com> * changing version number Co-authored-by: Disconnect3d Co-authored-by: hackerman <3372410+aeneasr@users.noreply.github.com> * updates formam version #2040 Co-authored-by: Disconnect3d Co-authored-by: hackerman <3372410+aeneasr@users.noreply.github.com> * updating flect versionm (#2042) * updating version * updating some libraries to pass the github security warnings (#2044) * Removing Grifts folder (#2050) * removing the grifts folder * removing grifts folder from codeclimate exceptions * fixes the non-existing .git folder case (#2053) * calling persist explicitly (#2054) * adding version number Co-authored-by: Disconnect3d Co-authored-by: hackerman <3372410+aeneasr@users.noreply.github.com> * only writing the header if it has not been written * bumping version * adding packr2 files Co-authored-by: Disconnect3d Co-authored-by: hackerman <3372410+aeneasr@users.noreply.github.com> * allows to specify custom partialfeeders * cleaning up a bit for codeclimate * changing the version * Application Route Namer (#2075) * Development (#2072) * adding direct version on the docker build * fixing plugin installation * Fix npm's package.json permissions (#2005) Changed created file permissions from 644 (`-w----r--`) to 0644 (`rw-r--r--`) * Bump spf13/viper to v1.7.0 (#1999) * bunping version * changing version on dockerfile * patch to fix the keywords check on new app * removing unneeded append * Task fixing html binder (#2016) * binder was not wired * packing * adding new version number * pulling the buffalo binary from gobinaries.com * Task updating formam (#2025) * v0.16.13 (#2019) * adding direct version on the docker build * fixing plugin installation * Fix npm's package.json permissions (#2005) Changed created file permissions from 644 (`-w----r--`) to 0644 (`rw-r--r--`) * Bump spf13/viper to v1.7.0 (#1999) * bunping version * changing version on dockerfile * patch to fix the keywords check on new app * removing unneeded append * Task fixing html binder (#2016) * binder was not wired * packing * adding new version number * pulling the buffalo binary from gobinaries.com Co-authored-by: Disconnect3d Co-authored-by: hackerman <3372410+aeneasr@users.noreply.github.com> * updating formam Co-authored-by: Disconnect3d Co-authored-by: hackerman <3372410+aeneasr@users.noreply.github.com> * Fixes #1987 and #2023 (#2026) * v0.16.13 (#2019) * adding direct version on the docker build * fixing plugin installation * Fix npm's package.json permissions (#2005) Changed created file permissions from 644 (`-w----r--`) to 0644 (`rw-r--r--`) * Bump spf13/viper to v1.7.0 (#1999) * bunping version * changing version on dockerfile * patch to fix the keywords check on new app * removing unneeded append * Task fixing html binder (#2016) * binder was not wired * packing * adding new version number * pulling the buffalo binary from gobinaries.com Co-authored-by: Disconnect3d Co-authored-by: hackerman <3372410+aeneasr@users.noreply.github.com> * fixing #1987 and #2023 * adding missing converstion * removing commented code Co-authored-by: Disconnect3d Co-authored-by: hackerman <3372410+aeneasr@users.noreply.github.com> * changing version number * moving to latest 2 go versions (#2038) * Task binding cleanup (#2039) * moving to latest 2 go versions * cleaning up the decoder on the binding package * Task update formam (#2041) * v0.16.14 (#2030) * adding direct version on the docker build * fixing plugin installation * Fix npm's package.json permissions (#2005) Changed created file permissions from 644 (`-w----r--`) to 0644 (`rw-r--r--`) * Bump spf13/viper to v1.7.0 (#1999) * bunping version * changing version on dockerfile * patch to fix the keywords check on new app * removing unneeded append * Task fixing html binder (#2016) * binder was not wired * packing * adding new version number * pulling the buffalo binary from gobinaries.com * Task updating formam (#2025) * v0.16.13 (#2019) * adding direct version on the docker build * fixing plugin installation * Fix npm's package.json permissions (#2005) Changed created file permissions from 644 (`-w----r--`) to 0644 (`rw-r--r--`) * Bump spf13/viper to v1.7.0 (#1999) * bunping version * changing version on dockerfile * patch to fix the keywords check on new app * removing unneeded append * Task fixing html binder (#2016) * binder was not wired * packing * adding new version number * pulling the buffalo binary from gobinaries.com Co-authored-by: Disconnect3d Co-authored-by: hackerman <3372410+aeneasr@users.noreply.github.com> * updating formam Co-authored-by: Disconnect3d Co-authored-by: hackerman <3372410+aeneasr@users.noreply.github.com> * Fixes #1987 and #2023 (#2026) * v0.16.13 (#2019) * adding direct version on the docker build * fixing plugin installation * Fix npm's package.json permissions (#2005) Changed created file permissions from 644 (`-w----r--`) to 0644 (`rw-r--r--`) * Bump spf13/viper to v1.7.0 (#1999) * bunping version * changing version on dockerfile * patch to fix the keywords check on new app * removing unneeded append * Task fixing html binder (#2016) * binder was not wired * packing * adding new version number * pulling the buffalo binary from gobinaries.com Co-authored-by: Disconnect3d Co-authored-by: hackerman <3372410+aeneasr@users.noreply.github.com> * fixing #1987 and #2023 * adding missing converstion * removing commented code Co-authored-by: Disconnect3d Co-authored-by: hackerman <3372410+aeneasr@users.noreply.github.com> * changing version number Co-authored-by: Disconnect3d Co-authored-by: hackerman <3372410+aeneasr@users.noreply.github.com> * updates formam version #2040 Co-authored-by: Disconnect3d Co-authored-by: hackerman <3372410+aeneasr@users.noreply.github.com> * updating flect versionm (#2042) * updating version * updating some libraries to pass the github security warnings (#2044) * Removing Grifts folder (#2050) * removing the grifts folder * removing grifts folder from codeclimate exceptions * fixes the non-existing .git folder case (#2053) * calling persist explicitly (#2054) * adding version number * Pointing README to new go docs link * running packr2 * Warns if response is attempted to be written twice (#2059) * v0.16.16 (#2055) * adding direct version on the docker build * fixing plugin installation * Fix npm's package.json permissions (#2005) Changed created file permissions from 644 (`-w----r--`) to 0644 (`rw-r--r--`) * Bump spf13/viper to v1.7.0 (#1999) * bunping version * changing version on dockerfile * patch to fix the keywords check on new app * removing unneeded append * Task fixing html binder (#2016) * binder was not wired * packing * adding new version number * pulling the buffalo binary from gobinaries.com * Task updating formam (#2025) * v0.16.13 (#2019) * adding direct version on the docker build * fixing plugin installation * Fix npm's package.json permissions (#2005) Changed created file permissions from 644 (`-w----r--`) to 0644 (`rw-r--r--`) * Bump spf13/viper to v1.7.0 (#1999) * bunping version * changing version on dockerfile * patch to fix the keywords check on new app * removing unneeded append * Task fixing html binder (#2016) * binder was not wired * packing * adding new version number * pulling the buffalo binary from gobinaries.com Co-authored-by: Disconnect3d Co-authored-by: hackerman <3372410+aeneasr@users.noreply.github.com> * updating formam Co-authored-by: Disconnect3d Co-authored-by: hackerman <3372410+aeneasr@users.noreply.github.com> * Fixes #1987 and #2023 (#2026) * v0.16.13 (#2019) * adding direct version on the docker build * fixing plugin installation * Fix npm's package.json permissions (#2005) Changed created file permissions from 644 (`-w----r--`) to 0644 (`rw-r--r--`) * Bump spf13/viper to v1.7.0 (#1999) * bunping version * changing version on dockerfile * patch to fix the keywords check on new app * removing unneeded append * Task fixing html binder (#2016) * binder was not wired * packing * adding new version number * pulling the buffalo binary from gobinaries.com Co-authored-by: Disconnect3d Co-authored-by: hackerman <3372410+aeneasr@users.noreply.github.com> * fixing #1987 and #2023 * adding missing converstion * removing commented code Co-authored-by: Disconnect3d Co-authored-by: hackerman <3372410+aeneasr@users.noreply.github.com> * changing version number * moving to latest 2 go versions (#2038) * Task binding cleanup (#2039) * moving to latest 2 go versions * cleaning up the decoder on the binding package * Task update formam (#2041) * v0.16.14 (#2030) * adding direct version on the docker build * fixing plugin installation * Fix npm's package.json permissions (#2005) Changed created file permissions from 644 (`-w----r--`) to 0644 (`rw-r--r--`) * Bump spf13/viper to v1.7.0 (#1999) * bunping version * changing version on dockerfile * patch to fix the keywords check on new app * removing unneeded append * Task fixing html binder (#2016) * binder was not wired * packing * adding new version number * pulling the buffalo binary from gobinaries.com * Task updating formam (#2025) * v0.16.13 (#2019) * adding direct version on the docker build * fixing plugin installation * Fix npm's package.json permissions (#2005) Changed created file permissions from 644 (`-w----r--`) to 0644 (`rw-r--r--`) * Bump spf13/viper to v1.7.0 (#1999) * bunping version * changing version on dockerfile * patch to fix the keywords check on new app * removing unneeded append * Task fixing html binder (#2016) * binder was not wired * packing * adding new version number * pulling the buffalo binary from gobinaries.com Co-authored-by: Disconnect3d Co-authored-by: hackerman <3372410+aeneasr@users.noreply.github.com> * updating formam Co-authored-by: Disconnect3d Co-authored-by: hackerman <3372410+aeneasr@users.noreply.github.com> * Fixes #1987 and #2023 (#2026) * v0.16.13 (#2019) * adding direct version on the docker build * fixing plugin installation * Fix npm's package.json permissions (#2005) Changed created file permissions from 644 (`-w----r--`) to 0644 (`rw-r--r--`) * Bump spf13/viper to v1.7.0 (#1999) * bunping version * changing version on dockerfile * patch to fix the keywords check on new app * removing unneeded append * Task fixing html binder (#2016) * binder was not wired * packing * adding new version number * pulling the buffalo binary from gobinaries.com Co-authored-by: Disconnect3d Co-authored-by: hackerman <3372410+aeneasr@users.noreply.github.com> * fixing #1987 and #2023 * adding missing converstion * removing commented code Co-authored-by: Disconnect3d Co-authored-by: hackerman <3372410+aeneasr@users.noreply.github.com> * changing version number Co-authored-by: Disconnect3d Co-authored-by: hackerman <3372410+aeneasr@users.noreply.github.com> * updates formam version #2040 Co-authored-by: Disconnect3d Co-authored-by: hackerman <3372410+aeneasr@users.noreply.github.com> * updating flect versionm (#2042) * updating version * updating some libraries to pass the github security warnings (#2044) * Removing Grifts folder (#2050) * removing the grifts folder * removing grifts folder from codeclimate exceptions * fixes the non-existing .git folder case (#2053) * calling persist explicitly (#2054) * adding version number Co-authored-by: Disconnect3d Co-authored-by: hackerman <3372410+aeneasr@users.noreply.github.com> * only writing the header if it has not been written * bumping version * adding packr2 files Co-authored-by: Disconnect3d Co-authored-by: hackerman <3372410+aeneasr@users.noreply.github.com> * allows to specify custom partialfeeders * cleaning up a bit for codeclimate * changing the version Co-authored-by: Disconnect3d Co-authored-by: hackerman <3372410+aeneasr@users.noreply.github.com> * allowing apps to define their own route namers * tweaking and packing Co-authored-by: Disconnect3d Co-authored-by: hackerman <3372410+aeneasr@users.noreply.github.com> * v0.16.19 * fixing groups routenamer issue * version change * Fix generated GitLab ci YAML (#2086) * gitlab-ci: Default to Golang 1.15 Given the policy by the golang team to support and maintain only the latest two Go releases defaulting to Go 1.8 effectily made buffalo test with a EOL'ed Golang. This change defaults to 1.15, and allows the user to switch to 1.16 with the already present latest switch. * gitlab-ci: Leverage gomodules over GOPATH Prior to this change, the `.gitlab-ci.yml` linked the directories so that GOPATH would work. Given buffalo now always uses gomodules these steps are no longer required, and currently even break the pipeline created from the generated CI definitions. By just executing the job in the `/builds` subdirectory gomodules work as expected again. * gitlab-ci: Update postgres connection details Docker links the containers differently than was priorly assumed for GitLab CI. As such the out-of-the-box settings weren't properly working. This change resolves that in the CI YAML definitions to isolate the changes from local setups. * moving to last 2 versions of Go * Bump elliptic from 6.5.3 to 6.5.4 in /genny/build/_fixtures/coke (#2088) * Update 'goreleaser' config to use new syntax (#2079) Previous config used `brews`, which has been deprecated and superseded by `tap`: https://goreleaser.com/deprecations/#brewsgithub * Bump elliptic from 6.5.3 to 6.5.4 in /genny/build/_fixtures/coke Bumps [elliptic](https://github.com/indutny/elliptic) from 6.5.3 to 6.5.4. - [Release notes](https://github.com/indutny/elliptic/releases) - [Commits](https://github.com/indutny/elliptic/compare/v6.5.3...v6.5.4) Signed-off-by: dependabot[bot] Co-authored-by: Adriano Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * updating plush and helpers package * adding latest plush * updating version * packing missing * using the correct packatge Co-authored-by: Disconnect3d Co-authored-by: hackerman <3372410+aeneasr@users.noreply.github.com> Co-authored-by: Zeger-Jan van de Weg Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Adriano * updating version * Properly display errors in production * Move context value setting * Add test code * Properly set environment variable in test code * Fix XML output to omit trace in production Co-authored-by: Antonio Pagano <645522+paganotoni@users.noreply.github.com> Co-authored-by: Disconnect3d Co-authored-by: hackerman <3372410+aeneasr@users.noreply.github.com> Co-authored-by: Zeger-Jan van de Weg Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Adriano Co-authored-by: Antonio Pagano Co-authored-by: Stefan Dorresteijn --- Dockerfile.build | 2 +- Dockerfile.slim.build | 2 +- errors.go | 36 ++++++++++++++++++++++++++--------- errors_test.go | 44 +++++++++++++++++++++++++++++++++++++++++-- runtime/version.go | 2 +- 5 files changed, 72 insertions(+), 14 deletions(-) diff --git a/Dockerfile.build b/Dockerfile.build index e0efe1512..79cd4d004 100644 --- a/Dockerfile.build +++ b/Dockerfile.build @@ -32,7 +32,7 @@ RUN npm install -g --no-progress yarn \ # Install golangci RUN curl -sfL https://install.goreleaser.com/github.com/golangci/golangci-lint.sh | sh -s -- -b $(go env GOPATH)/bin v1.24.0 # Installing buffalo binary -RUN curl -sf https://gobinaries.com/gobuffalo/buffalo/buffalo@v0.16.22 | sh +RUN curl -sf https://gobinaries.com/gobuffalo/buffalo/buffalo@v0.16.23 | sh RUN go get github.com/gobuffalo/buffalo-pop/v2 RUN buffalo version diff --git a/Dockerfile.slim.build b/Dockerfile.slim.build index c5e792ff9..da3ffccb0 100644 --- a/Dockerfile.slim.build +++ b/Dockerfile.slim.build @@ -17,7 +17,7 @@ RUN npm i -g --no-progress yarn \ && yarn config set yarn-offline-mirror-pruning true # Pulling docker binary from releases -RUN curl -sf https://gobinaries.com/gobuffalo/buffalo/buffalo@v0.16.22| sh +RUN curl -sf https://gobinaries.com/gobuffalo/buffalo/buffalo@v0.16.23| sh RUN go get github.com/gobuffalo/buffalo-pop/v2 RUN buffalo version diff --git a/errors.go b/errors.go index e70a2b25f..7d0db0872 100644 --- a/errors.go +++ b/errors.go @@ -151,7 +151,7 @@ func productionErrorResponseFor(status int) []byte { type ErrorResponse struct { XMLName xml.Name `json:"-" xml:"response"` Error string `json:"error" xml:"error"` - Trace string `json:"trace" xml:"trace"` + Trace string `json:"trace,omitempty" xml:"trace,omitempty"` Code int `json:"code" xml:"code,attr"` } @@ -161,15 +161,25 @@ func defaultErrorHandler(status int, origErr error, c Context) error { env := c.Value("env") requestCT := defaults.String(httpx.ContentType(c.Request()), defaultErrorCT) + var defaultErrorResponse *ErrorResponse + c.LogField("status", status) c.Logger().Error(origErr) c.Response().WriteHeader(status) if env != nil && env.(string) == "production" { - c.Response().Header().Set("content-type", defaultErrorCT) - responseBody := productionErrorResponseFor(status) - c.Response().Write(responseBody) - return nil + switch strings.ToLower(requestCT) { + case "application/json", "text/json", "json", "application/xml", "text/xml", "xml": + defaultErrorResponse = &ErrorResponse{ + Code: status, + Error: http.StatusText(status), + } + default: + c.Response().Header().Set("content-type", defaultErrorCT) + responseBody := productionErrorResponseFor(status) + c.Response().Write(responseBody) + return nil + } } trace := origErr.Error() @@ -177,21 +187,22 @@ func defaultErrorHandler(status int, origErr error, c Context) error { switch strings.ToLower(requestCT) { case "application/json", "text/json", "json": c.Response().Header().Set("content-type", "application/json") - err := json.NewEncoder(c.Response()).Encode(&ErrorResponse{ + + err := json.NewEncoder(c.Response()).Encode(errorResponseDefault(defaultErrorResponse, &ErrorResponse{ Error: errx.Unwrap(origErr).Error(), Trace: trace, Code: status, - }) + })) if err != nil { return err } case "application/xml", "text/xml", "xml": c.Response().Header().Set("content-type", "text/xml") - err := xml.NewEncoder(c.Response()).Encode(&ErrorResponse{ + err := xml.NewEncoder(c.Response()).Encode(errorResponseDefault(defaultErrorResponse, &ErrorResponse{ Error: errx.Unwrap(origErr).Error(), Trace: trace, Code: status, - }) + })) if err != nil { return err } @@ -235,6 +246,13 @@ func defaultErrorHandler(status int, origErr error, c Context) error { return nil } +func errorResponseDefault(defaultResponse, alternativeResponse *ErrorResponse) *ErrorResponse { + if defaultResponse != nil { + return defaultResponse + } + return alternativeResponse +} + type inspectHeaders http.Header func (i inspectHeaders) String() string { diff --git a/errors_test.go b/errors_test.go index 717b514ae..7042ade25 100644 --- a/errors_test.go +++ b/errors_test.go @@ -65,7 +65,7 @@ func Test_defaultErrorHandler_Logger(t *testing.T) { r.Equal(http.StatusUnauthorized, testHook.errors[0].Data["status"]) } -func Test_defaultErrorHandler_JSON(t *testing.T) { +func Test_defaultErrorHandler_JSON_development(t *testing.T) { r := require.New(t) app := New(Options{}) app.GET("/", func(c Context) error { @@ -83,7 +83,7 @@ func Test_defaultErrorHandler_JSON(t *testing.T) { r.Contains(b, `"trace":"`) } -func Test_defaultErrorHandler_XML(t *testing.T) { +func Test_defaultErrorHandler_XML_development(t *testing.T) { r := require.New(t) app := New(Options{}) app.GET("/", func(c Context) error { @@ -103,6 +103,46 @@ func Test_defaultErrorHandler_XML(t *testing.T) { r.Contains(b, ``) } +func Test_defaultErrorHandler_JSON_production(t *testing.T) { + r := require.New(t) + app := New(Options{}) + app.Env = "production" + app.GET("/", func(c Context) error { + return c.Error(http.StatusUnauthorized, fmt.Errorf("boom")) + }) + + w := httptest.New(app) + res := w.JSON("/").Get() + r.Equal(http.StatusUnauthorized, res.Code) + ct := res.Header().Get("content-type") + r.Equal("application/json", ct) + b := res.Body.String() + r.Contains(b, `"code":401`) + r.Contains(b, fmt.Sprintf(`"error":"%s"`, http.StatusText(http.StatusUnauthorized))) + r.NotContains(b, `"trace":"`) +} + +func Test_defaultErrorHandler_XML_production(t *testing.T) { + r := require.New(t) + app := New(Options{}) + app.Env = "production" + app.GET("/", func(c Context) error { + return c.Error(http.StatusUnauthorized, fmt.Errorf("boom")) + }) + + w := httptest.New(app) + res := w.XML("/").Get() + r.Equal(http.StatusUnauthorized, res.Code) + ct := res.Header().Get("content-type") + r.Equal("text/xml", ct) + b := res.Body.String() + r.Contains(b, ``) + r.Contains(b, fmt.Sprintf(`%s`, http.StatusText(http.StatusUnauthorized))) + r.NotContains(b, ``) + r.NotContains(b, ``) + r.Contains(b, ``) +} + func Test_PanicHandler(t *testing.T) { app := New(Options{}) app.GET("/string", func(c Context) error { diff --git a/runtime/version.go b/runtime/version.go index 84e7db05b..bdc269743 100644 --- a/runtime/version.go +++ b/runtime/version.go @@ -1,4 +1,4 @@ package runtime // Version is the current version of the buffalo binary -var Version = "v0.16.22" +var Version = "v0.16.23" From 4d99ca5116da96ebb9f995f288574c7e4fdca36f Mon Sep 17 00:00:00 2001 From: Matthias Fasching Date: Wed, 16 Jun 2021 14:19:12 +0200 Subject: [PATCH 44/64] Fix build issues with golang 1.16 (#2113) * Fix build issue #2074 * Stick with go 1.15 for compatibility Co-authored-by: Matthias Fasching --- Dockerfile.build | 2 +- Dockerfile.slim.build | 2 +- genny/build/build.go | 6 +- go.mod | 38 +++--- go.sum | 284 +++++++++++++++++++++++++++++++++--------- runtime/version.go | 2 +- 6 files changed, 247 insertions(+), 87 deletions(-) diff --git a/Dockerfile.build b/Dockerfile.build index 79cd4d004..7a2eb809c 100644 --- a/Dockerfile.build +++ b/Dockerfile.build @@ -32,7 +32,7 @@ RUN npm install -g --no-progress yarn \ # Install golangci RUN curl -sfL https://install.goreleaser.com/github.com/golangci/golangci-lint.sh | sh -s -- -b $(go env GOPATH)/bin v1.24.0 # Installing buffalo binary -RUN curl -sf https://gobinaries.com/gobuffalo/buffalo/buffalo@v0.16.23 | sh +RUN curl -sf https://gobinaries.com/gobuffalo/buffalo/buffalo@v0.16.24 | sh RUN go get github.com/gobuffalo/buffalo-pop/v2 RUN buffalo version diff --git a/Dockerfile.slim.build b/Dockerfile.slim.build index da3ffccb0..8d5dfe571 100644 --- a/Dockerfile.slim.build +++ b/Dockerfile.slim.build @@ -17,7 +17,7 @@ RUN npm i -g --no-progress yarn \ && yarn config set yarn-offline-mirror-pruning true # Pulling docker binary from releases -RUN curl -sf https://gobinaries.com/gobuffalo/buffalo/buffalo@v0.16.23| sh +RUN curl -sf https://gobinaries.com/gobuffalo/buffalo/buffalo@v0.16.24 | sh RUN go get github.com/gobuffalo/buffalo-pop/v2 RUN buffalo version diff --git a/genny/build/build.go b/genny/build/build.go index 622609a5f..a4edfa397 100644 --- a/genny/build/build.go +++ b/genny/build/build.go @@ -88,13 +88,13 @@ func New(opts *Options) (*genny.Generator, error) { if err != nil { return g, err } - g.Command(c) - - g.RunFn(Cleanup(opts)) + g.Command(c) g.RunFn(func(r *genny.Runner) error { events.EmitPayload(EvtBuildStop, events.Payload{"opts": opts}) return nil }) + + g.RunFn(Cleanup(opts)) return g, nil } diff --git a/go.mod b/go.mod index 917858f84..1f55cac2b 100644 --- a/go.mod +++ b/go.mod @@ -5,9 +5,9 @@ go 1.15 require ( github.com/BurntSushi/toml v0.3.1 github.com/dustin/go-humanize v1.0.0 - github.com/fatih/color v1.9.0 + github.com/fatih/color v1.12.0 github.com/gobuffalo/attrs v1.0.0 - github.com/gobuffalo/buffalo-pop/v2 v2.0.4 + github.com/gobuffalo/buffalo-pop/v2 v2.3.0 github.com/gobuffalo/clara/v2 v2.0.2 github.com/gobuffalo/envy v1.9.0 github.com/gobuffalo/events v1.4.1 @@ -16,32 +16,32 @@ require ( github.com/gobuffalo/github_flavored_markdown v1.1.0 github.com/gobuffalo/helpers v0.6.2 github.com/gobuffalo/httptest v1.5.0 - github.com/gobuffalo/logger v1.0.3 + github.com/gobuffalo/logger v1.0.4 github.com/gobuffalo/meta v0.3.0 - github.com/gobuffalo/nulls v0.2.0 + github.com/gobuffalo/nulls v0.4.0 github.com/gobuffalo/packd v1.0.0 - github.com/gobuffalo/packr/v2 v2.8.0 - github.com/gobuffalo/plush/v4 v4.1.4 - github.com/gobuffalo/pop/v5 v5.3.3 + github.com/gobuffalo/packr/v2 v2.8.1 + github.com/gobuffalo/plush/v4 v4.1.5 + github.com/gobuffalo/pop/v5 v5.3.4 github.com/gobuffalo/tags/v3 v3.1.0 - github.com/google/go-cmp v0.4.0 - github.com/gorilla/handlers v1.4.2 - github.com/gorilla/mux v1.7.4 - github.com/gorilla/sessions v1.2.0 + github.com/google/go-cmp v0.5.6 + github.com/gorilla/handlers v1.5.1 + github.com/gorilla/mux v1.8.0 + github.com/gorilla/sessions v1.2.1 github.com/karrick/godirwalk v1.16.1 github.com/markbates/grift v1.5.0 github.com/markbates/oncer v1.0.0 github.com/markbates/refresh v1.11.1 github.com/markbates/safe v1.0.1 github.com/markbates/sigtx v1.0.0 - github.com/monoculum/formam v0.0.0-20200905010316-d7a8fbd33677 - github.com/sirupsen/logrus v1.5.0 - github.com/spf13/cobra v0.0.6 + github.com/monoculum/formam v0.0.0-20210523135142-1af3317b7b9b + github.com/sirupsen/logrus v1.8.1 + github.com/spf13/cobra v1.1.3 github.com/spf13/pflag v1.0.5 - github.com/spf13/viper v1.7.0 - github.com/stretchr/testify v1.5.1 - golang.org/x/sync v0.0.0-20200317015054-43a5402ce75a - golang.org/x/tools v0.0.0-20200323192200-8849913b6971 + github.com/spf13/viper v1.7.1 + github.com/stretchr/testify v1.7.0 + golang.org/x/sync v0.0.0-20210220032951-036812b2e83c + golang.org/x/tools v0.1.3 gopkg.in/alexcesaro/quotedprintable.v3 v3.0.0-20150716171945-2caba252f4dc - gopkg.in/yaml.v2 v2.2.8 + gopkg.in/yaml.v2 v2.4.0 ) diff --git a/go.sum b/go.sum index 52dc05088..91c85f964 100644 --- a/go.sum +++ b/go.sum @@ -21,34 +21,56 @@ git.apache.org/thrift.git v0.0.0-20180902110319-2566ecd5d999/go.mod h1:fPE2ZNJGy github.com/BurntSushi/toml v0.3.1 h1:WXkYYl6Yr3qBf1K79EBnL4mak0OimBfB0XUf9Vl28OQ= github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= +github.com/Knetic/govaluate v3.0.1-0.20171022003610-9aa49832a739+incompatible/go.mod h1:r7JcOSlj0wfOMncg0iLm8Leh48TZaKVeNIfJntJ2wa0= github.com/Masterminds/semver v1.4.2/go.mod h1:MB6lktGJrhw8PrUyiEoblNEGEQ+RzHPF078ddwwvV3Y= github.com/Masterminds/semver v1.5.0 h1:H65muMkzWKEuNDnfl9d70GUjFniHKHRbFPGBuZ3QEww= github.com/Masterminds/semver v1.5.0/go.mod h1:MB6lktGJrhw8PrUyiEoblNEGEQ+RzHPF078ddwwvV3Y= -github.com/Masterminds/semver/v3 v3.0.3 h1:znjIyLfpXEDQjOIEWh+ehwpTU14UzUPub3c3sm36u14= github.com/Masterminds/semver/v3 v3.0.3/go.mod h1:VPu/7SZ7ePZ3QOrcuXROw5FAcLl4a0cBrbBpGY/8hQs= +github.com/Masterminds/semver/v3 v3.1.1 h1:hLg3sBzpNErnxhQtUy/mmLR2I9foDujNK030IGemrRc= +github.com/Masterminds/semver/v3 v3.1.1/go.mod h1:VPu/7SZ7ePZ3QOrcuXROw5FAcLl4a0cBrbBpGY/8hQs= github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU= +github.com/Shopify/sarama v1.19.0/go.mod h1:FVkBWblsNy7DGZRfXLU0O9RCGt5g3g3yEuWXgklEdEo= +github.com/Shopify/toxiproxy v2.1.4+incompatible/go.mod h1:OXgGpZ6Cli1/URJOF1DMxUHB2q5Ap20/P/eIdh4G0pI= +github.com/VividCortex/gohistogram v1.0.0/go.mod h1:Pf5mBqqDxYaXu3hDrrU+w6nw50o/4+TcAqDqk/vUH7g= +github.com/afex/hystrix-go v0.0.0-20180502004556-fa1af6a1f4f5/go.mod h1:SkGFH1ia65gfNATL8TAiHDNxPzPdmEL5uirI2Uyuz6c= github.com/ajg/form v0.0.0-20160822230020-523a5da1a92f/go.mod h1:uL1WgH+h2mgNtvBq0339dVnzXdBETtL2LeUXaIv25UY= github.com/ajg/form v1.5.1/go.mod h1:uL1WgH+h2mgNtvBq0339dVnzXdBETtL2LeUXaIv25UY= github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= +github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= +github.com/alecthomas/units v0.0.0-20190717042225-c3de453c63f4/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= github.com/anmitsu/go-shlex v0.0.0-20161002113705-648efa622239/go.mod h1:2FmKhYUyUczH0OGQWaF5ceTx0UBShxjsH6f8oGKYe2c= +github.com/apache/thrift v0.12.0/go.mod h1:cp2SuWMxlEZw2r+iP2GNCdIi4C1qmUzdZFSVb+bacwQ= +github.com/apache/thrift v0.13.0/go.mod h1:cp2SuWMxlEZw2r+iP2GNCdIi4C1qmUzdZFSVb+bacwQ= github.com/armon/circbuf v0.0.0-20150827004946-bbbad097214e/go.mod h1:3U/XgcO3hCbHZ8TKRvWD2dDTCfh9M9ya+I9JpbB7O8o= github.com/armon/consul-api v0.0.0-20180202201655-eb2c6b5be1b6/go.mod h1:grANhF5doyWs3UAsr3K4I6qtAmlQcZDesFNEHPZAzj8= github.com/armon/go-metrics v0.0.0-20180917152333-f0300d1749da/go.mod h1:Q73ZrmVTwzkszR9V5SSuryQ31EELlFMUz1kKyl939pY= github.com/armon/go-radix v0.0.0-20180808171621-7fddfc383310/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= +github.com/aryann/difflib v0.0.0-20170710044230-e206f873d14a/go.mod h1:DAHtR1m6lCRdSC2Tm3DSWRPvIPr6xNKyeHdqDQSQT+A= +github.com/aws/aws-lambda-go v1.13.3/go.mod h1:4UKl9IzQMoD+QF79YdCuzCwp8VbmG4VAQwij/eHl5CU= +github.com/aws/aws-sdk-go v1.27.0/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo= +github.com/aws/aws-sdk-go-v2 v0.18.0/go.mod h1:JWVYvqSMppoMJC0x5wdwiImzgXTI9FuZwxzkQq9wy+g= github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8= +github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= github.com/bgentry/speakeasy v0.1.0/go.mod h1:+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kBD4zp0CCIs= github.com/bketelsen/crypt v0.0.3-0.20200106085610-5cbc8cc4026c/go.mod h1:MKsuJmJgSg28kpZDP6UIiPt0e0Oz0kqKNGyRaWEPv84= github.com/blang/semver v3.5.1+incompatible/go.mod h1:kRBLl5iJ+tD4TcOOxsy/0fnwebNt5EWlYSAyrTnjyyk= github.com/bradfitz/go-smtpd v0.0.0-20170404230938-deb6d6237625/go.mod h1:HYsPBTaaSFSlLx/70C2HPIMNZpVV8+vt/A+FMnYP11g= +github.com/casbin/casbin/v2 v2.1.2/go.mod h1:YcPU1XXisHhLzuxH9coDNf2FbKpjGlbCg3n9yuLkIJQ= +github.com/cenkalti/backoff v2.2.1+incompatible/go.mod h1:90ReRw6GdpyfrHakVjL/QHaoyV4aDUVVkXQJJJ3NXXM= +github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc= +github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= +github.com/clbanning/x2j v0.0.0-20191024224557-825249438eec/go.mod h1:jMjuTZXRI4dUb/I5gc9Hdhagfvm9+RyrPryS/auMzxE= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= +github.com/cockroachdb/apd v1.1.0 h1:3LFP3629v+1aKXU5Q37mxmRxX/pIu1nijXydLShEq5I= github.com/cockroachdb/apd v1.1.0/go.mod h1:8Sl8LxpKi29FqWXR16WEFZRNSz3SoPzUzeMeY4+DwBQ= github.com/cockroachdb/cockroach-go v0.0.0-20181001143604-e0a95dfd547c/go.mod h1:XGLbWH/ujMcbPbhZq52Nv6UrCghb1yGn//133kEsvDk= github.com/cockroachdb/cockroach-go v0.0.0-20190916165215-ad57a61cc915/go.mod h1:XGLbWH/ujMcbPbhZq52Nv6UrCghb1yGn//133kEsvDk= -github.com/cockroachdb/cockroach-go v0.0.0-20190925194419-606b3d062051 h1:eApuUG8W2EtBVwxqLlY2wgoqDYOg3WvIHGvW4fUbbow= github.com/cockroachdb/cockroach-go v0.0.0-20190925194419-606b3d062051/go.mod h1:XGLbWH/ujMcbPbhZq52Nv6UrCghb1yGn//133kEsvDk= +github.com/cockroachdb/datadriven v0.0.0-20190809214429-80d97fb3cbaa/go.mod h1:zn76sxSg3SzpJ0PPJaLDCu+Bu0Lg3sKTORVIj19EIF8= +github.com/codahale/hdrhistogram v0.0.0-20161010025455-3a0bb77429bd/go.mod h1:sE/e/2PUdi/liOCUjSTXgM1o87ZssimdTWN964YiIeI= github.com/codegangsta/negroni v1.0.0/go.mod h1:v0y3T5G7Y1UlFfyxFn/QLRU4a2EuNau2iZY63YTKWo0= github.com/coreos/bbolt v1.3.2/go.mod h1:iRUV2dpdMOn7Bo10OQBFzIJO9kkE559Wcmn+qkEiiKk= github.com/coreos/etcd v3.3.10+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE= @@ -56,11 +78,14 @@ github.com/coreos/etcd v3.3.13+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc github.com/coreos/go-etcd v2.0.0+incompatible/go.mod h1:Jez6KQU2B/sWsbdaef3ED8NzMklzPG4d5KIOhIy30Tk= github.com/coreos/go-semver v0.2.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= github.com/coreos/go-semver v0.3.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= +github.com/coreos/go-systemd v0.0.0-20180511133405-39ca1b05acc7/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= github.com/coreos/go-systemd v0.0.0-20181012123002-c6f51f82210d/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= github.com/coreos/go-systemd v0.0.0-20190719114852-fd7a80b32e1f/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= +github.com/coreos/pkg v0.0.0-20160727233714-3ac0863d7acf/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA= github.com/coreos/pkg v0.0.0-20180928190104-399ea9e2e55f/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA= github.com/cpuguy83/go-md2man v1.0.10/go.mod h1:SmD6nW6nTyfqj6ABTjUi3V3JVMnlJmwcJI5acqYI6dE= +github.com/cpuguy83/go-md2man/v2 v2.0.0-20190314233015-f79a8a8ca69d/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU= github.com/cpuguy83/go-md2man/v2 v2.0.0/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU= github.com/creack/pty v1.1.7/go.mod h1:lj5s0c3V2DBrqTV7llrYr5NG6My20zk30Fl46Y7DoTY= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= @@ -68,24 +93,40 @@ 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/dgrijalva/jwt-go v3.2.0+incompatible/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ= github.com/dgryski/go-sip13 v0.0.0-20181026042036-e10d5fee7954/go.mod h1:vAd38F8PWV+bWy6jNmig1y/TA+kYO4g3RSRF0IAv0no= +github.com/dustin/go-humanize v0.0.0-20171111073723-bb3d318650d4/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= github.com/dustin/go-humanize v0.0.0-20180713052910-9f541cc9db5d/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= 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/eapache/go-resiliency v1.1.0/go.mod h1:kFI+JgMyC7bLPUVY133qvEBtVayf5mFgVsvEsIPBvNs= +github.com/eapache/go-xerial-snappy v0.0.0-20180814174437-776d5712da21/go.mod h1:+020luEh2TKB4/GOp8oxxtq0Daoen/Cii55CzbTV6DU= +github.com/eapache/queue v1.1.0/go.mod h1:6eCeP0CKFpHLu8blIFXhExK/dRa7WDZfr6jVFPTqq+I= +github.com/edsrzf/mmap-go v1.0.0/go.mod h1:YO35OhQPt3KJa3ryjFM5Bs14WD66h8eGKpfaBNrHW5M= +github.com/envoyproxy/go-control-plane v0.6.9/go.mod h1:SBwIajubJHhxtWwsL9s8ss4safvEdbitLhGGK48rN6g= +github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= +github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4= -github.com/fatih/color v1.9.0 h1:8xPHl4/q1VyqGIPif1F+1V3Y3lSmrq01EabUW3CoW5s= github.com/fatih/color v1.9.0/go.mod h1:eQcE1qtQxscV5RaZvpXrrb8Drkc3/DdQ+uUYCNjL+zU= +github.com/fatih/color v1.12.0 h1:mRhaKNwANqRgUBGKmnI5ZxEk7QXmjQeCcuYFMX2bfcc= +github.com/fatih/color v1.12.0/go.mod h1:ELkj/draVOlAH/xkhN6mQ50Qd0MPOk5AAr3maGEBuJM= github.com/fatih/structs v1.0.0/go.mod h1:9NiDSp5zOcgEDl+j00MP/WkGVPOlPRLejGD8Ga6PJ7M= github.com/fatih/structs v1.1.0 h1:Q7juDM0QtcnhCpeyLGQKyg4TOIghuNXrkL32pHAUMxo= github.com/fatih/structs v1.1.0/go.mod h1:9NiDSp5zOcgEDl+j00MP/WkGVPOlPRLejGD8Ga6PJ7M= +github.com/felixge/httpsnoop v1.0.1 h1:lvB5Jl89CsZtGIWuTcDM1E/vkVs49/Ml7JJe07l8SPQ= +github.com/felixge/httpsnoop v1.0.1/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= github.com/flynn/go-shlex v0.0.0-20150515145356-3f9db97f8568/go.mod h1:xEzjJPgXI435gkrCt3MPfRiAkVrwSbHsst4LCFVfpJc= +github.com/franela/goblin v0.0.0-20200105215937-c9ffbefa60db/go.mod h1:7dvUGVsVBjqR7JHJk0brhHOZYGmfBYOrK0ZhYMEtBr4= +github.com/franela/goreq v0.0.0-20171204163338-bcd34c9993f8/go.mod h1:ZhphrRTfi2rbfLwlschooIH4+wKKDR4Pdxhh+TRoA20= github.com/fsnotify/fsnotify v1.4.7 h1:IXs+QLmnXW2CcXuY+8Mzv/fWEsPGWxqefPtCP5CnV9I= github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= github.com/gliderlabs/ssh v0.1.1/go.mod h1:U7qILu1NlMHj9FlMhZLlkCdDnU1DBEAqr0aevW3Awn0= github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU= github.com/go-kit/kit v0.8.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= +github.com/go-kit/kit v0.9.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= +github.com/go-kit/kit v0.10.0/go.mod h1:xUsJbQ/Fp4kEt7AFgCuvyX4a71u8h9jB8tj/ORgOZ7o= github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9GBnD5lWE= github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk= +github.com/go-logfmt/logfmt v0.5.0/go.mod h1:wCYkCAKZfumFQihp8CzCvQ3paCTfi41vtzG1KdI/P7A= github.com/go-sql-driver/mysql v1.4.0/go.mod h1:zAC/RDZ24gD3HViQzih4MyKcchzm+sOG5ZlKdlhCg5w= github.com/go-sql-driver/mysql v1.4.1/go.mod h1:zAC/RDZ24gD3HViQzih4MyKcchzm+sOG5ZlKdlhCg5w= github.com/go-sql-driver/mysql v1.5.0 h1:ozyZYNQW3x3HtqT1jira07DN2PArx2v7/mN66gGcHOs= @@ -164,8 +205,8 @@ github.com/gobuffalo/buffalo-pop v1.17.2/go.mod h1:nyOm0mtmp9/+m2NaXrp+9SqtuKZsl github.com/gobuffalo/buffalo-pop v1.22.0/go.mod h1:S8uJpbC9PUMFA6ZWbPnbk3c32n4vJ32p5NLsREcz+H8= github.com/gobuffalo/buffalo-pop v1.23.1 h1:AnxJQZu/ZN7HCm3L8YBJoNWc2UiwSe6UHv5S4DfXUDA= github.com/gobuffalo/buffalo-pop v1.23.1/go.mod h1:Sb+fy/hLtxfhOrtLAJiL7JsKqazydmAVqp5rcHio/yg= -github.com/gobuffalo/buffalo-pop/v2 v2.0.4 h1:6vNx2vxKxkyDKcz1v5bVAfqknPqPmW3O92/XsSlvSwI= -github.com/gobuffalo/buffalo-pop/v2 v2.0.4/go.mod h1:92Pr10dTvyrYR0YWUr0FLJLQDy3E4iliugKRpHPDDOc= +github.com/gobuffalo/buffalo-pop/v2 v2.3.0 h1:Xy8HVOf0gL9kkEAucPNMdSpwhUGy95DbQ0qTRTQBPOw= +github.com/gobuffalo/buffalo-pop/v2 v2.3.0/go.mod h1:JTPnhmIjK3IW8mNI9UFbngNw0HVobXtcVyAD/w9xMTE= github.com/gobuffalo/clara v0.4.1/go.mod h1:3QgAPqYgPqAzhfGbNLlp4UztaZRi2SOg+ZrZwaq9L94= github.com/gobuffalo/clara v0.6.0/go.mod h1:RKZxkcH80pLykRi2hLkoxGMxA8T06Dc9fN/pFvutMFY= github.com/gobuffalo/clara v0.7.0/go.mod h1:pen7ZMmnuYUYVF/3BbnvidYVAbMEfkyO4O+Tc+FKICU= @@ -226,8 +267,6 @@ github.com/gobuffalo/fizz v1.8.0/go.mod h1:2LqJOOGUp1JpN9m54ac5jMQ1MpbNvSVbFi9BY github.com/gobuffalo/fizz v1.9.0/go.mod h1:2LqJOOGUp1JpN9m54ac5jMQ1MpbNvSVbFi9BY+AEXOo= github.com/gobuffalo/fizz v1.9.2/go.mod h1:XJb7Do1keOPkaJnJ48OCjV+7ABQ7mbOqui2WfDobXTQ= github.com/gobuffalo/fizz v1.9.5/go.mod h1:v9cFl56oXm+hNNayTsIQHnq209bTDUbIM8GYWCJw3TE= -github.com/gobuffalo/fizz v1.9.8 h1:K0uXVQ/hF1NaETpW++bTvK4A+42GCioKzpvdtSfkiRM= -github.com/gobuffalo/fizz v1.9.8/go.mod h1:w1FEn1yKNVCc49KnADGyYGRPH7jFON3ak4Bj1yUudHo= github.com/gobuffalo/fizz v1.10.0 h1:I8vad0PnmR+CLjSnZ5L5jlhBm4S88UIGOoZZL3/3e24= github.com/gobuffalo/fizz v1.10.0/go.mod h1:J2XGPO0AfJ1zKw7+2BA+6FEGAkyEsdCOLvN93WCT2WI= github.com/gobuffalo/flect v0.0.0-20180907193754-dc14d8acaf9f/go.mod h1:rCiQgmAE4axgBNl3jZWzS5rETRYTGOsrixTRaCPzNdA= @@ -321,7 +360,6 @@ github.com/gobuffalo/helpers v0.2.4/go.mod h1:NX7v27yxPDOPTgUFYmJ5ow37EbxdoLrauc github.com/gobuffalo/helpers v0.4.0/go.mod h1:2q/ZnVxCehM4/y1bNz3+wXsvWvWUY+iTUr7mPC6QqGQ= github.com/gobuffalo/helpers v0.5.0/go.mod h1:stpgxJ2C7T99NLyAxGUnYMM2zAtBk5NKQR0SIbd05j4= github.com/gobuffalo/helpers v0.6.0/go.mod h1:pncVrer7x/KRvnL5aJABLAuT/RhKRR9klL6dkUOhyv8= -github.com/gobuffalo/helpers v0.6.1 h1:LLcL4BsiyDQYtMRUUpyFdBFvFXQ6hNYOpwrcYeilVWM= github.com/gobuffalo/helpers v0.6.1/go.mod h1:wInbDi0vTJKZBviURTLRMFLE4+nF2uRuuL2fnlYo7w4= github.com/gobuffalo/helpers v0.6.2 h1:0caYR4GAtgZ/O0vTU2uyoMxtqRXUcKaIyRlRnw0GRgw= github.com/gobuffalo/helpers v0.6.2/go.mod h1:wInbDi0vTJKZBviURTLRMFLE4+nF2uRuuL2fnlYo7w4= @@ -366,8 +404,9 @@ github.com/gobuffalo/logger v0.0.0-20190224201004-be78ebfea0fa/go.mod h1:+HxKANr github.com/gobuffalo/logger v0.0.0-20190315122211-86e12af44bc2/go.mod h1:QdxcLw541hSGtBnhUc4gaNIXRjiDppFGaDqzbrBd3v8= github.com/gobuffalo/logger v1.0.0/go.mod h1:2zbswyIUa45I+c+FLXuWl9zSWEiVuthsk8ze5s8JvPs= github.com/gobuffalo/logger v1.0.1/go.mod h1:2zbswyIUa45I+c+FLXuWl9zSWEiVuthsk8ze5s8JvPs= -github.com/gobuffalo/logger v1.0.3 h1:YaXOTHNPCvkqqA7w05A4v0k2tCdpr+sgFlgINbQ6gqc= github.com/gobuffalo/logger v1.0.3/go.mod h1:SoeejUwldiS7ZsyCBphOGURmWdwUFXs0J7TCjEhjKxM= +github.com/gobuffalo/logger v1.0.4 h1:HFJRqL7AmL4QNvQb9Grss9sDz+3u02VBgAoR03A7q4o= +github.com/gobuffalo/logger v1.0.4/go.mod h1:/GRUdWb+gM3shxj0P5jiV6ecVS3X0aboJvl+hBu0HeE= github.com/gobuffalo/makr v1.1.5/go.mod h1:Y+o0btAH1kYAMDJW/TX3+oAXEu0bmSLLoC9mIFxtzOw= github.com/gobuffalo/makr v1.2.0/go.mod h1:SFQUrDtwDpmQ6BxKJqxg0emc4KkNzzvUtAtnHiVK/QQ= github.com/gobuffalo/mapi v1.0.0/go.mod h1:4VAGh89y6rVOvm5A8fKFxYG+wIW6LO1FMTG9hnKStFc= @@ -409,8 +448,9 @@ github.com/gobuffalo/mw-tokenauth v0.0.0-20181001105134-8545f626c189/go.mod h1:U github.com/gobuffalo/mw-tokenauth v0.0.0-20190129201951-95847f29c5c8/go.mod h1:n2oa93LHGD94hGI+PoJO+6cf60DNrXrAIv9L/Ke3GXc= github.com/gobuffalo/nulls v0.0.0-20190305142546-85f3c9250d87/go.mod h1:KhaLCW+kFA/G97tZkmVkIxhRw3gvZszJn7JjPLI3gtI= github.com/gobuffalo/nulls v0.1.0/go.mod h1:/HRtuDRoVoN5fABk3J6jzZaGEdcIZEMs0qczj71eKZY= -github.com/gobuffalo/nulls v0.2.0 h1:7R0Uec6JlZI02TR29zrs3KFIuUV8Sqe/s/j3yLvs+gc= github.com/gobuffalo/nulls v0.2.0/go.mod h1:w4q8RoSCEt87Q0K0sRIZWYeIxkxog5mh3eN3C/n+dUc= +github.com/gobuffalo/nulls v0.4.0 h1:xi+JHGWIetYqLmS520dSWc8Ifj1P0aNXKTVDMVsPXmw= +github.com/gobuffalo/nulls v0.4.0/go.mod h1:2KmsoLnMrxpwPLN5LmBbm6tmttHSIZr/v/OdGsATM3M= github.com/gobuffalo/packd v0.0.0-20181027182251-01ad393492c8/go.mod h1:SmdBdhj6uhOsg1Ui4SFAyrhuc7U4VCildosO5IDJ3lc= github.com/gobuffalo/packd v0.0.0-20181027190505-aafc0d02c411/go.mod h1:SmdBdhj6uhOsg1Ui4SFAyrhuc7U4VCildosO5IDJ3lc= github.com/gobuffalo/packd v0.0.0-20181027194105-7ae579e6d213/go.mod h1:SmdBdhj6uhOsg1Ui4SFAyrhuc7U4VCildosO5IDJ3lc= @@ -473,8 +513,9 @@ github.com/gobuffalo/packr/v2 v2.5.2/go.mod h1:sgEE1xNZ6G0FNN5xn9pevVu4nywaxHvgu github.com/gobuffalo/packr/v2 v2.5.3/go.mod h1:sgEE1xNZ6G0FNN5xn9pevVu4nywaxHvgup67xisti08= github.com/gobuffalo/packr/v2 v2.6.0/go.mod h1:sgEE1xNZ6G0FNN5xn9pevVu4nywaxHvgup67xisti08= github.com/gobuffalo/packr/v2 v2.7.1/go.mod h1:qYEvAazPaVxy7Y7KR0W8qYEE+RymX74kETFqjFoFlOc= -github.com/gobuffalo/packr/v2 v2.8.0 h1:IULGd15bQL59ijXLxEvA5wlMxsmx/ZkQv9T282zNVIY= github.com/gobuffalo/packr/v2 v2.8.0/go.mod h1:PDk2k3vGevNE3SwVyVRgQCCXETC9SaONCNSXT1Q8M1g= +github.com/gobuffalo/packr/v2 v2.8.1 h1:tkQpju6i3EtMXJ9uoF5GT6kB+LMTimDWD8Xvbz6zDVA= +github.com/gobuffalo/packr/v2 v2.8.1/go.mod h1:c/PLlOuTU+p3SybaJATW3H6lX/iK7xEz5OeMf+NnJpg= github.com/gobuffalo/plush v3.7.16+incompatible/go.mod h1:rQ4zdtUUyZNqULlc6bqd5scsPfLKfT0+TGMChgduDvI= github.com/gobuffalo/plush v3.7.20+incompatible/go.mod h1:rQ4zdtUUyZNqULlc6bqd5scsPfLKfT0+TGMChgduDvI= github.com/gobuffalo/plush v3.7.21+incompatible/go.mod h1:rQ4zdtUUyZNqULlc6bqd5scsPfLKfT0+TGMChgduDvI= @@ -489,10 +530,9 @@ github.com/gobuffalo/plush v3.8.0+incompatible/go.mod h1:rQ4zdtUUyZNqULlc6bqd5sc github.com/gobuffalo/plush v3.8.2+incompatible/go.mod h1:rQ4zdtUUyZNqULlc6bqd5scsPfLKfT0+TGMChgduDvI= github.com/gobuffalo/plush v3.8.3+incompatible h1:kzvUTnFPhwyfPEsx7U7LI05/IIslZVGnAlMA1heWub8= github.com/gobuffalo/plush v3.8.3+incompatible/go.mod h1:rQ4zdtUUyZNqULlc6bqd5scsPfLKfT0+TGMChgduDvI= -github.com/gobuffalo/plush/v4 v4.0.0 h1:ZHdmfr2R7DQ77XzWZK2PGKJOXm9NRy21EZ6Rw7FhuNw= github.com/gobuffalo/plush/v4 v4.0.0/go.mod h1:ErFS3UxKqEb8fpFJT7lYErfN/Nw6vHGiDMTjxpk5bQ0= -github.com/gobuffalo/plush/v4 v4.1.4 h1:x/B1hbwiO+Mh4JsoNdHtQXVoYhKjqUBw9u/ARxiFY3Y= -github.com/gobuffalo/plush/v4 v4.1.4/go.mod h1:ErFS3UxKqEb8fpFJT7lYErfN/Nw6vHGiDMTjxpk5bQ0= +github.com/gobuffalo/plush/v4 v4.1.5 h1:vXkdb99kUqlgJMcdW4KeewnZgwbo26heEDdTdJTTUi4= +github.com/gobuffalo/plush/v4 v4.1.5/go.mod h1:ErFS3UxKqEb8fpFJT7lYErfN/Nw6vHGiDMTjxpk5bQ0= github.com/gobuffalo/plushgen v0.0.0-20181128164830-d29dcb966cb2/go.mod h1:r9QwptTFnuvSaSRjpSp4S2/4e2D3tJhARYbvEBcKSb4= github.com/gobuffalo/plushgen v0.0.0-20181203163832-9fc4964505c2/go.mod h1:opEdT33AA2HdrIwK1aibqnTJDVVKXC02Bar/GT1YRVs= github.com/gobuffalo/plushgen v0.0.0-20181207152837-eedb135bd51b/go.mod h1:Lcw7HQbEVm09sAQrCLzIxuhFbB3nAgp4c55E+UlynR0= @@ -525,11 +565,9 @@ github.com/gobuffalo/pop v4.12.1+incompatible/go.mod h1:DwBz3SD5SsHpTZiTubcsFWcV github.com/gobuffalo/pop v4.12.2+incompatible/go.mod h1:DwBz3SD5SsHpTZiTubcsFWcVDpJWGsxjVjMPnkiThWg= github.com/gobuffalo/pop v4.13.1+incompatible h1:AhbqPxNOBN/DBb2DBaiBqzOXIBQXxEYzngHHJ+ytP4g= github.com/gobuffalo/pop v4.13.1+incompatible/go.mod h1:DwBz3SD5SsHpTZiTubcsFWcVDpJWGsxjVjMPnkiThWg= -github.com/gobuffalo/pop/v5 v5.0.9/go.mod h1:mZJHJbA3cy2V18abXYuVop2ldEJ8UZ2DK6qOekC5u5g= -github.com/gobuffalo/pop/v5 v5.0.11 h1:BzSFbylk6+w2pEj+8yFHPxsShiJvg6ZV8rcAPNVdmtw= -github.com/gobuffalo/pop/v5 v5.0.11/go.mod h1:mZJHJbA3cy2V18abXYuVop2ldEJ8UZ2DK6qOekC5u5g= -github.com/gobuffalo/pop/v5 v5.3.3 h1:L8TRyREUSO2Jtai3DeqnPTHV0AOAMZYyf6TaVsLBVsc= -github.com/gobuffalo/pop/v5 v5.3.3/go.mod h1:Ey1hqzDLkWQKNEfsnafaz+3P1h/TrS++W9PmpGsNxvk= +github.com/gobuffalo/pop/v5 v5.3.0/go.mod h1:vcEDhh6cJ3WVENqJDFt/6z7zNb7lLnlN8vj3n5G9rYA= +github.com/gobuffalo/pop/v5 v5.3.4 h1:VWH74icA8khG8SyWDAq6Ch00jcPiC4n436JMFh0lLm0= +github.com/gobuffalo/pop/v5 v5.3.4/go.mod h1:UiVurv2aTKC7MuR27PnMrQjAazoLr8SoC/LuTKTS/tQ= github.com/gobuffalo/release v1.0.35/go.mod h1:VtHFAKs61vO3wboCec5xr9JPTjYyWYcvaM3lclkc4x4= github.com/gobuffalo/release v1.0.38/go.mod h1:VtHFAKs61vO3wboCec5xr9JPTjYyWYcvaM3lclkc4x4= github.com/gobuffalo/release v1.0.42/go.mod h1:RPs7EtafH4oylgetOJpGP0yCZZUiO4vqHfTHJjSdpug= @@ -588,10 +626,14 @@ github.com/gobuffalo/x v0.0.0-20190224155809-6bb134105960/go.mod h1:ig5vdn4+5IPt github.com/gofrs/uuid v3.1.0+incompatible/go.mod h1:b2aQJv3Z4Fp6yNu3cdSllBxTCLRxnplIgP/c0N/04lM= github.com/gofrs/uuid v3.2.0+incompatible h1:y12jRkkFxsd7GpqdSZ+/KCs/fJbqpEXSGd4+jfEaewE= github.com/gofrs/uuid v3.2.0+incompatible/go.mod h1:b2aQJv3Z4Fp6yNu3cdSllBxTCLRxnplIgP/c0N/04lM= +github.com/gogo/googleapis v1.1.0/go.mod h1:gf4bu3Q80BeJ6H1S1vYPm8/ELATdvryBaNFGgqEef3s= github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= +github.com/gogo/protobuf v1.2.0/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= github.com/gogo/protobuf v1.2.1/go.mod h1:hp+jE20tsWTFYpLwKvXlhS1hjn+gTNwPg2I6zVXpSg4= github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= +github.com/golang/groupcache v0.0.0-20160516000752-02826c3e7903/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/groupcache v0.0.0-20190129154638-5b532d6fd5ef/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= +github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= 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/mock v1.2.0/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= @@ -600,20 +642,24 @@ github.com/golang/protobuf v1.1.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5y github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= +github.com/golang/snappy v0.0.0-20180518054509-2e65f85255db/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= github.com/gomodule/redigo v2.0.0+incompatible/go.mod h1:B4C85qUVwatsJoIUNIfCRsp7qO0iAmpGFZ4EELWSbC4= github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= -github.com/google/go-cmp v0.4.0 h1:xsAVV57WRhGj6kEIi8ReJzQlHHqcBYCElAvkovg3B/4= github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= +github.com/google/go-cmp v0.5.6/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-github v17.0.0+incompatible/go.mod h1:zLgOLi98H3fifZn+44m+umXrS52loVEgC2AApnigrVQ= github.com/google/go-querystring v1.0.0/go.mod h1:odCYkC5MyYFN7vkCjXpyrEuKhc/BUO6wN/zVPAxq5ck= +github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs= github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= github.com/google/pprof v0.0.0-20190515194954-54271f7e092f/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI= +github.com/google/uuid v1.0.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/googleapis/gax-go v2.0.0+incompatible/go.mod h1:SFVmujtThgffbyetf+mdk2eWhX2bMyUtNHzFKcPA9HY= github.com/googleapis/gax-go/v2 v2.0.3/go.mod h1:LLvjysVCY1JZeum8Z6l8qUty8fiNwE08qbEPm1M08qg= github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg= @@ -621,31 +667,37 @@ github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5m github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1 h1:EGx4pi6eqNxGaHF6qqu48+N2wcFQ5qg5FXgOdqsJ5d8= github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY= github.com/gorilla/context v1.1.1/go.mod h1:kBGZzfjB9CEq2AlWe17Uuf7NDRt0dE0s8S51q0aT7Yg= -github.com/gorilla/handlers v1.4.2 h1:0QniY0USkHQ1RGCLfKxeNHK9bkDHGRYGNDFBCS+YARg= -github.com/gorilla/handlers v1.4.2/go.mod h1:Qkdc/uu4tH4g6mTK6auzZ766c4CA0Ng8+o/OAirnOIQ= +github.com/gorilla/handlers v1.5.1 h1:9lRY6j8DEeeBT10CvO9hGW0gmky0BprnvDI5vfhUHH4= +github.com/gorilla/handlers v1.5.1/go.mod h1:t8XrUpc4KVXb7HGyJ4/cEnwQiaxrX/hz1Zv/4g96P1Q= github.com/gorilla/mux v1.6.2/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs= github.com/gorilla/mux v1.7.0/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs= github.com/gorilla/mux v1.7.1/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs= github.com/gorilla/mux v1.7.2/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs= github.com/gorilla/mux v1.7.3/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs= -github.com/gorilla/mux v1.7.4 h1:VuZ8uybHlWmqV03+zRzdwKL4tUnIp1MAQtp1mIFE1bc= -github.com/gorilla/mux v1.7.4/go.mod h1:DVbg23sWSpFRCP0SfiEN6jmj59UnW/n46BH5rLB71So= +github.com/gorilla/mux v1.8.0 h1:i40aqfkR1h2SlN9hojwV5ZA91wcXFOvkdNIeFDP5koI= +github.com/gorilla/mux v1.8.0/go.mod h1:DVbg23sWSpFRCP0SfiEN6jmj59UnW/n46BH5rLB71So= github.com/gorilla/pat v0.0.0-20180118222023-199c85a7f6d1/go.mod h1:YeAe0gNeiNT5hoiZRI4yiOky6jVdNvfO2N6Kav/HmxY= github.com/gorilla/securecookie v1.1.1 h1:miw7JPhV+b/lAHSXz4qd/nN9jRiAFV5FwjeKyCS8BvQ= github.com/gorilla/securecookie v1.1.1/go.mod h1:ra0sb63/xPlUeL+yeDciTfxMRAA+MP+HVt/4epWDjd4= github.com/gorilla/sessions v1.1.2/go.mod h1:8KCfur6+4Mqcc6S0FEfKuN15Vl5MgXW92AE8ovaJD0w= github.com/gorilla/sessions v1.1.3/go.mod h1:8KCfur6+4Mqcc6S0FEfKuN15Vl5MgXW92AE8ovaJD0w= -github.com/gorilla/sessions v1.2.0 h1:S7P+1Hm5V/AT9cjEcUD5uDaQSX0OE577aCXgoaKpYbQ= github.com/gorilla/sessions v1.2.0/go.mod h1:dk2InVEVJ0sfLlnXv9EAgkf6ecYs/i80K/zI+bUmuGM= +github.com/gorilla/sessions v1.2.1 h1:DHd3rPN5lE3Ts3D8rKkQ8x/0kqfeNmBAaiSi+o7FsgI= +github.com/gorilla/sessions v1.2.1/go.mod h1:dk2InVEVJ0sfLlnXv9EAgkf6ecYs/i80K/zI+bUmuGM= +github.com/gorilla/websocket v0.0.0-20170926233335-4201258b820c/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ= github.com/gorilla/websocket v1.4.0/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ= github.com/gorilla/websocket v1.4.2/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= github.com/gregjones/httpcache v0.0.0-20180305231024-9cad4c3443a7/go.mod h1:FecbI9+v66THATjSRHfNgh1IVFe/9kFxbXtjV0ctIMA= github.com/grpc-ecosystem/go-grpc-middleware v1.0.0/go.mod h1:FiyG127CGDf3tlThmgyCl78X/SZQqEOJBCDaAfeWzPs= +github.com/grpc-ecosystem/go-grpc-middleware v1.0.1-0.20190118093823-f849b5445de4/go.mod h1:FiyG127CGDf3tlThmgyCl78X/SZQqEOJBCDaAfeWzPs= github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0/go.mod h1:8NvIoxWQoOIhqOTXgfV/d3M/q6VIi02HzZEHgUlZvzk= github.com/grpc-ecosystem/grpc-gateway v1.5.0/go.mod h1:RSKVYQBd5MCa4OVpNdGskqpgL2+G+NZTnrVHpWWfpdw= github.com/grpc-ecosystem/grpc-gateway v1.9.0/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY= +github.com/grpc-ecosystem/grpc-gateway v1.9.5/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY= github.com/hashicorp/consul/api v1.1.0/go.mod h1:VmuI/Lkw1nC05EYQWNKwWGbkg+FbDBtguAZLlVdkD9Q= +github.com/hashicorp/consul/api v1.3.0/go.mod h1:MmDNSzIMUjNpY/mQ398R4bk2FnqQLoPndWW5VkKPlCE= github.com/hashicorp/consul/sdk v0.1.1/go.mod h1:VKf9jXwCTEY1QZP2MOLRhb5i/I/ssyNV1vwHyQBF0x8= +github.com/hashicorp/consul/sdk v0.3.0/go.mod h1:VKf9jXwCTEY1QZP2MOLRhb5i/I/ssyNV1vwHyQBF0x8= github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= github.com/hashicorp/go-cleanhttp v0.5.1/go.mod h1:JpRdi6/HCYpAwUzNwuwqhbovhLtngrth3wmdIIUrZ80= github.com/hashicorp/go-immutable-radix v1.0.0/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60= @@ -656,6 +708,7 @@ github.com/hashicorp/go-sockaddr v1.0.0/go.mod h1:7Xibr9yA9JjQq1JpNB2Vw7kxv8xerX github.com/hashicorp/go-syslog v1.0.0/go.mod h1:qPfqrKkXGihmCqbJM2mZgkZGvKG1dFdvsLplgctolz4= github.com/hashicorp/go-uuid v1.0.0/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= github.com/hashicorp/go-uuid v1.0.1/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= +github.com/hashicorp/go-version v1.2.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= github.com/hashicorp/go.net v0.0.1/go.mod h1:hjKkEWcCURg++eb33jQU7oqQcI9XDCnUzHA0oac0k90= github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= @@ -666,8 +719,10 @@ github.com/hashicorp/mdns v1.0.0/go.mod h1:tL+uN++7HEJ6SQLQ2/p+z2pH24WQKWjBPkE0m github.com/hashicorp/memberlist v0.1.3/go.mod h1:ajVTdAv/9Im8oMAAj5G31PhhMCZJV2pPBoIllUwCN7I= github.com/hashicorp/serf v0.8.2/go.mod h1:6hOLApaqBFA1NXqRQAsxw9QxuDEvNxSQRwA/JwenrHc= github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= +github.com/hudl/fargo v1.3.0/go.mod h1:y3CKSmjA+wD2gak7sUSXTAoopbhU08POFhmITJgmKTg= github.com/inconshreveable/mousetrap v1.0.0 h1:Z8tu5sraLXCXIcARxBp/8cbvlwVa7Z1NHg9XEKhtSvM= github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8= +github.com/influxdata/influxdb1-client v0.0.0-20191209144304-8bf82d3c094d/go.mod h1:qj24IKcXYK6Iy9ceXlo3Tc+vtHo9lIhSX5JddghvEPo= github.com/jackc/chunkreader v1.0.0 h1:4s39bBR8ByfqH+DKm8rQA3E1LHZWB9XWcrz8fqaZbe0= github.com/jackc/chunkreader v1.0.0/go.mod h1:RT6O25fNZIuasFJRyZ4R/Y2BbhasbmZXF9QQ7T3kePo= github.com/jackc/chunkreader/v2 v2.0.0/go.mod h1:odVSm741yZoC3dpHEUXIqA9tQRhFrgOHwnPIn9lDKlk= @@ -679,13 +734,12 @@ github.com/jackc/pgconn v0.0.0-20190824142844-760dd75542eb/go.mod h1:lLjNuW/+OfW github.com/jackc/pgconn v0.0.0-20190831204454-2fabfa3c18b7/go.mod h1:ZJKsE/KZfsUgOEh9hBm+xYTstcNHg7UPMVJqRfQxq4s= github.com/jackc/pgconn v1.0.1/go.mod h1:GgY/Lbj1VonNaVdNUHs9AwWom3yP2eymFQ1C8z9r/Lk= github.com/jackc/pgconn v1.3.1/go.mod h1:2Ze5IP7prCiM28C4nc5LUoRaSyMDYZFE32L4gMJVtcU= -github.com/jackc/pgconn v1.3.2 h1:9UIGICxEAW70RQDGilGwsCG63NCcm5amjuBQCFzrmsw= -github.com/jackc/pgconn v1.3.2/go.mod h1:LvCquS3HbBKwgl7KbX9KyqEIumJAbm1UMcTvGaIf3bM= github.com/jackc/pgconn v1.4.0/go.mod h1:Y2O3ZDF0q4mMacyWV3AstPJpeHXWGEetiFttmq5lahk= github.com/jackc/pgconn v1.5.0/go.mod h1:QeD3lBfpTFe8WUnPZWN5KY/mB8FGMIYRdd8P8Jr0fAI= github.com/jackc/pgconn v1.5.1-0.20200601181101-fa742c524853/go.mod h1:QeD3lBfpTFe8WUnPZWN5KY/mB8FGMIYRdd8P8Jr0fAI= -github.com/jackc/pgconn v1.8.0 h1:FmjZ0rOyXTr1wfWs45i4a9vjnjWUAGpMuQLD9OSs+lw= -github.com/jackc/pgconn v1.8.0/go.mod h1:1C2Pb36bGIP9QHGBYCjnyhqu7Rv3sGshaQUvmfGIB/o= +github.com/jackc/pgconn v1.6.0/go.mod h1:yeseQo4xhQbgyJs2c87RAXOH2i624N0Fh1KSPJya7qo= +github.com/jackc/pgconn v1.8.1 h1:ySBX7Q87vOMqKU2bbmKbUvtYhauDFclYbNDYIE1/h6s= +github.com/jackc/pgconn v1.8.1/go.mod h1:JV6m6b6jhjdmzchES0drzCcYcAHS1OPD5xu3OZ/lE2g= github.com/jackc/pgio v1.0.0 h1:g12B9UwVnzGhueNavwioyEEpAmqMe1E/BN9ES+8ovkE= github.com/jackc/pgio v1.0.0/go.mod h1:oP+2QK2wFfUWgr+gxjoBH9KGBb31Eio69xUb0w5bYf8= github.com/jackc/pgmock v0.0.0-20190831213851-13a1b77aafa2 h1:JVX6jT/XfzNqIjye4717ITLaNwV9mWbJx0dLCpcRzdA= @@ -699,8 +753,8 @@ github.com/jackc/pgproto3/v2 v2.0.0-alpha1.0.20190609003834-432c2951c711/go.mod github.com/jackc/pgproto3/v2 v2.0.0-rc3/go.mod h1:ryONWYqW6dqSg1Lw6vXNMXoBJhpzvWKnT95C46ckYeM= github.com/jackc/pgproto3/v2 v2.0.0-rc3.0.20190831210041-4c03ce451f29/go.mod h1:ryONWYqW6dqSg1Lw6vXNMXoBJhpzvWKnT95C46ckYeM= github.com/jackc/pgproto3/v2 v2.0.0/go.mod h1:ryONWYqW6dqSg1Lw6vXNMXoBJhpzvWKnT95C46ckYeM= -github.com/jackc/pgproto3/v2 v2.0.1 h1:Rdjp4NFjwHnEslx2b66FfCI2S0LhO4itac3hXz6WX9M= github.com/jackc/pgproto3/v2 v2.0.1/go.mod h1:WfJCnwN3HIg9Ish/j3sgWXnAfK8A9Y0bwXYU5xKaEdA= +github.com/jackc/pgproto3/v2 v2.0.2/go.mod h1:WfJCnwN3HIg9Ish/j3sgWXnAfK8A9Y0bwXYU5xKaEdA= github.com/jackc/pgproto3/v2 v2.0.6 h1:b1105ZGEMFe7aCvrT1Cca3VoVb4ZFMaFJLJcg/3zD+8= github.com/jackc/pgproto3/v2 v2.0.6/go.mod h1:WfJCnwN3HIg9Ish/j3sgWXnAfK8A9Y0bwXYU5xKaEdA= github.com/jackc/pgservicefile v0.0.0-20200307190119-3430c5407db8/go.mod h1:vsD4gTJCa9TptPL8sPkXrLZ+hDuNrZCnj29CQpr4X1E= @@ -710,36 +764,43 @@ github.com/jackc/pgtype v0.0.0-20190421001408-4ed0de4755e0/go.mod h1:hdSHsc1V01C github.com/jackc/pgtype v0.0.0-20190824184912-ab885b375b90/go.mod h1:KcahbBH1nCMSo2DXpzsoWOAfFkdEtEJpPbVLq8eE+mc= github.com/jackc/pgtype v0.0.0-20190828014616-a8802b16cc59/go.mod h1:MWlu30kVJrUS8lot6TQqcg7mtthZ9T0EoIBFiJcmcyw= github.com/jackc/pgtype v1.2.0/go.mod h1:5m2OfMh1wTK7x+Fk952IDmI4nw3nPrvtQdM0ZT4WpC0= +github.com/jackc/pgtype v1.3.0/go.mod h1:b0JqxHvPmljG+HQ5IsvQ0yqeSi4nGcDTVjFoiLDb0Ik= github.com/jackc/pgtype v1.3.1-0.20200510190516-8cd94a14c75a/go.mod h1:vaogEUkALtxZMCH411K+tKzNpwzCKU+AnPzBKZ+I+Po= github.com/jackc/pgtype v1.3.1-0.20200606141011-f6355165a91c/go.mod h1:cvk9Bgu/VzJ9/lxTO5R5sf80p0DiucVtN7ZxvaC4GmQ= -github.com/jackc/pgtype v1.6.2 h1:b3pDeuhbbzBYcg5kwNmNDun4pFUD/0AAr1kLXZLeNt8= -github.com/jackc/pgtype v1.6.2/go.mod h1:JCULISAZBFGrHaOXIIFiyfzW5VY0GRitRr8NeJsrdig= +github.com/jackc/pgtype v1.7.0 h1:6f4kVsW01QftE38ufBYxKciO6gyioXSC0ABIRLcZrGs= +github.com/jackc/pgtype v1.7.0/go.mod h1:ZnHF+rMePVqDKaOfJVI4Q8IVvAQMryDlDkZnKOI75BE= github.com/jackc/pgx v3.2.0+incompatible/go.mod h1:0ZGrqGqkRlliWnWB4zKnWtjbSWbGkVEFm4TeybAXq+I= github.com/jackc/pgx v3.3.0+incompatible/go.mod h1:0ZGrqGqkRlliWnWB4zKnWtjbSWbGkVEFm4TeybAXq+I= -github.com/jackc/pgx v3.5.0+incompatible h1:BRJ4G3UPtvml5R1ey0biqqGuYUGayMYekm3woO75orY= github.com/jackc/pgx v3.5.0+incompatible/go.mod h1:0ZGrqGqkRlliWnWB4zKnWtjbSWbGkVEFm4TeybAXq+I= +github.com/jackc/pgx v3.6.2+incompatible h1:2zP5OD7kiyR3xzRYMhOcXVvkDZsImVXfj+yIyTQf3/o= +github.com/jackc/pgx v3.6.2+incompatible/go.mod h1:0ZGrqGqkRlliWnWB4zKnWtjbSWbGkVEFm4TeybAXq+I= github.com/jackc/pgx/v4 v4.0.0-20190420224344-cc3461e65d96/go.mod h1:mdxmSJJuR08CZQyj1PVQBHy9XOp5p8/SHH6a0psbY9Y= github.com/jackc/pgx/v4 v4.0.0-20190421002000-1b8f0016e912/go.mod h1:no/Y67Jkk/9WuGR0JG/JseM9irFbnEPbuWV2EELPNuM= github.com/jackc/pgx/v4 v4.0.0-pre1.0.20190824185557-6972a5742186/go.mod h1:X+GQnOEnf1dqHGpw7JmHqHc1NxDoalibchSk9/RWuDc= github.com/jackc/pgx/v4 v4.5.0/go.mod h1:EpAKPLdnTorwmPUUsqrPxy5fphV18j9q3wrfRXgo+kA= +github.com/jackc/pgx/v4 v4.6.0/go.mod h1:vPh43ZzxijXUVJ+t/EmXBtFmbFVO72cuneCT9oAlxAg= github.com/jackc/pgx/v4 v4.6.1-0.20200510190926-94ba730bb1e9/go.mod h1:t3/cdRQl6fOLDxqtlyhe9UWgfIi9R8+8v8GKV5TRA/o= github.com/jackc/pgx/v4 v4.6.1-0.20200606145419-4e5062306904/go.mod h1:ZDaNWkt9sW1JMiNn0kdYBaLelIhw7Pg4qd+Vk6tw7Hg= -github.com/jackc/pgx/v4 v4.10.1 h1:/6Q3ye4myIj6AaplUm+eRcz4OhK9HAvFf4ePsG40LJY= -github.com/jackc/pgx/v4 v4.10.1/go.mod h1:QlrWebbs3kqEZPHCTGyxecvzG6tvIsYu+A5b1raylkA= +github.com/jackc/pgx/v4 v4.11.0 h1:J86tSWd3Y7nKjwT/43xZBvpi04keQWx8gNC2YkdJhZI= +github.com/jackc/pgx/v4 v4.11.0/go.mod h1:i62xJgdrtVDsnL3U8ekyrQXEwGNTRoG7/8r+CIdYfcc= github.com/jackc/puddle v0.0.0-20190413234325-e4ced69a3a2b/go.mod h1:m4B5Dj62Y0fbyuIc15OsIqK0+JU8nkqQjsgx7dvjSWk= github.com/jackc/puddle v0.0.0-20190608224051-11cab39313c9/go.mod h1:m4B5Dj62Y0fbyuIc15OsIqK0+JU8nkqQjsgx7dvjSWk= github.com/jackc/puddle v1.1.0/go.mod h1:m4B5Dj62Y0fbyuIc15OsIqK0+JU8nkqQjsgx7dvjSWk= github.com/jackc/puddle v1.1.1/go.mod h1:m4B5Dj62Y0fbyuIc15OsIqK0+JU8nkqQjsgx7dvjSWk= github.com/jackc/puddle v1.1.3/go.mod h1:m4B5Dj62Y0fbyuIc15OsIqK0+JU8nkqQjsgx7dvjSWk= github.com/jellevandenhooff/dkim v0.0.0-20150330215556-f50fe3d243e1/go.mod h1:E0B/fFc00Y+Rasa88328GlI/XbtyysCtTHZS8h7IrBU= +github.com/jmespath/go-jmespath v0.0.0-20180206201540-c2b33e8439af/go.mod h1:Nht3zPeWKUH0NzdCt2Blrr5ys8VGpn0CEB0cQHVjt7k= github.com/jmoiron/sqlx v0.0.0-20180614180643-0dae4fefe7c0/go.mod h1:IiEW3SEiiErVyFdH8NTuWjSifiEQKUoyK3LNqr2kCHU= -github.com/jmoiron/sqlx v1.2.0 h1:41Ip0zITnmWNR/vHV+S4m+VoUivnWY5E4OJfLZjCJMA= github.com/jmoiron/sqlx v1.2.0/go.mod h1:1FEQNm3xlJgrMD+FBdI9+xvCksHtbpVBBw5dYhBSsks= +github.com/jmoiron/sqlx v1.3.3 h1:j82X0bf7oQ27XeqxicSZsTU5suPwKElg3oyxNn43iTk= +github.com/jmoiron/sqlx v1.3.3/go.mod h1:2BljVx/86SuTyjE+aPYlHCTNvZrnJXghYGpNiXLBMCQ= github.com/joho/godotenv v1.2.0/go.mod h1:7hK45KPybAkOC6peb+G5yklZfMxEjkZhHbwpqxOKXbg= github.com/joho/godotenv v1.3.0 h1:Zjp+RcGpHhGlrMbJzXTrZZPrWj+1vfm90La1wgB6Bhc= github.com/joho/godotenv v1.3.0/go.mod h1:7hK45KPybAkOC6peb+G5yklZfMxEjkZhHbwpqxOKXbg= github.com/jonboulle/clockwork v0.1.0/go.mod h1:Ii8DK3G1RaLaWxj9trq07+26W01tbo22gdxWY5EU2bo= github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU= +github.com/json-iterator/go v1.1.7/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= +github.com/json-iterator/go v1.1.8/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU= github.com/jtolds/gls v4.20.0+incompatible h1:xdiiI2gbIgH/gLH7ADydsJ1uDOEzR8yvV7C0MuV77Wo= github.com/jtolds/gls v4.20.0+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU= @@ -753,8 +814,8 @@ github.com/karrick/godirwalk v1.10.12/go.mod h1:RoGL9dQei4vP9ilrpETWE8CLOZ1kiN0L github.com/karrick/godirwalk v1.12.0/go.mod h1:H5KPZjojv4lE+QYImBI8xVtrBRgYrIVsaRPx4tDPEn4= github.com/karrick/godirwalk v1.15.2/go.mod h1:j4mkqPuvaLI8mp1DroR3P6ad7cyYd4c1qeJ3RV7ULlk= github.com/karrick/godirwalk v1.15.3/go.mod h1:j4mkqPuvaLI8mp1DroR3P6ad7cyYd4c1qeJ3RV7ULlk= -github.com/karrick/godirwalk v1.15.5 h1:ErdAEFW/cKxQ5+9Gm/hopxB8ki21/di+vyNb9mHnHrA= -github.com/karrick/godirwalk v1.15.5/go.mod h1:j4mkqPuvaLI8mp1DroR3P6ad7cyYd4c1qeJ3RV7ULlk= +github.com/karrick/godirwalk v1.15.8/go.mod h1:j4mkqPuvaLI8mp1DroR3P6ad7cyYd4c1qeJ3RV7ULlk= +github.com/karrick/godirwalk v1.16.1 h1:DynhcF+bztK8gooS0+NDJFrdNZjJ3gzVzC545UNA9iw= github.com/karrick/godirwalk v1.16.1/go.mod h1:j4mkqPuvaLI8mp1DroR3P6ad7cyYd4c1qeJ3RV7ULlk= github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51 h1:Z9n2FFNUXsshfwJMBgNA0RU6/i7WVaAegv3PtuIHPMs= github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51/go.mod h1:CzGEWj7cYgsdH8dAjBGEr58BoE7ScuLd+fwFZ44+/x8= @@ -762,7 +823,6 @@ github.com/kisielk/errcheck v1.1.0/go.mod h1:EZBBE59ingxPouuu3KfxchcWSUPOHkagtvW github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= github.com/konsorten/go-windows-terminal-sequences v0.0.0-20180402223658-b729f2633dfe/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= -github.com/konsorten/go-windows-terminal-sequences v1.0.2 h1:DB17ag19krx9CFsz4o3enTrPXyIXCl+2iCXH/aMAp9s= github.com/konsorten/go-windows-terminal-sequences v1.0.2/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc= github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= @@ -776,10 +836,14 @@ github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= github.com/lib/pq v1.0.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= github.com/lib/pq v1.1.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= github.com/lib/pq v1.2.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= -github.com/lib/pq v1.3.0 h1:/qkRGz8zljWiDcFvgpwUpwIAPu3r07TDvs3Rws+o/pU= github.com/lib/pq v1.3.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= +github.com/lib/pq v1.10.1 h1:6VXZrLU0jHBYyAqrSPa+MgPfnSvTPuMgK+k0o5kVFWo= +github.com/lib/pq v1.10.1/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o= +github.com/lightstep/lightstep-tracer-common/golang/gogo v0.0.0-20190605223551-bc2310a04743/go.mod h1:qklhhLq1aX+mtWk9cPHPzaBjWImj5ULL6C7HFJtXQMM= +github.com/lightstep/lightstep-tracer-go v0.18.1/go.mod h1:jlF1pusYV4pidLvZ+XD0UBX0ZE6WURAspgAczcDHrL4= github.com/luna-duclos/instrumentedsql v1.1.3 h1:t7mvC0z1jUt5A0UQ6I/0H31ryymuQRnJcWCiqV3lSAA= github.com/luna-duclos/instrumentedsql v1.1.3/go.mod h1:9J1njvFds+zN7y85EDhN9XNQLANWwZt2ULeIC8yMNYs= +github.com/lyft/protoc-gen-validate v0.0.13/go.mod h1:XbGvPuh87YZc5TdIa2/I4pLk0QoUACkjt2znoq26NVQ= github.com/magiconair/properties v1.8.0/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ= github.com/magiconair/properties v1.8.1 h1:ZC2Vc7/ZFkGmsVC9KvOjumD+G5lXy2RtTKyzRKO2BQ4= github.com/magiconair/properties v1.8.1/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ= @@ -829,10 +893,10 @@ github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaO github.com/mattn/go-colorable v0.1.0/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU= github.com/mattn/go-colorable v0.1.1/go.mod h1:FuOcm+DKB9mbwrcAfNl7/TZVBZ6rcnceauSikq3lYCQ= github.com/mattn/go-colorable v0.1.2/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE= -github.com/mattn/go-colorable v0.1.4 h1:snbPLB8fVfU9iwbbo30TPtbLRzwWu6aJS6Xh4eaaviA= github.com/mattn/go-colorable v0.1.4/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE= -github.com/mattn/go-colorable v0.1.6 h1:6Su7aK7lXmJ/U79bYtBjLNaha4Fs1Rg9plHpcH+vvnE= github.com/mattn/go-colorable v0.1.6/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= +github.com/mattn/go-colorable v0.1.8 h1:c1ghPdyEDarC70ftn0y+A/Ee++9zz8ljHG1b13eJ0s8= +github.com/mattn/go-colorable v0.1.8/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= github.com/mattn/go-isatty v0.0.3/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= github.com/mattn/go-isatty v0.0.4/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= github.com/mattn/go-isatty v0.0.5/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s= @@ -843,8 +907,10 @@ github.com/mattn/go-isatty v0.0.10/go.mod h1:qgIWMr58cqv1PHHyhnkY9lrL7etaEgOFcME github.com/mattn/go-isatty v0.0.11/go.mod h1:PhnuNfih5lzO57/f3n+odYbM4JtupLOxQOAqxQCu2WE= github.com/mattn/go-isatty v0.0.12 h1:wuysRhFDzyxgEmMf5xjvJ2M9dZoWAXNNr5LSBS7uHXY= github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU= +github.com/mattn/go-runewidth v0.0.2/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU= github.com/mattn/go-sqlite3 v1.9.0/go.mod h1:FPy6KqzDD04eiIsT53CuJW3U88zkxoIYsOqkbpncsNc= github.com/mattn/go-sqlite3 v1.10.0/go.mod h1:FPy6KqzDD04eiIsT53CuJW3U88zkxoIYsOqkbpncsNc= +github.com/mattn/go-sqlite3 v1.14.6/go.mod h1:NyWgC/yNuGj7Q9rpYnZvas74GogHl5/Z4A/KQRfk6bU= github.com/mattn/go-sqlite3 v2.0.3+incompatible h1:gXHsfypPkaMZrKbD5209QV9jbUTJKjyR5WD3HYQSd+U= github.com/mattn/go-sqlite3 v2.0.3+incompatible/go.mod h1:FPy6KqzDD04eiIsT53CuJW3U88zkxoIYsOqkbpncsNc= github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= @@ -863,20 +929,32 @@ github.com/mitchellh/mapstructure v0.0.0-20160808181253-ca63d7c062ee/go.mod h1:F github.com/mitchellh/mapstructure v1.0.0/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= github.com/mitchellh/mapstructure v1.1.2 h1:fmNYVwqnSfB9mZU6OS2O6GsXM+wcskZDuKQzvN1EDeE= github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= +github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= +github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= github.com/monoculum/formam v0.0.0-20180901015400-4e68be1d79ba/go.mod h1:RKgILGEJq24YyJ2ban8EO0RUVSJlF1pGsEvoLEACr/Q= github.com/monoculum/formam v0.0.0-20190307031628-bc555adff0cd/go.mod h1:JKa2av1XVkGjhxdLS59nDoXa2JpmIHpnURWNbzCtXtc= github.com/monoculum/formam v0.0.0-20190730134247-0612307a4099/go.mod h1:JKa2av1XVkGjhxdLS59nDoXa2JpmIHpnURWNbzCtXtc= github.com/monoculum/formam v0.0.0-20190830100315-7ff9597b1407/go.mod h1:JKa2av1XVkGjhxdLS59nDoXa2JpmIHpnURWNbzCtXtc= github.com/monoculum/formam v0.0.0-20191229172733-952f0766a724/go.mod h1:JKa2av1XVkGjhxdLS59nDoXa2JpmIHpnURWNbzCtXtc= -github.com/monoculum/formam v0.0.0-20200905010316-d7a8fbd33677 h1:N11HMdhT5DtkXsQQo3xPFipjvG7QwzKa9MBupRQqXaU= -github.com/monoculum/formam v0.0.0-20200905010316-d7a8fbd33677/go.mod h1:JKa2av1XVkGjhxdLS59nDoXa2JpmIHpnURWNbzCtXtc= +github.com/monoculum/formam v0.0.0-20210523135142-1af3317b7b9b h1:uW2/EKDF9aqxF4+MozaKxL1ROmc8FX5BeTrTKpr9+Vo= +github.com/monoculum/formam v0.0.0-20210523135142-1af3317b7b9b/go.mod h1:JKa2av1XVkGjhxdLS59nDoXa2JpmIHpnURWNbzCtXtc= github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= +github.com/nats-io/jwt v0.3.0/go.mod h1:fRYCDE99xlTsqUzISS1Bi75UBJ6ljOJQOAAu5VglpSg= +github.com/nats-io/jwt v0.3.2/go.mod h1:/euKqTS1ZD+zzjYrY7pseZrTtWQSjujC7xjPc8wL6eU= +github.com/nats-io/nats-server/v2 v2.1.2/go.mod h1:Afk+wRZqkMQs/p45uXdrVLuab3gwv3Z8C4HTBu8GD/k= +github.com/nats-io/nats.go v1.9.1/go.mod h1:ZjDU1L/7fJ09jvUSRVBR2e7+RnLiiIQyqyzEE/Zbp4w= +github.com/nats-io/nkeys v0.1.0/go.mod h1:xpnFELMwJABBLVhffcfd1MZx6VsNRFpEugbxziKVo7w= +github.com/nats-io/nkeys v0.1.3/go.mod h1:xpnFELMwJABBLVhffcfd1MZx6VsNRFpEugbxziKVo7w= +github.com/nats-io/nuid v1.0.1/go.mod h1:19wcPz3Ph3q0Jbyiqsd0kePYG7A95tJPxeL+1OSON2c= github.com/neelance/astrewrite v0.0.0-20160511093645-99348263ae86/go.mod h1:kHJEU3ofeGjhHklVoIGuVj85JJwZ6kWPaJwCIxgnFmo= github.com/neelance/sourcemap v0.0.0-20151028013722-8c68805598ab/go.mod h1:Qr6/a/Q4r9LP1IltGz7tA7iOK1WonHEYhu1HRBA7ZiM= github.com/nicksnyder/go-i18n v1.10.0/go.mod h1:HrK7VCrbOvQoUAQ7Vpy7i87N7JZZZ7R2xBGjv0j365Q= +github.com/oklog/oklog v0.3.2/go.mod h1:FCV+B7mhrz4o+ueLpx+KqkyXRGMWOYEvfiXtdGtbWGs= +github.com/oklog/run v1.0.0/go.mod h1:dlhp/R75TPv97u0XWUtDeV/lRKWPKSdTuV0TZvrmrQA= github.com/oklog/ulid v1.3.1/go.mod h1:CirwcVhetQ6Lv90oh/F+FBtV6XMibvdAFo93nm5qn4U= +github.com/olekukonko/tablewriter v0.0.0-20170122224234-a0225b3f23b5/go.mod h1:vsDQFd/mU46D+Z4whnwzcISnGGzXWMclvtLoiIKAKIo= github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/ginkgo v1.7.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/ginkgo v1.8.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= @@ -890,29 +968,57 @@ github.com/onsi/gomega v1.5.0/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1Cpa github.com/onsi/gomega v1.6.0/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= github.com/onsi/gomega v1.7.0/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= github.com/onsi/gomega v1.7.1/go.mod h1:XdKZgCCFLUoM/7CFJVPcG8C1xQ1AJ0vpAezJrB7JYyY= +github.com/op/go-logging v0.0.0-20160315200505-970db520ece7/go.mod h1:HzydrMdWErDVzsI23lYNej1Htcns9BCg93Dk0bBINWk= +github.com/opentracing-contrib/go-observer v0.0.0-20170622124052-a52f23424492/go.mod h1:Ngi6UdF0k5OKD5t5wlmGhe/EDKPoUM3BXZSSfIuJbis= +github.com/opentracing/basictracer-go v1.0.0/go.mod h1:QfBfYuafItcjQuMwinw9GhYKwFXS9KnPs5lxoYwgW74= +github.com/opentracing/opentracing-go v1.0.2/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o= +github.com/opentracing/opentracing-go v1.1.0/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o= +github.com/openzipkin-contrib/zipkin-go-opentracing v0.4.5/go.mod h1:/wsWhb9smxSfWAKL3wpBW7V8scJMt8N8gnaMCS9E/cA= github.com/openzipkin/zipkin-go v0.1.1/go.mod h1:NtoC/o8u3JlF1lSlyPNswIbeQH9bJTmOf0Erfk+hxe8= +github.com/openzipkin/zipkin-go v0.1.6/go.mod h1:QgAqvLzwWbR/WpD4A3cGpPtJrZXNIiJc5AZX7/PBEpw= +github.com/openzipkin/zipkin-go v0.2.1/go.mod h1:NaW6tEwdmWMaCDZzg8sh+IBNOxHMPnhQw8ySjnjRyN4= +github.com/openzipkin/zipkin-go v0.2.2/go.mod h1:NaW6tEwdmWMaCDZzg8sh+IBNOxHMPnhQw8ySjnjRyN4= +github.com/pact-foundation/pact-go v1.0.4/go.mod h1:uExwJY4kCzNPcHRj+hCR/HBbOOIwwtUjcrb0b5/5kLM= github.com/pascaldekloe/goe v0.0.0-20180627143212-57f6aae5913c/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc= +github.com/pborman/uuid v1.2.0/go.mod h1:X/NO0urCmaxf9VXbdlT7C2Yzkj2IKimNn4k+gtPdI/k= github.com/pelletier/go-toml v1.2.0 h1:T5zMGML61Wp+FlcbWjRDT7yAxhJNAiPPLOFECq181zc= github.com/pelletier/go-toml v1.2.0/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/94hg7ilaic= +github.com/performancecopilot/speed v3.0.0+incompatible/go.mod h1:/CLtqpZ5gBg1M9iaPbIdPPGyKcA8hKdoy6hAWba7Yac= +github.com/pierrec/lz4 v1.0.2-0.20190131084431-473cd7ce01a1/go.mod h1:3/3N9NVKO0jef7pBehbT1qWhCMrIgbYNnFAZCqQ5LRc= +github.com/pierrec/lz4 v2.0.5+incompatible/go.mod h1:pdkljMzZIN41W+lC3N2tnIh5sFi+IEE17M5jbnwPHcY= github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= +github.com/pkg/profile v1.2.1/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/posener/complete v1.1.1/go.mod h1:em0nMJCgc9GFtwrmVmEMR/ZL6WyhyjMBndrE9hABlRI= github.com/prometheus/client_golang v0.8.0/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw= github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw= +github.com/prometheus/client_golang v0.9.3-0.20190127221311-3c4408c8b829/go.mod h1:p2iRAGwDERtqlqzRXnrOVns+ignqQo//hLXqYxZYVNs= github.com/prometheus/client_golang v0.9.3/go.mod h1:/TN21ttK/J9q6uSwhBd54HahCDft0ttaMvbicHlPoso= +github.com/prometheus/client_golang v1.0.0/go.mod h1:db9x61etRT2tGnBNRi70OPL5FsnadC4Ky3P0J6CfImo= +github.com/prometheus/client_golang v1.3.0/go.mod h1:hJaj2vgQTGQmVCsAACORcieXFeDPbaTKGT+JTgUa3og= github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= +github.com/prometheus/client_model v0.0.0-20190115171406-56726106282f/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= +github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= +github.com/prometheus/client_model v0.1.0/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= github.com/prometheus/common v0.0.0-20180801064454-c7de2306084e/go.mod h1:daVV7qP5qjZbuso7PdcryaAu0sAZbrN9i7WWcTMWvro= github.com/prometheus/common v0.0.0-20181113130724-41aa239b4cce/go.mod h1:daVV7qP5qjZbuso7PdcryaAu0sAZbrN9i7WWcTMWvro= +github.com/prometheus/common v0.2.0/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= github.com/prometheus/common v0.4.0/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= +github.com/prometheus/common v0.4.1/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= +github.com/prometheus/common v0.7.0/go.mod h1:DjGbpBbp5NYNiECxcL/VnbXCCaQpKd3tt26CguLLsqA= github.com/prometheus/procfs v0.0.0-20180725123919-05ee40e3a273/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= +github.com/prometheus/procfs v0.0.0-20190117184657-bf6a532e95b1/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= github.com/prometheus/procfs v0.0.0-20190507164030-5867b95ac084/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= +github.com/prometheus/procfs v0.0.2/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= +github.com/prometheus/procfs v0.0.8/go.mod h1:7Qr8sr6344vo1JqZ6HhLceV9o3AJ1Ff+GxbHq6oeK9A= github.com/prometheus/tsdb v0.7.1/go.mod h1:qhTCs0VvXwvX/y3TZrWD7rabWM+ijKTux40TwIPHuXU= +github.com/rcrowley/go-metrics v0.0.0-20181016184325-3113b8401b8a/go.mod h1:bCqnVzQkZxMG4s8nGwiZ5l3QUCyqpo9Y+/ZMZ9VjZe4= github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod h1:XWv6SoW27p1b0cqNHllgS5HIMJraePCO15w5zCzIWYg= github.com/rogpeppe/go-internal v1.0.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= github.com/rogpeppe/go-internal v1.1.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= @@ -928,6 +1034,7 @@ github.com/rs/zerolog v1.15.0/go.mod h1:xYTKnLHcpfU2225ny5qZjxnj9NvkumZYjJHlAThC github.com/russross/blackfriday v1.5.2/go.mod h1:JO/DiYxRf+HjHt06OyowR9PTA263kcR/rfWxYHBV53g= github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= github.com/ryanuber/columnize v0.0.0-20160712163229-9b3edd62028f/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts= +github.com/samuel/go-zookeeper v0.0.0-20190923202752-2cc03de413da/go.mod h1:gi+0XIa01GRL2eRQVjQkKGqKF3SF9vZR/HnPullcV2E= github.com/satori/go.uuid v1.2.0/go.mod h1:dA0hQrYB0VpLJoorglMZABFdXlWrHn1NEOzdhQKdks0= github.com/sean-/seed v0.0.0-20170313163322-e2103e2c3529/go.mod h1:DxrIzT+xaE7yg65j358z/aeFdxmN0P9QXhEzd20vsDc= github.com/serenize/snaker v0.0.0-20171204205717-a683aaf2d516/go.mod h1:Yow6lPLSAXx2ifx470yD/nUe22Dv5vBvxK/UK9UUTVs= @@ -935,6 +1042,7 @@ github.com/sergi/go-diff v1.0.0/go.mod h1:0CfEIISq7TuYL3j771MWULgwwjU+GofnZX9QAm github.com/sergi/go-diff v1.1.0 h1:we8PVUC3FE2uYfodKH/nBHMSetSfHDR6scGdBi+erh0= github.com/sergi/go-diff v1.1.0/go.mod h1:STckp+ISIX8hZLjrqAeVduY0gWCT9IjLuqbuNXdaHfM= github.com/shopspring/decimal v0.0.0-20180709203117-cd690d0c9e24/go.mod h1:M+9NzErvs504Cn4c5DxATwIqPbtswREoFCre64PpcG4= +github.com/shopspring/decimal v0.0.0-20200227202807-02e2044944cc h1:jUIKcSPO9MoMJBbEoyE/RJoE8vz7Mb8AjvifMMwSyvY= github.com/shopspring/decimal v0.0.0-20200227202807-02e2044944cc/go.mod h1:DKyhrW/HYNuLGql+MJL6WCR6knT2jwCFRcu2hWCYk4o= github.com/shurcooL/component v0.0.0-20170202220835-f88ec8f54cc4/go.mod h1:XhFIlyj5a1fBNx5aJTbKoIq0mNaPvOagO+HjB3EtxrY= github.com/shurcooL/events v0.0.0-20181021180414-410e4ca65f48/go.mod h1:5u70Mqkb5O5cxEA8nxTsgrgLehJeAw6Oc4Ab1c/P1HM= @@ -969,13 +1077,15 @@ github.com/sirupsen/logrus v1.3.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPx github.com/sirupsen/logrus v1.4.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= github.com/sirupsen/logrus v1.4.1/go.mod h1:ni0Sbl8bgC9z8RoU9G6nDWqqs/fq4eDPysMBDgk/93Q= github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE= -github.com/sirupsen/logrus v1.5.0 h1:1N5EYkVAPEywqZRJd7cwnRtCb6xJx7NH3T3WUTF980Q= github.com/sirupsen/logrus v1.5.0/go.mod h1:+F7Ogzej0PZc/94MaYx/nvG9jOFMD2osvC3s+Squfpo= +github.com/sirupsen/logrus v1.8.1 h1:dJKuHgqk1NNQlqoA6BTlM1Wf9DOH3NBjQyu0h9+AZZE= +github.com/sirupsen/logrus v1.8.1/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d h1:zE9ykElWQ6/NYmHa3jpm/yHnI4xSofP+UP6SpjHcSeM= github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc= github.com/smartystreets/goconvey v1.6.4 h1:fv0U8FUIMPNf1L9lnHLvLhgicrIVChEkdzIKYqbNC9s= github.com/smartystreets/goconvey v1.6.4/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA= github.com/soheilhy/cmux v0.1.4/go.mod h1:IM3LyeVVIOuxMH7sFAkER9+bJ4dT7Ms6E4xg4kGIyLM= +github.com/sony/gobreaker v0.4.1/go.mod h1:ZKptC7FHNvhBz7dN2LGjPVBz2sZJmc0/PkyDJOjmxWY= github.com/sourcegraph/annotate v0.0.0-20160123013949-f4cad6c6324d h1:yKm7XZV6j9Ev6lojP2XaIshpT4ymkqhMeSghO5Ps00E= github.com/sourcegraph/annotate v0.0.0-20160123013949-f4cad6c6324d/go.mod h1:UdhH50NIW0fCiwBSr0co2m7BnFLdv4fQTgdqdJTHFeE= github.com/sourcegraph/syntaxhighlight v0.0.0-20170531221838-bd320f5d308e h1:qpG93cPwA5f7s/ZPBJnGOYQNK/vKsaDaseuKT5Asee8= @@ -991,10 +1101,12 @@ github.com/spf13/cast v1.3.0/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkU github.com/spf13/cobra v0.0.3/go.mod h1:1l0Ry5zgKvJasoi3XT1TypsSe7PqH0Sj9dhYf7v3XqQ= github.com/spf13/cobra v0.0.4/go.mod h1:3K3wKZymM7VvHMDS9+Akkh4K60UwM26emMESw8tLCHU= github.com/spf13/cobra v0.0.5/go.mod h1:3K3wKZymM7VvHMDS9+Akkh4K60UwM26emMESw8tLCHU= -github.com/spf13/cobra v0.0.6 h1:breEStsVwemnKh2/s6gMvSdMEkwW0sK8vGStnlVBMCs= github.com/spf13/cobra v0.0.6/go.mod h1:/6GTrnGXV9HjY+aR4k0oJ5tcvakLuG6EuKReYlHNrgE= +github.com/spf13/cobra v1.1.3 h1:xghbfqPkxzxP3C/f3n5DdpAbdKLj4ZE4BWQI362l53M= +github.com/spf13/cobra v1.1.3/go.mod h1:pGADOWyqRD/YMrPZigI/zbliZ2wVD/23d+is3pSWzOo= github.com/spf13/jwalterweatherman v1.0.0 h1:XHEdyB+EcvlqZamSM4ZOMGlc93t6AcsBEu9Gc1vn7yk= github.com/spf13/jwalterweatherman v1.0.0/go.mod h1:cQK4TGJAtQXfYWX+Ddv3mKDzgVb68N+wFjFa4jdeBTo= +github.com/spf13/pflag v1.0.1/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= github.com/spf13/pflag v1.0.2/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= github.com/spf13/pflag v1.0.3/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= @@ -1005,19 +1117,25 @@ github.com/spf13/viper v1.3.1/go.mod h1:ZiWeW+zYFKm7srdB9IoDzzZXaJaI5eL9QjNiN/DM github.com/spf13/viper v1.3.2/go.mod h1:ZiWeW+zYFKm7srdB9IoDzzZXaJaI5eL9QjNiN/DMA2s= github.com/spf13/viper v1.4.0/go.mod h1:PTJ7Z/lr49W6bUbkmS1V3by4uWynFiR9p7+dSq/yZzE= github.com/spf13/viper v1.6.2/go.mod h1:t3iDnF5Jlj76alVNuyFBk5oUMCvsrkbvZK0WQdfDi5k= -github.com/spf13/viper v1.7.0 h1:xVKxvI7ouOI5I+U9s2eeiUfMaWBVoXA3AWskkrqK0VM= github.com/spf13/viper v1.7.0/go.mod h1:8WkrPz2fc9jxqZNCJI/76HCieCp4Q8HaLFoCha5qpdg= +github.com/spf13/viper v1.7.1 h1:pM5oEahlgWv/WnHXpgbKz7iLIxRf65tye2Ci+XFK5sk= +github.com/spf13/viper v1.7.1/go.mod h1:8WkrPz2fc9jxqZNCJI/76HCieCp4Q8HaLFoCha5qpdg= +github.com/streadway/amqp v0.0.0-20190404075320-75d898a42a94/go.mod h1:AZpEONHx3DKn8O/DFsRAY58/XVQiIPMTMB1SddzLXVw= +github.com/streadway/amqp v0.0.0-20190827072141-edfb9018d271/go.mod h1:AZpEONHx3DKn8O/DFsRAY58/XVQiIPMTMB1SddzLXVw= +github.com/streadway/handy v0.0.0-20190108123426-d5acb3125c2a/go.mod h1:qNTQ5P5JnDBl6z3cMAg/SywNDC5ABu5ApDIw6lUbRmI= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.2.0/go.mod h1:qt09Ya8vawLte6SNmTgCsAVtYtaKzEcn8ATUoHMkEqE= github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= -github.com/stretchr/testify v1.5.1 h1:nOGnQDM7FYENwehXlg/kFVnos3rEvtKTjRvOWSzb6H4= github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA= +github.com/stretchr/testify v1.7.0 h1:nwc3DEeHmmLAfoZucVR881uASk0Mfjw8xYJ99tb5CcY= +github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/subosito/gotenv v1.2.0 h1:Slr1R9HxAlEKefgq5jn9U+DnETlIUa6HfgEzj0g5d7s= github.com/subosito/gotenv v1.2.0/go.mod h1:N0PQaV/YGNqwC0u51sEeR/aUtSLEXKX9iv69rRypqCw= github.com/tarm/serial v0.0.0-20180830185346-98f6abe2eb07/go.mod h1:kDXzergiv9cbyO7IOYJZWg1U88JhDg3PB6klq9Hg2pA= +github.com/tmc/grpc-websocket-proxy v0.0.0-20170815181823-89b8d40f7ca8/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= github.com/tmc/grpc-websocket-proxy v0.0.0-20190109142713-0ad062ec5ee5/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= github.com/ugorji/go v1.1.4/go.mod h1:uQMGLiO92mf5W77hV/PUCpI3pbzQx3CRekS0kk+RGrc= github.com/ugorji/go/codec v0.0.0-20181204163529-d75b2dcb6bc8/go.mod h1:VFNgLljTbGfSG7qAOspJ7OScBnGdDN/yBr0sguwnwf0= @@ -1025,22 +1143,33 @@ github.com/unrolled/secure v0.0.0-20180918153822-f340ee86eb8b/go.mod h1:mnPT77IA github.com/unrolled/secure v0.0.0-20181005190816-ff9db2ff917f/go.mod h1:mnPT77IAdsi/kV7+Es7y+pXALeV3h7G6dQF6mNYjcLA= github.com/unrolled/secure v0.0.0-20181022170031-4b6b7cf51606/go.mod h1:mnPT77IAdsi/kV7+Es7y+pXALeV3h7G6dQF6mNYjcLA= github.com/unrolled/secure v0.0.0-20190103195806-76e6d4e9b90c/go.mod h1:mnPT77IAdsi/kV7+Es7y+pXALeV3h7G6dQF6mNYjcLA= +github.com/urfave/cli v1.20.0/go.mod h1:70zkFmudgCuE/ngEzBv17Jvp/497gISqfk5gWijbERA= +github.com/urfave/cli v1.22.1/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0= github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2/go.mod h1:UETIi67q53MR2AWcXfiuqkDkRtnGDLqkBTpCHuJHxtU= github.com/xordataexchange/crypt v0.0.3-0.20170626215501-b2862e3d0a77/go.mod h1:aYKd//L2LvnjZzWKhF00oedf4jCCReLcmhLdhm1A27Q= github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= +github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= github.com/zenazn/goji v0.9.0/go.mod h1:7S9M489iMyHBNxwZnk9/EHS098H4/F6TATF2mIxtB1Q= go.etcd.io/bbolt v1.3.2/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= +go.etcd.io/bbolt v1.3.3/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= +go.etcd.io/etcd v0.0.0-20191023171146-3cf2f69b5738/go.mod h1:dnLIgRNXwCJa5e+c6mIZCrds/GIG4ncV9HhK5PX7jPg= go.opencensus.io v0.18.0/go.mod h1:vKdFvxhtzZ9onBp9VKHK8z/sRpBMnKAsufL7wlDrCOA= +go.opencensus.io v0.20.1/go.mod h1:6WKK9ahsWS3RSO+PY9ZHZUfv2irvY6gN279GOPZjmmk= +go.opencensus.io v0.20.2/go.mod h1:6WKK9ahsWS3RSO+PY9ZHZUfv2irvY6gN279GOPZjmmk= go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU= go.opencensus.io v0.22.0/go.mod h1:+kGneAE2xo2IficOXnaByMWTGM9T73dGwxeWcUqIpI8= +go.opencensus.io v0.22.2/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= go.uber.org/atomic v1.3.2/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= go.uber.org/atomic v1.4.0/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= +go.uber.org/atomic v1.5.0/go.mod h1:sABNBOSYdrvTF6hTgEIbc7YasKWGhgEQZyfxyTvoXHQ= go.uber.org/atomic v1.6.0/go.mod h1:sABNBOSYdrvTF6hTgEIbc7YasKWGhgEQZyfxyTvoXHQ= go.uber.org/multierr v1.1.0/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/0= +go.uber.org/multierr v1.3.0/go.mod h1:VgVr7evmIr6uPjLBxg28wmKNXyqE9akIJ5XnfpiKl+4= go.uber.org/multierr v1.5.0/go.mod h1:FeouvMocqHpRaaGuG9EjoKcStLC43Zu/fmqdUMPcKYU= go.uber.org/tools v0.0.0-20190618225709-2cfd321de3ee/go.mod h1:vJERXedbb3MVM5f9Ejo0C68/HhF8uaILCdgjnY+goOA= go.uber.org/zap v1.9.1/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q= go.uber.org/zap v1.10.0/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q= +go.uber.org/zap v1.13.0/go.mod h1:zwrFLgMcdUuIBviXEYEH1YKNaOBnKXsx2IPda5bBwHM= go4.org v0.0.0-20180809161055-417644f6feb5/go.mod h1:MkTOUMDaeVYJUOUsaDXIhWPZYa1yOyC1qaOBpL57BhE= golang.org/x/build v0.0.0-20190111050920-041ab4dc3f9d/go.mod h1:OWs+y06UdEOHN4y+MfF/py+xQ/tYqIWW03b70/CG9Rw= golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= @@ -1072,15 +1201,15 @@ golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8U golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20190611184440-5c40567a22f8/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20190621222207-cc06ce4a13d4/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20190701094942-4def268fd1a4/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20190820162420-60c769a6c586/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20190911031432-227b76d455e7/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20191122220453-ac88ee75c92c/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.0.0-20200206161412-a0c6ece9d31a h1:aczoJ0HPNE92XKa7DrIzkNN6esOKO2TBwiiYoKcINhA= golang.org/x/crypto v0.0.0-20200206161412-a0c6ece9d31a/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20200323165209-0ec3e9974c59/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9 h1:psW17arqaxU48Z5kZ0CQnkZWQJsqcURM6tKiBApRjXI= -golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +golang.org/x/crypto v0.0.0-20210322153248-0c34fe9e7dc2 h1:It14KIkyBFYkHkwZ7k45minvA9aorojkyjGk9KJ5B/w= +golang.org/x/crypto v0.0.0-20210322153248-0c34fe9e7dc2/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= @@ -1101,8 +1230,9 @@ golang.org/x/mobile v0.0.0-20190719004257-d2bd2a29d028/go.mod h1:E/iHnbuqvinMTCc golang.org/x/mod v0.0.0-20190513183733-4bf6d317e70e/go.mod h1:mXi4GBBbnImb6dmsKGUJ2LatrhH/nqhxcFungHvyanc= golang.org/x/mod v0.1.0/go.mod h1:0QHyrYULN0/3qlju5TqG8bIK38QM8yzMo5ekMj3DlcY= golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= -golang.org/x/mod v0.2.0 h1:KU7oHjnv3XNWfa5COkzUifxZmxp1TyI7ImMXqFxLwvQ= golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= +golang.org/x/mod v0.4.2 h1:Gz96sIWK3OalVv/I/qNygP42zyoKp3xptRVCWRFEBvo= +golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180816102801-aaf60122140d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= @@ -1124,6 +1254,7 @@ golang.org/x/net v0.0.0-20181213202711-891ebc4b82d6/go.mod h1:mL1N/T3taQHkDXs73r golang.org/x/net v0.0.0-20181220203305-927f97764cc3/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-20190119204137-ed066c81e75e/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20190125091013-d26f9f9a57f3/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= @@ -1136,9 +1267,10 @@ golang.org/x/net v0.0.0-20190613194153-d28f0bde5980/go.mod h1:z5CRVTTTmAJ677TzLL golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20190813141303-74dc4d7220e7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200202094626-16171245cfb2/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200219183655-46282727080f/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200226121028-0de0cce0169b h1:0mm1VjtFUOIlE1SbDlwjYaDxZVDP2S5ou6y0gSgXHu8= golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= +golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4 h1:4nGaVu0QrbjT/AK2PRLuQfQuh6DJve+pELhqTdAj3x0= +golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20181017192945-9dcd33a902f4/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20181203162652-d668ce993890/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= @@ -1152,8 +1284,8 @@ golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sync v0.0.0-20190412183630-56d357773e84/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20200317015054-43a5402ce75a h1:WXEvlFVvvGxCJLG6REjsT03iWnKLEWinaScsxF2Vm2o= -golang.org/x/sync v0.0.0-20200317015054-43a5402ce75a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20210220032951-036812b2e83c h1:5KslGYwFpkhGh+Q16bwMP3cOontH8FOep7tGV86Y7SQ= +golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sys v0.0.0-20180816055513-1c9583448a9c/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180823144017-11551d06cbcc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= @@ -1198,24 +1330,31 @@ golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20190515120540-06a5c4944438/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190606165138-5da285871e9c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190726091711-fc99dfbffb4e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190813064441-fde4db37ae7a/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190826190057-c7b8b68b1456/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191008105621-543471e840be/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191220142924-d4481acd189f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200116001909-b77594299b42/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200202164722-d101bd2416d5 h1:LfCXLvNmTYH9kEmVgqbnsWfruoXZIrh4YBgqVHtDvw0= golang.org/x/sys v0.0.0-20200202164722-d101bd2416d5/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae h1:/WDfKMnPU+m5M4xB+6x4kaepxRw6jWvR5iDRdvjHgy8= golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210510120138-977fb7262007 h1:gG67DSER+11cZvqIMb8S8bt0vZtiN6xWYARwirrOSfE= +golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= +golang.org/x/term v0.0.0-20201210144234-2321bbc49cbf h1:MZ2shdL+ZM/XzY3ZGOnh4Nlpnxz5GSOhOmtHo3iPU6M= +golang.org/x/term v0.0.0-20201210144234-2321bbc49cbf/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= -golang.org/x/text v0.3.2 h1:tW2bmiBqwgJj/UpqtC8EpXEZVYOwU0yG4iWbprSVAcs= golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= golang.org/x/text v0.3.3 h1:cokOdA+Jmi5PJGXLlLllQSgYigAEfHXJAERHVMaCc2k= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/time v0.0.0-20180412165947-fbb02b2291d2/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/tools v0.0.0-20180221164845-07fd8470d635/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20180828015842-6cd1fcedba52/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= @@ -1276,6 +1415,7 @@ golang.org/x/tools v0.0.0-20190420181800-aa740d480789/go.mod h1:LCzVGOaR6xXOjkQ3 golang.org/x/tools v0.0.0-20190425150028-36563e24a262/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= golang.org/x/tools v0.0.0-20190425163242-31fd60d6bfdc/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= golang.org/x/tools v0.0.0-20190506145303-2d16b83fe98c/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= +golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= golang.org/x/tools v0.0.0-20190603152906-08e0b306e832/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= golang.org/x/tools v0.0.0-20190603231351-8aaa1484dc10/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= golang.org/x/tools v0.0.0-20190606124116-d0a3d012864b/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= @@ -1299,20 +1439,24 @@ golang.org/x/tools v0.0.0-20191029190741-b9c20aec41a5/go.mod h1:b+2E5dAYhXwXZwtn golang.org/x/tools v0.0.0-20191112195655-aa38f8e97acc/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191224055732-dd894d0a8a40/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200103221440-774c71fcf114/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200117220505-0cba7a3a9ee9/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200131211209-ecb101ed6550/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200308013534-11ec41452d41/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw= -golang.org/x/tools v0.0.0-20200323192200-8849913b6971 h1:7xTjEBkQgB1qdLZddETld2Flxf5D/U848jdOyhu39TE= golang.org/x/tools v0.0.0-20200323192200-8849913b6971/go.mod h1:Sl4aGygMT6LrqrWclx+PTx3U+LnKx/seiNR+3G19Ar8= +golang.org/x/tools v0.1.3 h1:L69ShwSZEyCsLKoAxDKeMvLDZkumEe8gXUZAjab0tX8= +golang.org/x/tools v0.1.3/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/xerrors v0.0.0-20190410155217-1f06c39b4373/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20190513163551-3ee3066db522/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543 h1:E7g+9GITq07hpfrRu66IVDexMakfv52eLZ2CXBWiKr4= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1 h1:go1bK/D/BFZV2I8cIQd1NKEZ+0owSTG1fDTci4IqFcE= +golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= google.golang.org/api v0.0.0-20180910000450-7ca32eb868bf/go.mod h1:4mhQ8q/RsB7i+udVvVy5NUi08OU8ZlA0gRVgrF7VFY0= google.golang.org/api v0.0.0-20181030000543-1d582fd0359e/go.mod h1:4mhQ8q/RsB7i+udVvVy5NUi08OU8ZlA0gRVgrF7VFY0= google.golang.org/api v0.1.0/go.mod h1:UGEZY7KEX120AnNLIHFMKIo4obdJhkp2tPbaPlQx13Y= +google.golang.org/api v0.3.1/go.mod h1:6wY9I6uQWHQ8EM57III9mq/AjF+i8G65rmVagqKMtkk= google.golang.org/api v0.4.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE= google.golang.org/api v0.7.0/go.mod h1:WtwebWUNSVBH/HAw79HIFXZNqEvBhG+Ra+ax0hx3E3M= google.golang.org/api v0.8.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= @@ -1325,6 +1469,7 @@ google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7 google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= google.golang.org/appengine v1.6.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= google.golang.org/appengine v1.6.1/go.mod h1:i06prIuMbXzDqacNJfV5OdTW448YApPu5ww/cMBSeb0= +google.golang.org/appengine v1.6.5/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= 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-20181029155118-b69ba1387ce2/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= @@ -1334,6 +1479,7 @@ google.golang.org/genproto v0.0.0-20190307195333-5fe7a883aa19/go.mod h1:VzzqZJRn google.golang.org/genproto v0.0.0-20190418145605-e7d98fc518a7/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= google.golang.org/genproto v0.0.0-20190425155659-357c62f0e4bb/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= google.golang.org/genproto v0.0.0-20190502173448-54afdca5d873/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= +google.golang.org/genproto v0.0.0-20190530194941-fb225487d101/go.mod h1:z3L6/3dTEVtUr6QSP8miRzeRqwQOioJ9I66odjN4I7s= google.golang.org/genproto v0.0.0-20190801165951-fa694d86fc64/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= google.golang.org/genproto v0.0.0-20190911173649-1774047e7e51/go.mod h1:IbNlFCBrqXvoKpeg0TB2l7cyZUmoaFKYIwrEpbDKLA8= @@ -1342,9 +1488,14 @@ google.golang.org/grpc v1.14.0/go.mod h1:yo6s7OP7yaDglbqo1J04qKzAhqBH6lvTonzMVmE 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= google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= +google.golang.org/grpc v1.20.0/go.mod h1:chYK+tFQF0nDUGJgXMSgLCQk3phJEuONr2DCgLDdAQM= google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38= google.golang.org/grpc v1.21.0/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= +google.golang.org/grpc v1.22.1/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= +google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= +google.golang.org/grpc v1.23.1/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= +google.golang.org/grpc v1.26.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= gopkg.in/airbrake/gobrake.v2 v2.0.9/go.mod h1:/h5ZAUhDkGaJfjzjKLSjv6zCL6O0LLBxU4K+aSYdM/U= gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw= gopkg.in/alexcesaro/quotedprintable.v3 v3.0.0-20150716171945-2caba252f4dc h1:2gGKlE2+asNV9m7xrywl36YYNnBG5ZQ0r/BOOxqPpmk= @@ -1353,8 +1504,10 @@ gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8 gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15 h1:YR8cESwS4TdDjEe65xsg0ogRM/Nc3DYOhEAlW+xobZo= gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/cheggaaa/pb.v1 v1.0.25/go.mod h1:V/YB90LKu/1FcN3WVnfiiE5oMCibMjukxqG/qStrOgw= gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys= +gopkg.in/gcfg.v1 v1.2.3/go.mod h1:yesOnuUOFQAhST5vPY4nbZsb/huCgGGXlipJsBn0b3o= gopkg.in/gemnasium/logrus-airbrake-hook.v2 v2.1.2/go.mod h1:Xk6kEKp8OKb+X14hQBKWaSkCsqBpgog8nAV2xsGOxlo= gopkg.in/gomail.v2 v2.0.0-20160411212932-81ebce5c23df/go.mod h1:LRQQ+SO6ZHR7tOkpBDuZnXENFzX8qRjMDMyPD6BRkCw= gopkg.in/inconshreveable/log15.v2 v2.0.0-20180818164646-67afb5ed74ec/go.mod h1:aPpfJ7XW+gOuirDoZ8gHhLh3kZ1B08FtV2bbmy7Jv3s= @@ -1364,19 +1517,26 @@ gopkg.in/ini.v1 v1.51.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= gopkg.in/mail.v2 v2.0.0-20180731213649-a0242b2233b4/go.mod h1:htwXN1Qh09vZJ1NVKxQqHPBaCBbzKhp5GzuJEA4VJWw= gopkg.in/resty.v1 v1.12.0/go.mod h1:mDo4pnntr5jdWRML875a/NmxYqAlA73dVijT2AXvQQo= gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw= +gopkg.in/warnings.v0 v0.1.2/go.mod h1:jksf8JmL6Qr/oQM2OXTHunEvvTAsrWBLb6OOjuVWRNI= gopkg.in/yaml.v2 v2.0.0-20170812160011-eb3733d160e7/go.mod h1:JAlM8MvJe8wmxCU4Bli9HhUf9+ttbYbLASfIpnQbh74= gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.7/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.2.8 h1:obN1ZagJSUGI0Ek/LBmuj4SNLPfIny3KsKFopxRdj10= gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= +gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= +gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c h1:dUUwHk2QECo/6vqA44rthZ8ie2QXMNeKRTHCNY2nXvo= +gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= grpc.go4.org v0.0.0-20170609214715-11d0a25b4919/go.mod h1:77eQGdRu53HpSqPFJFmuJdjuHRquDANNeA4x7B8WQ9o= honnef.co/go/tools v0.0.0-20180728063816-88497007e858/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.0-20190418001031-e561f6794a2a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= +honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg= rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8= +sigs.k8s.io/yaml v1.1.0/go.mod h1:UJmg0vDUVViEyp3mgSv9WPwZCDxu4rQW1olrI1uml+o= +sourcegraph.com/sourcegraph/appdash v0.0.0-20190731080439-ebfcffb1b5c0/go.mod h1:hI742Nqp5OhwiqlzhgfbWU4mW4yO10fP+LoT9WOswdU= sourcegraph.com/sourcegraph/go-diff v0.5.0/go.mod h1:kuch7UrkMzY0X+p9CRK03kfuPQ2zzQcaEFbx8wA8rck= sourcegraph.com/sqs/pbtypes v0.0.0-20180604144634-d3ebe8f20ae4/go.mod h1:ketZ/q3QxT9HOBeFhu6RdvsftgpsbFHBF5Cas6cDKZ0= diff --git a/runtime/version.go b/runtime/version.go index bdc269743..e23a3e250 100644 --- a/runtime/version.go +++ b/runtime/version.go @@ -1,4 +1,4 @@ package runtime // Version is the current version of the buffalo binary -var Version = "v0.16.23" +var Version = "v0.16.24" From 1eaa9d13dfb485bf6c658fbeaa2ee7b851636aeb Mon Sep 17 00:00:00 2001 From: Antonio Pagano Date: Wed, 16 Jun 2021 13:02:01 -0500 Subject: [PATCH 45/64] replacing packr2 local thing --- genny/actions/actions-packr.go | 2 +- genny/assets/standard/standard-packr.go | 2 +- genny/assets/webpack/webpack-packr.go | 2 +- genny/build/build-packr.go | 2 +- genny/ci/ci-packr.go | 2 +- genny/docker/docker-packr.go | 2 +- genny/mail/mail-packr.go | 2 +- genny/newapp/api/api-packr.go | 2 +- genny/newapp/core/core-packr.go | 2 +- genny/newapp/web/web-packr.go | 2 +- genny/refresh/refresh-packr.go | 2 +- genny/resource/resource-packr.go | 2 +- genny/vcs/vcs-packr.go | 2 +- 13 files changed, 13 insertions(+), 13 deletions(-) diff --git a/genny/actions/actions-packr.go b/genny/actions/actions-packr.go index 46fd00968..a66684754 100644 --- a/genny/actions/actions-packr.go +++ b/genny/actions/actions-packr.go @@ -5,4 +5,4 @@ // and any other packr generated files. package actions -import _ "Users/paganotoni/code/gobuffalo/buffalo/packrd" +import _ "github.com//gobuffalo/buffalo/packrd" diff --git a/genny/assets/standard/standard-packr.go b/genny/assets/standard/standard-packr.go index b8c37290d..747e14075 100644 --- a/genny/assets/standard/standard-packr.go +++ b/genny/assets/standard/standard-packr.go @@ -5,4 +5,4 @@ // and any other packr generated files. package standard -import _ "Users/paganotoni/code/gobuffalo/buffalo/packrd" +import _ "github.com//gobuffalo/buffalo/packrd" diff --git a/genny/assets/webpack/webpack-packr.go b/genny/assets/webpack/webpack-packr.go index 707d10e7d..f92b2c89a 100644 --- a/genny/assets/webpack/webpack-packr.go +++ b/genny/assets/webpack/webpack-packr.go @@ -5,4 +5,4 @@ // and any other packr generated files. package webpack -import _ "Users/paganotoni/code/gobuffalo/buffalo/packrd" +import _ "github.com//gobuffalo/buffalo/packrd" diff --git a/genny/build/build-packr.go b/genny/build/build-packr.go index 6312111df..db2e84f04 100644 --- a/genny/build/build-packr.go +++ b/genny/build/build-packr.go @@ -5,4 +5,4 @@ // and any other packr generated files. package build -import _ "Users/paganotoni/code/gobuffalo/buffalo/packrd" +import _ "github.com//gobuffalo/buffalo/packrd" diff --git a/genny/ci/ci-packr.go b/genny/ci/ci-packr.go index 52d352001..7451c139f 100644 --- a/genny/ci/ci-packr.go +++ b/genny/ci/ci-packr.go @@ -5,4 +5,4 @@ // and any other packr generated files. package ci -import _ "Users/paganotoni/code/gobuffalo/buffalo/packrd" +import _ "github.com//gobuffalo/buffalo/packrd" diff --git a/genny/docker/docker-packr.go b/genny/docker/docker-packr.go index bbd0c3d8b..c7348c642 100644 --- a/genny/docker/docker-packr.go +++ b/genny/docker/docker-packr.go @@ -5,4 +5,4 @@ // and any other packr generated files. package docker -import _ "Users/paganotoni/code/gobuffalo/buffalo/packrd" +import _ "github.com//gobuffalo/buffalo/packrd" diff --git a/genny/mail/mail-packr.go b/genny/mail/mail-packr.go index 710191370..291778240 100644 --- a/genny/mail/mail-packr.go +++ b/genny/mail/mail-packr.go @@ -5,4 +5,4 @@ // and any other packr generated files. package mail -import _ "Users/paganotoni/code/gobuffalo/buffalo/packrd" +import _ "github.com//gobuffalo/buffalo/packrd" diff --git a/genny/newapp/api/api-packr.go b/genny/newapp/api/api-packr.go index 01d813c9c..b12946e1a 100644 --- a/genny/newapp/api/api-packr.go +++ b/genny/newapp/api/api-packr.go @@ -5,4 +5,4 @@ // and any other packr generated files. package api -import _ "Users/paganotoni/code/gobuffalo/buffalo/packrd" +import _ "github.com//gobuffalo/buffalo/packrd" diff --git a/genny/newapp/core/core-packr.go b/genny/newapp/core/core-packr.go index d072764f6..fa4de6038 100644 --- a/genny/newapp/core/core-packr.go +++ b/genny/newapp/core/core-packr.go @@ -5,4 +5,4 @@ // and any other packr generated files. package core -import _ "Users/paganotoni/code/gobuffalo/buffalo/packrd" +import _ "github.com//gobuffalo/buffalo/packrd" diff --git a/genny/newapp/web/web-packr.go b/genny/newapp/web/web-packr.go index 7ab6a2875..e12db7edc 100644 --- a/genny/newapp/web/web-packr.go +++ b/genny/newapp/web/web-packr.go @@ -5,4 +5,4 @@ // and any other packr generated files. package web -import _ "Users/paganotoni/code/gobuffalo/buffalo/packrd" +import _ "github.com//gobuffalo/buffalo/packrd" diff --git a/genny/refresh/refresh-packr.go b/genny/refresh/refresh-packr.go index ca60cddf5..f4d1ee8a5 100644 --- a/genny/refresh/refresh-packr.go +++ b/genny/refresh/refresh-packr.go @@ -5,4 +5,4 @@ // and any other packr generated files. package refresh -import _ "Users/paganotoni/code/gobuffalo/buffalo/packrd" +import _ "github.com//gobuffalo/buffalo/packrd" diff --git a/genny/resource/resource-packr.go b/genny/resource/resource-packr.go index 4b23b2f05..080165c72 100644 --- a/genny/resource/resource-packr.go +++ b/genny/resource/resource-packr.go @@ -5,4 +5,4 @@ // and any other packr generated files. package resource -import _ "Users/paganotoni/code/gobuffalo/buffalo/packrd" +import _ "github.com//gobuffalo/buffalo/packrd" diff --git a/genny/vcs/vcs-packr.go b/genny/vcs/vcs-packr.go index 0de5d0e41..63a74d7a8 100644 --- a/genny/vcs/vcs-packr.go +++ b/genny/vcs/vcs-packr.go @@ -5,4 +5,4 @@ // and any other packr generated files. package vcs -import _ "Users/paganotoni/code/gobuffalo/buffalo/packrd" +import _ "github.com//gobuffalo/buffalo/packrd" From b0f44919c13082a3ce75cc91a39a5ec5416e23bb Mon Sep 17 00:00:00 2001 From: Antonio Pagano Date: Wed, 16 Jun 2021 13:03:37 -0500 Subject: [PATCH 46/64] fixing broken import path --- genny/actions/actions-packr.go | 2 +- genny/assets/standard/standard-packr.go | 2 +- genny/assets/webpack/webpack-packr.go | 2 +- genny/build/build-packr.go | 2 +- genny/ci/ci-packr.go | 2 +- genny/docker/docker-packr.go | 2 +- genny/mail/mail-packr.go | 2 +- genny/newapp/api/api-packr.go | 2 +- genny/newapp/core/core-packr.go | 2 +- genny/newapp/web/web-packr.go | 2 +- genny/refresh/refresh-packr.go | 2 +- genny/resource/resource-packr.go | 2 +- genny/vcs/vcs-packr.go | 2 +- 13 files changed, 13 insertions(+), 13 deletions(-) diff --git a/genny/actions/actions-packr.go b/genny/actions/actions-packr.go index a66684754..22612f6c7 100644 --- a/genny/actions/actions-packr.go +++ b/genny/actions/actions-packr.go @@ -5,4 +5,4 @@ // and any other packr generated files. package actions -import _ "github.com//gobuffalo/buffalo/packrd" +import _ "github.com/gobuffalo/buffalo/packrd" diff --git a/genny/assets/standard/standard-packr.go b/genny/assets/standard/standard-packr.go index 747e14075..e23057120 100644 --- a/genny/assets/standard/standard-packr.go +++ b/genny/assets/standard/standard-packr.go @@ -5,4 +5,4 @@ // and any other packr generated files. package standard -import _ "github.com//gobuffalo/buffalo/packrd" +import _ "github.com/gobuffalo/buffalo/packrd" diff --git a/genny/assets/webpack/webpack-packr.go b/genny/assets/webpack/webpack-packr.go index f92b2c89a..7370ca82b 100644 --- a/genny/assets/webpack/webpack-packr.go +++ b/genny/assets/webpack/webpack-packr.go @@ -5,4 +5,4 @@ // and any other packr generated files. package webpack -import _ "github.com//gobuffalo/buffalo/packrd" +import _ "github.com/gobuffalo/buffalo/packrd" diff --git a/genny/build/build-packr.go b/genny/build/build-packr.go index db2e84f04..9a999f396 100644 --- a/genny/build/build-packr.go +++ b/genny/build/build-packr.go @@ -5,4 +5,4 @@ // and any other packr generated files. package build -import _ "github.com//gobuffalo/buffalo/packrd" +import _ "github.com/gobuffalo/buffalo/packrd" diff --git a/genny/ci/ci-packr.go b/genny/ci/ci-packr.go index 7451c139f..06da48ef8 100644 --- a/genny/ci/ci-packr.go +++ b/genny/ci/ci-packr.go @@ -5,4 +5,4 @@ // and any other packr generated files. package ci -import _ "github.com//gobuffalo/buffalo/packrd" +import _ "github.com/gobuffalo/buffalo/packrd" diff --git a/genny/docker/docker-packr.go b/genny/docker/docker-packr.go index c7348c642..4eb5f781c 100644 --- a/genny/docker/docker-packr.go +++ b/genny/docker/docker-packr.go @@ -5,4 +5,4 @@ // and any other packr generated files. package docker -import _ "github.com//gobuffalo/buffalo/packrd" +import _ "github.com/gobuffalo/buffalo/packrd" diff --git a/genny/mail/mail-packr.go b/genny/mail/mail-packr.go index 291778240..5f3e353ab 100644 --- a/genny/mail/mail-packr.go +++ b/genny/mail/mail-packr.go @@ -5,4 +5,4 @@ // and any other packr generated files. package mail -import _ "github.com//gobuffalo/buffalo/packrd" +import _ "github.com/gobuffalo/buffalo/packrd" diff --git a/genny/newapp/api/api-packr.go b/genny/newapp/api/api-packr.go index b12946e1a..488d9b971 100644 --- a/genny/newapp/api/api-packr.go +++ b/genny/newapp/api/api-packr.go @@ -5,4 +5,4 @@ // and any other packr generated files. package api -import _ "github.com//gobuffalo/buffalo/packrd" +import _ "github.com/gobuffalo/buffalo/packrd" diff --git a/genny/newapp/core/core-packr.go b/genny/newapp/core/core-packr.go index fa4de6038..190c8a13d 100644 --- a/genny/newapp/core/core-packr.go +++ b/genny/newapp/core/core-packr.go @@ -5,4 +5,4 @@ // and any other packr generated files. package core -import _ "github.com//gobuffalo/buffalo/packrd" +import _ "github.com/gobuffalo/buffalo/packrd" diff --git a/genny/newapp/web/web-packr.go b/genny/newapp/web/web-packr.go index e12db7edc..09a1cbd7b 100644 --- a/genny/newapp/web/web-packr.go +++ b/genny/newapp/web/web-packr.go @@ -5,4 +5,4 @@ // and any other packr generated files. package web -import _ "github.com//gobuffalo/buffalo/packrd" +import _ "github.com/gobuffalo/buffalo/packrd" diff --git a/genny/refresh/refresh-packr.go b/genny/refresh/refresh-packr.go index f4d1ee8a5..2084ab042 100644 --- a/genny/refresh/refresh-packr.go +++ b/genny/refresh/refresh-packr.go @@ -5,4 +5,4 @@ // and any other packr generated files. package refresh -import _ "github.com//gobuffalo/buffalo/packrd" +import _ "github.com/gobuffalo/buffalo/packrd" diff --git a/genny/resource/resource-packr.go b/genny/resource/resource-packr.go index 080165c72..385b06d4e 100644 --- a/genny/resource/resource-packr.go +++ b/genny/resource/resource-packr.go @@ -5,4 +5,4 @@ // and any other packr generated files. package resource -import _ "github.com//gobuffalo/buffalo/packrd" +import _ "github.com/gobuffalo/buffalo/packrd" diff --git a/genny/vcs/vcs-packr.go b/genny/vcs/vcs-packr.go index 63a74d7a8..8db6172a1 100644 --- a/genny/vcs/vcs-packr.go +++ b/genny/vcs/vcs-packr.go @@ -5,4 +5,4 @@ // and any other packr generated files. package vcs -import _ "github.com//gobuffalo/buffalo/packrd" +import _ "github.com/gobuffalo/buffalo/packrd" From c6b505f4e35b5e39a27adbf14913845ef8056a8c Mon Sep 17 00:00:00 2001 From: Antonio Pagano Date: Thu, 17 Jun 2021 12:15:55 -0500 Subject: [PATCH 47/64] updating flect version --- go.mod | 2 +- go.sum | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/go.mod b/go.mod index 1f55cac2b..1a80d9a39 100644 --- a/go.mod +++ b/go.mod @@ -11,7 +11,7 @@ require ( github.com/gobuffalo/clara/v2 v2.0.2 github.com/gobuffalo/envy v1.9.0 github.com/gobuffalo/events v1.4.1 - github.com/gobuffalo/flect v0.2.2 + github.com/gobuffalo/flect v0.2.3 github.com/gobuffalo/genny/v2 v2.0.6 github.com/gobuffalo/github_flavored_markdown v1.1.0 github.com/gobuffalo/helpers v0.6.2 diff --git a/go.sum b/go.sum index 91c85f964..d07d33808 100644 --- a/go.sum +++ b/go.sum @@ -292,6 +292,8 @@ github.com/gobuffalo/flect v0.2.0/go.mod h1:W3K3X9ksuZfir8f/LrfVtWmCDQFfayuylOJ7 github.com/gobuffalo/flect v0.2.1/go.mod h1:vmkQwuZYhN5Pc4ljYQZzP+1sq+NEkK+lh20jmEmX3jc= github.com/gobuffalo/flect v0.2.2 h1:PAVD7sp0KOdfswjAw9BpLCU9hXo7wFSzgpQ+zNeks/A= github.com/gobuffalo/flect v0.2.2/go.mod h1:vmkQwuZYhN5Pc4ljYQZzP+1sq+NEkK+lh20jmEmX3jc= +github.com/gobuffalo/flect v0.2.3 h1:f/ZukRnSNA/DUpSNDadko7Qc0PhGvsew35p/2tu+CRY= +github.com/gobuffalo/flect v0.2.3/go.mod h1:vmkQwuZYhN5Pc4ljYQZzP+1sq+NEkK+lh20jmEmX3jc= github.com/gobuffalo/genny v0.0.0-20180924032338-7af3a40f2252/go.mod h1:tUTQOogrr7tAQnhajMSH6rv1BVev34H2sa1xNHMy94g= github.com/gobuffalo/genny v0.0.0-20181003150629-3786a0744c5d/go.mod h1:WAd8HmjMVrnkAZbmfgH5dLBUchsZfqzp/WS5sQz+uTM= github.com/gobuffalo/genny v0.0.0-20181005145118-318a41a134cc/go.mod h1:WAd8HmjMVrnkAZbmfgH5dLBUchsZfqzp/WS5sQz+uTM= From c149314d01680b442339433a421902a158bfad8c Mon Sep 17 00:00:00 2001 From: Matthias Fasching Date: Tue, 6 Jul 2021 14:44:45 +0200 Subject: [PATCH 48/64] More reliable fix for Go 1.16 build issues (#2119) * Call "go get -d" when building the a package. * Fix failing tests --- genny/build/apkg.go | 7 +++++++ genny/build/build-packr.go | 8 -------- genny/build/build_test.go | 4 ++-- 3 files changed, 9 insertions(+), 10 deletions(-) delete mode 100644 genny/build/build-packr.go diff --git a/genny/build/apkg.go b/genny/build/apkg.go index baed67c94..9a5479a65 100644 --- a/genny/build/apkg.go +++ b/genny/build/apkg.go @@ -1,6 +1,8 @@ package build import ( + "os/exec" + "github.com/gobuffalo/genny/v2" ) @@ -13,10 +15,15 @@ func apkg(opts *Options) (*genny.Generator, error) { g.RunFn(copyInflections) g.RunFn(copyDatabase) + g.RunFn(addDependencies) return g, nil } +func addDependencies(r *genny.Runner) error { + return r.Exec(exec.Command("go", "get", "-d")) +} + func copyDatabase(r *genny.Runner) error { defer func() { r.Disk.Remove("database.yml") diff --git a/genny/build/build-packr.go b/genny/build/build-packr.go deleted file mode 100644 index 9a999f396..000000000 --- a/genny/build/build-packr.go +++ /dev/null @@ -1,8 +0,0 @@ -// +build !skippackr -// Code generated by github.com/gobuffalo/packr/v2. DO NOT EDIT. - -// You can use the "packr clean" command to clean up this, -// and any other packr generated files. -package build - -import _ "github.com/gobuffalo/buffalo/packrd" diff --git a/genny/build/build_test.go b/genny/build/build_test.go index 6d187c715..cfb73d8af 100644 --- a/genny/build/build_test.go +++ b/genny/build/build_test.go @@ -56,7 +56,7 @@ func Test_New(t *testing.T) { // we should never leave any files modified or dropped r.Len(res.Files, 0) - cmds := []string{"go build -tags bar -o bin/foo", "go mod tidy"} + cmds := []string{"go get -d", "go build -tags bar -o bin/foo", "go mod tidy"} r.Len(res.Commands, len(cmds)) for i, c := range res.Commands { eq(r, cmds[i], c) @@ -84,7 +84,7 @@ func Test_NewWithoutBuildDeps(t *testing.T) { res := run.Results() - cmds := []string{"go build -tags bar -o bin/foo"} + cmds := []string{"go get -d", "go build -tags bar -o bin/foo"} r.Len(res.Commands, len(cmds)) for i, c := range res.Commands { eq(r, cmds[i], c) From ca83b7f704579be7ec99ff4d63b2d35f50324f68 Mon Sep 17 00:00:00 2001 From: Antonio Pagano Date: Tue, 6 Jul 2021 08:20:03 -0500 Subject: [PATCH 49/64] updating version --- Dockerfile.build | 2 +- Dockerfile.slim.build | 2 +- runtime/version.go | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Dockerfile.build b/Dockerfile.build index 7a2eb809c..e4b0a5044 100644 --- a/Dockerfile.build +++ b/Dockerfile.build @@ -32,7 +32,7 @@ RUN npm install -g --no-progress yarn \ # Install golangci RUN curl -sfL https://install.goreleaser.com/github.com/golangci/golangci-lint.sh | sh -s -- -b $(go env GOPATH)/bin v1.24.0 # Installing buffalo binary -RUN curl -sf https://gobinaries.com/gobuffalo/buffalo/buffalo@v0.16.24 | sh +RUN curl -sf https://gobinaries.com/gobuffalo/buffalo/buffalo@v0.16.26 | sh RUN go get github.com/gobuffalo/buffalo-pop/v2 RUN buffalo version diff --git a/Dockerfile.slim.build b/Dockerfile.slim.build index 8d5dfe571..121132278 100644 --- a/Dockerfile.slim.build +++ b/Dockerfile.slim.build @@ -17,7 +17,7 @@ RUN npm i -g --no-progress yarn \ && yarn config set yarn-offline-mirror-pruning true # Pulling docker binary from releases -RUN curl -sf https://gobinaries.com/gobuffalo/buffalo/buffalo@v0.16.24 | sh +RUN curl -sf https://gobinaries.com/gobuffalo/buffalo/buffalo@v0.16.26 | sh RUN go get github.com/gobuffalo/buffalo-pop/v2 RUN buffalo version diff --git a/runtime/version.go b/runtime/version.go index e23a3e250..ca0cfd260 100644 --- a/runtime/version.go +++ b/runtime/version.go @@ -1,4 +1,4 @@ package runtime // Version is the current version of the buffalo binary -var Version = "v0.16.24" +var Version = "v0.16.26" From 6b07979dc8461aed6f0e07a285c469ebbd68d08d Mon Sep 17 00:00:00 2001 From: Antonio Pagano Date: Tue, 6 Jul 2021 08:22:55 -0500 Subject: [PATCH 50/64] packing --- genny/build/build-packr.go | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 genny/build/build-packr.go diff --git a/genny/build/build-packr.go b/genny/build/build-packr.go new file mode 100644 index 000000000..9a999f396 --- /dev/null +++ b/genny/build/build-packr.go @@ -0,0 +1,8 @@ +// +build !skippackr +// Code generated by github.com/gobuffalo/packr/v2. DO NOT EDIT. + +// You can use the "packr clean" command to clean up this, +// and any other packr generated files. +package build + +import _ "github.com/gobuffalo/buffalo/packrd" From 4417f80cdb248f5dde7ef3929a41b203d76a7ad1 Mon Sep 17 00:00:00 2001 From: Matthias Fasching Date: Wed, 7 Jul 2021 15:07:25 +0200 Subject: [PATCH 51/64] Run go mod tidy when initializing a new project (#2124) * Run go mod tidy when initializing a new project * Use Go 1.15 instead of 1.14 during workflows --- .github/workflows/release.yml | 4 ++-- buffalo/cmd/new.go | 6 ++++++ 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 6783fca49..bb4e9a03a 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -10,10 +10,10 @@ jobs: runs-on: ubuntu-latest steps: - - name: Set up Go 1.14 + name: Set up Go 1.15 uses: actions/setup-go@v1 with: - go-version: 1.14 + go-version: 1.15 id: go - name: Checkout Code diff --git a/buffalo/cmd/new.go b/buffalo/cmd/new.go index b8573bc84..2ccebf045 100644 --- a/buffalo/cmd/new.go +++ b/buffalo/cmd/new.go @@ -201,6 +201,12 @@ var newCmd = &cobra.Command{ } run.WithGroup(gg) + g := genny.New() + g.Command(exec.Command("go", "mod", "tidy")) + if err := run.With(g); err != nil { + return nil + } + if err := run.WithNew(gogen.Fmt(app.Root)); err != nil { return err } From 75233c60a8850e6845a019191ff1578c4f34b94e Mon Sep 17 00:00:00 2001 From: Matthias Fasching Date: Wed, 7 Jul 2021 15:08:11 +0200 Subject: [PATCH 52/64] Add action to handle stale issues and PRs (#2125) --- .github/workflows/stale.yml | 24 ++++++++++++++++++++++++ .github/workflows/tests.yml | 21 ++++++++++----------- 2 files changed, 34 insertions(+), 11 deletions(-) create mode 100644 .github/workflows/stale.yml diff --git a/.github/workflows/stale.yml b/.github/workflows/stale.yml new file mode 100644 index 000000000..97bda903d --- /dev/null +++ b/.github/workflows/stale.yml @@ -0,0 +1,24 @@ +name: "Close stale issues and PRs" +on: + schedule: + - cron: "30 1 * * *" + +jobs: + stale: + runs-on: ubuntu-latest + steps: + - uses: actions/stale@v3 + with: + repo-token: ${{ secrets.GITHUB_TOKEN }} + stale-issue-message: "This issue is stale because it has been open 30 days with no activity. Remove stale label or comment or this will be closed in 5 days." + stale-pr-message: "This PR is stale because it has been open 45 days with no activity. Remove stale label or comment or this will be closed in 10 days." + close-issue-message: "This issue was closed because it has been stalled for 5 days with no activity." + close-pr-message: "This PR was closed because it has been stalled for 10 days with no activity." + days-before-issue-stale: 30 + days-before-issue-close: 5 + days-before-pr-stale: 45 + days-before-pr-close: 10 + stale-issue-label: "no-issue-activity" + exempt-issue-labels: "help wanted,enhancement" + stale-pr-label: "no-pr-activity" + exempt-pr-labels: "dependencies,awaiting-approval,work-in-progress" diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 6c8551081..e4ac63566 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -1,5 +1,5 @@ name: Tests -on: +on: push: branches: - master @@ -16,13 +16,12 @@ jobs: env: GO111MODULE: on steps: - - name: Checkout code - uses: actions/checkout@v1 - with: - fetch-depth: 1 - path: src/github.com/${{ github.repository }} - - name: Test - run: | - go mod tidy -v - go test -tags "sqlite" -cover ./... - + - name: Checkout code + uses: actions/checkout@v1 + with: + fetch-depth: 1 + path: src/github.com/${{ github.repository }} + - name: Test + run: | + go mod tidy -v + go test -tags "sqlite" -cover ./... From 1e27d00dfd010fadd037cbc8bffa7030c9df3cd1 Mon Sep 17 00:00:00 2001 From: Matthias Fasching Date: Tue, 3 Aug 2021 18:09:41 +0200 Subject: [PATCH 53/64] Update dependencies after buffalo new (#2128) * Update dependencies after buffalo new * Cleanup --- buffalo.go | 11 +- buffalo/cmd/fix/plugins.go | 3 + buffalo/cmd/new.go | 35 ++- buffalo/cmd/plugins/list.go | 4 +- genny/build/build-packr.go | 8 - go.mod | 8 +- go.sum | 500 ++++++++++++++++++++++++++++++++++-- plugins.go | 9 +- plugins/decorate.go | 4 +- runtime/runtime.go | 1 - 10 files changed, 524 insertions(+), 59 deletions(-) delete mode 100644 genny/build/build-packr.go delete mode 100644 runtime/runtime.go diff --git a/buffalo.go b/buffalo.go index 20cd8ee6a..25c84b8e2 100644 --- a/buffalo.go +++ b/buffalo.go @@ -12,13 +12,4 @@ package buffalo // this import the package doesn't get vendored // by go mod vendor or by dep. this import fixes // this problem. -import "github.com/gobuffalo/buffalo/runtime" - -var version string - -func init() { - // this is here to make sure that goimports - // doesn't remove the runtime import because - // it isn't being used. - version = runtime.Version -} +import _ "github.com/gobuffalo/buffalo/runtime" diff --git a/buffalo/cmd/fix/plugins.go b/buffalo/cmd/fix/plugins.go index 0e4c7d877..1eb404fc9 100644 --- a/buffalo/cmd/fix/plugins.go +++ b/buffalo/cmd/fix/plugins.go @@ -39,6 +39,9 @@ func (pf Plugins) Reinstall(r *Runner) error { App: r.App, Plugins: plugs.List(), }) + if err != nil { + return err + } run.WithGroup(gg) diff --git a/buffalo/cmd/new.go b/buffalo/cmd/new.go index 2ccebf045..b58819482 100644 --- a/buffalo/cmd/new.go +++ b/buffalo/cmd/new.go @@ -1,6 +1,8 @@ package cmd import ( + "bufio" + "bytes" "context" "fmt" "os" @@ -188,7 +190,7 @@ var newCmd = &cobra.Command{ } if app.WithWebpack { wo.Webpack = &webpack.Options{} - } else if !app.AsAPI { + } else { wo.Standard = &standard.Options{} } gg, err = web.New(wo) @@ -199,13 +201,38 @@ var newCmd = &cobra.Command{ } return err } - run.WithGroup(gg) g := genny.New() g.Command(exec.Command("go", "mod", "tidy")) - if err := run.With(g); err != nil { + gg.Add(g) + + g = genny.New() + g.RunFn(func(r *genny.Runner) error { + deps, err := exec.Command("go", "list", "-f", "{{if not (or .Main .Indirect)}}{{.Path}}{{end}}", "-m", "all").Output() + if err != nil { + return err + } + + scanner := bufio.NewScanner(bytes.NewReader(deps)) + for scanner.Scan() { + if err := exec.Command("go", "get", scanner.Text()).Run(); err != nil { + return err + } + } + + if err := scanner.Err(); err != nil { + return err + } + return nil - } + }) + gg.Add(g) + + g = genny.New() + g.Command(exec.Command("go", "mod", "tidy")) + gg.Add(g) + + run.WithGroup(gg) if err := run.WithNew(gogen.Fmt(app.Root)); err != nil { return err diff --git a/buffalo/cmd/plugins/list.go b/buffalo/cmd/plugins/list.go index 39783a48c..69cca8573 100644 --- a/buffalo/cmd/plugins/list.go +++ b/buffalo/cmd/plugins/list.go @@ -24,9 +24,7 @@ var listCmd = &cobra.Command{ var cmds pluginsin.Commands for _, l := range list { - for _, c := range l { - cmds = append(cmds, c) - } + cmds = append(cmds, l...) } sort.Slice(cmds, func(i, j int) bool { diff --git a/genny/build/build-packr.go b/genny/build/build-packr.go deleted file mode 100644 index 9a999f396..000000000 --- a/genny/build/build-packr.go +++ /dev/null @@ -1,8 +0,0 @@ -// +build !skippackr -// Code generated by github.com/gobuffalo/packr/v2. DO NOT EDIT. - -// You can use the "packr clean" command to clean up this, -// and any other packr generated files. -package build - -import _ "github.com/gobuffalo/buffalo/packrd" diff --git a/go.mod b/go.mod index 2706717d7..21eef3615 100644 --- a/go.mod +++ b/go.mod @@ -22,7 +22,7 @@ require ( github.com/gobuffalo/packd v1.0.0 github.com/gobuffalo/packr/v2 v2.8.1 github.com/gobuffalo/plush/v4 v4.1.5 - github.com/gobuffalo/pop/v5 v5.3.3 + github.com/gobuffalo/pop/v5 v5.3.4 github.com/gobuffalo/tags/v3 v3.1.0 github.com/google/go-cmp v0.5.6 github.com/gorilla/handlers v1.5.1 @@ -36,12 +36,12 @@ require ( github.com/markbates/sigtx v1.0.0 github.com/monoculum/formam v0.0.0-20210523135142-1af3317b7b9b github.com/sirupsen/logrus v1.8.1 - github.com/spf13/cobra v1.1.3 + github.com/spf13/cobra v1.2.1 github.com/spf13/pflag v1.0.5 - github.com/spf13/viper v1.7.1 + github.com/spf13/viper v1.8.1 github.com/stretchr/testify v1.7.0 golang.org/x/sync v0.0.0-20210220032951-036812b2e83c - golang.org/x/tools v0.1.3 + golang.org/x/tools v0.1.5 gopkg.in/alexcesaro/quotedprintable.v3 v3.0.0-20150716171945-2caba252f4dc gopkg.in/yaml.v2 v2.4.0 ) diff --git a/go.sum b/go.sum index 612aa98a2..dfcd18cd3 100644 --- a/go.sum +++ b/go.sum @@ -7,11 +7,37 @@ cloud.google.com/go v0.44.1/go.mod h1:iSa0KzasP4Uvy3f1mN/7PiObzGgflwredwwASm/v6A cloud.google.com/go v0.44.2/go.mod h1:60680Gw3Yr4ikxnPRS/oxxkBccT6SA1yMk63TGekxKY= cloud.google.com/go v0.45.1/go.mod h1:RpBamKRgapWJb87xiFSdk4g1CME7QZg3uwTez+TSTjc= cloud.google.com/go v0.46.3/go.mod h1:a6bKKbmY7er1mI7TEI4lsAkts/mkhTSZK8w33B4RAg0= +cloud.google.com/go v0.50.0/go.mod h1:r9sluTvynVuxRIOHXQEHMFffphuXHOMZMycpNR5e6To= +cloud.google.com/go v0.52.0/go.mod h1:pXajvRH/6o3+F9jDHZWQ5PbGhn+o8w9qiu/CffaVdO4= +cloud.google.com/go v0.53.0/go.mod h1:fp/UouUEsRkN6ryDKNW/Upv/JBKnv6WDthjR6+vze6M= +cloud.google.com/go v0.54.0/go.mod h1:1rq2OEkV3YMf6n/9ZvGWI3GWw0VoqH/1x2nd8Is/bPc= +cloud.google.com/go v0.56.0/go.mod h1:jr7tqZxxKOVYizybht9+26Z/gUq7tiRzu+ACVAMbKVk= +cloud.google.com/go v0.57.0/go.mod h1:oXiQ6Rzq3RAkkY7N6t3TcE6jE+CIBBbA36lwQ1JyzZs= +cloud.google.com/go v0.62.0/go.mod h1:jmCYTdRCQuc1PHIIJ/maLInMho30T/Y0M4hTdTShOYc= +cloud.google.com/go v0.65.0/go.mod h1:O5N8zS7uWy9vkA9vayVHs65eM1ubvY4h553ofrNHObY= +cloud.google.com/go v0.72.0/go.mod h1:M+5Vjvlc2wnp6tjzE102Dw08nGShTscUx2nZMufOKPI= +cloud.google.com/go v0.74.0/go.mod h1:VV1xSbzvo+9QJOxLDaJfTjx5e+MePCpCWwvftOeQmWk= +cloud.google.com/go v0.78.0/go.mod h1:QjdrLG0uq+YwhjoVOLsS1t7TW8fs36kLs4XO5R5ECHg= +cloud.google.com/go v0.79.0/go.mod h1:3bzgcEeQlzbuEAYu4mrWhKqWjmpprinYgKJLgKHnbb8= +cloud.google.com/go v0.81.0/go.mod h1:mk/AM35KwGk/Nm2YSeZbxXdrNK3KZOYHmLkOqC2V6E0= cloud.google.com/go/bigquery v1.0.1/go.mod h1:i/xbL2UlR5RvWAURpBYZTtm/cXjCha9lbfbpx4poX+o= +cloud.google.com/go/bigquery v1.3.0/go.mod h1:PjpwJnslEMmckchkHFfq+HTD2DmtT67aNFKH1/VBDHE= +cloud.google.com/go/bigquery v1.4.0/go.mod h1:S8dzgnTigyfTmLBfrtrhyYhwRxG72rYxvftPBK2Dvzc= +cloud.google.com/go/bigquery v1.5.0/go.mod h1:snEHRnqQbz117VIFhE8bmtwIDY80NLUZUMb4Nv6dBIg= +cloud.google.com/go/bigquery v1.7.0/go.mod h1://okPTzCYNXSlb24MZs83e2Do+h+VXtc4gLoIoXIAPc= +cloud.google.com/go/bigquery v1.8.0/go.mod h1:J5hqkt3O0uAFnINi6JXValWIb1v0goeZM77hZzJN/fQ= cloud.google.com/go/datastore v1.0.0/go.mod h1:LXYbyblFSglQ5pkeyhO+Qmw7ukd3C+pD7TKLgZqpHYE= +cloud.google.com/go/datastore v1.1.0/go.mod h1:umbIZjpQpHh4hmRpGhH4tLFup+FVzqBi1b3c64qFpCk= cloud.google.com/go/firestore v1.1.0/go.mod h1:ulACoGHTpvq5r8rxGJ4ddJZBZqakUQqClKRT5SZwBmk= cloud.google.com/go/pubsub v1.0.1/go.mod h1:R0Gpsv3s54REJCy4fxDixWD93lHJMoZTyQ2kNxGRt3I= +cloud.google.com/go/pubsub v1.1.0/go.mod h1:EwwdRX2sKPjnvnqCa270oGRyludottCI76h+R3AArQw= +cloud.google.com/go/pubsub v1.2.0/go.mod h1:jhfEVHT8odbXTkndysNHCcx0awwzvfOlguIAii9o8iA= +cloud.google.com/go/pubsub v1.3.1/go.mod h1:i+ucay31+CNRpDW4Lu78I4xXG+O1r/MAHgjpRVR+TSU= cloud.google.com/go/storage v1.0.0/go.mod h1:IhtSnM/ZTZV8YYJWCY8RULGVqBDmpoyjwiyrjsg+URw= +cloud.google.com/go/storage v1.5.0/go.mod h1:tpKbwo567HUNpVclU5sGELwQWBDZ8gh0ZeosJ0Rtdos= +cloud.google.com/go/storage v1.6.0/go.mod h1:N7U0C8pVQ/+NIKOBQyamJIeKQKkZ+mxpohlUTyfDhBk= +cloud.google.com/go/storage v1.8.0/go.mod h1:Wv1Oy7z6Yz3DshWRJFhqM/UCfaWIRTdp0RXyy7KQOVs= +cloud.google.com/go/storage v1.10.0/go.mod h1:FLPqc6j+Ki4BU591ie1oL6qBQGu2Bl/tZ9ullr3+Kg0= dmitri.shuralyov.com/app/changes v0.0.0-20180602232624-0a106ad413e3/go.mod h1:Yl+fi1br7+Rr3LqpNJf1/uxUdtRUV+Tnj0o93V2B9MU= dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= dmitri.shuralyov.com/html/belt v0.0.0-20180602232347-f7d459c86be0/go.mod h1:JLBrvjyP0v+ecvNYvCpyZgu5/xkfAUhi6wJj28eUfSU= @@ -21,34 +47,64 @@ git.apache.org/thrift.git v0.0.0-20180902110319-2566ecd5d999/go.mod h1:fPE2ZNJGy github.com/BurntSushi/toml v0.3.1 h1:WXkYYl6Yr3qBf1K79EBnL4mak0OimBfB0XUf9Vl28OQ= github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= +github.com/Knetic/govaluate v3.0.1-0.20171022003610-9aa49832a739+incompatible/go.mod h1:r7JcOSlj0wfOMncg0iLm8Leh48TZaKVeNIfJntJ2wa0= github.com/Masterminds/semver v1.4.2/go.mod h1:MB6lktGJrhw8PrUyiEoblNEGEQ+RzHPF078ddwwvV3Y= github.com/Masterminds/semver v1.5.0 h1:H65muMkzWKEuNDnfl9d70GUjFniHKHRbFPGBuZ3QEww= github.com/Masterminds/semver v1.5.0/go.mod h1:MB6lktGJrhw8PrUyiEoblNEGEQ+RzHPF078ddwwvV3Y= -github.com/Masterminds/semver/v3 v3.0.3 h1:znjIyLfpXEDQjOIEWh+ehwpTU14UzUPub3c3sm36u14= github.com/Masterminds/semver/v3 v3.0.3/go.mod h1:VPu/7SZ7ePZ3QOrcuXROw5FAcLl4a0cBrbBpGY/8hQs= +github.com/Masterminds/semver/v3 v3.1.1 h1:hLg3sBzpNErnxhQtUy/mmLR2I9foDujNK030IGemrRc= +github.com/Masterminds/semver/v3 v3.1.1/go.mod h1:VPu/7SZ7ePZ3QOrcuXROw5FAcLl4a0cBrbBpGY/8hQs= github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU= +github.com/Shopify/sarama v1.19.0/go.mod h1:FVkBWblsNy7DGZRfXLU0O9RCGt5g3g3yEuWXgklEdEo= +github.com/Shopify/toxiproxy v2.1.4+incompatible/go.mod h1:OXgGpZ6Cli1/URJOF1DMxUHB2q5Ap20/P/eIdh4G0pI= +github.com/VividCortex/gohistogram v1.0.0/go.mod h1:Pf5mBqqDxYaXu3hDrrU+w6nw50o/4+TcAqDqk/vUH7g= +github.com/afex/hystrix-go v0.0.0-20180502004556-fa1af6a1f4f5/go.mod h1:SkGFH1ia65gfNATL8TAiHDNxPzPdmEL5uirI2Uyuz6c= github.com/ajg/form v0.0.0-20160822230020-523a5da1a92f/go.mod h1:uL1WgH+h2mgNtvBq0339dVnzXdBETtL2LeUXaIv25UY= github.com/ajg/form v1.5.1/go.mod h1:uL1WgH+h2mgNtvBq0339dVnzXdBETtL2LeUXaIv25UY= github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= +github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= +github.com/alecthomas/units v0.0.0-20190717042225-c3de453c63f4/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= github.com/anmitsu/go-shlex v0.0.0-20161002113705-648efa622239/go.mod h1:2FmKhYUyUczH0OGQWaF5ceTx0UBShxjsH6f8oGKYe2c= +github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY= +github.com/apache/thrift v0.12.0/go.mod h1:cp2SuWMxlEZw2r+iP2GNCdIi4C1qmUzdZFSVb+bacwQ= +github.com/apache/thrift v0.13.0/go.mod h1:cp2SuWMxlEZw2r+iP2GNCdIi4C1qmUzdZFSVb+bacwQ= github.com/armon/circbuf v0.0.0-20150827004946-bbbad097214e/go.mod h1:3U/XgcO3hCbHZ8TKRvWD2dDTCfh9M9ya+I9JpbB7O8o= github.com/armon/consul-api v0.0.0-20180202201655-eb2c6b5be1b6/go.mod h1:grANhF5doyWs3UAsr3K4I6qtAmlQcZDesFNEHPZAzj8= github.com/armon/go-metrics v0.0.0-20180917152333-f0300d1749da/go.mod h1:Q73ZrmVTwzkszR9V5SSuryQ31EELlFMUz1kKyl939pY= github.com/armon/go-radix v0.0.0-20180808171621-7fddfc383310/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= +github.com/aryann/difflib v0.0.0-20170710044230-e206f873d14a/go.mod h1:DAHtR1m6lCRdSC2Tm3DSWRPvIPr6xNKyeHdqDQSQT+A= +github.com/aws/aws-lambda-go v1.13.3/go.mod h1:4UKl9IzQMoD+QF79YdCuzCwp8VbmG4VAQwij/eHl5CU= +github.com/aws/aws-sdk-go v1.27.0/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo= +github.com/aws/aws-sdk-go-v2 v0.18.0/go.mod h1:JWVYvqSMppoMJC0x5wdwiImzgXTI9FuZwxzkQq9wy+g= github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8= +github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= github.com/bgentry/speakeasy v0.1.0/go.mod h1:+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kBD4zp0CCIs= github.com/bketelsen/crypt v0.0.3-0.20200106085610-5cbc8cc4026c/go.mod h1:MKsuJmJgSg28kpZDP6UIiPt0e0Oz0kqKNGyRaWEPv84= +github.com/bketelsen/crypt v0.0.4/go.mod h1:aI6NrJ0pMGgvZKL1iVgXLnfIFJtfV+bKCoqOes/6LfM= github.com/blang/semver v3.5.1+incompatible/go.mod h1:kRBLl5iJ+tD4TcOOxsy/0fnwebNt5EWlYSAyrTnjyyk= github.com/bradfitz/go-smtpd v0.0.0-20170404230938-deb6d6237625/go.mod h1:HYsPBTaaSFSlLx/70C2HPIMNZpVV8+vt/A+FMnYP11g= +github.com/casbin/casbin/v2 v2.1.2/go.mod h1:YcPU1XXisHhLzuxH9coDNf2FbKpjGlbCg3n9yuLkIJQ= +github.com/cenkalti/backoff v2.2.1+incompatible/go.mod h1:90ReRw6GdpyfrHakVjL/QHaoyV4aDUVVkXQJJJ3NXXM= +github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc= +github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= +github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI= +github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= +github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= +github.com/clbanning/x2j v0.0.0-20191024224557-825249438eec/go.mod h1:jMjuTZXRI4dUb/I5gc9Hdhagfvm9+RyrPryS/auMzxE= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= +github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= +github.com/cncf/udpa/go v0.0.0-20200629203442-efcf912fb354/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= +github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/cockroachdb/apd v1.1.0 h1:3LFP3629v+1aKXU5Q37mxmRxX/pIu1nijXydLShEq5I= github.com/cockroachdb/apd v1.1.0/go.mod h1:8Sl8LxpKi29FqWXR16WEFZRNSz3SoPzUzeMeY4+DwBQ= github.com/cockroachdb/cockroach-go v0.0.0-20181001143604-e0a95dfd547c/go.mod h1:XGLbWH/ujMcbPbhZq52Nv6UrCghb1yGn//133kEsvDk= github.com/cockroachdb/cockroach-go v0.0.0-20190916165215-ad57a61cc915/go.mod h1:XGLbWH/ujMcbPbhZq52Nv6UrCghb1yGn//133kEsvDk= github.com/cockroachdb/cockroach-go v0.0.0-20190925194419-606b3d062051/go.mod h1:XGLbWH/ujMcbPbhZq52Nv6UrCghb1yGn//133kEsvDk= +github.com/cockroachdb/datadriven v0.0.0-20190809214429-80d97fb3cbaa/go.mod h1:zn76sxSg3SzpJ0PPJaLDCu+Bu0Lg3sKTORVIj19EIF8= +github.com/codahale/hdrhistogram v0.0.0-20161010025455-3a0bb77429bd/go.mod h1:sE/e/2PUdi/liOCUjSTXgM1o87ZssimdTWN964YiIeI= github.com/codegangsta/negroni v1.0.0/go.mod h1:v0y3T5G7Y1UlFfyxFn/QLRU4a2EuNau2iZY63YTKWo0= github.com/coreos/bbolt v1.3.2/go.mod h1:iRUV2dpdMOn7Bo10OQBFzIJO9kkE559Wcmn+qkEiiKk= github.com/coreos/etcd v3.3.10+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE= @@ -56,11 +112,15 @@ github.com/coreos/etcd v3.3.13+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc github.com/coreos/go-etcd v2.0.0+incompatible/go.mod h1:Jez6KQU2B/sWsbdaef3ED8NzMklzPG4d5KIOhIy30Tk= github.com/coreos/go-semver v0.2.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= github.com/coreos/go-semver v0.3.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= +github.com/coreos/go-systemd v0.0.0-20180511133405-39ca1b05acc7/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= github.com/coreos/go-systemd v0.0.0-20181012123002-c6f51f82210d/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= github.com/coreos/go-systemd v0.0.0-20190719114852-fd7a80b32e1f/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= +github.com/coreos/go-systemd/v22 v22.3.2/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= +github.com/coreos/pkg v0.0.0-20160727233714-3ac0863d7acf/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA= github.com/coreos/pkg v0.0.0-20180928190104-399ea9e2e55f/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA= github.com/cpuguy83/go-md2man v1.0.10/go.mod h1:SmD6nW6nTyfqj6ABTjUi3V3JVMnlJmwcJI5acqYI6dE= +github.com/cpuguy83/go-md2man/v2 v2.0.0-20190314233015-f79a8a8ca69d/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU= github.com/cpuguy83/go-md2man/v2 v2.0.0/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU= github.com/creack/pty v1.1.7/go.mod h1:lj5s0c3V2DBrqTV7llrYr5NG6My20zk30Fl46Y7DoTY= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= @@ -68,9 +128,22 @@ 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/dgrijalva/jwt-go v3.2.0+incompatible/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ= github.com/dgryski/go-sip13 v0.0.0-20181026042036-e10d5fee7954/go.mod h1:vAd38F8PWV+bWy6jNmig1y/TA+kYO4g3RSRF0IAv0no= +github.com/dustin/go-humanize v0.0.0-20171111073723-bb3d318650d4/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= github.com/dustin/go-humanize v0.0.0-20180713052910-9f541cc9db5d/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= 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/eapache/go-resiliency v1.1.0/go.mod h1:kFI+JgMyC7bLPUVY133qvEBtVayf5mFgVsvEsIPBvNs= +github.com/eapache/go-xerial-snappy v0.0.0-20180814174437-776d5712da21/go.mod h1:+020luEh2TKB4/GOp8oxxtq0Daoen/Cii55CzbTV6DU= +github.com/eapache/queue v1.1.0/go.mod h1:6eCeP0CKFpHLu8blIFXhExK/dRa7WDZfr6jVFPTqq+I= +github.com/edsrzf/mmap-go v1.0.0/go.mod h1:YO35OhQPt3KJa3ryjFM5Bs14WD66h8eGKpfaBNrHW5M= +github.com/envoyproxy/go-control-plane v0.6.9/go.mod h1:SBwIajubJHhxtWwsL9s8ss4safvEdbitLhGGK48rN6g= +github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= +github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= +github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98= +github.com/envoyproxy/go-control-plane v0.9.7/go.mod h1:cwu0lG7PUMfa9snN8LXBig5ynNVH9qI8YYLbd1fK2po= +github.com/envoyproxy/go-control-plane v0.9.9-0.20201210154907-fd9021fe5dad/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk= +github.com/envoyproxy/go-control-plane v0.9.9-0.20210217033140-668b12f5399d/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk= +github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4= github.com/fatih/color v1.9.0/go.mod h1:eQcE1qtQxscV5RaZvpXrrb8Drkc3/DdQ+uUYCNjL+zU= github.com/fatih/color v1.12.0 h1:mRhaKNwANqRgUBGKmnI5ZxEk7QXmjQeCcuYFMX2bfcc= @@ -81,14 +154,22 @@ github.com/fatih/structs v1.1.0/go.mod h1:9NiDSp5zOcgEDl+j00MP/WkGVPOlPRLejGD8Ga github.com/felixge/httpsnoop v1.0.1 h1:lvB5Jl89CsZtGIWuTcDM1E/vkVs49/Ml7JJe07l8SPQ= github.com/felixge/httpsnoop v1.0.1/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= github.com/flynn/go-shlex v0.0.0-20150515145356-3f9db97f8568/go.mod h1:xEzjJPgXI435gkrCt3MPfRiAkVrwSbHsst4LCFVfpJc= -github.com/fsnotify/fsnotify v1.4.7 h1:IXs+QLmnXW2CcXuY+8Mzv/fWEsPGWxqefPtCP5CnV9I= +github.com/franela/goblin v0.0.0-20200105215937-c9ffbefa60db/go.mod h1:7dvUGVsVBjqR7JHJk0brhHOZYGmfBYOrK0ZhYMEtBr4= +github.com/franela/goreq v0.0.0-20171204163338-bcd34c9993f8/go.mod h1:ZhphrRTfi2rbfLwlschooIH4+wKKDR4Pdxhh+TRoA20= github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= +github.com/fsnotify/fsnotify v1.4.9 h1:hsms1Qyu0jgnwNXIxa+/V/PDsU6CfLf6CNO8H7IWoS4= +github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ= github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= github.com/gliderlabs/ssh v0.1.1/go.mod h1:U7qILu1NlMHj9FlMhZLlkCdDnU1DBEAqr0aevW3Awn0= github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU= +github.com/go-gl/glfw/v3.3/glfw v0.0.0-20191125211704-12ad95a8df72/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= +github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= github.com/go-kit/kit v0.8.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= +github.com/go-kit/kit v0.9.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= +github.com/go-kit/kit v0.10.0/go.mod h1:xUsJbQ/Fp4kEt7AFgCuvyX4a71u8h9jB8tj/ORgOZ7o= github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9GBnD5lWE= github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk= +github.com/go-logfmt/logfmt v0.5.0/go.mod h1:wCYkCAKZfumFQihp8CzCvQ3paCTfi41vtzG1KdI/P7A= github.com/go-sql-driver/mysql v1.4.0/go.mod h1:zAC/RDZ24gD3HViQzih4MyKcchzm+sOG5ZlKdlhCg5w= github.com/go-sql-driver/mysql v1.4.1/go.mod h1:zAC/RDZ24gD3HViQzih4MyKcchzm+sOG5ZlKdlhCg5w= github.com/go-sql-driver/mysql v1.5.0 h1:ozyZYNQW3x3HtqT1jira07DN2PArx2v7/mN66gGcHOs= @@ -119,6 +200,8 @@ github.com/gobuffalo/buffalo v0.14.9/go.mod h1:M8XWw+Rcotn7C4NYpCEGBg3yX+O1TeD1p github.com/gobuffalo/buffalo v0.14.10/go.mod h1:49A7/JYlsCyTkVHtvKl91w6rG35ZiywwjWMVC1zKWsQ= github.com/gobuffalo/buffalo v0.14.11/go.mod h1:RO5OwOJQjv6/TukzszV5ELA54lg84D1kZwla6oAkTlo= github.com/gobuffalo/buffalo v0.15.5/go.mod h1:MeAI3aC7vGegr6Ruh+nfj0TvIoBhlLeO7VLueBjwj2o= +github.com/gobuffalo/buffalo v0.16.26 h1:1z8Ehnx93sDV9MX7jsk0wJ51Ro4z4iaUYbxHKk+/uXA= +github.com/gobuffalo/buffalo v0.16.26/go.mod h1:NBHN9MBgV4zeIReK4nWZb71mMWMb5ckh4JpbNZfsEaE= github.com/gobuffalo/buffalo-docker v1.0.5/go.mod h1:NZ3+21WIdqOUlOlM2onCt7cwojYp4Qwlsngoolw8zlE= github.com/gobuffalo/buffalo-docker v1.0.6/go.mod h1:UlqKHJD8CQvyIb+pFq+m/JQW2w2mXuhxsaKaTj1X1XI= github.com/gobuffalo/buffalo-docker v1.0.7/go.mod h1:BdB8AhcmjwR6Lo3rDPMzyh/+eNjYnZ1TAO0eZeLkhig= @@ -528,8 +611,9 @@ github.com/gobuffalo/pop v4.12.2+incompatible/go.mod h1:DwBz3SD5SsHpTZiTubcsFWcV github.com/gobuffalo/pop v4.13.1+incompatible h1:AhbqPxNOBN/DBb2DBaiBqzOXIBQXxEYzngHHJ+ytP4g= github.com/gobuffalo/pop v4.13.1+incompatible/go.mod h1:DwBz3SD5SsHpTZiTubcsFWcVDpJWGsxjVjMPnkiThWg= github.com/gobuffalo/pop/v5 v5.3.0/go.mod h1:vcEDhh6cJ3WVENqJDFt/6z7zNb7lLnlN8vj3n5G9rYA= -github.com/gobuffalo/pop/v5 v5.3.3 h1:L8TRyREUSO2Jtai3DeqnPTHV0AOAMZYyf6TaVsLBVsc= github.com/gobuffalo/pop/v5 v5.3.3/go.mod h1:Ey1hqzDLkWQKNEfsnafaz+3P1h/TrS++W9PmpGsNxvk= +github.com/gobuffalo/pop/v5 v5.3.4 h1:VWH74icA8khG8SyWDAq6Ch00jcPiC4n436JMFh0lLm0= +github.com/gobuffalo/pop/v5 v5.3.4/go.mod h1:UiVurv2aTKC7MuR27PnMrQjAazoLr8SoC/LuTKTS/tQ= github.com/gobuffalo/release v1.0.35/go.mod h1:VtHFAKs61vO3wboCec5xr9JPTjYyWYcvaM3lclkc4x4= github.com/gobuffalo/release v1.0.38/go.mod h1:VtHFAKs61vO3wboCec5xr9JPTjYyWYcvaM3lclkc4x4= github.com/gobuffalo/release v1.0.42/go.mod h1:RPs7EtafH4oylgetOJpGP0yCZZUiO4vqHfTHJjSdpug= @@ -585,21 +669,49 @@ github.com/gobuffalo/x v0.0.0-20181025192250-1ef645d63fe8/go.mod h1:AIlnMGlYXOCs github.com/gobuffalo/x v0.0.0-20181109195216-5b3131238124/go.mod h1:GpdLUY6/Ztf/3FfxfwsLkDqAGZ0brhlh7LzIibHyZp0= github.com/gobuffalo/x v0.0.0-20181110221217-14085ca3e1a9/go.mod h1:ig5vdn4+5IPtxgESlZWo1SSDyHKKef8EjVVKhY9kkIQ= github.com/gobuffalo/x v0.0.0-20190224155809-6bb134105960/go.mod h1:ig5vdn4+5IPtxgESlZWo1SSDyHKKef8EjVVKhY9kkIQ= +github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= github.com/gofrs/uuid v3.1.0+incompatible/go.mod h1:b2aQJv3Z4Fp6yNu3cdSllBxTCLRxnplIgP/c0N/04lM= github.com/gofrs/uuid v3.2.0+incompatible h1:y12jRkkFxsd7GpqdSZ+/KCs/fJbqpEXSGd4+jfEaewE= github.com/gofrs/uuid v3.2.0+incompatible/go.mod h1:b2aQJv3Z4Fp6yNu3cdSllBxTCLRxnplIgP/c0N/04lM= +github.com/gogo/googleapis v1.1.0/go.mod h1:gf4bu3Q80BeJ6H1S1vYPm8/ELATdvryBaNFGgqEef3s= github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= +github.com/gogo/protobuf v1.2.0/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= github.com/gogo/protobuf v1.2.1/go.mod h1:hp+jE20tsWTFYpLwKvXlhS1hjn+gTNwPg2I6zVXpSg4= +github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= +github.com/golang/groupcache v0.0.0-20160516000752-02826c3e7903/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/groupcache v0.0.0-20190129154638-5b532d6fd5ef/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= +github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= +github.com/golang/groupcache v0.0.0-20191227052852-215e87163ea7/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= +github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= 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/mock v1.2.0/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= github.com/golang/mock v1.3.1/go.mod h1:sBzyDLLjw3U8JLTeZvSv8jJB+tU5PVekmnlKIyFUx0Y= +github.com/golang/mock v1.4.0/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= +github.com/golang/mock v1.4.1/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= +github.com/golang/mock v1.4.3/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= +github.com/golang/mock v1.4.4/go.mod h1:l3mdAwkq5BuhzHwde/uurv3sEJeZMXNpwsxVWU71h+4= +github.com/golang/mock v1.5.0/go.mod h1:CWnOUgYIOo4TcNZ0wHX3YZCqsaM1I1Jvs6v3mP3KVu8= github.com/golang/protobuf v1.1.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= +github.com/golang/protobuf v1.3.3/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw= +github.com/golang/protobuf v1.3.4/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw= +github.com/golang/protobuf v1.3.5/go.mod h1:6O5/vntMXwX2lRkT1hjjk0nAC1IDOTvTlVgjlRvqsdk= +github.com/golang/protobuf v1.4.0-rc.1/go.mod h1:ceaxUfeHdC40wWswd/P6IGgMaK3YpKi5j83Wpe3EHw8= +github.com/golang/protobuf v1.4.0-rc.1.0.20200221234624-67d41d38c208/go.mod h1:xKAWHe0F5eneWXFV3EuXVDTCmh+JuBKY0li0aMyXATA= +github.com/golang/protobuf v1.4.0-rc.2/go.mod h1:LlEzMj4AhA7rCAGe4KMBDvJI+AwstrUpVNzEA03Pprs= +github.com/golang/protobuf v1.4.0-rc.4.0.20200313231945-b860323f09d0/go.mod h1:WU3c8KckQ9AFe+yFwt9sWVRKCVIyN9cPHBJSNnbL67w= +github.com/golang/protobuf v1.4.0/go.mod h1:jodUvKwWbYaEsadDk5Fwe5c77LiNKVO9IDvqG2KuDX0= +github.com/golang/protobuf v1.4.1/go.mod h1:U8fpvMrcmy5pZrNK1lt4xCsGvpyWQ/VVv6QDs8UjoX8= +github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= +github.com/golang/protobuf v1.4.3/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= +github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= +github.com/golang/protobuf v1.5.1/go.mod h1:DopwsBzvsk0Fs44TXzsVbJyPhcCPeIwnvohx4u74HPM= +github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= +github.com/golang/snappy v0.0.0-20180518054509-2e65f85255db/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= github.com/gomodule/redigo v2.0.0+incompatible/go.mod h1:B4C85qUVwatsJoIUNIfCRsp7qO0iAmpGFZ4EELWSbC4= github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= @@ -607,14 +719,35 @@ github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5a github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.4.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.2/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.3/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= github.com/google/go-cmp v0.5.6/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-github v17.0.0+incompatible/go.mod h1:zLgOLi98H3fifZn+44m+umXrS52loVEgC2AApnigrVQ= github.com/google/go-querystring v1.0.0/go.mod h1:odCYkC5MyYFN7vkCjXpyrEuKhc/BUO6wN/zVPAxq5ck= +github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs= +github.com/google/martian/v3 v3.0.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0= +github.com/google/martian/v3 v3.1.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0= github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= github.com/google/pprof v0.0.0-20190515194954-54271f7e092f/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= +github.com/google/pprof v0.0.0-20191218002539-d4f498aebedc/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= +github.com/google/pprof v0.0.0-20200212024743-f11f1df84d12/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= +github.com/google/pprof v0.0.0-20200229191704-1ebb73c60ed3/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= +github.com/google/pprof v0.0.0-20200430221834-fc25d7d30c6d/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= +github.com/google/pprof v0.0.0-20200708004538-1a94d8640e99/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= +github.com/google/pprof v0.0.0-20201023163331-3e6fc7fc9c4c/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= +github.com/google/pprof v0.0.0-20201203190320-1bf35d6f28c2/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= +github.com/google/pprof v0.0.0-20210122040257-d980be63207e/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= +github.com/google/pprof v0.0.0-20210226084205-cbba55b83ad5/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI= +github.com/google/uuid v1.0.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/googleapis/gax-go v2.0.0+incompatible/go.mod h1:SFVmujtThgffbyetf+mdk2eWhX2bMyUtNHzFKcPA9HY= github.com/googleapis/gax-go/v2 v2.0.3/go.mod h1:LLvjysVCY1JZeum8Z6l8qUty8fiNwE08qbEPm1M08qg= github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg= @@ -639,15 +772,21 @@ github.com/gorilla/sessions v1.1.3/go.mod h1:8KCfur6+4Mqcc6S0FEfKuN15Vl5MgXW92AE github.com/gorilla/sessions v1.2.0/go.mod h1:dk2InVEVJ0sfLlnXv9EAgkf6ecYs/i80K/zI+bUmuGM= github.com/gorilla/sessions v1.2.1 h1:DHd3rPN5lE3Ts3D8rKkQ8x/0kqfeNmBAaiSi+o7FsgI= github.com/gorilla/sessions v1.2.1/go.mod h1:dk2InVEVJ0sfLlnXv9EAgkf6ecYs/i80K/zI+bUmuGM= +github.com/gorilla/websocket v0.0.0-20170926233335-4201258b820c/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ= github.com/gorilla/websocket v1.4.0/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ= github.com/gorilla/websocket v1.4.2/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= github.com/gregjones/httpcache v0.0.0-20180305231024-9cad4c3443a7/go.mod h1:FecbI9+v66THATjSRHfNgh1IVFe/9kFxbXtjV0ctIMA= github.com/grpc-ecosystem/go-grpc-middleware v1.0.0/go.mod h1:FiyG127CGDf3tlThmgyCl78X/SZQqEOJBCDaAfeWzPs= +github.com/grpc-ecosystem/go-grpc-middleware v1.0.1-0.20190118093823-f849b5445de4/go.mod h1:FiyG127CGDf3tlThmgyCl78X/SZQqEOJBCDaAfeWzPs= github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0/go.mod h1:8NvIoxWQoOIhqOTXgfV/d3M/q6VIi02HzZEHgUlZvzk= github.com/grpc-ecosystem/grpc-gateway v1.5.0/go.mod h1:RSKVYQBd5MCa4OVpNdGskqpgL2+G+NZTnrVHpWWfpdw= github.com/grpc-ecosystem/grpc-gateway v1.9.0/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY= +github.com/grpc-ecosystem/grpc-gateway v1.9.5/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY= +github.com/grpc-ecosystem/grpc-gateway v1.16.0/go.mod h1:BDjrQk3hbvj6Nolgz8mAMFbcEtjT1g+wF4CSlocrBnw= github.com/hashicorp/consul/api v1.1.0/go.mod h1:VmuI/Lkw1nC05EYQWNKwWGbkg+FbDBtguAZLlVdkD9Q= +github.com/hashicorp/consul/api v1.3.0/go.mod h1:MmDNSzIMUjNpY/mQ398R4bk2FnqQLoPndWW5VkKPlCE= github.com/hashicorp/consul/sdk v0.1.1/go.mod h1:VKf9jXwCTEY1QZP2MOLRhb5i/I/ssyNV1vwHyQBF0x8= +github.com/hashicorp/consul/sdk v0.3.0/go.mod h1:VKf9jXwCTEY1QZP2MOLRhb5i/I/ssyNV1vwHyQBF0x8= github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= github.com/hashicorp/go-cleanhttp v0.5.1/go.mod h1:JpRdi6/HCYpAwUzNwuwqhbovhLtngrth3wmdIIUrZ80= github.com/hashicorp/go-immutable-radix v1.0.0/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60= @@ -658,6 +797,7 @@ github.com/hashicorp/go-sockaddr v1.0.0/go.mod h1:7Xibr9yA9JjQq1JpNB2Vw7kxv8xerX github.com/hashicorp/go-syslog v1.0.0/go.mod h1:qPfqrKkXGihmCqbJM2mZgkZGvKG1dFdvsLplgctolz4= github.com/hashicorp/go-uuid v1.0.0/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= github.com/hashicorp/go-uuid v1.0.1/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= +github.com/hashicorp/go-version v1.2.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= github.com/hashicorp/go.net v0.0.1/go.mod h1:hjKkEWcCURg++eb33jQU7oqQcI9XDCnUzHA0oac0k90= github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= @@ -668,8 +808,12 @@ github.com/hashicorp/mdns v1.0.0/go.mod h1:tL+uN++7HEJ6SQLQ2/p+z2pH24WQKWjBPkE0m github.com/hashicorp/memberlist v0.1.3/go.mod h1:ajVTdAv/9Im8oMAAj5G31PhhMCZJV2pPBoIllUwCN7I= github.com/hashicorp/serf v0.8.2/go.mod h1:6hOLApaqBFA1NXqRQAsxw9QxuDEvNxSQRwA/JwenrHc= github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= +github.com/hudl/fargo v1.3.0/go.mod h1:y3CKSmjA+wD2gak7sUSXTAoopbhU08POFhmITJgmKTg= +github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= +github.com/ianlancetaylor/demangle v0.0.0-20200824232613-28f6c0f3b639/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= github.com/inconshreveable/mousetrap v1.0.0 h1:Z8tu5sraLXCXIcARxBp/8cbvlwVa7Z1NHg9XEKhtSvM= github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8= +github.com/influxdata/influxdb1-client v0.0.0-20191209144304-8bf82d3c094d/go.mod h1:qj24IKcXYK6Iy9ceXlo3Tc+vtHo9lIhSX5JddghvEPo= github.com/jackc/chunkreader v1.0.0 h1:4s39bBR8ByfqH+DKm8rQA3E1LHZWB9XWcrz8fqaZbe0= github.com/jackc/chunkreader v1.0.0/go.mod h1:RT6O25fNZIuasFJRyZ4R/Y2BbhasbmZXF9QQ7T3kePo= github.com/jackc/chunkreader/v2 v2.0.0/go.mod h1:odVSm741yZoC3dpHEUXIqA9tQRhFrgOHwnPIn9lDKlk= @@ -685,8 +829,9 @@ github.com/jackc/pgconn v1.4.0/go.mod h1:Y2O3ZDF0q4mMacyWV3AstPJpeHXWGEetiFttmq5 github.com/jackc/pgconn v1.5.0/go.mod h1:QeD3lBfpTFe8WUnPZWN5KY/mB8FGMIYRdd8P8Jr0fAI= github.com/jackc/pgconn v1.5.1-0.20200601181101-fa742c524853/go.mod h1:QeD3lBfpTFe8WUnPZWN5KY/mB8FGMIYRdd8P8Jr0fAI= github.com/jackc/pgconn v1.6.0/go.mod h1:yeseQo4xhQbgyJs2c87RAXOH2i624N0Fh1KSPJya7qo= -github.com/jackc/pgconn v1.8.0 h1:FmjZ0rOyXTr1wfWs45i4a9vjnjWUAGpMuQLD9OSs+lw= github.com/jackc/pgconn v1.8.0/go.mod h1:1C2Pb36bGIP9QHGBYCjnyhqu7Rv3sGshaQUvmfGIB/o= +github.com/jackc/pgconn v1.8.1 h1:ySBX7Q87vOMqKU2bbmKbUvtYhauDFclYbNDYIE1/h6s= +github.com/jackc/pgconn v1.8.1/go.mod h1:JV6m6b6jhjdmzchES0drzCcYcAHS1OPD5xu3OZ/lE2g= github.com/jackc/pgio v1.0.0 h1:g12B9UwVnzGhueNavwioyEEpAmqMe1E/BN9ES+8ovkE= github.com/jackc/pgio v1.0.0/go.mod h1:oP+2QK2wFfUWgr+gxjoBH9KGBb31Eio69xUb0w5bYf8= github.com/jackc/pgmock v0.0.0-20190831213851-13a1b77aafa2 h1:JVX6jT/XfzNqIjye4717ITLaNwV9mWbJx0dLCpcRzdA= @@ -714,8 +859,9 @@ github.com/jackc/pgtype v1.2.0/go.mod h1:5m2OfMh1wTK7x+Fk952IDmI4nw3nPrvtQdM0ZT4 github.com/jackc/pgtype v1.3.0/go.mod h1:b0JqxHvPmljG+HQ5IsvQ0yqeSi4nGcDTVjFoiLDb0Ik= github.com/jackc/pgtype v1.3.1-0.20200510190516-8cd94a14c75a/go.mod h1:vaogEUkALtxZMCH411K+tKzNpwzCKU+AnPzBKZ+I+Po= github.com/jackc/pgtype v1.3.1-0.20200606141011-f6355165a91c/go.mod h1:cvk9Bgu/VzJ9/lxTO5R5sf80p0DiucVtN7ZxvaC4GmQ= -github.com/jackc/pgtype v1.6.2 h1:b3pDeuhbbzBYcg5kwNmNDun4pFUD/0AAr1kLXZLeNt8= github.com/jackc/pgtype v1.6.2/go.mod h1:JCULISAZBFGrHaOXIIFiyfzW5VY0GRitRr8NeJsrdig= +github.com/jackc/pgtype v1.7.0 h1:6f4kVsW01QftE38ufBYxKciO6gyioXSC0ABIRLcZrGs= +github.com/jackc/pgtype v1.7.0/go.mod h1:ZnHF+rMePVqDKaOfJVI4Q8IVvAQMryDlDkZnKOI75BE= github.com/jackc/pgx v3.2.0+incompatible/go.mod h1:0ZGrqGqkRlliWnWB4zKnWtjbSWbGkVEFm4TeybAXq+I= github.com/jackc/pgx v3.3.0+incompatible/go.mod h1:0ZGrqGqkRlliWnWB4zKnWtjbSWbGkVEFm4TeybAXq+I= github.com/jackc/pgx v3.5.0+incompatible/go.mod h1:0ZGrqGqkRlliWnWB4zKnWtjbSWbGkVEFm4TeybAXq+I= @@ -728,23 +874,30 @@ github.com/jackc/pgx/v4 v4.5.0/go.mod h1:EpAKPLdnTorwmPUUsqrPxy5fphV18j9q3wrfRXg github.com/jackc/pgx/v4 v4.6.0/go.mod h1:vPh43ZzxijXUVJ+t/EmXBtFmbFVO72cuneCT9oAlxAg= github.com/jackc/pgx/v4 v4.6.1-0.20200510190926-94ba730bb1e9/go.mod h1:t3/cdRQl6fOLDxqtlyhe9UWgfIi9R8+8v8GKV5TRA/o= github.com/jackc/pgx/v4 v4.6.1-0.20200606145419-4e5062306904/go.mod h1:ZDaNWkt9sW1JMiNn0kdYBaLelIhw7Pg4qd+Vk6tw7Hg= -github.com/jackc/pgx/v4 v4.10.1 h1:/6Q3ye4myIj6AaplUm+eRcz4OhK9HAvFf4ePsG40LJY= github.com/jackc/pgx/v4 v4.10.1/go.mod h1:QlrWebbs3kqEZPHCTGyxecvzG6tvIsYu+A5b1raylkA= +github.com/jackc/pgx/v4 v4.11.0 h1:J86tSWd3Y7nKjwT/43xZBvpi04keQWx8gNC2YkdJhZI= +github.com/jackc/pgx/v4 v4.11.0/go.mod h1:i62xJgdrtVDsnL3U8ekyrQXEwGNTRoG7/8r+CIdYfcc= github.com/jackc/puddle v0.0.0-20190413234325-e4ced69a3a2b/go.mod h1:m4B5Dj62Y0fbyuIc15OsIqK0+JU8nkqQjsgx7dvjSWk= github.com/jackc/puddle v0.0.0-20190608224051-11cab39313c9/go.mod h1:m4B5Dj62Y0fbyuIc15OsIqK0+JU8nkqQjsgx7dvjSWk= github.com/jackc/puddle v1.1.0/go.mod h1:m4B5Dj62Y0fbyuIc15OsIqK0+JU8nkqQjsgx7dvjSWk= github.com/jackc/puddle v1.1.1/go.mod h1:m4B5Dj62Y0fbyuIc15OsIqK0+JU8nkqQjsgx7dvjSWk= github.com/jackc/puddle v1.1.3/go.mod h1:m4B5Dj62Y0fbyuIc15OsIqK0+JU8nkqQjsgx7dvjSWk= github.com/jellevandenhooff/dkim v0.0.0-20150330215556-f50fe3d243e1/go.mod h1:E0B/fFc00Y+Rasa88328GlI/XbtyysCtTHZS8h7IrBU= +github.com/jmespath/go-jmespath v0.0.0-20180206201540-c2b33e8439af/go.mod h1:Nht3zPeWKUH0NzdCt2Blrr5ys8VGpn0CEB0cQHVjt7k= github.com/jmoiron/sqlx v0.0.0-20180614180643-0dae4fefe7c0/go.mod h1:IiEW3SEiiErVyFdH8NTuWjSifiEQKUoyK3LNqr2kCHU= -github.com/jmoiron/sqlx v1.2.0 h1:41Ip0zITnmWNR/vHV+S4m+VoUivnWY5E4OJfLZjCJMA= github.com/jmoiron/sqlx v1.2.0/go.mod h1:1FEQNm3xlJgrMD+FBdI9+xvCksHtbpVBBw5dYhBSsks= +github.com/jmoiron/sqlx v1.3.3 h1:j82X0bf7oQ27XeqxicSZsTU5suPwKElg3oyxNn43iTk= +github.com/jmoiron/sqlx v1.3.3/go.mod h1:2BljVx/86SuTyjE+aPYlHCTNvZrnJXghYGpNiXLBMCQ= github.com/joho/godotenv v1.2.0/go.mod h1:7hK45KPybAkOC6peb+G5yklZfMxEjkZhHbwpqxOKXbg= github.com/joho/godotenv v1.3.0 h1:Zjp+RcGpHhGlrMbJzXTrZZPrWj+1vfm90La1wgB6Bhc= github.com/joho/godotenv v1.3.0/go.mod h1:7hK45KPybAkOC6peb+G5yklZfMxEjkZhHbwpqxOKXbg= github.com/jonboulle/clockwork v0.1.0/go.mod h1:Ii8DK3G1RaLaWxj9trq07+26W01tbo22gdxWY5EU2bo= github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU= +github.com/json-iterator/go v1.1.7/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= +github.com/json-iterator/go v1.1.8/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= +github.com/json-iterator/go v1.1.11/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU= +github.com/jstemmer/go-junit-report v0.9.1/go.mod h1:Brl9GWCQeLvo8nXZwPNNblvFj/XSXhF0NWZEnDohbsk= github.com/jtolds/gls v4.20.0+incompatible h1:xdiiI2gbIgH/gLH7ADydsJ1uDOEzR8yvV7C0MuV77Wo= github.com/jtolds/gls v4.20.0+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU= github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w= @@ -763,10 +916,12 @@ github.com/karrick/godirwalk v1.16.1/go.mod h1:j4mkqPuvaLI8mp1DroR3P6ad7cyYd4c1q github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51 h1:Z9n2FFNUXsshfwJMBgNA0RU6/i7WVaAegv3PtuIHPMs= github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51/go.mod h1:CzGEWj7cYgsdH8dAjBGEr58BoE7ScuLd+fwFZ44+/x8= github.com/kisielk/errcheck v1.1.0/go.mod h1:EZBBE59ingxPouuu3KfxchcWSUPOHkagtvWXihfKN4Q= +github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= github.com/konsorten/go-windows-terminal-sequences v0.0.0-20180402223658-b729f2633dfe/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= github.com/konsorten/go-windows-terminal-sequences v1.0.2/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= +github.com/kr/fs v0.1.0/go.mod h1:FFnZGqtBN9Gxj7eW1uZ42v5BccTP0vu6NEaFoC2HwRg= github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc= github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= github.com/kr/pretty v0.2.0 h1:s5hAObm+yFO5uHYt5dYjxi2rXrsnmRpJx4OYvIWUaQs= @@ -779,13 +934,18 @@ github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= github.com/lib/pq v1.0.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= github.com/lib/pq v1.1.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= github.com/lib/pq v1.2.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= -github.com/lib/pq v1.3.0 h1:/qkRGz8zljWiDcFvgpwUpwIAPu3r07TDvs3Rws+o/pU= github.com/lib/pq v1.3.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= +github.com/lib/pq v1.10.1 h1:6VXZrLU0jHBYyAqrSPa+MgPfnSvTPuMgK+k0o5kVFWo= +github.com/lib/pq v1.10.1/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o= +github.com/lightstep/lightstep-tracer-common/golang/gogo v0.0.0-20190605223551-bc2310a04743/go.mod h1:qklhhLq1aX+mtWk9cPHPzaBjWImj5ULL6C7HFJtXQMM= +github.com/lightstep/lightstep-tracer-go v0.18.1/go.mod h1:jlF1pusYV4pidLvZ+XD0UBX0ZE6WURAspgAczcDHrL4= github.com/luna-duclos/instrumentedsql v1.1.3 h1:t7mvC0z1jUt5A0UQ6I/0H31ryymuQRnJcWCiqV3lSAA= github.com/luna-duclos/instrumentedsql v1.1.3/go.mod h1:9J1njvFds+zN7y85EDhN9XNQLANWwZt2ULeIC8yMNYs= +github.com/lyft/protoc-gen-validate v0.0.13/go.mod h1:XbGvPuh87YZc5TdIa2/I4pLk0QoUACkjt2znoq26NVQ= github.com/magiconair/properties v1.8.0/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ= -github.com/magiconair/properties v1.8.1 h1:ZC2Vc7/ZFkGmsVC9KvOjumD+G5lXy2RtTKyzRKO2BQ4= github.com/magiconair/properties v1.8.1/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ= +github.com/magiconair/properties v1.8.5 h1:b6kJs+EmPFMYGkow9GiUyCyOvIwYetYJ3fSaWak/Gls= +github.com/magiconair/properties v1.8.5/go.mod h1:y3VJvCyxH9uVvJTWEGAELF3aiYNyPKd5NZ3oSwXrF60= github.com/markbates/deplist v1.0.4/go.mod h1:gRRbPbbuA8TmMiRvaOzUlRfzfjeCCBqX2A6arxN01MM= github.com/markbates/deplist v1.0.5/go.mod h1:gRRbPbbuA8TmMiRvaOzUlRfzfjeCCBqX2A6arxN01MM= github.com/markbates/deplist v1.1.3/go.mod h1:BF7ioVzAJYEtzQN/os4rt8H8Ti3h0T7EoN+7eyALktE= @@ -846,8 +1006,10 @@ github.com/mattn/go-isatty v0.0.10/go.mod h1:qgIWMr58cqv1PHHyhnkY9lrL7etaEgOFcME github.com/mattn/go-isatty v0.0.11/go.mod h1:PhnuNfih5lzO57/f3n+odYbM4JtupLOxQOAqxQCu2WE= github.com/mattn/go-isatty v0.0.12 h1:wuysRhFDzyxgEmMf5xjvJ2M9dZoWAXNNr5LSBS7uHXY= github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU= +github.com/mattn/go-runewidth v0.0.2/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU= github.com/mattn/go-sqlite3 v1.9.0/go.mod h1:FPy6KqzDD04eiIsT53CuJW3U88zkxoIYsOqkbpncsNc= github.com/mattn/go-sqlite3 v1.10.0/go.mod h1:FPy6KqzDD04eiIsT53CuJW3U88zkxoIYsOqkbpncsNc= +github.com/mattn/go-sqlite3 v1.14.6/go.mod h1:NyWgC/yNuGj7Q9rpYnZvas74GogHl5/Z4A/KQRfk6bU= github.com/mattn/go-sqlite3 v2.0.3+incompatible h1:gXHsfypPkaMZrKbD5209QV9jbUTJKjyR5WD3HYQSd+U= github.com/mattn/go-sqlite3 v2.0.3+incompatible/go.mod h1:FPy6KqzDD04eiIsT53CuJW3U88zkxoIYsOqkbpncsNc= github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= @@ -864,9 +1026,12 @@ github.com/mitchellh/gox v0.4.0/go.mod h1:Sd9lOJ0+aimLBi73mGofS1ycjY8lL3uZM3JPS4 github.com/mitchellh/iochan v1.0.0/go.mod h1:JwYml1nuB7xOzsp52dPpHFffvOCDupsG0QubkSMEySY= github.com/mitchellh/mapstructure v0.0.0-20160808181253-ca63d7c062ee/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= github.com/mitchellh/mapstructure v1.0.0/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= -github.com/mitchellh/mapstructure v1.1.2 h1:fmNYVwqnSfB9mZU6OS2O6GsXM+wcskZDuKQzvN1EDeE= github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= +github.com/mitchellh/mapstructure v1.4.1 h1:CpVNEelQCZBooIPDn+AR3NpivK/TIKU8bDxdASFVQag= +github.com/mitchellh/mapstructure v1.4.1/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= +github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= +github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= github.com/monoculum/formam v0.0.0-20180901015400-4e68be1d79ba/go.mod h1:RKgILGEJq24YyJ2ban8EO0RUVSJlF1pGsEvoLEACr/Q= github.com/monoculum/formam v0.0.0-20190307031628-bc555adff0cd/go.mod h1:JKa2av1XVkGjhxdLS59nDoXa2JpmIHpnURWNbzCtXtc= @@ -876,10 +1041,20 @@ github.com/monoculum/formam v0.0.0-20191229172733-952f0766a724/go.mod h1:JKa2av1 github.com/monoculum/formam v0.0.0-20210523135142-1af3317b7b9b h1:uW2/EKDF9aqxF4+MozaKxL1ROmc8FX5BeTrTKpr9+Vo= github.com/monoculum/formam v0.0.0-20210523135142-1af3317b7b9b/go.mod h1:JKa2av1XVkGjhxdLS59nDoXa2JpmIHpnURWNbzCtXtc= github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= +github.com/nats-io/jwt v0.3.0/go.mod h1:fRYCDE99xlTsqUzISS1Bi75UBJ6ljOJQOAAu5VglpSg= +github.com/nats-io/jwt v0.3.2/go.mod h1:/euKqTS1ZD+zzjYrY7pseZrTtWQSjujC7xjPc8wL6eU= +github.com/nats-io/nats-server/v2 v2.1.2/go.mod h1:Afk+wRZqkMQs/p45uXdrVLuab3gwv3Z8C4HTBu8GD/k= +github.com/nats-io/nats.go v1.9.1/go.mod h1:ZjDU1L/7fJ09jvUSRVBR2e7+RnLiiIQyqyzEE/Zbp4w= +github.com/nats-io/nkeys v0.1.0/go.mod h1:xpnFELMwJABBLVhffcfd1MZx6VsNRFpEugbxziKVo7w= +github.com/nats-io/nkeys v0.1.3/go.mod h1:xpnFELMwJABBLVhffcfd1MZx6VsNRFpEugbxziKVo7w= +github.com/nats-io/nuid v1.0.1/go.mod h1:19wcPz3Ph3q0Jbyiqsd0kePYG7A95tJPxeL+1OSON2c= github.com/neelance/astrewrite v0.0.0-20160511093645-99348263ae86/go.mod h1:kHJEU3ofeGjhHklVoIGuVj85JJwZ6kWPaJwCIxgnFmo= github.com/neelance/sourcemap v0.0.0-20151028013722-8c68805598ab/go.mod h1:Qr6/a/Q4r9LP1IltGz7tA7iOK1WonHEYhu1HRBA7ZiM= github.com/nicksnyder/go-i18n v1.10.0/go.mod h1:HrK7VCrbOvQoUAQ7Vpy7i87N7JZZZ7R2xBGjv0j365Q= +github.com/oklog/oklog v0.3.2/go.mod h1:FCV+B7mhrz4o+ueLpx+KqkyXRGMWOYEvfiXtdGtbWGs= +github.com/oklog/run v1.0.0/go.mod h1:dlhp/R75TPv97u0XWUtDeV/lRKWPKSdTuV0TZvrmrQA= github.com/oklog/ulid v1.3.1/go.mod h1:CirwcVhetQ6Lv90oh/F+FBtV6XMibvdAFo93nm5qn4U= +github.com/olekukonko/tablewriter v0.0.0-20170122224234-a0225b3f23b5/go.mod h1:vsDQFd/mU46D+Z4whnwzcISnGGzXWMclvtLoiIKAKIo= github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/ginkgo v1.7.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/ginkgo v1.8.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= @@ -893,30 +1068,61 @@ github.com/onsi/gomega v1.5.0/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1Cpa github.com/onsi/gomega v1.6.0/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= github.com/onsi/gomega v1.7.0/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= github.com/onsi/gomega v1.7.1/go.mod h1:XdKZgCCFLUoM/7CFJVPcG8C1xQ1AJ0vpAezJrB7JYyY= +github.com/op/go-logging v0.0.0-20160315200505-970db520ece7/go.mod h1:HzydrMdWErDVzsI23lYNej1Htcns9BCg93Dk0bBINWk= +github.com/opentracing-contrib/go-observer v0.0.0-20170622124052-a52f23424492/go.mod h1:Ngi6UdF0k5OKD5t5wlmGhe/EDKPoUM3BXZSSfIuJbis= +github.com/opentracing/basictracer-go v1.0.0/go.mod h1:QfBfYuafItcjQuMwinw9GhYKwFXS9KnPs5lxoYwgW74= +github.com/opentracing/opentracing-go v1.0.2/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o= +github.com/opentracing/opentracing-go v1.1.0/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o= +github.com/openzipkin-contrib/zipkin-go-opentracing v0.4.5/go.mod h1:/wsWhb9smxSfWAKL3wpBW7V8scJMt8N8gnaMCS9E/cA= github.com/openzipkin/zipkin-go v0.1.1/go.mod h1:NtoC/o8u3JlF1lSlyPNswIbeQH9bJTmOf0Erfk+hxe8= +github.com/openzipkin/zipkin-go v0.1.6/go.mod h1:QgAqvLzwWbR/WpD4A3cGpPtJrZXNIiJc5AZX7/PBEpw= +github.com/openzipkin/zipkin-go v0.2.1/go.mod h1:NaW6tEwdmWMaCDZzg8sh+IBNOxHMPnhQw8ySjnjRyN4= +github.com/openzipkin/zipkin-go v0.2.2/go.mod h1:NaW6tEwdmWMaCDZzg8sh+IBNOxHMPnhQw8ySjnjRyN4= +github.com/pact-foundation/pact-go v1.0.4/go.mod h1:uExwJY4kCzNPcHRj+hCR/HBbOOIwwtUjcrb0b5/5kLM= github.com/pascaldekloe/goe v0.0.0-20180627143212-57f6aae5913c/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc= -github.com/pelletier/go-toml v1.2.0 h1:T5zMGML61Wp+FlcbWjRDT7yAxhJNAiPPLOFECq181zc= +github.com/pborman/uuid v1.2.0/go.mod h1:X/NO0urCmaxf9VXbdlT7C2Yzkj2IKimNn4k+gtPdI/k= github.com/pelletier/go-toml v1.2.0/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/94hg7ilaic= +github.com/pelletier/go-toml v1.9.3 h1:zeC5b1GviRUyKYd6OJPvBU/mcVDVoL1OhT17FCt5dSQ= +github.com/pelletier/go-toml v1.9.3/go.mod h1:u1nR/EPcESfeI/szUZKdtJ0xRNbUoANCkoOuaOx1Y+c= +github.com/performancecopilot/speed v3.0.0+incompatible/go.mod h1:/CLtqpZ5gBg1M9iaPbIdPPGyKcA8hKdoy6hAWba7Yac= +github.com/pierrec/lz4 v1.0.2-0.20190131084431-473cd7ce01a1/go.mod h1:3/3N9NVKO0jef7pBehbT1qWhCMrIgbYNnFAZCqQ5LRc= +github.com/pierrec/lz4 v2.0.5+incompatible/go.mod h1:pdkljMzZIN41W+lC3N2tnIh5sFi+IEE17M5jbnwPHcY= github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= +github.com/pkg/profile v1.2.1/go.mod h1:hJw3o1OdXxsrSjjVksARp5W95eeEaEfptyVZyv6JUPA= +github.com/pkg/sftp v1.10.1/go.mod h1:lYOWFsE0bwd1+KfKJaKeuokY15vzFx25BLbzYYoAxZI= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/posener/complete v1.1.1/go.mod h1:em0nMJCgc9GFtwrmVmEMR/ZL6WyhyjMBndrE9hABlRI= github.com/prometheus/client_golang v0.8.0/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw= github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw= +github.com/prometheus/client_golang v0.9.3-0.20190127221311-3c4408c8b829/go.mod h1:p2iRAGwDERtqlqzRXnrOVns+ignqQo//hLXqYxZYVNs= github.com/prometheus/client_golang v0.9.3/go.mod h1:/TN21ttK/J9q6uSwhBd54HahCDft0ttaMvbicHlPoso= +github.com/prometheus/client_golang v1.0.0/go.mod h1:db9x61etRT2tGnBNRi70OPL5FsnadC4Ky3P0J6CfImo= +github.com/prometheus/client_golang v1.3.0/go.mod h1:hJaj2vgQTGQmVCsAACORcieXFeDPbaTKGT+JTgUa3og= github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= +github.com/prometheus/client_model v0.0.0-20190115171406-56726106282f/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= +github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= +github.com/prometheus/client_model v0.1.0/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= github.com/prometheus/common v0.0.0-20180801064454-c7de2306084e/go.mod h1:daVV7qP5qjZbuso7PdcryaAu0sAZbrN9i7WWcTMWvro= github.com/prometheus/common v0.0.0-20181113130724-41aa239b4cce/go.mod h1:daVV7qP5qjZbuso7PdcryaAu0sAZbrN9i7WWcTMWvro= +github.com/prometheus/common v0.2.0/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= github.com/prometheus/common v0.4.0/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= +github.com/prometheus/common v0.4.1/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= +github.com/prometheus/common v0.7.0/go.mod h1:DjGbpBbp5NYNiECxcL/VnbXCCaQpKd3tt26CguLLsqA= github.com/prometheus/procfs v0.0.0-20180725123919-05ee40e3a273/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= +github.com/prometheus/procfs v0.0.0-20190117184657-bf6a532e95b1/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= github.com/prometheus/procfs v0.0.0-20190507164030-5867b95ac084/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= +github.com/prometheus/procfs v0.0.2/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= +github.com/prometheus/procfs v0.0.8/go.mod h1:7Qr8sr6344vo1JqZ6HhLceV9o3AJ1Ff+GxbHq6oeK9A= github.com/prometheus/tsdb v0.7.1/go.mod h1:qhTCs0VvXwvX/y3TZrWD7rabWM+ijKTux40TwIPHuXU= +github.com/rcrowley/go-metrics v0.0.0-20181016184325-3113b8401b8a/go.mod h1:bCqnVzQkZxMG4s8nGwiZ5l3QUCyqpo9Y+/ZMZ9VjZe4= github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod h1:XWv6SoW27p1b0cqNHllgS5HIMJraePCO15w5zCzIWYg= +github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ= github.com/rogpeppe/go-internal v1.0.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= github.com/rogpeppe/go-internal v1.1.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= github.com/rogpeppe/go-internal v1.2.2/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= @@ -931,6 +1137,7 @@ github.com/rs/zerolog v1.15.0/go.mod h1:xYTKnLHcpfU2225ny5qZjxnj9NvkumZYjJHlAThC github.com/russross/blackfriday v1.5.2/go.mod h1:JO/DiYxRf+HjHt06OyowR9PTA263kcR/rfWxYHBV53g= github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= github.com/ryanuber/columnize v0.0.0-20160712163229-9b3edd62028f/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts= +github.com/samuel/go-zookeeper v0.0.0-20190923202752-2cc03de413da/go.mod h1:gi+0XIa01GRL2eRQVjQkKGqKF3SF9vZR/HnPullcV2E= github.com/satori/go.uuid v1.2.0/go.mod h1:dA0hQrYB0VpLJoorglMZABFdXlWrHn1NEOzdhQKdks0= github.com/sean-/seed v0.0.0-20170313163322-e2103e2c3529/go.mod h1:DxrIzT+xaE7yg65j358z/aeFdxmN0P9QXhEzd20vsDc= github.com/serenize/snaker v0.0.0-20171204205717-a683aaf2d516/go.mod h1:Yow6lPLSAXx2ifx470yD/nUe22Dv5vBvxK/UK9UUTVs= @@ -981,6 +1188,7 @@ github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1 github.com/smartystreets/goconvey v1.6.4 h1:fv0U8FUIMPNf1L9lnHLvLhgicrIVChEkdzIKYqbNC9s= github.com/smartystreets/goconvey v1.6.4/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA= github.com/soheilhy/cmux v0.1.4/go.mod h1:IM3LyeVVIOuxMH7sFAkER9+bJ4dT7Ms6E4xg4kGIyLM= +github.com/sony/gobreaker v0.4.1/go.mod h1:ZKptC7FHNvhBz7dN2LGjPVBz2sZJmc0/PkyDJOjmxWY= github.com/sourcegraph/annotate v0.0.0-20160123013949-f4cad6c6324d h1:yKm7XZV6j9Ev6lojP2XaIshpT4ymkqhMeSghO5Ps00E= github.com/sourcegraph/annotate v0.0.0-20160123013949-f4cad6c6324d/go.mod h1:UdhH50NIW0fCiwBSr0co2m7BnFLdv4fQTgdqdJTHFeE= github.com/sourcegraph/syntaxhighlight v0.0.0-20170531221838-bd320f5d308e h1:qpG93cPwA5f7s/ZPBJnGOYQNK/vKsaDaseuKT5Asee8= @@ -988,19 +1196,24 @@ github.com/sourcegraph/syntaxhighlight v0.0.0-20170531221838-bd320f5d308e/go.mod github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= github.com/spf13/afero v1.1.2/go.mod h1:j4pytiNVoe2o6bmDsKpLACNPDBIoEAkihy7loJ1B0CQ= github.com/spf13/afero v1.2.0/go.mod h1:9ZxEEn6pIJ8Rxe320qSDBk6AsU0r9pR7Q4OcevTdifk= -github.com/spf13/afero v1.2.1 h1:qgMbHoJbPbw579P+1zVY+6n4nIFuIchaIjzZ/I/Yq8M= github.com/spf13/afero v1.2.1/go.mod h1:9ZxEEn6pIJ8Rxe320qSDBk6AsU0r9pR7Q4OcevTdifk= +github.com/spf13/afero v1.6.0 h1:xoax2sJ2DT8S8xA2paPFjDCScCNeWsg75VG0DLRreiY= +github.com/spf13/afero v1.6.0/go.mod h1:Ai8FlHk4v/PARR026UzYexafAt9roJ7LcLMAmO6Z93I= github.com/spf13/cast v1.2.0/go.mod h1:r2rcYCSwa1IExKTDiTfzaxqT2FNHs8hODu4LnUfgKEg= -github.com/spf13/cast v1.3.0 h1:oget//CVOEoFewqQxwr0Ej5yjygnqGkvggSE/gB35Q8= github.com/spf13/cast v1.3.0/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= +github.com/spf13/cast v1.3.1 h1:nFm6S0SMdyzrzcmThSipiEubIDy8WEXKNZ0UOgiRpng= +github.com/spf13/cast v1.3.1/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= github.com/spf13/cobra v0.0.3/go.mod h1:1l0Ry5zgKvJasoi3XT1TypsSe7PqH0Sj9dhYf7v3XqQ= github.com/spf13/cobra v0.0.4/go.mod h1:3K3wKZymM7VvHMDS9+Akkh4K60UwM26emMESw8tLCHU= github.com/spf13/cobra v0.0.5/go.mod h1:3K3wKZymM7VvHMDS9+Akkh4K60UwM26emMESw8tLCHU= github.com/spf13/cobra v0.0.6/go.mod h1:/6GTrnGXV9HjY+aR4k0oJ5tcvakLuG6EuKReYlHNrgE= -github.com/spf13/cobra v1.1.3 h1:xghbfqPkxzxP3C/f3n5DdpAbdKLj4ZE4BWQI362l53M= github.com/spf13/cobra v1.1.3/go.mod h1:pGADOWyqRD/YMrPZigI/zbliZ2wVD/23d+is3pSWzOo= -github.com/spf13/jwalterweatherman v1.0.0 h1:XHEdyB+EcvlqZamSM4ZOMGlc93t6AcsBEu9Gc1vn7yk= +github.com/spf13/cobra v1.2.1 h1:+KmjbUw1hriSNMF55oPrkZcb27aECyrj8V2ytv7kWDw= +github.com/spf13/cobra v1.2.1/go.mod h1:ExllRjgxM/piMAM+3tAZvg8fsklGAf3tPfi+i8t68Nk= github.com/spf13/jwalterweatherman v1.0.0/go.mod h1:cQK4TGJAtQXfYWX+Ddv3mKDzgVb68N+wFjFa4jdeBTo= +github.com/spf13/jwalterweatherman v1.1.0 h1:ue6voC5bR5F8YxI5S67j9i582FU4Qvo2bmqnqMYADFk= +github.com/spf13/jwalterweatherman v1.1.0/go.mod h1:aNWZUN0dPAAO/Ljvb5BEdw96iTZ0EXowPYD95IqWIGo= +github.com/spf13/pflag v1.0.1/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= github.com/spf13/pflag v1.0.2/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= github.com/spf13/pflag v1.0.3/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= @@ -1012,8 +1225,12 @@ github.com/spf13/viper v1.3.2/go.mod h1:ZiWeW+zYFKm7srdB9IoDzzZXaJaI5eL9QjNiN/DM github.com/spf13/viper v1.4.0/go.mod h1:PTJ7Z/lr49W6bUbkmS1V3by4uWynFiR9p7+dSq/yZzE= github.com/spf13/viper v1.6.2/go.mod h1:t3iDnF5Jlj76alVNuyFBk5oUMCvsrkbvZK0WQdfDi5k= github.com/spf13/viper v1.7.0/go.mod h1:8WkrPz2fc9jxqZNCJI/76HCieCp4Q8HaLFoCha5qpdg= -github.com/spf13/viper v1.7.1 h1:pM5oEahlgWv/WnHXpgbKz7iLIxRf65tye2Ci+XFK5sk= github.com/spf13/viper v1.7.1/go.mod h1:8WkrPz2fc9jxqZNCJI/76HCieCp4Q8HaLFoCha5qpdg= +github.com/spf13/viper v1.8.1 h1:Kq1fyeebqsBfbjZj4EL7gj2IO0mMaiyjYUWcUsl2O44= +github.com/spf13/viper v1.8.1/go.mod h1:o0Pch8wJ9BVSWGQMbra6iw0oQ5oktSIBaujf1rJH9Ns= +github.com/streadway/amqp v0.0.0-20190404075320-75d898a42a94/go.mod h1:AZpEONHx3DKn8O/DFsRAY58/XVQiIPMTMB1SddzLXVw= +github.com/streadway/amqp v0.0.0-20190827072141-edfb9018d271/go.mod h1:AZpEONHx3DKn8O/DFsRAY58/XVQiIPMTMB1SddzLXVw= +github.com/streadway/handy v0.0.0-20190108123426-d5acb3125c2a/go.mod h1:qNTQ5P5JnDBl6z3cMAg/SywNDC5ABu5ApDIw6lUbRmI= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.2.0/go.mod h1:qt09Ya8vawLte6SNmTgCsAVtYtaKzEcn8ATUoHMkEqE= @@ -1021,11 +1238,13 @@ github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXf github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA= +github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.7.0 h1:nwc3DEeHmmLAfoZucVR881uASk0Mfjw8xYJ99tb5CcY= github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/subosito/gotenv v1.2.0 h1:Slr1R9HxAlEKefgq5jn9U+DnETlIUa6HfgEzj0g5d7s= github.com/subosito/gotenv v1.2.0/go.mod h1:N0PQaV/YGNqwC0u51sEeR/aUtSLEXKX9iv69rRypqCw= github.com/tarm/serial v0.0.0-20180830185346-98f6abe2eb07/go.mod h1:kDXzergiv9cbyO7IOYJZWg1U88JhDg3PB6klq9Hg2pA= +github.com/tmc/grpc-websocket-proxy v0.0.0-20170815181823-89b8d40f7ca8/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= github.com/tmc/grpc-websocket-proxy v0.0.0-20190109142713-0ad062ec5ee5/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= github.com/ugorji/go v1.1.4/go.mod h1:uQMGLiO92mf5W77hV/PUCpI3pbzQx3CRekS0kk+RGrc= github.com/ugorji/go/codec v0.0.0-20181204163529-d75b2dcb6bc8/go.mod h1:VFNgLljTbGfSG7qAOspJ7OScBnGdDN/yBr0sguwnwf0= @@ -1033,23 +1252,46 @@ github.com/unrolled/secure v0.0.0-20180918153822-f340ee86eb8b/go.mod h1:mnPT77IA github.com/unrolled/secure v0.0.0-20181005190816-ff9db2ff917f/go.mod h1:mnPT77IAdsi/kV7+Es7y+pXALeV3h7G6dQF6mNYjcLA= github.com/unrolled/secure v0.0.0-20181022170031-4b6b7cf51606/go.mod h1:mnPT77IAdsi/kV7+Es7y+pXALeV3h7G6dQF6mNYjcLA= github.com/unrolled/secure v0.0.0-20190103195806-76e6d4e9b90c/go.mod h1:mnPT77IAdsi/kV7+Es7y+pXALeV3h7G6dQF6mNYjcLA= +github.com/urfave/cli v1.20.0/go.mod h1:70zkFmudgCuE/ngEzBv17Jvp/497gISqfk5gWijbERA= +github.com/urfave/cli v1.22.1/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0= github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2/go.mod h1:UETIi67q53MR2AWcXfiuqkDkRtnGDLqkBTpCHuJHxtU= github.com/xordataexchange/crypt v0.0.3-0.20170626215501-b2862e3d0a77/go.mod h1:aYKd//L2LvnjZzWKhF00oedf4jCCReLcmhLdhm1A27Q= github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= +github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= +github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= +github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= github.com/zenazn/goji v0.9.0/go.mod h1:7S9M489iMyHBNxwZnk9/EHS098H4/F6TATF2mIxtB1Q= go.etcd.io/bbolt v1.3.2/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= +go.etcd.io/bbolt v1.3.3/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= +go.etcd.io/etcd v0.0.0-20191023171146-3cf2f69b5738/go.mod h1:dnLIgRNXwCJa5e+c6mIZCrds/GIG4ncV9HhK5PX7jPg= +go.etcd.io/etcd/api/v3 v3.5.0/go.mod h1:cbVKeC6lCfl7j/8jBhAK6aIYO9XOjdptoxU/nLQcPvs= +go.etcd.io/etcd/client/pkg/v3 v3.5.0/go.mod h1:IJHfcCEKxYu1Os13ZdwCwIUTUVGYTSAM3YSwc9/Ac1g= +go.etcd.io/etcd/client/v2 v2.305.0/go.mod h1:h9puh54ZTgAKtEbut2oe9P4L/oqKCVB6xsXlzd7alYQ= go.opencensus.io v0.18.0/go.mod h1:vKdFvxhtzZ9onBp9VKHK8z/sRpBMnKAsufL7wlDrCOA= +go.opencensus.io v0.20.1/go.mod h1:6WKK9ahsWS3RSO+PY9ZHZUfv2irvY6gN279GOPZjmmk= +go.opencensus.io v0.20.2/go.mod h1:6WKK9ahsWS3RSO+PY9ZHZUfv2irvY6gN279GOPZjmmk= go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU= go.opencensus.io v0.22.0/go.mod h1:+kGneAE2xo2IficOXnaByMWTGM9T73dGwxeWcUqIpI8= +go.opencensus.io v0.22.2/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= +go.opencensus.io v0.22.3/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= +go.opencensus.io v0.22.4/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= +go.opencensus.io v0.22.5/go.mod h1:5pWMHQbX5EPX2/62yrJeAkowc+lfs/XD7Uxpq3pI6kk= +go.opencensus.io v0.23.0/go.mod h1:XItmlyltB5F7CS4xOC1DcqMoFqwtC6OG2xF7mCv7P7E= go.uber.org/atomic v1.3.2/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= go.uber.org/atomic v1.4.0/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= +go.uber.org/atomic v1.5.0/go.mod h1:sABNBOSYdrvTF6hTgEIbc7YasKWGhgEQZyfxyTvoXHQ= go.uber.org/atomic v1.6.0/go.mod h1:sABNBOSYdrvTF6hTgEIbc7YasKWGhgEQZyfxyTvoXHQ= +go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= go.uber.org/multierr v1.1.0/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/0= +go.uber.org/multierr v1.3.0/go.mod h1:VgVr7evmIr6uPjLBxg28wmKNXyqE9akIJ5XnfpiKl+4= go.uber.org/multierr v1.5.0/go.mod h1:FeouvMocqHpRaaGuG9EjoKcStLC43Zu/fmqdUMPcKYU= +go.uber.org/multierr v1.6.0/go.mod h1:cdWPpRnG4AhwMwsgIHip0KRBQjJy5kYEpYjJxpXp9iU= go.uber.org/tools v0.0.0-20190618225709-2cfd321de3ee/go.mod h1:vJERXedbb3MVM5f9Ejo0C68/HhF8uaILCdgjnY+goOA= go.uber.org/zap v1.9.1/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q= go.uber.org/zap v1.10.0/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q= +go.uber.org/zap v1.13.0/go.mod h1:zwrFLgMcdUuIBviXEYEH1YKNaOBnKXsx2IPda5bBwHM= +go.uber.org/zap v1.17.0/go.mod h1:MXVU+bhUf/A7Xi2HNOnopQOrmycQ5Ih87HtOu4q5SSo= go4.org v0.0.0-20180809161055-417644f6feb5/go.mod h1:MkTOUMDaeVYJUOUsaDXIhWPZYa1yOyC1qaOBpL57BhE= golang.org/x/build v0.0.0-20190111050920-041ab4dc3f9d/go.mod h1:OWs+y06UdEOHN4y+MfF/py+xQ/tYqIWW03b70/CG9Rw= golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= @@ -1081,19 +1323,26 @@ golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8U golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20190611184440-5c40567a22f8/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20190621222207-cc06ce4a13d4/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20190701094942-4def268fd1a4/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20190820162420-60c769a6c586/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20190911031432-227b76d455e7/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20191122220453-ac88ee75c92c/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20200206161412-a0c6ece9d31a/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20200323165209-0ec3e9974c59/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9 h1:psW17arqaxU48Z5kZ0CQnkZWQJsqcURM6tKiBApRjXI= golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +golang.org/x/crypto v0.0.0-20210322153248-0c34fe9e7dc2 h1:It14KIkyBFYkHkwZ7k45minvA9aorojkyjGk9KJ5B/w= +golang.org/x/crypto v0.0.0-20210322153248-0c34fe9e7dc2/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= golang.org/x/exp v0.0.0-20190829153037-c13cbed26979/go.mod h1:86+5VVa7VpoJ4kLfm080zCjGlMRFzhUhsZKEZO7MGek= golang.org/x/exp v0.0.0-20191030013958-a1ab85dbe136/go.mod h1:JXzH8nQsPlswgeRAPE3MuO9GYsAcnJvJ4vnMwN/5qkY= +golang.org/x/exp v0.0.0-20191129062945-2f5052295587/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= +golang.org/x/exp v0.0.0-20191227195350-da58074b4299/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= +golang.org/x/exp v0.0.0-20200119233911-0405dc783f0a/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= +golang.org/x/exp v0.0.0-20200207192155-f17229e696bd/go.mod h1:J/WKrq2StrnmMY6+EHIKF9dgMWnmCNThgcyBT1FY9mM= +golang.org/x/exp v0.0.0-20200224162631-6cc2880d07d6/go.mod h1:3jZMyOhIsHpP37uCMkUooju7aAi5cS1Q23tOzKc+0MU= golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js= golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= golang.org/x/lint v0.0.0-20180702182130-06c8688daad7/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= @@ -1104,12 +1353,21 @@ golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHl golang.org/x/lint v0.0.0-20190409202823-959b441ac422/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= golang.org/x/lint v0.0.0-20190909230951-414d861bb4ac/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= golang.org/x/lint v0.0.0-20190930215403-16217165b5de/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= +golang.org/x/lint v0.0.0-20191125180803-fdd1cda4f05f/go.mod h1:5qLYkcX4OjUUV8bRuDixDT3tpyyb+LUpUlRWLxfhWrs= +golang.org/x/lint v0.0.0-20200130185559-910be7a94367/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= +golang.org/x/lint v0.0.0-20200302205851-738671d3881b/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= +golang.org/x/lint v0.0.0-20201208152925-83fdc39ff7b5/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= +golang.org/x/lint v0.0.0-20210508222113-6edffad5e616/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= golang.org/x/mobile v0.0.0-20190312151609-d3739f865fa6/go.mod h1:z+o9i4GpDbdi3rU15maQ/Ox0txvL9dWGYEHz965HBQE= golang.org/x/mobile v0.0.0-20190719004257-d2bd2a29d028/go.mod h1:E/iHnbuqvinMTCcRqshq8CkpyQDoeVncDDYHnLhea+o= golang.org/x/mod v0.0.0-20190513183733-4bf6d317e70e/go.mod h1:mXi4GBBbnImb6dmsKGUJ2LatrhH/nqhxcFungHvyanc= golang.org/x/mod v0.1.0/go.mod h1:0QHyrYULN0/3qlju5TqG8bIK38QM8yzMo5ekMj3DlcY= golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= +golang.org/x/mod v0.1.1-0.20191107180719-034126e5016b/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= +golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= +golang.org/x/mod v0.4.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= +golang.org/x/mod v0.4.1/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.4.2 h1:Gz96sIWK3OalVv/I/qNygP42zyoKp3xptRVCWRFEBvo= golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= @@ -1133,6 +1391,7 @@ golang.org/x/net v0.0.0-20181213202711-891ebc4b82d6/go.mod h1:mL1N/T3taQHkDXs73r golang.org/x/net v0.0.0-20181220203305-927f97764cc3/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-20190119204137-ed066c81e75e/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20190125091013-d26f9f9a57f3/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= @@ -1143,9 +1402,30 @@ golang.org/x/net v0.0.0-20190522155817-f3200d17e092/go.mod h1:HSz+uSET+XFnRR8LxR golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks= golang.org/x/net v0.0.0-20190613194153-d28f0bde5980/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20190628185345-da137c7871d7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20190724013045-ca1201d0de80/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20190813141303-74dc4d7220e7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20191209160850-c0dbc17a3553/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200114155413-6afb5195e5aa/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200202094626-16171245cfb2/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200222125558-5a598a2470a0/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200301022130-244492dfa37a/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200324143707-d3edc9973b7e/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20200501053045-e0ff5e5a1de5/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20200506145744-7e3656a0809f/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20200513185701-a91f0712d120/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20200520182314-0ba52f642ac2/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20200625001655-4c5254603344/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= +golang.org/x/net v0.0.0-20200707034311-ab3426394381/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= +golang.org/x/net v0.0.0-20200822124328-c89045814202/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= +golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= +golang.org/x/net v0.0.0-20201031054903-ff519b6c9102/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= +golang.org/x/net v0.0.0-20201110031124-69a78807bb2b/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= +golang.org/x/net v0.0.0-20201209123823-ac852fbbde11/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= +golang.org/x/net v0.0.0-20210119194325-5f4716e94777/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= +golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= +golang.org/x/net v0.0.0-20210316092652-d523dce5a7f4/go.mod h1:RBQZq4jEuRlivfhVLdyRGr576XBO4/greRjx4P4O3yc= golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4 h1:4nGaVu0QrbjT/AK2PRLuQfQuh6DJve+pELhqTdAj3x0= golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= @@ -1153,6 +1433,15 @@ golang.org/x/oauth2 v0.0.0-20181017192945-9dcd33a902f4/go.mod h1:N/0e6XlmueqKjAG golang.org/x/oauth2 v0.0.0-20181203162652-d668ce993890/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= +golang.org/x/oauth2 v0.0.0-20191202225959-858c2ad4c8b6/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= +golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= +golang.org/x/oauth2 v0.0.0-20200902213428-5d25da1a8d43/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20201109201403-9fd604954f58/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20201208152858-08078c50e5b5/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20210218202405-ba52d332ba99/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20210220000619-9bb904979d93/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20210313182246-cd4f82c27b84/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20210402161424-2e8d93401602/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/perf v0.0.0-20180704124530-6e6d33e29852/go.mod h1:JLpeXjPJfIyPr5TlbXLkXWLhP8nz10XfvxElABhCtcw= 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= @@ -1161,6 +1450,10 @@ golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sync v0.0.0-20190412183630-56d357773e84/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20200317015054-43a5402ce75a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20200625203802-6e8e738ad208/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20210220032951-036812b2e83c h1:5KslGYwFpkhGh+Q16bwMP3cOontH8FOep7tGV86Y7SQ= golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sys v0.0.0-20180816055513-1c9583448a9c/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= @@ -1207,28 +1500,59 @@ golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20190515120540-06a5c4944438/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190606165138-5da285871e9c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190726091711-fc99dfbffb4e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190813064441-fde4db37ae7a/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190826190057-c7b8b68b1456/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191001151750-bb3f8db39f24/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191005200804-aed5e4c7ecf9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191008105621-543471e840be/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191204072324-ce4227a45e2e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191220142924-d4481acd189f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191228213918-04cbcbbfeed8/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200113162924-86b910548bc1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200116001909-b77594299b42/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200122134326-e047566fdf82/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200202164722-d101bd2416d5/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200212091648-12a6c2dcc1e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200302150141-5c8b2ff67527/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200331124033-c3d80250170d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200501052902-10377860bb8e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200511232937-7e40ca221e25/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200515095857-1151b9dac4a9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200523222454-059865788121/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200803210538-64077c9b5642/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200905004654-be1d3432aa8f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20201201145000-ef89a241ccb3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210104204734-6f8348627aad/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210119212857-b64e53b001e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210220050731-9a76102bfb43/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210305230114-8fe3ee5dd75b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210315160823-c6e025ad8005/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210320140829-1e4c9ba3b0c4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210403161142-5e06dd20ab57/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210510120138-977fb7262007 h1:gG67DSER+11cZvqIMb8S8bt0vZtiN6xWYARwirrOSfE= golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20201210144234-2321bbc49cbf h1:MZ2shdL+ZM/XzY3ZGOnh4Nlpnxz5GSOhOmtHo3iPU6M= golang.org/x/term v0.0.0-20201210144234-2321bbc49cbf/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= +golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= -golang.org/x/text v0.3.3 h1:cokOdA+Jmi5PJGXLlLllQSgYigAEfHXJAERHVMaCc2k= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= +golang.org/x/text v0.3.4/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= +golang.org/x/text v0.3.5 h1:i6eZZ+zk0SOf0xgBpEpPD18qWcJda6q1sxt3S0kzyUQ= +golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/time v0.0.0-20180412165947-fbb02b2291d2/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/tools v0.0.0-20180221164845-07fd8470d635/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20180828015842-6cd1fcedba52/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= @@ -1289,6 +1613,7 @@ golang.org/x/tools v0.0.0-20190420181800-aa740d480789/go.mod h1:LCzVGOaR6xXOjkQ3 golang.org/x/tools v0.0.0-20190425150028-36563e24a262/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= golang.org/x/tools v0.0.0-20190425163242-31fd60d6bfdc/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= golang.org/x/tools v0.0.0-20190506145303-2d16b83fe98c/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= +golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= golang.org/x/tools v0.0.0-20190603152906-08e0b306e832/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= golang.org/x/tools v0.0.0-20190603231351-8aaa1484dc10/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= golang.org/x/tools v0.0.0-20190606124116-d0a3d012864b/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= @@ -1310,14 +1635,49 @@ golang.org/x/tools v0.0.0-20191015150414-f936694f27bf/go.mod h1:b+2E5dAYhXwXZwtn golang.org/x/tools v0.0.0-20191029041327-9cc4af7d6b2c/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191029190741-b9c20aec41a5/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191112195655-aa38f8e97acc/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191113191852-77e3bb0ad9e7/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191115202509-3a792d9c32b2/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191125144606-a911d9008d1f/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191130070609-6e064ea0cf2d/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191216173652-a0e659d51361/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20191224055732-dd894d0a8a40/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20191227053925-7b8e75db28f4/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200103221440-774c71fcf114/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200117161641-43d50277825c/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200117220505-0cba7a3a9ee9/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200122220014-bf1340f18c4a/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200130002326-2f3ba24bd6e7/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200131211209-ecb101ed6550/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200204074204-1cc6d1ef6c74/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200207183749-b753a1ba74fa/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200212150539-ea181f53ac56/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200224181240-023911ca70b2/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200227222343-706bc42d1f0d/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200304193943-95d2e580d8eb/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw= golang.org/x/tools v0.0.0-20200308013534-11ec41452d41/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw= +golang.org/x/tools v0.0.0-20200312045724-11d5b4c81c7d/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw= golang.org/x/tools v0.0.0-20200323192200-8849913b6971/go.mod h1:Sl4aGygMT6LrqrWclx+PTx3U+LnKx/seiNR+3G19Ar8= -golang.org/x/tools v0.1.3 h1:L69ShwSZEyCsLKoAxDKeMvLDZkumEe8gXUZAjab0tX8= +golang.org/x/tools v0.0.0-20200331025713-a30bf2db82d4/go.mod h1:Sl4aGygMT6LrqrWclx+PTx3U+LnKx/seiNR+3G19Ar8= +golang.org/x/tools v0.0.0-20200501065659-ab2804fb9c9d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +golang.org/x/tools v0.0.0-20200512131952-2bc93b1c0c88/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +golang.org/x/tools v0.0.0-20200515010526-7d3b6ebf133d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +golang.org/x/tools v0.0.0-20200618134242-20370b0cb4b2/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +golang.org/x/tools v0.0.0-20200729194436-6467de6f59a7/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= +golang.org/x/tools v0.0.0-20200804011535-6c149bb5ef0d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= +golang.org/x/tools v0.0.0-20200825202427-b303f430e36d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= +golang.org/x/tools v0.0.0-20200904185747-39188db58858/go.mod h1:Cj7w3i3Rnn0Xh82ur9kSqwfTHTeVxaDqrfMjpcNT6bE= +golang.org/x/tools v0.0.0-20201110124207-079ba7bd75cd/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= +golang.org/x/tools v0.0.0-20201201161351-ac6f37ff4c2a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= +golang.org/x/tools v0.0.0-20201208233053-a543418bbed2/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= +golang.org/x/tools v0.0.0-20210105154028-b0ab187a4818/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= +golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= +golang.org/x/tools v0.1.0/go.mod h1:xkSsbof2nBLbhDlRMhhhyNLN/zl3eTqcnHD5viDpcZ0= +golang.org/x/tools v0.1.2/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/tools v0.1.3/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= +golang.org/x/tools v0.1.5 h1:ouewzE6p+/VEB31YYnTbEJdi8pFqKp4P4n85vwo3DHA= +golang.org/x/tools v0.1.5/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/xerrors v0.0.0-20190410155217-1f06c39b4373/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20190513163551-3ee3066db522/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= @@ -1328,11 +1688,29 @@ golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8T google.golang.org/api v0.0.0-20180910000450-7ca32eb868bf/go.mod h1:4mhQ8q/RsB7i+udVvVy5NUi08OU8ZlA0gRVgrF7VFY0= google.golang.org/api v0.0.0-20181030000543-1d582fd0359e/go.mod h1:4mhQ8q/RsB7i+udVvVy5NUi08OU8ZlA0gRVgrF7VFY0= google.golang.org/api v0.1.0/go.mod h1:UGEZY7KEX120AnNLIHFMKIo4obdJhkp2tPbaPlQx13Y= +google.golang.org/api v0.3.1/go.mod h1:6wY9I6uQWHQ8EM57III9mq/AjF+i8G65rmVagqKMtkk= google.golang.org/api v0.4.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE= google.golang.org/api v0.7.0/go.mod h1:WtwebWUNSVBH/HAw79HIFXZNqEvBhG+Ra+ax0hx3E3M= google.golang.org/api v0.8.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= google.golang.org/api v0.9.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= google.golang.org/api v0.13.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= +google.golang.org/api v0.14.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= +google.golang.org/api v0.15.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= +google.golang.org/api v0.17.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= +google.golang.org/api v0.18.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= +google.golang.org/api v0.19.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= +google.golang.org/api v0.20.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= +google.golang.org/api v0.22.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= +google.golang.org/api v0.24.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0MncE= +google.golang.org/api v0.28.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0MncE= +google.golang.org/api v0.29.0/go.mod h1:Lcubydp8VUV7KeIHD9z2Bys/sm/vGKnG1UHuDBSrHWM= +google.golang.org/api v0.30.0/go.mod h1:QGmEvQ87FHZNiUVJkT14jQNYJ4ZJjdRF23ZXz5138Fc= +google.golang.org/api v0.35.0/go.mod h1:/XrVsuzM0rZmrsbjJutiuftIzeuTQcEeaYcSk/mQ1dg= +google.golang.org/api v0.36.0/go.mod h1:+z5ficQTmoYpPn8LCUNVpK5I7hwkpjbcgqA7I34qYtE= +google.golang.org/api v0.40.0/go.mod h1:fYKFpnQN0DsDSKRVRcQSDQNtqWPfM9i+zNPxepjRCQ8= +google.golang.org/api v0.41.0/go.mod h1:RkxM5lITDfTzmyKFPt+wGrCJbVfniCr2ool8kTBzRTU= +google.golang.org/api v0.43.0/go.mod h1:nQsDGjRXMo4lvh5hP0TKqF244gqhGcr/YSIykhUk/94= +google.golang.org/api v0.44.0/go.mod h1:EBOGZqzyhtvMDoxwS97ctnh0zUmYY6CxqXsc1AvkYD8= google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= google.golang.org/appengine v1.2.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= google.golang.org/appengine v1.3.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= @@ -1341,6 +1719,8 @@ google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7 google.golang.org/appengine v1.6.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= google.golang.org/appengine v1.6.1/go.mod h1:i06prIuMbXzDqacNJfV5OdTW448YApPu5ww/cMBSeb0= google.golang.org/appengine v1.6.5/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= +google.golang.org/appengine v1.6.6/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= +google.golang.org/appengine v1.6.7/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= 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-20181029155118-b69ba1387ce2/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= @@ -1350,17 +1730,82 @@ google.golang.org/genproto v0.0.0-20190307195333-5fe7a883aa19/go.mod h1:VzzqZJRn google.golang.org/genproto v0.0.0-20190418145605-e7d98fc518a7/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= google.golang.org/genproto v0.0.0-20190425155659-357c62f0e4bb/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= google.golang.org/genproto v0.0.0-20190502173448-54afdca5d873/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= +google.golang.org/genproto v0.0.0-20190530194941-fb225487d101/go.mod h1:z3L6/3dTEVtUr6QSP8miRzeRqwQOioJ9I66odjN4I7s= google.golang.org/genproto v0.0.0-20190801165951-fa694d86fc64/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= google.golang.org/genproto v0.0.0-20190911173649-1774047e7e51/go.mod h1:IbNlFCBrqXvoKpeg0TB2l7cyZUmoaFKYIwrEpbDKLA8= google.golang.org/genproto v0.0.0-20191108220845-16a3f7862a1a/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= +google.golang.org/genproto v0.0.0-20191115194625-c23dd37a84c9/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= +google.golang.org/genproto v0.0.0-20191216164720-4f79533eabd1/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= +google.golang.org/genproto v0.0.0-20191230161307-f3c370f40bfb/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= +google.golang.org/genproto v0.0.0-20200115191322-ca5a22157cba/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= +google.golang.org/genproto v0.0.0-20200122232147-0452cf42e150/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= +google.golang.org/genproto v0.0.0-20200204135345-fa8e72b47b90/go.mod h1:GmwEX6Z4W5gMy59cAlVYjN9JhxgbQH6Gn+gFDQe2lzA= +google.golang.org/genproto v0.0.0-20200212174721-66ed5ce911ce/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200224152610-e50cd9704f63/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200228133532-8c2c7df3a383/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200305110556-506484158171/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200312145019-da6875a35672/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200331122359-1ee6d9798940/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200430143042-b979b6f78d84/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200511104702-f5ebc3bea380/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200513103714-09dca8ec2884/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200515170657-fc4c6c6a6587/go.mod h1:YsZOwe1myG/8QRHRsmBRE1LrgQY60beZKjly0O1fX9U= +google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo= +google.golang.org/genproto v0.0.0-20200618031413-b414f8b61790/go.mod h1:jDfRM7FcilCzHH/e9qn6dsT145K34l5v+OpcnNgKAAA= +google.golang.org/genproto v0.0.0-20200729003335-053ba62fc06f/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20200804131852-c06518451d9c/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20200825200019-8632dd797987/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20200904004341-0bd0a958aa1d/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20201109203340-2640f1f9cdfb/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20201201144952-b05cb90ed32e/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20201210142538-e3217bee35cc/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20201214200347-8c77b98c765d/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20210222152913-aa3ee6e6a81c/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20210303154014-9728d6b83eeb/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20210310155132-4ce2db91004e/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20210319143718-93e7006c17a6/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20210402141018-6c239bbf2bb1/go.mod h1:9lPAdzaEmUacj36I+k7YKbEc5CXzPIeORRgDAUOu28A= +google.golang.org/genproto v0.0.0-20210602131652-f16073e35f0c/go.mod h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0= 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= google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= +google.golang.org/grpc v1.20.0/go.mod h1:chYK+tFQF0nDUGJgXMSgLCQk3phJEuONr2DCgLDdAQM= google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38= google.golang.org/grpc v1.21.0/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= +google.golang.org/grpc v1.22.1/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= +google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= +google.golang.org/grpc v1.23.1/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= +google.golang.org/grpc v1.25.1/go.mod h1:c3i+UQWmh7LiEpx4sFZnkU36qjEYZ0imhYfXVyQciAY= +google.golang.org/grpc v1.26.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= +google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= +google.golang.org/grpc v1.27.1/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= +google.golang.org/grpc v1.28.0/go.mod h1:rpkK4SK4GF4Ach/+MFLZUBavHOvF2JJB5uozKKal+60= +google.golang.org/grpc v1.29.1/go.mod h1:itym6AZVZYACWQqET3MqgPpjcuV5QH3BxFS3IjizoKk= +google.golang.org/grpc v1.30.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= +google.golang.org/grpc v1.31.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= +google.golang.org/grpc v1.31.1/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= +google.golang.org/grpc v1.33.1/go.mod h1:fr5YgcSWrqhRRxogOsw7RzIpsmvOZ6IcH4kBYTpR3n0= +google.golang.org/grpc v1.33.2/go.mod h1:JMHMWHQWaTccqQQlmk3MJZS+GWXOdAesneDmEnv2fbc= +google.golang.org/grpc v1.34.0/go.mod h1:WotjhfgOW/POjDeRt8vscBtXq+2VjORFy659qA51WJ8= +google.golang.org/grpc v1.35.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= +google.golang.org/grpc v1.36.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= +google.golang.org/grpc v1.36.1/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= +google.golang.org/grpc v1.38.0/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM= +google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= +google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= +google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= +google.golang.org/protobuf v1.20.1-0.20200309200217-e05f789c0967/go.mod h1:A+miEFZTKqfCUM6K7xSMQL9OKL/b6hQv+e19PK+JZNE= +google.golang.org/protobuf v1.21.0/go.mod h1:47Nbq4nVaFHyn7ilMalzfO3qCViNmqZ2kzikPIcrTAo= +google.golang.org/protobuf v1.22.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= +google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= +google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= +google.golang.org/protobuf v1.24.0/go.mod h1:r/3tXBNzIEhYS9I1OUVjXDlt8tc493IdKGjtUeSXeh4= +google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c= +google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= +google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= gopkg.in/airbrake/gobrake.v2 v2.0.9/go.mod h1:/h5ZAUhDkGaJfjzjKLSjv6zCL6O0LLBxU4K+aSYdM/U= gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw= gopkg.in/alexcesaro/quotedprintable.v3 v3.0.0-20150716171945-2caba252f4dc h1:2gGKlE2+asNV9m7xrywl36YYNnBG5ZQ0r/BOOxqPpmk= @@ -1369,33 +1814,46 @@ gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8 gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15 h1:YR8cESwS4TdDjEe65xsg0ogRM/Nc3DYOhEAlW+xobZo= gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/cheggaaa/pb.v1 v1.0.25/go.mod h1:V/YB90LKu/1FcN3WVnfiiE5oMCibMjukxqG/qStrOgw= gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys= +gopkg.in/gcfg.v1 v1.2.3/go.mod h1:yesOnuUOFQAhST5vPY4nbZsb/huCgGGXlipJsBn0b3o= gopkg.in/gemnasium/logrus-airbrake-hook.v2 v2.1.2/go.mod h1:Xk6kEKp8OKb+X14hQBKWaSkCsqBpgog8nAV2xsGOxlo= gopkg.in/gomail.v2 v2.0.0-20160411212932-81ebce5c23df/go.mod h1:LRQQ+SO6ZHR7tOkpBDuZnXENFzX8qRjMDMyPD6BRkCw= gopkg.in/inconshreveable/log15.v2 v2.0.0-20180818164646-67afb5ed74ec/go.mod h1:aPpfJ7XW+gOuirDoZ8gHhLh3kZ1B08FtV2bbmy7Jv3s= gopkg.in/inf.v0 v0.9.1/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw= -gopkg.in/ini.v1 v1.51.0 h1:AQvPpx3LzTDM0AjnIRlVFwFFGC+npRopjZxLJj6gdno= gopkg.in/ini.v1 v1.51.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= +gopkg.in/ini.v1 v1.62.0 h1:duBzk771uxoUuOlyRLkHsygud9+5lrlGjdFBb4mSKDU= +gopkg.in/ini.v1 v1.62.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= gopkg.in/mail.v2 v2.0.0-20180731213649-a0242b2233b4/go.mod h1:htwXN1Qh09vZJ1NVKxQqHPBaCBbzKhp5GzuJEA4VJWw= gopkg.in/resty.v1 v1.12.0/go.mod h1:mDo4pnntr5jdWRML875a/NmxYqAlA73dVijT2AXvQQo= gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw= +gopkg.in/warnings.v0 v0.1.2/go.mod h1:jksf8JmL6Qr/oQM2OXTHunEvvTAsrWBLb6OOjuVWRNI= gopkg.in/yaml.v2 v2.0.0-20170812160011-eb3733d160e7/go.mod h1:JAlM8MvJe8wmxCU4Bli9HhUf9+ttbYbLASfIpnQbh74= gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.2.3/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.7/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= -gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c h1:dUUwHk2QECo/6vqA44rthZ8ie2QXMNeKRTHCNY2nXvo= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b h1:h8qDotaEPuJATrMmW04NCwg7v22aHH28wwpauUhK9Oo= +gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= grpc.go4.org v0.0.0-20170609214715-11d0a25b4919/go.mod h1:77eQGdRu53HpSqPFJFmuJdjuHRquDANNeA4x7B8WQ9o= honnef.co/go/tools v0.0.0-20180728063816-88497007e858/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.0-20190418001031-e561f6794a2a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= +honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg= +honnef.co/go/tools v0.0.1-2020.1.3/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= +honnef.co/go/tools v0.0.1-2020.1.4/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8= +rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0= +rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA= +sigs.k8s.io/yaml v1.1.0/go.mod h1:UJmg0vDUVViEyp3mgSv9WPwZCDxu4rQW1olrI1uml+o= +sourcegraph.com/sourcegraph/appdash v0.0.0-20190731080439-ebfcffb1b5c0/go.mod h1:hI742Nqp5OhwiqlzhgfbWU4mW4yO10fP+LoT9WOswdU= sourcegraph.com/sourcegraph/go-diff v0.5.0/go.mod h1:kuch7UrkMzY0X+p9CRK03kfuPQ2zzQcaEFbx8wA8rck= sourcegraph.com/sqs/pbtypes v0.0.0-20180604144634-d3ebe8f20ae4/go.mod h1:ketZ/q3QxT9HOBeFhu6RdvsftgpsbFHBF5Cas6cDKZ0= diff --git a/plugins.go b/plugins.go index ed6528574..5b9a97460 100644 --- a/plugins.go +++ b/plugins.go @@ -16,7 +16,7 @@ import ( // LoadPlugins will add listeners for any plugins that support "events" func LoadPlugins() error { - var err error + var errResult error oncer.Do("events.LoadPlugins", func() { // don't send plugins events during testing if envy.Get("GO_ENV", "development") == "test" { @@ -24,7 +24,7 @@ func LoadPlugins() error { } plugs, err := plugins.Available() if err != nil { - err = err + errResult = err return } for _, cmds := range plugs { @@ -57,12 +57,11 @@ func LoadPlugins() error { }) }(c) if err != nil { - err = err + errResult = err return } } - } }) - return err + return errResult } diff --git a/plugins/decorate.go b/plugins/decorate.go index 7dff9b7bf..c3a09c9c1 100644 --- a/plugins/decorate.go +++ b/plugins/decorate.go @@ -19,9 +19,7 @@ var ErrPlugMissing = fmt.Errorf("plugin missing") func Decorate(c Command) *cobra.Command { var flags []string if len(c.Flags) > 0 { - for _, f := range c.Flags { - flags = append(flags, f) - } + flags = append(flags, c.Flags...) } cc := &cobra.Command{ Use: c.Name, diff --git a/runtime/runtime.go b/runtime/runtime.go deleted file mode 100644 index 7ccdf5f69..000000000 --- a/runtime/runtime.go +++ /dev/null @@ -1 +0,0 @@ -package runtime From 838990ea0523bb0f1164340aa18c8d0d81c478b8 Mon Sep 17 00:00:00 2001 From: Antonio Pagano Date: Thu, 5 Aug 2021 21:40:29 -0500 Subject: [PATCH 54/64] adding comment on the underscore import --- buffalo.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/buffalo.go b/buffalo.go index 25c84b8e2..15b546f77 100644 --- a/buffalo.go +++ b/buffalo.go @@ -12,4 +12,4 @@ package buffalo // this import the package doesn't get vendored // by go mod vendor or by dep. this import fixes // this problem. -import _ "github.com/gobuffalo/buffalo/runtime" +import _ "github.com/gobuffalo/buffalo/runtime" // Load the runtime package variables From d154afcd5f8cb19a1ebb8d60eb7a962756feb11b Mon Sep 17 00:00:00 2001 From: Matthias Fasching Date: Wed, 1 Sep 2021 18:07:52 +0200 Subject: [PATCH 55/64] Update buffalo to go 1.17 (#2139) * v0.17.0 (#2134) * v0.17.0 * removing goreleaser as the binary lives on a separate repo * bumping version * Go mod does not like two things with the same commit * Update buffalo to go 1.17 * Use go install instead of gobinaries * Remove obosolete GO111MODULE * Update go.mod * Fix tests that broke with go 1.17 Co-authored-by: Antonio Pagano <645522+paganotoni@users.noreply.github.com> Co-authored-by: Antonio Pagano --- .github/CONTRIBUTING.md | 13 +- .github/workflows/release.yml | 28 - .github/workflows/tests.yml | 23 +- .goreleaser.yml | 45 - Dockerfile | 1 - Dockerfile.build | 8 +- Dockerfile.slim.build | 9 +- Makefile | 7 - README.md | 23 +- SHOULDERS.md | 1 - buffalo/cmd/build.go | 167 - buffalo/cmd/destroy.go | 24 - buffalo/cmd/destroy/action.go | 29 - buffalo/cmd/destroy/mailer.go | 48 - buffalo/cmd/destroy/resource.go | 129 - buffalo/cmd/dev.go | 150 - buffalo/cmd/events.go | 10 - buffalo/cmd/filetests/apiapp.json | 36 - buffalo/cmd/filetests/destroy_action_all.json | 8 - buffalo/cmd/filetests/destroy_mailer_all.json | 14 - buffalo/cmd/filetests/destroy_model_all.json | 8 - .../cmd/filetests/destroy_resource_all.json | 27 - buffalo/cmd/filetests/fix_old_app.json | 22 - .../cmd/filetests/generate_action_all.json | 23 - .../filetests/generate_action_existing.json | 19 - .../generate_action_skip_template.json | 15 - .../generate_action_with_method.json | 19 - buffalo/cmd/filetests/generate_mailer.json | 30 - .../cmd/filetests/generate_nested_task.json | 10 - .../cmd/filetests/generate_plain_task.json | 8 - .../generate_resource_irregular.json | 7 - .../generate_resource_nested_api.json | 20 - ...nerate_resource_nested_model_name_api.json | 25 - ...nerate_resource_nested_model_name_web.json | 34 - .../generate_resource_nested_web.json | 40 - .../filetests/generate_resource_plural.json | 23 - .../filetests/generate_resource_singular.json | 23 - .../cmd/filetests/generate_underscore.json | 7 - buffalo/cmd/filetests/goth.json | 29 - buffalo/cmd/filetests/new_travis.json | 16 - buffalo/cmd/filetests/no_assets_build.json | 6 - .../filetests/resource_model_migration.json | 6 - .../cmd/filetests/resource_skip_model.json | 13 - buffalo/cmd/filetests/resource_use_model.json | 19 - buffalo/cmd/filetests/skip_dep.json | 10 - buffalo/cmd/fix.go | 27 - buffalo/cmd/fix/deprecations.go | 58 - buffalo/cmd/fix/docker.go | 38 - buffalo/cmd/fix/fix.go | 104 - buffalo/cmd/fix/imports.go | 136 - buffalo/cmd/fix/middleware.go | 161 - buffalo/cmd/fix/npm.go | 145 - buffalo/cmd/fix/packr.go | 9 - buffalo/cmd/fix/plugins.go | 75 - buffalo/cmd/fix/plush.go | 62 - buffalo/cmd/fix/runner.go | 59 - buffalo/cmd/fix/tools.go | 26 - buffalo/cmd/fix/webpack.go | 69 - buffalo/cmd/generate.go | 22 - buffalo/cmd/generate/action.go | 58 - buffalo/cmd/generate/mailer.go | 53 - buffalo/cmd/generate/resource.go | 99 - buffalo/cmd/generate/task.go | 52 - buffalo/cmd/info.go | 63 - .../cmd/internal/integration/build_test.go | 83 - .../internal/integration/integration_test.go | 67 - buffalo/cmd/internal/integration/new_test.go | 43 - buffalo/cmd/new.go | 349 - buffalo/cmd/new_test.go | 1 - buffalo/cmd/plugins.go | 36 - buffalo/cmd/plugins/add.go | 68 - buffalo/cmd/plugins/available.go | 26 - buffalo/cmd/plugins/cache.go | 22 - buffalo/cmd/plugins/encode.go | 22 - buffalo/cmd/plugins/install.go | 85 - buffalo/cmd/plugins/internal/cache/build.go | 19 - buffalo/cmd/plugins/internal/cache/clean.go | 18 - buffalo/cmd/plugins/internal/cache/list.go | 34 - buffalo/cmd/plugins/list.go | 57 - buffalo/cmd/plugins/listen.go | 35 - buffalo/cmd/plugins/remove.go | 56 - buffalo/cmd/root.go | 82 - buffalo/cmd/routes.go | 19 - buffalo/cmd/setup.go | 178 - buffalo/cmd/task.go | 25 - buffalo/cmd/test.go | 241 - buffalo/cmd/test_test.go | 27 - buffalo/cmd/version.go | 40 - buffalo/cmd/version_test.go | 30 - buffalo/main.go | 9 - .../_fixtures/inputs/clean/actions/app.go | 18 - .../inputs/existing/actions/app.go.tmpl | 19 - .../inputs/existing/actions/user.go.tmpl | 13 - .../inputs/existing/actions/user_test.go.tmpl | 6 - .../existing/templates/user/edit.plush.html | 1 - .../outputs/clean/actions/app.go.tmpl | 19 - .../outputs/clean/actions/user.go.tmpl | 12 - .../outputs/clean/actions/user_test.go.tmpl | 5 - .../clean/templates/user/index.plush.html | 1 - .../outputs/existing/actions/app.go.tmpl | 20 - .../outputs/existing/actions/user.go.tmpl | 18 - .../existing/actions/user_test.go.tmpl | 10 - .../existing/templates/user/edit.plush.html | 1 - .../existing/templates/user/show.plush.html | 1 - .../outputs/multi/actions/app.go.tmpl | 20 - .../outputs/multi/actions/user.go.tmpl | 17 - .../outputs/multi/actions/user_test.go.tmpl | 9 - .../multi/templates/user/edit.plush.html | 1 - .../multi/templates/user/show.plush.html | 1 - genny/actions/actions-packr.go | 8 - genny/actions/actions.go | 84 - genny/actions/actions_test.go | 165 - genny/actions/build_actions.go | 83 - genny/actions/build_templates.go | 29 - genny/actions/build_tests.go | 61 - genny/actions/options.go | 36 - genny/actions/options_test.go | 24 - genny/actions/presenter.go | 13 - genny/actions/templates/actions.go.tmpl | 6 - .../actions/templates/actions_header.go.tmpl | 7 - genny/actions/templates/test.go.tmpl | 5 - genny/actions/templates/tests_header.go.tmpl | 1 - genny/actions/templates/view.plush.html.tmpl | 1 - genny/add/add.go | 30 - genny/add/add_test.go | 50 - genny/add/options.go | 40 - genny/add/options_test.go | 15 - genny/assets/standard/options.go | 4 - genny/assets/standard/standard-packr.go | 8 - genny/assets/standard/standard.go | 35 - genny/assets/standard/standard_test.go | 60 - .../public/assets/application.css.tmpl | 0 .../public/assets/application.js.tmpl | 0 .../templates/public/assets/buffalo.css.tmpl | 118 - .../public/assets/images/favicon.ico.tmpl | Bin 1150 -> 0 bytes .../public/assets/images/logo.svg.tmpl | 721 -- genny/assets/webpack/options.go | 18 - .../webpack/templates/-dot-babelrc.tmpl | 3 - .../templates/assets/css/_buffalo.scss.tmpl | 133 - .../assets/css/application.scss.tmpl | 4 - .../templates/assets/images/favicon.ico.tmpl | Bin 1150 -> 0 bytes .../webpack/templates/assets/images/logo.svg | 721 -- .../templates/assets/js/application.js.tmpl | 7 - .../webpack/templates/package.json.tmpl | 46 - .../webpack/templates/postcss.config.js.tmpl | 5 - .../templates/public/assets/-dot-keep.tmpl | 0 .../webpack/templates/webpack.config.js.tmpl | 117 - genny/assets/webpack/webpack-packr.go | 8 - genny/assets/webpack/webpack.go | 102 - genny/assets/webpack/webpack_test.go | 93 - genny/build/_fixtures/coke/README.md | 35 - .../_fixtures/coke/actions/actions_test.go | 24 - genny/build/_fixtures/coke/actions/app.go | 90 - genny/build/_fixtures/coke/actions/home.go | 13 - .../build/_fixtures/coke/actions/home_test.go | 9 - genny/build/_fixtures/coke/actions/render.go | 27 - .../_fixtures/coke/assets/css/_buffalo.scss | 118 - .../coke/assets/css/application.scss | 4 - .../_fixtures/coke/assets/images/favicon.ico | Bin 1150 -> 0 bytes .../_fixtures/coke/assets/images/logo.svg | 721 -- .../_fixtures/coke/assets/js/application.js | 5 - .../_fixtures/coke/config/buffalo-app.toml | 12 - .../coke/config/buffalo-plugins.toml | 7 - .../build/_fixtures/coke/config/database.yml | 13 - .../build/_fixtures/coke/fixtures/sample.toml | 32 - genny/build/_fixtures/coke/grifts/db.go | 15 - genny/build/_fixtures/coke/grifts/init.go | 10 - genny/build/_fixtures/coke/inflections.json | 3 - .../_fixtures/coke/locales/all.en-us.yaml | 3 - genny/build/_fixtures/coke/main.go | 38 - genny/build/_fixtures/coke/models/models.go | 22 - .../_fixtures/coke/models/models_test.go | 24 - genny/build/_fixtures/coke/package.json | 40 - .../build/_fixtures/coke/public/assets/.keep | 0 genny/build/_fixtures/coke/public/robots.txt | 2 - .../_fixtures/coke/templates/_flash.html | 14 - .../_fixtures/coke/templates/application.html | 21 - .../build/_fixtures/coke/templates/index.html | 64 - genny/build/_fixtures/coke/webpack.config.js | 114 - genny/build/_fixtures/coke/yarn.lock | 5802 ----------------- .../_fixtures/template_validator/bad/a.html | 1 - .../_fixtures/template_validator/bad/b.md | 1 - genny/build/apkg.go | 52 - genny/build/apkg_test.go | 1 - genny/build/archived_assets.go | 103 - genny/build/assets.go | 83 - genny/build/assets_test.go | 71 - genny/build/bin.go | 54 - genny/build/bin_test.go | 168 - genny/build/build.go | 100 - genny/build/build_deps.go | 31 - genny/build/build_deps_test.go | 35 - genny/build/build_test.go | 93 - genny/build/cleanup.go | 48 - genny/build/cleanup_test.go | 62 - genny/build/events.go | 10 - genny/build/options.go | 75 - genny/build/options_test.go | 14 - genny/build/template_walker.go | 58 - genny/build/templates/a/aa.go.plush | 50 - .../templates/buffalo_build_main.go.plush | 104 - .../templates/migrations/-dot-pop-tmp.md | 11 - genny/build/transform_main.go | 24 - genny/build/transform_main_test.go | 27 - genny/build/validate.go | 83 - genny/build/validate_test.go | 43 - genny/ci/ci-packr.go | 8 - genny/ci/ci.go | 66 - genny/ci/ci_test.go | 124 - genny/ci/options.go | 66 - genny/ci/options_test.go | 21 - .../templates/-dot-circleci/config.yml.tmpl | 45 - .../templates/-dot-gitlab-ci-no-pop.yml.tmpl | 26 - genny/ci/templates/-dot-gitlab-ci.yml.tmpl | 48 - genny/ci/templates/-dot-travis.yml.tmpl | 26 - genny/docker/docker-packr.go | 8 - genny/docker/docker.go | 37 - genny/docker/docker_test.go | 60 - genny/docker/options.go | 35 - genny/docker/options_test.go | 22 - .../templates/common/-dot-dockerignore.tmpl | 3 - genny/docker/templates/multi/Dockerfile.tmpl | 50 - .../docker/templates/standard/Dockerfile.tmpl | 42 - genny/grift/grift.go | 39 - genny/grift/grift_test.go | 55 - genny/grift/options.go | 36 - genny/grift/templates.go | 34 - genny/info/app.go | 34 - genny/info/app_test.go | 34 - genny/info/config.go | 28 - genny/info/config_test.go | 39 - genny/info/info.go | 28 - genny/info/info_test.go | 25 - genny/info/options.go | 25 - genny/info/options_test.go | 15 - genny/info/pkg.go | 19 - genny/info/pkg_test.go | 34 - genny/info/templates/example.txt | 1 - .../init/templates/mailers/mailers.go.tmpl | 35 - .../templates/mail/layout.plush.html.tmpl | 3 - genny/mail/mail-packr.go | 8 - genny/mail/mail.go | 86 - genny/mail/mail_test.go | 66 - genny/mail/options.go | 27 - genny/newapp/api/api-packr.go | 8 - genny/newapp/api/api.go | 37 - genny/newapp/api/api_test.go | 104 - genny/newapp/api/options.go | 18 - genny/newapp/api/options_test.go | 1 - .../newapp/api/templates/actions/app.go.tmpl | 95 - .../newapp/api/templates/actions/home.go.tmpl | 13 - .../api/templates/actions/home_test.go.tmpl | 10 - .../api/templates/actions/render.go.tmpl | 13 - .../api/templates/locales/all.en-us.yaml.tmpl | 3 - genny/newapp/core/core-packr.go | 8 - genny/newapp/core/core.go | 92 - genny/newapp/core/core_test.go | 104 - genny/newapp/core/errors.go | 6 - genny/newapp/core/options.go | 100 - genny/newapp/core/options_test.go | 36 - genny/newapp/core/root.go | 48 - .../core/templates/-dot-codeclimate.yml.tmpl | 23 - genny/newapp/core/templates/-dot-env.tmpl | 9 - genny/newapp/core/templates/README.md.tmpl | 38 - .../templates/actions/actions_test.go.tmpl | 24 - .../newapp/core/templates/actions/app.go.tmpl | 58 - .../core/templates/actions/home.go.tmpl | 13 - .../core/templates/actions/home_test.go.tmpl | 10 - .../core/templates/actions/render.go.tmpl | 11 - .../core/templates/fixtures/sample.toml.tmpl | 32 - .../newapp/core/templates/grifts/init.go.tmpl | 10 - .../core/templates/inflections.json.tmpl | 3 - genny/newapp/core/templates/main.go.tmpl | 38 - genny/newapp/web/options.go | 51 - genny/newapp/web/options_test.go | 1 - .../newapp/web/templates/actions/app.go.tmpl | 96 - .../newapp/web/templates/actions/home.go.tmpl | 13 - .../web/templates/actions/home_test.go.tmpl | 10 - .../web/templates/actions/render.go.tmpl | 28 - .../web/templates/locales/all.en-us.yaml.tmpl | 3 - .../web/templates/public/robots.txt.tmpl | 2 - .../templates/_flash.plush.html.tmpl | 14 - .../templates/application.plush.html.tmpl | 24 - .../templates/templates/index.plush.html.tmpl | 64 - genny/newapp/web/web-packr.go | 8 - genny/newapp/web/web.go | 58 - genny/newapp/web/web_test.go | 95 - genny/plugins/install/install.go | 88 - genny/plugins/install/install_test.go | 58 - genny/plugins/install/options.go | 43 - genny/plugins/install/options_test.go | 15 - genny/refresh/options.go | 16 - genny/refresh/refresh-packr.go | 8 - genny/refresh/refresh.go | 23 - genny/refresh/refresh_test.go | 32 - .../templates/-dot-buffalo.dev.yml.plush | 21 - .../_fixtures/coke/actions/app.go.tmpl | 10 - .../_fixtures/default/actions/app.go.tmpl | 11 - .../_fixtures/default/actions/widgets.go.tmpl | 260 - .../default/actions/widgets_test.go.tmpl | 29 - .../default/locales/widgets.en-us.yaml | 6 - .../templates/widgets/_form.plush.html | 3 - .../default/templates/widgets/edit.plush.html | 8 - .../templates/widgets/index.plush.html | 33 - .../default/templates/widgets/new.plush.html | 8 - .../default/templates/widgets/show.plush.html | 22 - .../nested/actions/admin_widgets.go.tmpl | 260 - .../nested/actions/admin_widgets_test.go.tmpl | 29 - .../_fixtures/nested/actions/app.go.tmpl | 11 - .../nested/locales/admin/widgets.en-us.yaml | 6 - .../templates/admin/widgets/_form.plush.html | 3 - .../templates/admin/widgets/edit.plush.html | 8 - .../templates/admin/widgets/index.plush.html | 33 - .../templates/admin/widgets/new.plush.html | 8 - .../templates/admin/widgets/show.plush.html | 23 - genny/resource/actions.go | 40 - genny/resource/models.go | 35 - genny/resource/options.go | 46 - genny/resource/options_test.go | 20 - genny/resource/presenter.go | 14 - genny/resource/resource-packr.go | 8 - genny/resource/resource.go | 69 - genny/resource/resource_test.go | 256 - .../core/locales/folder-name.en-us.yaml.tmpl | 6 - .../folder-name/_form.plush.html.tmpl | 13 - .../folder-name/edit.plush.html.tmpl | 8 - .../folder-name/index.plush.html.tmpl | 41 - .../templates/folder-name/new.plush.html.tmpl | 8 - .../folder-name/show.plush.html.tmpl | 24 - .../standard/actions/resource-name.go.tmpl | 19 - .../actions/resource-name_test.go.tmpl | 12 - .../use_model/actions/resource-name.go.tmpl | 264 - .../actions/resource-name_test.go.tmpl | 7 - genny/vcs/options.go | 36 - genny/vcs/options_test.go | 20 - genny/vcs/templates/ignore.tmpl | 27 - genny/vcs/vcs-packr.go | 8 - genny/vcs/vcs.go | 42 - genny/vcs/vcs_test.go | 41 - go.mod | 16 +- go.sum | 818 +-- install.sh | 385 -- packrd/packed-packr.go | 232 - runtime/version.go | 2 +- wrappers_test.go | 16 +- 345 files changed, 56 insertions(+), 22299 deletions(-) delete mode 100644 .github/workflows/release.yml delete mode 100644 .goreleaser.yml delete mode 100644 buffalo/cmd/build.go delete mode 100644 buffalo/cmd/destroy.go delete mode 100644 buffalo/cmd/destroy/action.go delete mode 100644 buffalo/cmd/destroy/mailer.go delete mode 100644 buffalo/cmd/destroy/resource.go delete mode 100644 buffalo/cmd/dev.go delete mode 100644 buffalo/cmd/events.go delete mode 100644 buffalo/cmd/filetests/apiapp.json delete mode 100644 buffalo/cmd/filetests/destroy_action_all.json delete mode 100644 buffalo/cmd/filetests/destroy_mailer_all.json delete mode 100644 buffalo/cmd/filetests/destroy_model_all.json delete mode 100644 buffalo/cmd/filetests/destroy_resource_all.json delete mode 100644 buffalo/cmd/filetests/fix_old_app.json delete mode 100644 buffalo/cmd/filetests/generate_action_all.json delete mode 100644 buffalo/cmd/filetests/generate_action_existing.json delete mode 100644 buffalo/cmd/filetests/generate_action_skip_template.json delete mode 100644 buffalo/cmd/filetests/generate_action_with_method.json delete mode 100644 buffalo/cmd/filetests/generate_mailer.json delete mode 100644 buffalo/cmd/filetests/generate_nested_task.json delete mode 100644 buffalo/cmd/filetests/generate_plain_task.json delete mode 100644 buffalo/cmd/filetests/generate_resource_irregular.json delete mode 100644 buffalo/cmd/filetests/generate_resource_nested_api.json delete mode 100644 buffalo/cmd/filetests/generate_resource_nested_model_name_api.json delete mode 100644 buffalo/cmd/filetests/generate_resource_nested_model_name_web.json delete mode 100644 buffalo/cmd/filetests/generate_resource_nested_web.json delete mode 100644 buffalo/cmd/filetests/generate_resource_plural.json delete mode 100644 buffalo/cmd/filetests/generate_resource_singular.json delete mode 100644 buffalo/cmd/filetests/generate_underscore.json delete mode 100644 buffalo/cmd/filetests/goth.json delete mode 100644 buffalo/cmd/filetests/new_travis.json delete mode 100644 buffalo/cmd/filetests/no_assets_build.json delete mode 100644 buffalo/cmd/filetests/resource_model_migration.json delete mode 100644 buffalo/cmd/filetests/resource_skip_model.json delete mode 100644 buffalo/cmd/filetests/resource_use_model.json delete mode 100644 buffalo/cmd/filetests/skip_dep.json delete mode 100644 buffalo/cmd/fix.go delete mode 100644 buffalo/cmd/fix/deprecations.go delete mode 100644 buffalo/cmd/fix/docker.go delete mode 100644 buffalo/cmd/fix/fix.go delete mode 100644 buffalo/cmd/fix/imports.go delete mode 100644 buffalo/cmd/fix/middleware.go delete mode 100644 buffalo/cmd/fix/npm.go delete mode 100644 buffalo/cmd/fix/packr.go delete mode 100644 buffalo/cmd/fix/plugins.go delete mode 100644 buffalo/cmd/fix/plush.go delete mode 100644 buffalo/cmd/fix/runner.go delete mode 100644 buffalo/cmd/fix/tools.go delete mode 100644 buffalo/cmd/fix/webpack.go delete mode 100644 buffalo/cmd/generate.go delete mode 100644 buffalo/cmd/generate/action.go delete mode 100644 buffalo/cmd/generate/mailer.go delete mode 100644 buffalo/cmd/generate/resource.go delete mode 100644 buffalo/cmd/generate/task.go delete mode 100644 buffalo/cmd/info.go delete mode 100644 buffalo/cmd/internal/integration/build_test.go delete mode 100644 buffalo/cmd/internal/integration/integration_test.go delete mode 100644 buffalo/cmd/internal/integration/new_test.go delete mode 100644 buffalo/cmd/new.go delete mode 100644 buffalo/cmd/new_test.go delete mode 100644 buffalo/cmd/plugins.go delete mode 100644 buffalo/cmd/plugins/add.go delete mode 100644 buffalo/cmd/plugins/available.go delete mode 100644 buffalo/cmd/plugins/cache.go delete mode 100644 buffalo/cmd/plugins/encode.go delete mode 100644 buffalo/cmd/plugins/install.go delete mode 100644 buffalo/cmd/plugins/internal/cache/build.go delete mode 100644 buffalo/cmd/plugins/internal/cache/clean.go delete mode 100644 buffalo/cmd/plugins/internal/cache/list.go delete mode 100644 buffalo/cmd/plugins/list.go delete mode 100644 buffalo/cmd/plugins/listen.go delete mode 100644 buffalo/cmd/plugins/remove.go delete mode 100644 buffalo/cmd/root.go delete mode 100644 buffalo/cmd/routes.go delete mode 100644 buffalo/cmd/setup.go delete mode 100644 buffalo/cmd/task.go delete mode 100644 buffalo/cmd/test.go delete mode 100644 buffalo/cmd/test_test.go delete mode 100644 buffalo/cmd/version.go delete mode 100644 buffalo/cmd/version_test.go delete mode 100644 buffalo/main.go delete mode 100644 genny/actions/_fixtures/inputs/clean/actions/app.go delete mode 100644 genny/actions/_fixtures/inputs/existing/actions/app.go.tmpl delete mode 100644 genny/actions/_fixtures/inputs/existing/actions/user.go.tmpl delete mode 100644 genny/actions/_fixtures/inputs/existing/actions/user_test.go.tmpl delete mode 100644 genny/actions/_fixtures/inputs/existing/templates/user/edit.plush.html delete mode 100644 genny/actions/_fixtures/outputs/clean/actions/app.go.tmpl delete mode 100644 genny/actions/_fixtures/outputs/clean/actions/user.go.tmpl delete mode 100644 genny/actions/_fixtures/outputs/clean/actions/user_test.go.tmpl delete mode 100644 genny/actions/_fixtures/outputs/clean/templates/user/index.plush.html delete mode 100644 genny/actions/_fixtures/outputs/existing/actions/app.go.tmpl delete mode 100644 genny/actions/_fixtures/outputs/existing/actions/user.go.tmpl delete mode 100644 genny/actions/_fixtures/outputs/existing/actions/user_test.go.tmpl delete mode 100644 genny/actions/_fixtures/outputs/existing/templates/user/edit.plush.html delete mode 100644 genny/actions/_fixtures/outputs/existing/templates/user/show.plush.html delete mode 100644 genny/actions/_fixtures/outputs/multi/actions/app.go.tmpl delete mode 100644 genny/actions/_fixtures/outputs/multi/actions/user.go.tmpl delete mode 100644 genny/actions/_fixtures/outputs/multi/actions/user_test.go.tmpl delete mode 100644 genny/actions/_fixtures/outputs/multi/templates/user/edit.plush.html delete mode 100644 genny/actions/_fixtures/outputs/multi/templates/user/show.plush.html delete mode 100644 genny/actions/actions-packr.go delete mode 100644 genny/actions/actions.go delete mode 100644 genny/actions/actions_test.go delete mode 100644 genny/actions/build_actions.go delete mode 100644 genny/actions/build_templates.go delete mode 100644 genny/actions/build_tests.go delete mode 100644 genny/actions/options.go delete mode 100644 genny/actions/options_test.go delete mode 100644 genny/actions/presenter.go delete mode 100644 genny/actions/templates/actions.go.tmpl delete mode 100644 genny/actions/templates/actions_header.go.tmpl delete mode 100644 genny/actions/templates/test.go.tmpl delete mode 100644 genny/actions/templates/tests_header.go.tmpl delete mode 100644 genny/actions/templates/view.plush.html.tmpl delete mode 100644 genny/add/add.go delete mode 100644 genny/add/add_test.go delete mode 100644 genny/add/options.go delete mode 100644 genny/add/options_test.go delete mode 100644 genny/assets/standard/options.go delete mode 100644 genny/assets/standard/standard-packr.go delete mode 100644 genny/assets/standard/standard.go delete mode 100644 genny/assets/standard/standard_test.go delete mode 100644 genny/assets/standard/templates/public/assets/application.css.tmpl delete mode 100644 genny/assets/standard/templates/public/assets/application.js.tmpl delete mode 100644 genny/assets/standard/templates/public/assets/buffalo.css.tmpl delete mode 100644 genny/assets/standard/templates/public/assets/images/favicon.ico.tmpl delete mode 100644 genny/assets/standard/templates/public/assets/images/logo.svg.tmpl delete mode 100644 genny/assets/webpack/options.go delete mode 100644 genny/assets/webpack/templates/-dot-babelrc.tmpl delete mode 100644 genny/assets/webpack/templates/assets/css/_buffalo.scss.tmpl delete mode 100644 genny/assets/webpack/templates/assets/css/application.scss.tmpl delete mode 100644 genny/assets/webpack/templates/assets/images/favicon.ico.tmpl delete mode 100644 genny/assets/webpack/templates/assets/images/logo.svg delete mode 100644 genny/assets/webpack/templates/assets/js/application.js.tmpl delete mode 100644 genny/assets/webpack/templates/package.json.tmpl delete mode 100644 genny/assets/webpack/templates/postcss.config.js.tmpl delete mode 100644 genny/assets/webpack/templates/public/assets/-dot-keep.tmpl delete mode 100644 genny/assets/webpack/templates/webpack.config.js.tmpl delete mode 100644 genny/assets/webpack/webpack-packr.go delete mode 100644 genny/assets/webpack/webpack.go delete mode 100644 genny/assets/webpack/webpack_test.go delete mode 100644 genny/build/_fixtures/coke/README.md delete mode 100644 genny/build/_fixtures/coke/actions/actions_test.go delete mode 100644 genny/build/_fixtures/coke/actions/app.go delete mode 100644 genny/build/_fixtures/coke/actions/home.go delete mode 100644 genny/build/_fixtures/coke/actions/home_test.go delete mode 100644 genny/build/_fixtures/coke/actions/render.go delete mode 100644 genny/build/_fixtures/coke/assets/css/_buffalo.scss delete mode 100644 genny/build/_fixtures/coke/assets/css/application.scss delete mode 100644 genny/build/_fixtures/coke/assets/images/favicon.ico delete mode 100644 genny/build/_fixtures/coke/assets/images/logo.svg delete mode 100644 genny/build/_fixtures/coke/assets/js/application.js delete mode 100644 genny/build/_fixtures/coke/config/buffalo-app.toml delete mode 100644 genny/build/_fixtures/coke/config/buffalo-plugins.toml delete mode 100644 genny/build/_fixtures/coke/config/database.yml delete mode 100644 genny/build/_fixtures/coke/fixtures/sample.toml delete mode 100644 genny/build/_fixtures/coke/grifts/db.go delete mode 100644 genny/build/_fixtures/coke/grifts/init.go delete mode 100644 genny/build/_fixtures/coke/inflections.json delete mode 100644 genny/build/_fixtures/coke/locales/all.en-us.yaml delete mode 100644 genny/build/_fixtures/coke/main.go delete mode 100644 genny/build/_fixtures/coke/models/models.go delete mode 100644 genny/build/_fixtures/coke/models/models_test.go delete mode 100644 genny/build/_fixtures/coke/package.json delete mode 100644 genny/build/_fixtures/coke/public/assets/.keep delete mode 100644 genny/build/_fixtures/coke/public/robots.txt delete mode 100644 genny/build/_fixtures/coke/templates/_flash.html delete mode 100644 genny/build/_fixtures/coke/templates/application.html delete mode 100644 genny/build/_fixtures/coke/templates/index.html delete mode 100644 genny/build/_fixtures/coke/webpack.config.js delete mode 100644 genny/build/_fixtures/coke/yarn.lock delete mode 100644 genny/build/_fixtures/template_validator/bad/a.html delete mode 100644 genny/build/_fixtures/template_validator/bad/b.md delete mode 100644 genny/build/apkg.go delete mode 100644 genny/build/apkg_test.go delete mode 100644 genny/build/archived_assets.go delete mode 100644 genny/build/assets.go delete mode 100644 genny/build/assets_test.go delete mode 100644 genny/build/bin.go delete mode 100644 genny/build/bin_test.go delete mode 100644 genny/build/build.go delete mode 100644 genny/build/build_deps.go delete mode 100644 genny/build/build_deps_test.go delete mode 100644 genny/build/build_test.go delete mode 100644 genny/build/cleanup.go delete mode 100644 genny/build/cleanup_test.go delete mode 100644 genny/build/events.go delete mode 100644 genny/build/options.go delete mode 100644 genny/build/options_test.go delete mode 100644 genny/build/template_walker.go delete mode 100644 genny/build/templates/a/aa.go.plush delete mode 100644 genny/build/templates/buffalo_build_main.go.plush delete mode 100644 genny/build/templates/migrations/-dot-pop-tmp.md delete mode 100644 genny/build/transform_main.go delete mode 100644 genny/build/transform_main_test.go delete mode 100644 genny/build/validate.go delete mode 100644 genny/build/validate_test.go delete mode 100644 genny/ci/ci-packr.go delete mode 100644 genny/ci/ci.go delete mode 100644 genny/ci/ci_test.go delete mode 100644 genny/ci/options.go delete mode 100644 genny/ci/options_test.go delete mode 100644 genny/ci/templates/-dot-circleci/config.yml.tmpl delete mode 100644 genny/ci/templates/-dot-gitlab-ci-no-pop.yml.tmpl delete mode 100644 genny/ci/templates/-dot-gitlab-ci.yml.tmpl delete mode 100644 genny/ci/templates/-dot-travis.yml.tmpl delete mode 100644 genny/docker/docker-packr.go delete mode 100644 genny/docker/docker.go delete mode 100644 genny/docker/docker_test.go delete mode 100644 genny/docker/options.go delete mode 100644 genny/docker/options_test.go delete mode 100644 genny/docker/templates/common/-dot-dockerignore.tmpl delete mode 100644 genny/docker/templates/multi/Dockerfile.tmpl delete mode 100644 genny/docker/templates/standard/Dockerfile.tmpl delete mode 100644 genny/grift/grift.go delete mode 100644 genny/grift/grift_test.go delete mode 100644 genny/grift/options.go delete mode 100644 genny/grift/templates.go delete mode 100644 genny/info/app.go delete mode 100644 genny/info/app_test.go delete mode 100644 genny/info/config.go delete mode 100644 genny/info/config_test.go delete mode 100644 genny/info/info.go delete mode 100644 genny/info/info_test.go delete mode 100644 genny/info/options.go delete mode 100644 genny/info/options_test.go delete mode 100644 genny/info/pkg.go delete mode 100644 genny/info/pkg_test.go delete mode 100644 genny/info/templates/example.txt delete mode 100644 genny/mail/init/templates/mailers/mailers.go.tmpl delete mode 100644 genny/mail/init/templates/templates/mail/layout.plush.html.tmpl delete mode 100644 genny/mail/mail-packr.go delete mode 100644 genny/mail/mail.go delete mode 100644 genny/mail/mail_test.go delete mode 100644 genny/mail/options.go delete mode 100644 genny/newapp/api/api-packr.go delete mode 100644 genny/newapp/api/api.go delete mode 100644 genny/newapp/api/api_test.go delete mode 100644 genny/newapp/api/options.go delete mode 100644 genny/newapp/api/options_test.go delete mode 100644 genny/newapp/api/templates/actions/app.go.tmpl delete mode 100644 genny/newapp/api/templates/actions/home.go.tmpl delete mode 100644 genny/newapp/api/templates/actions/home_test.go.tmpl delete mode 100644 genny/newapp/api/templates/actions/render.go.tmpl delete mode 100644 genny/newapp/api/templates/locales/all.en-us.yaml.tmpl delete mode 100644 genny/newapp/core/core-packr.go delete mode 100644 genny/newapp/core/core.go delete mode 100644 genny/newapp/core/core_test.go delete mode 100644 genny/newapp/core/errors.go delete mode 100644 genny/newapp/core/options.go delete mode 100644 genny/newapp/core/options_test.go delete mode 100644 genny/newapp/core/root.go delete mode 100644 genny/newapp/core/templates/-dot-codeclimate.yml.tmpl delete mode 100644 genny/newapp/core/templates/-dot-env.tmpl delete mode 100644 genny/newapp/core/templates/README.md.tmpl delete mode 100644 genny/newapp/core/templates/actions/actions_test.go.tmpl delete mode 100644 genny/newapp/core/templates/actions/app.go.tmpl delete mode 100644 genny/newapp/core/templates/actions/home.go.tmpl delete mode 100644 genny/newapp/core/templates/actions/home_test.go.tmpl delete mode 100644 genny/newapp/core/templates/actions/render.go.tmpl delete mode 100644 genny/newapp/core/templates/fixtures/sample.toml.tmpl delete mode 100644 genny/newapp/core/templates/grifts/init.go.tmpl delete mode 100644 genny/newapp/core/templates/inflections.json.tmpl delete mode 100644 genny/newapp/core/templates/main.go.tmpl delete mode 100644 genny/newapp/web/options.go delete mode 100644 genny/newapp/web/options_test.go delete mode 100644 genny/newapp/web/templates/actions/app.go.tmpl delete mode 100644 genny/newapp/web/templates/actions/home.go.tmpl delete mode 100644 genny/newapp/web/templates/actions/home_test.go.tmpl delete mode 100644 genny/newapp/web/templates/actions/render.go.tmpl delete mode 100644 genny/newapp/web/templates/locales/all.en-us.yaml.tmpl delete mode 100644 genny/newapp/web/templates/public/robots.txt.tmpl delete mode 100644 genny/newapp/web/templates/templates/_flash.plush.html.tmpl delete mode 100644 genny/newapp/web/templates/templates/application.plush.html.tmpl delete mode 100644 genny/newapp/web/templates/templates/index.plush.html.tmpl delete mode 100644 genny/newapp/web/web-packr.go delete mode 100644 genny/newapp/web/web.go delete mode 100644 genny/newapp/web/web_test.go delete mode 100644 genny/plugins/install/install.go delete mode 100644 genny/plugins/install/install_test.go delete mode 100644 genny/plugins/install/options.go delete mode 100644 genny/plugins/install/options_test.go delete mode 100644 genny/refresh/options.go delete mode 100644 genny/refresh/refresh-packr.go delete mode 100644 genny/refresh/refresh.go delete mode 100644 genny/refresh/refresh_test.go delete mode 100644 genny/refresh/templates/-dot-buffalo.dev.yml.plush delete mode 100644 genny/resource/_fixtures/coke/actions/app.go.tmpl delete mode 100644 genny/resource/_fixtures/default/actions/app.go.tmpl delete mode 100644 genny/resource/_fixtures/default/actions/widgets.go.tmpl delete mode 100644 genny/resource/_fixtures/default/actions/widgets_test.go.tmpl delete mode 100644 genny/resource/_fixtures/default/locales/widgets.en-us.yaml delete mode 100644 genny/resource/_fixtures/default/templates/widgets/_form.plush.html delete mode 100644 genny/resource/_fixtures/default/templates/widgets/edit.plush.html delete mode 100644 genny/resource/_fixtures/default/templates/widgets/index.plush.html delete mode 100644 genny/resource/_fixtures/default/templates/widgets/new.plush.html delete mode 100644 genny/resource/_fixtures/default/templates/widgets/show.plush.html delete mode 100644 genny/resource/_fixtures/nested/actions/admin_widgets.go.tmpl delete mode 100644 genny/resource/_fixtures/nested/actions/admin_widgets_test.go.tmpl delete mode 100644 genny/resource/_fixtures/nested/actions/app.go.tmpl delete mode 100644 genny/resource/_fixtures/nested/locales/admin/widgets.en-us.yaml delete mode 100644 genny/resource/_fixtures/nested/templates/admin/widgets/_form.plush.html delete mode 100644 genny/resource/_fixtures/nested/templates/admin/widgets/edit.plush.html delete mode 100644 genny/resource/_fixtures/nested/templates/admin/widgets/index.plush.html delete mode 100644 genny/resource/_fixtures/nested/templates/admin/widgets/new.plush.html delete mode 100644 genny/resource/_fixtures/nested/templates/admin/widgets/show.plush.html delete mode 100644 genny/resource/actions.go delete mode 100644 genny/resource/models.go delete mode 100644 genny/resource/options.go delete mode 100644 genny/resource/options_test.go delete mode 100644 genny/resource/presenter.go delete mode 100644 genny/resource/resource-packr.go delete mode 100644 genny/resource/resource.go delete mode 100644 genny/resource/resource_test.go delete mode 100644 genny/resource/templates/core/locales/folder-name.en-us.yaml.tmpl delete mode 100644 genny/resource/templates/core/templates/folder-name/_form.plush.html.tmpl delete mode 100644 genny/resource/templates/core/templates/folder-name/edit.plush.html.tmpl delete mode 100644 genny/resource/templates/core/templates/folder-name/index.plush.html.tmpl delete mode 100644 genny/resource/templates/core/templates/folder-name/new.plush.html.tmpl delete mode 100644 genny/resource/templates/core/templates/folder-name/show.plush.html.tmpl delete mode 100644 genny/resource/templates/standard/actions/resource-name.go.tmpl delete mode 100644 genny/resource/templates/standard/actions/resource-name_test.go.tmpl delete mode 100644 genny/resource/templates/use_model/actions/resource-name.go.tmpl delete mode 100644 genny/resource/templates/use_model/actions/resource-name_test.go.tmpl delete mode 100644 genny/vcs/options.go delete mode 100644 genny/vcs/options_test.go delete mode 100644 genny/vcs/templates/ignore.tmpl delete mode 100644 genny/vcs/vcs-packr.go delete mode 100644 genny/vcs/vcs.go delete mode 100644 genny/vcs/vcs_test.go delete mode 100644 install.sh delete mode 100644 packrd/packed-packr.go diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md index b1dbb1c03..71b66e869 100644 --- a/.github/CONTRIBUTING.md +++ b/.github/CONTRIBUTING.md @@ -2,23 +2,22 @@ First, thank you so much for wanting to contribute! It means so much that you care enough to want to contribute. We appreciate every PR from the smallest of typos to the be biggest of features. -## First time committing to a Go Repo? +## First time committing to a go Repo? -Support for Go Modules was introduced in [Release v0.13.0-beta.1](https://github.com/gobuffalo/buffalo/releases/tag/v0.13.0-beta.1), and you can now use them to easily set up a development environment. The steps involve: +Support for go Modules was introduced in [Release v0.13.0-beta.1](https://github.com/gobuffalo/buffalo/releases/tag/v0.13.0-beta.1), and you can now use them to easily set up a development environment. The steps involve: 1. Fork the repo 2. Clone the repo to any location in your work station -3. Add a `GO111MODULE` environment variable with `export GO111MODULE=on` -4. Run `make deps` to install dependencies -5. Read the contribution guideline below +3. Run `go get` to install dependencies +4. Read the contribution guideline below -## Contributing to Buffalo +## How to contribute 1. Check [https://github.com/gobuffalo/buffalo/issues](https://github.com/gobuffalo/buffalo/issues) to make sure you're not working on a duplicate issue or PR. 2. If you want to implement a new feature that doesn't have an issue open, please open one and ask for feedback on the feature before spending a lot of time working on it. It's possible the feature has already been discussed, or it's out of scope, or some other reason that might later prevent a PR from being accepted. The [#buffalo](https://gobuffalo.io/docs/slack) channel on gophers.slack.com is a great place to seek this kind of guidance. 3. Write your feature/fix and make sure to include tests. Tests are an **absolute** requirement for any pull request. Please make sure to use the same testing style and libraries as the rest of the tests. 4. Make sure tests run when doing `go test ./...`. You may need to do `go get -t ./...` first to get the testing dependencies. -5. (Optional) There is a much longer set of integration tests that can be run. These will be run by Travis-CI when you open a PR. If you want to run them locally, you can by running `docker build .`. +5. (Optional) There is a much longer set of integration tests that can be run. These will be run by github actions when you open a PR. If you want to run them locally, you can by running `docker build .`. Feel free to ask for help, but don't target a specific person (unless you're replying to this person). e.g. don't @ markbates, but @ gobuffalo/core-managers instead. diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml deleted file mode 100644 index bb4e9a03a..000000000 --- a/.github/workflows/release.yml +++ /dev/null @@ -1,28 +0,0 @@ -name: Release -on: - release: - types: - - published - -jobs: - release: - name: Release - runs-on: ubuntu-latest - steps: - - - name: Set up Go 1.15 - uses: actions/setup-go@v1 - with: - go-version: 1.15 - id: go - - - name: Checkout Code - uses: actions/checkout@master - - - name: Run GoReleaser - env: - GITHUB_TOKEN: ${{ secrets.GORELEASER_GITHUB_TOKEN }} - uses: goreleaser/goreleaser-action@v1 - with: - version: latest - args: release --rm-dist diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index e4ac63566..619c466d0 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -7,20 +7,25 @@ on: jobs: tests-off: - name: ${{matrix.go-version}} ${{matrix.os}} + name: ${{ matrix.os }} - Go v${{ matrix.go-version }} runs-on: ${{ matrix.os }} strategy: matrix: - go-version: [1.15.x, 1.16.x] - os: [macos-latest, windows-latest, ubuntu-latest] - env: - GO111MODULE: on + go-version: + - "1.16.x" + - "1.17.x" + os: + - "macos-latest" + - "windows-latest" + - "ubuntu-latest" + steps: - - name: Checkout code - uses: actions/checkout@v1 + - uses: actions/checkout@v2 + - name: Setup Go ${{ matrix.go }} + uses: actions/setup-go@v2 with: - fetch-depth: 1 - path: src/github.com/${{ github.repository }} + go-version: ${{ matrix.go-version }} + - name: Test run: | go mod tidy -v diff --git a/.goreleaser.yml b/.goreleaser.yml deleted file mode 100644 index 6e132e7bb..000000000 --- a/.goreleaser.yml +++ /dev/null @@ -1,45 +0,0 @@ -builds: - - - main: ./buffalo/main.go - env: - - CGO_ENABLED=0 - ldflags: - - -s -w -X "github.com/gobuffalo/buffalo/runtime.Version={{.Tag}}" - goos: - - darwin - - linux - - windows - goarch: - - amd64 - - 386 - - arm - - arm64 - goarm: - - 6 - - 7 -archives: - - - replacements: - '386': i386 - darwin: Darwin - linux: Linux - windows: Windows - amd64: x86_64 -checksum: - name_template: checksums.txt -snapshot: - name_template: '{{ .Tag }}-next' -changelog: - sort: asc - filters: - exclude: - - '^docs:' - - '^test:' -brews: - - - name: 'buffalo' - tap: - owner: 'gobuffalo' - name: 'homebrew-tap' - install: | - bin.install "buffalo" diff --git a/Dockerfile b/Dockerfile index c60090f43..ae5c2cb96 100644 --- a/Dockerfile +++ b/Dockerfile @@ -3,7 +3,6 @@ FROM gobuffalo/buffalo:latest ARG CODECOV_TOKEN ENV GOPROXY https://proxy.golang.org -ENV GO111MODULE on ENV BP /src/buffalo RUN rm -rf $BP diff --git a/Dockerfile.build b/Dockerfile.build index e4b0a5044..26d4c194e 100644 --- a/Dockerfile.build +++ b/Dockerfile.build @@ -1,11 +1,8 @@ -FROM golang:latest +FROM golang:1.17 EXPOSE 3000 ENV GOPROXY=https://proxy.golang.org -ENV GO111MODULE=on - -RUN go version RUN apt-get update \ && apt-get install -y -q build-essential sqlite3 libsqlite3-dev postgresql libpq-dev vim @@ -32,9 +29,8 @@ RUN npm install -g --no-progress yarn \ # Install golangci RUN curl -sfL https://install.goreleaser.com/github.com/golangci/golangci-lint.sh | sh -s -- -b $(go env GOPATH)/bin v1.24.0 # Installing buffalo binary -RUN curl -sf https://gobinaries.com/gobuffalo/buffalo/buffalo@v0.16.26 | sh +RUN go install github.com/gobuffalo/cli/cmd/buffalo@latest RUN go get github.com/gobuffalo/buffalo-pop/v2 -RUN buffalo version RUN mkdir /src WORKDIR /src diff --git a/Dockerfile.slim.build b/Dockerfile.slim.build index 121132278..6ff5226bc 100644 --- a/Dockerfile.slim.build +++ b/Dockerfile.slim.build @@ -1,7 +1,7 @@ -FROM golang:alpine +FROM golang:1.17-alpine + EXPOSE 3000 -ENV GO111MODULE=on ENV GOPROXY=https://proxy.golang.org RUN apk add --no-cache --upgrade apk-tools \ @@ -16,10 +16,9 @@ RUN npm i -g --no-progress yarn \ && yarn config set yarn-offline-mirror /npm-packages-offline-cache \ && yarn config set yarn-offline-mirror-pruning true -# Pulling docker binary from releases -RUN curl -sf https://gobinaries.com/gobuffalo/buffalo/buffalo@v0.16.26 | sh +# Installing buffalo binary +RUN go install github.com/gobuffalo/cli/cmd/buffalo@latest RUN go get github.com/gobuffalo/buffalo-pop/v2 -RUN buffalo version RUN mkdir /src WORKDIR /src diff --git a/Makefile b/Makefile index 2a0350c0f..388f671ec 100644 --- a/Makefile +++ b/Makefile @@ -7,17 +7,10 @@ install: deps make tidy tidy: -ifeq ($(GO111MODULE),on) $(GO_BIN) mod tidy -else - echo skipping go mod tidy -endif deps: $(GO_BIN) get github.com/gobuffalo/release -ifneq ($(GO111MODULE),on) - $(GO_BIN) get -tags ${TAGS} -u -t ./... -endif make tidy build: diff --git a/README.md b/README.md index d90e8102a..aa320768c 100644 --- a/README.md +++ b/README.md @@ -19,13 +19,12 @@ Buffalo **isn't just a framework**; it's a holistic web development environment ## ⚠️ Important -Buffalo works only with Go -[modules](https://blog.golang.org/using-go-modules). `GOPATH` mode is likely to break most of the functionality of the Buffalo eco-system. Please see [this blog post](https://blog.gobuffalo.io/the-road-to-1-0-requiring-modules-5672c6b015e5) for more information. +Buffalo works only with Go [modules](https://blog.golang.org/using-go-modules). `GOPATH` mode is likely to break most of the functionality of the Buffalo eco-system. Please see [this blog post](https://blog.gobuffalo.io/the-road-to-1-0-requiring-modules-5672c6b015e5) for more information. Also, the Buffalo team actively gives support to the last 2 versions of Go, which at the moment are: -- 1.15.x - 1.16.x +- 1.17.x While Buffalo `may` work on older versions, we encourage you to upgrade to latest 2 versions of Go for a better development experience. @@ -34,9 +33,10 @@ While Buffalo `may` work on older versions, we encourage you to upgrade to lates Please visit [http://gobuffalo.io](http://gobuffalo.io) for the latest documentation, examples, and more. ### Quick Start -* [Installation](http://gobuffalo.io/docs/installation) -* [Create a new project](http://gobuffalo.io/docs/new-project) -* [Examples](http://gobuffalo.io/docs/examples) + +- [Installation](http://gobuffalo.io/docs/installation) +- [Create a new project](http://gobuffalo.io/docs/new-project) +- [Examples](http://gobuffalo.io/docs/examples) ## Shoulders of Giants @@ -58,7 +58,7 @@ Buffalo would not be possible if not for all of the great projects it depends on [github.com/gobuffalo/pop](https://github.com/gobuffalo/pop) - Accessing databases is nothing new in web applications. Pop, and its command line tool, Soda, were chosen because they strike a nice balance between simplifying common tasks, being idiomatic, and giving you the flexibility you need to build your app. Pop and Soda share the same core philosophies as Buffalo, so they were a natural choice. -### Sessions, Cookies, WebSockets, and more... +### Sessions, Cookies, WebSockets, and more [github.com/gorilla](https://github.com/gorilla) - The Gorilla toolkit is a great set of packages designed to improve upon the standard library for a variety of web-related packages. With these high-quality packages Buffalo can keep its "core" code to a minimum and focus on its goal of gluing them all together to make your life better. @@ -71,10 +71,11 @@ Oh, yeah, everyone wants benchmarks! What would a web framework be without its b First, thank you so much for wanting to contribute! It means so much that you care enough to want to contribute. We appreciate every PR from the smallest of typos to the be biggest of features. **Here are the core rules to respect**: -* If you have any question, please consider using the [Slack channel](https://gobuffalo.io/docs/slack) (*#buffalo*, *#buffalo_fr* or *#buffalo-dev* for contribution related questions) or [Stack Overflow](https://stackoverflow.com/questions/tagged/buffalo). We use GitHub issues for **bug reports and feature requests only**. -* All contributors of this project are working on their free time: be patient and kind. :) -* Consider opening an issue **BEFORE** creating a Pull request (PR): you won't lose your time on fixing non-existing bugs, or fixing the wrong bug. Also we can help you to produce the best PR! -* All PRs **MUST** be opened against the *development* branch. If you want to write an hot-fix, we'll first fix the *development* branch before moving the patch to *master* branch. + +- If you have any question, please consider using the [Slack channel](https://gobuffalo.io/docs/slack) (-#buffalo-, *#buffalo_fr* or *#buffalo-dev* for contribution related questions) or [Stack Overflow](https://stackoverflow.com/questions/tagged/buffalo). We use GitHub issues for **bug reports and feature requests only**. +- All contributors of this project are working on their free time: be patient and kind. :- +- Consider opening an issue **BEFORE** creating a Pull request (PR): you won't lose your -ime on fixing non-existing bugs, or fixing the wrong bug. Also we can help you to produce the best PR! +- All PRs **MUST** be opened against the *development* branch. If you want to write an ho--fix, we'll first fix the *development* branch before moving the patch to *master* branch. **WE WILL CLOSE ANY ISSUE OR PR NOT FOLLOWING THESE CORE RULES**. diff --git a/SHOULDERS.md b/SHOULDERS.md index c2f91351e..afac02772 100644 --- a/SHOULDERS.md +++ b/SHOULDERS.md @@ -4,7 +4,6 @@ github.com/gobuffalo/buffalo does not try to reinvent the wheel! Instead, it use Thank you to the following **GIANTS**: - * [cloud.google.com/go](https://godoc.org/cloud.google.com/go) * [dmitri.shuralyov.com/app/changes](https://godoc.org/dmitri.shuralyov.com/app/changes) diff --git a/buffalo/cmd/build.go b/buffalo/cmd/build.go deleted file mode 100644 index 9f75d89f7..000000000 --- a/buffalo/cmd/build.go +++ /dev/null @@ -1,167 +0,0 @@ -package cmd - -import ( - "bytes" - "context" - "log" - "os" - "os/exec" - "strings" - "time" - - "github.com/gobuffalo/buffalo/genny/build" - "github.com/gobuffalo/genny/v2" - "github.com/gobuffalo/logger" - "github.com/gobuffalo/meta" - "github.com/markbates/sigtx" - "github.com/spf13/cobra" -) - -var buildOptions = struct { - *build.Options - SkipAssets bool - SkipBuildDeps bool - Debug bool - Tags string - SkipTemplateValidation bool - DryRun bool - Verbose bool - bin string -}{ - Options: &build.Options{ - BuildTime: time.Now(), - }, -} - -var xbuildCmd = &cobra.Command{ - Use: "build", - Aliases: []string{"b", "bill", "install"}, - Short: "Build the application binary, including bundling of assets (packr & webpack)", - RunE: func(cmd *cobra.Command, args []string) error { - ctx, cancel := sigtx.WithCancel(context.Background(), os.Interrupt) - defer cancel() - - pwd, err := os.Getwd() - if err != nil { - return err - } - - buildOptions.App = meta.New(pwd) - if len(buildOptions.bin) > 0 { - buildOptions.App.Bin = buildOptions.bin - } - - buildOptions.Options.WithAssets = !buildOptions.SkipAssets - buildOptions.Options.WithBuildDeps = !buildOptions.SkipBuildDeps - - run := genny.WetRunner(ctx) - if buildOptions.DryRun { - run = genny.DryRunner(ctx) - } - - if buildOptions.Verbose || buildOptions.Debug { - lg := logger.New(logger.DebugLevel) - run.Logger = lg - // plog.Logger = lg - buildOptions.BuildFlags = append(buildOptions.BuildFlags, "-v") - } - - opts := buildOptions.Options - opts.BuildVersion = buildVersion(opts.BuildTime.Format(time.RFC3339)) - - if buildOptions.Tags != "" { - opts.Tags = append(opts.Tags, buildOptions.Tags) - } - - if !buildOptions.SkipTemplateValidation { - opts.TemplateValidators = append(opts.TemplateValidators, build.PlushValidator, build.GoTemplateValidator) - } - - if cmd.CalledAs() == "install" { - opts.GoCommand = "install" - } - clean := build.Cleanup(opts) - // defer clean(run) - defer func() { - if err := clean(run); err != nil { - log.Fatal("build:clean", err) - } - }() - if err := run.WithNew(build.New(opts)); err != nil { - return err - } - return run.Run() - }, -} - -func init() { - RootCmd.AddCommand(xbuildCmd) - - xbuildCmd.Flags().StringVarP(&buildOptions.bin, "output", "o", buildOptions.Bin, "set the name of the binary") - xbuildCmd.Flags().StringVarP(&buildOptions.Tags, "tags", "t", "", "compile with specific build tags") - xbuildCmd.Flags().BoolVarP(&buildOptions.ExtractAssets, "extract-assets", "e", false, "extract the assets and put them in a distinct archive") - xbuildCmd.Flags().BoolVarP(&buildOptions.SkipAssets, "skip-assets", "k", false, "skip running webpack and building assets") - xbuildCmd.Flags().BoolVarP(&buildOptions.SkipBuildDeps, "skip-build-deps", "", false, "skip building dependencies") - xbuildCmd.Flags().BoolVarP(&buildOptions.Static, "static", "s", false, "build a static binary using --ldflags '-linkmode external -extldflags \"-static\"'") - xbuildCmd.Flags().StringVar(&buildOptions.LDFlags, "ldflags", "", "set any ldflags to be passed to the go build") - xbuildCmd.Flags().BoolVarP(&buildOptions.Verbose, "verbose", "v", false, "print debugging information") - xbuildCmd.Flags().BoolVar(&buildOptions.DryRun, "dry-run", false, "runs the build 'dry'") - xbuildCmd.Flags().BoolVar(&buildOptions.SkipTemplateValidation, "skip-template-validation", false, "skip validating templates") - xbuildCmd.Flags().BoolVar(&buildOptions.CleanAssets, "clean-assets", false, "will delete public/assets before calling webpack") - xbuildCmd.Flags().StringVarP(&buildOptions.Environment, "environment", "", "development", "set the environment for the binary") - xbuildCmd.Flags().StringVar(&buildOptions.Mod, "mod", "", "-mod flag for go build") -} - -func buildVersion(version string) string { - vcs := buildOptions.VCS - - if len(vcs) == 0 { - return version - } - - ctx := context.Background() - run := genny.WetRunner(ctx) - if buildOptions.DryRun { - run = genny.DryRunner(ctx) - } - - _, err := exec.LookPath(vcs) - if err != nil { - run.Logger.Warnf("could not find %s; defaulting to version %s", vcs, version) - return vcs - } - - var cmd *exec.Cmd - switch vcs { - case "git": - // If .git folder does not exist return default version - if stat, err := os.Stat(".git"); err != nil || !stat.IsDir() { - run.Logger.Warnf("could not find .git folder; defaulting to version %s", version) - return version - } - - cmd = exec.Command("git", "rev-parse", "--short", "HEAD") - case "bzr": - cmd = exec.Command("bzr", "revno") - default: - run.Logger.Warnf("could not find %s; defaulting to version %s", vcs, version) - return vcs - } - - out := &bytes.Buffer{} - cmd.Stdout = out - run.WithRun(func(r *genny.Runner) error { - return r.Exec(cmd) - }) - - if err := run.Run(); err != nil { - run.Logger.Error(err) - return version - } - - if out.String() != "" { - return strings.TrimSpace(out.String()) - } - - return version -} diff --git a/buffalo/cmd/destroy.go b/buffalo/cmd/destroy.go deleted file mode 100644 index 1783529ae..000000000 --- a/buffalo/cmd/destroy.go +++ /dev/null @@ -1,24 +0,0 @@ -package cmd - -import ( - "github.com/gobuffalo/buffalo/buffalo/cmd/destroy" - "github.com/spf13/cobra" -) - -// DestroyCmd destroys generated code -var DestroyCmd = &cobra.Command{ - Use: "destroy", - Short: "Destroy generated components", - Aliases: []string{"d"}, -} - -func init() { - DestroyCmd.AddCommand(destroy.ResourceCmd) - DestroyCmd.AddCommand(destroy.ActionCmd) - DestroyCmd.AddCommand(destroy.MailerCmd) - - DestroyCmd.PersistentFlags().BoolVarP(&destroy.YesToAll, "yes", "y", false, "confirms all beforehand") - - decorate("destroy", DestroyCmd) - RootCmd.AddCommand(DestroyCmd) -} diff --git a/buffalo/cmd/destroy/action.go b/buffalo/cmd/destroy/action.go deleted file mode 100644 index e65b4a6d7..000000000 --- a/buffalo/cmd/destroy/action.go +++ /dev/null @@ -1,29 +0,0 @@ -package destroy - -import ( - "fmt" - - "github.com/gobuffalo/flect" - "github.com/spf13/cobra" -) - -//ActionCmd destroys passed action file -var ActionCmd = &cobra.Command{ - Use: "action [name]", - //Example: "resource cars", - Aliases: []string{"a"}, - Short: "Destroy action files", - RunE: func(cmd *cobra.Command, args []string) error { - if len(args) == 0 { - return fmt.Errorf("you need to provide a valid action file name in order to destroy it") - } - - name := args[0] - - //Generated actions keep the same name (not plural). - fileName := flect.Underscore(name) - - removeActions(fileName) - return nil - }, -} diff --git a/buffalo/cmd/destroy/mailer.go b/buffalo/cmd/destroy/mailer.go deleted file mode 100644 index 0e9269875..000000000 --- a/buffalo/cmd/destroy/mailer.go +++ /dev/null @@ -1,48 +0,0 @@ -package destroy - -import ( - "fmt" - "os" - "path/filepath" - - "github.com/gobuffalo/flect" - "github.com/sirupsen/logrus" - "github.com/spf13/cobra" -) - -// MailerCmd destroys a passed mailer -var MailerCmd = &cobra.Command{ - Use: "mailer [name]", - // Example: "mailer cars", - Aliases: []string{"l"}, - Short: "Destroy mailer files", - RunE: func(cmd *cobra.Command, args []string) error { - if len(args) == 0 { - return fmt.Errorf("you need to provide a valid mailer name in order to destroy it") - } - - name := args[0] - - removeMailer(name) - - return nil - }, -} - -func removeMailer(name string) { - if YesToAll || confirm("Want to remove mailer? (y/N)") { - mailerFileName := flect.Singularize(flect.Underscore(name)) - - files := []string{ - filepath.Join("mailers", fmt.Sprintf("%v.go", mailerFileName)), - filepath.Join("templates/mail", fmt.Sprintf("%v.html", mailerFileName)), - filepath.Join("templates/mail", fmt.Sprintf("%v.plush.html", mailerFileName)), - } - - for _, f := range files { - os.Remove(f) - logrus.Infof("- Deleted %v", f) - } - - } -} diff --git a/buffalo/cmd/destroy/resource.go b/buffalo/cmd/destroy/resource.go deleted file mode 100644 index 3a94328cc..000000000 --- a/buffalo/cmd/destroy/resource.go +++ /dev/null @@ -1,129 +0,0 @@ -package destroy - -import ( - "bufio" - "fmt" - "io/ioutil" - "os" - "path/filepath" - "strings" - - "github.com/gobuffalo/flect" - - "github.com/sirupsen/logrus" - "github.com/spf13/cobra" -) - -// YesToAll means not to ask when destroying but simply confirm all beforehand. -var YesToAll = false - -// ResourceCmd destroys a passed resource -var ResourceCmd = &cobra.Command{ - Use: "resource [name]", - // Example: "resource cars", - Aliases: []string{"r"}, - Short: "Destroy resource files", - RunE: func(cmd *cobra.Command, args []string) error { - if len(args) == 0 { - return fmt.Errorf("you need to provide a valid resource name in order to destroy it") - } - - name := args[0] - fileName := flect.Pluralize(flect.Underscore(name)) - - removeTemplates(fileName) - if err := removeActions(fileName); err != nil { - return err - } - - removeLocales(fileName) - removeModel(name) - removeMigrations(fileName) - - return nil - }, -} - -func confirm(msg string) bool { - reader := bufio.NewReader(os.Stdin) - fmt.Print(msg) - text, _ := reader.ReadString('\n') - - return (text == "y\n" || text == "Y\n") -} - -func removeTemplates(fileName string) { - if YesToAll || confirm("Want to remove templates? (y/N)") { - templatesFolder := filepath.Join("templates", fileName) - logrus.Infof("- Deleted %v folder", templatesFolder) - os.RemoveAll(templatesFolder) - } -} - -func removeActions(fileName string) error { - if YesToAll || confirm("Want to remove actions? (y/N)") { - logrus.Infof("- Deleted %v", fmt.Sprintf("actions/%v.go", fileName)) - os.Remove(filepath.Join("actions", fmt.Sprintf("%v.go", fileName))) - - logrus.Infof("- Deleted %v", fmt.Sprintf("actions/%v_test.go", fileName)) - os.Remove(filepath.Join("actions", fmt.Sprintf("%v_test.go", fileName))) - - content, err := ioutil.ReadFile(filepath.Join("actions", "app.go")) - if err != nil { - logrus.Warn("error reading app.go content") - return err - } - - resourceExpression := fmt.Sprintf("app.Resource(\"/%v\", %vResource{})", fileName, flect.Pascalize(fileName)) - newContents := strings.Replace(string(content), resourceExpression, "", -1) - - err = ioutil.WriteFile(filepath.Join("actions", "app.go"), []byte(newContents), 0) - if err != nil { - logrus.Error("error writing new app.go content") - return err - } - - logrus.Infof("- Deleted References for %v in actions/app.go", fileName) - } - - return nil -} - -func removeLocales(fileName string) { - if YesToAll || confirm("Want to remove locales? (y/N)") { - removeMatch("locales", fmt.Sprintf("%v.*.yaml", fileName)) - } -} - -func removeModel(name string) { - if YesToAll || confirm("Want to remove model? (y/N)") { - modelFileName := flect.Singularize(flect.Underscore(name)) - - os.Remove(filepath.Join("models", fmt.Sprintf("%v.go", modelFileName))) - os.Remove(filepath.Join("models", fmt.Sprintf("%v_test.go", modelFileName))) - - logrus.Infof("- Deleted %v", fmt.Sprintf("models/%v.go", modelFileName)) - logrus.Infof("- Deleted %v", fmt.Sprintf("models/%v_test.go", modelFileName)) - } -} - -func removeMigrations(fileName string) { - if YesToAll || confirm("Want to remove migrations? (y/N)") { - removeMatch("migrations", fmt.Sprintf("*_create_%v.up.*", fileName)) - removeMatch("migrations", fmt.Sprintf("*_create_%v.down.*", fileName)) - } -} - -func removeMatch(folder, pattern string) { - files, err := ioutil.ReadDir(folder) - if err == nil { - for _, f := range files { - matches, _ := filepath.Match(pattern, f.Name()) - if !f.IsDir() && matches { - path := filepath.Join(folder, f.Name()) - os.Remove(path) - logrus.Infof("- Deleted %v", path) - } - } - } -} diff --git a/buffalo/cmd/dev.go b/buffalo/cmd/dev.go deleted file mode 100644 index 7aae8e620..000000000 --- a/buffalo/cmd/dev.go +++ /dev/null @@ -1,150 +0,0 @@ -package cmd - -import ( - "context" - "fmt" - "os" - "os/exec" - "path/filepath" - "runtime" - "strings" - - "github.com/fatih/color" - "github.com/gobuffalo/buffalo/genny/assets/webpack" - rg "github.com/gobuffalo/buffalo/genny/refresh" - "github.com/gobuffalo/events" - "github.com/gobuffalo/genny/v2" - "github.com/gobuffalo/meta" - "github.com/markbates/refresh/refresh" - "github.com/sirupsen/logrus" - "github.com/spf13/cobra" - "golang.org/x/sync/errgroup" -) - -func init() { - events.NamedListen("buffalo:dev", func(e events.Event) { - if strings.HasPrefix(e.Kind, "refresh:") { - e.Kind = strings.Replace(e.Kind, "refresh:", "buffalo:dev:", 1) - events.Emit(e) - } - }) -} - -var devOptions = struct { - Debug bool -}{} - -// devCmd represents the dev command -var devCmd = &cobra.Command{ - Use: "dev", - Short: "Run the Buffalo app in 'development' mode", - Long: `Run the Buffalo app in 'development' mode. -This includes rebuilding the application when files change. -This behavior can be changed in .buffalo.dev.yml file.`, - RunE: func(c *cobra.Command, args []string) error { - if runtime.GOOS == "windows" { - color.NoColor = true - } - defer func() { - msg := "There was a problem starting the dev server, Please review the troubleshooting docs: %s\n" - cause := "Unknown" - if r := recover(); r != nil { - if err, ok := r.(error); ok { - cause = err.Error() - } - } - logrus.Errorf(msg, cause) - }() - os.Setenv("GO_ENV", "development") - - ctx, cancel := context.WithCancel(context.Background()) - defer cancel() - - wg, ctx := errgroup.WithContext(ctx) - - wg.Go(func() error { - return startDevServer(ctx, args) - }) - - wg.Go(func() error { - app := meta.New(".") - if !app.WithNodeJs { - // No need to run dev script - return nil - } - return runDevScript(ctx, app) - }) - - err := wg.Wait() - if err != context.Canceled { - return err - } - return nil - }, -} - -func runDevScript(ctx context.Context, app meta.App) error { - tool := "yarnpkg" - if !app.WithYarn { - tool = "npm" - } - - if _, err := exec.LookPath(tool); err != nil { - return fmt.Errorf("could not find %s tool", tool) - } - - // make sure that the node_modules folder is properly "installed" - if _, err := os.Stat(filepath.Join(app.Root, "node_modules")); err != nil { - cmd := exec.CommandContext(ctx, tool, "install") - cmd.Stderr = os.Stderr - cmd.Stdout = os.Stdout - if err := cmd.Run(); err != nil { - return err - } - } - - cmd := exec.CommandContext(ctx, tool, "run", "dev") - if _, err := app.NodeScript("dev"); err != nil { - // Fallback on legacy runner - cmd = exec.CommandContext(ctx, webpack.BinPath, "--watch") - } - cmd.Stderr = os.Stderr - cmd.Stdout = os.Stdout - return cmd.Run() -} - -func startDevServer(ctx context.Context, args []string) error { - app := meta.New(".") - - cfgFile := "./.buffalo.dev.yml" - if _, err := os.Stat(cfgFile); err != nil { - run := genny.WetRunner(ctx) - err = run.WithNew(rg.New(&rg.Options{App: app})) - if err != nil { - return err - } - - if err := run.Run(); err != nil { - return err - } - } - c := &refresh.Configuration{} - if err := c.Load(cfgFile); err != nil { - return err - } - c.Debug = devOptions.Debug - - bt := app.BuildTags("development") - if len(bt) > 0 { - c.BuildFlags = append(c.BuildFlags, "-tags", bt.String()) - } - r := refresh.NewWithContext(c, ctx) - r.CommandFlags = args - return r.Start() -} - -func init() { - devCmd.Flags().BoolVarP(&devOptions.Debug, "debug", "d", false, "use delve to debug the app") - decorate("dev", devCmd) - RootCmd.AddCommand(devCmd) -} diff --git a/buffalo/cmd/events.go b/buffalo/cmd/events.go deleted file mode 100644 index e725d60a6..000000000 --- a/buffalo/cmd/events.go +++ /dev/null @@ -1,10 +0,0 @@ -package cmd - -const ( - // EvtSetupStarted is emitted when `buffalo setup` starts - EvtSetupStarted = "buffalo:setup:started" - // EvtSetupErr is emitted if `buffalo setup` fails - EvtSetupErr = "buffalo:setup:err" - // EvtSetupFinished is emitted when `buffalo setup` finishes - EvtSetupFinished = "buffalo:setup:finished" -) diff --git a/buffalo/cmd/filetests/apiapp.json b/buffalo/cmd/filetests/apiapp.json deleted file mode 100644 index 071362540..000000000 --- a/buffalo/cmd/filetests/apiapp.json +++ /dev/null @@ -1,36 +0,0 @@ -[{ - "path": "actions/app.go", - "contains": [ - "app.Use(contenttype.Set(\"application/json\"))" - ], - "!contains": [ - "app.ServeFiles" - ] -}, { - "path": "actions/home.go", - "contains": [ - "r.JSON" - ], - "!contains": [ - "r.HTML" - ] -}, { - "path": "actions/render.go", - "contains": [ - "DefaultContentType: \"application/json\"," - ], - "!contains": [ - "HTMLLayout", - "TemplatesBox", - "Helpers" - ] -}, { - "path": "templates", - "absent": true -}, { - "path": "assets", - "absent": true -}, { - "path": "public", - "absent": true -}] diff --git a/buffalo/cmd/filetests/destroy_action_all.json b/buffalo/cmd/filetests/destroy_action_all.json deleted file mode 100644 index 9a45a02f0..000000000 --- a/buffalo/cmd/filetests/destroy_action_all.json +++ /dev/null @@ -1,8 +0,0 @@ -[{ - "path": "actions/ouch.go", - "absent": true -}, -{ - "path": "actions/ouch_test.go", - "absent": true -}] \ No newline at end of file diff --git a/buffalo/cmd/filetests/destroy_mailer_all.json b/buffalo/cmd/filetests/destroy_mailer_all.json deleted file mode 100644 index 358c1fd42..000000000 --- a/buffalo/cmd/filetests/destroy_mailer_all.json +++ /dev/null @@ -1,14 +0,0 @@ -[{ - "path": "mailers/ouch.go", - "absent": true - }, - { - "path": "templates/mail/ouch.html", - "absent": true - }, - { - "path": "templates/mail/ouch.plush.html", - "absent": true - } - -] diff --git a/buffalo/cmd/filetests/destroy_model_all.json b/buffalo/cmd/filetests/destroy_model_all.json deleted file mode 100644 index 858072622..000000000 --- a/buffalo/cmd/filetests/destroy_model_all.json +++ /dev/null @@ -1,8 +0,0 @@ -[{ - "path": "models/ouch.go", - "absent": true -}, -{ - "path": "models/ouch_test.go", - "absent": true -}] \ No newline at end of file diff --git a/buffalo/cmd/filetests/destroy_resource_all.json b/buffalo/cmd/filetests/destroy_resource_all.json deleted file mode 100644 index 5d1cc5d6d..000000000 --- a/buffalo/cmd/filetests/destroy_resource_all.json +++ /dev/null @@ -1,27 +0,0 @@ -[{ - "path": "actions/ouches.go", - "absent": true - }, - { - "path": "actions/ouches_test.go", - "absent": true - }, - { - "path": "actions/app.go", - "!contains": [ - "app.Resource(\"/ouches\", OuchesResource{})" - ] - }, - { - "path": "locales/ouches.en-us.yaml", - "absent": true - }, - { - "path": "models/ouch.go", - "absent": true - }, - { - "path": "models/ouch_test.go", - "absent": true - } -] diff --git a/buffalo/cmd/filetests/fix_old_app.json b/buffalo/cmd/filetests/fix_old_app.json deleted file mode 100644 index 6941260d6..000000000 --- a/buffalo/cmd/filetests/fix_old_app.json +++ /dev/null @@ -1,22 +0,0 @@ -[{ - "path": "actions/app.go", - "!contains": [ - "middleware.PopTransaction", - "ssl.ForceSSL", - "middleware.ParameterLogger", - "github.com/gobuffalo/buffalo/middleware", - "github.com/gobuffalo/buffalo/middleware", - "github.com/gobuffalo/buffalo/middleware/ssl", - "github.com/gobuffalo/buffalo/middleware/csrf", - "github.com/gobuffalo/buffalo/middleware/i18n" - ], - "contains": [ - "github.com/gobuffalo/mw-csrf", - "github.com/gobuffalo/mw-forcessl", - "github.com/gobuffalo/mw-i18n", - "github.com/gobuffalo/mw-paramlogger", - "forcessl.Middleware", - "popmw.Transaction", - "paramlogger.ParameterLogger" - ] -}] diff --git a/buffalo/cmd/filetests/generate_action_all.json b/buffalo/cmd/filetests/generate_action_all.json deleted file mode 100644 index 347e183bb..000000000 --- a/buffalo/cmd/filetests/generate_action_all.json +++ /dev/null @@ -1,23 +0,0 @@ -[{ - "path": "actions/comments.go", - "contains": [ - "func CommentsShow(c buffalo.Context) error {", - "func CommentsEdit(c buffalo.Context) error {", - "comments/edit.html", - "comments/show.html" - ] - }, - { - "path": "actions/app.go", - "contains": [ - "app.GET(\"/comments/show\", CommentsShow)", - "app.GET(\"/comments/edit\", CommentsEdit)" - ] - }, - { - "path": "templates/comments/show.plush.html", - "contains": [ - "

Comments#Show

" - ] - } -] diff --git a/buffalo/cmd/filetests/generate_action_existing.json b/buffalo/cmd/filetests/generate_action_existing.json deleted file mode 100644 index 9e7c7d598..000000000 --- a/buffalo/cmd/filetests/generate_action_existing.json +++ /dev/null @@ -1,19 +0,0 @@ -[{ - "path": "actions/comments.go", - "contains": [ - "func CommentsShow(c buffalo.Context) error {", - "func CommentsEdit(c buffalo.Context) error {", - "func CommentsDestroy(c buffalo.Context) error {", - "comments/edit.html", - "comments/destroy.html", - "comments/show.html" - ] -}, -{ - "path": "actions/app.go", - "contains": [ - "app.GET(\"/comments/destroy\", CommentsDestroy)", - "app.GET(\"/comments/edit\", CommentsEdit)", - "app.GET(\"/comments/show\", CommentsShow)" - ] -}] \ No newline at end of file diff --git a/buffalo/cmd/filetests/generate_action_skip_template.json b/buffalo/cmd/filetests/generate_action_skip_template.json deleted file mode 100644 index 9457342cd..000000000 --- a/buffalo/cmd/filetests/generate_action_skip_template.json +++ /dev/null @@ -1,15 +0,0 @@ -[{ - "path": "actions/users.go", - "contains": [ - "func UsersCreate(c buffalo.Context) error {" - ] - }, - { - "path": "templates/users/create.html", - "absent": true - }, - { - "path": "templates/users/create.plush.html", - "absent": true - } -] diff --git a/buffalo/cmd/filetests/generate_action_with_method.json b/buffalo/cmd/filetests/generate_action_with_method.json deleted file mode 100644 index 0492c6f44..000000000 --- a/buffalo/cmd/filetests/generate_action_with_method.json +++ /dev/null @@ -1,19 +0,0 @@ -[{ - "path": "actions/users.go", - "contains": [ - "func UsersCreate(c buffalo.Context) error {" - ] - }, - { - "path": "templates/users/update.html", - "absent": true - }, - { - "path": "templates/users/update.plush.html", - "absent": true - }, - { - "path": "actions/app.go", - "contains": ["app.POST(\"/users/update\", UsersUpdate)"] - } -] diff --git a/buffalo/cmd/filetests/generate_mailer.json b/buffalo/cmd/filetests/generate_mailer.json deleted file mode 100644 index 9785d1e64..000000000 --- a/buffalo/cmd/filetests/generate_mailer.json +++ /dev/null @@ -1,30 +0,0 @@ -[{ - "path": "mailers/mailers.go", - "contains": [ - "github.com/gobuffalo/buffalo/mail", - "smtp, err = mail.NewSMTPSender(host, port, user, password)" - ], - "!contains": [ - "github.com/gobuffalo/x/mail" - ] - }, - { - "path": "templates/mail/layout.plush.html", - "contains": [ - "

templates/mailers/layout.plush.html

" - ] - }, - { - "path": "mailers/welcome_email.go", - "contains": [ - "err := m.AddBody(r.HTML(\"welcome_email.html\"), render.Data{})" - ] - }, - { - "path": "templates/mail/welcome_email.plush.html", - "contains": [ - "

Welcome Email

", - "

../templates/mail/welcome_email.plush.html

" - ] - } -] diff --git a/buffalo/cmd/filetests/generate_nested_task.json b/buffalo/cmd/filetests/generate_nested_task.json deleted file mode 100644 index 2e7e73d66..000000000 --- a/buffalo/cmd/filetests/generate_nested_task.json +++ /dev/null @@ -1,10 +0,0 @@ -[{ - "path": "grifts/now.go", - "contains": [ - "var _ = Namespace(\"nested\", func() {", - "Namespace(\"task\", func() {", - "Desc(\"now\", \"Task Description\")", - "Add(\"now\", func(c *Context) error {", - "return nil" - ] -}] \ No newline at end of file diff --git a/buffalo/cmd/filetests/generate_plain_task.json b/buffalo/cmd/filetests/generate_plain_task.json deleted file mode 100644 index 6af6b59ff..000000000 --- a/buffalo/cmd/filetests/generate_plain_task.json +++ /dev/null @@ -1,8 +0,0 @@ -[{ - "path": "grifts/plain_task.go", - "contains": [ - "var _ = Desc(\"plain_task\", \"Task Description\")", - "var _ = Add(\"plain_task\", func(c *Context) error {", - "return nil" - ] -}] \ No newline at end of file diff --git a/buffalo/cmd/filetests/generate_resource_irregular.json b/buffalo/cmd/filetests/generate_resource_irregular.json deleted file mode 100644 index 9703402d9..000000000 --- a/buffalo/cmd/filetests/generate_resource_irregular.json +++ /dev/null @@ -1,7 +0,0 @@ -[{ - "path": "actions/people.go", - "contains": [ - "type PeopleResource struct", - "func (v PeopleResource)" - ] -}] \ No newline at end of file diff --git a/buffalo/cmd/filetests/generate_resource_nested_api.json b/buffalo/cmd/filetests/generate_resource_nested_api.json deleted file mode 100644 index 9e59e6011..000000000 --- a/buffalo/cmd/filetests/generate_resource_nested_api.json +++ /dev/null @@ -1,20 +0,0 @@ -[{ - "path": "actions/admin_planes.go", - "contains": [ - "type AdminPlanesResource struct", - "func (v AdminPlanesResource)", - "tx.Find(plane, c.Param(\"admin_plane_id\"))" - ] - }, - { - "path": "actions/admin_planes_test.go", - "contains": [ - "package actions", - "Test_AdminPlanesResource_List" - ] - }, - { - "path": "locales/admin/planes.en-us.yaml", - "absent": true - } -] diff --git a/buffalo/cmd/filetests/generate_resource_nested_model_name_api.json b/buffalo/cmd/filetests/generate_resource_nested_model_name_api.json deleted file mode 100644 index 6faab3ff1..000000000 --- a/buffalo/cmd/filetests/generate_resource_nested_model_name_api.json +++ /dev/null @@ -1,25 +0,0 @@ -[{ - "path": "actions/admin_users.go", - "contains": [ - "type AdminUsersResource struct", - "func (v AdminUsersResource)" - ] - }, - { - "path": "actions/admin_users_test.go", - "contains": [ - "package actions", - "Test_AdminUsersResource_List" - ] - }, - { - "path": "locales/admin/users.en-us.yaml", - "absent": true - }, - { - "path": "models/admin_user.go", - "contains": [ - "type AdminUser struct" - ] - } -] diff --git a/buffalo/cmd/filetests/generate_resource_nested_model_name_web.json b/buffalo/cmd/filetests/generate_resource_nested_model_name_web.json deleted file mode 100644 index f16bd5aff..000000000 --- a/buffalo/cmd/filetests/generate_resource_nested_model_name_web.json +++ /dev/null @@ -1,34 +0,0 @@ -[{ - "path": "actions/admin_users.go", - "contains": [ - "type AdminUsersResource struct", - "func (v AdminUsersResource)" - ] - }, - { - "path": "actions/admin_users_test.go", - "contains": [ - "package actions", - "Test_AdminUsersResource_List" - ] - }, - { - "path": "locales/admin/users.en-us.yaml", - "contains": [ - "translation: \"AdminUser was successfully created.\"" - ] - }, - { - "path": "templates/admin/users/_form.plush.html", - "contains": [ - "" - ] - }, - { - "path": "models/admin_user.go", - "contains": [ - "type AdminUser struct" - ] - } - -] diff --git a/buffalo/cmd/filetests/generate_resource_nested_web.json b/buffalo/cmd/filetests/generate_resource_nested_web.json deleted file mode 100644 index 11e04d498..000000000 --- a/buffalo/cmd/filetests/generate_resource_nested_web.json +++ /dev/null @@ -1,40 +0,0 @@ -[{ - "path": "actions/admin_planes.go", - "contains": [ - "type AdminPlanesResource struct", - "func (v AdminPlanesResource)", - "tx.Find(plane, c.Param(\"admin_plane_id\"))" - ] - }, - { - "path": "actions/admin_planes_test.go", - "contains": [ - "package actions", - "Test_AdminPlanesResource_List" - ] - }, - { - "path": "locales/admin/planes.en-us.yaml", - "contains": [ - "translation: \"Plane was successfully created.\"" - ] - }, - { - "path": "templates/admin/planes/_form.plush.html", - "contains": [ - "" - ] - }, - { - "path": "templates/admin/planes/index.plush.html", - "contains": [ - "newAdminPlanesPath()" - ] - }, - { - "path": "templates/admin/planes/show.plush.html", - "contains": [ - "editAdminPlanePath({ admin_plane_id: plane.ID })" - ] - } -] diff --git a/buffalo/cmd/filetests/generate_resource_plural.json b/buffalo/cmd/filetests/generate_resource_plural.json deleted file mode 100644 index 748432895..000000000 --- a/buffalo/cmd/filetests/generate_resource_plural.json +++ /dev/null @@ -1,23 +0,0 @@ -[{ - "path": "actions/cars.go", - "contains": [ - "func (v CarsResource) List(c buffalo.Context) error {", - "func (v CarsResource) Destroy(c buffalo.Context) error {", - "type CarsResource struct {" - ] - }, - { - "path": "actions/app.go", - "contains": [ - "app.Resource(\"/cars\", CarsResource{})" - ] - }, - { - "path": "actions/cars_test.go", - "contains": [ - "func (as *ActionSuite) Test_CarsResource_List", - "func (as *ActionSuite) Test_CarsResource_Show", - "func (as *ActionSuite) Test_CarsResource_Create" - ] - } -] diff --git a/buffalo/cmd/filetests/generate_resource_singular.json b/buffalo/cmd/filetests/generate_resource_singular.json deleted file mode 100644 index 1e8300ae4..000000000 --- a/buffalo/cmd/filetests/generate_resource_singular.json +++ /dev/null @@ -1,23 +0,0 @@ -[{ - "path": "actions/users.go", - "contains": [ - "func (v UsersResource) List(c buffalo.Context) error {", - "func (v UsersResource) Destroy(c buffalo.Context) error {", - "type UsersResource struct {" - ] - }, - { - "path": "actions/app.go", - "contains": [ - "app.Resource(\"/users\", UsersResource{})" - ] - }, - { - "path": "actions/users_test.go", - "contains": [ - "func (as *ActionSuite) Test_UsersResource_List", - "func (as *ActionSuite) Test_UsersResource_Show", - "func (as *ActionSuite) Test_UsersResource_Create" - ] - } -] diff --git a/buffalo/cmd/filetests/generate_underscore.json b/buffalo/cmd/filetests/generate_underscore.json deleted file mode 100644 index 830e375e4..000000000 --- a/buffalo/cmd/filetests/generate_underscore.json +++ /dev/null @@ -1,7 +0,0 @@ -[{ - "path": "actions/person_events.go", - "contains": [ - "c.Render(http.StatusOK, r.Auto(c, personEvents))", - "c.Render(http.StatusOK, r.Auto(c, personEvent))" - ] -}] diff --git a/buffalo/cmd/filetests/goth.json b/buffalo/cmd/filetests/goth.json deleted file mode 100644 index 70035fef0..000000000 --- a/buffalo/cmd/filetests/goth.json +++ /dev/null @@ -1,29 +0,0 @@ -[{ - "path": "actions/auth.go", - "contains": [ - "github.com/markbates/goth/providers/facebook", - "github.com/markbates/goth/providers/twitter", - "github.com/markbates/goth/providers/linkedin", - "github.com/markbates/goth/providers/github", - "FACEBOOK_KEY", - "FACEBOOK_SECRET", - "TWITTER_KEY", - "TWITTER_SECRET", - "GITHUB_KEY", - "GITHUB_SECRET", - "LINKEDIN_KEY", - "LINKEDIN_SECRET" - ], - "!contains": [ - "app := App().Group(\"/auth\")", - "github.com/markbates/goth/providers/yammer", - "buffalo.WrapHandlerFunc(gothic.BeginAuthHandler)" - ] -}, { - "path": "actions/app.go", - "contains": [ - "auth := app.Group(\"/auth\")", - "auth.GET(\"/{provider}\", buffalo.WrapHandlerFunc(gothic.BeginAuthHandler))", - "auth.GET(\"/{provider}/callback\", AuthCallback)" - ] -}] diff --git a/buffalo/cmd/filetests/new_travis.json b/buffalo/cmd/filetests/new_travis.json deleted file mode 100644 index 7917878fe..000000000 --- a/buffalo/cmd/filetests/new_travis.json +++ /dev/null @@ -1,16 +0,0 @@ -[{ - "path": ".travis.yml", - "contains": [ - "language: go", - "1.11.x", - "go_import_path:" - ] -}, { - "path": "database.yml", - "contains": [ - "dialect: \"sqlite3\"", - "development:", - "production:", - "test:" - ] -}] diff --git a/buffalo/cmd/filetests/no_assets_build.json b/buffalo/cmd/filetests/no_assets_build.json deleted file mode 100644 index 543063d71..000000000 --- a/buffalo/cmd/filetests/no_assets_build.json +++ /dev/null @@ -1,6 +0,0 @@ -[ - { - "path": "bin/assets.zip", - "absent": true - } -] \ No newline at end of file diff --git a/buffalo/cmd/filetests/resource_model_migration.json b/buffalo/cmd/filetests/resource_model_migration.json deleted file mode 100644 index 04e1f8172..000000000 --- a/buffalo/cmd/filetests/resource_model_migration.json +++ /dev/null @@ -1,6 +0,0 @@ -[{ - "path": "models/user.go", - "contains": [ - "type User struct {" - ] -}] \ No newline at end of file diff --git a/buffalo/cmd/filetests/resource_skip_model.json b/buffalo/cmd/filetests/resource_skip_model.json deleted file mode 100644 index 346b7caa4..000000000 --- a/buffalo/cmd/filetests/resource_skip_model.json +++ /dev/null @@ -1,13 +0,0 @@ -[{ - "path": "models/admin.go", - "absent": true -},{ - "path": "models/admin_test.go", - "absent": true -},{ - "path": "migrations/*_create_admins.up.fizz", - "absent": true -},{ - "path": "migrations/*_create_admins.down.fizz", - "absent": true -}] \ No newline at end of file diff --git a/buffalo/cmd/filetests/resource_use_model.json b/buffalo/cmd/filetests/resource_use_model.json deleted file mode 100644 index 15bfd9b71..000000000 --- a/buffalo/cmd/filetests/resource_use_model.json +++ /dev/null @@ -1,19 +0,0 @@ -[{ - "path": "actions/admins.go", - "contains": [ - "users := &models.Users{}" - ] - }, - { - "path": "models/admin.go", - "absent": true -},{ - "path": "models/admin_test.go", - "absent": true -},{ - "path": "migrations/*_create_admins.up.fizz", - "absent": true -},{ - "path": "migrations/*_create_admins.down.fizz", - "absent": true -}] \ No newline at end of file diff --git a/buffalo/cmd/filetests/skip_dep.json b/buffalo/cmd/filetests/skip_dep.json deleted file mode 100644 index 4fca4aa80..000000000 --- a/buffalo/cmd/filetests/skip_dep.json +++ /dev/null @@ -1,10 +0,0 @@ -[{ - "path": "vendor/", - "absent": true -}, { - "path": "Gopkg.toml", - "absent": true -}, { - "path": "Gopkg.lock", - "absent": true -}] diff --git a/buffalo/cmd/fix.go b/buffalo/cmd/fix.go deleted file mode 100644 index 368c15ff5..000000000 --- a/buffalo/cmd/fix.go +++ /dev/null @@ -1,27 +0,0 @@ -package cmd - -import ( - "fmt" - - "github.com/gobuffalo/buffalo/buffalo/cmd/fix" - "github.com/gobuffalo/buffalo/runtime" - "github.com/spf13/cobra" -) - -// fixCmd represents the info command -var fixCmd = &cobra.Command{ - Use: "fix", - Aliases: []string{"update"}, - Short: fmt.Sprintf("Attempt to fix a Buffalo application's API to match version %s", runtime.Version), - RunE: func(cmd *cobra.Command, args []string) error { - return fix.Run() - }, -} - -func init() { - decorate("fix", RootCmd) - decorate("update", RootCmd) - - fixCmd.Flags().BoolVarP(&fix.YesToAll, "y", "y", false, "update all without asking for confirmation") - RootCmd.AddCommand(fixCmd) -} diff --git a/buffalo/cmd/fix/deprecations.go b/buffalo/cmd/fix/deprecations.go deleted file mode 100644 index 1ad7e68cd..000000000 --- a/buffalo/cmd/fix/deprecations.go +++ /dev/null @@ -1,58 +0,0 @@ -package fix - -import ( - "bytes" - "fmt" - "io/ioutil" - "os" - "path/filepath" -) - -// DeprecrationsCheck will either log, or fix, deprecated items in the application -func DeprecrationsCheck(r *Runner) error { - fmt.Println("~~~ Checking for deprecations ~~~") - b, err := ioutil.ReadFile("main.go") - if err != nil { - return err - } - if bytes.Contains(b, []byte("app.Start")) { - r.Warnings = append(r.Warnings, "app.Start has been removed in v0.11.0. Use app.Serve Instead. [main.go]") - } - - return filepath.Walk(filepath.Join(r.App.Root, "actions"), func(path string, info os.FileInfo, _ error) error { - if info.IsDir() { - return nil - } - - if filepath.Ext(path) != ".go" { - return nil - } - - b, err := ioutil.ReadFile(path) - if err != nil { - return err - } - if bytes.Contains(b, []byte("Websocket()")) { - r.Warnings = append(r.Warnings, fmt.Sprintf("buffalo.Context#Websocket has been deprecated in v0.11.0, and removed in v0.12.0. Use github.com/gorilla/websocket directly. [%s]", path)) - } - if bytes.Contains(b, []byte("meta.Name")) { - r.Warnings = append(r.Warnings, fmt.Sprintf("meta.Name has been deprecated in v0.11.0, and removed in v0.12.0. Use github.com/markbates/inflect.Name directly. [%s]", path)) - } - if bytes.Contains(b, []byte("generators.Find(")) { - r.Warnings = append(r.Warnings, fmt.Sprintf("generators.Find(string) has been deprecated in v0.11.0, and removed in v0.12.0. Use generators.FindByBox() instead. [%s]", path)) - } - // i18n middleware changes in v0.11.1 - if bytes.Contains(b, []byte("T.CookieName")) { - b = bytes.Replace(b, []byte("T.CookieName"), []byte("T.LanguageExtractorOptions[\"CookieName\"]"), -1) - } - if bytes.Contains(b, []byte("T.SessionName")) { - b = bytes.Replace(b, []byte("T.SessionName"), []byte("T.LanguageExtractorOptions[\"SessionName\"]"), -1) - } - if bytes.Contains(b, []byte("T.LanguageFinder=")) || bytes.Contains(b, []byte("T.LanguageFinder ")) { - r.Warnings = append(r.Warnings, fmt.Sprintf("i18n.Translator#LanguageFinder has been deprecated in v0.11.1, and has been removed in v0.12.0. Use i18n.Translator#LanguageExtractors instead. [%s]", path)) - } - ioutil.WriteFile(path, b, 0664) - - return nil - }) -} diff --git a/buffalo/cmd/fix/docker.go b/buffalo/cmd/fix/docker.go deleted file mode 100644 index f1c24c8fa..000000000 --- a/buffalo/cmd/fix/docker.go +++ /dev/null @@ -1,38 +0,0 @@ -package fix - -import ( - "context" - "fmt" - "path/filepath" - "regexp" - "strings" - - "github.com/gobuffalo/buffalo/runtime" - "github.com/gobuffalo/genny/v2" -) - -func fixDocker(r *Runner) error { - app := r.App - if !app.WithDocker { - return nil - } - fmt.Println("~~~ Upgrading Dockerfile ~~~") - run := genny.WetRunner(context.Background()) - run.WithRun(func(r *genny.Runner) error { - dk, err := r.FindFile(filepath.Join(app.Root, "Dockerfile")) - if err != nil { - return err - } - - ex := regexp.MustCompile(`(v[0-9.][\S]+)`) - lines := strings.Split(dk.String(), "\n") - for i, l := range lines { - if strings.HasPrefix(strings.ToLower(l), "from gobuffalo/buffalo") { - l = ex.ReplaceAllString(l, runtime.Version) - lines[i] = l - } - } - return r.File(genny.NewFileS(dk.Name(), strings.Join(lines, "\n"))) - }) - return run.Run() -} diff --git a/buffalo/cmd/fix/fix.go b/buffalo/cmd/fix/fix.go deleted file mode 100644 index e28abc2d5..000000000 --- a/buffalo/cmd/fix/fix.go +++ /dev/null @@ -1,104 +0,0 @@ -package fix - -import ( - "bufio" - "fmt" - "os" - "path/filepath" - "strings" - - "github.com/BurntSushi/toml" -) - -// YesToAll will be used by the command to skip the questions -var YesToAll bool - -var replace = map[string]string{ - "github.com/gobuffalo/buffalo-plugins": "github.com/gobuffalo/buffalo/plugins", - "github.com/gobuffalo/genny": "github.com/gobuffalo/genny/v2", - "github.com/gobuffalo/pop": "github.com/gobuffalo/pop/v5", - "github.com/gobuffalo/pop/nulls": "github.com/gobuffalo/nulls", - "github.com/gobuffalo/uuid": "github.com/gofrs/uuid", - "github.com/markbates/pop": "github.com/gobuffalo/pop/v5", - "github.com/markbates/validate": "github.com/gobuffalo/validate/v3", - "github.com/markbates/willie": "github.com/gobuffalo/httptest", - "github.com/satori/go.uuid": "github.com/gofrs/uuid", - "github.com/shurcooL/github_flavored_markdown": "github.com/gobuffalo/github_flavored_markdown", - "github.com/gobuffalo/validate": "github.com/gobuffalo/validate/v3", - "github.com/gobuffalo/validate/validators": "github.com/gobuffalo/validate/v3/validators", - "github.com/gobuffalo/suite": "github.com/gobuffalo/suite/v3", - "github.com/gobuffalo/buffalo-pop/": "github.com/gobuffalo/buffalo-pop/v2", - "github.com/gobuffalo/buffalo-pop/pop/popmw": "github.com/gobuffalo/buffalo-pop/v2/pop/popmw", - "github.com/gobuffalo/plush": "github.com/gobuffalo/plush/v4", -} - -var ic = ImportConverter{ - Data: replace, -} - -var mr = MiddlewareTransformer{ - PackagesReplacement: map[string]string{ - "github.com/gobuffalo/buffalo/middleware/basicauth": "github.com/gobuffalo/mw-basicauth", - "github.com/gobuffalo/buffalo/middleware/csrf": "github.com/gobuffalo/mw-csrf", - "github.com/gobuffalo/buffalo/middleware/i18n": "github.com/gobuffalo/mw-i18n", - "github.com/gobuffalo/buffalo/middleware/ssl": "github.com/gobuffalo/mw-forcessl", - "github.com/gobuffalo/buffalo/middleware/tokenauth": "github.com/gobuffalo/mw-tokenauth", - }, - - Aliases: map[string]string{ - "github.com/gobuffalo/mw-basicauth": "basicauth", - "github.com/gobuffalo/mw-contenttype": "contenttype", - "github.com/gobuffalo/mw-csrf": "csrf", - "github.com/gobuffalo/mw-forcessl": "forcessl", - "github.com/gobuffalo/mw-i18n": "i18n", - "github.com/gobuffalo/mw-paramlogger": "paramlogger", - "github.com/gobuffalo/mw-tokenauth": "tokenauth", - }, -} - -var checks = []Check{ - PackrClean, - ic.Process, - mr.transformPackages, - WebpackCheck, - PackageJSONCheck, - AddPackageJSONScripts, - installTools, - DeprecrationsCheck, - fixDocker, - encodeApp, - Plugins{}.RemoveOld, - Plugins{}.CleanCache, - Plugins{}.Reinstall, - Plush, -} - -func encodeApp(r *Runner) error { - p := filepath.Join("config", "buffalo-app.toml") - if _, err := os.Stat(p); err == nil { - return nil - } - os.MkdirAll(filepath.Dir(p), 0755) - f, err := os.Create(p) - if err != nil { - return err - } - if err := toml.NewEncoder(f).Encode(r.App); err != nil { - return err - } - return nil -} - -func ask(q string) bool { - if YesToAll { - return true - } - - fmt.Printf("? %s [y/n]\n", q) - - reader := bufio.NewReader(os.Stdin) - text, _ := reader.ReadString('\n') - - text = strings.ToLower(strings.TrimSpace(text)) - return text == "y" || text == "yes" -} diff --git a/buffalo/cmd/fix/imports.go b/buffalo/cmd/fix/imports.go deleted file mode 100644 index ac127ff54..000000000 --- a/buffalo/cmd/fix/imports.go +++ /dev/null @@ -1,136 +0,0 @@ -package fix - -import ( - "fmt" - "go/ast" - "go/parser" - "go/token" - "os" - "path/filepath" - "strconv" - "strings" - - "golang.org/x/tools/go/ast/astutil" -) - -// ImportConverter will changes imports from a -> b -type ImportConverter struct { - Data map[string]string -} - -// Process will walk all the .go files in an application, excluding ./vendor. -// It will then attempt to convert any old import paths to any new import paths -// used by this version Buffalo. -func (c ImportConverter) Process(r *Runner) error { - fmt.Println("~~~ Rewriting Imports ~~~") - - return filepath.Walk(".", c.processFile) - -} - -func (c ImportConverter) processFile(p string, info os.FileInfo, err error) error { - er := onlyRelevantFiles(p, info, err, func(p string) error { - return c.rewriteFile(p) - }) - - return er -} - -func (c ImportConverter) rewriteFile(name string) error { - - // create an empty fileset. - fset := token.NewFileSet() - - // parse the .go file. - // we are parsing the entire file with comments, so we don't lose anything - // if we need to write it back out. - f, err := parser.ParseFile(fset, name, nil, parser.ParseComments) - if err != nil { - e := err.Error() - msg := "expected 'package', found 'EOF'" - if e[len(e)-len(msg):] == msg { - return nil - } - return err - } - - changed := false - for key, value := range c.Data { - if !astutil.DeleteImport(fset, f, key) { - continue - } - - astutil.AddImport(fset, f, value) - changed = true - } - - commentsChanged, err := c.handleFileComments(f) - if err != nil { - return err - } - - changed = changed || commentsChanged - - // if no change occurred, then we don't need to write to disk, just return. - if !changed { - return nil - } - - // since the imports changed, resort them. - ast.SortImports(fset, f) - - // create a temporary file, this easily avoids conflicts. - temp, err := writeTempResult(name, fset, f) - if err != nil { - return err - } - - // rename the .temp to .go - return os.Rename(temp, name) -} - -func (c ImportConverter) handleFileComments(f *ast.File) (bool, error) { - change := false - - for _, cg := range f.Comments { - for _, cl := range cg.List { - if !strings.HasPrefix(cl.Text, "// import \"") { - continue - } - - // trim off extra comment stuff - ctext := cl.Text - ctext = strings.TrimPrefix(ctext, "// import") - ctext = strings.TrimSpace(ctext) - - // unquote the comment import path value - ctext, err := strconv.Unquote(ctext) - if err != nil { - return false, err - } - - // match the comment import path with the given replacement map - if ctext, ok := c.match(ctext); ok { - cl.Text = "// import " + strconv.Quote(ctext) - change = true - } - - } - } - - return change, nil -} - -// match takes an import path and replacement map. -func (c ImportConverter) match(importpath string) (string, bool) { - for key, value := range c.Data { - if !strings.HasPrefix(importpath, key) { - continue - } - - result := strings.Replace(importpath, key, value, 1) - return result, true - } - - return importpath, false -} diff --git a/buffalo/cmd/fix/middleware.go b/buffalo/cmd/fix/middleware.go deleted file mode 100644 index 681942825..000000000 --- a/buffalo/cmd/fix/middleware.go +++ /dev/null @@ -1,161 +0,0 @@ -package fix - -import ( - "go/ast" - "go/parser" - "go/printer" - "go/token" - "io/ioutil" - "os" - "path/filepath" - "strings" - - "golang.org/x/tools/go/ast/astutil" -) - -//MiddlewareTransformer moves from our old middleware package to new one -type MiddlewareTransformer struct { - PackagesReplacement map[string]string - Aliases map[string]string -} - -func (mw MiddlewareTransformer) transformPackages(r *Runner) error { - return filepath.Walk(".", mw.processFile) -} - -func (mw MiddlewareTransformer) processFile(p string, fi os.FileInfo, err error) error { - er := onlyRelevantFiles(p, fi, err, func(p string) error { - if err := mw.rewriteMiddlewareUses(p); err != nil { - return err - } - - fset, f, err := buildASTFor(p) - if err != nil { - if e := err.Error(); strings.Contains(e, "expected 'package', found 'EOF'") { - return nil - } - - return err - } - - //Replacing mw packages - for old, new := range mw.PackagesReplacement { - deleted := astutil.DeleteImport(fset, f, old) - if deleted { - astutil.AddNamedImport(fset, f, mw.Aliases[new], new) - } - } - - if err := mw.addMissingRootMiddlewareImports(fset, f, p); err != nil { - return err - } - - ast.SortImports(fset, f) - - temp, err := writeTempResult(p, fset, f) - if err != nil { - return err - } - - // rename the .temp to .go - return os.Rename(temp, p) - }) - - return er -} - -func (mw MiddlewareTransformer) addMissingRootMiddlewareImports(fset *token.FileSet, f *ast.File, p string) error { - read, err := ioutil.ReadFile(p) - if err != nil { - return err - } - - content := string(read) - - astutil.DeleteImport(fset, f, "github.com/gobuffalo/buffalo/middleware") - if strings.Contains(content, "paramlogger.ParameterLogger") { - astutil.AddNamedImport(fset, f, "paramlogger", "github.com/gobuffalo/mw-paramlogger") - } - - if strings.Contains(content, "popmw.Transaction") { - astutil.AddImport(fset, f, "github.com/gobuffalo/buffalo-pop/v2/pop/popmw") - } - - if strings.Contains(content, "contenttype.Add") || strings.Contains(content, "contenttype.Set") { - astutil.AddNamedImport(fset, f, "contenttype", "github.com/gobuffalo/mw-contenttype") - } - - return ioutil.WriteFile(p, []byte(content), 0) -} - -func (mw MiddlewareTransformer) rewriteMiddlewareUses(p string) error { - read, err := ioutil.ReadFile(p) - if err != nil { - return err - } - - newContents := string(read) - newContents = strings.Replace(newContents, "middleware.SetContentType", "contenttype.Set", -1) - newContents = strings.Replace(newContents, "middleware.AddContentType", "contenttype.Add", -1) - newContents = strings.Replace(newContents, "middleware.ParameterLogger", "paramlogger.ParameterLogger", -1) - newContents = strings.Replace(newContents, "middleware.PopTransaction", "popmw.Transaction", -1) - newContents = strings.Replace(newContents, "ssl.ForceSSL", "forcessl.Middleware", -1) - - err = ioutil.WriteFile(p, []byte(newContents), 0) - return err -} - -func writeTempResult(name string, fset *token.FileSet, f *ast.File) (string, error) { - temp := name + ".temp" - w, err := os.Create(temp) - if err != nil { - return "", err - } - - // write changes to .temp file, and include proper formatting. - err = (&printer.Config{Mode: printer.TabIndent | printer.UseSpaces, Tabwidth: 8}).Fprint(w, fset, f) - if err != nil { - return "", err - } - - // close the writer - err = w.Close() - if err != nil { - return "", err - } - - return temp, nil -} - -func buildASTFor(p string) (*token.FileSet, *ast.File, error) { - fset := token.NewFileSet() - f, err := parser.ParseFile(fset, p, nil, parser.ParseComments) - return fset, f, err -} - -//onlyRelevantFiles processes only .go files excluding folders like node_modules and vendor. -func onlyRelevantFiles(p string, fi os.FileInfo, err error, fn func(p string) error) error { - if err != nil { - return err - } - - if fi.IsDir() { - base := filepath.Base(p) - if strings.HasPrefix(base, "_") { - return filepath.SkipDir - } - for _, n := range []string{"vendor", "node_modules", ".git"} { - if base == n { - return filepath.SkipDir - } - } - return nil - } - - ext := filepath.Ext(p) - if ext != ".go" { - return nil - } - - return fn(p) -} diff --git a/buffalo/cmd/fix/npm.go b/buffalo/cmd/fix/npm.go deleted file mode 100644 index 9d1aab499..000000000 --- a/buffalo/cmd/fix/npm.go +++ /dev/null @@ -1,145 +0,0 @@ -package fix - -import ( - "bytes" - "encoding/json" - "fmt" - "html/template" - "io/ioutil" - "os" - "os/exec" - "path/filepath" - - "github.com/gobuffalo/buffalo/genny/assets/webpack" -) - -// AddPackageJSONScripts rewrites the package.json file -// to add dev and build scripts if there are missing. -func AddPackageJSONScripts(r *Runner) error { - if !r.App.WithWebpack { - return nil - } - fmt.Println("~~~ Patching package.json to add dev and build scripts ~~~") - - b, err := ioutil.ReadFile("package.json") - if err != nil { - return err - } - - needRewrite := false - packageJSON := map[string]interface{}{} - if err := json.Unmarshal(b, &packageJSON); err != nil { - return fmt.Errorf("could not rewrite package.json: %s", err.Error()) - } - - if _, ok := packageJSON["scripts"]; !ok { - needRewrite = true - // Add scripts - packageJSON["scripts"] = map[string]string{ - "dev": "webpack --watch", - "build": "webpack -p --progress", - } - } else { - // Add missing scripts - scripts, ok := packageJSON["scripts"].(map[string]interface{}) - if !ok { - return fmt.Errorf("could not rewrite package.json: invalid scripts section") - } - if _, ok := scripts["dev"]; !ok { - needRewrite = true - scripts["dev"] = "webpack --watch" - } - if _, ok := scripts["build"]; !ok { - needRewrite = true - scripts["build"] = "webpack -p --progress" - } - packageJSON["scripts"] = scripts - } - - if needRewrite { - b, err = json.MarshalIndent(packageJSON, "", " ") - if err != nil { - return fmt.Errorf("could not rewrite package.json: %s", err.Error()) - } - - ioutil.WriteFile("package.json", b, 0644) - } else { - fmt.Println("~~~ package.json doesn't need to be patched, skipping. ~~~") - } - - return nil -} - -// PackageJSONCheck will compare the current default Buffalo -// package.json against the applications package.json. If they are -// different you have the option to overwrite the existing package.json -// file with the new one. -func PackageJSONCheck(r *Runner) error { - fmt.Println("~~~ Checking package.json ~~~") - - if !r.App.WithWebpack { - return nil - } - - box := webpack.Templates - - f, err := box.FindString("package.json.tmpl") - if err != nil { - return err - } - - tmpl, err := template.New("package.json").Parse(f) - if err != nil { - return err - } - - bb := &bytes.Buffer{} - err = tmpl.Execute(bb, map[string]interface{}{ - "opts": &webpack.Options{ - App: r.App, - }, - }) - if err != nil { - return err - } - - b, err := ioutil.ReadFile("package.json") - if err != nil { - return err - } - - if string(b) == bb.String() { - return nil - } - - if !ask("Your package.json file is different from the latest Buffalo template.\nWould you like to REPLACE yours with the latest template?") { - fmt.Println("\tskipping package.json") - return nil - } - - pf, err := os.Create("package.json") - if err != nil { - return err - } - _, err = pf.Write(bb.Bytes()) - if err != nil { - return err - } - err = pf.Close() - if err != nil { - return err - } - - os.RemoveAll(filepath.Join(r.App.Root, "node_modules")) - var cmd *exec.Cmd - if r.App.WithYarn { - cmd = exec.Command("yarnpkg", "install") - } else { - cmd = exec.Command("npm", "install") - } - - cmd.Stdin = os.Stdin - cmd.Stdout = os.Stdout - cmd.Stderr = os.Stderr - return cmd.Run() -} diff --git a/buffalo/cmd/fix/packr.go b/buffalo/cmd/fix/packr.go deleted file mode 100644 index 5fb976b03..000000000 --- a/buffalo/cmd/fix/packr.go +++ /dev/null @@ -1,9 +0,0 @@ -package fix - -import "github.com/gobuffalo/packr/v2/packr2/cmd/fix" - -// PackrClean will remove any packr files -func PackrClean(r *Runner) error { - fix.YesToAll = YesToAll - return fix.Run() -} diff --git a/buffalo/cmd/fix/plugins.go b/buffalo/cmd/fix/plugins.go deleted file mode 100644 index 1eb404fc9..000000000 --- a/buffalo/cmd/fix/plugins.go +++ /dev/null @@ -1,75 +0,0 @@ -package fix - -import ( - "context" - "fmt" - "os" - "path" - "strings" - - cmdPlugins "github.com/gobuffalo/buffalo/buffalo/cmd/plugins" - "github.com/gobuffalo/buffalo/genny/plugins/install" - "github.com/gobuffalo/buffalo/internal/takeon/github.com/markbates/errx" - "github.com/gobuffalo/buffalo/plugins" - "github.com/gobuffalo/buffalo/plugins/plugdeps" - "github.com/gobuffalo/genny/v2" - "github.com/gobuffalo/meta" -) - -//Plugins fixes the plugin configuration of the project by -//manipulating the plugins .toml file. -type Plugins struct{} - -//CleanCache cleans the plugins cache folder by removing it -func (pf Plugins) CleanCache(r *Runner) error { - fmt.Println("~~~ Cleaning plugins cache ~~~") - os.RemoveAll(plugins.CachePath) - return nil -} - -//Reinstall installs latest versions of the plugins -func (pf Plugins) Reinstall(r *Runner) error { - plugs, err := plugdeps.List(r.App) - if err != nil && (errx.Unwrap(err) != plugdeps.ErrMissingConfig) { - return err - } - - run := genny.WetRunner(context.Background()) - gg, err := install.New(&install.Options{ - App: r.App, - Plugins: plugs.List(), - }) - if err != nil { - return err - } - - run.WithGroup(gg) - - fmt.Println("~~~ Reinstalling plugins ~~~") - return run.Run() -} - -//RemoveOld removes old and deprecated plugins -func (pf Plugins) RemoveOld(r *Runner) error { - fmt.Println("~~~ Removing old plugins ~~~") - - run := genny.WetRunner(context.Background()) - app := meta.New(".") - plugs, err := plugdeps.List(app) - if err != nil && (errx.Unwrap(err) != plugdeps.ErrMissingConfig) { - return err - } - - a := strings.TrimSpace("github.com/gobuffalo/buffalo-pop") - bin := path.Base(a) - plugs.Remove(plugdeps.Plugin{ - Binary: bin, - GoGet: a, - }) - - fmt.Println("~~~ Removing github.com/gobuffalo/buffalo-pop plugin ~~~") - - run.WithRun(cmdPlugins.NewEncodePluginsRunner(app, plugs)) - - return run.Run() -} diff --git a/buffalo/cmd/fix/plush.go b/buffalo/cmd/fix/plush.go deleted file mode 100644 index 88f27d056..000000000 --- a/buffalo/cmd/fix/plush.go +++ /dev/null @@ -1,62 +0,0 @@ -package fix - -import ( - "fmt" - "io" - "os" - "path/filepath" - "strings" -) - -// Plush will update foo.html templates to foo.plush.html templates -func Plush(r *Runner) error { - templatesDir := filepath.Join(r.App.Root, "templates") - if _, err := os.Stat(templatesDir); os.IsNotExist(err) { - // Skip if the templates dir doesn't exist (e.g. API apps) - return nil - } - fmt.Println("~~~ Adding .plush extension to .html/.js/.md files ~~~") - return filepath.Walk(templatesDir, func(p string, info os.FileInfo, err error) error { - if err != nil { - return err - } - - if info.IsDir() { - return nil - } - - dir := filepath.Dir(p) - base := filepath.Base(p) - - var exts []string - ext := filepath.Ext(base) - for len(ext) != 0 { - if ext == ".plush" || ext == ".fizz" { - return nil - } - exts = append([]string{ext}, exts...) - base = strings.TrimSuffix(base, ext) - ext = filepath.Ext(base) - } - exts = append([]string{".plush"}, exts...) - - pn := filepath.Join(dir, base+strings.Join(exts, "")) - - fn, err := os.Create(pn) - if err != nil { - return err - } - defer fn.Close() - - fo, err := os.Open(p) - if err != nil { - return err - } - defer fo.Close() - _, err = io.Copy(fn, fo) - - defer os.Remove(p) - - return err - }) -} diff --git a/buffalo/cmd/fix/runner.go b/buffalo/cmd/fix/runner.go deleted file mode 100644 index dbbf49369..000000000 --- a/buffalo/cmd/fix/runner.go +++ /dev/null @@ -1,59 +0,0 @@ -package fix - -import ( - "fmt" - "os" - "os/exec" - - "github.com/gobuffalo/buffalo/runtime" - "github.com/gobuffalo/meta" -) - -// Check interface for runnable checker functions -type Check func(*Runner) error - -// Runner will run all compatible checks -type Runner struct { - App meta.App - Warnings []string -} - -// Run all compatible checks -func Run() error { - fmt.Printf("! This updater will attempt to update your application to Buffalo version: %s\n", runtime.Version) - if !ask("Do you wish to continue?") { - fmt.Println("~~~ cancelling update ~~~") - return nil - } - - r := &Runner{ - App: meta.New("."), - Warnings: []string{}, - } - - defer func() { - if len(r.Warnings) == 0 { - return - } - - fmt.Println("\n\n----------------------------") - fmt.Printf("!!! (%d) Warnings Were Found !!!\n\n", len(r.Warnings)) - for _, w := range r.Warnings { - fmt.Printf("[WARNING]: %s\n", w) - } - }() - - for _, c := range checks { - if r.App.WithModules { - cmd := exec.Command("go", "mod", "tidy") - cmd.Stderr = os.Stderr - if err := cmd.Run(); err != nil { - return err - } - } - if err := c(r); err != nil { - return err - } - } - return nil -} diff --git a/buffalo/cmd/fix/tools.go b/buffalo/cmd/fix/tools.go deleted file mode 100644 index 81806c5b4..000000000 --- a/buffalo/cmd/fix/tools.go +++ /dev/null @@ -1,26 +0,0 @@ -package fix - -import ( - "context" - "fmt" - "os/exec" - - "github.com/gobuffalo/genny/v2" -) - -var rTools = []string{} - -func installTools(r *Runner) error { - fmt.Println("~~~ Installing required tools ~~~") - run := genny.WetRunner(context.Background()) - g := genny.New() - app := r.App - if app.WithPop { - rTools = append(rTools, "github.com/gobuffalo/buffalo-pop/v2") - } - for _, t := range rTools { - g.Command(exec.Command("go", "get", t)) - } - run.With(g) - return run.Run() -} diff --git a/buffalo/cmd/fix/webpack.go b/buffalo/cmd/fix/webpack.go deleted file mode 100644 index 9774a5255..000000000 --- a/buffalo/cmd/fix/webpack.go +++ /dev/null @@ -1,69 +0,0 @@ -package fix - -import ( - "bytes" - "fmt" - "html/template" - "io/ioutil" - "os" - - "github.com/gobuffalo/buffalo/genny/assets/webpack" -) - -// WebpackCheck will compare the current default Buffalo -// webpack.config.js against the applications webpack.config.js. If they are -// different you have the option to overwrite the existing webpack.config.js -// file with the new one. -func WebpackCheck(r *Runner) error { - fmt.Println("~~~ Checking webpack.config.js ~~~") - - if !r.App.WithWebpack { - return nil - } - - box := webpack.Templates - - f, err := box.FindString("webpack.config.js.tmpl") - if err != nil { - return err - } - - tmpl, err := template.New("webpack").Parse(f) - if err != nil { - return err - } - - bb := &bytes.Buffer{} - err = tmpl.Execute(bb, map[string]interface{}{ - "opts": &webpack.Options{ - App: r.App, - }, - }) - if err != nil { - return err - } - - b, err := ioutil.ReadFile("webpack.config.js") - if err != nil { - return err - } - - if string(b) == bb.String() { - return nil - } - - if !ask("Your webpack.config.js file is different from the latest Buffalo template.\nWould you like to replace yours with the latest template?") { - fmt.Println("\tSkipping webpack.config.js") - return nil - } - - wf, err := os.Create("webpack.config.js") - if err != nil { - return err - } - _, err = wf.Write(bb.Bytes()) - if err != nil { - return err - } - return wf.Close() -} diff --git a/buffalo/cmd/generate.go b/buffalo/cmd/generate.go deleted file mode 100644 index 984858229..000000000 --- a/buffalo/cmd/generate.go +++ /dev/null @@ -1,22 +0,0 @@ -package cmd - -import ( - "github.com/gobuffalo/buffalo/buffalo/cmd/generate" - "github.com/spf13/cobra" -) - -var generateCmd = &cobra.Command{ - Use: "generate", - Short: "Generate application components", - Aliases: []string{"g"}, -} - -func init() { - generateCmd.AddCommand(generate.ResourceCmd) - generateCmd.AddCommand(generate.ActionCmd) - generateCmd.AddCommand(generate.TaskCmd) - generateCmd.AddCommand(generate.MailCmd) - decorate("generate", generateCmd) - - RootCmd.AddCommand(generateCmd) -} diff --git a/buffalo/cmd/generate/action.go b/buffalo/cmd/generate/action.go deleted file mode 100644 index e8fc2fe70..000000000 --- a/buffalo/cmd/generate/action.go +++ /dev/null @@ -1,58 +0,0 @@ -package generate - -import ( - "context" - "fmt" - - "github.com/gobuffalo/buffalo/genny/actions" - "github.com/gobuffalo/genny/v2" - "github.com/gobuffalo/logger" - "github.com/spf13/cobra" -) - -var actionOptions = struct { - *actions.Options - dryRun bool - verbose bool -}{ - Options: &actions.Options{}, -} - -//ActionCmd is the cmd that generates actions. -var ActionCmd = &cobra.Command{ - Use: "action [name] [handler name...]", - Aliases: []string{"a", "actions"}, - Short: "Generate new action(s)", - RunE: func(cmd *cobra.Command, args []string) error { - if len(args) == 0 { - return fmt.Errorf("you must provide a name") - } - actionOptions.Name = args[0] - if len(args) == 1 { - return fmt.Errorf("you must provide at least one action name") - } - actionOptions.Actions = args[1:] - - ctx := context.Background() - run := genny.WetRunner(ctx) - - if actionOptions.dryRun { - run = genny.DryRunner(ctx) - } - - if actionOptions.verbose { - run.Logger = logger.New(logger.DebugLevel) - } - - opts := actionOptions.Options - run.WithNew(actions.New(opts)) - return run.Run() - }, -} - -func init() { - ActionCmd.Flags().BoolVarP(&actionOptions.SkipTemplates, "skip-template", "", false, "skip generation of templates for action(s)") - ActionCmd.Flags().BoolVarP(&actionOptions.dryRun, "dry-run", "d", false, "dry run") - ActionCmd.Flags().BoolVarP(&actionOptions.verbose, "verbose", "v", false, "verbosely run the generator") - ActionCmd.Flags().StringVarP(&actionOptions.Method, "method", "m", "GET", "change the HTTP method for the generate action(s)") -} diff --git a/buffalo/cmd/generate/mailer.go b/buffalo/cmd/generate/mailer.go deleted file mode 100644 index e23122532..000000000 --- a/buffalo/cmd/generate/mailer.go +++ /dev/null @@ -1,53 +0,0 @@ -package generate - -import ( - "context" - - "github.com/gobuffalo/buffalo/genny/mail" - "github.com/gobuffalo/flect/name" - "github.com/gobuffalo/genny/v2" - "github.com/gobuffalo/genny/v2/gogen" - "github.com/gobuffalo/meta" - "github.com/spf13/cobra" -) - -var mailOptions = struct { - dryRun bool - *mail.Options -}{ - Options: &mail.Options{}, -} - -// MailCmd for generating mailers -var MailCmd = &cobra.Command{ - Use: "mailer [name]", - Short: "Generate a new mailer for Buffalo", - RunE: func(cmd *cobra.Command, args []string) error { - mailOptions.App = meta.New(".") - mailOptions.Name = name.New(args[0]) - gg, err := mail.New(mailOptions.Options) - if err != nil { - return err - } - - run := genny.WetRunner(context.Background()) - if mailOptions.dryRun { - run = genny.DryRunner(context.Background()) - } - - g, err := gogen.Fmt(mailOptions.App.Root) - if err != nil { - return err - } - run.With(g) - - gg.With(run) - return run.Run() - - }, -} - -func init() { - MailCmd.Flags().BoolVarP(&mailOptions.dryRun, "dry-run", "d", false, "dry run of the generator") - MailCmd.Flags().BoolVar(&mailOptions.SkipInit, "skip-init", false, "skip initializing mailers/") -} diff --git a/buffalo/cmd/generate/resource.go b/buffalo/cmd/generate/resource.go deleted file mode 100644 index fc6ed11cf..000000000 --- a/buffalo/cmd/generate/resource.go +++ /dev/null @@ -1,99 +0,0 @@ -package generate - -import ( - "context" - "fmt" - - "github.com/gobuffalo/attrs" - "github.com/gobuffalo/buffalo/genny/resource" - "github.com/gobuffalo/genny/v2" - "github.com/gobuffalo/logger" - "github.com/spf13/cobra" -) - -var resourceOptions = struct { - *resource.Options - Verbose bool - DryRun bool -}{ - Options: &resource.Options{}, -} - -// ResourceCmd generates a new actions/resource file and a stub test. -var ResourceCmd = &cobra.Command{ - Use: "resource [name]", - Example: resourceExamples, - Aliases: []string{"r"}, - Short: "Generate a new actions/resource file", - RunE: func(cmd *cobra.Command, args []string) error { - if len(args) == 0 { - return fmt.Errorf("you must supply a name") - } - ctx := context.Background() - run := genny.WetRunner(ctx) - if resourceOptions.DryRun { - run = genny.DryRunner(ctx) - } - - if resourceOptions.Verbose { - lg := logger.New(logger.DebugLevel) - run.Logger = lg - } - - if len(resourceOptions.Name) == 0 { - resourceOptions.Name = args[0] - } - if len(args) > 1 { - ats, err := attrs.ParseArgs(args[1:]...) - if err != nil { - return err - } - resourceOptions.Attrs = ats - } - - if err := run.WithNew(resource.New(resourceOptions.Options)); err != nil { - return err - } - return run.Run() - }, -} - -func init() { - ResourceCmd.Flags().BoolVarP(&resourceOptions.SkipMigration, "skip-migration", "s", false, "tells resource generator not-to add model migration") - ResourceCmd.Flags().BoolVarP(&resourceOptions.SkipModel, "skip-model", "", false, "tells resource generator not to generate model nor migrations") - ResourceCmd.Flags().BoolVarP(&resourceOptions.SkipTemplates, "skip-templates", "", false, "tells resource generator not to generate templates for the resource") - ResourceCmd.Flags().StringVarP(&resourceOptions.Model, "use-model", "", "", "tells resource generator to reference an existing model in generated code") - ResourceCmd.Flags().StringVarP(&resourceOptions.Name, "name", "n", "", "allows to define a different model name for the resource being generated.") - ResourceCmd.Flags().BoolVarP(&resourceOptions.DryRun, "dry-run", "d", false, "dry run") - ResourceCmd.Flags().BoolVarP(&resourceOptions.Verbose, "verbose", "v", false, "verbosely print out the go get commands") -} - -const resourceExamples = `$ buffalo g resource users -Generates: - -- actions/users.go -- actions/users_test.go -- models/user.go -- models/user_test.go -- migrations/2016020216301234_create_users.up.fizz -- migrations/2016020216301234_create_users.down.fizz - -$ buffalo g resource users --skip-migration -Generates: - -- actions/users.go -- actions/users_test.go -- models/user.go -- models/user_test.go - -$ buffalo g resource users --skip-model -Generates: - -- actions/users.go -- actions/users_test.go - -$ buffalo g resource users --use-model users -Generates: - -- actions/users.go -- actions/users_test.go` diff --git a/buffalo/cmd/generate/task.go b/buffalo/cmd/generate/task.go deleted file mode 100644 index e54e8d1c1..000000000 --- a/buffalo/cmd/generate/task.go +++ /dev/null @@ -1,52 +0,0 @@ -package generate - -import ( - "context" - "os" - - "github.com/gobuffalo/buffalo/genny/grift" - "github.com/gobuffalo/genny/v2" - "github.com/gobuffalo/genny/v2/gogen" - "github.com/spf13/cobra" -) - -var taskOptions = struct { - dryRun bool - *grift.Options -}{ - Options: &grift.Options{}, -} - -//TaskCmd is the command called with the generate grift cli. -var TaskCmd = &cobra.Command{ - Use: "task [name]", - Aliases: []string{"t", "grift"}, - Short: "Generate a grift task", - RunE: func(cmd *cobra.Command, args []string) error { - run := genny.WetRunner(context.Background()) - if taskOptions.dryRun { - run = genny.DryRunner(context.Background()) - } - - opts := taskOptions.Options - opts.Args = args - g, err := grift.New(opts) - if err != nil { - return err - } - run.With(g) - - pwd, _ := os.Getwd() - g, err = gogen.Fmt(pwd) - if err != nil { - return err - } - run.With(g) - - return run.Run() - }, -} - -func init() { - TaskCmd.Flags().BoolVarP(&taskOptions.dryRun, "dry-run", "d", false, "dry run of the generator") -} diff --git a/buffalo/cmd/info.go b/buffalo/cmd/info.go deleted file mode 100644 index d9423e6f9..000000000 --- a/buffalo/cmd/info.go +++ /dev/null @@ -1,63 +0,0 @@ -package cmd - -import ( - "context" - "os/exec" - "time" - - "github.com/gobuffalo/buffalo/genny/info" - "github.com/gobuffalo/clara/v2/genny/rx" - "github.com/gobuffalo/genny/v2" - "github.com/gobuffalo/meta" - "github.com/spf13/cobra" -) - -var infoOptions = struct { - Clara *rx.Options - Info *info.Options -}{ - Clara: &rx.Options{}, - Info: &info.Options{}, -} - -// infoCmd represents the info command -var infoCmd = &cobra.Command{ - Use: "info", - Short: "Print diagnostic information (useful for debugging)", - RunE: func(cmd *cobra.Command, args []string) error { - ctx, cancel := context.WithTimeout(context.Background(), 5*time.Second) - defer cancel() - - run := genny.WetRunner(ctx) - - _, err := run.LookPath("clara") - if err == nil { - // use the clara binary if available - run.WithRun(func(r *genny.Runner) error { - return r.Exec(exec.Command("clara")) - }) - } else { - // no clara binary, so use the one bundled with buffalo - copts := infoOptions.Clara - if err := run.WithNew(rx.New(copts)); err != nil { - return err - } - } - - iopts := infoOptions.Info - if err := run.WithNew(info.New(iopts)); err != nil { - return err - } - - return run.Run() - }, -} - -func init() { - app := meta.New(".") - infoOptions.Clara.App = app - infoOptions.Info.App = app - - decorate("info", RootCmd) - RootCmd.AddCommand(infoCmd) -} diff --git a/buffalo/cmd/internal/integration/build_test.go b/buffalo/cmd/internal/integration/build_test.go deleted file mode 100644 index aac009c49..000000000 --- a/buffalo/cmd/internal/integration/build_test.go +++ /dev/null @@ -1,83 +0,0 @@ -// +build integration_test - -package integration - -import ( - "os" - "path/filepath" - "testing" - - "github.com/stretchr/testify/require" -) - -// Test_New_Build_Nominal creates a new nominal -// app and then builds it -func Test_New_Build_Nominal(t *testing.T) { - r := require.New(t) - args := []string{ - "new", - "build_nominal", - "--skip-pop", - "--skip-webpack", - "--vcs=none", - } - err := call(args, func(tdir string) { - ad := filepath.Join(tdir, "build_nominal") - r.DirExists(ad) - os.Chdir(ad) - - args = []string{"build"} - err := exec(args) - r.NoError(err) - }) - r.NoError(err) - -} - -// Test_New_Build_Api creates a new API -// app and then builds it -func Test_New_Build_Api(t *testing.T) { - r := require.New(t) - args := []string{ - "new", - "build_api", - "--skip-pop", - "--api", - "--vcs=none", - } - err := call(args, func(tdir string) { - ad := filepath.Join(tdir, "build_api") - r.DirExists(ad) - os.Chdir(ad) - - args = []string{"build"} - err := exec(args) - r.NoError(err) - }) - r.NoError(err) - -} -func Test_New_Build_Sqlite(t *testing.T) { - r := require.New(t) - - args := []string{ - "new", - "build_sqlite", - "--db-type=sqlite3", - "--skip-webpack", - "--vcs=none", - } - - err := call(args, func(tdir string) { - ad := filepath.Join(tdir, "build_sqlite") - r.DirExists(ad) - r.FileExists(filepath.Join(ad, "database.yml")) - os.Chdir(ad) - - args = []string{"build"} - err := exec(args) - r.NoError(err) - }) - r.NoError(err) - -} diff --git a/buffalo/cmd/internal/integration/integration_test.go b/buffalo/cmd/internal/integration/integration_test.go deleted file mode 100644 index 422230ea1..000000000 --- a/buffalo/cmd/internal/integration/integration_test.go +++ /dev/null @@ -1,67 +0,0 @@ -// +build integration_test - -package integration - -import ( - "os" - "path/filepath" - - "github.com/gobuffalo/buffalo/buffalo/cmd" - "github.com/gobuffalo/envy" - "github.com/gobuffalo/packr/v2/jam" - "github.com/markbates/safe" -) - -func call(args []string, fn func(dir string)) error { - jam.Clean() - defer jam.Clean() - ogp, err := envy.MustGet("GOPATH") - defer envy.MustSet("GOPATH", ogp) - gp := os.TempDir() - err = envy.MustSet("GOPATH", gp) - if err != nil { - return err - } - - if err != nil { - return err - } - if fn == nil { - if err := exec(args); err != nil { - return err - } - } - tdir := filepath.Join(gp, "src", "github.com", "gobuffalo", "testapp") - defer os.RemoveAll(tdir) - if err != nil { - return err - } - if err := os.RemoveAll(tdir); err != nil { - return err - } - if err := os.MkdirAll(tdir, 0755); err != nil { - return err - } - - pwd, err := os.Getwd() - if err != nil { - return err - } - os.Chdir(tdir) - os.Setenv("PWD", tdir) - defer os.Chdir(pwd) - defer os.Setenv("PWD", pwd) - - if err := exec(args); err != nil { - return err - } - return safe.Run(func() { - fn(tdir) - }) -} - -func exec(args []string) error { - c := cmd.RootCmd - c.SetArgs(args) - return c.Execute() -} diff --git a/buffalo/cmd/internal/integration/new_test.go b/buffalo/cmd/internal/integration/new_test.go deleted file mode 100644 index 93e63b21c..000000000 --- a/buffalo/cmd/internal/integration/new_test.go +++ /dev/null @@ -1,43 +0,0 @@ -// +build integration_test - -package integration - -import ( - "fmt" - "strings" - "testing" - - "github.com/gobuffalo/pop/v5" - "github.com/stretchr/testify/require" -) - -func Test_NewCmd_NoName(t *testing.T) { - err := call([]string{"new"}, nil) - r := require.New(t) - r.Error(err) - r.EqualError(err, "you must enter a name for your new application") -} - -func Test_NewCmd_InvalidDBType(t *testing.T) { - args := []string{ - "new", - "coke", - "--db-type", - "a", - } - err := call(args, nil) - r := require.New(t) - r.Error(err) - r.EqualError(err, fmt.Sprintf(`unknown dialect "a" expecting one of %s`, strings.Join(pop.AvailableDialects, ", "))) -} - -func Test_NewCmd_ForbiddenAppName(t *testing.T) { - args := []string{ - "new", - "buffalo", - } - err := call(args, nil) - r := require.New(t) - r.Error(err) - r.EqualError(err, "name buffalo is not allowed, try a different application name") -} diff --git a/buffalo/cmd/new.go b/buffalo/cmd/new.go deleted file mode 100644 index b58819482..000000000 --- a/buffalo/cmd/new.go +++ /dev/null @@ -1,349 +0,0 @@ -package cmd - -import ( - "bufio" - "bytes" - "context" - "fmt" - "os" - "os/exec" - "os/user" - "path/filepath" - "strings" - - pop "github.com/gobuffalo/buffalo-pop/v2/genny/newapp" - "github.com/gobuffalo/buffalo/genny/assets/standard" - "github.com/gobuffalo/buffalo/genny/assets/webpack" - "github.com/gobuffalo/buffalo/genny/ci" - "github.com/gobuffalo/buffalo/genny/docker" - "github.com/gobuffalo/buffalo/genny/newapp/api" - "github.com/gobuffalo/buffalo/genny/newapp/core" - "github.com/gobuffalo/buffalo/genny/newapp/web" - "github.com/gobuffalo/buffalo/genny/refresh" - "github.com/gobuffalo/buffalo/genny/vcs" - "github.com/gobuffalo/buffalo/internal/takeon/github.com/markbates/errx" - "github.com/gobuffalo/envy" - fname "github.com/gobuffalo/flect/name" - "github.com/gobuffalo/genny/v2" - "github.com/gobuffalo/genny/v2/gogen" - "github.com/gobuffalo/logger" - "github.com/gobuffalo/meta" - "github.com/gobuffalo/packr/v2/plog" - "github.com/gobuffalo/plush/v4" - "github.com/sirupsen/logrus" - "github.com/spf13/cobra" - "github.com/spf13/pflag" - "github.com/spf13/viper" -) - -type newAppOptions struct { - Options *core.Options - Module string - Force bool - Verbose bool - DryRun bool -} - -func parseNewOptions(args []string) (newAppOptions, error) { - nopts := newAppOptions{ - Force: viper.GetBool("force"), - Verbose: viper.GetBool("verbose"), - DryRun: viper.GetBool("dry-run"), - Module: viper.GetString("module"), - } - - if len(args) == 0 { - return nopts, fmt.Errorf("you must enter a name for your new application") - } - if configError != nil { - return nopts, configError - } - - pwd, err := os.Getwd() - if err != nil { - return nopts, err - } - app := meta.New(pwd) - app.WithGrifts = true - app.Name = fname.New(args[0]) - app.Bin = filepath.Join("bin", app.Name.String()) - - if app.Name.String() == "." { - app.Name = fname.New(filepath.Base(app.Root)) - } else { - app.Root = filepath.Join(app.Root, app.Name.File().String()) - } - - if len(nopts.Module) == 0 { - aa := meta.New(app.Root) - app.PackageRoot(aa.PackagePkg) - } else { - app.PackageRoot(nopts.Module) - } - - app.AsAPI = viper.GetBool("api") - app.VCS = viper.GetString("vcs") - - app.WithPop = !viper.GetBool("skip-pop") - app.WithWebpack = !viper.GetBool("skip-webpack") - app.WithYarn = !viper.GetBool("skip-yarn") - app.WithNodeJs = app.WithWebpack - app.AsWeb = !app.AsAPI - - if app.AsAPI { - app.WithWebpack = false - app.WithYarn = false - app.WithNodeJs = false - } - - opts := &core.Options{} - - x := viper.GetString("docker") - if len(x) > 0 && x != "none" { - opts.Docker = &docker.Options{ - Style: x, - } - app.WithDocker = true - } - - x = viper.GetString("ci-provider") - if len(x) > 0 && x != "none" { - opts.CI = &ci.Options{ - Provider: x, - DBType: viper.GetString("db-type"), - } - } - - if len(app.VCS) > 0 && app.VCS != "none" { - opts.VCS = &vcs.Options{ - Provider: app.VCS, - } - } - - if app.WithPop { - d := viper.GetString("db-type") - if d == "sqlite3" { - app.WithSQLite = true - } - - opts.Pop = &pop.Options{ - Prefix: app.Name.File().String(), - Dialect: d, - } - } - - opts.Refresh = &refresh.Options{} - - opts.App = app - nopts.Options = opts - return nopts, nil -} - -var configError error - -var newCmd = &cobra.Command{ - Use: "new [name]", - Short: "Creates a new Buffalo application", - RunE: func(cmd *cobra.Command, args []string) error { - // Restore default values after usage (useful for testing) - defer func() { - cmd.Flags().Visit(func(f *pflag.Flag) { - f.Value.Set(f.DefValue) - }) - viper.BindPFlags(cmd.Flags()) - }() - - nopts, err := parseNewOptions(args) - if err != nil { - return err - } - - opts := nopts.Options - app := opts.App - - ctx := context.Background() - - run := genny.WetRunner(ctx) - lg := logger.New(logger.DebugLevel) - run.Logger = lg - if nopts.Verbose { - plog.Logger = lg - } - - if nopts.DryRun { - run = genny.DryRunner(ctx) - } - run.Root = app.Root - if nopts.Force { - os.RemoveAll(app.Root) - } - - var gg *genny.Group - - if app.AsAPI { - gg, err = api.New(&api.Options{ - Options: opts, - }) - } else { - wo := &web.Options{ - Options: opts, - } - if app.WithWebpack { - wo.Webpack = &webpack.Options{} - } else { - wo.Standard = &standard.Options{} - } - gg, err = web.New(wo) - } - if err != nil { - if errx.Unwrap(err) == core.ErrNotInGoPath { - return notInGoPath(app) - } - return err - } - - g := genny.New() - g.Command(exec.Command("go", "mod", "tidy")) - gg.Add(g) - - g = genny.New() - g.RunFn(func(r *genny.Runner) error { - deps, err := exec.Command("go", "list", "-f", "{{if not (or .Main .Indirect)}}{{.Path}}{{end}}", "-m", "all").Output() - if err != nil { - return err - } - - scanner := bufio.NewScanner(bytes.NewReader(deps)) - for scanner.Scan() { - if err := exec.Command("go", "get", scanner.Text()).Run(); err != nil { - return err - } - } - - if err := scanner.Err(); err != nil { - return err - } - - return nil - }) - gg.Add(g) - - g = genny.New() - g.Command(exec.Command("go", "mod", "tidy")) - gg.Add(g) - - run.WithGroup(gg) - - if err := run.WithNew(gogen.Fmt(app.Root)); err != nil { - return err - } - - // setup VCS last - if opts.VCS != nil { - // add the VCS generator - if err := run.WithNew(vcs.New(opts.VCS)); err != nil { - return err - } - } - - if err := run.Run(); err != nil { - return err - } - - run.Logger.Infof("Congratulations! Your application, %s, has been successfully built!", app.Name) - run.Logger.Infof("You can find your new application at: %v", app.Root) - run.Logger.Info("Please read the README.md file in your new application for next steps on running your application.") - return nil - }, -} - -func currentUser() (string, error) { - if _, err := exec.LookPath("git"); err == nil { - if b, err := exec.Command("git", "config", "github.user").Output(); err == nil { - return string(b), nil - } - } - u, err := user.Current() - if err != nil { - return "", err - } - username := u.Username - if t := strings.Split(username, `\`); len(t) > 0 { - username = t[len(t)-1] - } - return username, nil -} - -func notInGoPath(app meta.App) error { - username, err := currentUser() - if err != nil { - return err - } - pwd, _ := os.Getwd() - t, err := plush.Render(notInGoWorkspace, plush.NewContextWith(map[string]interface{}{ - "name": app.Name, - "gopath": envy.GoPath(), - "current": pwd, - "username": username, - })) - if err != nil { - return err - } - logrus.Error(t) - os.Exit(-1) - return nil -} - -func init() { - decorate("new", newCmd) - RootCmd.AddCommand(newCmd) - newCmd.Flags().Bool("api", false, "skip all front-end code and configure for an API server") - newCmd.Flags().BoolP("force", "f", false, "delete and remake if the app already exists") - newCmd.Flags().BoolP("dry-run", "d", false, "dry run") - newCmd.Flags().BoolP("verbose", "v", false, "verbosely print out the go get commands") - newCmd.Flags().Bool("skip-pop", false, "skips adding pop/soda to your app") - newCmd.Flags().Bool("skip-webpack", false, "skips adding Webpack to your app") - newCmd.Flags().Bool("skip-yarn", false, "use npm instead of yarn for frontend dependencies management") - newCmd.Flags().String("db-type", "postgres", fmt.Sprintf("specify the type of database you want to use [%s]", strings.Join(pop.AvailableDialects, ", "))) - newCmd.Flags().String("docker", "multi", "specify the type of Docker file to generate [none, multi, standard]") - newCmd.Flags().String("ci-provider", "none", "specify the type of ci file you would like buffalo to generate [none, travis, gitlab-ci, circleci]") - newCmd.Flags().String("vcs", "git", "specify the Version control system you would like to use [none, git, bzr]") - newCmd.Flags().String("module", "", "specify the root module (package) name. [defaults to 'automatic']") - viper.BindPFlags(newCmd.Flags()) - cfgFile := newCmd.PersistentFlags().String("config", "", "config file (default is $HOME/.buffalo.yaml)") - skipConfig := newCmd.Flags().Bool("skip-config", false, "skips using the config file") - cobra.OnInitialize(initConfig(skipConfig, cfgFile)) -} - -func initConfig(skipConfig *bool, cfgFile *string) func() { - return func() { - if *skipConfig { - return - } - - var err error - if *cfgFile != "" { // enable ability to specify config file via flag - viper.SetConfigFile(*cfgFile) - // Will error only if the --config flag is used - if err = viper.ReadInConfig(); err != nil { - configError = err - } - } else { - viper.SetConfigName(".buffalo") // name of config file (without extension) - viper.AddConfigPath("$HOME") // adding home directory as first search path - viper.AutomaticEnv() // read in environment variables that match - viper.ReadInConfig() - } - - } -} - -const notInGoWorkspace = `Oops! It would appear that you are not in your Go Workspace. - -Your $GOPATH is set to "<%= gopath %>". - -You are currently in "<%= current %>". - -The standard location for putting Go projects is something along the lines of "$GOPATH/src/github.com/<%= username %>/<%= name %>" (adjust accordingly). - -We recommend you go to "$GOPATH/src/github.com/<%= username %>/" and try "buffalo new <%= name %>" again.` diff --git a/buffalo/cmd/new_test.go b/buffalo/cmd/new_test.go deleted file mode 100644 index 1d619dd05..000000000 --- a/buffalo/cmd/new_test.go +++ /dev/null @@ -1 +0,0 @@ -package cmd diff --git a/buffalo/cmd/plugins.go b/buffalo/cmd/plugins.go deleted file mode 100644 index 44b699346..000000000 --- a/buffalo/cmd/plugins.go +++ /dev/null @@ -1,36 +0,0 @@ -package cmd - -import ( - pluginscmd "github.com/gobuffalo/buffalo/buffalo/cmd/plugins" - "github.com/gobuffalo/buffalo/plugins" - "github.com/markbates/oncer" - "github.com/sirupsen/logrus" - "github.com/spf13/cobra" -) - -func init() { - RootCmd.AddCommand(pluginscmd.PluginsCmd) -} - -var _plugs plugins.List - -func plugs() plugins.List { - oncer.Do("buffalo/cmd/plugins", func() { - var err error - _plugs, err = plugins.Available() - if err != nil { - _plugs = plugins.List{} - logrus.Errorf("error loading plugins %s", err) - } - }) - return _plugs -} - -func decorate(name string, cmd *cobra.Command) { - pugs := plugs() - for _, c := range pugs[name] { - anywhereCommands = append(anywhereCommands, c.Name) - cc := plugins.Decorate(c) - cmd.AddCommand(cc) - } -} diff --git a/buffalo/cmd/plugins/add.go b/buffalo/cmd/plugins/add.go deleted file mode 100644 index b2e075fc3..000000000 --- a/buffalo/cmd/plugins/add.go +++ /dev/null @@ -1,68 +0,0 @@ -package plugins - -import ( - "context" - "os" - "path" - "strings" - - "github.com/gobuffalo/buffalo/genny/add" - "github.com/gobuffalo/buffalo/internal/takeon/github.com/markbates/errx" - "github.com/gobuffalo/buffalo/plugins/plugdeps" - "github.com/gobuffalo/genny/v2" - "github.com/gobuffalo/meta" - "github.com/spf13/cobra" -) - -var addOptions = struct { - dryRun bool - buildTags []string -}{} - -var addCmd = &cobra.Command{ - Use: "add", - Short: "adds plugins to config/buffalo-plugins.toml", - RunE: func(cmd *cobra.Command, args []string) error { - run := genny.WetRunner(context.Background()) - if addOptions.dryRun { - run = genny.DryRunner(context.Background()) - } - - app := meta.New(".") - plugs, err := plugdeps.List(app) - if err != nil && (errx.Unwrap(err) != plugdeps.ErrMissingConfig) { - return err - } - - tags := app.BuildTags("", addOptions.buildTags...) - for _, a := range args { - a = strings.TrimSpace(a) - bin := path.Base(a) - plug := plugdeps.Plugin{ - Binary: bin, - GoGet: a, - Tags: tags, - } - if _, err := os.Stat(a); err == nil { - plug.Local = a - plug.GoGet = "" - } - plugs.Add(plug) - } - g, err := add.New(&add.Options{ - App: app, - Plugins: plugs.List(), - }) - if err != nil { - return err - } - run.With(g) - - return run.Run() - }, -} - -func init() { - addCmd.Flags().BoolVarP(&addOptions.dryRun, "dry-run", "d", false, "dry run") - addCmd.Flags().StringSliceVarP(&addOptions.buildTags, "tags", "t", []string{}, "build tags") -} diff --git a/buffalo/cmd/plugins/available.go b/buffalo/cmd/plugins/available.go deleted file mode 100644 index a95078d00..000000000 --- a/buffalo/cmd/plugins/available.go +++ /dev/null @@ -1,26 +0,0 @@ -package plugins - -import ( - "github.com/gobuffalo/buffalo/plugins/plugcmds" - "github.com/spf13/cobra" -) - -// Available used to manage all of the available commands -// for the plugins -var Available = plugcmds.NewAvailable() - -// PluginsCmd is the "root" command for the plugin features. -var PluginsCmd = &cobra.Command{ - Use: "plugins", - Short: "tools for working with buffalo plugins", -} - -func init() { - PluginsCmd.AddCommand(addCmd) - PluginsCmd.AddCommand(listCmd) - PluginsCmd.AddCommand(removeCmd) - PluginsCmd.AddCommand(installCmd) - PluginsCmd.AddCommand(cacheCmd) - - Available.ListenFor("buffalo:setup:.+", Listen) -} diff --git a/buffalo/cmd/plugins/cache.go b/buffalo/cmd/plugins/cache.go deleted file mode 100644 index 2fda606c8..000000000 --- a/buffalo/cmd/plugins/cache.go +++ /dev/null @@ -1,22 +0,0 @@ -package plugins - -import ( - "github.com/gobuffalo/buffalo/buffalo/cmd/plugins/internal/cache" - "github.com/spf13/cobra" -) - -// cacheCmd represents the cache command -var cacheCmd = &cobra.Command{ - Use: "cache", - Short: "commands for managing the plugins cache", - RunE: func(cmd *cobra.Command, args []string) error { - return cache.ListCmd.RunE(cmd, args) - }, -} - -func init() { - cacheCmd.AddCommand(cache.CleanCmd) - cacheCmd.AddCommand(cache.ListCmd) - cacheCmd.AddCommand(cache.BuildCmd) - PluginsCmd.AddCommand(cacheCmd) -} diff --git a/buffalo/cmd/plugins/encode.go b/buffalo/cmd/plugins/encode.go deleted file mode 100644 index f44d165e5..000000000 --- a/buffalo/cmd/plugins/encode.go +++ /dev/null @@ -1,22 +0,0 @@ -package plugins - -import ( - "bytes" - - "github.com/gobuffalo/buffalo/plugins/plugdeps" - "github.com/gobuffalo/genny/v2" - "github.com/gobuffalo/meta" -) - -// NewEncodePluginsRunner will return a runner that will encode the plugins file -func NewEncodePluginsRunner(app meta.App, plugs *plugdeps.Plugins) func(r *genny.Runner) error { - return func(r *genny.Runner) error { - p := plugdeps.ConfigPath(app) - bb := &bytes.Buffer{} - if err := plugs.Encode(bb); err != nil { - return err - } - - return r.File(genny.NewFile(p, bb)) - } -} diff --git a/buffalo/cmd/plugins/install.go b/buffalo/cmd/plugins/install.go deleted file mode 100644 index 98a6abdd2..000000000 --- a/buffalo/cmd/plugins/install.go +++ /dev/null @@ -1,85 +0,0 @@ -package plugins - -import ( - "bytes" - "context" - "io" - "os" - "path" - "strings" - - "github.com/gobuffalo/buffalo/genny/plugins/install" - "github.com/gobuffalo/buffalo/internal/takeon/github.com/markbates/errx" - "github.com/gobuffalo/buffalo/plugins/plugdeps" - "github.com/gobuffalo/genny/v2" - "github.com/gobuffalo/logger" - "github.com/gobuffalo/meta" - "github.com/spf13/cobra" -) - -var installOptions = struct { - dryRun bool - vendor bool - verbose bool -}{} - -var installCmd = &cobra.Command{ - Use: "install", - Short: "installs plugins listed in config/buffalo-plugins.toml", - RunE: func(cmd *cobra.Command, args []string) error { - run := genny.WetRunner(context.Background()) - if installOptions.dryRun { - run = genny.DryRunner(context.Background()) - if installOptions.vendor { - run.FileFn = func(f genny.File) (genny.File, error) { - bb := &bytes.Buffer{} - if _, err := io.Copy(bb, f); err != nil { - return f, err - } - return genny.NewFile(f.Name(), bb), nil - } - } - } - - app := meta.New(".") - plugs, err := plugdeps.List(app) - if err != nil && (errx.Unwrap(err) != plugdeps.ErrMissingConfig) { - return err - } - - for _, a := range args { - a = strings.TrimSpace(a) - bin := path.Base(a) - plug := plugdeps.Plugin{ - Binary: bin, - GoGet: a, - } - if _, err := os.Stat(a); err == nil { - plug.Local = a - plug.GoGet = "" - } - plugs.Add(plug) - } - gg, err := install.New(&install.Options{ - App: app, - Plugins: plugs.List(), - Vendor: installOptions.vendor, - }) - if err != nil { - return err - } - run.WithGroup(gg) - - if installOptions.verbose { - run.Logger = logger.New(logger.DebugLevel) - } - - return run.Run() - }, -} - -func init() { - installCmd.Flags().BoolVarP(&installOptions.dryRun, "dry-run", "d", false, "dry run") - installCmd.Flags().BoolVarP(&installOptions.verbose, "verbose", "v", false, "turn on verbose logging") - installCmd.Flags().BoolVar(&installOptions.vendor, "vendor", false, "will install plugin binaries into ./plugins [WINDOWS not currently supported]") -} diff --git a/buffalo/cmd/plugins/internal/cache/build.go b/buffalo/cmd/plugins/internal/cache/build.go deleted file mode 100644 index 3d6378c64..000000000 --- a/buffalo/cmd/plugins/internal/cache/build.go +++ /dev/null @@ -1,19 +0,0 @@ -package cache - -import ( - "os" - - "github.com/gobuffalo/buffalo/plugins" - "github.com/spf13/cobra" -) - -// BuildCmd rebuilds the plugins cache -var BuildCmd = &cobra.Command{ - Use: "build", - Short: "rebuilds the plugins cache", - RunE: func(cmd *cobra.Command, args []string) error { - os.RemoveAll(plugins.CachePath) - _, err := plugins.Available() - return err - }, -} diff --git a/buffalo/cmd/plugins/internal/cache/clean.go b/buffalo/cmd/plugins/internal/cache/clean.go deleted file mode 100644 index 013cd0fb7..000000000 --- a/buffalo/cmd/plugins/internal/cache/clean.go +++ /dev/null @@ -1,18 +0,0 @@ -package cache - -import ( - "os" - - "github.com/gobuffalo/buffalo/plugins" - "github.com/spf13/cobra" -) - -// CleanCmd cleans the plugins cache -var CleanCmd = &cobra.Command{ - Use: "clean", - Short: "cleans the plugins cache", - RunE: func(cmd *cobra.Command, args []string) error { - os.RemoveAll(plugins.CachePath) - return nil - }, -} diff --git a/buffalo/cmd/plugins/internal/cache/list.go b/buffalo/cmd/plugins/internal/cache/list.go deleted file mode 100644 index 47f77b095..000000000 --- a/buffalo/cmd/plugins/internal/cache/list.go +++ /dev/null @@ -1,34 +0,0 @@ -package cache - -import ( - "encoding/json" - "fmt" - "io/ioutil" - - "github.com/gobuffalo/buffalo/plugins" - "github.com/spf13/cobra" -) - -// ListCmd displays the contents of the plugin cache -var ListCmd = &cobra.Command{ - Use: "list", - Short: "displays the contents of the plugin cache", - RunE: func(cmd *cobra.Command, args []string) error { - b, err := ioutil.ReadFile(plugins.CachePath) - if err != nil { - return err - } - m := map[string]interface{}{} - err = json.Unmarshal(b, &m) - if err != nil { - return err - } - is, err := json.MarshalIndent(m, "", " ") - if err != nil { - return err - } - - fmt.Println(string(is)) - return nil - }, -} diff --git a/buffalo/cmd/plugins/list.go b/buffalo/cmd/plugins/list.go deleted file mode 100644 index 69cca8573..000000000 --- a/buffalo/cmd/plugins/list.go +++ /dev/null @@ -1,57 +0,0 @@ -package plugins - -import ( - "bytes" - "fmt" - "os" - "path/filepath" - "sort" - "text/tabwriter" - - pluginsin "github.com/gobuffalo/buffalo/plugins" - "github.com/spf13/cobra" -) - -var listCmd = &cobra.Command{ - Use: "list", - Short: "a list of installed buffalo plugins", - RunE: func(cmd *cobra.Command, args []string) error { - list, err := pluginsin.Available() - if err != nil { - return err - } - - var cmds pluginsin.Commands - - for _, l := range list { - cmds = append(cmds, l...) - } - - sort.Slice(cmds, func(i, j int) bool { - c1 := cmds[i] - c2 := cmds[j] - - return c1.Name+c1.Name < c2.Name+c2.Name - }) - - w := tabwriter.NewWriter(os.Stdout, 0, 0, 1, ' ', tabwriter.Debug) - fmt.Fprintln(w, "Bin\tCommand\tDescription") - fmt.Fprintln(w, "---\t---\t---") - - for _, c := range cmds { - if c.Name == "" { - continue - } - sb := &bytes.Buffer{} - sb.WriteString("buffalo ") - if c.BuffaloCommand != "root" { - sb.WriteString(c.BuffaloCommand) - sb.WriteString(" ") - } - sb.WriteString(c.Name) - fmt.Fprintf(w, "%s\t%s\t%s\n", filepath.Base(c.Binary), sb.String(), c.Description) - } - - return w.Flush() - }, -} diff --git a/buffalo/cmd/plugins/listen.go b/buffalo/cmd/plugins/listen.go deleted file mode 100644 index 21d09a8ea..000000000 --- a/buffalo/cmd/plugins/listen.go +++ /dev/null @@ -1,35 +0,0 @@ -package plugins - -import ( - "context" - - "github.com/gobuffalo/buffalo/genny/plugins/install" - "github.com/gobuffalo/buffalo/plugins" - "github.com/gobuffalo/events" - "github.com/gobuffalo/genny/v2" -) - -// Listen is listener for plugin events pipeline -func Listen(e events.Event) error { - if e.Kind != "buffalo:setup:started" { - return nil - } - - run := genny.WetRunner(context.Background()) - - opts := &install.Options{} - gg, err := install.New(opts) - if err != nil { - return err - } - run.WithGroup(gg) - payload := e.Payload - payload["plugins"] = opts.Plugins - events.EmitPayload(plugins.EvtSetupStarted, payload) - if err := run.Run(); err != nil { - events.EmitError(plugins.EvtSetupErr, err, payload) - return err - } - events.EmitPayload(plugins.EvtSetupFinished, payload) - return nil -} diff --git a/buffalo/cmd/plugins/remove.go b/buffalo/cmd/plugins/remove.go deleted file mode 100644 index dde541bf7..000000000 --- a/buffalo/cmd/plugins/remove.go +++ /dev/null @@ -1,56 +0,0 @@ -package plugins - -import ( - "context" - "fmt" - "path" - "strings" - - "github.com/gobuffalo/buffalo/internal/takeon/github.com/markbates/errx" - "github.com/gobuffalo/buffalo/plugins/plugdeps" - "github.com/gobuffalo/genny/v2" - "github.com/gobuffalo/meta" - "github.com/spf13/cobra" -) - -var removeOptions = struct { - dryRun bool - vendor bool -}{} - -var removeCmd = &cobra.Command{ - Use: "remove", - Short: "removes plugin from config/buffalo-plugins.toml", - RunE: func(cmd *cobra.Command, args []string) error { - if len(args) == 0 { - return fmt.Errorf("you must specify at least one package") - } - run := genny.WetRunner(context.Background()) - if removeOptions.dryRun { - run = genny.DryRunner(context.Background()) - } - - app := meta.New(".") - plugs, err := plugdeps.List(app) - if err != nil && (errx.Unwrap(err) != plugdeps.ErrMissingConfig) { - return err - } - - for _, a := range args { - a = strings.TrimSpace(a) - bin := path.Base(a) - plugs.Remove(plugdeps.Plugin{ - Binary: bin, - GoGet: a, - }) - } - - run.WithRun(NewEncodePluginsRunner(app, plugs)) - return run.Run() - }, -} - -func init() { - removeCmd.Flags().BoolVarP(&removeOptions.dryRun, "dry-run", "d", false, "dry run") - removeCmd.Flags().BoolVar(&removeOptions.vendor, "vendor", false, "will install plugin binaries into ./plugins [WINDOWS not currently supported]") -} diff --git a/buffalo/cmd/root.go b/buffalo/cmd/root.go deleted file mode 100644 index 9d4ada248..000000000 --- a/buffalo/cmd/root.go +++ /dev/null @@ -1,82 +0,0 @@ -package cmd - -import ( - "fmt" - "os" - "strings" - - "github.com/gobuffalo/buffalo" - "github.com/sirupsen/logrus" - "github.com/spf13/cobra" -) - -var anywhereCommands = []string{"new", "version", "info", "help"} - -// RootCmd is the hook for all of the other commands in the buffalo binary. -var RootCmd = &cobra.Command{ - SilenceErrors: true, - Use: "buffalo", - Short: "Build Buffalo applications with ease", - PersistentPreRunE: func(cmd *cobra.Command, args []string) error { - if err := buffalo.LoadPlugins(); err != nil { - return err - } - isFreeCommand := false - for _, freeCmd := range anywhereCommands { - if freeCmd == cmd.Name() { - isFreeCommand = true - } - } - - if isFreeCommand { - return nil - } - - if !insideBuffaloProject() { - return fmt.Errorf("you need to be inside your buffalo project path to run this command") - } - - return nil - }, -} - -// Execute adds all child commands to the root command sets flags appropriately. -// This is called by main.main(). It only needs to happen once to the rootCmd. -func Execute() { - if err := RootCmd.Execute(); err != nil { - if strings.Contains(err.Error(), dbNotFound) || strings.Contains(err.Error(), popNotFound) { - logrus.Errorf(popInstallInstructions) - os.Exit(-1) - } - logrus.Errorf("Error: %s", err) - if strings.Contains(err.Error(), dbNotFound) || strings.Contains(err.Error(), popNotFound) { - fmt.Println(popInstallInstructions) - os.Exit(-1) - } - os.Exit(-1) - } -} - -const dbNotFound = `unknown command "db"` -const popNotFound = `unknown command "pop"` -const popInstallInstructions = `Pop support has been moved to the https://github.com/gobuffalo/buffalo-pop plugin. - -!! PLEASE READ PLUGIN DOCUMENTATION - https://gobuffalo.io/en/docs/plugins - -Buffalo Plugins Installation*: - - $ buffalo plugins install github.com/gobuffalo/buffalo-pop - -` - -func init() { - decorate("root", RootCmd) -} - -func insideBuffaloProject() bool { - if _, err := os.Stat(".buffalo.dev.yml"); err != nil { - return false - } - - return true -} diff --git a/buffalo/cmd/routes.go b/buffalo/cmd/routes.go deleted file mode 100644 index 100317901..000000000 --- a/buffalo/cmd/routes.go +++ /dev/null @@ -1,19 +0,0 @@ -package cmd - -import ( - grifts "github.com/markbates/grift/cmd" - "github.com/spf13/cobra" -) - -func init() { - decorate("routes", routesCmd) - RootCmd.AddCommand(routesCmd) -} - -var routesCmd = &cobra.Command{ - Use: "routes", - Short: "Print all defined routes", - RunE: func(c *cobra.Command, args []string) error { - return grifts.Run("buffalo task", []string{"routes"}) - }, -} diff --git a/buffalo/cmd/setup.go b/buffalo/cmd/setup.go deleted file mode 100644 index f85520f73..000000000 --- a/buffalo/cmd/setup.go +++ /dev/null @@ -1,178 +0,0 @@ -package cmd - -import ( - "bytes" - "fmt" - "os" - "os/exec" - "strings" - - "github.com/gobuffalo/events" - "github.com/gobuffalo/meta" - "github.com/sirupsen/logrus" - "github.com/spf13/cobra" -) - -var setupOptions = struct { - verbose bool - dropDatabases bool -}{} - -type setupCheck func(meta.App) error - -var setupCmd = &cobra.Command{ - Use: "setup", - Short: "Setup a newly created, or recently checked out application.", - Long: `Setup runs through checklist to make sure dependencies are setup correctly. - -Asset Pipeline (if used): -* Runs "npm install" or "yarn install" to install asset dependencies. - -Database (if used): -* Runs "buffalo db create -a" to create databases. -* Runs "buffalo db migrate" to run database migrations. -* Runs "buffalo task db:seed" to seed the database (if the task exists). - -Tests: -* Runs "buffalo test" to confirm the application's tests are running properly. -`, - RunE: func(cmd *cobra.Command, args []string) error { - app := meta.New(".") - payload := events.Payload{ - "app": app, - } - events.EmitPayload(EvtSetupStarted, payload) - for _, check := range []setupCheck{assetCheck, databaseCheck, testCheck} { - err := check(app) - if err != nil { - events.EmitError(EvtSetupErr, err, payload) - return err - } - } - events.EmitPayload(EvtSetupFinished, payload) - return nil - }, -} - -func testCheck(meta.App) error { - err := run(exec.Command("buffalo", "test")) - if err != nil { - return fmt.Errorf("We encountered the following error when trying to run your applications tests:\n%s", err) - } - return nil -} - -func databaseCheck(app meta.App) error { - if !app.WithPop { - return nil - } - for _, check := range []setupCheck{dbCreateCheck, dbMigrateCheck, dbSeedCheck} { - err := check(app) - if err != nil { - return err - } - } - return nil -} - -func dbCreateCheck(meta.App) error { - if setupOptions.dropDatabases { - err := run(exec.Command("buffalo", "pop", "drop", "-a")) - if err != nil { - return fmt.Errorf("We encountered an error when trying to drop your application's databases. Please check to make sure that your database server is running and that the username and passwords found in the database.yml are properly configured and set up on your database server.\n %s", err) - } - } - err := run(exec.Command("buffalo", "pop", "create", "-a")) - if err != nil { - return fmt.Errorf("We encountered an error when trying to create your application's databases. Please check to make sure that your database server is running and that the username and passwords found in the database.yml are properly configured and set up on your database server.\n %s", err) - } - return nil -} - -func dbMigrateCheck(meta.App) error { - err := run(exec.Command("buffalo", "pop", "migrate")) - if err != nil { - return fmt.Errorf("We encountered the following error when trying to migrate your database:\n%s", err) - } - return nil -} - -func dbSeedCheck(meta.App) error { - cmd := exec.Command("buffalo", "t", "list") - out, err := cmd.Output() - if err != nil { - // no tasks configured, so return - return nil - } - if bytes.Contains(out, []byte("db:seed")) { - err := run(exec.Command("buffalo", "task", "db:seed")) - if err != nil { - return fmt.Errorf("We encountered the following error when trying to seed your database:\n%s", err) - } - } - return nil -} - -func assetCheck(app meta.App) error { - if !app.WithWebpack { - return nil - } - if app.WithYarn { - return yarnCheck(app) - } - return npmCheck(app) -} - -func npmCheck(app meta.App) error { - err := nodeCheck(app) - if err != nil { - return err - } - err = run(exec.Command("npm", "install", "--no-progress")) - if err != nil { - return fmt.Errorf("We encountered the following error when trying to install your asset dependencies using npm:\n%s", err) - } - return nil -} - -func yarnCheck(app meta.App) error { - if err := nodeCheck(app); err != nil { - return err - } - if _, err := exec.LookPath("yarnpkg"); err != nil { - err := run(exec.Command("npm", "install", "-g", "yarn")) - if err != nil { - return fmt.Errorf("This application require yarn, and we could not find it installed on your system. We tried to install it for you, but ran into the following error:\n%s", err) - } - } - if err := run(exec.Command("yarnpkg", "install", "--no-progress")); err != nil { - return fmt.Errorf("We encountered the following error when trying to install your asset dependencies using yarn:\n%s", err) - } - return nil -} - -func nodeCheck(meta.App) error { - if _, err := exec.LookPath("node"); err != nil { - return fmt.Errorf("this application requires node, and we could not find it installed on your system please install node and try again") - } - if _, err := exec.LookPath("npm"); err != nil { - return fmt.Errorf("this application requires npm, and we could not find it installed on your system please install npm and try again") - } - return nil -} - -func run(cmd *exec.Cmd) error { - logrus.Infof("--> %s", strings.Join(cmd.Args, " ")) - cmd.Stdin = os.Stdin - cmd.Stderr = os.Stderr - cmd.Stdout = os.Stdout - return cmd.Run() -} - -func init() { - setupCmd.Flags().BoolVarP(&setupOptions.verbose, "verbose", "v", false, "run with verbose output") - setupCmd.Flags().BoolVarP(&setupOptions.dropDatabases, "drop", "d", false, "drop existing databases") - - decorate("setup", setupCmd) - RootCmd.AddCommand(setupCmd) -} diff --git a/buffalo/cmd/task.go b/buffalo/cmd/task.go deleted file mode 100644 index 198d18516..000000000 --- a/buffalo/cmd/task.go +++ /dev/null @@ -1,25 +0,0 @@ -package cmd - -import ( - grifts "github.com/markbates/grift/cmd" - "github.com/spf13/cobra" -) - -// task command is a forward to grift tasks -var taskCommand = &cobra.Command{ - Use: "task", - Aliases: []string{"t", "tasks"}, - Short: "Run grift tasks", - DisableFlagParsing: true, - RunE: func(c *cobra.Command, args []string) error { - return grifts.Run("buffalo task", args) - }, - PersistentPreRunE: func(cmd *cobra.Command, args []string) error { - return nil - }, -} - -func init() { - decorate("task", taskCommand) - RootCmd.AddCommand(taskCommand) -} diff --git a/buffalo/cmd/test.go b/buffalo/cmd/test.go deleted file mode 100644 index 509f01fab..000000000 --- a/buffalo/cmd/test.go +++ /dev/null @@ -1,241 +0,0 @@ -package cmd - -import ( - "bytes" - "fmt" - "io" - "os" - "os/exec" - "path/filepath" - "strings" - - "github.com/gobuffalo/envy" - "github.com/gobuffalo/meta" - "github.com/sirupsen/logrus" - - "github.com/gobuffalo/pop/v5" - "github.com/spf13/cobra" -) - -var forceMigrations = false - -func init() { - decorate("test", testCmd) - RootCmd.AddCommand(testCmd) -} - -var testCmd = &cobra.Command{ - Use: "test", - Short: "Run the tests for the Buffalo app. Use --force-migrations to skip schema load.", - DisableFlagParsing: true, - RunE: func(c *cobra.Command, args []string) error { - os.Setenv("GO_ENV", "test") - if _, err := os.Stat("database.yml"); err == nil { - // there's a database - test, err := pop.Connect("test") - if err != nil { - return err - } - - // drop the test db: - test.Dialect.DropDB() - - // create the test db: - err = test.Dialect.CreateDB() - if err != nil { - return err - } - - // Read and remove --force-migrations flag from args: - forceMigrations = strings.Contains(strings.Join(args, ""), "--force-migrations") - args = cutArg("--force-migrations", args) - if forceMigrations { - fm, err := pop.NewFileMigrator("./migrations", test) - - if err != nil { - return err - } - - if err := fm.Up(); err != nil { - return err - } - - return testRunner(args) - } - - if schema := findSchema(); schema != nil { - err = test.Dialect.LoadSchema(schema) - if err != nil { - return err - } - } - } - return testRunner(args) - }, -} - -func findSchema() io.Reader { - if f, err := os.Open(filepath.Join("migrations", "schema.sql")); err == nil { - return f - } - if dev, err := pop.Connect("development"); err == nil { - schema := &bytes.Buffer{} - if err = dev.Dialect.DumpSchema(schema); err == nil { - return schema - } - } - - if test, err := pop.Connect("test"); err == nil { - fm, err := pop.NewFileMigrator("./migrations", test) - if err != nil { - return nil - } - - if err := fm.Up(); err == nil { - return nil - } - } - return nil -} - -func testRunner(args []string) error { - var mFlag bool - var query string - - commandArgs := []string{} - packageArgs := []string{} - - var lastArg string - for index, arg := range args { - switch arg { - case "-run", "-m": - query = args[index+1] - mFlag = true - case "-v", "-timeout": - commandArgs = append(commandArgs, arg) - default: - if lastArg == "-timeout" { - commandArgs = append(commandArgs, arg) - } else if lastArg != "-run" && lastArg != "-m" { - packageArgs = append(packageArgs, arg) - } - } - - lastArg = arg - } - - cmd := newTestCmd(commandArgs) - if mFlag { - return mFlagRunner{ - query: query, - args: commandArgs, - pargs: packageArgs, - }.Run() - } - - pkgs, err := testPackages(packageArgs) - if err != nil { - return err - } - - cmd.Args = append(cmd.Args, pkgs...) - logrus.Info(strings.Join(cmd.Args, " ")) - return cmd.Run() -} - -type mFlagRunner struct { - query string - args []string - pargs []string -} - -func (m mFlagRunner) Run() error { - app := meta.New(".") - pwd, _ := os.Getwd() - defer os.Chdir(pwd) - - pkgs, err := testPackages(m.pargs) - if err != nil { - return err - } - - var errs bool - for _, p := range pkgs { - os.Chdir(pwd) - - if p == app.PackagePkg { - continue - } - - p = strings.TrimPrefix(p, app.PackagePkg+string(filepath.Separator)) - os.Chdir(p) - - cmd := newTestCmd(m.args) - if hasTestify(p) { - cmd.Args = append(cmd.Args, "-testify.m", m.query) - } else { - cmd.Args = append(cmd.Args, "-run", m.query) - } - - logrus.Info(strings.Join(cmd.Args, " ")) - - if err := cmd.Run(); err != nil { - errs = true - } - } - if errs { - return fmt.Errorf("errors running tests") - } - return nil -} - -func hasTestify(p string) bool { - cmd := exec.Command("go", "test", "-thisflagdoesntexist") - b, _ := cmd.Output() - return bytes.Contains(b, []byte("-testify.m")) -} - -func testPackages(givenArgs []string) ([]string, error) { - // If there are args, then assume these are the packages to test. - // - // Instead of always returning all packages from 'go list ./...', just - // return the given packages in this case - if len(givenArgs) > 0 { - return givenArgs, nil - } - - args := []string{} - out, err := exec.Command(envy.Get("GO_BIN", "go"), "list", "./...").Output() - if err != nil { - return args, err - } - pkgs := bytes.Split(bytes.TrimSpace(out), []byte("\n")) - for _, p := range pkgs { - if !strings.Contains(string(p), "/vendor/") { - args = append(args, string(p)) - } - } - return args, nil -} - -func newTestCmd(args []string) *exec.Cmd { - cargs := []string{"test", "-p", "1"} - app := meta.New(".") - cargs = append(cargs, "-tags", app.BuildTags("development").String()) - cargs = append(cargs, args...) - cmd := exec.Command(envy.Get("GO_BIN", "go"), cargs...) - cmd.Stdin = os.Stdin - cmd.Stdout = os.Stdout - cmd.Stderr = os.Stderr - return cmd -} - -func cutArg(arg string, args []string) []string { - for i, v := range args { - if v == arg { - return append(args[:i], args[i+1:]...) - } - } - - return args -} diff --git a/buffalo/cmd/test_test.go b/buffalo/cmd/test_test.go deleted file mode 100644 index 3e23b29dd..000000000 --- a/buffalo/cmd/test_test.go +++ /dev/null @@ -1,27 +0,0 @@ -package cmd - -import ( - "reflect" - "testing" -) - -func Test_CutArg(t *testing.T) { - var tests = []struct { - arg string - args []string - expected []string - }{ - {"b", []string{"a", "b", "c"}, []string{"a", "c"}}, - {"--is-not-in-args", []string{"a", "b", "c"}, []string{"a", "b", "c"}}, - {"--foo", []string{"--foo", "--bar", "--baz"}, []string{"--bar", "--baz"}}, - {"--force-migrations", []string{"./actions/", "--force-migrations"}, []string{"./actions/"}}, - {"--force-migrations", []string{"./actions/", "--force-migrations", "-m", "Test_HomeHandler"}, []string{"./actions/", "-m", "Test_HomeHandler"}}, - } - - for _, tt := range tests { - result := cutArg(tt.arg, tt.args) - if !reflect.DeepEqual(result, tt.expected) { - t.Errorf("got %s, want %s when cutting %s from %s", result, tt.expected, tt.arg, tt.args) - } - } -} \ No newline at end of file diff --git a/buffalo/cmd/version.go b/buffalo/cmd/version.go deleted file mode 100644 index 927a514dc..000000000 --- a/buffalo/cmd/version.go +++ /dev/null @@ -1,40 +0,0 @@ -package cmd - -import ( - "encoding/json" - "os" - - "github.com/gobuffalo/buffalo/runtime" - "github.com/sirupsen/logrus" - "github.com/spf13/cobra" -) - -var jsonOutput bool - -func init() { - decorate("version", versionCmd) - versionCmd.Flags().BoolVar(&jsonOutput, "json", false, "Print information in json format") - - RootCmd.AddCommand(versionCmd) -} - -var versionCmd = &cobra.Command{ - Use: "version", - Short: "Print the version information", - Run: func(c *cobra.Command, args []string) { - if jsonOutput { - build := runtime.BuildInfo{} - build.Version = runtime.Version - enc := json.NewEncoder(os.Stderr) - enc.SetIndent("", " ") - enc.Encode(build) - return - } - - logrus.Infof("Buffalo version is: %s", runtime.Version) - }, - // needed to override the root level pre-run func - PersistentPreRunE: func(c *cobra.Command, args []string) error { - return nil - }, -} diff --git a/buffalo/cmd/version_test.go b/buffalo/cmd/version_test.go deleted file mode 100644 index 5da3c1a63..000000000 --- a/buffalo/cmd/version_test.go +++ /dev/null @@ -1,30 +0,0 @@ -package cmd - -import ( - "testing" - - "github.com/stretchr/testify/require" -) - -func Test_VersionCmd(t *testing.T) { - r := require.New(t) - - c := RootCmd - c.SetArgs([]string{ - "version", - }) - err := c.Execute() - r.NoError(err) -} - -func Test_VersionJSONCmd(t *testing.T) { - r := require.New(t) - - c := RootCmd - c.SetArgs([]string{ - "version", - "--json", - }) - err := c.Execute() - r.NoError(err) -} diff --git a/buffalo/main.go b/buffalo/main.go deleted file mode 100644 index 325c65e05..000000000 --- a/buffalo/main.go +++ /dev/null @@ -1,9 +0,0 @@ -package main - -import ( - "github.com/gobuffalo/buffalo/buffalo/cmd" -) - -func main() { - cmd.Execute() -} diff --git a/genny/actions/_fixtures/inputs/clean/actions/app.go b/genny/actions/_fixtures/inputs/clean/actions/app.go deleted file mode 100644 index ebfc56cd1..000000000 --- a/genny/actions/_fixtures/inputs/clean/actions/app.go +++ /dev/null @@ -1,18 +0,0 @@ -package actions - -import ( - "github.com/gobuffalo/buffalo" -) - -var app *buffalo.App - -func App() *buffalo.App { - if app == nil { - app = buffalo.New(buffalo.Options{}) - app.GET("/", HomeHandler) - - app.ServeFiles("/", assetsBox) // serve files from the public directory - } - - return app -} diff --git a/genny/actions/_fixtures/inputs/existing/actions/app.go.tmpl b/genny/actions/_fixtures/inputs/existing/actions/app.go.tmpl deleted file mode 100644 index 6f8b7caa5..000000000 --- a/genny/actions/_fixtures/inputs/existing/actions/app.go.tmpl +++ /dev/null @@ -1,19 +0,0 @@ -package actions - -import ( - "github.com/gobuffalo/buffalo" -) - -var app *buffalo.App - -func App() *buffalo.App { - if app == nil { - app = buffalo.New(buffalo.Options{}) - app.GET("/", HomeHandler) - - app.GET("/user/edit", UserEdit) - app.ServeFiles("/", assetsBox) // serve files from the public directory - } - - return app -} diff --git a/genny/actions/_fixtures/inputs/existing/actions/user.go.tmpl b/genny/actions/_fixtures/inputs/existing/actions/user.go.tmpl deleted file mode 100644 index b02820733..000000000 --- a/genny/actions/_fixtures/inputs/existing/actions/user.go.tmpl +++ /dev/null @@ -1,13 +0,0 @@ -package actions - -import ( - "net/http" - - "github.com/gobuffalo/buffalo" -) - -// UserEdit default implementation. -func UserEdit(c buffalo.Context) error { - // custom existing work - return c.Render(http.StatusOK, r.HTML("user/edit.html")) -} diff --git a/genny/actions/_fixtures/inputs/existing/actions/user_test.go.tmpl b/genny/actions/_fixtures/inputs/existing/actions/user_test.go.tmpl deleted file mode 100644 index 2a72d205a..000000000 --- a/genny/actions/_fixtures/inputs/existing/actions/user_test.go.tmpl +++ /dev/null @@ -1,6 +0,0 @@ -package actions - -func (as *ActionSuite) Test_User_Edit() { - // custom test work - as.Fail("Not Implemented!") -} diff --git a/genny/actions/_fixtures/inputs/existing/templates/user/edit.plush.html b/genny/actions/_fixtures/inputs/existing/templates/user/edit.plush.html deleted file mode 100644 index 90780ea5a..000000000 --- a/genny/actions/_fixtures/inputs/existing/templates/user/edit.plush.html +++ /dev/null @@ -1 +0,0 @@ -

User#Edit

\ No newline at end of file diff --git a/genny/actions/_fixtures/outputs/clean/actions/app.go.tmpl b/genny/actions/_fixtures/outputs/clean/actions/app.go.tmpl deleted file mode 100644 index 26fe0fe6d..000000000 --- a/genny/actions/_fixtures/outputs/clean/actions/app.go.tmpl +++ /dev/null @@ -1,19 +0,0 @@ -package actions - -import ( - "github.com/gobuffalo/buffalo" -) - -var app *buffalo.App - -func App() *buffalo.App { - if app == nil { - app = buffalo.New(buffalo.Options{}) - app.GET("/", HomeHandler) - - app.GET("/user/index", UserIndex) - app.ServeFiles("/", assetsBox) // serve files from the public directory - } - - return app -} diff --git a/genny/actions/_fixtures/outputs/clean/actions/user.go.tmpl b/genny/actions/_fixtures/outputs/clean/actions/user.go.tmpl deleted file mode 100644 index c24f36ade..000000000 --- a/genny/actions/_fixtures/outputs/clean/actions/user.go.tmpl +++ /dev/null @@ -1,12 +0,0 @@ -package actions - -import ( - "net/http" - - "github.com/gobuffalo/buffalo" -) - -// UserIndex default implementation. -func UserIndex(c buffalo.Context) error { - return c.Render(http.StatusOK, r.HTML("user/index.html")) -} diff --git a/genny/actions/_fixtures/outputs/clean/actions/user_test.go.tmpl b/genny/actions/_fixtures/outputs/clean/actions/user_test.go.tmpl deleted file mode 100644 index 69949f7d1..000000000 --- a/genny/actions/_fixtures/outputs/clean/actions/user_test.go.tmpl +++ /dev/null @@ -1,5 +0,0 @@ -package actions - -func (as *ActionSuite) Test_User_Index() { - as.Fail("Not Implemented!") -} diff --git a/genny/actions/_fixtures/outputs/clean/templates/user/index.plush.html b/genny/actions/_fixtures/outputs/clean/templates/user/index.plush.html deleted file mode 100644 index a400e2f5d..000000000 --- a/genny/actions/_fixtures/outputs/clean/templates/user/index.plush.html +++ /dev/null @@ -1 +0,0 @@ -

User#Index

diff --git a/genny/actions/_fixtures/outputs/existing/actions/app.go.tmpl b/genny/actions/_fixtures/outputs/existing/actions/app.go.tmpl deleted file mode 100644 index 0af30d6f5..000000000 --- a/genny/actions/_fixtures/outputs/existing/actions/app.go.tmpl +++ /dev/null @@ -1,20 +0,0 @@ -package actions - -import ( - "github.com/gobuffalo/buffalo" -) - -var app *buffalo.App - -func App() *buffalo.App { - if app == nil { - app = buffalo.New(buffalo.Options{}) - app.GET("/", HomeHandler) - - app.GET("/user/edit", UserEdit) - app.GET("/user/show", UserShow) - app.ServeFiles("/", assetsBox) // serve files from the public directory - } - - return app -} diff --git a/genny/actions/_fixtures/outputs/existing/actions/user.go.tmpl b/genny/actions/_fixtures/outputs/existing/actions/user.go.tmpl deleted file mode 100644 index 194804594..000000000 --- a/genny/actions/_fixtures/outputs/existing/actions/user.go.tmpl +++ /dev/null @@ -1,18 +0,0 @@ -package actions - -import ( - "net/http" - - "github.com/gobuffalo/buffalo" -) - -// UserEdit default implementation. -func UserEdit(c buffalo.Context) error { - // custom existing work - return c.Render(http.StatusOK, r.HTML("user/edit.html")) -} - -// UserShow default implementation. -func UserShow(c buffalo.Context) error { - return c.Render(http.StatusOK, r.HTML("user/show.html")) -} diff --git a/genny/actions/_fixtures/outputs/existing/actions/user_test.go.tmpl b/genny/actions/_fixtures/outputs/existing/actions/user_test.go.tmpl deleted file mode 100644 index f3a9f8b1b..000000000 --- a/genny/actions/_fixtures/outputs/existing/actions/user_test.go.tmpl +++ /dev/null @@ -1,10 +0,0 @@ -package actions - -func (as *ActionSuite) Test_User_Edit() { - // custom test work - as.Fail("Not Implemented!") -} - -func (as *ActionSuite) Test_User_Show() { - as.Fail("Not Implemented!") -} diff --git a/genny/actions/_fixtures/outputs/existing/templates/user/edit.plush.html b/genny/actions/_fixtures/outputs/existing/templates/user/edit.plush.html deleted file mode 100644 index 90780ea5a..000000000 --- a/genny/actions/_fixtures/outputs/existing/templates/user/edit.plush.html +++ /dev/null @@ -1 +0,0 @@ -

User#Edit

\ No newline at end of file diff --git a/genny/actions/_fixtures/outputs/existing/templates/user/show.plush.html b/genny/actions/_fixtures/outputs/existing/templates/user/show.plush.html deleted file mode 100644 index ba61b250d..000000000 --- a/genny/actions/_fixtures/outputs/existing/templates/user/show.plush.html +++ /dev/null @@ -1 +0,0 @@ -

User#Show

\ No newline at end of file diff --git a/genny/actions/_fixtures/outputs/multi/actions/app.go.tmpl b/genny/actions/_fixtures/outputs/multi/actions/app.go.tmpl deleted file mode 100644 index 137b3a9d9..000000000 --- a/genny/actions/_fixtures/outputs/multi/actions/app.go.tmpl +++ /dev/null @@ -1,20 +0,0 @@ -package actions - -import ( - "github.com/gobuffalo/buffalo" -) - -var app *buffalo.App - -func App() *buffalo.App { - if app == nil { - app = buffalo.New(buffalo.Options{}) - app.GET("/", HomeHandler) - - app.GET("/user/show", UserShow) - app.GET("/user/edit", UserEdit) - app.ServeFiles("/", assetsBox) // serve files from the public directory - } - - return app -} diff --git a/genny/actions/_fixtures/outputs/multi/actions/user.go.tmpl b/genny/actions/_fixtures/outputs/multi/actions/user.go.tmpl deleted file mode 100644 index 79689d17c..000000000 --- a/genny/actions/_fixtures/outputs/multi/actions/user.go.tmpl +++ /dev/null @@ -1,17 +0,0 @@ -package actions - -import ( - "net/http" - - "github.com/gobuffalo/buffalo" -) - -// UserShow default implementation. -func UserShow(c buffalo.Context) error { - return c.Render(http.StatusOK, r.HTML("user/show.html")) -} - -// UserEdit default implementation. -func UserEdit(c buffalo.Context) error { - return c.Render(http.StatusOK, r.HTML("user/edit.html")) -} diff --git a/genny/actions/_fixtures/outputs/multi/actions/user_test.go.tmpl b/genny/actions/_fixtures/outputs/multi/actions/user_test.go.tmpl deleted file mode 100644 index 39313628d..000000000 --- a/genny/actions/_fixtures/outputs/multi/actions/user_test.go.tmpl +++ /dev/null @@ -1,9 +0,0 @@ -package actions - -func (as *ActionSuite) Test_User_Show() { - as.Fail("Not Implemented!") -} - -func (as *ActionSuite) Test_User_Edit() { - as.Fail("Not Implemented!") -} diff --git a/genny/actions/_fixtures/outputs/multi/templates/user/edit.plush.html b/genny/actions/_fixtures/outputs/multi/templates/user/edit.plush.html deleted file mode 100644 index 90780ea5a..000000000 --- a/genny/actions/_fixtures/outputs/multi/templates/user/edit.plush.html +++ /dev/null @@ -1 +0,0 @@ -

User#Edit

\ No newline at end of file diff --git a/genny/actions/_fixtures/outputs/multi/templates/user/show.plush.html b/genny/actions/_fixtures/outputs/multi/templates/user/show.plush.html deleted file mode 100644 index ba61b250d..000000000 --- a/genny/actions/_fixtures/outputs/multi/templates/user/show.plush.html +++ /dev/null @@ -1 +0,0 @@ -

User#Show

\ No newline at end of file diff --git a/genny/actions/actions-packr.go b/genny/actions/actions-packr.go deleted file mode 100644 index 22612f6c7..000000000 --- a/genny/actions/actions-packr.go +++ /dev/null @@ -1,8 +0,0 @@ -// +build !skippackr -// Code generated by github.com/gobuffalo/packr/v2. DO NOT EDIT. - -// You can use the "packr clean" command to clean up this, -// and any other packr generated files. -package actions - -import _ "github.com/gobuffalo/buffalo/packrd" diff --git a/genny/actions/actions.go b/genny/actions/actions.go deleted file mode 100644 index 20678aa49..000000000 --- a/genny/actions/actions.go +++ /dev/null @@ -1,84 +0,0 @@ -package actions - -import ( - "fmt" - "strings" - - "github.com/gobuffalo/flect/name" - "github.com/gobuffalo/genny/v2" - "github.com/gobuffalo/genny/v2/gogen" - "github.com/gobuffalo/packr/v2" -) - -var box = packr.New("github.com/gobuffalo/buffalo/genny/actions/templates", "../actions/templates") - -// New returns a new generator for build actions on a Buffalo app -func New(opts *Options) (*genny.Generator, error) { - g := genny.New() - - if err := opts.Validate(); err != nil { - return g, err - } - - g.RunFn(construct(opts)) - return g, nil -} - -func construct(opts *Options) genny.RunFn { - return func(r *genny.Runner) error { - pres := &presenter{ - Name: name.New(opts.Name), - Data: data{}, - Helpers: data{}, - Options: opts, - } - - if err := buildActions(pres)(r); err != nil { - return err - } - - if err := buildTests(pres)(r); err != nil { - return err - } - - if err := updateApp(pres)(r); err != nil { - return err - } - - if !opts.SkipTemplates { - if err := buildTemplates(pres)(r); err != nil { - return err - } - } - return nil - } -} - -func transform(pres *presenter, f genny.File) (genny.File, error) { - pres.Data["actions"] = pres.Actions - pres.Data["name"] = pres.Name - t := gogen.TemplateTransformer(pres.Data, pres.Helpers) - return t.Transform(f) -} - -func updateApp(pres *presenter) genny.RunFn { - return func(r *genny.Runner) error { - f, err := r.FindFile("actions/app.go") - if err != nil { - return err - } - var lines []string - body := f.String() - for _, a := range pres.Actions { - e := fmt.Sprintf("app.%s(\"/%s/%s\", %s%s)", strings.ToUpper(pres.Options.Method), pres.Name.Underscore(), a.Underscore(), pres.Name.Pascalize(), a.Pascalize()) - if !strings.Contains(body, e) { - lines = append(lines, e) - } - } - f, err = gogen.AddInsideBlock(f, "app == nil", strings.Join(lines, "\n\t\t")) - if err != nil { - return err - } - return r.File(f) - } -} diff --git a/genny/actions/actions_test.go b/genny/actions/actions_test.go deleted file mode 100644 index 9c9ce4ce3..000000000 --- a/genny/actions/actions_test.go +++ /dev/null @@ -1,165 +0,0 @@ -package actions - -import ( - "fmt" - "strings" - "testing" - - "github.com/gobuffalo/genny/v2" - "github.com/gobuffalo/genny/v2/gentest" - packr "github.com/gobuffalo/packr/v2" - "github.com/google/go-cmp/cmp" - "github.com/stretchr/testify/require" -) - -func compare(a, b string) bool { - a = strings.TrimSpace(a) - a = strings.Replace(a, "\r", "", -1) - b = strings.TrimSpace(b) - b = strings.Replace(b, "\r", "", -1) - a = strings.TrimSpace(a) - b = strings.TrimSpace(b) - res := cmp.Equal(a, b) - if !res { - fmt.Println(cmp.Diff(a, b)) - } - return res -} - -func runner() *genny.Runner { - run := gentest.NewRunner() - run.Disk.AddBox(packr.New("actions/start/test", "../actions/_fixtures/inputs/clean")) - return run -} - -func Test_New(t *testing.T) { - r := require.New(t) - - g, err := New(&Options{ - Name: "user", - Actions: []string{"index"}, - }) - r.NoError(err) - - run := runner() - run.With(g) - - r.NoError(run.Run()) - - res := run.Results() - - r.Len(res.Commands, 0) - // r.Len(res.Files, 4) - - box := packr.New("genny/actions/Test_New", "../actions/_fixtures/outputs/clean") - - files := []string{"actions/user.go.tmpl", "actions/app.go.tmpl", "actions/user_test.go.tmpl", "templates/user/index.plush.html"} - - for _, s := range files { - x, err := box.FindString(s) - r.NoError(err) - f, err := res.Find(strings.TrimSuffix(s, ".tmpl")) - r.NoError(err) - fmt.Printf("\nfile %s", s) - r.True(compare(x, f.String())) - } -} - -func Test_New_Multi(t *testing.T) { - r := require.New(t) - - g, err := New(&Options{ - Name: "user", - Actions: []string{"show", "edit"}, - }) - r.NoError(err) - - run := runner() - run.With(g) - - err = run.Run() - r.NoError(err) - - res := run.Results() - - r.Len(res.Commands, 0) - - box := packr.New("genny/actions/Test_New_Multi", "../actions/_fixtures/outputs/multi") - - files := []string{"actions/user.go.tmpl", "actions/app.go.tmpl", "actions/user_test.go.tmpl", "templates/user/show.plush.html", "templates/user/edit.plush.html"} - - for _, s := range files { - x, err := box.FindString(s) - r.NoError(err) - f, err := res.Find(strings.TrimSuffix(s, ".tmpl")) - r.NoError(err) - fmt.Printf("\nfile %s", f) - r.True(compare(x, f.String())) - } -} - -func Test_New_Multi_Existing(t *testing.T) { - r := require.New(t) - - g, err := New(&Options{ - Name: "user", - Actions: []string{"show", "edit"}, - }) - r.NoError(err) - - run := gentest.NewRunner() - ins := packr.New("Test_New_Multi_Existing_input", "../actions/_fixtures/inputs/existing") - for _, n := range ins.List() { - x, err := ins.FindString(n) - r.NoError(err) - n = strings.TrimSuffix(n, ".tmpl") - run.Disk.Add(genny.NewFileS(n, x)) - } - run.With(g) - - err = run.Run() - r.NoError(err) - - res := run.Results() - - r.Len(res.Commands, 0) - - box := packr.New("genny/actions/Test_New_Multi_Existing", "../actions/_fixtures/outputs/existing") - - files := []string{"actions/user.go.tmpl", "actions/app.go.tmpl", "actions/user_test.go.tmpl", "templates/user/show.plush.html", "templates/user/edit.plush.html"} - - for _, s := range files { - x, err := box.FindString(s) - r.NoError(err) - f, err := res.Find(strings.TrimSuffix(s, ".tmpl")) - r.NoError(err) - r.True(compare(x, f.String())) - } -} - -func Test_New_SkipTemplates(t *testing.T) { - r := require.New(t) - - g, err := New(&Options{ - Name: "user", - Actions: []string{"index"}, - SkipTemplates: true, - }) - r.NoError(err) - - run := runner() - run.With(g) - - r.NoError(run.Run()) - - res := run.Results() - - r.Len(res.Commands, 0) - - files := []string{"templates/user/index.html"} - - for _, s := range files { - _, err := res.Find(s) - r.Error(err) - } -} diff --git a/genny/actions/build_actions.go b/genny/actions/build_actions.go deleted file mode 100644 index daa2a4eed..000000000 --- a/genny/actions/build_actions.go +++ /dev/null @@ -1,83 +0,0 @@ -package actions - -import ( - "fmt" - "strings" - - "github.com/gobuffalo/flect/name" - "github.com/gobuffalo/genny/v2" -) - -// buildActions is the top level action builder -// it determines whether to build a new actions/foo.go file -// or append to an existing one -func buildActions(pres *presenter) genny.RunFn { - return func(r *genny.Runner) error { - fn := fmt.Sprintf("actions/%s.go", pres.Name.File()) - xf, err := r.FindFile(fn) - if err != nil { - return buildNewActions(fn, pres)(r) - } - if err := appendActions(xf, pres)(r); err != nil { - return err - } - - return nil - } -} - -// buildNewActions builds a brand new actions/foo.go file -// and files it with actions -func buildNewActions(fn string, pres *presenter) genny.RunFn { - return func(r *genny.Runner) error { - for _, a := range pres.Options.Actions { - pres.Actions = append(pres.Actions, name.New(a)) - } - - h, err := box.FindString("actions_header.go.tmpl") - if err != nil { - return err - } - a, err := box.FindString("actions.go.tmpl") - if err != nil { - return err - } - - f := genny.NewFileS(fn+".tmpl", h+a) - - f, err = transform(pres, f) - if err != nil { - return err - } - return r.File(f) - } -} - -// appendActions appends *only* actions that don't exist in -// actions/foo.go. if the action already exists it is not touched. -func appendActions(f genny.File, pres *presenter) genny.RunFn { - return func(r *genny.Runner) error { - body := f.String() - for _, ac := range pres.Options.Actions { - a := name.New(ac) - x := fmt.Sprintf("func %s%s", pres.Name.Pascalize(), a.Pascalize()) - if strings.Contains(body, x) { - continue - } - pres.Actions = append(pres.Actions, a) - } - - a, err := box.FindString("actions.go.tmpl") - if err != nil { - return err - } - - f = genny.NewFileS(f.Name()+".tmpl", f.String()+a) - - f, err = transform(pres, f) - if err != nil { - return err - } - return r.File(f) - } -} diff --git a/genny/actions/build_templates.go b/genny/actions/build_templates.go deleted file mode 100644 index 1fe50ca88..000000000 --- a/genny/actions/build_templates.go +++ /dev/null @@ -1,29 +0,0 @@ -package actions - -import ( - "fmt" - - "github.com/gobuffalo/genny/v2" -) - -func buildTemplates(pres *presenter) genny.RunFn { - return func(r *genny.Runner) error { - f, err := box.FindString("view.plush.html.tmpl") - if err != nil { - return err - } - for _, a := range pres.Actions { - pres.Data["action"] = a - fn := fmt.Sprintf("templates/%s/%s.plush.html.tmpl", pres.Name.Folder(), a.File()) - xf := genny.NewFileS(fn, f) - xf, err = transform(pres, xf) - if err != nil { - return err - } - if err := r.File(xf); err != nil { - return err - } - } - return nil - } -} diff --git a/genny/actions/build_tests.go b/genny/actions/build_tests.go deleted file mode 100644 index c1dadc90d..000000000 --- a/genny/actions/build_tests.go +++ /dev/null @@ -1,61 +0,0 @@ -package actions - -import ( - "fmt" - - "github.com/gobuffalo/genny/v2" -) - -// buildTests is the top level action/test builder -// it determines whether to build a new actions/foo_test.go file -// or append to an existing one -func buildTests(pres *presenter) genny.RunFn { - return func(r *genny.Runner) error { - fn := fmt.Sprintf("actions/%s_test.go", pres.Name.File()) - xf, err := r.FindFile(fn) - if err != nil { - return buildNewTests(fn, pres)(r) - } - return appendTests(xf, pres)(r) - } -} - -// buildNewTests builds a brand new actions/foo_test.go file -// and files it with tests -func buildNewTests(fn string, pres *presenter) genny.RunFn { - return func(r *genny.Runner) error { - h, err := box.FindString("tests_header.go.tmpl") - if err != nil { - return err - } - a, err := box.FindString("test.go.tmpl") - if err != nil { - return err - } - - f := genny.NewFileS(fn+".tmpl", h+a) - - f, err = transform(pres, f) - if err != nil { - return err - } - return r.File(f) - } -} - -// appendTests appends *only* tests that don't exist in -// actions/foo_test.go. if the test already exists it is not touched. -func appendTests(f genny.File, pres *presenter) genny.RunFn { - return func(r *genny.Runner) error { - a, err := box.FindString("test.go.tmpl") - if err != nil { - return err - } - f := genny.NewFileS(f.Name()+".tmpl", f.String()+a) - f, err = transform(pres, f) - if err != nil { - return err - } - return r.File(f) - } -} diff --git a/genny/actions/options.go b/genny/actions/options.go deleted file mode 100644 index f929d390f..000000000 --- a/genny/actions/options.go +++ /dev/null @@ -1,36 +0,0 @@ -package actions - -import ( - "fmt" - - "github.com/gobuffalo/meta" -) - -// Options for the actions generator -type Options struct { - App meta.App - Name string - Actions []string - Method string - SkipTemplates bool -} - -// Validate that options are usuable -func (opts *Options) Validate() error { - if len(opts.Name) == 0 { - return fmt.Errorf("you must provide a name") - } - - if len(opts.Actions) == 0 { - return fmt.Errorf("you must provide at least one action name") - } - - if opts.App.IsZero() { - opts.App = meta.New(".") - } - - if len(opts.Method) == 0 { - opts.Method = "GET" - } - return nil -} diff --git a/genny/actions/options_test.go b/genny/actions/options_test.go deleted file mode 100644 index df1fd7f6d..000000000 --- a/genny/actions/options_test.go +++ /dev/null @@ -1,24 +0,0 @@ -package actions - -import ( - "testing" - - "github.com/stretchr/testify/require" -) - -func Test_Options_Validate(t *testing.T) { - r := require.New(t) - - opts := &Options{} - err := opts.Validate() - r.Error(err) - - opts.Name = "user" - - err = opts.Validate() - r.Error(err) - - opts.Actions = []string{"index", "show"} - err = opts.Validate() - r.NoError(err) -} diff --git a/genny/actions/presenter.go b/genny/actions/presenter.go deleted file mode 100644 index aac5e9cd6..000000000 --- a/genny/actions/presenter.go +++ /dev/null @@ -1,13 +0,0 @@ -package actions - -import "github.com/gobuffalo/flect/name" - -type data map[string]interface{} - -type presenter struct { - Name name.Ident - Actions []name.Ident - Helpers data - Data data - Options *Options -} diff --git a/genny/actions/templates/actions.go.tmpl b/genny/actions/templates/actions.go.tmpl deleted file mode 100644 index b9219344f..000000000 --- a/genny/actions/templates/actions.go.tmpl +++ /dev/null @@ -1,6 +0,0 @@ -{{ range $action := .actions }} -// {{$.name.Pascalize}}{{$action.Pascalize}} default implementation. -func {{$.name.Pascalize}}{{$action.Pascalize}}(c buffalo.Context) error { - return c.Render(http.StatusOK, r.HTML("{{$.name.File}}/{{$action.File}}.html")) -} -{{end}} diff --git a/genny/actions/templates/actions_header.go.tmpl b/genny/actions/templates/actions_header.go.tmpl deleted file mode 100644 index 214a6a3fa..000000000 --- a/genny/actions/templates/actions_header.go.tmpl +++ /dev/null @@ -1,7 +0,0 @@ -package actions - -import ( - "net/http" - - "github.com/gobuffalo/buffalo" -) diff --git a/genny/actions/templates/test.go.tmpl b/genny/actions/templates/test.go.tmpl deleted file mode 100644 index 1aa743a12..000000000 --- a/genny/actions/templates/test.go.tmpl +++ /dev/null @@ -1,5 +0,0 @@ -{{ range $action := .actions}} -func (as *ActionSuite) Test_{{$.name.Pascalize}}_{{$action.Pascalize}}() { - as.Fail("Not Implemented!") -} -{{end}} diff --git a/genny/actions/templates/tests_header.go.tmpl b/genny/actions/templates/tests_header.go.tmpl deleted file mode 100644 index 0f3a37f39..000000000 --- a/genny/actions/templates/tests_header.go.tmpl +++ /dev/null @@ -1 +0,0 @@ -package actions diff --git a/genny/actions/templates/view.plush.html.tmpl b/genny/actions/templates/view.plush.html.tmpl deleted file mode 100644 index fce499d7b..000000000 --- a/genny/actions/templates/view.plush.html.tmpl +++ /dev/null @@ -1 +0,0 @@ -

{{.name.Pascalize}}#{{.action.Pascalize}}

diff --git a/genny/add/add.go b/genny/add/add.go deleted file mode 100644 index 76095ea2d..000000000 --- a/genny/add/add.go +++ /dev/null @@ -1,30 +0,0 @@ -package add - -import ( - "bytes" - "path/filepath" - - "github.com/gobuffalo/buffalo/plugins/plugdeps" - "github.com/gobuffalo/genny/v2" -) - -// New add plugin to the config file -func New(opts *Options) (*genny.Generator, error) { - g := genny.New() - - if err := opts.Validate(); err != nil { - return g, err - } - - bb := &bytes.Buffer{} - plugs := plugdeps.New() - plugs.Add(opts.Plugins...) - if err := plugs.Encode(bb); err != nil { - return g, err - } - - cpath := filepath.Join(opts.App.Root, "config", "buffalo-plugins.toml") - g.File(genny.NewFile(cpath, bb)) - - return g, nil -} diff --git a/genny/add/add_test.go b/genny/add/add_test.go deleted file mode 100644 index 673d0c48d..000000000 --- a/genny/add/add_test.go +++ /dev/null @@ -1,50 +0,0 @@ -package add - -import ( - "bytes" - "go/build" - "path/filepath" - "strings" - "testing" - - "github.com/gobuffalo/buffalo/plugins/plugdeps" - "github.com/gobuffalo/genny/v2" - "github.com/gobuffalo/genny/v2/gentest" - "github.com/gobuffalo/meta" - "github.com/stretchr/testify/require" -) - -func Test_New(t *testing.T) { - r := require.New(t) - - g, err := New(&Options{ - App: meta.New("."), - Plugins: []plugdeps.Plugin{ - {Binary: "buffalo-pop", GoGet: "github.com/gobuffalo/buffalo-pop/v2"}, - {Binary: "buffalo-hello.rb", Local: "./plugins/buffalo-hello.rb"}, - }, - }) - r.NoError(err) - - run := gentest.NewRunner() - c := build.Default - run.Disk.Add(genny.NewFile(filepath.Join(c.GOPATH, "bin", "buffalo-pop"), &bytes.Buffer{})) - - run.With(g) - - r.NoError(run.Run()) - - res := run.Results() - - ecmds := []string{} - r.Len(res.Commands, len(ecmds)) - for i, c := range res.Commands { - r.Equal(ecmds[i], strings.Join(c.Args, " ")) - } - - efiles := []string{"bin/buffalo-pop", "config/buffalo-plugins.toml"} - r.Len(res.Files, len(efiles)) - for i, f := range res.Files { - r.True(strings.HasSuffix(f.Name(), efiles[i])) - } -} diff --git a/genny/add/options.go b/genny/add/options.go deleted file mode 100644 index 23b62d611..000000000 --- a/genny/add/options.go +++ /dev/null @@ -1,40 +0,0 @@ -package add - -import ( - "os" - - "github.com/gobuffalo/buffalo/internal/takeon/github.com/markbates/errx" - "github.com/gobuffalo/buffalo/plugins/plugdeps" - "github.com/gobuffalo/meta" -) - -// Options container for passing needed info for -// adding plugins to the config file. -type Options struct { - App meta.App - Plugins []plugdeps.Plugin -} - -// Validate that options are usuable -func (opts *Options) Validate() error { - if opts.App.IsZero() { - pwd, err := os.Getwd() - if err != nil { - return err - } - opts.App = meta.New(pwd) - } - if len(opts.Plugins) == 0 { - plugs, err := plugdeps.List(opts.App) - if err != nil && (errx.Unwrap(err) != plugdeps.ErrMissingConfig) { - return err - } - opts.Plugins = plugs.List() - } - - for i, p := range opts.Plugins { - p.Tags = opts.App.BuildTags("", p.Tags...) - opts.Plugins[i] = p - } - return nil -} diff --git a/genny/add/options_test.go b/genny/add/options_test.go deleted file mode 100644 index 30ee6fa84..000000000 --- a/genny/add/options_test.go +++ /dev/null @@ -1,15 +0,0 @@ -package add - -import ( - "testing" - - "github.com/stretchr/testify/require" -) - -func Test_Options_Validate(t *testing.T) { - r := require.New(t) - - opts := &Options{} - err := opts.Validate() - r.NoError(err) -} diff --git a/genny/assets/standard/options.go b/genny/assets/standard/options.go deleted file mode 100644 index 45cd717b5..000000000 --- a/genny/assets/standard/options.go +++ /dev/null @@ -1,4 +0,0 @@ -package standard - -// Options for generating a new standard set of assets -type Options struct{} diff --git a/genny/assets/standard/standard-packr.go b/genny/assets/standard/standard-packr.go deleted file mode 100644 index e23057120..000000000 --- a/genny/assets/standard/standard-packr.go +++ /dev/null @@ -1,8 +0,0 @@ -// +build !skippackr -// Code generated by github.com/gobuffalo/packr/v2. DO NOT EDIT. - -// You can use the "packr clean" command to clean up this, -// and any other packr generated files. -package standard - -import _ "github.com/gobuffalo/buffalo/packrd" diff --git a/genny/assets/standard/standard.go b/genny/assets/standard/standard.go deleted file mode 100644 index 8bcfc14a4..000000000 --- a/genny/assets/standard/standard.go +++ /dev/null @@ -1,35 +0,0 @@ -package standard - -import ( - "strings" - "text/template" - - "github.com/gobuffalo/genny/v2" - "github.com/gobuffalo/genny/v2/gogen" - "github.com/gobuffalo/packr/v2" -) - -// New generator for creating basic asset files -func New(opts *Options) (*genny.Generator, error) { - g := genny.New() - g.Box(packr.New("buffalo:genny:assets:standard", "../standard/templates")) - - data := map[string]interface{}{} - h := template.FuncMap{} - t := gogen.TemplateTransformer(data, h) - g.Transformer(t) - - g.RunFn(func(r *genny.Runner) error { - f, err := r.FindFile("templates/application.plush.html") - if err != nil { - return err - } - - s := strings.Replace(f.String(), "", "\n"+bs4, 1) - return r.File(genny.NewFileS(f.Name(), s)) - }) - - return g, nil -} - -const bs4 = `` diff --git a/genny/assets/standard/standard_test.go b/genny/assets/standard/standard_test.go deleted file mode 100644 index 9a7d2a87c..000000000 --- a/genny/assets/standard/standard_test.go +++ /dev/null @@ -1,60 +0,0 @@ -package standard - -import ( - "testing" - - "github.com/gobuffalo/genny/v2" - "github.com/gobuffalo/genny/v2/gentest" - "github.com/stretchr/testify/require" -) - -func Test_New(t *testing.T) { - r := require.New(t) - - g, err := New(&Options{}) - r.NoError(err) - - run := gentest.NewRunner() - run.Disk.Add(genny.NewFileS("templates/application.plush.html", layout)) - run.LookPathFn = func(s string) (string, error) { - return s, nil - } - - run.With(g) - - r.NoError(run.Run()) - - res := run.Results() - r.Len(res.Commands, 0) - - files := []string{ - "public/assets/application.css", - "public/assets/application.js", - "public/assets/buffalo.css", - "public/assets/images/favicon.ico", - "public/assets/images/logo.svg", - "templates/application.plush.html", - } - - r.Len(res.Files, len(files)) - for i, f := range res.Files { - r.Equal(files[i], f.Name()) - } - - layout, ferr := res.Find("templates/application.plush.html") - r.NoError(ferr) - - r.Contains(layout.String(), "href=\"https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css\"") -} - -const layout = ` - - - Buffalo - Foo - <%= stylesheetTag("buffalo.css") %> - <%= stylesheetTag("application.css") %> - - - - -` diff --git a/genny/assets/standard/templates/public/assets/application.css.tmpl b/genny/assets/standard/templates/public/assets/application.css.tmpl deleted file mode 100644 index e69de29bb..000000000 diff --git a/genny/assets/standard/templates/public/assets/application.js.tmpl b/genny/assets/standard/templates/public/assets/application.js.tmpl deleted file mode 100644 index e69de29bb..000000000 diff --git a/genny/assets/standard/templates/public/assets/buffalo.css.tmpl b/genny/assets/standard/templates/public/assets/buffalo.css.tmpl deleted file mode 100644 index 4cc761f6e..000000000 --- a/genny/assets/standard/templates/public/assets/buffalo.css.tmpl +++ /dev/null @@ -1,118 +0,0 @@ -.container { - min-width: 320px; -} - -header { - background-color: #62a5ee; - padding: 10px 20px; - box-sizing: border-box; -} - -.logo img { - width: 80px; -} - -.titles h1 { - font-size: 30px; - font-weight: 300; - color: white; - margin-bottom: 13px; - margin-top: 5px; -} - -.titles h2 { - font-weight: 300; - font-size: 18px; - display: inline-block; - margin: 0; -} - -.titles a { - color: white; - text-decoration: underline; -} - -.titles i { - margin-right: 5px; - text-decoration: none; -} - -.titles .documentation { - margin-left: 28px; -} - -.subtitle { - color: white; - margin: 0; - padding: 13px 0; - background-color: #2a3543; - margin-bottom: 20px; -} - -.subtitle h3 { - font-size: 22px; - font-weight: 400; - margin: 0; -} - -table { - font-size: 14px; -} - -table.table tbody tr td { - border-top: 0; - padding: 10px; -} - -.foot { - text-align: right; - color: #c5c5c5; - font-weight: 300; -} - -.foot a { - color: #8b8b8b; - text-decoration: underline; -} - -.centered { - text-align: center; -} - -@media all and (max-width: 770px) { - .titles h1 { - font-size: 25px; - margin: 15px 0 5px 0; - } -} - -@media all and (max-width: 640px) { - .titles h1 { - font-size: 23px; - margin: 15px 0 5px 0; - } - .titles h2 { - font-size: 15px; - } - .titles .documentation { - margin-left: 10px; - } -} - -@media all and (max-width: 530px) { - .titles h1 { - font-size: 20px; - margin: 5px 0; - } - .logo { - padding: 0 - } - .logo img { - width: 100% - } - .titles .documentation { - margin-left: 0px; - margin-top: 5px; - display: block; - } -} diff --git a/genny/assets/standard/templates/public/assets/images/favicon.ico.tmpl b/genny/assets/standard/templates/public/assets/images/favicon.ico.tmpl deleted file mode 100644 index 463b634a73ee8a1c451d56eaeacdb9145a45412a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1150 zcmbW1>rdNN7{_bkJB>jTjc&%FB9w7y2Wwc6Q3`Bw84KV7&dn|iN`XST2*TC@V{*%Y zY$BI!P%fi|(iJG2wCKK^Lef53C{T+VaO_sPlgobM5d zUJ$06n@G^^qKp?sqBle$kysERBt)EX!H7h{-fJ&8#jzF?&&STruETrwY?DsI2ue*o z;fbY$C6sbjeVwoGSlIaUFUOhvvwM4cE-1UZPTx8@OHfP+Zyqb=?GPRAp@M{5=D^V+ zUY8c&D=*-7*D&nuIPm*9T-b(Y6K>)RJWf>;oKnS+v{rmCw&ItjN0L-YKukU!Q8m0G z&LmgY@;rz03IiiHUiDSudHgaS@*+-NEF#OB|^Ki5iNt_6vzjYGZ);?6`dZaKruWFg<#G~8{ACrF{dJ1CimtRZ}q%}A8D zIH@uanJ3gY$0Fd(_@%aUJUNqvxhgh(x6$2Oh4p?Dn;RnxS_?RqaD~{SF?`b7kZ4WB zXb1Q(y8~&CnLuqnk}MPPmA#Blb+BMx<&V`HtS*^YvMdowPe67r{%WCqCH<6j8JV1}CnjA*W@$dt55Gdw+>fqxmh@^npIuwve8oJq ztrL_rnGp-UJDSx=fW}DRg=*?L?vY;J$f4jQ-VZxVMT>#Lx^|R01NuQbBafCTYqT3+s0M%dooc3}7Uc{n@F#AG*fb4H&0U|?pZiy7M>D=R+>d~@>L#b4Jy@PF-pk!GtT diff --git a/genny/assets/standard/templates/public/assets/images/logo.svg.tmpl b/genny/assets/standard/templates/public/assets/images/logo.svg.tmpl deleted file mode 100644 index 0d1f29ef7..000000000 --- a/genny/assets/standard/templates/public/assets/images/logo.svg.tmpl +++ /dev/null @@ -1,721 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/genny/assets/webpack/options.go b/genny/assets/webpack/options.go deleted file mode 100644 index 57dfadc0d..000000000 --- a/genny/assets/webpack/options.go +++ /dev/null @@ -1,18 +0,0 @@ -package webpack - -import ( - "github.com/gobuffalo/meta" -) - -// Options for creating a new webpack setup -type Options struct { - meta.App -} - -// Validate options -func (opts *Options) Validate() error { - if opts.App.IsZero() { - opts.App = meta.New(".") - } - return nil -} diff --git a/genny/assets/webpack/templates/-dot-babelrc.tmpl b/genny/assets/webpack/templates/-dot-babelrc.tmpl deleted file mode 100644 index 1320b9a32..000000000 --- a/genny/assets/webpack/templates/-dot-babelrc.tmpl +++ /dev/null @@ -1,3 +0,0 @@ -{ - "presets": ["@babel/preset-env"] -} diff --git a/genny/assets/webpack/templates/assets/css/_buffalo.scss.tmpl b/genny/assets/webpack/templates/assets/css/_buffalo.scss.tmpl deleted file mode 100644 index 3cef17420..000000000 --- a/genny/assets/webpack/templates/assets/css/_buffalo.scss.tmpl +++ /dev/null @@ -1,133 +0,0 @@ -.container { - min-width: 320px; -} - -header { - background-color: #62a5ee; - padding: 10px 20px; - box-sizing: border-box; -} - -.logo { - img { - width: 80px; - } -} - -.titles { - h1 { - font-size: 30px; - font-weight: 300; - color: white; - margin-bottom: 13px; - margin-top: 5px; - } - - h2 { - font-weight: 300; - font-size: 18px; - display: inline-block; - margin: 0; - } - - a { - color: white; - text-decoration: underline; - } - - i { - margin-right: 5px; - text-decoration: none; - } - - .documentation { - margin-left: 28px; - } -} - -.subtitle { - color: white; - margin: 0; - padding: 13px 0; - background-color: #2a3543; - margin-bottom: 20px; - - h3 { - font-size: 22px; - font-weight: 400; - margin: 0; - } -} - -table { - font-size: 14px; - - &.table tbody tr td { - border-top: 0; - padding: 10px; - } -} - -.foot { - text-align: right; - color: #c5c5c5; - font-weight: 300; - - a { - color: #8b8b8b; - text-decoration: underline; - } -} - -.centered { - text-align: center; -} - -@media all and (max-width: 770px) { - .titles { - h1 { - font-size: 25px; - margin: 15px 0 5px 0; - } - } -} - -@media all and (max-width: 640px) { - .titles { - h1 { - font-size: 23px; - margin: 15px 0 5px 0; - } - - h2 { - font-size: 15px; - } - - .documentation { - margin-left: 10px; - } - } -} - -@media all and (max-width: 530px) { - .titles { - h1 { - font-size: 20px; - margin: 5px 0; - } - - .documentation { - margin-left: 0px; - margin-top: 5px; - display: block; - } - } - - .logo { - padding: 0; - - img { - width: 100% - } - } -} diff --git a/genny/assets/webpack/templates/assets/css/application.scss.tmpl b/genny/assets/webpack/templates/assets/css/application.scss.tmpl deleted file mode 100644 index 265400fa1..000000000 --- a/genny/assets/webpack/templates/assets/css/application.scss.tmpl +++ /dev/null @@ -1,4 +0,0 @@ -@import "~bootstrap/scss/bootstrap.scss"; -@import "~@fortawesome/fontawesome-free/css/all.min.css"; - -@import "buffalo"; diff --git a/genny/assets/webpack/templates/assets/images/favicon.ico.tmpl b/genny/assets/webpack/templates/assets/images/favicon.ico.tmpl deleted file mode 100644 index 463b634a73ee8a1c451d56eaeacdb9145a45412a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1150 zcmbW1>rdNN7{_bkJB>jTjc&%FB9w7y2Wwc6Q3`Bw84KV7&dn|iN`XST2*TC@V{*%Y zY$BI!P%fi|(iJG2wCKK^Lef53C{T+VaO_sPlgobM5d zUJ$06n@G^^qKp?sqBle$kysERBt)EX!H7h{-fJ&8#jzF?&&STruETrwY?DsI2ue*o z;fbY$C6sbjeVwoGSlIaUFUOhvvwM4cE-1UZPTx8@OHfP+Zyqb=?GPRAp@M{5=D^V+ zUY8c&D=*-7*D&nuIPm*9T-b(Y6K>)RJWf>;oKnS+v{rmCw&ItjN0L-YKukU!Q8m0G z&LmgY@;rz03IiiHUiDSudHgaS@*+-NEF#OB|^Ki5iNt_6vzjYGZ);?6`dZaKruWFg<#G~8{ACrF{dJ1CimtRZ}q%}A8D zIH@uanJ3gY$0Fd(_@%aUJUNqvxhgh(x6$2Oh4p?Dn;RnxS_?RqaD~{SF?`b7kZ4WB zXb1Q(y8~&CnLuqnk}MPPmA#Blb+BMx<&V`HtS*^YvMdowPe67r{%WCqCH<6j8JV1}CnjA*W@$dt55Gdw+>fqxmh@^npIuwve8oJq ztrL_rnGp-UJDSx=fW}DRg=*?L?vY;J$f4jQ-VZxVMT>#Lx^|R01NuQbBafCTYqT3+s0M%dooc3}7Uc{n@F#AG*fb4H&0U|?pZiy7M>D=R+>d~@>L#b4Jy@PF-pk!GtT diff --git a/genny/assets/webpack/templates/assets/images/logo.svg b/genny/assets/webpack/templates/assets/images/logo.svg deleted file mode 100644 index 0d1f29ef7..000000000 --- a/genny/assets/webpack/templates/assets/images/logo.svg +++ /dev/null @@ -1,721 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/genny/assets/webpack/templates/assets/js/application.js.tmpl b/genny/assets/webpack/templates/assets/js/application.js.tmpl deleted file mode 100644 index 4374b72f0..000000000 --- a/genny/assets/webpack/templates/assets/js/application.js.tmpl +++ /dev/null @@ -1,7 +0,0 @@ -require("expose-loader?$!expose-loader?jQuery!jquery"); -require("bootstrap/dist/js/bootstrap.bundle.js"); -require("@fortawesome/fontawesome-free/js/all.js"); - -$(() => { - -}); diff --git a/genny/assets/webpack/templates/package.json.tmpl b/genny/assets/webpack/templates/package.json.tmpl deleted file mode 100644 index 23475a61d..000000000 --- a/genny/assets/webpack/templates/package.json.tmpl +++ /dev/null @@ -1,46 +0,0 @@ -{ - "name": "buffalo", - "version": "1.0.0", - "main": "index.js", - "license": "MIT", - "scripts": { - "dev": "webpack --watch", - "build": "webpack -p --progress" - }, - "repository": "github.com/gobuffalo/buffalo", - "dependencies": { - "bootstrap": "4.5.0", - "popper.js": "^1.16.1", - "@fortawesome/fontawesome-free": "^5.12.0", - "jquery": "3.5.1", - "jquery-ujs": "~1.2.2" - }, - "devDependencies": { - "@babel/cli": "^7.8.4", - "@babel/core": "^7.9.0", - "@babel/preset-env": "^7.9.5", - - "autoprefixer": "^9.7.6", - "babel-loader": "^8.1.0", - "css-loader": "~3.5.1", - "expose-loader": "~0.7.5", - "file-loader": "~6.0.0", - "gopherjs-loader": "^0.0.1", - "postcss-loader": "^3.0.0", - "sass-loader": "~8.0.2", - "style-loader": "~1.1.3", - "url-loader": "~4.1.0", - "node-sass": "~4.13.1", - - "npm-install-webpack-plugin": "4.0.5", - "terser-webpack-plugin": "~2.3.1", - "mini-css-extract-plugin": "^0.9.0", - "webpack-clean-obsolete-chunks": "^0.4.0", - "copy-webpack-plugin": "~5.1.1", - - "webpack": "~4.42.1", - "webpack-cli": "^3.3.10", - "webpack-livereload-plugin": "~2.3.0", - "webpack-manifest-plugin": "~2.2.0" - } -} diff --git a/genny/assets/webpack/templates/postcss.config.js.tmpl b/genny/assets/webpack/templates/postcss.config.js.tmpl deleted file mode 100644 index cff57b574..000000000 --- a/genny/assets/webpack/templates/postcss.config.js.tmpl +++ /dev/null @@ -1,5 +0,0 @@ -module.exports = { - plugins: [ - require('autoprefixer') - ] - } diff --git a/genny/assets/webpack/templates/public/assets/-dot-keep.tmpl b/genny/assets/webpack/templates/public/assets/-dot-keep.tmpl deleted file mode 100644 index e69de29bb..000000000 diff --git a/genny/assets/webpack/templates/webpack.config.js.tmpl b/genny/assets/webpack/templates/webpack.config.js.tmpl deleted file mode 100644 index 74ac691ec..000000000 --- a/genny/assets/webpack/templates/webpack.config.js.tmpl +++ /dev/null @@ -1,117 +0,0 @@ -const Webpack = require("webpack"); -const Glob = require("glob"); -const CopyWebpackPlugin = require("copy-webpack-plugin"); -const MiniCssExtractPlugin = require("mini-css-extract-plugin"); -const ManifestPlugin = require("webpack-manifest-plugin"); -const CleanObsoleteChunks = require("webpack-clean-obsolete-chunks"); -const TerserPlugin = require("terser-webpack-plugin"); -const LiveReloadPlugin = require("webpack-livereload-plugin"); - -const configurator = { - entries: function(){ - var entries = { - application: [ - './node_modules/jquery-ujs/src/rails.js', - './assets/css/application.scss', - ], - } - - Glob.sync("./assets/*/*.*").forEach((entry) => { - if (entry === './assets/css/application.scss') { - return - } - - let key = entry.replace(/(\.\/assets\/(src|js|css|go)\/)|\.(ts|js|s[ac]ss|go)/g, '') - if(key.startsWith("_") || (/(ts|js|s[ac]ss|go)$/i).test(entry) == false) { - return - } - - if( entries[key] == null) { - entries[key] = [entry] - return - } - - entries[key].push(entry) - }) - return entries - }, - - plugins() { - var plugins = [ - new Webpack.ProvidePlugin({$: "jquery",jQuery: "jquery"}), - new MiniCssExtractPlugin({filename: "[name].[contenthash].css"}), - new CopyWebpackPlugin([{from: "./assets",to: ""}], {copyUnmodified: true,ignore: ["css/**", "js/**", "src/**"] }), - new Webpack.LoaderOptionsPlugin({minimize: true,debug: false}), - new ManifestPlugin({fileName: "manifest.json"}), - new CleanObsoleteChunks() - ]; - - return plugins - }, - - moduleOptions: function() { - return { - rules: [ - { - test: /\.s[ac]ss$/, - use: [ - MiniCssExtractPlugin.loader, - { loader: "css-loader", options: {sourceMap: true}}, - { loader: "postcss-loader", options: {sourceMap: true}}, - { loader: "sass-loader", options: {sourceMap: true}} - ] - }, - { test: /\.tsx?$/, use: "ts-loader", exclude: /node_modules/}, - { test: /\.jsx?$/,loader: "babel-loader",exclude: /node_modules/ }, - { test: /\.(woff|woff2|ttf|svg)(\?v=\d+\.\d+\.\d+)?$/,use: "url-loader"}, - { test: /\.eot(\?v=\d+\.\d+\.\d+)?$/,use: "file-loader" }, - { test: require.resolve("jquery"),use: "expose-loader?jQuery!expose-loader?$"}, - { test: /\.go$/, use: "gopherjs-loader"} - ] - } - }, - - buildConfig: function(){ - // NOTE: If you are having issues with this not being set "properly", make - // sure your GO_ENV is set properly as `buffalo build` overrides NODE_ENV - // with whatever GO_ENV is set to or "development". - const env = process.env.NODE_ENV || "development"; - - var config = { - mode: env, - entry: configurator.entries(), - output: {filename: "[name].[hash].js", path: `${__dirname}/public/assets`}, - plugins: configurator.plugins(), - module: configurator.moduleOptions(), - resolve: { - extensions: ['.ts', '.js', '.json'] - } - } - - if( env === "development" ){ - config.plugins.push(new LiveReloadPlugin({appendScriptTag: true})) - return config - } - - const terser = new TerserPlugin({ - terserOptions: { - compress: {}, - mangle: { - keep_fnames: true - }, - output: { - comments: false, - }, - }, - extractComments: false, - }) - - config.optimization = { - minimizer: [terser] - } - - return config - } -} - -module.exports = configurator.buildConfig() diff --git a/genny/assets/webpack/webpack-packr.go b/genny/assets/webpack/webpack-packr.go deleted file mode 100644 index 7370ca82b..000000000 --- a/genny/assets/webpack/webpack-packr.go +++ /dev/null @@ -1,8 +0,0 @@ -// +build !skippackr -// Code generated by github.com/gobuffalo/packr/v2. DO NOT EDIT. - -// You can use the "packr clean" command to clean up this, -// and any other packr generated files. -package webpack - -import _ "github.com/gobuffalo/buffalo/packrd" diff --git a/genny/assets/webpack/webpack.go b/genny/assets/webpack/webpack.go deleted file mode 100644 index 0525a6318..000000000 --- a/genny/assets/webpack/webpack.go +++ /dev/null @@ -1,102 +0,0 @@ -package webpack - -import ( - "fmt" - "os/exec" - "path/filepath" - "runtime" - - "github.com/gobuffalo/genny/v2" - "github.com/gobuffalo/genny/v2/gogen" - "github.com/gobuffalo/packr/v2" -) - -// BinPath is the path to the local install of webpack -var BinPath = func() string { - s := filepath.Join("node_modules", ".bin", "webpack") - if runtime.GOOS == "windows" { - s += ".cmd" - } - return s -}() - -// Templates used for generating webpack -// (exported mostly for the "fix" command) -var Templates = packr.New("github.com/gobuffalo/buffalo/genny/assets/webpack", "../webpack/templates") - -// New generator for creating webpack asset files -func New(opts *Options) (*genny.Generator, error) { - g := genny.New() - - if err := opts.Validate(); err != nil { - return g, err - } - - g.RunFn(func(r *genny.Runner) error { - if opts.App.WithYarn { - if _, err := r.LookPath("yarnpkg"); err == nil { - return nil - } - // If yarn is not installed, it still can be installed with npm. - } - if _, err := r.LookPath("npm"); err != nil { - return fmt.Errorf("could not find npm executable") - } - return nil - }) - - g.Box(Templates) - - data := map[string]interface{}{ - "opts": opts, - } - t := gogen.TemplateTransformer(data, gogen.TemplateHelpers) - g.Transformer(t) - g.Transformer(genny.Dot()) - - g.RunFn(func(r *genny.Runner) error { - return installPkgs(r, opts) - }) - - return g, nil -} - -func installPkgs(r *genny.Runner, opts *Options) error { - command := "yarnpkg" - - if !opts.App.WithYarn { - command = "npm" - } else { - if err := installYarn(r); err != nil { - return err - } - } - args := []string{"install", "--no-progress", "--save"} - - c := exec.Command(command, args...) - c.Stdout = yarnWriter{ - fn: r.Logger.Debug, - } - c.Stderr = yarnWriter{ - fn: r.Logger.Debug, - } - return r.Exec(c) -} - -type yarnWriter struct { - fn func(...interface{}) -} - -func (y yarnWriter) Write(p []byte) (int, error) { - y.fn(string(p)) - return len(p), nil -} - -func installYarn(r *genny.Runner) error { - // if there's no yarn, install it! - if _, err := r.LookPath("yarnpkg"); err == nil { - return nil - } - yargs := []string{"install", "-g", "yarn"} - return r.Exec(exec.Command("npm", yargs...)) -} diff --git a/genny/assets/webpack/webpack_test.go b/genny/assets/webpack/webpack_test.go deleted file mode 100644 index 3f8dfb862..000000000 --- a/genny/assets/webpack/webpack_test.go +++ /dev/null @@ -1,93 +0,0 @@ -package webpack - -import ( - "strings" - "testing" - - "github.com/gobuffalo/genny/v2" - "github.com/gobuffalo/genny/v2/gentest" - "github.com/gobuffalo/meta" - "github.com/stretchr/testify/require" -) - -func runner() *genny.Runner { - run := gentest.NewRunner() - run.Disk.Add(genny.NewFileS("templates/application.plush.html", layout)) - run.LookPathFn = func(s string) (string, error) { - return s, nil - } - return run -} - -func Test_Webpack_New(t *testing.T) { - r := require.New(t) - - g, err := New(&Options{}) - r.NoError(err) - - run := runner() - - run.With(g) - r.NoError(run.Run()) - - res := run.Results() - - r.Len(res.Commands, 1) - c := res.Commands[0] - r.Equal("npm install --no-progress --save", strings.Join(c.Args, " ")) - - files := []string{ - ".babelrc", - "assets/css/_buffalo.scss", - "assets/css/application.scss", - "assets/images/favicon.ico", - "assets/images/logo.svg", - "assets/js/application.js", - "package.json", - "postcss.config.js", - "public/assets/.keep", - "templates/application.plush.html", - "webpack.config.js", - } - r.Len(res.Files, len(files)) - for i, f := range res.Files { - r.Equal(files[i], f.Name()) - } - - f, err := res.Find("package.json") - r.NoError(err) - r.Contains(f.String(), `"bootstrap": "4.`) - -} - -func Test_Webpack_New_WithYarn(t *testing.T) { - r := require.New(t) - - g, err := New(&Options{ - App: meta.App{WithYarn: true}, - }) - r.NoError(err) - - run := runner() - run.With(g) - r.NoError(run.Run()) - - res := run.Results() - r.Len(res.Commands, 1) - r.Len(res.Files, 11) - - c := res.Commands[0] - r.Equal("yarnpkg install --no-progress --save", strings.Join(c.Args, " ")) -} - -const layout = ` - - - Buffalo - Foo - <%= stylesheetTag("buffalo.css") %> - <%= stylesheetTag("application.css") %> - - - - -` diff --git a/genny/build/_fixtures/coke/README.md b/genny/build/_fixtures/coke/README.md deleted file mode 100644 index b01f313a8..000000000 --- a/genny/build/_fixtures/coke/README.md +++ /dev/null @@ -1,35 +0,0 @@ -# Welcome to Buffalo! - -Thank you for choosing Buffalo for your web development needs. - -## Database Setup - -It looks like you chose to set up your application using a postgres database! Fantastic! - -The first thing you need to do is open up the "database.yml" file and edit it to use the correct usernames, passwords, hosts, etc... that are appropriate for your environment. - -You will also need to make sure that **you** start/install the database of your choice. Buffalo **won't** install and start postgres for you. - -### Create Your Databases - -Ok, so you've edited the "database.yml" file and started postgres, now Buffalo can create the databases in that file for you: - - $ buffalo pop create -a - -## Starting the Application - -Buffalo ships with a command that will watch your application and automatically rebuild the Go binary and any assets for you. To do that run the "buffalo dev" command: - - $ buffalo dev - -If you point your browser to [http://127.0.0.1:3000](http://127.0.0.1:3000) you should see a "Welcome to Buffalo!" page. - -**Congratulations!** You now have your Buffalo application up and running. - -## What Next? - -We recommend you heading over to [http://gobuffalo.io](http://gobuffalo.io) and reviewing all of the great documentation there. - -Good luck! - -[Powered by Buffalo](http://gobuffalo.io) diff --git a/genny/build/_fixtures/coke/actions/actions_test.go b/genny/build/_fixtures/coke/actions/actions_test.go deleted file mode 100644 index 73118ef07..000000000 --- a/genny/build/_fixtures/coke/actions/actions_test.go +++ /dev/null @@ -1,24 +0,0 @@ -package actions - -import ( - "testing" - - "github.com/gobuffalo/packr/v2" - "github.com/gobuffalo/suite" -) - -type ActionSuite struct { - *suite.Action -} - -func Test_ActionSuite(t *testing.T) { - action, err := suite.NewActionWithFixtures(App(), packr.New("../fixtures", "../fixtures")) - if err != nil { - t.Fatal(err) - } - - as := &ActionSuite{ - Action: action, - } - suite.Run(t, as) -} diff --git a/genny/build/_fixtures/coke/actions/app.go b/genny/build/_fixtures/coke/actions/app.go deleted file mode 100644 index 07595f5dd..000000000 --- a/genny/build/_fixtures/coke/actions/app.go +++ /dev/null @@ -1,90 +0,0 @@ -package actions - -import ( - "github.com/gobuffalo/buffalo" - "github.com/gobuffalo/buffalo-pop/v2/pop/popmw" - "github.com/gobuffalo/envy" - csrf "github.com/gobuffalo/mw-csrf" - forcessl "github.com/gobuffalo/mw-forcessl" - i18n "github.com/gobuffalo/mw-i18n" - paramlogger "github.com/gobuffalo/mw-paramlogger" - "github.com/gobuffalo/packr/v2" - "github.com/markbates/coke/models" - "github.com/unrolled/secure" -) - -// ENV is used to help switch settings based on where the -// application is being run. Default is "development". -var ENV = envy.Get("GO_ENV", "development") -var app *buffalo.App -var T *i18n.Translator - -// App is where all routes and middleware for buffalo -// should be defined. This is the nerve center of your -// application. -// -// Routing, middleware, groups, etc... are declared TOP -> DOWN. -// This means if you add a middleware to `app` *after* declaring a -// group, that group will NOT have that new middleware. The same -// is true of resource declarations as well. -// -// It also means that routes are checked in the order they are declared. -// `ServeFiles` is a CATCH-ALL route, so it should always be -// placed last in the route declarations, as it will prevent routes -// declared after it to never be called. -func App() *buffalo.App { - if app == nil { - app = buffalo.New(buffalo.Options{ - Env: ENV, - SessionName: "_coke_session", - }) - - // Automatically redirect to SSL - app.Use(forceSSL()) - - // Log request parameters (filters apply). - app.Use(paramlogger.ParameterLogger) - - // Protect against CSRF attacks. https://www.owasp.org/index.php/Cross-Site_Request_Forgery_(CSRF) - // Remove to disable this. - app.Use(csrf.New) - - // Wraps each request in a transaction. - // c.Value("tx").(*pop.Connection) - // Remove to disable this. - app.Use(popmw.Transaction(models.DB)) - - // Setup and use translations: - app.Use(translations()) - - app.GET("/", HomeHandler) - - app.ServeFiles("/", assetsBox) // serve files from the public directory - } - - return app -} - -// translations will load locale files, set up the translator `actions.T`, -// and will return a middleware to use to load the correct locale for each -// request. -// for more information: https://gobuffalo.io/en/docs/localization -func translations() buffalo.MiddlewareFunc { - var err error - if T, err = i18n.New(packr.New("../locales", "../locales"), "en-US"); err != nil { - app.Stop(err) - } - return T.Middleware() -} - -// forceSSL will return a middleware that will redirect an incoming request -// if it is not HTTPS. "http://example.com" => "https://example.com". -// This middleware does **not** enable SSL. for your application. To do that -// we recommend using a proxy: https://gobuffalo.io/en/docs/proxy -// for more information: https://github.com/unrolled/secure/ -func forceSSL() buffalo.MiddlewareFunc { - return forcessl.Middleware(secure.Options{ - SSLRedirect: ENV == "production", - SSLProxyHeaders: map[string]string{"X-Forwarded-Proto": "https"}, - }) -} diff --git a/genny/build/_fixtures/coke/actions/home.go b/genny/build/_fixtures/coke/actions/home.go deleted file mode 100644 index b1e903198..000000000 --- a/genny/build/_fixtures/coke/actions/home.go +++ /dev/null @@ -1,13 +0,0 @@ -package actions - -import ( - "net/http" - - "github.com/gobuffalo/buffalo" -) - -// HomeHandler is a default handler to serve up -// a home page. -func HomeHandler(c buffalo.Context) error { - return c.Render(http.StatusOK, r.HTML("index.html")) -} diff --git a/genny/build/_fixtures/coke/actions/home_test.go b/genny/build/_fixtures/coke/actions/home_test.go deleted file mode 100644 index 04d750a04..000000000 --- a/genny/build/_fixtures/coke/actions/home_test.go +++ /dev/null @@ -1,9 +0,0 @@ -package actions - -import "net/http" - -func (as *ActionSuite) Test_HomeHandler() { - res := as.HTML("/").Get() - as.Equal(http.StatusOK, res.Code) - as.Contains(res.Body.String(), "Welcome to Buffalo") -} diff --git a/genny/build/_fixtures/coke/actions/render.go b/genny/build/_fixtures/coke/actions/render.go deleted file mode 100644 index 55789a659..000000000 --- a/genny/build/_fixtures/coke/actions/render.go +++ /dev/null @@ -1,27 +0,0 @@ -package actions - -import ( - "github.com/gobuffalo/buffalo/render" - "github.com/gobuffalo/packr/v2" -) - -var r *render.Engine -var assetsBox = packr.NewBox("app:assets", "../public") - -func init() { - r = render.New(render.Options{ - // HTML layout to be used for all HTML requests: - HTMLLayout: "application.plush.html", - - // Box containing all of the templates: - TemplatesBox: packr.New("../templates", "../templates"), - AssetsBox: assetsBox, - - // Add template helpers here: - Helpers: render.Helpers{ - // uncomment for non-Bootstrap form helpers: - // "form": plush.FormHelper, - // "form_for": plush.FormForHelper, - }, - }) -} diff --git a/genny/build/_fixtures/coke/assets/css/_buffalo.scss b/genny/build/_fixtures/coke/assets/css/_buffalo.scss deleted file mode 100644 index 350270fd9..000000000 --- a/genny/build/_fixtures/coke/assets/css/_buffalo.scss +++ /dev/null @@ -1,118 +0,0 @@ -.container { - min-width: 320px; -} - -header { - background-color: #62a5ee; - padding: 10px 20px; - box-sizing: border-box; -} - -.logo img { - width: 80px; -} - -.titles h1 { - font-size: 30px; - font-weight: 300; - color: white; - margin-bottom: 13px; - margin-top: 5px; -} - -.titles h2 { - font-weight: 300; - font-size: 18px; - display: inline-block; - margin: 0; -} - -.titles a { - color: white; - text-decoration: underline; -} - -.titles i { - margin-right: 5px; - text-decoration: none; -} - -.titles .documentation { - margin-left: 28px; -} - -.subtitle { - color: white; - margin: 0; - padding: 13px 0; - background-color: #2a3543; - margin-bottom: 20px; -} - -.subtitle h3 { - font-size: 22px; - font-weight: 400; - margin: 0; -} - -table { - font-size: 14px; -} - -table.table tbody tr td { - border-top: 0; - padding: 10px; -} - -.foot { - text-align: right; - color: #c5c5c5; - font-weight: 300; -} - -.foot a { - color: #8b8b8b; - text-decoration: underline; -} - -.centered { - text-align: center; -} - -@media all and (max-width: 770px) { - .titles h1 { - font-size: 25px; - margin: 15px 0 5px 0; - } -} - -@media all and (max-width: 640px) { - .titles h1 { - font-size: 23px; - margin: 15px 0 5px 0; - } - .titles h2 { - font-size: 15px; - } - .titles .documentation { - margin-left: 10px; - } -} - -@media all and (max-width: 530px) { - .titles h1 { - font-size: 20px; - margin: 5px 0; - } - .logo { - padding: 0 - } - .logo img { - width: 100% - } - .titles .documentation { - margin-left: 0px; - margin-top: 5px; - display: block; - } -} \ No newline at end of file diff --git a/genny/build/_fixtures/coke/assets/css/application.scss b/genny/build/_fixtures/coke/assets/css/application.scss deleted file mode 100644 index 3c5a40304..000000000 --- a/genny/build/_fixtures/coke/assets/css/application.scss +++ /dev/null @@ -1,4 +0,0 @@ -@import "~bootstrap/scss/bootstrap.scss"; -@import "~font-awesome/css/font-awesome.css"; - -@import "buffalo" \ No newline at end of file diff --git a/genny/build/_fixtures/coke/assets/images/favicon.ico b/genny/build/_fixtures/coke/assets/images/favicon.ico deleted file mode 100644 index 463b634a73ee8a1c451d56eaeacdb9145a45412a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1150 zcmbW1>rdNN7{_bkJB>jTjc&%FB9w7y2Wwc6Q3`Bw84KV7&dn|iN`XST2*TC@V{*%Y zY$BI!P%fi|(iJG2wCKK^Lef53C{T+VaO_sPlgobM5d zUJ$06n@G^^qKp?sqBle$kysERBt)EX!H7h{-fJ&8#jzF?&&STruETrwY?DsI2ue*o z;fbY$C6sbjeVwoGSlIaUFUOhvvwM4cE-1UZPTx8@OHfP+Zyqb=?GPRAp@M{5=D^V+ zUY8c&D=*-7*D&nuIPm*9T-b(Y6K>)RJWf>;oKnS+v{rmCw&ItjN0L-YKukU!Q8m0G z&LmgY@;rz03IiiHUiDSudHgaS@*+-NEF#OB|^Ki5iNt_6vzjYGZ);?6`dZaKruWFg<#G~8{ACrF{dJ1CimtRZ}q%}A8D zIH@uanJ3gY$0Fd(_@%aUJUNqvxhgh(x6$2Oh4p?Dn;RnxS_?RqaD~{SF?`b7kZ4WB zXb1Q(y8~&CnLuqnk}MPPmA#Blb+BMx<&V`HtS*^YvMdowPe67r{%WCqCH<6j8JV1}CnjA*W@$dt55Gdw+>fqxmh@^npIuwve8oJq ztrL_rnGp-UJDSx=fW}DRg=*?L?vY;J$f4jQ-VZxVMT>#Lx^|R01NuQbBafCTYqT3+s0M%dooc3}7Uc{n@F#AG*fb4H&0U|?pZiy7M>D=R+>d~@>L#b4Jy@PF-pk!GtT diff --git a/genny/build/_fixtures/coke/assets/images/logo.svg b/genny/build/_fixtures/coke/assets/images/logo.svg deleted file mode 100644 index 0d1f29ef7..000000000 --- a/genny/build/_fixtures/coke/assets/images/logo.svg +++ /dev/null @@ -1,721 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/genny/build/_fixtures/coke/assets/js/application.js b/genny/build/_fixtures/coke/assets/js/application.js deleted file mode 100644 index 9b457c511..000000000 --- a/genny/build/_fixtures/coke/assets/js/application.js +++ /dev/null @@ -1,5 +0,0 @@ -require("expose-loader?$!expose-loader?jQuery!jquery"); -require("bootstrap/dist/js/bootstrap.bundle.js"); -$(() => { - -}); diff --git a/genny/build/_fixtures/coke/config/buffalo-app.toml b/genny/build/_fixtures/coke/config/buffalo-app.toml deleted file mode 100644 index e3e1c3cba..000000000 --- a/genny/build/_fixtures/coke/config/buffalo-app.toml +++ /dev/null @@ -1,12 +0,0 @@ -name = "coke" -bin = "bin/coke" -vcs = "git" -with_pop = true -with_sqlite = false -with_dep = false -with_webpack = true -with_yarn = true -with_docker = true -with_grifts = false -as_web = true -as_api = false diff --git a/genny/build/_fixtures/coke/config/buffalo-plugins.toml b/genny/build/_fixtures/coke/config/buffalo-plugins.toml deleted file mode 100644 index c17b4e7bb..000000000 --- a/genny/build/_fixtures/coke/config/buffalo-plugins.toml +++ /dev/null @@ -1,7 +0,0 @@ -[[plugin]] - binary = "buffalo-docker" - go_get = "github.com/gobuffalo/buffalo-docker" - -[[plugin]] - binary = "buffalo-pop" - go_get = "github.com/gobuffalo/buffalo-pop" diff --git a/genny/build/_fixtures/coke/config/database.yml b/genny/build/_fixtures/coke/config/database.yml deleted file mode 100644 index 6d1d7e796..000000000 --- a/genny/build/_fixtures/coke/config/database.yml +++ /dev/null @@ -1,13 +0,0 @@ -development: - dialect: postgres - database: coke_development - user: postgres - password: postgres - host: 127.0.0.1 - pool: 5 - -test: - url: {{envOr "TEST_DATABASE_URL" "postgres://postgres:postgres@127.0.0.1:5432/coke_test?sslmode=disable"}} - -production: - url: {{envOr "DATABASE_URL" "postgres://postgres:postgres@127.0.0.1:5432/coke_production?sslmode=disable"}} diff --git a/genny/build/_fixtures/coke/fixtures/sample.toml b/genny/build/_fixtures/coke/fixtures/sample.toml deleted file mode 100644 index b9281d496..000000000 --- a/genny/build/_fixtures/coke/fixtures/sample.toml +++ /dev/null @@ -1,32 +0,0 @@ -[[scenario]] -name = "lots of widgets" - - [[scenario.table]] - name = "widgets" - - [[scenario.table.row]] - id = "<%= uuidNamed("widget") %>" - name = "This is widget #1" - body = "some widget body" - created_at = "<%= now() %>" - updated_at = "<%= now() %>" - - [[scenario.table.row]] - id = "<%= uuid() %>" - name = "This is widget #2" - body = "some widget body" - created_at = "<%= now() %>" - updated_at = "<%= now() %>" - - [[scenario.table]] - name = "users" - - [[scenario.table.row]] - id = "<%= uuid() %>" - name = "Mark Bates" - admin = true - age = 41 - widget_id = "<%= uuidNamed("widget") %>" - created_at = "<%= now() %>" - updated_at = "<%= now() %>" - diff --git a/genny/build/_fixtures/coke/grifts/db.go b/genny/build/_fixtures/coke/grifts/db.go deleted file mode 100644 index 1164b41f6..000000000 --- a/genny/build/_fixtures/coke/grifts/db.go +++ /dev/null @@ -1,15 +0,0 @@ -package grifts - -import ( - "github.com/markbates/grift/grift" -) - -var _ = grift.Namespace("db", func() { - - grift.Desc("seed", "Seeds a database") - grift.Add("seed", func(c *grift.Context) error { - // Add DB seeding stuff here - return nil - }) - -}) diff --git a/genny/build/_fixtures/coke/grifts/init.go b/genny/build/_fixtures/coke/grifts/init.go deleted file mode 100644 index 73c0c3939..000000000 --- a/genny/build/_fixtures/coke/grifts/init.go +++ /dev/null @@ -1,10 +0,0 @@ -package grifts - -import ( - "github.com/gobuffalo/buffalo" - "github.com/markbates/coke/actions" -) - -func init() { - buffalo.Grifts(actions.App()) -} diff --git a/genny/build/_fixtures/coke/inflections.json b/genny/build/_fixtures/coke/inflections.json deleted file mode 100644 index ef0214f3a..000000000 --- a/genny/build/_fixtures/coke/inflections.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "singular": "plural" -} diff --git a/genny/build/_fixtures/coke/locales/all.en-us.yaml b/genny/build/_fixtures/coke/locales/all.en-us.yaml deleted file mode 100644 index 6514e2100..000000000 --- a/genny/build/_fixtures/coke/locales/all.en-us.yaml +++ /dev/null @@ -1,3 +0,0 @@ -# For more information on using i18n see: https://github.com/nicksnyder/go-i18n -- id: welcome_greeting - translation: "Welcome to Buffalo (EN)" diff --git a/genny/build/_fixtures/coke/main.go b/genny/build/_fixtures/coke/main.go deleted file mode 100644 index 147f1013e..000000000 --- a/genny/build/_fixtures/coke/main.go +++ /dev/null @@ -1,38 +0,0 @@ -package main - -import ( - "log" - - "github.com/markbates/coke/actions" -) - -// main is the starting point for your Buffalo application. -// You can feel free and add to this `main` method, change -// what it does, etc... -// All we ask is that, at some point, you make sure to -// call `app.Serve()`, unless you don't want to start your -// application that is. :) -func main() { - app := actions.App() - if err := app.Serve(); err != nil { - log.Fatal(err) - } -} - -/* -# Notes about `main.go` - -## SSL Support - -We recommend placing your application behind a proxy, such as -Apache or Nginx and letting them do the SSL heavy lifting -for you. https://gobuffalo.io/en/docs/proxy - -## Buffalo Build - -When `buffalo build` is run to compile your binary, this `main` -function will be at the heart of that binary. It is expected -that your `main` function will start your application using -the `app.Serve()` method. - -*/ diff --git a/genny/build/_fixtures/coke/models/models.go b/genny/build/_fixtures/coke/models/models.go deleted file mode 100644 index 69b6747a8..000000000 --- a/genny/build/_fixtures/coke/models/models.go +++ /dev/null @@ -1,22 +0,0 @@ -package models - -import ( - "log" - - "github.com/gobuffalo/envy" - "github.com/gobuffalo/pop/v5" -) - -// DB is a connection to your database to be used -// throughout your application. -var DB *pop.Connection - -func init() { - var err error - env := envy.Get("GO_ENV", "development") - DB, err = pop.Connect(env) - if err != nil { - log.Fatal(err) - } - pop.Debug = env == "development" -} diff --git a/genny/build/_fixtures/coke/models/models_test.go b/genny/build/_fixtures/coke/models/models_test.go deleted file mode 100644 index c8cb6199f..000000000 --- a/genny/build/_fixtures/coke/models/models_test.go +++ /dev/null @@ -1,24 +0,0 @@ -package models_test - -import ( - "testing" - - "github.com/gobuffalo/packr/v2" - "github.com/gobuffalo/suite" -) - -type ModelSuite struct { - *suite.Model -} - -func Test_ModelSuite(t *testing.T) { - model, err := suite.NewModelWithFixtures(packr.New("../fixtures", "../fixtures")) - if err != nil { - t.Fatal(err) - } - - as := &ModelSuite{ - Model: model, - } - suite.Run(t, as) -} diff --git a/genny/build/_fixtures/coke/package.json b/genny/build/_fixtures/coke/package.json deleted file mode 100644 index c1ca5e7e0..000000000 --- a/genny/build/_fixtures/coke/package.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "name": "buffalo", - "version": "1.0.0", - "main": "index.js", - "license": "MIT", - "scripts": { - "dev": "webpack --watch", - "build": "webpack -p --progress" - }, - "repository": "github.com/gobuffalo/buffalo", - "dependencies": { - "@fortawesome/fontawesome-free": "^5.12.0", - "bootstrap": "4.5.2", - "jquery": "3.5.1", - "jquery-ujs": "~1.2.2", - "popper.js": "^1.16.1" - }, - "devDependencies": { - "@babel/core": "^7.9.0", - "@babel/preset-env": "^7.9.5", - "babel-loader": "^8.1.0", - "copy-webpack-plugin": "~6.1.0", - "css-loader": "~3.5.1", - "expose-loader": "~0.7.5", - "file-loader": "~6.0.0", - "gopherjs-loader": "^0.0.1", - "mini-css-extract-plugin": "^0.11.0", - "node-sass": "~4.14.1", - "npm-install-webpack-plugin": "4.0.5", - "sass-loader": "~8.0.2", - "style-loader": "~1.1.3", - "terser-webpack-plugin": "~4.1.0", - "url-loader": "~4.1.0", - "webpack": "~4.42.1", - "webpack-clean-obsolete-chunks": "^0.4.0", - "webpack-cli": "^4.0.0-beta.8", - "webpack-livereload-plugin": "~2.3.0", - "webpack-manifest-plugin": "~2.2.0" - } -} diff --git a/genny/build/_fixtures/coke/public/assets/.keep b/genny/build/_fixtures/coke/public/assets/.keep deleted file mode 100644 index e69de29bb..000000000 diff --git a/genny/build/_fixtures/coke/public/robots.txt b/genny/build/_fixtures/coke/public/robots.txt deleted file mode 100644 index 1f53798bb..000000000 --- a/genny/build/_fixtures/coke/public/robots.txt +++ /dev/null @@ -1,2 +0,0 @@ -User-agent: * -Disallow: / diff --git a/genny/build/_fixtures/coke/templates/_flash.html b/genny/build/_fixtures/coke/templates/_flash.html deleted file mode 100644 index adc4b27ba..000000000 --- a/genny/build/_fixtures/coke/templates/_flash.html +++ /dev/null @@ -1,14 +0,0 @@ -
-
- <%= for (k, messages) in flash { %> - <%= for (msg) in messages { %> - - <% } %> - <% } %> -
-
diff --git a/genny/build/_fixtures/coke/templates/application.html b/genny/build/_fixtures/coke/templates/application.html deleted file mode 100644 index c9125b4cc..000000000 --- a/genny/build/_fixtures/coke/templates/application.html +++ /dev/null @@ -1,21 +0,0 @@ - - - - - - Buffalo - Coke - <%= stylesheetTag("application.css") %> - - - "> - - - -
- <%= partial("flash.html") %> - <%= yield %> -
- - <%= javascriptTag("application.js") %> - - diff --git a/genny/build/_fixtures/coke/templates/index.html b/genny/build/_fixtures/coke/templates/index.html deleted file mode 100644 index 320a5860f..000000000 --- a/genny/build/_fixtures/coke/templates/index.html +++ /dev/null @@ -1,64 +0,0 @@ -
-
-
- -
-

<%= t("welcome_greeting") %>

-

- https://github.com/gobuffalo/buffalo -

-

- Documentation -

-
-
-
- -
- -
-
-
-
-

Defined Routes

-
-
-
- - - - - - - - - - - - <%= for (r) in routes { %> - - - - - - - <% } %> - - -
METHODPATHNAMEHANDLER
- <%= r.Method %> - - <%= if (r.Method != "GET" || r.Path ~= "{") { %> - <%= r.Path %> - <% } else { %> - <%= r.Path %> - <% } %> - - <%= r.PathName %> - <%= r.HandlerName %>
-
-
-
-
Powered by gobuffalo.io
diff --git a/genny/build/_fixtures/coke/webpack.config.js b/genny/build/_fixtures/coke/webpack.config.js deleted file mode 100644 index 9405f28c1..000000000 --- a/genny/build/_fixtures/coke/webpack.config.js +++ /dev/null @@ -1,114 +0,0 @@ -const Webpack = require("webpack"); -const Glob = require("glob"); -const CopyWebpackPlugin = require("copy-webpack-plugin"); -const MiniCssExtractPlugin = require("mini-css-extract-plugin"); -const ManifestPlugin = require("webpack-manifest-plugin"); -const CleanObsoleteChunks = require("webpack-clean-obsolete-chunks"); -const TerserPlugin = require("terser-webpack-plugin"); -const LiveReloadPlugin = require("webpack-livereload-plugin"); - -const configurator = { - entries: function(){ - var entries = { - application: [ - './node_modules/jquery-ujs/src/rails.js', - './assets/css/application.scss', - ], - } - - Glob.sync("./assets/*/*.*").forEach((entry) => { - if (entry === './assets/css/application.scss') { - return - } - - let key = entry.replace(/(\.\/assets\/(src|js|css|go)\/)|\.(ts|js|s[ac]ss|go)/g, '') - if(key.startsWith("_") || (/(ts|js|s[ac]ss|go)$/i).test(entry) == false) { - return - } - - if( entries[key] == null) { - entries[key] = [entry] - return - } - - entries[key].push(entry) - }) - return entries - }, - - plugins() { - var plugins = [ - new CleanObsoleteChunks(), - new Webpack.ProvidePlugin({$: "jquery",jQuery: "jquery"}), - new MiniCssExtractPlugin({filename: "[name].[contenthash].css"}), - new CopyWebpackPlugin([{from: "./assets",to: ""}], {copyUnmodified: true,ignore: ["css/**", "js/**", "src/**"] }), - new Webpack.LoaderOptionsPlugin({minimize: true,debug: false}), - new ManifestPlugin({fileName: "manifest.json"}) - ]; - - return plugins - }, - - moduleOptions: function() { - return { - rules: [ - { - test: /\.s[ac]ss$/, - use: [ - MiniCssExtractPlugin.loader, - { loader: "css-loader", options: {sourceMap: true}}, - { loader: "sass-loader", options: {sourceMap: true}} - ] - }, - { test: /\.tsx?$/, use: "ts-loader", exclude: /node_modules/}, - { test: /\.jsx?$/,loader: "babel-loader",exclude: /node_modules/ }, - { test: /\.(woff|woff2|ttf|svg)(\?v=\d+\.\d+\.\d+)?$/,use: "url-loader"}, - { test: /\.eot(\?v=\d+\.\d+\.\d+)?$/,use: "file-loader" }, - { test: require.resolve("jquery"),use: "expose-loader?jQuery!expose-loader?$"}, - { test: /\.go$/, use: "gopherjs-loader"} - ] - } - }, - - buildConfig: function(){ - // NOTE: If you are having issues with this not being set "properly", make - // sure your GO_ENV is set properly as `buffalo build` overrides NODE_ENV - // with whatever GO_ENV is set to or "development". - const env = process.env.NODE_ENV || "development"; - - var config = { - mode: env, - entry: configurator.entries(), - output: {filename: "[name].[hash].js", path: `${__dirname}/public/assets`}, - plugins: configurator.plugins(), - module: configurator.moduleOptions(), - resolve: { - extensions: ['.ts', '.js', '.json'] - } - } - - if( env === "development" ){ - config.plugins.push(new LiveReloadPlugin({appendScriptTag: true})) - return config - } - - const terser = new TerserPlugin({ - terserOptions: { - compress: {}, - mangle: {keep_fnames: true}, - output: { - comments: false, - }, - }, - extractComments: false, - }) - - config.optimization = { - minimizer: [terser] - } - - return config - } -} - -module.exports = configurator.buildConfig() diff --git a/genny/build/_fixtures/coke/yarn.lock b/genny/build/_fixtures/coke/yarn.lock deleted file mode 100644 index ed8d3f8b6..000000000 --- a/genny/build/_fixtures/coke/yarn.lock +++ /dev/null @@ -1,5802 +0,0 @@ -# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. -# yarn lockfile v1 - - -"@babel/code-frame@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.8.3.tgz#33e25903d7481181534e12ec0a25f16b6fcf419e" - integrity sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g== - dependencies: - "@babel/highlight" "^7.8.3" - -"@babel/compat-data@^7.9.6": - version "7.9.6" - resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.9.6.tgz#3f604c40e420131affe6f2c8052e9a275ae2049b" - integrity sha512-5QPTrNen2bm7RBc7dsOmcA5hbrS4O2Vhmk5XOL4zWW/zD/hV0iinpefDlkm+tBBy8kDtFaaeEvmAqt+nURAV2g== - dependencies: - browserslist "^4.11.1" - invariant "^2.2.4" - semver "^5.5.0" - -"@babel/core@^7.9.0": - version "7.9.6" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.9.6.tgz#d9aa1f580abf3b2286ef40b6904d390904c63376" - integrity sha512-nD3deLvbsApbHAHttzIssYqgb883yU/d9roe4RZymBCDaZryMJDbptVpEpeQuRh4BJ+SYI8le9YGxKvFEvl1Wg== - dependencies: - "@babel/code-frame" "^7.8.3" - "@babel/generator" "^7.9.6" - "@babel/helper-module-transforms" "^7.9.0" - "@babel/helpers" "^7.9.6" - "@babel/parser" "^7.9.6" - "@babel/template" "^7.8.6" - "@babel/traverse" "^7.9.6" - "@babel/types" "^7.9.6" - convert-source-map "^1.7.0" - debug "^4.1.0" - gensync "^1.0.0-beta.1" - json5 "^2.1.2" - lodash "^4.17.13" - resolve "^1.3.2" - semver "^5.4.1" - source-map "^0.5.0" - -"@babel/generator@^7.9.6": - version "7.9.6" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.9.6.tgz#5408c82ac5de98cda0d77d8124e99fa1f2170a43" - integrity sha512-+htwWKJbH2bL72HRluF8zumBxzuX0ZZUFl3JLNyoUjM/Ho8wnVpPXM6aUz8cfKDqQ/h7zHqKt4xzJteUosckqQ== - dependencies: - "@babel/types" "^7.9.6" - jsesc "^2.5.1" - lodash "^4.17.13" - source-map "^0.5.0" - -"@babel/helper-annotate-as-pure@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.8.3.tgz#60bc0bc657f63a0924ff9a4b4a0b24a13cf4deee" - integrity sha512-6o+mJrZBxOoEX77Ezv9zwW7WV8DdluouRKNY/IR5u/YTMuKHgugHOzYWlYvYLpLA9nPsQCAAASpCIbjI9Mv+Uw== - dependencies: - "@babel/types" "^7.8.3" - -"@babel/helper-builder-binary-assignment-operator-visitor@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.8.3.tgz#c84097a427a061ac56a1c30ebf54b7b22d241503" - integrity sha512-5eFOm2SyFPK4Rh3XMMRDjN7lBH0orh3ss0g3rTYZnBQ+r6YPj7lgDyCvPphynHvUrobJmeMignBr6Acw9mAPlw== - dependencies: - "@babel/helper-explode-assignable-expression" "^7.8.3" - "@babel/types" "^7.8.3" - -"@babel/helper-compilation-targets@^7.9.6": - version "7.9.6" - resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.9.6.tgz#1e05b7ccc9d38d2f8b40b458b380a04dcfadd38a" - integrity sha512-x2Nvu0igO0ejXzx09B/1fGBxY9NXQlBW2kZsSxCJft+KHN8t9XWzIvFxtPHnBOAXpVsdxZKZFbRUC8TsNKajMw== - dependencies: - "@babel/compat-data" "^7.9.6" - browserslist "^4.11.1" - invariant "^2.2.4" - levenary "^1.1.1" - semver "^5.5.0" - -"@babel/helper-create-regexp-features-plugin@^7.8.3", "@babel/helper-create-regexp-features-plugin@^7.8.8": - version "7.8.8" - resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.8.8.tgz#5d84180b588f560b7864efaeea89243e58312087" - integrity sha512-LYVPdwkrQEiX9+1R29Ld/wTrmQu1SSKYnuOk3g0CkcZMA1p0gsNxJFj/3gBdaJ7Cg0Fnek5z0DsMULePP7Lrqg== - dependencies: - "@babel/helper-annotate-as-pure" "^7.8.3" - "@babel/helper-regex" "^7.8.3" - regexpu-core "^4.7.0" - -"@babel/helper-define-map@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/helper-define-map/-/helper-define-map-7.8.3.tgz#a0655cad5451c3760b726eba875f1cd8faa02c15" - integrity sha512-PoeBYtxoZGtct3md6xZOCWPcKuMuk3IHhgxsRRNtnNShebf4C8YonTSblsK4tvDbm+eJAw2HAPOfCr+Q/YRG/g== - dependencies: - "@babel/helper-function-name" "^7.8.3" - "@babel/types" "^7.8.3" - lodash "^4.17.13" - -"@babel/helper-explode-assignable-expression@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.8.3.tgz#a728dc5b4e89e30fc2dfc7d04fa28a930653f982" - integrity sha512-N+8eW86/Kj147bO9G2uclsg5pwfs/fqqY5rwgIL7eTBklgXjcOJ3btzS5iM6AitJcftnY7pm2lGsrJVYLGjzIw== - dependencies: - "@babel/traverse" "^7.8.3" - "@babel/types" "^7.8.3" - -"@babel/helper-function-name@^7.8.3", "@babel/helper-function-name@^7.9.5": - version "7.9.5" - resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.9.5.tgz#2b53820d35275120e1874a82e5aabe1376920a5c" - integrity sha512-JVcQZeXM59Cd1qanDUxv9fgJpt3NeKUaqBqUEvfmQ+BCOKq2xUgaWZW2hr0dkbyJgezYuplEoh5knmrnS68efw== - dependencies: - "@babel/helper-get-function-arity" "^7.8.3" - "@babel/template" "^7.8.3" - "@babel/types" "^7.9.5" - -"@babel/helper-get-function-arity@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.8.3.tgz#b894b947bd004381ce63ea1db9f08547e920abd5" - integrity sha512-FVDR+Gd9iLjUMY1fzE2SR0IuaJToR4RkCDARVfsBBPSP53GEqSFjD8gNyxg246VUyc/ALRxFaAK8rVG7UT7xRA== - dependencies: - "@babel/types" "^7.8.3" - -"@babel/helper-hoist-variables@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.8.3.tgz#1dbe9b6b55d78c9b4183fc8cdc6e30ceb83b7134" - integrity sha512-ky1JLOjcDUtSc+xkt0xhYff7Z6ILTAHKmZLHPxAhOP0Nd77O+3nCsd6uSVYur6nJnCI029CrNbYlc0LoPfAPQg== - dependencies: - "@babel/types" "^7.8.3" - -"@babel/helper-member-expression-to-functions@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.8.3.tgz#659b710498ea6c1d9907e0c73f206eee7dadc24c" - integrity sha512-fO4Egq88utkQFjbPrSHGmGLFqmrshs11d46WI+WZDESt7Wu7wN2G2Iu+NMMZJFDOVRHAMIkB5SNh30NtwCA7RA== - dependencies: - "@babel/types" "^7.8.3" - -"@babel/helper-module-imports@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.8.3.tgz#7fe39589b39c016331b6b8c3f441e8f0b1419498" - integrity sha512-R0Bx3jippsbAEtzkpZ/6FIiuzOURPcMjHp+Z6xPe6DtApDJx+w7UYyOLanZqO8+wKR9G10s/FmHXvxaMd9s6Kg== - dependencies: - "@babel/types" "^7.8.3" - -"@babel/helper-module-transforms@^7.9.0": - version "7.9.0" - resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.9.0.tgz#43b34dfe15961918707d247327431388e9fe96e5" - integrity sha512-0FvKyu0gpPfIQ8EkxlrAydOWROdHpBmiCiRwLkUiBGhCUPRRbVD2/tm3sFr/c/GWFrQ/ffutGUAnx7V0FzT2wA== - dependencies: - "@babel/helper-module-imports" "^7.8.3" - "@babel/helper-replace-supers" "^7.8.6" - "@babel/helper-simple-access" "^7.8.3" - "@babel/helper-split-export-declaration" "^7.8.3" - "@babel/template" "^7.8.6" - "@babel/types" "^7.9.0" - lodash "^4.17.13" - -"@babel/helper-optimise-call-expression@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.8.3.tgz#7ed071813d09c75298ef4f208956006b6111ecb9" - integrity sha512-Kag20n86cbO2AvHca6EJsvqAd82gc6VMGule4HwebwMlwkpXuVqrNRj6CkCV2sKxgi9MyAUnZVnZ6lJ1/vKhHQ== - dependencies: - "@babel/types" "^7.8.3" - -"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz#9ea293be19babc0f52ff8ca88b34c3611b208670" - integrity sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ== - -"@babel/helper-regex@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/helper-regex/-/helper-regex-7.8.3.tgz#139772607d51b93f23effe72105b319d2a4c6965" - integrity sha512-BWt0QtYv/cg/NecOAZMdcn/waj/5P26DR4mVLXfFtDokSR6fyuG0Pj+e2FqtSME+MqED1khnSMulkmGl8qWiUQ== - dependencies: - lodash "^4.17.13" - -"@babel/helper-remap-async-to-generator@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.8.3.tgz#273c600d8b9bf5006142c1e35887d555c12edd86" - integrity sha512-kgwDmw4fCg7AVgS4DukQR/roGp+jP+XluJE5hsRZwxCYGg+Rv9wSGErDWhlI90FODdYfd4xG4AQRiMDjjN0GzA== - dependencies: - "@babel/helper-annotate-as-pure" "^7.8.3" - "@babel/helper-wrap-function" "^7.8.3" - "@babel/template" "^7.8.3" - "@babel/traverse" "^7.8.3" - "@babel/types" "^7.8.3" - -"@babel/helper-replace-supers@^7.8.3", "@babel/helper-replace-supers@^7.8.6": - version "7.9.6" - resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.9.6.tgz#03149d7e6a5586ab6764996cd31d6981a17e1444" - integrity sha512-qX+chbxkbArLyCImk3bWV+jB5gTNU/rsze+JlcF6Nf8tVTigPJSI1o1oBow/9Resa1yehUO9lIipsmu9oG4RzA== - dependencies: - "@babel/helper-member-expression-to-functions" "^7.8.3" - "@babel/helper-optimise-call-expression" "^7.8.3" - "@babel/traverse" "^7.9.6" - "@babel/types" "^7.9.6" - -"@babel/helper-simple-access@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.8.3.tgz#7f8109928b4dab4654076986af575231deb639ae" - integrity sha512-VNGUDjx5cCWg4vvCTR8qQ7YJYZ+HBjxOgXEl7ounz+4Sn7+LMD3CFrCTEU6/qXKbA2nKg21CwhhBzO0RpRbdCw== - dependencies: - "@babel/template" "^7.8.3" - "@babel/types" "^7.8.3" - -"@babel/helper-split-export-declaration@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.8.3.tgz#31a9f30070f91368a7182cf05f831781065fc7a9" - integrity sha512-3x3yOeyBhW851hroze7ElzdkeRXQYQbFIb7gLK1WQYsw2GWDay5gAJNw1sWJ0VFP6z5J1whqeXH/WCdCjZv6dA== - dependencies: - "@babel/types" "^7.8.3" - -"@babel/helper-validator-identifier@^7.9.0", "@babel/helper-validator-identifier@^7.9.5": - version "7.9.5" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.9.5.tgz#90977a8e6fbf6b431a7dc31752eee233bf052d80" - integrity sha512-/8arLKUFq882w4tWGj9JYzRpAlZgiWUJ+dtteNTDqrRBz9Iguck9Rn3ykuBDoUwh2TO4tSAJlrxDUOXWklJe4g== - -"@babel/helper-wrap-function@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.8.3.tgz#9dbdb2bb55ef14aaa01fe8c99b629bd5352d8610" - integrity sha512-LACJrbUET9cQDzb6kG7EeD7+7doC3JNvUgTEQOx2qaO1fKlzE/Bf05qs9w1oXQMmXlPO65lC3Tq9S6gZpTErEQ== - dependencies: - "@babel/helper-function-name" "^7.8.3" - "@babel/template" "^7.8.3" - "@babel/traverse" "^7.8.3" - "@babel/types" "^7.8.3" - -"@babel/helpers@^7.9.6": - version "7.9.6" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.9.6.tgz#092c774743471d0bb6c7de3ad465ab3d3486d580" - integrity sha512-tI4bUbldloLcHWoRUMAj4g1bF313M/o6fBKhIsb3QnGVPwRm9JsNf/gqMkQ7zjqReABiffPV6RWj7hEglID5Iw== - dependencies: - "@babel/template" "^7.8.3" - "@babel/traverse" "^7.9.6" - "@babel/types" "^7.9.6" - -"@babel/highlight@^7.8.3": - version "7.9.0" - resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.9.0.tgz#4e9b45ccb82b79607271b2979ad82c7b68163079" - integrity sha512-lJZPilxX7Op3Nv/2cvFdnlepPXDxi29wxteT57Q965oc5R9v86ztx0jfxVrTcBk8C2kcPkkDa2Z4T3ZsPPVWsQ== - dependencies: - "@babel/helper-validator-identifier" "^7.9.0" - chalk "^2.0.0" - js-tokens "^4.0.0" - -"@babel/parser@^7.8.6", "@babel/parser@^7.9.6": - version "7.9.6" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.9.6.tgz#3b1bbb30dabe600cd72db58720998376ff653bc7" - integrity sha512-AoeIEJn8vt+d/6+PXDRPaksYhnlbMIiejioBZvvMQsOjW/JYK6k/0dKnvvP3EhK5GfMBWDPtrxRtegWdAcdq9Q== - -"@babel/plugin-proposal-async-generator-functions@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.8.3.tgz#bad329c670b382589721b27540c7d288601c6e6f" - integrity sha512-NZ9zLv848JsV3hs8ryEh7Uaz/0KsmPLqv0+PdkDJL1cJy0K4kOCFa8zc1E3mp+RHPQcpdfb/6GovEsW4VDrOMw== - dependencies: - "@babel/helper-plugin-utils" "^7.8.3" - "@babel/helper-remap-async-to-generator" "^7.8.3" - "@babel/plugin-syntax-async-generators" "^7.8.0" - -"@babel/plugin-proposal-dynamic-import@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.8.3.tgz#38c4fe555744826e97e2ae930b0fb4cc07e66054" - integrity sha512-NyaBbyLFXFLT9FP+zk0kYlUlA8XtCUbehs67F0nnEg7KICgMc2mNkIeu9TYhKzyXMkrapZFwAhXLdnt4IYHy1w== - dependencies: - "@babel/helper-plugin-utils" "^7.8.3" - "@babel/plugin-syntax-dynamic-import" "^7.8.0" - -"@babel/plugin-proposal-json-strings@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.8.3.tgz#da5216b238a98b58a1e05d6852104b10f9a70d6b" - integrity sha512-KGhQNZ3TVCQG/MjRbAUwuH+14y9q0tpxs1nWWs3pbSleRdDro9SAMMDyye8HhY1gqZ7/NqIc8SKhya0wRDgP1Q== - dependencies: - "@babel/helper-plugin-utils" "^7.8.3" - "@babel/plugin-syntax-json-strings" "^7.8.0" - -"@babel/plugin-proposal-nullish-coalescing-operator@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.8.3.tgz#e4572253fdeed65cddeecfdab3f928afeb2fd5d2" - integrity sha512-TS9MlfzXpXKt6YYomudb/KU7nQI6/xnapG6in1uZxoxDghuSMZsPb6D2fyUwNYSAp4l1iR7QtFOjkqcRYcUsfw== - dependencies: - "@babel/helper-plugin-utils" "^7.8.3" - "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.0" - -"@babel/plugin-proposal-numeric-separator@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.8.3.tgz#5d6769409699ec9b3b68684cd8116cedff93bad8" - integrity sha512-jWioO1s6R/R+wEHizfaScNsAx+xKgwTLNXSh7tTC4Usj3ItsPEhYkEpU4h+lpnBwq7NBVOJXfO6cRFYcX69JUQ== - dependencies: - "@babel/helper-plugin-utils" "^7.8.3" - "@babel/plugin-syntax-numeric-separator" "^7.8.3" - -"@babel/plugin-proposal-object-rest-spread@^7.9.6": - version "7.9.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.9.6.tgz#7a093586fcb18b08266eb1a7177da671ac575b63" - integrity sha512-Ga6/fhGqA9Hj+y6whNpPv8psyaK5xzrQwSPsGPloVkvmH+PqW1ixdnfJ9uIO06OjQNYol3PMnfmJ8vfZtkzF+A== - dependencies: - "@babel/helper-plugin-utils" "^7.8.3" - "@babel/plugin-syntax-object-rest-spread" "^7.8.0" - "@babel/plugin-transform-parameters" "^7.9.5" - -"@babel/plugin-proposal-optional-catch-binding@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.8.3.tgz#9dee96ab1650eed88646ae9734ca167ac4a9c5c9" - integrity sha512-0gkX7J7E+AtAw9fcwlVQj8peP61qhdg/89D5swOkjYbkboA2CVckn3kiyum1DE0wskGb7KJJxBdyEBApDLLVdw== - dependencies: - "@babel/helper-plugin-utils" "^7.8.3" - "@babel/plugin-syntax-optional-catch-binding" "^7.8.0" - -"@babel/plugin-proposal-optional-chaining@^7.9.0": - version "7.9.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.9.0.tgz#31db16b154c39d6b8a645292472b98394c292a58" - integrity sha512-NDn5tu3tcv4W30jNhmc2hyD5c56G6cXx4TesJubhxrJeCvuuMpttxr0OnNCqbZGhFjLrg+NIhxxC+BK5F6yS3w== - dependencies: - "@babel/helper-plugin-utils" "^7.8.3" - "@babel/plugin-syntax-optional-chaining" "^7.8.0" - -"@babel/plugin-proposal-unicode-property-regex@^7.4.4", "@babel/plugin-proposal-unicode-property-regex@^7.8.3": - version "7.8.8" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.8.8.tgz#ee3a95e90cdc04fe8cd92ec3279fa017d68a0d1d" - integrity sha512-EVhjVsMpbhLw9ZfHWSx2iy13Q8Z/eg8e8ccVWt23sWQK5l1UdkoLJPN5w69UA4uITGBnEZD2JOe4QOHycYKv8A== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.8.8" - "@babel/helper-plugin-utils" "^7.8.3" - -"@babel/plugin-syntax-async-generators@^7.8.0": - version "7.8.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz#a983fb1aeb2ec3f6ed042a210f640e90e786fe0d" - integrity sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-dynamic-import@^7.8.0": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz#62bf98b2da3cd21d626154fc96ee5b3cb68eacb3" - integrity sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-json-strings@^7.8.0": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz#01ca21b668cd8218c9e640cb6dd88c5412b2c96a" - integrity sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-nullish-coalescing-operator@^7.8.0": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz#167ed70368886081f74b5c36c65a88c03b66d1a9" - integrity sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-numeric-separator@^7.8.0", "@babel/plugin-syntax-numeric-separator@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.8.3.tgz#0e3fb63e09bea1b11e96467271c8308007e7c41f" - integrity sha512-H7dCMAdN83PcCmqmkHB5dtp+Xa9a6LKSvA2hiFBC/5alSHxM5VgWZXFqDi0YFe8XNGT6iCa+z4V4zSt/PdZ7Dw== - dependencies: - "@babel/helper-plugin-utils" "^7.8.3" - -"@babel/plugin-syntax-object-rest-spread@^7.8.0": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz#60e225edcbd98a640332a2e72dd3e66f1af55871" - integrity sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-optional-catch-binding@^7.8.0": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz#6111a265bcfb020eb9efd0fdfd7d26402b9ed6c1" - integrity sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-optional-chaining@^7.8.0": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz#4f69c2ab95167e0180cd5336613f8c5788f7d48a" - integrity sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-top-level-await@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.8.3.tgz#3acdece695e6b13aaf57fc291d1a800950c71391" - integrity sha512-kwj1j9lL/6Wd0hROD3b/OZZ7MSrZLqqn9RAZ5+cYYsflQ9HZBIKCUkr3+uL1MEJ1NePiUbf98jjiMQSv0NMR9g== - dependencies: - "@babel/helper-plugin-utils" "^7.8.3" - -"@babel/plugin-transform-arrow-functions@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.8.3.tgz#82776c2ed0cd9e1a49956daeb896024c9473b8b6" - integrity sha512-0MRF+KC8EqH4dbuITCWwPSzsyO3HIWWlm30v8BbbpOrS1B++isGxPnnuq/IZvOX5J2D/p7DQalQm+/2PnlKGxg== - dependencies: - "@babel/helper-plugin-utils" "^7.8.3" - -"@babel/plugin-transform-async-to-generator@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.8.3.tgz#4308fad0d9409d71eafb9b1a6ee35f9d64b64086" - integrity sha512-imt9tFLD9ogt56Dd5CI/6XgpukMwd/fLGSrix2httihVe7LOGVPhyhMh1BU5kDM7iHD08i8uUtmV2sWaBFlHVQ== - dependencies: - "@babel/helper-module-imports" "^7.8.3" - "@babel/helper-plugin-utils" "^7.8.3" - "@babel/helper-remap-async-to-generator" "^7.8.3" - -"@babel/plugin-transform-block-scoped-functions@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.8.3.tgz#437eec5b799b5852072084b3ae5ef66e8349e8a3" - integrity sha512-vo4F2OewqjbB1+yaJ7k2EJFHlTP3jR634Z9Cj9itpqNjuLXvhlVxgnjsHsdRgASR8xYDrx6onw4vW5H6We0Jmg== - dependencies: - "@babel/helper-plugin-utils" "^7.8.3" - -"@babel/plugin-transform-block-scoping@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.8.3.tgz#97d35dab66857a437c166358b91d09050c868f3a" - integrity sha512-pGnYfm7RNRgYRi7bids5bHluENHqJhrV4bCZRwc5GamaWIIs07N4rZECcmJL6ZClwjDz1GbdMZFtPs27hTB06w== - dependencies: - "@babel/helper-plugin-utils" "^7.8.3" - lodash "^4.17.13" - -"@babel/plugin-transform-classes@^7.9.5": - version "7.9.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.9.5.tgz#800597ddb8aefc2c293ed27459c1fcc935a26c2c" - integrity sha512-x2kZoIuLC//O5iA7PEvecB105o7TLzZo8ofBVhP79N+DO3jaX+KYfww9TQcfBEZD0nikNyYcGB1IKtRq36rdmg== - dependencies: - "@babel/helper-annotate-as-pure" "^7.8.3" - "@babel/helper-define-map" "^7.8.3" - "@babel/helper-function-name" "^7.9.5" - "@babel/helper-optimise-call-expression" "^7.8.3" - "@babel/helper-plugin-utils" "^7.8.3" - "@babel/helper-replace-supers" "^7.8.6" - "@babel/helper-split-export-declaration" "^7.8.3" - globals "^11.1.0" - -"@babel/plugin-transform-computed-properties@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.8.3.tgz#96d0d28b7f7ce4eb5b120bb2e0e943343c86f81b" - integrity sha512-O5hiIpSyOGdrQZRQ2ccwtTVkgUDBBiCuK//4RJ6UfePllUTCENOzKxfh6ulckXKc0DixTFLCfb2HVkNA7aDpzA== - dependencies: - "@babel/helper-plugin-utils" "^7.8.3" - -"@babel/plugin-transform-destructuring@^7.9.5": - version "7.9.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.9.5.tgz#72c97cf5f38604aea3abf3b935b0e17b1db76a50" - integrity sha512-j3OEsGel8nHL/iusv/mRd5fYZ3DrOxWC82x0ogmdN/vHfAP4MYw+AFKYanzWlktNwikKvlzUV//afBW5FTp17Q== - dependencies: - "@babel/helper-plugin-utils" "^7.8.3" - -"@babel/plugin-transform-dotall-regex@^7.4.4", "@babel/plugin-transform-dotall-regex@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.8.3.tgz#c3c6ec5ee6125c6993c5cbca20dc8621a9ea7a6e" - integrity sha512-kLs1j9Nn4MQoBYdRXH6AeaXMbEJFaFu/v1nQkvib6QzTj8MZI5OQzqmD83/2jEM1z0DLilra5aWO5YpyC0ALIw== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.8.3" - "@babel/helper-plugin-utils" "^7.8.3" - -"@babel/plugin-transform-duplicate-keys@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.8.3.tgz#8d12df309aa537f272899c565ea1768e286e21f1" - integrity sha512-s8dHiBUbcbSgipS4SMFuWGqCvyge5V2ZeAWzR6INTVC3Ltjig/Vw1G2Gztv0vU/hRG9X8IvKvYdoksnUfgXOEQ== - dependencies: - "@babel/helper-plugin-utils" "^7.8.3" - -"@babel/plugin-transform-exponentiation-operator@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.8.3.tgz#581a6d7f56970e06bf51560cd64f5e947b70d7b7" - integrity sha512-zwIpuIymb3ACcInbksHaNcR12S++0MDLKkiqXHl3AzpgdKlFNhog+z/K0+TGW+b0w5pgTq4H6IwV/WhxbGYSjQ== - dependencies: - "@babel/helper-builder-binary-assignment-operator-visitor" "^7.8.3" - "@babel/helper-plugin-utils" "^7.8.3" - -"@babel/plugin-transform-for-of@^7.9.0": - version "7.9.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.9.0.tgz#0f260e27d3e29cd1bb3128da5e76c761aa6c108e" - integrity sha512-lTAnWOpMwOXpyDx06N+ywmF3jNbafZEqZ96CGYabxHrxNX8l5ny7dt4bK/rGwAh9utyP2b2Hv7PlZh1AAS54FQ== - dependencies: - "@babel/helper-plugin-utils" "^7.8.3" - -"@babel/plugin-transform-function-name@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.8.3.tgz#279373cb27322aaad67c2683e776dfc47196ed8b" - integrity sha512-rO/OnDS78Eifbjn5Py9v8y0aR+aSYhDhqAwVfsTl0ERuMZyr05L1aFSCJnbv2mmsLkit/4ReeQ9N2BgLnOcPCQ== - dependencies: - "@babel/helper-function-name" "^7.8.3" - "@babel/helper-plugin-utils" "^7.8.3" - -"@babel/plugin-transform-literals@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.8.3.tgz#aef239823d91994ec7b68e55193525d76dbd5dc1" - integrity sha512-3Tqf8JJ/qB7TeldGl+TT55+uQei9JfYaregDcEAyBZ7akutriFrt6C/wLYIer6OYhleVQvH/ntEhjE/xMmy10A== - dependencies: - "@babel/helper-plugin-utils" "^7.8.3" - -"@babel/plugin-transform-member-expression-literals@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.8.3.tgz#963fed4b620ac7cbf6029c755424029fa3a40410" - integrity sha512-3Wk2EXhnw+rP+IDkK6BdtPKsUE5IeZ6QOGrPYvw52NwBStw9V1ZVzxgK6fSKSxqUvH9eQPR3tm3cOq79HlsKYA== - dependencies: - "@babel/helper-plugin-utils" "^7.8.3" - -"@babel/plugin-transform-modules-amd@^7.9.6": - version "7.9.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.9.6.tgz#8539ec42c153d12ea3836e0e3ac30d5aae7b258e" - integrity sha512-zoT0kgC3EixAyIAU+9vfaUVKTv9IxBDSabgHoUCBP6FqEJ+iNiN7ip7NBKcYqbfUDfuC2mFCbM7vbu4qJgOnDw== - dependencies: - "@babel/helper-module-transforms" "^7.9.0" - "@babel/helper-plugin-utils" "^7.8.3" - babel-plugin-dynamic-import-node "^2.3.3" - -"@babel/plugin-transform-modules-commonjs@^7.9.6": - version "7.9.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.9.6.tgz#64b7474a4279ee588cacd1906695ca721687c277" - integrity sha512-7H25fSlLcn+iYimmsNe3uK1at79IE6SKW9q0/QeEHTMC9MdOZ+4bA+T1VFB5fgOqBWoqlifXRzYD0JPdmIrgSQ== - dependencies: - "@babel/helper-module-transforms" "^7.9.0" - "@babel/helper-plugin-utils" "^7.8.3" - "@babel/helper-simple-access" "^7.8.3" - babel-plugin-dynamic-import-node "^2.3.3" - -"@babel/plugin-transform-modules-systemjs@^7.9.6": - version "7.9.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.9.6.tgz#207f1461c78a231d5337a92140e52422510d81a4" - integrity sha512-NW5XQuW3N2tTHim8e1b7qGy7s0kZ2OH3m5octc49K1SdAKGxYxeIx7hiIz05kS1R2R+hOWcsr1eYwcGhrdHsrg== - dependencies: - "@babel/helper-hoist-variables" "^7.8.3" - "@babel/helper-module-transforms" "^7.9.0" - "@babel/helper-plugin-utils" "^7.8.3" - babel-plugin-dynamic-import-node "^2.3.3" - -"@babel/plugin-transform-modules-umd@^7.9.0": - version "7.9.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.9.0.tgz#e909acae276fec280f9b821a5f38e1f08b480697" - integrity sha512-uTWkXkIVtg/JGRSIABdBoMsoIeoHQHPTL0Y2E7xf5Oj7sLqwVsNXOkNk0VJc7vF0IMBsPeikHxFjGe+qmwPtTQ== - dependencies: - "@babel/helper-module-transforms" "^7.9.0" - "@babel/helper-plugin-utils" "^7.8.3" - -"@babel/plugin-transform-named-capturing-groups-regex@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.8.3.tgz#a2a72bffa202ac0e2d0506afd0939c5ecbc48c6c" - integrity sha512-f+tF/8UVPU86TrCb06JoPWIdDpTNSGGcAtaD9mLP0aYGA0OS0j7j7DHJR0GTFrUZPUU6loZhbsVZgTh0N+Qdnw== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.8.3" - -"@babel/plugin-transform-new-target@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.8.3.tgz#60cc2ae66d85c95ab540eb34babb6434d4c70c43" - integrity sha512-QuSGysibQpyxexRyui2vca+Cmbljo8bcRckgzYV4kRIsHpVeyeC3JDO63pY+xFZ6bWOBn7pfKZTqV4o/ix9sFw== - dependencies: - "@babel/helper-plugin-utils" "^7.8.3" - -"@babel/plugin-transform-object-super@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.8.3.tgz#ebb6a1e7a86ffa96858bd6ac0102d65944261725" - integrity sha512-57FXk+gItG/GejofIyLIgBKTas4+pEU47IXKDBWFTxdPd7F80H8zybyAY7UoblVfBhBGs2EKM+bJUu2+iUYPDQ== - dependencies: - "@babel/helper-plugin-utils" "^7.8.3" - "@babel/helper-replace-supers" "^7.8.3" - -"@babel/plugin-transform-parameters@^7.9.5": - version "7.9.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.9.5.tgz#173b265746f5e15b2afe527eeda65b73623a0795" - integrity sha512-0+1FhHnMfj6lIIhVvS4KGQJeuhe1GI//h5uptK4PvLt+BGBxsoUJbd3/IW002yk//6sZPlFgsG1hY6OHLcy6kA== - dependencies: - "@babel/helper-get-function-arity" "^7.8.3" - "@babel/helper-plugin-utils" "^7.8.3" - -"@babel/plugin-transform-property-literals@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.8.3.tgz#33194300d8539c1ed28c62ad5087ba3807b98263" - integrity sha512-uGiiXAZMqEoQhRWMK17VospMZh5sXWg+dlh2soffpkAl96KAm+WZuJfa6lcELotSRmooLqg0MWdH6UUq85nmmg== - dependencies: - "@babel/helper-plugin-utils" "^7.8.3" - -"@babel/plugin-transform-regenerator@^7.8.7": - version "7.8.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.8.7.tgz#5e46a0dca2bee1ad8285eb0527e6abc9c37672f8" - integrity sha512-TIg+gAl4Z0a3WmD3mbYSk+J9ZUH6n/Yc57rtKRnlA/7rcCvpekHXe0CMZHP1gYp7/KLe9GHTuIba0vXmls6drA== - dependencies: - regenerator-transform "^0.14.2" - -"@babel/plugin-transform-reserved-words@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.8.3.tgz#9a0635ac4e665d29b162837dd3cc50745dfdf1f5" - integrity sha512-mwMxcycN3omKFDjDQUl+8zyMsBfjRFr0Zn/64I41pmjv4NJuqcYlEtezwYtw9TFd9WR1vN5kiM+O0gMZzO6L0A== - dependencies: - "@babel/helper-plugin-utils" "^7.8.3" - -"@babel/plugin-transform-shorthand-properties@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.8.3.tgz#28545216e023a832d4d3a1185ed492bcfeac08c8" - integrity sha512-I9DI6Odg0JJwxCHzbzW08ggMdCezoWcuQRz3ptdudgwaHxTjxw5HgdFJmZIkIMlRymL6YiZcped4TTCB0JcC8w== - dependencies: - "@babel/helper-plugin-utils" "^7.8.3" - -"@babel/plugin-transform-spread@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.8.3.tgz#9c8ffe8170fdfb88b114ecb920b82fb6e95fe5e8" - integrity sha512-CkuTU9mbmAoFOI1tklFWYYbzX5qCIZVXPVy0jpXgGwkplCndQAa58s2jr66fTeQnA64bDox0HL4U56CFYoyC7g== - dependencies: - "@babel/helper-plugin-utils" "^7.8.3" - -"@babel/plugin-transform-sticky-regex@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.8.3.tgz#be7a1290f81dae767475452199e1f76d6175b100" - integrity sha512-9Spq0vGCD5Bb4Z/ZXXSK5wbbLFMG085qd2vhL1JYu1WcQ5bXqZBAYRzU1d+p79GcHs2szYv5pVQCX13QgldaWw== - dependencies: - "@babel/helper-plugin-utils" "^7.8.3" - "@babel/helper-regex" "^7.8.3" - -"@babel/plugin-transform-template-literals@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.8.3.tgz#7bfa4732b455ea6a43130adc0ba767ec0e402a80" - integrity sha512-820QBtykIQOLFT8NZOcTRJ1UNuztIELe4p9DCgvj4NK+PwluSJ49we7s9FB1HIGNIYT7wFUJ0ar2QpCDj0escQ== - dependencies: - "@babel/helper-annotate-as-pure" "^7.8.3" - "@babel/helper-plugin-utils" "^7.8.3" - -"@babel/plugin-transform-typeof-symbol@^7.8.4": - version "7.8.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.8.4.tgz#ede4062315ce0aaf8a657a920858f1a2f35fc412" - integrity sha512-2QKyfjGdvuNfHsb7qnBBlKclbD4CfshH2KvDabiijLMGXPHJXGxtDzwIF7bQP+T0ysw8fYTtxPafgfs/c1Lrqg== - dependencies: - "@babel/helper-plugin-utils" "^7.8.3" - -"@babel/plugin-transform-unicode-regex@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.8.3.tgz#0cef36e3ba73e5c57273effb182f46b91a1ecaad" - integrity sha512-+ufgJjYdmWfSQ+6NS9VGUR2ns8cjJjYbrbi11mZBTaWm+Fui/ncTLFF28Ei1okavY+xkojGr1eJxNsWYeA5aZw== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.8.3" - "@babel/helper-plugin-utils" "^7.8.3" - -"@babel/preset-env@^7.9.5": - version "7.9.6" - resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.9.6.tgz#df063b276c6455ec6fcfc6e53aacc38da9b0aea6" - integrity sha512-0gQJ9RTzO0heXOhzftog+a/WyOuqMrAIugVYxMYf83gh1CQaQDjMtsOpqOwXyDL/5JcWsrCm8l4ju8QC97O7EQ== - dependencies: - "@babel/compat-data" "^7.9.6" - "@babel/helper-compilation-targets" "^7.9.6" - "@babel/helper-module-imports" "^7.8.3" - "@babel/helper-plugin-utils" "^7.8.3" - "@babel/plugin-proposal-async-generator-functions" "^7.8.3" - "@babel/plugin-proposal-dynamic-import" "^7.8.3" - "@babel/plugin-proposal-json-strings" "^7.8.3" - "@babel/plugin-proposal-nullish-coalescing-operator" "^7.8.3" - "@babel/plugin-proposal-numeric-separator" "^7.8.3" - "@babel/plugin-proposal-object-rest-spread" "^7.9.6" - "@babel/plugin-proposal-optional-catch-binding" "^7.8.3" - "@babel/plugin-proposal-optional-chaining" "^7.9.0" - "@babel/plugin-proposal-unicode-property-regex" "^7.8.3" - "@babel/plugin-syntax-async-generators" "^7.8.0" - "@babel/plugin-syntax-dynamic-import" "^7.8.0" - "@babel/plugin-syntax-json-strings" "^7.8.0" - "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.0" - "@babel/plugin-syntax-numeric-separator" "^7.8.0" - "@babel/plugin-syntax-object-rest-spread" "^7.8.0" - "@babel/plugin-syntax-optional-catch-binding" "^7.8.0" - "@babel/plugin-syntax-optional-chaining" "^7.8.0" - "@babel/plugin-syntax-top-level-await" "^7.8.3" - "@babel/plugin-transform-arrow-functions" "^7.8.3" - "@babel/plugin-transform-async-to-generator" "^7.8.3" - "@babel/plugin-transform-block-scoped-functions" "^7.8.3" - "@babel/plugin-transform-block-scoping" "^7.8.3" - "@babel/plugin-transform-classes" "^7.9.5" - "@babel/plugin-transform-computed-properties" "^7.8.3" - "@babel/plugin-transform-destructuring" "^7.9.5" - "@babel/plugin-transform-dotall-regex" "^7.8.3" - "@babel/plugin-transform-duplicate-keys" "^7.8.3" - "@babel/plugin-transform-exponentiation-operator" "^7.8.3" - "@babel/plugin-transform-for-of" "^7.9.0" - "@babel/plugin-transform-function-name" "^7.8.3" - "@babel/plugin-transform-literals" "^7.8.3" - "@babel/plugin-transform-member-expression-literals" "^7.8.3" - "@babel/plugin-transform-modules-amd" "^7.9.6" - "@babel/plugin-transform-modules-commonjs" "^7.9.6" - "@babel/plugin-transform-modules-systemjs" "^7.9.6" - "@babel/plugin-transform-modules-umd" "^7.9.0" - "@babel/plugin-transform-named-capturing-groups-regex" "^7.8.3" - "@babel/plugin-transform-new-target" "^7.8.3" - "@babel/plugin-transform-object-super" "^7.8.3" - "@babel/plugin-transform-parameters" "^7.9.5" - "@babel/plugin-transform-property-literals" "^7.8.3" - "@babel/plugin-transform-regenerator" "^7.8.7" - "@babel/plugin-transform-reserved-words" "^7.8.3" - "@babel/plugin-transform-shorthand-properties" "^7.8.3" - "@babel/plugin-transform-spread" "^7.8.3" - "@babel/plugin-transform-sticky-regex" "^7.8.3" - "@babel/plugin-transform-template-literals" "^7.8.3" - "@babel/plugin-transform-typeof-symbol" "^7.8.4" - "@babel/plugin-transform-unicode-regex" "^7.8.3" - "@babel/preset-modules" "^0.1.3" - "@babel/types" "^7.9.6" - browserslist "^4.11.1" - core-js-compat "^3.6.2" - invariant "^2.2.2" - levenary "^1.1.1" - semver "^5.5.0" - -"@babel/preset-modules@^0.1.3": - version "0.1.3" - resolved "https://registry.yarnpkg.com/@babel/preset-modules/-/preset-modules-0.1.3.tgz#13242b53b5ef8c883c3cf7dddd55b36ce80fbc72" - integrity sha512-Ra3JXOHBq2xd56xSF7lMKXdjBn3T772Y1Wet3yWnkDly9zHvJki029tAFzvAAK5cf4YV3yoxuP61crYRol6SVg== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-proposal-unicode-property-regex" "^7.4.4" - "@babel/plugin-transform-dotall-regex" "^7.4.4" - "@babel/types" "^7.4.4" - esutils "^2.0.2" - -"@babel/runtime@^7.8.4": - version "7.9.6" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.9.6.tgz#a9102eb5cadedf3f31d08a9ecf294af7827ea29f" - integrity sha512-64AF1xY3OAkFHqOb9s4jpgk1Mm5vDZ4L3acHvAml+53nO1XbXLuDodsVpO4OIUsmemlUHMxNdYMNJmsvOwLrvQ== - dependencies: - regenerator-runtime "^0.13.4" - -"@babel/template@^7.8.3", "@babel/template@^7.8.6": - version "7.8.6" - resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.8.6.tgz#86b22af15f828dfb086474f964dcc3e39c43ce2b" - integrity sha512-zbMsPMy/v0PWFZEhQJ66bqjhH+z0JgMoBWuikXybgG3Gkd/3t5oQ1Rw2WQhnSrsOmsKXnZOx15tkC4qON/+JPg== - dependencies: - "@babel/code-frame" "^7.8.3" - "@babel/parser" "^7.8.6" - "@babel/types" "^7.8.6" - -"@babel/traverse@^7.8.3", "@babel/traverse@^7.9.6": - version "7.9.6" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.9.6.tgz#5540d7577697bf619cc57b92aa0f1c231a94f442" - integrity sha512-b3rAHSjbxy6VEAvlxM8OV/0X4XrG72zoxme6q1MOoe2vd0bEc+TwayhuC1+Dfgqh1QEG+pj7atQqvUprHIccsg== - dependencies: - "@babel/code-frame" "^7.8.3" - "@babel/generator" "^7.9.6" - "@babel/helper-function-name" "^7.9.5" - "@babel/helper-split-export-declaration" "^7.8.3" - "@babel/parser" "^7.9.6" - "@babel/types" "^7.9.6" - debug "^4.1.0" - globals "^11.1.0" - lodash "^4.17.13" - -"@babel/types@^7.4.4", "@babel/types@^7.8.3", "@babel/types@^7.8.6", "@babel/types@^7.9.0", "@babel/types@^7.9.5", "@babel/types@^7.9.6": - version "7.9.6" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.9.6.tgz#2c5502b427251e9de1bd2dff95add646d95cc9f7" - integrity sha512-qxXzvBO//jO9ZnoasKF1uJzHd2+M6Q2ZPIVfnFps8JJvXy0ZBbwbNOmE6SGIY5XOY6d1Bo5lb9d9RJ8nv3WSeA== - dependencies: - "@babel/helper-validator-identifier" "^7.9.5" - lodash "^4.17.13" - to-fast-properties "^2.0.0" - -"@fortawesome/fontawesome-free@^5.12.0": - version "5.13.0" - resolved "https://registry.yarnpkg.com/@fortawesome/fontawesome-free/-/fontawesome-free-5.13.0.tgz#fcb113d1aca4b471b709e8c9c168674fbd6e06d9" - integrity sha512-xKOeQEl5O47GPZYIMToj6uuA2syyFlq9EMSl2ui0uytjY9xbe8XS0pexNWmxrdcCyNGyDmLyYw5FtKsalBUeOg== - -"@nodelib/fs.scandir@2.1.3": - version "2.1.3" - resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.3.tgz#3a582bdb53804c6ba6d146579c46e52130cf4a3b" - integrity sha512-eGmwYQn3gxo4r7jdQnkrrN6bY478C3P+a/y72IJukF8LjB6ZHeB3c+Ehacj3sYeSmUXGlnA67/PmbM9CVwL7Dw== - dependencies: - "@nodelib/fs.stat" "2.0.3" - run-parallel "^1.1.9" - -"@nodelib/fs.stat@2.0.3", "@nodelib/fs.stat@^2.0.2": - version "2.0.3" - resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.3.tgz#34dc5f4cabbc720f4e60f75a747e7ecd6c175bd3" - integrity sha512-bQBFruR2TAwoevBEd/NWMoAAtNGzTRgdrqnYCc7dhzfoNvqPzLyqlEQnzZ3kVnNrSp25iyxE00/3h2fqGAGArA== - -"@nodelib/fs.walk@^1.2.3": - version "1.2.4" - resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.4.tgz#011b9202a70a6366e436ca5c065844528ab04976" - integrity sha512-1V9XOY4rDW0rehzbrcqAmHnz8e7SKvX27gh8Gt2WgB0+pdzdiLV83p72kZPU+jvMbS1qU5mauP2iOvO8rhmurQ== - dependencies: - "@nodelib/fs.scandir" "2.1.3" - fastq "^1.6.0" - -"@npmcli/move-file@^1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@npmcli/move-file/-/move-file-1.0.1.tgz#de103070dac0f48ce49cf6693c23af59c0f70464" - integrity sha512-Uv6h1sT+0DrblvIrolFtbvM1FgWm+/sy4B3pvLp67Zys+thcukzS5ekn7HsZFGpWP4Q3fYJCljbWQE/XivMRLw== - dependencies: - mkdirp "^1.0.4" - -"@types/color-name@^1.1.1": - version "1.1.1" - resolved "https://registry.yarnpkg.com/@types/color-name/-/color-name-1.1.1.tgz#1c1261bbeaa10a8055bbc5d8ab84b7b2afc846a0" - integrity sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ== - -"@types/json-schema@^7.0.5": - version "7.0.6" - resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.6.tgz#f4c7ec43e81b319a9815115031709f26987891f0" - integrity sha512-3c+yGKvVP5Y9TYBEibGNR+kLtijnj7mYrXRg+WpFb2X9xm04g/DXYkfg4hmzJQosc9snFNUPkbYIhu+KAm6jJw== - -"@types/node@*": - version "14.6.4" - resolved "https://registry.yarnpkg.com/@types/node/-/node-14.6.4.tgz#a145cc0bb14ef9c4777361b7bbafa5cf8e3acb5a" - integrity sha512-Wk7nG1JSaMfMpoMJDKUsWYugliB2Vy55pdjLpmLixeyMi7HizW2I/9QoxsPCkXl3dO+ZOVqPumKaDUv5zJu2uQ== - -"@webassemblyjs/ast@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.9.0.tgz#bd850604b4042459a5a41cd7d338cbed695ed964" - integrity sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA== - dependencies: - "@webassemblyjs/helper-module-context" "1.9.0" - "@webassemblyjs/helper-wasm-bytecode" "1.9.0" - "@webassemblyjs/wast-parser" "1.9.0" - -"@webassemblyjs/floating-point-hex-parser@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.9.0.tgz#3c3d3b271bddfc84deb00f71344438311d52ffb4" - integrity sha512-TG5qcFsS8QB4g4MhrxK5TqfdNe7Ey/7YL/xN+36rRjl/BlGE/NcBvJcqsRgCP6Z92mRE+7N50pRIi8SmKUbcQA== - -"@webassemblyjs/helper-api-error@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.9.0.tgz#203f676e333b96c9da2eeab3ccef33c45928b6a2" - integrity sha512-NcMLjoFMXpsASZFxJ5h2HZRcEhDkvnNFOAKneP5RbKRzaWJN36NC4jqQHKwStIhGXu5mUWlUUk7ygdtrO8lbmw== - -"@webassemblyjs/helper-buffer@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.9.0.tgz#a1442d269c5feb23fcbc9ef759dac3547f29de00" - integrity sha512-qZol43oqhq6yBPx7YM3m9Bv7WMV9Eevj6kMi6InKOuZxhw+q9hOkvq5e/PpKSiLfyetpaBnogSbNCfBwyB00CA== - -"@webassemblyjs/helper-code-frame@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.9.0.tgz#647f8892cd2043a82ac0c8c5e75c36f1d9159f27" - integrity sha512-ERCYdJBkD9Vu4vtjUYe8LZruWuNIToYq/ME22igL+2vj2dQ2OOujIZr3MEFvfEaqKoVqpsFKAGsRdBSBjrIvZA== - dependencies: - "@webassemblyjs/wast-printer" "1.9.0" - -"@webassemblyjs/helper-fsm@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-fsm/-/helper-fsm-1.9.0.tgz#c05256b71244214671f4b08ec108ad63b70eddb8" - integrity sha512-OPRowhGbshCb5PxJ8LocpdX9Kl0uB4XsAjl6jH/dWKlk/mzsANvhwbiULsaiqT5GZGT9qinTICdj6PLuM5gslw== - -"@webassemblyjs/helper-module-context@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-module-context/-/helper-module-context-1.9.0.tgz#25d8884b76839871a08a6c6f806c3979ef712f07" - integrity sha512-MJCW8iGC08tMk2enck1aPW+BE5Cw8/7ph/VGZxwyvGbJwjktKkDK7vy7gAmMDx88D7mhDTCNKAW5tED+gZ0W8g== - dependencies: - "@webassemblyjs/ast" "1.9.0" - -"@webassemblyjs/helper-wasm-bytecode@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz#4fed8beac9b8c14f8c58b70d124d549dd1fe5790" - integrity sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw== - -"@webassemblyjs/helper-wasm-section@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.9.0.tgz#5a4138d5a6292ba18b04c5ae49717e4167965346" - integrity sha512-XnMB8l3ek4tvrKUUku+IVaXNHz2YsJyOOmz+MMkZvh8h1uSJpSen6vYnw3IoQ7WwEuAhL8Efjms1ZWjqh2agvw== - dependencies: - "@webassemblyjs/ast" "1.9.0" - "@webassemblyjs/helper-buffer" "1.9.0" - "@webassemblyjs/helper-wasm-bytecode" "1.9.0" - "@webassemblyjs/wasm-gen" "1.9.0" - -"@webassemblyjs/ieee754@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/ieee754/-/ieee754-1.9.0.tgz#15c7a0fbaae83fb26143bbacf6d6df1702ad39e4" - integrity sha512-dcX8JuYU/gvymzIHc9DgxTzUUTLexWwt8uCTWP3otys596io0L5aW02Gb1RjYpx2+0Jus1h4ZFqjla7umFniTg== - dependencies: - "@xtuc/ieee754" "^1.2.0" - -"@webassemblyjs/leb128@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/leb128/-/leb128-1.9.0.tgz#f19ca0b76a6dc55623a09cffa769e838fa1e1c95" - integrity sha512-ENVzM5VwV1ojs9jam6vPys97B/S65YQtv/aanqnU7D8aSoHFX8GyhGg0CMfyKNIHBuAVjy3tlzd5QMMINa7wpw== - dependencies: - "@xtuc/long" "4.2.2" - -"@webassemblyjs/utf8@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/utf8/-/utf8-1.9.0.tgz#04d33b636f78e6a6813227e82402f7637b6229ab" - integrity sha512-GZbQlWtopBTP0u7cHrEx+73yZKrQoBMpwkGEIqlacljhXCkVM1kMQge/Mf+csMJAjEdSwhOyLAS0AoR3AG5P8w== - -"@webassemblyjs/wasm-edit@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.9.0.tgz#3fe6d79d3f0f922183aa86002c42dd256cfee9cf" - integrity sha512-FgHzBm80uwz5M8WKnMTn6j/sVbqilPdQXTWraSjBwFXSYGirpkSWE2R9Qvz9tNiTKQvoKILpCuTjBKzOIm0nxw== - dependencies: - "@webassemblyjs/ast" "1.9.0" - "@webassemblyjs/helper-buffer" "1.9.0" - "@webassemblyjs/helper-wasm-bytecode" "1.9.0" - "@webassemblyjs/helper-wasm-section" "1.9.0" - "@webassemblyjs/wasm-gen" "1.9.0" - "@webassemblyjs/wasm-opt" "1.9.0" - "@webassemblyjs/wasm-parser" "1.9.0" - "@webassemblyjs/wast-printer" "1.9.0" - -"@webassemblyjs/wasm-gen@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.9.0.tgz#50bc70ec68ded8e2763b01a1418bf43491a7a49c" - integrity sha512-cPE3o44YzOOHvlsb4+E9qSqjc9Qf9Na1OO/BHFy4OI91XDE14MjFN4lTMezzaIWdPqHnsTodGGNP+iRSYfGkjA== - dependencies: - "@webassemblyjs/ast" "1.9.0" - "@webassemblyjs/helper-wasm-bytecode" "1.9.0" - "@webassemblyjs/ieee754" "1.9.0" - "@webassemblyjs/leb128" "1.9.0" - "@webassemblyjs/utf8" "1.9.0" - -"@webassemblyjs/wasm-opt@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.9.0.tgz#2211181e5b31326443cc8112eb9f0b9028721a61" - integrity sha512-Qkjgm6Anhm+OMbIL0iokO7meajkzQD71ioelnfPEj6r4eOFuqm4YC3VBPqXjFyyNwowzbMD+hizmprP/Fwkl2A== - dependencies: - "@webassemblyjs/ast" "1.9.0" - "@webassemblyjs/helper-buffer" "1.9.0" - "@webassemblyjs/wasm-gen" "1.9.0" - "@webassemblyjs/wasm-parser" "1.9.0" - -"@webassemblyjs/wasm-parser@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.9.0.tgz#9d48e44826df4a6598294aa6c87469d642fff65e" - integrity sha512-9+wkMowR2AmdSWQzsPEjFU7njh8HTO5MqO8vjwEHuM+AMHioNqSBONRdr0NQQ3dVQrzp0s8lTcYqzUdb7YgELA== - dependencies: - "@webassemblyjs/ast" "1.9.0" - "@webassemblyjs/helper-api-error" "1.9.0" - "@webassemblyjs/helper-wasm-bytecode" "1.9.0" - "@webassemblyjs/ieee754" "1.9.0" - "@webassemblyjs/leb128" "1.9.0" - "@webassemblyjs/utf8" "1.9.0" - -"@webassemblyjs/wast-parser@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-parser/-/wast-parser-1.9.0.tgz#3031115d79ac5bd261556cecc3fa90a3ef451914" - integrity sha512-qsqSAP3QQ3LyZjNC/0jBJ/ToSxfYJ8kYyuiGvtn/8MK89VrNEfwj7BPQzJVHi0jGTRK2dGdJ5PRqhtjzoww+bw== - dependencies: - "@webassemblyjs/ast" "1.9.0" - "@webassemblyjs/floating-point-hex-parser" "1.9.0" - "@webassemblyjs/helper-api-error" "1.9.0" - "@webassemblyjs/helper-code-frame" "1.9.0" - "@webassemblyjs/helper-fsm" "1.9.0" - "@xtuc/long" "4.2.2" - -"@webassemblyjs/wast-printer@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-printer/-/wast-printer-1.9.0.tgz#4935d54c85fef637b00ce9f52377451d00d47899" - integrity sha512-2J0nE95rHXHyQ24cWjMKJ1tqB/ds8z/cyeOZxJhcb+rW+SQASVjuznUSmdz5GpVJTzU8JkhYut0D3siFDD6wsA== - dependencies: - "@webassemblyjs/ast" "1.9.0" - "@webassemblyjs/wast-parser" "1.9.0" - "@xtuc/long" "4.2.2" - -"@webpack-cli/logger@^1.0.1-alpha.4": - version "1.0.1-alpha.4" - resolved "https://registry.yarnpkg.com/@webpack-cli/logger/-/logger-1.0.1-alpha.4.tgz#f22b5ce6cd2f2d5089cae49583d0ee9c2de2d455" - integrity sha512-Q9y9guVd+mg1frxwjV65AsU7c6gQ+2x0XBPod3u+WU6bdEcBZCaFcmyVmAAtvmAxffiruYU291KkUmGaaHe9PA== - -"@webpack-cli/package-utils@^1.0.1-alpha.4": - version "1.0.1-alpha.4" - resolved "https://registry.yarnpkg.com/@webpack-cli/package-utils/-/package-utils-1.0.1-alpha.4.tgz#d6f8b3ef1f371a4f581c3eaf994f604942e0c0e1" - integrity sha512-GyuIwQ3PydTR/zb0W+Hb80qXvgQYIbWrKBl5sEzHPtGLZfagkIybRt+zZdklsmuWmkvLyeewlWL3LdXe40z1MA== - dependencies: - "@webpack-cli/logger" "^1.0.1-alpha.4" - chalk "^3.0.0" - enquirer "^2.3.4" - execa "^4.0.0" - -"@xtuc/ieee754@^1.2.0": - version "1.2.0" - resolved "https://registry.yarnpkg.com/@xtuc/ieee754/-/ieee754-1.2.0.tgz#eef014a3145ae477a1cbc00cd1e552336dceb790" - integrity sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA== - -"@xtuc/long@4.2.2": - version "4.2.2" - resolved "https://registry.yarnpkg.com/@xtuc/long/-/long-4.2.2.tgz#d291c6a4e97989b5c61d9acf396ae4fe133a718d" - integrity sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ== - -abbrev@1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8" - integrity sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q== - -acorn@^6.2.1: - version "6.4.1" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.4.1.tgz#531e58ba3f51b9dacb9a6646ca4debf5b14ca474" - integrity sha512-ZVA9k326Nwrj3Cj9jlh3wGFutC2ZornPNARZwsNYqQYgN0EsV2d53w5RN/co65Ohn4sUAUtb1rSUAOD6XN9idA== - -aggregate-error@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/aggregate-error/-/aggregate-error-3.0.1.tgz#db2fe7246e536f40d9b5442a39e117d7dd6a24e0" - integrity sha512-quoaXsZ9/BLNae5yiNoUz+Nhkwz83GhWwtYFglcjEQB2NDHCIpApbqXxIFnm4Pq/Nvhrsq5sYJFyohrrxnTGAA== - dependencies: - clean-stack "^2.0.0" - indent-string "^4.0.0" - -ajv-errors@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/ajv-errors/-/ajv-errors-1.0.1.tgz#f35986aceb91afadec4102fbd85014950cefa64d" - integrity sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ== - -ajv-keywords@^3.1.0, ajv-keywords@^3.4.1, ajv-keywords@^3.5.2: - version "3.5.2" - resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz#31f29da5ab6e00d1c2d329acf7b5929614d5014d" - integrity sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ== - -ajv@^6.1.0, ajv@^6.10.2, ajv@^6.12.4: - version "6.12.4" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.4.tgz#0614facc4522127fa713445c6bfd3ebd376e2234" - integrity sha512-eienB2c9qVQs2KWexhkrdMLVDoIQCz5KSeLxwg9Lzk4DOfBtIK9PQwwufcsn1jjGuf9WZmqPMbGxOzfcuphJCQ== - dependencies: - fast-deep-equal "^3.1.1" - fast-json-stable-stringify "^2.0.0" - json-schema-traverse "^0.4.1" - uri-js "^4.2.2" - -ajv@^6.12.0, ajv@^6.5.5: - version "6.12.2" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.2.tgz#c629c5eced17baf314437918d2da88c99d5958cd" - integrity sha512-k+V+hzjm5q/Mr8ef/1Y9goCmlsK4I6Sm74teeyGvFk1XrOsbsKLjEdrvny42CZ+a8sXbk8KWpY/bDwS+FLL2UQ== - dependencies: - fast-deep-equal "^3.1.1" - fast-json-stable-stringify "^2.0.0" - json-schema-traverse "^0.4.1" - uri-js "^4.2.2" - -amdefine@>=0.0.4: - version "1.0.1" - resolved "https://registry.yarnpkg.com/amdefine/-/amdefine-1.0.1.tgz#4a5282ac164729e93619bcfd3ad151f817ce91f5" - integrity sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU= - -ansi-colors@^3.2.1: - version "3.2.4" - resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-3.2.4.tgz#e3a3da4bfbae6c86a9c285625de124a234026fbf" - integrity sha512-hHUXGagefjN2iRrID63xckIvotOXOojhQKWIPUZ4mNUZ9nLZW+7FMNoE1lOkEhNWYsx/7ysGIuJYCiMAA9FnrA== - -ansi-escapes@^4.2.1: - version "4.3.1" - resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.3.1.tgz#a5c47cc43181f1f38ffd7076837700d395522a61" - integrity sha512-JWF7ocqNrp8u9oqpgV+wH5ftbt+cfvv+PTjOvKLT3AdYly/LmORARfEVT1iyjwN+4MqE5UmVKoAdIBqeoCHgLA== - dependencies: - type-fest "^0.11.0" - -ansi-regex@^2.0.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" - integrity sha1-w7M6te42DYbg5ijwRorn7yfWVN8= - -ansi-regex@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998" - integrity sha1-7QMXwyIGT3lGbAKWa922Bas32Zg= - -ansi-regex@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-4.1.0.tgz#8b9f8f08cf1acb843756a839ca8c7e3168c51997" - integrity sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg== - -ansi-styles@^2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" - integrity sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4= - -ansi-styles@^3.2.0, ansi-styles@^3.2.1: - version "3.2.1" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" - integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== - dependencies: - color-convert "^1.9.0" - -ansi-styles@^4.1.0: - version "4.2.1" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.2.1.tgz#90ae75c424d008d2624c5bf29ead3177ebfcf359" - integrity sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA== - dependencies: - "@types/color-name" "^1.1.1" - color-convert "^2.0.1" - -anymatch@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-2.0.0.tgz#bcb24b4f37934d9aa7ac17b4adaf89e7c76ef2eb" - integrity sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw== - dependencies: - micromatch "^3.1.4" - normalize-path "^2.1.1" - -anymatch@^3.1.1, anymatch@~3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.1.tgz#c55ecf02185e2469259399310c173ce31233b142" - integrity sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg== - dependencies: - normalize-path "^3.0.0" - picomatch "^2.0.4" - -aproba@^1.0.3, aproba@^1.1.1: - version "1.2.0" - resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a" - integrity sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw== - -are-we-there-yet@~1.1.2: - version "1.1.5" - resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz#4b35c2944f062a8bfcda66410760350fe9ddfc21" - integrity sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w== - dependencies: - delegates "^1.0.0" - readable-stream "^2.0.6" - -arr-diff@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-4.0.0.tgz#d6461074febfec71e7e15235761a329a5dc7c520" - integrity sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA= - -arr-flatten@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1" - integrity sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg== - -arr-union@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/arr-union/-/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4" - integrity sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ= - -array-back@^3.0.1: - version "3.1.0" - resolved "https://registry.yarnpkg.com/array-back/-/array-back-3.1.0.tgz#b8859d7a508871c9a7b2cf42f99428f65e96bfb0" - integrity sha512-TkuxA4UCOvxuDK6NZYXCalszEzj+TLszyASooky+i742l9TqsOdYCMJJupxRic61hwquNtppB3hgcuq9SVSH1Q== - -array-back@^4.0.0, array-back@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/array-back/-/array-back-4.0.1.tgz#9b80312935a52062e1a233a9c7abeb5481b30e90" - integrity sha512-Z/JnaVEXv+A9xabHzN43FiiiWEE7gPCRXMrVmRm00tWbjZRul1iHm7ECzlyNq1p4a4ATXz+G9FJ3GqGOkOV3fg== - -array-find-index@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/array-find-index/-/array-find-index-1.0.2.tgz#df010aa1287e164bbda6f9723b0a96a1ec4187a1" - integrity sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E= - -array-union@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/array-union/-/array-union-1.0.2.tgz#9a34410e4f4e3da23dea375be5be70f24778ec39" - integrity sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk= - dependencies: - array-uniq "^1.0.1" - -array-union@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" - integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== - -array-uniq@^1.0.1: - version "1.0.3" - resolved "https://registry.yarnpkg.com/array-uniq/-/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6" - integrity sha1-r2rId6Jcx/dOBYiUdThY39sk/bY= - -array-unique@^0.3.2: - version "0.3.2" - resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428" - integrity sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg= - -asn1.js@^5.2.0: - version "5.4.1" - resolved "https://registry.yarnpkg.com/asn1.js/-/asn1.js-5.4.1.tgz#11a980b84ebb91781ce35b0fdc2ee294e3783f07" - integrity sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA== - dependencies: - bn.js "^4.0.0" - inherits "^2.0.1" - minimalistic-assert "^1.0.0" - safer-buffer "^2.1.0" - -asn1@~0.2.3: - version "0.2.4" - resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.4.tgz#8d2475dfab553bb33e77b54e59e880bb8ce23136" - integrity sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg== - dependencies: - safer-buffer "~2.1.0" - -assert-plus@1.0.0, assert-plus@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" - integrity sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU= - -assert@^1.1.1: - version "1.5.0" - resolved "https://registry.yarnpkg.com/assert/-/assert-1.5.0.tgz#55c109aaf6e0aefdb3dc4b71240c70bf574b18eb" - integrity sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA== - dependencies: - object-assign "^4.1.1" - util "0.10.3" - -assign-symbols@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367" - integrity sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c= - -async-each@^1.0.1: - version "1.0.3" - resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.3.tgz#b727dbf87d7651602f06f4d4ac387f47d91b0cbf" - integrity sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ== - -async-foreach@^0.1.3: - version "0.1.3" - resolved "https://registry.yarnpkg.com/async-foreach/-/async-foreach-0.1.3.tgz#36121f845c0578172de419a97dbeb1d16ec34542" - integrity sha1-NhIfhFwFeBct5Bmpfb6x0W7DRUI= - -async@^2.6.2: - version "2.6.3" - resolved "https://registry.yarnpkg.com/async/-/async-2.6.3.tgz#d72625e2344a3656e3a3ad4fa749fa83299d82ff" - integrity sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg== - dependencies: - lodash "^4.17.14" - -asynckit@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" - integrity sha1-x57Zf380y48robyXkLzDZkdLS3k= - -atob@^2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9" - integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg== - -aws-sign2@~0.7.0: - version "0.7.0" - resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8" - integrity sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg= - -aws4@^1.8.0: - version "1.10.0" - resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.10.0.tgz#a17b3a8ea811060e74d47d306122400ad4497ae2" - integrity sha512-3YDiu347mtVtjpyV3u5kVqQLP242c06zwDOgpeRnybmXlYYsLbtTrUBUm8i8srONt+FWobl5aibnU1030PeeuA== - -babel-loader@^8.1.0: - version "8.1.0" - resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-8.1.0.tgz#c611d5112bd5209abe8b9fa84c3e4da25275f1c3" - integrity sha512-7q7nC1tYOrqvUrN3LQK4GwSk/TQorZSOlO9C+RZDZpODgyN4ZlCqE5q9cDsyWOliN+aU9B4JX01xK9eJXowJLw== - dependencies: - find-cache-dir "^2.1.0" - loader-utils "^1.4.0" - mkdirp "^0.5.3" - pify "^4.0.1" - schema-utils "^2.6.5" - -babel-plugin-dynamic-import-node@^2.3.3: - version "2.3.3" - resolved "https://registry.yarnpkg.com/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz#84fda19c976ec5c6defef57f9427b3def66e17a3" - integrity sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ== - dependencies: - object.assign "^4.1.0" - -balanced-match@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" - integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c= - -base64-js@^1.0.2: - version "1.3.1" - resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.3.1.tgz#58ece8cb75dd07e71ed08c736abc5fac4dbf8df1" - integrity sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g== - -base@^0.11.1: - version "0.11.2" - resolved "https://registry.yarnpkg.com/base/-/base-0.11.2.tgz#7bde5ced145b6d551a90db87f83c558b4eb48a8f" - integrity sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg== - dependencies: - cache-base "^1.0.1" - class-utils "^0.3.5" - component-emitter "^1.2.1" - define-property "^1.0.0" - isobject "^3.0.1" - mixin-deep "^1.2.0" - pascalcase "^0.1.1" - -bcrypt-pbkdf@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz#a4301d389b6a43f9b67ff3ca11a3f6637e360e9e" - integrity sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4= - dependencies: - tweetnacl "^0.14.3" - -big.js@^5.2.2: - version "5.2.2" - resolved "https://registry.yarnpkg.com/big.js/-/big.js-5.2.2.tgz#65f0af382f578bcdc742bd9c281e9cb2d7768328" - integrity sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ== - -binary-extensions@^1.0.0: - version "1.13.1" - resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.13.1.tgz#598afe54755b2868a5330d2aff9d4ebb53209b65" - integrity sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw== - -binary-extensions@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.1.0.tgz#30fa40c9e7fe07dbc895678cd287024dea241dd9" - integrity sha512-1Yj8h9Q+QDF5FzhMs/c9+6UntbD5MkRfRwac8DoEm9ZfUBZ7tZ55YcGVAzEe4bXsdQHEk+s9S5wsOKVdZrw0tQ== - -bindings@^1.5.0: - version "1.5.0" - resolved "https://registry.yarnpkg.com/bindings/-/bindings-1.5.0.tgz#10353c9e945334bc0511a6d90b38fbc7c9c504df" - integrity sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ== - dependencies: - file-uri-to-path "1.0.0" - -block-stream@*: - version "0.0.9" - resolved "https://registry.yarnpkg.com/block-stream/-/block-stream-0.0.9.tgz#13ebfe778a03205cfe03751481ebb4b3300c126a" - integrity sha1-E+v+d4oDIFz+A3UUgeu0szAMEmo= - dependencies: - inherits "~2.0.0" - -bluebird@^3.5.5: - version "3.7.2" - resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.7.2.tgz#9f229c15be272454ffa973ace0dbee79a1b0c36f" - integrity sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg== - -bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.11.9: - version "4.12.0" - resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.12.0.tgz#775b3f278efbb9718eec7361f483fb36fbbfea88" - integrity sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA== - -bn.js@^5.1.1: - version "5.1.3" - resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-5.1.3.tgz#beca005408f642ebebea80b042b4d18d2ac0ee6b" - integrity sha512-GkTiFpjFtUzU9CbMeJ5iazkCzGL3jrhzerzZIuqLABjbwRaFt33I9tUdSNryIptM+RxDet6OKm2WnLXzW51KsQ== - -body@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/body/-/body-5.1.0.tgz#e4ba0ce410a46936323367609ecb4e6553125069" - integrity sha1-5LoM5BCkaTYyM2dgnstOZVMSUGk= - dependencies: - continuable-cache "^0.3.1" - error "^7.0.0" - raw-body "~1.1.0" - safe-json-parse "~1.0.1" - -bootstrap@4.5.2: - version "4.5.2" - resolved "https://registry.yarnpkg.com/bootstrap/-/bootstrap-4.5.2.tgz#a85c4eda59155f0d71186b6e6ad9b875813779ab" - integrity sha512-vlGn0bcySYl/iV+BGA544JkkZP5LB3jsmkeKLFQakCOwCM3AOk7VkldBz4jrzSe+Z0Ezn99NVXa1o45cQY4R6A== - -brace-expansion@^1.1.7: - version "1.1.11" - resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" - integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== - dependencies: - balanced-match "^1.0.0" - concat-map "0.0.1" - -braces@^2.3.1, braces@^2.3.2: - version "2.3.2" - resolved "https://registry.yarnpkg.com/braces/-/braces-2.3.2.tgz#5979fd3f14cd531565e5fa2df1abfff1dfaee729" - integrity sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w== - dependencies: - arr-flatten "^1.1.0" - array-unique "^0.3.2" - extend-shallow "^2.0.1" - fill-range "^4.0.0" - isobject "^3.0.1" - repeat-element "^1.1.2" - snapdragon "^0.8.1" - snapdragon-node "^2.0.1" - split-string "^3.0.2" - to-regex "^3.0.1" - -braces@^3.0.1, braces@~3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" - integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== - dependencies: - fill-range "^7.0.1" - -brorand@^1.0.1, brorand@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f" - integrity sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8= - -browserify-aes@^1.0.0, browserify-aes@^1.0.4: - version "1.2.0" - resolved "https://registry.yarnpkg.com/browserify-aes/-/browserify-aes-1.2.0.tgz#326734642f403dabc3003209853bb70ad428ef48" - integrity sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA== - dependencies: - buffer-xor "^1.0.3" - cipher-base "^1.0.0" - create-hash "^1.1.0" - evp_bytestokey "^1.0.3" - inherits "^2.0.1" - safe-buffer "^5.0.1" - -browserify-cipher@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/browserify-cipher/-/browserify-cipher-1.0.1.tgz#8d6474c1b870bfdabcd3bcfcc1934a10e94f15f0" - integrity sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w== - dependencies: - browserify-aes "^1.0.4" - browserify-des "^1.0.0" - evp_bytestokey "^1.0.0" - -browserify-des@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/browserify-des/-/browserify-des-1.0.2.tgz#3af4f1f59839403572f1c66204375f7a7f703e9c" - integrity sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A== - dependencies: - cipher-base "^1.0.1" - des.js "^1.0.0" - inherits "^2.0.1" - safe-buffer "^5.1.2" - -browserify-rsa@^4.0.0, browserify-rsa@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/browserify-rsa/-/browserify-rsa-4.0.1.tgz#21e0abfaf6f2029cf2fafb133567a701d4135524" - integrity sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ= - dependencies: - bn.js "^4.1.0" - randombytes "^2.0.1" - -browserify-sign@^4.0.0: - version "4.2.1" - resolved "https://registry.yarnpkg.com/browserify-sign/-/browserify-sign-4.2.1.tgz#eaf4add46dd54be3bb3b36c0cf15abbeba7956c3" - integrity sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg== - dependencies: - bn.js "^5.1.1" - browserify-rsa "^4.0.1" - create-hash "^1.2.0" - create-hmac "^1.1.7" - elliptic "^6.5.3" - inherits "^2.0.4" - parse-asn1 "^5.1.5" - readable-stream "^3.6.0" - safe-buffer "^5.2.0" - -browserify-zlib@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/browserify-zlib/-/browserify-zlib-0.2.0.tgz#2869459d9aa3be245fe8fe2ca1f46e2e7f54d73f" - integrity sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA== - dependencies: - pako "~1.0.5" - -browserslist@^4.11.1, browserslist@^4.8.5: - version "4.12.0" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.12.0.tgz#06c6d5715a1ede6c51fc39ff67fd647f740b656d" - integrity sha512-UH2GkcEDSI0k/lRkuDSzFl9ZZ87skSy9w2XAn1MsZnL+4c4rqbBd3e82UWHbYDpztABrPBhZsTEeuxVfHppqDg== - dependencies: - caniuse-lite "^1.0.30001043" - electron-to-chromium "^1.3.413" - node-releases "^1.1.53" - pkg-up "^2.0.0" - -buffer-from@^1.0.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef" - integrity sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A== - -buffer-xor@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/buffer-xor/-/buffer-xor-1.0.3.tgz#26e61ed1422fb70dd42e6e36729ed51d855fe8d9" - integrity sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk= - -buffer@^4.3.0: - version "4.9.2" - resolved "https://registry.yarnpkg.com/buffer/-/buffer-4.9.2.tgz#230ead344002988644841ab0244af8c44bbe3ef8" - integrity sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg== - dependencies: - base64-js "^1.0.2" - ieee754 "^1.1.4" - isarray "^1.0.0" - -builtin-status-codes@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz#85982878e21b98e1c66425e03d0174788f569ee8" - integrity sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug= - -bytes@1: - version "1.0.0" - resolved "https://registry.yarnpkg.com/bytes/-/bytes-1.0.0.tgz#3569ede8ba34315fab99c3e92cb04c7220de1fa8" - integrity sha1-NWnt6Lo0MV+rmcPpLLBMciDeH6g= - -cacache@^12.0.2: - version "12.0.4" - resolved "https://registry.yarnpkg.com/cacache/-/cacache-12.0.4.tgz#668bcbd105aeb5f1d92fe25570ec9525c8faa40c" - integrity sha512-a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ== - dependencies: - bluebird "^3.5.5" - chownr "^1.1.1" - figgy-pudding "^3.5.1" - glob "^7.1.4" - graceful-fs "^4.1.15" - infer-owner "^1.0.3" - lru-cache "^5.1.1" - mississippi "^3.0.0" - mkdirp "^0.5.1" - move-concurrently "^1.0.1" - promise-inflight "^1.0.1" - rimraf "^2.6.3" - ssri "^6.0.1" - unique-filename "^1.1.1" - y18n "^4.0.0" - -cacache@^15.0.5: - version "15.0.5" - resolved "https://registry.yarnpkg.com/cacache/-/cacache-15.0.5.tgz#69162833da29170d6732334643c60e005f5f17d0" - integrity sha512-lloiL22n7sOjEEXdL8NAjTgv9a1u43xICE9/203qonkZUCj5X1UEWIdf2/Y0d6QcCtMzbKQyhrcDbdvlZTs/+A== - dependencies: - "@npmcli/move-file" "^1.0.1" - chownr "^2.0.0" - fs-minipass "^2.0.0" - glob "^7.1.4" - infer-owner "^1.0.4" - lru-cache "^6.0.0" - minipass "^3.1.1" - minipass-collect "^1.0.2" - minipass-flush "^1.0.5" - minipass-pipeline "^1.2.2" - mkdirp "^1.0.3" - p-map "^4.0.0" - promise-inflight "^1.0.1" - rimraf "^3.0.2" - ssri "^8.0.0" - tar "^6.0.2" - unique-filename "^1.1.1" - -cache-base@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/cache-base/-/cache-base-1.0.1.tgz#0a7f46416831c8b662ee36fe4e7c59d76f666ab2" - integrity sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ== - dependencies: - collection-visit "^1.0.0" - component-emitter "^1.2.1" - get-value "^2.0.6" - has-value "^1.0.0" - isobject "^3.0.1" - set-value "^2.0.0" - to-object-path "^0.3.0" - union-value "^1.0.0" - unset-value "^1.0.0" - -camelcase-keys@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-2.1.0.tgz#308beeaffdf28119051efa1d932213c91b8f92e7" - integrity sha1-MIvur/3ygRkFHvodkyITyRuPkuc= - dependencies: - camelcase "^2.0.0" - map-obj "^1.0.0" - -camelcase@^2.0.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-2.1.1.tgz#7c1d16d679a1bbe59ca02cacecfb011e201f5a1f" - integrity sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8= - -camelcase@^5.0.0, camelcase@^5.3.1: - version "5.3.1" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" - integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== - -caniuse-lite@^1.0.30001043: - version "1.0.30001065" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001065.tgz#e8d7fef61cdfd8a7107493ad6bf551a4eb59c68f" - integrity sha512-DDxCLgJ266YnAHQv0jS1wdOaihRFF52Zgmlag39sQJVy2H46oROpJp4hITstqhdB8qnHSrKNoAEkQA9L/oYF9A== - -caseless@~0.12.0: - version "0.12.0" - resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" - integrity sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw= - -chalk@^1.1.1: - version "1.1.3" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" - integrity sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg= - dependencies: - ansi-styles "^2.2.1" - escape-string-regexp "^1.0.2" - has-ansi "^2.0.0" - strip-ansi "^3.0.0" - supports-color "^2.0.0" - -chalk@^2.0.0, chalk@^2.4.2: - version "2.4.2" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" - integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== - dependencies: - ansi-styles "^3.2.1" - escape-string-regexp "^1.0.5" - supports-color "^5.3.0" - -chalk@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-3.0.0.tgz#3f73c2bf526591f574cc492c51e2456349f844e4" - integrity sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg== - dependencies: - ansi-styles "^4.1.0" - supports-color "^7.1.0" - -chokidar@^2.1.8: - version "2.1.8" - resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-2.1.8.tgz#804b3a7b6a99358c3c5c61e71d8728f041cff917" - integrity sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg== - dependencies: - anymatch "^2.0.0" - async-each "^1.0.1" - braces "^2.3.2" - glob-parent "^3.1.0" - inherits "^2.0.3" - is-binary-path "^1.0.0" - is-glob "^4.0.0" - normalize-path "^3.0.0" - path-is-absolute "^1.0.0" - readdirp "^2.2.1" - upath "^1.1.1" - optionalDependencies: - fsevents "^1.2.7" - -chokidar@^3.4.1: - version "3.4.2" - resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.4.2.tgz#38dc8e658dec3809741eb3ef7bb0a47fe424232d" - integrity sha512-IZHaDeBeI+sZJRX7lGcXsdzgvZqKv6sECqsbErJA4mHWfpRrD8B97kSFN4cQz6nGBGiuFia1MKR4d6c1o8Cv7A== - dependencies: - anymatch "~3.1.1" - braces "~3.0.2" - glob-parent "~5.1.0" - is-binary-path "~2.1.0" - is-glob "~4.0.1" - normalize-path "~3.0.0" - readdirp "~3.4.0" - optionalDependencies: - fsevents "~2.1.2" - -chownr@^1.1.1: - version "1.1.4" - resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.4.tgz#6fc9d7b42d32a583596337666e7d08084da2cc6b" - integrity sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg== - -chownr@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/chownr/-/chownr-2.0.0.tgz#15bfbe53d2eab4cf70f18a8cd68ebe5b3cb1dece" - integrity sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ== - -chrome-trace-event@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/chrome-trace-event/-/chrome-trace-event-1.0.2.tgz#234090ee97c7d4ad1a2c4beae27505deffc608a4" - integrity sha512-9e/zx1jw7B4CO+c/RXoCsfg/x1AfUBioy4owYH0bJprEYAx5hRFLRhWBqHAG57D0ZM4H7vxbP7bPe0VwhQRYDQ== - dependencies: - tslib "^1.9.0" - -cipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3: - version "1.0.4" - resolved "https://registry.yarnpkg.com/cipher-base/-/cipher-base-1.0.4.tgz#8760e4ecc272f4c363532f926d874aae2c1397de" - integrity sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q== - dependencies: - inherits "^2.0.1" - safe-buffer "^5.0.1" - -class-utils@^0.3.5: - version "0.3.6" - resolved "https://registry.yarnpkg.com/class-utils/-/class-utils-0.3.6.tgz#f93369ae8b9a7ce02fd41faad0ca83033190c463" - integrity sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg== - dependencies: - arr-union "^3.1.0" - define-property "^0.2.5" - isobject "^3.0.0" - static-extend "^0.1.1" - -clean-stack@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/clean-stack/-/clean-stack-2.2.0.tgz#ee8472dbb129e727b31e8a10a427dee9dfe4008b" - integrity sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A== - -cli-table3@^0.5.1: - version "0.5.1" - resolved "https://registry.yarnpkg.com/cli-table3/-/cli-table3-0.5.1.tgz#0252372d94dfc40dbd8df06005f48f31f656f202" - integrity sha512-7Qg2Jrep1S/+Q3EceiZtQcDPWxhAvBw+ERf1162v4sikJrvojMHFqXt8QIVha8UlH9rgU0BeWPytZ9/TzYqlUw== - dependencies: - object-assign "^4.1.0" - string-width "^2.1.1" - optionalDependencies: - colors "^1.1.2" - -cliui@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/cliui/-/cliui-5.0.0.tgz#deefcfdb2e800784aa34f46fa08e06851c7bbbc5" - integrity sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA== - dependencies: - string-width "^3.1.0" - strip-ansi "^5.2.0" - wrap-ansi "^5.1.0" - -clone-deep@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/clone-deep/-/clone-deep-4.0.1.tgz#c19fd9bdbbf85942b4fd979c84dcf7d5f07c2387" - integrity sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ== - dependencies: - is-plain-object "^2.0.4" - kind-of "^6.0.2" - shallow-clone "^3.0.0" - -code-point-at@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" - integrity sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c= - -collection-visit@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/collection-visit/-/collection-visit-1.0.0.tgz#4bc0373c164bc3291b4d368c829cf1a80a59dca0" - integrity sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA= - dependencies: - map-visit "^1.0.0" - object-visit "^1.0.0" - -color-convert@^1.9.0: - version "1.9.3" - resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" - integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== - dependencies: - color-name "1.1.3" - -color-convert@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" - integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== - dependencies: - color-name "~1.1.4" - -color-name@1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" - integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= - -color-name@~1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" - integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== - -colors@^1.1.2: - version "1.4.0" - resolved "https://registry.yarnpkg.com/colors/-/colors-1.4.0.tgz#c50491479d4c1bdaed2c9ced32cf7c7dc2360f78" - integrity sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA== - -combined-stream@^1.0.6, combined-stream@~1.0.6: - version "1.0.8" - resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" - integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== - dependencies: - delayed-stream "~1.0.0" - -command-line-args@^5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/command-line-args/-/command-line-args-5.1.1.tgz#88e793e5bb3ceb30754a86863f0401ac92fd369a" - integrity sha512-hL/eG8lrll1Qy1ezvkant+trihbGnaKaeEjj6Scyr3DN+RC7iQ5Rz84IeLERfAWDGo0HBSNAakczwgCilDXnWg== - dependencies: - array-back "^3.0.1" - find-replace "^3.0.0" - lodash.camelcase "^4.3.0" - typical "^4.0.0" - -command-line-usage@^6.1.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/command-line-usage/-/command-line-usage-6.1.0.tgz#f28376a3da3361ff3d36cfd31c3c22c9a64c7cb6" - integrity sha512-Ew1clU4pkUeo6AFVDFxCbnN7GIZfXl48HIOQeFQnkO3oOqvpI7wdqtLRwv9iOCZ/7A+z4csVZeiDdEcj8g6Wiw== - dependencies: - array-back "^4.0.0" - chalk "^2.4.2" - table-layout "^1.0.0" - typical "^5.2.0" - -commander@^2.20.0: - version "2.20.3" - resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" - integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== - -commondir@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" - integrity sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs= - -component-emitter@^1.2.1: - version "1.3.0" - resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.3.0.tgz#16e4070fba8ae29b679f2215853ee181ab2eabc0" - integrity sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg== - -concat-map@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" - integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= - -concat-stream@^1.5.0: - version "1.6.2" - resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.2.tgz#904bdf194cd3122fc675c77fc4ac3d4ff0fd1a34" - integrity sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw== - dependencies: - buffer-from "^1.0.0" - inherits "^2.0.3" - readable-stream "^2.2.2" - typedarray "^0.0.6" - -console-browserify@^1.1.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/console-browserify/-/console-browserify-1.2.0.tgz#67063cef57ceb6cf4993a2ab3a55840ae8c49336" - integrity sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA== - -console-control-strings@^1.0.0, console-control-strings@~1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e" - integrity sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4= - -constants-browserify@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/constants-browserify/-/constants-browserify-1.0.0.tgz#c20b96d8c617748aaf1c16021760cd27fcb8cb75" - integrity sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U= - -continuable-cache@^0.3.1: - version "0.3.1" - resolved "https://registry.yarnpkg.com/continuable-cache/-/continuable-cache-0.3.1.tgz#bd727a7faed77e71ff3985ac93351a912733ad0f" - integrity sha1-vXJ6f67XfnH/OYWskzUakSczrQ8= - -convert-source-map@^1.7.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.7.0.tgz#17a2cb882d7f77d3490585e2ce6c524424a3a442" - integrity sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA== - dependencies: - safe-buffer "~5.1.1" - -copy-concurrently@^1.0.0: - version "1.0.5" - resolved "https://registry.yarnpkg.com/copy-concurrently/-/copy-concurrently-1.0.5.tgz#92297398cae34937fcafd6ec8139c18051f0b5e0" - integrity sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A== - dependencies: - aproba "^1.1.1" - fs-write-stream-atomic "^1.0.8" - iferr "^0.1.5" - mkdirp "^0.5.1" - rimraf "^2.5.4" - run-queue "^1.0.0" - -copy-descriptor@^0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d" - integrity sha1-Z29us8OZl8LuGsOpJP1hJHSPV40= - -copy-webpack-plugin@~6.1.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/copy-webpack-plugin/-/copy-webpack-plugin-6.1.0.tgz#5bde7f826d87e716d8d5e761ddd34bb675448458" - integrity sha512-aWjIuLt1OVQxaDVffnt3bnGmLA8zGgAJaFwPA+a+QYVPh1vhIKjVfh3SbOFLV0kRPvGBITbw17n5CsmiBS4LQQ== - dependencies: - cacache "^15.0.5" - fast-glob "^3.2.4" - find-cache-dir "^3.3.1" - glob-parent "^5.1.1" - globby "^11.0.1" - loader-utils "^2.0.0" - normalize-path "^3.0.0" - p-limit "^3.0.2" - schema-utils "^2.7.1" - serialize-javascript "^4.0.0" - webpack-sources "^1.4.3" - -core-js-compat@^3.6.2: - version "3.6.5" - resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.6.5.tgz#2a51d9a4e25dfd6e690251aa81f99e3c05481f1c" - integrity sha512-7ItTKOhOZbznhXAQ2g/slGg1PJV5zDO/WdkTwi7UEOJmkvsE32PWvx6mKtDjiMpjnR2CNf6BAD6sSxIlv7ptng== - dependencies: - browserslist "^4.8.5" - semver "7.0.0" - -core-util-is@1.0.2, core-util-is@~1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" - integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac= - -create-ecdh@^4.0.0: - version "4.0.4" - resolved "https://registry.yarnpkg.com/create-ecdh/-/create-ecdh-4.0.4.tgz#d6e7f4bffa66736085a0762fd3a632684dabcc4e" - integrity sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A== - dependencies: - bn.js "^4.1.0" - elliptic "^6.5.3" - -create-hash@^1.1.0, create-hash@^1.1.2, create-hash@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/create-hash/-/create-hash-1.2.0.tgz#889078af11a63756bcfb59bd221996be3a9ef196" - integrity sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg== - dependencies: - cipher-base "^1.0.1" - inherits "^2.0.1" - md5.js "^1.3.4" - ripemd160 "^2.0.1" - sha.js "^2.4.0" - -create-hmac@^1.1.0, create-hmac@^1.1.4, create-hmac@^1.1.7: - version "1.1.7" - resolved "https://registry.yarnpkg.com/create-hmac/-/create-hmac-1.1.7.tgz#69170c78b3ab957147b2b8b04572e47ead2243ff" - integrity sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg== - dependencies: - cipher-base "^1.0.3" - create-hash "^1.1.0" - inherits "^2.0.1" - ripemd160 "^2.0.0" - safe-buffer "^5.0.1" - sha.js "^2.4.8" - -cross-spawn@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-3.0.1.tgz#1256037ecb9f0c5f79e3d6ef135e30770184b982" - integrity sha1-ElYDfsufDF9549bvE14wdwGEuYI= - dependencies: - lru-cache "^4.0.1" - which "^1.2.9" - -cross-spawn@^5.0.1: - version "5.1.0" - resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-5.1.0.tgz#e8bd0efee58fcff6f8f94510a0a554bbfa235449" - integrity sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk= - dependencies: - lru-cache "^4.0.1" - shebang-command "^1.2.0" - which "^1.2.9" - -cross-spawn@^7.0.0: - version "7.0.3" - resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" - integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== - dependencies: - path-key "^3.1.0" - shebang-command "^2.0.0" - which "^2.0.1" - -crypto-browserify@^3.11.0: - version "3.12.0" - resolved "https://registry.yarnpkg.com/crypto-browserify/-/crypto-browserify-3.12.0.tgz#396cf9f3137f03e4b8e532c58f698254e00f80ec" - integrity sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg== - dependencies: - browserify-cipher "^1.0.0" - browserify-sign "^4.0.0" - create-ecdh "^4.0.0" - create-hash "^1.1.0" - create-hmac "^1.1.0" - diffie-hellman "^5.0.0" - inherits "^2.0.1" - pbkdf2 "^3.0.3" - public-encrypt "^4.0.0" - randombytes "^2.0.0" - randomfill "^1.0.3" - -css-loader@~3.5.1: - version "3.5.3" - resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-3.5.3.tgz#95ac16468e1adcd95c844729e0bb167639eb0bcf" - integrity sha512-UEr9NH5Lmi7+dguAm+/JSPovNjYbm2k3TK58EiwQHzOHH5Jfq1Y+XoP2bQO6TMn7PptMd0opxxedAWcaSTRKHw== - dependencies: - camelcase "^5.3.1" - cssesc "^3.0.0" - icss-utils "^4.1.1" - loader-utils "^1.2.3" - normalize-path "^3.0.0" - postcss "^7.0.27" - postcss-modules-extract-imports "^2.0.0" - postcss-modules-local-by-default "^3.0.2" - postcss-modules-scope "^2.2.0" - postcss-modules-values "^3.0.0" - postcss-value-parser "^4.0.3" - schema-utils "^2.6.6" - semver "^6.3.0" - -cssesc@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee" - integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg== - -currently-unhandled@^0.4.1: - version "0.4.1" - resolved "https://registry.yarnpkg.com/currently-unhandled/-/currently-unhandled-0.4.1.tgz#988df33feab191ef799a61369dd76c17adf957ea" - integrity sha1-mI3zP+qxke95mmE2nddsF635V+o= - dependencies: - array-find-index "^1.0.1" - -cyclist@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/cyclist/-/cyclist-1.0.1.tgz#596e9698fd0c80e12038c2b82d6eb1b35b6224d9" - integrity sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk= - -dashdash@^1.12.0: - version "1.14.1" - resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" - integrity sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA= - dependencies: - assert-plus "^1.0.0" - -debug@^2.2.0, debug@^2.3.3: - version "2.6.9" - resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" - integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== - dependencies: - ms "2.0.0" - -debug@^3.1.0, debug@^3.1.1: - version "3.2.6" - resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.6.tgz#e83d17de16d8a7efb7717edbe5fb10135eee629b" - integrity sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ== - dependencies: - ms "^2.1.1" - -debug@^4.1.0: - version "4.1.1" - resolved "https://registry.yarnpkg.com/debug/-/debug-4.1.1.tgz#3b72260255109c6b589cee050f1d516139664791" - integrity sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw== - dependencies: - ms "^2.1.1" - -decamelize@^1.1.2, decamelize@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" - integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= - -decode-uri-component@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545" - integrity sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU= - -deep-extend@~0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac" - integrity sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA== - -define-properties@^1.1.2, define-properties@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.3.tgz#cf88da6cbee26fe6db7094f61d870cbd84cee9f1" - integrity sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ== - dependencies: - object-keys "^1.0.12" - -define-property@^0.2.5: - version "0.2.5" - resolved "https://registry.yarnpkg.com/define-property/-/define-property-0.2.5.tgz#c35b1ef918ec3c990f9a5bc57be04aacec5c8116" - integrity sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY= - dependencies: - is-descriptor "^0.1.0" - -define-property@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/define-property/-/define-property-1.0.0.tgz#769ebaaf3f4a63aad3af9e8d304c9bbe79bfb0e6" - integrity sha1-dp66rz9KY6rTr56NMEybvnm/sOY= - dependencies: - is-descriptor "^1.0.0" - -define-property@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/define-property/-/define-property-2.0.2.tgz#d459689e8d654ba77e02a817f8710d702cb16e9d" - integrity sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ== - dependencies: - is-descriptor "^1.0.2" - isobject "^3.0.1" - -del@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/del/-/del-3.0.0.tgz#53ecf699ffcbcb39637691ab13baf160819766e5" - integrity sha1-U+z2mf/LyzljdpGrE7rxYIGXZuU= - dependencies: - globby "^6.1.0" - is-path-cwd "^1.0.0" - is-path-in-cwd "^1.0.0" - p-map "^1.1.1" - pify "^3.0.0" - rimraf "^2.2.8" - -delayed-stream@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" - integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk= - -delegates@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" - integrity sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o= - -des.js@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/des.js/-/des.js-1.0.1.tgz#5382142e1bdc53f85d86d53e5f4aa7deb91e0843" - integrity sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA== - dependencies: - inherits "^2.0.1" - minimalistic-assert "^1.0.0" - -diffie-hellman@^5.0.0: - version "5.0.3" - resolved "https://registry.yarnpkg.com/diffie-hellman/-/diffie-hellman-5.0.3.tgz#40e8ee98f55a2149607146921c63e1ae5f3d2875" - integrity sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg== - dependencies: - bn.js "^4.1.0" - miller-rabin "^4.0.0" - randombytes "^2.0.0" - -dir-glob@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f" - integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA== - dependencies: - path-type "^4.0.0" - -domain-browser@^1.1.1: - version "1.2.0" - resolved "https://registry.yarnpkg.com/domain-browser/-/domain-browser-1.2.0.tgz#3d31f50191a6749dd1375a7f522e823d42e54eda" - integrity sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA== - -duplexify@^3.4.2, duplexify@^3.6.0: - version "3.7.1" - resolved "https://registry.yarnpkg.com/duplexify/-/duplexify-3.7.1.tgz#2a4df5317f6ccfd91f86d6fd25d8d8a103b88309" - integrity sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g== - dependencies: - end-of-stream "^1.0.0" - inherits "^2.0.1" - readable-stream "^2.0.0" - stream-shift "^1.0.0" - -ecc-jsbn@~0.1.1: - version "0.1.2" - resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz#3a83a904e54353287874c564b7549386849a98c9" - integrity sha1-OoOpBOVDUyh4dMVkt1SThoSamMk= - dependencies: - jsbn "~0.1.0" - safer-buffer "^2.1.0" - -electron-to-chromium@^1.3.413: - version "1.3.451" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.451.tgz#0c075af3e2f06d706670bde0279432802ca8c83f" - integrity sha512-2fvco0F2bBIgqzO8GRP0Jt/91pdrf9KfZ5FsmkYkjERmIJG585cFeFZV4+CO6oTmU3HmCTgfcZuEa7kW8VUh3A== - -elliptic@^6.5.3: - version "6.5.4" - resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.4.tgz#da37cebd31e79a1367e941b592ed1fbebd58abbb" - integrity sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ== - dependencies: - bn.js "^4.11.9" - brorand "^1.1.0" - hash.js "^1.0.0" - hmac-drbg "^1.0.1" - inherits "^2.0.4" - minimalistic-assert "^1.0.1" - minimalistic-crypto-utils "^1.0.1" - -emoji-regex@^7.0.1: - version "7.0.3" - resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-7.0.3.tgz#933a04052860c85e83c122479c4748a8e4c72156" - integrity sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA== - -emojis-list@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-3.0.0.tgz#5570662046ad29e2e916e71aae260abdff4f6a78" - integrity sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q== - -end-of-stream@^1.0.0, end-of-stream@^1.1.0: - version "1.4.4" - resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0" - integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q== - dependencies: - once "^1.4.0" - -enhanced-resolve@^4.1.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-4.3.0.tgz#3b806f3bfafc1ec7de69551ef93cca46c1704126" - integrity sha512-3e87LvavsdxyoCfGusJnrZ5G8SLPOFeHSNpZI/ATL9a5leXo2k0w6MKnbqhdBad9qTobSfB20Ld7UmgoNbAZkQ== - dependencies: - graceful-fs "^4.1.2" - memory-fs "^0.5.0" - tapable "^1.0.0" - -enquirer@^2.3.4: - version "2.3.5" - resolved "https://registry.yarnpkg.com/enquirer/-/enquirer-2.3.5.tgz#3ab2b838df0a9d8ab9e7dff235b0e8712ef92381" - integrity sha512-BNT1C08P9XD0vNg3J475yIUG+mVdp9T6towYFHUv897X0KoHBjB1shyrNmhmtHWKP17iSWgo7Gqh7BBuzLZMSA== - dependencies: - ansi-colors "^3.2.1" - -errno@^0.1.3, errno@~0.1.7: - version "0.1.7" - resolved "https://registry.yarnpkg.com/errno/-/errno-0.1.7.tgz#4684d71779ad39af177e3f007996f7c67c852618" - integrity sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg== - dependencies: - prr "~1.0.1" - -error-ex@^1.2.0: - version "1.3.2" - resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" - integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== - dependencies: - is-arrayish "^0.2.1" - -error@^7.0.0: - version "7.2.1" - resolved "https://registry.yarnpkg.com/error/-/error-7.2.1.tgz#eab21a4689b5f684fc83da84a0e390de82d94894" - integrity sha512-fo9HBvWnx3NGUKMvMwB/CBCMMrfEJgbDTVDEkPygA3Bdd3lM1OyCd+rbQ8BwnpF6GdVeOLDNmyL4N5Bg80ZvdA== - dependencies: - string-template "~0.2.1" - -es-abstract@^1.17.5: - version "1.17.5" - resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.17.5.tgz#d8c9d1d66c8981fb9200e2251d799eee92774ae9" - integrity sha512-BR9auzDbySxOcfog0tLECW8l28eRGpDpU3Dm3Hp4q/N+VtLTmyj4EUN088XZWQDW/hzj6sYRDXeOFsaAODKvpg== - dependencies: - es-to-primitive "^1.2.1" - function-bind "^1.1.1" - has "^1.0.3" - has-symbols "^1.0.1" - is-callable "^1.1.5" - is-regex "^1.0.5" - object-inspect "^1.7.0" - object-keys "^1.1.1" - object.assign "^4.1.0" - string.prototype.trimleft "^2.1.1" - string.prototype.trimright "^2.1.1" - -es-to-primitive@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a" - integrity sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA== - dependencies: - is-callable "^1.1.4" - is-date-object "^1.0.1" - is-symbol "^1.0.2" - -escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" - integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= - -eslint-scope@^4.0.3: - version "4.0.3" - resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-4.0.3.tgz#ca03833310f6889a3264781aa82e63eb9cfe7848" - integrity sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg== - dependencies: - esrecurse "^4.1.0" - estraverse "^4.1.1" - -esrecurse@^4.1.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921" - integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== - dependencies: - estraverse "^5.2.0" - -estraverse@^4.1.1: - version "4.3.0" - resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d" - integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== - -estraverse@^5.2.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.2.0.tgz#307df42547e6cc7324d3cf03c155d5cdb8c53880" - integrity sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ== - -esutils@^2.0.2: - version "2.0.3" - resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" - integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== - -events@^3.0.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/events/-/events-3.2.0.tgz#93b87c18f8efcd4202a461aec4dfc0556b639379" - integrity sha512-/46HWwbfCX2xTawVfkKLGxMifJYQBWMwY1mjywRtb4c9x8l5NP3KoJtnIOiL1hfdRkIuYhETxQlo62IF8tcnlg== - -evp_bytestokey@^1.0.0, evp_bytestokey@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz#7fcbdb198dc71959432efe13842684e0525acb02" - integrity sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA== - dependencies: - md5.js "^1.3.4" - safe-buffer "^5.1.1" - -execa@^3.2.0: - version "3.4.0" - resolved "https://registry.yarnpkg.com/execa/-/execa-3.4.0.tgz#c08ed4550ef65d858fac269ffc8572446f37eb89" - integrity sha512-r9vdGQk4bmCuK1yKQu1KTwcT2zwfWdbdaXfCtAh+5nU/4fSX+JAb7vZGvI5naJrQlvONrEB20jeruESI69530g== - dependencies: - cross-spawn "^7.0.0" - get-stream "^5.0.0" - human-signals "^1.1.1" - is-stream "^2.0.0" - merge-stream "^2.0.0" - npm-run-path "^4.0.0" - onetime "^5.1.0" - p-finally "^2.0.0" - signal-exit "^3.0.2" - strip-final-newline "^2.0.0" - -execa@^4.0.0: - version "4.0.2" - resolved "https://registry.yarnpkg.com/execa/-/execa-4.0.2.tgz#ad87fb7b2d9d564f70d2b62d511bee41d5cbb240" - integrity sha512-QI2zLa6CjGWdiQsmSkZoGtDx2N+cQIGb3yNolGTdjSQzydzLgYYf8LRuagp7S7fPimjcrzUDSUFd/MgzELMi4Q== - dependencies: - cross-spawn "^7.0.0" - get-stream "^5.0.0" - human-signals "^1.1.1" - is-stream "^2.0.0" - merge-stream "^2.0.0" - npm-run-path "^4.0.0" - onetime "^5.1.0" - signal-exit "^3.0.2" - strip-final-newline "^2.0.0" - -expand-brackets@^2.1.4: - version "2.1.4" - resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-2.1.4.tgz#b77735e315ce30f6b6eff0f83b04151a22449622" - integrity sha1-t3c14xXOMPa27/D4OwQVGiJEliI= - dependencies: - debug "^2.3.3" - define-property "^0.2.5" - extend-shallow "^2.0.1" - posix-character-classes "^0.1.0" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.1" - -expose-loader@~0.7.5: - version "0.7.5" - resolved "https://registry.yarnpkg.com/expose-loader/-/expose-loader-0.7.5.tgz#e29ea2d9aeeed3254a3faa1b35f502db9f9c3f6f" - integrity sha512-iPowgKUZkTPX5PznYsmifVj9Bob0w2wTHVkt/eYNPSzyebkUgIedmskf/kcfEIWpiWjg3JRjnW+a17XypySMuw== - -extend-shallow@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f" - integrity sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8= - dependencies: - is-extendable "^0.1.0" - -extend-shallow@^3.0.0, extend-shallow@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-3.0.2.tgz#26a71aaf073b39fb2127172746131c2704028db8" - integrity sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg= - dependencies: - assign-symbols "^1.0.0" - is-extendable "^1.0.1" - -extend@~3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" - integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g== - -extglob@^2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/extglob/-/extglob-2.0.4.tgz#ad00fe4dc612a9232e8718711dc5cb5ab0285543" - integrity sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw== - dependencies: - array-unique "^0.3.2" - define-property "^1.0.0" - expand-brackets "^2.1.4" - extend-shallow "^2.0.1" - fragment-cache "^0.2.1" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.1" - -extsprintf@1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05" - integrity sha1-lpGEQOMEGnpBT4xS48V06zw+HgU= - -extsprintf@^1.2.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.0.tgz#e2689f8f356fad62cca65a3a91c5df5f9551692f" - integrity sha1-4mifjzVvrWLMplo6kcXfX5VRaS8= - -fast-deep-equal@^3.1.1: - version "3.1.3" - resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" - integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== - -fast-glob@^3.1.1, fast-glob@^3.2.4: - version "3.2.4" - resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.4.tgz#d20aefbf99579383e7f3cc66529158c9b98554d3" - integrity sha512-kr/Oo6PX51265qeuCYsyGypiO5uJFgBS0jksyG7FUeCyQzNwYnzrNIMR1NXfkZXsMYXYLRAHgISHBz8gQcxKHQ== - dependencies: - "@nodelib/fs.stat" "^2.0.2" - "@nodelib/fs.walk" "^1.2.3" - glob-parent "^5.1.0" - merge2 "^1.3.0" - micromatch "^4.0.2" - picomatch "^2.2.1" - -fast-json-stable-stringify@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" - integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== - -fastq@^1.6.0: - version "1.8.0" - resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.8.0.tgz#550e1f9f59bbc65fe185cb6a9b4d95357107f481" - integrity sha512-SMIZoZdLh/fgofivvIkmknUXyPnvxRE3DhtZ5Me3Mrsk5gyPL42F0xr51TdRXskBxHfMp+07bcYzfsYEsSQA9Q== - dependencies: - reusify "^1.0.4" - -faye-websocket@~0.10.0: - version "0.10.0" - resolved "https://registry.yarnpkg.com/faye-websocket/-/faye-websocket-0.10.0.tgz#4e492f8d04dfb6f89003507f6edbf2d501e7c6f4" - integrity sha1-TkkvjQTftviQA1B/btvy1QHnxvQ= - dependencies: - websocket-driver ">=0.5.1" - -figgy-pudding@^3.5.1: - version "3.5.2" - resolved "https://registry.yarnpkg.com/figgy-pudding/-/figgy-pudding-3.5.2.tgz#b4eee8148abb01dcf1d1ac34367d59e12fa61d6e" - integrity sha512-0btnI/H8f2pavGMN8w40mlSKOfTK2SVJmBfBeVIj3kNw0swwgzyRq0d5TJVOwodFmtvpPeWPN/MCcfuWF0Ezbw== - -file-loader@~6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/file-loader/-/file-loader-6.0.0.tgz#97bbfaab7a2460c07bcbd72d3a6922407f67649f" - integrity sha512-/aMOAYEFXDdjG0wytpTL5YQLfZnnTmLNjn+AIrJ/6HVnTfDqLsVKUUwkDf4I4kgex36BvjuXEn/TX9B/1ESyqQ== - dependencies: - loader-utils "^2.0.0" - schema-utils "^2.6.5" - -file-uri-to-path@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz#553a7b8446ff6f684359c445f1e37a05dacc33dd" - integrity sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw== - -fill-range@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-4.0.0.tgz#d544811d428f98eb06a63dc402d2403c328c38f7" - integrity sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc= - dependencies: - extend-shallow "^2.0.1" - is-number "^3.0.0" - repeat-string "^1.6.1" - to-regex-range "^2.1.0" - -fill-range@^7.0.1: - version "7.0.1" - resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" - integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== - dependencies: - to-regex-range "^5.0.1" - -find-cache-dir@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-2.1.0.tgz#8d0f94cd13fe43c6c7c261a0d86115ca918c05f7" - integrity sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ== - dependencies: - commondir "^1.0.1" - make-dir "^2.0.0" - pkg-dir "^3.0.0" - -find-cache-dir@^3.3.1: - version "3.3.1" - resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-3.3.1.tgz#89b33fad4a4670daa94f855f7fbe31d6d84fe880" - integrity sha512-t2GDMt3oGC/v+BMwzmllWDuJF/xcDtE5j/fCGbqDD7OLuJkj0cfh1YSA5VKPvwMeLFLNDBkwOKZ2X85jGLVftQ== - dependencies: - commondir "^1.0.1" - make-dir "^3.0.2" - pkg-dir "^4.1.0" - -find-replace@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/find-replace/-/find-replace-3.0.0.tgz#3e7e23d3b05167a76f770c9fbd5258b0def68c38" - integrity sha512-6Tb2myMioCAgv5kfvP5/PkZZ/ntTpVK39fHY7WkWBgvbeE+VHd/tZuZ4mrC+bxh4cfOZeYKVPaJIZtZXV7GNCQ== - dependencies: - array-back "^3.0.1" - -find-up@^1.0.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-1.1.2.tgz#6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f" - integrity sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8= - dependencies: - path-exists "^2.0.0" - pinkie-promise "^2.0.0" - -find-up@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7" - integrity sha1-RdG35QbHF93UgndaK3eSCjwMV6c= - dependencies: - locate-path "^2.0.0" - -find-up@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-3.0.0.tgz#49169f1d7993430646da61ecc5ae355c21c97b73" - integrity sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg== - dependencies: - locate-path "^3.0.0" - -find-up@^4.0.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" - integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== - dependencies: - locate-path "^5.0.0" - path-exists "^4.0.0" - -flush-write-stream@^1.0.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/flush-write-stream/-/flush-write-stream-1.1.1.tgz#8dd7d873a1babc207d94ead0c2e0e44276ebf2e8" - integrity sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w== - dependencies: - inherits "^2.0.3" - readable-stream "^2.3.6" - -for-in@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" - integrity sha1-gQaNKVqBQuwKxybG4iAMMPttXoA= - -forever-agent@~0.6.1: - version "0.6.1" - resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" - integrity sha1-+8cfDEGt6zf5bFd60e1C2P2sypE= - -form-data@~2.3.2: - version "2.3.3" - resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.3.tgz#dcce52c05f644f298c6a7ab936bd724ceffbf3a6" - integrity sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ== - dependencies: - asynckit "^0.4.0" - combined-stream "^1.0.6" - mime-types "^2.1.12" - -fragment-cache@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/fragment-cache/-/fragment-cache-0.2.1.tgz#4290fad27f13e89be7f33799c6bc5a0abfff0d19" - integrity sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk= - dependencies: - map-cache "^0.2.2" - -from2@^2.1.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/from2/-/from2-2.3.0.tgz#8bfb5502bde4a4d36cfdeea007fcca21d7e382af" - integrity sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8= - dependencies: - inherits "^2.0.1" - readable-stream "^2.0.0" - -fs-extra@^7.0.0: - version "7.0.1" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-7.0.1.tgz#4f189c44aa123b895f722804f55ea23eadc348e9" - integrity sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw== - dependencies: - graceful-fs "^4.1.2" - jsonfile "^4.0.0" - universalify "^0.1.0" - -fs-minipass@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-2.1.0.tgz#7f5036fdbf12c63c169190cbe4199c852271f9fb" - integrity sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg== - dependencies: - minipass "^3.0.0" - -fs-write-stream-atomic@^1.0.8: - version "1.0.10" - resolved "https://registry.yarnpkg.com/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz#b47df53493ef911df75731e70a9ded0189db40c9" - integrity sha1-tH31NJPvkR33VzHnCp3tAYnbQMk= - dependencies: - graceful-fs "^4.1.2" - iferr "^0.1.5" - imurmurhash "^0.1.4" - readable-stream "1 || 2" - -fs.realpath@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" - integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= - -fsevents@^1.2.7: - version "1.2.13" - resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.2.13.tgz#f325cb0455592428bcf11b383370ef70e3bfcc38" - integrity sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw== - dependencies: - bindings "^1.5.0" - nan "^2.12.1" - -fsevents@~2.1.2: - version "2.1.3" - resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.1.3.tgz#fb738703ae8d2f9fe900c33836ddebee8b97f23e" - integrity sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ== - -fstream@^1.0.0, fstream@^1.0.12: - version "1.0.12" - resolved "https://registry.yarnpkg.com/fstream/-/fstream-1.0.12.tgz#4e8ba8ee2d48be4f7d0de505455548eae5932045" - integrity sha512-WvJ193OHa0GHPEL+AycEJgxvBEwyfRkN1vhjca23OaPVMCaLCXTd5qAu82AjTcgP1UJmytkOKb63Ypde7raDIg== - dependencies: - graceful-fs "^4.1.2" - inherits "~2.0.0" - mkdirp ">=0.5 0" - rimraf "2" - -function-bind@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" - integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== - -gauge@~2.7.3: - version "2.7.4" - resolved "https://registry.yarnpkg.com/gauge/-/gauge-2.7.4.tgz#2c03405c7538c39d7eb37b317022e325fb018bf7" - integrity sha1-LANAXHU4w51+s3sxcCLjJfsBi/c= - dependencies: - aproba "^1.0.3" - console-control-strings "^1.0.0" - has-unicode "^2.0.0" - object-assign "^4.1.0" - signal-exit "^3.0.0" - string-width "^1.0.1" - strip-ansi "^3.0.1" - wide-align "^1.1.0" - -gaze@^1.0.0: - version "1.1.3" - resolved "https://registry.yarnpkg.com/gaze/-/gaze-1.1.3.tgz#c441733e13b927ac8c0ff0b4c3b033f28812924a" - integrity sha512-BRdNm8hbWzFzWHERTrejLqwHDfS4GibPoq5wjTPIoJHoBtKGPg3xAFfxmM+9ztbXelxcf2hwQcaz1PtmFeue8g== - dependencies: - globule "^1.0.0" - -gensync@^1.0.0-beta.1: - version "1.0.0-beta.1" - resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.1.tgz#58f4361ff987e5ff6e1e7a210827aa371eaac269" - integrity sha512-r8EC6NO1sngH/zdD9fiRDLdcgnbayXah+mLgManTaIZJqEC1MZstmnox8KpnI2/fxQwrp5OpCOYWLp4rBl4Jcg== - -get-caller-file@^2.0.1: - version "2.0.5" - resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" - integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== - -get-stdin@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-4.0.1.tgz#b968c6b0a04384324902e8bf1a5df32579a450fe" - integrity sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4= - -get-stream@^5.0.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-5.1.0.tgz#01203cdc92597f9b909067c3e656cc1f4d3c4dc9" - integrity sha512-EXr1FOzrzTfGeL0gQdeFEvOMm2mzMOglyiOXSTpPC+iAjAKftbr3jpCMWynogwYnM+eSj9sHGc6wjIcDvYiygw== - dependencies: - pump "^3.0.0" - -get-value@^2.0.3, get-value@^2.0.6: - version "2.0.6" - resolved "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28" - integrity sha1-3BXKHGcjh8p2vTesCjlbogQqLCg= - -getpass@^0.1.1: - version "0.1.7" - resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa" - integrity sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo= - dependencies: - assert-plus "^1.0.0" - -glob-parent@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-3.1.0.tgz#9e6af6299d8d3bd2bd40430832bd113df906c5ae" - integrity sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4= - dependencies: - is-glob "^3.1.0" - path-dirname "^1.0.0" - -glob-parent@^5.1.0, glob-parent@^5.1.1, glob-parent@~5.1.0: - version "5.1.1" - resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.1.tgz#b6c1ef417c4e5663ea498f1c45afac6916bbc229" - integrity sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ== - dependencies: - is-glob "^4.0.1" - -glob@^7.0.0, glob@^7.0.3, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@~7.1.1: - version "7.1.6" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6" - integrity sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA== - dependencies: - fs.realpath "^1.0.0" - inflight "^1.0.4" - inherits "2" - minimatch "^3.0.4" - once "^1.3.0" - path-is-absolute "^1.0.0" - -globals@^11.1.0: - version "11.12.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" - integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== - -globby@^11.0.1: - version "11.0.1" - resolved "https://registry.yarnpkg.com/globby/-/globby-11.0.1.tgz#9a2bf107a068f3ffeabc49ad702c79ede8cfd357" - integrity sha512-iH9RmgwCmUJHi2z5o2l3eTtGBtXek1OYlHrbcxOYugyHLmAsZrPj43OtHThd62Buh/Vv6VyCBD2bdyWcGNQqoQ== - dependencies: - array-union "^2.1.0" - dir-glob "^3.0.1" - fast-glob "^3.1.1" - ignore "^5.1.4" - merge2 "^1.3.0" - slash "^3.0.0" - -globby@^6.1.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/globby/-/globby-6.1.0.tgz#f5a6d70e8395e21c858fb0489d64df02424d506c" - integrity sha1-9abXDoOV4hyFj7BInWTfAkJNUGw= - dependencies: - array-union "^1.0.1" - glob "^7.0.3" - object-assign "^4.0.1" - pify "^2.0.0" - pinkie-promise "^2.0.0" - -globule@^1.0.0: - version "1.3.1" - resolved "https://registry.yarnpkg.com/globule/-/globule-1.3.1.tgz#90a25338f22b7fbeb527cee63c629aea754d33b9" - integrity sha512-OVyWOHgw29yosRHCHo7NncwR1hW5ew0W/UrvtwvjefVJeQ26q4/8r8FmPsSF1hJ93IgWkyv16pCTz6WblMzm/g== - dependencies: - glob "~7.1.1" - lodash "~4.17.12" - minimatch "~3.0.2" - -gopherjs-loader@^0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/gopherjs-loader/-/gopherjs-loader-0.0.1.tgz#c9e25aa7693731de5daa0ea829a96b47f7e92668" - integrity sha1-yeJap2k3Md5dqg6oKalrR/fpJmg= - -graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.6: - version "4.2.4" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.4.tgz#2256bde14d3632958c465ebc96dc467ca07a29fb" - integrity sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw== - -har-schema@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92" - integrity sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI= - -har-validator@~5.1.3: - version "5.1.3" - resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-5.1.3.tgz#1ef89ebd3e4996557675eed9893110dc350fa080" - integrity sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g== - dependencies: - ajv "^6.5.5" - har-schema "^2.0.0" - -has-ansi@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91" - integrity sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE= - dependencies: - ansi-regex "^2.0.0" - -has-flag@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" - integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0= - -has-flag@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" - integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== - -has-symbols@^1.0.0, has-symbols@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.1.tgz#9f5214758a44196c406d9bd76cebf81ec2dd31e8" - integrity sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg== - -has-unicode@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9" - integrity sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk= - -has-value@^0.3.1: - version "0.3.1" - resolved "https://registry.yarnpkg.com/has-value/-/has-value-0.3.1.tgz#7b1f58bada62ca827ec0a2078025654845995e1f" - integrity sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8= - dependencies: - get-value "^2.0.3" - has-values "^0.1.4" - isobject "^2.0.0" - -has-value@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/has-value/-/has-value-1.0.0.tgz#18b281da585b1c5c51def24c930ed29a0be6b177" - integrity sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc= - dependencies: - get-value "^2.0.6" - has-values "^1.0.0" - isobject "^3.0.0" - -has-values@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/has-values/-/has-values-0.1.4.tgz#6d61de95d91dfca9b9a02089ad384bff8f62b771" - integrity sha1-bWHeldkd/Km5oCCJrThL/49it3E= - -has-values@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/has-values/-/has-values-1.0.0.tgz#95b0b63fec2146619a6fe57fe75628d5a39efe4f" - integrity sha1-lbC2P+whRmGab+V/51Yo1aOe/k8= - dependencies: - is-number "^3.0.0" - kind-of "^4.0.0" - -has@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" - integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== - dependencies: - function-bind "^1.1.1" - -hash-base@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/hash-base/-/hash-base-3.1.0.tgz#55c381d9e06e1d2997a883b4a3fddfe7f0d3af33" - integrity sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA== - dependencies: - inherits "^2.0.4" - readable-stream "^3.6.0" - safe-buffer "^5.2.0" - -hash.js@^1.0.0, hash.js@^1.0.3: - version "1.1.7" - resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.1.7.tgz#0babca538e8d4ee4a0f8988d68866537a003cf42" - integrity sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA== - dependencies: - inherits "^2.0.3" - minimalistic-assert "^1.0.1" - -hmac-drbg@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1" - integrity sha1-0nRXAQJabHdabFRXk+1QL8DGSaE= - dependencies: - hash.js "^1.0.3" - minimalistic-assert "^1.0.0" - minimalistic-crypto-utils "^1.0.1" - -hosted-git-info@^2.1.4: - version "2.8.8" - resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.8.tgz#7539bd4bc1e0e0a895815a2e0262420b12858488" - integrity sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg== - -http-parser-js@>=0.5.1: - version "0.5.2" - resolved "https://registry.yarnpkg.com/http-parser-js/-/http-parser-js-0.5.2.tgz#da2e31d237b393aae72ace43882dd7e270a8ff77" - integrity sha512-opCO9ASqg5Wy2FNo7A0sxy71yGbbkJJXLdgMK04Tcypw9jr2MgWbyubb0+WdmDmGnFflO7fRbqbaihh/ENDlRQ== - -http-signature@~1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1" - integrity sha1-muzZJRFHcvPZW2WmCruPfBj7rOE= - dependencies: - assert-plus "^1.0.0" - jsprim "^1.2.2" - sshpk "^1.7.0" - -https-browserify@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/https-browserify/-/https-browserify-1.0.0.tgz#ec06c10e0a34c0f2faf199f7fd7fc78fffd03c73" - integrity sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM= - -human-signals@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-1.1.1.tgz#c5b1cd14f50aeae09ab6c59fe63ba3395fe4dfa3" - integrity sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw== - -icss-utils@^4.0.0, icss-utils@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/icss-utils/-/icss-utils-4.1.1.tgz#21170b53789ee27447c2f47dd683081403f9a467" - integrity sha512-4aFq7wvWyMHKgxsH8QQtGpvbASCf+eM3wPRLI6R+MgAnTCZ6STYsRvttLvRWK0Nfif5piF394St3HeJDaljGPA== - dependencies: - postcss "^7.0.14" - -ieee754@^1.1.4: - version "1.1.13" - resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.13.tgz#ec168558e95aa181fd87d37f55c32bbcb6708b84" - integrity sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg== - -iferr@^0.1.5: - version "0.1.5" - resolved "https://registry.yarnpkg.com/iferr/-/iferr-0.1.5.tgz#c60eed69e6d8fdb6b3104a1fcbca1c192dc5b501" - integrity sha1-xg7taebY/bazEEofy8ocGS3FtQE= - -ignore@^5.1.4: - version "5.1.8" - resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.1.8.tgz#f150a8b50a34289b33e22f5889abd4d8016f0e57" - integrity sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw== - -import-local@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/import-local/-/import-local-3.0.2.tgz#a8cfd0431d1de4a2199703d003e3e62364fa6db6" - integrity sha512-vjL3+w0oulAVZ0hBHnxa/Nm5TAurf9YLQJDhqRZyqb+VKGOB6LU8t9H1Nr5CIo16vh9XfJTOoHwU0B71S557gA== - dependencies: - pkg-dir "^4.2.0" - resolve-cwd "^3.0.0" - -imurmurhash@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" - integrity sha1-khi5srkoojixPcT7a21XbyMUU+o= - -in-publish@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/in-publish/-/in-publish-2.0.1.tgz#948b1a535c8030561cea522f73f78f4be357e00c" - integrity sha512-oDM0kUSNFC31ShNxHKUyfZKy8ZeXZBWMjMdZHKLOk13uvT27VTL/QzRGfRUcevJhpkZAvlhPYuXkF7eNWrtyxQ== - -indent-string@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-2.1.0.tgz#8e2d48348742121b4a8218b7a137e9a52049dc80" - integrity sha1-ji1INIdCEhtKghi3oTfppSBJ3IA= - dependencies: - repeating "^2.0.0" - -indent-string@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-4.0.0.tgz#624f8f4497d619b2d9768531d58f4122854d7251" - integrity sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg== - -indexes-of@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/indexes-of/-/indexes-of-1.0.1.tgz#f30f716c8e2bd346c7b67d3df3915566a7c05607" - integrity sha1-8w9xbI4r00bHtn0985FVZqfAVgc= - -infer-owner@^1.0.3, infer-owner@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/infer-owner/-/infer-owner-1.0.4.tgz#c4cefcaa8e51051c2a40ba2ce8a3d27295af9467" - integrity sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A== - -inflight@^1.0.4: - version "1.0.6" - resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" - integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= - dependencies: - once "^1.3.0" - wrappy "1" - -inherits@2, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.0, inherits@~2.0.1, inherits@~2.0.3: - version "2.0.4" - resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" - integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== - -inherits@2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.1.tgz#b17d08d326b4423e568eff719f91b0b1cbdf69f1" - integrity sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE= - -inherits@2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" - integrity sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4= - -interpret@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/interpret/-/interpret-2.0.0.tgz#b783ffac0b8371503e9ab39561df223286aa5433" - integrity sha512-e0/LknJ8wpMMhTiWcjivB+ESwIuvHnBSlBbmP/pSb8CQJldoj1p2qv7xGZ/+BtbTziYRFSz8OsvdbiX45LtYQA== - -invariant@^2.2.2, invariant@^2.2.4: - version "2.2.4" - resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.4.tgz#610f3c92c9359ce1db616e538008d23ff35158e6" - integrity sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA== - dependencies: - loose-envify "^1.0.0" - -is-accessor-descriptor@^0.1.6: - version "0.1.6" - resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz#a9e12cb3ae8d876727eeef3843f8a0897b5c98d6" - integrity sha1-qeEss66Nh2cn7u84Q/igiXtcmNY= - dependencies: - kind-of "^3.0.2" - -is-accessor-descriptor@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz#169c2f6d3df1f992618072365c9b0ea1f6878656" - integrity sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ== - dependencies: - kind-of "^6.0.0" - -is-arrayish@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" - integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0= - -is-binary-path@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-1.0.1.tgz#75f16642b480f187a711c814161fd3a4a7655898" - integrity sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg= - dependencies: - binary-extensions "^1.0.0" - -is-binary-path@~2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" - integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== - dependencies: - binary-extensions "^2.0.0" - -is-buffer@^1.1.5: - version "1.1.6" - resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" - integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w== - -is-callable@^1.1.4, is-callable@^1.1.5: - version "1.1.5" - resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.1.5.tgz#f7e46b596890456db74e7f6e976cb3273d06faab" - integrity sha512-ESKv5sMCJB2jnHTWZ3O5itG+O128Hsus4K4Qh1h2/cgn2vbgnLSVqfV46AeJA9D5EeeLa9w81KUXMtn34zhX+Q== - -is-data-descriptor@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz#0b5ee648388e2c860282e793f1856fec3f301b56" - integrity sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y= - dependencies: - kind-of "^3.0.2" - -is-data-descriptor@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz#d84876321d0e7add03990406abbbbd36ba9268c7" - integrity sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ== - dependencies: - kind-of "^6.0.0" - -is-date-object@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.2.tgz#bda736f2cd8fd06d32844e7743bfa7494c3bfd7e" - integrity sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g== - -is-descriptor@^0.1.0: - version "0.1.6" - resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-0.1.6.tgz#366d8240dde487ca51823b1ab9f07a10a78251ca" - integrity sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg== - dependencies: - is-accessor-descriptor "^0.1.6" - is-data-descriptor "^0.1.4" - kind-of "^5.0.0" - -is-descriptor@^1.0.0, is-descriptor@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-1.0.2.tgz#3b159746a66604b04f8c81524ba365c5f14d86ec" - integrity sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg== - dependencies: - is-accessor-descriptor "^1.0.0" - is-data-descriptor "^1.0.0" - kind-of "^6.0.2" - -is-extendable@^0.1.0, is-extendable@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" - integrity sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik= - -is-extendable@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-1.0.1.tgz#a7470f9e426733d81bd81e1155264e3a3507cab4" - integrity sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA== - dependencies: - is-plain-object "^2.0.4" - -is-extglob@^2.1.0, is-extglob@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" - integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= - -is-finite@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-finite/-/is-finite-1.1.0.tgz#904135c77fb42c0641d6aa1bcdbc4daa8da082f3" - integrity sha512-cdyMtqX/BOqqNBBiKlIVkytNHm49MtMlYyn1zxzvJKWmFMlGzm+ry5BBfYyeY9YmNKbRSo/o7OX9w9ale0wg3w== - -is-fullwidth-code-point@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb" - integrity sha1-754xOG8DGn8NZDr4L95QxFfvAMs= - dependencies: - number-is-nan "^1.0.0" - -is-fullwidth-code-point@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" - integrity sha1-o7MKXE8ZkYMWeqq5O+764937ZU8= - -is-glob@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-3.1.0.tgz#7ba5ae24217804ac70707b96922567486cc3e84a" - integrity sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo= - dependencies: - is-extglob "^2.1.0" - -is-glob@^4.0.0, is-glob@^4.0.1, is-glob@~4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.1.tgz#7567dbe9f2f5e2467bc77ab83c4a29482407a5dc" - integrity sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg== - dependencies: - is-extglob "^2.1.1" - -is-number@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195" - integrity sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU= - dependencies: - kind-of "^3.0.2" - -is-number@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" - integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== - -is-path-cwd@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-path-cwd/-/is-path-cwd-1.0.0.tgz#d225ec23132e89edd38fda767472e62e65f1106d" - integrity sha1-0iXsIxMuie3Tj9p2dHLmLmXxEG0= - -is-path-in-cwd@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-path-in-cwd/-/is-path-in-cwd-1.0.1.tgz#5ac48b345ef675339bd6c7a48a912110b241cf52" - integrity sha512-FjV1RTW48E7CWM7eE/J2NJvAEEVektecDBVBE5Hh3nM1Jd0kvhHtX68Pr3xsDf857xt3Y4AkwVULK1Vku62aaQ== - dependencies: - is-path-inside "^1.0.0" - -is-path-inside@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-1.0.1.tgz#8ef5b7de50437a3fdca6b4e865ef7aa55cb48036" - integrity sha1-jvW33lBDej/cprToZe96pVy0gDY= - dependencies: - path-is-inside "^1.0.1" - -is-plain-obj@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e" - integrity sha1-caUMhCnfync8kqOQpKA7OfzVHT4= - -is-plain-object@^2.0.3, is-plain-object@^2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677" - integrity sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og== - dependencies: - isobject "^3.0.1" - -is-regex@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.0.5.tgz#39d589a358bf18967f726967120b8fc1aed74eae" - integrity sha512-vlKW17SNq44owv5AQR3Cq0bQPEb8+kF3UKZ2fiZNOWtztYE5i0CzCZxFDwO58qAOWtxdBRVO/V5Qin1wjCqFYQ== - dependencies: - has "^1.0.3" - -is-stream@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.0.tgz#bde9c32680d6fae04129d6ac9d921ce7815f78e3" - integrity sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw== - -is-symbol@^1.0.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.3.tgz#38e1014b9e6329be0de9d24a414fd7441ec61937" - integrity sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ== - dependencies: - has-symbols "^1.0.1" - -is-typedarray@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" - integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo= - -is-utf8@^0.2.0: - version "0.2.1" - resolved "https://registry.yarnpkg.com/is-utf8/-/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72" - integrity sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI= - -is-windows@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" - integrity sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA== - -is-wsl@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-1.1.0.tgz#1f16e4aa22b04d1336b66188a66af3c600c3a66d" - integrity sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0= - -isarray@1.0.0, isarray@^1.0.0, isarray@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" - integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= - -isexe@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" - integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= - -isobject@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" - integrity sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk= - dependencies: - isarray "1.0.0" - -isobject@^3.0.0, isobject@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" - integrity sha1-TkMekrEalzFjaqH5yNHMvP2reN8= - -isstream@~0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" - integrity sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo= - -jest-worker@^26.3.0: - version "26.3.0" - resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-26.3.0.tgz#7c8a97e4f4364b4f05ed8bca8ca0c24de091871f" - integrity sha512-Vmpn2F6IASefL+DVBhPzI2J9/GJUsqzomdeN+P+dK8/jKxbh8R3BtFnx3FIta7wYlPU62cpJMJQo4kuOowcMnw== - dependencies: - "@types/node" "*" - merge-stream "^2.0.0" - supports-color "^7.0.0" - -jquery-ujs@~1.2.2: - version "1.2.2" - resolved "https://registry.yarnpkg.com/jquery-ujs/-/jquery-ujs-1.2.2.tgz#6a8ef1020e6b6dda385b90a4bddc128c21c56397" - integrity sha1-ao7xAg5rbdo4W5CkvdwSjCHFY5c= - dependencies: - jquery ">=1.8.0" - -jquery@3.5.1, jquery@>=1.8.0: - version "3.5.1" - resolved "https://registry.yarnpkg.com/jquery/-/jquery-3.5.1.tgz#d7b4d08e1bfdb86ad2f1a3d039ea17304717abb5" - integrity sha512-XwIBPqcMn57FxfT+Go5pzySnm4KWkT1Tv7gjrpT1srtf8Weynl6R273VJ5GjkRb51IzMp5nbaPjJXMWeju2MKg== - -js-base64@^2.1.8: - version "2.5.2" - resolved "https://registry.yarnpkg.com/js-base64/-/js-base64-2.5.2.tgz#313b6274dda718f714d00b3330bbae6e38e90209" - integrity sha512-Vg8czh0Q7sFBSUMWWArX/miJeBWYBPpdU/3M/DKSaekLMqrqVPaedp+5mZhie/r0lgrcaYBfwXatEew6gwgiQQ== - -"js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" - integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== - -jsbn@~0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" - integrity sha1-peZUwuWi3rXyAdls77yoDA7y9RM= - -jsesc@^2.5.1: - version "2.5.2" - resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" - integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== - -jsesc@~0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d" - integrity sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0= - -json-parse-better-errors@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9" - integrity sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw== - -json-schema-traverse@^0.4.1: - version "0.4.1" - resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" - integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== - -json-schema@0.2.3: - version "0.2.3" - resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13" - integrity sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM= - -json-stringify-safe@~5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" - integrity sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus= - -json5@^0.5.1: - version "0.5.1" - resolved "https://registry.yarnpkg.com/json5/-/json5-0.5.1.tgz#1eade7acc012034ad84e2396767ead9fa5495821" - integrity sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE= - -json5@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/json5/-/json5-1.0.1.tgz#779fb0018604fa854eacbf6252180d83543e3dbe" - integrity sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow== - dependencies: - minimist "^1.2.0" - -json5@^2.1.2: - version "2.1.3" - resolved "https://registry.yarnpkg.com/json5/-/json5-2.1.3.tgz#c9b0f7fa9233bfe5807fe66fcf3a5617ed597d43" - integrity sha512-KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA== - dependencies: - minimist "^1.2.5" - -jsonfile@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-4.0.0.tgz#8771aae0799b64076b76640fca058f9c10e33ecb" - integrity sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss= - optionalDependencies: - graceful-fs "^4.1.6" - -jsprim@^1.2.2: - version "1.4.1" - resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.1.tgz#313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2" - integrity sha1-MT5mvB5cwG5Di8G3SZwuXFastqI= - dependencies: - assert-plus "1.0.0" - extsprintf "1.3.0" - json-schema "0.2.3" - verror "1.10.0" - -kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0: - version "3.2.2" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" - integrity sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ= - dependencies: - is-buffer "^1.1.5" - -kind-of@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-4.0.0.tgz#20813df3d712928b207378691a45066fae72dd57" - integrity sha1-IIE989cSkosgc3hpGkUGb65y3Vc= - dependencies: - is-buffer "^1.1.5" - -kind-of@^5.0.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-5.1.0.tgz#729c91e2d857b7a419a1f9aa65685c4c33f5845d" - integrity sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw== - -kind-of@^6.0.0, kind-of@^6.0.2: - version "6.0.3" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd" - integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== - -leven@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/leven/-/leven-3.1.0.tgz#77891de834064cccba82ae7842bb6b14a13ed7f2" - integrity sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A== - -levenary@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/levenary/-/levenary-1.1.1.tgz#842a9ee98d2075aa7faeedbe32679e9205f46f77" - integrity sha512-mkAdOIt79FD6irqjYSs4rdbnlT5vRonMEvBVPVb3XmevfS8kgRXwfes0dhPdEtzTWD/1eNE/Bm/G1iRt6DcnQQ== - dependencies: - leven "^3.1.0" - -livereload-js@^2.3.0: - version "2.4.0" - resolved "https://registry.yarnpkg.com/livereload-js/-/livereload-js-2.4.0.tgz#447c31cf1ea9ab52fc20db615c5ddf678f78009c" - integrity sha512-XPQH8Z2GDP/Hwz2PCDrh2mth4yFejwA1OZ/81Ti3LgKyhDcEjsSsqFWZojHG0va/duGd+WyosY7eXLDoOyqcPw== - -load-json-file@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-1.1.0.tgz#956905708d58b4bab4c2261b04f59f31c99374c0" - integrity sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA= - dependencies: - graceful-fs "^4.1.2" - parse-json "^2.2.0" - pify "^2.0.0" - pinkie-promise "^2.0.0" - strip-bom "^2.0.0" - -loader-runner@^2.4.0: - version "2.4.0" - resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-2.4.0.tgz#ed47066bfe534d7e84c4c7b9998c2a75607d9357" - integrity sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw== - -loader-utils@^1.1.0, loader-utils@^1.2.3, loader-utils@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.4.0.tgz#c579b5e34cb34b1a74edc6c1fb36bfa371d5a613" - integrity sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA== - dependencies: - big.js "^5.2.2" - emojis-list "^3.0.0" - json5 "^1.0.1" - -loader-utils@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-2.0.0.tgz#e4cace5b816d425a166b5f097e10cd12b36064b0" - integrity sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ== - dependencies: - big.js "^5.2.2" - emojis-list "^3.0.0" - json5 "^2.1.2" - -locate-path@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e" - integrity sha1-K1aLJl7slExtnA3pw9u7ygNUzY4= - dependencies: - p-locate "^2.0.0" - path-exists "^3.0.0" - -locate-path@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-3.0.0.tgz#dbec3b3ab759758071b58fe59fc41871af21400e" - integrity sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A== - dependencies: - p-locate "^3.0.0" - path-exists "^3.0.0" - -locate-path@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0" - integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g== - dependencies: - p-locate "^4.1.0" - -lodash.camelcase@^4.3.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz#b28aa6288a2b9fc651035c7711f65ab6190331a6" - integrity sha1-soqmKIorn8ZRA1x3EfZathkDMaY= - -"lodash@>=3.5 <5", lodash@^4.0.0, lodash@^4.17.13, lodash@^4.17.14, lodash@^4.17.15, lodash@~4.17.12: - version "4.17.15" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.15.tgz#b447f6670a0455bbfeedd11392eff330ea097548" - integrity sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A== - -loglevelnext@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/loglevelnext/-/loglevelnext-3.0.1.tgz#e3e4659c4061c09264f6812c33586dc55a009a04" - integrity sha512-JpjaJhIN1reaSb26SIxDGtE0uc67gPl19OMVHrr+Ggt6b/Vy60jmCtKgQBrygAH0bhRA2nkxgDvM+8QvR8r0YA== - -loose-envify@^1.0.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" - integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== - dependencies: - js-tokens "^3.0.0 || ^4.0.0" - -loud-rejection@^1.0.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/loud-rejection/-/loud-rejection-1.6.0.tgz#5b46f80147edee578870f086d04821cf998e551f" - integrity sha1-W0b4AUft7leIcPCG0Eghz5mOVR8= - dependencies: - currently-unhandled "^0.4.1" - signal-exit "^3.0.0" - -lru-cache@^4.0.1: - version "4.1.5" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.5.tgz#8bbe50ea85bed59bc9e33dcab8235ee9bcf443cd" - integrity sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g== - dependencies: - pseudomap "^1.0.2" - yallist "^2.1.2" - -lru-cache@^5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920" - integrity sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w== - dependencies: - yallist "^3.0.2" - -lru-cache@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94" - integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== - dependencies: - yallist "^4.0.0" - -make-dir@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-2.1.0.tgz#5f0310e18b8be898cc07009295a30ae41e91e6f5" - integrity sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA== - dependencies: - pify "^4.0.1" - semver "^5.6.0" - -make-dir@^3.0.2: - version "3.1.0" - resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-3.1.0.tgz#415e967046b3a7f1d185277d84aa58203726a13f" - integrity sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw== - dependencies: - semver "^6.0.0" - -map-cache@^0.2.2: - version "0.2.2" - resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf" - integrity sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8= - -map-obj@^1.0.0, map-obj@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-1.0.1.tgz#d933ceb9205d82bdcf4886f6742bdc2b4dea146d" - integrity sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0= - -map-visit@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/map-visit/-/map-visit-1.0.0.tgz#ecdca8f13144e660f1b5bd41f12f3479d98dfb8f" - integrity sha1-7Nyo8TFE5mDxtb1B8S80edmN+48= - dependencies: - object-visit "^1.0.0" - -md5.js@^1.3.4: - version "1.3.5" - resolved "https://registry.yarnpkg.com/md5.js/-/md5.js-1.3.5.tgz#b5d07b8e3216e3e27cd728d72f70d1e6a342005f" - integrity sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg== - dependencies: - hash-base "^3.0.0" - inherits "^2.0.1" - safe-buffer "^5.1.2" - -memory-fs@^0.4.1: - version "0.4.1" - resolved "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.4.1.tgz#3a9a20b8462523e447cfbc7e8bb80ed667bfc552" - integrity sha1-OpoguEYlI+RHz7x+i7gO1me/xVI= - dependencies: - errno "^0.1.3" - readable-stream "^2.0.1" - -memory-fs@^0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.5.0.tgz#324c01288b88652966d161db77838720845a8e3c" - integrity sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA== - dependencies: - errno "^0.1.3" - readable-stream "^2.0.1" - -meow@^3.7.0: - version "3.7.0" - resolved "https://registry.yarnpkg.com/meow/-/meow-3.7.0.tgz#72cb668b425228290abbfa856892587308a801fb" - integrity sha1-cstmi0JSKCkKu/qFaJJYcwioAfs= - dependencies: - camelcase-keys "^2.0.0" - decamelize "^1.1.2" - loud-rejection "^1.0.0" - map-obj "^1.0.1" - minimist "^1.1.3" - normalize-package-data "^2.3.4" - object-assign "^4.0.1" - read-pkg-up "^1.0.1" - redent "^1.0.0" - trim-newlines "^1.0.0" - -merge-stream@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" - integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== - -merge2@^1.3.0: - version "1.4.1" - resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" - integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== - -micromatch@^3.1.10, micromatch@^3.1.4: - version "3.1.10" - resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23" - integrity sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg== - dependencies: - arr-diff "^4.0.0" - array-unique "^0.3.2" - braces "^2.3.1" - define-property "^2.0.2" - extend-shallow "^3.0.2" - extglob "^2.0.4" - fragment-cache "^0.2.1" - kind-of "^6.0.2" - nanomatch "^1.2.9" - object.pick "^1.3.0" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.2" - -micromatch@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.2.tgz#4fcb0999bf9fbc2fcbdd212f6d629b9a56c39259" - integrity sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q== - dependencies: - braces "^3.0.1" - picomatch "^2.0.5" - -miller-rabin@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/miller-rabin/-/miller-rabin-4.0.1.tgz#f080351c865b0dc562a8462966daa53543c78a4d" - integrity sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA== - dependencies: - bn.js "^4.0.0" - brorand "^1.0.1" - -mime-db@1.44.0: - version "1.44.0" - resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.44.0.tgz#fa11c5eb0aca1334b4233cb4d52f10c5a6272f92" - integrity sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg== - -mime-types@^2.1.12, mime-types@^2.1.26, mime-types@~2.1.19: - version "2.1.27" - resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.27.tgz#47949f98e279ea53119f5722e0f34e529bec009f" - integrity sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w== - dependencies: - mime-db "1.44.0" - -mimic-fn@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" - integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== - -mini-css-extract-plugin@^0.11.0: - version "0.11.0" - resolved "https://registry.yarnpkg.com/mini-css-extract-plugin/-/mini-css-extract-plugin-0.11.0.tgz#3918953075109d4ca204bf1e8a393a78d3cc821f" - integrity sha512-dVWGuWJlQw2lZxsxBI3hOsoxg1k3DruLR0foHQLSkQMfk+qLJbv9dUk8fjmjWQKN9ef2n54ehA2FjClAsQhrWQ== - dependencies: - loader-utils "^1.1.0" - normalize-url "1.9.1" - schema-utils "^1.0.0" - webpack-sources "^1.1.0" - -minimalistic-assert@^1.0.0, minimalistic-assert@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7" - integrity sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A== - -minimalistic-crypto-utils@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a" - integrity sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo= - -minimatch@^3.0.4, minimatch@~3.0.2: - version "3.0.4" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" - integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== - dependencies: - brace-expansion "^1.1.7" - -minimist@^1.1.3, minimist@^1.2.0, minimist@^1.2.5: - version "1.2.5" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602" - integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw== - -minipass-collect@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/minipass-collect/-/minipass-collect-1.0.2.tgz#22b813bf745dc6edba2576b940022ad6edc8c617" - integrity sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA== - dependencies: - minipass "^3.0.0" - -minipass-flush@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/minipass-flush/-/minipass-flush-1.0.5.tgz#82e7135d7e89a50ffe64610a787953c4c4cbb373" - integrity sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw== - dependencies: - minipass "^3.0.0" - -minipass-pipeline@^1.2.2: - version "1.2.3" - resolved "https://registry.yarnpkg.com/minipass-pipeline/-/minipass-pipeline-1.2.3.tgz#55f7839307d74859d6e8ada9c3ebe72cec216a34" - integrity sha512-cFOknTvng5vqnwOpDsZTWhNll6Jf8o2x+/diplafmxpuIymAjzoOolZG0VvQf3V2HgqzJNhnuKHYp2BqDgz8IQ== - dependencies: - minipass "^3.0.0" - -minipass@^3.0.0, minipass@^3.1.1: - version "3.1.3" - resolved "https://registry.yarnpkg.com/minipass/-/minipass-3.1.3.tgz#7d42ff1f39635482e15f9cdb53184deebd5815fd" - integrity sha512-Mgd2GdMVzY+x3IJ+oHnVM+KG3lA5c8tnabyJKmHSaG2kAGpudxuOf8ToDkhumF7UzME7DecbQE9uOZhNm7PuJg== - dependencies: - yallist "^4.0.0" - -minizlib@^2.1.1: - version "2.1.2" - resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-2.1.2.tgz#e90d3466ba209b932451508a11ce3d3632145931" - integrity sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg== - dependencies: - minipass "^3.0.0" - yallist "^4.0.0" - -mississippi@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/mississippi/-/mississippi-3.0.0.tgz#ea0a3291f97e0b5e8776b363d5f0a12d94c67022" - integrity sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA== - dependencies: - concat-stream "^1.5.0" - duplexify "^3.4.2" - end-of-stream "^1.1.0" - flush-write-stream "^1.0.0" - from2 "^2.1.0" - parallel-transform "^1.1.0" - pump "^3.0.0" - pumpify "^1.3.3" - stream-each "^1.1.0" - through2 "^2.0.0" - -mixin-deep@^1.2.0: - version "1.3.2" - resolved "https://registry.yarnpkg.com/mixin-deep/-/mixin-deep-1.3.2.tgz#1120b43dc359a785dce65b55b82e257ccf479566" - integrity sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA== - dependencies: - for-in "^1.0.2" - is-extendable "^1.0.1" - -"mkdirp@>=0.5 0", mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@^0.5.3: - version "0.5.5" - resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.5.tgz#d91cefd62d1436ca0f41620e251288d420099def" - integrity sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ== - dependencies: - minimist "^1.2.5" - -mkdirp@^1.0.3, mkdirp@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e" - integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== - -move-concurrently@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/move-concurrently/-/move-concurrently-1.0.1.tgz#be2c005fda32e0b29af1f05d7c4b33214c701f92" - integrity sha1-viwAX9oy4LKa8fBdfEszIUxwH5I= - dependencies: - aproba "^1.1.1" - copy-concurrently "^1.0.0" - fs-write-stream-atomic "^1.0.8" - mkdirp "^0.5.1" - rimraf "^2.5.4" - run-queue "^1.0.3" - -ms@2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" - integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= - -ms@^2.1.1: - version "2.1.2" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" - integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== - -nan@^2.12.1, nan@^2.13.2: - version "2.14.1" - resolved "https://registry.yarnpkg.com/nan/-/nan-2.14.1.tgz#d7be34dfa3105b91494c3147089315eff8874b01" - integrity sha512-isWHgVjnFjh2x2yuJ/tj3JbwoHu3UC2dX5G/88Cm24yB6YopVgxvBObDY7n5xW6ExmFhJpSEQqFPvq9zaXc8Jw== - -nanoid@^2.0.3: - version "2.1.11" - resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-2.1.11.tgz#ec24b8a758d591561531b4176a01e3ab4f0f0280" - integrity sha512-s/snB+WGm6uwi0WjsZdaVcuf3KJXlfGl2LcxgwkEwJF0D/BWzVWAZW/XY4bFaiR7s0Jk3FPvlnepg1H1b1UwlA== - -nanomatch@^1.2.9: - version "1.2.13" - resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119" - integrity sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA== - dependencies: - arr-diff "^4.0.0" - array-unique "^0.3.2" - define-property "^2.0.2" - extend-shallow "^3.0.2" - fragment-cache "^0.2.1" - is-windows "^1.0.2" - kind-of "^6.0.2" - object.pick "^1.3.0" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.1" - -neo-async@^2.5.0, neo-async@^2.6.1: - version "2.6.2" - resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.2.tgz#b4aafb93e3aeb2d8174ca53cf163ab7d7308305f" - integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw== - -node-gyp@^3.8.0: - version "3.8.0" - resolved "https://registry.yarnpkg.com/node-gyp/-/node-gyp-3.8.0.tgz#540304261c330e80d0d5edce253a68cb3964218c" - integrity sha512-3g8lYefrRRzvGeSowdJKAKyks8oUpLEd/DyPV4eMhVlhJ0aNaZqIrNUIPuEWWTAoPqyFkfGrM67MC69baqn6vA== - dependencies: - fstream "^1.0.0" - glob "^7.0.3" - graceful-fs "^4.1.2" - mkdirp "^0.5.0" - nopt "2 || 3" - npmlog "0 || 1 || 2 || 3 || 4" - osenv "0" - request "^2.87.0" - rimraf "2" - semver "~5.3.0" - tar "^2.0.0" - which "1" - -node-libs-browser@^2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/node-libs-browser/-/node-libs-browser-2.2.1.tgz#b64f513d18338625f90346d27b0d235e631f6425" - integrity sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q== - dependencies: - assert "^1.1.1" - browserify-zlib "^0.2.0" - buffer "^4.3.0" - console-browserify "^1.1.0" - constants-browserify "^1.0.0" - crypto-browserify "^3.11.0" - domain-browser "^1.1.1" - events "^3.0.0" - https-browserify "^1.0.0" - os-browserify "^0.3.0" - path-browserify "0.0.1" - process "^0.11.10" - punycode "^1.2.4" - querystring-es3 "^0.2.0" - readable-stream "^2.3.3" - stream-browserify "^2.0.1" - stream-http "^2.7.2" - string_decoder "^1.0.0" - timers-browserify "^2.0.4" - tty-browserify "0.0.0" - url "^0.11.0" - util "^0.11.0" - vm-browserify "^1.0.1" - -node-releases@^1.1.53: - version "1.1.56" - resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.56.tgz#bc054a417d316e3adac90eafb7e1932802f28705" - integrity sha512-EVo605FhWLygH8a64TjgpjyHYOihkxECwX1bHHr8tETJKWEiWS2YJjPbvsX2jFjnjTNEgBCmk9mLjKG1Mf11cw== - -node-sass@~4.14.1: - version "4.14.1" - resolved "https://registry.yarnpkg.com/node-sass/-/node-sass-4.14.1.tgz#99c87ec2efb7047ed638fb4c9db7f3a42e2217b5" - integrity sha512-sjCuOlvGyCJS40R8BscF5vhVlQjNN069NtQ1gSxyK1u9iqvn6tf7O1R4GNowVZfiZUCRt5MmMs1xd+4V/7Yr0g== - dependencies: - async-foreach "^0.1.3" - chalk "^1.1.1" - cross-spawn "^3.0.0" - gaze "^1.0.0" - get-stdin "^4.0.1" - glob "^7.0.3" - in-publish "^2.0.0" - lodash "^4.17.15" - meow "^3.7.0" - mkdirp "^0.5.1" - nan "^2.13.2" - node-gyp "^3.8.0" - npmlog "^4.0.0" - request "^2.88.0" - sass-graph "2.2.5" - stdout-stream "^1.4.0" - "true-case-path" "^1.0.2" - -"nopt@2 || 3": - version "3.0.6" - resolved "https://registry.yarnpkg.com/nopt/-/nopt-3.0.6.tgz#c6465dbf08abcd4db359317f79ac68a646b28ff9" - integrity sha1-xkZdvwirzU2zWTF/eaxopkayj/k= - dependencies: - abbrev "1" - -normalize-package-data@^2.3.2, normalize-package-data@^2.3.4: - version "2.5.0" - resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8" - integrity sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA== - dependencies: - hosted-git-info "^2.1.4" - resolve "^1.10.0" - semver "2 || 3 || 4 || 5" - validate-npm-package-license "^3.0.1" - -normalize-path@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9" - integrity sha1-GrKLVW4Zg2Oowab35vogE3/mrtk= - dependencies: - remove-trailing-separator "^1.0.1" - -normalize-path@^3.0.0, normalize-path@~3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" - integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== - -normalize-url@1.9.1: - version "1.9.1" - resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-1.9.1.tgz#2cc0d66b31ea23036458436e3620d85954c66c3c" - integrity sha1-LMDWazHqIwNkWENuNiDYWVTGbDw= - dependencies: - object-assign "^4.0.1" - prepend-http "^1.0.0" - query-string "^4.1.0" - sort-keys "^1.0.0" - -npm-install-webpack-plugin@4.0.5: - version "4.0.5" - resolved "https://registry.yarnpkg.com/npm-install-webpack-plugin/-/npm-install-webpack-plugin-4.0.5.tgz#0af5bbe45eaf2648e2cd51fd8b091e0b652fef1b" - integrity sha1-CvW75F6vJkjizVH9iwkeC2Uv7xs= - dependencies: - cross-spawn "^5.0.1" - json5 "^0.5.1" - memory-fs "^0.4.1" - resolve "^1.2.0" - -npm-run-path@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-4.0.1.tgz#b7ecd1e5ed53da8e37a55e1c2269e0b97ed748ea" - integrity sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw== - dependencies: - path-key "^3.0.0" - -"npmlog@0 || 1 || 2 || 3 || 4", npmlog@^4.0.0: - version "4.1.2" - resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.1.2.tgz#08a7f2a8bf734604779a9efa4ad5cc717abb954b" - integrity sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg== - dependencies: - are-we-there-yet "~1.1.2" - console-control-strings "~1.1.0" - gauge "~2.7.3" - set-blocking "~2.0.0" - -number-is-nan@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" - integrity sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0= - -oauth-sign@~0.9.0: - version "0.9.0" - resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455" - integrity sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ== - -object-assign@^4.0.1, object-assign@^4.1.0, object-assign@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" - integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM= - -object-copy@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/object-copy/-/object-copy-0.1.0.tgz#7e7d858b781bd7c991a41ba975ed3812754e998c" - integrity sha1-fn2Fi3gb18mRpBupde04EnVOmYw= - dependencies: - copy-descriptor "^0.1.0" - define-property "^0.2.5" - kind-of "^3.0.3" - -object-inspect@^1.7.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.7.0.tgz#f4f6bd181ad77f006b5ece60bd0b6f398ff74a67" - integrity sha512-a7pEHdh1xKIAgTySUGgLMx/xwDZskN1Ud6egYYN3EdRW4ZMPNEDUTF+hwy2LUC+Bl+SyLXANnwz/jyh/qutKUw== - -object-keys@^1.0.11, object-keys@^1.0.12, object-keys@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" - integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== - -object-visit@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/object-visit/-/object-visit-1.0.1.tgz#f79c4493af0c5377b59fe39d395e41042dd045bb" - integrity sha1-95xEk68MU3e1n+OdOV5BBC3QRbs= - dependencies: - isobject "^3.0.0" - -object.assign@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.0.tgz#968bf1100d7956bb3ca086f006f846b3bc4008da" - integrity sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w== - dependencies: - define-properties "^1.1.2" - function-bind "^1.1.1" - has-symbols "^1.0.0" - object-keys "^1.0.11" - -object.entries@^1.1.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/object.entries/-/object.entries-1.1.2.tgz#bc73f00acb6b6bb16c203434b10f9a7e797d3add" - integrity sha512-BQdB9qKmb/HyNdMNWVr7O3+z5MUIx3aiegEIJqjMBbBf0YT9RRxTJSim4mzFqtyr7PDAHigq0N9dO0m0tRakQA== - dependencies: - define-properties "^1.1.3" - es-abstract "^1.17.5" - has "^1.0.3" - -object.pick@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/object.pick/-/object.pick-1.3.0.tgz#87a10ac4c1694bd2e1cbf53591a66141fb5dd747" - integrity sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c= - dependencies: - isobject "^3.0.1" - -once@^1.3.0, once@^1.3.1, once@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" - integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= - dependencies: - wrappy "1" - -onetime@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.0.tgz#fff0f3c91617fe62bb50189636e99ac8a6df7be5" - integrity sha512-5NcSkPHhwTVFIQN+TUqXoS5+dlElHXdpAWu9I0HP20YOtIi+aZ0Ct82jdlILDxjLEAWwvm+qj1m6aEtsDVmm6Q== - dependencies: - mimic-fn "^2.1.0" - -os-browserify@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/os-browserify/-/os-browserify-0.3.0.tgz#854373c7f5c2315914fc9bfc6bd8238fdda1ec27" - integrity sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc= - -os-homedir@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3" - integrity sha1-/7xJiDNuDoM94MFox+8VISGqf7M= - -os-tmpdir@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" - integrity sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ= - -osenv@0: - version "0.1.5" - resolved "https://registry.yarnpkg.com/osenv/-/osenv-0.1.5.tgz#85cdfafaeb28e8677f416e287592b5f3f49ea410" - integrity sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g== - dependencies: - os-homedir "^1.0.0" - os-tmpdir "^1.0.0" - -p-finally@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-2.0.1.tgz#bd6fcaa9c559a096b680806f4d657b3f0f240561" - integrity sha512-vpm09aKwq6H9phqRQzecoDpD8TmVyGw70qmWlyq5onxY7tqyTTFVvxMykxQSQKILBSFlbXpypIw2T1Ml7+DDtw== - -p-limit@^1.1.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-1.3.0.tgz#b86bd5f0c25690911c7590fcbfc2010d54b3ccb8" - integrity sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q== - dependencies: - p-try "^1.0.0" - -p-limit@^2.0.0, p-limit@^2.2.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" - integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== - dependencies: - p-try "^2.0.0" - -p-limit@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.0.2.tgz#1664e010af3cadc681baafd3e2a437be7b0fb5fe" - integrity sha512-iwqZSOoWIW+Ew4kAGUlN16J4M7OB3ysMLSZtnhmqx7njIHFPlxWBX8xo3lVTyFVq6mI/lL9qt2IsN1sHwaxJkg== - dependencies: - p-try "^2.0.0" - -p-locate@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43" - integrity sha1-IKAQOyIqcMj9OcwuWAaA893l7EM= - dependencies: - p-limit "^1.1.0" - -p-locate@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-3.0.0.tgz#322d69a05c0264b25997d9f40cd8a891ab0064a4" - integrity sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ== - dependencies: - p-limit "^2.0.0" - -p-locate@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07" - integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A== - dependencies: - p-limit "^2.2.0" - -p-map@^1.1.1: - version "1.2.0" - resolved "https://registry.yarnpkg.com/p-map/-/p-map-1.2.0.tgz#e4e94f311eabbc8633a1e79908165fca26241b6b" - integrity sha512-r6zKACMNhjPJMTl8KcFH4li//gkrXWfbD6feV8l6doRHlzljFWGJ2AP6iKaCJXyZmAUMOPtvbW7EXkbWO/pLEA== - -p-map@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/p-map/-/p-map-4.0.0.tgz#bb2f95a5eda2ec168ec9274e06a747c3e2904d2b" - integrity sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ== - dependencies: - aggregate-error "^3.0.0" - -p-try@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/p-try/-/p-try-1.0.0.tgz#cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3" - integrity sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M= - -p-try@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" - integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== - -pako@~1.0.5: - version "1.0.11" - resolved "https://registry.yarnpkg.com/pako/-/pako-1.0.11.tgz#6c9599d340d54dfd3946380252a35705a6b992bf" - integrity sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw== - -parallel-transform@^1.1.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/parallel-transform/-/parallel-transform-1.2.0.tgz#9049ca37d6cb2182c3b1d2c720be94d14a5814fc" - integrity sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg== - dependencies: - cyclist "^1.0.1" - inherits "^2.0.3" - readable-stream "^2.1.5" - -parse-asn1@^5.0.0, parse-asn1@^5.1.5: - version "5.1.6" - resolved "https://registry.yarnpkg.com/parse-asn1/-/parse-asn1-5.1.6.tgz#385080a3ec13cb62a62d39409cb3e88844cdaed4" - integrity sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw== - dependencies: - asn1.js "^5.2.0" - browserify-aes "^1.0.0" - evp_bytestokey "^1.0.0" - pbkdf2 "^3.0.3" - safe-buffer "^5.1.1" - -parse-json@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-2.2.0.tgz#f480f40434ef80741f8469099f8dea18f55a4dc9" - integrity sha1-9ID0BDTvgHQfhGkJn43qGPVaTck= - dependencies: - error-ex "^1.2.0" - -pascalcase@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14" - integrity sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ= - -path-browserify@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/path-browserify/-/path-browserify-0.0.1.tgz#e6c4ddd7ed3aa27c68a20cc4e50e1a4ee83bbc4a" - integrity sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ== - -path-dirname@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/path-dirname/-/path-dirname-1.0.2.tgz#cc33d24d525e099a5388c0336c6e32b9160609e0" - integrity sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA= - -path-exists@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-2.1.0.tgz#0feb6c64f0fc518d9a754dd5efb62c7022761f4b" - integrity sha1-D+tsZPD8UY2adU3V77YscCJ2H0s= - dependencies: - pinkie-promise "^2.0.0" - -path-exists@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" - integrity sha1-zg6+ql94yxiSXqfYENe1mwEP1RU= - -path-exists@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" - integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== - -path-is-absolute@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" - integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= - -path-is-inside@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/path-is-inside/-/path-is-inside-1.0.2.tgz#365417dede44430d1c11af61027facf074bdfc53" - integrity sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM= - -path-key@^3.0.0, path-key@^3.1.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" - integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== - -path-parse@^1.0.6: - version "1.0.6" - resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.6.tgz#d62dbb5679405d72c4737ec58600e9ddcf06d24c" - integrity sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw== - -path-type@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/path-type/-/path-type-1.1.0.tgz#59c44f7ee491da704da415da5a4070ba4f8fe441" - integrity sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE= - dependencies: - graceful-fs "^4.1.2" - pify "^2.0.0" - pinkie-promise "^2.0.0" - -path-type@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" - integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== - -pbkdf2@^3.0.3: - version "3.1.1" - resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.1.1.tgz#cb8724b0fada984596856d1a6ebafd3584654b94" - integrity sha512-4Ejy1OPxi9f2tt1rRV7Go7zmfDQ+ZectEQz3VGUQhgq62HtIRPDyG/JtnwIxs6x3uNMwo2V7q1fMvKjb+Tnpqg== - dependencies: - create-hash "^1.1.2" - create-hmac "^1.1.4" - ripemd160 "^2.0.1" - safe-buffer "^5.0.1" - sha.js "^2.4.8" - -performance-now@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" - integrity sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns= - -picomatch@^2.0.4, picomatch@^2.0.5, picomatch@^2.2.1: - version "2.2.2" - resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.2.2.tgz#21f333e9b6b8eaff02468f5146ea406d345f4dad" - integrity sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg== - -pify@^2.0.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" - integrity sha1-7RQaasBDqEnqWISY59yosVMw6Qw= - -pify@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176" - integrity sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY= - -pify@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/pify/-/pify-4.0.1.tgz#4b2cd25c50d598735c50292224fd8c6df41e3231" - integrity sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g== - -pinkie-promise@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa" - integrity sha1-ITXW36ejWMBprJsXh3YogihFD/o= - dependencies: - pinkie "^2.0.0" - -pinkie@^2.0.0: - version "2.0.4" - resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870" - integrity sha1-clVrgM+g1IqXToDnckjoDtT3+HA= - -pkg-dir@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-3.0.0.tgz#2749020f239ed990881b1f71210d51eb6523bea3" - integrity sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw== - dependencies: - find-up "^3.0.0" - -pkg-dir@^4.1.0, pkg-dir@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-4.2.0.tgz#f099133df7ede422e81d1d8448270eeb3e4261f3" - integrity sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ== - dependencies: - find-up "^4.0.0" - -pkg-up@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/pkg-up/-/pkg-up-2.0.0.tgz#c819ac728059a461cab1c3889a2be3c49a004d7f" - integrity sha1-yBmscoBZpGHKscOImivjxJoATX8= - dependencies: - find-up "^2.1.0" - -popper.js@^1.16.1: - version "1.16.1" - resolved "https://registry.yarnpkg.com/popper.js/-/popper.js-1.16.1.tgz#2a223cb3dc7b6213d740e40372be40de43e65b1b" - integrity sha512-Wb4p1J4zyFTbM+u6WuO4XstYx4Ky9Cewe4DWrel7B0w6VVICvPwdOpotjzcf6eD8TsckVnIMNONQyPIUFOUbCQ== - -portfinder@^1.0.17: - version "1.0.26" - resolved "https://registry.yarnpkg.com/portfinder/-/portfinder-1.0.26.tgz#475658d56ca30bed72ac7f1378ed350bd1b64e70" - integrity sha512-Xi7mKxJHHMI3rIUrnm/jjUgwhbYMkp/XKEcZX3aG4BrumLpq3nmoQMX+ClYnDZnZ/New7IatC1no5RX0zo1vXQ== - dependencies: - async "^2.6.2" - debug "^3.1.1" - mkdirp "^0.5.1" - -posix-character-classes@^0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab" - integrity sha1-AerA/jta9xoqbAL+q7jB/vfgDqs= - -postcss-modules-extract-imports@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/postcss-modules-extract-imports/-/postcss-modules-extract-imports-2.0.0.tgz#818719a1ae1da325f9832446b01136eeb493cd7e" - integrity sha512-LaYLDNS4SG8Q5WAWqIJgdHPJrDDr/Lv775rMBFUbgjTz6j34lUznACHcdRWroPvXANP2Vj7yNK57vp9eFqzLWQ== - dependencies: - postcss "^7.0.5" - -postcss-modules-local-by-default@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/postcss-modules-local-by-default/-/postcss-modules-local-by-default-3.0.2.tgz#e8a6561be914aaf3c052876377524ca90dbb7915" - integrity sha512-jM/V8eqM4oJ/22j0gx4jrp63GSvDH6v86OqyTHHUvk4/k1vceipZsaymiZ5PvocqZOl5SFHiFJqjs3la0wnfIQ== - dependencies: - icss-utils "^4.1.1" - postcss "^7.0.16" - postcss-selector-parser "^6.0.2" - postcss-value-parser "^4.0.0" - -postcss-modules-scope@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/postcss-modules-scope/-/postcss-modules-scope-2.2.0.tgz#385cae013cc7743f5a7d7602d1073a89eaae62ee" - integrity sha512-YyEgsTMRpNd+HmyC7H/mh3y+MeFWevy7V1evVhJWewmMbjDHIbZbOXICC2y+m1xI1UVfIT1HMW/O04Hxyu9oXQ== - dependencies: - postcss "^7.0.6" - postcss-selector-parser "^6.0.0" - -postcss-modules-values@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/postcss-modules-values/-/postcss-modules-values-3.0.0.tgz#5b5000d6ebae29b4255301b4a3a54574423e7f10" - integrity sha512-1//E5jCBrZ9DmRX+zCtmQtRSV6PV42Ix7Bzj9GbwJceduuf7IqP8MgeTXuRDHOWj2m0VzZD5+roFWDuU8RQjcg== - dependencies: - icss-utils "^4.0.0" - postcss "^7.0.6" - -postcss-selector-parser@^6.0.0, postcss-selector-parser@^6.0.2: - version "6.0.2" - resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.2.tgz#934cf799d016c83411859e09dcecade01286ec5c" - integrity sha512-36P2QR59jDTOAiIkqEprfJDsoNrvwFei3eCqKd1Y0tUsBimsq39BLp7RD+JWny3WgB1zGhJX8XVePwm9k4wdBg== - dependencies: - cssesc "^3.0.0" - indexes-of "^1.0.1" - uniq "^1.0.1" - -postcss-value-parser@^4.0.0, postcss-value-parser@^4.0.3: - version "4.1.0" - resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz#443f6a20ced6481a2bda4fa8532a6e55d789a2cb" - integrity sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ== - -postcss@^7.0.14, postcss@^7.0.16, postcss@^7.0.27, postcss@^7.0.5, postcss@^7.0.6: - version "7.0.30" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.30.tgz#cc9378beffe46a02cbc4506a0477d05fcea9a8e2" - integrity sha512-nu/0m+NtIzoubO+xdAlwZl/u5S5vi/y6BCsoL8D+8IxsD3XvBS8X4YEADNIVXKVuQvduiucnRv+vPIqj56EGMQ== - dependencies: - chalk "^2.4.2" - source-map "^0.6.1" - supports-color "^6.1.0" - -prepend-http@^1.0.0: - version "1.0.4" - resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-1.0.4.tgz#d4f4562b0ce3696e41ac52d0e002e57a635dc6dc" - integrity sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw= - -private@^0.1.8: - version "0.1.8" - resolved "https://registry.yarnpkg.com/private/-/private-0.1.8.tgz#2381edb3689f7a53d653190060fcf822d2f368ff" - integrity sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg== - -process-nextick-args@~2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" - integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== - -process@^0.11.10: - version "0.11.10" - resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182" - integrity sha1-czIwDoQBYb2j5podHZGn1LwW8YI= - -promise-inflight@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/promise-inflight/-/promise-inflight-1.0.1.tgz#98472870bf228132fcbdd868129bad12c3c029e3" - integrity sha1-mEcocL8igTL8vdhoEputEsPAKeM= - -prr@~1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/prr/-/prr-1.0.1.tgz#d3fc114ba06995a45ec6893f484ceb1d78f5f476" - integrity sha1-0/wRS6BplaRexok/SEzrHXj19HY= - -pseudomap@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3" - integrity sha1-8FKijacOYYkX7wqKw0wa5aaChrM= - -psl@^1.1.28: - version "1.8.0" - resolved "https://registry.yarnpkg.com/psl/-/psl-1.8.0.tgz#9326f8bcfb013adcc005fdff056acce020e51c24" - integrity sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ== - -public-encrypt@^4.0.0: - version "4.0.3" - resolved "https://registry.yarnpkg.com/public-encrypt/-/public-encrypt-4.0.3.tgz#4fcc9d77a07e48ba7527e7cbe0de33d0701331e0" - integrity sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q== - dependencies: - bn.js "^4.1.0" - browserify-rsa "^4.0.0" - create-hash "^1.1.0" - parse-asn1 "^5.0.0" - randombytes "^2.0.1" - safe-buffer "^5.1.2" - -pump@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/pump/-/pump-2.0.1.tgz#12399add6e4cf7526d973cbc8b5ce2e2908b3909" - integrity sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA== - dependencies: - end-of-stream "^1.1.0" - once "^1.3.1" - -pump@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64" - integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww== - dependencies: - end-of-stream "^1.1.0" - once "^1.3.1" - -pumpify@^1.3.3: - version "1.5.1" - resolved "https://registry.yarnpkg.com/pumpify/-/pumpify-1.5.1.tgz#36513be246ab27570b1a374a5ce278bfd74370ce" - integrity sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ== - dependencies: - duplexify "^3.6.0" - inherits "^2.0.3" - pump "^2.0.0" - -punycode@1.3.2: - version "1.3.2" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.3.2.tgz#9653a036fb7c1ee42342f2325cceefea3926c48d" - integrity sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0= - -punycode@^1.2.4: - version "1.4.1" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" - integrity sha1-wNWmOycYgArY4esPpSachN1BhF4= - -punycode@^2.1.0, punycode@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" - integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== - -qs@^6.4.0: - version "6.9.4" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.9.4.tgz#9090b290d1f91728d3c22e54843ca44aea5ab687" - integrity sha512-A1kFqHekCTM7cz0udomYUoYNWjBebHm/5wzU/XqrBRBNWectVH0QIiN+NEcZ0Dte5hvzHwbr8+XQmguPhJ6WdQ== - -qs@~6.5.2: - version "6.5.2" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36" - integrity sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA== - -query-string@^4.1.0: - version "4.3.4" - resolved "https://registry.yarnpkg.com/query-string/-/query-string-4.3.4.tgz#bbb693b9ca915c232515b228b1a02b609043dbeb" - integrity sha1-u7aTucqRXCMlFbIosaArYJBD2+s= - dependencies: - object-assign "^4.1.0" - strict-uri-encode "^1.0.0" - -querystring-es3@^0.2.0: - version "0.2.1" - resolved "https://registry.yarnpkg.com/querystring-es3/-/querystring-es3-0.2.1.tgz#9ec61f79049875707d69414596fd907a4d711e73" - integrity sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM= - -querystring@0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.0.tgz#b209849203bb25df820da756e747005878521620" - integrity sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA= - -randombytes@^2.0.0, randombytes@^2.0.1, randombytes@^2.0.5, randombytes@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" - integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ== - dependencies: - safe-buffer "^5.1.0" - -randomfill@^1.0.3: - version "1.0.4" - resolved "https://registry.yarnpkg.com/randomfill/-/randomfill-1.0.4.tgz#c92196fc86ab42be983f1bf31778224931d61458" - integrity sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw== - dependencies: - randombytes "^2.0.5" - safe-buffer "^5.1.0" - -raw-body@~1.1.0: - version "1.1.7" - resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-1.1.7.tgz#1d027c2bfa116acc6623bca8f00016572a87d425" - integrity sha1-HQJ8K/oRasxmI7yo8AAWVyqH1CU= - dependencies: - bytes "1" - string_decoder "0.10" - -read-pkg-up@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-1.0.1.tgz#9d63c13276c065918d57f002a57f40a1b643fb02" - integrity sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI= - dependencies: - find-up "^1.0.0" - read-pkg "^1.0.0" - -read-pkg@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-1.1.0.tgz#f5ffaa5ecd29cb31c0474bca7d756b6bb29e3f28" - integrity sha1-9f+qXs0pyzHAR0vKfXVra7KePyg= - dependencies: - load-json-file "^1.0.0" - normalize-package-data "^2.3.2" - path-type "^1.0.0" - -"readable-stream@1 || 2", readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.6, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.3.3, readable-stream@^2.3.6, readable-stream@~2.3.6: - version "2.3.7" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.7.tgz#1eca1cf711aef814c04f62252a36a62f6cb23b57" - integrity sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw== - dependencies: - core-util-is "~1.0.0" - inherits "~2.0.3" - isarray "~1.0.0" - process-nextick-args "~2.0.0" - safe-buffer "~5.1.1" - string_decoder "~1.1.1" - util-deprecate "~1.0.1" - -readable-stream@^3.6.0: - version "3.6.0" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198" - integrity sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA== - dependencies: - inherits "^2.0.3" - string_decoder "^1.1.1" - util-deprecate "^1.0.1" - -readdirp@^2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-2.2.1.tgz#0e87622a3325aa33e892285caf8b4e846529a525" - integrity sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ== - dependencies: - graceful-fs "^4.1.11" - micromatch "^3.1.10" - readable-stream "^2.0.2" - -readdirp@~3.4.0: - version "3.4.0" - resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.4.0.tgz#9fdccdf9e9155805449221ac645e8303ab5b9ada" - integrity sha512-0xe001vZBnJEK+uKcj8qOhyAKPzIT+gStxWr3LCB0DwcXR5NZJ3IaC+yGnHCYzB/S7ov3m3EEbZI2zeNvX+hGQ== - dependencies: - picomatch "^2.2.1" - -rechoir@^0.7.0: - version "0.7.0" - resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.7.0.tgz#32650fd52c21ab252aa5d65b19310441c7e03aca" - integrity sha512-ADsDEH2bvbjltXEP+hTIAmeFekTFK0V2BTxMkok6qILyAJEXV0AFfoWcAq4yfll5VdIMd/RVXq0lR+wQi5ZU3Q== - dependencies: - resolve "^1.9.0" - -redent@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/redent/-/redent-1.0.0.tgz#cf916ab1fd5f1f16dfb20822dd6ec7f730c2afde" - integrity sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94= - dependencies: - indent-string "^2.1.0" - strip-indent "^1.0.1" - -reduce-flatten@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/reduce-flatten/-/reduce-flatten-2.0.0.tgz#734fd84e65f375d7ca4465c69798c25c9d10ae27" - integrity sha512-EJ4UNY/U1t2P/2k6oqotuX2Cc3T6nxJwsM0N0asT7dhrtH1ltUxDn4NalSYmPE2rCkVpcf/X6R0wDwcFpzhd4w== - -regenerate-unicode-properties@^8.2.0: - version "8.2.0" - resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-8.2.0.tgz#e5de7111d655e7ba60c057dbe9ff37c87e65cdec" - integrity sha512-F9DjY1vKLo/tPePDycuH3dn9H1OTPIkVD9Kz4LODu+F2C75mgjAJ7x/gwy6ZcSNRAAkhNlJSOHRe8k3p+K9WhA== - dependencies: - regenerate "^1.4.0" - -regenerate@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.0.tgz#4a856ec4b56e4077c557589cae85e7a4c8869a11" - integrity sha512-1G6jJVDWrt0rK99kBjvEtziZNCICAuvIPkSiUFIQxVP06RCVpq3dmDo2oi6ABpYaDYaTRr67BEhL8r1wgEZZKg== - -regenerator-runtime@^0.13.4: - version "0.13.5" - resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.5.tgz#d878a1d094b4306d10b9096484b33ebd55e26697" - integrity sha512-ZS5w8CpKFinUzOwW3c83oPeVXoNsrLsaCoLtJvAClH135j/R77RuymhiSErhm2lKcwSCIpmvIWSbDkIfAqKQlA== - -regenerator-transform@^0.14.2: - version "0.14.4" - resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.14.4.tgz#5266857896518d1616a78a0479337a30ea974cc7" - integrity sha512-EaJaKPBI9GvKpvUz2mz4fhx7WPgvwRLY9v3hlNHWmAuJHI13T4nwKnNvm5RWJzEdnI5g5UwtOww+S8IdoUC2bw== - dependencies: - "@babel/runtime" "^7.8.4" - private "^0.1.8" - -regex-not@^1.0.0, regex-not@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/regex-not/-/regex-not-1.0.2.tgz#1f4ece27e00b0b65e0247a6810e6a85d83a5752c" - integrity sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A== - dependencies: - extend-shallow "^3.0.2" - safe-regex "^1.1.0" - -regexpu-core@^4.7.0: - version "4.7.0" - resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-4.7.0.tgz#fcbf458c50431b0bb7b45d6967b8192d91f3d938" - integrity sha512-TQ4KXRnIn6tz6tjnrXEkD/sshygKH/j5KzK86X8MkeHyZ8qst/LZ89j3X4/8HEIfHANTFIP/AbXakeRhWIl5YQ== - dependencies: - regenerate "^1.4.0" - regenerate-unicode-properties "^8.2.0" - regjsgen "^0.5.1" - regjsparser "^0.6.4" - unicode-match-property-ecmascript "^1.0.4" - unicode-match-property-value-ecmascript "^1.2.0" - -regjsgen@^0.5.1: - version "0.5.2" - resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.5.2.tgz#92ff295fb1deecbf6ecdab2543d207e91aa33733" - integrity sha512-OFFT3MfrH90xIW8OOSyUrk6QHD5E9JOTeGodiJeBS3J6IwlgzJMNE/1bZklWz5oTg+9dCMyEetclvCVXOPoN3A== - -regjsparser@^0.6.4: - version "0.6.4" - resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.6.4.tgz#a769f8684308401a66e9b529d2436ff4d0666272" - integrity sha512-64O87/dPDgfk8/RQqC4gkZoGyyWFIEUTTh80CU6CWuK5vkCGyekIx+oKcEIYtP/RAxSQltCZHCNu/mdd7fqlJw== - dependencies: - jsesc "~0.5.0" - -remove-trailing-separator@^1.0.1: - version "1.1.0" - resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef" - integrity sha1-wkvOKig62tW8P1jg1IJJuSN52O8= - -repeat-element@^1.1.2: - version "1.1.3" - resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.3.tgz#782e0d825c0c5a3bb39731f84efee6b742e6b1ce" - integrity sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g== - -repeat-string@^1.6.1: - version "1.6.1" - resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" - integrity sha1-jcrkcOHIirwtYA//Sndihtp15jc= - -repeating@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/repeating/-/repeating-2.0.1.tgz#5214c53a926d3552707527fbab415dbc08d06dda" - integrity sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo= - dependencies: - is-finite "^1.0.0" - -request@^2.87.0, request@^2.88.0: - version "2.88.2" - resolved "https://registry.yarnpkg.com/request/-/request-2.88.2.tgz#d73c918731cb5a87da047e207234146f664d12b3" - integrity sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw== - dependencies: - aws-sign2 "~0.7.0" - aws4 "^1.8.0" - caseless "~0.12.0" - combined-stream "~1.0.6" - extend "~3.0.2" - forever-agent "~0.6.1" - form-data "~2.3.2" - har-validator "~5.1.3" - http-signature "~1.2.0" - is-typedarray "~1.0.0" - isstream "~0.1.2" - json-stringify-safe "~5.0.1" - mime-types "~2.1.19" - oauth-sign "~0.9.0" - performance-now "^2.1.0" - qs "~6.5.2" - safe-buffer "^5.1.2" - tough-cookie "~2.5.0" - tunnel-agent "^0.6.0" - uuid "^3.3.2" - -require-directory@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" - integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I= - -require-main-filename@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-2.0.0.tgz#d0b329ecc7cc0f61649f62215be69af54aa8989b" - integrity sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg== - -resolve-cwd@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-3.0.0.tgz#0f0075f1bb2544766cf73ba6a6e2adfebcb13f2d" - integrity sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg== - dependencies: - resolve-from "^5.0.0" - -resolve-from@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69" - integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== - -resolve-url@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" - integrity sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo= - -resolve@^1.10.0, resolve@^1.2.0, resolve@^1.3.2, resolve@^1.9.0: - version "1.17.0" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.17.0.tgz#b25941b54968231cc2d1bb76a79cb7f2c0bf8444" - integrity sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w== - dependencies: - path-parse "^1.0.6" - -ret@~0.1.10: - version "0.1.15" - resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc" - integrity sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg== - -reusify@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" - integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== - -rimraf@2, rimraf@^2.2.8, rimraf@^2.5.4, rimraf@^2.6.3: - version "2.7.1" - resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec" - integrity sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w== - dependencies: - glob "^7.1.3" - -rimraf@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a" - integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== - dependencies: - glob "^7.1.3" - -ripemd160@^2.0.0, ripemd160@^2.0.1: - version "2.0.2" - resolved "https://registry.yarnpkg.com/ripemd160/-/ripemd160-2.0.2.tgz#a1c1a6f624751577ba5d07914cbc92850585890c" - integrity sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA== - dependencies: - hash-base "^3.0.0" - inherits "^2.0.1" - -run-parallel@^1.1.9: - version "1.1.9" - resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.1.9.tgz#c9dd3a7cf9f4b2c4b6244e173a6ed866e61dd679" - integrity sha512-DEqnSRTDw/Tc3FXf49zedI638Z9onwUotBMiUFKmrO2sdFKIbXamXGQ3Axd4qgphxKB4kw/qP1w5kTxnfU1B9Q== - -run-queue@^1.0.0, run-queue@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/run-queue/-/run-queue-1.0.3.tgz#e848396f057d223f24386924618e25694161ec47" - integrity sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec= - dependencies: - aproba "^1.1.1" - -safe-buffer@>=5.1.0, safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@^5.2.0, safe-buffer@~5.2.0: - version "5.2.1" - resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" - integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== - -safe-buffer@~5.1.0, safe-buffer@~5.1.1: - version "5.1.2" - resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" - integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== - -safe-json-parse@~1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/safe-json-parse/-/safe-json-parse-1.0.1.tgz#3e76723e38dfdda13c9b1d29a1e07ffee4b30b57" - integrity sha1-PnZyPjjf3aE8mx0poeB//uSzC1c= - -safe-regex@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/safe-regex/-/safe-regex-1.1.0.tgz#40a3669f3b077d1e943d44629e157dd48023bf2e" - integrity sha1-QKNmnzsHfR6UPURinhV91IAjvy4= - dependencies: - ret "~0.1.10" - -safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@~2.1.0: - version "2.1.2" - resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" - integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== - -sass-graph@2.2.5: - version "2.2.5" - resolved "https://registry.yarnpkg.com/sass-graph/-/sass-graph-2.2.5.tgz#a981c87446b8319d96dce0671e487879bd24c2e8" - integrity sha512-VFWDAHOe6mRuT4mZRd4eKE+d8Uedrk6Xnh7Sh9b4NGufQLQjOrvf/MQoOdx+0s92L89FeyUUNfU597j/3uNpag== - dependencies: - glob "^7.0.0" - lodash "^4.0.0" - scss-tokenizer "^0.2.3" - yargs "^13.3.2" - -sass-loader@~8.0.2: - version "8.0.2" - resolved "https://registry.yarnpkg.com/sass-loader/-/sass-loader-8.0.2.tgz#debecd8c3ce243c76454f2e8290482150380090d" - integrity sha512-7o4dbSK8/Ol2KflEmSco4jTjQoV988bM82P9CZdmo9hR3RLnvNc0ufMNdMrB0caq38JQ/FgF4/7RcbcfKzxoFQ== - dependencies: - clone-deep "^4.0.1" - loader-utils "^1.2.3" - neo-async "^2.6.1" - schema-utils "^2.6.1" - semver "^6.3.0" - -schema-utils@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-1.0.0.tgz#0b79a93204d7b600d4b2850d1f66c2a34951c770" - integrity sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g== - dependencies: - ajv "^6.1.0" - ajv-errors "^1.0.0" - ajv-keywords "^3.1.0" - -schema-utils@^2.6.1, schema-utils@^2.6.5, schema-utils@^2.6.6: - version "2.6.6" - resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-2.6.6.tgz#299fe6bd4a3365dc23d99fd446caff8f1d6c330c" - integrity sha512-wHutF/WPSbIi9x6ctjGGk2Hvl0VOz5l3EKEuKbjPlB30mKZUzb9A5k9yEXRX3pwyqVLPvpfZZEllaFq/M718hA== - dependencies: - ajv "^6.12.0" - ajv-keywords "^3.4.1" - -schema-utils@^2.7.1: - version "2.7.1" - resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-2.7.1.tgz#1ca4f32d1b24c590c203b8e7a50bf0ea4cd394d7" - integrity sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg== - dependencies: - "@types/json-schema" "^7.0.5" - ajv "^6.12.4" - ajv-keywords "^3.5.2" - -scss-tokenizer@^0.2.3: - version "0.2.3" - resolved "https://registry.yarnpkg.com/scss-tokenizer/-/scss-tokenizer-0.2.3.tgz#8eb06db9a9723333824d3f5530641149847ce5d1" - integrity sha1-jrBtualyMzOCTT9VMGQRSYR85dE= - dependencies: - js-base64 "^2.1.8" - source-map "^0.4.2" - -"semver@2 || 3 || 4 || 5", semver@^5.4.1, semver@^5.5.0, semver@^5.6.0: - version "5.7.1" - resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" - integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== - -semver@7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.0.0.tgz#5f3ca35761e47e05b206c6daff2cf814f0316b8e" - integrity sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A== - -semver@^6.0.0, semver@^6.3.0: - version "6.3.0" - resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" - integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== - -semver@~5.3.0: - version "5.3.0" - resolved "https://registry.yarnpkg.com/semver/-/semver-5.3.0.tgz#9b2ce5d3de02d17c6012ad326aa6b4d0cf54f94f" - integrity sha1-myzl094C0XxgEq0yaqa00M9U+U8= - -serialize-javascript@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-4.0.0.tgz#b525e1238489a5ecfc42afacc3fe99e666f4b1aa" - integrity sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw== - dependencies: - randombytes "^2.1.0" - -set-blocking@^2.0.0, set-blocking@~2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" - integrity sha1-BF+XgtARrppoA93TgrJDkrPYkPc= - -set-value@^2.0.0, set-value@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/set-value/-/set-value-2.0.1.tgz#a18d40530e6f07de4228c7defe4227af8cad005b" - integrity sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw== - dependencies: - extend-shallow "^2.0.1" - is-extendable "^0.1.1" - is-plain-object "^2.0.3" - split-string "^3.0.1" - -setimmediate@^1.0.4: - version "1.0.5" - resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285" - integrity sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU= - -sha.js@^2.4.0, sha.js@^2.4.8: - version "2.4.11" - resolved "https://registry.yarnpkg.com/sha.js/-/sha.js-2.4.11.tgz#37a5cf0b81ecbc6943de109ba2960d1b26584ae7" - integrity sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ== - dependencies: - inherits "^2.0.1" - safe-buffer "^5.0.1" - -shallow-clone@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/shallow-clone/-/shallow-clone-3.0.1.tgz#8f2981ad92531f55035b01fb230769a40e02efa3" - integrity sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA== - dependencies: - kind-of "^6.0.2" - -shebang-command@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" - integrity sha1-RKrGW2lbAzmJaMOfNj/uXer98eo= - dependencies: - shebang-regex "^1.0.0" - -shebang-command@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" - integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== - dependencies: - shebang-regex "^3.0.0" - -shebang-regex@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" - integrity sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM= - -shebang-regex@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" - integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== - -signal-exit@^3.0.0, signal-exit@^3.0.2: - version "3.0.3" - resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.3.tgz#a1410c2edd8f077b08b4e253c8eacfcaf057461c" - integrity sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA== - -slash@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" - integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== - -snapdragon-node@^2.0.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b" - integrity sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw== - dependencies: - define-property "^1.0.0" - isobject "^3.0.0" - snapdragon-util "^3.0.1" - -snapdragon-util@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/snapdragon-util/-/snapdragon-util-3.0.1.tgz#f956479486f2acd79700693f6f7b805e45ab56e2" - integrity sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ== - dependencies: - kind-of "^3.2.0" - -snapdragon@^0.8.1: - version "0.8.2" - resolved "https://registry.yarnpkg.com/snapdragon/-/snapdragon-0.8.2.tgz#64922e7c565b0e14204ba1aa7d6964278d25182d" - integrity sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg== - dependencies: - base "^0.11.1" - debug "^2.2.0" - define-property "^0.2.5" - extend-shallow "^2.0.1" - map-cache "^0.2.2" - source-map "^0.5.6" - source-map-resolve "^0.5.0" - use "^3.1.0" - -sort-keys@^1.0.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/sort-keys/-/sort-keys-1.1.2.tgz#441b6d4d346798f1b4e49e8920adfba0e543f9ad" - integrity sha1-RBttTTRnmPG05J6JIK37oOVD+a0= - dependencies: - is-plain-obj "^1.0.0" - -source-list-map@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-2.0.1.tgz#3993bd873bfc48479cca9ea3a547835c7c154b34" - integrity sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw== - -source-map-resolve@^0.5.0: - version "0.5.3" - resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.3.tgz#190866bece7553e1f8f267a2ee82c606b5509a1a" - integrity sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw== - dependencies: - atob "^2.1.2" - decode-uri-component "^0.2.0" - resolve-url "^0.2.1" - source-map-url "^0.4.0" - urix "^0.1.0" - -source-map-support@~0.5.12: - version "0.5.19" - resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.19.tgz#a98b62f86dcaf4f67399648c085291ab9e8fed61" - integrity sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw== - dependencies: - buffer-from "^1.0.0" - source-map "^0.6.0" - -source-map-url@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.0.tgz#3e935d7ddd73631b97659956d55128e87b5084a3" - integrity sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM= - -source-map@^0.4.2: - version "0.4.4" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.4.4.tgz#eba4f5da9c0dc999de68032d8b4f76173652036b" - integrity sha1-66T12pwNyZneaAMti092FzZSA2s= - dependencies: - amdefine ">=0.0.4" - -source-map@^0.5.0, source-map@^0.5.6: - version "0.5.7" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" - integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= - -source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.1: - version "0.6.1" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" - integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== - -spdx-correct@^3.0.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.1.1.tgz#dece81ac9c1e6713e5f7d1b6f17d468fa53d89a9" - integrity sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w== - dependencies: - spdx-expression-parse "^3.0.0" - spdx-license-ids "^3.0.0" - -spdx-exceptions@^2.1.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz#3f28ce1a77a00372683eade4a433183527a2163d" - integrity sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A== - -spdx-expression-parse@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz#cf70f50482eefdc98e3ce0a6833e4a53ceeba679" - integrity sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q== - dependencies: - spdx-exceptions "^2.1.0" - spdx-license-ids "^3.0.0" - -spdx-license-ids@^3.0.0: - version "3.0.5" - resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.5.tgz#3694b5804567a458d3c8045842a6358632f62654" - integrity sha512-J+FWzZoynJEXGphVIS+XEh3kFSjZX/1i9gFBaWQcB+/tmpe2qUsSBABpcxqxnAxFdiUFEgAX1bjYGQvIZmoz9Q== - -split-string@^3.0.1, split-string@^3.0.2: - version "3.1.0" - resolved "https://registry.yarnpkg.com/split-string/-/split-string-3.1.0.tgz#7cb09dda3a86585705c64b39a6466038682e8fe2" - integrity sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw== - dependencies: - extend-shallow "^3.0.0" - -sshpk@^1.7.0: - version "1.16.1" - resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.16.1.tgz#fb661c0bef29b39db40769ee39fa70093d6f6877" - integrity sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg== - dependencies: - asn1 "~0.2.3" - assert-plus "^1.0.0" - bcrypt-pbkdf "^1.0.0" - dashdash "^1.12.0" - ecc-jsbn "~0.1.1" - getpass "^0.1.1" - jsbn "~0.1.0" - safer-buffer "^2.0.2" - tweetnacl "~0.14.0" - -ssri@^6.0.1: - version "6.0.2" - resolved "https://registry.yarnpkg.com/ssri/-/ssri-6.0.2.tgz#157939134f20464e7301ddba3e90ffa8f7728ac5" - integrity sha512-cepbSq/neFK7xB6A50KHN0xHDotYzq58wWCa5LeWqnPrHG8GzfEjO/4O8kpmcGW+oaxkvhEJCWgbgNk4/ZV93Q== - dependencies: - figgy-pudding "^3.5.1" - -ssri@^8.0.0: - version "8.0.0" - resolved "https://registry.yarnpkg.com/ssri/-/ssri-8.0.0.tgz#79ca74e21f8ceaeddfcb4b90143c458b8d988808" - integrity sha512-aq/pz989nxVYwn16Tsbj1TqFpD5LLrQxHf5zaHuieFV+R0Bbr4y8qUsOA45hXT/N4/9UNXTarBjnjVmjSOVaAA== - dependencies: - minipass "^3.1.1" - -static-extend@^0.1.1: - version "0.1.2" - resolved "https://registry.yarnpkg.com/static-extend/-/static-extend-0.1.2.tgz#60809c39cbff55337226fd5e0b520f341f1fb5c6" - integrity sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY= - dependencies: - define-property "^0.2.5" - object-copy "^0.1.0" - -stdout-stream@^1.4.0: - version "1.4.1" - resolved "https://registry.yarnpkg.com/stdout-stream/-/stdout-stream-1.4.1.tgz#5ac174cdd5cd726104aa0c0b2bd83815d8d535de" - integrity sha512-j4emi03KXqJWcIeF8eIXkjMFN1Cmb8gUlDYGeBALLPo5qdyTfA9bOtl8m33lRoC+vFMkP3gl0WsDr6+gzxbbTA== - dependencies: - readable-stream "^2.0.1" - -stream-browserify@^2.0.1: - version "2.0.2" - resolved "https://registry.yarnpkg.com/stream-browserify/-/stream-browserify-2.0.2.tgz#87521d38a44aa7ee91ce1cd2a47df0cb49dd660b" - integrity sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg== - dependencies: - inherits "~2.0.1" - readable-stream "^2.0.2" - -stream-each@^1.1.0: - version "1.2.3" - resolved "https://registry.yarnpkg.com/stream-each/-/stream-each-1.2.3.tgz#ebe27a0c389b04fbcc233642952e10731afa9bae" - integrity sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw== - dependencies: - end-of-stream "^1.1.0" - stream-shift "^1.0.0" - -stream-http@^2.7.2: - version "2.8.3" - resolved "https://registry.yarnpkg.com/stream-http/-/stream-http-2.8.3.tgz#b2d242469288a5a27ec4fe8933acf623de6514fc" - integrity sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw== - dependencies: - builtin-status-codes "^3.0.0" - inherits "^2.0.1" - readable-stream "^2.3.6" - to-arraybuffer "^1.0.0" - xtend "^4.0.0" - -stream-shift@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/stream-shift/-/stream-shift-1.0.1.tgz#d7088281559ab2778424279b0877da3c392d5a3d" - integrity sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ== - -strict-uri-encode@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz#279b225df1d582b1f54e65addd4352e18faa0713" - integrity sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM= - -string-template@~0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/string-template/-/string-template-0.2.1.tgz#42932e598a352d01fc22ec3367d9d84eec6c9add" - integrity sha1-QpMuWYo1LQH8IuwzZ9nYTuxsmt0= - -string-width@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3" - integrity sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M= - dependencies: - code-point-at "^1.0.0" - is-fullwidth-code-point "^1.0.0" - strip-ansi "^3.0.0" - -"string-width@^1.0.2 || 2", string-width@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e" - integrity sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw== - dependencies: - is-fullwidth-code-point "^2.0.0" - strip-ansi "^4.0.0" - -string-width@^3.0.0, string-width@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-3.1.0.tgz#22767be21b62af1081574306f69ac51b62203961" - integrity sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w== - dependencies: - emoji-regex "^7.0.1" - is-fullwidth-code-point "^2.0.0" - strip-ansi "^5.1.0" - -string.prototype.trimend@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.1.tgz#85812a6b847ac002270f5808146064c995fb6913" - integrity sha512-LRPxFUaTtpqYsTeNKaFOw3R4bxIzWOnbQ837QfBylo8jIxtcbK/A/sMV7Q+OAV/vWo+7s25pOE10KYSjaSO06g== - dependencies: - define-properties "^1.1.3" - es-abstract "^1.17.5" - -string.prototype.trimleft@^2.1.1: - version "2.1.2" - resolved "https://registry.yarnpkg.com/string.prototype.trimleft/-/string.prototype.trimleft-2.1.2.tgz#4408aa2e5d6ddd0c9a80739b087fbc067c03b3cc" - integrity sha512-gCA0tza1JBvqr3bfAIFJGqfdRTyPae82+KTnm3coDXkZN9wnuW3HjGgN386D7hfv5CHQYCI022/rJPVlqXyHSw== - dependencies: - define-properties "^1.1.3" - es-abstract "^1.17.5" - string.prototype.trimstart "^1.0.0" - -string.prototype.trimright@^2.1.1: - version "2.1.2" - resolved "https://registry.yarnpkg.com/string.prototype.trimright/-/string.prototype.trimright-2.1.2.tgz#c76f1cef30f21bbad8afeb8db1511496cfb0f2a3" - integrity sha512-ZNRQ7sY3KroTaYjRS6EbNiiHrOkjihL9aQE/8gfQ4DtAC/aEBRHFJa44OmoWxGGqXuJlfKkZW4WcXErGr+9ZFg== - dependencies: - define-properties "^1.1.3" - es-abstract "^1.17.5" - string.prototype.trimend "^1.0.0" - -string.prototype.trimstart@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.1.tgz#14af6d9f34b053f7cfc89b72f8f2ee14b9039a54" - integrity sha512-XxZn+QpvrBI1FOcg6dIpxUPgWCPuNXvMD72aaRaUQv1eD4e/Qy8i/hFTe0BUmD60p/QA6bh1avmuPTfNjqVWRw== - dependencies: - define-properties "^1.1.3" - es-abstract "^1.17.5" - -string_decoder@0.10: - version "0.10.31" - resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94" - integrity sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ= - -string_decoder@^1.0.0, string_decoder@^1.1.1: - version "1.3.0" - resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" - integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== - dependencies: - safe-buffer "~5.2.0" - -string_decoder@~1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" - integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== - dependencies: - safe-buffer "~5.1.0" - -strip-ansi@^3.0.0, strip-ansi@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" - integrity sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8= - dependencies: - ansi-regex "^2.0.0" - -strip-ansi@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f" - integrity sha1-qEeQIusaw2iocTibY1JixQXuNo8= - dependencies: - ansi-regex "^3.0.0" - -strip-ansi@^5.0.0, strip-ansi@^5.1.0, strip-ansi@^5.2.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-5.2.0.tgz#8c9a536feb6afc962bdfa5b104a5091c1ad9c0ae" - integrity sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA== - dependencies: - ansi-regex "^4.1.0" - -strip-bom@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-2.0.0.tgz#6219a85616520491f35788bdbf1447a99c7e6b0e" - integrity sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4= - dependencies: - is-utf8 "^0.2.0" - -strip-final-newline@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad" - integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA== - -strip-indent@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-1.0.1.tgz#0c7962a6adefa7bbd4ac366460a638552ae1a0a2" - integrity sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI= - dependencies: - get-stdin "^4.0.1" - -style-loader@~1.1.3: - version "1.1.4" - resolved "https://registry.yarnpkg.com/style-loader/-/style-loader-1.1.4.tgz#1ad81283cefe51096756fd62697258edad933230" - integrity sha512-SbBHRD8fwK3pX+4UDF4ETxUF0+rCvk29LWTTI7Rt0cgsDjAj3SWM76ByTe6u2+4IlJ/WwluB7wuslWETCoPQdg== - dependencies: - loader-utils "^2.0.0" - schema-utils "^2.6.5" - -supports-color@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" - integrity sha1-U10EXOa2Nj+kARcIRimZXp3zJMc= - -supports-color@^5.3.0: - version "5.5.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" - integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== - dependencies: - has-flag "^3.0.0" - -supports-color@^6.1.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-6.1.0.tgz#0764abc69c63d5ac842dd4867e8d025e880df8f3" - integrity sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ== - dependencies: - has-flag "^3.0.0" - -supports-color@^7.0.0, supports-color@^7.1.0: - version "7.1.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.1.0.tgz#68e32591df73e25ad1c4b49108a2ec507962bfd1" - integrity sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g== - dependencies: - has-flag "^4.0.0" - -table-layout@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/table-layout/-/table-layout-1.0.1.tgz#8411181ee951278ad0638aea2f779a9ce42894f9" - integrity sha512-dEquqYNJiGwY7iPfZ3wbXDI944iqanTSchrACLL2nOB+1r+h1Nzu2eH+DuPPvWvm5Ry7iAPeFlgEtP5bIp5U7Q== - dependencies: - array-back "^4.0.1" - deep-extend "~0.6.0" - typical "^5.2.0" - wordwrapjs "^4.0.0" - -tapable@^1.0.0, tapable@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/tapable/-/tapable-1.1.3.tgz#a1fccc06b58db61fd7a45da2da44f5f3a3e67ba2" - integrity sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA== - -tar@^2.0.0: - version "2.2.2" - resolved "https://registry.yarnpkg.com/tar/-/tar-2.2.2.tgz#0ca8848562c7299b8b446ff6a4d60cdbb23edc40" - integrity sha512-FCEhQ/4rE1zYv9rYXJw/msRqsnmlje5jHP6huWeBZ704jUTy02c5AZyWujpMR1ax6mVw9NyJMfuK2CMDWVIfgA== - dependencies: - block-stream "*" - fstream "^1.0.12" - inherits "2" - -tar@^6.0.2: - version "6.0.5" - resolved "https://registry.yarnpkg.com/tar/-/tar-6.0.5.tgz#bde815086e10b39f1dcd298e89d596e1535e200f" - integrity sha512-0b4HOimQHj9nXNEAA7zWwMM91Zhhba3pspja6sQbgTpynOJf+bkjBnfybNYzbpLbnwXnbyB4LOREvlyXLkCHSg== - dependencies: - chownr "^2.0.0" - fs-minipass "^2.0.0" - minipass "^3.0.0" - minizlib "^2.1.1" - mkdirp "^1.0.3" - yallist "^4.0.0" - -terser-webpack-plugin@^1.4.3: - version "1.4.5" - resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-1.4.5.tgz#a217aefaea330e734ffacb6120ec1fa312d6040b" - integrity sha512-04Rfe496lN8EYruwi6oPQkG0vo8C+HT49X687FZnpPF0qMAIHONI6HEXYPKDOE8e5HjXTyKfqRd/agHtH0kOtw== - dependencies: - cacache "^12.0.2" - find-cache-dir "^2.1.0" - is-wsl "^1.1.0" - schema-utils "^1.0.0" - serialize-javascript "^4.0.0" - source-map "^0.6.1" - terser "^4.1.2" - webpack-sources "^1.4.0" - worker-farm "^1.7.0" - -terser-webpack-plugin@~4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-4.1.0.tgz#6e9d6ae4e1a900d88ddce8da6a47507ea61f44bc" - integrity sha512-0ZWDPIP8BtEDZdChbufcXUigOYk6dOX/P/X0hWxqDDcVAQLb8Yy/0FAaemSfax3PAA67+DJR778oz8qVbmy4hA== - dependencies: - cacache "^15.0.5" - find-cache-dir "^3.3.1" - jest-worker "^26.3.0" - p-limit "^3.0.2" - schema-utils "^2.6.6" - serialize-javascript "^4.0.0" - source-map "^0.6.1" - terser "^5.0.0" - webpack-sources "^1.4.3" - -terser@^4.1.2: - version "4.8.0" - resolved "https://registry.yarnpkg.com/terser/-/terser-4.8.0.tgz#63056343d7c70bb29f3af665865a46fe03a0df17" - integrity sha512-EAPipTNeWsb/3wLPeup1tVPaXfIaU68xMnVdPafIL1TV05OhASArYyIfFvnvJCNrR2NIOvDVNNTFRa+Re2MWyw== - dependencies: - commander "^2.20.0" - source-map "~0.6.1" - source-map-support "~0.5.12" - -terser@^5.0.0: - version "5.3.0" - resolved "https://registry.yarnpkg.com/terser/-/terser-5.3.0.tgz#c481f4afecdcc182d5e2bdd2ff2dc61555161e81" - integrity sha512-XTT3D3AwxC54KywJijmY2mxZ8nJiEjBHVYzq8l9OaYuRFWeQNBwvipuzzYEP4e+/AVcd1hqG/CqgsdIRyT45Fg== - dependencies: - commander "^2.20.0" - source-map "~0.6.1" - source-map-support "~0.5.12" - -through2@^2.0.0: - version "2.0.5" - resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.5.tgz#01c1e39eb31d07cb7d03a96a70823260b23132cd" - integrity sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ== - dependencies: - readable-stream "~2.3.6" - xtend "~4.0.1" - -timers-browserify@^2.0.4: - version "2.0.11" - resolved "https://registry.yarnpkg.com/timers-browserify/-/timers-browserify-2.0.11.tgz#800b1f3eee272e5bc53ee465a04d0e804c31211f" - integrity sha512-60aV6sgJ5YEbzUdn9c8kYGIqOubPoUdqQCul3SBAsRCZ40s6Y5cMcrW4dt3/k/EsbLVJNl9n6Vz3fTc+k2GeKQ== - dependencies: - setimmediate "^1.0.4" - -tiny-lr@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/tiny-lr/-/tiny-lr-1.1.1.tgz#9fa547412f238fedb068ee295af8b682c98b2aab" - integrity sha512-44yhA3tsaRoMOjQQ+5v5mVdqef+kH6Qze9jTpqtVufgYjYt08zyZAwNwwVBj3i1rJMnR52IxOW0LK0vBzgAkuA== - dependencies: - body "^5.1.0" - debug "^3.1.0" - faye-websocket "~0.10.0" - livereload-js "^2.3.0" - object-assign "^4.1.0" - qs "^6.4.0" - -to-arraybuffer@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz#7d229b1fcc637e466ca081180836a7aabff83f43" - integrity sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M= - -to-fast-properties@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" - integrity sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4= - -to-object-path@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/to-object-path/-/to-object-path-0.3.0.tgz#297588b7b0e7e0ac08e04e672f85c1f4999e17af" - integrity sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68= - dependencies: - kind-of "^3.0.2" - -to-regex-range@^2.1.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-2.1.1.tgz#7c80c17b9dfebe599e27367e0d4dd5590141db38" - integrity sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg= - dependencies: - is-number "^3.0.0" - repeat-string "^1.6.1" - -to-regex-range@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" - integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== - dependencies: - is-number "^7.0.0" - -to-regex@^3.0.1, to-regex@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/to-regex/-/to-regex-3.0.2.tgz#13cfdd9b336552f30b51f33a8ae1b42a7a7599ce" - integrity sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw== - dependencies: - define-property "^2.0.2" - extend-shallow "^3.0.2" - regex-not "^1.0.2" - safe-regex "^1.1.0" - -tough-cookie@~2.5.0: - version "2.5.0" - resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.5.0.tgz#cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2" - integrity sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g== - dependencies: - psl "^1.1.28" - punycode "^2.1.1" - -trim-newlines@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-1.0.0.tgz#5887966bb582a4503a41eb524f7d35011815a613" - integrity sha1-WIeWa7WCpFA6QetST301ARgVphM= - -"true-case-path@^1.0.2": - version "1.0.3" - resolved "https://registry.yarnpkg.com/true-case-path/-/true-case-path-1.0.3.tgz#f813b5a8c86b40da59606722b144e3225799f47d" - integrity sha512-m6s2OdQe5wgpFMC+pAJ+q9djG82O2jcHPOI6RNg1yy9rCYR+WD6Nbpl32fDpfC56nirdRy+opFa/Vk7HYhqaew== - dependencies: - glob "^7.1.2" - -tslib@^1.9.0: - version "1.13.0" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.13.0.tgz#c881e13cc7015894ed914862d276436fa9a47043" - integrity sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q== - -tty-browserify@0.0.0: - version "0.0.0" - resolved "https://registry.yarnpkg.com/tty-browserify/-/tty-browserify-0.0.0.tgz#a157ba402da24e9bf957f9aa69d524eed42901a6" - integrity sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY= - -tunnel-agent@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" - integrity sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0= - dependencies: - safe-buffer "^5.0.1" - -tweetnacl@^0.14.3, tweetnacl@~0.14.0: - version "0.14.5" - resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" - integrity sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q= - -type-fest@^0.11.0: - version "0.11.0" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.11.0.tgz#97abf0872310fed88a5c466b25681576145e33f1" - integrity sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ== - -typedarray@^0.0.6: - version "0.0.6" - resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" - integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c= - -typical@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/typical/-/typical-4.0.0.tgz#cbeaff3b9d7ae1e2bbfaf5a4e6f11eccfde94fc4" - integrity sha512-VAH4IvQ7BDFYglMd7BPRDfLgxZZX4O4TFcRDA6EN5X7erNJJq+McIEp8np9aVtxrCJ6qx4GTYVfOWNjcqwZgRw== - -typical@^5.0.0, typical@^5.2.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/typical/-/typical-5.2.0.tgz#4daaac4f2b5315460804f0acf6cb69c52bb93066" - integrity sha512-dvdQgNDNJo+8B2uBQoqdb11eUCE1JQXhvjC/CZtgvZseVd5TYMXnq0+vuUemXbd/Se29cTaUuPX3YIc2xgbvIg== - -unicode-canonical-property-names-ecmascript@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz#2619800c4c825800efdd8343af7dd9933cbe2818" - integrity sha512-jDrNnXWHd4oHiTZnx/ZG7gtUTVp+gCcTTKr8L0HjlwphROEW3+Him+IpvC+xcJEFegapiMZyZe02CyuOnRmbnQ== - -unicode-match-property-ecmascript@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz#8ed2a32569961bce9227d09cd3ffbb8fed5f020c" - integrity sha512-L4Qoh15vTfntsn4P1zqnHulG0LdXgjSO035fEpdtp6YxXhMT51Q6vgM5lYdG/5X3MjS+k/Y9Xw4SFCY9IkR0rg== - dependencies: - unicode-canonical-property-names-ecmascript "^1.0.4" - unicode-property-aliases-ecmascript "^1.0.4" - -unicode-match-property-value-ecmascript@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.2.0.tgz#0d91f600eeeb3096aa962b1d6fc88876e64ea531" - integrity sha512-wjuQHGQVofmSJv1uVISKLE5zO2rNGzM/KCYZch/QQvez7C1hUhBIuZ701fYXExuufJFMPhv2SyL8CyoIfMLbIQ== - -unicode-property-aliases-ecmascript@^1.0.4: - version "1.1.0" - resolved "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.1.0.tgz#dd57a99f6207bedff4628abefb94c50db941c8f4" - integrity sha512-PqSoPh/pWetQ2phoj5RLiaqIk4kCNwoV3CI+LfGmWLKI3rE3kl1h59XpX2BjgDrmbxD9ARtQobPGU1SguCYuQg== - -union-value@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/union-value/-/union-value-1.0.1.tgz#0b6fe7b835aecda61c6ea4d4f02c14221e109847" - integrity sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg== - dependencies: - arr-union "^3.1.0" - get-value "^2.0.6" - is-extendable "^0.1.1" - set-value "^2.0.1" - -uniq@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/uniq/-/uniq-1.0.1.tgz#b31c5ae8254844a3a8281541ce2b04b865a734ff" - integrity sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8= - -unique-filename@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/unique-filename/-/unique-filename-1.1.1.tgz#1d69769369ada0583103a1e6ae87681b56573230" - integrity sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ== - dependencies: - unique-slug "^2.0.0" - -unique-slug@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/unique-slug/-/unique-slug-2.0.2.tgz#baabce91083fc64e945b0f3ad613e264f7cd4e6c" - integrity sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w== - dependencies: - imurmurhash "^0.1.4" - -universalify@^0.1.0: - version "0.1.2" - resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" - integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg== - -unset-value@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/unset-value/-/unset-value-1.0.0.tgz#8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559" - integrity sha1-g3aHP30jNRef+x5vw6jtDfyKtVk= - dependencies: - has-value "^0.3.1" - isobject "^3.0.0" - -upath@^1.1.1: - version "1.2.0" - resolved "https://registry.yarnpkg.com/upath/-/upath-1.2.0.tgz#8f66dbcd55a883acdae4408af8b035a5044c1894" - integrity sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg== - -uri-js@^4.2.2: - version "4.4.0" - resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.0.tgz#aa714261de793e8a82347a7bcc9ce74e86f28602" - integrity sha512-B0yRTzYdUCCn9n+F4+Gh4yIDtMQcaJsmYBDsTSG8g/OejKBodLQ2IHfN3bM7jUsRXndopT7OIXWdYqc1fjmV6g== - dependencies: - punycode "^2.1.0" - -urix@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72" - integrity sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI= - -url-loader@~4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/url-loader/-/url-loader-4.1.0.tgz#c7d6b0d6b0fccd51ab3ffc58a78d32b8d89a7be2" - integrity sha512-IzgAAIC8wRrg6NYkFIJY09vtktQcsvU8V6HhtQj9PTefbYImzLB1hufqo4m+RyM5N3mLx5BqJKccgxJS+W3kqw== - dependencies: - loader-utils "^2.0.0" - mime-types "^2.1.26" - schema-utils "^2.6.5" - -url@^0.11.0: - version "0.11.0" - resolved "https://registry.yarnpkg.com/url/-/url-0.11.0.tgz#3838e97cfc60521eb73c525a8e55bfdd9e2e28f1" - integrity sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE= - dependencies: - punycode "1.3.2" - querystring "0.2.0" - -use@^3.1.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/use/-/use-3.1.1.tgz#d50c8cac79a19fbc20f2911f56eb973f4e10070f" - integrity sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ== - -util-deprecate@^1.0.1, util-deprecate@~1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" - integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= - -util@0.10.3: - version "0.10.3" - resolved "https://registry.yarnpkg.com/util/-/util-0.10.3.tgz#7afb1afe50805246489e3db7fe0ed379336ac0f9" - integrity sha1-evsa/lCAUkZInj23/g7TeTNqwPk= - dependencies: - inherits "2.0.1" - -util@^0.11.0: - version "0.11.1" - resolved "https://registry.yarnpkg.com/util/-/util-0.11.1.tgz#3236733720ec64bb27f6e26f421aaa2e1b588d61" - integrity sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ== - dependencies: - inherits "2.0.3" - -uuid@^3.3.2: - version "3.4.0" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee" - integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A== - -v8-compile-cache@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.1.0.tgz#e14de37b31a6d194f5690d67efc4e7f6fc6ab30e" - integrity sha512-usZBT3PW+LOjM25wbqIlZwPeJV+3OSz3M1k1Ws8snlW39dZyYL9lOGC5FgPVHfk0jKmjiDV8Z0mIbVQPiwFs7g== - -validate-npm-package-license@^3.0.1: - version "3.0.4" - resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a" - integrity sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew== - dependencies: - spdx-correct "^3.0.0" - spdx-expression-parse "^3.0.0" - -verror@1.10.0: - version "1.10.0" - resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400" - integrity sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA= - dependencies: - assert-plus "^1.0.0" - core-util-is "1.0.2" - extsprintf "^1.2.0" - -vm-browserify@^1.0.1: - version "1.1.2" - resolved "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-1.1.2.tgz#78641c488b8e6ca91a75f511e7a3b32a86e5dda0" - integrity sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ== - -watchpack-chokidar2@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/watchpack-chokidar2/-/watchpack-chokidar2-2.0.0.tgz#9948a1866cbbd6cb824dea13a7ed691f6c8ddff0" - integrity sha512-9TyfOyN/zLUbA288wZ8IsMZ+6cbzvsNyEzSBp6e/zkifi6xxbl8SmQ/CxQq32k8NNqrdVEVUVSEf56L4rQ/ZxA== - dependencies: - chokidar "^2.1.8" - -watchpack@^1.6.0: - version "1.7.4" - resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-1.7.4.tgz#6e9da53b3c80bb2d6508188f5b200410866cd30b" - integrity sha512-aWAgTW4MoSJzZPAicljkO1hsi1oKj/RRq/OJQh2PKI2UKL04c2Bs+MBOB+BBABHTXJpf9mCwHN7ANCvYsvY2sg== - dependencies: - graceful-fs "^4.1.2" - neo-async "^2.5.0" - optionalDependencies: - chokidar "^3.4.1" - watchpack-chokidar2 "^2.0.0" - -webpack-clean-obsolete-chunks@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/webpack-clean-obsolete-chunks/-/webpack-clean-obsolete-chunks-0.4.0.tgz#1407d5a3cd155de6b0e42195901c5359da9d03cd" - integrity sha512-VSaM/iVkbtRgp3mBIHfuZ0Pm/ekWL3jR5b55+dOnlon77hkBsNfuylkz9UqvUPA1AIljrbtiFpdRuoDtu7v5/A== - dependencies: - del "^3.0.0" - -webpack-cli@^4.0.0-beta.8: - version "4.0.0-beta.8" - resolved "https://registry.yarnpkg.com/webpack-cli/-/webpack-cli-4.0.0-beta.8.tgz#62dfd9daaba6d46d2035f91d8aa08fda4ae2fc9f" - integrity sha512-kitIlz9sjCw5OSWePZYlWopmZGxy4vK7gA3MTAll5/J96cTjXGCxUBO2j9beN6saCv46cpPp1IE5V0eTGK1S0A== - dependencies: - "@webpack-cli/logger" "^1.0.1-alpha.4" - "@webpack-cli/package-utils" "^1.0.1-alpha.4" - ansi-escapes "^4.2.1" - chalk "^3.0.0" - cli-table3 "^0.5.1" - command-line-args "^5.1.1" - command-line-usage "^6.1.0" - enquirer "^2.3.4" - execa "^3.2.0" - import-local "^3.0.2" - interpret "^2.0.0" - rechoir "^0.7.0" - v8-compile-cache "^2.1.0" - webpack-log "^3.0.1" - webpack-merge "^4.2.2" - -webpack-livereload-plugin@~2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/webpack-livereload-plugin/-/webpack-livereload-plugin-2.3.0.tgz#61994e0500a0c1e27355ff753a9642641bef5d6a" - integrity sha512-vVBLQLlNpElt2sfsBG+XLDeVbQFS4RrniVU8Hi1/hX5ycSfx6mtW8MEEITr2g0Cvo36kuPWShFFDuy+DS7KFMA== - dependencies: - anymatch "^3.1.1" - portfinder "^1.0.17" - tiny-lr "^1.1.1" - -webpack-log@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/webpack-log/-/webpack-log-3.0.1.tgz#647c42231b6f74d7cc3c3a66510370e635d066ea" - integrity sha512-mX/6BJPPpxco6BGCFZJ96NjgnwBrLQx6d7Kxe1PaJ7KvjI3LFmJK9QgRPCAr9tXrPVawPN1cuM8hJ2Vadnwm+Q== - dependencies: - chalk "^2.4.2" - loglevelnext "^3.0.1" - nanoid "^2.0.3" - -webpack-manifest-plugin@~2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/webpack-manifest-plugin/-/webpack-manifest-plugin-2.2.0.tgz#19ca69b435b0baec7e29fbe90fb4015de2de4f16" - integrity sha512-9S6YyKKKh/Oz/eryM1RyLVDVmy3NSPV0JXMRhZ18fJsq+AwGxUY34X54VNwkzYcEmEkDwNxuEOboCZEebJXBAQ== - dependencies: - fs-extra "^7.0.0" - lodash ">=3.5 <5" - object.entries "^1.1.0" - tapable "^1.0.0" - -webpack-merge@^4.2.2: - version "4.2.2" - resolved "https://registry.yarnpkg.com/webpack-merge/-/webpack-merge-4.2.2.tgz#a27c52ea783d1398afd2087f547d7b9d2f43634d" - integrity sha512-TUE1UGoTX2Cd42j3krGYqObZbOD+xF7u28WB7tfUordytSjbWTIjK/8V0amkBfTYN4/pB/GIDlJZZ657BGG19g== - dependencies: - lodash "^4.17.15" - -webpack-sources@^1.1.0, webpack-sources@^1.4.0, webpack-sources@^1.4.1, webpack-sources@^1.4.3: - version "1.4.3" - resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-1.4.3.tgz#eedd8ec0b928fbf1cbfe994e22d2d890f330a933" - integrity sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ== - dependencies: - source-list-map "^2.0.0" - source-map "~0.6.1" - -webpack@~4.42.1: - version "4.42.1" - resolved "https://registry.yarnpkg.com/webpack/-/webpack-4.42.1.tgz#ae707baf091f5ca3ef9c38b884287cfe8f1983ef" - integrity sha512-SGfYMigqEfdGchGhFFJ9KyRpQKnipvEvjc1TwrXEPCM6H5Wywu10ka8o3KGrMzSMxMQKt8aCHUFh5DaQ9UmyRg== - dependencies: - "@webassemblyjs/ast" "1.9.0" - "@webassemblyjs/helper-module-context" "1.9.0" - "@webassemblyjs/wasm-edit" "1.9.0" - "@webassemblyjs/wasm-parser" "1.9.0" - acorn "^6.2.1" - ajv "^6.10.2" - ajv-keywords "^3.4.1" - chrome-trace-event "^1.0.2" - enhanced-resolve "^4.1.0" - eslint-scope "^4.0.3" - json-parse-better-errors "^1.0.2" - loader-runner "^2.4.0" - loader-utils "^1.2.3" - memory-fs "^0.4.1" - micromatch "^3.1.10" - mkdirp "^0.5.3" - neo-async "^2.6.1" - node-libs-browser "^2.2.1" - schema-utils "^1.0.0" - tapable "^1.1.3" - terser-webpack-plugin "^1.4.3" - watchpack "^1.6.0" - webpack-sources "^1.4.1" - -websocket-driver@>=0.5.1: - version "0.7.4" - resolved "https://registry.yarnpkg.com/websocket-driver/-/websocket-driver-0.7.4.tgz#89ad5295bbf64b480abcba31e4953aca706f5760" - integrity sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg== - dependencies: - http-parser-js ">=0.5.1" - safe-buffer ">=5.1.0" - websocket-extensions ">=0.1.1" - -websocket-extensions@>=0.1.1: - version "0.1.4" - resolved "https://registry.yarnpkg.com/websocket-extensions/-/websocket-extensions-0.1.4.tgz#7f8473bc839dfd87608adb95d7eb075211578a42" - integrity sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg== - -which-module@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" - integrity sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho= - -which@1, which@^1.2.9: - version "1.3.1" - resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" - integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== - dependencies: - isexe "^2.0.0" - -which@^2.0.1: - version "2.0.2" - resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" - integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== - dependencies: - isexe "^2.0.0" - -wide-align@^1.1.0: - version "1.1.3" - resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.3.tgz#ae074e6bdc0c14a431e804e624549c633b000457" - integrity sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA== - dependencies: - string-width "^1.0.2 || 2" - -wordwrapjs@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/wordwrapjs/-/wordwrapjs-4.0.0.tgz#9aa9394155993476e831ba8e59fb5795ebde6800" - integrity sha512-Svqw723a3R34KvsMgpjFBYCgNOSdcW3mQFK4wIfhGQhtaFVOJmdYoXgi63ne3dTlWgatVcUc7t4HtQ/+bUVIzQ== - dependencies: - reduce-flatten "^2.0.0" - typical "^5.0.0" - -worker-farm@^1.7.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/worker-farm/-/worker-farm-1.7.0.tgz#26a94c5391bbca926152002f69b84a4bf772e5a8" - integrity sha512-rvw3QTZc8lAxyVrqcSGVm5yP/IJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB/T5M+FLcRPjz4TDacRf3OCfNUzw== - dependencies: - errno "~0.1.7" - -wrap-ansi@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-5.1.0.tgz#1fd1f67235d5b6d0fee781056001bfb694c03b09" - integrity sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q== - dependencies: - ansi-styles "^3.2.0" - string-width "^3.0.0" - strip-ansi "^5.0.0" - -wrappy@1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" - integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= - -xtend@^4.0.0, xtend@~4.0.1: - version "4.0.2" - resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" - integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== - -y18n@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.1.tgz#8db2b83c31c5d75099bb890b23f3094891e247d4" - integrity sha512-wNcy4NvjMYL8gogWWYAO7ZFWFfHcbdbE57tZO8e4cbpj8tfUcwrwqSl3ad8HxpYWCdXcJUCeKKZS62Av1affwQ== - -yallist@^2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52" - integrity sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI= - -yallist@^3.0.2: - version "3.1.1" - resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd" - integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== - -yallist@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" - integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== - -yargs-parser@^13.1.2: - version "13.1.2" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-13.1.2.tgz#130f09702ebaeef2650d54ce6e3e5706f7a4fb38" - integrity sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg== - dependencies: - camelcase "^5.0.0" - decamelize "^1.2.0" - -yargs@^13.3.2: - version "13.3.2" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-13.3.2.tgz#ad7ffefec1aa59565ac915f82dccb38a9c31a2dd" - integrity sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw== - dependencies: - cliui "^5.0.0" - find-up "^3.0.0" - get-caller-file "^2.0.1" - require-directory "^2.1.1" - require-main-filename "^2.0.0" - set-blocking "^2.0.0" - string-width "^3.0.0" - which-module "^2.0.0" - y18n "^4.0.0" - yargs-parser "^13.1.2" diff --git a/genny/build/_fixtures/template_validator/bad/a.html b/genny/build/_fixtures/template_validator/bad/a.html deleted file mode 100644 index aff0b4ba6..000000000 --- a/genny/build/_fixtures/template_validator/bad/a.html +++ /dev/null @@ -1 +0,0 @@ -A Hello <%= broken!>%>> diff --git a/genny/build/_fixtures/template_validator/bad/b.md b/genny/build/_fixtures/template_validator/bad/b.md deleted file mode 100644 index 71fd40999..000000000 --- a/genny/build/_fixtures/template_validator/bad/b.md +++ /dev/null @@ -1 +0,0 @@ -B Hello <%= broken!>%>> diff --git a/genny/build/apkg.go b/genny/build/apkg.go deleted file mode 100644 index 9a5479a65..000000000 --- a/genny/build/apkg.go +++ /dev/null @@ -1,52 +0,0 @@ -package build - -import ( - "os/exec" - - "github.com/gobuffalo/genny/v2" -) - -func apkg(opts *Options) (*genny.Generator, error) { - g := genny.New() - - if err := opts.Validate(); err != nil { - return g, err - } - - g.RunFn(copyInflections) - g.RunFn(copyDatabase) - g.RunFn(addDependencies) - - return g, nil -} - -func addDependencies(r *genny.Runner) error { - return r.Exec(exec.Command("go", "get", "-d")) -} - -func copyDatabase(r *genny.Runner) error { - defer func() { - r.Disk.Remove("database.yml") - }() - f, err := r.FindFile("database.yml") - if err != nil { - f, err = r.FindFile("config/database.yml") - if err != nil { - // it's ok to not have this file - return nil - } - } - return r.File(genny.NewFile("a/database.yml", f)) -} - -func copyInflections(r *genny.Runner) error { - defer func() { - r.Disk.Remove("inflections.json") - }() - f, err := r.FindFile("inflections.json") - if err != nil { - // it's ok to not have this file - return nil - } - return r.File(genny.NewFile("a/inflections.json", f)) -} diff --git a/genny/build/apkg_test.go b/genny/build/apkg_test.go deleted file mode 100644 index 5c93a9353..000000000 --- a/genny/build/apkg_test.go +++ /dev/null @@ -1 +0,0 @@ -package build diff --git a/genny/build/archived_assets.go b/genny/build/archived_assets.go deleted file mode 100644 index bfe9f4fc2..000000000 --- a/genny/build/archived_assets.go +++ /dev/null @@ -1,103 +0,0 @@ -package build - -import ( - "archive/zip" - "bytes" - "io" - "path/filepath" - "strings" - - "github.com/gobuffalo/genny/v2" - "github.com/gobuffalo/packr/v2" -) - -func archivedAssets(opts *Options) (*genny.Generator, error) { - g := genny.New() - - if err := opts.Validate(); err != nil { - return g, err - } - - app := opts.App - - outputDir := filepath.Dir(filepath.Join(app.Root, app.Bin)) - target := filepath.Join(outputDir, "assets.zip") - source := filepath.Join(app.Root, "public", "assets") - - g.RunFn(func(r *genny.Runner) error { - bb := &bytes.Buffer{} - archive := zip.NewWriter(bb) - defer archive.Close() - - // set the initial resolution of the box to a folder - // that doesn't exist, then set the resolution to the - // source. don't change! MB - box := packr.New("buffalo:build:assets", "./undefined") - box.ResolutionDir = source - err := box.Walk(func(path string, file packr.File) error { - info, err := file.FileInfo() - if err != nil { - return err - } - - header, err := zip.FileInfoHeader(info) - if err != nil { - return err - } - - var baseDir string - if info.IsDir() { - baseDir = filepath.Base(source) - } - if baseDir != "" { - rel, err := filepath.Rel(source, path) - if err != nil { - return err - } - header.Name = filepath.Join(baseDir, rel) - } - - if info.IsDir() { - header.Name += "/" - } else { - header.Method = zip.Deflate - } - - writer, err := archive.CreateHeader(header) - if err != nil { - return err - } - - if info.IsDir() { - return nil - } - - _, err = io.Copy(writer, file) - return err - }) - if err != nil { - return err - } - // We need to close the archive before passing the buffer to genny, otherwise the zip - // will be corrupted. - archive.Close() - if err := r.File(genny.NewFile(target, bb)); err != nil { - return err - } - opts.keep.Store(target, struct{}{}) - return nil - }) - - g.RunFn(func(r *genny.Runner) error { - f, err := r.FindFile("actions/app.go") - if err != nil { - return err - } - opts.rollback.Store(f.Name(), f.String()) - body := strings.Replace(f.String(), `app.ServeFiles("/assets"`, `// app.ServeFiles("/assets"`, 1) - body = strings.Replace(body, `app.ServeFiles("/"`, `// app.ServeFiles("/"`, 1) - return r.File(genny.NewFileS(f.Name(), body)) - }) - - return g, nil -} diff --git a/genny/build/assets.go b/genny/build/assets.go deleted file mode 100644 index 3ffc8c03d..000000000 --- a/genny/build/assets.go +++ /dev/null @@ -1,83 +0,0 @@ -package build - -import ( - "bytes" - "os/exec" - "path/filepath" - - "github.com/gobuffalo/buffalo/genny/assets/webpack" - "github.com/gobuffalo/envy" - "github.com/gobuffalo/genny/v2" - - "github.com/gobuffalo/packr/v2/jam" - "github.com/gobuffalo/packr/v2/jam/parser" -) - -func assets(opts *Options) (*genny.Generator, error) { - g := genny.New() - - if err := opts.Validate(); err != nil { - return g, err - } - - if opts.App.WithNodeJs || opts.App.WithWebpack { - if opts.CleanAssets { - g.RunFn(func(r *genny.Runner) error { - r.Delete(filepath.Join(opts.App.Root, "public", "assets")) - return nil - }) - } - g.RunFn(func(r *genny.Runner) error { - r.Logger.Debugf("setting NODE_ENV = %s", opts.Environment) - return envy.MustSet("NODE_ENV", opts.Environment) - }) - g.RunFn(func(r *genny.Runner) error { - tool := "yarnpkg" - if !opts.App.WithYarn { - tool = "npm" - } - - c := exec.CommandContext(r.Context, tool, "run", "build") - if _, err := opts.App.NodeScript("build"); err != nil { - // Fallback on legacy runner - c = exec.CommandContext(r.Context, webpack.BinPath) - } - - bb := &bytes.Buffer{} - c.Stdout = bb - c.Stderr = bb - - if err := r.Exec(c); err != nil { - r.Logger.Error(bb.String()) - return err - } - return nil - - }) - } - - g.RunFn(func(r *genny.Runner) error { - ro := &parser.RootsOptions{} - - if !opts.WithAssets { - ro.Ignores = append(ro.Ignores, "public/assets") - } - - opts := jam.PackOptions{ - Roots: []string{opts.App.Root}, - RootsOptions: ro, - } - return jam.Pack(opts) - }) - - if opts.ExtractAssets && opts.WithAssets { - // mount the archived assets generator - aa, err := archivedAssets(opts) - if err != nil { - return g, err - } - g.Merge(aa) - } - - return g, nil -} diff --git a/genny/build/assets_test.go b/genny/build/assets_test.go deleted file mode 100644 index 2e1fbb476..000000000 --- a/genny/build/assets_test.go +++ /dev/null @@ -1,71 +0,0 @@ -package build - -import ( - "strings" - "testing" - - "github.com/gobuffalo/envy" - "github.com/stretchr/testify/require" -) - -func Test_assets(t *testing.T) { - r := require.New(t) - - opts := &Options{ - WithAssets: true, - } - r.NoError(opts.Validate()) - opts.App.WithNodeJs = true - opts.App.PackageJSON.Scripts = map[string]string{ - "build": "webpack -p --progress", - } - - run := cokeRunner() - run.WithNew(assets(opts)) - - envy.MustSet("NODE_ENV", "") - ne := envy.Get("NODE_ENV", "") - r.Empty(ne) - r.NoError(run.Run()) - - ne = envy.Get("NODE_ENV", "") - r.NotEmpty(ne) - r.Equal(opts.Environment, ne) - - res := run.Results() - - cmds := []string{"npm run build"} - r.Len(res.Commands, len(cmds)) - for i, c := range res.Commands { - r.Equal(cmds[i], strings.Join(c.Args, " ")) - } -} - -func Test_assets_Archived(t *testing.T) { - r := require.New(t) - - opts := &Options{ - WithAssets: true, - ExtractAssets: true, - } - r.NoError(opts.Validate()) - - run := cokeRunner() - opts.Root = run.Root - run.WithNew(assets(opts)) - r.NoError(run.Run()) - - res := run.Results() - - cmds := []string{} - r.Len(res.Commands, len(cmds)) - for i, c := range res.Commands { - r.Equal(cmds[i], strings.Join(c.Args, " ")) - } - - // r.Len(res.Files, 1) - - f, err := res.Find("actions/app.go") - r.NoError(err) - r.Contains(f.String(), `// app.ServeFiles("/"`) -} diff --git a/genny/build/bin.go b/genny/build/bin.go deleted file mode 100644 index d93d23141..000000000 --- a/genny/build/bin.go +++ /dev/null @@ -1,54 +0,0 @@ -package build - -import ( - "os/exec" - "runtime" - "strings" -) - -func buildCmd(opts *Options) (*exec.Cmd, error) { - if len(opts.GoCommand) == 0 { - opts.GoCommand = "build" - } - buildArgs := []string{opts.GoCommand} - - if len(opts.Mod) != 0 { - buildArgs = append(buildArgs, "-mod", opts.Mod) - } - - buildArgs = append(buildArgs, opts.BuildFlags...) - - tf := opts.App.BuildTags(opts.Environment, opts.Tags...) - if len(tf) > 0 { - buildArgs = append(buildArgs, "-tags", tf.String()) - } - - if opts.GoCommand == "build" { - bin := opts.App.Bin - if runtime.GOOS == "windows" { - if !strings.HasSuffix(bin, ".exe") { - bin += ".exe" - } - bin = strings.Replace(bin, "/", "\\", -1) - } else { - bin = strings.TrimSuffix(bin, ".exe") - } - buildArgs = append(buildArgs, "-o", bin) - } - - flags := []string{} - - if opts.Static { - flags = append(flags, "-linkmode external", "-extldflags \"-static\"") - } - - // Add any additional ldflags passed in to the build args - if len(opts.LDFlags) > 0 { - flags = append(flags, opts.LDFlags) - } - if len(flags) > 0 { - buildArgs = append(buildArgs, "-ldflags", strings.Join(flags, " ")) - } - - return exec.Command("go", buildArgs...), nil -} diff --git a/genny/build/bin_test.go b/genny/build/bin_test.go deleted file mode 100644 index 7353d8d81..000000000 --- a/genny/build/bin_test.go +++ /dev/null @@ -1,168 +0,0 @@ -package build - -import ( - "os/exec" - "runtime" - "strings" - "testing" - - "github.com/gobuffalo/envy" - "github.com/gobuffalo/meta" - "github.com/stretchr/testify/require" -) - -func Test_buildCmd(t *testing.T) { - envy.Set("GO_BIN", "go") - r := require.New(t) - - eq := func(s string, c *exec.Cmd) { - if runtime.GOOS == "windows" { - s = strings.Replace(s, "bin/build", `bin\build.exe`, 1) - s = strings.Replace(s, "bin/foo", `bin\foo.exe`, 1) - } - r.Equal(s, strings.Join(c.Args, " ")) - } - - opts := &Options{ - App: meta.New("."), - GoCommand: "build", - } - c, err := buildCmd(opts) - r.NoError(err) - eq("go build -o bin/build", c) - - opts.Environment = "bar" - c, err = buildCmd(opts) - r.NoError(err) - eq("go build -tags bar -o bin/build", c) - - opts.App.Bin = "bin/foo" - c, err = buildCmd(opts) - r.NoError(err) - eq("go build -tags bar -o bin/foo", c) - - opts.WithSQLite = true - c, err = buildCmd(opts) - r.NoError(err) - eq("go build -tags bar sqlite -o bin/foo", c) - - opts.LDFlags = "-X foo.Bar=baz" - c, err = buildCmd(opts) - r.NoError(err) - eq("go build -tags bar sqlite -o bin/foo -ldflags -X foo.Bar=baz", c) - - opts.Static = true - c, err = buildCmd(opts) - r.NoError(err) - eq("go build -tags bar sqlite -o bin/foo -ldflags -linkmode external -extldflags \"-static\" -X foo.Bar=baz", c) - - opts.LDFlags = "-X main.BuildTime=asdf" - c, err = buildCmd(opts) - r.NoError(err) - eq("go build -tags bar sqlite -o bin/foo -ldflags -linkmode external -extldflags \"-static\" -X main.BuildTime=asdf", c) - - opts.LDFlags = "-X main.BuildVersion=asdf" - c, err = buildCmd(opts) - r.NoError(err) - eq("go build -tags bar sqlite -o bin/foo -ldflags -linkmode external -extldflags \"-static\" -X main.BuildVersion=asdf", c) -} - -func Test_buildCmd_Unix_RemovesExe(t *testing.T) { - if runtime.GOOS == "windows" { - return - } - envy.Set("GO_BIN", "go") - r := require.New(t) - - eq := func(s string, c *exec.Cmd) { - r.Equal(s, strings.Join(c.Args, " ")) - } - app := meta.New(".") - app.Bin = "bin/build.exe" - opts := &Options{ - App: app, - GoCommand: "build", - } - c, err := buildCmd(opts) - r.NoError(err) - eq("go build -o bin/build", c) -} - -func Test_buildCmd_Windows_AddsExe(t *testing.T) { - if runtime.GOOS != "windows" { - return - } - envy.Set("GO_BIN", "go") - r := require.New(t) - - eq := func(s string, c *exec.Cmd) { - r.Equal(s, strings.Join(c.Args, " ")) - } - - app := meta.New(".") - for _, x := range []string{"bin\\build", "bin\\build.exe"} { - app.Bin = x - opts := &Options{ - App: app, - } - c, err := buildCmd(opts) - r.NoError(err) - eq("go build -o bin\\build.exe", c) - } -} - -func Test_installCmd(t *testing.T) { - envy.Set("GO_BIN", "go") - r := require.New(t) - - eq := func(s string, c *exec.Cmd) { - if runtime.GOOS == "windows" { - s = strings.Replace(s, "bin/build", `bin\build.exe`, 1) - s = strings.Replace(s, "bin/foo", `bin\foo.exe`, 1) - } - r.Equal(s, strings.Join(c.Args, " ")) - } - - opts := &Options{ - App: meta.New("."), - GoCommand: "install", - } - c, err := buildCmd(opts) - r.NoError(err) - eq("go install", c) - - opts.Environment = "bar" - c, err = buildCmd(opts) - r.NoError(err) - eq("go install -tags bar", c) - - opts.App.Bin = "bin/foo" - c, err = buildCmd(opts) - r.NoError(err) - eq("go install -tags bar", c) - - opts.WithSQLite = true - c, err = buildCmd(opts) - r.NoError(err) - eq("go install -tags bar sqlite", c) - - opts.LDFlags = "-X foo.Bar=baz" - c, err = buildCmd(opts) - r.NoError(err) - eq("go install -tags bar sqlite -ldflags -X foo.Bar=baz", c) - - opts.Static = true - c, err = buildCmd(opts) - r.NoError(err) - eq("go install -tags bar sqlite -ldflags -linkmode external -extldflags \"-static\" -X foo.Bar=baz", c) - - opts.LDFlags = "-X main.BuildTime=asdf" - c, err = buildCmd(opts) - r.NoError(err) - eq("go install -tags bar sqlite -ldflags -linkmode external -extldflags \"-static\" -X main.BuildTime=asdf", c) - - opts.LDFlags = "-X main.BuildVersion=asdf" - c, err = buildCmd(opts) - r.NoError(err) - eq("go install -tags bar sqlite -ldflags -linkmode external -extldflags \"-static\" -X main.BuildVersion=asdf", c) -} diff --git a/genny/build/build.go b/genny/build/build.go deleted file mode 100644 index a4edfa397..000000000 --- a/genny/build/build.go +++ /dev/null @@ -1,100 +0,0 @@ -package build - -import ( - "time" - - "github.com/gobuffalo/buffalo/runtime" - - "github.com/gobuffalo/events" - "github.com/gobuffalo/genny/v2" - "github.com/gobuffalo/genny/v2/plushgen" - "github.com/gobuffalo/packr/v2" - "github.com/gobuffalo/packr/v2/jam" - "github.com/gobuffalo/plush/v4" -) - -// New generator for building a Buffalo application -// This powers the `buffalo build` command and can be -// used to programatically build/compile Buffalo -// applications. -func New(opts *Options) (*genny.Generator, error) { - g := genny.New() - - if err := opts.Validate(); err != nil { - return g, err - } - g.ErrorFn = func(err error) { - events.EmitError(EvtBuildStopErr, err, events.Payload{"opts": opts}) - } - - g.RunFn(func(r *genny.Runner) error { - events.EmitPayload(EvtBuildStart, events.Payload{"opts": opts}) - return nil - }) - - g.Transformer(genny.Dot()) - - // validate templates - g.RunFn(ValidateTemplates(templateWalker(opts.App), opts.TemplateValidators)) - - // rename main() to originalMain() - g.RunFn(transformMain(opts)) - - // add any necessary templates for the build - box := packr.New("github.com/gobuffalo/buffalo@v0.15.6/genny/build", "../build/templates") - if err := g.Box(box); err != nil { - return g, err - } - - // configure plush - ctx := plush.NewContext() - ctx.Set("opts", opts) - ctx.Set("buildTime", opts.BuildTime.Format(time.RFC3339)) - ctx.Set("buildVersion", opts.BuildVersion) - ctx.Set("buffaloVersion", runtime.Version) - g.Transformer(plushgen.Transformer(ctx)) - - // create the ./a pkg - ag, err := apkg(opts) - if err != nil { - return g, err - } - g.Merge(ag) - - if opts.WithAssets { - // mount the assets generator - ag, err := assets(opts) - if err != nil { - return g, err - } - g.Merge(ag) - } - - if opts.WithBuildDeps { - // mount the build time dependency generator - dg, err := buildDeps(opts) - if err != nil { - return g, err - } - g.Merge(dg) - } - - g.RunFn(func(r *genny.Runner) error { - return jam.Pack(jam.PackOptions{}) - }) - - // create the final go build command - c, err := buildCmd(opts) - if err != nil { - return g, err - } - - g.Command(c) - g.RunFn(func(r *genny.Runner) error { - events.EmitPayload(EvtBuildStop, events.Payload{"opts": opts}) - return nil - }) - - g.RunFn(Cleanup(opts)) - return g, nil -} diff --git a/genny/build/build_deps.go b/genny/build/build_deps.go deleted file mode 100644 index 29c2dc03e..000000000 --- a/genny/build/build_deps.go +++ /dev/null @@ -1,31 +0,0 @@ -package build - -import ( - "os/exec" - - "github.com/gobuffalo/envy" - "github.com/gobuffalo/genny/v2" -) - -func buildDeps(opts *Options) (*genny.Generator, error) { - g := genny.New() - - if err := opts.Validate(); err != nil { - return g, err - } - - if envy.Mods() { - return g, nil - } - - // mount the go get runner - tf := opts.App.BuildTags(opts.Environment, opts.Tags...) - if len(tf) > 0 { - tf = append([]string{"-tags"}, tf.String()) - } - args := []string{"get"} - args = append(args, tf...) - args = append(args, "./...") - g.Command(exec.Command("go", args...)) - return g, nil -} diff --git a/genny/build/build_deps_test.go b/genny/build/build_deps_test.go deleted file mode 100644 index 81dece0aa..000000000 --- a/genny/build/build_deps_test.go +++ /dev/null @@ -1,35 +0,0 @@ -package build - -import ( - "strings" - "testing" - - "github.com/gobuffalo/envy" - "github.com/gobuffalo/genny/v2/gentest" - "github.com/gobuffalo/meta" - "github.com/stretchr/testify/require" -) - -func Test_buildDeps(t *testing.T) { - r := require.New(t) - - opts := &Options{ - Tags: meta.BuildTags{"foo"}, - } - - run := gentest.NewRunner() - run.WithNew(buildDeps(opts)) - - r.NoError(run.Run()) - - res := run.Results() - - if envy.Mods() { - r.Len(res.Commands, 0) - return - } - r.Len(res.Commands, 1) - - c := res.Commands[0] - r.Equal("go get -tags development foo ./...", strings.Join(c.Args, " ")) -} diff --git a/genny/build/build_test.go b/genny/build/build_test.go deleted file mode 100644 index cfb73d8af..000000000 --- a/genny/build/build_test.go +++ /dev/null @@ -1,93 +0,0 @@ -package build - -import ( - "os/exec" - "runtime" - "strings" - "testing" - - "github.com/gobuffalo/envy" - "github.com/gobuffalo/genny/v2" - "github.com/gobuffalo/genny/v2/gentest" - "github.com/gobuffalo/meta" - "github.com/gobuffalo/packr/v2" - "github.com/stretchr/testify/require" -) - -// TODO: once `buffalo new` is converted to use genny -// create an integration test that first generates a new application -// and then tries to build using genny/build. -var coke = packr.New("github.com/gobuffalo/buffalo/genny/build/build_test", "../build/_fixtures/coke") - -var cokeRunner = func() *genny.Runner { - run := gentest.NewRunner() - run.Disk.AddBox(coke) - run.Root = coke.Path - return run -} - -var eq = func(r *require.Assertions, s string, c *exec.Cmd) { - if runtime.GOOS == "windows" { - s = strings.Replace(s, "bin/build", `bin\build.exe`, 1) - s = strings.Replace(s, "bin/foo", `bin\foo.exe`, 1) - } - r.Equal(s, strings.Join(c.Args, " ")) -} - -func Test_New(t *testing.T) { - r := require.New(t) - - run := cokeRunner() - - opts := &Options{ - WithAssets: true, - WithBuildDeps: true, - Environment: "bar", - App: meta.New("."), - } - opts.App.Bin = "bin/foo" - r.NoError(run.WithNew(New(opts))) - run.Root = opts.App.Root - - r.NoError(run.Run()) - - res := run.Results() - - // we should never leave any files modified or dropped - r.Len(res.Files, 0) - - cmds := []string{"go get -d", "go build -tags bar -o bin/foo", "go mod tidy"} - r.Len(res.Commands, len(cmds)) - for i, c := range res.Commands { - eq(r, cmds[i], c) - } -} - -func Test_NewWithoutBuildDeps(t *testing.T) { - envy.Temp(func() { - envy.Set(envy.GO111MODULE, "off") - r := require.New(t) - - run := cokeRunner() - - opts := &Options{ - WithAssets: false, - WithBuildDeps: false, - Environment: "bar", - App: meta.New("."), - } - opts.App.Bin = "bin/foo" - r.NoError(run.WithNew(New(opts))) - run.Root = opts.App.Root - - r.NoError(run.Run()) - - res := run.Results() - - cmds := []string{"go get -d", "go build -tags bar -o bin/foo"} - r.Len(res.Commands, len(cmds)) - for i, c := range res.Commands { - eq(r, cmds[i], c) - } - }) -} diff --git a/genny/build/cleanup.go b/genny/build/cleanup.go deleted file mode 100644 index 860b89e07..000000000 --- a/genny/build/cleanup.go +++ /dev/null @@ -1,48 +0,0 @@ -package build - -import ( - "os" - "os/exec" - "path/filepath" - - "github.com/gobuffalo/envy" - "github.com/gobuffalo/genny/v2" - "github.com/gobuffalo/packr/v2/jam" -) - -// Cleanup all of the generated files -func Cleanup(opts *Options) genny.RunFn { - return func(r *genny.Runner) error { - defer os.RemoveAll(filepath.Join(opts.Root, "a")) - if err := jam.Clean(); err != nil { - return err - } - - var err error - opts.rollback.Range(func(k, v interface{}) bool { - f := genny.NewFileS(k.(string), v.(string)) - r.Logger.Debugf("Rollback: %s", f.Name()) - if err = r.File(f); err != nil { - return false - } - r.Disk.Remove(f.Name()) - return true - }) - if err != nil { - return err - } - for _, f := range r.Disk.Files() { - if _, keep := opts.keep.Load(f.Name()); keep { - // Keep this file - continue - } - r.Disk.Delete(f.Name()) - } - if envy.Mods() && opts.WithBuildDeps { - if err := r.Exec(exec.Command("go", "mod", "tidy")); err != nil { - return err - } - } - return nil - } -} diff --git a/genny/build/cleanup_test.go b/genny/build/cleanup_test.go deleted file mode 100644 index 16d8edf17..000000000 --- a/genny/build/cleanup_test.go +++ /dev/null @@ -1,62 +0,0 @@ -package build - -import ( - "sync" - "testing" - - "github.com/gobuffalo/envy" - "github.com/gobuffalo/genny/v2/gentest" - "github.com/gobuffalo/meta" - "github.com/stretchr/testify/require" -) - -func Test_WithDeps(t *testing.T) { - r := require.New(t) - envy.Set(envy.GO111MODULE, "on") - - run := gentest.NewRunner() - - opts := &Options{ - WithAssets: false, - WithBuildDeps: true, - Environment: "bar", - App: meta.New("."), - } - - emptyMap := sync.Map{} - opts.rollback = &emptyMap - - f := Cleanup(opts) - f(run) - - results := run.Results() - - cmds := []string{"go mod tidy"} - for i, c := range results.Commands { - eq(r, cmds[i], c) - } -} - -func Test_WithoutDeps(t *testing.T) { - r := require.New(t) - envy.Set(envy.GO111MODULE, "on") - - run := gentest.NewRunner() - - opts := &Options{ - WithAssets: false, - WithBuildDeps: false, - Environment: "bar", - App: meta.New("."), - } - - emptyMap := sync.Map{} - opts.rollback = &emptyMap - - f := Cleanup(opts) - f(run) - - results := run.Results() - - r.Len(results.Commands, 0) -} diff --git a/genny/build/events.go b/genny/build/events.go deleted file mode 100644 index b9cb491a2..000000000 --- a/genny/build/events.go +++ /dev/null @@ -1,10 +0,0 @@ -package build - -const ( - // EvtBuildStart is emitted when building starts - EvtBuildStart = "buffalo:build:start" - // EvtBuildStop is emitted when building stops - EvtBuildStop = "buffalo:build:stop" - // EvtBuildStopErr is emitted when building is stopped due to an error - EvtBuildStopErr = "buffalo:build:stop:err" -) diff --git a/genny/build/options.go b/genny/build/options.go deleted file mode 100644 index 492259119..000000000 --- a/genny/build/options.go +++ /dev/null @@ -1,75 +0,0 @@ -package build - -import ( - "os" - "sync" - "time" - - "github.com/gobuffalo/meta" -) - -// Options for building a Buffalo application -type Options struct { - meta.App - // the "timestamp" of the build. defaults to time.Now() - BuildTime time.Time `json:"build_time,omitempty"` - // the "version" of the build. defaults to - // a) git sha of last commit or - // b) to time.RFC3339 of BuildTime - BuildVersion string `json:"build_version,omitempty"` - // CleanAssets will remove the public/assets folder build compiling - CleanAssets bool `json:"clean_assets"` - WithAssets bool `json:"with_assets,omitempty"` - WithBuildDeps bool `json:"with_build_deps,omitempty"` - // places ./public/assets into ./bin/assets.zip. - // requires WithAssets = true - ExtractAssets bool `json:"extract_assets,omitempty"` - // LDFlags to be passed to the final `go build` command - LDFlags string `json:"ld_flags,omitempty"` - // Tags to be passed to the final `go build` command - Tags meta.BuildTags `json:"tags,omitempty"` - // BuildFlags to be passed to the final `go build` command - BuildFlags []string `json:"build_flags,omitempty"` - // Static sets the following flags for the final `go build` command: - // -linkmode external - // -extldflags "-static" - Static bool `json:"static,omitempty"` - // Environment the binary is meant for. defaults to "development" - Environment string `json:"environment,omitempty"` - // TemplateValidators can be used to validate the applications templates. - // Empty by default - TemplateValidators []TemplateValidator `json:"-"` - // Mod is the -mod flag - Mod string `json:"mod"` - // GoCommand is the `go X` command to be used. Default is "build". - GoCommand string `json:"go_command"` - rollback *sync.Map - keep *sync.Map -} - -// Validate that options are usuable -func (opts *Options) Validate() error { - pwd, _ := os.Getwd() - if opts.App.IsZero() { - opts.App = meta.New(pwd) - } - if len(opts.Environment) == 0 { - opts.Environment = "development" - } - if opts.BuildTime.IsZero() { - opts.BuildTime = time.Now() - } - if len(opts.BuildVersion) == 0 { - opts.BuildVersion = opts.BuildTime.Format(time.RFC3339) - } - if opts.rollback == nil { - opts.rollback = &sync.Map{} - } - if opts.keep == nil { - opts.keep = &sync.Map{} - } - if len(opts.GoCommand) == 0 { - opts.GoCommand = "build" - } - return nil -} diff --git a/genny/build/options_test.go b/genny/build/options_test.go deleted file mode 100644 index 24d0acc39..000000000 --- a/genny/build/options_test.go +++ /dev/null @@ -1,14 +0,0 @@ -package build - -import ( - "testing" - - "github.com/stretchr/testify/require" -) - -func Test_Options_Validate(t *testing.T) { - r := require.New(t) - - opts := &Options{} - r.NoError(opts.Validate()) -} diff --git a/genny/build/template_walker.go b/genny/build/template_walker.go deleted file mode 100644 index cc28ea1a7..000000000 --- a/genny/build/template_walker.go +++ /dev/null @@ -1,58 +0,0 @@ -package build - -import ( - "bytes" - "io/ioutil" - "path/filepath" - "strings" - - "github.com/gobuffalo/meta" - "github.com/gobuffalo/packd" - "github.com/karrick/godirwalk" -) - -type dirWalker struct { - dir string -} - -func (d dirWalker) WalkPrefix(pre string, fn packd.WalkFunc) error { - return d.Walk(func(path string, file packd.File) error { - if strings.HasPrefix(path, pre) { - return fn(path, file) - } - return nil - }) -} - -func (d dirWalker) Walk(fn packd.WalkFunc) error { - callback := func(path string, de *godirwalk.Dirent) error { - if de != nil && de.IsDir() { - base := filepath.Base(path) - for _, pre := range []string{"vendor", ".", "_"} { - if strings.HasPrefix(base, pre) { - return filepath.SkipDir - } - } - return nil - } - b, err := ioutil.ReadFile(path) - if err != nil { - return err - } - f, err := packd.NewFile(path, bytes.NewReader(b)) - if err != nil { - return err - } - return fn(path, f) - } - - godirwalk.Walk(d.dir, &godirwalk.Options{ - FollowSymbolicLinks: true, - Callback: callback, - }) - return nil -} - -func templateWalker(app meta.App) packd.Walkable { - return dirWalker{dir: app.Root} -} diff --git a/genny/build/templates/a/aa.go.plush b/genny/build/templates/a/aa.go.plush deleted file mode 100644 index 8d4e14b7c..000000000 --- a/genny/build/templates/a/aa.go.plush +++ /dev/null @@ -1,50 +0,0 @@ -package a - -import ( - "log" - "strings" - "github.com/gobuffalo/flect" - "github.com/gobuffalo/pop/v5" - "github.com/gobuffalo/packr/v2" - <%= if (opts.Environment != "development") { %> - "github.com/gobuffalo/envy" - <% } %> -) - -func init() { - <%= if (opts.Environment != "development") { %> - if err := envy.MustSet("GO_ENV", "<%= opts.Environment %>"); err != nil { - log.Fatal(err) - } - <% } %> - - dropDatabaseYml() - - box := packr.New("buffalo:a:init", "./") - if box.Has("inflections.json") { - s, err := box.FindString("inflections.json") - if err != nil { - log.Fatal(err) - } - r := strings.NewReader(s) - err = flect.LoadInflections(r) - if err != nil { - log.Fatal(err) - } - } -} - -func dropDatabaseYml() { - box := packr.New("buffalo:a:init", "./") - if box.Has("database.yml") { - s, err := box.FindString("database.yml") - if err != nil { - log.Fatal(err) - } - r := strings.NewReader(s) - err = pop.LoadFrom(r) - if err != nil { - log.Fatal(err) - } - } -} diff --git a/genny/build/templates/buffalo_build_main.go.plush b/genny/build/templates/buffalo_build_main.go.plush deleted file mode 100644 index 35a2fe72a..000000000 --- a/genny/build/templates/buffalo_build_main.go.plush +++ /dev/null @@ -1,104 +0,0 @@ -package main - -import ( - "fmt" - "log" - "os" - "os/exec" - "time" - - "github.com/markbates/grift/grift" - "github.com/gobuffalo/buffalo/runtime" - _ "<%= opts.PackagePkg %>/a" - _ "<%= opts.ActionsPkg %>" - <%= if (opts.WithPop) { %> - "github.com/gobuffalo/packr/v2" - "github.com/gobuffalo/pop/v5" - "<%= opts.ModelsPkg %>" - <% } %> - <%= if (opts.WithGrifts) { %> - _ "<%= opts.GriftsPkg %>" - <% } %> -) - -func init() { -t, err := time.Parse(time.RFC3339, "<%= buildTime %>") - if err != nil { - fmt.Println(err) - } - runtime.SetBuild(runtime.BuildInfo{ - Version: "<%= buildVersion %>", - Time: t, - }) -} - -func main() { - args := os.Args - var originalArgs []string - for i, arg := range args { - if arg == "--" { - originalArgs = append([]string{args[0]}, args[i+1:]...) - args = args[:i] - break - } - } - if len(args) == 1 { - if len(originalArgs) != 0 { - os.Args = originalArgs - } - originalMain() - return - } - c := args[1] - switch c { - <%= if (opts.WithPop) { %> - case "migrate": - migrate() - <% } %> - case "version": - printVersion() - case "task", "t", "tasks": - if len(args) < 3 { - log.Fatal("not enough arguments passed to task") - } - c := grift.NewContext(args[2]) - if len(args) > 2 { - c.Args = args[3:] - } - err := grift.Run(args[2], c) - if err != nil { - log.Fatal(err) - } - default: - if _, err := exec.LookPath("buffalo"); err != nil { - if err != nil { - log.Fatal(err) - } - } - cmd := exec.Command("buffalo", args[1:]...) - cmd.Stdin = os.Stdin - cmd.Stdout = os.Stdout - cmd.Stderr = os.Stderr - err := cmd.Run() - if err != nil { - log.Fatal(err) - } - } -} - -func printVersion() { - fmt.Printf("<%= opts.Name.Title() %> version %s\n", runtime.Build()) -} - -<%= if (opts.WithPop) { %> -func migrate() { - box, err := pop.NewMigrationBox(packr.New("app:migrations", "./migrations"), models.DB) - if err != nil { - log.Fatalf("Failed to unpack migrations: %s", err) - } - err = box.Up() - if err != nil { - log.Fatalf("Failed to run migrations: %s", err) - } -} -<% } %> diff --git a/genny/build/templates/migrations/-dot-pop-tmp.md b/genny/build/templates/migrations/-dot-pop-tmp.md deleted file mode 100644 index 0aa0de501..000000000 --- a/genny/build/templates/migrations/-dot-pop-tmp.md +++ /dev/null @@ -1,11 +0,0 @@ -hi! i'm just here to ensure that `buffalo build` has a `./migrations` if the application has pop. - -unfortunately, i'm just temporary, so as much as i would love to meet you, and trust me, i really would (i've heard good things), i have to be going. :( - -if you're seeing me in your application, then something horribly, horribly wrong happened during `buffalo build`, or you ran it with the `-d` flag. :) - -regardless, should you come across me laying about, feel free and delete me. it's ok. it won't hurt. well, it might if you use the `-f` flag, i don't know. - -i'll leave you with these famous parting words: - ->> So long, and thanks for all the fish diff --git a/genny/build/transform_main.go b/genny/build/transform_main.go deleted file mode 100644 index c29a56f79..000000000 --- a/genny/build/transform_main.go +++ /dev/null @@ -1,24 +0,0 @@ -package build - -import ( - "strings" - "sync" - - "github.com/gobuffalo/genny/v2" -) - -func transformMain(opts *Options) genny.RunFn { - if opts.rollback == nil { - opts.rollback = &sync.Map{} - } - return func(r *genny.Runner) error { - f, err := r.FindFile("main.go") - if err != nil { - return err - } - opts.rollback.Store(f.Name(), f.String()) - s := strings.Replace(f.String(), "func main()", "func originalMain()", -1) - f = genny.NewFile(f.Name(), strings.NewReader(s)) - return r.File(f) - } -} diff --git a/genny/build/transform_main_test.go b/genny/build/transform_main_test.go deleted file mode 100644 index f02050a83..000000000 --- a/genny/build/transform_main_test.go +++ /dev/null @@ -1,27 +0,0 @@ -package build - -import ( - "strings" - "testing" - - "github.com/gobuffalo/genny/v2" - "github.com/gobuffalo/genny/v2/gentest" - "github.com/stretchr/testify/require" -) - -func Test_transformMain(t *testing.T) { - r := require.New(t) - - run := gentest.NewRunner() - run.Disk.Add(genny.NewFile("main.go", strings.NewReader(coke.String("main.go")))) - - opts := &Options{} - run.WithRun(transformMain(opts)) - - r.NoError(run.Run()) - - res := run.Results() - r.Len(res.Files, 1) - f := res.Files[0] - r.Contains(f.String(), "func originalMain()") -} diff --git a/genny/build/validate.go b/genny/build/validate.go deleted file mode 100644 index 5259808a1..000000000 --- a/genny/build/validate.go +++ /dev/null @@ -1,83 +0,0 @@ -package build - -import ( - "fmt" - "html/template" - "strings" - - "github.com/gobuffalo/genny/v2" - "github.com/gobuffalo/packd" - "github.com/gobuffalo/plush/v4" - "github.com/markbates/safe" -) - -// TemplateValidator is given a file and returns an -// effort if there is a template validation error -// with the template -type TemplateValidator func(f genny.File) error - -// ValidateTemplates returns a genny.RunFn that will walk the -// given box and run each of the files found through each of the -// template validators -func ValidateTemplates(walk packd.Walker, tvs []TemplateValidator) genny.RunFn { - if len(tvs) == 0 { - return func(r *genny.Runner) error { - return nil - } - } - return func(r *genny.Runner) error { - var errs []string - err := packd.SkipWalker(walk, packd.CommonSkipPrefixes, func(path string, file packd.File) error { - info, err := file.FileInfo() - if err != nil { - return err - } - if info.IsDir() { - return nil - } - - f := genny.NewFile(path, file) - for _, tv := range tvs { - err := safe.Run(func() { - if err := tv(f); err != nil { - errs = append(errs, fmt.Sprintf("template error in file %s: %s", path, err.Error())) - } - }) - if err != nil { - return err - } - } - - return nil - }) - if err != nil { - return err - } - if len(errs) == 0 { - return nil - } - return fmt.Errorf(strings.Join(errs, "\n")) - } -} - -// PlushValidator validates the file is a valid -// Plush file if the extension is .md, .html, or .plush -func PlushValidator(f genny.File) error { - if !genny.HasExt(f, ".html", ".md", ".plush") { - return nil - } - _, err := plush.Parse(f.String()) - return err -} - -// GoTemplateValidator validates the file is a -// valid Go text/template file if the extension -// is .tmpl -func GoTemplateValidator(f genny.File) error { - if !genny.HasExt(f, ".tmpl") { - return nil - } - t := template.New(f.Name()) - _, err := t.Parse(f.String()) - return err -} diff --git a/genny/build/validate_test.go b/genny/build/validate_test.go deleted file mode 100644 index bedc255d2..000000000 --- a/genny/build/validate_test.go +++ /dev/null @@ -1,43 +0,0 @@ -package build - -import ( - "testing" - - "github.com/gobuffalo/genny/v2/gentest" - "github.com/gobuffalo/packd" - "github.com/gobuffalo/packr/v2" - "github.com/stretchr/testify/require" -) - -var goodTemplates = func() packd.Box { - box := packd.NewMemoryBox() - box.AddString("_ignored/c.html", "c") - box.AddString("a.html", "a") - box.AddString("b.md", "b") - return box -}() - -func Test_TemplateValidator_Good(t *testing.T) { - r := require.New(t) - - tvs := []TemplateValidator{PlushValidator} - - run := gentest.NewRunner() - run.WithRun(ValidateTemplates(goodTemplates, tvs)) - - r.NoError(run.Run()) -} - -func Test_TemplateValidator_Bad(t *testing.T) { - r := require.New(t) - - box := packr.New("../build/_fixtures/template_validator/bad", "../build/_fixtures/template_validator/bad") - tvs := []TemplateValidator{PlushValidator} - - run := gentest.NewRunner() - run.WithRun(ValidateTemplates(box, tvs)) - - err := run.Run() - r.Error(err) - r.Equal("template error in file a.html: line 1: no prefix parse function for > found\ntemplate error in file b.md: line 1: no prefix parse function for > found", err.Error()) -} diff --git a/genny/ci/ci-packr.go b/genny/ci/ci-packr.go deleted file mode 100644 index 06da48ef8..000000000 --- a/genny/ci/ci-packr.go +++ /dev/null @@ -1,8 +0,0 @@ -// +build !skippackr -// Code generated by github.com/gobuffalo/packr/v2. DO NOT EDIT. - -// You can use the "packr clean" command to clean up this, -// and any other packr generated files. -package ci - -import _ "github.com/gobuffalo/buffalo/packrd" diff --git a/genny/ci/ci.go b/genny/ci/ci.go deleted file mode 100644 index 736d8b55e..000000000 --- a/genny/ci/ci.go +++ /dev/null @@ -1,66 +0,0 @@ -package ci - -import ( - "fmt" - "html/template" - - "github.com/gobuffalo/genny/v2" - "github.com/gobuffalo/genny/v2/gogen" - "github.com/gobuffalo/packr/v2" -) - -// New generator for adding travis, gitlab, or circleci -func New(opts *Options) (*genny.Generator, error) { - g := genny.New() - - if err := opts.Validate(); err != nil { - return g, err - } - - g.Transformer(genny.Replace("-no-pop", "")) - g.Transformer(genny.Dot()) - - box := packr.New("buffalo:genny:ci", "../ci/templates") - - var fname string - switch opts.Provider { - case "travis", "travis-ci": - fname = "-dot-travis.yml.tmpl" - case "gitlab", "gitlab-ci": - if opts.App.WithPop { - fname = "-dot-gitlab-ci.yml.tmpl" - } else { - fname = "-dot-gitlab-ci-no-pop.yml.tmpl" - } - case "circleci": - fname = "-dot-circleci/config.yml.tmpl" - default: - return g, fmt.Errorf("could not find a template for %s", opts.Provider) - } - - f, err := box.FindString(fname) - if err != nil { - return g, err - } - - g.File(genny.NewFileS(fname, f)) - - data := map[string]interface{}{ - "opts": opts, - } - - if opts.DBType == "postgres" { - data["testDbUrl"] = "postgres://postgres:postgres@postgres:5432/" + opts.App.Name.File().String() + "_test?sslmode=disable" - } else if opts.DBType == "mysql" { - data["testDbUrl"] = "mysql://root:root@(mysql:3306)/" + opts.App.Name.File().String() + "_test?parseTime=true&multiStatements=true&readTimeout=1s" - } else { - data["testDbUrl"] = "" - } - - helpers := template.FuncMap{} - - t := gogen.TemplateTransformer(data, helpers) - g.Transformer(t) - - return g, nil -} diff --git a/genny/ci/ci_test.go b/genny/ci/ci_test.go deleted file mode 100644 index f8d735fb3..000000000 --- a/genny/ci/ci_test.go +++ /dev/null @@ -1,124 +0,0 @@ -package ci - -import ( - "testing" - - "gopkg.in/yaml.v2" - - "github.com/gobuffalo/genny/v2/gentest" - "github.com/gobuffalo/meta" - "github.com/stretchr/testify/require" -) - -func Test_New(t *testing.T) { - r := require.New(t) - - g, err := New(&Options{ - Provider: "travis", - DBType: "postgres", - }) - r.NoError(err) - - run := gentest.NewRunner() - run.With(g) - - r.NoError(run.Run()) - - res := run.Results() - - r.Len(res.Commands, 0) - r.Len(res.Files, 1) - - f := res.Files[0] - r.Equal(".travis.yml", f.Name()) - travisYml := struct { - Language string - Go []string - Env []string - Services []string - BeforeScript []string `yaml:"before_script"` - GoImportPath string `yaml:"go_import_path"` - Install []string - Script string - }{} - r.NoError(yaml.NewDecoder(f).Decode(&travisYml), ".travis.yml is a valid YAML file") -} - -func Test_New_Gitlab(t *testing.T) { - r := require.New(t) - - app := meta.New(".") - app.WithPop = true - - g, err := New(&Options{ - App: app, - Provider: "gitlab", - DBType: "postgres", - }) - r.NoError(err) - - run := gentest.NewRunner() - run.With(g) - - r.NoError(run.Run()) - - res := run.Results() - - r.Len(res.Commands, 0) - r.Len(res.Files, 1) - - f := res.Files[0] - r.Equal(".gitlab-ci.yml", f.Name()) - r.Contains(f.String(), "postgres:5432") -} - -func Test_New_Gitlab_No_pop(t *testing.T) { - r := require.New(t) - - g, err := New(&Options{ - Provider: "gitlab", - DBType: "postgres", - }) - r.NoError(err) - - run := gentest.NewRunner() - run.With(g) - - r.NoError(run.Run()) - - res := run.Results() - - r.Len(res.Commands, 0) - r.Len(res.Files, 1) - - f := res.Files[0] - r.Equal(".gitlab-ci.yml", f.Name()) - r.NotContains(f.String(), "postgres:5432") -} - -func Test_New_Circle(t *testing.T) { - r := require.New(t) - - g, err := New(&Options{ - Provider: "circleci", - DBType: "postgres", - }) - r.NoError(err) - - run := gentest.NewRunner() - run.With(g) - - r.NoError(run.Run()) - - res := run.Results() - - r.Len(res.Commands, 0) - r.Len(res.Files, 1) - - f := res.Files[0] - r.Equal(".circleci/config.yml", f.Name()) - circleYml := struct { - Version int - }{} - r.NoError(yaml.NewDecoder(f).Decode(&circleYml), "config.yml is a valid YAML file") -} diff --git a/genny/ci/options.go b/genny/ci/options.go deleted file mode 100644 index e809df0a4..000000000 --- a/genny/ci/options.go +++ /dev/null @@ -1,66 +0,0 @@ -package ci - -import ( - "fmt" - "strings" - - "github.com/gobuffalo/buffalo/runtime" - - "github.com/gobuffalo/meta" - "github.com/gobuffalo/pop/v5" -) - -// Available CI implementations -var Available = []string{"travis", "gitlab", "circleci"} - -// Options for CI -type Options struct { - App meta.App - DBType string - Provider string - Version string -} - -// Validate that options are usuable -func (opts *Options) Validate() error { - if opts.App.IsZero() { - opts.App = meta.New(".") - } - - if len(opts.Version) == 0 { - opts.Version = runtime.Version - } - - if len(opts.Provider) == 0 { - return fmt.Errorf("no provider chosen") - } - opts.Provider = strings.ToLower(opts.Provider) - - var found bool - for _, a := range Available { - if opts.Provider == a { - found = true - break - } - if opts.Provider == a+"-ci" { - opts.Provider = a - found = true - break - } - } - if !found { - return fmt.Errorf("unknown provider %s expecting one of %s", opts.Provider, strings.Join(Available, ", ")) - } - - found = false - for _, d := range pop.AvailableDialects { - if d == opts.DBType { - found = true - break - } - } - if !found { - return fmt.Errorf("unknown dialect %q expecting one of %s", opts.DBType, strings.Join(pop.AvailableDialects, ", ")) - } - return nil -} diff --git a/genny/ci/options_test.go b/genny/ci/options_test.go deleted file mode 100644 index 669008aeb..000000000 --- a/genny/ci/options_test.go +++ /dev/null @@ -1,21 +0,0 @@ -package ci - -import ( - "testing" - - "github.com/stretchr/testify/require" -) - -func Test_Options_Validate(t *testing.T) { - r := require.New(t) - - opts := &Options{} - err := opts.Validate() - r.Error(err) - - opts.Provider = "travis-ci" - opts.DBType = "postgres" - - err = opts.Validate() - r.NoError(err) -} diff --git a/genny/ci/templates/-dot-circleci/config.yml.tmpl b/genny/ci/templates/-dot-circleci/config.yml.tmpl deleted file mode 100644 index 708bd6dd3..000000000 --- a/genny/ci/templates/-dot-circleci/config.yml.tmpl +++ /dev/null @@ -1,45 +0,0 @@ -version: 2 -jobs: - build: - docker: - - image: circleci/golang:1.12 - {{ if eq .opts.DBType "postgres" -}} - - image: circleci/postgres:9.6-alpine - environment: - POSTGRES_USER: postgres - POSTGRES_DB: {{.opts.App.Name.File}}_test - {{- end }} - - environment: - TEST_RESULTS: /tmp/test-results - - steps: - - checkout - - run: mkdir -p $TEST_RESULTS - - - restore_cache: - keys: - - v1-pkg-cache - - - run: go get github.com/jstemmer/go-junit-report - - - run: go get github.com/gobuffalo/buffalo/buffalo - - run: go mod download - - - run: - name: Run unit tests - command: | - trap "go-junit-report <${TEST_RESULTS}/go-test.out > ${TEST_RESULTS}/go-test-report.xml" EXIT - buffalo test | tee ${TEST_RESULTS}/go-test.out - - - save_cache: - key: v1-pkg-cache - paths: - - "/go/pkg" - - - store_artifacts: - path: /tmp/test-results - destination: raw-test-output - - - store_test_results: - path: /tmp/test-results diff --git a/genny/ci/templates/-dot-gitlab-ci-no-pop.yml.tmpl b/genny/ci/templates/-dot-gitlab-ci-no-pop.yml.tmpl deleted file mode 100644 index 2bbabae53..000000000 --- a/genny/ci/templates/-dot-gitlab-ci-no-pop.yml.tmpl +++ /dev/null @@ -1,26 +0,0 @@ -before_script: - - mkdir -p public/assets - - go get -u github.com/gobuffalo/buffalo/buffalo - - go mod download - -stages: - - test - -.test-vars: &test-vars - variables: - GO_ENV: "test" - -# Golang version choice helper -.use-golang-image: &use-golang-latest - image: golang:latest - -.use-golang-image: &use-golang-1-15 - image: golang:1.15 - -test: - # Change to "<<: *use-golang-latest" to use the latest Go version - <<: *use-golang-1-15 - <<: *test-vars - stage: test - script: - - buffalo test diff --git a/genny/ci/templates/-dot-gitlab-ci.yml.tmpl b/genny/ci/templates/-dot-gitlab-ci.yml.tmpl deleted file mode 100644 index 6e8f70f27..000000000 --- a/genny/ci/templates/-dot-gitlab-ci.yml.tmpl +++ /dev/null @@ -1,48 +0,0 @@ -before_script: -{{- if eq .opts.DBType "postgres" }} - - apt-get update && apt-get install -y postgresql-client -{{- else if eq .opts.DBType "mysql" }} - - apt-get update && apt-get install -y mysql-client -{{- end }} - - mkdir -p public/assets - - go get -u github.com/gobuffalo/buffalo/buffalo - - go mod download - -stages: - - test - -.test-vars: &test-vars - variables: - GO_ENV: "test" -{{- if eq .opts.DBType "postgres" }} - POSTGRES_DB: "{{.opts.App.Name.File}}_test" - POSTGRES_USER: runner - POSTGRES_PASSSWORD: "" - POSTGRES_HOST_AUTH_METHOD: trust - TEST_DATABASE_URL: "postgres://${POSTGRES_USER}:${POSTGRES_PASSWORD}@postgres:5432/${POSTGRES_DB}?sslmode=disable" -{{- else if eq .opts.DBType "mysql" }} - MYSQL_DATABASE: "{{.opts.App.Name.File}}_test" - MYSQL_ROOT_PASSWORD: "root" - TEST_DATABASE_URL: "{{.testDbUrl}}" -{{- end }} - -# Golang version choice helper -.use-golang-image: &use-golang-latest - image: golang:latest - -.use-golang-image: &use-golang-1-15 - image: golang:1.15 - -test: - # Change to "<<: *use-golang-latest" to use the latest Go version - <<: *use-golang-1-15 - <<: *test-vars - stage: test - services: -{{- if eq .opts.DBType "mysql" }} - - mysql:5 -{{- else if eq .opts.DBType "postgres" }} - - postgres:latest -{{- end }} - script: - - buffalo test diff --git a/genny/ci/templates/-dot-travis.yml.tmpl b/genny/ci/templates/-dot-travis.yml.tmpl deleted file mode 100644 index b6fd4e70a..000000000 --- a/genny/ci/templates/-dot-travis.yml.tmpl +++ /dev/null @@ -1,26 +0,0 @@ -language: go - -go: - - "1.11.x" - -env: - - GO_ENV=test - -{{ if eq .opts.DBType "postgres" -}} -services: - - postgresql -{{- end }} - -before_script: -{{- if eq .opts.DBType "postgres" }} - - psql -c 'create database {{.opts.App.Name.File}}_test;' -U postgres -{{- end }} - - mkdir -p $TRAVIS_BUILD_DIR/public/assets - -go_import_path: {{.opts.App.PackagePkg}} - -install: - - go get github.com/gobuffalo/buffalo/buffalo - - go mod download - -script: buffalo test diff --git a/genny/docker/docker-packr.go b/genny/docker/docker-packr.go deleted file mode 100644 index 4eb5f781c..000000000 --- a/genny/docker/docker-packr.go +++ /dev/null @@ -1,8 +0,0 @@ -// +build !skippackr -// Code generated by github.com/gobuffalo/packr/v2. DO NOT EDIT. - -// You can use the "packr clean" command to clean up this, -// and any other packr generated files. -package docker - -import _ "github.com/gobuffalo/buffalo/packrd" diff --git a/genny/docker/docker.go b/genny/docker/docker.go deleted file mode 100644 index 4dd433133..000000000 --- a/genny/docker/docker.go +++ /dev/null @@ -1,37 +0,0 @@ -package docker - -import ( - "text/template" - - "github.com/gobuffalo/genny/v2" - "github.com/gobuffalo/genny/v2/gogen" - "github.com/gobuffalo/packr/v2" -) - -func New(opts *Options) (*genny.Generator, error) { - g := genny.New() - - if err := opts.Validate(); err != nil { - return g, err - } - - data := map[string]interface{}{ - "opts": opts, - } - - g.Box(packr.New("github.com/gobuffalo/buffalo/common", "../docker/templates/common")) - - switch opts.Style { - case "multi": - g.Box(packr.New("github.com/gobuffalo/buffalo/multi", "../docker/templates/multi")) - case "standard": - g.Box(packr.New("github.com/gobuffalo/buffalo/standard", "../docker/templates/standard")) - } - - helpers := template.FuncMap{} - t := gogen.TemplateTransformer(data, helpers) - g.Transformer(t) - g.Transformer(genny.Dot()) - - return g, nil -} diff --git a/genny/docker/docker_test.go b/genny/docker/docker_test.go deleted file mode 100644 index c3b9e3c04..000000000 --- a/genny/docker/docker_test.go +++ /dev/null @@ -1,60 +0,0 @@ -package docker - -import ( - "testing" - - "github.com/gobuffalo/genny/v2/gentest" - "github.com/stretchr/testify/require" -) - -func Test_New(t *testing.T) { - r := require.New(t) - - g, err := New(&Options{}) - r.NoError(err) - - run := gentest.NewRunner() - run.With(g) - - r.NoError(run.Run()) - - res := run.Results() - - r.Len(res.Commands, 0) - - r.Len(res.Files, 2) - - f := res.Files[0] - r.Equal(".dockerignore", f.Name()) - - f = res.Files[1] - r.Equal("Dockerfile", f.Name()) - r.Contains(f.String(), "multi-stage") -} - -func Test_New_Standard(t *testing.T) { - r := require.New(t) - - g, err := New(&Options{ - Style: "standard", - }) - r.NoError(err) - - run := gentest.NewRunner() - run.With(g) - - r.NoError(run.Run()) - - res := run.Results() - - r.Len(res.Commands, 0) - - r.Len(res.Files, 2) - - f := res.Files[0] - r.Equal(".dockerignore", f.Name()) - - f = res.Files[1] - r.Equal("Dockerfile", f.Name()) - r.NotContains(f.String(), "multi-stage") -} diff --git a/genny/docker/options.go b/genny/docker/options.go deleted file mode 100644 index 0c662a6e1..000000000 --- a/genny/docker/options.go +++ /dev/null @@ -1,35 +0,0 @@ -package docker - -import ( - "fmt" - - "github.com/gobuffalo/buffalo/runtime" - "github.com/gobuffalo/meta" -) - -type Options struct { - App meta.App `json:"app"` - Version string `json:"version"` - Style string `json:"style"` -} - -// Validate that options are usuable -func (opts *Options) Validate() error { - if opts.App.IsZero() { - opts.App = meta.New(".") - } - if len(opts.Version) == 0 { - opts.Version = runtime.Version - } - if len(opts.Style) == 0 { - opts.Style = "multi" - } - - switch opts.Style { - case "multi", "standard": - default: - return fmt.Errorf("unknown style option %s", opts.Style) - } - - return nil -} diff --git a/genny/docker/options_test.go b/genny/docker/options_test.go deleted file mode 100644 index 6e484055c..000000000 --- a/genny/docker/options_test.go +++ /dev/null @@ -1,22 +0,0 @@ -package docker - -import ( - "testing" - - "github.com/stretchr/testify/require" -) - -func Test_Options_Validate(t *testing.T) { - r := require.New(t) - - opts := &Options{ - Style: "foo", - } - err := opts.Validate() - r.Error(err) - - opts.Style = "multi" - err = opts.Validate() - r.NoError(err) - -} diff --git a/genny/docker/templates/common/-dot-dockerignore.tmpl b/genny/docker/templates/common/-dot-dockerignore.tmpl deleted file mode 100644 index af960a75a..000000000 --- a/genny/docker/templates/common/-dot-dockerignore.tmpl +++ /dev/null @@ -1,3 +0,0 @@ -node_modules/ -*.log -bin/ diff --git a/genny/docker/templates/multi/Dockerfile.tmpl b/genny/docker/templates/multi/Dockerfile.tmpl deleted file mode 100644 index a1610a715..000000000 --- a/genny/docker/templates/multi/Dockerfile.tmpl +++ /dev/null @@ -1,50 +0,0 @@ -# This is a multi-stage Dockerfile and requires >= Docker 17.05 -# https://docs.docker.com/engine/userguide/eng-image/multistage-build/ -FROM gobuffalo/buffalo:{{.opts.Version}} as builder - -ENV GO111MODULE on -ENV GOPROXY http://proxy.golang.org - -RUN mkdir -p /src/{{.opts.App.PackagePkg}} -WORKDIR /src/{{.opts.App.PackagePkg}} - -{{if .opts.App.WithWebpack -}} -# this will cache the npm install step, unless package.json changes -ADD package.json . -{{if .opts.App.WithYarn -}} -ADD yarn.lock . -RUN yarn install --no-progress -{{else -}} -RUN npm install --no-progress -{{end -}} -{{end -}} - -# Copy the Go Modules manifests -COPY go.mod go.mod -COPY go.sum go.sum -# cache deps before building and copying source so that we don't need to re-download as much -# and so that source changes don't invalidate our downloaded layer -RUN go mod download - -ADD . . -RUN buffalo build --static -o /bin/app - -FROM alpine -RUN apk add --no-cache bash -RUN apk add --no-cache ca-certificates - -WORKDIR /bin/ - -COPY --from=builder /bin/app . - -# Uncomment to run the binary in "production" mode: -# ENV GO_ENV=production - -# Bind the app to 0.0.0.0 so it can be seen from outside the container -ENV ADDR=0.0.0.0 - -EXPOSE 3000 - -# Uncomment to run the migrations before running the binary: -# CMD /bin/app migrate; /bin/app -CMD exec /bin/app diff --git a/genny/docker/templates/standard/Dockerfile.tmpl b/genny/docker/templates/standard/Dockerfile.tmpl deleted file mode 100644 index 4c2e90504..000000000 --- a/genny/docker/templates/standard/Dockerfile.tmpl +++ /dev/null @@ -1,42 +0,0 @@ -FROM gobuffalo/buffalo:{{.opts.Version}} - -ENV GO111MODULE on -ENV GOPROXY http://proxy.golang.org - -RUN mkdir -p /src/{{.opts.App.PackagePkg}} -WORKDIR /src/{{.opts.App.PackagePkg}} - -{{if .opts.App.AsWeb -}} -{{if .opts.App.WithWebpack -}} -# this will cache the npm install step, unless package.json changes -ADD package.json . -{{if .opts.App.WithYarn -}} -ADD yarn.lock . -RUN yarn install --no-progress -{{else -}} -RUN npm install --no-progress -{{end -}} -{{end -}} -{{end -}} - -# Copy the Go Modules manifests -COPY go.mod go.mod -COPY go.sum go.sum -# cache deps before building and copying source so that we don't need to re-download as much -# and so that source changes don't invalidate our downloaded layer -RUN go mod download - -ADD . . -RUN buffalo build --static -o /bin/app - -# Uncomment to run the binary in "production" mode: -# ENV GO_ENV=production - -# Bind the app to 0.0.0.0 so it can be seen from outside the container -ENV ADDR=0.0.0.0 - -EXPOSE 3000 - -# Uncomment to run the migrations before running the binary: -# CMD /bin/app migrate; /bin/app -CMD exec /bin/app diff --git a/genny/grift/grift.go b/genny/grift/grift.go deleted file mode 100644 index 1d77deab1..000000000 --- a/genny/grift/grift.go +++ /dev/null @@ -1,39 +0,0 @@ -package grift - -import ( - "strings" - "text/template" - - "github.com/gobuffalo/genny/v2" - "github.com/gobuffalo/genny/v2/gogen" -) - -// New generator to create a grift task -func New(opts *Options) (*genny.Generator, error) { - g := genny.New() - - if err := opts.Validate(); err != nil { - return g, err - } - - data := map[string]interface{}{ - "opts": opts, - } - t := gogen.TemplateTransformer(data, template.FuncMap{}) - g.Transformer(t) - - g.RunFn(func(r *genny.Runner) error { - return genFile(r, opts) - }) - return g, nil -} - -func genFile(r *genny.Runner, opts *Options) error { - header := tmplHeader - path := "grifts/" + opts.Name.File(".go.tmpl").String() - if f, err := r.FindFile(path); err == nil { - header = f.String() - } - f := genny.NewFile(path, strings.NewReader(header+tmplBody)) - return r.File(f) -} diff --git a/genny/grift/grift_test.go b/genny/grift/grift_test.go deleted file mode 100644 index 2fdb13524..000000000 --- a/genny/grift/grift_test.go +++ /dev/null @@ -1,55 +0,0 @@ -package grift - -import ( - "testing" - - "github.com/gobuffalo/genny/v2/gentest" - "github.com/stretchr/testify/require" -) - -func Test_New(t *testing.T) { - r := require.New(t) - - run := gentest.NewRunner() - err := run.WithNew(New(&Options{ - Args: []string{"foo"}, - })) - r.NoError(err) - r.NoError(run.Run()) - - res := run.Results() - r.Len(res.Commands, 0) - r.Len(res.Files, 1) - - f := res.Files[0] - r.Equal("grifts/foo.go", f.Name()) - body := f.String() - r.Contains(body, `var _ = Add("foo", func(c *Context) error`) -} - -func Test_New_Namespaced(t *testing.T) { - r := require.New(t) - - run := gentest.NewRunner() - err := run.WithNew(New(&Options{ - Args: []string{"foo:bar"}, - })) - r.NoError(err) - r.NoError(run.Run()) - - res := run.Results() - r.Len(res.Commands, 0) - r.Len(res.Files, 1) - - f := res.Files[0] - r.Equal("grifts/bar.go", f.Name()) - body := f.String() - r.Contains(body, `Add("bar", func(c *Context) error`) -} - -func Test_New_No_Name(t *testing.T) { - r := require.New(t) - - _, err := New(&Options{}) - r.Error(err) -} diff --git a/genny/grift/options.go b/genny/grift/options.go deleted file mode 100644 index ab69915ec..000000000 --- a/genny/grift/options.go +++ /dev/null @@ -1,36 +0,0 @@ -package grift - -import ( - "fmt" - "strings" - - "github.com/gobuffalo/flect/name" -) - -// Options for creating a new grift task -type Options struct { - Name name.Ident `json:"name"` - Parts []name.Ident `json:"parts"` - Args []string `json:"args"` - Namespaced bool `json:"namespaced"` -} - -// Last checks if the name is the last of the parts -func (opts Options) Last(n name.Ident) bool { - return opts.Parts[len(opts.Parts)-1].String() == n.String() -} - -// Validate options -func (opts *Options) Validate() error { - if len(opts.Args) == 0 { - return fmt.Errorf("you need to provide a name for the grift task") - } - - opts.Namespaced = strings.Contains(opts.Args[0], ":") - - for _, n := range strings.Split(opts.Args[0], ":") { - opts.Parts = append(opts.Parts, name.New(n)) - } - opts.Name = opts.Parts[len(opts.Parts)-1] - return nil -} diff --git a/genny/grift/templates.go b/genny/grift/templates.go deleted file mode 100644 index dd7c5f288..000000000 --- a/genny/grift/templates.go +++ /dev/null @@ -1,34 +0,0 @@ -package grift - -const tmplHeader = `package grifts - -import ( - . "github.com/markbates/grift/grift" -) -` - -const tmplBody = ` -{{ if .opts.Namespaced }} - {{ range $index, $element := .opts.Parts }} - {{ if $.opts.Last $element}} - Desc("{{$element.File}}", "Task Description") - Add("{{$element.File}}", func(c *Context) error{ - return nil - }) - {{ else }} - {{if eq $index 0}} - var _ = Namespace("{{$element.File}}", func(){ - {{ else }} - Namespace("{{$element.File}}", func(){ - {{end}} - {{ end }} - {{ end }} - {{ range $index, $element := .opts.Parts }} - {{ if $index }} }) {{ end }} - {{ end }} -{{ else }} - var _ = Desc("{{.opts.Name.File}}", "Task Description") - var _ = Add("{{.opts.Name.File}}", func(c *Context) error { - return nil - }) -{{ end }}` diff --git a/genny/info/app.go b/genny/info/app.go deleted file mode 100644 index fb9e6221c..000000000 --- a/genny/info/app.go +++ /dev/null @@ -1,34 +0,0 @@ -package info - -import ( - "fmt" - "reflect" - - "github.com/gobuffalo/genny/v2" -) - -func appDetails(opts *Options) genny.RunFn { - return func(r *genny.Runner) error { - opts.Out.Header("Buffalo: Application Details") - rv := reflect.ValueOf(opts.App) - rt := rv.Type() - - var lines [][]string - for i := 0; i < rt.NumField(); i++ { - f := rt.Field(i) - if !rv.FieldByName(f.Name).CanInterface() { - continue - } - - v := rv.FieldByName(f.Name).Interface() - line := []string{f.Name, fmt.Sprint(v)} - - lines = append(lines, line) - } - err := opts.Out.Tabs(lines) - if err != nil { - return err - } - return opts.Out.WriteString("\n") - } -} diff --git a/genny/info/app_test.go b/genny/info/app_test.go deleted file mode 100644 index 599f19d95..000000000 --- a/genny/info/app_test.go +++ /dev/null @@ -1,34 +0,0 @@ -package info - -import ( - "bytes" - "testing" - - "github.com/gobuffalo/clara/v2/genny/rx" - - "github.com/gobuffalo/genny/v2/gentest" - "github.com/gobuffalo/meta" - "github.com/stretchr/testify/require" -) - -func Test_appDetails(t *testing.T) { - r := require.New(t) - - run := gentest.NewRunner() - - app := meta.New(".") - app.Bin = "paris elephant chevrolet" - - bb := &bytes.Buffer{} - - opts := &Options{ - App: app, - Out: rx.NewWriter(bb), - } - - run.WithRun(appDetails(opts)) - - r.NoError(run.Run()) - - r.Contains(bb.String(), "paris elephant chevrolet") -} diff --git a/genny/info/config.go b/genny/info/config.go deleted file mode 100644 index a3fbc908f..000000000 --- a/genny/info/config.go +++ /dev/null @@ -1,28 +0,0 @@ -package info - -import ( - "path" - - "github.com/gobuffalo/genny/v2" - "github.com/gobuffalo/packd" - "github.com/gobuffalo/packr/v2" -) - -// ListWalker allows for a box that supports listing and walking -type ListWalker interface { - packd.Lister - packd.Walkable -} - -func configs(opts *Options, box ListWalker) genny.RunFn { - return func(r *genny.Runner) error { - if len(box.List()) == 0 { - return nil - } - return box.Walk(func(p string, f packr.File) error { - opts.Out.Header("Buffalo: " + path.Join("config", p)) - opts.Out.WriteString(f.String() + "\n") - return nil - }) - } -} diff --git a/genny/info/config_test.go b/genny/info/config_test.go deleted file mode 100644 index 83b61a876..000000000 --- a/genny/info/config_test.go +++ /dev/null @@ -1,39 +0,0 @@ -package info - -import ( - "bytes" - "testing" - - "github.com/gobuffalo/clara/v2/genny/rx" - - "github.com/gobuffalo/packd" - - "github.com/gobuffalo/genny/v2/gentest" - "github.com/gobuffalo/meta" - "github.com/stretchr/testify/require" -) - -func Test_configs(t *testing.T) { - r := require.New(t) - - run := gentest.NewRunner() - - bb := &bytes.Buffer{} - - app := meta.New(".") - opts := &Options{ - App: app, - Out: rx.NewWriter(bb), - } - - box := packd.NewMemoryBox() - box.AddString("buffalo-app.toml", "app") - box.AddString("buffalo-plugins.toml", "plugins") - run.WithRun(configs(opts, box)) - - r.NoError(run.Run()) - - x := bb.String() - r.Contains(x, "Buffalo: config/buffalo-app.toml\napp") - r.Contains(x, "Buffalo: config/buffalo-plugins.toml\nplugins") -} diff --git a/genny/info/info.go b/genny/info/info.go deleted file mode 100644 index b5351455b..000000000 --- a/genny/info/info.go +++ /dev/null @@ -1,28 +0,0 @@ -package info - -import ( - "path/filepath" - - "github.com/gobuffalo/genny/v2" - "github.com/gobuffalo/packr/v2" -) - -// New returns a generator that performs buffalo -// related rx checks -func New(opts *Options) (*genny.Generator, error) { - g := genny.New() - - if err := opts.Validate(); err != nil { - return g, err - } - - g.RunFn(appDetails(opts)) - - cBox := packr.Folder(filepath.Join(opts.App.Root, "config")) - g.RunFn(configs(opts, cBox)) - - aBox := packr.Folder(opts.App.Root) - g.RunFn(pkgChecks(opts, aBox)) - - return g, nil -} diff --git a/genny/info/info_test.go b/genny/info/info_test.go deleted file mode 100644 index fcd464e8a..000000000 --- a/genny/info/info_test.go +++ /dev/null @@ -1,25 +0,0 @@ -package info - -import ( - "testing" - - "github.com/gobuffalo/genny/v2/gentest" - "github.com/stretchr/testify/require" -) - -func Test_New(t *testing.T) { - r := require.New(t) - - g, err := New(&Options{}) - r.NoError(err) - - run := gentest.NewRunner() - run.With(g) - - r.NoError(run.Run()) - - res := run.Results() - - r.Len(res.Commands, 0) - r.Len(res.Files, 0) -} diff --git a/genny/info/options.go b/genny/info/options.go deleted file mode 100644 index dd22f9fb1..000000000 --- a/genny/info/options.go +++ /dev/null @@ -1,25 +0,0 @@ -package info - -import ( - "os" - - "github.com/gobuffalo/clara/v2/genny/rx" - "github.com/gobuffalo/meta" -) - -// Options for the info generator -type Options struct { - App meta.App - Out rx.Writer -} - -// Validate that options are usuable -func (opts *Options) Validate() error { - if opts.App.IsZero() { - opts.App = meta.New(".") - } - if opts.Out.Writer == nil { - opts.Out = rx.NewWriter(os.Stdout) - } - return nil -} diff --git a/genny/info/options_test.go b/genny/info/options_test.go deleted file mode 100644 index fc632295e..000000000 --- a/genny/info/options_test.go +++ /dev/null @@ -1,15 +0,0 @@ -package info - -import ( - "testing" - - "github.com/stretchr/testify/require" -) - -func Test_Options_Validate(t *testing.T) { - r := require.New(t) - - opts := &Options{} - err := opts.Validate() - r.NoError(err) -} diff --git a/genny/info/pkg.go b/genny/info/pkg.go deleted file mode 100644 index ee677e440..000000000 --- a/genny/info/pkg.go +++ /dev/null @@ -1,19 +0,0 @@ -package info - -import ( - "github.com/gobuffalo/genny/v2" - "github.com/gobuffalo/packd" -) - -func pkgChecks(opts *Options, box packd.Finder) genny.RunFn { - return func(r *genny.Runner) error { - for _, x := range []string{"go.mod"} { - f, err := box.FindString(x) - if err == nil { - opts.Out.Header("\nBuffalo: " + x) - opts.Out.WriteString(f) - } - } - return nil - } -} diff --git a/genny/info/pkg_test.go b/genny/info/pkg_test.go deleted file mode 100644 index 1119cc615..000000000 --- a/genny/info/pkg_test.go +++ /dev/null @@ -1,34 +0,0 @@ -package info - -import ( - "bytes" - "testing" - - "github.com/gobuffalo/clara/v2/genny/rx" - "github.com/gobuffalo/genny/v2/gentest" - "github.com/gobuffalo/meta" - "github.com/gobuffalo/packd" - "github.com/stretchr/testify/require" -) - -func Test_pkgChecks(t *testing.T) { - r := require.New(t) - - bb := &bytes.Buffer{} - - run := gentest.NewRunner() - - opts := &Options{ - App: meta.New("."), - Out: rx.NewWriter(bb), - } - - box := packd.NewMemoryBox() - box.AddString("go.mod", "module foo") - run.WithRun(pkgChecks(opts, box)) - - r.NoError(run.Run()) - - res := bb.String() - r.Contains(res, "Buffalo: go.mod") -} diff --git a/genny/info/templates/example.txt b/genny/info/templates/example.txt deleted file mode 100644 index c53dd0d88..000000000 --- a/genny/info/templates/example.txt +++ /dev/null @@ -1 +0,0 @@ -Hello from Info diff --git a/genny/mail/init/templates/mailers/mailers.go.tmpl b/genny/mail/init/templates/mailers/mailers.go.tmpl deleted file mode 100644 index 5b6f366b6..000000000 --- a/genny/mail/init/templates/mailers/mailers.go.tmpl +++ /dev/null @@ -1,35 +0,0 @@ -package mailers - -import ( - "log" - - "github.com/gobuffalo/buffalo/render" - "github.com/gobuffalo/envy" - "github.com/gobuffalo/packr/v2" - "github.com/gobuffalo/buffalo/mail" -) - -var smtp mail.Sender -var r *render.Engine - -func init() { - - // Pulling config from the env. - port := envy.Get("SMTP_PORT", "1025") - host := envy.Get("SMTP_HOST", "localhost") - user := envy.Get("SMTP_USER", "") - password := envy.Get("SMTP_PASSWORD", "") - - var err error - smtp, err = mail.NewSMTPSender(host, port, user, password) - - if err != nil { - log.Fatal(err) - } - - r = render.New(render.Options{ - HTMLLayout: "layout.html", - TemplatesBox: packr.New("app:mailers:templates", "../templates/mail"), - Helpers: render.Helpers{}, - }) -} diff --git a/genny/mail/init/templates/templates/mail/layout.plush.html.tmpl b/genny/mail/init/templates/templates/mail/layout.plush.html.tmpl deleted file mode 100644 index 8b3241e9d..000000000 --- a/genny/mail/init/templates/templates/mail/layout.plush.html.tmpl +++ /dev/null @@ -1,3 +0,0 @@ -

templates/mailers/layout.plush.html

- -<%= yield %> diff --git a/genny/mail/mail-packr.go b/genny/mail/mail-packr.go deleted file mode 100644 index 5f3e353ab..000000000 --- a/genny/mail/mail-packr.go +++ /dev/null @@ -1,8 +0,0 @@ -// +build !skippackr -// Code generated by github.com/gobuffalo/packr/v2. DO NOT EDIT. - -// You can use the "packr clean" command to clean up this, -// and any other packr generated files. -package mail - -import _ "github.com/gobuffalo/buffalo/packrd" diff --git a/genny/mail/mail.go b/genny/mail/mail.go deleted file mode 100644 index 3a2afc489..000000000 --- a/genny/mail/mail.go +++ /dev/null @@ -1,86 +0,0 @@ -package mail - -import ( - "text/template" - - "github.com/gobuffalo/genny/v2" - "github.com/gobuffalo/genny/v2/gogen" - "github.com/gobuffalo/packr/v2" -) - -// New mailer generator. It will init the mailers directory if it doesn't already exist -func New(opts *Options) (*genny.Group, error) { - gg := &genny.Group{} - - if err := opts.Validate(); err != nil { - return gg, err - } - - if !opts.SkipInit { - g, err := initGenerator(opts) - if err != nil { - return gg, err - } - gg.Add(g) - } - - g := genny.New() - h := template.FuncMap{} - data := map[string]interface{}{ - "opts": opts, - } - t := gogen.TemplateTransformer(data, h) - g.Transformer(t) - - fn := opts.Name.File().String() - g.File(genny.NewFileS("mailers/"+fn+".go.tmpl", mailerTmpl)) - g.File(genny.NewFileS("templates/mail/"+fn+".plush.html.tmpl", mailTmpl)) - gg.Add(g) - - return gg, nil -} - -func initGenerator(opts *Options) (*genny.Generator, error) { - g := genny.New() - - g.Box(packr.New("github.com/gobuffalo/buffalo/genny/mail/init/templates", "../mail/init/templates")) - h := template.FuncMap{} - data := map[string]interface{}{ - "opts": opts, - } - t := gogen.TemplateTransformer(data, h) - g.Transformer(t) - - g.Should = func(r *genny.Runner) bool { - _, err := r.FindFile("mailers/mailers.go") - return err != nil - } - opts.Name.Titleize() - return g, nil -} - -const mailerTmpl = `package mailers - -import ( - "github.com/gobuffalo/buffalo/render" - "github.com/gobuffalo/buffalo/mail" -) - -func Send{{.opts.Name.Resource}}() error { - m := mail.NewMessage() - - // fill in with your stuff: - m.Subject = "{{.opts.Name.Titleize}}" - m.From = "" - m.To = []string{} - err := m.AddBody(r.HTML("{{.opts.Name.File}}.html"), render.Data{}) - if err != nil { - return err - } - return smtp.Send(m) -} -` - -const mailTmpl = `

{{.opts.Name.Titleize}}

- -

../templates/mail/{{.opts.Name.File}}.plush.html

` diff --git a/genny/mail/mail_test.go b/genny/mail/mail_test.go deleted file mode 100644 index a84121320..000000000 --- a/genny/mail/mail_test.go +++ /dev/null @@ -1,66 +0,0 @@ -package mail - -import ( - "testing" - - "github.com/gobuffalo/flect/name" - "github.com/gobuffalo/genny/v2" - "github.com/gobuffalo/genny/v2/gentest" - "github.com/stretchr/testify/require" -) - -func Test_New_NoMailers(t *testing.T) { - r := require.New(t) - gg, err := New(&Options{Name: name.New("foo")}) - r.NoError(err) - - run := gentest.NewRunner() - gg.With(run) - r.NoError(run.Run()) - - res := run.Results() - r.Len(res.Commands, 0) - r.Len(res.Files, 4) - - f := res.Files[0] - r.Equal("mailers/foo.go", f.Name()) - body := f.String() - r.Contains(body, `err := m.AddBody(r.HTML("foo.html"), render.Data{})`) - - f = res.Files[1] - r.Equal("mailers/mailers.go", f.Name()) - - f = res.Files[2] - r.Equal("templates/mail/foo.plush.html", f.Name()) - body = f.String() - r.Contains(body, `

../templates/mail/foo.plush.html

`) - - f = res.Files[3] - r.Equal("templates/mail/layout.plush.html", f.Name()) -} - -func Test_New_WithMailers(t *testing.T) { - r := require.New(t) - - run := gentest.NewRunner() - run.Disk.Add(genny.NewFileS("mailers/mailers.go", "")) - - gg, err := New(&Options{Name: name.New("foo")}) - r.NoError(err) - gg.With(run) - r.NoError(run.Run()) - - res := run.Results() - r.Len(res.Commands, 0) - r.Len(res.Files, 3) - - f := res.Files[0] - r.Equal("mailers/foo.go", f.Name()) - body := f.String() - r.Contains(body, `err := m.AddBody(r.HTML("foo.html"), render.Data{})`) - - f = res.Files[2] - r.Equal("templates/mail/foo.plush.html", f.Name()) - body = f.String() - r.Contains(body, `

../templates/mail/foo.plush.html

`) -} diff --git a/genny/mail/options.go b/genny/mail/options.go deleted file mode 100644 index abd7bd01e..000000000 --- a/genny/mail/options.go +++ /dev/null @@ -1,27 +0,0 @@ -package mail - -import ( - "fmt" - - "github.com/gobuffalo/flect/name" - "github.com/gobuffalo/meta" -) - -// Options needed to create a new mailer -type Options struct { - App meta.App `json:"app"` - Name name.Ident `json:"name"` - SkipInit bool `json:"skip_init"` -} - -// Validate options are useful -func (opts *Options) Validate() error { - if opts.App.IsZero() { - opts.App = meta.New(".") - } - - if len(opts.Name.String()) == 0 { - return fmt.Errorf("you must supply a name for your mailer") - } - return nil -} diff --git a/genny/newapp/api/api-packr.go b/genny/newapp/api/api-packr.go deleted file mode 100644 index 488d9b971..000000000 --- a/genny/newapp/api/api-packr.go +++ /dev/null @@ -1,8 +0,0 @@ -// +build !skippackr -// Code generated by github.com/gobuffalo/packr/v2. DO NOT EDIT. - -// You can use the "packr clean" command to clean up this, -// and any other packr generated files. -package api - -import _ "github.com/gobuffalo/buffalo/packrd" diff --git a/genny/newapp/api/api.go b/genny/newapp/api/api.go deleted file mode 100644 index 8e5bfa875..000000000 --- a/genny/newapp/api/api.go +++ /dev/null @@ -1,37 +0,0 @@ -package api - -import ( - "html/template" - - "github.com/gobuffalo/buffalo/genny/newapp/core" - "github.com/gobuffalo/genny/v2" - "github.com/gobuffalo/genny/v2/gogen" - "github.com/gobuffalo/packr/v2" -) - -// New generator for creating a Buffalo API application -func New(opts *Options) (*genny.Group, error) { - if err := opts.Validate(); err != nil { - return nil, err - } - - gg, err := core.New(opts.Options) - if err != nil { - return gg, err - } - - g := genny.New() - data := map[string]interface{}{ - "opts": opts, - } - - helpers := template.FuncMap{} - - t := gogen.TemplateTransformer(data, helpers) - g.Transformer(t) - g.Box(packr.New("buffalo:genny:newapp:api", "../api/templates")) - - gg.Add(g) - - return gg, nil -} diff --git a/genny/newapp/api/api_test.go b/genny/newapp/api/api_test.go deleted file mode 100644 index 4b9f26347..000000000 --- a/genny/newapp/api/api_test.go +++ /dev/null @@ -1,104 +0,0 @@ -package api - -import ( - "strings" - "testing" - - "github.com/gobuffalo/buffalo/genny/newapp/core" - "github.com/gobuffalo/envy" - "github.com/gobuffalo/genny/v2/gentest" - "github.com/gobuffalo/meta" - "github.com/stretchr/testify/require" -) - -func init() { - // normalize command output - envy.Set("GO_BIN", "go") -} - -func Test_New(t *testing.T) { - r := require.New(t) - - app := meta.Named("api", ".") - (&app).PackageRoot("api") - app.WithModules = false - app.AsAPI = true - app.AsWeb = false - - gg, err := New(&Options{ - Options: &core.Options{ - App: app, - }, - }) - r.NoError(err) - - run := gentest.NewRunner() - run.WithGroup(gg) - - r.NoError(run.Run()) - - res := run.Results() - - cmds := []string{ - "go mod init api", - } - r.Len(res.Commands, len(cmds)) - - for i, c := range res.Commands { - r.Equal(cmds[i], strings.Join(c.Args, " ")) - } - - expected := commonExpected - for _, e := range expected { - _, err = res.Find(e) - r.NoError(err) - } - - f, err := res.Find("actions/render.go") - r.NoError(err) - r.Contains(f.String(), `DefaultContentType: "application/json",`) - - f, err = res.Find("actions/home.go") - r.NoError(err) - r.Contains(f.String(), `return c.Render(http.StatusOK, r.JSON(map[string]string{"message": "Welcome to Buffalo!"}))`) - - f, err = res.Find("actions/app.go") - r.NoError(err) - r.Contains(f.String(), `i18n "github.com/gobuffalo/mw-i18n"`) - r.Contains(f.String(), `var T *i18n.Translator`) - r.Contains(f.String(), `func translations() buffalo.MiddlewareFunc {`) - - f, err = res.Find("locales/all.en-us.yaml") - r.NoError(err) - r.Contains(f.String(), `translation: "Welcome to Buffalo (EN)"`) - - unexpected := []string{ - "Dockerfile", - "database.yml", - "models/models.go", - "go.mod", - ".buffalo.dev.yml", - "assets/css/application.scss.css", - "public/assets/application.js", - } - - for _, u := range unexpected { - _, err = res.Find(u) - r.Error(err) - } -} - -var commonExpected = []string{ - "main.go", - "actions/app.go", - "actions/actions_test.go", - "actions/render.go", - "actions/home.go", - "actions/home_test.go", - "fixtures/sample.toml", - "grifts/init.go", - ".codeclimate.yml", - ".env", - "inflections.json", - "README.md", -} diff --git a/genny/newapp/api/options.go b/genny/newapp/api/options.go deleted file mode 100644 index 286c643ca..000000000 --- a/genny/newapp/api/options.go +++ /dev/null @@ -1,18 +0,0 @@ -package api - -import ( - "github.com/gobuffalo/buffalo/genny/newapp/core" -) - -// Options for API applications -type Options struct { - *core.Options -} - -// Validate that options are usuable -func (opts *Options) Validate() error { - if opts.Options == nil { - opts.Options = &core.Options{} - } - return opts.Options.Validate() -} diff --git a/genny/newapp/api/options_test.go b/genny/newapp/api/options_test.go deleted file mode 100644 index 778f64ec1..000000000 --- a/genny/newapp/api/options_test.go +++ /dev/null @@ -1 +0,0 @@ -package api diff --git a/genny/newapp/api/templates/actions/app.go.tmpl b/genny/newapp/api/templates/actions/app.go.tmpl deleted file mode 100644 index c5bbe8f0c..000000000 --- a/genny/newapp/api/templates/actions/app.go.tmpl +++ /dev/null @@ -1,95 +0,0 @@ -package actions - -import ( - "github.com/gobuffalo/envy" - "github.com/gobuffalo/buffalo" - forcessl "github.com/gobuffalo/mw-forcessl" - paramlogger "github.com/gobuffalo/mw-paramlogger" - "github.com/unrolled/secure" - i18n "github.com/gobuffalo/mw-i18n" - - {{ if .opts.App.WithPop }} - "{{.opts.App.ModelsPkg}}" - "github.com/gobuffalo/buffalo-pop/v2/pop/popmw" - {{ end -}} - - "github.com/rs/cors" - "github.com/gobuffalo/x/sessions" - contenttype "github.com/gobuffalo/mw-contenttype" -) - -// ENV is used to help switch settings based on where the -// application is being run. Default is "development". -var ENV = envy.Get("GO_ENV", "development") -var app *buffalo.App -var T *i18n.Translator - -// App is where all routes and middleware for buffalo -// should be defined. This is the nerve center of your -// application. -// -// Routing, middleware, groups, etc... are declared TOP -> DOWN. -// This means if you add a middleware to `app` *after* declaring a -// group, that group will NOT have that new middleware. The same -// is true of resource declarations as well. -// -// It also means that routes are checked in the order they are declared. -// `ServeFiles` is a CATCH-ALL route, so it should always be -// placed last in the route declarations, as it will prevent routes -// declared after it to never be called. -func App() *buffalo.App { - if app == nil { - app = buffalo.New(buffalo.Options{ - Env: ENV, - SessionStore: sessions.Null{}, - PreWares: []buffalo.PreWare{ - cors.Default().Handler, - }, - SessionName: "_{{.opts.App.Name.File}}_session", - }) - - // Automatically redirect to SSL - app.Use(forceSSL()) - - // Log request parameters (filters apply). - app.Use(paramlogger.ParameterLogger) - - // Set the request content type to JSON - app.Use(contenttype.Set("application/json")) - - {{ if .opts.App.WithPop }} - // Wraps each request in a transaction. - // c.Value("tx").(*pop.Connection) - // Remove to disable this. - app.Use(popmw.Transaction(models.DB)) - {{ end }} - - app.GET("/", HomeHandler) - } - - return app -} - -// translations will load locale files, set up the translator `actions.T`, -// and will return a middleware to use to load the correct locale for each -// request. -// for more information: https://gobuffalo.io/en/docs/localization -func translations() buffalo.MiddlewareFunc { - var err error - if T, err = i18n.New(packr.New("app:locales", "../locales"), "en-US"); err != nil { - app.Stop(err) - } - return T.Middleware() -} - -// forceSSL will return a middleware that will redirect an incoming request -// if it is not HTTPS. "http://example.com" => "https://example.com". -// This middleware does **not** enable SSL. for your application. To do that -// we recommend using a proxy: https://gobuffalo.io/en/docs/proxy -// for more information: https://github.com/unrolled/secure/ -func forceSSL() buffalo.MiddlewareFunc { - return forcessl.Middleware(secure.Options{ - SSLRedirect: ENV == "production", - SSLProxyHeaders: map[string]string{"X-Forwarded-Proto": "https"}, - }) -} diff --git a/genny/newapp/api/templates/actions/home.go.tmpl b/genny/newapp/api/templates/actions/home.go.tmpl deleted file mode 100644 index 8ef5cd430..000000000 --- a/genny/newapp/api/templates/actions/home.go.tmpl +++ /dev/null @@ -1,13 +0,0 @@ -package actions - -import ( - "net/http" - - "github.com/gobuffalo/buffalo" -) - -// HomeHandler is a default handler to serve up -// a home page. -func HomeHandler(c buffalo.Context) error { - return c.Render(http.StatusOK, r.JSON(map[string]string{"message": "Welcome to Buffalo!"})) -} diff --git a/genny/newapp/api/templates/actions/home_test.go.tmpl b/genny/newapp/api/templates/actions/home_test.go.tmpl deleted file mode 100644 index d5cf583de..000000000 --- a/genny/newapp/api/templates/actions/home_test.go.tmpl +++ /dev/null @@ -1,10 +0,0 @@ -package actions - -import "net/http" - -func (as *ActionSuite) Test_HomeHandler() { - res := as.JSON("/").Get() - - as.Equal(http.StatusOK, res.Code) - as.Contains(res.Body.String(), "Welcome to Buffalo") -} diff --git a/genny/newapp/api/templates/actions/render.go.tmpl b/genny/newapp/api/templates/actions/render.go.tmpl deleted file mode 100644 index 5ea169e52..000000000 --- a/genny/newapp/api/templates/actions/render.go.tmpl +++ /dev/null @@ -1,13 +0,0 @@ -package actions - -import ( - "github.com/gobuffalo/buffalo/render" -) - -var r *render.Engine - -func init() { - r = render.New(render.Options{ - DefaultContentType: "application/json", - }) -} diff --git a/genny/newapp/api/templates/locales/all.en-us.yaml.tmpl b/genny/newapp/api/templates/locales/all.en-us.yaml.tmpl deleted file mode 100644 index 6514e2100..000000000 --- a/genny/newapp/api/templates/locales/all.en-us.yaml.tmpl +++ /dev/null @@ -1,3 +0,0 @@ -# For more information on using i18n see: https://github.com/nicksnyder/go-i18n -- id: welcome_greeting - translation: "Welcome to Buffalo (EN)" diff --git a/genny/newapp/core/core-packr.go b/genny/newapp/core/core-packr.go deleted file mode 100644 index 190c8a13d..000000000 --- a/genny/newapp/core/core-packr.go +++ /dev/null @@ -1,8 +0,0 @@ -// +build !skippackr -// Code generated by github.com/gobuffalo/packr/v2. DO NOT EDIT. - -// You can use the "packr clean" command to clean up this, -// and any other packr generated files. -package core - -import _ "github.com/gobuffalo/buffalo/packrd" diff --git a/genny/newapp/core/core.go b/genny/newapp/core/core.go deleted file mode 100644 index 7c902827b..000000000 --- a/genny/newapp/core/core.go +++ /dev/null @@ -1,92 +0,0 @@ -package core - -import ( - pop "github.com/gobuffalo/buffalo-pop/v2/genny/newapp" - "github.com/gobuffalo/buffalo/genny/ci" - "github.com/gobuffalo/buffalo/genny/docker" - "github.com/gobuffalo/buffalo/genny/plugins/install" - "github.com/gobuffalo/buffalo/genny/refresh" - "github.com/gobuffalo/buffalo/internal/takeon/github.com/markbates/errx" - "github.com/gobuffalo/buffalo/plugins/plugdeps" - "github.com/gobuffalo/genny/v2" - "github.com/gobuffalo/meta" -) - -// New generator for creating a Buffalo application -func New(opts *Options) (*genny.Group, error) { - gg := &genny.Group{} - - // add the root generator - g, err := rootGenerator(opts) - if err != nil { - return gg, err - } - gg.Add(g) - - app := opts.App - - plugs, err := plugdeps.List(app) - if err != nil && (errx.Unwrap(err) != plugdeps.ErrMissingConfig) { - return nil, err - } - - if opts.Docker != nil { - // add the docker generator - g, err = docker.New(opts.Docker) - if err != nil { - return gg, err - } - gg.Add(g) - } - - if opts.Pop != nil { - // add the pop generator - gg2, err := pop.New(opts.Pop) - if err != nil { - return gg, err - } - gg.Merge(gg2) - - // add the plugin - plugs.Add(plugdeps.Plugin{ - Binary: "buffalo-pop", - GoGet: "github.com/gobuffalo/buffalo-pop/v2", - }) - } - - if opts.CI != nil { - // add the CI generator - g, err = ci.New(opts.CI) - if err != nil { - return gg, err - } - gg.Add(g) - } - - if opts.Refresh != nil { - g, err = refresh.New(opts.Refresh) - if err != nil { - return gg, err - } - gg.Add(g) - } - - // --- - - // install all of the plugins - iopts := &install.Options{ - App: app, - Plugins: plugs.List(), - } - if app.WithSQLite { - iopts.Tags = meta.BuildTags{"sqlite"} - } - - ig, err := install.New(iopts) - if err != nil { - return gg, err - } - gg.Merge(ig) - - return gg, nil -} diff --git a/genny/newapp/core/core_test.go b/genny/newapp/core/core_test.go deleted file mode 100644 index 78c2eb359..000000000 --- a/genny/newapp/core/core_test.go +++ /dev/null @@ -1,104 +0,0 @@ -package core - -import ( - "testing" - - "github.com/gobuffalo/buffalo/genny/docker" - "github.com/gobuffalo/envy" - "github.com/gobuffalo/genny/v2/gentest" - "github.com/gobuffalo/meta" - "github.com/stretchr/testify/require" -) - -func init() { - // normalize command output - envy.Set("GO_BIN", "go") -} - -func Test_New(t *testing.T) { - r := require.New(t) - envy.Temp(func() { - envy.Set(envy.GO111MODULE, "on") - - app := meta.Named("coke", ".") - (&app).PackageRoot("coke") - app.WithModules = true - - gg, err := New(&Options{ - App: app, - }) - r.NoError(err) - - run := gentest.NewRunner() - run.WithGroup(gg) - - r.NoError(run.Run()) - - res := run.Results() - - cmds := []string{ - "go mod init coke", - } - r.NoError(gentest.CompareCommands(cmds, res.Commands)) - - expected := commonExpected - for _, e := range expected { - _, err = res.Find(e) - r.NoError(err) - } - - unexpected := []string{ - "Dockerfile", - "database.yml", - "models/models.go", - ".buffalo.dev.yml", - "assets/css/application.scss.css", - "public/assets/application.js", - } - for _, u := range unexpected { - _, err = res.Find(u) - r.Error(err) - } - - }) -} - -func Test_New_Docker(t *testing.T) { - r := require.New(t) - - app := meta.New(".") - app.WithModules = false - - gg, err := New(&Options{ - Docker: &docker.Options{}, - }) - r.NoError(err) - - run := gentest.NewRunner() - run.WithGroup(gg) - - r.NoError(run.Run()) - - res := run.Results() - - expected := append(commonExpected, "Dockerfile") - for _, e := range expected { - _, err := res.Find(e) - r.NoError(err) - } -} - -var commonExpected = []string{ - "main.go", - "actions/app.go", - "actions/actions_test.go", - "actions/render.go", - "actions/home.go", - "actions/home_test.go", - "fixtures/sample.toml", - "grifts/init.go", - ".codeclimate.yml", - ".env", - "inflections.json", - "README.md", -} diff --git a/genny/newapp/core/errors.go b/genny/newapp/core/errors.go deleted file mode 100644 index 854ce7521..000000000 --- a/genny/newapp/core/errors.go +++ /dev/null @@ -1,6 +0,0 @@ -package core - -import "fmt" - -// ErrNotInGoPath is thrown when not using go modules outside of GOPATH -var ErrNotInGoPath = fmt.Errorf("currently not in a $GOPATH") diff --git a/genny/newapp/core/options.go b/genny/newapp/core/options.go deleted file mode 100644 index 9ed4c344b..000000000 --- a/genny/newapp/core/options.go +++ /dev/null @@ -1,100 +0,0 @@ -package core - -import ( - "fmt" - "regexp" - "strings" - - "github.com/gobuffalo/buffalo-pop/v2/genny/newapp" - "github.com/gobuffalo/buffalo/genny/ci" - "github.com/gobuffalo/buffalo/genny/docker" - "github.com/gobuffalo/buffalo/genny/refresh" - "github.com/gobuffalo/buffalo/genny/vcs" - "github.com/gobuffalo/buffalo/runtime" - "github.com/gobuffalo/meta" -) - -// Options for a new Buffalo application -type Options struct { - App meta.App - Docker *docker.Options - Pop *newapp.Options - CI *ci.Options - VCS *vcs.Options - Refresh *refresh.Options - Version string - ForbiddenNames []string -} - -// Validate that options are usuable -func (opts *Options) Validate() error { - if opts.App.IsZero() { - opts.App = meta.New(".") - } - - if len(opts.Version) == 0 { - opts.Version = runtime.Version - } - - if opts.Pop != nil { - if err := opts.Pop.Validate(); err != nil { - return err - } - opts.Pop.Root = opts.App.Root - } - - if opts.CI != nil { - if opts.CI.App.IsZero() { - opts.CI.App = opts.App - } - if err := opts.CI.Validate(); err != nil { - return err - } - } - - if opts.Refresh != nil { - if opts.Refresh.App.IsZero() { - opts.Refresh.App = opts.App - } - if err := opts.Refresh.Validate(); err != nil { - return err - } - } - - if opts.VCS != nil { - if opts.VCS.App.IsZero() { - opts.VCS.App = opts.App - } - if err := opts.VCS.Validate(); err != nil { - return err - } - } - - name := strings.ToLower(opts.App.Name.String()) - for _, n := range opts.ForbiddenNames { - rx, err := regexp.Compile(n) - if err != nil { - return err - } - if rx.MatchString(name) { - return fmt.Errorf("name %s is not allowed, try a different application name", opts.App.Name) - } - } - - keywords := []string{"buffalo", "test", "dev"} - for _, kw := range keywords { - if name != kw { - continue - } - - return fmt.Errorf("name %s is not allowed, try a different application name", opts.App.Name) - } - - if !nameRX.MatchString(name) { - return fmt.Errorf("name %s is not allowed, application name can only contain [a-Z0-9-_]", opts.App.Name) - } - - return nil -} - -var nameRX = regexp.MustCompile(`^[\w-]+$`) diff --git a/genny/newapp/core/options_test.go b/genny/newapp/core/options_test.go deleted file mode 100644 index a8964c825..000000000 --- a/genny/newapp/core/options_test.go +++ /dev/null @@ -1,36 +0,0 @@ -package core - -import ( - "testing" - - "github.com/gobuffalo/flect/name" - "github.com/gobuffalo/meta" - "github.com/stretchr/testify/require" -) - -func Test_Options_Validate(t *testing.T) { - r := require.New(t) - - app := meta.New(".") - app.Name = name.New("buffalo") - - opts := &Options{ - App: app, - } - - err := opts.Validate() - r.Error(err) - - opts.App.Name = name.New("coke") - err = opts.Validate() - r.NoError(err) - - opts.App.Name = name.New("#$(@#)") - err = opts.Validate() - r.Error(err) - - opts.App.Name = name.New("coke") - err = opts.Validate() - r.NoError(err) - -} diff --git a/genny/newapp/core/root.go b/genny/newapp/core/root.go deleted file mode 100644 index afa7aea43..000000000 --- a/genny/newapp/core/root.go +++ /dev/null @@ -1,48 +0,0 @@ -package core - -import ( - "html/template" - "os/exec" - - "github.com/BurntSushi/toml" - "github.com/gobuffalo/genny/v2" - "github.com/gobuffalo/genny/v2/gogen" - "github.com/gobuffalo/packr/v2" -) - -func rootGenerator(opts *Options) (*genny.Generator, error) { - g := genny.New() - - // validate opts - if err := opts.Validate(); err != nil { - return g, err - } - - g.Command(exec.Command("go", "mod", "init", opts.App.PackagePkg)) - - g.Transformer(genny.Dot()) - - // add common templates - if err := g.Box(packr.New("buffalo:genny:newapp:core", "../core/templates")); err != nil { - return g, err - } - - data := map[string]interface{}{ - "opts": opts, - } - - helpers := template.FuncMap{} - - t := gogen.TemplateTransformer(data, helpers) - g.Transformer(t) - - g.RunFn(func(r *genny.Runner) error { - f := genny.NewFile("config/buffalo-app.toml", nil) - if err := toml.NewEncoder(f).Encode(opts.App); err != nil { - return err - } - return r.File(f) - }) - - return g, nil -} diff --git a/genny/newapp/core/templates/-dot-codeclimate.yml.tmpl b/genny/newapp/core/templates/-dot-codeclimate.yml.tmpl deleted file mode 100644 index bef69009f..000000000 --- a/genny/newapp/core/templates/-dot-codeclimate.yml.tmpl +++ /dev/null @@ -1,23 +0,0 @@ -version: "2" -checks: - method-lines: - config: - threshold: 100 -plugins: - fixme: - enabled: true - gofmt: - enabled: true - golint: - enabled: true - govet: - enabled: true -exclude_patterns: - - grifts/**/* - - "**/*_test.go" - - "*_test.go" - - "**_test.go" - - logs/* - - public/* - - templates/* - - "**/node_modules/" diff --git a/genny/newapp/core/templates/-dot-env.tmpl b/genny/newapp/core/templates/-dot-env.tmpl deleted file mode 100644 index 6dedde674..000000000 --- a/genny/newapp/core/templates/-dot-env.tmpl +++ /dev/null @@ -1,9 +0,0 @@ -# This .env file was generated by buffalo, add here the env variables you need -# buffalo to load into the ENV on application startup so your application works correctly. -# To add variables use KEY=VALUE format, you can later retrieve this in your application -# by using os.Getenv("KEY"). -# -# Example: -# DATABASE_PASSWORD=XXXXXXXXX -# SESSION_SECRET=XXXXXXXXX -# SMTP_SERVER=XXXXXXXXX diff --git a/genny/newapp/core/templates/README.md.tmpl b/genny/newapp/core/templates/README.md.tmpl deleted file mode 100644 index cb5c4f428..000000000 --- a/genny/newapp/core/templates/README.md.tmpl +++ /dev/null @@ -1,38 +0,0 @@ -# Welcome to Buffalo! - -Thank you for choosing Buffalo for your web development needs. - -{{ if .opts.App.WithPop -}} -## Database Setup - -It looks like you chose to set up your application using a database! Fantastic! - -The first thing you need to do is open up the "database.yml" file and edit it to use the correct usernames, passwords, hosts, etc... that are appropriate for your environment. - -You will also need to make sure that **you** start/install the database of your choice. Buffalo **won't** install and start it for you. - -### Create Your Databases - -Ok, so you've edited the "database.yml" file and started your database, now Buffalo can create the databases in that file for you: - - $ buffalo pop create -a - -{{end -}} - -## Starting the Application - -Buffalo ships with a command that will watch your application and automatically rebuild the Go binary and any assets for you. To do that run the "buffalo dev" command: - - $ buffalo dev - -If you point your browser to [http://127.0.0.1:3000](http://127.0.0.1:3000) you should see a "Welcome to Buffalo!" page. - -**Congratulations!** You now have your Buffalo application up and running. - -## What Next? - -We recommend you heading over to [http://gobuffalo.io](http://gobuffalo.io) and reviewing all of the great documentation there. - -Good luck! - -[Powered by Buffalo](http://gobuffalo.io) diff --git a/genny/newapp/core/templates/actions/actions_test.go.tmpl b/genny/newapp/core/templates/actions/actions_test.go.tmpl deleted file mode 100644 index 82bfe1e3f..000000000 --- a/genny/newapp/core/templates/actions/actions_test.go.tmpl +++ /dev/null @@ -1,24 +0,0 @@ -package actions - -import ( - "testing" - - "github.com/gobuffalo/packr/v2" - "github.com/gobuffalo/suite" -) - -type ActionSuite struct { - *suite.Action -} - -func Test_ActionSuite(t *testing.T) { - action, err := suite.NewActionWithFixtures(App(), packr.New("Test_ActionSuite", "../fixtures")) - if err != nil { - t.Fatal(err) - } - - as := &ActionSuite{ - Action: action, - } - suite.Run(t, as) -} diff --git a/genny/newapp/core/templates/actions/app.go.tmpl b/genny/newapp/core/templates/actions/app.go.tmpl deleted file mode 100644 index 985876b31..000000000 --- a/genny/newapp/core/templates/actions/app.go.tmpl +++ /dev/null @@ -1,58 +0,0 @@ -package actions - -import ( - "github.com/gobuffalo/buffalo" - "github.com/gobuffalo/envy" - forcessl "github.com/gobuffalo/mw-forcessl" - paramlogger "github.com/gobuffalo/mw-paramlogger" - "github.com/unrolled/secure" -) - -// ENV is used to help switch settings based on where the -// application is being run. Default is "development". -var ENV = envy.Get("GO_ENV", "development") -var app *buffalo.App - -// App is where all routes and middleware for buffalo -// should be defined. This is the nerve center of your -// application. -// -// Routing, middleware, groups, etc... are declared TOP -> DOWN. -// This means if you add a middleware to `app` *after* declaring a -// group, that group will NOT have that new middleware. The same -// is true of resource declarations as well. -// -// It also means that routes are checked in the order they are declared. -// `ServeFiles` is a CATCH-ALL route, so it should always be -// placed last in the route declarations, as it will ensure routes -// declared after it will never be called. -func App() *buffalo.App { - if app == nil { - app = buffalo.New(buffalo.Options{ - Env: ENV, - SessionName: "_{{.opts.App.Name.File}}_session", - }) - - // Automatically redirect to SSL - app.Use(forceSSL()) - - // Log request parameters (filters apply). - app.Use(paramlogger.ParameterLogger) - - app.GET("/", HomeHandler) - } - - return app -} - -// forceSSL will return a middleware that will redirect an incoming request -// if it is not HTTPS. "http://example.com" => "https://example.com". -// This middleware does **not** enable SSL. for your application. To do that -// we recommend using a proxy: https://gobuffalo.io/en/docs/proxy -// for more information: https://github.com/unrolled/secure/ -func forceSSL() buffalo.MiddlewareFunc { - return forcessl.Middleware(secure.Options{ - SSLRedirect: ENV == "production", - SSLProxyHeaders: map[string]string{"X-Forwarded-Proto": "https"}, - }) -} diff --git a/genny/newapp/core/templates/actions/home.go.tmpl b/genny/newapp/core/templates/actions/home.go.tmpl deleted file mode 100644 index efc4eee95..000000000 --- a/genny/newapp/core/templates/actions/home.go.tmpl +++ /dev/null @@ -1,13 +0,0 @@ -package actions - -import ( - "net/http" - - "github.com/gobuffalo/buffalo" -) - -// HomeHandler is a default handler to serve up -// a home page. -func HomeHandler(c buffalo.Context) error { - return c.Render(http.StatusOK, r.String("Hello from Buffalo")) -} diff --git a/genny/newapp/core/templates/actions/home_test.go.tmpl b/genny/newapp/core/templates/actions/home_test.go.tmpl deleted file mode 100644 index 08065ebdb..000000000 --- a/genny/newapp/core/templates/actions/home_test.go.tmpl +++ /dev/null @@ -1,10 +0,0 @@ -package actions - -import "net/http" - -func (as *ActionSuite) Test_HomeHandler() { - res := as.HTML("/").Get() - - as.Equal(http.StatusOK, res.Code) - as.Contains(res.Body.String(), "Welcome to Buffalo") -} diff --git a/genny/newapp/core/templates/actions/render.go.tmpl b/genny/newapp/core/templates/actions/render.go.tmpl deleted file mode 100644 index 5079adab5..000000000 --- a/genny/newapp/core/templates/actions/render.go.tmpl +++ /dev/null @@ -1,11 +0,0 @@ -package actions - -import ( - "github.com/gobuffalo/buffalo/render" -) - -var r *render.Engine - -func init() { - r = render.New(render.Options{}) -} diff --git a/genny/newapp/core/templates/fixtures/sample.toml.tmpl b/genny/newapp/core/templates/fixtures/sample.toml.tmpl deleted file mode 100644 index b9281d496..000000000 --- a/genny/newapp/core/templates/fixtures/sample.toml.tmpl +++ /dev/null @@ -1,32 +0,0 @@ -[[scenario]] -name = "lots of widgets" - - [[scenario.table]] - name = "widgets" - - [[scenario.table.row]] - id = "<%= uuidNamed("widget") %>" - name = "This is widget #1" - body = "some widget body" - created_at = "<%= now() %>" - updated_at = "<%= now() %>" - - [[scenario.table.row]] - id = "<%= uuid() %>" - name = "This is widget #2" - body = "some widget body" - created_at = "<%= now() %>" - updated_at = "<%= now() %>" - - [[scenario.table]] - name = "users" - - [[scenario.table.row]] - id = "<%= uuid() %>" - name = "Mark Bates" - admin = true - age = 41 - widget_id = "<%= uuidNamed("widget") %>" - created_at = "<%= now() %>" - updated_at = "<%= now() %>" - diff --git a/genny/newapp/core/templates/grifts/init.go.tmpl b/genny/newapp/core/templates/grifts/init.go.tmpl deleted file mode 100644 index 423a7eaf3..000000000 --- a/genny/newapp/core/templates/grifts/init.go.tmpl +++ /dev/null @@ -1,10 +0,0 @@ -package grifts - -import ( - "github.com/gobuffalo/buffalo" - "{{ .opts.App.ActionsPkg }}" -) - -func init() { - buffalo.Grifts(actions.App()) -} diff --git a/genny/newapp/core/templates/inflections.json.tmpl b/genny/newapp/core/templates/inflections.json.tmpl deleted file mode 100644 index ef0214f3a..000000000 --- a/genny/newapp/core/templates/inflections.json.tmpl +++ /dev/null @@ -1,3 +0,0 @@ -{ - "singular": "plural" -} diff --git a/genny/newapp/core/templates/main.go.tmpl b/genny/newapp/core/templates/main.go.tmpl deleted file mode 100644 index de000e5ec..000000000 --- a/genny/newapp/core/templates/main.go.tmpl +++ /dev/null @@ -1,38 +0,0 @@ -package main - -import ( - "log" - - "{{ .opts.App.ActionsPkg }}" -) - -// main is the starting point for your Buffalo application. -// You can feel free and add to this `main` method, change -// what it does, etc... -// All we ask is that, at some point, you make sure to -// call `app.Serve()`, unless you don't want to start your -// application that is. :) -func main() { - app := actions.App() - if err := app.Serve(); err != nil { - log.Fatal(err) - } -} - -/* -# Notes about `main.go` - -## SSL Support - -We recommend placing your application behind a proxy, such as -Apache or Nginx and letting them do the SSL heavy lifting -for you. https://gobuffalo.io/en/docs/proxy - -## Buffalo Build - -When `buffalo build` is run to compile your binary, this `main` -function will be at the heart of that binary. It is expected -that your `main` function will start your application using -the `app.Serve()` method. - -*/ diff --git a/genny/newapp/web/options.go b/genny/newapp/web/options.go deleted file mode 100644 index 559cfe12c..000000000 --- a/genny/newapp/web/options.go +++ /dev/null @@ -1,51 +0,0 @@ -package web - -import ( - "fmt" - - "github.com/gobuffalo/buffalo/genny/assets/standard" - "github.com/gobuffalo/buffalo/genny/assets/webpack" - "github.com/gobuffalo/buffalo/genny/newapp/core" -) - -// Options for a web app -type Options struct { - *core.Options - Webpack *webpack.Options - Standard *standard.Options -} - -// Validate that options are usuable -func (opts *Options) Validate() error { - if opts.Options == nil { - opts.Options = &core.Options{} - } - - if err := opts.Options.Validate(); err != nil { - return err - } - - if opts.Docker != nil { - if opts.Docker.App.IsZero() { - opts.Docker.App = opts.App - } - if err := opts.Docker.Validate(); err != nil { - return err - } - } - - if opts.Webpack != nil { - if opts.Webpack.App.IsZero() { - opts.Webpack.App = opts.App - } - if err := opts.Webpack.Validate(); err != nil { - return err - } - } - - if opts.Standard != nil && opts.Webpack != nil { - return fmt.Errorf("you can not use both webpack and standard generators") - } - - return nil -} diff --git a/genny/newapp/web/options_test.go b/genny/newapp/web/options_test.go deleted file mode 100644 index efb389526..000000000 --- a/genny/newapp/web/options_test.go +++ /dev/null @@ -1 +0,0 @@ -package web diff --git a/genny/newapp/web/templates/actions/app.go.tmpl b/genny/newapp/web/templates/actions/app.go.tmpl deleted file mode 100644 index d32d5568b..000000000 --- a/genny/newapp/web/templates/actions/app.go.tmpl +++ /dev/null @@ -1,96 +0,0 @@ -package actions - -import ( - "github.com/gobuffalo/envy" - "github.com/gobuffalo/buffalo" - forcessl "github.com/gobuffalo/mw-forcessl" - paramlogger "github.com/gobuffalo/mw-paramlogger" - "github.com/unrolled/secure" - - {{ if .opts.App.WithPop }} - "{{.opts.App.ModelsPkg}}" - "github.com/gobuffalo/buffalo-pop/v2/pop/popmw" - {{ end -}} - - csrf "github.com/gobuffalo/mw-csrf" - i18n "github.com/gobuffalo/mw-i18n" - "github.com/gobuffalo/packr/v2" -) - -// ENV is used to help switch settings based on where the -// application is being run. Default is "development". -var ENV = envy.Get("GO_ENV", "development") -var app *buffalo.App -var T *i18n.Translator - -// App is where all routes and middleware for buffalo -// should be defined. This is the nerve center of your -// application. -// -// Routing, middleware, groups, etc... are declared TOP -> DOWN. -// This means if you add a middleware to `app` *after* declaring a -// group, that group will NOT have that new middleware. The same -// is true of resource declarations as well. -// -// It also means that routes are checked in the order they are declared. -// `ServeFiles` is a CATCH-ALL route, so it should always be -// placed last in the route declarations, as it will prevent routes -// declared after it to never be called. -func App() *buffalo.App { - if app == nil { - app = buffalo.New(buffalo.Options{ - Env: ENV, - SessionName: "_{{.opts.App.Name.File}}_session", - }) - - // Automatically redirect to SSL - app.Use(forceSSL()) - - // Log request parameters (filters apply). - app.Use(paramlogger.ParameterLogger) - - // Protect against CSRF attacks. https://www.owasp.org/index.php/Cross-Site_Request_Forgery_(CSRF) - // Remove to disable this. - app.Use(csrf.New) - - {{ if .opts.App.WithPop }} - // Wraps each request in a transaction. - // c.Value("tx").(*pop.Connection) - // Remove to disable this. - app.Use(popmw.Transaction(models.DB)) - {{ end }} - - // Setup and use translations: - app.Use(translations()) - - app.GET("/", HomeHandler) - - app.ServeFiles("/", assetsBox) // serve files from the public directory - } - - return app -} - -// translations will load locale files, set up the translator `actions.T`, -// and will return a middleware to use to load the correct locale for each -// request. -// for more information: https://gobuffalo.io/en/docs/localization -func translations() buffalo.MiddlewareFunc { - var err error - if T, err = i18n.New(packr.New("app:locales", "../locales"), "en-US"); err != nil { - app.Stop(err) - } - return T.Middleware() -} - -// forceSSL will return a middleware that will redirect an incoming request -// if it is not HTTPS. "http://example.com" => "https://example.com". -// This middleware does **not** enable SSL. for your application. To do that -// we recommend using a proxy: https://gobuffalo.io/en/docs/proxy -// for more information: https://github.com/unrolled/secure/ -func forceSSL() buffalo.MiddlewareFunc { - return forcessl.Middleware(secure.Options{ - SSLRedirect: ENV == "production", - SSLProxyHeaders: map[string]string{"X-Forwarded-Proto": "https"}, - }) -} diff --git a/genny/newapp/web/templates/actions/home.go.tmpl b/genny/newapp/web/templates/actions/home.go.tmpl deleted file mode 100644 index 151df6db8..000000000 --- a/genny/newapp/web/templates/actions/home.go.tmpl +++ /dev/null @@ -1,13 +0,0 @@ -package actions - -import ( - "net/http" - - "github.com/gobuffalo/buffalo" -) - -// HomeHandler is a default handler to serve up -// a home page. -func HomeHandler(c buffalo.Context) error { - return c.Render(http.StatusOK, r.HTML("index.html")) -} diff --git a/genny/newapp/web/templates/actions/home_test.go.tmpl b/genny/newapp/web/templates/actions/home_test.go.tmpl deleted file mode 100644 index 08065ebdb..000000000 --- a/genny/newapp/web/templates/actions/home_test.go.tmpl +++ /dev/null @@ -1,10 +0,0 @@ -package actions - -import "net/http" - -func (as *ActionSuite) Test_HomeHandler() { - res := as.HTML("/").Get() - - as.Equal(http.StatusOK, res.Code) - as.Contains(res.Body.String(), "Welcome to Buffalo") -} diff --git a/genny/newapp/web/templates/actions/render.go.tmpl b/genny/newapp/web/templates/actions/render.go.tmpl deleted file mode 100644 index 7256d3449..000000000 --- a/genny/newapp/web/templates/actions/render.go.tmpl +++ /dev/null @@ -1,28 +0,0 @@ -package actions - -import ( - "github.com/gobuffalo/packr/v2" - "github.com/gobuffalo/buffalo/render" -) - -var r *render.Engine -var assetsBox = packr.New("app:assets", "../public") - -func init() { - r = render.New(render.Options{ - // HTML layout to be used for all HTML requests: - HTMLLayout: "application.plush.html", - - // Box containing all of the templates: - TemplatesBox: packr.New("app:templates", "../templates"), - AssetsBox: assetsBox, - - // Add template helpers here: - Helpers: render.Helpers{ - // for non-bootstrap form helpers uncomment the lines - // below and import "github.com/gobuffalo/helpers/forms" - // forms.FormKey: forms.Form, - // forms.FormForKey: forms.FormFor, - }, - }) -} diff --git a/genny/newapp/web/templates/locales/all.en-us.yaml.tmpl b/genny/newapp/web/templates/locales/all.en-us.yaml.tmpl deleted file mode 100644 index 6514e2100..000000000 --- a/genny/newapp/web/templates/locales/all.en-us.yaml.tmpl +++ /dev/null @@ -1,3 +0,0 @@ -# For more information on using i18n see: https://github.com/nicksnyder/go-i18n -- id: welcome_greeting - translation: "Welcome to Buffalo (EN)" diff --git a/genny/newapp/web/templates/public/robots.txt.tmpl b/genny/newapp/web/templates/public/robots.txt.tmpl deleted file mode 100644 index 1f53798bb..000000000 --- a/genny/newapp/web/templates/public/robots.txt.tmpl +++ /dev/null @@ -1,2 +0,0 @@ -User-agent: * -Disallow: / diff --git a/genny/newapp/web/templates/templates/_flash.plush.html.tmpl b/genny/newapp/web/templates/templates/_flash.plush.html.tmpl deleted file mode 100644 index adc4b27ba..000000000 --- a/genny/newapp/web/templates/templates/_flash.plush.html.tmpl +++ /dev/null @@ -1,14 +0,0 @@ -
-
- <%= for (k, messages) in flash { %> - <%= for (msg) in messages { %> - - <% } %> - <% } %> -
-
diff --git a/genny/newapp/web/templates/templates/application.plush.html.tmpl b/genny/newapp/web/templates/templates/application.plush.html.tmpl deleted file mode 100644 index de0bef953..000000000 --- a/genny/newapp/web/templates/templates/application.plush.html.tmpl +++ /dev/null @@ -1,24 +0,0 @@ - - - - - - Buffalo - {{ .opts.App.Name.Titleize }} - {{- if not .opts.App.WithWebpack }} - <%= stylesheetTag("buffalo.css") %> - {{- end }} - <%= stylesheetTag("application.css") %> - - - "> - - - -
- <%= partial("flash.html") %> - <%= yield %> -
- - <%= javascriptTag("application.js") %> - - diff --git a/genny/newapp/web/templates/templates/index.plush.html.tmpl b/genny/newapp/web/templates/templates/index.plush.html.tmpl deleted file mode 100644 index 9f429382f..000000000 --- a/genny/newapp/web/templates/templates/index.plush.html.tmpl +++ /dev/null @@ -1,64 +0,0 @@ -
-
-
- -
-

<%= t("welcome_greeting") %>

-

- https://github.com/gobuffalo/buffalo -

-

- Documentation -

-
-
-
- -
- -
-
-
-
-

Defined Routes

-
-
-
- - - - - - - - - - - - <%= for (r) in routes { %> - - - - - - - <% } %> - - -
METHODPATHNAMEHANDLER
- <%= r.Method %> - - <%= if (r.Method != "GET" || r.Path ~= "{") { - return r.Path - } else { - return linkTo(r.Path, {body: r.Path}) - } %> - - <%= r.PathName %> - <%= r.HandlerName %>
-
-
-
-
Powered by gobuffalo.io
diff --git a/genny/newapp/web/web-packr.go b/genny/newapp/web/web-packr.go deleted file mode 100644 index 09a1cbd7b..000000000 --- a/genny/newapp/web/web-packr.go +++ /dev/null @@ -1,8 +0,0 @@ -// +build !skippackr -// Code generated by github.com/gobuffalo/packr/v2. DO NOT EDIT. - -// You can use the "packr clean" command to clean up this, -// and any other packr generated files. -package web - -import _ "github.com/gobuffalo/buffalo/packrd" diff --git a/genny/newapp/web/web.go b/genny/newapp/web/web.go deleted file mode 100644 index aba3336cf..000000000 --- a/genny/newapp/web/web.go +++ /dev/null @@ -1,58 +0,0 @@ -package web - -import ( - "html/template" - - "github.com/gobuffalo/buffalo/genny/assets/standard" - "github.com/gobuffalo/buffalo/genny/assets/webpack" - "github.com/gobuffalo/buffalo/genny/newapp/core" - "github.com/gobuffalo/genny/v2" - "github.com/gobuffalo/genny/v2/gogen" - "github.com/gobuffalo/packr/v2" -) - -// New generator for creating a Buffalo Web application -func New(opts *Options) (*genny.Group, error) { - if err := opts.Validate(); err != nil { - return nil, err - } - - gg, err := core.New(opts.Options) - if err != nil { - return gg, err - } - - g := genny.New() - g.Transformer(genny.Dot()) - data := map[string]interface{}{ - "opts": opts, - } - - helpers := template.FuncMap{} - - t := gogen.TemplateTransformer(data, helpers) - g.Transformer(t) - g.Box(packr.New("github.com/gobuffalo/buffalo:genny/newapp/web", "../web/templates")) - - gg.Add(g) - - if opts.Webpack != nil { - // add the webpack generator - g, err = webpack.New(opts.Webpack) - if err != nil { - return gg, err - } - gg.Add(g) - } - - if opts.Standard != nil { - // add the standard generator - g, err = standard.New(opts.Standard) - if err != nil { - return gg, err - } - gg.Add(g) - } - - return gg, nil -} diff --git a/genny/newapp/web/web_test.go b/genny/newapp/web/web_test.go deleted file mode 100644 index ea38a98a1..000000000 --- a/genny/newapp/web/web_test.go +++ /dev/null @@ -1,95 +0,0 @@ -package web - -import ( - "strings" - "testing" - - "github.com/gobuffalo/buffalo/genny/newapp/core" - "github.com/gobuffalo/envy" - "github.com/gobuffalo/genny/v2/gentest" - "github.com/gobuffalo/meta" - "github.com/stretchr/testify/require" -) - -func init() { - // normalize command output - envy.Set("GO_BIN", "go") -} - -func Test_New(t *testing.T) { - r := require.New(t) - - app := meta.Named("web", ".") - (&app).PackageRoot("web") - app.WithModules = true - envy.Set(envy.GO111MODULE, "on") - - gg, err := New(&Options{ - Options: &core.Options{ - App: app, - }, - }) - r.NoError(err) - - run := gentest.NewRunner() - run.WithGroup(gg) - - r.NoError(run.Run()) - - res := run.Results() - - cmds := []string{ - "go mod init web", - } - r.Len(res.Commands, len(cmds)) - - for i, c := range res.Commands { - r.Equal(cmds[i], strings.Join(c.Args, " ")) - } - - for _, e := range commonExpected { - _, err = res.Find(e) - r.NoError(err) - } - - f, err := res.Find("actions/render.go") - r.NoError(err) - - body := f.String() - r.Contains(body, `TemplatesBox: packr.New("app:templates", "../templates"),`) - r.NotContains(body, `DefaultContentType: "application/json",`) - unexpected := []string{ - "Dockerfile", - "database.yml", - "models/models.go", - "go.mod", - ".buffalo.dev.yml", - "assets/css/application.scss.css", - "public/assets/application.js", - } - - for _, u := range unexpected { - _, err = res.Find(u) - r.Error(err) - } -} - -var commonExpected = []string{ - "main.go", - "actions/app.go", - "actions/actions_test.go", - "actions/render.go", - "actions/home.go", - "actions/home_test.go", - "fixtures/sample.toml", - "grifts/init.go", - ".codeclimate.yml", - ".env", - "inflections.json", - "README.md", - "locales/all.en-us.yaml", - "public/robots.txt", - "templates/_flash.plush.html", - "templates/application.plush.html", - "templates/index.plush.html", -} diff --git a/genny/plugins/install/install.go b/genny/plugins/install/install.go deleted file mode 100644 index 238f76a4a..000000000 --- a/genny/plugins/install/install.go +++ /dev/null @@ -1,88 +0,0 @@ -package install - -import ( - "fmt" - "go/build" - "os" - "os/exec" - "path/filepath" - - "github.com/gobuffalo/buffalo/genny/add" - "github.com/gobuffalo/buffalo/plugins/plugdeps" - "github.com/gobuffalo/genny/v2" -) - -// New installs plugins and then added them to the config file -func New(opts *Options) (*genny.Group, error) { - gg := &genny.Group{} - - if err := opts.Validate(); err != nil { - return gg, err - } - - aopts := &add.Options{ - App: opts.App, - Plugins: opts.Plugins, - } - - if err := aopts.Validate(); err != nil { - return gg, err - } - - g := genny.New() - proot := filepath.Join(opts.App.Root, "plugins") - for _, p := range opts.Plugins { - if len(p.GoGet) == 0 { - continue - } - - var args []string - if len(p.Tags) > 0 { - args = append(args, "-tags", p.Tags.String()) - } - bargs := []string{"get"} - bargs = append(bargs, args...) - bargs = append(bargs, p.GoGet) - g.Command(exec.Command("go", bargs...)) - if opts.Vendor { - g.RunFn(pRun(proot, p)) - } - } - gg.Add(g) - - g, err := add.New(aopts) - if err != nil { - return gg, err - } - - gg.Add(g) - - return gg, nil -} - -func pRun(proot string, p plugdeps.Plugin) genny.RunFn { - return func(r *genny.Runner) error { - c := build.Default - if c.GOOS == "windows" { - return fmt.Errorf("vendoring of plugins is currently not supported on windows. PRs are VERY welcome! :)") - } - - bp := filepath.Join(c.GOPATH, "bin", p.Binary) - sf, err := r.FindFile(bp) - if err != nil { - return err - } - - pbp := filepath.Join(proot, p.Binary) - r.Disk.Delete(pbp) - - df := genny.NewFile(pbp, sf) - if err := r.File(df); err != nil { - return err - } - - os.Chmod(pbp, 0555) - - return nil - } -} diff --git a/genny/plugins/install/install_test.go b/genny/plugins/install/install_test.go deleted file mode 100644 index 8c177fbbf..000000000 --- a/genny/plugins/install/install_test.go +++ /dev/null @@ -1,58 +0,0 @@ -package install - -import ( - "bytes" - "go/build" - "io" - "path/filepath" - "strings" - "testing" - - "github.com/gobuffalo/buffalo/plugins/plugdeps" - "github.com/gobuffalo/genny/v2" - "github.com/gobuffalo/genny/v2/gentest" - "github.com/gobuffalo/meta" - "github.com/stretchr/testify/require" -) - -func Test_New(t *testing.T) { - r := require.New(t) - - g, err := New(&Options{ - App: meta.New("."), - Plugins: []plugdeps.Plugin{ - {Binary: "buffalo-pop", GoGet: "github.com/gobuffalo/buffalo-pop/v2", Tags: meta.BuildTags{"sqlite"}}, - {Binary: "buffalo-hello.rb", Local: "./plugins/buffalo-hello.rb"}, - }, - }) - r.NoError(err) - - run := gentest.NewRunner() - c := build.Default - run.Disk.Add(genny.NewFile(filepath.Join(c.GOPATH, "bin", "buffalo-pop"), &bytes.Buffer{})) - run.FileFn = func(f genny.File) (genny.File, error) { - bb := &bytes.Buffer{} - if _, err := io.Copy(bb, f); err != nil { - return f, err - } - return genny.NewFile(f.Name(), bb), nil - } - - run.WithGroup(g) - - r.NoError(run.Run()) - - res := run.Results() - - ecmds := []string{"go get -tags sqlite github.com/gobuffalo/buffalo-pop/v2"} - r.Len(res.Commands, len(ecmds)) - for i, c := range res.Commands { - r.Equal(ecmds[i], strings.Join(c.Args, " ")) - } - - efiles := []string{"bin/buffalo-pop", "config/buffalo-plugins.toml"} - r.Len(res.Files, len(efiles)) - for i, f := range res.Files { - r.True(strings.HasSuffix(f.Name(), efiles[i])) - } -} diff --git a/genny/plugins/install/options.go b/genny/plugins/install/options.go deleted file mode 100644 index 4b6bd4b5d..000000000 --- a/genny/plugins/install/options.go +++ /dev/null @@ -1,43 +0,0 @@ -package install - -import ( - "os" - - "github.com/gobuffalo/buffalo/internal/takeon/github.com/markbates/errx" - "github.com/gobuffalo/buffalo/plugins/plugdeps" - "github.com/gobuffalo/meta" -) - -// Options container for passing needed info for -// installing plugins and adding them to the config file. -type Options struct { - App meta.App - Plugins []plugdeps.Plugin - Tags meta.BuildTags - Vendor bool -} - -// Validate that options are usuable -func (opts *Options) Validate() error { - if opts.App.IsZero() { - pwd, err := os.Getwd() - if err != nil { - return err - } - opts.App = meta.New(pwd) - } - if len(opts.Plugins) == 0 { - plugs, err := plugdeps.List(opts.App) - if err != nil && (errx.Unwrap(err) != plugdeps.ErrMissingConfig) { - return err - } - opts.Plugins = plugs.List() - } - - for i, p := range opts.Plugins { - p.Tags = opts.App.BuildTags("", append(opts.Tags, p.Tags...)...) - opts.Plugins[i] = p - } - - return nil -} diff --git a/genny/plugins/install/options_test.go b/genny/plugins/install/options_test.go deleted file mode 100644 index e94ed1407..000000000 --- a/genny/plugins/install/options_test.go +++ /dev/null @@ -1,15 +0,0 @@ -package install - -import ( - "testing" - - "github.com/stretchr/testify/require" -) - -func Test_Options_Validate(t *testing.T) { - r := require.New(t) - - opts := &Options{} - err := opts.Validate() - r.NoError(err) -} diff --git a/genny/refresh/options.go b/genny/refresh/options.go deleted file mode 100644 index a3ec0282b..000000000 --- a/genny/refresh/options.go +++ /dev/null @@ -1,16 +0,0 @@ -package refresh - -import "github.com/gobuffalo/meta" - -// Options for creating a new refresh config -type Options struct { - App meta.App -} - -// Validate options -func (opts *Options) Validate() error { - if opts.App.IsZero() { - opts.App = meta.New(".") - } - return nil -} diff --git a/genny/refresh/refresh-packr.go b/genny/refresh/refresh-packr.go deleted file mode 100644 index 2084ab042..000000000 --- a/genny/refresh/refresh-packr.go +++ /dev/null @@ -1,8 +0,0 @@ -// +build !skippackr -// Code generated by github.com/gobuffalo/packr/v2. DO NOT EDIT. - -// You can use the "packr clean" command to clean up this, -// and any other packr generated files. -package refresh - -import _ "github.com/gobuffalo/buffalo/packrd" diff --git a/genny/refresh/refresh.go b/genny/refresh/refresh.go deleted file mode 100644 index 7142cfb40..000000000 --- a/genny/refresh/refresh.go +++ /dev/null @@ -1,23 +0,0 @@ -package refresh - -import ( - "github.com/gobuffalo/genny/v2" - "github.com/gobuffalo/genny/v2/plushgen" - "github.com/gobuffalo/packr/v2" - "github.com/gobuffalo/plush/v4" -) - -// New generator to generate refresh templates -func New(opts *Options) (*genny.Generator, error) { - g := genny.New() - if err := opts.Validate(); err != nil { - return g, err - } - g.Box(packr.New("buffalo:genny:refresh", "../refresh/templates")) - - ctx := plush.NewContext() - ctx.Set("app", opts.App) - g.Transformer(plushgen.Transformer(ctx)) - g.Transformer(genny.Dot()) - return g, nil -} diff --git a/genny/refresh/refresh_test.go b/genny/refresh/refresh_test.go deleted file mode 100644 index 25d4ab337..000000000 --- a/genny/refresh/refresh_test.go +++ /dev/null @@ -1,32 +0,0 @@ -package refresh - -import ( - "context" - "testing" - - "github.com/gobuffalo/flect/name" - "github.com/gobuffalo/genny/v2" - "github.com/gobuffalo/meta" - "github.com/stretchr/testify/require" -) - -func Test_New(t *testing.T) { - r := require.New(t) - - app := meta.New(".") - app.Name = name.New("foo") - g, err := New(&Options{app}) - r.NoError(err) - - run := genny.DryRunner(context.Background()) - run.With(g) - - r.NoError(run.Run()) - - res := run.Results() - r.Len(res.Commands, 0) - r.Len(res.Files, 1) - - f := res.Files[0] - r.Contains(f.String(), "binary_name: foo-build") -} diff --git a/genny/refresh/templates/-dot-buffalo.dev.yml.plush b/genny/refresh/templates/-dot-buffalo.dev.yml.plush deleted file mode 100644 index 24c446b39..000000000 --- a/genny/refresh/templates/-dot-buffalo.dev.yml.plush +++ /dev/null @@ -1,21 +0,0 @@ -app_root: . -ignored_folders: -- vendor -- log -- logs -- assets -- public -- grifts -- tmp -- bin -- node_modules -- .sass-cache -included_extensions: -- .go -- .env -build_path: tmp -build_delay: 200ns -binary_name: <%= app.Name %>-build -command_flags: [] -enable_colors: true -log_name: buffalo diff --git a/genny/resource/_fixtures/coke/actions/app.go.tmpl b/genny/resource/_fixtures/coke/actions/app.go.tmpl deleted file mode 100644 index 3d002accf..000000000 --- a/genny/resource/_fixtures/coke/actions/app.go.tmpl +++ /dev/null @@ -1,10 +0,0 @@ -package actions - -import "github.com/gobuffalo/buffalo" - -func App() *buffalo.App { - if app == nil { - app.ServeFiles("/", assetsBox) // serve files from the public directory - } - return app -} diff --git a/genny/resource/_fixtures/default/actions/app.go.tmpl b/genny/resource/_fixtures/default/actions/app.go.tmpl deleted file mode 100644 index db7b667f2..000000000 --- a/genny/resource/_fixtures/default/actions/app.go.tmpl +++ /dev/null @@ -1,11 +0,0 @@ -package actions - -import "github.com/gobuffalo/buffalo" - -func App() *buffalo.App { - if app == nil { - app.Resource("/widgets", WidgetsResource{}) - app.ServeFiles("/", assetsBox) // serve files from the public directory - } - return app -} diff --git a/genny/resource/_fixtures/default/actions/widgets.go.tmpl b/genny/resource/_fixtures/default/actions/widgets.go.tmpl deleted file mode 100644 index 39da1a486..000000000 --- a/genny/resource/_fixtures/default/actions/widgets.go.tmpl +++ /dev/null @@ -1,260 +0,0 @@ -package actions - -import ( - - "fmt" - "net/http" - "github.com/gobuffalo/buffalo" - "github.com/gobuffalo/pop/v5" - "github.com/gobuffalo/x/responder" - "github.com/markbates/coke/models" -) - -// This file is generated by Buffalo. It offers a basic structure for -// adding, editing and deleting a page. If your model is more -// complex or you need more than the basic implementation you need to -// edit this file. - -// Following naming logic is implemented in Buffalo: -// Model: Singular (Widget) -// DB Table: Plural (widgets) -// Resource: Plural (Widgets) -// Path: Plural (/widgets) -// View Template Folder: Plural (/templates/widgets/) - -// WidgetsResource is the resource for the Widget model -type WidgetsResource struct{ - buffalo.Resource -} - -// List gets all Widgets. This function is mapped to the path -// GET /widgets -func (v WidgetsResource) List(c buffalo.Context) error { - // Get the DB connection from the context - tx, ok := c.Value("tx").(*pop.Connection) - if !ok { - return fmt.Errorf("no transaction found") - } - - widgets := &models.Widgets{} - - // Paginate results. Params "page" and "per_page" control pagination. - // Default values are "page=1" and "per_page=20". - q := tx.PaginateFromParams(c.Params()) - - // Retrieve all Widgets from the DB - if err := q.All(widgets); err != nil { - return err - } - - return responder.Wants("html", func (c buffalo.Context) error { - // Add the paginator to the context so it can be used in the template. - c.Set("pagination", q.Paginator) - - c.Set("widgets", widgets) - return c.Render(http.StatusOK, r.HTML("/widgets/index.plush.html")) - }).Wants("json", func (c buffalo.Context) error { - return c.Render(200, r.JSON(widgets)) - }).Wants("xml", func (c buffalo.Context) error { - return c.Render(200, r.XML(widgets)) - }).Respond(c) -} - -// Show gets the data for one Widget. This function is mapped to -// the path GET /widgets/{widget_id} -func (v WidgetsResource) Show(c buffalo.Context) error { - // Get the DB connection from the context - tx, ok := c.Value("tx").(*pop.Connection) - if !ok { - return fmt.Errorf("no transaction found") - } - - // Allocate an empty Widget - widget := &models.Widget{} - - // To find the Widget the parameter widget_id is used. - if err := tx.Find(widget, c.Param("widget_id")); err != nil { - return c.Error(http.StatusNotFound, err) - } - - return responder.Wants("html", func (c buffalo.Context) error { - c.Set("widget", widget) - - return c.Render(http.StatusOK, r.HTML("/widgets/show.plush.html")) - }).Wants("json", func (c buffalo.Context) error { - return c.Render(200, r.JSON(widget)) - }).Wants("xml", func (c buffalo.Context) error { - return c.Render(200, r.XML(widget)) - }).Respond(c) -} - -// New renders the form for creating a new Widget. -// This function is mapped to the path GET /widgets/new -func (v WidgetsResource) New(c buffalo.Context) error { - c.Set("widget", &models.Widget{}) - - return c.Render(http.StatusOK, r.HTML("/widgets/new.plush.html")) -} - -// Create adds a Widget to the DB. This function is mapped to the -// path POST /widgets -func (v WidgetsResource) Create(c buffalo.Context) error { - // Allocate an empty Widget - widget := &models.Widget{} - - // Bind widget to the html form elements - if err := c.Bind(widget); err != nil { - return err - } - - // Get the DB connection from the context - tx, ok := c.Value("tx").(*pop.Connection) - if !ok { - return fmt.Errorf("no transaction found") - } - - // Validate the data from the html form - verrs, err := tx.ValidateAndCreate(widget) - if err != nil { - return err - } - - if verrs.HasAny() { - return responder.Wants("html", func (c buffalo.Context) error { - // Make the errors available inside the html template - c.Set("errors", verrs) - - // Render again the new.html template that the user can - // correct the input. - c.Set("widget", widget) - - return c.Render(http.StatusUnprocessableEntity, r.HTML("/widgets/new.plush.html")) - }).Wants("json", func (c buffalo.Context) error { - return c.Render(http.StatusUnprocessableEntity, r.JSON(verrs)) - }).Wants("xml", func (c buffalo.Context) error { - return c.Render(http.StatusUnprocessableEntity, r.XML(verrs)) - }).Respond(c) - } - - return responder.Wants("html", func (c buffalo.Context) error { - // If there are no errors set a success message - c.Flash().Add("success", T.Translate(c, "widget.created.success")) - - // and redirect to the show page - return c.Redirect(http.StatusSeeOther, "/widgets/%v", widget.ID) - }).Wants("json", func (c buffalo.Context) error { - return c.Render(http.StatusCreated, r.JSON(widget)) - }).Wants("xml", func (c buffalo.Context) error { - return c.Render(http.StatusCreated, r.XML(widget)) - }).Respond(c) -} - -// Edit renders a edit form for a Widget. This function is -// mapped to the path GET /widgets/{widget_id}/edit -func (v WidgetsResource) Edit(c buffalo.Context) error { - // Get the DB connection from the context - tx, ok := c.Value("tx").(*pop.Connection) - if !ok { - return fmt.Errorf("no transaction found") - } - - // Allocate an empty Widget - widget := &models.Widget{} - - if err := tx.Find(widget, c.Param("widget_id")); err != nil { - return c.Error(http.StatusNotFound, err) - } - - c.Set("widget", widget) - return c.Render(http.StatusOK, r.HTML("/widgets/edit.plush.html")) -} - -// Update changes a Widget in the DB. This function is mapped to -// the path PUT /widgets/{widget_id} -func (v WidgetsResource) Update(c buffalo.Context) error { - // Get the DB connection from the context - tx, ok := c.Value("tx").(*pop.Connection) - if !ok { - return fmt.Errorf("no transaction found") - } - - // Allocate an empty Widget - widget := &models.Widget{} - - if err := tx.Find(widget, c.Param("widget_id")); err != nil { - return c.Error(http.StatusNotFound, err) - } - - // Bind Widget to the html form elements - if err := c.Bind(widget); err != nil { - return err - } - - verrs, err := tx.ValidateAndUpdate(widget) - if err != nil { - return err - } - - if verrs.HasAny() { - return responder.Wants("html", func (c buffalo.Context) error { - // Make the errors available inside the html template - c.Set("errors", verrs) - - // Render again the edit.html template that the user can - // correct the input. - c.Set("widget", widget) - - return c.Render(http.StatusUnprocessableEntity, r.HTML("/widgets/edit.plush.html")) - }).Wants("json", func (c buffalo.Context) error { - return c.Render(http.StatusUnprocessableEntity, r.JSON(verrs)) - }).Wants("xml", func (c buffalo.Context) error { - return c.Render(http.StatusUnprocessableEntity, r.XML(verrs)) - }).Respond(c) - } - - return responder.Wants("html", func (c buffalo.Context) error { - // If there are no errors set a success message - c.Flash().Add("success", T.Translate(c, "widget.updated.success")) - - // and redirect to the show page - return c.Redirect(http.StatusSeeOther, "/widgets/%v", widget.ID) - }).Wants("json", func (c buffalo.Context) error { - return c.Render(http.StatusOK, r.JSON(widget)) - }).Wants("xml", func (c buffalo.Context) error { - return c.Render(http.StatusOK, r.XML(widget)) - }).Respond(c) -} - -// Destroy deletes a Widget from the DB. This function is mapped -// to the path DELETE /widgets/{widget_id} -func (v WidgetsResource) Destroy(c buffalo.Context) error { - // Get the DB connection from the context - tx, ok := c.Value("tx").(*pop.Connection) - if !ok { - return fmt.Errorf("no transaction found") - } - - // Allocate an empty Widget - widget := &models.Widget{} - - // To find the Widget the parameter widget_id is used. - if err := tx.Find(widget, c.Param("widget_id")); err != nil { - return c.Error(http.StatusNotFound, err) - } - - if err := tx.Destroy(widget); err != nil { - return err - } - - return responder.Wants("html", func (c buffalo.Context) error { - // If there are no errors set a flash message - c.Flash().Add("success", T.Translate(c, "widget.destroyed.success")) - - // Redirect to the index page - return c.Redirect(http.StatusSeeOther, "/widgets") - }).Wants("json", func (c buffalo.Context) error { - return c.Render(http.StatusOK, r.JSON(widget)) - }).Wants("xml", func (c buffalo.Context) error { - return c.Render(http.StatusOK, r.XML(widget)) - }).Respond(c) -} diff --git a/genny/resource/_fixtures/default/actions/widgets_test.go.tmpl b/genny/resource/_fixtures/default/actions/widgets_test.go.tmpl deleted file mode 100644 index 1948a9eb4..000000000 --- a/genny/resource/_fixtures/default/actions/widgets_test.go.tmpl +++ /dev/null @@ -1,29 +0,0 @@ -package actions - -func (as *ActionSuite) Test_WidgetsResource_List() { - as.Fail("Not Implemented!") -} - -func (as *ActionSuite) Test_WidgetsResource_Show() { - as.Fail("Not Implemented!") -} - -func (as *ActionSuite) Test_WidgetsResource_Create() { - as.Fail("Not Implemented!") -} - -func (as *ActionSuite) Test_WidgetsResource_Update() { - as.Fail("Not Implemented!") -} - -func (as *ActionSuite) Test_WidgetsResource_Destroy() { - as.Fail("Not Implemented!") -} - -func (as *ActionSuite) Test_WidgetsResource_New() { - as.Fail("Not Implemented!") -} - -func (as *ActionSuite) Test_WidgetsResource_Edit() { - as.Fail("Not Implemented!") -} diff --git a/genny/resource/_fixtures/default/locales/widgets.en-us.yaml b/genny/resource/_fixtures/default/locales/widgets.en-us.yaml deleted file mode 100644 index 49f5a96bf..000000000 --- a/genny/resource/_fixtures/default/locales/widgets.en-us.yaml +++ /dev/null @@ -1,6 +0,0 @@ -- id: "widget.created.success" - translation: "Widget was successfully created." -- id: "widget.updated.success" - translation: "Widget was successfully updated." -- id: "widget.destroyed.success" - translation: "Widget was successfully destroyed." diff --git a/genny/resource/_fixtures/default/templates/widgets/_form.plush.html b/genny/resource/_fixtures/default/templates/widgets/_form.plush.html deleted file mode 100644 index 61bcef1ff..000000000 --- a/genny/resource/_fixtures/default/templates/widgets/_form.plush.html +++ /dev/null @@ -1,3 +0,0 @@ -<%= f.InputTag("Name") %> -<%= f.TextAreaTag("Desc", {rows: 10}) %> - diff --git a/genny/resource/_fixtures/default/templates/widgets/edit.plush.html b/genny/resource/_fixtures/default/templates/widgets/edit.plush.html deleted file mode 100644 index 9a9cd5863..000000000 --- a/genny/resource/_fixtures/default/templates/widgets/edit.plush.html +++ /dev/null @@ -1,8 +0,0 @@ -
-

Edit Widget

-
- -<%= formFor(widget, {action: widgetPath({ widget_id: widget.ID }), method: "PUT"}) { %> - <%= partial("widgets/form.html") %> - <%= linkTo(widgetPath({ widget_id: widget.ID }), {class: "btn btn-warning", "data-confirm": "Are you sure?", body: "Cancel"}) %> -<% } %> diff --git a/genny/resource/_fixtures/default/templates/widgets/index.plush.html b/genny/resource/_fixtures/default/templates/widgets/index.plush.html deleted file mode 100644 index 5d328e62e..000000000 --- a/genny/resource/_fixtures/default/templates/widgets/index.plush.html +++ /dev/null @@ -1,33 +0,0 @@ -
-

Widgets

-
- <%= linkTo(newWidgetsPath(), {class: "btn btn-primary"}) { %> - Create New Widget - <% } %> -
-
- - - - - - - - <%= for (widget) in widgets { %> - - - - - <% } %> - -
Name 
<%= widget.Name %> -
- <%= linkTo(widgetPath({ widget_id: widget.ID }), {class: "btn btn-info", body: "View"}) %> - <%= linkTo(editWidgetPath({ widget_id: widget.ID }), {class: "btn btn-warning", body: "Edit"}) %> - <%= linkTo(widgetPath({ widget_id: widget.ID }), {class: "btn btn-danger", "data-method": "DELETE", "data-confirm": "Are you sure?", body: "Destroy"}) %> -
-
- -
- <%= paginator(pagination) %> -
diff --git a/genny/resource/_fixtures/default/templates/widgets/new.plush.html b/genny/resource/_fixtures/default/templates/widgets/new.plush.html deleted file mode 100644 index 743430c1f..000000000 --- a/genny/resource/_fixtures/default/templates/widgets/new.plush.html +++ /dev/null @@ -1,8 +0,0 @@ -
-

New Widget

-
- -<%= formFor(widget, {action: widgetsPath(), method: "POST"}) { %> - <%= partial("widgets/form.html") %> - <%= linkTo(widgetsPath(), {class: "btn btn-warning", "data-confirm": "Are you sure?", body: "Cancel"}) %> -<% } %> diff --git a/genny/resource/_fixtures/default/templates/widgets/show.plush.html b/genny/resource/_fixtures/default/templates/widgets/show.plush.html deleted file mode 100644 index 434b2f404..000000000 --- a/genny/resource/_fixtures/default/templates/widgets/show.plush.html +++ /dev/null @@ -1,22 +0,0 @@ -
-

Widget Details

- -
- <%= linkTo(widgetsPath(), {class: "btn btn-info"}) { %> - Back to all Widgets - <% } %> - <%= linkTo(editWidgetPath({ widget_id: widget.ID }), {class: "btn btn-warning", body: "Edit"}) %> - <%= linkTo(widgetPath({ widget_id: widget.ID }), {class: "btn btn-danger", "data-method": "DELETE", "data-confirm": "Are you sure?", body: "Destroy"}) %> -
-
- -
    -
  • - -

    <%= widget.Name %>

    -
  • -
  • - -

    <%= widget.Desc %>

    -
  • -
diff --git a/genny/resource/_fixtures/nested/actions/admin_widgets.go.tmpl b/genny/resource/_fixtures/nested/actions/admin_widgets.go.tmpl deleted file mode 100644 index 9dd73cb40..000000000 --- a/genny/resource/_fixtures/nested/actions/admin_widgets.go.tmpl +++ /dev/null @@ -1,260 +0,0 @@ -package actions - -import ( - - "fmt" - "net/http" - "github.com/gobuffalo/buffalo" - "github.com/gobuffalo/pop/v5" - "github.com/gobuffalo/x/responder" - "github.com/markbates/coke/models" -) - -// This file is generated by Buffalo. It offers a basic structure for -// adding, editing and deleting a page. If your model is more -// complex or you need more than the basic implementation you need to -// edit this file. - -// Following naming logic is implemented in Buffalo: -// Model: Singular (Widget) -// DB Table: Plural (widgets) -// Resource: Plural (AdminWidgets) -// Path: Plural (/admin/widgets) -// View Template Folder: Plural (/templates/admin/widgets/) - -// AdminWidgetsResource is the resource for the Widget model -type AdminWidgetsResource struct{ - buffalo.Resource -} - -// List gets all Widgets. This function is mapped to the path -// GET /admin/widgets -func (v AdminWidgetsResource) List(c buffalo.Context) error { - // Get the DB connection from the context - tx, ok := c.Value("tx").(*pop.Connection) - if !ok { - return fmt.Errorf("no transaction found") - } - - widgets := &models.Widgets{} - - // Paginate results. Params "page" and "per_page" control pagination. - // Default values are "page=1" and "per_page=20". - q := tx.PaginateFromParams(c.Params()) - - // Retrieve all Widgets from the DB - if err := q.All(widgets); err != nil { - return err - } - - return responder.Wants("html", func (c buffalo.Context) error { - // Add the paginator to the context so it can be used in the template. - c.Set("pagination", q.Paginator) - - c.Set("widgets", widgets) - return c.Render(http.StatusOK, r.HTML("/admin/widgets/index.plush.html")) - }).Wants("json", func (c buffalo.Context) error { - return c.Render(200, r.JSON(widgets)) - }).Wants("xml", func (c buffalo.Context) error { - return c.Render(200, r.XML(widgets)) - }).Respond(c) -} - -// Show gets the data for one Widget. This function is mapped to -// the path GET /admin/widgets/{admin_widget_id} -func (v AdminWidgetsResource) Show(c buffalo.Context) error { - // Get the DB connection from the context - tx, ok := c.Value("tx").(*pop.Connection) - if !ok { - return fmt.Errorf("no transaction found") - } - - // Allocate an empty Widget - widget := &models.Widget{} - - // To find the Widget the parameter admin_widget_id is used. - if err := tx.Find(widget, c.Param("admin_widget_id")); err != nil { - return c.Error(http.StatusNotFound, err) - } - - return responder.Wants("html", func (c buffalo.Context) error { - c.Set("widget", widget) - - return c.Render(http.StatusOK, r.HTML("/admin/widgets/show.plush.html")) - }).Wants("json", func (c buffalo.Context) error { - return c.Render(200, r.JSON(widget)) - }).Wants("xml", func (c buffalo.Context) error { - return c.Render(200, r.XML(widget)) - }).Respond(c) -} - -// New renders the form for creating a new Widget. -// This function is mapped to the path GET /admin/widgets/new -func (v AdminWidgetsResource) New(c buffalo.Context) error { - c.Set("widget", &models.Widget{}) - - return c.Render(http.StatusOK, r.HTML("/admin/widgets/new.plush.html")) -} - -// Create adds a Widget to the DB. This function is mapped to the -// path POST /admin/widgets -func (v AdminWidgetsResource) Create(c buffalo.Context) error { - // Allocate an empty Widget - widget := &models.Widget{} - - // Bind widget to the html form elements - if err := c.Bind(widget); err != nil { - return err - } - - // Get the DB connection from the context - tx, ok := c.Value("tx").(*pop.Connection) - if !ok { - return fmt.Errorf("no transaction found") - } - - // Validate the data from the html form - verrs, err := tx.ValidateAndCreate(widget) - if err != nil { - return err - } - - if verrs.HasAny() { - return responder.Wants("html", func (c buffalo.Context) error { - // Make the errors available inside the html template - c.Set("errors", verrs) - - // Render again the new.html template that the user can - // correct the input. - c.Set("widget", widget) - - return c.Render(http.StatusUnprocessableEntity, r.HTML("/admin/widgets/new.plush.html")) - }).Wants("json", func (c buffalo.Context) error { - return c.Render(http.StatusUnprocessableEntity, r.JSON(verrs)) - }).Wants("xml", func (c buffalo.Context) error { - return c.Render(http.StatusUnprocessableEntity, r.XML(verrs)) - }).Respond(c) - } - - return responder.Wants("html", func (c buffalo.Context) error { - // If there are no errors set a success message - c.Flash().Add("success", T.Translate(c, "widget.created.success")) - - // and redirect to the show page - return c.Redirect(http.StatusSeeOther, "/admin/widgets/%v", widget.ID) - }).Wants("json", func (c buffalo.Context) error { - return c.Render(http.StatusCreated, r.JSON(widget)) - }).Wants("xml", func (c buffalo.Context) error { - return c.Render(http.StatusCreated, r.XML(widget)) - }).Respond(c) -} - -// Edit renders a edit form for a Widget. This function is -// mapped to the path GET /admin/widgets/{admin_widget_id}/edit -func (v AdminWidgetsResource) Edit(c buffalo.Context) error { - // Get the DB connection from the context - tx, ok := c.Value("tx").(*pop.Connection) - if !ok { - return fmt.Errorf("no transaction found") - } - - // Allocate an empty Widget - widget := &models.Widget{} - - if err := tx.Find(widget, c.Param("admin_widget_id")); err != nil { - return c.Error(http.StatusNotFound, err) - } - - c.Set("widget", widget) - return c.Render(http.StatusOK, r.HTML("/admin/widgets/edit.plush.html")) -} - -// Update changes a Widget in the DB. This function is mapped to -// the path PUT /admin/widgets/{admin_widget_id} -func (v AdminWidgetsResource) Update(c buffalo.Context) error { - // Get the DB connection from the context - tx, ok := c.Value("tx").(*pop.Connection) - if !ok { - return fmt.Errorf("no transaction found") - } - - // Allocate an empty Widget - widget := &models.Widget{} - - if err := tx.Find(widget, c.Param("admin_widget_id")); err != nil { - return c.Error(http.StatusNotFound, err) - } - - // Bind Widget to the html form elements - if err := c.Bind(widget); err != nil { - return err - } - - verrs, err := tx.ValidateAndUpdate(widget) - if err != nil { - return err - } - - if verrs.HasAny() { - return responder.Wants("html", func (c buffalo.Context) error { - // Make the errors available inside the html template - c.Set("errors", verrs) - - // Render again the edit.html template that the user can - // correct the input. - c.Set("widget", widget) - - return c.Render(http.StatusUnprocessableEntity, r.HTML("/admin/widgets/edit.plush.html")) - }).Wants("json", func (c buffalo.Context) error { - return c.Render(http.StatusUnprocessableEntity, r.JSON(verrs)) - }).Wants("xml", func (c buffalo.Context) error { - return c.Render(http.StatusUnprocessableEntity, r.XML(verrs)) - }).Respond(c) - } - - return responder.Wants("html", func (c buffalo.Context) error { - // If there are no errors set a success message - c.Flash().Add("success", T.Translate(c, "widget.updated.success")) - - // and redirect to the show page - return c.Redirect(http.StatusSeeOther, "/admin/widgets/%v", widget.ID) - }).Wants("json", func (c buffalo.Context) error { - return c.Render(http.StatusOK, r.JSON(widget)) - }).Wants("xml", func (c buffalo.Context) error { - return c.Render(http.StatusOK, r.XML(widget)) - }).Respond(c) -} - -// Destroy deletes a Widget from the DB. This function is mapped -// to the path DELETE /admin/widgets/{admin_widget_id} -func (v AdminWidgetsResource) Destroy(c buffalo.Context) error { - // Get the DB connection from the context - tx, ok := c.Value("tx").(*pop.Connection) - if !ok { - return fmt.Errorf("no transaction found") - } - - // Allocate an empty Widget - widget := &models.Widget{} - - // To find the Widget the parameter admin_widget_id is used. - if err := tx.Find(widget, c.Param("admin_widget_id")); err != nil { - return c.Error(http.StatusNotFound, err) - } - - if err := tx.Destroy(widget); err != nil { - return err - } - - return responder.Wants("html", func (c buffalo.Context) error { - // If there are no errors set a flash message - c.Flash().Add("success", T.Translate(c, "widget.destroyed.success")) - - // Redirect to the index page - return c.Redirect(http.StatusSeeOther, "/admin/widgets") - }).Wants("json", func (c buffalo.Context) error { - return c.Render(http.StatusOK, r.JSON(widget)) - }).Wants("xml", func (c buffalo.Context) error { - return c.Render(http.StatusOK, r.XML(widget)) - }).Respond(c) -} diff --git a/genny/resource/_fixtures/nested/actions/admin_widgets_test.go.tmpl b/genny/resource/_fixtures/nested/actions/admin_widgets_test.go.tmpl deleted file mode 100644 index fe4f33caa..000000000 --- a/genny/resource/_fixtures/nested/actions/admin_widgets_test.go.tmpl +++ /dev/null @@ -1,29 +0,0 @@ -package actions - -func (as *ActionSuite) Test_AdminWidgetsResource_List() { - as.Fail("Not Implemented!") -} - -func (as *ActionSuite) Test_AdminWidgetsResource_Show() { - as.Fail("Not Implemented!") -} - -func (as *ActionSuite) Test_AdminWidgetsResource_Create() { - as.Fail("Not Implemented!") -} - -func (as *ActionSuite) Test_AdminWidgetsResource_Update() { - as.Fail("Not Implemented!") -} - -func (as *ActionSuite) Test_AdminWidgetsResource_Destroy() { - as.Fail("Not Implemented!") -} - -func (as *ActionSuite) Test_AdminWidgetsResource_New() { - as.Fail("Not Implemented!") -} - -func (as *ActionSuite) Test_AdminWidgetsResource_Edit() { - as.Fail("Not Implemented!") -} diff --git a/genny/resource/_fixtures/nested/actions/app.go.tmpl b/genny/resource/_fixtures/nested/actions/app.go.tmpl deleted file mode 100644 index 39e7ba6be..000000000 --- a/genny/resource/_fixtures/nested/actions/app.go.tmpl +++ /dev/null @@ -1,11 +0,0 @@ -package actions - -import "github.com/gobuffalo/buffalo" - -func App() *buffalo.App { - if app == nil { - app.Resource("/admin/widgets", AdminWidgetsResource{}) - app.ServeFiles("/", assetsBox) // serve files from the public directory - } - return app -} diff --git a/genny/resource/_fixtures/nested/locales/admin/widgets.en-us.yaml b/genny/resource/_fixtures/nested/locales/admin/widgets.en-us.yaml deleted file mode 100644 index 49f5a96bf..000000000 --- a/genny/resource/_fixtures/nested/locales/admin/widgets.en-us.yaml +++ /dev/null @@ -1,6 +0,0 @@ -- id: "widget.created.success" - translation: "Widget was successfully created." -- id: "widget.updated.success" - translation: "Widget was successfully updated." -- id: "widget.destroyed.success" - translation: "Widget was successfully destroyed." diff --git a/genny/resource/_fixtures/nested/templates/admin/widgets/_form.plush.html b/genny/resource/_fixtures/nested/templates/admin/widgets/_form.plush.html deleted file mode 100644 index 61bcef1ff..000000000 --- a/genny/resource/_fixtures/nested/templates/admin/widgets/_form.plush.html +++ /dev/null @@ -1,3 +0,0 @@ -<%= f.InputTag("Name") %> -<%= f.TextAreaTag("Desc", {rows: 10}) %> - diff --git a/genny/resource/_fixtures/nested/templates/admin/widgets/edit.plush.html b/genny/resource/_fixtures/nested/templates/admin/widgets/edit.plush.html deleted file mode 100644 index 40d76b106..000000000 --- a/genny/resource/_fixtures/nested/templates/admin/widgets/edit.plush.html +++ /dev/null @@ -1,8 +0,0 @@ -
-

Edit Widget

-
- -<%= formFor(widget, {action: adminWidgetPath({ admin_widget_id: widget.ID }), method: "PUT"}) { %> - <%= partial("admin/widgets/form.html") %> - <%= linkTo(adminWidgetPath({ admin_widget_id: widget.ID }), {class: "btn btn-warning", "data-confirm": "Are you sure?", body: "Cancel"}) %> -<% } %> diff --git a/genny/resource/_fixtures/nested/templates/admin/widgets/index.plush.html b/genny/resource/_fixtures/nested/templates/admin/widgets/index.plush.html deleted file mode 100644 index f57f8302a..000000000 --- a/genny/resource/_fixtures/nested/templates/admin/widgets/index.plush.html +++ /dev/null @@ -1,33 +0,0 @@ -
-

Widgets

-
- <%= linkTo(newAdminWidgetsPath(), {class: "btn btn-primary"}) { %> - Create New Widget - <% } %> -
-
- - - - - - - - <%= for (widget) in widgets { %> - - - - - <% } %> - -
Name 
<%= widget.Name %> -
- <%= linkTo(adminWidgetPath({ admin_widget_id: widget.ID }), {class: "btn btn-info", body: "View"}) %> - <%= linkTo(editAdminWidgetPath({ admin_widget_id: widget.ID }), {class: "btn btn-warning", body: "Edit"}) %> - <%= linkTo(adminWidgetPath({ admin_widget_id: widget.ID }), {class: "btn btn-danger", "data-method": "DELETE", "data-confirm": "Are you sure?", body: "Destroy"}) %> -
-
- -
- <%= paginator(pagination) %> -
diff --git a/genny/resource/_fixtures/nested/templates/admin/widgets/new.plush.html b/genny/resource/_fixtures/nested/templates/admin/widgets/new.plush.html deleted file mode 100644 index 55fbbc73a..000000000 --- a/genny/resource/_fixtures/nested/templates/admin/widgets/new.plush.html +++ /dev/null @@ -1,8 +0,0 @@ -
-

New Widget

-
- -<%= formFor(widget, {action: adminWidgetsPath(), method: "POST"}) { %> - <%= partial("admin/widgets/form.html") %> - <%= linkTo(adminWidgetsPath(), {class: "btn btn-warning", "data-confirm": "Are you sure?", body: "Cancel"}) %> -<% } %> diff --git a/genny/resource/_fixtures/nested/templates/admin/widgets/show.plush.html b/genny/resource/_fixtures/nested/templates/admin/widgets/show.plush.html deleted file mode 100644 index a2ea675dc..000000000 --- a/genny/resource/_fixtures/nested/templates/admin/widgets/show.plush.html +++ /dev/null @@ -1,23 +0,0 @@ -
-

Widget Details

- -
- <%= linkTo(adminWidgetsPath(), {class: "btn btn-info"}) { %> - Back to all Widgets - <% } %> - <%= linkTo(editAdminWidgetPath({ admin_widget_id: widget.ID }), {class: "btn btn-warning", body: "Edit"}) %> - <%= linkTo(adminWidgetPath({ admin_widget_id: widget.ID }), {class: "btn btn-danger", "data-method": "DELETE", "data-confirm": "Are you sure?", body: "Destroy"}) %> -
-
- - -
    -
  • - -

    <%= widget.Name %>

    -
  • -
  • - -

    <%= widget.Desc %>

    -
  • -
diff --git a/genny/resource/actions.go b/genny/resource/actions.go deleted file mode 100644 index 9d947d77b..000000000 --- a/genny/resource/actions.go +++ /dev/null @@ -1,40 +0,0 @@ -package resource - -import ( - "fmt" - - "github.com/gobuffalo/flect/name" - "github.com/gobuffalo/genny/v2" - "github.com/gobuffalo/genny/v2/gogen" -) - -func addResource(pres presenter) genny.RunFn { - return func(r *genny.Runner) error { - f, err := r.FindFile("actions/app.go") - if err != nil { - return err - } - stmt := fmt.Sprintf("app.Resource(\"/%s\", %sResource{})", pres.Name.URL(), pres.Name.Resource()) - f, err = gogen.AddInsideBlock(f, "if app == nil {", stmt) - if err != nil { - return err - } - return r.File(f) - } -} - -func actions(opts *Options) []name.Ident { - actions := []name.Ident{ - name.New("list"), - name.New("show"), - name.New("create"), - name.New("update"), - name.New("destroy"), - } - - if opts.App.AsWeb { - actions = append(actions, name.New("new"), name.New("edit")) - } - - return actions -} diff --git a/genny/resource/models.go b/genny/resource/models.go deleted file mode 100644 index 4c3adbe1c..000000000 --- a/genny/resource/models.go +++ /dev/null @@ -1,35 +0,0 @@ -package resource - -import ( - "os/exec" - - "github.com/gobuffalo/flect/name" - "github.com/gobuffalo/genny/v2" -) - -func modelCommand(model name.Ident, opts *Options) *exec.Cmd { - args := opts.Attrs.Slice() - mn := model.Singularize().Underscore().String() - args = append([]string{"pop", "g", "model", mn}, args...) - - if opts.SkipMigration { - args = append(args, "--skip-migration") - } - - return exec.Command("buffalo-pop", args...) -} - -func installPop(opts *Options) genny.RunFn { - return func(r *genny.Runner) error { - if opts.SkipModel { - return nil - } - if _, err := r.LookPath("buffalo-pop"); err != nil { - c := exec.Command("go", "get", "github.com/gobuffalo/buffalo-pop/v2") - if err := r.Exec(c); err != nil { - return err - } - } - return r.Exec(modelCommand(name.New(opts.Model), opts)) - } -} diff --git a/genny/resource/options.go b/genny/resource/options.go deleted file mode 100644 index 2b9f69924..000000000 --- a/genny/resource/options.go +++ /dev/null @@ -1,46 +0,0 @@ -package resource - -import ( - "fmt" - "strings" - - "github.com/gobuffalo/attrs" - "github.com/gobuffalo/meta" -) - -// Options for generating a new resource -type Options struct { - App meta.App `json:"app"` - Name string `json:"name"` - Model string `json:"model"` - SkipMigration bool `json:"skip_migration"` - SkipModel bool `json:"skip_model"` - SkipTemplates bool `json:"skip_templates"` - Attrs attrs.Attrs `json:"props"` -} - -// Validate that options are usuable -func (opts *Options) Validate() error { - if opts.App.IsZero() { - opts.App = meta.New(".") - } - - if len(opts.Name) == 0 { - return fmt.Errorf("you must provide a name") - } - - if len(opts.Model) == 0 { - opts.Model = opts.Name - } - - if strings.Contains(opts.Model, "/") { - parts := strings.Split(opts.Model, "/") - opts.Model = parts[len(parts)-1] - } - - if opts.App.AsAPI { - opts.SkipTemplates = true - } - - return nil -} diff --git a/genny/resource/options_test.go b/genny/resource/options_test.go deleted file mode 100644 index 83c5fe520..000000000 --- a/genny/resource/options_test.go +++ /dev/null @@ -1,20 +0,0 @@ -package resource - -import ( - "testing" - - "github.com/stretchr/testify/require" -) - -func Test_Options_Validate(t *testing.T) { - r := require.New(t) - - opts := &Options{} - err := opts.Validate() - r.Error(err) - - opts.Name = "coke" - - err = opts.Validate() - r.NoError(err) -} diff --git a/genny/resource/presenter.go b/genny/resource/presenter.go deleted file mode 100644 index 2c254bd51..000000000 --- a/genny/resource/presenter.go +++ /dev/null @@ -1,14 +0,0 @@ -package resource - -import ( - "github.com/gobuffalo/attrs" - "github.com/gobuffalo/flect/name" - "github.com/gobuffalo/meta" -) - -type presenter struct { - App meta.App - Name name.Ident - Model name.Ident - Attrs attrs.Attrs -} diff --git a/genny/resource/resource-packr.go b/genny/resource/resource-packr.go deleted file mode 100644 index 385b06d4e..000000000 --- a/genny/resource/resource-packr.go +++ /dev/null @@ -1,8 +0,0 @@ -// +build !skippackr -// Code generated by github.com/gobuffalo/packr/v2. DO NOT EDIT. - -// You can use the "packr clean" command to clean up this, -// and any other packr generated files. -package resource - -import _ "github.com/gobuffalo/buffalo/packrd" diff --git a/genny/resource/resource.go b/genny/resource/resource.go deleted file mode 100644 index fcd56eab8..000000000 --- a/genny/resource/resource.go +++ /dev/null @@ -1,69 +0,0 @@ -package resource - -import ( - "text/template" - - "github.com/gobuffalo/flect" - "github.com/gobuffalo/flect/name" - "github.com/gobuffalo/genny/v2" - "github.com/gobuffalo/genny/v2/gogen" - "github.com/gobuffalo/packd" - "github.com/gobuffalo/packr/v2" -) - -// New resource generator -func New(opts *Options) (*genny.Generator, error) { - g := genny.New() - - if err := opts.Validate(); err != nil { - return g, err - } - - if !opts.SkipTemplates { - core := packr.New("github.com/gobuffalo/buffalo/@v0.15.4/genny/resource/templates/core", "../resource/templates/core") - - if err := g.Box(core); err != nil { - return g, err - } - } - - var abox packd.Box - if opts.SkipModel { - abox = packr.New("github.com/gobuffalo/buffalo/@v0.15.4/genny/resource/templates/standard", "../resource/templates/standard") - } else { - abox = packr.New("github.com/gobuffalo/buffalo/@v0.15.4/genny/resource/templates/use_model", "../resource/templates/use_model") - } - - if err := g.Box(abox); err != nil { - return g, err - } - - pres := presenter{ - App: opts.App, - Name: name.New(opts.Name), - Model: name.New(opts.Model), - Attrs: opts.Attrs, - } - x := pres.Name.Resource().File().String() - folder := pres.Name.Folder().Pluralize().String() - g.Transformer(genny.Replace("resource-name", x)) - g.Transformer(genny.Replace("resource-use_model", x)) - g.Transformer(genny.Replace("folder-name", folder)) - - data := map[string]interface{}{ - "opts": pres, - "actions": actions(opts), - "folder": folder, - } - helpers := template.FuncMap{ - "camelize": func(s string) string { - return flect.Camelize(s) - }, - } - g.Transformer(gogen.TemplateTransformer(data, helpers)) - - g.RunFn(installPop(opts)) - - g.RunFn(addResource(pres)) - return g, nil -} diff --git a/genny/resource/resource_test.go b/genny/resource/resource_test.go deleted file mode 100644 index a208e3dc5..000000000 --- a/genny/resource/resource_test.go +++ /dev/null @@ -1,256 +0,0 @@ -package resource - -import ( - "fmt" - "path" - "path/filepath" - "strings" - "testing" - - "github.com/gobuffalo/attrs" - "github.com/gobuffalo/flect/name" - "github.com/gobuffalo/genny/v2" - "github.com/gobuffalo/genny/v2/gentest" - "github.com/gobuffalo/meta" - packr "github.com/gobuffalo/packr/v2" - "github.com/stretchr/testify/require" -) - -type pass struct { - Name string - Options Options -} - -func runner() *genny.Runner { - run := gentest.NewRunner() - box := packr.New("./_fixtures/coke", "./_fixtures/coke") - box.Walk(func(path string, file packr.File) error { - path = strings.TrimSuffix(path, ".tmpl") - run.Disk.Add(genny.NewFile(path, file)) - return nil - }) - return run -} - -func Test_New(t *testing.T) { - ats, err := attrs.ParseArgs("name", "desc:nulls.Text") - if err != nil { - t.Fatal(err) - } - - table := []pass{ - {"default", Options{Name: "widget", Attrs: ats}}, - {"nested", Options{Name: "admin/widget", Attrs: ats}}, - } - - app := meta.New(".") - app.PackageRoot("github.com/markbates/coke") - - for _, tt := range table { - t.Run(tt.Name, func(st *testing.T) { - tt.Options.App = app - r := require.New(st) - g, err := New(&tt.Options) - r.NoError(err) - - run := runner() - run.With(g) - r.NoError(run.Run()) - - res := run.Results() - - r.Len(res.Commands, 1) - - c := res.Commands[0] - r.Equal("buffalo-pop pop g model widget name desc:nulls.Text", strings.Join(c.Args, " ")) - - r.Len(res.Files, 9) - - nn := name.New(tt.Options.Name).Pluralize().String() - actions := []string{"_form", "index", "show", "new", "edit"} - for _, s := range actions { - p := path.Join("templates", nn, s+".plush.html") - _, err = res.Find(p) - r.NoError(err) - } - - exp := packr.Folder(filepath.Join("_fixtures", tt.Name)) - gentest.CompareFiles(exp.List(), res.Files) - - for _, n := range exp.List() { - n = strings.Replace(n, "\\", "/", -1) - f, err := res.Find(strings.TrimSuffix(n, ".tmpl")) - r.NoError(err) - s, err := exp.FindString(n) - r.NoError(err) - - clean := func(s string) string { - s = strings.TrimSpace(s) - s = strings.Replace(s, "\n", "", -1) - s = strings.Replace(s, "\t", "", -1) - s = strings.Replace(s, "\r", "", -1) - return s - } - r.Equal(clean(s), clean(f.String())) - } - - }) - } -} - -func Test_New_SkipTemplates(t *testing.T) { - ats, err := attrs.ParseArgs("name", "desc:nulls.Text") - if err != nil { - t.Fatal(err) - } - table := []pass{ - {"default", Options{Name: "widget", Attrs: ats}}, - {"nested", Options{Name: "admin/widget", Attrs: ats}}, - } - - app := meta.New(".") - app.PackageRoot("github.com/markbates/coke") - - for _, tt := range table { - t.Run(tt.Name, func(st *testing.T) { - tt.Options.App = app - tt.Options.SkipTemplates = true - r := require.New(st) - g, err := New(&tt.Options) - r.NoError(err) - - run := runner() - run.With(g) - r.NoError(run.Run()) - - res := run.Results() - - r.Len(res.Commands, 1) - - for _, s := range []string{"_form", "edit", "index", "new", "show"} { - p := path.Join("templates", tt.Name, s+".html") - _, err = res.Find(p) - r.Error(err) - } - - r.Len(res.Files, 3) - }) - } -} - -func Test_New_API(t *testing.T) { - ats, err := attrs.ParseArgs("name", "desc:nulls.Text") - if err != nil { - t.Fatal(err) - } - table := []pass{ - {"default", Options{Name: "widget", Attrs: ats}}, - {"nested", Options{Name: "admin/widget", Attrs: ats}}, - } - - app := meta.New(".") - app.PackageRoot("github.com/markbates/coke") - app.AsAPI = true - - for _, tt := range table { - t.Run(tt.Name, func(st *testing.T) { - tt.Options.App = app - r := require.New(st) - g, err := New(&tt.Options) - r.NoError(err) - - run := runner() - run.With(g) - r.NoError(run.Run()) - - res := run.Results() - - r.Len(res.Commands, 1) - - nn := name.New(tt.Options.Name).Pluralize().String() - for _, s := range []string{"_form", "edit", "index", "new", "show"} { - p := path.Join("templates", nn, s+".html") - _, err = res.Find(p) - r.Error(err) - } - - r.Len(res.Files, 3) - }) - } -} - -func Test_New_UseModel(t *testing.T) { - r := require.New(t) - - ats, err := attrs.ParseArgs("name", "desc:nulls.Text") - r.NoError(err) - - app := meta.New(".") - app.PackageRoot("github.com/markbates/coke") - - opts := &Options{ - App: app, - Name: "Widget", - Model: "User", - Attrs: ats, - } - g, err := New(opts) - r.NoError(err) - - run := runner() - run.With(g) - r.NoError(run.Run()) - - res := run.Results() - - r.Len(res.Commands, 1) - - c := res.Commands[0] - r.Equal("buffalo-pop pop g model user name desc:nulls.Text", strings.Join(c.Args, " ")) - - r.Len(res.Files, 9) - - for _, s := range []string{"_form", "edit", "index", "new", "show"} { - p := path.Join("templates", "widgets", s+".plush.html") - _, err = res.Find(p) - r.NoError(err) - } - - f, err := res.Find("actions/widgets.go") - r.NoError(err) - r.Contains(f.String(), "users := &models.Users{}") - -} - -func Test_New_SkipModel(t *testing.T) { - r := require.New(t) - - app := meta.New(".") - app.PackageRoot("github.com/markbates/coke") - - opts := &Options{ - App: app, - Name: "Widget", - SkipModel: true, - } - - g, err := New(opts) - r.NoError(err) - - run := runner() - run.With(g) - r.NoError(run.Run()) - - res := run.Results() - - r.Len(res.Commands, 0) - r.Len(res.Files, 9) - - f, err := res.Find("actions/widgets.go") - r.NoError(err) - actions := []string{"List", "Show", "Create", "Update", "Destroy", "New", "Edit"} - for _, action := range actions { - r.Contains(f.String(), fmt.Sprintf("func (v WidgetsResource) %v(c buffalo.Context) error {", action)) - } - -} diff --git a/genny/resource/templates/core/locales/folder-name.en-us.yaml.tmpl b/genny/resource/templates/core/locales/folder-name.en-us.yaml.tmpl deleted file mode 100644 index 5fbdf0c50..000000000 --- a/genny/resource/templates/core/locales/folder-name.en-us.yaml.tmpl +++ /dev/null @@ -1,6 +0,0 @@ -- id: "{{.opts.Model.Singularize.Underscore}}.created.success" - translation: "{{.opts.Model.Proper}} was successfully created." -- id: "{{.opts.Model.Singularize.Underscore}}.updated.success" - translation: "{{.opts.Model.Proper}} was successfully updated." -- id: "{{.opts.Model.Singularize.Underscore}}.destroyed.success" - translation: "{{.opts.Model.Proper}} was successfully destroyed." diff --git a/genny/resource/templates/core/templates/folder-name/_form.plush.html.tmpl b/genny/resource/templates/core/templates/folder-name/_form.plush.html.tmpl deleted file mode 100644 index 11aa4adad..000000000 --- a/genny/resource/templates/core/templates/folder-name/_form.plush.html.tmpl +++ /dev/null @@ -1,13 +0,0 @@ -{{ range $p := .opts.Attrs -}} -{{ if eq $p.CommonType "text" -}} -<%= f.TextAreaTag("{{$p.Name.Pascalize}}", {rows: 10}) %> -{{ else -}} -{{ if eq $p.CommonType "bool" -}} -<%= f.CheckboxTag("{{$p.Name.Pascalize}}", {unchecked: false}) %> -{{ else -}} -<%= f.InputTag("{{$p.Name.Pascalize}}") %> -{{ end -}} -{{ end -}} -{{ end -}} - - diff --git a/genny/resource/templates/core/templates/folder-name/edit.plush.html.tmpl b/genny/resource/templates/core/templates/folder-name/edit.plush.html.tmpl deleted file mode 100644 index 062a451c5..000000000 --- a/genny/resource/templates/core/templates/folder-name/edit.plush.html.tmpl +++ /dev/null @@ -1,8 +0,0 @@ -
-

Edit {{.opts.Model.Proper}}

-
- -<%= formFor({{.opts.Model.VarCaseSingle}}, {action: {{.opts.Name.VarCaseSingle}}Path({ {{.opts.Name.ParamID}}: {{.opts.Model.VarCaseSingle}}.ID }), method: "PUT"}) { %> - <%= partial("{{.folder}}/form.html") %> - <%= linkTo({{.opts.Name.VarCaseSingle}}Path({ {{.opts.Name.ParamID}}: {{.opts.Model.VarCaseSingle}}.ID }), {class: "btn btn-warning", "data-confirm": "Are you sure?", body: "Cancel"}) %> -<% } %> diff --git a/genny/resource/templates/core/templates/folder-name/index.plush.html.tmpl b/genny/resource/templates/core/templates/folder-name/index.plush.html.tmpl deleted file mode 100644 index bd133ed4f..000000000 --- a/genny/resource/templates/core/templates/folder-name/index.plush.html.tmpl +++ /dev/null @@ -1,41 +0,0 @@ -
-

{{.opts.Model.Group}}

-
- <%= linkTo(new{{.opts.Name.Resource}}Path(), {class: "btn btn-primary"}) { %> - Create New {{.opts.Model.Proper}} - <% } %> -
-
- - - - {{ range $p := .opts.Attrs -}} - {{- if ne $p.CommonType "text" -}} - - {{- end -}} - {{- end }} - - - - <%= for ({{.opts.Model.VarCaseSingle}}) in {{.opts.Model.VarCasePlural}} { %> - - {{ range $mp := .opts.Attrs -}} - {{- if ne $mp.CommonType "text" -}} - - {{- end -}} - {{- end }} - - - <% } %> - -
{{ $p.Name.Pascalize }} 
<%= {{$.opts.Model.VarCaseSingle}}.{{$mp.Name.Pascalize}} %> -
- <%= linkTo({{.opts.Name.VarCaseSingle}}Path({ {{.opts.Name.ParamID}}: {{.opts.Model.VarCaseSingle}}.ID }), {class: "btn btn-info", body: "View"}) %> - <%= linkTo(edit{{.opts.Name.Proper}}Path({ {{.opts.Name.ParamID}}: {{.opts.Model.VarCaseSingle}}.ID }), {class: "btn btn-warning", body: "Edit"}) %> - <%= linkTo({{.opts.Name.VarCaseSingle}}Path({ {{.opts.Name.ParamID}}: {{.opts.Model.VarCaseSingle}}.ID }), {class: "btn btn-danger", "data-method": "DELETE", "data-confirm": "Are you sure?", body: "Destroy"}) %> -
-
- -
- <%= paginator(pagination) %> -
diff --git a/genny/resource/templates/core/templates/folder-name/new.plush.html.tmpl b/genny/resource/templates/core/templates/folder-name/new.plush.html.tmpl deleted file mode 100644 index 775e4a2a8..000000000 --- a/genny/resource/templates/core/templates/folder-name/new.plush.html.tmpl +++ /dev/null @@ -1,8 +0,0 @@ -
-

New {{.opts.Model.Proper}}

-
- -<%= formFor({{.opts.Model.VarCaseSingle}}, {action: {{.opts.Name.VarCasePlural}}Path(), method: "POST"}) { %> - <%= partial("{{.folder}}/form.html") %> - <%= linkTo({{.opts.Name.VarCasePlural}}Path(), {class: "btn btn-warning", "data-confirm": "Are you sure?", body: "Cancel"}) %> -<% } %> diff --git a/genny/resource/templates/core/templates/folder-name/show.plush.html.tmpl b/genny/resource/templates/core/templates/folder-name/show.plush.html.tmpl deleted file mode 100644 index 657f5a837..000000000 --- a/genny/resource/templates/core/templates/folder-name/show.plush.html.tmpl +++ /dev/null @@ -1,24 +0,0 @@ -
-

{{.opts.Model.Proper}} Details

- -
- <%= linkTo({{.opts.Name.VarCasePlural}}Path(), {class: "btn btn-info"}) { %> - Back to all {{.opts.Model.Group}} - <% } %> - <%= linkTo(edit{{.opts.Name.Proper}}Path({ {{.opts.Name.ParamID}}: {{.opts.Model.VarCaseSingle}}.ID }), {class: "btn btn-warning", body: "Edit"}) %> - <%= linkTo({{.opts.Name.VarCaseSingle}}Path({ {{.opts.Name.ParamID}}: {{.opts.Model.VarCaseSingle}}.ID }), {class: "btn btn-danger", "data-method": "DELETE", "data-confirm": "Are you sure?", body: "Destroy"}) %> -
-
- - - -
    -{{ range $p := .opts.Attrs }} - -
  • - -

    <%= {{$.opts.Model.VarCaseSingle}}.{{$p.Name.Pascalize}} %>

    -
  • - -{{ end }} -
diff --git a/genny/resource/templates/standard/actions/resource-name.go.tmpl b/genny/resource/templates/standard/actions/resource-name.go.tmpl deleted file mode 100644 index 35c6d5f03..000000000 --- a/genny/resource/templates/standard/actions/resource-name.go.tmpl +++ /dev/null @@ -1,19 +0,0 @@ -package actions - -import ( - "net/http" - - "github.com/gobuffalo/buffalo" -) - -type {{.opts.Name.Resource}}Resource struct{ - buffalo.Resource -} - -{{ range $a := .actions }} -// {{$a.Pascalize}} default implementation. -func (v {{$.opts.Name.Resource}}Resource) {{$a.Pascalize}}(c buffalo.Context) error { - return c.Render(http.StatusOK, r.String("{{$.opts.Model.Proper}}#{{$a.Pascalize}}")) -} - -{{end}} diff --git a/genny/resource/templates/standard/actions/resource-name_test.go.tmpl b/genny/resource/templates/standard/actions/resource-name_test.go.tmpl deleted file mode 100644 index b0d71ef37..000000000 --- a/genny/resource/templates/standard/actions/resource-name_test.go.tmpl +++ /dev/null @@ -1,12 +0,0 @@ -package actions - -import ( - "testing" - - "github.com/stretchr/testify/require" -) -{{ range $a := .actions }} -func (as *ActionSuite) Test_{{$.opts.Name.Resource}}Resource_{{ $a.Pascalize }}() { - as.Fail("Not Implemented!") -} -{{ end }} diff --git a/genny/resource/templates/use_model/actions/resource-name.go.tmpl b/genny/resource/templates/use_model/actions/resource-name.go.tmpl deleted file mode 100644 index 7443b7c8b..000000000 --- a/genny/resource/templates/use_model/actions/resource-name.go.tmpl +++ /dev/null @@ -1,264 +0,0 @@ -package actions - -import ( - - "fmt" - "net/http" - "github.com/gobuffalo/buffalo" - "github.com/gobuffalo/pop/v5" - "github.com/gobuffalo/x/responder" - "{{.opts.App.ModelsPkg}}" -) - -// This file is generated by Buffalo. It offers a basic structure for -// adding, editing and deleting a page. If your model is more -// complex or you need more than the basic implementation you need to -// edit this file. - -// Following naming logic is implemented in Buffalo: -// Model: Singular ({{.opts.Model.Proper}}) -// DB Table: Plural ({{.opts.Model.Tableize}}) -// Resource: Plural ({{.opts.Name.Resource}}) -// Path: Plural (/{{.opts.Name.URL}}) -// View Template Folder: Plural (/templates/{{.opts.Name.File.Pluralize}}/) - -// {{.opts.Name.Resource}}Resource is the resource for the {{.opts.Model.Proper}} model -type {{.opts.Name.Resource}}Resource struct{ - buffalo.Resource -} - -// List gets all {{.opts.Model.Group}}. This function is mapped to the path -// GET /{{.opts.Name.URL}} -func (v {{.opts.Name.Resource}}Resource) List(c buffalo.Context) error { - // Get the DB connection from the context - tx, ok := c.Value("tx").(*pop.Connection) - if !ok { - return fmt.Errorf("no transaction found") - } - - {{.opts.Model.VarCasePlural}} := &models.{{.opts.Model.Group}}{} - - // Paginate results. Params "page" and "per_page" control pagination. - // Default values are "page=1" and "per_page=20". - q := tx.PaginateFromParams(c.Params()) - - // Retrieve all {{.opts.Model.Group}} from the DB - if err := q.All({{.opts.Model.VarCasePlural}}); err != nil { - return err - } - - return responder.Wants("html", func (c buffalo.Context) error { - // Add the paginator to the context so it can be used in the template. - c.Set("pagination", q.Paginator) - - c.Set("{{.opts.Model.VarCasePlural}}", {{.opts.Model.VarCasePlural}}) - return c.Render(http.StatusOK, r.HTML("/{{.opts.Name.File.Pluralize}}/index.plush.html")) - }).Wants("json", func (c buffalo.Context) error { - return c.Render(200, r.JSON({{.opts.Model.VarCasePlural}})) - }).Wants("xml", func (c buffalo.Context) error { - return c.Render(200, r.XML({{.opts.Model.VarCasePlural}})) - }).Respond(c) -} - -// Show gets the data for one {{.opts.Model.Proper}}. This function is mapped to -// the path GET /{{.opts.Name.URL}}/{{"{"}}{{.opts.Name.ParamID}}} -func (v {{.opts.Name.Resource}}Resource) Show(c buffalo.Context) error { - // Get the DB connection from the context - tx, ok := c.Value("tx").(*pop.Connection) - if !ok { - return fmt.Errorf("no transaction found") - } - - // Allocate an empty {{.opts.Model.Proper}} - {{.opts.Model.VarCaseSingle}} := &models.{{.opts.Model.Proper}}{} - - // To find the {{.opts.Model.Proper}} the parameter {{.opts.Name.ParamID}} is used. - if err := tx.Find({{.opts.Model.VarCaseSingle}}, c.Param("{{.opts.Name.ParamID}}")); err != nil { - return c.Error(http.StatusNotFound, err) - } - - return responder.Wants("html", func (c buffalo.Context) error { - c.Set("{{.opts.Model.VarCaseSingle}}", {{.opts.Model.VarCaseSingle}}) - - return c.Render(http.StatusOK, r.HTML("/{{.opts.Name.File.Pluralize}}/show.plush.html")) - }).Wants("json", func (c buffalo.Context) error { - return c.Render(200, r.JSON({{.opts.Model.VarCaseSingle}})) - }).Wants("xml", func (c buffalo.Context) error { - return c.Render(200, r.XML({{.opts.Model.VarCaseSingle}})) - }).Respond(c) -} - -{{ if .opts.App.AsWeb -}} -// New renders the form for creating a new {{.opts.Model.Proper}}. -// This function is mapped to the path GET /{{.opts.Name.URL}}/new -func (v {{.opts.Name.Resource}}Resource) New(c buffalo.Context) error { - c.Set("{{.opts.Model.VarCaseSingle}}", &models.{{.opts.Model.Proper}}{}) - - return c.Render(http.StatusOK, r.HTML("/{{.opts.Name.File.Pluralize}}/new.plush.html")) -} -{{ end -}} - -// Create adds a {{.opts.Model.Proper}} to the DB. This function is mapped to the -// path POST /{{.opts.Name.URL}} -func (v {{.opts.Name.Resource}}Resource) Create(c buffalo.Context) error { - // Allocate an empty {{.opts.Model.Proper}} - {{.opts.Model.VarCaseSingle}} := &models.{{.opts.Model.Proper}}{} - - // Bind {{.opts.Model.VarCaseSingle}} to the html form elements - if err := c.Bind({{.opts.Model.VarCaseSingle}}); err != nil { - return err - } - - // Get the DB connection from the context - tx, ok := c.Value("tx").(*pop.Connection) - if !ok { - return fmt.Errorf("no transaction found") - } - - // Validate the data from the html form - verrs, err := tx.ValidateAndCreate({{.opts.Model.VarCaseSingle}}) - if err != nil { - return err - } - - if verrs.HasAny() { - return responder.Wants("html", func (c buffalo.Context) error { - // Make the errors available inside the html template - c.Set("errors", verrs) - - // Render again the new.html template that the user can - // correct the input. - c.Set("{{.opts.Model.VarCaseSingle}}", {{.opts.Model.VarCaseSingle}}) - - return c.Render(http.StatusUnprocessableEntity, r.HTML("/{{.opts.Name.File.Pluralize}}/new.plush.html")) - }).Wants("json", func (c buffalo.Context) error { - return c.Render(http.StatusUnprocessableEntity, r.JSON(verrs)) - }).Wants("xml", func (c buffalo.Context) error { - return c.Render(http.StatusUnprocessableEntity, r.XML(verrs)) - }).Respond(c) - } - - return responder.Wants("html", func (c buffalo.Context) error { - // If there are no errors set a success message - c.Flash().Add("success", T.Translate(c, "{{.opts.Model.VarCaseSingle}}.created.success")) - - // and redirect to the show page - return c.Redirect(http.StatusSeeOther, "/{{.opts.Name.URL}}/%v", {{.opts.Model.VarCaseSingle}}.ID) - }).Wants("json", func (c buffalo.Context) error { - return c.Render(http.StatusCreated, r.JSON({{.opts.Model.VarCaseSingle}})) - }).Wants("xml", func (c buffalo.Context) error { - return c.Render(http.StatusCreated, r.XML({{.opts.Model.VarCaseSingle}})) - }).Respond(c) -} - -{{ if .opts.App.AsWeb -}} -// Edit renders a edit form for a {{.opts.Model.Proper}}. This function is -// mapped to the path GET /{{.opts.Name.URL}}/{{"{"}}{{.opts.Name.ParamID}}}/edit -func (v {{.opts.Name.Resource}}Resource) Edit(c buffalo.Context) error { - // Get the DB connection from the context - tx, ok := c.Value("tx").(*pop.Connection) - if !ok { - return fmt.Errorf("no transaction found") - } - - // Allocate an empty {{.opts.Model.Proper}} - {{.opts.Model.VarCaseSingle}} := &models.{{.opts.Model.Proper}}{} - - if err := tx.Find({{.opts.Model.VarCaseSingle}}, c.Param("{{.opts.Name.ParamID}}")); err != nil { - return c.Error(http.StatusNotFound, err) - } - - c.Set("{{.opts.Model.VarCaseSingle}}", {{.opts.Model.VarCaseSingle}}) - return c.Render(http.StatusOK, r.HTML("/{{.opts.Name.File.Pluralize}}/edit.plush.html")) -} -{{ end -}} - -// Update changes a {{.opts.Model.Proper}} in the DB. This function is mapped to -// the path PUT /{{.opts.Name.URL}}/{{"{"}}{{.opts.Name.ParamID}}} -func (v {{.opts.Name.Resource}}Resource) Update(c buffalo.Context) error { - // Get the DB connection from the context - tx, ok := c.Value("tx").(*pop.Connection) - if !ok { - return fmt.Errorf("no transaction found") - } - - // Allocate an empty {{.opts.Model.Proper}} - {{.opts.Model.VarCaseSingle}} := &models.{{.opts.Model.Proper}}{} - - if err := tx.Find({{.opts.Model.VarCaseSingle}}, c.Param("{{.opts.Name.ParamID}}")); err != nil { - return c.Error(http.StatusNotFound, err) - } - - // Bind {{.opts.Model.Proper}} to the html form elements - if err := c.Bind({{.opts.Model.VarCaseSingle}}); err != nil { - return err - } - - verrs, err := tx.ValidateAndUpdate({{.opts.Model.VarCaseSingle}}) - if err != nil { - return err - } - - if verrs.HasAny() { - return responder.Wants("html", func (c buffalo.Context) error { - // Make the errors available inside the html template - c.Set("errors", verrs) - - // Render again the edit.html template that the user can - // correct the input. - c.Set("{{.opts.Model.VarCaseSingle}}", {{.opts.Model.VarCaseSingle}}) - - return c.Render(http.StatusUnprocessableEntity, r.HTML("/{{.opts.Name.File.Pluralize}}/edit.plush.html")) - }).Wants("json", func (c buffalo.Context) error { - return c.Render(http.StatusUnprocessableEntity, r.JSON(verrs)) - }).Wants("xml", func (c buffalo.Context) error { - return c.Render(http.StatusUnprocessableEntity, r.XML(verrs)) - }).Respond(c) - } - - return responder.Wants("html", func (c buffalo.Context) error { - // If there are no errors set a success message - c.Flash().Add("success", T.Translate(c, "{{.opts.Model.VarCaseSingle}}.updated.success")) - - // and redirect to the show page - return c.Redirect(http.StatusSeeOther, "/{{.opts.Name.URL}}/%v", {{.opts.Model.VarCaseSingle}}.ID) - }).Wants("json", func (c buffalo.Context) error { - return c.Render(http.StatusOK, r.JSON({{.opts.Model.VarCaseSingle}})) - }).Wants("xml", func (c buffalo.Context) error { - return c.Render(http.StatusOK, r.XML({{.opts.Model.VarCaseSingle}})) - }).Respond(c) -} - -// Destroy deletes a {{.opts.Model.Proper}} from the DB. This function is mapped -// to the path DELETE /{{.opts.Name.URL}}/{{"{"}}{{.opts.Name.ParamID}}} -func (v {{.opts.Name.Resource}}Resource) Destroy(c buffalo.Context) error { - // Get the DB connection from the context - tx, ok := c.Value("tx").(*pop.Connection) - if !ok { - return fmt.Errorf("no transaction found") - } - - // Allocate an empty {{.opts.Model.Proper}} - {{.opts.Model.VarCaseSingle}} := &models.{{.opts.Model.Proper}}{} - - // To find the {{.opts.Model.Proper}} the parameter {{.opts.Name.ParamID}} is used. - if err := tx.Find({{.opts.Model.VarCaseSingle}}, c.Param("{{.opts.Name.ParamID}}")); err != nil { - return c.Error(http.StatusNotFound, err) - } - - if err := tx.Destroy({{.opts.Model.VarCaseSingle}}); err != nil { - return err - } - - return responder.Wants("html", func (c buffalo.Context) error { - // If there are no errors set a flash message - c.Flash().Add("success", T.Translate(c, "{{.opts.Model.VarCaseSingle}}.destroyed.success")) - - // Redirect to the index page - return c.Redirect(http.StatusSeeOther, "/{{.opts.Name.URL}}") - }).Wants("json", func (c buffalo.Context) error { - return c.Render(http.StatusOK, r.JSON({{.opts.Model.VarCaseSingle}})) - }).Wants("xml", func (c buffalo.Context) error { - return c.Render(http.StatusOK, r.XML({{.opts.Model.VarCaseSingle}})) - }).Respond(c) -} diff --git a/genny/resource/templates/use_model/actions/resource-name_test.go.tmpl b/genny/resource/templates/use_model/actions/resource-name_test.go.tmpl deleted file mode 100644 index 486536d81..000000000 --- a/genny/resource/templates/use_model/actions/resource-name_test.go.tmpl +++ /dev/null @@ -1,7 +0,0 @@ -package actions - -{{ range $a := .actions }} -func (as *ActionSuite) Test_{{$.opts.Name.Resource}}Resource_{{ $a.Pascalize }}() { - as.Fail("Not Implemented!") -} -{{ end }} diff --git a/genny/vcs/options.go b/genny/vcs/options.go deleted file mode 100644 index c6afbff53..000000000 --- a/genny/vcs/options.go +++ /dev/null @@ -1,36 +0,0 @@ -package vcs - -import ( - "fmt" - "strings" - - "github.com/gobuffalo/meta" -) - -// Available VCS implementations -var Available = []string{"git", "bzr", "none"} - -// Options for VCS generator -type Options struct { - App meta.App - Provider string -} - -// Validate that options are usuable -func (opts *Options) Validate() error { - if opts.App.IsZero() { - opts.App = meta.New(".") - } - - var found bool - for _, a := range Available { - if opts.Provider == a { - found = true - break - } - } - if !found { - return fmt.Errorf("unknown provider %q expecting one of %s", opts.Provider, strings.Join(Available, ", ")) - } - return nil -} diff --git a/genny/vcs/options_test.go b/genny/vcs/options_test.go deleted file mode 100644 index 1755486b6..000000000 --- a/genny/vcs/options_test.go +++ /dev/null @@ -1,20 +0,0 @@ -package vcs - -import ( - "testing" - - "github.com/stretchr/testify/require" -) - -func Test_Options_Validate(t *testing.T) { - r := require.New(t) - - opts := &Options{} - err := opts.Validate() - r.Error(err) - - opts.Provider = "git" - - err = opts.Validate() - r.NoError(err) -} diff --git a/genny/vcs/templates/ignore.tmpl b/genny/vcs/templates/ignore.tmpl deleted file mode 100644 index 3e7fd5c09..000000000 --- a/genny/vcs/templates/ignore.tmpl +++ /dev/null @@ -1,27 +0,0 @@ -vendor/ -**/*.log -**/*.sqlite -.idea/ -bin/ -tmp/ -node_modules/ -.sass-cache/ -*-packr.go -public/assets/ -.vscode/ -.grifter/ -.env -**/.DS_Store -*.pid -coverage -coverage.data -.svn -.console_history -.sass-cache/* -.jhw-cache/ -jhw.* -*.sublime* -dist/ -generated/ -.vendor/ - diff --git a/genny/vcs/vcs-packr.go b/genny/vcs/vcs-packr.go deleted file mode 100644 index 8db6172a1..000000000 --- a/genny/vcs/vcs-packr.go +++ /dev/null @@ -1,8 +0,0 @@ -// +build !skippackr -// Code generated by github.com/gobuffalo/packr/v2. DO NOT EDIT. - -// You can use the "packr clean" command to clean up this, -// and any other packr generated files. -package vcs - -import _ "github.com/gobuffalo/buffalo/packrd" diff --git a/genny/vcs/vcs.go b/genny/vcs/vcs.go deleted file mode 100644 index 29a6e4f5a..000000000 --- a/genny/vcs/vcs.go +++ /dev/null @@ -1,42 +0,0 @@ -package vcs - -import ( - "fmt" - "os/exec" - - "github.com/gobuffalo/genny/v2" - "github.com/gobuffalo/packr/v2" -) - -// New generator for adding VCS to an application -func New(opts *Options) (*genny.Generator, error) { - g := genny.New() - - if err := opts.Validate(); err != nil { - return g, err - } - - if opts.Provider == "none" { - return g, nil - } - - box := packr.New("buffalo:genny:vcs", "../vcs/templates") - s, err := box.FindString("ignore.tmpl") - if err != nil { - return g, err - } - - p := opts.Provider - n := fmt.Sprintf(".%signore", p) - g.File(genny.NewFileS(n, s)) - g.Command(exec.Command(p, "init")) - - args := []string{"add", "."} - if p == "bzr" { - // Ensure Bazaar is as quiet as Git - args = append(args, "-q") - } - g.Command(exec.Command(p, args...)) - g.Command(exec.Command(p, "commit", "-q", "-m", "Initial Commit")) - return g, nil -} diff --git a/genny/vcs/vcs_test.go b/genny/vcs/vcs_test.go deleted file mode 100644 index a8a06a627..000000000 --- a/genny/vcs/vcs_test.go +++ /dev/null @@ -1,41 +0,0 @@ -package vcs - -import ( - "strings" - "testing" - - "github.com/gobuffalo/genny/v2/gentest" - "github.com/stretchr/testify/require" -) - -func Test_New(t *testing.T) { - r := require.New(t) - - g, err := New(&Options{ - Provider: "bzr", - }) - r.NoError(err) - - run := gentest.NewRunner() - run.With(g) - - r.NoError(run.Run()) - - res := run.Results() - - r.Len(res.Files, 1) - - f := res.Files[0] - r.Equal(".bzrignore", f.Name()) - - cmds := []string{ - "bzr init", - "bzr add . -q", - "bzr commit -q -m Initial Commit", - } - - r.Len(res.Commands, len(cmds)) - for i, c := range res.Commands { - r.Equal(cmds[i], strings.Join(c.Args, " ")) - } -} diff --git a/go.mod b/go.mod index 21eef3615..18a23027e 100644 --- a/go.mod +++ b/go.mod @@ -1,18 +1,14 @@ module github.com/gobuffalo/buffalo -go 1.15 +go 1.16 require ( - github.com/BurntSushi/toml v0.3.1 + github.com/BurntSushi/toml v0.4.1 github.com/dustin/go-humanize v1.0.0 github.com/fatih/color v1.12.0 - github.com/gobuffalo/attrs v1.0.0 - github.com/gobuffalo/buffalo-pop/v2 v2.3.0 - github.com/gobuffalo/clara/v2 v2.0.2 github.com/gobuffalo/envy v1.9.0 github.com/gobuffalo/events v1.4.1 github.com/gobuffalo/flect v0.2.3 - github.com/gobuffalo/genny/v2 v2.0.6 github.com/gobuffalo/github_flavored_markdown v1.1.0 github.com/gobuffalo/helpers v0.6.2 github.com/gobuffalo/httptest v1.5.0 @@ -21,10 +17,9 @@ require ( github.com/gobuffalo/nulls v0.4.0 github.com/gobuffalo/packd v1.0.0 github.com/gobuffalo/packr/v2 v2.8.1 - github.com/gobuffalo/plush/v4 v4.1.5 + github.com/gobuffalo/plush/v4 v4.1.6 github.com/gobuffalo/pop/v5 v5.3.4 github.com/gobuffalo/tags/v3 v3.1.0 - github.com/google/go-cmp v0.5.6 github.com/gorilla/handlers v1.5.1 github.com/gorilla/mux v1.8.0 github.com/gorilla/sessions v1.2.1 @@ -37,11 +32,6 @@ require ( github.com/monoculum/formam v0.0.0-20210523135142-1af3317b7b9b github.com/sirupsen/logrus v1.8.1 github.com/spf13/cobra v1.2.1 - github.com/spf13/pflag v1.0.5 - github.com/spf13/viper v1.8.1 github.com/stretchr/testify v1.7.0 - golang.org/x/sync v0.0.0-20210220032951-036812b2e83c - golang.org/x/tools v0.1.5 gopkg.in/alexcesaro/quotedprintable.v3 v3.0.0-20150716171945-2caba252f4dc - gopkg.in/yaml.v2 v2.4.0 ) diff --git a/go.sum b/go.sum index dfcd18cd3..1ad799874 100644 --- a/go.sum +++ b/go.sum @@ -1,7 +1,5 @@ cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= -cloud.google.com/go v0.31.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= -cloud.google.com/go v0.36.0/go.mod h1:RUoy9p/M4ge0HzT8L+SDZ8jg+Q6fth0CiBuhFJpSV40= cloud.google.com/go v0.38.0/go.mod h1:990N+gfupTy94rShfmMCWGDn0LpTmnzTp2qbd1dvSRU= cloud.google.com/go v0.44.1/go.mod h1:iSa0KzasP4Uvy3f1mN/7PiObzGgflwredwwASm/v6AU= cloud.google.com/go v0.44.2/go.mod h1:60680Gw3Yr4ikxnPRS/oxxkBccT6SA1yMk63TGekxKY= @@ -38,19 +36,13 @@ cloud.google.com/go/storage v1.5.0/go.mod h1:tpKbwo567HUNpVclU5sGELwQWBDZ8gh0Zeo cloud.google.com/go/storage v1.6.0/go.mod h1:N7U0C8pVQ/+NIKOBQyamJIeKQKkZ+mxpohlUTyfDhBk= cloud.google.com/go/storage v1.8.0/go.mod h1:Wv1Oy7z6Yz3DshWRJFhqM/UCfaWIRTdp0RXyy7KQOVs= cloud.google.com/go/storage v1.10.0/go.mod h1:FLPqc6j+Ki4BU591ie1oL6qBQGu2Bl/tZ9ullr3+Kg0= -dmitri.shuralyov.com/app/changes v0.0.0-20180602232624-0a106ad413e3/go.mod h1:Yl+fi1br7+Rr3LqpNJf1/uxUdtRUV+Tnj0o93V2B9MU= dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= -dmitri.shuralyov.com/html/belt v0.0.0-20180602232347-f7d459c86be0/go.mod h1:JLBrvjyP0v+ecvNYvCpyZgu5/xkfAUhi6wJj28eUfSU= -dmitri.shuralyov.com/service/change v0.0.0-20181023043359-a85b471d5412/go.mod h1:a1inKt/atXimZ4Mv927x+r7UpyzRUf4emIoiiSC2TN4= -dmitri.shuralyov.com/state v0.0.0-20180228185332-28bcc343414c/go.mod h1:0PRwlb0D6DFvNNtx+9ybjezNCa8XF0xaYcETyp6rHWU= -git.apache.org/thrift.git v0.0.0-20180902110319-2566ecd5d999/go.mod h1:fPE2ZNJGynbRyZ4dJvy6G277gSllfV2HJqblrnkyeyg= github.com/BurntSushi/toml v0.3.1 h1:WXkYYl6Yr3qBf1K79EBnL4mak0OimBfB0XUf9Vl28OQ= github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= +github.com/BurntSushi/toml v0.4.1 h1:GaI7EiDXDRfa8VshkTj7Fym7ha+y8/XxIgD2okUIjLw= +github.com/BurntSushi/toml v0.4.1/go.mod h1:CxXYINrC8qIiEnFrOxCa7Jy5BFHlXnUU2pbicEuybxQ= github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= github.com/Knetic/govaluate v3.0.1-0.20171022003610-9aa49832a739+incompatible/go.mod h1:r7JcOSlj0wfOMncg0iLm8Leh48TZaKVeNIfJntJ2wa0= -github.com/Masterminds/semver v1.4.2/go.mod h1:MB6lktGJrhw8PrUyiEoblNEGEQ+RzHPF078ddwwvV3Y= -github.com/Masterminds/semver v1.5.0 h1:H65muMkzWKEuNDnfl9d70GUjFniHKHRbFPGBuZ3QEww= -github.com/Masterminds/semver v1.5.0/go.mod h1:MB6lktGJrhw8PrUyiEoblNEGEQ+RzHPF078ddwwvV3Y= github.com/Masterminds/semver/v3 v3.0.3/go.mod h1:VPu/7SZ7ePZ3QOrcuXROw5FAcLl4a0cBrbBpGY/8hQs= github.com/Masterminds/semver/v3 v3.1.1 h1:hLg3sBzpNErnxhQtUy/mmLR2I9foDujNK030IGemrRc= github.com/Masterminds/semver/v3 v3.1.1/go.mod h1:VPu/7SZ7ePZ3QOrcuXROw5FAcLl4a0cBrbBpGY/8hQs= @@ -59,13 +51,10 @@ github.com/Shopify/sarama v1.19.0/go.mod h1:FVkBWblsNy7DGZRfXLU0O9RCGt5g3g3yEuWX github.com/Shopify/toxiproxy v2.1.4+incompatible/go.mod h1:OXgGpZ6Cli1/URJOF1DMxUHB2q5Ap20/P/eIdh4G0pI= github.com/VividCortex/gohistogram v1.0.0/go.mod h1:Pf5mBqqDxYaXu3hDrrU+w6nw50o/4+TcAqDqk/vUH7g= github.com/afex/hystrix-go v0.0.0-20180502004556-fa1af6a1f4f5/go.mod h1:SkGFH1ia65gfNATL8TAiHDNxPzPdmEL5uirI2Uyuz6c= -github.com/ajg/form v0.0.0-20160822230020-523a5da1a92f/go.mod h1:uL1WgH+h2mgNtvBq0339dVnzXdBETtL2LeUXaIv25UY= -github.com/ajg/form v1.5.1/go.mod h1:uL1WgH+h2mgNtvBq0339dVnzXdBETtL2LeUXaIv25UY= github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= github.com/alecthomas/units v0.0.0-20190717042225-c3de453c63f4/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= -github.com/anmitsu/go-shlex v0.0.0-20161002113705-648efa622239/go.mod h1:2FmKhYUyUczH0OGQWaF5ceTx0UBShxjsH6f8oGKYe2c= github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY= github.com/apache/thrift v0.12.0/go.mod h1:cp2SuWMxlEZw2r+iP2GNCdIi4C1qmUzdZFSVb+bacwQ= github.com/apache/thrift v0.13.0/go.mod h1:cp2SuWMxlEZw2r+iP2GNCdIi4C1qmUzdZFSVb+bacwQ= @@ -81,10 +70,7 @@ github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24 github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8= github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= github.com/bgentry/speakeasy v0.1.0/go.mod h1:+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kBD4zp0CCIs= -github.com/bketelsen/crypt v0.0.3-0.20200106085610-5cbc8cc4026c/go.mod h1:MKsuJmJgSg28kpZDP6UIiPt0e0Oz0kqKNGyRaWEPv84= github.com/bketelsen/crypt v0.0.4/go.mod h1:aI6NrJ0pMGgvZKL1iVgXLnfIFJtfV+bKCoqOes/6LfM= -github.com/blang/semver v3.5.1+incompatible/go.mod h1:kRBLl5iJ+tD4TcOOxsy/0fnwebNt5EWlYSAyrTnjyyk= -github.com/bradfitz/go-smtpd v0.0.0-20170404230938-deb6d6237625/go.mod h1:HYsPBTaaSFSlLx/70C2HPIMNZpVV8+vt/A+FMnYP11g= github.com/casbin/casbin/v2 v2.1.2/go.mod h1:YcPU1XXisHhLzuxH9coDNf2FbKpjGlbCg3n9yuLkIJQ= github.com/cenkalti/backoff v2.2.1+incompatible/go.mod h1:90ReRw6GdpyfrHakVjL/QHaoyV4aDUVVkXQJJJ3NXXM= github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= @@ -100,26 +86,18 @@ github.com/cncf/udpa/go v0.0.0-20200629203442-efcf912fb354/go.mod h1:WmhPx2Nbnht github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/cockroachdb/apd v1.1.0 h1:3LFP3629v+1aKXU5Q37mxmRxX/pIu1nijXydLShEq5I= github.com/cockroachdb/apd v1.1.0/go.mod h1:8Sl8LxpKi29FqWXR16WEFZRNSz3SoPzUzeMeY4+DwBQ= -github.com/cockroachdb/cockroach-go v0.0.0-20181001143604-e0a95dfd547c/go.mod h1:XGLbWH/ujMcbPbhZq52Nv6UrCghb1yGn//133kEsvDk= -github.com/cockroachdb/cockroach-go v0.0.0-20190916165215-ad57a61cc915/go.mod h1:XGLbWH/ujMcbPbhZq52Nv6UrCghb1yGn//133kEsvDk= -github.com/cockroachdb/cockroach-go v0.0.0-20190925194419-606b3d062051/go.mod h1:XGLbWH/ujMcbPbhZq52Nv6UrCghb1yGn//133kEsvDk= github.com/cockroachdb/datadriven v0.0.0-20190809214429-80d97fb3cbaa/go.mod h1:zn76sxSg3SzpJ0PPJaLDCu+Bu0Lg3sKTORVIj19EIF8= github.com/codahale/hdrhistogram v0.0.0-20161010025455-3a0bb77429bd/go.mod h1:sE/e/2PUdi/liOCUjSTXgM1o87ZssimdTWN964YiIeI= -github.com/codegangsta/negroni v1.0.0/go.mod h1:v0y3T5G7Y1UlFfyxFn/QLRU4a2EuNau2iZY63YTKWo0= github.com/coreos/bbolt v1.3.2/go.mod h1:iRUV2dpdMOn7Bo10OQBFzIJO9kkE559Wcmn+qkEiiKk= github.com/coreos/etcd v3.3.10+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE= -github.com/coreos/etcd v3.3.13+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE= -github.com/coreos/go-etcd v2.0.0+incompatible/go.mod h1:Jez6KQU2B/sWsbdaef3ED8NzMklzPG4d5KIOhIy30Tk= github.com/coreos/go-semver v0.2.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= github.com/coreos/go-semver v0.3.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= github.com/coreos/go-systemd v0.0.0-20180511133405-39ca1b05acc7/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= -github.com/coreos/go-systemd v0.0.0-20181012123002-c6f51f82210d/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= github.com/coreos/go-systemd v0.0.0-20190719114852-fd7a80b32e1f/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= github.com/coreos/go-systemd/v22 v22.3.2/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= github.com/coreos/pkg v0.0.0-20160727233714-3ac0863d7acf/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA= github.com/coreos/pkg v0.0.0-20180928190104-399ea9e2e55f/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA= -github.com/cpuguy83/go-md2man v1.0.10/go.mod h1:SmD6nW6nTyfqj6ABTjUi3V3JVMnlJmwcJI5acqYI6dE= github.com/cpuguy83/go-md2man/v2 v2.0.0-20190314233015-f79a8a8ca69d/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU= github.com/cpuguy83/go-md2man/v2 v2.0.0/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU= github.com/creack/pty v1.1.7/go.mod h1:lj5s0c3V2DBrqTV7llrYr5NG6My20zk30Fl46Y7DoTY= @@ -129,7 +107,6 @@ github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSs github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ= github.com/dgryski/go-sip13 v0.0.0-20181026042036-e10d5fee7954/go.mod h1:vAd38F8PWV+bWy6jNmig1y/TA+kYO4g3RSRF0IAv0no= github.com/dustin/go-humanize v0.0.0-20171111073723-bb3d318650d4/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= -github.com/dustin/go-humanize v0.0.0-20180713052910-9f541cc9db5d/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= 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/eapache/go-resiliency v1.1.0/go.mod h1:kFI+JgMyC7bLPUVY133qvEBtVayf5mFgVsvEsIPBvNs= @@ -148,19 +125,16 @@ github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5Kwzbycv github.com/fatih/color v1.9.0/go.mod h1:eQcE1qtQxscV5RaZvpXrrb8Drkc3/DdQ+uUYCNjL+zU= github.com/fatih/color v1.12.0 h1:mRhaKNwANqRgUBGKmnI5ZxEk7QXmjQeCcuYFMX2bfcc= github.com/fatih/color v1.12.0/go.mod h1:ELkj/draVOlAH/xkhN6mQ50Qd0MPOk5AAr3maGEBuJM= -github.com/fatih/structs v1.0.0/go.mod h1:9NiDSp5zOcgEDl+j00MP/WkGVPOlPRLejGD8Ga6PJ7M= github.com/fatih/structs v1.1.0 h1:Q7juDM0QtcnhCpeyLGQKyg4TOIghuNXrkL32pHAUMxo= github.com/fatih/structs v1.1.0/go.mod h1:9NiDSp5zOcgEDl+j00MP/WkGVPOlPRLejGD8Ga6PJ7M= github.com/felixge/httpsnoop v1.0.1 h1:lvB5Jl89CsZtGIWuTcDM1E/vkVs49/Ml7JJe07l8SPQ= github.com/felixge/httpsnoop v1.0.1/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= -github.com/flynn/go-shlex v0.0.0-20150515145356-3f9db97f8568/go.mod h1:xEzjJPgXI435gkrCt3MPfRiAkVrwSbHsst4LCFVfpJc= github.com/franela/goblin v0.0.0-20200105215937-c9ffbefa60db/go.mod h1:7dvUGVsVBjqR7JHJk0brhHOZYGmfBYOrK0ZhYMEtBr4= github.com/franela/goreq v0.0.0-20171204163338-bcd34c9993f8/go.mod h1:ZhphrRTfi2rbfLwlschooIH4+wKKDR4Pdxhh+TRoA20= github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= github.com/fsnotify/fsnotify v1.4.9 h1:hsms1Qyu0jgnwNXIxa+/V/PDsU6CfLf6CNO8H7IWoS4= github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ= github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= -github.com/gliderlabs/ssh v0.1.1/go.mod h1:U7qILu1NlMHj9FlMhZLlkCdDnU1DBEAqr0aevW3Awn0= github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU= github.com/go-gl/glfw/v3.3/glfw v0.0.0-20191125211704-12ad95a8df72/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= @@ -171,506 +145,61 @@ github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9 github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk= github.com/go-logfmt/logfmt v0.5.0/go.mod h1:wCYkCAKZfumFQihp8CzCvQ3paCTfi41vtzG1KdI/P7A= github.com/go-sql-driver/mysql v1.4.0/go.mod h1:zAC/RDZ24gD3HViQzih4MyKcchzm+sOG5ZlKdlhCg5w= -github.com/go-sql-driver/mysql v1.4.1/go.mod h1:zAC/RDZ24gD3HViQzih4MyKcchzm+sOG5ZlKdlhCg5w= github.com/go-sql-driver/mysql v1.5.0 h1:ozyZYNQW3x3HtqT1jira07DN2PArx2v7/mN66gGcHOs= github.com/go-sql-driver/mysql v1.5.0/go.mod h1:DCzpHaOWr8IXmIStZouvnhqoel9Qv2LBy8hT2VhHyBg= github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= -github.com/gobuffalo/attrs v0.0.0-20190219185331-f338c9388485/go.mod h1:4duuawTqi2wkkpB4ePgWMaai6/Kc6WEz83bhFwpHzj0= -github.com/gobuffalo/attrs v0.0.0-20190224210810-a9411de4debd/go.mod h1:4duuawTqi2wkkpB4ePgWMaai6/Kc6WEz83bhFwpHzj0= github.com/gobuffalo/attrs v0.1.0/go.mod h1:fmNpaWyHM0tRm8gCZWKx8yY9fvaNLo2PyzBNSrBZ5Hw= -github.com/gobuffalo/attrs v1.0.0 h1:aAK8D55L0GNVbVRlaCwvAGE2BcGdEoVoK86vgQpuUZ8= -github.com/gobuffalo/attrs v1.0.0/go.mod h1:YWU+sjOr7V05rNzvCoVc5qQTC2IgEz9434TFW5GhNaw= -github.com/gobuffalo/buffalo v0.12.8-0.20181004233540-fac9bb505aa8/go.mod h1:sLyT7/dceRXJUxSsE813JTQtA3Eb1vjxWfo/N//vXIY= -github.com/gobuffalo/buffalo v0.13.0/go.mod h1:Mjn1Ba9wpIbpbrD+lIDMy99pQ0H0LiddMIIDGse7qT4= -github.com/gobuffalo/buffalo v0.13.1/go.mod h1:K9c22KLfDz7obgxvHv1amvJtCQEZNiox9+q6FDJ1Zcs= -github.com/gobuffalo/buffalo v0.13.2/go.mod h1:vA8I4Dwcfkx7RAzIRHVDZxfS3QJR7muiOjX4r8P2/GE= -github.com/gobuffalo/buffalo v0.13.4/go.mod h1:y2jbKkO0k49OrNIOAkbWQiPBqxAFpHn5OKnkc7BDh+I= -github.com/gobuffalo/buffalo v0.13.5/go.mod h1:hPcP12TkFSZmT3gUVHZ24KRhTX3deSgu6QSgn0nbWf4= -github.com/gobuffalo/buffalo v0.13.6/go.mod h1:/Pm0MPLusPhWDayjRD+/vKYnelScIiv0sX9YYek0wpg= -github.com/gobuffalo/buffalo v0.13.7/go.mod h1:3gQwZhI8DSbqmDqlFh7kfwuv/wd40rqdVxXtFWlCQHw= -github.com/gobuffalo/buffalo v0.13.9/go.mod h1:vIItiQkTHq46D1p+bw8mFc5w3BwrtJhMvYjSIYK3yjE= -github.com/gobuffalo/buffalo v0.13.12/go.mod h1:Y9e0p0cdo/eI+lHm7EFzlkc9YzjwGo5QeDj+FbsyqVA= -github.com/gobuffalo/buffalo v0.13.13/go.mod h1:WAL36xBN8OkU71lNjuYv6llmgl0o8twjlY+j7oGUmYw= -github.com/gobuffalo/buffalo v0.14.0/go.mod h1:A9JI3juErlXNrPBeJ/0Pdky9Wz+GffEg7ZN0d1B5h48= -github.com/gobuffalo/buffalo v0.14.2/go.mod h1:VNMTzddg7bMnkVxCUXzqTS4PvUo6cDOs/imtG8Cnt/k= -github.com/gobuffalo/buffalo v0.14.3/go.mod h1:3O9vB/a4UNb16TevehTvDCaPnb98NWvYz0msJQ6ZlVA= -github.com/gobuffalo/buffalo v0.14.5/go.mod h1:RWK6evR4hY4nRVfw9xie9V/LYK3j0U9wU2oKgQUFZ88= -github.com/gobuffalo/buffalo v0.14.6/go.mod h1:71Un+T2JGgwXLjBqYFdGSooz/OUjw15BJM0nbbcAM0o= -github.com/gobuffalo/buffalo v0.14.9/go.mod h1:M8XWw+Rcotn7C4NYpCEGBg3yX+O1TeD1pBfmiILhgHw= -github.com/gobuffalo/buffalo v0.14.10/go.mod h1:49A7/JYlsCyTkVHtvKl91w6rG35ZiywwjWMVC1zKWsQ= -github.com/gobuffalo/buffalo v0.14.11/go.mod h1:RO5OwOJQjv6/TukzszV5ELA54lg84D1kZwla6oAkTlo= -github.com/gobuffalo/buffalo v0.15.5/go.mod h1:MeAI3aC7vGegr6Ruh+nfj0TvIoBhlLeO7VLueBjwj2o= -github.com/gobuffalo/buffalo v0.16.26 h1:1z8Ehnx93sDV9MX7jsk0wJ51Ro4z4iaUYbxHKk+/uXA= -github.com/gobuffalo/buffalo v0.16.26/go.mod h1:NBHN9MBgV4zeIReK4nWZb71mMWMb5ckh4JpbNZfsEaE= -github.com/gobuffalo/buffalo-docker v1.0.5/go.mod h1:NZ3+21WIdqOUlOlM2onCt7cwojYp4Qwlsngoolw8zlE= -github.com/gobuffalo/buffalo-docker v1.0.6/go.mod h1:UlqKHJD8CQvyIb+pFq+m/JQW2w2mXuhxsaKaTj1X1XI= -github.com/gobuffalo/buffalo-docker v1.0.7/go.mod h1:BdB8AhcmjwR6Lo3rDPMzyh/+eNjYnZ1TAO0eZeLkhig= -github.com/gobuffalo/buffalo-plugins v1.0.2/go.mod h1:pOp/uF7X3IShFHyobahTkTLZaeUXwb0GrUTb9ngJWTs= -github.com/gobuffalo/buffalo-plugins v1.0.4/go.mod h1:pWS1vjtQ6uD17MVFWf7i3zfThrEKWlI5+PYLw/NaDB4= -github.com/gobuffalo/buffalo-plugins v1.4.3/go.mod h1:uCzTY0woez4nDMdQjkcOYKanngeUVRO2HZi7ezmAjWY= -github.com/gobuffalo/buffalo-plugins v1.5.1/go.mod h1:jbmwSZK5+PiAP9cC09VQOrGMZFCa/P0UMlIS3O12r5w= -github.com/gobuffalo/buffalo-plugins v1.6.1/go.mod h1:/XZt7UuuDnx5P4v3cStK0+XoYiNOA2f0wDIsm1oLJQA= -github.com/gobuffalo/buffalo-plugins v1.6.4/go.mod h1:/+N1aophkA2jZ1ifB2O3Y9yGwu6gKOVMtUmJnbg+OZI= -github.com/gobuffalo/buffalo-plugins v1.6.5/go.mod h1:0HVkbgrVs/MnPZ/FOseDMVanCTm2RNcdM0PuXcL1NNI= -github.com/gobuffalo/buffalo-plugins v1.6.6/go.mod h1:hSWAEkJyL9RENJlmanMivgnNkrQ9RC4xJARz8dQryi0= -github.com/gobuffalo/buffalo-plugins v1.6.7/go.mod h1:ZGZRkzz2PiKWHs0z7QsPBOTo2EpcGRArMEym6ghKYgk= -github.com/gobuffalo/buffalo-plugins v1.6.9/go.mod h1:yYlYTrPdMCz+6/+UaXg5Jm4gN3xhsvsQ2ygVatZV5vw= -github.com/gobuffalo/buffalo-plugins v1.6.10/go.mod h1:HxzPZjAEzh9H0gnHelObxxrut9O+1dxydf7U93SYsc8= -github.com/gobuffalo/buffalo-plugins v1.6.11/go.mod h1:eAA6xJIL8OuynJZ8amXjRmHND6YiusVAaJdHDN1Lu8Q= -github.com/gobuffalo/buffalo-plugins v1.7.2/go.mod h1:vEbx30cLFeeZ48gBA/rkhbqC2M/2JpsKs5CoESWhkPw= -github.com/gobuffalo/buffalo-plugins v1.8.1/go.mod h1:vu71J3fD4b7KKywJQ1tyaJGtahG837Cj6kgbxX0e4UI= -github.com/gobuffalo/buffalo-plugins v1.8.2/go.mod h1:9te6/VjEQ7pKp7lXlDIMqzxgGpjlKoAcAANdCgoR960= -github.com/gobuffalo/buffalo-plugins v1.8.3/go.mod h1:IAWq6vjZJVXebIq2qGTLOdlXzmpyTZ5iJG5b59fza5U= -github.com/gobuffalo/buffalo-plugins v1.9.3/go.mod h1:BNRunDThMZKjqx6R+n14Rk3sRSOWgbMuzCKXLqbd7m0= -github.com/gobuffalo/buffalo-plugins v1.9.4/go.mod h1:grCV6DGsQlVzQwk6XdgcL3ZPgLm9BVxlBmXPMF8oBHI= -github.com/gobuffalo/buffalo-plugins v1.10.0/go.mod h1:4osg8d9s60txLuGwXnqH+RCjPHj9K466cDFRl3PErHI= -github.com/gobuffalo/buffalo-plugins v1.11.0/go.mod h1:rtIvAYRjYibgmWhnjKmo7OadtnxuMG5ZQLr25ozAzjg= -github.com/gobuffalo/buffalo-plugins v1.12.0/go.mod h1:kw4Mj2vQXqe4X5TI36PEQgswbL30heGQwJEeDKd1v+4= -github.com/gobuffalo/buffalo-plugins v1.13.0/go.mod h1:Y9nH2VwHVkeKhmdM380ulNXmhhD5On81nRVeD+WlDTQ= -github.com/gobuffalo/buffalo-plugins v1.13.1/go.mod h1:VcvhrgWcZLhOp8JPLckHBDtv05KepY/MxHsT2+06xX4= -github.com/gobuffalo/buffalo-plugins v1.14.0/go.mod h1:r2lykSXBT79c3T5JK1ouivVDrHvvCZUdZBmn+lPMHU8= -github.com/gobuffalo/buffalo-plugins v1.14.1/go.mod h1:9BRBvXuKxR0m4YttVFRtuUcAP9Rs97mGq6OleyDbIuo= -github.com/gobuffalo/buffalo-pop v1.0.5/go.mod h1:Fw/LfFDnSmB/vvQXPvcXEjzP98Tc+AudyNWUBWKCwQ8= -github.com/gobuffalo/buffalo-pop v1.1.2/go.mod h1:czNLXcYbg5/fjr+uht0NyjZaQ0V2W23H1jzyORgCzQ4= -github.com/gobuffalo/buffalo-pop v1.1.5/go.mod h1:H01JIg42XwOHS4gRMhSeDZqBovNVlfBUsVXckU617s4= -github.com/gobuffalo/buffalo-pop v1.1.8/go.mod h1:1uaxOFzzVud/zR5f1OEBr21tMVLQS3OZpQ1A5cr0svE= -github.com/gobuffalo/buffalo-pop v1.1.13/go.mod h1:47GQoBjCMcl5Pw40iCWHQYJvd0HsT9kdaOPWgnzHzk4= -github.com/gobuffalo/buffalo-pop v1.1.14/go.mod h1:sAMh6+s7wytCn5cHqZIuItJbAqzvs6M7FemLexl+pwc= -github.com/gobuffalo/buffalo-pop v1.1.15/go.mod h1:vnvvxhbEFAaEbac9E2ZPjsBeL7WHkma2UyKNVA4y9Wo= -github.com/gobuffalo/buffalo-pop v1.2.1/go.mod h1:SHqojN0bVzaAzCbQDdWtsib202FDIxqwmCO8VDdweF4= -github.com/gobuffalo/buffalo-pop v1.3.0/go.mod h1:P0PhA225dRGyv0WkgYjYKqgoxPdDPDFZDvHj60AGF5w= -github.com/gobuffalo/buffalo-pop v1.6.0/go.mod h1:vrEVNOBKe042HjSNMj72J4FgER/VG6lt4xW6WMpTdlY= -github.com/gobuffalo/buffalo-pop v1.7.0/go.mod h1:UB5HHeFucJG7esTPUPjinBaJTEpVoREJHfSJJELnyeI= -github.com/gobuffalo/buffalo-pop v1.9.0/go.mod h1:MfrkBg0iN9+RdlxdHHAqqGFAC/iyCfTiKqH7Jvt+vhE= -github.com/gobuffalo/buffalo-pop v1.10.0/go.mod h1:C3/cFXB8Zd38XiGgHFdE7dw3Wu9MOKeD7bfELQicGPI= -github.com/gobuffalo/buffalo-pop v1.12.0/go.mod h1:pO2ONSJOCjyroGp4BwVHfMkfd7sLg1U9BvMJqRy6Otk= -github.com/gobuffalo/buffalo-pop v1.13.0/go.mod h1:h+zfyXCUFwihFqz6jmo9xsdsZ1Tm9n7knYpQjW0gv18= -github.com/gobuffalo/buffalo-pop v1.16.0/go.mod h1:XYA72cNFvL6m1o7PZ+Z7Yd/WDQTPcOiuDukiHvEo2KY= -github.com/gobuffalo/buffalo-pop v1.17.2/go.mod h1:nyOm0mtmp9/+m2NaXrp+9SqtuKZslA7Ys2DBaT/t2n4= -github.com/gobuffalo/buffalo-pop v1.22.0/go.mod h1:S8uJpbC9PUMFA6ZWbPnbk3c32n4vJ32p5NLsREcz+H8= -github.com/gobuffalo/buffalo-pop v1.23.1 h1:AnxJQZu/ZN7HCm3L8YBJoNWc2UiwSe6UHv5S4DfXUDA= -github.com/gobuffalo/buffalo-pop v1.23.1/go.mod h1:Sb+fy/hLtxfhOrtLAJiL7JsKqazydmAVqp5rcHio/yg= -github.com/gobuffalo/buffalo-pop/v2 v2.3.0 h1:Xy8HVOf0gL9kkEAucPNMdSpwhUGy95DbQ0qTRTQBPOw= -github.com/gobuffalo/buffalo-pop/v2 v2.3.0/go.mod h1:JTPnhmIjK3IW8mNI9UFbngNw0HVobXtcVyAD/w9xMTE= -github.com/gobuffalo/clara v0.4.1/go.mod h1:3QgAPqYgPqAzhfGbNLlp4UztaZRi2SOg+ZrZwaq9L94= -github.com/gobuffalo/clara v0.6.0/go.mod h1:RKZxkcH80pLykRi2hLkoxGMxA8T06Dc9fN/pFvutMFY= -github.com/gobuffalo/clara v0.7.0/go.mod h1:pen7ZMmnuYUYVF/3BbnvidYVAbMEfkyO4O+Tc+FKICU= -github.com/gobuffalo/clara v0.9.1/go.mod h1:OQ3HmSqLQJHaMmKhuTkmBCvBLL4BhgjweNpywRGulWo= -github.com/gobuffalo/clara v0.10.1 h1:tY6AR1eFEXQwj2fUZVkjPaA47x8Rw5w5UiDaHnExlPM= -github.com/gobuffalo/clara v0.10.1/go.mod h1:XcB5V5Vx5wuq/cXZOV0kAPetk7CYxSLFG5YvpyTxzxI= -github.com/gobuffalo/clara/v2 v2.0.2 h1:3BEYfr5xVoS3bpv/12iz/sGER0PE0UmHF9Rq4Z754pc= -github.com/gobuffalo/clara/v2 v2.0.2/go.mod h1:bbPiHMLsf17cx+hTe0q7Y/yWN8KmpJjgir1t5MZuf0w= -github.com/gobuffalo/depgen v0.0.0-20190219190223-ba8c93fa0c2c/go.mod h1:CE/HUV4vDCXtJayRf6WoMWgezb1yH4QHg8GNK8FL0JI= -github.com/gobuffalo/depgen v0.0.0-20190315122043-8442b3fa16db/go.mod h1:3STtPUQYuzV0gBVOY3vy6CfMm/ljR4pABfrTeHNLHUY= -github.com/gobuffalo/depgen v0.0.0-20190315124901-e02f65b90669/go.mod h1:yTQe8xo5pGIDOApkeO95DjePS4ZOSSSx+ItkqJHxUG4= -github.com/gobuffalo/depgen v0.0.0-20190329151759-d478694a28d3/go.mod h1:3STtPUQYuzV0gBVOY3vy6CfMm/ljR4pABfrTeHNLHUY= -github.com/gobuffalo/depgen v0.1.0/go.mod h1:+ifsuy7fhi15RWncXQQKjWS9JPkdah5sZvtHc2RXGlg= -github.com/gobuffalo/depgen v0.1.1/go.mod h1:65EOv3g7CMe4kc8J1Ds+l2bjcwrWKGXkE4/vpRRLPWY= -github.com/gobuffalo/depgen v0.2.0/go.mod h1:3STtPUQYuzV0gBVOY3vy6CfMm/ljR4pABfrTeHNLHUY= -github.com/gobuffalo/envy v1.6.4/go.mod h1:Abh+Jfw475/NWtYMEt+hnJWRiC8INKWibIMyNt1w2Mc= -github.com/gobuffalo/envy v1.6.5/go.mod h1:N+GkhhZ/93bGZc6ZKhJLP6+m+tCNPKwgSpH9kaifseQ= -github.com/gobuffalo/envy v1.6.6/go.mod h1:N+GkhhZ/93bGZc6ZKhJLP6+m+tCNPKwgSpH9kaifseQ= -github.com/gobuffalo/envy v1.6.7/go.mod h1:N+GkhhZ/93bGZc6ZKhJLP6+m+tCNPKwgSpH9kaifseQ= -github.com/gobuffalo/envy v1.6.8/go.mod h1:N+GkhhZ/93bGZc6ZKhJLP6+m+tCNPKwgSpH9kaifseQ= -github.com/gobuffalo/envy v1.6.9/go.mod h1:N+GkhhZ/93bGZc6ZKhJLP6+m+tCNPKwgSpH9kaifseQ= -github.com/gobuffalo/envy v1.6.10/go.mod h1:X0CFllQjTV5ogsnUrg+Oks2yTI+PU2dGYBJOEI2D1Uo= -github.com/gobuffalo/envy v1.6.11/go.mod h1:Fiq52W7nrHGDggFPhn2ZCcHw4u/rqXkqo+i7FB6EAcg= -github.com/gobuffalo/envy v1.6.12/go.mod h1:qJNrJhKkZpEW0glh5xP2syQHH5kgdmgsKss2Kk8PTP0= -github.com/gobuffalo/envy v1.6.13/go.mod h1:w9DJppgl51JwUFWWd/M/6/otrPtWV3WYMa+NNLunqKA= -github.com/gobuffalo/envy v1.6.15/go.mod h1:n7DRkBerg/aorDM8kbduw5dN3oXGswK5liaSCx4T5NI= -github.com/gobuffalo/envy v1.7.0/go.mod h1:n7DRkBerg/aorDM8kbduw5dN3oXGswK5liaSCx4T5NI= -github.com/gobuffalo/envy v1.7.1/go.mod h1:FurDp9+EDPE4aIUS3ZLyD+7/9fpx7YRt/ukY6jIHf0w= github.com/gobuffalo/envy v1.8.1/go.mod h1:FurDp9+EDPE4aIUS3ZLyD+7/9fpx7YRt/ukY6jIHf0w= github.com/gobuffalo/envy v1.9.0 h1:eZR0DuEgVLfeIb1zIKt3bT4YovIMf9O9LXQeCZLXpqE= github.com/gobuffalo/envy v1.9.0/go.mod h1:FurDp9+EDPE4aIUS3ZLyD+7/9fpx7YRt/ukY6jIHf0w= -github.com/gobuffalo/events v1.0.3/go.mod h1:Txo8WmqScapa7zimEQIwgiJBvMECMe9gJjsKNPN3uZw= -github.com/gobuffalo/events v1.0.7/go.mod h1:z8txf6H9jWhQ5Scr7YPLWg/cgXBRj8Q4uYI+rsVCCSQ= -github.com/gobuffalo/events v1.0.8/go.mod h1:A5KyqT1sA+3GJiBE4QKZibse9mtOcI9nw8gGrDdqYGs= -github.com/gobuffalo/events v1.1.1/go.mod h1:Ia9OgHMco9pEhJaPrPQJ4u4+IZlkxYVco2VbJ2XgnAE= -github.com/gobuffalo/events v1.1.3/go.mod h1:9yPGWYv11GENtzrIRApwQRMYSbUgCsZ1w6R503fCfrk= -github.com/gobuffalo/events v1.1.4/go.mod h1:09/YRRgZHEOts5Isov+g9X2xajxdvOAcUuAHIX/O//A= -github.com/gobuffalo/events v1.1.5/go.mod h1:3YUSzgHfYctSjEjLCWbkXP6djH2M+MLaVRzb4ymbAK0= -github.com/gobuffalo/events v1.1.6/go.mod h1:H/3ZB9BA+WorMb/0F79UvU6u0Cyo2hU97WA51bG2ONY= -github.com/gobuffalo/events v1.1.7/go.mod h1:6fGqxH2ing5XMb3EYRq9LEkVlyPGs4oO/eLzh+S8CxY= -github.com/gobuffalo/events v1.1.8/go.mod h1:UFy+W6X6VbCWS8k2iT81HYX65dMtiuVycMy04cplt/8= -github.com/gobuffalo/events v1.1.9/go.mod h1:/0nf8lMtP5TkgNbzYxR6Bl4GzBy5s5TebgNTdRfRbPM= -github.com/gobuffalo/events v1.2.0/go.mod h1:pxvpvsKXKZNPtHuIxUV3K+g+KP5o4forzaeFj++bh68= -github.com/gobuffalo/events v1.3.1/go.mod h1:9JOkQVoyRtailYVE/JJ2ZQ/6i4gTjM5t2HsZK4C1cSA= -github.com/gobuffalo/events v1.4.0/go.mod h1:gQbNh681BwO+urxPpHHBiVD8Y+2lg17Wj2xuCMMKr8E= github.com/gobuffalo/events v1.4.1 h1:OLJIun6wRx4DOW19XoL/AoyjuJltqeOBFH3q8cDvNb8= github.com/gobuffalo/events v1.4.1/go.mod h1:SjXgWKpeSuvQDvGhgMz5IXx3Czu+IbL+XPLR41NvVQY= -github.com/gobuffalo/fizz v1.0.12/go.mod h1:C0sltPxpYK8Ftvf64kbsQa2yiCZY4RZviurNxXdAKwc= -github.com/gobuffalo/fizz v1.0.15/go.mod h1:EI3mEpjImuji6Bwu++N2uXhljQwOhwtimZQJ89zwyF4= -github.com/gobuffalo/fizz v1.0.16/go.mod h1:EI3mEpjImuji6Bwu++N2uXhljQwOhwtimZQJ89zwyF4= -github.com/gobuffalo/fizz v1.1.2/go.mod h1:THqzNTlNxNaF5hq3ddp16SnEcl2m83bTeTzJEoD+kqc= -github.com/gobuffalo/fizz v1.1.3/go.mod h1:THqzNTlNxNaF5hq3ddp16SnEcl2m83bTeTzJEoD+kqc= -github.com/gobuffalo/fizz v1.3.0/go.mod h1:THqzNTlNxNaF5hq3ddp16SnEcl2m83bTeTzJEoD+kqc= -github.com/gobuffalo/fizz v1.5.0/go.mod h1:Uu3ch14M4S7LDU7LAP1GQ+KNCRmZYd05Gqasc96XLa0= -github.com/gobuffalo/fizz v1.6.0/go.mod h1:V4V6EA8eYu/L43y6gZj7mjmPkigl9m+Eu3Pe+SWQRRg= -github.com/gobuffalo/fizz v1.6.1/go.mod h1:V4V6EA8eYu/L43y6gZj7mjmPkigl9m+Eu3Pe+SWQRRg= -github.com/gobuffalo/fizz v1.8.0/go.mod h1:2LqJOOGUp1JpN9m54ac5jMQ1MpbNvSVbFi9BY+AEXOo= -github.com/gobuffalo/fizz v1.9.0/go.mod h1:2LqJOOGUp1JpN9m54ac5jMQ1MpbNvSVbFi9BY+AEXOo= -github.com/gobuffalo/fizz v1.9.2/go.mod h1:XJb7Do1keOPkaJnJ48OCjV+7ABQ7mbOqui2WfDobXTQ= -github.com/gobuffalo/fizz v1.9.5/go.mod h1:v9cFl56oXm+hNNayTsIQHnq209bTDUbIM8GYWCJw3TE= github.com/gobuffalo/fizz v1.10.0 h1:I8vad0PnmR+CLjSnZ5L5jlhBm4S88UIGOoZZL3/3e24= github.com/gobuffalo/fizz v1.10.0/go.mod h1:J2XGPO0AfJ1zKw7+2BA+6FEGAkyEsdCOLvN93WCT2WI= -github.com/gobuffalo/flect v0.0.0-20180907193754-dc14d8acaf9f/go.mod h1:rCiQgmAE4axgBNl3jZWzS5rETRYTGOsrixTRaCPzNdA= -github.com/gobuffalo/flect v0.0.0-20181002182613-4571df4b1daf/go.mod h1:rCiQgmAE4axgBNl3jZWzS5rETRYTGOsrixTRaCPzNdA= -github.com/gobuffalo/flect v0.0.0-20181007231023-ae7ed6bfe683/go.mod h1:rCiQgmAE4axgBNl3jZWzS5rETRYTGOsrixTRaCPzNdA= -github.com/gobuffalo/flect v0.0.0-20181018182602-fd24a256709f/go.mod h1:rCiQgmAE4axgBNl3jZWzS5rETRYTGOsrixTRaCPzNdA= -github.com/gobuffalo/flect v0.0.0-20181019110701-3d6f0b585514/go.mod h1:rCiQgmAE4axgBNl3jZWzS5rETRYTGOsrixTRaCPzNdA= -github.com/gobuffalo/flect v0.0.0-20181024204909-8f6be1a8c6c2/go.mod h1:rCiQgmAE4axgBNl3jZWzS5rETRYTGOsrixTRaCPzNdA= -github.com/gobuffalo/flect v0.0.0-20181104133451-1f6e9779237a/go.mod h1:rCiQgmAE4axgBNl3jZWzS5rETRYTGOsrixTRaCPzNdA= -github.com/gobuffalo/flect v0.0.0-20181108195648-8fe1b44cfe32/go.mod h1:rCiQgmAE4axgBNl3jZWzS5rETRYTGOsrixTRaCPzNdA= -github.com/gobuffalo/flect v0.0.0-20181109221320-179d36177b5b/go.mod h1:0HvNbHdfh+WOvDSIASqJOSxTOWSxCCUF++k/Y53v9rI= -github.com/gobuffalo/flect v0.0.0-20181114183036-47375f6d8328/go.mod h1:0HvNbHdfh+WOvDSIASqJOSxTOWSxCCUF++k/Y53v9rI= -github.com/gobuffalo/flect v0.0.0-20181210151238-24a2b68e0316/go.mod h1:en58vff74S9b99Eg42Dr+/9yPu437QjlNsO/hBYPuOk= -github.com/gobuffalo/flect v0.0.0-20190104192022-4af577e09bf2/go.mod h1:en58vff74S9b99Eg42Dr+/9yPu437QjlNsO/hBYPuOk= -github.com/gobuffalo/flect v0.0.0-20190117212819-a62e61d96794/go.mod h1:397QT6v05LkZkn07oJXXT6y9FCfwC8Pug0WA2/2mE9k= -github.com/gobuffalo/flect v0.0.0-20190205211104-b2cb381e56e0/go.mod h1:397QT6v05LkZkn07oJXXT6y9FCfwC8Pug0WA2/2mE9k= -github.com/gobuffalo/flect v0.1.0/go.mod h1:d2ehjJqGOH/Kjqcoz+F7jHTBbmDb38yXA598Hb50EGs= -github.com/gobuffalo/flect v0.1.1/go.mod h1:8JCgGVbRjJhVgD6399mQr4fx5rRfGKVzFjbj6RE/9UI= -github.com/gobuffalo/flect v0.1.3/go.mod h1:8JCgGVbRjJhVgD6399mQr4fx5rRfGKVzFjbj6RE/9UI= github.com/gobuffalo/flect v0.1.5/go.mod h1:W3K3X9ksuZfir8f/LrfVtWmCDQFfayuylOJ7sz/Fj80= -github.com/gobuffalo/flect v0.1.6/go.mod h1:W3K3X9ksuZfir8f/LrfVtWmCDQFfayuylOJ7sz/Fj80= github.com/gobuffalo/flect v0.2.0/go.mod h1:W3K3X9ksuZfir8f/LrfVtWmCDQFfayuylOJ7sz/Fj80= github.com/gobuffalo/flect v0.2.1/go.mod h1:vmkQwuZYhN5Pc4ljYQZzP+1sq+NEkK+lh20jmEmX3jc= github.com/gobuffalo/flect v0.2.3 h1:f/ZukRnSNA/DUpSNDadko7Qc0PhGvsew35p/2tu+CRY= github.com/gobuffalo/flect v0.2.3/go.mod h1:vmkQwuZYhN5Pc4ljYQZzP+1sq+NEkK+lh20jmEmX3jc= -github.com/gobuffalo/genny v0.0.0-20180924032338-7af3a40f2252/go.mod h1:tUTQOogrr7tAQnhajMSH6rv1BVev34H2sa1xNHMy94g= -github.com/gobuffalo/genny v0.0.0-20181003150629-3786a0744c5d/go.mod h1:WAd8HmjMVrnkAZbmfgH5dLBUchsZfqzp/WS5sQz+uTM= -github.com/gobuffalo/genny v0.0.0-20181005145118-318a41a134cc/go.mod h1:WAd8HmjMVrnkAZbmfgH5dLBUchsZfqzp/WS5sQz+uTM= -github.com/gobuffalo/genny v0.0.0-20181007153042-b8de7d566757/go.mod h1:+oG5Ljrw04czAHbPXREwaFojJbpUvcIy4DiOnbEJFTA= -github.com/gobuffalo/genny v0.0.0-20181012161047-33e5f43d83a6/go.mod h1:+oG5Ljrw04czAHbPXREwaFojJbpUvcIy4DiOnbEJFTA= -github.com/gobuffalo/genny v0.0.0-20181017160347-90a774534246/go.mod h1:+oG5Ljrw04czAHbPXREwaFojJbpUvcIy4DiOnbEJFTA= -github.com/gobuffalo/genny v0.0.0-20181019144442-df0a36fdd146/go.mod h1:IyRrGrQb/sbHu/0z9i5mbpZroIsdxjCYfj+zFiFiWZQ= -github.com/gobuffalo/genny v0.0.0-20181024195656-51392254bf53/go.mod h1:o9GEH5gn5sCKLVB5rHFC4tq40rQ3VRUzmx6WwmaqISE= -github.com/gobuffalo/genny v0.0.0-20181025145300-af3f81d526b8/go.mod h1:uZ1fFYvdcP8mu0B/Ynarf6dsGvp7QFIpk/QACUuFUVI= -github.com/gobuffalo/genny v0.0.0-20181027191429-94d6cfb5c7fc/go.mod h1:x7SkrQQBx204Y+O9EwRXeszLJDTaWN0GnEasxgLrQTA= -github.com/gobuffalo/genny v0.0.0-20181027195209-3887b7171c4f/go.mod h1:JbKx8HSWICu5zyqWOa0dVV1pbbXOHusrSzQUprW6g+w= -github.com/gobuffalo/genny v0.0.0-20181030163439-ed103521b8ec/go.mod h1:3Xm9z7/2oRxlB7PSPLxvadZ60/0UIek1YWmcC7QSaVs= -github.com/gobuffalo/genny v0.0.0-20181106193839-7dcb0924caf1/go.mod h1:x61yHxvbDCgQ/7cOAbJCacZQuHgB0KMSzoYcw5debjU= -github.com/gobuffalo/genny v0.0.0-20181107223128-f18346459dbe/go.mod h1:utQD3aKKEsdb03oR+Vi/6ztQb1j7pO10N3OBoowRcSU= -github.com/gobuffalo/genny v0.0.0-20181109163038-9539921b620f/go.mod h1:118bnhJR2oviiji++mZj0IH/IaFBCzwkWHaI4OQq5hQ= -github.com/gobuffalo/genny v0.0.0-20181110202416-7b7d8756a9e2/go.mod h1:118bnhJR2oviiji++mZj0IH/IaFBCzwkWHaI4OQq5hQ= -github.com/gobuffalo/genny v0.0.0-20181111200257-599b33630ab4/go.mod h1:w+iD/cdtIpPDFax6LlUFuCdXFD0DLRUXsfp3IeT/Doc= -github.com/gobuffalo/genny v0.0.0-20181114215459-0a4decd77f5d/go.mod h1:kN2KZ8VgXF9VIIOj/GM0Eo7YK+un4Q3tTreKOf0q1ng= -github.com/gobuffalo/genny v0.0.0-20181119162812-e8ff4adce8bb/go.mod h1:BA9htSe4bZwBDJLe8CUkoqkypq3hn3+CkoHqVOW718E= -github.com/gobuffalo/genny v0.0.0-20181127225641-2d959acc795b/go.mod h1:l54xLXNkteX/PdZ+HlgPk1qtcrgeOr3XUBBPDbH+7CQ= -github.com/gobuffalo/genny v0.0.0-20181128191930-77e34f71ba2a/go.mod h1:FW/D9p7cEEOqxYA71/hnrkOWm62JZ5ZNxcNIVJEaWBU= -github.com/gobuffalo/genny v0.0.0-20181203165245-fda8bcce96b1/go.mod h1:wpNSANu9UErftfiaAlz1pDZclrYzLtO5lALifODyjuM= -github.com/gobuffalo/genny v0.0.0-20181203201232-849d2c9534ea/go.mod h1:wpNSANu9UErftfiaAlz1pDZclrYzLtO5lALifODyjuM= -github.com/gobuffalo/genny v0.0.0-20181206121324-d6fb8a0dbe36/go.mod h1:wpNSANu9UErftfiaAlz1pDZclrYzLtO5lALifODyjuM= -github.com/gobuffalo/genny v0.0.0-20181207164119-84844398a37d/go.mod h1:y0ysCHGGQf2T3vOhCrGHheYN54Y/REj0ayd0Suf4C/8= -github.com/gobuffalo/genny v0.0.0-20181211165820-e26c8466f14d/go.mod h1:sHnK+ZSU4e2feXP3PA29ouij6PUEiN+RCwECjCTB3yM= -github.com/gobuffalo/genny v0.0.0-20190104222617-a71664fc38e7/go.mod h1:QPsQ1FnhEsiU8f+O0qKWXz2RE4TiDqLVChWkBuh1WaY= -github.com/gobuffalo/genny v0.0.0-20190112155932-f31a84fcacf5/go.mod h1:CIaHCrSIuJ4il6ka3Hub4DR4adDrGoXGEEt2FbBxoIo= -github.com/gobuffalo/genny v0.0.0-20190124191459-3310289fa4b4/go.mod h1:yIRqxhZV2sAzb+B3iPUMLauTRrYP8tJUlZ1zV9teKik= -github.com/gobuffalo/genny v0.0.0-20190131150032-1045e97d19fb/go.mod h1:yIRqxhZV2sAzb+B3iPUMLauTRrYP8tJUlZ1zV9teKik= -github.com/gobuffalo/genny v0.0.0-20190131190646-008a76242145/go.mod h1:NJvPZJxb9M4z790P6N2SMZKSUYpASpEvLuUWnHGKzb4= -github.com/gobuffalo/genny v0.0.0-20190219203444-c95082806342/go.mod h1:3BLT+Vs94EEz3fKR8WWOkYpL6c1tdJcZUNCe3LZAnvQ= -github.com/gobuffalo/genny v0.0.0-20190315121735-8b38fb089e88/go.mod h1:rWs4Z12d1Zbf19rlsn0nurr75KqhYp52EAGGxTbBhNk= -github.com/gobuffalo/genny v0.0.0-20190315124720-e16e52a93c79/go.mod h1:nKeefjbhYowo36ys9nG9VUvD9FRIS0p3BC2JFfcOucM= -github.com/gobuffalo/genny v0.0.0-20190329151137-27723ad26ef9/go.mod h1:rWs4Z12d1Zbf19rlsn0nurr75KqhYp52EAGGxTbBhNk= -github.com/gobuffalo/genny v0.0.0-20190403191548-3ca520ef0d9e/go.mod h1:80lIj3kVJWwOrXWWMRzzdhW3DsrdjILVil/SFKBzF28= -github.com/gobuffalo/genny v0.1.0/go.mod h1:XidbUqzak3lHdS//TPu2OgiFB+51Ur5f7CSnXZ/JDvo= -github.com/gobuffalo/genny v0.1.1/go.mod h1:5TExbEyY48pfunL4QSXxlDOmdsD44RRq4mVZ0Ex28Xk= -github.com/gobuffalo/genny v0.2.0/go.mod h1:rWs4Z12d1Zbf19rlsn0nurr75KqhYp52EAGGxTbBhNk= -github.com/gobuffalo/genny v0.3.0/go.mod h1:ywJ2CoXrTZj7rbS8HTbzv7uybnLKlsNSBhEQ+yFI3E8= -github.com/gobuffalo/genny v0.4.0/go.mod h1:Kdo8wsw5zmooVvEfMkfv4JI9Ogz/PMvBNvl133soylI= -github.com/gobuffalo/genny v0.4.1/go.mod h1:dpded+KBgICFciAb+6R5Lo+1VxzofjqHgKqFYIL8M7U= -github.com/gobuffalo/genny v0.6.0 h1:d7c6d66ZrTHHty01hDX1/TcTWvAJQxRZl885KWX5kHY= -github.com/gobuffalo/genny v0.6.0/go.mod h1:Vigx9VDiNscYpa/LwrURqGXLSIbzTfapt9+K6gF1kTA= github.com/gobuffalo/genny/v2 v2.0.5/go.mod h1:kRkJuAw9mdI37AiEYjV4Dl+TgkBDYf8HZVjLkqe5eBg= -github.com/gobuffalo/genny/v2 v2.0.6 h1:5M1Cl4pkS3mIl/X5s27nhq/o/2S8e5cPXmlcGwSDBI4= -github.com/gobuffalo/genny/v2 v2.0.6/go.mod h1:3tUHnhxSOSe1wmx669WaBtIA3OSvtVkwRTvJFsH+d9o= -github.com/gobuffalo/gitgen v0.0.0-20190219185555-91c2c5f0aad5/go.mod h1:ZzGIrxBvCJEluaU4i3CN0GFlu1Qmb3yK8ziV02evJ1E= -github.com/gobuffalo/gitgen v0.0.0-20190315122116-cc086187d211/go.mod h1:vEHJk/E9DmhejeLeNt7UVvlSGv3ziL+djtTr3yyzcOw= -github.com/gobuffalo/github_flavored_markdown v1.0.4/go.mod h1:uRowCdK+q8d/RF0Kt3/DSalaIXbb0De/dmTqMQdkQ4I= -github.com/gobuffalo/github_flavored_markdown v1.0.5/go.mod h1:U0643QShPF+OF2tJvYNiYDLDGDuQmJZXsf/bHOJPsMY= -github.com/gobuffalo/github_flavored_markdown v1.0.7/go.mod h1:w93Pd9Lz6LvyQXEG6DktTPHkOtCbr+arAD5mkwMzXLI= github.com/gobuffalo/github_flavored_markdown v1.1.0 h1:8Zzj4fTRl/OP2R7sGerzSf6g2nEJnaBEJe7UAOiEvbQ= github.com/gobuffalo/github_flavored_markdown v1.1.0/go.mod h1:TSpTKWcRTI0+v7W3x8dkSKMLJSUpuVitlptCkpeY8ic= -github.com/gobuffalo/gogen v0.0.0-20190219194924-d32a17ad9761/go.mod h1:v47C8sid+ZM2qK+YpQ2MGJKssKAqyTsH1wl/pTCPdz8= -github.com/gobuffalo/gogen v0.0.0-20190224213239-1c6076128bbc/go.mod h1:tQqPADZKflmJCR4FHRHYNPP79cXPICyxUiUHyhuXtqg= -github.com/gobuffalo/gogen v0.0.0-20190315121717-8f38393713f5/go.mod h1:V9QVDIxsgKNZs6L2IYiGR8datgMhB577vzTDqypH360= -github.com/gobuffalo/gogen v0.1.0/go.mod h1:8NTelM5qd8RZ15VjQTFkAW6qOMx5wBbW4dSCS3BY8gg= -github.com/gobuffalo/gogen v0.1.1/go.mod h1:y8iBtmHmGc4qa3urIyo1shvOD8JftTtfcKi+71xfDNE= -github.com/gobuffalo/gogen v0.2.0/go.mod h1:V9QVDIxsgKNZs6L2IYiGR8datgMhB577vzTDqypH360= -github.com/gobuffalo/helpers v0.0.0-20190422082217-384f90c6579f/go.mod h1:g0I3qKQEyJxwnHtEmLugD75eoOiWxEtibcV62tYah9w= -github.com/gobuffalo/helpers v0.0.0-20190506214229-8e6f634af7c3/go.mod h1:HlNpmw2+Rjx882VUf6hJfNJs5wpNRzX02KcqCXDlLGc= -github.com/gobuffalo/helpers v0.2.1/go.mod h1:5UhA1EfGvyPZfzo9PqhKkSgmLolaTpnWYDbqCJcmiAE= -github.com/gobuffalo/helpers v0.2.2/go.mod h1:xYbzUdCUpVzLwLnqV8HIjT6hmG0Cs7YIBCJkNM597jw= -github.com/gobuffalo/helpers v0.2.4/go.mod h1:NX7v27yxPDOPTgUFYmJ5ow37EbxdoLraucOGvMNawyk= -github.com/gobuffalo/helpers v0.4.0/go.mod h1:2q/ZnVxCehM4/y1bNz3+wXsvWvWUY+iTUr7mPC6QqGQ= -github.com/gobuffalo/helpers v0.5.0/go.mod h1:stpgxJ2C7T99NLyAxGUnYMM2zAtBk5NKQR0SIbd05j4= github.com/gobuffalo/helpers v0.6.0/go.mod h1:pncVrer7x/KRvnL5aJABLAuT/RhKRR9klL6dkUOhyv8= github.com/gobuffalo/helpers v0.6.1/go.mod h1:wInbDi0vTJKZBviURTLRMFLE4+nF2uRuuL2fnlYo7w4= github.com/gobuffalo/helpers v0.6.2 h1:0caYR4GAtgZ/O0vTU2uyoMxtqRXUcKaIyRlRnw0GRgw= github.com/gobuffalo/helpers v0.6.2/go.mod h1:wInbDi0vTJKZBviURTLRMFLE4+nF2uRuuL2fnlYo7w4= -github.com/gobuffalo/here v0.2.3/go.mod h1:2a6G14FaAKOGJMK/5UNa4Og/+iyFS5cq3MnlvFR7YDk= +github.com/gobuffalo/here v0.4.0 h1:TD+FD+jQkp5iNPYEAxT6E+4O8u/pOQJyDjmZNC0+/80= github.com/gobuffalo/here v0.4.0/go.mod h1:bTNk/uKZgycuB358iR0D32dI9kHBClBGpXjW2HVHkNo= -github.com/gobuffalo/here v0.5.1/go.mod h1:wAG085dHOYqUpf+Ap+WOdrPTp5IYcDAs/x7PLa8Y5fM= -github.com/gobuffalo/here v0.6.0 h1:hYrd0a6gDmWxBM4TnrGw8mQg24iSVoIkHEk7FodQcBI= -github.com/gobuffalo/here v0.6.0/go.mod h1:wAG085dHOYqUpf+Ap+WOdrPTp5IYcDAs/x7PLa8Y5fM= -github.com/gobuffalo/httptest v1.0.2/go.mod h1:7T1IbSrg60ankme0aDLVnEY0h056g9M1/ZvpVThtB7E= -github.com/gobuffalo/httptest v1.0.3/go.mod h1:7T1IbSrg60ankme0aDLVnEY0h056g9M1/ZvpVThtB7E= -github.com/gobuffalo/httptest v1.0.4/go.mod h1:7T1IbSrg60ankme0aDLVnEY0h056g9M1/ZvpVThtB7E= -github.com/gobuffalo/httptest v1.0.5/go.mod h1:7T1IbSrg60ankme0aDLVnEY0h056g9M1/ZvpVThtB7E= -github.com/gobuffalo/httptest v1.0.6/go.mod h1:7T1IbSrg60ankme0aDLVnEY0h056g9M1/ZvpVThtB7E= -github.com/gobuffalo/httptest v1.1.0/go.mod h1:BIfCgiqCOotRc5xYwCcZN7IFYag4277Ynqjar/Ra3iI= -github.com/gobuffalo/httptest v1.2.0/go.mod h1:0KfourZCsapuvkljDMSr7YM+66kCt/rXv54YcWRWwhc= -github.com/gobuffalo/httptest v1.3.0/go.mod h1:Y4qebOsMH91XdB0cZuS8OUdAKHGV7hVDcjgzGupoYlk= -github.com/gobuffalo/httptest v1.4.0/go.mod h1:VDkgCFmIxAunkLNts49TC949NRLTtvyLKuN67o6hrXM= -github.com/gobuffalo/httptest v1.4.1/go.mod h1:F541Rwcu9Ypo1NBAsYxrCV0J6ibAGGEvhM3653G+u5I= github.com/gobuffalo/httptest v1.5.0 h1:kzrM6oEJccNN36cow9fLvgWfwUpUfwBBelsgA6Gghnk= github.com/gobuffalo/httptest v1.5.0/go.mod h1:F541Rwcu9Ypo1NBAsYxrCV0J6ibAGGEvhM3653G+u5I= -github.com/gobuffalo/licenser v0.0.0-20180924033006-eae28e638a42/go.mod h1:Ubo90Np8gpsSZqNScZZkVXXAo5DGhTb+WYFIjlnog8w= -github.com/gobuffalo/licenser v0.0.0-20181025145548-437d89de4f75/go.mod h1:x3lEpYxkRG/XtGCUNkio+6RZ/dlOvLzTI9M1auIwFcw= -github.com/gobuffalo/licenser v0.0.0-20181027200154-58051a75da95/go.mod h1:BzhaaxGd1tq1+OLKObzgdCV9kqVhbTulxOpYbvMQWS0= -github.com/gobuffalo/licenser v0.0.0-20181109171355-91a2a7aac9a7/go.mod h1:m+Ygox92pi9bdg+gVaycvqE8RVSjZp7mWw75+K5NPHk= -github.com/gobuffalo/licenser v0.0.0-20181116224424-1b7fd3f9cbb4/go.mod h1:icHYfF2FVDi6CpI8BK9Sy1ChkSijz/0GNN7Qzzdk6JE= -github.com/gobuffalo/licenser v0.0.0-20181128165715-cc7305f8abed/go.mod h1:oU9F9UCE+AzI/MueCKZamsezGOOHfSirltllOVeRTAE= -github.com/gobuffalo/licenser v0.0.0-20181128170751-82cc989582b9/go.mod h1:oU9F9UCE+AzI/MueCKZamsezGOOHfSirltllOVeRTAE= -github.com/gobuffalo/licenser v0.0.0-20181203160806-fe900bbede07/go.mod h1:ph6VDNvOzt1CdfaWC+9XwcBnlSTBz2j49PBwum6RFaU= -github.com/gobuffalo/licenser v0.0.0-20181211173111-f8a311c51159/go.mod h1:ve/Ue99DRuvnTaLq2zKa6F4KtHiYf7W046tDjuGYPfM= -github.com/gobuffalo/licenser v0.0.0-20190224205124-37799bc2ebf6/go.mod h1:ve/Ue99DRuvnTaLq2zKa6F4KtHiYf7W046tDjuGYPfM= -github.com/gobuffalo/licenser v0.0.0-20190329153211-c35c0a2813b2/go.mod h1:ZVWE6uKUE3rGf7sedUHWVjNWrEgxaUQLVFL+pQiWpfY= -github.com/gobuffalo/licenser v1.1.0/go.mod h1:ZVWE6uKUE3rGf7sedUHWVjNWrEgxaUQLVFL+pQiWpfY= -github.com/gobuffalo/licenser v1.2.0/go.mod h1:ZqDQ+UOqsXPovl65rbCr3Tye6+nKjT4ovwurjVxvMQM= -github.com/gobuffalo/licenser v1.4.0/go.mod h1:YkyTh2T/d7KECTh32j65auPV876gkJJk55aAdBfDehg= -github.com/gobuffalo/logger v0.0.0-20181022175615-46cfb361fc27/go.mod h1:8sQkgyhWipz1mIctHF4jTxmJh1Vxhp7mP8IqbljgJZo= -github.com/gobuffalo/logger v0.0.0-20181027144941-73d08d2bb969/go.mod h1:7uGg2duHKpWnN4+YmyKBdLXfhopkAdVM6H3nKbyFbz8= -github.com/gobuffalo/logger v0.0.0-20181027193913-9cf4dd0efe46/go.mod h1:7uGg2duHKpWnN4+YmyKBdLXfhopkAdVM6H3nKbyFbz8= -github.com/gobuffalo/logger v0.0.0-20181109185836-3feeab578c17/go.mod h1:oNErH0xLe+utO+OW8ptXMSA5DkiSEDW1u3zGIt8F9Ew= -github.com/gobuffalo/logger v0.0.0-20181117211126-8e9b89b7c264/go.mod h1:5etB91IE0uBlw9k756fVKZJdS+7M7ejVhmpXXiSFj0I= -github.com/gobuffalo/logger v0.0.0-20181127160119-5b956e21995c/go.mod h1:+HxKANrR9VGw9yN3aOAppJKvhO05ctDi63w4mDnKv2U= -github.com/gobuffalo/logger v0.0.0-20190224201004-be78ebfea0fa/go.mod h1:+HxKANrR9VGw9yN3aOAppJKvhO05ctDi63w4mDnKv2U= -github.com/gobuffalo/logger v0.0.0-20190315122211-86e12af44bc2/go.mod h1:QdxcLw541hSGtBnhUc4gaNIXRjiDppFGaDqzbrBd3v8= -github.com/gobuffalo/logger v1.0.0/go.mod h1:2zbswyIUa45I+c+FLXuWl9zSWEiVuthsk8ze5s8JvPs= -github.com/gobuffalo/logger v1.0.1/go.mod h1:2zbswyIUa45I+c+FLXuWl9zSWEiVuthsk8ze5s8JvPs= github.com/gobuffalo/logger v1.0.3/go.mod h1:SoeejUwldiS7ZsyCBphOGURmWdwUFXs0J7TCjEhjKxM= github.com/gobuffalo/logger v1.0.4 h1:HFJRqL7AmL4QNvQb9Grss9sDz+3u02VBgAoR03A7q4o= github.com/gobuffalo/logger v1.0.4/go.mod h1:/GRUdWb+gM3shxj0P5jiV6ecVS3X0aboJvl+hBu0HeE= -github.com/gobuffalo/makr v1.1.5/go.mod h1:Y+o0btAH1kYAMDJW/TX3+oAXEu0bmSLLoC9mIFxtzOw= -github.com/gobuffalo/makr v1.2.0/go.mod h1:SFQUrDtwDpmQ6BxKJqxg0emc4KkNzzvUtAtnHiVK/QQ= -github.com/gobuffalo/mapi v1.0.0/go.mod h1:4VAGh89y6rVOvm5A8fKFxYG+wIW6LO1FMTG9hnKStFc= -github.com/gobuffalo/mapi v1.0.1/go.mod h1:4VAGh89y6rVOvm5A8fKFxYG+wIW6LO1FMTG9hnKStFc= -github.com/gobuffalo/mapi v1.0.2/go.mod h1:4VAGh89y6rVOvm5A8fKFxYG+wIW6LO1FMTG9hnKStFc= -github.com/gobuffalo/mapi v1.1.0/go.mod h1:pqQ1XAqvpy/JYtRwoieNps2yU8MFiMxBUpAm2FBtQ50= -github.com/gobuffalo/meta v0.0.0-20181018155829-df62557efcd3/go.mod h1:XTTOhwMNryif3x9LkTTBO/Llrveezd71u3quLd0u7CM= -github.com/gobuffalo/meta v0.0.0-20181018192820-8c6cef77dab3/go.mod h1:E94EPzx9NERGCY69UWlcj6Hipf2uK/vnfrF4QD0plVE= -github.com/gobuffalo/meta v0.0.0-20181025145500-3a985a084b0a/go.mod h1:YDAKBud2FP7NZdruCSlmTmDOZbVSa6bpK7LJ/A/nlKg= -github.com/gobuffalo/meta v0.0.0-20181109154556-f76929ccd5fa/go.mod h1:1rYI5QsanV6cLpT1BlTAkrFi9rtCZrGkvSK8PglwfS8= -github.com/gobuffalo/meta v0.0.0-20181114191255-b130ebedd2f7/go.mod h1:K6cRZ29ozr4Btvsqkjvg5nDFTLOgTqf03KA70Ks0ypE= -github.com/gobuffalo/meta v0.0.0-20181116202903-8850e47774f5/go.mod h1:K6cRZ29ozr4Btvsqkjvg5nDFTLOgTqf03KA70Ks0ypE= -github.com/gobuffalo/meta v0.0.0-20181127070345-0d7e59dd540b/go.mod h1:RLO7tMvE0IAKAM8wny1aN12pvEKn7EtkBLkUZR00Qf8= -github.com/gobuffalo/meta v0.0.0-20190120163247-50bbb1fa260d/go.mod h1:KKsH44nIK2gA8p0PJmRT9GvWJUdphkDUA8AJEvFWiqM= -github.com/gobuffalo/meta v0.0.0-20190121163014-ecaa953cbfb3/go.mod h1:KLfkGnS+Tucc+iTkUcAUBtxpwOJGfhw2pHRLddPxMQY= -github.com/gobuffalo/meta v0.0.0-20190126124307-c8fb6f4eb5a9/go.mod h1:zoh6GLgkk9+iI/62dST4amAuVAczZrBXoAk/t64n7Ew= -github.com/gobuffalo/meta v0.0.0-20190207205153-50a99e08b8cf/go.mod h1:+VGfK9Jm9I7oJyFeJzIT6omCPvrDktzAtpHJKaieugY= -github.com/gobuffalo/meta v0.0.0-20190320152240-a5320142224a/go.mod h1:+VGfK9Jm9I7oJyFeJzIT6omCPvrDktzAtpHJKaieugY= -github.com/gobuffalo/meta v0.0.0-20190329152330-e161e8a93e3b/go.mod h1:mCRSy5F47tjK8yaIDcJad4oe9fXxY5gLrx3Xx2spK+0= -github.com/gobuffalo/meta v0.1.0/go.mod h1:vAgu28tKdaPIkt8j60wYv1dLuJ1UwOmAjZtYOnLJlko= -github.com/gobuffalo/meta v0.2.0/go.mod h1:KZ9Hk/o+kFpwRhzUO95EOuxf3jXU4GleCTUDSTpe3hQ= -github.com/gobuffalo/meta v0.2.1/go.mod h1:KZ9Hk/o+kFpwRhzUO95EOuxf3jXU4GleCTUDSTpe3hQ= github.com/gobuffalo/meta v0.3.0 h1:F0BFeZuQ1UmsHAVBgsnzolheLmv11t2GQ+53OFOP7lk= github.com/gobuffalo/meta v0.3.0/go.mod h1:cpr6mrUX5H/B4wEP86Gdq568TK4+dKUD8oRPl698RUw= -github.com/gobuffalo/mw-basicauth v1.0.3/go.mod h1:dg7+ilMZOKnQFHDefUzUHufNyTswVUviCBgF244C1+0= -github.com/gobuffalo/mw-basicauth v1.0.6/go.mod h1:RFyeGeDLZlVgp/eBflqu2eavFqyv0j0fVVP87WPYFwY= -github.com/gobuffalo/mw-basicauth v1.0.7/go.mod h1:xJ9/OSiOWl+kZkjaSun62srODr3Cx8OB4AKr+G4FlS4= -github.com/gobuffalo/mw-contenttype v0.0.0-20180802152300-74f5a47f4d56/go.mod h1:7EvcmzBbeCvFtQm5GqF9ys6QnCxz2UM1x0moiWLq1No= -github.com/gobuffalo/mw-contenttype v0.0.0-20190129203934-2554e742333b/go.mod h1:7x87+mDrr9Peh7AqhOtESyJLanMd2zQNz2Hts+vtBoE= -github.com/gobuffalo/mw-csrf v0.0.0-20180802151833-446ff26e108b/go.mod h1:sbGtb8DmDZuDUQoxjr8hG1ZbLtZboD9xsn6p77ppcHo= -github.com/gobuffalo/mw-csrf v0.0.0-20190129204204-25460a055517/go.mod h1:o5u+nnN0Oa7LBeDYH9QP36qeMPnXV9qbVnbZ4D+Kb0Q= -github.com/gobuffalo/mw-forcessl v0.0.0-20180802152810-73921ae7a130/go.mod h1:JvNHRj7bYNAMUr/5XMkZaDcw3jZhUZpsmzhd//FFWmQ= -github.com/gobuffalo/mw-i18n v0.0.0-20180802152014-e3060b7e13d6/go.mod h1:91AQfukc52A6hdfIfkxzyr+kpVYDodgAeT5cjX1UIj4= -github.com/gobuffalo/mw-i18n v0.0.0-20181027200759-09e0c99be4d3/go.mod h1:1PpGPgqP8VsfUppgBA9FrTOXjI6X9gjqhh/8dmg48lg= -github.com/gobuffalo/mw-i18n v0.0.0-20190129204410-552713a3ebb4/go.mod h1:rBg2eHxsyxVjtYra6fGy4GSF5C8NysOvz+Znnzk42EM= -github.com/gobuffalo/mw-paramlogger v0.0.0-20181005191442-d6ee392ec72e/go.mod h1:6OJr6VwSzgJMqWMj7TYmRUqzNe2LXu/W1rRW4MAz/ME= -github.com/gobuffalo/mw-paramlogger v0.0.0-20190129202837-395da1998525/go.mod h1:gEo/ABCsKqvpp/KCxN2AIzDEe0OJUXbJ9293FYrXw+w= -github.com/gobuffalo/mw-tokenauth v0.0.0-20181001105134-8545f626c189/go.mod h1:UqBF00IfKvd39ni5+yI5MLMjAf4gX7cDKN/26zDOD6c= -github.com/gobuffalo/mw-tokenauth v0.0.0-20190129201951-95847f29c5c8/go.mod h1:n2oa93LHGD94hGI+PoJO+6cf60DNrXrAIv9L/Ke3GXc= -github.com/gobuffalo/nulls v0.0.0-20190305142546-85f3c9250d87/go.mod h1:KhaLCW+kFA/G97tZkmVkIxhRw3gvZszJn7JjPLI3gtI= -github.com/gobuffalo/nulls v0.1.0/go.mod h1:/HRtuDRoVoN5fABk3J6jzZaGEdcIZEMs0qczj71eKZY= github.com/gobuffalo/nulls v0.2.0/go.mod h1:w4q8RoSCEt87Q0K0sRIZWYeIxkxog5mh3eN3C/n+dUc= github.com/gobuffalo/nulls v0.4.0 h1:xi+JHGWIetYqLmS520dSWc8Ifj1P0aNXKTVDMVsPXmw= github.com/gobuffalo/nulls v0.4.0/go.mod h1:2KmsoLnMrxpwPLN5LmBbm6tmttHSIZr/v/OdGsATM3M= -github.com/gobuffalo/packd v0.0.0-20181027182251-01ad393492c8/go.mod h1:SmdBdhj6uhOsg1Ui4SFAyrhuc7U4VCildosO5IDJ3lc= -github.com/gobuffalo/packd v0.0.0-20181027190505-aafc0d02c411/go.mod h1:SmdBdhj6uhOsg1Ui4SFAyrhuc7U4VCildosO5IDJ3lc= -github.com/gobuffalo/packd v0.0.0-20181027194105-7ae579e6d213/go.mod h1:SmdBdhj6uhOsg1Ui4SFAyrhuc7U4VCildosO5IDJ3lc= -github.com/gobuffalo/packd v0.0.0-20181028162033-6d52e0eabf41/go.mod h1:Yf2toFaISlyQrr5TfO3h6DB9pl9mZRmyvBGQb/aQ/pI= -github.com/gobuffalo/packd v0.0.0-20181029140631-cf76bd87a5a6/go.mod h1:Yf2toFaISlyQrr5TfO3h6DB9pl9mZRmyvBGQb/aQ/pI= -github.com/gobuffalo/packd v0.0.0-20181031195726-c82734870264/go.mod h1:Yf2toFaISlyQrr5TfO3h6DB9pl9mZRmyvBGQb/aQ/pI= -github.com/gobuffalo/packd v0.0.0-20181103221656-16c4ed88b296/go.mod h1:Yf2toFaISlyQrr5TfO3h6DB9pl9mZRmyvBGQb/aQ/pI= -github.com/gobuffalo/packd v0.0.0-20181104210303-d376b15f8e96/go.mod h1:Yf2toFaISlyQrr5TfO3h6DB9pl9mZRmyvBGQb/aQ/pI= -github.com/gobuffalo/packd v0.0.0-20181111195323-b2e760a5f0ff/go.mod h1:Yf2toFaISlyQrr5TfO3h6DB9pl9mZRmyvBGQb/aQ/pI= -github.com/gobuffalo/packd v0.0.0-20181114190715-f25c5d2471d7/go.mod h1:Yf2toFaISlyQrr5TfO3h6DB9pl9mZRmyvBGQb/aQ/pI= -github.com/gobuffalo/packd v0.0.0-20181124090624-311c6248e5fb/go.mod h1:Foenia9ZvITEvG05ab6XpiD5EfBHPL8A6hush8SJ0o8= -github.com/gobuffalo/packd v0.0.0-20181207120301-c49825f8f6f4/go.mod h1:LYc0TGKFBBFTRC9dg2pcRcMqGCTMD7T2BIMP7OBuQAA= -github.com/gobuffalo/packd v0.0.0-20181212173646-eca3b8fd6687/go.mod h1:LYc0TGKFBBFTRC9dg2pcRcMqGCTMD7T2BIMP7OBuQAA= -github.com/gobuffalo/packd v0.0.0-20190224160250-d04dd98aca5b/go.mod h1:LYc0TGKFBBFTRC9dg2pcRcMqGCTMD7T2BIMP7OBuQAA= -github.com/gobuffalo/packd v0.0.0-20190315122247-83d601d65093/go.mod h1:LpEu7OkoplvlhztyAEePkS6JwcGgANdgGL5pB4Knxaw= -github.com/gobuffalo/packd v0.0.0-20190315124812-a385830c7fc0/go.mod h1:M2Juc+hhDXf/PnmBANFCqx4DM3wRbgDvnVWeG2RIxq4= -github.com/gobuffalo/packd v0.1.0/go.mod h1:M2Juc+hhDXf/PnmBANFCqx4DM3wRbgDvnVWeG2RIxq4= -github.com/gobuffalo/packd v0.2.0/go.mod h1:k2CkHP3bjbqL2GwxwhxUy1DgnlbW644hkLC9iIUvZwY= github.com/gobuffalo/packd v0.3.0/go.mod h1:zC7QkmNkYVGKPw4tHpBQ+ml7W/3tIebgeo1b36chA3Q= github.com/gobuffalo/packd v1.0.0 h1:6ERZvJHfe24rfFmA9OaoKBdC7+c9sydrytMg8SdFGBM= github.com/gobuffalo/packd v1.0.0/go.mod h1:6VTc4htmJRFB7u1m/4LeMTWjFoYrUiBkU9Fdec9hrhI= -github.com/gobuffalo/packr v1.13.7/go.mod h1:KkinLIn/n6+3tVXMwg6KkNvWwVsrRAz4ph+jgpk3Z24= -github.com/gobuffalo/packr v1.15.0/go.mod h1:t5gXzEhIviQwVlNx/+3SfS07GS+cZ2hn76WLzPp6MGI= -github.com/gobuffalo/packr v1.15.1/go.mod h1:IeqicJ7jm8182yrVmNbM6PR4g79SjN9tZLH8KduZZwE= -github.com/gobuffalo/packr v1.16.0/go.mod h1:Yx/lcR/7mDLXhuJSzsz2MauD/HUwSc+EK6oigMRGGsM= -github.com/gobuffalo/packr v1.19.0/go.mod h1:MstrNkfCQhd5o+Ct4IJ0skWlxN8emOq8DsoT1G98VIU= -github.com/gobuffalo/packr v1.20.0/go.mod h1:JDytk1t2gP+my1ig7iI4NcVaXr886+N0ecUga6884zw= -github.com/gobuffalo/packr v1.21.0/go.mod h1:H00jGfj1qFKxscFJSw8wcL4hpQtPe1PfU2wa6sg/SR0= -github.com/gobuffalo/packr v1.21.5/go.mod h1:zCvDxrZzFmq5Xd7Jw4vaGe/OYwzuXnma31D2EbTHMWk= -github.com/gobuffalo/packr v1.21.7/go.mod h1:73tmYjwi4Cvb1eNiAwpmrzZ0gxVA4KBqVSZ2FNeJodM= -github.com/gobuffalo/packr v1.21.9/go.mod h1:GC76q6nMzRtR+AEN/VV4w0z2/4q7SOaEmXh3Ooa8sOE= -github.com/gobuffalo/packr v1.22.0/go.mod h1:Qr3Wtxr3+HuQEwWqlLnNW4t1oTvK+7Gc/Rnoi/lDFvA= -github.com/gobuffalo/packr v1.24.0/go.mod h1:p9Sgang00I1hlr1ub+tgI9AQdFd4f+WH1h62jYpzetM= -github.com/gobuffalo/packr v1.24.1/go.mod h1:absPnW/XUUa4DmIh5ga7AipGXXg0DOcd5YWKk5RZs8Y= -github.com/gobuffalo/packr v1.25.0 h1:NtPK45yOKFdTKHTvRGKL+UIKAKmJVWIVJOZBDI/qEdY= -github.com/gobuffalo/packr v1.25.0/go.mod h1:NqsGg8CSB2ZD+6RBIRs18G7aZqdYDlYNNvsSqP6T4/U= -github.com/gobuffalo/packr/v2 v2.0.0-rc.5/go.mod h1:e6gmOfhf3KmT4zl2X/NDRSfBXk2oV4TXZ+NNOM0xwt8= -github.com/gobuffalo/packr/v2 v2.0.0-rc.7/go.mod h1:BzhceHWfF3DMAkbPUONHYWs63uacCZxygFY1b4H9N2A= -github.com/gobuffalo/packr/v2 v2.0.0-rc.8/go.mod h1:y60QCdzwuMwO2R49fdQhsjCPv7tLQFR0ayzxxla9zes= -github.com/gobuffalo/packr/v2 v2.0.0-rc.9/go.mod h1:fQqADRfZpEsgkc7c/K7aMew3n4aF1Kji7+lIZeR98Fc= -github.com/gobuffalo/packr/v2 v2.0.0-rc.10/go.mod h1:4CWWn4I5T3v4c1OsJ55HbHlUEKNWMITG5iIkdr4Px4w= -github.com/gobuffalo/packr/v2 v2.0.0-rc.11/go.mod h1:JoieH/3h3U4UmatmV93QmqyPUdf4wVM9HELaHEu+3fk= -github.com/gobuffalo/packr/v2 v2.0.0-rc.12/go.mod h1:FV1zZTsVFi1DSCboO36Xgs4pzCZBjB/tDV9Cz/lSaR8= -github.com/gobuffalo/packr/v2 v2.0.0-rc.13/go.mod h1:2Mp7GhBFMdJlOK8vGfl7SYtfMP3+5roE39ejlfjw0rA= -github.com/gobuffalo/packr/v2 v2.0.0-rc.14/go.mod h1:06otbrNvDKO1eNQ3b8hst+1010UooI2MFg+B2Ze4MV8= -github.com/gobuffalo/packr/v2 v2.0.0-rc.15/go.mod h1:IMe7H2nJvcKXSF90y4X1rjYIRlNMJYCxEhssBXNZwWs= -github.com/gobuffalo/packr/v2 v2.0.0/go.mod h1:7McfLpSxaPUoSQm7gYpTZRQSK63mX8EKzzYSEFKvfkM= -github.com/gobuffalo/packr/v2 v2.0.1/go.mod h1:tp5/5A2e67F1lUGTiNadtA2ToP045+mvkWzaqMCsZr4= -github.com/gobuffalo/packr/v2 v2.0.2/go.mod h1:6Y+2NY9cHDlrz96xkJG8bfPwLlCdJVS/irhNJmwD7kM= -github.com/gobuffalo/packr/v2 v2.0.6/go.mod h1:/TYKOjadT7P9jRWZtj4BRTgeXy2tIYntifGkD+aM2KY= -github.com/gobuffalo/packr/v2 v2.0.7/go.mod h1:1SBFAIr3YnxYdJRyrceR7zhOrhV/YhHzOjDwA9LLZ5Y= -github.com/gobuffalo/packr/v2 v2.0.9/go.mod h1:emmyGweYTm6Kdper+iywB6YK5YzuKchGtJQZ0Odn4pQ= -github.com/gobuffalo/packr/v2 v2.0.10/go.mod h1:n90ZuXIc2KN2vFAOQascnPItp9A2g9QYSvYvS3AjQEM= -github.com/gobuffalo/packr/v2 v2.1.0/go.mod h1:n90ZuXIc2KN2vFAOQascnPItp9A2g9QYSvYvS3AjQEM= -github.com/gobuffalo/packr/v2 v2.2.0/go.mod h1:CaAwI0GPIAv+5wKLtv8Afwl+Cm78K/I/VCm/3ptBN+0= -github.com/gobuffalo/packr/v2 v2.3.2/go.mod h1:93elRVdDhpUgox9GnXswWK5dzpVBQsnlQjnnncSLoiU= -github.com/gobuffalo/packr/v2 v2.4.0/go.mod h1:ra341gygw9/61nSjAbfwcwh8IrYL4WmR4IsPkPBhQiY= -github.com/gobuffalo/packr/v2 v2.5.1/go.mod h1:8f9c96ITobJlPzI44jj+4tHnEKNt0xXWSVlXRN9X1Iw= -github.com/gobuffalo/packr/v2 v2.5.2/go.mod h1:sgEE1xNZ6G0FNN5xn9pevVu4nywaxHvgup67xisti08= -github.com/gobuffalo/packr/v2 v2.5.3/go.mod h1:sgEE1xNZ6G0FNN5xn9pevVu4nywaxHvgup67xisti08= -github.com/gobuffalo/packr/v2 v2.6.0/go.mod h1:sgEE1xNZ6G0FNN5xn9pevVu4nywaxHvgup67xisti08= -github.com/gobuffalo/packr/v2 v2.7.1/go.mod h1:qYEvAazPaVxy7Y7KR0W8qYEE+RymX74kETFqjFoFlOc= github.com/gobuffalo/packr/v2 v2.8.0/go.mod h1:PDk2k3vGevNE3SwVyVRgQCCXETC9SaONCNSXT1Q8M1g= github.com/gobuffalo/packr/v2 v2.8.1 h1:tkQpju6i3EtMXJ9uoF5GT6kB+LMTimDWD8Xvbz6zDVA= github.com/gobuffalo/packr/v2 v2.8.1/go.mod h1:c/PLlOuTU+p3SybaJATW3H6lX/iK7xEz5OeMf+NnJpg= -github.com/gobuffalo/plush v3.7.16+incompatible/go.mod h1:rQ4zdtUUyZNqULlc6bqd5scsPfLKfT0+TGMChgduDvI= -github.com/gobuffalo/plush v3.7.20+incompatible/go.mod h1:rQ4zdtUUyZNqULlc6bqd5scsPfLKfT0+TGMChgduDvI= -github.com/gobuffalo/plush v3.7.21+incompatible/go.mod h1:rQ4zdtUUyZNqULlc6bqd5scsPfLKfT0+TGMChgduDvI= -github.com/gobuffalo/plush v3.7.22+incompatible/go.mod h1:rQ4zdtUUyZNqULlc6bqd5scsPfLKfT0+TGMChgduDvI= -github.com/gobuffalo/plush v3.7.23+incompatible/go.mod h1:rQ4zdtUUyZNqULlc6bqd5scsPfLKfT0+TGMChgduDvI= -github.com/gobuffalo/plush v3.7.30+incompatible/go.mod h1:rQ4zdtUUyZNqULlc6bqd5scsPfLKfT0+TGMChgduDvI= -github.com/gobuffalo/plush v3.7.31+incompatible/go.mod h1:rQ4zdtUUyZNqULlc6bqd5scsPfLKfT0+TGMChgduDvI= -github.com/gobuffalo/plush v3.7.32+incompatible/go.mod h1:rQ4zdtUUyZNqULlc6bqd5scsPfLKfT0+TGMChgduDvI= -github.com/gobuffalo/plush v3.7.33+incompatible/go.mod h1:rQ4zdtUUyZNqULlc6bqd5scsPfLKfT0+TGMChgduDvI= -github.com/gobuffalo/plush v3.7.34+incompatible/go.mod h1:rQ4zdtUUyZNqULlc6bqd5scsPfLKfT0+TGMChgduDvI= -github.com/gobuffalo/plush v3.8.0+incompatible/go.mod h1:rQ4zdtUUyZNqULlc6bqd5scsPfLKfT0+TGMChgduDvI= -github.com/gobuffalo/plush v3.8.2+incompatible/go.mod h1:rQ4zdtUUyZNqULlc6bqd5scsPfLKfT0+TGMChgduDvI= -github.com/gobuffalo/plush v3.8.3+incompatible h1:kzvUTnFPhwyfPEsx7U7LI05/IIslZVGnAlMA1heWub8= -github.com/gobuffalo/plush v3.8.3+incompatible/go.mod h1:rQ4zdtUUyZNqULlc6bqd5scsPfLKfT0+TGMChgduDvI= github.com/gobuffalo/plush/v4 v4.0.0/go.mod h1:ErFS3UxKqEb8fpFJT7lYErfN/Nw6vHGiDMTjxpk5bQ0= github.com/gobuffalo/plush/v4 v4.1.5 h1:vXkdb99kUqlgJMcdW4KeewnZgwbo26heEDdTdJTTUi4= github.com/gobuffalo/plush/v4 v4.1.5/go.mod h1:ErFS3UxKqEb8fpFJT7lYErfN/Nw6vHGiDMTjxpk5bQ0= -github.com/gobuffalo/plushgen v0.0.0-20181128164830-d29dcb966cb2/go.mod h1:r9QwptTFnuvSaSRjpSp4S2/4e2D3tJhARYbvEBcKSb4= -github.com/gobuffalo/plushgen v0.0.0-20181203163832-9fc4964505c2/go.mod h1:opEdT33AA2HdrIwK1aibqnTJDVVKXC02Bar/GT1YRVs= -github.com/gobuffalo/plushgen v0.0.0-20181207152837-eedb135bd51b/go.mod h1:Lcw7HQbEVm09sAQrCLzIxuhFbB3nAgp4c55E+UlynR0= -github.com/gobuffalo/plushgen v0.0.0-20190104222512-177cd2b872b3/go.mod h1:tYxCozi8X62bpZyKXYHw1ncx2ZtT2nFvG42kuLwYjoc= -github.com/gobuffalo/plushgen v0.0.0-20190224160205-347ea233336e/go.mod h1:tYxCozi8X62bpZyKXYHw1ncx2ZtT2nFvG42kuLwYjoc= -github.com/gobuffalo/plushgen v0.0.0-20190329152458-0555238fe0d9/go.mod h1:3U71v6HWZpVER1nInTXeAwdoRNsRd4W8aeIa1Lyp+Bk= -github.com/gobuffalo/plushgen v0.1.0/go.mod h1:NK33QLkRK/xKexiPFSxlWRT286F4yStZUa/Fbx0guvo= -github.com/gobuffalo/plushgen v0.1.2/go.mod h1:3U71v6HWZpVER1nInTXeAwdoRNsRd4W8aeIa1Lyp+Bk= -github.com/gobuffalo/pop v4.8.2+incompatible/go.mod h1:DwBz3SD5SsHpTZiTubcsFWcVDpJWGsxjVjMPnkiThWg= -github.com/gobuffalo/pop v4.8.3+incompatible/go.mod h1:DwBz3SD5SsHpTZiTubcsFWcVDpJWGsxjVjMPnkiThWg= -github.com/gobuffalo/pop v4.8.4+incompatible/go.mod h1:DwBz3SD5SsHpTZiTubcsFWcVDpJWGsxjVjMPnkiThWg= -github.com/gobuffalo/pop v4.8.5+incompatible/go.mod h1:DwBz3SD5SsHpTZiTubcsFWcVDpJWGsxjVjMPnkiThWg= -github.com/gobuffalo/pop v4.8.7+incompatible/go.mod h1:DwBz3SD5SsHpTZiTubcsFWcVDpJWGsxjVjMPnkiThWg= -github.com/gobuffalo/pop v4.8.8+incompatible/go.mod h1:DwBz3SD5SsHpTZiTubcsFWcVDpJWGsxjVjMPnkiThWg= -github.com/gobuffalo/pop v4.9.0+incompatible/go.mod h1:DwBz3SD5SsHpTZiTubcsFWcVDpJWGsxjVjMPnkiThWg= -github.com/gobuffalo/pop v4.9.1+incompatible/go.mod h1:DwBz3SD5SsHpTZiTubcsFWcVDpJWGsxjVjMPnkiThWg= -github.com/gobuffalo/pop v4.9.2+incompatible/go.mod h1:DwBz3SD5SsHpTZiTubcsFWcVDpJWGsxjVjMPnkiThWg= -github.com/gobuffalo/pop v4.9.3+incompatible/go.mod h1:DwBz3SD5SsHpTZiTubcsFWcVDpJWGsxjVjMPnkiThWg= -github.com/gobuffalo/pop v4.9.5+incompatible/go.mod h1:DwBz3SD5SsHpTZiTubcsFWcVDpJWGsxjVjMPnkiThWg= -github.com/gobuffalo/pop v4.9.6+incompatible/go.mod h1:DwBz3SD5SsHpTZiTubcsFWcVDpJWGsxjVjMPnkiThWg= -github.com/gobuffalo/pop v4.9.8+incompatible/go.mod h1:DwBz3SD5SsHpTZiTubcsFWcVDpJWGsxjVjMPnkiThWg= -github.com/gobuffalo/pop v4.9.9+incompatible/go.mod h1:DwBz3SD5SsHpTZiTubcsFWcVDpJWGsxjVjMPnkiThWg= -github.com/gobuffalo/pop v4.10.0+incompatible/go.mod h1:DwBz3SD5SsHpTZiTubcsFWcVDpJWGsxjVjMPnkiThWg= -github.com/gobuffalo/pop v4.11.0+incompatible/go.mod h1:DwBz3SD5SsHpTZiTubcsFWcVDpJWGsxjVjMPnkiThWg= -github.com/gobuffalo/pop v4.11.1+incompatible/go.mod h1:DwBz3SD5SsHpTZiTubcsFWcVDpJWGsxjVjMPnkiThWg= -github.com/gobuffalo/pop v4.11.2+incompatible/go.mod h1:DwBz3SD5SsHpTZiTubcsFWcVDpJWGsxjVjMPnkiThWg= -github.com/gobuffalo/pop v4.11.3+incompatible/go.mod h1:DwBz3SD5SsHpTZiTubcsFWcVDpJWGsxjVjMPnkiThWg= -github.com/gobuffalo/pop v4.12.0+incompatible/go.mod h1:DwBz3SD5SsHpTZiTubcsFWcVDpJWGsxjVjMPnkiThWg= -github.com/gobuffalo/pop v4.12.1+incompatible/go.mod h1:DwBz3SD5SsHpTZiTubcsFWcVDpJWGsxjVjMPnkiThWg= -github.com/gobuffalo/pop v4.12.2+incompatible/go.mod h1:DwBz3SD5SsHpTZiTubcsFWcVDpJWGsxjVjMPnkiThWg= -github.com/gobuffalo/pop v4.13.1+incompatible h1:AhbqPxNOBN/DBb2DBaiBqzOXIBQXxEYzngHHJ+ytP4g= -github.com/gobuffalo/pop v4.13.1+incompatible/go.mod h1:DwBz3SD5SsHpTZiTubcsFWcVDpJWGsxjVjMPnkiThWg= -github.com/gobuffalo/pop/v5 v5.3.0/go.mod h1:vcEDhh6cJ3WVENqJDFt/6z7zNb7lLnlN8vj3n5G9rYA= -github.com/gobuffalo/pop/v5 v5.3.3/go.mod h1:Ey1hqzDLkWQKNEfsnafaz+3P1h/TrS++W9PmpGsNxvk= +github.com/gobuffalo/plush/v4 v4.1.6 h1:oR66ytSOXB0sYtPYdQA4pUeqYjAMmeTV02Rv/9FRgFU= +github.com/gobuffalo/plush/v4 v4.1.6/go.mod h1:ErFS3UxKqEb8fpFJT7lYErfN/Nw6vHGiDMTjxpk5bQ0= github.com/gobuffalo/pop/v5 v5.3.4 h1:VWH74icA8khG8SyWDAq6Ch00jcPiC4n436JMFh0lLm0= github.com/gobuffalo/pop/v5 v5.3.4/go.mod h1:UiVurv2aTKC7MuR27PnMrQjAazoLr8SoC/LuTKTS/tQ= -github.com/gobuffalo/release v1.0.35/go.mod h1:VtHFAKs61vO3wboCec5xr9JPTjYyWYcvaM3lclkc4x4= -github.com/gobuffalo/release v1.0.38/go.mod h1:VtHFAKs61vO3wboCec5xr9JPTjYyWYcvaM3lclkc4x4= -github.com/gobuffalo/release v1.0.42/go.mod h1:RPs7EtafH4oylgetOJpGP0yCZZUiO4vqHfTHJjSdpug= -github.com/gobuffalo/release v1.0.51/go.mod h1:RPs7EtafH4oylgetOJpGP0yCZZUiO4vqHfTHJjSdpug= -github.com/gobuffalo/release v1.0.52/go.mod h1:RPs7EtafH4oylgetOJpGP0yCZZUiO4vqHfTHJjSdpug= -github.com/gobuffalo/release v1.0.53/go.mod h1:FdF257nd8rqhNaqtDWFGhxdJ/Ig4J7VcS3KL7n/a+aA= -github.com/gobuffalo/release v1.0.54/go.mod h1:Pe5/RxRa/BE8whDpGfRqSI7D1a0evGK1T4JDm339tJc= -github.com/gobuffalo/release v1.0.61/go.mod h1:mfIO38ujUNVDlBziIYqXquYfBF+8FDHUjKZgYC1Hj24= -github.com/gobuffalo/release v1.0.63/go.mod h1:/7hQAikt0l8Iu/tAX7slC1qiOhD6Nb+3KMmn/htiUfc= -github.com/gobuffalo/release v1.0.72/go.mod h1:NP5NXgg/IX3M5XmHmWR99D687/3Dt9qZtTK/Lbwc1hU= -github.com/gobuffalo/release v1.0.74/go.mod h1:NP5NXgg/IX3M5XmHmWR99D687/3Dt9qZtTK/Lbwc1hU= -github.com/gobuffalo/release v1.1.1/go.mod h1:Sluak1Xd6kcp6snkluR1jeXAogdJZpFFRzTYRs/2uwg= -github.com/gobuffalo/release v1.1.3/go.mod h1:CuXc5/m+4zuq8idoDt1l4va0AXAn/OSs08uHOfMVr8E= -github.com/gobuffalo/release v1.1.6/go.mod h1:18naWa3kBsqO0cItXZNJuefCKOENpbbUIqRL1g+p6z0= -github.com/gobuffalo/release v1.2.2/go.mod h1:tkFFZua2N5WRxyGDk2cSwQjzkZ/apKKXl5T8P+kEO+E= -github.com/gobuffalo/release v1.2.5/go.mod h1:tkFFZua2N5WRxyGDk2cSwQjzkZ/apKKXl5T8P+kEO+E= -github.com/gobuffalo/release v1.4.0/go.mod h1:f4uUPnD9dxrWxVy9yy0k/mvDf3EzhFtf7/byl0tTdY4= -github.com/gobuffalo/release v1.7.0/go.mod h1:xH2NjAueVSY89XgC4qx24ojEQ4zQ9XCGVs5eXwJTkEs= -github.com/gobuffalo/release v1.8.3/go.mod h1:gCk/x5WD+aIGkPodO4CuLxdnhYn9Jgp7yFYxntK/8mk= -github.com/gobuffalo/release v1.13.4/go.mod h1:5Cc4TSNxP4QFV2ZUYcgPiBBV7YyRomHecGTQuuy26G4= -github.com/gobuffalo/shoulders v1.0.1/go.mod h1:V33CcVmaQ4gRUmHKwq1fiTXuf8Gp/qjQBUL5tHPmvbA= -github.com/gobuffalo/shoulders v1.0.3/go.mod h1:LqMcHhKRuBPMAYElqOe3POHiZ1x7Ry0BE8ZZ84Bx+k4= -github.com/gobuffalo/shoulders v1.0.4/go.mod h1:LqMcHhKRuBPMAYElqOe3POHiZ1x7Ry0BE8ZZ84Bx+k4= -github.com/gobuffalo/shoulders v1.1.0/go.mod h1:kcIJs3p7VqoBJ36Mzs+x767NyzTx0pxBvzZdWTWZYF8= -github.com/gobuffalo/shoulders v1.2.0/go.mod h1:Ia3oFybQWg4711cb2S5JkFSt9V4rMiLGusWZ6mRAdNM= -github.com/gobuffalo/syncx v0.0.0-20181120191700-98333ab04150/go.mod h1:HhnNqWY95UYwwW3uSASeV7vtgYkT2t16hJgV3AEPUpw= -github.com/gobuffalo/syncx v0.0.0-20181120194010-558ac7de985f/go.mod h1:HhnNqWY95UYwwW3uSASeV7vtgYkT2t16hJgV3AEPUpw= -github.com/gobuffalo/syncx v0.0.0-20190224160051-33c29581e754/go.mod h1:HhnNqWY95UYwwW3uSASeV7vtgYkT2t16hJgV3AEPUpw= -github.com/gobuffalo/tags v2.0.11+incompatible/go.mod h1:9XmhOkyaB7UzvuY4UoZO4s67q8/xRMVJEaakauVQYeY= -github.com/gobuffalo/tags v2.0.14+incompatible/go.mod h1:9XmhOkyaB7UzvuY4UoZO4s67q8/xRMVJEaakauVQYeY= -github.com/gobuffalo/tags v2.0.15+incompatible/go.mod h1:9XmhOkyaB7UzvuY4UoZO4s67q8/xRMVJEaakauVQYeY= -github.com/gobuffalo/tags v2.0.16+incompatible/go.mod h1:9XmhOkyaB7UzvuY4UoZO4s67q8/xRMVJEaakauVQYeY= -github.com/gobuffalo/tags v2.1.0+incompatible/go.mod h1:9XmhOkyaB7UzvuY4UoZO4s67q8/xRMVJEaakauVQYeY= -github.com/gobuffalo/tags v2.1.5+incompatible/go.mod h1:9XmhOkyaB7UzvuY4UoZO4s67q8/xRMVJEaakauVQYeY= -github.com/gobuffalo/tags v2.1.7+incompatible h1:GUxxh34f9SI4U0Pj3ZqvopO9SlzuqSf+g4ZGSPSszt4= -github.com/gobuffalo/tags v2.1.7+incompatible/go.mod h1:9XmhOkyaB7UzvuY4UoZO4s67q8/xRMVJEaakauVQYeY= github.com/gobuffalo/tags/v3 v3.0.2/go.mod h1:ZQeN6TCTiwAFnS0dNcbDtSgZDwNKSpqajvVtt6mlYpA= github.com/gobuffalo/tags/v3 v3.1.0 h1:mzdCYooN2VsLRr8KIAdEZ1lh1Py7JSMsiEGCGata2AQ= github.com/gobuffalo/tags/v3 v3.1.0/go.mod h1:ZQeN6TCTiwAFnS0dNcbDtSgZDwNKSpqajvVtt6mlYpA= -github.com/gobuffalo/uuid v2.0.3+incompatible/go.mod h1:ErhIzkRhm0FtRuiE/PeORqcw4cVi1RtSpnwYrxuvkfE= -github.com/gobuffalo/uuid v2.0.4+incompatible/go.mod h1:ErhIzkRhm0FtRuiE/PeORqcw4cVi1RtSpnwYrxuvkfE= -github.com/gobuffalo/uuid v2.0.5+incompatible/go.mod h1:ErhIzkRhm0FtRuiE/PeORqcw4cVi1RtSpnwYrxuvkfE= -github.com/gobuffalo/validate v2.0.3+incompatible/go.mod h1:N+EtDe0J8252BgfzQUChBgfd6L93m9weay53EWFVsMM= -github.com/gobuffalo/validate v2.0.4+incompatible h1:ZTxozrIw8qQ5nfhShmc4izjYPTsPhfdXTdhXOd5OS9o= -github.com/gobuffalo/validate v2.0.4+incompatible/go.mod h1:N+EtDe0J8252BgfzQUChBgfd6L93m9weay53EWFVsMM= github.com/gobuffalo/validate/v3 v3.0.0/go.mod h1:HFpjq+AIiA2RHoQnQVTFKF/ZpUPXwyw82LgyDPxQ9r0= github.com/gobuffalo/validate/v3 v3.1.0 h1:/QQN920PciCfBs3aywtJTvDTHmBFMKoiwkshUWa/HLQ= github.com/gobuffalo/validate/v3 v3.1.0/go.mod h1:HFpjq+AIiA2RHoQnQVTFKF/ZpUPXwyw82LgyDPxQ9r0= -github.com/gobuffalo/x v0.0.0-20181003152136-452098b06085/go.mod h1:WevpGD+5YOreDJznWevcn8NTmQEW5STSBgIkpkjzqXc= -github.com/gobuffalo/x v0.0.0-20181007152206-913e47c59ca7/go.mod h1:9rDPXaB3kXdKWzMc4odGQQdG2e2DIEmANy5aSJ9yesY= -github.com/gobuffalo/x v0.0.0-20181025165825-f204f550da9d/go.mod h1:Qh2Pb/Ak1Ko2mzHlGPigrnxkhO4WTTCI1jJM58sbgtE= -github.com/gobuffalo/x v0.0.0-20181025192250-1ef645d63fe8/go.mod h1:AIlnMGlYXOCsoCntLPFLYtrJNS/pc2HD4IdSXH62TpU= -github.com/gobuffalo/x v0.0.0-20181109195216-5b3131238124/go.mod h1:GpdLUY6/Ztf/3FfxfwsLkDqAGZ0brhlh7LzIibHyZp0= -github.com/gobuffalo/x v0.0.0-20181110221217-14085ca3e1a9/go.mod h1:ig5vdn4+5IPtxgESlZWo1SSDyHKKef8EjVVKhY9kkIQ= -github.com/gobuffalo/x v0.0.0-20190224155809-6bb134105960/go.mod h1:ig5vdn4+5IPtxgESlZWo1SSDyHKKef8EjVVKhY9kkIQ= github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= -github.com/gofrs/uuid v3.1.0+incompatible/go.mod h1:b2aQJv3Z4Fp6yNu3cdSllBxTCLRxnplIgP/c0N/04lM= github.com/gofrs/uuid v3.2.0+incompatible h1:y12jRkkFxsd7GpqdSZ+/KCs/fJbqpEXSGd4+jfEaewE= github.com/gofrs/uuid v3.2.0+incompatible/go.mod h1:b2aQJv3Z4Fp6yNu3cdSllBxTCLRxnplIgP/c0N/04lM= github.com/gogo/googleapis v1.1.0/go.mod h1:gf4bu3Q80BeJ6H1S1vYPm8/ELATdvryBaNFGgqEef3s= @@ -684,7 +213,6 @@ github.com/golang/groupcache v0.0.0-20190129154638-5b532d6fd5ef/go.mod h1:cIg4er github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/groupcache v0.0.0-20191227052852-215e87163ea7/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= -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/mock v1.2.0/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= github.com/golang/mock v1.3.1/go.mod h1:sBzyDLLjw3U8JLTeZvSv8jJB+tU5PVekmnlKIyFUx0Y= @@ -693,7 +221,6 @@ github.com/golang/mock v1.4.1/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt github.com/golang/mock v1.4.3/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= github.com/golang/mock v1.4.4/go.mod h1:l3mdAwkq5BuhzHwde/uurv3sEJeZMXNpwsxVWU71h+4= github.com/golang/mock v1.5.0/go.mod h1:CWnOUgYIOo4TcNZ0wHX3YZCqsaM1I1Jvs6v3mP3KVu8= -github.com/golang/protobuf v1.1.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= @@ -712,7 +239,6 @@ github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaS github.com/golang/protobuf v1.5.1/go.mod h1:DopwsBzvsk0Fs44TXzsVbJyPhcCPeIwnvohx4u74HPM= github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= github.com/golang/snappy v0.0.0-20180518054509-2e65f85255db/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= -github.com/gomodule/redigo v2.0.0+incompatible/go.mod h1:B4C85qUVwatsJoIUNIfCRsp7qO0iAmpGFZ4EELWSbC4= github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= @@ -726,10 +252,6 @@ github.com/google/go-cmp v0.5.2/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/ github.com/google/go-cmp v0.5.3/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= -github.com/google/go-cmp v0.5.6/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-github v17.0.0+incompatible/go.mod h1:zLgOLi98H3fifZn+44m+umXrS52loVEgC2AApnigrVQ= -github.com/google/go-querystring v1.0.0/go.mod h1:odCYkC5MyYFN7vkCjXpyrEuKhc/BUO6wN/zVPAxq5ck= github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs= github.com/google/martian/v3 v3.0.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0= @@ -748,38 +270,26 @@ github.com/google/pprof v0.0.0-20210226084205-cbba55b83ad5/go.mod h1:kpwsk12EmLe github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI= github.com/google/uuid v1.0.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/googleapis/gax-go v2.0.0+incompatible/go.mod h1:SFVmujtThgffbyetf+mdk2eWhX2bMyUtNHzFKcPA9HY= -github.com/googleapis/gax-go/v2 v2.0.3/go.mod h1:LLvjysVCY1JZeum8Z6l8qUty8fiNwE08qbEPm1M08qg= github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg= github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk= -github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1 h1:EGx4pi6eqNxGaHF6qqu48+N2wcFQ5qg5FXgOdqsJ5d8= github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY= github.com/gorilla/context v1.1.1/go.mod h1:kBGZzfjB9CEq2AlWe17Uuf7NDRt0dE0s8S51q0aT7Yg= github.com/gorilla/handlers v1.5.1 h1:9lRY6j8DEeeBT10CvO9hGW0gmky0BprnvDI5vfhUHH4= github.com/gorilla/handlers v1.5.1/go.mod h1:t8XrUpc4KVXb7HGyJ4/cEnwQiaxrX/hz1Zv/4g96P1Q= github.com/gorilla/mux v1.6.2/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs= -github.com/gorilla/mux v1.7.0/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs= -github.com/gorilla/mux v1.7.1/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs= -github.com/gorilla/mux v1.7.2/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs= github.com/gorilla/mux v1.7.3/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs= github.com/gorilla/mux v1.8.0 h1:i40aqfkR1h2SlN9hojwV5ZA91wcXFOvkdNIeFDP5koI= github.com/gorilla/mux v1.8.0/go.mod h1:DVbg23sWSpFRCP0SfiEN6jmj59UnW/n46BH5rLB71So= -github.com/gorilla/pat v0.0.0-20180118222023-199c85a7f6d1/go.mod h1:YeAe0gNeiNT5hoiZRI4yiOky6jVdNvfO2N6Kav/HmxY= github.com/gorilla/securecookie v1.1.1 h1:miw7JPhV+b/lAHSXz4qd/nN9jRiAFV5FwjeKyCS8BvQ= github.com/gorilla/securecookie v1.1.1/go.mod h1:ra0sb63/xPlUeL+yeDciTfxMRAA+MP+HVt/4epWDjd4= -github.com/gorilla/sessions v1.1.2/go.mod h1:8KCfur6+4Mqcc6S0FEfKuN15Vl5MgXW92AE8ovaJD0w= -github.com/gorilla/sessions v1.1.3/go.mod h1:8KCfur6+4Mqcc6S0FEfKuN15Vl5MgXW92AE8ovaJD0w= github.com/gorilla/sessions v1.2.0/go.mod h1:dk2InVEVJ0sfLlnXv9EAgkf6ecYs/i80K/zI+bUmuGM= github.com/gorilla/sessions v1.2.1 h1:DHd3rPN5lE3Ts3D8rKkQ8x/0kqfeNmBAaiSi+o7FsgI= github.com/gorilla/sessions v1.2.1/go.mod h1:dk2InVEVJ0sfLlnXv9EAgkf6ecYs/i80K/zI+bUmuGM= github.com/gorilla/websocket v0.0.0-20170926233335-4201258b820c/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ= github.com/gorilla/websocket v1.4.0/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ= -github.com/gorilla/websocket v1.4.2/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= -github.com/gregjones/httpcache v0.0.0-20180305231024-9cad4c3443a7/go.mod h1:FecbI9+v66THATjSRHfNgh1IVFe/9kFxbXtjV0ctIMA= github.com/grpc-ecosystem/go-grpc-middleware v1.0.0/go.mod h1:FiyG127CGDf3tlThmgyCl78X/SZQqEOJBCDaAfeWzPs= github.com/grpc-ecosystem/go-grpc-middleware v1.0.1-0.20190118093823-f849b5445de4/go.mod h1:FiyG127CGDf3tlThmgyCl78X/SZQqEOJBCDaAfeWzPs= github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0/go.mod h1:8NvIoxWQoOIhqOTXgfV/d3M/q6VIi02HzZEHgUlZvzk= -github.com/grpc-ecosystem/grpc-gateway v1.5.0/go.mod h1:RSKVYQBd5MCa4OVpNdGskqpgL2+G+NZTnrVHpWWfpdw= github.com/grpc-ecosystem/grpc-gateway v1.9.0/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY= github.com/grpc-ecosystem/grpc-gateway v1.9.5/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY= github.com/grpc-ecosystem/grpc-gateway v1.16.0/go.mod h1:BDjrQk3hbvj6Nolgz8mAMFbcEtjT1g+wF4CSlocrBnw= @@ -801,7 +311,6 @@ github.com/hashicorp/go-version v1.2.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09 github.com/hashicorp/go.net v0.0.1/go.mod h1:hjKkEWcCURg++eb33jQU7oqQcI9XDCnUzHA0oac0k90= github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= -github.com/hashicorp/hcl v1.0.0 h1:0Anlzjpi4vEasTeNFn2mLJgTSwt0+6sfsiTG8qcWGx4= github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ= github.com/hashicorp/logutils v1.0.0/go.mod h1:QIAnNjmIWmVIIkWDTG1z5v++HQmx9WQRO+LraFDTW64= github.com/hashicorp/mdns v1.0.0/go.mod h1:tL+uN++7HEJ6SQLQ2/p+z2pH24WQKWjBPkE0mNTz8vQ= @@ -819,17 +328,12 @@ github.com/jackc/chunkreader v1.0.0/go.mod h1:RT6O25fNZIuasFJRyZ4R/Y2BbhasbmZXF9 github.com/jackc/chunkreader/v2 v2.0.0/go.mod h1:odVSm741yZoC3dpHEUXIqA9tQRhFrgOHwnPIn9lDKlk= github.com/jackc/chunkreader/v2 v2.0.1 h1:i+RDz65UE+mmpjTfyz0MoVTnzeYxroil2G82ki7MGG8= github.com/jackc/chunkreader/v2 v2.0.1/go.mod h1:odVSm741yZoC3dpHEUXIqA9tQRhFrgOHwnPIn9lDKlk= -github.com/jackc/fake v0.0.0-20150926172116-812a484cc733/go.mod h1:WrMFNQdiFJ80sQsxDoMokWK1W5TQtxBFNpzWTD84ibQ= github.com/jackc/pgconn v0.0.0-20190420214824-7e0022ef6ba3/go.mod h1:jkELnwuX+w9qN5YIfX0fl88Ehu4XC3keFuOJJk9pcnA= github.com/jackc/pgconn v0.0.0-20190824142844-760dd75542eb/go.mod h1:lLjNuW/+OfW9/pnVKPazfWOgNfH2aPem8YQ7ilXGvJE= github.com/jackc/pgconn v0.0.0-20190831204454-2fabfa3c18b7/go.mod h1:ZJKsE/KZfsUgOEh9hBm+xYTstcNHg7UPMVJqRfQxq4s= -github.com/jackc/pgconn v1.0.1/go.mod h1:GgY/Lbj1VonNaVdNUHs9AwWom3yP2eymFQ1C8z9r/Lk= -github.com/jackc/pgconn v1.3.1/go.mod h1:2Ze5IP7prCiM28C4nc5LUoRaSyMDYZFE32L4gMJVtcU= github.com/jackc/pgconn v1.4.0/go.mod h1:Y2O3ZDF0q4mMacyWV3AstPJpeHXWGEetiFttmq5lahk= github.com/jackc/pgconn v1.5.0/go.mod h1:QeD3lBfpTFe8WUnPZWN5KY/mB8FGMIYRdd8P8Jr0fAI= github.com/jackc/pgconn v1.5.1-0.20200601181101-fa742c524853/go.mod h1:QeD3lBfpTFe8WUnPZWN5KY/mB8FGMIYRdd8P8Jr0fAI= -github.com/jackc/pgconn v1.6.0/go.mod h1:yeseQo4xhQbgyJs2c87RAXOH2i624N0Fh1KSPJya7qo= -github.com/jackc/pgconn v1.8.0/go.mod h1:1C2Pb36bGIP9QHGBYCjnyhqu7Rv3sGshaQUvmfGIB/o= github.com/jackc/pgconn v1.8.1 h1:ySBX7Q87vOMqKU2bbmKbUvtYhauDFclYbNDYIE1/h6s= github.com/jackc/pgconn v1.8.1/go.mod h1:JV6m6b6jhjdmzchES0drzCcYcAHS1OPD5xu3OZ/lE2g= github.com/jackc/pgio v1.0.0 h1:g12B9UwVnzGhueNavwioyEEpAmqMe1E/BN9ES+8ovkE= @@ -844,9 +348,7 @@ github.com/jackc/pgproto3/v2 v2.0.0-alpha1.0.20190420180111-c116219b62db/go.mod github.com/jackc/pgproto3/v2 v2.0.0-alpha1.0.20190609003834-432c2951c711/go.mod h1:uH0AWtUmuShn0bcesswc4aBTWGvw0cAxIJp+6OB//Wg= github.com/jackc/pgproto3/v2 v2.0.0-rc3/go.mod h1:ryONWYqW6dqSg1Lw6vXNMXoBJhpzvWKnT95C46ckYeM= github.com/jackc/pgproto3/v2 v2.0.0-rc3.0.20190831210041-4c03ce451f29/go.mod h1:ryONWYqW6dqSg1Lw6vXNMXoBJhpzvWKnT95C46ckYeM= -github.com/jackc/pgproto3/v2 v2.0.0/go.mod h1:ryONWYqW6dqSg1Lw6vXNMXoBJhpzvWKnT95C46ckYeM= github.com/jackc/pgproto3/v2 v2.0.1/go.mod h1:WfJCnwN3HIg9Ish/j3sgWXnAfK8A9Y0bwXYU5xKaEdA= -github.com/jackc/pgproto3/v2 v2.0.2/go.mod h1:WfJCnwN3HIg9Ish/j3sgWXnAfK8A9Y0bwXYU5xKaEdA= github.com/jackc/pgproto3/v2 v2.0.6 h1:b1105ZGEMFe7aCvrT1Cca3VoVb4ZFMaFJLJcg/3zD+8= github.com/jackc/pgproto3/v2 v2.0.6/go.mod h1:WfJCnwN3HIg9Ish/j3sgWXnAfK8A9Y0bwXYU5xKaEdA= github.com/jackc/pgservicefile v0.0.0-20200307190119-3430c5407db8/go.mod h1:vsD4gTJCa9TptPL8sPkXrLZ+hDuNrZCnj29CQpr4X1E= @@ -856,25 +358,16 @@ github.com/jackc/pgtype v0.0.0-20190421001408-4ed0de4755e0/go.mod h1:hdSHsc1V01C github.com/jackc/pgtype v0.0.0-20190824184912-ab885b375b90/go.mod h1:KcahbBH1nCMSo2DXpzsoWOAfFkdEtEJpPbVLq8eE+mc= github.com/jackc/pgtype v0.0.0-20190828014616-a8802b16cc59/go.mod h1:MWlu30kVJrUS8lot6TQqcg7mtthZ9T0EoIBFiJcmcyw= github.com/jackc/pgtype v1.2.0/go.mod h1:5m2OfMh1wTK7x+Fk952IDmI4nw3nPrvtQdM0ZT4WpC0= -github.com/jackc/pgtype v1.3.0/go.mod h1:b0JqxHvPmljG+HQ5IsvQ0yqeSi4nGcDTVjFoiLDb0Ik= github.com/jackc/pgtype v1.3.1-0.20200510190516-8cd94a14c75a/go.mod h1:vaogEUkALtxZMCH411K+tKzNpwzCKU+AnPzBKZ+I+Po= github.com/jackc/pgtype v1.3.1-0.20200606141011-f6355165a91c/go.mod h1:cvk9Bgu/VzJ9/lxTO5R5sf80p0DiucVtN7ZxvaC4GmQ= -github.com/jackc/pgtype v1.6.2/go.mod h1:JCULISAZBFGrHaOXIIFiyfzW5VY0GRitRr8NeJsrdig= github.com/jackc/pgtype v1.7.0 h1:6f4kVsW01QftE38ufBYxKciO6gyioXSC0ABIRLcZrGs= github.com/jackc/pgtype v1.7.0/go.mod h1:ZnHF+rMePVqDKaOfJVI4Q8IVvAQMryDlDkZnKOI75BE= -github.com/jackc/pgx v3.2.0+incompatible/go.mod h1:0ZGrqGqkRlliWnWB4zKnWtjbSWbGkVEFm4TeybAXq+I= -github.com/jackc/pgx v3.3.0+incompatible/go.mod h1:0ZGrqGqkRlliWnWB4zKnWtjbSWbGkVEFm4TeybAXq+I= -github.com/jackc/pgx v3.5.0+incompatible/go.mod h1:0ZGrqGqkRlliWnWB4zKnWtjbSWbGkVEFm4TeybAXq+I= -github.com/jackc/pgx v3.6.2+incompatible h1:2zP5OD7kiyR3xzRYMhOcXVvkDZsImVXfj+yIyTQf3/o= -github.com/jackc/pgx v3.6.2+incompatible/go.mod h1:0ZGrqGqkRlliWnWB4zKnWtjbSWbGkVEFm4TeybAXq+I= github.com/jackc/pgx/v4 v4.0.0-20190420224344-cc3461e65d96/go.mod h1:mdxmSJJuR08CZQyj1PVQBHy9XOp5p8/SHH6a0psbY9Y= github.com/jackc/pgx/v4 v4.0.0-20190421002000-1b8f0016e912/go.mod h1:no/Y67Jkk/9WuGR0JG/JseM9irFbnEPbuWV2EELPNuM= github.com/jackc/pgx/v4 v4.0.0-pre1.0.20190824185557-6972a5742186/go.mod h1:X+GQnOEnf1dqHGpw7JmHqHc1NxDoalibchSk9/RWuDc= github.com/jackc/pgx/v4 v4.5.0/go.mod h1:EpAKPLdnTorwmPUUsqrPxy5fphV18j9q3wrfRXgo+kA= -github.com/jackc/pgx/v4 v4.6.0/go.mod h1:vPh43ZzxijXUVJ+t/EmXBtFmbFVO72cuneCT9oAlxAg= github.com/jackc/pgx/v4 v4.6.1-0.20200510190926-94ba730bb1e9/go.mod h1:t3/cdRQl6fOLDxqtlyhe9UWgfIi9R8+8v8GKV5TRA/o= github.com/jackc/pgx/v4 v4.6.1-0.20200606145419-4e5062306904/go.mod h1:ZDaNWkt9sW1JMiNn0kdYBaLelIhw7Pg4qd+Vk6tw7Hg= -github.com/jackc/pgx/v4 v4.10.1/go.mod h1:QlrWebbs3kqEZPHCTGyxecvzG6tvIsYu+A5b1raylkA= github.com/jackc/pgx/v4 v4.11.0 h1:J86tSWd3Y7nKjwT/43xZBvpi04keQWx8gNC2YkdJhZI= github.com/jackc/pgx/v4 v4.11.0/go.mod h1:i62xJgdrtVDsnL3U8ekyrQXEwGNTRoG7/8r+CIdYfcc= github.com/jackc/puddle v0.0.0-20190413234325-e4ced69a3a2b/go.mod h1:m4B5Dj62Y0fbyuIc15OsIqK0+JU8nkqQjsgx7dvjSWk= @@ -882,13 +375,10 @@ github.com/jackc/puddle v0.0.0-20190608224051-11cab39313c9/go.mod h1:m4B5Dj62Y0f github.com/jackc/puddle v1.1.0/go.mod h1:m4B5Dj62Y0fbyuIc15OsIqK0+JU8nkqQjsgx7dvjSWk= github.com/jackc/puddle v1.1.1/go.mod h1:m4B5Dj62Y0fbyuIc15OsIqK0+JU8nkqQjsgx7dvjSWk= github.com/jackc/puddle v1.1.3/go.mod h1:m4B5Dj62Y0fbyuIc15OsIqK0+JU8nkqQjsgx7dvjSWk= -github.com/jellevandenhooff/dkim v0.0.0-20150330215556-f50fe3d243e1/go.mod h1:E0B/fFc00Y+Rasa88328GlI/XbtyysCtTHZS8h7IrBU= github.com/jmespath/go-jmespath v0.0.0-20180206201540-c2b33e8439af/go.mod h1:Nht3zPeWKUH0NzdCt2Blrr5ys8VGpn0CEB0cQHVjt7k= -github.com/jmoiron/sqlx v0.0.0-20180614180643-0dae4fefe7c0/go.mod h1:IiEW3SEiiErVyFdH8NTuWjSifiEQKUoyK3LNqr2kCHU= github.com/jmoiron/sqlx v1.2.0/go.mod h1:1FEQNm3xlJgrMD+FBdI9+xvCksHtbpVBBw5dYhBSsks= github.com/jmoiron/sqlx v1.3.3 h1:j82X0bf7oQ27XeqxicSZsTU5suPwKElg3oyxNn43iTk= github.com/jmoiron/sqlx v1.3.3/go.mod h1:2BljVx/86SuTyjE+aPYlHCTNvZrnJXghYGpNiXLBMCQ= -github.com/joho/godotenv v1.2.0/go.mod h1:7hK45KPybAkOC6peb+G5yklZfMxEjkZhHbwpqxOKXbg= github.com/joho/godotenv v1.3.0 h1:Zjp+RcGpHhGlrMbJzXTrZZPrWj+1vfm90La1wgB6Bhc= github.com/joho/godotenv v1.3.0/go.mod h1:7hK45KPybAkOC6peb+G5yklZfMxEjkZhHbwpqxOKXbg= github.com/jonboulle/clockwork v0.1.0/go.mod h1:Ii8DK3G1RaLaWxj9trq07+26W01tbo22gdxWY5EU2bo= @@ -898,17 +388,8 @@ github.com/json-iterator/go v1.1.8/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/u github.com/json-iterator/go v1.1.11/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU= github.com/jstemmer/go-junit-report v0.9.1/go.mod h1:Brl9GWCQeLvo8nXZwPNNblvFj/XSXhF0NWZEnDohbsk= -github.com/jtolds/gls v4.20.0+incompatible h1:xdiiI2gbIgH/gLH7ADydsJ1uDOEzR8yvV7C0MuV77Wo= github.com/jtolds/gls v4.20.0+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU= github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w= -github.com/karrick/godirwalk v1.7.5/go.mod h1:2c9FRhkDxdIbgkOnCEvnSWs71Bhugbl46shStcFDJ34= -github.com/karrick/godirwalk v1.7.7/go.mod h1:2c9FRhkDxdIbgkOnCEvnSWs71Bhugbl46shStcFDJ34= -github.com/karrick/godirwalk v1.7.8/go.mod h1:2c9FRhkDxdIbgkOnCEvnSWs71Bhugbl46shStcFDJ34= -github.com/karrick/godirwalk v1.8.0/go.mod h1:H5KPZjojv4lE+QYImBI8xVtrBRgYrIVsaRPx4tDPEn4= -github.com/karrick/godirwalk v1.10.3/go.mod h1:RoGL9dQei4vP9ilrpETWE8CLOZ1kiN0LhBygSwrAsHA= -github.com/karrick/godirwalk v1.10.12/go.mod h1:RoGL9dQei4vP9ilrpETWE8CLOZ1kiN0LhBygSwrAsHA= -github.com/karrick/godirwalk v1.12.0/go.mod h1:H5KPZjojv4lE+QYImBI8xVtrBRgYrIVsaRPx4tDPEn4= -github.com/karrick/godirwalk v1.15.2/go.mod h1:j4mkqPuvaLI8mp1DroR3P6ad7cyYd4c1qeJ3RV7ULlk= github.com/karrick/godirwalk v1.15.3/go.mod h1:j4mkqPuvaLI8mp1DroR3P6ad7cyYd4c1qeJ3RV7ULlk= github.com/karrick/godirwalk v1.15.8/go.mod h1:j4mkqPuvaLI8mp1DroR3P6ad7cyYd4c1qeJ3RV7ULlk= github.com/karrick/godirwalk v1.16.1 h1:DynhcF+bztK8gooS0+NDJFrdNZjJ3gzVzC545UNA9iw= @@ -918,7 +399,6 @@ github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51/go.mod h1:C github.com/kisielk/errcheck v1.1.0/go.mod h1:EZBBE59ingxPouuu3KfxchcWSUPOHkagtvWXihfKN4Q= github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/konsorten/go-windows-terminal-sequences v0.0.0-20180402223658-b729f2633dfe/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= github.com/konsorten/go-windows-terminal-sequences v1.0.2/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= github.com/kr/fs v0.1.0/go.mod h1:FFnZGqtBN9Gxj7eW1uZ42v5BccTP0vu6NEaFoC2HwRg= @@ -927,7 +407,6 @@ github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORN github.com/kr/pretty v0.2.0 h1:s5hAObm+yFO5uHYt5dYjxi2rXrsnmRpJx4OYvIWUaQs= github.com/kr/pretty v0.2.0/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= -github.com/kr/pty v1.1.3/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= github.com/kr/pty v1.1.8/go.mod h1:O1sed60cT9XZ5uDucP5qwvh+TE3NnUj51EiZO/lmSfw= github.com/kr/text v0.1.0 h1:45sCR5RtlFHMR4UwH9sdQ5TC8v0qDQCHnXt+kaKSTVE= github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= @@ -943,53 +422,20 @@ github.com/luna-duclos/instrumentedsql v1.1.3 h1:t7mvC0z1jUt5A0UQ6I/0H31ryymuQRn github.com/luna-duclos/instrumentedsql v1.1.3/go.mod h1:9J1njvFds+zN7y85EDhN9XNQLANWwZt2ULeIC8yMNYs= github.com/lyft/protoc-gen-validate v0.0.13/go.mod h1:XbGvPuh87YZc5TdIa2/I4pLk0QoUACkjt2znoq26NVQ= github.com/magiconair/properties v1.8.0/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ= -github.com/magiconair/properties v1.8.1/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ= -github.com/magiconair/properties v1.8.5 h1:b6kJs+EmPFMYGkow9GiUyCyOvIwYetYJ3fSaWak/Gls= github.com/magiconair/properties v1.8.5/go.mod h1:y3VJvCyxH9uVvJTWEGAELF3aiYNyPKd5NZ3oSwXrF60= -github.com/markbates/deplist v1.0.4/go.mod h1:gRRbPbbuA8TmMiRvaOzUlRfzfjeCCBqX2A6arxN01MM= -github.com/markbates/deplist v1.0.5/go.mod h1:gRRbPbbuA8TmMiRvaOzUlRfzfjeCCBqX2A6arxN01MM= -github.com/markbates/deplist v1.1.3/go.mod h1:BF7ioVzAJYEtzQN/os4rt8H8Ti3h0T7EoN+7eyALktE= -github.com/markbates/deplist v1.2.0/go.mod h1:dtsWLZ5bWoazbM0rCxZncQaAPifWbvHgBJk8UNI1Yfk= -github.com/markbates/deplist v1.3.0/go.mod h1:dtsWLZ5bWoazbM0rCxZncQaAPifWbvHgBJk8UNI1Yfk= github.com/markbates/errx v1.1.0 h1:QDFeR+UP95dO12JgW+tgi2UVfo0V8YBHiUIOaeBPiEI= github.com/markbates/errx v1.1.0/go.mod h1:PLa46Oex9KNbVDZhKel8v1OT7hD5JZ2eI7AHhA0wswc= -github.com/markbates/going v1.0.2/go.mod h1:UWCk3zm0UKefHZ7l8BNqi26UyiEMniznk8naLdTcy6c= -github.com/markbates/going v1.0.3/go.mod h1:fQiT6v6yQar9UD6bd/D4Z5Afbk9J6BBVBtLiyY4gp2o= -github.com/markbates/grift v1.0.4/go.mod h1:wbmtW74veyx+cgfwFhlnnMWqhoz55rnHR47oMXzsyVs= -github.com/markbates/grift v1.0.5/go.mod h1:EHmVIjOQoj/OOBDzlZ8RW0ZkvOtQ4xRHjrPvmfoiFaU= -github.com/markbates/grift v1.0.6/go.mod h1:2AUYA/+pODhwonRbYwsltPVPIztBzw5nIJEGiWgKMPM= -github.com/markbates/grift v1.1.0/go.mod h1:8N7ybWEcnMOvtSb0kW+dLJpYii9eq/FP3Gtu/cNPDTY= github.com/markbates/grift v1.5.0 h1:CZyK0k+8BdhQMgbwzuKMysC12y4tf9H004jAs/FutX4= github.com/markbates/grift v1.5.0/go.mod h1:1ssFm5gSGmzTkhi3Wfh/nqlU74J73TlAjoDMttQbpfY= -github.com/markbates/hmax v1.0.0/go.mod h1:cOkR9dktiESxIMu+65oc/r/bdY4bE8zZw3OLhLx0X2c= -github.com/markbates/hmax v1.1.0/go.mod h1:hhn8pJiRwNTEmNlxhfiTbL+CtEYiAX3wuhSf/kg/6wI= -github.com/markbates/inflect v1.0.0/go.mod h1:oTeZL2KHA7CUX6X+fovmK9OvIOFuqu0TwdQrZjLTh88= -github.com/markbates/inflect v1.0.1/go.mod h1:uv3UVNBe5qBIfCm8O8Q+DW+S1EopeyINj+Ikhc7rnCk= -github.com/markbates/inflect v1.0.3/go.mod h1:1fR9+pO2KHEO9ZRtto13gDwwZaAKstQzferVeWqbgNs= -github.com/markbates/inflect v1.0.4/go.mod h1:1fR9+pO2KHEO9ZRtto13gDwwZaAKstQzferVeWqbgNs= -github.com/markbates/oncer v0.0.0-20180924031910-e862a676800b/go.mod h1:Ld9puTsIW75CHf65OeIOkyKbteujpZVXDpWK6YGZbxE= -github.com/markbates/oncer v0.0.0-20180924034138-723ad0170a46/go.mod h1:Ld9puTsIW75CHf65OeIOkyKbteujpZVXDpWK6YGZbxE= -github.com/markbates/oncer v0.0.0-20181014194634-05fccaae8fc4/go.mod h1:Ld9puTsIW75CHf65OeIOkyKbteujpZVXDpWK6YGZbxE= -github.com/markbates/oncer v0.0.0-20181203154359-bf2de49a0be2/go.mod h1:Ld9puTsIW75CHf65OeIOkyKbteujpZVXDpWK6YGZbxE= github.com/markbates/oncer v1.0.0 h1:E83IaVAHygyndzPimgUYJjbshhDTALZyXxvk9FOlQRY= github.com/markbates/oncer v1.0.0/go.mod h1:Z59JA581E9GP6w96jai+TGqafHPW+cPfRxz2aSZ0mcI= -github.com/markbates/refresh v1.4.10/go.mod h1:NDPHvotuZmTmesXxr95C9bjlw1/0frJwtME2dzcVKhc= -github.com/markbates/refresh v1.4.11/go.mod h1:awpJuyo4zgexB/JaHfmBX0sRdvOjo2dXwIayWIz9i3g= -github.com/markbates/refresh v1.5.0/go.mod h1:ZYMLkxV+x7wXQ2Xd7bXAPyF0EXiEWAMfiy/4URYb1+M= -github.com/markbates/refresh v1.6.0/go.mod h1:p8jWGABFUaFf/cSw0pxbo0MQVujiz5NTQ0bmCHLC4ac= -github.com/markbates/refresh v1.7.1/go.mod h1:hcGVJc3m5EeskliwSVJxcTHzUtMz2h8gBtCS0V94CgE= -github.com/markbates/refresh v1.8.0/go.mod h1:ppl0l94oz3OKBAx3MV65vCDWPo51JQnypdtFUmps1NM= -github.com/markbates/refresh v1.10.0/go.mod h1:txAFIPNbphfNCZELWAQ440wIKnmZKRX64TBdKiAMWfg= github.com/markbates/refresh v1.11.1 h1:DaCu+K4Mx5Z48FRBLDlsxldFETsqe20JgLFDMQuaIfE= github.com/markbates/refresh v1.11.1/go.mod h1:bqXClKcAcW8FF7N8nNR6Vl9m14+qGSL4MQjsVQJKDUc= -github.com/markbates/safe v1.0.0/go.mod h1:nAqgmRi7cY2nqMc92/bSEeQA+R4OheNU2T1kNSCBdG0= github.com/markbates/safe v1.0.1 h1:yjZkbvRM6IzKj9tlu/zMJLS0n/V351OZWRnF3QfaUxI= github.com/markbates/safe v1.0.1/go.mod h1:nAqgmRi7cY2nqMc92/bSEeQA+R4OheNU2T1kNSCBdG0= github.com/markbates/sigtx v1.0.0 h1:y/xtkBvNPRjD4KeEplf4w9rJVSc23/xl+jXYGowTwy0= github.com/markbates/sigtx v1.0.0/go.mod h1:QF1Hv6Ic6Ca6W+T+DL0Y/ypborFKyvUY9HmuCD4VeTc= -github.com/markbates/willie v1.0.9/go.mod h1:fsrFVWl91+gXpx/6dv715j7i11fYPfZ9ZGfH0DQzY7w= github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU= -github.com/mattn/go-colorable v0.1.0/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU= github.com/mattn/go-colorable v0.1.1/go.mod h1:FuOcm+DKB9mbwrcAfNl7/TZVBZ6rcnceauSikq3lYCQ= github.com/mattn/go-colorable v0.1.2/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE= github.com/mattn/go-colorable v0.1.4/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE= @@ -1002,18 +448,15 @@ github.com/mattn/go-isatty v0.0.5/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hd github.com/mattn/go-isatty v0.0.7/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s= github.com/mattn/go-isatty v0.0.8/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s= github.com/mattn/go-isatty v0.0.9/go.mod h1:YNRxwqDuOph6SZLI9vUUz6OYw3QyUt7WiY2yME+cCiQ= -github.com/mattn/go-isatty v0.0.10/go.mod h1:qgIWMr58cqv1PHHyhnkY9lrL7etaEgOFcMEpPG5Rm84= github.com/mattn/go-isatty v0.0.11/go.mod h1:PhnuNfih5lzO57/f3n+odYbM4JtupLOxQOAqxQCu2WE= github.com/mattn/go-isatty v0.0.12 h1:wuysRhFDzyxgEmMf5xjvJ2M9dZoWAXNNr5LSBS7uHXY= github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU= github.com/mattn/go-runewidth v0.0.2/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU= github.com/mattn/go-sqlite3 v1.9.0/go.mod h1:FPy6KqzDD04eiIsT53CuJW3U88zkxoIYsOqkbpncsNc= -github.com/mattn/go-sqlite3 v1.10.0/go.mod h1:FPy6KqzDD04eiIsT53CuJW3U88zkxoIYsOqkbpncsNc= github.com/mattn/go-sqlite3 v1.14.6/go.mod h1:NyWgC/yNuGj7Q9rpYnZvas74GogHl5/Z4A/KQRfk6bU= github.com/mattn/go-sqlite3 v2.0.3+incompatible h1:gXHsfypPkaMZrKbD5209QV9jbUTJKjyR5WD3HYQSd+U= github.com/mattn/go-sqlite3 v2.0.3+incompatible/go.mod h1:FPy6KqzDD04eiIsT53CuJW3U88zkxoIYsOqkbpncsNc= github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= -github.com/microcosm-cc/bluemonday v1.0.1/go.mod h1:hsXNsILzKxV+sX77C5b8FSuKF00vh2OMYv+xgHpAMF4= github.com/microcosm-cc/bluemonday v1.0.2 h1:5lPfLTTAvAbtS0VqT+94yOtFnGfUWYyx0+iToC3Os3s= github.com/microcosm-cc/bluemonday v1.0.2/go.mod h1:iVP4YcDBq+n/5fb23BhYFvIMq/leAFZyRl6bYmGDlGc= github.com/miekg/dns v1.0.14/go.mod h1:W1PPwlIAgtquWBMBEV9nkV9Cazfe8ScdGz/Lj7v3Nrg= @@ -1025,19 +468,12 @@ github.com/mitchellh/go-testing-interface v1.0.0/go.mod h1:kRemZodwjscx+RGhAo8eI github.com/mitchellh/gox v0.4.0/go.mod h1:Sd9lOJ0+aimLBi73mGofS1ycjY8lL3uZM3JPS42BGNg= github.com/mitchellh/iochan v1.0.0/go.mod h1:JwYml1nuB7xOzsp52dPpHFffvOCDupsG0QubkSMEySY= github.com/mitchellh/mapstructure v0.0.0-20160808181253-ca63d7c062ee/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= -github.com/mitchellh/mapstructure v1.0.0/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= -github.com/mitchellh/mapstructure v1.4.1 h1:CpVNEelQCZBooIPDn+AR3NpivK/TIKU8bDxdASFVQag= github.com/mitchellh/mapstructure v1.4.1/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= -github.com/monoculum/formam v0.0.0-20180901015400-4e68be1d79ba/go.mod h1:RKgILGEJq24YyJ2ban8EO0RUVSJlF1pGsEvoLEACr/Q= -github.com/monoculum/formam v0.0.0-20190307031628-bc555adff0cd/go.mod h1:JKa2av1XVkGjhxdLS59nDoXa2JpmIHpnURWNbzCtXtc= -github.com/monoculum/formam v0.0.0-20190730134247-0612307a4099/go.mod h1:JKa2av1XVkGjhxdLS59nDoXa2JpmIHpnURWNbzCtXtc= -github.com/monoculum/formam v0.0.0-20190830100315-7ff9597b1407/go.mod h1:JKa2av1XVkGjhxdLS59nDoXa2JpmIHpnURWNbzCtXtc= -github.com/monoculum/formam v0.0.0-20191229172733-952f0766a724/go.mod h1:JKa2av1XVkGjhxdLS59nDoXa2JpmIHpnURWNbzCtXtc= github.com/monoculum/formam v0.0.0-20210523135142-1af3317b7b9b h1:uW2/EKDF9aqxF4+MozaKxL1ROmc8FX5BeTrTKpr9+Vo= github.com/monoculum/formam v0.0.0-20210523135142-1af3317b7b9b/go.mod h1:JKa2av1XVkGjhxdLS59nDoXa2JpmIHpnURWNbzCtXtc= github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= @@ -1048,33 +484,19 @@ github.com/nats-io/nats.go v1.9.1/go.mod h1:ZjDU1L/7fJ09jvUSRVBR2e7+RnLiiIQyqyzE github.com/nats-io/nkeys v0.1.0/go.mod h1:xpnFELMwJABBLVhffcfd1MZx6VsNRFpEugbxziKVo7w= github.com/nats-io/nkeys v0.1.3/go.mod h1:xpnFELMwJABBLVhffcfd1MZx6VsNRFpEugbxziKVo7w= github.com/nats-io/nuid v1.0.1/go.mod h1:19wcPz3Ph3q0Jbyiqsd0kePYG7A95tJPxeL+1OSON2c= -github.com/neelance/astrewrite v0.0.0-20160511093645-99348263ae86/go.mod h1:kHJEU3ofeGjhHklVoIGuVj85JJwZ6kWPaJwCIxgnFmo= -github.com/neelance/sourcemap v0.0.0-20151028013722-8c68805598ab/go.mod h1:Qr6/a/Q4r9LP1IltGz7tA7iOK1WonHEYhu1HRBA7ZiM= -github.com/nicksnyder/go-i18n v1.10.0/go.mod h1:HrK7VCrbOvQoUAQ7Vpy7i87N7JZZZ7R2xBGjv0j365Q= github.com/oklog/oklog v0.3.2/go.mod h1:FCV+B7mhrz4o+ueLpx+KqkyXRGMWOYEvfiXtdGtbWGs= github.com/oklog/run v1.0.0/go.mod h1:dlhp/R75TPv97u0XWUtDeV/lRKWPKSdTuV0TZvrmrQA= github.com/oklog/ulid v1.3.1/go.mod h1:CirwcVhetQ6Lv90oh/F+FBtV6XMibvdAFo93nm5qn4U= github.com/olekukonko/tablewriter v0.0.0-20170122224234-a0225b3f23b5/go.mod h1:vsDQFd/mU46D+Z4whnwzcISnGGzXWMclvtLoiIKAKIo= github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/ginkgo v1.7.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= -github.com/onsi/ginkgo v1.8.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= -github.com/onsi/ginkgo v1.9.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= -github.com/onsi/ginkgo v1.10.1/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= -github.com/onsi/ginkgo v1.10.3/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= -github.com/onsi/gomega v1.4.1/go.mod h1:C1qb7wdrVGGVU+Z6iS04AVkA3Q65CEZX59MT0QO5uiA= -github.com/onsi/gomega v1.4.2/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= github.com/onsi/gomega v1.4.3/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= -github.com/onsi/gomega v1.5.0/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= -github.com/onsi/gomega v1.6.0/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= -github.com/onsi/gomega v1.7.0/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= -github.com/onsi/gomega v1.7.1/go.mod h1:XdKZgCCFLUoM/7CFJVPcG8C1xQ1AJ0vpAezJrB7JYyY= github.com/op/go-logging v0.0.0-20160315200505-970db520ece7/go.mod h1:HzydrMdWErDVzsI23lYNej1Htcns9BCg93Dk0bBINWk= github.com/opentracing-contrib/go-observer v0.0.0-20170622124052-a52f23424492/go.mod h1:Ngi6UdF0k5OKD5t5wlmGhe/EDKPoUM3BXZSSfIuJbis= github.com/opentracing/basictracer-go v1.0.0/go.mod h1:QfBfYuafItcjQuMwinw9GhYKwFXS9KnPs5lxoYwgW74= github.com/opentracing/opentracing-go v1.0.2/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o= github.com/opentracing/opentracing-go v1.1.0/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o= github.com/openzipkin-contrib/zipkin-go-opentracing v0.4.5/go.mod h1:/wsWhb9smxSfWAKL3wpBW7V8scJMt8N8gnaMCS9E/cA= -github.com/openzipkin/zipkin-go v0.1.1/go.mod h1:NtoC/o8u3JlF1lSlyPNswIbeQH9bJTmOf0Erfk+hxe8= github.com/openzipkin/zipkin-go v0.1.6/go.mod h1:QgAqvLzwWbR/WpD4A3cGpPtJrZXNIiJc5AZX7/PBEpw= github.com/openzipkin/zipkin-go v0.2.1/go.mod h1:NaW6tEwdmWMaCDZzg8sh+IBNOxHMPnhQw8ySjnjRyN4= github.com/openzipkin/zipkin-go v0.2.2/go.mod h1:NaW6tEwdmWMaCDZzg8sh+IBNOxHMPnhQw8ySjnjRyN4= @@ -1082,7 +504,6 @@ github.com/pact-foundation/pact-go v1.0.4/go.mod h1:uExwJY4kCzNPcHRj+hCR/HBbOOIw github.com/pascaldekloe/goe v0.0.0-20180627143212-57f6aae5913c/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc= github.com/pborman/uuid v1.2.0/go.mod h1:X/NO0urCmaxf9VXbdlT7C2Yzkj2IKimNn4k+gtPdI/k= github.com/pelletier/go-toml v1.2.0/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/94hg7ilaic= -github.com/pelletier/go-toml v1.9.3 h1:zeC5b1GviRUyKYd6OJPvBU/mcVDVoL1OhT17FCt5dSQ= github.com/pelletier/go-toml v1.9.3/go.mod h1:u1nR/EPcESfeI/szUZKdtJ0xRNbUoANCkoOuaOx1Y+c= github.com/performancecopilot/speed v3.0.0+incompatible/go.mod h1:/CLtqpZ5gBg1M9iaPbIdPPGyKcA8hKdoy6hAWba7Yac= github.com/pierrec/lz4 v1.0.2-0.20190131084431-473cd7ce01a1/go.mod h1:3/3N9NVKO0jef7pBehbT1qWhCMrIgbYNnFAZCqQ5LRc= @@ -1096,7 +517,6 @@ github.com/pkg/sftp v1.10.1/go.mod h1:lYOWFsE0bwd1+KfKJaKeuokY15vzFx25BLbzYYoAxZ 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/posener/complete v1.1.1/go.mod h1:em0nMJCgc9GFtwrmVmEMR/ZL6WyhyjMBndrE9hABlRI= -github.com/prometheus/client_golang v0.8.0/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw= github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw= github.com/prometheus/client_golang v0.9.3-0.20190127221311-3c4408c8b829/go.mod h1:p2iRAGwDERtqlqzRXnrOVns+ignqQo//hLXqYxZYVNs= github.com/prometheus/client_golang v0.9.3/go.mod h1:/TN21ttK/J9q6uSwhBd54HahCDft0ttaMvbicHlPoso= @@ -1107,13 +527,11 @@ github.com/prometheus/client_model v0.0.0-20190115171406-56726106282f/go.mod h1: github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= github.com/prometheus/client_model v0.1.0/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= -github.com/prometheus/common v0.0.0-20180801064454-c7de2306084e/go.mod h1:daVV7qP5qjZbuso7PdcryaAu0sAZbrN9i7WWcTMWvro= github.com/prometheus/common v0.0.0-20181113130724-41aa239b4cce/go.mod h1:daVV7qP5qjZbuso7PdcryaAu0sAZbrN9i7WWcTMWvro= github.com/prometheus/common v0.2.0/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= github.com/prometheus/common v0.4.0/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= github.com/prometheus/common v0.4.1/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= github.com/prometheus/common v0.7.0/go.mod h1:DjGbpBbp5NYNiECxcL/VnbXCCaQpKd3tt26CguLLsqA= -github.com/prometheus/procfs v0.0.0-20180725123919-05ee40e3a273/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= github.com/prometheus/procfs v0.0.0-20190117184657-bf6a532e95b1/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= github.com/prometheus/procfs v0.0.0-20190507164030-5867b95ac084/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= @@ -1123,69 +541,31 @@ github.com/prometheus/tsdb v0.7.1/go.mod h1:qhTCs0VvXwvX/y3TZrWD7rabWM+ijKTux40T github.com/rcrowley/go-metrics v0.0.0-20181016184325-3113b8401b8a/go.mod h1:bCqnVzQkZxMG4s8nGwiZ5l3QUCyqpo9Y+/ZMZ9VjZe4= github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod h1:XWv6SoW27p1b0cqNHllgS5HIMJraePCO15w5zCzIWYg= github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ= -github.com/rogpeppe/go-internal v1.0.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= -github.com/rogpeppe/go-internal v1.1.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= -github.com/rogpeppe/go-internal v1.2.2/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= github.com/rogpeppe/go-internal v1.3.2/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc= -github.com/rogpeppe/go-internal v1.4.0/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc= github.com/rogpeppe/go-internal v1.5.2 h1:qLvObTrvO/XRCqmkKxUlOBc48bI3efyDuAZe25QiF0w= github.com/rogpeppe/go-internal v1.5.2/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc= github.com/rs/xid v1.2.1/go.mod h1:+uKXf+4Djp6Md1KODXJxgGQPKngRmWyn10oCKFzNHOQ= github.com/rs/zerolog v1.13.0/go.mod h1:YbFCdg8HfsridGWAh22vktObvhZbQsZXe4/zB0OKkWU= github.com/rs/zerolog v1.15.0/go.mod h1:xYTKnLHcpfU2225ny5qZjxnj9NvkumZYjJHlAThCjNc= -github.com/russross/blackfriday v1.5.2/go.mod h1:JO/DiYxRf+HjHt06OyowR9PTA263kcR/rfWxYHBV53g= github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= github.com/ryanuber/columnize v0.0.0-20160712163229-9b3edd62028f/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts= github.com/samuel/go-zookeeper v0.0.0-20190923202752-2cc03de413da/go.mod h1:gi+0XIa01GRL2eRQVjQkKGqKF3SF9vZR/HnPullcV2E= github.com/satori/go.uuid v1.2.0/go.mod h1:dA0hQrYB0VpLJoorglMZABFdXlWrHn1NEOzdhQKdks0= github.com/sean-/seed v0.0.0-20170313163322-e2103e2c3529/go.mod h1:DxrIzT+xaE7yg65j358z/aeFdxmN0P9QXhEzd20vsDc= -github.com/serenize/snaker v0.0.0-20171204205717-a683aaf2d516/go.mod h1:Yow6lPLSAXx2ifx470yD/nUe22Dv5vBvxK/UK9UUTVs= github.com/sergi/go-diff v1.0.0/go.mod h1:0CfEIISq7TuYL3j771MWULgwwjU+GofnZX9QAmXWZgo= github.com/sergi/go-diff v1.1.0 h1:we8PVUC3FE2uYfodKH/nBHMSetSfHDR6scGdBi+erh0= github.com/sergi/go-diff v1.1.0/go.mod h1:STckp+ISIX8hZLjrqAeVduY0gWCT9IjLuqbuNXdaHfM= github.com/shopspring/decimal v0.0.0-20180709203117-cd690d0c9e24/go.mod h1:M+9NzErvs504Cn4c5DxATwIqPbtswREoFCre64PpcG4= github.com/shopspring/decimal v0.0.0-20200227202807-02e2044944cc h1:jUIKcSPO9MoMJBbEoyE/RJoE8vz7Mb8AjvifMMwSyvY= github.com/shopspring/decimal v0.0.0-20200227202807-02e2044944cc/go.mod h1:DKyhrW/HYNuLGql+MJL6WCR6knT2jwCFRcu2hWCYk4o= -github.com/shurcooL/component v0.0.0-20170202220835-f88ec8f54cc4/go.mod h1:XhFIlyj5a1fBNx5aJTbKoIq0mNaPvOagO+HjB3EtxrY= -github.com/shurcooL/events v0.0.0-20181021180414-410e4ca65f48/go.mod h1:5u70Mqkb5O5cxEA8nxTsgrgLehJeAw6Oc4Ab1c/P1HM= -github.com/shurcooL/github_flavored_markdown v0.0.0-20181002035957-2122de532470/go.mod h1:2dOwnU2uBioM+SGy2aZoq1f/Sd1l9OkAeAUvjSyvgU0= -github.com/shurcooL/go v0.0.0-20180423040247-9e1955d9fb6e/go.mod h1:TDJrrUr11Vxrven61rcy3hJMUqaf/CLWYhHNPmT14Lk= -github.com/shurcooL/go-goon v0.0.0-20170922171312-37c2f522c041/go.mod h1:N5mDOmsrJOB+vfqUK+7DmDyjhSLIIBnXo9lvZJj3MWQ= -github.com/shurcooL/gofontwoff v0.0.0-20180329035133-29b52fc0a18d/go.mod h1:05UtEgK5zq39gLST6uB0cf3NEHjETfB4Fgr3Gx5R9Vw= -github.com/shurcooL/gopherjslib v0.0.0-20160914041154-feb6d3990c2c/go.mod h1:8d3azKNyqcHP1GaQE/c6dDgjkgSx2BZ4IoEi4F1reUI= -github.com/shurcooL/highlight_diff v0.0.0-20170515013008-09bb4053de1b/go.mod h1:ZpfEhSmds4ytuByIcDnOLkTHGUI6KNqRNPDLHDk+mUU= -github.com/shurcooL/highlight_go v0.0.0-20170515013102-78fb10f4a5f8/go.mod h1:UDKB5a1T23gOMUJrI+uSuH0VRDStOiUVSjBTRDVBVag= -github.com/shurcooL/highlight_go v0.0.0-20181028180052-98c3abbbae20/go.mod h1:UDKB5a1T23gOMUJrI+uSuH0VRDStOiUVSjBTRDVBVag= -github.com/shurcooL/home v0.0.0-20181020052607-80b7ffcb30f9/go.mod h1:+rgNQw2P9ARFAs37qieuu7ohDNQ3gds9msbT2yn85sg= -github.com/shurcooL/htmlg v0.0.0-20170918183704-d01228ac9e50/go.mod h1:zPn1wHpTIePGnXSHpsVPWEktKXHr6+SS6x/IKRb7cpw= -github.com/shurcooL/httperror v0.0.0-20170206035902-86b7830d14cc/go.mod h1:aYMfkZ6DWSJPJ6c4Wwz3QtW22G7mf/PEgaB9k/ik5+Y= -github.com/shurcooL/httpfs v0.0.0-20171119174359-809beceb2371/go.mod h1:ZY1cvUeJuFPAdZ/B6v7RHavJWZn2YPVFQ1OSXhCGOkg= -github.com/shurcooL/httpgzip v0.0.0-20180522190206-b1c53ac65af9/go.mod h1:919LwcH0M7/W4fcZ0/jy0qGght1GIhqyS/EgWGH2j5Q= -github.com/shurcooL/issues v0.0.0-20181008053335-6292fdc1e191/go.mod h1:e2qWDig5bLteJ4fwvDAc2NHzqFEthkqn7aOZAOpj+PQ= -github.com/shurcooL/issuesapp v0.0.0-20180602232740-048589ce2241/go.mod h1:NPpHK2TI7iSaM0buivtFUc9offApnI0Alt/K8hcHy0I= -github.com/shurcooL/notifications v0.0.0-20181007000457-627ab5aea122/go.mod h1:b5uSkrEVM1jQUspwbixRBhaIjIzL2xazXp6kntxYle0= -github.com/shurcooL/octicon v0.0.0-20180602230221-c42b0e3b24d9/go.mod h1:eWdoE5JD4R5UVWDucdOPg1g2fqQRq78IQa9zlOV1vpQ= -github.com/shurcooL/octicon v0.0.0-20181028054416-fa4f57f9efb2/go.mod h1:eWdoE5JD4R5UVWDucdOPg1g2fqQRq78IQa9zlOV1vpQ= -github.com/shurcooL/reactions v0.0.0-20181006231557-f2e0b4ca5b82/go.mod h1:TCR1lToEk4d2s07G3XGfz2QrgHXg4RJBvjrOozvoWfk= -github.com/shurcooL/sanitized_anchor_name v0.0.0-20170918181015-86672fcb3f95/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc= github.com/shurcooL/sanitized_anchor_name v1.0.0/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc= -github.com/shurcooL/users v0.0.0-20180125191416-49c67e49c537/go.mod h1:QJTqeLYEDaXHZDBsXlPCDqdhQuJkuw4NOtaxYe3xii4= -github.com/shurcooL/webdavfs v0.0.0-20170829043945-18c3829fa133/go.mod h1:hKmq5kWdCj2z2KEozexVbfEZIWiTjhE0+UjmZgPqehw= -github.com/sirupsen/logrus v1.0.6/go.mod h1:pMByvHTf9Beacp5x1UXfOR9xyW/9antXMhjMPG0dEzc= -github.com/sirupsen/logrus v1.1.0/go.mod h1:zrgwTnHtNr00buQ1vSptGe8m1f/BbgsPukg8qsT7A+A= -github.com/sirupsen/logrus v1.1.1/go.mod h1:zrgwTnHtNr00buQ1vSptGe8m1f/BbgsPukg8qsT7A+A= github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= -github.com/sirupsen/logrus v1.3.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= -github.com/sirupsen/logrus v1.4.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= github.com/sirupsen/logrus v1.4.1/go.mod h1:ni0Sbl8bgC9z8RoU9G6nDWqqs/fq4eDPysMBDgk/93Q= github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE= -github.com/sirupsen/logrus v1.5.0/go.mod h1:+F7Ogzej0PZc/94MaYx/nvG9jOFMD2osvC3s+Squfpo= github.com/sirupsen/logrus v1.8.1 h1:dJKuHgqk1NNQlqoA6BTlM1Wf9DOH3NBjQyu0h9+AZZE= github.com/sirupsen/logrus v1.8.1/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= -github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d h1:zE9ykElWQ6/NYmHa3jpm/yHnI4xSofP+UP6SpjHcSeM= github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc= -github.com/smartystreets/goconvey v1.6.4 h1:fv0U8FUIMPNf1L9lnHLvLhgicrIVChEkdzIKYqbNC9s= github.com/smartystreets/goconvey v1.6.4/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA= github.com/soheilhy/cmux v0.1.4/go.mod h1:IM3LyeVVIOuxMH7sFAkER9+bJ4dT7Ms6E4xg4kGIyLM= github.com/sony/gobreaker v0.4.1/go.mod h1:ZKptC7FHNvhBz7dN2LGjPVBz2sZJmc0/PkyDJOjmxWY= @@ -1195,44 +575,27 @@ github.com/sourcegraph/syntaxhighlight v0.0.0-20170531221838-bd320f5d308e h1:qpG github.com/sourcegraph/syntaxhighlight v0.0.0-20170531221838-bd320f5d308e/go.mod h1:HuIsMU8RRBOtsCgI77wP899iHVBQpCmg4ErYMZB+2IA= github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= github.com/spf13/afero v1.1.2/go.mod h1:j4pytiNVoe2o6bmDsKpLACNPDBIoEAkihy7loJ1B0CQ= -github.com/spf13/afero v1.2.0/go.mod h1:9ZxEEn6pIJ8Rxe320qSDBk6AsU0r9pR7Q4OcevTdifk= -github.com/spf13/afero v1.2.1/go.mod h1:9ZxEEn6pIJ8Rxe320qSDBk6AsU0r9pR7Q4OcevTdifk= -github.com/spf13/afero v1.6.0 h1:xoax2sJ2DT8S8xA2paPFjDCScCNeWsg75VG0DLRreiY= github.com/spf13/afero v1.6.0/go.mod h1:Ai8FlHk4v/PARR026UzYexafAt9roJ7LcLMAmO6Z93I= -github.com/spf13/cast v1.2.0/go.mod h1:r2rcYCSwa1IExKTDiTfzaxqT2FNHs8hODu4LnUfgKEg= github.com/spf13/cast v1.3.0/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= -github.com/spf13/cast v1.3.1 h1:nFm6S0SMdyzrzcmThSipiEubIDy8WEXKNZ0UOgiRpng= github.com/spf13/cast v1.3.1/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= github.com/spf13/cobra v0.0.3/go.mod h1:1l0Ry5zgKvJasoi3XT1TypsSe7PqH0Sj9dhYf7v3XqQ= -github.com/spf13/cobra v0.0.4/go.mod h1:3K3wKZymM7VvHMDS9+Akkh4K60UwM26emMESw8tLCHU= -github.com/spf13/cobra v0.0.5/go.mod h1:3K3wKZymM7VvHMDS9+Akkh4K60UwM26emMESw8tLCHU= github.com/spf13/cobra v0.0.6/go.mod h1:/6GTrnGXV9HjY+aR4k0oJ5tcvakLuG6EuKReYlHNrgE= -github.com/spf13/cobra v1.1.3/go.mod h1:pGADOWyqRD/YMrPZigI/zbliZ2wVD/23d+is3pSWzOo= github.com/spf13/cobra v1.2.1 h1:+KmjbUw1hriSNMF55oPrkZcb27aECyrj8V2ytv7kWDw= github.com/spf13/cobra v1.2.1/go.mod h1:ExllRjgxM/piMAM+3tAZvg8fsklGAf3tPfi+i8t68Nk= github.com/spf13/jwalterweatherman v1.0.0/go.mod h1:cQK4TGJAtQXfYWX+Ddv3mKDzgVb68N+wFjFa4jdeBTo= -github.com/spf13/jwalterweatherman v1.1.0 h1:ue6voC5bR5F8YxI5S67j9i582FU4Qvo2bmqnqMYADFk= github.com/spf13/jwalterweatherman v1.1.0/go.mod h1:aNWZUN0dPAAO/Ljvb5BEdw96iTZ0EXowPYD95IqWIGo= github.com/spf13/pflag v1.0.1/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= -github.com/spf13/pflag v1.0.2/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= github.com/spf13/pflag v1.0.3/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= -github.com/spf13/viper v1.2.1/go.mod h1:P4AexN0a+C9tGAnUFNwDMYYZv3pjFuvmeiMyKRaNVlI= -github.com/spf13/viper v1.3.0/go.mod h1:ZiWeW+zYFKm7srdB9IoDzzZXaJaI5eL9QjNiN/DMA2s= -github.com/spf13/viper v1.3.1/go.mod h1:ZiWeW+zYFKm7srdB9IoDzzZXaJaI5eL9QjNiN/DMA2s= -github.com/spf13/viper v1.3.2/go.mod h1:ZiWeW+zYFKm7srdB9IoDzzZXaJaI5eL9QjNiN/DMA2s= github.com/spf13/viper v1.4.0/go.mod h1:PTJ7Z/lr49W6bUbkmS1V3by4uWynFiR9p7+dSq/yZzE= -github.com/spf13/viper v1.6.2/go.mod h1:t3iDnF5Jlj76alVNuyFBk5oUMCvsrkbvZK0WQdfDi5k= -github.com/spf13/viper v1.7.0/go.mod h1:8WkrPz2fc9jxqZNCJI/76HCieCp4Q8HaLFoCha5qpdg= -github.com/spf13/viper v1.7.1/go.mod h1:8WkrPz2fc9jxqZNCJI/76HCieCp4Q8HaLFoCha5qpdg= -github.com/spf13/viper v1.8.1 h1:Kq1fyeebqsBfbjZj4EL7gj2IO0mMaiyjYUWcUsl2O44= github.com/spf13/viper v1.8.1/go.mod h1:o0Pch8wJ9BVSWGQMbra6iw0oQ5oktSIBaujf1rJH9Ns= github.com/streadway/amqp v0.0.0-20190404075320-75d898a42a94/go.mod h1:AZpEONHx3DKn8O/DFsRAY58/XVQiIPMTMB1SddzLXVw= github.com/streadway/amqp v0.0.0-20190827072141-edfb9018d271/go.mod h1:AZpEONHx3DKn8O/DFsRAY58/XVQiIPMTMB1SddzLXVw= github.com/streadway/handy v0.0.0-20190108123426-d5acb3125c2a/go.mod h1:qNTQ5P5JnDBl6z3cMAg/SywNDC5ABu5ApDIw6lUbRmI= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= +github.com/stretchr/objx v0.2.0 h1:Hbg2NidpLE8veEBkEZTL3CvlkUIVzuU9jDplZO54c48= github.com/stretchr/objx v0.2.0/go.mod h1:qt09Ya8vawLte6SNmTgCsAVtYtaKzEcn8ATUoHMkEqE= github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= @@ -1241,17 +604,10 @@ github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5 github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.7.0 h1:nwc3DEeHmmLAfoZucVR881uASk0Mfjw8xYJ99tb5CcY= github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= -github.com/subosito/gotenv v1.2.0 h1:Slr1R9HxAlEKefgq5jn9U+DnETlIUa6HfgEzj0g5d7s= github.com/subosito/gotenv v1.2.0/go.mod h1:N0PQaV/YGNqwC0u51sEeR/aUtSLEXKX9iv69rRypqCw= -github.com/tarm/serial v0.0.0-20180830185346-98f6abe2eb07/go.mod h1:kDXzergiv9cbyO7IOYJZWg1U88JhDg3PB6klq9Hg2pA= github.com/tmc/grpc-websocket-proxy v0.0.0-20170815181823-89b8d40f7ca8/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= github.com/tmc/grpc-websocket-proxy v0.0.0-20190109142713-0ad062ec5ee5/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= github.com/ugorji/go v1.1.4/go.mod h1:uQMGLiO92mf5W77hV/PUCpI3pbzQx3CRekS0kk+RGrc= -github.com/ugorji/go/codec v0.0.0-20181204163529-d75b2dcb6bc8/go.mod h1:VFNgLljTbGfSG7qAOspJ7OScBnGdDN/yBr0sguwnwf0= -github.com/unrolled/secure v0.0.0-20180918153822-f340ee86eb8b/go.mod h1:mnPT77IAdsi/kV7+Es7y+pXALeV3h7G6dQF6mNYjcLA= -github.com/unrolled/secure v0.0.0-20181005190816-ff9db2ff917f/go.mod h1:mnPT77IAdsi/kV7+Es7y+pXALeV3h7G6dQF6mNYjcLA= -github.com/unrolled/secure v0.0.0-20181022170031-4b6b7cf51606/go.mod h1:mnPT77IAdsi/kV7+Es7y+pXALeV3h7G6dQF6mNYjcLA= -github.com/unrolled/secure v0.0.0-20190103195806-76e6d4e9b90c/go.mod h1:mnPT77IAdsi/kV7+Es7y+pXALeV3h7G6dQF6mNYjcLA= github.com/urfave/cli v1.20.0/go.mod h1:70zkFmudgCuE/ngEzBv17Jvp/497gISqfk5gWijbERA= github.com/urfave/cli v1.22.1/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0= github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2/go.mod h1:UETIi67q53MR2AWcXfiuqkDkRtnGDLqkBTpCHuJHxtU= @@ -1268,7 +624,6 @@ go.etcd.io/etcd v0.0.0-20191023171146-3cf2f69b5738/go.mod h1:dnLIgRNXwCJa5e+c6mI go.etcd.io/etcd/api/v3 v3.5.0/go.mod h1:cbVKeC6lCfl7j/8jBhAK6aIYO9XOjdptoxU/nLQcPvs= go.etcd.io/etcd/client/pkg/v3 v3.5.0/go.mod h1:IJHfcCEKxYu1Os13ZdwCwIUTUVGYTSAM3YSwc9/Ac1g= go.etcd.io/etcd/client/v2 v2.305.0/go.mod h1:h9puh54ZTgAKtEbut2oe9P4L/oqKCVB6xsXlzd7alYQ= -go.opencensus.io v0.18.0/go.mod h1:vKdFvxhtzZ9onBp9VKHK8z/sRpBMnKAsufL7wlDrCOA= go.opencensus.io v0.20.1/go.mod h1:6WKK9ahsWS3RSO+PY9ZHZUfv2irvY6gN279GOPZjmmk= go.opencensus.io v0.20.2/go.mod h1:6WKK9ahsWS3RSO+PY9ZHZUfv2irvY6gN279GOPZjmmk= go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU= @@ -1292,43 +647,17 @@ go.uber.org/zap v1.9.1/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q= go.uber.org/zap v1.10.0/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q= go.uber.org/zap v1.13.0/go.mod h1:zwrFLgMcdUuIBviXEYEH1YKNaOBnKXsx2IPda5bBwHM= go.uber.org/zap v1.17.0/go.mod h1:MXVU+bhUf/A7Xi2HNOnopQOrmycQ5Ih87HtOu4q5SSo= -go4.org v0.0.0-20180809161055-417644f6feb5/go.mod h1:MkTOUMDaeVYJUOUsaDXIhWPZYa1yOyC1qaOBpL57BhE= -golang.org/x/build v0.0.0-20190111050920-041ab4dc3f9d/go.mod h1:OWs+y06UdEOHN4y+MfF/py+xQ/tYqIWW03b70/CG9Rw= golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= -golang.org/x/crypto v0.0.0-20180910181607-0e37d006457b/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= -golang.org/x/crypto v0.0.0-20181001203147-e3636079e1a4/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= -golang.org/x/crypto v0.0.0-20181009213950-7c1a557ab941/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= -golang.org/x/crypto v0.0.0-20181015023909-0c41d7ab0a0e/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= -golang.org/x/crypto v0.0.0-20181024171144-74cb1d3d52f4/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= -golang.org/x/crypto v0.0.0-20181025113841-85e1b3f9139a/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= -golang.org/x/crypto v0.0.0-20181025213731-e84da0312774/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20181029021203-45a5f77698d3/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= -golang.org/x/crypto v0.0.0-20181030102418-4d3f4d9ffa16/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= -golang.org/x/crypto v0.0.0-20181106171534-e4dc69e5b2fd/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= -golang.org/x/crypto v0.0.0-20181112202954-3d3f9f413869/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= -golang.org/x/crypto v0.0.0-20181127143415-eb0de9b17e85/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= -golang.org/x/crypto v0.0.0-20181203042331-505ab145d0a9/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= -golang.org/x/crypto v0.0.0-20190102171810-8d7daa0c54b3/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= -golang.org/x/crypto v0.0.0-20190103213133-ff983b9c42bc/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= -golang.org/x/crypto v0.0.0-20190122013713-64072686203f/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= -golang.org/x/crypto v0.0.0-20190130090550-b01c7a725664/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= -golang.org/x/crypto v0.0.0-20190211182817-74369b46fc67/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= -golang.org/x/crypto v0.0.0-20190313024323-a1f597ede03a/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= -golang.org/x/crypto v0.0.0-20190403202508-8e1b8d32e692/go.mod h1:WFFai1msRO1wXaEeE5yQxYXgSfI8pQAWXbQop6sCtWE= -golang.org/x/crypto v0.0.0-20190404164418-38d8ce5564a5/go.mod h1:WFFai1msRO1wXaEeE5yQxYXgSfI8pQAWXbQop6sCtWE= golang.org/x/crypto v0.0.0-20190411191339-88737f569e3a/go.mod h1:WFFai1msRO1wXaEeE5yQxYXgSfI8pQAWXbQop6sCtWE= -golang.org/x/crypto v0.0.0-20190422162423-af44ce270edf/go.mod h1:WFFai1msRO1wXaEeE5yQxYXgSfI8pQAWXbQop6sCtWE= golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20190611184440-5c40567a22f8/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20190621222207-cc06ce4a13d4/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20190701094942-4def268fd1a4/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20190820162420-60c769a6c586/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20190911031432-227b76d455e7/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20191122220453-ac88ee75c92c/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.0.0-20200206161412-a0c6ece9d31a/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20200323165209-0ec3e9974c59/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20210322153248-0c34fe9e7dc2 h1:It14KIkyBFYkHkwZ7k45minvA9aorojkyjGk9KJ5B/w= @@ -1345,7 +674,6 @@ golang.org/x/exp v0.0.0-20200207192155-f17229e696bd/go.mod h1:J/WKrq2StrnmMY6+EH golang.org/x/exp v0.0.0-20200224162631-6cc2880d07d6/go.mod h1:3jZMyOhIsHpP37uCMkUooju7aAi5cS1Q23tOzKc+0MU= golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js= golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= -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/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= golang.org/x/lint v0.0.0-20190301231843-5614ed5bae6f/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= @@ -1368,36 +696,21 @@ golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.4.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.4.1/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/mod v0.4.2 h1:Gz96sIWK3OalVv/I/qNygP42zyoKp3xptRVCWRFEBvo= golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20180816102801-aaf60122140d/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-20180921000356-2f5d2388922f/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20180926154720-4dfa2610cdf3/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20181005035420-146acd28ed58/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20181011144130-49bb7cea24b1/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20181017193950-04a2e542c03f/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20181023162649-9b4f9f5ad519/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20181029044818-c44066c5c816/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20181102091132-c10e9556a7bc/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-20181114220301-adae6a3d119a/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20181201002055-351d144fa1fc/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20181207154023-610586996380/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20181213202711-891ebc4b82d6/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20181220203305-927f97764cc3/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-20190119204137-ed066c81e75e/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20190125091013-d26f9f9a57f3/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190501004415-9ce7a6920f09/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190503192946-f4e77d36d62c/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190514140710-3ec191127204/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190522155817-f3200d17e092/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks= golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks= golang.org/x/net v0.0.0-20190613194153-d28f0bde5980/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= @@ -1429,8 +742,6 @@ golang.org/x/net v0.0.0-20210316092652-d523dce5a7f4/go.mod h1:RBQZq4jEuRlivfhVLd golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4 h1:4nGaVu0QrbjT/AK2PRLuQfQuh6DJve+pELhqTdAj3x0= golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= -golang.org/x/oauth2 v0.0.0-20181017192945-9dcd33a902f4/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-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20191202225959-858c2ad4c8b6/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= @@ -1442,12 +753,10 @@ golang.org/x/oauth2 v0.0.0-20210218202405-ba52d332ba99/go.mod h1:KelEdhl1UZF7XfJ golang.org/x/oauth2 v0.0.0-20210220000619-9bb904979d93/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.0.0-20210313182246-cd4f82c27b84/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.0.0-20210402161424-2e8d93401602/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/perf v0.0.0-20180704124530-6e6d33e29852/go.mod h1:JLpeXjPJfIyPr5TlbXLkXWLhP8nz10XfvxElABhCtcw= 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/sync v0.0.0-20190412183630-56d357773e84/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20200317015054-43a5402ce75a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -1456,48 +765,22 @@ golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20210220032951-036812b2e83c h1:5KslGYwFpkhGh+Q16bwMP3cOontH8FOep7tGV86Y7SQ= golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sys v0.0.0-20180816055513-1c9583448a9c/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180823144017-11551d06cbcc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20180906133057-8cf3aee42992/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-20180921163948-d47a0f339242/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20180927150500-dad3d9fb7b6e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20181005133103-4497e2df6f9e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20181011152604-fa43e7bc11ba/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20181019084534-8f1d3d21f81b/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20181022134430-8a28ead16f52/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20181024145615-5cd93ef61a7c/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20181025063200-d989b31c8746/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20181026064943-731415f00dce/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20181026203630-95b1ffbd15a5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20181029174526-d69651ed3497/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20181030150119-7e31e0c00fa0/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20181106135930-3a76605856fd/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20181107165924-66b7b1311ac8/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20181116152217-5ac8a444bdc5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20181122145206-62eef0e2fa9b/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-20181205085412-a5c9d58dba9a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20181206074257-70b957f3b65e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20181213150753-586ba8c9bb14/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20181213200352-4d1cda033e06/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20190102155601-82a175fd1598/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20190116161447-11f53e031339/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20190122071731-054c452bb702/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20190219092855-153ac476189d/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20190220154126-629670e5acc5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190222072716-a9d3bda3a223/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190403152447-81d4e9dc473e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190419153524-e8e3143a4f4a/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190422165155-953cdadca894/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190502145724-3ef323f4f1fd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190515120540-06a5c4944438/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190606165138-5da285871e9c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190726091711-fc99dfbffb4e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -1505,7 +788,6 @@ golang.org/x/sys v0.0.0-20190813064441-fde4db37ae7a/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20190826190057-c7b8b68b1456/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191001151750-bb3f8db39f24/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191005200804-aed5e4c7ecf9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191008105621-543471e840be/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191204072324-ce4227a45e2e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191220142924-d4481acd189f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -1556,82 +838,23 @@ golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxb golang.org/x/tools v0.0.0-20180221164845-07fd8470d635/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20180828015842-6cd1fcedba52/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20181003024731-2f84ea8ef872/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20181006002542-f60d9635b16a/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20181008205924-a2b3f7f249e9/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20181013182035-5e66757b835f/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20181017214349-06f26fdaaa28/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20181019005945-6adeb8aab2de/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20181024171208-a2dc47679d30/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20181026183834-f60e5f99f081/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20181030000716-a0a13e073c7b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20181030151751-bb28844c46df/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20181102223251-96e9e165b75e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20181105230042-78dc5bac0cac/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20181107215632-34b416bd17b3/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20181109152631-138c20b93253/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20181109202920-92d8274bd7b8/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20181111003725-6d71ab8aade0/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20181114190951-94339b83286c/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20181119130350-139d099f6620/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20181120060634-fc4f04983f62/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20181122213734-04b5d21e00f1/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20181127195227-b4e97c0ed882/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20181127232545-e782529d0ddd/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20181201035826-d0ca3933b724/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20181203210056-e5f3ab76ea4b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20181205224935-3576414c54a4/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20181206194817-bcd4e47d0288/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20181207183836-8bc39b988060/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20181212172921-837e80568c09/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20181213190329-bbccd8cae4a9/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20190102213336-ca9055ed7d04/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20190104182027-498d95493402/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20190111214448-fc1d57b08d7b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20190118193359-16909d206f00/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20190122202912-9c309ee22fab/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20190124004107-78ee07aa9465/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20190131142011-8dbcc66f33bb/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20190206221403-44bcb96178d3/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20190214204934-8dcb7bc8c7fe/go.mod h1:E6PF97AdD6v0s+fPshSmumCW1S1Ne85RbPQxELkKa44= -golang.org/x/tools v0.0.0-20190219135230-f000d56b39dc/go.mod h1:E6PF97AdD6v0s+fPshSmumCW1S1Ne85RbPQxELkKa44= -golang.org/x/tools v0.0.0-20190219185102-9394956cfdc5/go.mod h1:E6PF97AdD6v0s+fPshSmumCW1S1Ne85RbPQxELkKa44= -golang.org/x/tools v0.0.0-20190221204921-83362c3779f5/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/tools v0.0.0-20190312151545-0bb0c0a6e846/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/tools v0.0.0-20190312170243-e65039ee4138/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -golang.org/x/tools v0.0.0-20190315044204-8b67d361bba2/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -golang.org/x/tools v0.0.0-20190318200714-bb1270c20edf/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/tools v0.0.0-20190328211700-ab21143f2384/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -golang.org/x/tools v0.0.0-20190329151228-23e29df326fe/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -golang.org/x/tools v0.0.0-20190404132500-923d25813098/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -golang.org/x/tools v0.0.0-20190407030857-0fdf0c73855b/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -golang.org/x/tools v0.0.0-20190416151739-9c9e1878f421/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -golang.org/x/tools v0.0.0-20190420181800-aa740d480789/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/tools v0.0.0-20190425150028-36563e24a262/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= golang.org/x/tools v0.0.0-20190425163242-31fd60d6bfdc/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= golang.org/x/tools v0.0.0-20190506145303-2d16b83fe98c/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= -golang.org/x/tools v0.0.0-20190603152906-08e0b306e832/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= -golang.org/x/tools v0.0.0-20190603231351-8aaa1484dc10/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= golang.org/x/tools v0.0.0-20190606124116-d0a3d012864b/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= -golang.org/x/tools v0.0.0-20190613204242-ed0dc450797f/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= golang.org/x/tools v0.0.0-20190621195816-6e04913cbbac/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= -golang.org/x/tools v0.0.0-20190624180213-70d37148ca0c/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= golang.org/x/tools v0.0.0-20190628153133-6cdbf07be9d0/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= -golang.org/x/tools v0.0.0-20190809145639-6d4652c779c4/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20190816200558-6889da9d5479/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20190823170909-c4a336ef6a2f/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20190825031127-d72b05d2b1b6/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20190905035308-adb45749da8e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20190906203814-12febf440ab1/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20190907020128-2ca718005c18/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20190911174233-4f2ddba30aff/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191004055002-72853e10c5a3/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191012152004-8de300cfc20a/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191015150414-f936694f27bf/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191029041327-9cc4af7d6b2c/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191029190741-b9c20aec41a5/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191112195655-aa38f8e97acc/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= @@ -1641,14 +864,12 @@ golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtn golang.org/x/tools v0.0.0-20191125144606-a911d9008d1f/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191130070609-6e064ea0cf2d/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191216173652-a0e659d51361/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20191224055732-dd894d0a8a40/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20191227053925-7b8e75db28f4/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200103221440-774c71fcf114/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200117161641-43d50277825c/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200117220505-0cba7a3a9ee9/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200122220014-bf1340f18c4a/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200130002326-2f3ba24bd6e7/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200131211209-ecb101ed6550/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200204074204-1cc6d1ef6c74/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200207183749-b753a1ba74fa/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200212150539-ea181f53ac56/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= @@ -1657,7 +878,6 @@ golang.org/x/tools v0.0.0-20200227222343-706bc42d1f0d/go.mod h1:TB2adYChydJhpapK golang.org/x/tools v0.0.0-20200304193943-95d2e580d8eb/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw= golang.org/x/tools v0.0.0-20200308013534-11ec41452d41/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw= golang.org/x/tools v0.0.0-20200312045724-11d5b4c81c7d/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw= -golang.org/x/tools v0.0.0-20200323192200-8849913b6971/go.mod h1:Sl4aGygMT6LrqrWclx+PTx3U+LnKx/seiNR+3G19Ar8= golang.org/x/tools v0.0.0-20200331025713-a30bf2db82d4/go.mod h1:Sl4aGygMT6LrqrWclx+PTx3U+LnKx/seiNR+3G19Ar8= golang.org/x/tools v0.0.0-20200501065659-ab2804fb9c9d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= golang.org/x/tools v0.0.0-20200512131952-2bc93b1c0c88/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= @@ -1675,19 +895,12 @@ golang.org/x/tools v0.0.0-20210105154028-b0ab187a4818/go.mod h1:emZCQorbCU4vsT4f golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.1.0/go.mod h1:xkSsbof2nBLbhDlRMhhhyNLN/zl3eTqcnHD5viDpcZ0= golang.org/x/tools v0.1.2/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= -golang.org/x/tools v0.1.3/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= -golang.org/x/tools v0.1.5 h1:ouewzE6p+/VEB31YYnTbEJdi8pFqKp4P4n85vwo3DHA= -golang.org/x/tools v0.1.5/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/xerrors v0.0.0-20190410155217-1f06c39b4373/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20190513163551-3ee3066db522/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1 h1:go1bK/D/BFZV2I8cIQd1NKEZ+0owSTG1fDTci4IqFcE= golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -google.golang.org/api v0.0.0-20180910000450-7ca32eb868bf/go.mod h1:4mhQ8q/RsB7i+udVvVy5NUi08OU8ZlA0gRVgrF7VFY0= -google.golang.org/api v0.0.0-20181030000543-1d582fd0359e/go.mod h1:4mhQ8q/RsB7i+udVvVy5NUi08OU8ZlA0gRVgrF7VFY0= -google.golang.org/api v0.1.0/go.mod h1:UGEZY7KEX120AnNLIHFMKIo4obdJhkp2tPbaPlQx13Y= google.golang.org/api v0.3.1/go.mod h1:6wY9I6uQWHQ8EM57III9mq/AjF+i8G65rmVagqKMtkk= google.golang.org/api v0.4.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE= google.golang.org/api v0.7.0/go.mod h1:WtwebWUNSVBH/HAw79HIFXZNqEvBhG+Ra+ax0hx3E3M= @@ -1713,19 +926,13 @@ google.golang.org/api v0.43.0/go.mod h1:nQsDGjRXMo4lvh5hP0TKqF244gqhGcr/YSIykhUk google.golang.org/api v0.44.0/go.mod h1:EBOGZqzyhtvMDoxwS97ctnh0zUmYY6CxqXsc1AvkYD8= google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= google.golang.org/appengine v1.2.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= -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/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= -google.golang.org/appengine v1.6.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= google.golang.org/appengine v1.6.1/go.mod h1:i06prIuMbXzDqacNJfV5OdTW448YApPu5ww/cMBSeb0= google.golang.org/appengine v1.6.5/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= google.golang.org/appengine v1.6.6/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= google.golang.org/appengine v1.6.7/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= 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-20181029155118-b69ba1387ce2/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= -google.golang.org/genproto v0.0.0-20181202183823-bd91e49a0898/go.mod h1:7Ep/1NZk928CDR8SjdVbjWNpdIf6nzjE3BTgJDr2Atg= -google.golang.org/genproto v0.0.0-20190201180003-4b09977fb922/go.mod h1:L3J43x8/uS+qIUoksaLKe6OS3nUKxOKuIFz1sl2/jx4= google.golang.org/genproto v0.0.0-20190307195333-5fe7a883aa19/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= google.golang.org/genproto v0.0.0-20190418145605-e7d98fc518a7/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= google.golang.org/genproto v0.0.0-20190425155659-357c62f0e4bb/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= @@ -1767,8 +974,6 @@ google.golang.org/genproto v0.0.0-20210310155132-4ce2db91004e/go.mod h1:FWY/as6D google.golang.org/genproto v0.0.0-20210319143718-93e7006c17a6/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20210402141018-6c239bbf2bb1/go.mod h1:9lPAdzaEmUacj36I+k7YKbEc5CXzPIeORRgDAUOu28A= google.golang.org/genproto v0.0.0-20210602131652-f16073e35f0c/go.mod h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0= -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= google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= google.golang.org/grpc v1.20.0/go.mod h1:chYK+tFQF0nDUGJgXMSgLCQk3phJEuONr2DCgLDdAQM= @@ -1806,7 +1011,6 @@ google.golang.org/protobuf v1.24.0/go.mod h1:r/3tXBNzIEhYS9I1OUVjXDlt8tc493IdKGj google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c= google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= -gopkg.in/airbrake/gobrake.v2 v2.0.9/go.mod h1:/h5ZAUhDkGaJfjzjKLSjv6zCL6O0LLBxU4K+aSYdM/U= gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw= gopkg.in/alexcesaro/quotedprintable.v3 v3.0.0-20150716171945-2caba252f4dc h1:2gGKlE2+asNV9m7xrywl36YYNnBG5ZQ0r/BOOxqPpmk= gopkg.in/alexcesaro/quotedprintable.v3 v3.0.0-20150716171945-2caba252f4dc/go.mod h1:m7x9LTH6d71AHyAX77c9yqWCCa3UKHcVEj9y7hAtKDk= @@ -1818,14 +1022,8 @@ gopkg.in/cheggaaa/pb.v1 v1.0.25/go.mod h1:V/YB90LKu/1FcN3WVnfiiE5oMCibMjukxqG/qS gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys= gopkg.in/gcfg.v1 v1.2.3/go.mod h1:yesOnuUOFQAhST5vPY4nbZsb/huCgGGXlipJsBn0b3o= -gopkg.in/gemnasium/logrus-airbrake-hook.v2 v2.1.2/go.mod h1:Xk6kEKp8OKb+X14hQBKWaSkCsqBpgog8nAV2xsGOxlo= -gopkg.in/gomail.v2 v2.0.0-20160411212932-81ebce5c23df/go.mod h1:LRQQ+SO6ZHR7tOkpBDuZnXENFzX8qRjMDMyPD6BRkCw= gopkg.in/inconshreveable/log15.v2 v2.0.0-20180818164646-67afb5ed74ec/go.mod h1:aPpfJ7XW+gOuirDoZ8gHhLh3kZ1B08FtV2bbmy7Jv3s= -gopkg.in/inf.v0 v0.9.1/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw= -gopkg.in/ini.v1 v1.51.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= -gopkg.in/ini.v1 v1.62.0 h1:duBzk771uxoUuOlyRLkHsygud9+5lrlGjdFBb4mSKDU= gopkg.in/ini.v1 v1.62.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= -gopkg.in/mail.v2 v2.0.0-20180731213649-a0242b2233b4/go.mod h1:htwXN1Qh09vZJ1NVKxQqHPBaCBbzKhp5GzuJEA4VJWw= gopkg.in/resty.v1 v1.12.0/go.mod h1:mDo4pnntr5jdWRML875a/NmxYqAlA73dVijT2AXvQQo= gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw= gopkg.in/warnings.v0 v0.1.2/go.mod h1:jksf8JmL6Qr/oQM2OXTHunEvvTAsrWBLb6OOjuVWRNI= @@ -1834,14 +1032,12 @@ gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.3/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.2.7/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b h1:h8qDotaEPuJATrMmW04NCwg7v22aHH28wwpauUhK9Oo= gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -grpc.go4.org v0.0.0-20170609214715-11d0a25b4919/go.mod h1:77eQGdRu53HpSqPFJFmuJdjuHRquDANNeA4x7B8WQ9o= honnef.co/go/tools v0.0.0-20180728063816-88497007e858/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= @@ -1855,5 +1051,3 @@ rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0= rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA= sigs.k8s.io/yaml v1.1.0/go.mod h1:UJmg0vDUVViEyp3mgSv9WPwZCDxu4rQW1olrI1uml+o= sourcegraph.com/sourcegraph/appdash v0.0.0-20190731080439-ebfcffb1b5c0/go.mod h1:hI742Nqp5OhwiqlzhgfbWU4mW4yO10fP+LoT9WOswdU= -sourcegraph.com/sourcegraph/go-diff v0.5.0/go.mod h1:kuch7UrkMzY0X+p9CRK03kfuPQ2zzQcaEFbx8wA8rck= -sourcegraph.com/sqs/pbtypes v0.0.0-20180604144634-d3ebe8f20ae4/go.mod h1:ketZ/q3QxT9HOBeFhu6RdvsftgpsbFHBF5Cas6cDKZ0= diff --git a/install.sh b/install.sh deleted file mode 100644 index b747d22d0..000000000 --- a/install.sh +++ /dev/null @@ -1,385 +0,0 @@ -#!/bin/sh -set -e -# Code generated by godownloader on 2019-02-07T19:17:58Z. DO NOT EDIT. -# - -usage() { - this=$1 - cat </dev/null -} -echoerr() { - echo "$@" 1>&2 -} -log_prefix() { - echo "$0" -} -_logp=6 -log_set_priority() { - _logp="$1" -} -log_priority() { - if test -z "$1"; then - echo "$_logp" - return - fi - [ "$1" -le "$_logp" ] -} -log_tag() { - case $1 in - 0) echo "emerg" ;; - 1) echo "alert" ;; - 2) echo "crit" ;; - 3) echo "err" ;; - 4) echo "warning" ;; - 5) echo "notice" ;; - 6) echo "info" ;; - 7) echo "debug" ;; - *) echo "$1" ;; - esac -} -log_debug() { - log_priority 7 || return 0 - echoerr "$(log_prefix)" "$(log_tag 7)" "$@" -} -log_info() { - log_priority 6 || return 0 - echoerr "$(log_prefix)" "$(log_tag 6)" "$@" -} -log_err() { - log_priority 3 || return 0 - echoerr "$(log_prefix)" "$(log_tag 3)" "$@" -} -log_crit() { - log_priority 2 || return 0 - echoerr "$(log_prefix)" "$(log_tag 2)" "$@" -} -uname_os() { - os=$(uname -s | tr '[:upper:]' '[:lower:]') - case "$os" in - msys_nt) os="windows" ;; - esac - echo "$os" -} -uname_arch() { - arch=$(uname -m) - case $arch in - x86_64) arch="amd64" ;; - x86) arch="386" ;; - i686) arch="386" ;; - i386) arch="386" ;; - aarch64) arch="arm64" ;; - armv5*) arch="armv5" ;; - armv6*) arch="armv6" ;; - armv7*) arch="armv7" ;; - esac - echo ${arch} -} -uname_os_check() { - os=$(uname_os) - case "$os" in - darwin) return 0 ;; - dragonfly) return 0 ;; - freebsd) return 0 ;; - linux) return 0 ;; - android) return 0 ;; - nacl) return 0 ;; - netbsd) return 0 ;; - openbsd) return 0 ;; - plan9) return 0 ;; - solaris) return 0 ;; - windows) return 0 ;; - esac - log_crit "uname_os_check '$(uname -s)' got converted to '$os' which is not a GOOS value. Please file bug at https://github.com/client9/shlib" - return 1 -} -uname_arch_check() { - arch=$(uname_arch) - case "$arch" in - 386) return 0 ;; - amd64) return 0 ;; - arm64) return 0 ;; - armv5) return 0 ;; - armv6) return 0 ;; - armv7) return 0 ;; - ppc64) return 0 ;; - ppc64le) return 0 ;; - mips) return 0 ;; - mipsle) return 0 ;; - mips64) return 0 ;; - mips64le) return 0 ;; - s390x) return 0 ;; - amd64p32) return 0 ;; - esac - log_crit "uname_arch_check '$(uname -m)' got converted to '$arch' which is not a GOARCH value. Please file bug report at https://github.com/client9/shlib" - return 1 -} -untar() { - tarball=$1 - case "${tarball}" in - *.tar.gz | *.tgz) tar -xzf "${tarball}" ;; - *.tar) tar -xf "${tarball}" ;; - *.zip) unzip "${tarball}" ;; - *) - log_err "untar unknown archive format for ${tarball}" - return 1 - ;; - esac -} -mktmpdir() { - test -z "$TMPDIR" && TMPDIR="$(mktemp -d)" - mkdir -p "${TMPDIR}" - echo "${TMPDIR}" -} -http_download_curl() { - local_file=$1 - source_url=$2 - header=$3 - if [ -z "$header" ]; then - code=$(curl -w '%{http_code}' -sL -o "$local_file" "$source_url") - else - code=$(curl -w '%{http_code}' -sL -H "$header" -o "$local_file" "$source_url") - fi - if [ "$code" != "200" ]; then - log_debug "http_download_curl received HTTP status $code" - return 1 - fi - return 0 -} -http_download_wget() { - local_file=$1 - source_url=$2 - header=$3 - if [ -z "$header" ]; then - wget -q -O "$local_file" "$source_url" - else - wget -q --header "$header" -O "$local_file" "$source_url" - fi -} -http_download() { - log_debug "http_download $2" - if is_command curl; then - http_download_curl "$@" - return - elif is_command wget; then - http_download_wget "$@" - return - fi - log_crit "http_download unable to find wget or curl" - return 1 -} -http_copy() { - tmp=$(mktemp) - http_download "${tmp}" "$1" "$2" || return 1 - body=$(cat "$tmp") - rm -f "${tmp}" - echo "$body" -} -github_release() { - owner_repo=$1 - version=$2 - test -z "$version" && version="latest" - giturl="https://github.com/${owner_repo}/releases/${version}" - json=$(http_copy "$giturl" "Accept:application/json") - test -z "$json" && return 1 - version=$(echo "$json" | tr -s '\n' ' ' | sed 's/.*"tag_name":"//' | sed 's/".*//') - test -z "$version" && return 1 - echo "$version" -} -hash_sha256() { - TARGET=${1:-/dev/stdin} - if is_command gsha256sum; then - hash=$(gsha256sum "$TARGET") || return 1 - echo "$hash" | cut -d ' ' -f 1 - elif is_command sha256sum; then - hash=$(sha256sum "$TARGET") || return 1 - echo "$hash" | cut -d ' ' -f 1 - elif is_command shasum; then - hash=$(shasum -a 256 "$TARGET" 2>/dev/null) || return 1 - echo "$hash" | cut -d ' ' -f 1 - elif is_command openssl; then - hash=$(openssl -dst openssl dgst -sha256 "$TARGET") || return 1 - echo "$hash" | cut -d ' ' -f a - else - log_crit "hash_sha256 unable to find command to compute sha-256 hash" - return 1 - fi -} -hash_sha256_verify() { - TARGET=$1 - checksums=$2 - if [ -z "$checksums" ]; then - log_err "hash_sha256_verify checksum file not specified in arg2" - return 1 - fi - BASENAME=${TARGET##*/} - want=$(grep "${BASENAME}" "${checksums}" 2>/dev/null | tr '\t' ' ' | cut -d ' ' -f 1) - if [ -z "$want" ]; then - log_err "hash_sha256_verify unable to find checksum for '${TARGET}' in '${checksums}'" - return 1 - fi - got=$(hash_sha256 "$TARGET") - if [ "$want" != "$got" ]; then - log_err "hash_sha256_verify checksum for '$TARGET' did not verify ${want} vs $got" - return 1 - fi -} -cat /dev/null < Date: Wed, 27 Oct 2021 22:12:27 +0900 Subject: [PATCH 56/64] Fix typo (#2150) --- README.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index aa320768c..79b32b6a1 100644 --- a/README.md +++ b/README.md @@ -72,10 +72,10 @@ First, thank you so much for wanting to contribute! It means so much that you ca **Here are the core rules to respect**: -- If you have any question, please consider using the [Slack channel](https://gobuffalo.io/docs/slack) (-#buffalo-, *#buffalo_fr* or *#buffalo-dev* for contribution related questions) or [Stack Overflow](https://stackoverflow.com/questions/tagged/buffalo). We use GitHub issues for **bug reports and feature requests only**. -- All contributors of this project are working on their free time: be patient and kind. :- -- Consider opening an issue **BEFORE** creating a Pull request (PR): you won't lose your -ime on fixing non-existing bugs, or fixing the wrong bug. Also we can help you to produce the best PR! -- All PRs **MUST** be opened against the *development* branch. If you want to write an ho--fix, we'll first fix the *development* branch before moving the patch to *master* branch. +- If you have any question, please consider using the [Slack channel](https://gobuffalo.io/docs/slack) (*#buffalo*, *#buffalo_fr* or *#buffalo-dev* for contribution related questions) or [Stack Overflow](https://stackoverflow.com/questions/tagged/buffalo). We use GitHub issues for **bug reports and feature requests only**. +- All contributors of this project are working on their free time: be patient and kind. :) +- Consider opening an issue **BEFORE** creating a Pull request (PR): you won't lose your time on fixing non-existing bugs, or fixing the wrong bug. Also we can help you to produce the best PR! +- All PRs **MUST** be opened against the *development* branch. If you want to write an hot-fix, we'll first fix the *development* branch before moving the patch to *master* branch. **WE WILL CLOSE ANY ISSUE OR PR NOT FOLLOWING THESE CORE RULES**. From ef8e36de1268a03cfce35e3f57f3af7e4f7cb863 Mon Sep 17 00:00:00 2001 From: Antonio Pagano Date: Sat, 6 Nov 2021 11:22:03 -0500 Subject: [PATCH 57/64] fixing the issue with meta --- go.mod | 6 +++--- go.sum | 19 +++++++++++-------- runtime/version.go | 2 +- 3 files changed, 15 insertions(+), 12 deletions(-) diff --git a/go.mod b/go.mod index 18a23027e..9387a7157 100644 --- a/go.mod +++ b/go.mod @@ -6,14 +6,14 @@ require ( github.com/BurntSushi/toml v0.4.1 github.com/dustin/go-humanize v1.0.0 github.com/fatih/color v1.12.0 - github.com/gobuffalo/envy v1.9.0 + github.com/gobuffalo/envy v1.10.1 github.com/gobuffalo/events v1.4.1 - github.com/gobuffalo/flect v0.2.3 + github.com/gobuffalo/flect v0.2.4 github.com/gobuffalo/github_flavored_markdown v1.1.0 github.com/gobuffalo/helpers v0.6.2 github.com/gobuffalo/httptest v1.5.0 github.com/gobuffalo/logger v1.0.4 - github.com/gobuffalo/meta v0.3.0 + github.com/gobuffalo/meta v0.3.1 github.com/gobuffalo/nulls v0.4.0 github.com/gobuffalo/packd v1.0.0 github.com/gobuffalo/packr/v2 v2.8.1 diff --git a/go.sum b/go.sum index f37892d95..7bca01c11 100644 --- a/go.sum +++ b/go.sum @@ -149,8 +149,8 @@ github.com/go-sql-driver/mysql v1.5.0/go.mod h1:DCzpHaOWr8IXmIStZouvnhqoel9Qv2LB github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= github.com/gobuffalo/attrs v0.1.0/go.mod h1:fmNpaWyHM0tRm8gCZWKx8yY9fvaNLo2PyzBNSrBZ5Hw= github.com/gobuffalo/envy v1.8.1/go.mod h1:FurDp9+EDPE4aIUS3ZLyD+7/9fpx7YRt/ukY6jIHf0w= -github.com/gobuffalo/envy v1.9.0 h1:eZR0DuEgVLfeIb1zIKt3bT4YovIMf9O9LXQeCZLXpqE= -github.com/gobuffalo/envy v1.9.0/go.mod h1:FurDp9+EDPE4aIUS3ZLyD+7/9fpx7YRt/ukY6jIHf0w= +github.com/gobuffalo/envy v1.10.1 h1:ppDLoXv2feQ5nus4IcgtyMdHQkKng2lhJCIm33cblM0= +github.com/gobuffalo/envy v1.10.1/go.mod h1:AWx4++KnNOW3JOeEvhSaq+mvgAvnMYOY1XSIin4Mago= github.com/gobuffalo/events v1.4.1 h1:OLJIun6wRx4DOW19XoL/AoyjuJltqeOBFH3q8cDvNb8= github.com/gobuffalo/events v1.4.1/go.mod h1:SjXgWKpeSuvQDvGhgMz5IXx3Czu+IbL+XPLR41NvVQY= github.com/gobuffalo/fizz v1.10.0 h1:I8vad0PnmR+CLjSnZ5L5jlhBm4S88UIGOoZZL3/3e24= @@ -158,8 +158,8 @@ github.com/gobuffalo/fizz v1.10.0/go.mod h1:J2XGPO0AfJ1zKw7+2BA+6FEGAkyEsdCOLvN9 github.com/gobuffalo/flect v0.1.5/go.mod h1:W3K3X9ksuZfir8f/LrfVtWmCDQFfayuylOJ7sz/Fj80= github.com/gobuffalo/flect v0.2.0/go.mod h1:W3K3X9ksuZfir8f/LrfVtWmCDQFfayuylOJ7sz/Fj80= github.com/gobuffalo/flect v0.2.1/go.mod h1:vmkQwuZYhN5Pc4ljYQZzP+1sq+NEkK+lh20jmEmX3jc= -github.com/gobuffalo/flect v0.2.3 h1:f/ZukRnSNA/DUpSNDadko7Qc0PhGvsew35p/2tu+CRY= -github.com/gobuffalo/flect v0.2.3/go.mod h1:vmkQwuZYhN5Pc4ljYQZzP+1sq+NEkK+lh20jmEmX3jc= +github.com/gobuffalo/flect v0.2.4 h1:BSYA8+T60cdyq+vynaSUjqSVI9mDEg9ZfQUXKmfjo4I= +github.com/gobuffalo/flect v0.2.4/go.mod h1:1ZyCLIbg0YD7sDkzvFdPoOydPtD8y9JQnrOROolUcM8= github.com/gobuffalo/genny/v2 v2.0.5/go.mod h1:kRkJuAw9mdI37AiEYjV4Dl+TgkBDYf8HZVjLkqe5eBg= github.com/gobuffalo/github_flavored_markdown v1.1.0 h1:8Zzj4fTRl/OP2R7sGerzSf6g2nEJnaBEJe7UAOiEvbQ= github.com/gobuffalo/github_flavored_markdown v1.1.0/go.mod h1:TSpTKWcRTI0+v7W3x8dkSKMLJSUpuVitlptCkpeY8ic= @@ -173,8 +173,8 @@ github.com/gobuffalo/httptest v1.5.0/go.mod h1:F541Rwcu9Ypo1NBAsYxrCV0J6ibAGGEvh github.com/gobuffalo/logger v1.0.3/go.mod h1:SoeejUwldiS7ZsyCBphOGURmWdwUFXs0J7TCjEhjKxM= github.com/gobuffalo/logger v1.0.4 h1:HFJRqL7AmL4QNvQb9Grss9sDz+3u02VBgAoR03A7q4o= github.com/gobuffalo/logger v1.0.4/go.mod h1:/GRUdWb+gM3shxj0P5jiV6ecVS3X0aboJvl+hBu0HeE= -github.com/gobuffalo/meta v0.3.0 h1:F0BFeZuQ1UmsHAVBgsnzolheLmv11t2GQ+53OFOP7lk= -github.com/gobuffalo/meta v0.3.0/go.mod h1:cpr6mrUX5H/B4wEP86Gdq568TK4+dKUD8oRPl698RUw= +github.com/gobuffalo/meta v0.3.1 h1:wrg94uDwu3bM3HMdmz2wlT8A9iAJvMKbHmYs8Rxi63I= +github.com/gobuffalo/meta v0.3.1/go.mod h1:garIq5Vcqs5dj8nv3YG8hRbqAdQhIOt0DAXmaLtO7OU= github.com/gobuffalo/nulls v0.2.0/go.mod h1:w4q8RoSCEt87Q0K0sRIZWYeIxkxog5mh3eN3C/n+dUc= github.com/gobuffalo/nulls v0.4.0 h1:xi+JHGWIetYqLmS520dSWc8Ifj1P0aNXKTVDMVsPXmw= github.com/gobuffalo/nulls v0.4.0/go.mod h1:2KmsoLnMrxpwPLN5LmBbm6tmttHSIZr/v/OdGsATM3M= @@ -375,8 +375,9 @@ github.com/jmespath/go-jmespath v0.0.0-20180206201540-c2b33e8439af/go.mod h1:Nht github.com/jmoiron/sqlx v1.2.0/go.mod h1:1FEQNm3xlJgrMD+FBdI9+xvCksHtbpVBBw5dYhBSsks= github.com/jmoiron/sqlx v1.3.3 h1:j82X0bf7oQ27XeqxicSZsTU5suPwKElg3oyxNn43iTk= github.com/jmoiron/sqlx v1.3.3/go.mod h1:2BljVx/86SuTyjE+aPYlHCTNvZrnJXghYGpNiXLBMCQ= -github.com/joho/godotenv v1.3.0 h1:Zjp+RcGpHhGlrMbJzXTrZZPrWj+1vfm90La1wgB6Bhc= github.com/joho/godotenv v1.3.0/go.mod h1:7hK45KPybAkOC6peb+G5yklZfMxEjkZhHbwpqxOKXbg= +github.com/joho/godotenv v1.4.0 h1:3l4+N6zfMWnkbPEXKng2o2/MR5mSwTrBih4ZEkkz1lg= +github.com/joho/godotenv v1.4.0/go.mod h1:f4LDr5Voq0i2e/R5DDNOoa2zzDfwtkZa6DnEwAbqwq4= github.com/jonboulle/clockwork v0.1.0/go.mod h1:Ii8DK3G1RaLaWxj9trq07+26W01tbo22gdxWY5EU2bo= github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU= github.com/json-iterator/go v1.1.7/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= @@ -504,6 +505,7 @@ github.com/pelletier/go-toml v1.9.3/go.mod h1:u1nR/EPcESfeI/szUZKdtJ0xRNbUoANCko github.com/performancecopilot/speed v3.0.0+incompatible/go.mod h1:/CLtqpZ5gBg1M9iaPbIdPPGyKcA8hKdoy6hAWba7Yac= github.com/pierrec/lz4 v1.0.2-0.20190131084431-473cd7ce01a1/go.mod h1:3/3N9NVKO0jef7pBehbT1qWhCMrIgbYNnFAZCqQ5LRc= github.com/pierrec/lz4 v2.0.5+incompatible/go.mod h1:pdkljMzZIN41W+lC3N2tnIh5sFi+IEE17M5jbnwPHcY= +github.com/pkg/diff v0.0.0-20210226163009-20ebb0f2a09e/go.mod h1:pJLUxLENpZxwdsKMEsNbx1VGcRFpLqf3715MtcvvzbA= github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= @@ -539,8 +541,9 @@ github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod h1:XWv6So github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ= github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= github.com/rogpeppe/go-internal v1.3.2/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc= -github.com/rogpeppe/go-internal v1.5.2 h1:qLvObTrvO/XRCqmkKxUlOBc48bI3efyDuAZe25QiF0w= github.com/rogpeppe/go-internal v1.5.2/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc= +github.com/rogpeppe/go-internal v1.8.0 h1:FCbCCtXNOY3UtUuHUYaghJg4y7Fd14rXifAYUAtL9R8= +github.com/rogpeppe/go-internal v1.8.0/go.mod h1:WmiCO8CzOY8rg0OYDC4/i/2WRWAB6poM+XZ2dLUbcbE= github.com/rs/xid v1.2.1/go.mod h1:+uKXf+4Djp6Md1KODXJxgGQPKngRmWyn10oCKFzNHOQ= github.com/rs/zerolog v1.13.0/go.mod h1:YbFCdg8HfsridGWAh22vktObvhZbQsZXe4/zB0OKkWU= github.com/rs/zerolog v1.15.0/go.mod h1:xYTKnLHcpfU2225ny5qZjxnj9NvkumZYjJHlAThCjNc= diff --git a/runtime/version.go b/runtime/version.go index ff91bc9a5..afb2252a2 100644 --- a/runtime/version.go +++ b/runtime/version.go @@ -1,4 +1,4 @@ package runtime // Version is the current version of the buffalo binary -var Version = "v0.17.3" +var Version = "v0.17.4" From 2e0d6ca35235fe0031c286f6fd97e61f6db7e002 Mon Sep 17 00:00:00 2001 From: Antonio Pagano Date: Sat, 6 Nov 2021 11:23:16 -0500 Subject: [PATCH 58/64] forcing microcosm latest version for now --- go.mod | 1 + go.sum | 14 +++++++++++--- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 9387a7157..fe147ce5a 100644 --- a/go.mod +++ b/go.mod @@ -29,6 +29,7 @@ require ( github.com/markbates/refresh v1.11.1 github.com/markbates/safe v1.0.1 github.com/markbates/sigtx v1.0.0 + github.com/microcosm-cc/bluemonday v1.0.16 // indirect github.com/monoculum/formam v0.0.0-20210523135142-1af3317b7b9b github.com/sirupsen/logrus v1.8.1 github.com/spf13/cobra v1.2.1 diff --git a/go.sum b/go.sum index 7bca01c11..4e1d66f76 100644 --- a/go.sum +++ b/go.sum @@ -65,6 +65,8 @@ github.com/aryann/difflib v0.0.0-20170710044230-e206f873d14a/go.mod h1:DAHtR1m6l github.com/aws/aws-lambda-go v1.13.3/go.mod h1:4UKl9IzQMoD+QF79YdCuzCwp8VbmG4VAQwij/eHl5CU= github.com/aws/aws-sdk-go v1.27.0/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo= github.com/aws/aws-sdk-go-v2 v0.18.0/go.mod h1:JWVYvqSMppoMJC0x5wdwiImzgXTI9FuZwxzkQq9wy+g= +github.com/aymerick/douceur v0.2.0 h1:Mv+mAeH1Q+n9Fr+oyamOlAkUNPWPlA8PPGR0QAaYuPk= +github.com/aymerick/douceur v0.2.0/go.mod h1:wlT5vV2O3h55X9m7iVYN0TBM0NH/MmbLnd30/FjWUq4= github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8= github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= @@ -270,6 +272,8 @@ github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+ github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk= github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY= github.com/gorilla/context v1.1.1/go.mod h1:kBGZzfjB9CEq2AlWe17Uuf7NDRt0dE0s8S51q0aT7Yg= +github.com/gorilla/css v1.0.0 h1:BQqNyPTi50JCFMTw/b67hByjMVXZRwGha6wxVGkeihY= +github.com/gorilla/css v1.0.0/go.mod h1:Dn721qIggHpt4+EFCcTLTU/vk5ySda2ReITrtgBl60c= github.com/gorilla/handlers v1.5.1 h1:9lRY6j8DEeeBT10CvO9hGW0gmky0BprnvDI5vfhUHH4= github.com/gorilla/handlers v1.5.1/go.mod h1:t8XrUpc4KVXb7HGyJ4/cEnwQiaxrX/hz1Zv/4g96P1Q= github.com/gorilla/mux v1.6.2/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs= @@ -454,8 +458,9 @@ github.com/mattn/go-sqlite3 v1.14.6/go.mod h1:NyWgC/yNuGj7Q9rpYnZvas74GogHl5/Z4A github.com/mattn/go-sqlite3 v2.0.3+incompatible h1:gXHsfypPkaMZrKbD5209QV9jbUTJKjyR5WD3HYQSd+U= github.com/mattn/go-sqlite3 v2.0.3+incompatible/go.mod h1:FPy6KqzDD04eiIsT53CuJW3U88zkxoIYsOqkbpncsNc= github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= -github.com/microcosm-cc/bluemonday v1.0.2 h1:5lPfLTTAvAbtS0VqT+94yOtFnGfUWYyx0+iToC3Os3s= github.com/microcosm-cc/bluemonday v1.0.2/go.mod h1:iVP4YcDBq+n/5fb23BhYFvIMq/leAFZyRl6bYmGDlGc= +github.com/microcosm-cc/bluemonday v1.0.16 h1:kHmAq2t7WPWLjiGvzKa5o3HzSfahUKiOq7fAPUiMNIc= +github.com/microcosm-cc/bluemonday v1.0.16/go.mod h1:Z0r70sCuXHig8YpBzCc5eGHAap2K7e/u082ZUpDRRqM= github.com/miekg/dns v1.0.14/go.mod h1:W1PPwlIAgtquWBMBEV9nkV9Cazfe8ScdGz/Lj7v3Nrg= github.com/mitchellh/cli v1.0.0/go.mod h1:hNIlj7HEI86fIcpObd7a0FcrxTWetlwJDGcceTlRvqc= github.com/mitchellh/go-homedir v1.0.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= @@ -737,8 +742,9 @@ golang.org/x/net v0.0.0-20201209123823-ac852fbbde11/go.mod h1:m0MpNAwzfU5UDzcl9v golang.org/x/net v0.0.0-20210119194325-5f4716e94777/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20210316092652-d523dce5a7f4/go.mod h1:RBQZq4jEuRlivfhVLdyRGr576XBO4/greRjx4P4O3yc= -golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4 h1:4nGaVu0QrbjT/AK2PRLuQfQuh6DJve+pELhqTdAj3x0= golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM= +golang.org/x/net v0.0.0-20210614182718-04defd469f4e h1:XpT3nA5TvE525Ne3hInMh6+GETgn27Zfm9dxsThnX2Q= +golang.org/x/net v0.0.0-20210614182718-04defd469f4e/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= @@ -816,6 +822,7 @@ golang.org/x/sys v0.0.0-20210315160823-c6e025ad8005/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20210320140829-1e4c9ba3b0c4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210403161142-5e06dd20ab57/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210510120138-977fb7262007 h1:gG67DSER+11cZvqIMb8S8bt0vZtiN6xWYARwirrOSfE= golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= @@ -827,8 +834,9 @@ golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3 golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.4/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.3.5 h1:i6eZZ+zk0SOf0xgBpEpPD18qWcJda6q1sxt3S0kzyUQ= golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= +golang.org/x/text v0.3.6 h1:aRYxNxv6iGQlyVaZmk6ZgYEDa+Jg18DxebPSrd6bg1M= +golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/time v0.0.0-20180412165947-fbb02b2291d2/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= From 845eb94af6d4a2b19ef09cb665bc545182b95b39 Mon Sep 17 00:00:00 2001 From: Antonio Pagano Date: Sat, 20 Nov 2021 11:39:22 -0500 Subject: [PATCH 59/64] task: version update --- go.mod | 19 ------------------- runtime/version.go | 2 +- 2 files changed, 1 insertion(+), 20 deletions(-) diff --git a/go.mod b/go.mod index ab1e9e3e3..17adaf1da 100644 --- a/go.mod +++ b/go.mod @@ -5,19 +5,6 @@ go 1.16 require ( github.com/BurntSushi/toml v0.4.1 github.com/dustin/go-humanize v1.0.0 -<<<<<<< HEAD - github.com/fatih/color v1.12.0 - github.com/gobuffalo/envy v1.10.1 - github.com/gobuffalo/events v1.4.1 - github.com/gobuffalo/flect v0.2.4 - github.com/gobuffalo/github_flavored_markdown v1.1.0 - github.com/gobuffalo/helpers v0.6.2 - github.com/gobuffalo/httptest v1.5.0 - github.com/gobuffalo/logger v1.0.4 - github.com/gobuffalo/meta v0.3.1 - github.com/gobuffalo/nulls v0.4.0 - github.com/gobuffalo/packd v1.0.0 -======= github.com/fatih/color v1.13.0 github.com/gobuffalo/envy v1.10.1 github.com/gobuffalo/events v1.4.2 @@ -29,7 +16,6 @@ require ( github.com/gobuffalo/meta v0.3.1 github.com/gobuffalo/nulls v0.4.1 github.com/gobuffalo/packd v1.0.1 ->>>>>>> master github.com/gobuffalo/packr/v2 v2.8.1 github.com/gobuffalo/plush/v4 v4.1.8 github.com/gobuffalo/pop/v5 v5.3.4 @@ -43,12 +29,7 @@ require ( github.com/markbates/refresh v1.12.0 github.com/markbates/safe v1.0.1 github.com/markbates/sigtx v1.0.0 -<<<<<<< HEAD - github.com/microcosm-cc/bluemonday v1.0.16 // indirect - github.com/monoculum/formam v0.0.0-20210523135142-1af3317b7b9b -======= github.com/monoculum/formam v3.5.5+incompatible ->>>>>>> master github.com/sirupsen/logrus v1.8.1 github.com/spf13/cobra v1.2.1 github.com/stretchr/testify v1.7.0 diff --git a/runtime/version.go b/runtime/version.go index afb2252a2..b40fb10b7 100644 --- a/runtime/version.go +++ b/runtime/version.go @@ -1,4 +1,4 @@ package runtime // Version is the current version of the buffalo binary -var Version = "v0.17.4" +var Version = "v0.17.5" From c60eeea0f4a4d3965c05a290726b561b82da2f09 Mon Sep 17 00:00:00 2001 From: Antonio Pagano Date: Sat, 20 Nov 2021 11:39:57 -0500 Subject: [PATCH 60/64] task: mod tidying --- go.sum | 25 ------------------------- 1 file changed, 25 deletions(-) diff --git a/go.sum b/go.sum index d6fd52322..2e471bb26 100644 --- a/go.sum +++ b/go.sum @@ -154,22 +154,14 @@ github.com/gobuffalo/attrs v0.1.0/go.mod h1:fmNpaWyHM0tRm8gCZWKx8yY9fvaNLo2PyzBN github.com/gobuffalo/envy v1.8.1/go.mod h1:FurDp9+EDPE4aIUS3ZLyD+7/9fpx7YRt/ukY6jIHf0w= github.com/gobuffalo/envy v1.10.1 h1:ppDLoXv2feQ5nus4IcgtyMdHQkKng2lhJCIm33cblM0= github.com/gobuffalo/envy v1.10.1/go.mod h1:AWx4++KnNOW3JOeEvhSaq+mvgAvnMYOY1XSIin4Mago= -<<<<<<< HEAD -github.com/gobuffalo/events v1.4.1 h1:OLJIun6wRx4DOW19XoL/AoyjuJltqeOBFH3q8cDvNb8= -github.com/gobuffalo/events v1.4.1/go.mod h1:SjXgWKpeSuvQDvGhgMz5IXx3Czu+IbL+XPLR41NvVQY= -======= github.com/gobuffalo/events v1.4.2 h1:9X4nBKGXOU/N/3AFRO0SxYvpL88lws8M7f5FODbWCm4= github.com/gobuffalo/events v1.4.2/go.mod h1:GI0w4OrQDQP/tIIC9FPl04qWs4dTx52DLCCcwVg7Ltc= ->>>>>>> master github.com/gobuffalo/fizz v1.10.0 h1:I8vad0PnmR+CLjSnZ5L5jlhBm4S88UIGOoZZL3/3e24= github.com/gobuffalo/fizz v1.10.0/go.mod h1:J2XGPO0AfJ1zKw7+2BA+6FEGAkyEsdCOLvN93WCT2WI= github.com/gobuffalo/flect v0.1.5/go.mod h1:W3K3X9ksuZfir8f/LrfVtWmCDQFfayuylOJ7sz/Fj80= github.com/gobuffalo/flect v0.2.0/go.mod h1:W3K3X9ksuZfir8f/LrfVtWmCDQFfayuylOJ7sz/Fj80= github.com/gobuffalo/flect v0.2.1/go.mod h1:vmkQwuZYhN5Pc4ljYQZzP+1sq+NEkK+lh20jmEmX3jc= -<<<<<<< HEAD -======= github.com/gobuffalo/flect v0.2.3/go.mod h1:vmkQwuZYhN5Pc4ljYQZzP+1sq+NEkK+lh20jmEmX3jc= ->>>>>>> master github.com/gobuffalo/flect v0.2.4 h1:BSYA8+T60cdyq+vynaSUjqSVI9mDEg9ZfQUXKmfjo4I= github.com/gobuffalo/flect v0.2.4/go.mod h1:1ZyCLIbg0YD7sDkzvFdPoOydPtD8y9JQnrOROolUcM8= github.com/gobuffalo/genny/v2 v2.0.5/go.mod h1:kRkJuAw9mdI37AiEYjV4Dl+TgkBDYf8HZVjLkqe5eBg= @@ -185,13 +177,8 @@ github.com/gobuffalo/here v0.4.0/go.mod h1:bTNk/uKZgycuB358iR0D32dI9kHBClBGpXjW2 github.com/gobuffalo/httptest v1.5.1 h1:WwCZrMYVDqkjTlxo7OasFOMvdaG4ysriidJoqcedv2M= github.com/gobuffalo/httptest v1.5.1/go.mod h1:uEeEFF2BRyTMNAATqFQAKYvpHrWWPNoJbIB3YPuANNM= github.com/gobuffalo/logger v1.0.3/go.mod h1:SoeejUwldiS7ZsyCBphOGURmWdwUFXs0J7TCjEhjKxM= -<<<<<<< HEAD -github.com/gobuffalo/logger v1.0.4 h1:HFJRqL7AmL4QNvQb9Grss9sDz+3u02VBgAoR03A7q4o= -github.com/gobuffalo/logger v1.0.4/go.mod h1:/GRUdWb+gM3shxj0P5jiV6ecVS3X0aboJvl+hBu0HeE= -======= github.com/gobuffalo/logger v1.0.6 h1:nnZNpxYo0zx+Aj9RfMPBm+x9zAU2OayFh/xrAWi34HU= github.com/gobuffalo/logger v1.0.6/go.mod h1:J31TBEHR1QLV2683OXTAItYIg8pv2JMHnF/quuAbMjs= ->>>>>>> master github.com/gobuffalo/meta v0.3.1 h1:wrg94uDwu3bM3HMdmz2wlT8A9iAJvMKbHmYs8Rxi63I= github.com/gobuffalo/meta v0.3.1/go.mod h1:garIq5Vcqs5dj8nv3YG8hRbqAdQhIOt0DAXmaLtO7OU= github.com/gobuffalo/nulls v0.2.0/go.mod h1:w4q8RoSCEt87Q0K0sRIZWYeIxkxog5mh3eN3C/n+dUc= @@ -398,11 +385,8 @@ github.com/jackc/puddle v1.1.3/go.mod h1:m4B5Dj62Y0fbyuIc15OsIqK0+JU8nkqQjsgx7dv github.com/jmespath/go-jmespath v0.0.0-20180206201540-c2b33e8439af/go.mod h1:Nht3zPeWKUH0NzdCt2Blrr5ys8VGpn0CEB0cQHVjt7k= github.com/jmoiron/sqlx v1.2.0/go.mod h1:1FEQNm3xlJgrMD+FBdI9+xvCksHtbpVBBw5dYhBSsks= github.com/jmoiron/sqlx v1.3.3/go.mod h1:2BljVx/86SuTyjE+aPYlHCTNvZrnJXghYGpNiXLBMCQ= -<<<<<<< HEAD -======= github.com/jmoiron/sqlx v1.3.4 h1:wv+0IJZfL5z0uZoUjlpKgHkgaFSYD+r9CfrXjEXsO7w= github.com/jmoiron/sqlx v1.3.4/go.mod h1:2BljVx/86SuTyjE+aPYlHCTNvZrnJXghYGpNiXLBMCQ= ->>>>>>> master github.com/joho/godotenv v1.3.0/go.mod h1:7hK45KPybAkOC6peb+G5yklZfMxEjkZhHbwpqxOKXbg= github.com/joho/godotenv v1.4.0 h1:3l4+N6zfMWnkbPEXKng2o2/MR5mSwTrBih4ZEkkz1lg= github.com/joho/godotenv v1.4.0/go.mod h1:f4LDr5Voq0i2e/R5DDNOoa2zzDfwtkZa6DnEwAbqwq4= @@ -770,14 +754,9 @@ golang.org/x/net v0.0.0-20210119194325-5f4716e94777/go.mod h1:m0MpNAwzfU5UDzcl9v golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20210316092652-d523dce5a7f4/go.mod h1:RBQZq4jEuRlivfhVLdyRGr576XBO4/greRjx4P4O3yc= golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM= -<<<<<<< HEAD -golang.org/x/net v0.0.0-20210614182718-04defd469f4e h1:XpT3nA5TvE525Ne3hInMh6+GETgn27Zfm9dxsThnX2Q= -golang.org/x/net v0.0.0-20210614182718-04defd469f4e/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -======= golang.org/x/net v0.0.0-20210614182718-04defd469f4e/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20211015210444-4f30a5c0130f h1:OfiFi4JbukWwe3lzw+xunroH1mnC1e2Gy5cxNJApiSY= golang.org/x/net v0.0.0-20211015210444-4f30a5c0130f/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= ->>>>>>> master golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= @@ -856,10 +835,6 @@ golang.org/x/sys v0.0.0-20210320140829-1e4c9ba3b0c4/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210403161142-5e06dd20ab57/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -<<<<<<< HEAD -golang.org/x/sys v0.0.0-20210510120138-977fb7262007 h1:gG67DSER+11cZvqIMb8S8bt0vZtiN6xWYARwirrOSfE= -======= ->>>>>>> master golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c h1:F1jZWGFhYfh0Ci55sIpILtKKK8p3i2/krTr0H1rg74I= From 03ec8db7b6cfd8495b48fee0d624d1214c0bd451 Mon Sep 17 00:00:00 2001 From: Matthias Fasching Date: Wed, 24 Nov 2021 12:37:29 +0000 Subject: [PATCH 61/64] Replace packr with embed fs (#2166) * v0.17.5 (#2165) * adding direct version on the docker build * fixing plugin installation * Fix npm's package.json permissions (#2005) Changed created file permissions from 644 (`-w----r--`) to 0644 (`rw-r--r--`) * Bump spf13/viper to v1.7.0 (#1999) * bunping version * changing version on dockerfile * patch to fix the keywords check on new app * removing unneeded append * Task fixing html binder (#2016) * binder was not wired * packing * adding new version number * pulling the buffalo binary from gobinaries.com * Task updating formam (#2025) * v0.16.13 (#2019) * adding direct version on the docker build * fixing plugin installation * Fix npm's package.json permissions (#2005) Changed created file permissions from 644 (`-w----r--`) to 0644 (`rw-r--r--`) * Bump spf13/viper to v1.7.0 (#1999) * bunping version * changing version on dockerfile * patch to fix the keywords check on new app * removing unneeded append * Task fixing html binder (#2016) * binder was not wired * packing * adding new version number * pulling the buffalo binary from gobinaries.com Co-authored-by: Disconnect3d Co-authored-by: hackerman <3372410+aeneasr@users.noreply.github.com> * updating formam Co-authored-by: Disconnect3d Co-authored-by: hackerman <3372410+aeneasr@users.noreply.github.com> * Fixes #1987 and #2023 (#2026) * v0.16.13 (#2019) * adding direct version on the docker build * fixing plugin installation * Fix npm's package.json permissions (#2005) Changed created file permissions from 644 (`-w----r--`) to 0644 (`rw-r--r--`) * Bump spf13/viper to v1.7.0 (#1999) * bunping version * changing version on dockerfile * patch to fix the keywords check on new app * removing unneeded append * Task fixing html binder (#2016) * binder was not wired * packing * adding new version number * pulling the buffalo binary from gobinaries.com Co-authored-by: Disconnect3d Co-authored-by: hackerman <3372410+aeneasr@users.noreply.github.com> * fixing #1987 and #2023 * adding missing converstion * removing commented code Co-authored-by: Disconnect3d Co-authored-by: hackerman <3372410+aeneasr@users.noreply.github.com> * changing version number * moving to latest 2 go versions (#2038) * Task binding cleanup (#2039) * moving to latest 2 go versions * cleaning up the decoder on the binding package * Task update formam (#2041) * v0.16.14 (#2030) * adding direct version on the docker build * fixing plugin installation * Fix npm's package.json permissions (#2005) Changed created file permissions from 644 (`-w----r--`) to 0644 (`rw-r--r--`) * Bump spf13/viper to v1.7.0 (#1999) * bunping version * changing version on dockerfile * patch to fix the keywords check on new app * removing unneeded append * Task fixing html binder (#2016) * binder was not wired * packing * adding new version number * pulling the buffalo binary from gobinaries.com * Task updating formam (#2025) * v0.16.13 (#2019) * adding direct version on the docker build * fixing plugin installation * Fix npm's package.json permissions (#2005) Changed created file permissions from 644 (`-w----r--`) to 0644 (`rw-r--r--`) * Bump spf13/viper to v1.7.0 (#1999) * bunping version * changing version on dockerfile * patch to fix the keywords check on new app * removing unneeded append * Task fixing html binder (#2016) * binder was not wired * packing * adding new version number * pulling the buffalo binary from gobinaries.com Co-authored-by: Disconnect3d Co-authored-by: hackerman <3372410+aeneasr@users.noreply.github.com> * updating formam Co-authored-by: Disconnect3d Co-authored-by: hackerman <3372410+aeneasr@users.noreply.github.com> * Fixes #1987 and #2023 (#2026) * v0.16.13 (#2019) * adding direct version on the docker build * fixing plugin installation * Fix npm's package.json permissions (#2005) Changed created file permissions from 644 (`-w----r--`) to 0644 (`rw-r--r--`) * Bump spf13/viper to v1.7.0 (#1999) * bunping version * changing version on dockerfile * patch to fix the keywords check on new app * removing unneeded append * Task fixing html binder (#2016) * binder was not wired * packing * adding new version number * pulling the buffalo binary from gobinaries.com Co-authored-by: Disconnect3d Co-authored-by: hackerman <3372410+aeneasr@users.noreply.github.com> * fixing #1987 and #2023 * adding missing converstion * removing commented code Co-authored-by: Disconnect3d Co-authored-by: hackerman <3372410+aeneasr@users.noreply.github.com> * changing version number Co-authored-by: Disconnect3d Co-authored-by: hackerman <3372410+aeneasr@users.noreply.github.com> * updates formam version #2040 Co-authored-by: Disconnect3d Co-authored-by: hackerman <3372410+aeneasr@users.noreply.github.com> * updating flect versionm (#2042) * updating version * updating some libraries to pass the github security warnings (#2044) * Removing Grifts folder (#2050) * removing the grifts folder * removing grifts folder from codeclimate exceptions * fixes the non-existing .git folder case (#2053) * calling persist explicitly (#2054) * adding version number * Pointing README to new go docs link * running packr2 * Warns if response is attempted to be written twice (#2059) * v0.16.16 (#2055) * adding direct version on the docker build * fixing plugin installation * Fix npm's package.json permissions (#2005) Changed created file permissions from 644 (`-w----r--`) to 0644 (`rw-r--r--`) * Bump spf13/viper to v1.7.0 (#1999) * bunping version * changing version on dockerfile * patch to fix the keywords check on new app * removing unneeded append * Task fixing html binder (#2016) * binder was not wired * packing * adding new version number * pulling the buffalo binary from gobinaries.com * Task updating formam (#2025) * v0.16.13 (#2019) * adding direct version on the docker build * fixing plugin installation * Fix npm's package.json permissions (#2005) Changed created file permissions from 644 (`-w----r--`) to 0644 (`rw-r--r--`) * Bump spf13/viper to v1.7.0 (#1999) * bunping version * changing version on dockerfile * patch to fix the keywords check on new app * removing unneeded append * Task fixing html binder (#2016) * binder was not wired * packing * adding new version number * pulling the buffalo binary from gobinaries.com Co-authored-by: Disconnect3d Co-authored-by: hackerman <3372410+aeneasr@users.noreply.github.com> * updating formam Co-authored-by: Disconnect3d Co-authored-by: hackerman <3372410+aeneasr@users.noreply.github.com> * Fixes #1987 and #2023 (#2026) * v0.16.13 (#2019) * adding direct version on the docker build * fixing plugin installation * Fix npm's package.json permissions (#2005) Changed created file permissions from 644 (`-w----r--`) to 0644 (`rw-r--r--`) * Bump spf13/viper to v1.7.0 (#1999) * bunping version * changing version on dockerfile * patch to fix the keywords check on new app * removing unneeded append * Task fixing html binder (#2016) * binder was not wired * packing * adding new version number * pulling the buffalo binary from gobinaries.com Co-authored-by: Disconnect3d Co-authored-by: hackerman <3372410+aeneasr@users.noreply.github.com> * fixing #1987 and #2023 * adding missing converstion * removing commented code Co-authored-by: Disconnect3d Co-authored-by: hackerman <3372410+aeneasr@users.noreply.github.com> * changing version number * moving to latest 2 go versions (#2038) * Task binding cleanup (#2039) * moving to latest 2 go versions * cleaning up the decoder on the binding package * Task update formam (#2041) * v0.16.14 (#2030) * adding direct version on the docker build * fixing plugin installation * Fix npm's package.json permissions (#2005) Changed created file permissions from 644 (`-w----r--`) to 0644 (`rw-r--r--`) * Bump spf13/viper to v1.7.0 (#1999) * bunping version * changing version on dockerfile * patch to fix the keywords check on new app * removing unneeded append * Task fixing html binder (#2016) * binder was not wired * packing * adding new version number * pulling the buffalo binary from gobinaries.com * Task updating formam (#2025) * v0.16.13 (#2019) * adding direct version on the docker build * fixing plugin installation * Fix npm's package.json permissions (#2005) Changed created file permissions from 644 (`-w----r--`) to 0644 (`rw-r--r--`) * Bump spf13/viper to v1.7.0 (#1999) * bunping version * changing version on dockerfile * patch to fix the keywords check on new app * removing unneeded append * Task fixing html binder (#2016) * binder was not wired * packing * adding new version number * pulling the buffalo binary from gobinaries.com Co-authored-by: Disconnect3d Co-authored-by: hackerman <3372410+aeneasr@users.noreply.github.com> * updating formam Co-authored-by: Disconnect3d Co-authored-by: hackerman <3372410+aeneasr@users.noreply.github.com> * Fixes #1987 and #2023 (#2026) * v0.16.13 (#2019) * adding direct version on the docker build * fixing plugin installation * Fix npm's package.json permissions (#2005) Changed created file permissions from 644 (`-w----r--`) to 0644 (`rw-r--r--`) * Bump spf13/viper to v1.7.0 (#1999) * bunping version * changing version on dockerfile * patch to fix the keywords check on new app * removing unneeded append * Task fixing html binder (#2016) * binder was not wired * packing * adding new version number * pulling the buffalo binary from gobinaries.com Co-authored-by: Disconnect3d Co-authored-by: hackerman <3372410+aeneasr@users.noreply.github.com> * fixing #1987 and #2023 * adding missing converstion * removing commented code Co-authored-by: Disconnect3d Co-authored-by: hackerman <3372410+aeneasr@users.noreply.github.com> * changing version number Co-authored-by: Disconnect3d Co-authored-by: hackerman <3372410+aeneasr@users.noreply.github.com> * updates formam version #2040 Co-authored-by: Disconnect3d Co-authored-by: hackerman <3372410+aeneasr@users.noreply.github.com> * updating flect versionm (#2042) * updating version * updating some libraries to pass the github security warnings (#2044) * Removing Grifts folder (#2050) * removing the grifts folder * removing grifts folder from codeclimate exceptions * fixes the non-existing .git folder case (#2053) * calling persist explicitly (#2054) * adding version number Co-authored-by: Disconnect3d Co-authored-by: hackerman <3372410+aeneasr@users.noreply.github.com> * only writing the header if it has not been written * bumping version * adding packr2 files Co-authored-by: Disconnect3d Co-authored-by: hackerman <3372410+aeneasr@users.noreply.github.com> * allows to specify custom partialfeeders * cleaning up a bit for codeclimate * changing the version * Application Route Namer (#2075) * Development (#2072) * adding direct version on the docker build * fixing plugin installation * Fix npm's package.json permissions (#2005) Changed created file permissions from 644 (`-w----r--`) to 0644 (`rw-r--r--`) * Bump spf13/viper to v1.7.0 (#1999) * bunping version * changing version on dockerfile * patch to fix the keywords check on new app * removing unneeded append * Task fixing html binder (#2016) * binder was not wired * packing * adding new version number * pulling the buffalo binary from gobinaries.com * Task updating formam (#2025) * v0.16.13 (#2019) * adding direct version on the docker build * fixing plugin installation * Fix npm's package.json permissions (#2005) Changed created file permissions from 644 (`-w----r--`) to 0644 (`rw-r--r--`) * Bump spf13/viper to v1.7.0 (#1999) * bunping version * changing version on dockerfile * patch to fix the keywords check on new app * removing unneeded append * Task fixing html binder (#2016) * binder was not wired * packing * adding new version number * pulling the buffalo binary from gobinaries.com Co-authored-by: Disconnect3d Co-authored-by: hackerman <3372410+aeneasr@users.noreply.github.com> * updating formam Co-authored-by: Disconnect3d Co-authored-by: hackerman <3372410+aeneasr@users.noreply.github.com> * Fixes #1987 and #2023 (#2026) * v0.16.13 (#2019) * adding direct version on the docker build * fixing plugin installation * Fix npm's package.json permissions (#2005) Changed created file permissions from 644 (`-w----r--`) to 0644 (`rw-r--r--`) * Bump spf13/viper to v1.7.0 (#1999) * bunping version * changing version on dockerfile * patch to fix the keywords check on new app * removing unneeded append * Task fixing html binder (#2016) * binder was not wired * packing * adding new version number * pulling the buffalo binary from gobinaries.com Co-authored-by: Disconnect3d Co-authored-by: hackerman <3372410+aeneasr@users.noreply.github.com> * fixing #1987 and #2023 * adding missing converstion * removing commented code Co-authored-by: Disconnect3d Co-authored-by: hackerman <3372410+aeneasr@users.noreply.github.com> * changing version number * moving to latest 2 go versions (#2038) * Task binding cleanup (#2039) * moving to latest 2 go versions * cleaning up the decoder on the binding package * Task update formam (#2041) * v0.16.14 (#2030) * adding direct version on the docker build * fixing plugin installation * Fix npm's package.json permissions (#2005) Changed created file permissions from 644 (`-w----r--`) to 0644 (`rw-r--r--`) * Bump spf13/viper to v1.7.0 (#1999) * bunping version * changing version on dockerfile * patch to fix the keywords check on new app * removing unneeded append * Task fixing html binder (#2016) * binder was not wired * packing * adding new version number * pulling the buffalo binary from gobinaries.com * Task updating formam (#2025) * v0.16.13 (#2019) * adding direct version on the docker build * fixing plugin installation * Fix npm's package.json permissions (#2005) Changed created file permissions from 644 (`-w----r--`) to 0644 (`rw-r--r--`) * Bump spf13/viper to v1.7.0 (#1999) * bunping version * changing version on dockerfile * patch to fix the keywords check on new app * removing unneeded append * Task fixing html binder (#2016) * binder was not wired * packing * adding new version number * pulling the buffalo binary from gobinaries.com Co-authored-by: Disconnect3d Co-authored-by: hackerman <3372410+aeneasr@users.noreply.github.com> * updating formam Co-authored-by: Disconnect3d Co-authored-by: hackerman <3372410+aeneasr@users.noreply.github.com> * Fixes #1987 and #2023 (#2026) * v0.16.13 (#2019) * adding direct version on the docker build * fixing plugin installation * Fix npm's package.json permissions (#2005) Changed created file permissions from 644 (`-w----r--`) to 0644 (`rw-r--r--`) * Bump spf13/viper to v1.7.0 (#1999) * bunping version * changing version on dockerfile * patch to fix the keywords check on new app * removing unneeded append * Task fixing html binder (#2016) * binder was not wired * packing * adding new version number * pulling the buffalo binary from gobinaries.com Co-authored-by: Disconnect3d Co-authored-by: hackerman <3372410+aeneasr@users.noreply.github.com> * fixing #1987 and #2023 * adding missing converstion * removing commented code Co-authored-by: Disconnect3d Co-authored-by: hackerman <3372410+aeneasr@users.noreply.github.com> * changing version number Co-authored-by: Disconnect3d Co-authored-by: hackerman <3372410+aeneasr@users.noreply.github.com> * updates formam version #2040 Co-authored-by: Disconnect3d Co-authored-by: hackerman <3372410+aeneasr@users.noreply.github.com> * updating flect versionm (#2042) * updating version * updating some libraries to pass the github security warnings (#2044) * Removing Grifts folder (#2050) * removing the grifts folder * removing grifts folder from codeclimate exceptions * fixes the non-existing .git folder case (#2053) * calling persist explicitly (#2054) * adding version number * Pointing README to new go docs link * running packr2 * Warns if response is attempted to be written twice (#2059) * v0.16.16 (#2055) * adding direct version on the docker build * fixing plugin installation * Fix npm's package.json permissions (#2005) Changed created file permissions from 644 (`-w----r--`) to 0644 (`rw-r--r--`) * Bump spf13/viper to v1.7.0 (#1999) * bunping version * changing version on dockerfile * patch to fix the keywords check on new app * removing unneeded append * Task fixing html binder (#2016) * binder was not wired * packing * adding new version number * pulling the buffalo binary from gobinaries.com * Task updating formam (#2025) * v0.16.13 (#2019) * adding direct version on the docker build * fixing plugin installation * Fix npm's package.json permissions (#2005) Changed created file permissions from 644 (`-w----r--`) to 0644 (`rw-r--r--`) * Bump spf13/viper to v1.7.0 (#1999) * bunping version * changing version on dockerfile * patch to fix the keywords check on new app * removing unneeded append * Task fixing html binder (#2016) * binder was not wired * packing * adding new version number * pulling the buffalo binary from gobinaries.com Co-authored-by: Disconnect3d Co-authored-by: hackerman <3372410+aeneasr@users.noreply.github.com> * updating formam Co-authored-by: Disconnect3d Co-authored-by: hackerman <3372410+aeneasr@users.noreply.github.com> * Fixes #1987 and #2023 (#2026) * v0.16.13 (#2019) * adding direct version on the docker build * fixing plugin installation * Fix npm's package.json permissions (#2005) Changed created file permissions from 644 (`-w----r--`) to 0644 (`rw-r--r--`) * Bump spf13/viper to v1.7.0 (#1999) * bunping version * changing version on dockerfile * patch to fix the keywords check on new app * removing unneeded append * Task fixing html binder (#2016) * binder was not wired * packing * adding new version number * pulling the buffalo binary from gobinaries.com Co-authored-by: Disconnect3d Co-authored-by: hackerman <3372410+aeneasr@users.noreply.github.com> * fixing #1987 and #2023 * adding missing converstion * removing commented code Co-authored-by: Disconnect3d Co-authored-by: hackerman <3372410+aeneasr@users.noreply.github.com> * changing version number * moving to latest 2 go versions (#2038) * Task binding cleanup (#2039) * moving to latest 2 go versions * cleaning up the decoder on the binding package * Task update formam (#2041) * v0.16.14 (#2030) * adding direct version on the docker build * fixing plugin installation * Fix npm's package.json permissions (#2005) Changed created file permissions from 644 (`-w----r--`) to 0644 (`rw-r--r--`) * Bump spf13/viper to v1.7.0 (#1999) * bunping version * changing version on dockerfile * patch to fix the keywords check on new app * removing unneeded append * Task fixing html binder (#2016) * binder was not wired * packing * adding new version number * pulling the buffalo binary from gobinaries.com * Task updating formam (#2025) * v0.16.13 (#2019) * adding direct version on the docker build * fixing plugin installation * Fix npm's package.json permissions (#2005) Changed created file permissions from 644 (`-w----r--`) to 0644 (`rw-r--r--`) * Bump spf13/viper to v1.7.0 (#1999) * bunping version * changing version on dockerfile * patch to fix the keywords check on new app * removing unneeded append * Task fixing html binder (#2016) * binder was not wired * packing * adding new version number * pulling the buffalo binary from gobinaries.com Co-authored-by: Disconnect3d Co-authored-by: hackerman <3372410+aeneasr@users.noreply.github.com> * updating formam Co-authored-by: Disconnect3d Co-authored-by: hackerman <3372410+aeneasr@users.noreply.github.com> * Fixes #1987 and #2023 (#2026) * v0.16.13 (#2019) * adding direct version on the docker build * fixing plugin installation * Fix npm's package.json permissions (#2005) Changed created file permissions from 644 (`-w----r--`) to 0644 (`rw-r--r--`) * Bump spf13/viper to v1.7.0 (#1999) * bunping version * changing version on dockerfile * patch to fix the keywords check on new app * removing unneeded append * Task fixing html binder (#2016) * binder was not wired * packing * adding new version number * pulling the buffalo binary from gobinaries.com Co-authored-by: Disconnect3d Co-authored-by: hackerman <3372410+aeneasr@users.noreply.github.com> * fixing #1987 and #2023 * adding missing converstion * removing commented code Co-authored-by: Disconnect3d Co-authored-by: hackerman <3372410+aeneasr@users.noreply.github.com> * changing version number Co-authored-by: Disconnect3d Co-authored-by: hackerman <3372410+aeneasr@users.noreply.github.com> * updates formam version #2040 Co-authored-by: Disconnect3d Co-authored-by: hackerman <3372410+aeneasr@users.noreply.github.com> * updating flect versionm (#2042) * updating version * updating some libraries to pass the github security warnings (#2044) * Removing Grifts folder (#2050) * removing the grifts folder * removing grifts folder from codeclimate exceptions * fixes the non-existing .git folder case (#2053) * calling persist explicitly (#2054) * adding version number Co-authored-by: Disconnect3d Co-authored-by: hackerman <3372410+aeneasr@users.noreply.github.com> * only writing the header if it has not been written * bumping version * adding packr2 files Co-authored-by: Disconnect3d Co-authored-by: hackerman <3372410+aeneasr@users.noreply.github.com> * allows to specify custom partialfeeders * cleaning up a bit for codeclimate * changing the version Co-authored-by: Disconnect3d Co-authored-by: hackerman <3372410+aeneasr@users.noreply.github.com> * allowing apps to define their own route namers * tweaking and packing Co-authored-by: Disconnect3d Co-authored-by: hackerman <3372410+aeneasr@users.noreply.github.com> * v0.16.19 * fixing groups routenamer issue * version change * Fix generated GitLab ci YAML (#2086) * gitlab-ci: Default to Golang 1.15 Given the policy by the golang team to support and maintain only the latest two Go releases defaulting to Go 1.8 effectily made buffalo test with a EOL'ed Golang. This change defaults to 1.15, and allows the user to switch to 1.16 with the already present latest switch. * gitlab-ci: Leverage gomodules over GOPATH Prior to this change, the `.gitlab-ci.yml` linked the directories so that GOPATH would work. Given buffalo now always uses gomodules these steps are no longer required, and currently even break the pipeline created from the generated CI definitions. By just executing the job in the `/builds` subdirectory gomodules work as expected again. * gitlab-ci: Update postgres connection details Docker links the containers differently than was priorly assumed for GitLab CI. As such the out-of-the-box settings weren't properly working. This change resolves that in the CI YAML definitions to isolate the changes from local setups. * moving to last 2 versions of Go * Bump elliptic from 6.5.3 to 6.5.4 in /genny/build/_fixtures/coke (#2088) * Update 'goreleaser' config to use new syntax (#2079) Previous config used `brews`, which has been deprecated and superseded by `tap`: https://goreleaser.com/deprecations/#brewsgithub * Bump elliptic from 6.5.3 to 6.5.4 in /genny/build/_fixtures/coke Bumps [elliptic](https://github.com/indutny/elliptic) from 6.5.3 to 6.5.4. - [Release notes](https://github.com/indutny/elliptic/releases) - [Commits](https://github.com/indutny/elliptic/compare/v6.5.3...v6.5.4) Signed-off-by: dependabot[bot] Co-authored-by: Adriano Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * updating plush and helpers package * adding latest plush * updating version * packing missing * using the correct packatge * Feature/improved error reporting in production (#2108) * Development (#2099) * adding direct version on the docker build * fixing plugin installation * Fix npm's package.json permissions (#2005) Changed created file permissions from 644 (`-w----r--`) to 0644 (`rw-r--r--`) * Bump spf13/viper to v1.7.0 (#1999) * bunping version * changing version on dockerfile * patch to fix the keywords check on new app * removing unneeded append * Task fixing html binder (#2016) * binder was not wired * packing * adding new version number * pulling the buffalo binary from gobinaries.com * Task updating formam (#2025) * v0.16.13 (#2019) * adding direct version on the docker build * fixing plugin installation * Fix npm's package.json permissions (#2005) Changed created file permissions from 644 (`-w----r--`) to 0644 (`rw-r--r--`) * Bump spf13/viper to v1.7.0 (#1999) * bunping version * changing version on dockerfile * patch to fix the keywords check on new app * removing unneeded append * Task fixing html binder (#2016) * binder was not wired * packing * adding new version number * pulling the buffalo binary from gobinaries.com Co-authored-by: Disconnect3d Co-authored-by: hackerman <3372410+aeneasr@users.noreply.github.com> * updating formam Co-authored-by: Disconnect3d Co-authored-by: hackerman <3372410+aeneasr@users.noreply.github.com> * Fixes #1987 and #2023 (#2026) * v0.16.13 (#2019) * adding direct version on the docker build * fixing plugin installation * Fix npm's package.json permissions (#2005) Changed created file permissions from 644 (`-w----r--`) to 0644 (`rw-r--r--`) * Bump spf13/viper to v1.7.0 (#1999) * bunping version * changing version on dockerfile * patch to fix the keywords check on new app * removing unneeded append * Task fixing html binder (#2016) * binder was not wired * packing * adding new version number * pulling the buffalo binary from gobinaries.com Co-authored-by: Disconnect3d Co-authored-by: hackerman <3372410+aeneasr@users.noreply.github.com> * fixing #1987 and #2023 * adding missing converstion * removing commented code Co-authored-by: Disconnect3d Co-authored-by: hackerman <3372410+aeneasr@users.noreply.github.com> * changing version number * moving to latest 2 go versions (#2038) * Task binding cleanup (#2039) * moving to latest 2 go versions * cleaning up the decoder on the binding package * Task update formam (#2041) * v0.16.14 (#2030) * adding direct version on the docker build * fixing plugin installation * Fix npm's package.json permissions (#2005) Changed created file permissions from 644 (`-w----r--`) to 0644 (`rw-r--r--`) * Bump spf13/viper to v1.7.0 (#1999) * bunping version * changing version on dockerfile * patch to fix the keywords check on new app * removing unneeded append * Task fixing html binder (#2016) * binder was not wired * packing * adding new version number * pulling the buffalo binary from gobinaries.com * Task updating formam (#2025) * v0.16.13 (#2019) * adding direct version on the docker build * fixing plugin installation * Fix npm's package.json permissions (#2005) Changed created file permissions from 644 (`-w----r--`) to 0644 (`rw-r--r--`) * Bump spf13/viper to v1.7.0 (#1999) * bunping version * changing version on dockerfile * patch to fix the keywords check on new app * removing unneeded append * Task fixing html binder (#2016) * binder was not wired * packing * adding new version number * pulling the buffalo binary from gobinaries.com Co-authored-by: Disconnect3d Co-authored-by: hackerman <3372410+aeneasr@users.noreply.github.com> * updating formam Co-authored-by: Disconnect3d Co-authored-by: hackerman <3372410+aeneasr@users.noreply.github.com> * Fixes #1987 and #2023 (#2026) * v0.16.13 (#2019) * adding direct version on the docker build * fixing plugin installation * Fix npm's package.json permissions (#2005) Changed created file permissions from 644 (`-w----r--`) to 0644 (`rw-r--r--`) * Bump spf13/viper to v1.7.0 (#1999) * bunping version * changing version on dockerfile * patch to fix the keywords check on new app * removing unneeded append * Task fixing html binder (#2016) * binder was not wired * packing * adding new version number * pulling the buffalo binary from gobinaries.com Co-authored-by: Disconnect3d Co-authored-by: hackerman <3372410+aeneasr@users.noreply.github.com> * fixing #1987 and #2023 * adding missing converstion * removing commented code Co-authored-by: Disconnect3d Co-authored-by: hackerman <3372410+aeneasr@users.noreply.github.com> * changing version number Co-authored-by: Disconnect3d Co-authored-by: hackerman <3372410+aeneasr@users.noreply.github.com> * updates formam version #2040 Co-authored-by: Disconnect3d Co-authored-by: hackerman <3372410+aeneasr@users.noreply.github.com> * updating flect versionm (#2042) * updating version * updating some libraries to pass the github security warnings (#2044) * Removing Grifts folder (#2050) * removing the grifts folder * removing grifts folder from codeclimate exceptions * fixes the non-existing .git folder case (#2053) * calling persist explicitly (#2054) * adding version number * Pointing README to new go docs link * running packr2 * Warns if response is attempted to be written twice (#2059) * v0.16.16 (#2055) * adding direct version on the docker build * fixing plugin installation * Fix npm's package.json permissions (#2005) Changed created file permissions from 644 (`-w----r--`) to 0644 (`rw-r--r--`) * Bump spf13/viper to v1.7.0 (#1999) * bunping version * changing version on dockerfile * patch to fix the keywords check on new app * removing unneeded append * Task fixing html binder (#2016) * binder was not wired * packing * adding new version number * pulling the buffalo binary from gobinaries.com * Task updating formam (#2025) * v0.16.13 (#2019) * adding direct version on the docker build * fixing plugin installation * Fix npm's package.json permissions (#2005) Changed created file permissions from 644 (`-w----r--`) to 0644 (`rw-r--r--`) * Bump spf13/viper to v1.7.0 (#1999) * bunping version * changing version on dockerfile * patch to fix the keywords check on new app * removing unneeded append * Task fixing html binder (#2016) * binder was not wired * packing * adding new version number * pulling the buffalo binary from gobinaries.com Co-authored-by: Disconnect3d Co-authored-by: hackerman <3372410+aeneasr@users.noreply.github.com> * updating formam Co-authored-by: Disconnect3d Co-authored-by: hackerman <3372410+aeneasr@users.noreply.github.com> * Fixes #1987 and #2023 (#2026) * v0.16.13 (#2019) * adding direct version on the docker build * fixing plugin installation * Fix npm's package.json permissions (#2005) Changed created file permissions from 644 (`-w----r--`) to 0644 (`rw-r--r--`) * Bump spf13/viper to v1.7.0 (#1999) * bunping version * changing version on dockerfile * patch to fix the keywords check on new app * removing unneeded append * Task fixing html binder (#2016) * binder was not wired * packing * adding new version number * pulling the buffalo binary from gobinaries.com Co-authored-by: Disconnect3d Co-authored-by: hackerman <3372410+aeneasr@users.noreply.github.com> * fixing #1987 and #2023 * adding missing converstion * removing commented code Co-authored-by: Disconnect3d Co-authored-by: hackerman <3372410+aeneasr@users.noreply.github.com> * changing version number * moving to latest 2 go versions (#2038) * Task binding cleanup (#2039) * moving to latest 2 go versions * cleaning up the decoder on the binding package * Task update formam (#2041) * v0.16.14 (#2030) * adding direct version on the docker build * fixing plugin installation * Fix npm's package.json permissions (#2005) Changed created file permissions from 644 (`-w----r--`) to 0644 (`rw-r--r--`) * Bump spf13/viper to v1.7.0 (#1999) * bunping version * changing version on dockerfile * patch to fix the keywords check on new app * removing unneeded append * Task fixing html binder (#2016) * binder was not wired * packing * adding new version number * pulling the buffalo binary from gobinaries.com * Task updating formam (#2025) * v0.16.13 (#2019) * adding direct version on the docker build * fixing plugin installation * Fix npm's package.json permissions (#2005) Changed created file permissions from 644 (`-w----r--`) to 0644 (`rw-r--r--`) * Bump spf13/viper to v1.7.0 (#1999) * bunping version * changing version on dockerfile * patch to fix the keywords check on new app * removing unneeded append * Task fixing html binder (#2016) * binder was not wired * packing * adding new version number * pulling the buffalo binary from gobinaries.com Co-authored-by: Disconnect3d Co-authored-by: hackerman <3372410+aeneasr@users.noreply.github.com> * updating formam Co-authored-by: Disconnect3d Co-authored-by: hackerman <3372410+aeneasr@users.noreply.github.com> * Fixes #1987 and #2023 (#2026) * v0.16.13 (#2019) * adding direct version on the docker build * fixing plugin installation * Fix npm's package.json permissions (#2005) Changed created file permissions from 644 (`-w----r--`) to 0644 (`rw-r--r--`) * Bump spf13/viper to v1.7.0 (#1999) * bunping version * changing version on dockerfile * patch to fix the keywords check on new app * removing unneeded append * Task fixing html binder (#2016) * binder was not wired * packing * adding new version number * pulling the buffalo binary from gobinaries.com Co-authored-by: Disconnect3d Co-authored-by: hackerman <3372410+aeneasr@users.noreply.github.com> * fixing #1987 and #2023 * adding missing converstion * removing commented code Co-authored-by: Disconnect3d Co-authored-by: hackerman <3372410+aeneasr@users.noreply.github.com> * changing version number Co-authored-by: Disconnect3d Co-authored-by: hackerman <3372410+aeneasr@users.noreply.github.com> * updates formam version #2040 Co-authored-by: Disconnect3d Co-authored-by: hackerman <3372410+aeneasr@users.noreply.github.com> * updating flect versionm (#2042) * updating version * updating some libraries to pass the github security warnings (#2044) * Removing Grifts folder (#2050) * removing the grifts folder * removing grifts folder from codeclimate exceptions * fixes the non-existing .git folder case (#2053) * calling persist explicitly (#2054) * adding version number Co-authored-by: Disconnect3d Co-authored-by: hackerman <3372410+aeneasr@users.noreply.github.com> * only writing the header if it has not been written * bumping version * adding packr2 files Co-authored-by: Disconnect3d Co-authored-by: hackerman <3372410+aeneasr@users.noreply.github.com> * allows to specify custom partialfeeders * cleaning up a bit for codeclimate * changing the version * Application Route Namer (#2075) * Development (#2072) * adding direct version on the docker build * fixing plugin installation * Fix npm's package.json permissions (#2005) Changed created file permissions from 644 (`-w----r--`) to 0644 (`rw-r--r--`) * Bump spf13/viper to v1.7.0 (#1999) * bunping version * changing version on dockerfile * patch to fix the keywords check on new app * removing unneeded append * Task fixing html binder (#2016) * binder was not wired * packing * adding new version number * pulling the buffalo binary from gobinaries.com * Task updating formam (#2025) * v0.16.13 (#2019) * adding direct version on the docker build * fixing plugin installation * Fix npm's package.json permissions (#2005) Changed created file permissions from 644 (`-w----r--`) to 0644 (`rw-r--r--`) * Bump spf13/viper to v1.7.0 (#1999) * bunping version * changing version on dockerfile * patch to fix the keywords check on new app * removing unneeded append * Task fixing html binder (#2016) * binder was not wired * packing * adding new version number * pulling the buffalo binary from gobinaries.com Co-authored-by: Disconnect3d Co-authored-by: hackerman <3372410+aeneasr@users.noreply.github.com> * updating formam Co-authored-by: Disconnect3d Co-authored-by: hackerman <3372410+aeneasr@users.noreply.github.com> * Fixes #1987 and #2023 (#2026) * v0.16.13 (#2019) * adding direct version on the docker build * fixing plugin installation * Fix npm's package.json permissions (#2005) Changed created file permissions from 644 (`-w----r--`) to 0644 (`rw-r--r--`) * Bump spf13/viper to v1.7.0 (#1999) * bunping version * changing version on dockerfile * patch to fix the keywords check on new app * removing unneeded append * Task fixing html binder (#2016) * binder was not wired * packing * adding new version number * pulling the buffalo binary from gobinaries.com Co-authored-by: Disconnect3d Co-authored-by: hackerman <3372410+aeneasr@users.noreply.github.com> * fixing #1987 and #2023 * adding missing converstion * removing commented code Co-authored-by: Disconnect3d Co-authored-by: hackerman <3372410+aeneasr@users.noreply.github.com> * changing version number * moving to latest 2 go versions (#2038) * Task binding cleanup (#2039) * moving to latest 2 go versions * cleaning up the decoder on the binding package * Task update formam (#2041) * v0.16.14 (#2030) * adding direct version on the docker build * fixing plugin installation * Fix npm's package.json permissions (#2005) Changed created file permissions from 644 (`-w----r--`) to 0644 (`rw-r--r--`) * Bump spf13/viper to v1.7.0 (#1999) * bunping version * changing version on dockerfile * patch to fix the keywords check on new app * removing unneeded append * Task fixing html binder (#2016) * binder was not wired * packing * adding new version number * pulling the buffalo binary from gobinaries.com * Task updating formam (#2025) * v0.16.13 (#2019) * adding direct version on the docker build * fixing plugin installation * Fix npm's package.json permissions (#2005) Changed created file permissions from 644 (`-w----r--`) to 0644 (`rw-r--r--`) * Bump spf13/viper to v1.7.0 (#1999) * bunping version * changing version on dockerfile * patch to fix the keywords check on new app * removing unneeded append * Task fixing html binder (#2016) * binder was not wired * packing * adding new version number * pulling the buffalo binary from gobinaries.com Co-authored-by: Disconnect3d Co-authored-by: hackerman <3372410+aeneasr@users.noreply.github.com> * updating formam Co-authored-by: Disconnect3d Co-authored-by: hackerman <3372410+aeneasr@users.noreply.github.com> * Fixes #1987 and #2023 (#2026) * v0.16.13 (#2019) * adding direct version on the docker build * fixing plugin installation * Fix npm's package.json permissions (#2005) Changed created file permissions from 644 (`-w----r--`) to 0644 (`rw-r--r--`) * Bump spf13/viper to v1.7.0 (#1999) * bunping version * changing version on dockerfile * patch to fix the keywords check on new app * removing unneeded append * Task fixing html binder (#2016) * binder was not wired * packing * adding new version number * pulling the buffalo binary from gobinaries.com Co-authored-by: Disconnect3d Co-authored-by: hackerman <3372410+aeneasr@users.noreply.github.com> * fixing #1987 and #2023 * adding missing converstion * removing commented code Co-authored-by: Disconnect3d Co-authored-by: hackerman <3372410+aeneasr@users.noreply.github.com> * changing version number Co-authored-by: Disconnect3d Co-authored-by: hackerman <3372410+aeneasr@users.noreply.github.com> * updates formam version #2040 Co-authored-by: Disconnect3d Co-authored-by: hackerman <3372410+aeneasr@users.noreply.github.com> * updating flect versionm (#2042) * updating version * updating some libraries to pass the github security warnings (#2044) * Removing Grifts folder (#2050) * removing the grifts folder * removing grifts folder from codeclimate exceptions * fixes the non-existing .git folder case (#2053) * calling persist explicitly (#2054) * adding version number * Pointing README to new go docs link * running packr2 * Warns if response is attempted to be written twice (#2059) * v0.16.16 (#2055) * adding direct version on the docker build * fixing plugin installation * Fix npm's package.json permissions (#2005) Changed created file permissions from 644 (`-w----r--`) to 0644 (`rw-r--r--`) * Bump spf13/viper to v1.7.0 (#1999) * bunping version * changing version on dockerfile * patch to fix the keywords check on new app * removing unneeded append * Task fixing html binder (#2016) * binder was not wired * packing * adding new version number * pulling the buffalo binary from gobinaries.com * Task updating formam (#2025) * v0.16.13 (#2019) * adding direct version on the docker build * fixing plugin installation * Fix npm's package.json permissions (#2005) Changed created file permissions from 644 (`-w----r--`) to 0644 (`rw-r--r--`) * Bump spf13/viper to v1.7.0 (#1999) * bunping version * changing version on dockerfile * patch to fix the keywords check on new app * removing unneeded append * Task fixing html binder (#2016) * binder was not wired * packing * adding new version number * pulling the buffalo binary from gobinaries.com Co-authored-by: Disconnect3d Co-authored-by: hackerman <3372410+aeneasr@users.noreply.github.com> * updating formam Co-authored-by: Disconnect3d Co-authored-by: hackerman <3372410+aeneasr@users.noreply.github.com> * Fixes #1987 and #2023 (#2026) * v0.16.13 (#2019) * adding direct version on the docker build * fixing plugin installation * Fix npm's package.json permissions (#2005) Changed created file permissions from 644 (`-w----r--`) to 0644 (`rw-r--r--`) * Bump spf13/viper to v1.7.0 (#1999) * bunping version * changing version on dockerfile * patch to fix the keywords check on new app * removing unneeded append * Task fixing html binder (#2016) * binder was not wired * packing * adding new version number * pulling the buffalo binary from gobinaries.com Co-authored-by: Disconnect3d Co-authored-by: hackerman <3372410+aeneasr@users.noreply.github.com> * fixing #1987 and #2023 * adding missing converstion * removing commented code Co-authored-by: Disconnect3d Co-authored-by: hackerman <3372410+aeneasr@users.noreply.github.com> * changing version number * moving to latest 2 go versions (#2038) * Task binding cleanup (#2039) * moving to latest 2 go versions * cleaning up the decoder on the binding package * Task update formam (#2041) * v0.16.14 (#2030) * adding direct version on the docker build * fixing plugin installation * Fix npm's package.json permissions (#2005) Changed created file permissions from 644 (`-w----r--`) to 0644 (`rw-r--r--`) * Bump spf13/viper to v1.7.0 (#1999) * bunping version * changing version on dockerfile * patch to fix the keywords check on new app * removing unneeded append * Task fixing html binder (#2016) * binder was not wired * packing * adding new version number * pulling the buffalo binary from gobinaries.com * Task updating formam (#2025) * v0.16.13 (#2019) * adding direct version on the docker build * fixing plugin installation * Fix npm's package.json permissions (#2005) Changed created file permissions from 644 (`-w----r--`) to 0644 (`rw-r--r--`) * Bump spf13/viper to v1.7.0 (#1999) * bunping version * changing version on dockerfile * patch to fix the keywords check on new app * removing unneeded append * Task fixing html binder (#2016) * binder was not wired * packing * adding new version number * pulling the buffalo binary from gobinaries.com Co-authored-by: Disconnect3d Co-authored-by: hackerman <3372410+aeneasr@users.noreply.github.com> * updating formam Co-authored-by: Disconnect3d Co-authored-by: hackerman <3372410+aeneasr@users.noreply.github.com> * Fixes #1987 and #2023 (#2026) * v0.16.13 (#2019) * adding direct version on the docker build * fixing plugin installation * Fix npm's package.json permissions (#2005) Changed created file permissions from 644 (`-w----r--`) to 0644 (`rw-r--r--`) * Bump spf13/viper to v1.7.0 (#1999) * bunping version * changing version on dockerfile * patch to fix the keywords check on new app * removing unneeded append * Task fixing html binder (#2016) * binder was not wired * packing * adding new version number * pulling the buffalo binary from gobinaries.com Co-authored-by: Disconnect3d Co-authored-by: hackerman <3372410+aeneasr@users.noreply.github.com> * fixing #1987 and #2023 * adding missing converstion * removing commented code Co-authored-by: Disconnect3d Co-authored-by: hackerman <3372410+aeneasr@users.noreply.github.com> * changing version number Co-authored-by: Disconnect3d Co-authored-by: hackerman <3372410+aeneasr@users.noreply.github.com> * updates formam version #2040 Co-authored-by: Disconnect3d Co-authored-by: hackerman <3372410+aeneasr@users.noreply.github.com> * updating flect versionm (#2042) * updating version * updating some libraries to pass the github security warnings (#2044) * Removing Grifts folder (#2050) * removing the grifts folder * removing grifts folder from codeclimate exceptions * fixes the non-existing .git folder case (#2053) * calling persist explicitly (#2054) * adding version number Co-authored-by: Disconnect3d Co-authored-by: hackerman <3372410+aeneasr@users.noreply.github.com> * only writing the header if it has not been written * bumping version * adding packr2 files Co-authored-by: Disconnect3d Co-authored-by: hackerman <3372410+aeneasr@users.noreply.github.com> * allows to specify custom partialfeeders * cleaning up a bit for codeclimate * changing the version Co-authored-by: Disconnect3d Co-authored-by: hackerman <3372410+aeneasr@users.noreply.github.com> * allowing apps to define their own route namers * tweaking and packing Co-authored-by: Disconnect3d Co-authored-by: hackerman <3372410+aeneasr@users.noreply.github.com> * v0.16.19 * fixing groups routenamer issue * version change * Fix generated GitLab ci YAML (#2086) * gitlab-ci: Default to Golang 1.15 Given the policy by the golang team to support and maintain only the latest two Go releases defaulting to Go 1.8 effectily made buffalo test with a EOL'ed Golang. This change defaults to 1.15, and allows the user to switch to 1.16 with the already present latest switch. * gitlab-ci: Leverage gomodules over GOPATH Prior to this change, the `.gitlab-ci.yml` linked the directories so that GOPATH would work. Given buffalo now always uses gomodules these steps are no longer required, and currently even break the pipeline created from the generated CI definitions. By just executing the job in the `/builds` subdirectory gomodules work as expected again. * gitlab-ci: Update postgres connection details Docker links the containers differently than was priorly assumed for GitLab CI. As such the out-of-the-box settings weren't properly working. This change resolves that in the CI YAML definitions to isolate the changes from local setups. * moving to last 2 versions of Go * Bump elliptic from 6.5.3 to 6.5.4 in /genny/build/_fixtures/coke (#2088) * Update 'goreleaser' config to use new syntax (#2079) Previous config used `brews`, which has been deprecated and superseded by `tap`: https://goreleaser.com/deprecations/#brewsgithub * Bump elliptic from 6.5.3 to 6.5.4 in /genny/build/_fixtures/coke Bumps [elliptic](https://github.com/indutny/elliptic) from 6.5.3 to 6.5.4. - [Release notes](https://github.com/indutny/elliptic/releases) - [Commits](https://github.com/indutny/elliptic/compare/v6.5.3...v6.5.4) Signed-off-by: dependabot[bot] Co-authored-by: Adriano Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * updating plush and helpers package * adding latest plush * updating version * packing missing * using the correct packatge Co-authored-by: Disconnect3d Co-authored-by: hackerman <3372410+aeneasr@users.noreply.github.com> Co-authored-by: Zeger-Jan van de Weg Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Adriano * updating version * Properly display errors in production * Move context value setting * Add test code * Properly set environment variable in test code * Fix XML output to omit trace in production Co-authored-by: Antonio Pagano <645522+paganotoni@users.noreply.github.com> Co-authored-by: Disconnect3d Co-authored-by: hackerman <3372410+aeneasr@users.noreply.github.com> Co-authored-by: Zeger-Jan van de Weg Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Adriano Co-authored-by: Antonio Pagano Co-authored-by: Stefan Dorresteijn * Fix build issues with golang 1.16 (#2113) * Fix build issue #2074 * Stick with go 1.15 for compatibility Co-authored-by: Matthias Fasching * replacing packr2 local thing * fixing broken import path * updating flect version * More reliable fix for Go 1.16 build issues (#2119) * Call "go get -d" when building the a package. * Fix failing tests * updating version * packing * Run go mod tidy when initializing a new project (#2124) * Run go mod tidy when initializing a new project * Use Go 1.15 instead of 1.14 during workflows * Add action to handle stale issues and PRs (#2125) * Update dependencies after buffalo new (#2128) * Update dependencies after buffalo new * Cleanup * adding comment on the underscore import * Update buffalo to go 1.17 (#2139) * v0.17.0 (#2134) * v0.17.0 * removing goreleaser as the binary lives on a separate repo * bumping version * Go mod does not like two things with the same commit * Update buffalo to go 1.17 * Use go install instead of gobinaries * Remove obosolete GO111MODULE * Update go.mod * Fix tests that broke with go 1.17 Co-authored-by: Antonio Pagano <645522+paganotoni@users.noreply.github.com> Co-authored-by: Antonio Pagano * Fix typo (#2150) * fixing the issue with meta * forcing microcosm latest version for now * task: version update * task: mod tidying Co-authored-by: Disconnect3d Co-authored-by: hackerman <3372410+aeneasr@users.noreply.github.com> Co-authored-by: Zeger-Jan van de Weg Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Adriano Co-authored-by: Stefan Dorresteijn Co-authored-by: Stefan Dorresteijn Co-authored-by: Matthias Fasching Co-authored-by: Matthias Fasching Co-authored-by: scheakur * Replace Packr with embedFS * Remove obsolete fields * Use errors package instead of errx * Cleanup * Update to pop V6 * Update pop dependency * Update pop dependency * Update Pop dependency * Update dependency to pop * Update dependency Co-authored-by: Antonio Pagano <645522+paganotoni@users.noreply.github.com> Co-authored-by: Disconnect3d Co-authored-by: hackerman <3372410+aeneasr@users.noreply.github.com> Co-authored-by: Zeger-Jan van de Weg Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Adriano Co-authored-by: Stefan Dorresteijn Co-authored-by: Stefan Dorresteijn Co-authored-by: scheakur --- .codeclimate.yml | 1 - .github/dependabot.yml | 11 + Makefile | 50 --- SHOULDERS.md | 6 - app.go | 1 - default_context.go | 5 +- errors.go | 23 +- go.mod | 11 +- go.sum | 342 +++--------------- .../takeon/github.com/gobuffalo/syncx/LICENSE | 21 -- .../github.com/gobuffalo/syncx/README.md | 18 - .../github.com/gobuffalo/syncx/byte_map.go | 73 ---- .../github.com/gobuffalo/syncx/int_map.go | 73 ---- .../gobuffalo/syncx/interface_map.go | 73 ---- .../github.com/gobuffalo/syncx/string_map.go | 73 ---- .../github.com/gobuffalo/syncx/version.go | 4 - .../takeon/github.com/markbates/errx/LICENSE | 21 -- .../takeon/github.com/markbates/errx/errx.go | 49 --- .../github.com/markbates/errx/version.go | 4 - mail/README.md | 99 +++-- options.go | 4 +- plugins/packrd/packed-packr.go | 126 ------- plugins/plugdeps/plugdeps_test.go | 4 +- plugins/plugins.go | 4 +- render/auto.go | 4 +- render/auto_test.go | 102 +++--- render/html_test.go | 28 +- render/js_test.go | 56 +-- render/markdown_test.go | 17 +- render/options.go | 11 +- render/partials_test.go | 70 ++-- render/plain_test.go | 8 +- render/render_test.go | 6 +- render/template.go | 61 ++-- render/template_helpers.go | 8 +- render/template_test.go | 40 +- request_test.go | 50 --- route_info.go | 4 +- router_test.go | 28 +- server.go | 12 +- 40 files changed, 381 insertions(+), 1220 deletions(-) create mode 100644 .github/dependabot.yml delete mode 100644 Makefile delete mode 100644 internal/takeon/github.com/gobuffalo/syncx/LICENSE delete mode 100644 internal/takeon/github.com/gobuffalo/syncx/README.md delete mode 100644 internal/takeon/github.com/gobuffalo/syncx/byte_map.go delete mode 100644 internal/takeon/github.com/gobuffalo/syncx/int_map.go delete mode 100644 internal/takeon/github.com/gobuffalo/syncx/interface_map.go delete mode 100644 internal/takeon/github.com/gobuffalo/syncx/string_map.go delete mode 100644 internal/takeon/github.com/gobuffalo/syncx/version.go delete mode 100644 internal/takeon/github.com/markbates/errx/LICENSE delete mode 100644 internal/takeon/github.com/markbates/errx/errx.go delete mode 100644 internal/takeon/github.com/markbates/errx/version.go delete mode 100644 plugins/packrd/packed-packr.go delete mode 100644 request_test.go diff --git a/.codeclimate.yml b/.codeclimate.yml index f39e7cad7..c1cdb7632 100644 --- a/.codeclimate.yml +++ b/.codeclimate.yml @@ -23,4 +23,3 @@ exclude_paths: - "*_test.go" - "**_test.go" - "middleware_test.go" - - packrd/**.go diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 000000000..aad738c7e --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,11 @@ +version: 2 +updates: + - package-ecosystem: "gomod" + directory: "/" + schedule: + interval: "daily" + + - package-ecosystem: "github-actions" + directory: "/" + schedule: + interval: "daily" diff --git a/Makefile b/Makefile deleted file mode 100644 index 388f671ec..000000000 --- a/Makefile +++ /dev/null @@ -1,50 +0,0 @@ -TAGS ?= "sqlite" -GO_BIN ?= go - -install: deps - make tidy - $(GO_BIN) install -tags ${TAGS} -v ./buffalo - make tidy - -tidy: - $(GO_BIN) mod tidy - -deps: - $(GO_BIN) get github.com/gobuffalo/release - make tidy - -build: - $(GO_BIN) build -v . - make tidy - -test: - packr2 - $(GO_BIN) test -tags ${TAGS} -cover ./... - packr2 - make tidy - -ci-deps: - $(GO_BIN) get github.com/gobuffalo/buffalo-pop - $(GO_BIN) get -tags ${TAGS} -t -v ./... - make tidy - -ci-test: - docker build . --no-cache --build-arg TRAVIS_BRANCH=$$(git symbolic-ref --short HEAD) - -lint: - golangci-lint --vendor ./... --deadline=1m --skip=internal - -update: - $(GO_BIN) get -u -tags ${TAGS} - make tidy - make test - make install - make tidy - -release-test: - make tidy - -release: - make tidy - release -y -f ./runtime/version.go --skip-packr - make tidy diff --git a/SHOULDERS.md b/SHOULDERS.md index afac02772..e195d327a 100644 --- a/SHOULDERS.md +++ b/SHOULDERS.md @@ -146,12 +146,6 @@ Thank you to the following **GIANTS**: * [github.com/gobuffalo/nulls](https://godoc.org/github.com/gobuffalo/nulls) -* [github.com/gobuffalo/packd](https://godoc.org/github.com/gobuffalo/packd) - -* [github.com/gobuffalo/packr](https://godoc.org/github.com/gobuffalo/packr) - -* [github.com/gobuffalo/packr/v2](https://godoc.org/github.com/gobuffalo/packr/v2) - * [github.com/gobuffalo/plush](https://godoc.org/github.com/gobuffalo/plush) * [github.com/gobuffalo/plushgen](https://godoc.org/github.com/gobuffalo/plushgen) diff --git a/app.go b/app.go index a255bd216..aec94b3a6 100644 --- a/app.go +++ b/app.go @@ -64,7 +64,6 @@ func New(opts Options) *App { c := a.newContext(RouteInfo{}, res, req) err := fmt.Errorf(errorf, req.Method, req.URL.Path) _ = a.ErrorHandlers.Get(code)(code, err, c) - } } diff --git a/default_context.go b/default_context.go index 1e3e0354d..e648948a0 100644 --- a/default_context.go +++ b/default_context.go @@ -4,6 +4,7 @@ import ( "bytes" "context" "encoding/json" + "errors" "fmt" "io" "net/http" @@ -15,7 +16,6 @@ import ( "time" "github.com/gobuffalo/buffalo/binding" - "github.com/gobuffalo/buffalo/internal/takeon/github.com/markbates/errx" "github.com/gobuffalo/buffalo/render" ) @@ -129,7 +129,8 @@ func (d *DefaultContext) Render(status int, rr render.Renderer) error { err := rr.Render(bb, data) if err != nil { - if er, ok := errx.Unwrap(err).(render.ErrRedirect); ok { + var er render.ErrRedirect + if errors.As(err, &er) { return d.Redirect(er.Status, er.URL) } return HTTPError{Status: http.StatusInternalServerError, Cause: err} diff --git a/errors.go b/errors.go index 7d0db0872..ff291ab67 100644 --- a/errors.go +++ b/errors.go @@ -4,6 +4,7 @@ import ( "database/sql" "encoding/json" "encoding/xml" + "errors" "fmt" "net/http" "runtime/debug" @@ -12,7 +13,6 @@ import ( "github.com/gobuffalo/buffalo/internal/defaults" "github.com/gobuffalo/buffalo/internal/httpx" - "github.com/gobuffalo/buffalo/internal/takeon/github.com/markbates/errx" "github.com/gobuffalo/events" "github.com/gobuffalo/plush/v4" ) @@ -23,6 +23,10 @@ type HTTPError struct { Cause error `json:"error"` } +func (h HTTPError) Unwrap() error { + return h.Cause +} + func (h HTTPError) Error() string { return h.Cause.Error() } @@ -105,13 +109,13 @@ func (a *App) defaultErrorMiddleware(next Handler) Handler { return nil } status := http.StatusInternalServerError - // unpack root cause and check for HTTPError - cause := errx.Unwrap(err) - switch cause { - case sql.ErrNoRows: + // unpack root err and check for HTTPError + switch { + case errors.Is(err, sql.ErrNoRows): status = http.StatusNotFound default: - if h, ok := cause.(HTTPError); ok { + var h HTTPError + if errors.As(err, &h) { status = h.Status } } @@ -183,13 +187,16 @@ func defaultErrorHandler(status int, origErr error, c Context) error { } trace := origErr.Error() + if cause := errors.Unwrap(origErr); cause != nil { + origErr = cause + } switch strings.ToLower(requestCT) { case "application/json", "text/json", "json": c.Response().Header().Set("content-type", "application/json") err := json.NewEncoder(c.Response()).Encode(errorResponseDefault(defaultErrorResponse, &ErrorResponse{ - Error: errx.Unwrap(origErr).Error(), + Error: origErr.Error(), Trace: trace, Code: status, })) @@ -199,7 +206,7 @@ func defaultErrorHandler(status int, origErr error, c Context) error { case "application/xml", "text/xml", "xml": c.Response().Header().Set("content-type", "text/xml") err := xml.NewEncoder(c.Response()).Encode(errorResponseDefault(defaultErrorResponse, &ErrorResponse{ - Error: errx.Unwrap(origErr).Error(), + Error: origErr.Error(), Trace: trace, Code: status, })) diff --git a/go.mod b/go.mod index 17adaf1da..b551efccf 100644 --- a/go.mod +++ b/go.mod @@ -10,16 +10,14 @@ require ( github.com/gobuffalo/events v1.4.2 github.com/gobuffalo/flect v0.2.4 github.com/gobuffalo/github_flavored_markdown v1.1.1 - github.com/gobuffalo/helpers v0.6.3 + github.com/gobuffalo/helpers v0.6.4 github.com/gobuffalo/httptest v1.5.1 github.com/gobuffalo/logger v1.0.6 github.com/gobuffalo/meta v0.3.1 github.com/gobuffalo/nulls v0.4.1 - github.com/gobuffalo/packd v1.0.1 - github.com/gobuffalo/packr/v2 v2.8.1 - github.com/gobuffalo/plush/v4 v4.1.8 - github.com/gobuffalo/pop/v5 v5.3.4 - github.com/gobuffalo/tags/v3 v3.1.1 + github.com/gobuffalo/plush/v4 v4.1.9 + github.com/gobuffalo/pop/v6 v6.0.0 + github.com/gobuffalo/tags/v3 v3.1.2 github.com/gorilla/handlers v1.5.1 github.com/gorilla/mux v1.8.0 github.com/gorilla/sessions v1.2.1 @@ -30,6 +28,7 @@ require ( github.com/markbates/safe v1.0.1 github.com/markbates/sigtx v1.0.0 github.com/monoculum/formam v3.5.5+incompatible + github.com/psanford/memfs v0.0.0-20210214183328-a001468d78ef github.com/sirupsen/logrus v1.8.1 github.com/spf13/cobra v1.2.1 github.com/stretchr/testify v1.7.0 diff --git a/go.sum b/go.sum index 2e471bb26..10645f213 100644 --- a/go.sum +++ b/go.sum @@ -41,80 +41,38 @@ github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03 github.com/BurntSushi/toml v0.4.1 h1:GaI7EiDXDRfa8VshkTj7Fym7ha+y8/XxIgD2okUIjLw= github.com/BurntSushi/toml v0.4.1/go.mod h1:CxXYINrC8qIiEnFrOxCa7Jy5BFHlXnUU2pbicEuybxQ= github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= -github.com/Knetic/govaluate v3.0.1-0.20171022003610-9aa49832a739+incompatible/go.mod h1:r7JcOSlj0wfOMncg0iLm8Leh48TZaKVeNIfJntJ2wa0= github.com/Masterminds/semver/v3 v3.0.3/go.mod h1:VPu/7SZ7ePZ3QOrcuXROw5FAcLl4a0cBrbBpGY/8hQs= github.com/Masterminds/semver/v3 v3.1.1 h1:hLg3sBzpNErnxhQtUy/mmLR2I9foDujNK030IGemrRc= github.com/Masterminds/semver/v3 v3.1.1/go.mod h1:VPu/7SZ7ePZ3QOrcuXROw5FAcLl4a0cBrbBpGY/8hQs= -github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU= -github.com/Shopify/sarama v1.19.0/go.mod h1:FVkBWblsNy7DGZRfXLU0O9RCGt5g3g3yEuWXgklEdEo= -github.com/Shopify/toxiproxy v2.1.4+incompatible/go.mod h1:OXgGpZ6Cli1/URJOF1DMxUHB2q5Ap20/P/eIdh4G0pI= -github.com/VividCortex/gohistogram v1.0.0/go.mod h1:Pf5mBqqDxYaXu3hDrrU+w6nw50o/4+TcAqDqk/vUH7g= -github.com/afex/hystrix-go v0.0.0-20180502004556-fa1af6a1f4f5/go.mod h1:SkGFH1ia65gfNATL8TAiHDNxPzPdmEL5uirI2Uyuz6c= -github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= -github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= -github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= -github.com/alecthomas/units v0.0.0-20190717042225-c3de453c63f4/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY= -github.com/apache/thrift v0.12.0/go.mod h1:cp2SuWMxlEZw2r+iP2GNCdIi4C1qmUzdZFSVb+bacwQ= -github.com/apache/thrift v0.13.0/go.mod h1:cp2SuWMxlEZw2r+iP2GNCdIi4C1qmUzdZFSVb+bacwQ= github.com/armon/circbuf v0.0.0-20150827004946-bbbad097214e/go.mod h1:3U/XgcO3hCbHZ8TKRvWD2dDTCfh9M9ya+I9JpbB7O8o= -github.com/armon/consul-api v0.0.0-20180202201655-eb2c6b5be1b6/go.mod h1:grANhF5doyWs3UAsr3K4I6qtAmlQcZDesFNEHPZAzj8= github.com/armon/go-metrics v0.0.0-20180917152333-f0300d1749da/go.mod h1:Q73ZrmVTwzkszR9V5SSuryQ31EELlFMUz1kKyl939pY= github.com/armon/go-radix v0.0.0-20180808171621-7fddfc383310/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= -github.com/aryann/difflib v0.0.0-20170710044230-e206f873d14a/go.mod h1:DAHtR1m6lCRdSC2Tm3DSWRPvIPr6xNKyeHdqDQSQT+A= -github.com/aws/aws-lambda-go v1.13.3/go.mod h1:4UKl9IzQMoD+QF79YdCuzCwp8VbmG4VAQwij/eHl5CU= -github.com/aws/aws-sdk-go v1.27.0/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo= -github.com/aws/aws-sdk-go-v2 v0.18.0/go.mod h1:JWVYvqSMppoMJC0x5wdwiImzgXTI9FuZwxzkQq9wy+g= github.com/aymerick/douceur v0.2.0 h1:Mv+mAeH1Q+n9Fr+oyamOlAkUNPWPlA8PPGR0QAaYuPk= github.com/aymerick/douceur v0.2.0/go.mod h1:wlT5vV2O3h55X9m7iVYN0TBM0NH/MmbLnd30/FjWUq4= -github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= -github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8= -github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= github.com/bgentry/speakeasy v0.1.0/go.mod h1:+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kBD4zp0CCIs= github.com/bketelsen/crypt v0.0.4/go.mod h1:aI6NrJ0pMGgvZKL1iVgXLnfIFJtfV+bKCoqOes/6LfM= -github.com/casbin/casbin/v2 v2.1.2/go.mod h1:YcPU1XXisHhLzuxH9coDNf2FbKpjGlbCg3n9yuLkIJQ= -github.com/cenkalti/backoff v2.2.1+incompatible/go.mod h1:90ReRw6GdpyfrHakVjL/QHaoyV4aDUVVkXQJJJ3NXXM= github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= -github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc= -github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI= github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= -github.com/clbanning/x2j v0.0.0-20191024224557-825249438eec/go.mod h1:jMjuTZXRI4dUb/I5gc9Hdhagfvm9+RyrPryS/auMzxE= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20200629203442-efcf912fb354/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/cockroachdb/apd v1.1.0 h1:3LFP3629v+1aKXU5Q37mxmRxX/pIu1nijXydLShEq5I= github.com/cockroachdb/apd v1.1.0/go.mod h1:8Sl8LxpKi29FqWXR16WEFZRNSz3SoPzUzeMeY4+DwBQ= -github.com/cockroachdb/datadriven v0.0.0-20190809214429-80d97fb3cbaa/go.mod h1:zn76sxSg3SzpJ0PPJaLDCu+Bu0Lg3sKTORVIj19EIF8= -github.com/codahale/hdrhistogram v0.0.0-20161010025455-3a0bb77429bd/go.mod h1:sE/e/2PUdi/liOCUjSTXgM1o87ZssimdTWN964YiIeI= -github.com/coreos/bbolt v1.3.2/go.mod h1:iRUV2dpdMOn7Bo10OQBFzIJO9kkE559Wcmn+qkEiiKk= -github.com/coreos/etcd v3.3.10+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE= -github.com/coreos/go-semver v0.2.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= github.com/coreos/go-semver v0.3.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= -github.com/coreos/go-systemd v0.0.0-20180511133405-39ca1b05acc7/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= github.com/coreos/go-systemd v0.0.0-20190719114852-fd7a80b32e1f/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= github.com/coreos/go-systemd/v22 v22.3.2/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= -github.com/coreos/pkg v0.0.0-20160727233714-3ac0863d7acf/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA= -github.com/coreos/pkg v0.0.0-20180928190104-399ea9e2e55f/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA= -github.com/cpuguy83/go-md2man/v2 v2.0.0-20190314233015-f79a8a8ca69d/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU= github.com/cpuguy83/go-md2man/v2 v2.0.0/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU= github.com/creack/pty v1.1.7/go.mod h1:lj5s0c3V2DBrqTV7llrYr5NG6My20zk30Fl46Y7DoTY= 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/dgrijalva/jwt-go v3.2.0+incompatible/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ= -github.com/dgryski/go-sip13 v0.0.0-20181026042036-e10d5fee7954/go.mod h1:vAd38F8PWV+bWy6jNmig1y/TA+kYO4g3RSRF0IAv0no= -github.com/dustin/go-humanize v0.0.0-20171111073723-bb3d318650d4/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= 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/eapache/go-resiliency v1.1.0/go.mod h1:kFI+JgMyC7bLPUVY133qvEBtVayf5mFgVsvEsIPBvNs= -github.com/eapache/go-xerial-snappy v0.0.0-20180814174437-776d5712da21/go.mod h1:+020luEh2TKB4/GOp8oxxtq0Daoen/Cii55CzbTV6DU= -github.com/eapache/queue v1.1.0/go.mod h1:6eCeP0CKFpHLu8blIFXhExK/dRa7WDZfr6jVFPTqq+I= -github.com/edsrzf/mmap-go v1.0.0/go.mod h1:YO35OhQPt3KJa3ryjFM5Bs14WD66h8eGKpfaBNrHW5M= -github.com/envoyproxy/go-control-plane v0.6.9/go.mod h1:SBwIajubJHhxtWwsL9s8ss4safvEdbitLhGGK48rN6g= github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98= @@ -123,16 +81,12 @@ github.com/envoyproxy/go-control-plane v0.9.9-0.20201210154907-fd9021fe5dad/go.m github.com/envoyproxy/go-control-plane v0.9.9-0.20210217033140-668b12f5399d/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk= github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4= -github.com/fatih/color v1.9.0/go.mod h1:eQcE1qtQxscV5RaZvpXrrb8Drkc3/DdQ+uUYCNjL+zU= github.com/fatih/color v1.13.0 h1:8LOYc1KYPPmyKMuN8QV2DNRWNbLo6LZ0iLs8+mlH53w= github.com/fatih/color v1.13.0/go.mod h1:kLAiJbzzSOZDVNGyDpeOxJ47H46qBXwg5ILebYFFOfk= github.com/fatih/structs v1.1.0 h1:Q7juDM0QtcnhCpeyLGQKyg4TOIghuNXrkL32pHAUMxo= github.com/fatih/structs v1.1.0/go.mod h1:9NiDSp5zOcgEDl+j00MP/WkGVPOlPRLejGD8Ga6PJ7M= github.com/felixge/httpsnoop v1.0.1 h1:lvB5Jl89CsZtGIWuTcDM1E/vkVs49/Ml7JJe07l8SPQ= github.com/felixge/httpsnoop v1.0.1/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= -github.com/franela/goblin v0.0.0-20200105215937-c9ffbefa60db/go.mod h1:7dvUGVsVBjqR7JHJk0brhHOZYGmfBYOrK0ZhYMEtBr4= -github.com/franela/goreq v0.0.0-20171204163338-bcd34c9993f8/go.mod h1:ZhphrRTfi2rbfLwlschooIH4+wKKDR4Pdxhh+TRoA20= -github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ= github.com/fsnotify/fsnotify v1.5.1 h1:mZcQUHVQUQWoPXXtuf9yuEXKudkV2sx1E06UadKWpgI= github.com/fsnotify/fsnotify v1.5.1/go.mod h1:T3375wBYaZdLLcVNkcVbzGHY7f1l/uK5T5Ai1i3InKU= @@ -140,82 +94,57 @@ github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeME github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU= github.com/go-gl/glfw/v3.3/glfw v0.0.0-20191125211704-12ad95a8df72/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= -github.com/go-kit/kit v0.8.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= -github.com/go-kit/kit v0.9.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= -github.com/go-kit/kit v0.10.0/go.mod h1:xUsJbQ/Fp4kEt7AFgCuvyX4a71u8h9jB8tj/ORgOZ7o= -github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9GBnD5lWE= -github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk= +github.com/go-kit/log v0.1.0/go.mod h1:zbhenjAZHb184qTLMA9ZjW7ThYL0H2mk7Q6pNt4vbaY= github.com/go-logfmt/logfmt v0.5.0/go.mod h1:wCYkCAKZfumFQihp8CzCvQ3paCTfi41vtzG1KdI/P7A= -github.com/go-sql-driver/mysql v1.4.0/go.mod h1:zAC/RDZ24gD3HViQzih4MyKcchzm+sOG5ZlKdlhCg5w= -github.com/go-sql-driver/mysql v1.5.0 h1:ozyZYNQW3x3HtqT1jira07DN2PArx2v7/mN66gGcHOs= github.com/go-sql-driver/mysql v1.5.0/go.mod h1:DCzpHaOWr8IXmIStZouvnhqoel9Qv2LBy8hT2VhHyBg= +github.com/go-sql-driver/mysql v1.6.0 h1:BCTh4TKNUYmOmMUcQ3IipzF5prigylS7XXjEkfCHuOE= +github.com/go-sql-driver/mysql v1.6.0/go.mod h1:DCzpHaOWr8IXmIStZouvnhqoel9Qv2LBy8hT2VhHyBg= github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= -github.com/gobuffalo/attrs v0.1.0/go.mod h1:fmNpaWyHM0tRm8gCZWKx8yY9fvaNLo2PyzBNSrBZ5Hw= -github.com/gobuffalo/envy v1.8.1/go.mod h1:FurDp9+EDPE4aIUS3ZLyD+7/9fpx7YRt/ukY6jIHf0w= +github.com/gobuffalo/attrs v1.0.1/go.mod h1:qGdnq2RukKtBl4ASJit0OFckc5XGSyTFk98SvRpMFrQ= github.com/gobuffalo/envy v1.10.1 h1:ppDLoXv2feQ5nus4IcgtyMdHQkKng2lhJCIm33cblM0= github.com/gobuffalo/envy v1.10.1/go.mod h1:AWx4++KnNOW3JOeEvhSaq+mvgAvnMYOY1XSIin4Mago= github.com/gobuffalo/events v1.4.2 h1:9X4nBKGXOU/N/3AFRO0SxYvpL88lws8M7f5FODbWCm4= github.com/gobuffalo/events v1.4.2/go.mod h1:GI0w4OrQDQP/tIIC9FPl04qWs4dTx52DLCCcwVg7Ltc= github.com/gobuffalo/fizz v1.10.0 h1:I8vad0PnmR+CLjSnZ5L5jlhBm4S88UIGOoZZL3/3e24= github.com/gobuffalo/fizz v1.10.0/go.mod h1:J2XGPO0AfJ1zKw7+2BA+6FEGAkyEsdCOLvN93WCT2WI= -github.com/gobuffalo/flect v0.1.5/go.mod h1:W3K3X9ksuZfir8f/LrfVtWmCDQFfayuylOJ7sz/Fj80= github.com/gobuffalo/flect v0.2.0/go.mod h1:W3K3X9ksuZfir8f/LrfVtWmCDQFfayuylOJ7sz/Fj80= -github.com/gobuffalo/flect v0.2.1/go.mod h1:vmkQwuZYhN5Pc4ljYQZzP+1sq+NEkK+lh20jmEmX3jc= -github.com/gobuffalo/flect v0.2.3/go.mod h1:vmkQwuZYhN5Pc4ljYQZzP+1sq+NEkK+lh20jmEmX3jc= github.com/gobuffalo/flect v0.2.4 h1:BSYA8+T60cdyq+vynaSUjqSVI9mDEg9ZfQUXKmfjo4I= github.com/gobuffalo/flect v0.2.4/go.mod h1:1ZyCLIbg0YD7sDkzvFdPoOydPtD8y9JQnrOROolUcM8= -github.com/gobuffalo/genny/v2 v2.0.5/go.mod h1:kRkJuAw9mdI37AiEYjV4Dl+TgkBDYf8HZVjLkqe5eBg= +github.com/gobuffalo/genny/v2 v2.0.8/go.mod h1:R45scCyQfff2HysNJHNanjrpvPw4Qu+rM1MOMDBB5oU= github.com/gobuffalo/github_flavored_markdown v1.1.0/go.mod h1:TSpTKWcRTI0+v7W3x8dkSKMLJSUpuVitlptCkpeY8ic= github.com/gobuffalo/github_flavored_markdown v1.1.1 h1:kUf8ginyBOTRXcKSTPsPAqlA25vQ80+xAspLIYaxmTU= github.com/gobuffalo/github_flavored_markdown v1.1.1/go.mod h1:yU32Pen+eorS58oxh/bNZx76zUOCJwmvyV5FBrvzOKQ= github.com/gobuffalo/helpers v0.6.0/go.mod h1:pncVrer7x/KRvnL5aJABLAuT/RhKRR9klL6dkUOhyv8= -github.com/gobuffalo/helpers v0.6.1/go.mod h1:wInbDi0vTJKZBviURTLRMFLE4+nF2uRuuL2fnlYo7w4= -github.com/gobuffalo/helpers v0.6.2/go.mod h1:wInbDi0vTJKZBviURTLRMFLE4+nF2uRuuL2fnlYo7w4= -github.com/gobuffalo/helpers v0.6.3 h1:cptQU8ivs/IU+CCDHYxUxf9fa8R+BvDb+/wvYONVnww= -github.com/gobuffalo/helpers v0.6.3/go.mod h1:mg8qmDCAaJxLQXoge0xHyNsdVqyTPaaLCDWcHTaVhlM= +github.com/gobuffalo/helpers v0.6.4 h1:N9is8xgaotJzGIge1GoLYiWRpKZPqnS9RSty72OhIn8= +github.com/gobuffalo/helpers v0.6.4/go.mod h1:m2aOKsTl3KB0RUwwpxf3tykaaitujQ3irivqrlNAcJ0= github.com/gobuffalo/here v0.4.0/go.mod h1:bTNk/uKZgycuB358iR0D32dI9kHBClBGpXjW2HVHkNo= github.com/gobuffalo/httptest v1.5.1 h1:WwCZrMYVDqkjTlxo7OasFOMvdaG4ysriidJoqcedv2M= github.com/gobuffalo/httptest v1.5.1/go.mod h1:uEeEFF2BRyTMNAATqFQAKYvpHrWWPNoJbIB3YPuANNM= -github.com/gobuffalo/logger v1.0.3/go.mod h1:SoeejUwldiS7ZsyCBphOGURmWdwUFXs0J7TCjEhjKxM= github.com/gobuffalo/logger v1.0.6 h1:nnZNpxYo0zx+Aj9RfMPBm+x9zAU2OayFh/xrAWi34HU= github.com/gobuffalo/logger v1.0.6/go.mod h1:J31TBEHR1QLV2683OXTAItYIg8pv2JMHnF/quuAbMjs= github.com/gobuffalo/meta v0.3.1 h1:wrg94uDwu3bM3HMdmz2wlT8A9iAJvMKbHmYs8Rxi63I= github.com/gobuffalo/meta v0.3.1/go.mod h1:garIq5Vcqs5dj8nv3YG8hRbqAdQhIOt0DAXmaLtO7OU= -github.com/gobuffalo/nulls v0.2.0/go.mod h1:w4q8RoSCEt87Q0K0sRIZWYeIxkxog5mh3eN3C/n+dUc= github.com/gobuffalo/nulls v0.4.1 h1:k7QVCJfMplv9VRQQLb4N1d8tXUdGvcdMNfp4BfMnG2M= github.com/gobuffalo/nulls v0.4.1/go.mod h1:pp8e1hWTRJZFpMl4fj/CVbSMlaxjeGKkFq4RuBZi3w8= -github.com/gobuffalo/packd v0.3.0/go.mod h1:zC7QkmNkYVGKPw4tHpBQ+ml7W/3tIebgeo1b36chA3Q= -github.com/gobuffalo/packd v1.0.0/go.mod h1:6VTc4htmJRFB7u1m/4LeMTWjFoYrUiBkU9Fdec9hrhI= -github.com/gobuffalo/packd v1.0.1 h1:U2wXfRr4E9DH8IdsDLlRFwTZTK7hLfq9qT/QHXGVe/0= github.com/gobuffalo/packd v1.0.1/go.mod h1:PP2POP3p3RXGz7Jh6eYEf93S7vA2za6xM7QT85L4+VY= -github.com/gobuffalo/packr/v2 v2.8.0/go.mod h1:PDk2k3vGevNE3SwVyVRgQCCXETC9SaONCNSXT1Q8M1g= -github.com/gobuffalo/packr/v2 v2.8.1 h1:tkQpju6i3EtMXJ9uoF5GT6kB+LMTimDWD8Xvbz6zDVA= -github.com/gobuffalo/packr/v2 v2.8.1/go.mod h1:c/PLlOuTU+p3SybaJATW3H6lX/iK7xEz5OeMf+NnJpg= github.com/gobuffalo/plush/v4 v4.0.0/go.mod h1:ErFS3UxKqEb8fpFJT7lYErfN/Nw6vHGiDMTjxpk5bQ0= -github.com/gobuffalo/plush/v4 v4.1.8 h1:0vJpTLPTc23iuyDEYftMgF6NYS24R8WryCAXl6kJZ/0= -github.com/gobuffalo/plush/v4 v4.1.8/go.mod h1:504Kpokbl1fT93Y6BtRoVmT+H+kWoqJsAaEDEe0HeNo= -github.com/gobuffalo/pop/v5 v5.3.4 h1:VWH74icA8khG8SyWDAq6Ch00jcPiC4n436JMFh0lLm0= -github.com/gobuffalo/pop/v5 v5.3.4/go.mod h1:UiVurv2aTKC7MuR27PnMrQjAazoLr8SoC/LuTKTS/tQ= +github.com/gobuffalo/plush/v4 v4.1.9 h1:u9rQBuYCeHC0ppKxsZljk5vb1oT8PQa5EMNTAN2337s= +github.com/gobuffalo/plush/v4 v4.1.9/go.mod h1:9OOII9uAM5pZnhWu1OkQnboXJjaWMQ7kcTl3zNcxvTM= +github.com/gobuffalo/pop/v6 v6.0.0 h1:LvHl9wrMoY0zF+SWjUJoDG1oRpYKfMxLzuBT7SCctZU= +github.com/gobuffalo/pop/v6 v6.0.0/go.mod h1:5rd3OnViLhjteR8+0i/mT9Q4CzkTzCoR7tm/9mmAic4= github.com/gobuffalo/tags/v3 v3.0.2/go.mod h1:ZQeN6TCTiwAFnS0dNcbDtSgZDwNKSpqajvVtt6mlYpA= -github.com/gobuffalo/tags/v3 v3.1.0/go.mod h1:ZQeN6TCTiwAFnS0dNcbDtSgZDwNKSpqajvVtt6mlYpA= -github.com/gobuffalo/tags/v3 v3.1.1 h1:zXFBGckcXlJo83CF+czXD93VWrPeDMtETBvHAzXHW78= -github.com/gobuffalo/tags/v3 v3.1.1/go.mod h1:WdZd2T0qN77hOWnjpaZXTfDtAYm0CXoJr8n7rrekPZw= +github.com/gobuffalo/tags/v3 v3.1.2 h1:68sHcwFFDstXyfbk5ovbGcQFDsupgVLs+lw1XZinHJw= +github.com/gobuffalo/tags/v3 v3.1.2/go.mod h1:o3ldUfKv50jxWAC8eZHXMm8dnKW3YvyZUMr0xqUcZTI= github.com/gobuffalo/validate/v3 v3.0.0/go.mod h1:HFpjq+AIiA2RHoQnQVTFKF/ZpUPXwyw82LgyDPxQ9r0= -github.com/gobuffalo/validate/v3 v3.1.0/go.mod h1:HFpjq+AIiA2RHoQnQVTFKF/ZpUPXwyw82LgyDPxQ9r0= -github.com/gobuffalo/validate/v3 v3.3.0 h1:j++FFx9gtjTmIQeI9xlaIDZ0nV4x8YQZz4RJAlZNUxg= -github.com/gobuffalo/validate/v3 v3.3.0/go.mod h1:HFpjq+AIiA2RHoQnQVTFKF/ZpUPXwyw82LgyDPxQ9r0= +github.com/gobuffalo/validate/v3 v3.3.1 h1:5YLQL22YARUsYS5ZGsPU6TrD0Utiu53N1JJ5qi+foYk= +github.com/gobuffalo/validate/v3 v3.3.1/go.mod h1:Ehu8ieNJQuUM4peDDr/0VapzdGA7RgTc3wbe51vHfS0= github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= github.com/gofrs/uuid v3.2.0+incompatible/go.mod h1:b2aQJv3Z4Fp6yNu3cdSllBxTCLRxnplIgP/c0N/04lM= +github.com/gofrs/uuid v4.0.0+incompatible/go.mod h1:b2aQJv3Z4Fp6yNu3cdSllBxTCLRxnplIgP/c0N/04lM= github.com/gofrs/uuid v4.1.0+incompatible h1:sIa2eCvUTwgjbqXrPLfNwUf9S3i3mpH1O1atV+iL/Wk= github.com/gofrs/uuid v4.1.0+incompatible/go.mod h1:b2aQJv3Z4Fp6yNu3cdSllBxTCLRxnplIgP/c0N/04lM= -github.com/gogo/googleapis v1.1.0/go.mod h1:gf4bu3Q80BeJ6H1S1vYPm8/ELATdvryBaNFGgqEef3s= -github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= -github.com/gogo/protobuf v1.2.0/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= -github.com/gogo/protobuf v1.2.1/go.mod h1:hp+jE20tsWTFYpLwKvXlhS1hjn+gTNwPg2I6zVXpSg4= github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= -github.com/golang/groupcache v0.0.0-20160516000752-02826c3e7903/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= -github.com/golang/groupcache v0.0.0-20190129154638-5b532d6fd5ef/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/groupcache v0.0.0-20191227052852-215e87163ea7/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= @@ -244,7 +173,6 @@ github.com/golang/protobuf v1.4.3/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= github.com/golang/protobuf v1.5.1/go.mod h1:DopwsBzvsk0Fs44TXzsVbJyPhcCPeIwnvohx4u74HPM= github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= -github.com/golang/snappy v0.0.0-20180518054509-2e65f85255db/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= @@ -257,6 +185,7 @@ github.com/google/go-cmp v0.5.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/ github.com/google/go-cmp v0.5.2/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.3/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.5 h1:Khx7svrCpmxxtHBq5j2mp/xVjsi8hQMfNLvJFAlrGgU= github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs= @@ -274,36 +203,23 @@ github.com/google/pprof v0.0.0-20201203190320-1bf35d6f28c2/go.mod h1:kpwsk12EmLe github.com/google/pprof v0.0.0-20210122040257-d980be63207e/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/pprof v0.0.0-20210226084205-cbba55b83ad5/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI= -github.com/google/uuid v1.0.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg= github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk= github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY= -github.com/gorilla/context v1.1.1/go.mod h1:kBGZzfjB9CEq2AlWe17Uuf7NDRt0dE0s8S51q0aT7Yg= github.com/gorilla/css v1.0.0 h1:BQqNyPTi50JCFMTw/b67hByjMVXZRwGha6wxVGkeihY= github.com/gorilla/css v1.0.0/go.mod h1:Dn721qIggHpt4+EFCcTLTU/vk5ySda2ReITrtgBl60c= github.com/gorilla/handlers v1.5.1 h1:9lRY6j8DEeeBT10CvO9hGW0gmky0BprnvDI5vfhUHH4= github.com/gorilla/handlers v1.5.1/go.mod h1:t8XrUpc4KVXb7HGyJ4/cEnwQiaxrX/hz1Zv/4g96P1Q= -github.com/gorilla/mux v1.6.2/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs= -github.com/gorilla/mux v1.7.3/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs= github.com/gorilla/mux v1.8.0 h1:i40aqfkR1h2SlN9hojwV5ZA91wcXFOvkdNIeFDP5koI= github.com/gorilla/mux v1.8.0/go.mod h1:DVbg23sWSpFRCP0SfiEN6jmj59UnW/n46BH5rLB71So= github.com/gorilla/securecookie v1.1.1 h1:miw7JPhV+b/lAHSXz4qd/nN9jRiAFV5FwjeKyCS8BvQ= github.com/gorilla/securecookie v1.1.1/go.mod h1:ra0sb63/xPlUeL+yeDciTfxMRAA+MP+HVt/4epWDjd4= github.com/gorilla/sessions v1.2.1 h1:DHd3rPN5lE3Ts3D8rKkQ8x/0kqfeNmBAaiSi+o7FsgI= github.com/gorilla/sessions v1.2.1/go.mod h1:dk2InVEVJ0sfLlnXv9EAgkf6ecYs/i80K/zI+bUmuGM= -github.com/gorilla/websocket v0.0.0-20170926233335-4201258b820c/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ= -github.com/gorilla/websocket v1.4.0/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ= -github.com/grpc-ecosystem/go-grpc-middleware v1.0.0/go.mod h1:FiyG127CGDf3tlThmgyCl78X/SZQqEOJBCDaAfeWzPs= -github.com/grpc-ecosystem/go-grpc-middleware v1.0.1-0.20190118093823-f849b5445de4/go.mod h1:FiyG127CGDf3tlThmgyCl78X/SZQqEOJBCDaAfeWzPs= -github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0/go.mod h1:8NvIoxWQoOIhqOTXgfV/d3M/q6VIi02HzZEHgUlZvzk= -github.com/grpc-ecosystem/grpc-gateway v1.9.0/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY= -github.com/grpc-ecosystem/grpc-gateway v1.9.5/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY= github.com/grpc-ecosystem/grpc-gateway v1.16.0/go.mod h1:BDjrQk3hbvj6Nolgz8mAMFbcEtjT1g+wF4CSlocrBnw= github.com/hashicorp/consul/api v1.1.0/go.mod h1:VmuI/Lkw1nC05EYQWNKwWGbkg+FbDBtguAZLlVdkD9Q= -github.com/hashicorp/consul/api v1.3.0/go.mod h1:MmDNSzIMUjNpY/mQ398R4bk2FnqQLoPndWW5VkKPlCE= github.com/hashicorp/consul/sdk v0.1.1/go.mod h1:VKf9jXwCTEY1QZP2MOLRhb5i/I/ssyNV1vwHyQBF0x8= -github.com/hashicorp/consul/sdk v0.3.0/go.mod h1:VKf9jXwCTEY1QZP2MOLRhb5i/I/ssyNV1vwHyQBF0x8= github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= github.com/hashicorp/go-cleanhttp v0.5.1/go.mod h1:JpRdi6/HCYpAwUzNwuwqhbovhLtngrth3wmdIIUrZ80= github.com/hashicorp/go-immutable-radix v1.0.0/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60= @@ -314,7 +230,6 @@ github.com/hashicorp/go-sockaddr v1.0.0/go.mod h1:7Xibr9yA9JjQq1JpNB2Vw7kxv8xerX github.com/hashicorp/go-syslog v1.0.0/go.mod h1:qPfqrKkXGihmCqbJM2mZgkZGvKG1dFdvsLplgctolz4= github.com/hashicorp/go-uuid v1.0.0/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= github.com/hashicorp/go-uuid v1.0.1/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= -github.com/hashicorp/go-version v1.2.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= github.com/hashicorp/go.net v0.0.1/go.mod h1:hjKkEWcCURg++eb33jQU7oqQcI9XDCnUzHA0oac0k90= github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= @@ -323,13 +238,10 @@ github.com/hashicorp/logutils v1.0.0/go.mod h1:QIAnNjmIWmVIIkWDTG1z5v++HQmx9WQRO github.com/hashicorp/mdns v1.0.0/go.mod h1:tL+uN++7HEJ6SQLQ2/p+z2pH24WQKWjBPkE0mNTz8vQ= github.com/hashicorp/memberlist v0.1.3/go.mod h1:ajVTdAv/9Im8oMAAj5G31PhhMCZJV2pPBoIllUwCN7I= github.com/hashicorp/serf v0.8.2/go.mod h1:6hOLApaqBFA1NXqRQAsxw9QxuDEvNxSQRwA/JwenrHc= -github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= -github.com/hudl/fargo v1.3.0/go.mod h1:y3CKSmjA+wD2gak7sUSXTAoopbhU08POFhmITJgmKTg= github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= github.com/ianlancetaylor/demangle v0.0.0-20200824232613-28f6c0f3b639/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= github.com/inconshreveable/mousetrap v1.0.0 h1:Z8tu5sraLXCXIcARxBp/8cbvlwVa7Z1NHg9XEKhtSvM= github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8= -github.com/influxdata/influxdb1-client v0.0.0-20191209144304-8bf82d3c094d/go.mod h1:qj24IKcXYK6Iy9ceXlo3Tc+vtHo9lIhSX5JddghvEPo= github.com/jackc/chunkreader v1.0.0 h1:4s39bBR8ByfqH+DKm8rQA3E1LHZWB9XWcrz8fqaZbe0= github.com/jackc/chunkreader v1.0.0/go.mod h1:RT6O25fNZIuasFJRyZ4R/Y2BbhasbmZXF9QQ7T3kePo= github.com/jackc/chunkreader/v2 v2.0.0/go.mod h1:odVSm741yZoC3dpHEUXIqA9tQRhFrgOHwnPIn9lDKlk= @@ -338,15 +250,18 @@ github.com/jackc/chunkreader/v2 v2.0.1/go.mod h1:odVSm741yZoC3dpHEUXIqA9tQRhFrgO github.com/jackc/pgconn v0.0.0-20190420214824-7e0022ef6ba3/go.mod h1:jkELnwuX+w9qN5YIfX0fl88Ehu4XC3keFuOJJk9pcnA= github.com/jackc/pgconn v0.0.0-20190824142844-760dd75542eb/go.mod h1:lLjNuW/+OfW9/pnVKPazfWOgNfH2aPem8YQ7ilXGvJE= github.com/jackc/pgconn v0.0.0-20190831204454-2fabfa3c18b7/go.mod h1:ZJKsE/KZfsUgOEh9hBm+xYTstcNHg7UPMVJqRfQxq4s= -github.com/jackc/pgconn v1.4.0/go.mod h1:Y2O3ZDF0q4mMacyWV3AstPJpeHXWGEetiFttmq5lahk= -github.com/jackc/pgconn v1.5.0/go.mod h1:QeD3lBfpTFe8WUnPZWN5KY/mB8FGMIYRdd8P8Jr0fAI= -github.com/jackc/pgconn v1.5.1-0.20200601181101-fa742c524853/go.mod h1:QeD3lBfpTFe8WUnPZWN5KY/mB8FGMIYRdd8P8Jr0fAI= -github.com/jackc/pgconn v1.8.1 h1:ySBX7Q87vOMqKU2bbmKbUvtYhauDFclYbNDYIE1/h6s= -github.com/jackc/pgconn v1.8.1/go.mod h1:JV6m6b6jhjdmzchES0drzCcYcAHS1OPD5xu3OZ/lE2g= +github.com/jackc/pgconn v1.8.0/go.mod h1:1C2Pb36bGIP9QHGBYCjnyhqu7Rv3sGshaQUvmfGIB/o= +github.com/jackc/pgconn v1.9.0/go.mod h1:YctiPyvzfU11JFxoXokUOOKQXQmDMoJL9vJzHH8/2JY= +github.com/jackc/pgconn v1.9.1-0.20210724152538-d89c8390a530/go.mod h1:4z2w8XhRbP1hYxkpTuBjTS3ne3J48K83+u0zoyvg2pI= +github.com/jackc/pgconn v1.10.0/go.mod h1:4z2w8XhRbP1hYxkpTuBjTS3ne3J48K83+u0zoyvg2pI= +github.com/jackc/pgconn v1.10.1 h1:DzdIHIjG1AxGwoEEqS+mGsURyjt4enSmqzACXvVzOT8= +github.com/jackc/pgconn v1.10.1/go.mod h1:4z2w8XhRbP1hYxkpTuBjTS3ne3J48K83+u0zoyvg2pI= github.com/jackc/pgio v1.0.0 h1:g12B9UwVnzGhueNavwioyEEpAmqMe1E/BN9ES+8ovkE= github.com/jackc/pgio v1.0.0/go.mod h1:oP+2QK2wFfUWgr+gxjoBH9KGBb31Eio69xUb0w5bYf8= -github.com/jackc/pgmock v0.0.0-20190831213851-13a1b77aafa2 h1:JVX6jT/XfzNqIjye4717ITLaNwV9mWbJx0dLCpcRzdA= github.com/jackc/pgmock v0.0.0-20190831213851-13a1b77aafa2/go.mod h1:fGZlG77KXmcq05nJLRkk0+p82V8B8Dw8KN2/V9c/OAE= +github.com/jackc/pgmock v0.0.0-20201204152224-4fe30f7445fd/go.mod h1:hrBW0Enj2AZTNpt/7Y5rr2xe/9Mn757Wtb2xeBzPv2c= +github.com/jackc/pgmock v0.0.0-20210724152146-4ad1a8207f65 h1:DadwsjnMwFjfWc9y5Wi/+Zz7xoE5ALHsRQlOctkOiHc= +github.com/jackc/pgmock v0.0.0-20210724152146-4ad1a8207f65/go.mod h1:5R2h2EEX+qri8jOWMbJCtaPWkrrNc7OHwsp2TCqp7ak= github.com/jackc/pgpassfile v1.0.0 h1:/6Hmqy13Ss2zCq62VdNG8tM1wchn8zjSGOBJ6icpsIM= github.com/jackc/pgpassfile v1.0.0/go.mod h1:CEx0iS5ambNFdcRtxPj5JhEz+xB6uRky5eyVu/W2HEg= github.com/jackc/pgproto3 v1.1.0 h1:FYYE4yRw+AgI8wXIinMlNjBbp/UitDJwfj5LqqewP1A= @@ -355,63 +270,43 @@ github.com/jackc/pgproto3/v2 v2.0.0-alpha1.0.20190420180111-c116219b62db/go.mod github.com/jackc/pgproto3/v2 v2.0.0-alpha1.0.20190609003834-432c2951c711/go.mod h1:uH0AWtUmuShn0bcesswc4aBTWGvw0cAxIJp+6OB//Wg= github.com/jackc/pgproto3/v2 v2.0.0-rc3/go.mod h1:ryONWYqW6dqSg1Lw6vXNMXoBJhpzvWKnT95C46ckYeM= github.com/jackc/pgproto3/v2 v2.0.0-rc3.0.20190831210041-4c03ce451f29/go.mod h1:ryONWYqW6dqSg1Lw6vXNMXoBJhpzvWKnT95C46ckYeM= -github.com/jackc/pgproto3/v2 v2.0.1/go.mod h1:WfJCnwN3HIg9Ish/j3sgWXnAfK8A9Y0bwXYU5xKaEdA= -github.com/jackc/pgproto3/v2 v2.0.6 h1:b1105ZGEMFe7aCvrT1Cca3VoVb4ZFMaFJLJcg/3zD+8= github.com/jackc/pgproto3/v2 v2.0.6/go.mod h1:WfJCnwN3HIg9Ish/j3sgWXnAfK8A9Y0bwXYU5xKaEdA= -github.com/jackc/pgservicefile v0.0.0-20200307190119-3430c5407db8/go.mod h1:vsD4gTJCa9TptPL8sPkXrLZ+hDuNrZCnj29CQpr4X1E= +github.com/jackc/pgproto3/v2 v2.1.1 h1:7PQ/4gLoqnl87ZxL7xjO0DR5gYuviDCZxQJsUlFW1eI= +github.com/jackc/pgproto3/v2 v2.1.1/go.mod h1:WfJCnwN3HIg9Ish/j3sgWXnAfK8A9Y0bwXYU5xKaEdA= github.com/jackc/pgservicefile v0.0.0-20200714003250-2b9c44734f2b h1:C8S2+VttkHFdOOCXJe+YGfa4vHYwlt4Zx+IVXQ97jYg= github.com/jackc/pgservicefile v0.0.0-20200714003250-2b9c44734f2b/go.mod h1:vsD4gTJCa9TptPL8sPkXrLZ+hDuNrZCnj29CQpr4X1E= github.com/jackc/pgtype v0.0.0-20190421001408-4ed0de4755e0/go.mod h1:hdSHsc1V01CGwFsrv11mJRHWJ6aifDLfdV3aVjFF0zg= github.com/jackc/pgtype v0.0.0-20190824184912-ab885b375b90/go.mod h1:KcahbBH1nCMSo2DXpzsoWOAfFkdEtEJpPbVLq8eE+mc= github.com/jackc/pgtype v0.0.0-20190828014616-a8802b16cc59/go.mod h1:MWlu30kVJrUS8lot6TQqcg7mtthZ9T0EoIBFiJcmcyw= -github.com/jackc/pgtype v1.2.0/go.mod h1:5m2OfMh1wTK7x+Fk952IDmI4nw3nPrvtQdM0ZT4WpC0= -github.com/jackc/pgtype v1.3.1-0.20200510190516-8cd94a14c75a/go.mod h1:vaogEUkALtxZMCH411K+tKzNpwzCKU+AnPzBKZ+I+Po= -github.com/jackc/pgtype v1.3.1-0.20200606141011-f6355165a91c/go.mod h1:cvk9Bgu/VzJ9/lxTO5R5sf80p0DiucVtN7ZxvaC4GmQ= -github.com/jackc/pgtype v1.7.0 h1:6f4kVsW01QftE38ufBYxKciO6gyioXSC0ABIRLcZrGs= -github.com/jackc/pgtype v1.7.0/go.mod h1:ZnHF+rMePVqDKaOfJVI4Q8IVvAQMryDlDkZnKOI75BE= +github.com/jackc/pgtype v1.8.1-0.20210724151600-32e20a603178/go.mod h1:C516IlIV9NKqfsMCXTdChteoXmwgUceqaLfjg2e3NlM= +github.com/jackc/pgtype v1.8.1 h1:9k0IXtdJXHJbyAWQgbWr1lU+MEhPXZz6RIXxfR5oxXs= +github.com/jackc/pgtype v1.8.1/go.mod h1:LUMuVrfsFfdKGLw+AFFVv6KtHOFMwRgDDzBt76IqCA4= github.com/jackc/pgx/v4 v4.0.0-20190420224344-cc3461e65d96/go.mod h1:mdxmSJJuR08CZQyj1PVQBHy9XOp5p8/SHH6a0psbY9Y= github.com/jackc/pgx/v4 v4.0.0-20190421002000-1b8f0016e912/go.mod h1:no/Y67Jkk/9WuGR0JG/JseM9irFbnEPbuWV2EELPNuM= github.com/jackc/pgx/v4 v4.0.0-pre1.0.20190824185557-6972a5742186/go.mod h1:X+GQnOEnf1dqHGpw7JmHqHc1NxDoalibchSk9/RWuDc= -github.com/jackc/pgx/v4 v4.5.0/go.mod h1:EpAKPLdnTorwmPUUsqrPxy5fphV18j9q3wrfRXgo+kA= -github.com/jackc/pgx/v4 v4.6.1-0.20200510190926-94ba730bb1e9/go.mod h1:t3/cdRQl6fOLDxqtlyhe9UWgfIi9R8+8v8GKV5TRA/o= -github.com/jackc/pgx/v4 v4.6.1-0.20200606145419-4e5062306904/go.mod h1:ZDaNWkt9sW1JMiNn0kdYBaLelIhw7Pg4qd+Vk6tw7Hg= -github.com/jackc/pgx/v4 v4.11.0 h1:J86tSWd3Y7nKjwT/43xZBvpi04keQWx8gNC2YkdJhZI= -github.com/jackc/pgx/v4 v4.11.0/go.mod h1:i62xJgdrtVDsnL3U8ekyrQXEwGNTRoG7/8r+CIdYfcc= +github.com/jackc/pgx/v4 v4.12.1-0.20210724153913-640aa07df17c/go.mod h1:1QD0+tgSXP7iUjYm9C1NxKhny7lq6ee99u/z+IHFcgs= +github.com/jackc/pgx/v4 v4.13.0 h1:JCjhT5vmhMAf/YwBHLvrBn4OGdIQBiFG6ym8Zmdx570= +github.com/jackc/pgx/v4 v4.13.0/go.mod h1:9P4X524sErlaxj0XSGZk7s+LD0eOyu1ZDUrrpznYDF0= github.com/jackc/puddle v0.0.0-20190413234325-e4ced69a3a2b/go.mod h1:m4B5Dj62Y0fbyuIc15OsIqK0+JU8nkqQjsgx7dvjSWk= github.com/jackc/puddle v0.0.0-20190608224051-11cab39313c9/go.mod h1:m4B5Dj62Y0fbyuIc15OsIqK0+JU8nkqQjsgx7dvjSWk= -github.com/jackc/puddle v1.1.0/go.mod h1:m4B5Dj62Y0fbyuIc15OsIqK0+JU8nkqQjsgx7dvjSWk= -github.com/jackc/puddle v1.1.1/go.mod h1:m4B5Dj62Y0fbyuIc15OsIqK0+JU8nkqQjsgx7dvjSWk= github.com/jackc/puddle v1.1.3/go.mod h1:m4B5Dj62Y0fbyuIc15OsIqK0+JU8nkqQjsgx7dvjSWk= -github.com/jmespath/go-jmespath v0.0.0-20180206201540-c2b33e8439af/go.mod h1:Nht3zPeWKUH0NzdCt2Blrr5ys8VGpn0CEB0cQHVjt7k= -github.com/jmoiron/sqlx v1.2.0/go.mod h1:1FEQNm3xlJgrMD+FBdI9+xvCksHtbpVBBw5dYhBSsks= -github.com/jmoiron/sqlx v1.3.3/go.mod h1:2BljVx/86SuTyjE+aPYlHCTNvZrnJXghYGpNiXLBMCQ= github.com/jmoiron/sqlx v1.3.4 h1:wv+0IJZfL5z0uZoUjlpKgHkgaFSYD+r9CfrXjEXsO7w= github.com/jmoiron/sqlx v1.3.4/go.mod h1:2BljVx/86SuTyjE+aPYlHCTNvZrnJXghYGpNiXLBMCQ= -github.com/joho/godotenv v1.3.0/go.mod h1:7hK45KPybAkOC6peb+G5yklZfMxEjkZhHbwpqxOKXbg= github.com/joho/godotenv v1.4.0 h1:3l4+N6zfMWnkbPEXKng2o2/MR5mSwTrBih4ZEkkz1lg= github.com/joho/godotenv v1.4.0/go.mod h1:f4LDr5Voq0i2e/R5DDNOoa2zzDfwtkZa6DnEwAbqwq4= -github.com/jonboulle/clockwork v0.1.0/go.mod h1:Ii8DK3G1RaLaWxj9trq07+26W01tbo22gdxWY5EU2bo= -github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU= -github.com/json-iterator/go v1.1.7/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= -github.com/json-iterator/go v1.1.8/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= github.com/json-iterator/go v1.1.11/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU= github.com/jstemmer/go-junit-report v0.9.1/go.mod h1:Brl9GWCQeLvo8nXZwPNNblvFj/XSXhF0NWZEnDohbsk= github.com/jtolds/gls v4.20.0+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU= -github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w= -github.com/karrick/godirwalk v1.15.3/go.mod h1:j4mkqPuvaLI8mp1DroR3P6ad7cyYd4c1qeJ3RV7ULlk= -github.com/karrick/godirwalk v1.15.8/go.mod h1:j4mkqPuvaLI8mp1DroR3P6ad7cyYd4c1qeJ3RV7ULlk= github.com/karrick/godirwalk v1.16.1 h1:DynhcF+bztK8gooS0+NDJFrdNZjJ3gzVzC545UNA9iw= github.com/karrick/godirwalk v1.16.1/go.mod h1:j4mkqPuvaLI8mp1DroR3P6ad7cyYd4c1qeJ3RV7ULlk= github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51 h1:Z9n2FFNUXsshfwJMBgNA0RU6/i7WVaAegv3PtuIHPMs= github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51/go.mod h1:CzGEWj7cYgsdH8dAjBGEr58BoE7ScuLd+fwFZ44+/x8= -github.com/kisielk/errcheck v1.1.0/go.mod h1:EZBBE59ingxPouuu3KfxchcWSUPOHkagtvWXihfKN4Q= github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= github.com/konsorten/go-windows-terminal-sequences v1.0.2/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= github.com/kr/fs v0.1.0/go.mod h1:FFnZGqtBN9Gxj7eW1uZ42v5BccTP0vu6NEaFoC2HwRg= -github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc= github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= github.com/kr/pretty v0.2.0 h1:s5hAObm+yFO5uHYt5dYjxi2rXrsnmRpJx4OYvIWUaQs= github.com/kr/pretty v0.2.0/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= @@ -422,18 +317,12 @@ github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= github.com/lib/pq v1.0.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= github.com/lib/pq v1.1.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= github.com/lib/pq v1.2.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= -github.com/lib/pq v1.3.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= -github.com/lib/pq v1.10.1 h1:6VXZrLU0jHBYyAqrSPa+MgPfnSvTPuMgK+k0o5kVFWo= -github.com/lib/pq v1.10.1/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o= -github.com/lightstep/lightstep-tracer-common/golang/gogo v0.0.0-20190605223551-bc2310a04743/go.mod h1:qklhhLq1aX+mtWk9cPHPzaBjWImj5ULL6C7HFJtXQMM= -github.com/lightstep/lightstep-tracer-go v0.18.1/go.mod h1:jlF1pusYV4pidLvZ+XD0UBX0ZE6WURAspgAczcDHrL4= +github.com/lib/pq v1.10.2/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o= +github.com/lib/pq v1.10.4 h1:SO9z7FRPzA03QhHKJrH5BXA6HU1rS4V2nIVrrNC1iYk= +github.com/lib/pq v1.10.4/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o= github.com/luna-duclos/instrumentedsql v1.1.3 h1:t7mvC0z1jUt5A0UQ6I/0H31ryymuQRnJcWCiqV3lSAA= github.com/luna-duclos/instrumentedsql v1.1.3/go.mod h1:9J1njvFds+zN7y85EDhN9XNQLANWwZt2ULeIC8yMNYs= -github.com/lyft/protoc-gen-validate v0.0.13/go.mod h1:XbGvPuh87YZc5TdIa2/I4pLk0QoUACkjt2znoq26NVQ= -github.com/magiconair/properties v1.8.0/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ= github.com/magiconair/properties v1.8.5/go.mod h1:y3VJvCyxH9uVvJTWEGAELF3aiYNyPKd5NZ3oSwXrF60= -github.com/markbates/errx v1.1.0 h1:QDFeR+UP95dO12JgW+tgi2UVfo0V8YBHiUIOaeBPiEI= -github.com/markbates/errx v1.1.0/go.mod h1:PLa46Oex9KNbVDZhKel8v1OT7hD5JZ2eI7AHhA0wswc= github.com/markbates/grift v1.5.0 h1:CZyK0k+8BdhQMgbwzuKMysC12y4tf9H004jAs/FutX4= github.com/markbates/grift v1.5.0/go.mod h1:1ssFm5gSGmzTkhi3Wfh/nqlU74J73TlAjoDMttQbpfY= github.com/markbates/oncer v1.0.0 h1:E83IaVAHygyndzPimgUYJjbshhDTALZyXxvk9FOlQRY= @@ -446,28 +335,18 @@ github.com/markbates/sigtx v1.0.0 h1:y/xtkBvNPRjD4KeEplf4w9rJVSc23/xl+jXYGowTwy0 github.com/markbates/sigtx v1.0.0/go.mod h1:QF1Hv6Ic6Ca6W+T+DL0Y/ypborFKyvUY9HmuCD4VeTc= github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU= github.com/mattn/go-colorable v0.1.1/go.mod h1:FuOcm+DKB9mbwrcAfNl7/TZVBZ6rcnceauSikq3lYCQ= -github.com/mattn/go-colorable v0.1.2/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE= -github.com/mattn/go-colorable v0.1.4/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE= github.com/mattn/go-colorable v0.1.6/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= github.com/mattn/go-colorable v0.1.9 h1:sqDoxXbdeALODt0DAeJCVp38ps9ZogZEAXjus69YV3U= github.com/mattn/go-colorable v0.1.9/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= github.com/mattn/go-isatty v0.0.3/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= -github.com/mattn/go-isatty v0.0.4/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= github.com/mattn/go-isatty v0.0.5/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s= github.com/mattn/go-isatty v0.0.7/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s= -github.com/mattn/go-isatty v0.0.8/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s= -github.com/mattn/go-isatty v0.0.9/go.mod h1:YNRxwqDuOph6SZLI9vUUz6OYw3QyUt7WiY2yME+cCiQ= -github.com/mattn/go-isatty v0.0.11/go.mod h1:PhnuNfih5lzO57/f3n+odYbM4JtupLOxQOAqxQCu2WE= github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU= github.com/mattn/go-isatty v0.0.14 h1:yVuAays6BHfxijgZPzw+3Zlu5yQgKGP2/hcQbHb7S9Y= github.com/mattn/go-isatty v0.0.14/go.mod h1:7GGIvUiUoEMVVmxf/4nioHXj79iQHKdU27kJ6hsGG94= -github.com/mattn/go-runewidth v0.0.2/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU= -github.com/mattn/go-sqlite3 v1.9.0/go.mod h1:FPy6KqzDD04eiIsT53CuJW3U88zkxoIYsOqkbpncsNc= github.com/mattn/go-sqlite3 v1.14.6/go.mod h1:NyWgC/yNuGj7Q9rpYnZvas74GogHl5/Z4A/KQRfk6bU= +github.com/mattn/go-sqlite3 v1.14.9 h1:10HX2Td0ocZpYEjhilsuo6WWtUqttj2Kb0KtD86/KYA= github.com/mattn/go-sqlite3 v1.14.9/go.mod h1:NyWgC/yNuGj7Q9rpYnZvas74GogHl5/Z4A/KQRfk6bU= -github.com/mattn/go-sqlite3 v2.0.3+incompatible h1:gXHsfypPkaMZrKbD5209QV9jbUTJKjyR5WD3HYQSd+U= -github.com/mattn/go-sqlite3 v2.0.3+incompatible/go.mod h1:FPy6KqzDD04eiIsT53CuJW3U88zkxoIYsOqkbpncsNc= -github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= github.com/microcosm-cc/bluemonday v1.0.2/go.mod h1:iVP4YcDBq+n/5fb23BhYFvIMq/leAFZyRl6bYmGDlGc= github.com/microcosm-cc/bluemonday v1.0.16 h1:kHmAq2t7WPWLjiGvzKa5o3HzSfahUKiOq7fAPUiMNIc= github.com/microcosm-cc/bluemonday v1.0.16/go.mod h1:Z0r70sCuXHig8YpBzCc5eGHAap2K7e/u082ZUpDRRqM= @@ -483,80 +362,25 @@ github.com/mitchellh/mapstructure v0.0.0-20160808181253-ca63d7c062ee/go.mod h1:F github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= github.com/mitchellh/mapstructure v1.4.1/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= -github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= github.com/monoculum/formam v3.5.5+incompatible h1:iPl5csfEN96G2N2mGu8V/ZB62XLf9ySTpC8KRH6qXec= github.com/monoculum/formam v3.5.5+incompatible/go.mod h1:RKgILGEJq24YyJ2ban8EO0RUVSJlF1pGsEvoLEACr/Q= -github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= -github.com/nats-io/jwt v0.3.0/go.mod h1:fRYCDE99xlTsqUzISS1Bi75UBJ6ljOJQOAAu5VglpSg= -github.com/nats-io/jwt v0.3.2/go.mod h1:/euKqTS1ZD+zzjYrY7pseZrTtWQSjujC7xjPc8wL6eU= -github.com/nats-io/nats-server/v2 v2.1.2/go.mod h1:Afk+wRZqkMQs/p45uXdrVLuab3gwv3Z8C4HTBu8GD/k= -github.com/nats-io/nats.go v1.9.1/go.mod h1:ZjDU1L/7fJ09jvUSRVBR2e7+RnLiiIQyqyzEE/Zbp4w= -github.com/nats-io/nkeys v0.1.0/go.mod h1:xpnFELMwJABBLVhffcfd1MZx6VsNRFpEugbxziKVo7w= -github.com/nats-io/nkeys v0.1.3/go.mod h1:xpnFELMwJABBLVhffcfd1MZx6VsNRFpEugbxziKVo7w= -github.com/nats-io/nuid v1.0.1/go.mod h1:19wcPz3Ph3q0Jbyiqsd0kePYG7A95tJPxeL+1OSON2c= -github.com/oklog/oklog v0.3.2/go.mod h1:FCV+B7mhrz4o+ueLpx+KqkyXRGMWOYEvfiXtdGtbWGs= -github.com/oklog/run v1.0.0/go.mod h1:dlhp/R75TPv97u0XWUtDeV/lRKWPKSdTuV0TZvrmrQA= -github.com/oklog/ulid v1.3.1/go.mod h1:CirwcVhetQ6Lv90oh/F+FBtV6XMibvdAFo93nm5qn4U= -github.com/olekukonko/tablewriter v0.0.0-20170122224234-a0225b3f23b5/go.mod h1:vsDQFd/mU46D+Z4whnwzcISnGGzXWMclvtLoiIKAKIo= -github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= -github.com/onsi/ginkgo v1.7.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= -github.com/onsi/gomega v1.4.3/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= -github.com/op/go-logging v0.0.0-20160315200505-970db520ece7/go.mod h1:HzydrMdWErDVzsI23lYNej1Htcns9BCg93Dk0bBINWk= -github.com/opentracing-contrib/go-observer v0.0.0-20170622124052-a52f23424492/go.mod h1:Ngi6UdF0k5OKD5t5wlmGhe/EDKPoUM3BXZSSfIuJbis= -github.com/opentracing/basictracer-go v1.0.0/go.mod h1:QfBfYuafItcjQuMwinw9GhYKwFXS9KnPs5lxoYwgW74= -github.com/opentracing/opentracing-go v1.0.2/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o= -github.com/opentracing/opentracing-go v1.1.0/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o= -github.com/openzipkin-contrib/zipkin-go-opentracing v0.4.5/go.mod h1:/wsWhb9smxSfWAKL3wpBW7V8scJMt8N8gnaMCS9E/cA= -github.com/openzipkin/zipkin-go v0.1.6/go.mod h1:QgAqvLzwWbR/WpD4A3cGpPtJrZXNIiJc5AZX7/PBEpw= -github.com/openzipkin/zipkin-go v0.2.1/go.mod h1:NaW6tEwdmWMaCDZzg8sh+IBNOxHMPnhQw8ySjnjRyN4= -github.com/openzipkin/zipkin-go v0.2.2/go.mod h1:NaW6tEwdmWMaCDZzg8sh+IBNOxHMPnhQw8ySjnjRyN4= -github.com/pact-foundation/pact-go v1.0.4/go.mod h1:uExwJY4kCzNPcHRj+hCR/HBbOOIwwtUjcrb0b5/5kLM= github.com/pascaldekloe/goe v0.0.0-20180627143212-57f6aae5913c/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc= -github.com/pborman/uuid v1.2.0/go.mod h1:X/NO0urCmaxf9VXbdlT7C2Yzkj2IKimNn4k+gtPdI/k= -github.com/pelletier/go-toml v1.2.0/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/94hg7ilaic= github.com/pelletier/go-toml v1.9.3/go.mod h1:u1nR/EPcESfeI/szUZKdtJ0xRNbUoANCkoOuaOx1Y+c= -github.com/performancecopilot/speed v3.0.0+incompatible/go.mod h1:/CLtqpZ5gBg1M9iaPbIdPPGyKcA8hKdoy6hAWba7Yac= -github.com/pierrec/lz4 v1.0.2-0.20190131084431-473cd7ce01a1/go.mod h1:3/3N9NVKO0jef7pBehbT1qWhCMrIgbYNnFAZCqQ5LRc= -github.com/pierrec/lz4 v2.0.5+incompatible/go.mod h1:pdkljMzZIN41W+lC3N2tnIh5sFi+IEE17M5jbnwPHcY= github.com/pkg/diff v0.0.0-20210226163009-20ebb0f2a09e/go.mod h1:pJLUxLENpZxwdsKMEsNbx1VGcRFpLqf3715MtcvvzbA= -github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= -github.com/pkg/profile v1.2.1/go.mod h1:hJw3o1OdXxsrSjjVksARp5W95eeEaEfptyVZyv6JUPA= github.com/pkg/sftp v1.10.1/go.mod h1:lYOWFsE0bwd1+KfKJaKeuokY15vzFx25BLbzYYoAxZI= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/posener/complete v1.1.1/go.mod h1:em0nMJCgc9GFtwrmVmEMR/ZL6WyhyjMBndrE9hABlRI= -github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw= -github.com/prometheus/client_golang v0.9.3-0.20190127221311-3c4408c8b829/go.mod h1:p2iRAGwDERtqlqzRXnrOVns+ignqQo//hLXqYxZYVNs= -github.com/prometheus/client_golang v0.9.3/go.mod h1:/TN21ttK/J9q6uSwhBd54HahCDft0ttaMvbicHlPoso= -github.com/prometheus/client_golang v1.0.0/go.mod h1:db9x61etRT2tGnBNRi70OPL5FsnadC4Ky3P0J6CfImo= -github.com/prometheus/client_golang v1.3.0/go.mod h1:hJaj2vgQTGQmVCsAACORcieXFeDPbaTKGT+JTgUa3og= -github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= -github.com/prometheus/client_model v0.0.0-20190115171406-56726106282f/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= -github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= -github.com/prometheus/client_model v0.1.0/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= -github.com/prometheus/common v0.0.0-20181113130724-41aa239b4cce/go.mod h1:daVV7qP5qjZbuso7PdcryaAu0sAZbrN9i7WWcTMWvro= -github.com/prometheus/common v0.2.0/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= -github.com/prometheus/common v0.4.0/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= -github.com/prometheus/common v0.4.1/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= -github.com/prometheus/common v0.7.0/go.mod h1:DjGbpBbp5NYNiECxcL/VnbXCCaQpKd3tt26CguLLsqA= -github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= -github.com/prometheus/procfs v0.0.0-20190117184657-bf6a532e95b1/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= -github.com/prometheus/procfs v0.0.0-20190507164030-5867b95ac084/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= -github.com/prometheus/procfs v0.0.2/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= -github.com/prometheus/procfs v0.0.8/go.mod h1:7Qr8sr6344vo1JqZ6HhLceV9o3AJ1Ff+GxbHq6oeK9A= -github.com/prometheus/tsdb v0.7.1/go.mod h1:qhTCs0VvXwvX/y3TZrWD7rabWM+ijKTux40TwIPHuXU= -github.com/rcrowley/go-metrics v0.0.0-20181016184325-3113b8401b8a/go.mod h1:bCqnVzQkZxMG4s8nGwiZ5l3QUCyqpo9Y+/ZMZ9VjZe4= -github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod h1:XWv6SoW27p1b0cqNHllgS5HIMJraePCO15w5zCzIWYg= +github.com/psanford/memfs v0.0.0-20210214183328-a001468d78ef h1:NKxTG6GVGbfMXc2mIk+KphcH6hagbVXhcFkbTgYleTI= +github.com/psanford/memfs v0.0.0-20210214183328-a001468d78ef/go.mod h1:tcaRap0jS3eifrEEllL6ZMd9dg8IlDpi2S1oARrQ+NI= github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ= github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= -github.com/rogpeppe/go-internal v1.3.2/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc= -github.com/rogpeppe/go-internal v1.5.2/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc= github.com/rogpeppe/go-internal v1.8.0 h1:FCbCCtXNOY3UtUuHUYaghJg4y7Fd14rXifAYUAtL9R8= github.com/rogpeppe/go-internal v1.8.0/go.mod h1:WmiCO8CzOY8rg0OYDC4/i/2WRWAB6poM+XZ2dLUbcbE= github.com/rs/xid v1.2.1/go.mod h1:+uKXf+4Djp6Md1KODXJxgGQPKngRmWyn10oCKFzNHOQ= @@ -564,50 +388,33 @@ github.com/rs/zerolog v1.13.0/go.mod h1:YbFCdg8HfsridGWAh22vktObvhZbQsZXe4/zB0OK github.com/rs/zerolog v1.15.0/go.mod h1:xYTKnLHcpfU2225ny5qZjxnj9NvkumZYjJHlAThCjNc= github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= github.com/ryanuber/columnize v0.0.0-20160712163229-9b3edd62028f/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts= -github.com/samuel/go-zookeeper v0.0.0-20190923202752-2cc03de413da/go.mod h1:gi+0XIa01GRL2eRQVjQkKGqKF3SF9vZR/HnPullcV2E= github.com/satori/go.uuid v1.2.0/go.mod h1:dA0hQrYB0VpLJoorglMZABFdXlWrHn1NEOzdhQKdks0= github.com/sean-/seed v0.0.0-20170313163322-e2103e2c3529/go.mod h1:DxrIzT+xaE7yg65j358z/aeFdxmN0P9QXhEzd20vsDc= github.com/sergi/go-diff v1.0.0/go.mod h1:0CfEIISq7TuYL3j771MWULgwwjU+GofnZX9QAmXWZgo= -github.com/sergi/go-diff v1.1.0/go.mod h1:STckp+ISIX8hZLjrqAeVduY0gWCT9IjLuqbuNXdaHfM= github.com/sergi/go-diff v1.2.0 h1:XU+rvMAioB0UC3q1MFrIQy4Vo5/4VsRDQQXHsEya6xQ= github.com/sergi/go-diff v1.2.0/go.mod h1:STckp+ISIX8hZLjrqAeVduY0gWCT9IjLuqbuNXdaHfM= github.com/shopspring/decimal v0.0.0-20180709203117-cd690d0c9e24/go.mod h1:M+9NzErvs504Cn4c5DxATwIqPbtswREoFCre64PpcG4= -github.com/shopspring/decimal v0.0.0-20200227202807-02e2044944cc h1:jUIKcSPO9MoMJBbEoyE/RJoE8vz7Mb8AjvifMMwSyvY= -github.com/shopspring/decimal v0.0.0-20200227202807-02e2044944cc/go.mod h1:DKyhrW/HYNuLGql+MJL6WCR6knT2jwCFRcu2hWCYk4o= +github.com/shopspring/decimal v1.2.0 h1:abSATXmQEYyShuxI4/vyW3tV1MrKAJzCZ/0zLUXYbsQ= +github.com/shopspring/decimal v1.2.0/go.mod h1:DKyhrW/HYNuLGql+MJL6WCR6knT2jwCFRcu2hWCYk4o= github.com/shurcooL/sanitized_anchor_name v1.0.0/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc= -github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= github.com/sirupsen/logrus v1.4.1/go.mod h1:ni0Sbl8bgC9z8RoU9G6nDWqqs/fq4eDPysMBDgk/93Q= github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE= github.com/sirupsen/logrus v1.8.1 h1:dJKuHgqk1NNQlqoA6BTlM1Wf9DOH3NBjQyu0h9+AZZE= github.com/sirupsen/logrus v1.8.1/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc= github.com/smartystreets/goconvey v1.6.4/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA= -github.com/soheilhy/cmux v0.1.4/go.mod h1:IM3LyeVVIOuxMH7sFAkER9+bJ4dT7Ms6E4xg4kGIyLM= -github.com/sony/gobreaker v0.4.1/go.mod h1:ZKptC7FHNvhBz7dN2LGjPVBz2sZJmc0/PkyDJOjmxWY= github.com/sourcegraph/annotate v0.0.0-20160123013949-f4cad6c6324d h1:yKm7XZV6j9Ev6lojP2XaIshpT4ymkqhMeSghO5Ps00E= github.com/sourcegraph/annotate v0.0.0-20160123013949-f4cad6c6324d/go.mod h1:UdhH50NIW0fCiwBSr0co2m7BnFLdv4fQTgdqdJTHFeE= github.com/sourcegraph/syntaxhighlight v0.0.0-20170531221838-bd320f5d308e h1:qpG93cPwA5f7s/ZPBJnGOYQNK/vKsaDaseuKT5Asee8= github.com/sourcegraph/syntaxhighlight v0.0.0-20170531221838-bd320f5d308e/go.mod h1:HuIsMU8RRBOtsCgI77wP899iHVBQpCmg4ErYMZB+2IA= -github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= -github.com/spf13/afero v1.1.2/go.mod h1:j4pytiNVoe2o6bmDsKpLACNPDBIoEAkihy7loJ1B0CQ= github.com/spf13/afero v1.6.0/go.mod h1:Ai8FlHk4v/PARR026UzYexafAt9roJ7LcLMAmO6Z93I= -github.com/spf13/cast v1.3.0/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= github.com/spf13/cast v1.3.1/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= -github.com/spf13/cobra v0.0.3/go.mod h1:1l0Ry5zgKvJasoi3XT1TypsSe7PqH0Sj9dhYf7v3XqQ= -github.com/spf13/cobra v0.0.6/go.mod h1:/6GTrnGXV9HjY+aR4k0oJ5tcvakLuG6EuKReYlHNrgE= github.com/spf13/cobra v1.2.1 h1:+KmjbUw1hriSNMF55oPrkZcb27aECyrj8V2ytv7kWDw= github.com/spf13/cobra v1.2.1/go.mod h1:ExllRjgxM/piMAM+3tAZvg8fsklGAf3tPfi+i8t68Nk= -github.com/spf13/jwalterweatherman v1.0.0/go.mod h1:cQK4TGJAtQXfYWX+Ddv3mKDzgVb68N+wFjFa4jdeBTo= github.com/spf13/jwalterweatherman v1.1.0/go.mod h1:aNWZUN0dPAAO/Ljvb5BEdw96iTZ0EXowPYD95IqWIGo= -github.com/spf13/pflag v1.0.1/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= -github.com/spf13/pflag v1.0.3/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= -github.com/spf13/viper v1.4.0/go.mod h1:PTJ7Z/lr49W6bUbkmS1V3by4uWynFiR9p7+dSq/yZzE= github.com/spf13/viper v1.8.1/go.mod h1:o0Pch8wJ9BVSWGQMbra6iw0oQ5oktSIBaujf1rJH9Ns= -github.com/streadway/amqp v0.0.0-20190404075320-75d898a42a94/go.mod h1:AZpEONHx3DKn8O/DFsRAY58/XVQiIPMTMB1SddzLXVw= -github.com/streadway/amqp v0.0.0-20190827072141-edfb9018d271/go.mod h1:AZpEONHx3DKn8O/DFsRAY58/XVQiIPMTMB1SddzLXVw= -github.com/streadway/handy v0.0.0-20190108123426-d5acb3125c2a/go.mod h1:qNTQ5P5JnDBl6z3cMAg/SywNDC5ABu5ApDIw6lUbRmI= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.2.0/go.mod h1:qt09Ya8vawLte6SNmTgCsAVtYtaKzEcn8ATUoHMkEqE= @@ -619,27 +426,16 @@ github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/ github.com/stretchr/testify v1.7.0 h1:nwc3DEeHmmLAfoZucVR881uASk0Mfjw8xYJ99tb5CcY= github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/subosito/gotenv v1.2.0/go.mod h1:N0PQaV/YGNqwC0u51sEeR/aUtSLEXKX9iv69rRypqCw= -github.com/tmc/grpc-websocket-proxy v0.0.0-20170815181823-89b8d40f7ca8/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= -github.com/tmc/grpc-websocket-proxy v0.0.0-20190109142713-0ad062ec5ee5/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= -github.com/ugorji/go v1.1.4/go.mod h1:uQMGLiO92mf5W77hV/PUCpI3pbzQx3CRekS0kk+RGrc= -github.com/urfave/cli v1.20.0/go.mod h1:70zkFmudgCuE/ngEzBv17Jvp/497gISqfk5gWijbERA= -github.com/urfave/cli v1.22.1/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0= -github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2/go.mod h1:UETIi67q53MR2AWcXfiuqkDkRtnGDLqkBTpCHuJHxtU= -github.com/xordataexchange/crypt v0.0.3-0.20170626215501-b2862e3d0a77/go.mod h1:aYKd//L2LvnjZzWKhF00oedf4jCCReLcmhLdhm1A27Q= github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= +github.com/yuin/goldmark v1.4.0/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= github.com/zenazn/goji v0.9.0/go.mod h1:7S9M489iMyHBNxwZnk9/EHS098H4/F6TATF2mIxtB1Q= -go.etcd.io/bbolt v1.3.2/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= -go.etcd.io/bbolt v1.3.3/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= -go.etcd.io/etcd v0.0.0-20191023171146-3cf2f69b5738/go.mod h1:dnLIgRNXwCJa5e+c6mIZCrds/GIG4ncV9HhK5PX7jPg= go.etcd.io/etcd/api/v3 v3.5.0/go.mod h1:cbVKeC6lCfl7j/8jBhAK6aIYO9XOjdptoxU/nLQcPvs= go.etcd.io/etcd/client/pkg/v3 v3.5.0/go.mod h1:IJHfcCEKxYu1Os13ZdwCwIUTUVGYTSAM3YSwc9/Ac1g= go.etcd.io/etcd/client/v2 v2.305.0/go.mod h1:h9puh54ZTgAKtEbut2oe9P4L/oqKCVB6xsXlzd7alYQ= -go.opencensus.io v0.20.1/go.mod h1:6WKK9ahsWS3RSO+PY9ZHZUfv2irvY6gN279GOPZjmmk= -go.opencensus.io v0.20.2/go.mod h1:6WKK9ahsWS3RSO+PY9ZHZUfv2irvY6gN279GOPZjmmk= go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU= go.opencensus.io v0.22.0/go.mod h1:+kGneAE2xo2IficOXnaByMWTGM9T73dGwxeWcUqIpI8= go.opencensus.io v0.22.2/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= @@ -661,21 +457,18 @@ go.uber.org/zap v1.9.1/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q= go.uber.org/zap v1.10.0/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q= go.uber.org/zap v1.13.0/go.mod h1:zwrFLgMcdUuIBviXEYEH1YKNaOBnKXsx2IPda5bBwHM= go.uber.org/zap v1.17.0/go.mod h1:MXVU+bhUf/A7Xi2HNOnopQOrmycQ5Ih87HtOu4q5SSo= -golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20181029021203-45a5f77698d3/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20190411191339-88737f569e3a/go.mod h1:WFFai1msRO1wXaEeE5yQxYXgSfI8pQAWXbQop6sCtWE= golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20190701094942-4def268fd1a4/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20190820162420-60c769a6c586/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20190911031432-227b76d455e7/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20191122220453-ac88ee75c92c/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.0.0-20200323165209-0ec3e9974c59/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.0.0-20210322153248-0c34fe9e7dc2 h1:It14KIkyBFYkHkwZ7k45minvA9aorojkyjGk9KJ5B/w= -golang.org/x/crypto v0.0.0-20210322153248-0c34fe9e7dc2/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4= +golang.org/x/crypto v0.0.0-20201203163018-be400aefbc4c/go.mod h1:jdWPYTVW3xRLrWPugEBEK3UY2ZEsg3UU495nc5E+M+I= +golang.org/x/crypto v0.0.0-20210616213533-5ff15b29337e/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= +golang.org/x/crypto v0.0.0-20210711020723-a769d52b0f97 h1:/UOmuWzQfxxo9UtlXMwuQU8CMgg1eZXqTRwkSQJWKOI= +golang.org/x/crypto v0.0.0-20210711020723-a769d52b0f97/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= @@ -713,19 +506,15 @@ golang.org/x/mod v0.4.1/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= 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-20181023162649-9b4f9f5ad519/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20181114220301-adae6a3d119a/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20181201002055-351d144fa1fc/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20181220203305-927f97764cc3/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-20190125091013-d26f9f9a57f3/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190501004415-9ce7a6920f09/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190503192946-f4e77d36d62c/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190522155817-f3200d17e092/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks= golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks= golang.org/x/net v0.0.0-20190613194153-d28f0bde5980/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= @@ -755,6 +544,7 @@ golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v golang.org/x/net v0.0.0-20210316092652-d523dce5a7f4/go.mod h1:RBQZq4jEuRlivfhVLdyRGr576XBO4/greRjx4P4O3yc= golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM= golang.org/x/net v0.0.0-20210614182718-04defd469f4e/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20210805182204-aaa1db679c0d/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20211015210444-4f30a5c0130f h1:OfiFi4JbukWwe3lzw+xunroH1mnC1e2Gy5cxNJApiSY= golang.org/x/net v0.0.0-20211015210444-4f30a5c0130f/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= @@ -784,11 +574,7 @@ golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sys v0.0.0-20180823144017-11551d06cbcc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/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-20181026203630-95b1ffbd15a5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20181107165924-66b7b1311ac8/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20181116152217-5ac8a444bdc5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20181122145206-62eef0e2fa9b/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190222072716-a9d3bda3a223/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -801,12 +587,10 @@ golang.org/x/sys v0.0.0-20190606165138-5da285871e9c/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190726091711-fc99dfbffb4e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190813064441-fde4db37ae7a/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190826190057-c7b8b68b1456/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191001151750-bb3f8db39f24/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191005200804-aed5e4c7ecf9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191204072324-ce4227a45e2e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191220142924-d4481acd189f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191228213918-04cbcbbfeed8/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200113162924-86b910548bc1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200116001909-b77594299b42/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -837,8 +621,10 @@ golang.org/x/sys v0.0.0-20210403161142-5e06dd20ab57/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c h1:F1jZWGFhYfh0Ci55sIpILtKKK8p3i2/krTr0H1rg74I= golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210809222454-d867a43fc93e h1:WUoyKPm6nCo1BnNUvPGnFG3T5DUVem42yDJZZ4CNxMA= +golang.org/x/sys v0.0.0-20210809222454-d867a43fc93e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211 h1:JGgROgKl9N8DuW20oFS5gxc+lE67/N3FcwmBPMe7ArY= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= @@ -851,12 +637,9 @@ golang.org/x/text v0.3.4/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6 h1:aRYxNxv6iGQlyVaZmk6ZgYEDa+Jg18DxebPSrd6bg1M= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/time v0.0.0-20180412165947-fbb02b2291d2/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/tools v0.0.0-20180221164845-07fd8470d635/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20180828015842-6cd1fcedba52/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= @@ -887,7 +670,6 @@ golang.org/x/tools v0.0.0-20191216173652-a0e659d51361/go.mod h1:TB2adYChydJhpapK golang.org/x/tools v0.0.0-20191227053925-7b8e75db28f4/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200103221440-774c71fcf114/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200117161641-43d50277825c/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200117220505-0cba7a3a9ee9/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200122220014-bf1340f18c4a/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200130002326-2f3ba24bd6e7/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200204074204-1cc6d1ef6c74/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= @@ -896,7 +678,6 @@ golang.org/x/tools v0.0.0-20200212150539-ea181f53ac56/go.mod h1:TB2adYChydJhpapK golang.org/x/tools v0.0.0-20200224181240-023911ca70b2/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200227222343-706bc42d1f0d/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200304193943-95d2e580d8eb/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw= -golang.org/x/tools v0.0.0-20200308013534-11ec41452d41/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw= golang.org/x/tools v0.0.0-20200312045724-11d5b4c81c7d/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw= golang.org/x/tools v0.0.0-20200331025713-a30bf2db82d4/go.mod h1:Sl4aGygMT6LrqrWclx+PTx3U+LnKx/seiNR+3G19Ar8= golang.org/x/tools v0.0.0-20200501065659-ab2804fb9c9d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= @@ -915,13 +696,13 @@ golang.org/x/tools v0.0.0-20210105154028-b0ab187a4818/go.mod h1:emZCQorbCU4vsT4f golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.1.0/go.mod h1:xkSsbof2nBLbhDlRMhhhyNLN/zl3eTqcnHD5viDpcZ0= golang.org/x/tools v0.1.2/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= +golang.org/x/tools v0.1.7/go.mod h1:LGqMHiF4EqQNHR1JncWGqT5BVaXmza+X+BDGol+dOxo= golang.org/x/xerrors v0.0.0-20190410155217-1f06c39b4373/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20190513163551-3ee3066db522/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -google.golang.org/api v0.3.1/go.mod h1:6wY9I6uQWHQ8EM57III9mq/AjF+i8G65rmVagqKMtkk= google.golang.org/api v0.4.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE= google.golang.org/api v0.7.0/go.mod h1:WtwebWUNSVBH/HAw79HIFXZNqEvBhG+Ra+ax0hx3E3M= google.golang.org/api v0.8.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= @@ -945,7 +726,6 @@ google.golang.org/api v0.41.0/go.mod h1:RkxM5lITDfTzmyKFPt+wGrCJbVfniCr2ool8kTBz google.golang.org/api v0.43.0/go.mod h1:nQsDGjRXMo4lvh5hP0TKqF244gqhGcr/YSIykhUk/94= google.golang.org/api v0.44.0/go.mod h1:EBOGZqzyhtvMDoxwS97ctnh0zUmYY6CxqXsc1AvkYD8= google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= -google.golang.org/appengine v1.2.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/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= google.golang.org/appengine v1.6.1/go.mod h1:i06prIuMbXzDqacNJfV5OdTW448YApPu5ww/cMBSeb0= @@ -957,7 +737,6 @@ google.golang.org/genproto v0.0.0-20190307195333-5fe7a883aa19/go.mod h1:VzzqZJRn google.golang.org/genproto v0.0.0-20190418145605-e7d98fc518a7/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= google.golang.org/genproto v0.0.0-20190425155659-357c62f0e4bb/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= google.golang.org/genproto v0.0.0-20190502173448-54afdca5d873/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= -google.golang.org/genproto v0.0.0-20190530194941-fb225487d101/go.mod h1:z3L6/3dTEVtUr6QSP8miRzeRqwQOioJ9I66odjN4I7s= google.golang.org/genproto v0.0.0-20190801165951-fa694d86fc64/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= google.golang.org/genproto v0.0.0-20190911173649-1774047e7e51/go.mod h1:IbNlFCBrqXvoKpeg0TB2l7cyZUmoaFKYIwrEpbDKLA8= @@ -994,15 +773,10 @@ google.golang.org/genproto v0.0.0-20210310155132-4ce2db91004e/go.mod h1:FWY/as6D google.golang.org/genproto v0.0.0-20210319143718-93e7006c17a6/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20210402141018-6c239bbf2bb1/go.mod h1:9lPAdzaEmUacj36I+k7YKbEc5CXzPIeORRgDAUOu28A= google.golang.org/genproto v0.0.0-20210602131652-f16073e35f0c/go.mod h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0= -google.golang.org/grpc v1.17.0/go.mod h1:6QZJwpn2B+Zp71q/5VxRsJ6NXXVCE5NRUHRo+f3cWCs= google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= -google.golang.org/grpc v1.20.0/go.mod h1:chYK+tFQF0nDUGJgXMSgLCQk3phJEuONr2DCgLDdAQM= google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38= -google.golang.org/grpc v1.21.0/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= -google.golang.org/grpc v1.22.1/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= -google.golang.org/grpc v1.23.1/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= google.golang.org/grpc v1.25.1/go.mod h1:c3i+UQWmh7LiEpx4sFZnkU36qjEYZ0imhYfXVyQciAY= google.golang.org/grpc v1.26.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= @@ -1031,24 +805,15 @@ google.golang.org/protobuf v1.24.0/go.mod h1:r/3tXBNzIEhYS9I1OUVjXDlt8tc493IdKGj google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c= google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= -gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw= gopkg.in/alexcesaro/quotedprintable.v3 v3.0.0-20150716171945-2caba252f4dc h1:2gGKlE2+asNV9m7xrywl36YYNnBG5ZQ0r/BOOxqPpmk= gopkg.in/alexcesaro/quotedprintable.v3 v3.0.0-20150716171945-2caba252f4dc/go.mod h1:m7x9LTH6d71AHyAX77c9yqWCCa3UKHcVEj9y7hAtKDk= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15 h1:YR8cESwS4TdDjEe65xsg0ogRM/Nc3DYOhEAlW+xobZo= gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/cheggaaa/pb.v1 v1.0.25/go.mod h1:V/YB90LKu/1FcN3WVnfiiE5oMCibMjukxqG/qStrOgw= gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= -gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys= -gopkg.in/gcfg.v1 v1.2.3/go.mod h1:yesOnuUOFQAhST5vPY4nbZsb/huCgGGXlipJsBn0b3o= gopkg.in/inconshreveable/log15.v2 v2.0.0-20180818164646-67afb5ed74ec/go.mod h1:aPpfJ7XW+gOuirDoZ8gHhLh3kZ1B08FtV2bbmy7Jv3s= gopkg.in/ini.v1 v1.62.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= -gopkg.in/resty.v1 v1.12.0/go.mod h1:mDo4pnntr5jdWRML875a/NmxYqAlA73dVijT2AXvQQo= -gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw= -gopkg.in/warnings.v0 v0.1.2/go.mod h1:jksf8JmL6Qr/oQM2OXTHunEvvTAsrWBLb6OOjuVWRNI= -gopkg.in/yaml.v2 v2.0.0-20170812160011-eb3733d160e7/go.mod h1:JAlM8MvJe8wmxCU4Bli9HhUf9+ttbYbLASfIpnQbh74= -gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.3/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= @@ -1058,7 +823,6 @@ gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b h1:h8qDotaEPuJATrMmW04NCwg7v22aHH28wwpauUhK9Oo= gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -honnef.co/go/tools v0.0.0-20180728063816-88497007e858/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.0-20190418001031-e561f6794a2a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= @@ -1069,5 +833,3 @@ honnef.co/go/tools v0.0.1-2020.1.4/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9 rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8= rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0= rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA= -sigs.k8s.io/yaml v1.1.0/go.mod h1:UJmg0vDUVViEyp3mgSv9WPwZCDxu4rQW1olrI1uml+o= -sourcegraph.com/sourcegraph/appdash v0.0.0-20190731080439-ebfcffb1b5c0/go.mod h1:hI742Nqp5OhwiqlzhgfbWU4mW4yO10fP+LoT9WOswdU= diff --git a/internal/takeon/github.com/gobuffalo/syncx/LICENSE b/internal/takeon/github.com/gobuffalo/syncx/LICENSE deleted file mode 100644 index a538bcbf2..000000000 --- a/internal/takeon/github.com/gobuffalo/syncx/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License (MIT) - -Copyright (c) 2018 Mark Bates - -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/internal/takeon/github.com/gobuffalo/syncx/README.md b/internal/takeon/github.com/gobuffalo/syncx/README.md deleted file mode 100644 index 0f0d02b20..000000000 --- a/internal/takeon/github.com/gobuffalo/syncx/README.md +++ /dev/null @@ -1,18 +0,0 @@ -

- -

-GoDoc -Go Report Card -

- -# github.com/gobuffalo/syncx - -This package provides a set of types and tools for working in current environments. - -See [https://godoc.org/github.com/gobuffalo/syncx](https://godoc.org/github.com/gobuffalo/syncx) for more details. - -# Installation - -```bash -$ go get github.com/gobuffalo/syncx -``` diff --git a/internal/takeon/github.com/gobuffalo/syncx/byte_map.go b/internal/takeon/github.com/gobuffalo/syncx/byte_map.go deleted file mode 100644 index 39b7dae16..000000000 --- a/internal/takeon/github.com/gobuffalo/syncx/byte_map.go +++ /dev/null @@ -1,73 +0,0 @@ -//go:generate mapgen -name "Byte" -zero "[]byte(``)" -go-type "[]byte" -pkg "" -a "[]byte(`A`)" -b "[]byte(`B`)" -c "[]byte(`C`)" -bb "[]byte(`BB`)" -destination "syncx" -// Code generated by github.com/gobuffalo/mapgen. DO NOT EDIT. - -package syncx - -import ( - "sort" - "sync" -) - -// ByteMap wraps sync.Map and uses the following types: -// key: string -// value: []byte -type ByteMap struct { - data sync.Map -} - -// Delete the key from the map -func (m *ByteMap) Delete(key string) { - m.data.Delete(key) -} - -// Load the key from the map. -// Returns []byte or bool. -// A false return indicates either the key was not found -// or the value is not of type []byte -func (m *ByteMap) Load(key string) ([]byte, bool) { - i, ok := m.data.Load(key) - if !ok { - return []byte(``), false - } - s, ok := i.([]byte) - return s, ok -} - -// LoadOrStore will return an existing key or -// store the value if not already in the map -func (m *ByteMap) LoadOrStore(key string, value []byte) ([]byte, bool) { - i, _ := m.data.LoadOrStore(key, value) - s, ok := i.([]byte) - return s, ok -} - -// Range over the []byte values in the map -func (m *ByteMap) Range(f func(key string, value []byte) bool) { - m.data.Range(func(k, v interface{}) bool { - key, ok := k.(string) - if !ok { - return false - } - value, ok := v.([]byte) - if !ok { - return false - } - return f(key, value) - }) -} - -// Store a []byte in the map -func (m *ByteMap) Store(key string, value []byte) { - m.data.Store(key, value) -} - -// Keys returns a list of keys in the map -func (m *ByteMap) Keys() []string { - var keys []string - m.Range(func(key string, value []byte) bool { - keys = append(keys, key) - return true - }) - sort.Strings(keys) - return keys -} diff --git a/internal/takeon/github.com/gobuffalo/syncx/int_map.go b/internal/takeon/github.com/gobuffalo/syncx/int_map.go deleted file mode 100644 index f6eba4dce..000000000 --- a/internal/takeon/github.com/gobuffalo/syncx/int_map.go +++ /dev/null @@ -1,73 +0,0 @@ -//go:generate mapgen -name "Int" -zero "0" -go-type "int" -pkg "" -a "0" -b "1" -c "2" -bb "-1" -destination "syncx" -// Code generated by github.com/gobuffalo/mapgen. DO NOT EDIT. - -package syncx - -import ( - "sort" - "sync" -) - -// IntMap wraps sync.Map and uses the following types: -// key: string -// value: int -type IntMap struct { - data sync.Map -} - -// Delete the key from the map -func (m *IntMap) Delete(key string) { - m.data.Delete(key) -} - -// Load the key from the map. -// Returns int or bool. -// A false return indicates either the key was not found -// or the value is not of type int -func (m *IntMap) Load(key string) (int, bool) { - i, ok := m.data.Load(key) - if !ok { - return 0, false - } - s, ok := i.(int) - return s, ok -} - -// LoadOrStore will return an existing key or -// store the value if not already in the map -func (m *IntMap) LoadOrStore(key string, value int) (int, bool) { - i, _ := m.data.LoadOrStore(key, value) - s, ok := i.(int) - return s, ok -} - -// Range over the int values in the map -func (m *IntMap) Range(f func(key string, value int) bool) { - m.data.Range(func(k, v interface{}) bool { - key, ok := k.(string) - if !ok { - return false - } - value, ok := v.(int) - if !ok { - return false - } - return f(key, value) - }) -} - -// Store a int in the map -func (m *IntMap) Store(key string, value int) { - m.data.Store(key, value) -} - -// Keys returns a list of keys in the map -func (m *IntMap) Keys() []string { - var keys []string - m.Range(func(key string, value int) bool { - keys = append(keys, key) - return true - }) - sort.Strings(keys) - return keys -} diff --git a/internal/takeon/github.com/gobuffalo/syncx/interface_map.go b/internal/takeon/github.com/gobuffalo/syncx/interface_map.go deleted file mode 100644 index 93376135d..000000000 --- a/internal/takeon/github.com/gobuffalo/syncx/interface_map.go +++ /dev/null @@ -1,73 +0,0 @@ -//go:generate mapgen -name "" -zero "nil" -go-type "interface{}" -pkg "" -a "0" -b "1" -c "2" -bb "-1" -destination "syncx" -// Code generated by github.com/gobuffalo/mapgen. DO NOT EDIT. - -package syncx - -import ( - "sort" - "sync" -) - -// Map wraps sync.Map and uses the following types: -// key: string -// value: interface{} -type Map struct { - data sync.Map -} - -// Delete the key from the map -func (m *Map) Delete(key string) { - m.data.Delete(key) -} - -// Load the key from the map. -// Returns interface{} or bool. -// A false return indicates either the key was not found -// or the value is not of type interface{} -func (m *Map) Load(key string) (interface{}, bool) { - i, ok := m.data.Load(key) - if !ok { - return nil, false - } - s, ok := i.(interface{}) - return s, ok -} - -// LoadOrStore will return an existing key or -// store the value if not already in the map -func (m *Map) LoadOrStore(key string, value interface{}) (interface{}, bool) { - i, _ := m.data.LoadOrStore(key, value) - s, ok := i.(interface{}) - return s, ok -} - -// Range over the interface{} values in the map -func (m *Map) Range(f func(key string, value interface{}) bool) { - m.data.Range(func(k, v interface{}) bool { - key, ok := k.(string) - if !ok { - return false - } - value, ok := v.(interface{}) - if !ok { - return false - } - return f(key, value) - }) -} - -// Store a interface{} in the map -func (m *Map) Store(key string, value interface{}) { - m.data.Store(key, value) -} - -// Keys returns a list of keys in the map -func (m *Map) Keys() []string { - var keys []string - m.Range(func(key string, value interface{}) bool { - keys = append(keys, key) - return true - }) - sort.Strings(keys) - return keys -} diff --git a/internal/takeon/github.com/gobuffalo/syncx/string_map.go b/internal/takeon/github.com/gobuffalo/syncx/string_map.go deleted file mode 100644 index 2bb37cf4b..000000000 --- a/internal/takeon/github.com/gobuffalo/syncx/string_map.go +++ /dev/null @@ -1,73 +0,0 @@ -//go:generate mapgen -name "String" -zero "``" -go-type "string" -pkg "" -a "`A`" -b "`B`" -c "`C`" -bb "`BB`" -destination "syncx" -// Code generated by github.com/gobuffalo/mapgen. DO NOT EDIT. - -package syncx - -import ( - "sort" - "sync" -) - -// StringMap wraps sync.Map and uses the following types: -// key: string -// value: string -type StringMap struct { - data sync.Map -} - -// Delete the key from the map -func (m *StringMap) Delete(key string) { - m.data.Delete(key) -} - -// Load the key from the map. -// Returns string or bool. -// A false return indicates either the key was not found -// or the value is not of type string -func (m *StringMap) Load(key string) (string, bool) { - i, ok := m.data.Load(key) - if !ok { - return ``, false - } - s, ok := i.(string) - return s, ok -} - -// LoadOrStore will return an existing key or -// store the value if not already in the map -func (m *StringMap) LoadOrStore(key string, value string) (string, bool) { - i, _ := m.data.LoadOrStore(key, value) - s, ok := i.(string) - return s, ok -} - -// Range over the string values in the map -func (m *StringMap) Range(f func(key string, value string) bool) { - m.data.Range(func(k, v interface{}) bool { - key, ok := k.(string) - if !ok { - return false - } - value, ok := v.(string) - if !ok { - return false - } - return f(key, value) - }) -} - -// Store a string in the map -func (m *StringMap) Store(key string, value string) { - m.data.Store(key, value) -} - -// Keys returns a list of keys in the map -func (m *StringMap) Keys() []string { - var keys []string - m.Range(func(key string, value string) bool { - keys = append(keys, key) - return true - }) - sort.Strings(keys) - return keys -} diff --git a/internal/takeon/github.com/gobuffalo/syncx/version.go b/internal/takeon/github.com/gobuffalo/syncx/version.go deleted file mode 100644 index 97ee3e4ca..000000000 --- a/internal/takeon/github.com/gobuffalo/syncx/version.go +++ /dev/null @@ -1,4 +0,0 @@ -package syncx - -// Version of syncx -const Version = "v0.0.1" diff --git a/internal/takeon/github.com/markbates/errx/LICENSE b/internal/takeon/github.com/markbates/errx/LICENSE deleted file mode 100644 index 649efd437..000000000 --- a/internal/takeon/github.com/markbates/errx/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License (MIT) - -Copyright (c) 2019 Mark Bates - -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/internal/takeon/github.com/markbates/errx/errx.go b/internal/takeon/github.com/markbates/errx/errx.go deleted file mode 100644 index 515d9f506..000000000 --- a/internal/takeon/github.com/markbates/errx/errx.go +++ /dev/null @@ -1,49 +0,0 @@ -package errx - -import "fmt" - -// go2 errors -type Wrapper interface { - Unwrap() error -} - -// pkg/errors -type Causer interface { - Cause() error -} - -func Unwrap(err error) error { - switch e := err.(type) { - case Wrapper: - return e.Unwrap() - case Causer: - return e.Cause() - } - return err -} - -var Cause = Unwrap - -func Wrap(err error, msg string) error { - return wrapped{ - err: err, - msg: msg, - } -} - -type wrapped struct { - err error - msg string -} - -func (w wrapped) Error() string { - return fmt.Sprintf("%s: %s", w.msg, w.err) -} - -func (w wrapped) Unwrap() error { - return w.err -} - -func (w wrapped) Cause() error { - return w.err -} diff --git a/internal/takeon/github.com/markbates/errx/version.go b/internal/takeon/github.com/markbates/errx/version.go deleted file mode 100644 index 6b5c99b8e..000000000 --- a/internal/takeon/github.com/markbates/errx/version.go +++ /dev/null @@ -1,4 +0,0 @@ -package errx - -// Version of errx -const Version = "v1.1.0" diff --git a/mail/README.md b/mail/README.md index e60ffbd83..e2779b095 100644 --- a/mail/README.md +++ b/mail/README.md @@ -5,7 +5,7 @@ This package is intended to allow easy Email sending with Buffalo, it allows you ## Generator ```bash -$ buffalo generate mailer welcome_email +buffalo generate mailer welcome_email ``` ## Example Usage @@ -15,16 +15,15 @@ $ buffalo generate mailer welcome_email package x import ( - "log" - "net/http" - - "github.com/gobuffalo/buffalo/render" - "github.com/gobuffalo/envy" - "github.com/gobuffalo/packr/v2" - "github.com/gobuffalo/plush" - "github.com/gobuffalo/buffalo/mail" - "errors" - "gitlab.com/wawandco/app/models" + "log" + "net/http" + + "github.com/gobuffalo/buffalo/render" + "github.com/gobuffalo/envy" + "github.com/gobuffalo/plush" + "github.com/gobuffalo/buffalo/mail" + "errors" + "gitlab.com/wawandco/app/models" ) var smtp mail.Sender @@ -32,52 +31,52 @@ var r *render.Engine func init() { - //Pulling config from the env. - port := envy.Get("SMTP_PORT", "1025") - host := envy.Get("SMTP_HOST", "localhost") - user := envy.Get("SMTP_USER", "") - password := envy.Get("SMTP_PASSWORD", "") + //Pulling config from the env. + port := envy.Get("SMTP_PORT", "1025") + host := envy.Get("SMTP_HOST", "localhost") + user := envy.Get("SMTP_USER", "") + password := envy.Get("SMTP_PASSWORD", "") - var err error - smtp, err = mail.NewSMTPSender(host, port, user, password) + var err error + smtp, err = mail.NewSMTPSender(host, port, user, password) - if err != nil { - log.Fatal(err) - } + if err != nil { + log.Fatal(err) + } - //The rendering engine, this is usually generated inside actions/render.go in your buffalo app. - r = render.New(render.Options{ - TemplatesBox: packr.New("app:mail", "../templates"), - }) + //The rendering engine, this is usually generated inside actions/render.go in your buffalo app. + r = render.New(render.Options{ + TemplatesFS: mailTemplates, + }) } //SendContactMessage Sends contact message to contact@myapp.com func SendContactMessage(c *models.Contact) error { - //Creates a new message - m := mail.NewMessage() - m.From = "sender@myapp.com" - m.Subject = "New Contact" - m.To = []string{"contact@myapp.com"} + //Creates a new message + m := mail.NewMessage() + m.From = "sender@myapp.com" + m.Subject = "New Contact" + m.To = []string{"contact@myapp.com"} - // Data that will be used inside the templates when rendering. - data := map[string]interface{}{ - "contact": c, - } + // Data that will be used inside the templates when rendering. + data := map[string]interface{}{ + "contact": c, + } - // You can add multiple bodies to the message you're creating to have content-types alternatives. - err := m.AddBodies(data, r.HTML("mail/contact.html"), r.Plain("mail/contact.txt")) + // You can add multiple bodies to the message you're creating to have content-types alternatives. + err := m.AddBodies(data, r.HTML("mail/contact.html"), r.Plain("mail/contact.txt")) - if err != nil { - return err - } + if err != nil { + return err + } - err = smtp.Send(m) - if err != nil { - return err - } + err = smtp.Send(m) + if err != nil { + return err + } - return nil + return nil } ``` @@ -109,13 +108,13 @@ func init() { port := envy.Get("SMTP_PORT", "465") // or 587 with TLS - host := envy.Get("SMTP_HOST", "smtp.gmail.com") - user := envy.Get("SMTP_USER", "your@email.com") - password := envy.Get("SMTP_PASSWORD", "yourp4ssw0rd") + host := envy.Get("SMTP_HOST", "smtp.gmail.com") + user := envy.Get("SMTP_USER", "your@email.com") + password := envy.Get("SMTP_PASSWORD", "yourp4ssw0rd") - var err error - sender, err := mail.NewSMTPSender(host, port, user, password) - sender.Dialer.SSL = true + var err error + sender, err := mail.NewSMTPSender(host, port, user, password) + sender.Dialer.SSL = true //or if TLS sender.Dialer.TLSConfig = &tls.Config{...} diff --git a/options.go b/options.go index 9959d68fa..3b180bdc4 100644 --- a/options.go +++ b/options.go @@ -11,8 +11,8 @@ import ( "github.com/gobuffalo/buffalo/worker" "github.com/gobuffalo/envy" "github.com/gobuffalo/logger" - "github.com/gobuffalo/pop/v5" - "github.com/gobuffalo/pop/v5/logging" + "github.com/gobuffalo/pop/v6" + "github.com/gobuffalo/pop/v6/logging" "github.com/gorilla/sessions" "github.com/markbates/oncer" ) diff --git a/plugins/packrd/packed-packr.go b/plugins/packrd/packed-packr.go deleted file mode 100644 index 5ce7bbc83..000000000 --- a/plugins/packrd/packed-packr.go +++ /dev/null @@ -1,126 +0,0 @@ -// +build !skippackr -// Code generated by github.com/gobuffalo/packr/v2. DO NOT EDIT. - -// You can use the "packr2 clean" command to clean up this, -// and any other packr generated files. -package packrd - -import ( - "github.com/gobuffalo/packr/v2" - "github.com/gobuffalo/packr/v2/file/resolver" -) - -var _ = func() error { - const gk = "463fbc670deceec4e41bd16a9da461f2" - g := packr.New(gk, "") - hgr, err := resolver.NewHexGzip(map[string]string{ - "0652906dbbddf180108ddfa0b73f1047": "1f8b08000000000000ffac524d6fdb3a103c93bf621f810454a047e1e1dd8c3a409336bda581833687a2075aa268c2d2aeb0249b0686ff7b215b091cc3c9a9275bfb313b9c99c1d66beb1dd47d2365e807e2045a0a551326f73b292985fa7036071a5234775df601efd61ece2e2bef109faa97defd8a38dddadec1d9a59242f9905679696aea2b4fcbdcb6b6a3fdcefbddca9377783433ac7de59889e351230eed7fff57352dd92a5948f9cb3278878e6d725f87140823cc2126ce75828d141727f99a69548a869f16196149d4c9ed468aa93183f3771737db526ea5acaa97e3d77d03ec0676d1618a9056eea50535f5bdc5e615d9717e0ee7bb9798ebfdc0468a6fd1cd00409d96b99462f73d03f58c13c102ba4778736191f1f30cda8cb5aefb062e5e5d2cc1b28ff0e3674c1cd017b0137d144e30cce6b073c83cb8b4c8888ef594127365ebb567cad8e8a2905288d01edb602669472cc1f08cf569577d1b4b88ed88e7cb91ca48e1b40fb7ee511f1f9c7e8b3d9d71fd9f3960e8260a2e65c6fd03a3790869759f6cbdd68e797f5508de95b52f0e18ccc15322eaa2f942377dd26c1644e92fdd98e6d92c32ea428a7daa46af206048ba18610f12636e3aeba32ecc1551f7ddf29d3e3fad7a09aae1a77f39a31affaa125adb455782e28c87e12486c790569413d4ec6c0ae8a10d9d8b400c9c11c7c294dfa80a09a7fd18b97d6c9a2955fa807221b7f24f000000ffff1136ba3e74040000", - "0e36ab770b1ec79ef2649ec1552c94dc": "1f8b08000000000000ffdc5a5f73db48727ff7a7e8b06a2b52154cfb3677496e2fb92aad25df32f1522e898ee3c721d020261ecce06606a29054be7baa7bfe6040525ea7f2967bb85a53404f4ffff9f5afbb01bff5bf9b41d41dc20759a376f8ea1b4ffe1b5a278d861fd76f2bf817a1476127f8f1eddbdfbff852e7fdf0d39b37c7e3712df898b5b187372a1ce5debca21777770fbf3ec2cdf616dedd6f6f37bbcdfdf611dedf3fc0a7c7bb0a1eee3e3edcdf7e7a473f57fcd4ede671f7b0f9f913fdc2027eb7865b6ca5965e1aedd6afa236ab78a315b84e28053d0a0dbe43f0687b074237501bdd84b7a03516468715581cac69c69a7eaea2287ab691ce5bb91fe977100e1a3a121bd84ff0887510f23bf09d35e3a1833f8269c177d24163eab147ed4ff532f64cb1da0c939587ce83396ab4602ca0f6d24f2046df192bff93cf8b722ebde13be1413a3858a1bdd4077e28daa150000f42c11d8b3e5362d47441d61e41d42c2569a11b104a4531c677181594e8c2d1b5d1de1a5581b098fea158e98a6e43bf8eba410bb5e97ba3a3a4f8201ca5ef829c70e01ade1bcb7a0ca31d8c43375b353b3cf96815a5acf82a0eaee47578d51cd156d0488bb52725a40eff5d8137508bd1213d17a5843fb1052cf4428b0392f3e85c37d65d54ac8263877cfdfd14b4172cbbb4cc515234190b57525e07f7b84e0e24a995ad9f60405b93e8ab3fbcfde19a8f3316a3e193a0d13b2f74433e709db0e89244790d7bd4d8ca5a0ab5945ee839bbfc8b195770652cff975d5d975e179a6df2249b91645928e3230ac067b4b574a4c880b697ce71c0739c852460b79c85daa3196d8d2b4aaffe34d2068b2d5a8b4df86bcb16ff4a47f4a691adac05675572b0d4b51ad914fbd183361e94ec259dee0d38d3fa238597e303a1360d5639f7585014131ea852feb7f2305afe3bb45261011ff7fbffc0da9fab2ef4147eb3e846c5f9d15ad3438f7527b4ac454a106f8576f4a44801c5bfa8f8cf160404f3b0b86a79c128e3e49ab5e90749096558b978cd036ab4821e595cb844afdae8a780de8ee484dcedb19102fc3494d7fe6cecd73350381afb9535661ca2489b5340ea748d9c00c174f15abd6810c493904aec55caff02972a42530ac05ac45012191712ba69e3658d19de82a5b0a1b30956bca7dac2164ada46115742033e8b7e50482f0ed63cc9f8223d79330ca81bf90c7b54e6783d5be116ad7c125e3e219041dcea3402e88ccb3688b78f92820d92e27be1c8799a53b1a13328faade90356d151ec2eca856327ebae00036ca43796d2dde293645752146be3639e002ab13736fdcbd8e4e6329ba230aa72e8507bb6be806367142705182b0f520b75c1e7e7789c70aa5da47f05a7e68bd6a3688ebe63f1b16a58ec85ccf98983b01c296417be468f16d5044aeaaf6cb8bdd41c275af4789d9c2eb547db8a9a8b4455d4c86cd433a5c83a68dad9ebef08ca638dbfe8f1d31cc8295b9c970d18132ed5d2ac07095bf88463b8894c244932c136fc96b12f2a5f1549e109f58d164a25d876e3be973e8247e21d1c5dac39ab1753810f621c3fa315c9cb5ceebe592d4aa242a8ccc753bcefb113aa05d3be4c5ebeafdac32adf691565857a9f61d9b4800a6b6f8d9675455ed80bc57174b4f49e66f231ea687da02c288d8eb3a1c84edecdc9c2f677d5374b51c6aef20ca30b9da01752d1cb4a3aefaab264652ae426e7b17725844be746a41252738d8c4f04f753e50b6c2573add2e85501238b2828ac4d766ba4ab47c7559e4fec192f238dfccc883797267c4e4658de35c5636db41b643d9ad1a9097a61bf12f4d9991d25ca854e1e3463bfd4ec2336ecc54824b05a6d8d070165aeae57e7297cc2aff3b55306fe26e5290d48f8d89f1c0a9d70b047d460b14646f2fdb438674e42877f1d517b45c7d6c60e26946b22bc45fa0520fa710d7f215a45c7becbd74fcc0a1ec7505c63ac5e6c668a342b511945dd4161202008d94f81c5312ff8624610c4f006f4a35029fc8ec6aae628896b68a35fb3e79d7ce27fbeae3b610fd4389949283fbd6e2d6205d25a7c323501f959358ffd1f1d98ba2dac880e0e14c7674837c3f930ee95acd544813a283155f32f03da506a1dff128945d9b795343f633193e5b3132f9473c696e0a0bf2b1cf45110e8fe3ff0ce153ed738784a30e75332b2822e3444d73084bb16deebc557aca0134fc82c2f29c47db4695be279061c2a55c5ff97fd60ac0f8ec93810897264850c33e9666482e0a374aa180645eda6d16a0a5626ec8aaad54ac8dec5678bcbeda720a4b46ec64d8d353a27ace4ec6cadd487d4d1a04cb5af4cfc2b770d42198db122d6a6df4b9d593dbf76fa42ba50e87063b5f52692bca572f18823b922d5ba356c5af27fee859c979e623a3bc5cb4350411c04fd99412e36ee5773c1cadcda1ae75eb3c1e81ab519893f857f4b0d029438ba517abaaac2432802c267e5674e70828adf0238ae094171175bed594e3d3b674ad74afee899a9fa0e03155b4662a24ca9198d99921a8d39c762c94bac2a54074a51f25e8a15e112616b84cfc197ad2b1df7894d8082dfafe101cbc9d09a8feec53423db290ad5669089db2cf0e81b2c8f5d42b4111b39f65588236234d2772657e465db1c4af80b4856cdad101b640ead1e3178b9354a9963a8ef09bb7e7a95fbaaeb70d3d1793890bea45ee8372cd6729048a05552dfdc1dd2ffce2e2ab83e9c76127fe2329acedc176786c1cd4ca5a98fa2fe3d0c752c859035bdd41427a17b74c5f1047139a44926b5ee0736060639cb93ebe2648b5e485d25de5cb4f0dc1de8e9ec72c5c1f9c039202acab0b93a5631ba2b82c5068937550599e010f573bac5bb8511c4057d4e2175c9dc027a2619ac5c6398d00e68e99a64ce9071d6cf850b22833fbde8d268cd358156f67f6cfcc8d5abedfd6ef3ee6e051e9f3ddb9bd22e9e4194bb38a7ccae02022e64ca9965d95f85a8d47a0ab0281aee31e7a0c38b66255012526369fe086a8c0ce1227c85ea7bec5a88b96ce18b76e560131e140a47ed5439a58fafccd93a286a827f4a6a8aa4e36cebd9428ba872dfd4e14f25982f82acccebe5000a643be30c95ccc35c01cfe51b5b9d5b5924ae574cb9626f70c14aed49a6308178421b9ce53b699bd774c929fb461bdb53c34cc402855dc3ae0b5d18e1d7b9990b7f337908ad741ef2095534afc45096eac4dc62c49a16b3f95c3644d3d07f5bea77ca882ca424d5a385be2713aa607d279b45e8703f25341d8aba19fb445b1711938025f47fc99da798c6064e430ca12e27134fab608f8107d8f134fe82615eda5b5c34d1dc55306de5617d20002783afc2152424dea354d9586824b1d605cbbdc0e0e7d1de8595511053ec8a4c7b419b6a4e9b969bc5e98556a49ccee5546279747431cd9b1538db562daa7066ddb5e90395a6385a8c6572a772d2092c1cf2076e76e22620f4aa330b746bf8a4153ac74ec3e741c95a52fbcb128b05499e6f4ca72cb218661563ac17475733d3a7134f073981eaedcbe9f3ffa6358b348bd52c02268808d4b549dbc7f0fed6787a296f6fb8beec4d68ca286d0fdcde511961d5dc38a075d8605804511a142e890705761106a41ee796e8603104fe1433843b327cc6ba807806de6c108b0761c35ee9b4f788bb80bf5fc32e111047b058f0e8c63072fa40b98b8d10193e2ed4027d496b0cd1a32b188da386d03ec91a21fed35888311c1e4e419b34aee6a9536c532dfe7594717b4405dd19cd259d5d3a3a6f7a6127d6466a68d0d556eea32b72d3210ff27c3e9bb229f92d56830b252058ea1fd6702b1db74e68e9a9cfc2925da69c0459d5fd141a58eebca9c59a6180bdc8cdcb3c05ab6687c5dc77b3aa57a42b8aba3b6d51cba7a5774be75e83e18ddfeae611368f2bf8f9e671f3988cfb79b3fbe5fed30e3edf3c3cdc6c779bbb47b87f28d7f2f7efe166fb05fe75b3bdad0065d8003f0f962e996f2219579a624c3a6710cf4945c2a9098ec154dc10d97388352dec36bb0f77156cefb7af37dbf70f9bed5fee7ebddbee2af8f5eee1dd2f37dbddcdcf9b0f9bdd170ea1f79bddf6ee317c3e7013657cbc79d86dde7dfa70f3001f3f3d7cbc7fbc0bd5366c0b152aead5dc60b493bc75e0cd4ce80a97e12286c19ac14aa2e77ce116469e9572fccd885bcc4bc3b4d1b9b1e75e25c1b5748cecced432b7c901d4e39e95a7b1e5a2f5bc990db1f78f6bf8904d4a2f7d90622f152fcf375479019f2876498f20431b503cecf41d1a3b15a396b4c9f2c6fa7264a0f1a0e401758dd755de76578b516e9efcfc66bc5f05a2e0a04125f74ce858b98335cee5bd453ad283a8bde3edf8e5fc08e8b9281fc6c23eb94c493e384e04d8b5a21787e50c9fde4e9f04cc1f07b8016b390fd9a4ae6543c436ac1288c08499ae142a094d085d77824c8416840d3b73aae2b956bb51f9d34697ad39668c19c32f52476716b85a4e0caebeb9134f5ad1b59509017b30a6394a55ce0ebf82f36618c4012be6042329de0aa9461baa9150eda86772c345f0c29720b5e97b0aded21ee16074d715c72111f4d3415c949187e9a27992bc246de3e71bcec96884f47143141f32e08f6bb8a9a926901512f2d2c93773a12e92e27347d47d99aea7cbc26faedb120bad3b63c21494279d8b653bcf5c41408b8c271508d650e81ac3258630068de83771dc61afa5cff998b7b72ae90e66afe2148a79cb1b821d62be61d5221d17a9d85f49b758f7e01a7e3147ea84422b990dc6f62c04cff7e32f5ab42ab6219973c7b5080f71e3cf04a4338cb2becc74e62dca8ce8f3a4a808833813a69e49b6019f29e143beb36dda6c9b065bd44d78a333aab9303a17b667244ae43a5b714ee7d1da795b1627c7c239b4943e71885a9dcf8df753241bf38526b2c06cd34ce68f453416b431eb1202f86e7b4b75f5d26770fcf79b8f1fefb6b79b7fff895cc8d382615053fc7ca1fc748ffec6aa1cf32e090076dff942153fa3584e1312ad3652a11d14a175e8e6aab9936f25aac601ea5a1917407f6f45fd15bd83d57ffdf76a6e5294a853b59b523031aac6aeafe8a4d770756bf4dfe6ef058a1c4dc2ffe61ab85be736d57566540d51fcac47ec0e8ab25dec662957dca4bd78ce8b506eea83026bf88c20943360313c1de7a409c5f9d91037ce31630d6d17d3cc2115e3b45adde3fcc90a6f4893268e5e5c0d56f2e09a307845b562b9f98c1fbf909a289cccfbf868b9b477cde39979c8216cddc9a78494f332f19f7ef867308377eb2f282cfcf0e7f9871bdedfc30f7fe637629c3445dbb48ca0aafc2614aee881fcd9e5f59f48446a49080b42058b13f4c4e4a58e9d28a3630eaacc728ac6dfec7960261653bb14cbc2a788ffadaf4e3f6cdedd6d1fef5effb87ecbaf7c0f497f897ec4cfce5e9583ca85bd927ad22d1e788984ff1f1978e2de6cb647c4850a29ce99d9b4b20625f461140784837942ab4f3fee8b039399b2bbf37bad5fbdfa9f000000ffff083522ff612c0000", - "11ccb6bedd3e318a1604672830b46c94": "1f8b08000000000000ff6c544d8fe23618befb573cda73cadeabaa9207cc6035d8c8314be7189297c16d62a7b6d315fdf595033b1f556fc67e9f4f5eb05797e0122e9108adef317bf2dd3c9e29528f142ef97b1b0991066a13f5703e07e42b619acf83ebd087b1757ec518f7b7e0e98d2a077461ba551843ef2eb7ea3e9fae15e64415ba304e6ea00a8986a14288ac772947779e3321174f3fa42b90cb578a701e29ccb12374a1275c421c1122da84f6075dcfceceb7f1569557b4fe86698e5378088e143bd70e05e483ffe9fda65a829f6f05c1466a7d5a31263dfe98a34bbdebb20b3e215fdb8c485d78f5ee1f5ad245f77acd18daefa95a3a69e77c0d7171b59c120b97cf69d053efba36d3e2aec8b6c3f081cbf94c9152391446f686fbdfd671228ced9f8fc61ed42ef8257e193f93a78bcb771b6fe8b6788eaff7effb41dc538e6e249f112e0873c4955c4c6582a5b9eb28a510d322582c16dc7f2473c0b93022fc4d31a3ed0a138b3438ffd7ecd275e1761e13c589f2ecf2ad2895f453a4541e8b9bcb9ce7b26ea58c74f7e6d27b0bb3ef297eae7ec598dd09347a6b4fdc08c80607a3bfc98dd8e00b6f209b2f154ed2eef4d1e2c48de1cabe406fc1d50b7e936a5331f1fbc188a6813690fb432dc5a68254ebfab891ea194f470ba52d6ab997566c60358ae0834a8a067acbf6c2ac775c59fe246b695f2a6ca5558573ab0d380edc58b93ed6dce0703407dd0870b581d24aaaad91ea59ec85b22b26159486f8269445b3e375bd48f1a3dd69d3e049a096fca9167756f58275cde5bec286eff973316298b63b6196b18791d34e2c5752812bf0b5955a95f86badace16b5bc16a634bf6057a928da81837b229d9b746ef2b94e6f476a947159c127796d22a3e95afcdf2f9d888772f1bc16ba99e9b02fe38bc626c1b22c610cb4e959ff3b24815a6e5af06912e14cb0afc72cd79faf9ebd7d90fae239f6815e2ebafecdf000000ffffcbc5d361ba040000", - "1614cda23f5488b474a44a2db5ecebac": "1f8b08000000000000ff945b5f93dbb6b57fd7a7c0eccc9dae6668c6bb6ba76dfae4266eae67ec4ca66e9ae923441e4ac88200038092d94f7fe79c038020456d7cf3106b25e200387f7fe70f3fd9ff2aada5f8793c68d5888faa01e3a11267705e59231eebd7bbdd432d7e804e191594351eff7ea8c5ddf7d604a70e63b0ee6eb713f85f0fd27801b23909655a7556ed28b5b04e68384a2dc0041526114e3288c6810ce02bd12432e045b0229c8069d1037804db5548c25e8c17dfdb333868c567db858b7450e3611e978711ffe6b32f0f154e201adb1f944954e9abbc0e6f865fda7002e7c5bdea8434d35e8c1e5a7198846462e53ed2b47c9741baa09a514b57fefe27bfa04e477d2a8f7a75c6f5edf03cf2067522f786c82d172d497eb6a36bf09a2d887f58d7238b2f27d59ce8f62452a917b73a492f6408b239413b4bc3d8a01a5c20de7f39a9830ae25d4524de7f81660cf2a0237ddb093f36a7ab8d2b6417d3fa645bd5a946669edf58a00cab52233deedce8b155e62806eb580f89188a0b6c47ec785b8bbb0fa6b1fd2083c213fdaac2497c86c69a56ba2969b7bf2b3814b9256b16e5d7722531a405df3875805628c39484c82cfa7b54e82bc1fe4d5817373e141b5fc9ff22bde8650b429ea5d2c4e4d1b4e0e8e900ae47f6e56d93cd3ed40f6830209d56e092a667d33e8c014f2fa4f6f62572f29a73c4e56f6b71b792fa52e7a49944177501295fac7b66bbc2ab9a2b4913d53fd7e2eea3744770e257eb9e571499063b0e3262d8b0960b4a9bf7e96500a7a426258aa6eb61904e06109dd2800cc27f7dc55495279e6cfa97bfe0d198016b9fa2bc686d33f660023dfad7fc28f266f9f4499e517d91234e1d4f0195e3e8a4095552935e7e51fdd80bf812c0043158ef518d2b7139015e2baa2a2b4b503d240e278d257278353f1e3cfc3e82097aaa4820e8aca4d6710553a26378f4c06798d8cdd1954a693fbcaec5ddc262af851d4fd159aded4599e377b351912e20bfd5b5dc99f30efca883179db3bd9046c8b6a5382382adb22eb6a081bec4a7281cf4c591d20130948009e4535e36393c9681cb1f1c0de949152fb9a91a0f18087f9624aeefb554bdbf63a75df88eb86bc1af811734b8e0deefabc2b9a10edb3108ad7a15e87295e8219c6c9b983138db80f7154b74209d1e3d13f3aceff316b32ea270d1cf462aa56fa3bb5eeca85b71406e744e9923b4ec293acbee21aad6d2974462a437a8becfca1c2b317afac783d6f4c1761d2049a2e5252a74b405f46d95503dbaf4440cf773d2f88e5d1728326815fc3a56afbe9c033f4b0651c19503bb5b0a2312c7c3fff8d32fe24730e0a4be0243ff9ec150951ffe08de2793fc8a950ff3ca77c80fbb5a13095dad7cc23d096c4c42a3574b6edeb330ac07a1635ce38b23c658ebf3eade6cad2b0f3d38e8c0a18aa39c58980b338bf41174fcc78e77e2de3afae4eef66b1d5fc13fb90480f0055ca3504b920b4a6148f9251f6a3c7db958a1c7e6edd968804d6a012d5125ac466348e4e2579a9c1cf153a54d1bdbf7d6a4273888fcc78ebcf330bac17a88bccee4da8c862b711757dec5cbdfcb3df174b0177095689583867c32b2043f93bb6fe4e8a317a6a7f927f265c87b238f804125a323be5f8e046872b4af24dac974f0a78b42f5b14edc1ff6089ac1f9931a90506f1d7004ee54172631806b708ffbb7afff67bf080cc28ec10769c825f9937440f67600039d6a30d22c081727ac77bbdd639dc4277e44afe1c9557d6f4d9b1288474c20f8b7a839ef11e82d001738384cec763c0a8441806e5f5d143a0d6727a9c3f4aa7390fc90b1e6157c69f4e8d5391b45118b58deca04d01a9a80ba39383b800b53d2c3fb02a64417cafea8855ebae77d0e48d78e75e9522d260e95703038db8e0d546850058e9b431b59d8848ae2072da70ac5d211fe6d958f99113bfb2c5e015f066d55400798e92cbc63955c9bc5702046c3768cea2fbdf215abf922ac57b31e09213da51d1ccb0a58f63742f1398c324717f12febc38a1d78fd8a998281214605743579d31c1a6019185697cfd1610e0ddb4c7839443c62def8beebd0ecce207e9001e2c5fe759a5d2a2b20c17b84c3213a73e69f033fa071071b11c2bc79641134b6070179978e7079c91d3279c33e00c1e922292590ea7c606ab33ef8158bd38d9ed0f21270f048978c4c7c6eecf047b723e497af28a4e3b358a3b375a4a749ec29fd2af0a2f8c966f826755a850e3ced77515a13c8e8078dda48a02fbb9d7cc1e8077919faa00d4057c48c19b012999f6c40f1640756c80d7da23cd83354c2d864e1f1741812d20d3713fec29574312237186029e8c8ab74d1416fcfe98e2fc3d18ec203e3ae9e102cc5073cc777e25eedd1ff71bd81e076f451cab564a5d39ffcd29b94b9f57a630e0d4aedb72a22b74da9c8ad7c12c03d7c696008a5b358995b2616cd6e5f5cbbd9761f197ea20cae64aed852e4c18369a0cc56af00629df57d5610d15ae0448fe12c72336a69a49c5dbd473fe5ce98e3f39fbb844eb53d5a62edc2e691ab333f7a39a19a1b40a88ef81343beed073d112773e92295111cfc3e2a17655fb89aa7facd9e2cfb4d2d3ee79c2e17327649e117e74057eb4b438c41546222cde9161e9f74aa3959dc3fd8b58bd92e48b0c464915fe6aac30221257edf7b807c9987d7f5e31e39785d74d82a36887b15c53b80eb55c89e67b97266d513b3ea6d2dfe0983030f861de12d88e1d253be2cc1ccbf1f402b38839fcd626913a490e4e0d451219f53c9f2deef39f6901ff06387a0097915752d719b95301704a8fe799de8bc909e3fd6dfd6e21f5239f18b872d7d8f650dc43ca6851637a0ccb2d47cc45614740bb72e8741ab86e04d638789eb15ad6d82a3d28bed4487bb5238a74f2dc898ec3976134c07d5fa2c35f2988efbe77a8103e99928402f9e30497aaa1ff17f4f1cf59fea37c4e6262f4a29cb46085b90436f8f60f409b5c10fd67875509a1208fcf2a1163f2ca24d976a00982ec593bdd37a159336c2d046f5a04ce8a599b6aa9ea470c879ae830b06495c99a5af7355bc12fde8037a9345d82d2c6019837135ad5086523c078d1ad452cbf9c049a7dbb974bb69f41817f13b937470b5f7c2e4596e277bc1e726d14823ec214865842455ba716039a1a2a60257807e6058a531e3255b453134d15af295feb472df85249856ac2f3e21d85b0b7c55c48c42ff409eb1f4845b225f97bdc3094c810f223c5bad23b150d9f500ebbaee961a9570bc2c34173eef81f9fd82d017799db83af8cb92daaccc8bc394c93990de1a22c7e92f2d0faa073d611e6b30072678d49c308d40d835e7a10c4112bec5f0da2d0d2e1646f37556f947529d425874e2f52537c24691cd17bacba5d30c08435cd92a4c56d083d3fa0af3c6b322871a4d2a934a6b53dd6c7d948c400a2d67978c9092d4bd24f755aabebce422423c614eb056fc454a17b9995819fd112a55c1d5c58ab45362650124a2ca2ed943c93b6a7d8180a2580bd4b3f20b7366b8e5936a3453aa4416c7529e34778168e3c2181a169d82d854285d9b35c0b565071b6da32a76fcb2e3bcf69328d8afe940551b5889510ec7e3502652fa5ac1d77b33a50d3567035eef4f45676fe78090d52c43ea35737b3955b1f5a09cb00317bfbad1514eb08d1b575cdf385e2ec01682271b2c4fbd60d3bddf935abfc16c13b1b35f29308a8053af854511640d92b306aea6c6fd4c244354eee7c83d039ff8449512c6fc77ab3cd5ddc1d16d2ed2211899e6528a2eb3f14e682509844cfbd45b809694f1964d97cefb3a938bf9463632bc3e5f78e37e8be67aec304503245c8876d84ee2d9d88b119de4fa9832b26946271b45d5e52704d7ef181b260b7b37e719ff42b1aefdc9c95a8f0906177ca20dd9140ea4e8806cbd2ab8e7c7a1e80828d3426f5498b824103928ec41ab6342537661bacbe8b7a98cb5f85f7b81331e2807118b2641f50e6bd8a9212b0e7092bae373a36ecdb51dfc7e230f2c2018d5fc106d1fbcd563c098d86890b1e592a121a9fbf5f5e79b57b7ae8e3e87f84afe6be6bcd4d6c00c0d6231551e1d902822e16e12c88265161b4b1b497fd39eca34a3e36daeeb7babccf2ff2949f606784ebaca1cd66385bf7085394bdd323bbaee2d8b137e80060178acd631a5df46a77cab9a58417b538b0f261f0bb36a0a583f8cc4b5cf418691b1fa3fe138ea39b9fcd0a19495a78a25376d898fd1959771afe8976e027824b72e2e7adb4767a66f82f496cfe8f98cc4f0dfc63616eb5d8b8a4e303a9d9b106bd6d4efa86db18ecfe548c0c245bfdcaf269046ed87045a93e329851363692aa1c1242495496bf119d58b975298c909d0a065c300988a7301be84d4c1254569238b57699bbfc9b49c512d3392f7d1aff22dd3ed9ca5a98e6802b32ecc3c25aefb5ba79feb0018d02148a563af4d2ee22f8a4b9918f7fcb3d21a4f7200412032c4990daa6e0a15eaddee6d4d9e37a21efcfba1a632ef56d9762948aac786b818841c83ed65500d810e45d08e0da5934adf5065c42ca429854fe5a5a9fe4d8b9434c90f90ea85af3a204f05dc98818ae916797c655024d0922213fef4113c5562341a3c6bdc6882d2570e2c05450c6c0ac5838f768ab157668fe7a0c0d5b42a2b39b758ac395a658e31367093456db442909114b0302c7753747bb116685e25563590fd3959ff559e3538c535836f5f8b564e5ec80e037f2ee610e30fb27916caa47ad34cbc169fac039be25fbad4cbec16196816ec5edc9e2fbe796fbaae025f5c78eeda2d6ebd7d6146cce863a979ad9c0f3c02936e9c4ed6803a439b0aabb65b6f10bddb5ac7e6d988e2d473045d6bf2ccffa735ff1d1f6288596d162e9e87acf5b14e45069edb0920b40a29a2cba344e6965d6d0cddde830b54508a283485d4b96bc0332054868e10b685464b278375134683233d25b9dc56259d184d00f72acd8fe0851b67bd8fdfecd19dc2912797aefa1cb1ae9fc2b28306ada76876a31b89472c675faa9b3e20e92a317d5a8c2e151bfb9c5fdf2851c70a09d37aac1faed24b7f92a5eb23c13c61f8679f7f8ebe38cc8e7549d98bb73c66f7b67e4c2d25a408e864f26048c2e084bc38cf2dc59382145e086fe9c083d6e0fc3e9602c9940f00f12267a955aba7b24d45e614f56e416fc399269d8d5eb8b81a73c38feeacce50fe52ef76df520121022ee4c9af116f11f4d9ca8273fabf7106f61777124df92e3aca8479ec1866301781f5b3326dee66c397c181f7d056a983c8251b0ac6d64d44296770d5e63455dc005dd1edc14b85ae10c8a7d84eb480c0c457a207d79ca4a1724e253a1562f82efc659c1811e4f2ccaba8fcca1ca9398951198d1a4396f2cf089c23caf87d94843a510de204404a56b74e4817f5c5b4cae7130d706d4daa913c20de02e51b67c422c224a6a11add53596a99ccecd1f38c3de4525d92cbdcdae23619f27b470e78908ac166635d1c6aa9b92bd12ed4284bbab1c60715a8af2d8d40019ba018eca7c6e2559f79f4c49bed0b2b8f50e6649dfa6fd9ae5e28624c9e0b159d8f57ef767f2e5be9b8d3c7944990daff42cb8c158d72cdd8736521418cf8138f2d8513a066e6c99d605d28ca0c48ccc051ab239806f6551eeb995b293cd1c326ba124f1a0dc3ecf77222c32ea704ae18237dd14c8b5eeb00942531b6443d2832c034b134cf2e511ac583b58d6ac104fc4cc236b1238819472b7b7984d425454a98efcb26d000ce8bf6999676d46af504bc3b85d6a7ad4fd9c8d1da16b16bc5353c1fec30c8235414a047dc0571d6e8b8262075379a86c9c7c67d8c29bb3435456360e09ac5e1e90054adc37890610df5dca33c160e9a8bef088aba3802e663d7692ea647e2d122f442c572b24ac89fe893490e08b9a94e9c7253644e0b329cf09003384ff517657e1bdd1413711ab874b6cf39491c1528b46d95e1144d3f2d2f39e1f1191bcda7adc567844365faec456be35cb9e69e8288c3586998a3b86af4d351816eea4f2c522a5f905a26f9a297c4ad059fd021ee767f410b4eb08a8cf61d55c532d27280691b021bbb740db17b7f70763c9e02978454ea568c8ebbc154472f1980161e8766d0d59a1661622f559c2146460e0e2f3d48cda96c64c461f4caa4048544551c92d5e0008b3ab5969798d4cab05b953166aba279ce2467c583de9d564d7865bb5751c29c26792aa69ea23b5a0f03f11106c7a04866452a0a25079aef2d71632c812ee165bddbfdb5169f946f406b69c08e5c2e5cf4ac176df908b92114180aefd18033699ade8f87dfa02146f432a0f1c77742106613e64cf7bc4281ca8b13e89613ec1d95d0018db8010ef16c38797916868364e986556e362376e8c5dc472a0216846b56457959d56418f445f8e4b378a9df2dcd7194c7f84e509efdcc27a220ea4674eb31812045749c96646742fa06fc5613a5f3bc6ac9959c82ac5e38da3dbcae13e4f7ab5970faf1a1163fc1253f92a682d34b66ffb0a36973ddb2e8e20b1fe0225d9b4b2fb2009173bf33927b785d3fd1fc16d57ce781cd0d823480b178e382c72de759c7613c68e54ff436c072b27a511192cd294fbaa421b6a3c2a810e7c428ee2a731c95473bca0f9bb13f10a078783d0f1ce2065b8cdae867be90e3ac6a8890f6dc8932f14c42e535f384419a5ad1d39c346f6d56cce56fcded98696b182872751e18d0737513e351143771e5a98eb311d05e31e44327a67948224f9ed104d76224611616a7b0b8ea42d33531dbc98d4d9274d9a5251bf7b9a9325d3742116b2631e741dad5dcd3ec52f8c80e8c8cb039278194e1f536d52a22088f4e3a6702b46e39e592d5398d9871fd08b28748313e9f2e2de4ceb54f8396f339f7ccfc376577d81c6fbc08a3fc4b5dcd7880d4db4cc58db9f353a8f32dfa49de5fd13bbdd5cd2f2412a92d5e7bbbf1d25ef1b2de5a92b1709b8415dffeab77bbfc0aa478757da1b49abb93499129c25d3dab7c0a5e8beedcd2aa6fbea21bc75dc563fd9a435d316003e2d3cf1fe9fdc13c565388a12daa609dc240470293d975f01c08fad7ac5fa71086efbef9a6e7d3d4d61dbff9f4f3c76f1eebd7dfd4bb5dee80a069e61e08a154af5cca2e86319472a059912277a6a3ece6c644d1025aafd2367620ef49efa901f5f1c3f7ef7ffafc3ebfd425770e349cd10b70f662ddb48f28ad2cb9e7579fb47a8688b4ad7d9e9d83dce5ea5d6eb3b66d3961c95dd230375b6d57f48ff3cb1285eefc5dbcfaca9755bf569316d4e2c3b768563c52d42953340eff40db48cf76bbff0b0000ffff52ca028a323e0000", - "1bb7ffbc87c10d18914f6951d39775b5": "1f8b08000000000000ff74904f6beb3010c4effb2906411ef623cfe6d15b680225f45a424b7b293d28b2ac8858925949b9847cf762c74dff909e04dad9dfcc6c2fd55e1a0de51a22ebfac009050180685d124480b89d2d11fa14ab4d978df59bbdc16c555f7e9f7681d383741ab39518f4c6a65dde562ab8da846d6e5bd9857a7afff52323d6d3fb7321f6edff9b5a852d4b4125515de3a039dae0d7ae01eb9e75d43e45a49dfe984005e7a46fe820f9ab7a893f23a85a9fe747029ea35e0ce52699981330165840a8ccac7dba60438beb2587a5c7ecef1768b35785720dfe7e739a43b289787d8b89ad37253473601cc7c3b62e551bb63e75be10bf185c37ae5ecec9ca91c33a65f6f0b623e034a713d11007d6db5494a3d955cada35d55dd34c518bcf839574a2f7000000ffffc4af3d5010020000", - "22ff05a4b44a03ae13723f6a9efc10e2": "1f8b08000000000000ff94535d8b9c30147d36bfe222bb30d246711fa5b67469bb14da6ea11faf2563ae9930317193280cc3fcf712b5451d0bdd9761bcf79c73cf3d49bebf7df8066f4a88dd93921e63f2f0f8ebfee39750128610a99d674a15246a5975b47724bad98d8804a61e50cf84839b7390ba00ede1d56d09a6f52ebdefa4e25f993fc0ed6b1235ec88e0253f11127e0b226b7c825d10ccf3fcf3e3bb1f9fde272f8d4ee6431ac3470e2a8724c2ea60c01d65db4a2d4098595f735913c2b175c55c40a00721fda1dba795693261f65d5d3365328b0a59d0fc0fecb07cd6df65d72904ce2a010f6996a6e962e37d886233c6a113625b123c3abf890f0da095e9d1ae065f4fad24dd0ce41f86037e9abb9eb7245856e11f8e923a108469d0b3f0117cd11e353776c400a51c195752639937406938c072406aa61686bb96338fd77ebba58339e76f4463099d9ffe4ef773a13f1dfab3b7dcd0281626a622d0d370fd650dbbe109fc44eba4d11fa4c204ce60d17756434c6b885fc01a0197d543f91d0000ffffcdb4d8109e030000", - "2669267df0f493b450bfe1ef118aeef9": "1f8b08000000000000ff5490e16ae3301084ffe7298642e10e4cee05ee0eb6f63a5e70a49c2437f4a7db28b5a08d8cadb4e4ed0f3957dafb2569b5dfccec9671bc4ce17948f8f6f41d3f6f7f218e695e3ff87ec2edefe2b342e734c45c5bad767e7a0df31ce20929e23cfb024f71bc14788d8770bc14e84f871f71c221cc690a8fe7e4918630638ec7f4de4f1ec738a13f5d309ea731ce1eef210d88d372c673c2d17b8419839ffce305cf537f4afe50609ce25b38f803d2d027a4c1a37f8c6f7e31bfce708a293cf9ec7f751c3f937e7c8d631e2d9cd0bfbc6432f879bd5ab9866175edf6641862b133fa5e2aae704316626f40aa426ea2ce35daa0125bb6245b0b6a5becc918524ed8622fae81e10d990a4ec33562bf08abb2ed2a519b8592edae15aebed2bac6964dd990727427adb887c5b816a7d8da35444169f03d2b07db64912f99ee18add05dcba8b501a907d81d97426d814a0c97ae80a88f9b3628b5b2fca763e5845a54b4a54d8e70453f9efb869cd57ccf06866dd7ba9cbe367a8b56db257067b940458e32ba33ba16670bec1b760d9b9c9814a874a255ee2eb572867202c59b5636ac4acea05eba9d364e7467ff0105c888cd8eba7399d68b60a995e2abe2b2eebc83ce2e323b36b5365b5a54ebffd7bf5efd0d0000ffff99dd0362ed020000", - "288df37e7ab95dfbcb9550200ab31180": "1f8b08000000000000ff9492518be3361485dffd2b0e0b0bbbc54cdfbb6d41b16f628163b9923cd93c7a6c652288ad202b334c4bff7b9132c364dba5a54fbe58baf79ef3e914eefce2ede331e0d3f0193f7ffc05ee1c96bbbde93d3efe9abfff61977074f15fc64e27a49605de2cc63f99f12ecba419ed12bc7db804eb66f4f388cb6260672ceee20793fe3cd8b9f72f38383f2d399e6d38c2f9f47597904d6eb4073bf471408ede1b9c8d9f6c0866c4d9bb273b9a11e1d80784a3c1c19d4eeed9ce8f18dc3cdad8b4a4a6c9849fb2ec077cab68813bbc4919dc68305d96006f426fe734af7f704ff1e88dc7ec821d4c8e70b44b069cec12e288db65f3f83725a35d86536f27e3efbea7c0ceb704de149cbd1b2f83f9371119928cff2b02afd646375c263387443643ecf9d179b870341e531f8cb7fd6979679c1e2635dec84f8e1a6353533c9cfbc94431b1fec3f9c77eb6bfa70d7f6276ef5712781b22c3c1cdd771ce2f98fa173c98189211c1c1cca3f38b8979387b37b960700513168cc6db2733e2e0ddf486627187f01c9ffb353d58ce6688f1c1d9db182a1f83335f23b42c5703bae20a4aacf58e49025768a5b8e7259558eda12b4221dabde49b4aa3127549528135250ad168c9579d1652e10353e0ea43160f58b3077d6d25290521c1b76dcda9c48e49c91acd49e5e04d5177256f3639569d4623346abee59a4a6891c7a5d93fdb20d6d8922c2ad668b6e235d7fb2464cd751377ad850443cba4e645573389b693ad500426292bb92a6ac6b754de81376804e89e1a0d55b1bafeaecba8fd1b8f2b42cdd9aaa62c6d6af628b9a442473bef55c14b6a34ab73a8960a1e0bfa4adbb666729fbfce54f45b478de6acce4ab6651b52f8f41f485a298a4ed2366a166ba86ea534d79d266c842823e84c91bce705a92fa8854ab43a45394aa6595adc4ab1e65a7d89f5aa533c41e38d2629bb5673d17c462576744f322b58a7a84c744593acea8a84dcc7a19141829f635791ae4846a089148b089496bcd037d73221a185d4371ed1d0a6e61b6a0a8a6a449cb2e38a3e8349aee2057e5dbb637b882e598e6fd429ca527993d83cbd24f81aacbce751f6ebe55628c55f7392901515aeb8efb2bf020000ffffbb5d62f6e2050000", - "37e6217420675913821fc175e7dd25cb": "1f8b08000000000000ff4c8fcd6a14411485d7759fe2d810e906ad21b88b8e9b210b3722a80f505d7d7bbab0fea87bdb6408f3eed21367c8a26a730ee7fb6e75fe8f3b327c9a8842aaa5297a32dd9cb423d315e9884c770cbaaca3f525eda4cef79f76be8ccd753410ed7668a5e8214d685c1b0b6715e8c2189d307c49c9e5094f0b677817234f780aba9455e1f209b28eff2b427f5dbb6dedf1fec2b087d7f485cc6fe10700ddb8ceb38be5e397bb3d4a55b13f97d2f4bb4b8cbbafdd073a5fa41e9fd9afca70d3247031c22f214e571f81968be4c6bb496e4f580573744781abb595da82538e27bb8dfe5a8220c8f590f184e442b6dbd70f16df1425c71332f32b6171b57246c99edf020f69b234afd95f2dfb012f64c20c6e0d0ffb5be9167fbe24eff6c8216e553327b53f5ac81a73cfad0d644c11fbf81cb4bf1fc89ce94cff020000ffffea1157a3db010000", - "38ff45a61f79481d5d34d8d9f9676c34": "1f8b08000000000000ffc4bddb931bb7b13ffe8ebf02b52fd65651b46527ce499c4a15b54b59acb3dadd2c5776f408ce80248e660006c02cc5fcf5bfea0b2ec38be45f5ebea93a75ace50c2e8d465f3fdd23cffcefd7fb8f72f6eeddfce941fe3abf9f3fcdeee4e3c7b7778b1b79b7b899df2fe7e2dc5b52cadfb40fc659f9d344bef9abbc772fba5f692f7ffce187bf08216fdceee0cd661be5ab9b6bfca37ce7b5964bb78e7be5b57ce706dbaa689c9dc8856da6f2efdb18777ffbfefb75584f9ddf7cff0f21e72fda1f9cd5d204b9d3be3731ea5646271bb73b48655bd99a10bd590d51cb17ed572a9a1e7e343a08e9d6326e4d909d69b40d5ab6ae197a6de344ae86289badb21b6337d24418deba2855d7b9bd6ea7e2d296f17f8f5eab7ed56978ea79ab8980ebb5f64efeaaadf6aa938fc3aa338dbce3894d904aaebdd6135c78a7d7312f6aedbc088926b02317b7dacbcfc6b60176b077fe7398c8b0d38d599b4675dd41b63a988d254a681b06af45e3dc4e7b24a7dc9bb89571ab65e3fa7eb0261ea4b1f40715340c6a75847165d0fe457b99e69fa62df1e202ac4ef62e447966893baf9a082ba2354af835ad4c4427a3faaca5daab833cb8c1e3fe5bd7c39ac3368d8487a0716d38c854cab707d9381bbd0a7122e0c5f344a5f98c8ddab64489cda0bcb251ebe3f9c4c97caaeb805d807d91c84aeebcdb78d5bf7e1d9dec61e14055600daf7b656cc0e1ca41015d601013831c82f60149f7fb565bb9d77058ea338c0b2f65d24de02778d9ebb5f61e582fbab4cc0930a0d879d3e8a9940fdfd876cd0065b571ab22ec5d6cd50bd1b4a2797551e87e9cac4fbe620af90db165dcea5e9a350c29f7266caf27790ae975a3cd0bbc3cf806866cb5745e36caca8d8e78a7f045b15716fe59bd0acf54e79ea7771e4829774637b43a18c44aabf702d7c9471426789279b8cfd6edf3b8ad8331038c6cec864ee556bfe80e6e47a0976092aff1d5cebba89b485c84222c08ba527b2743d4bbf037f9eacdb55421681ff14693a07376b4215ae7ab1fafa503e920608d288f9258d86f4db3951bf3a2036ea0d31bd5919c0b285959d04daac313cab6dfe3a56ccdfa309a0f373b934137ceb6ca1fe44a5bbd361148d9eab5b62db01c702d72ec77993b0c1146987ee7418a6b1b83ec550bd74baa2e6a6f15c9d77c61605e3e8f099c74dcea83483cb137ad0e3baf550b334de44a37aed752bd28d3a95547b78764485b9d8d13c636ceef9c57112ec107650ff50327fc0affb7d5ca470d5741d95668dbb8c1ab8d6ee58a88e37518ba081baf24e454caf76eaf5fb49f1c49c672c387a05b38d1b1a80c133a421a56f6ea20d7ca747452b0c7951be25424b570411f902a031a7fc623a1d334ba4d34c6cd743ae2c291d634806a1a1d025c0c7826896f604e3744091b925e775a05d26b41d4d733ba6aa8e9ff2fed95e5cd480d452748fb20fb2029c3d06c919648285d36562f84f821148610bcb4acafa6522e40f4fe7b305e07fc8d0e0f1807c4f591028b4e00eb9a3689944a28adc70b4914f683b54c5d9f6823f062d02b2af2e053a493d76b07579a0f62203d7a7a7213e9ac50fc5877e01333c0f534dc842ffce9a9321168f1e26b8ba79b6ea5eb5aed93b29e483815d0095bfd8d1305eec2b9c3966e0a3d3e917b1546ba45358deb77f09c0ca6379df272e3541790262648138492ad81b7b58d6525684c6552f32ed29a1eefc800e37f6f5510c4b4708941dc5f7e914566ba3f5ed38c708e836d35a8ac62ef6516df79dd18d009daf781cc00675b135198812c02216beca692b3e90e12e51bb2abd60eecc3cbd6e1f3fce9c352ceee6fe5cdc3fdede279f170bf84877f98ca5bbd369666c4f7af9e2b45704516017240dafa4f69f3dfbc9f345e36b7afa4ea8293bd563614ddf4ba339fb5ecd49e75a0daedf0021f599b22599b708d559041f70668353470f37a153ee7e56bf948f2bf5e3d48ec3c278a7abca57c202d1d124a5091562fe55c35dbf408d9ca6deb75407608f2eae086aba99457fc820e5778325770a83b03baea0ae5f00ad4556b5e4c3ba82e8035e1fc4659f31f55c8feece41569ce2ba9686d44a8e452acbdebe155d5aa1dfa03f08f9df2311d07bc23402dcab50a5b142428a548c3244ba0e8f00953386e15291a96f9203cacd05f5443160449994a5de1e24c48975af1c22b2970c56b125af9ce801e805760f1f45f572b453aec0a27ae9f6253e1aa712fdaeb16ff76c5a4d08617ace560f39c7cd8d5f038ba609b877fce44de79b7531b15f5299d5b6413b4cfc8533191f507eb3151536fef86ae251b174ca4d678ddc4ee00eb48868ee90eb233c9b010c6aee134d08c6186036e370d3e51cea853fb89d45f1abd8b527fd1cd10d91984ab2f40ee0d510313b1ad459a7ae7cd8b221b1aceec91f7098c606cd30dad0e599c88913879859b75455dd7b2e57a928d816c25b14e222541c624685830331a37d8e8d188c7c30247ecc544f8830a72afbb2e9f44e3ec8b3e6677b8a770e7818376d5165036680bd3f3d002981fc64d9e86f3d9f6273f022c35cdae187a84c903556867cab8f56ed86c859299a6acbde9c4a575327a65c35ab372279b977d725abfb19ba4f4f23c2f9a26c03fac55a3417cef3a7508f26ab6836d790347758766f5bd8ba6d1e12ad91afa4b0406c11da3a3c187a768460b920569bef3ae37565be0ba1783aa5cacb58ad9e3025f20cfac2c705b9ebbb09bc5f9b34f20a2ee3ab202984a2ab22d821b977be5c19b3da0824a9247be628665dea837c12f187611d91e6a93d396046c40614954c53170dc2298935aa1956edd1eb592d17b3e981c5529027cb10657b13a879dd7019d08253b135076e226c1be53a869bc743b14cb45d728d16b3b4cc817278a4b13c10325118323f55ac740f337de44ed9335f4662a9764f5ddb8b6a8feabca14bc22af7d248ec83a00775cb7f0733f92f318fda06b595f56bc0c2682527a58fd9f46090ec397bb659d7dcd765c1a548d04ef322a105dad5c24a295d72b42d27d24816cf037b75e9bc6a84e8434420ba60599710aaea6db58f31fb0b8f9812057ae3d4ca43b7576f2442119f644053803b8f6cd00161ffb793d90a1537633a88d063357b3d718d0e1eb0ee432a9ded94dedb6c1b651b2b278494394335a1e029cf39d59790542ed8ab4234be56246f01dcdea8375abc8ba159f025692fbadeb3473fe2b750dc4e3b7db4404eb7cafba74e862a79acf6a4342fe83fa3fe7e58deb77cee67821999e2c958a49a0223d2eaac7f18eafaec9e20fd259b2b548b026df212f98c3752a8a9379e1ea3b69fa5d47ea4cc953c6c103a3c5292bf2b3ac93c28942495e07ea92e227011da652cec4d5d12aae986de0ca391bf5973849ac2a7b7c146c351b8dea50c2e34be2d567edadee40c4dbd6ed65c03326d204279dbd4e34482e257b787002f4b07865800d0ed7a091698324b8c75ce1079022c8b430bde9b4274e24a7b01d9a125fa4e7ac74e5dad26ddb791dcb7b30265cf0cca137ce7b1d768e4228246846e2c48cc744a66222759d38f649add6296689267dd440e31055d731f3ac699d65af28a6af7161e80d57936134ccd51121da2a313cd2b3f1661731c482a155d7c9b875e00866bb61141289b2759a183dddb934ec77411c5f57242a6da47bbd1bfc0e468ece9111ce3f802b5ce23f5e6b91c279897753cca5323a8d054b1a88499efa78c9702b4579797c2d69b55329df01837e51702d26f2dc398aacfa2b4322bb6b726d3ab4aa826b40a3b7745df934e9478e9532d92938a98f2f1705bd5bd925b251fae260554fe114d119fb19e4f6b0caa4495641f6062ea60138563211499dae0eb01fd38315d2aaa85270857d59f47a8915d69ddbcb958e7bad2d1159d46ba802fecac730226fba20e7e88a5c3ee2a16cf6a730ac0fa251e041a56b20d5105daf226f90bcb1d3b947d3099aeeeb6b195fd563b99723a041f5d5ce7e9ccab72a98463e668784dcc859d77160586e30e5d09e31a09029d3cfc9888b9ab4cd49d0f831055381dc98d9f05ebf38725a922d477c15810d4515c280c77b1d535026cdafbf80d763c06e55ebb5f17da090f6603bd31b18631c6a4eb2e5d4eb63e7d40d7137443a95143e034fa9f890e8b0f2bf31005b2d07b520858a79240a85590c54a26a0195d7381ba28943645bbc0c7ebc3fd57cb66edfe97643f1732ff84cdc5aae95a16c428e34c3fd78511de9e75048ba3a8c7d423ce04f6e4033193c9e0912863d01726a47cb0a2515d13acce290719dfdd93ada149cecc03e527c16290b886bdc9ba053be49180b4c83d9a0b41a36da8f26e7184ec83c161cb00cc961e1d672ab5e38d0d9930b37b665f597a61b8279010b0e8638b801257a0aa862120764de5a35a623c90bcf95002a88650e1c559c9ab23daedf7507a4854837201c3b117029b3a3876117905bde907dc61a82282cd82944d1954f0e7903f5ce76c871f5d1228f0e4df056653f045077703235259ca5035ae9adead613bedff8278a411867058712612913bcc8b837dcfacebbad59616843f7746592834f3132cac0091c316f43b765e36e888103da06c3fa745e5bb32315747003f2ea4da61b073bec8159be31be197af003c0c21fa5d08147c062e7a0a91ef1280a18b9d29ddb4fa55ca2b9c851d671a2fc17198812f2cd0f02580b531383b5bad121287fc005fe34053912e149bb911f29f7444ef9135dd877409e998de6f50d2ef905cc4967e51d5fc77b373a3c50a55d2757a0a775afdbacf6c1625aaf35c506a26eb6d6756e03ca44f45a61a6a2d0a80a0a756a2fd743b7365d877cb3eacc866f073f0fce50a7c59b374905fdbe787ca80447f45ac58354addb45ca1bfdf883bcd50d4122defcf5af3fc39d1229888e81d8c42289557588de10919a1119dc1a9de4b4872ad74c170ca5c258564e2869ab8010b0594e2dba3d264be052ad4c2b4ea619d14ca6f9e4386442399efa55f00189f02450f517ed1b830cc322f98c7a4426064d0d866c74e2f88a922aa4a05f683a657adc0966fc23ab2c5464b2201f9c1f47ec6b370bfd42b2c9dd5a6a0bd2159d48b501811b6b13176d93095d7794aac61397191dbe6362f2ce32354f0e4d9ca7269ede9fa6d5bdfd2d01576e28a0566b203edd236c4bda18ebe7efc2c8a421e592d3b186527340bc5eb766e8cf8b691b76a619dc103a44d6882a8cd51d24a78b80b3b582f32700ce57835dbf88cf5aefe0c45443c174fa3b89986c088e8d26307fec4158675f27f3e425a76e5af6df55d3389f4c7116417f29490d62a5f62b0b60faa955d0b6a1549e3de498db2fb88c0d5e9eae1325d370210626152af58cbba9a3e1f920095701d320ca03f8ca3afe6f504685acf5a1802121d2458071104b20c3b0db39107abe040a19b740992a3077d79aace23fd7ccf621d9766c19338aeb2cd7d591fe134395ad8de3c058f6b90d5b8aa39738f692826235d72611a1453611d2d1fee91cc7729a4b739a66cdc08fa2c8fe46893a758dc62b45fd40d937cafb4315643ccb94486e26150e6338aeb3312f1424f2bad32fca46f0ae34270557ffd55c0840c3f7731ef49c3b4137a3d6d4741fe859a6150ef397642ab35788b123de4d605844f9011ca24468384018e1eac2c5b9e28d36d7c42bb0c764c3a28ab0d1f8ec095791b82af307efa74d51ced0590dcf498205181b9ddcb910744859605572644703ec4dd751dc7cedbc261130a9efe391aacfd28278a32552aa8e24cc24490f5c75ad3ed83163c8177aa3133eb28df26da703722cc6cbb77075bc961452d4edb1e34200004b941efb60352d93b75a0cbabd3a502cb28ad01073da17d5196044d2ced5a08cdf424858d03be5499eb3726853984bcaf65a2e2a75b955e12ba99630217945d633253f70948b89975f80361c5f1a29afe399784339328d57843cab34d3e5594867e310b88b1c8340c7076d71b4f5390e4f01c36c2b8c6d28e21fa27ca21c67e15abdd3b6d536a684f9380c45d823e3a5a534111a4e23ecd4c8d041f93e1ea171fd0aa3fa29439ac23a646ef452c90ef4498ece4fc0610467d74a255f5c37f40c5009d179b54175334a472653a04a315b71a5361b60e8a8afd229d524c2cdc73002552595cf2b1729844aa6192a5982b7383f369cdcc9f8df319652acf4c1214938fa55f2faecf4922333957261d1653b777c98a5b732efa8c4341b351042308ce4506d3d94dc67b115d240c83b3fd73af5ded9d7ac4edf39df5fd0a5e340c9998071d680248c44d18041fe0989ffe78b8ab04ae8f5aad91aab5f7bad5a947967236247931d9b34c44f5617c5ba57874aa5dee4f98e82e96818e87ee55a8ae062426f7b086803936d4032eb55894f574f9ce1d1eb09e390943519d887439c0ff5992f64ad28d90e9ee26769741a9034d810a2eb093d803c8b31da84fe43f94320d5a2daff9fee599150f3e0bf5bb2022712a53e597b5182e900f7c56b2d0f5a790add568f90e6ace24fc998dc91b64266f74c99cac8a4c0120535f2567ad7ea0ef5e5869dcca4c5597527dc5e4529ce642278960e211bd35f8bdb9286af0f277300af88eda88bc1c7c9797ea08d20c1ff383f4c5286142d77d6e2bd233400478dbc56c159069c50023ccd09be549dd3607ba644bfb2598c5cf5eac7eb0a1fc8eec1d7b81f4cee137ca402cb935d9062c1313f57d275ec5dd647c7888eeac04ef9115658c330cf2db0b6e112b4189dd490824a1428764da3025a66e48e4aeb6ce3fa5efbc6c0dfd01ec351525cb942a5b7e7974f3a345f9eec47d24ee8895532107f5e15bbe8c2c55fb13786d799ce88c94f99198cd3239776aad1f2d5c6ab68f08a1107d1795c936949142c51ea312af4f281b34745990b7548709bf2479a1c390047590f9ea283c40da4a8b29dc48e81ac7cde3fc477471e704526048850e21957c21e461a722c4ac309ef4e2eb2125d3c42fed1f5ce405466fb571419227980f20ec85ea239876b1c83c0be24ec427d040ce4aa22df95fe25871c5c24435e57d36955458783b4fa4bcc0645b5cba070d47d421eaf0da50c2f52772ae5d3c8cdd81778b2dcba809098cbaf4ff86ec06a5370b32e1e3af642c7407d15b2ca2879eb009c4cd9e630f22603df1a7df1d60c1817dc69ed5f47f71afe3fc1bf32e42f5118c781951b4bf1024a046a049510edce64c2c7b94118823974140bf45aae3449db352a0c3e26ce56676476be351cbe615fbb12136d2ebb000f01b58bf375f0b15a20f8092e8c53c3863330b0e11c2f397fc5e0728c92ef8749b9b8ab9cc86ec7d994135158c1903e8253f7483af40a97526968c40e86a12727031f498e4e463a89a8ec06d1ed3bed033ad2e099691f0f3560c6f728c7b35e4d0f4fe45af5a63b4c8403461e82debaae4dc9ab503460ca1ce794372ae78e462b6523188bb660cccb76af319a8f4e826c3558b9c6f2bd23d064b61e0cc3fe469b9d88d60dabb81e3a2a68285907af83eb5e88ce6bf542350968792814a8ef8e105422cd93d51362b52a8815b83d13793522d408572de26187b6a223149db30546a4a26c3a458221adfd282c91f2c6033a15288bc7934bda045e1085e582057073f4a8504d1cd22ae988f4979d6ec8784476de5126203aaaffe1622158d814d82e999167c97eb4f27458d5181830802b1815a28e44b10b40a9b70358d3442aebeceb3c012d77b03834da02f017e935c315310381d604f0180635296ca619c058153ee15e1009bf20dc0e39c80b9454f8df091e545fb10a21d8ebb8756d98006f34ba1d3cac4d0d71eb3c23d6e5677d20f292e03365ec247091c40c1cc22002e1854e0b46c299e846c2e38d160812489ca947c26abc70d9a2d3a3e5f54388220cebb5417d3f52339c6c8cc60e200c068b72940ddf51b10b092d91a4a4b168c3aa8090cd178db80a976252b42f82e6606a73a5d1cd1fe7838073565a5bac6ec3f35bac4749347b222aeb506c12faecf1c17494d6ab51396bae632437b0a66ec10655d67ed30ce0a905919398a40e559aaaba898c1859d7d15118b2f0a6189da60919595de9b86cda31be6aa7e360e221dba5823c6884aabc3a1bde1caf30a072544dd4defc8701c75a9c5561b4ef717c3b111543892b5dfbbd828bf82eddb1a9946f87982af24a443b477a30a623cc5a5a566c70d6d65102b8b203a5d711ab7c292904c6dea1be5b473cc9956564798f288ec0bd0c37ab83a902f98e0724ddf1f4f0e13ac396eaf5577ed4a5ad9f22f494381a22ddb27ab8e4d283ed8870f4943d42861e76ad8a9ab0119cfbc13b5bae4da683afb6924b2d99af26cc4ae2843c999bcdb7060545911d2025924fc0e67eab312cb2df6a7b92840241a5bb750652a474660bb24c13180ab555a92aacacb53491f3f2c5b80ec8419b1b3a82ec81c08eae715d2a1dab5175aaf12e847a2086687ce52e9054b878cec91ac6805c9df73c7b79a832095fce3191548b2852ff03dd52a937e747e41166f83260581c03e7d877c5d993e7681da114c1145421ec61c1ce8336439e18ec4e359f31f1eeb56a19fcc09e1652eb2f53392b7999679d02aa57d55f4b82235ca1355f416f80c7192f7d12de4c6567c0b38cc7a18a0aaa0544bca1d554f4e375527b25e53615e717c155759c81e25c53824d504e2ca53bd08c142b4d98112a728bdbe4b31fe49e8a696ab07a1dc81a61314452a99470a258df49cd53a7f6e484abb36b1714f94e28f51a439bf3b614fe835ff806a2295ff24922097497ca9b696c4a579da1426aabb0019384ca17c4093cc40dc91c4cdb3ebf838b80180a569d83c6c03614d7f853298af0ba770c97393f4dca67abc8254a20e630e0630f896c02d312af2e7009132f45cd0a6e97f3456ecfcb501d3a71da835a62ff639f367884f49e5e9764038658c485e5839c60a138e1dc31c745d0631ae7a4c6b83b4c1fa6fe0e18ef3d8bfb28b3316e2bc23162254a82bea5de21eec5941adf9ac1a9e88641700737c06ece2c309f225609b0e15c945159d316aba4116c874797c6befeaaa018c394f0a792fcb86540127a93097ee13ce5bcb04cc6242322c7a4129c39056a8e410e41bef9330ad3373f1fafe117b0315312e229979ba2dbe25fb2fa2a253c55f899526e19f642a95122975431a71d4276070afed0a7d8e249b61507e18c6bcac912e9293d0796872267dbc4b2fae61aae7fc6bcf52664df6ba4839d371b63b3735b7896975f2a6ee9f773ce0efa77792f2b2d7be53fa33ce5213285f658b617aae8610ec3d04254ee1553b6d25ecbbb74d85cc347810d549570f0298681ed76544fff41e97de78f4e22fbe869c165227d2d6f75d31131a32340f911aaceab56c3f608c7c8ee07a6117ae63578825631298f9373c99620d2279479d735a719dbeade8e60756527888ba8b7a1384194897f18633c403a87d176e5ab54657b748c8cbcb9a65b486d8130fa20550843cf6a1b975359ed47c6e83ad1da1eeae758731264e8ecb8b9d8d8f458d3c2e81a5272670990ab0348ca1d81d88ed126a8b31b67836951ae5d71685e6428289a37b077be89bd56c9552ec8db12604fca750c006c11bbc44e4fd2ee86a0f6e4f5281610e760499582be887953e42c268353c9331b29029bf52c1d80c6aa33b04d4eda74e5f5893ca0ac0644cbe25c27082a6d1961a26bd3afd2ffe7144b61caf1ceaba47c5d4f5b35151b67e611e67666d5e0b721863d0cfe053b2881a4bab4fe3a4681cb2533f764d15ff10d70bf024d74b40e32082f03d8ea62a60942465424b5c8418513c61df790a00bc1afa3ebc8ec646c8b22c36ec449b2636428671b7f7602c8aaee8f3bbe5193645031649d13c3a5e4b6023c259b2bf72801d91793015e9c805f04c5008045ebbc066f97e3087b45d8f6ff99a283622cc5236adc07d6a3e58a91d2b2e9e8e4b8a01bd700ca3074079139e91406087e3118a831ea7e17abba1172f2f36c8267a3e6762fceb09f8978b9719555e40de8bae355dd4f25ddf81abd80a224564d5f4e4ba1344558041cc1c6abdd7624b6de50e8e37d050a43e35dabc0fdd9d0fd3e6b2246b684bdc85df428ef5a85aa8f0d408931228c2f90037c2db2114a09658e0c6340cd46d39db523475555b6156b63c7441c17f6945a60e05a456d0426055bc5830b1e7cad4c87d71b2ed09a7396f46c21c7ea404d202a1b06e3ca62e70d150cfffc836cd1aa59473e09acc7c82cfac179ed90eaa322a43f44445111b1dad3c996d21bb813a343b517f1edbd709b2d4376c2daf8106534bdcece48516e2c6bdcfa32c7a47a5ab24faf8b1f278e975b8a0e9a81138c65d44cdf9f6afa0a467c34daecb2e34c8ba2e05e910ff0ebc91d1b07727258afdc4aa058be646e9dea10d09a42bf2c9322c137f204b851d8cde96d9e26bd921fc6b1302297e76e197a11eba3ae38605295bdc97f0faa43bfd4e50e2156efc7bd24132a41642d3b422f83350334fbeb14a37f3b2c5d024f838d514e1fbea78ab6a37289849dac9323aaa1761947b566ceb70457490b755e6095df089154aa1f67b6315da708ca9dbba59c420e319a8f26336721544a71e97f0fa9d2e01b0970512d8bd7d399cf1a857ce68e143650994a5501379817982d1db51eaa01c820a9e9468ee1c7e7340861ce8fca3035576293e7480d77aabbcfc29cabf5ce1cc2b8a9daea50f5d8a1d24322f24981e98401016857b0c22a3438b9f7d46e88e1be6029cf92e6e347d898be757b1ba2d7aa974f19f8822f6173aa2c792ed45a8db32a23ed9ae454a80cdc53ff323b13132ec49d646b8122ce7c2ad4e805e70c03a522d0fe1a11767c17c20e1c0c6c5ae37c297ba2ba4c83545b1dc6154e950d59f7189b5979a56d44e7a9e47faec8e2af334239e744f350a92635bcaa5b72910956f2b8705d3af4c034a16e9dd5e91944a891e1713a46affd8638a7eef785f2edd275a5ae3784634ea82d2b4f77c730774a1221a95514f55e410857475c8b0f429a74a17a60bf5511ae6891e7a9de80722d946c3f7c17e4ceeb16ab28290c83494e1da2dcaa961c84a16b0546e28ab9b5f3fac5b801cb13c8e29ac85d37c0bab84af1b8aee262a2aede4266d70b6b0273461cff8ea0fe78d412964bfeb2aad7ebb5f3319c98cdec6f83e439e342859479e332c39cfb3c2ac907958f75ef970ce9516b08760a453d7fb9b15a4fa47707d571a6cc55103aaade2a6b395ec7a5de4a877ac7d6448caf752672eda918818531b1f49aca20e9fc11918affc6a44fa7f66130f11aee90de24275e54863a3f5c04765bb22013d24a131908353329c8466c50ad3aba8a40199fa35e75533898a7009fb8aae4cd9ba97cc4d94369396729eae8fc5502de1c998c70a77244176b02ceb8f1474aba6a4c37ea16937e3681cad848f108be6f4328bd094b21448228f032bf0ba355e7f67bb98664f464698653939db35420df467f166ecf682696935d1dc2ce034f0a68a9f35ab507a91a36729c17a048c9d44f7f9d244d31742da505ab134783bb57d682b99b4bc2c529647a7dcc1c182ea41a694e8b1d1365225643aed6499969daeac52561e2091b801d194ae9ee9f2be93d3337dd6851075e7143a599cb840fd27557a5e15b0156a4f0aae0230aa9f21d8bd2b0dd11108d4276011fc980d751a800530d47da734ee59d65d59511a630ae91db0f4c808fbb766fda22755e53cf9c91cb5d89fe31135ee041302e04b5b4405c169c255f7442bbe32da72b5edabe50578aaf9824343b6ffc126350202b557f769ddb9310c1c6de495d61f4e96abc491212f690c223426dbce6e814a5df4da4f81bd797c9565bc7ee0b75a245041236d340ef1613a7af72db399b463eb185b1bd7d7987e67bd15651212776961f38ee4f4fd4bd27afa7d48011cff98ac1e747411302379075911b64724377c2aa5fd8edc9be126bd4c5ec38ee3994d391f9fad9e2696055604736b83d592a55a95d04a7d606436a12318611630a40e496e6d8cadbad4b5d74fbcd92a48c6d57a2f457ce931c953c64258d28837127660a31889813aa438835f43515885dd86b74187374224f5e80aade53637b275bbdf3609f818f8280142651d5951ddb7b8e19829c6413ea284cee5cf6eaa73cc3a49648e20f48a453180142085ae614bc145ded36658fa894024ca5bcfadf6366498d0b7364863329b9390f777705c590420047ac25b90b4a05591627e16d6e7a4af6578ab9d0c2a870f05c6da518bf49da273bac35d4c3b42032d7d44796d69793a282072835771c77014b96d8a133fa45171006dfba89dc0d3e0c8a0059643637ce5a3d6a930acab51b83ea9c177cd024dbaa6e00b5838cbedbcebb6648bed68b3eb0273c39719db17c1df387e7e4109a05353a5807765ecf35d0c9065a6e2d94d0be796d4961889cd080bda66e7fb5a774e24ddb335c82df4fa0e583461885b0899539e4d37575f5ca780a32fc30108e99eadcda800dd6d931614c9057ad098d37a8529c3f6065ecb9167994a7a3667f8ddb55e82142864f72c79770ecbe906d1d4a53afd26f812c83e2e81cc193b2f55220486338ea652f643a76ba8e9503918a233968bc163718145361cf9c04ac00959c0b149c6b5a8105c920d252ee8871b2f4b10c5a60819ca01adca9438f382757120a3cc3a82b05b7a649f1556e127820603e8b95a31e7df57cc763936d36492dcdb3a82e81579224294e77723b52e07582654935fb1c0b7cec4e7a2a15c6957823919641b40cde7945f839a3f9a31decafbb903a345f93f2585dcb9d3754e248104fdb9e9b3a5f51c6b907363d529976483211b3b3672e302752606d1a63042df57460062d624de4c2d2314df62a7bcf931275fff17fe407e59b2d7e4c2ae18bb6b9b56c15f6cb951ad84cce0f39c7c7ee7405d54107d9f4bbce606f46762dcbe749d6394c33ea2bcec094832826f24a8f919339ec5e673ad346b9b1d59b1fa7f2dec9e5e0bdc647dd5a3e6037b7eff06b59adeb93fd76d4ef8f42142df72993af927f88edec06ec0c43e98cca7e2c8bbd4e28361bbd6a4d9361f9698a7329b743ea6fa7bf34a06e61de1c1bbafceeb4989fcad68266ace283e3f606a9b42c987ee8a2b29a5a121152efa433d72824905aa4a44a311fa9eb4af51aab9793b87c1dfee1059a2815363f390e15259908a4c5005ec989a7ea3accb9a3addb75ba0185cb7e1c9a40b904335b3cd59d8d0e044c5fa97c7104c5e42a15feb216c50233d9560eed3f37fadec5884ad905c744c3dac325267466c2a88d8bc7ea6e466f7e9aca27ddbba8e53ddbdb8bd2f7fd17f93123e6befa059cff1e1dc8b42f10489109831c7252b942c087aa873bf9bbf9334822b71ea9be47e0718b5da9a63d6d5e8fb8439c926712b982147db7aa1dfe35d695e08ff435b62ac373e26488e250d5a3b3a197a2e0a32fc69c2d8efd762178f1a7d0f4cb0dc5730b00e50f22374ce31a5895db7ee45a75fefa1437b939bb1812c8752fe1cbd5fe9ca5ad4bf9f3475144f551940bdfb64920a4ea5b52edc80a2784488a40e4d8c37fcf92d9f1396ee5633fb3e65c19ab4ff268c96a1a7d218571d467bf0273e9f34c54ef484e84288d634a33e2ba3bc8d11746b878eb3c461eb1227515c9a8450a22c9728de789152012f0bbec35977e60a386dce006ed75ac4dae1157e956fd01129064fa1348a617034af1b7d197ca8e0271b0df4b5fa2240c35b7baf33c1a7f71adfa301147f8fec8c7b348b09b9e1485e93576d46cb6a3e1041261a5f347968c956167bcc9e5e30c932d5f9902eac26209b50a2fb43ad297c8047f3f07a7d879b7ea74cf369c6db4b7556233f19909dc8a17ad55e08ec10434add21376e857f82d2c821a8a5ccdc0a0e3e47e64cc3abd302e213c4f327144b22b96029d8ae52a5c9115c5a6582cb70e5743087e1453556cf1c2179f38d093807c69a1222fd4a77e80a315c8d117b3e2311789c245a780ccec2b12b90ed5c7b168fae4627c93a10a7ab1d9ba94244b6361f8332f539c5b66c5ecc9b2ac177a729c3befbe1ce8d38aba316dfa68e17a8883d7e2f89380dfbe0f3012978f4c7253992f87ef0287f4c6e0c3716abf10ad061e5599a26474116570f4f4468a3cd5c6cc1d1e6f32faf35e80b81b8edcd5985deca0c5187151579f542836eb466f54e6ea91d1aeec41300cdf9dc159a17dca1f194c96006e8b61e0c4e65289118b9220fcf33417281063fdce250a24fedecf9fe672b194f70ff2f7d9d3d3ecfef9937cf7f0043fc8c7a7875f9f661f26f2f901ff3dffd7f3fcfe593ece9f3e2c9e9fe7b7f2ed27317b7cbc5bdcccdedecde5ddecf7a994f37fddcc1f9fe5efefe7f7f20186ff7db19ccbe5f30c5e58dccbdf9f16cf8bfb5f71c09b87c74f4f8b5fdf3f8bf70f77b7f327fc5cdaf70f4ff4a27c9c3d3d2fe64b58c76f8bdb79bd2679355bcac5f24afebe787efff0f1392f5e3cbc93b3fb4ff27f17f7b713395fe040f37f3d3ecd97cbf9ad7c78928b0f8f778bf9ed442eee6fee3ede2eee7f9dc8b71f9fe5fdc3b3bc5b7c58c03a9f1f260266e367d3e8b0988777f2c3fce9e6fdecfe79f67671b778fe84df787bb778be9f2f9748bb19adfce6e3ddec493c7e7c7a7c58cea7924878ffbc789acba7c5f27fe56c9908fbcf8fb33cd0e3fce9ddc3d387d9fdcd1ce6aaf62c164bdcaefcf4f011f4c6fb878f77b723a200a1e6f276fe6e7ef3bcf86d3e8127e56cb9fcf861cef45e3ecb877762767727efe737f3e572f6f4492ee74fbf2d6e900e4ff3c7d9e209a874f3f0f404a33cdc131bfd3ca512879c76bb4bd879121cf7c041f3df803f3ededf01259ee6fffcb878422e91632e81f167bf3ecd91d0154f88df177777787a99312431c6045fb9ff5431c627f9fbfb07f9e1e176f10e8e8519e7e6e1feb7f9a7a5a8a9325b562c3b7bfb0084793b97770b5ccff3035209ceed76f661f6eb7c597106cc29f83bd813b97c9cdf2ce03f16f7378bdbf9fdf3ec8e4875bf9cfff3231cedec2e0d22674f8b258c00cc49e7283e2ee7c880f789719e1f24fcad5eecab32f72953cabb872570a0b89d3dcf24aef87926dfcee1e9a7f9fdedfc09efd8ece6e6e3d3ec19278337e64bb9fcb87c9e2deee93460bf78c5174fb7225d32e4db77b3c5ddc7a763c683991f1ee7382432607512f4c4f27a22e0f0e5e29d5c7ebc79cfc7264757f9937c3f5bcab7f3f9bd9cddfeb6c0ebc8f33c2c970ba6c9c33b8123301d89fbfe3225c772e775e1c0e549a954adc3da91d0cb7559f0603762e45204925bcd10de9b03142bcdd650e71ad5710915f5b766943d4b612ada23a0ba007351efc93b1ad00d44a7876c661e49ed53c95288b2e91cd523ef4005e2973a825056aa5570dd1035b5ef2663040c71f362ba6aed672277237738c19947156aa5bc654c8852744f79f81310244ce7751cfc7173e133ff9bdfd3395ff81c66f9df7bfabad80c4944a0c2e754e0f00954debddea705842a8fc95f97e2af85eeea4f6750db73fc7418e7e9781f1bacb60d51ec1c6701877054e13ce1fc5c88d449cb49d56c31af93c1c89c9d35518c3f454c56914e9faba7af9a549fdcaebe3d9eb39ca12e7c7866a4e244aa181587a48b319b0af8b23b9090a90bf4a6825ac3d660c5f9ed3e7f503672cd0f42d9aa620ffa6a5088a5697e7710687f714cbdeaad396e8d8d23e110618bd124b4c4530f42748dae9af245d28efcdf16ec498781118a72a51e4eeb21771886ddacc14465e6fa3b9013df4f9d06abfd7f17b0a88d875e79a3d7d2b45ae516599ca699fe837b63252bebd5cdb5fcfb412bff0f29ff8e43b85444fa0f9a176319bb021e1a1df7dff2f7c647876ca21c7d9d9babd7cee7b5ff88b1ac4265cd63fde7d72dfa49f26d4ee20705d443b570afc6b5cfd7a7eecef43c1dca76f387d4b66e575a88254f76087a3d74d422197cd564b581224996db2ff597ab69ac14892f328b6a008f0d30e72fda5fb2d85f4b4dee218cf0075cf59456234f3a7532fbe486119767b4fd18edf9cdf1b9e561d526af50963c46ebe24406ade5dfb731eefef6fdf7fbfd7ebab1c3d4f9cdf70989f4fd3fa642ccba808ec6a8eb8eb3e9738d989aa12fd8e3e7183add44efac69e833366aa7bdec95e92a6c48d5ebb251e5239bb454fa2cf65782a2227fd1f350a8450dda09cc523599639d4b9a29b7cba10fc0134e347dcde07cdcddd7eca8e45eaf528285ae8089a17cd89083e3a96fb49257e9e36d189ea34a3eadda90d740b9cd666b5eb4c8d9b73603d6e9634bf4b18043a8e2efdc4a951beee1b7bdb2b388fa1c0d97743d563a46465d95bae3f4c9ad5f90097249c44fc979cd89ddd3867b9f8ec80e84445ae97ed7b983f6295c5d7d0b237dd751fb6b44f6817fd94d047d740f739fc16c2cf5814b82b3d8585705cc919bfbaf65f5e59777195931e651e0fbd1c745c942823fb0579baf137e2a3c682dbe7521febf000000ffffd2dda38dd8860000", - "49a20c4e431767a29116905e29fec0d9": "1f8b08000000000000ffc4bd5b8f1b39922ffece4f4114b0b00b48abc7dd73d999deff0072596eebbfe5aada52b97b8d83031c2a9392b8ce24b524b364ed62befb415c784949e519eccb9997699732790906237e714d79e17fbfdc7d96bf2cee168ff35bf9f0f9ddedf246de2e6f1677ab85b8f4b894f257ed837156fed4c81fff2cffffd16af9e3ef7ef72721e48ddb1fbdd9eea27c7d738d7f941fbcd672e536f1a0bc961fdc683b158db38d5cda7626ff6517e3fe2f3ffcb0099b99f3db1ffe2ae4e259fba3b35a9a20f7da0f2646ddc9e864ebf647a96c273b13a237eb316af9acfd5a4533c08f460721dd46c69d09b237adb641cbceb5e3a06d6ce47a8cb2dd29bb35762b4d84e1ad8b52f5bd3be86e265eda2efeefc16b35ac7b0d4f3ded34514d5bed552f1fc6756f5a79cb339a2095dc78ad1b5c71af3731af66e3bc088918b0151777dacbafc67601967e70fe6b98a549f8ad00afc9c185282fbcbbf7aa8da6553dbd2ce1d74e07b3b5ba13d1c9a8be6aa90eea288f6ef4b8b0ce0d40cfb04b232159b48c3bcd2b90f2dd51b6ce46af426c44fcbb3b36366adbd1396d47e5958d5a9fce28ce66547d0f4708ec84fb5772efddd6abe1cd9be8e4004b0fa3d7705c5e0fcad880c3151a0265601013831c83f6b0f4df74835b7999f5c6809b15dfd95326b9db48d8459af167588bdaef7ba383547d70b02f658f7c1a403ee975af550062002702e9d7475ca11ae3cee11abfb851b6cae248f01b8c82d4e2fd874646e790137edb692b0f5a86bd565f61394081bc9e067e82fd79bdd1de036f479768de00878bbd37ad9e49793ffa17763be51a39217ddca908072976ea9958a462a1ea26d2053c5b9f7ccdc7edb7c4fe71a707693630a43c98b0bb6ef214d2eb569b677879f42d0cd969e93c126aab235e5a7c511c94857f56afc233151be7e99dc7d3de1bddd2ea60102bad3e085c67a137ac330ff7d5ba431eb7733026f28cb15bbe9f0e5e8dba8dc4e528f6029e86d544c3bdd7cfda46e20c605c37c84edb239c116c82c6a417619d2a7ce59ff0768edec395f2b81f7a6a8672c1eb8d83838707e15044ab7d54c64aafc3ded960d6a637110e83c97cf1946a2a3530bdd90007cac17566032cf997f3f1a2c3bfc1a66b46802b827b44ca7c705eea6f6ad8f7baf9ee0ac2d8eeca8d6fe461a76114b1f52a1aa408de6eb9d1bcd9610c51ee5508d259580b1246b7666fb48d8176a4062d785de18cb13abe7938d0098bc79d3ee2a56bd2d3a2623da256e6ca999473db9545859d3b48e46c6614ed8720032ef1289099e24e9bc42648a7f7fa59f76e0fac810b60a14482f6e1f6127bc983893b190f4e86a8f7e12fe2f5db6ba942d03ea2ae21dd0bc4991c2e70f6eb1fafa5db6cb427fe02c1c4975f6ccd73e2bb5e6f554f5a37a08e67b5dbd427a86cf7034a4766947cea306b9777f50ae76591f72a6d07e52f6ef3e156b6bd56be3f4afd6ddf837017e924bc26f52c0fca832e39222be0aa27d2654613af5ddc91f8c749459e34a8afba4ce7f57f8ec66ba637aedfe8ae28a0b59683f25f75275510244cba864e919665503eaf7b3dc051f43d0288b5962a326d3aa9bd7756bb31f447d40cb41260771007c68d21cf87745bb9018966da0b5218a405ed4baab6d5016fa0b12182ca735efad18af36d9c5c6e78c174c85b4323551f776edceef09141d971a3da387aed054bbae050ca804e0f72033a13e093ea414dd9d60d7b15cdbad7cc8a3b2d95010920d2f9da6d3a894a4f5c90cc24cb643886a807154d2bf62a46ed6d110d6bb812ae6d470f008326f35a11315d37b691a091b19d7936dda87a2090180368c59d69770821414204dd1f41be1094308154fb6881aafba8d6bd9e8ad6832675570e0308c2144e0406964231ef76666d4846301ad3ccaf2e6891963a9372c93bcb4ca4bc092084d6212a1b0d5399b144e710f1e06ae0f74e7aad3a602ba9bf01dca255edbd7b36e9b2e294e94d186a33c2e966e61065ed8d54017555d256246e4e043b812abce1c6c2fa1aa901a027b10dc48c3baf55d440a7d659dc4a8f9827b3e01e7e06b9b78a2aea00f272ecbb82bfd303ac61a2376d4ca204d80f450972c3a6603f07a219e1cc9bfde8f7b071e0cf316a1f08ee23d3b8c012be73a89e0174e0d57c76a62396dcebd6a85e76c0a49e1e4e0b22a8871422549f37dec216046a1113a5de6c80fb9f81d1f6deedbdd151f9e38c9102210138af228e5400ed43d248a4f95a6559a88c81a6ad50409ada3afb06d6922d056672d63b88b89ced4c447900ac0842dcd86d25c78161405692fc681119cb8d83d378d9167a5a3c7e5ac9f9dd7b79737ff77ef9b4bcbf5bc1c3bf9bc9f77a632ccd88ef5f3d553ae68ae0299e6fba453fe57bf4220aa781b2557945807bd0ca86a2efdef4e6ab96bd3ab05c27481ddd896d25d0b26958b40419f4608048631b4199a9f035af5bcb072274bd6cc0f8794e851210b03edb689d1cf9944c1069f5522e54bb4b8f9065d8755e87802a465e1ddd783593f28a5fd0e10a8fe4aa809a2b3980f9a02732ce79e9fc5659f35faad0fbc9c92b52c95752d1da8850c97246fc0980aa537bbc76f08fbdf2319d03bc238c053e57610747440a13447a4117051c344ce1b85396d5090258b0e3acd0df544ba88425bdd761ec513fe0e20cf07adf032578e19512bbe23509c00726d9558806f1bfaed6685fc1833071fd1412632eaf5af7acbdeef06f574c0a6d78c15a8e36cfc9875d0d8fa30bc651fc732632dc6eb555519fd3b94336412b81f4236a05151bfc971ba3a8a977401988028430b2d72d084ee765d0c09aca9bfe287b83dc06b693b11b380d8d2291180ee5538b4f9433ead5a191fa1be836a9bfe9768cecf3803b2f92909419c4c1af00c4cdb322840e67f6c0fb044630b6edc74e872c47c4448ebcc6cd3a9fb6296ba172dd24c650cfcaf4b85402ef628fb79d00aab13200166add68a34713010f0bf4e933991f2ac883eefb7c12adb3cffa94dde19ec29d679490b780b2415b989e8716c0fc6cd6e02900a2620b94ac9499949f1033d8a851b13b4be7aa502f82e2032c2554563cd2ea088ba11307041bbdb2017037ba37084cb3eb89d66fec9678d696799e354d807fd8a85683dcdef7ea18e4d57c4ffa058eea16f1fa9d03c811ae04db44880e88f3c8dce5c35334a33549a3eebd1b8cd5a8ae0143ac7b2d365ac56c14817d91672677459ebbb09bc5f9b39d21a2ee7b32c7984adf07f52c495f33c3326fd49be0170c4364443c9dee92eb2009d880c292a88a63e0b8453027b5422b4593cdc967a30f7c30d9795804f87283ceaf720e7baf030103d91b720fe1265b370c0a358d976e8f62b9e81a25066dc7868c5da2b834510f09d5e24883d668c48260f4266a6f9c45c6783b932b323d6fc0f44c3affaab247afd854aec511c1828df6200537ce0f13398ffe2dba96f565250b238252ba5fff8746090ec397bb05d883661669503511bc2b80aaca77729988565eaf0849f79104b2c1dfdc6663008711d885113ac014ba0328a9e06abaad35ffa53b991e0872edba63239d6f12295b4528314f1408dea1a42722e1b56fc75e656fdb0064e895dd8e6aab1be92c2d4f1830f33a807408c6d4e0ecb6b27071db285959bca421ca19add0bc91b766ed1508b52bd28e2c950b8ce03b9ad507eb5691752b3e05ac240f3bd76be6fcd7ea9abcaff8769788609d1f549f0e5dec55fb556d49c87f52ffe1bcbc71c3ded9ec16cfc61248a5020954a4c745f538def1f5b50cda3f8320b584b548b032442f0b6623514571362f5c7d27cdb0ef499d2979ce387860b43865457e96755238532892140ae992e242043acca49c8bab93555c31dbc0957336ea6fb149ac2a077c14b01a1a6628e1f125f1faabf656f720e26de70e6cc212698293ce5e67139c38af95c02e0a95303d2c5e1b6083e3356864da2009ee2957f811a408322d4c6f7aed9359c0666571dad37356ba726de9b6edbd8ee53d1833f96c90436f9c273f5f07cb2341331127663a26321513a9efc58963ac3228c9368bba491e0b669e0dadb3ec15c5f4352e0c46ab27439fac4baea6b2556278a467ebcd1e0d4781f10ad7b3c95770c34cca8fee00566b03eab0739a183dddb934ecab204eaf2b12f5d4c88cce1108e71ffa63c588189e484ee5c4bb9eadb90a741a0b481a88892efb9325c3ad14e5e5e9b5a4d5ce4e3cad97ce5164d55f01896ca7c98de9115505d78246efe8baf269d28fecb167b2938b5c9f5e2e8a2475b24f64a328ddd1aac100c63f8aded8af20b7c775264d4205d91a489705095a7bc1d86dd788a44ed747d88f190085742ae2e518469b8c583477891536bd3bc8b58e07add91520ea35545134e5639890375d904b7425177fcd4319f62757ae0fe850f33a5d03a9c6e8d0d1851b246bec7ceec97482a6fbfe5aa657f554ee917f464511d450edecc7997ca78269e5433648c88c9cf77d72366f318ad75d0050c894e9e704e2a2266d73e6887e480e7ef407030af45e3f3b325a129623be8ac086a2f25dc0e3838ec92599e6d7dfc0ea31805bd56663fc10c84d3edade0c06c698fab0936c39b7fad8387563dc8f914ec58fd6a2b214b50d89062bff7b7d9c9203b5a0a103a4911ab935cf1a246d40b9842a0f9d63268e91b17819fc747faafd6adda1d7dd56d3ce440a136de446198a6901d2440682fbf1ac7ad2cfa190747d9cda8478c018ff5047b4781a240c5b0264d44e965545503a87b14402d7d99eaddd4cc1c91ef091e2b348316f5ce3c1049d42b8c258601a8c49a6d530683f99dce5d819f35870c032248785dbc89d7aa64ba70732e1a658567f6bfb3190530e8638ba11253a5388428920f336aa4d31ae0df9d56d11cbec38aa3835c51cddb0ef8f480b916e40383522e05266430fdd2e20b7bc217cc61a82282cd82844d1954f0e79839c9863c83e967a9127872678ab149a4297fe8412ced201adf54ef59b86ef37fe897c10c659c13e44584a831719f746aed1cae13dd09549063ef9c828be47f1ecbc0ddd958dbb31a69084019bbba7f3da993da9a0a31b91576f32ddd8d991e3ecadf1ed38801d00087f9229023c02881dde10449cc2a32860e45af7ee309372857051db80207e920ff2b30c4409f9f677e8e40d801d466b75ab4350fe880bfc69067224c53d3e53dc838cf247bab01f803c731bcd9b1b5cf233c04967e52d5fc73b37393c50a57d2fd7a0a7f5a0bbacf601312517b38cbadd59d7bb2d281331688561cc42a3ca29d4ab83dc8cfdc6f43df2cdba375bbe1dfc3c1843bd166fdf2615f4dbf2e1be121cd16b158f52756e1fd1e7267ffc9d7caf5b3dacb5976ffffce73fc29d12c10c064c2a74c4261649acca2e7df4244ec8c0b19eb48750321ee882a15498ca4a8a051f14100236cb314b77d068516c9c5f9b4e9c4d33a1994cf3c9a9cb0411c6e455b00189f02450f537ed5b830cc322f9827a4426ce9172274eaf28a9420e8cb7bd3203ee04936822ab2c5464c97040543375d5d76616da8584c9dd466a0bd2158d48b505811b6b888bd8a4a1eb4e31554f5c667478c5c4e49d656a9e1d9ab84c4d3cbddfcfaa7bfb6bcacfba21875aad81f8744f52b8d2c6583fbf0a134843ca4524379d8968c101f106dd9971b82ca66dd89b76a4a02cc6878b1bab3f92d11876c0d95ac1f9539ed9779d5d3f8baf5aefe1c4544bce74fa3b89980c04a7a009e08f3d0aebec9b044f9e73cca663fb5db5adf3098ab308fa53096a102b75df5900d34fad83b6ad26d971cc3eb79f71195bbc3c7d2faaf489cb3e30a950a9e7686fed0dcf0749d93d300de61a015f59c7ff0dcaa890b53e140012225d041887f213c2b8df3b107abe380a4bf240c909c125fca166b64f09db3132feb50eb49f705dede93f03aa8c364e1d63d9e6368c14272fb1ef2539c56aae4d22428b0c11d2d1fefe12c772984b739866c359254591fd852274ea1ac12b79fd40d9b7ca5368969d8c17993267f918dde13086fd3a9c08a23081ed59d908d695e668e0fa7f341746dbf1fd9c1477c99ca09b516b6aba0ff42cd30a87f95382ca6c15a2ef8877133823a8fc00065122341c208c70f5c2c5b9e28db6d725472861585411361a9f2de1ca135745fee0fdb4298a193aabe139c08a64863bb97721e89032095489919d0c801926312525900868eafb78a2eab3b420dee88894aa2709d324e981abaed5071b669c4589d668c347b655beeb75408ee514a723b9e0d1a588095513c305040be0287c7f6a83d5b44cd66a9538a98e1cb32f1e1a624efbac7a038cc8b91365504e2ec34c8da0f7ca933c4fc95ec9cd2565772d9795badca9f09d504b68485e117aa6e0078ef262e0e567a00dfb9726caeb7426de50f64c735a02e24e9ee9e5594867e310b88bec8340c307b138a5ef901f9e1c86192b4c3114f10f513e518ea3709dde6bdb691b53c07cea8642d31750bba5301102a749ded104e8a07c9f8ed0ba618d5efd14214d6e1d821b8354b2077d92bdf30d188c60ec5aa9e4b3ebc781b49a0cd179b545753309472628508598adb852db2d3074d457e9946a12e1e663a8a2d445e5f3ca4572a1123443254b5959ce4f81933b1bff15a7278bb53e3a24097bbf4a5c9f8d5e326466522e2d9a6c978e0fa3f456e61d159f66ab288db0ba9220876af450629f052ba4819077fe58ebd43b67dfb03afde0fcf0822e9d3a4a2e388cb3062461248a060cf2f748fc3fbca808ab80dea0da9db1fa8dd7aa439977d1237632d929a4217eb2ba28d6833a562af526cf77e24c4760a087b5ebc8838b01bddd312006e6342f1ce475f14f574f5ce0d1eb06f1deb057d624bf124989cbae3ef38dd08a92dde8c97f9646a70149838d21ba81b2079067d1475bd201a3f694905754fbffd33d2b126a1eec774b28b09128f509ed4509d021629e999647ad3cb96eab47487356fea70426f7a4ad3ca55813652a90498e25726ae4ad0caed33deacb2d1b99498bb3ea66a451538a239998904b8790c1f4f7fcb6a4e1ebc3c91cc02b621cf5a2f3b1b9cc0fb41124f83fce0f4d8a902272672d3e38ca0660af91d72a38cb092714004f73822d55c73418cf14ef5786c5c855af7fbcaed25ad93cf81ef703e45629c3822290c81dd6b10952101cf373255da7d6657d749cd1511dd8393f7286e4337bad2e2eb0c670aa8fda5b85f0c284e4542247b16b5b15109991392aadb3ad1b06ed5b43199660a3c228c9af5ca7b05f5e3ee9d07c79b21d493ba127d60920fe715d70d10b177fcdd6185e673a23263f4566d04f8f5cdaab56cbd7a739fb741ed7042d8982c54b5d9dfa770f9c2d2a8a5ca8634ab7297fa4c991037094cde8c93b48dc408a2ae324360c262503ff08df9d58c0159928a51703cfb812b630d29053511ace78b7799195e8e251e61f5d6f0334441715b1fd6bf20c913c407907642fde9ce3358e81c283855da88f8013b92acf77a57fc9200713c990d58589fac53b1ca4d5df620614d52e83c25129d51a009da190e18bd49d49f93831331019f126772e505dc78baf377c3760b5c9b949204ddb52db51acd02a508b6a23ab8c12b70ec0c9146d0e136b32f0add12fde9a11fd827badfd9be8dec0ff53fa574ef94b14c67160e5c692bf8002811a934a88761722e1d3d8200cc11c3af1057a2dd79aa4ed0615061f1347ab538e44b935ecbe615bbb12131d9b126421a07671be763e560b043bc1856968d8700406369cfd2597af185c8e49f0fdd8948bbbce81ec6e1a4d391385551ad26730ea1e48875ee1522a0d8db983611cc8c8c04792a193339d4454768ba50e7bed031ad26099691f8f75c28c1f508e67bd9a1e6ee4460da63f36c201238f41ef5cdfa5e055281a30458e73c81b9573df716943ebfcde910f58a0fb40c9eea0d19b8f4682ec34a05c63f9de51d264460f86d3fe269b6d44e7c675dc8c3de64b851275f03ab8fe99e8bc51cf0ed3161179a86daab6a933a8527543514f98ab55a55881d9d3c8ab09a12679d5221ef788151d65d1395bd28854946daf42a84a3e9a13b7448a1b8fb9b6e16472499bc00ba2b0bca224dc9c3c2a541bc7b44a3a22fd6daf5b028fc8ce7b8a044427b1cc84b3f261613360bb04232f92fd64e5e9b0aa31d06150958388820b40a97723a069229575f64d9e80963b5a1c1ab100fc457acde98a18814034013c864e4d729b694e604c144a7bc14cf825e5ed9081bc444985ff9dd283ea2b5665080e3aee5c171ae08d5677a387b551211467accbaffa48e425c167cad849e07655a9133a11285f485f28db3af76ea47cbcc90241020975f63ed5848697119d9e2c6f18431461dc6c0ceafb899ae1606334760461305a94a30c7c8b4319ae380a2d91a4a4b1886155d0a95484c400b98a685f949a83a1cdb546337f1a0f02ce596b6de5a0384974b99904d1ec99a8ac5db149e8b3c507d35158afcecad970352d998135754b6e5085f6a9724b05918398a40e559aaaba899c31b2a9bda3a5e80731c0e4344dc899d5958ecbd08ef3abf63a8e261e332e15644163aacaeb8beecde90a032a47d546edcd7f71c2b116175518ed7beadf4e444557e25ad776af205b5fbe74c76652be1b3980547bb4b3a7077d3ac26ca465c506676d1d05802b1c28bd8e580c464121007bc7fa6e9df024175d13f29e501c13f772ba59ed4c15c8773c20e98ec7fb4fd7396da95e7f6547bdb4f5f30c3d254e8648b7ac1e2e99f4801d311d3d458f90a1c77da7a2a6dc088efde09d2dd726d3c1575be153ca7cd5302b8933f2646e367f6f505014d9005222d9040cf73b8d6e91c34edbb32014082add6f7222450a677620cb342543a1b642715f42c7247dd244cecb67e37a2cc4c3cd8d3da5ec610da76b5d9f6ac6eaac3ad57a17423d10a7687ce72e905478f19c131a46875c1df7bc7879a832095fce3e11c2b2fd51a4361fbaa386031c1f912739c32f270c8bd3c439b65d71f664395a976b05f72a84032cd879d066c813a3ddabf62b06debd561d273fb0a585d4fad34cce4b5ce6492787ea55f5d712e0085788e6abd41be071ce973e736fa6b233e059cec7a18a0a2a02c47c43aba9e8c7eba4f64ac86d262e2f82abea3802c5b1a694364131b114ee401829d69a7246a8c8ad941b1fe5818a69ea64f5da9135c9c5c8b5e01470225fdf59cd53af0e6484ab8b6b17e4f94e59ea750e6d8edb72b9a78fe90622942ff12491043a9837d5d814aeba4085d4a9640b9084ca17c4597a881b131c4cdbbebc83171362c85975293506b6a1b86f0095a208af07c7e93297a749f16c15b94409c41c3a7cec31914d6058e2f50b5cc2c44b5eb392b7cbf12277e065a81e8d38ee5941f6c7216df024d37b765d820de862112f2c1fe4040bc58663c7ec17418b691a939ae6dd61f830b57a407fefc5bc8f321be76d453846ac4449a96fa9214faac73e8d3b5053999404777423ece6c202f32962950003e7a28cca9ac0a2d4d85d806e4b1afbfabb82629aa6843f95e0c77b4e48426b32a55f384f312f2c93310944649f544a674e8e9ad3248720dffe0185e9db3f9eaee167c0982908f198cb4dd16cf1cf597d95129ecafd4c21b79cf642a1512257eec880b32773a0e41ffae45b3c8bb6e2201c714d3159223d85e700792832b64d2cab6fafe1fae79cb7c1846c7b4d74b0f3666b6c366e0bcff2f24bc5ed0b3d2a527384bc97d2b4827d7515850e58b6172aef6176c3d042546ebf54b6d25dcbdb74d85cc3478e0d549570f0c987018bb16aa0ffa0f03ef6baa84f22dbe869c165227d2ddfebb62762464709e52759755e751ab647798c6c7e601861605e832768154d799c8c4b4682489f50e6ddd49c666ca7073b49ab2b3ba91a98a42363cf6c22fe719ae301d2394cb62b5fa72adb9363e4cc9b6bba85d46b0bbd0fd8176060b58dcba950fb0918dd245adb63fd1c6b4e4a19ba386e2e363603d6b470760d29b98b04c8d50124e54e92d84eb34d5067b70e3b8f805cbb62d7bcc8a9a0086f60ef7c1307ad92a95c326f8b833d29d769026087b94b6cf424ed6e28d59eac1ec502e2525a52a5a05fcc7953642c26c0a9e4858d1481cd7a960e4063d5196093b36e74797d220f28ab011159502200587f2547994a5b2639d135f4abf4ff25c5529872baf32a285fd7d356bdf3a691794c73bbb06ab0db30873d8cfe19fb7881a47a69fdb58f02974b30f76cd1dfb10d70bf82da42013ac849783981ad2e666a30654445528bec543863dc690f09ba10fc3a9a8ecc4ec6762832ec569c053b26403963fcf9594256757fdce98d6a12a0e294750e0c9792db2ae12961ae3e47847d7a4d85ca08f859900f0058b48e6bf076d98f705094dbfecf3334508c257f449df781f568b962a4f4823a39392ee8c63580320cfd51644e3a4f03c4a65a005da31ef6b1aa1b21233fcf2672e729b891cfceb09d89f972d32aabc81bd0932e5aa934a0baf175f6028a124c07cf0d184f4ba1347958041cc1d6abfd6e22b6de92ebe363951486e05dabc02d0fd1fcbe08112323612f72cf488abb56aeea530028d14784fe053280af4506a1145066cf303ad46c34fd451c39a9aab29dd850c39f42c469614fa90506ae55d446a029b9553cb8e0c137ca607b26bc401b8e59d2b3851cd83368d0358641bfb2d87b4305c37ffc9dec10d56c229f04d6636416fde4bc7648f54911d23f44445111b1dad3d996d21bb813a343b517f1f7f7d2d0891bc2091be34394d10cbaf4f3cbca8d658ddbbccc31a99e96f0e975b1e3c4e9724bd1413b7280b18c9ae9fb534d5fc1191fad36fb6c38d3a2c8b957e403fc7a76c7a68e9cecd62bb71228962f99dba43a04445368976552a4f48d3c016e1476737e9b6749afe487712cf4c8e5b93b4ebd88f551571cd054656ff23f47d5a35dea728710ab0fd306ad292b41642d3bc95e06340334fbf30cbd7f7b2c5d024b83c128870f3f5245db49b944ca9dac8323d4bbecacd6ccf98ed255d2429d1758e537c9482ad58f73db9abe5794ca9dbba59ca71ca2371f21334721540a71e9ff1c53a5c1df09808b6a59bc9ede7cd528e4337724b781ca54aa0ab8015e60b474d27aa84e4006494d37729a7e7c498350cef94919a6e64a6cb21ca9e14e75f753474baad6bb7008d34e72eb63d563874a0f89c86705a60d270420ae608555687076efa9dd10a7fb02529e27cdc78f30987eef0e3644afd5201f73e20bbe84cda9b2e479a1d66a1a559968d724a7420570cfedcb6c4c345c88db64b4401e673e156af482738691421188bf26849dde05ee4eda232c2a654f549769906aebe3b4c2a9c290758fb1b99557da46349e4afce78a107f1d11ca31279a874a35a9e155dd928b20d8a4ad1fe87d1582a6ac5b67757a0633d408789c8f3168bf25cea9fb7da17c7be9ba0aee411cc63e894965e5f9ee38cd9d8244919a5c8a7aaf2084ab23aec507659af4a17ae0b05311ae6891e7a9de80622d146c3fbec28e8c1d5651921b06839c3a44b9531d190863df09f4c48d55e73b6e9e99115723f7fd08ebe22ac5d3ba8a170375f51632bbbeb0268033e2f4774cea8f278d89b9e42fab7abdd9381fc3196c667b1b24cf05132aa4c81b9719e6d8e749493ea87cac7b7f09484f5a43b05128eaf9cb8dd5ba91de1d55cf913257a5d051f55659cbe93a5eeaad74ac776c4d44ff5a6f22d79e8a49b2300696de5019249d3f66a4e2bf31e8d3ab43184dbc863ba4b7c988171550e7878bc0ee4a14a421add4c84059334dc96cc476ecaae7fec7036637b1d7ab6e0a07f394c427ae2a79fb76261f525bcbd472ce92d7d1f9ab9478730219e14e658f2ed6045c30e34f9474d5986ed22de6a174e0c43236523c82efdb184a6fc252089152147899afc264d5b9fd5eae21993c599ae1d464e72815c8b7c99f853b703613cbc9be7661e7819b92b4d4537f53d532c8715e802225a89ffeda244d31f61d8505ab1347c03d286b01eee69270719e32bd39650e7417528d3487c54e89d288f598ab7552649ab6fae29230f0840dc04e8052bafb974a7a2fcc4d375ad48e57dc5069e6d2f041bafeaa347c2b8915c9bdca7d4641ef64398d778c88462ebb808fe484d789ab00430d27da7341e59d65d5150853e8d7c8ed071ae0e3be3b98ae489d37d43367627257a27fca842ff020800b412d2d302f0bce922f3a65bbe32da72b5edabe50578aef40129a9d37fe126390232b557ff6bd3b9010c166b1495da1f7e96aba491212f698dc23426dbd66ef1485df4d24ff1bd797c94e5bc7e64b43a69463dca3d1bac5c0e9ebdc76cea691cfb03077294eefd07ccfda2a2ae4c48f358cecf7a727eade93d7d4d6f60acff92a37729f9e20263710bac80d32b9e73ae5aabfb0dbb37d25d6a88bd971dc4b594e27f0f5abc5d3c0aac09e30b83d5b2a55a9bd989c5a0386d424629a468c2100917ba5639b60b72975d1dddf2d49cab9ed4aa49c866a92939287aca431cb009ec47412535c0c22e680ea18629dfa9a0ac45ed86b74e87374224f5e1255bda726de4e767aef019f818d8209294ca2b5b67a63b26ff58421720bf7ca0b933b97bdfe29cfd0d41249fc0312e93c8d20f7c74eada7455f9b4dd9222aa5003329affef5945952e3c2ec99e1484a6ecec3dd5d41312417c0096b49ee8252a52c8b33f736373d25fc957c2eb4302a1cbc545b29a66f92f6c9066b9dea613a10991bea239b1a4d735054f000a5e68efd2e8064891d7aa39f7549c2e05bd7c8fde8c3a828218b6073ebacd59336a9a05cfb69529df3820f9a645bd50da03690d176db7bd78ec9d67ad647b6849b33d319cbd7317e78490e212ca8b3837560e3f552039d0cd0726ba194ed9bd7961486c8010dd86beaf6575b4a67d6b4bdc025f8e10d5abe09272e6c626576f9f47d5dbd329d82801f3ac231529d5b1b30609d9f12c60479d599d07a832ac5f92356c65e6a9147713a6af6d7ba7d953d4499e14deef8124ecd17c2d6a134f52afd1608191443e7243d29a3979282344d477dd90a994d8dae53e540a4624f0e82d7620683622aec998380554225c70205c79ad680203989b4943ba29f2c7d80831658524e500deed571c03c2757020a3cc3a42b05b7a649fe556e1278a4c47c162b273dfaeaf94ec7266cd6a496e6595417c72b4992e4a73bbb1dc9f1da605952cd3ea7021fbb939e4b856925de44a4e5245a4ede794df973065bfb76d9bd44adfee1cfd7a43cd6d772ef0d9538528aa7ed2e4d9daf68fe7e04418f54a61d924cc4e8ec850bcc8114589b461f41473d1d98418b58136ef221814c9383cad67353bcee3ffeb3fca47cbbc36fa6a5fca25d6e2d5bb9fd72a5063693f3638ef1b1395da5eaa0816c06fa7e41eec696b043a737d94d33e92bce8929475120f25a4f3327b3dbbd8e74a68d7263abb73fcee49d93abfc1923b791f7d8cded157e99ab7343c26f27fdfec845d1719f32f93ad987d8ce6ec4ce3014cea8f06359ec75ca62b3d1abceb4392d3f4d7129e4764cfdedf4b716d42dcc9b7d432fbf3b2bf0933edb9004cd54c507c7ed0d52695930c3d84795be1343997a679db9262e81d42225558af9485d57aad758bd9cf9e56bf70f2fd044a9b0f9c9a9ab28c944202d3af04a4c3c55d7d1b7ab00ebf6bd6e41e1b21d871028976066c453ddd9e840c00c95ca1727a9985ca5c29fab235f60261b7ee68747ca1fba9850299be01868d878b8c4949d9972d4a6c5637537a3b73fcde4e7507dd8e697bbcf720e16a4fbdee729fe47898019509eb648b15f5922ad8dd567f189a48d265f9ee0fcd48b9fd5f8eef2259793114613a52f47e9f55a375f38f98003d7c65c4e41c6507c9da43fe94081893ab984ee4cc88a94579b72adcfe1fe3fb0bb46e4c0db4f980fd46a4f697b5533ff6c7565138b9208aad5325d387f9caaab885f7e3f938ffad980a8fa75f2eda513f7c8d377be454899addc80ccf368fc812dab0f9384b1f8fdaf30d23d3303dd5b33686c70d8eea6e3c0fe049878dcaecf5819f6c69b5ccdcb598bd9eb85c60dac929208e1854e47657afc860e7dce04a7c81f35224c0ce4aee24c893d4de0cea8081e809b461350d3a527ec38acb5cf995f222797730e6842833985985e9856749dd04a9cd0ea8addbabd8ae5ea5ce5ef3a620ffc724b711994498dbebbcac7f3c22777d8e04e0955698522afd0a7be6c9315244e288ed209df88c237e7897119b3139d00ed4e299aa0decb2c54d2c7da9d4b518a3408fa9ff2fac4a5f5557c9d547bbdc2b303dc7bf7ed485f58d4ad01330365027db24a9c7ecfec3bac0f4370e27e93db797c3bbe0aec4c99a67d4d83aa854c75ca47e5a34fea8e4882a3a73792cd5fab915b3cd004b7f22680aa5bf699d4d992d8bb88b373459df75fe50f593779a3020a277049d9237f712e159e4c820f880c488a677302b795be1a8a8c2d9598302509bb3fcc726a38b1d26f9c1c4e22eee3e27121972b79772f7f9b3f3eceef9ebec80ff78ff0837c78bcffe571fea9914ff7f8efc5bf3f2dee9ee4c3e2f1d3f2e969f15ebefb22e60f0fb7cb9bf9bbdb85bc9dff369372f1ef378b8727f9dbc7c59dbc87e17f5bae1672f53487179677f2b7c7e5d3f2ee171cf0e6fee1cbe3f2978f4fe2e3fdedfbc5237ea1ea87fb477a513ecc1f9f968b15ace3d7e5fb45bd2679355fc9e5ea4afeb67cfa78fff9292f5edc7f90f3bb2ff25f9777ef1bb958e2408b7f7f785cac568bf7f2fe512e3f3ddc2e17ef1bb9bcbbb9fdfc7e79f74b23df7d7e9277f74ff276f96909eb7cba6f04ccc6cfa6d16131f71fe4a7c5e3cdc7f9ddd3fcddf276f9f4053fabf561f974b758ad9076735af9cde7dbf9a378f8fcf870bf5acc2491f0ee69f9b8908fcbd5bfcaf92a11f6df3ecff3400f8bc70ff78f9fe677370b98abdab358ae70bbf2cbfd6750111fef3fdfbe9f100508b590ef171f16374fcb5f170d3c29e7abd5e74f0ba6f7ea49de7f10f3db5b79b7b859ac56f3c72f72b578fc75798374785c3ccc978f40a59bfbc74718e5fe8ed8e88f334a2ecf018fdb94b54c12e30e3868f12bf0c7e7bb5ba0c4e3e2df3e2f1f914be4944b60fcf92f8f0b2474c513e2b7e5ed2d9e5e660c498cd1e02b775f2ac6f8227ffb782f3fddbf5f7e806361c6b9b9bffb75f165256aaacc5715cbcedfdd0361de2de4ed12d7f3748f5482737b3fff34ff65b1aa3803e614fc91ed46ae1e16374bf88fe5ddcdf2fde2ee697e4ba4ba5b2dfeed331cedfc360d22e78fcb158c00cc49e7283eaf16c8807789719eee25fcad5eeceb32f73953cadbfb1570a0783f7f9a4b5cf1d35cbe5bc0d38f8bbbf78b47bc63f39b9bcf8ff3279c0cde58ace4eaf3ea69bebca3d380fde2155f3ebe17e99221df7e982f6f3f3f9e321ecc7cffb0c0219101ab93a02756d78d80c397cb0f72f5f9e6231f9b9c5ce52ff2e37c25df2d167772fefed7255e479ee77eb55a324dee3f081c81e948dcf7a7197d5b64ef75e1c0d559914aadbcba89d0cb1531f0603f61e4927e9f9b7c50a66df9a21f019fdeb5aae7e215ea2cccf9cd2c85a95c8a52840540427d2007e8e863ead4400095475287542c12a26c7b4795a07b5081f88d842094956a1d5c3f464d8d93097e004637cfa6afd67ec1675261b092483aa90d2a850553429472678a809ea59f49fc68711cfd695bd70bff5bdcd139bff005c2f2bf8ff45da7399288d2b99e526af917507977fa901610aa08127fd7076d8143f92a714a67e04f4e738484f7b1c53ac710c5de71fc650c27b5a50d474642a41e464eaa76871ef59c06ca713113c5f4d3d9048774fa1e3e7d4f62fa21def465d51c5f0a75caf913e7883552c5a8d81958e06b2a9dcac83fe5042ed10f1dd406b6062bce6f0fe9e110b9da029388aa347bfa5e4b987c115320fe626f66d5d570da941847c221f8f3a088bd53f737347faedaf22dc89e2ce40e80a443a38efc0ba97bce66ccbd5df153b6804d99b9fe1bc889efa71e6fd5fe5f052c27e2a1d7dee88d341d7d76f6c0c52300b6677fe3ae440965bdbeb996ff7dd4caff4dcaffc6215c2adffb1bcdfbc4df6b4d691b93e3fe4bfedef8e4904d9c7e7099eb862e4714bf8b925598d8175cf0f3bdefe4b31973e65a287914547ef47a5a6e7a7d6ed9cc2e13a0ec337fbb6ae7f6a56b135ae384ec37634f5d69c11e4d700d3448826c3fe7ba5afdcc5196e4fc2cc28acaae4e9197f32f022f5980d74a932508237ccf0e4f210c329353d7a82f6e9cf075ce6c9e66d6bd3c30f795ab7a91155a9239685d6c64d05afecb2ec6fd5f7ef8e17038ccb6769c39bffd21a57bfcf0d79910f33ea04d31696de26cfa261efabfe9d3e3d8f3bed76df4ce9a96be15a2f6dacb4199be5694fbda0ee52cebbe76b63449caa58fad28a0878f82ef287ec6153785d5c026928ca1fc94e9b71107d7692e59fd5f7beffe43b7f17f9fdec47ff9a7ff0fd831ccbe68e5e53ffd5596bfccc944faa7bf9ef324b56946facedfadee6f3f3f2d6ebfd456cdcf78be7cb4321ef75afe1ffcfafbe1d5ac0c777ab78b1a41b9ae7b98879c9493ab8e23d0cdce05d2d9abf0733d5dfbaa5ec84c8827b83bc7bd8b3b8da1c3f245c2b43e5c437e9b79317db9beae7a9e36877dc1f729e5fd0641490e7217f999a616031ec75a171bf767d6f4bf7c5e964ec8fc49075cd0887e0779a5d67095d7eedb55cea1e42563dee956b3c8d1c3be7747edb1589a86495f44485ff7d3fe1af3bbc0d6ed1b419f5ec30858305b4bddc012eb14bc775542fab9c5fb4656dffff890e3ebd34b445f79ae3e3149680dfec016762c9ff9c70b2bfeee85252fe277a44e76ff50d65bdd388cbeed9fcf87ba8855dfa84e3f84aa6ea292d14a8671eddd180d2a4d6ece868577d402186b3ce1be22314854639611ada437f62bd5749719396c14d925c9dfcfe1c1936f8beed121e5251c38d5a0738d4c392c40905b1d82f62f79fa8c0d51abee42e4e6dd18a9faa6917b6c4d8fe934178f62bf33bd0b6ebf3bfe70d81ddf5817dff4db7d3fdbc5a1ffeb4cfcdf000000ffff0681696757890000", - "4d28e1deaaf258f4346bd9491c376098": "1f8b08000000000000ff24c8b10ac2301000d0b9f71547a1a04bf203eae6262e7e411a2f6968930b978b0ee2bf8b747af0aaf3ab8b84a7e98c5cb599c7c2a2779709a70b40ca9545718c49973e1bcfd9469e7b086e634b2f2ada4680d08bc75b6a4ae540b8b7b9fe392289b0e007066bf1c9f866596110d22e054bdae00bbf000000ffffa4aa3fec83000000", - "67f2f65efc608bfd2ec3bb8485e627b4": "1f8b08000000000000ff72ce2fa82cca4ccf2851b051b555c82f2829d68b4c4d2c5250b5430838969664e48384b800010000ffff4388419c2e000000", - "793124cfbcf9ae17892b017c666be8f1": "1f8b08000000000000ff3cccb14e042110c6f19a798a0985010bb637b1b43d2d2eb617c4d95da20b38ccc618c2bb9bdd906be73fdfaff8f0e517c2d6d025bf917b1b87de01e256320b1a505aa84a4c8b06507a89b2ee1f2ee46daac22461e5e9ecf3dfc4f4b347260d1660de53c02b55b9bd168939d5dbbbff8e9f5ec8083e0ed15d2d36508c4fcf38c6ee42bf462c80ca45ea111e06d03a28e2f3f748eeee5950ec2ef98539b321660b1dfe030000ffff4d5ec109db000000", - "87f5b37ce1e0e735c36a5ff25df5e896": "1f8b08000000000000ff9c7d5b731b39b2e63b7e45ae5e5a8a28b3db7dcef46e8f9f6899b2b947163524d51ebf2d5805921817010e8012cd9d98ffbe9199000a45526a9f7544c78c25142e89bc7c79411acefe7c7c7882fbc9623199c3c7c9c3643ebe87c7a7f7f7d35bb89fde4e1e161371fe0dfdf94339afad815f476f2bb8532bd7497784b7bffffebb10706bf747a737db00d7b737f8c3b715fd0aee9c52b0b0eb70904ec19ded4c2383b6a682a9a94702fef216ee9c34df5a6d60119c52a1823bbd0e5bb86bad7515bcb73ee0f0cf63805f7e7dfbf697376fffe397b7004f8bb180c9b372476b14680f7be5763a04d540b050dbfd11a469a0d13e38bdea828267e55632e81dfe522b2fc0ae216cb58756d7ca78058dadbb9d32a1825517a0de4ab3d166033ae0f4c606906d6b0faa190971bdc40fb587b055b0d6ce0770aa55d2ab06d72142d1f40aee95f7cac1c7c7fb11c01427f1b8bfce042f40f20cbeab6be5bd75e923ba25bd7248e2c76ed5ea1aee7997559effd70ab6cad44ad017e9a7a6dbad94c35b1add8897ee92fe3c3a2577ab56e1a8e556253278585b073beb03f8746ff85fa3bcde18266f90df14c8833cc2d1764eac9d528ddde16ffc96c69b86e9a7408711c0fb23d4d604277da8f2f93e2aa39c6ce3f9c47d5a1e27d02628d3f0629b4e3a698252b418bcb2186d24effacd9b6061873bf59d534ce77420ed691e3aaa6c5bd0c143e795f323a646cf15d5e012075beeaf44eef7ad569ef664774af8bdaab56cdb63a49a44b6cc8bef65fd4d6e947ff3261cf7baa6712d5db6c61f320b88972487ce6bc35639905dd85ae7e1b0b5d0a85a370a77d0f948f5afb613b534f10710ac65ce3e2045361be5035234b26fd86af30d6ae9d4bac30dc995c5a15b852b89819c584734b1aed10619f432559274ac5408ca091f9c0c6a73cc3bc4831c612f5dd075d74a07b54452ae4886aca16fd5f77d2b0d1ddbc34ab5f640f7f365ab0c9d62afe4371499c1bd57f82ba499536be51c8a70b0996dec1a97af04caf3dee95a8d0066dd4b57ebcf58bf6428190412702b9f99bd0ad62cf40eab9bb36dc275645c878c4b34d51ebc72cfba56a0d7743707edb737ef6829fabb53b5d2cf3849e76a9cbaa1ebc05bdea8205055c50fa509a043f1298e8932391005dc055ec85eab9ab649b31830eac01bde3bbb7172e7dfd1d03c1f8be9daba9d6a86ab345684adf28a786a1345cae23c41d581a5988c85a7ab32aaa0ac5348b79a6f9c665d5bb7d28dc804458647022b43da0778299e8f58d382f4dff857166fcaa126713c4ef0b811693c7fba9c93c6b7329014d5ca05a90d8ed85be3f54ab73a68d68e74eb91d0172f3a903a65f56d5d1abab38d5e1f5136912277d681fa2e77fb56553f3a59950412364e06ed8575acc260ad54c58b743ec046478e74aad67bad4cf0a4e6e8474c29a2ed41c1463e2b3c0feb0bfe7cc8e3f8d5b162f591f8afe7b9c84cc88e02d9118d1c1fa64585c28a8af8f4a0c3767898bcdfbdb3cfbac109901c41815dfd035965ad5bd6aac3b354e06dbf35da8953b45cd8aa9d385d08e43a2887a7425dc0329067cd634c832bd8dd5eb7da6c0469d0b169fa4dfaad3dd00291e582723bcf3b5147f866f8b73af1366b2a7589ed991412c2c1bef141ed61a7c2d6367f85ebb7377827754653680832b9708bd7bfd208bb5e2b17d9bfb45587adaeb774fd9eef406d642b081a798207111b5525ab49d3fc4c269fd8b320caa9e42a596fa11044125fd234497c7540207284ba55d2b1864406508ca0e0201d9af223aca30d210593560318b7de92309437a3bda0ad69d5c0ea480616219f6a3d2bafbdf46c32aa5396f75bdbb50d5d8d607ecf3c433a3bc23a36667aa38d6c138e1ab058fead608bfb9307a7f65d607b7cd06d4bf3ac14c8f55ad58137ba7776d5aa5d14b51ddde74a096d82b34d57f320920fe6953b5ca13d56255008748ebdc5a32284f281a8bd754a86c4c1eabbf6018120ea6eb4a9a5d61e110fa21939375e34e56e8f9fd4d2181b84a2edeb67d51eb36aa435081ba1329283d9e9042bd4932859526475fa9ce124ac9ddd818c6781ad6d1be558ff3ab5b6d15c6be33581101904c3021a9d1107ada19aa8ec4e1076621492d2156a119a0d27c8aa0041cd0906004269c456da0ce488aee3332260c4a93daed0a66ebb068f8a4cd863b60a39a9b6cfcaf1a5a2d4f6e8e80cea267031ba843409f913da143f803693952a6066b12b691aa13dfcb3d34141a351672051e8467e00c131ef745e0de11fde415a372f8624b48eecac8dae181900425f5beb931ae3a1c182b1e6cd005ef4c84e66f6a255cd37d5248d7966073d0a214368eba0f3a8ba253b064d3f1a0f5bdbdd4a33964c8c130e96964025d91e194e3223f3605cd7ba6f15486894d3cf92183b7e9c3546afbe96054d5fb83d0889ef23953c3a7fdb4c2b6bda6354804299a0dd70e36bfc00ffab9d0eca69996065637771034357459c2c9f16dde10e5af9bd9f08af35ef6268b5c5a94df8a2a0663c51f0050ebae2d5af5ef20956aa96ec8e88c62a4f9b258e891626e99a9f7c0fa6b7d25ce45671c6adc9bb8e70c2c7730c6177a39e556bf7a8cf7075814acd806c9ea50972a300c598f4a20a488a733e4dd8b1d13e7fe585740971496fc93be9224dfecc4f22775b9a632f2123804ff6a09e951b789f89d0f978fdf2287e512693f309b57675b7438b512b7f0e39ad01879bb6752d519bfa8a791376f248a60cd24411a00b656adb39191d88036e21a06df27ad5f271c9400c75c3b1b7a41ab5736d77482d68d49bb5ac11a107691ae99a11410d596fb522f0aa7d754efcace363282679932583028c99bdd74efdb34385879e25bba364f470c684aa80d89030acdc29f8875d81f474b6f6883337fd1ecaeb99b2c110ecb36688d3ea105a721f36488115faf53b1d58090ed14ef24945664c147d2256c13bafc61de84ea72649abf4a8f38758af23e05038d91954997c309189ab8c5c21e096b04180a15c8a26d935ec95ddb7aa9fb345bf1556b63922ec1888d8e884d3ceb7940cdd6d0e726923ce2f3bed07a583af74b80b62c3ad6d693281322d89d6fee883da557493aa6df17f51e73d4ba7a5e923503fdf6bd37d87fc9de0ef88ace3366c6db7d9fef92de0bd931a8b3aac37118250d34f4993552800c46eca0c9c2bd2782c3bc9f0b1bc78515a3fda4924d736060e939264cf1ca9a19cc2d1b24522b9ce30f04df39281040919509f062b4be0bfc5ab50b5cebe0e052cac6934fbcb0404ecfea8cda6f02762882a62f63ada2d8bf23a027894e81c109e0d88d02253e0da09a0d414333a284402e20a0df030281459f88ab6238147d0293b1f65390d615d2d2848e1280429b5f16cd8c8a223a44c68a8c416a8c5f987b84d476a47ac922d2e6fa410a88c7f5c67469762af3f147b5f4ee69f17307ef800b7b3870fd3e574f6b080bbd91c6e678f5fa70f1f2bf8305d2ce7d3f74ff82b1af879f6617a37bd1de30f70dd5f460c2c13878e374ea91d6ac2023aa24c65dd53042b489b249d101dca4c39898e8eae15ec5b5967b05b38ac8cefc13a518628f5ff550d69a12378798c41f568677a47b4812e456a22c3d93543cfd705f09a43eab26d550357a138f9d5cd484c24c12bfa3b09ab6c1aa7c865941eae8eb6bb628987abcc593b25e9b0b56d5b5527c898a9b5ee4c0c1945d7b991418abd537b829dde525cdf02318c795606dd510af21658166f224a475278e29ac94dce097a182495282c831569b91b3220d6ed407d577517485366b9bd8a827c5571d8b4e260687ff188392fdd3e0a93e05da08e59a1145ebca1a414c8dc9e4ba9b81fd2526962875287a12b678e25b2a6596805d173542b0f7f4dfa90227af288809cc646be4cf6b59c59ecad4b17a74395369093407856bc87524de5fbcc91c086e2d6b88fb57507e91a44e78688c8fcdd4ab3e9e4066ddef527e59436146caaf214b805ed05bb8ef1f26d171818c45f9bccf27055eee78a5338578b3eda7b155d603a3e9336b09e5e2be7d843de256d4e83d6d68918fa1a9e35584e13dcd18459fbe5185c1963a695440a2196bf4919949d6d3ab4d53a646d51c1beed3c5db2f4ded69a08aa4d506e2d6bd4c06b6d74f46b5a95c6d30ab5d37bcec9c47c9e09ceb6c0f1393a804049d0c607d9b603afae7454c6688f396e6b23034af3b2d11a508822dcc60631f0ec7be5f28e234904ddbae075a30865f8daee55f4c5641d5087b9ce7080e4c40e973c1b63512982a21a8ef7d92eec3b76d90509edc0394e3b4b5e237986d670d488c2453a50840f7a0115d18ca685afb569d45e9906ed432461c4f283fda15f1eac6d89a10e8e51ad0e3723f2da1371594a5d87b78b937ad40729ec9627431444f7977f33003ed98e97e3e93edf8e384a8d28e2cf53bc2767f8c98b8bcc2dfd20b782da2266a776aad1ddae4a1e57d3e77c90b87b5d77b6f32d6f43eef7ceee1d32797b843d9a28bfc5d353d434ee5614a30aab198d6a3c4ddd4abd63449802a6efe09b527b543db20e590ef9b3e8d79006602c55987e02868cafe4cac728219e4df4539f1051f26653763ccfd45ab3c9b8479448315f0925b3381b9143bcfbedd1eb5ab651185831a6c41caf55112f1ce32c32c6caed3e4a359e2b478e13ca66bda9bec79416a921b156ec14fddab3498c6ad38c7c2e77993b923d8a764344bb11b61d21dd1d6ff71c8ede97e1f9c494a2a02789ed50f546437b01efc0221eeead902bfbac4e788f336f0877764a5141423c85570532ff2b834f79434a28637db619e840ebe055bb8e5efe090a88c87575d3e7833866c3a50ee48fa51951334be7e85676daa006893c497350708ef45cca0ed26535c554c9716950209833e3a8b88ffae23ed8eb2bcd1cc3ad88f31a6422637902664ab4d91cb1720c4591032ed0bfe4f9b885e606a614f996b56e753826839dc99038a8c05819b13118c16908a2e11208dfe27e7d47809c6c8b34974061af117912a45cdc4755da34e96902b7a112969414396c95197c4393680fda3cdb6f6864028e380e327f1236d636b09628eb6abdb68e720d85d75af1343149ff4c9ec570f7e4e7a241a31346c059d0a4a74835d81ff8a091a9c9278f316cd82b8712e8c95ca867e5e802d1b2d23682877de72849e2d48efc14c42bda6cd65d1beff07a109128ae87ec5a1193410b4152fbcf8e6a08ac0d1ea1304b545e28993a8ed1b6470a34bc214443f9845393ca9ff7041a664016ddca47b9ffb501a7fed96997f43aeaea938fdf64b629b98cf98b1053422af9d7e4bf9258aba85765fbd794687bedde740c973039680a24c970e678699748870836a5dae9543b4e46d3e4d1300d15143232cb37a59285462aeab5a6d3452a454995217ec240eddca54fba99ec4b2d0d1e9f03b472d5524d12c23677726338d8a32f873a091740711161ab765eb5cfca47a1293505f329722229920a1acb1563fd39ad57226fff90a4aeb013945a96fe64e911c07b2ec4a10fc4f0038e5ae669a54f929168181d78ed5fc380558cbf146038a9569a23065d93c53bf1cdfbdcb34d09060af6718028ba49d1fff6a0be079531494a71d0325534061d6950424df8034509653a96531b74c194a7fb3f6c2d1c100d08aaa8586e3b5f15c57ab8532a230b59ad27194331478c55548d106af684ed72963e58261982dda04c2feb2bc213efc0493c5c552e453eaa50df95e3b8592ab8289d984bc42ef34be8fd72dce139f1df25c43112626a40366cf42bd829a7406e3648a5346d7253e91c94a3be3091380b2f5e27eff815c073837f97f06cdb6ec7a967f0c1527ac0bae1f91846f7ba65e592f753ec8efd7e76feec5e5db4c5ffd1e33abb279a46011b5af032e7f262a121f98e4a36674097ccf7463f2b5300e19eea94a6a01227ed8b1216d906e5e0c7917905de8abe86a518f3eaee2f95818af224c3554600d7845d8c3a70f483c3f08818f204c944fdc0b2141492fbbd926e001e50b7723afdc8874a93a7ad15f56ca31b800fac1e196e98634a61c4925113ebc72215e9ea67e8bad0d1d2280f3bd9702161715d490568e7146d02cd06baacb42d1ee17f98cc838069db0a8f863a2695d88920e76918c28a1b8b5628aeda179646bf46537463ddb5bd3148651ac4764991737cb551ac704b879c18f52463c0566780e5fff3759ff954ee25e4c89913c3b437820186ccc94bf9f58602df5cad95aa11fb8024394ee2652fc7c35bdaceaf40cece255fa78e252a4217d51cd98dafade3023daacad8c97aab8d7ae3946c182ef45e7eac8d12c996bd1e767e6983a8f244546775e783dd49a753a610cd5d5f616c82728527335d9fe9fc926c899b57477678c9dba4a2f0c4102216d214a51e14848f5298bf4298f52c5b0232830948c607a1bb04930844d064e065d07ead63fca5c06c68d64eb147495df40220e7cc4a27ab0fa3edf68a62f4c586d224c3e842491aa2de5f46301eb27a4e49187b529c5138f149b3659cb3ea4848ca825e36f1a71670758495a272418a38a2f573836c1c45897cca3a5c4e43ddf769a805c5ee04979368947edbc6871059684f23e143c3c3e53c7df9c85ab6adcf91c7d7ed66ae2648051eafeff78c1ca2a67c30b9988574279d73a93c26ab94a2e423df59bc9ed310cc4d15215574692f6d520c737be576b8e03c92e785a0ed4824d5f51b85275444ec24bca7024a4eeb697a259628bd4a3ffac94e52614d9b2ae0b64aa29a59eb568944b952c90fc078a91b52248de337b13a43bcce2d27f2380c7832c78d441fb78d8f595c47bf54fdfb0594130a5c9990dc45cebc9033554a84edc2f0185cf89cbfd03e859de4b0644a84ad537e6bdb0672193c4747d27eb8569f32d1f4a4829decd5115a7948ca9583e3a6ac1ce66ba0d8b8e976ca5114127dab9d0acaa1932683143eb8ae0e1d95431d519c389a1b1fe4c40884df518e43d6cefae207dab4da28d167e7aed14fc09f9153419e8a36d02ab309db9bec370e02ecbc61411b464c60ca14c0a9c7c3f7c5082795ad95d2470a0641dfa4e7da61960c0148c15b94713911c7a42eb9b2957d7bd43627b6ff37ce4ecd704b07ed55757addafa8852a457b4f6dca8b7cff4aa8f4b791189b6329a8c323e73041ebedc583542251d6bae43b726227f277a39daa437b3cb713ccd2c484bf8d601c3564adf6656543061331a49b23ddfc148c4a0a927df9efaae6583dd7746844c56956f405455b9d83c048a404d6128d396ebeb5ba3e0b45f777c14585c38a8f931424c336424c54dd670ffc2e89cbee11a82ba1cc461bc52886d4b15a751b7a82771e42eff30ef9bdc3690c9a49d5675f06d1e2780051a4df08c3a1690efd439792d029c243db1e581871e272e57dc520dae58c0abf94485b124dc7f08db8984271daef5b79f46779a2d2ed8c79653acb593e29d13d9f6067d9ef1ed64649f63ee92d21737a72cfa9302932f10b47e092fdbc9fc682354ae4a4043f01ea1312e384e7fbbbf813544f5fbe86eccf8ed99769a778714a04d0c38f83722a5f76de452cbd78d13da0292e7b053794423b577f03acc49a84663915e1ea0209ce0edc2b059ae34c31d08d96da3396320c407af1a621cdc20f798ab71f25bb93bd4a4f6b0a3d9343b6344b71ca93828cd30c098523029bb946391fac6d625aa32c853b6c6dff4c67abfa943605ca52d1808f2924be459a6660b850911b85669c7d34444d2b2e1e4c0f7dd469fc9b37d35717e60314cba677b5ab1b78a25248df693efdb0ec1c760a0fa1fd6e505b9d33a8c586a988264fd37f87c6da44ed7cfdf6866f5d06709d81a0772a66964af596df33b5c83a47c44d9e62a01978a0fa8da17a974a2539b02fcf4a24f2743dc4a1b8431820effc3429b2779fc04196d92b972ce7cb8587b9fc44af739e8b78215678102188c7c9518cd57967b3691f3353b1c6e40d699b4041a02c6445142c146a4846171cc7f5c9c7971496cc6161f2bc2b7896ad8e0f5458445b253dbfd551705412a164b0fdd33c72ba59c1e249a2b31013a7e5cb942239f49bac1286e032a098dc3496ca6393289928353e70e5ae4bf96bd2dda59733c8705e4c004465f667c1099ce5c50005a7f05f0d4cf0b14e0e9f8972295411b7ae6ee00fe55879953a84029551066265473330c4caab685ad222d6f571277a1f96be270122dad1d4b20fe851ed9419884211371956635d7266fb2ab9d29853599c0c92dfe6064e8ce6aa68a354c3530ba75825277d5b46de906254df959d7f32f5a9a83f83d44a0cf82fba5ea5fda3fa7fd4a6c5fec8aee7326563dd8e9fbb179f5d6b93aaeea211b20e561c7145badcf412b993ffa0acc76e6f0d29faeba89f5d05df9433aa8d6e18a28b9bec399d147c8335b174f18416ae33be82ce901f15a34771a9ec934631d7ca8be1d7ec6072b9ea56eef72a2b0eed070132ee70d0e83aa42264c24862f0c6d8ae63ac9bcb8054406af44fa368e6983b4c441572a0824e4f9d834bc50638e9228d4fc1796383409bb6b24cf1be62bc772336d1b93497a23cc3d423d1e47ff671658e1d665bc1b9fc7c1e7a657e9e48cad8dbeb46bd591ddf70099d4126d566d3964f25e2de88615246912353c56248b417c23e670e8f4f24e37aeefe91edb98f93f3b12feac7742a718a9f12a3963b2ec9a3635922bacf22373089450f67b1f0c626507db07f02ac739d7a9b1151d80ed51fab52723d08cd5cac69eaccb0e2bdcfd524fa93e2cf274a4f1a7f30ca9e60d0d041ee2b903ebeecd75d3c653cd95ad6a1879529c6a6c3691afc620917f59c2008cb6886def6040b6b1d25268b23ca6041a052d767dad259fe572f29cca3fb63152177059e124ecca404b4f178d52087aa068cc59a1bb5b9fa8ee8ceb7c79e591291873e9a390a1982daed43cf6ffd53f03fddc96990a6709a9fad8efc4ab04f76c1eef28b4cbc678d4880dbc4c4b4fac52d662395b206e8039011cec69b136e95b07df7083272281ae773f63e406acfa1731982177967645312a424a59036c0a544a88fe8ed3079665a9a083c7ee72b4d9527d9e0074be0661f4e93bddad4aa4716a88f630a6268a38d65cb4aafdb374ea231c4af866fa8a2bbf6f2cd5847a18ad3c4647ebb2893bc397afeb5d52b1d72483577a388352ce7e719562fad8e1cfa21811884d14f6a9caf6389e58ba6e0862309da34e88fc5863fbcbe8ca5aba7a9fac682b79c1b498d7cfe3b8f9578c779fbe2848827d517b175c7db5f4640cf4ac807e3dae1d732aa7f72e450762d3811a1c8fd9e82e6c5837aced7e717c8f81bee7d72dadda1106518367948b91ddf71d42064f372817e2318a830bde39e04063d43472f868630c70c4fe57f825c13135564d406c4e3aa812d3d9e1889a154c5de2b9c490665d6d6d5292bc7d2182d7d916f8c2f964f52606fdf8e60ba8e20b8b686d3f8757ab36a3b17e01f5db32128c76f1a8a3a1aee4720b459a3f3a3d2a075bc5d3689f1e9ef356e9d9e77b03e88bd0cb4f79df2379528989212c5444a620be4a4eb148a5e1de3aee8595905323fe24a8fab508bdff4d950867e296092963811998a63db2cda427daf11155217a8e461bdfc6ddfda2522ca124fa5374f9c404650b7ebda208de20a79aee85eb57a134ba07b8d2dca5af59e9a7be5029bfde2b3984239bb4484a789375f904449e5d2a76f53f53af7a61049c00ed43584924edcc8c0d9a36cc3915fa716a27efe70127521d700a178a00d4baf0a62b948ce24a08636f96f61eb285377b41d1f911411a5ae6297356486b6c9e425209f23d5a5d9a3612bd48dc2a9b5431b960bd7e8925fd9fe4888e985047a513aa73d6c55db80361cefb00e3ac372a9b8fe94ee559aa3285b7b154fd159dfad64db6b74554e5fb67ea3ea2eaede2c47f525a2173fa092142e283a79023f1d5407a65ade0be581da50a03336914a621f8f156391aef0e4940bc758e8479585a913552c2be4e0107af1f1f105210d1ef96eb8787ad9ebf174c50ed3bb0736a9f48a6ae3e28c21bd2def9b1c94771cbde354092a34b23e6a92d8a7862b9efaee02080e6ac2f29f8915f8cd35e1969d6c94d828a39ced38cb9656c90d950ee8c5392ad12adf4c169e8048dc4eaa2bee4e73a09999c240d1c3a52c4f8e65bff1a5f6bb88e9bb7d7ee342cf4d7f6eac61fac7ae787a0d54ef057e4b2c83d890acfda0515bde6bda5faf8ce226f9c5717e4c1ad5603486ac88295546e5a843a929b994cade70a3b84a9bba251d624dc04ab55a3d73cb85953ab7566c587db858e9f1f6d751ca2a9d3e6efb991aa49c3fecf2c5a333d046a4fe0dd4a392a212318ab33a42c1fcab639f98a20f63c89575740f4ecede06a356a480c1f08dd705084f39d2a611148f4026d00136ca6e9cdc6f29993f3862f1a2527d4f192056c4f92895482990c1a783f6a1fc988e1f6e50c2ac27046b8ece0b5e4035dc0a82a539b68228f6af4d6dddde3a2e33a19050dea2f4a0d722c59063262ab653b870adff31a26a97179b42521426be3973ea59d31b18be73a30e2286bcfd6953d2173a921016406c8b62a5776a2428c464d401f24ce45fad141a7a8d3a5e1bf07bed74ee4b95320fa9a39658751c45e387fe406d8b82d4d4a9203ecaa62572e32caecbae95a37c2f21ee3ed01f6b3e25dda4369b4e7bf29c868d50fb246b86bb31bcec8b46527d9b8ba12d258d599480b2c11557a8185a6a901167b8aa60d00932bf5d8b9d0f922794a1758902a378a5270d3933e25235db60a974cd29f3fc32539c9dbd78ddc1b5ba2033e81992a2af51a8b73621fd34845fe0fcf02e887fff7394b0632a722d8483a0fbd97b3c4a34f51d7cfa3625fcd06020c0a798da5cc8fb785591bca9a1b1480d2311cbf75e76c489d92464e359eabcd8fde0e51ec783e57098b830ec1db532b53b8592e6d938e4e8bccf3551dca754a045f3b9eddc4ac1a6a3c04fdc4b3858d858ca66ac5902ddf3a0fd8c0f3274dcf5a86d8b000187a6bbd36e49318ab9777667b33fefb7d251a32d2ade8836257fb261a5d21e2ff6c0e8ff3ccce0cb783e1f3f2cbf128bfc6504ef27b7e3a7c504969f26703f7d3f1fcfbfc27491ba637c80bbf96402b33bb8fd349e7f9c54386e3ec1110f3391e6a25e19c504152c67f4f7c9df979387253c4ee69fa7cbe5e403bcff0ae3c7c7fbe9edf8fdfd04eec75f4662f2f7dbc9e312be7c9a3cc00c67ff325d4c60b11ce3f8e9037c994f97d3878f34dfedecf1eb7cfaf1d3123ecdee3f4ce6d4b4e3e7d95cd087f0389e2fa793053cce677f4c3f0ccf74355ec07471055fa6cb4fb3a765a6039e6dfcf055fcd7f4e1430593294d34f9fbe37cb2c0e3cfe630fdfc783f9d7ca860fa707bfff481fa81bc7f5ac2c36c09f7d3cf53dce772469411716c9a1d3733bb83cf93f9eda7f1c372fc7e7a3f5d7ea5062277d3e5c364c16d46c6bcf3dba7fbf15c3c3ecd1f678bc90898820fcbe97c02f3e9e2bf60bc4874fddbd3384ff43899dfcde69fc70fb7744fb88be21ef1b8f075f63402587c9a3ddd7f1810050935810f93bbc9ed72fac7a4c291305e2c9e3e4f04d37bb12402dddfc3c3e476b258e0578bc9fc8fe92dd1613e791c4fe740ad52e6739c65f6c0dae7b7115edec30c267f200b3c3ddce369e793bf3d4de7971801e7187f9c4f8898307d10e9debf4cefeff186ce2ebfa24f1ebe427ff95fe1cba7197c1e7fe5fe2c5f05b307cc27b981cb902bc68b8239c7ef674883f7f86bdad67286041178451fc69fc71f278b820968e9d853a682c5e3e4768aff67fa703bfd3079588eef613617b7b387c5e46f4f788be3fb34098ce7d305ce807cc857062882c86b0f89479633886299aff3ba5ffb9cffe07eb62066fb305e8e8176bc1cc3fbc9f4e1a3984f1e3e4ce6244ee3dbdba7f978498be11793052c9e16cbf1f4812f05198084793aff90e509e92ceec6d3fba779e2b14cc1e50c668f139a9278adbf90c5ec6ef9653c9fdc54c40330bd138ba7db4ff1f670d2f2e23e8d17f07e327980f1873fa62479bccee36cb198469accee006710918e2f29bbc9037f7da1abcfe08b4ff68086624c0e2c07699704168285afa8971fd4219a46ad7c2c7aa5282df7b3e3373e3068165b34828e69dd6862b9bd970f62d0bd2de1360283d49693ea6476ca34a979ae0e27f681bc3195daf07327de616bd9f49c9b0388dc1f1abc256f8231379a9293a8ca599b19b8b6aee24756467287d2eaa58cd29f34dcbb496d6df3dbb1b44805320419f3c73d70cb8fb9061d83b9dfa0f6c2cb357a630823f2d7bb34d887987da23ac49807a75a5f0ae3fb0045cf5541dd828e317d5db75daa9019f66aa0a9688ed8e0968b1542ae3851e22ac3942b2a478e9eebde929b46cf1e38af955aa3c6d49a46bcd1992672f3bf1ac59d58b435ffa69f0cffa1877f1d9574ff867fe11446eed4bff9b3d8d534fb97039679971f8c0d3885a1f5cff165786e95fdc21d176d524f9ff77159558c28fa014e7d15adbd8b389c2678eeffb18b1e96c600aa75703dec5171738ed247972951e643a3cfb7b57b95fb232650c72fc3b82c0bdda6041450a125b0f02e97ddc75a7f8a25d3b3f0dc2d233e913fb5f9d6bd68f2a137f90b953bf531555f771a29bb400d36d1a9f3910228f4259b5eaec5f9d1fb2c5f09f5947d077a8d1c7c0170e79ba6794efffd91eafff7df1fa1d99e166321c6ad27ef35f6c28f612a035bd6e75410c9ddbf910155abeae0acd1756c5dbda7c6e4ba1d0951508a0ac3372a3299daed5b7b540eaed32bcafc4e3efa443be56ef05229cdead1656b39b46da8713bbde20009bd5628dacc5ce5fad9b2062f154ea29afb14bb5b4af014357f171fbbe23728f55c85f0d51e6d73342a5116f5cbea9817e206f4fd064811292a7a8a6500494cfecf9db3ab9fe0ba6fcb401b3cc4e6bcdf8c5df99b5c7db73ac2ffc63dc05c9ac6ee04c027597f538ed8ef5f5c89d639b27ccb23dc5a6bfe5dc15b18ef9d6ee1edefbfff82b6807f51c1a3535ea7ae0d7fe85a09b1dccaf053ee9ecf84a048c0ff10ff2f0000ffff539fe0b35d670000", - "89ae21d51779b8540143aebf69368c43": "1f8b08000000000000ff9491cd6aeb301085f77a8a41b959daba50e822d8eea281d24d13fab3f758562451d923a471fafa05a76d429b14ba12127ce77c9aa92260f076aca536239b249bca0f1672d2b574cc31af94b29eddd4959a0665a99b763b0ca4bece409d1a30b3492a90a532efad8437dfb3abe5d5f57fd9542a3642fc2c1215824b667752443de9929255d5b2068a9ccb6d98ac1fb7af1696cd59b7df919bccc8533e4861e05aded19ab404d5540acf2a241329b1c6d4cf3f3e5cff22f42da0c3de9a0bfca7123cce0cdc62ea8f6ef3dc16701615e279b3deac606db24e3eb2a75188c502eec7cc18021e1edab6ed303bf10f2c81350cc504c5fe4262dbb673c44b466b4ed98f551fb12747891f7030b06ca0289c0971a6df030000ffff6adc5c3b4d020000", - "920fdc8a8285bc442cfb791bcafe45b6": "1f8b08000000000000ff8c51cb4ec33010bcef572c3ed955e5481c41bd8004b78204e2ee868d6bd5b12d67034151fe1dd9e5a11e785c6766673ce364da83b184f38c3a989ef4fd07b02c00ae4f31334a4014d6f17edce936f68d8dbbb1eb8c8f8da510dec48f74f2e3b0b7147e5198f6909b97f33f3c0428806e0c2d6ee955c6c403aeee12bb18068572559fa16f2950361cf31a29e79815ce8068f162834741b9550088ae2b8a42142bfd64bc7b364c525d56fc6c83c1f97a8d9889c71cd05653405c4e0dacbe8a93ac35aabf2843eee2b4357dd950ac5168dd7cad7be37c811ba63e79c33408f5bf50c496a71258f72851d731304d2cd591d30fc452943e625d6b15dceac76cc2d0c5dc53969fdf7102b63ca922fd8e0ccec302f01e0000ffff7aa1c8be1a020000", - "958ad94ad4ec3f13898043ec59181ee4": "1f8b08000000000000ff5c515f6fab36147ff7a7f8a9d2955a0975efd336c9052758033b32cecdf248c0299e0846d859956f3f1d92deeeee09717c7e7f8f1d1c6a6951f9ce4dd1e1b996f685b13cccb7c5bf0f09cfdd0b7efbf63bc29ce2ebd1b50bbefdf135e0d734041a31b673cbc5c7e8c3041f31b8c59d6e785fda29b93ec379710ee18c6e689777972105b4d30db35b6298104ea9f5939fded1a20bf38d8533d2e0236238a78f767168a71e6d8ca1f36d723dfad05d2f6e4a6d22bdb31f5dc4731a1c9e9a07e2e96515e95d3b323f81de3e9ff0e1d310ae098b8b69f11d7164f053375e7bf2f0f93cfa8b7f28107ced23b214708d2e5b7d66b884de9fe9ebd658f3f534fa3864e83d519faec96588345cebcd28c72f614174e3c8ba307b17b166fd72b7ee90f5990a4d8f8a224d3e8670f939898fec7c5d261f07b762fa801856c5bf5d976842ebe7308ee183a27561ea3d258abf3246b76f4fe11fb766b99f7b0ac977f7bad703cc5f577d3cc5a11d479cdca330d7c34f68ff136721f998da29f976c41c9655efff315f19b3a540a337f6c08d806cb033fabb2c448127de40364f190ed2967a6f71e0c670658fd01b7075c49f521519c45f3b239a06da3059ef2a298a0c52e5d5be906a8bb7bd85d21695aca51505ac06093ea8a46888ac16262fb9b2fc4d56d21e33b6915611e7461b70ecb8b132df57dc60b7373bdd087055406925d5c648b515b550f61552416988ef42593425af2a92627c6f4b6dc81f72bd3b1ab92d2d4a5d15c2347813a8247fabc45d4a1d91575cd6190a5ef3ad5851da96c2305abbbbc3a11434223daec0732bb5a218b956d6f0dc66b0dad81fd0836c44066e6443856c8cae334675ea0dad48453825ee2c54357eba8836ebffbe113f0851085e49b56d084c113f975fd9bf010000ffffd5d6f12549040000", - "9878d11093909d531176b7e6da001598": "1f8b08000000000000ff9c7cfd6f1bb9d1ffeffc2b06018ad8c04677b97edb6fefd2a7806caf63b58ee44a7252ff566a9792d8ec925b926b4528fabf3f9819725f6439d7a7071468a2e5909cd7cfbc3070e6bf8ff347f898cff3e5f41e1e1eafee67d7703fbbcee7ab5c9cfb1c003e2be7b535f053067f6e8d82f73ffffc5e08b8b6cdd1e9dd3ec0c5f525bcfff90f3f67f413dc3aa56065b7e1209d825bdb9a52066d4d0633534c32f8e33e84e6971f7ed8faedc4badd0f7f12f03b5c25cdd74a1b5805a754c8e0566fc31e6e2b6b5d0657d607a4f0690a3ffef4fefd8fefdefff6c7f7f0b89a0ac89f953b5aa3407b6894ab7508aa8460a1b0cd11a429a1d43e38bd69838267e53632e81a7fd4ca0bb05b087beda1d285325e41698bb6562664b06903147b6976daec4007246f6c005955f6a0ca89788d5df4df8353b2de540abf5aef5522ef616b1dd4d607f08941f8bf5279bd337cec20bf2a90077984a36d9dd83aa54a5be32f7e4fdf9b92cfa5408709c0d5110a6b82933e6410f68a25ac8c72b282877653e942dcc7db690fda04654ade6ad74a274d508ab682ef6d85bf8974e677ef82851acfe95ba768d3ee3adad3b774515955a08387d62be727c809edc5f868908e269ba6d2cae3e6c41f128c1a2b93e895e9ad1f70d0d06da439820d7be5a07176e7640d87bd45ca6dd85be7a1b075ad03042b5acf329d005cac6cade2b2d7147774b9c23e2ba74ad81c4562f6bdf25e3978e562daf8a06439b90478b22d14d2d05d8fc06721cec703fb0c82b5a45a5ff6cac041816f94fc8acc20a6a68364f8131ec8a9ad720e6f136c925f867a2a1aa70b350158b4af9dccbf50bda1486540a5107bf9cc021e28c7c09ed88c5e9c0f2ea2eab81d6982201bf3ca3deb4281de22693868bfbfccbaadc0a942e96724d2ba0249970aac2386ed54001d445a280dfe71b014bf898a3a5246eb50f7a0d1aae053221103461df8bc89ef1f588712b9afc61e3abaa5459a1e296bb3f3249db5c5a54115812d87fca027a91835e0a553c8a90295c833f9ad751b5d0a69c865213395214b8f9b30253c386ab4ffca3f59948a43bb757441fe6a22d6bc66b48b93c6573210f142b920b5c12f1a6bbcdee84a071ddd1052668e8ab3121d7232c31345f6d7b6d45b545f62c5ad75a0bec9baa95496be384bceb7c51e6462790687bd42ab133b2783a61b93cb80ad5219efd3fa003b1df5cfa942375a99e0c9adf45c20bea21901eaea84ad8cd69ea873d8ab231958d6a9da40bdc21efd5ba7791380a929fb73f8bd3de037755206e56a744144951526ec95762289066d589dd31238e8b08770b0e0836afc2f70f1fe92621507d331d7a529c5c54f9760b75be5a29a0ca2d561af8b3df1c8d38f95dac98aa3a0a7981dc3603694b034e50f1485488cc3fde8d4d3cadb8c64a1244a8cbce75b9fae8254d1586ceb58e1c91a93c2478513c4709522738b8aeb8334a5ef44c1ded45838488741e8485bd2ed46b1660230dbbe083174784d6e18bcad15eea22acfb1a091deab12102f1c9488dec20f3528d8243219e09094831428c579dcd13abdd346561978cb57c218d338bba9544da1d4d9b22df818144350ba5545049cda56287a94c2809688e1e82d38d5b481020cabcb2dfe5c1d33da64e89ef04861ef940c0a1d75610df2325447be7d8c8d0dfe1c30cc7e51e45bc9833c5b5dd2fe257a47c73776aa53070c8c768b66874cef02275e429b523febb2c54381dd9023e14d3a38938136a0b65bbc672dbf521cdaf7641a671ba75590ee38894e533de37a1433290f71bc96256219282a25e309a539c60bb1f96d3a0855b26a46d57a1bd1067a79eb88efdd7792c0da2441b006e5df592ec5276b4acd5e1369a2a168b3cb7af715755db0b6150c06b61611e02bf8effbe87a9d2f3fad603abf81ebc5fc66b69e2de62bb85d2ce17af1f0349b7fcce066b65a2f67578ff8137df8697133bb9d5d4ff12f70cb1f2784a2cec1a6a89bc479eb22a63958f735ba094489521b2f24f209037153c9a8bca821bd0fdadb0a238d97c7887d6b794411f44ea4146d178c98a109489fc71a1396c19b073edf9b0c36aab2874c1080e98e4f316270073c3d394190f086aeb2916cdab473a2266a258d07a5e9ca835f9006d22d95d3cf32a0cb272a7cf8fec2953cfcc206aee92c5ea219f2b7916d51b74794a1b18e7482904526e201ba24036f80ce7ea83f3ef9df2e5097e848f0fe24315149b36be50e597671a79cd2466e837259b7003724205f542d0279dcc2b6a8f8b50ef167239264e0cd70f737084373f4ebd14cc8dfc9b2748a7ca6f4f0e668db371321a645d0cf8c166ce42ba2acd78c647449429688427bb4ccda11d5e103fb5b82686df09aecdf832f6c935445a2ebdc0ad79a17ac8f1e3ac11e556611be11b5a60db075b61e2e1103e06e0d62ef2d6d88b2a580403e55070a8ff042d144daf9429b523588c30c65287bf98c87db2865d88b6d8e70e6c49713f185d10e744ae65ac4de48cbe32e290875972cade2b0f07ec288461eff938c3601b748e6ad1f821a14ef10692386d6862ca456a56eeb0c8def59537a983200644da38bd6b6bee2dd65c38e5d06551da14143f77bbc04018678c8e157a2b7b4e879e2258a4aea5a393c7482011fe0ab520d9a046a40847a8297f914be100c61aa3cf2849c05e2e5e5c62b53280a6ce6d89316f80d21ca3e571ca08231eb40f25592638bfb085959b38b20aeff7a224427254e7b08c94650a3a0d91fbd2e6415f59a8d39e56ebc13a3bd63a4222368b44df43078e70e2b0dc01846e06f294b4f089a34e7a75e7322d8238a7c2b775e6192c78c9e4db06783b06f2948d67cdc575d7116032bebe91075926b1f3bc2e8e0e14c2859c5cbbd1772639fd519bd0459790bb552ac247c0baf0641fd170ed1f2b2cf080ad97a4e273a00b9d51587cf423a478cadb541f38e2a47343cfa55b2e9947012bfd9e73085e4814a4cbda2e2f157112a6c5e9c83741319d0911df0cbba645931cfd586c81cf6b6a25f098db9d08575fa3bcfa10eef75e202a3608906ad230c6eb798118de095f42860da452217923e6388226bd4aeeca8a002bd860452e8e7eb179709c777ac4f81de585713c8744a965ca7a154419ba09cc430a4aa63bcbc32e860070922b31275947ef4413a0ca9c90ba345a0ead1f20141428cdac403f900d695da4887de82b244689c4627ef50284d8516c90290c6d8d614aa4625e1204c4631f27870d6e3492210ffe2f544e802016ee555961058a71fd10af81cdd82cbbe7a419536b2f801c6678d4fdc26711185538389615455558a5f480e28f3b5f0acd5e1c42712951ee15de4df0a45eeea170cb0a3901dbcaab6a9fe9864b0690391c0584721bdd304663e970ccc88e5193bb191074ab7798910fed96ac7f518a678426c7229ba1a0a7d5a738181ea73319874ea4a5bf6d64189a9d00805f456cb4da5c0ab588421fe606a494b180bbd6a991985a5421a3443a7a4b7466e2aaaea22327204107bd8811f7bd548876a861bf808f76aafaa67ccc9021ac2d00459b00878c84233282dd7b2fb7b5aaf44777cb2a4137f44b50fe94fb69e005cb5a15b204e74cecb7ac015e9d9f350bec91e863313ed4731459cc614f2ab43bc196316d34809625c959c901873806bc17d6984733ec600090b7b50df82ea708440d1bab84dc2982d050b2e8d98921351be96533be9ca4a7992ff616fe180519a0b65eb7d8bd972189617a8141f3a7f19f944b10871d1a0164838d507312c23051b933ba7435006f8b05c1438daf603388997cb865b517623d437e538154e4534ae1399e06c7596d983fcc93a51d8aa5245974df9b3486022c4cc6066a1b9f753a3a393bb1d7229918d290fdf03b9728e9038855ae41fe92fbf03442ef1cf129e6dd5d6188f85041fac933b155d7a7f3f86bebd13dab8e4fe06a763af493a8d49cad920f7dbef23f5d32b9c9e1e33488ea509fdfc748921ca6efea18ad0d5c3d53755b481fc0d02b233e157ac92c5bda733fc0404a25ec350a5056b54b2292e6f68b3ebe1d3b4286cdd205ad1a107bef87795a250e7b8be4c71b096c55e1bf50e63391e92f1539f8364d1e693d50e6a0adf01821c6ac6d7210147e115ad0fb6964e57470c5a5c24ea0b861873188c7d00ebb20e90bdbc99ecec89107706cfb2d24c4e06a894f4816a717cafa3928e9a367d5641f8881cc2318b783c022863a1b65c8c36dcdb235c149b5d2941c0e0a75c82da9171437dcd280833ef89c229c70721fa5438233910eee3f8fb9fc9e075fef34dfe0b1914af699736c802f614839495e0690ccc24200efd273da957ae8c10858a67b20aca19f66711c5c4b62e5707b6544a340844d153caea65b523551130e8e1faee7c43a8f5ebc64bf7edf0a9ecb40eb3f2a2b08eab3bb06a37293a6c98fb11b98c9a65dbdea970418ccf422d421647dd454efc686b9d8855db7162162c37476f2967181e9a0b729de9f3ee8276e72d536fe6c5b9aa0a37693155d27dd2924153b59e1213e9bd2d74aa8729b795a8f86aab8de6ba2ba659f17bf6c34e37dc5cc6802d52fcc2c3e9582623d8637c90552587c0a1bfd104e0ce1e308a6784ed846f14495c252c9bbdb8cfd05ca8dd87512396e38434476a1476959e0ed30e975d60d6ced5c248d93ad8500222504e97bd25d4f21f8400eac61a42a7177c433cf157e58caa189a7874e397f186c236ca71ceea8f3ea89a6b4ce878c7f7c744c967d01ac22d74e66e2b1151bb8c164a75e631f784986d5fa08501758458030bd0be2b9391a26bb313b22868eb38b041e858c6b634690355a923aa4dab00e1fab3acf09427045e685f82db0446891814b6259cefc5395839f292ea99c0b46d77fb816fd7b17bce35ceba515535183a191039a9160d984190e1fff590019588cb405cacc9c053099de1eb10b48ca084604545e555df1aa7bca7f42946fae4cd074805606a8e204350751304419c038141fbeaf6afef8eeef3d9ea5881a5b6916c310a8418cb30886894e3a8057ae658a233c3c45f44d0d41fea7c2b57ac8819a9e34ed2c5009100daa022d8b5e2d2108376fd204e7730b21c92126637e88ad3019caaa5a602dbb6add8b1545a9a8245f73b165dcaee86b9266a64134e5230af4d415ce0e3a0e6c4c90bf2b5ddf511139386575ec10e137c2eda8ebbbab1a067dd69ca3528f760c277d2f9e0291c4c78654aca1cf5ebf67aa30317ea2b79e81af9314f7c791fa6e3d4d63a95c1e6c83d32aa568cf0f549e9fe2296175f2db15f7269479b12a351d41ade5fc692ee48c681f0abb75c3c4d0347ff971e1f9fb83bbe3861e2498613a71e7e3fe12e4ad0b58af8e47b48ff576e3c9a6f3831a0a8fc9821276b4c1e4da49e72fc858746d888c795c441af3f9dcbb7ec8a8215c3898631cfd23445744fba6e6cac5b6e5b47ddaad1ec494cc1fa92fa5be872cde85ba30320bd5625eca9c13511634b8ac32a0c924021142c504ebd05c686d2c01bd33d4e12b2ff3f81d996e33a5553d43fdbae2f8031c005f8475beea892c71865909c72fb5968b3c580a3d247db28cfd43d90de1ab8e0c673ade3e8616c5d6bef5be52f3331d042c2c2c4475204d49d8b380a8397e25359571220d9399536ee3df5650ad3263859ea2244a0df6d7162231937dbd896315cb49e75b68b8cafafe5e98b380a85cb87157d1bc1b89741fbed11bcaedb2a48a3b855c4ed8b4da5771156f65e5f0c9b3683b93de50217df07cb62e47f214444de49315fb1bd3801f072484926e9768334b6ad18c7f10829387b945538bea3e98281710f6042da6573148c7a2d4de4d8aebd161b2ca576aa08d5918bf6dd9fc2de11a838da96af489e87f28a38fc89ca50951d7b3736ec113b731d6a18e7e8b30d3a43e1d4d661d0eaaa4124e4ef1c9f21dca0e5f3a21ea53dec5585409a7361eba0356c948a401e875e2281c658b49574506857b4b527afcd1e6e23abde85ab21f9c14caae09a64eaa6a48f064d899319d6384b695885c4705b8f771b55dc9ad691073b5372d3a66c637ca63fb1d50f06517c3f54d13884d7e1188b6754ad4b337bb154c775031d8eb11724a896cd5f7e186fbe9731a1c1db0d4e987a7c71a8062fbd7391629ac8ecf3eb918819f3675d795568547df4241ce21b1ece48dadf50411e1906f089e4a86c530da673c44e19e56ccb1df3b44d97891f74a9c05107d26ecf1c499522693bb9ae9892d06062f4e7d670bddb93e3a4a9966290b2c92078d18758436d9baed94bf3543f94d6b0004a55d03cc11668ea0afc9e7406c12085f751ada03b6b3a5fef8ce22179f8a49b96886e30464276c47bab0913ae4fac66a8a6341d8707c55daa639c753ac41c71a32aad9ed90036ea65b4e2a8eac3d9b2e31f26a9b3765aa5f821cebf9e382ced07b313a08d4863a2941639f45931374555e9957f73ecdb5ac32c9d5d748f465e0c12a153a4c4cb8fcef1320b20872ecb92ab0ea8033ac04ee1e7cd9edae7a32b0e265ed4b7d88813ec87bbab643ca429c378e9e8b10017730c6180da9a9de819c19ea3f5710355624434dc992a2407d7812bd6a6b0aeb14e06e5c99f0f8e283d2a652a2fc6dee3c6962f460c48aa3f4f680ce6d59974e4541abd70ea5953eb96456ed4019ef9d1861751f6af0ca7330440108bd6a46b0cf82bbcdb9006d90eeaa5d7b546dfae0df8463b1a604f45268f761b57f0e3093c61a9696e411b285590ba220fcfd346b445374bc94d8e42391a86246c1d89a1a8761ab3704922d466d76a4f2952fac2b4f546b97e5234a5c654cbd952ae7ef2ed8b3c823de5609a2e06da37e8bb2b1978ac0b29bcc9fa248e22761ad0e84be783f2e9184fa709b1d41f4c87b22e8d0c8cb64a02ee67f4501dc419757871f7be9dc14c389e63c1498becd80db0d804f3d3124c4dcf9fe6dce30c9e5bfa7192b0639a461d5807418517c3273408c7ee77388fea63f76e64c127989a358d1ac468626a1c1e449ca647f4de27d211197641a0eb460edddcaf70fe64bbd7ecf5033de6b0b54223f382c2415762f4ddec737cb081318cf84e258c8d825d4be59c789670b0b0b3b222eb26db73cf49ed181504195a1eecadaa410d80fe2a3df5193da0614ab6b65dcaeef79287934c094ec530d22dd9b13fa98ebff2106abe802fd3e5723a5f3f9152bc9fc0557e3d7d5ce5b0becbe161b9f8b89c7e82d92acdc9dec0ed32cf61710bd777d3e5c73cc3ef96397e31a475bb580e0964b05ed09ff3bfadf3f91a1ef2e5a7d97a9ddfc0d5134c1f1eee67d7d3abfb1ceea75f2600f9dfaef387357cb9cbe76281e4bfcc5639acd6535c309bc397e56c3d9b7f2482d78b87a7e5ece3dd1aee16f737f992e6777f582c8116c2c374b99ee52bf1b05c7c9edd8c2ff566ba82d9ea0d7c99adef168febeef078b9e9fc09fe329bdf6490cf8850feb78765be5ae53762b184d9a787fb597e93c16c7e7dff7843a3c1578f6b982fd6703ffb34c373ae17c49af46da23ecb57b0b8159ff2e5f5dd74be9e5ecdee67eb279a25be9dade7f98a278ea77cf2ebc7fbe9121e1e970f8b553e0166e17c3d5be6b09cadfe02d395888cfdebe3b423f4902f6f17cb4fd3f93509ea4490785d785a3c6228b95b3cdedfe007227d808ccae126bfcdafd7b3cf79865fc274b57afc94477eafd6c4a0fb7b98e7d7f96a355d3ec12a5f7e9e5d231fc4327f98ce964053d3cb255259ccd9e1fc3441e1cd17907f461d789cdfe36d97f95f1f67cb739a8034a61f973931732077f165767f4f123a157e464be64f03e13fc197bb057c9a3ef1a8f653540fb1ccbb59eeb1564c5703ed9c5e2d90075739dccfe858eb053104457433fd34fd98af32d129016d1dc7cb33583de4d733fc3fb3f9f5ec269fafa7f7cc95f92affeb234a717a9f88c074395be1d5500fa3c8d00651d7e64947d60b38b5cb8b7eef13fd43bdb85fac50d9e066ba9e029d783d85ab1cbf5ee6f39b7c49e634bdbe7e5c4ed7b419aec857b07a5cada7b3390945e07dc99a67cb9b644fc467b89dceee1f972f746cbd80c5434e2449d73a8124255b5d66a40330bb85d5e3f55d941e8cacf609eea62bb8caf3394c6f3ecfd0f3f03ee261b15acd224f169142e4e36bde2e9ff3ea3303fee315773c4c35a5ac952bb16b020ac1c2137ae6b93aa470e871690ca1a57a56956d4026d8d44f5b0e9ec4c559be185577f464c407d158cfe5b4d677818a53c09899636a719047ae5def31156174c4d3f014ac7410e3a0c1c1b27be35348332e820e1e8f763de554664c8fe852e93604193b533d86ea467eedb0a78a408752262fb778353c71b7ba4e1fd31420b5a2f097d88ad9ea4a75cf4bf9d10a4f1616d63cab636c6d1555eb239eeb479269d20749110dbfa7820b21c034144060ff4d871bde40a54d2c6f41632955a2891d9af7a38bb6dc9ca0079108005a931e15ffab54dcdcd4d6fc9bfe66fcd6fa8fbff91f449d7ef28439e46ffe04fddf4c09edc06ffec49428231dbc221a49f043f7c471243706befd0b319e9c0ce7c73ccfbd36ee27b2fd083276537aaf63a4fe0105bf384f9bdcf76d30a272319e8ebe7c099d27e71930ecc1c60c6c6f9b98c8d3fc01e3add6ab6d5b653c27d2862e84a3ab4961fc43f7f222f608a9b05bd1a8601ae5b45b22711a8dadfb4f82f14a91aa88ee61d12b391c898a9ef2628ae5e3d59f6c3bd2d47e82623420f23df955980bd3dc2df72f7b5e7ec054d6d853b0fd2b4fff89d67fffd67f22c4b4f2960a04c3f9106bd28c2a8d15f0734bc4caaa524570d6e822be0b6c94835aea8a8b9ea3518dd1646a967c5e7a50229195ae1be6adf457f69082261f75608fe3f935c568c6b5b6a58aa3541f8daded3303fba4e2bfff393bb1ee231ab59135b729387b395d5dd85ac587a4d3abd5e2fe719ddf3f0df1f107d28aa810108e8d82bfd313d6c3db496f18a71ea18f27e4e05585fb205f4f1c0451886fa8bad251cac63e0cb72bde0e0f32e19995fdb1c11c8f3a5cfdb4773a1f9da15b1d35383dbf1dbd2a19a590afbe3b5b6ca9a912fb20fd7ed434f60a335eb1c1f8452d7c4ad1a8b83078f474f668f10d13d7e8c9036c94a86debd5bba2d2c557aa69d4cab4a083aafdbb7787bd0c9447fb56734fb77bf81f5f8fc4cbd254de4e4517a7eaa6b247e5e0223d7fefe690e3ea5ab94be007dd4e78ccde2bee72189e64f77a67400ea2d3e0e9cd9bfe854ac2147a2b8c2a94f7fc6cf32e4ea84bf0d440f9c0e353b406d594df593cd9a32d8f46a57fe403e3dce6d86dc48341fd01c842107544271c3717007f1fe8f95bb888c382f2abf2fcaed7431c51d19572feb2aba76d8ef0673c0ddcc9e2ab72e404ffc53324ad235b5a1fe1da5af3ef0cdec3b471baa27fb4048108ff90c183535ea7b75d9f75a1624df715ffd8955862cfa82f6fa0fe0ce54b850d31780edbfdcb035d83cd0d5d9104df6e9c6d0382884a6f9c74c7ae3e23d26038bdcc44c7cfd18a1a8f7c924a1b1aeb1aee38a8a9fb6e204544e2a97ec44ee190e643d3dbeed266905ecebcfc172fc4f97ff1e26559f37f030000ffff5a89e6dc90460000", - "989a41b885f6a3ce4ccf49322f5ed129": "1f8b08000000000000ffa4585d6fe4b6927de7af28f82536a0b433bb418049160b044e0658207b11247391e76aaaba55638ad414a9eee9fbeb2faa48a9e5d8634c6e9eec9644b2becea9537c78f806deecbe817f463e91640ccefd5eb0d048b1403ac0afb34c299373ef078280e7ac0fc7940b7c988573cfbe708a19ca20693e0e692e5006827392d003ce258d58d8630817f0291e481c7df261ce7c227848d345f83814c0d8c36f14b0500fbfe9930cb73d1d38520f7b0ae97c07f394a26ded85b024d1352ecffb4c1f67b3f51c496ef31ddc12fac176c4103ac00837f6eee64e4dc70849f8c811831af908e9e0702e43923cf0a4cbee756fe8b1e01e33d5ed3a40b8f923c9e3cdddceb90792821ceb9119ce9c07280926921123c5122e2014387e9cedcd90328154af4a0204dd080e49d41d37d500ab6d3ec522bc9f0bc763fdd2a771d4e8ea4b759b4fd4819f43990583f9983d532c7c60efd49d0cb7370f75d1cd1d94016b3aa6791fd883c76896e13e5c6cf5998ba5ec40287a8866409c0fc8a31dcaf1201c8fb51af63387def2d0c1987a3e5c3ae0e8934c49b0106844ca406271cd1d08cd999c1e23d473aeae1160868310a90519a69433ef832dc678d1a88c701eb0e44427b2245ba4305e9648653b35ccbd46697120f0c805b5142d66249e31c0b26207ef07d218d7848d78716bac4923ad316a61b34c4a1a93be1908b8270c563966768b3e99659abfc32ce6f424a99f0d0c5f94ad25485a05098ec8d1094d73f321091c7507125823a7cf5bd1b0d41ae208134a59c067f6ced96c73743824299645cb4ade39f7ae2eaf5f689dd77c2d613213c754f86456e4ee498d687ae8d344bedae834247dcffa3f06adddcc3dc96abf4fe34431dbefae1621494e1130e7e419adc8957d747f40670eddea77373f1e0e2ca322b65b92439f8a96a015f440ba7fd6dc64c3b36655fd5cf9c4bdc0275cd9438fe9e094c21c0b0a870b5020df90394de16236b553f563dbabe2275c6053c7cb0730c79e0458f7201973573d7a8ce91ca83f1ab207ce6af340e25e25bd8d914b81c148183556fa9b63a1d8530f818e1834c7e48da6d568e3c72bd7ec9c7bb37b956377f0633d6ac49e004fc801158bd521dd72c40becc94d920a795db8571adfee286dc72410898fc33e29612c74a764b4f9da3d3dffe6ee75fb1acea983bdd69f10c4d4a04ebd2ba996d5218590ce1c8fdf3b07c03b7b58b72c09842a30a903ec712add26859d96a4328e3d9c025e3a638f39b2c7429d839a04c198d5ae46dd3fd839bc833129ae9bab42da136a888a9568eb32b5bb68676aa06b875ab76a7bf1ae9518974acc93f009fd65d97caa1d67ed0b154a5f65e0118f0687c08f14296707d0d3c4962ce5d48dc5a7ddba5dcda75595524f2e30c70372436d3150eb72a1234abf695b1a933cef3f68d935905ca9373742c2a3e034c0b7b778d7d5f66d06bc787e03b7a0af44d173ce34726cbcd1d8acf6122d74edcbc051537375edc4bb6bc35e4a2fcf2a0372c3040a673dafd6f64f2c7afe89e0ed77f76fef7f7ed0ad95cd017e9e254d84117e45098cd6f9d482fa013ca4397ab686f0e60dfc3f8a1fe0cddbb7df4153271598b0ba58dbc1625ca3d46a84126af51303f038056bb395409597291d34dcd766a70bd4a0bee22dcfde53ce4940955b3bc9bcee17f7ee7e30d8598878d7e83ef3c801a503fa38f30983a9274dbd08e529c57e03e097649d03505f7a75592993bdb146c0b37533ed5b97eae72b1ee6c5c59d73ffb5833f50e5e70eded79aaacd2f9785f7555a71a90454d940998063954c78d2a66afe77eea9451d2ccd44c997f617482792122e1d1ce6a07f36aaad0316a153f28b3e7273f41a8fea41b8c059cdd424ee31f66b87ccb3886645b24a4ecdc272e857f9f5a664416afd907a68c24b9f7a9cb5236b936dc8380f64e98be9ecb4b958979d63fdf7f65a25f48973857686338560826b36cdf2d2feaeee7fd73d693eb77c67f411823635e1928429d7fc9f5929f996f96ed12330e2271ee7d1f573130093a413f7950d3f57235ba39b818547729673ade77c67c73453e205bc05daaab52d18a9e779dcca4488f3b8373de07c9a7881dc2d9feed64f16cd7d159aaf6b4a77d594da46b4822a9b24695ab196f82aa4aa8ea945ad5d6e2dc2111f293b0bb3bd5c23b8a74807b65e6ef3cb48cd8bad7ec70201e5d8c4a741c5f5548497696d5377aa12732bcfc613b9157d9311957eb154cea8f6b83c68ce155d7bda327dc545ad44a1ec3967fbdf63f414c222f314a70b7727711aec4a3ac68b1a2f259d62c5500b4f37ef39cb3c558af9383315a0f8215d16af5629d65aeb128d6cf0a771aa98da5fb6fed3a749286778699add39f7df3bf8b56ef30b7b8a99e01d86b047ffb883df873487ca5e26af1713ae19d35742a872764feec3dc1f174d66d13d6160a3688e55a269a769a4ff277a2a03c5cdee2dfe7b02b59ee4444ba2178c3da7c4828f9a4a8edaa5bd4f732cee4b0301ff175715ff5c6caf5671869ca0f9f967463d0ac62aa0ebe46d1e53bfea7d9074c1502e5febfcd4b9a83957497520d13874a04fb225430786f5d17a51b0e5657acecb105a06d5824f0ad34c2f32f0cb12d3fd4dd28385f4dcdf203d784e7aee3f223df81ce9b9bf4a7af079d273af905e8393b2defb815674ad75dd138dd4c31517985d0358af1adb4642cc35804f51bd1dcb3e8752b71cf80ca6f01760fa4c451845ea31ac4aa6ae54adfe74b10a705819d4b5efb00d8b4223b29140f3b799dab5d1ae1ee27153bd0d620eed77fef3fc7be6c6d55ab96be91be96e67ce7632c7e3974f9f496ab163ce2475f87f2654dc4b42a54ebfaa243733429dba3902b1750373b26a37b940495fcc57ce7dbb835f3613879af0136733a85e7200e00efe9194637a1ab1fa32a1515a53b50385a785a5b3a569bb7ed576d4d759a7493b7dd378c64ac6badad9c2bdf09d7527ced0273fabdd66cb7ed3fcd3e1a01af13ae1e7afb95dbaa82c8058c755ca57919c04ce284ab04c3adbd90de6051e59239fa22789cb145563dca2d799dc66b53a172c7349727962f6d3c9e205f45f8fb572e5a2b4ac7c30602cb8e7c0aaf20f5cdad46978ab10f173c0f556a972f9f622b15e7a0d04b8cf143d2d178fc671eaa395484f1a562532ef67417f5997b508e9cfcd0e24620a6791c9490c83a0e2c2abe8af8dc5c8fd9521a35d47bed4ac2d9f7e93cfbed55d863a3865ae61b158f840b8bd0a59eee15a5bd490199a47bcb48ba70d56a091970ebdcb28f8ba42854a84cbbdc097e27c07efeafde575506a21fbac6369bf5c4558e321d5968a629fa2a625776b20ab97eb35e37a51f27166a16bef6a93fd6a9286b9df84d972910bc6be0d4c7ebd5b6b8cf8d06e5bd73b5cce468ba883384a69b1dd60d3361ad030d7cf95c8d33ef0113fc361acaed82d9bbc60f0bb24302621adf3246313c05320e5b94ce4fe672865fafefe7eb9176e17fbbb24c7fb2a67fba41c7dff2f9274ff66f7cdfdffba7f070000ffff7f9eedca9b190000", - "a61b972dce26544398f591b4e2f715f3": "1f8b08000000000000ff548fc16ae3301086cfd653081d16693172f6bab0a7253d95b484400fa514c51d2ba296e48c4634c1f8dd8b1453da8b0edf7c9aff9fc9f4efc6029f67ae83f1a01f57b02c8c393f45242e59230812b96005638db08e4ef9a8fbe83b1b8f7918cc183b0b215ccb5b4cf1d34a8440fd09bbba65b87608e7ec1004538c0d39f4fc00895e77f02189ff5ea3f441f19935c8fffee3abafaba1186b6ccb01eba8a05f0f13b918d2bc28d6a0dec52d62440988c5c51c8ab8562b3bf6390440a9ea4c3f393a495bcdafaf85ef7390aa6248b5446190f24849deec7b081221e9ffd17b13de52cb37ea3bbf7323a496ff29f670bb6385cf9b97226ecfd98c52c0c5f869044d17122d1ff4ce7828d10bfb0c0000fffffb4a36cd9f010000", - "a78ec1efc51b3e38b6dadd6a4eb2258e": "1f8b08000000000000ffec91c16ed4301086ef798a91e9a17b88370e5024df40454ba5422a01ea1139c924eb36f644f678b7cbd32377bb880aad8a38f5d05be2f9e7f36f7d1b13ac69278cba0058351f2ebe68007172ba6aaede7ffbb458b6d60b78052b82d67a132c46980dafefc339a17338ee22a3933d0e264d7c4de1d6faf1dc06ec98c26eb11c29ef3c70b6146ee36c3a3c801cf569c22bc36bfde7cd3174cbd1f23ab5b223b73c396d939d7a1970a66833577ae37091a979179880d7f84013113aeab1286ea88dba28e1865a0dd7d6f7b48d05c04c34e517036cdc8533236a109b5857ea5db9b5beaed49928002207c338eef6496738d8bbfd37c048a0a4aa0ebff9e0c70643b4e435883c128f920a4ec92f8ec7957c2b7e0f578d52ea7373fefdf2a30641fe6fd430fc276b181ec3ea277ad5ffdaaa7eaad571d2be53649ce37ebd0446374f865183f99902968c91a3dcb9a938c874a66bbe1e51793f2b5525d5eb178fcfdce3a5f5e9ee88c7d426cfa95467b27af322f2998afc150000ffff5890c13743060000", - "a95877cfc2957859690620af727512eb": "1f8b08000000000000fff248cdc9c957482bcacf55a8ae56d0cb4bcc4dd50bc92cc949cdac4a55a8ade502040000ffff8a41cdb420000000", - "aca00e322e929c273fc368300d882a35": "1f8b08000000000000ff6c8d416ac3301045d79e530c02830cad7d812610ba6d43a027902559119134421aa58bd2bb9786d4b890d58779ffcfcb4a5f94b3a8a301f031536194d009e7f9dce651539c1ccd6d5954a0e99ecf3934e7539db6a9a3a9023af1d2ef9032d7f17483a78bc37e2f6000b8aa8287abf241cdc1e20eff56e3d17eae7739002c2d69f4c9b31cf00bba958d0763a428442c9e70f57c9ca9f051458bfdfe359a613b78f3956d920fbb77f8afff4e2db1fc35dc3e7dc34f000000ffff6041fe3b1f010000", - "ad3cd1c511f6e620beff7f7e5adbd878": "1f8b08000000000000ff6c8fcf6af33010c4ef7a8a2110fc7d87989e455268dab497b6b9e4dca0d81b4754968cb5ae0c46ef5e367fa094820eb33b332b7e87c1ba3a6ab550401342d40a0016a84d9facbf0ecefa61bcea647d1d525400f9af5bfaf165bbdfbc3fac5f374fab3b05b4c67a8d692a43c7b17c33d63f5b47392b559da8fa8c432b4d6f5ada33b59d334c1ac5cd8b258f5c2815bde9e229f01fd9d934c9cb19e5ce3438cb59ce0b4f23cfe417e31b72a1916a0c3d6b985829e0681d537fa5a4b172434d9741308a8f3a5451173f164c9175a196f315ec11ff0e3da5ff9830bf5722a5da583e0d87cb91903cf5028e0bf9baa7b4951d723e0704e397bf339db8cb39b29cfd0e0000ffffceb536f291010000", - "b6547a26d702f0e315541fcbf39aee8b": "1f8b08000000000000ffc45a4d73e33693bee35774cd257615a3dd37fb55959c1499b6592b537e2539131f21b2692143020a004aa37fbfd50df04bd24c52ef65e732924c361afdf1f4d30da445ad0e0ee1b5ddd5aa80a52a503b841fe108ff98fdbb10dbe714e68bc5eae5759ebf67f913bcae574febf90b641bfaf85bf6903ec05bfe90ae811edda6eb970dac1e61fb9c6d205d2cb3d74d0aaf6fbf2eb38558668b34dfa470f769feb44ed39734df7eba9fc13c7f87b74d9ac03a7d5daf1ede16db6c95c36a0d0fd966bbce7e7d0bdf1f7981b8bc58acf2cd36dbbe6dd30dacd345f69aa5f9f6870de99abe6ee7f922edb5e8179b09f18f193ca48f599e91cc8d109f16467bab76ad57467f8206a5763f0b21ef4169f07b84423a0453f167a59557b286fe1d6393c91f0a5322485d42698ab641ed25891500502a175ec1125a5da205bf570ee61f16911e4ce835b1bb5a1665b107d7ee1cfed9a2f6e3a57f26b9a0eea1d84bfd810ebce1575fadf9b0b20912e909750fb22c15a972f9d02f829e38edd122b8b6d8f7b2a42effcdd86fbe07c6aa0fa5a547a8ac6978cfd2e2e54e7767f07be9e120ad57455b4b3bdec00ce630363ffcd04b753f90a8207afc0aa80a94879374a41a96976aedce611ba357d804de615d016d489f8d46908557fa038cbe7afc07073bdccbba9a4d7473501ad0c6b3345dd42d39fa5bc639ed55b1ff19eec8f064583c484ba66a4cd9d6e8c05424c699ca9fe8ef638b290d85d17fb4ba608b9c94df4f4477b183ca82397168d53165e52496e04ec5e5b5f150a25547e9d511e164ec17d74574143b1b2782b1310fc8587040eb8c26d3a1f6ca47870e2abb4b3911414a78951eb57741181cf81b14b5548d8b3acb5d8de4b2a98bd97a1c4d1a0b744e5a559f41e9ca2afdd10515424b0962c1c99a134579370d265993a3591e6a519866a7349657162595e3c76edbf4d70bdf4f3d248bc2d852ea023b71ca893e9549e21a0b7550a8fdc894a4ce696fc06281ea3835dc6d4c1021d22852653d811d3713e2a7193cade7f996706e9d3d3d6f370240dec3a6ddfd8185ef82d2a36da2bfa780c3d032363ca1c0ee0c1f566aef185ca0df0748d046ff885f8bba75ea8809c5515d9e548909587396b53fff58594428cce16cd5c7def781e94d1066f1604dd91698c0c1524ee0adb84ce0c0a5a83e93d90fb53c0fbf043907b495b14d32720b47bce3a7c292172ea4fd5f667a12a4a98a9c934409c5fe4aa7845cee4c6b0b1c00de041bf3775266260076ffefb68f49d65981832a08bbcc4ad2b0915f30a13c4ac0615d2760aa8a82d0c4afaa3918ebc376fd1eed49390cd2bc95da550188fedacebd89afed18c45d1913b664af8bddb83d25813c1cea7367df90d532ae1c75bb5489f41fa79aaa12903ef847353762454507840a13e166b221de6207ff1d964e6414b275e8f8c1206cacaa37b023e58f6887052e3d4446b8f46810150c41b0de1b83909a7d345ec74528edead5a592b3202e37b097b6e45274400b0e4175088d25472607123d5edc8fc2927f755eead285aa206bbf37edc7fe3abc435cb3065170b4b13757c8edc0a1a738f07b5e5ce904b401e95c6b09731d57b583354715fd23754486f192acd1d8efa541c756eb4a09ff351ad8d860bf8809da635d63e15b59d34a07b4fe0c8c6a9cce83b943519c412aaf590773a158f0e88d5ac99daab9869a91192b63bbb2b8b3643e1ff734d62816df9d2497508cc63d34ac7cf5171a47217d16cf60ee4012d38821ec0de057b48572546cc82ef1554a9ece63c18b1893b68f8b8866c386229691c31aca015323587407a39d1a0ce0b0686d8ce8c19edfdd87462cb1ecf064068fc44abecae65063f8b14300654be69ce74b0c510e2cfed92a1ba8a3ac6b731a69eecda8a60c70d2336ae54942fffc0feec6be64c1f243fc4df276879519d3bdced43d130128efaf2289cb26ba00da1cd32165be6873aab1fc40d26a2f096baa4a15a45787385d218ee653fa2ad7066cf626b837e26a7c3548ea11b8cf4bee52c6256d26c47fcc609dfef32d5b73afb511623ed94623cf50ec8d6142302edd136cd657c5205631d2dc9cf42db6db430199e7671158902211cda156e806ce17ea31c5741ffa37caf32fb1325137e6ddf58aa1f1e2d60bab0a0ba20a81adc434363af6108c1517cc8d7f38494bc6561d0c862418ab95007e25bf077515ef8442bf678483883ebf83d7271b53be0e848518c4183492b1dcbf27ac414beda1ef508c0454ca6b5292404c8efbbc436b0fc6e12f11502f6cc55ca6c4bf63aa0135abb16aa56ce407bab1454a65b1f0f44bf7c91db050b2e6875449fd783db08eb8c1d85953fbdecb0cf5dd416d9ca7f0aa947761278a76e2bc0c8d0fd53cea912800dda8e2968a9914f7afd3d8eabae4f08f09d7a84f1ee74be85f82eba6152140db2fc34ed471aad3986455c64e33cc813c4a5573efc50a0e1ce5a284c610d194857d1aa083bd39510a9b9d970c29dc128145e98c26b183b0466a8d1642ffe8f75cdd404283a56a1b285ae74d13dabb96ea1ae9da77c5f835cc2266427cdea3bedc44238941f63bb9a096a4f208099ad679a25c172fdd6aba46c92f1907aff1a1171789556c2ab90a0e6f4c707d6a58c760486eb5d8982377a9b2f6c8e389116e6be315f19dc268327557796935a52f9ad8abb2c14a72d0abeadc4d4064e060dd9c8558cf75eb9c0855898eb0cbce891c59bd93cfa176baf16caaaf8bdc5df44bfb3d8ae982d74454fce70c16ab979774bdc8e6cbc9e04f888569087a3843bbb24146a45ea38b1632a82c0a3c7828d072604e4a73570604fd1a3b34d425c59d7509ec5aa718c728b5345ad7770db5fa8233f8bc5735863018a88420b2a2e314aa9205ad2363412b069ddb6180d813898b8e024e7b139bfd8bb9007b60242c74d03e2007819edb9bb62ea134e0ccd85f222251477a0b8ba4dbc1f80876135c8dc032993050ff6199b250405ccee1fe156503b08ab19cbb4f23ef8e4750f73d8da4b4e3882ab1229705502ab1d1aa3a0b3ca23d5fab0f779fb2f80cd5b7a964f921957601bb6be31cba4444ec8f55d87907778561261a2ad6a7253f486fdbc092193c43c54fa09627d7aa409845d0a6c60f2a3745a89f636a3f61a89d3264c891ca132bc57617bf86199a64b48c7da32c98e1836994735da98e3d78675931751d018ac6d18491141f68e9d0d27ec3b1e2d2b1a15735bb5a7dc4ceb323882e2e13a6a7d38635d84e180bc1b660b19681158707646803181d6bfce0e1db8df6408c79cd0c32aa36651864fcd9ca5a553cdd816fc40303e5cf42de93bce6e06b46e6085c703b3a697b27abc20c395a9b77d38ff14367f11d09de30ac5b532731e6683394a21d5b15df5c3be007a7830b1481acc5d6c39258baafd91642e387f12ab824f8e89b4690e7c8de14b54cec717d1eed0ca4ef39387e3dd0ca3321261dd814211a2e61e3d9c35fc0841860e235c6d7efa4f4052f528c399a57bb659f196495886ceab6e5e9ed467e41d74d127992db653297a80aad132352dcd9d69b4137f2027533d742d825a3b789f35d64e4c591c3451bc9dc6f066f033f8979947c2f304e5c09f6f28823b4ec341aa14c182b4cf8c8687f7f7353911c52d35d98d6faaeaf76239e7a11ef0719486c0fb58e69a36b6bffdd7d3193a197836af1f59910ff35837c059fe7ebf53cdfbe0b91febe485fb730df40fafbeb3add6c96efb049b7f0b85a6f9f21cb2f8e0393f181e2e43c7395c33c179fe61bc8369fe0d7f926db24f039db3eafdeb6dd7a59ba81d51a16abfc211c26c2ea918f32ff37cb1f1248b3ed73baee1481d55a642fafcb2c7d802c5f2cdf1eb2fc6910b9cc5eb2ed9ca4242ce27b4b6cb3ed324d44beca7fccf2c775963fc5cd10797a9ee7dbf9afd932dbbed39b8fd936a7d51f576b98c3eb7cbdcd166fcbf91a5edfd6afab4d1ae656621880a830aea9cf4344d6a18728919a67a5bba1853c10fc5a253d327132151087fa107cfcf98d1147c0aa3817a2e6ce2af78502c19942710076e548c4711453a738bfb845d761dc00ee5ae6cc50ab46f5d18c222ed217765311e4b03e68ad21fe174605c3890ed52955709340953d894107de50b922ce40524ae965d2c9e2224c397018daeb56c76623a4b509f32d6bdb4337b20ea0cff82cc47fcf88f92e96f3ec255d93af975974e6bf10db798cc0fe701c728a82fc5d2c567960d7abf50636cff3e5129ee7bfa51c79fd8a2166f27778c8d6e9629b40960f9f16d9439a6fe7cb446c5e5362ec09a4bfa72fafcbf9fa3d8921bb49fff996e65ba6f3f397f953ba81bb3ef46f44be58ae365b4ac1c76cbbb94fe079f539fd2d5dc362feb6491f609ec7b47ca7ac5daddf27f649e0f373cadbcdf2b0bf39694a5dc4623b7e6cb586ed6abd1dab92a74fcbec29e51b036b589194cfd926bd17f375b6a107b23c26e53b90caf122c2db26fd8b3b0abcd8732ad2dfa9add9a41d4084c3ba7078973ec073ba4ef9024502e96f690ed923cc1f7ecb68d39dbcd56693c540583dc2e66df1dcd97426c4ffcce029cdd3f57c2944564d0712379a5745e4ec286b55523cb61aa9bf2f706888c534f879ea393a72e0290e27350b8971dd4b89915e85ccc3462aceda4828bf7920c6c545f9bd693d54ade5f211a873e4b982d9093a6e0bbc89339a61a341c31d02b72ccd70358030ab699b489efb33e57377027629289886f4195966c6a61de1a4765e793efeee27cc3e92df497b11e7f677a3935c5158e3dc8f8155190b85690914c277e646b199b80fb43760e8c56146e8e7c55d18a4d12393839f0bfece98166a72df311bdb1ffbdcf70c3a9c584d26dc617f77ee3e09cce9ea8188cedde14040e94de4fd3fddedeea36f42fd2072297b054bfaca1247f6530e2a55633913625ed7b7d6ba59092e570957452aa96aea1e0543fc39c2bbee87348df4688971c4d0b4df1d0dc7cb3de804f7d46d776d8656a12f179330a251ca946112db20c8caa3851d16a6e150088ea80239d4460f6588582c57c8bfbbfb7edfc9a89c0fbd7381d2853b13d3fa7cddeb49a20014c54e8ca63d074bd9c8a030836773a2b63b992837eefe6e6928ba3ee5f23889127c5079dc038ed50adea59649e9164538adb74775a4dc4c8f68f97e85624edf281fcb3f8fe3263be6c30d9e735f8310f107a545df3dcaa351d4731644849c475d84a67002a6fdb80e036a502765747d861d8ac694a1d58ae3baca505b48bb0b439ad0930de2361e4fd29644bed0765744c22cd01bc1b720dc1e349ee0883634fb2364b118a7d0f7370237cca2f9bcdb08fa7f06b901be22c3b8e0f7525f6caed3662fa78a006feb7c79ed85f7d25d277c34ad2efb741edf91bb92cf2f8a1b2ff24ccf39f51114bb7584688fd8cd348740ebf4260f020129a7627f0b6b72643bb265970883822755d76287f0a18edc70521029fdd12ab7277b77efe9b6d975beecc275708b989c6ddf875dd527797654adc6378bdcf4f2c854adc1d031bbe2d97eb80c17ef14953cfde82e2624116fe48d5d8a490cc7c8c232b91a0a601d55ba7d622746f17775907f3f5c571bab3083f42b4f6aa5eb0eb9eab3e0030cce94583b1cfc7427ef39a7b88ac89d396232818a78914a9bd149770f2fd18cb74f94e321fe78b7b7af609df6180efa3b4513c22b3e372b64b0323a6f0e07acfb4b04f1889dfb9beee4956cde0507d58e5e5e0f8337619d0a444403aa87db2b2ef7618e68f5300e24eed045f286c7d1a6821c4ff06eec976eaa2d6e1b65fcee9be6166a138e954c05f306ad2a24c346985cb281c710c009033b9e4bcbc9fcf3f6e61a13cec935e3d019a5152162c30dd838388f12a4356455cedab0fe49b2f729eca29d39e3ff6889dc714d575a84c9986b6b2e2a03cb9889ff0b0000ffff1d99f9c4fa2c0000", - "cb9f04739ceb356f960fa53f13efd3f3": "1f8b08000000000000ff3c8d31ae833010447b9f624af8053eca4f957e036bb0426c6bbd5b20cb778f8210ede8bd3785e637ad8cd63025faf0f4b886de9df31eff45634e15210b564e2ca431ad68eda47b777a14bea9aa62b3a239c07bd0b2e0c826a86a21606361d7dd997dd21e1752866ea4c8974ec2b06af4dad9054b33865cb4e2efca8fb7368c60912ce793b09a24a4b8ffeadf000000ffffb2b3ff10d1000000", - "d935586ff49465c8710f2ec7f82d0567": "1f8b08000000000000ff2a484cce4e4c4f55b051b555c82f2829d60bcec82f2af14bcc4d5550b5e3e24acecf2b2e51084b2d2acecccf53b055502a33d033d03350e202040000ffff53ac591538000000", - "de502941dc9614468d4b6e3568718d20": "1f8b08000000000000ffbc59518f1bb7117edf5f31b897f880adecc4698a064581ebe5ec5e71498d5cd2a28f1439ab658f4b6e49ae64f5d717332457dc95e4380850bfb43991c3e13733df7cc385f37fef7ff8199e1e9e9f1f7e84f70f3f3cfc78f7041f7efecbd3e33d3c3dde3ffcf0fcd05cd844fffe813e6867e16d0b5ffd11fe365984afdebcf943d3c0bd1b8f5eeffa08afee6ff98ff0ce23c2b3ebe2417884776eb24a44ed6c0b8f566ee04f7d8ce3b7af5f77a1db38bf7bfde7061ef6e88fce22e80023fa41c7880aa203e9c62308ab40e910bdde4e11618f7e2ba21ee8478da101d741ec7500a325da80a09c9c06b4b185ed1441f6c2eeb4dd818e64deba08c2187740b5699a06e027dabacff763539870c210d0c37bb4e885810fd3d668094ff90c6da5f3a3f3226268684b443f0476553aab34dd3790b962f96d6d7b69b4c9465b08d3381a24df51c1f6c8eb854ad68449d084c0a68d0ebc088d3b6ce81e6f3670775afa1d76da262ff8d7bb005340053d7ad4b6851b462c1f7c031e3bf48110bfe86fc2a2b98c45cbb7a6a5377cb70f4fbf64ef8a2176f4e6a71ee1496fbdf0c7da8e00e9f6e851c1c1f917d8d17fd882d2e92a6de3628f1e622f2c080b77e368b4e4f403e741c0bd1bb69a36fe93cc88008a905a207967e1a6da77436923ec311d1c7b1161102fc880d2a584056d23fa4e4884d1bbbd56a89a1cbd7c93948a875ecbbe2421fb79d001612b2832ced61b364d8aa0dd8180306da51181f34940fabfb3db8b73c8b8421c508180c1296c5c0753603397dc5c6d4fd7879b0548e9fee9f6a3776a92699fe44564da7930dabea4539a1af2838efde200aa378451f8a8e564845f575e5ed7f0c68417fd7919b583083008c574214c702085319873f049db17544d66ac9b4daa71849befb5d5833070efbcc7305295da1d3cbbc94bbc81ee42760c286c20abcda53dbce5ccb916f0a334934a601c21a4b59262411b46e7676e38bf1965574b0c12b4e264d716747026f3a7f0d82cb2a5c23a95216756c92402a250f70987e55dea68dd3bf58b48b8edbf5146be0f1df8daf9fa8a33260bc7b4ad1151228a867c9da2363a1e29a9765e0c012c22e524d9f098528d369dc3d47937b0378b63a8c44ee0d3aee7638838e4a4d278197446e6cb0d3c7c9438320ed1c133ca784edb1f9e78f1bfdc0483a00ab07b3caea969b20a3d846420c05b8ecbd77397ca44c519eea6085b246fb7d425a9aac2a70efe6a03f77c266df9de29dde9538413d13f767024f7e8c7e4da785c1517670a458556fab43483185a104d27640a4ccdbedd646561518a20fd758ba963e944084bba6d9829a7809c37301b7d551334112b08bfe37e0da30894db871e39834f8ee800daeedd0baadb967eb1e98ecb109cee3964649a4c2edf1230206e736816fde24485ec6fb2fb822060e79c824e101161d7391f213ab283364c1e73a9ea546bb827ff57fd46394c54cf2031d1d2fe3592ed129f10b531e046646d91aa7a44df393f04da7ee845c43d7a2651bab18e01c6c98f2e20781c84b681eb55db5d3799169ce7eb6f4fd79f93aa4d046d497a65ecaec80dd7918d1a3910e9aa5b83940b8c1e0581b3f0ed06fe9e88823885745f564b9cb822a2d7c2a4322e9debaf28c8bb77da6098c9aa661b4220f7db1a65ca824a8dc1505b6f04f4c96ea74d8a196bcc0cddb233adca3a4cb2cf0e34ec40868f859eeb52f1c8de69b9cea21674b25df9a59ad9b12c008c1e7496b9761ad06b49980b2f068ce8439bca2c443fc938796c8c38ba29268d29a4c4101cad22021e84313008e95da09434dae29c666943c461342c565f45e4d4ebf080dcb7918a0b0cda5dec6f5bae00e560eb625f20ea1c09666d777321bdd77b161183b694f8d6452d3125130ad92faab18e210720d7412559589a52ab8b594ba655f312fa23a539292eea810033e5aef4dfa6e4fa9d946e18a9dfac7d602f978491cb211f7e1a25c8569926d8f2d79b65ef0897fbc1b25b5dcf9b942d4d142fc4786e87448d2dd10d75813d9a23858292c523cd3f322ed83abbdfac3545814d3a1b05fb91696a257ead024f5412b0419a91103dd527f55f85db69c7631397c1aa47e8d464587b299742eebae6b7e7cab91a4ab483ffd76c59a9cddf902f206fe1dd053dc53e2b1d46238e814da7193a8113404d1409ee361f514eb58c42f660bd65165e3308834b06628f018be1965aee018de1d69b1a3c5a89a0b4a794cbba69a2c997493da33756e2e9dae5573757b7f09d83aab3ac3283febdb9cd7a86177c4aa057bd6b2e243abc583a9b453fad72297d04779462204c3a722feb9c4f56eab2e578a59789b646a8ecf698a62104d6ae340dad6570c9a3224eaac9a7583957ed14843c73d55b571347aaee626510d692001d51a6d595aafc661d444a1b592465b17029009b39685fdec2cf545927c8422fa8b84c4ebd01652fac0e035b2f936119054f112b7df7ee64e9b45507ce1d06fe154937129222829f2c443dcc662e2a5c10c6a350345a6020d2c9231145ed0baab7619c22fa39f63c26a4a8bfdadec2a1526004ff88de1cafc5af18597950a4c63c73ff8e19266aba663516f3b0ba7c654b50e32d7c48a2021e6d88c2a421101e2da56d35f2386b8e85910f6e32eaf4b4c0ec46aaf03f93f6496a64a192685d9f6c2dc79639519afc6ac86291f0e1d31235007e8c042e5ff5cc5eaa4d8b24541810073add83ed245ec3cb05514e5e9266fdf8500a2e3f3fa492cbf4453b3faff02ecdc9f0ea910b92e0e4179e34137eaddea4cabf160c18a6104998a54652fad627498d80b84a540900859b32d32dbcf93229353eb4c474ed1e59a83dcc2ae0d710040f2c35475c26875b4ad9df57e2681eb91702693442e2cc1379e4d198f955782cef4cf52347534a2ad01db7f97f99c083b63b73325814548a789a33f36fcda5c34858558067699d7f58498666d161ea1141e497b08a012f28bea64c0ab9527f51622f25c9d911175449100356f0919de5a3620b939d0d2503f6b8c4a90a4a9b5a3f5d14d5b5fe7ba6a43ea1f62ede2375d67994252ba7e7c64b2fa36da68fd18854fe871e3d8fa09d4ebd9f012ce8d18aead665885ce0c5ce7fb3811f71af43f5a0f2d99f03e679f5daa78f94fdb427f4a4b9f998fc7c66f1502829349ffd01223d81e9210ddf7ac00d3c53365a3c94678f901ad91621e8411be1a968c2a8bd8e85c14b7fcc3b524319c4b151baeb9037288c421b7e0452ca6308ecf0e8ddd620e5017383449fdf9f1e48d21786d501767a8f54aa4a079297930e3d85a4acb0d3b045cf145797ba085c241e25ea3da9fd38d355a95f90e869bac926aa86fcd918de9032b747a0c1787e89be69f86103f9dd8be41e39d28b7da2d7ccbfae3b552c2c3eff34d5e71fd45c5aec0f65798a7fdd817c7ad058b9d09c56e6f7f96b7955808325704d0ddce9198a11a4f97489feaff8d2333fbbf5ce9106b4c7eb9fceae1881f478f5d937cc8f9ae797fc74768cde7d3c821494c0522b6c0e7dea0ddd14278f73c57dfe27bfd00b6338398e6d0e289df14548979110a288fcf18e832a258e51d06c95437c2a8a862609c1fc28a6d83bafff9b58823a2ddd2cba82309f5376e619af99bfd6fc2f0000ffff1b70e417e31d0000", - "df2571aaa5053efc9adf6f1c937897f0": "1f8b08000000000000ff3cce416aec301084e17d1d45302d1eef0ab9c11cc0c8ea8edc63496dd4b227d9e4ec6142c8ae161fd41fa85a01bddd97fbb42160cb98edc0b117042ad210e85046b64b462af23788d34c584fad1cc30bad1fa7cb40a0662cffaeff20bf3a8e61ef5a0594adbb555936f569e313e4c9fd9653de2406d048bb2c33f9ee5ff869a29a77b8d511418fedf92bf1d89ef4baf373adda24a01bcbd28ccf2a1ec1ea33a2489791a670045dd2d946c4aa3d0614edb7553b485952c477000000ffff64521561fe000000", - "e2a24d2b173d9a2c5c7d11e6a6f6630d": "1f8b08000000000000ff8c59db6e233d72bee753140658ac0df4383bfffe392d92001a4b9e694423792579bcbea4baab25c614a9906c6994a70faac83e49ed6c7c65f5a158c7afbeaa86e1df668f307141f9a00a98ab028d47f8ede14f42f41e7ab4c78b53bb7d80bbe21efeed0fff0ef618fcc31b4a077ff88feec2a40e7b4b97d2dbb313ba8b3508cac311dd41858025040b853d5e409a124ae58353db3a209cd06d655007baa9d0a7f36d0561af3ce8a45a698bfa802664b0ad03147b6976caec40053ac3d800526b7bc6f241886787f2b0d528c4a62f017d905badfc1e3d843d424077f0509b121d9cf7aad883849d3aa181ca2182b755384b87e25916ef7287709017d862d4b2cce0604b55f17f9d2d6546c6fd8375e0b077f54190b795096858ddb0978155e8fcfbdd6ad2e320950952190fde1e10640a9028ac09ce6ab02774fc668927d4f6481e89ae92011a45cf7ba5117c505ac33be291fc14f69d21f22495965b8d203dd8231af0b67605726006b63f08f1666b900e41eab3bc5c45f320df494727cd0e49130fe7bdd5fa02b60e5e95d80451b441540e8ba02f7056613fee015bb56148fa3e00e4151b1023769b191cffa8190bad6aada1f618dd72b1351c9d3d5aba60052bcd32b03921e367fcded6ba0472b52c3e880f79c823be0b09a5aa2a74e4ffa80879b9e78b0721a65829a382b2c6c7baf8742def131c509a988eca94eaa4ca5aea3b7f0fd681753b69d4ff481270e7ef598291072c41197ea368a5191b548150d9981c688272ad750fede12626a46dcf95e60247e9c2257a6a2f3d9b9fd2160a4b317460c31e1d0b39c8804e494dd11f3850199045615d294d811f87f78fb1bc8fce1658d60e7da3dc9bad3fb1773f5d6c3dd40f9db786320bce1c20addeb1c1928cdfee4a2d2375b9322f7dfd9a53d2cfbedb0bab3516e4634a8a4a69f4fd82862d0b1243348cc66411c9d0a9930cea84beadc49ed08407b66211614f59c8a73cc06498e70c3085355e79ae6954e47656721da429a52b59c64f745e59c3a64af89160a8b9dc983a6d6d68ac3d3a7b5225a769c4e16111b0e7e47b045596218b02bd570414c1522c08d151fbe8e52609a5c758b4853d1c296036a64a3f7d3312c059e4fbd840a1eebd3678e5c60eebe009b19f1915f62abcd84bb78b25d0bea2cc2e795df9be999d277c7d3c5a1752e5f49e6283bbbce72221200a505a8c0d8714e9d57e855d3637f16a82f2091c5664fcb06c4055d4c0a8ec48e016d1c42a6b5b8b757c97eeb457c11a7d21f73320e3afa35685225075f8df35fa80314d62e2de246da3e275def46ba2abea563fd680bb6e6a722cc5d7c53e5df57046876cc7984a37eaf0fb4395964eed9491baa1239d4acadf7215e9bb4063c9909382ddd54b63dc0dde2b032a78286ac7087e6a1e73202342a9d0f4fbd6eddb0b93a667741a9e6c6d4aced3a60eaa3ad4ae059a3537d44f9457879e63539f255ccd5a4613c5c45b9d6b0b6b2ab5ab5dbc1b71a9c1f71b603f1c95c6f2e6b822dd80ed25603cd46eff0b8b9034d82a235dc250329daa903187e538f4b50e9cdace92580ab42a08fc9d349e9e89caa582e7ab5a869ebfa31b58dc8310e2995ab4674f93292f3e528e988a457cf35585bdad43af88ad11e2eecb3d404345061c24b6f9919093e4c2a10cf190daa3b8cef9e8516e32b5637e704ea73ba4d38b885d112ee8b8bd0c82c026518e2eff58851128ee991c0f5b75bcb0efa72be585b8fb2d194c5938fd902c8f383a5d12e335d083386ad9e602072c557d18b55ca416b4a32cf49422ec2fb8c2e42b0f311c973561800c28a4d68d96b629f06be6e23944d27b5b2849812d952fb4540774fe0160c25e777cd5610c0a43cfb537c859dcc62e1c1f650a5d9708523425d2f750af8ceefedcf3b63c1ef5855db3ad7750a95fe833a02e21b74aab7069002fb6ffd8230ebd142635ca3ecbe6f219c5e23886b585d632f43351f748e079e230d4311dfbf73659b2e43c768938a7977c1d2b3d759c6b6ca5dc9c5e65e26d795c3104e953a20971f7fb787e729cae05752fc2dd20a5c4c7294536318db4aecd4d096371bc29ebfb917c2c344aa72f2de8c2de9e09e4238bf7a28dd1ad77631629b38ba3272596560715f1a783718a1f258db1e6b36f845428a92df80cf01716350da0f42392d45a3749348a30328046e9032c17b3261295a5295799dd5f22f6dfc97b8863d81800f57230a5c175068a76d41eb33ccec663e99381b7ed183b4a8e39319a02e4ac18d6486a9b63cc36f5b5bbed3d001a5fbb44f394f141eaaec38ce75ac3cfd2a081278a361d557b748d0cea6a34a5d7c6a4e9f8c6fc07c8231b9365a912891df3f1a1f644dd2465318d674957df0d882ca54d307ee60397379617f710f7190deba6e9c761813c650ce9fb8d42c1a6512d65c56d6ff83b8912893a0be10c484aa97b18cd05eaffe9097a44b683393b2236ebc847d20d3ea47288fad21be2d2d446e5d05f9e8ceb5bfb266c5e1e6202764c3cae09f8f488e529f9d96bedeea551865f4ebe8dd49659ab72d85bd4fc1f3e1cce64dc122aee1e67ebde7d1c0f09b028fe2a644c29a93f4407c40c6bbdcf552143eb421a2a22e77176afb60c3adb3e3b4adceba979aedb82ddc07b8b9d4fb65da38c500f7b5b53be45e0ce1742dcfde3780b1860f487e734224527728c47340842545663402e6057171144ac611c0f56ec7010a88fea0b604dbc61202415b03849ad4a48010fead08da87dcad66ea3fc50978cde94e622f8cdb882bb24c25a48e72e0c397588c4a52f9152a2b00712c72af0364ab056c91f60f07c637889074e360705d20c5ed58e3beb40599157cdfe8b05451b87a21a0103624ad1e164542e5c444993a6ac023a9696f49567d940735c60f5a4d29dd69eb047d3e7cd957515aa10078ee463ee1dbe6d39dd7e8fe8d93f8d67daedf6830a68c811fe7f69c6e995d692ebb4b9f93dfe74e88f914889db041ba3fc93ddcee14e86d463e6cabc37609588941077ffdc279ce9051c90adbb91fd4fc7e5dd08eb8974895f3a462191575f8d291ddd6c0e268923143e062b2d56e470d5d1cca2a25bd25e51383f9cd522340ed7252c2412680a8035bc434ecca0afdc40d20393e6d15db018e07d9de6cb6b201c78740cee84f40df09423ea5046fecbfdf838aa9579ef04d2e9d7b18b602a629cb847f0760c0fdbc4effbf31968727e7cae2d157b8ecbbf60c5b656ba04a69b9fa526a610677abadd0cfdcd7683bd450e6a3918b3cd066107fb910fd3667c4eec254ffb60bb27c35f3c5acbb4fde7ef20ae92055e6dc3a876f280070f1b6edd0e6161033c76d3cfb37421ee1aaf4326c4ddbfdec32b77dcbbbf43d813f38ebbfcc2a963f0f7d1150774c449f057c088accca16a7ffbbd20d64696b65a078ffa445cbe90b547d10f62b0d4f047d6b400b9e9514bee0a9131c8b84613bdb1ef285db899c654f0a8ab34fda5d5db70ea1bff60427efe86069dd4f04c818b392feebefce91e60622e647136a0ebd9f09bdd781d8dac5794879d3da133cd02706491f7005f2f91cf65718cbe24e02c7b6bdcdbaf35b228f0188686c194c3223afd2fd94012deac377b40d793287abde7cb977b6ef9e3d346bb1b1df0bc2edea21d1388f36d2ffc5d8fead42670978624672d573078426ae41abd6f88682908207a93d0b82edcc414faeef34b7a3f7e9bb395b8eeab5f7ebb07d80c3fa6a5aadd3969621f60413cd9a5751bb5ede0241110f79e098feea40a62b5ee3d8b3768c661cf6bbbb34daa8c6ca2efbefcf95a8104477160a0591a7f15baf6ea8419d5872ecfaac44c107bfe6cabcfa93b1d65e8bec461f36d3283bd3c45ba9dc5a4b63492d16d8f5a93ea5a67a00efc0da0dde69c1589e01d270e16aed78480f95e3a9ad7558d19cce53f58c0a7c184435da0f7d2297d11ca544e995db7286ffb6a6270c4ae54a0146e6d0d2af623d1211ecd86ce7aff99d5616e676bc25bfe7d0f72274950efc39fd41a7744065a1ed7184bf8138ff40d74b3bcf62be225a9d22a1fbfcf13dbfb60671f6cfad22ab5e60eae0cd11ecb2d56949102c9c4913b0309472aa2749c32bfdf33d748fb41caae57feee1a2e7f119bef33789e3cfee7e4db0cf2353caf963ff3e96c0a5fdf806e3d2e9fdf56f9b7ef1bf8be9c4f672b982ca6f0b85c6c56f9d797cd72b5864f93b5c8d77fe41baff9e6fbf2650393c51bccfef6bc9aadd7b05c41fee3799ecfa6f03a59ad268b4d3e5b3fb0f0745d74d761f9043f66abc7ef93c566f2359fe79bb70c9ef2cd82243d2d573081e7c96a933fbecc272b787e593d2fd7b30c962bb1582e3ee78ba755bef836fb315b6c60b29ac1345f3fce27f98fd914364b3e72f6b70ddd7c9ead7ee49b4db4f36df9b282f9f2713217f3c9eb03bc2ce674dc6af6d7977c151f994f5e33582c6fddb15cf5bd01aff97c2ebece609e4fbece6751e3c51b4cf3d5ec719341bee8fe7bcca7b3c56632cf928cf5ecaf2fb3c5269fccc574f263f26db686c92a5fe78b6f902f58caebe40dc8bbcb2736e5653d6bfe4d01cc60f673b680fc494ca63ff3f56cdade5faed77974275d5abf3c7e8778c883f8df000000ffff2fe92a4de6220000", - "e50dc3a6916a03ffab97ebfe2607353c": "1f8b08000000000000ff8c90cd6aeb301085f7798a734d16c942ce85eeb44a4321ed260dd4d065519d4111fe19a119bb35f4e14b8221a6b850ed0edff9c4cc885214bb000cd44965b1e782b9defe5f00406863a7577c793d2509dc5a2c579edfc6b49eb83b27e7eddd8ca92e79d262886411da3ab434022953886af13566a0a94e21c14464cbd5fe79f7745867bfb0e37df1b8dec4cacf171a3e75351d9d9e273fc899a3c208e8537dcdef37b3c7bf95e778a9cfdaa720b176c3c1356491bd9076117bc62ba74aa22b29bbdee1e73e9ee1496114a647bec9f3fc06944461922b69423e3855a1f50f2151a99c06fb87610a12956cf11d0000ffff918e55a0cb010000", - "e77af356b711dd222651f373f9039345": "1f8b08000000000000ff2a484cce4e4c4f55c84dcccce3e2cacc2dc82f2a5150b251b555c82f2829d60bc8294dcfcc0bc84e5750b5d34fce4d51e2e24a2bcd4b062bd7d054a8e6e24cce4dd173ad484d2e2d49d5d0e4aae502040000ffff0bec043151000000", - "e8f0b5c005cfe5f1f920445b2c355f33": "1f8b08000000000000ff9492d16edb361486eff9143f0a146806c1bb5fb701b4746c1d401635928aeb4bc5626a02b61848748abefd403641dcadd8d02b1114cf39dfff916578fa3afbcfa7880fc73bfcfefe0f84a7b8ac0e6e98f1fecfe26d475ee329a43d21cf67e49205b35bdcfcecc69510da8d7e89b37fb8461f260cd388ebe2e0272ce13a1f5dde79f0d3307fc563982f4b812f3e9e10e6fc0dd7282e61f48ffe38a4060586d9e1c9cd171fa31bf13487673fba11f13444c493c363389fc3173f7dc6314ca34f454b2ebab8f89b10bfe07ba205e1f115e5184687cb7589985d1cfc94fb0d0fe139fd7af53185e88fae403cf9450067bfc4d4e276d834fe8364f4cbf13cf88b9b573f22f0d3ad815782a7398cd7a3fb2f08818cf1b31078893686e3f5e2a698cd0aa49a5fc38c104f6ec665886ef6c37979739c2f2617dee0af84b0351b18b5b17ba9096cd06975cf1555581f606b42a9ba83e66d6d51aba6226d20db0aa56aade6756f953678270dd8bc13e9876c0fa04f9d2663a03478d7354c15f6526bd95a265380dbb2e92b6eb705d6bd45ab2c1adeb1a50a561569a8f87719d4063bd2652d5b2bd7dcb03d64900ddb36cdda280d894e6acb65df488daed79d3204a949546cca46f28eaa15b845ab40f7d45a985a36cd0f5326f6ef32ae090dcb7543224f6a0fa8585369539cb755c915b55636054c4725a7057da25dd7487d285e7a1afaaba7d6b26c442577724b061ffe4749a755d96bda2566b581e9d7c6b2ed2d61ab5495440b43fa9e4b321fd128936df5860a54d2ca3cb8d36ac3d67c4ceb756f384be3d692d67d6759b577a8d59eee498b52f686aa6c57b539aaad49e9436a9a1c64f905f635d99a74129a4dc9a4c058cda5bd3926948655dade64444bdb86b7d496946854eab2674377909a4d3ac0dfc6eee501aacf91d31df586445edebcd822df24780359dd73c27e39dc2963f8e59d6465658d6fba57e2ef000000ffff9e077c2221050000", - "ec188e67853d7839d2d751b9f778dc84": "1f8b08000000000000ff7c8f414bfb401047cf994ff123d03fc99f9a20de8a15a478f5a078120fdbdd4db2b4bb136627f650fadd25d58bd07a1c78f3decc68eccef41e363aa2104716454545d9071da66d6339b679ec6eef5acb5b3125d5446d8bfbc51a3c6a6e5e07167d36d163f1b0890ee247f1d927cdd0c1633b759dd9f3cd451e966334c9d1a791ebc635fe9dd3cde69b3e52f196fd0a40f9a7bd5c52719e572895799fd1b1e0c0b20ba9c721e870b939efbd4ce969856e4ab6b2d1e1ffaf039630d267bc7f649590fa1a5e8405472a0af13a49420a7b2a4e4b3a11cd0e8414b4aa67429875135df3e8dc8fadbaf6784d27fa0a0000ffffb89c31799d010000", - }) - if err != nil { - panic(err) - } - g.DefaultResolver = hgr - - func() { - b := packr.New("./generate/templates", "./generate/templates") - b.SetResolver("cmd/generate.go.plush", packr.Pointer{ForwardBox: gk, ForwardPath: "0652906dbbddf180108ddfa0b73f1047"}) - }() - - func() { - b := packr.New("buffalo:genny:plugin", "../plugin/templates") - b.SetResolver("-short-/listen.go.plush", packr.Pointer{ForwardBox: gk, ForwardPath: "4d28e1deaaf258f4346bd9491c376098"}) - b.SetResolver("-short-/version.go.plush", packr.Pointer{ForwardBox: gk, ForwardPath: "d935586ff49465c8710f2ec7f82d0567"}) - b.SetResolver("README.md.plush", packr.Pointer{ForwardBox: gk, ForwardPath: "89ae21d51779b8540143aebf69368c43"}) - b.SetResolver("cmd/-short-.go.plush", packr.Pointer{ForwardBox: gk, ForwardPath: "ec188e67853d7839d2d751b9f778dc84"}) - b.SetResolver("cmd/available.go.plush", packr.Pointer{ForwardBox: gk, ForwardPath: "aca00e322e929c273fc368300d882a35"}) - b.SetResolver("cmd/root.go.plush", packr.Pointer{ForwardBox: gk, ForwardPath: "37e6217420675913821fc175e7dd25cb"}) - b.SetResolver("cmd/version.go.plush", packr.Pointer{ForwardBox: gk, ForwardPath: "1bb7ffbc87c10d18914f6951d39775b5"}) - b.SetResolver("main.go.plush", packr.Pointer{ForwardBox: gk, ForwardPath: "e77af356b711dd222651f373f9039345"}) - }() - - func() { - b := packr.New("github.com/gobuffalo/genny/genny/new", "../new/templates") - b.SetResolver("-name-/-name-.go.tmpl", packr.Pointer{ForwardBox: gk, ForwardPath: "920fdc8a8285bc442cfb791bcafe45b6"}) - b.SetResolver("-name-/-name-_test.go.tmpl", packr.Pointer{ForwardBox: gk, ForwardPath: "a61b972dce26544398f591b4e2f715f3"}) - b.SetResolver("-name-/options.go.tmpl", packr.Pointer{ForwardBox: gk, ForwardPath: "cb9f04739ceb356f960fa53f13efd3f3"}) - b.SetResolver("-name-/options_test.go.tmpl", packr.Pointer{ForwardBox: gk, ForwardPath: "793124cfbcf9ae17892b017c666be8f1"}) - b.SetResolver("-name-/templates/example.txt.tmpl", packr.Pointer{ForwardBox: gk, ForwardPath: "a95877cfc2957859690620af727512eb"}) - }() - - func() { - b := packr.New("github.com/gobuffalo/licenser/genny/licenser/templates", "../licenser/templates") - b.SetResolver("agpl", packr.Pointer{ForwardBox: gk, ForwardPath: "38ff45a61f79481d5d34d8d9f9676c34"}) - b.SetResolver("apache", packr.Pointer{ForwardBox: gk, ForwardPath: "0e36ab770b1ec79ef2649ec1552c94dc"}) - b.SetResolver("artistic", packr.Pointer{ForwardBox: gk, ForwardPath: "e2a24d2b173d9a2c5c7d11e6a6f6630d"}) - b.SetResolver("bsd", packr.Pointer{ForwardBox: gk, ForwardPath: "e8f0b5c005cfe5f1f920445b2c355f33"}) - b.SetResolver("bsd-3-clause", packr.Pointer{ForwardBox: gk, ForwardPath: "288df37e7ab95dfbcb9550200ab31180"}) - b.SetResolver("cc0", packr.Pointer{ForwardBox: gk, ForwardPath: "989a41b885f6a3ce4ccf49322f5ed129"}) - b.SetResolver("eclipse", packr.Pointer{ForwardBox: gk, ForwardPath: "b6547a26d702f0e315541fcbf39aee8b"}) - b.SetResolver("gpl-v2", packr.Pointer{ForwardBox: gk, ForwardPath: "9878d11093909d531176b7e6da001598"}) - b.SetResolver("gpl-v3", packr.Pointer{ForwardBox: gk, ForwardPath: "49a20c4e431767a29116905e29fec0d9"}) - b.SetResolver("isc", packr.Pointer{ForwardBox: gk, ForwardPath: "2669267df0f493b450bfe1ef118aeef9"}) - b.SetResolver("lgpl-v2.1", packr.Pointer{ForwardBox: gk, ForwardPath: "87f5b37ce1e0e735c36a5ff25df5e896"}) - b.SetResolver("lgpl-v3", packr.Pointer{ForwardBox: gk, ForwardPath: "de502941dc9614468d4b6e3568718d20"}) - b.SetResolver("mit", packr.Pointer{ForwardBox: gk, ForwardPath: "958ad94ad4ec3f13898043ec59181ee4"}) - b.SetResolver("mozilla", packr.Pointer{ForwardBox: gk, ForwardPath: "1614cda23f5488b474a44a2db5ecebac"}) - b.SetResolver("no-license", packr.Pointer{ForwardBox: gk, ForwardPath: "67f2f65efc608bfd2ec3bb8485e627b4"}) - b.SetResolver("unlicense", packr.Pointer{ForwardBox: gk, ForwardPath: "11ccb6bedd3e318a1604672830b46c94"}) - }() - - func() { - b := packr.New("github.com/gobuffalo/release/genny/azure/templates", "../azure/templates") - b.SetResolver("azure-pipelines.yml.plush", packr.Pointer{ForwardBox: gk, ForwardPath: "a78ec1efc51b3e38b6dadd6a4eb2258e"}) - b.SetResolver("azure-tests.yml.plush", packr.Pointer{ForwardBox: gk, ForwardPath: "e50dc3a6916a03ffab97ebfe2607353c"}) - }() - - func() { - b := packr.New("github.com/gobuffalo/release/genny/makefile/templates", "../makefile/templates") - b.SetResolver("Makefile.plush", packr.Pointer{ForwardBox: gk, ForwardPath: "22ff05a4b44a03ae13723f6a9efc10e2"}) - }() - - func() { - b := packr.New("release:genny/git", "../git/templates") - b.SetResolver("-dot-gitignore.plush", packr.Pointer{ForwardBox: gk, ForwardPath: "df2571aaa5053efc9adf6f1c937897f0"}) - }() - - func() { - b := packr.New("release:genny:goreleaser", "../goreleaser/templates") - b.SetResolver("-dot-goreleaser.yml.plush.tmpl", packr.Pointer{ForwardBox: gk, ForwardPath: "ad3cd1c511f6e620beff7f7e5adbd878"}) - }() - - return nil -}() diff --git a/plugins/plugdeps/plugdeps_test.go b/plugins/plugdeps/plugdeps_test.go index e4f777c03..f037c9267 100644 --- a/plugins/plugdeps/plugdeps_test.go +++ b/plugins/plugdeps/plugdeps_test.go @@ -1,11 +1,11 @@ package plugdeps import ( + "errors" "os" "path/filepath" "testing" - "github.com/gobuffalo/buffalo/internal/takeon/github.com/markbates/errx" "github.com/gobuffalo/meta" "github.com/stretchr/testify/require" ) @@ -37,7 +37,7 @@ func Test_List_Off(t *testing.T) { app := meta.App{} plugs, err := List(app) r.Error(err) - r.Equal(errx.Unwrap(err), ErrMissingConfig) + r.True(errors.Is(err, ErrMissingConfig)) r.Len(plugs.List(), 0) } diff --git a/plugins/plugins.go b/plugins/plugins.go index 724475d4c..f69401534 100644 --- a/plugins/plugins.go +++ b/plugins/plugins.go @@ -4,13 +4,13 @@ import ( "bytes" "context" "encoding/json" + "errors" "os" "os/exec" "path/filepath" "strings" "time" - "github.com/gobuffalo/buffalo/internal/takeon/github.com/markbates/errx" "github.com/gobuffalo/buffalo/plugins/plugdeps" "github.com/gobuffalo/envy" "github.com/gobuffalo/meta" @@ -206,7 +206,7 @@ func listPlugDeps(app meta.App) (List, error) { } bin, err := LookPath(bin) if err != nil { - if errx.Unwrap(err) != ErrPlugMissing { + if !errors.Is(err, ErrPlugMissing) { return list, err } continue diff --git a/render/auto.go b/render/auto.go index 0532d6788..51f1c2e59 100644 --- a/render/auto.go +++ b/render/auto.go @@ -2,6 +2,7 @@ package render import ( "context" + "errors" "fmt" "io" "net/http" @@ -110,7 +111,8 @@ func (ir htmlAutoRenderer) Render(w io.Writer, data Data) error { switch data["method"] { case "PUT", "POST", "DELETE": if err := ir.redirect(pname, w, data); err != nil { - if er, ok := err.(ErrRedirect); ok && er.Status >= http.StatusMultipleChoices && er.Status < http.StatusBadRequest { + var er ErrRedirect + if errors.As(err, &er) && er.Status >= http.StatusMultipleChoices && er.Status < http.StatusBadRequest { return err } diff --git a/render/auto_test.go b/render/auto_test.go index d1c2b6d50..651c8f609 100644 --- a/render/auto_test.go +++ b/render/auto_test.go @@ -8,7 +8,7 @@ import ( "github.com/gobuffalo/buffalo" "github.com/gobuffalo/buffalo/render" "github.com/gobuffalo/httptest" - "github.com/gobuffalo/packd" + "github.com/psanford/memfs" "github.com/stretchr/testify/require" ) @@ -71,13 +71,12 @@ func Test_Auto_XML(t *testing.T) { func Test_Auto_HTML_List(t *testing.T) { r := require.New(t) - box := packd.NewMemoryBox() - err := box.AddString("cars/index.html", "INDEX: <%= len(cars) %>") - r.NoError(err) + rootFS := memfs.New() + r.NoError(rootFS.MkdirAll("cars", 0755)) + r.NoError(rootFS.WriteFile("cars/index.html", []byte("INDEX: <%= len(cars) %>"), 0644)) - re := render.New(render.Options{ - TemplatesBox: box, - }) + re := render.NewEngine() + re.TemplatesFS = rootFS app := buffalo.New(buffalo.Options{}) app.GET("/cars", func(c buffalo.Context) error { @@ -102,12 +101,12 @@ func Test_Auto_HTML_List_Plural(t *testing.T) { type People []Person - box := packd.NewMemoryBox() - err := box.AddString("people/index.html", "INDEX: <%= len(people) %>") - r.NoError(err) + rootFS := memfs.New() + r.NoError(rootFS.MkdirAll("people", 0755)) + r.NoError(rootFS.WriteFile("people/index.html", []byte("INDEX: <%= len(people) %>"), 0644)) re := render.New(render.Options{ - TemplatesBox: box, + TemplatesFS: rootFS, }) app := buffalo.New(buffalo.Options{}) @@ -127,12 +126,12 @@ func Test_Auto_HTML_List_Plural(t *testing.T) { func Test_Auto_HTML_Show(t *testing.T) { r := require.New(t) - box := packd.NewMemoryBox() - err := box.AddString("cars/show.html", "Show: <%= car.Name %>") - r.NoError(err) + rootFS := memfs.New() + r.NoError(rootFS.MkdirAll("cars", 0755)) + r.NoError(rootFS.WriteFile("cars/show.html", []byte("Show: <%= car.Name %>"), 0644)) re := render.New(render.Options{ - TemplatesBox: box, + TemplatesFS: rootFS, }) app := buffalo.New(buffalo.Options{}) @@ -143,18 +142,17 @@ func Test_Auto_HTML_Show(t *testing.T) { w := httptest.New(app) res := w.HTML("/cars/1").Get() r.Contains(res.Body.String(), "Show: Honda") - r.NoError(err) } func Test_Auto_HTML_New(t *testing.T) { r := require.New(t) - box := packd.NewMemoryBox() - err := box.AddString("cars/new.html", "New: <%= car.Name %>") - r.NoError(err) + rootFS := memfs.New() + r.NoError(rootFS.MkdirAll("cars", 0755)) + r.NoError(rootFS.WriteFile("cars/new.html", []byte("New: <%= car.Name %>"), 0644)) re := render.New(render.Options{ - TemplatesBox: box, + TemplatesFS: rootFS, }) app := buffalo.New(buffalo.Options{}) @@ -170,12 +168,12 @@ func Test_Auto_HTML_New(t *testing.T) { func Test_Auto_HTML_Create(t *testing.T) { r := require.New(t) - box := packd.NewMemoryBox() - err := box.AddString("cars/new.html", "New: <%= car.Name %>") - r.NoError(err) + rootFS := memfs.New() + r.NoError(rootFS.MkdirAll("cars", 0755)) + r.NoError(rootFS.WriteFile("cars/new.html", []byte("New: <%= car.Name %>"), 0644)) re := render.New(render.Options{ - TemplatesBox: box, + TemplatesFS: rootFS, }) app := buffalo.New(buffalo.Options{}) @@ -208,12 +206,12 @@ func Test_Auto_HTML_Create_Redirect(t *testing.T) { func Test_Auto_HTML_Create_Redirect_Error(t *testing.T) { r := require.New(t) - box := packd.NewMemoryBox() - err := box.AddString("cars/new.html", "Create: <%= car.Name %>") - r.NoError(err) + rootFS := memfs.New() + r.NoError(rootFS.MkdirAll("cars", 0755)) + r.NoError(rootFS.WriteFile("cars/new.html", []byte("Create: <%= car.Name %>"), 0644)) re := render.New(render.Options{ - TemplatesBox: box, + TemplatesFS: rootFS, }) app := buffalo.New(buffalo.Options{}) @@ -269,12 +267,12 @@ func Test_Auto_HTML_Destroy_Nested_Redirect(t *testing.T) { func Test_Auto_HTML_Edit(t *testing.T) { r := require.New(t) - box := packd.NewMemoryBox() - err := box.AddString("cars/edit.html", "Edit: <%= car.Name %>") - r.NoError(err) + rootFS := memfs.New() + r.NoError(rootFS.MkdirAll("cars", 0755)) + r.NoError(rootFS.WriteFile("cars/edit.html", []byte("Edit: <%= car.Name %>"), 0644)) re := render.New(render.Options{ - TemplatesBox: box, + TemplatesFS: rootFS, }) app := buffalo.New(buffalo.Options{}) @@ -290,12 +288,12 @@ func Test_Auto_HTML_Edit(t *testing.T) { func Test_Auto_HTML_Update(t *testing.T) { r := require.New(t) - box := packd.NewMemoryBox() - err := box.AddString("cars/edit.html", "Update: <%= car.Name %>") - r.NoError(err) + rootFS := memfs.New() + r.NoError(rootFS.MkdirAll("cars", 0755)) + r.NoError(rootFS.WriteFile("cars/edit.html", []byte("Update: <%= car.Name %>"), 0644)) re := render.New(render.Options{ - TemplatesBox: box, + TemplatesFS: rootFS, }) app := buffalo.New(buffalo.Options{}) @@ -330,12 +328,12 @@ func Test_Auto_HTML_Update_Redirect(t *testing.T) { func Test_Auto_HTML_Update_Redirect_Error(t *testing.T) { r := require.New(t) - box := packd.NewMemoryBox() - err := box.AddString("cars/edit.html", "Update: <%= car.Name %>") - r.NoError(err) + rootFS := memfs.New() + r.NoError(rootFS.MkdirAll("cars", 0755)) + r.NoError(rootFS.WriteFile("cars/edit.html", []byte("Update: <%= car.Name %>"), 0644)) re := render.New(render.Options{ - TemplatesBox: box, + TemplatesFS: rootFS, }) app := buffalo.New(buffalo.Options{}) @@ -380,12 +378,12 @@ func Test_Auto_HTML_List_Plural_MultiWord(t *testing.T) { type RoomProviders []RoomProvider - box := packd.NewMemoryBox() - err := box.AddString("room_providers/index.html", "INDEX: <%= len(roomProviders) %>") - r.NoError(err) + rootFS := memfs.New() + r.NoError(rootFS.MkdirAll("room_providers", 0755)) + r.NoError(rootFS.WriteFile("room_providers/index.html", []byte("INDEX: <%= len(roomProviders) %>"), 0644)) re := render.New(render.Options{ - TemplatesBox: box, + TemplatesFS: rootFS, }) app := buffalo.New(buffalo.Options{}) @@ -411,12 +409,12 @@ func Test_Auto_HTML_List_Plural_MultiWord_Dashed(t *testing.T) { type RoomProviders []RoomProvider - box := packd.NewMemoryBox() - err := box.AddString("room_providers/index.html", "INDEX: <%= len(roomProviders) %>") - r.NoError(err) + rootFS := memfs.New() + r.NoError(rootFS.MkdirAll("room_providers", 0755)) + r.NoError(rootFS.WriteFile("room_providers/index.html", []byte("INDEX: <%= len(roomProviders) %>"), 0644)) re := render.New(render.Options{ - TemplatesBox: box, + TemplatesFS: rootFS, }) app := buffalo.New(buffalo.Options{}) @@ -441,12 +439,12 @@ func Test_Auto_HTML_Show_MultiWord_Dashed(t *testing.T) { Name string } - box := packd.NewMemoryBox() - err := box.AddString("room_providers/show.html", "SHOW: <%= roomProvider.Name %>") - r.NoError(err) + rootFS := memfs.New() + r.NoError(rootFS.MkdirAll("room_providers", 0755)) + r.NoError(rootFS.WriteFile("room_providers/show.html", []byte("SHOW: <%= roomProvider.Name %>"), 0644)) re := render.New(render.Options{ - TemplatesBox: box, + TemplatesFS: rootFS, }) app := buffalo.New(buffalo.Options{}) diff --git a/render/html_test.go b/render/html_test.go index c9f659da8..c31ce75bd 100644 --- a/render/html_test.go +++ b/render/html_test.go @@ -5,6 +5,7 @@ import ( "strings" "testing" + "github.com/psanford/memfs" "github.com/stretchr/testify/require" ) @@ -15,10 +16,11 @@ const htmlTemplate = "my-template.html" func Test_HTML_WithoutLayout(t *testing.T) { r := require.New(t) - e := NewEngine() + rootFS := memfs.New() + r.NoError(rootFS.WriteFile(htmlTemplate, []byte("<%= name %>"), 0644)) - box := e.TemplatesBox - r.NoError(box.AddString(htmlTemplate, "<%= name %>")) + e := NewEngine() + e.TemplatesFS = rootFS h := e.HTML(htmlTemplate) r.Equal("text/html; charset=utf-8", h.ContentType()) @@ -31,13 +33,14 @@ func Test_HTML_WithoutLayout(t *testing.T) { func Test_HTML_WithLayout(t *testing.T) { r := require.New(t) + rootFS := memfs.New() + r.NoError(rootFS.WriteFile(htmlTemplate, []byte("<%= name %>"), 0644)) + r.NoError(rootFS.WriteFile(htmlLayout, []byte("<%= yield %>"), 0644)) + e := NewEngine() + e.TemplatesFS = rootFS e.HTMLLayout = htmlLayout - box := e.TemplatesBox - r.NoError(box.AddString(htmlTemplate, "<%= name %>")) - r.NoError(box.AddString(htmlLayout, "<%= yield %>")) - h := e.HTML(htmlTemplate) r.Equal("text/html; charset=utf-8", h.ContentType()) bb := &bytes.Buffer{} @@ -49,14 +52,15 @@ func Test_HTML_WithLayout(t *testing.T) { func Test_HTML_WithLayout_Override(t *testing.T) { r := require.New(t) + rootFS := memfs.New() + r.NoError(rootFS.WriteFile(htmlTemplate, []byte("<%= name %>"), 0644)) + r.NoError(rootFS.WriteFile(htmlLayout, []byte("<%= yield %>"), 0644)) + r.NoError(rootFS.WriteFile(htmlAltLayout, []byte("<%= yield %>"), 0644)) + e := NewEngine() + e.TemplatesFS = rootFS e.HTMLLayout = htmlLayout - box := e.TemplatesBox - r.NoError(box.AddString(htmlTemplate, "<%= name %>")) - r.NoError(box.AddString(htmlLayout, "<%= yield %>")) - r.NoError(box.AddString(htmlAltLayout, "<%= yield %>")) - h := e.HTML(htmlTemplate, htmlAltLayout) r.Equal("text/html; charset=utf-8", h.ContentType()) bb := &bytes.Buffer{} diff --git a/render/js_test.go b/render/js_test.go index 335e0d84b..466132c7c 100644 --- a/render/js_test.go +++ b/render/js_test.go @@ -5,6 +5,7 @@ import ( "strings" "testing" + "github.com/psanford/memfs" "github.com/stretchr/testify/require" ) @@ -15,10 +16,11 @@ const jsTemplate = "my-template.js" func Test_JavaScript_WithoutLayout(t *testing.T) { r := require.New(t) - e := NewEngine() + rootFS := memfs.New() + r.NoError(rootFS.WriteFile(jsTemplate, []byte("alert(<%= name %>)"), 0644)) - box := e.TemplatesBox - r.NoError(box.AddString(jsTemplate, "alert(<%= name %>)")) + e := NewEngine() + e.TemplatesFS = rootFS h := e.JavaScript(jsTemplate) r.Equal("application/javascript", h.ContentType()) @@ -31,13 +33,14 @@ func Test_JavaScript_WithoutLayout(t *testing.T) { func Test_JavaScript_WithLayout(t *testing.T) { r := require.New(t) + rootFS := memfs.New() + r.NoError(rootFS.WriteFile(jsTemplate, []byte("alert(<%= name %>)"), 0644)) + r.NoError(rootFS.WriteFile(jsLayout, []byte("$(<%= yield %>)"), 0644)) + e := NewEngine() + e.TemplatesFS = rootFS e.JavaScriptLayout = jsLayout - box := e.TemplatesBox - r.NoError(box.AddString(jsTemplate, "alert(<%= name %>)")) - r.NoError(box.AddString(jsLayout, "$(<%= yield %>)")) - h := e.JavaScript(jsTemplate) r.Equal("application/javascript", h.ContentType()) bb := &bytes.Buffer{} @@ -49,14 +52,15 @@ func Test_JavaScript_WithLayout(t *testing.T) { func Test_JavaScript_WithLayout_Override(t *testing.T) { r := require.New(t) + rootFS := memfs.New() + r.NoError(rootFS.WriteFile(jsTemplate, []byte("alert(<%= name %>)"), 0644)) + r.NoError(rootFS.WriteFile(jsLayout, []byte("$(<%= yield %>)"), 0644)) + r.NoError(rootFS.WriteFile(jsAltLayout, []byte("_(<%= yield %>)"), 0644)) + e := NewEngine() + e.TemplatesFS = rootFS e.JavaScriptLayout = jsLayout - box := e.TemplatesBox - r.NoError(box.AddString(jsTemplate, "alert(<%= name %>)")) - r.NoError(box.AddString(jsLayout, "$(<%= yield %>)")) - r.NoError(box.AddString(jsAltLayout, "_(<%= yield %>)")) - h := e.JavaScript(jsTemplate, jsAltLayout) r.Equal("application/javascript", h.ContentType()) bb := &bytes.Buffer{} @@ -71,12 +75,12 @@ func Test_JavaScript_Partial_Without_Extension(t *testing.T) { r := require.New(t) - e := NewEngine() - - box := e.TemplatesBox - r.NoError(box.AddString(jsTemplate, tmpl)) - r.NoError(box.AddString("_part.js", part)) + rootFS := memfs.New() + r.NoError(rootFS.WriteFile(jsTemplate, []byte(tmpl), 0644)) + r.NoError(rootFS.WriteFile("_part.js", []byte(part), 0644)) + e := NewEngine() + e.TemplatesFS = rootFS h := e.JavaScript(jsTemplate) r.Equal("application/javascript", h.ContentType()) bb := &bytes.Buffer{} @@ -91,11 +95,12 @@ func Test_JavaScript_Partial(t *testing.T) { r := require.New(t) - e := NewEngine() + rootFS := memfs.New() + r.NoError(rootFS.WriteFile(jsTemplate, []byte(tmpl), 0644)) + r.NoError(rootFS.WriteFile("_part.js", []byte(part), 0644)) - box := e.TemplatesBox - r.NoError(box.AddString(jsTemplate, tmpl)) - r.NoError(box.AddString("_part.js", part)) + e := NewEngine() + e.TemplatesFS = rootFS h := e.JavaScript(jsTemplate) r.Equal("application/javascript", h.ContentType()) @@ -113,11 +118,12 @@ func Test_JavaScript_HTML_Partial(t *testing.T) { r := require.New(t) - e := NewEngine() + rootFS := memfs.New() + r.NoError(rootFS.WriteFile(jsTemplate, []byte(tmpl), 0644)) + r.NoError(rootFS.WriteFile("_part.html", []byte(part), 0644)) - box := e.TemplatesBox - r.NoError(box.AddString(jsTemplate, tmpl)) - r.NoError(box.AddString("_part.html", part)) + e := NewEngine() + e.TemplatesFS = rootFS h := e.JavaScript(jsTemplate) r.Equal("application/javascript", h.ContentType()) diff --git a/render/markdown_test.go b/render/markdown_test.go index e0afe9020..6cda51d73 100644 --- a/render/markdown_test.go +++ b/render/markdown_test.go @@ -5,6 +5,7 @@ import ( "strings" "testing" + "github.com/psanford/memfs" "github.com/stretchr/testify/require" ) @@ -13,10 +14,11 @@ const mdTemplate = "my-template.md" func Test_MD_WithoutLayout(t *testing.T) { r := require.New(t) - e := NewEngine() + rootFS := memfs.New() + r.NoError(rootFS.WriteFile(mdTemplate, []byte("<%= name %>"), 0644)) - box := e.TemplatesBox - r.NoError(box.AddString(mdTemplate, "<%= name %>")) + e := NewEngine() + e.TemplatesFS = rootFS h := e.HTML(mdTemplate) r.Equal("text/html; charset=utf-8", h.ContentType()) @@ -29,13 +31,14 @@ func Test_MD_WithoutLayout(t *testing.T) { func Test_MD_WithLayout(t *testing.T) { r := require.New(t) + rootFS := memfs.New() + r.NoError(rootFS.WriteFile(mdTemplate, []byte("<%= name %>"), 0644)) + r.NoError(rootFS.WriteFile(htmlLayout, []byte("<%= yield %>"), 0644)) + e := NewEngine() + e.TemplatesFS = rootFS e.HTMLLayout = htmlLayout - box := e.TemplatesBox - r.NoError(box.AddString(mdTemplate, "<%= name %>")) - r.NoError(box.AddString(htmlLayout, "<%= yield %>")) - h := e.HTML(mdTemplate) r.Equal("text/html; charset=utf-8", h.ContentType()) bb := &bytes.Buffer{} diff --git a/render/options.go b/render/options.go index f22a50bad..33ec71d7b 100644 --- a/render/options.go +++ b/render/options.go @@ -1,8 +1,9 @@ package render import ( + "io/fs" + "github.com/gobuffalo/helpers/hctx" - "github.com/gobuffalo/packd" ) // Helpers to be included in all templates @@ -16,11 +17,11 @@ type Options struct { // JavaScriptLayout is the default layout to be used with all JavaScript renders. JavaScriptLayout string - // TemplatesBox is the location of the templates directory on disk. - TemplatesBox packd.Box + // TemplateFS is the fs.FS that holds the templates + TemplatesFS fs.FS - // AssetsBox is the location of the public assets the app will serve. - AssetsBox packd.Box + // AssetsFS is the fs.FS that holds the of the public assets the app will serve. + AssetsFS fs.FS // Helpers to be rendered with the templates Helpers Helpers diff --git a/render/partials_test.go b/render/partials_test.go index d158ac9b2..6ea10969b 100644 --- a/render/partials_test.go +++ b/render/partials_test.go @@ -5,7 +5,7 @@ import ( "strings" "testing" - "github.com/gobuffalo/packd" + "github.com/psanford/memfs" "github.com/stretchr/testify/require" ) @@ -15,12 +15,12 @@ func Test_Template_Partial(t *testing.T) { const part = `<%= partial("foo.html") %>` const tmpl = "Foo > <%= name %>" - box := packd.NewMemoryBox() - r.NoError(box.AddString(htmlTemplate, tmpl)) - r.NoError(box.AddString("_foo.html", part)) + rootFS := memfs.New() + r.NoError(rootFS.WriteFile(htmlTemplate, []byte(tmpl), 0644)) + r.NoError(rootFS.WriteFile("_foo.html", []byte(part), 0644)) e := NewEngine() - e.TemplatesBox = box + e.TemplatesFS = rootFS bb := &bytes.Buffer{} @@ -32,12 +32,12 @@ func Test_Template_Partial(t *testing.T) { func Test_Template_PartialCustomFeeder(t *testing.T) { r := require.New(t) - box := packd.NewMemoryBox() - r.NoError(box.AddString("base.plush.html", `<%= partial("foo.plush.html") %>`)) - r.NoError(box.AddString("_foo.plush.html", "other")) + rootFS := memfs.New() + r.NoError(rootFS.WriteFile("base.plush.html", []byte(`<%= partial("foo.plush.html") %>`), 0644)) + r.NoError(rootFS.WriteFile("_foo.plush.html", []byte("other"), 0644)) e := NewEngine() - e.TemplatesBox = box + e.TemplatesFS = rootFS t.Run("Custom Feeder", func(t *testing.T) { e.Helpers["partialFeeder"] = func(path string) (string, error) { @@ -68,12 +68,12 @@ func Test_Template_Partial_WithoutExtension(t *testing.T) { const part = `<%= partial("foo") %>` const tmpl = "Foo > <%= name %>" - box := packd.NewMemoryBox() - r.NoError(box.AddString(htmlTemplate, tmpl)) - r.NoError(box.AddString("_foo.html", part)) + rootFS := memfs.New() + r.NoError(rootFS.WriteFile(htmlTemplate, []byte(tmpl), 0644)) + r.NoError(rootFS.WriteFile("_foo.html", []byte(part), 0644)) e := NewEngine() - e.TemplatesBox = box + e.TemplatesFS = rootFS bb := &bytes.Buffer{} @@ -87,14 +87,14 @@ func Test_Template_Partial_Form(t *testing.T) { const newHTML = `<%= form_for(user, {}) { return partial("form.html") } %>` const formHTML = `<%= f.InputTag("Name") %>` - const result = `
` + const result = `
` - box := packd.NewMemoryBox() - r.NoError(box.AddString("new.html", newHTML)) - r.NoError(box.AddString("_form.html", formHTML)) + rootFS := memfs.New() + r.NoError(rootFS.WriteFile("new.html", []byte(newHTML), 0644)) + r.NoError(rootFS.WriteFile("_form.html", []byte(formHTML), 0644)) e := NewEngine() - e.TemplatesBox = box + e.TemplatesFS = rootFS u := Widget{Name: "Mark"} @@ -111,12 +111,12 @@ func Test_Template_Partial_With_For(t *testing.T) { const rowHTML = `Hi <%= user.Name %>, ` const result = `Hi Mark, Hi Yonghwan,` - box := packd.NewMemoryBox() - r.NoError(box.AddString("for.html", forHTML)) - r.NoError(box.AddString("_row.html", rowHTML)) + rootFS := memfs.New() + r.NoError(rootFS.WriteFile("for.html", []byte(forHTML), 0644)) + r.NoError(rootFS.WriteFile("_row.html", []byte(rowHTML), 0644)) e := NewEngine() - e.TemplatesBox = box + e.TemplatesFS = rootFS bb := &bytes.Buffer{} @@ -139,12 +139,12 @@ func Test_Template_Partial_With_For_And_Local(t *testing.T) { const rowHTML = `<%= say %> <%= user.Name %>, ` const result = `Hi Mark, Hi Yonghwan,` - box := packd.NewMemoryBox() - r.NoError(box.AddString("for.html", forHTML)) - r.NoError(box.AddString("_row.html", rowHTML)) + rootFS := memfs.New() + r.NoError(rootFS.WriteFile("for.html", []byte(forHTML), 0644)) + r.NoError(rootFS.WriteFile("_row.html", []byte(rowHTML), 0644)) e := NewEngine() - e.TemplatesBox = box + e.TemplatesFS = rootFS bb := &bytes.Buffer{} @@ -167,12 +167,12 @@ func Test_Template_Partial_Recursive_With_Global_And_Local_Context(t *testing.T) const fooHTML = `<%= other %>|<%= name %>` const result = `Other|Mark` - box := packd.NewMemoryBox() - r.NoError(box.AddString("index.html", indexHTML)) - r.NoError(box.AddString("_foo.html", fooHTML)) + rootFS := memfs.New() + r.NoError(rootFS.WriteFile("index.html", []byte(indexHTML), 0644)) + r.NoError(rootFS.WriteFile("_foo.html", []byte(fooHTML), 0644)) e := NewEngine() - e.TemplatesBox = box + e.TemplatesFS = rootFS bb := &bytes.Buffer{} @@ -189,13 +189,13 @@ func Test_Template_Partial_With_Layout(t *testing.T) { const fooHTML = "Foo > <%= name %>" const result = `Layout > Foo > Mark` - box := packd.NewMemoryBox() - r.NoError(box.AddString("index.html", indexHTML)) - r.NoError(box.AddString("_layout.html", layoutHTML)) - r.NoError(box.AddString("_foo.html", fooHTML)) + rootFS := memfs.New() + r.NoError(rootFS.WriteFile("index.html", []byte(indexHTML), 0644)) + r.NoError(rootFS.WriteFile("_layout.html", []byte(layoutHTML), 0644)) + r.NoError(rootFS.WriteFile("_foo.html", []byte(fooHTML), 0644)) e := NewEngine() - e.TemplatesBox = box + e.TemplatesFS = rootFS bb := &bytes.Buffer{} diff --git a/render/plain_test.go b/render/plain_test.go index 825db78f4..1b224e4a8 100644 --- a/render/plain_test.go +++ b/render/plain_test.go @@ -4,18 +4,18 @@ import ( "bytes" "testing" - "github.com/gobuffalo/packd" + "github.com/psanford/memfs" "github.com/stretchr/testify/require" ) func Test_Plain(t *testing.T) { r := require.New(t) - box := packd.NewMemoryBox() - r.NoError(box.AddString("test.txt", "<%= name %>")) + rootFS := memfs.New() + r.NoError(rootFS.WriteFile("test.txt", []byte("<%= name %>"), 0644)) e := NewEngine() - e.TemplatesBox = box + e.TemplatesFS = rootFS re := e.Plain("test.txt") r.Equal("text/plain; charset=utf-8", re.ContentType()) diff --git a/render/render_test.go b/render/render_test.go index c7f8c12b6..9b2d012f1 100644 --- a/render/render_test.go +++ b/render/render_test.go @@ -1,7 +1,7 @@ package render import ( - "github.com/gobuffalo/packd" + "github.com/psanford/memfs" ) type Widget struct { @@ -14,8 +14,8 @@ func (w Widget) ToPath() string { func NewEngine() *Engine { return New(Options{ - TemplatesBox: packd.NewMemoryBox(), - AssetsBox: packd.NewMemoryBox(), + TemplatesFS: memfs.New(), + AssetsFS: memfs.New(), }) } diff --git a/render/template.go b/render/template.go index b67641d39..9e64bbe19 100644 --- a/render/template.go +++ b/render/template.go @@ -4,14 +4,13 @@ import ( "fmt" "html/template" "io" + "io/fs" "os" "path/filepath" "sort" "strings" + "sync" - "github.com/gobuffalo/buffalo/internal/takeon/github.com/gobuffalo/syncx" - "github.com/gobuffalo/buffalo/internal/takeon/github.com/markbates/errx" - "github.com/gobuffalo/packd" "github.com/sirupsen/logrus" ) @@ -19,20 +18,21 @@ type templateRenderer struct { *Engine contentType string names []string - aliases syncx.StringMap + aliases sync.Map } -func (s templateRenderer) ContentType() string { +func (s *templateRenderer) ContentType() string { return s.contentType } -func (s templateRenderer) resolve(name string) ([]byte, error) { - if s.TemplatesBox == nil { - return nil, fmt.Errorf("no templates box is defined") +func (s *templateRenderer) resolve(name string) ([]byte, error) { + if s.TemplatesFS == nil { + return nil, fmt.Errorf("no templates fs defined") } - if s.TemplatesBox.Has(name) { - return s.TemplatesBox.Find(name) + f, err := s.TemplatesFS.Open(name) + if err == nil { + return io.ReadAll(f) } v, ok := s.aliases.Load(name) @@ -40,15 +40,25 @@ func (s templateRenderer) resolve(name string) ([]byte, error) { return nil, fmt.Errorf("could not find template %s", name) } - return s.TemplatesBox.Find(v) + f, err = s.TemplatesFS.Open(v.(string)) + if err != nil { + return nil, err + } + return io.ReadAll(f) } func (s *templateRenderer) Render(w io.Writer, data Data) error { - if s.TemplatesBox != nil { - err := s.TemplatesBox.Walk(func(p string, f packd.File) error { - base := filepath.Base(p) + if s.TemplatesFS != nil { + err := fs.WalkDir(s.TemplatesFS, ".", func(path string, d fs.DirEntry, err error) error { + if err != nil { + return err + } + if d.IsDir() { + return nil + } - dir := filepath.Dir(p) + base := filepath.Base(path) + dir := filepath.Dir(path) var exts []string sep := strings.Split(base, ".") @@ -61,7 +71,7 @@ func (s *templateRenderer) Render(w io.Writer, data Data) error { for _, ext := range exts { pn := filepath.Join(dir, base+"."+ext) - s.aliases.Store(pn, p) + s.aliases.Store(pn, path) } return nil @@ -76,7 +86,7 @@ func (s *templateRenderer) Render(w io.Writer, data Data) error { for _, name := range s.names { body, err = s.exec(name, data) if err != nil { - return errx.Wrap(err, name) + return fmt.Errorf("%s: %w", name, err) } data["yield"] = body } @@ -101,7 +111,7 @@ func fixExtension(name string, ct string) string { // partialFeeder returns template string for the name from `TemplateBox`. // It should be registered as helper named `partialFeeder` so plush can // find it with the name. -func (s templateRenderer) partialFeeder(name string) (string, error) { +func (s *templateRenderer) partialFeeder(name string) (string, error) { ct := strings.ToLower(s.contentType) d, f := filepath.Split(name) @@ -112,7 +122,7 @@ func (s templateRenderer) partialFeeder(name string) (string, error) { return string(b), err } -func (s templateRenderer) exec(name string, data Data) (template.HTML, error) { +func (s *templateRenderer) exec(name string, data Data) (template.HTML, error) { ct := strings.ToLower(s.contentType) data["contentType"] = ct @@ -160,7 +170,7 @@ func (s templateRenderer) exec(name string, data Data) (template.HTML, error) { return template.HTML(body), nil } -func (s templateRenderer) localizedName(name string, data Data) string { +func (s *templateRenderer) localizedName(name string, data Data) string { templateName := name languages, ok := data["languages"].([]string) @@ -191,7 +201,7 @@ func (s templateRenderer) localizedName(name string, data Data) string { return templateName } -func (s templateRenderer) exts(name string) []string { +func (s *templateRenderer) exts(name string) []string { exts := []string{} for { ext := filepath.Ext(name) @@ -208,17 +218,17 @@ func (s templateRenderer) exts(name string) []string { return exts } -func (s templateRenderer) assetPath(file string) (string, error) { +func (s *templateRenderer) assetPath(file string) (string, error) { if len(assetMap.Keys()) == 0 || os.Getenv("GO_ENV") != "production" { - manifest, err := s.AssetsBox.FindString("manifest.json") - + manifest, err := s.AssetsFS.Open("manifest.json") if err != nil { - manifest, err = s.AssetsBox.FindString("assets/manifest.json") + manifest, err = s.AssetsFS.Open("assets/manifest.json") if err != nil { return assetPathFor(file), nil } } + defer manifest.Close() err = loadManifest(manifest) if err != nil { @@ -251,6 +261,5 @@ func (e *Engine) Template(c string, names ...string) Renderer { Engine: e, contentType: c, names: names, - aliases: syncx.StringMap{}, } } diff --git a/render/template_helpers.go b/render/template_helpers.go index b64c1b84d..4cd8d567e 100644 --- a/render/template_helpers.go +++ b/render/template_helpers.go @@ -3,6 +3,7 @@ package render import ( "encoding/json" "html/template" + "io" "path/filepath" ht "github.com/gobuffalo/helpers/tags" @@ -14,7 +15,7 @@ type helperTag struct { fn func(string, tags.Options) template.HTML } -func (s templateRenderer) addAssetsHelpers(helpers Helpers) Helpers { +func (s *templateRenderer) addAssetsHelpers(helpers Helpers) Helpers { helpers["assetPath"] = s.assetPath ah := []helperTag{ @@ -51,11 +52,10 @@ func assetPathFor(file string) string { return filepath.ToSlash(filepath.Join("/assets", filePath)) } -func loadManifest(manifest string) error { +func loadManifest(manifest io.Reader) error { m := map[string]string{} - err := json.Unmarshal([]byte(manifest), &m) - if err != nil { + if err := json.NewDecoder(manifest).Decode(&m); err != nil { return err } for k, v := range m { diff --git a/render/template_test.go b/render/template_test.go index def1d7f92..1c7f66676 100644 --- a/render/template_test.go +++ b/render/template_test.go @@ -5,15 +5,18 @@ import ( "strings" "testing" + "github.com/psanford/memfs" "github.com/stretchr/testify/require" ) func Test_Template(t *testing.T) { r := require.New(t) + rootFS := memfs.New() + r.NoError(rootFS.WriteFile(htmlTemplate, []byte("<%= name %>"), 0644)) + e := NewEngine() - box := e.TemplatesBox - r.NoError(box.AddString(htmlTemplate, `<%= name %>`)) + e.TemplatesFS = rootFS re := e.Template("foo/bar", htmlTemplate) r.Equal("foo/bar", re.ContentType()) @@ -25,12 +28,13 @@ func Test_Template(t *testing.T) { func Test_AssetPath(t *testing.T) { r := require.New(t) - e := NewEngine() - - abox := e.AssetsBox - r.NoError(abox.AddString("manifest.json", `{ + rootFS := memfs.New() + r.NoError(rootFS.WriteFile("manifest.json", []byte(`{ "application.css": "application.aabbc123.css" - }`)) + }`), 0644)) + + e := NewEngine() + e.AssetsFS = rootFS cases := map[string]string{ "something.txt": "/assets/something.txt", @@ -40,8 +44,9 @@ func Test_AssetPath(t *testing.T) { } for original, expected := range cases { - tbox := e.TemplatesBox - r.NoError(tbox.AddString(htmlTemplate, "<%= assetPath(\""+original+"\") %>")) + rootFS := memfs.New() + r.NoError(rootFS.WriteFile(htmlTemplate, []byte("<%= assetPath(\""+original+"\") %>"), 0644)) + e.TemplatesFS = rootFS re := e.Template("text/html; charset=utf-8", htmlTemplate) @@ -62,8 +67,9 @@ func Test_AssetPathNoManifest(t *testing.T) { } for original, expected := range cases { - tbox := e.TemplatesBox - r.NoError(tbox.AddString(htmlTemplate, "<%= assetPath(\""+original+"\") %>")) + rootFS := memfs.New() + r.NoError(rootFS.WriteFile(htmlTemplate, []byte("<%= assetPath(\""+original+"\") %>"), 0644)) + e.TemplatesFS = rootFS re := e.Template("text/html; charset=utf-8", htmlTemplate) @@ -76,10 +82,11 @@ func Test_AssetPathNoManifest(t *testing.T) { func Test_AssetPathNoManifestCorrupt(t *testing.T) { r := require.New(t) - e := NewEngine() + rootFS := memfs.New() + r.NoError(rootFS.WriteFile("manifest.json", []byte("//shdnn Corrupt!"), 0644)) - abox := e.AssetsBox - r.NoError(abox.AddString("manifest.json", "//shdnn Corrupt!")) + e := NewEngine() + e.AssetsFS = rootFS cases := map[string]string{ "something.txt": "manifest.json is not correct", @@ -87,8 +94,9 @@ func Test_AssetPathNoManifestCorrupt(t *testing.T) { } for original, expected := range cases { - tbox := e.TemplatesBox - r.NoError(tbox.AddString(htmlTemplate, "<%= assetPath(\""+original+"\") %>")) + rootFS := memfs.New() + r.NoError(rootFS.WriteFile(htmlTemplate, []byte("<%= assetPath(\""+original+"\") %>"), 0644)) + e.TemplatesFS = rootFS re := e.Template("text/html; charset=utf-8", htmlTemplate) diff --git a/request_test.go b/request_test.go deleted file mode 100644 index 039ae159b..000000000 --- a/request_test.go +++ /dev/null @@ -1,50 +0,0 @@ -package buffalo - -import ( - "io/ioutil" - "net/http" - "testing" - - "github.com/gobuffalo/httptest" - "github.com/stretchr/testify/require" -) - -func Test_Request_MultipleReads(t *testing.T) { - r := require.New(t) - var reads []string - - h := http.HandlerFunc(func(res http.ResponseWriter, req *http.Request) { - b, err := ioutil.ReadAll(req.Body) - r.NoError(err) - reads = append(reads, string(b)) - }) - app := New(Options{ - PreHandlers: []http.Handler{h}, - }) - - app.Use(func(next Handler) Handler { - return func(c Context) error { - b, err := ioutil.ReadAll(c.Request().Body) - if err != nil { - return err - } - reads = append(reads, string(b)) - return next(c) - } - }) - app.POST("/", func(c Context) error { - b, err := ioutil.ReadAll(c.Request().Body) - if err != nil { - return err - } - reads = append(reads, string(b)) - return nil - }) - - w := httptest.New(app) - w.JSON("/").Post(map[string]string{"foo": "foo"}) - r.Len(reads, 3) - - foo := `{"foo":"foo"}` - r.Equal([]string{foo, foo, foo}, reads) -} diff --git a/route_info.go b/route_info.go index 3309abbed..7fa122039 100644 --- a/route_info.go +++ b/route_info.go @@ -2,6 +2,7 @@ package buffalo import ( "encoding/json" + "errors" "fmt" "html/template" "net/http" @@ -106,7 +107,8 @@ func (ri RouteInfo) ServeHTTP(res http.ResponseWriter, req *http.Request) { if err != nil { status := http.StatusInternalServerError - if he, ok := err.(HTTPError); ok { + var he HTTPError + if errors.As(err, &he) { status = he.Status } events.EmitError(EvtRouteErr, err, payload) diff --git a/router_test.go b/router_test.go index b41a33893..1e3fa5254 100644 --- a/router_test.go +++ b/router_test.go @@ -4,6 +4,7 @@ import ( "fmt" "io/ioutil" "net/http" + "os" "path" "strings" "testing" @@ -11,9 +12,8 @@ import ( "github.com/gobuffalo/buffalo/render" "github.com/gobuffalo/envy" "github.com/gobuffalo/httptest" - "github.com/gobuffalo/packd" - "github.com/gobuffalo/packr/v2" "github.com/gorilla/mux" + "github.com/psanford/memfs" "github.com/stretchr/testify/require" ) @@ -333,10 +333,10 @@ func Test_Router_Redirect(t *testing.T) { func Test_Router_ServeFiles(t *testing.T) { r := require.New(t) - box := packd.NewMemoryBox() - box.AddString("foo.png", "foo") + rootFS := memfs.New() + rootFS.WriteFile("foo.png", []byte("foo"), 0644) a := New(Options{}) - a.ServeFiles("/assets", box) + a.ServeFiles("/assets", http.FS(rootFS)) w := httptest.New(a) res := w.HTML("/assets/foo.png").Get() @@ -361,10 +361,10 @@ func Test_Router_ServeFiles(t *testing.T) { func Test_Router_InvalidURL(t *testing.T) { r := require.New(t) - box := packd.NewMemoryBox() - box.AddString("foo.png", "foo") + rootFS := memfs.New() + rootFS.WriteFile("foo.png", []byte("foo"), 0644) a := New(Options{}) - a.ServeFiles("/", box) + a.ServeFiles("/", http.FS(rootFS)) w := httptest.New(a) s := "/%25%7dn2zq0%3cscript%3ealert(1)%3c\\/script%3evea7f" @@ -408,9 +408,9 @@ func Test_App_NamedRoutes(t *testing.T) { var resourcesResource Resource = ResourcesResource{} rr := render.New(render.Options{ - HTMLLayout: "application.plush.html", - TemplatesBox: packr.New("../templates", "../templates"), - Helpers: map[string]interface{}{}, + HTMLLayout: "application.plush.html", + TemplatesFS: os.DirFS("../templates"), + Helpers: map[string]interface{}{}, }) sampleHandler := func(c Context) error { @@ -470,9 +470,9 @@ func Test_App_NamedRoutes_MissingParameter(t *testing.T) { a := New(Options{}) rr := render.New(render.Options{ - HTMLLayout: "application.plush.html", - TemplatesBox: packr.New("../templates", "../templates"), - Helpers: map[string]interface{}{}, + HTMLLayout: "application.plush.html", + TemplatesFS: os.DirFS("../templates"), + Helpers: map[string]interface{}{}, }) sampleHandler := func(c Context) error { diff --git a/server.go b/server.go index 03f768780..f29d08b1e 100644 --- a/server.go +++ b/server.go @@ -2,15 +2,14 @@ package buffalo import ( "context" + "errors" "net/http" "os" "strings" "syscall" - "github.com/gobuffalo/buffalo/internal/takeon/github.com/markbates/errx" "github.com/gobuffalo/buffalo/servers" "github.com/gobuffalo/events" - "github.com/gobuffalo/packd" "github.com/markbates/refresh/refresh/web" "github.com/markbates/sigtx" ) @@ -100,7 +99,7 @@ func (a *App) Serve(srvs ...servers.Server) error { // Stop the application and attempt to gracefully shutdown func (a *App) Stop(err error) error { a.cancel() - if err != nil && errx.Unwrap(err) != context.Canceled { + if err != nil && !errors.Is(err, context.Canceled) { a.Logger.Error(err) return err } @@ -108,13 +107,6 @@ func (a *App) Stop(err error) error { } func (a *App) ServeHTTP(w http.ResponseWriter, r *http.Request) { - if r.Body != nil { - // convert the request's body to a packd.File which can be read N times - f, err := packd.NewFile("", r.Body) - if err == nil { - r.Body = f - } - } ws := &Response{ ResponseWriter: w, } From de1514d811ad9ef64e1824a9512090eddda423e5 Mon Sep 17 00:00:00 2001 From: Matthias Fasching Date: Wed, 24 Nov 2021 16:21:42 +0000 Subject: [PATCH 62/64] Fix codeclimate complaints (#2170) --- errors.go | 27 ++++++++--------- render/template.go | 72 +++++++++++++++++++++++++--------------------- 2 files changed, 51 insertions(+), 48 deletions(-) diff --git a/errors.go b/errors.go index ff291ab67..704e9914a 100644 --- a/errors.go +++ b/errors.go @@ -23,10 +23,12 @@ type HTTPError struct { Cause error `json:"error"` } +// Unwrap allows the error to be unwrapped. func (h HTTPError) Unwrap() error { return h.Cause } +// Error returns the cause of the error as string. func (h HTTPError) Error() string { return h.Cause.Error() } @@ -191,25 +193,22 @@ func defaultErrorHandler(status int, origErr error, c Context) error { origErr = cause } + errResponse := errorResponseDefault(defaultErrorResponse, &ErrorResponse{ + Error: origErr.Error(), + Trace: trace, + Code: status, + }) + switch strings.ToLower(requestCT) { case "application/json", "text/json", "json": c.Response().Header().Set("content-type", "application/json") - - err := json.NewEncoder(c.Response()).Encode(errorResponseDefault(defaultErrorResponse, &ErrorResponse{ - Error: origErr.Error(), - Trace: trace, - Code: status, - })) + err := json.NewEncoder(c.Response()).Encode(errResponse) if err != nil { return err } case "application/xml", "text/xml", "xml": c.Response().Header().Set("content-type", "text/xml") - err := xml.NewEncoder(c.Response()).Encode(errorResponseDefault(defaultErrorResponse, &ErrorResponse{ - Error: origErr.Error(), - Trace: trace, - Code: status, - })) + err := xml.NewEncoder(c.Response()).Encode(errResponse) if err != nil { return err } @@ -245,10 +244,8 @@ func defaultErrorHandler(status int, origErr error, c Context) error { return err } - res := c.Response() - _, err = res.Write([]byte(t)) - - return err + c.Response().Write([]byte(t)) + return nil } return nil } diff --git a/render/template.go b/render/template.go index 9e64bbe19..370e8d5f5 100644 --- a/render/template.go +++ b/render/template.go @@ -48,50 +48,56 @@ func (s *templateRenderer) resolve(name string) ([]byte, error) { } func (s *templateRenderer) Render(w io.Writer, data Data) error { - if s.TemplatesFS != nil { - err := fs.WalkDir(s.TemplatesFS, ".", func(path string, d fs.DirEntry, err error) error { - if err != nil { - return err - } - if d.IsDir() { - return nil - } - - base := filepath.Base(path) - dir := filepath.Dir(path) - var exts []string - sep := strings.Split(base, ".") - if len(sep) >= 1 { - base = sep[0] - } - if len(sep) > 1 { - exts = sep[1:] - } - - for _, ext := range exts { - pn := filepath.Join(dir, base+"."+ext) - s.aliases.Store(pn, path) - } - - return nil - }) - if err != nil { - return err - } + if err := s.updateAliases(); err != nil { + return err } var body template.HTML - var err error for _, name := range s.names { + var err error body, err = s.exec(name, data) if err != nil { return fmt.Errorf("%s: %w", name, err) } data["yield"] = body } - w.Write([]byte(body)) - return nil + _, err := w.Write([]byte(body)) + return err +} + +func (s *templateRenderer) updateAliases() error { + if s.TemplatesFS == nil { + return nil + } + + return fs.WalkDir(s.TemplatesFS, ".", func(path string, d fs.DirEntry, err error) error { + if err != nil { + return err + } + if d.IsDir() { + return nil + } + + base := filepath.Base(path) + dir := filepath.Dir(path) + + var exts []string + sep := strings.Split(base, ".") + if len(sep) >= 1 { + base = sep[0] + } + if len(sep) > 1 { + exts = sep[1:] + } + + for _, ext := range exts { + pn := filepath.Join(dir, base+"."+ext) + s.aliases.Store(pn, path) + } + + return nil + }) } func fixExtension(name string, ct string) string { From d8c193c13986ce48f45520a34166782548c42cba Mon Sep 17 00:00:00 2001 From: Matthias Fasching Date: Wed, 24 Nov 2021 16:33:08 +0000 Subject: [PATCH 63/64] Fix ignored error (#2172) --- errors.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/errors.go b/errors.go index 704e9914a..4bfb667d6 100644 --- a/errors.go +++ b/errors.go @@ -244,8 +244,8 @@ func defaultErrorHandler(status int, origErr error, c Context) error { return err } - c.Response().Write([]byte(t)) - return nil + _, err = c.Response().Write([]byte(t)) + return err } return nil } From f393e8a686f5e1e0d529e1708c747dce3728eae4 Mon Sep 17 00:00:00 2001 From: Antonio Pagano Date: Wed, 24 Nov 2021 14:32:14 -0500 Subject: [PATCH 64/64] task: version bump --- runtime/version.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/runtime/version.go b/runtime/version.go index b40fb10b7..2eca1b0c6 100644 --- a/runtime/version.go +++ b/runtime/version.go @@ -1,4 +1,4 @@ package runtime // Version is the current version of the buffalo binary -var Version = "v0.17.5" +var Version = "v0.18.0"