diff --git a/cmd/web.go b/cmd/web.go
index 0f54bf805..78eb0261e 100644
--- a/cmd/web.go
+++ b/cmd/web.go
@@ -489,6 +489,20 @@ func runWeb(ctx *cli.Context) error {
m.Combo("/compare/*", repo.MustAllowPulls).Get(repo.CompareAndPullRequest).
Post(bindIgnErr(auth.CreateIssueForm{}), repo.CompareAndPullRequestPost)
+
+ m.Group("", func() {
+ m.Combo("/edit/*").Get(repo.EditFile).
+ Post(bindIgnErr(auth.EditRepoFileForm{}), repo.EditFilePost)
+ m.Combo("/new/*").Get(repo.EditNewFile).
+ Post(bindIgnErr(auth.EditRepoFileForm{}), repo.EditNewFilePost)
+ m.Post("/preview/*", bindIgnErr(auth.EditPreviewDiffForm{}), repo.DiffPreviewPost)
+ m.Combo("/upload/*").Get(repo.UploadFile).
+ Post(bindIgnErr(auth.UploadRepoFileForm{}), repo.UploadFilePost)
+ m.Post("/delete/*", bindIgnErr(auth.DeleteRepoFileForm{}), repo.DeleteFilePost)
+ m.Post("/branches", bindIgnErr(auth.NewBranchForm{}), repo.NewBranchPost)
+ m.Post("/upload-file", repo.UploadFileToServer)
+ m.Post("/upload-remove", bindIgnErr(auth.UploadRemoveFileForm{}), repo.UploadRemoveFileFromServer)
+ }, context.RepoRef(), context.RepoAssignment(), reqRepoWriter)
}, reqSignIn, context.RepoAssignment(), repo.MustBeNotBare)
m.Group("/:username/:reponame", func() {
diff --git a/conf/app.ini b/conf/app.ini
index d221e3ba9..29b4ae77d 100644
--- a/conf/app.ini
+++ b/conf/app.ini
@@ -19,6 +19,24 @@ FORCE_PRIVATE = false
MAX_CREATION_LIMIT = -1
; Patch test queue length, make it as large as possible
PULL_REQUEST_QUEUE_LENGTH = 10000
+; List of file extensions that should have line wraps in the CodeMirror editor
+; Separate extensions with a comma. To line wrap files w/o extension, just put a comma
+LINE_WRAP_EXTENSIONS = .txt,,.md,.markdown,.mdown,.mkd
+; Valid file modes that have a preview API associated with them, such as api/v1/markdown
+; Separate values by commas. Preview tab in edit mode won't show if the file extension doesn't match
+PREVIEW_TAB_APIS = markdown
+
+[upload]
+; Whether uploads are enabled. Defaults to `true`
+ENABLE_UPLOADS = true
+; Path for uploads. Defaults to `data/tmp/uploads` (tmp gets deleted on gogs restart)
+UPLOAD_TEMP_PATH = data/tmp/uploads
+; One or more allowed types, e.g. image/jpeg|image/png. Nothing means any file type
+UPLOAD_ALLOWED_TYPES =
+; Max size of each file in MB. Defaults to 32MB
+UPLOAD_FILE_MAX_SIZE = 32
+; Max number of files per upload. Defaults to 10
+UPLOAD_MAX_FILES = 10
[ui]
; Number of repositories that are showed in one explore page
@@ -50,6 +68,9 @@ ENABLE_HARD_LINE_BREAK = false
; List of custom URL-Schemes that are allowed as links when rendering Markdown
; for example git,magnet
CUSTOM_URL_SCHEMES =
+; List of file extensions that should be rendered/edited as Markdown
+; Separate extensions with a comma. To render files w/o extension as markdown, just put a comma
+MD_FILE_EXTENSIONS = .md,.markdown,.mdown,.mkd
[server]
PROTOCOL = http
diff --git a/models/error.go b/models/error.go
index 69b296247..6c02e9c85 100644
--- a/models/error.go
+++ b/models/error.go
@@ -404,6 +404,19 @@ func (err ErrReleaseNotExist) Error() string {
return fmt.Sprintf("Release tag does not exist [id: %d, tag_name: %s]", err.ID, err.TagName)
}
+type ErrRepoFileAlreadyExist struct {
+ FileName string
+}
+
+func IsErrRepoFileAlreadyExist(err error) bool {
+ _, ok := err.(ErrRepoFileAlreadyExist)
+ return ok
+}
+
+func (err ErrRepoFileAlreadyExist) Error() string {
+ return fmt.Sprintf("Repo file already exists [file name: %s]", err.FileName)
+}
+
// __________ .__
// \______ \____________ ____ ____ | |__
// | | _/\_ __ \__ \ / \_/ ___\| | \
@@ -614,3 +627,27 @@ func IsErrTeamAlreadyExist(err error) bool {
func (err ErrTeamAlreadyExist) Error() string {
return fmt.Sprintf("team already exists [org_id: %d, name: %s]", err.OrgID, err.Name)
}
+
+// ____ ___ .__ .___
+// | | \______ | | _________ __| _/
+// | | /\____ \| | / _ \__ \ / __ |
+// | | / | |_> > |_( <_> ) __ \_/ /_/ |
+// |______/ | __/|____/\____(____ /\____ |
+// |__| \/ \/
+//
+
+type ErrUploadNotExist struct {
+ ID int64
+ UUID string
+ UserID int64
+ RepoID int64
+}
+
+func IsErrUploadNotExist(err error) bool {
+ _, ok := err.(ErrAttachmentNotExist)
+ return ok
+}
+
+func (err ErrUploadNotExist) Error() string {
+ return fmt.Sprintf("attachment does not exist [id: %d, uuid: %s]", err.ID, err.UUID)
+}
diff --git a/models/pull.go b/models/pull.go
index 6380bbbd2..deb04e31f 100644
--- a/models/pull.go
+++ b/models/pull.go
@@ -287,7 +287,7 @@ func (pr *PullRequest) testPatch() (err error) {
log.Trace("PullRequest[%d].testPatch (patchPath): %s", pr.ID, patchPath)
- if err := pr.BaseRepo.UpdateLocalCopy(); err != nil {
+ if err := pr.BaseRepo.UpdateLocalCopy(pr.BaseRepo.DefaultBranch); err != nil {
return fmt.Errorf("UpdateLocalCopy: %v", err)
}
diff --git a/models/repo.go b/models/repo.go
index f8782db71..aa06570f5 100644
--- a/models/repo.go
+++ b/models/repo.go
@@ -29,12 +29,15 @@ import (
git "github.com/gogits/git-module"
api "github.com/gogits/go-gogs-client"
+ gouuid "github.com/satori/go.uuid"
"github.com/gogits/gogs/modules/bindata"
"github.com/gogits/gogs/modules/log"
"github.com/gogits/gogs/modules/markdown"
"github.com/gogits/gogs/modules/process"
"github.com/gogits/gogs/modules/setting"
+ "mime/multipart"
+ "io"
)
const (
@@ -406,16 +409,25 @@ func (repo *Repository) LocalCopyPath() string {
return path.Join(setting.AppDataPath, "tmp/local", com.ToStr(repo.ID))
}
-func updateLocalCopy(repoPath, localPath string) error {
+func updateLocalCopy(repoPath, localPath, branch string) error {
if !com.IsExist(localPath) {
if err := git.Clone(repoPath, localPath, git.CloneRepoOptions{
Timeout: time.Duration(setting.Git.Timeout.Clone) * time.Second,
+ Branch: branch,
}); err != nil {
return fmt.Errorf("Clone: %v", err)
}
} else {
+ if err := git.Checkout(localPath, git.CheckoutOptions{
+ Branch: branch,
+ Timeout: time.Duration(setting.Git.Timeout.Pull) * time.Second,
+ }); err != nil {
+ return fmt.Errorf("Checkout: %v", err)
+ }
if err := git.Pull(localPath, git.PullRemoteOptions{
- All: true,
+ All: false,
+ Remote: "origin",
+ Branch: branch,
Timeout: time.Duration(setting.Git.Timeout.Pull) * time.Second,
}); err != nil {
return fmt.Errorf("Pull: %v", err)
@@ -425,8 +437,8 @@ func updateLocalCopy(repoPath, localPath string) error {
}
// UpdateLocalCopy makes sure the local copy of repository is up-to-date.
-func (repo *Repository) UpdateLocalCopy() error {
- return updateLocalCopy(repo.RepoPath(), repo.LocalCopyPath())
+func (repo *Repository) UpdateLocalCopy(branch string) error {
+ return updateLocalCopy(repo.RepoPath(), repo.LocalCopyPath(), branch)
}
// PatchPath returns corresponding patch file path of repository by given issue ID.
@@ -2099,3 +2111,402 @@ func (repo *Repository) GetForks() ([]*Repository, error) {
forks := make([]*Repository, 0, repo.NumForks)
return forks, x.Find(&forks, &Repository{ForkID: repo.ID})
}
+
+// ___________ .___.__ __ ___________.__.__
+// \_ _____/ __| _/|__|/ |_ \_ _____/|__| | ____
+// | __)_ / __ | | \ __\ | __) | | | _/ __ \
+// | \/ /_/ | | || | | \ | | |_\ ___/
+// /_______ /\____ | |__||__| \___ / |__|____/\___ >
+// \/ \/ \/ \/
+
+var repoWorkingPool = &workingPool{
+ pool: make(map[string]*sync.Mutex),
+ count: make(map[string]int),
+}
+
+func (repo *Repository) LocalRepoPath() string {
+ return path.Join(setting.AppDataPath, "tmp/local-repo", com.ToStr(repo.ID))
+}
+
+// UpdateLocalRepo makes sure the local copy of repository is up-to-date.
+func (repo *Repository) UpdateLocalRepo(branchName string) error {
+ return updateLocalCopy(repo.RepoPath(), repo.LocalRepoPath(), branchName)
+}
+
+// DiscardLocalRepoChanges makes sure the local copy of repository is the same as the source
+func (repo *Repository) DiscardLocalRepoChanges(branchName string) error {
+ return discardLocalRepoChanges(repo.LocalRepoPath(), branchName)
+}
+
+// discardLocalRepoChanges discards local commits make sure
+// it is even to remote branch when local copy exists.
+func discardLocalRepoChanges(localPath string, branch string) error {
+ if !com.IsExist(localPath) {
+ return nil
+ }
+ // No need to check if nothing in the repository.
+ if !git.IsBranchExist(localPath, branch) {
+ return nil
+ }
+ if err := git.ResetHEAD(localPath, true, "origin/"+branch); err != nil {
+ return fmt.Errorf("ResetHEAD: %v", err)
+ }
+ return nil
+}
+
+// CheckoutNewBranch checks out a new branch from the given branch name
+func (repo *Repository) CheckoutNewBranch(oldBranchName, newBranchName string) error {
+ return checkoutNewBranch(repo.RepoPath(), repo.LocalRepoPath(), oldBranchName, newBranchName)
+}
+
+func checkoutNewBranch(repoPath, localPath, oldBranch, newBranch string) error {
+ if !com.IsExist(localPath) {
+ if error := updateLocalCopy(repoPath, localPath, oldBranch); error != nil {
+ return error
+ }
+ }
+ if err := git.Checkout(localPath, git.CheckoutOptions {
+ Branch: newBranch,
+ OldBranch: oldBranch,
+ Timeout: time.Duration(setting.Git.Timeout.Pull) * time.Second,
+ }); err != nil {
+ return fmt.Errorf("Checkout New Branch: %v", err)
+ }
+ return nil
+}
+
+// updateRepoFile adds new file to repository.
+func (repo *Repository) UpdateRepoFile(doer *User, oldBranchName, branchName, oldTreeName, treeName, content, message string, isNewFile bool) (err error) {
+ repoWorkingPool.CheckIn(com.ToStr(repo.ID))
+ defer repoWorkingPool.CheckOut(com.ToStr(repo.ID))
+
+ if err = repo.DiscardLocalRepoChanges(oldBranchName); err != nil {
+ return fmt.Errorf("discardLocalRepoChanges: %s - %v", oldBranchName, err)
+ } else if err = repo.UpdateLocalRepo(oldBranchName); err != nil {
+ return fmt.Errorf("UpdateLocalRepo: %s - %v", oldBranchName, err)
+ }
+
+ if( oldBranchName != branchName ){
+ if err := repo.CheckoutNewBranch(oldBranchName, branchName); err != nil {
+ return fmt.Errorf("CheckoutNewBranch: %s - %s: %v", oldBranchName, branchName, err)
+ }
+ }
+
+ localPath := repo.LocalRepoPath()
+ filePath := path.Join(localPath, treeName)
+
+ if len(message) == 0 {
+ if isNewFile {
+ message = "Add '" + treeName + "'"
+ } else {
+ message = "Update '" + treeName + "'"
+ }
+ }
+
+ if ! com.IsExist(filepath.Dir(filePath)) {
+ os.MkdirAll(filepath.Dir(filePath), os.ModePerm)
+ }
+
+ // If new file, make sure it doesn't exist; if old file, move if file name change
+ if isNewFile {
+ if com.IsExist(filePath) {
+ return ErrRepoFileAlreadyExist{filePath}
+ }
+ } else if oldTreeName!="" && treeName!="" && treeName != oldTreeName {
+ if err = git.MoveFile(localPath, oldTreeName, treeName); err != nil {
+ return fmt.Errorf("MoveFile: %v", err)
+ }
+ }
+
+ if err = ioutil.WriteFile(filePath, []byte(content), 0666); err != nil {
+ return fmt.Errorf("WriteFile: %v", err)
+ }
+
+ if err = git.AddChanges(localPath, true); err != nil {
+ return fmt.Errorf("AddChanges: %v", err)
+ } else if err = git.CommitChanges(localPath, message, doer.NewGitSig()); err != nil {
+ return fmt.Errorf("CommitChanges: %v", err)
+ } else if err = git.Push(localPath, "origin", branchName); err != nil {
+ return fmt.Errorf("Push: %v", err)
+ }
+
+ return nil
+}
+
+func (repo *Repository) GetPreviewDiff(repoPath, branchName, treeName, text string, maxlines, maxchars, maxfiles int) (diff *Diff, err error) {
+ repoWorkingPool.CheckIn(com.ToStr(repo.ID))
+ defer repoWorkingPool.CheckOut(com.ToStr(repo.ID))
+
+ if err = repo.DiscardLocalRepoChanges(branchName); err != nil {
+ return nil, fmt.Errorf("discardLocalRepoChanges: %s - %v", branchName, err)
+ } else if err = repo.UpdateLocalRepo(branchName); err != nil {
+ return nil, fmt.Errorf("UpdateLocalRepo: %s - %v", branchName, err)
+ }
+
+ localPath := repo.LocalRepoPath()
+ filePath := path.Join(localPath, treeName)
+
+ if ! com.IsExist(filepath.Dir(filePath)) {
+ os.MkdirAll(filepath.Dir(filePath), os.ModePerm)
+ }
+
+ if err = ioutil.WriteFile(filePath, []byte(text), 0666); err != nil {
+ return nil, fmt.Errorf("WriteFile: %v", err)
+ }
+
+ var cmd *exec.Cmd
+ cmd = exec.Command("git", "diff", treeName)
+ cmd.Dir = localPath
+ cmd.Stderr = os.Stderr
+
+ stdout, err := cmd.StdoutPipe()
+ if err != nil {
+ return nil, fmt.Errorf("StdoutPipe: %v", err)
+ }
+
+ if err = cmd.Start(); err != nil {
+ return nil, fmt.Errorf("Start: %v", err)
+ }
+
+ pid := process.Add(fmt.Sprintf("GetDiffRange (%s)", repoPath), cmd)
+ defer process.Remove(pid)
+
+ diff, err = ParsePatch(maxlines, maxchars, maxfiles, stdout)
+ if err != nil {
+ return nil, fmt.Errorf("ParsePatch: %v", err)
+ }
+
+ if err = cmd.Wait(); err != nil {
+ return nil, fmt.Errorf("Wait: %v", err)
+ }
+
+ return diff, nil
+}
+
+// ________ .__ __ ___________.__.__
+// \______ \ ____ | | _____/ |_ ____ \_ _____/|__| | ____
+// | | \_/ __ \| | _/ __ \ __\/ __ \ | __) | | | _/ __ \
+// | ` \ ___/| |_\ ___/| | \ ___/ | \ | | |_\ ___/
+// /_______ /\___ >____/\___ >__| \___ > \___ / |__|____/\___ >
+// \/ \/ \/ \/ \/ \/
+//
+
+func (repo *Repository) DeleteRepoFile(doer *User, branch, treeName, message string) (err error) {
+ repoWorkingPool.CheckIn(com.ToStr(repo.ID))
+ defer repoWorkingPool.CheckOut(com.ToStr(repo.ID))
+
+ localPath := repo.LocalRepoPath()
+ if err = discardLocalRepoChanges(localPath, branch); err != nil {
+ return fmt.Errorf("discardLocalRepoChanges: %v", err)
+ } else if err = repo.UpdateLocalRepo(branch); err != nil {
+ return fmt.Errorf("UpdateLocalRepo: %v", err)
+ }
+
+ filePath := path.Join(localPath, treeName)
+ os.Remove(filePath)
+
+ if len(message) == 0 {
+ message = "Delete file '" + treeName + "'"
+ }
+
+ if err = git.AddChanges(localPath, true); err != nil {
+ return fmt.Errorf("AddChanges: %v", err)
+ } else if err = git.CommitChanges(localPath, message, doer.NewGitSig()); err != nil {
+ return fmt.Errorf("CommitChanges: %v", err)
+ } else if err = git.Push(localPath, "origin", branch); err != nil {
+ return fmt.Errorf("Push: %v", err)
+ }
+
+ return nil
+}
+
+// ____ ___ .__ .___ ___________.___.__
+// | | \______ | | _________ __| _/ \_ _____/| | | ____ ______
+// | | /\____ \| | / _ \__ \ / __ | | __) | | | _/ __ \ / ___/
+// | | / | |_> > |_( <_> ) __ \_/ /_/ | | \ | | |_\ ___/ \___ \
+// |______/ | __/|____/\____(____ /\____ | \___ / |___|____/\___ >____ >
+// |__| \/ \/ \/ \/ \/
+//
+
+// uploadRepoFiles uploads new files to repository.
+func (repo *Repository) UploadRepoFiles(doer *User, oldBranchName, branchName, treeName, message string, uuids []string) (err error) {
+ repoWorkingPool.CheckIn(com.ToStr(repo.ID))
+ defer repoWorkingPool.CheckOut(com.ToStr(repo.ID))
+
+ localPath := repo.LocalRepoPath()
+
+ if err = discardLocalRepoChanges(localPath, oldBranchName); err != nil {
+ return fmt.Errorf("discardLocalRepoChanges: %v", err)
+ } else if err = repo.UpdateLocalRepo(oldBranchName); err != nil {
+ return fmt.Errorf("UpdateLocalRepo: %v", err)
+ }
+
+ if( oldBranchName != branchName ){
+ repo.CheckoutNewBranch(oldBranchName, branchName)
+ }
+
+ dirPath := path.Join(localPath, treeName)
+
+ if ! com.IsExist(dirPath) {
+ os.MkdirAll(dirPath, os.ModePerm)
+ }
+
+ // Copy uploaded files into repository.
+ for _, uuid := range uuids {
+ upload, err := getUpload(uuid, doer.Id, repo.ID)
+ if err != nil {
+ if IsErrUploadNotExist(err) {
+ continue
+ }
+ return fmt.Errorf("getUpload[%s]: %v", uuid, err)
+ }
+ uuidPath := upload.LocalPath()
+ filePath := dirPath+"/"+upload.Name
+ if err := os.Rename(uuidPath, filePath); err != nil {
+ DeleteUpload(upload, true);
+ return fmt.Errorf("Rename[%s -> %s]: %v", uuidPath, filePath, err)
+ }
+ DeleteUpload(upload, false); // false because we have moved the file
+ }
+
+ if len(message) == 0 {
+ message = "Add files to '" + treeName + "'"
+ }
+
+ if err = git.AddChanges(localPath, true); err != nil {
+ return fmt.Errorf("AddChanges: %v", err)
+ } else if err = git.CommitChanges(localPath, message, doer.NewGitSig()); err != nil {
+ return fmt.Errorf("CommitChanges: %v", err)
+ } else if err = git.Push(localPath, "origin", branchName); err != nil {
+ return fmt.Errorf("Push: %v", err)
+ }
+
+ return nil
+}
+
+// Upload represent a uploaded file to a repo to be deleted when moved
+type Upload struct {
+ ID int64 `xorm:"pk autoincr"`
+ UUID string `xorm:"uuid UNIQUE"`
+ UID int64 `xorm:"INDEX"`
+ RepoID int64 `xorm:"INDEX"`
+ Name string
+ Created time.Time `xorm:"-"`
+ CreatedUnix int64
+}
+
+func (u *Upload) BeforeInsert() {
+ u.CreatedUnix = time.Now().UTC().Unix()
+}
+
+func (u *Upload) AfterSet(colName string, _ xorm.Cell) {
+ switch colName {
+ case "created_unix":
+ u.Created = time.Unix(u.CreatedUnix, 0).Local()
+ }
+}
+
+// UploadLocalPath returns where uploads is stored in local file system based on given UUID.
+func UploadLocalPath(uuid string) string {
+ return path.Join(setting.UploadTempPath, uuid[0:1], uuid[1:2], uuid)
+}
+
+// LocalPath returns where uploads are temporarily stored in local file system.
+func (upload *Upload) LocalPath() string {
+ return UploadLocalPath(upload.UUID)
+}
+
+// NewUpload creates a new upload object.
+func NewUpload(name string, buf []byte, file multipart.File, userId, repoId int64) (_ *Upload, err error) {
+ up := &Upload{
+ UUID: gouuid.NewV4().String(),
+ Name: name,
+ UID: userId,
+ RepoID: repoId,
+ }
+
+ if err = os.MkdirAll(path.Dir(up.LocalPath()), os.ModePerm); err != nil {
+ return nil, fmt.Errorf("MkdirAll: %v", err)
+ }
+
+ fw, err := os.Create(up.LocalPath())
+ if err != nil {
+ return nil, fmt.Errorf("Create: %v", err)
+ }
+ defer fw.Close()
+
+ if _, err = fw.Write(buf); err != nil {
+ return nil, fmt.Errorf("Write: %v", err)
+ } else if _, err = io.Copy(fw, file); err != nil {
+ return nil, fmt.Errorf("Copy: %v", err)
+ }
+
+ sess := x.NewSession()
+ defer sessionRelease(sess)
+ if err := sess.Begin(); err != nil {
+ return nil, err
+ }
+ if _, err := sess.Insert(up); err != nil {
+ return nil, err
+ }
+
+ return up, sess.Commit()
+}
+
+// RemoveUpload removes the file by UUID
+func RemoveUpload(uuid string, userId, repoId int64) (err error) {
+ sess := x.NewSession()
+ defer sessionRelease(sess)
+ if err := sess.Begin(); err != nil {
+ return err
+ }
+ upload, err := getUpload(uuid, userId, repoId)
+ if err != nil {
+ return fmt.Errorf("getUpload[%s]: %v", uuid, err)
+ }
+
+ if err := DeleteUpload(upload, true); err != nil {
+ return fmt.Errorf("DeleteUpload[%s]: %v", uuid, err)
+ }
+
+ return nil
+}
+
+func getUpload(uuid string, userId, repoId int64) (*Upload, error) {
+ up := &Upload{UUID: uuid, UID: userId, RepoID: repoId}
+ has, err := x.Get(up)
+ if err != nil {
+ return nil, err
+ } else if !has {
+ return nil, ErrUploadNotExist{0, uuid, userId, repoId}
+ }
+ return up, nil
+}
+
+// GetUpload returns Upload by given UUID.
+func GetUpload(uuid string, userId, repoId int64) (*Upload, error) {
+ return getUpload(uuid, userId, repoId)
+}
+
+// DeleteUpload deletes the given upload
+func DeleteUpload(u *Upload, remove bool) error {
+ _, err := DeleteUploads([]*Upload{u}, remove)
+ return err
+}
+
+// DeleteUploads deletes the given uploads
+func DeleteUploads(uploads []*Upload, remove bool) (int, error) {
+ for i, u := range uploads {
+ if remove {
+ if err := os.Remove(u.LocalPath()); err != nil {
+ return i, err
+ }
+ }
+
+ if _, err := x.Delete(u); err != nil {
+ return i, err
+ }
+ }
+
+ return len(uploads), nil
+}
diff --git a/models/wiki.go b/models/wiki.go
index 39fb96dd5..a08edd840 100644
--- a/models/wiki.go
+++ b/models/wiki.go
@@ -115,7 +115,7 @@ func (repo *Repository) LocalWikiPath() string {
// UpdateLocalWiki makes sure the local copy of repository wiki is up-to-date.
func (repo *Repository) UpdateLocalWiki() error {
- return updateLocalCopy(repo.WikiPath(), repo.LocalWikiPath())
+ return updateLocalCopy(repo.WikiPath(), repo.LocalWikiPath(), repo.DefaultBranch)
}
// discardLocalWikiChanges discards local commits make sure
diff --git a/modules/auth/repo_form.go b/modules/auth/repo_form.go
index 13e53497d..7888de70b 100644
--- a/modules/auth/repo_form.go
+++ b/modules/auth/repo_form.go
@@ -268,3 +268,92 @@ type NewWikiForm struct {
func (f *NewWikiForm) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors {
return validate(errs, ctx.Data, f, ctx.Locale)
}
+
+// ___________ .___.__ __
+// \_ _____/ __| _/|__|/ |_
+// | __)_ / __ | | \ __\
+// | \/ /_/ | | || |
+// /_______ /\____ | |__||__|
+// \/ \/
+
+type EditRepoFileForm struct {
+ TreeName string `binding:"Required;MaxSize(500)"`
+ Content string `binding:"Required"`
+ CommitSummary string `binding:"MaxSize(100)`
+ CommitMessage string
+ CommitChoice string `binding:"Required;MaxSize(50)"`
+ NewBranchName string `binding:"AlphaDashDot;MaxSize(100)"`
+ LastCommit string
+}
+
+func (f *EditRepoFileForm) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors {
+ return validate(errs, ctx.Data, f, ctx.Locale)
+}
+
+type EditPreviewDiffForm struct {
+ Content string
+}
+
+func (f *EditPreviewDiffForm) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors {
+ return validate(errs, ctx.Data, f, ctx.Locale)
+}
+
+// ____ ___ .__ .___
+// | | \______ | | _________ __| _/
+// | | /\____ \| | / _ \__ \ / __ |
+// | | / | |_> > |_( <_> ) __ \_/ /_/ |
+// |______/ | __/|____/\____(____ /\____ |
+// |__| \/ \/
+//
+
+type UploadRepoFileForm struct {
+ TreeName string `binding:MaxSize(500)"`
+ CommitSummary string `binding:"MaxSize(100)`
+ CommitMessage string
+ CommitChoice string `binding:"Required;MaxSize(50)"`
+ NewBranchName string `binding:"AlphaDashDot;MaxSize(100)"`
+ Files []string
+}
+
+func (f *UploadRepoFileForm) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors {
+ return validate(errs, ctx.Data, f, ctx.Locale)
+}
+
+type UploadRemoveFileForm struct {
+ File string `binding:"Required;MaxSize(50)"`
+}
+
+func (f *UploadRemoveFileForm) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors {
+ return validate(errs, ctx.Data, f, ctx.Locale)
+}
+
+// ________ .__ __
+// \______ \ ____ | | _____/ |_ ____
+// | | \_/ __ \| | _/ __ \ __\/ __ \
+// | ` \ ___/| |_\ ___/| | \ ___/
+// /_______ /\___ >____/\___ >__| \___ >
+// \/ \/ \/ \/
+
+type DeleteRepoFileForm struct {
+ CommitSummary string `binding:"MaxSize(100)`
+}
+
+func (f *DeleteRepoFileForm) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors {
+ return validate(errs, ctx.Data, f, ctx.Locale)
+}
+
+
+// __________ .__
+// \______ \____________ ____ ____ | |__
+// | | _/\_ __ \__ \ / \_/ ___\| | \
+// | | \ | | \// __ \| | \ \___| Y \
+// |______ / |__| (____ /___| /\___ >___| /
+// \/ \/ \/ \/ \/
+type NewBranchForm struct {
+ OldBranchName string `binding:"Required;MaxSize(100)"`
+ BranchName string `binding:"Required;MaxSize(100)"`
+}
+
+func (f *NewBranchForm) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors {
+ return validate(errs, ctx.Data, f, ctx.Locale)
+}
diff --git a/modules/bindata/bindata.go b/modules/bindata/bindata.go
index 7eae03dbc..779a5535f 100644
--- a/modules/bindata/bindata.go
+++ b/modules/bindata/bindata.go
@@ -228,11 +228,11 @@ import (
"compress/gzip"
"fmt"
"io"
- "strings"
- "os"
- "time"
"io/ioutil"
+ "os"
"path/filepath"
+ "strings"
+ "time"
)
func bindataRead(data []byte, name string) ([]byte, error) {
@@ -261,9 +261,9 @@ type asset struct {
}
type bindataFileInfo struct {
- name string
- size int64
- mode os.FileMode
+ name string
+ size int64
+ mode os.FileMode
modTime time.Time
}
@@ -286,7 +286,7 @@ func (fi bindataFileInfo) Sys() interface{} {
return nil
}
-var _confAppIni = []byte("\x1f\x8b\x08\x00\x00\x09\x6e\x88\x00\xff\xb4\x5a\x5b\x6f\xe3\x48\x76\x7e\xe7\xaf\xa8\xf1\x64\xd2\xee\x80\x92\x7c\x69\xbb\x3d\x9e\xf5\x66\x64\x89\xb2\xb5\xad\xdb\x92\x72\xf7\xf4\x34\x0c\x9a\x16\x4b\x12\xc7\x14\xa9\x61\x51\x76\x7b\x10\x04\xbb\xc8\x43\x2e\x40\x90\x87\x04\x09\x02\x04\x41\xf2\x90\x2c\xb0\xb9\xed\x22\x2f\x3b\xc9\x24\x2f\x93\xbc\xf7\xfc\x87\xcd\x6c\xf6\x69\xff\x42\xbe\x73\xaa\x28\x51\x6e\x8f\x37\x0b\x24\x73\xb1\x8a\xc5\xaa\x53\x55\xe7\xfa\x9d\x53\x7c\x57\xf4\x9c\xe7\x8e\x2b\xf8\x4f\xb7\xdf\x6c\xb7\x5e\x8a\xe1\x69\xdb\x13\xad\x76\xc7\xb1\xde\x15\x83\x8e\x53\xf7\x1c\xd1\xad\x3f\x73\x44\xe3\xb4\xde\x3b\x71\x3c\xd1\xef\x89\x46\xdf\x75\x1d\x6f\xd0\xef\x35\xdb\xbd\x13\xd1\x38\xf3\x86\xfd\x2e\x3a\x7b\xad\xf6\x89\x9e\x69\x7d\x20\xea\xf3\xb9\x48\x82\x99\x14\xf9\x34\xc8\x85\x9a\xa6\x37\x4a\xa4\x89\x90\xd7\x32\xbb\x15\xf3\x60\x82\x17\x51\x1e\x4b\xab\x3e\x18\xf8\xbd\x7a\xd7\x11\x47\xe2\x24\x9d\xa8\x43\xfc\x15\x27\x51\x2e\x3c\x99\x5d\x47\x23\x09\x4a\x8d\x69\x90\x60\x38\xfa\xa2\xb1\xb8\x4d\x17\x22\x5b\x24\x22\x4e\x47\x41\x1c\xdf\x5a\xee\x59\xcf\x3f\xf3\xb0\xfb\x23\x31\x89\x72\x8c\x76\xa2\x7c\x2a\x33\xb1\x11\xca\xeb\x0d\x5b\x6c\xcc\xb3\x34\xdc\x10\x29\x3a\x72\xa9\x72\xf4\x84\x72\x1c\x2c\x62\xd0\x52\x7a\x0c\x53\xc0\xd1\x69\x03\x78\xb6\xac\x57\x99\x9c\xa7\x2a\xca\xd3\xec\xf6\xdc\x72\xfb\xfd\xa1\x38\xb2\xbc\x86\xdb\x1e\x0c\xfd\xe1\xcb\x01\x0d\xbb\x0c\xd4\x14\x2b\x35\x0d\xa5\x7a\xcf\x6b\x8b\xd1\x34\xc8\x94\xcc\x2d\x7a\xf0\xc1\x2a\xd7\x73\x68\xe2\x07\xa2\x95\x66\x23\x69\x8e\x9d\xc8\x1b\xb1\xa2\x2e\xf2\x54\x5c\x4a\x31\xcf\xa2\xeb\x20\x97\x56\xab\xef\x36\x1c\x7f\xe0\xb6\x9f\xd7\x87\xb4\xca\x38\x88\x15\x1d\xff\x24\x4e\x2f\x83\x58\xcc\x82\xd7\xd1\x6c\x31\x13\xa3\x4c\x06\x79\x04\x4e\xc6\xd1\x0c\x2c\x49\xc7\x65\x8a\x73\x9c\x7c\xa1\x64\x66\x8b\xca\xb6\x98\xc9\x20\x51\x22\x49\xf5\x48\xab\x5b\xff\xc8\x6f\xb8\x4e\x7d\xd8\xee\xf7\xfc\x4e\xbb\xdb\xc6\xfe\x30\x0c\x2b\x0c\x82\x7c\x34\x15\xc4\x1f\xf1\xe9\x42\x2e\xa4\x88\x65\x32\xc9\xa7\x36\xd6\xbc\x62\xbe\x07\x4a\xc4\x41\x06\x19\xa0\x81\xb5\x54\x74\x09\xc1\x0d\xce\x3a\x1d\xdf\x75\xbe\x7b\xe6\x78\x43\x1f\x7f\xcf\x1c\xbf\xe3\xf4\x4e\x86\xa7\x20\xbb\xbd\x85\x7f\xc0\xca\x45\x74\x0e\xfa\xbd\xc5\xec\x12\x1b\x2b\x6f\x35\x92\x4a\x2b\x46\x90\x49\x56\x0e\x19\x8a\x28\x81\x82\x80\x55\xaf\xe7\x71\x8a\x5e\xd2\x11\xcb\xf9\x68\xd0\xe9\xbb\x60\x4b\xfd\x04\xaa\xe6\xf7\xce\xba\xa0\xbe\xb3\xb5\x46\x34\x52\x6a\xf1\xcd\xe4\x98\x4c\xdb\xf3\xce\xee\x10\xd9\x5e\x27\xb2\x64\x6f\x3a\x03\xb3\xd4\x1d\x22\xc1\x28\x8f\xae\xa3\xfc\x56\x8c\xa5\x0c\xad\x96\xe3\x34\x7d\x66\x67\xbf\x0b\x36\x1a\x82\x7b\xa0\xf7\x3c\x88\xc1\x3e\x90\xbb\x80\x12\xce\x64\x65\x94\xe2\x28\x17\x90\x44\x1e\x88\x3c\x98\xd8\x24\x9c\x50\x5c\xde\x8a\x7a\x12\x66\x69\x14\x8a\x6f\x63\x5e\x95\x76\x52\x4f\xb0\xd6\x75\x10\xa3\x8f\x27\x41\x68\xe0\xfd\x46\x82\xd5\xb5\xfa\x86\x91\x0a\xc0\xf6\x0d\x71\x13\xc5\xb1\x98\x06\xd7\x64\x59\x72\xa9\xce\x2a\xbf\x8d\x49\x5b\xba\xc4\xba\x28\x19\xa7\x87\x62\x9a\xe7\x73\x75\x58\xab\x41\xab\x65\x9c\x42\x35\x54\x75\x92\xa6\x93\x58\x56\x71\xc8\xda\x8d\xbc\xac\x2d\xe6\x21\x34\x4f\xd5\x76\xb6\xb6\x9f\xd4\xb6\xb7\x6b\xde\x62\x3e\x4f\xb3\xbc\x32\x4e\xb3\x4a\xe9\x00\x95\x28\xa9\x34\xa6\x59\x8a\xe7\xdd\xf7\xf9\xa5\xd9\xbe\x35\x3c\x75\xba\x0e\xd8\x00\x19\xf9\x5d\x67\x58\xf7\x87\xf5\x13\xb0\xe2\xe2\xdd\xf1\x78\x6f\xf7\xc9\xee\x05\x6d\x28\x78\x2d\x54\xf4\x19\x73\x65\x1c\xc5\x24\x28\x56\x7b\x9c\x67\x1e\x07\xb7\x60\xc7\xa6\x39\x83\x22\x9b\x3c\xe8\x46\xc7\x8f\x59\x57\x9b\x6d\x6f\xd0\xa9\xbf\xf4\xc9\xa1\xf8\x5e\xfb\x63\xb2\x89\x83\xdd\x83\x83\xfd\xad\x03\xd6\xac\x6a\x10\xce\xa2\x64\x5d\xbf\x48\xf7\x1f\xd6\x04\xf2\x15\xeb\x8a\xb0\xb7\xf5\xb6\x8a\x3e\x48\xc2\x75\x06\xfd\x07\x49\x24\x69\x0e\xcf\xf5\x30\x91\x5e\x7f\xd8\x6e\xdc\xd5\xeb\xbd\x35\x32\x69\x36\x09\x92\xe8\x33\x6d\xed\x0f\xd1\xea\xbb\x27\x6f\xed\xc7\x7a\x35\x0b\xb2\xab\x30\xbd\x61\x0e\x39\x09\xe9\x0e\xb4\x26\x0b\xa1\x58\x98\x77\x09\x2f\x72\x05\x53\xcb\x65\xa2\x40\xde\x72\x7a\xf5\x63\xb0\x19\x7e\xab\x09\xdf\xd0\x73\xfc\x63\x78\x8a\x67\x25\x2f\xd4\x89\x14\x3b\x9b\xd1\x42\xe5\xe9\x4c\x9c\xb9\x9d\x8a\x37\x22\x15\x29\x1d\x13\x0e\x99\xf7\x46\xee\x22\x4a\xae\x94\xb8\x99\xca\x04\x0c\x4d\x42\x99\x45\xc9\x04\xaa\xa0\x77\x04\x72\x50\x22\xac\x1e\xcc\xe6\xd8\x15\xfc\xb6\x3d\x0b\x26\x09\xbc\xa7\x0e\x25\x3e\xa8\xfb\x5e\x83\x74\xcb\x83\x0f\xb5\x5e\x41\xaa\xf0\x9f\xe7\xd6\xc0\xed\x0f\xfb\xd0\x36\xec\x8b\x94\xdb\x6a\xf6\xbb\xf5\x76\x0f\x4f\x1c\x0d\xa6\xa9\xca\xd9\x61\xd3\x7c\x74\xbe\xb7\x59\x8c\x7f\x4c\x66\xf0\xde\xa6\x1e\x8e\x87\xf7\x36\x4f\x87\xc3\x81\x3f\xe8\xbb\xc3\xc7\xaa\x66\xf1\x43\xbd\xd9\xa4\x20\xb2\x55\xe5\x7f\xad\xe5\x00\xf4\xed\x92\x33\x03\x0b\x68\x11\xb1\xd9\xec\x7e\xfc\x98\xce\xcf\x67\xa0\x90\x25\x6e\xd2\xec\x8a\xf4\x6e\x53\x2d\xe0\x47\x71\x7a\xcf\x3b\x15\xda\xb6\x1e\xc3\x75\x40\x15\x14\x1d\x1f\x16\x27\x94\x8e\x6a\x55\x90\x6b\x27\x62\x86\x1d\x8b\x51\xa0\xc0\x44\x8a\x6b\x61\x4a\xaa\x83\x28\x01\x1e\xc2\x48\x46\x3a\xee\x95\xad\xfc\x9a\xfc\x0b\x4d\xae\xc7\x39\x94\x84\xfc\x7f\x12\xdf\x9a\xb8\x98\xf1\xba\x9a\x57\x20\x14\x4a\xb2\x27\x22\x48\x14\x14\x85\x62\x6c\x8d\xce\xc5\x2f\xab\x56\xa7\xdf\xa8\xc3\x83\x3f\xc0\xb0\x25\x63\xde\xe6\x19\xc2\x9f\x76\x48\xbc\xe8\x18\x31\x69\x01\x0d\x60\x81\xd3\x92\xc1\x75\x10\xc5\xf4\xda\x82\x19\xb3\x6a\xd1\xb0\x95\x3a\xbd\x98\x4a\x0e\xd3\x30\x58\x71\xb9\x88\xe2\x1c\xfa\x5c\xda\x7d\x4a\x07\xc8\xab\x96\x37\xac\xbb\x43\x9a\xea\xc3\x6c\x9f\x73\x94\x2f\x28\x34\xd3\x59\x80\x49\x1a\x62\xb0\x47\x41\xe0\x48\x95\x36\x8d\x51\x4c\xc6\x81\x53\x59\x34\x77\xa9\x26\x2b\x15\xa0\xa8\x07\x4f\x27\x12\x6d\x6d\xbf\x84\x80\xd1\x83\x9d\x9d\x3b\xd3\xee\xd9\x79\x0c\x3b\x81\x4d\x41\x2e\x3c\xb3\xd3\xf6\x86\x4e\xaf\x20\xf0\xde\x66\x41\x8d\x77\xe0\xa6\xe0\xd4\x3c\xc8\xa7\x64\x58\x44\x23\x8c\x32\x39\xa2\x40\xbe\x06\x53\x1e\xfd\x76\xad\xaa\xd4\xf4\x91\x8d\xf5\x72\x56\x14\xed\xfd\x53\xe6\xde\xa3\xda\x14\x8e\xb9\x06\x23\xd2\xa3\xaa\xbc\x2e\x4b\x75\x50\xa7\x60\xcc\xa2\x32\x74\x59\xad\x08\x40\x60\xba\x9c\xc1\xd7\x07\xe8\xd3\x5e\x99\x45\xc7\x18\x60\xbe\xb8\x8c\xa3\xd1\x95\xb8\x92\xb7\x58\x81\x34\x17\x74\x2b\x78\x9a\xc8\xc4\x06\xb5\xd2\xd6\xd4\x2d\x4e\x3b\x2b\xd1\x5a\x9e\x40\x6f\xe3\x99\xf3\xd2\x1f\x12\x3e\x58\x6e\x65\x40\xc7\xc5\x2e\x4a\x24\xd7\xce\xba\xea\x7f\x24\x82\x04\xde\x4a\x12\x78\x94\x08\x79\xe3\x08\x8f\x29\x38\x70\x33\x8d\x60\x66\x24\x1f\x3a\x0d\x9c\xce\x72\xad\x13\x62\x35\xaf\x54\xa2\xcf\xa6\x16\x46\x23\x3a\xf4\x8d\x51\x3b\xb6\x2e\x89\x33\x22\x82\x70\xd8\xa7\xb3\x72\x94\xba\x01\x7c\x44\x04\xce\x32\xa9\xe6\x29\xa6\xe1\xf4\xf9\xed\x5c\x5a\xdd\x76\xaf\xdd\x3d\xeb\xf2\x89\x28\x18\x01\xe3\x39\x8d\xb2\x83\x2c\xcc\xa1\xd1\xec\x11\xda\xa3\x70\x5e\xa0\xcf\x19\xcc\xcd\xea\xb7\x5a\xec\x58\x0d\xd4\xd4\xd3\x0a\xe3\x70\xfb\x67\x43\xc4\xa5\x4e\xff\xa4\x0c\xfc\x64\x22\x33\xda\x35\x78\x8c\x40\x8e\x9e\x5f\x13\xd5\xda\x84\x3c\xce\x48\x42\x09\x2b\xa3\xe0\x28\xcf\x80\x37\x2a\xe1\x22\xe3\x28\x71\x74\xf0\x74\x7f\x6b\xba\x35\xdb\x52\xa2\x42\xde\xf0\x68\x76\x4b\x3f\x55\xe3\x69\x29\xee\x5b\x1f\x80\x4e\x3f\x13\x63\x84\x73\x11\x88\xea\x7c\xfc\x9a\x15\x80\x95\x3f\xcb\xa1\xfd\xfc\x86\x5c\xc6\x0b\x30\x9c\x50\x3b\x2d\x16\x8d\x35\x03\xe1\xfc\x61\xe6\x9b\x61\x0a\x2a\x64\xe7\xf0\x81\x13\x48\x08\xfc\xd4\xf3\x79\xa2\x41\xb4\xc4\xd4\xc7\x7a\xdb\x40\x1f\x89\x52\xb1\x98\x5f\x8d\xd4\xf6\x8e\xa8\x90\x85\x81\x2a\xaf\x5e\x21\x99\xea\x27\xa8\x52\x25\x49\x31\x4d\xfd\xef\x66\x61\x64\x31\x89\x5e\x28\x6a\x84\x52\x59\x0d\x07\x5e\x83\x70\x03\xb8\xa9\x03\x56\x8d\xc1\x50\xad\x58\xc6\x22\x31\xde\x37\xc0\x50\xc4\xf2\x67\x73\x02\xd3\x31\x61\x27\x32\x4f\x52\xf1\x98\x0e\x45\x4a\xa9\x72\xb0\x7b\xa4\xf9\x46\xf6\xbb\x6e\x14\xcc\x02\x52\x73\x68\x1b\x98\xc5\x21\x02\xdd\xf2\xb5\x1c\x2d\xc0\x60\x72\x6a\x88\xfd\x77\x4d\xd4\xcc\xe7\x89\x14\x59\x28\x7f\x42\x04\x09\x38\x41\x6a\xd6\x81\xad\x8c\x66\x73\x27\xe7\x57\x31\xc9\x84\x53\x01\xde\xe5\xc9\xc7\xed\x81\x50\x1a\xc2\x15\x01\x9d\xfb\x4a\x51\x3c\xd0\x2a\xcd\xf9\xd7\x98\xbd\x6c\x52\x89\xd3\xc9\x04\x72\x67\xec\x64\xc3\xa0\x12\xf2\x85\x1b\xe4\x55\x34\xf2\x34\x80\x7c\xc3\xea\xd4\x39\xe1\x23\xac\x41\x8c\xa3\x11\x96\xde\x3a\x41\x8a\x65\xf4\x8f\x27\xc0\xf7\xf9\x74\xa6\x98\x57\xe0\x46\x94\xad\xd9\x99\xce\x2e\xc4\x26\x79\x2f\xa4\x29\xd0\x1d\x83\x6d\xa1\x8f\x64\x6b\x8f\x11\xf0\xd5\xb4\x6a\xa6\xf8\x98\xe2\x93\x69\xaa\x73\xcb\x69\xee\xec\xed\x6d\xbf\xcf\x50\x69\xdf\x72\x1a\x4d\xaf\x2e\x84\x79\x72\xb9\xcd\x4f\x5b\x4f\x0e\xac\xe6\xf2\x71\x7b\x6b\xe7\x09\x30\x04\xb1\x0d\x89\x9b\x3c\x2f\xe5\x88\xb3\x5b\xf5\x69\xcc\x59\x22\xac\x64\x02\x93\xd7\x07\x46\x67\x94\xcb\x5d\xbc\x88\xf2\x47\x4a\x87\xd6\xd1\x34\xa5\x6c\xb4\x79\x5c\x24\x81\x3c\xd7\x3a\xed\x7b\xe4\xd8\xb7\x77\x9e\x32\x6e\xd8\x3e\xdc\xdd\xdd\xda\xb7\x4c\x3e\x4b\xa6\x6a\x99\xe4\x34\x83\xaf\xb7\x06\x75\xcf\x7b\xd1\x2c\xd2\xc2\xb5\x65\x11\xc6\x6d\x21\x8b\xdc\xd5\x60\x7d\xec\x2c\x93\x9f\x2e\xe0\x53\xf5\xc6\x10\x60\xa2\xf1\x6d\x65\xbc\x88\xe3\x0d\xf8\xbc\xce\x32\x6f\xd5\xe3\x0b\xb2\xc5\xfe\x99\xff\x1b\x79\x14\x5e\x6e\x70\xe6\x21\x82\x4b\x95\xc6\xd0\xc1\xa5\x7a\x26\x1c\x4e\xa0\xce\x19\x27\x79\x06\x9d\x58\x25\x4d\x63\x7f\x53\x0d\x2f\xc1\x41\x83\xb7\x09\x8e\x8d\x16\x90\x30\xd2\xe3\x76\x0f\xca\x8c\x34\x10\x50\xa2\xec\x0b\xdf\x79\x47\x17\x0b\x74\x2d\x61\xd8\x17\xcf\x1c\x67\x20\x5e\xf6\xcf\x5c\xc1\xec\x20\x75\x16\x5e\xbd\xe5\xbc\xf3\x8e\xe5\x39\x48\x4a\x87\xe4\x57\x41\xe0\x9d\x77\x3f\x6c\x35\x9d\x17\x2e\xfe\xfb\xf5\xdf\xd8\x24\x2d\x5f\xe4\x29\x29\x68\x44\x38\x72\x26\x39\xea\x86\x01\xfc\x03\x5c\x65\xbb\x87\xf4\xb3\xeb\x74\x8f\xe1\x39\x9b\xf5\x97\x80\x8a\xe2\xa9\xd5\xe8\xf7\x9f\xb5\x1d\x2e\x09\x94\xa4\xe0\x07\x37\x52\x91\xba\x9a\xd7\xcb\x79\xe5\x31\x51\x82\xd0\x18\x46\x9a\x91\x2e\x65\xec\x8a\x7c\x59\xfa\xfa\x56\x04\x0b\x08\x26\xc9\x0b\x7b\x9b\xca\x20\x24\x8c\x45\xd8\xc3\x64\x1d\xfc\x80\xd4\x00\x20\xc5\xa3\x2c\xbe\xff\xd1\x4b\xbf\x7e\x86\xfc\xa8\x07\x5b\xd7\x39\xb7\xd1\x84\x8f\x2a\x2f\x9c\x63\x7a\x55\xa1\x0e\x83\x6e\xc1\xf5\x73\xab\xde\x18\xb6\x9f\x53\x3a\xd5\x44\x2a\x4d\x2d\x04\x1d\xc4\x05\x3a\xd8\xf6\xc1\x16\x88\x7b\x0e\x79\x0c\xd2\xa1\x6f\x1c\x04\xc7\xc5\xbb\x29\x30\x64\x9a\x8c\xa3\x6c\x26\x64\x05\x68\x29\x66\x93\xcf\xe4\x04\x18\x45\x07\x0c\xd0\x3c\x21\x84\xe2\xfa\x0e\x70\x51\xc7\xe7\x1a\x8e\xdb\x5d\x83\x59\x52\x83\x48\x36\x6f\x33\x19\x0b\x90\x6a\xb1\x42\x14\x78\x02\x38\x37\x5d\x24\x1a\x90\xae\xe2\x1a\x93\x77\xf9\xfc\x25\xa2\xbc\xc5\x19\xfc\x2e\x62\xee\x84\x23\x25\xb6\x7a\x1d\xc9\x1b\x90\xbd\xcd\xa7\xf0\x50\x55\x8b\x2a\x0b\x6d\x97\x32\xbf\x93\x1e\x24\xfd\xbc\xed\xbc\x28\x51\xe8\xd2\x69\x28\xcf\x1a\x1b\x99\x14\x0e\x8f\xf2\xaa\xd6\x4b\x9f\x4e\x53\x1e\x4e\x51\x2b\x44\x16\x1e\xc5\xab\xbc\x18\x90\x69\xba\xb8\xe4\x64\x18\xf2\x47\xd2\xcf\xba\x5e\xd3\xe5\x84\xda\xf6\xfe\x5e\x41\xf3\x21\xa9\x2e\x17\xf9\xa6\xb1\xfd\x6f\x62\x82\xc9\xc9\x46\xc1\x3c\x07\xd2\x17\x9c\xfb\x6b\xf5\x7a\x4b\x4a\x86\x76\xa3\x3e\x18\xc2\xb0\x40\x83\xc2\x3e\x34\x07\x19\xc5\x34\x4d\xaf\xc8\xa5\x9d\xe2\x57\xe4\x81\xba\x5a\x2b\xe1\x58\xf7\xd4\x65\xd8\x63\xc7\x11\x81\xd5\x3c\x9a\x49\x8a\xa3\x10\x00\x6c\x1a\x70\x47\x59\x4d\x87\x94\xca\xf5\x87\xed\xae\x03\x50\x62\xea\x1a\x75\x16\x7e\x94\xb0\xe5\xcb\x12\x22\xa0\xdd\x79\xcf\xda\x03\x7f\xd8\xf1\x7c\xcc\xa3\x02\xe2\xea\x88\xab\x5c\x76\x1a\x29\xc6\x9f\x54\x99\xc8\x66\xfa\x98\x58\x55\x06\x40\x72\x9c\xc3\xde\xad\xcd\x50\xfe\x8a\xf0\x8a\xa4\x4f\x1f\xbe\x59\x22\x7b\xbc\x18\x8f\x39\x36\x73\x1c\xa1\xa4\x14\x99\x52\x22\x63\x1b\xe1\x45\xce\x4d\xc1\x2a\xe2\x58\x6c\x2a\x86\x61\x9a\x3c\x02\x5c\x48\x70\x88\x1b\xca\x56\xf9\x25\x60\xa3\xd3\x6b\xfa\xc7\x67\xad\x16\x61\x2f\xa7\xa7\x19\x44\xfb\x26\xc3\x5e\x15\x28\xb0\x51\xb6\x1e\x5d\xb0\xf4\xce\x8e\xbf\xe3\x34\x34\x9c\x2f\x8a\x97\x0c\xe7\x59\x27\x75\x1a\x40\xe8\x6d\xc6\xca\xa6\x66\xf9\xbc\x3a\xa1\x36\x29\xda\xe1\xde\xc1\x53\xbc\xfb\xee\x77\xcd\x8b\x4f\x3f\xe5\xde\x27\xfb\x9c\xf9\xa7\xb9\xb4\x69\xc7\x0c\x20\x08\x4c\x21\x73\x56\x1a\x91\x6e\x60\x08\x9c\xb8\xd7\x1d\x0e\x3c\x5d\x01\x42\x8c\xa6\x62\x52\x15\xc6\x44\x11\x9d\x33\x25\x08\x81\x6a\xac\x3c\x17\x2b\x11\x03\x00\xc7\xd3\xd9\x8c\x52\xf0\x90\xab\x83\x6e\xab\x21\xf6\x9f\x6c\xbd\x5f\x15\x6d\xbd\x90\xc9\x5b\x0c\x6e\x50\x2b\x42\xe0\x11\x2f\x14\xc4\x37\x70\xb8\xcb\xf5\x4c\xc8\x2b\x21\xde\x53\xa7\xd3\x27\xac\xa6\x95\x55\x87\x15\x82\x9d\xec\x1e\xa9\x2e\x10\x46\x24\x2f\xf8\xcf\xea\xd2\x31\xf0\x1c\x22\xd2\xd0\xf5\x84\xe5\x78\xd2\xfd\x75\x82\x6b\xf9\x01\x83\x53\x9d\x75\x60\x27\x18\xe7\xd3\x76\xb4\x17\x67\x6f\xc5\xbe\x4a\xc7\x49\x3e\x5e\x19\xbc\xa6\xe5\x13\x57\x45\x9f\x52\x67\x0a\x8b\xf0\x38\x8a\x17\x56\x32\x1e\x57\xc8\x25\x81\x59\xa5\x89\x4a\xab\x78\xa1\xde\xda\x81\x21\x45\x8c\x70\xa4\xf2\x38\x8a\xf5\x3e\x61\xcf\x76\x8b\xbc\xc3\x0a\xe6\xdf\x83\x47\xb5\x76\x3f\x04\x48\xcd\x88\x15\x22\x65\xfd\xd2\xb8\x3d\x0c\x81\x1a\x00\xd6\x48\x9a\x7b\xbb\x3b\x3b\x55\x31\xa4\x33\x18\xec\xf6\x09\x79\x56\x34\x25\x6b\xed\x72\x30\x0e\x48\xc7\xbf\xd8\x20\xf5\xde\x10\xdf\xe2\xd7\x1f\x96\x72\x83\x6f\x5f\x08\x6d\x9d\x56\xcb\xed\x77\xf9\xa0\x5d\xde\xc4\x2a\xc2\xb1\xdf\x9f\x07\x4a\xdd\xa4\x59\x68\xb0\x4d\x19\xd6\x10\x63\x72\xf9\x3a\x07\x9c\x9e\xc5\x64\x86\x01\x15\x2a\x12\x08\xf2\x5a\x1a\xe2\x6c\xb0\x69\x82\x2c\x79\x89\x52\x4f\x87\xdd\x8e\x5f\xef\x0c\x29\x66\x53\x08\x5c\x32\xce\x7a\x35\x82\x87\x58\xc7\x6c\x72\x06\x47\xa2\xa1\x11\x4c\x74\x83\xcf\x45\xbd\x3c\xf2\x4e\x81\xdf\x0c\xb6\xea\x4d\xb8\x4e\x8e\xbe\xba\xa7\x40\x4a\xe6\xbd\x81\x5f\x27\x0d\x98\x3a\xb6\x0b\x57\x5c\x72\x89\x6b\x14\xf7\xb7\x80\x79\x40\xe9\x79\x9d\xc2\xcb\xfe\x56\x41\x48\xef\x45\x03\xae\xd2\x5e\x40\x20\x41\x3e\xcc\x98\x81\x6a\x3d\x46\x16\x98\xc5\x13\x0e\x11\xa7\x73\xaa\x1e\x1d\xe5\xa3\xb9\x4d\x2f\x8f\x0e\xf7\x77\x9f\xbe\x6f\x17\x1c\x3e\x9a\x05\xa3\x20\x83\x0d\x84\x97\x47\x5b\xf6\x3c\x4d\x63\x86\xc2\x47\x70\x53\x76\x14\xc6\xd2\x37\x1e\xfc\x48\x87\xfe\x62\xe5\x43\x71\xb1\x42\xa4\xdb\xdb\x3b\xdb\xdb\x17\x85\xd9\x12\xdc\x50\x54\xf2\xbb\x9f\xa7\x94\xd2\x18\x96\x16\xec\xbd\x8f\x9f\x88\x6e\xcf\xdb\xcd\x75\x86\x0e\xb2\xf4\x3a\x22\x58\xc4\x98\x63\x02\x03\xa6\x73\x2b\xbd\x2d\x0c\x39\x64\xd3\xe4\xd2\x05\xa2\x7c\x31\xea\x56\xd2\xa5\x0d\x2d\x0b\x97\xa8\x77\xb6\xca\xab\x80\x88\xab\x93\xaa\xb8\x60\x20\x6a\xde\xaa\x8b\xff\x37\xee\x11\xa2\x3f\x04\x16\xac\xe0\xb7\x12\x66\x14\x22\x6b\xdc\x29\x42\x95\x14\x1b\x46\x50\x86\xbf\x2d\x76\x46\xb0\xfe\xb0\x58\xef\xc3\x62\x8f\x7e\x4e\x8e\xf1\x62\xc9\x26\xdf\xdc\x8d\x19\x48\x5d\x9c\x04\x6b\x7a\xe6\xc8\x23\x84\xef\x48\x6a\x10\x69\x30\xaa\x81\xa6\x91\x4f\x37\x01\xbe\x46\x28\x54\xcb\xd0\x11\x8d\xfc\x56\xc1\x2f\xe8\x2a\x63\x1a\xa3\xc6\x65\x77\xa9\xdd\x8f\x26\x08\xa4\x7d\xe6\x3a\x6f\x23\x10\x85\x04\x5e\xaf\xbf\x36\x97\x31\x86\x31\x50\x02\x9e\x9a\x4a\x01\x3e\x56\x5b\x87\xd5\x10\x1f\x97\xa6\xb3\x46\xe4\x00\xb1\x66\xcb\x3a\x69\xf8\x85\xd5\x30\xb0\xa0\x4a\x3e\xbf\x58\x51\x89\xa3\xb1\x64\x3a\xf7\x4c\xf7\x1c\xcf\xd3\x97\x56\x2d\x67\x7d\xbe\xf5\x6a\x1e\x8d\xa8\xf2\x08\xf0\xfc\x1c\x49\x85\xeb\x9f\x0d\x3a\xfd\x7a\xb3\x9c\x2b\xd7\x82\x6b\xfc\xcd\x14\xdf\x24\x22\x51\x55\xd2\x5c\x13\x90\xb7\x44\x5a\x97\xa2\x63\x23\x5c\xa4\x6a\xba\x48\x37\x30\x08\xba\x1f\x14\x65\x6e\x3d\x55\x28\x64\x80\x23\xec\x8c\x24\xa1\xf1\x23\xe0\xe3\x28\xa9\x4e\x32\x3d\x80\x31\xa4\x6e\xd6\xac\x13\xd7\x6c\xc5\x43\xbe\xd3\xe0\xec\xc2\x0c\x5b\x46\xbf\x62\x48\xc9\xcf\x05\x79\x0e\xcb\x45\xa0\xce\xcf\x4b\xe5\xd1\x55\xaf\xe2\x48\x2a\x59\x62\x08\xfa\xcd\xe2\xca\x04\xc0\xf9\x82\x04\x72\x61\x44\xb5\x92\xcf\xa0\xa8\x24\x94\x88\xdc\x99\xa8\xd9\xb3\x7a\x7d\xb1\x96\xf9\x95\x5e\x50\xcd\x08\x29\x3e\x88\xcd\xd2\x52\xa1\x9f\xb2\x75\x65\x4c\x21\x9a\x01\xc6\xd5\x3e\x99\xcb\xc9\x6f\xe9\xe6\x3c\x99\x58\xc8\x0d\xfb\x2f\x9c\x26\xe7\xcc\x94\xa1\xdc\x3b\x68\xfd\x8e\x88\x21\x21\x79\x80\xf5\xbd\xee\xee\x74\x8f\xf9\x5a\xc8\xdc\x04\x3d\x31\xd3\x92\x25\xc4\xd4\x65\x4c\xbe\x01\x9d\xc7\x69\x70\x87\x49\x80\x94\x34\x9b\x42\xac\xc7\xa0\xd6\x7a\x45\xda\x46\xcc\xf6\xe6\x72\x84\x08\x2e\x75\xe5\xc6\x04\x29\x62\x1c\xe5\xd9\xb7\x54\x72\x9c\x53\xdd\x46\xf0\x5d\xd9\x3a\x55\xc4\x5f\xb8\xd7\xdd\x82\x08\xe2\x86\xc1\x51\x18\xce\xb5\x7a\x2d\x36\xba\x14\x6e\xd8\xe2\x2c\x89\x5e\x37\x03\x02\x79\xee\xe2\xf2\xd6\xb4\x5a\x8d\x83\x9d\x9d\xe2\xf7\x63\xdd\xd8\xdb\xb2\x0b\xd2\xcb\x86\x7e\xb5\xbb\xbb\xfb\xfe\xb2\xd1\x0b\x92\xd4\x16\xcf\x22\xe4\x0f\x54\x46\xf5\x72\x44\x72\xf3\xd3\x05\x72\x8b\x96\xed\x51\x96\x72\x68\xe2\x47\x9a\x65\xc2\xd6\xac\xb8\x2c\x2c\x20\x79\x70\x49\xe9\x40\x89\x0d\x4a\xca\x42\xdf\x27\x69\x1c\x20\x31\x4b\xb3\x49\x6d\x7e\x35\xa9\x11\xf7\x6a\xef\xa2\x55\x81\x63\x54\x79\x40\x5a\xd2\xea\xbb\xdd\xba\x8e\x32\xc8\xd9\xf5\xed\xf9\xaa\xc4\x55\x44\x1b\x1a\x9f\xea\xea\x86\x09\x37\xd4\x95\xd0\x2f\x81\x62\x73\xdd\x69\xca\x35\x77\x02\x50\x31\xb7\xc0\x60\xc0\xb6\x01\x97\x93\xe5\x3c\xe0\x5a\xe9\x0c\x23\x23\xba\x55\xa2\xa2\x6b\xa1\x9b\xc5\x34\x9b\x95\x64\xc3\x32\x65\x13\xd3\xfb\x7f\x99\x51\xdc\x4d\x26\xd8\xc7\x15\x07\x1f\x66\xc1\x88\x8f\xdb\x94\x97\x8b\x09\x35\xda\xe0\x3d\xfd\xbe\x08\x32\x3e\xbf\x93\x65\x69\x46\x8d\x46\x16\x51\xb5\x21\xbe\x73\x7c\x4d\xc1\xea\x20\xc9\x24\xfc\xc1\x8f\x56\x81\x41\x0a\xde\xf0\xd1\x75\x1e\x4e\x62\xa8\x9a\xfe\xf3\x62\xda\x72\x02\x33\xe3\xee\x68\xea\x5c\x0d\xfd\x40\x03\x4b\xed\x77\x14\xd5\x41\x52\xa8\x05\xb4\x1b\x43\x45\x96\xe6\x68\x6f\xaa\x1b\xd2\x40\x36\xc1\x94\x1c\x03\xa5\x23\x26\xf8\x3f\x7e\x3b\xa2\x74\xfa\x27\xbe\xdb\x1f\x6a\x78\x6c\x5c\x15\x19\x32\x5f\x4b\xae\xac\x99\x92\x1a\x48\x91\x76\xb3\x46\x83\x79\xba\xa5\x8d\x99\xea\xe9\x5e\xc1\x67\xe6\xf4\xd2\x91\xa8\x69\x34\xce\x1f\xa2\xb3\x73\x60\xbe\x8f\xd8\x16\xdf\xfa\x16\x9e\x6c\x2a\x22\x96\x5c\x8c\xef\x9d\xb6\x5b\x7c\xe9\x73\xc0\x51\x6a\x42\x7e\x90\x4f\x1d\x02\x12\xdf\xbe\x7d\xae\x66\xbd\xdd\x79\xf9\xd6\xc9\x9c\xd7\xf3\x28\x63\xdf\x81\x14\x0a\xdb\x21\x02\xb4\x97\xcd\x50\xc6\x92\xaa\x26\x63\x2a\xa6\xcc\xb0\x6d\x1a\xb1\xce\xae\xa7\xfa\x1a\xbc\xa8\x6c\x95\xc4\x9c\xdc\x27\xe3\xa4\x2c\x35\x57\x1a\xe8\xa9\x71\x27\x5f\xb7\xf2\x27\x28\x86\x1f\x33\x84\x5d\xf8\xdf\x7b\xc0\x82\xeb\x00\xac\xf4\x90\xe0\xfa\x88\xb8\x5d\xaf\x7c\x21\x31\xd4\x17\x48\xd9\x92\x36\xa7\x7a\x25\x8c\x0b\x22\x31\x96\x7b\x88\x6a\x19\x7e\x18\xb3\x00\x7a\x23\x95\x5f\xc0\x3b\x6a\xdb\x5f\x84\xf3\x3b\x7a\x4f\x43\xca\xb7\xbf\x78\xe6\x9a\x47\x09\x52\xeb\xfb\xdb\x25\x97\xb4\x27\xb9\xc3\x25\xea\x2c\x73\xe9\xa1\x3c\x7f\x7d\x03\xcd\x28\x98\x24\x58\x2e\x1a\x15\xac\x33\xa9\x28\xe7\x92\x1b\xa5\xa2\xc0\xc3\x23\xef\x94\x09\x96\xb9\xf4\xaf\x9a\x67\x41\xbe\x92\xf0\xe9\xaa\x60\x9f\xae\xe2\xb3\xf1\x7a\xaf\x36\xb6\xcb\xd9\xdd\x86\xbd\xb1\xb3\xf6\x7c\x4e\x52\x71\xa8\xda\xe3\x95\x18\xb7\x74\xbc\x77\x99\xb7\x2a\xa0\xaf\x18\xb8\x5e\x48\x17\x6b\x35\x6d\xab\xe9\xb6\xf9\xca\x96\xfc\x6b\x40\xf7\xaa\xd0\x90\xd7\x08\x2b\x7a\x7b\x87\x5c\x12\x3f\xa4\x3f\x1f\x2e\xaf\xef\xb9\x02\xf7\x9b\xe6\x5b\xaa\xa3\x45\x3e\x3e\xb0\x48\x6f\x38\xa2\x20\x88\x95\xbf\x65\xc8\x16\x49\x42\x9e\x86\xba\xb9\xf0\xc5\xb1\x3f\x4a\xe9\xa6\x0f\x61\xbb\x5a\xaa\x1b\x19\x5b\x74\x17\x49\x79\x34\x2b\x2f\x5f\xce\x70\xfd\x1b\xce\x9b\xbe\x04\xab\x0f\x7d\xae\x80\xac\xa0\x19\x5d\x05\x85\x1c\x5a\x22\xf2\xce\x4a\xef\xa4\xaa\xef\xf7\x7d\xd3\x79\x6e\xd1\xf7\x0a\xcd\x33\x06\x60\x1f\x6a\x53\xdb\x9e\x5a\x2c\xa9\xe5\xd7\x59\x53\x89\x6c\x78\xaa\x6f\x1e\x0d\x15\xfa\xda\xc4\xd7\xfd\x3e\xf7\xdf\x47\x68\xe7\xc9\xd4\x5a\xd5\xe3\xf6\xb7\x08\x8e\xd5\xb3\xc9\x42\xe3\x42\xb2\x6d\x8e\x83\xd0\x98\x47\x48\x12\xc4\x58\x8d\xae\x1e\x15\x91\xaf\x52\x59\x24\x19\x61\x2a\x66\x5a\xa5\x92\x07\x13\x45\xd1\x93\x02\x3b\x87\xff\x34\x59\x06\xf8\x28\xaf\xa8\xd1\x8c\xc1\x6c\x98\x8e\x14\x77\x10\xb1\xda\x76\xf5\x69\x75\xcf\xaa\xbb\x27\x46\x51\x1a\x7c\x77\x5a\xfa\xee\x8c\x2f\xc4\x48\xe7\x0b\xee\xf0\x59\x7c\x3e\x1d\xbd\x03\x7f\xee\x30\x97\x65\x72\xff\x51\xad\x57\x58\xf8\xfc\x2d\x7c\x47\x01\x42\x2d\xa1\x27\x3a\x82\xb2\x73\x27\xe3\xa5\x3a\x13\x97\x91\xab\xec\x39\x4f\xda\x43\xbf\xd9\x6e\xb5\xd6\xe2\xc4\x5b\x64\x49\xd9\x82\x51\x4e\x09\x01\xd3\x8c\xcb\x77\x59\xbf\x84\x28\x7f\xe8\x57\x6f\x0c\xd9\x82\xc4\xde\x3d\xd4\x35\x28\xa5\x6f\x76\x92\x87\x88\x15\xb0\x54\x97\x1f\x1f\x90\xed\x64\x54\x92\x6c\x30\x21\x43\x53\x54\x5a\xc1\x03\x42\xf3\xaf\x22\xd8\xc9\xc8\x88\x15\xc9\xd9\x4a\xb2\xfd\x65\x19\xef\x9e\xda\x30\xc9\xa5\x6a\xfa\xcf\xad\x6e\x1b\x69\x0c\xc7\xba\x7d\x8a\xc7\x6d\xd7\xed\xbb\xfa\x63\x19\xab\xd1\xe9\xf7\x1c\xd3\xa6\xcf\x04\x4d\x13\x59\xce\x3c\x7a\x5b\xb0\x51\x2e\x67\x4a\xd7\x1a\xf5\xad\xbb\x62\x69\x06\xba\x30\x4c\x7c\xd2\x1f\x9b\x7a\x8e\xdf\x1e\x3a\x5d\xaf\xf8\xc0\x29\xda\x3e\xa0\x98\x57\xef\xd1\xe6\x01\x51\x2a\x67\x9e\xfd\xd9\xb4\xd2\xe8\xd1\xdf\xd3\x67\xf4\x77\xf8\xc2\x0e\x65\xa5\xe9\xd8\xe3\xac\xd2\x72\xed\x24\xae\xf4\x3a\x76\x7c\x5d\xe9\x3c\xb7\xb3\x45\xc5\x3d\xb3\x3f\x09\x2a\xdf\x19\xd8\x52\x55\x1c\xcf\x9e\xe7\x95\x63\xd7\x9e\xc7\x95\x41\xc7\xbe\x9c\x54\x8e\x4f\x6c\xb0\xa9\x3d\xb4\xc7\x51\xa5\xd5\xb6\xf3\xac\x32\x74\xed\x91\xaa\x34\x3e\xe6\xfb\x3d\x5a\xd3\x81\xfa\x45\x6a\x6a\xff\xec\x1f\xbf\xf7\xd3\x7f\xfb\xe3\x9f\xfe\xe4\x1f\xbe\xfe\xd3\xdf\xb5\x7f\xf6\xf9\xf7\x7f\xfe\x77\x7f\xa2\x1f\x7e\xf1\xc5\xef\xfd\xfc\x6f\xff\xfc\xeb\x9f\xfc\xd3\x2f\xbe\xf8\xfd\xbb\x2f\xfe\xeb\x8f\x7e\xf4\xf5\xe7\xff\x4e\x2f\x9a\x72\x91\xab\xd1\xd4\x6e\x65\x41\xf2\xe5\x0f\x82\x48\xd9\x3d\x19\xca\x0c\x70\x3b\x54\x76\x27\xc8\xa1\x30\xff\xf9\xd7\x0b\xfb\xcd\x5f\x7d\xf5\x3b\x5f\x7d\xff\xab\xef\xbf\xf9\x97\x37\x3f\x79\xf3\xb9\xfd\xf5\x9f\xfd\xcd\xd7\x7f\xf1\xf7\xff\xfd\xc3\xbf\xb4\x1d\x35\x0f\xbe\xfc\x71\x1a\xdb\xf4\x6d\xca\x62\xb2\xf8\xf2\x87\x8a\xbe\x25\x3a\xce\x02\x15\x51\x67\xac\xae\x22\xfb\xcd\x8f\xbf\xfa\x83\x37\xff\xfa\xe6\x9f\xdf\xfc\xe8\xab\xef\x69\x1a\x76\x3b\x0f\xe2\x88\x72\x08\x6f\x01\x54\x17\x07\xd0\xfc\xc4\x1e\x7e\xf9\x45\x76\xf5\xe5\x0f\xa4\xfd\x1f\x7f\x88\x55\xf3\x28\x09\x2c\x0d\xb6\x43\xd6\x46\x72\x7a\xa4\x02\xc8\xbb\xaf\x10\xc0\x58\x08\x14\x1a\x24\x25\x07\xe7\x16\x4b\x81\xa5\x61\xb1\x28\xd0\xfc\x6c\x6a\xb1\x3c\xb8\x09\x89\x58\xfc\x77\xf9\xc4\xf2\xe1\x6f\x6f\x2d\x16\x12\x39\xde\xcc\x62\x49\xa1\x99\xc4\x16\x8b\x8b\xbe\xf1\xba\xb6\x58\x66\x74\x99\xba\xb0\x58\x70\x68\x7e\x12\x58\x2c\x3d\x5a\x53\x59\x2c\x42\x34\xf9\xd7\x62\x51\xd2\x53\x6c\xb1\x3c\xd1\xbc\x9c\x58\x2c\x54\xca\x45\x73\x8b\x25\x4b\x0b\x46\x16\x8b\x97\xfd\x92\xc5\x32\xa6\xf4\x80\x65\xcd\x20\xce\x7c\x26\x07\x78\x30\x9f\xf3\x27\x21\xa9\x98\x46\x93\x69\x8c\xff\x73\x31\x8a\x03\x2e\xe9\xb1\x59\x56\x01\x90\xe3\xa3\x28\x89\xac\x57\xcb\x11\x55\x33\x8d\xee\x4e\x53\x0a\x98\x70\xf2\xa7\xfd\x17\x7e\x0b\xe9\x11\x92\x85\x63\x57\xdf\xab\x97\xa0\x91\x07\x87\x41\x55\x6c\x53\xde\xb9\x9b\xa0\xf1\x37\x20\xe4\x13\x26\x29\x5f\x9e\x71\xbe\x96\xc2\x87\xad\xd1\xa5\xc0\xae\xaf\x9c\xd8\xd9\xfe\x4f\x00\x00\x00\xff\xff\xb6\xbd\xa9\xb5\xec\x2d\x00\x00")
+var _confAppIni = []byte("\x1f\x8b\x08\x00\x00\x09\x6e\x88\x00\xff\xb4\x5a\x5b\x6f\x23\xc9\x75\x7e\xef\x5f\x51\xab\xcd\x66\x34\x41\x93\xd4\x65\x34\xa3\xd5\x5a\xce\x52\x64\x53\xa2\x87\x37\x77\x53\x33\x3b\x3b\x10\x5a\x2d\x76\x91\xec\x55\xb3\x9b\xdb\xd5\x94\x46\x8b\x20\xb0\x91\x87\x5c\x80\x20\x0f\x09\x12\x04\x08\x82\xe4\x21\x31\xe0\xdc\x6c\xe4\xc5\x4e\x9c\xbc\x6c\xf2\x3e\xfb\x1f\x9c\x75\xfc\xe4\xbf\x90\xef\x9c\xaa\x26\x9b\x92\x56\xf6\x06\x89\xbd\x23\x76\x57\x57\x9d\xaa\x3a\xd7\xef\x9c\xaa\x77\x45\xcf\x79\xe1\xb8\x82\xff\x74\xfb\xcd\x76\xeb\x95\x18\x9e\xb4\x3d\xd1\x6a\x77\x1c\xeb\x5d\x31\xe8\x38\x75\xcf\x11\xdd\xfa\x73\x47\x34\x4e\xea\xbd\x63\xc7\x13\xfd\x9e\x68\xf4\x5d\xd7\xf1\x06\xfd\x5e\xb3\xdd\x3b\x16\x8d\x53\x6f\xd8\xef\xa2\xb1\xd7\x6a\x1f\xeb\x91\xd6\x07\xa2\x3e\x9f\x8b\x24\x98\x49\x91\x4f\x83\x5c\xa8\x69\x7a\xad\x44\x9a\x08\x79\x25\xb3\x1b\x31\x0f\x26\xf8\x10\xe5\xb1\xb4\xea\x83\x81\xdf\xab\x77\x1d\x71\x28\x8e\xd3\x89\x3a\xc0\x5f\x71\x1c\xe5\xc2\x93\xd9\x55\x34\x92\xa0\xd4\x98\x06\x09\xba\xa3\x2d\x1a\x8b\x9b\x74\x21\xb2\x45\x22\xe2\x74\x14\xc4\xf1\x8d\xe5\x9e\xf6\xfc\x53\x0f\xab\x3f\x14\x93\x28\x47\x6f\x27\xca\xa7\x32\x13\x1b\xa1\xbc\xda\xb0\xc5\xc6\x3c\x4b\xc3\x0d\x91\xa2\x21\x97\x2a\x47\x4b\x28\xc7\xc1\x22\x06\x2d\xa5\xfb\x30\x05\x6c\x9d\x16\x80\x77\xcb\x7a\x9d\xc9\x79\xaa\xa2\x3c\xcd\x6e\xce\x2c\xb7\xdf\x1f\x8a\x43\xcb\x6b\xb8\xed\xc1\xd0\x1f\xbe\x1a\x50\xb7\x8b\x40\x4d\x31\x53\xd3\x50\xaa\xf7\xbc\xb6\x18\x4d\x83\x4c\xc9\xdc\xa2\x17\x1f\xac\x72\x3d\x87\x06\x7e\x20\x5a\x69\x36\x92\x66\xdb\x89\xbc\x16\x2b\xea\x22\x4f\xc5\x85\x14\xf3\x2c\xba\x0a\x72\x69\xb5\xfa\x6e\xc3\xf1\x07\x6e\xfb\x45\x7d\x48\xb3\x8c\x83\x58\xd1\xf6\x8f\xe3\xf4\x22\x88\xc5\x2c\x78\x13\xcd\x16\x33\x31\xca\x64\x90\x47\xe0\x64\x1c\xcd\xc0\x92\x74\x5c\xa6\x38\xc7\xce\x17\x4a\x66\xb6\xa8\x6c\x8b\x99\x0c\x12\x25\x92\x54\xf7\xb4\xba\xf5\x8f\xfc\x86\xeb\xd4\x87\xed\x7e\xcf\xef\xb4\xbb\x6d\xac\x0f\xdd\x30\xc3\x20\xc8\x47\x53\x41\xfc\x11\x9f\x2e\xe4\x42\x8a\x58\x26\x93\x7c\x6a\x63\xce\x4b\xe6\x7b\xa0\x44\x1c\x64\x90\x01\x1e\x30\x97\x8a\x2e\x20\xb8\xc1\x69\xa7\xe3\xbb\xce\xb7\x4f\x1d\x6f\xe8\xe3\xef\xa9\xe3\x77\x9c\xde\xf1\xf0\x04\x64\xb7\xb7\xf0\x3f\x50\xee\x44\x8a\x97\x38\x8e\x62\xf0\xe0\x4d\x2e\x13\x85\xa5\xab\xa5\x4e\x2c\xe2\x50\x4c\x83\x2b\xcc\x18\x25\x52\x5c\x67\xc1\x5c\x89\x28\xc1\x67\x29\x1a\x69\x28\xbb\x51\x96\x41\x74\x32\xa4\xdd\x81\x9c\x27\xe7\x41\x06\x5e\x95\x49\x5d\x43\xde\x22\x10\xa3\x74\x36\x0b\xaa\x62\x98\xae\x48\xf1\xac\xe8\x50\x4b\x57\xfd\x6d\xf1\xc9\x02\x4b\x9a\x2f\xf2\x62\x8c\xd5\x69\xf7\x1c\xff\xa5\x5b\x1f\xf8\xce\x47\x43\x07\xe2\xeb\xf7\x3c\x6c\xa1\x9a\xbf\xc9\x6d\xbb\x3a\x0b\xf1\x2f\xc8\x2e\xc3\xf4\x3a\xa1\x37\xfd\x73\x19\x62\x35\x2f\x82\x38\x0a\xf5\xd6\x66\x58\xac\xd9\x15\x6f\x27\x80\x54\xe5\x55\x04\x71\xd7\x07\x6d\x70\x4d\xa5\xa3\x08\xeb\x0e\xf5\x6a\xb1\xbd\x99\x2d\xd4\x02\x4c\x07\x43\x83\x79\x54\xbb\xda\xae\x15\x93\x94\xb7\x79\x15\xc4\x0b\xd0\xbd\xb8\xd1\x4b\x55\x55\x31\x30\x64\xf3\xe0\x82\x18\x45\x9c\xe1\xc9\xc5\x75\x9a\x3c\xd2\x66\x46\x56\x42\x0c\x5c\xe7\xb9\x08\x53\xa9\xa8\xcb\x8c\x84\x6d\x0d\x5c\xe7\x45\xdb\x79\xe9\x0f\xeb\x47\x3e\x96\x48\x1b\x5e\x2e\xc0\x7a\xbd\x98\xc7\x69\x10\x9e\x61\x29\x2f\xa7\x92\xcd\x49\xb7\x60\xb1\x19\x68\x26\x01\xe4\x1f\x56\x0b\x03\x50\xa4\xc8\xe7\x79\xb6\x90\xe7\x96\xd3\xab\x1f\x75\x1c\xff\x74\xd0\xe9\xd7\x9b\x44\x95\x9a\xb5\x8a\x4d\xc5\x38\x5d\x12\xba\x35\x38\x0c\xf2\xa0\x96\xcf\xe6\x35\xf3\xf9\x5c\x6c\xe2\x4d\x4c\x24\xbe\x87\x32\x96\xc4\x3a\xec\x61\x02\x07\x01\x75\x57\x79\x90\xe5\x8f\x2d\x3d\x89\x3f\x74\xba\x03\x7f\x50\x67\xbd\xbb\x4d\x07\x33\xf7\xa1\x0d\x98\x77\x96\x62\xe5\xf0\x18\xe9\x35\x48\xe5\x37\x73\xa9\x6c\x21\xab\x93\xaa\x88\x66\xf0\x45\xb5\x4f\xe6\x72\xf2\x5b\xfa\x71\x9e\xa0\xb5\x97\xe6\xd3\x28\x99\x18\x1b\x0a\x92\x1b\xcd\x4e\x1a\x58\xcc\x5b\xef\x74\xfa\x2f\x9d\x26\x3b\x05\x8f\x4d\xbd\x1b\xbc\x11\x2a\xfa\x4c\x92\xc6\xcb\x00\xd2\xe5\x31\x10\x53\xf7\x68\x7d\xbf\xbb\x3b\xdd\xa3\x82\x0c\xf9\x4b\x9f\x6c\xd3\x6b\x7f\x4c\x66\xbf\xbb\x63\x28\x25\x8b\xd9\x05\x38\x6f\xac\x47\x69\xdb\xe6\x6d\xad\x13\xdb\xde\x2a\x48\x11\x15\x22\xe7\xb1\x05\x92\x1c\x23\x92\x61\x6f\x49\x68\xe9\x29\xa2\x42\x5b\x49\x9e\xa4\x34\x60\x0a\xd6\x99\x26\xa4\x31\x98\x03\xad\xe4\xa2\x2d\xe7\x23\x50\x76\xe1\x95\xea\xc7\xf0\xf4\x7e\xef\xb4\x0b\xd2\x3b\x5b\x6b\x44\x23\xa5\x16\x5f\x4d\x8e\xc9\xb4\x3d\xef\xf4\x16\x91\xed\x75\x22\x4b\xef\x06\x3d\x8f\xb0\xaf\x75\x22\xc1\x28\x8f\xae\xa2\x1c\x42\x90\x32\xb4\x5a\x8e\xa3\xf7\xda\xe8\x77\xe1\xc5\x0c\xc1\x3d\x6d\x91\x0b\xe6\xfe\x39\x99\x98\xac\x8c\x52\x6c\xe5\x1c\x42\xcc\x03\x58\xcc\xc4\x26\xdf\x18\x92\x39\xd5\x93\x30\x4b\x61\xbc\xdf\xc4\xb8\x2a\xad\xa4\x9e\x60\xae\x2b\x36\x68\x1e\x04\x2f\x02\xd7\xb7\x91\x60\x76\x1d\x3d\xc2\x48\x91\xd6\x6f\xc0\x82\xe3\x58\x1b\x39\x19\x59\x11\x4d\x54\x7e\x13\x93\x9e\x77\x89\x75\x51\x32\x4e\x0f\xc4\x34\xcf\xe7\xea\xa0\x56\x43\x50\x91\x71\x0a\xe9\xa9\xea\x24\x4d\x27\xb1\xac\x62\x93\xb5\x6b\x79\x01\x25\x85\xbe\x4a\x55\xdb\xd9\xda\x7e\x52\xdb\xde\xae\x79\x8b\xf9\x3c\xcd\xf2\x0a\xec\xa4\x52\xda\x40\x25\x4a\x2a\x8d\x69\x96\xe2\x7d\xf7\x7d\xfe\x68\x96\x6f\x0d\x4f\x9c\xae\x03\x36\x40\x46\x7e\xd7\x19\xd6\x61\xce\xc7\x60\xc5\xf9\xbb\xe3\xf1\xde\xee\x93\xdd\xf3\x5b\x3a\xa9\xf5\x48\x47\x1d\xec\x67\x1e\x07\x37\x60\xc7\x66\x58\x28\x13\x42\xe2\x7e\x37\x3a\x7a\xcc\xa1\xa2\xd9\xf6\x06\x9d\xfa\x2b\xad\x9f\x46\x37\xf7\x77\xf7\xf7\x9f\x6e\xed\xb3\x66\x55\x83\x70\x16\x25\xeb\xfa\x45\xa1\xe7\x61\x4d\xa0\x50\xbd\xae\x08\x7b\x5b\x77\x55\xf4\x41\x12\xae\x33\xe8\x3f\x48\x22\x49\x73\x00\x87\x87\x89\xf4\xfa\xc3\x76\xe3\xb6\x5e\xef\xad\x91\x49\xb3\x49\x90\x44\x9f\xe9\x60\xfb\x10\xad\xbe\x7b\x7c\x67\x3d\xd6\xeb\xc2\x9d\x12\x87\x1c\xf6\x98\xd0\x9a\x2c\xd4\xe1\xe9\x02\x41\xfc\x72\xe5\x9c\x0b\xb7\x09\xd8\xd0\xf4\x39\x1e\x1d\x21\x50\x3f\x2f\x81\x80\x22\x90\x8e\x10\xbd\xd2\x99\x38\x75\x3b\x15\x6f\x44\x2a\x52\xda\x66\xe1\xdd\x28\x5a\x47\xc9\x25\x22\xdf\x54\x26\x60\x68\x12\xca\x8c\x7c\x59\x77\x15\x61\xc8\x13\xcb\x37\xc1\x6c\x8e\x55\x01\x36\xd9\x70\x7c\x09\xc0\x8b\x46\x72\x3e\xa8\xfb\x5e\x83\x74\x4b\xfb\xb5\x5f\x25\x8a\x43\xa5\xf4\x4c\x32\xac\x51\x54\xd2\xeb\xe8\xde\x13\xd4\x1e\x8a\xdd\x9a\xc4\x7d\x81\x9b\xa8\x2d\xe3\xf0\xdd\x20\xde\x35\x8e\x74\x3d\x84\x7f\x65\xf0\xb6\x5e\x43\x53\x01\xc9\xce\x10\x08\xfb\xc3\x3e\x2c\x08\xdd\xc9\x60\xad\x66\xbf\x5b\x6f\xf7\xf0\xc6\x00\x73\x9a\xaa\x9c\x31\x20\xf1\x04\x8d\xef\x6d\x16\xfd\x1f\x93\x69\xbf\xb7\xa9\xbb\xe3\xe5\xbd\xcd\x93\xe1\x10\x71\xa8\xef\x0e\x1f\xab\x9a\xc5\x2f\xf5\x66\x93\x70\xe9\x56\x95\xff\x6f\x2d\x3b\x90\x97\x37\xf8\x88\x26\x11\x9b\xcd\xee\xc7\x8f\x49\xa6\x2c\x17\x42\xc1\x08\xe7\xd9\x25\xd9\xd2\x66\x81\x12\x3c\xef\x44\x68\x7f\xf1\x18\xee\x10\xea\xad\x48\xa4\xf0\x22\x42\x69\xa0\x5c\x05\xb9\x76\x82\x38\x07\xce\x8c\x02\x05\xfe\x11\x54\x0e\x53\x32\x07\x00\x4f\x8a\x7a\x29\xa1\x54\x82\xd2\x65\xcf\xc5\x18\x83\x06\xd7\xe3\x1c\xac\x27\x48\x99\xc4\x37\x06\x6a\x67\x3c\xaf\xe6\x15\x08\x01\x67\x44\x8a\x09\x12\x05\x45\xe8\x1e\x4b\xa3\x7d\xf1\xc7\xaa\xd5\xe9\x37\xea\x00\x85\x0f\x30\x6c\xc9\x98\xbb\x3c\x03\xa2\xd6\x4e\x96\x27\x1d\x03\xe6\x2e\xa0\xd5\xac\xc4\x34\x65\x70\x15\x44\x31\x7d\xb6\xe0\x9a\xd8\x5c\xa8\xdb\xca\x44\x96\x50\x45\xc1\xbe\x16\x51\x9c\xc3\x46\x4b\xab\x4f\x69\x03\x79\xd5\xf2\x86\x75\x77\x48\x43\x7d\xb8\xa2\x17\x9c\x38\x14\x14\x9a\xe9\x2c\xc0\x20\x9d\xb5\xb0\x97\x44\x30\x4c\x95\x36\xf7\x51\x4c\x06\x8f\x5d\x59\x34\x76\xa9\x26\x2b\x15\x20\x94\x03\xef\x5d\xc4\xed\x5f\x42\xc0\xe8\xc1\xce\xce\xad\x61\xf7\xac\x3c\x86\xf9\xc1\x08\x20\x17\x1e\xd9\x69\x7b\xd0\xf1\x82\xc0\x7b\x9b\x05\x35\x5e\x81\x9b\x82\x53\x73\x02\x5b\xb0\x57\xa2\x11\x46\x99\x1c\x51\x6e\xb0\x96\xf9\x3c\xfa\xed\x5a\x55\xa9\xe9\x23\x1b\xf3\xe5\xac\x28\x3a\xa2\xa5\xcc\xbd\x47\xb5\x29\x82\x4d\x0d\x8e\x41\xf7\xaa\xf2\xbc\x2c\x55\x8d\xb3\x58\x54\x86\x2e\xab\x15\xe5\x24\x18\x2e\x67\x88\x5f\x41\x76\x53\x18\x30\x89\x8e\xd3\x8a\xf9\xe2\x22\x8e\x46\x97\xe2\x52\xde\x60\x06\xd2\x5c\xd0\xad\xe0\x6d\x22\x13\x1b\xd4\x4a\x4b\x53\x37\xd8\xed\xac\x44\x6b\xb9\x03\xbd\x8c\xe7\xce\x2b\x40\x3e\xaf\xb4\x14\xc6\x96\x58\x45\x89\xe4\xda\x5e\x57\xed\x8f\x80\xe4\xe0\x81\x25\x79\x2d\x89\x30\x3e\x8e\xf0\x9a\x82\x03\xd7\xd3\x08\x66\x46\xf2\xa1\xdd\xc0\x91\x2e\xe7\x3a\x26\x56\x6b\x70\xb9\xa2\xc3\xa6\x16\x46\x23\xda\xf4\xb5\x51\x3b\xb6\x2e\x89\x3d\x22\x2a\x32\x94\xa1\xbd\x72\xe4\x65\x2f\x37\x4a\x33\x00\xd7\x79\x8a\x61\xd8\x3d\xe3\xc8\x6e\xbb\xd7\xee\x9e\x76\x79\x47\x14\x60\x91\x36\x3a\x8d\xb2\xd3\x2f\xcc\xa1\xd1\xec\x51\x02\x49\x10\xa5\x48\x68\x09\xf3\x5b\xfd\x56\x8b\x83\x85\xc9\x5e\xf5\xb0\xc2\x38\xdc\xfe\xe9\x10\xb1\xb6\xd3\x3f\x2e\xe7\x92\x32\x91\xec\x84\xc1\x63\x80\x13\xb4\xfc\x9a\xa8\xd6\x18\x56\x8f\x24\x94\xb0\x32\x0a\x0e\x09\xb1\x8b\x4a\xb8\xc8\x38\xf2\x1d\xee\x3f\x7b\xba\x35\xdd\x9a\x6d\x29\x51\x21\x6f\x78\x38\xbb\xa1\x9f\xaa\x89\x1e\x84\x65\xac\x0f\x08\x66\xc3\x6b\x03\xa2\xc0\x21\x57\xe7\xe3\x37\x45\xa8\x20\x38\x03\xed\xe7\x2f\xe4\x32\x5e\x82\xe1\x54\x08\xa0\xc9\xa2\xb1\x66\x20\x02\x1a\xcc\x7c\x33\x4c\x41\x85\xec\x1c\x3e\x10\xb8\x9f\xf8\xa9\xc7\xf3\x40\x93\x24\x13\x53\x1f\xeb\x65\x03\x51\x25\x4a\xc5\x62\x7e\x39\x52\xdb\x3b\xa2\x42\x16\x06\xaa\x3c\x7b\x85\x64\xaa\xdf\xa0\x4a\x95\x24\xc5\x30\xf5\xab\x8d\x42\xcf\x62\x10\x7d\x50\xf4\x80\xdc\xce\x6a\x38\xf0\x1a\x14\x62\xc0\x4d\x1d\x84\x6b\x0c\xf0\x6a\xc5\x34\x16\x89\xf1\xbe\x0e\x86\x22\xa6\x3f\x9d\x13\x86\x8f\x09\x0f\x92\x79\x92\x8a\xc7\xb4\x29\x52\x4a\xe4\x34\x40\x2d\x9a\x6f\x64\xbf\xeb\x46\xc1\x2c\x20\x35\x87\xb6\x81\x59\x1c\x22\xd0\x2c\xdf\xc8\xd1\x02\x0c\x26\xa7\x06\x3c\x73\xdb\x44\xcd\xf8\x79\x91\x7b\x51\x49\x86\x32\x24\xae\xb9\x34\xeb\xc0\x8b\xa5\xb4\x49\x97\x6c\x62\x92\x09\x57\x17\x78\x95\xc7\x1f\xb7\x07\x48\x54\x19\x96\x16\x20\x85\xdb\x4a\xc8\x24\xd0\x2a\xcd\x25\x9d\x31\x7b\xd9\xa4\x12\xa7\x93\x09\xe4\xce\x78\xd0\x86\x41\x25\xe4\x0b\x37\xc8\xab\x68\x34\x6d\x92\x8c\x0d\xab\x53\xe7\x1a\x12\xe1\x27\x62\x1c\xf5\xb0\xf4\xd2\x09\x26\x2d\x11\x4d\x3c\x41\xce\x92\x4f\x67\x8a\x79\x05\x6e\x44\xd9\x9a\x9d\xe9\x82\x85\xd8\x24\xef\x55\xd9\x26\xdd\x31\x78\x1d\xfa\x48\xb6\xf6\x18\x01\x5f\x4d\xab\x66\x88\x8f\x21\x3e\x99\xa6\x3a\xb3\x9c\xe6\xce\xde\xde\xf6\xfb\x0c\xff\x9e\x5a\x4e\xa3\xe9\xd5\x85\x30\x6f\x2e\x3f\xf3\xdb\xd6\x93\x7d\xab\xb9\x7c\xdd\xde\xda\x79\x02\x0c\x41\x6c\xbb\x40\xa8\x3d\x2b\x95\x9d\x66\x37\xea\xd3\x98\x0b\x4f\xb0\x92\x09\x4c\x5e\x6f\x18\x8d\xc0\x44\xbb\xf8\x10\xe5\x8f\x94\x0e\xad\xa3\x69\x4a\x05\xae\xe6\x51\x51\x57\xe2\xb1\xd6\x49\xdf\x23\xc7\xbe\xbd\xf3\x8c\x71\xc3\xf6\xc1\xee\xee\xd6\x53\xcb\x94\xc8\xc8\x54\x2d\x53\xef\xca\xe0\xeb\xad\x41\xdd\xf3\x5e\x36\x8b\x4a\xd3\xda\xb4\x08\xe3\xc8\x71\x8b\x72\x98\xc9\x5f\xb0\xb2\x4c\x7e\xba\x80\x4f\xd5\x0b\x43\x80\x89\xc6\x37\x95\xf1\x22\x8e\x37\xe0\xf3\x3a\xcb\x52\x98\xee\x5f\x90\x2d\xd6\xcf\xfc\xdf\xc8\xa3\xf0\x62\x83\xb3\x29\x11\x5c\xa8\x34\x86\x0e\x2e\xd5\x33\xe1\x70\xc2\x29\x3a\x81\x03\x83\x4e\xac\x72\x82\x4e\x9b\xa8\x86\x17\xe0\xa0\xc9\x21\x08\x8e\x8d\x16\x90\xf0\xcd\x99\xd5\xee\x41\x99\x3b\x1d\x38\xae\x35\x5f\xf8\xce\x3b\xba\xfe\xa8\xcb\x93\xc3\xbe\x78\xee\x38\x03\xf1\xaa\x7f\xea\x0a\x66\x07\xa9\xb3\xf0\xea\x2d\xe7\x9d\x77\x2c\xcf\x69\xb8\xce\x90\xfc\x2a\x08\xbc\xf3\xee\x87\xad\xa6\xf3\xd2\xc5\x7f\xbf\xfe\x1b\x9b\xa4\xe5\x8b\x3c\x25\x05\x8d\x08\x1b\xcf\x24\x47\xdd\x30\x80\x7f\x80\xab\x6c\xf7\x7c\x17\xb0\xb7\x7b\x04\xcf\xd9\xac\xbf\x22\x10\xf9\xcc\x6a\xf4\xfb\xcf\xdb\x0e\x57\x19\x4b\x52\xf0\x83\x6b\xa9\x48\x5d\xcd\xe7\xe5\xb8\x72\x9f\x28\x41\x68\x0c\x23\xcd\x48\x97\x8a\x80\x8a\x7c\x59\xfa\xe6\x46\x04\x0b\x08\x26\xc9\x0b\x7b\x9b\xca\x80\x90\x2f\x63\x0f\x93\x49\xf1\x0b\xd2\x1d\x80\x14\x8f\x0a\x83\xfd\x8f\x5e\xf9\xf5\x53\xe4\x7c\x3d\xd8\xba\x2e\xe3\x19\x4d\xf8\xa8\xf2\xd2\x39\xa2\x4f\x15\x6a\x30\xe8\x16\x5c\x3f\xb3\xea\x8d\x61\xfb\x05\xa5\x88\x4d\x07\xc0\x01\x4f\x08\x3a\x88\x0b\x5c\x21\xd8\xdf\x02\x71\xcf\x21\x8f\x41\x3a\xf4\x95\x9d\xe0\xb8\x78\x35\x05\x86\x4c\x93\x71\x94\xcd\x84\xac\x00\x2d\xc5\x6c\xf2\x99\x9c\x00\xa3\xe8\x80\x01\x9a\xc7\x84\x50\x5c\xdf\x01\x2e\xea\xf8\x5c\x16\x76\xbb\x6b\x30\x4b\x6a\x10\xc9\xe6\x6d\x06\x63\x02\x52\x2d\x56\x88\x02\x4f\x00\xe7\xa6\x8b\x44\x03\xd2\x55\x5c\x63\xf2\x2e\xef\xbf\x44\x94\x97\x38\xa3\xb4\x40\x45\x13\x8e\x94\x58\x2a\x97\xca\x82\xe4\x86\x6b\x39\x55\x8b\x8a\x95\x6d\x97\xb2\xd9\xe3\x1e\x24\x4d\x05\xb0\x12\x85\x2e\xed\x86\x72\xc7\xb1\x91\x49\xe1\xf0\x28\x57\x6c\xbd\xf2\x69\x37\xe5\xee\x14\xb5\x42\x99\x63\xd4\x2a\xd7\x07\x64\x9a\x2e\x2e\x38\xc1\x87\xfc\xa3\x5c\xb1\xae\xd7\x74\x89\xa4\xb6\xfd\x74\xaf\xa0\xf9\x90\x54\x97\x93\x7c\x55\xdf\xfe\x57\x31\xc1\xe4\x99\xa3\x60\x9e\x03\xe9\x0b\xae\x67\x68\xf5\xba\x23\x25\x43\xbb\x51\x1f\x0c\x61\x58\x45\xa1\xce\x7a\x8d\x8c\x62\x9a\xa6\x97\xe4\xd2\x4e\xf0\x2b\xf2\x40\x5d\xae\x55\x85\xad\x7b\x4a\xbd\xec\xb1\xe3\x88\xc0\x6a\x1e\xcd\x24\xc5\x51\x08\x00\x36\x0d\xb8\xa3\xac\xa6\x43\x4a\xe5\xfa\xc3\x76\xd7\x01\x28\x31\xb5\x9a\x3a\x0b\x3f\x4a\xd8\xf2\x65\x09\x11\xd0\xea\xbc\xe7\xed\x81\x3f\xec\x78\x3e\xc6\xd1\x99\xc4\x6a\x8b\xab\xfc\x7c\x1a\x29\xc6\x9f\x54\x6d\xc9\x66\x7a\x9b\x54\x12\xa5\xc2\x1b\xe7\xe5\xb7\xeb\x4d\x94\x93\x23\xbc\x22\xe9\xd3\x9b\x6f\x96\xc8\x1e\x2d\xc6\x63\x8e\xcd\x1c\x47\x28\xd1\x46\xa6\x94\xc8\xd8\x46\x78\x91\x73\x53\x03\x8f\x38\x16\x9b\x43\x88\x90\x0b\xae\x97\x09\x36\x71\x4d\x79\x30\x7f\x04\x6c\x74\x7a\x4d\xff\xe8\xb4\xd5\x22\xec\xe5\xf4\x34\x83\x68\xdd\x64\xd8\xab\xa2\x0b\x16\xca\xd6\xa3\xcf\x40\xbc\xd3\xa3\x6f\x39\x0d\x0d\xe7\x8b\xf3\x10\x86\xf3\xac\x93\x3a\x0d\x20\xf4\x36\x63\x65\x53\xb3\x7c\x5e\x9d\xd0\x33\x29\xda\xc1\xde\xfe\x33\x7c\xfb\xf6\xb7\xcd\x87\x4f\x3f\xe5\xd6\x27\x4f\xb9\x9a\x91\xe6\xd2\x2e\x0a\xc2\x0c\xa6\x90\x60\x9b\xbc\x7b\x03\x5d\xe0\xc4\xbd\xee\x70\xe0\xe9\xaa\x16\x62\x34\x15\xc8\xaa\x30\x26\x8a\xe8\x9c\x29\x41\x08\x54\x79\xe5\xb1\x98\x89\x18\x00\x38\x8e\x9c\x9b\x32\xf5\x90\x8b\x92\x6e\xab\x21\x9e\x3e\xd9\x7a\xbf\x2a\xda\x7a\x22\x93\xb7\x18\xdc\xa0\x56\x84\xc0\x23\x9e\x28\x88\xaf\xe1\x70\x97\xf3\x99\x90\x57\x42\xbc\x27\x4e\xa7\x4f\x58\x4d\x2b\xab\x0e\x2b\x04\x3b\xd9\x3d\x52\xad\x23\x8c\x48\x5e\xf0\x9f\xd5\xa5\x63\xe0\x31\x44\xa4\xa1\x6b\x24\xcb\xfe\xa4\xfb\xeb\x04\xd7\xf2\x03\x06\xa7\x3a\xeb\xc0\x4a\xd0\xcf\xa7\xe5\x68\x2f\xce\xde\x8a\x7d\x95\x8e\x93\xbc\xbd\x32\x78\x4d\xcb\x3b\xae\x8a\x3e\xa5\xce\x14\x16\xe1\x71\x14\x4f\xac\x64\x3c\xae\x90\x4b\x02\xb3\x4a\x03\x95\x56\xf1\x42\xbd\xb5\x03\x43\x8a\x18\x61\x4b\xe5\x7e\x14\xeb\x7d\xc2\x9e\xed\x16\x79\x87\x15\xcc\xbf\x07\x8f\x6a\xed\x7e\x08\x90\x9a\x1e\x2b\x44\xca\xfa\xa5\x71\x7b\x18\x02\x35\x00\xac\x91\x34\xf7\x76\x77\x76\xaa\x62\x48\x7b\x30\xd8\x8d\x0b\x2e\x78\x94\xac\xb5\xcb\xce\xd8\x20\x6d\xff\x7c\x83\xd4\x7b\x43\x7c\x83\x3f\x7f\x58\xca\x0d\xbe\x79\x2e\xb4\x75\x5a\x2d\xb7\xdf\x35\x55\x72\x5a\xc4\x2a\xc2\xb1\xdf\x9f\x07\x4a\x5d\xa7\x59\x68\xb0\x4d\x19\xd6\x10\x63\x72\xf9\x26\x07\x9c\x9e\xc5\x7c\x60\x42\x85\x8a\x04\x82\xbc\x92\x86\x38\x1b\x6c\x9a\x20\x4b\x5e\xa2\xd4\x93\x61\xb7\xe3\xd7\x3b\x43\x8a\xd9\x14\x02\x97\x8c\xb3\x5e\x8f\xe0\x21\xd6\x31\x9b\x9c\xc1\x91\x68\x68\x04\x13\xdd\xe0\x7d\x51\x2b\xf7\xbc\x75\x66\x68\x3a\x5b\xf5\x26\x5c\x27\x47\x5f\xdd\x52\x20\x25\xf3\xdd\xc0\xaf\xe3\x06\x4c\x1d\xcb\x85\x2b\x2e\xb9\xc4\x35\x8a\x4f\xb7\x80\x79\x40\xe9\x45\x9d\xc2\xcb\xd3\xad\x82\x90\x5e\x8b\x06\x5c\xa5\xb5\x80\x40\x82\x7c\x98\x31\x03\xd5\x7a\x8c\x2c\x30\x8a\x07\x1c\x20\x4e\xe7\x54\x3d\x3a\xcc\x47\x73\x9b\x3e\x1e\x1e\x3c\xdd\x7d\xf6\xbe\x5d\x70\xf8\x70\x16\x8c\x82\x0c\x36\x10\x5e\x1c\x6e\xd9\xf3\x34\x8d\x19\x0a\x1f\xc2\x4d\xd9\x51\x18\x4b\xdf\x78\xf0\x43\x1d\xfa\x8b\x99\x0f\xc4\xf9\x0a\x91\x6e\x6f\xef\x6c\x6f\x9f\x17\x66\x4b\x70\x43\x51\x8d\xee\x7e\x9e\x52\x4a\x63\x58\x5a\xb0\xf7\x3e\x7e\x22\xba\xbd\x68\x37\xd7\x19\x3a\xc8\xd2\xab\x88\x60\x11\x63\x8e\x09\x0c\x98\xf6\xad\xf4\xb2\xd0\xe5\x80\x4d\x53\x9f\xb8\x25\x37\x45\xaf\x1b\x49\xe7\xc0\x34\x2d\x5c\xa2\x5e\xd9\x2a\xaf\x32\xa7\x3e\xfa\xc4\xc9\x7c\x55\xe7\xff\x6f\xdc\x23\x44\x7f\x00\x2c\x58\xc1\x6f\x25\xcc\x28\x44\xd6\xb8\x51\x84\x2a\x29\x16\x8c\xa0\x0c\x7f\x5b\xac\x8c\x60\xfd\x41\x31\xdf\x87\xc5\x1a\xfd\x9c\x1c\xe3\xf9\x92\x4d\xbe\x39\x6e\x37\x90\xba\xd8\x09\x17\x5a\xf5\x96\x47\x08\xdf\x91\xd4\x20\xd2\x60\x54\x03\x4d\x23\x9f\x4e\x37\x7c\x8d\x50\xa8\x96\xa1\x23\x1a\xf9\xad\x82\x5f\xd0\x55\xc6\x34\x46\x8d\xcb\xee\x52\xbb\x1f\x4d\x10\x48\xfb\xd4\x75\xee\x22\x10\x85\x04\x5e\xcf\xbf\x36\x96\x31\x86\x31\x50\x02\x9e\x9a\xca\xea\x94\xb0\x58\x3a\xac\x86\xf8\xb8\x34\x9d\x35\x22\xfb\x88\x35\x5b\xd6\x71\xc3\x2f\xac\x86\x81\x05\x9d\x4e\xf0\x87\x15\x95\x38\x1a\x4b\xa6\x73\xcf\x70\xcf\xf1\x3c\x7d\x0e\xde\x72\xd6\xc7\x5b\xaf\xe7\xd1\x88\x2a\x8f\x00\xcf\x2f\x90\x54\xb8\xe6\x30\x73\xed\x88\x31\xb8\xc2\xdf\x4c\xf1\xe5\x04\x24\xaa\x4a\x9a\xa3\x0f\xf2\x96\x48\xeb\x52\x34\x6c\x84\x8b\x54\x4d\x17\xe9\x06\x3a\x41\xf7\x83\xa2\x74\xaf\x87\x0a\x85\x0c\x70\x84\x95\x91\x24\x34\x7e\x04\x7c\x1c\x25\xd5\x49\xa6\x3b\x30\x86\xd4\x8f\x35\xeb\xd8\x35\x4b\xf1\x90\xef\x34\x38\xbb\x30\xdd\x96\xd1\xaf\xe8\x52\xf2\x73\x41\x9e\xc3\x72\x11\xa8\xf3\xf2\x49\xee\xaa\xf5\x57\x3d\xcd\xbd\xe7\x14\xb7\x44\xe4\xbe\x93\xdc\xd2\xe7\xf3\xb5\xcc\xaf\xf4\xe1\x7f\x79\x34\x6b\xdd\x3a\x76\xbd\xbf\xd3\x57\x9c\xc5\xde\x73\x0a\x5b\x3a\x79\x7d\xf2\xf5\x0f\x5e\xcb\x27\xae\x7b\x60\x39\x69\x1b\x31\xdb\x9b\xcb\x11\x22\xb8\xd4\x95\x1b\x13\xa4\x88\x71\x94\x67\xdf\x50\xc9\x71\x4e\x75\x1b\xc1\xe7\x7f\xeb\x54\x11\x7f\xe1\x5e\x77\x0b\x22\x88\x1b\x06\x47\xa1\xbb\xb9\x0f\x40\x62\xa3\x7b\x26\x0d\x5b\x9c\x26\xd1\x9b\x66\x40\x20\xcf\x5d\x5c\xdc\x98\xa7\x56\x63\x7f\x67\xa7\xf8\xfd\x58\x3f\xec\x6d\xd9\x05\xe9\xe5\x83\xfe\xb4\xbb\xbb\xfb\xfe\xf2\xa1\x17\x24\xa9\x2d\x9e\x47\xc8\x1f\xa8\x8c\xea\xe5\x88\xe4\xe6\xa7\x0b\xe4\x16\x2d\x9f\x47\x59\xca\xa1\x89\x5f\x69\x94\x09\x5b\xb3\xe2\x00\xb4\x80\xe4\xc1\x05\xa5\x03\x25\x36\x28\x29\x0b\x7d\x9f\xa4\x71\x80\xc4\x2c\xcd\x26\xb5\xf9\xe5\xa4\x46\xdc\xab\xbd\x8b\xa7\x0a\x1c\xa3\xca\x03\xd2\x92\x56\xdf\xed\xd6\x75\x94\x41\xce\xae\x2f\xe4\xac\x4a\x5c\x45\xb4\xa1\xfe\xa9\xae\x6e\x98\x70\x43\x4d\x09\xfd\x12\x28\x36\x47\xb8\xa6\x5c\x73\x2b\x00\x15\x63\x0b\x0c\x46\xe7\x49\x5c\x4e\x2e\x0e\xac\x66\xe8\x19\xcd\x8b\x5b\x1e\x46\x37\x8b\x61\x36\x2b\xc9\x86\x65\xca\x26\xa6\xf5\xff\x32\xa3\xb8\x9d\x4c\xb0\x8f\x2b\x36\x3e\xcc\x82\x11\x6f\xb7\x29\x2f\x16\x13\x7a\x68\x83\xf7\xf4\xfb\x32\xc8\x78\xff\x0e\x5d\xa1\xa1\x87\x46\x16\x51\xb5\x21\xbe\xb5\x7d\x4d\xc1\xea\x20\xc9\x24\xfc\xc1\xaf\x56\x81\x41\x0a\xde\xe8\x3b\x26\x9c\x87\x93\x18\xaa\xa6\xfd\xac\x18\xb6\x1c\xc0\xcc\xb8\xdd\x9b\x1a\x57\x5d\x3f\xd0\xc0\x52\xfb\x1d\x45\x75\x90\x74\xc6\x77\x63\xd0\x55\x64\x69\x8e\xe7\x4d\x75\x4d\x1a\xc8\x26\x98\x92\x63\xa0\x74\xc4\x04\xff\xc7\x77\x23\x4a\xa7\x7f\xec\xbb\xfd\xa1\x86\xc7\xc6\x55\x91\x21\xf3\x51\xeb\xca\x9a\x29\xa9\x89\xf5\xbd\x98\x35\x1a\xcc\xd3\x2d\x6d\xcc\x54\x4f\xf7\x0a\x3e\x33\xa7\x97\x8e\x44\x4d\xa3\x71\xfe\x10\x9d\x9d\x7d\x73\x5d\x64\x5b\x7c\xe3\x1b\x78\xb3\xa9\x88\x58\x72\x31\xbe\x77\xd2\x6e\xf1\xa1\xcf\x3e\x47\xa9\x09\xf9\x41\xde\x75\x08\x48\x7c\x73\x77\x5f\xcd\x7a\xbb\xf3\xea\xce\xce\x9c\x37\xf3\x28\x63\xdf\x81\x14\x0a\xcb\x21\x02\xb4\x96\x4d\x7d\x51\x46\x04\x63\x2a\xa6\xcc\xb0\x6c\xea\xb1\xce\xae\x67\xfa\x68\xbf\xa8\x6c\x95\xc4\x9c\xdc\x27\xe3\xa4\x2c\x35\x57\x1a\xe8\xa9\x71\x27\x1f\x21\xf3\xad\x36\xc3\x8f\x19\xc2\x2e\xfc\xef\x3d\x60\xc1\x75\x00\x56\x7a\x48\x70\x7d\x44\xdc\xae\x57\x3e\x90\x18\xea\x03\xa4\x6c\x49\x9b\x53\xbd\x12\xc6\x05\x91\x18\xd3\x3d\x44\xb5\x0c\x3f\x8c\x59\x00\xbd\x91\xca\x2f\xe0\x1d\xb5\xed\x2f\xc2\xf9\x2d\xbd\xa7\x2e\xe5\xd3\x5f\xbc\x73\xcd\xa3\x04\xa9\xf5\xf9\xed\x92\x4b\xda\x93\xdc\xe2\x12\x35\x96\xb9\xf4\x50\x9e\xbf\xbe\x80\x66\x14\x4c\x12\x4c\x17\x8d\x0a\xd6\x99\x54\x94\x73\xc9\x8d\x52\x51\xe0\xe1\x9e\xb7\xca\x04\xcb\x5c\xfa\xeb\xe6\x59\x90\xaf\x24\x7c\xba\x2a\xd8\xa7\xab\xf8\x6c\xbc\xde\xeb\x8d\xed\x72\x76\xb7\x61\x6f\xec\xac\xbd\x9f\x91\x54\x1c\xaa\xf6\x78\x25\xc6\x2d\x1d\xef\x6d\xe6\xad\x0a\xe8\x2b\x06\xae\x17\xd2\xc5\x5a\x4d\xdb\x6a\xba\x6d\x3e\xb2\x25\xff\x1a\x28\x7d\x29\xec\x0d\xc2\x8a\x5e\xde\x01\x97\xc4\x0f\xe8\xcf\x87\xcb\xe3\x7b\xae\xc0\xfd\xa6\xb9\x9e\x79\xb8\xc8\xc7\xfb\x16\xe9\x0d\x47\x14\x04\xb1\xf2\xfd\x8c\x6c\x91\x24\xe4\x69\xa8\x99\x0b\x5f\x1c\xfb\xa3\x94\x4e\xfa\x10\xb6\xab\xa5\xba\x91\xb1\x45\x77\x91\x94\x7b\xb3\xf2\xf2\xe1\x0c\xd7\xbf\xe1\xbc\xe9\x72\x69\x7d\xe8\x73\x05\x64\x05\xcd\xe8\x28\x28\xe4\xd0\xc2\x17\x1c\x95\x5e\x49\x55\x9f\xef\xfb\xa6\xf1\xcc\xa2\x3b\x18\xcd\x53\x06\x60\x1f\x6a\x53\xdb\x9e\x5a\x2c\xa9\xe5\x85\xcf\xa9\x44\x36\x3c\xd5\x27\x8f\x86\x0a\xdd\xa0\xf1\x75\xbb\xcf\xed\xf7\x11\xda\x79\x32\xb5\x56\xf5\xb8\xa7\x5b\x04\xc7\xea\xd9\x64\xa1\x71\x21\xd9\x36\xc7\x41\x68\xcc\x23\x24\x09\x62\xac\x46\x97\x8f\x8a\xc8\x57\xa9\x2c\x92\x8c\x30\x15\x33\xad\x52\xc9\x83\x89\xa2\xe8\x49\x81\x9d\xc3\x7f\x9a\x2c\x03\x7c\x94\x57\xd4\x68\xc6\x60\x36\x4c\x47\x8a\x1b\x88\x58\x6d\xbb\xfa\xac\xba\x67\xd5\xdd\x63\xa3\x28\x0d\x3e\x3b\x2d\x5d\x65\xe5\x03\x31\xd2\xf9\x82\x3b\xbc\x17\x9f\x77\x47\xdf\xc0\x9f\x5b\xcc\x65\x99\xdc\xbf\x55\xeb\x35\x26\x3e\xbb\x83\xef\x28\x40\xa8\x25\xf4\x44\x43\x50\x76\xee\x64\xbc\x54\x67\xe2\x32\x72\x95\x3d\xe7\x71\x7b\xe8\x37\xdb\xad\xd6\x5a\x9c\xb8\x43\x96\x94\x2d\x18\xe5\x94\x10\x30\xcd\xb8\x7c\x96\xf5\x4b\x88\xf2\xdd\xe1\x7a\x63\xc8\x16\x24\xf6\xee\xa1\xae\x41\x29\xdd\x43\x4a\x1e\x22\xb6\xba\x08\xb8\xf5\xb0\x6c\x27\xa3\x92\x64\x83\x09\x19\x9a\xa2\xd2\x0a\x5e\x10\x9a\xbf\x8e\x60\x27\x23\x23\x56\x24\x67\x2b\xc9\xf6\x97\x65\xbc\x7b\x6a\xc3\x24\x97\xaa\x69\x3f\xb3\xba\x6d\xa4\x31\x1c\xeb\x9e\x52\x3c\x6e\xbb\x6e\xdf\xd5\x97\x65\xac\x46\xa7\xdf\x73\xcc\x33\xdd\x3c\x36\x8f\xc8\x72\xe6\xd1\x5d\xc1\x46\xb9\x9c\x29\x5d\x6b\xd4\xa7\xee\x8a\xa5\x19\xe8\xc2\x30\xf1\x49\xdf\x5f\xf7\x1c\xbf\x3d\x74\xba\x5e\x71\x69\x2b\xda\xde\xa7\x98\x57\xef\xd1\xe2\x01\x51\x2a\xa7\x9e\xfd\xd9\xb4\xd2\xe8\xd1\xdf\x93\xe7\xf4\x77\xf8\xd2\x0e\x65\xa5\xe9\xd8\xe3\xac\xd2\x72\xed\x24\xae\xf4\x3a\x76\x7c\x55\xe9\xbc\xb0\xb3\x45\xc5\x3d\xb5\x3f\x09\x2a\xdf\x1a\xd8\x52\x55\x1c\xcf\x9e\xe7\x95\x23\xd7\x9e\xc7\x95\x41\xc7\xbe\x98\x54\x8e\x8e\x6d\xb0\xa9\x3d\xb4\xc7\x51\xa5\xd5\xb6\xf3\xac\x32\x74\xed\x91\xaa\x34\x3e\xe6\xf3\x3d\x9a\xd3\x81\xfa\x45\x6a\x6a\xff\xec\x1f\xbf\xf3\xd3\x7f\xfb\xe3\x9f\xfe\xe8\x1f\xbe\xfc\xd3\xdf\xb5\x7f\xf6\xe3\xef\xfe\xfc\xef\xfe\x44\xbf\xfc\xe2\x27\xbf\xf7\xf3\xbf\xfd\xf3\x2f\x7f\xf4\x4f\xbf\xf8\xc9\xef\xdf\xfe\xf0\x5f\x7f\xf4\x83\x2f\x7f\xfc\xef\xf4\xa1\x29\x17\xb9\x1a\x4d\xed\x56\x16\x24\x9f\x7f\x2f\x88\x94\xdd\x93\xa1\xcc\x00\xb7\x43\x65\x77\x82\x1c\x0a\xf3\x9f\x7f\xbd\xb0\xdf\xfe\xd5\x17\xbf\xf3\xc5\x77\xbf\xf8\xee\xdb\x7f\x79\xfb\xa3\xb7\x3f\xb6\xbf\xfc\xb3\xbf\xf9\xf2\x2f\xfe\xfe\xbf\xbf\xff\x97\xb6\xa3\xe6\xc1\xe7\x3f\x4c\x63\x9b\xee\xa6\x2c\x26\x8b\xcf\xbf\xaf\xe8\x2e\xd1\x51\x16\xa8\x88\x1a\x63\x75\x19\xd9\x6f\x7f\xf8\xc5\x1f\xbc\xfd\xd7\xb7\xff\xfc\xf6\x07\x5f\x7c\x47\xd3\xb0\xdb\x79\x10\x47\x94\x43\x78\x0b\xa0\xba\x38\x80\xe6\x27\xf6\xf0\xf3\x9f\x64\x97\x9f\x7f\x4f\xda\xff\xf1\x87\x98\x35\x8f\x92\xc0\xd2\x60\x3b\x64\x6d\x24\xa7\x47\x2a\x80\xbc\xfb\x12\x01\x8c\x85\x40\xa1\x41\x52\x72\x70\x66\xb1\x14\x58\x1a\x16\x8b\x02\x8f\x9f\x4d\x2d\x96\x07\x3f\x42\x22\x16\xff\x5d\xbe\xb1\x7c\xf8\x3a\xbf\xc5\x42\x22\xc7\x9b\x59\x2c\x29\x3c\x26\xb1\xc5\xe2\xa2\x3b\x5e\x57\x16\xcb\x8c\x0e\x53\x17\x16\x0b\x0e\x8f\x9f\x04\x16\x4b\x8f\xe6\x54\x16\x8b\x10\x8f\xfc\x6b\xb1\x28\xe9\x2d\xb6\x58\x9e\x78\xbc\x98\x58\x2c\x54\xca\x45\x73\x8b\x25\x4b\x13\x46\x16\x8b\x97\xfd\x92\xc5\x32\xa6\xf4\x80\x65\xcd\x20\xae\xb8\xd7\x36\x0b\xe6\x73\xbe\x12\x92\x8a\x69\x34\x99\xc6\xf8\x97\x8b\x51\x1c\x70\x49\x8f\xcd\xb2\x0a\x80\x1c\x1f\x46\x49\x64\xbd\x5e\xf6\xa8\x9a\x61\x74\x76\x9a\x52\xc0\x84\x93\x3f\xe9\xbf\xf4\x5b\x48\x8f\x90\x2c\x1c\xb9\xfa\x5c\xbd\x04\x8d\x3c\xba\x1a\x4e\xe1\x5d\x97\x77\x6e\x27\x68\x7c\x07\x84\x7c\xc2\x24\x2d\x6e\xe0\x8f\x11\x47\x21\x8f\x32\x5d\x0a\xec\xfa\xc8\x89\x9d\xed\xff\x04\x00\x00\xff\xff\x04\xc0\xc7\xf6\x3f\x32\x00\x00")
func confAppIniBytes() ([]byte, error) {
return bindataRead(
@@ -301,8 +301,8 @@ func confAppIni() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "conf/app.ini", size: 11756, mode: os.FileMode(420), modTime: time.Unix(1468562280, 0)}
- a := &asset{bytes: bytes, info: info}
+ info := bindataFileInfo{name: "conf/app.ini", size: 12863, mode: os.FileMode(420), modTime: time.Unix(1468625438, 0)}
+ a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -321,8 +321,8 @@ func confGitignoreActionscript() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "conf/gitignore/Actionscript", size: 300, mode: os.FileMode(420), modTime: time.Unix(1441006036, 0)}
- a := &asset{bytes: bytes, info: info}
+ info := bindataFileInfo{name: "conf/gitignore/Actionscript", size: 300, mode: os.FileMode(420), modTime: time.Unix(1467819402, 0)}
+ a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -341,8 +341,8 @@ func confGitignoreAda() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "conf/gitignore/Ada", size: 51, mode: os.FileMode(420), modTime: time.Unix(1441006036, 0)}
- a := &asset{bytes: bytes, info: info}
+ info := bindataFileInfo{name: "conf/gitignore/Ada", size: 51, mode: os.FileMode(420), modTime: time.Unix(1467819402, 0)}
+ a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -361,8 +361,8 @@ func confGitignoreAgda() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "conf/gitignore/Agda", size: 8, mode: os.FileMode(420), modTime: time.Unix(1441006036, 0)}
- a := &asset{bytes: bytes, info: info}
+ info := bindataFileInfo{name: "conf/gitignore/Agda", size: 8, mode: os.FileMode(420), modTime: time.Unix(1467819402, 0)}
+ a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -381,8 +381,8 @@ func confGitignoreAndroid() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "conf/gitignore/Android", size: 394, mode: os.FileMode(420), modTime: time.Unix(1441006036, 0)}
- a := &asset{bytes: bytes, info: info}
+ info := bindataFileInfo{name: "conf/gitignore/Android", size: 394, mode: os.FileMode(420), modTime: time.Unix(1467819402, 0)}
+ a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -401,8 +401,8 @@ func confGitignoreAnjuta() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "conf/gitignore/Anjuta", size: 78, mode: os.FileMode(420), modTime: time.Unix(1441006036, 0)}
- a := &asset{bytes: bytes, info: info}
+ info := bindataFileInfo{name: "conf/gitignore/Anjuta", size: 78, mode: os.FileMode(420), modTime: time.Unix(1467819402, 0)}
+ a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -421,8 +421,8 @@ func confGitignoreAppengine() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "conf/gitignore/AppEngine", size: 58, mode: os.FileMode(420), modTime: time.Unix(1441006036, 0)}
- a := &asset{bytes: bytes, info: info}
+ info := bindataFileInfo{name: "conf/gitignore/AppEngine", size: 58, mode: os.FileMode(420), modTime: time.Unix(1467819402, 0)}
+ a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -441,8 +441,8 @@ func confGitignoreAppceleratortitanium() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "conf/gitignore/AppceleratorTitanium", size: 45, mode: os.FileMode(420), modTime: time.Unix(1441006036, 0)}
- a := &asset{bytes: bytes, info: info}
+ info := bindataFileInfo{name: "conf/gitignore/AppceleratorTitanium", size: 45, mode: os.FileMode(420), modTime: time.Unix(1467819402, 0)}
+ a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -461,8 +461,8 @@ func confGitignoreArchlinuxpackages() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "conf/gitignore/ArchLinuxPackages", size: 75, mode: os.FileMode(420), modTime: time.Unix(1441006036, 0)}
- a := &asset{bytes: bytes, info: info}
+ info := bindataFileInfo{name: "conf/gitignore/ArchLinuxPackages", size: 75, mode: os.FileMode(420), modTime: time.Unix(1467819402, 0)}
+ a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -481,8 +481,8 @@ func confGitignoreArchives() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "conf/gitignore/Archives", size: 295, mode: os.FileMode(420), modTime: time.Unix(1441006036, 0)}
- a := &asset{bytes: bytes, info: info}
+ info := bindataFileInfo{name: "conf/gitignore/Archives", size: 295, mode: os.FileMode(420), modTime: time.Unix(1467819402, 0)}
+ a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -501,8 +501,8 @@ func confGitignoreAutotools() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "conf/gitignore/Autotools", size: 181, mode: os.FileMode(420), modTime: time.Unix(1441006036, 0)}
- a := &asset{bytes: bytes, info: info}
+ info := bindataFileInfo{name: "conf/gitignore/Autotools", size: 181, mode: os.FileMode(420), modTime: time.Unix(1467819402, 0)}
+ a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -521,8 +521,8 @@ func confGitignoreBricxcc() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "conf/gitignore/BricxCC", size: 72, mode: os.FileMode(420), modTime: time.Unix(1441006036, 0)}
- a := &asset{bytes: bytes, info: info}
+ info := bindataFileInfo{name: "conf/gitignore/BricxCC", size: 72, mode: os.FileMode(420), modTime: time.Unix(1467819402, 0)}
+ a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -541,8 +541,8 @@ func confGitignoreC() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "conf/gitignore/C", size: 246, mode: os.FileMode(420), modTime: time.Unix(1441006036, 0)}
- a := &asset{bytes: bytes, info: info}
+ info := bindataFileInfo{name: "conf/gitignore/C", size: 246, mode: os.FileMode(420), modTime: time.Unix(1467819402, 0)}
+ a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -561,8 +561,8 @@ func confGitignoreCSharp() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "conf/gitignore/C Sharp", size: 1521, mode: os.FileMode(420), modTime: time.Unix(1441006036, 0)}
- a := &asset{bytes: bytes, info: info}
+ info := bindataFileInfo{name: "conf/gitignore/C Sharp", size: 1521, mode: os.FileMode(420), modTime: time.Unix(1467819402, 0)}
+ a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -581,8 +581,8 @@ func confGitignoreC2() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "conf/gitignore/C++", size: 242, mode: os.FileMode(420), modTime: time.Unix(1441006036, 0)}
- a := &asset{bytes: bytes, info: info}
+ info := bindataFileInfo{name: "conf/gitignore/C++", size: 242, mode: os.FileMode(420), modTime: time.Unix(1467819402, 0)}
+ a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -601,8 +601,8 @@ func confGitignoreCfwheels() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "conf/gitignore/CFWheels", size: 205, mode: os.FileMode(420), modTime: time.Unix(1441006036, 0)}
- a := &asset{bytes: bytes, info: info}
+ info := bindataFileInfo{name: "conf/gitignore/CFWheels", size: 205, mode: os.FileMode(420), modTime: time.Unix(1467819402, 0)}
+ a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -621,8 +621,8 @@ func confGitignoreCmake() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "conf/gitignore/CMake", size: 89, mode: os.FileMode(420), modTime: time.Unix(1441006036, 0)}
- a := &asset{bytes: bytes, info: info}
+ info := bindataFileInfo{name: "conf/gitignore/CMake", size: 89, mode: os.FileMode(420), modTime: time.Unix(1467819402, 0)}
+ a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -641,8 +641,8 @@ func confGitignoreCuda() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "conf/gitignore/CUDA", size: 38, mode: os.FileMode(420), modTime: time.Unix(1441006036, 0)}
- a := &asset{bytes: bytes, info: info}
+ info := bindataFileInfo{name: "conf/gitignore/CUDA", size: 38, mode: os.FileMode(420), modTime: time.Unix(1467819402, 0)}
+ a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -661,8 +661,8 @@ func confGitignoreCvs() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "conf/gitignore/CVS", size: 39, mode: os.FileMode(420), modTime: time.Unix(1441006036, 0)}
- a := &asset{bytes: bytes, info: info}
+ info := bindataFileInfo{name: "conf/gitignore/CVS", size: 39, mode: os.FileMode(420), modTime: time.Unix(1467819402, 0)}
+ a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -681,8 +681,8 @@ func confGitignoreCakephp() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "conf/gitignore/CakePHP", size: 136, mode: os.FileMode(420), modTime: time.Unix(1441006036, 0)}
- a := &asset{bytes: bytes, info: info}
+ info := bindataFileInfo{name: "conf/gitignore/CakePHP", size: 136, mode: os.FileMode(420), modTime: time.Unix(1467819402, 0)}
+ a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -701,8 +701,8 @@ func confGitignoreChefcookbook() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "conf/gitignore/ChefCookbook", size: 77, mode: os.FileMode(420), modTime: time.Unix(1441006036, 0)}
- a := &asset{bytes: bytes, info: info}
+ info := bindataFileInfo{name: "conf/gitignore/ChefCookbook", size: 77, mode: os.FileMode(420), modTime: time.Unix(1467819402, 0)}
+ a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -721,8 +721,8 @@ func confGitignoreCloud9() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "conf/gitignore/Cloud9", size: 45, mode: os.FileMode(420), modTime: time.Unix(1441006036, 0)}
- a := &asset{bytes: bytes, info: info}
+ info := bindataFileInfo{name: "conf/gitignore/Cloud9", size: 45, mode: os.FileMode(420), modTime: time.Unix(1467819402, 0)}
+ a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -741,8 +741,8 @@ func confGitignoreCodeigniter() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "conf/gitignore/CodeIgniter", size: 106, mode: os.FileMode(420), modTime: time.Unix(1441006036, 0)}
- a := &asset{bytes: bytes, info: info}
+ info := bindataFileInfo{name: "conf/gitignore/CodeIgniter", size: 106, mode: os.FileMode(420), modTime: time.Unix(1467819402, 0)}
+ a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -761,8 +761,8 @@ func confGitignoreCodekit() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "conf/gitignore/CodeKit", size: 54, mode: os.FileMode(420), modTime: time.Unix(1441006036, 0)}
- a := &asset{bytes: bytes, info: info}
+ info := bindataFileInfo{name: "conf/gitignore/CodeKit", size: 54, mode: os.FileMode(420), modTime: time.Unix(1467819402, 0)}
+ a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -781,8 +781,8 @@ func confGitignoreCommonlisp() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "conf/gitignore/CommonLisp", size: 26, mode: os.FileMode(420), modTime: time.Unix(1441006036, 0)}
- a := &asset{bytes: bytes, info: info}
+ info := bindataFileInfo{name: "conf/gitignore/CommonLisp", size: 26, mode: os.FileMode(420), modTime: time.Unix(1467819402, 0)}
+ a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -801,8 +801,8 @@ func confGitignoreComposer() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "conf/gitignore/Composer", size: 250, mode: os.FileMode(420), modTime: time.Unix(1441006036, 0)}
- a := &asset{bytes: bytes, info: info}
+ info := bindataFileInfo{name: "conf/gitignore/Composer", size: 250, mode: os.FileMode(420), modTime: time.Unix(1467819402, 0)}
+ a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -821,8 +821,8 @@ func confGitignoreConcrete5() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "conf/gitignore/Concrete5", size: 42, mode: os.FileMode(420), modTime: time.Unix(1441006036, 0)}
- a := &asset{bytes: bytes, info: info}
+ info := bindataFileInfo{name: "conf/gitignore/Concrete5", size: 42, mode: os.FileMode(420), modTime: time.Unix(1467819402, 0)}
+ a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -841,8 +841,8 @@ func confGitignoreCoq() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "conf/gitignore/Coq", size: 18, mode: os.FileMode(420), modTime: time.Unix(1441006036, 0)}
- a := &asset{bytes: bytes, info: info}
+ info := bindataFileInfo{name: "conf/gitignore/Coq", size: 18, mode: os.FileMode(420), modTime: time.Unix(1467819402, 0)}
+ a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -861,8 +861,8 @@ func confGitignoreCraftcms() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "conf/gitignore/CraftCMS", size: 120, mode: os.FileMode(420), modTime: time.Unix(1441006036, 0)}
- a := &asset{bytes: bytes, info: info}
+ info := bindataFileInfo{name: "conf/gitignore/CraftCMS", size: 120, mode: os.FileMode(420), modTime: time.Unix(1467819402, 0)}
+ a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -881,8 +881,8 @@ func confGitignoreDm() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "conf/gitignore/DM", size: 29, mode: os.FileMode(420), modTime: time.Unix(1441006036, 0)}
- a := &asset{bytes: bytes, info: info}
+ info := bindataFileInfo{name: "conf/gitignore/DM", size: 29, mode: os.FileMode(420), modTime: time.Unix(1467819402, 0)}
+ a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -901,8 +901,8 @@ func confGitignoreDart() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "conf/gitignore/Dart", size: 234, mode: os.FileMode(420), modTime: time.Unix(1441006036, 0)}
- a := &asset{bytes: bytes, info: info}
+ info := bindataFileInfo{name: "conf/gitignore/Dart", size: 234, mode: os.FileMode(420), modTime: time.Unix(1467819402, 0)}
+ a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -921,8 +921,8 @@ func confGitignoreDarteditor() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "conf/gitignore/DartEditor", size: 19, mode: os.FileMode(420), modTime: time.Unix(1441006036, 0)}
- a := &asset{bytes: bytes, info: info}
+ info := bindataFileInfo{name: "conf/gitignore/DartEditor", size: 19, mode: os.FileMode(420), modTime: time.Unix(1467819402, 0)}
+ a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -941,8 +941,8 @@ func confGitignoreDelphi() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "conf/gitignore/Delphi", size: 1347, mode: os.FileMode(420), modTime: time.Unix(1441006036, 0)}
- a := &asset{bytes: bytes, info: info}
+ info := bindataFileInfo{name: "conf/gitignore/Delphi", size: 1347, mode: os.FileMode(420), modTime: time.Unix(1467819402, 0)}
+ a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -961,8 +961,8 @@ func confGitignoreDreamweaver() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "conf/gitignore/Dreamweaver", size: 47, mode: os.FileMode(420), modTime: time.Unix(1441006036, 0)}
- a := &asset{bytes: bytes, info: info}
+ info := bindataFileInfo{name: "conf/gitignore/Dreamweaver", size: 47, mode: os.FileMode(420), modTime: time.Unix(1467819402, 0)}
+ a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -981,8 +981,8 @@ func confGitignoreDrupal() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "conf/gitignore/Drupal", size: 605, mode: os.FileMode(420), modTime: time.Unix(1441006036, 0)}
- a := &asset{bytes: bytes, info: info}
+ info := bindataFileInfo{name: "conf/gitignore/Drupal", size: 605, mode: os.FileMode(420), modTime: time.Unix(1467819402, 0)}
+ a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -1001,8 +1001,8 @@ func confGitignoreEpiserver() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "conf/gitignore/EPiServer", size: 81, mode: os.FileMode(420), modTime: time.Unix(1441006036, 0)}
- a := &asset{bytes: bytes, info: info}
+ info := bindataFileInfo{name: "conf/gitignore/EPiServer", size: 81, mode: os.FileMode(420), modTime: time.Unix(1467819402, 0)}
+ a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -1021,8 +1021,8 @@ func confGitignoreEagle() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "conf/gitignore/Eagle", size: 401, mode: os.FileMode(420), modTime: time.Unix(1441006036, 0)}
- a := &asset{bytes: bytes, info: info}
+ info := bindataFileInfo{name: "conf/gitignore/Eagle", size: 401, mode: os.FileMode(420), modTime: time.Unix(1467819402, 0)}
+ a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -1041,8 +1041,8 @@ func confGitignoreEclipse() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "conf/gitignore/Eclipse", size: 458, mode: os.FileMode(420), modTime: time.Unix(1441006036, 0)}
- a := &asset{bytes: bytes, info: info}
+ info := bindataFileInfo{name: "conf/gitignore/Eclipse", size: 458, mode: os.FileMode(420), modTime: time.Unix(1467819402, 0)}
+ a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -1061,8 +1061,8 @@ func confGitignoreEiffelstudio() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "conf/gitignore/EiffelStudio", size: 35, mode: os.FileMode(420), modTime: time.Unix(1441006036, 0)}
- a := &asset{bytes: bytes, info: info}
+ info := bindataFileInfo{name: "conf/gitignore/EiffelStudio", size: 35, mode: os.FileMode(420), modTime: time.Unix(1467819402, 0)}
+ a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -1081,8 +1081,8 @@ func confGitignoreElisp() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "conf/gitignore/Elisp", size: 36, mode: os.FileMode(420), modTime: time.Unix(1441006036, 0)}
- a := &asset{bytes: bytes, info: info}
+ info := bindataFileInfo{name: "conf/gitignore/Elisp", size: 36, mode: os.FileMode(420), modTime: time.Unix(1467819402, 0)}
+ a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -1101,8 +1101,8 @@ func confGitignoreElixir() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "conf/gitignore/Elixir", size: 34, mode: os.FileMode(420), modTime: time.Unix(1441006036, 0)}
- a := &asset{bytes: bytes, info: info}
+ info := bindataFileInfo{name: "conf/gitignore/Elixir", size: 34, mode: os.FileMode(420), modTime: time.Unix(1467819402, 0)}
+ a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -1121,8 +1121,8 @@ func confGitignoreEmacs() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "conf/gitignore/Emacs", size: 320, mode: os.FileMode(420), modTime: time.Unix(1441006036, 0)}
- a := &asset{bytes: bytes, info: info}
+ info := bindataFileInfo{name: "conf/gitignore/Emacs", size: 320, mode: os.FileMode(420), modTime: time.Unix(1467819402, 0)}
+ a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -1141,8 +1141,8 @@ func confGitignoreEnsime() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "conf/gitignore/Ensime", size: 57, mode: os.FileMode(420), modTime: time.Unix(1441006036, 0)}
- a := &asset{bytes: bytes, info: info}
+ info := bindataFileInfo{name: "conf/gitignore/Ensime", size: 57, mode: os.FileMode(420), modTime: time.Unix(1467819402, 0)}
+ a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -1161,8 +1161,8 @@ func confGitignoreErlang() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "conf/gitignore/Erlang", size: 95, mode: os.FileMode(420), modTime: time.Unix(1441006036, 0)}
- a := &asset{bytes: bytes, info: info}
+ info := bindataFileInfo{name: "conf/gitignore/Erlang", size: 95, mode: os.FileMode(420), modTime: time.Unix(1467819402, 0)}
+ a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -1181,8 +1181,8 @@ func confGitignoreEspresso() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "conf/gitignore/Espresso", size: 9, mode: os.FileMode(420), modTime: time.Unix(1441006036, 0)}
- a := &asset{bytes: bytes, info: info}
+ info := bindataFileInfo{name: "conf/gitignore/Espresso", size: 9, mode: os.FileMode(420), modTime: time.Unix(1467819402, 0)}
+ a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -1201,8 +1201,8 @@ func confGitignoreExpressionengine() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "conf/gitignore/ExpressionEngine", size: 342, mode: os.FileMode(420), modTime: time.Unix(1441006036, 0)}
- a := &asset{bytes: bytes, info: info}
+ info := bindataFileInfo{name: "conf/gitignore/ExpressionEngine", size: 342, mode: os.FileMode(420), modTime: time.Unix(1467819402, 0)}
+ a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -1221,8 +1221,8 @@ func confGitignoreExtjs() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "conf/gitignore/ExtJs", size: 38, mode: os.FileMode(420), modTime: time.Unix(1441006036, 0)}
- a := &asset{bytes: bytes, info: info}
+ info := bindataFileInfo{name: "conf/gitignore/ExtJs", size: 38, mode: os.FileMode(420), modTime: time.Unix(1467819402, 0)}
+ a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -1241,8 +1241,8 @@ func confGitignoreFancy() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "conf/gitignore/Fancy", size: 12, mode: os.FileMode(420), modTime: time.Unix(1441006036, 0)}
- a := &asset{bytes: bytes, info: info}
+ info := bindataFileInfo{name: "conf/gitignore/Fancy", size: 12, mode: os.FileMode(420), modTime: time.Unix(1467819402, 0)}
+ a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -1261,8 +1261,8 @@ func confGitignoreFinale() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "conf/gitignore/Finale", size: 184, mode: os.FileMode(420), modTime: time.Unix(1441006036, 0)}
- a := &asset{bytes: bytes, info: info}
+ info := bindataFileInfo{name: "conf/gitignore/Finale", size: 184, mode: os.FileMode(420), modTime: time.Unix(1467819402, 0)}
+ a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -1281,8 +1281,8 @@ func confGitignoreFlexbuilder() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "conf/gitignore/FlexBuilder", size: 29, mode: os.FileMode(420), modTime: time.Unix(1441006036, 0)}
- a := &asset{bytes: bytes, info: info}
+ info := bindataFileInfo{name: "conf/gitignore/FlexBuilder", size: 29, mode: os.FileMode(420), modTime: time.Unix(1467819402, 0)}
+ a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -1301,8 +1301,8 @@ func confGitignoreForcedotcom() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "conf/gitignore/ForceDotCom", size: 57, mode: os.FileMode(420), modTime: time.Unix(1441006036, 0)}
- a := &asset{bytes: bytes, info: info}
+ info := bindataFileInfo{name: "conf/gitignore/ForceDotCom", size: 57, mode: os.FileMode(420), modTime: time.Unix(1467819402, 0)}
+ a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -1321,8 +1321,8 @@ func confGitignoreFuelphp() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "conf/gitignore/FuelPHP", size: 39, mode: os.FileMode(420), modTime: time.Unix(1441006036, 0)}
- a := &asset{bytes: bytes, info: info}
+ info := bindataFileInfo{name: "conf/gitignore/FuelPHP", size: 39, mode: os.FileMode(420), modTime: time.Unix(1467819402, 0)}
+ a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -1341,8 +1341,8 @@ func confGitignoreGwt() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "conf/gitignore/GWT", size: 395, mode: os.FileMode(420), modTime: time.Unix(1441006036, 0)}
- a := &asset{bytes: bytes, info: info}
+ info := bindataFileInfo{name: "conf/gitignore/GWT", size: 395, mode: os.FileMode(420), modTime: time.Unix(1467819402, 0)}
+ a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -1361,8 +1361,8 @@ func confGitignoreGcov() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "conf/gitignore/Gcov", size: 56, mode: os.FileMode(420), modTime: time.Unix(1441006036, 0)}
- a := &asset{bytes: bytes, info: info}
+ info := bindataFileInfo{name: "conf/gitignore/Gcov", size: 56, mode: os.FileMode(420), modTime: time.Unix(1467819402, 0)}
+ a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -1381,8 +1381,8 @@ func confGitignoreGitbook() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "conf/gitignore/GitBook", size: 353, mode: os.FileMode(420), modTime: time.Unix(1441006036, 0)}
- a := &asset{bytes: bytes, info: info}
+ info := bindataFileInfo{name: "conf/gitignore/GitBook", size: 353, mode: os.FileMode(420), modTime: time.Unix(1467819402, 0)}
+ a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -1401,8 +1401,8 @@ func confGitignoreGo() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "conf/gitignore/Go", size: 266, mode: os.FileMode(420), modTime: time.Unix(1441006036, 0)}
- a := &asset{bytes: bytes, info: info}
+ info := bindataFileInfo{name: "conf/gitignore/Go", size: 266, mode: os.FileMode(420), modTime: time.Unix(1467819402, 0)}
+ a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -1421,8 +1421,8 @@ func confGitignoreGradle() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "conf/gitignore/Gradle", size: 157, mode: os.FileMode(420), modTime: time.Unix(1441006036, 0)}
- a := &asset{bytes: bytes, info: info}
+ info := bindataFileInfo{name: "conf/gitignore/Gradle", size: 157, mode: os.FileMode(420), modTime: time.Unix(1467819402, 0)}
+ a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -1441,8 +1441,8 @@ func confGitignoreGrails() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "conf/gitignore/Grails", size: 583, mode: os.FileMode(420), modTime: time.Unix(1441006036, 0)}
- a := &asset{bytes: bytes, info: info}
+ info := bindataFileInfo{name: "conf/gitignore/Grails", size: 583, mode: os.FileMode(420), modTime: time.Unix(1467819402, 0)}
+ a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -1461,8 +1461,8 @@ func confGitignoreHaskell() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "conf/gitignore/Haskell", size: 135, mode: os.FileMode(420), modTime: time.Unix(1441006036, 0)}
- a := &asset{bytes: bytes, info: info}
+ info := bindataFileInfo{name: "conf/gitignore/Haskell", size: 135, mode: os.FileMode(420), modTime: time.Unix(1467819402, 0)}
+ a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -1481,8 +1481,8 @@ func confGitignoreIgorpro() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "conf/gitignore/IGORPro", size: 121, mode: os.FileMode(420), modTime: time.Unix(1441006036, 0)}
- a := &asset{bytes: bytes, info: info}
+ info := bindataFileInfo{name: "conf/gitignore/IGORPro", size: 121, mode: os.FileMode(420), modTime: time.Unix(1467819402, 0)}
+ a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -1501,8 +1501,8 @@ func confGitignoreIpythonnotebook() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "conf/gitignore/IPythonNotebook", size: 37, mode: os.FileMode(420), modTime: time.Unix(1441006036, 0)}
- a := &asset{bytes: bytes, info: info}
+ info := bindataFileInfo{name: "conf/gitignore/IPythonNotebook", size: 37, mode: os.FileMode(420), modTime: time.Unix(1467819402, 0)}
+ a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -1521,8 +1521,8 @@ func confGitignoreIdris() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "conf/gitignore/Idris", size: 10, mode: os.FileMode(420), modTime: time.Unix(1441006036, 0)}
- a := &asset{bytes: bytes, info: info}
+ info := bindataFileInfo{name: "conf/gitignore/Idris", size: 10, mode: os.FileMode(420), modTime: time.Unix(1467819402, 0)}
+ a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -1541,8 +1541,8 @@ func confGitignoreJdeveloper() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "conf/gitignore/JDeveloper", size: 255, mode: os.FileMode(420), modTime: time.Unix(1441006036, 0)}
- a := &asset{bytes: bytes, info: info}
+ info := bindataFileInfo{name: "conf/gitignore/JDeveloper", size: 255, mode: os.FileMode(420), modTime: time.Unix(1467819402, 0)}
+ a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -1561,8 +1561,8 @@ func confGitignoreJava() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "conf/gitignore/Java", size: 189, mode: os.FileMode(420), modTime: time.Unix(1441006036, 0)}
- a := &asset{bytes: bytes, info: info}
+ info := bindataFileInfo{name: "conf/gitignore/Java", size: 189, mode: os.FileMode(420), modTime: time.Unix(1467819402, 0)}
+ a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -1581,8 +1581,8 @@ func confGitignoreJboss() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "conf/gitignore/Jboss", size: 509, mode: os.FileMode(420), modTime: time.Unix(1441006036, 0)}
- a := &asset{bytes: bytes, info: info}
+ info := bindataFileInfo{name: "conf/gitignore/Jboss", size: 509, mode: os.FileMode(420), modTime: time.Unix(1467819402, 0)}
+ a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -1601,8 +1601,8 @@ func confGitignoreJekyll() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "conf/gitignore/Jekyll", size: 37, mode: os.FileMode(420), modTime: time.Unix(1441006036, 0)}
- a := &asset{bytes: bytes, info: info}
+ info := bindataFileInfo{name: "conf/gitignore/Jekyll", size: 37, mode: os.FileMode(420), modTime: time.Unix(1467819402, 0)}
+ a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -1621,8 +1621,8 @@ func confGitignoreJetbrains() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "conf/gitignore/JetBrains", size: 860, mode: os.FileMode(420), modTime: time.Unix(1441006036, 0)}
- a := &asset{bytes: bytes, info: info}
+ info := bindataFileInfo{name: "conf/gitignore/JetBrains", size: 860, mode: os.FileMode(420), modTime: time.Unix(1467819402, 0)}
+ a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -1641,8 +1641,8 @@ func confGitignoreJoomla() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "conf/gitignore/Joomla", size: 22387, mode: os.FileMode(420), modTime: time.Unix(1441006036, 0)}
- a := &asset{bytes: bytes, info: info}
+ info := bindataFileInfo{name: "conf/gitignore/Joomla", size: 22387, mode: os.FileMode(420), modTime: time.Unix(1467819402, 0)}
+ a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -1661,8 +1661,8 @@ func confGitignoreKdevelop4() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "conf/gitignore/KDevelop4", size: 16, mode: os.FileMode(420), modTime: time.Unix(1441006036, 0)}
- a := &asset{bytes: bytes, info: info}
+ info := bindataFileInfo{name: "conf/gitignore/KDevelop4", size: 16, mode: os.FileMode(420), modTime: time.Unix(1467819402, 0)}
+ a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -1681,8 +1681,8 @@ func confGitignoreKate() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "conf/gitignore/Kate", size: 34, mode: os.FileMode(420), modTime: time.Unix(1441006036, 0)}
- a := &asset{bytes: bytes, info: info}
+ info := bindataFileInfo{name: "conf/gitignore/Kate", size: 34, mode: os.FileMode(420), modTime: time.Unix(1467819402, 0)}
+ a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -1701,8 +1701,8 @@ func confGitignoreKicad() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "conf/gitignore/KiCAD", size: 208, mode: os.FileMode(420), modTime: time.Unix(1441006036, 0)}
- a := &asset{bytes: bytes, info: info}
+ info := bindataFileInfo{name: "conf/gitignore/KiCAD", size: 208, mode: os.FileMode(420), modTime: time.Unix(1467819402, 0)}
+ a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -1721,8 +1721,8 @@ func confGitignoreKohana() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "conf/gitignore/Kohana", size: 39, mode: os.FileMode(420), modTime: time.Unix(1441006036, 0)}
- a := &asset{bytes: bytes, info: info}
+ info := bindataFileInfo{name: "conf/gitignore/Kohana", size: 39, mode: os.FileMode(420), modTime: time.Unix(1467819402, 0)}
+ a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -1741,8 +1741,8 @@ func confGitignoreLabview() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "conf/gitignore/LabVIEW", size: 142, mode: os.FileMode(420), modTime: time.Unix(1441006036, 0)}
- a := &asset{bytes: bytes, info: info}
+ info := bindataFileInfo{name: "conf/gitignore/LabVIEW", size: 142, mode: os.FileMode(420), modTime: time.Unix(1467819402, 0)}
+ a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -1761,8 +1761,8 @@ func confGitignoreLaravel() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "conf/gitignore/Laravel", size: 49, mode: os.FileMode(420), modTime: time.Unix(1441006036, 0)}
- a := &asset{bytes: bytes, info: info}
+ info := bindataFileInfo{name: "conf/gitignore/Laravel", size: 49, mode: os.FileMode(420), modTime: time.Unix(1467819402, 0)}
+ a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -1781,8 +1781,8 @@ func confGitignoreLazarus() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "conf/gitignore/Lazarus", size: 407, mode: os.FileMode(420), modTime: time.Unix(1441006036, 0)}
- a := &asset{bytes: bytes, info: info}
+ info := bindataFileInfo{name: "conf/gitignore/Lazarus", size: 407, mode: os.FileMode(420), modTime: time.Unix(1467819402, 0)}
+ a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -1801,8 +1801,8 @@ func confGitignoreLeiningen() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "conf/gitignore/Leiningen", size: 138, mode: os.FileMode(420), modTime: time.Unix(1441006036, 0)}
- a := &asset{bytes: bytes, info: info}
+ info := bindataFileInfo{name: "conf/gitignore/Leiningen", size: 138, mode: os.FileMode(420), modTime: time.Unix(1467819402, 0)}
+ a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -1821,8 +1821,8 @@ func confGitignoreLemonstand() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "conf/gitignore/LemonStand", size: 348, mode: os.FileMode(420), modTime: time.Unix(1441006036, 0)}
- a := &asset{bytes: bytes, info: info}
+ info := bindataFileInfo{name: "conf/gitignore/LemonStand", size: 348, mode: os.FileMode(420), modTime: time.Unix(1467819402, 0)}
+ a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -1841,8 +1841,8 @@ func confGitignoreLibreoffice() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "conf/gitignore/LibreOffice", size: 30, mode: os.FileMode(420), modTime: time.Unix(1441006036, 0)}
- a := &asset{bytes: bytes, info: info}
+ info := bindataFileInfo{name: "conf/gitignore/LibreOffice", size: 30, mode: os.FileMode(420), modTime: time.Unix(1467819402, 0)}
+ a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -1861,8 +1861,8 @@ func confGitignoreLilypond() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "conf/gitignore/Lilypond", size: 33, mode: os.FileMode(420), modTime: time.Unix(1441006036, 0)}
- a := &asset{bytes: bytes, info: info}
+ info := bindataFileInfo{name: "conf/gitignore/Lilypond", size: 33, mode: os.FileMode(420), modTime: time.Unix(1467819402, 0)}
+ a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -1881,8 +1881,8 @@ func confGitignoreLinux() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "conf/gitignore/Linux", size: 118, mode: os.FileMode(420), modTime: time.Unix(1441006036, 0)}
- a := &asset{bytes: bytes, info: info}
+ info := bindataFileInfo{name: "conf/gitignore/Linux", size: 118, mode: os.FileMode(420), modTime: time.Unix(1467819402, 0)}
+ a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -1901,8 +1901,8 @@ func confGitignoreLithium() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "conf/gitignore/Lithium", size: 28, mode: os.FileMode(420), modTime: time.Unix(1441006036, 0)}
- a := &asset{bytes: bytes, info: info}
+ info := bindataFileInfo{name: "conf/gitignore/Lithium", size: 28, mode: os.FileMode(420), modTime: time.Unix(1467819402, 0)}
+ a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -1921,8 +1921,8 @@ func confGitignoreLua() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "conf/gitignore/Lua", size: 324, mode: os.FileMode(420), modTime: time.Unix(1441006036, 0)}
- a := &asset{bytes: bytes, info: info}
+ info := bindataFileInfo{name: "conf/gitignore/Lua", size: 324, mode: os.FileMode(420), modTime: time.Unix(1467819402, 0)}
+ a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -1941,8 +1941,8 @@ func confGitignoreLyx() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "conf/gitignore/LyX", size: 75, mode: os.FileMode(420), modTime: time.Unix(1441006036, 0)}
- a := &asset{bytes: bytes, info: info}
+ info := bindataFileInfo{name: "conf/gitignore/LyX", size: 75, mode: os.FileMode(420), modTime: time.Unix(1467819402, 0)}
+ a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -1961,8 +1961,8 @@ func confGitignoreMagento() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "conf/gitignore/Magento", size: 2599, mode: os.FileMode(420), modTime: time.Unix(1441006036, 0)}
- a := &asset{bytes: bytes, info: info}
+ info := bindataFileInfo{name: "conf/gitignore/Magento", size: 2599, mode: os.FileMode(420), modTime: time.Unix(1467819402, 0)}
+ a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -1981,8 +1981,8 @@ func confGitignoreMatlab() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "conf/gitignore/Matlab", size: 360, mode: os.FileMode(420), modTime: time.Unix(1441006036, 0)}
- a := &asset{bytes: bytes, info: info}
+ info := bindataFileInfo{name: "conf/gitignore/Matlab", size: 360, mode: os.FileMode(420), modTime: time.Unix(1467819402, 0)}
+ a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -2001,8 +2001,8 @@ func confGitignoreMaven() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "conf/gitignore/Maven", size: 170, mode: os.FileMode(420), modTime: time.Unix(1441006036, 0)}
- a := &asset{bytes: bytes, info: info}
+ info := bindataFileInfo{name: "conf/gitignore/Maven", size: 170, mode: os.FileMode(420), modTime: time.Unix(1467819402, 0)}
+ a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -2021,8 +2021,8 @@ func confGitignoreMercurial() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "conf/gitignore/Mercurial", size: 50, mode: os.FileMode(420), modTime: time.Unix(1441006036, 0)}
- a := &asset{bytes: bytes, info: info}
+ info := bindataFileInfo{name: "conf/gitignore/Mercurial", size: 50, mode: os.FileMode(420), modTime: time.Unix(1467819402, 0)}
+ a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -2041,8 +2041,8 @@ func confGitignoreMercury() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "conf/gitignore/Mercury", size: 93, mode: os.FileMode(420), modTime: time.Unix(1441006036, 0)}
- a := &asset{bytes: bytes, info: info}
+ info := bindataFileInfo{name: "conf/gitignore/Mercury", size: 93, mode: os.FileMode(420), modTime: time.Unix(1467819402, 0)}
+ a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -2061,8 +2061,8 @@ func confGitignoreMetaprogrammingsystem() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "conf/gitignore/MetaProgrammingSystem", size: 391, mode: os.FileMode(420), modTime: time.Unix(1441006036, 0)}
- a := &asset{bytes: bytes, info: info}
+ info := bindataFileInfo{name: "conf/gitignore/MetaProgrammingSystem", size: 391, mode: os.FileMode(420), modTime: time.Unix(1467819402, 0)}
+ a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -2081,8 +2081,8 @@ func confGitignoreMicrosoftoffice() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "conf/gitignore/MicrosoftOffice", size: 88, mode: os.FileMode(420), modTime: time.Unix(1441006036, 0)}
- a := &asset{bytes: bytes, info: info}
+ info := bindataFileInfo{name: "conf/gitignore/MicrosoftOffice", size: 88, mode: os.FileMode(420), modTime: time.Unix(1467819402, 0)}
+ a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -2101,8 +2101,8 @@ func confGitignoreModelsim() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "conf/gitignore/ModelSim", size: 282, mode: os.FileMode(420), modTime: time.Unix(1441006036, 0)}
- a := &asset{bytes: bytes, info: info}
+ info := bindataFileInfo{name: "conf/gitignore/ModelSim", size: 282, mode: os.FileMode(420), modTime: time.Unix(1467819402, 0)}
+ a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -2121,8 +2121,8 @@ func confGitignoreMomentics() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "conf/gitignore/Momentics", size: 76, mode: os.FileMode(420), modTime: time.Unix(1441006036, 0)}
- a := &asset{bytes: bytes, info: info}
+ info := bindataFileInfo{name: "conf/gitignore/Momentics", size: 76, mode: os.FileMode(420), modTime: time.Unix(1467819402, 0)}
+ a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -2141,8 +2141,8 @@ func confGitignoreMonodevelop() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "conf/gitignore/MonoDevelop", size: 93, mode: os.FileMode(420), modTime: time.Unix(1441006036, 0)}
- a := &asset{bytes: bytes, info: info}
+ info := bindataFileInfo{name: "conf/gitignore/MonoDevelop", size: 93, mode: os.FileMode(420), modTime: time.Unix(1467819402, 0)}
+ a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -2161,8 +2161,8 @@ func confGitignoreNanoc() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "conf/gitignore/Nanoc", size: 197, mode: os.FileMode(420), modTime: time.Unix(1441006036, 0)}
- a := &asset{bytes: bytes, info: info}
+ info := bindataFileInfo{name: "conf/gitignore/Nanoc", size: 197, mode: os.FileMode(420), modTime: time.Unix(1467819402, 0)}
+ a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -2181,8 +2181,8 @@ func confGitignoreNetbeans() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "conf/gitignore/NetBeans", size: 96, mode: os.FileMode(420), modTime: time.Unix(1441006036, 0)}
- a := &asset{bytes: bytes, info: info}
+ info := bindataFileInfo{name: "conf/gitignore/NetBeans", size: 96, mode: os.FileMode(420), modTime: time.Unix(1467819402, 0)}
+ a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -2201,8 +2201,8 @@ func confGitignoreNim() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "conf/gitignore/Nim", size: 10, mode: os.FileMode(420), modTime: time.Unix(1441006036, 0)}
- a := &asset{bytes: bytes, info: info}
+ info := bindataFileInfo{name: "conf/gitignore/Nim", size: 10, mode: os.FileMode(420), modTime: time.Unix(1467819402, 0)}
+ a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -2221,8 +2221,8 @@ func confGitignoreNinja() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "conf/gitignore/Ninja", size: 23, mode: os.FileMode(420), modTime: time.Unix(1441006036, 0)}
- a := &asset{bytes: bytes, info: info}
+ info := bindataFileInfo{name: "conf/gitignore/Ninja", size: 23, mode: os.FileMode(420), modTime: time.Unix(1467819402, 0)}
+ a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -2241,8 +2241,8 @@ func confGitignoreNode() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "conf/gitignore/Node", size: 529, mode: os.FileMode(420), modTime: time.Unix(1441006036, 0)}
- a := &asset{bytes: bytes, info: info}
+ info := bindataFileInfo{name: "conf/gitignore/Node", size: 529, mode: os.FileMode(420), modTime: time.Unix(1467819402, 0)}
+ a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -2261,8 +2261,8 @@ func confGitignoreNotepadpp() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "conf/gitignore/NotepadPP", size: 30, mode: os.FileMode(420), modTime: time.Unix(1441006036, 0)}
- a := &asset{bytes: bytes, info: info}
+ info := bindataFileInfo{name: "conf/gitignore/NotepadPP", size: 30, mode: os.FileMode(420), modTime: time.Unix(1468622566, 0)}
+ a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -2281,8 +2281,8 @@ func confGitignoreOcaml() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "conf/gitignore/OCaml", size: 178, mode: os.FileMode(420), modTime: time.Unix(1441006036, 0)}
- a := &asset{bytes: bytes, info: info}
+ info := bindataFileInfo{name: "conf/gitignore/OCaml", size: 178, mode: os.FileMode(420), modTime: time.Unix(1467819402, 0)}
+ a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -2301,8 +2301,8 @@ func confGitignoreOsx() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "conf/gitignore/OSX", size: 356, mode: os.FileMode(420), modTime: time.Unix(1441006036, 0)}
- a := &asset{bytes: bytes, info: info}
+ info := bindataFileInfo{name: "conf/gitignore/OSX", size: 356, mode: os.FileMode(420), modTime: time.Unix(1467819402, 0)}
+ a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -2321,8 +2321,8 @@ func confGitignoreObjectiveC() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "conf/gitignore/Objective-C", size: 837, mode: os.FileMode(420), modTime: time.Unix(1441006036, 0)}
- a := &asset{bytes: bytes, info: info}
+ info := bindataFileInfo{name: "conf/gitignore/Objective-C", size: 837, mode: os.FileMode(420), modTime: time.Unix(1467819402, 0)}
+ a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -2341,8 +2341,8 @@ func confGitignoreOpa() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "conf/gitignore/Opa", size: 90, mode: os.FileMode(420), modTime: time.Unix(1441006036, 0)}
- a := &asset{bytes: bytes, info: info}
+ info := bindataFileInfo{name: "conf/gitignore/Opa", size: 90, mode: os.FileMode(420), modTime: time.Unix(1467819402, 0)}
+ a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -2361,8 +2361,8 @@ func confGitignoreOpencart() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "conf/gitignore/OpenCart", size: 115, mode: os.FileMode(420), modTime: time.Unix(1441006036, 0)}
- a := &asset{bytes: bytes, info: info}
+ info := bindataFileInfo{name: "conf/gitignore/OpenCart", size: 115, mode: os.FileMode(420), modTime: time.Unix(1467819402, 0)}
+ a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -2381,8 +2381,8 @@ func confGitignoreOracleforms() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "conf/gitignore/OracleForms", size: 100, mode: os.FileMode(420), modTime: time.Unix(1441006036, 0)}
- a := &asset{bytes: bytes, info: info}
+ info := bindataFileInfo{name: "conf/gitignore/OracleForms", size: 100, mode: os.FileMode(420), modTime: time.Unix(1467819402, 0)}
+ a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -2401,8 +2401,8 @@ func confGitignorePacker() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "conf/gitignore/Packer", size: 55, mode: os.FileMode(420), modTime: time.Unix(1441006036, 0)}
- a := &asset{bytes: bytes, info: info}
+ info := bindataFileInfo{name: "conf/gitignore/Packer", size: 55, mode: os.FileMode(420), modTime: time.Unix(1467819402, 0)}
+ a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -2421,8 +2421,8 @@ func confGitignorePerl() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "conf/gitignore/Perl", size: 191, mode: os.FileMode(420), modTime: time.Unix(1441006036, 0)}
- a := &asset{bytes: bytes, info: info}
+ info := bindataFileInfo{name: "conf/gitignore/Perl", size: 191, mode: os.FileMode(420), modTime: time.Unix(1467819402, 0)}
+ a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -2441,8 +2441,8 @@ func confGitignorePhalcon() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "conf/gitignore/Phalcon", size: 29, mode: os.FileMode(420), modTime: time.Unix(1441006036, 0)}
- a := &asset{bytes: bytes, info: info}
+ info := bindataFileInfo{name: "conf/gitignore/Phalcon", size: 29, mode: os.FileMode(420), modTime: time.Unix(1467819402, 0)}
+ a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -2461,8 +2461,8 @@ func confGitignorePlayframework() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "conf/gitignore/PlayFramework", size: 170, mode: os.FileMode(420), modTime: time.Unix(1441006036, 0)}
- a := &asset{bytes: bytes, info: info}
+ info := bindataFileInfo{name: "conf/gitignore/PlayFramework", size: 170, mode: os.FileMode(420), modTime: time.Unix(1467819402, 0)}
+ a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -2481,8 +2481,8 @@ func confGitignorePlone() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "conf/gitignore/Plone", size: 137, mode: os.FileMode(420), modTime: time.Unix(1441006036, 0)}
- a := &asset{bytes: bytes, info: info}
+ info := bindataFileInfo{name: "conf/gitignore/Plone", size: 137, mode: os.FileMode(420), modTime: time.Unix(1467819402, 0)}
+ a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -2501,8 +2501,8 @@ func confGitignorePrestashop() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "conf/gitignore/Prestashop", size: 483, mode: os.FileMode(420), modTime: time.Unix(1441006036, 0)}
- a := &asset{bytes: bytes, info: info}
+ info := bindataFileInfo{name: "conf/gitignore/Prestashop", size: 483, mode: os.FileMode(420), modTime: time.Unix(1467819402, 0)}
+ a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -2521,8 +2521,8 @@ func confGitignoreProcessing() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "conf/gitignore/Processing", size: 120, mode: os.FileMode(420), modTime: time.Unix(1441006036, 0)}
- a := &asset{bytes: bytes, info: info}
+ info := bindataFileInfo{name: "conf/gitignore/Processing", size: 120, mode: os.FileMode(420), modTime: time.Unix(1467819402, 0)}
+ a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -2541,8 +2541,8 @@ func confGitignorePython() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "conf/gitignore/Python", size: 713, mode: os.FileMode(420), modTime: time.Unix(1441006036, 0)}
- a := &asset{bytes: bytes, info: info}
+ info := bindataFileInfo{name: "conf/gitignore/Python", size: 713, mode: os.FileMode(420), modTime: time.Unix(1467819402, 0)}
+ a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -2561,8 +2561,8 @@ func confGitignoreQooxdoo() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "conf/gitignore/Qooxdoo", size: 58, mode: os.FileMode(420), modTime: time.Unix(1441006036, 0)}
- a := &asset{bytes: bytes, info: info}
+ info := bindataFileInfo{name: "conf/gitignore/Qooxdoo", size: 58, mode: os.FileMode(420), modTime: time.Unix(1467819402, 0)}
+ a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -2581,8 +2581,8 @@ func confGitignoreQt() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "conf/gitignore/Qt", size: 292, mode: os.FileMode(420), modTime: time.Unix(1441006036, 0)}
- a := &asset{bytes: bytes, info: info}
+ info := bindataFileInfo{name: "conf/gitignore/Qt", size: 292, mode: os.FileMode(420), modTime: time.Unix(1467819402, 0)}
+ a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -2601,8 +2601,8 @@ func confGitignoreR() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "conf/gitignore/R", size: 255, mode: os.FileMode(420), modTime: time.Unix(1441006036, 0)}
- a := &asset{bytes: bytes, info: info}
+ info := bindataFileInfo{name: "conf/gitignore/R", size: 255, mode: os.FileMode(420), modTime: time.Unix(1467819402, 0)}
+ a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -2621,8 +2621,8 @@ func confGitignoreRos() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "conf/gitignore/ROS", size: 493, mode: os.FileMode(420), modTime: time.Unix(1441006036, 0)}
- a := &asset{bytes: bytes, info: info}
+ info := bindataFileInfo{name: "conf/gitignore/ROS", size: 493, mode: os.FileMode(420), modTime: time.Unix(1467819402, 0)}
+ a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -2641,8 +2641,8 @@ func confGitignoreRails() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "conf/gitignore/Rails", size: 707, mode: os.FileMode(420), modTime: time.Unix(1441006036, 0)}
- a := &asset{bytes: bytes, info: info}
+ info := bindataFileInfo{name: "conf/gitignore/Rails", size: 707, mode: os.FileMode(420), modTime: time.Unix(1467819402, 0)}
+ a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -2661,8 +2661,8 @@ func confGitignoreRedcar() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "conf/gitignore/Redcar", size: 8, mode: os.FileMode(420), modTime: time.Unix(1441006036, 0)}
- a := &asset{bytes: bytes, info: info}
+ info := bindataFileInfo{name: "conf/gitignore/Redcar", size: 8, mode: os.FileMode(420), modTime: time.Unix(1467819402, 0)}
+ a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -2681,8 +2681,8 @@ func confGitignoreRedis() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "conf/gitignore/Redis", size: 51, mode: os.FileMode(420), modTime: time.Unix(1441006036, 0)}
- a := &asset{bytes: bytes, info: info}
+ info := bindataFileInfo{name: "conf/gitignore/Redis", size: 51, mode: os.FileMode(420), modTime: time.Unix(1467819402, 0)}
+ a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -2701,8 +2701,8 @@ func confGitignoreRhodesrhomobile() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "conf/gitignore/RhodesRhomobile", size: 77, mode: os.FileMode(420), modTime: time.Unix(1441006036, 0)}
- a := &asset{bytes: bytes, info: info}
+ info := bindataFileInfo{name: "conf/gitignore/RhodesRhomobile", size: 77, mode: os.FileMode(420), modTime: time.Unix(1467819402, 0)}
+ a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -2721,8 +2721,8 @@ func confGitignoreRuby() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "conf/gitignore/Ruby", size: 607, mode: os.FileMode(420), modTime: time.Unix(1441006036, 0)}
- a := &asset{bytes: bytes, info: info}
+ info := bindataFileInfo{name: "conf/gitignore/Ruby", size: 607, mode: os.FileMode(420), modTime: time.Unix(1467819402, 0)}
+ a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -2741,8 +2741,8 @@ func confGitignoreRust() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "conf/gitignore/Rust", size: 91, mode: os.FileMode(420), modTime: time.Unix(1441006036, 0)}
- a := &asset{bytes: bytes, info: info}
+ info := bindataFileInfo{name: "conf/gitignore/Rust", size: 91, mode: os.FileMode(420), modTime: time.Unix(1467819402, 0)}
+ a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -2761,8 +2761,8 @@ func confGitignoreSbt() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "conf/gitignore/SBT", size: 186, mode: os.FileMode(420), modTime: time.Unix(1441006036, 0)}
- a := &asset{bytes: bytes, info: info}
+ info := bindataFileInfo{name: "conf/gitignore/SBT", size: 186, mode: os.FileMode(420), modTime: time.Unix(1467819402, 0)}
+ a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -2781,8 +2781,8 @@ func confGitignoreScons() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "conf/gitignore/SCons", size: 90, mode: os.FileMode(420), modTime: time.Unix(1441006036, 0)}
- a := &asset{bytes: bytes, info: info}
+ info := bindataFileInfo{name: "conf/gitignore/SCons", size: 90, mode: os.FileMode(420), modTime: time.Unix(1467819402, 0)}
+ a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -2801,8 +2801,8 @@ func confGitignoreSvn() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "conf/gitignore/SVN", size: 6, mode: os.FileMode(420), modTime: time.Unix(1441006036, 0)}
- a := &asset{bytes: bytes, info: info}
+ info := bindataFileInfo{name: "conf/gitignore/SVN", size: 6, mode: os.FileMode(420), modTime: time.Unix(1467819402, 0)}
+ a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -2821,8 +2821,8 @@ func confGitignoreSass() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "conf/gitignore/Sass", size: 23, mode: os.FileMode(420), modTime: time.Unix(1441006036, 0)}
- a := &asset{bytes: bytes, info: info}
+ info := bindataFileInfo{name: "conf/gitignore/Sass", size: 23, mode: os.FileMode(420), modTime: time.Unix(1467819402, 0)}
+ a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -2841,8 +2841,8 @@ func confGitignoreScala() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "conf/gitignore/Scala", size: 185, mode: os.FileMode(420), modTime: time.Unix(1441006036, 0)}
- a := &asset{bytes: bytes, info: info}
+ info := bindataFileInfo{name: "conf/gitignore/Scala", size: 185, mode: os.FileMode(420), modTime: time.Unix(1467819402, 0)}
+ a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -2861,8 +2861,8 @@ func confGitignoreScrivener() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "conf/gitignore/Scrivener", size: 140, mode: os.FileMode(420), modTime: time.Unix(1441006036, 0)}
- a := &asset{bytes: bytes, info: info}
+ info := bindataFileInfo{name: "conf/gitignore/Scrivener", size: 140, mode: os.FileMode(420), modTime: time.Unix(1467819402, 0)}
+ a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -2881,8 +2881,8 @@ func confGitignoreSdcc() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "conf/gitignore/Sdcc", size: 55, mode: os.FileMode(420), modTime: time.Unix(1441006036, 0)}
- a := &asset{bytes: bytes, info: info}
+ info := bindataFileInfo{name: "conf/gitignore/Sdcc", size: 55, mode: os.FileMode(420), modTime: time.Unix(1467819402, 0)}
+ a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -2901,8 +2901,8 @@ func confGitignoreSeamgen() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "conf/gitignore/SeamGen", size: 961, mode: os.FileMode(420), modTime: time.Unix(1441006036, 0)}
- a := &asset{bytes: bytes, info: info}
+ info := bindataFileInfo{name: "conf/gitignore/SeamGen", size: 961, mode: os.FileMode(420), modTime: time.Unix(1467819402, 0)}
+ a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -2921,8 +2921,8 @@ func confGitignoreSketchup() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "conf/gitignore/SketchUp", size: 6, mode: os.FileMode(420), modTime: time.Unix(1441006036, 0)}
- a := &asset{bytes: bytes, info: info}
+ info := bindataFileInfo{name: "conf/gitignore/SketchUp", size: 6, mode: os.FileMode(420), modTime: time.Unix(1467819402, 0)}
+ a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -2941,8 +2941,8 @@ func confGitignoreSlickedit() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "conf/gitignore/SlickEdit", size: 323, mode: os.FileMode(420), modTime: time.Unix(1441006036, 0)}
- a := &asset{bytes: bytes, info: info}
+ info := bindataFileInfo{name: "conf/gitignore/SlickEdit", size: 323, mode: os.FileMode(420), modTime: time.Unix(1467819402, 0)}
+ a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -2961,8 +2961,8 @@ func confGitignoreStella() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "conf/gitignore/Stella", size: 207, mode: os.FileMode(420), modTime: time.Unix(1441006036, 0)}
- a := &asset{bytes: bytes, info: info}
+ info := bindataFileInfo{name: "conf/gitignore/Stella", size: 207, mode: os.FileMode(420), modTime: time.Unix(1467819402, 0)}
+ a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -2981,8 +2981,8 @@ func confGitignoreSublimetext() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "conf/gitignore/SublimeText", size: 354, mode: os.FileMode(420), modTime: time.Unix(1441006036, 0)}
- a := &asset{bytes: bytes, info: info}
+ info := bindataFileInfo{name: "conf/gitignore/SublimeText", size: 354, mode: os.FileMode(420), modTime: time.Unix(1467819402, 0)}
+ a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -3001,8 +3001,8 @@ func confGitignoreSugarcrm() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "conf/gitignore/SugarCRM", size: 734, mode: os.FileMode(420), modTime: time.Unix(1441006036, 0)}
- a := &asset{bytes: bytes, info: info}
+ info := bindataFileInfo{name: "conf/gitignore/SugarCRM", size: 734, mode: os.FileMode(420), modTime: time.Unix(1467819402, 0)}
+ a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -3021,8 +3021,8 @@ func confGitignoreSwift() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "conf/gitignore/Swift", size: 837, mode: os.FileMode(420), modTime: time.Unix(1441006036, 0)}
- a := &asset{bytes: bytes, info: info}
+ info := bindataFileInfo{name: "conf/gitignore/Swift", size: 837, mode: os.FileMode(420), modTime: time.Unix(1467819402, 0)}
+ a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -3041,8 +3041,8 @@ func confGitignoreSymfony() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "conf/gitignore/Symfony", size: 531, mode: os.FileMode(420), modTime: time.Unix(1441006036, 0)}
- a := &asset{bytes: bytes, info: info}
+ info := bindataFileInfo{name: "conf/gitignore/Symfony", size: 531, mode: os.FileMode(420), modTime: time.Unix(1467819402, 0)}
+ a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -3061,8 +3061,8 @@ func confGitignoreSymphonycms() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "conf/gitignore/SymphonyCMS", size: 90, mode: os.FileMode(420), modTime: time.Unix(1441006036, 0)}
- a := &asset{bytes: bytes, info: info}
+ info := bindataFileInfo{name: "conf/gitignore/SymphonyCMS", size: 90, mode: os.FileMode(420), modTime: time.Unix(1467819402, 0)}
+ a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -3081,8 +3081,8 @@ func confGitignoreSynopsysvcs() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "conf/gitignore/SynopsysVCS", size: 971, mode: os.FileMode(420), modTime: time.Unix(1441006036, 0)}
- a := &asset{bytes: bytes, info: info}
+ info := bindataFileInfo{name: "conf/gitignore/SynopsysVCS", size: 971, mode: os.FileMode(420), modTime: time.Unix(1467819402, 0)}
+ a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -3101,8 +3101,8 @@ func confGitignoreTags() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "conf/gitignore/Tags", size: 177, mode: os.FileMode(420), modTime: time.Unix(1441006036, 0)}
- a := &asset{bytes: bytes, info: info}
+ info := bindataFileInfo{name: "conf/gitignore/Tags", size: 177, mode: os.FileMode(420), modTime: time.Unix(1467819402, 0)}
+ a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -3121,8 +3121,8 @@ func confGitignoreTex() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "conf/gitignore/TeX", size: 1328, mode: os.FileMode(420), modTime: time.Unix(1441006036, 0)}
- a := &asset{bytes: bytes, info: info}
+ info := bindataFileInfo{name: "conf/gitignore/TeX", size: 1328, mode: os.FileMode(420), modTime: time.Unix(1467819402, 0)}
+ a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -3141,8 +3141,8 @@ func confGitignoreTextmate() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "conf/gitignore/TextMate", size: 28, mode: os.FileMode(420), modTime: time.Unix(1441006036, 0)}
- a := &asset{bytes: bytes, info: info}
+ info := bindataFileInfo{name: "conf/gitignore/TextMate", size: 28, mode: os.FileMode(420), modTime: time.Unix(1467819402, 0)}
+ a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -3161,8 +3161,8 @@ func confGitignoreTextpattern() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "conf/gitignore/Textpattern", size: 177, mode: os.FileMode(420), modTime: time.Unix(1441006036, 0)}
- a := &asset{bytes: bytes, info: info}
+ info := bindataFileInfo{name: "conf/gitignore/Textpattern", size: 177, mode: os.FileMode(420), modTime: time.Unix(1467819402, 0)}
+ a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -3181,8 +3181,8 @@ func confGitignoreTortoisegit() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "conf/gitignore/TortoiseGit", size: 38, mode: os.FileMode(420), modTime: time.Unix(1441006036, 0)}
- a := &asset{bytes: bytes, info: info}
+ info := bindataFileInfo{name: "conf/gitignore/TortoiseGit", size: 38, mode: os.FileMode(420), modTime: time.Unix(1467819402, 0)}
+ a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -3201,8 +3201,8 @@ func confGitignoreTurbogears2() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "conf/gitignore/TurboGears2", size: 202, mode: os.FileMode(420), modTime: time.Unix(1441006036, 0)}
- a := &asset{bytes: bytes, info: info}
+ info := bindataFileInfo{name: "conf/gitignore/TurboGears2", size: 202, mode: os.FileMode(420), modTime: time.Unix(1467819402, 0)}
+ a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -3221,8 +3221,8 @@ func confGitignoreTypo3() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "conf/gitignore/Typo3", size: 466, mode: os.FileMode(420), modTime: time.Unix(1441006036, 0)}
- a := &asset{bytes: bytes, info: info}
+ info := bindataFileInfo{name: "conf/gitignore/Typo3", size: 466, mode: os.FileMode(420), modTime: time.Unix(1467819402, 0)}
+ a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -3241,8 +3241,8 @@ func confGitignoreUmbraco() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "conf/gitignore/Umbraco", size: 536, mode: os.FileMode(420), modTime: time.Unix(1441006036, 0)}
- a := &asset{bytes: bytes, info: info}
+ info := bindataFileInfo{name: "conf/gitignore/Umbraco", size: 536, mode: os.FileMode(420), modTime: time.Unix(1467819402, 0)}
+ a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -3261,8 +3261,8 @@ func confGitignoreUnity() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "conf/gitignore/Unity", size: 267, mode: os.FileMode(420), modTime: time.Unix(1441006036, 0)}
- a := &asset{bytes: bytes, info: info}
+ info := bindataFileInfo{name: "conf/gitignore/Unity", size: 267, mode: os.FileMode(420), modTime: time.Unix(1467819402, 0)}
+ a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -3281,8 +3281,8 @@ func confGitignoreVvvv() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "conf/gitignore/VVVV", size: 57, mode: os.FileMode(420), modTime: time.Unix(1441006036, 0)}
- a := &asset{bytes: bytes, info: info}
+ info := bindataFileInfo{name: "conf/gitignore/VVVV", size: 57, mode: os.FileMode(420), modTime: time.Unix(1467819402, 0)}
+ a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -3301,8 +3301,8 @@ func confGitignoreVagrant() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "conf/gitignore/Vagrant", size: 10, mode: os.FileMode(420), modTime: time.Unix(1441006036, 0)}
- a := &asset{bytes: bytes, info: info}
+ info := bindataFileInfo{name: "conf/gitignore/Vagrant", size: 10, mode: os.FileMode(420), modTime: time.Unix(1467819402, 0)}
+ a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -3321,8 +3321,8 @@ func confGitignoreVim() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "conf/gitignore/Vim", size: 66, mode: os.FileMode(420), modTime: time.Unix(1441006036, 0)}
- a := &asset{bytes: bytes, info: info}
+ info := bindataFileInfo{name: "conf/gitignore/Vim", size: 66, mode: os.FileMode(420), modTime: time.Unix(1467819402, 0)}
+ a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -3341,8 +3341,8 @@ func confGitignoreVirtualenv() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "conf/gitignore/VirtualEnv", size: 151, mode: os.FileMode(420), modTime: time.Unix(1441006036, 0)}
- a := &asset{bytes: bytes, info: info}
+ info := bindataFileInfo{name: "conf/gitignore/VirtualEnv", size: 151, mode: os.FileMode(420), modTime: time.Unix(1467819402, 0)}
+ a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -3361,8 +3361,8 @@ func confGitignoreVisualstudio() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "conf/gitignore/VisualStudio", size: 3412, mode: os.FileMode(420), modTime: time.Unix(1441006036, 0)}
- a := &asset{bytes: bytes, info: info}
+ info := bindataFileInfo{name: "conf/gitignore/VisualStudio", size: 3412, mode: os.FileMode(420), modTime: time.Unix(1467819402, 0)}
+ a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -3381,8 +3381,8 @@ func confGitignoreVisualstudiocode() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "conf/gitignore/VisualStudioCode", size: 11, mode: os.FileMode(420), modTime: time.Unix(1441006036, 0)}
- a := &asset{bytes: bytes, info: info}
+ info := bindataFileInfo{name: "conf/gitignore/VisualStudioCode", size: 11, mode: os.FileMode(420), modTime: time.Unix(1467819402, 0)}
+ a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -3401,8 +3401,8 @@ func confGitignoreWaf() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "conf/gitignore/Waf", size: 87, mode: os.FileMode(420), modTime: time.Unix(1441006036, 0)}
- a := &asset{bytes: bytes, info: info}
+ info := bindataFileInfo{name: "conf/gitignore/Waf", size: 87, mode: os.FileMode(420), modTime: time.Unix(1467819402, 0)}
+ a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -3421,8 +3421,8 @@ func confGitignoreWebmethods() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "conf/gitignore/WebMethods", size: 424, mode: os.FileMode(420), modTime: time.Unix(1441006036, 0)}
- a := &asset{bytes: bytes, info: info}
+ info := bindataFileInfo{name: "conf/gitignore/WebMethods", size: 424, mode: os.FileMode(420), modTime: time.Unix(1467819402, 0)}
+ a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -3441,8 +3441,8 @@ func confGitignoreWindows() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "conf/gitignore/Windows", size: 211, mode: os.FileMode(420), modTime: time.Unix(1441006036, 0)}
- a := &asset{bytes: bytes, info: info}
+ info := bindataFileInfo{name: "conf/gitignore/Windows", size: 211, mode: os.FileMode(420), modTime: time.Unix(1467819402, 0)}
+ a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -3461,8 +3461,8 @@ func confGitignoreWordpress() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "conf/gitignore/WordPress", size: 297, mode: os.FileMode(420), modTime: time.Unix(1441006036, 0)}
- a := &asset{bytes: bytes, info: info}
+ info := bindataFileInfo{name: "conf/gitignore/WordPress", size: 297, mode: os.FileMode(420), modTime: time.Unix(1467819402, 0)}
+ a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -3481,8 +3481,8 @@ func confGitignoreXcode() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "conf/gitignore/Xcode", size: 361, mode: os.FileMode(420), modTime: time.Unix(1441006036, 0)}
- a := &asset{bytes: bytes, info: info}
+ info := bindataFileInfo{name: "conf/gitignore/Xcode", size: 361, mode: os.FileMode(420), modTime: time.Unix(1467819402, 0)}
+ a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -3501,8 +3501,8 @@ func confGitignoreXilinxise() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "conf/gitignore/XilinxISE", size: 566, mode: os.FileMode(420), modTime: time.Unix(1441006036, 0)}
- a := &asset{bytes: bytes, info: info}
+ info := bindataFileInfo{name: "conf/gitignore/XilinxISE", size: 566, mode: os.FileMode(420), modTime: time.Unix(1467819402, 0)}
+ a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -3521,8 +3521,8 @@ func confGitignoreXojo() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "conf/gitignore/Xojo", size: 160, mode: os.FileMode(420), modTime: time.Unix(1441006036, 0)}
- a := &asset{bytes: bytes, info: info}
+ info := bindataFileInfo{name: "conf/gitignore/Xojo", size: 160, mode: os.FileMode(420), modTime: time.Unix(1467819402, 0)}
+ a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -3541,8 +3541,8 @@ func confGitignoreYeoman() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "conf/gitignore/Yeoman", size: 52, mode: os.FileMode(420), modTime: time.Unix(1441006036, 0)}
- a := &asset{bytes: bytes, info: info}
+ info := bindataFileInfo{name: "conf/gitignore/Yeoman", size: 52, mode: os.FileMode(420), modTime: time.Unix(1467819402, 0)}
+ a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -3561,8 +3561,8 @@ func confGitignoreYii() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "conf/gitignore/Yii", size: 120, mode: os.FileMode(420), modTime: time.Unix(1441006036, 0)}
- a := &asset{bytes: bytes, info: info}
+ info := bindataFileInfo{name: "conf/gitignore/Yii", size: 120, mode: os.FileMode(420), modTime: time.Unix(1467819402, 0)}
+ a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -3581,8 +3581,8 @@ func confGitignoreZendframework() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "conf/gitignore/ZendFramework", size: 217, mode: os.FileMode(420), modTime: time.Unix(1441006036, 0)}
- a := &asset{bytes: bytes, info: info}
+ info := bindataFileInfo{name: "conf/gitignore/ZendFramework", size: 217, mode: os.FileMode(420), modTime: time.Unix(1467819402, 0)}
+ a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -3601,8 +3601,8 @@ func confGitignoreZephir() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "conf/gitignore/Zephir", size: 387, mode: os.FileMode(420), modTime: time.Unix(1441006036, 0)}
- a := &asset{bytes: bytes, info: info}
+ info := bindataFileInfo{name: "conf/gitignore/Zephir", size: 387, mode: os.FileMode(420), modTime: time.Unix(1467819402, 0)}
+ a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -3621,8 +3621,8 @@ func confLicenseAbstylesLicense() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "conf/license/Abstyles License", size: 730, mode: os.FileMode(420), modTime: time.Unix(1441006036, 0)}
- a := &asset{bytes: bytes, info: info}
+ info := bindataFileInfo{name: "conf/license/Abstyles License", size: 730, mode: os.FileMode(420), modTime: time.Unix(1467819402, 0)}
+ a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -3641,8 +3641,8 @@ func confLicenseAcademicFreeLicenseV11() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "conf/license/Academic Free License v1.1", size: 4660, mode: os.FileMode(420), modTime: time.Unix(1441006036, 0)}
- a := &asset{bytes: bytes, info: info}
+ info := bindataFileInfo{name: "conf/license/Academic Free License v1.1", size: 4660, mode: os.FileMode(420), modTime: time.Unix(1467819402, 0)}
+ a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -3661,8 +3661,8 @@ func confLicenseAcademicFreeLicenseV12() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "conf/license/Academic Free License v1.2", size: 4949, mode: os.FileMode(420), modTime: time.Unix(1441006036, 0)}
- a := &asset{bytes: bytes, info: info}
+ info := bindataFileInfo{name: "conf/license/Academic Free License v1.2", size: 4949, mode: os.FileMode(420), modTime: time.Unix(1467819402, 0)}
+ a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -3681,8 +3681,8 @@ func confLicenseAcademicFreeLicenseV20() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "conf/license/Academic Free License v2.0", size: 8937, mode: os.FileMode(420), modTime: time.Unix(1441006036, 0)}
- a := &asset{bytes: bytes, info: info}
+ info := bindataFileInfo{name: "conf/license/Academic Free License v2.0", size: 8937, mode: os.FileMode(420), modTime: time.Unix(1467819402, 0)}
+ a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -3701,8 +3701,8 @@ func confLicenseAcademicFreeLicenseV21() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "conf/license/Academic Free License v2.1", size: 8922, mode: os.FileMode(420), modTime: time.Unix(1441006036, 0)}
- a := &asset{bytes: bytes, info: info}
+ info := bindataFileInfo{name: "conf/license/Academic Free License v2.1", size: 8922, mode: os.FileMode(420), modTime: time.Unix(1467819402, 0)}
+ a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -3721,8 +3721,8 @@ func confLicenseAcademicFreeLicenseV30() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "conf/license/Academic Free License v3.0", size: 10306, mode: os.FileMode(420), modTime: time.Unix(1441006036, 0)}
- a := &asset{bytes: bytes, info: info}
+ info := bindataFileInfo{name: "conf/license/Academic Free License v3.0", size: 10306, mode: os.FileMode(420), modTime: time.Unix(1467819402, 0)}
+ a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -3741,8 +3741,8 @@ func confLicenseAfferoGeneralPublicLicenseV10() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "conf/license/Affero General Public License v1.0", size: 15837, mode: os.FileMode(420), modTime: time.Unix(1441006036, 0)}
- a := &asset{bytes: bytes, info: info}
+ info := bindataFileInfo{name: "conf/license/Affero General Public License v1.0", size: 15837, mode: os.FileMode(420), modTime: time.Unix(1467819402, 0)}
+ a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -3761,8 +3761,8 @@ func confLicenseApacheLicense10() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "conf/license/Apache License 1.0", size: 2475, mode: os.FileMode(420), modTime: time.Unix(1441006036, 0)}
- a := &asset{bytes: bytes, info: info}
+ info := bindataFileInfo{name: "conf/license/Apache License 1.0", size: 2475, mode: os.FileMode(420), modTime: time.Unix(1467819402, 0)}
+ a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -3781,8 +3781,8 @@ func confLicenseApacheLicense11() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "conf/license/Apache License 1.1", size: 2508, mode: os.FileMode(420), modTime: time.Unix(1441006036, 0)}
- a := &asset{bytes: bytes, info: info}
+ info := bindataFileInfo{name: "conf/license/Apache License 1.1", size: 2508, mode: os.FileMode(420), modTime: time.Unix(1467819402, 0)}
+ a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -3801,8 +3801,8 @@ func confLicenseApacheLicense20() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "conf/license/Apache License 2.0", size: 10261, mode: os.FileMode(420), modTime: time.Unix(1441006036, 0)}
- a := &asset{bytes: bytes, info: info}
+ info := bindataFileInfo{name: "conf/license/Apache License 2.0", size: 10261, mode: os.FileMode(420), modTime: time.Unix(1467819402, 0)}
+ a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -3821,8 +3821,8 @@ func confLicenseArtisticLicense10() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "conf/license/Artistic License 1.0", size: 4789, mode: os.FileMode(420), modTime: time.Unix(1441006036, 0)}
- a := &asset{bytes: bytes, info: info}
+ info := bindataFileInfo{name: "conf/license/Artistic License 1.0", size: 4789, mode: os.FileMode(420), modTime: time.Unix(1467819402, 0)}
+ a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -3841,8 +3841,8 @@ func confLicenseArtisticLicense20() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "conf/license/Artistic License 2.0", size: 8661, mode: os.FileMode(420), modTime: time.Unix(1441006036, 0)}
- a := &asset{bytes: bytes, info: info}
+ info := bindataFileInfo{name: "conf/license/Artistic License 2.0", size: 8661, mode: os.FileMode(420), modTime: time.Unix(1467819402, 0)}
+ a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -3861,8 +3861,8 @@ func confLicenseBsd2ClauseLicense() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "conf/license/BSD 2-clause License", size: 1286, mode: os.FileMode(420), modTime: time.Unix(1441006036, 0)}
- a := &asset{bytes: bytes, info: info}
+ info := bindataFileInfo{name: "conf/license/BSD 2-clause License", size: 1286, mode: os.FileMode(420), modTime: time.Unix(1467819402, 0)}
+ a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -3881,8 +3881,8 @@ func confLicenseBsd3ClauseLicense() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "conf/license/BSD 3-clause License", size: 1480, mode: os.FileMode(420), modTime: time.Unix(1441006036, 0)}
- a := &asset{bytes: bytes, info: info}
+ info := bindataFileInfo{name: "conf/license/BSD 3-clause License", size: 1480, mode: os.FileMode(420), modTime: time.Unix(1467819402, 0)}
+ a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -3901,8 +3901,8 @@ func confLicenseBsd4ClauseLicense() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "conf/license/BSD 4-clause License", size: 1624, mode: os.FileMode(420), modTime: time.Unix(1441006036, 0)}
- a := &asset{bytes: bytes, info: info}
+ info := bindataFileInfo{name: "conf/license/BSD 4-clause License", size: 1624, mode: os.FileMode(420), modTime: time.Unix(1467819402, 0)}
+ a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -3921,8 +3921,8 @@ func confLicenseCreativeCommonsCc010Universal() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "conf/license/Creative Commons CC0 1.0 Universal", size: 6894, mode: os.FileMode(420), modTime: time.Unix(1441006036, 0)}
- a := &asset{bytes: bytes, info: info}
+ info := bindataFileInfo{name: "conf/license/Creative Commons CC0 1.0 Universal", size: 6894, mode: os.FileMode(420), modTime: time.Unix(1467819402, 0)}
+ a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -3941,8 +3941,8 @@ func confLicenseEclipsePublicLicense10() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "conf/license/Eclipse Public License 1.0", size: 11248, mode: os.FileMode(420), modTime: time.Unix(1441006036, 0)}
- a := &asset{bytes: bytes, info: info}
+ info := bindataFileInfo{name: "conf/license/Eclipse Public License 1.0", size: 11248, mode: os.FileMode(420), modTime: time.Unix(1467819402, 0)}
+ a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -3961,8 +3961,8 @@ func confLicenseEducationalCommunityLicenseV10() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "conf/license/Educational Community License v1.0", size: 2394, mode: os.FileMode(420), modTime: time.Unix(1441006036, 0)}
- a := &asset{bytes: bytes, info: info}
+ info := bindataFileInfo{name: "conf/license/Educational Community License v1.0", size: 2394, mode: os.FileMode(420), modTime: time.Unix(1467819402, 0)}
+ a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -3981,8 +3981,8 @@ func confLicenseEducationalCommunityLicenseV20() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "conf/license/Educational Community License v2.0", size: 11085, mode: os.FileMode(420), modTime: time.Unix(1441006036, 0)}
- a := &asset{bytes: bytes, info: info}
+ info := bindataFileInfo{name: "conf/license/Educational Community License v2.0", size: 11085, mode: os.FileMode(420), modTime: time.Unix(1467819402, 0)}
+ a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -4001,8 +4001,8 @@ func confLicenseGnuAfferoGeneralPublicLicenseV30() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "conf/license/GNU Affero General Public License v3.0", size: 33818, mode: os.FileMode(420), modTime: time.Unix(1441006036, 0)}
- a := &asset{bytes: bytes, info: info}
+ info := bindataFileInfo{name: "conf/license/GNU Affero General Public License v3.0", size: 33818, mode: os.FileMode(420), modTime: time.Unix(1467819402, 0)}
+ a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -4021,8 +4021,8 @@ func confLicenseGnuFreeDocumentationLicenseV11() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "conf/license/GNU Free Documentation License v1.1", size: 17912, mode: os.FileMode(420), modTime: time.Unix(1441006036, 0)}
- a := &asset{bytes: bytes, info: info}
+ info := bindataFileInfo{name: "conf/license/GNU Free Documentation License v1.1", size: 17912, mode: os.FileMode(420), modTime: time.Unix(1467819402, 0)}
+ a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -4041,8 +4041,8 @@ func confLicenseGnuFreeDocumentationLicenseV12() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "conf/license/GNU Free Documentation License v1.2", size: 20209, mode: os.FileMode(420), modTime: time.Unix(1441006036, 0)}
- a := &asset{bytes: bytes, info: info}
+ info := bindataFileInfo{name: "conf/license/GNU Free Documentation License v1.2", size: 20209, mode: os.FileMode(420), modTime: time.Unix(1467819402, 0)}
+ a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -4061,8 +4061,8 @@ func confLicenseGnuFreeDocumentationLicenseV13() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "conf/license/GNU Free Documentation License v1.3", size: 22732, mode: os.FileMode(420), modTime: time.Unix(1441006036, 0)}
- a := &asset{bytes: bytes, info: info}
+ info := bindataFileInfo{name: "conf/license/GNU Free Documentation License v1.3", size: 22732, mode: os.FileMode(420), modTime: time.Unix(1467819402, 0)}
+ a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -4081,8 +4081,8 @@ func confLicenseGnuGeneralPublicLicenseV10() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "conf/license/GNU General Public License v1.0", size: 12165, mode: os.FileMode(420), modTime: time.Unix(1441006036, 0)}
- a := &asset{bytes: bytes, info: info}
+ info := bindataFileInfo{name: "conf/license/GNU General Public License v1.0", size: 12165, mode: os.FileMode(420), modTime: time.Unix(1467819402, 0)}
+ a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -4101,8 +4101,8 @@ func confLicenseGnuGeneralPublicLicenseV20() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "conf/license/GNU General Public License v2.0", size: 17277, mode: os.FileMode(420), modTime: time.Unix(1441006036, 0)}
- a := &asset{bytes: bytes, info: info}
+ info := bindataFileInfo{name: "conf/license/GNU General Public License v2.0", size: 17277, mode: os.FileMode(420), modTime: time.Unix(1467819402, 0)}
+ a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -4121,8 +4121,8 @@ func confLicenseGnuGeneralPublicLicenseV30() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "conf/license/GNU General Public License v3.0", size: 34570, mode: os.FileMode(420), modTime: time.Unix(1441006036, 0)}
- a := &asset{bytes: bytes, info: info}
+ info := bindataFileInfo{name: "conf/license/GNU General Public License v3.0", size: 34570, mode: os.FileMode(420), modTime: time.Unix(1467819402, 0)}
+ a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -4141,8 +4141,8 @@ func confLicenseGnuLesserGeneralPublicLicenseV21() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "conf/license/GNU Lesser General Public License v2.1", size: 25885, mode: os.FileMode(420), modTime: time.Unix(1441006036, 0)}
- a := &asset{bytes: bytes, info: info}
+ info := bindataFileInfo{name: "conf/license/GNU Lesser General Public License v2.1", size: 25885, mode: os.FileMode(420), modTime: time.Unix(1467819402, 0)}
+ a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -4161,8 +4161,8 @@ func confLicenseGnuLesserGeneralPublicLicenseV30() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "conf/license/GNU Lesser General Public License v3.0", size: 7355, mode: os.FileMode(420), modTime: time.Unix(1441006036, 0)}
- a := &asset{bytes: bytes, info: info}
+ info := bindataFileInfo{name: "conf/license/GNU Lesser General Public License v3.0", size: 7355, mode: os.FileMode(420), modTime: time.Unix(1467819402, 0)}
+ a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -4181,8 +4181,8 @@ func confLicenseGnuLibraryGeneralPublicLicenseV20() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "conf/license/GNU Library General Public License v2.0", size: 24758, mode: os.FileMode(420), modTime: time.Unix(1441006036, 0)}
- a := &asset{bytes: bytes, info: info}
+ info := bindataFileInfo{name: "conf/license/GNU Library General Public License v2.0", size: 24758, mode: os.FileMode(420), modTime: time.Unix(1467819402, 0)}
+ a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -4201,8 +4201,8 @@ func confLicenseIscLicense() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "conf/license/ISC license", size: 745, mode: os.FileMode(420), modTime: time.Unix(1464397101, 0)}
- a := &asset{bytes: bytes, info: info}
+ info := bindataFileInfo{name: "conf/license/ISC license", size: 745, mode: os.FileMode(420), modTime: time.Unix(1467819402, 0)}
+ a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -4221,8 +4221,8 @@ func confLicenseMitLicense() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "conf/license/MIT License", size: 1077, mode: os.FileMode(420), modTime: time.Unix(1441006036, 0)}
- a := &asset{bytes: bytes, info: info}
+ info := bindataFileInfo{name: "conf/license/MIT License", size: 1077, mode: os.FileMode(420), modTime: time.Unix(1467819402, 0)}
+ a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -4241,8 +4241,8 @@ func confLicenseMozillaPublicLicense10() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "conf/license/Mozilla Public License 1.0", size: 18026, mode: os.FileMode(420), modTime: time.Unix(1441006036, 0)}
- a := &asset{bytes: bytes, info: info}
+ info := bindataFileInfo{name: "conf/license/Mozilla Public License 1.0", size: 18026, mode: os.FileMode(420), modTime: time.Unix(1467819402, 0)}
+ a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -4261,8 +4261,8 @@ func confLicenseMozillaPublicLicense11() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "conf/license/Mozilla Public License 1.1", size: 23361, mode: os.FileMode(420), modTime: time.Unix(1441006036, 0)}
- a := &asset{bytes: bytes, info: info}
+ info := bindataFileInfo{name: "conf/license/Mozilla Public License 1.1", size: 23361, mode: os.FileMode(420), modTime: time.Unix(1467819402, 0)}
+ a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -4281,8 +4281,8 @@ func confLicenseMozillaPublicLicense20() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "conf/license/Mozilla Public License 2.0", size: 14827, mode: os.FileMode(420), modTime: time.Unix(1441006036, 0)}
- a := &asset{bytes: bytes, info: info}
+ info := bindataFileInfo{name: "conf/license/Mozilla Public License 2.0", size: 14827, mode: os.FileMode(420), modTime: time.Unix(1467819402, 0)}
+ a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -4301,8 +4301,8 @@ func confLocaleLocale_bgBgIni() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "conf/locale/locale_bg-BG.ini", size: 77994, mode: os.FileMode(438), modTime: time.Unix(1468050982, 0)}
- a := &asset{bytes: bytes, info: info}
+ info := bindataFileInfo{name: "conf/locale/locale_bg-BG.ini", size: 77994, mode: os.FileMode(420), modTime: time.Unix(1468605755, 0)}
+ a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -4321,8 +4321,8 @@ func confLocaleLocale_csCzIni() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "conf/locale/locale_cs-CZ.ini", size: 54527, mode: os.FileMode(438), modTime: time.Unix(1468050990, 0)}
- a := &asset{bytes: bytes, info: info}
+ info := bindataFileInfo{name: "conf/locale/locale_cs-CZ.ini", size: 54527, mode: os.FileMode(420), modTime: time.Unix(1468605755, 0)}
+ a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -4341,8 +4341,8 @@ func confLocaleLocale_deDeIni() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "conf/locale/locale_de-DE.ini", size: 54740, mode: os.FileMode(438), modTime: time.Unix(1468051000, 0)}
- a := &asset{bytes: bytes, info: info}
+ info := bindataFileInfo{name: "conf/locale/locale_de-DE.ini", size: 54740, mode: os.FileMode(420), modTime: time.Unix(1468605755, 0)}
+ a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -4361,8 +4361,8 @@ func confLocaleLocale_enUsIni() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "conf/locale/locale_en-US.ini", size: 51300, mode: os.FileMode(420), modTime: time.Unix(1468277636, 0)}
- a := &asset{bytes: bytes, info: info}
+ info := bindataFileInfo{name: "conf/locale/locale_en-US.ini", size: 51300, mode: os.FileMode(420), modTime: time.Unix(1468622566, 0)}
+ a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -4381,8 +4381,8 @@ func confLocaleLocale_esEsIni() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "conf/locale/locale_es-ES.ini", size: 55644, mode: os.FileMode(438), modTime: time.Unix(1468051024, 0)}
- a := &asset{bytes: bytes, info: info}
+ info := bindataFileInfo{name: "conf/locale/locale_es-ES.ini", size: 55644, mode: os.FileMode(420), modTime: time.Unix(1468605755, 0)}
+ a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -4401,8 +4401,8 @@ func confLocaleLocale_fiFiIni() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "conf/locale/locale_fi-FI.ini", size: 52743, mode: os.FileMode(438), modTime: time.Unix(1468050996, 0)}
- a := &asset{bytes: bytes, info: info}
+ info := bindataFileInfo{name: "conf/locale/locale_fi-FI.ini", size: 52743, mode: os.FileMode(420), modTime: time.Unix(1468605755, 0)}
+ a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -4421,8 +4421,8 @@ func confLocaleLocale_frFrIni() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "conf/locale/locale_fr-FR.ini", size: 55281, mode: os.FileMode(438), modTime: time.Unix(1468050998, 0)}
- a := &asset{bytes: bytes, info: info}
+ info := bindataFileInfo{name: "conf/locale/locale_fr-FR.ini", size: 55281, mode: os.FileMode(420), modTime: time.Unix(1468605755, 0)}
+ a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -4441,8 +4441,8 @@ func confLocaleLocale_itItIni() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "conf/locale/locale_it-IT.ini", size: 53440, mode: os.FileMode(438), modTime: time.Unix(1468051006, 0)}
- a := &asset{bytes: bytes, info: info}
+ info := bindataFileInfo{name: "conf/locale/locale_it-IT.ini", size: 53440, mode: os.FileMode(420), modTime: time.Unix(1468605755, 0)}
+ a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -4461,8 +4461,8 @@ func confLocaleLocale_jaJpIni() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "conf/locale/locale_ja-JP.ini", size: 60489, mode: os.FileMode(438), modTime: time.Unix(1468051008, 0)}
- a := &asset{bytes: bytes, info: info}
+ info := bindataFileInfo{name: "conf/locale/locale_ja-JP.ini", size: 60489, mode: os.FileMode(420), modTime: time.Unix(1468605755, 0)}
+ a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -4481,8 +4481,8 @@ func confLocaleLocale_lvLvIni() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "conf/locale/locale_lv-LV.ini", size: 55630, mode: os.FileMode(438), modTime: time.Unix(1468051010, 0)}
- a := &asset{bytes: bytes, info: info}
+ info := bindataFileInfo{name: "conf/locale/locale_lv-LV.ini", size: 55630, mode: os.FileMode(420), modTime: time.Unix(1468605755, 0)}
+ a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -4501,8 +4501,8 @@ func confLocaleLocale_nlNlIni() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "conf/locale/locale_nl-NL.ini", size: 52176, mode: os.FileMode(438), modTime: time.Unix(1468050992, 0)}
- a := &asset{bytes: bytes, info: info}
+ info := bindataFileInfo{name: "conf/locale/locale_nl-NL.ini", size: 52176, mode: os.FileMode(420), modTime: time.Unix(1468605755, 0)}
+ a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -4521,8 +4521,8 @@ func confLocaleLocale_plPlIni() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "conf/locale/locale_pl-PL.ini", size: 53471, mode: os.FileMode(438), modTime: time.Unix(1468051016, 0)}
- a := &asset{bytes: bytes, info: info}
+ info := bindataFileInfo{name: "conf/locale/locale_pl-PL.ini", size: 53471, mode: os.FileMode(420), modTime: time.Unix(1468605755, 0)}
+ a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -4541,8 +4541,8 @@ func confLocaleLocale_ptBrIni() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "conf/locale/locale_pt-BR.ini", size: 53912, mode: os.FileMode(438), modTime: time.Unix(1468051020, 0)}
- a := &asset{bytes: bytes, info: info}
+ info := bindataFileInfo{name: "conf/locale/locale_pt-BR.ini", size: 53912, mode: os.FileMode(420), modTime: time.Unix(1468605755, 0)}
+ a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -4561,8 +4561,8 @@ func confLocaleLocale_ruRuIni() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "conf/locale/locale_ru-RU.ini", size: 78367, mode: os.FileMode(438), modTime: time.Unix(1468051020, 0)}
- a := &asset{bytes: bytes, info: info}
+ info := bindataFileInfo{name: "conf/locale/locale_ru-RU.ini", size: 78367, mode: os.FileMode(420), modTime: time.Unix(1468605755, 0)}
+ a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -4581,8 +4581,8 @@ func confLocaleLocale_trTrIni() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "conf/locale/locale_tr-TR.ini", size: 53878, mode: os.FileMode(438), modTime: time.Unix(1468051026, 0)}
- a := &asset{bytes: bytes, info: info}
+ info := bindataFileInfo{name: "conf/locale/locale_tr-TR.ini", size: 53878, mode: os.FileMode(420), modTime: time.Unix(1468605755, 0)}
+ a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -4601,8 +4601,8 @@ func confLocaleLocale_zhCnIni() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "conf/locale/locale_zh-CN.ini", size: 48960, mode: os.FileMode(438), modTime: time.Unix(1468050984, 0)}
- a := &asset{bytes: bytes, info: info}
+ info := bindataFileInfo{name: "conf/locale/locale_zh-CN.ini", size: 48960, mode: os.FileMode(420), modTime: time.Unix(1468605755, 0)}
+ a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -4621,8 +4621,8 @@ func confLocaleLocale_zhHkIni() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "conf/locale/locale_zh-HK.ini", size: 48949, mode: os.FileMode(438), modTime: time.Unix(1468050986, 0)}
- a := &asset{bytes: bytes, info: info}
+ info := bindataFileInfo{name: "conf/locale/locale_zh-HK.ini", size: 48949, mode: os.FileMode(420), modTime: time.Unix(1468605755, 0)}
+ a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -4641,8 +4641,8 @@ func confLocaleLocale_zhTwIni() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "conf/locale/locale_zh-TW.ini", size: 48838, mode: os.FileMode(438), modTime: time.Unix(1468050984, 0)}
- a := &asset{bytes: bytes, info: info}
+ info := bindataFileInfo{name: "conf/locale/locale_zh-TW.ini", size: 48838, mode: os.FileMode(420), modTime: time.Unix(1468605755, 0)}
+ a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -4661,8 +4661,8 @@ func confReadmeDefault() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "conf/readme/Default", size: 23, mode: os.FileMode(420), modTime: time.Unix(1441006036, 0)}
- a := &asset{bytes: bytes, info: info}
+ info := bindataFileInfo{name: "conf/readme/Default", size: 23, mode: os.FileMode(420), modTime: time.Unix(1467819402, 0)}
+ a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -4685,7 +4685,7 @@ func Asset(name string) ([]byte, error) {
// It simplifies safe initialization of global variables.
func MustAsset(name string) []byte {
a, err := Asset(name)
- if (err != nil) {
+ if err != nil {
panic("asset: Asset(" + name + "): " + err.Error())
}
@@ -4975,504 +4975,285 @@ func AssetDir(name string) ([]string, error) {
}
type bintree struct {
- Func func() (*asset, error)
+ Func func() (*asset, error)
Children map[string]*bintree
}
var _bintree = &bintree{nil, map[string]*bintree{
"conf": &bintree{nil, map[string]*bintree{
- "app.ini": &bintree{confAppIni, map[string]*bintree{
- }},
+ "app.ini": &bintree{confAppIni, map[string]*bintree{}},
"gitignore": &bintree{nil, map[string]*bintree{
- "Actionscript": &bintree{confGitignoreActionscript, map[string]*bintree{
- }},
- "Ada": &bintree{confGitignoreAda, map[string]*bintree{
- }},
- "Agda": &bintree{confGitignoreAgda, map[string]*bintree{
- }},
- "Android": &bintree{confGitignoreAndroid, map[string]*bintree{
- }},
- "Anjuta": &bintree{confGitignoreAnjuta, map[string]*bintree{
- }},
- "AppEngine": &bintree{confGitignoreAppengine, map[string]*bintree{
- }},
- "AppceleratorTitanium": &bintree{confGitignoreAppceleratortitanium, map[string]*bintree{
- }},
- "ArchLinuxPackages": &bintree{confGitignoreArchlinuxpackages, map[string]*bintree{
- }},
- "Archives": &bintree{confGitignoreArchives, map[string]*bintree{
- }},
- "Autotools": &bintree{confGitignoreAutotools, map[string]*bintree{
- }},
- "BricxCC": &bintree{confGitignoreBricxcc, map[string]*bintree{
- }},
- "C": &bintree{confGitignoreC, map[string]*bintree{
- }},
- "C Sharp": &bintree{confGitignoreCSharp, map[string]*bintree{
- }},
- "C++": &bintree{confGitignoreC2, map[string]*bintree{
- }},
- "CFWheels": &bintree{confGitignoreCfwheels, map[string]*bintree{
- }},
- "CMake": &bintree{confGitignoreCmake, map[string]*bintree{
- }},
- "CUDA": &bintree{confGitignoreCuda, map[string]*bintree{
- }},
- "CVS": &bintree{confGitignoreCvs, map[string]*bintree{
- }},
- "CakePHP": &bintree{confGitignoreCakephp, map[string]*bintree{
- }},
- "ChefCookbook": &bintree{confGitignoreChefcookbook, map[string]*bintree{
- }},
- "Cloud9": &bintree{confGitignoreCloud9, map[string]*bintree{
- }},
- "CodeIgniter": &bintree{confGitignoreCodeigniter, map[string]*bintree{
- }},
- "CodeKit": &bintree{confGitignoreCodekit, map[string]*bintree{
- }},
- "CommonLisp": &bintree{confGitignoreCommonlisp, map[string]*bintree{
- }},
- "Composer": &bintree{confGitignoreComposer, map[string]*bintree{
- }},
- "Concrete5": &bintree{confGitignoreConcrete5, map[string]*bintree{
- }},
- "Coq": &bintree{confGitignoreCoq, map[string]*bintree{
- }},
- "CraftCMS": &bintree{confGitignoreCraftcms, map[string]*bintree{
- }},
- "DM": &bintree{confGitignoreDm, map[string]*bintree{
- }},
- "Dart": &bintree{confGitignoreDart, map[string]*bintree{
- }},
- "DartEditor": &bintree{confGitignoreDarteditor, map[string]*bintree{
- }},
- "Delphi": &bintree{confGitignoreDelphi, map[string]*bintree{
- }},
- "Dreamweaver": &bintree{confGitignoreDreamweaver, map[string]*bintree{
- }},
- "Drupal": &bintree{confGitignoreDrupal, map[string]*bintree{
- }},
- "EPiServer": &bintree{confGitignoreEpiserver, map[string]*bintree{
- }},
- "Eagle": &bintree{confGitignoreEagle, map[string]*bintree{
- }},
- "Eclipse": &bintree{confGitignoreEclipse, map[string]*bintree{
- }},
- "EiffelStudio": &bintree{confGitignoreEiffelstudio, map[string]*bintree{
- }},
- "Elisp": &bintree{confGitignoreElisp, map[string]*bintree{
- }},
- "Elixir": &bintree{confGitignoreElixir, map[string]*bintree{
- }},
- "Emacs": &bintree{confGitignoreEmacs, map[string]*bintree{
- }},
- "Ensime": &bintree{confGitignoreEnsime, map[string]*bintree{
- }},
- "Erlang": &bintree{confGitignoreErlang, map[string]*bintree{
- }},
- "Espresso": &bintree{confGitignoreEspresso, map[string]*bintree{
- }},
- "ExpressionEngine": &bintree{confGitignoreExpressionengine, map[string]*bintree{
- }},
- "ExtJs": &bintree{confGitignoreExtjs, map[string]*bintree{
- }},
- "Fancy": &bintree{confGitignoreFancy, map[string]*bintree{
- }},
- "Finale": &bintree{confGitignoreFinale, map[string]*bintree{
- }},
- "FlexBuilder": &bintree{confGitignoreFlexbuilder, map[string]*bintree{
- }},
- "ForceDotCom": &bintree{confGitignoreForcedotcom, map[string]*bintree{
- }},
- "FuelPHP": &bintree{confGitignoreFuelphp, map[string]*bintree{
- }},
- "GWT": &bintree{confGitignoreGwt, map[string]*bintree{
- }},
- "Gcov": &bintree{confGitignoreGcov, map[string]*bintree{
- }},
- "GitBook": &bintree{confGitignoreGitbook, map[string]*bintree{
- }},
- "Go": &bintree{confGitignoreGo, map[string]*bintree{
- }},
- "Gradle": &bintree{confGitignoreGradle, map[string]*bintree{
- }},
- "Grails": &bintree{confGitignoreGrails, map[string]*bintree{
- }},
- "Haskell": &bintree{confGitignoreHaskell, map[string]*bintree{
- }},
- "IGORPro": &bintree{confGitignoreIgorpro, map[string]*bintree{
- }},
- "IPythonNotebook": &bintree{confGitignoreIpythonnotebook, map[string]*bintree{
- }},
- "Idris": &bintree{confGitignoreIdris, map[string]*bintree{
- }},
- "JDeveloper": &bintree{confGitignoreJdeveloper, map[string]*bintree{
- }},
- "Java": &bintree{confGitignoreJava, map[string]*bintree{
- }},
- "Jboss": &bintree{confGitignoreJboss, map[string]*bintree{
- }},
- "Jekyll": &bintree{confGitignoreJekyll, map[string]*bintree{
- }},
- "JetBrains": &bintree{confGitignoreJetbrains, map[string]*bintree{
- }},
- "Joomla": &bintree{confGitignoreJoomla, map[string]*bintree{
- }},
- "KDevelop4": &bintree{confGitignoreKdevelop4, map[string]*bintree{
- }},
- "Kate": &bintree{confGitignoreKate, map[string]*bintree{
- }},
- "KiCAD": &bintree{confGitignoreKicad, map[string]*bintree{
- }},
- "Kohana": &bintree{confGitignoreKohana, map[string]*bintree{
- }},
- "LabVIEW": &bintree{confGitignoreLabview, map[string]*bintree{
- }},
- "Laravel": &bintree{confGitignoreLaravel, map[string]*bintree{
- }},
- "Lazarus": &bintree{confGitignoreLazarus, map[string]*bintree{
- }},
- "Leiningen": &bintree{confGitignoreLeiningen, map[string]*bintree{
- }},
- "LemonStand": &bintree{confGitignoreLemonstand, map[string]*bintree{
- }},
- "LibreOffice": &bintree{confGitignoreLibreoffice, map[string]*bintree{
- }},
- "Lilypond": &bintree{confGitignoreLilypond, map[string]*bintree{
- }},
- "Linux": &bintree{confGitignoreLinux, map[string]*bintree{
- }},
- "Lithium": &bintree{confGitignoreLithium, map[string]*bintree{
- }},
- "Lua": &bintree{confGitignoreLua, map[string]*bintree{
- }},
- "LyX": &bintree{confGitignoreLyx, map[string]*bintree{
- }},
- "Magento": &bintree{confGitignoreMagento, map[string]*bintree{
- }},
- "Matlab": &bintree{confGitignoreMatlab, map[string]*bintree{
- }},
- "Maven": &bintree{confGitignoreMaven, map[string]*bintree{
- }},
- "Mercurial": &bintree{confGitignoreMercurial, map[string]*bintree{
- }},
- "Mercury": &bintree{confGitignoreMercury, map[string]*bintree{
- }},
- "MetaProgrammingSystem": &bintree{confGitignoreMetaprogrammingsystem, map[string]*bintree{
- }},
- "MicrosoftOffice": &bintree{confGitignoreMicrosoftoffice, map[string]*bintree{
- }},
- "ModelSim": &bintree{confGitignoreModelsim, map[string]*bintree{
- }},
- "Momentics": &bintree{confGitignoreMomentics, map[string]*bintree{
- }},
- "MonoDevelop": &bintree{confGitignoreMonodevelop, map[string]*bintree{
- }},
- "Nanoc": &bintree{confGitignoreNanoc, map[string]*bintree{
- }},
- "NetBeans": &bintree{confGitignoreNetbeans, map[string]*bintree{
- }},
- "Nim": &bintree{confGitignoreNim, map[string]*bintree{
- }},
- "Ninja": &bintree{confGitignoreNinja, map[string]*bintree{
- }},
- "Node": &bintree{confGitignoreNode, map[string]*bintree{
- }},
- "NotepadPP": &bintree{confGitignoreNotepadpp, map[string]*bintree{
- }},
- "OCaml": &bintree{confGitignoreOcaml, map[string]*bintree{
- }},
- "OSX": &bintree{confGitignoreOsx, map[string]*bintree{
- }},
- "Objective-C": &bintree{confGitignoreObjectiveC, map[string]*bintree{
- }},
- "Opa": &bintree{confGitignoreOpa, map[string]*bintree{
- }},
- "OpenCart": &bintree{confGitignoreOpencart, map[string]*bintree{
- }},
- "OracleForms": &bintree{confGitignoreOracleforms, map[string]*bintree{
- }},
- "Packer": &bintree{confGitignorePacker, map[string]*bintree{
- }},
- "Perl": &bintree{confGitignorePerl, map[string]*bintree{
- }},
- "Phalcon": &bintree{confGitignorePhalcon, map[string]*bintree{
- }},
- "PlayFramework": &bintree{confGitignorePlayframework, map[string]*bintree{
- }},
- "Plone": &bintree{confGitignorePlone, map[string]*bintree{
- }},
- "Prestashop": &bintree{confGitignorePrestashop, map[string]*bintree{
- }},
- "Processing": &bintree{confGitignoreProcessing, map[string]*bintree{
- }},
- "Python": &bintree{confGitignorePython, map[string]*bintree{
- }},
- "Qooxdoo": &bintree{confGitignoreQooxdoo, map[string]*bintree{
- }},
- "Qt": &bintree{confGitignoreQt, map[string]*bintree{
- }},
- "R": &bintree{confGitignoreR, map[string]*bintree{
- }},
- "ROS": &bintree{confGitignoreRos, map[string]*bintree{
- }},
- "Rails": &bintree{confGitignoreRails, map[string]*bintree{
- }},
- "Redcar": &bintree{confGitignoreRedcar, map[string]*bintree{
- }},
- "Redis": &bintree{confGitignoreRedis, map[string]*bintree{
- }},
- "RhodesRhomobile": &bintree{confGitignoreRhodesrhomobile, map[string]*bintree{
- }},
- "Ruby": &bintree{confGitignoreRuby, map[string]*bintree{
- }},
- "Rust": &bintree{confGitignoreRust, map[string]*bintree{
- }},
- "SBT": &bintree{confGitignoreSbt, map[string]*bintree{
- }},
- "SCons": &bintree{confGitignoreScons, map[string]*bintree{
- }},
- "SVN": &bintree{confGitignoreSvn, map[string]*bintree{
- }},
- "Sass": &bintree{confGitignoreSass, map[string]*bintree{
- }},
- "Scala": &bintree{confGitignoreScala, map[string]*bintree{
- }},
- "Scrivener": &bintree{confGitignoreScrivener, map[string]*bintree{
- }},
- "Sdcc": &bintree{confGitignoreSdcc, map[string]*bintree{
- }},
- "SeamGen": &bintree{confGitignoreSeamgen, map[string]*bintree{
- }},
- "SketchUp": &bintree{confGitignoreSketchup, map[string]*bintree{
- }},
- "SlickEdit": &bintree{confGitignoreSlickedit, map[string]*bintree{
- }},
- "Stella": &bintree{confGitignoreStella, map[string]*bintree{
- }},
- "SublimeText": &bintree{confGitignoreSublimetext, map[string]*bintree{
- }},
- "SugarCRM": &bintree{confGitignoreSugarcrm, map[string]*bintree{
- }},
- "Swift": &bintree{confGitignoreSwift, map[string]*bintree{
- }},
- "Symfony": &bintree{confGitignoreSymfony, map[string]*bintree{
- }},
- "SymphonyCMS": &bintree{confGitignoreSymphonycms, map[string]*bintree{
- }},
- "SynopsysVCS": &bintree{confGitignoreSynopsysvcs, map[string]*bintree{
- }},
- "Tags": &bintree{confGitignoreTags, map[string]*bintree{
- }},
- "TeX": &bintree{confGitignoreTex, map[string]*bintree{
- }},
- "TextMate": &bintree{confGitignoreTextmate, map[string]*bintree{
- }},
- "Textpattern": &bintree{confGitignoreTextpattern, map[string]*bintree{
- }},
- "TortoiseGit": &bintree{confGitignoreTortoisegit, map[string]*bintree{
- }},
- "TurboGears2": &bintree{confGitignoreTurbogears2, map[string]*bintree{
- }},
- "Typo3": &bintree{confGitignoreTypo3, map[string]*bintree{
- }},
- "Umbraco": &bintree{confGitignoreUmbraco, map[string]*bintree{
- }},
- "Unity": &bintree{confGitignoreUnity, map[string]*bintree{
- }},
- "VVVV": &bintree{confGitignoreVvvv, map[string]*bintree{
- }},
- "Vagrant": &bintree{confGitignoreVagrant, map[string]*bintree{
- }},
- "Vim": &bintree{confGitignoreVim, map[string]*bintree{
- }},
- "VirtualEnv": &bintree{confGitignoreVirtualenv, map[string]*bintree{
- }},
- "VisualStudio": &bintree{confGitignoreVisualstudio, map[string]*bintree{
- }},
- "VisualStudioCode": &bintree{confGitignoreVisualstudiocode, map[string]*bintree{
- }},
- "Waf": &bintree{confGitignoreWaf, map[string]*bintree{
- }},
- "WebMethods": &bintree{confGitignoreWebmethods, map[string]*bintree{
- }},
- "Windows": &bintree{confGitignoreWindows, map[string]*bintree{
- }},
- "WordPress": &bintree{confGitignoreWordpress, map[string]*bintree{
- }},
- "Xcode": &bintree{confGitignoreXcode, map[string]*bintree{
- }},
- "XilinxISE": &bintree{confGitignoreXilinxise, map[string]*bintree{
- }},
- "Xojo": &bintree{confGitignoreXojo, map[string]*bintree{
- }},
- "Yeoman": &bintree{confGitignoreYeoman, map[string]*bintree{
- }},
- "Yii": &bintree{confGitignoreYii, map[string]*bintree{
- }},
- "ZendFramework": &bintree{confGitignoreZendframework, map[string]*bintree{
- }},
- "Zephir": &bintree{confGitignoreZephir, map[string]*bintree{
- }},
+ "Actionscript": &bintree{confGitignoreActionscript, map[string]*bintree{}},
+ "Ada": &bintree{confGitignoreAda, map[string]*bintree{}},
+ "Agda": &bintree{confGitignoreAgda, map[string]*bintree{}},
+ "Android": &bintree{confGitignoreAndroid, map[string]*bintree{}},
+ "Anjuta": &bintree{confGitignoreAnjuta, map[string]*bintree{}},
+ "AppEngine": &bintree{confGitignoreAppengine, map[string]*bintree{}},
+ "AppceleratorTitanium": &bintree{confGitignoreAppceleratortitanium, map[string]*bintree{}},
+ "ArchLinuxPackages": &bintree{confGitignoreArchlinuxpackages, map[string]*bintree{}},
+ "Archives": &bintree{confGitignoreArchives, map[string]*bintree{}},
+ "Autotools": &bintree{confGitignoreAutotools, map[string]*bintree{}},
+ "BricxCC": &bintree{confGitignoreBricxcc, map[string]*bintree{}},
+ "C": &bintree{confGitignoreC, map[string]*bintree{}},
+ "C Sharp": &bintree{confGitignoreCSharp, map[string]*bintree{}},
+ "C++": &bintree{confGitignoreC2, map[string]*bintree{}},
+ "CFWheels": &bintree{confGitignoreCfwheels, map[string]*bintree{}},
+ "CMake": &bintree{confGitignoreCmake, map[string]*bintree{}},
+ "CUDA": &bintree{confGitignoreCuda, map[string]*bintree{}},
+ "CVS": &bintree{confGitignoreCvs, map[string]*bintree{}},
+ "CakePHP": &bintree{confGitignoreCakephp, map[string]*bintree{}},
+ "ChefCookbook": &bintree{confGitignoreChefcookbook, map[string]*bintree{}},
+ "Cloud9": &bintree{confGitignoreCloud9, map[string]*bintree{}},
+ "CodeIgniter": &bintree{confGitignoreCodeigniter, map[string]*bintree{}},
+ "CodeKit": &bintree{confGitignoreCodekit, map[string]*bintree{}},
+ "CommonLisp": &bintree{confGitignoreCommonlisp, map[string]*bintree{}},
+ "Composer": &bintree{confGitignoreComposer, map[string]*bintree{}},
+ "Concrete5": &bintree{confGitignoreConcrete5, map[string]*bintree{}},
+ "Coq": &bintree{confGitignoreCoq, map[string]*bintree{}},
+ "CraftCMS": &bintree{confGitignoreCraftcms, map[string]*bintree{}},
+ "DM": &bintree{confGitignoreDm, map[string]*bintree{}},
+ "Dart": &bintree{confGitignoreDart, map[string]*bintree{}},
+ "DartEditor": &bintree{confGitignoreDarteditor, map[string]*bintree{}},
+ "Delphi": &bintree{confGitignoreDelphi, map[string]*bintree{}},
+ "Dreamweaver": &bintree{confGitignoreDreamweaver, map[string]*bintree{}},
+ "Drupal": &bintree{confGitignoreDrupal, map[string]*bintree{}},
+ "EPiServer": &bintree{confGitignoreEpiserver, map[string]*bintree{}},
+ "Eagle": &bintree{confGitignoreEagle, map[string]*bintree{}},
+ "Eclipse": &bintree{confGitignoreEclipse, map[string]*bintree{}},
+ "EiffelStudio": &bintree{confGitignoreEiffelstudio, map[string]*bintree{}},
+ "Elisp": &bintree{confGitignoreElisp, map[string]*bintree{}},
+ "Elixir": &bintree{confGitignoreElixir, map[string]*bintree{}},
+ "Emacs": &bintree{confGitignoreEmacs, map[string]*bintree{}},
+ "Ensime": &bintree{confGitignoreEnsime, map[string]*bintree{}},
+ "Erlang": &bintree{confGitignoreErlang, map[string]*bintree{}},
+ "Espresso": &bintree{confGitignoreEspresso, map[string]*bintree{}},
+ "ExpressionEngine": &bintree{confGitignoreExpressionengine, map[string]*bintree{}},
+ "ExtJs": &bintree{confGitignoreExtjs, map[string]*bintree{}},
+ "Fancy": &bintree{confGitignoreFancy, map[string]*bintree{}},
+ "Finale": &bintree{confGitignoreFinale, map[string]*bintree{}},
+ "FlexBuilder": &bintree{confGitignoreFlexbuilder, map[string]*bintree{}},
+ "ForceDotCom": &bintree{confGitignoreForcedotcom, map[string]*bintree{}},
+ "FuelPHP": &bintree{confGitignoreFuelphp, map[string]*bintree{}},
+ "GWT": &bintree{confGitignoreGwt, map[string]*bintree{}},
+ "Gcov": &bintree{confGitignoreGcov, map[string]*bintree{}},
+ "GitBook": &bintree{confGitignoreGitbook, map[string]*bintree{}},
+ "Go": &bintree{confGitignoreGo, map[string]*bintree{}},
+ "Gradle": &bintree{confGitignoreGradle, map[string]*bintree{}},
+ "Grails": &bintree{confGitignoreGrails, map[string]*bintree{}},
+ "Haskell": &bintree{confGitignoreHaskell, map[string]*bintree{}},
+ "IGORPro": &bintree{confGitignoreIgorpro, map[string]*bintree{}},
+ "IPythonNotebook": &bintree{confGitignoreIpythonnotebook, map[string]*bintree{}},
+ "Idris": &bintree{confGitignoreIdris, map[string]*bintree{}},
+ "JDeveloper": &bintree{confGitignoreJdeveloper, map[string]*bintree{}},
+ "Java": &bintree{confGitignoreJava, map[string]*bintree{}},
+ "Jboss": &bintree{confGitignoreJboss, map[string]*bintree{}},
+ "Jekyll": &bintree{confGitignoreJekyll, map[string]*bintree{}},
+ "JetBrains": &bintree{confGitignoreJetbrains, map[string]*bintree{}},
+ "Joomla": &bintree{confGitignoreJoomla, map[string]*bintree{}},
+ "KDevelop4": &bintree{confGitignoreKdevelop4, map[string]*bintree{}},
+ "Kate": &bintree{confGitignoreKate, map[string]*bintree{}},
+ "KiCAD": &bintree{confGitignoreKicad, map[string]*bintree{}},
+ "Kohana": &bintree{confGitignoreKohana, map[string]*bintree{}},
+ "LabVIEW": &bintree{confGitignoreLabview, map[string]*bintree{}},
+ "Laravel": &bintree{confGitignoreLaravel, map[string]*bintree{}},
+ "Lazarus": &bintree{confGitignoreLazarus, map[string]*bintree{}},
+ "Leiningen": &bintree{confGitignoreLeiningen, map[string]*bintree{}},
+ "LemonStand": &bintree{confGitignoreLemonstand, map[string]*bintree{}},
+ "LibreOffice": &bintree{confGitignoreLibreoffice, map[string]*bintree{}},
+ "Lilypond": &bintree{confGitignoreLilypond, map[string]*bintree{}},
+ "Linux": &bintree{confGitignoreLinux, map[string]*bintree{}},
+ "Lithium": &bintree{confGitignoreLithium, map[string]*bintree{}},
+ "Lua": &bintree{confGitignoreLua, map[string]*bintree{}},
+ "LyX": &bintree{confGitignoreLyx, map[string]*bintree{}},
+ "Magento": &bintree{confGitignoreMagento, map[string]*bintree{}},
+ "Matlab": &bintree{confGitignoreMatlab, map[string]*bintree{}},
+ "Maven": &bintree{confGitignoreMaven, map[string]*bintree{}},
+ "Mercurial": &bintree{confGitignoreMercurial, map[string]*bintree{}},
+ "Mercury": &bintree{confGitignoreMercury, map[string]*bintree{}},
+ "MetaProgrammingSystem": &bintree{confGitignoreMetaprogrammingsystem, map[string]*bintree{}},
+ "MicrosoftOffice": &bintree{confGitignoreMicrosoftoffice, map[string]*bintree{}},
+ "ModelSim": &bintree{confGitignoreModelsim, map[string]*bintree{}},
+ "Momentics": &bintree{confGitignoreMomentics, map[string]*bintree{}},
+ "MonoDevelop": &bintree{confGitignoreMonodevelop, map[string]*bintree{}},
+ "Nanoc": &bintree{confGitignoreNanoc, map[string]*bintree{}},
+ "NetBeans": &bintree{confGitignoreNetbeans, map[string]*bintree{}},
+ "Nim": &bintree{confGitignoreNim, map[string]*bintree{}},
+ "Ninja": &bintree{confGitignoreNinja, map[string]*bintree{}},
+ "Node": &bintree{confGitignoreNode, map[string]*bintree{}},
+ "NotepadPP": &bintree{confGitignoreNotepadpp, map[string]*bintree{}},
+ "OCaml": &bintree{confGitignoreOcaml, map[string]*bintree{}},
+ "OSX": &bintree{confGitignoreOsx, map[string]*bintree{}},
+ "Objective-C": &bintree{confGitignoreObjectiveC, map[string]*bintree{}},
+ "Opa": &bintree{confGitignoreOpa, map[string]*bintree{}},
+ "OpenCart": &bintree{confGitignoreOpencart, map[string]*bintree{}},
+ "OracleForms": &bintree{confGitignoreOracleforms, map[string]*bintree{}},
+ "Packer": &bintree{confGitignorePacker, map[string]*bintree{}},
+ "Perl": &bintree{confGitignorePerl, map[string]*bintree{}},
+ "Phalcon": &bintree{confGitignorePhalcon, map[string]*bintree{}},
+ "PlayFramework": &bintree{confGitignorePlayframework, map[string]*bintree{}},
+ "Plone": &bintree{confGitignorePlone, map[string]*bintree{}},
+ "Prestashop": &bintree{confGitignorePrestashop, map[string]*bintree{}},
+ "Processing": &bintree{confGitignoreProcessing, map[string]*bintree{}},
+ "Python": &bintree{confGitignorePython, map[string]*bintree{}},
+ "Qooxdoo": &bintree{confGitignoreQooxdoo, map[string]*bintree{}},
+ "Qt": &bintree{confGitignoreQt, map[string]*bintree{}},
+ "R": &bintree{confGitignoreR, map[string]*bintree{}},
+ "ROS": &bintree{confGitignoreRos, map[string]*bintree{}},
+ "Rails": &bintree{confGitignoreRails, map[string]*bintree{}},
+ "Redcar": &bintree{confGitignoreRedcar, map[string]*bintree{}},
+ "Redis": &bintree{confGitignoreRedis, map[string]*bintree{}},
+ "RhodesRhomobile": &bintree{confGitignoreRhodesrhomobile, map[string]*bintree{}},
+ "Ruby": &bintree{confGitignoreRuby, map[string]*bintree{}},
+ "Rust": &bintree{confGitignoreRust, map[string]*bintree{}},
+ "SBT": &bintree{confGitignoreSbt, map[string]*bintree{}},
+ "SCons": &bintree{confGitignoreScons, map[string]*bintree{}},
+ "SVN": &bintree{confGitignoreSvn, map[string]*bintree{}},
+ "Sass": &bintree{confGitignoreSass, map[string]*bintree{}},
+ "Scala": &bintree{confGitignoreScala, map[string]*bintree{}},
+ "Scrivener": &bintree{confGitignoreScrivener, map[string]*bintree{}},
+ "Sdcc": &bintree{confGitignoreSdcc, map[string]*bintree{}},
+ "SeamGen": &bintree{confGitignoreSeamgen, map[string]*bintree{}},
+ "SketchUp": &bintree{confGitignoreSketchup, map[string]*bintree{}},
+ "SlickEdit": &bintree{confGitignoreSlickedit, map[string]*bintree{}},
+ "Stella": &bintree{confGitignoreStella, map[string]*bintree{}},
+ "SublimeText": &bintree{confGitignoreSublimetext, map[string]*bintree{}},
+ "SugarCRM": &bintree{confGitignoreSugarcrm, map[string]*bintree{}},
+ "Swift": &bintree{confGitignoreSwift, map[string]*bintree{}},
+ "Symfony": &bintree{confGitignoreSymfony, map[string]*bintree{}},
+ "SymphonyCMS": &bintree{confGitignoreSymphonycms, map[string]*bintree{}},
+ "SynopsysVCS": &bintree{confGitignoreSynopsysvcs, map[string]*bintree{}},
+ "Tags": &bintree{confGitignoreTags, map[string]*bintree{}},
+ "TeX": &bintree{confGitignoreTex, map[string]*bintree{}},
+ "TextMate": &bintree{confGitignoreTextmate, map[string]*bintree{}},
+ "Textpattern": &bintree{confGitignoreTextpattern, map[string]*bintree{}},
+ "TortoiseGit": &bintree{confGitignoreTortoisegit, map[string]*bintree{}},
+ "TurboGears2": &bintree{confGitignoreTurbogears2, map[string]*bintree{}},
+ "Typo3": &bintree{confGitignoreTypo3, map[string]*bintree{}},
+ "Umbraco": &bintree{confGitignoreUmbraco, map[string]*bintree{}},
+ "Unity": &bintree{confGitignoreUnity, map[string]*bintree{}},
+ "VVVV": &bintree{confGitignoreVvvv, map[string]*bintree{}},
+ "Vagrant": &bintree{confGitignoreVagrant, map[string]*bintree{}},
+ "Vim": &bintree{confGitignoreVim, map[string]*bintree{}},
+ "VirtualEnv": &bintree{confGitignoreVirtualenv, map[string]*bintree{}},
+ "VisualStudio": &bintree{confGitignoreVisualstudio, map[string]*bintree{}},
+ "VisualStudioCode": &bintree{confGitignoreVisualstudiocode, map[string]*bintree{}},
+ "Waf": &bintree{confGitignoreWaf, map[string]*bintree{}},
+ "WebMethods": &bintree{confGitignoreWebmethods, map[string]*bintree{}},
+ "Windows": &bintree{confGitignoreWindows, map[string]*bintree{}},
+ "WordPress": &bintree{confGitignoreWordpress, map[string]*bintree{}},
+ "Xcode": &bintree{confGitignoreXcode, map[string]*bintree{}},
+ "XilinxISE": &bintree{confGitignoreXilinxise, map[string]*bintree{}},
+ "Xojo": &bintree{confGitignoreXojo, map[string]*bintree{}},
+ "Yeoman": &bintree{confGitignoreYeoman, map[string]*bintree{}},
+ "Yii": &bintree{confGitignoreYii, map[string]*bintree{}},
+ "ZendFramework": &bintree{confGitignoreZendframework, map[string]*bintree{}},
+ "Zephir": &bintree{confGitignoreZephir, map[string]*bintree{}},
}},
"license": &bintree{nil, map[string]*bintree{
- "Abstyles License": &bintree{confLicenseAbstylesLicense, map[string]*bintree{
- }},
- "Academic Free License v1.1": &bintree{confLicenseAcademicFreeLicenseV11, map[string]*bintree{
- }},
- "Academic Free License v1.2": &bintree{confLicenseAcademicFreeLicenseV12, map[string]*bintree{
- }},
- "Academic Free License v2.0": &bintree{confLicenseAcademicFreeLicenseV20, map[string]*bintree{
- }},
- "Academic Free License v2.1": &bintree{confLicenseAcademicFreeLicenseV21, map[string]*bintree{
- }},
- "Academic Free License v3.0": &bintree{confLicenseAcademicFreeLicenseV30, map[string]*bintree{
- }},
- "Affero General Public License v1.0": &bintree{confLicenseAfferoGeneralPublicLicenseV10, map[string]*bintree{
- }},
- "Apache License 1.0": &bintree{confLicenseApacheLicense10, map[string]*bintree{
- }},
- "Apache License 1.1": &bintree{confLicenseApacheLicense11, map[string]*bintree{
- }},
- "Apache License 2.0": &bintree{confLicenseApacheLicense20, map[string]*bintree{
- }},
- "Artistic License 1.0": &bintree{confLicenseArtisticLicense10, map[string]*bintree{
- }},
- "Artistic License 2.0": &bintree{confLicenseArtisticLicense20, map[string]*bintree{
- }},
- "BSD 2-clause License": &bintree{confLicenseBsd2ClauseLicense, map[string]*bintree{
- }},
- "BSD 3-clause License": &bintree{confLicenseBsd3ClauseLicense, map[string]*bintree{
- }},
- "BSD 4-clause License": &bintree{confLicenseBsd4ClauseLicense, map[string]*bintree{
- }},
- "Creative Commons CC0 1.0 Universal": &bintree{confLicenseCreativeCommonsCc010Universal, map[string]*bintree{
- }},
- "Eclipse Public License 1.0": &bintree{confLicenseEclipsePublicLicense10, map[string]*bintree{
- }},
- "Educational Community License v1.0": &bintree{confLicenseEducationalCommunityLicenseV10, map[string]*bintree{
- }},
- "Educational Community License v2.0": &bintree{confLicenseEducationalCommunityLicenseV20, map[string]*bintree{
- }},
- "GNU Affero General Public License v3.0": &bintree{confLicenseGnuAfferoGeneralPublicLicenseV30, map[string]*bintree{
- }},
- "GNU Free Documentation License v1.1": &bintree{confLicenseGnuFreeDocumentationLicenseV11, map[string]*bintree{
- }},
- "GNU Free Documentation License v1.2": &bintree{confLicenseGnuFreeDocumentationLicenseV12, map[string]*bintree{
- }},
- "GNU Free Documentation License v1.3": &bintree{confLicenseGnuFreeDocumentationLicenseV13, map[string]*bintree{
- }},
- "GNU General Public License v1.0": &bintree{confLicenseGnuGeneralPublicLicenseV10, map[string]*bintree{
- }},
- "GNU General Public License v2.0": &bintree{confLicenseGnuGeneralPublicLicenseV20, map[string]*bintree{
- }},
- "GNU General Public License v3.0": &bintree{confLicenseGnuGeneralPublicLicenseV30, map[string]*bintree{
- }},
- "GNU Lesser General Public License v2.1": &bintree{confLicenseGnuLesserGeneralPublicLicenseV21, map[string]*bintree{
- }},
- "GNU Lesser General Public License v3.0": &bintree{confLicenseGnuLesserGeneralPublicLicenseV30, map[string]*bintree{
- }},
- "GNU Library General Public License v2.0": &bintree{confLicenseGnuLibraryGeneralPublicLicenseV20, map[string]*bintree{
- }},
- "ISC license": &bintree{confLicenseIscLicense, map[string]*bintree{
- }},
- "MIT License": &bintree{confLicenseMitLicense, map[string]*bintree{
- }},
- "Mozilla Public License 1.0": &bintree{confLicenseMozillaPublicLicense10, map[string]*bintree{
- }},
- "Mozilla Public License 1.1": &bintree{confLicenseMozillaPublicLicense11, map[string]*bintree{
- }},
- "Mozilla Public License 2.0": &bintree{confLicenseMozillaPublicLicense20, map[string]*bintree{
- }},
+ "Abstyles License": &bintree{confLicenseAbstylesLicense, map[string]*bintree{}},
+ "Academic Free License v1.1": &bintree{confLicenseAcademicFreeLicenseV11, map[string]*bintree{}},
+ "Academic Free License v1.2": &bintree{confLicenseAcademicFreeLicenseV12, map[string]*bintree{}},
+ "Academic Free License v2.0": &bintree{confLicenseAcademicFreeLicenseV20, map[string]*bintree{}},
+ "Academic Free License v2.1": &bintree{confLicenseAcademicFreeLicenseV21, map[string]*bintree{}},
+ "Academic Free License v3.0": &bintree{confLicenseAcademicFreeLicenseV30, map[string]*bintree{}},
+ "Affero General Public License v1.0": &bintree{confLicenseAfferoGeneralPublicLicenseV10, map[string]*bintree{}},
+ "Apache License 1.0": &bintree{confLicenseApacheLicense10, map[string]*bintree{}},
+ "Apache License 1.1": &bintree{confLicenseApacheLicense11, map[string]*bintree{}},
+ "Apache License 2.0": &bintree{confLicenseApacheLicense20, map[string]*bintree{}},
+ "Artistic License 1.0": &bintree{confLicenseArtisticLicense10, map[string]*bintree{}},
+ "Artistic License 2.0": &bintree{confLicenseArtisticLicense20, map[string]*bintree{}},
+ "BSD 2-clause License": &bintree{confLicenseBsd2ClauseLicense, map[string]*bintree{}},
+ "BSD 3-clause License": &bintree{confLicenseBsd3ClauseLicense, map[string]*bintree{}},
+ "BSD 4-clause License": &bintree{confLicenseBsd4ClauseLicense, map[string]*bintree{}},
+ "Creative Commons CC0 1.0 Universal": &bintree{confLicenseCreativeCommonsCc010Universal, map[string]*bintree{}},
+ "Eclipse Public License 1.0": &bintree{confLicenseEclipsePublicLicense10, map[string]*bintree{}},
+ "Educational Community License v1.0": &bintree{confLicenseEducationalCommunityLicenseV10, map[string]*bintree{}},
+ "Educational Community License v2.0": &bintree{confLicenseEducationalCommunityLicenseV20, map[string]*bintree{}},
+ "GNU Affero General Public License v3.0": &bintree{confLicenseGnuAfferoGeneralPublicLicenseV30, map[string]*bintree{}},
+ "GNU Free Documentation License v1.1": &bintree{confLicenseGnuFreeDocumentationLicenseV11, map[string]*bintree{}},
+ "GNU Free Documentation License v1.2": &bintree{confLicenseGnuFreeDocumentationLicenseV12, map[string]*bintree{}},
+ "GNU Free Documentation License v1.3": &bintree{confLicenseGnuFreeDocumentationLicenseV13, map[string]*bintree{}},
+ "GNU General Public License v1.0": &bintree{confLicenseGnuGeneralPublicLicenseV10, map[string]*bintree{}},
+ "GNU General Public License v2.0": &bintree{confLicenseGnuGeneralPublicLicenseV20, map[string]*bintree{}},
+ "GNU General Public License v3.0": &bintree{confLicenseGnuGeneralPublicLicenseV30, map[string]*bintree{}},
+ "GNU Lesser General Public License v2.1": &bintree{confLicenseGnuLesserGeneralPublicLicenseV21, map[string]*bintree{}},
+ "GNU Lesser General Public License v3.0": &bintree{confLicenseGnuLesserGeneralPublicLicenseV30, map[string]*bintree{}},
+ "GNU Library General Public License v2.0": &bintree{confLicenseGnuLibraryGeneralPublicLicenseV20, map[string]*bintree{}},
+ "ISC license": &bintree{confLicenseIscLicense, map[string]*bintree{}},
+ "MIT License": &bintree{confLicenseMitLicense, map[string]*bintree{}},
+ "Mozilla Public License 1.0": &bintree{confLicenseMozillaPublicLicense10, map[string]*bintree{}},
+ "Mozilla Public License 1.1": &bintree{confLicenseMozillaPublicLicense11, map[string]*bintree{}},
+ "Mozilla Public License 2.0": &bintree{confLicenseMozillaPublicLicense20, map[string]*bintree{}},
}},
"locale": &bintree{nil, map[string]*bintree{
- "locale_bg-BG.ini": &bintree{confLocaleLocale_bgBgIni, map[string]*bintree{
- }},
- "locale_cs-CZ.ini": &bintree{confLocaleLocale_csCzIni, map[string]*bintree{
- }},
- "locale_de-DE.ini": &bintree{confLocaleLocale_deDeIni, map[string]*bintree{
- }},
- "locale_en-US.ini": &bintree{confLocaleLocale_enUsIni, map[string]*bintree{
- }},
- "locale_es-ES.ini": &bintree{confLocaleLocale_esEsIni, map[string]*bintree{
- }},
- "locale_fi-FI.ini": &bintree{confLocaleLocale_fiFiIni, map[string]*bintree{
- }},
- "locale_fr-FR.ini": &bintree{confLocaleLocale_frFrIni, map[string]*bintree{
- }},
- "locale_it-IT.ini": &bintree{confLocaleLocale_itItIni, map[string]*bintree{
- }},
- "locale_ja-JP.ini": &bintree{confLocaleLocale_jaJpIni, map[string]*bintree{
- }},
- "locale_lv-LV.ini": &bintree{confLocaleLocale_lvLvIni, map[string]*bintree{
- }},
- "locale_nl-NL.ini": &bintree{confLocaleLocale_nlNlIni, map[string]*bintree{
- }},
- "locale_pl-PL.ini": &bintree{confLocaleLocale_plPlIni, map[string]*bintree{
- }},
- "locale_pt-BR.ini": &bintree{confLocaleLocale_ptBrIni, map[string]*bintree{
- }},
- "locale_ru-RU.ini": &bintree{confLocaleLocale_ruRuIni, map[string]*bintree{
- }},
- "locale_tr-TR.ini": &bintree{confLocaleLocale_trTrIni, map[string]*bintree{
- }},
- "locale_zh-CN.ini": &bintree{confLocaleLocale_zhCnIni, map[string]*bintree{
- }},
- "locale_zh-HK.ini": &bintree{confLocaleLocale_zhHkIni, map[string]*bintree{
- }},
- "locale_zh-TW.ini": &bintree{confLocaleLocale_zhTwIni, map[string]*bintree{
- }},
+ "locale_bg-BG.ini": &bintree{confLocaleLocale_bgBgIni, map[string]*bintree{}},
+ "locale_cs-CZ.ini": &bintree{confLocaleLocale_csCzIni, map[string]*bintree{}},
+ "locale_de-DE.ini": &bintree{confLocaleLocale_deDeIni, map[string]*bintree{}},
+ "locale_en-US.ini": &bintree{confLocaleLocale_enUsIni, map[string]*bintree{}},
+ "locale_es-ES.ini": &bintree{confLocaleLocale_esEsIni, map[string]*bintree{}},
+ "locale_fi-FI.ini": &bintree{confLocaleLocale_fiFiIni, map[string]*bintree{}},
+ "locale_fr-FR.ini": &bintree{confLocaleLocale_frFrIni, map[string]*bintree{}},
+ "locale_it-IT.ini": &bintree{confLocaleLocale_itItIni, map[string]*bintree{}},
+ "locale_ja-JP.ini": &bintree{confLocaleLocale_jaJpIni, map[string]*bintree{}},
+ "locale_lv-LV.ini": &bintree{confLocaleLocale_lvLvIni, map[string]*bintree{}},
+ "locale_nl-NL.ini": &bintree{confLocaleLocale_nlNlIni, map[string]*bintree{}},
+ "locale_pl-PL.ini": &bintree{confLocaleLocale_plPlIni, map[string]*bintree{}},
+ "locale_pt-BR.ini": &bintree{confLocaleLocale_ptBrIni, map[string]*bintree{}},
+ "locale_ru-RU.ini": &bintree{confLocaleLocale_ruRuIni, map[string]*bintree{}},
+ "locale_tr-TR.ini": &bintree{confLocaleLocale_trTrIni, map[string]*bintree{}},
+ "locale_zh-CN.ini": &bintree{confLocaleLocale_zhCnIni, map[string]*bintree{}},
+ "locale_zh-HK.ini": &bintree{confLocaleLocale_zhHkIni, map[string]*bintree{}},
+ "locale_zh-TW.ini": &bintree{confLocaleLocale_zhTwIni, map[string]*bintree{}},
}},
"readme": &bintree{nil, map[string]*bintree{
- "Default": &bintree{confReadmeDefault, map[string]*bintree{
- }},
+ "Default": &bintree{confReadmeDefault, 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
- }
- err = os.Chtimes(_filePath(dir, name), info.ModTime(), info.ModTime())
- if err != nil {
- return err
- }
- return nil
+ 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
+ }
+ err = os.Chtimes(_filePath(dir, name), info.ModTime(), info.ModTime())
+ if err != nil {
+ return err
+ }
+ return nil
}
// 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
+ 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 {
- cannonicalName := strings.Replace(name, "\\", "/", -1)
- return filepath.Join(append([]string{dir}, strings.Split(cannonicalName, "/")...)...)
+ cannonicalName := strings.Replace(name, "\\", "/", -1)
+ return filepath.Join(append([]string{dir}, strings.Split(cannonicalName, "/")...)...)
}
diff --git a/modules/setting/setting.go b/modules/setting/setting.go
index 5c396a7d6..5fbc522ef 100644
--- a/modules/setting/setting.go
+++ b/modules/setting/setting.go
@@ -110,6 +110,8 @@ var (
ForcePrivate bool
MaxCreationLimit int
PullRequestQueueLength int
+ LineWrapExtensions []string
+ PreviewTabApis []string
}
RepoRootPath string
ScriptType string
@@ -129,6 +131,7 @@ var (
Markdown struct {
EnableHardLineBreak bool
CustomURLSchemes []string `ini:"CUSTOM_URL_SCHEMES"`
+ MdFileExtensions []string
}
// Picture settings
@@ -148,6 +151,13 @@ var (
AttachmentMaxFiles int
AttachmentEnabled bool
+ // Repo Upload settings
+ UploadTempPath string
+ UploadAllowedTypes string
+ UploadMaxSize int64
+ UploadMaxFiles int
+ UploadEnabled bool
+
// Time settings
TimeFormat string
@@ -437,6 +447,16 @@ func NewContext() {
log.Fatal(4, "Fail to map Repository settings: %v", err)
}
+ sec = Cfg.Section("upload")
+ UploadTempPath = sec.Key("UPLOAD_TEMP_PATH").MustString(path.Join(AppDataPath, "tmp/uploads"))
+ if !filepath.IsAbs(UploadTempPath) {
+ UploadTempPath = path.Join(workDir, UploadTempPath)
+ }
+ UploadAllowedTypes = strings.Replace(sec.Key("UPLOAD_ALLOWED_TYPES").MustString(""), "|", ",", -1)
+ UploadMaxSize = sec.Key("UPLOAD_FILE_MAX_SIZE").MustInt64(32)
+ UploadMaxFiles = sec.Key("UPLOAD_MAX_FILES").MustInt(10)
+ UploadEnabled = sec.Key("ENABLE_UPLOADS").MustBool(true)
+
// UI settings.
sec = Cfg.Section("ui")
ExplorePagingNum = sec.Key("EXPLORE_PAGING_NUM").MustInt(20)
diff --git a/public/css/gogs.css b/public/css/gogs.css
index 93a17628d..0b59e4817 100644
--- a/public/css/gogs.css
+++ b/public/css/gogs.css
@@ -1265,55 +1265,55 @@ footer .ui.language .menu {
.repository.file.list #file-content .view-raw img {
padding: 5px 5px 0 5px;
}
-.repository.file.list #file-content .code-view * {
+#file-content .code-view * {
font-size: 12px;
font-family: Consolas, "Liberation Mono", Menlo, Courier, monospace;
line-height: 20px;
}
-.repository.file.list #file-content .code-view table {
+#file-content .code-view table {
width: 100%;
}
-.repository.file.list #file-content .code-view .lines-num {
+#file-content .code-view .lines-num {
vertical-align: top;
text-align: right;
color: #999;
background: #f5f5f5;
width: 1%;
}
-.repository.file.list #file-content .code-view .lines-num span {
+#file-content .code-view .lines-num span {
line-height: 20px;
padding: 0 10px;
cursor: pointer;
display: block;
}
-.repository.file.list #file-content .code-view .lines-num,
-.repository.file.list #file-content .code-view .lines-code {
+#file-content .code-view .lines-num,
+#file-content .code-view .lines-code {
padding: 0;
}
-.repository.file.list #file-content .code-view .lines-num pre,
-.repository.file.list #file-content .code-view .lines-code pre,
-.repository.file.list #file-content .code-view .lines-num ol,
-.repository.file.list #file-content .code-view .lines-code ol,
-.repository.file.list #file-content .code-view .lines-num .hljs,
-.repository.file.list #file-content .code-view .lines-code .hljs {
+#file-content .code-view .lines-num pre,
+#file-content .code-view .lines-code pre,
+#file-content .code-view .lines-num ol,
+#file-content .code-view .lines-code ol,
+#file-content .code-view .lines-num .hljs,
+#file-content .code-view .lines-code .hljs {
background-color: white;
margin: 0;
padding: 0 !important;
}
-.repository.file.list #file-content .code-view .lines-num pre li,
-.repository.file.list #file-content .code-view .lines-code pre li,
-.repository.file.list #file-content .code-view .lines-num ol li,
-.repository.file.list #file-content .code-view .lines-code ol li,
-.repository.file.list #file-content .code-view .lines-num .hljs li,
-.repository.file.list #file-content .code-view .lines-code .hljs li {
+#file-content .code-view .lines-num pre li,
+#file-content .code-view .lines-code pre li,
+#file-content .code-view .lines-num ol li,
+#file-content .code-view .lines-code ol li,
+#file-content .code-view .lines-num .hljs li,
+#file-content .code-view .lines-code .hljs li {
padding-left: 5px;
}
-.repository.file.list #file-content .code-view .lines-num pre li.active,
-.repository.file.list #file-content .code-view .lines-code pre li.active,
-.repository.file.list #file-content .code-view .lines-num ol li.active,
-.repository.file.list #file-content .code-view .lines-code ol li.active,
-.repository.file.list #file-content .code-view .lines-num .hljs li.active,
-.repository.file.list #file-content .code-view .lines-code .hljs li.active {
+#file-content .code-view .lines-num pre li.active,
+#file-content .code-view .lines-code pre li.active,
+#file-content .code-view .lines-num ol li.active,
+#file-content .code-view .lines-code ol li.active,
+#file-content .code-view .lines-num .hljs li.active,
+#file-content .code-view .lines-code .hljs li.active {
background: #ffffdd;
}
.repository.file.list .sidebar {
@@ -1878,7 +1878,7 @@ footer .ui.language .menu {
max-width: 100%;
padding: 5px 5px 0 5px;
}
-.repository .code-view {
+#file-content .code-view {
overflow: auto;
overflow-x: auto;
overflow-y: hidden;
@@ -2129,13 +2129,13 @@ footer .ui.language .menu {
.page.buttons {
padding-top: 15px;
}
-.ui.comments .dropzone {
+.ui.comments .dropzone, .ui.upload .dropzone {
width: 100%;
margin-bottom: 10px;
border: 2px dashed #0087F7;
box-shadow: none!important;
}
-.ui.comments .dropzone .dz-error-message {
+.ui.comments .dropzone .dz-error-message, .ui.upload .dropzone .dz-error-message {
top: 140px;
}
.settings .content {
@@ -2704,3 +2704,159 @@ footer .ui.language .menu {
.ui.user.list .item .description a:hover {
text-decoration: underline;
}
+.btn-octicon {
+ display: inline-block;
+ padding: 5px;
+ margin-left: 5px;
+ line-height: 1;
+ color: #767676;
+ vertical-align: middle;
+ background: transparent;
+ border: 0;
+ outline: none;
+}
+.btn-octicon:hover {
+ color: #4078c0;
+}
+.btn-octicon-danger:hover {
+ color: #bd2c00;
+}
+.inline-form {
+ display: inline-block;
+}
+.ui.form .breadcrumb input {
+ min-height: 34px;
+ padding: 7px 8px;
+ color: #333;
+ vertical-align: middle;
+ background-color: #fff;
+ background-repeat: no-repeat;
+ background-position: right 8px center;
+ border: 1px solid #ddd;
+ border-radius: 3px;
+ outline: none;
+ box-shadow: inset 0 1px 2px rgba(0,0,0,0.075);
+ width: inherit;
+}
+#file-actions {
+ padding-left: 20px;
+}
+.CodeMirror.cm-s-default {
+ margin-top: 20px;
+ margin-bottom: 15px;
+ border: 1px solid #ddd;
+ border-radius: 3px;
+ height: 600px;
+ padding: 0 !important;
+}
+.commit-form-wrapper {
+ padding-left: 64px;
+}
+.commit-form {
+ position: relative;
+ padding: 15px;
+ margin-bottom: 10px;
+ border: 1px solid #ddd;
+ border-radius: 3px;
+}
+.commit-form-wrapper .commit-form-avatar {
+ float: left;
+ margin-left: -64px;
+ border-radius: 4px;
+}
+.commit-form::before {
+ border-width: 8px;
+ border-color: transparent;
+ border-right-color: #ddd;
+ position: absolute;
+ top: 11px;
+ right: 100%;
+ left: -16px;
+ display: block;
+ width: 0;
+ height: 0;
+ pointer-events: none;
+ content: " ";
+ border-style: solid solid outset;
+}
+.form-checkbox input[type=checkbox], .form-checkbox input[type=radio] {
+ float: left;
+ margin: 2px 0 0 -20px;
+ vertical-align: middle;
+ box-sizing: border-box;
+ padding: 0;
+}
+.branch-name {
+ display: inline-block;
+ padding: 2px 6px;
+ font: 12px Consolas, "Liberation Mono", Menlo, Courier, monospace;
+ color: rgba(0,0,0,0.5);
+ background-color: rgba(209,227,237,0.5);
+ border-radius: 3px;
+}
+.form-control, .form-select {
+ min-height: 34px;
+ padding: 7px 8px;
+ font-size: 13px;
+ color: #333;
+ vertical-align: middle;
+ background-color: #fff;
+ background-repeat: no-repeat;
+ background-position: right 8px center;
+ border: 1px solid #ddd;
+ border-radius: 3px;
+ outline: none;
+ box-shadow: inset 0 1px 2px rgba(0,0,0,0.075);
+}
+.form-control.input-contrast {
+ background-color: #fafafa;
+}
+.form-control.mr-2 {
+ margin-right: 6px !important;
+}
+.quick-pull-choice .new-branch-name-input input {
+ width: 240px !important;
+ padding-left: 26px !important;
+ font-family: Consolas, "Liberation Mono", Menlo, Courier, monospace;
+}
+.quick-pull-choice .new-branch-name-input .quick-pull-new-branch-icon {
+ position: absolute;
+ top: 9px;
+ left: 10px;
+ color: #b0c4ce;
+}
+.text-muted, .text-gray {
+ color: #767676 !important;
+}
+.quick-pull-choice .new-branch-name-input {
+ position: relative;
+ margin-top: 5px;
+}
+.quick-pull-choice .quick-pull-branch-name {
+ display: none;
+ padding-left: 48px;
+ margin-top: 5px;
+}
+.quick-pull-choice.will-create-branch .quick-pull-branch-name {
+ display: inline-block;
+}
+.nowrap {
+ white-space: nowrap;
+}
+#file-buttons {
+ padding-right: 15px;
+}
+.repository .ui.container .ui.breadcrumb {
+ font-size: 1.5em;
+ color: #767676;
+ max-width: 600px;
+}
+.repository .ui.container .item:first-child .ui.breadcrumb {
+ max-width: none;
+}
+.repository .ui.container .ui.breadcrumb.field {
+ margin-bottom: 10px !important;
+}
+.repo-edit-file-cancel {
+ padding-left: 10px;
+}
diff --git a/public/js/gogs.js b/public/js/gogs.js
index 71e2205f2..3c3e5d517 100644
--- a/public/js/gogs.js
+++ b/public/js/gogs.js
@@ -28,6 +28,61 @@ function initCommentPreviewTab($form) {
buttonsClickOnEnter();
}
+var previewTab;
+var previewTabApis;
+
+function initEditPreviewTab($form) {
+ var $tab_menu = $form.find('.tabular.menu');
+ $tab_menu.find('.item').tab();
+ previewTab = $tab_menu.find('.item[data-tab="' + $tab_menu.data('preview') + '"]');
+
+ if(previewTab.length) {
+ previewTabApis = previewTab.data('preview-apis').split(',');
+ previewTab.click(function () {
+ var $this = $(this);
+ $.post($this.data('url'), {
+ "_csrf": csrf,
+ "mode": "gfm",
+ "context": $this.data('context'),
+ "text": $form.find('.tab.segment[data-tab="' + $tab_menu.data('write') + '"] textarea').val()
+ },
+ function (data) {
+ var $preview_tab = $form.find('.tab.segment[data-tab="' + $tab_menu.data('preview') + '"]');
+ $preview_tab.html(data);
+ emojify.run($preview_tab[0]);
+ $('pre code', $preview_tab[0]).each(function (i, block) {
+ hljs.highlightBlock(block);
+ });
+ }
+ );
+ });
+ }
+
+ buttonsClickOnEnter();
+}
+
+function initEditDiffTab($form) {
+ var $tab_menu = $form.find('.tabular.menu');
+ $tab_menu.find('.item').tab();
+ $tab_menu.find('.item[data-tab="' + $tab_menu.data('diff') + '"]').click(function () {
+ var $this = $(this);
+ $.post($this.data('url'), {
+ "_csrf": csrf,
+ "context": $this.data('context'),
+ "content": $form.find('.tab.segment[data-tab="' + $tab_menu.data('write') + '"] textarea').val()
+ },
+ function (data) {
+ var $diff_tab = $form.find('.tab.segment[data-tab="' + $tab_menu.data('diff') + '"]');
+ $diff_tab.html(data);
+ emojify.run($diff_tab[0]);
+ initCodeView()
+ }
+ );
+ });
+
+ buttonsClickOnEnter();
+}
+
function initCommentForm() {
if ($('.comment.form').length == 0) {
return
@@ -145,6 +200,11 @@ function initCommentForm() {
selectItem('.select-assignee', '#assignee_id');
}
+function initEditForm(){
+ initEditPreviewTab($('.edit.form'));
+ initEditDiffTab($('.edit.form'));
+}
+
function initInstall() {
if ($('.install').length == 0) {
return;
@@ -406,7 +466,7 @@ function initRepository() {
// Change status
var $status_btn = $('#status-button');
- $('#content').keyup(function () {
+ $('#edit_area').keyup(function () {
if ($(this).val().length == 0) {
$status_btn.text($status_btn.data('status'))
} else {
@@ -472,15 +532,10 @@ function initRepositoryCollaboration(){
});
}
-function initWiki() {
- if ($('.repository.wiki').length == 0) {
- return;
- }
-
-
- if ($('.repository.wiki.new').length > 0) {
- var $edit_area = $('#edit-area');
- var simplemde = new SimpleMDE({
+function initWikiForm() {
+ var $edit_area = $('.repository.wiki textarea#edit_area');
+ if ($edit_area.length > 0) {
+ new SimpleMDE({
autoDownloadFontAwesome: false,
element: $edit_area[0],
forceSync: true,
@@ -508,15 +563,279 @@ function initWiki() {
spellChecker: false,
tabSize: 4,
toolbar: ["bold", "italic", "strikethrough", "|",
- "heading", "heading-1", "heading-2", "heading-3", "|",
+ "heading-1", "heading-2", "heading-3", "heading-bigger", "heading-smaller", "|",
"code", "quote", "|",
"unordered-list", "ordered-list", "|",
- "link", "image", "horizontal-rule", "|",
- "preview", "fullscreen"]
+ "link", "image", "table", "horizontal-rule", "|",
+ "clean-block", "preview", "fullscreen", "side-by-side"]
})
}
}
+function initIssueForm() {
+ var $edit_area = $('.repository.issue textarea.edit_area');
+ console.log($edit_area);
+ console.log($edit_area.length);
+ if ($edit_area.length > 0) {
+ $edit_area.each(function(i, edit_area) {
+ new SimpleMDE({
+ autoDownloadFontAwesome: false,
+ element: edit_area[0],
+ forceSync: true,
+ previewRender: function (plainText, preview) { // Async method
+ setTimeout(function () {
+ // FIXME: still send render request when return back to edit mode
+ $.post($edit_area.data('url'), {
+ "_csrf": csrf,
+ "mode": "gfm",
+ "context": $edit_area.data('context'),
+ "text": plainText
+ },
+ function (data) {
+ preview.innerHTML = '
' + data + '
';
+ emojify.run($('.editor-preview')[0]);
+ }
+ );
+ }, 0);
+
+ return "Loading...";
+ },
+ renderingConfig: {
+ singleLineBreaks: false
+ },
+ spellChecker: false,
+ tabSize: 4,
+ toolbar: ["bold", "italic", "strikethrough", "|",
+ "code", "quote", "|",
+ "unordered-list", "ordered-list", "|",
+ "link", "image", "table"]
+ })
+ });
+ }
+}
+
+var editArea;
+var editFilename;
+var smdEditor;
+var cmEditor;
+var mdFileExtensions;
+var lineWrapExtensions;
+
+// For IE
+String.prototype.endsWith = function(pattern) {
+ var d = this.length - pattern.length;
+ return d >= 0 && this.lastIndexOf(pattern) === d;
+};
+
+function initEditor() {
+ editFilename = $("#file-name");
+ editArea = $('.repository.edit textarea#edit_area');
+
+ if (!editArea.length)
+ return;
+
+ (function ($, undefined) {
+ $.fn.getCursorPosition = function () {
+ var el = $(this).get(0);
+ var pos = 0;
+ if ('selectionStart' in el) {
+ pos = el.selectionStart;
+ } else if ('selection' in document) {
+ el.focus();
+ var Sel = document.selection.createRange();
+ var SelLength = document.selection.createRange().text.length;
+ Sel.moveStart('character', -el.value.length);
+ pos = Sel.text.length - SelLength;
+ }
+ return pos;
+ }
+ })(jQuery);
+
+ CodeMirror.modeURL = editArea.data("mode-url");
+ mdFileExtensions = editArea.data("md-file-extensions").split(",");
+ lineWrapExtensions = editArea.data("line-wrap-extensions").split(",");
+
+ editFilename.on("keyup", function (e) {
+ var val = editFilename.val(), m, mode, spec, extension, extWithDot, previewLink, dataUrl, apiCall;
+ extension = extWithDot = "";
+ if(m = /.+\.([^.]+)$/.exec(val)) {
+ extension = m[1];
+ extWithDot = "."+extension;
+ }
+
+ var info = CodeMirror.findModeByExtension(extension);
+ previewLink = $('a[data-tab=preview]');
+ if (info) {
+ mode = info.mode;
+ spec = info.mime;
+ apiCall = mode;
+ }
+ else {
+ apiCall = extension
+ }
+
+ if(previewLink.length && apiCall && previewTabApis && previewTabApis.length && previewTabApis.indexOf(apiCall) >= 0) {
+ dataUrl = previewLink.attr('data-url');
+ previewLink.attr('data-url', dataUrl.replace(/(.*)\/.*/i, '$1/' + mode));
+ previewLink.show();
+ }
+ else {
+ previewLink.hide();
+ }
+
+ // If this file is a Markdown extensions, we will load that editor and return
+ if (mdFileExtensions.indexOf(extWithDot) >= 0) {
+ if (setSimpleMDE()) {
+ return;
+ }
+ }
+
+ // Else we are going to use CodeMirror
+ if(! cmEditor){
+ if( ! setCodeMirror())
+ return;
+ }
+
+ if (mode) {
+ cmEditor.setOption("mode", spec);
+ CodeMirror.autoLoadMode(cmEditor, mode);
+ }
+
+ if (lineWrapExtensions.indexOf(extWithDot) >= 0) {
+ cmEditor.setOption("lineWrapping", true);
+ }
+ else {
+ cmEditor.setOption("lineWrapping", false);
+ }
+ })
+ .keyup(function (e) {
+ var sections = $('.breadcrumb span.section');
+ var dividers = $('.breadcrumb div.divider');
+ if (e.keyCode == 8) {
+ if ($(this).getCursorPosition() == 0) {
+ if (sections.length > 0) {
+ var value = sections.last().find('a').text();
+ $(this).val(value + $(this).val());
+ $(this)[0].setSelectionRange(value.length, value.length);
+ sections.last().remove();
+ dividers.last().remove();
+ }
+ }
+ }
+ if (e.keyCode == 191) {
+ var parts = $(this).val().split('/');
+ for (var i = 0; i < parts.length; ++i) {
+ var value = parts[i];
+ if (i < parts.length - 1) {
+ if (value.length) {
+ $('' + value + '').insertBefore($(this));
+ $(' /
').insertBefore($(this));
+ }
+ }
+ else {
+ $(this).val(value);
+ }
+ $(this)[0].setSelectionRange(0, 0);
+ }
+ }
+ var parts = [];
+ $('.breadcrumb span.section').each(function (i, element) {
+ element = $(element);
+ if (element.find('a').length) {
+ parts.push(element.find('a').text());
+ } else {
+ parts.push(element.text());
+ }
+ });
+ if ($(this).val())
+ parts.push($(this).val());
+ $('#tree-name').val(parts.join('/'));
+ }).trigger('keyup');
+}
+
+function setSimpleMDE() {
+ if(cmEditor) {
+ cmEditor.toTextArea();
+ cmEditor = null;
+ }
+
+ if(smdEditor) {
+ return true;
+ }
+
+ smdEditor = new SimpleMDE({
+ autoDownloadFontAwesome: false,
+ element: editArea[0],
+ forceSync: true,
+ renderingConfig: {
+ singleLineBreaks: false
+ },
+ tabSize: 4,
+ spellChecker: false,
+ previewRender: function (plainText, preview) { // Async method
+ setTimeout(function () {
+ // FIXME: still send render request when return back to edit mode
+ $.post(editArea.data('url'), {
+ "_csrf": csrf,
+ "mode": "gfm",
+ "context": editArea.data('context'),
+ "text": plainText
+ },
+ function (data) {
+ preview.innerHTML = '' + data + '
';
+ emojify.run($('.editor-preview')[0]);
+ }
+ );
+ }, 0);
+
+ return "Loading...";
+ },
+ toolbar: ["bold", "italic", "strikethrough", "|",
+ "heading-1", "heading-2", "heading-3", "heading-bigger", "heading-smaller", "|",
+ "code", "quote", "|",
+ "unordered-list", "ordered-list", "|",
+ "link", "image", "table", "horizontal-rule", "|",
+ "clean-block", "preview", "fullscreen", "side-by-side"]
+ });
+
+ return true;
+}
+
+function setCodeMirror() {
+ if(smdEditor) {
+ smdEditor.toTextArea();
+ smdEditor = null;
+ }
+
+ if(cmEditor){
+ return true;
+ }
+
+ cmEditor = CodeMirror.fromTextArea(editArea[0], {
+ lineNumbers: true
+ });
+ cmEditor.on("change", function (cm, change) {
+ editArea.val(cm.getValue());
+ });
+
+ return true;
+}
+
+function initQuickPull(){
+ $('.js-quick-pull-choice-option').change(function() {
+ quickPullChoiceChange();
+ });
+ quickPullChoiceChange();
+}
+
+function quickPullChoiceChange(){
+ var radio = $('.js-quick-pull-choice-option:checked');
+ if (radio.val() == 'commit-to-new-branch')
+ $('.quick-pull-branch-name').show();
+ else
+ $('.quick-pull-branch-name').hide();
+}
+
function initOrganization() {
if ($('.organization').length == 0) {
return;
@@ -823,6 +1142,53 @@ function searchRepositories() {
hideWhenLostFocus('#search-repo-box .results', '#search-repo-box');
}
+function initCodeView() {
+ if ($('.code-view .linenums').length > 0) {
+ var $block = $('.code-view .linenums');
+ var lines = $block.html().split("\n");
+ $block.html('');
+
+ var $num_list = $('.code-view .lines-num');
+
+ // Building blocks.
+ var $toappendblock = [];
+ var $toappendnum_list = [];
+ for (var i = 0; i < lines.length; i++) {
+ $toappendblock.push('' + lines[i] + '');
+ $toappendnum_list.push('' + (i + 1) + '');
+ }
+ $block.append($toappendblock.join(''));
+ $num_list.append($toappendnum_list.join(''));
+
+ $(document).on('click', '.lines-num span', function (e) {
+ var $select = $(this);
+ var $list = $select.parent().siblings('.lines-code').find('ol.linenums > li');
+ selectRange($list, $list.filter('[rel=' + $select.attr('id') + ']'), (e.shiftKey ? $list.filter('.active').eq(0) : null));
+ deSelect();
+ });
+
+ $(window).on('hashchange', function (e) {
+ var m = window.location.hash.match(/^#(L\d+)\-(L\d+)$/);
+ var $list = $('.code-view ol.linenums > li');
+ var $first;
+ if (m) {
+ $first = $list.filter('.' + m[1]);
+ selectRange($list, $first, $list.filter('.' + m[2]));
+ $("html, body").scrollTop($first.offset().top - 200);
+ return;
+ }
+ m = window.location.hash.match(/^#(L\d+)$/);
+ if (m) {
+ $first = $list.filter('.' + m[1]);
+ selectRange($list, $first);
+ $("html, body").scrollTop($first.offset().top - 200);
+ }
+ }).trigger('hashchange');
+ }
+}
+
+var $dropz;
+
$(document).ready(function () {
csrf = $('meta[name=_csrf]').attr("content");
suburl = $('meta[name=_suburl]').attr("content");
@@ -872,12 +1238,12 @@ $(document).ready(function () {
}
// Dropzone
- if ($('#dropzone').length > 0) {
+ var $dropz = $('#dropzone');
+ if ($dropz.length > 0) {
// Disable auto discover for all elements:
Dropzone.autoDiscover = false;
var filenameDict = {};
- var $dropz = $('#dropzone');
$dropz.dropzone({
url: $dropz.data('upload-url'),
headers: {"X-Csrf-Token": csrf},
@@ -892,12 +1258,16 @@ $(document).ready(function () {
init: function () {
this.on("success", function (file, data) {
filenameDict[file.name] = data.uuid;
- $('.attachments').append('');
+ var input = $('').val(data.uuid);
+ $('.files').append(input);
});
this.on("removedfile", function (file) {
if (file.name in filenameDict) {
$('#' + filenameDict[file.name]).remove();
}
+ if($dropz.data('remove-url') && $dropz.data('csrf')) {
+ $.post($dropz.data('remove-url'), {file: filenameDict[file.name], _csrf: $dropz.data('csrf')});
+ }
})
}
});
@@ -931,6 +1301,15 @@ $(document).ready(function () {
e.trigger.setAttribute('data-content', e.trigger.getAttribute('data-original'))
});
+ // Clipboard for copying filename on edit page
+ if($('.clipboard-tree-name').length) {
+ new Clipboard(document.querySelector('.clipboard-tree-name'), {
+ text: function () {
+ return $('#tree-name').val();
+ }
+ });
+ }
+
// Helpers.
$('.delete-button').click(function () {
var $this = $(this);
@@ -994,10 +1373,14 @@ $(document).ready(function () {
initCommentForm();
initInstall();
initRepository();
- initWiki();
+ initWikiForm();
+ initIssueForm();
+ initEditForm();
+ initEditor();
initOrganization();
initWebhook();
initAdmin();
+ initQuickPull();
var routes = {
'div.user.settings': initUserSettings,
@@ -1013,92 +1396,51 @@ $(document).ready(function () {
}
});
+function changeHash(hash) {
+ if (history.pushState) {
+ history.pushState(null, null, hash);
+ }
+ else {
+ location.hash = hash;
+ }
+}
+
+function deSelect() {
+ if (window.getSelection) {
+ window.getSelection().removeAllRanges();
+ } else {
+ document.selection.empty();
+ }
+}
+
+function selectRange($list, $select, $from) {
+ $list.removeClass('active');
+ if ($from) {
+ var a = parseInt($select.attr('rel').substr(1));
+ var b = parseInt($from.attr('rel').substr(1));
+ var c;
+ if (a != b) {
+ if (a > b) {
+ c = a;
+ a = b;
+ b = c;
+ }
+ var classes = [];
+ for (i = a; i <= b; i++) {
+ classes.push('.L' + i);
+ }
+ $list.filter(classes.join(',')).addClass('active');
+ changeHash('#L' + a + '-' + 'L' + b);
+ return
+ }
+ }
+ $select.addClass('active');
+ changeHash('#' + $select.attr('rel'));
+}
+
$(window).load(function () {
- function changeHash(hash) {
- if (history.pushState) {
- history.pushState(null, null, hash);
- }
- else {
- location.hash = hash;
- }
- }
-
- function deSelect() {
- if (window.getSelection) {
- window.getSelection().removeAllRanges();
- } else {
- document.selection.empty();
- }
- }
-
- function selectRange($list, $select, $from) {
- $list.removeClass('active');
- if ($from) {
- var a = parseInt($select.attr('rel').substr(1));
- var b = parseInt($from.attr('rel').substr(1));
- var c;
- if (a != b) {
- if (a > b) {
- c = a;
- a = b;
- b = c;
- }
- var classes = [];
- for (i = a; i <= b; i++) {
- classes.push('.L' + i);
- }
- $list.filter(classes.join(',')).addClass('active');
- changeHash('#L' + a + '-' + 'L' + b);
- return
- }
- }
- $select.addClass('active');
- changeHash('#' + $select.attr('rel'));
- }
-
// Code view.
- if ($('.code-view .linenums').length > 0) {
- var $block = $('.code-view .linenums');
- var lines = $block.html().split("\n");
- $block.html('');
-
- var $num_list = $('.code-view .lines-num');
-
- // Building blocks.
- var $toappendblock = [];
- var $toappendnum_list = [];
- for (var i = 0; i < lines.length; i++) {
- $toappendblock.push('' + lines[i] + '');
- $toappendnum_list.push('' + (i + 1) + '');
- }
- $block.append($toappendblock.join(''));
- $num_list.append($toappendnum_list.join(''));
-
- $(document).on('click', '.lines-num span', function (e) {
- var $select = $(this);
- var $list = $select.parent().siblings('.lines-code').find('ol.linenums > li');
- selectRange($list, $list.filter('[rel=' + $select.attr('id') + ']'), (e.shiftKey ? $list.filter('.active').eq(0) : null));
- deSelect();
- });
-
- $(window).on('hashchange', function (e) {
- var m = window.location.hash.match(/^#(L\d+)\-(L\d+)$/);
- var $list = $('.code-view ol.linenums > li');
- var $first;
- if (m) {
- $first = $list.filter('.' + m[1]);
- selectRange($list, $first, $list.filter('.' + m[2]));
- $("html, body").scrollTop($first.offset().top - 200);
- return;
- }
- m = window.location.hash.match(/^#(L\d+)$/);
- if (m) {
- $first = $list.filter('.' + m[1]);
- selectRange($list, $first);
- $("html, body").scrollTop($first.offset().top - 200);
- }
- }).trigger('hashchange');
- }
+ initCodeView();
// Repo clone url.
if ($('#repo-clone-url').length > 0) {
@@ -1117,5 +1459,5 @@ $(window).load(function () {
});
$(function() {
- $('form').areYouSure();
+ $('form').areYouSure();
});
diff --git a/routers/repo/delete.go b/routers/repo/delete.go
new file mode 100644
index 000000000..f804099ad
--- /dev/null
+++ b/routers/repo/delete.go
@@ -0,0 +1,54 @@
+// Copyright 2016 The Gogs Authors. All rights reserved.
+// Use of this source code is governed by a MIT-style
+// license that can be found in the LICENSE file.
+
+package repo
+
+import (
+ "github.com/gogits/gogs/modules/context"
+ "github.com/gogits/gogs/modules/auth"
+ "github.com/gogits/gogs/modules/log"
+ "github.com/gogits/gogs/models"
+)
+
+func DeleteFilePost(ctx *context.Context, form auth.DeleteRepoFileForm) {
+ branchName := ctx.Repo.BranchName
+ treeName := ctx.Repo.TreeName
+
+ if ctx.HasError() {
+ ctx.Redirect(ctx.Repo.RepoLink + "/src/" + branchName + "/" + treeName)
+ return
+ }
+
+ if err := ctx.Repo.Repository.DeleteRepoFile(ctx.User, branchName, treeName, form.CommitSummary); err != nil {
+ ctx.Handle(500, "DeleteRepoFile", err)
+ return
+ }
+
+ // Was successful, so now need to call models.CommitRepoAction() with the new commitID for webhooks and watchers
+ if branch, err := ctx.Repo.Repository.GetBranch(branchName); err != nil {
+ log.Error(4, "repo.Repository.GetBranch(%s): %v", branchName, err)
+ } else if commit, err := branch.GetCommit(); err != nil {
+ log.Error(4, "branch.GetCommit(): %v", err)
+ } else {
+ pc := &models.PushCommits{
+ Len: 1,
+ Commits: []*models.PushCommit{&models.PushCommit{
+ commit.ID.String(),
+ commit.Message(),
+ commit.Author.Email,
+ commit.Author.Name,
+ }},
+ }
+ oldCommitID := ctx.Repo.CommitID
+ newCommitID := commit.ID.String()
+ if err := models.CommitRepoAction(ctx.User.Id, ctx.Repo.Owner.Id, ctx.User.LowerName, ctx.Repo.Owner.Email,
+ ctx.Repo.Repository.ID, ctx.Repo.Owner.LowerName, ctx.Repo.Repository.Name, "refs/heads/"+branchName, pc,
+ oldCommitID, newCommitID); err != nil {
+ log.Error(4, "models.CommitRepoAction(branch = %s): %v", branchName, err)
+ }
+ models.HookQueue.Add(ctx.Repo.Repository.ID)
+ }
+
+ ctx.Redirect(ctx.Repo.RepoLink+"/src/"+branchName)
+}
diff --git a/routers/repo/edit.go b/routers/repo/edit.go
new file mode 100644
index 000000000..455f3afcc
--- /dev/null
+++ b/routers/repo/edit.go
@@ -0,0 +1,359 @@
+// Copyright 2016 The Gogs Authors. All rights reserved.
+// Use of this source code is governed by a MIT-style
+// license that can be found in the LICENSE file.
+
+package repo
+
+import (
+ "io/ioutil"
+ "strings"
+ "path"
+
+ "github.com/gogits/git-module"
+ "github.com/gogits/gogs/modules/base"
+ "github.com/gogits/gogs/modules/context"
+ "github.com/gogits/gogs/modules/log"
+ "github.com/gogits/gogs/modules/template"
+ "github.com/gogits/gogs/modules/auth"
+ "github.com/gogits/gogs/models"
+ "github.com/gogits/gogs/modules/setting"
+)
+
+const (
+ EDIT base.TplName = "repo/edit"
+ DIFF_PREVIEW base.TplName = "repo/diff_preview"
+ DIFF_PREVIEW_NEW base.TplName = "repo/diff_preview_new"
+)
+
+func EditFile(ctx *context.Context) {
+ editFile(ctx, false)
+}
+
+func EditNewFile(ctx *context.Context) {
+ editFile(ctx, true)
+}
+
+func editFile(ctx *context.Context, isNewFile bool) {
+ ctx.Data["PageIsEdit"] = true
+ ctx.Data["IsNewFile"] = isNewFile
+ ctx.Data["RequireHighlightJS"] = true
+
+ userName := ctx.Repo.Owner.Name
+ repoName := ctx.Repo.Repository.Name
+ branchName := ctx.Repo.BranchName
+ branchLink := ctx.Repo.RepoLink + "/src/" + branchName
+ treeName := ctx.Repo.TreeName
+
+ var treeNames []string
+ if len(treeName) > 0 {
+ treeNames = strings.Split(treeName, "/")
+ }
+
+ if ! isNewFile {
+ entry, err := ctx.Repo.Commit.GetTreeEntryByPath(treeName)
+
+ if err != nil && git.IsErrNotExist(err) {
+ ctx.Handle(404, "GetTreeEntryByPath", err)
+ return
+ }
+
+ if (ctx.Repo.IsViewCommit) || entry == nil || entry.IsDir() {
+ ctx.Handle(404, "repo.Home", nil)
+ return
+ }
+
+ blob := entry.Blob()
+
+ dataRc, err := blob.Data()
+ if err != nil {
+ ctx.Handle(404, "blob.Data", err)
+ return
+ }
+
+ ctx.Data["FileSize"] = blob.Size()
+ ctx.Data["FileName"] = blob.Name()
+
+ buf := make([]byte, 1024)
+ n, _ := dataRc.Read(buf)
+ if n > 0 {
+ buf = buf[:n]
+ }
+
+ _, isTextFile := base.IsTextFile(buf)
+
+ if ! isTextFile {
+ ctx.Handle(404, "repo.Home", nil)
+ return
+ }
+
+ d, _ := ioutil.ReadAll(dataRc)
+ buf = append(buf, d...)
+
+ if err, content := template.ToUtf8WithErr(buf); err != nil {
+ if err != nil {
+ log.Error(4, "Convert content encoding: %s", err)
+ }
+ ctx.Data["FileContent"] = string(buf)
+ } else {
+ ctx.Data["FileContent"] = content
+ }
+ } else {
+ treeNames = append(treeNames, "")
+ }
+
+ ctx.Data["RequireSimpleMDE"] = true
+
+ ctx.Data["UserName"] = userName
+ ctx.Data["RepoName"] = repoName
+ ctx.Data["BranchName"] = branchName
+ ctx.Data["TreeName"] = treeName
+ ctx.Data["TreeNames"] = treeNames
+ ctx.Data["BranchLink"] = branchLink
+ ctx.Data["CommitSummary"] = ""
+ ctx.Data["CommitMessage"] = ""
+ ctx.Data["CommitChoice"] = "direct"
+ ctx.Data["NewBranchName"] = ""
+ ctx.Data["CommitDirectlyToThisBranch"] = ctx.Tr("repo.commit_directly_to_this_branch", ""+branchName+"")
+ ctx.Data["CreateNewBranch"] = ctx.Tr("repo.create_new_branch", ""+ctx.Tr("repo.new_branch")+"")
+ ctx.Data["LastCommit"] = ctx.Repo.Commit.ID
+ ctx.Data["MdFileExtensions"] = strings.Join(setting.Markdown.MdFileExtensions, ",")
+ ctx.Data["LineWrapExtensions"] = strings.Join(setting.Repository.LineWrapExtensions, ",")
+ ctx.Data["PreviewTabApis"] = strings.Join(setting.Repository.PreviewTabApis, ",")
+ ctx.Data["PreviewDiffUrl"] = ctx.Repo.RepoLink + "/preview/" + branchName + "/" + treeName
+
+ ctx.HTML(200, EDIT)
+}
+
+func EditFilePost(ctx *context.Context, form auth.EditRepoFileForm) {
+ editFilePost(ctx, form, false)
+}
+
+func EditNewFilePost(ctx *context.Context, form auth.EditRepoFileForm) {
+ editFilePost(ctx, form, true)
+}
+
+func editFilePost(ctx *context.Context, form auth.EditRepoFileForm, isNewFile bool) {
+ ctx.Data["PageIsEdit"] = true
+ ctx.Data["IsNewFile"] = isNewFile
+ ctx.Data["RequireHighlightJS"] = true
+
+ userName := ctx.Repo.Owner.Name
+ repoName := ctx.Repo.Repository.Name
+ oldBranchName := ctx.Repo.BranchName
+ branchName := oldBranchName
+ branchLink := ctx.Repo.RepoLink + "/src/" + branchName
+ oldTreeName := ctx.Repo.TreeName
+ content := form.Content
+ commitChoice := form.CommitChoice
+ lastCommit := form.LastCommit
+
+ if commitChoice == "commit-to-new-branch" {
+ branchName = form.NewBranchName
+ }
+
+ treeName := form.TreeName
+ treeName = strings.Trim(treeName, " ")
+ treeName = strings.Trim(treeName, "/")
+
+ var treeNames []string
+ if len(treeName) > 0 {
+ treeNames = strings.Split(treeName, "/")
+ }
+
+ ctx.Data["RequireSimpleMDE"] = true
+
+ ctx.Data["UserName"] = userName
+ ctx.Data["RepoName"] = repoName
+ ctx.Data["BranchName"] = branchName
+ ctx.Data["TreeName"] = treeName
+ ctx.Data["TreeNames"] = treeNames
+ ctx.Data["BranchLink"] = branchLink
+ ctx.Data["FileContent"] = content
+ ctx.Data["CommitSummary"] = form.CommitSummary
+ ctx.Data["CommitMessage"] = form.CommitMessage
+ ctx.Data["CommitChoice"] = commitChoice
+ ctx.Data["NewBranchName"] = branchName
+ ctx.Data["CommitDirectlyToThisBranch"] = ctx.Tr("repo.commit_directly_to_this_branch", ""+oldBranchName+"")
+ ctx.Data["CreateNewBranch"] = ctx.Tr("repo.create_new_branch", ""+ctx.Tr("repo.new_branch")+"")
+ ctx.Data["LastCommit"] = ctx.Repo.Commit.ID
+ ctx.Data["MdFileExtensions"] = strings.Join(setting.Markdown.MdFileExtensions, ",")
+ ctx.Data["LineWrapExtensions"] = strings.Join(setting.Repository.LineWrapExtensions, ",")
+ ctx.Data["PreviewTabApis"] = strings.Join(setting.Repository.PreviewTabApis, ",")
+ ctx.Data["PreviewDiffUrl"] = ctx.Repo.RepoLink + "/preview/" + branchName + "/" + treeName
+
+ if ctx.HasError() {
+ ctx.HTML(200, EDIT)
+ return
+ }
+
+ if len(treeName) == 0 {
+ ctx.Data["Err_Filename"] = true
+ ctx.RenderWithErr(ctx.Tr("repo.filename_cannot_be_empty"), EDIT, &form)
+ log.Error(4, "%s: %s", "EditFile", "Filename can't be empty")
+ return
+ }
+
+ if( oldBranchName != branchName ){
+ if _, err := ctx.Repo.Repository.GetBranch(branchName); err == nil {
+ ctx.Data["Err_Branchname"] = true
+ ctx.RenderWithErr(ctx.Tr("repo.branch_already_exists"), EDIT, &form)
+ log.Error(4, "%s: %s - %s", "BranchName", branchName, "Branch already exists")
+ return
+ }
+
+ }
+
+ treepath := ""
+ for index,part := range treeNames {
+ treepath = path.Join(treepath, part)
+ entry, err := ctx.Repo.Commit.GetTreeEntryByPath(treepath)
+ if err != nil {
+ // Means there is no item with that name, so we're good
+ break
+ }
+ if index != len(treeNames)-1 {
+ if ! entry.IsDir() {
+ ctx.Data["Err_Filename"] = true
+ ctx.RenderWithErr(ctx.Tr("repo.directory_is_a_file"), EDIT, &form)
+ log.Error(4, "%s: %s - %s", "EditFile", treeName, "Directory given is a file")
+ return
+ }
+ } else {
+ if entry.IsDir() {
+ ctx.Data["Err_Filename"] = true
+ ctx.RenderWithErr(ctx.Tr("repo.filename_is_a_directory"), EDIT, &form)
+ log.Error(4, "%s: %s - %s", "EditFile", treeName, "Filename given is a dirctory")
+ return
+ }
+ }
+ }
+
+ if ! isNewFile {
+ _, err := ctx.Repo.Commit.GetTreeEntryByPath(oldTreeName)
+ if err != nil && git.IsErrNotExist(err) {
+ ctx.Data["Err_Filename"] = true
+ ctx.RenderWithErr(ctx.Tr("repo.file_editing_no_longer_exists"), EDIT, &form)
+ log.Error(4, "%s: %s / %s - %s", "EditFile", branchName, oldTreeName, "File doesn't exist for editing")
+ return
+ }
+ if lastCommit != ctx.Repo.CommitID {
+ if files, err := ctx.Repo.Commit.GetFilesChangedSinceCommit(lastCommit); err == nil {
+ for _, file := range files {
+ if file == treeName {
+ name := ctx.Repo.Commit.Author.Name
+ if u, err := models.GetUserByEmail(ctx.Repo.Commit.Author.Email); err == nil {
+ name = `` + u.Name + ``
+ }
+ message := ctx.Tr("repo.user_has_committed_since_you_started_editing", name) +
+ ` ` + ctx.Tr("repo.see_what_changed") + `` +
+ " " + ctx.Tr("repo.pressing_commit_again_will_overwrite_those_changes", "" + ctx.Tr("repo.commit_changes") + "")
+ log.Error(4, "%s: %s / %s - %s", "EditFile", branchName, oldTreeName, "File updated by another user")
+ ctx.RenderWithErr(message, EDIT, &form)
+ return
+ }
+ }
+ }
+ }
+ }
+ if oldTreeName != treeName {
+ // We have a new filename (rename or completely new file) so we need to make sure it doesn't already exist, can't clobber
+ _, err := ctx.Repo.Commit.GetTreeEntryByPath(treeName)
+ if err == nil {
+ ctx.Data["Err_Filename"] = true
+ ctx.RenderWithErr(ctx.Tr("repo.file_already_exists"), EDIT, &form)
+ log.Error(4, "%s: %s - %s", "NewFile", treeName, "File already exists, can't create new")
+ return
+ }
+ }
+
+ message := ""
+ if form.CommitSummary!="" {
+ message = strings.Trim(form.CommitSummary, " ")
+ } else {
+ if isNewFile {
+ message = ctx.Tr("repo.add") + " '" + treeName + "'"
+ } else {
+ message = ctx.Tr("repo.update") + " '" + treeName + "'"
+ }
+ }
+ if strings.Trim(form.CommitMessage, " ")!="" {
+ message += "\n\n" + strings.Trim(form.CommitMessage, " ")
+ }
+
+ if err := ctx.Repo.Repository.UpdateRepoFile(ctx.User, oldBranchName, branchName, oldTreeName, treeName, content, message, isNewFile); err != nil {
+ ctx.Data["Err_Filename"] = true
+ ctx.RenderWithErr(ctx.Tr("repo.unable_to_update_file"), EDIT, &form)
+ log.Error(4, "%s: %v", "EditFile", err)
+ return
+ }
+
+ if branch, err := ctx.Repo.Repository.GetBranch(branchName); err != nil {
+ log.Error(4, "repo.Repository.GetBranch(%s): %v", branchName, err)
+ } else if commit, err := branch.GetCommit(); err != nil {
+ log.Error(4, "branch.GetCommit(): %v", err)
+ } else {
+ pc := &models.PushCommits{
+ Len: 1,
+ Commits: []*models.PushCommit{&models.PushCommit{
+ commit.ID.String(),
+ commit.Message(),
+ commit.Author.Email,
+ commit.Author.Name,
+ }},
+ }
+ oldCommitID := ctx.Repo.CommitID
+ newCommitID := commit.ID.String()
+ if branchName != oldBranchName {
+ oldCommitID = "0000000000000000000000000000000000000000" // New Branch so we use all 0s
+ }
+ if err := models.CommitRepoAction(ctx.User.Id, ctx.Repo.Owner.Id, ctx.User.LowerName, ctx.Repo.Owner.Email,
+ ctx.Repo.Repository.ID, ctx.Repo.Owner.LowerName, ctx.Repo.Repository.Name, "refs/heads/"+branchName, pc,
+ oldCommitID, newCommitID); err != nil {
+ log.Error(4, "models.CommitRepoAction(branch = %s): %v", branchName, err)
+ }
+ models.HookQueue.Add(ctx.Repo.Repository.ID)
+ }
+
+ // Leaving this off until forked repos that get a branch can compare with forks master and not upstream
+ //if oldBranchName != branchName {
+ // ctx.Redirect(EscapeUrl(ctx.Repo.RepoLink + "/compare/" + oldBranchName + "..." + branchName))
+ //} else {
+ ctx.Redirect(EscapeUrl(ctx.Repo.RepoLink + "/src/" + branchName + "/" + treeName))
+ //}
+}
+
+func DiffPreviewPost(ctx *context.Context, form auth.EditPreviewDiffForm) {
+ userName := ctx.Repo.Owner.Name
+ repoName := ctx.Repo.Repository.Name
+ branchName := ctx.Repo.BranchName
+ treeName := ctx.Repo.TreeName
+ content := form.Content
+
+ entry, err := ctx.Repo.Commit.GetTreeEntryByPath(treeName)
+ if (err != nil && git.IsErrNotExist(err)) || entry.IsDir() {
+ ctx.Data["FileContent"] = content
+ ctx.HTML(200, DIFF_PREVIEW_NEW)
+ return
+ }
+
+ diff, err := ctx.Repo.Repository.GetPreviewDiff(models.RepoPath(userName, repoName), branchName, treeName, content, setting.Git.MaxGitDiffLines, setting.Git.MaxGitDiffLineCharacters, setting.Git.MaxGitDiffFiles)
+ if err != nil {
+ ctx.Error(404, err.Error())
+ log.Error(4, "%s: %v", "GetPreviewDiff", err)
+ return
+ }
+
+ if(diff.NumFiles() == 0){
+ ctx.Error(200, ctx.Tr("repo.no_changes_to_show"))
+ return
+ }
+
+ ctx.Data["IsSplitStyle"] = ctx.Query("style") == "split"
+ ctx.Data["File"] = diff.Files[0]
+
+ ctx.HTML(200, DIFF_PREVIEW)
+}
+
+func EscapeUrl(str string) string {
+ return strings.NewReplacer("?","%3F","%","%25","#","%23"," ","%20","^","%5E","\\","%5C","{","%7B","}","%7D","|","%7C").Replace(str)
+}
diff --git a/routers/repo/upload.go b/routers/repo/upload.go
new file mode 100644
index 000000000..647913d35
--- /dev/null
+++ b/routers/repo/upload.go
@@ -0,0 +1,257 @@
+// Copyright 2016 The Gogs Authors. All rights reserved.
+// Use of this source code is governed by a MIT-style
+// license that can be found in the LICENSE file.
+
+package repo
+
+import (
+ "strings"
+
+ "github.com/gogits/gogs/modules/base"
+ "github.com/gogits/gogs/modules/context"
+ "github.com/gogits/gogs/modules/log"
+ "github.com/gogits/gogs/modules/auth"
+ "path"
+ "github.com/gogits/gogs/modules/setting"
+ "fmt"
+ "net/http"
+ "github.com/gogits/gogs/models"
+)
+
+const (
+ UPLOAD base.TplName = "repo/upload"
+)
+
+func renderUploadSettings(ctx *context.Context) {
+ ctx.Data["RequireDropzone"] = true
+ ctx.Data["IsUploadEnabled"] = setting.UploadEnabled
+ ctx.Data["UploadAllowedTypes"] = setting.UploadAllowedTypes
+ ctx.Data["UploadMaxSize"] = setting.UploadMaxSize
+ ctx.Data["UploadMaxFiles"] = setting.UploadMaxFiles
+}
+
+func UploadFile(ctx *context.Context) {
+ ctx.Data["PageIsUpload"] = true
+
+ userName := ctx.Repo.Owner.Name
+ repoName := ctx.Repo.Repository.Name
+ branchName := ctx.Repo.BranchName
+ branchLink := ctx.Repo.RepoLink + "/src/" + branchName
+ treeName := ctx.Repo.TreeName
+
+ treeNames := []string{""}
+ if len(treeName) > 0 {
+ treeNames = strings.Split(treeName, "/")
+ }
+
+ ctx.Data["UserName"] = userName
+ ctx.Data["RepoName"] = repoName
+ ctx.Data["BranchName"] = branchName
+ ctx.Data["TreeName"] = treeName
+ ctx.Data["TreeNames"] = treeNames
+ ctx.Data["BranchLink"] = branchLink
+ ctx.Data["CommitSummary"] = ""
+ ctx.Data["CommitMessage"] = ""
+ ctx.Data["CommitChoice"] = "direct"
+ ctx.Data["NewBranchName"] = ""
+ ctx.Data["CommitDirectlyToThisBranch"] = ctx.Tr("repo.commit_directly_to_this_branch", ""+branchName+"")
+ ctx.Data["CreateNewBranch"] = ctx.Tr("repo.create_new_branch", ""+ctx.Tr("repo.new_branch")+"")
+ renderUploadSettings(ctx)
+
+ ctx.HTML(200, UPLOAD)
+}
+
+func UploadFilePost(ctx *context.Context, form auth.UploadRepoFileForm) {
+ ctx.Data["PageIsUpload"] = true
+ renderUploadSettings(ctx)
+
+ userName := ctx.Repo.Owner.Name
+ repoName := ctx.Repo.Repository.Name
+ oldBranchName := ctx.Repo.BranchName
+ branchName := oldBranchName
+ branchLink := ctx.Repo.RepoLink + "/src/" + branchName
+ commitChoice := form.CommitChoice
+ files := form.Files
+
+ if commitChoice == "commit-to-new-branch" {
+ branchName = form.NewBranchName
+ }
+
+ treeName := form.TreeName
+ treeName = strings.Trim(treeName, " ")
+ treeName = strings.Trim(treeName, "/")
+
+ treeNames := []string{""}
+ if len(treeName) > 0 {
+ treeNames = strings.Split(treeName, "/")
+ }
+
+ ctx.Data["UserName"] = userName
+ ctx.Data["RepoName"] = repoName
+ ctx.Data["BranchName"] = branchName
+ ctx.Data["TreeName"] = treeName
+ ctx.Data["TreeNames"] = treeNames
+ ctx.Data["BranchLink"] = branchLink
+ ctx.Data["CommitSummary"] = form.CommitSummary
+ ctx.Data["CommitMessage"] = form.CommitMessage
+ ctx.Data["CommitChoice"] = commitChoice
+ ctx.Data["NewBranchName"] = branchName
+ ctx.Data["CommitDirectlyToThisBranch"] = ctx.Tr("repo.commit_directly_to_this_branch", ""+oldBranchName+"")
+ ctx.Data["CreateNewBranch"] = ctx.Tr("repo.create_new_branch", ""+ctx.Tr("repo.new_branch")+"")
+
+ if ctx.HasError() {
+ ctx.HTML(200, UPLOAD)
+ return
+ }
+
+ if( oldBranchName != branchName ){
+ if _, err := ctx.Repo.Repository.GetBranch(branchName); err == nil {
+ ctx.Data["Err_Branchname"] = true
+ ctx.RenderWithErr(ctx.Tr("repo.branch_already_exists"), UPLOAD, &form)
+ log.Error(4, "%s: %s - %s", "BranchName", branchName, "Branch already exists")
+ return
+ }
+
+ }
+
+ treepath := ""
+ for _, part := range treeNames {
+ treepath = path.Join(treepath, part)
+ entry, err := ctx.Repo.Commit.GetTreeEntryByPath(treepath)
+ if err != nil {
+ // Means there is no item with that name, so we're good
+ break
+ }
+ if ! entry.IsDir() {
+ ctx.Data["Err_Filename"] = true
+ ctx.RenderWithErr(ctx.Tr("repo.directory_is_a_file"), UPLOAD, &form)
+ log.Error(4, "%s: %s - %s", "UploadFile", treeName, "Directory given is a file")
+ return
+ }
+ }
+
+ message := ""
+ if form.CommitSummary!="" {
+ message = strings.Trim(form.CommitSummary, " ")
+ } else {
+ message = ctx.Tr("repo.add_files_to_dir", "'" + treeName + "'")
+ }
+ if strings.Trim(form.CommitMessage, " ")!="" {
+ message += "\n\n" + strings.Trim(form.CommitMessage, " ")
+ }
+
+ if err := ctx.Repo.Repository.UploadRepoFiles(ctx.User, oldBranchName, branchName, treeName, message, files); err != nil {
+ ctx.Data["Err_Directory"] = true
+ ctx.RenderWithErr(ctx.Tr("repo.unable_to_upload_files"), UPLOAD, &form)
+ log.Error(4, "%s: %v", "UploadFile", err)
+ return
+ }
+
+ // Was successful, so now need to call models.CommitRepoAction() with the new commitID for webhooks and watchers
+ if branch, err := ctx.Repo.Repository.GetBranch(branchName); err != nil {
+ log.Error(4, "repo.Repository.GetBranch(%s): %v", branchName, err)
+ } else if commit, err := branch.GetCommit(); err != nil {
+ log.Error(4, "branch.GetCommit(): %v", err)
+ } else {
+ pc := &models.PushCommits{
+ Len: 1,
+ Commits: []*models.PushCommit{&models.PushCommit{
+ commit.ID.String(),
+ commit.Message(),
+ commit.Author.Email,
+ commit.Author.Name,
+ }},
+ }
+ oldCommitID := ctx.Repo.CommitID
+ newCommitID := commit.ID.String()
+ if branchName != oldBranchName {
+ oldCommitID = "0000000000000000000000000000000000000000" // New Branch so we use all 0s
+ }
+ if err := models.CommitRepoAction(ctx.User.Id, ctx.Repo.Owner.Id, ctx.User.LowerName, ctx.Repo.Owner.Email,
+ ctx.Repo.Repository.ID, ctx.Repo.Owner.LowerName, ctx.Repo.Repository.Name, "refs/heads/"+branchName, pc,
+ oldCommitID, newCommitID); err != nil {
+ log.Error(4, "models.CommitRepoAction(branch = %s): %v", branchName, err)
+ }
+ models.HookQueue.Add(ctx.Repo.Repository.ID)
+ }
+
+ // Leaving this off until forked repos that get a branch can compare with forks master and not upstream
+ //if oldBranchName != branchName {
+ // ctx.Redirect(EscapeUrl(ctx.Repo.RepoLink + "/compare/" + oldBranchName + "..." + branchName))
+ //} else {
+ ctx.Redirect(EscapeUrl(ctx.Repo.RepoLink + "/src/" + branchName + "/" + treeName))
+ //}
+}
+
+func UploadFileToServer(ctx *context.Context) {
+ if !setting.UploadEnabled {
+ ctx.Error(404, "upload is not enabled")
+ return
+ }
+
+ file, header, err := ctx.Req.FormFile("file")
+ if err != nil {
+ ctx.Error(500, fmt.Sprintf("FormFile: %v", err))
+ return
+ }
+ defer file.Close()
+
+ buf := make([]byte, 1024)
+ n, _ := file.Read(buf)
+ if n > 0 {
+ buf = buf[:n]
+ }
+ fileType := http.DetectContentType(buf)
+
+ if len(setting.UploadAllowedTypes) > 0 {
+ allowedTypes := strings.Split(setting.UploadAllowedTypes, ",")
+ allowed := false
+ for _, t := range allowedTypes {
+ t := strings.Trim(t, " ")
+ if t == "*/*" || t == fileType {
+ allowed = true
+ break
+ }
+ }
+
+ if !allowed {
+ ctx.Error(400, ErrFileTypeForbidden.Error())
+ return
+ }
+ }
+
+ up, err := models.NewUpload(header.Filename, buf, file, ctx.User.Id, ctx.Repo.Repository.ID)
+ if err != nil {
+ ctx.Error(500, fmt.Sprintf("NewUpload: %v", err))
+ return
+ }
+
+ log.Trace("New file uploaded: %s", up.UUID)
+ ctx.JSON(200, map[string]string{
+ "uuid": up.UUID,
+ })
+}
+
+func UploadRemoveFileFromServer(ctx *context.Context, form auth.UploadRemoveFileForm) {
+ if !setting.UploadEnabled {
+ ctx.Error(404, "upload is not enabled")
+ return
+ }
+
+ if len(form.File) == 0 {
+ ctx.Error(404, "invalid params")
+ return
+ }
+
+ uuid := form.File
+
+ if err := models.RemoveUpload(uuid, ctx.User.Id, ctx.Repo.Repository.ID); err != nil {
+ ctx.Error(500, fmt.Sprintf("RemoveUpload: %v", err))
+ return
+ }
+
+ log.Trace("Upload file removed: %s", uuid)
+ ctx.JSON(200, map[string]string{
+ "uuid": uuid,
+ })
+}
\ No newline at end of file
diff --git a/routers/repo/view.go b/routers/repo/view.go
index e787879d8..2c1cae105 100644
--- a/routers/repo/view.go
+++ b/routers/repo/view.go
@@ -22,6 +22,7 @@ import (
"github.com/gogits/gogs/modules/setting"
"github.com/gogits/gogs/modules/template"
"github.com/gogits/gogs/modules/template/highlight"
+ "strconv"
)
const (
@@ -47,6 +48,10 @@ func Home(ctx *context.Context) {
branchLink := ctx.Repo.RepoLink + "/src/" + branchName
treeLink := branchLink
rawLink := ctx.Repo.RepoLink + "/raw/" + branchName
+ editLink := ctx.Repo.RepoLink + "/edit/" + branchName
+ forkLink := setting.AppSubUrl + "/repo/fork/" + strconv.FormatInt(ctx.Repo.Repository.ID, 10)
+ newFileLink := ctx.Repo.RepoLink + "/new/" + branchName
+ uploadFileLink := ctx.Repo.RepoLink + "/upload/" + branchName
// Get tree path
treename := ctx.Repo.TreeName
@@ -102,8 +107,10 @@ func Home(ctx *context.Context) {
switch {
case isPDFFile:
ctx.Data["IsPDFFile"] = true
+ ctx.Data["FileEditLinkTooltip"] = ctx.Tr("repo.cannot_edit_binary_files")
case isImageFile:
ctx.Data["IsImageFile"] = true
+ ctx.Data["FileEditLinkTooltip"] = ctx.Tr("repo.cannot_edit_binary_files")
case isTextFile:
if blob.Size() >= setting.MaxDisplayFileSize {
ctx.Data["IsFileTooLarge"] = true
@@ -112,8 +119,10 @@ func Home(ctx *context.Context) {
d, _ := ioutil.ReadAll(dataRc)
buf = append(buf, d...)
readmeExist := markdown.IsMarkdownFile(blob.Name()) || markdown.IsReadmeFile(blob.Name())
+ isMarkdown := readmeExist || markdown.IsMarkdownFile(blob.Name())
ctx.Data["ReadmeExist"] = readmeExist
- if readmeExist {
+ ctx.Data["IsMarkdown"] = isMarkdown
+ if isMarkdown {
ctx.Data["FileContent"] = string(markdown.Render(buf, path.Dir(treeLink), ctx.Repo.Repository.ComposeMetas()))
} else {
if err, content := template.ToUtf8WithErr(buf); err != nil {
@@ -126,7 +135,21 @@ func Home(ctx *context.Context) {
}
}
}
+ if ctx.Repo.IsWriter() && ctx.Repo.IsViewBranch {
+ ctx.Data["FileEditLink"] = editLink + "/" + treename
+ ctx.Data["FileEditLinkTooltip"] = ctx.Tr("repo.edit_this_file")
+ } else {
+ if ! ctx.Repo.IsViewBranch {
+ ctx.Data["FileEditLinkTooltip"] = ctx.Tr("repo.must_be_on_branch")
+ } else if ! ctx.Repo.IsWriter() {
+ ctx.Data["FileEditLink"] = forkLink
+ ctx.Data["FileEditLinkTooltip"] = ctx.Tr("repo.fork_before_edit")
+ }
+ }
+ default:
+ ctx.Data["FileEditLinkTooltip"] = ctx.Tr("repo.cannot_edit_binary_files")
}
+
}
} else {
// Directory and file list.
@@ -203,6 +226,12 @@ func Home(ctx *context.Context) {
}
ctx.Data["LastCommit"] = lastCommit
ctx.Data["LastCommitUser"] = models.ValidateCommitWithEmail(lastCommit)
+ if ctx.Repo.IsWriter() && ctx.Repo.IsViewBranch {
+ ctx.Data["NewFileLink"] = newFileLink + "/" + treename
+ if setting.UploadEnabled {
+ ctx.Data["UploadFileLink"] = uploadFileLink + "/" + treename
+ }
+ }
}
ctx.Data["Username"] = userName
diff --git a/templates/repo/diff_preview.tmpl b/templates/repo/diff_preview.tmpl
new file mode 100644
index 000000000..1c4787a33
--- /dev/null
+++ b/templates/repo/diff_preview.tmpl
@@ -0,0 +1,32 @@
+{{$highlightClass := .File.GetHighlightClass}}
+
+
+
+
+
+ {{range $j, $section := .File.Sections}}
+ {{range $k, $line := $section.Lines}}
+
+ {{if eq .GetType 4}}
+ |
+ {{/* {{if gt $j 0}}{{end}} */}}
+ |
+ {{else}}
+
+ {{if $line.LeftIdx}}{{$line.LeftIdx}}{{end}}
+ |
+
+ {{if $line.RightIdx}}{{$line.RightIdx}}{{end}}
+ |
+ {{end}}
+
+ {{$section.GetComputedInlineDiffFor $line}}
+ |
+
+ {{end}}
+ {{end}}
+
+
+
+
+
diff --git a/templates/repo/diff_preview_new.tmpl b/templates/repo/diff_preview_new.tmpl
new file mode 100644
index 000000000..34abfe182
--- /dev/null
+++ b/templates/repo/diff_preview_new.tmpl
@@ -0,0 +1,12 @@
+
+
+
+
+
+ |
+ {{.FileContent}}
|
+
+
+
+
+
diff --git a/templates/repo/edit.tmpl b/templates/repo/edit.tmpl
new file mode 100644
index 000000000..133a73df2
--- /dev/null
+++ b/templates/repo/edit.tmpl
@@ -0,0 +1,98 @@
+{{template "base/head" .}}
+
+ {{template "repo/header" .}}
+
+ {{.branchName}}
+ {{template "base/alert" .}}
+
+
+
+{{template "base/footer" .}}
diff --git a/templates/repo/upload.tmpl b/templates/repo/upload.tmpl
new file mode 100644
index 000000000..9253b5cc9
--- /dev/null
+++ b/templates/repo/upload.tmpl
@@ -0,0 +1,79 @@
+{{template "base/head" .}}
+
+ {{template "repo/header" .}}
+
+ {{.branchName}}
+ {{template "base/alert" .}}
+
+
+
+{{template "base/footer" .}}