40 Commits
Author SHA1 Message Date
xuu 1b8e8ad26a chore: add favicon
Go Bump / bump (push) Successful in 37s
2023-11-09 13:47:42 -07:00
xuu f71e50fbe6 chore: fixes to paste ui 2023-11-09 11:11:22 -07:00
xuu 9a26239aa7 chore: add imgur api 2023-11-07 15:28:09 -07:00
xuu 2cbd981902 chore: remove v1
Go Bump / bump (push) Successful in 34s
Deploy / deploy (push) Failing after 48s
2023-11-05 08:45:07 -07:00
xuu e531fd9493 feat: add image
Go Bump / bump (push) Successful in 41s
Deploy / deploy (push) Failing after 1m20s
2023-11-05 08:34:14 -07:00
xuu 1d5572d8d2 chore: add license
Go Bump / bump (push) Successful in 37s
2023-10-24 08:48:10 -06:00
xuu b15878e997 chore: add go.mod for v2
Go Bump / bump (push) Successful in 48s
2023-10-22 09:14:11 -06:00
xuu b60b2f163f fix: add build asset
Go Bump / bump (push) Successful in 32s
Deploy / deploy (push) Successful in 1m30s
2023-10-19 17:16:08 -06:00
xuu b82a1e954e feat: create v2 for module support
Deploy / deploy (push) Successful in 1m21s
2023-10-19 17:07:37 -06:00
xuu 392341cf38 build: use go install
Deploy / deploy (push) Failing after 45s
2023-10-15 16:03:34 -06:00
xuu b7f4d06731 feat: add qrcode
Deploy / deploy (push) Successful in 1m36s
2023-10-14 07:55:21 -06:00
xuu b5dfb72c30 build: add gitea runner 2023-10-13 17:11:10 -06:00
xuu e27626d087 Merge branch '2019-save-changes' 2020-10-30 11:09:44 -06:00
xuu 6c01df76f5 update shorturl to use badgerhold 2020-10-30 11:08:04 -06:00
xuu db4ac49a49 saving work 2020-10-26 12:39:08 -06:00
xuu 1a88e47181 fix ranging for proofs 2020-10-22 21:28:43 -06:00
xuu c1fc005c78 updates to identity site 2020-10-22 21:17:16 -06:00
xuu 031fe1ac5e initial work on openpgp key 2020-10-17 10:32:03 -06:00
xuu df040b2004 change to index handling and initial markdown support 2020-10-01 11:30:29 -06:00
xuu 9049ab043e make shorturl persist 2020-09-07 10:45:20 -06:00
xuu b48b20f68e update assets 2020-09-04 17:28:06 -06:00
xuu 61e4b82e84 add image and artifact stores 2020-09-04 17:18:58 -06:00
xuu a55162b6b4 Merge branch 'paste' of git.dn42.dev:dn42/go-paste into paste 2020-08-31 12:36:16 -06:00
xuu 10b5ccd0c4 update UI and fixes 2020-08-31 12:35:59 -06:00
xuu b308e9fab6 fix 2020-08-29 01:55:57 +00:00
xuu f8b806f3f4 fix 2020-08-29 01:46:51 +00:00
xuu 47f908ff47 test 2020-08-29 01:32:41 +00:00
xuu 63987f8fa1 test 2020-08-29 01:30:57 +00:00
Xuu db0878bf44 Update '.drone.yml' 2020-08-29 01:27:29 +00:00
Xuu a5289500cf Update '.drone.yml' 2020-08-29 01:24:01 +00:00
xuu 220be8f732 release version 2.4.1 2020-08-28 17:23:12 -06:00
xuu 4659727d3a . 2020-08-28 17:00:52 -06:00
xuu 67c9c41a24 fix ui 2020-08-28 16:50:27 -06:00
xuu 41924fbd8b release version 2.2.0-18 2020-08-28 16:03:48 -06:00
xuu a337ad4dae release version 2.2.0-17 2020-08-28 16:02:48 -06:00
xuu 8c81e826cd release version 2.2.0-16 2020-08-28 16:02:22 -06:00
xuu e9d4869906 add shorturl 2020-08-28 16:02:12 -06:00
xuu c325d7695a Merge branch 'master' of jrb0001/go-paste into master 2018-09-17 21:29:31 +00:00
jrb0001 0dba6a7209 Make paste.sh compatible with current server 2018-09-17 21:11:12 +00:00
xuu 4cc614a703 dep 2018-07-26 07:39:30 -06:00
79 changed files with 19217 additions and 15643 deletions

No files matched your search

@@ -1,16 +1,14 @@
[Unit]
Description=sour.is paste API
Description=sour.is paste
After=syslog.target network.target
[Service]
Type=simple
ExecStart=/usr/local/bin/sour.is-paste serve
User=www-data
WorkingDirectory=/opt/sour.is/
ExecStart=/opt/sour.is/bin/paste serve
Restart=always
RestartSec=30
[Install]
WantedBy=multi-user.target
+5
View File
@@ -0,0 +1,5 @@
[lavana]
lavana.sour.is
[kapha]
kapha.sour.is
+27
View File
@@ -0,0 +1,27 @@
---
- name: Deploy EV
hosts: kapha
tasks:
- name: Copy build to remote
ansible.builtin.copy:
src: ../sour.is-paste
dest: /usr/local/bin/sour.is-paste
mode: u=rwx,g=rx,o=rx
owner: root
group: root
- name: Copy build to remote
ansible.builtin.copy:
src: sour.is-paste.service
dest: /etc/systemd/system/sour.is-paste.service
mode: u=r,g=r,o=r
owner: root
group: root
- name: Restart service
systemd:
name: sour.is-paste
enabled: true
daemon_reload: true
state: restarted
-46
View File
@@ -1,46 +0,0 @@
---
kind: pipeline
type: exec
name: default
platform:
os: linux
arch: amd64
steps:
- name: Setup
commands:
- make setup
- name: Test
commands:
- make test
trigger:
event:
- push
- pull_request
---
kind: pipeline
type: exec
name: deploy
platform:
os: linux
arch: amd64
steps:
- name: Setup
commands:
- make setup
- name: Build Release
commands:
- cd debian
- make release
- make build
- make copy
- make deploy
trigger:
event:
- promote
...
+25
View File
@@ -0,0 +1,25 @@
name: Go Bump
on:
push:
branches: [ "main", "master" ]
jobs:
bump:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
with:
fetch-depth: 0
fetch-tags: true
- name: Set up Go
uses: actions/setup-go@v3
with:
go-version: 1.21.1
- run: go install github.com/psanetra/git-semver/cli@master
- run: git tag v$(cli next --stable=false) && git push --tags || echo no change
- run: echo "🍏 This job's status is ${{ job.status }}."
+38
View File
@@ -0,0 +1,38 @@
name: Go Bump
on:
workflow_dispatch:
inputs:
NAME:
description: "A random input name for the workflow"
type: string
SOME_VALUE:
description: "Some other input to pass"
type: string
# push:
# branches: [ "main" ]
# pull_request:
# branches: [ "main" ]
jobs:
bump:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
with:
fetch-depth: 0
fetch-tags: true
- run: echo stable=${{ inputs.STABLE }} pre=${{ inputs.BETA }}
- name: Set up Go
uses: actions/setup-go@v3
with:
go-version: 1.21.1
- run: go install github.com/psanetra/git-semver/cli@master
- run: cli next --stable=false
- run: echo "🍏 This job's status is ${{ job.status }}."
+45
View File
@@ -0,0 +1,45 @@
name: Deploy
on:
# push:
# branches: [ "master" ]
release:
types: [ published ]
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- run: apt-get update && apt-get -y install ansible
- name: Set up Go
uses: actions/setup-go@v3
with:
go-version: 1.21.3
- name: Install
run: go install -ldflags "-s -w" go.sour.is/paste/cmd/paste/v2@master
- run: mv $(go env GOPATH)/bin/paste sour.is-paste
- name: Compress
uses: https://git.sour.is/actions/ghaction-upx@v2.4.0
with:
version: latest
files: |
./sour.is-paste
args: -fq
- name: Deploy
uses: https://git.sour.is/actions/action-ansible-playbook@v2
with:
playbook: ${{ gitea.workspace }}/.ansible/playbook.yml
key: ${{secrets.deploy_ssh}}
options: |
--inventory .ansible/inventory
--become
--become-method sudo
--user deploy
- run: echo "🍏 This job's status is ${{ job.status }}."
+33
View File
@@ -0,0 +1,33 @@
name: Go Test
on:
push:
branches: [ "main" ]
pull_request:
branches: [ "main" ]
jobs:
test:
runs-on: ubuntu-latest
steps:
- run: echo "🎉 The job was automatically triggered by a ${{ gitea.event_name }} event."
- run: echo "🐧 This job is now running on a ${{ runner.os }} server hosted by Gitea!"
- run: echo "🔎 The name of your branch is ${{ gitea.ref }} and your repository is ${{ gitea.repository }}."
- uses: actions/checkout@v3
- run: echo "💡 The ${{ gitea.repository }} repository has been cloned to the runner."
- run: echo "🖥️ The workflow is now ready to test your code on the runner."
- name: List files in the repository
run: |
ls ${{ gitea.workspace }}
- name: Set up Go
uses: actions/setup-go@v3
with:
go-version: 1.21.1
- name: Test
run: go test -v -race -skip '^TestE2E|TestMain' ./...
- run: echo "🍏 This job's status is ${{ job.status }}."
+1 -3
View File
@@ -1,3 +1 @@
/paste
/vendor
/public
/sour.is-paste
+11
View File
@@ -0,0 +1,11 @@
Copyright 2023 Sour.is
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS “AS IS” AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+19 -32
View File
@@ -1,48 +1,35 @@
ROUTE_ASSET=src/routes/bindata.go
DOCS_ASSET=src/docs/bindata.go
export LOG_DEBUG=1
export HTTP_LISTEN=:8085
export PASTE_STORE=data/paste/
export ARTIFACT_STORE=data/artifact/
export IMAGE_STORE=data/image/
SOURCE=$(wildcard cmd/paste/*.go) $(filter-out src/routes/bindata.go, $(wildcard src/routes/*.go))
BINARY=paste
define DUMMY_BINDATA
package docs
import "net/http"
func assetFS() (fs http.FileSystem) { return }
endef
export DUMMY_BINDATA
SOURCE=$(wildcard *.go) $(wildcard paste/*.go) $(wildcard assets/*.go)
ASSETS=$(wildcard assets/*) $(wildcard assets/public/*) $(wildcard assets/src/*) $(wildcard assets/src/paste/*)
ASSET_FILE=assets/build/index.html
BINARY=sour.is-paste
all: $(BINARY)
clean:
rm -rf $(BINARY)
setup:
go mod download
go mod vendor
cd assets; npm i
fmt:
go fmt ./...
test: $(ROUTE_ASSET) $(DOCS_ASSET)
test:
go test ./...
go vet ./...
run: $(BINARY)
./$(BINARY) -vv serve
go run .
$(BINARY): $(SOURCE) $(ROUTE_ASSET) $(DOCS_ASSET)
go build "sour.is/x/paste/cmd/paste"
build-ui: $(ROUTE_ASSET) $(DOCS_ASSET)
$(ROUTE_ASSET):
build-assets: $(ASSET_FILE)
${ASSET_FILE}: $(ASSETS)
cd assets; \
rm -rf build ../public; \
npm i; npm run build; \
cp -r build ../public
go generate "sour.is/x/paste/src/routes"
npm run build
$(DOCS_ASSET):
echo "$$DUMMY_BINDATA" > src/docs/bindata.go
go generate "sour.is/x/paste/cmd/paste"
go generate "sour.is/x/paste/src/docs"
deploy: $(SOURCE) $(ROUTE_ASSET)
cd debian && make
build: $(BINARY)
$(BINARY): $(SOURCE) $(ASSET_FILE)
go build -o $(BINARY) .
.PHONEY: all clean build deploy run setup
.PHONEY: all clean build run setup
# DO NOT DELETE
+26
View File
@@ -0,0 +1,26 @@
package main
import (
"context"
"go.sour.is/paste/v2/artifact"
"go.sour.is/pkg/env"
"go.sour.is/pkg/lg"
"go.sour.is/pkg/service"
)
var _ = apps.Register(40, func(ctx context.Context, svc *service.Harness) error {
_, span := lg.Span(ctx)
defer span.End()
store := env.Default("ARTIFACT_STORE", "data/")
a, err := artifact.New(store, -1)
if err != nil {
return err
}
svc.Add(a)
span.AddEvent("register artifact")
return nil
})
+39
View File
@@ -0,0 +1,39 @@
package main
import (
"context"
"embed"
"io/fs"
"net/http"
"go.sour.is/pkg/lg"
"go.sour.is/pkg/service"
)
var _ = apps.Register(10, func(ctx context.Context, svc *service.Harness) error {
_, span := lg.Span(ctx)
defer span.End()
svc.Add(&favicon{})
return nil
})
//go:embed favicon/*
var faviconAsset embed.FS
type favicon struct{}
func (favicon) RegisterHTTP(mux *http.ServeMux) {
dir, _ := fs.Sub(faviconAsset, "favicon")
srv := http.FileServer(http.FS(dir))
mux.Handle("/favicon.ico", srv)
mux.Handle("/favicon.txt", srv)
mux.Handle("/favicon-16x16.png", srv)
mux.Handle("/favicon-32x32.png", srv)
mux.Handle("/android-chrome-192x192.png", srv)
mux.Handle("/android-chrome-512x512.png", srv)
mux.Handle("/apple-touch-icon.png", srv)
mux.Handle("/site.webmanifest", srv)
}
+26
View File
@@ -0,0 +1,26 @@
package main
import (
"context"
"go.sour.is/paste/v2/image"
"go.sour.is/pkg/env"
"go.sour.is/pkg/lg"
"go.sour.is/pkg/service"
)
var _ = apps.Register(40, func(ctx context.Context, svc *service.Harness) error {
_, span := lg.Span(ctx)
defer span.End()
store := env.Default("IMAGE_STORE", "data/")
a, err := image.New(ctx, store, -1)
if err != nil {
return err
}
svc.Add(a)
span.AddEvent("register image")
return nil
})
+29
View File
@@ -0,0 +1,29 @@
package main
import (
"context"
"fmt"
"net/http"
"go.sour.is/pkg/lg"
"go.sour.is/pkg/service"
)
var _ = apps.Register(50, func(ctx context.Context, svc *service.Harness) error {
_, span := lg.Span(ctx)
defer span.End()
svc.Add(&info{})
return nil
})
type info struct{}
func (info) RegisterHTTP(mux *http.ServeMux) {
mux.HandleFunc("/app-info", func(w http.ResponseWriter, r *http.Request) {
name, version := service.AppName()
fmt.Fprint(w, name, version)
})
}
+131
View File
@@ -0,0 +1,131 @@
package main
import (
"context"
"crypto/rand"
"errors"
"fmt"
"log"
"net/http"
"strconv"
"strings"
"go.sour.is/pkg/env"
"go.sour.is/pkg/lg"
"go.sour.is/pkg/service"
"go.sour.is/paste/v2/assets"
"go.sour.is/paste/v2/paste"
)
var _ = apps.Register(50, func(ctx context.Context, svc *service.Harness) error {
_, span := lg.Span(ctx)
defer span.End()
store := env.Default("PASTE_STORE", "data/")
randBytes, err := strconv.ParseInt(env.Default("PASTE_RANDOM", "4096"), 10, 32)
if err != nil {
return err
}
p, err := paste.New(store)
if err != nil {
return err
}
svc.Add(&pasteSRV{
ui: http.FileServer(http.FS(assets.GetUI())),
paste: p,
randBytes: int(randBytes),
})
return nil
})
type pasteSRV struct {
ui http.Handler
paste *paste.Paste
randBytes int
}
func (a *pasteSRV) RegisterHTTP(mux *http.ServeMux) {
mux.Handle("/ui/", lg.Htrace(http.StripPrefix("/ui/", a.ui), "paste-assets"))
mux.Handle("/api", http.StripPrefix("/api", a))
mux.Handle("/api/", http.StripPrefix("/api/", a))
mux.Handle("/paste", http.StripPrefix("/paste", a))
mux.Handle("/paste/", http.StripPrefix("/paste/", a))
}
func (p *pasteSRV) ServeHTTP(w http.ResponseWriter, r *http.Request) {
switch r.Method {
case http.MethodGet:
switch {
case strings.HasPrefix(r.URL.Path, "rng"):
p.getRandom(w)
case strings.HasPrefix(r.URL.Path, "get"), r.URL.Path != "":
p.getPaste(w, strings.TrimPrefix(r.URL.Path, "get/"))
default:
http.Error(w, http.StatusText(http.StatusNotFound), http.StatusNotFound)
}
case http.MethodPost:
switch {
case r.URL.Path == "":
p.postPaste(w, r)
default:
http.Error(w, http.StatusText(http.StatusNotFound), http.StatusNotFound)
}
default:
http.Error(w, http.StatusText(http.StatusMethodNotAllowed), http.StatusMethodNotAllowed)
}
}
func (p *pasteSRV) getRandom(w http.ResponseWriter) {
log.Println("get random")
s := make([]byte, p.randBytes)
_, _ = rand.Read(s)
w.Header().Set("content-type", "application/octet-stream")
w.WriteHeader(http.StatusOK)
_, _ = w.Write(s)
}
func (p *pasteSRV) getPaste(w http.ResponseWriter, id string) {
log.Println("get paste", id)
w.Header().Set("content-type", "application/octet-stream")
err := p.paste.Get(w, id)
if err != nil {
switch {
case errors.Is(err, paste.ErrGone):
w.WriteHeader(http.StatusGone)
case errors.Is(err, paste.ErrNotFound):
w.WriteHeader(http.StatusNotFound)
case errors.Is(err, paste.ErrReadingContent):
w.WriteHeader(http.StatusInternalServerError)
}
fmt.Fprintf(w, "ERR %s", err)
return
}
}
func (p *pasteSRV) postPaste(w http.ResponseWriter, r *http.Request) {
w.Header().Set("content-type", "application/octet-stream")
id, err := p.paste.Set(r.Body)
if err != nil {
fmt.Fprintf(w, "ERR %s", err)
return
}
log.Println("post paste", id)
fmt.Fprint(w, "OK ", id)
}
+316
View File
@@ -0,0 +1,316 @@
package artifact
import (
"archive/tar"
"crypto/sha256"
"encoding/base64"
"errors"
"fmt"
"io"
"net/http"
"os"
"path/filepath"
"strconv"
"strings"
"go.sour.is/paste/src/pkg/readutil"
"golang.org/x/sys/unix"
"sour.is/x/toolbox/httpsrv"
"sour.is/x/toolbox/log"
"github.com/gomarkdown/markdown"
"github.com/gomarkdown/markdown/html"
"github.com/gomarkdown/markdown/parser"
)
// artifact stores items to disk
type artifact struct {
store string
maxSize int64
}
const DefaultMaxSize = 500 * 1024 * 1024
func New(store string, maxSize int64) (a *artifact, err error) {
a = &artifact{
store: store,
maxSize: DefaultMaxSize,
}
if maxSize > 0 {
a.maxSize = maxSize
}
if !chkStore(a.store) {
return nil, fmt.Errorf("artifact Store location [%s] does not exist or is not writable", a.store)
}
return a, nil
}
func (a *artifact) RegisterHTTP(mux *http.ServeMux) {
mux.Handle("/a", http.StripPrefix("/a", a))
mux.Handle("/a/", http.StripPrefix("/a/", a))
}
func (a *artifact) ServeHTTP(w http.ResponseWriter, r *http.Request) {
switch r.Method {
case http.MethodGet:
if r.URL.Path == "" {
a.list(w)
return
}
name := strings.TrimPrefix(r.URL.Path, "/")
name, path, _ := strings.Cut(name, "/")
a.get(w, name, path)
case http.MethodPost:
length := 0
if h := r.Header.Get("Content-Length"); h != "" {
if i, err := strconv.Atoi(h); err != nil {
length = i
}
}
id, err := a.put(r.Body, length)
switch {
case errors.Is(err, ErrGone):
w.WriteHeader(http.StatusGone)
case errors.Is(err, ErrNotFound):
w.WriteHeader(http.StatusNotFound)
case errors.Is(err, ErrReadingContent):
w.WriteHeader(http.StatusInternalServerError)
}
fmt.Fprintf(w, "OK %s", id)
default:
http.Error(w, http.StatusText(http.StatusNotFound), http.StatusNotFound)
}
}
func (a *artifact) get(w http.ResponseWriter, name string, path string) error {
hasPath := path != ""
ext := filepath.Ext(name)
id := strings.TrimSuffix(name, ext)
fname := filepath.Join(a.store, id)
if !chkFile(fname) {
return fmt.Errorf("%w: %s", ErrNotFound, fname)
}
if chkGone(fname) {
return fmt.Errorf("%w: %s", ErrGone, fname)
}
f, err := os.Open(fname)
if err != nil {
return err
}
defer f.Close()
if !hasPath {
pr := readutil.NewPreviewReader(f)
mime, err := readutil.ReadMIME(pr, name)
if err != nil {
return err
}
w.Header().Set("Content-Type", mime)
w.Header().Set("X-Content-Type-Options", "nosniff")
_, _ = io.Copy(w, pr.Drain())
return nil
}
rdr, err := readutil.Decompress(f)
if err != nil && err != readutil.ErrUnsupportedType {
return fmt.Errorf("%w: %w", ErrReadingContent, err)
}
if cl, ok := rdr.(io.ReadCloser); ok {
defer cl.Close()
}
tr := tar.NewReader(rdr)
if path == "@" {
var paths []string
for {
hdr, err := tr.Next()
if err == io.EOF {
break // End of archive
}
if err != nil {
log.Error(err)
}
paths = append(paths, hdr.Name)
}
httpsrv.WriteObject(w, http.StatusOK, paths)
return nil
}
for {
hdr, err := tr.Next()
if err == io.EOF {
break // End of archive
}
if err != nil {
log.Error(err)
break
}
if path == "~" && hdr.Name == "index.html" {
path = hdr.Name
}
if path == "~" && hdr.Name == "index.md" {
path = hdr.Name
}
if hdr.Name == path {
if strings.HasSuffix(hdr.Name, ".md") {
md, err := io.ReadAll(tr)
if err != nil {
return fmt.Errorf("%w: %w", ErrReadingContent, err)
}
w.Header().Set("Content-Type", "text/html")
extensions := parser.CommonExtensions | parser.AutoHeadingIDs
p := parser.NewWithExtensions(extensions)
htmlFlags := html.CommonFlags | html.HrefTargetBlank
opts := html.RendererOptions{Flags: htmlFlags}
renderer := html.NewRenderer(opts)
b := markdown.ToHTML(md, p, renderer)
_, _ = w.Write(b)
return nil
}
pr := readutil.NewPreviewReader(tr)
mime, err := readutil.ReadMIME(pr, hdr.Name)
if err != nil {
return fmt.Errorf("%w: %w", ErrReadingContent, err)
}
w.Header().Set("Content-Type", mime)
if _, err := io.Copy(w, pr.Drain()); err != nil {
log.Error(err)
}
return nil
}
}
http.Error(w, "Not Found in Archive", http.StatusNotFound)
return ErrNotFound
}
func (a *artifact) put(r io.ReadCloser, length int) (string, error) {
defer r.Close()
if length > 0 {
if int64(length) > a.maxSize {
return "", ErrSizeTooLarge
}
}
rdr := io.LimitReader(r, a.maxSize)
pr := readutil.NewPreviewReader(rdr)
rdr = pr.Drain()
s256 := sha256.New()
tmp, err := os.CreateTemp(a.store, "arch-")
if err != nil {
return "", fmt.Errorf("%w: %w", ErrBadInput, err)
}
defer os.Remove(tmp.Name())
m := io.MultiWriter(s256, tmp)
if _, err := io.Copy(m, rdr); err != nil {
return "", fmt.Errorf("%w: %w", ErrBadInput, err)
}
tmp.Close()
id := base64.RawURLEncoding.EncodeToString(s256.Sum(nil)[12:])
fname := filepath.Join(a.store, id)
// log.Debugs("Artifact: moving file", "src", tmp.Name(), "dst", fname)
_ = os.Rename(tmp.Name(), fname)
return id, nil
}
func (a *artifact) list(w io.Writer) error {
return filepath.Walk(a.store, func(path string, info os.FileInfo, err error) error {
if err != nil {
return err
}
if info.IsDir() {
return nil
}
_, err = fmt.Fprintln(w, "FILE: ", info.Name())
return err
})
}
func chkStore(path string) bool {
file, err := os.Stat(path)
if err != nil && os.IsNotExist(err) {
err = os.MkdirAll(path, 0744)
if err != nil {
return false
}
file, err = os.Stat(path)
}
if err != nil {
return false
}
if !file.IsDir() {
return false
}
if unix.Access(path, unix.W_OK&unix.R_OK) != nil {
return false
}
return true
}
func chkFile(path string) bool {
file, err := os.Stat(path)
if err != nil {
return false
}
if file.IsDir() {
return false
}
if unix.Access(path, unix.W_OK&unix.R_OK) != nil {
return false
}
return true
}
func chkGone(path string) bool {
file, err := os.Stat(path)
if err != nil {
return true
}
if file.Size() == 0 {
return true
}
return false
}
var (
ErrNotFound = errors.New("not found")
ErrGone = errors.New("gone")
ErrReadingContent = errors.New("reading content")
ErrSizeTooLarge = errors.New("size too large")
ErrBadInput = errors.New("bad input")
)
-3
View File
@@ -6,9 +6,6 @@
# testing
/coverage
# production
/build
# misc
.DS_Store
.env.local
+19
View File
@@ -0,0 +1,19 @@
package assets
import (
"embed"
"fmt"
"io/fs"
)
//go:embed build/*
var ui embed.FS
func GetUI() fs.FS {
dir, err := fs.Sub(ui, "build")
if err != nil {
fmt.Println(err)
panic(err)
}
return dir
}
+13
View File
@@ -0,0 +1,13 @@
{
"files": {
"main.css": "/ui/static/css/main.d4025777.css",
"main.js": "/ui/static/js/main.939bead5.js",
"index.html": "/ui/index.html",
"main.d4025777.css.map": "/ui/static/css/main.d4025777.css.map",
"main.939bead5.js.map": "/ui/static/js/main.939bead5.js.map"
},
"entrypoints": [
"static/css/main.d4025777.css",
"static/js/main.939bead5.js"
]
}
File renamed without changes.

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 1.4 KiB

+1
View File
@@ -0,0 +1 @@
<!doctype html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1,shrink-to-fit=no"><meta name="theme-color" content="#000000"><link rel="manifest" href="/ui/manifest.json"><link rel="shortcut icon" href="/ui/favicon.ico"><title>DN42 Paste</title><script defer="defer" src="/ui/static/js/main.939bead5.js"></script><link href="/ui/static/css/main.d4025777.css" rel="stylesheet"></head><body><noscript>You need to enable JavaScript to run this app.</noscript><div id="root"></div></body></html>
+15
View File
@@ -0,0 +1,15 @@
{
"short_name": "DN42 Paste",
"name": "Paste tool for DN42",
"icons": [
{
"src": "favicon.ico",
"sizes": "64x64 32x32 24x24 16x16",
"type": "image/x-icon"
}
],
"start_url": "/ui/index.html",
"display": "standalone",
"theme_color": "#000000",
"background_color": "#000000"
}
File renamed without changes.
@@ -0,0 +1,2 @@
body{font-family:sans-serif;margin:0;padding:0}body,html{background-color:#272b30!important;color:#000!important}header+section{padding-bottom:2.1em;padding-top:52px}footer{background-color:#3e444c;border-top:1px solid #bbb;bottom:0;height:2em;padding:4px;position:fixed;width:100%}footer span.left{float:left}footer span.right{float:right}.breadcrumb label,pre{color:#000}.sidebar .list-group{font-size:75%}.sidebar .list-group-item{background:#111;border:0;color:#62c462;padding:2px}.main,.sidebar .list-group-item{font-family:Hack,monospace}.sidebar a.list-group-item.active,.sidebar li.list-group-item.active{background-color:#62c462;color:#111}@media (min-width:768px){.hide-sm{display:none!important}.sidebar{left:0;width:24vw}.main,.sidebar{bottom:30px;overflow:auto;position:fixed;top:52px}.main{left:25vw;right:0}}@media (min-width:992px){.sidebar{left:0;width:24vw}.main,.sidebar{bottom:30px;overflow:auto;position:fixed;top:52px}.main{left:25vw;right:0}}section.container{margin-bottom:2em}code,pre,textarea{font-family:Fira Code,hack,Anonymous Pro,monospace}pre.grey{background-color:#d3d3d3}label{color:#d3d3d3}table a:link{color:#666}table a:link,table a:visited{font-weight:700;text-decoration:none}table a:visited{color:#999}table a:active,table a:hover{color:#bd5a35;text-decoration:underline}table{background:#eaebec;border:1px solid #ccc;border-radius:3px;box-shadow:0 1px 2px #d1d1d1;color:#666;font-family:Arial,Helvetica,sans-serif;font-size:12px;margin:20px;text-shadow:1px 1px 0 #fff}table th{background:#ededed;background:-moz-linear-gradient(top,#ededed,#ebebeb);border-bottom:1px solid #e0e0e0;border-top:1px solid #fafafa;padding:21px 25px 22px}table th:first-child{padding-left:20px;text-align:left}table tr:first-child th:first-child{border-top-left-radius:3px}table tr:first-child th:last-child{border-top-right-radius:3px}table tr{padding-left:20px;text-align:center}table td:first-child{border-left:0;padding-left:20px;text-align:left}table td{background:#fafafa;background:-moz-linear-gradient(top,#fbfbfb,#fafafa);border-bottom:1px solid #e0e0e0;border-left:1px solid #e0e0e0;border-top:1px solid #fff;padding:18px}table tr.even td{background:#f6f6f6;background:-moz-linear-gradient(top,#f8f8f8,#f6f6f6)}table tr:last-child td{border-bottom:0}table tr:last-child td:first-child{border-bottom-left-radius:3px}table tr:last-child td:last-child{border-bottom-right-radius:3px}table tr:hover td{background:#f2f2f2;background:-moz-linear-gradient(top,#f2f2f2,#f0f0f0)}.hljs{background:#f8f8f8;color:#333;display:block;overflow-x:auto;padding:.5em}.hljs-comment,.hljs-quote{color:#998;font-style:italic}.hljs-keyword,.hljs-selector-tag,.hljs-subst{color:#333;font-weight:700}.hljs-literal,.hljs-number,.hljs-tag .hljs-attr,.hljs-template-variable,.hljs-variable{color:teal}.hljs-doctag,.hljs-string{color:#d14}.hljs-section,.hljs-selector-id,.hljs-title{color:#900;font-weight:700}.hljs-subst{font-weight:400}.hljs-class .hljs-title,.hljs-type{color:#458;font-weight:700}.hljs-attribute,.hljs-name,.hljs-tag{color:navy;font-weight:400}.hljs-link,.hljs-regexp{color:#009926}.hljs-bullet,.hljs-symbol{color:#990073}.hljs-built_in,.hljs-builtin-name{color:#0086b3}.hljs-meta{color:#999;font-weight:700}.hljs-deletion{background:#fdd}.hljs-addition{background:#dfd}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700}
/*# sourceMappingURL=main.d4025777.css.map*/
@@ -0,0 +1 @@
{"version":3,"file":"static/css/main.d4025777.css","mappings":"AAAA,KAGE,sBAAuB,CAFvB,QAAS,CACT,SAEF,CCJA,UAAoC,kCAAoC,CAA7D,oBAA+D,CAC1E,eAAuC,oBAAoB,CAAvC,gBAAyC,CAC7D,OAAS,wBAAyB,CAAsD,yBAA0B,CAA9D,QAAQ,CAAe,UAAW,CAA8B,WAAW,CAA3F,cAAc,CAAY,UAAmE,CACjI,iBAAmB,UAAa,CAChC,kBAAoB,WAAc,CAElC,sBAAoB,UAAc,CAElC,qBACI,aACJ,CAEA,0BAEI,eAAe,CAEf,QAAQ,CADR,aAAc,CAFd,WAKJ,CAEA,gCAHI,0BAKJ,CAEA,qEAEI,wBAAyB,CADzB,UAEJ,CAEA,yBACI,SAAW,sBAA0B,CAIrC,SAII,MAAO,CACP,UAEJ,CACA,eALI,WAAY,CAGZ,aAAc,CALd,cAAc,CACd,QAaJ,CAPA,MAII,SAAU,CACV,OAEJ,CAlBJ,CAqBA,yBACI,SAII,MAAO,CACP,UAEJ,CACA,eALI,WAAY,CAGZ,aAAc,CALd,cAAc,CACd,QAaJ,CAPA,MAII,SAAU,CACV,OAEJ,CACJ,CCrEA,kBAAoB,iBAAoB,CAGxC,kBAAO,kDAAyD,CAChE,SAAW,wBAA6B,CAExC,MAAQ,aAAkB,CAE1B,aACC,UAGD,CACA,6BAHC,eAAiB,CACjB,oBAMD,CAJA,gBACC,UAGD,CACA,6BAEC,aAAc,CACd,yBACD,CACA,MAKC,kBAAkB,CAElB,qBAAqB,CAIrB,iBAAiB,CAIjB,4BAA6B,CAb7B,UAAU,CADV,sCAAwC,CAExC,cAAc,CAGd,WAAW,CAFX,0BAYD,CACA,SAKC,kBAAmB,CAEnB,oDAAyD,CAJzD,+BAA+B,CAD/B,4BAA4B,CAD5B,sBAOD,CACA,qBAEC,iBAAiB,CADjB,eAED,CACA,oCAGC,0BACD,CACA,mCAGC,2BACD,CACA,SAEC,iBAAiB,CADjB,iBAED,CACA,qBAGC,aAAc,CADd,iBAAiB,CADjB,eAGD,CACA,SAMC,kBAAmB,CAEnB,oDAAyD,CALzD,+BAA+B,CAC/B,6BAA8B,CAF9B,yBAA6B,CAD7B,YAQD,CACA,iBACC,kBAAmB,CAEnB,oDACD,CACA,uBACC,eACD,CACA,mCAGC,6BACD,CACA,kCAGC,8BACD,CACA,kBACC,kBAAmB,CAEnB,oDACD,CClGA,MAKE,kBAAmB,CADnB,UAAW,CAHX,aAAc,CACd,eAAgB,CAChB,YAGF,CAEA,0BAEE,UAAW,CACX,iBACF,CAEA,6CAGE,UAAW,CACX,eACF,CAEA,uFAKE,UACF,CAEA,0BAEE,UACF,CAEA,4CAGE,UAAW,CACX,eACF,CAEA,YACE,eACF,CAEA,mCAEE,UAAW,CACX,eACF,CAEA,qCAGE,UAAc,CACd,eACF,CAEA,wBAEE,aACF,CAEA,0BAEE,aACF,CAEA,kCAEE,aACF,CAEA,WACE,UAAW,CACX,eACF,CAEA,eACE,eACF,CAEA,eACE,eACF,CAEA,eACE,iBACF,CAEA,aACE,eACF","sources":["index.css","paste/Framework.css","paste/paste.css","../node_modules/highlight.js/styles/github.css"],"sourcesContent":["body {\n margin: 0;\n padding: 0;\n font-family: sans-serif;\n}\n","body,html {color: black !important; background-color: #272b30 !important; }\nheader + section { padding-top: 52px; padding-bottom: 2.1em }\nfooter { background-color: #3e444c; position:fixed; bottom:0; width: 100%; height: 2em; border-top: 1px solid #bbb; padding: 4px }\nfooter span.left { float: left; }\nfooter span.right { float: right; }\npre { color: black}\n.breadcrumb label { color: black; }\n\n.sidebar .list-group {\n font-size: 75%;\n}\n\n.sidebar .list-group-item {\n padding: 2px;\n background:#111;\n color: #62c462;\n border:0;\n font-family: Hack, monospace\n}\n\n.main {\n font-family: Hack, monospace;\n}\n\n.sidebar li.list-group-item.active,.sidebar a.list-group-item.active {\n color: #111;\n background-color: #62c462;\n}\n\n@media (min-width: 768px) {\n .hide-sm { display: none !important; }\n}\n\n@media (min-width: 768px) {\n .sidebar {\n position:fixed;\n top: 52px;\n bottom: 30px;\n left: 0;\n width: 24vw;\n overflow: auto;\n }\n .main {\n position: fixed;\n top: 52px;\n bottom: 30px;\n left: 25vw;\n right: 0;\n overflow: auto;\n }\n}\n\n@media (min-width: 992px) {\n .sidebar {\n position:fixed;\n top: 52px;\n bottom: 30px;\n left: 0;\n width: 24vw;\n overflow: auto;\n }\n .main {\n position: fixed;\n top: 52px;\n bottom: 30px;\n left: 25vw;\n right: 0;\n overflow: auto;\n }\n}\n","section.container { margin-bottom: 2em; }\ntextarea { font-family: \"Fira Code\",hack,\"Anonymous Pro\",monospace; }\npre { font-family: \"Fira Code\",hack,\"Anonymous Pro\",monospace; }\ncode { font-family: \"Fira Code\",hack,\"Anonymous Pro\",monospace; }\npre.grey { background-color: lightgrey; }\n\nlabel { color: lightgrey; }\n\ntable a:link {\n\tcolor: #666;\n\tfont-weight: bold;\n\ttext-decoration:none;\n}\ntable a:visited {\n\tcolor: #999999;\n\tfont-weight:bold;\n\ttext-decoration:none;\n}\ntable a:active,\ntable a:hover {\n\tcolor: #bd5a35;\n\ttext-decoration:underline;\n}\ntable {\n\tfont-family:Arial, Helvetica, sans-serif;\n\tcolor:#666;\n\tfont-size:12px;\n\ttext-shadow: 1px 1px 0px #fff;\n\tbackground:#eaebec;\n\tmargin:20px;\n\tborder:#ccc 1px solid;\n\n\t-moz-border-radius:3px;\n\t-webkit-border-radius:3px;\n\tborder-radius:3px;\n\n\t-moz-box-shadow: 0 1px 2px #d1d1d1;\n\t-webkit-box-shadow: 0 1px 2px #d1d1d1;\n\tbox-shadow: 0 1px 2px #d1d1d1;\n}\ntable th {\n\tpadding:21px 25px 22px 25px;\n\tborder-top:1px solid #fafafa;\n\tborder-bottom:1px solid #e0e0e0;\n\n\tbackground: #ededed;\n\tbackground: -webkit-gradient(linear, left top, left bottom, from(#ededed), to(#ebebeb));\n\tbackground: -moz-linear-gradient(top, #ededed, #ebebeb);\n}\ntable th:first-child {\n\ttext-align: left;\n\tpadding-left:20px;\n}\ntable tr:first-child th:first-child {\n\t-moz-border-radius-topleft:3px;\n\t-webkit-border-top-left-radius:3px;\n\tborder-top-left-radius:3px;\n}\ntable tr:first-child th:last-child {\n\t-moz-border-radius-topright:3px;\n\t-webkiLine truncated
+3
View File
@@ -0,0 +1,3 @@
/*! For license information please see main.939bead5.js.LICENSE.txt */
!function(){var e={4660:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r,o=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},a=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=n(2791),s=(r=i)&&r.__esModule?r:{default:r},l=n(9451),c=n(6795),u=n(5351);var d=function(e){function t(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!==typeof t&&"function"!==typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),a(t,[{key:"render",value:function(){var e=l.JS.lessProps(this.props,"role");return s.default.createElement(u.BDiv,o({role:"alert"},e),this.props.children)}}]),t}(i.Component);t.default=(0,c.stack)(d,[(0,c.withClassName)("alert"),(0,c.withPurpose)("alert")])},8456:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r,o=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},a=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=n(2791),s=(r=i)&&r.__esModule?r:{default:r},l=n(9451),c=n(6795),u=n(5351);var d=function(e){function t(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!==typeof t&&"function"!==typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),a(t,[{key:"render",value:function(){var e=this.props.pill,t=(0,c.mergeClassName)(this.props,e?"badge-pill":""),n=l.JS.lessProps(this.props,["className","pill"]);return s.default.createElement(u.BSpan,o({},n,{className:t}),this.props.children)}}]),t}(i.Component);t.default=(0,c.stack)(d,[(0,c.withClassName)("badge"),(0,c.withPurpose)("badge")])},8284:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r,o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(2791),i=(r=a)&&r.__esModule?r:{default:r},s=n(6795),l=n(5351);function c(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function u(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!==typeof t&&"function"!==typeof t?e:t}function d(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var p=function(e){function t(){return c(this,t),u(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return d(t,e),o(t,[{key:"render",value:function(){return i.default.createElement(l.BBlockquote,this.props,this.props.children)}}]),t}(a.Component),f=function(e){function t(){return c(this,t),u(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return d(t,e),o(t,[{key:"render",value:function(){return i.default.createElement(l.BFooter,this.props,this.props.children)}}]),t}(a.Component),m=(0,s.withClassName)("blockquote")(p),_=(0,s.withClassName)("blockquote-footer")(f);m.Footer=_,t.default=m},1:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r,o=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,Line truncated
//# sourceMappingURL=main.939bead5.js.map
@@ -0,0 +1,57 @@
/*!
* Bootstrap v4.1.3 (https://getbootstrap.com/)
* Copyright 2011-2018 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
*/
/*! jQuery v3.3.1 -ajax,-ajax/jsonp,-ajax/load,-ajax/parseXML,-ajax/script,-ajax/var/location,-ajax/var/nonce,-ajax/var/rquery,-ajax/xhr,-manipulation/_evalUrl,-event/ajax,-effects,-effects/Tween,-effects/animatedSelector | (c) JS Foundation and other contributors | jquery.org/license */
/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */
/**
* @license React
* react-dom.production.min.js
*
* Copyright (c) Facebook, Inc. and its affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
/**
* @license React
* react-jsx-runtime.production.min.js
*
* Copyright (c) Facebook, Inc. and its affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
/**
* @license React
* react.production.min.js
*
* Copyright (c) Facebook, Inc. and its affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
/**
* @license React
* scheduler.production.min.js
*
* Copyright (c) Facebook, Inc. and its affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
/** @preserve
(c) 2012 by Cédric Mesnil. All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
- Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
- Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
@@ -0,0 +1 @@
{"version":3,"file":"static/js/main.939bead5.js","mappings":";qDAEAA,OAAOC,eAAeC,EAAS,aAAc,CAC3CC,OAAO,IAGT,IAcgCC,EAd5BC,EAAWL,OAAOM,QAAU,SAAUC,GAAU,IAAK,IAAIC,EAAI,EAAGA,EAAIC,UAAUC,OAAQF,IAAK,CAAE,IAAIG,EAASF,UAAUD,GAAI,IAAK,IAAII,KAAOD,EAAcX,OAAOa,UAAUC,eAAeC,KAAKJ,EAAQC,KAAQL,EAAOK,GAAOD,EAAOC,GAAU,CAAE,OAAOL,CAAQ,EAE3PS,EAAe,WAAc,SAASC,EAAiBV,EAAQW,GAAS,IAAK,IAAIV,EAAI,EAAGA,EAAIU,EAAMR,OAAQF,IAAK,CAAE,IAAIW,EAAaD,EAAMV,GAAIW,EAAWC,WAAaD,EAAWC,aAAc,EAAOD,EAAWE,cAAe,EAAU,UAAWF,IAAYA,EAAWG,UAAW,GAAMtB,OAAOC,eAAeM,EAAQY,EAAWP,IAAKO,EAAa,CAAE,CAAE,OAAO,SAAUI,EAAaC,EAAYC,GAAiJ,OAA9HD,GAAYP,EAAiBM,EAAYV,UAAWW,GAAiBC,GAAaR,EAAiBM,EAAaE,GAAqBF,CAAa,CAAG,CAA7hB,GAEfG,EAASC,EAAQ,MAEjBC,GAQ4BxB,EARKsB,IAQgBtB,EAAIyB,WAAazB,EAAM,CAAE0B,QAAS1B,GANnF2B,EAAQJ,EAAQ,MAEhBK,EAAaL,EAAQ,MAErBM,EAAON,EAAQ,MAUnB,IAAIO,EAAQ,SAAUC,GAGpB,SAASD,IAGP,OAZJ,SAAyBE,EAAUb,GAAe,KAAMa,aAAoBb,GAAgB,MAAM,IAAIc,UAAU,oCAAwC,CAUpJC,CAAgBC,KAAML,GAR1B,SAAoCM,EAAMzB,GAAQ,IAAKyB,EAAQ,MAAM,IAAIC,eAAe,6DAAgE,OAAO1B,GAAyB,kBAATA,GAAqC,oBAATA,EAA8ByB,EAAPzB,CAAa,CAUpO2B,CAA2BH,MAAOL,EAAMS,WAAa3C,OAAO4C,eAAeV,IAAQW,MAAMN,KAAM9B,WACxG,CAeA,OAxBF,SAAmBqC,EAAUC,GAAc,GAA0B,oBAAfA,GAA4C,OAAfA,EAAuB,MAAM,IAAIV,UAAU,kEAAoEU,GAAeD,EAASjC,UAAYb,OAAOgD,OAAOD,GAAcA,EAAWlC,UAAW,CAAEoC,YAAa,CAAE9C,MAAO2C,EAAU1B,YAAY,EAAOE,UAAU,EAAMD,cAAc,KAAe0B,IAAY/C,OAAOkD,eAAiBlD,OAAOkD,eAAeJ,EAAUC,GAAcD,EAASH,UAAYI,EAAY,CAG3eI,CAAUjB,EAAOC,GAQjBnB,EAAakB,EAAO,CAAC,CACnBtB,IAAK,SACLT,MAAO,WACL,IAAIiD,EAAIrB,EAAMsB,GAAGC,UAAUf,KAAKrB,MAAO,QAEvC,OAAOU,EAAQE,QAAQyB,cACrBtB,EAAKuB,KACLnD,EAAS,CAAEoD,KAAM,SAAWL,GAC5Bb,KAAKrB,MAAMwC,SAEf,KAGKxB,CACT,CAvBY,CAuBVR,EAAOiC,WAETzD,EAAAA,SAAkB,EAAI8B,EAAW4B,OAAO1B,EAAO,EAAC,EAAIF,EAAW6B,eAAe,UAAU,EAAI7B,EAAW8B,aAAa,8CCnDpH9D,OAAOC,eAAeC,EAAS,aAAc,CAC3CC,OAAO,IAGT,IAcgCC,EAd5BC,EAAWL,OAAOM,QAAU,SAAUC,GAAU,IAAK,IAAIC,EAAI,EAAGA,EAAIC,UAAUC,OAAQF,IAAK,CAAE,IAAIG,EAASF,UAAUD,GAAI,IAAK,IAAII,KAAOD,EAAcX,OAAOa,UAAUC,eAAeC,KAAKJ,EAAQC,KAAQL,EAAOK,GAAOD,EAAOC,GAAU,CAAE,OAAOL,CAAQ,EAE3PS,EAAe,WAAc,SAASC,EAAiBV,EAAQW,GAAS,IAAK,IAAIV,EAAI,EAAGA,EAAIU,EAAMR,OAAQF,IAAK,CAAE,IAAIW,EAAaD,EAAMV,GAAIW,EAAWC,WAAaD,EAAWC,aAAc,EAAOD,EAAWE,cAAe,EAAU,UAAWF,IAAYA,EAAWG,UAAW,GAAMtB,OAAOC,eAAeM,EAAQY,EAAWP,IAAKO,EAAa,CAAE,CAAE,OAAO,SAAUI,EAAaC,EAAYC,GAAiJ,OAA9HD,GAAYP,EAAiBM,EAAYV,UAAWW,GAAiBC,GAAaR,EAAiBM,EAAaE,GAAqBF,CAAa,CAAG,CAA7hB,GAEfG,EAASC,EAAQ,MAEjBC,GAQ4BxB,EARKsB,IAQgBtB,EAAIyB,WAAazB,EAAM,CAAE0B,QAAS1B,GANnF2B,EAAQJ,EAAQ,MAEhBK,EAAaL,EAAQ,MAErBM,EAAON,EAAQ,MAUnB,IAAIoC,EAAQ,SAAU5B,GAGpB,SAAS4B,IAGP,OAZJ,SAAyB3B,EAAUb,GAAe,KAAMa,aAAoBb,GAAgB,MAAM,IAAIc,UAAU,oCAAwC,CAUpJC,CAAgBC,KAAMwB,GAR1B,SAAoCvB,EAAMzB,GAAQ,IAAKyB,EAAQ,MAAM,IAAIC,eAAe,6DAAgE,OAAO1B,GAAyB,kBAATA,GAAqC,oBAATA,EAA8ByB,EAAPzB,CAAa,CAUpO2B,CAA2BH,MAAOwB,EAAMpB,WAAa3C,OAAO4C,eAAemB,IAAQlB,MAAMN,KAAM9B,WACxG,CAkBA,OA3BF,SAAmBqC,EAAUC,GAAc,GAA0B,oBAAfA,GAA4C,OAAfA,EAAuB,MAAM,IAAIV,UAAU,kEAAoEU,GAAeD,EAASjC,UAAYb,OAAOgD,OAAOD,GAAcA,EAAWlC,UAAW,CAAEoC,YAAa,CAAE9C,MAAO2C,EAAU1B,YAAY,EAAOE,UAAU,EAAMD,cAAc,KAAe0B,IAAY/C,OAAOkD,eAAiBlD,OAAOkD,eAAeJ,EAAUC,GAAcD,EAASH,UAAYI,EAAY,CAG3eI,CAAUY,EAAO5B,GAQjBnB,EAAa+C,EAAO,CAAC,CACnBnD,IAAK,SACLT,MAAO,WACL,IAAI6D,EAAOzB,KAAKrB,MAAM8C,KAElBC,GAAK,EAAIjC,EAAWkC,gBAAgB3B,KAAKrB,MAAO8C,EAAO,aAAe,IACtEZ,EAAIrB,EAAMsB,GAAGC,UAAUf,KAAKrB,MAAO,CAAC,YAAa,SAErD,OAAOU,EAAQE,QAAQyB,cACrBtB,EAAKkC,MACL9D,EAAS,CAAC,EAAG+C,EAAG,CAAEgB,UAAWH,IAC7B1B,KAAKrB,MAAMwC,SAEf,KAGKK,CACT,CA1BY,CA0BVrC,EAAOiC,WAETzD,EAAAA,SAAkB,EAAI8B,EAAW4B,OAAOG,EAAO,EAAC,EAAI/B,EAAW6B,eAAe,UAAU,EAAI7B,EAAW8B,aAAa,8CCtDpH9D,OAAOC,eAAeC,EAAS,aAAc,CAC3CC,OAAO,IAGT,IAUgCC,EAV5BY,EAAe,WAAc,SAASC,EAAiBV,EAAQW,GAAS,IAAK,IAAIV,EAAI,EAAGA,EAAIU,EAAMR,OAAQF,IAAK,CAAE,IAAIW,EAAaD,EAAMV,GAAIW,EAAWC,WAAaD,EAAWC,aAAc,EAAOD,EAAWE,cAAe,EAAU,UAAWF,IAAYA,EAAWG,UAAW,GAAMtB,OAAOC,eAAeM,EAAQY,EAAWP,IAAKO,EAAa,CAAE,CAAE,OAAO,SAAUI,EAAaC,EAAYC,GAAiJ,OAA9HD,GAAYP,EAAiBM,EAAYV,UAAWW,GAAiBC,GAAaR,EAAiBM,EAAaE,GAAqBF,CAAa,CAAG,CAA7hB,GAEfG,EAASC,EAAQ,MAEjBC,GAM4BxB,EANKsB,IAMgBtB,EAAIyB,WAAazB,EAAM,CAAE0B,QAAS1B,GAJnF4B,EAAaL,EAAQ,MAErBM,EAAON,EAAQ,MAInB,SAASW,EAAgBF,EAAUb,GAAe,KAAMa,aAAoBb,GAAgB,MAAM,IAAIc,UAAU,oCAAwC,CAExJ,SAASK,EAA2BF,EAAMzB,GAAQ,IAAKyB,EAAQ,MAAM,IAAIC,eAAe,6DAAgE,OAAO1B,GAAyB,kBAATA,GAAqC,oBAATA,EAA8ByB,EAAPzB,CAAa,CAE/O,SAASoC,EAAUL,EAAUC,GAAc,GAA0B,oBAAfA,GAA4C,OAAfA,EAAuB,MAAM,IAAIV,UAAU,kEAAoEU,GAAeD,EAASjC,UAAYb,OAAOgD,OAAOD,GAAcA,EAAWlC,UAAW,CAAEoC,YAAa,CAAE9C,MAAO2C,EAAU1B,YAAY,EAAOE,UAAU,EAAMD,cAAc,KAAe0B,IAAY/C,OAAOkD,eAAiBlD,OAAOkD,eAAeJ,EAAUC,GAAcD,EAASH,UAAYI,EAAY,CAE7e,IAAIsB,EAAc,SAAUlC,GAG1B,SAASkC,IAGP,OAFA/B,EAAgBC,KAAM8B,GAEf3B,EAA2BH,MAAO8B,EAAY1B,WAAa3C,OAAO4C,eAAeyB,IAAcxB,MAAMN,KAAM9B,WACpH,CAaA,OAnBA0C,EAAUkB,EAAalC,GAQvBnB,EAAaqD,EAAa,CAAC,CACzBzD,IAAK,SACLT,MAAO,WACL,OAAOyB,EAAQE,QAAQyB,cACrBtB,EAAKqC,YACL/B,KAAKrB,MACLqB,KAAKrB,MAAMwC,SAEf,KAGKW,CACT,CArBkB,CAqBhB3C,EAAOiC,WAELY,EAAoB,SAAUC,GAGhC,SAASD,IAGP,OAFAjC,EAAgBC,KAAMgC,GAEf7B,EAA2BH,MAAOgC,EAAkB5B,WAAa3C,OAAO4C,eAAe2B,IAAoB1B,MAAMN,KAAM9B,WAChI,CAaA,OAnBA0C,EAAUoB,EAAmBC,GAQ7BxD,EAAauD,EAAmB,CAAC,CAC/B3D,IAAKLine truncated
+17143 -12996
View File
File diff suppressed because it is too large. Load diff
+11 -8
View File
@@ -1,17 +1,20 @@
{
"name": "paste",
"version": "0.1.0",
"version": "0.2.0",
"private": true,
"homepage": "https://paste.dn42.us/ui",
"dependencies": {
"@babel/plugin-proposal-private-property-in-object": "^7.21.11",
"bootstrap": "^4.5.2",
"bootstrap-4-react": "0.0.59",
"crypto-js": "^4.0.0",
"react": "^16.9.0",
"react-bootstrap": "^1.3.0",
"react-dom": "^16.9.0",
"react-highlight": "^0.12.0",
"react-markdown": "^4.3.1",
"react-router-dom": "^5.2.0",
"react-scripts": "^3.1.1",
"pako": "^2.1.0",
"react": "^18.2.0",
"react-dom": "^18.2.0",
"react-highlight": "^0.15.0",
"react-markdown": "^9.0.0",
"react-router-dom": "^6.17.0",
"react-scripts": "^5.0.1",
"seedrandom": "^3.0.5"
},
"scripts": {
+1 -1
View File
@@ -8,7 +8,7 @@
"type": "image/x-icon"
}
],
"start_url": "./index.html",
"start_url": "/ui/index.html",
"display": "standalone",
"theme_color": "#000000",
"background_color": "#000000"
+4 -9
View File
@@ -1,7 +1,6 @@
import React, { Component } from 'react';
import { BrowserRouter, Route, Switch } from 'react-router-dom';
import { BrowserRouter, Route, Routes } from 'react-router-dom';
import 'bootstrap/dist/css/bootstrap.css';
import './paste/Framework.css';
import Paste from './paste/Paste';
@@ -31,20 +30,16 @@ componentDidMount() {
render() {
const {api, name} = this.state;
return (
<BrowserRouter>
<React.Fragment key={1}>
<>
<section className="container-responsive">
<Switch>
<Route path="/" component={Paste} />
</Switch>
<Paste />
</section>
<footer>
<span className="left text-muted">{name}</span>
<span className="right text-muted">{api}</span>
</footer>
</React.Fragment>
</BrowserRouter>
</>
);
}
}
+2 -2
View File
@@ -1,9 +1,9 @@
body,html {color: #c8c8c8; background-color: #272b30; }
body,html {color: black !important; background-color: #272b30 !important; }
header + section { padding-top: 52px; padding-bottom: 2.1em }
footer { background-color: #3e444c; position:fixed; bottom:0; width: 100%; height: 2em; border-top: 1px solid #bbb; padding: 4px }
footer span.left { float: left; }
footer span.right { float: right; }
pre { color: black}
.breadcrumb label { color: black; }
.sidebar .list-group {
+69 -61
View File
@@ -1,5 +1,5 @@
import React, { Component } from "react";
import { Form, Button, Alert } from "react-bootstrap";
import { Form, Button, Alert } from "bootstrap-4-react";
import "./paste.css";
@@ -91,10 +91,12 @@ const blength = (o) => {
return utf8length;
};
const PASTE_API = "https://paste.dn42.us/paste"
const PASTE_API = (''+window.location).replace(/ui\/.*$/, 'paste');
const syntaxItems = [
["text", "Plain Text"],
["markdown", "Markdown"],
["apache", "Apache"],
["bash", "Bash"],
["coffeescript", "CoffeeScript"],
@@ -108,7 +110,6 @@ const syntaxItems = [
["javascript", "JavaScript"],
["json", "JSON"],
["makefile", "Makefile"],
["markdown", "Markdown"],
["nginx", "Nginx"],
["objectivec", "Objective C"],
["perl", "Perl"],
@@ -132,9 +133,7 @@ class Paste extends Component {
constructor(props) {
super(props);
const { location } = props;
const [ hash, key ] = location.hash.substring(2).split("!");
const [ hash, key ] = window.location.hash.substring(2).split("!");
this.state = {
error: "",
@@ -185,7 +184,7 @@ class Paste extends Component {
this.setState(function(state, props) {
return {entropy: state.entropy + s.length};
} );
Math.seedrandom(s, {entropy: true});
seedrandom(s, {entropy: true});
};
onChange(event) {
@@ -201,17 +200,17 @@ class Paste extends Component {
onSubmit(event) {
event.preventDefault();
const { plain } = this.state;
const { history } = this.props;
// const { history } = this.props;
this.encrypt(plain).then(([hash, decryptKey]) => { history.push('/paste/#/' + hash + '!' + decryptKey) });
this.encrypt(plain).then(([hash, decryptKey]) => { history.pushState({}, '', '/ui/#/' + hash + '!' + decryptKey) });
}
onNew(event) {
const { history } = this.props;
this.setState({cipher:"", plain:"", hash: "", decryptKey: "", syntax: "text", expire: 604800, burn: false}, () => history.push('/paste'));
// const { history } = this.props;
this.setState({cipher:"", plain:"", hash: "", decryptKey: "", syntax: "text", expire: 604800, burn: false}, () => history.pushState({}, '', '/ui'));
}
onCopy(event) {
const { history } = this.props;
this.setState({hash: "", decryptKey: ""}, () => history.push('/paste'))
// const { history } = this.props;
this.setState({hash: "", decryptKey: ""}, () => history.pushState({}, '', '/ui'))
}
decrypt(tx) {
@@ -289,8 +288,7 @@ class Paste extends Component {
req(`${PASTE_API}/${hash}`).get().then((res)=> res.ok ? res.text() : "").then(this.decrypt).catch();
}
componentWillReceiveProps(nextProps) {
const { location } = nextProps;
const { hash:nextHash } = location;
const { hash:nextHash } = window.location;
const [ hash='', key='' ] = nextHash.substring(2).split("!");
if (hash === this.state.hash) return;
@@ -313,85 +311,95 @@ function PasteCreate({error, onSubmit, onChange, syntax, syntaxItems, expire, ex
return (
<section className="container">
<div>
{!!error ?
<Alert bsStyle="warning">
{!!error &&
<Alert warning>
<strong>Holy guacamole!</strong> {error}
</Alert> : ""}
</Alert>}
<Form name='paste' onSubmit={onSubmit}>
<div className="form form-inline">
<ol className='breadcrumb'>
<li>
<label>Syntax</label>
<select className='form-control input-sm' name="syntax" onChange={onChange} value={syntax}>
{syntaxItems.map((o) => <option key={o[0]} value={o[0]}>{o[1]}</option>)}
</select>
</li>
<li>
<label>Expires</label>
<select className='form-control input-sm' name="expire" onChange={onChange} value={expire}>
{expireItems.map((o) => <option key={o[0]} value={o[0]}>{o[1]}</option>)}
</select>
</li>
<li>
<label><input type='checkbox' name="burn" onChange={onChange} value={burn}/> Burn on Read</label>
</li>
</ol>
<div className="form-inline">
<label className="my-1 mr-2" for="syntax">Syntax</label>
<select className='custom-select my-1 mr-sm-2' id="syntax" name="syntax" onChange={onChange} value={syntax}>
{syntaxItems.map((o) => <option key={o[0]} value={o[0]}>{o[1]}</option>)}
</select>
<label className="my-1 mr-2" for="expire">Expires</label>
<select className='custom-select my-1 mr-sm-2' id="expire" name="expire" onChange={onChange} value={expire}>
{expireItems.map((o) => <option key={o[0]} value={o[0]}>{o[1]}</option>)}
</select>
<div className="custom-control custom-checkbox my-1 mr-sm-2">
<input className="custom-control-input" type='checkbox' id="burn-on-read" name="burn" onChange={onChange} value={burn}/>
<label className="custom-control-label" for="burn-on-read">Burn on Read</label>
</div>
</div>
<textarea required className='form-control' rows='20' name="plain" onChange={onChange} value={plain}></textarea>
<pre>Additional Entropy: {entropy} bytes / Content size: {blength(plain)} bytes</pre>
<pre className="grey">Additional Entropy: {entropy} bytes / Content size: {blength(plain)} bytes</pre>
<Button type='submit' className='btn btn-default btn-lg btn-block'>Encrypt</Button>
</Form>
<br/>
<p>Create pastes from the command line! <a href='./paste.sh' download>paste.sh</a></p>
<pre>{`$ echo /etc/passwd | ./paste.sh
<div className="card">
<div className="card-body">
<p>Create pastes from the command line! <a href={`${window.location.origin}/ui/paste.sh`} download>paste.sh</a></p>
<pre>{`$ echo /etc/passwd | ./paste.sh
env options:
PASTE_URL - Set the url base for paste operations (default: HTTPS://paste.dn42.us)
PASTE_GZIP - 0 = No Compression, 1 = Use gzip compression (default: 0)
PASTE_BURN - 0 = No Burn on Read, 1 = Burn on read (default: 0)
PASTE_DATE - Value to be used when setting expire date. (default: next-week)`}
</pre>
</pre>
</div>
</div>
</div>
</section>
);
}
function PasteView({hash, decryptKey, expires, gzip, cipher, plain, syntax, onNew, onCopy}) {
function PasteView({hash, decryptKey, expires, burn, gzip, cipher, plain, syntax, onNew, onCopy}) {
const gzipOpts = gzip ? '| gzip -dc' : '';
return (
<section className="container">
<div className="input-group">
<span className="input-group-btn">
<a className="btn btn-default" type="button" onClick={onNew}>New</a>
<span className="input-group-prepend">
<button className="btn btn-default" type="button" onClick={onNew}>New</button>
</span>
<input type='text' readOnly className='form-control' value={`${window.location.origin}/paste/#/${hash}!${decryptKey}`} onClick={(e) => e.target.select()}/>
<span className="input-group-btn">
<a className="btn btn-default" type="button" onClick={onCopy}>Copy</a>
<input type='text' readOnly className='form-control' value={`${window.location.origin}/ui/#/${hash}!${decryptKey}`} onClick={(e) => e.target.select()}/>
<span className="input-group-append">
<button className="btn btn-default" type="button" onClick={onCopy}>Copy</button>
</span>
</div>
<div ng-if="store.err == undefined">
<div className='well well-sm'>
<b>Lang:</b> {syntax}, <b>Expires:</b> {expires}
<br/>
<div className="card">
<div className='card-header'>
<b>Lang:</b> {syntax}
&nbsp;
<b>Expires:</b> {expires}
&nbsp;
{burn && (<b> BURN ON READ </b>)}
</div>
<div className="card-body">
{syntax==="markdown" ? (
<Markdown source={plain} />
) : (
<Highlight className={syntax}>{plain}</Highlight>
)}
</div>
{syntax==="markdown" ? (
<Markdown source={plain} />
) : (
<Highlight className={syntax}>{plain}</Highlight>
)}
<pre>{`# Command Line:
curl -s "${PASTE_API}/${hash}" \\
| sed "1,/^\\$/d" \\
| openssl aes-256-cbc -md md5 \\
-d -a -k "${decryptKey}" ${gzipOpts}
<div className="card-footer">
<pre>{`# Command Line:
curl -s "${PASTE_API}/${hash}" \\
| sed "1,/^\\$/d" \\
| openssl aes-256-cbc -md md5 \\
-d -a -k "${decryptKey}" ${gzipOpts}
${cipher}`}</pre>
</div>
</div>
</section>
);
+4 -1
View File
@@ -2,6 +2,9 @@ section.container { margin-bottom: 2em; }
textarea { font-family: "Fira Code",hack,"Anonymous Pro",monospace; }
pre { font-family: "Fira Code",hack,"Anonymous Pro",monospace; }
code { font-family: "Fira Code",hack,"Anonymous Pro",monospace; }
pre.grey { background-color: lightgrey; }
label { color: lightgrey; }
table a:link {
color: #666;
@@ -98,5 +101,5 @@ table tr:last-child td:last-child {
table tr:hover td {
background: #f2f2f2;
background: -webkit-gradient(linear, left top, left bottom, from(#f2f2f2), to(#f0f0f0));
background: -moz-linear-gradient(top, #f2f2f2, #f0f0f0);
background: -moz-linear-gradient(top, #f2f2f2, #f0f0f0);
}
-109
View File
@@ -1,109 +0,0 @@
package main
import (
"bytes"
"github.com/docopt/docopt.go"
"github.com/spf13/viper"
"sour.is/x/toolbox/log"
"sour.is/x/toolbox/log/event"
_ "sour.is/x/toolbox/stats"
)
var (
// AppVersion Application Version Number
AppVersion string
// AppBuild Application Build Number
AppBuild string
)
// AppName name of the application
var AppName = "Paste API"
// AppUsage displays runtime options
var AppUsage = `Paste API
Usage:
paste version
paste [ -v | -vv ] serve
Options:
-v Log info to console.
-vv Log debug to console.
-l <ListenAddress>, --listen=<ListenAddress> Address to listen on.
-c <ConfigDir>, --config=<ConfigDir> Set Config Directory.
Config:
The config file is read from the following locations:
- <ConfigDir>
- /etc/opt/sour.is/paste/
- Working Directory
`
var defaultConfig = `
[http]
listen = ":9010"
[module.paste]
random = "4096"
store = "data/"
`
var args map[string]interface{}
func init() {
var err error
viper.Set("app.name", AppName)
viper.SetDefault("app.version", "VERSION")
if AppVersion != "" {
viper.Set("app.version", AppVersion)
}
viper.SetDefault("app.build", "SNAPSHOT")
if AppBuild != "" {
viper.Set("app.build", AppBuild)
}
if args, err = docopt.ParseDoc(AppUsage); err != nil {
log.Fatal(err)
}
if args["-v"].(int) == 1 {
log.SetVerbose(event.VerbInfo)
log.Info("Verbose Logging.")
}
if args["-v"].(int) == 2 {
log.SetVerbose(event.VerbDebug)
log.Debug("Very Verbose Logging.")
}
log.Printf("%s (%s %s)\n",
viper.GetString("app.name"),
viper.GetString("app.version"),
viper.GetString("app.build"))
if args["serve"] == true {
viper.SetConfigName("config")
if args["--config"] != nil {
viper.AddConfigPath(args["--config"].(string))
}
viper.AddConfigPath("/etc/opt/sour.is/paste/")
viper.AddConfigPath(".")
viper.SetConfigType("toml")
viper.ReadConfig(bytes.NewBuffer([]byte(defaultConfig)))
err = viper.MergeInConfig()
if err != nil { // Handle errors reading the config file
log.Warningf("config file not found: %s \n", err)
} else {
log.Notice("Read config from: ", viper.ConfigFileUsed())
}
if args["--listen"] != nil {
viper.Set("http.listen", args["--listen"].(string))
}
}
}
-55
View File
@@ -1,55 +0,0 @@
// Package Paste API.
//
// the purpose of this application is to provide an application
// that is using plain go code to define a paste API
//
// Terms Of Service:
//
// there are no TOS at this moment, use at your own risk we take no responsibility
//
// Schemes: http, https
// Host: paste.sour.is
// BasePath: /
// Version: 0.0.1
// License: MIT http://opensource.org/licenses/MIT
// Contact: Xuu <me@sour.is> https://sour.is
//
// Consumes:
// - application/json
// - text/plain
//
// Produces:
// - application/json
// - text/plain
//
//
// swagger:meta
package main // import "sour.is/x/paste/cmd/paste"
import (
"os"
"os/signal"
"syscall"
_ "sour.is/x/paste/src/docs"
_ "sour.is/x/paste/src/routes"
"sour.is/x/toolbox/httpsrv"
"sour.is/x/toolbox/log"
)
func main() {
if args["serve"] == true {
httpsrv.Run()
c := make(chan os.Signal, 1)
signal.Notify(c, syscall.SIGINT, syscall.SIGTERM)
s := <-c
log.Debugf("Got Signal %d", s)
httpsrv.Shutdown()
log.Debug("DONE")
}
}
//go:generate go run github.com/go-swagger/go-swagger/cmd/swagger generate spec -o ../../src/docs/public/swagger.json
-2
View File
@@ -1,2 +0,0 @@
*
!.git*
-42
View File
@@ -1,42 +0,0 @@
NAME=sour.is-paste
VERSION:=$(shell cat VERSION)
RELEASE:=$(shell cat RELEASE)
REPO_HOST="xuu@kapha"
ANSIBLE_HOST="kapha"
REPO_PATH="/opt/web/pub/sour.is/debian/"
all: release build copy
clean:
rm -r BUILD/*
release:
@echo "release version $(RELEASE)"
@echo `expr $(RELEASE) + 1` > RELEASE
git commit -am "release version $(VERSION)-$(RELEASE)"
git tag -a -m "release version $(VERSION)-$(RELEASE)" "v$(VERSION)-$(RELEASE)"
git push --tags
build:
export BUILD="BUILD/$(NAME)_$(VERSION)-$(RELEASE)"; \
rm -rf ./$${BUILD}; \
cp -r ROOT "$${BUILD}"; \
sed -i'.tmp' "s_Version:.*_Version: $(VERSION)-$(RELEASE)_" "$${BUILD}/DEBIAN/control"
export DATE=`date -u +%FT%TZ`; \
export BUILD="BUILD/$(NAME)_$(VERSION)-$(RELEASE)"; \
env GOOS=linux GOARCH=amd64 go build -v -o $${BUILD}/opt/sour.is/bin/paste \
-ldflags "-X main.AppVersion=$(VERSION)-$(RELEASE) -X main.AppBuild=$${DATE}"\
sour.is/x/paste/cmd/paste; \
dpkg -b $${BUILD};
copy:
export BUILD="BUILD/$(NAME)_$(VERSION)-$(RELEASE)"; \
scp "$${BUILD}.deb" $(REPO_HOST):$(REPO_PATH); \
ssh $(REPO_HOST) -- $(REPO_PATH)scan.sh "$(REPO_PATH)$(NAME)_$(VERSION)-$(RELEASE).deb";
deploy:
ansible $(ANSIBLE_HOST) -u xuu -b -m apt -a "name=sour.is-paste update_cache=yes state=latest"
.PHONY: clean release build copy # deploy
-1
View File
@@ -1 +0,0 @@
16
-8
View File
@@ -1,8 +0,0 @@
Package: sour.is-paste
Version: 2.0.0-1
Section: base
Priority: optional
Architecture: amd64
Maintainer: xuu <me@sour.is>
Description: Encrypted Paste Store
API and UI for storing encrypted pastes.
-17
View File
@@ -1,17 +0,0 @@
#!/bin/sh
set -e
case "$1" in
configure)
systemctl daemon-reload
if systemctl is-enabled sour.is-paste.service; then
systemctl start sour.is-paste.service
fi
sudo chown -R root:root /opt/sour.is
sudo chown -R root:root /etc/opt/sour.is
;;
esac
exit 0
-20
View File
@@ -1,20 +0,0 @@
#!/bin/sh
set -e
case "$1" in
remove)
if systemctl is-active sour.is-paste.service; then
systemctl stop sour.is-paste.service
fi
;;
purge)
if systemctl is-enabled sour.is-paste.service; then
systemctl disable sour.is-paste.service
fi
;;
esac
exit 0
-20
View File
@@ -1,20 +0,0 @@
#!/bin/sh
set -e
case "$1" in
install)
# do some magic
;;
upgrade|abort-upgrade)
;;
*)
echo "postinst called with unknown argument \`$1'" >&2
exit 0
;;
esac
#DEBHELPER#
exit 0
-14
View File
@@ -1,14 +0,0 @@
#!/bin/sh
set -e
case "$1" in
remove|upgrade)
if systemctl is-active sour.is-paste.service; then
systemctl stop sour.is-paste.service
fi
;;
esac
exit 0
-4
View File
@@ -1,4 +0,0 @@
[http]
listen = ":9010"
-1
View File
@@ -1 +0,0 @@
2.2.0
Binary file not shown.

After

Width:  |  Height:  |  Size: 6.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 472 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 847 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

+6
View File
@@ -0,0 +1,6 @@
This favicon was generated using the following graphics from Twitter Twemoji:
- Graphics Title: 1f4cb.svg
- Graphics Author: Copyright 2020 Twitter, Inc and other contributors (https://github.com/twitter/twemoji)
- Graphics Source: https://github.com/twitter/twemoji/blob/master/assets/svg/1f4cb.svg
- Graphics License: CC-BY 4.0 (https://creativecommons.org/licenses/by/4.0/)
+1
View File
@@ -0,0 +1 @@
{"name":"sour.is paste","short_name":"paste","icons":[{"src":"/android-chrome-192x192.png","sizes":"192x192","type":"image/png"},{"src":"/android-chrome-512x512.png","sizes":"512x512","type":"image/png"}],"theme_color":"#ffffff","background_color":"#ffffff","display":"standalone"}
+61 -12
View File
@@ -1,16 +1,65 @@
module sour.is/x/paste
module go.sour.is/paste/v2
go 1.14
go 1.21
require (
github.com/99designs/gqlgen v0.9.3
github.com/docopt/docopt.go v0.0.0-20180111231733-ee0de3bc6815
github.com/go-swagger/go-swagger v0.23.0
github.com/golang/gddo v0.0.0-20190904175337-72a348e765d2 // indirect
github.com/gorilla/mux v1.7.3
github.com/sour-is/go-assetfs v1.0.0
github.com/spf13/viper v1.6.2
github.com/vektah/dataloaden v0.2.1-0.20190515034641-a19b9a6e7c9e
golang.org/x/sys v0.0.0-20200817085935-3ff754bf58a9
sour.is/x/toolbox v0.11.4
github.com/gomarkdown/markdown v0.0.0-20200824053859-8c8b3816f167
github.com/h2non/filetype v1.1.0
github.com/matryer/is v1.4.1
github.com/rs/cors v1.6.0
go.opentelemetry.io/otel v1.18.0
go.opentelemetry.io/otel/trace v1.18.0
go.sour.is/paste v0.0.0-20231022150928-96338f2f4441
go.sour.is/pkg v0.0.6
golang.org/x/sys v0.13.0
sour.is/x/toolbox v0.12.17
)
require (
github.com/andybalholm/brotli v1.0.4 // indirect
github.com/beorn7/perks v1.0.1 // indirect
github.com/cenkalti/backoff/v4 v4.2.1 // indirect
github.com/cespare/xxhash/v2 v2.2.0 // indirect
github.com/felixge/httpsnoop v1.0.3 // indirect
github.com/fsnotify/fsnotify v1.4.9 // indirect
github.com/go-logr/logr v1.2.4 // indirect
github.com/go-logr/stdr v1.2.2 // indirect
github.com/golang/protobuf v1.5.3 // indirect
github.com/gorilla/mux v1.8.0 // indirect
github.com/grpc-ecosystem/grpc-gateway/v2 v2.16.0 // indirect
github.com/hashicorp/hcl v1.0.0 // indirect
github.com/magiconair/properties v1.8.1 // indirect
github.com/matttproud/golang_protobuf_extensions v1.0.4 // indirect
github.com/mitchellh/mapstructure v1.5.0 // indirect
github.com/pelletier/go-toml v1.8.0 // indirect
github.com/prometheus/client_golang v1.17.0 // indirect
github.com/prometheus/client_model v0.4.1-0.20230718164431-9a2bf3000d16 // indirect
github.com/prometheus/common v0.44.0 // indirect
github.com/prometheus/procfs v0.12.0 // indirect
github.com/remyoudompheng/go-liblzma v0.0.0-20190506200333-81bf2d431b96 // indirect
github.com/spf13/afero v1.3.2 // indirect
github.com/spf13/cast v1.3.1 // indirect
github.com/spf13/jwalterweatherman v1.1.0 // indirect
github.com/spf13/pflag v1.0.5 // indirect
github.com/spf13/viper v1.7.1 // indirect
github.com/subosito/gotenv v1.2.0 // indirect
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.44.0 // indirect
go.opentelemetry.io/contrib/instrumentation/runtime v0.42.0 // indirect
go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.18.0 // indirect
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.18.0 // indirect
go.opentelemetry.io/otel/exporters/prometheus v0.41.0 // indirect
go.opentelemetry.io/otel/metric v1.18.0
go.opentelemetry.io/otel/sdk v1.18.0 // indirect
go.opentelemetry.io/otel/sdk/metric v0.41.0 // indirect
go.opentelemetry.io/proto/otlp v1.0.0 // indirect
go.uber.org/multierr v1.11.0 // indirect
golang.org/x/net v0.17.0 // indirect
golang.org/x/sync v0.3.0 // indirect
golang.org/x/text v0.13.0 // indirect
google.golang.org/genproto/googleapis/api v0.0.0-20230711160842-782d3b101e98 // indirect
google.golang.org/genproto/googleapis/rpc v0.0.0-20230711160842-782d3b101e98 // indirect
google.golang.org/grpc v1.58.0 // indirect
google.golang.org/protobuf v1.31.0 // indirect
gopkg.in/ini.v1 v1.57.0 // indirect
gopkg.in/yaml.v2 v2.4.0 // indirect
)
+265 -262
View File
@@ -1,227 +1,167 @@
cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw=
cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw=
github.com/99designs/gqlgen v0.9.3 h1:BWOMuDFhpuvzbuUFgCL1OSfAM2lvnYgpoCXetDvbnHY=
github.com/99designs/gqlgen v0.9.3/go.mod h1:HrrG7ic9EgLPsULxsZh/Ti+p0HNWgR3XRuvnD0pb5KY=
github.com/BurntSushi/toml v0.3.1 h1:WXkYYl6Yr3qBf1K79EBnL4mak0OimBfB0XUf9Vl28OQ=
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/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU=
github.com/99designs/gqlgen v0.10.1/go.mod h1:IviubpnyI4gbBcj8IcxSSc/Q/+af5riwCmJmwF0uaPE=
github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
github.com/BurntSushi/toml v1.2.1 h1:9F2/+DoOYIOksmaJFPw1tGFy1eDnIJXg+UHjuD8lTak=
github.com/BurntSushi/toml v1.2.1/go.mod h1:CxXYINrC8qIiEnFrOxCa7Jy5BFHlXnUU2pbicEuybxQ=
github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo=
github.com/DATA-DOG/go-sqlmock v1.3.3/go.mod h1:f/Ixk793poVmq4qj/V1dPUg2JEAKC73Q5eFN3EC/SaM=
github.com/Masterminds/squirrel v0.0.0-20190511014652-b4b75d10d7bf/go.mod h1:yaPeOnPG5ZRwL9oKdTsO/prlkPbXWZlRVMQ/gGlzIuA=
github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU=
github.com/PuerkitoBio/purell v1.1.0/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0=
github.com/PuerkitoBio/purell v1.1.1 h1:WEQqlqaGbrPkxLJWfBwQmfEAE1Z7ONdDLqrN38tNFfI=
github.com/PuerkitoBio/purell v1.1.1/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0=
github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578 h1:d+Bc7a5rLufV/sSk/8dngufqelfh6jnri85riMAaF/M=
github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE=
github.com/agnivade/levenshtein v1.0.1 h1:3oJU7J3FGFmyhn8KHjmVaZCN5hxTr7GxgRue+sxIXdQ=
github.com/agnivade/levenshtein v1.0.1/go.mod h1:CURSv5d9Uaml+FovSIICkLbAUZ9S4RqaHDIsdSBg7lM=
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/andreyvit/diff v0.0.0-20170406064948-c7f18ee00883 h1:bvNMNQO63//z+xNgfBlViaCIJKLlCJ6/fmUseuG0wVQ=
github.com/andreyvit/diff v0.0.0-20170406064948-c7f18ee00883/go.mod h1:rCTlJbsFo29Kk6CurOXKm700vrz8f0KW0JNfpkRJY/8=
github.com/andybalholm/brotli v1.0.4 h1:V7DdXeJtZscaqfNuAdSRuRFzuiKlHSC/Zh3zl9qY3JY=
github.com/andybalholm/brotli v1.0.4/go.mod h1:fO7iG3H7G2nSZ7m0zPUDn85XEX2GTukHGRSepvi9Eig=
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/asaskevich/govalidator v0.0.0-20180720115003-f9ffefc3facf/go.mod h1:lB+ZfQJz7igIIfQNfa7Ml4HSf2uFQQRzpGGRXenZAgY=
github.com/asaskevich/govalidator v0.0.0-20190424111038-f61b66f89f4a/go.mod h1:lB+ZfQJz7igIIfQNfa7Ml4HSf2uFQQRzpGGRXenZAgY=
github.com/asaskevich/govalidator v0.0.0-20200108200545-475eaeb16496 h1:zV3ejI06GQ59hwDQAvmK1qxOQGB3WuVTRoY0okPTAv0=
github.com/asaskevich/govalidator v0.0.0-20200108200545-475eaeb16496/go.mod h1:oGkLhpf+kjZl6xBf758TQhh5XrAeiJv/7FRz/2spLIg=
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/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM=
github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw=
github.com/bgentry/speakeasy v0.1.0/go.mod h1:+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kBD4zp0CCIs=
github.com/bketelsen/crypt v0.0.3-0.20200106085610-5cbc8cc4026c/go.mod h1:MKsuJmJgSg28kpZDP6UIiPt0e0Oz0kqKNGyRaWEPv84=
github.com/bouk/monkey v1.0.0 h1:k6z8fLlPhETfn5l9rlWVE7Q6B23DoaqosTdArvNQRdc=
github.com/bouk/monkey v1.0.0/go.mod h1:PG/63f4XEUlVyW1ttIeOJmJhhe1+t9EC/je3eTjvFhE=
github.com/cenkalti/backoff/v4 v4.2.1 h1:y4OZtCnogmCPw98Zjyt5a6+QwPLGkiQsYW5oUqylYbM=
github.com/cenkalti/backoff/v4 v4.2.1/go.mod h1:Y3VNntkOUPxTVeUxJ/G5vcM//AlwfmyYozVcomhLiZE=
github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc=
github.com/cespare/xxhash/v2 v2.2.0 h1:DC2CZ1Ep5Y4k3ZQ899DldepgrayRUGE6BBZ/cd9Cj44=
github.com/cespare/xxhash/v2 v2.2.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs=
github.com/cgilling/dbstats v0.0.0-20150427045024-c9db8cf218e6/go.mod h1:fsf3+k/VvGOE9sF2B9d6PBcZOzQIlDJhn2LhBqF/4VY=
github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw=
github.com/corbym/gocrest v1.0.3 h1:gwEdq6RkTmq+09CTuM29DfKOCtZ7G7bcyxs3IZ6EVdU=
github.com/corbym/gocrest v1.0.3/go.mod h1:maVFL5lbdS2PgfOQgGRWDYTeunSWQeiEgoNdTABShCs=
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-oidc v2.2.1+incompatible/go.mod h1:CgnwVTmzoESiwO9qyAFEMiHoZ1nMCKZlZ9V6mm3/LKc=
github.com/coreos/etcd v3.3.13+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE=
github.com/coreos/go-semver v0.2.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk=
github.com/coreos/go-semver v0.3.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk=
github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4=
github.com/coreos/pkg v0.0.0-20180928190104-399ea9e2e55f/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA=
github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E=
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/docker/go-units v0.3.3/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk=
github.com/docker/go-units v0.4.0/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk=
github.com/docopt/docopt.go v0.0.0-20180111231733-ee0de3bc6815 h1:HMAfwOa33y82IaQEKQDfUCiwNlxtM1iw7HLM9ru0RNc=
github.com/docopt/docopt.go v0.0.0-20180111231733-ee0de3bc6815/go.mod h1:l7JNRynTRuqe45tpIyItHNqZWTxywYjp87MWTOnU5cg=
github.com/fsnotify/fsnotify v1.4.7 h1:IXs+QLmnXW2CcXuY+8Mzv/fWEsPGWxqefPtCP5CnV9I=
github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4=
github.com/felixge/httpsnoop v1.0.3 h1:s/nj+GCswXYzN5v2DpNMuMQYe+0DDwt5WVCU6CWBdXk=
github.com/felixge/httpsnoop v1.0.3/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U=
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/globalsign/mgo v0.0.0-20180905125535-1ca0a4f7cbcb/go.mod h1:xkRDCp4j0OGD1HRkm4kmhM+pmpv3AKq5SU7GMg4oO/Q=
github.com/globalsign/mgo v0.0.0-20181015135952-eeefdecb41b8/go.mod h1:xkRDCp4j0OGD1HRkm4kmhM+pmpv3AKq5SU7GMg4oO/Q=
github.com/go-chi/chi v3.3.2+incompatible/go.mod h1:eB3wogJHnLi3x/kFX2A+IbTBlXxmMeXJVKy9tTv1XzQ=
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=
github.com/go-openapi/analysis v0.0.0-20180825180245-b006789cd277/go.mod h1:k70tL6pCuVxPJOHXQ+wIac1FUrvNkHolPie/cLEU6hI=
github.com/go-openapi/analysis v0.17.0/go.mod h1:IowGgpVeD0vNm45So8nr+IcQ3pxVtpRoBWb8PVZO0ik=
github.com/go-openapi/analysis v0.18.0/go.mod h1:IowGgpVeD0vNm45So8nr+IcQ3pxVtpRoBWb8PVZO0ik=
github.com/go-openapi/analysis v0.19.2/go.mod h1:3P1osvZa9jKjb8ed2TPng3f0i/UY9snX6gxi44djMjk=
github.com/go-openapi/analysis v0.19.4/go.mod h1:3P1osvZa9jKjb8ed2TPng3f0i/UY9snX6gxi44djMjk=
github.com/go-openapi/analysis v0.19.5/go.mod h1:hkEAkxagaIvIP7VTn8ygJNkd4kAYON2rCu0v0ObL0AU=
github.com/go-openapi/analysis v0.19.10 h1:5BHISBAXOc/aJK25irLZnx2D3s6WyYaY9D4gmuz9fdE=
github.com/go-openapi/analysis v0.19.10/go.mod h1:qmhS3VNFxBlquFJ0RGoDtylO9y4pgTAUNE9AEEMdlJQ=
github.com/go-openapi/errors v0.17.0/go.mod h1:LcZQpmvG4wyF5j4IhA73wkLFQg+QJXOQHVjmcZxhka0=
github.com/go-openapi/errors v0.18.0/go.mod h1:LcZQpmvG4wyF5j4IhA73wkLFQg+QJXOQHVjmcZxhka0=
github.com/go-openapi/errors v0.19.2/go.mod h1:qX0BLWsyaKfvhluLejVpVNwNRdXZhEbTA4kxxpKBC94=
github.com/go-openapi/errors v0.19.3/go.mod h1:qX0BLWsyaKfvhluLejVpVNwNRdXZhEbTA4kxxpKBC94=
github.com/go-openapi/errors v0.19.4 h1:fSGwO1tSYHFu70NKaWJt5Qh0qoBRtCm/mXS1yhf+0W0=
github.com/go-openapi/errors v0.19.4/go.mod h1:qX0BLWsyaKfvhluLejVpVNwNRdXZhEbTA4kxxpKBC94=
github.com/go-openapi/inflect v0.19.0 h1:9jCH9scKIbHeV9m12SmPilScz6krDxKRasNNSNPXu/4=
github.com/go-openapi/inflect v0.19.0/go.mod h1:lHpZVlpIQqLyKwJ4N+YSc9hchQy/i12fJykb83CRBH4=
github.com/go-openapi/jsonpointer v0.17.0/go.mod h1:cOnomiV+CVVwFLk0A/MExoFMjwdsUdVpsRhURCKh+3M=
github.com/go-openapi/jsonpointer v0.18.0/go.mod h1:cOnomiV+CVVwFLk0A/MExoFMjwdsUdVpsRhURCKh+3M=
github.com/go-openapi/jsonpointer v0.19.2/go.mod h1:3akKfEdA7DF1sugOqz1dVQHBcuDBPKZGEoHC/NkiQRg=
github.com/go-openapi/jsonpointer v0.19.3 h1:gihV7YNZK1iK6Tgwwsxo2rJbD1GTbdm72325Bq8FI3w=
github.com/go-openapi/jsonpointer v0.19.3/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg=
github.com/go-openapi/jsonreference v0.17.0/go.mod h1:g4xxGn04lDIRh0GJb5QlpE3HfopLOL6uZrK/VgnsK9I=
github.com/go-openapi/jsonreference v0.18.0/go.mod h1:g4xxGn04lDIRh0GJb5QlpE3HfopLOL6uZrK/VgnsK9I=
github.com/go-openapi/jsonreference v0.19.2/go.mod h1:jMjeRr2HHw6nAVajTXJ4eiUwohSTlpa0o73RUL1owJc=
github.com/go-openapi/jsonreference v0.19.3 h1:5cxNfTy0UVC3X8JL5ymxzyoUZmo8iZb+jeTWn7tUa8o=
github.com/go-openapi/jsonreference v0.19.3/go.mod h1:rjx6GuL8TTa9VaixXglHmQmIL98+wF9xc8zWvFonSJ8=
github.com/go-openapi/loads v0.17.0/go.mod h1:72tmFy5wsWx89uEVddd0RjRWPZm92WRLhf7AC+0+OOU=
github.com/go-openapi/loads v0.18.0/go.mod h1:72tmFy5wsWx89uEVddd0RjRWPZm92WRLhf7AC+0+OOU=
github.com/go-openapi/loads v0.19.0/go.mod h1:72tmFy5wsWx89uEVddd0RjRWPZm92WRLhf7AC+0+OOU=
github.com/go-openapi/loads v0.19.2/go.mod h1:QAskZPMX5V0C2gvfkGZzJlINuP7Hx/4+ix5jWFxsNPs=
github.com/go-openapi/loads v0.19.3/go.mod h1:YVfqhUCdahYwR3f3iiwQLhicVRvLlU/WO5WPaZvcvSI=
github.com/go-openapi/loads v0.19.4/go.mod h1:zZVHonKd8DXyxyw4yfnVjPzBjIQcLt0CCsn0N0ZrQsk=
github.com/go-openapi/loads v0.19.5 h1:jZVYWawIQiA1NBnHla28ktg6hrcfTHsCE+3QLVRBIls=
github.com/go-openapi/loads v0.19.5/go.mod h1:dswLCAdonkRufe/gSUC3gN8nTSaB9uaS2es0x5/IbjY=
github.com/go-openapi/runtime v0.0.0-20180920151709-4f900dc2ade9/go.mod h1:6v9a6LTXWQCdL8k1AO3cvqx5OtZY/Y9wKTgaoP6YRfA=
github.com/go-openapi/runtime v0.19.0/go.mod h1:OwNfisksmmaZse4+gpV3Ne9AyMOlP1lt4sK4FXt0O64=
github.com/go-openapi/runtime v0.19.4/go.mod h1:X277bwSUBxVlCYR3r7xgZZGKVvBd/29gLDlFGtJ8NL4=
github.com/go-openapi/runtime v0.19.12 h1:5lQlCr1HL0ZVRPL+0PHKhRpMCSPMV2qF842rhQx8CYY=
github.com/go-openapi/runtime v0.19.12/go.mod h1:dhGWCTKRXlAfGnQG0ONViOZpjfg0m2gUt9nTQPQZuoo=
github.com/go-openapi/spec v0.17.0/go.mod h1:XkF/MOi14NmjsfZ8VtAKf8pIlbZzyoTvZsdfssdxcBI=
github.com/go-openapi/spec v0.18.0/go.mod h1:XkF/MOi14NmjsfZ8VtAKf8pIlbZzyoTvZsdfssdxcBI=
github.com/go-openapi/spec v0.19.2/go.mod h1:sCxk3jxKgioEJikev4fgkNmwS+3kuYdJtcsZsD5zxMY=
github.com/go-openapi/spec v0.19.3/go.mod h1:FpwSN1ksY1eteniUU7X0N/BgJ7a4WvBFVA8Lj9mJglo=
github.com/go-openapi/spec v0.19.6/go.mod h1:Hm2Jr4jv8G1ciIAo+frC/Ft+rR2kQDh8JHKHb3gWUSk=
github.com/go-openapi/spec v0.19.7 h1:0xWSeMd35y5avQAThZR2PkEuqSosoS5t6gDH4L8n11M=
github.com/go-openapi/spec v0.19.7/go.mod h1:Hm2Jr4jv8G1ciIAo+frC/Ft+rR2kQDh8JHKHb3gWUSk=
github.com/go-openapi/strfmt v0.17.0/go.mod h1:P82hnJI0CXkErkXi8IKjPbNBM6lV6+5pLP5l494TcyU=
github.com/go-openapi/strfmt v0.18.0/go.mod h1:P82hnJI0CXkErkXi8IKjPbNBM6lV6+5pLP5l494TcyU=
github.com/go-openapi/strfmt v0.19.0/go.mod h1:+uW+93UVvGGq2qGaZxdDeJqSAqBqBdl+ZPMF/cC8nDY=
github.com/go-openapi/strfmt v0.19.2/go.mod h1:0yX7dbo8mKIvc3XSKp7MNfxw4JytCfCD6+bY1AVL9LU=
github.com/go-openapi/strfmt v0.19.3/go.mod h1:0yX7dbo8mKIvc3XSKp7MNfxw4JytCfCD6+bY1AVL9LU=
github.com/go-openapi/strfmt v0.19.4/go.mod h1:eftuHTlB/dI8Uq8JJOyRlieZf+WkkxUuk0dgdHXr2Qk=
github.com/go-openapi/strfmt v0.19.5 h1:0utjKrw+BAh8s57XE9Xz8DUBsVvPmRUB6styvl9wWIM=
github.com/go-openapi/strfmt v0.19.5/go.mod h1:eftuHTlB/dI8Uq8JJOyRlieZf+WkkxUuk0dgdHXr2Qk=
github.com/go-openapi/swag v0.17.0/go.mod h1:AByQ+nYG6gQg71GINrmuDXCPWdL640yX49/kXLo40Tg=
github.com/go-openapi/swag v0.18.0/go.mod h1:AByQ+nYG6gQg71GINrmuDXCPWdL640yX49/kXLo40Tg=
github.com/go-openapi/swag v0.19.2/go.mod h1:POnQmlKehdgb5mhVOsnJFsivZCEZ/vjK9gh66Z9tfKk=
github.com/go-openapi/swag v0.19.5/go.mod h1:POnQmlKehdgb5mhVOsnJFsivZCEZ/vjK9gh66Z9tfKk=
github.com/go-openapi/swag v0.19.7/go.mod h1:ao+8BpOPyKdpQz3AOJfbeEVpLmWAvlT1IfTe5McPyhY=
github.com/go-openapi/swag v0.19.8 h1:vfK6jLhs7OI4tAXkvkooviaE1JEPcw3mutyegLHHjmk=
github.com/go-openapi/swag v0.19.8/go.mod h1:ao+8BpOPyKdpQz3AOJfbeEVpLmWAvlT1IfTe5McPyhY=
github.com/go-openapi/validate v0.18.0/go.mod h1:Uh4HdOzKt19xGIGm1qHf/ofbX1YQ4Y+MYsct2VUrAJ4=
github.com/go-openapi/validate v0.19.2/go.mod h1:1tRCw7m3jtI8eNWEEliiAqUIcBztB2KDnRCRMUi7GTA=
github.com/go-openapi/validate v0.19.3/go.mod h1:90Vh6jjkTn+OT1Eefm0ZixWNFjhtOH7vS9k0lo6zwJo=
github.com/go-openapi/validate v0.19.7 h1:fR4tP2xc+25pdo5Qvv4v6g+5QKFgNg8nrifTE7V8ibA=
github.com/go-openapi/validate v0.19.7/go.mod h1:8DJv2CVJQ6kGNpFW6eV9N3JviE1C85nY1c2z52x1Gk4=
github.com/go-logr/logr v1.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A=
github.com/go-logr/logr v1.2.4 h1:g01GSCwiDw2xSZfjJ2/T9M+S6pFdcNtFYsp+Y43HYDQ=
github.com/go-logr/logr v1.2.4/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A=
github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag=
github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE=
github.com/go-sql-driver/mysql v1.4.1/go.mod h1:zAC/RDZ24gD3HViQzih4MyKcchzm+sOG5ZlKdlhCg5w=
github.com/go-stack/stack v1.8.0 h1:5SgMzNM5HxrEjV0ww2lTmX6E2Izsfxas4+YHWRs3Lsk=
github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY=
github.com/go-swagger/go-swagger v0.23.0 h1:WrzNj+tp0pK8B5K5Sf4Rab0xvrIINiX0rrgqvW0fY0k=
github.com/go-swagger/go-swagger v0.23.0/go.mod h1:5AaV4Dx69cUjpFRTZnSHPr1Y7dKBVk6SvfIvkTEqwJs=
github.com/go-swagger/scan-repo-boundary v0.0.0-20180623220736-973b3573c013 h1:l9rI6sNaZgNC0LnF3MiE+qTmyBA/tZAg1rtyrGbUMK0=
github.com/go-swagger/scan-repo-boundary v0.0.0-20180623220736-973b3573c013/go.mod h1:b65mBPzqzZWxOZGxSWrqs4GInLIn+u99Q9q7p+GKni0=
github.com/gobuffalo/attrs v0.0.0-20190224210810-a9411de4debd/go.mod h1:4duuawTqi2wkkpB4ePgWMaai6/Kc6WEz83bhFwpHzj0=
github.com/gobuffalo/depgen v0.0.0-20190329151759-d478694a28d3/go.mod h1:3STtPUQYuzV0gBVOY3vy6CfMm/ljR4pABfrTeHNLHUY=
github.com/gobuffalo/depgen v0.1.0/go.mod h1:+ifsuy7fhi15RWncXQQKjWS9JPkdah5sZvtHc2RXGlg=
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/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/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/gitgen v0.0.0-20190315122116-cc086187d211/go.mod h1:vEHJk/E9DmhejeLeNt7UVvlSGv3ziL+djtTr3yyzcOw=
github.com/gobuffalo/gogen v0.0.0-20190315121717-8f38393713f5/go.mod h1:V9QVDIxsgKNZs6L2IYiGR8datgMhB577vzTDqypH360=
github.com/gobuffalo/gogen v0.1.0/go.mod h1:8NTelM5qd8RZ15VjQTFkAW6qOMx5wBbW4dSCS3BY8gg=
github.com/gobuffalo/gogen v0.1.1/go.mod h1:y8iBtmHmGc4qa3urIyo1shvOD8JftTtfcKi+71xfDNE=
github.com/gobuffalo/logger v0.0.0-20190315122211-86e12af44bc2/go.mod h1:QdxcLw541hSGtBnhUc4gaNIXRjiDppFGaDqzbrBd3v8=
github.com/gobuffalo/mapi v1.0.1/go.mod h1:4VAGh89y6rVOvm5A8fKFxYG+wIW6LO1FMTG9hnKStFc=
github.com/gobuffalo/mapi v1.0.2/go.mod h1:4VAGh89y6rVOvm5A8fKFxYG+wIW6LO1FMTG9hnKStFc=
github.com/gobuffalo/packd v0.0.0-20190315124812-a385830c7fc0/go.mod h1:M2Juc+hhDXf/PnmBANFCqx4DM3wRbgDvnVWeG2RIxq4=
github.com/gobuffalo/packd v0.1.0/go.mod h1:M2Juc+hhDXf/PnmBANFCqx4DM3wRbgDvnVWeG2RIxq4=
github.com/gobuffalo/packr/v2 v2.0.9/go.mod h1:emmyGweYTm6Kdper+iywB6YK5YzuKchGtJQZ0Odn4pQ=
github.com/gobuffalo/packr/v2 v2.2.0/go.mod h1:CaAwI0GPIAv+5wKLtv8Afwl+Cm78K/I/VCm/3ptBN+0=
github.com/gobuffalo/syncx v0.0.0-20190224160051-33c29581e754/go.mod h1:HhnNqWY95UYwwW3uSASeV7vtgYkT2t16hJgV3AEPUpw=
github.com/gogo/protobuf v1.0.0/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ=
github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ=
github.com/gogo/protobuf v1.2.1/go.mod h1:hp+jE20tsWTFYpLwKvXlhS1hjn+gTNwPg2I6zVXpSg4=
github.com/golang/gddo v0.0.0-20190815223733-287de01127ef/go.mod h1:xEhNfoBDX1hzLm2Nf80qUvZ2sVwoMZ8d6IE2SrsQfh4=
github.com/golang/gddo v0.0.0-20190904175337-72a348e765d2 h1:xisWqjiKEff2B0KfFYGpCqc3M3zdTz+OHQHRc09FeYk=
github.com/golang/gddo v0.0.0-20190904175337-72a348e765d2/go.mod h1:xEhNfoBDX1hzLm2Nf80qUvZ2sVwoMZ8d6IE2SrsQfh4=
github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q=
github.com/golang/glog v1.1.0 h1:/d3pCKDPWNnvIWe0vVUpNP32qc8U3PDVxySP/y360qE=
github.com/golang/glog v1.1.0/go.mod h1:pfYeQZ3JWZoXTV5sFc986z3HTpwQs9At6P4ImfuP3NQ=
github.com/golang/groupcache v0.0.0-20190129154638-5b532d6fd5ef/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
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.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.5/go.mod h1:6O5/vntMXwX2lRkT1hjjk0nAC1IDOTvTlVgjlRvqsdk=
github.com/golang/snappy v0.0.1/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q=
github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk=
github.com/golang/protobuf v1.5.3 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg=
github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY=
github.com/gomarkdown/markdown v0.0.0-20200824053859-8c8b3816f167 h1:LP/6EfrZ/LyCc+SXvANDrIJ4sP9u2NAtqyv6QknetNQ=
github.com/gomarkdown/markdown v0.0.0-20200824053859-8c8b3816f167/go.mod h1:aii0r/K0ZnHv7G0KF7xy1v0A7s2Ljrb5byB7MO5p6TU=
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 h1:+dTQ8DZQJz0Mb/HjFlkptS1FeQ4cWSnN941F8aEG4SQ=
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 h1:Xye71clBPdm5HgqGwUkwhbynsUJZhDbS20FvLhQ2izg=
github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU=
github.com/google/uuid v1.0.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
github.com/google/uuid v1.1.1 h1:Gkbcsh/GbpXz7lPftLA3P6TYMwjCLYm83jiFQZF/3gY=
github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38=
github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
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 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/gopherjs/gopherjs v0.0.0-20190812055157-5d271430af9f h1:KMlcu9X58lhTA/KrfX8Bi1LQSO4pzoVjTiL3h4Jk+Zk=
github.com/gopherjs/gopherjs v0.0.0-20190812055157-5d271430af9f/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY=
github.com/gorilla/context v0.0.0-20160226214623-1ea25387ff6f/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/mux v1.6.1/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.8.0 h1:i40aqfkR1h2SlN9hojwV5ZA91wcXFOvkdNIeFDP5koI=
github.com/gorilla/mux v1.8.0/go.mod h1:DVbg23sWSpFRCP0SfiEN6jmj59UnW/n46BH5rLB71So=
github.com/gorilla/websocket v1.2.0/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ=
github.com/gorilla/websocket v1.4.0 h1:WDFjx/TMzVgy9VdMMQi2K2Emtwi2QcUQsztZ/zLaH/Q=
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/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.9.0/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY=
github.com/hashicorp/golang-lru v0.5.0 h1:CL2msUPvZTLb5O648aiLNJw3hnBxN2+1Jq8rCOH9wdo=
github.com/grpc-ecosystem/grpc-gateway/v2 v2.16.0 h1:YBftPWNWd4WwGqtY2yeZL2ef8rHAxPBD8KFhJpmcqms=
github.com/grpc-ecosystem/grpc-gateway/v2 v2.16.0/go.mod h1:YN5jB8ie0yfIUg6VvR9Kz84aCaG7AsGZnLjhHbUqwPg=
github.com/h2non/filetype v1.1.0 h1:Or/gjocJrJRNK/Cri/TDEKFjAR+cfG6eK65NGYB6gBA=
github.com/h2non/filetype v1.1.0/go.mod h1:319b3zT68BvV+WRj7cwy856M2ehB3HqNOt6sy1HndBY=
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/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8=
github.com/jessevdk/go-flags v1.4.0 h1:4IU2WS7AumrZ/40jfhf4QVDMsQwqA7VEHozFRrGARJA=
github.com/jessevdk/go-flags v1.4.0/go.mod h1:4FA24M0QyGHXBuZZK/XkWh8h0e1EYbRYJSGM75WSRxI=
github.com/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/jmoiron/sqlx v0.0.0-20150110152746-69738bd20981/go.mod h1:IiEW3SEiiErVyFdH8NTuWjSifiEQKUoyK3LNqr2kCHU=
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=
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/kisielk/errcheck v1.1.0/go.mod h1:EZBBE59ingxPouuu3KfxchcWSUPOHkagtvWXihfKN4Q=
github.com/kisielk/errcheck v1.2.0/go.mod h1:/BMXB+zMLi60iA8Vv6Ksmxu/1UDYcXs4uQLJ+jE2L00=
github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck=
github.com/klauspost/compress v1.9.5/go.mod h1:RyIbtBH6LamlWaDj8nUwkbUhJ87Yi3uG0guNDohfE1A=
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 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=
github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE=
github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk=
github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
github.com/kr/pty v1.1.5/go.mod h1:9r2w37qlBe7rQ6e1fg1S/9xpWHSnaqNdHD3WcMdbPDA=
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/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE=
@@ -231,244 +171,307 @@ github.com/lib/pq v1.2.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo=
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/mailru/easyjson v0.0.0-20180823135443-60711f1a8329/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc=
github.com/mailru/easyjson v0.0.0-20190312143242-1de009706dbe/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc=
github.com/mailru/easyjson v0.0.0-20190614124828-94de47d64c63/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc=
github.com/mailru/easyjson v0.0.0-20190626092158-b2ccc519800e/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc=
github.com/mailru/easyjson v0.7.0/go.mod h1:KAzv3t3aY1NaHWoQz1+4F1ccyAH66Jk7yos7ldAVICs=
github.com/mailru/easyjson v0.7.1 h1:mdxE1MF9o53iCb2Ghj1VfWvh7ZOwHpnVG/xwXrV90U8=
github.com/mailru/easyjson v0.7.1/go.mod h1:KAzv3t3aY1NaHWoQz1+4F1ccyAH66Jk7yos7ldAVICs=
github.com/markbates/oncer v0.0.0-20181203154359-bf2de49a0be2/go.mod h1:Ld9puTsIW75CHf65OeIOkyKbteujpZVXDpWK6YGZbxE=
github.com/markbates/safe v1.0.1/go.mod h1:nAqgmRi7cY2nqMc92/bSEeQA+R4OheNU2T1kNSCBdG0=
github.com/matryer/is v1.4.1 h1:55ehd8zaGABKLXQUe2awZ99BD/PTc2ls+KV/dXphgEQ=
github.com/matryer/is v1.4.1/go.mod h1:8I/i5uYgLzgsgEloJE1U6xx5HkBQpAZvepWuujKwMRU=
github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU=
github.com/mattn/go-isatty v0.0.3/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4=
github.com/mattn/go-sqlite3 v1.11.0/go.mod h1:FPy6KqzDD04eiIsT53CuJW3U88zkxoIYsOqkbpncsNc=
github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0=
github.com/matttproud/golang_protobuf_extensions v1.0.4 h1:mmDVorXM7PCGKw94cs5zkfA9PSy5pEvNWRP0ET0TIVo=
github.com/matttproud/golang_protobuf_extensions v1.0.4/go.mod h1:BSXmuO+STAnVfrANrmjBb36TMTDstsz7MSK+HVaYKv4=
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-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 v0.0.0-20180203102830-a4e142e9c047/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/montanaflynn/stats v0.0.0-20171201202039-1bf9dbcd8cbe/go.mod h1:wL8QJuTMNUDYhXwkmfOly8iTdp5TEcJFWZD2D7SIkUc=
github.com/mitchellh/mapstructure v1.5.0 h1:jeMsZIYE/09sWLaz43PL7Gy6RuMjD2eJVyuac5Z2hdY=
github.com/mitchellh/mapstructure v1.5.0/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo=
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/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U=
github.com/oklog/ulid v1.3.1/go.mod h1:CirwcVhetQ6Lv90oh/F+FBtV6XMibvdAFo93nm5qn4U=
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/pascaldekloe/goe v0.0.0-20180627143212-57f6aae5913c/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc=
github.com/patrickmn/go-cache v2.1.0+incompatible/go.mod h1:3Qf8kWWT7OJRJbdiICTKqZju1ZixQ/KpMGzzAfe6+WQ=
github.com/pborman/uuid v1.2.0/go.mod h1:X/NO0urCmaxf9VXbdlT7C2Yzkj2IKimNn4k+gtPdI/k=
github.com/pelletier/go-toml v1.2.0/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/94hg7ilaic=
github.com/pelletier/go-toml v1.4.0 h1:u3Z1r+oOXJIkxqw34zVhyPgjBsm6X2wn21NWs/HfSeg=
github.com/pelletier/go-toml v1.4.0/go.mod h1:PN7xzY2wHTK0K9p34ErDQMlFxa51Fk0OUruD3k1mMwo=
github.com/pelletier/go-toml v1.6.0 h1:aetoXYr0Tv7xRU/V4B4IZJ2QcbtMUFoNb3ORp7TzIK4=
github.com/pelletier/go-toml v1.6.0/go.mod h1:5N711Q9dKgbdkxHL+MEfF31hpT7l0S0s/t2kKREewys=
github.com/pelletier/go-toml v1.5.0/go.mod h1:5N711Q9dKgbdkxHL+MEfF31hpT7l0S0s/t2kKREewys=
github.com/pelletier/go-toml v1.8.0 h1:Keo9qb7iRJs2voHvunFtuuYFsbWeOBh8/P9v/kVMFtw=
github.com/pelletier/go-toml v1.8.0/go.mod h1:D6yutnOGMveHEPV7VQOuvI/gXY61bv+9bAOTRnLElKs=
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=
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/pquerna/cachecontrol v0.0.0-20180517163645-1555304b9b35/go.mod h1:prYjPmNq4d1NPVmpShWobRqXY3q7Vp+80DqgxxUrUIA=
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/go.mod h1:/TN21ttK/J9q6uSwhBd54HahCDft0ttaMvbicHlPoso=
github.com/prometheus/client_golang v1.17.0 h1:rl2sfwZMtSthVU752MqfjQozy7blglC+1SOtjMAMh+Q=
github.com/prometheus/client_golang v1.17.0/go.mod h1:VeL+gMmOAxkS2IqfCq0ZmHSL+LjWfWDUmp1mBz9JgUY=
github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo=
github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA=
github.com/prometheus/client_model v0.4.1-0.20230718164431-9a2bf3000d16 h1:v7DLqVdK4VrYkVD5diGdl4sxJurKJEMnODWRJlxV9oM=
github.com/prometheus/client_model v0.4.1-0.20230718164431-9a2bf3000d16/go.mod h1:oMQmHW1/JoDwqLtg57MGgP/Fb1CJEYF2imWWhWtMkYU=
github.com/prometheus/common v0.0.0-20181113130724-41aa239b4cce/go.mod h1:daVV7qP5qjZbuso7PdcryaAu0sAZbrN9i7WWcTMWvro=
github.com/prometheus/common v0.4.0/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4=
github.com/prometheus/common v0.44.0 h1:+5BrQJwiBB9xsMygAB3TNvpQKOwlkc25LbISbrdOOfY=
github.com/prometheus/common v0.44.0/go.mod h1:ofAIvZbQ1e/nugmZGz4/qCb9Ap1VoSTIO7x0VV9VvuY=
github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk=
github.com/prometheus/procfs v0.0.0-20190507164030-5867b95ac084/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA=
github.com/prometheus/procfs v0.12.0 h1:jluTpSng7V9hY0O2R9DzzJHYb2xULk9VTR1V1R/k6Bo=
github.com/prometheus/procfs v0.12.0/go.mod h1:pcuDEFsWDnvcgNzo4EEweacyhjeA9Zk3cnaOZAZEfOo=
github.com/prometheus/tsdb v0.7.1/go.mod h1:qhTCs0VvXwvX/y3TZrWD7rabWM+ijKTux40TwIPHuXU=
github.com/remyoudompheng/go-liblzma v0.0.0-20190506200333-81bf2d431b96 h1:J8J/cgLDRuqXJnwIrRDBvtl+LLsdg7De74znW/BRRq4=
github.com/remyoudompheng/go-liblzma v0.0.0-20190506200333-81bf2d431b96/go.mod h1:90HvCY7+oHHUKkbeMCiHt1WuFR2/hPJ9QrljDG+v6ls=
github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod h1:XWv6SoW27p1b0cqNHllgS5HIMJraePCO15w5zCzIWYg=
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.10.0 h1:TMyTOH3F/DB16zRVcYyreMH6GnZZrwQVAoYjRBZyWFQ=
github.com/rogpeppe/go-internal v1.10.0/go.mod h1:UQnix2H7Ngw/k4C5ijL5+65zddjncjaFoBhdsK/akog=
github.com/rs/cors v1.6.0 h1:G9tHG9lebljV9mfp9SNPDL36nCDxmo3zTlAf1YgvzmI=
github.com/rs/cors v1.6.0/go.mod h1:gFx+x8UowdsKA9AchylcLynDq+nNFfI8FkUZdN/jGCU=
github.com/sergi/go-diff v1.0.0 h1:Kpca3qRNrduNnOQeazBd0ysaKrUJiIuISHxogkT9RPQ=
github.com/ryanuber/columnize v0.0.0-20160712163229-9b3edd62028f/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts=
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/shurcooL/httpfs v0.0.0-20171119174359-809beceb2371/go.mod h1:ZY1cvUeJuFPAdZ/B6v7RHavJWZn2YPVFQ1OSXhCGOkg=
github.com/shurcooL/vfsgen v0.0.0-20180121065927-ffb13db8def0/go.mod h1:TrYk7fJVaAttu97ZZKrO9UbRa8izdowaMIZcxYMbVaw=
github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo=
github.com/sirupsen/logrus v1.4.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo=
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/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc=
github.com/smartystreets/assertions v0.0.0-20190401211740-f487f9de1cd3 h1:hBSHahWMEgzwRyS6dRpxY0XyjZsHyQ61s084wo5PJe0=
github.com/smartystreets/assertions v0.0.0-20190401211740-f487f9de1cd3/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc=
github.com/smartystreets/goconvey v0.0.0-20170602164621-9e8dc3f972df h1:AawEzDdiSpy07QO9efSOHQ/BRincGLxilju4pOq3k8s=
github.com/smartystreets/goconvey v0.0.0-20170602164621-9e8dc3f972df/go.mod h1:XDJAKZRPZ1CvBcN2aX5YOUTYGHki24fSF0Iv48Ibg0s=
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/sour-is/go-assetfs v1.0.0 h1:84Fd12qIAdZUOKjYIgsA1J27fcQF/JiSgiflz+2hqEA=
github.com/sour-is/go-assetfs v1.0.0/go.mod h1:y4ShXMTRymi5OMvwbtfT3sxcRE72sx1ycYymT46JbRE=
github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA=
github.com/spf13/afero v1.1.2/go.mod h1:j4pytiNVoe2o6bmDsKpLACNPDBIoEAkihy7loJ1B0CQ=
github.com/spf13/afero v1.2.2 h1:5jhuqJyZCZf2JRofRvN/nIFgIWNzPa3/Vz8mYylgbWc=
github.com/spf13/afero v1.2.2/go.mod h1:9ZxEEn6pIJ8Rxe320qSDBk6AsU0r9pR7Q4OcevTdifk=
github.com/spf13/cast v1.3.0 h1:oget//CVOEoFewqQxwr0Ej5yjygnqGkvggSE/gB35Q8=
github.com/spf13/afero v1.3.2 h1:GDarE4TJQI52kYSbSAmLiId1Elfj+xgSDqrUZxFhxlU=
github.com/spf13/afero v1.3.2/go.mod h1:5KUK8ByomD5Ti5Artl0RtHeI5pTF7MIDuXL3yY520V4=
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/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.3 h1:zPAT6CGy6wXeQ7NtTnaTerfKOsV6V6F8agHXFiazDkg=
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 h1:yXHLWeravcrgGyFSyCgdYpXQ9dR9c/WED3pg1RhxqEU=
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.1 h1:pM5oEahlgWv/WnHXpgbKz7iLIxRf65tye2Ci+XFK5sk=
github.com/spf13/viper v1.7.1/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=
github.com/stretchr/testify v1.2.1/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs=
github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs=
github.com/stretchr/testify v1.3.0 h1:TivCn/peBQ7UY8ooIcPgZFpTNSz0Q2U6UrFlUfqbe0Q=
github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
github.com/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.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk=
github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo=
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/tidwall/pretty v1.0.0 h1:HsD+QiTn7sK6flMKIvNmpqz1qrpP3Ps6jOKIKMooyg4=
github.com/tidwall/pretty v1.0.0/go.mod h1:XNkn88O1ChpSDQmQeStsy+sBenx6DDtFZJxhVysOjyk=
github.com/tmc/grpc-websocket-proxy v0.0.0-20190109142713-0ad062ec5ee5/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U=
github.com/toqueteos/webbrowser v1.2.0 h1:tVP/gpK69Fx+qMJKsLE7TD8LuGWPnEV71wBN9rrstGQ=
github.com/toqueteos/webbrowser v1.2.0/go.mod h1:XWoZq4cyp9WeUeak7w7LXRUQf1F1ATJMir8RTqb4ayM=
github.com/ugorji/go v1.1.4/go.mod h1:uQMGLiO92mf5W77hV/PUCpI3pbzQx3CRekS0kk+RGrc=
github.com/urfave/cli v1.20.0 h1:fDqGv3UG/4jbVl/QkFwEdddtEDjh/5Ov6X+0B/3bPaw=
github.com/urfave/cli v1.20.0/go.mod h1:70zkFmudgCuE/ngEzBv17Jvp/497gISqfk5gWijbERA=
github.com/vektah/dataloaden v0.2.1-0.20190515034641-a19b9a6e7c9e h1:+w0Zm/9gaWpEAyDlU1eKOuk5twTjAjuevXqcJJw8hrg=
github.com/vektah/dataloaden v0.2.1-0.20190515034641-a19b9a6e7c9e/go.mod h1:/HUdMve7rvxZma+2ZELQeNh88+003LL7Pf/CZ089j8U=
github.com/vektah/gqlparser v1.1.2 h1:ZsyLGn7/7jDNI+y4SEhI4yAxRChlv15pUHMjijT+e68=
github.com/vektah/gqlparser v1.1.2/go.mod h1:1ycwN7Ij5njmMkPPAOaRFY4rET2Enx7IkVv3vaXspKw=
github.com/xdg/scram v0.0.0-20180814205039-7eeb5667e42c/go.mod h1:lB8K/P019DLNhemzwFU4jHLhdvlE6uDZjXFejJXr49I=
github.com/xdg/stringprep v0.0.0-20180714160509-73f8eece6fdc/go.mod h1:Jhud4/sHMO4oL310DaZAKk9ZaJ08SJfe+sJh0HrGL1Y=
github.com/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/yosssi/gmq v0.0.1 h1:GhlDVaAQoi3Mvjul/qJXXGfL4JBeE0GQwbWp3eIsja8=
github.com/yosssi/gmq v0.0.1/go.mod h1:mReykazh0U1JabvuWh1PEbzzJftqOQWsjr0Lwg5jL1Y=
github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
go.etcd.io/bbolt v1.3.2/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU=
go.mongodb.org/mongo-driver v1.0.3/go.mod h1:u7ryQJ+DOzQmeO7zB6MHyr8jkEQvC8vH7qLUO4lqsUM=
go.mongodb.org/mongo-driver v1.1.1/go.mod h1:u7ryQJ+DOzQmeO7zB6MHyr8jkEQvC8vH7qLUO4lqsUM=
go.mongodb.org/mongo-driver v1.1.2/go.mod h1:u7ryQJ+DOzQmeO7zB6MHyr8jkEQvC8vH7qLUO4lqsUM=
go.mongodb.org/mongo-driver v1.3.0/go.mod h1:MSWZXKOynuguX+JSvwP8i+58jYCXxbia8HS3gZBapIE=
go.mongodb.org/mongo-driver v1.3.1 h1:op56IfTQiaY2679w922KVWa3qcHdml2K/Io8ayAOUEQ=
go.mongodb.org/mongo-driver v1.3.1/go.mod h1:MSWZXKOynuguX+JSvwP8i+58jYCXxbia8HS3gZBapIE=
go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU=
go.opencensus.io v0.22.0/go.mod h1:+kGneAE2xo2IficOXnaByMWTGM9T73dGwxeWcUqIpI8=
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.44.0 h1:KfYpVmrjI7JuToy5k8XV3nkapjWx48k4E4JOtVstzQI=
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.44.0/go.mod h1:SeQhzAEccGVZVEy7aH87Nh0km+utSpo1pTv6eMMop48=
go.opentelemetry.io/contrib/instrumentation/runtime v0.42.0 h1:EbmAUG9hEAMXyfWEasIt2kmh/WmXUznUksChApTgBGc=
go.opentelemetry.io/contrib/instrumentation/runtime v0.42.0/go.mod h1:rD9feqRYP24P14t5kmhNMqsqm1jvKmpx2H2rKVw52V8=
go.opentelemetry.io/otel v1.18.0 h1:TgVozPGZ01nHyDZxK5WGPFB9QexeTMXEH7+tIClWfzs=
go.opentelemetry.io/otel v1.18.0/go.mod h1:9lWqYO0Db579XzVuCKFNPDl4s73Voa+zEck3wHaAYQI=
go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.18.0 h1:IAtl+7gua134xcV3NieDhJHjjOVeJhXAnYf/0hswjUY=
go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.18.0/go.mod h1:w+pXobnBzh95MNIkeIuAKcHe/Uu/CX2PKIvBP6ipKRA=
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.18.0 h1:6pu8ttx76BxHf+xz/H77AUZkPF3cwWzXqAUsXhVKI18=
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.18.0/go.mod h1:IOmXxPrxoxFMXdNy7lfDmE8MzE61YPcurbUm0SMjerI=
go.opentelemetry.io/otel/exporters/prometheus v0.41.0 h1:A3/bhjP5SmELy8dcpK+uttHeh9Qrh+YnS16/VzrztRQ=
go.opentelemetry.io/otel/exporters/prometheus v0.41.0/go.mod h1:mKuXEMi9suyyNJQ99SZCO0mpWGFe0MIALtjd3r6uo7Q=
go.opentelemetry.io/otel/metric v1.18.0 h1:JwVzw94UYmbx3ej++CwLUQZxEODDj/pOuTCvzhtRrSQ=
go.opentelemetry.io/otel/metric v1.18.0/go.mod h1:nNSpsVDjWGfb7chbRLUNW+PBNdcSTHD4Uu5pfFMOI0k=
go.opentelemetry.io/otel/sdk v1.18.0 h1:e3bAB0wB3MljH38sHzpV/qWrOTCFrdZF2ct9F8rBkcY=
go.opentelemetry.io/otel/sdk v1.18.0/go.mod h1:1RCygWV7plY2KmdskZEDDBs4tJeHG92MdHZIluiYs/M=
go.opentelemetry.io/otel/sdk/metric v0.41.0 h1:c3sAt9/pQ5fSIUfl0gPtClV3HhE18DCVzByD33R/zsk=
go.opentelemetry.io/otel/sdk/metric v0.41.0/go.mod h1:PmOmSt+iOklKtIg5O4Vz9H/ttcRFSNTgii+E1KGyn1w=
go.opentelemetry.io/otel/trace v1.18.0 h1:NY+czwbHbmndxojTEKiSMHkG2ClNH2PwmcHrdo0JY10=
go.opentelemetry.io/otel/trace v1.18.0/go.mod h1:T2+SGJGuYZY3bjj5rgh/hN7KIrlpWC5nS8Mjvzckz+0=
go.opentelemetry.io/proto/otlp v1.0.0 h1:T0TX0tmXU8a3CbNXzEKGeU5mIVOdf0oykP+u2lIVU/I=
go.opentelemetry.io/proto/otlp v1.0.0/go.mod h1:Sy6pihPLfYHkr3NkUbEhGHFhINUSI/v80hjKIs5JXpM=
go.sour.is/paste v0.0.0-20231022150928-96338f2f4441 h1:9un6JVrufqnWGBKxYKSfgQlh1rV7HztT8Bns0YdyZDc=
go.sour.is/paste v0.0.0-20231022150928-96338f2f4441/go.mod h1:ydiXZa7htkXTbifRHxUR+LppH3kXrN1XqPd19VSzPdI=
go.sour.is/pkg v0.0.6 h1:tbE3zxl0WtCn7isPBWEEjZVzDhV8lWGU6qmfVR0t5gw=
go.sour.is/pkg v0.0.6/go.mod h1:IKGL3C4IkY3HPA2txGjBi1JPOEU5PJOUzQwt+qYZBW0=
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=
go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0=
go.uber.org/multierr v1.11.0/go.mod h1:20+QtiLqy0Nd6FdQB9TLXag12DsQkrbs3htMFfDN80Y=
go.uber.org/zap v1.10.0/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q=
golang.org/dl v0.0.0-20190829154251-82a15e2f2ead/go.mod h1:IUMfjQLJQd4UTqG1Z90tenwKoCX93Gn3MAQJMOSBsDQ=
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-20190320223903-b7391e95e576/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
golang.org/x/crypto v0.0.0-20190422162423-af44ce270edf/go.mod h1:WFFai1msRO1wXaEeE5yQxYXgSfI8pQAWXbQop6sCtWE=
golang.org/x/crypto v0.0.0-20190530122614-20be4c3c3ed5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
golang.org/x/crypto v0.0.0-20190611184440-5c40567a22f8/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
golang.org/x/crypto v0.0.0-20190617133340-57b3e21c3d56/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
golang.org/x/crypto v0.0.0-20200311171314-f7b00557c8c4 h1:QmwruyY+bKbDDL0BaglrbZABEali68eoMFhTZpCjYVA=
golang.org/x/crypto v0.0.0-20200311171314-f7b00557c8c4/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
golang.org/x/crypto v0.0.0-20200728195943-123391ffb6de h1:ikNHVSjEfnvz6sxdSPCaPt572qowuyMDMJLLm3Db3ig=
golang.org/x/crypto v0.0.0-20200728195943-123391ffb6de/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
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-20190820162420-60c769a6c586/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
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-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/mod v0.2.0 h1:KU7oHjnv3XNWfa5COkzUifxZmxp1TyI7ImMXqFxLwvQ=
golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
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/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-20181005035420-146acd28ed58/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-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-20190320064053-1272bf9dcd53/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=
golang.org/x/net v0.0.0-20190827160401-ba9fcec4b297/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 h1:GuSPYbZzB5/dcLNCwLQLsg3obCJtX9IJhpXkvY7kzk0=
golang.org/x/net v0.0.0-20200301022130-244492dfa37a/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
golang.org/x/net v0.17.0 h1:pVaXccu2ozPjCXewfr1S7xza/zcXTity9cCdXQYSjIM=
golang.org/x/net v0.17.0/go.mod h1:NxSsAGuq816PNPmqtQdLE42eU2Fs7NoRIZrHJAlaCOE=
golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
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/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.3.0 h1:ftCYgMx6zT/asHUrPw8BLLscYtGznsLAnjq5RH9P66E=
golang.org/x/sync v0.3.0/go.mod h1:FU7BRWz2tNW+3quACPkgCx/L+uEAv1htQ0V83Z9Rj+Y=
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-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-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20190321052220-f7bb7a8bee54/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190403152447-81d4e9dc473e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190312061237-fead79001313/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-20190531175056-4c3a928424d2/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190616124812-15dcb6c0061f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190813064441-fde4db37ae7a/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-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-20191005200804-aed5e4c7ecf9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200302150141-5c8b2ff67527 h1:uYVVQ9WP/Ds2ROhcaGPeIdVq0RIXVLwsHlnvJ+cT1So=
golang.org/x/sys v0.0.0-20200302150141-5c8b2ff67527/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200817085935-3ff754bf58a9 h1:MEU99+Z67sctTw1UjDlQ6wjRF77I43fOt7YKWktVvXw=
golang.org/x/sys v0.0.0-20200817085935-3ff754bf58a9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20191010194322-b09406accb47/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.13.0 h1:Af8nKPmuFypiUBjVoU9V20FiaFXOcuZI21p0ycVYYGE=
golang.org/x/sys v0.13.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.2 h1:tW2bmiBqwgJj/UpqtC8EpXEZVYOwU0yG4iWbprSVAcs=
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.13.0 h1:ablQoSUd0tRdKxZewP80B+BaqeKJuVhuRxj/dkrun3k=
golang.org/x/text v0.13.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE=
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/tools v0.0.0-20180221164845-07fd8470d635/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-20181030221726-6c7e314b6563/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-20190125232054-d66bd3c5d5a6/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
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-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-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-20190515012406-7d7faa4812bd h1:oMEQDWVXVNpceQoVd1JN3CQ7LYJJzs5qWqZIUcxXHHw=
golang.org/x/tools v0.0.0-20190425150028-36563e24a262/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q=
golang.org/x/tools v0.0.0-20190506145303-2d16b83fe98c/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q=
golang.org/x/tools v0.0.0-20190515012406-7d7faa4812bd/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q=
golang.org/x/tools v0.0.0-20190531172133-b3315ee88b7d/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc=
golang.org/x/tools v0.0.0-20190614205625-5aca471b1d59/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc=
golang.org/x/tools v0.0.0-20190617190820-da514acc4774/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc=
golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
golang.org/x/tools v0.0.0-20200313205530-4303120df7d8 h1:gkI/wGGwpcG5W4hLCzZNGxA4wzWBGGDStRI1MrjDl2Q=
golang.org/x/tools v0.0.0-20200313205530-4303120df7d8/go.mod h1:Sl4aGygMT6LrqrWclx+PTx3U+LnKx/seiNR+3G19Ar8=
golang.org/x/tools v0.0.0-20190606124116-d0a3d012864b/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-20190628153133-6cdbf07be9d0/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc=
golang.org/x/tools v0.0.0-20190816200558-6889da9d5479/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-20191012152004-8de300cfc20a/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
golang.org/x/tools v0.0.0-20191112195655-aa38f8e97acc/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
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=
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.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
google.golang.org/appengine v1.6.5/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc=
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=
google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc=
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/genproto v0.0.0-20230711160842-782d3b101e98 h1:Z0hjGZePRE0ZBWotvtrwxFNrNE9CUAGtplaDK5NNI/g=
google.golang.org/genproto v0.0.0-20230711160842-782d3b101e98/go.mod h1:S7mY02OqCJTD0E1OiQy1F72PWFB4bZJ87cAtLPYgDR0=
google.golang.org/genproto/googleapis/api v0.0.0-20230711160842-782d3b101e98 h1:FmF5cCW94Ij59cfpoLiwTgodWmm60eEV0CjlsVg2fuw=
google.golang.org/genproto/googleapis/api v0.0.0-20230711160842-782d3b101e98/go.mod h1:rsr7RhLuwsDKL7RmgDDCUc6yaGr1iqceVb5Wv6f6YvQ=
google.golang.org/genproto/googleapis/rpc v0.0.0-20230711160842-782d3b101e98 h1:bVf09lpb+OJbByTj913DRJioFFAjf/ZGxEz7MajTp2U=
google.golang.org/genproto/googleapis/rpc v0.0.0-20230711160842-782d3b101e98/go.mod h1:TUfxEVdsvPg18p6AslUXFoLdpED4oBnGwyqk3dV1XzM=
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=
google.golang.org/grpc v1.58.0 h1:32JY8YpPMSR45K+c3o6b8VL73V+rR8k+DeMIr4vRH8o=
google.golang.org/grpc v1.58.0/go.mod h1:tgX3ZQDlNJGU96V6yHh1T/JeoBQ2TXdr43YbYSsCJk0=
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=
google.golang.org/protobuf v1.31.0 h1:g0LDEJHgrBl9N9r17Ru3sqWhkIx2NB67okBHPwC7hs8=
google.golang.org/protobuf v1.31.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I=
gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw=
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-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk=
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q=
gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI=
gopkg.in/ini.v1 v1.51.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k=
gopkg.in/ini.v1 v1.54.0 h1:oM5ElzbIi7gwLnNbPX2M25ED1vSAK3B6dex50eS/6Fs=
gopkg.in/ini.v1 v1.54.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k=
gopkg.in/ini.v1 v1.57.0 h1:9unxIsFcTt4I55uWluz+UmL95q4kdJ0buvQ1ZIqVQww=
gopkg.in/ini.v1 v1.57.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k=
gopkg.in/resty.v1 v1.12.0/go.mod h1:mDo4pnntr5jdWRML875a/NmxYqAlA73dVijT2AXvQQo=
gopkg.in/square/go-jose.v2 v2.4.1/go.mod h1:M9dMgbHiYLoDGQrXy7OpJDJWiKiU//h+vD76mk0e1AI=
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 h1:ZCJp+EgiOT7lHqUV2J862kp8Qj64Jo6az82+3Td9dZw=
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.8 h1:obN1ZagJSUGI0Ek/LBmuj4SNLPfIny3KsKFopxRdj10=
gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
gopkg.in/yaml.v2 v2.3.0/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.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
sour.is/x/toolbox v0.11.4 h1:PjmA4YvwoEb/zL6f4+z3li6/JGf0bIKRSX8TBy8Tyg4=
sour.is/x/toolbox v0.11.4/go.mod h1:MLNZOpClEsvFr5CNIBMZv9V56pIBmaI7mKWChr4AGSU=
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=
sour.is/x/toolbox v0.12.17 h1:m+8fAl5dkuu2HsmkOuefb6tDFzpPq93xAAtZZvBxySk=
sour.is/x/toolbox v0.12.17/go.mod h1:DMM+aEl38izskLKuH+nDwEHH4FznK6dEiDcPR3wAq5s=
sourcegraph.com/sourcegraph/appdash v0.0.0-20180110180208-2cc67fd64755/go.mod h1:hI742Nqp5OhwiqlzhgfbWU4mW4yO10fP+LoT9WOswdU=
sourcegraph.com/sourcegraph/appdash-data v0.0.0-20151005221446-73f23eafcf67/go.mod h1:L5q+DGLGOQFpo1snNEkLOJT2d1YTW66rWNzatr3He1k=
+358
View File
@@ -0,0 +1,358 @@
package image
import (
"context"
"crypto/sha256"
"encoding/base64"
"encoding/json"
"errors"
"fmt"
"io"
"net/http"
"os"
"path/filepath"
"strconv"
"strings"
"time"
"github.com/h2non/filetype"
"go.opentelemetry.io/otel/attribute"
"go.opentelemetry.io/otel/metric"
"go.opentelemetry.io/otel/trace"
"golang.org/x/sys/unix"
"go.sour.is/paste/src/pkg/readutil"
"go.sour.is/pkg/lg"
)
type image struct {
store string
maxSize int64
m_image_get metric.Int64Counter
m_image_post metric.Int64Counter
m_image_error metric.Int64Counter
}
const DefaultMaxSize = 500 * 1024 * 1024
func New(ctx context.Context, store string, maxSize int64) (a *image, err error) {
a = &image{
store: store,
maxSize: DefaultMaxSize,
}
if maxSize > 0 {
a.maxSize = maxSize
}
if !chkStore(a.store) {
return nil, fmt.Errorf("image Store location [%s] does not exist or is not writable", a.store)
}
m := lg.Meter(ctx)
var merr error
a.m_image_get, merr = m.Int64Counter("m_image_get",
metric.WithDescription("retrieve image from store"),
)
err = errors.Join(err, merr)
a.m_image_post, merr = m.Int64Counter("m_image_post",
metric.WithDescription("save image to store"),
)
err = errors.Join(err, merr)
a.m_image_error, merr = m.Int64Counter("m_image_error",
metric.WithDescription("image api error"),
)
err = errors.Join(err, merr)
return a, err
}
func (a *image) RegisterHTTP(mux *http.ServeMux) {
mux.Handle("/i", http.StripPrefix("/i", a))
mux.Handle("/i/", http.StripPrefix("/i/", a))
mux.Handle("/3/upload", a)
}
func (a *image) ServeHTTP(w http.ResponseWriter, r *http.Request) {
ctx := r.Context()
ctx, span := lg.Span(ctx)
defer span.End()
switch r.Method {
case http.MethodGet, http.MethodHead:
a.m_image_get.Add(ctx, 1)
name := strings.TrimPrefix(r.URL.Path, "/")
if name != "" {
rdr, head, err := a.loadFile(ctx, name)
if err != nil {
a.m_image_error.Add(ctx, 1)
writeError(w, err)
span.RecordError(err)
return
}
defer rdr.Close()
w.Header().Set("X-Content-Type-Options", "nosniff")
w.Header().Set("Accept-Ranges", "bytes")
w.Header().Set("Content-Type", head.Mime)
w.Header().Set("ETag", head.ETag)
w.Header().Set("Last-Modified", head.Modified.Format(time.RFC850))
if r.Method == http.MethodHead {
return
}
// io.Copy(w, rdr)
http.ServeContent(w, r, "", head.Modified, rdr)
return
}
case http.MethodPost:
a.m_image_post.Add(ctx, 1)
var err error
defer r.Body.Close()
var fd io.ReadCloser = r.Body
if r.URL.Path == "/3/upload" {
span.AddEvent("Imgur Emulation")
if data := r.FormValue("image"); data != "" {
var rdr io.Reader = strings.NewReader(data)
if t := r.FormValue("type"); t == "base64" {
rdr = base64.NewDecoder(base64.StdEncoding, rdr)
}
fd = io.NopCloser(rdr)
} else if fd, _, err = r.FormFile("image"); err != nil {
if err != nil {
span.RecordError(err)
w.WriteHeader(http.StatusBadRequest)
return
}
defer fd.Close()
}
w.WriteHeader(http.StatusOK)
} else {
w.WriteHeader(http.StatusCreated)
}
length := 0
if h := r.Header.Get("Content-Length"); h != "" {
if i, err := strconv.Atoi(h); err != nil {
length = i
}
}
id, err := a.put(ctx, fd, length)
if err != nil {
a.m_image_error.Add(ctx, 1)
writeError(w, err)
span.RecordError(err)
return
}
type data struct {
Link string `json:"link"`
DeleteHash string `json:"deletehash"`
}
var resp = struct {
Data data `json:"data"`
Success bool `json:"success"`
Status int `json:"status"`
}{
Data: data{
Link: fmt.Sprintf("https://%s/i/%s", r.Host, id),
},
Success: true,
Status: 200,
}
err = json.NewEncoder(w).Encode(resp)
span.RecordError(err)
default:
http.Error(w, http.StatusText(http.StatusNotFound), http.StatusNotFound)
}
}
func (a *image) loadFile(ctx context.Context, name string) (io.ReadSeekCloser, *Header, error) {
_, span := lg.Span(ctx)
defer span.End()
ext := filepath.Ext(name)
id := strings.TrimSuffix(name, ext)
fname := filepath.Join(a.store, id)
if !chkFile(fname) {
return nil, nil, fmt.Errorf("%w: %s", ErrNotFound, fname)
}
if chkGone(fname) {
return nil, nil, fmt.Errorf("%w: %s", ErrGone, fname)
}
f, err := os.Open(fname)
if err != nil {
return nil, nil, err
}
stat, err := f.Stat()
if err != nil {
return nil, nil, err
}
pr := readutil.NewPreviewReader(f)
mime, err := readutil.ReadMIME(pr, name)
if err != nil {
return nil, nil, err
}
f.Seek(0, 0)
return f,
&Header{Mime: mime, Modified: stat.ModTime(), ETag: name},
nil
}
func (a *image) put(ctx context.Context, r io.ReadCloser, length int) (string, error) {
_, span := lg.Span(ctx)
defer span.End()
defer r.Close()
span.AddEvent("content length", trace.WithAttributes(attribute.Int64("max-size", a.maxSize), attribute.Int("length", length)))
if length > 0 {
if int64(length) > a.maxSize {
return "", ErrSizeTooLarge
}
}
rdr := io.LimitReader(r, a.maxSize)
pr := readutil.NewPreviewReader(rdr)
if !isImageOrVideo(pr) {
span.AddEvent("not image")
return "", ErrUnsupportedType
}
rdr = pr.Drain()
s256 := sha256.New()
tmp, err := os.CreateTemp(a.store, "image-")
if err != nil {
span.RecordError(err)
return "", fmt.Errorf("%w: %w", ErrBadInput, err)
}
defer os.Remove(tmp.Name())
m := io.MultiWriter(s256, tmp)
if _, err := io.Copy(m, rdr); err != nil {
span.RecordError(err)
return "", fmt.Errorf("%w: %w", ErrBadInput, err)
}
tmp.Close()
id := base64.RawURLEncoding.EncodeToString(s256.Sum(nil)[12:])
fname := filepath.Join(a.store, id)
span.AddEvent("image: moving file", trace.WithAttributes(attribute.String("image-src", tmp.Name()), attribute.String("image-dst", fname)))
_ = os.Rename(tmp.Name(), fname)
return id, nil
}
func isImageOrVideo(in io.Reader) bool {
buf := make([]byte, 320)
_, err := in.Read(buf)
if err != nil {
return false
}
return filetype.IsImage(buf) || filetype.IsVideo(buf)
}
func chkStore(path string) bool {
file, err := os.Stat(path)
if err != nil && os.IsNotExist(err) {
err = os.MkdirAll(path, 0744)
if err != nil {
return false
}
file, err = os.Stat(path)
}
if err != nil {
return false
}
if !file.IsDir() {
return false
}
if unix.Access(path, unix.W_OK&unix.R_OK) != nil {
return false
}
return true
}
func chkFile(path string) bool {
file, err := os.Stat(path)
if err != nil {
return false
}
if file.IsDir() {
return false
}
if unix.Access(path, unix.W_OK&unix.R_OK) != nil {
return false
}
return true
}
func chkGone(path string) bool {
file, err := os.Stat(path)
if err != nil {
return true
}
if file.Size() == 0 {
return true
}
return false
}
func writeError(w http.ResponseWriter, err error) {
switch {
case errors.Is(err, ErrGone):
w.WriteHeader(http.StatusGone)
case errors.Is(err, ErrNotFound):
w.WriteHeader(http.StatusNotFound)
case errors.Is(err, ErrReadingContent):
w.WriteHeader(http.StatusInternalServerError)
case errors.Is(err, ErrUnsupportedType):
w.WriteHeader(http.StatusUnsupportedMediaType)
}
}
type Header struct {
Mime string
Modified time.Time
ETag string
}
var (
ErrNotFound = errors.New("not found")
ErrGone = errors.New("gone")
ErrReadingContent = errors.New("reading content")
ErrSizeTooLarge = errors.New("size too large")
ErrBadInput = errors.New("bad input")
ErrUnsupportedType = errors.New("unsupported type")
)
+118
View File
@@ -0,0 +1,118 @@
package image_test
import (
"bytes"
"context"
"encoding/base64"
"fmt"
"mime/multipart"
"net/http"
"net/http/httptest"
"os"
"strings"
"testing"
"github.com/matryer/is"
"go.sour.is/paste/v2/image"
)
var testImage = "iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mP8z/C/HgAGgwJ/lK3Q6wAAAABJRU5ErkJggg=="
func TestPostImgur(t *testing.T) {
is := is.New(t)
ctx := context.Background()
dir, err := os.MkdirTemp("", "image")
is.NoErr(err)
im, err := image.New(ctx, dir, 0)
is.NoErr(err)
{
body := &bytes.Buffer{}
wr := multipart.NewWriter(body)
w, err := wr.CreateFormField("type")
is.NoErr(err)
fmt.Fprint(w, "base64")
w, err = wr.CreateFormField("image")
is.NoErr(err)
fmt.Fprint(w, testImage)
err = wr.Close()
is.NoErr(err)
t.Log(body.String())
req := httptest.NewRequest("POST", "/3/upload", body)
req.Header.Set("Content-Type", "multipart/form-data; boundary="+wr.Boundary())
res := httptest.NewRecorder()
im.ServeHTTP(res, req)
is.Equal(res.Code, http.StatusOK)
is.Equal(res.Body.String(), `{"data":{"link":"https://example.com/i/Igg59VTi6JNuXVriXMR3U_lzfAc","deletehash":""},"success":true,"status":200}
`)
}
{
req := httptest.NewRequest("GET", "/Igg59VTi6JNuXVriXMR3U_lzfAc", nil)
res := httptest.NewRecorder()
im.ServeHTTP(res, req)
is.Equal(res.Code, http.StatusOK)
s := base64.StdEncoding.EncodeToString(res.Body.Bytes())
is.Equal(s, testImage)
t.Log(res.Header())
is.Equal(res.Header().Get("ETag"), "Igg59VTi6JNuXVriXMR3U_lzfAc")
}
err = os.RemoveAll(dir)
is.NoErr(err)
}
func TestPost(t *testing.T) {
is := is.New(t)
ctx := context.Background()
dir, err := os.MkdirTemp("", "image")
is.NoErr(err)
im, err := image.New(ctx, dir, 0)
is.NoErr(err)
{
req := httptest.NewRequest("POST", "/i", base64.NewDecoder(base64.StdEncoding, strings.NewReader(testImage)))
res := httptest.NewRecorder()
im.ServeHTTP(res, req)
is.Equal(res.Code, http.StatusCreated)
is.Equal(res.Body.String(), `{"data":{"link":"https://example.com/i/Igg59VTi6JNuXVriXMR3U_lzfAc","deletehash":""},"success":true,"status":200}
`)
}
{
req := httptest.NewRequest("GET", "/Igg59VTi6JNuXVriXMR3U_lzfAc", nil)
res := httptest.NewRecorder()
im.ServeHTTP(res, req)
is.Equal(res.Code, http.StatusOK)
s := base64.StdEncoding.EncodeToString(res.Body.Bytes())
is.Equal(s, testImage)
}
err = os.RemoveAll(dir)
is.NoErr(err)
}
+50
View File
@@ -0,0 +1,50 @@
package main
import (
"context"
"errors"
"log"
"log/slog"
"net/http"
"os"
"os/signal"
"strconv"
"go.sour.is/pkg/lg"
"go.sour.is/pkg/service"
)
var apps service.Apps
var appName, version = service.AppName()
func main() {
ctx, cancel := signal.NotifyContext(context.Background(), os.Interrupt, os.Kill)
go func() {
<-ctx.Done()
defer cancel() // restore interrupt function
}()
if err := run(ctx); err != nil {
log.Fatal(err)
os.Exit(1)
}
}
func run(ctx context.Context) error {
// TODO: make this configurable.
level := slog.LevelInfo
if ok, _ := strconv.ParseBool(os.Getenv("LOG_DEBUG")); ok {
level = slog.LevelDebug
}
slog.SetDefault(slog.New(slog.NewJSONHandler(os.Stdout, &slog.HandlerOptions{Level: level})))
svc := &service.Harness{}
ctx, stop := lg.Init(ctx, appName)
svc.OnStop(stop)
svc.Add(lg.NewHTTP(ctx))
svc.Setup(ctx, apps.Apps()...)
// Run application
if err := svc.Run(ctx, appName, version); err != nil && !errors.Is(err, http.ErrServerClosed) {
return err
}
return nil
}
+188
View File
@@ -0,0 +1,188 @@
package paste
import (
"bufio"
"crypto/sha256"
"encoding/base64"
"errors"
"fmt"
"io"
"io/ioutil"
"os"
"path/filepath"
"strconv"
"strings"
"time"
"go.sour.is/paste/src/pkg/readutil"
"golang.org/x/sys/unix"
"sour.is/x/toolbox/log"
)
type Paste struct {
store string
}
func New(store string) (p *Paste, err error) {
p = &Paste{}
p.store = store
if !chkStore(p.store) {
err = fmt.Errorf("paste: store location [%s] does not exist or is not writable", p.store)
return
}
return
}
func chkStore(path string) bool {
file, err := os.Stat(path)
if err != nil && os.IsNotExist(err) {
err = os.MkdirAll(path, 0744)
if err != nil {
return false
}
file, err = os.Stat(path)
}
if err != nil {
return false
}
if !file.IsDir() {
return false
}
if unix.Access(path, unix.W_OK&unix.R_OK) != nil {
return false
}
return true
}
func chkFile(path string) bool {
file, err := os.Stat(path)
if err != nil {
return false
}
if file.IsDir() {
return false
}
if unix.Access(path, unix.W_OK&unix.R_OK) != nil {
return false
}
return true
}
func chkGone(path string) bool {
file, err := os.Stat(path)
if err != nil {
return true
}
if file.Size() == 0 {
return true
}
return false
}
func (p *Paste) Get(w io.Writer, id string) error {
fname := filepath.Join(p.store, id)
if !chkFile(fname) {
return ErrNotFound
}
if chkGone(fname) {
return ErrGone
}
f, err := os.Open(fname)
if err != nil {
return fmt.Errorf("%w: %w", ErrReadingContent, err)
}
defer f.Close()
pr := readutil.NewPreviewReader(f)
keep := true
scanner := bufio.NewScanner(pr)
for scanner.Scan() {
txt := scanner.Text()
log.Debug(txt)
// End of header found
if txt == "" {
break
}
if strings.HasPrefix(txt, "exp:") {
now := time.Now().Unix()
exp, err := strconv.ParseInt(strings.TrimSpace(strings.TrimPrefix(txt, "exp:")), 10, 64)
if err != nil {
return fmt.Errorf("%w: %w", ErrReadingContent, err)
}
log.Debugf("%d > %d", now, exp)
if now > exp {
deleteFile(fname)
return ErrGone
}
}
if strings.HasPrefix(txt, "burn:") {
burn := strings.TrimSpace(strings.TrimPrefix(txt, "burn:"))
if burn == "true" {
keep = false
}
}
}
_, _ = io.Copy(w, pr.Drain())
if !keep {
deleteFile(fname)
}
return nil
}
func (p *Paste) Set(r io.ReadCloser) (string, error) {
defer r.Close()
rdr := io.LimitReader(r, 1048576)
s256 := sha256.New()
tmp, _ := os.CreateTemp(p.store, "arch-")
defer os.Remove(tmp.Name())
m := io.MultiWriter(s256, tmp)
if _, err := io.Copy(m, rdr); err != nil {
return "", fmt.Errorf("%w: %w", ErrBadInput, err)
}
tmp.Close()
id := base64.RawURLEncoding.EncodeToString(s256.Sum(nil)[12:])
fname := filepath.Join(p.store, id)
_ = os.Rename(tmp.Name(), fname)
return id, nil
}
func deleteFile(path string) {
_ = ioutil.WriteFile(path, nil, 0644)
}
var (
ErrNotFound = errors.New("not found")
ErrGone = errors.New("gone")
ErrReadingContent = errors.New("reading content")
ErrBadInput = errors.New("bad input")
)
-1
View File
@@ -1 +0,0 @@
public/swagger.json
-477
View File
@@ -1,477 +0,0 @@
// Code generated by github.com/sour-is/go-assetfs, DO NOT EDIT.
// sources:
// public/favicon-16x16.png (445B)
// public/favicon-32x32.png (1.141kB)
// public/index.html (3.503kB)
// public/oauth2-redirect.html (2.388kB)
// public/swagger-ui-bundle.js (1.555MB)
// public/swagger-ui-standalone-preset.js (440.915kB)
// public/swagger-ui.css (153.54kB)
// public/swagger-ui.js (361.688kB)
// public/swagger.json (4.895kB)
package docs
import (
"github.com/sour-is/go-assetfs/pkg/assetfs"
"bytes"
"compress/gzip"
"crypto/sha256"
"fmt"
"io"
"io/ioutil"
"os"
"path/filepath"
"strings"
"time"
)
func bindataRead(data []byte, name string) ([]byte, error) {
gz, err := gzip.NewReader(bytes.NewBuffer(data))
if err != nil {
return nil, fmt.Errorf("read %q: %v", name, err)
}
var buf bytes.Buffer
_, err = io.Copy(&buf, gz)
clErr := gz.Close()
if err != nil {
return nil, fmt.Errorf("read %q: %v", name, err)
}
if clErr != nil {
return nil, err
}
return buf.Bytes(), nil
}
type asset struct {
bytes []byte
info os.FileInfo
digest [sha256.Size]byte
}
type bindataFileInfo struct {
name string
size int64
mode os.FileMode
modTime time.Time
}
func (fi bindataFileInfo) Name() string {
return fi.name
}
func (fi bindataFileInfo) Size() int64 {
return fi.size
}
func (fi bindataFileInfo) Mode() os.FileMode {
return fi.mode
}
func (fi bindataFileInfo) ModTime() time.Time {
return fi.modTime
}
func (fi bindataFileInfo) IsDir() bool {
return false
}
func (fi bindataFileInfo) Sys() interface{} {
return nil
}
var _publicFavicon16x16Png = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x00\xbd\x01\x42\xfe\x89\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\x00\x00\x10\x00\x00\x00\x10\x08\x06\x00\x00\x00\x1f\xf3\xff\x61\x00\x00\x01\x84\x49\x44\x41\x54\x78\x01\x95\x53\x03\x4c\x75\x71\x1c\xfd\x8c\xf1\xc3\xec\x30\xa7\x29\xcd\x61\xb6\x6b\x36\xb2\x9b\xf9\xb2\x6b\xc8\x35\x2f\xdb\x8d\x71\x78\xc6\x94\x6d\xcc\x7b\xef\x7f\x4f\xff\xf3\x6c\xdc\xed\xf2\xe0\xfe\xf8\xc9\xff\x50\x14\x11\x2f\x14\x5b\xa3\x50\xc4\xa1\xbc\x3f\xf1\x74\x3e\x37\x12\x73\x13\x03\x85\xca\x37\x49\x52\x09\x61\xb5\x6a\x8f\xa7\x31\xbe\x5d\x88\xf6\xb9\x4c\xf0\x1c\x93\xcf\xda\xe3\x29\x10\x93\x66\x8d\xe4\x06\x13\xcf\xde\x3c\x9b\xd1\x34\x95\x8a\x92\x81\x4f\x41\xcf\x46\x89\xdd\x3c\x9b\x20\x4d\xe6\x7d\x4c\xe4\x07\x15\xc5\xf5\xe3\xff\x49\x0c\x7b\xd6\x8d\xff\x73\x99\x34\xba\x73\x66\x68\xae\x3f\xaf\x6b\x1a\x70\x72\x77\x10\x20\x3c\xb9\xdb\xc7\x86\xa6\xd1\x19\x49\x0a\xa8\xb1\xd7\x84\x79\x33\x67\x17\x31\x54\x24\xb5\x63\x7f\x71\xfb\x62\x71\xbf\x6b\x8e\x27\x1d\x51\xb0\xc2\x2c\x92\x0b\x78\x7c\x3b\x46\xe5\xf0\xef\x00\x83\xf2\xa1\x1f\x78\x7c\x3f\x71\xbd\xcb\xc2\x16\x80\x5a\x46\xf0\xc4\x4a\xf3\xe3\xe4\x6e\x31\xcc\x17\x6b\x60\x3a\x7d\xcb\x79\xe8\x98\xcb\x42\xc7\x7c\x36\x7a\x97\x72\xd1\x34\x9d\x06\xd3\xf9\x8a\xe4\x94\x90\x8b\xb6\xd9\x0c\x50\xeb\x63\x40\xd0\x7c\xbe\x2a\xc9\x34\xc8\xa7\x98\x27\xcd\x68\x00\xe3\xd9\x32\xa6\x76\x4b\x7d\x0c\x42\xa4\xf0\x2b\x44\x0a\xc7\x81\x29\xb0\x10\x9a\xe3\xa9\xd8\x8b\x78\xe4\x28\xa2\xbb\x8d\x6c\x0d\x01\xb6\x8a\x2d\xf3\x37\x38\xbe\xdd\xc7\xa6\xb6\xc9\xd9\xc6\x64\xd8\x5c\x6d\xf4\x0c\x92\x09\x75\x51\x0e\xd2\xf5\xb3\xd1\xf1\x77\xdf\x51\x16\xb3\x34\x61\x24\xa1\xc4\xc4\x28\x56\xbc\x46\xd9\xdf\xa4\x91\xe9\xb0\x26\x2c\x12\x2b\xcd\x93\xcf\x1c\x1c\x62\xdc\xca\x00\x71\x74\xeb\xcc\x2d\x14\x89\xfe\xfc\x0f\x6d\x32\x6a\x88\xec\xcc\x73\x18\x00\x00\x00\x00\x49\x45\x4e\x44\xae\x42\x60\x82\x01\x00\x00\xff\xff\xd4\x60\x34\x74\xbd\x01\x00\x00")
func publicFavicon16x16PngBytes() ([]byte, error) {
return bindataRead(
_publicFavicon16x16Png,
"public/favicon-16x16.png",
)
}
func publicFavicon16x16Png() (*asset, error) {
bytes, err := publicFavicon16x16PngBytes()
if err != nil {
return nil, err
}
info := bindataFileInfo{name: "public/favicon-16x16.png", size: 445, mode: os.FileMode(0644), modTime: time.Unix(1597590050, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xc, 0x68, 0x7c, 0x67, 0x37, 0x47, 0x67, 0x80, 0x51, 0xf, 0x5f, 0x47, 0x4e, 0x83, 0x3b, 0xe4, 0x54, 0x78, 0xa6, 0xba, 0x9d, 0x9, 0x84, 0xd4, 0x2d, 0x9d, 0xf6, 0x13, 0x25, 0xd0, 0x83, 0x8d}}
return a, nil
}
var _publicFavicon32x32Png = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x00\x75\x04\x8a\xfb\x89\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\x00\x00\x20\x00\x00\x00\x20\x08\x06\x00\x00\x00\x73\x7a\x7a\xf4\x00\x00\x04\x3c\x49\x44\x41\x54\x78\x01\xbd\x57\x03\xcc\x65\x59\x0c\x7e\x6b\xdb\xb6\x6d\xc4\x5e\xc7\x5e\xdb\xb6\x3d\x46\xf0\xdb\xb6\x6d\xdb\xb6\x6d\xf3\xa2\xd3\x6f\xf2\xce\x33\x7f\x35\x69\xee\x61\xdb\x5b\x1f\x8d\xa3\xa0\xaa\xea\xa9\xb2\xb2\xf9\xa4\xac\x48\x3f\xf2\x37\x42\x92\xd7\xab\x78\x3c\x02\x94\xe4\x8d\x1a\xfe\x46\x61\x0f\x67\x70\x56\xb3\x53\xa0\xa8\xf2\x85\x4c\xf8\x7b\x45\x91\xfa\x88\x54\x72\x04\x70\x96\x05\xf9\x91\xef\x5e\x6c\x8f\xbe\x9d\x3f\x96\xde\x66\x22\x53\x82\x30\xaf\xd1\xf0\x74\x03\x95\xb4\x7a\x52\x62\xe5\xcf\x14\x5e\xf4\x21\x90\xc7\x3f\x51\x71\xab\x07\xef\xd5\x13\xce\x08\xc0\x5d\xa6\xf1\x2e\x68\x39\xc9\x5c\xb9\x98\xff\x20\x4e\x10\x5b\xdf\x5c\xa6\xbc\xa6\xe3\xf4\x6f\xc4\xdd\xf4\x99\xa7\xc6\x26\xfe\x13\x71\x17\xe5\x36\x1e\xe3\x3b\x4b\x3a\xa1\x59\x88\x04\xd0\x74\x94\xf9\xd5\x7c\xa1\x41\x5c\xae\xea\x0a\xa1\x5f\x82\xaf\x01\x71\xa7\xf0\x97\xa0\xab\xa9\xb2\x33\x08\x34\x84\x59\x9a\x98\xf6\xb5\x76\xff\x5c\x30\x67\xc7\xa2\x90\xfc\xb7\x41\x6c\x5b\x18\x9c\xff\x26\xb1\xc3\x1a\x08\xa1\x5e\x6c\xcb\xe6\x71\x82\xb9\x47\xc6\x2b\x20\xb0\x23\xe8\x9e\xf6\xa2\xa1\x10\x09\x16\x7d\x02\x0e\x07\x75\x01\x43\xf2\xdf\xc2\xc5\x1d\xc5\xa0\xbc\x37\x48\xd0\x87\x63\x9a\xaa\xfe\x42\xf6\xd8\x09\x62\xa8\xea\x0a\x36\xba\xf8\xb5\xcf\x39\x54\xd1\x11\x40\xab\xeb\x73\x34\x34\x55\x6b\x97\xd1\xe0\x54\x0d\xad\x6e\xcc\xc3\xfe\xf4\xb5\xef\xb9\x46\x7b\x15\x9d\x01\xba\xe8\x30\x0a\x51\xc4\xb9\xf0\x76\x53\x87\x8b\x2e\xfd\x82\x00\xe3\x73\x6d\x94\xdd\x70\xc8\xae\x00\xd9\xf5\x07\x69\x6c\xb6\x85\x00\xb1\x65\x5f\x1b\xed\xfd\x1c\x74\x95\x2e\x3a\x90\xb4\x74\xb6\x67\xbb\xf4\x60\x31\x8f\xc3\xc7\x94\x20\xa2\x00\xb0\x3f\xfa\x21\x87\xd5\xfd\x5f\xd4\x7d\x04\xa8\xed\x89\x30\xdb\xcb\x69\x38\xa2\xf5\x05\xb9\xef\xa4\x2f\x20\x75\x8a\x90\x43\x0c\x9b\x5e\x68\x19\x4c\x21\xc0\xef\xa1\x37\x39\x2c\x00\xb4\x08\x68\x1d\x4c\x33\xdb\xfb\x3b\xfc\x0e\x5d\x68\x32\xef\xa7\x35\x50\x05\x26\xc8\x62\x38\x60\x2e\x40\x1a\x01\x7e\x0b\xb9\xde\x61\x01\x7e\x0c\xbc\x1c\x4c\xa8\x75\x28\xdd\xd2\x3e\x7c\x49\x44\xc4\xcf\xd0\x40\x04\x26\x25\xad\x1e\x16\x0f\xf7\x8d\x97\x41\x52\xfa\xca\xe7\x6c\x87\x05\xf8\xd2\xfb\x0c\x84\x1d\x0d\x4c\x56\x59\xdc\x2f\x6a\x75\x13\x1a\x88\xd2\xa0\xaa\x61\x82\x7c\x6e\x7a\x70\x5f\xf4\x03\xc8\x09\xd4\x3b\x5e\x8a\x39\x7d\xee\x75\x9a\x91\x20\x60\x04\x14\x73\xec\xe1\x0c\xc6\x5d\xa3\x05\x60\x60\xd1\x77\x12\x2a\x7e\x20\x00\xf3\xae\xd3\xa0\x9c\x62\x82\xa2\x62\x78\x28\xb3\x6e\x1f\x71\x78\xd2\xf2\xda\x34\x1d\x8a\x7d\x1c\x6b\xd4\x3e\x9c\x49\x2b\xeb\xb3\xf4\x6b\xc8\x75\x60\x4c\x93\xf3\x5d\x34\xb5\xd0\xc3\xe3\x33\xd9\xee\xd7\xf2\xd9\x19\xea\x18\xc9\xc1\x59\x3a\x18\xfb\x28\x2d\xad\x4e\x82\x06\x65\xd5\x1f\x30\xa2\x1d\x56\xf8\xbe\x30\xc1\x98\x35\x01\xf8\xd2\x7e\x5c\xa6\xa5\xb5\x29\x26\xf6\x98\x56\x80\x6c\xe4\x03\xf8\x03\x04\x00\x73\x9a\x5e\xec\x85\x00\xf4\x2b\x0b\x00\xe1\x3a\x47\xf2\x70\x96\x0e\xc4\x3c\x42\x8b\xab\x13\xa0\x81\xd0\xb4\x2e\x00\xab\xd8\xaa\x09\xf6\xc7\x3c\xac\x35\x41\x09\xe6\xf4\x05\xab\xf7\x6b\x23\x13\x9c\x09\x34\x32\xc1\x17\x3a\x13\xe4\xc3\x04\x10\xde\xae\x09\x22\x30\x29\xb6\xe6\x84\x13\xc2\x09\xcf\x72\xda\x09\xfb\x27\x2b\x2d\x3b\x61\x8b\x70\x42\x29\x66\x77\xc2\x30\xc0\x66\x18\x22\x5d\x0b\x01\x10\x86\x92\x41\x22\xba\x73\x0f\x12\xd1\xed\x06\x89\x48\x7a\x5a\x9b\x8a\xe5\x3e\x2c\xe4\x36\x1e\x35\xbb\x50\xdd\x15\x4a\x80\x7d\xce\xa4\xe2\xc8\x7b\x6d\xa4\xe2\xc3\xc2\x01\x07\xc0\xdb\xa4\x18\x2d\xa1\x93\x31\xba\x10\x53\xfa\x25\xb6\x50\x60\x10\x19\x76\x99\x23\x7c\x47\x67\x9b\x09\x10\x57\xf6\x8d\x49\x31\xba\x92\xd6\x36\x17\x45\x12\xfa\xd9\xa8\xf3\x55\x54\x65\x0a\x1b\x95\x9d\x81\x66\xe5\x18\xa5\x75\x6d\x63\x81\x86\xa6\xeb\xec\x09\x80\x34\xcb\x67\x17\xa1\x39\xfa\xc6\xf7\x3c\xa3\xbd\xf2\x0e\x7f\x02\x80\x97\x59\xc7\xac\x18\x34\x24\x68\xa3\x76\xba\x21\x09\xcc\x7b\xcd\xb4\x21\xb1\xd8\x92\x25\x68\xe3\x93\xdc\xd3\x5f\xda\x31\xe6\xae\x69\xcf\x83\xa6\x70\xbc\x24\xf0\xb2\xda\x94\xa2\x71\x14\x42\x40\x13\xdb\xff\xf3\xd7\x0d\xfa\x41\xb9\xc5\x6e\x7b\x8e\xd6\x59\x08\x01\x75\xc1\x27\x7e\x16\x8e\xe9\x04\xa2\xfb\x41\x2b\xc7\x34\x0c\x98\xab\xd7\x3a\xfc\x30\xd1\x76\xaf\x24\xa2\x23\xb7\xf1\x08\xfd\x6d\x21\x4f\x58\x68\x38\x10\x6a\x7c\x67\xd1\xe0\x61\xb2\x99\x04\x9a\x5b\x79\x9a\xbd\x6b\xf2\x34\x43\x24\xa0\x9e\x23\x9f\xa3\xa8\x00\x31\xc6\x1a\x22\xc0\xe4\x69\xa6\xcc\x30\xf3\xf7\xb7\xf5\x58\x45\xb8\xe0\xa1\xc9\xc2\x0c\x90\x83\x80\x24\x83\x38\xdf\xd6\xe3\xd4\x82\x46\x4e\x47\x0f\x87\x36\x8a\xbf\x31\xa8\x64\x28\xa7\x40\x8c\x51\x58\x90\xdb\x19\x9f\xc5\x59\x47\xe9\x9e\x00\xa5\x79\x33\x5d\x9a\x4a\xe1\x22\x00\x00\x00\x00\x49\x45\x4e\x44\xae\x42\x60\x82\x01\x00\x00\xff\xff\x36\x42\xc8\xd7\x75\x04\x00\x00")
func publicFavicon32x32PngBytes() ([]byte, error) {
return bindataRead(
_publicFavicon32x32Png,
"public/favicon-32x32.png",
)
}
func publicFavicon32x32Png() (*asset, error) {
bytes, err := publicFavicon32x32PngBytes()
if err != nil {
return nil, err
}
info := bindataFileInfo{name: "public/favicon-32x32.png", size: 1141, mode: os.FileMode(0644), modTime: time.Unix(1597590050, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x16, 0x5, 0x8a, 0x65, 0x62, 0x83, 0x24, 0xec, 0xdb, 0x3d, 0xb9, 0x9e, 0x94, 0x20, 0x89, 0x8b, 0x53, 0x6e, 0x25, 0xf, 0x15, 0x89, 0x4a, 0x4a, 0x7e, 0xd0, 0x5b, 0xaf, 0x16, 0xa9, 0x57, 0xba}}
return a, nil
}
var _publicIndexHtml = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xdc\x57\xdf\x6f\xe3\x36\x12\x7e\xf7\x5f\x31\x55\x1f\xda\xde\x2e\x47\x24\xf5\x8b\xd2\xda\x3e\x60\xd3\x3b\xa4\x40\x16\x5d\x60\x77\x73\x38\x1c\x0e\x07\x59\xa2\x6d\xee\xd2\xa2\x21\x52\x76\x92\x76\xff\xf7\x03\x29\x2b\x49\x73\xde\xe0\xba\xe8\x53\xe1\x44\x9c\x70\xbe\x19\x7e\xf3\x8d\x14\x8f\xe6\xdf\x10\x02\x97\xef\xdf\x5c\xc1\xda\xf4\x60\x5d\xed\x54\x03\xad\xb2\xae\x57\xab\xc1\x29\xd3\xc1\x6a\xe8\x5a\x2d\x61\x35\x28\xdd\x02\x21\xcb\xd9\xfc\x9b\x1f\x7f\xbe\x78\xff\xcf\xb7\x7f\x83\xad\xdb\xe9\xe5\x6c\xee\x17\xd0\x75\xb7\x59\x44\xb2\x8b\xfc\x86\xac\xdb\xe5\x0c\x60\xbe\x93\xae\x86\x66\x5b\xf7\x56\xba\x45\xf4\xe1\xfd\xdf\x89\x88\x82\xc3\x29\xa7\xe5\xf2\xdd\xb1\xde\x6c\x64\x0f\x1f\x7e\x9a\xc7\xe3\x8e\xf7\x69\xd5\x7d\x82\x6d\x2f\xd7\x8b\x68\xeb\xdc\xde\x56\x71\xbc\x36\x9d\xb3\xb8\x31\x66\xa3\x65\xbd\x57\x16\x1b\xb3\x8b\x1b\x6b\xff\xba\xae\x77\x4a\xdf\x2e\x7e\xde\xcb\xee\xc5\xbb\xba\xb3\x55\x4a\xe9\xcb\x82\xd2\x5f\xdf\x99\xa1\x6f\xe4\x8b\x0b\xd3\xca\x17\x6f\x7b\x53\x25\x94\xbe\xcc\x29\xfd\xf5\xbd\x72\x4a\x6b\x35\xec\x5e\xfc\x43\xae\x02\x3a\x1f\x23\x22\xe8\xa5\x5e\x44\xd6\xdd\x6a\x69\xb7\x52\xba\xe8\x81\xcc\x53\x0f\xb8\xdb\xbd\x5c\x44\x4e\xde\x38\xcf\x22\x3a\xb1\xc5\xd8\x8e\x05\x91\x41\x61\xd8\x7f\x92\x42\x35\xa6\x9b\x82\xd5\xae\xde\xc8\x78\xdf\x6d\x1e\xa2\xd7\xf5\xc1\x23\x48\xc2\x6f\x12\x8e\xc1\x65\xd5\x9d\xb4\x8b\x28\xec\x44\x10\x7f\x5d\x3e\x96\xdf\xb0\xfc\x37\xf9\xc2\xce\x94\x2f\x14\xe6\x2d\x08\x0d\x0d\xc6\x2f\xe1\x0a\xb0\x32\x37\xc4\xaa\x3b\xd5\x6d\x2a\x58\x99\xbe\x95\x3d\x59\x99\x9b\x57\x27\xaf\x39\xc8\x7e\xad\xcd\xb1\x02\xb2\x33\x77\xc4\x36\xbd\xd1\x7a\x55\xf7\x96\x1c\x64\xef\x54\x53\xeb\xa7\x48\x72\x5b\xc1\x08\x1b\x3d\x9f\xc3\xf5\x2f\x2f\xc7\xa5\x5a\xc9\xb5\xe9\xe5\xf4\x57\xbd\x76\xb2\xff\x22\x1d\xd5\x6d\x65\xaf\xdc\x94\x67\x36\xfa\xdb\xdb\x7b\xf0\xae\xee\x37\xaa\xab\xe8\xc4\x61\x55\x37\x9f\x36\xbd\x19\xba\xb6\x82\x6f\xd7\xb5\xff\x3c\x90\x98\xc7\x27\x19\xe6\xf1\x78\xf7\xce\xe6\x3e\x99\x5f\xed\x61\x03\x37\x3b\xdd\xd9\xf1\x7e\xac\xe2\xf8\x78\x3c\xe2\x31\x41\xd3\x6f\x62\x4e\x29\x8d\xed\x61\x13\x8d\x90\xea\xc6\x77\xe7\x1c\x90\x95\x65\x19\x07\x6f\x04\xe1\xa8\x45\xb4\x37\x56\xf9\x47\xac\xaa\x57\xd6\xe8\xc1\xc9\x57\x47\xd5\xba\x6d\x45\x5f\x6d\xa5\xda\x6c\x5d\x45\xc7\x7b\xb0\x95\x6b\x3b\xf6\x67\x6e\x6f\x77\x2b\xa3\xe1\xa0\xe4\xf1\xb5\xb9\x59\x44\x14\x28\x70\xff\x13\x81\x6a\x17\xd1\xd0\x69\xd3\x7c\x92\x6d\xb4\x3c\xd5\x1c\x82\xf6\xb5\xdb\x42\xbb\x88\xde\xb0\x0c\x05\x88\x4b\x96\x5e\x67\x98\x5f\xb0\x14\x38\x16\x34\x01\xc6\x31\xcf\x33\x60\xc0\x28\x30\x28\x30\x49\x52\x60\x90\x9f\xbc\x39\x64\x98\x5f\xe7\x5b\x7e\x20\x28\x28\xbb\x10\x90\x60\x91\xa5\x20\xb0\x28\x0b\x48\x7c\x50\xd2\x30\xe4\x34\xf1\x5c\x20\xf8\x38\x70\x64\x65\x79\x2d\x2e\xd3\x86\x60\x96\x25\x40\x09\x03\xcc\xd3\x9c\x30\x60\xc1\xc5\x8a\x86\x02\x66\x69\x89\x29\x17\x7e\x2f\x29\xb1\xcc\xbc\x37\xa1\x85\xf6\x98\x02\x13\x51\x5c\x64\x98\x17\x1c\x98\x40\x91\x33\xc8\x31\xcb\x80\x95\x50\x20\x03\x56\x6e\x33\x14\x8d\x4f\x01\x14\x98\x4f\x43\x7c\x16\x60\x3e\x0f\xb9\x4f\x93\x13\x9f\xa7\xc1\x8c\xa7\x04\x59\x5e\x60\x99\x25\x04\x8b\x6c\x34\xfc\x71\xf9\x75\xe9\x29\x5d\xb0\x02\x84\xe7\x08\x2c\xc7\x24\xe3\x20\x60\x14\xec\x2e\x5a\xce\x63\x2f\xe2\xa9\x09\xf1\xd8\x85\xe5\xec\xff\xea\xc9\x93\x8e\xfc\x21\xdd\xf8\x93\xe8\xfa\x86\x71\x10\x97\xe2\x3a\x0b\xb0\xdf\x75\x63\xdd\x45\xf1\x57\x75\xa3\xd1\xc6\xca\x73\xcd\x48\x31\x49\x05\xb0\x14\x45\x5a\x36\x04\xd3\xbc\xf4\xbf\x84\x21\xe7\x93\x95\x97\x05\xd0\x2b\xdf\x16\x86\x82\x95\x9a\x70\xcc\x33\x06\x09\x52\xfe\x6c\x48\x70\x3d\xba\x04\x80\xef\x9c\x77\x6b\x8e\x45\x26\x48\x82\x2c\x23\xde\x2c\x83\xc9\x9b\x73\x41\x62\x0a\xba\xdf\x86\xb0\x3d\x99\xf7\x04\x05\x32\x91\xe8\x40\x8f\x24\x48\x13\xd6\x3c\x17\x01\x13\xf5\x7b\xff\xd8\x79\xcf\x2e\x70\xf2\x9d\x61\x99\xd7\x7e\xb2\x9b\x2f\x86\x7c\x75\x67\x74\xdd\x6f\x24\xa9\xfb\xde\x1c\xcf\xf5\x27\x41\x9e\x01\xa3\x57\x39\x32\x5a\x02\xc7\x4c\x34\x04\x79\x2e\x08\xf2\xe2\x64\x14\x34\x88\x5d\x16\xe5\xe4\xc0\x82\xb2\xb0\x96\x79\x09\x54\x17\x28\x12\x28\xb0\xa4\xa2\xf1\x08\xe4\x05\x0b\x6b\x41\x3d\x7b\x1f\xa8\xc9\x23\x0c\x99\x40\x3e\x35\x0b\xe7\x84\x3c\xd3\xb9\x5e\xd1\x27\x07\x5f\x4d\x3c\xff\x00\x15\x48\x6b\x8e\xdd\x39\x29\x0a\x4c\x99\x80\x20\x44\x83\xbc\xe0\x64\x2a\x62\x34\xca\xa2\x04\x6a\x43\x71\x05\x65\xa1\xb0\x3c\x14\x56\x52\x01\xbe\xbc\x26\x48\x32\x31\x1f\x8d\x10\x74\x02\x91\x7b\xd0\x23\x85\x43\xaa\x20\xc0\xa8\xc8\xff\x1e\x19\x9e\x0c\x5f\xbe\x0e\x04\x49\x81\x2c\x65\xe7\x74\x78\x46\x88\x14\x78\x3a\x0a\xf1\x71\xd8\xed\x89\x33\xe7\xea\x2f\xa1\x38\xa4\x97\x19\x8a\x44\x27\x18\x9e\x9d\xac\xbc\x12\x90\x6b\x92\xc3\xf8\x61\x98\x32\xe2\x2f\x57\x1e\x05\x2c\xb9\xe4\xec\xba\xf8\x7d\x3d\x79\xa0\x22\x6f\xf6\x75\x77\xf6\x3f\x38\x05\x26\xb6\xe9\x81\xf0\x2d\x49\x0f\xfc\xee\x4d\x02\xf9\x81\x6f\x99\xb8\xce\x2f\x93\xbb\x5d\x02\xc5\x96\xf1\x03\xe1\x97\xf9\x81\x9f\x3f\x7c\x1e\x8f\x5f\xee\x73\x3f\x43\xf8\x61\xa3\x55\x87\x70\xe6\xc3\x24\xe9\xbf\x7c\x5a\x75\x08\x93\x48\xd3\xab\xbd\x03\xdb\x37\xbf\x1d\x36\xc9\x38\xa3\xe3\x47\x1b\x2d\x7d\xfe\x00\x5b\x3e\x83\xb7\xae\xee\xda\x5a\x9b\x4eLine truncated
func publicIndexHtmlBytes() ([]byte, error) {
return bindataRead(
_publicIndexHtml,
"public/index.html",
)
}
func publicIndexHtml() (*asset, error) {
bytes, err := publicIndexHtmlBytes()
if err != nil {
return nil, err
}
info := bindataFileInfo{name: "public/index.html", size: 3503, mode: os.FileMode(0644), modTime: time.Unix(1597590050, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x2a, 0x7, 0x6d, 0x5, 0x69, 0x46, 0x56, 0x1e, 0xc4, 0x45, 0x1a, 0xb5, 0x1f, 0xb9, 0xc6, 0x1, 0xfc, 0x42, 0x26, 0x9a, 0xf4, 0xac, 0xae, 0xa9, 0xe9, 0x26, 0x91, 0x76, 0x3e, 0xfb, 0xee, 0xf0}}
return a, nil
}
var _publicOauth2RedirectHtml = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xc4\x56\x4d\x6f\xe3\x36\x10\xbd\xfb\x57\xbc\xf0\x10\x49\xb0\xab\xa0\x3d\x2a\x51\x82\x22\xd8\x43\x0a\x6c\xb7\xd8\x20\xbd\x04\xc1\x82\xa6\xc6\x36\x1b\x99\x94\x49\xca\x86\x6b\xfb\xbf\x17\x94\x64\x4b\xf2\x07\xea\x9e\xca\x43\x64\x0d\x67\x9e\x66\xe6\xbd\x21\xf3\x70\x93\x69\xe1\xd6\x05\x61\xe6\xe6\xf9\xe3\xe0\xc1\x3f\x90\x73\x35\x4d\x19\xa9\x9f\xde\x5e\xd9\xe3\xe0\x61\xac\xb3\x35\xb4\xca\x35\xcf\x52\x66\x4a\x15\x46\xde\x7a\xe7\xcd\xfe\xd9\x44\x5a\x61\x64\xe1\x1e\x07\x00\x10\x94\x96\x60\x9d\x91\xc2\x05\xf7\x95\x65\x52\x2a\xe1\xa4\x56\x30\xa5\x42\x18\x61\x53\x59\xfd\x5a\x72\x03\xcd\x4b\x37\xfb\x05\x29\x56\x52\x65\x7a\x15\xeb\x82\x14\x99\xd8\xae\xf8\x74\x4a\xe6\xed\xe5\x3b\x65\xd2\x90\x70\xdf\x2a\xbf\xfb\x5e\xac\x25\xe5\x5e\x1d\x77\x84\xb4\xc1\x89\xad\x7f\xed\x7b\x99\x06\xe1\xcd\xe4\xad\x5f\xc7\xd8\xf7\x96\xf6\x4f\x9e\xcb\x6c\x84\x45\x31\x02\x37\xe6\x7e\x70\xd8\x96\x13\x84\x77\x42\x67\xb4\x75\xfa\x93\xd4\x96\x8c\xd1\xe6\x2e\x76\x64\x5d\xd8\x64\x9f\x6b\xc1\x7d\xad\xf1\x8c\xdb\x59\xd4\xad\xd5\xaf\x45\xd1\xd6\xd9\xf3\x8c\x6d\x39\xf6\x3d\x53\xd3\xf0\xe7\xa8\xcd\x67\x07\xca\x2d\x9d\x03\x39\x44\x5b\xe2\x46\x5c\x8c\x6f\x73\xe7\xc6\x20\xc5\xa2\x88\x6d\x91\x4b\x17\xb2\x5b\x16\x75\xf7\xe2\x89\x36\x5f\xb8\x98\x85\x07\xb2\xc2\xe5\x48\x8e\x7e\x70\x63\x22\x6c\xe0\x9f\xef\xf2\x03\x29\x02\x16\x60\x88\x65\x6c\xa8\xc8\xb9\xa0\x30\x48\x83\x11\x02\x96\xb0\x20\xc2\xd0\xef\xde\xef\x5a\xe0\x2a\xd5\x45\x81\x27\xfc\xf6\xfa\xed\xf7\xb8\xe0\xc6\x52\x18\x6c\x3c\x82\xff\xe6\x5f\x5a\xaa\xb0\x0a\xdb\x05\xa3\x5e\x8d\x3d\xd9\x84\x9f\xb4\x1e\x61\xc9\xf3\x92\x8e\x1b\xba\x5f\x86\x5c\x69\x14\x3e\x69\x8d\x34\x4d\xc1\x18\x9e\xea\x00\x24\xc8\xc8\x53\xf6\xf6\xfd\xe5\x59\xcf\x0b\xad\x48\xb9\xb0\xc6\x3a\x41\xda\x1d\x2c\x11\x12\x6c\x3a\xdd\x6b\x44\xd1\x74\xb0\x56\x5c\x9a\xb6\xfa\xeb\x6b\x24\xec\x20\x37\x72\xf3\x7f\x63\x2b\x66\x34\xe7\xf1\x94\x5c\xc8\x26\xb9\x5e\xb1\xa8\xce\x96\x0b\x41\xd6\x3e\xeb\x8c\xd8\x76\xfb\x5f\x63\x4b\x37\xd3\x46\xfe\x5d\xa9\xa1\x82\xe8\x14\x71\x7b\x8b\x9b\x2e\x88\x6f\xc4\x71\x0b\x7d\xc2\x37\x4d\x7d\xe7\xda\xdb\xc4\x93\x31\xcf\xe3\xf0\x7c\xf7\xbd\xc7\x4b\x96\xf4\xf2\x55\x7c\x4e\xa7\x9c\xfa\x65\x75\x69\x04\x25\x75\xea\xec\xbc\x4f\x4e\x4b\xca\x13\xb0\x15\x37\x4a\xaa\xe9\x05\xaf\x39\x59\xcb\xa7\x1e\xea\xd7\x6e\x17\x30\xe7\x6b\x8c\x09\xa5\xb2\x7c\x42\x23\x14\xdc\x5a\xca\x50\xd3\xb6\xe2\x16\x62\xc6\xd5\x94\x32\x48\x05\x4b\x66\x49\x06\x7f\x1c\xb9\xa8\xc0\x35\x9a\xa2\x0c\x13\xa3\xe7\x55\x8d\x8d\x37\x3b\x15\x4e\x67\xe6\xd0\x9f\xbb\x7d\x8b\x17\xc5\xd9\xee\xfb\x95\x51\x4e\x8e\x2e\x1c\x60\x47\x34\x1c\x68\xac\xa5\xe8\x7f\x5d\xf4\x15\x3c\xcf\xc7\x5c\x7c\x86\x1b\xff\xde\xa3\x67\xd4\x3d\x14\x93\xee\xcb\x49\x29\xe7\x8e\xa0\x9a\x22\x57\x23\x7e\xf1\xa7\xe0\x57\x3b\x3d\xf1\x68\xca\xae\x4e\xc9\x4b\x83\xdb\x43\x40\x0a\xf6\xce\x86\xfb\x98\x21\xfb\x48\xc0\x30\x3c\x1b\xe8\xd7\x01\xfd\x47\x46\xf5\x15\xe4\xd9\x7f\xc2\x39\xf3\x10\x2c\x06\x43\x02\xa6\x34\xda\x81\x83\x21\x41\x72\xb9\x67\xd9\xcd\xa8\x21\x39\x06\x8b\xae\xfa\x74\x69\x24\x9e\xc0\xbe\x6a\x43\x90\x6a\xa2\x13\xb4\x15\x54\x9b\x09\x18\x8b\x4e\x49\x3a\xd2\x08\xfe\xef\x51\xab\x12\xfe\xb7\x41\xeb\xd3\xb5\xdd\x82\xbd\xf7\x47\x6f\xc2\x65\x4e\xd9\x47\x82\xeb\xba\x7c\xcd\x28\x1d\x7e\x9d\x53\xe2\x35\x52\xaf\x2e\xeb\xa4\xba\xcf\x9b\x73\x2e\x69\x6f\xf9\x6b\xe6\xa0\xcd\xa1\xb9\xbb\x45\xae\x2d\x85\x8d\xc7\x6e\xf0\x70\xb7\xff\x07\xe8\x9f\x00\x00\x00\xff\xff\x5d\x12\x72\x09\x54\x09\x00\x00")
func publicOauth2RedirectHtmlBytes() ([]byte, error) {
return bindataRead(
_publicOauth2RedirectHtml,
"public/oauth2-redirect.html",
)
}
func publicOauth2RedirectHtml() (*asset, error) {
bytes, err := publicOauth2RedirectHtmlBytes()
if err != nil {
return nil, err
}
info := bindataFileInfo{name: "public/oauth2-redirect.html", size: 2388, mode: os.FileMode(0644), modTime: time.Unix(1597590050, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x9a, 0x53, 0xfa, 0x6e, 0xf1, 0xfe, 0x72, 0x19, 0xa6, 0x82, 0xc8, 0x77, 0x99, 0xb3, 0x9d, 0x52, 0x2e, 0x51, 0xa2, 0x78, 0xd2, 0xa, 0xd4, 0xa8, 0xe9, 0xa8, 0x83, 0x64, 0xbe, 0xe9, 0xc, 0xee}}
return a, nil
}
var _publicSwaggerUiBundleJs = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xd4\xfd\x09\x77\xdb\x36\xb7\x28\x80\xfe\x15\x89\x37\x87\x1f\x50\x41\x8a\xe4\x0c\x6d\x29\xc3\x3c\x69\x9a\xb4\x69\xe2\xcc\xe9\x10\x55\xf5\xa1\x25\xc8\x42\x4d\x81\x2a\x08\x3a\x76\x4c\xbd\xdf\xfe\x16\x26\x12\xa0\x28\xd9\xc9\xf7\x9d\x7b\xdf\x5b\x2b\x2b\x16\x49\x0c\x1b\x1b\x1b\x1b\x7b\xc2\x46\x77\x51\xb0\x99\xa0\x19\x03\x04\x09\x78\x1d\x64\xa7\x7f\x93\x99\x08\x30\x16\x57\x6b\x92\x2d\x3a\xe4\x72\x9d\x71\x91\x87\xe1\xd6\x97\x55\x36\x2f\x52\x12\xeb\x3f\x03\x53\x0e\x0b\x00\xa3\xc0\xb6\x59\x17\x9e\x93\x05\x65\x24\x0c\xf5\xdf\x41\xb2\x9a\xc7\xfa\x27\x98\x4c\x91\x80\xd1\xae\x7e\x63\xf3\x77\xf0\xee\x53\x72\x76\x46\xf8\x87\x67\x3f\x14\x6c\x9e\x12\xd5\x0f\x69\x7b\xbb\x01\x62\x49\x73\x54\x0d\x0b\x5e\x73\x22\x0a\xce\x3a\xf5\x40\xe1\xb5\xfd\xdd\x11\x80\xc3\x6b\xba\x00\x6c\xc2\xa7\xd0\x14\x94\xbf\xed\x78\xc6\x17\x09\xef\x50\x2c\x5f\xe1\x6b\x1a\x71\x94\x46\xdd\x11\x32\x1f\xa3\xeb\xcd\x66\x6c\x2a\x11\x59\x69\x96\xa4\x29\xa0\xb6\x2e\xa2\xa8\xfe\x2d\x20\xa2\x83\x14\x77\x87\xf5\xbb\x8d\x6c\x9b\xe1\xeb\xaa\x0d\x31\x58\x61\x82\xc4\x60\x86\x19\x12\x03\x8a\x5d\x88\x6d\x37\x1b\x24\x06\x73\xe7\x0b\x62\x88\xc3\x6b\x31\xc8\xe4\x4f\x58\x96\xaf\x14\x1e\x07\x1a\xb9\xaf\x79\xb6\x26\x5c\x5c\xa9\x62\xd7\xb3\x8c\x2d\xe8\x59\xc1\x93\xd3\x94\xa8\x51\xb0\x62\x45\xcc\xd3\x10\x9d\x11\x11\xf1\x0d\x94\xed\x33\xaf\x67\x0d\x25\x09\x43\x32\x38\x39\x21\xf9\xb1\x9e\xf6\x6d\xfc\x12\xd9\x69\x52\xa4\x62\x13\xb5\x7c\x74\x06\x39\x07\x0c\x05\x49\x80\x18\x44\x4c\x76\x97\x61\x9f\x06\x4d\x41\x33\x92\x35\xcf\x44\x26\x89\x62\xb0\x4c\xf2\x57\x9f\x98\x1d\x93\x46\xb6\xac\x20\xdb\x58\xe3\xe0\xee\x9c\xe6\x22\x40\x02\x88\x41\x8e\x47\x07\x07\xdf\xc2\x0d\x98\xb8\x2d\x23\x06\xaf\x83\x22\x27\x9d\x5c\x70\x3a\x13\xc1\xb8\xa6\x5a\x06\xbe\xbf\x07\x37\xa8\x59\xda\x2d\x30\x1a\x0e\xbf\x85\xa0\xa5\x90\xd7\xa4\x70\x70\x24\x27\x5b\x58\xa4\x34\xc6\x48\x17\xa0\x0b\x48\x87\xb2\x5c\x24\x6c\x26\x09\x5e\x40\x28\x96\x3c\xfb\xd4\x61\xe4\x53\xe7\xfd\xd5\x9a\x3c\xe1\x3c\xe3\x20\x78\x9c\x30\x96\x89\x8e\x1c\x6d\x27\xe9\xcc\xd2\x24\xcf\x3b\x49\xde\x49\x2a\x7a\x0e\xe0\xe6\xcb\x80\x52\x34\xcd\x31\x03\xf7\xee\x3d\x84\xa8\x9d\xcc\x1a\xb3\x4d\xa2\x6b\x33\x8e\x88\x6c\x36\x80\xc3\x71\xcb\xc0\x9c\x65\x45\xf4\x28\x17\x19\x07\x9a\x7c\x86\x63\x76\x28\x06\x29\x61\x67\x62\x39\x66\xbd\x9e\x26\x2b\x8e\xc5\x84\x4d\xc7\x7c\x50\x93\x22\x76\x1f\xca\xb2\x3b\x42\x7c\xe0\x12\xae\x44\x6a\x70\x91\xa4\x05\x09\x28\xeb\xf0\x30\x04\x7c\xf0\x89\x53\x61\xbe\x41\x04\xe4\x0a\x33\xb0\x41\x40\x10\x1f\x9c\x93\x2b\xc4\xe1\x66\xd3\xe4\x03\x42\xaf\x1d\xbb\xea\xc3\x90\x00\x87\xdc\x24\x79\x72\xf5\x0e\x71\x88\xc4\x66\xd3\x36\xf7\x35\x81\x54\xf8\x61\xe0\xe1\xf0\x1e\x44\x35\xf2\xa2\xee\xf0\xa6\x09\xaa\xf0\xc6\x6f\x3d\x07\x6d\x73\x4a\x31\x03\x0f\xbe\xfd\x16\xa2\x0c\x73\x40\x21\x4a\xd4\x1c\x3f\x80\x28\xc7\x1c\x24\x10\x15\x98\x81\xfb\xdf\x41\x94\x62\x0e\x8a\xd6\x29\xb4\xb4\x59\x73\xf0\xae\x65\xc8\x22\x0c\x59\x91\xa6\x5d\x8c\x45\x3b\xa1\xbe\x2b\xd6\x84\x4b\xbe\xcd\x49\x9e\xcb\xc1\xac\x8a\x5c\x74\x08\x15\x4b\xc2\x3b\xa7\xa4\x23\x6b\x77\x32\xee\x50\x2e\xea\x48\xca\x0e\x7a\xe0\x22\xa3\xf3\xce\x10\x63\x2c\xe2\xa0\x60\x9a\x77\xcd\x83\x08\x0c\x51\x5a\x4f\xa5\x80\x10\x8e\x49\x3d\x41\x18\x0c\x51\xee\x7c\x0e\x43\x77\xf6\x24\xb7\xcb\x05\x2f\x66\x22\xe3\xd1\xb5\x22\x98\x88\x78\x2c\x6f\x84\x2c\xdd\x48\xf6\xe7\x33\xc7\xe1\x66\x03\x91\x08\x43\x90\xd9\x0e\x62\x30\x44\x99\x4b\x57\x42\xee\x3f\x27\x27\xaa\xc7\x93\x13\x2c\xbe\x7a\x15\xca\x19\xf9\xcf\x2d\xc2\x8a\xbb\x10\x67\x96\xde\x92\x05\xe1\x84\xcd\xec\x54\xc9\x1d\xb2\xb3\x4c\x72\xf6\x2f\xd1\x39\x25\x84\x75\x28\xa3\x82\x26\x29\xcd\xc9\xbc\xd3\xef\xe4\x72\x26\x01\xf4\x4a\x48\xfe\x43\xe6\x01\x34\x6c\xbc\x2b\xca\xd2\xee\xd9\x5d\x8c\xf7\xcc\x20\xf5\x66\x30\x0c\xdb\x48\x2b\x26\x91\x68\x41\x5f\xd7\x5d\xaa\x3e\x37\x86\x1b\x30\x74\xf7\xf8\xf6\xe5\x64\xd8\x90\x9c\x48\x97\x70\xcc\xce\x32\xe3\x24\x11\xde\x9a\x87\x10\x39\xe5\x06\x0e\x09\x61\xb2\x71\x64\x86\x7a\x8e\x32\x40\x60\x4c\xa2\x57\x80\xc0\xba\x80\x3b\x89\x89\x2e\x70\xec\x15\x70\x97\x79\xae\x0b\xbc\xf7\x0a\xd0\x46\x17\x61\xd8\x2d\x74\xb9\xd7\x5e\xb9\xac\x2e\xd7\x05\x5d\xc9\x2f\xc9\x24\x65\x53\xa7\x44\xd2\x52\x62\xe6\x95\xc8\x5b\x4a\xac\xbd\x12\x45\x63\x3c\x65\x99\x7b\x50\xa4\x2d\x2d\x2c\xbc\x16\x66\x2e\x59\x0f\xd4\x6a\xc4\x52\x02\xa9\x4b\xac\x65\x09\xa2\x26\xca\x7c\x1e\x3a\xf5\x17\x00\x5e\xd7\x4f\x4b\x33\xad\x58\x94\xe5\x70\x5c\x6f\x32\xc7\x89\x58\x0e\x56\xc9\x25\x18\x22\x62\xf6\x9a\xbe\x80\x88\x63\xb9\x06\x1e\x71\x9e\x5c\x01\x26\xd7\xda\x70\x4c\x0f\xd9\x98\xf6\x7a\x90\x4f\xe8\x14\x93\x09\xed\x89\xa9\x95\x4f\x78\xdd\xcf\xdc\x81\xba\x22\x70\x32\xc8\xe9\x67\x0d\xa8\xfc\x81\xe5\x12\xa5\x82\x70\x49\x4a\x17\x8a\x80\xe4\xeb\xba\x91\x55\xcd\x54\x59\xb1\x3a\x25\xdc\xa1\x7b\x2b\x5c\x89\xa3\xa3\xa3\xe1\x58\x16\x09\x7a\x4c\x72\xd8\xb2\xbc\x7f\xf0\xfd\xfd\xef\x1f\x7e\x7b\xf0\xfd\x03\x8c\x31\xb3\xa2\xe9\xcb\xe4\xe5\x58\x60\x66\xb7\x32\x71\x38\x8c\x25\x90\x3d\x11\x89\xba\xc7\x8b\x4a\xec\xea\x0e\xeb\xb7\x67\x76\x55\xe9\x4f\x40\x8d\xa5\x2c\xf5\xb8\xba\x18\xcb\xfd\xef\x10\xf7\x19\x0c\x43\x67\x35\xfb\x05\xc4Line truncated
func publicSwaggerUiBundleJsBytes() ([]byte, error) {
return bindataRead(
_publicSwaggerUiBundleJs,
"public/swagger-ui-bundle.js",
)
}
func publicSwaggerUiBundleJs() (*asset, error) {
bytes, err := publicSwaggerUiBundleJsBytes()
if err != nil {
return nil, err
}
info := bindataFileInfo{name: "public/swagger-ui-bundle.js", size: 1555141, mode: os.FileMode(0644), modTime: time.Unix(1597590050, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xc7, 0x3b, 0xa0, 0x63, 0x96, 0x6a, 0x32, 0x2e, 0x38, 0x7b, 0x1a, 0x83, 0x36, 0x51, 0xae, 0x7a, 0x6e, 0xa7, 0xe8, 0xa4, 0x7b, 0x8b, 0x1b, 0x75, 0xa1, 0x2a, 0xd3, 0xa1, 0x4b, 0x57, 0x13, 0x35}}
return a, nil
}
var _publicSwaggerUiStandalonePresetJs = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xdc\xbd\xfb\x77\xdb\xb8\x95\x38\xfe\x7b\xff\x0a\x89\xdb\x32\x40\x04\xd1\xa2\xe4\xa7\x64\x58\x9b\xc9\x24\xb3\x69\x27\x8f\xcf\x38\xd3\x6e\x57\x51\x7d\x68\x0a\xb2\xd0\x50\xa0\x06\x04\x9d\x78\x4c\xed\xdf\xfe\x3d\x78\x91\x20\x45\xd9\xce\xb4\xdd\x9e\xf3\x3d\xc7\xc7\x22\x41\x3c\x2e\x80\x8b\x8b\xfb\xc2\x45\x77\x99\xb3\x58\xd0\x94\x01\x81\x08\xbc\xf7\xd2\xeb\xbf\x93\x58\x78\x18\x8b\xbb\x0d\x49\x97\x1d\xf2\x75\x93\x72\x91\xf9\xfe\xce\x97\x75\xba\xc8\x13\x32\xd5\x3f\x81\xc9\x87\x09\x80\x63\xcf\xd6\x59\x65\x5e\x90\x25\x65\xc4\xf7\xf5\x6f\x10\xad\x17\x53\xfd\x08\x66\x73\x44\xe0\x78\x5f\xbb\x53\xf3\x1b\x5c\x7e\x89\x6e\x6e\x08\xff\xf9\xcd\xa5\x88\xd8\x22\x4a\x52\x46\x3e\x70\x92\x11\xa1\x5a\x14\x0f\x7f\xdf\x02\xb1\xa2\x19\x2a\xbb\x0a\xef\x39\x11\x39\x67\x9d\xaa\xf3\xf0\xde\x3e\x77\x08\xe0\xf0\x9e\x2e\x01\x9b\xf1\x39\x34\x19\xe5\xb3\xed\xe3\xe4\x36\xe2\x1d\x8a\x65\x12\xbe\xa7\x63\x8e\x92\x71\x37\x44\xe6\xe3\xf8\x7e\xbb\x9d\x98\x42\x42\x16\x8a\xa3\x24\x01\xd4\x96\x45\x14\x55\xcf\x04\x22\x1a\x24\xb8\x3b\xa8\xd2\xb6\xb2\x6e\x86\xef\xcb\x3a\x48\xb0\xc6\x02\x91\x20\xc6\x0c\x91\x80\x62\x17\x62\xdb\xcc\x16\x91\x60\xe1\x7c\x41\x0c\x71\x78\x4f\x82\x54\x3e\xc2\xa2\x78\xaf\xc6\x36\xd0\x03\xfe\x81\xa7\x1b\xc2\xc5\x9d\xca\x76\x1f\xa7\x6c\x49\x6f\x72\x1e\x5d\x27\x44\xf5\x82\xe5\x6b\x62\xde\x06\xe8\x86\x88\x31\xdf\x42\x59\x3f\xab\xb5\xac\xa1\x14\xbe\x2f\x82\xab\x2b\x92\xbd\xd5\xa8\xb0\x3b\xbe\xaa\xd1\x28\x4f\xc4\x76\xdc\xf2\xd1\xe9\xe4\x02\x30\xe4\x45\x1e\x62\x10\x31\xd9\x5c\x8a\xeb\x78\x69\x32\x9a\x9e\x6c\x78\x2a\x52\x89\x28\xc1\x2a\xca\xde\x7f\x61\xb6\x4f\x7a\xb0\x65\x01\x59\xc7\x06\x7b\x07\x0b\x9a\x09\x0f\x11\x40\x82\x0c\x1f\x8d\x8e\xe1\x16\xcc\xdc\x8a\x11\x83\xf7\x5e\x9e\x91\x4e\x26\x38\x8d\x85\x37\x29\x91\x80\xdb\x6e\x12\x67\x32\x58\x9e\x24\x5d\x2c\xfb\x6d\x00\xf9\x4c\xee\x32\x20\x60\xb0\x4c\xf9\xab\x28\x5e\x81\xb2\x6e\x06\xef\xc5\x8c\xcd\x77\x3f\x08\x78\x4f\x66\x97\x82\x53\x76\x03\x04\x9c\x63\xb6\x85\x5b\x88\xc8\xb6\x6c\x98\xea\x0e\xd3\x25\x20\x98\x14\xc5\xfd\x16\xb9\x6d\x91\x96\xb6\x74\xee\x7e\x88\x31\xce\x02\xca\x16\xe4\xeb\xfb\x25\x20\x10\x8a\x15\x4f\xbf\x74\x18\xf9\xd2\x49\xc1\xb3\x9f\xd9\x67\x96\x7e\x61\x9d\x74\xa3\x5a\xf1\x9e\xf5\x48\xef\x99\xd7\xa1\x59\x67\x4d\x44\x87\x32\xbd\x42\xa9\xfa\x98\x2e\xe5\x77\x21\xbf\xff\xf5\xc5\xdb\x1f\x3b\x6a\xa4\x9f\x49\x38\xe5\x32\x0a\x44\x74\x83\x85\x7e\xfc\x4c\xd9\x02\x13\xf5\x53\x14\x72\x74\x74\x32\x27\x59\x9a\xdc\x12\x4c\xec\x53\x51\xec\x4c\x7f\x77\xb0\xd5\x99\xe3\x94\x65\x82\xe7\xb1\xc0\xa4\x7a\x76\x0a\xd4\x10\x5d\x95\xa0\x2c\x13\x11\x8b\xc9\xfb\x25\x26\xce\x8b\x0b\xc1\x86\x93\x05\x8d\x23\x21\x61\x28\x9f\xeb\x20\x6e\x24\x79\x60\x42\x01\x69\x9e\xdd\x0c\x06\x71\x2f\xc5\x5d\x22\x2b\x71\x5f\xdd\x6c\x99\x4c\x78\x91\xd0\x28\x23\x19\xe6\x12\xcf\x9c\x04\x9d\x11\x22\x35\x37\x51\x39\x37\xe5\xd0\xed\x99\x23\xf9\x49\xcd\x80\xcd\x67\x66\x2a\xdb\x90\x98\x2e\x29\x59\x74\x96\x29\x6f\x9f\x22\x89\xb1\x29\x66\xe0\xf0\x14\xa2\x0c\xcf\x3c\x59\xda\x43\x9e\x99\x06\x0f\x79\xe5\x08\x7b\xc8\xab\x86\xce\x43\x5e\x39\x4a\x2a\xbb\x19\x10\x0f\x79\x6e\xc7\x3d\xe4\xb9\xdd\xf3\xe6\x28\xc2\x33\x2f\x8b\xa3\x24\xe2\xf2\x1b\xf9\x25\x27\x2c\x96\xd9\xd6\xd1\x66\x43\xd9\x8d\x37\x9f\x88\x72\x6b\xa0\x5b\xd4\x5c\x7b\x12\x5c\x8e\x19\x08\x8f\x46\x10\x78\x5f\x3e\x67\x1e\x44\x54\xbe\x0f\x4e\x21\x92\xfd\x38\x82\xc1\xe5\xdd\xfa\x3a\x4d\x50\x86\x5b\xb6\x95\x74\x02\xaa\xfa\x5b\x30\x86\xcf\xc4\xbc\x28\x80\xfc\xc1\x99\xef\xa7\xfa\x35\x9b\xa6\x63\x0a\x81\xa7\x6b\x0e\xbc\x9e\x80\x70\x0b\x83\x4c\xa4\x9c\x60\x5e\x87\xb2\xa4\x75\x65\x33\xf7\xb7\x84\x67\x34\x65\x63\x6f\x18\x1c\x05\x23\x6f\x3b\xf1\x58\xbe\xbe\x26\xbc\x02\xeb\xea\x8a\xf8\x3e\xb8\xba\x22\x98\xc1\xfd\x9d\x3e\x32\x7d\x3d\xd1\x5d\x0d\xd5\x94\x31\x30\x1a\x40\x14\x61\x06\x8e\x43\x88\x72\xdc\x56\x38\x46\x09\x5a\xa1\x25\xda\x60\xe1\xe7\xc1\x6b\xb4\x50\xbf\x3f\xa0\xb5\xfa\xbd\x44\xb7\xea\xf7\x03\xba\x53\xbf\xdf\xa1\x1b\xbc\x98\xf2\xf1\x7a\xca\x67\x44\x8f\x06\x99\xe3\xfb\x2d\x1c\x03\x9d\x70\xbf\x85\x15\x45\x45\x5f\xf1\x62\x4a\xc7\x54\x67\xa5\x26\x2b\xba\xc6\x5f\xab\x3c\x45\x01\x9c\x37\xf9\x7d\xb2\xf0\x7d\xc0\x30\x81\x93\x65\xca\x41\x2c\xe9\x09\x83\x09\xee\x6e\x7c\xff\xc6\xf7\x6f\x53\xba\xe8\x0c\xba\x18\xdf\xcc\xe2\x39\x5a\x61\x90\x4c\x6f\xc6\x0c\xca\x97\x25\xbe\xf3\xfd\x64\x1a\x81\x15\xe2\x70\x7c\xeb\xfb\x2d\x93\xbc\x9a\x46\xe0\xb5\x49\x55\x14\x1e\xad\xe0\x78\x85\x6e\x7c\x3f\x03\x37\x28\x46\x2b\x24\xbb\xf9\x33\x44\x5f\x67\xf1\xbc\x8b\x57\xbe\x9f\x82\xaf\x28\x46\x4b\x88\x6e\x7d\xff\xda\x26\x02\xf9\x84\x57\x70\x3b\xe1\x41\x2c\x67\x9a\xa2\x3c\x78\x8d\x43\x94\x07\x3f\xe0\x21\xca\x83\x4b\x7c\x88\xf2\xe0\x03\x3e\x45\x79\xf0\x1d\x0e\x8f\x51\x1e\xfc\x05\x8f\xe4\x97\x9f\xf1\xb1\xfc\xf4\x13\x0e\x87\xa7\xa8\xc2\x84\x7c\xff\xdc\x8e\xf4\xdc\x1e\x0e\xcd\xdc\x0e\xe4\xdc\x1e\x78\x07\x37\x28\x6a\x4c\xa9\xdc\xaa\x35\x43\x61\x76\x85\x14\x08\x28\x31\xc0\x3b\xf7\x7a\xc4\xec\x3c\x9e\xd7\xc5\x98\xf9\x3e\x88\x7a\xd8\xeb\x78\x3d\xd6\x7b\x86\xbd\x67\x3d\x53\x82\x43\x49\xc2\x92\x28\x26\x20\x43\x9e\xff\x4b\x9e\x8a\x89\x07\x7b\xcf\xLine truncated
func publicSwaggerUiStandalonePresetJsBytes() ([]byte, error) {
return bindataRead(
_publicSwaggerUiStandalonePresetJs,
"public/swagger-ui-standalone-preset.js",
)
}
func publicSwaggerUiStandalonePresetJs() (*asset, error) {
bytes, err := publicSwaggerUiStandalonePresetJsBytes()
if err != nil {
return nil, err
}
info := bindataFileInfo{name: "public/swagger-ui-standalone-preset.js", size: 440915, mode: os.FileMode(0644), modTime: time.Unix(1597590050, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xa9, 0xd0, 0xb, 0x24, 0x4, 0x3b, 0xa, 0x54, 0x83, 0x5c, 0x3, 0x32, 0x6f, 0x41, 0x76, 0x93, 0xe, 0x2c, 0xb0, 0xd1, 0x89, 0xb7, 0xff, 0xc4, 0x71, 0xfc, 0x33, 0x2b, 0x90, 0xe4, 0xd3, 0x79}}
return a, nil
}
var _publicSwaggerUiCss = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xec\xbd\x7b\x73\xdb\x38\xd2\x2f\xfc\xff\xf9\x14\x3a\xbb\x95\x9a\x99\x1d\x53\x21\x75\x97\x55\xf3\xd4\x91\x63\x27\xe3\x6c\xe4\xc4\x76\x2e\x93\x6c\x4d\x4d\x51\x24\x24\xd1\x06\x48\x3e\x24\x75\xb1\x7d\xf6\xbb\xbf\xc5\xab\x70\x69\x80\xa0\xac\xcc\xce\x79\xeb\xd9\x6c\x32\x36\xf1\xeb\x46\xa3\xbb\x01\x34\x1a\x20\xd8\x8e\xb7\xf6\x72\x89\x22\x63\xed\x3d\xfd\xaf\x56\xeb\xe5\x3f\xfe\x77\xcb\x0f\x22\x62\x63\xef\x11\xb5\x9d\x38\x6e\x6d\x86\x6d\xb3\x6d\xb6\xfe\x6f\x6b\x76\xf9\xb1\xf5\xce\x73\x90\x1f\xa3\xd6\xff\x6d\x2d\xbd\x64\xb5\x9e\xb7\x9d\x80\xbc\xf4\x91\x13\x60\x3b\x7e\xc9\xd2\xfd\xe3\xe5\x22\xf0\x13\x63\x61\x13\x0f\x3f\x9c\xbe\x0f\x91\xdf\xba\xb5\xfd\xf8\x24\xb6\xfd\xd8\x88\x51\xe4\x2d\x26\x4e\x80\x83\xe8\xf4\xef\xdd\x79\xcf\xea\x5b\xff\xa6\x24\x69\xad\x12\x82\x9f\xb0\xe7\x23\x63\x85\xbc\xe5\x2a\x39\xb5\xda\x56\x7f\x62\x90\xd8\x48\xd0\x2e\x31\x62\xef\x11\x19\xb6\x7b\xb7\x8e\x93\x53\xcb\x34\x5f\x4c\x8c\x2d\x9a\xdf\x7b\x09\x5c\xca\x70\x9e\x07\xee\xc3\x13\xb1\xa3\xa5\xe7\x9f\x9a\x4c\x89\x1d\x25\x9e\x83\xd1\x09\xf3\x2c\xf6\x5c\xf6\xc9\x22\x08\x12\x14\x31\x8f\x56\xc8\x76\xb9\x47\xbe\xbd\x61\x7e\x8f\x91\x93\x78\x81\xff\xe4\x7a\x71\x88\xed\x87\xd3\x39\x0e\x9c\x7b\xb6\xc5\xd6\x53\xa6\xaf\x54\xf8\xd3\x0e\x22\x93\x42\xc6\xf6\x60\x88\x48\x8b\x95\x74\xe1\x2d\x1d\x3b\x4c\x19\x9e\x70\x8f\xd7\x11\x2b\x2d\xb1\x3d\x55\xa5\x39\x45\xa9\x0e\x0b\x91\x56\xcf\x0c\x77\xac\x5c\xd1\x53\xa9\xdc\x79\xb0\x4b\xc5\xf3\xfc\xe5\xa9\x13\xf8\x09\xf2\xb3\x47\x13\xc9\xe3\xc2\x70\xe6\x24\xd8\xa0\x68\x81\x83\xed\xe9\xc6\x8b\xbd\x39\x46\x0c\xfb\x30\x42\x4f\xb4\x9f\x90\xc0\x0f\xe2\xd0\x76\xd0\x49\xf5\xd3\x64\xaf\x17\x0b\x11\xd6\x64\x4f\x73\xdb\xb9\x5f\x46\xc1\xda\x77\x8d\xdc\x9b\x92\xc8\xf6\xe3\xd0\x8e\x90\x9f\xb0\x5e\xe1\x22\x27\x88\xec\x54\x69\x46\x7c\xef\x85\xa7\xc1\xfc\x0e\x39\x49\xcc\xf2\x9b\xcf\xa3\x7f\x25\x5e\x82\xd1\xef\x4f\xf3\x20\x72\x51\x64\xcc\x83\x24\x09\xc8\xa9\x1f\xf8\x68\xc2\xf1\x39\x5d\xfb\x2e\x8a\x52\x2f\x95\x97\xb4\xdc\x20\x49\x90\xcb\xba\x20\xeb\x1a\x49\x14\xf8\xcb\x5c\x09\xdb\x5c\x67\x9e\xbf\x42\x91\x97\x4c\xe8\x67\xf3\x00\xbb\x28\x62\xf8\x38\x01\xe7\x9b\xf7\x73\x97\x65\x6d\x93\xf0\x19\xda\x75\x17\x7e\xe1\x93\xc9\x03\x46\xa7\x5e\x62\x63\xcf\xf9\x37\xeb\x5e\xd1\xbd\x68\x82\xbf\x2f\x16\x66\xd9\xb7\x4d\x93\x75\xdd\x98\xd8\x18\x53\x9e\x3e\xe2\xba\x67\xbc\xe6\xb4\xb3\x0e\x29\xf4\xb0\xff\x62\x42\x8f\x0a\xe6\x24\x0c\x62\x2f\xd3\x78\x84\xb0\x9d\x78\x1b\x34\xd9\xa0\xb4\x1f\xdb\xd8\xb0\xb1\xb7\xf4\x4f\xe7\x76\x8c\x52\x12\xbe\x96\xa7\xc2\xb0\x46\xbb\xd3\xe7\xda\x9d\xd6\x99\x04\xe1\xa9\xd1\xe6\x4b\xec\xb5\xeb\x05\x8c\x7c\x1b\xcf\x45\x41\xd5\xc3\x3c\x3f\x93\x4e\xec\x68\x19\xe1\xa9\x1f\x24\x3f\xfe\x2b\xed\x23\x51\x80\xe3\xdf\x7f\xaa\xc8\x32\xe7\x2a\x9b\xc4\xd0\x79\x64\x59\x3a\x62\x6e\x84\x14\xca\x0a\xbb\x59\x66\x7c\x4f\xa3\x20\x48\x7e\x7a\xaa\x3a\xdb\xca\x73\x5d\xe4\xb3\x7e\xb7\x4e\x12\x6e\xc8\xf0\xfc\x70\x9d\x30\x4f\x82\x30\x49\x8d\x19\x72\xc3\x17\x46\x0e\x8b\x4b\x3d\xde\x8e\x90\xcd\xf8\x17\x35\xb6\x53\x6e\x95\x0e\xd0\xc2\x58\x0e\x0e\xc1\x32\x09\x9f\x94\x63\x08\x40\x95\x0b\xfc\x94\x75\xcb\x6c\x44\x58\x04\x11\x11\x95\xf7\xaf\xe4\x21\x44\xbf\x44\x28\x46\xc9\xef\x27\x62\x41\xbc\x9e\x13\x8f\x2b\x01\x2a\x4b\x27\xab\x82\x22\x2f\xfd\xbd\x1a\x32\xed\x30\x44\x76\x64\xfb\x0e\x3a\xcd\x8b\x80\xea\x0b\x9a\xd3\x53\x83\x04\x8f\xc6\x22\x70\xd6\xb1\xe1\xf9\x3e\x37\xa3\xd0\xa2\x6a\x41\x0b\xe1\x6b\xb0\x79\xe5\x22\x48\xf4\xba\x49\x68\xbb\x6e\x3a\xc8\x9b\x8a\x36\xec\xd9\x44\x9e\xbf\x94\x37\xa0\x16\x57\x4a\xaf\x00\x16\xa2\xb3\x88\xa7\x60\x9d\xa4\xbe\x76\x6a\x85\xbb\x62\xec\x6d\x9d\x65\xc0\x8f\x68\x97\x70\x93\x1f\xc2\x6e\x8c\x92\xa7\xb2\x61\xed\x6e\x1f\x91\x56\x7b\x98\xfd\x3b\x10\x86\x05\x8c\x96\xc8\x77\xa1\xd9\xb0\x9a\x2a\x98\xc9\x90\x7a\x9a\x0f\x86\xe5\xb0\x5e\x76\xfb\xc4\x9e\x63\x34\x21\xf6\xce\xd8\x7a\x6e\xb2\xca\x3b\x4a\xa5\xe5\xc9\x76\xe5\x25\xc8\xc8\x06\xe9\xd3\x3c\xb4\xe2\x66\xce\x60\x19\xa1\x38\x06\x07\x1f\xad\x51\xb0\xea\xc2\x55\xef\xb2\xd7\x49\x00\x58\xd7\x59\x21\xe7\x7e\x1e\xec\xa0\x3e\x12\xd9\xae\x17\xfc\x7e\x90\x56\x54\x0e\xe5\xaf\xc9\x1c\x45\xa9\xf7\x16\x8c\x33\xaf\x34\xe2\xd0\xf3\x0d\xa0\x0b\x4a\x88\x82\x75\xc2\x12\x3d\x15\x43\x90\xa4\xa1\x31\xb2\x23\x67\x05\x76\xdf\x54\x59\x99\xc7\x4c\x0a\x0f\x33\x82\xc5\x22\x46\xc9\xa9\xd1\xe1\x22\x26\x86\xd5\x5e\x96\xfc\x81\xe1\xa4\xdc\xb0\xbc\x0d\x32\xba\x7d\x70\x01\x49\x27\x8c\x6c\x7b\xfa\x85\x87\x91\xb1\x0e\x71\x60\xbb\xa5\x12\xa4\xa3\x53\x36\x6a\x97\x7e\xca\xc6\x02\x28\xb1\x3d\x1c\xb3\xc1\x25\xf2\xd7\x8a\xe0\x32\x5e\x13\x62\x47\x0f\x15\x02\x7b\x71\x62\x78\x09\xd7\xab\x1c\xdb\xdf\xd8\xb0\x13\xb3\x5a\xcd\x27\xb4\xdf\xb9\x49\x88\x84\xd8\x4e\x10\x33\x93\x32\x64\x6d\x17\xcd\xd7\xcb\xd6\x3f\x98\x71\x21\x0e\xb0\xe7\xb6\x96\x01\x76\x01\xac\x91\xf5\x3b\x90\xe2\xef\x8b\xc5\x02\xa2\x98\x63\xdb\xb9\x87\x29\xf8\xf8\xa7\xa0\x58\x46\x9e\x4b\x05\x4e\x74\xd4\xda\x5a\x47\xf8\x47\xd7\x4e\xec\x53\x8f\xd8\x4b\xf4\x32\xf4\x97\x93\xb4\xfb\x0e\x7a\x27\xde\xe7\xb3\xf7\x37\x5b\xf3\x9f\x6f\x96\xc1\x74\x3a\x9d\x5e\xdd\x7e\x5a\x5d\x7c\x5a\xa6\x3f\x66\xff\x5c\xbe\x9a\x7e\Line truncated
func publicSwaggerUiCssBytes() ([]byte, error) {
return bindataRead(
_publicSwaggerUiCss,
"public/swagger-ui.css",
)
}
func publicSwaggerUiCss() (*asset, error) {
bytes, err := publicSwaggerUiCssBytes()
if err != nil {
return nil, err
}
info := bindataFileInfo{name: "public/swagger-ui.css", size: 153540, mode: os.FileMode(0644), modTime: time.Unix(1597590050, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x0, 0x44, 0x96, 0x15, 0x88, 0xba, 0xa, 0x54, 0xb7, 0x45, 0x18, 0x63, 0x69, 0x98, 0x6a, 0x19, 0xca, 0x51, 0x11, 0xc8, 0x22, 0x3d, 0x11, 0x31, 0x1b, 0x2c, 0x55, 0xa5, 0xa, 0xb6, 0xab, 0x2a}}
return a, nil
}
var _publicSwaggerUiJs = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xec\xbd\x8b\x77\xdb\xb6\x92\x30\xfe\xaf\xc8\xd8\x2e\x0b\xd4\x30\x2d\xd9\x71\x1e\x54\x50\x6d\x1e\x4e\x9b\x6e\x12\xe7\xc6\x4e\x7b\xef\x2a\xba\xfa\x60\x12\x92\xd8\x50\xa0\x0a\x82\x7e\xd4\xd4\xef\x6f\xff\x1d\x3c\x48\x82\x14\x65\x3b\x69\xef\xbd\xfb\xed\xb7\xe7\xf8\x58\x24\x88\xe7\x60\x30\x98\x19\x0c\x66\x76\x66\x39\x0f\x65\x9c\x72\xc8\xb0\x44\x37\x20\x3d\xff\x95\x85\x12\x10\x22\xaf\x57\x2c\x9d\xf5\xd8\xd5\x2a\x15\x32\xf3\xbc\x8d\x2f\xcb\x34\xca\x13\x36\x32\x3f\xbe\xcd\x47\x24\x14\xec\xb7\x3c\x16\x0c\x02\xc1\x68\x28\x01\xc2\x55\xc2\x4a\xa4\xab\x3d\x55\x3a\x73\x53\xe3\xe5\x32\x97\xf4\x3c\x61\x6e\xa2\x2e\xbb\x57\x7d\xda\x53\x45\x37\x4a\x0a\x96\xb1\x84\x35\xdb\xc8\x98\x88\x69\x12\xff\xce\xf6\x98\x10\xa9\x70\x3f\x45\x8c\xad\xf6\xd8\x95\x64\x3c\x72\x93\x7f\xcd\xf6\xae\xe9\x32\xd9\x6c\x3d\x4c\x93\x84\xae\xb2\x46\xbf\xb2\x4b\x3a\x9f\x33\xb1\x17\x26\x31\xe3\x8d\x86\xcf\x69\xc6\x1e\x3e\xd8\xfb\xb5\xd1\xc3\x30\xa1\x59\xc6\xe9\xb2\xd9\xef\x30\x5d\x2e\x53\xbe\xa4\xe2\x73\x23\x35\xcb\x7c\x96\x85\x74\xd5\x68\x30\x66\x8c\x3d\x3a\x7a\xd0\x48\xca\xa8\x10\xf4\xda\x4d\x5a\xb2\x65\x1a\xff\xce\x3a\x40\x18\xb1\xf3\x34\xe7\x21\xdb\x8b\xf9\x2a\x97\x1d\xdf\xd3\xe5\xad\x70\xcf\x05\xdb\x0b\xd3\xe5\x2a\xe5\xad\xf1\x9a\x9c\x6a\x10\x51\x7a\xc9\x37\xbf\x08\x16\xe5\x57\x9b\xc9\xd9\x2a\x89\xe5\xde\x8a\xf2\x56\x5f\x37\x32\x47\xf9\xd5\xde\x16\xd4\x98\x33\xce\x04\x95\xa9\xd8\x13\x39\x97\xf1\xb2\xf5\x59\xf5\xa9\x5d\x28\xa3\x3c\x96\x0a\x2b\x16\xb2\x39\xd5\xb9\x48\xf6\x56\x54\x34\x67\xf9\xaa\x99\xe7\x6a\x99\xec\x9d\xe7\x72\x6f\x25\x98\x94\x31\x6b\x20\x95\x42\x9d\xd6\xa4\xff\xce\x78\x16\x8a\x34\x49\x00\x42\x01\x28\xd7\x57\xbd\x70\x22\x36\x8b\x39\xf3\x3c\xf3\xeb\xd3\x65\x34\x32\x8f\x70\x6c\xd7\x0c\x76\x97\x0a\x76\x56\x08\xbe\x65\x61\xe0\x7a\x3d\xe0\x8d\x65\x80\x1b\xd8\x8f\x2b\xa4\xc7\x6d\x5c\xc7\x6d\x14\xc7\x0e\x66\x63\x17\xa1\xb1\x8b\xc7\xd8\x45\x5f\x5c\x61\x2d\xae\x90\x15\xd7\x38\x8a\xbb\x51\x13\x3b\x18\xd9\x31\xce\x26\x22\xe2\x36\xfe\xe1\x06\xda\xe1\x4d\x6c\xc3\xa0\xfe\xd4\xc4\x2d\xdc\x89\x52\xd8\xc5\x24\xdc\x42\x20\xec\xe0\x0d\xd6\xe8\x82\x37\xb1\x04\x57\xc8\x81\x1d\x9c\x98\x60\x89\x82\x6d\x64\x76\x64\x7f\xfd\x53\x33\x09\x1f\x5f\xbf\x48\x05\xfb\x5f\xa2\xfa\xbf\x44\xf5\x7f\x89\xaa\x43\x54\xd9\xc6\xfa\x60\xbe\x86\x04\x66\x63\x77\x41\x4c\x30\xf3\xab\xe1\xaa\x6f\xdb\x57\x80\xca\x5a\xa2\xbe\xca\xd9\x46\xf9\x89\x4a\x74\x91\x5d\x27\x94\x68\x3e\xa9\x2b\xaf\x10\x5c\xa7\xb5\x50\x5b\xa7\xd5\x48\xad\x1a\xad\xb1\x59\xbd\x54\x48\xac\x32\x3a\xc8\xab\x47\x62\xb0\x56\x3d\x19\x64\xc5\xcc\x2f\x71\xb4\x6e\xbf\x85\x9b\x4e\xcf\x14\x56\x4e\x3a\xa1\xd0\xc4\x47\x27\x4f\x85\x89\x4e\x9a\x41\x2b\x27\xc1\xc1\x3e\x03\xc5\x28\xbf\x32\x5f\x9b\xe8\x66\x8b\x6c\x22\x9a\x29\x55\x62\x98\x06\x5b\x03\xb3\x74\xc1\x1a\xa7\x54\xf6\xab\x65\xa2\x12\x37\x90\x48\x67\x2d\xd1\x47\x65\xac\xf0\x06\xad\xa1\x5c\xc4\x19\x76\xf9\x5d\xcc\xb1\xc0\x14\xa7\x38\xc7\x31\x4e\x70\x86\x43\x3c\xc3\x11\x5e\xe1\x05\x5e\xe2\x0b\x3c\xc7\xd7\x78\x8a\xcf\xf1\x31\x3e\xc5\x57\xf8\x05\xbe\xc4\xbf\xe2\x67\xf8\x03\x3e\xc1\xef\xf1\x19\x7e\x8b\x6e\x04\x93\xb9\xe0\xbd\xba\x4a\x74\x53\x3e\xf7\x24\x14\xe8\x26\x9e\x41\x3e\x16\x13\x64\x33\xaa\xe7\x92\x53\x1e\x5e\x50\xd1\xa3\x44\x25\x91\x9b\x38\x10\x38\x09\x76\x06\xd8\x7e\x0c\x6e\xd6\xeb\xa1\x2d\xc4\x54\xa1\x90\x26\x09\xa4\x65\x59\x4c\x71\xfd\x2c\x11\xa6\x7e\x42\x76\xfa\x75\xda\x5a\xd5\xcd\xc9\x4d\x55\x87\xf4\x97\x84\x61\xe9\x87\x84\x63\xe9\xc7\xc4\xed\x71\xd9\xcc\x1a\x4b\x3f\x72\xbe\x28\xe0\xa0\x1b\xe9\xa7\xea\x11\x15\xc5\x89\xde\xb2\x7c\xc3\xaa\xbc\x17\xe9\x8a\x09\x79\xad\xb3\xdd\x84\x29\x9f\xc5\xf3\x5c\xa8\xe9\xd3\xa3\xe0\xf9\x92\xd9\xb7\x3e\x9e\x33\x19\x88\x35\x52\xf5\xf3\x46\xcb\xa6\x97\xcc\xf3\x98\x3f\x9d\xb2\xec\xad\x11\x28\xaa\x1c\x75\xd7\x54\xa3\x34\x4f\xe4\x3a\xe8\xf8\xe8\x0c\x32\x82\x1c\x03\x0a\x30\x47\x98\xab\xe6\x52\xd2\x94\x6e\x6c\x46\x3b\x92\x95\x48\x65\xaa\x56\xbf\xbf\xa0\xd9\xc9\x25\x2f\xc7\x64\x80\xad\x0a\xa8\x3a\x56\x04\xec\x47\x71\x26\x01\x96\x50\xfa\x19\x79\xd8\x7f\x82\xd6\x70\xdc\xac\xb8\x96\x7f\xda\x1b\xf5\x1a\xdf\x99\xd3\xdd\xc1\xd7\x2d\xfc\x44\x37\x20\xcf\x58\x2f\x93\x22\x0e\x25\x18\x4a\x07\x50\x6a\xc6\x65\x09\x99\xd6\x40\xe3\x19\xdc\x81\xac\x17\xf3\x4c\x52\x1e\x2a\x06\x43\x22\x24\x17\x22\xbd\xec\x71\x76\xd9\x3b\xbb\x5e\xb1\x63\x45\xd6\x20\x78\x41\x39\x4f\x65\x4f\x0d\xb9\x47\x7b\x9a\x18\xf5\x68\xd6\xa3\x15\x52\x03\xb4\xfe\xb2\x4e\x69\xc4\x16\x84\xc3\x83\xfe\x11\xc2\xb4\x13\xd7\x5a\x53\xce\x82\x1b\x3b\x8e\x80\xad\xd7\x50\xa0\x61\xc7\xc0\x9c\xb5\xc5\xcc\x28\x67\xa9\x80\x06\x87\xfa\x43\xfe\x54\xfa\x09\xe3\x73\xb9\x18\xf2\xdd\x5d\x83\x5b\x82\xc8\x31\x9f\x0c\x85\x5f\xe3\x23\x71\x5f\x8a\x62\x67\x80\x85\xef\x62\xaf\x02\x2a\xb8\xa0\x49\xce\x40\xcc\x7b\xc2\xf3\xa0\xf0\x2f\x45\x2c\xed\x37\x84\xa1\x5a\x66\xb6\x6f\x08\x32\x2c\xfc\xcf\xec\x1a\x0b\xb4\x5e\xb7\x89\x81\x34\x0b\xa8\x5c\xfa\x9e\xc7\xa0\x83\x73\x0a\x47\x85\x4e\xc3\x02\x61\xb9\x5e\xc3\x8e\xb9\xaf\x91\xa5\x82\x0f\x87\x87\x47\x87\x08\xd7\xc0\x0b\x76\xfa\x77\x4d\x50\x05\x37\x71\xef\x39\xe8\x9a\x53\x4a\x38\x3c\x3c\x7c\x8c\x70\x4a\x04\xa4\xLine truncated
func publicSwaggerUiJsBytes() ([]byte, error) {
return bindataRead(
_publicSwaggerUiJs,
"public/swagger-ui.js",
)
}
func publicSwaggerUiJs() (*asset, error) {
bytes, err := publicSwaggerUiJsBytes()
if err != nil {
return nil, err
}
info := bindataFileInfo{name: "public/swagger-ui.js", size: 361688, mode: os.FileMode(0644), modTime: time.Unix(1597590050, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xce, 0xf9, 0x34, 0xcb, 0xf8, 0xd7, 0xb6, 0xb0, 0xed, 0xf3, 0xb, 0xfc, 0x8d, 0xec, 0x66, 0xa2, 0xe8, 0x8f, 0xcd, 0xcd, 0x8, 0x5b, 0xda, 0xcf, 0x96, 0x7e, 0x21, 0xd2, 0xdf, 0x58, 0x66, 0x29}}
return a, nil
}
var _publicSwaggerJson = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xec\x56\x4b\x4f\xe3\x48\x10\xbe\xe7\x57\x94\x7a\xf7\x98\xc4\x81\x63\x4e\x1b\xed\x61\x15\x69\x11\x91\xe0\xb0\xd2\x6e\x0e\x4d\xbb\x62\x37\xd8\xdd\x4d\x3f\xc2\x46\x28\xff\x7d\xd4\x6d\x27\x69\xbf\x98\x80\x06\xc1\x8c\xe0\x80\x9c\xfa\xea\xf9\x55\xb9\xca\xcf\x23\x00\xc2\xa4\x30\xae\x44\x43\xe6\xf0\xef\x08\x00\x80\x50\xa5\x0a\xce\xa8\xe5\x52\x24\xf7\x46\x0a\x32\xae\xe4\x16\xff\xb7\x89\x2a\x28\x17\x64\x04\xb0\xf6\x52\xa2\xb4\x4c\x1d\x7b\xab\xb5\x61\x39\x36\x42\xe7\xd6\xaa\x83\x81\x7f\x36\x91\xee\x13\xcd\x32\xd4\x64\x0e\xe4\x72\x3a\x0b\x4a\x84\x8b\x8d\x24\x73\x78\xae\x0c\x52\x34\x4c\x73\xe5\x23\x7b\x2d\x9b\x23\x28\xa7\x95\x34\x08\x72\x03\x36\xe7\x06\xa2\xe4\x80\x1b\xb0\x12\x94\x96\x5b\x9e\x22\x50\x11\x83\xff\x09\x9b\x53\xeb\x55\x9c\xe1\x22\x83\x90\x37\x64\x12\x98\x4c\xd1\x9b\xa5\xb8\xe1\x02\x81\x82\xa2\xc6\x22\x2c\x56\xcb\x63\x9d\xdc\x16\xe8\xe3\x2f\x56\xcb\xe9\xa9\x78\x5d\x9a\xeb\xcd\x0d\xea\x2d\x67\x58\x67\xa7\x11\xa8\x46\x10\x12\x6e\xaf\x6f\x80\xda\x2a\xc5\x52\x96\x28\xec\x18\x9c\x41\x2f\xdb\x49\xa7\x41\x3e\x09\xd0\xdc\x3c\xc0\x13\x82\xa5\x0f\xc1\x46\xa3\x51\x52\x18\x7e\xc7\x0b\x6e\x77\x87\x40\x4c\x0a\x4b\x99\x3d\x92\x02\x40\x04\x2d\x43\xc4\x7f\x9c\xab\xb5\x00\x88\xd3\x85\x97\x05\x8e\xe7\x49\x62\xa4\xd3\x53\x6e\x4e\x38\x96\x94\x07\x8d\x12\xff\x38\x80\x01\xdb\xd7\x81\x0a\xce\x50\x18\xec\x0b\x74\xb5\xbc\xed\x0d\x34\x4f\x12\xa9\x50\x78\x77\x0c\xa7\x52\x67\x49\xed\xc4\x24\xde\xa4\xe1\x7e\x8b\xda\xd4\x7d\x9c\x4d\x67\xd3\x0b\x8f\x06\x8c\xe4\xd2\xf8\xf2\x48\x20\x7e\x1a\x27\x4e\xee\xa8\xc1\x15\xb5\xb9\x87\x93\x4a\xa4\xa8\xcd\xcd\x69\x44\x12\xaa\xd4\xa4\x31\x35\x00\x24\xc3\x98\xaf\xee\x20\xfd\x85\x16\x16\x4a\xc1\xd2\xdb\x8d\x4f\x6a\x9d\xd9\xaf\xe5\x9d\x37\xe0\x08\xae\x23\x6b\x4b\xb3\x3e\xcb\x10\xa4\xd7\x40\x2a\xd4\xc1\xe9\x32\xf5\x59\x65\x68\x27\xc7\x6a\x22\xb5\x7a\x2e\xd0\x34\x6a\x02\x20\x97\xb3\x59\x4b\xd4\x2d\xf5\xc6\x31\x86\xc6\x44\xfe\x82\x56\x78\x4f\x69\xc7\xda\x57\xb1\x53\xa1\xe7\xf2\xee\x1e\x99\x6d\xd9\x55\x1c\x29\xd4\x96\x77\xd2\xa9\x71\x6e\xb1\x0c\xd0\xbe\x85\x35\x7f\xc7\xbf\x4e\xcf\x87\xa7\x7d\x63\x74\x92\xed\xc5\x2f\xd4\xe6\xed\xc5\xe4\xab\xd3\x2f\x74\xba\x44\xcd\x9c\xde\x4d\x98\x14\x1b\x9e\xbd\xb6\xdf\x57\x95\x35\xfc\x59\x59\x47\xe4\x76\xce\x62\x2d\x3f\xaf\xeb\x43\x33\x13\x1d\xc1\xf1\x90\x57\x14\x5b\xae\xe5\x0b\x0a\x5c\xf0\x61\x30\x3a\xb9\x3d\xa8\x95\x65\x71\xfe\x9c\xd6\xdc\x9e\xbd\x8e\x5a\xbd\x88\xf9\xa0\x9a\x96\x68\x51\xb7\x63\xb4\x86\xf4\x30\x64\xc6\x6a\x2e\xb2\xf6\x70\x6e\xa4\x2e\xa9\x1d\xc6\xdb\x23\xae\x28\xc3\xb6\xce\xe1\x48\x99\x3e\x90\x07\xbb\x47\x87\x71\xd1\xf1\x1c\xae\x3f\xed\xeb\x47\x8b\xe2\x7a\xd3\x22\xb7\x8f\xe2\x5a\xfd\x77\x8d\x5e\x9b\xfc\x96\x84\x2f\x19\xee\xf3\x32\x49\xc5\x58\x47\x7f\xdf\x8e\x36\xe0\xf4\x3b\x39\xc2\x19\x6b\x02\x1a\xab\xa2\x17\x8e\x02\x51\xad\xe9\xae\x37\xce\x59\x7e\x06\x79\x58\xb8\x94\xa3\xe8\xa3\xa2\xfa\x6b\xaf\xb0\x61\x69\x57\xd6\x96\xac\x5f\xb3\xfe\x8e\x9f\x55\xaa\xfa\x0a\x3a\x6b\xbb\xbd\xff\x5a\x7b\xfb\x29\x7c\xcd\x8a\xf1\x35\x7f\xb6\x1d\xb3\xa2\xbb\x42\xd2\x74\x68\xcb\xa8\x7e\xb8\xda\x33\xa1\x87\x2d\x44\xe3\xa3\xe3\x1a\x7d\xbd\x56\x3b\xfc\xa4\x4b\xa8\xa6\xe6\x87\x1c\xee\xb0\x88\xcd\x5b\x0f\x77\xd8\x58\xf0\x37\x6f\x30\xf9\x81\xc7\xfb\xfd\xa6\x3f\x3e\xb0\x35\x67\x1f\x3d\xfc\x5f\x07\xb6\x87\xe2\x5a\xfd\xeb\xc0\x56\x2a\x3f\xd9\x81\x1d\x1d\xfe\xef\x47\xfb\x6f\x01\x00\x00\xff\xff\x08\xc3\x1d\x9d\x1f\x13\x00\x00")
func publicSwaggerJsonBytes() ([]byte, error) {
return bindataRead(
_publicSwaggerJson,
"public/swagger.json",
)
}
func publicSwaggerJson() (*asset, error) {
bytes, err := publicSwaggerJsonBytes()
if err != nil {
return nil, err
}
info := bindataFileInfo{name: "public/swagger.json", size: 4895, mode: os.FileMode(0644), modTime: time.Unix(1597685436, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x71, 0xcc, 0xe, 0x5f, 0xc1, 0xe9, 0xd6, 0xa9, 0x46, 0x93, 0xde, 0x3d, 0x71, 0x10, 0x7f, 0xa9, 0x1e, 0x98, 0x11, 0x70, 0xc6, 0xcf, 0x1c, 0xa, 0x57, 0x84, 0xfc, 0x3c, 0xf7, 0x28, 0x3, 0x67}}
return a, nil
}
// Asset loads and returns the asset for the given name.
// It returns an error if the asset could not be found or
// could not be loaded.
func Asset(name string) ([]byte, error) {
canonicalName := strings.Replace(name, "\\", "/", -1)
if f, ok := _bindata[canonicalName]; ok {
a, err := f()
if err != nil {
return nil, fmt.Errorf("Asset %s can't read by error: %v", name, err)
}
return a.bytes, nil
}
return nil, fmt.Errorf("Asset %s not found", name)
}
// AssetString returns the asset contents as a string (instead of a []byte).
func AssetString(name string) (string, error) {
data, err := Asset(name)
return string(data), err
}
// MustAsset is like Asset but panics when Asset would return an error.
// It simplifies safe initialization of global variables.
func MustAsset(name string) []byte {
a, err := Asset(name)
if err != nil {
panic("asset: Asset(" + name + "): " + err.Error())
}
return a
}
// MustAssetString is like AssetString but panics when Asset would return an
// error. It simplifies safe initialization of global variables.
func MustAssetString(name string) string {
return string(MustAsset(name))
}
// AssetInfo loads and returns the asset info for the given name.
// It returns an error if the asset could not be found or
// could not be loaded.
func AssetInfo(name string) (os.FileInfo, error) {
canonicalName := strings.Replace(name, "\\", "/", -1)
if f, ok := _bindata[canonicalName]; ok {
a, err := f()
if err != nil {
return nil, fmt.Errorf("AssetInfo %s can't read by error: %v", name, err)
}
return a.info, nil
}
return nil, fmt.Errorf("AssetInfo %s not found", name)
}
// AssetDigest returns the digest of the file with the given name. It returns an
// error if the asset could not be found or the digest could not be loaded.
func AssetDigest(name string) ([sha256.Size]byte, error) {
canonicalName := strings.Replace(name, "\\", "/", -1)
if f, ok := _bindata[canonicalName]; ok {
a, err := f()
if err != nil {
return [sha256.Size]byte{}, fmt.Errorf("AssetDigest %s can't read by error: %v", name, err)
}
return a.digest, nil
}
return [sha256.Size]byte{}, fmt.Errorf("AssetDigest %s not found", name)
}
// Digests returns a map of all known files and their checksums.
func Digests() (map[string][sha256.Size]byte, error) {
mp := make(map[string][sha256.Size]byte, len(_bindata))
for name := range _bindata {
a, err := _bindata[name]()
if err != nil {
return nil, err
}
mp[name] = a.digest
}
return mp, nil
}
// AssetNames returns the names of the assets.
func AssetNames() []string {
names := make([]string, 0, len(_bindata))
for name := range _bindata {
names = append(names, name)
}
return names
}
// _bindata is a table, holding each asset generator, mapped to its name.
var _bindata = map[string]func() (*asset, error){
"public/favicon-16x16.png": publicFavicon16x16Png,
"public/favicon-32x32.png": publicFavicon32x32Png,
"public/index.html": publicIndexHtml,
"public/oauth2-redirect.html": publicOauth2RedirectHtml,
"public/swagger-ui-bundle.js": publicSwaggerUiBundleJs,
"public/swagger-ui-standalone-preset.js": publicSwaggerUiStandalonePresetJs,
"public/swagger-ui.css": publicSwaggerUiCss,
"public/swagger-ui.js": publicSwaggerUiJs,
"public/swagger.json": publicSwaggerJson,
}
// AssetDir returns the file names below a certain
// directory embedded in the file by go-bindata.
// For example if you run go-bindata on data/... and data contains the
// following hierarchy:
// data/
// foo.txt
// img/
// a.png
// b.png
// then AssetDir("data") would return []string{"foo.txt", "img"},
// AssetDir("data/img") would return []string{"a.png", "b.png"},
// AssetDir("foo.txt") and AssetDir("notexist") would return an error, and
// AssetDir("") will return []string{"data"}.
func AssetDir(name string) ([]string, error) {
node := _bintree
if len(name) != 0 {
canonicalName := strings.Replace(name, "\\", "/", -1)
pathList := strings.Split(canonicalName, "/")
for _, p := range pathList {
node = node.Children[p]
if node == nil {
return nil, fmt.Errorf("Asset %s not found", name)
}
}
}
if node.Func != nil {
return nil, fmt.Errorf("Asset %s not found", name)
}
rv := make([]string, 0, len(node.Children))
for childName := range node.Children {
rv = append(rv, childName)
}
return rv, nil
}
type bintree struct {
Func func() (*asset, error)
Children map[string]*bintree
}
var _bintree = &bintree{nil, map[string]*bintree{
"public": &bintree{nil, map[string]*bintree{
"favicon-16x16.png": &bintree{publicFavicon16x16Png, map[string]*bintree{}},
"favicon-32x32.png": &bintree{publicFavicon32x32Png, map[string]*bintree{}},
"index.html": &bintree{publicIndexHtml, map[string]*bintree{}},
"oauth2-redirect.html": &bintree{publicOauth2RedirectHtml, map[string]*bintree{}},
"swagger-ui-bundle.js": &bintree{publicSwaggerUiBundleJs, map[string]*bintree{}},
"swagger-ui-standalone-preset.js": &bintree{publicSwaggerUiStandalonePresetJs, map[string]*bintree{}},
"swagger-ui.css": &bintree{publicSwaggerUiCss, map[string]*bintree{}},
"swagger-ui.js": &bintree{publicSwaggerUiJs, map[string]*bintree{}},
"swagger.json": &bintree{publicSwaggerJson, map[string]*bintree{}},
}},
}}
// RestoreAsset restores an asset under the given directory.
func RestoreAsset(dir, name string) error {
data, err := Asset(name)
if err != nil {
return err
}
info, err := AssetInfo(name)
if err != nil {
return err
}
err = os.MkdirAll(_filePath(dir, filepath.Dir(name)), os.FileMode(0755))
if err != nil {
return err
}
err = ioutil.WriteFile(_filePath(dir, name), data, info.Mode())
if err != nil {
return err
}
return os.Chtimes(_filePath(dir, name), info.ModTime(), info.ModTime())
}
// RestoreAssets restores an asset under the given directory recursively.
func RestoreAssets(dir, name string) error {
children, err := AssetDir(name)
// File
if err != nil {
return RestoreAsset(dir, name)
}
// Dir
for _, child := range children {
err = RestoreAssets(dir, filepath.Join(name, child))
if err != nil {
return err
}
}
return nil
}
func _filePath(dir, name string) string {
canonicalName := strings.Replace(name, "\\", "/", -1)
return filepath.Join(append([]string{dir}, strings.Split(canonicalName, "/")...)...)
}
func assetFS() *assetfs.AssetFS {
assetInfo := func(path string) (os.FileInfo, error) {
return os.Stat(path)
}
for k := range _bintree.Children {
return &assetfs.AssetFS{Asset: Asset, AssetDir: AssetDir, AssetInfo: assetInfo, Prefix: k}
}
panic("unreachable")
}
-11
View File
@@ -1,11 +0,0 @@
package docs
import "sour.is/x/toolbox/httpsrv"
func init() {
httpsrv.AssetRegister("docs", httpsrv.AssetRoutes{
{Name: "Assets", Path: "/docs/", HandlerFunc: httpsrv.FsHtml5(assetFS())},
})
}
//go:generate go run github.com/sour-is/go-assetfs/cmd/assetfs -pkg docs public/
Binary file not shown.

Before

Width:  |  Height:  |  Size: 445 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

-95
View File
@@ -1,95 +0,0 @@
<!-- HTML for static distribution bundle build -->
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Swagger UI</title>
<link href="https://fonts.googleapis.com/css?family=Open+Sans:400,700|Source+Code+Pro:300,600|Titillium+Web:400,600,700" rel="stylesheet">
<link rel="stylesheet" type="text/css" href="./swagger-ui.css" >
<link rel="icon" type="image/png" href="./favicon-32x32.png" sizes="32x32" />
<link rel="icon" type="image/png" href="./favicon-16x16.png" sizes="16x16" />
<style>
html
{
box-sizing: border-box;
overflow: -moz-scrollbars-vertical;
overflow-y: scroll;
}
*,
*:before,
*:after
{
box-sizing: inherit;
}
body {
margin:0;
background: #fafafa;
}
</style>
</head>
<body>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" style="position:absolute;width:0;height:0">
<defs>
<symbol viewBox="0 0 20 20" id="unlocked">
<path d="M15.8 8H14V5.6C14 2.703 12.665 1 10 1 7.334 1 6 2.703 6 5.6V6h2v-.801C8 3.754 8.797 3 10 3c1.203 0 2 .754 2 2.199V8H4c-.553 0-1 .646-1 1.199V17c0 .549.428 1.139.951 1.307l1.197.387C5.672 18.861 6.55 19 7.1 19h5.8c.549 0 1.428-.139 1.951-.307l1.196-.387c.524-.167.953-.757.953-1.306V9.199C17 8.646 16.352 8 15.8 8z"></path>
</symbol>
<symbol viewBox="0 0 20 20" id="locked">
<path d="M15.8 8H14V5.6C14 2.703 12.665 1 10 1 7.334 1 6 2.703 6 5.6V8H4c-.553 0-1 .646-1 1.199V17c0 .549.428 1.139.951 1.307l1.197.387C5.672 18.861 6.55 19 7.1 19h5.8c.549 0 1.428-.139 1.951-.307l1.196-.387c.524-.167.953-.757.953-1.306V9.199C17 8.646 16.352 8 15.8 8zM12 8H8V5.199C8 3.754 8.797 3 10 3c1.203 0 2 .754 2 2.199V8z"/>
</symbol>
<symbol viewBox="0 0 20 20" id="close">
<path d="M14.348 14.849c-.469.469-1.229.469-1.697 0L10 11.819l-2.651 3.029c-.469.469-1.229.469-1.697 0-.469-.469-.469-1.229 0-1.697l2.758-3.15-2.759-3.152c-.469-.469-.469-1.228 0-1.697.469-.469 1.228-.469 1.697 0L10 8.183l2.651-3.031c.469-.469 1.228-.469 1.697 0 .469.469.469 1.229 0 1.697l-2.758 3.152 2.758 3.15c.469.469.469 1.229 0 1.698z"/>
</symbol>
<symbol viewBox="0 0 20 20" id="large-arrow">
<path d="M13.25 10L6.109 2.58c-.268-.27-.268-.707 0-.979.268-.27.701-.27.969 0l7.83 7.908c.268.271.268.709 0 .979l-7.83 7.908c-.268.271-.701.27-.969 0-.268-.269-.268-.707 0-.979L13.25 10z"/>
</symbol>
<symbol viewBox="0 0 20 20" id="large-arrow-down">
<path d="M17.418 6.109c.272-.268.709-.268.979 0s.271.701 0 .969l-7.908 7.83c-.27.268-.707.268-.979 0l-7.908-7.83c-.27-.268-.27-.701 0-.969.271-.268.709-.268.979 0L10 13.25l7.418-7.141z"/>
</symbol>
<symbol viewBox="0 0 24 24" id="jump-to">
<path d="M19 7v4H5.83l3.58-3.59L8 6l-6 6 6 6 1.41-1.41L5.83 13H21V7z"/>
</symbol>
<symbol viewBox="0 0 24 24" id="expand">
<path d="M10 18h4v-2h-4v2zM3 6v2h18V6H3zm3 7h12v-2H6v2z"/>
</symbol>
</defs>
</svg>
<div id="swagger-ui"></div>
<script src="./swagger-ui-bundle.js"> </script>
<script src="./swagger-ui-standalone-preset.js"> </script>
<script>
window.onload = function() {
// Build a system
const ui = SwaggerUIBundle({
url: "/docs/swagger.json",
dom_id: '#swagger-ui',
deepLinking: true,
presets: [
SwaggerUIBundle.presets.apis,
SwaggerUIStandalonePreset
],
plugins: [
SwaggerUIBundle.plugins.DownloadUrl
],
layout: "StandaloneLayout"
})
window.ui = ui
}
</script>
</body>
</html>
-67
View File
@@ -1,67 +0,0 @@
<!doctype html>
<html lang="en-US">
<body onload="run()">
</body>
</html>
<script>
'use strict';
function run () {
var oauth2 = window.opener.swaggerUIRedirectOauth2;
var sentState = oauth2.state;
var redirectUrl = oauth2.redirectUrl;
var isValid, qp, arr;
if (/code|token|error/.test(window.location.hash)) {
qp = window.location.hash.substring(1);
} else {
qp = location.search.substring(1);
}
arr = qp.split("&")
arr.forEach(function (v,i,_arr) { _arr[i] = '"' + v.replace('=', '":"') + '"';})
qp = qp ? JSON.parse('{' + arr.join() + '}',
function (key, value) {
return key === "" ? value : decodeURIComponent(value)
}
) : {}
isValid = qp.state === sentState
if ((
oauth2.auth.schema.get("flow") === "accessCode"||
oauth2.auth.schema.get("flow") === "authorizationCode"
) && !oauth2.auth.code) {
if (!isValid) {
oauth2.errCb({
authId: oauth2.auth.name,
source: "auth",
level: "warning",
message: "Authorization may be unsafe, passed state was changed in server Passed state wasn't returned from auth server"
});
}
if (qp.code) {
delete oauth2.state;
oauth2.auth.code = qp.code;
oauth2.callback({auth: oauth2.auth, redirectUrl: redirectUrl});
} else {
let oauthErrorMsg
if (qp.error) {
oauthErrorMsg = "["+qp.error+"]: " +
(qp.error_description ? qp.error_description+ ". " : "no accessCode received from the server. ") +
(qp.error_uri ? "More info: "+qp.error_uri : "");
}
oauth2.errCb({
authId: oauth2.auth.name,
source: "auth",
level: "error",
message: oauthErrorMsg || "[Authorization failed]: no accessCode received from the server"
});
}
} else {
oauth2.callback({auth: oauth2.auth, token: qp, isValid: isValid, redirectUrl: redirectUrl});
}
window.close();
}
</script>
-93
View File
@@ -1,93 +0,0 @@
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.SwaggerUIBundle=t():e.SwaggerUIBundle=t()}(this,function(){return function(e){function t(r){if(n[r])return n[r].exports;var i=n[r]={i:r,l:!1,exports:{}};return e[r].call(i.exports,i,i.exports,t),i.l=!0,i.exports}var n={};return t.m=e,t.c=n,t.i=function(e){return e},t.d=function(e,n,r){t.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:r})},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,"a",n),n},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="/dist",t(t.s=1227)}([function(e,t,n){"use strict";e.exports=n(93)},function(e,t,n){e.exports=n(1007)()},function(e,t,n){"use strict";t.__esModule=!0,t.default=function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}},function(e,t,n){"use strict";t.__esModule=!0;var r=n(336),i=function(e){return e&&e.__esModule?e:{default:e}}(r);t.default=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),(0,i.default)(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}()},function(e,t,n){e.exports={default:n(603),__esModule:!0}},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var i=n(577),o=r(i),a=n(335),s=r(a),u=n(48),l=r(u);t.default=function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+(void 0===t?"undefined":(0,l.default)(t)));e.prototype=(0,s.default)(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(o.default?(0,o.default)(e,t):e.__proto__=t)}},function(e,t,n){"use strict";t.__esModule=!0;var r=n(48),i=function(e){return e&&e.__esModule?e:{default:e}}(r);t.default=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!==(void 0===t?"undefined":(0,i.default)(t))&&"function"!=typeof t?e:t}},function(e,t,n){!function(t,n){e.exports=n()}(0,function(){"use strict";function e(e,t){t&&(e.prototype=Object.create(t.prototype)),e.prototype.constructor=e}function t(e){return o(e)?e:O(e)}function n(e){return a(e)?e:M(e)}function r(e){return s(e)?e:T(e)}function i(e){return o(e)&&!u(e)?e:P(e)}function o(e){return!(!e||!e[ln])}function a(e){return!(!e||!e[cn])}function s(e){return!(!e||!e[pn])}function u(e){return a(e)||s(e)}function l(e){return!(!e||!e[fn])}function c(e){return e.value=!1,e}function p(e){e&&(e.value=!0)}function f(){}function h(e,t){t=t||0;for(var n=Math.max(0,e.length-t),r=new Array(n),i=0;i<n;i++)r[i]=e[i+t];return r}function d(e){return void 0===e.size&&(e.size=e.__iterate(v)),e.size}function m(e,t){if("number"!=typeof t){var n=t>>>0;if(""+n!==t||4294967295===n)return NaN;t=n}return t<0?d(e)+t:t}function v(){return!0}function g(e,t,n){return(0===e||void 0!==n&&e<=-n)&&(void 0===t||void 0!==n&&t>=n)}function y(e,t){return b(e,t,0)}function _(e,t){return b(e,t,t)}function b(e,t,n){return void 0===e?n:e<0?Math.max(0,t+e):void 0===t?e:Math.min(t,e)}function x(e){this.next=e}function w(e,t,n,r){var i=0===e?t:1===e?n:[t,n];return r?r.value=i:r={value:i,done:!1},r}function k(){return{value:void 0,done:!0}}function E(e){return!!A(e)}function S(e){return e&&"function"==typeof e.next}function C(e){var t=A(e);return t&&t.call(e)}function A(e){var t=e&&(wn&&e[wn]||e[kn]);if("function"==typeof t)return t}function D(e){return e&&"number"==typeof e.length}function O(e){return null===e||void 0===e?B():o(e)?e.toSeq():z(e)}function M(e){return null===e||void 0===e?B().toKeyedSeq():o(e)?a(e)?e.toSeq():e.fromEntrySeq():L(e)}function T(e){return null===e||void 0===e?B():o(e)?a(e)?e.entrySeq():e.toIndexedSeq():q(e)}function P(e){return(null===e||void 0===e?B():o(e)?a(e)?e.entrySeq():e:q(e)).toSetSeq()}function I(e){this._array=e,this.size=e.length}function R(e){var t=Object.keys(e);this._object=e,this._keys=t,this.size=t.length}function j(e){this._iterable=e,this.size=e.length||e.size}function N(e){this._iterator=e,this._iteratorCache=[]}function F(e){return!(!e||!e[Sn])}function B(){return Cn||(Cn=new I([]))}function L(e){var t=Array.isArray(e)?new I(e).fromEntrySeq():S(e)?new N(e).fromEntrySeq():E(e)?new j(e).fromEntrySeq():"object"==typeof e?new R(e):void 0;if(!t)throw new TypeError("Expected Array or iterable object of [k, v] entries, or keyed object: "+e);return t}function q(e){var t=U(e);if(!t)throw new TypeError("Expected Array or iterable object of values: "+e);return t}function z(e){var t=U(e)||"object"==typeof e&&new R(e);if(!t)throw new TypeError("Expected Array or iterable object of values, or keyed object: "+e);return t}function U(e){return D(e)?new I(e):S(e)?new N(e):E(e)?new j(e):void 0}function W(e,t,n,r){var i=e._cache;if(i){for(var o=i.lengthLine truncated
object-assign
(c) Sindre Sorhus
@license MIT
*/
var i=Object.getOwnPropertySymbols,o=Object.prototype.hasOwnProperty,a=Object.prototype.propertyIsEnumerable;e.exports=function(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},n=0;n<10;n++)t["_"+String.fromCharCode(n)]=n;if("0123456789"!==Object.getOwnPropertyNames(t).map(function(e){return t[e]}).join(""))return!1;var r={};return"abcdefghijklmnopqrst".split("").forEach(function(e){r[e]=e}),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},r)).join("")}catch(e){return!1}}()?Object.assign:function(e,t){for(var n,s,u=r(e),l=1;l<arguments.length;l++){n=Object(arguments[l]);for(var c in n)o.call(n,c)&&(u[c]=n[c]);if(i){s=i(n);for(var p=0;p<s.length;p++)a.call(n,s[p])&&(u[s[p]]=n[s[p]])}}return u}},function(e,t,n){"use strict";function r(e,t){return 1===e.nodeType&&e.getAttribute(d)===String(t)||8===e.nodeType&&e.nodeValue===" react-text: "+t+" "||8===e.nodeType&&e.nodeValue===" react-empty: "+t+" "}function i(e){for(var t;t=e._renderedComponent;)e=t;return e}function o(e,t){var n=i(e);n._hostNode=t,t[v]=n}function a(e){var t=e._hostNode;t&&(delete t[v],e._hostNode=null)}function s(e,t){if(!(e._flags&m.hasCachedChildNodes)){var n=e._renderedChildren,a=t.firstChild;e:for(var s in n)if(n.hasOwnProperty(s)){var u=n[s],l=i(u)._domID;if(0!==l){for(;null!==a;a=a.nextSibling)if(r(a,l)){o(u,a);continue e}p("32",l)}}e._flags|=m.hasCachedChildNodes}}function u(e){if(e[v])return e[v];for(var t=[];!e[v];){if(t.push(e),!e.parentNode)return null;e=e.parentNode}for(var n,r;e&&(r=e[v]);e=t.pop())n=r,t.length&&s(r,e);return n}function l(e){var t=u(e);return null!=t&&t._hostNode===e?t:null}function c(e){if(void 0===e._hostNode&&p("33"),e._hostNode)return e._hostNode;for(var t=[];!e._hostNode;)t.push(e),e._hostParent||p("34"),e=e._hostParent;for(;t.length;e=t.pop())s(e,e._hostNode);return e._hostNode}var p=n(11),f=n(90),h=n(463),d=(n(8),f.ID_ATTRIBUTE_NAME),m=h,v="__reactInternalInstance$"+Math.random().toString(36).slice(2),g={getClosestInstanceFromNode:u,getInstanceFromNode:l,getNodeFromInstance:c,precacheChildNodes:s,precacheNode:o,uncacheNode:a};e.exports=g},function(e,t){var n=e.exports={version:"2.5.3"};"number"==typeof __e&&(__e=n)},function(e,t){var n;n=function(){return this}();try{n=n||Function("return this")()||(0,eval)("this")}catch(e){"object"==typeof window&&(n=window)}e.exports=n},function(e,t,n){"use strict";function r(e){var t={};return null!==e&&Object.keys(e).forEach(function(n){e[n].forEach(function(e){t[String(e)]=n})}),t}function i(e,t){if(t=t||{},Object.keys(t).forEach(function(t){if(-1===a.indexOf(t))throw new o('Unknown option "'+t+'" is met in definition of "'+e+'" YAML type.')}),this.tag=e,this.kind=t.kind||null,this.resolve=t.resolve||function(){return!0},this.construct=t.construct||function(e){return e},this.instanceOf=t.instanceOf||null,this.predicate=t.predicate||null,this.represent=t.represent||null,this.defaultStyle=t.defaultStyle||null,this.styleAliases=r(t.styleAliases||null),-1===s.indexOf(this.kind))throw new o('Unknown kind "'+this.kind+'" is specified for "'+e+'" YAML type.')}var o=n(117),a=["kind","resolve","construct","instanceOf","predicate","represent","defaultStyle","styleAliases"],s=["scalar","sequence","mapping"];e.exports=i},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var i=n(576),o=r(i),a=n(96),s=r(a);t.default=function(){function e(e,t){var n=[],r=!0,i=!1,o=void 0;try{for(var a,u=(0,s.default)(e);!(r=(a=u.next()).done)&&(n.push(a.value),!t||n.length!==t);r=!0);}catch(e){i=!0,o=e}finally{try{!r&&u.return&&u.return()}finally{if(i)throw o}}return n}return function(t,n){if(Array.isArray(t))return t;if((0,o.default)(Object(t)))return e(t,n);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}()},function(e,t,n){var r=n(367)("wks"),i=n(204),o=n(32).Symbol,a="function"==typeof o;(e.exports=function(e){return r[e]||(r[e]=a&&o[e]||(a?o:i)("Symbol."+e))}).store=r},function(e,t,n){"use strict";t.__esModule=!0;var r=n(30),i=function(e){return e&&e.__esModule?e:{default:e}}(r);t.default=i.default||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}},function(e,t,n){var r=n(190)("wks"),i=n(134),o=n(24).Symbol,a="function"==typeof o;(e.exports=function(e){return r[e]||(r[e]=a&&o[e]||(a?o:i)("Symbol."+e))}).store=r},function(e,t){var n=Array.isArray;e.exports=n},function(e,t,n){var r=n(24),i=n(15),o=n(54),a=n(57),s=function(e,t,n){var u,l,c,p=e&s.F,f=e&s.G,h=e&s.S,d=e&s.P,m=e&s.B,v=e&s.W,g=f?i:i[t]||(i[t]={}),y=g.prototype,_=f?r:h?r[t]:(r[t]||{}).prototype;f&&(n=t);for(u in n)(l=!p&&_&&void 0!==_[u])&&u in g||(c=l?_[u]:n[u],g[u]=f&&"function"!=typeof _[u]?n[u]:m&&l?o(c,r):v&&_[u]==c?function(e){var t=function(t,n,r){if(this instanceof e){switch(arguments.length){case 0:return new e;case 1:return new e(t);case 2:return new e(t,n)}return new e(tLine truncated
* The buffer module from node.js, for the browser.
*
* @author Feross Aboukhadijeh <feross@feross.org> <http://feross.org>
* @license MIT
*/
var Y=n(581),$=n(776),Z=n(394);t.Buffer=o,t.SlowBuffer=m,t.INSPECT_MAX_BYTES=50,o.TYPED_ARRAY_SUPPORT=void 0!==e.TYPED_ARRAY_SUPPORT?e.TYPED_ARRAY_SUPPORT:function(){try{var e=new Uint8Array(1);return e.__proto__={__proto__:Uint8Array.prototype,foo:function(){return 42}},42===e.foo()&&"function"==typeof e.subarray&&0===e.subarray(1,1).byteLength}catch(e){return!1}}(),t.kMaxLength=r(),o.poolSize=8192,o._augment=function(e){return e.__proto__=o.prototype,e},o.from=function(e,t,n){return a(null,e,t,n)},o.TYPED_ARRAY_SUPPORT&&(o.prototype.__proto__=Uint8Array.prototype,o.__proto__=Uint8Array,"undefined"!=typeof Symbol&&Symbol.species&&o[Symbol.species]===o&&Object.defineProperty(o,Symbol.species,{value:null,configurable:!0})),o.alloc=function(e,t,n){return u(null,e,t,n)},o.allocUnsafe=function(e){return l(null,e)},o.allocUnsafeSlow=function(e){return l(null,e)},o.isBuffer=function(e){return!(null==e||!e._isBuffer)},o.compare=function(e,t){if(!o.isBuffer(e)||!o.isBuffer(t))throw new TypeError("Arguments must be Buffers");if(e===t)return 0;for(var n=e.length,r=t.length,i=0,a=Math.min(n,r);i<a;++i)if(e[i]!==t[i]){n=e[i],r=t[i];break}return n<r?-1:r<n?1:0},o.isEncoding=function(e){switch(String(e).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}},o.concat=function(e,t){if(!Z(e))throw new TypeError('"list" argument must be an Array of Buffers');if(0===e.length)return o.alloc(0);var n;if(void 0===t)for(t=0,n=0;n<e.length;++n)t+=e[n].length;var r=o.allocUnsafe(t),i=0;for(n=0;n<e.length;++n){var a=e[n];if(!o.isBuffer(a))throw new TypeError('"list" argument must be an Array of Buffers');a.copy(r,i),i+=a.length}return r},o.byteLength=v,o.prototype._isBuffer=!0,o.prototype.swap16=function(){var e=this.length;if(e%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var t=0;t<e;t+=2)y(this,t,t+1);return this},o.prototype.swap32=function(){var e=this.length;if(e%4!=0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(var t=0;t<e;t+=4)y(this,t,t+3),y(this,t+1,t+2);return this},o.prototype.swap64=function(){var e=this.length;if(e%8!=0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(var t=0;t<e;t+=8)y(this,t,t+7),y(this,t+1,t+6),y(this,t+2,t+5),y(this,t+3,t+4);return this},o.prototype.toString=function(){var e=0|this.length;return 0===e?"":0===arguments.length?D(this,0,e):g.apply(this,arguments)},o.prototype.equals=function(e){if(!o.isBuffer(e))throw new TypeError("Argument must be a Buffer");return this===e||0===o.compare(this,e)},o.prototype.inspect=function(){var e="",n=t.INSPECT_MAX_BYTES;return this.length>0&&(e=this.toString("hex",0,n).match(/.{2}/g).join(" "),this.length>n&&(e+=" ... ")),"<Buffer "+e+">"},o.prototype.compare=function(e,t,n,r,i){if(!o.isBuffer(e))throw new TypeError("Argument must be a Buffer");if(void 0===t&&(t=0),void 0===n&&(n=e?e.length:0),void 0===r&&(r=0),void 0===i&&(i=this.length),t<0||n>e.length||r<0||i>this.length)throw new RangeError("out of range index");if(r>=i&&t>=n)return 0;if(r>=i)return-1;if(t>=n)return 1;if(t>>>=0,n>>>=0,r>>>=0,i>>>=0,this===e)return 0;for(var a=i-r,s=n-t,u=Math.min(a,s),l=this.slice(r,i),c=e.slice(t,n),p=0;p<u;++p)if(l[p]!==c[p]){a=l[p],s=c[p];break}return a<s?-1:s<a?1:0},o.prototype.includes=function(e,t,n){return-1!==this.indexOf(e,t,n)},o.prototype.indexOf=function(e,t,n){return _(this,e,t,n,!0)},o.prototype.lastIndexOf=function(e,t,n){return _(this,e,t,n,!1)},o.prototype.write=function(e,t,n,r){if(void 0===t)r="utf8",n=this.length,t=0;else if(void 0===n&&"string"==typeof t)r=t,n=this.length,t=0;else{if(!isFinite(t))throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");t|=0,isFinite(n)?(n|=0,void 0===r&&(r="utf8")):(r=n,n=void 0)}var i=this.length-t;if((void 0===n||n>i)&&(n=i),e.length>0&&(n<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");r||(r="utf8");for(var o=!1;;)switch(r){case"hex":return x(this,e,t,n);case"utf8":case"utf-8":return w(this,e,t,n);case"ascii":return k(this,e,t,n);case"latin1":case"binary":return E(this,e,t,n);case"base64":return S(this,e,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return C(this,e,t,n);default:if(o)throw new TypeError("Unknown encoding: "+r);r=(""+r).toLowerCase(),o=!0}},o.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var Q=4096;o.prototype.slice=function(e,t){var n=this.length;e=~~e,t=void 0===t?n:~~t,e<0?(e+=n)<0&&(e=0):e>n&&(e=n),t<0?(t+=n)<0&&(t=0):t>n&&(t=n),t<e&&(t=e);var r;if(o.TYPED_ARRAY_SUPPORT)r=this.subarray(e,t),r.__proto__=o.prototype;else{var i=t-e;r=new o(i,void 0);for(var a=0;a<i;++a)r[a]=this[a+e]}return r},o.prototype.readUIntLE=function(e,t,n){e|=0,t|=0,n||R(e,t,this.length);for(var r=this[e],i=1,o=0;++o<t&&(i*=256);)r+=this[e+o]*i;return r},o.prototype.readUIntBE=function(e,t,n){Line truncated
* @description Recursive object extending
* @author Viacheslav Lotsmanov <lotsmanov89@gmail.com>
* @license MIT
*
* The MIT License (MIT)
*
* Copyright (c) 2013-2015 Viacheslav Lotsmanov
*
* 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.
*/
function n(e){return e instanceof t||e instanceof Date||e instanceof RegExp}function r(e){if(e instanceof t){var n=new t(e.length);return e.copy(n),n}if(e instanceof Date)return new Date(e.getTime());if(e instanceof RegExp)return new RegExp(e);throw new Error("Unexpected situation")}function i(e){var t=[];return e.forEach(function(e,a){"object"==typeof e&&null!==e?Array.isArray(e)?t[a]=i(e):n(e)?t[a]=r(e):t[a]=o({},e):t[a]=e}),t}var o=e.exports=function(){if(arguments.length<1||"object"!=typeof arguments[0])return!1;if(arguments.length<2)return arguments[0];var e,t,a=arguments[0],s=Array.prototype.slice.call(arguments,1);return s.forEach(function(s){"object"!=typeof s||Array.isArray(s)||Object.keys(s).forEach(function(u){return t=a[u],e=s[u],e===a?void 0:"object"!=typeof e||null===e?void(a[u]=e):Array.isArray(e)?void(a[u]=i(e)):n(e)?void(a[u]=r(e)):"object"!=typeof t||null===t||Array.isArray(t)?void(a[u]=o({},e)):void(a[u]=o(t,e))})}),a}}).call(t,n(42).Buffer)},function(e,t){e.exports={Aacute:"Á",aacute:"á",Abreve:"Ă",abreve:"ă",ac:"∾",acd:"∿",acE:"∾̳",Acirc:"Â",acirc:"â",acute:"´",Acy:"А",acy:"а",AElig:"Æ",aelig:"æ",af:"⁡",Afr:"𝔄",afr:"𝔞",Agrave:"À",agrave:"à",alefsym:"ℵ",aleph:"ℵ",Alpha:"Α",alpha:"α",Amacr:"Ā",amacr:"ā",amalg:"⨿",amp:"&",AMP:"&",andand:"⩕",And:"⩓",and:"∧",andd:"⩜",andslope:"⩘",andv:"⩚",ang:"∠",ange:"⦤",angle:"∠",angmsdaa:"⦨",angmsdab:"⦩",angmsdac:"⦪",angmsdad:"⦫",angmsdae:"⦬",angmsdaf:"⦭",angmsdag:"⦮",angmsdah:"⦯",angmsd:"∡",angrt:"∟",angrtvb:"⊾",angrtvbd:"⦝",angsph:"∢",angst:"Å",angzarr:"⍼",Aogon:"Ą",aogon:"ą",Aopf:"𝔸",aopf:"𝕒",apacir:"⩯",ap:"≈",apE:"⩰",ape:"≊",apid:"≋",apos:"'",ApplyFunction:"⁡",approx:"≈",approxeq:"≊",Aring:"Å",aring:"å",Ascr:"𝒜",ascr:"𝒶",Assign:"≔",ast:"*",asymp:"≈",asympeq:"≍",Atilde:"Ã",atilde:"ã",Auml:"Ä",auml:"ä",awconint:"∳",awint:"⨑",backcong:"≌",backepsilon:"϶",backprime:"‵",backsim:"∽",backsimeq:"⋍",Backslash:"∖",Barv:"⫧",barvee:"⊽",barwed:"⌅",Barwed:"⌆",barwedge:"⌅",bbrk:"⎵",bbrktbrk:"⎶",bcong:"≌",Bcy:"Б",bcy:"б",bdquo:"„",becaus:"∵",because:"∵",Because:"∵",bemptyv:"⦰",bepsi:"϶",bernou:"ℬ",Bernoullis:"ℬ",Beta:"Β",beta:"β",beth:"ℶ",between:"≬",Bfr:"𝔅",bfr:"𝔟",bigcap:"⋂",bigcirc:"◯",bigcup:"⋃",bigodot:"⨀",bigoplus:"⨁",bigotimes:"⨂",bigsqcup:"⨆",bigstar:"★",bigtriangledown:"▽",bigtriangleup:"△",biguplus:"⨄",bigvee:"⋁",bigwedge:"⋀",bkarow:"⤍",blacklozenge:"⧫",blacksquare:"▪",blacktriangle:"▴",blacktriangledown:"▾",blacktriangleleft:"◂",blacktriangleright:"▸",blank:"␣",blk12:"▒",blk14:"░",blk34:"▓",block:"█",bne:"=⃥",bnequiv:"≡⃥",bNot:"⫭",bnot:"⌐",Bopf:"𝔹",bopf:"𝕓",bot:"⊥",bottom:"⊥",bowtie:"⋈",boxbox:"⧉",boxdl:"┐",boxdL:"╕",boxDl:"╖",boxDL:"╗",boxdr:"┌",boxdR:"╒",boxDr:"╓",boxDR:"╔",boxh:"─",boxH:"═",boxhd:"┬",boxHd:"╤",boxhD:"╥",boxHD:"╦",boxhu:"┴",boxHu:"╧",boxhU:"╨",boxHU:"╩",boxminus:"⊟",boxplus:"⊞",boxtimes:"⊠",boxul:"┘",boxuL:"╛",boxUl:"╜",boxUL:"╝",boxur:"└",boxuR:"╘",boxUr:"╙",boxUR:"╚",boxv:"│",boxV:"║",boxvh:"┼",boxvH:"╪",boxVh:"╫",boxVH:"╬",boxvl:"┤",boxvL:"╡",boxVl:"╢",boxVL:"╣",boxvr:"├",boxvR:"╞",boxVr:"╟",boxVR:"╠",bprime:"‵",breve:"˘",Breve:"˘",brvbar:"¦",bscr:"𝒷",Bscr:"ℬ",bsemi:"⁏",bsim:"∽",bsime:"⋍",bsolb:"⧅",bsol:"\\",bsolhsub:"⟈",bull:"•",bullet:"•",bump:"≎",bumpE:"⪮",bumpe:"≏",Bumpeq:"≎",bumpeq:"≏",Cacute:"Ć",cacute:"ć",capand:"⩄",capbrcup:"⩉",capcap:"⩋",cap:"∩",Cap:"⋒",capcup:"⩇",capdot:"⩀",CapitalDifferentialD:"ⅅ",caps:"∩︀",caret:"⁁",caron:"ˇ",Cayleys:"ℭ",ccaps:"⩍",Ccaron:"Č",ccaron:"č",Ccedil:"Ç",ccedil:"ç",Ccirc:"Ĉ",ccirc:"ĉ",Cconint:"∰",ccups:"⩌",ccupssm:"⩐",Cdot:"Ċ",cdot:"ċ",cedil:"¸",Cedilla:"¸",cemptyv:"⦲",cent:"¢",centerdot:"·",CenterDot:"·",cfr:"𝔠",Cfr:"ℭ",CHcy:"Ч",chcy:"ч",check:"✓",checkmark:"✓",Chi:"Χ",chi:"χ",circ:"ˆ",circeq:"≗",circlearrowleft:"↺",circlearrowright:"↻",circledast:"⊛",circledcirc:"⊚",circleddash:"⊝",CircleDot:"⊙",circledR:"®",circledS:"Ⓢ",CircleMinus:"⊖",CirclePlus:"⊕",CircleTimes:"⊗",cir:"○",cirE:"⧃",cire:"≗",cirfnint:"⨐",cirmid:"⫯",cirscir:"⧂",ClockwiseContourIntegral:"∲",CloseCurlyDoubleQuote:"”",CloseCurlyQuote:"’",clubs:"♣",clubsuit:"♣",colon:":",Colon:"∷",Colone:"⩴",colone:"≔",coloneq:"≔",comma:",",commat:"@",comp:"∁",compfn:"∘",complement:"∁",complexes:"ℂ",cong:"≅",congdot:"⩭",Congruent:"≡",conint:"∮",Conint:"∯",ContourIntegral:"∮",copf:"𝕔",Copf:"ℂ",coprod:"∐",Coproduct:"∐",copy:"©",COPY:"©",copysr:"℗",CounterClockwiseContourIntegral:"∳",crarr:"↵",cross:"✗",Cross:"⨯",Cscr:"𝒞",cscr:"𝒸",csub:"⫏",csube:"⫑",csup:"⫐",csupe:"⫒",ctdot:"⋯",cudarrl:"⤸",cudarrr:"⤵",cLine truncated
* Checks if an event is supported in the current execution environment.
*
* NOTE: This will not work correctly for non-generic events such as `change`,
* `reset`, `load`, `error`, and `select`.
*
* Borrows from Modernizr.
*
* @param {string} eventNameSuffix Event name, e.g. "click".
* @param {?boolean} capture Check if the capture phase is supported.
* @return {boolean} True if the event is supported.
* @internal
* @license Modernizr 3.0.0pre (Custom Build) | MIT
*/
function r(e,t){if(!o.canUseDOM||t&&!("addEventListener"in document))return!1;var n="on"+e,r=n in document;if(!r){var a=document.createElement("div");a.setAttribute(n,"return;"),r="function"==typeof a[n]}return!r&&i&&"wheel"===e&&(r=document.implementation.hasFeature("Events.wheel","3.0")),r}var i,o=n(25);o.canUseDOM&&(i=document.implementation&&document.implementation.hasFeature&&!0!==document.implementation.hasFeature("","")),e.exports=r},function(e,t,n){"use strict";function r(e,t){var n=null===e||!1===e,r=null===t||!1===t;if(n||r)return n===r;var i=typeof e,o=typeof t;return"string"===i||"number"===i?"string"===o||"number"===o:"object"===o&&e.type===t.type&&e.key===t.key}e.exports=r},function(e,t,n){"use strict";var r=(n(13),n(33)),i=(n(10),r);e.exports=i},function(e,t,n){"use strict";function r(e){switch(e._type){case"Document":case"BlockQuote":case"List":case"Item":case"Paragraph":case"Heading":case"Emph":case"Strong":case"Link":case"Image":case"CustomInline":case"CustomBlock":return!0;default:return!1}}var i=function(e,t){this.current=e,this.entering=!0===t},o=function(){var e=this.current,t=this.entering;if(null===e)return null;var n=r(e);return t&&n?e._firstChild?(this.current=e._firstChild,this.entering=!0):this.entering=!1:e===this.root?this.current=null:null===e._next?(this.current=e._parent,this.entering=!1):(this.current=e._next,this.entering=!0),{entering:t,node:e}},a=function(e){return{current:e,root:e,entering:!0,next:o,resumeAt:i}},s=function(e,t){this._type=e,this._parent=null,this._firstChild=null,this._lastChild=null,this._prev=null,this._next=null,this._sourcepos=t,this._lastLineBlank=!1,this._open=!0,this._string_content=null,this._literal=null,this._listData={},this._info=null,this._destination=null,this._title=null,this._isFenced=!1,this._fenceChar=null,this._fenceLength=0,this._fenceOffset=null,this._level=null,this._onEnter=null,this._onExit=null},u=s.prototype;Object.defineProperty(u,"isContainer",{get:function(){return r(this)}}),Object.defineProperty(u,"type",{get:function(){return this._type}}),Object.defineProperty(u,"firstChild",{get:function(){return this._firstChild}}),Object.defineProperty(u,"lastChild",{get:function(){return this._lastChild}}),Object.defineProperty(u,"next",{get:function(){return this._next}}),Object.defineProperty(u,"prev",{get:function(){return this._prev}}),Object.defineProperty(u,"parent",{get:function(){return this._parent}}),Object.defineProperty(u,"sourcepos",{get:function(){return this._sourcepos}}),Object.defineProperty(u,"literal",{get:function(){return this._literal},set:function(e){this._literal=e}}),Object.defineProperty(u,"destination",{get:function(){return this._destination},set:function(e){this._destination=e}}),Object.defineProperty(u,"title",{get:function(){return this._title},set:function(e){this._title=e}}),Object.defineProperty(u,"info",{get:function(){return this._info},set:function(e){this._info=e}}),Object.defineProperty(u,"level",{get:function(){return this._level},set:function(e){this._level=e}}),Object.defineProperty(u,"listType",{get:function(){return this._listData.type},set:function(e){this._listData.type=e}}),Object.defineProperty(u,"listTight",{get:function(){return this._listData.tight},set:function(e){this._listData.tight=e}}),Object.defineProperty(u,"listStart",{get:function(){return this._listData.start},set:function(e){this._listData.start=e}}),Object.defineProperty(u,"listDelimiter",{get:function(){return this._listData.delimiter},set:function(e){this._listData.delimiter=e}}),Object.defineProperty(u,"onEnter",{get:function(){return this._onEnter},set:function(e){this._onEnter=e}}),Object.defineProperty(u,"onExit",{get:function(){return this._onExit},set:function(e){this._onExit=e}}),s.prototype.appendChild=function(e){e.unlink(),e._parent=this,this._lastChild?(this._lastChild._next=e,e._prev=this._lastChild,this._lastChild=e):(this._firstChild=e,this._lastChild=e)},s.prototype.prependChild=function(e){e.unlink(),e._parent=this,this._firstChild?(this._firstChild._prev=e,e._next=this._firstChild,this._firstChild=e):(this._firstChild=e,this._lastChild=e)},s.prototype.unlink=function(){this._prev?this._prev._next=this._next:this._parent&&(this._parent._firstChild=this._next),this._next?this._next._prev=this._prev:this._parent&&(this._parent._lastChild=this._prev),this._parent=null,this._next=null,this._prev=null},s.prototype.insertAfter=function(e){e.unlink(),e._next=this._next,e._next&&(e._next._prev=e),e._prev=this,this._next=e,e._parent=this._parent,e._next||(e._parent._lastChild=e)},s.prototype.insertBefore=function(e){e.unlink(),e._prev=this._prev,e._prev&&(e._prev._next=e),e._next=this,this._prev=e,e._parent=this._parent,e._prev||(e._parent._firstChild=e)},s.prototype.walker=function(){return new a(this)},e.exports=s},function(e,t,n){"use strict";function r(e){var t={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=0);return t}t.__esModule=!0,t.default=r,e.exports=t.default},function(e,t,n){"use Line truncated
String.prototype.repeat||function(){"use strict";var e=function(){try{var e={},t=Object.defineProperty,n=t(e,e,e)&&t}catch(e){}return n}(),t=function(e){if(null==this)throw TypeError();var t=String(this),n=e?Number(e):0;if(n!=n&&(n=0),n<0||n==1/0)throw RangeError();for(var r="";n;)n%2==1&&(r+=t),n>1&&(t+=t),n>>=1;return r};e?e(String.prototype,"repeat",{value:t,configurable:!0,writable:!0}):String.prototype.repeat=t}()},function(e,t,n){e.exports=function(e){function t(r){if(n[r])return n[r].exports;var i=n[r]={i:r,l:!1,exports:{}};return e[r].call(i.exports,i,i.exports,t),i.l=!0,i.exports}var n={};return t.m=e,t.c=n,t.i=function(e){return e},t.d=function(e,n,r){t.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:r})},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,"a",n),n},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="",t(t.s=61)}([function(e,t){e.exports=n(47)},function(e,t){e.exports=n(30)},function(e,t){e.exports=n(48)},function(e,t){e.exports=n(20)},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function i(e){var t=e.openapi;return!!t&&(0,b.default)(t,"3")}function o(e){var t=e.swagger;return!!t&&(0,b.default)(t,"2")}function a(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"";return e&&"object"===(void 0===e?"undefined":(0,v.default)(e))?(e.operationId||"").replace(/\s/g,"").length?w(e.operationId):s(t,n):null}function s(e,t){return""+x(t)+w(e)}function u(e,t){return x(t)+"-"+e}function l(e,t){return e&&e.paths?c(e,function(e){var n=e.pathName,r=e.method,i=e.operation;if(!i||"object"!==(void 0===i?"undefined":(0,v.default)(i)))return!1;var o=i.operationId;return[a(i,n,r),u(n,r),o].some(function(e){return e&&e===t})}):null}function c(e,t){return p(e,t,!0)||null}function p(e,t,n){if(!e||"object"!==(void 0===e?"undefined":(0,v.default)(e))||!e.paths||"object"!==(0,v.default)(e.paths))return null;var r=e.paths;for(var i in r)for(var o in r[i])if("PARAMETERS"!==o.toUpperCase()){var a=r[i][o];if(a&&"object"===(void 0===a?"undefined":(0,v.default)(a))){var s={spec:e,pathName:i,method:o.toUpperCase(),operation:a},u=t(s);if(n&&u)return s}}}function f(e){var t=e.spec,n=t.paths,r={};if(!n)return e;for(var i in n){var o=n[i];if((0,y.default)(o)){var s=o.parameters;for(var u in o)!function(e){var n=o[e];if(!(0,y.default)(n))return"continue";var u=a(n,i,e);if(u){r[u]?r[u].push(n):r[u]=[n];var l=r[u];if(l.length>1)l.forEach(function(e,t){e.__originalOperationId=e.__originalOperationId||e.operationId,e.operationId=""+u+(t+1)});else if(void 0!==n.operationId){var c=l[0];c.__originalOperationId=c.__originalOperationId||n.operationId,c.operationId=u}}if("parameters"!==e){var p=[],f={};for(var h in t)"produces"!==h&&"consumes"!==h&&"security"!==h||(f[h]=t[h],p.push(f));if(s&&(f.parameters=s,p.push(f)),p.length){var m=!0,v=!1,g=void 0;try{for(var _,b=(0,d.default)(p);!(m=(_=b.next()).done);m=!0){var x=_.value;for(var w in x)if(n[w]){if("parameters"===w){var k=!0,E=!1,S=void 0;try{for(var C,A=(0,d.default)(x[w]);!(k=(C=A.next()).done);k=!0)!function(){var e=C.value;n[w].some(function(t){return t.name===e.name})||n[w].push(e)}()}catch(e){E=!0,S=e}finally{try{!k&&A.return&&A.return()}finally{if(E)throw S}}}}else n[w]=x[w]}}catch(e){v=!0,g=e}finally{try{!m&&b.return&&b.return()}finally{if(v)throw g}}}}}(u)}}return e}Object.defineProperty(t,"__esModule",{value:!0});var h=n(16),d=r(h),m=n(2),v=r(m);t.isOAS3=i,t.isSwagger2=o,t.opId=a,t.idFromPathMethod=s,t.legacyIdFromPathMethod=u,t.getOperationRaw=l,t.findOperation=c,t.eachOperation=p,t.normalizeSwagger=f;var g=n(54),y=r(g),_=n(21),b=r(_),x=function(e){return String.prototype.toLowerCase.call(e)},w=function(e){return e.replace(/[^\w]/gi,"_")}},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function i(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return"object"===(void 0===e?"undefined":(0,b.default)(e))&&(t=e,e=t.url),t.headers=t.headers||{},A.mergeInQueryOrForm(t),t.requestInterceptor&&(t=t.requestInterceptor(t)||t),/multipart\/form-data/i.test(t.headers["content-type"]||t.headers["Content-Type"])&&(delete t.headers["content-type"],delete t.headers["Content-Type"]),(t.userFetch||fetch)(t.url,t).then(function(n){var r=A.serializeRes(n,e,t).then(function(e){return t.responseInterceptor&&(e=t.responseInterceptor(e)||e),e});if(!n.ok){var i=new Error(n.statusText);return i.statusCode=i.status=n.status,r.then(function(e){throw i.response=e,i},function(e){throw i.responseError=e,i})}return r})}function o(e,t){return"application/json"===t?JSON.parse(e):E.default.safeLoad(e)}function a(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=n.loadSpec,i=void 0!==r&&r,a={ok:e.ok,url:e.url||t,status:e.status,statusText:e.statusText,headers:s(e.headers)},u=a.headers["content-type"],l=i||D(u);return(l?e.text:e.blob||e.buffer).call(e).then(function(e){if(a.text=e,a.data=e,lLine truncated
* Autolinker.js
* 0.15.3
*
* Copyright(c) 2015 Gregory Jacobs <greg@greg-jacobs.com>
* MIT Licensed. http://www.opensource.org/licenses/mit-license.php
*
* https://github.com/gregjacobs/Autolinker.js
*/
var e=function(t){e.Util.assign(this,t)};return e.prototype={constructor:e,urls:!0,email:!0,twitter:!0,newWindow:!0,stripPrefix:!0,truncate:void 0,className:"",htmlParser:void 0,matchParser:void 0,tagBuilder:void 0,link:function(e){for(var t=this.getHtmlParser(),n=t.parse(e),r=0,i=[],o=0,a=n.length;o<a;o++){var s=n[o],u=s.getType(),l=s.getText();if("element"===u)"a"===s.getTagName()&&(s.isClosing()?r=Math.max(r-1,0):r++),i.push(l);else if("entity"===u)i.push(l);else if(0===r){var c=this.linkifyStr(l);i.push(c)}else i.push(l)}return i.join("")},linkifyStr:function(e){return this.getMatchParser().replace(e,this.createMatchReturnVal,this)},createMatchReturnVal:function(t){var n;return this.replaceFn&&(n=this.replaceFn.call(this,this,t)),"string"==typeof n?n:!1===n?t.getMatchedText():n instanceof e.HtmlTag?n.toString():this.getTagBuilder().build(t).toString()},getHtmlParser:function(){var t=this.htmlParser;return t||(t=this.htmlParser=new e.htmlParser.HtmlParser),t},getMatchParser:function(){var t=this.matchParser;return t||(t=this.matchParser=new e.matchParser.MatchParser({urls:this.urls,email:this.email,twitter:this.twitter,stripPrefix:this.stripPrefix})),t},getTagBuilder:function(){var t=this.tagBuilder;return t||(t=this.tagBuilder=new e.AnchorTagBuilder({newWindow:this.newWindow,truncate:this.truncate,className:this.className})),t}},e.link=function(t,n){return new e(n).link(t)},e.match={},e.htmlParser={},e.matchParser={},e.Util={abstractMethod:function(){throw"abstract"},assign:function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);return e},extend:function(t,n){var r=t.prototype,i=function(){};i.prototype=r;var o;o=n.hasOwnProperty("constructor")?n.constructor:function(){r.constructor.apply(this,arguments)};var a=o.prototype=new i;return a.constructor=o,a.superclass=r,delete n.constructor,e.Util.assign(a,n),o},ellipsis:function(e,t,n){return e.length>t&&(n=null==n?"..":n,e=e.substring(0,t-n.length)+n),e},indexOf:function(e,t){if(Array.prototype.indexOf)return e.indexOf(t);for(var n=0,r=e.length;n<r;n++)if(e[n]===t)return n;return-1},splitAndCapture:function(e,t){if(!t.global)throw new Error("`splitRegex` must have the 'g' flag set");for(var n,r=[],i=0;n=t.exec(e);)r.push(e.substring(i,n.index)),r.push(n[0]),i=n.index+n[0].length;return r.push(e.substring(i)),r}},e.HtmlTag=e.Util.extend(Object,{whitespaceRegex:/\s+/,constructor:function(t){e.Util.assign(this,t),this.innerHtml=this.innerHtml||this.innerHTML},setTagName:function(e){return this.tagName=e,this},getTagName:function(){return this.tagName||""},setAttr:function(e,t){return this.getAttrs()[e]=t,this},getAttr:function(e){return this.getAttrs()[e]},setAttrs:function(t){var n=this.getAttrs();return e.Util.assign(n,t),this},getAttrs:function(){return this.attrs||(this.attrs={})},setClass:function(e){return this.setAttr("class",e)},addClass:function(t){for(var n,r=this.getClass(),i=this.whitespaceRegex,o=e.Util.indexOf,a=r?r.split(i):[],s=t.split(i);n=s.shift();)-1===o(a,n)&&a.push(n);return this.getAttrs().class=a.join(" "),this},removeClass:function(t){for(var n,r=this.getClass(),i=this.whitespaceRegex,o=e.Util.indexOf,a=r?r.split(i):[],s=t.split(i);a.length&&(n=s.shift());){var u=o(a,n);-1!==u&&a.splice(u,1)}return this.getAttrs().class=a.join(" "),this},getClass:function(){return this.getAttrs().class||""},hasClass:function(e){return-1!==(" "+this.getClass()+" ").indexOf(" "+e+" ")},setInnerHtml:function(e){return this.innerHtml=e,this},getInnerHtml:function(){return this.innerHtml||""},toString:function(){var e=this.getTagName(),t=this.buildAttrsStr();return t=t?" "+t:"",["<",e,t,">",this.getInnerHtml(),"</",e,">"].join("")},buildAttrsStr:function(){if(!this.attrs)return"";var e=this.getAttrs(),t=[];for(var n in e)e.hasOwnProperty(n)&&t.push(n+'="'+e[n]+'"');return t.join(" ")}}),e.AnchorTagBuilder=e.Util.extend(Object,{constructor:function(t){e.Util.assign(this,t)},build:function(t){return new e.HtmlTag({tagName:"a",attrs:this.createAttrs(t.getType(),t.getAnchorHref()),innerHtml:this.processAnchorText(t.getAnchorText())})},createAttrs:function(e,t){var n={href:t},r=this.createCssClass(e);return r&&(n.class=r),this.newWindow&&(n.target="_blank"),n},createCssClass:function(e){var t=this.className;return t?t+" "+t+"-"+e:""},processAnchorText:function(e){return e=this.doTruncate(e)},doTruncate:function(t){return e.Util.ellipsis(t,this.truncate||Number.POSITIVE_INFINITY)}}),e.htmlParser.HtmlParser=e.Util.extend(Object,{htmlRegex:function(){var e=/[0-9a-zA-Z][0-9a-zA-Z:]*/,t=/[^\s\0"'>\/=\x01-\x1F\x7F]+/,n=/(?:"[^"]*?"|'[^']*?'|[^'"=<>`\s]+)/,r=t.source+"(?:\\s*=\\s*"+n.source+")?";return new RegExp(["(?:","<(!DOCTYPE)","(?:","\\s+","(?:",r,"|",n.source+")",")*",">",")","|","(?:","<(/)?","("+e.source+")","(?:","\\s+",r,")*","\\s*/?",">",")"].join(""),"gi")}(),htmlCharacterEntitiesRegex:/(&nbsp;|&#160;|&lt;|&#60;|&gt;|&#62;|&quot;|&#34;|&#39;)/gi,parse:function(e){for(var t,n,r=this.htmlRegex,i=0,o=[];null!==(t=r.exec(e));){var a=t[0],s=t[1]||t[3]Line truncated
* Bowser - a browser detector
* https://github.com/ded/bowser
* MIT License | (c) Dustin Diaz 2015
*/
!function(t,r,i){void 0!==e&&e.exports?e.exports=i():n(1209)("bowser",i)}(0,0,function(){function e(e){function t(t){var n=e.match(t);return n&&n.length>1&&n[1]||""}function n(t){var n=e.match(t);return n&&n.length>1&&n[2]||""}var r,i=t(/(ipod|iphone|ipad)/i).toLowerCase(),o=/like android/i.test(e),s=!o&&/android/i.test(e),u=/nexus\s*[0-6]\s*/i.test(e),l=!u&&/nexus\s*[0-9]+/i.test(e),c=/CrOS/.test(e),p=/silk/i.test(e),f=/sailfish/i.test(e),h=/tizen/i.test(e),d=/(web|hpw)os/i.test(e),m=/windows phone/i.test(e),v=(/SamsungBrowser/i.test(e),!m&&/windows/i.test(e)),g=!i&&!p&&/macintosh/i.test(e),y=!s&&!f&&!h&&!d&&/linux/i.test(e),_=n(/edg([ea]|ios)\/(\d+(\.\d+)?)/i),b=t(/version\/(\d+(\.\d+)?)/i),x=/tablet/i.test(e)&&!/tablet pc/i.test(e),w=!x&&/[^-]mobi/i.test(e),k=/xbox/i.test(e);/opera/i.test(e)?r={name:"Opera",opera:a,version:b||t(/(?:opera|opr|opios)[\s\/](\d+(\.\d+)?)/i)}:/opr\/|opios/i.test(e)?r={name:"Opera",opera:a,version:t(/(?:opr|opios)[\s\/](\d+(\.\d+)?)/i)||b}:/SamsungBrowser/i.test(e)?r={name:"Samsung Internet for Android",samsungBrowser:a,version:b||t(/(?:SamsungBrowser)[\s\/](\d+(\.\d+)?)/i)}:/coast/i.test(e)?r={name:"Opera Coast",coast:a,version:b||t(/(?:coast)[\s\/](\d+(\.\d+)?)/i)}:/yabrowser/i.test(e)?r={name:"Yandex Browser",yandexbrowser:a,version:b||t(/(?:yabrowser)[\s\/](\d+(\.\d+)?)/i)}:/ucbrowser/i.test(e)?r={name:"UC Browser",ucbrowser:a,version:t(/(?:ucbrowser)[\s\/](\d+(?:\.\d+)+)/i)}:/mxios/i.test(e)?r={name:"Maxthon",maxthon:a,version:t(/(?:mxios)[\s\/](\d+(?:\.\d+)+)/i)}:/epiphany/i.test(e)?r={name:"Epiphany",epiphany:a,version:t(/(?:epiphany)[\s\/](\d+(?:\.\d+)+)/i)}:/puffin/i.test(e)?r={name:"Puffin",puffin:a,version:t(/(?:puffin)[\s\/](\d+(?:\.\d+)?)/i)}:/sleipnir/i.test(e)?r={name:"Sleipnir",sleipnir:a,version:t(/(?:sleipnir)[\s\/](\d+(?:\.\d+)+)/i)}:/k-meleon/i.test(e)?r={name:"K-Meleon",kMeleon:a,version:t(/(?:k-meleon)[\s\/](\d+(?:\.\d+)+)/i)}:m?(r={name:"Windows Phone",osname:"Windows Phone",windowsphone:a},_?(r.msedge=a,r.version=_):(r.msie=a,r.version=t(/iemobile\/(\d+(\.\d+)?)/i))):/msie|trident/i.test(e)?r={name:"Internet Explorer",msie:a,version:t(/(?:msie |rv:)(\d+(\.\d+)?)/i)}:c?r={name:"Chrome",osname:"Chrome OS",chromeos:a,chromeBook:a,chrome:a,version:t(/(?:chrome|crios|crmo)\/(\d+(\.\d+)?)/i)}:/edg([ea]|ios)/i.test(e)?r={name:"Microsoft Edge",msedge:a,version:_}:/vivaldi/i.test(e)?r={name:"Vivaldi",vivaldi:a,version:t(/vivaldi\/(\d+(\.\d+)?)/i)||b}:f?r={name:"Sailfish",osname:"Sailfish OS",sailfish:a,version:t(/sailfish\s?browser\/(\d+(\.\d+)?)/i)}:/seamonkey\//i.test(e)?r={name:"SeaMonkey",seamonkey:a,version:t(/seamonkey\/(\d+(\.\d+)?)/i)}:/firefox|iceweasel|fxios/i.test(e)?(r={name:"Firefox",firefox:a,version:t(/(?:firefox|iceweasel|fxios)[ \/](\d+(\.\d+)?)/i)},/\((mobile|tablet);[^\)]*rv:[\d\.]+\)/i.test(e)&&(r.firefoxos=a,r.osname="Firefox OS")):p?r={name:"Amazon Silk",silk:a,version:t(/silk\/(\d+(\.\d+)?)/i)}:/phantom/i.test(e)?r={name:"PhantomJS",phantom:a,version:t(/phantomjs\/(\d+(\.\d+)?)/i)}:/slimerjs/i.test(e)?r={name:"SlimerJS",slimer:a,version:t(/slimerjs\/(\d+(\.\d+)?)/i)}:/blackberry|\bbb\d+/i.test(e)||/rim\stablet/i.test(e)?r={name:"BlackBerry",osname:"BlackBerry OS",blackberry:a,version:b||t(/blackberry[\d]+\/(\d+(\.\d+)?)/i)}:d?(r={name:"WebOS",osname:"WebOS",webos:a,version:b||t(/w(?:eb)?osbrowser\/(\d+(\.\d+)?)/i)},/touchpad\//i.test(e)&&(r.touchpad=a)):/bada/i.test(e)?r={name:"Bada",osname:"Bada",bada:a,version:t(/dolfin\/(\d+(\.\d+)?)/i)}:h?r={name:"Tizen",osname:"Tizen",tizen:a,version:t(/(?:tizen\s?)?browser\/(\d+(\.\d+)?)/i)||b}:/qupzilla/i.test(e)?r={name:"QupZilla",qupzilla:a,version:t(/(?:qupzilla)[\s\/](\d+(?:\.\d+)+)/i)||b}:/chromium/i.test(e)?r={name:"Chromium",chromium:a,version:t(/(?:chromium)[\s\/](\d+(?:\.\d+)?)/i)||b}:/chrome|crios|crmo/i.test(e)?r={name:"Chrome",chrome:a,version:t(/(?:chrome|crios|crmo)\/(\d+(\.\d+)?)/i)}:s?r={name:"Android",version:b}:/safari|applewebkit/i.test(e)?(r={name:"Safari",safari:a},b&&(r.version=b)):i?(r={name:"iphone"==i?"iPhone":"ipad"==i?"iPad":"iPod"},b&&(r.version=b)):r=/googlebot/i.test(e)?{name:"Googlebot",googlebot:a,version:t(/googlebot\/(\d+(\.\d+))/i)||b}:{name:t(/^(.*)\/(.*) /),version:n(/^(.*)\/(.*) /)},!r.msedge&&/(apple)?webkit/i.test(e)?(/(apple)?webkit\/537\.36/i.test(e)?(r.name=r.name||"Blink",r.blink=a):(r.name=r.name||"Webkit",r.webkit=a),!r.version&&b&&(r.version=b)):!r.opera&&/gecko\//i.test(e)&&(r.name=r.name||"Gecko",r.gecko=a,r.version=r.version||t(/gecko\/(\d+(\.\d+)?)/i)),r.windowsphone||!s&&!r.silk?!r.windowsphone&&i?(r[i]=a,r.ios=a,r.osname="iOS"):g?(r.mac=a,r.osname="macOS"):k?(r.xbox=a,r.osname="Xbox"):v?(r.windows=a,r.osname="Windows"):y&&(r.linux=a,r.osname="Linux"):(r.android=a,r.osname="Android");var E="";r.windows?E=function(e){switch(e){case"NT":return"NT";case"XP":return"XP";case"NT 5.0":return"2000";case"NT 5.1":return"XP";case"NT 5.2":return"2003";case"NT 6.0":return"Vista";case"NT 6.1":return"7";case"NT 6.2":return"8";case"NT 6.3":return"8.1";case"NT 10.Line truncated
Copyright (c) 2016 Jed Watson.
Licensed under the MIT License (MIT), see
http://jedwatson.github.io/classnames
*/
!function(){"use strict";function n(){for(var e=[],t=0;t<arguments.length;t++){var r=arguments[t];if(r){var i=typeof r;if("string"===i||"number"===i)e.push(r);else if(Array.isArray(r))e.push(n.apply(null,r));else if("object"===i)for(var a in r)o.call(r,a)&&r[a]&&e.push(a)}}return e.join(" ")}var o={}.hasOwnProperty;void 0!==e&&e.exports?e.exports=n:(r=[],void 0!==(i=function(){return n}.apply(t,r))&&(e.exports=i))}()},function(e,t,n){"use strict";function r(e){return{key:e.nodeKey,className:e.className,"data-sourcepos":e["data-sourcepos"]}}function i(e){var t=e.toLowerCase(),n=w[t]||t;return void 0!==k[n]?n:e}function o(e){return Object.keys(e||{}).reduce(function(t,n){return t[i(n)]=e[n],t},{})}function a(e){var t=r(e),n=e.escapeHtml?{}:{dangerouslySetInnerHTML:{__html:e.literal}},i=e.escapeHtml?[e.literal]:null;if(e.escapeHtml||!e.skipHtml){var o=y(t,n);return l(e.isBlock?"div":"span",o,i)}}function s(e){var t=e.parent.parent;return t&&"list"===t.type.toLowerCase()&&t.listTight}function u(e,t){var n=e;do{n=n.parent}while(!n.react);n.react.children.push(t)}function l(e,t,n){var r=Array.isArray(n)&&n.reduce(c,[]),i=[e,t].concat(r||n);return g.createElement.apply(g,i)}function c(e,t){var n=e.length-1;return"string"==typeof t&&"string"==typeof e[n]?e[n]+=t:e.push(t),e}function p(e){return[e[0][0],":",e[0][1],"-",e[1][0],":",e[1][1]].map(String).join("")}function f(e,t,n,r){var o={key:t};n.sourcePos&&e.sourcepos&&(o["data-sourcepos"]=p(e.sourcepos));var a=i(e.type);switch(a){case"html_inline":case"html_block":o.isBlock="html_block"===a,o.escapeHtml=n.escapeHtml,o.skipHtml=n.skipHtml;break;case"code_block":var s=e.info?e.info.split(/ +/):[];s.length>0&&s[0].length>0&&(o.language=s[0],o.codeinfo=s);break;case"code":o.children=e.literal,o.inline=!0;break;case"heading":o.level=e.level;break;case"softbreak":o.softBreak=n.softBreak;break;case"link":o.href=n.transformLinkUri?n.transformLinkUri(e.destination):e.destination,o.title=e.title||void 0,n.linkTarget&&(o.target=n.linkTarget);break;case"image":o.src=n.transformImageUri?n.transformImageUri(e.destination):e.destination,o.title=e.title||void 0,o.alt=e.react.children.join(""),e.react.children=void 0;break;case"list":o.start=e.listStart,o.type=e.listType,o.tight=e.listTight}"string"!=typeof r&&(o.literal=e.literal);var u=o.children||e.react&&e.react.children;return Array.isArray(u)&&(o.children=u.reduce(c,[])||null),o}function h(e){return e?e.sourcepos?p(e.sourcepos):h(e.parent):null}function d(e){for(var t,n,r,o,a,l,c,p,d,m=e.walker(),v={sourcePos:this.sourcePos,escapeHtml:this.escapeHtml,skipHtml:this.skipHtml,transformLinkUri:this.transformLinkUri,transformImageUri:this.transformImageUri,softBreak:this.softBreak,linkTarget:this.linkTarget},_=0;t=m.next();){var b=h(t.node.sourcepos?t.node:t.node.parent);if(d===b?(c=b+_,_++):(c=b,_=0),d=b,r=t.entering,o=!r,n=t.node,a=i(n.type),p=null,l){if(n!==l&&!("paragraph"===a&&s(n)||this.skipHtml&&("html_block"===a||"html_inline"===a))){var w=n===l,k=-1===this.allowedTypes.indexOf(a),E=!1,S=n.isContainer&&o,C=this.renderers[a];if(this.allowNode&&(S||!n.isContainer)){var A=S?n.react.children:[];p=f(n,c,v,C),E=!this.allowNode({type:x(a),renderer:this.renderers[a],props:p,children:A})}if(w||!E&&!k){var D="text"===a||"softbreak"===a;if("function"!=typeof C&&!D&&"string"!=typeof C)throw new Error("Renderer for type `"+x(n.type)+"` not defined or is not renderable");if(n.isContainer&&r)n.react={component:C,props:{},children:[]};else{var O=p||f(n,c,v,C);if(C)O="string"==typeof C?O:y(O,{nodeKey:O.key}),u(n,g.createElement(C,O));else if("text"===a)u(n,n.literal);else if("softbreak"===a){var M="br"===this.softBreak?g.createElement("br",{key:c}):this.softBreak;u(n,M)}}}else!this.unwrapDisallowed&&r&&n.isContainer&&m.resumeAt(n,!1)}}else l=n,n.react={children:[]}}return l.react.children}function m(e){var t=e.replace(/file:\/\//g,"x-file://");return decodeURI(b.uriInDoubleQuotedAttr(t))}function v(e){var t=e||{};if(t.allowedTypes&&t.disallowedTypes)throw new Error("Only one of `allowedTypes` and `disallowedTypes` should be defined");if(t.allowedTypes&&!Array.isArray(t.allowedTypes))throw new Error("`allowedTypes` must be an array");if(t.disallowedTypes&&!Array.isArray(t.disallowedTypes))throw new Error("`disallowedTypes` must be an array");if(t.allowNode&&"function"!=typeof t.allowNode)throw new Error("`allowNode` must be a function");var n=t.transformLinkUri;if(void 0===n)n=m;else if(n&&"function"!=typeof n)throw new Error("`transformLinkUri` must either be a function, or `null` to disable");var r=t.transformImageUri;if(void 0!==r&&"function"!=typeof r)throw new Error("`transformImageUri` must be a function");if(t.renderers&&!_(t.renderers))throw new Error("`renderers` must be a plain object of `Type`: `Renderer` pairs");var a=t.allowedTypes&&t.allowedTypes.map(i)||E;if(t.disallowedTypes){var s=t.disallowedTypes.map(i);a=a.filter(function(e){return-1===s.indexOf(e)})}return{sourcePos:Boolean(t.sourcePos),softBreak:t.softBreak||"\n",rendLine truncated
if(String.fromCodePoint)e.exports=function(e){try{return String.fromCodePoint(e)}catch(e){if(e instanceof RangeError)return String.fromCharCode(65533);throw e}};else{var r=String.fromCharCode,i=Math.floor,o=function(){var e,t,n=[],o=-1,a=arguments.length;if(!a)return"";for(var s="";++o<a;){var u=Number(arguments[o]);if(!isFinite(u)||u<0||u>1114111||i(u)!==u)return String.fromCharCode(65533);u<=65535?n.push(u):(u-=65536,e=55296+(u>>10),t=u%1024+56320,n.push(e,t)),(o+1===a||n.length>16384)&&(s+=r.apply(null,n),n.length=0)}return s};e.exports=o}},function(e,t,n){"use strict";e.exports.Node=n(176),e.exports.Parser=n(586),e.exports.HtmlRenderer=n(591),e.exports.XmlRenderer=n(592)},function(e,t,n){"use strict";function r(e){return{subject:"",delimiters:null,brackets:null,pos:0,refmap:{},match:N,peek:F,spnl:B,parseBackticks:L,parseBackslash:q,parseAutolink:z,parseHtmlTag:U,scanDelims:W,handleDelim:V,parseLinkTitle:X,parseLinkDestination:K,parseLinkLabel:Y,parseOpenBracket:$,parseBang:Z,parseCloseBracket:Q,addBracket:ee,removeBracket:te,parseEntity:ne,parseString:re,parseNewline:ie,parseReference:oe,parseInline:ae,processEmphasis:J,removeDelimiter:H,options:e||{},parse:se}}var i=n(176),o=n(74),a=n(590),s=o.normalizeURI,u=o.unescapeString,l=n(587),c=n(114).decodeHTML;n(504);var p=o.ESCAPABLE,f="\\\\"+p,h=o.ENTITY,d=o.reHtmlTag,m=new RegExp(/[!"#$%&'()*+,\-.\/:;<=>?@\[\]^_`{|}~\xA1\xA7\xAB\xB6\xB7\xBB\xBF\u037E\u0387\u055A-\u055F\u0589\u058A\u05BE\u05C0\u05C3\u05C6\u05F3\u05F4\u0609\u060A\u060C\u060D\u061B\u061E\u061F\u066A-\u066D\u06D4\u0700-\u070D\u07F7-\u07F9\u0830-\u083E\u085E\u0964\u0965\u0970\u0AF0\u0DF4\u0E4F\u0E5A\u0E5B\u0F04-\u0F12\u0F14\u0F3A-\u0F3D\u0F85\u0FD0-\u0FD4\u0FD9\u0FDA\u104A-\u104F\u10FB\u1360-\u1368\u1400\u166D\u166E\u169B\u169C\u16EB-\u16ED\u1735\u1736\u17D4-\u17D6\u17D8-\u17DA\u1800-\u180A\u1944\u1945\u1A1E\u1A1F\u1AA0-\u1AA6\u1AA8-\u1AAD\u1B5A-\u1B60\u1BFC-\u1BFF\u1C3B-\u1C3F\u1C7E\u1C7F\u1CC0-\u1CC7\u1CD3\u2010-\u2027\u2030-\u2043\u2045-\u2051\u2053-\u205E\u207D\u207E\u208D\u208E\u2308-\u230B\u2329\u232A\u2768-\u2775\u27C5\u27C6\u27E6-\u27EF\u2983-\u2998\u29D8-\u29DB\u29FC\u29FD\u2CF9-\u2CFC\u2CFE\u2CFF\u2D70\u2E00-\u2E2E\u2E30-\u2E42\u3001-\u3003\u3008-\u3011\u3014-\u301F\u3030\u303D\u30A0\u30FB\uA4FE\uA4FF\uA60D-\uA60F\uA673\uA67E\uA6F2-\uA6F7\uA874-\uA877\uA8CE\uA8CF\uA8F8-\uA8FA\uA8FC\uA92E\uA92F\uA95F\uA9C1-\uA9CD\uA9DE\uA9DF\uAA5C-\uAA5F\uAADE\uAADF\uAAF0\uAAF1\uABEB\uFD3E\uFD3F\uFE10-\uFE19\uFE30-\uFE52\uFE54-\uFE61\uFE63\uFE68\uFE6A\uFE6B\uFF01-\uFF03\uFF05-\uFF0A\uFF0C-\uFF0F\uFF1A\uFF1B\uFF1F\uFF20\uFF3B-\uFF3D\uFF3F\uFF5B\uFF5D\uFF5F-\uFF65]|\uD800[\uDD00-\uDD02\uDF9F\uDFD0]|\uD801\uDD6F|\uD802[\uDC57\uDD1F\uDD3F\uDE50-\uDE58\uDE7F\uDEF0-\uDEF6\uDF39-\uDF3F\uDF99-\uDF9C]|\uD804[\uDC47-\uDC4D\uDCBB\uDCBC\uDCBE-\uDCC1\uDD40-\uDD43\uDD74\uDD75\uDDC5-\uDDC9\uDDCD\uDDDB\uDDDD-\uDDDF\uDE38-\uDE3D\uDEA9]|\uD805[\uDCC6\uDDC1-\uDDD7\uDE41-\uDE43\uDF3C-\uDF3E]|\uD809[\uDC70-\uDC74]|\uD81A[\uDE6E\uDE6F\uDEF5\uDF37-\uDF3B\uDF44]|\uD82F\uDC9F|\uD836[\uDE87-\uDE8B]/),v=new RegExp('^(?:"('+f+'|[^"\\x00])*"|\'('+f+"|[^'\\x00])*'|\\(("+f+"|[^)\\x00])*\\))"),g=new RegExp("^(?:[<](?:[^ <>\\t\\n\\\\\\x00]|"+f+"|\\\\)*[>])"),y=new RegExp("^"+p),_=new RegExp("^"+h,"i"),b=/`+/,x=/^`+/,w=/\.\.\./g,k=/--+/g,E=/^<([a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*)>/,S=/^<[A-Za-z][A-Za-z0-9.+-]{1,31}:[^<>\x00-\x20]*>/i,C=/^ *(?:\n *)?/,A=/^[ \t\n\x0b\x0c\x0d]/,D=/[ \t\n\x0b\x0c\x0d]+/g,O=/^\s/,M=/ *$/,T=/^ */,P=/^ *(?:\n|$)/,I=new RegExp("^\\[(?:[^\\\\\\[\\]]|"+f+"|\\\\){0,1000}\\]"),R=/^[^\n`\[\]\\!<&*_'"]+/m,j=function(e){var t=new i("text");return t._literal=e,t},N=function(e){var t=e.exec(this.subject.slice(this.pos));return null===t?null:(this.pos+=t.index+t[0].length,t[0])},F=function(){return this.pos<this.subject.length?this.subject.charCodeAt(this.pos):-1},B=function(){return this.match(C),!0},L=function(e){var t=this.match(x);if(null===t)return!1;for(var n,r,o=this.pos;null!==(n=this.match(b));)if(n===t)return r=new i("code"),r._literal=this.subject.slice(o,this.pos-t.length).trim().replace(D," "),e.appendChild(r),!0;return this.pos=o,e.appendChild(j(t)),!0},q=function(e){var t,n=this.subject;return this.pos+=1,10===this.peek()?(this.pos+=1,t=new i("linebreak"),e.appendChild(t)):y.test(n.charAt(this.pos))?(e.appendChild(j(n.charAt(this.pos))),this.pos+=1):e.appendChild(j("\\")),!0},z=function(e){var t,n,r;return(t=this.match(E))?(n=t.slice(1,t.length-1),r=new i("link"),r._destination=s("mailto:"+n),r._title="",r.appendChild(j(n)),e.appendChild(r),!0):!!(t=this.match(S))&&(n=t.slice(1,t.length-1),r=new i("link"),r._destination=s(n),r._title="",r.appendChild(j(n)),e.appendChild(r),!0)},U=function(e){var t=this.match(d);if(null===t)return!1;var n=new i("html_inline");return n._literal=t,e.appendChild(n),!0},W=function(e){var t,n,r,i,o,a,s,u,c,p,f,h=0,d=this.pos;if(39===e||34===e)h++,this.pos++;else for(;this.peek()===eLine truncated
* cookie
* Copyright(c) 2012-2014 Roman Shtylman
* Copyright(c) 2015 Douglas Christopher Wilson
* MIT Licensed
*/
t.parse=r,t.serialize=i;var a=decodeURIComponent,s=encodeURIComponent,u=/; */,l=/^[\u0009\u0020-\u007e\u0080-\u00ff]+$/},function(e,t,n){n(690),n(694),n(701),n(372),n(685),n(686),n(691),n(695),n(697),n(681),n(682),n(683),n(684),n(687),n(688),n(689),n(692),n(693),n(696),n(698),n(699),n(700),n(677),n(678),n(679),n(680),e.exports=n(63).String},function(e,t,n){n(675),n(372),n(704),n(676),n(702),n(703),e.exports=n(63).Promise},function(e,t,n){n(103),n(632),e.exports=n(15).Array.from},function(e,t,n){n(104),n(103),e.exports=n(630)},function(e,t,n){n(104),n(103),e.exports=n(631)},function(e,t,n){var r=n(15),i=r.JSON||(r.JSON={stringify:JSON.stringify});e.exports=function(e){return i.stringify.apply(i,arguments)}},function(e,t,n){n(634),e.exports=n(15).Object.assign},function(e,t,n){n(635);var r=n(15).Object;e.exports=function(e,t){return r.create(e,t)}},function(e,t,n){n(636);var r=n(15).Object;e.exports=function(e,t,n){return r.defineProperty(e,t,n)}},function(e,t,n){n(637),e.exports=n(15).Object.getPrototypeOf},function(e,t,n){n(638),e.exports=n(15).Object.keys},function(e,t,n){n(639),e.exports=n(15).Object.setPrototypeOf},function(e,t,n){n(196),n(103),n(104),n(640),n(643),n(644),e.exports=n(15).Promise},function(e,t,n){n(641),n(196),n(645),n(646),e.exports=n(15).Symbol},function(e,t,n){n(103),n(104),e.exports=n(194).f("iterator")},function(e,t,n){n(196),n(104),n(642),n(648),n(647),e.exports=n(15).WeakMap},function(e,t){e.exports=function(){}},function(e,t,n){var r=n(76),i=n(133),o=n(629);e.exports=function(e){return function(t,n,a){var s,u=r(t),l=i(u.length),c=o(a,l);if(e&&n!=n){for(;l>c;)if((s=u[c++])!=s)return!0}else for(;l>c;c++)if((e||c in u)&&u[c]===n)return e||c||0;return!e&&-1}}},function(e,t,n){var r=n(27),i=n(343),o=n(21)("species");e.exports=function(e){var t;return i(e)&&(t=e.constructor,"function"!=typeof t||t!==Array&&!i(t.prototype)||(t=void 0),r(t)&&null===(t=t[o])&&(t=void 0)),void 0===t?Array:t}},function(e,t,n){var r=n(612);e.exports=function(e,t){return new(r(e))(t)}},function(e,t,n){"use strict";var r=n(187),i=n(131).getWeak,o=n(37),a=n(27),s=n(177),u=n(129),l=n(178),c=n(56),p=n(357),f=l(5),h=l(6),d=0,m=function(e){return e._l||(e._l=new v)},v=function(){this.a=[]},g=function(e,t){return f(e.a,function(e){return e[0]===t})};v.prototype={get:function(e){var t=g(this,e);if(t)return t[1]},has:function(e){return!!g(this,e)},set:function(e,t){var n=g(this,e);n?n[1]=t:this.a.push([e,t])},delete:function(e){var t=h(this.a,function(t){return t[0]===e});return~t&&this.a.splice(t,1),!!~t}},e.exports={getConstructor:function(e,t,n,o){var l=e(function(e,r){s(e,l,t,"_i"),e._t=t,e._i=d++,e._l=void 0,void 0!=r&&u(r,n,e[o],e)});return r(l.prototype,{delete:function(e){if(!a(e))return!1;var n=i(e);return!0===n?m(p(this,t)).delete(e):n&&c(n,this._i)&&delete n[this._i]},has:function(e){if(!a(e))return!1;var n=i(e);return!0===n?m(p(this,t)).has(e):n&&c(n,this._i)}}),l},def:function(e,t,n){var r=i(o(t),!0);return!0===r?m(e).set(t,n):r[e._i]=n,e},ufstore:m}},function(e,t,n){"use strict";var r=n(24),i=n(23),o=n(131),a=n(55),s=n(57),u=n(187),l=n(129),c=n(177),p=n(27),f=n(102),h=n(43).f,d=n(178)(0),m=n(49);e.exports=function(e,t,n,v,g,y){var _=r[e],b=_,x=g?"set":"add",w=b&&b.prototype,k={};return m&&"function"==typeof b&&(y||w.forEach&&!a(function(){(new b).entries().next()}))?(b=t(function(t,n){c(t,b,e,"_c"),t._c=new _,void 0!=n&&l(n,g,t[x],t)}),d("add,clear,delete,forEach,get,has,set,keys,values,entries,toJSON".split(","),function(e){var t="add"==e||"set"==e;e in w&&(!y||"clear"!=e)&&s(b.prototype,e,function(n,r){if(c(this,b,e),!t&&y&&!p(n))return"get"==e&&void 0;var i=this._c[e](0===n?0:n,r);return t?this:i})}),y||h(b.prototype,"size",{get:function(){return this._c.size}})):(b=v.getConstructor(t,e,g,x),u(b.prototype,n),o.NEED=!0),f(b,e),k[e]=b,i(i.G+i.W+i.F,k),y||v.setStrong(b,e,g),b}},function(e,t,n){"use strict";var r=n(43),i=n(101);e.exports=function(e,t,n){t in e?r.f(e,t,i(0,n)):e[t]=n}},function(e,t,n){var r=n(100),i=n(186),o=n(132);e.exports=function(e){var t=r(e),n=i.f;if(n)for(var a,s=n(e),u=o.f,l=0;s.length>l;)u.call(e,a=s[l++])&&t.push(a);return t}},function(e,t){e.exports=function(e,t,n){var r=void 0===n;switch(t.length){case 0:return r?e():e.call(n);case 1:return r?e(t[0]):e.call(n,t[0]);case 2:return r?e(t[0],t[1]):e.call(n,t[0],t[1]);case 3:return r?e(t[0],t[1],t[2]):e.call(n,t[0],t[1],t[2]);case 4:return r?e(t[0],t[1],t[2],t[3]):e.call(n,t[0],t[1],t[2],t[3])}return e.apply(n,t)}},function(e,t,n){"use strict";var r=n(185),i=n(101),o=n(102),a={};n(57)(a,n(21)("iterator"),function(){return this}),e.exports=function(e,t,n){e.prototype=r(a,{next:i(1,n)}),o(e,t+" Iterator")}},function(e,t){e.exports=function(e,t){return{value:t,done:!!e}}},function(e,t,n){var r=n(24),i=n(356).set,o=r.MutationObserver||r.WebKitMutationObserver,a=r.process,s=r.Promise,u="process"==n(99)(a);e.exports=function(){var e,t,n,l=function(){var r,i;for(u&&(r=a.domain)&&r.exit();e;){i=e.fn,e=e.next;try{i()}catch(r){throw e?n():t=vLine truncated
* pascalcase <https://github.com/jonschlinkert/pascalcase>
*
* Copyright (c) 2015, Jon Schlinkert.
* Licensed under the MIT License.
*/
function n(e){if("string"!=typeof e)throw new TypeError("expected a string.");return e=e.replace(/([A-Z])/g," $1"),1===e.length?e.toUpperCase():(e=e.replace(/^[\W_]+|[\W_]+$/g,"").toLowerCase(),e=e.charAt(0).toUpperCase()+e.slice(1),e.replace(/[\W_]+(\w|$)/g,function(e,t){return t.toUpperCase()}))}e.exports=n},function(e,t,n){"use strict";(function(r){function i(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}t.__esModule=!0;var a=n(452),s=i(a),u=n(233),l=i(u),c=function(){function e(t,n,r){o(this,e),this.stringify=t,this.mapOpts=r.map||{},this.root=n,this.opts=r}return e.prototype.isMap=function(){return void 0!==this.opts.map?!!this.opts.map:this.previous().length>0},e.prototype.previous=function(){var e=this;return this.previousMaps||(this.previousMaps=[],this.root.walk(function(t){if(t.source&&t.source.input.map){var n=t.source.input.map;-1===e.previousMaps.indexOf(n)&&e.previousMaps.push(n)}})),this.previousMaps},e.prototype.isInline=function(){if(void 0!==this.mapOpts.inline)return this.mapOpts.inline;var e=this.mapOpts.annotation;return(void 0===e||!0===e)&&(!this.previous().length||this.previous().some(function(e){return e.inline}))},e.prototype.isSourcesContent=function(){return void 0!==this.mapOpts.sourcesContent?this.mapOpts.sourcesContent:!this.previous().length||this.previous().some(function(e){return e.withContent()})},e.prototype.clearAnnotation=function(){if(!1!==this.mapOpts.annotation)for(var e=void 0,t=this.root.nodes.length-1;t>=0;t--)e=this.root.nodes[t],"comment"===e.type&&0===e.text.indexOf("# sourceMappingURL=")&&this.root.removeChild(t)},e.prototype.setSourcesContent=function(){var e=this,t={};this.root.walk(function(n){if(n.source){var r=n.source.input.from;if(r&&!t[r]){t[r]=!0;var i=e.relative(r);e.map.setSourceContent(i,n.source.input.css)}}})},e.prototype.applyPrevMaps=function(){for(var e=this.previous(),t=Array.isArray(e),n=0,e=t?e:e[Symbol.iterator]();;){var r;if(t){if(n>=e.length)break;r=e[n++]}else{if(n=e.next(),n.done)break;r=n.value}var i=r,o=this.relative(i.file),a=i.root||l.default.dirname(i.file),u=void 0;!1===this.mapOpts.sourcesContent?(u=new s.default.SourceMapConsumer(i.text),u.sourcesContent&&(u.sourcesContent=u.sourcesContent.map(function(){return null}))):u=i.consumer(),this.map.applySourceMap(u,o,this.relative(a))}},e.prototype.isAnnotation=function(){return!!this.isInline()||(void 0!==this.mapOpts.annotation?this.mapOpts.annotation:!this.previous().length||this.previous().some(function(e){return e.annotation}))},e.prototype.toBase64=function(e){return r?r.from&&r.from!==Uint8Array.from?r.from(e).toString("base64"):new r(e).toString("base64"):window.btoa(unescape(encodeURIComponent(e)))},e.prototype.addAnnotation=function(){var e=void 0;e=this.isInline()?"data:application/json;base64,"+this.toBase64(this.map.toString()):"string"==typeof this.mapOpts.annotation?this.mapOpts.annotation:this.outputFile()+".map";var t="\n";-1!==this.css.indexOf("\r\n")&&(t="\r\n"),this.css+=t+"/*# sourceMappingURL="+e+" */"},e.prototype.outputFile=function(){return this.opts.to?this.relative(this.opts.to):this.opts.from?this.relative(this.opts.from):"to.css"},e.prototype.generateMap=function(){return this.generateString(),this.isSourcesContent()&&this.setSourcesContent(),this.previous().length>0&&this.applyPrevMaps(),this.isAnnotation()&&this.addAnnotation(),this.isInline()?[this.css]:[this.css,this.map]},e.prototype.relative=function(e){if(0===e.indexOf("<"))return e;if(/^\w+:\/\//.test(e))return e;var t=this.opts.to?l.default.dirname(this.opts.to):".";return"string"==typeof this.mapOpts.annotation&&(t=l.default.dirname(l.default.resolve(t,this.mapOpts.annotation))),e=l.default.relative(t,e),"\\"===l.default.sep?e.replace(/\\/g,"/"):e},e.prototype.sourcePath=function(e){return this.mapOpts.from?this.mapOpts.from:this.relative(e.source.input.from)},e.prototype.generateString=function(){var e=this;this.css="",this.map=new s.default.SourceMapGenerator({file:this.outputFile()});var t=1,n=1,r=void 0,i=void 0;this.stringify(this.root,function(o,a,s){e.css+=o,a&&"end"!==s&&(a.source&&a.source.start?e.map.addMapping({source:e.sourcePath(a),generated:{line:t,column:n-1},original:{line:a.source.start.line,column:a.source.start.column-1}}):e.map.addMapping({source:"<no source>",original:{line:1,column:0},generated:{line:t,column:n-1}})),r=o.match(/\n/g),r?(t+=r.length,i=o.lastIndexOf("\n"),n=o.length-i):n+=o.length,a&&"start"!==s&&(a.source&&a.source.end?e.map.addMapping({source:e.sourcePath(a),generated:{line:t,column:n-1},original:{line:a.source.end.line,column:a.source.end.column}}):e.map.addMapping({source:"<no source>",original:{line:1,column:0},generated:{line:t,column:n-1}}))})},e.prototype.generate=function(){if(this.clearAnnotation(),this.isMap())return this.generateMap();var e="";return this.stringify(this.root,function(t){e+=t}),[e]},e}();t.default=c,e.exports=t.default}).call(t,n(42).Buffer)},Line truncated
if(String.fromCodePoint)e.exports=function(e){try{return String.fromCodePoint(e)}catch(e){if(e instanceof RangeError)return String.fromCharCode(65533);throw e}};else{var r=String.fromCharCode,i=Math.floor,o=function(){var e,t,n=[],o=-1,a=arguments.length;if(!a)return"";for(var s="";++o<a;){var u=Number(arguments[o]);if(!isFinite(u)||u<0||u>1114111||i(u)!==u)return String.fromCharCode(65533);u<=65535?n.push(u):(u-=65536,e=55296+(u>>10),t=u%1024+56320,n.push(e,t)),(o+1===a||n.length>16384)&&(s+=r.apply(null,n),n.length=0)}return s};e.exports=o}},function(e,t,n){"use strict";function r(e){return{softbreak:"\n",escape:i,options:e||{},render:c}}var i=n(92).escapeXml,o=function(e,t,n){var r="<"+e;if(t&&t.length>0)for(var i,o=0;void 0!==(i=t[o]);)r+=" "+i[0]+'="'+i[1]+'"',o++;return n&&(r+=" /"),r+=">"},a=/\<[^>]*\>/,s=/^javascript:|vbscript:|file:|data:/i,u=/^data:image\/(?:png|gif|jpeg|webp)/i,l=function(e){return s.test(e)&&!u.test(e)},c=function(e){var t,n,r,i,s,u,c,p=e.walker(),f="",h="\n",d=0,m=function(e){f+=d>0?e.replace(a,""):e,h=e},v=this.escape,g=function(){"\n"!==h&&(f+="\n",h="\n")},y=this.options;for(y.time&&console.time("rendering");i=p.next();){if(u=i.entering,s=i.node,t=[],y.sourcepos){var _=s.sourcepos;_&&t.push(["data-sourcepos",String(_[0][0])+":"+String(_[0][1])+"-"+String(_[1][0])+":"+String(_[1][1])])}switch(s.type){case"Text":m(v(s.literal,!1));break;case"Softbreak":m(this.softbreak);break;case"Hardbreak":m(o("br",[],!0)),g();break;case"Emph":m(o(u?"em":"/em"));break;case"Strong":m(o(u?"strong":"/strong"));break;case"HtmlInline":m(y.safe?"\x3c!-- raw HTML omitted --\x3e":s.literal);break;case"CustomInline":u&&s.onEnter?m(s.onEnter):!u&&s.onExit&&m(s.onExit);break;case"Link":u?(y.safe&&l(s.destination)||t.push(["href",v(s.destination,!0)]),s.title&&t.push(["title",v(s.title,!0)]),m(o("a",t))):m(o("/a"));break;case"Image":u?(0===d&&m(y.safe&&l(s.destination)?'<img src="" alt="':'<img src="'+v(s.destination,!0)+'" alt="'),d+=1):0===(d-=1)&&(s.title&&m('" title="'+v(s.title,!0)),m('" />'));break;case"Code":m(o("code")+v(s.literal,!1)+o("/code"));break;case"Document":break;case"Paragraph":if(null!==(c=s.parent.parent)&&"List"===c.type&&c.listTight)break;u?(g(),m(o("p",t))):(m(o("/p")),g());break;case"BlockQuote":u?(g(),m(o("blockquote",t)),g()):(g(),m(o("/blockquote")),g());break;case"Item":u?m(o("li",t)):(m(o("/li")),g());break;case"List":if(r="Bullet"===s.listType?"ul":"ol",u){var b=s.listStart;null!==b&&1!==b&&t.push(["start",b.toString()]),g(),m(o(r,t)),g()}else g(),m(o("/"+r)),g();break;case"Heading":r="h"+s.level,u?(g(),m(o(r,t))):(m(o("/"+r)),g());break;case"CodeBlock":n=s.info?s.info.split(/\s+/):[],n.length>0&&n[0].length>0&&t.push(["class","language-"+v(n[0],!0)]),g(),m(o("pre")+o("code",t)),m(v(s.literal,!1)),m(o("/code")+o("/pre")),g();break;case"HtmlBlock":g(),m(y.safe?"\x3c!-- raw HTML omitted --\x3e":s.literal),g();break;case"CustomBlock":g(),u&&s.onEnter?m(s.onEnter):!u&&s.onExit&&m(s.onExit),g();break;case"ThematicBreak":g(),m(o("hr",t,!0)),g();break;default:throw"Unknown node type "+s.type}}return y.time&&console.timeEnd("rendering"),f};e.exports=r},function(e,t,n){"use strict";e.exports.version="0.24.0",e.exports.Node=n(259),e.exports.Parser=n(1086),e.exports.HtmlRenderer=n(1088),e.exports.XmlRenderer=n(1092)},function(e,t,n){"use strict";function r(e){return{subject:"",delimiters:null,pos:0,refmap:{},match:F,peek:B,spnl:L,parseBackticks:q,parseBackslash:z,parseAutolink:U,parseHtmlTag:W,scanDelims:V,handleDelim:H,parseLinkTitle:K,parseLinkDestination:Y,parseLinkLabel:$,parseOpenBracket:Z,parseCloseBracket:ee,parseBang:Q,parseEntity:te,parseString:ne,parseNewline:re,parseReference:ie,parseInline:oe,processEmphasis:X,removeDelimiter:G,options:e||{},parse:ae}}var i=n(259),o=n(92),a=n(1091),s=o.normalizeURI,u=o.unescapeString,l=n(1087),c=n(114).decodeHTML;n(504);var p=o.ESCAPABLE,f="\\\\"+p,h="\\(([^\\\\()\\x00-\\x20]|"+f+"|\\\\)*\\)",d=o.ENTITY,m=o.reHtmlTag,v=new RegExp(/^[\u2000-\u206F\u2E00-\u2E7F\\'!"#\$%&\(\)\*\+,\-\.\/:;<=>\?@\[\]\^_`\{\|\}~]/),g=new RegExp('^(?:"('+f+'|[^"\\x00])*"|\'('+f+"|[^'\\x00])*'|\\(("+f+"|[^)\\x00])*\\))"),y=new RegExp("^(?:[<](?:[^ <>\\t\\n\\\\\\x00]|"+f+"|\\\\)*[>])"),_=new RegExp("^(?:[^\\\\()\\x00-\\x20]+|"+f+"|\\\\|"+h+")*"),b=new RegExp("^"+p),x=new RegExp("^"+d,"i"),w=/`+/,k=/^`+/,E=/\.\.\./g,S=/--+/g,C=/^<([a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*)>/,A=/^<[A-Za-z][A-Za-z0-9.+-]{1,31}:[^<>\x00-\x20]*>/i,D=/^ *(?:\n *)?/,O=/^\s/,M=/\s+/g,T=/ *$/,P=/^ */,I=/^ *(?:\n|$)/,R=new RegExp("^\\[(?:[^\\\\\\[\\]]|"+f+"|\\\\){0,1000}\\]"),j=/^[^\n`\[\]\\!<&*_'"]+/m,N=function(e){var t=new i("Text");return t._literal=e,t},F=function(e){var t=e.exec(this.subject.slice(this.pos));return null===t?null:(this.pos+=t.index+t[0].length,t[0])},B=function(){return this.pos<this.subject.length?this.subject.charCodeAt(this.pos):-1},L=function(){return this.match(D),!0},q=funcLine truncated
* repeat-string <https://github.com/jonschlinkert/repeat-string>
*
* Copyright (c) 2014-2015, Jon Schlinkert.
* Licensed under the MIT License.
*/
var i,o="";e.exports=r},function(e,t,n){"use strict";e.exports=function(e,t){if(t=t.split(":")[0],!(e=+e))return!1;switch(t){case"http":case"ws":return 80!==e;case"https":case"wss":return 443!==e;case"ftp":return 21!==e;case"gopher":return 70!==e;case"file":return!1}return 0!==e}},function(e,t,n){"use strict";function r(e,t){e&&Object.keys(e).forEach(function(n){t(e[n],n)})}function i(e,t){return{}.hasOwnProperty.call(e,t)}function o(e,t){var n=[];return r(e,function(e){t(e)&&n.push(e)}),n}function a(e,t,n){function _(e,t){var n=this;this.tag=e,this.attribs=t||{},this.tagPosition=C.length,this.text="",this.updateParentNodeText=function(){if(R.length){R[R.length-1].text+=n.text}}}function b(e){return"string"!=typeof e&&(e+=""),e.replace(/\&/g,"&amp;").replace(/</g,"&lt;").replace(/\>/g,"&gt;").replace(/\"/g,"&quot;")}function x(e,n){n=n.replace(/[\x00-\x20]+/g,""),n=n.replace(/<\!\-\-.*?\-\-\>/g,"");var r=n.match(/^([a-zA-Z]+)\:/);if(!r)return!!n.match(/^[\/\\]{2}/)&&!t.allowProtocolRelative;var o=r[1].toLowerCase();return i(t.allowedSchemesByTag,e)?-1===t.allowedSchemesByTag[e].indexOf(o):!t.allowedSchemes||-1===t.allowedSchemes.indexOf(o)}function w(e,t){if(!t)return e;var n,r=c(e),i=e.nodes[0];return n=t[i.selector]&&t["*"]?p(c(t[i.selector]),t["*"],function(e,t){if(Array.isArray(e))return e.concat(t)}):t[i.selector]||t["*"],n&&(r.nodes[0].nodes=i.nodes.reduce(E(n),[])),r}function k(e){return e.nodes[0].nodes.reduce(function(e,t){return e.push(t.prop+":"+t.value+";"),e},[]).join("")}function E(e){return function(t,n){if(e.hasOwnProperty(n.prop)){e[n.prop].some(function(e){return e.test(n.value)})&&t.push(n)}return t}}function S(e,t){return t?(e=e.split(/\s+/),e.filter(function(e){return-1!==t.indexOf(e)}).join(" ")):e}var C="";t?(t=u(a.defaults,t),t.parser?t.parser=u(y,t.parser):t.parser=y):(t=a.defaults,t.parser=y);var A,D,O=t.nonTextTags||["script","style","textarea"];t.allowedAttributes&&(A={},D={},r(t.allowedAttributes,function(e,t){A[t]=[];var n=[];e.forEach(function(e){f(e)&&e.indexOf("*")>=0?n.push(l(e).replace(/\\\*/g,".*")):A[t].push(e)}),D[t]=new RegExp("^("+n.join("|")+")$")}));var M={};r(t.allowedClasses,function(e,t){A&&(i(A,t)||(A[t]=[]),A[t].push("class")),M[t]=e});var T,P={};r(t.transformTags,function(e,t){var n;"function"==typeof e?n=e:"string"==typeof e&&(n=a.simpleTransform(e)),"*"===t?T=n:P[t]=n});var I=0,R=[],j={},N={},F=!1,B=0,L=new s.Parser({onopentag:function(e,n){if(F)return void B++;var a=new _(e,n);R.push(a);var s,u=!1,l=!!a.text;i(P,e)&&(s=P[e](e,n),a.attribs=n=s.attribs,void 0!==s.text&&(a.innerText=s.text),e!==s.tagName&&(a.name=e=s.tagName,N[I]=s.tagName)),T&&(s=T(e,n),a.attribs=n=s.attribs,e!==s.tagName&&(a.name=e=s.tagName,N[I]=s.tagName)),t.allowedTags&&-1===t.allowedTags.indexOf(e)&&(u=!0,-1!==O.indexOf(e)&&(F=!0,B=1),j[I]=!0),I++,u||(C+="<"+e,(!A||i(A,e)||A["*"])&&r(n,function(n,s){if(!g.test(s))return void delete a.attribs[s];var u,l=!1;if(!A||i(A,e)&&-1!==A[e].indexOf(s)||A["*"]&&-1!==A["*"].indexOf(s)||i(D,e)&&D[e].test(s)||D["*"]&&D["*"].test(s))l=!0;else if(A&&A[e]){var c=!0,p=!1,f=void 0;try{for(var y,_=A[e][Symbol.iterator]();!(c=(y=_.next()).done);c=!0){var E=y.value;if(h(E)&&E.name&&E.name===s){l=!0;var O="";if(!0===E.multiple){var T=n.split(" "),P=!0,I=!1,R=void 0;try{for(var j,N=T[Symbol.iterator]();!(P=(j=N.next()).done);P=!0){var F=j.value;-1!==E.values.indexOf(F)&&(""===O?O=F:O+=" "+F)}}catch(e){I=!0,R=e}finally{try{!P&&N.return&&N.return()}finally{if(I)throw R}}}else E.values.indexOf(n)>=0&&(O=n);n=O}}}catch(e){p=!0,f=e}finally{try{!c&&_.return&&_.return()}finally{if(p)throw f}}}if(l){if(-1!==t.allowedSchemesAppliedToAttributes.indexOf(s)&&x(e,n))return void delete a.attribs[s];if("iframe"===e&&"src"===s){if("//"===n.substring(0,2)){n="https:".concat(n)}try{if(u=v.parse(n),t.allowedIframeHostnames){if(!t.allowedIframeHostnames.find(function(e){return e===u.hostname}))return void delete a.attribs[s]}}catch(e){return void delete a.attribs[s]}}if("srcset"===s)try{if(u=d.parse(n),r(u,function(e){x("srcset",e.url)&&(e.evil=!0)}),u=o(u,function(e){return!e.evil}),!u.length)return void delete a.attribs[s];n=d.stringify(o(u,function(e){return!e.evil})),a.attribs[s]=n}catch(e){return void delete a.attribs[s]}if("class"===s&&(n=S(n,M[e]),!n.length))return void delete a.attribs[s];if("style"===s)try{if(n=k(w(m.parse(e+" {"+n+"}"),t.allowedStyles)),0===n.length)return void delete a.attribs[s]}catch(e){return void delete a.attribs[s]}C+=" "+s,n.length&&(C+='="'+b(n)+'"')}else delete a.attribs[s]}),-1!==t.selfClosing.indexOf(e)?C+=" />":(C+=">",!a.innerText||l||t.textFilter||(C+=a.innerText)))},ontext:function(e){if(!F){var n,r=R[R.length-1];if(r&&(n=r.tag,e=void 0!==r.innerText?r.innerText:e),"script"===n||"style"===n)C+=e;else{var i=b(e);t.textFilter?C+=t.textFilter(i):C+=i}if(R.length){R[R.length-1].text+=e}}},onclosetag:function(e){if(F){if(--B)return;F=!1}var n=R.pop();if(n){if(F=!1,I--,j[I])return delete j[I],void n.updateParentNodeText();if(N[I]&&(e=N[I],deleteLine truncated
//# sourceMappingURL=swagger-ui-bundle.js.map
@@ -1,13 +0,0 @@
!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.SwaggerUIStandalonePreset=e():t.SwaggerUIStandalonePreset=e()}(this,function(){return function(t){function e(r){if(n[r])return n[r].exports;var i=n[r]={i:r,l:!1,exports:{}};return t[r].call(i.exports,i,i.exports,e),i.l=!0,i.exports}var n={};return e.m=t,e.c=n,e.i=function(t){return t},e.d=function(t,n,r){e.o(t,n)||Object.defineProperty(t,n,{configurable:!1,enumerable:!0,get:r})},e.n=function(t){var n=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(n,"a",n),n},e.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},e.p="/dist",e(e.s=536)}([function(t,e,n){"use strict";function r(t){var e={};return null!==t&&Object.keys(t).forEach(function(n){t[n].forEach(function(t){e[String(t)]=n})}),e}function i(t,e){if(e=e||{},Object.keys(e).forEach(function(e){if(-1===s.indexOf(e))throw new o('Unknown option "'+e+'" is met in definition of "'+t+'" YAML type.')}),this.tag=t,this.kind=e.kind||null,this.resolve=e.resolve||function(){return!0},this.construct=e.construct||function(t){return t},this.instanceOf=e.instanceOf||null,this.predicate=e.predicate||null,this.represent=e.represent||null,this.defaultStyle=e.defaultStyle||null,this.styleAliases=r(e.styleAliases||null),-1===a.indexOf(this.kind))throw new o('Unknown kind "'+this.kind+'" is specified for "'+t+'" YAML type.')}var o=n(48),s=["kind","resolve","construct","instanceOf","predicate","represent","defaultStyle","styleAliases"],a=["scalar","sequence","mapping"];t.exports=i},function(t,e,n){var r=n(153)("wks"),i=n(108),o=n(5).Symbol,s="function"==typeof o;(t.exports=function(t){return r[t]||(r[t]=s&&o[t]||(s?o:i)("Symbol."+t))}).store=r},function(t,e){var n=t.exports={version:"2.5.3"};"number"==typeof __e&&(__e=n)},function(t,e,n){var r=n(5),i=n(17),o=n(18),s=n(30),a=n(61),u=function(t,e,n){var c,l,h,f,p=t&u.F,d=t&u.G,m=t&u.S,v=t&u.P,y=t&u.B,g=d?r:m?r[e]||(r[e]={}):(r[e]||{}).prototype,x=d?i:i[e]||(i[e]={}),b=x.prototype||(x.prototype={});d&&(n=e);for(c in n)l=!p&&g&&void 0!==g[c],h=(l?g:n)[c],f=y&&l?a(h,r):v&&"function"==typeof h?a(Function.call,h):h,g&&s(g,c,h,t&u.U),x[c]!=h&&o(x,c,f),v&&b[c]!=h&&(b[c]=h)};r.core=i,u.F=1,u.G=2,u.S=4,u.P=8,u.B=16,u.W=32,u.U=64,u.R=128,t.exports=u},function(t,e,n){var r=n(3),i=n(42),o=n(10),s=/"/g,a=function(t,e,n,r){var i=String(o(t)),a="<"+e;return""!==n&&(a+=" "+n+'="'+String(r).replace(s,"&quot;")+'"'),a+">"+i+"</"+e+">"};t.exports=function(t,e){var n={};n[t]=e(a),r(r.P+r.F*i(function(){var e=""[t]('"');return e!==e.toLowerCase()||e.split('"').length>3}),"String",n)}},function(t,e){var n=t.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=n)},function(t,e,n){var r=n(94)("wks"),i=n(59),o=n(9).Symbol,s="function"==typeof o;(t.exports=function(t){return r[t]||(r[t]=s&&o[t]||(s?o:i)("Symbol."+t))}).store=r},function(t,e,n){var r=n(177),i="object"==typeof self&&self&&self.Object===Object&&self,o=r||i||Function("return this")();t.exports=o},function(t,e){var n=Array.isArray;t.exports=n},function(t,e){var n=t.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=n)},function(t,e){t.exports=function(t){if(void 0==t)throw TypeError("Can't call method on "+t);return t}},function(t,e,n){"use strict";t.exports=function(t){if("function"!=typeof t)throw new TypeError(t+" is not a function");return t}},function(t,e,n){t.exports=!n(25)(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})},function(t,e,n){var r=n(9),i=n(2),o=n(133),s=n(26),a=function(t,e,n){var u,c,l,h=t&a.F,f=t&a.G,p=t&a.S,d=t&a.P,m=t&a.B,v=t&a.W,y=f?i:i[e]||(i[e]={}),g=y.prototype,x=f?r:p?r[e]:(r[e]||{}).prototype;f&&(n=e);for(u in n)(c=!h&&x&&void 0!==x[u])&&u in y||(l=c?x[u]:n[u],y[u]=f&&"function"!=typeof x[u]?n[u]:m&&c?o(l,r):v&&x[u]==l?function(t){var e=function(e,n,r){if(this instanceof t){switch(arguments.length){case 0:return new t;case 1:return new t(e);case 2:return new t(e,n)}return new t(e,n,r)}return t.apply(this,arguments)};return e.prototype=t.prototype,e}(l):d&&"function"==typeof l?o(Function.call,l):l,d&&((y.virtual||(y.virtual={}))[u]=l,t&a.R&&g&&!g[u]&&s(g,u,l)))};a.F=1,a.G=2,a.S=4,a.P=8,a.B=16,a.W=32,a.U=64,a.R=128,t.exports=a},function(t,e){var n={}.hasOwnProperty;t.exports=function(t,e){return n.call(t,e)}},function(t,e,n){var r=n(24),i=n(135),o=n(96),s=Object.defineProperty;e.f=n(12)?Object.defineProperty:function(t,e,n){if(r(t),e=o(e,!0),r(n),i)try{return s(t,e,n)}catch(t){}if("get"in n||"set"in n)throw TypeError("Accessors not supported!");return"value"in n&&(t[e]=n.value),t}},function(t,e,n){var r=n(29);t.exports=function(t){if(!r(t))throw TypeError(t+" is not an object!");return t}},function(t,e){var n=tLine truncated
object-assign
(c) Sindre Sorhus
@license MIT
*/
var i=Object.getOwnPropertySymbols,o=Object.prototype.hasOwnProperty,s=Object.prototype.propertyIsEnumerable;t.exports=function(){try{if(!Object.assign)return!1;var t=new String("abc");if(t[5]="de","5"===Object.getOwnPropertyNames(t)[0])return!1;for(var e={},n=0;n<10;n++)e["_"+String.fromCharCode(n)]=n;if("0123456789"!==Object.getOwnPropertyNames(e).map(function(t){return e[t]}).join(""))return!1;var r={};return"abcdefghijklmnopqrst".split("").forEach(function(t){r[t]=t}),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},r)).join("")}catch(t){return!1}}()?Object.assign:function(t,e){for(var n,a,u=r(t),c=1;c<arguments.length;c++){n=Object(arguments[c]);for(var l in n)o.call(n,l)&&(u[l]=n[l]);if(i){a=i(n);for(var h=0;h<a.length;h++)s.call(n,a[h])&&(u[a[h]]=n[a[h]])}}return u}},function(t,e,n){"use strict";(function(t){function r(){return o.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function i(t,e){if(r()<e)throw new RangeError("Invalid typed array length");return o.TYPED_ARRAY_SUPPORT?(t=new Uint8Array(e),t.__proto__=o.prototype):(null===t&&(t=new o(e)),t.length=e),t}function o(t,e,n){if(!(o.TYPED_ARRAY_SUPPORT||this instanceof o))return new o(t,e,n);if("number"==typeof t){if("string"==typeof e)throw new Error("If encoding is specified then the first argument must be a string");return c(this,t)}return s(this,t,e,n)}function s(t,e,n,r){if("number"==typeof e)throw new TypeError('"value" argument must not be a number');return"undefined"!=typeof ArrayBuffer&&e instanceof ArrayBuffer?f(t,e,n,r):"string"==typeof e?l(t,e,n):p(t,e)}function a(t){if("number"!=typeof t)throw new TypeError('"size" argument must be a number');if(t<0)throw new RangeError('"size" argument must not be negative')}function u(t,e,n,r){return a(e),e<=0?i(t,e):void 0!==n?"string"==typeof r?i(t,e).fill(n,r):i(t,e).fill(n):i(t,e)}function c(t,e){if(a(e),t=i(t,e<0?0:0|d(e)),!o.TYPED_ARRAY_SUPPORT)for(var n=0;n<e;++n)t[n]=0;return t}function l(t,e,n){if("string"==typeof n&&""!==n||(n="utf8"),!o.isEncoding(n))throw new TypeError('"encoding" must be a valid string encoding');var r=0|v(e,n);t=i(t,r);var s=t.write(e,n);return s!==r&&(t=t.slice(0,s)),t}function h(t,e){var n=e.length<0?0:0|d(e.length);t=i(t,n);for(var r=0;r<n;r+=1)t[r]=255&e[r];return t}function f(t,e,n,r){if(e.byteLength,n<0||e.byteLength<n)throw new RangeError("'offset' is out of bounds");if(e.byteLength<n+(r||0))throw new RangeError("'length' is out of bounds");return e=void 0===n&&void 0===r?new Uint8Array(e):void 0===r?new Uint8Array(e,n):new Uint8Array(e,n,r),o.TYPED_ARRAY_SUPPORT?(t=e,t.__proto__=o.prototype):t=h(t,e),t}function p(t,e){if(o.isBuffer(e)){var n=0|d(e.length);return t=i(t,n),0===t.length?t:(e.copy(t,0,0,n),t)}if(e){if("undefined"!=typeof ArrayBuffer&&e.buffer instanceof ArrayBuffer||"length"in e)return"number"!=typeof e.length||H(e.length)?i(t,0):h(t,e);if("Buffer"===e.type&&Z(e.data))return h(t,e.data)}throw new TypeError("First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.")}function d(t){if(t>=r())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+r().toString(16)+" bytes");return 0|t}function m(t){return+t!=t&&(t=0),o.alloc(+t)}function v(t,e){if(o.isBuffer(t))return t.length;if("undefined"!=typeof ArrayBuffer&&"function"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(t)||t instanceof ArrayBuffer))return t.byteLength;"string"!=typeof t&&(t=""+t);var n=t.length;if(0===n)return 0;for(var r=!1;;)switch(e){case"ascii":case"latin1":case"binary":return n;case"utf8":case"utf-8":case void 0:return q(t).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*n;case"hex":return n>>>1;case"base64":return Y(t).length;default:if(r)return q(t).length;e=(""+e).toLowerCase(),r=!0}}function y(t,e,n){var r=!1;if((void 0===e||e<0)&&(e=0),e>this.length)return"";if((void 0===n||n>this.length)&&(n=this.length),n<=0)return"";if(n>>>=0,e>>>=0,n<=e)return"";for(t||(t="utf8");;)switch(t){case"hex":return O(this,e,n);case"utf8":case"utf-8":return k(this,e,n);case"ascii":return T(this,e,n);case"latin1":case"binary":return I(this,e,n);case"base64":return C(this,e,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return M(this,e,n);default:if(r)throw new TypeError("Unknown encoding: "+t);t=(t+"").toLowerCase(),r=!0}}function g(t,e,n){var r=t[e];t[e]=t[n],t[n]=r}function x(t,e,n,r,i){if(0===t.length)return-1;if("string"==typeof n?(r=n,n=0):n>2147483647?n=2147483647:n<-2147483648&&(n=-2147483648),n=+n,isNaN(n)&&(n=i?0:t.length-1),n<0&&(n=t.length+n),n>=t.length){if(i)return-1;n=t.length-1}else if(n<0){if(!i)return-1;n=0}if("string"==typeof e&&(e=o.from(e,r)),o.isBuffer(e))return 0===e.length?-1:b(t,e,n,r,i);if("number"==typeof e)return e&=255,o.TYPED_ARRAY_SUPPORT&&"function"==typeof Uint8Array.prototype.indexOf?i?Uint8Array.prototype.indexOf.call(t,e,n):Uint8Array.prototype.lastIndexOf.call(t,e,n):b(t,[e],n,r,i);throw new TypeError("val must be string, number or Buffer")}function b(t,e,n,r,i){function o(t,e){returnLine truncated
* The buffer module from node.js, for the browser.
*
* @author Feross Aboukhadijeh <feross@feross.org> <http://feross.org>
* @license MIT
*/
var G=n(223),$=n(357),Z=n(168);e.Buffer=o,e.SlowBuffer=m,e.INSPECT_MAX_BYTES=50,o.TYPED_ARRAY_SUPPORT=void 0!==t.TYPED_ARRAY_SUPPORT?t.TYPED_ARRAY_SUPPORT:function(){try{var t=new Uint8Array(1);return t.__proto__={__proto__:Uint8Array.prototype,foo:function(){return 42}},42===t.foo()&&"function"==typeof t.subarray&&0===t.subarray(1,1).byteLength}catch(t){return!1}}(),e.kMaxLength=r(),o.poolSize=8192,o._augment=function(t){return t.__proto__=o.prototype,t},o.from=function(t,e,n){return s(null,t,e,n)},o.TYPED_ARRAY_SUPPORT&&(o.prototype.__proto__=Uint8Array.prototype,o.__proto__=Uint8Array,"undefined"!=typeof Symbol&&Symbol.species&&o[Symbol.species]===o&&Object.defineProperty(o,Symbol.species,{value:null,configurable:!0})),o.alloc=function(t,e,n){return u(null,t,e,n)},o.allocUnsafe=function(t){return c(null,t)},o.allocUnsafeSlow=function(t){return c(null,t)},o.isBuffer=function(t){return!(null==t||!t._isBuffer)},o.compare=function(t,e){if(!o.isBuffer(t)||!o.isBuffer(e))throw new TypeError("Arguments must be Buffers");if(t===e)return 0;for(var n=t.length,r=e.length,i=0,s=Math.min(n,r);i<s;++i)if(t[i]!==e[i]){n=t[i],r=e[i];break}return n<r?-1:r<n?1:0},o.isEncoding=function(t){switch(String(t).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}},o.concat=function(t,e){if(!Z(t))throw new TypeError('"list" argument must be an Array of Buffers');if(0===t.length)return o.alloc(0);var n;if(void 0===e)for(e=0,n=0;n<t.length;++n)e+=t[n].length;var r=o.allocUnsafe(e),i=0;for(n=0;n<t.length;++n){var s=t[n];if(!o.isBuffer(s))throw new TypeError('"list" argument must be an Array of Buffers');s.copy(r,i),i+=s.length}return r},o.byteLength=v,o.prototype._isBuffer=!0,o.prototype.swap16=function(){var t=this.length;if(t%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var e=0;e<t;e+=2)g(this,e,e+1);return this},o.prototype.swap32=function(){var t=this.length;if(t%4!=0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(var e=0;e<t;e+=4)g(this,e,e+3),g(this,e+1,e+2);return this},o.prototype.swap64=function(){var t=this.length;if(t%8!=0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(var e=0;e<t;e+=8)g(this,e,e+7),g(this,e+1,e+6),g(this,e+2,e+5),g(this,e+3,e+4);return this},o.prototype.toString=function(){var t=0|this.length;return 0===t?"":0===arguments.length?k(this,0,t):y.apply(this,arguments)},o.prototype.equals=function(t){if(!o.isBuffer(t))throw new TypeError("Argument must be a Buffer");return this===t||0===o.compare(this,t)},o.prototype.inspect=function(){var t="",n=e.INSPECT_MAX_BYTES;return this.length>0&&(t=this.toString("hex",0,n).match(/.{2}/g).join(" "),this.length>n&&(t+=" ... ")),"<Buffer "+t+">"},o.prototype.compare=function(t,e,n,r,i){if(!o.isBuffer(t))throw new TypeError("Argument must be a Buffer");if(void 0===e&&(e=0),void 0===n&&(n=t?t.length:0),void 0===r&&(r=0),void 0===i&&(i=this.length),e<0||n>t.length||r<0||i>this.length)throw new RangeError("out of range index");if(r>=i&&e>=n)return 0;if(r>=i)return-1;if(e>=n)return 1;if(e>>>=0,n>>>=0,r>>>=0,i>>>=0,this===t)return 0;for(var s=i-r,a=n-e,u=Math.min(s,a),c=this.slice(r,i),l=t.slice(e,n),h=0;h<u;++h)if(c[h]!==l[h]){s=c[h],a=l[h];break}return s<a?-1:a<s?1:0},o.prototype.includes=function(t,e,n){return-1!==this.indexOf(t,e,n)},o.prototype.indexOf=function(t,e,n){return x(this,t,e,n,!0)},o.prototype.lastIndexOf=function(t,e,n){return x(this,t,e,n,!1)},o.prototype.write=function(t,e,n,r){if(void 0===e)r="utf8",n=this.length,e=0;else if(void 0===n&&"string"==typeof e)r=e,n=this.length,e=0;else{if(!isFinite(e))throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");e|=0,isFinite(n)?(n|=0,void 0===r&&(r="utf8")):(r=n,n=void 0)}var i=this.length-e;if((void 0===n||n>i)&&(n=i),t.length>0&&(n<0||e<0)||e>this.length)throw new RangeError("Attempt to write outside buffer bounds");r||(r="utf8");for(var o=!1;;)switch(r){case"hex":return D(this,t,e,n);case"utf8":case"utf-8":return w(this,t,e,n);case"ascii":return E(this,t,e,n);case"latin1":case"binary":return _(this,t,e,n);case"base64":return S(this,t,e,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return A(this,t,e,n);default:if(o)throw new TypeError("Unknown encoding: "+r);r=(""+r).toLowerCase(),o=!0}},o.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var Q=4096;o.prototype.slice=function(t,e){var n=this.length;t=~~t,e=void 0===e?n:~~e,t<0?(t+=n)<0&&(t=0):t>n&&(t=n),e<0?(e+=n)<0&&(e=0):e>n&&(e=n),e<t&&(e=t);var r;if(o.TYPED_ARRAY_SUPPORT)r=this.subarray(t,e),r.__proto__=o.prototype;else{var i=e-t;r=new o(i,void 0);for(var s=0;s<i;++s)r[s]=this[s+t]}return r},o.prototype.readUIntLE=function(t,e,n){t|=0,e|=0,n||B(t,e,this.length);for(var r=this[t],i=1,o=0;++o<e&&(i*=256);)r+=this[t+o]*i;return r},o.prototype.readUIntBE=function(t,e,n){Line truncated
//# sourceMappingURL=swagger-ui-standalone-preset.js.map
-3
View File
@@ -1,3 +0,0 @@
.swagger-ui{
/*! normalize.css v7.0.0 | MIT License | github.com/necolas/normalize.css */font-family:Open Sans,sans-serif;color:#3b4151}.swagger-ui html{line-height:1.15;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}.swagger-ui body{margin:0}.swagger-ui article,.swagger-ui aside,.swagger-ui footer,.swagger-ui header,.swagger-ui nav,.swagger-ui section{display:block}.swagger-ui h1{font-size:2em;margin:.67em 0}.swagger-ui figcaption,.swagger-ui figure,.swagger-ui main{display:block}.swagger-ui figure{margin:1em 40px}.swagger-ui hr{-webkit-box-sizing:content-box;box-sizing:content-box;height:0;overflow:visible}.swagger-ui pre{font-family:monospace,monospace;font-size:1em}.swagger-ui a{background-color:transparent;-webkit-text-decoration-skip:objects}.swagger-ui abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}.swagger-ui b,.swagger-ui strong{font-weight:inherit;font-weight:bolder}.swagger-ui code,.swagger-ui kbd,.swagger-ui samp{font-family:monospace,monospace;font-size:1em}.swagger-ui dfn{font-style:italic}.swagger-ui mark{background-color:#ff0;color:#000}.swagger-ui small{font-size:80%}.swagger-ui sub,.swagger-ui sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}.swagger-ui sub{bottom:-.25em}.swagger-ui sup{top:-.5em}.swagger-ui audio,.swagger-ui video{display:inline-block}.swagger-ui audio:not([controls]){display:none;height:0}.swagger-ui img{border-style:none}.swagger-ui svg:not(:root){overflow:hidden}.swagger-ui button,.swagger-ui input,.swagger-ui optgroup,.swagger-ui select,.swagger-ui textarea{font-family:sans-serif;font-size:100%;line-height:1.15;margin:0}.swagger-ui button,.swagger-ui input{overflow:visible}.swagger-ui button,.swagger-ui select{text-transform:none}.swagger-ui [type=reset],.swagger-ui [type=submit],.swagger-ui button,.swagger-ui html [type=button]{-webkit-appearance:button}.swagger-ui [type=button]::-moz-focus-inner,.swagger-ui [type=reset]::-moz-focus-inner,.swagger-ui [type=submit]::-moz-focus-inner,.swagger-ui button::-moz-focus-inner{border-style:none;padding:0}.swagger-ui [type=button]:-moz-focusring,.swagger-ui [type=reset]:-moz-focusring,.swagger-ui [type=submit]:-moz-focusring,.swagger-ui button:-moz-focusring{outline:1px dotted ButtonText}.swagger-ui fieldset{padding:.35em .75em .625em}.swagger-ui legend{-webkit-box-sizing:border-box;box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}.swagger-ui progress{display:inline-block;vertical-align:baseline}.swagger-ui textarea{overflow:auto}.swagger-ui [type=checkbox],.swagger-ui [type=radio]{-webkit-box-sizing:border-box;box-sizing:border-box;padding:0}.swagger-ui [type=number]::-webkit-inner-spin-button,.swagger-ui [type=number]::-webkit-outer-spin-button{height:auto}.swagger-ui [type=search]{-webkit-appearance:textfield;outline-offset:-2px}.swagger-ui [type=search]::-webkit-search-cancel-button,.swagger-ui [type=search]::-webkit-search-decoration{-webkit-appearance:none}.swagger-ui ::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}.swagger-ui details,.swagger-ui menu{display:block}.swagger-ui summary{display:list-item}.swagger-ui canvas{display:inline-block}.swagger-ui [hidden],.swagger-ui template{display:none}.swagger-ui .debug *{outline:1px solid gold}.swagger-ui .debug-white *{outline:1px solid #fff}.swagger-ui .debug-black *{outline:1px solid #000}.swagger-ui .debug-grid{background:transparent url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAYAAADED76LAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyhpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTExIDc5LjE1ODMyNSwgMjAxNS8wOS8xMC0wMToxMDoyMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MTRDOTY4N0U2N0VFMTFFNjg2MzZDQjkwNkQ4MjgwMEIiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MTRDOTY4N0Q2N0VFMTFFNjg2MzZDQjkwNkQ4MjgwMEIiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTUgKE1hY2ludG9zaCkiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo3NjcyQkQ3NjY3QzUxMUU2QjJCQ0UyNDA4MTAwMjE3MSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo3NjcyQkQ3NzY3QzUxMUU2QjJCQ0UyNDA4MTAwMjE3MSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PsBS+GMAAAAjSURBVHjaYvz//z8DLsD4gcGXiYEAGBIKGBne//fFpwAgwAB98AaF2pjlUQAAAABJRU5ErkJggg==) repeat 0 0}.swagger-ui .debug-grid-16{background:transparent url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyhpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0Line truncated
/*# sourceMappingURL=swagger-ui.css.map*/
-8
View File
@@ -1,8 +0,0 @@
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("react"),require("prop-types"),require("immutable"),require("react-immutable-proptypes"),require("reselect"),require("serialize-error"),require("deep-extend"),require("js-yaml"),require("react-collapse"),require("swagger-client"),require("base64-js"),require("classnames"),require("commonmark"),require("css.escape"),require("ieee754"),require("isarray"),require("memoizee"),require("react-debounce-input"),require("react-dom"),require("react-immutable-pure-component"),require("react-markdown"),require("react-redux"),require("react-split-pane"),require("redux"),require("redux-immutable"),require("regenerator-runtime"),require("remarkable"),require("sanitize-html"),require("url-parse"),require("xml"),require("xml-but-prettier"),require("yaml-js"),require("zenscroll")):"function"==typeof define&&define.amd?define(["react","prop-types","immutable","react-immutable-proptypes","reselect","serialize-error","deep-extend","js-yaml","react-collapse","swagger-client","base64-js","classnames","commonmark","css.escape","ieee754","isarray","memoizee","react-debounce-input","react-dom","react-immutable-pure-component","react-markdown","react-redux","react-split-pane","redux","redux-immutable","regenerator-runtime","remarkable","sanitize-html","url-parse","xml","xml-but-prettier","yaml-js","zenscroll"],t):"object"==typeof exports?exports.SwaggerUICore=t(require("react"),require("prop-types"),require("immutable"),require("react-immutable-proptypes"),require("reselect"),require("serialize-error"),require("deep-extend"),require("js-yaml"),require("react-collapse"),require("swagger-client"),require("base64-js"),require("classnames"),require("commonmark"),require("css.escape"),require("ieee754"),require("isarray"),require("memoizee"),require("react-debounce-input"),require("react-dom"),require("react-immutable-pure-component"),require("react-markdown"),require("react-redux"),require("react-split-pane"),require("redux"),require("redux-immutable"),require("regenerator-runtime"),require("remarkable"),require("sanitize-html"),require("url-parse"),require("xml"),require("xml-but-prettier"),require("yaml-js"),require("zenscroll")):e.SwaggerUICore=t(e.react,e["prop-types"],e.immutable,e["react-immutable-proptypes"],e.reselect,e["serialize-error"],e["deep-extend"],e["js-yaml"],e["react-collapse"],e["swagger-client"],e["base64-js"],e.classnames,e.commonmark,e["css.escape"],e.ieee754,e.isarray,e.memoizee,e["react-debounce-input"],e["react-dom"],e["react-immutable-pure-component"],e["react-markdown"],e["react-redux"],e["react-split-pane"],e.redux,e["redux-immutable"],e["regenerator-runtime"],e.remarkable,e["sanitize-html"],e["url-parse"],e.xml,e["xml-but-prettier"],e["yaml-js"],e.zenscroll)}(this,function(e,t,n,r,a,o,u,i,l,s,c,f,d,p,h,m,v,g,y,_,b,E,S,x,C,w,j,A,R,O,P,T,M){return function(e){function t(r){if(n[r])return n[r].exports;var a=n[r]={i:r,l:!1,exports:{}};return e[r].call(a.exports,a,a.exports,t),a.l=!0,a.exports}var n={};return t.m=e,t.c=n,t.i=function(e){return e},t.d=function(e,n,r){t.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:r})},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,"a",n),n},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="/dist",t(t.s=609)}([function(e,t){e.exports=require("react")},function(e,t){e.exports=require("prop-types")},function(e,t,n){"use strict";t.__esModule=!0,t.default=function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}},function(e,t,n){"use strict";t.__esModule=!0;var r=n(205),a=function(e){return e&&e.__esModule?e:{default:e}}(r);t.default=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),(0,a.default)(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}()},function(e,t,n){e.exports={default:n(353),__esModule:!0}},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var a=n(338),o=r(a),u=n(337),i=r(u),l=n(32),s=r(l);t.default=function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+(void 0===t?"undefined":(0,s.default)(t)));e.prototype=(0,i.default)(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(o.default?(0,o.default)(e,t):e.__proto__=t)}},function(e,t,n){"use strict";t.__esModule=!0;var r=n(32),a=function(e){return e&&e.__esModule?e:{default:e}}(r);t.default=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!==(void 0===t?"undefined":(0,a.default)(t))&&"function"!=typeof t?e:t}},function(e,t){e.exports=require("immutable")},function(e,t,n){"use strict";(function(e){function r(e){return e&&e.__esModule?e:{default:e}}function a(e){tryLine truncated
* The buffer module from node.js, for the browser.
*
* @author Feross Aboukhadijeh <feross@feross.org> <http://feross.org>
* @license MIT
*/
var $=n(586),K=n(590),X=n(591);t.Buffer=o,t.SlowBuffer=m,t.INSPECT_MAX_BYTES=50,o.TYPED_ARRAY_SUPPORT=void 0!==e.TYPED_ARRAY_SUPPORT?e.TYPED_ARRAY_SUPPORT:function(){try{var e=new Uint8Array(1);return e.__proto__={__proto__:Uint8Array.prototype,foo:function(){return 42}},42===e.foo()&&"function"==typeof e.subarray&&0===e.subarray(1,1).byteLength}catch(e){return!1}}(),t.kMaxLength=r(),o.poolSize=8192,o._augment=function(e){return e.__proto__=o.prototype,e},o.from=function(e,t,n){return u(null,e,t,n)},o.TYPED_ARRAY_SUPPORT&&(o.prototype.__proto__=Uint8Array.prototype,o.__proto__=Uint8Array,"undefined"!=typeof Symbol&&Symbol.species&&o[Symbol.species]===o&&Object.defineProperty(o,Symbol.species,{value:null,configurable:!0})),o.alloc=function(e,t,n){return l(null,e,t,n)},o.allocUnsafe=function(e){return s(null,e)},o.allocUnsafeSlow=function(e){return s(null,e)},o.isBuffer=function(e){return!(null==e||!e._isBuffer)},o.compare=function(e,t){if(!o.isBuffer(e)||!o.isBuffer(t))throw new TypeError("Arguments must be Buffers");if(e===t)return 0;for(var n=e.length,r=t.length,a=0,u=Math.min(n,r);a<u;++a)if(e[a]!==t[a]){n=e[a],r=t[a];break}return n<r?-1:r<n?1:0},o.isEncoding=function(e){switch(String(e).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}},o.concat=function(e,t){if(!X(e))throw new TypeError('"list" argument must be an Array of Buffers');if(0===e.length)return o.alloc(0);var n;if(void 0===t)for(t=0,n=0;n<e.length;++n)t+=e[n].length;var r=o.allocUnsafe(t),a=0;for(n=0;n<e.length;++n){var u=e[n];if(!o.isBuffer(u))throw new TypeError('"list" argument must be an Array of Buffers');u.copy(r,a),a+=u.length}return r},o.byteLength=v,o.prototype._isBuffer=!0,o.prototype.swap16=function(){var e=this.length;if(e%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var t=0;t<e;t+=2)y(this,t,t+1);return this},o.prototype.swap32=function(){var e=this.length;if(e%4!=0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(var t=0;t<e;t+=4)y(this,t,t+3),y(this,t+1,t+2);return this},o.prototype.swap64=function(){var e=this.length;if(e%8!=0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(var t=0;t<e;t+=8)y(this,t,t+7),y(this,t+1,t+6),y(this,t+2,t+5),y(this,t+3,t+4);return this},o.prototype.toString=function(){var e=0|this.length;return 0===e?"":0===arguments.length?R(this,0,e):g.apply(this,arguments)},o.prototype.equals=function(e){if(!o.isBuffer(e))throw new TypeError("Argument must be a Buffer");return this===e||0===o.compare(this,e)},o.prototype.inspect=function(){var e="",n=t.INSPECT_MAX_BYTES;return this.length>0&&(e=this.toString("hex",0,n).match(/.{2}/g).join(" "),this.length>n&&(e+=" ... ")),"<Buffer "+e+">"},o.prototype.compare=function(e,t,n,r,a){if(!o.isBuffer(e))throw new TypeError("Argument must be a Buffer");if(void 0===t&&(t=0),void 0===n&&(n=e?e.length:0),void 0===r&&(r=0),void 0===a&&(a=this.length),t<0||n>e.length||r<0||a>this.length)throw new RangeError("out of range index");if(r>=a&&t>=n)return 0;if(r>=a)return-1;if(t>=n)return 1;if(t>>>=0,n>>>=0,r>>>=0,a>>>=0,this===e)return 0;for(var u=a-r,i=n-t,l=Math.min(u,i),s=this.slice(r,a),c=e.slice(t,n),f=0;f<l;++f)if(s[f]!==c[f]){u=s[f],i=c[f];break}return u<i?-1:i<u?1:0},o.prototype.includes=function(e,t,n){return-1!==this.indexOf(e,t,n)},o.prototype.indexOf=function(e,t,n){return _(this,e,t,n,!0)},o.prototype.lastIndexOf=function(e,t,n){return _(this,e,t,n,!1)},o.prototype.write=function(e,t,n,r){if(void 0===t)r="utf8",n=this.length,t=0;else if(void 0===n&&"string"==typeof t)r=t,n=this.length,t=0;else{if(!isFinite(t))throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");t|=0,isFinite(n)?(n|=0,void 0===r&&(r="utf8")):(r=n,n=void 0)}var a=this.length-t;if((void 0===n||n>a)&&(n=a),e.length>0&&(n<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");r||(r="utf8");for(var o=!1;;)switch(r){case"hex":return E(this,e,t,n);case"utf8":case"utf-8":return S(this,e,t,n);case"ascii":return x(this,e,t,n);case"latin1":case"binary":return C(this,e,t,n);case"base64":return w(this,e,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return j(this,e,t,n);default:if(o)throw new TypeError("Unknown encoding: "+r);r=(""+r).toLowerCase(),o=!0}},o.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var Q=4096;o.prototype.slice=function(e,t){var n=this.length;e=~~e,t=void 0===t?n:~~t,e<0?(e+=n)<0&&(e=0):e>n&&(e=n),t<0?(t+=n)<0&&(t=0):t>n&&(t=n),t<e&&(t=e);var r;if(o.TYPED_ARRAY_SUPPORT)r=this.subarray(e,t),r.__proto__=o.prototype;else{var a=t-e;r=new o(a,void 0);for(var u=0;u<a;++u)r[u]=this[u+e]}return r},o.prototype.readUIntLE=function(e,t,n){e|=0,t|=0,n||q(e,t,this.length);for(var r=this[e],a=1,o=0;++o<t&&(a*=256);)r+=this[e+o]*a;return r},o.prototype.readUIntBE=function(e,t,n){Line truncated
//# sourceMappingURL=swagger-ui.js.map
-699
View File
@@ -1,699 +0,0 @@
// Code generated by github.com/sour-is/go-assetfs, DO NOT EDIT.
// sources:
// ../../public/asset-manifest.json (1.232kB)
// ../../public/favicon.ico (1.406kB)
// ../../public/index.html (2.17kB)
// ../../public/manifest.json (314B)
// ../../public/paste.sh (1.6kB)
// ../../public/precache-manifest.ebd42e3241a6e0bc6ccfe4cce3770077.js (752B)
// ../../public/service-worker.js (1.183kB)
// ../../public/static/css/2.a7e3db88.chunk.css (146.04kB)
// ../../public/static/css/2.a7e3db88.chunk.css.map (486.994kB)
// ../../public/static/css/main.ac206b6a.chunk.css (2.505kB)
// ../../public/static/css/main.ac206b6a.chunk.css.map (5.718kB)
// ../../public/static/js/2.bcd00145.chunk.js (1.865MB)
// ../../public/static/js/2.bcd00145.chunk.js.LICENSE.txt (2.981kB)
// ../../public/static/js/2.bcd00145.chunk.js.map (4.995MB)
// ../../public/static/js/main.453e2db6.chunk.js (13.523kB)
// ../../public/static/js/main.453e2db6.chunk.js.map (35.733kB)
// ../../public/static/js/runtime-main.3617f9c7.js (1.551kB)
// ../../public/static/js/runtime-main.3617f9c7.js.map (8.27kB)
package routes
import (
"github.com/sour-is/go-assetfs/pkg/assetfs"
"bytes"
"compress/gzip"
"crypto/sha256"
"fmt"
"io"
"io/ioutil"
"os"
"path/filepath"
"strings"
"time"
)
func bindataRead(data []byte, name string) ([]byte, error) {
gz, err := gzip.NewReader(bytes.NewBuffer(data))
if err != nil {
return nil, fmt.Errorf("read %q: %v", name, err)
}
var buf bytes.Buffer
_, err = io.Copy(&buf, gz)
clErr := gz.Close()
if err != nil {
return nil, fmt.Errorf("read %q: %v", name, err)
}
if clErr != nil {
return nil, err
}
return buf.Bytes(), nil
}
type asset struct {
bytes []byte
info os.FileInfo
digest [sha256.Size]byte
}
type bindataFileInfo struct {
name string
size int64
mode os.FileMode
modTime time.Time
}
func (fi bindataFileInfo) Name() string {
return fi.name
}
func (fi bindataFileInfo) Size() int64 {
return fi.size
}
func (fi bindataFileInfo) Mode() os.FileMode {
return fi.mode
}
func (fi bindataFileInfo) ModTime() time.Time {
return fi.modTime
}
func (fi bindataFileInfo) IsDir() bool {
return false
}
func (fi bindataFileInfo) Sys() interface{} {
return nil
}
var _publicAssetManifestJson = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xac\x94\xc1\x4f\x83\x30\x14\xc6\xef\xfc\x15\x0d\x67\xd7\x31\x60\x74\x7a\x35\x3b\x98\x18\x2f\x1e\x8d\x87\xf2\x78\x64\x65\xa3\x5b\x68\xa7\x33\x66\xff\xbb\x29\x61\x5a\xa0\xcc\xc6\x78\x6c\xf7\xfd\xbe\xf7\xde\xf7\x56\x3e\x03\x42\xc2\x52\xec\x50\x85\x77\xc4\x1c\x08\x09\x6b\x2e\x24\x05\x65\x6e\xc2\xb9\xd2\x5c\x0b\x98\x83\x52\xf3\xf6\x9e\x43\x1c\x65\x79\xc6\x29\x6c\x8e\x72\xdb\xca\x6e\x2c\xac\xea\x51\x55\x07\xa5\xcb\x04\xe3\x22\xcf\x3a\xa8\x1a\x32\xb4\xe6\x07\x2f\xae\x15\x76\x6c\x73\x94\x5a\xd4\x38\x73\xd7\xed\xfd\x9a\x64\x0b\x56\xde\x02\xb3\x2a\x0f\x68\x47\x07\x53\x0e\x76\x0f\x56\x3a\x31\xe5\x0c\x93\x22\x5f\xad\xac\x68\x06\x09\x3a\x35\x7d\xab\xca\xa8\x72\x28\xa2\x68\x91\x2e\x7f\xf2\xea\xb7\xe6\x52\xf8\xd8\x38\xa6\x9c\x52\x75\x76\x42\x16\x78\xa2\x1b\x5d\xef\x5a\xce\x3a\x76\x82\x43\x83\xc0\x61\x63\x62\x92\xa2\x44\xa5\x29\xe6\x45\x1a\x63\x12\xa7\x0b\x9e\x61\x94\x43\x06\x50\x62\x0a\x80\x09\x63\x51\xc4\xd8\x65\x9c\xbf\x91\x97\x31\xb1\x79\x13\x80\xb3\xf7\x7d\xb3\xc5\xe6\x3b\xa1\xd1\xad\xdf\x9e\x86\xb9\x5c\xd5\x8d\x2d\x27\x1e\x86\xcb\xf5\x9a\xd4\x6b\x83\x8f\x0f\xf7\xeb\xa7\xe7\x35\xd5\x27\xed\xb1\x49\x5b\x1d\x10\x72\x36\x25\x42\x94\xba\xf9\x38\xec\x85\xd4\x26\xb5\x97\x61\xd5\xdf\x5e\xce\xbf\xfc\x9f\xbd\x43\x1c\xdb\x4d\x7c\x51\x02\x42\x5e\x83\xf3\x57\x00\x00\x00\xff\xff\x7c\x7c\x09\xde\xd0\x04\x00\x00")
func publicAssetManifestJsonBytes() ([]byte, error) {
return bindataRead(
_publicAssetManifestJson,
"public/asset-manifest.json",
)
}
func publicAssetManifestJson() (*asset, error) {
bytes, err := publicAssetManifestJsonBytes()
if err != nil {
return nil, err
}
info := bindataFileInfo{name: "public/asset-manifest.json", size: 1232, mode: os.FileMode(0644), modTime: time.Unix(1597685417, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xf7, 0xc8, 0xc3, 0x32, 0xd, 0x5e, 0x96, 0x2c, 0xd5, 0x43, 0xc, 0x90, 0x64, 0x85, 0xff, 0xc3, 0x1e, 0xf2, 0xdf, 0x55, 0x86, 0xd, 0x38, 0x9e, 0xab, 0xc5, 0xf5, 0x68, 0x47, 0xc1, 0x8a, 0x5c}}
return a, nil
}
var _publicFaviconIco = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xec\x94\x41\x8e\xd3\x30\x14\x86\x3f\xbb\x34\xf1\xc0\x94\x14\x33\x98\x97\x04\x5a\x03\x52\xc4\x3e\x07\xf0\x05\x7a\x81\x5e\x20\x62\x05\x28\x17\x28\x3b\x58\x54\xec\x23\x81\x10\x8b\x5e\xa0\x17\xe8\x1c\x20\x07\xe8\x72\x36\x73\x07\x16\x48\x41\x4e\x19\xc1\x09\x66\xd5\x4f\x7a\x7a\xef\xff\x9f\x65\x7b\xf5\x83\x42\x31\x9f\xc7\x6e\x78\x37\x05\x07\xbc\x05\xe6\x80\xe7\xe4\x8f\x28\xfe\xf1\xdf\xdc\xb6\x2d\x21\xd4\x40\x43\x08\x1d\x9b\xcd\x86\x8f\x1f\xde\xb3\xdd\x6e\xe9\xba\x8e\xe3\xb1\x87\xb0\xa3\xaa\x2a\xea\xba\x66\xb7\xdb\xd1\xb6\x0d\xfb\xfd\x1e\xa8\x09\xa1\xe1\x70\x38\x50\xd7\x47\x18\x06\xa0\xe3\xe7\x8f\xef\x84\x10\xe8\xfb\x1e\x18\x58\xad\x56\xc0\x2d\x70\xa4\xeb\x7a\xd6\xeb\x35\x84\x81\xa6\x69\x20\xdc\x52\x55\x6b\xce\x9c\x39\x73\xdf\x48\xe4\xe5\x8b\xb2\x7c\x2a\x32\x1a\x17\x51\xe6\x79\x9e\x8f\x86\x8b\x69\xf2\xa0\xcc\x97\xcb\x65\x2e\x82\xbb\xcc\xa6\x4e\x9b\x67\xf9\xd5\x55\x5e\x02\x4e\x44\xac\x4a\x5f\x4f\x1e\xbe\x2a\x9f\x44\x6d\x0b\x2b\x92\x29\xbf\x98\x17\xe6\x11\x38\xf3\xdc\xc6\x07\x54\x61\xb2\x99\xd2\x60\xac\xd8\x22\x15\xaf\xac\xc8\x42\xc3\x42\xa6\xc6\x16\xd6\x67\x22\xe2\xd1\xe8\x74\x86\xf7\x66\xdc\x3f\x46\x83\x4f\x7d\x5a\xcc\xa4\x50\x99\x38\x1d\xff\x77\xe9\x17\x26\xde\x69\xc6\xf5\x88\xb2\xd6\x7a\x87\xd6\xa0\x93\x68\xba\x24\xe1\x24\x35\x3a\x76\x74\x92\xdc\x9d\x8e\xf3\x9d\xb8\x9e\xc0\x8d\x82\x6f\x31\x0f\xd3\xbf\x35\x39\xe5\xe3\xa7\x58\x1a\xbe\x68\xb8\x56\x70\x33\x85\xdf\x17\xf0\xb5\x86\x37\x9f\xe1\x57\x80\x3f\x01\x00\x00\xff\xff\x45\x31\xce\x2f\x7e\x05\x00\x00")
func publicFaviconIcoBytes() ([]byte, error) {
return bindataRead(
_publicFaviconIco,
"public/favicon.ico",
)
}
func publicFaviconIco() (*asset, error) {
bytes, err := publicFaviconIcoBytes()
if err != nil {
return nil, err
}
info := bindataFileInfo{name: "public/favicon.ico", size: 1406, mode: os.FileMode(0644), modTime: time.Unix(1597685417, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xa8, 0xd7, 0x88, 0x1f, 0xb2, 0xec, 0x4c, 0x44, 0x6, 0xe0, 0x9, 0xf3, 0x63, 0x66, 0x79, 0x3a, 0xde, 0x56, 0xb, 0x35, 0xe6, 0x21, 0x9, 0xe6, 0x72, 0xbc, 0xe7, 0x8c, 0xce, 0xb4, 0x3, 0xc1}}
return a, nil
}
var _publicIndexHtml = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x8c\x56\x6d\x6f\xdb\xb6\x13\xff\x2a\x32\xff\x80\x20\x22\x34\x2d\xa7\x69\xff\x81\x2d\x7a\x6f\xf6\xaa\xc0\xd6\x02\xdd\x9b\x41\x10\x0a\x9a\x3a\x45\x4c\x68\x52\x20\x4f\xce\x0c\x47\xdf\x7d\xa0\xe4\x87\xa6\x6b\xb6\x1a\x86\x45\x1e\xef\x77\xfc\xdd\x83\xee\x5c\xcc\x6a\xa7\xf0\xd0\x41\xd2\xe2\xce\x6c\x8a\xf8\x9b\x18\x69\x1f\x04\x01\x4b\x36\x45\x0b\xb2\xde\x14\x3b\x40\x99\xa8\x56\xfa\x00\x28\x48\x8f\xcd\xfc\x9e\x9c\xa4\x56\xee\x40\x90\xbd\x86\xe7\xce\x79\x24\x89\x72\x16\xc1\xa2\x20\xcf\xba\xc6\x56\xd4\xb0\xd7\x0a\xe6\xe3\x86\x69\xab\x51\x4b\x33\x0f\x4a\x1a\x10\x4b\x16\x5a\xaf\xed\xd3\x1c\xdd\xbc\xd1\x28\xac\x7b\x6d\x13\x5b\xd8\xc1\x5c\x39\xe3\xfc\x37\x66\xff\x97\x8f\x1f\xb2\x29\x8c\xb6\x4f\x89\x07\x23\xc8\x4e\x5a\xdd\x40\x40\x92\xb4\x1e\x1a\x41\x16\x67\x01\x7f\x0c\xce\xbe\x52\x0d\xad\xf3\xa8\x7a\x4c\xb4\x72\xf6\xa2\xdf\xc8\x7d\xdc\x73\xad\x22\x07\xd4\x68\x60\xf3\xeb\xef\x77\xb7\xc9\x67\x19\x10\x8a\xc5\x24\x99\xcc\x9c\x20\x01\x25\x6a\xb5\x50\x21\x2c\x6e\xb9\xfc\x3f\xbc\xab\xb7\xf7\xf7\x5c\xb5\xbd\x7d\xe2\x2a\x04\x72\xba\x0e\x0f\x06\x42\x0b\x80\xe4\x4d\xf8\x4e\x6a\xcb\xa5\xba\xcd\x3f\x6c\x3f\xc8\x7f\xb7\xb0\x98\xd2\xb1\x75\xf5\x61\x53\x58\x17\x94\xd7\x1d\x6e\xfe\x74\x7d\x62\x01\xea\x04\x5d\x02\x56\x6e\x0d\x24\x1f\xe5\x5e\x7e\x19\x4f\xa3\xd0\xf7\x36\xc1\x56\x87\x44\x76\x1d\x2f\x16\x17\x60\x51\xeb\x7d\xa2\x6b\x41\xbc\x73\xa3\xf9\x5a\xef\x37\xc5\xe9\x70\xd6\xf4\x56\xa1\x76\x36\x03\x7a\x3c\xaf\x13\xcc\x90\x1e\x1b\xe7\xb3\xbd\xf4\x89\x65\x86\x49\x81\x65\x5e\xb1\x4e\x60\xb9\xac\x58\x23\xb0\xbc\xad\x98\x12\x39\x0b\xa2\xac\xd6\xaa\x90\xdc\x80\x7d\xc0\x76\xad\x6e\x6e\xa8\x11\xb2\x54\x15\xfb\xb4\x7d\x04\x85\xbc\xf3\x0e\x5d\xac\x3d\xde\xca\xf0\xe9\xd9\x7e\xf6\xae\x03\x8f\x07\xae\xa4\x31\x99\x63\x86\xa6\xa9\x2b\x4d\x95\xa6\x81\x77\x7d\x68\xb3\xb8\x29\xf3\x8a\xb2\xb8\x10\xf9\x3a\xf2\xb0\x89\xb6\x49\x47\x7f\xca\x64\xc7\x2c\x4d\xd3\x0c\x4a\x5b\x89\xae\xb4\x15\x1d\x2d\xe8\x34\xd5\x19\xd2\x75\x38\x33\xa5\x81\x87\x56\x37\x98\xd1\x8c\xae\x3d\x60\xef\x6d\xd2\x8f\x0c\xb8\xec\x3a\x73\xc8\x7a\xd6\xbc\xbc\x94\x15\x65\x3e\xa3\xc3\x25\x34\x3e\xbb\x46\x06\x18\x8a\x7c\x8d\x45\x7f\xb6\x89\x37\x37\xd7\x53\x2f\xfa\x12\x2b\x66\xc5\x2c\x67\x52\x2c\xd7\xb2\xf0\x67\x3d\x19\xf5\xa2\x4e\x27\x7c\x29\xab\x75\x3e\x13\xc2\x95\x5d\x95\xa6\x99\x15\xb3\x25\x1d\x6c\x9a\x66\x3d\x0f\x9d\xd1\x0a\x32\x9c\xcf\xd9\x92\x32\x10\x26\x33\x3c\x08\x1f\x83\x43\x87\x13\x65\x18\xc6\x1c\x89\xe3\xc0\x9c\x38\x2e\x57\xf9\xc0\xfa\x98\x93\x0b\x61\x13\x73\xa9\x9b\xcc\x96\x58\xd1\x13\x28\xae\x39\xfc\x15\xdf\xe5\xb0\x9e\xb8\x46\x91\x38\xea\x15\x32\xb3\x9a\x2d\xd9\xe9\x70\x75\x1c\x86\x73\x70\x20\x82\xc6\x08\xfb\x33\x96\x79\x76\x5d\x1b\xca\x3c\x37\xd1\xdb\x8b\x6c\x30\x7c\x27\x80\x19\xae\x84\x65\x86\xd7\xe2\x5a\x6d\x0c\x99\xa7\x47\xc3\x5d\x5c\xd2\x97\x97\x53\x6a\x6b\x68\xb4\x85\x73\x42\x47\xb5\x23\xd8\x7e\x07\x3e\x56\xfc\x6a\x96\xb3\x07\xc0\x95\x1f\xe8\xc0\x0c\xf7\xe2\xdb\xea\x25\xbd\x9d\xd0\x35\x99\x89\x58\x1d\xae\x49\xbe\x1c\x76\x5b\x67\xd2\x74\x7a\x72\x74\x5f\xd0\x6b\xfb\xf0\x87\x7c\x48\xd3\xb7\x6e\xfc\xa7\x2e\x3b\xee\xa5\xe9\x61\x45\x7e\x73\x75\x6f\x80\x0c\x94\xbd\x05\x26\x5f\xbf\x42\x38\xa9\x9d\x61\xb3\x7c\xa2\x8b\xaf\xdc\x1f\x93\xb2\x4c\x31\x96\xaa\x30\x19\x50\xca\xee\x53\x3c\x67\x08\xd6\xba\xc9\xee\xe2\x29\x71\xe3\x55\x44\x9c\x7d\x82\x34\x8d\x5f\x7e\xbd\xe9\x0a\x9a\x72\x79\x22\xa7\x3c\x48\x84\xcc\xf6\xc6\xd0\x68\xce\x70\x9f\xf9\xb7\xa8\x7b\x46\x6a\x68\x64\x6f\x90\x7c\x1f\xf1\xc9\x0b\x18\x28\xbb\x1d\x09\x85\x31\x2e\xd7\x20\x03\xbd\xb4\x8a\xf8\x9a\x02\x35\xbc\xce\x3c\xb3\xec\xe2\x2e\xd2\xe3\x37\x45\x34\xf0\xad\xb6\xf5\xc8\x8b\x59\x7a\x79\xf9\x7c\x8c\x91\x7d\x95\xd2\x68\x13\xc5\x77\xde\xfe\x72\xd1\xb8\x5a\xe5\x27\xee\xc3\xea\x07\x87\x97\x0a\x8e\xbc\x90\x11\x49\x18\x52\x86\xf1\x3a\xf7\x5d\x4a\x4e\x8a\x3f\xd5\x67\x22\x20\xda\xe8\x04\x59\x90\x31\xf2\x52\xc4\xfe\xcb\x9f\x61\xdb\x49\xf5\xf4\x31\x38\xdb\x75\x71\xb4\xbc\x21\x8e\xdd\x85\x75\x42\x4e\x4d\x67\x8c\x89\xa4\xeb\x69\x2b\x90\x49\x21\x79\x18\x1b\xc0\xd4\xc1\xe2\x0d\x4d\xec\x87\xd7\x6e\xdb\xdc\xdc\x50\xcc\x64\xd9\x54\x74\x24\xa0\x45\xb7\x8e\xdd\x2a\x2b\x2b\x5a\x2c\xce\xfd\x7f\x7a\x26\xc1\xab\xeb\x48\x7a\x8c\x03\x6d\xab\xea\x3c\x5f\xde\xbd\x3f\x8d\xa3\xc7\x10\xa7\xc3\x7f\xa0\xc6\x39\x76\xf7\xfe\x1d\xdc\xd6\xdb\x0f\x3f\x04\x2e\xa6\xc1\xb5\x18\xff\x6a\xfc\x1d\x00\x00\xff\xff\x79\x59\x0a\x51\x7a\x08\x00\x00")
func publicIndexHtmlBytes() ([]byte, error) {
return bindataRead(
_publicIndexHtml,
"public/index.html",
)
}
func publicIndexHtml() (*asset, error) {
bytes, err := publicIndexHtmlBytes()
if err != nil {
return nil, err
}
info := bindataFileInfo{name: "public/index.html", size: 2170, mode: os.FileMode(0644), modTime: time.Unix(1597685417, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x68, 0x6e, 0x48, 0x25, 0x3, 0x8d, 0x5e, 0x54, 0x5d, 0xdc, 0x47, 0x66, 0x8c, 0x86, 0xe2, 0x3b, 0x8c, 0xd0, 0x97, 0x1d, 0x9e, 0xdd, 0x61, 0xa3, 0xe7, 0x15, 0xfc, 0xd0, 0x3c, 0x89, 0x33, 0x8b}}
return a, nil
}
var _publicManifestJson = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x64\x8f\xc1\x4e\x03\x21\x10\x86\xef\x3c\xc5\x04\xaf\xba\xb5\x94\xec\xa1\x67\xcf\xc6\xbb\x31\x9b\x91\xa5\x5d\x22\xcb\x34\x30\x35\xd4\xa6\xef\x6e\x06\x34\x1e\xe4\xc0\x61\xbe\x6f\x7e\x7e\xae\x0a\x40\x97\x85\x32\x4f\x09\x57\xaf\xf7\xa0\x9f\x9e\xad\x81\x17\x2c\xec\xf5\xbd\xd0\xdf\x79\x1b\x01\x13\x45\x38\x50\x06\xd1\xba\x10\x1c\xa5\xa2\xf7\xf0\xaa\x00\x00\xae\xed\x96\xd4\xec\x64\xed\x80\x9f\x22\x0c\xc1\x51\xd3\x3b\x0b\x5f\x5e\x56\xf4\x68\xeb\x68\x61\x67\xea\xce\x80\xb1\xd5\x58\xd8\x8e\x75\x3b\xfe\x99\x7c\x39\xb5\xd7\xc3\x8a\x47\xbf\xa9\x0f\x92\xa5\x1b\xbc\x29\x80\xb7\x56\xa0\x30\x66\x9e\xce\x39\x8a\x38\x6c\x42\x9a\x7d\x1d\x16\x5e\x63\xef\x37\x87\x72\x8a\x78\x11\x58\x18\xd3\x8c\x91\xd2\xcf\xdf\x78\xf1\xab\x9f\x1c\x45\xca\x82\xef\x1e\xdb\xe9\xec\x1d\xdd\xc7\x31\xd3\x39\xcd\xff\x05\x75\x53\xdf\x01\x00\x00\xff\xff\x5e\x63\xda\x82\x3a\x01\x00\x00")
func publicManifestJsonBytes() ([]byte, error) {
return bindataRead(
_publicManifestJson,
"public/manifest.json",
)
}
func publicManifestJson() (*asset, error) {
bytes, err := publicManifestJsonBytes()
if err != nil {
return nil, err
}
info := bindataFileInfo{name: "public/manifest.json", size: 314, mode: os.FileMode(0644), modTime: time.Unix(1597685417, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x84, 0xae, 0xfa, 0x9b, 0xa1, 0xa5, 0x6c, 0x1e, 0x9f, 0x38, 0xe4, 0xe, 0x17, 0x0, 0xff, 0x9b, 0x86, 0x21, 0x4a, 0x69, 0xb2, 0xb3, 0x6b, 0x70, 0x24, 0xc6, 0x9e, 0x5d, 0x3b, 0x46, 0x56, 0x78}}
return a, nil
}
var _publicPasteSh = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x8c\x54\x61\x4f\xdb\x48\x14\xfc\xbe\xbf\x62\xba\xf5\xe1\x58\x65\x71\x12\x01\x1f\x42\x7d\x3a\xe0\x50\x53\xb5\x02\x44\xc2\xe9\xd4\xa3\x87\x36\xde\x97\xd8\x22\x59\xfb\xbc\xeb\xc2\xb5\xce\x7f\x3f\xad\x13\x3b\x49\xcb\xa9\xe4\x4b\xfc\xfc\xde\xcc\x7a\x67\x46\xef\xf5\xab\x70\x92\xea\x70\x22\x4d\xc2\x58\x3a\xc5\x5f\xe0\x5e\x8f\x23\x02\x17\x09\xc7\xe7\x13\xd8\x84\x34\x43\x2c\x2d\x7a\xbf\xee\xf5\xf1\xf6\xed\xc5\xd5\x47\x56\x1a\x39\xa3\x01\x28\x4e\x32\x84\x64\xe3\x30\x97\xc6\x3c\x2a\x54\x38\x70\x8f\x96\x0e\x1c\x1d\xe9\x2f\xc8\x72\x9b\x66\xda\x0c\x18\x70\x7d\x3a\x1a\x5f\xdc\xdf\xde\x7c\x04\x04\x46\x64\x1d\x35\xca\x62\x8e\x89\x34\x84\x69\x56\xa0\x86\x22\xcb\xa9\x90\x35\x0a\x1d\x45\x53\x59\xce\xed\x00\xc3\xf1\xf8\x7a\x34\x08\xd7\xec\x4a\x1f\xf6\x0f\x4a\x13\xb4\xac\xef\x3e\xbd\xbf\x86\x40\x17\x11\x2e\x33\x9c\x67\x8b\xbc\x20\x63\xd2\x4c\xef\x03\x3d\x44\xb8\x35\x84\xd9\xd7\x34\x47\xbc\x69\x6d\xb1\x77\x37\x4c\x67\xb7\x37\x97\x1b\xa6\xb3\xb2\xd0\xc8\x34\x6e\x48\xaa\xfd\x9a\xa9\x79\x53\x90\x54\x68\x7e\xcf\x32\xfd\x7e\x3a\xbe\x80\xc0\x1f\x72\x5e\x12\x6c\x86\x09\xa1\x34\xa4\xf0\x98\x90\x86\x21\x6b\x53\x3d\x03\x3d\xe5\x69\x41\x50\xd2\xd2\xc1\x2e\x93\xa6\x27\x2b\x1e\x89\x1e\x02\xe6\x24\x07\xe8\x29\xb5\x6c\x9a\x32\xd6\x0a\x19\x79\xdf\xda\x67\xc1\x13\x6b\x73\xf3\xbd\x44\x7c\xc9\x36\xf7\x6a\xe7\x5d\x21\xba\x4d\xcb\x7d\x68\xdb\x72\x85\xe0\xed\xe1\x2d\xde\x29\xdc\x0e\xb9\xc2\xe1\xdf\x7d\x3a\x7b\x7f\x19\xf1\x58\x5a\xce\x5c\x72\x36\x5d\x0e\x41\xff\x80\xf7\x38\x3e\x63\x6f\x0f\xeb\xc1\xda\x02\x11\xf3\xfa\x0e\xa3\xc8\xeb\x24\xb5\x8a\x22\xc6\x61\x17\xa1\xa2\x2f\x61\x59\x48\xad\xb2\x45\x70\xc2\xce\x87\x1f\x22\xaf\x53\x47\x0c\x10\x06\x8e\x7c\x84\xca\xc5\x43\x1b\x33\x87\x9a\x19\x0b\x61\x12\xd9\x3f\x3a\x86\x98\xa4\x5a\x16\xff\xfe\xd0\x2e\xd2\x9c\x16\xaa\x77\xdc\xdd\x9a\x70\x71\x3b\x3e\x44\x05\x5b\xc0\x0f\xdf\xf8\xf0\xef\x85\xbf\x2a\x85\x82\x1f\xf9\x41\xf3\x75\xab\xc3\x5f\x7e\xf6\x0b\x98\x87\xa7\xa3\x61\xe4\x75\x56\xd4\x82\xc0\xe9\x29\x1f\xdc\x59\xaf\xe3\x12\x80\x37\xbf\x18\x37\xb9\xed\xc5\x32\xe0\x27\xb8\x63\x4d\xd2\x5a\x5c\x9c\x3c\x38\xdc\xf9\xf0\xc3\x4e\x7f\xe3\x82\xf3\xf8\x3b\x17\x5a\xf0\xa4\x2c\xf4\xe0\xce\xda\xa2\xa4\xff\x41\x3f\xe3\x61\x8b\xfe\x9a\xe6\xcf\x81\x5d\x7f\xbb\x76\x3b\xa3\xf6\xd4\x58\x95\x6a\x54\xf0\xea\x14\x6c\xc9\x28\xc9\x88\xfe\xd1\xb1\x88\x27\x31\xc4\x42\x61\xa1\x8e\xdc\x01\x42\x42\x3c\xac\x34\x0f\x50\x6d\x33\xba\x6d\x21\x0c\xc4\x9f\xb8\xbe\x1a\x8d\xb1\x15\xff\xe5\x2a\xf6\x10\x42\x49\x2b\x1b\x4b\x7e\x13\x01\xab\x25\xbf\xbf\x6a\xc3\xe4\xb9\x1a\x15\xe2\xd2\x42\xc4\x3d\xd1\x0f\xda\xc5\xb7\x9e\xac\xd7\x9f\xfb\x6b\xd7\x1f\xd6\xb6\xfd\x48\x30\xed\x43\x28\x1f\x7e\xc0\xd8\xda\x1c\x5e\x16\xf3\xc1\xee\xa7\xbd\x0e\xbd\x6f\x0e\xb4\x7c\x55\xbf\x1e\x2d\x79\x33\x2c\x34\xb8\x49\x68\x3e\x1f\xb4\x97\xdb\x41\xca\x3c\x0d\x67\x64\x1b\x3c\x2a\xb8\x0d\xe2\xf7\xf6\xc3\xbf\xef\xbc\x50\xf9\x3f\x13\x53\x35\x62\x6e\xce\xfd\xb9\xc7\x1c\xd5\x6a\x59\x0a\x15\x73\x54\xd5\xca\xd9\xed\x0d\xb4\xd1\xe1\xbf\x00\x00\x00\xff\xff\x29\xb1\x56\x6b\x40\x06\x00\x00")
func publicPasteShBytes() ([]byte, error) {
return bindataRead(
_publicPasteSh,
"public/paste.sh",
)
}
func publicPasteSh() (*asset, error) {
bytes, err := publicPasteShBytes()
if err != nil {
return nil, err
}
info := bindataFileInfo{name: "public/paste.sh", size: 1600, mode: os.FileMode(0755), modTime: time.Unix(1597685417, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x90, 0xe0, 0xa6, 0x70, 0x30, 0x16, 0xec, 0xb8, 0xfb, 0xee, 0xdb, 0x2b, 0x2a, 0xc6, 0x95, 0x53, 0x37, 0xb3, 0xbc, 0x14, 0xd1, 0x4f, 0x13, 0x5a, 0x31, 0x9a, 0xb8, 0xb9, 0x61, 0xda, 0xda, 0x6d}}
return a, nil
}
var _publicPrecacheManifestEbd42e3241a6e0bc6ccfe4cce3770077Js = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xac\x90\xc1\x6e\x1a\x31\x10\x86\xef\xfb\x14\xd6\x9e\x40\xa2\xc6\x5e\x7b\xc7\x76\xab\x9e\x2a\x0e\x95\xda\x5e\x7a\x44\x08\x8d\x67\x67\xc5\x52\x58\xaa\xb5\x89\x90\x42\xde\x3d\x22\x21\x97\x28\x20\x90\x72\x9e\x99\xef\x9b\xff\x4f\xbc\x69\xe5\x72\xf9\x7f\x60\x42\x5a\xf1\x6f\xec\xbb\x96\x53\x16\xdf\xc5\xe8\xd2\xe8\x78\x14\xf3\xc5\x58\xd2\xae\x27\xcc\xa3\x79\x21\xc4\x63\x21\x84\x10\xe5\xc0\x0f\x5d\xea\x76\x7d\xf9\x55\x94\x81\x9d\x0b\x1c\x9d\x8d\xba\xf6\x9a\xeb\x50\x35\x40\xc6\xfa\xda\x68\x44\x43\xba\x9c\xbc\xde\xec\x87\xcd\x69\x7d\xda\xf5\x0d\x1f\xe4\x2a\x6f\x37\x65\x21\xc4\xd3\xe4\x63\x2a\x90\xb7\xba\x31\x18\x99\xc1\x40\x8b\x10\xc0\xbd\x27\xa5\x8c\xb9\xa3\x29\xa5\x34\xad\x24\x3a\x36\x4d\xf4\x5e\xd2\x6a\xdf\xff\x93\x94\xd2\x35\xbc\xe6\x60\x15\x06\x4d\xb6\x0d\xec\x94\x0d\xa6\x82\x2b\xf8\x2d\x76\xbd\x44\xaa\x14\x44\xc0\xdb\x0c\x77\x04\x58\x9f\xfe\x8f\xd4\x28\xa5\x6d\x7d\xa6\xaf\xaf\xc2\x19\x55\xb4\x01\x15\x43\xed\xd1\x6b\x8c\xc6\x83\x05\xa8\xa2\xb2\xaa\x55\x2d\xdf\x25\x92\xbf\x7e\xfe\x98\xfd\xf9\x3b\x93\xf9\x90\x3f\xa9\xb3\xf5\xb9\x32\x5b\x1b\xae\x9a\x08\x37\x85\x52\x44\x5c\x2b\x0b\xd6\xab\xe8\x75\x44\xa4\xe0\x2f\xf3\x87\x7d\x9f\xbb\x2d\x7f\x79\xf1\x18\xd0\xae\x0d\xe4\xde\x0c\xc5\x62\xfc\xed\x39\x00\x00\xff\xff\x95\xa6\xe7\xa0\xf0\x02\x00\x00")
func publicPrecacheManifestEbd42e3241a6e0bc6ccfe4cce3770077JsBytes() ([]byte, error) {
return bindataRead(
_publicPrecacheManifestEbd42e3241a6e0bc6ccfe4cce3770077Js,
"public/precache-manifest.ebd42e3241a6e0bc6ccfe4cce3770077.js",
)
}
func publicPrecacheManifestEbd42e3241a6e0bc6ccfe4cce3770077Js() (*asset, error) {
bytes, err := publicPrecacheManifestEbd42e3241a6e0bc6ccfe4cce3770077JsBytes()
if err != nil {
return nil, err
}
info := bindataFileInfo{name: "public/precache-manifest.ebd42e3241a6e0bc6ccfe4cce3770077.js", size: 752, mode: os.FileMode(0644), modTime: time.Unix(1597685417, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x6f, 0x31, 0x5e, 0x51, 0x45, 0x68, 0x65, 0x53, 0x91, 0x5a, 0x20, 0x12, 0xd6, 0xe5, 0xa7, 0x4a, 0x60, 0x46, 0xb9, 0x5c, 0x14, 0x87, 0xd6, 0xb9, 0x9, 0x37, 0x9a, 0x6f, 0x90, 0x6e, 0x44, 0x32}}
return a, nil
}
var _publicServiceWorkerJs = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x74\x93\x71\x6f\xdb\x36\x10\xc5\xff\xd7\xa7\xb8\x19\x43\x6d\xa7\x0e\x99\x26\x41\x83\x35\xf0\x86\xa2\xdb\xba\xa0\x59\x91\xda\x29\x8c\x21\x71\x0d\x8a\x3c\x49\x9c\x29\x9e\xc6\xa3\xe2\x1a\x6d\xbf\xfb\x40\x59\x4e\xb7\x6e\xfe\xcf\x26\xdf\xfd\x78\xef\xee\x49\x1e\x1d\x65\x70\x04\x0b\x74\x9a\x6a\x84\x48\xb0\xa5\x36\xc0\x82\xc2\x3a\xa7\x8f\xc7\x0d\x6d\x30\xa0\x01\xc6\xf0\x60\x35\xc2\x86\xc2\x1a\xc3\x77\x19\x74\x55\x7f\x50\x3b\x74\x0e\x3c\xa2\x49\x95\x01\x4b\xcb\x11\x03\xc4\xca\x32\x14\xd6\x21\x58\xbf\xe3\x6d\x30\x07\xd5\x34\xa0\xbc\x49\x07\xc0\x15\xb5\xce\x24\x86\xb1\xac\x72\x87\xf0\xdb\xed\xed\x0d\x68\xa5\x2b\xeb\x4b\x28\xe8\x9f\x90\x48\x24\x92\x74\x8e\x08\x55\x8c\x0d\xbf\x90\xb2\x24\x12\xa5\x93\xbe\x7a\x57\xbd\x6e\xfa\x76\x6e\x2b\x84\x80\x1c\x81\x0a\x88\x15\x82\x26\x83\x60\x19\x54\x1b\xe9\xb8\x44\x8f\x41\x45\x34\x02\x6e\x1c\x2a\x46\x30\xe4\x87\x11\xda\xc6\xa8\x88\x5f\x5f\xdb\xf5\x14\x50\x47\xb7\xbd\x04\xeb\x39\xa2\x32\x13\xa8\xd5\x1a\x41\x57\xca\x97\xc8\xdf\x4e\x09\xf2\xd6\x3a\x03\x9a\x7c\x61\xcb\x36\xa8\x68\xc9\x27\x4c\x32\x1b\xf0\x38\xb4\xfd\x10\x76\xb2\x26\x90\x46\xe6\x43\x8e\x4e\xd5\xec\x67\xae\x32\x38\x92\x59\x66\xeb\x86\x42\x9c\xeb\x60\x9b\xc8\xa3\xc1\x5e\xc9\x91\x82\x2a\x51\x94\x44\xa5\x43\xd5\x58\x16\x9a\x6a\xb9\xe9\x77\xa6\x8d\x97\x01\x3b\x8f\x2c\xcf\xc5\x99\x78\xf6\x78\xc5\x1b\xf1\x27\x0f\xc6\x97\xdf\xa2\x33\x80\x81\x6c\x02\xa6\xf9\xe3\x71\xad\xbc\x2d\x90\xa3\xc0\xdc\x9c\x9f\xe2\xd9\xe9\xf9\x33\xf5\x1c\x4f\x72\xfd\x5c\xeb\x02\xcf\xb5\xc6\xb3\x8b\x8b\x93\x93\x8b\x8b\x04\xcb\x12\x8d\xd1\x15\x42\x19\xf3\xcb\x03\xfa\x78\x9d\x42\xe0\x31\x8c\x86\x35\x32\xab\x12\x87\x13\x18\x61\xba\x19\xc3\xf4\x47\xf8\x94\x01\xd8\xa2\x3f\x11\x46\x45\x05\x4f\x9e\xc0\xd7\x7f\x22\x6e\x1b\x84\xe9\x74\x0a\xc3\xf9\x9b\xab\x9b\xd5\xe2\xe5\xd5\xed\xd5\xdb\xd7\xc3\x71\x57\x09\xd0\xbd\xc5\x6b\xdb\x2c\x94\x8d\xd6\x97\xa3\xf1\x65\x06\xf0\x25\xfb\x92\x1a\xe9\x8d\x0a\x4d\x01\x85\x76\x16\x7d\xe4\x57\x4e\xd9\x3a\xa9\xb2\x3e\xec\x29\x27\xbd\x70\xbe\x10\x7b\xdb\x2f\xbd\x99\x51\x1b\x71\x34\x86\x1a\x63\x45\x06\xb0\x28\xac\x4e\x08\xb7\xed\x92\x89\xdc\xaf\x94\x1b\xf2\x26\xc5\x20\xd1\x02\xfe\xd5\x22\x47\xee\x42\xfb\x7e\x76\xcd\x29\xf4\x29\x7e\x8f\x63\x3c\xb0\xe9\xf9\x0f\xef\x66\x2a\xef\x36\xdd\x79\x5a\xad\xf6\xad\xfc\xde\x57\xc2\x14\xee\x96\x42\x93\xd7\x2a\x8e\x0e\x69\x3e\x7f\x86\xbb\xe5\xf8\xf2\xd1\x7a\x2f\xb0\xbe\xfc\xaf\xb5\x03\x8c\x09\x7c\xfa\xd7\xf4\x02\xb5\x69\xb2\x62\xff\x41\xbf\x55\x0f\xb6\xec\x62\xbd\xc3\xfc\xcf\x53\x25\xc6\x57\x09\xf9\x06\xb7\xbf\x52\x78\x3f\xbb\x1e\x0d\xa4\xf5\x06\x3f\x8a\x2a\xd6\x6e\x30\x9e\x74\xdb\xcb\x00\x72\xa7\xf4\xda\x59\x8e\x2f\xe0\x4e\x7e\xb8\x97\x2b\x39\x91\xf7\xf2\xee\xc3\xbd\xfc\x69\xf9\xf4\x5e\xa4\x1f\xcb\xa7\xdf\xcb\xe5\xa4\x5b\xe8\xdf\x01\x00\x00\xff\xff\xa9\xe5\xd7\xfc\x9f\x04\x00\x00")
func publicServiceWorkerJsBytes() ([]byte, error) {
return bindataRead(
_publicServiceWorkerJs,
"public/service-worker.js",
)
}
func publicServiceWorkerJs() (*asset, error) {
bytes, err := publicServiceWorkerJsBytes()
if err != nil {
return nil, err
}
info := bindataFileInfo{name: "public/service-worker.js", size: 1183, mode: os.FileMode(0644), modTime: time.Unix(1597685417, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xd2, 0x91, 0xeb, 0x22, 0x4c, 0x14, 0xf7, 0xc6, 0x2e, 0x3b, 0xad, 0x18, 0x2f, 0x63, 0x3d, 0x87, 0x3b, 0x5f, 0x32, 0xde, 0xaa, 0xe8, 0xeb, 0xad, 0x6b, 0x6a, 0x7c, 0x25, 0x91, 0x2c, 0x6b, 0x1a}}
return a, nil
}
var _publicStaticCss2A7e3db88ChunkCss = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xec\xfd\x7d\x8f\xe3\x38\x92\x20\x8c\xff\x7f\x9f\xc2\x5b\x85\x42\x75\x4e\x4b\x2e\x49\xb6\x6c\xa7\x13\xdd\xd8\xd9\xc1\x2c\x6e\x81\xee\xf9\x63\xe7\x0e\xb8\x1f\xfa\xea\x7e\x90\x2d\xda\xd6\x94\xde\x4e\x92\x2b\x95\x63\xe4\x7e\xf6\x07\x7c\x93\xf8\x12\xa4\x28\x67\xd5\x3c\x33\xfb\xec\xf4\xa0\xd2\x22\x83\x11\xc1\x60\x90\xc1\xe0\x4b\xf0\xd3\xef\xfe\xe9\xbf\x2d\x7e\xb7\xf8\x97\xaa\xea\xda\xae\x49\xea\xc5\xd7\xf5\x32\x5e\x46\x8b\x1f\x2e\x5d\x57\xb7\xfb\x4f\x9f\xce\xa8\x3b\xf0\xcc\xe5\xb1\x2a\x3e\x3d\x60\xf8\x3f\x54\xf5\x4b\x93\x9d\x2f\xdd\x22\x0a\xc2\xd0\x8f\x82\x28\x58\xfc\x8f\x0b\x12\xf0\xfc\xfe\xda\x5d\xaa\xa6\x35\x02\x3f\x67\x5d\x87\x1a\x6f\xf1\x6f\xe5\x71\x89\x81\x7e\xc9\x8e\xa8\x6c\x51\xba\xb8\x96\x29\x6a\x16\xbf\xfe\xdb\xff\x10\x78\xc8\xba\xcb\xf5\x40\xa8\x77\xcf\x87\xf6\xd3\xc0\xd0\xa7\x43\x5e\x1d\x3e\x15\x49\x56\x7e\xfa\xe5\xdf\xfe\xf0\xc7\x3f\xfd\xf9\x8f\x98\xbb\x4f\xfb\xa6\xaa\xba\x9b\xef\x1f\xf2\x2b\xda\xbf\x0f\x82\xed\xe1\x74\x7a\xf2\xfd\xac\x4c\xb3\x73\xb5\x7f\xbf\xd9\x84\xc1\x29\x7a\xf2\xfd\xfa\xda\xd4\x39\xda\xbf\xdf\x9c\xd6\xd1\x31\xc4\x09\x59\xf9\x65\xff\x1e\xed\x56\x68\x77\x7c\xf2\xfd\x06\xa5\xfb\xf7\xe9\x71\x15\xaf\xe3\x27\xdf\xaf\x9a\xa4\x3c\xa3\xfd\xfb\x53\xba\x45\xe1\xfa\xc9\xf7\x5f\x50\x9e\x57\xcf\xfb\xf7\xa7\xd3\x31\x0c\xb6\x4f\xbe\x7f\x6e\x10\x2a\xf7\xef\xa3\x5d\xb2\x25\x25\x3a\x94\xe4\xfb\xf7\x51\x70\x7c\x7c\xc4\xd9\xc7\x97\xa4\xdc\xbf\x0f\xb7\x49\x74\xd8\x3d\xf9\xfe\xf3\x25\xeb\x30\x3a\xc2\xdb\xb9\x49\x5e\xf6\xef\x37\xc7\x6d\xbc\x4d\xd9\xa7\x9f\x26\xcd\x97\xfd\xfb\xd5\x7a\x95\xac\x03\xcc\x5c\x93\x15\x49\xf3\x22\x54\xa8\x45\xc7\xaa\x4c\x49\xda\x50\xb2\xbd\x1e\x8f\xa8\x6d\x05\x2e\xb2\xf2\x54\x89\x64\x93\xa6\xcc\xca\xb3\xc0\x76\x8a\xeb\xd5\x08\x35\xcd\x71\x63\xed\xdf\x9f\x76\xa7\xc7\x53\x42\x00\x24\x46\x0e\x0d\x4a\xbe\xd4\x55\x56\x76\x7e\xdf\xee\x95\x94\xb6\xd8\xc7\xdb\x4d\xdd\xcb\xa9\x45\xba\xdf\x6e\x76\x6a\x6a\x7e\xde\x3f\x3e\x46\x6a\x6a\x9f\xef\xc3\x28\x08\x48\xf2\xa9\x2a\x3b\xff\x94\x14\x59\xfe\xe2\xb7\x49\xd9\xfa\x2d\x6a\xb2\xd3\xde\x4f\xea\x3a\x47\x7e\xfb\xd2\x76\xa8\xf0\xfe\x25\xcf\xca\x2f\xbf\x26\xc7\x3f\x93\xcf\x7f\xad\xca\xce\x7b\xf7\x67\x74\xae\xd0\xe2\x7f\xfe\xdb\x3b\xef\xdf\xab\x43\xd5\x55\xde\xbb\xff\x8e\xf2\xaf\xa8\xcb\x8e\xc9\xe2\x4f\xe8\x8a\xde\x79\xbf\x6f\xb2\x24\xf7\xde\xfd\xa9\xea\xaa\xc5\x9f\x93\xb2\x7d\xe7\x8d\x04\xbc\x77\xbf\xc7\x04\x16\x7f\xa8\xf2\xaa\x59\xfc\xb1\xa8\xfe\x92\xbd\x1b\x71\xea\x09\x7f\x7e\x29\x0e\x55\xfe\x8e\x61\x13\x4b\x29\x75\x28\xaa\xb2\x6a\xeb\xe4\x88\xf6\x7f\xfe\xd7\x5f\xab\xb2\xf2\xff\x1d\x9d\xaf\x79\xd2\x78\xbf\xa2\x32\xaf\xbc\x5f\xab\x32\x39\x56\xde\x1f\xaa\xb2\xad\xf2\xa4\xf5\xde\xfd\x92\x1d\x50\x93\x74\x59\x55\x2e\x30\xf8\x3b\xef\xdd\x1f\xaa\x6b\x93\xa1\x66\xf1\x27\xf4\xfc\xce\x1b\xd0\xbd\xfe\xce\xdb\x27\x27\xdc\xa1\xf6\x07\x74\xaa\x1a\x74\x3b\x54\xbd\xdf\x66\x7f\xc5\x2d\x7d\xa8\x9a\x14\x35\xfe\xa1\xea\x5f\x2f\x5d\x91\xdf\x04\x86\xf6\x63\x9d\x9f\xf2\xac\x44\xfe\x05\x91\xb6\x0f\x97\x61\xfc\xe4\x3f\xa3\xc3\x97\xac\xf3\x3b\xd4\x77\x18\x17\xf2\x93\xf4\x2f\xd7\xb6\xdb\x87\x41\xf0\x61\xcc\x4d\x6a\xff\x92\x9d\x2f\x44\x69\xfc\x23\xae\xfb\xbe\x39\x1f\x92\x1f\x02\x8f\xfc\xf7\xf0\x9a\x34\x5d\x76\xcc\x91\x97\xb4\x59\x8a\xbc\x53\x76\x3e\x26\x35\xae\x12\xfe\x79\x6d\x90\x77\xaa\x2a\xcc\xf9\x05\x25\x29\xfe\x73\x6e\xaa\x6b\xed\xe1\x4e\xed\x95\xc9\x57\xaf\x45\x47\x0c\x7c\x4b\xb3\xb6\xce\x93\x97\xfd\x21\xaf\x8e\x5f\x5e\x0f\x55\xfa\x72\x2b\x92\xe6\x9c\x95\xfb\xe0\x49\xac\xd1\x3f\x90\x6e\x10\xb6\xb1\x60\xf7\x61\x83\x0a\xfa\xf9\x4c\x1b\x60\x1d\x04\x4a\x83\xc4\x4f\x54\xb6\xef\xa3\x30\x8a\xa3\xc7\x27\xd2\x2a\x49\x9e\x9d\xcb\x7d\x8e\x4e\xdd\xd3\x21\x39\x7e\xc1\xa2\x2b\x53\xd6\x08\x78\x64\x79\xfd\xad\x4b\x0e\x59\x99\xa2\xfe\xa7\x77\x7e\xf8\xee\xf3\xfe\x54\x1d\xaf\xed\xbe\xac\xba\x1f\xe8\x4f\xff\x6b\xd6\x66\x87\x1c\x3d\xdc\xaa\x6b\x87\x09\xee\x83\x7f\xca\x8a\xba\x6a\xba\xa4\xec\x5e\x2f\x8d\xa8\x47\xc7\xaa\xec\x50\xd9\x61\x45\x7a\x62\x6c\x05\x4f\xd5\x57\xd4\x9c\xf0\x30\xc8\x10\xbd\x5e\x42\xef\x12\x79\x97\x95\x77\x59\x7b\x97\xd8\xbb\x6c\x58\x33\xf9\x5d\x55\xef\x83\x27\xf6\x71\xa8\xba\xae\x2a\xf6\xcb\xb8\x41\xc5\x6b\x6d\x03\xc1\xa2\x79\x4d\x0e\x87\xe6\xb7\x34\xe9\x12\xbf\x6a\xb2\x73\x56\x26\xb9\xdf\x65\x5d\x8e\x3e\x7b\x24\x87\xfe\xbe\x11\x91\xa4\xe8\x58\xd1\x2e\xb3\x27\xa6\x04\x57\x4a\x56\x65\x08\x62\x91\x56\x5d\x87\xd2\xa7\x49\x80\xe3\xb5\x69\xab\x66\x7f\x41\x79\xfd\x34\x74\x2c\xc2\x68\x60\xa2\xe2\xb7\x5f\xb2\xda\xc7\xa6\xa5\xac\x4a\xa4\x92\x90\x73\x5f\x93\x34\x6d\x50\xdb\xd2\x4e\xda\x76\x2f\x39\xda\x97\x55\x53\x24\xb9\xa4\x0e\x59\x79\x41\x4d\xd6\x71\x68\x2f\xcd\xbd\x2a\xf7\xae\xf9\x0d\x90\x9d\x9a\x47\x84\xfc\x5a\xe5\x8b\x0a\x67\x2c\xae\x38\x6f\x41\x20\x16\x1a\x82\xe0\x35\xed\x6e\xa2\x5e\x6e\x83\xe0\x35\x4d\x6f\x40\x2b\xf2\x66\xc3\xca\xb8\x0f\x5e\x49\x37\xfd\xbf\xd7\xaa\x43\x43\x37\x5d\x04\x0b\xc2\xd0\xc1\x6b\xbb\xa6\x2a\xcf\x12\xe2\x43\x95\xa7\xa8\x79\x6d\x8b\x24\x67\x23\x14\xe9\x18\xbb\xe0\xc3\x6b\x7b\x3d\x78\xed\xb5\xbe\xd5\x55\x9b\x91\x46\x69\x50\x9e\x74\xd9\x57\x24\x74\xa0\x6d\xfc\x4Line truncated
func publicStaticCss2A7e3db88ChunkCssBytes() ([]byte, error) {
return bindataRead(
_publicStaticCss2A7e3db88ChunkCss,
"public/static/css/2.a7e3db88.chunk.css",
)
}
func publicStaticCss2A7e3db88ChunkCss() (*asset, error) {
bytes, err := publicStaticCss2A7e3db88ChunkCssBytes()
if err != nil {
return nil, err
}
info := bindataFileInfo{name: "public/static/css/2.a7e3db88.chunk.css", size: 146040, mode: os.FileMode(0644), modTime: time.Unix(1597685417, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x98, 0xc7, 0x18, 0x9a, 0xb2, 0x31, 0xcf, 0x18, 0x18, 0x9e, 0xf6, 0x6a, 0x7c, 0xee, 0xd9, 0xdb, 0x5, 0x94, 0xc7, 0x66, 0x41, 0xae, 0xb2, 0xa4, 0x2e, 0x73, 0x2b, 0xc, 0xb4, 0xcc, 0xbf, 0x47}}
return a, nil
}
var _publicStaticCss2A7e3db88ChunkCssMap = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xdc\xfd\x5b\x77\xe2\xbe\xf2\x3f\x08\xbf\x97\x7d\x8b\xbe\x3f\x8c\xb1\x8d\xfd\x7b\xae\x5c\xb2\x21\x40\xc8\xa1\xd3\x49\x3a\xfd\xac\xff\xda\x8b\x24\xc4\x67\x0c\x3e\x02\xf3\xe6\x67\x55\x49\x06\x3b\x81\x74\xef\x3d\x37\xb3\xa6\x6f\x3a\xfe\x54\xa9\x54\x55\x52\x95\x0e\x96\xc5\xff\xf5\xaf\x6a\x95\xe5\x41\xba\xfe\xd7\xff\x0e\xd9\xbf\xf2\xb4\xcc\xde\x56\xf9\xbf\xfe\xf7\xff\xff\xaf\xff\xf9\x9f\xfe\xff\xfc\x4f\x3f\x7f\xcb\xf3\xfe\x6b\x9a\x16\x79\x91\x2d\x37\xff\x83\x8f\xff\x62\xff\x3a\x01\xe2\xb9\xc5\xfb\xef\x2c\x4d\x8b\x86\xaf\x83\xaf\x5e\x2f\x50\xaa\x65\x16\x2c\x5f\xe3\x55\x7e\x86\x58\xad\xd6\xef\x69\xd6\xff\x77\xf6\x71\x8e\x9a\x04\xbb\x60\x9d\xf7\xff\xed\xa7\xd5\x2a\x3b\x27\xba\xd8\x6f\x56\xdf\x94\x8b\x83\xbc\x38\x27\xf7\xdf\x41\xb2\xf4\xce\xea\xd3\x94\x24\x86\x6f\xe8\xaf\x69\xf6\xbe\xca\xfe\xc9\x96\xef\x41\x79\xb6\x86\xb7\xf4\xfd\x5c\xf9\x7f\x7b\x59\xf0\xfe\x8d\xdc\x3f\x90\x5f\xb3\xd5\x32\xda\xa4\xc1\xfa\xac\x59\x6d\x21\xff\x7c\x64\xcb\x64\x55\xa7\x59\x74\xd6\x6f\x97\xda\xa3\x11\x41\x0c\xff\x64\x69\x7d\xae\xf4\x47\x9a\x25\x67\x8d\xfe\x28\xd7\x6f\x45\x90\xae\xbf\x95\x9c\x2d\xd7\x79\x80\x5c\xdf\x30\x5d\xaa\xe1\x64\xe1\xf2\x3d\x58\x9d\xf7\xc2\xbf\x5f\xcb\xa2\xf8\x5e\x87\xcb\x1c\x2d\xf5\xce\x92\xdf\xb3\x74\xf3\x9e\xd6\xdf\xe9\xfe\xb6\xcc\x56\xe7\xe2\xa0\xa1\xaf\x97\xd5\x3f\xef\x41\x15\xbc\x9f\xef\xd2\x42\xb7\x7f\xbc\x2c\x2d\x37\x67\xbb\xee\x7a\x53\x16\x97\xc9\x6f\x65\x5e\xa4\xc9\x3f\x17\x9b\x68\xbd\xac\x2e\xc0\xaf\xcb\xb3\xfa\xbc\x2d\xb3\x73\x3d\x92\xba\xe2\xfb\x5b\x56\x26\xaf\xe7\xa8\x9b\xa5\x17\xac\x97\x7f\x68\xe5\x6f\x99\xfe\xfd\xba\x7c\xff\x3e\x04\x2f\xd0\xff\x1d\x96\xc9\x6b\x5a\x64\xe7\xa5\x2e\xe3\x55\xf6\x5d\xeb\x5c\xa2\xff\x7b\x93\xa5\x5e\xb6\xca\xcf\x3a\x35\x59\xbd\x07\xcb\x73\x04\x4c\x40\x17\xdb\xaa\x9d\xa5\xbe\x69\xd0\x38\xcd\xcf\x9a\x59\xa4\xcb\x0b\xd9\x2d\x49\xdf\x97\xf1\xf9\x22\x69\x5c\x04\xdf\xe9\x92\xad\xf2\x55\xf1\x4f\xb1\xda\x9d\xf7\x41\xba\xb9\x94\x89\xdf\x96\x59\x5a\xe6\xab\x73\xd5\x1e\x03\x23\x5e\x2d\xb3\x8f\x60\x77\xae\x78\xbe\x09\xd6\xeb\x55\x76\xce\x9c\xb2\x08\xe2\xa0\x08\x56\xd4\x38\x81\xf7\x5d\x87\x7a\x5d\xbe\x45\xe8\xc8\xf5\xfb\x3f\x34\xe8\xac\xcf\x59\xd1\x92\x77\xe2\xff\x03\x1f\x65\xfb\x3f\x28\xf7\x1e\xe4\x9b\x78\xb9\xff\x9e\x69\x95\xbc\xae\xfe\x50\xd9\x47\xbc\x3a\xe7\xa2\x0e\x47\xba\xfc\x83\x65\xc1\xba\x58\x65\xcb\x8b\xc9\xb8\xc5\x89\x0d\xfa\x11\x9f\x4d\xf4\x2d\xae\x4d\x7a\x31\x67\xb7\xb8\xf2\xb7\x6c\xb5\x5a\x63\x62\x38\xef\xad\xa6\x9d\x04\xdf\x3f\x82\xf1\x0f\x22\xfd\xe5\x7b\x5a\xff\xc1\x86\x3c\x38\x04\x6b\xef\x0f\x3c\x9b\xe5\xdb\x9f\x99\x8a\x6c\x55\xbc\xf9\xab\xf7\x7f\xe2\x60\x7d\x6e\xe4\x6c\xf1\x5e\x08\x92\xe3\x38\xb7\xda\x15\xff\x14\x59\xb9\x7e\x5b\x16\xdf\xa5\x31\xe2\x5b\x25\x1b\x7f\x99\x07\xdf\x8e\x9b\xc8\xe7\x07\x67\x67\x15\x2d\xad\xaa\x20\x0f\x5e\xf1\xe9\x5c\x47\xfc\xf7\x26\x0b\x4e\x31\xe1\x05\x85\x5f\xbe\xd2\x14\xef\xff\xb0\x7f\xad\x97\x09\x4d\x0c\xff\x0f\xfb\x57\xb2\xdc\x6c\x82\xb5\x97\xff\xeb\x7f\xff\x65\xdb\xb6\xfd\xff\xc3\x7f\x2e\x9f\xbb\x8c\xf3\xd9\x98\x2d\xec\xc9\x94\xbd\xd9\xf6\x1b\xe3\xb6\xfd\xce\x3c\x38\xf7\xe7\x89\xbe\xfc\x03\xe7\xea\x4c\x99\xd3\x5f\x2f\x67\xb0\x44\x16\x9e\xbe\xb3\x00\xbe\xa0\x76\x07\x7d\x3b\x07\x7e\x57\xbb\x14\x1a\x70\x44\x43\xce\xb6\x7f\xf7\x90\x37\x0f\xf3\x35\x67\xc9\xc2\xb6\xf7\xc0\xb8\xcd\x0f\xc0\xf2\x89\x13\xc0\x98\x71\x37\x04\x1b\x45\x4f\x5c\xb6\x85\x71\x7a\x84\xe6\x36\x77\xa9\x78\x49\x25\x2a\x20\xf5\x02\x7a\x08\x81\x19\x60\xdb\x26\x3d\x58\xc0\xf6\x5c\x16\x7c\xb7\x59\xee\x62\xc1\xe5\x58\x08\xbf\x93\x82\xee\x6d\xfb\x01\x99\x7f\xb2\xfc\x9a\x6f\x6f\x83\x1b\xc6\x79\x36\x1b\x2d\xd8\x9b\x5d\xf0\x17\xc6\xc7\x3b\xee\x03\x5b\x71\xf3\xb6\x07\x8c\x3b\xa3\xdb\x3e\x3e\x45\x77\xf4\x14\xde\xf5\x81\x2d\xf9\x9a\x7b\xf8\x94\x12\xa7\x6d\x7b\x54\xbb\x0f\xa8\xf6\xe3\x98\x71\xdb\xb5\x99\xc2\x5d\xee\xb2\x04\xc6\x1c\x2b\xbf\xb7\xd9\xe4\x8b\x15\x27\x4d\x3c\x18\x5f\x23\x5b\x04\x36\x8b\x00\x19\x5f\x6c\x7b\x89\xb4\x57\x14\xf1\x81\xb4\x1c\x6c\xe6\x76\x49\x11\x8c\xd7\x64\x9b\x09\x36\xcb\xb9\xed\xba\x6c\x0f\xb6\xad\x50\x05\x03\x60\x35\x6f\xf9\xdf\x6b\x1e\x78\xc8\xd9\xb3\x6d\xbf\xe0\x9f\xbf\xbb\xea\x73\xe9\x49\xdb\x42\xb7\x8e\x87\x47\xe1\xf7\x28\x1b\x5b\x3d\x22\xde\x18\x50\xad\x13\x39\x00\xfb\xda\x45\x75\x62\x82\x4a\xb0\xd9\x03\x36\xe3\xcb\x78\x70\xe4\xa9\xc1\x9e\xba\x6c\xd5\x2a\x45\x1e\xf9\x02\x60\x2f\x4d\xa9\x96\x0d\xb0\x65\x8b\xfa\xfc\x99\xfd\x01\x95\x8a\xda\x7a\x2c\xdc\xdd\x78\xca\x96\x33\xd3\x99\x31\xee\x26\xfc\x93\xe2\xee\x7a\xe2\x03\x86\xdb\x33\xe3\xe3\xed\xe4\xb5\x89\x3c\xfe\xce\x4a\x18\xfb\xd4\x52\x58\x68\x6a\xdb\x0b\xb6\x1c\xf7\xe1\x86\x71\xd7\x6b\x80\x87\xb1\x4e\x00\x72\x88\x9e\xc5\xab\xd9\x8a\x71\xa7\x9e\x7d\xb0\x14\xf8\x2f\x8d\x33\xee\xbc\xe8\x9c\x69\x52\xd8\xdc\x9f\xb9\xec\xfe\x2a\xb9\x46\xde\x77\xd3\x61\xdc\x59\x59\x0e\xdb\xc3\xb8\x0f\x33\xc6\xe7\xd9\xcc\x65\x9a\x73\x15\x2d\xdc\x96\x26\x29\x8c\x37\x1c\xd5\x37\x38\x75\x86\xa9\xcb\x94\x31\xdf\x3b\xde\x15\xe3\x7c\xb4\xb0\x26\x6c\x39\x53\x27\x0d\xc3\x14\xed\x93\x3d\xc2\xc5\x1e\x61\xdb\x09\x3a\xcf\x5d\x43\x23\x73\xf2\x8e\x0a\xf5\xc9Line truncated
func publicStaticCss2A7e3db88ChunkCssMapBytes() ([]byte, error) {
return bindataRead(
_publicStaticCss2A7e3db88ChunkCssMap,
"public/static/css/2.a7e3db88.chunk.css.map",
)
}
func publicStaticCss2A7e3db88ChunkCssMap() (*asset, error) {
bytes, err := publicStaticCss2A7e3db88ChunkCssMapBytes()
if err != nil {
return nil, err
}
info := bindataFileInfo{name: "public/static/css/2.a7e3db88.chunk.css.map", size: 486994, mode: os.FileMode(0644), modTime: time.Unix(1597685417, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x0, 0x93, 0x60, 0x62, 0x2d, 0xef, 0x94, 0xef, 0x96, 0x8c, 0xdc, 0xf9, 0xb1, 0x62, 0x8c, 0x2c, 0x5, 0x57, 0x61, 0xe, 0x72, 0xc8, 0x2f, 0xee, 0x13, 0xee, 0xe4, 0xbf, 0xa7, 0x42, 0xe2, 0xc2}}
return a, nil
}
var _publicStaticCssMainAc206b6aChunkCss = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xc4\x55\xdb\x6e\xe3\x36\x10\x7d\xef\x57\xa8\x31\x16\xd8\x6c\x25\x2d\xad\xd8\x4e\x42\xa1\x40\x17\x05\x8a\x7d\x68\x81\xa2\x40\x3f\x60\x44\x8e\x2c\x22\x12\x49\x90\xf4\x25\x2b\xe8\xdf\x0b\x4a\x94\x2c\x3b\xf6\x36\x7d\x2a\x06\x09\x24\x71\xe6\xcc\xe5\x1c\x8e\x0b\xc5\x5f\xdb\x06\xcc\x56\x48\x4a\x72\x0d\x9c\x0b\xb9\xa5\x24\x2f\x95\x74\x49\x09\x8d\xa8\x5f\xa9\x05\x69\x13\x8b\x46\x94\x9d\x77\x8f\x2b\xd7\xd4\x2d\x53\xb5\x32\x74\xc1\x9e\xbc\xe5\x05\xb0\x97\xad\x51\x3b\xc9\x93\x70\x90\x3d\x66\xc5\x03\xe9\x2a\x04\x8e\xe6\x27\x8b\xcc\x09\x25\xdb\x90\x20\x71\x4a\xd3\x75\xa6\x8f\x63\xc6\xa4\x50\xce\xa9\x86\x66\xe9\x12\x9b\xae\x54\xca\xa1\x69\xdf\x82\x3e\xe0\x6a\xb5\x62\xb9\x56\x56\x78\x38\x5a\x8a\x23\xf2\x3c\xc4\x92\xfc\x20\xb8\xab\xe8\x92\x90\x0f\x79\x85\x62\x5b\x39\x9a\x61\x93\x17\xca\x70\x34\x7d\xca\xa5\x3e\x46\x56\xd5\x82\x47\x8b\xa2\x28\xa6\x76\x57\xfa\x18\x72\x46\x56\x83\x4c\x6b\x2c\x5d\x5b\xd6\x0a\x1c\xf5\x8f\x67\x67\xc6\xe3\x86\xc3\xfe\xb9\x4b\x0b\x83\xc0\x99\xd9\x35\x45\x54\x43\x81\xd3\x6c\x08\x21\x5d\x6a\x05\xc7\x02\x4c\x94\xd6\xc2\xba\xc4\xb7\xa3\xdb\x7e\xb8\x56\x7c\x43\xfa\xb8\xfe\x70\xd5\x25\x11\x0e\x9b\x71\x5a\xd4\x0f\xea\x34\x0c\xba\x58\x2e\x97\x79\xc8\xb1\xc9\xd8\x6a\x93\x85\x1e\x29\xe9\xd2\x06\x84\x8c\x6f\x43\xce\x79\xfd\x0a\xec\x25\x6e\x94\x54\x56\x03\xc3\x53\x1d\x70\x19\x95\x02\x73\x62\x8f\x27\xd8\x5a\xdc\x70\x19\x5b\xf7\x15\xbe\xa5\x6f\x28\xb6\xfb\xa5\x41\x2e\x20\xfa\xd8\x08\x99\x0c\x94\x3d\x6e\x9e\xf4\xf1\xbe\x4d\x2b\xc1\x31\xb1\x4d\xcb\x85\xd5\x35\xbc\x52\xa9\x24\xfe\x28\x1a\xad\x8c\x03\xe9\xba\xef\x44\x86\xca\x5a\xcf\xd7\xa4\x84\x6c\xb5\x3f\x5c\x4c\xa4\xbd\xd0\xce\x24\xc4\x20\xa2\x07\xa2\x8f\xb9\xda\xa3\x29\x6b\x75\xa0\xb0\x73\x6a\x00\x18\x80\xb3\xf5\xfe\x90\xf7\xac\x53\x72\xad\x9a\xe7\xe7\xec\x7f\xab\x26\x5c\xb1\x94\x29\xe9\x40\x48\x34\xe1\x5a\x4f\x57\x0b\x9b\x8e\x29\x8e\xb1\x36\x18\x3b\x3c\x3a\x30\x08\x67\x7a\xb8\xfb\x4d\x18\x88\x7e\x55\x1c\xef\xe2\xca\x6b\xe3\xee\x8b\x54\xf2\xb5\x51\x3b\x1b\xfd\x69\xd4\xdd\x4c\x2b\x0e\x8a\x1a\x23\xa0\xb5\x90\x2f\x23\xe7\x9b\xcd\xe6\xec\x7b\x3c\xbe\xec\x85\x15\x0e\xf9\x90\xeb\x30\x5c\xcc\x47\x42\x72\x5f\x44\xc2\x91\x29\x03\xfd\x0c\x3c\xdb\xdd\x65\x50\x00\x7f\x7e\x7e\x9e\x8e\x82\x1a\xc7\xd7\xca\x0f\x68\xf4\x2b\xf8\x1a\x1e\xd6\x6f\xa0\x77\x92\xa3\xa9\xc5\x88\x7f\xd6\xf6\x17\x23\xa0\x8e\xbf\x62\xbd\x47\x27\x18\xc4\xa7\x75\x97\x9f\x3a\xcb\x4f\x77\x76\xe9\x09\xea\x13\xd8\x0a\xb8\x3a\xf4\x5b\xc5\xff\x91\x68\x51\x96\xe5\xd9\x4d\x45\xc0\x02\x59\x1e\x16\x6c\x46\x7a\x6a\xfb\xab\x3a\x5b\x45\x8c\xb1\x71\x49\x19\xe0\x62\x67\xe9\x43\xef\x77\x1c\x13\x90\x1e\x3e\xd3\xc7\x68\xc1\x97\xde\xc2\x28\x5c\x75\x5a\x11\xbd\xc7\xda\xff\xcb\xa6\x24\x97\x3b\xaf\x04\x6f\xe3\x61\xd0\xc5\xec\x1c\x89\xb7\xf3\x06\xb8\xb7\xf9\xa7\xa4\x51\xdf\x12\x3f\x4a\x30\xc9\xd6\xd7\x8b\xd2\x7d\x74\x4a\xc7\xc1\x37\x5e\x60\xe1\xed\x7e\x2a\x92\x96\xc2\x58\x97\xb0\x4a\xd4\xbc\xed\x07\x07\xb5\xd8\xca\x7e\xb7\x4e\x3f\x00\x83\xa2\x89\x3e\x8e\x61\x66\x1e\x76\x89\x72\xea\xaf\x0f\x9c\xcd\xed\x66\x78\x0d\xd7\xa2\xfb\xeb\x73\x2d\x7c\x5e\x28\x43\xe9\xd0\xdc\x2e\x95\xff\xb7\x0e\x47\x02\x86\xed\x30\x81\x4c\x5c\x2e\x9f\x6e\x33\xe8\xf5\xf5\x6f\xf4\xcd\xd0\xbf\x4f\xee\xa8\x87\xf7\x90\x5b\x16\xde\xe2\x10\x33\x91\x6b\x52\xdc\xa3\xf4\xd5\x9f\x01\x6f\xbc\xbd\x13\xf8\xc9\x5b\x1c\x62\x4e\xc0\x33\xc2\x7a\xf8\xb3\xae\xc9\x0d\xb7\x6b\x22\x19\x42\x6e\xeb\xe4\x1c\xe0\xad\x4c\x42\xfc\x4d\xa5\x0c\x0b\xe8\xcd\x08\x32\x6f\xef\x1c\x41\xef\x1b\x2f\x4a\xe2\xed\xbe\xfb\xe1\xf3\xa7\x45\x64\xd5\xce\x30\xfc\x03\xb4\x16\x72\xfb\xf7\x5f\xbf\xff\xec\x17\x7f\x0a\x2c\x23\x9b\x62\x03\x29\xab\x76\xf2\x25\x65\xd6\xa6\x0d\xe8\xe8\xd3\xe7\x7f\x02\x00\x00\xff\xff\xb1\x1a\xf7\x9f\xc9\x09\x00\x00")
func publicStaticCssMainAc206b6aChunkCssBytes() ([]byte, error) {
return bindataRead(
_publicStaticCssMainAc206b6aChunkCss,
"public/static/css/main.ac206b6a.chunk.css",
)
}
func publicStaticCssMainAc206b6aChunkCss() (*asset, error) {
bytes, err := publicStaticCssMainAc206b6aChunkCssBytes()
if err != nil {
return nil, err
}
info := bindataFileInfo{name: "public/static/css/main.ac206b6a.chunk.css", size: 2505, mode: os.FileMode(0644), modTime: time.Unix(1597685417, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x10, 0x83, 0x52, 0x37, 0xfa, 0x4d, 0x3d, 0x97, 0x59, 0x0, 0x81, 0x96, 0x49, 0xcd, 0x2e, 0x50, 0x8, 0x2f, 0x5d, 0xdb, 0x65, 0x26, 0x8c, 0xeb, 0xe9, 0xde, 0xd7, 0xb4, 0x5d, 0xe6, 0x7d, 0xa8}}
return a, nil
}
var _publicStaticCssMainAc206b6aChunkCssMap = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xec\x56\x5f\x6f\xdb\x38\x12\xff\x2a\x3c\x05\x0b\xb4\x28\xed\x55\x94\xc4\x4d\xe5\x97\x1b\x29\x69\x9b\x2e\x8a\xb6\xc8\xe5\x7a\xbb\xe7\x3e\x50\x12\x6d\xb3\x96\x48\x45\xa2\x13\xbb\x46\xbe\xfb\x61\x48\xca\x92\x12\x3b\x4d\xd1\xe2\x9e\xd6\x44\x1b\x72\x66\xf8\x9b\xff\x43\x6d\xbc\x1b\x5e\xd5\x42\x49\x2f\x3c\xa2\x5e\xad\x96\x55\xca\x6b\x2f\xfc\xaf\x27\x64\xc6\x57\xc3\xb4\xae\x3d\xea\xbd\xae\x58\xc1\x6f\x55\xb5\x70\xe7\x92\xd5\x9a\x9b\xfd\x17\xea\x49\x56\x98\x1b\x5f\xa8\x57\xb0\xb2\x14\x72\x56\x7b\xa1\x07\x00\x40\xff\x80\xf8\x9c\x7e\x02\xb8\xa4\x31\xc4\xff\xa2\x97\x00\x57\xb8\xfb\x37\xad\x23\x88\x5f\xd3\x38\x7e\x07\xf4\x0a\xe0\x33\x65\x00\x29\x8d\x01\xce\xe9\x6d\x04\x10\x44\x28\xa5\xcf\x28\x07\x50\x11\x9d\x45\x00\x22\xb2\x6c\x15\x01\xd4\x86\xfd\xf2\x8c\x7e\x40\x64\xbc\xb0\x76\xdc\x74\x0b\xf3\x09\xe0\x93\xdd\x19\xfc\x7b\xbb\x75\x04\xe0\xbb\x3b\x9f\x01\x18\xe2\x7d\xbd\xa0\x22\x02\x28\x22\x94\x33\x94\x79\x4c\x17\x91\xb1\xe0\xb3\xc5\x3d\xcf\xb7\x94\xab\x96\x72\x1d\x41\x7c\x41\x19\xc4\xef\x90\x00\xd4\x37\xe7\xcf\x00\x7f\x22\xc8\x5f\xe8\x04\xc7\xdd\xb4\xf1\x32\xce\xe8\x27\x38\x77\xd2\xb3\x18\xde\x5e\xe0\x9d\x3f\x1c\xe1\xfa\x1c\xaf\x3b\x5b\xe3\xff\xa0\x7f\x0d\xf2\xda\x20\x5f\x22\xab\x6e\x3c\x88\xbf\xc5\x7d\xe6\xc5\x05\x7d\x0f\xf0\x01\x59\x1f\xe9\x95\xd5\x13\x03\xe5\xf0\xf1\xa2\x89\x8f\x31\xa0\x49\x8a\x33\xf4\xcd\x5f\x94\xc1\x25\x0a\x7f\x04\xfa\x1e\x51\xda\x6c\x7d\x70\x28\xef\xfe\x9f\x9a\xe2\xea\x1c\x9a\x68\x0b\xfb\x27\x86\x37\x2b\x9b\x81\x0f\xb4\x3e\x03\x58\x9f\xa1\x41\xf3\x73\x0c\x7e\x4c\xaf\xe0\xcd\x99\xb5\x60\x14\xc1\xdb\x18\xe3\x6e\xaa\x26\xfe\x1a\x61\xd9\xbc\x47\xe6\x3b\xc0\x6a\xba\x2f\x7c\x1e\x77\x52\x83\xde\x39\xd6\x7b\x94\xac\x63\x80\x5b\x8c\x71\xbc\xc2\x6b\x8d\xa5\xad\x83\x7e\x04\x30\xb2\x25\x19\x19\xe3\x16\xe6\x90\x9b\xb2\x71\x49\xbc\x8e\x00\xae\x91\x7c\x51\x59\x6f\x8c\x65\x17\x5f\x23\x7a\xdc\xaa\xbb\x34\xea\xb6\xf5\x7f\x64\x98\x70\x6c\x0e\x27\x11\x7d\x11\x01\xbc\xc0\xc3\xf9\xef\x56\x4f\x61\x0e\x32\xa2\xea\x6c\x8b\x71\x6d\xbc\xe3\x00\x33\x73\x6d\x6e\xb4\x35\x4c\x15\xc3\x9b\xd8\xd4\xa7\x23\x14\x86\x10\xdc\x33\x41\x74\x7d\xe8\x5c\xdf\x89\xdd\xc6\x98\xf5\x51\xfe\xdc\x36\xc0\xba\x1b\xa0\xad\x17\xf1\xef\x11\xc6\x1e\x4e\x8d\x17\xaf\xf6\xbb\x24\x8c\xda\x7d\xdc\xa5\x33\xaa\xef\xd2\xa8\xb5\x7a\x61\x08\xa7\x1d\xc2\x1e\x3c\x8f\x7a\x53\x91\x73\x2f\xf4\x0a\x26\xe4\x90\xa5\x81\x3f\x4a\x46\x6c\x98\xce\x97\xb2\x19\x7c\x6e\x3e\xc6\x4a\x6a\x2e\x35\x8e\xc9\x44\x65\x6b\xb2\x99\x48\x42\x0a\x56\xcd\x84\x0c\x89\x3f\xc6\x53\xc9\xb2\x4c\xc8\x59\x73\x9c\x2a\xa9\x07\x53\x56\x88\x7c\x1d\x92\x9a\xc9\x7a\x50\xf3\x4a\x4c\xc7\x13\x79\x37\x91\x1e\x35\x30\x74\xae\x8b\x9c\x6c\x52\x95\xab\x2a\x24\x07\xe9\x29\xae\x31\x49\x58\xba\x98\x55\x6a\x29\xb3\x41\xc3\x0a\x5e\x06\xc9\x91\x3f\x26\x77\x13\x39\xe7\x2c\xe3\x15\x79\x41\x6a\x9e\x6a\xa1\x24\x21\x9b\x46\xf7\x40\xab\x32\x24\x27\x41\xb9\x1a\x6f\x49\x89\xd2\x5a\x15\x21\x09\x86\x87\xbc\xc0\xfb\x53\xa5\x34\xaf\xc8\x66\x97\x9a\x23\x7e\x7c\x7c\x9c\x8e\x49\xa9\x6a\x81\xd8\xe1\x54\xac\x78\x36\x26\x0e\xc4\x1f\x93\x5b\x91\xe9\x79\x48\x0e\x7d\xff\xb7\x31\x99\x73\x31\x9b\xeb\x90\x04\xbc\x40\x99\x2a\xe3\x95\x35\xe1\xb0\x5c\x91\x5a\xe5\x22\x23\x07\x49\x92\x8c\xdb\xd8\x1c\x97\xab\x8e\x0d\x75\xc9\xe4\x30\xe7\x53\x4d\x36\x64\x9a\x2b\xa6\x43\x82\xa7\xf1\x7d\x91\x0a\xd5\xb4\x32\xe6\x68\x84\x26\x72\x98\x54\x9c\x65\x69\xb5\x2c\x12\x92\xb3\x84\xe7\x64\x43\x9c\x37\x49\xce\xd2\x45\x23\x56\x8b\x8c\x27\xac\x22\xc3\x5c\xd4\x7a\x80\x6e\x97\x36\x89\x2e\x53\xb5\xf8\xc6\x43\xf2\xf2\xe4\x37\x9b\xa0\xdd\x37\x06\x42\xf3\xa2\xb9\xb6\xf5\x09\xc3\x6d\x49\x6d\x44\xc3\x83\xc3\xc3\x43\x47\x6d\x82\x3b\x0a\xd2\xe3\x51\xd0\x88\x9a\x68\x85\xfe\xb8\x63\x43\x53\x2d\x6f\x59\xba\xa0\xa4\x50\x52\xd5\x25\x4b\x79\x63\x10\x16\x69\xcf\xe6\x3d\xf2\x0f\x3c\xc8\xc5\x7d\x1f\x86\x2c\xd5\xe2\x86\xd3\xad\x08\xdb\x23\xd1\xe8\x6b\x7c\x68\xbd\xda\x51\x3d\x5b\x07\x8d\xfa\x7f\x16\x3c\x13\x8c\x3c\x2b\x84\x1c\xb8\xaa\x79\x39\x3a\x2d\x57\xcf\x1b\xcc\xe1\x5c\x64\x7c\x50\x17\x64\x43\x32\x51\x97\x39\x5b\x87\x44\x2a\xc9\xc9\x3f\x44\x51\xaa\x4a\x33\x69\x93\xfc\x44\xb4\xc6\x15\x77\x36\x29\xea\x97\x71\xcb\x68\xfb\xa4\xa5\x35\x8d\x72\xe4\xf7\xc8\x58\x90\x4d\x4f\xdb\x9f\x53\x1f\x1c\xdf\xdc\x76\xa8\xea\x86\x57\xd3\x5c\xdd\x86\x84\x2d\xb5\x72\x8c\x3b\x67\x5b\x37\x75\x3d\xc3\xc8\x4f\x5b\x16\x9c\xf4\xcc\xa8\x6c\x47\xfa\x4f\xb0\x6c\x5f\x5c\x5f\xbd\x0a\xfe\x8e\xeb\xcf\xc5\x15\x1f\x0e\x3b\x9d\x87\xa9\x92\x9a\x09\x69\x26\xae\x7d\x30\xda\x91\x8c\x63\xf3\x6e\x22\x35\x5f\x69\x56\x71\x86\x13\xae\xdb\xd7\x13\xef\xb5\xa8\x18\x89\x55\xc6\x27\x1e\x9d\x63\x97\x4f\x3c\x90\x4a\xae\x0b\xb5\xac\xc9\xc7\x4a\x4d\x3c\xda\xb6\x3d\x42\x95\x15\xff\x05\x28\xa9\xca\x7e\x05\xcc\x44\x6a\x96\xe4\x9c\xb0\x30\x17\x72\x81\x79\x9a\xe8\xed\xac\x18\x8d\xc6\x78\x36\x3a\x6e\xdd\x3b\x92\xa8\x3c\x33\x54\x8c\xc8\x20\xe3\xa9\xaa\x98\x49\x27\x8e\x05\x3b\x57\x1a\xc4\x1b\x51\x0b\xcd\xb3\x3e\xe8\x2b\xf3\x7b\x80\xfb\x03\xb0\x6e\x2e\xb6\x84\x39\x66\xb9\xaf\x25\xc9\x4e\xd8\xd1\xc9\x4e\xc0\xa5\xcc\x78\x95\x8b\x3e\xea\x66\x6b\x8f\x8b\x25\Line truncated
func publicStaticCssMainAc206b6aChunkCssMapBytes() ([]byte, error) {
return bindataRead(
_publicStaticCssMainAc206b6aChunkCssMap,
"public/static/css/main.ac206b6a.chunk.css.map",
)
}
func publicStaticCssMainAc206b6aChunkCssMap() (*asset, error) {
bytes, err := publicStaticCssMainAc206b6aChunkCssMapBytes()
if err != nil {
return nil, err
}
info := bindataFileInfo{name: "public/static/css/main.ac206b6a.chunk.css.map", size: 5718, mode: os.FileMode(0644), modTime: time.Unix(1597685417, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xed, 0xff, 0x72, 0x1d, 0xa3, 0x63, 0x79, 0x4e, 0x49, 0x30, 0x78, 0xd4, 0x6c, 0x77, 0xad, 0xfc, 0x54, 0xe4, 0xa3, 0xfb, 0x14, 0x54, 0xd1, 0x15, 0x6b, 0xa2, 0xec, 0x81, 0x79, 0x60, 0x6c, 0x82}}
return a, nil
}
var _publicStaticJs2Bcd00145ChunkJs = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xdc\xbd\x7b\x77\xdb\xb8\xb5\x38\xfa\xff\xfd\x14\xb2\x4e\x47\x03\x84\x90\x42\x4a\xb2\x6c\x4b\x82\xb4\x1c\x27\xe9\xa4\x4d\x1c\xff\x6c\xa7\x3d\xad\x8e\xea\x45\x53\x90\xcd\x86\x02\x55\x12\xf2\x63\x2c\xf5\xb3\xdf\x85\x17\x09\x92\xa0\xed\xcc\xf4\xdc\xdf\x5a\x77\xcd\x9a\x58\xc4\x73\x03\xfb\x81\x8d\x0d\xec\x8d\xb7\x6f\xf6\x1a\x1f\xe3\xa4\x11\x85\x01\xa1\x29\x69\x84\x74\x19\x27\x2b\x9f\x85\x31\x6d\xac\x23\xe2\xa7\xa4\x91\x12\xd2\xe8\x76\xae\x83\x85\xeb\x7a\xfd\xfd\x4e\x70\xbb\xa1\xdf\x3b\xff\x4c\x3b\x9f\x3f\x9d\x7c\x38\xbd\xf8\xd0\x61\x0f\xac\xf1\xe6\xed\xff\x03\xd8\x6d\x98\x76\xee\xc9\xf5\xda\x0f\xbe\xff\x29\x8d\xe9\x7a\xed\xa7\x8c\x60\x7b\xf2\x76\x3b\x9b\xc3\xce\x7a\x93\xde\x82\xd9\xac\x3b\x47\xb3\xe5\x86\x06\xbc\x57\x40\x10\x43\x14\x3e\x35\x37\xbc\x6b\x96\x84\x01\x6b\x8e\x48\x87\x3c\xac\xe3\x84\xa5\x98\x02\xef\xa0\x07\x77\xe8\xd9\xe2\x3a\xb3\x91\x00\xf8\x94\x10\xb6\x49\x28\x48\xf0\xd7\xeb\x7f\x92\x80\x75\xfc\x34\x0d\x6f\xe8\x76\x9b\xb7\x00\x9f\x96\x71\x02\xee\xfc\xa4\xc1\xb0\x37\x62\x63\x3f\xb9\xd9\xac\x08\x65\x69\x27\x22\xf4\x86\xdd\x8e\x98\xe3\xc0\x27\x9e\x4f\x71\x96\x37\x63\xf3\x91\xae\x96\x34\x42\xda\xa0\x50\x75\xb0\x4e\x62\x16\xb3\xc7\x35\xe9\xdc\xfa\xe9\xd7\x7b\x7a\x96\xc4\x6b\x92\xb0\xc7\x4e\xe0\x47\x11\xa0\x28\x81\xad\x16\x20\xb3\x64\x8e\xe9\x2c\x99\xc3\x9d\x04\xb0\x41\x76\xb0\xe3\xaf\xd7\xd1\xa3\x98\x48\x94\x75\x04\x77\xb4\xb3\x00\x0c\x35\xfd\x26\x02\x19\xd0\x7a\x5c\x8d\x64\x07\x7f\x60\x3a\x08\x62\xf0\x29\x5c\x02\xba\x89\x22\x8c\x09\x94\x8d\x3c\xed\x46\x62\x74\x28\x41\x21\x7e\xda\x21\x5f\xcf\xd5\x77\xf2\x98\x02\x02\xc5\x40\x13\xec\x8e\x92\xb1\xaf\xe7\x24\x71\x1c\x48\xb1\x3f\x4b\xe6\x88\x75\x42\xba\x20\x0f\x5f\x97\x80\xc2\x09\x76\xb7\x5b\x10\xce\xe8\x1c\x93\x19\x9d\xc3\x91\x02\x33\xfc\xd1\x51\xc0\xa7\xa6\xfe\x6c\x62\x8c\xf9\x7c\xc6\xcb\x86\x82\x2b\x48\x88\xcf\xc8\x34\x27\x8b\x62\x4d\xc6\x27\xb8\x93\x6e\xd6\x24\xb9\xc2\x0c\x91\x1c\x25\xb8\xd0\x00\x30\x90\x85\x9e\x82\x98\xa6\x2c\xd9\x04\x2c\x4e\x86\x4f\x77\x7e\xb4\x21\x43\x82\x08\xdd\xac\x48\xe2\x5f\x47\x64\xb8\xe7\xa1\xfb\x24\x64\xf2\xb7\x8b\x82\x98\x2e\xc3\x9b\x8d\xca\x73\x77\x7c\x04\xc3\x3a\x88\xc2\x25\x60\xf0\x29\x87\x49\xce\x37\x36\x26\x62\x37\xa2\x06\x98\x26\x60\x26\xf8\x94\xdc\x37\xa8\x99\xd2\x31\xa0\xc6\x64\xb7\xab\x92\x82\x20\xd0\xd1\x9e\xd1\x55\x81\x38\x24\x20\x4f\xbb\x12\xb1\xe6\x44\x13\x82\x9c\x3f\x08\x9e\xcd\x11\xc3\xee\xb3\x4c\x92\x14\x99\x24\x5c\x82\x44\x66\xf8\x1a\x8b\x09\x4f\x6c\x72\x08\xe8\x0d\x47\xae\xbf\xdd\x36\xe9\x66\x75\x4d\x12\xf1\x05\x89\x14\x0c\x09\x1c\x91\x88\xcb\xa4\x25\x38\x4e\x12\xff\xb1\x13\xa6\xe2\x2f\xe0\x1c\x94\xa8\x7e\x65\xd3\x31\x0e\x15\xf3\x70\xca\x46\x09\x1c\xc5\xad\x96\x6a\x26\x86\x3b\xdd\x4c\x33\x16\xe8\x97\xbd\xe8\x41\xa5\x9c\x7b\x13\x48\x25\x7f\x26\x28\xe5\xad\xcf\xd2\x79\xd6\x40\x0a\x77\x19\x93\x76\xfe\x19\x87\x14\x34\x1b\x4d\xb8\xcb\x70\x3d\x05\x61\x67\x41\x96\xfe\x26\x62\x38\x44\x39\x09\x84\x70\x78\x17\x87\x8b\x86\x8b\x31\x06\x09\xae\x52\x7d\xb8\xd3\x1c\x8f\x66\x73\x08\xb7\x5b\x90\x57\x4e\xe0\x0e\x58\x18\x5b\x4e\x30\x05\x9e\x0b\x51\x88\x93\xce\xbb\xcd\x72\x49\x92\x1c\x5b\xbe\xa4\x37\x3d\x36\xca\xc7\x46\x20\xd3\xfc\xb8\xcb\x0a\xc6\xba\x45\x0d\x8b\xfa\xde\x85\x9d\x65\x12\xaf\x5a\xad\xb0\xe3\x47\x51\x1c\x64\x3f\xbe\xd1\xd4\x5f\x92\xd2\xe7\x45\x14\xdf\x1b\x6c\x98\x0c\x81\x0f\x12\xc4\x20\x62\x0a\x32\x1c\x43\xe4\x83\x10\xc5\x10\xc5\xa2\x61\x5c\x1e\x11\x47\x4b\x8e\x7c\x45\x21\x04\xb2\xdb\x24\xbe\x6f\x70\x7a\xbf\x7c\x5c\x93\x0f\x49\x12\x27\xa0\x79\xac\x08\xab\xb1\xda\xa4\xac\x41\x63\xd6\xb8\x26\x0d\xbf\xa1\xaa\xe7\xc2\x46\x8f\x05\xc5\x12\xd8\xe7\x3a\xdd\xfb\xb1\x4e\x8b\x1d\x4a\x74\x84\x5c\x46\xaa\xbe\x25\xc6\x79\xa3\x53\x83\xc2\x55\x0f\x74\x9a\x74\x96\x61\x14\x01\x0e\xc4\x50\xff\xce\x7e\xb9\x10\x25\x19\xcc\x72\x82\xb1\xb9\x4c\xfd\xa7\xa0\xce\xa7\x09\x96\xba\xe3\xf8\xfc\xdf\xec\x32\xe9\xf0\x1e\x24\x69\xf0\xde\x5f\x58\xb9\x9e\x5d\x33\xe2\x1d\x84\x23\x0a\x3c\x8d\x05\x0a\x04\x4f\xd0\x0e\x05\x09\x44\x3e\x97\x08\x4a\xce\x9f\xc4\x94\x91\x07\x06\x9e\x76\x70\xe4\x77\x4e\x62\x9a\x72\xa1\x8e\xfc\xce\x59\x12\xdf\x85\x0b\x93\x7f\x62\xc9\x3f\x52\x2a\xca\xc5\x02\x24\x9d\x4d\xaa\xdb\x80\xc0\xcf\x06\x43\xb6\x5b\x3a\x63\xf3\xed\x96\xfd\xae\x71\x7c\xd8\x41\x88\x54\x89\x6b\x6b\x89\x2b\xa3\x44\x60\x2d\xf1\xc5\x28\xb1\xb0\x96\x58\x1b\x25\x88\xb5\xc4\x35\x9f\x4f\x3d\x95\x87\x62\x2a\xf9\x8c\xfa\x62\x46\x43\x88\x62\x0c\x28\xf0\xba\x10\x51\xe0\x1d\x41\x88\xb8\x32\x76\xe4\x42\x14\x71\x71\xd4\x87\x28\xe0\x7f\x21\xda\xf0\x64\x0f\xa2\x85\xa8\xb7\x81\x68\xc9\xeb\x0d\x7a\xbc\x5e\x17\x42\x74\x2b\x9a\x19\x1c\x42\x64\xd2\x99\xd4\xbe\xd4\x84\xa7\x1d\x1f\x82\x6c\x9a\x59\x67\x11\xa6\xeb\xc8\x7f\x3c\xf5\x57\x04\x13\xc4\x76\xa0\x79\x1e\x6f\x18\x49\xda\xbf\x84\x29\x8b\x93\xc7\x26\x84\x68\x8d\x7f\x77\x73\x4d\x88\xae\x0a\xad\x64\x54\xc1\x80\xa6\x09\xd5\x0a\xa0\x98\xc8\xf5\x42\x28\x6b\x0c\x6e\xb7\xfc\x07\xec\xa4\xcc\x67\x04\x3f\x45\x71\x20\x74\xe8\x21\xeb\xdc\x4a\x18\x3b\x3a\x69\x87\x68\xe7\x2a\x4c\xbf\xc4\x1b\xca\xc8\x02\xef\x79\xfc\x7b\x4d\xe8\x22\xa4\x37\x9f\x55\x19\x2c\x56\Line truncated
func publicStaticJs2Bcd00145ChunkJsBytes() ([]byte, error) {
return bindataRead(
_publicStaticJs2Bcd00145ChunkJs,
"public/static/js/2.bcd00145.chunk.js",
)
}
func publicStaticJs2Bcd00145ChunkJs() (*asset, error) {
bytes, err := publicStaticJs2Bcd00145ChunkJsBytes()
if err != nil {
return nil, err
}
info := bindataFileInfo{name: "public/static/js/2.bcd00145.chunk.js", size: 1865514, mode: os.FileMode(0644), modTime: time.Unix(1597685417, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x3d, 0xf1, 0xe1, 0xd2, 0xc, 0x9c, 0x95, 0x66, 0x21, 0x6d, 0xab, 0x5, 0xa6, 0xce, 0x12, 0x56, 0xc3, 0x72, 0xf5, 0xd0, 0x3c, 0x99, 0xf5, 0xb2, 0xab, 0xe, 0x69, 0xf5, 0xba, 0x29, 0xb4, 0x4b}}
return a, nil
}
var _publicStaticJs2Bcd00145ChunkJsLicenseTxt = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xe4\x95\xdf\x6e\xdb\x38\x16\xc6\xaf\xd7\x4f\xf1\x6d\xaf\x9a\xc0\x91\x9b\xee\x3f\x6c\xbb\x28\x2a\x4b\x74\xcc\x42\x96\xbc\x24\x95\xd4\x97\xb2\x44\x47\x4c\x65\xd1\x20\xa9\x04\x79\xa4\x79\x8e\x79\xb1\x01\x69\xbb\x71\xa6\x01\xda\x01\xe6\x6a\x7a\x25\x81\xe4\x39\xe7\xfb\x7e\xe7\x80\x9c\x9c\x8f\xf4\xfa\x4e\xd6\xee\xa2\xb2\x56\xdd\xf6\xa3\xd7\xf5\x19\xb8\xea\x1b\x23\xc1\xb5\x69\x07\x3b\xfa\xd8\xa9\x5a\xf6\x56\x62\x41\xc5\xe8\x7c\x32\x1a\x4d\xce\xff\x3e\x02\x12\xbd\x7b\x34\xea\xb6\x75\xf0\x21\x6f\xdf\x5c\xfe\x07\x9f\x64\x83\x9b\xca\x59\xdd\x47\x23\x20\xdb\x87\x35\x18\xfa\x46\x1a\xb8\x36\x64\x38\x2e\xe3\xf5\x82\x8a\xb3\x31\xac\x94\x23\xa0\x75\x6e\xf7\x6e\x32\xb9\x93\xcd\xc3\x3e\xfe\x56\xb9\x76\x58\x47\x4a\x4f\xea\xae\xb2\xb6\xaf\xb6\xd2\x3e\x15\x3f\x47\x2a\x9d\x34\x5b\xd5\x4b\xa8\x0d\xaa\x1e\x7b\x13\x50\x16\x15\xa6\xc3\x66\x23\xcd\x08\xe7\xfe\xe0\xc7\x6a\x70\xad\x36\x00\x66\xd2\x68\x6b\x11\xaf\xf5\xf0\xa5\xad\x1a\x75\x27\x5b\xfc\xcf\x17\xb6\xef\x26\x93\x4d\xd8\x8c\xb4\xb9\xfd\x10\xa2\x8e\x9e\x83\x69\x9c\x14\x16\xad\xc4\x3a\x14\xc0\x56\x37\x43\x27\xb1\x31\x7a\x8b\x5e\x37\x32\xba\xb3\x63\x6c\xf4\xde\xea\xda\xe8\x07\x2b\x4d\xf4\xe3\x32\xfe\x88\x0a\x23\x77\xb2\x72\x17\xd6\x19\xd5\xdf\x3e\xb9\x38\x50\xab\xf5\x76\x72\xa7\x7b\x5b\xb7\x9d\xea\xbf\x48\xe3\x26\xcf\xce\x7f\x38\x68\xfa\xa6\x83\xff\xbc\x78\xfb\xe6\xf2\x5f\x63\x7c\xd2\x3d\xf8\xd7\x60\x6f\xe1\x3b\xcd\x8c\xbe\x8a\x83\xad\x36\xf2\x62\x0f\x28\x7a\x76\xe4\x47\xf9\x4f\xf4\x4e\xf6\x56\x0f\xa6\x96\x1f\x0e\x59\x4f\x48\x30\x59\xd5\x0e\xf7\x6f\xa2\xcb\xff\x46\x97\x5e\x98\xad\x5b\xe9\xdb\x60\xa2\x9d\xd1\xcd\x50\x3b\xa5\xfb\x68\xab\xfa\xe8\xce\xbe\x68\x73\x56\xd5\x72\xad\xf5\x97\x31\x68\x5f\x47\xa8\xfa\x06\xca\x59\x54\x9b\x8d\xea\x54\xe5\xa4\x3d\x76\x4c\xb4\xca\x62\xaf\x03\xb5\x6e\xa4\x9f\xad\xee\x65\x0a\x47\x71\x1b\x3d\xf8\x74\xbd\xdf\x08\xd0\x68\x42\x72\x4e\xb0\x51\x9d\x3c\x2c\xc3\x68\xed\xd0\x28\x23\x6b\xa7\xcd\x23\xf4\x06\xee\xa4\x90\x33\xf2\x09\xe6\xb7\xb6\x2f\xff\x1d\x5d\xfe\x63\xef\xdb\xf8\x95\x8b\x46\x6f\x7f\x4a\xdf\xca\xfe\x8c\xb6\xff\x92\x9e\x77\x46\x5a\x69\xee\xfd\x2b\x70\xb8\x86\xde\x62\xfd\x88\xe4\xd7\x5f\x1a\xa3\x6a\x2c\xa4\xed\x55\x17\x21\xee\x3a\x04\x8b\x16\x87\x80\xc6\x3f\x32\x7f\x63\xb2\x51\xfe\x5a\x5b\x0f\x1e\x4b\x30\x3b\xd8\x20\xe5\x50\xcf\xaf\xac\x55\x5f\x99\x47\x7f\x37\x6f\xed\x18\x0f\xca\xb5\xd0\x26\x7c\xf5\xe0\xfc\x3d\xae\x36\xaa\xae\x7c\x82\x31\x2a\x23\xb1\xf3\x6f\x8b\x73\xb2\xc1\xce\xe8\x7b\xd5\xc8\x06\xae\xad\x5c\x70\xb7\xd1\x5d\xa7\x1f\xfc\xb5\x5b\xeb\xbe\x51\x3e\xc8\x86\xa0\xad\x74\xef\xbc\x22\x00\xb8\xc0\x73\x5d\xd6\x53\x38\x25\xbd\x1d\xac\x83\x91\xae\x3a\x30\xab\xd6\xfa\xde\x6f\x1d\xfb\xd8\x6b\xa7\x6a\x39\xde\x93\xeb\x94\x75\x3e\xc1\x69\xc1\xbe\xf9\x9d\x9a\x46\xd9\xba\xab\xd4\x36\xbc\x39\x78\x59\x84\xea\x4f\x51\x1c\x45\xec\xa7\x4a\xfe\xe9\x3a\x8e\xf3\xd0\xe8\x7a\xd8\xca\xde\x55\xc7\x0e\x4d\xb4\x81\x76\xad\x7f\x42\x2b\x27\x8d\xaa\x3a\xfb\x04\x3a\x74\x27\x84\x9d\x48\x0f\xad\x16\x73\xca\xc1\x8b\x99\xb8\x89\x19\x01\xe5\x58\xb2\xe2\x9a\xa6\x24\xc5\x74\x05\x31\x27\x48\x8a\xe5\x8a\xd1\xab\xb9\xc0\xbc\xc8\x52\xc2\x38\xe2\x3c\x45\x52\xe4\x82\xd1\x69\x29\x0a\xc6\xf1\x2a\xe6\xa0\xfc\x55\xd8\x88\xf3\x15\xc8\xe7\x25\x23\x9c\xa3\x60\xa0\x8b\x65\x46\x49\x8a\x9b\x98\xb1\x38\x17\x94\xf0\x31\x68\x9e\x64\x65\x4a\xf3\xab\x31\xa6\xa5\x40\x5e\x08\x64\x74\x41\x05\x49\x21\x8a\x71\x28\xfa\x6d\x18\x8a\x19\x16\x84\x25\xf3\x38\x17\xf1\x94\x66\x54\xac\x42\xbd\x19\x15\xb9\xaf\x35\x2b\x18\x62\x2c\x63\x26\x68\x52\x66\x31\xc3\xb2\x64\xcb\x82\x13\x78\x5b\x29\xe5\x49\x16\xd3\x05\x49\x23\xd0\x1c\x79\x01\x72\x4d\x72\x01\x3e\x8f\xb3\xec\x45\x97\x5e\xfb\x33\x8f\x53\x82\x8c\xc6\xd3\x8c\xec\x2b\xe5\x2b\xa4\x94\x91\x44\x78\x3b\x4f\x7f\x09\x4d\x49\x2e\xe2\x6c\x0c\xbe\x24\x09\xf5\x3f\xe4\x33\x59\x2c\xb3\x98\xad\xc6\x87\x9c\x9c\xfc\xbf\x24\xb9\xa0\x71\x86\x34\x5e\xc4\x57\x84\xe3\xf5\x77\x90\x2c\x59\x91\x94\x8c\x2c\xbc\xe6\x62\x06\x5e\x4e\xb9\xa0\xa2\x14\x04\x57\x45\x91\x06\xd0\x9c\xb0\x6b\x9a\x10\xfe\x1e\x59\xc1\x03\xad\x92\x93\x31\xd2\x58\xc4\xa1\xf0\x92\x15\x33\x2a\xf8\x7b\xff\x3f\x2d\x39\x0d\xd0\x68\x2e\x08\x63\xe5\x52\xd0\x22\x3f\xc3\xbc\xb8\x21\xd7\x84\x21\x89\x4b\x4e\xd2\x40\xb7\xc8\x83\x55\x31\x27\x05\x5b\xf9\xa4\x9e\x41\x80\x3f\xc6\xcd\x9c\x88\x39\x61\x1e\x68\x20\x15\x7b\x04\x5c\x30\x9a\x88\xd3\x63\x05\x83\x28\x98\x38\xf1\x88\x9c\x5c\x65\xf4\x8a\xe4\x09\xf1\xbb\x85\xcf\x72\x43\x39\x39\x43\xcc\x28\xf7\x07\xe8\xbe\xec\x4d\xbc\x42\x51\x06\xcb\xbe\x47\x25\x27\xfb\xdf\x93\x89\x1d\x87\x4e\x82\xce\x10\xa7\xd7\xd4\xcb\x3e\x1c\x5e\x16\x9c\xd3\xc3\x9c\x04\x64\xc9\xfc\x80\xdb\x8f\xfd\xf9\x64\xf4\x5b\x00\x00\x00\xff\xff\x3e\x22\x3b\x96\xa5\x0b\x00\x00")
func publicStaticJs2Bcd00145ChunkJsLicenseTxtBytes() ([]byte, error) {
return bindataRead(
_publicStaticJs2Bcd00145ChunkJsLicenseTxt,
"public/static/js/2.bcd00145.chunk.js.LICENSE.txt",
)
}
func publicStaticJs2Bcd00145ChunkJsLicenseTxt() (*asset, error) {
bytes, err := publicStaticJs2Bcd00145ChunkJsLicenseTxtBytes()
if err != nil {
return nil, err
}
info := bindataFileInfo{name: "public/static/js/2.bcd00145.chunk.js.LICENSE.txt", size: 2981, mode: os.FileMode(0644), modTime: time.Unix(1597685417, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xe7, 0xa1, 0xce, 0xd9, 0xa6, 0x21, 0x5d, 0xde, 0xa6, 0x6, 0x29, 0xf, 0x53, 0x42, 0x49, 0x29, 0x22, 0xc0, 0xca, 0xbc, 0x45, 0xd8, 0x6c, 0x6e, 0x4, 0x2b, 0x69, 0xe6, 0x32, 0xe4, 0x42, 0x2e}}
return a, nil
}
var _publicStaticJs2Bcd00145ChunkJsMap = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xbc\xbd\x59\x77\xe2\xb8\xda\x30\xfa\x5f\xb2\xea\xb2\xb2\xab\x93\xea\xee\xdd\xef\x7b\xf5\x11\x20\x09\x5d\x4c\x0d\xa4\x86\xfe\xd6\x59\x5e\xc2\x16\xa0\xc4\xb6\x5c\x92\x1c\x92\x3a\x7f\xfe\xac\x67\x90\x2c\x48\x4c\x05\xf6\xee\x73\x81\x90\x64\x4d\x96\xa5\x47\xcf\xac\xff\xf7\xec\x51\x1a\xab\x74\x79\xf6\xbf\x1f\xdf\x9f\x59\x5d\x9b\x54\xda\xb3\xff\xfd\xbf\x67\xff\xfa\xd7\x87\x52\x67\x32\x29\x74\x56\xe7\xd2\x7e\x30\x52\xa4\xee\x83\x2a\x33\xf9\xf4\xaf\x7b\x7b\xf6\xfe\x45\x81\xff\xb3\x14\x4b\x99\x7f\x30\x75\xe9\x54\x21\x3f\x6c\x64\x5e\x49\x63\x3f\x48\x5b\x7c\x90\x4f\x4e\x96\x99\x3d\xba\x9e\x5e\xde\xcb\xd4\x7d\x51\x6e\xa3\x6b\x37\x35\xba\x92\xc6\x29\x69\x87\x5a\x5b\xf9\x7a\x63\xaa\xdc\x48\xa3\x5c\x13\x49\x96\x46\x6f\xad\x34\xaf\x17\x4f\x73\x61\x6d\x29\x0a\xac\xd9\xfa\x66\x56\xac\xe4\xf9\xb2\x5e\xad\xa4\x39\x54\x0c\x67\xe8\x7c\xa9\xb5\xb3\xce\x88\x0a\xdf\x60\xb1\x91\x85\x9c\x1a\xfd\xa8\xb2\x68\x0c\xff\xfa\xd7\x07\x5f\xe9\x56\x59\xa7\xcd\x73\x57\x97\x4e\x3e\xb9\xd7\x4a\xa4\x46\x0a\x27\xc7\xa2\x90\x07\x0a\xcd\x74\xed\xa4\xf9\x69\x81\xd7\x9e\x8c\x64\xa1\xcd\x73\xfb\xf3\xa1\x5a\xc9\xf4\x39\xcd\xe5\x6b\x0f\x0b\xe1\xd2\xcd\x54\xb8\x4d\x6b\x9f\xaf\x3d\x98\x3b\xe1\x54\xda\xde\xe5\x7c\xab\x5c\xfa\x6a\x93\x1b\xad\x1f\x8e\x5f\x47\x7e\x31\x1c\x58\x38\x95\xd1\xa9\xb4\xf6\xc3\xc1\xe5\xf2\xf3\x35\xb0\x95\xcb\x4a\xa4\x0f\x1f\x96\xb5\xca\x33\x55\xf2\xb8\x5b\xbb\xac\xce\xdd\x73\x75\x78\xf1\xed\xb7\xb8\xce\xf5\x52\xe4\xaf\x97\x75\xaa\x7c\x3e\x57\xe5\xa3\x30\x4a\x94\xee\x43\xa6\xac\xdb\xcb\xfb\x97\xb4\x45\xcb\xce\xb1\xe7\xdb\x8d\x72\xd2\x56\x22\x95\xe7\xe9\x46\x18\x91\xba\xe3\x5e\x56\x14\xd9\x79\x26\x57\xaa\x6c\x79\xe1\x42\x95\xaa\x10\xb9\xb2\x4e\xa5\xe7\xc2\x5a\x69\x0e\x02\x14\x99\xe7\xaa\x72\x2a\xfd\x90\xab\x65\x93\xa8\x9d\xca\x5b\x56\x80\x91\x56\xe7\x8f\xf2\xbc\x12\x6e\x03\x9b\x1a\xbf\xfd\x7e\xe6\xeb\x55\x1f\x45\x5e\xcb\x73\xf9\xbd\x16\x39\xd6\x8a\xd2\xaf\x57\xd8\xd0\xbe\xc5\xc2\x1c\x6f\x01\x31\xe6\xb9\x72\xfa\xfc\xde\x7e\x48\xb5\x69\xe9\x1d\x57\xee\x79\x65\xa4\x95\xee\x9c\xc0\x88\xa8\xaa\x37\x2f\x6f\x9a\xca\xc5\x46\xd9\x41\xa9\x9c\x12\xb9\xfa\x21\xb3\x96\x61\x0b\x0b\xfb\x0a\xa7\x14\xe2\x87\xa6\x13\x81\xf6\x07\x55\x14\xb5\x13\xcb\xb6\x45\x1c\xbe\xcb\xee\x0b\x95\xbe\x13\x8c\xbd\xb6\xf8\xc5\x83\xc6\x02\x38\x80\x0f\xa9\x2e\x0a\xdd\x52\x34\x55\xd5\x46\x9a\xf3\xa5\xb0\xf2\x20\x94\x76\x46\x8a\xe2\x9c\x37\xb0\x5a\x3d\xbf\x80\xce\x19\xbc\xc6\x39\x95\xc3\xbe\x13\x8a\x27\x59\x5d\xe5\x6d\xcd\x3a\xa3\x8a\x63\x37\x81\xae\x9c\xd2\x65\xdb\x2a\x15\x65\xa6\x8b\xe5\xb3\x93\x3f\x81\x36\xfb\x23\x96\xc6\x68\x63\xcf\x8f\xaa\xf3\xd6\xb7\xb4\x1b\x01\x5f\x8c\x97\x47\xeb\xe1\x96\xe9\x83\x73\xf1\x9f\xae\x63\x63\xc4\xf3\x50\x3d\xc8\x85\xee\x40\xf4\x1f\xe9\xc4\xe6\x2a\x95\xd9\x3f\xd9\x03\xbe\x06\x20\x2d\xb7\x3a\x97\x2d\x8b\xe0\x3f\xec\x42\x39\x69\xe0\x33\xf3\x6b\x0c\x55\xa1\xdc\x3f\xd2\x51\x5d\xda\xba\xaa\xb4\x71\x32\x1b\xec\xf6\xf9\x8f\x74\x57\xea\xd2\x77\x33\x93\xb6\xe5\x95\x08\x21\x3a\x47\xf0\x75\x70\x33\xc8\x47\x59\x3a\xff\xd7\x0a\x34\x54\xb9\x4e\x32\x99\xea\x4c\x1a\xdc\x2e\xbb\x59\x2d\x43\xd0\x46\x9e\x03\xe4\x3a\x57\x36\x40\xb1\x43\x38\xc3\xf9\x93\x3e\x78\x94\xbe\x80\xcb\x87\x00\xa2\xb0\xe5\x85\x2f\x0c\xf1\x0f\x08\x1a\xa9\xa3\xd7\x6b\x64\xba\x38\x8f\xe7\x39\x15\x85\x84\x53\xe2\xed\x88\x2c\x4d\x3a\xac\xea\x2b\x3b\x35\x72\xa5\x5a\x5e\x44\xd9\xf3\x4c\xa6\x70\xcc\x1f\x7a\xdd\xba\x54\xd6\xd1\x04\x3e\x2a\xab\x0e\xa2\x01\x8c\x99\x9d\x97\xf2\xc9\xa9\xf4\xe1\x5c\x98\xf5\x41\x84\xa9\x39\x00\xce\x05\x4c\x56\xdb\x16\x94\x8f\x55\x82\x50\xd8\xe9\x07\xf9\x7c\x3c\x22\x92\xd6\xe6\x51\xe2\xd4\xb7\x9d\x70\xc6\xca\x73\xfc\x3e\xff\x1c\xc8\x44\x02\xa6\x2b\xf2\xbc\xbb\x91\xe9\xc3\x3f\xd3\x05\x7e\xf9\x2e\x74\xf4\x8f\xb4\xbf\x96\x40\xda\x39\x0d\x98\xf0\x64\xf5\xcf\x80\x4b\x3b\x16\x4e\x3d\xca\x99\x5c\xe5\x32\x75\x5d\x5d\x5a\x67\xea\xf4\x9f\x01\x99\xf0\x1e\xfa\x9f\x79\x8f\x4a\x5b\xab\x96\xb9\x0c\x2f\xa0\xcd\x4c\xba\xda\xb4\xc0\x89\xff\xca\x87\x9f\xd7\x55\x2b\x39\xf4\x1f\x9e\xc4\xff\x3f\x7c\x78\x26\xfc\x8e\x85\x73\xdd\x8d\x50\xa5\xcc\xae\xeb\x32\x05\x4c\xee\xed\xd5\xe7\x62\x25\x3b\x65\xba\xd1\x6d\x07\x47\xa0\x06\x5a\xe1\x12\xc1\x0d\x59\x3a\xe5\xd4\x61\xd2\xd0\xc8\x4a\x0a\x77\x4e\x07\xd6\xa1\x82\x80\xc3\x9e\x3b\x23\x54\xae\xca\xf5\x79\xae\xca\x9f\xb5\x5b\x08\xf3\x70\x8e\x03\x09\xa7\xdb\x07\x55\x3a\x69\x4c\x5d\xb5\xec\x9a\xd7\x2b\x95\xda\x14\xe2\x67\x27\x8d\x3a\x38\x9a\x40\x29\xfc\x80\xa0\x90\xd6\x8a\x75\xdb\xdc\x15\xd9\x6f\x70\x30\x1e\x66\xd2\xbc\x40\x90\xf1\xcd\x4a\x91\x33\x09\x61\x3f\xc8\x32\x3b\xd7\x2b\x2e\xd2\xd2\x8e\xaa\x64\x91\x5d\xfc\xfe\xcb\x41\x92\x84\xb0\xea\xff\x1e\xd1\x12\xd2\x07\xf1\x9e\xff\x80\x12\xda\x1a\x75\x80\xd8\xcb\x70\xde\xb1\x42\x16\x08\xb3\x37\x9d\xc2\x87\xd9\x2a\xbb\x65\x0b\x9d\x1d\x5e\x9f\x4b\xa3\x81\x88\x7a\x23\x12\x60\xd5\xba\x3c\x89\x9f\x17\xb5\x61\xac\x38\x1a\x41\x38\x1a\x97\x68\x59\xd3\xfb\xa8\x61\x3b\x8f\xd2\xf8\x97\xc2\xc4\x31\xb8\x23\x14\x39\xa6\xbc\x91\x48\x13\xbc\xb5\x8f\x14\xce\x2b\x01\xb8\x78\x2b\x46\x5d\xd5\xcb\x5c\xa5\xe7\xb2\x44\x08\x79\x34\x37\x21\xb0\xd2\xce\xLine truncated
func publicStaticJs2Bcd00145ChunkJsMapBytes() ([]byte, error) {
return bindataRead(
_publicStaticJs2Bcd00145ChunkJsMap,
"public/static/js/2.bcd00145.chunk.js.map",
)
}
func publicStaticJs2Bcd00145ChunkJsMap() (*asset, error) {
bytes, err := publicStaticJs2Bcd00145ChunkJsMapBytes()
if err != nil {
return nil, err
}
info := bindataFileInfo{name: "public/static/js/2.bcd00145.chunk.js.map", size: 4995503, mode: os.FileMode(0644), modTime: time.Unix(1597685417, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x77, 0xba, 0xdc, 0x53, 0x98, 0x3e, 0x51, 0xe1, 0x8, 0x6e, 0xff, 0x17, 0x2e, 0x91, 0x82, 0x29, 0xee, 0x71, 0xa0, 0x22, 0x2, 0xea, 0x8c, 0xd5, 0x3, 0x9b, 0x15, 0x27, 0xec, 0x9c, 0xb, 0x11}}
return a, nil
}
var _publicStaticJsMain453e2db6ChunkJs = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xcc\x7a\x6b\x77\xdb\x36\xd2\xff\xfb\xff\xa7\x80\xd1\x1e\x17\x58\x41\xb4\x28\xcb\x97\x50\x45\x7c\x12\x27\xdb\xa4\x75\x9c\x34\x76\x7a\x59\x59\xdb\x03\x91\x23\x89\x31\x05\xb0\x20\x64\x45\xb5\xf5\xdd\xff\x07\x00\xa9\x8b\x45\xa5\xc9\x79\x76\x9f\xf3\xf8\x85\x05\x0c\x6e\x83\xc1\xcc\x6f\x66\x00\x12\x33\x4e\x8b\x60\x06\x83\x5c\xc4\xb7\x3f\x16\x4a\xe6\xb9\x28\x0c\xf0\x7a\xf2\xc3\x43\xaf\x4f\x83\x7c\x5a\x8c\x49\xaf\xd7\xea\xb3\xfb\xf0\xa4\x1d\x0d\xa7\x32\x36\xa9\x92\x04\x98\x61\x92\xde\x43\x00\x9f\x72\xa5\x4d\xc1\x25\x39\x3a\x3e\xa5\x0b\x16\x9e\x9c\x6c\xf5\xb2\xd4\x27\x75\xd4\xd3\x56\x0d\xb5\x73\x7c\xbc\x41\x75\xb4\x93\xb0\x86\x76\xb8\x4d\x3b\xed\xd4\xd0\xb6\xe7\x3b\x0a\xb7\xc7\x1e\x85\x47\x35\xb4\x9a\xb1\xed\x76\x0d\x6d\x7b\xdd\xa3\x4e\x4d\xbf\x4e\x4d\xbf\xa3\x9a\x35\x8e\x9e\x6c\xd3\x8e\x4f\xb7\xa4\x85\xa7\x05\xa0\xc2\xe8\x34\x36\xb8\x2b\x03\x4d\x0c\xed\xde\x09\x8d\x04\xd3\x5c\x92\x16\x65\x8a\xcb\x40\x12\x4d\x59\xca\x25\x39\xec\x50\x16\x3b\x42\x4a\x59\xc1\x89\x24\xe1\xc9\x09\x65\x92\x1c\x85\x94\xb2\xcc\x9e\x61\x9b\xb2\xa9\xfd\xed\x50\x96\xdb\xdf\x43\xca\xc6\x5c\x92\xf0\xf8\x84\xb2\x21\x97\xe4\x84\xb2\xc4\x0f\x3c\xb5\x03\xc3\x93\x27\xee\xe7\xe8\x94\x52\x36\xb1\x4b\x1c\x51\x36\xe7\x92\xb4\x43\xca\xee\xec\x04\x27\x87\x94\x8d\x5c\xa1\x4d\xd9\xc0\x15\x42\xca\x5e\xba\x39\x4e\x5b\x6e\xf0\x69\xe8\xe7\x78\x42\x29\x9b\x39\xf6\x5e\x52\x76\xe5\x56\x6d\x51\xf6\xc9\x51\xae\x28\xbb\xe5\x92\x9c\x9e\x52\x76\xee\x08\xb7\x94\x5d\xba\x2e\x21\x65\x1f\x1d\xe5\x92\xb2\xb7\xbc\xd5\x95\xd3\x2c\xe3\x9c\x67\x2a\x16\xd9\x95\x51\x5a\x8c\x20\x18\x81\x79\x6d\x60\x42\x70\x01\x45\x91\x2a\xd9\x4c\x13\x4c\xcf\x04\xef\x91\x5e\x08\x27\xfd\x46\x33\x84\xc3\x46\xb3\x63\xff\x9d\xda\x7f\x21\x84\x21\x0d\x34\xe4\x99\x88\x81\x1c\xf4\x5a\xe1\x69\xff\x60\xc4\xc8\x4a\xfc\xf4\x5e\x83\x99\x6a\x49\x08\xfc\x3b\x3c\xda\x8f\xf5\x3c\x37\xca\xae\xf3\x5e\xc8\x44\x4d\x7e\x11\xd9\x14\x0a\x22\x61\x86\x3e\xa4\xd2\x9c\x3e\xd3\x5a\xcc\x49\x48\x69\xaf\xd5\xa7\x4f\x9f\xc2\x41\x87\x06\x46\x5d\x19\x9d\xca\x11\x09\x8f\xe9\x82\x52\xd6\xea\x47\x44\x7c\x01\xdf\x41\x91\x67\xa9\x21\x38\xc2\x94\xf6\xc2\x3e\x27\xb9\xd0\x05\xbc\x96\x86\x88\x5e\xd8\x67\xe1\x31\x6d\x84\x6b\xb3\x1f\x1e\x7b\x95\x78\xc7\x45\xf0\x51\xa5\xd2\x0d\xec\x56\x3b\x41\xd7\xa4\xda\x0a\x7a\xac\x5c\x77\x2a\x4d\x50\x8b\x73\x2e\xf7\xf7\x89\xe4\xf7\x0b\xca\x56\xa4\x60\x0c\x22\x01\x5d\xd8\xa6\xaa\x6c\xbb\x78\xf5\xe3\x1b\x73\x09\xa6\x99\x62\x29\xbd\x1f\x2a\x4d\x6c\x7b\x8c\x52\x89\x96\x73\xe9\xfd\x7d\xa2\xdd\xf4\x9a\xa6\x43\xa2\x83\xb1\x28\xde\xce\xe4\x3b\xad\x72\xd0\x66\x4e\x62\x4a\xef\xed\xa8\x82\xe3\x08\x37\xe2\xae\x08\x0a\x10\x3a\x1e\x93\x82\x3e\x6d\xed\xef\x13\xc1\xc5\xf2\xac\x0a\xa6\x7b\x71\x9f\xb2\x04\x32\x30\x80\x5c\x65\x51\xee\x4f\x06\x13\x30\x63\x95\x70\x53\xee\x63\x8f\x73\xe5\xf8\x1f\xa8\x64\xce\x71\xe1\x04\x86\x39\xe7\x66\x9e\x83\x1a\x22\xf5\xf0\xa0\x50\x2a\x0b\x23\x64\x6c\xeb\x5e\xa2\x67\x2a\xfa\xf1\xea\xed\x65\xe0\xbb\xa7\xc3\x39\x51\x94\xae\x66\x04\x27\x2c\x20\x92\x52\xb6\x94\x4c\x6f\xfd\x04\xfb\xfc\x5d\xc3\xee\x84\xbc\x6d\x34\x36\x0f\x8a\x0d\xc1\xc4\x63\x22\x98\xa4\x8b\xae\xe7\xfa\x7e\x04\x66\x65\xf6\x92\xe9\xe5\x71\x09\x62\x18\xfe\xe1\xe5\x35\x66\xc0\x64\xb9\x3e\x5d\xb0\x7c\xba\xd9\x9f\xa9\xcd\x11\xef\x3e\x94\x23\xb4\xed\xac\x8a\xbf\xe9\xfd\xf6\x6a\xbd\xbb\x30\xf1\xf8\xf3\xfd\x9f\x5d\x9f\xbf\x5a\x0d\x48\x20\xfb\x0c\xf3\x2f\x5e\x5e\xbc\xbc\x7e\xf9\x88\x7f\x7f\x72\x5f\x3b\x4a\xc3\x44\xdd\x7d\xed\xa8\xc5\x62\xb1\x61\x6e\x45\x8d\xb9\xb1\x77\x5e\xa5\x2f\x1c\xd8\xb4\x29\x7b\xe1\xc0\xe6\x82\xb2\xd7\x16\x8f\x9e\x50\xf6\xcc\x11\x5e\x53\xf6\xde\x39\x41\xca\xfe\x72\x84\xf7\x94\xfd\x64\x7b\x1c\x53\xf6\xc1\x11\x7e\xa2\xec\xb9\x9b\xe4\x90\xb2\x37\x8e\xf2\x9c\xb2\x5f\x1d\xa5\x43\xd9\x2b\x47\xf9\x95\xb2\x1f\xf9\x47\x42\x09\x65\x7f\xf0\x6b\x42\xd9\x2f\x7c\x1b\x73\x10\x9c\x7d\x08\xc4\x9a\xfe\xc1\x3a\x56\xf1\x7e\xe3\x80\x61\xbc\x46\xba\x39\x38\x18\x31\xfc\xc7\x06\xa9\x61\x49\x4d\x4c\x23\x8c\x17\xec\xdb\xba\x45\x7e\x21\x2f\x08\x25\xcf\x08\x25\x40\x29\x5d\xb0\x3f\xeb\x3a\xad\x93\x2a\xe3\x36\x1c\x63\x26\x2d\x12\x7f\x0f\x41\x06\x72\x64\xc6\x5d\xd9\x68\x50\xd3\xe0\x04\xb7\x70\x03\x7a\xb2\xbf\x01\x7e\x34\x28\xb2\x34\x06\xd2\x6c\xd3\x52\xe9\xd1\x9b\x40\x04\x0e\xd6\x88\xa1\x0b\x72\x1e\x88\x60\xf4\x57\x9a\x5b\x4e\x16\xec\x07\xfe\x18\xa8\xd2\x21\x91\x1e\x22\x04\xff\x2b\x10\x41\x02\x0e\x8f\x9d\xe3\xac\x66\x14\x1b\xec\x3b\x3e\x99\xb4\xc8\xc4\x21\x98\x29\x9d\x14\xd6\x55\x6e\xc2\x75\xe7\x1f\xba\xe4\xdf\xba\xcf\x56\xd7\x6e\xd0\xef\xab\xa2\x77\x1b\x0d\x49\x2d\xd9\x70\xdd\x93\x7d\x26\xf8\x61\x57\x3c\xe5\xad\x6e\xb3\x29\xa8\xea\xa5\x8d\x46\x9f\x9b\xa7\x4f\x4f\xff\x21\xf6\xdb\x47\x47\x15\x2b\x6a\x41\x04\x65\x7f\x2b\xba\xc1\xdc\xc0\xc5\x4a\x7c\x16\x29\x49\xd8\x3e\xdd\xb7\xf2\xa3\x67\xa6\xc1\xbd\x04\x83\xa1\x56\x93\xf3\xb1\xd0\xe7\x2a\x01\xe2\x1a\xa3\xf0\x49\xdb\xf6\x6e\xb7\x3b\xbe\xf7\xfe\x7e\xd8\x3e\x75\xe3\x9f\xb4\x2d\xa5\x11\xf6\xe9\x19\xd9\x31\x05\x21\x87\xa1\x1f\xf6\xfd\xf7\xc7\xb4\x41\x8e\x0f\xab\x21\x94\xc9\x06\x0f\x69\xd4\x6e\x77\xdc\xf4\x9d\xd6\xee\xe9\xLine truncated
func publicStaticJsMain453e2db6ChunkJsBytes() ([]byte, error) {
return bindataRead(
_publicStaticJsMain453e2db6ChunkJs,
"public/static/js/main.453e2db6.chunk.js",
)
}
func publicStaticJsMain453e2db6ChunkJs() (*asset, error) {
bytes, err := publicStaticJsMain453e2db6ChunkJsBytes()
if err != nil {
return nil, err
}
info := bindataFileInfo{name: "public/static/js/main.453e2db6.chunk.js", size: 13523, mode: os.FileMode(0644), modTime: time.Unix(1597685417, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xe6, 0xd2, 0xce, 0x15, 0x4e, 0xbd, 0x9a, 0x8d, 0x7b, 0x5f, 0x4a, 0x22, 0xf6, 0x8f, 0x93, 0x46, 0xe1, 0xf, 0xec, 0xcb, 0x40, 0x3e, 0x49, 0x2a, 0x47, 0xad, 0xa3, 0x7e, 0x28, 0xe4, 0xc7, 0xc3}}
return a, nil
}
var _publicStaticJsMain453e2db6ChunkJsMap = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xd4\xbd\x0b\x57\xe2\xd8\xb2\x38\xfe\x55\x76\x73\x67\x0d\x70\x8d\x3c\x7c\xb7\xad\xf6\xda\x09\x11\x11\x11\x15\x6d\xdb\x16\xef\x99\x10\x36\x10\x09\x49\x4c\x02\xf8\x18\xbf\xfb\x7f\x55\xd5\xce\x0b\xb0\x67\xfa\x9c\x7b\xce\xfd\xff\x9c\x35\x74\xb2\x1f\xb5\x6b\xd7\xbb\x2a\xaf\xb7\xdc\x4c\xf8\x81\xe5\x3a\xb9\xfd\x4d\x25\x17\xb8\x53\xdf\x14\x41\x6e\xff\x3e\xe7\x19\x41\x28\xca\x57\x62\xe2\x86\xa2\x23\xfc\x99\x65\x8a\xd2\x63\x90\x53\x64\xc7\x05\xfc\x52\x03\xf7\x3c\x3a\xf0\xc5\xd0\x0a\x42\xe1\xcb\xe1\xb7\xae\x3f\x16\x3e\x75\x59\x4e\x5f\x3c\xc3\xe1\x83\x92\x73\x8c\x09\x2d\x01\x1d\x5a\xfb\xe6\xfc\x5a\xbf\xca\x29\x39\xdb\x35\x0d\xbb\x13\xba\xbe\x31\x14\x39\x25\x37\x14\x61\x23\x14\x13\x04\xeb\xd9\x86\x09\x6d\x26\xfc\xef\xbf\x78\xa1\x4b\x03\xae\x0c\xa7\xef\x4e\xbe\x19\xf6\x54\x00\xac\x1b\xcb\x09\xf7\xb8\xef\x1b\x2f\x39\x25\x17\xba\x9d\xd0\xb7\x9c\x61\x4e\xc9\x05\x9e\x6d\x85\x88\xb9\x1f\x88\x86\x03\x87\x1d\xbd\xd3\x69\xb4\xcf\x73\x4a\xee\xd1\xb5\x1c\x5c\x24\xb5\xd1\x9c\x92\x9b\xfa\x76\x4e\xc9\x0d\xa0\xcb\x74\x9d\x81\x05\x70\xa6\x4e\x5f\x0c\x2c\x47\xf4\x73\x4a\x6e\x24\x8c\xbe\xf0\x61\x55\xf1\x2c\xcc\x69\x08\x73\x26\x22\x1c\xb9\xd0\xf9\x34\x15\xfe\x0b\x2e\xf8\x62\xbb\x06\xb4\x58\x30\xc5\x08\xda\x73\xe7\xc2\x77\x3d\xe1\x87\xd0\xed\x08\xd1\xb7\x61\x62\x20\x0c\xdf\x1c\xe5\x94\x5c\xcf\xed\x43\x47\x8c\xf9\x69\x07\x71\x0c\xf0\xdc\x1a\x40\xdf\x40\x84\x38\x74\x28\x70\x4b\x53\xfc\x75\x03\xda\x1f\x75\xf5\x85\x8d\x40\x63\x02\x12\x15\x84\xe8\xfb\x48\x30\xdc\xee\x13\x2c\xb7\xb3\x95\x53\x72\x2a\xef\xe8\x78\x60\x8e\xc6\x39\x25\x77\xd5\xb8\xd0\x5b\xb5\xea\x4e\x05\x10\x39\xe1\x1b\xdb\x3b\x39\x25\xf7\x6a\x79\x40\x53\xf1\x0c\xeb\x4c\x0d\x60\x97\x70\x86\x21\xac\x16\xd8\x44\xb1\x13\xfd\x7b\x44\x63\x18\x53\xdd\x31\xf0\x74\x8c\xbc\xa2\xf9\x7d\x01\x1c\x84\xa3\x57\x80\xf6\x0c\xc2\xa3\x77\xa8\x03\xd8\x9a\x53\x72\x73\x98\x35\x03\xbe\xc0\x09\xfc\xef\xfa\x7d\x20\x73\x2f\xa7\xe4\x00\xbd\xe9\x1e\x8c\xe8\xbd\x84\xe2\x2c\xc2\x60\xe0\xbb\x13\x6d\x64\xf8\x9a\xdb\x17\x44\xad\x3d\x14\xb9\x81\x6d\x20\x5f\x6e\xae\x8f\xa1\xa1\x17\xa3\x0c\x28\x4d\xc3\xc1\x5e\xdc\x80\x6c\x96\x10\x38\xa0\x71\xc1\x3b\xd7\xfa\x3f\xf8\x45\x03\xe0\xbd\x38\xa1\xf1\x0c\xb4\x24\x76\x7b\x96\x2f\xa2\x33\x54\x03\xcd\x17\xb4\x90\xf0\x7d\xd7\x07\xf8\x4e\x67\xda\x9b\xa0\xcc\xb9\x8e\x36\x32\x1c\x94\x68\x82\x13\x83\x00\x8c\xa6\x3e\xac\x2c\x9c\xd0\x77\x3d\x14\x18\xdb\x40\x69\x34\x6d\x23\x08\xce\x8d\x09\x0c\xe2\xb6\xf0\x01\x52\x2f\xe8\x84\x2f\x28\x2e\xc7\xae\x0f\x3c\x74\xa8\x7f\x06\xe2\x0f\xd2\x67\x00\x61\xc7\x02\x85\xff\xc5\x13\xc4\xe5\xa9\xe5\xa3\xbc\xfa\xee\x1c\xf0\x55\xa7\x61\xe8\xc2\x0a\x23\x5f\x0c\x80\xf0\xee\xdc\x91\x22\x8a\x5b\xf9\x66\x89\x39\x89\xea\x28\x61\x4b\x13\x61\x12\xd6\x00\xc4\xb4\xbc\x91\xa0\x7d\x9e\xe3\x70\xd7\xd1\x08\x7f\xe0\x73\xdb\x0b\x03\x6a\xb3\x2d\x73\x8c\x58\x18\xfd\xb6\x63\x43\xff\xdc\x72\xfa\xee\x5c\x2a\x7b\x68\x21\x26\xae\x6f\x0d\x71\xd3\x80\x71\x68\xf8\x24\xd8\x81\xb0\x85\x09\x07\xce\x70\xdd\x02\x4c\xc9\x34\x45\x78\x02\xad\x7c\xd7\x83\x85\x82\x69\x2f\x88\x35\x3d\x24\x46\x04\xa1\xe1\x87\x7a\x4c\xd6\x9e\xe5\xc0\x0e\x8d\x7e\x3f\x69\x13\x4e\x24\x72\x62\x26\x1c\x44\xd9\x74\xa7\x68\x1c\x48\xb1\x90\x02\x9e\x31\x14\xdf\xe5\xbf\x77\x44\x5e\x29\x65\x35\x5a\x29\x1c\x59\x01\xd2\xd1\x9c\x4e\x04\xce\x86\x55\x00\xe2\x19\xd8\x42\x07\xe9\x14\x88\xb0\x23\x31\x6b\x19\x28\x70\xb8\x26\x0a\x9d\x30\xc7\xc8\x20\xcf\xc7\xb6\x9a\x18\x18\x53\x1b\xba\x46\x56\x10\xba\x68\x46\xc2\x91\x70\x62\x93\x03\xc4\x83\x36\xdf\x02\x19\xe8\x4b\xf3\x86\x94\x11\xcf\xa8\xa4\xee\x19\x58\x52\x01\x08\xc6\x86\x24\x6a\xbc\xb6\x26\x49\xa3\x6d\xe0\x3f\x96\x43\x56\xc4\x47\x22\x05\x23\xd0\x2f\x07\xb9\xd4\xee\x3d\x12\x13\x40\x42\x2d\xe4\xbd\x4f\x06\x31\x70\x51\x12\x6d\x17\x00\xb8\xc4\x65\x24\xa1\x34\x41\x8e\x78\x0e\x2f\x24\x83\x34\x77\xe2\xb9\x0e\xed\x97\x7b\x80\xa2\xe1\x59\x34\xc3\x73\x1d\xb4\x16\xc7\xbe\x31\x94\xe4\xf3\x88\x40\x66\x6a\x92\x15\x20\xf2\x23\xb2\x72\xaa\xeb\xda\xc2\x40\x82\xb8\x41\x28\x95\x60\x22\xd7\x8d\x5c\xd0\x37\xc3\xb6\xfa\x9d\x5b\xd8\xcf\xfc\x06\x4d\xb9\x63\xcc\xac\xa1\x11\xba\xc4\x8f\x94\x83\x4a\xcd\x8a\x0f\xfd\x58\x38\x9d\xa9\xd7\x37\x42\x31\x70\xa7\x48\x1d\xcb\x09\x42\xc3\xb6\x2d\x67\x18\x4f\x4e\x9a\x70\x3c\x8a\xa0\x19\xe9\xbc\xe9\x82\xc0\xd9\x36\x8e\xbc\x12\x86\x19\xd6\xda\x2d\x5c\xc6\x21\x5e\x0e\x45\xa8\xdb\x02\xf6\xae\xbe\x34\x60\x85\x9b\xab\x33\x12\x6e\x53\x04\x81\x14\xe9\x69\xec\x42\xdb\x03\xa9\x50\x2f\xe8\x8f\x32\x88\x4b\x3d\x46\x91\xa2\xfd\x7f\xb0\xcd\x6c\xfb\x03\x9a\x0e\xcf\x72\x86\x41\x6e\x3f\xb7\x21\x78\xd3\x52\xb9\xa2\x2b\x4f\x17\x9c\xf7\x34\x45\xe7\xfc\x46\xd1\xb9\xb6\xa3\x2a\x6d\xce\x67\x9a\xa6\x18\x9c\x1b\x9a\x72\xc9\xf9\xa5\x62\x72\x6d\xa6\x9e\xc0\x98\x86\xa2\xf3\xf3\x13\x45\xe3\x5c\x53\x5a\x9c\xb7\x94\x26\xe7\xcd\xd4\x0f\xb4\x35\x68\xd2\x0d\x40\xec\x70\x18\x59\x87\x9f\x4b\xae\x6d\x6b\x1c\x80\xb8\x35\x68\x29\x6b\x1a\x2c\xd5\xd6\x94\xa1\xca\xf9\x50\x55\x1a\x9c\x37\x34\xe5\x96\xf3\x5b\x3c\x04\x80\x86\x5c\xb4\xce\x79\xbd\x01\xc0\x3a\x4a\x9b\x37\x1d\x5d\x69\x70\xbd\x77\x8d\x7d\x7a\x16\x51\x6e\xb6\x09\xbLine truncated
func publicStaticJsMain453e2db6ChunkJsMapBytes() ([]byte, error) {
return bindataRead(
_publicStaticJsMain453e2db6ChunkJsMap,
"public/static/js/main.453e2db6.chunk.js.map",
)
}
func publicStaticJsMain453e2db6ChunkJsMap() (*asset, error) {
bytes, err := publicStaticJsMain453e2db6ChunkJsMapBytes()
if err != nil {
return nil, err
}
info := bindataFileInfo{name: "public/static/js/main.453e2db6.chunk.js.map", size: 35733, mode: os.FileMode(0644), modTime: time.Unix(1597685417, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x5e, 0x77, 0x56, 0x6, 0xf6, 0xfd, 0xa6, 0xfa, 0xa2, 0x55, 0x98, 0x68, 0xa0, 0xe8, 0x89, 0x6c, 0x82, 0x8a, 0x3a, 0x8, 0x13, 0x76, 0xf7, 0xc3, 0xa0, 0x9e, 0x68, 0xd, 0x3e, 0xff, 0xab, 0x74}}
return a, nil
}
var _publicStaticJsRuntimeMain3617f9c7Js = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x8c\x54\xdf\x8f\xdb\x36\x0c\x7e\xdf\x5f\x91\x78\x80\x20\x22\x3c\x9d\xd3\x0d\xeb\x16\x1f\xb1\xf7\x61\x45\x87\x75\x7b\x32\x8c\x42\x71\xe4\xc4\x9d\x22\x09\x32\xdd\xee\xe0\xf3\xff\x3e\xc8\x89\x9d\xf6\xd6\x03\x0a\x04\x08\x2d\xf1\xc7\xc7\xef\xa3\xb8\x6e\x7a\x57\x73\xeb\x9d\x34\x30\xcc\xf6\x8a\x25\xc3\xd0\xf8\x28\x3f\xea\xb8\x72\x68\x51\x13\x97\x79\x85\x81\xb8\xdc\x56\xd8\x10\x97\xaf\x2a\xac\x29\xc7\x8e\xca\xaa\xa8\x1f\xb4\xb2\xc6\x1d\xf9\x54\xd4\x9b\x0d\x58\xd2\x65\x5d\xe1\xdb\xfd\x07\x53\xb3\x0a\xd1\xb3\xe7\xc7\x60\xd4\x49\x77\x6f\x3f\xb9\x3f\xa2\x0f\x26\xf2\xa3\xaa\xb5\xb5\xd2\xa3\x05\x21\x7c\x69\x2b\x21\x3a\x15\xfa\xee\x24\xd3\x47\x99\x57\x80\xc9\xa0\xbc\x48\x38\xdc\xaa\x75\xab\x00\xdf\x94\x32\xa0\x03\x21\xa4\x29\x5d\x45\xa1\x74\x15\x4c\x19\x5a\x21\x5a\xc9\x50\x74\x33\x52\xe8\x54\x77\x6a\x1b\x96\x20\xa1\x88\x86\xfb\xe8\x56\xfd\x84\x40\xe9\x10\xec\xa3\xec\xb1\x79\x7a\x2a\x2b\xc0\x28\x61\x5c\xa8\x89\xf2\xc6\x8c\x41\xa6\xbc\xe0\x87\x7e\xce\xc9\x9b\xcd\xed\x36\x52\x5f\x72\x85\x8e\xd6\x39\x6a\xda\x16\xfa\x21\xce\x7e\x3a\xf9\x25\x9f\x40\xb1\xd4\x55\x91\xaf\x89\x7c\x19\x2a\x21\xa4\xa3\xf5\x16\x46\x27\x84\xec\x55\x17\x6c\x5b\x1b\xc9\x77\x77\xb8\x05\x34\x64\xa5\x55\x1d\xc5\x44\x0e\x8c\x57\xc8\x66\x9c\x34\xa2\x61\x44\x4f\xc3\x76\x97\x8f\xd8\x27\x4d\x16\xc0\x36\x69\xd9\x36\xd2\x95\x5c\xc1\x35\x28\xd9\xca\xfc\x1b\x7c\xe4\xae\xb8\x60\x4d\x47\x34\xb4\x3b\x46\xbb\x5b\x6f\xf1\x7a\xb9\x1b\xc6\x71\x26\xc7\xa4\xa0\x89\xe1\x38\xc7\x62\xc4\x9b\x6d\x01\xa3\xb2\xa9\xdb\xe5\x6c\xb4\xea\x4c\x06\xad\xaa\xc9\xa1\x55\x07\xba\x4d\x1b\x32\x46\x18\xac\xf2\xc9\x84\xa7\xa7\xab\xb4\x07\xd3\xb4\xce\xcc\x82\x4e\x6e\x83\x71\xfd\xd9\x44\xbd\xb7\x66\xb7\xce\xf1\x68\x78\x17\x47\x18\xd1\xaa\x48\x9f\x4f\x6f\xd6\xbb\x4b\xf4\x21\x5b\x13\xa5\xf1\xf0\xcd\xea\xdd\xe3\x79\xef\xad\x10\x97\x7f\xc5\xfe\x1d\xc7\xd6\x1d\xff\xd2\x47\x21\x5e\x2a\xf9\x7f\x5f\x1c\x3e\x6a\xdb\x9b\x5d\xf6\xc6\x1f\x7a\x6b\xb2\x11\xf0\xa5\xe0\xec\xfd\x7b\xd3\x5d\xdd\xe6\xb0\x75\x7e\xc1\xcb\x5f\xf4\x3f\xa9\xb2\x15\x9c\x66\x95\xac\x34\x00\xf8\xb3\xe0\x59\x22\x53\xb4\x8d\xfc\x31\xdd\x66\x7e\x2a\x95\xd1\xd2\x94\x11\x22\xfd\xd4\xad\xd4\x2d\xea\xa2\xe6\x15\x5d\x1d\x8d\x66\x23\x5d\x6f\x2d\xa4\x7c\x56\x45\x19\x5f\xc2\x1e\x31\x3b\x98\x46\xf7\x96\xb3\xe7\x9c\x5f\xda\x30\x23\xe0\xab\x09\x51\x37\x11\x93\xad\x17\x40\xb0\x2c\x8b\xf4\x50\x0d\x58\x75\x90\x11\x1d\x2e\xfd\x32\x0c\x9f\x8d\xd1\xa8\xf6\xad\x3b\x4c\xb8\xd0\xc1\xf2\xfc\x62\x22\xc9\x7d\x21\x6a\xca\xc9\xf4\xac\xdb\x5f\x17\x8f\x5b\x56\x75\xc5\x3e\xee\xbe\x72\xb9\xcc\x70\xc2\xc5\x98\xe9\x0c\x19\x90\x53\x39\xff\x4c\x93\xab\xe3\x37\x6d\x9a\x14\x90\x72\x04\xca\xee\xb3\x89\x79\x4d\x7c\x6a\x3b\xf5\xc9\xec\x83\xae\xff\xf9\xad\xf3\x2e\x04\xdd\xb1\x79\xe1\x38\xed\x17\x0c\xa4\x2f\x6b\x67\xe2\x44\x43\x71\xf9\x24\x46\x4d\x5a\x75\xd3\x0a\xb8\xec\xb0\x54\xa1\x49\x1b\xf1\xb6\x6f\x9b\xcd\x06\x58\xea\xb2\xa9\x60\x02\xd0\x52\x28\xd2\xbe\x92\x65\x05\xc5\x77\xf7\xf7\xdf\xaf\x3a\xdf\xc7\xda\xbc\xd1\x21\xb4\xee\xf8\xf7\x9f\xbf\x53\xec\x1d\xb7\x67\x73\x77\xd6\xad\x53\x3f\xfc\xb4\x7d\xdd\xfc\x52\xbf\x56\x1f\x3a\x75\xd6\xe1\xbf\x00\x00\x00\xff\xff\x21\x0f\xcd\x16\x0f\x06\x00\x00")
func publicStaticJsRuntimeMain3617f9c7JsBytes() ([]byte, error) {
return bindataRead(
_publicStaticJsRuntimeMain3617f9c7Js,
"public/static/js/runtime-main.3617f9c7.js",
)
}
func publicStaticJsRuntimeMain3617f9c7Js() (*asset, error) {
bytes, err := publicStaticJsRuntimeMain3617f9c7JsBytes()
if err != nil {
return nil, err
}
info := bindataFileInfo{name: "public/static/js/runtime-main.3617f9c7.js", size: 1551, mode: os.FileMode(0644), modTime: time.Unix(1597685417, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x29, 0xe4, 0x35, 0x9b, 0xcc, 0x55, 0x79, 0xdc, 0x6c, 0xbd, 0xbc, 0x6c, 0xb9, 0x46, 0xf3, 0x37, 0xc0, 0xd1, 0xcc, 0x24, 0x46, 0x38, 0x9d, 0xa7, 0xe6, 0xc7, 0xfe, 0xe5, 0xec, 0xe1, 0x91, 0x20}}
return a, nil
}
var _publicStaticJsRuntimeMain3617f9c7JsMap = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x94\x59\x6b\x73\xda\x38\xf7\xff\x2a\x5a\xbf\xd8\xc0\xac\x0a\x49\x2f\xff\x76\xc9\x9f\x79\x46\x16\xc4\x71\x68\x4a\x09\x4d\xd3\x6c\xc8\x64\x1c\x10\xe0\x60\x6c\xd7\x16\xb9\xb4\x9b\xef\xfe\xcc\x39\x92\x6c\x19\x9c\xdd\x3e\x6f\x08\x48\xe7\xf2\x3b\x57\x1d\x29\x3f\x9d\x7b\x91\xe5\x61\x12\x3b\x9d\x37\xd4\xc9\x93\x4d\x36\x15\xb9\xd3\xb9\x72\x5a\xad\xf6\x83\xb8\x4d\x83\xe9\xaa\x7d\x9b\x24\x32\x97\x59\x90\x3a\xd7\xd4\x89\x83\xb5\x22\xd0\xbb\x27\x79\x12\xa7\x3c\x88\xa2\xdb\x60\xba\x72\xa8\x33\x0b\x64\xe0\x50\x67\x9d\xcc\x36\x91\xf0\x67\x0e\x75\xa6\xcb\x4d\xbc\xb2\xbf\xe5\xb8\x9f\x89\x53\xa4\x81\x5f\xe2\x51\x4c\x37\xd2\x5a\x08\x1d\xea\x64\x22\x4f\xa2\x7b\xfc\x19\x89\x78\x21\x97\x0e\x75\x86\xb7\x77\x62\x2a\x1d\xea\xa4\x59\x22\x13\xf9\x94\x0a\x87\x3a\xcb\x20\x1f\x3e\xc4\x9f\xb3\x24\x15\x99\x7c\x02\x3d\x41\x14\x81\x90\x38\x97\x41\x14\x89\x19\x07\xbd\x20\x27\xdd\xe4\xcb\x02\x1c\x2e\x04\x99\x88\x25\xda\x70\xb4\x89\xa7\x12\x1c\x41\x9d\x7c\x19\xce\x41\xc9\x4c\xcc\x45\x96\x89\x59\x89\x2b\x48\xd3\x08\x35\x2c\xc5\x74\xd5\xdb\xd9\xce\x44\xbe\x89\x76\x39\x1d\xea\xcc\x37\xd1\x3c\x04\x2c\x0e\x75\xee\x90\x20\x45\x97\xe4\x69\x14\x4e\x81\xe0\xe6\x46\x3b\xf4\x26\x13\xdf\x37\x61\x26\x6e\x6e\x60\xdb\x36\xa3\xd4\x73\x80\x3e\x4b\x93\x4c\xe6\x85\x39\xe0\x26\xf8\x01\xe8\x40\x81\xa3\x62\xe5\x50\x67\x21\xa4\x14\x99\x43\x9d\x44\x21\x0b\x63\x61\x39\x4b\xc4\x9b\xb5\xc8\x82\xdb\x48\x93\x82\x19\x0e\x75\xc6\x4f\xeb\xdb\x04\x04\xca\x64\x2c\xb3\x30\x5e\x7c\x09\x16\x0e\x75\xee\x83\x68\x03\x84\x52\xe9\x55\xc8\x45\x5e\xd8\x19\x03\xa0\x69\x26\x02\x09\xbf\x56\x02\x34\xdc\x86\x31\xa2\x01\x04\x56\xfc\x0c\x80\x14\x5c\x02\x11\x60\x59\x16\xc0\x82\x5c\x86\x20\x25\x89\x66\x3b\x81\x41\x67\x5d\x53\x67\x1d\xa4\x69\x18\x2f\x72\xa7\xe3\x04\x8c\xf7\xe9\x98\xb1\x31\xa3\x7d\xc6\xbe\xbb\x9c\x7a\x6c\xf4\xde\xa5\x3e\xfb\xcc\xa8\xcf\x4e\x7d\x0e\xeb\xe7\xf0\xf9\xe9\x2b\x7e\xbf\x38\x86\xcf\x01\xf5\x18\x5f\xba\x3e\x7c\x9f\x9e\x14\x2b\xb1\x3b\x80\xef\xa1\xfb\xd1\x2c\xf9\xc7\xa7\xf0\x15\x09\x3d\x25\x00\x08\x53\xde\xc3\x65\x14\x36\x1e\xd0\x21\x63\xa3\x23\xea\x33\xfe\xc3\x3d\x29\x34\xb2\xb1\xa7\xd4\x78\xb0\x3f\xe4\xf4\x1c\x37\x04\x63\x82\xd3\x01\x63\x03\xae\x94\x7d\xa3\x3e\x63\x97\x17\xf0\x63\x81\x3f\x78\x7a\x84\x38\xc6\x43\x24\xeb\x99\x1d\x8f\xb1\x31\xf5\x59\xff\x91\x5f\x58\x4b\xf0\xbd\xff\x0e\x6c\x66\x7e\x0f\x18\x2e\x3d\xda\x67\xfc\xaf\xc1\x0b\x5a\xcf\x80\x37\x38\xa6\x03\xc6\xd3\xde\x14\x7e\x8c\x66\x20\x07\xd9\xd8\xe5\x31\xf5\xd9\x20\xe2\xd4\x67\x47\x9e\x80\xf5\xef\x2e\x3a\x37\x71\x97\x2e\xf5\x58\x5f\xf2\x21\x62\xe3\x74\xc4\xf8\x0c\xb1\x8d\xcf\x41\xd5\x97\xaf\xd4\x63\xc3\x1e\x1d\xb2\x63\xa6\xf1\x9d\xa0\xc2\x01\x3d\x65\xec\xb4\xa7\x8c\xbd\x05\x91\x2b\x40\xeb\xdd\xf7\x04\x58\x73\xa6\x03\x88\x5f\x7d\xd6\x63\x68\x09\xf8\x86\xfb\xf3\xd2\xf9\x08\xc2\xbf\x54\x82\xbf\x16\x1e\x67\x03\xca\x99\xd7\x46\xbc\x8a\x73\xe1\x2a\x4d\x27\x8a\xf4\x2f\x88\xc1\x1d\x0f\x5d\xb4\x11\xa4\x9e\xf1\x6d\xa9\x47\xf0\x29\x66\x28\x74\xe1\x1a\xa9\xfc\x4f\x5e\x40\x61\x23\x0c\xb5\xe8\x83\x34\x0f\x96\xdf\xb8\xdf\x94\x82\x4b\x30\x72\x7a\xa4\xc4\x7b\xac\xff\x86\x03\x0e\x7e\xf4\x51\x6d\x8f\x30\x0c\xa9\x96\xea\x31\xfe\xce\x15\xe8\xb4\x53\xe5\x55\xed\x5c\x85\xe9\x13\x2a\xa1\x03\xe6\xcb\x3e\xf2\x81\xd7\xfc\x33\x84\x31\x82\xbd\x35\x98\x31\x88\x21\x16\x7d\xf4\x23\x67\x3c\x73\x43\xfc\x05\xd9\xe6\xb1\xbf\xf4\x86\xc7\x3c\xe9\xa2\x6b\xc7\x4a\xc3\x01\xae\xbd\x43\x3f\x78\x6f\xb5\x93\xf0\x27\x8f\x5d\x54\x56\x59\x64\xe7\x1f\x5c\x3a\x62\x5e\x6c\x39\x61\x7c\x6c\x13\x5c\x82\xf2\x1f\x1c\x53\xd5\x03\x6b\xf9\xf1\x82\xa3\x74\xfc\x7e\x44\x47\x2a\x5f\xcf\x21\x5a\x9f\x98\x82\xac\x72\xed\xfc\x02\x33\x23\xc1\xa5\x61\x0f\x29\x95\x9b\x99\xb5\x72\x02\x80\xdb\x3d\x54\x30\x44\xc9\x10\x34\xef\xa4\x57\xd0\x0c\xe6\x27\xca\x38\xcc\x49\x3f\x06\x79\xde\xa3\x7b\xa9\x16\x47\x85\x4f\xbd\x47\xf7\x48\xad\x8d\x55\xec\xc1\x2f\x1f\xcb\x30\x9c\x82\x74\xfe\x86\x7f\x53\x44\xc8\xdf\x3f\xd3\xfb\x3e\xe3\x11\x7f\xa7\x5c\xf4\x87\x8b\x95\xf4\xc5\x62\xa5\x9c\xb1\xbe\x4f\x2f\x55\x76\x81\x28\x88\x34\xa4\xfe\x60\xd9\xd7\x02\x55\x4e\x2a\xb5\x98\x90\xdf\xe8\x77\x97\xb1\x6f\x01\xd8\xb9\xef\x32\x5d\xaa\x01\xe3\x07\x3c\xe5\xbb\x9a\x02\x4d\x70\xc9\x58\x80\xfa\x38\xd4\xd4\x90\x5e\xb0\xfe\xfb\x5e\x56\xc3\x40\x03\xc6\xa6\x48\x29\x70\x93\x0e\xd8\xe8\xbe\x87\xfe\x61\x89\x9b\x58\x70\x94\x33\x21\xaf\xfb\xf7\xe0\x85\xde\x39\x2c\x60\xfb\x64\xe7\xe8\xb4\x91\x61\x5b\x43\x12\xf3\x36\xfe\xfa\xdc\xc7\x3e\x87\xc2\x81\x8a\xa7\xae\x69\x46\xb0\xe7\x31\xf6\xc1\xa5\x2b\x97\xb1\xaf\x58\x19\xb9\xcb\xb0\x7d\x61\x78\x4f\x3d\x7a\x01\xde\x02\x5e\xc8\x28\xbe\xc4\x4a\xf6\xb1\x24\x07\x3f\x94\x39\xfb\xea\x0f\x3d\x65\xde\x3d\x88\x3e\x62\x8f\xae\xed\xcc\xfe\x10\xfc\x28\xdd\x1f\x15\xeb\xcf\x95\x61\xe7\x80\x04\xac\xff\x52\xc6\x05\xdb\xd0\x10\x6b\x53\xf6\x4a\x98\x6f\x5d\x1a\xba\x8c\x7d\x39\xd2\xe5\x05\x40\xf0\xe3\x14\x52\x74\x88\x15\x39\x34\x1e\xc0\xec\xe9\x63\xd3\xf4\xfb\xea\x8c\x50\xcd\xcb\x03\xa8\x43\x43\x7f\x0a\x49\xc3\x46\xaa\xdf\xc2\xc7\x69\x0f\xd4\xfe\xe9\x6b\x77\x79\xcc\x3f\xbb\xd7\x22\x5f\x5b\xb1\x90\x58\x8d\x4b\xae\Line truncated
func publicStaticJsRuntimeMain3617f9c7JsMapBytes() ([]byte, error) {
return bindataRead(
_publicStaticJsRuntimeMain3617f9c7JsMap,
"public/static/js/runtime-main.3617f9c7.js.map",
)
}
func publicStaticJsRuntimeMain3617f9c7JsMap() (*asset, error) {
bytes, err := publicStaticJsRuntimeMain3617f9c7JsMapBytes()
if err != nil {
return nil, err
}
info := bindataFileInfo{name: "public/static/js/runtime-main.3617f9c7.js.map", size: 8270, mode: os.FileMode(0644), modTime: time.Unix(1597685417, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x7, 0x1a, 0x8e, 0xf0, 0xc6, 0xc5, 0x6f, 0xd2, 0x5c, 0xc, 0xc5, 0x8f, 0x7b, 0xc5, 0x98, 0x25, 0x6c, 0xb2, 0xf0, 0xb7, 0xa4, 0x2c, 0x43, 0xeb, 0xed, 0x89, 0x76, 0xc0, 0xa9, 0xd5, 0x74, 0x78}}
return a, nil
}
// Asset loads and returns the asset for the given name.
// It returns an error if the asset could not be found or
// could not be loaded.
func Asset(name string) ([]byte, error) {
canonicalName := strings.Replace(name, "\\", "/", -1)
if f, ok := _bindata[canonicalName]; ok {
a, err := f()
if err != nil {
return nil, fmt.Errorf("Asset %s can't read by error: %v", name, err)
}
return a.bytes, nil
}
return nil, fmt.Errorf("Asset %s not found", name)
}
// AssetString returns the asset contents as a string (instead of a []byte).
func AssetString(name string) (string, error) {
data, err := Asset(name)
return string(data), err
}
// MustAsset is like Asset but panics when Asset would return an error.
// It simplifies safe initialization of global variables.
func MustAsset(name string) []byte {
a, err := Asset(name)
if err != nil {
panic("asset: Asset(" + name + "): " + err.Error())
}
return a
}
// MustAssetString is like AssetString but panics when Asset would return an
// error. It simplifies safe initialization of global variables.
func MustAssetString(name string) string {
return string(MustAsset(name))
}
// AssetInfo loads and returns the asset info for the given name.
// It returns an error if the asset could not be found or
// could not be loaded.
func AssetInfo(name string) (os.FileInfo, error) {
canonicalName := strings.Replace(name, "\\", "/", -1)
if f, ok := _bindata[canonicalName]; ok {
a, err := f()
if err != nil {
return nil, fmt.Errorf("AssetInfo %s can't read by error: %v", name, err)
}
return a.info, nil
}
return nil, fmt.Errorf("AssetInfo %s not found", name)
}
// AssetDigest returns the digest of the file with the given name. It returns an
// error if the asset could not be found or the digest could not be loaded.
func AssetDigest(name string) ([sha256.Size]byte, error) {
canonicalName := strings.Replace(name, "\\", "/", -1)
if f, ok := _bindata[canonicalName]; ok {
a, err := f()
if err != nil {
return [sha256.Size]byte{}, fmt.Errorf("AssetDigest %s can't read by error: %v", name, err)
}
return a.digest, nil
}
return [sha256.Size]byte{}, fmt.Errorf("AssetDigest %s not found", name)
}
// Digests returns a map of all known files and their checksums.
func Digests() (map[string][sha256.Size]byte, error) {
mp := make(map[string][sha256.Size]byte, len(_bindata))
for name := range _bindata {
a, err := _bindata[name]()
if err != nil {
return nil, err
}
mp[name] = a.digest
}
return mp, nil
}
// AssetNames returns the names of the assets.
func AssetNames() []string {
names := make([]string, 0, len(_bindata))
for name := range _bindata {
names = append(names, name)
}
return names
}
// _bindata is a table, holding each asset generator, mapped to its name.
var _bindata = map[string]func() (*asset, error){
"public/asset-manifest.json": publicAssetManifestJson,
"public/favicon.ico": publicFaviconIco,
"public/index.html": publicIndexHtml,
"public/manifest.json": publicManifestJson,
"public/paste.sh": publicPasteSh,
"public/precache-manifest.ebd42e3241a6e0bc6ccfe4cce3770077.js": publicPrecacheManifestEbd42e3241a6e0bc6ccfe4cce3770077Js,
"public/service-worker.js": publicServiceWorkerJs,
"public/static/css/2.a7e3db88.chunk.css": publicStaticCss2A7e3db88ChunkCss,
"public/static/css/2.a7e3db88.chunk.css.map": publicStaticCss2A7e3db88ChunkCssMap,
"public/static/css/main.ac206b6a.chunk.css": publicStaticCssMainAc206b6aChunkCss,
"public/static/css/main.ac206b6a.chunk.css.map": publicStaticCssMainAc206b6aChunkCssMap,
"public/static/js/2.bcd00145.chunk.js": publicStaticJs2Bcd00145ChunkJs,
"public/static/js/2.bcd00145.chunk.js.LICENSE.txt": publicStaticJs2Bcd00145ChunkJsLicenseTxt,
"public/static/js/2.bcd00145.chunk.js.map": publicStaticJs2Bcd00145ChunkJsMap,
"public/static/js/main.453e2db6.chunk.js": publicStaticJsMain453e2db6ChunkJs,
"public/static/js/main.453e2db6.chunk.js.map": publicStaticJsMain453e2db6ChunkJsMap,
"public/static/js/runtime-main.3617f9c7.js": publicStaticJsRuntimeMain3617f9c7Js,
"public/static/js/runtime-main.3617f9c7.js.map": publicStaticJsRuntimeMain3617f9c7JsMap,
}
// AssetDir returns the file names below a certain
// directory embedded in the file by go-bindata.
// For example if you run go-bindata on data/... and data contains the
// following hierarchy:
// data/
// foo.txt
// img/
// a.png
// b.png
// then AssetDir("data") would return []string{"foo.txt", "img"},
// AssetDir("data/img") would return []string{"a.png", "b.png"},
// AssetDir("foo.txt") and AssetDir("notexist") would return an error, and
// AssetDir("") will return []string{"data"}.
func AssetDir(name string) ([]string, error) {
node := _bintree
if len(name) != 0 {
canonicalName := strings.Replace(name, "\\", "/", -1)
pathList := strings.Split(canonicalName, "/")
for _, p := range pathList {
node = node.Children[p]
if node == nil {
return nil, fmt.Errorf("Asset %s not found", name)
}
}
}
if node.Func != nil {
return nil, fmt.Errorf("Asset %s not found", name)
}
rv := make([]string, 0, len(node.Children))
for childName := range node.Children {
rv = append(rv, childName)
}
return rv, nil
}
type bintree struct {
Func func() (*asset, error)
Children map[string]*bintree
}
var _bintree = &bintree{nil, map[string]*bintree{
"public": &bintree{nil, map[string]*bintree{
"asset-manifest.json": &bintree{publicAssetManifestJson, map[string]*bintree{}},
"favicon.ico": &bintree{publicFaviconIco, map[string]*bintree{}},
"index.html": &bintree{publicIndexHtml, map[string]*bintree{}},
"manifest.json": &bintree{publicManifestJson, map[string]*bintree{}},
"paste.sh": &bintree{publicPasteSh, map[string]*bintree{}},
"precache-manifest.ebd42e3241a6e0bc6ccfe4cce3770077.js": &bintree{publicPrecacheManifestEbd42e3241a6e0bc6ccfe4cce3770077Js, map[string]*bintree{}},
"service-worker.js": &bintree{publicServiceWorkerJs, map[string]*bintree{}},
"static": &bintree{nil, map[string]*bintree{
"css": &bintree{nil, map[string]*bintree{
"2.a7e3db88.chunk.css": &bintree{publicStaticCss2A7e3db88ChunkCss, map[string]*bintree{}},
"2.a7e3db88.chunk.css.map": &bintree{publicStaticCss2A7e3db88ChunkCssMap, map[string]*bintree{}},
"main.ac206b6a.chunk.css": &bintree{publicStaticCssMainAc206b6aChunkCss, map[string]*bintree{}},
"main.ac206b6a.chunk.css.map": &bintree{publicStaticCssMainAc206b6aChunkCssMap, map[string]*bintree{}},
}},
"js": &bintree{nil, map[string]*bintree{
"2.bcd00145.chunk.js": &bintree{publicStaticJs2Bcd00145ChunkJs, map[string]*bintree{}},
"2.bcd00145.chunk.js.LICENSE.txt": &bintree{publicStaticJs2Bcd00145ChunkJsLicenseTxt, map[string]*bintree{}},
"2.bcd00145.chunk.js.map": &bintree{publicStaticJs2Bcd00145ChunkJsMap, map[string]*bintree{}},
"main.453e2db6.chunk.js": &bintree{publicStaticJsMain453e2db6ChunkJs, map[string]*bintree{}},
"main.453e2db6.chunk.js.map": &bintree{publicStaticJsMain453e2db6ChunkJsMap, map[string]*bintree{}},
"runtime-main.3617f9c7.js": &bintree{publicStaticJsRuntimeMain3617f9c7Js, map[string]*bintree{}},
"runtime-main.3617f9c7.js.map": &bintree{publicStaticJsRuntimeMain3617f9c7JsMap, map[string]*bintree{}},
}},
}},
}},
}}
// RestoreAsset restores an asset under the given directory.
func RestoreAsset(dir, name string) error {
data, err := Asset(name)
if err != nil {
return err
}
info, err := AssetInfo(name)
if err != nil {
return err
}
err = os.MkdirAll(_filePath(dir, filepath.Dir(name)), os.FileMode(0755))
if err != nil {
return err
}
err = ioutil.WriteFile(_filePath(dir, name), data, info.Mode())
if err != nil {
return err
}
return os.Chtimes(_filePath(dir, name), info.ModTime(), info.ModTime())
}
// RestoreAssets restores an asset under the given directory recursively.
func RestoreAssets(dir, name string) error {
children, err := AssetDir(name)
// File
if err != nil {
return RestoreAsset(dir, name)
}
// Dir
for _, child := range children {
err = RestoreAssets(dir, filepath.Join(name, child))
if err != nil {
return err
}
}
return nil
}
func _filePath(dir, name string) string {
canonicalName := strings.Replace(name, "\\", "/", -1)
return filepath.Join(append([]string{dir}, strings.Split(canonicalName, "/")...)...)
}
func assetFS() *assetfs.AssetFS {
assetInfo := func(path string) (os.FileInfo, error) {
return os.Stat(path)
}
for k := range _bintree.Children {
return &assetfs.AssetFS{Asset: Asset, AssetDir: AssetDir, AssetInfo: assetInfo, Prefix: k}
}
panic("unreachable")
}
-220
View File
@@ -1,220 +0,0 @@
package routes
import (
"bufio"
"crypto/rand"
"crypto/sha256"
"encoding/base64"
"encoding/json"
"io"
"io/ioutil"
"net/http"
"os"
"strconv"
"strings"
"time"
"github.com/gorilla/mux"
"golang.org/x/sys/unix"
"sour.is/x/toolbox/httpsrv"
"sour.is/x/toolbox/log"
)
var store string
var randBytes int
func init() {
httpsrv.RegisterModule("paste", setConfig)
httpsrv.HttpRegister("paste", httpsrv.HttpRoutes{
{Name: "getRandom", Method: "GET", Pattern: "/paste/rng", HandlerFunc: getRandom},
{Name: "getPaste", Method: "GET", Pattern: "/paste/{id}", HandlerFunc: getPaste},
{Name: "getPaste", Method: "GET", Pattern: "/paste/get/{id}", HandlerFunc: getPaste},
{Name: "postPaste", Method: "POST", Pattern: "/paste", HandlerFunc: postPaste},
{Name: "getRandom", Method: "GET", Pattern: "/api/rng", HandlerFunc: getRandom},
{Name: "getPaste", Method: "GET", Pattern: "/api/{id}", HandlerFunc: getPaste},
{Name: "getPaste", Method: "GET", Pattern: "/api/get/{id}", HandlerFunc: getPaste},
{Name: "postPaste", Method: "POST", Pattern: "/api", HandlerFunc: postPaste},
})
}
func setConfig(config map[string]string) {
store = "data/"
if config["store"] != "" {
store = config["store"]
}
if !chkStore(store) {
log.Criticalf("[routes::Paste] Store location [%s] does not exist or is not writable.", store)
}
log.Noticef("[paste::getPaste] Store location set to [%s]", store)
randBytes = 1024
if config["random"] != "" {
randBytes, _ = strconv.Atoi(config["random"])
log.Noticef("[paste:getRandom] set random size to %d bytes", randBytes)
}
}
func chkStore(path string) bool {
file, err := os.Stat(path)
if err == nil {
return true
}
if os.IsNotExist(err) {
return false
}
if !file.IsDir() {
return false
}
if unix.Access(path, unix.W_OK&unix.R_OK) != nil {
return false
}
return true
}
func chkFile(path string) bool {
file, err := os.Stat(path)
if err == nil {
return true
}
if os.IsNotExist(err) {
return false
}
if file.IsDir() {
return false
}
if unix.Access(path, unix.W_OK&unix.R_OK) != nil {
return false
}
return true
}
func chkGone(path string) bool {
file, err := os.Stat(path)
if err != nil {
return true
}
if file.Size() == 0 {
return true
}
return false
}
func getRandom(w http.ResponseWriter, r *http.Request) {
s := make([]byte, randBytes)
rand.Read(s)
w.Header().Set("content-type", "application/octet-stream")
w.WriteHeader(http.StatusOK)
w.Write(s)
}
func getPaste(w http.ResponseWriter, r *http.Request) {
vars := mux.Vars(r)
id := vars["id"]
if !chkFile(store + id) {
w.WriteHeader(http.StatusNotFound)
w.Write([]byte("ERR Not Found"))
return
}
if chkGone(store + id) {
w.WriteHeader(http.StatusGone)
w.Write([]byte("ERR Gone"))
return
}
head, err := os.Open(store + id)
if err != nil {
log.Fatal(err)
}
defer head.Close()
keep := true
scanner := bufio.NewScanner(head)
for scanner.Scan() {
txt := scanner.Text()
log.Debug(txt)
if txt == "" {
break
}
if strings.HasPrefix(txt, "exp:") {
now := time.Now().Unix()
exp, err := strconv.ParseInt(strings.TrimSpace(strings.TrimPrefix(txt, "exp:")), 10, 64)
if err != nil {
log.Warning(err)
}
log.Debugf("%d > %d", now, exp)
if now > exp {
w.WriteHeader(http.StatusGone)
w.Write([]byte("ERR Gone"))
deleteFile(store + id)
return
}
}
if strings.HasPrefix(txt, "burn:") {
burn := strings.TrimSpace(strings.TrimPrefix(txt, "burn:"))
if burn == "true" {
keep = false
}
}
}
file, _ := os.Open(store + id)
defer file.Close()
w.WriteHeader(http.StatusOK)
scanner = bufio.NewScanner(file)
for scanner.Scan() {
w.Write(scanner.Bytes())
w.Write([]byte("\n"))
}
if !keep {
deleteFile(store + id)
}
}
func postPaste(w http.ResponseWriter, r *http.Request) {
defer r.Body.Close()
body, err := ioutil.ReadAll(io.LimitReader(r.Body, 1048576))
checkErr(err, w)
s256 := sha256.Sum256(body)
id := base64.RawURLEncoding.EncodeToString(s256[12:])
ioutil.WriteFile(store+id, body, 0644)
w.WriteHeader(http.StatusCreated)
w.Write([]byte("OK " + id))
w.WriteHeader(http.StatusCreated)
}
func checkErr(err error, w http.ResponseWriter) {
if err != nil {
w.WriteHeader(http.StatusBadRequest)
json.NewEncoder(w).Encode(err)
panic(err)
}
}
func deleteFile(path string) {
ioutil.WriteFile(path, []byte(""), 0644)
}
-195
View File
@@ -1,195 +0,0 @@
package routes
import (
"sour.is/x/httpsrv"
"os"
"golang.org/x/sys/unix"
"log"
"net/http"
"sour.is/x/ident"
"crypto/rand"
"encoding/base64"
"crypto/sha256"
"io/ioutil"
"io"
"bufio"
"github.com/gorilla/mux"
"strings"
"time"
"strconv"
)
var store string
var randBytes int
func init() {
httpsrv.RegisterModule("paste", SetConfig)
httpsrv.IdentRegister("paste", httpsrv.IdentRoutes{
{ "Paste", "GET", "/paste/rng", GetRandom, },
{ "Paste", "GET", "/paste/{id}", GetPaste, },
{ "Paste", "GET", "/paste/get/{id}", GetPaste, },
{ "Paste", "POST", "/paste", PostPaste, },
{ "Paste", "DELETE", "/paste/{id}", DeletePaste, },
{ "Paste", "GET", "/api/rng", GetRandom, },
{ "Paste", "GET", "/api/{id}", GetPaste, },
{ "Paste", "GET", "/api/get/{id}", GetPaste, },
{ "Paste", "POST", "/api", PostPaste, },
{ "Paste", "DELETE", "/api/{id}", DeletePaste, },
})
}
func SetConfig (config map[string]string) {
store = "data/"
if config["store"] != "" {
store = config["store"]
}
if !chkStore(store) {
log.Fatalf("[routes::Paste] Store location [%s] does not exist or is not writable.", store)
}
randBytes = 1024
if config["random"] != "" {
randBytes, _ = strconv.Atoi(config["random"])
}
}
func chkStore(path string) bool {
file, err := os.Stat(path)
if err == nil { return true }
if os.IsNotExist(err) { return false }
if !file.IsDir() { return false }
if unix.Access(path, unix.W_OK & unix.R_OK) != nil { return false }
return true
}
func chkFile(path string) bool {
file, err := os.Stat(path)
if err == nil { return true }
if os.IsNotExist(err) { return false }
if file.IsDir() { return false }
if unix.Access(path, unix.W_OK & unix.R_OK) != nil { return false }
return true
}
func chkGone(path string) bool {
file, err := os.Stat(path)
if err != nil { return true }
if file.Size() == 0 { return true }
return false
}
func GetRandom(w http.ResponseWriter, r *http.Request, i ident.Ident) {
w.WriteHeader(http.StatusOK)
w.Header().Set("content-type","application/octet-stream")
s := make([]byte, randBytes)
rand.Read(s)
w.Write(s)
}
func GetPaste(w http.ResponseWriter, r *http.Request, i ident.Ident) {
vars := mux.Vars(r)
id := vars["id"]
if !chkFile(store + id) {
w.WriteHeader(http.StatusNotFound)
w.Write([]byte("ERR Not Found"))
return
}
if chkGone(store + id) {
w.WriteHeader(http.StatusGone)
w.Write([]byte("ERR Gone"))
return
}
head, err := os.Open(store + id)
if err != nil {
log.Fatal(err)
}
defer head.Close()
keep := true
scanner := bufio.NewScanner(head)
for scanner.Scan() {
txt := scanner.Text()
log.Println(txt)
if (txt == "") {
break
}
if strings.HasPrefix(txt, "exp:") {
now := time.Now().Unix()
exp, err := strconv.ParseInt(strings.TrimSpace(strings.TrimPrefix(txt, "exp:")), 10, 64)
if err != nil {
log.Print(err)
}
if now > exp {
log.Printf("%d > %d", now, exp)
w.WriteHeader(http.StatusGone)
w.Write([]byte("ERR Gone"))
Delete(store + id)
return
}
}
if strings.HasPrefix(txt, "burn:") {
burn := strings.TrimSpace(strings.TrimPrefix(txt, "burn:"))
if burn == "true" {
keep = false
}
}
}
file, _ := os.Open(store + id)
defer file.Close()
w.WriteHeader(http.StatusOK)
scanner = bufio.NewScanner(file)
for scanner.Scan() {
w.Write(scanner.Bytes())
w.Write([]byte("\n"))
}
if !keep {
Delete(store + id)
}
}
func PostPaste(w http.ResponseWriter, r *http.Request, i ident.Ident) {
body, _ := ioutil.ReadAll(io.LimitReader(r.Body, 1048576))
s256 := sha256.Sum256(body)
id := base64.RawURLEncoding.EncodeToString(s256[12:])
ioutil.WriteFile(store + id, body, 0644)
w.WriteHeader(http.StatusCreated)
w.Write([]byte("OK " + id))
}
func DeletePaste(w http.ResponseWriter, r *http.Request, i ident.Ident) {
vars := mux.Vars(r)
id := vars["id"]
Delete(store + id)
w.WriteHeader(http.StatusNoContent)
w.Write([]byte("OK"))
}
func Delete(path string) {
ioutil.WriteFile(path, []byte(""), 0644)
}
-11
View File
@@ -1,11 +0,0 @@
package routes
import "sour.is/x/toolbox/httpsrv"
func init() {
httpsrv.AssetRegister("paste", httpsrv.AssetRoutes{
{Name: "Assets", Path: "/", HandlerFunc: httpsrv.FsHtml5(assetFS())},
})
}
//go:generate go run github.com/sour-is/go-assetfs/cmd/assetfs -pkg routes -prefix ../../ ../../public/ ../../public/static/css/ ../../public/static/js/
+49
View File
@@ -0,0 +1,49 @@
package main
import (
"context"
"log"
"net/http"
"strings"
"github.com/rs/cors"
"go.sour.is/pkg/env"
"go.sour.is/pkg/lg"
"go.sour.is/pkg/mux"
"go.sour.is/pkg/service"
"go.sour.is/pkg/slice"
)
var _ = apps.Register(20, func(ctx context.Context, svc *service.Harness) error {
s := &http.Server{}
svc.Add(s)
mux := mux.New()
s.Handler = cors.AllowAll().Handler(mux)
hdlr := s.Handler
s.Handler = http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
log.Println(r.Method, r.URL.Path)
hdlr.ServeHTTP(w, r)
})
s.Addr = env.Default("HTTP_LISTEN", ":8080")
if strings.HasPrefix(s.Addr, ":") {
s.Addr = "[::]" + s.Addr
}
svc.OnStart(func(ctx context.Context) error {
_, span := lg.Span(ctx)
defer span.End()
log.Print("Listen on ", s.Addr)
span.AddEvent("begin listen and serve on " + s.Addr)
mux.Add(slice.FilterType[interface{ RegisterHTTP(*http.ServeMux) }](svc.Services...)...)
return s.ListenAndServe()
})
svc.OnStop(s.Shutdown)
return nil
})
-15
View File
@@ -1,15 +0,0 @@
// +build tools
package tools
import (
_ "github.com/99designs/gqlgen"
_ "github.com/go-swagger/go-swagger/cmd/swagger"
_ "github.com/sour-is/go-assetfs/cmd/assetfs"
_ "github.com/sour-is/go-assetfs/cmd/bindata"
_ "github.com/sour-is/go-assetfs/pkg/assetfs"
_ "github.com/vektah/dataloaden"
)