From 39509efe9222b3db00a5e30aef1a8924b5f3ca80 Mon Sep 17 00:00:00 2001 From: deepzz0 Date: Fri, 23 Dec 2016 22:59:26 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E5=BE=88=E5=A4=9A=E6=96=87?= =?UTF-8?q?=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- conf/app.yml | 9 ++++- conf/nginx/domain/deepzz.conf | 9 ++--- disqus.go | 70 ++++++++++++++++++++++++++++++++++- front.go | 58 ++++++++++++++++++++++++++++- helper.go | 4 +- router.go | 4 +- setting/setting.go | 10 ++++- views/about.html | 2 +- views/article.html | 2 +- views/disqus.html | 2 + views/homeLayout.html | 2 +- views/st_blog_css.css | 2 +- views/st_blog_js.js | 2 +- views/st_jq_js.js | 8 ++-- 14 files changed, 161 insertions(+), 23 deletions(-) create mode 100644 views/disqus.html diff --git a/conf/app.yml b/conf/app.yml index c581e18..0ae2297 100644 --- a/conf/app.yml +++ b/conf/app.yml @@ -22,6 +22,7 @@ disqus: publickey: wdSgxRm9rdGAlLKFcFdToBe3GT4SibmV7Y8EjJQ0r4GWXeKtxpopMAeIeoI2dTEg postscount: https://disqus.com/api/3.0/threads/set.json postslist: https://disqus.com/api/3.0/threads/listPosts.json + postcreate: https://disqus.com/api/3.0/posts/create.json interval: 5 # 热搜词配置 hotwords: @@ -32,7 +33,7 @@ google: v: "1" t: pageview # 静态文件版本 -staticversion: 2 +staticversion: 1 # 七牛CDN kodo: name: eiblog @@ -50,7 +51,11 @@ mode: keyfile: conf/certs/domain.key domain: deepzz.com # twitter地址: twitter.com/chenqijing2 -twitter: twitter.com/chenqijing2 +twitter: + card: summary + site: chenqijing2 + image: st.deepzz.com/static/img/avatar.jpg + address: twitter.com/chenqijing2 # superfeedr url feedrurl: https://deepzz.superfeedr.com/ # ping rpcs 地址 diff --git a/conf/nginx/domain/deepzz.conf b/conf/nginx/domain/deepzz.conf index 9e3b2bf..a95744c 100644 --- a/conf/nginx/domain/deepzz.conf +++ b/conf/nginx/domain/deepzz.conf @@ -92,18 +92,16 @@ server { add_header Strict-Transport-Security "max-age=31536000; includeSubDomains; preload"; - # DENY 将完全不允许页面被嵌套,可能会导致一些异常。如果遇到这样的问题,建议改成 SAMEORIGIN + # deny 将完全不允许页面被嵌套,可能会导致一些异常。如果遇到这样的问题,建议改成 SAMEORIGIN # https://imququ.com/post/web-security-and-response-header.html#toc-1 - add_header X-Frame-Options DENY; + add_header X-Frame-Options deny; add_header X-Content-Type-Options nosniff; - # proxy_set_header X-Via QingDao.Aliyun; proxy_set_header Connection ""; proxy_set_header Host deepzz.com; proxy_set_header X-Real_IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header X-XSS-Protection "1; mode=block"; proxy_pass http://127.0.0.1:9000; } @@ -120,13 +118,14 @@ server { # https://imququ.com/post/http-public-key-pinning.html add_header Public-Key-Pins 'pin-sha256="lnsM2T/O9/J84sJFdnrpsFp3awZJ+ZZbYpCWhGloaHI="; pin-sha256="YLh1dUR9y6Kja30RrAn7JKnbQG/uEtLMkBgFF2Fuihg="; max-age=2592000; includeSubDomains'; add_header Cache-Control no-cache; + add_header X-Via Aliyun.QingDao; + add_header X-XSS-Protection "1; mode=block"; proxy_ignore_headers Set-Cookie; proxy_hide_header Vary; proxy_hide_header X-Powered-By; - proxy_set_header X-Via QingDao.Aliyun; proxy_set_header Connection ""; proxy_set_header Host deepzz.com; proxy_set_header X-Real_IP $remote_addr; diff --git a/disqus.go b/disqus.go index f439ab4..b40c05f 100644 --- a/disqus.go +++ b/disqus.go @@ -26,7 +26,9 @@ func PostsCount() { if setting.Conf.Disqus.PostsCount == "" || setting.Conf.Disqus.PublicKey == "" || setting.Conf.Disqus.ShortName == "" { return } - baseUrl := setting.Conf.Disqus.PostsCount + "?api_key=" + setting.Conf.Disqus.PublicKey + "&forum=" + setting.Conf.Disqus.ShortName + "&" + baseUrl := setting.Conf.Disqus.PostsCount + + "?api_key=" + setting.Conf.Disqus.PublicKey + + "&forum=" + setting.Conf.Disqus.ShortName + "&" var count, index int for index < len(Ei.Articles) { logd.Debugf("count=====%d, index=======%d, length=======%d, bool=========%t\n", count, index, len(Ei.Articles), index < len(Ei.Articles) && count < 50) @@ -88,6 +90,7 @@ type postsList struct { Cache string } } + Thread string } } @@ -95,9 +98,12 @@ func PostsList(slug, cursor string) *postsList { if setting.Conf.Disqus.PostsList == "" || setting.Conf.Disqus.PublicKey == "" || setting.Conf.Disqus.ShortName == "" { return nil } - url := setting.Conf.Disqus.PostsList + "?limit=50&api_key=" + setting.Conf.Disqus.PublicKey + "&forum=" + setting.Conf.Disqus.ShortName + "&cursor=" + cursor + "&thread:ident=post-" + slug + url := setting.Conf.Disqus.PostsList + "?limit=50&api_key=" + + setting.Conf.Disqus.PublicKey + "&forum=" + setting.Conf.Disqus.ShortName + + "&cursor=" + cursor + "&thread:ident=post-" + slug resp, err := http.Get(url) if err != nil { + logd.Error(err) return nil } defer resp.Body.Close() @@ -118,3 +124,63 @@ func PostsList(slug, cursor string) *postsList { } return pl } + +type PostCreate struct { + Message string `json:"message"` + Parent string `json:"parent"` + Thread string `json:"thread"` + AuthorEmail string `json:"author_email"` + AuthorName string `json:"autor_name"` + IpAddress string `json:"ip_address"` + Identifier string `json:"identifier"` + UserAgent string `json:"user_agent"` +} + +type PostResponse struct { + Code int `json:"code"` + Response struct { + Id string `json:"id"` + } `json:"response"` +} + +func PostComment(pc *PostCreate) string { + if setting.Conf.Disqus.PostsList == "" || setting.Conf.Disqus.PublicKey == "" || setting.Conf.Disqus.ShortName == "" { + return "" + } + url := setting.Conf.Disqus.PostCreate + + "?api_key=E8Uh5l5fHZ6gD8U3KycjAIAk46f68Zw7C6eW8WSjZvCLXebZ7p0r1yrYDrLilk2F" + + "&message=" + pc.Message + "&parent=" + pc.Parent + + "&thread=" + pc.Thread + "&author_email=" + pc.AuthorEmail + + "&author_name=" + pc.AuthorName + + request, err := http.NewRequest("POST", url, nil) + if err != nil { + logd.Error(err) + return "" + } + request.Header.Set("Referer", "https://disqus.com") + logd.Print(*request) + resp, err := http.DefaultClient.Do(request) + if err != nil { + logd.Error(err) + return "" + } + defer resp.Body.Close() + b, err := ioutil.ReadAll(resp.Body) + if err != nil { + logd.Error(err) + return "" + } + if resp.StatusCode != http.StatusOK { + logd.Error(string(b)) + return "" + } + pr := &PostResponse{} + err = json.Unmarshal(b, pr) + if err != nil { + logd.Error(err) + return "" + } + logd.Print(pr.Response.Id) + return pr.Response.Id +} diff --git a/front.go b/front.go index 7a658ba..130fa30 100644 --- a/front.go +++ b/front.go @@ -188,6 +188,25 @@ func HandleSearchPage(c *gin.Context) { RenderHTMLFront(c, "search", h) } +func HandleDisqusFrom(c *gin.Context) { + params := strings.Split(c.Param("slug"), "|") + if len(params) != 4 || params[1] == "" { + c.String(http.StatusOK, "出错啦。。。") + return + } + artc := Ei.MapArticles[params[0]] + data := gin.H{ + "Title": "发表评论 | " + Ei.BTitle, + "ATitle": artc.Title, + "Thread": params[1], + } + err := Tmpl.ExecuteTemplate(c.Writer, "disqus.html", data) + if err != nil { + panic(err) + } + c.Header("Content-Type", "text/html; charset=utf-8") +} + func HandleFeed(c *gin.Context) { http.ServeFile(c.Writer, c.Request, "static/feed.xml") } @@ -250,6 +269,7 @@ type DisqusComments struct { Next string `json:"next"` Total int `json:"total,omitempty"` Comments []commentsDetail `json:"comments"` + Thread string `json:"thread"` } `json:"data"` } @@ -274,9 +294,12 @@ func HandleDisqus(c *gin.Context) { if postsList.Cursor.HasNext { dcs.Data.Next = postsList.Cursor.Next } - dcs.Data.Total = Ei.MapArticles[slug].Count + dcs.Data.Total = len(postsList.Response) dcs.Data.Comments = make([]commentsDetail, len(postsList.Response)) for i, v := range postsList.Response { + if dcs.Data.Thread == "" { + dcs.Data.Thread = v.Thread + } dcs.Data.Comments[i] = commentsDetail{ Id: v.Id, Name: v.Author.Name, @@ -295,6 +318,39 @@ func HandleDisqus(c *gin.Context) { c.JSON(http.StatusOK, dcs) } +// [thread:[5279901489] parent:[] identifier:[post-troubleshooting-https] next:[] author_name:[你好] author_email:[chenqijing2@163.com] message:[fdsfdsf]] +func HandleDisqusCreate(c *gin.Context) { + rep := gin.H{"errno": SUCCESS, "errmsg": ""} + defer c.JSON(http.StatusOK, rep) + msg := c.PostForm("message") + email := c.PostForm("author_email") + name := c.PostForm("author_name") + thread := c.PostForm("thread") + identifier := c.PostForm("identifier") + if msg == "" || email == "" || name == "" || thread == "" || identifier == "" { + rep["errno"] = FAIL + rep["errmsg"] = "参数错误" + return + } + pc := &PostCreate{ + Message: msg, + Parent: c.PostForm("parent"), + Thread: thread, + AuthorEmail: email, + AuthorName: name, + IpAddress: c.ClientIP(), + } + + id := PostComment(pc) + if id == "" { + rep["errno"] = FAIL + rep["errmsg"] = "系统错误" + return + } + rep["errno"] = SUCCESS + rep["data"] = gin.H{"id": id} +} + func RenderHTMLFront(c *gin.Context, name string, data gin.H) { var buf bytes.Buffer err := Tmpl.ExecuteTemplate(&buf, name, data) diff --git a/helper.go b/helper.go index 1f2cf1e..074f312 100644 --- a/helper.go +++ b/helper.go @@ -84,14 +84,14 @@ const ( ) func ConvertStr(str string) string { - t, err := time.Parse("2006-01-02T15:04:05", str) + t, err := time.ParseInLocation("2006-01-02T15:04:05", str, time.UTC) if err != nil { logd.Error(err, str) return JUST_NOW } now := time.Now() year1, month1, day1 := t.Date() - year2, month2, day2 := now.Date() + year2, month2, day2 := now.UTC().Date() if y := year2 - year1; y > 0 { return fmt.Sprintf(YEARS_AGO, y) } diff --git a/router.go b/router.go index a4b1a39..bc64b62 100644 --- a/router.go +++ b/router.go @@ -54,7 +54,9 @@ func init() { router.GET("/archives.html", HandleArchivesPage) router.GET("/search.html", HandleSearchPage) router.GET("/beacon.html", HandleBeacon) - router.GET("/disqus/:slug", HandleDisqus) + router.GET("/disqus/post-:slug", HandleDisqus) + router.GET("/disqus/form/post-:slug", HandleDisqusFrom) + router.POST("/disqus/create", HandleDisqusCreate) router.GET("/rss.html", HandleFeed) router.GET("/feed", HandleFeed) router.GET("/opensearch.xml", HandleOpenSearch) diff --git a/setting/setting.go b/setting/setting.go index c64c4ab..5a1ea32 100644 --- a/setting/setting.go +++ b/setting/setting.go @@ -35,6 +35,7 @@ type Config struct { PublicKey string PostsCount string PostsList string + PostCreate string Interval int } HotWords []string // 热搜词 @@ -49,8 +50,13 @@ type Config struct { AccessKey string SecretKey string } - Mode RunMode // 运行模式 - Twitter string // twitter地址 + Mode RunMode // 运行模式 + Twitter struct { // twitter信息 + Card string + Site string + Image string + Address string + } FeedrURL string // superfeedr url PingRPCs []string // ping rpc 地址 Account struct { diff --git a/views/about.html b/views/about.html index ed961be..0a4037d 100644 --- a/views/about.html +++ b/views/about.html @@ -1 +1 @@ -{{define "about"}}
{{with .Article}}

{{.Title}}

{{str2html .Header}}{{str2html .Content}}

Comments

{{end}}
{{end}} +{{define "about"}}
{{with .Article}}

{{.Title}}

{{str2html .Header}}{{str2html .Content}}

Comments

{{end}}
{{end}} diff --git a/views/article.html b/views/article.html index 345da8b..15df5e9 100644 --- a/views/article.html +++ b/views/article.html @@ -1 +1 @@ -{{define "article"}}
{{with .Article}}

{{.Title}}

{{str2html .Header}}{{str2html .Content}}

本文链接:参与评论 »

--EOF--

{{with $.Copyright}}{{end}}{{if gt $.Days 100}}

提醒:本文最后更新于 {{$.Days}} 天前,文中所描述的信息可能已发生改变,请谨慎使用。

{{end}}{{with $.Serie}}

专题「{{.Name}}」的其它文章 »

    {{range .Articles}}{{if ne .ID $.Article.ID}}
  • {{.Title}} ({{dateformat .CreateTime "Jan 02, 2006"}})
  • {{end}}{{end}}
{{end}}

Comments

{{end}}
{{end}} +{{define "article"}}
{{with .Article}}

{{.Title}}

{{str2html .Header}}{{str2html .Content}}

本文链接:参与评论 »

--EOF--

{{with $.Copyright}}{{end}}{{if gt $.Days 100}}

提醒:本文最后更新于 {{$.Days}} 天前,文中所描述的信息可能已发生改变,请谨慎使用。

{{end}}{{with $.Serie}}

专题「{{.Name}}」的其它文章 »

    {{range .Articles}}{{if ne .ID $.Article.ID}}
  • {{.Title}} ({{dateformat .CreateTime "Jan 02, 2006"}})
  • {{end}}{{end}}
{{end}}

Comments

{{end}}
{{end}} diff --git a/views/disqus.html b/views/disqus.html new file mode 100644 index 0000000..6491590 --- /dev/null +++ b/views/disqus.html @@ -0,0 +1,2 @@ + +{{.Title}}

对「{{.ATitle}}」发表评论

  • 昵称:
  • 邮箱:
  • 内容:
  • 注:通过本表单提交的数据,会原样转发给 Disqus,本站不做任何存储和记录。
  • 放弃评论
diff --git a/views/homeLayout.html b/views/homeLayout.html index 53e47b5..52b4cd3 100644 --- a/views/homeLayout.html +++ b/views/homeLayout.html @@ -1 +1 @@ -{{.Title}}{{if .Version}}{{end}}{{if .Version}}{{else}}{{end}}
{{.LayoutContent}}
{{if .Version}}{{else}}{{end}}{{if .Version}}{{else}}{{end}}{{if .Version}}{{else}}{{end}}{{if .Version}}{{else}}{{end}} +{{.Title}}{{if .Version}}{{end}}{{if .Version}}{{else}}{{end}}
{{.LayoutContent}}
{{if .Version}}{{else}}{{end}}{{if .Version}}{{else}}{{end}}{{if .Version}}{{else}}{{end}}{{if .Version}}{{else}}{{end}} diff --git a/views/st_blog_css.css b/views/st_blog_css.css index 69ce8f5..3663114 100644 --- a/views/st_blog_css.css +++ b/views/st_blog_css.css @@ -1,3 +1,3 @@ {{define "blog_css"}} -*{margin:0;padding:0}html,body{height:100%}body{background:#ddd;color:#666;font-size:14px;font-family:"-apple-system","Open Sans","HelveticaNeue-Light","Helvetica Neue Light","Helvetica Neue",Helvetica,Arial,sans-serif}::selection,::-moz-selection,::-webkit-selection{background-color:#2479CC;color:#eee}h1{font-size:2em}h3{font-size:1.3em}h4{font-size:1.1em}a{color:#2479CC;text-decoration:none}article{border-bottom:1px solid #ddd;border-top:1px solid #fff;padding:30px 0;position:relative}.container{max-width:1600px;min-height:100%;position:relative}.global-tips{display:none}.left-col{background-color:#50514c;background-image:url(//st.deepzz.com/static/img/bg04.jpg);background-size:cover;height:100%;position:fixed;width:270px}.mid-col{background:#fff;left:0;margin-left:270px;min-height:100%;position:absolute;right:0}article .meta{color:#555;float:right;font-size:.9em;line-height:2;position:relative;text-align:right;width:auto}article .meta a{color:#999}article h1.title{color:#333;font-size:2em;font-weight:300;line-height:35px;margin-bottom:25px}article h1.title a{color:#333;transition:color .3s}.mid-col .mid-col-container{padding:0 70px 0 40px}article .meta .date,article .meta .comment,article .meta .tags{position:relative}article .meta .date-modified{display:none}article h1.title a:hover{color:#2479CC}#header{border-bottom:none;height:auto;line-height:30px;margin-left:50px;padding:30px 0;width:100%}#main-nav{margin-left:0}#main-nav,#sub-nav{float:none;margin-top:15px}#sub-nav{position:relative}#content{margin:0 auto;width:100%}#header a{color:#efefef;text-shadow:0 1px #666;transition:color .3s}#header h1{float:none;font-weight:300;font-size:30px}#main-nav ul li{display:block;margin-left:0;position:relative}#header .subtitle{color:#ccc}#sub-nav .social{margin-bottom:10px}#header a:hover{color:#ccc}#header .profilepic a{background-image:url(//st.deepzz.com/static/img/avatar.jpg);background-size:160px 160px;border-radius:50%;display:block;height:160px;margin:15px 0 20px -10px;width:160px}#sub-nav .social a{background-size:20px 20px;background-position:center center;background-repeat:no-repeat;border-radius:50%;display:inline-block;height:28px;margin:0 6px 15px;opacity:.75;text-indent:-9999px;transition:opacity .3s;vertical-align:middle;width:28px}#sub-nav .social a:hover{opacity:1}#sub-nav .social a:first-of-type{margin-left:0}#sub-nav .social a:last-of-type{margin-right:0}#sub-nav .social a.twitter{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAQAAADZc7J/AAABOklEQVR4Ae3QM4DXYQCH8W+2m7Jt15Ztc8u29myba1O2NbXlmrJ11nP8+31/GO+uz/psj7z6jzYsZBPL6KogylBM3tCDS/wDkrjNIOWgC4MorgC2MlgWLCXSesZzCWinAEoA0FAG9MOsE1VorFw0AiCd/orBF2Klc4HT3KaDctGQgF2RY+iETTzlFUAx/hDwlfmhxFjMrigS6wmXwGnG0kCiO2aTFI17xPrES8zmKhzt2MRo3uPdGIWjOgDxeNdOkbiCH/EUVyTq48cZxWIQ3g2TCTXZwT/c/ZAJpbnOOeJwN01mrMaLZ7JjO+5qywljeMRHErEZL3cM4Cdmy+SGFhzCZobMqM5E1rCM/TzB5gXdZEMZ+vMYu7cslDuqMZcrfCUkleccoL+8ozHjWcsujnGIDcyjF2VV8GUCCH5vOpRoTxYAAAAASUVORK5CYII=");background-color:#55cff8;border:1px solid #55CFF8}#sub-nav .social a.search{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAQAAADZc7J/AAAB6klEQVR4Ac3RM4AdURSA4RPbto06tm3btm3b7GLbttOsjWdrPG9OdFejRZWv/a8vqDM2s46nNot7vSusA5KrQfYk13CvYt6IXvwtiIKBuuWYnJAXsia+hPcEqhBtrsVZ2bu96EFN3LufpUGPfwCivoDNVQG00I0wHfqVY4GtG93G3Ne9mY/CNLGgRYxFgjdYOkMG9tkSptbDoMY3JW2PpCKgYGuLqWy1QYk3/YsSx5UFVdxAJPxnQc7eEgl6HmjiXpAv9cTlliXnWvwnaCkMmhxDkTA0liX2PPnpH6AjujIStsGyFHzwL/hugQ5P/qCHXHSGLIl3/wXqLuhwFsQAecYpskSfJX8cDTri6iBh7C1LrnmpqZLOCeYgkVBTlpJqIcGdAU1iHDlnkkqkPyHB9wBVuB8J5zqVbG+FhIiGrqDg24gprP5CoIa/hancuxNKQCpDk8BdTOWcBuqYIpIXUwWpwBXHButSzw76OWZARX1sAOrYWpIdsyDIfq8D6gylqFc6E3kkJOp7I9DiGMeFoQL9JLkeVQVpTMF/bwLaTB08O9inQqgQzf6kb7pWmpqTr6yNPiQk7nNjyD6+NlJIiKKnGWQfVZO3IyG9h5z4VEFwkTP8gJz5UoWNQhQDTBvIqeS2zA77SPgv/AJ8KLqSzEcuZAAAAABJRU5ErkJggg==");background-color:#afb6ca;border:1px solid #afb6ca}#sub-nav .social a.rss{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAQAAADZc7J/AAABd0lEQVR4Ae3UA+zXQRiA8Tfbtm3briHbtm03ZLuGbNsas227hvik27v7ffH33Gd+hvNJhCEbc5lCRyqTXMKCPnzlHRfYyhgqEUdCi3PYPrOeehIaHMTtLv0kpDiPt3s0lpCgFff5hLetxJeQICaZacBMbuL0mlISGpRgOU7NJXRIyyICdZDQohQ3sDUTP5RkNXPpRj5xYC22QuKNMxhcY3TgdWYKis9EFy8cxvaNMWJhBoqdwVxldZncotiKooq4MQov1UTxROsL8UI6qjDBNZNK1jajWos/anEBW3ox2KjtifhzbdptrSncM/PFUFCDta7WtkLcyEJj6ojBAjB+Ete1D5+IJoEYrj9ADlPugNFPDF5qKyc2qoF6RNS/rbKWS2KwWNtAsbEbW01TH2jJZkozLSvFxklsTV2voJ0pRbQcFRs9sCXRO2EwzZTUWm5KIPZi0ERbdm1rTImu5as40YFFTKd4QBvIcpazgFxamv0ty2ggf/33CwQ70ADWDdQbAAAAAElFTkSuQmCC");background-color:#ef7522;border:1px solid #ef7522}#sub-nav .social a.twitter:hover{border:1px solid #24c1f6}#sub-nav .social a.search:hover{border:1px solid #909ab6}#sub-nav .social a.rss:hover{border:1px solid #cf5d0f}article input.runcode,article button{-webkit-appearance:none;background:#12b0e6;border:none;border-radius:0;box-shadow:inset 0 -5px 20px rgba(0,0,0,.1);color:#fff;cursor:pointer;font-size:14px;line-height:1;margin-top:10px;padding:0.625em .5em}article button{margin-top:0}article input.runcode:hover,article input.runcode:focus,article input.runcode:active,article button:hover,article button:focus,article button:active{background:#f6ad08}article strong{font-weight:700}article em{font-style:italic}article blockquote{background-color:#f8f8f8;border-left:5px solid #2479CC;margin-top:10px;overflow:hidden;padding:15px 20px}article code{background-color:#eee;border-radius:5px;font-family:Consolas,Monaco,'Andale Mono',monospace;font-size:80%;margin:0 2px;padding:4px 5px;vertical-align:middle}article pre{background-color:#f8f8f8;border-left:5px solid #ccc;color:#5d6a6a;font-size:14px;line-height:1.6;overflow:hidden;padding:0.6em;position:relative;white-space:pre-wrap;word-break:break-word;word-wrap:break-word}article img{border:1px solid #ccc;display:block;margin:10px 0 5px;max-width:100%;padding:0}article table{border:0;border-collapse:collapse;border-spacing:0}article pre code{background-color:transparent;border-radius:0 0 0 0;border:0;display:block;font-size:100%;margin:0;padding:0;position:relative}article table th,article table td{border:0}article table th{border-bottom:2px solid #848484;padding:6px 20px;text-align:left}article table td{border-bottom:1px solid #d0d0d0;padding:6px 20px}article .copyright-info{font-size:14px}article .expire-tips{background-color:#ffffc0;border:1px solid #e2e2e2;border-left:5px solid #fff000;color:#333;font-size:15px;padding:5px 10px}article .post-info{font-size:14px}article .entry-content{color:#444;font-size:16px;font-family:Arial,'Hiragino Sans GB',冬青黑,'Microsoft YaHei',微软雅黑,SimSun,宋体,Helvetica,Tahoma,'Arial sans-serif';-webkit-font-smoothing:antialiased;line-height:1.8;word-wrap:break-word}article img.loaded{height:auto!important}article .entry-content p,article .entry-content blockquote,article .entry-content ul,article .entry-content ol,article .entry-content dl,article .entry-content table,article .entry-content iframe,article .entry-content h1,article .entry-content h2,article .entry-content h3,article .entry-content h4,article .entry-content h5,article .entry-content h6,article .entry-content p,article .entry-content pre{margin-top:15px}article pre b.name{color:#eee;font-family:"Consolas","Liberation Mono",Courier,monospace;font-size:60px;line-height:1;pointer-events:none;position:absolute;right:10px;top:10px}article .entry-content .date{color:#999;font-size:14px}article .entry-content a:hover{text-decoration:underline}article .entry-content ul ul,article .entry-content ul ol,article .entry-content ul dl,article .entry-content ol ul,article .entry-content ol ol,article .entry-content ol dl,article .entry-content dl ul,article .entry-content dl ol,article .entry-content dl dl,article .entry-content blockquote > p:first-of-type{margin-top:0}.page-navi{border-top:1px solid #fff;border-bottom:1px solid #ddd;line-height:20px;overflow:hidden;padding:20px 0;position:relative;width:100%}article.post-search{padding-bottom:0}article .entry-content ul,article .entry-content ol,article .entry-content dl{margin-left:25px}.page-navi .prev{float:left}.page-navi .next{float:right}.page-navi .center{margin:auto;text-align:center;width:80px}#comments{border-top:1px solid #fff;border-bottom:1px solid #ddd;min-height:350px;padding:20px 0}#switch_thread_mode{font-size:14px;font-weight:400;margin-left:8px}#disqus_thread,#simple_thread{line-height:1.6}#footer{border-top:1px solid #fff;font-size:.9em;line-height:2.2;padding:15px 70px 15px 40px;text-align:center;width:auto}#searchResult{min-height:350px}#toc-container,#toc{float:right}#toc{border:1px solid #e2e2e2;font-size:14px;margin:0 0 15px 20px;max-width:260px;min-width:120px;padding:6px}#search form{position:relative}#toc strong{border-bottom:1px solid #e2e2e2;display:block}#toc p{margin:0;padding:0 4px}#toc ul{margin:.5em .5em .5em 1.5em}#toc ul ul{margin-top:0;margin-bottom:0}#footer .beian{color:#666}#search .wrapper{margin-right:72px}#search .submit{-webkit-appearance:none;background-color:#e7e7e7;border:1px solid #bbb;border-left:0;border-radius:0;color:#222;display:block;font-size:16px;height:40px;outline:0;position:absolute;right:0;top:0;width:72px;cursor:pointer}#searchResult .info{border-bottom:1px solid #ddd;color:#676767;font-size:13px;padding:15px 0}#searchResult .no-result{background-color:#fff4c2;border:1px solid #fc3;font-size:13px;margin:15px 0;padding:5px}#searchResult .loading,#searchResult .hot-words{margin-top:20px}#searchResult .item{border-bottom:1px solid #ddd;padding:10px 0 20px}#comments h1.title{font-size:25px;font-weight:300;line-height:35px;margin-bottom:10px}#search .wrapper input{-webkit-appearance:none;border:1px solid #bbb;border-radius:0;box-sizing:border-box;display:block;font-size:16px;height:40px;outline:0;padding:4px 6px;width:100%}#searchResult .hot-words a{margin-right:20px}#searchResult .item:last-of-type{border-bottom:0}#searchResult .item .title{margin:5px 0}#searchResult .item .desc{font-size:14px;overflow:hidden}#searchResult .item .img{border:1px solid #ccc;float:left;height:81px;margin:4px 8px 0 0;width:108px}#searchResult .item .summary{-webkit-box-orient:vertical;display:block;display:-webkit-box;-webkit-line-clamp:4;line-height:22px;max-height:88px;text-overflow:ellipsis}#searchResult .item .title a{font-size:17px}#searchResult .item .img img{border:0;margin:0;width:100%}#searchResult .item .title b,#searchResult .item .desc b{color:#C00;font-weight:400}#searchResult .item .title .type{background-color:#eee;border-radius:3px;color:#888;display:inline-block;font-size:12px;margin-right:6px;padding:0 4px;position:relative;top:-1px}.hljs-comment,.diff .hljs-header,.hljs-doctype,.hljs-pi,.lisp .hljs-string,.hljs-javadoc{color:#999}.hljs-keyword,.hljs-winutils,.method,.hljs-addition,.css .hljs-tag,.hljs-request,.hljs-status,.nginx .hljs-title{color:#859900}.hljs-number,.hljs-command,.hljs-string,.hljs-tag .hljs-value,.hljs-rule .hljs-value,.hljs-phpdoc,.hljs-dartdoc,.tex .hljs-formula,.hljs-regexp,.hljs-hexcolor,.hljs-link_url{color:#2aa198}.hljs-title,.hljs-localvars,.hljs-chunk,.hljs-decorator,.hljs-built_in,.hljs-identifier,.vhdl .hljs-literal,.hljs-id,.css .hljs-function,.hljs-name{color:#268bd2}.hljs-attribute,.hljs-variable,.lisp .hljs-body,.smalltalk .hljs-number,.hljs-constant,.hljs-class .hljs-title,.hljs-parent,.hljs-type,.hljs-link_reference{color:#b58900}.hljs-preprocessor,.hljs-preprocessor .hljs-keyword,.hljs-pragma,.hljs-shebang,.hljs-symbol,.hljs-symbol .hljs-string,.diff .hljs-change,.hljs-special,.hljs-attr_selector,.hljs-subst,.hljs-cdata,.css .hljs-pseudo,.hljs-header{color:#cb4b16}.hljs-deletion,.hljs-important{color:#dc322f}.hljs-link_label{color:#6c71c4}.goog-te-gadget-simple{background-color:rgba(0,0,0,.6)!important;border:none!important;border-radius:0 6px 0 0}.goog-te-gadget img{opacity:.8}.tex .hljs-formula{background:#eee8d5}.goog-te-gadget-simple .goog-te-menu-value{color:#ccc!important}#google_translate_element{bottom:-1px;left:0;margin:0;position:fixed}@media screen and (max-width:1024px){article{padding-bottom:15px}.left-col{width:210px}.mid-col{margin-left:210px}.mid-col .mid-col-container{padding:0 20px}#header{margin-left:30px}#footer{padding:15px 20px}article h1.title,article .entry-content{margin-left:0}}@media screen and (max-width:640px){#header{margin-left:0;padding:20px 0;text-align:center}#main-nav{margin-top:10px}#main-nav ul li{display:inline;margin:0 10px;text-align:center}#header .profilepic a{background-image:url(//st.deepzz.com/static/img/avatar_small.jpg);background-size:100% 100%;height:56px;left:12px;margin:0;position:absolute;top:12px;width:56px}#sub-nav .social,#sub-nav .social a{margin-bottom:0}article{padding:20px 0}.left-col{background-image:none;position:relative;width:100%}.mid-col{float:none;margin-left:0;width:100%}article .meta{margin-bottom:10px;position:static;width:auto}.mid-col .mid-col-container{padding:0 10px}.mid-col article .meta{float:none;overflow:hidden}article .meta .date,article .meta .comment,article .meta .tags{display:inline;margin-right:5px;padding-left:0}article .meta .date{margin-right:30px}#footer{padding:15px 10px}#toc{margin:0}#toc,#toc-container{float:none}#sub-nav .social a{opacity:1}}#simple_thread ol,#simple_thread ul{list-style:none;list-style-type:none}#simple_thread > .thread{color:#2a2e2e;font-family:"Helvetica Neue",arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#simple_thread .thread-tips{background-color:#f0f8f4;border:1px solid #e2e2e2;border-left:5px solid #7cc4a0;color:#333;font-size:15px;margin-bottom:20px;padding:5px 10px}#simple_thread .avatar{float:left}#simple_thread .thread-tips a{font-weight:700;margin:0 3px}#simple_thread .publisher-anchor-color a{color:#2479cc!important}#simple_thread .clearfix:after,#simple_thread .clearfix:before{clear:both;content:"";display:table;line-height:0}#simple_thread .active .publisher-nav-color::after{background-color:#2479cc!important}#simple_thread .avatar .user,#simple_thread .avatar img{border-radius:3px;display:block}#simple_thread .nav{border-bottom:2px solid #e7e9ee;margin:0 0 20px;position:relative}#simple_thread .tab-conversation{float:left}#simple_thread .btn{background:#778289;background:rgba(29,47,58,.6);border:none;border-radius:3px;color:#fff;display:inline-block;font-weight:500;line-height:1.1;padding:10px 16px;text-shadow:none;transition:background .2s}#simple_thread .post-content{margin-bottom:24px;position:relative;transition:all .2s ease-in-out}#simple_thread .post-body{overflow:hidden}#simple_thread .post-header{font-size:13px;line-height:1;margin-bottom:3px;padding-right:46px}#simple_thread .post-meta{display:inline-block}#simple_thread .load-more{margin:0 0 24px}#simple_thread .avatar img{height:48px;width:48px}#simple_thread .nav-tab > a{color:#7f919e;display:block;font-weight:700;line-height:1;margin:0;padding:0;position:relative;transition:all .2s ease-in-out}#simple_thread .tab-conversation > a{font-size:15px;margin-right:15px;padding:12px 0;text-transform:capitalize}#simple_thread .post-body spoiler{background:#7f919e;color:transparent;display:inline;padding:0 .5em}#simple_thread .post-header a{color:#7f919e;line-height:1}#simple_thread .post-body-inner p{font-size:15px;line-height:21px;margin:0 0 15px;word-wrap:break-word}#simple_thread .media a{margin-right:10px}#simple_thread .avatar .user{background:#dbdfe4;padding:0;position:relative;z-index:100}#simple_thread .post .avatar{margin-right:12px}#simple_thread .btn:hover{background:#606d75;background:rgba(29,47,58,.7);color:#fff}#simple_thread .btn.active,#simple_thread .btn:active{background:#2e9fff;transition:none}#simple_thread .btn.busy{background:#ebeef2;color:#999;text-shadow:none}#simple_thread .post-content .indicator{border-radius:3px;height:48px;left:0;position:absolute;top:0;width:5px}#simple_thread .post-content.target{padding-left:12px}#simple_thread .post-header .author{color:#656c7a;font-weight:700}#simple_thread .post-header .time-ago{color:#7f919e;font-weight:500;font-size:12px}#simple_thread .post-meta .bullet{color:#c2c6cc;line-height:1.4;padding:0}#simple_thread .children .post{margin-left:60px}#simple_thread .load-more .btn{display:block;font-size:13px;font-weight:400;padding:11px 14px;text-align:center}#simple_thread.mobile .post-header{font-size:14px;line-height:18px;margin-bottom:4px;padding-right:0;position:relative;top:-4px}#simple_thread.mobile .post-body-inner{clear:left;overflow:visible;position:relative;top:-4px}#simple_thread.mobile .post-body{display:block;overflow:visible}#simple_thread .tab-conversation.active > a{color:#2a2e2e!important}#simple_thread .post-body a[data-dsq-mention]{font-weight:700}#simple_thread .post-body spoiler:hover,#simple_thread .post-body spoiler:focus{background:#e7e9ee;color:inherit}#simple_thread .post-body-inner p:last-child{margin:0}#simple_thread.mobile .avatar img{height:30px;width:30px}#simple_thread .btn.busy:active,#simple_thread .btn.busy:hover{background:#ebeef2;cursor:not-allowed;text-shadow:none}#simple_thread .post-content.target > .avatar{left:12px}#simple_thread .post-content.target .indicator{background:#ffc62e}#simple_thread .children .children .post{margin-left:48px}#simple_thread.mobile .post-header .post-byline{display:block;overflow:hidden;padding-right:15px;text-overflow:ellipsis;white-space:nowrap}#simple_thread.mobile .post-header .author{font-size:15px;line-height:18px}#simple_thread.mobile .post-meta .bullet{display:none}#simple_thread .tab-conversation.active > a:after{background:#2e9fff;bottom:-2px;content:" ";display:block;height:2px;left:0;position:absolute;right:0}#simple_thread .post-body a[data-dsq-mention]:before{content:'@'}#simple_thread.mobile .tab-conversation.active > a > span{display:none}#simple_thread.mobile .post-list .post .post-content{margin:0;padding:0;margin-bottom:16px;transition:none}#simple_thread.mobile .post-list .post .children{border-left:2px solid #e7e9ee;padding-left:17px}#simple_thread .children .post .avatar .user img{width:36px}#simple_thread .children .post .avatar .user img,#simple_thread .children .post .indicator{height:36px}#simple_thread .children .children .children .children .post{margin-left:0}#simple_thread.mobile .post-list .post .post-content .indicator{height:30px}#simple_thread.mobile .post-list .post .children .post,#simple_thread.mobile .post-list .post .children .post .post-content .post-body{margin-left:0}#simple_thread.mobile .post-list .post .post-content .avatar img{height:30px;width:30px}#simple_thread.mobile .post-list .post .children li:only-child{margin-bottom:20px}#simple_thread .children .children .children .children .post .post-body{margin-left:48px}#simple_thread .children .children .children .children .post .indicator{left:0}#simple_thread.mobile .post-list .post .post-content.target .avatar{margin-left:8px}#simple_thread.mobile .post-list .post .children .children .children{border-left:none;padding-left:0} +*{margin:0;padding:0}html,body{height:100%}body{background:#ddd;color:#666;font-size:14px;font-family:"-apple-system","Open Sans","HelveticaNeue-Light","Helvetica Neue Light","Helvetica Neue",Helvetica,Arial,sans-serif}::selection,::-moz-selection,::-webkit-selection{background-color:#2479cc;color:#eee}h1{font-size:2em}h3{font-size:1.3em}h4{font-size:1.1em}a{color:#2479cc;text-decoration:none}article{border-bottom:1px solid #ddd;border-top:1px solid #fff;padding:30px 0;position:relative}.container{max-width:1600px;min-height:100%;position:relative}.global-tips{display:none}.left-col{background-color:#50514c;background-image:url(//st.deepzz.com/static/img/bg04.jpg);background-size:cover;height:100%;position:fixed;width:270px}.mid-col{background:#fff;left:0;margin-left:270px;min-height:100%;position:absolute;right:0}article .meta{color:#555;float:right;font-size:.9em;line-height:2;position:relative;text-align:right;width:auto}article .meta a{color:#999}article h1.title{color:#333;font-size:2em;font-weight:300;line-height:35px;margin-bottom:25px}article h1.title a{color:#333;transition:color .3s}.mid-col .mid-col-container{padding:0 70px 0 40px}article .meta .date,article .meta .comment,article .meta .tags{position:relative}article .meta .date-modified{display:none}article h1.title a:hover{color:#2479cc}#header{border-bottom:0;height:auto;line-height:30px;margin-left:50px;padding:30px 0;width:100%}#main-nav{margin-left:0}#main-nav,#sub-nav{float:none;margin-top:15px}#sub-nav{position:relative}#content{margin:0 auto;width:100%}#header a{color:#efefef;text-shadow:0 1px #666;transition:color .3s}#header h1{float:none;font-weight:300;font-size:30px}#main-nav ul li{display:block;margin-left:0;position:relative}#header .subtitle{color:#ccc}#sub-nav .social{margin-bottom:10px}#header a:hover{color:#ccc}#header .profilepic a{background-image:url("data:image/jpeg;base64,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");background-size:100% 100%;border-radius:50%;display:block;height:160px;margin:15px 0 20px -10px;width:160px}#sub-nav .social a{background-size:20px 20px;background-position:center center;background-repeat:no-repeat;border-radius:50%;display:inline-block;height:28px;margin:0 6px 15px;opacity:.75;text-indent:-9999px;transition:opacity .3s;vertical-align:middle;width:28px}#sub-nav .social a:hover{opacity:1}#sub-nav .social a:first-of-type{margin-left:0}#sub-nav .social a:last-of-type{margin-right:0}#sub-nav .social a.twitter{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAQAAADZc7J/AAABOklEQVR4Ae3QM4DXYQCH8W+2m7Jt15Ztc8u29myba1O2NbXlmrJ11nP8+31/GO+uz/psj7z6jzYsZBPL6KogylBM3tCDS/wDkrjNIOWgC4MorgC2MlgWLCXSesZzCWinAEoA0FAG9MOsE1VorFw0AiCd/orBF2Klc4HT3KaDctGQgF2RY+iETTzlFUAx/hDwlfmhxFjMrigS6wmXwGnG0kCiO2aTFI17xPrES8zmKhzt2MRo3uPdGIWjOgDxeNdOkbiCH/EUVyTq48cZxWIQ3g2TCTXZwT/c/ZAJpbnOOeJwN01mrMaLZ7JjO+5qywljeMRHErEZL3cM4Cdmy+SGFhzCZobMqM5E1rCM/TzB5gXdZEMZ+vMYu7cslDuqMZcrfCUkleccoL+8ozHjWcsujnGIDcyjF2VV8GUCCH5vOpRoTxYAAAAASUVORK5CYII=");background-color:#55cff8;border:1px solid #55cff8}#sub-nav .social a.search{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAQAAADZc7J/AAAB6klEQVR4Ac3RM4AdURSA4RPbto06tm3btm3b7GLbttOsjWdrPG9OdFejRZWv/a8vqDM2s46nNot7vSusA5KrQfYk13CvYt6IXvwtiIKBuuWYnJAXsia+hPcEqhBtrsVZ2bu96EFN3LufpUGPfwCivoDNVQG00I0wHfqVY4GtG93G3Ne9mY/CNLGgRYxFgjdYOkMG9tkSptbDoMY3JW2PpCKgYGuLqWy1QYk3/YsSx5UFVdxAJPxnQc7eEgl6HmjiXpAv9cTlliXnWvwnaCkMmhxDkTA0liX2PPnpH6AjujIStsGyFHzwL/hugQ5P/qCHXHSGLIl3/wXqLuhwFsQAecYpskSfJX8cDTri6iBh7C1LrnmpqZLOCeYgkVBTlpJqIcGdAU1iHDlnkkqkPyHB9wBVuB8J5zqVbG+FhIiGrqDg24gprP5CoIa/hancuxNKQCpDk8BdTOWcBuqYIpIXUwWpwBXHButSzw76OWZARX1sAOrYWpIdsyDIfq8D6gylqFc6E3kkJOp7I9DiGMeFoQL9JLkeVQVpTMF/bwLaTB08O9inQqgQzf6kb7pWmpqTr6yNPiQk7nNjyD6+NlJIiKKnGWQfVZO3IyG9h5z4VEFwkTP8gJz5UoWNQhQDTBvIqeS2zA77SPgv/AJ8KLqSzEcuZAAAAABJRU5ErkJggg==");background-color:#afb6ca;border:1px solid #afb6ca}#sub-nav .social a.rss{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAQAAADZc7J/AAABd0lEQVR4Ae3UA+zXQRiA8Tfbtm3briHbtm03ZLuGbNsas227hvik27v7ffH33Gd+hvNJhCEbc5lCRyqTXMKCPnzlHRfYyhgqEUdCi3PYPrOeehIaHMTtLv0kpDiPt3s0lpCgFff5hLetxJeQICaZacBMbuL0mlISGpRgOU7NJXRIyyICdZDQohQ3sDUTP5RkNXPpRj5xYC22QuKNMxhcY3TgdWYKis9EFy8cxvaNMWJhBoqdwVxldZncotiKooq4MQov1UTxROsL8UI6qjDBNZNK1jajWos/anEBW3ox2KjtifhzbdptrSncM/PFUFCDta7WtkLcyEJj6ojBAjB+Ete1D5+IJoEYrj9ADlPugNFPDF5qKyc2qoF6RNS/rbKWS2KwWNtAsbEbW01TH2jJZkozLSvFxklsTV2voJ0pRbQcFRs9sCXRO2EwzZTUWm5KIPZi0ERbdm1rTImu5as40YFFTKd4QBvIcpazgFxamv0ty2ggf/33CwQ70ADWDdQbAAAAAElFTkSuQmCC");background-color:#ef7522;border:1px solid #ef7522}#sub-nav .social a.twitter:hover{border:1px solid #24c1f6}#sub-nav .social a.search:hover{border:1px solid #909ab6}#sub-nav .social a.rss:hover{border:1px solid #cf5d0f}article input.runcode,article button{-webkit-appearance:none;background:#12b0e6;border:0;border-radius:0;box-shadow:inset 0 -5px 20px rgba(0,0,0,.1);color:#fff;cursor:pointer;font-size:14px;line-height:1;margin-top:10px;padding:.625em .5em}article button{margin-top:0}article input.runcode:hover,article input.runcode:focus,article input.runcode:active,article button:hover,article button:focus,article button:active{background:#f6ad08}article strong{font-weight:700}article em{font-style:italic}article blockquote{background-color:#f8f8f8;border-left:5px solid #2479cc;margin-top:10px;overflow:hidden;padding:15px 20px}article code{background-color:#eee;border-radius:5px;font-family:Consolas,Monaco,'Andale Mono',monospace;font-size:80%;margin:0 2px;padding:4px 5px;vertical-align:middle}article pre{background-color:#f8f8f8;border-left:5px solid #ccc;color:#5d6a6a;font-size:14px;line-height:1.6;overflow:hidden;padding:.6em;position:relative;white-space:pre-wrap;word-break:break-word;word-wrap:break-word}article img{border:1px solid #ccc;display:block;margin:10px 0 5px;max-width:100%;padding:0}article table{border:0;border-collapse:collapse;border-spacing:0}article pre code{background-color:transparent;border-radius:0;border:0;display:block;font-size:100%;margin:0;padding:0;position:relative}article table th,article table td{border:0}article table th{border-bottom:2px solid #848484;padding:6px 20px;text-align:left}article table td{border-bottom:1px solid #d0d0d0;padding:6px 20px}article .copyright-info{font-size:14px}article .expire-tips{background-color:#ffffc0;border:1px solid #e2e2e2;border-left:5px solid #fff000;color:#333;font-size:15px;padding:5px 10px}article .post-info{font-size:14px}article .entry-content{color:#444;font-size:16px;font-family:Arial,'Hiragino Sans GB',冬青黑,'Microsoft YaHei',微软雅黑,SimSun,宋体,Helvetica,Tahoma,'Arial sans-serif';-webkit-font-smoothing:antialiased;line-height:1.8;word-wrap:break-word}article img.loaded{height:auto!important}article .entry-content p,article .entry-content blockquote,article .entry-content ul,article .entry-content ol,article .entry-content dl,article .entry-content table,article .entry-content iframe,article .entry-content h1,article .entry-content h2,article .entry-content h3,article .entry-content h4,article .entry-content h5,article .entry-content h6,article .entry-content p,article .entry-content pre{margin-top:15px}article pre b.name{color:#eee;font-family:"Consolas","Liberation Mono",Courier,monospace;font-size:60px;line-height:1;pointer-events:none;position:absolute;right:10px;top:10px}article .entry-content .date{color:#999;font-size:14px}article .entry-content a:hover{text-decoration:underline}article .entry-content ul ul,article .entry-content ul ol,article .entry-content ul dl,article .entry-content ol ul,article .entry-content ol ol,article .entry-content ol dl,article .entry-content dl ul,article .entry-content dl ol,article .entry-content dl dl,article .entry-content blockquote>p:first-of-type{margin-top:0}.total_thread{line-height:1.6}.page-navi{border-top:1px solid #fff;border-bottom:1px solid #ddd;line-height:20px;overflow:hidden;padding:20px 0;position:relative;width:100%}article.post-search{padding-bottom:0}article .entry-content ul,article .entry-content ol,article .entry-content dl{margin-left:25px}.page-navi .prev{float:left}.page-navi .next{float:right}.page-navi .center{margin:auto;text-align:center;width:80px}#comments{border-bottom:1px solid #ddd;min-height:350px;padding:20px 0}#comments,#footer{border-top:1px solid #fff}#footer{font-size:.9em;line-height:2.2;padding:15px 70px 15px 40px;text-align:center;width:auto}#searchResult{min-height:350px}#toc-container,#toc{float:right}#toc{border:1px solid #e2e2e2;font-size:14px;margin:0 0 15px 20px;max-width:260px;min-width:120px;padding:6px}#search form{position:relative}#toc strong{border-bottom:1px solid #e2e2e2;display:block}#toc p{margin:0;padding:0 4px}#toc ul{margin:.5em .5em .5em 1.5em}#toc ul ul{margin-top:0;margin-bottom:0}#footer .beian{color:#666}#search .wrapper{margin-right:72px}#search .submit{-webkit-appearance:none;background-color:#e7e7e7;border:1px solid #bbb;border-left:0;border-radius:0;color:#222;display:block;font-size:16px;height:40px;outline:0;position:absolute;right:0;top:0;width:72px;cursor:pointer}#searchResult .info{border-bottom:1px solid #ddd;color:#676767;font-size:13px;padding:15px 0}#searchResult .no-result{background-color:#fff4c2;border:1px solid #fc3;font-size:13px;margin:15px 0;padding:5px}#searchResult .loading,#searchResult .hot-words{margin-top:20px}#searchResult .item{border-bottom:1px solid #ddd;padding:10px 0 20px}#comments h1.title{font-size:25px;font-weight:300;line-height:35px;margin-bottom:10px}#search .wrapper input{-webkit-appearance:none;border:1px solid #bbb;border-radius:0;box-sizing:border-box;display:block;font-size:16px;height:40px;outline:0;padding:4px 6px;width:100%}#searchResult .hot-words a{margin-right:20px}#searchResult .item:last-of-type{border-bottom:0}#searchResult .item .title{margin:5px 0}#searchResult .item .desc{font-size:14px;overflow:hidden}#searchResult .item .img{border:1px solid #ccc;float:left;height:81px;margin:4px 8px 0 0;width:108px}#searchResult .item .summary{-webkit-box-orient:vertical;display:block;display:-webkit-box;-webkit-line-clamp:4;line-height:22px;max-height:88px;text-overflow:ellipsis}#searchResult .item .title a{font-size:17px}#searchResult .item .img img{border:0;margin:0;width:100%}#searchResult .item .title b,#searchResult .item .desc b{color:#C00;font-weight:400}#searchResult .item .title .type{background-color:#eee;border-radius:3px;color:#888;display:inline-block;font-size:12px;margin-right:6px;padding:0 4px;position:relative;top:-1px}.hljs-comment,.diff .hljs-header,.hljs-doctype,.hljs-pi,.lisp .hljs-string,.hljs-javadoc{color:#999}.hljs-keyword,.hljs-winutils,.method,.hljs-addition,.css .hljs-tag,.hljs-request,.hljs-status,.nginx .hljs-title{color:#859900}.hljs-number,.hljs-command,.hljs-string,.hljs-tag .hljs-value,.hljs-rule .hljs-value,.hljs-phpdoc,.hljs-dartdoc,.tex .hljs-formula,.hljs-regexp,.hljs-hexcolor,.hljs-link_url{color:#2aa198}.hljs-title,.hljs-localvars,.hljs-chunk,.hljs-decorator,.hljs-built_in,.hljs-identifier,.vhdl .hljs-literal,.hljs-id,.css .hljs-function,.hljs-name{color:#268bd2}.hljs-attribute,.hljs-variable,.lisp .hljs-body,.smalltalk .hljs-number,.hljs-constant,.hljs-class .hljs-title,.hljs-parent,.hljs-type,.hljs-link_reference{color:#b58900}.hljs-preprocessor,.hljs-preprocessor .hljs-keyword,.hljs-pragma,.hljs-shebang,.hljs-symbol,.hljs-symbol .hljs-string,.diff .hljs-change,.hljs-special,.hljs-attr_selector,.hljs-subst,.hljs-cdata,.css .hljs-pseudo,.hljs-header{color:#cb4b16}.hljs-deletion,.hljs-important{color:#dc322f}.hljs-link_label{color:#6c71c4}.tex .hljs-formula{background:#eee8d5}@media screen and (max-width:1024px){article{padding-bottom:15px}.left-col{width:210px}.mid-col{margin-left:210px}.mid-col .mid-col-container{padding:0 20px}#header{margin-left:30px}#footer{padding:15px 20px}article h1.title,article .entry-content{margin-left:0}}@media screen and (max-width:640px){#header{margin-left:0;padding:20px 0;text-align:center}#main-nav{margin-top:10px}#main-nav ul li{display:inline;margin:0 10px;text-align:center}#header .profilepic a{height:56px;left:12px;margin:0;position:absolute;top:12px;width:56px}#sub-nav .social,#sub-nav .social a{margin-bottom:0}article{padding:20px 0}.left-col{background-image:none;position:relative;width:100%}.mid-col{float:none;margin-left:0;width:100%}article .meta{margin-bottom:10px;position:static;width:auto}.mid-col .mid-col-container{padding:0 10px}.mid-col article .meta{float:none;overflow:hidden}article .meta .date,article .meta .comment,article .meta .tags{display:inline;margin-right:5px;padding-left:0}article .meta .date{margin-right:30px}#footer{padding:15px 10px}#toc{margin:0}#toc,#toc-container{float:none}#sub-nav .social a{opacity:1}}#simple_thread ol,#simple_thread ul{list-style:none;list-style-type:none}#simple_thread>.thread{color:#2a2e2e;font-family:"Helvetica Neue",arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#simple_thread .thread-new{margin-bottom:20px}#simple_thread .avatar{float:left}#simple_thread .publisher-anchor-color a{color:#2479cc!important}#simple_thread .thread-new .create-post{-webkit-appearance:none;background:#12b0e6;border:0;border-radius:0;box-shadow:inset 0 -5px 20px rgba(0,0,0,.1);color:#fff;cursor:pointer;font-size:14px;line-height:1;padding:.625em .5em}#simple_thread .thread-new .tips{color:#888}#simple_thread .clearfix:after,#simple_thread .clearfix:before{clear:both;content:"";display:table;line-height:0}#simple_thread .active .publisher-nav-color::after{background-color:#2479cc!important}#simple_thread .avatar .user,#simple_thread .avatar img{border-radius:3px;display:block}#simple_thread .nav{border-bottom:2px solid #e7e9ee;margin:0 0 20px;position:relative}#simple_thread .tab-conversation{float:left}#simple_thread .btn{background:#778289;background:rgba(29,47,58,.6);border:0;border-radius:3px;color:#fff;display:inline-block;font-weight:500;line-height:1.1;padding:10px 16px;text-shadow:none;transition:background .2s}#simple_thread .post-content{margin-bottom:24px;position:relative;transition:all .2s ease-in-out}#simple_thread .post-body{overflow:hidden}#simple_thread .post-header{font-size:13px;line-height:1;margin-bottom:3px;padding-right:46px}#simple_thread .post-meta{display:inline-block}#simple_thread .load-more{margin:0 0 24px}#simple_thread .avatar img{height:48px;width:48px}#simple_thread .nav-tab>a{color:#7f919e;display:block;font-weight:700;line-height:1;margin:0;padding:0;position:relative;transition:all .2s ease-in-out}#simple_thread .tab-conversation>a{font-size:15px;margin-right:15px;padding:12px 0;text-transform:capitalize}#simple_thread .post-body spoiler{background:#7f919e;color:transparent;display:inline;padding:0 .5em}#simple_thread .post-header a{color:#7f919e;line-height:1}#simple_thread .post-body-inner p{font-size:15px;line-height:21px;margin:0 0 15px;word-wrap:break-word}#simple_thread .media a{margin-right:10px}#simple_thread .avatar .user{background:#dbdfe4;padding:0;position:relative;z-index:100}#simple_thread .post .avatar{margin-right:12px}#simple_thread .btn:hover{background:#606d75;background:rgba(29,47,58,.7);color:#fff}#simple_thread .btn.active,#simple_thread .btn:active{background:#2e9fff;transition:none}#simple_thread .btn.busy{background:#ebeef2;color:#999;text-shadow:none}#simple_thread .post-content .indicator{border-radius:3px;height:48px;left:0;position:absolute;top:0;width:5px}#simple_thread .post-content.target{padding-left:12px}#simple_thread .post-header .author{color:#656c7a;font-weight:700}#simple_thread .post-header .time-ago,#simple_thread .post-header .reply{color:#656c7a;font-weight:500;font-size:12px}#simple_thread .post-meta .bullet{color:#c2c6cc;line-height:1.4;padding:0}#simple_thread .children .post{margin-left:60px}#simple_thread .load-more .btn{display:block;font-size:13px;font-weight:400;padding:11px 14px;text-align:center}#simple_thread.mobile .post-header{font-size:14px;line-height:18px;margin-bottom:4px;padding-right:0;position:relative;top:-4px}#simple_thread.mobile .post-body-inner{clear:left;overflow:visible;position:relative;top:-4px}#simple_thread.mobile .post-body{display:block;overflow:visible}#simple_thread .tab-conversation.active>a{color:#2a2e2e!important}#simple_thread .post-body a[data-dsq-mention]{font-weight:700}#simple_thread .post-body spoiler:hover,#simple_thread .post-body spoiler:focus{background:#e7e9ee;color:inherit}#simple_thread .post-body-inner p:last-child{margin:0}#simple_thread.mobile .avatar img,#simple_thread.mobile .post-list .post .post-content .avatar img{height:30px;width:30px}#simple_thread .btn.busy:active,#simple_thread .btn.busy:hover{background:#ebeef2;cursor:not-allowed;text-shadow:none}#simple_thread .post-content.target>.avatar{left:12px}#simple_thread .post-content.target .indicator{background:#ffc62e}#simple_thread .post-header .time-ago:hover,#simple_thread .post-header .reply:hover{color:#2a2e2e}#simple_thread .children .children .post{margin-left:48px}#simple_thread.mobile .post-header .post-byline{display:block;overflow:hidden;padding-right:15px;text-overflow:ellipsis;white-space:nowrap}#simple_thread.mobile .post-header .author{font-size:15px;line-height:18px}#simple_thread.mobile .post-meta .bullet-first{display:none}#simple_thread .tab-conversation.active>a:after{background:#2e9fff;bottom:-2px;content:" ";display:block;height:2px;left:0;position:absolute;right:0}#simple_thread .post-body a[data-dsq-mention]:before{content:'@'}#simple_thread.mobile .tab-conversation.active>a>span{display:none}#simple_thread .post.minimized>.post-content .post-body-inner{font-size:12px;line-height:36px;opacity:.7}#simple_thread .post.minimized>.post-content .post-header{display:none}#simple_thread.mobile .post-list .post .post-content{margin-bottom:16px;transition:none}#simple_thread.mobile .post-list .post .children{border-left:2px solid #e7e9ee;padding-left:17px}#simple_thread .post.minimized>.post-content .avatar img{border-radius:2px;height:36px}#simple_thread .post.minimized>.post-content .avatar img,#simple_thread .children .post .avatar .user img{width:36px}#simple_thread .children .post .avatar .user img,#simple_thread .children .post .indicator{height:36px}#simple_thread .children .children .children .children .post{margin-left:0}#simple_thread.mobile .post-list .post .post-content .indicator{height:30px}#simple_thread.mobile .post-list .post .children .post,#simple_thread.mobile .post-list .post .children .post .post-content .post-body{margin-left:0}#simple_thread.mobile .post-list .post.minimized>.post-content{margin-bottom:12px}#simple_thread.mobile .post-list .post .children li:only-child{margin-bottom:20px}#simple_thread .children .children .children .children .post .post-body{margin-left:48px}#simple_thread .children .children .children .children .post .indicator{left:0}#simple_thread.mobile .post-list .post .post-content.target .avatar{margin-left:8px}#simple_thread.mobile .post-list .post .children .children .children{border-left:none;padding-left:0}#simple_thread.mobile .post-list .post.minimized>.post-content .post-body-inner{clear:none} {{end}} diff --git a/views/st_blog_js.js b/views/st_blog_js.js index 8a3a2b9..9175226 100644 --- a/views/st_blog_js.js +++ b/views/st_blog_js.js @@ -1,3 +1,3 @@ {{define "blog_js"}} -var stringProto=String.prototype;stringProto.stripTags=function(){return this.replace(/<[^>]*>/gi,"")},stringProto.decode4Html=function(){var t=document.createElement("div");return t.innerHTML=this.stripTags(),t.childNodes[0]?t.childNodes[0].nodeValue||"":""},stringProto.queryUrl=function(t){var a=this.replace(/^[^?=]*\?/gi,"").split("#")[0],e={};return a.replace(/(^|&)([^&=]+)=([^&]*)/g,function(t,a,n,o){try{n=decodeURIComponent(n)}catch(s){}try{o=decodeURIComponent(o)}catch(s){}n in e?e[n] instanceof Array?e[n].push(o):e[n]=[e[n],o]:e[n]=/\[\]$/.test(n)?[o]:o}),t?e[t]:e},function(t){t.disqus_shortname="deepzz",$.each(["CURRENT_PAGE","CDN_DOMAIN"],function(a,e){t[e]="";var n=$("#"+e);n&&(t[e]=n.val())})}(this),function(t){function a(a){var e,n,o={selector:null,height:200};o=$.extend(o,a),e=o.height,n=function(){var a=$(t).scrollTop(),n=$(t).height()+a;$(o.selector).find("img[data-src]").each(function(){var t=$(this);setTimeout(function(){var o,s=t.offset(),i=t.height();s.top>n+e||s.top+i
'+(a.url?'':'')+'
'+a.message+'
';return e}function e(t){for(;t.length;){var e=[];t.forEach(function(t){var n=t.parent,o=s.find('ul[data-id="'+n+'"]');return o.length?void o.append(a(t)):void e.push(t)}),t=e}}function n(t){var a="";a=t.comments.length?'
本模式仅提供基础浏览功能。如需发表评论请点击这里(请确保你能流畅访问 disq.us | disquscdn.com | disqus.com)
    ':'

    没有找到任何评论数据~

    点此发表评论 \xbb

    ',s.html(a)}function o(){if(!i){i=!0;var a;a=r?"/disqus/"+t.simple_config.id+"?cursor="+r:"/disqus/"+t.simple_config.id,$.get(a,{},function(a){var o;i=!1,a&&0==a.errno?(r?e(a.data.comments):(n(a.data),e(a.data.comments),$(t).trigger("hashchange","scrollIntoView")),o=s.find(".load-more a"),a.data.next?o.removeClass("busy"):o.hide(),r=a.data.next,$(t).trigger("scroll")):s.html('

    获取数据失败,请稍后再试!

    ')})}}var s=$("#simple_thread"),i=!1,r="";s.on("click",".load-more a",function(t){t.preventDefault(),$(this).addClass("busy"),o()}).on("click",".time-ago",function(t){t.preventDefault(),location.hash="simple-"+$(this).data("id")}),$(t).on("hashchange",function(a,e){var n,o=location.hash.match(/#(?:comment|simple)-(\d+)/);o&&(n=s.find("#post-"+o[1]),n.length&&(s.find(".post-content.target").removeClass("target"),n.find("> .post-content").addClass("target"),e&&$(t).scrollTop(n.offset().top-90)))}),/(iPhone|Android)/.test(navigator.userAgent)&&s.addClass("mobile"),t.initSimpleThread=o}(window,document),function(t,a){return"127.0.0.1"!=a.domain&&"deepzz.com"!=a.domain?void (location.href=location.href.replace(/(https?:\/\/[^\/]+)\//i,"//deepzz.com/")):(function(){var t,a=location.search.queryUrl();"1"==a.clear_ls&&(delete a.clear_ls,t=$.param(a),setTimeout(function(){t?location.search=$.param(a):location.href=location.href.replace(/\?.*$/,"")},300))}(),void $(function(){lazyLoad({selector:"#content",height:100}),function(){var t=$("#content"),a=t.find("img"),e=t.width();a.each(function(){var t=$(this),a=0|t.attr("width"),n=0|t.attr("height"),o=t.prop("complete");a>e&&t.attr("height",Math.ceil(n/a*e)),t.prop("src")&&(o?t.addClass("loaded"):t.on("load",function(){t.addClass("loaded")}))})}(),function(){if("search-post"==CURRENT_PAGE){var t=$("#keyword");t.val()||t.focus()}}(),function(){var a,e,n,o,s=$("#disqus_thread"),i=$("#simple_thread"),r=!1,c=!1,l=$("#switch_thread_mode");l.length&&(t.disqus_config=function(){this.page.url=s.data("url"),this.page.identifier=s.data("identifier")},t.simple_config={id:i.data("id")},a=function(a){var e=new Image,n=setTimeout(function(){e.onerror=e.onload=null,a(-1)},2500);e.onerror=function(){clearTimeout(n),a(0)},e.onload=function(){clearTimeout(n),a(1)},e.src="https://disqus.com/favicon.ico?"+ +new Date,t.__disqus_img=e},e=function(){s.show(),i.hide(),l.html('「切换到评论浏览模式」'),localStorage.comment_type="disqus_thread",r||(r=!0,s.html("评论加载中...

    注:如果长时间无法加载,请针对 disq.us | disquscdn.com | disqus.com 启用代理;或者切换到评论浏览模式。"),$.ajax({url:t.CDN_DOMAIN+"/static/js/disqus_e8238e.js",dataType:"script",cache:!0}),c||a(function(t){1>t&&(location.hash="simple_thread")}))},n=function(){s.hide(),i.show(),l.html('「切换到评论完整模式」'),localStorage.comment_type="simple_thread",c||(c=!0,i.html("评论加载中...

    注:本模式仅供浏览,如需发表评论请切换到评论完整模式。"),t.initSimpleThread())},o=function(){var t=location.hash;return"#simple_thread"==t||/#simple-\d+$/.test(t)?(n(),!0):"#disqus_thread"==t||/#comment-\d+$/.test(t)?(e(),!0):void 0},$(t).on("hashchange",o),setTimeout(function(){/ # (simple | comment) - \d + $ /.test(location.hash)&&$("#comments").get(0).scrollIntoView();var a=setInterval(function(){var i=s.offset().top,r=$(t).scrollTop();if(Math.abs(i-r)<1000){if(clearTimeout(a),o()){return}if("simple_thread"==localStorage.comment_type){return void n()}e()}},150)},250))}()}))}(this,document),function(t){$(function(){$(".entry-content pre").each(function(t){var a,e,n,o=$(this),s=o.find("code");if(s.length&&s.prop("className")&&(s.hasClass("language-html")&&(a="__HTML_CODE_"+t,s.prop("id",a),e=$(''),e.insertAfter(o)),s.html().split("\n").length>3&&s.prop("className").indexOf("language")>-1)){switch(n=s.prop("className").replace("language-","").toUpperCase()){case"XML":n="HTML";break;case"SHELL":n="BASH"}$(''+n+"").insertBefore(s)}}),$(".entry-content input.runcode").each(function(){var a=$(this);a.click(function(a){var e,n,o;a.preventDefault(),e=$("#"+$(this).data("id")).html().stripTags().decode4Html(),n=t.open("","_preview",""),o=n.document,o.open(),o.write(e),o.close()})}),$(".entry-content > pre code").each(function(i,block){hljs.highlightBlock(block)})})}(this),function(){$(function(){$(".entry-content img[data-replace]").each(function(){var t=$(this);t.click(function(){var a,e,n,o,s=1000*(t.data("dur")||20);t.css("cursor")&&(a="/static/img/blank.gif",e=t.prop("src"),n=t.data("replace"),t.prop("src",a),t.css("cursor",""),o=new Image,o.onload=function(){t.prop("src",n),setTimeout(function(){t.prop("src",e),t.css("cursor","pointer")},s)},o.src=n)}),t.css("cursor","pointer")})})}(this); +var stringProto=String.prototype;stringProto.stripTags=function(){return this.replace(/<[^>]*>/gi,"")},stringProto.decode4Html=function(){var t=document.createElement("div");return t.innerHTML=this.stripTags(),t.childNodes[0]?t.childNodes[0].nodeValue||"":""},stringProto.queryUrl=function(t){var a=this.replace(/^[^?=]*\?/gi,"").split("#")[0],e={};return a.replace(/(^|&)([^&=]+)=([^&]*)/g,function(t,a,n,i){try{n=decodeURIComponent(n)}catch(o){}try{i=decodeURIComponent(i)}catch(o){}n in e?e[n] instanceof Array?e[n].push(i):e[n]=[e[n],i]:e[n]=/\[\]$/.test(n)?[i]:i}),t?e[t]:e},function(t){t.disqus_shortname="deepzz",$.each(["CURRENT_PAGE","CDN_DOMAIN"],function(a,e){t[e]="";var n=$("#"+e);n&&(t[e]=n.val())})}(this),function(t){function a(a){var e,n,i={selector:null,height:200};i=$.extend(i,a),e=i.height,n=function(){var a=$(t).scrollTop(),n=$(t).height()+a;$(i.selector).find("img[data-src]").each(function(){var t=$(this);setTimeout(function(){var i,o=t.offset(),s=t.height();o.top>n+e||o.top+s'),e.insertAfter(i)),o.html().split("\n").length>3&&o.prop("className").indexOf("language")>-1)){switch(n=o.prop("className").replace("language-","").toUpperCase()){case"XML":n="HTML";break;case"SHELL":n="BASH"}$(''+n+"").insertBefore(o)}}),$(".entry-content input.runcode").each(function(){var a=$(this);a.click(function(a){var e,n,i;a.preventDefault(),e=$("#"+$(this).data("id")).html().stripTags().decode4Html(),n=t.open("","_preview",""),i=n.document,i.open(),i.write(e),i.close()})}),$(".entry-content > pre code").each(function(i,block){hljs.highlightBlock(block)})})}(this),function(){$(function(){$(".entry-content img[data-replace]").each(function(){var t=$(this);t.click(function(){var a,e,n,i,o=1000*(t.data("dur")||20);t.css("cursor")&&(a="/static/img/blank.gif",e=t.prop("src"),n=t.data("replace"),t.prop("src",a),t.css("cursor",""),i=new Image,i.onload=function(){t.prop("src",n),setTimeout(function(){t.prop("src",e),t.css("cursor","pointer")},o)},i.src=n)}),t.css("cursor","pointer")})})}(this),function(t){var a=function(){var t=[],a="comment_type";return{addService:function(a){t.push(a)},clear:function(){localStorage.removeItem(a)},init:function(e){var n,i,o,s;return t.length?e.length?(n=e.data("url")||location.href,i=e.data("identifier"),n&&i?(o=function(s){var r,c=t[s];c&&(r=$("
    ").prop("id",c.id),e.append(r),c.init(r,n,i),c.check(function(t){t?(r.hide(),o(++s)):(c.load(),localStorage[a]=s)},r,n,i))},s=0,localStorage.comment_type&&(s=parseInt(localStorage[a],10)||0),s=Math.min(t.length-1,s),s=Math.max(s,0),void o(s)):void alert("没有找到评论所需标记!")):void alert("没有找到评论容器!"):void alert("没有找到可用的服务!")}}}();t.TotalThread=a}(this),function(t){var a=function(){var a=!1;return{id:"disqus_thread",check:function(a){var e=new Image,n=setTimeout(function(){e.onerror=e.onload=null,a(1)},2500);e.onerror=function(){clearTimeout(n),a(2)},e.onload=function(){clearTimeout(n),a(0)},e.src="https://disqus.com/favicon.ico?"+ +new Date,t.__disqus_img=e},load:function(){if(!a){a=!0;var e=this;t.disqus_config=function(){this.page.url=e.url,this.page.identifier=e.identifier},$.ajax({url:t.CDN_DOMAIN+"/static/js/disqus_a9d3fd.js",dataType:"script",cache:!0})}},init:function(t,a,e){t.html("评论完整模式加载中...

    注:如果长时间无法加载,请针对 disq.us | disquscdn.com | disqus.com 启用代理。"),this.elThread=t,this.url=a,this.identifier=e}}}();t.TotalThread.addService(a)}(this),function(t){var a=function(){var a=!1,e=function(a,e){var n=!1,i="",o=function(a){var e='
  • '+(a.url?'':'')+'
    '+a.message+'
    • ';return e},s=function(t){for(;t.length;){var e=[];t.forEach(function(t){var n=t.parent,i=a.find('ul[data-id="'+n+'"]');return i.length?void i.append(o(t)):void e.push(t)}),t=e}},r=function(t){var n="";n=t.comments.length?'':'

      没有找到任何评论数据~

      ',a.attr("data-thread",t.thread),a.attr("data-identifier",e),a.html(n)},c=function(){if(!n){n=!0;var o;o=i?"/disqus/"+e+"/"+encodeURIComponent(i):"/disqus/"+e,$.get(o,{},function(e){var o;n=!1,e&&0==e.errno?(i?s(e.data.comments):(r(e.data),s(e.data.comments),$(t).trigger("hashchange","scrollIntoView")),o=a.find(".load-more a"),e.data.next?o.removeClass("busy"):o.hide(),i=e.data.next,$(t).trigger("scroll")):a.html('

      获取数据失败,请稍后再试!

      ')})}};a.on("click",".load-more a",function(t){t.preventDefault(),$(this).addClass("busy"),c()}).on("click","a.time-ago",function(t){t.preventDefault(),location.hash="comment-"+$(this).data("id")}).on("click","a.reload",function(a){a.preventDefault(),t.TotalThread.clear(),location.hash="comments",location.reload()}).on("click","a.reply, button.create-post",function(e){var n,i,o,s,r,c,l,d,u;e.preventDefault(),n=a.data("identifier"),i=a.data("thread"),o=$(this).data("next"),s=$(this).data("id"),r=420,c=520,l=t.screen.width-r/2,d=t.screen.height-c/2,u=[n,i,s,o].join("|"),t.open("/disqus/form/"+encodeURIComponent(u)+"/","_create_post","width="+r+",height="+c+",location=1,status=1,resizable=1,scrollbars=1,left="+l+",top="+d)}),$(t).on("hashchange",function(e,n){var i,o=location.hash.match(/#comment\-(\d+)/);o&&(i=a.find("#post-"+o[1]),i.length&&(a.find(".post-content.target").removeClass("target"),i.find("> .post-content").addClass("target"),n&&$(t).scrollTop(i.offset().top-90)))}),/(iPhone|Android)/.test(navigator.userAgent)&&a.addClass("mobile"),c()};return{id:"simple_thread",check:function(t){t(0)},load:function(){a||(a=!0,e(this.elThread,this.identifier))},init:function(t,a,e){t.html("评论基础模式加载中...

      注:本模式仅支持最基本的评论功能,如需完整体验请针对 disq.us | disquscdn.com | disqus.com 启用代理。"),this.elThread=t,this.url=a,this.identifier=e}}}();t.TotalThread.addService(a)}(this),function(t,a){var e=a.domain;return"st.deepzz.com"==e?void (location.href=location.href.replace(/(https?:\/\/[^\/]+)\//i,"//deepzz.com/")):(function(){var t,a=location.search.queryUrl();"1"==a.clear_ls&&(delete a.clear_ls,t=$.param(a),setTimeout(function(){t?location.search=$.param(a):location.href=location.href.replace(/\?.*$/,"")},300))}(),void $(function(){lazyLoad({selector:"#content",height:100}),function(){var t=$("#content"),a=t.find("img"),e=t.width();a.each(function(){var t=$(this),a=0|t.attr("width"),n=0|t.attr("height"),i=t.prop("complete");a>e&&t.attr("height",Math.ceil(n/a*e)),t.prop("src")&&(i?t.addClass("loaded"):t.on("load",function(){t.addClass("loaded")}))})}(),function(){if("search-post"==CURRENT_PAGE){var t=$("#keyword");t.val()||t.focus()}}(),function(){var a=$(".total_thread");a.length&&setTimeout(function(){/ #comment - \d + $ /.test(location.hash)&&$("#comments").get(0).scrollIntoView();var e=setInterval(function(){var n=a.offset().top,i=$(t).scrollTop();Math.abs(n-i)<1000&&(clearTimeout(e),t.TotalThread.init(a))},150)},250)}()}))}(this,document); {{end}} diff --git a/views/st_jq_js.js b/views/st_jq_js.js index 1186583..27ac2e1 100644 --- a/views/st_jq_js.js +++ b/views/st_jq_js.js @@ -1,4 +1,6 @@ {{define "jq_js"}} -!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(e,t){"use strict";function n(e,t){t=t||jt;var n=t.createElement("script");n.text=e,t.head.appendChild(n).parentNode.removeChild(n)}function r(e){var t=!!e&&"length"in e&&e.length,n=Bt.type(e);return"function"!==n&&!Bt.isWindow(e)&&("array"===n||0===t||"number"==typeof t&&t>0&&t-1 in e)}function i(e,t,n){if(Bt.isFunction(t))return Bt.grep(e,function(e,r){return!!t.call(e,r,e)!==n});if(t.nodeType)return Bt.grep(e,function(e){return e===t!==n});if("string"==typeof t){if(re.test(t))return Bt.filter(t,e,n);t=Bt.filter(t,e)}return Bt.grep(e,function(e){return Ft.call(t,e)>-1!==n&&1===e.nodeType})}function o(e,t){for(;(e=e[t])&&1!==e.nodeType;);return e}function s(e){var t={};return Bt.each(e.match(le)||[],function(e,n){t[n]=!0}),t}function a(e){return e}function u(e){throw e}function l(e,t,n){var r;try{e&&Bt.isFunction(r=e.promise)?r.call(e).done(t).fail(n):e&&Bt.isFunction(r=e.then)?r.call(e,t,n):t.call(void 0,e)}catch(e){n.call(void 0,e)}}function c(){jt.removeEventListener("DOMContentLoaded",c),e.removeEventListener("load",c),Bt.ready()}function f(){this.expando=Bt.expando+f.uid++}function p(e,t,n){var r;if(void 0===n&&1===e.nodeType)if(r="data-"+t.replace(ve,"-$&").toLowerCase(),n=e.getAttribute(r),"string"==typeof n){try{n="true"===n||"false"!==n&&("null"===n?null:+n+""===n?+n:me.test(n)?JSON.parse(n):n)}catch(i){}ge.set(e,t,n)}else n=void 0;return n}function d(e,t,n,r){var i,o=1,s=20,a=r?function(){return r.cur()}:function(){return Bt.css(e,t,"")},u=a(),l=n&&n[3]||(Bt.cssNumber[t]?"":"px"),c=(Bt.cssNumber[t]||"px"!==l&&+u)&&xe.exec(Bt.css(e,t));if(c&&c[3]!==l){l=l||c[3],n=n||[],c=+u||1;do o=o||".5",c/=o,Bt.style(e,t,c+l);while(o!==(o=a()/u)&&1!==o&&--s)}return n&&(c=+c||+u||0,i=n[1]?c+(n[1]+1)*n[2]:+n[2],r&&(r.unit=l,r.start=c,r.end=i)),i}function h(e){var t,n=e.ownerDocument,r=e.nodeName,i=Ce[r];return i?i:(t=n.body.appendChild(n.createElement(r)),i=Bt.css(t,"display"),t.parentNode.removeChild(t),"none"===i&&(i="block"),Ce[r]=i,i)}function g(e,t){for(var n,r,i=[],o=0,s=e.length;s>o;o++)r=e[o],r.style&&(n=r.style.display,t?("none"===n&&(i[o]=he.get(r,"display")||null,i[o]||(r.style.display="")),""===r.style.display&&we(r)&&(i[o]=h(r))):"none"!==n&&(i[o]="none",he.set(r,"display",n)));for(o=0;s>o;o++)null!=i[o]&&(e[o].style.display=i[o]);return e}function m(e,t){var n=void 0!==e.getElementsByTagName?e.getElementsByTagName(t||"*"):void 0!==e.querySelectorAll?e.querySelectorAll(t||"*"):[];return void 0===t||t&&Bt.nodeName(e,t)?Bt.merge([e],n):n}function v(e,t){for(var n=0,r=e.length;r>n;n++)he.set(e[n],"globalEval",!t||he.get(t[n],"globalEval"))}function y(e,t,n,r,i){for(var o,s,a,u,l,c,f=t.createDocumentFragment(),p=[],d=0,h=e.length;h>d;d++)if(o=e[d],o||0===o)if("object"===Bt.type(o))Bt.merge(p,o.nodeType?[o]:o);else if(De.test(o)){for(s=s||f.appendChild(t.createElement("div")),a=(Ee.exec(o)||["",""])[1].toLowerCase(),u=Ne[a]||Ne._default,s.innerHTML=u[1]+Bt.htmlPrefilter(o)+u[2],c=u[0];c--;)s=s.lastChild;Bt.merge(p,s.childNodes),s=f.firstChild,s.textContent=""}else p.push(t.createTextNode(o));for(f.textContent="",d=0;o=p[d++];)if(r&&Bt.inArray(o,r)>-1)i&&i.push(o);else if(l=Bt.contains(o.ownerDocument,o),s=m(f.appendChild(o),"script"),l&&v(s),n)for(c=0;o=s[c++];)Se.test(o.type||"")&&n.push(o);return f}function x(){return!0}function b(){return!1}function w(){try{return jt.activeElement}catch(e){}}function T(e,t,n,r,i,o){var s,a;if("object"==typeof t){"string"!=typeof n&&(r=r||n,n=void 0);for(a in t)T(e,a,n,r,t[a],o);return e}if(null==r&&null==i?(i=n,r=n=void 0):null==i&&("string"==typeof n?(i=r,r=void 0):(i=r,r=n,n=void 0)),i===!1)i=b;else if(!i)return e;return 1===o&&(s=i,i=function(e){return Bt().off(e),s.apply(this,arguments)},i.guid=s.guid||(s.guid=Bt.guid++)),e.each(function(){Bt.event.add(this,t,i,r,n)})}function C(e,t){return Bt.nodeName(e,"table")&&Bt.nodeName(11!==t.nodeType?t:t.firstChild,"tr")?e.getElementsByTagName("tbody")[0]||e:e}function k(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function E(e){var t=Pe.exec(e.type);return t?e.type=t[1]:e.removeAttribute("type"),e}function S(e,t){var n,r,i,o,s,a,u,l;if(1===t.nodeType){if(he.hasData(e)&&(o=he.access(e),s=he.set(t,o),l=o.events)){delete s.handle,s.events={};for(i in l)for(n=0,r=l[i].length;r>n;n++)Bt.event.add(t,i,l[i][n])}ge.hasData(e)&&(a=ge.access(e),u=Bt.extend({},a),ge.set(t,u))}}function N(e,t){var n=t.nodeName.toLowerCase();"input"===n&&ke.test(e.type)?t.checked=e.checked:"input"!==n&&"textarea"!==n||(t.defaultValue=e.defaultValue)}function D(e,t,r,i){t=Lt.apply([],t);var o,s,a,u,l,c,f=0,p=e.length,d=p-1,h=t[0],g=Bt.isFunction(h);if(g||p>1&&"string"==typeof h&&!Wt.checkClone&&Oe.test(h))return e.each(function(n){var o=e.eq(n);g&&(t[0]=h.call(this,n,o.html())),D(o,t,r,i)});if(p&&(o=y(t,e[0].ownerDocument,!1,e,i),s=o.firstChild,1===o.childNodes.length&&(o=s),s||i)){for(a=Bt.map(m(o,"script"),k),u=a.length;p>f;f++)l=o,f!==d&&(l=Bt.clone(l,!0,!0),u&&Bt.merge(a,m(l,"script"))),r.call(e[f],l,f);if(u)for(c=a[a.length-1].ownerDocument,Bt.map(a,E),f=0;u>f;f++)l=a[f],Se.test(l.type||"")&&!he.access(l,"globalEval")&&Bt.contains(c,l)&&(l.src?Bt._evalUrl&&Bt._evalUrl(l.src):n(l.textContent.replace(Re,""),c))}return e}function j(e,t,n){for(var r,i=t?Bt.filter(t,e):e,o=0;null!=(r=i[o]);o++)n||1!==r.nodeType||Bt.cleanData(m(r)),r.parentNode&&(n&&Bt.contains(r.ownerDocument,r)&&v(m(r,"script")),r.parentNode.removeChild(r));return e}function A(e,t,n){var r,i,o,s,a=e.style;return n=n||We(e),n&&(s=n.getPropertyValue(t)||n[t],""!==s||Bt.contains(e.ownerDocument,e)||(s=Bt.style(e,t)),!Wt.pixelMarginRight()&&Ie.test(s)&&Me.test(t)&&(r=a.width,i=a.minWidth,o=a.maxWidth,a.minWidth=a.maxWidth=a.width=s,s=n.width,a.width=r,a.minWidth=i,a.maxWidth=o)),void 0!==s?s+"":s}function q(e,t){return{get:function(){return e()?void delete this.get:(this.get=t).apply(this,arguments)}}}function L(e){if(e in Xe)return e;for(var t=e[0].toUpperCase()+e.slice(1),n=ze.length;n--;)if(e=ze[n]+t,e in Xe)return e}function H(e,t,n){var r=xe.exec(t);return r?Math.max(0,r[2]-(n||0))+(r[3]||"px"):t}function F(e,t,n,r,i){for(var o=n===(r?"border":"content")?4:"width"===t?1:0,s=0;4>o;o+=2)"margin"===n&&(s+=Bt.css(e,n+be[o],!0,i)),r?("content"===n&&(s-=Bt.css(e,"padding"+be[o],!0,i)),"margin"!==n&&(s-=Bt.css(e,"border"+be[o]+"Width",!0,i))):(s+=Bt.css(e,"padding"+be[o],!0,i),"padding"!==n&&(s+=Bt.css(e,"border"+be[o]+"Width",!0,i)));return s}function O(e,t,n){var r,i=!0,o=We(e),s="border-box"===Bt.css(e,"boxSizing",!1,o);if(e.getClientRects().length&&(r=e.getBoundingClientRect()[t]),0>=r||null==r){if(r=A(e,t,o),(0>r||null==r)&&(r=e.style[t]),Ie.test(r))return r;i=s&&(Wt.boxSizingReliable()||r===e.style[t]),r=parseFloat(r)||0}return r+F(e,t,n||(s?"border":"content"),i,o)+"px"}function P(e,t,n,r,i){return new P.prototype.init(e,t,n,r,i)}function R(){Ve&&(e.requestAnimationFrame(R),Bt.fx.tick())}function M(){return e.setTimeout(function(){Ue=void 0}),Ue=Bt.now()}function I(e,t){var n,r=0,i={height:e};for(t=t?1:0;4>r;r+=2-t)n=be[r],i["margin"+n]=i["padding"+n]=e;return t&&(i.opacity=i.width=e),i}function W(e,t,n){for(var r,i=(_.tweeners[t]||[]).concat(_.tweeners["*"]),o=0,s=i.length;s>o;o++)if(r=i[o].call(n,t,e))return r}function $(e,t,n){var r,i,o,s,a,u,l,c,f="width"in t||"height"in t,p=this,d={},h=e.style,m=e.nodeType&&we(e),v=he.get(e,"fxshow");n.queue||(s=Bt._queueHooks(e,"fx"),null==s.unqueued&&(s.unqueued=0,a=s.empty.fire,s.empty.fire=function(){s.unqueued||a()}),s.unqueued++,p.always(function(){p.always(function(){s.unqueued--,Bt.queue(e,"fx").length||s.empty.fire()})}));for(r in t)if(i=t[r],Ge.test(i)){if(delete t[r],o=o||"toggle"===i,i===(m?"hide":"show")){if("show"!==i||!v||void 0===v[r])continue;m=!0}d[r]=v&&v[r]||Bt.style(e,r)}if(u=!Bt.isEmptyObject(t),u||!Bt.isEmptyObject(d)){f&&1===e.nodeType&&(n.overflow=[h.overflow,h.overflowX,h.overflowY],l=v&&v.display,null==l&&(l=he.get(e,"display")),c=Bt.css(e,"display"),"none"===c&&(l?c=l:(g([e],!0),l=e.style.display||l,c=Bt.css(e,"display"),g([e]))),("inline"===c||"inline-block"===c&&null!=l)&&"none"===Bt.css(e,"float")&&(u||(p.done(function(){h.display=l}),null==l&&(c=h.display,l="none"===c?"":c)),h.display="inline-block")),n.overflow&&(h.overflow="hidden",p.always(function(){h.overflow=n.overflow[0],h.overflowX=n.overflow[1],h.overflowY=n.overflow[2]})),u=!1;for(r in d)u||(v?"hidden"in v&&(m=v.hidden):v=he.access(e,"fxshow",{display:l}),o&&(v.hidden=!m),m&&g([e],!0),p.done(function(){m||g([e]),he.remove(e,"fxshow");for(r in d)Bt.style(e,r,d[r])})),u=W(m?v[r]:0,r,p),r in v||(v[r]=u.start,m&&(u.end=u.start,u.start=0))}}function B(e,t){var n,r,i,o,s;for(n in e)if(r=Bt.camelCase(n),i=t[r],o=e[n],Bt.isArray(o)&&(i=o[1],o=e[n]=o[0]),n!==r&&(e[r]=o,delete e[n]),s=Bt.cssHooks[r],s&&"expand"in s){o=s.expand(o),delete e[r];for(n in o)n in e||(e[n]=o[n],t[n]=i)}else t[r]=i}function _(e,t,n){var r,i,o=0,s=_.prefilters.length,a=Bt.Deferred().always(function(){delete u.elem}),u=function(){if(i)return!1;for(var t=Ue||M(),n=Math.max(0,l.startTime+l.duration-t),r=n/l.duration||0,o=1-r,s=0,u=l.tweens.length;u>s;s++)l.tweens[s].run(o);return a.notifyWith(e,[l,o,n]),1>o&&u?n:(a.resolveWith(e,[l]),!1)},l=a.promise({elem:e,props:Bt.extend({},t),opts:Bt.extend(!0,{specialEasing:{},easing:Bt.easing._default},n),originalProperties:t,originalOptions:n,startTime:Ue||M(),duration:n.duration,tweens:[],createTween:function(t,n){var r=Bt.Tween(e,l.opts,t,n,l.opts.specialEasing[t]||l.opts.easing);return l.tweens.push(r),r},stop:function(t){var n=0,r=t?l.tweens.length:0;if(i)return this;for(i=!0;r>n;n++)l.tweens[n].run(1);return t?(a.notifyWith(e,[l,1,0]),a.resolveWith(e,[l,t])):a.rejectWith(e,[l,t]),this}}),c=l.props;for(B(c,l.opts.specialEasing);s>o;o++)if(r=_.prefilters[o].call(l,e,c,l.opts))return Bt.isFunction(r.stop)&&(Bt._queueHooks(l.elem,l.opts.queue).stop=Bt.proxy(r.stop,r)),r;return Bt.map(c,W,l),Bt.isFunction(l.opts.start)&&l.opts.start.call(e,l),Bt.fx.timer(Bt.extend(u,{elem:e,anim:l,queue:l.opts.queue})),l.progress(l.opts.progress).done(l.opts.done,l.opts.complete).fail(l.opts.fail).always(l.opts.always)}function z(e){return e.getAttribute&&e.getAttribute("class")||""}function X(e,t,n,r){var i;if(Bt.isArray(t))Bt.each(t,function(t,i){n||at.test(e)?r(e,i):X(e+"["+("object"==typeof i&&null!=i?t:"")+"]",i,n,r)});else if(n||"object"!==Bt.type(t))r(e,t);else for(i in t)X(e+"["+i+"]",t[i],n,r)}function U(e){return function(t,n){"string"!=typeof t&&(n=t,t="*");var r,i=0,o=t.toLowerCase().match(le)||[];if(Bt.isFunction(n))for(;r=o[i++];)"+"===r[0]?(r=r.slice(1)||"*",(e[r]=e[r]||[]).unshift(n)):(e[r]=e[r]||[]).push(n)}}function V(e,t,n,r){function i(a){var u;return o[a]=!0,Bt.each(e[a]||[],function(e,a){var l=a(t,n,r);return"string"!=typeof l||s||o[l]?s?!(u=l):void 0:(t.dataTypes.unshift(l),i(l),!1)}),u}var o={},s=e===xt;return i(t.dataTypes[0])||!o["*"]&&i("*")}function G(e,t){var n,r,i=Bt.ajaxSettings.flatOptions||{};for(n in t)void 0!==t[n]&&((i[n]?e:r||(r={}))[n]=t[n]);return r&&Bt.extend(!0,e,r),e}function Y(e,t,n){for(var r,i,o,s,a=e.contents,u=e.dataTypes;"*"===u[0];)u.shift(),void 0===r&&(r=e.mimeType||t.getResponseHeader("Content-Type"));if(r)for(i in a)if(a[i]&&a[i].test(r)){u.unshift(i);break}if(u[0]in n)o=u[0];else{for(i in n){if(!u[0]||e.converters[i+" "+u[0]]){o=i;break}s||(s=i)}o=o||s}return o?(o!==u[0]&&u.unshift(o),n[o]):void 0}function Q(e,t,n,r){var i,o,s,a,u,l={},c=e.dataTypes.slice();if(c[1])for(s in e.converters)l[s.toLowerCase()]=e.converters[s];for(o=c.shift();o;)if(e.responseFields[o]&&(n[e.responseFields[o]]=t),!u&&r&&e.dataFilter&&(t=e.dataFilter(t,e.dataType)),u=o,o=c.shift())if("*"===o)o=u;else if("*"!==u&&u!==o){if(s=l[u+" "+o]||l["* "+o],!s)for(i in l)if(a=i.split(" "),a[1]===o&&(s=l[u+" "+a[0]]||l["* "+a[0]])){s===!0?s=l[i]:l[i]!==!0&&(o=a[0],c.unshift(a[1]));break}if(s!==!0)if(s&&e["throws"])t=s(t);else try{t=s(t)}catch(f){return{state:"parsererror",error:s?f:"No conversion from "+u+" to "+o}}}return{state:"success",data:t}}function J(e){return Bt.isWindow(e)?e:9===e.nodeType&&e.defaultView}var K,Z,ee,te,ne,re,ie,oe,se,ae,ue,le,ce,fe,pe,de,he,ge,me,ve,ye,xe,be,we,Te,Ce,ke,Ee,Se,Ne,De,je,Ae,qe,Le,He,Fe,Oe,Pe,Re,Me,Ie,We,$e,Be,_e,ze,Xe,Ue,Ve,Ge,Ye,Qe,Je,Ke,Ze,et,tt,nt,rt,it,ot,st,at,ut,lt,ct,ft,pt,dt,ht,gt,mt,vt,yt,xt,bt,wt,Tt,Ct,kt,Et,St,Nt,Dt=[],jt=e.document,At=Object.getPrototypeOf,qt=Dt.slice,Lt=Dt.concat,Ht=Dt.push,Ft=Dt.indexOf,Ot={},Pt=Ot.toString,Rt=Ot.hasOwnProperty,Mt=Rt.toString,It=Mt.call(Object),Wt={},$t="3.1.0",Bt=function(e,t){return new Bt.fn.init(e,t)},_t=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,zt=/^-ms-/,Xt=/-([a-z])/g,Ut=function(e,t){return t.toUpperCase()};return Bt.fn=Bt.prototype={jquery:$t,constructor:Bt,length:0,toArray:function(){return qt.call(this)},get:function(e){return null!=e?0>e?this[e+this.length]:this[e]:qt.call(this)},pushStack:function(e){var t=Bt.merge(this.constructor(),e);return t.prevObject=this,t},each:function(e){return Bt.each(this,e)},map:function(e){return this.pushStack(Bt.map(this,function(t,n){return e.call(t,n,t)}))},slice:function(){return this.pushStack(qt.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(e){var t=this.length,n=+e+(0>e?t:0);return this.pushStack(n>=0&&t>n?[this[n]]:[])},end:function(){return this.prevObject||this.constructor()},push:Ht,sort:Dt.sort,splice:Dt.splice},Bt.extend=Bt.fn.extend=function(){var e,t,n,r,i,o,s=arguments[0]||{},a=1,u=arguments.length,l=!1;for("boolean"==typeof s&&(l=s,s=arguments[a]||{},a++),"object"==typeof s||Bt.isFunction(s)||(s={}),a===u&&(s=this,a--);u>a;a++)if(null!=(e=arguments[a]))for(t in e)n=s[t],r=e[t],s!==r&&(l&&r&&(Bt.isPlainObject(r)||(i=Bt.isArray(r)))?(i?(i=!1,o=n&&Bt.isArray(n)?n:[]):o=n&&Bt.isPlainObject(n)?n:{},s[t]=Bt.extend(l,o,r)):void 0!==r&&(s[t]=r));return s},Bt.extend({expando:"jQuery"+($t+Math.random()).replace(/\D/g,""),isReady:!0,error:function(e){throw Error(e)},noop:function(){},isFunction:function(e){return"function"===Bt.type(e)},isArray:Array.isArray,isWindow:function(e){return null!=e&&e===e.window},isNumeric:function(e){var t=Bt.type(e);return("number"===t||"string"===t)&&!isNaN(e-parseFloat(e))},isPlainObject:function(e){var t,n;return!(!e||"[object Object]"!==Pt.call(e)||(t=At(e))&&(n=Rt.call(t,"constructor")&&t.constructor,"function"!=typeof n||Mt.call(n)!==It))},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},type:function(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?Ot[Pt.call(e)]||"object":typeof e},globalEval:function(e){n(e)},camelCase:function(e){return e.replace(zt,"ms-").replace(Xt,Ut)},nodeName:function(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()},each:function(e,t){var n,i=0;if(r(e))for(n=e.length;n>i&&t.call(e[i],i,e[i])!==!1;i++);else for(i in e)if(t.call(e[i],i,e[i])===!1)break;return e},trim:function(e){return null==e?"":(e+"").replace(_t,"")},makeArray:function(e,t){var n=t||[];return null!=e&&(r(Object(e))?Bt.merge(n,"string"==typeof e?[e]:e):Ht.call(n,e)),n},inArray:function(e,t,n){return null==t?-1:Ft.call(t,e,n)},merge:function(e,t){for(var n=+t.length,r=0,i=e.length;n>r;r++)e[i++]=t[r];return e.length=i,e},grep:function(e,t,n){for(var r,i=[],o=0,s=e.length,a=!n;s>o;o++)r=!t(e[o],o),r!==a&&i.push(e[o]);return i},map:function(e,t,n){var i,o,s=0,a=[];if(r(e))for(i=e.length;i>s;s++)o=t(e[s],s,n),null!=o&&a.push(o);else for(s in e)o=t(e[s],s,n),null!=o&&a.push(o);return Lt.apply([],a)},guid:1,proxy:function(e,t){var n,r,i;return"string"==typeof t&&(n=e[t],t=e,e=n),Bt.isFunction(e)?(r=qt.call(arguments,2),i=function(){return e.apply(t||this,r.concat(qt.call(arguments)))},i.guid=e.guid=e.guid||Bt.guid++,i):void 0},now:Date.now,support:Wt}),"function"==typeof Symbol&&(Bt.fn[Symbol.iterator]=Dt[Symbol.iterator]),Bt.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(e,t){Ot["[object "+t+"]"]=t.toLowerCase()}),K=function(e){function t(e,t,n,r){var i,o,s,a,u,l,c,p=t&&t.ownerDocument,h=t?t.nodeType:9;if(n=n||[],"string"!=typeof e||!e||1!==h&&9!==h&&11!==h)return n;if(!r&&((t?t.ownerDocument||t:$)!==H&&L(t),t=t||H,O)){if(11!==h&&(u=ve.exec(e)))if(i=u[1]){if(9===h){if(!(s=t.getElementById(i)))return n;if(s.id===i)return n.push(s),n}else if(p&&(s=p.getElementById(i))&&I(t,s)&&s.id===i)return n.push(s),n}else{if(u[2])return K.apply(n,t.getElementsByTagName(e)),n;if((i=u[3])&&T.getElementsByClassName&&t.getElementsByClassName)return K.apply(n,t.getElementsByClassName(i)),n}if(!(!T.qsa||U[e+" "]||P&&P.test(e))){if(1!==h)p=t,c=e;else if("object"!==t.nodeName.toLowerCase()){for((a=t.getAttribute("id"))?a=a.replace(we,Te):t.setAttribute("id",a=W),l=S(e),o=l.length;o--;)l[o]="#"+a+" "+d(l[o]);c=l.join(","),p=ye.test(e)&&f(t.parentNode)||t}if(c)try{return K.apply(n,p.querySelectorAll(c)),n}catch(g){}finally{a===W&&t.removeAttribute("id")}}}return D(e.replace(ae,"$1"),t,n,r)}function n(){function e(n,r){return t.push(n+" ")>C.cacheLength&&delete e[t.shift()],e[n+" "]=r}var t=[];return e}function r(e){return e[W]=!0,e}function i(e){var t=H.createElement("fieldset");try{return!!e(t)}catch(n){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function o(e,t){for(var n=e.split("|"),r=n.length;r--;)C.attrHandle[n[r]]=t}function s(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)for(;n=n.nextSibling;)if(n===t)return-1;return e?1:-1}function a(e){return function(t){var n=t.nodeName.toLowerCase();return"input"===n&&t.type===e}}function u(e){return function(t){var n=t.nodeName.toLowerCase();return("input"===n||"button"===n)&&t.type===e}}function l(e){return function(t){return"label"in t&&t.disabled===e||"form"in t&&t.disabled===e||"form"in t&&t.disabled===!1&&(t.isDisabled===e||t.isDisabled!==!e&&("label"in t||!ke(t))!==e)}}function c(e){return r(function(t){return t=+t,r(function(n,r){for(var i,o=e([],n.length,t),s=o.length;s--;)n[i=o[s]]&&(n[i]=!(r[i]=n[i]))})})}function f(e){return e&&void 0!==e.getElementsByTagName&&e}function p(){}function d(e){for(var t=0,n=e.length,r="";n>t;t++)r+=e[t].value;return r}function h(e,t,n){var r=t.dir,i=t.next,o=i||r,s=n&&"parentNode"===o,a=_++;return t.first?function(t,n,i){for(;t=t[r];)if(1===t.nodeType||s)return e(t,n,i)}:function(t,n,u){var l,c,f,p=[B,a];if(u){for(;t=t[r];)if((1===t.nodeType||s)&&e(t,n,u))return!0}else for(;t=t[r];)if(1===t.nodeType||s)if(f=t[W]||(t[W]={}),c=f[t.uniqueID]||(f[t.uniqueID]={}),i&&i===t.nodeName.toLowerCase())t=t[r]||t;else{if((l=c[o])&&l[0]===B&&l[1]===a)return p[2]=l[2];if(c[o]=p,p[2]=e(t,n,u))return!0}}}function g(e){return e.length>1?function(t,n,r){for(var i=e.length;i--;)if(!e[i](t,n,r))return!1;return!0}:e[0]}function m(e,n,r){for(var i=0,o=n.length;o>i;i++)t(e,n[i],r);return r}function v(e,t,n,r,i){for(var o,s=[],a=0,u=e.length,l=null!=t;u>a;a++)(o=e[a])&&(n&&!n(o,r,i)||(s.push(o),l&&t.push(a)));return s}function y(e,t,n,i,o,s){return i&&!i[W]&&(i=y(i)),o&&!o[W]&&(o=y(o,s)),r(function(r,s,a,u){var l,c,f,p=[],d=[],h=s.length,g=r||m(t||"*",a.nodeType?[a]:a,[]),y=!e||!r&&t?g:v(g,p,e,a,u),x=n?o||(r?e:h||i)?[]:s:y;if(n&&n(y,x,a,u),i)for(l=v(x,d),i(l,[],a,u),c=l.length;c--;)(f=l[c])&&(x[d[c]]=!(y[d[c]]=f));if(r){if(o||e){if(o){for(l=[],c=x.length;c--;)(f=x[c])&&l.push(y[c]=f);o(null,x=[],l,u)}for(c=x.length;c--;)(f=x[c])&&(l=o?ee(r,f):p[c])>-1&&(r[l]=!(s[l]=f))}}else x=v(x===s?x.splice(h,x.length):x),o?o(null,s,x,u):K.apply(s,x)})}function x(e){for(var t,n,r,i=e.length,o=C.relative[e[0].type],s=o||C.relative[" "],a=o?1:0,u=h(function(e){return e===t},s,!0),l=h(function(e){return ee(t,e)>-1},s,!0),c=[function(e,n,r){var i=!o&&(r||n!==j)||((t=n).nodeType?u(e,n,r):l(e,n,r));return t=null,i}];i>a;a++)if(n=C.relative[e[a].type])c=[h(g(c),n)];else{if(n=C.filter[e[a].type].apply(null,e[a].matches),n[W]){for(r=++a;i>r&&!C.relative[e[r].type];r++);return y(a>1&&g(c),a>1&&d(e.slice(0,a-1).concat({value:" "===e[a-2].type?"*":""})).replace(ae,"$1"),n,r>a&&x(e.slice(a,r)),i>r&&x(e=e.slice(r)),i>r&&d(e))}c.push(n)}return g(c)}function b(e,n){var i=n.length>0,o=e.length>0,s=function(r,s,a,u,l){var c,f,p,d=0,h="0",g=r&&[],m=[],y=j,x=r||o&&C.find.TAG("*",l),b=B+=null==y?1:Math.random()||.1,w=x.length;for(l&&(j=s===H||s||l);h!==w&&null!=(c=x[h]);h++){if(o&&c){for(f=0,s||c.ownerDocument===H||(L(c),a=!O);p=e[f++];)if(p(c,s||H,a)){u.push(c);break}l&&(B=b)}i&&((c=!p&&c)&&d--,r&&g.push(c))}if(d+=h,i&&h!==d){for(f=0;p=n[f++];)p(g,m,s,a);if(r){if(d>0)for(;h--;)g[h]||m[h]||(m[h]=Q.call(u));m=v(m)}K.apply(u,m),l&&!r&&m.length>0&&d+n.length>1&&t.uniqueSort(u)}return l&&(B=b,j=y),g};return i?r(s):s}var w,T,C,k,E,S,N,D,j,A,q,L,H,F,O,P,R,M,I,W="sizzle"+1*new Date,$=e.document,B=0,_=0,z=n(),X=n(),U=n(),V=function(e,t){return e===t&&(q=!0),0},G={}.hasOwnProperty,Y=[],Q=Y.pop,J=Y.push,K=Y.push,Z=Y.slice,ee=function(e,t){for(var n=0,r=e.length;r>n;n++)if(e[n]===t)return n;return-1},te="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",ne="[\\x20\\t\\r\\n\\f]",re="(?:\\\\.|[\\w-]|[^\x00-\\xa0])+",ie="\\["+ne+"*("+re+")(?:"+ne+"*([*^$|!~]?=)"+ne+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+re+"))|)"+ne+"*\\]",oe=":("+re+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+ie+")*)|.*)\\)|)",se=RegExp(ne+"+","g"),ae=RegExp("^"+ne+"+|((?:^|[^\\\\])(?:\\\\.)*)"+ne+"+$","g"),ue=RegExp("^"+ne+"*,"+ne+"*"),le=RegExp("^"+ne+"*([>+~]|"+ne+")"+ne+"*"),ce=RegExp("="+ne+"*([^\\]'\"]*?)"+ne+"*\\]","g"),fe=RegExp(oe),pe=RegExp("^"+re+"$"),de={ID:RegExp("^#("+re+")"),CLASS:RegExp("^\\.("+re+")"),TAG:RegExp("^("+re+"|[*])"),ATTR:RegExp("^"+ie),PSEUDO:RegExp("^"+oe),CHILD:RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+ne+"*(even|odd|(([+-]|)(\\d*)n|)"+ne+"*(?:([+-]|)"+ne+"*(\\d+)|))"+ne+"*\\)|)","i"),bool:RegExp("^(?:"+te+")$","i"),needsContext:RegExp("^"+ne+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+ne+"*((?:-\\d)?\\d*)"+ne+"*\\)|)(?=[^-]|$)","i")},he=/^(?:input|select|textarea|button)$/i,ge=/^h\d$/i,me=/^[^{]+\{\s*\[native \w/,ve=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ye=/[+~]/,xe=RegExp("\\\\([\\da-f]{1,6}"+ne+"?|("+ne+")|.)","ig"),be=function(e,t,n){var r="0x"+t-65536;return r!==r||n?t:0>r?String.fromCharCode(r+65536):String.fromCharCode(r>>10|55296,1023&r|56320)},we=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\x80-\uFFFF\w-]/g,Te=function(e,t){return t?"\x00"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},Ce=function(){L()},ke=h(function(e){return e.disabled===!0},{dir:"parentNode",next:"legend"});try{K.apply(Y=Z.call($.childNodes),$.childNodes),Y[$.childNodes.length].nodeType}catch(Ee){K={apply:Y.length?function(e,t){J.apply(e,Z.call(t))}:function(e,t){for(var n=e.length,r=0;e[n++]=t[r++];);e.length=n-1}}}T=t.support={},E=t.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return!!t&&"HTML"!==t.nodeName},L=t.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:$;return r!==H&&9===r.nodeType&&r.documentElement?(H=r,F=H.documentElement,O=!E(H),$!==H&&(n=H.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",Ce,!1):n.attachEvent&&n.attachEvent("onunload",Ce)),T.attributes=i(function(e){return e.className="i",!e.getAttribute("className")}),T.getElementsByTagName=i(function(e){return e.appendChild(H.createComment("")),!e.getElementsByTagName("*").length}),T.getElementsByClassName=me.test(H.getElementsByClassName),T.getById=i(function(e){return F.appendChild(e).id=W,!H.getElementsByName||!H.getElementsByName(W).length}),T.getById?(C.find.ID=function(e,t){if(void 0!==t.getElementById&&O){var n=t.getElementById(e);return n?[n]:[]}},C.filter.ID=function(e){var t=e.replace(xe,be);return function(e){return e.getAttribute("id")===t}}):(delete C.find.ID,C.filter.ID=function(e){var t=e.replace(xe,be);return function(e){var n=void 0!==e.getAttributeNode&&e.getAttributeNode("id");return n&&n.value===t}}),C.find.TAG=T.getElementsByTagName?function(e,t){return void 0!==t.getElementsByTagName?t.getElementsByTagName(e):T.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){for(;n=o[i++];)1===n.nodeType&&r.push(n);return r}return o},C.find.CLASS=T.getElementsByClassName&&function(e,t){return void 0!==t.getElementsByClassName&&O?t.getElementsByClassName(e):void 0},R=[],P=[],(T.qsa=me.test(H.querySelectorAll))&&(i(function(e){F.appendChild(e).innerHTML="",e.querySelectorAll("[msallowcapture^='']").length&&P.push("[*^$]="+ne+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||P.push("\\["+ne+"*(?:value|"+te+")"),e.querySelectorAll("[id~="+W+"-]").length||P.push("~="),e.querySelectorAll(":checked").length||P.push(":checked"),e.querySelectorAll("a#"+W+"+*").length||P.push(".#.+[+~]")}),i(function(e){e.innerHTML="";var t=H.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&P.push("name"+ne+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&P.push(":enabled",":disabled"),F.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&P.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),P.push(",.*:")})),(T.matchesSelector=me.test(M=F.matches||F.webkitMatchesSelector||F.mozMatchesSelector||F.oMatchesSelector||F.msMatchesSelector))&&i(function(e){T.disconnectedMatch=M.call(e,"*"),M.call(e,"[s!='']:x"),R.push("!=",oe)}),P=P.length&&RegExp(P.join("|")),R=R.length&&RegExp(R.join("|")),t=me.test(F.compareDocumentPosition),I=t||me.test(F.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)for(;t=t.parentNode;)if(t===e)return!0;return!1},V=t?function(e,t){if(e===t)return q=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n?n:(n=(e.ownerDocument||e)===(t.ownerDocument||t)?e.compareDocumentPosition(t):1,1&n||!T.sortDetached&&t.compareDocumentPosition(e)===n?e===H||e.ownerDocument===$&&I($,e)?-1:t===H||t.ownerDocument===$&&I($,t)?1:A?ee(A,e)-ee(A,t):0:4&n?-1:1)}:function(e,t){if(e===t)return q=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],u=[t];if(!i||!o)return e===H?-1:t===H?1:i?-1:o?1:A?ee(A,e)-ee(A,t):0;if(i===o)return s(e,t);for(n=e;n=n.parentNode;)a.unshift(n);for(n=t;n=n.parentNode;)u.unshift(n);for(;a[r]===u[r];)r++;return r?s(a[r],u[r]):a[r]===$?-1:u[r]===$?1:0},H):H},t.matches=function(e,n){return t(e,null,null,n)},t.matchesSelector=function(e,n){if((e.ownerDocument||e)!==H&&L(e),n=n.replace(ce,"='$1']"),!(!T.matchesSelector||!O||U[n+" "]||R&&R.test(n)||P&&P.test(n)))try{var r=M.call(e,n);if(r||T.disconnectedMatch||e.document&&11!==e.document.nodeType)return r}catch(i){}return t(n,H,null,[e]).length>0},t.contains=function(e,t){return(e.ownerDocument||e)!==H&&L(e),I(e,t)},t.attr=function(e,t){(e.ownerDocument||e)!==H&&L(e);var n=C.attrHandle[t.toLowerCase()],r=n&&G.call(C.attrHandle,t.toLowerCase())?n(e,t,!O):void 0;return void 0!==r?r:T.attributes||!O?e.getAttribute(t):(r=e.getAttributeNode(t))&&r.specified?r.value:null},t.escape=function(e){return(e+"").replace(we,Te)},t.error=function(e){throw Error("Syntax error, unrecognized expression: "+e)},t.uniqueSort=function(e){var t,n=[],r=0,i=0;if(q=!T.detectDuplicates,A=!T.sortStable&&e.slice(0),e.sort(V),q){for(;t=e[i++];)t===e[i]&&(r=n.push(i));for(;r--;)e.splice(n[r],1)}return A=null,e},k=t.getText=function(e){var t,n="",r=0,i=e.nodeType;if(i){if(1===i||9===i||11===i){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=k(e)}else if(3===i||4===i)return e.nodeValue}else for(;t=e[r++];)n+=k(t);return n},C=t.selectors={cacheLength:50,createPseudo:r,match:de,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(xe,be),e[3]=(e[3]||e[4]||e[5]||"").replace(xe,be),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||t.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&t.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return de.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&fe.test(n)&&(t=S(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(xe,be).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=z[e+" "];return t||(t=RegExp("(^|"+ne+")"+e+"("+ne+"|$)"))&&z(e,function(e){return t.test("string"==typeof e.className&&e.className||void 0!==e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(e,n,r){return function(i){var o=t.attr(i,e);return null==o?"!="===n:!n||(o+="","="===n?o===r:"!="===n?o!==r:"^="===n?r&&0===o.indexOf(r):"*="===n?r&&o.indexOf(r)>-1:"$="===n?r&&o.slice(-r.length)===r:"~="===n?(" "+o.replace(se," ")+" ").indexOf(r)>-1:"|="===n&&(o===r||o.slice(0,r.length+1)===r+"-"))}},CHILD:function(e,t,n,r,i){var o="nth"!==e.slice(0,3),s="last"!==e.slice(-4),a="of-type"===t;return 1===r&&0===i?function(e){return!!e.parentNode}:function(t,n,u){var l,c,f,p,d,h,g=o!==s?"nextSibling":"previousSibling",m=t.parentNode,v=a&&t.nodeName.toLowerCase(),y=!u&&!a,x=!1;if(m){if(o){for(;g;){for(p=t;p=p[g];)if(a?p.nodeName.toLowerCase()===v:1===p.nodeType)return!1;h=g="only"===e&&!h&&"nextSibling"}return!0}if(h=[s?m.firstChild:m.lastChild],s&&y){for(p=m,f=p[W]||(p[W]={}),c=f[p.uniqueID]||(f[p.uniqueID]={}),l=c[e]||[],d=l[0]===B&&l[1],x=d&&l[2],p=d&&m.childNodes[d];p=++d&&p&&p[g]||(x=d=0)||h.pop();)if(1===p.nodeType&&++x&&p===t){c[e]=[B,d,x];break}}else if(y&&(p=t,f=p[W]||(p[W]={}),c=f[p.uniqueID]||(f[p.uniqueID]={}),l=c[e]||[],d=l[0]===B&&l[1],x=d),x===!1)for(;(p=++d&&p&&p[g]||(x=d=0)||h.pop())&&((a?p.nodeName.toLowerCase()!==v:1!==p.nodeType)||!++x||(y&&(f=p[W]||(p[W]={}),c=f[p.uniqueID]||(f[p.uniqueID]={}),c[e]=[B,x]),p!==t)););return x-=i,x===r||x%r===0&&x/r>=0}}},PSEUDO:function(e,n){var i,o=C.pseudos[e]||C.setFilters[e.toLowerCase()]||t.error("unsupported pseudo: "+e);return o[W]?o(n):o.length>1?(i=[e,e,"",n],C.setFilters.hasOwnProperty(e.toLowerCase())?r(function(e,t){for(var r,i=o(e,n),s=i.length;s--;)r=ee(e,i[s]),e[r]=!(t[r]=i[s])}):function(e){return o(e,0,i)}):o}},pseudos:{not:r(function(e){var t=[],n=[],i=N(e.replace(ae,"$1"));return i[W]?r(function(e,t,n,r){for(var o,s=i(e,null,r,[]),a=e.length;a--;)(o=s[a])&&(e[a]=!(t[a]=o))}):function(e,r,o){return t[0]=e,i(t,null,o,n),t[0]=null,!n.pop()}}),has:r(function(e){return function(n){return t(e,n).length>0}}),contains:r(function(e){return e=e.replace(xe,be),function(t){return(t.textContent||t.innerText||k(t)).indexOf(e)>-1}}),lang:r(function(e){return pe.test(e||"")||t.error("unsupported lang: "+e),e=e.replace(xe,be).toLowerCase(),function(t){var n;do if(n=O?t.lang:t.getAttribute("xml:lang")||t.getAttribute("lang"))return n=n.toLowerCase(),n===e||0===n.indexOf(e+"-");while((t=t.parentNode)&&1===t.nodeType);return!1}}),target:function(t){var n=e.location&&e.location.hash;return n&&n.slice(1)===t.id},root:function(e){return e===F},focus:function(e){return e===H.activeElement&&(!H.hasFocus||H.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:l(!1),disabled:l(!0),checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected;},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,e.selected===!0},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!C.pseudos.empty(e)},header:function(e){return ge.test(e.nodeName)},input:function(e){return he.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||"text"===t.toLowerCase())},first:c(function(){return[0]}),last:c(function(e,t){return[t-1]}),eq:c(function(e,t,n){return[0>n?n+t:n]}),even:c(function(e,t){for(var n=0;t>n;n+=2)e.push(n);return e}),odd:c(function(e,t){for(var n=1;t>n;n+=2)e.push(n);return e}),lt:c(function(e,t,n){for(var r=0>n?n+t:n;--r>=0;)e.push(r);return e}),gt:c(function(e,t,n){for(var r=0>n?n+t:n;++r2&&"ID"===(s=o[0]).type&&T.getById&&9===t.nodeType&&O&&C.relative[o[1].type]){if(t=(C.find.ID(s.matches[0].replace(xe,be),t)||[])[0],!t)return n;l&&(t=t.parentNode),e=e.slice(o.shift().value.length)}for(i=de.needsContext.test(e)?0:o.length;i--&&(s=o[i],!C.relative[a=s.type]);)if((u=C.find[a])&&(r=u(s.matches[0].replace(xe,be),ye.test(o[0].type)&&f(t.parentNode)||t))){if(o.splice(i,1),e=r.length&&d(o),!e)return K.apply(n,r),n;break}}return(l||N(e,c))(r,t,!O,n,!t||ye.test(e)&&f(t.parentNode)||t),n},T.sortStable=W.split("").sort(V).join("")===W,T.detectDuplicates=!!q,L(),T.sortDetached=i(function(e){return 1&e.compareDocumentPosition(H.createElement("fieldset"))}),i(function(e){return e.innerHTML="","#"===e.firstChild.getAttribute("href")})||o("type|href|height|width",function(e,t,n){return n?void 0:e.getAttribute(t,"type"===t.toLowerCase()?1:2)}),T.attributes&&i(function(e){return e.innerHTML="",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||o("value",function(e,t,n){return n||"input"!==e.nodeName.toLowerCase()?void 0:e.defaultValue}),i(function(e){return null==e.getAttribute("disabled")})||o(te,function(e,t,n){var r;return n?void 0:e[t]===!0?t.toLowerCase():(r=e.getAttributeNode(t))&&r.specified?r.value:null}),t}(e),Bt.find=K,Bt.expr=K.selectors,Bt.expr[":"]=Bt.expr.pseudos,Bt.uniqueSort=Bt.unique=K.uniqueSort,Bt.text=K.getText,Bt.isXMLDoc=K.isXML,Bt.contains=K.contains,Bt.escapeSelector=K.escape,Z=function(e,t,n){for(var r=[],i=void 0!==n;(e=e[t])&&9!==e.nodeType;)if(1===e.nodeType){if(i&&Bt(e).is(n))break;r.push(e)}return r},ee=function(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n},te=Bt.expr.match.needsContext,ne=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i,re=/^.[^:#\[\.,]*$/,Bt.filter=function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?Bt.find.matchesSelector(r,e)?[r]:[]:Bt.find.matches(e,Bt.grep(t,function(e){return 1===e.nodeType}))},Bt.fn.extend({find:function(e){var t,n,r=this.length,i=this;if("string"!=typeof e)return this.pushStack(Bt(e).filter(function(){for(t=0;r>t;t++)if(Bt.contains(i[t],this))return!0}));for(n=this.pushStack([]),t=0;r>t;t++)Bt.find(e,i[t],n);return r>1?Bt.uniqueSort(n):n},filter:function(e){return this.pushStack(i(this,e||[],!1))},not:function(e){return this.pushStack(i(this,e||[],!0))},is:function(e){return!!i(this,"string"==typeof e&&te.test(e)?Bt(e):e||[],!1).length}}),oe=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/,se=Bt.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||ie,"string"==typeof e){if(r="<"===e[0]&&">"===e[e.length-1]&&e.length>=3?[null,e,null]:oe.exec(e),!r||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof Bt?t[0]:t,Bt.merge(this,Bt.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:jt,!0)),ne.test(r[1])&&Bt.isPlainObject(t))for(r in t)Bt.isFunction(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return i=jt.getElementById(r[2]),i&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):Bt.isFunction(e)?void 0!==n.ready?n.ready(e):e(Bt):Bt.makeArray(e,this)},se.prototype=Bt.fn,ie=Bt(jt),ae=/^(?:parents|prev(?:Until|All))/,ue={children:!0,contents:!0,next:!0,prev:!0},Bt.fn.extend({has:function(e){var t=Bt(e,this),n=t.length;return this.filter(function(){for(var e=0;n>e;e++)if(Bt.contains(this,t[e]))return!0})},closest:function(e,t){var n,r=0,i=this.length,o=[],s="string"!=typeof e&&Bt(e);if(!te.test(e))for(;i>r;r++)for(n=this[r];n&&n!==t;n=n.parentNode)if(n.nodeType<11&&(s?s.index(n)>-1:1===n.nodeType&&Bt.find.matchesSelector(n,e))){o.push(n);break}return this.pushStack(o.length>1?Bt.uniqueSort(o):o)},index:function(e){return e?"string"==typeof e?Ft.call(Bt(e),this[0]):Ft.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(Bt.uniqueSort(Bt.merge(this.get(),Bt(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),Bt.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return Z(e,"parentNode")},parentsUntil:function(e,t,n){return Z(e,"parentNode",n)},next:function(e){return o(e,"nextSibling")},prev:function(e){return o(e,"previousSibling")},nextAll:function(e){return Z(e,"nextSibling")},prevAll:function(e){return Z(e,"previousSibling")},nextUntil:function(e,t,n){return Z(e,"nextSibling",n)},prevUntil:function(e,t,n){return Z(e,"previousSibling",n)},siblings:function(e){return ee((e.parentNode||{}).firstChild,e)},children:function(e){return ee(e.firstChild)},contents:function(e){return e.contentDocument||Bt.merge([],e.childNodes)}},function(e,t){Bt.fn[e]=function(n,r){var i=Bt.map(this,t,n);return"Until"!==e.slice(-5)&&(r=n),r&&"string"==typeof r&&(i=Bt.filter(r,i)),this.length>1&&(ue[e]||Bt.uniqueSort(i),ae.test(e)&&i.reverse()),this.pushStack(i)}}),le=/\S+/g,Bt.Callbacks=function(e){e="string"==typeof e?s(e):Bt.extend({},e);var t,n,r,i,o=[],a=[],u=-1,l=function(){for(i=e.once,r=t=!0;a.length;u=-1)for(n=a.shift();++u-1;)o.splice(n,1),u>=n&&u--}),this},has:function(e){return e?Bt.inArray(e,o)>-1:o.length>0},empty:function(){return o&&(o=[]),this},disable:function(){return i=a=[],o=n="",this},disabled:function(){return!o},lock:function(){return i=a=[],n||t||(o=n=""),this},locked:function(){return!!i},fireWith:function(e,n){return i||(n=n||[],n=[e,n.slice?n.slice():n],a.push(n),t||l()),this},fire:function(){return c.fireWith(this,arguments),this},fired:function(){return!!r}};return c},Bt.extend({Deferred:function(t){var n=[["notify","progress",Bt.Callbacks("memory"),Bt.Callbacks("memory"),2],["resolve","done",Bt.Callbacks("once memory"),Bt.Callbacks("once memory"),0,"resolved"],["reject","fail",Bt.Callbacks("once memory"),Bt.Callbacks("once memory"),1,"rejected"]],r="pending",i={state:function(){return r},always:function(){return o.done(arguments).fail(arguments),this},"catch":function(e){return i.then(null,e)},pipe:function(){var e=arguments;return Bt.Deferred(function(t){Bt.each(n,function(n,r){var i=Bt.isFunction(e[r[4]])&&e[r[4]];o[r[1]](function(){var e=i&&i.apply(this,arguments);e&&Bt.isFunction(e.promise)?e.promise().progress(t.notify).done(t.resolve).fail(t.reject):t[r[0]+"With"](this,i?[e]:arguments)})}),e=null}).promise()},then:function(t,r,i){function o(t,n,r,i){return function(){var l=this,c=arguments,f=function(){var e,f;if(!(s>t)){if(e=r.apply(l,c),e===n.promise())throw new TypeError("Thenable self-resolution");f=e&&("object"==typeof e||"function"==typeof e)&&e.then,Bt.isFunction(f)?i?f.call(e,o(s,n,a,i),o(s,n,u,i)):(s++,f.call(e,o(s,n,a,i),o(s,n,u,i),o(s,n,a,n.notifyWith))):(r!==a&&(l=void 0,c=[e]),(i||n.resolveWith)(l,c))}},p=i?f:function(){try{f()}catch(e){Bt.Deferred.exceptionHook&&Bt.Deferred.exceptionHook(e,p.stackTrace),t+1>=s&&(r!==u&&(l=void 0,c=[e]),n.rejectWith(l,c))}};t?p():(Bt.Deferred.getStackHook&&(p.stackTrace=Bt.Deferred.getStackHook()),e.setTimeout(p))}}var s=0;return Bt.Deferred(function(e){n[0][3].add(o(0,e,Bt.isFunction(i)?i:a,e.notifyWith)),n[1][3].add(o(0,e,Bt.isFunction(t)?t:a)),n[2][3].add(o(0,e,Bt.isFunction(r)?r:u))}).promise()},promise:function(e){return null!=e?Bt.extend(e,i):i}},o={};return Bt.each(n,function(e,t){var s=t[2],a=t[5];i[t[1]]=s.add,a&&s.add(function(){r=a},n[3-e][2].disable,n[0][2].lock),s.add(t[3].fire),o[t[0]]=function(){return o[t[0]+"With"](this===o?void 0:this,arguments),this},o[t[0]+"With"]=s.fireWith}),i.promise(o),t&&t.call(o,o),o},when:function(e){var t=arguments.length,n=t,r=Array(n),i=qt.call(arguments),o=Bt.Deferred(),s=function(e){return function(n){r[e]=this,i[e]=arguments.length>1?qt.call(arguments):n,--t||o.resolveWith(r,i)}};if(1>=t&&(l(e,o.done(s(n)).resolve,o.reject),"pending"===o.state()||Bt.isFunction(i[n]&&i[n].then)))return o.then();for(;n--;)l(i[n],s(n),o.reject);return o.promise()}}),ce=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/,Bt.Deferred.exceptionHook=function(t,n){e.console&&e.console.warn&&t&&ce.test(t.name)&&e.console.warn("jQuery.Deferred exception: "+t.message,t.stack,n)},Bt.readyException=function(t){e.setTimeout(function(){throw t})},fe=Bt.Deferred(),Bt.fn.ready=function(e){return fe.then(e)["catch"](function(e){Bt.readyException(e)}),this},Bt.extend({isReady:!1,readyWait:1,holdReady:function(e){e?Bt.readyWait++:Bt.ready(!0)},ready:function(e){(e===!0?--Bt.readyWait:Bt.isReady)||(Bt.isReady=!0,e!==!0&&--Bt.readyWait>0||fe.resolveWith(jt,[Bt]))}}),Bt.ready.then=fe.then,"complete"===jt.readyState||"loading"!==jt.readyState&&!jt.documentElement.doScroll?e.setTimeout(Bt.ready):(jt.addEventListener("DOMContentLoaded",c),e.addEventListener("load",c)),pe=function(e,t,n,r,i,o,s){var a=0,u=e.length,l=null==n;if("object"===Bt.type(n)){i=!0;for(a in n)pe(e,t,a,n[a],!0,o,s)}else if(void 0!==r&&(i=!0,Bt.isFunction(r)||(s=!0),l&&(s?(t.call(e,r),t=null):(l=t,t=function(e,t,n){return l.call(Bt(e),n)})),t))for(;u>a;a++)t(e[a],n,s?r:r.call(e[a],a,t(e[a],n)));return i?e:l?t.call(e):u?t(e[0],n):o},de=function(e){return 1===e.nodeType||9===e.nodeType||!+e.nodeType},f.uid=1,f.prototype={cache:function(e){var t=e[this.expando];return t||(t={},de(e)&&(e.nodeType?e[this.expando]=t:Object.defineProperty(e,this.expando,{value:t,configurable:!0}))),t},set:function(e,t,n){var r,i=this.cache(e);if("string"==typeof t)i[Bt.camelCase(t)]=n;else for(r in t)i[Bt.camelCase(r)]=t[r];return i},get:function(e,t){return void 0===t?this.cache(e):e[this.expando]&&e[this.expando][Bt.camelCase(t)]},access:function(e,t,n){return void 0===t||t&&"string"==typeof t&&void 0===n?this.get(e,t):(this.set(e,t,n),void 0!==n?n:t)},remove:function(e,t){var n,r=e[this.expando];if(void 0!==r){if(void 0!==t){Bt.isArray(t)?t=t.map(Bt.camelCase):(t=Bt.camelCase(t),t=t in r?[t]:t.match(le)||[]),n=t.length;for(;n--;)delete r[t[n]]}(void 0===t||Bt.isEmptyObject(r))&&(e.nodeType?e[this.expando]=void 0:delete e[this.expando])}},hasData:function(e){var t=e[this.expando];return void 0!==t&&!Bt.isEmptyObject(t)}},he=new f,ge=new f,me=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,ve=/[A-Z]/g,Bt.extend({hasData:function(e){return ge.hasData(e)||he.hasData(e)},data:function(e,t,n){return ge.access(e,t,n)},removeData:function(e,t){ge.remove(e,t)},_data:function(e,t,n){return he.access(e,t,n)},_removeData:function(e,t){he.remove(e,t)}}),Bt.fn.extend({data:function(e,t){var n,r,i,o=this[0],s=o&&o.attributes;if(void 0===e){if(this.length&&(i=ge.get(o),1===o.nodeType&&!he.get(o,"hasDataAttrs"))){for(n=s.length;n--;)s[n]&&(r=s[n].name,0===r.indexOf("data-")&&(r=Bt.camelCase(r.slice(5)),p(o,r,i[r])));he.set(o,"hasDataAttrs",!0)}return i}return"object"==typeof e?this.each(function(){ge.set(this,e)}):pe(this,function(t){var n;if(o&&void 0===t){if(n=ge.get(o,e),void 0!==n)return n;if(n=p(o,e),void 0!==n)return n}else this.each(function(){ge.set(this,e,t)})},null,t,arguments.length>1,null,!0)},removeData:function(e){return this.each(function(){ge.remove(this,e)})}}),Bt.extend({queue:function(e,t,n){var r;return e?(t=(t||"fx")+"queue",r=he.get(e,t),n&&(!r||Bt.isArray(n)?r=he.access(e,t,Bt.makeArray(n)):r.push(n)),r||[]):void 0},dequeue:function(e,t){t=t||"fx";var n=Bt.queue(e,t),r=n.length,i=n.shift(),o=Bt._queueHooks(e,t),s=function(){Bt.dequeue(e,t)};"inprogress"===i&&(i=n.shift(),r--),i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,s,o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return he.get(e,n)||he.access(e,n,{empty:Bt.Callbacks("once memory").add(function(){he.remove(e,[t+"queue",n])})})}}),Bt.fn.extend({queue:function(e,t){var n=2;return"string"!=typeof e&&(t=e,e="fx",n--),arguments.length\x20\t\r\n\f]+)/i,Se=/^$|\/(?:java|ecma)script/i,Ne={option:[1,""],thead:[1,"","
      "],col:[2,"","
      "],tr:[2,"","
      "],td:[3,"","
      "],_default:[0,"",""]},Ne.optgroup=Ne.option,Ne.tbody=Ne.tfoot=Ne.colgroup=Ne.caption=Ne.thead,Ne.th=Ne.td,De=/<|&#?\w+;/,!function(){var e=jt.createDocumentFragment(),t=e.appendChild(jt.createElement("div")),n=jt.createElement("input");n.setAttribute("type","radio"),n.setAttribute("checked","checked"),n.setAttribute("name","t"),t.appendChild(n),Wt.checkClone=t.cloneNode(!0).cloneNode(!0).lastChild.checked,t.innerHTML="",Wt.noCloneChecked=!!t.cloneNode(!0).lastChild.defaultValue}(),je=jt.documentElement,Ae=/^key/,qe=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,Le=/^([^.]*)(?:\.(.+)|)/,Bt.event={global:{},add:function(e,t,n,r,i){var o,s,a,u,l,c,f,p,d,h,g,m=he.get(e);if(m)for(n.handler&&(o=n,n=o.handler,i=o.selector),i&&Bt.find.matchesSelector(je,i),n.guid||(n.guid=Bt.guid++),(u=m.events)||(u=m.events={}),(s=m.handle)||(s=m.handle=function(t){return void 0!==Bt&&Bt.event.triggered!==t.type?Bt.event.dispatch.apply(e,arguments):void 0}),t=(t||"").match(le)||[""],l=t.length;l--;)a=Le.exec(t[l])||[],d=g=a[1],h=(a[2]||"").split(".").sort(),d&&(f=Bt.event.special[d]||{},d=(i?f.delegateType:f.bindType)||d,f=Bt.event.special[d]||{},c=Bt.extend({type:d,origType:g,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&Bt.expr.match.needsContext.test(i),namespace:h.join(".")},o),(p=u[d])||(p=u[d]=[],p.delegateCount=0,f.setup&&f.setup.call(e,r,h,s)!==!1||e.addEventListener&&e.addEventListener(d,s)),f.add&&(f.add.call(e,c),c.handler.guid||(c.handler.guid=n.guid)),i?p.splice(p.delegateCount++,0,c):p.push(c),Bt.event.global[d]=!0)},remove:function(e,t,n,r,i){var o,s,a,u,l,c,f,p,d,h,g,m=he.hasData(e)&&he.get(e);if(m&&(u=m.events)){for(t=(t||"").match(le)||[""],l=t.length;l--;)if(a=Le.exec(t[l])||[],d=g=a[1],h=(a[2]||"").split(".").sort(),d){for(f=Bt.event.special[d]||{},d=(r?f.delegateType:f.bindType)||d,p=u[d]||[],a=a[2]&&RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),s=o=p.length;o--;)c=p[o],!i&&g!==c.origType||n&&n.guid!==c.guid||a&&!a.test(c.namespace)||r&&r!==c.selector&&("**"!==r||!c.selector)||(p.splice(o,1),c.selector&&p.delegateCount--,f.remove&&f.remove.call(e,c));s&&!p.length&&(f.teardown&&f.teardown.call(e,h,m.handle)!==!1||Bt.removeEvent(e,d,m.handle),delete u[d])}else for(d in u)Bt.event.remove(e,d+t[l],n,r,!0);Bt.isEmptyObject(u)&&he.remove(e,"handle events")}},dispatch:function(e){var t,n,r,i,o,s,a=Bt.event.fix(e),u=Array(arguments.length),l=(he.get(this,"events")||{})[a.type]||[],c=Bt.event.special[a.type]||{};for(u[0]=a,t=1;tn;n++)o=t[n],i=o.selector+" ",void 0===r[i]&&(r[i]=o.needsContext?Bt(i,this).index(u)>-1:Bt.find(i,this,null,[u]).length),r[i]&&r.push(o);r.length&&s.push({elem:u,handlers:r})}return a\x20\t\r\n\f]*)[^>]*)\/>/gi,Fe=/\s*$/g,Bt.extend({htmlPrefilter:function(e){return e.replace(He,"<$1>")},clone:function(e,t,n){var r,i,o,s,a=e.cloneNode(!0),u=Bt.contains(e.ownerDocument,e);if(!(Wt.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||Bt.isXMLDoc(e)))for(s=m(a),o=m(e),r=0,i=o.length;i>r;r++)N(o[r],s[r]);if(t)if(n)for(o=o||m(e),s=s||m(a),r=0,i=o.length;i>r;r++)S(o[r],s[r]);else S(e,a);return s=m(a,"script"),s.length>0&&v(s,!u&&m(e,"script")),a},cleanData:function(e){for(var t,n,r,i=Bt.event.special,o=0;void 0!==(n=e[o]);o++)if(de(n)){if(t=n[he.expando]){if(t.events)for(r in t.events)i[r]?Bt.event.remove(n,r):Bt.removeEvent(n,r,t.handle);n[he.expando]=void 0}n[ge.expando]&&(n[ge.expando]=void 0)}}}),Bt.fn.extend({detach:function(e){return j(this,e,!0)},remove:function(e){return j(this,e)},text:function(e){return pe(this,function(e){return void 0===e?Bt.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=e)})},null,e,arguments.length)},append:function(){return D(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=C(this,e);t.appendChild(e)}})},prepend:function(){return D(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=C(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return D(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return D(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},empty:function(){for(var e,t=0;null!=(e=this[t]);t++)1===e.nodeType&&(Bt.cleanData(m(e,!1)),e.textContent="");return this},clone:function(e,t){return e=null!=e&&e,t=null==t?e:t,this.map(function(){return Bt.clone(this,e,t)})},html:function(e){return pe(this,function(e){var t=this[0]||{},n=0,r=this.length;if(void 0===e&&1===t.nodeType)return t.innerHTML;if("string"==typeof e&&!Fe.test(e)&&!Ne[(Ee.exec(e)||["",""])[1].toLowerCase()]){e=Bt.htmlPrefilter(e);try{for(;r>n;n++)t=this[n]||{},1===t.nodeType&&(Bt.cleanData(m(t,!1)),t.innerHTML=e);t=0}catch(i){}}t&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(){var e=[];return D(this,arguments,function(t){var n=this.parentNode;Bt.inArray(this,e)<0&&(Bt.cleanData(m(this)),n&&n.replaceChild(t,this))},e)}}),Bt.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,t){Bt.fn[e]=function(e){for(var n,r=[],i=Bt(e),o=i.length-1,s=0;o>=s;s++)n=s===o?this:this.clone(!0),Bt(i[s])[t](n),Ht.apply(r,n.get());return this.pushStack(r)}}),Me=/^margin/,Ie=RegExp("^("+ye+")(?!px)[a-z%]+$","i"),We=function(t){var n=t.ownerDocument.defaultView;return n&&n.opener||(n=e),n.getComputedStyle(t)},!function(){function t(){if(a){a.style.cssText="box-sizing:border-box;position:relative;display:block;margin:auto;border:1px;padding:1px;top:1%;width:50%",a.innerHTML="",je.appendChild(s);var t=e.getComputedStyle(a);n="1%"!==t.top,o="2px"===t.marginLeft,r="4px"===t.width,a.style.marginRight="50%",i="4px"===t.marginRight,je.removeChild(s),a=null}}var n,r,i,o,s=jt.createElement("div"),a=jt.createElement("div");a.style&&(a.style.backgroundClip="content-box",a.cloneNode(!0).style.backgroundClip="",Wt.clearCloneStyle="content-box"===a.style.backgroundClip,s.style.cssText="border:0;width:8px;height:0;top:0;left:-9999px;padding:0;margin-top:1px;position:absolute",s.appendChild(a),Bt.extend(Wt,{pixelPosition:function(){return t(),n},boxSizingReliable:function(){return t(),r},pixelMarginRight:function(){return t(),i},reliableMarginLeft:function(){return t(),o}}))}(),$e=/^(none|table(?!-c[ea]).+)/,Be={position:"absolute",visibility:"hidden",display:"block"},_e={letterSpacing:"0",fontWeight:"400"},ze=["Webkit","Moz","ms"],Xe=jt.createElement("div").style,Bt.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=A(e,"opacity");return""===n?"1":n}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":"cssFloat"},style:function(e,t,n,r){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var i,o,s,a=Bt.camelCase(t),u=e.style;return t=Bt.cssProps[a]||(Bt.cssProps[a]=L(a)||a),s=Bt.cssHooks[t]||Bt.cssHooks[a],void 0===n?s&&"get"in s&&void 0!==(i=s.get(e,!1,r))?i:u[t]:(o=typeof n,"string"===o&&(i=xe.exec(n))&&i[1]&&(n=d(e,t,i),o="number"),void(null!=n&&n===n&&("number"===o&&(n+=i&&i[3]||(Bt.cssNumber[a]?"":"px")),Wt.clearCloneStyle||""!==n||0!==t.indexOf("background")||(u[t]="inherit"),s&&"set"in s&&void 0===(n=s.set(e,n,r))||(u[t]=n))))}},css:function(e,t,n,r){var i,o,s,a=Bt.camelCase(t);return t=Bt.cssProps[a]||(Bt.cssProps[a]=L(a)||a),s=Bt.cssHooks[t]||Bt.cssHooks[a],s&&"get"in s&&(i=s.get(e,!0,n)),void 0===i&&(i=A(e,t,r)),"normal"===i&&t in _e&&(i=_e[t]),""===n||n?(o=parseFloat(i),n===!0||isFinite(o)?o||0:i):i}}),Bt.each(["height","width"],function(e,t){Bt.cssHooks[t]={get:function(e,n,r){return n?!$e.test(Bt.css(e,"display"))||e.getClientRects().length&&e.getBoundingClientRect().width?O(e,t,r):Te(e,Be,function(){return O(e,t,r)}):void 0},set:function(e,n,r){var i,o=r&&We(e),s=r&&F(e,t,r,"border-box"===Bt.css(e,"boxSizing",!1,o),o);return s&&(i=xe.exec(n))&&"px"!==(i[3]||"px")&&(e.style[t]=n,n=Bt.css(e,t)),H(e,n,s)}}}),Bt.cssHooks.marginLeft=q(Wt.reliableMarginLeft,function(e,t){return t?(parseFloat(A(e,"marginLeft"))||e.getBoundingClientRect().left-Te(e,{marginLeft:0},function(){return e.getBoundingClientRect().left}))+"px":void 0}),Bt.each({margin:"",padding:"",border:"Width"},function(e,t){Bt.cssHooks[e+t]={expand:function(n){for(var r=0,i={},o="string"==typeof n?n.split(" "):[n];4>r;r++)i[e+be[r]+t]=o[r]||o[r-2]||o[0];return i}},Me.test(e)||(Bt.cssHooks[e+t].set=H)}),Bt.fn.extend({css:function(e,t){return pe(this,function(e,t,n){var r,i,o={},s=0;if(Bt.isArray(t)){for(r=We(e),i=t.length;i>s;s++)o[t[s]]=Bt.css(e,t[s],!1,r);return o}return void 0!==n?Bt.style(e,t,n):Bt.css(e,t)},e,t,arguments.length>1)}}),Bt.Tween=P,P.prototype={constructor:P,init:function(e,t,n,r,i,o){this.elem=e,this.prop=n,this.easing=i||Bt.easing._default,this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=o||(Bt.cssNumber[n]?"":"px")},cur:function(){var e=P.propHooks[this.prop];return e&&e.get?e.get(this):P.propHooks._default.get(this)},run:function(e){var t,n=P.propHooks[this.prop];return this.options.duration?this.pos=t=Bt.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):this.pos=t=e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):P.propHooks._default.set(this),this}},P.prototype.init.prototype=P.prototype,P.propHooks={_default:{get:function(e){var t;return 1!==e.elem.nodeType||null!=e.elem[e.prop]&&null==e.elem.style[e.prop]?e.elem[e.prop]:(t=Bt.css(e.elem,e.prop,""),t&&"auto"!==t?t:0)},set:function(e){Bt.fx.step[e.prop]?Bt.fx.step[e.prop](e):1!==e.elem.nodeType||null==e.elem.style[Bt.cssProps[e.prop]]&&!Bt.cssHooks[e.prop]?e.elem[e.prop]=e.now:Bt.style(e.elem,e.prop,e.now+e.unit)}}},P.propHooks.scrollTop=P.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},Bt.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2},_default:"swing"},Bt.fx=P.prototype.init,Bt.fx.step={},Ge=/^(?:toggle|show|hide)$/,Ye=/queueHooks$/,Bt.Animation=Bt.extend(_,{tweeners:{"*":[function(e,t){var n=this.createTween(e,t);return d(n.elem,e,xe.exec(t),n),n}]},tweener:function(e,t){Bt.isFunction(e)?(t=e,e=["*"]):e=e.match(le);for(var n,r=0,i=e.length;i>r;r++)n=e[r],_.tweeners[n]=_.tweeners[n]||[],_.tweeners[n].unshift(t)},prefilters:[$],prefilter:function(e,t){t?_.prefilters.unshift(e):_.prefilters.push(e)}}),Bt.speed=function(e,t,n){var r=e&&"object"==typeof e?Bt.extend({},e):{complete:n||!n&&t||Bt.isFunction(e)&&e,duration:e,easing:n&&t||t&&!Bt.isFunction(t)&&t};return Bt.fx.off||jt.hidden?r.duration=0:r.duration="number"==typeof r.duration?r.duration:r.duration in Bt.fx.speeds?Bt.fx.speeds[r.duration]:Bt.fx.speeds._default,null!=r.queue&&r.queue!==!0||(r.queue="fx"),r.old=r.complete,r.complete=function(){Bt.isFunction(r.old)&&r.old.call(this),r.queue&&Bt.dequeue(this,r.queue)},r},Bt.fn.extend({fadeTo:function(e,t,n,r){return this.filter(we).css("opacity",0).show().end().animate({opacity:t},e,n,r)},animate:function(e,t,n,r){var i=Bt.isEmptyObject(e),o=Bt.speed(t,n,r),s=function(){var t=_(this,Bt.extend({},e),o);(i||he.get(this,"finish"))&&t.stop(!0)};return s.finish=s,i||o.queue===!1?this.each(s):this.queue(o.queue,s)},stop:function(e,t,n){var r=function(e){var t=e.stop;delete e.stop,t(n)};return"string"!=typeof e&&(n=t,t=e,e=void 0),t&&e!==!1&&this.queue(e||"fx",[]),this.each(function(){var t=!0,i=null!=e&&e+"queueHooks",o=Bt.timers,s=he.get(this);if(i)s[i]&&s[i].stop&&r(s[i]);else for(i in s)s[i]&&s[i].stop&&Ye.test(i)&&r(s[i]);for(i=o.length;i--;)o[i].elem!==this||null!=e&&o[i].queue!==e||(o[i].anim.stop(n),t=!1,o.splice(i,1));!t&&n||Bt.dequeue(this,e)})},finish:function(e){return e!==!1&&(e=e||"fx"),this.each(function(){var t,n=he.get(this),r=n[e+"queue"],i=n[e+"queueHooks"],o=Bt.timers,s=r?r.length:0;for(n.finish=!0,Bt.queue(this,e,[]),i&&i.stop&&i.stop.call(this,!0), -t=o.length;t--;)o[t].elem===this&&o[t].queue===e&&(o[t].anim.stop(!0),o.splice(t,1));for(t=0;s>t;t++)r[t]&&r[t].finish&&r[t].finish.call(this);delete n.finish})}}),Bt.each(["toggle","show","hide"],function(e,t){var n=Bt.fn[t];Bt.fn[t]=function(e,r,i){return null==e||"boolean"==typeof e?n.apply(this,arguments):this.animate(I(t,!0),e,r,i)}}),Bt.each({slideDown:I("show"),slideUp:I("hide"),slideToggle:I("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(e,t){Bt.fn[e]=function(e,n,r){return this.animate(t,e,n,r)}}),Bt.timers=[],Bt.fx.tick=function(){var e,t=0,n=Bt.timers;for(Ue=Bt.now();t1)},removeAttr:function(e){return this.each(function(){Bt.removeAttr(this,e)})}}),Bt.extend({attr:function(e,t,n){var r,i,o=e.nodeType;return 3!==o&&8!==o&&2!==o?void 0===e.getAttribute?Bt.prop(e,t,n):(1===o&&Bt.isXMLDoc(e)||(i=Bt.attrHooks[t.toLowerCase()]||(Bt.expr.match.bool.test(t)?Qe:void 0)),void 0!==n?null===n?void Bt.removeAttr(e,t):i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:(e.setAttribute(t,n+""),n):i&&"get"in i&&null!==(r=i.get(e,t))?r:(r=Bt.find.attr(e,t),null==r?void 0:r)):void 0},attrHooks:{type:{set:function(e,t){if(!Wt.radioValue&&"radio"===t&&Bt.nodeName(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},removeAttr:function(e,t){var n,r=0,i=t&&t.match(le);if(i&&1===e.nodeType)for(;n=i[r++];)e.removeAttribute(n)}}),Qe={set:function(e,t,n){return t===!1?Bt.removeAttr(e,n):e.setAttribute(n,n),n}},Bt.each(Bt.expr.match.bool.source.match(/\w+/g),function(e,t){var n=Je[t]||Bt.find.attr;Je[t]=function(e,t,r){var i,o,s=t.toLowerCase();return r||(o=Je[s],Je[s]=i,i=null!=n(e,t,r)?s:null,Je[s]=o),i}}),Ke=/^(?:input|select|textarea|button)$/i,Ze=/^(?:a|area)$/i,Bt.fn.extend({prop:function(e,t){return pe(this,Bt.prop,e,t,arguments.length>1)},removeProp:function(e){return this.each(function(){delete this[Bt.propFix[e]||e]})}}),Bt.extend({prop:function(e,t,n){var r,i,o=e.nodeType;return 3!==o&&8!==o&&2!==o?(1===o&&Bt.isXMLDoc(e)||(t=Bt.propFix[t]||t,i=Bt.propHooks[t]),void 0!==n?i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:e[t]=n:i&&"get"in i&&null!==(r=i.get(e,t))?r:e[t]):void 0},propHooks:{tabIndex:{get:function(e){var t=Bt.find.attr(e,"tabindex");return t?parseInt(t,10):Ke.test(e.nodeName)||Ze.test(e.nodeName)&&e.href?0:-1}}},propFix:{"for":"htmlFor","class":"className"}}),Wt.optSelected||(Bt.propHooks.selected={get:function(e){var t=e.parentNode;return t&&t.parentNode&&t.parentNode.selectedIndex,null},set:function(e){var t=e.parentNode;t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex)}}),Bt.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){Bt.propFix[this.toLowerCase()]=this}),et=/[\t\r\n\f]/g,Bt.fn.extend({addClass:function(e){var t,n,r,i,o,s,a,u=0;if(Bt.isFunction(e))return this.each(function(t){Bt(this).addClass(e.call(this,t,z(this)))});if("string"==typeof e&&e)for(t=e.match(le)||[];n=this[u++];)if(i=z(n),r=1===n.nodeType&&(" "+i+" ").replace(et," ")){for(s=0;o=t[s++];)r.indexOf(" "+o+" ")<0&&(r+=o+" ");a=Bt.trim(r),i!==a&&n.setAttribute("class",a)}return this},removeClass:function(e){var t,n,r,i,o,s,a,u=0;if(Bt.isFunction(e))return this.each(function(t){Bt(this).removeClass(e.call(this,t,z(this)))});if(!arguments.length)return this.attr("class","");if("string"==typeof e&&e)for(t=e.match(le)||[];n=this[u++];)if(i=z(n),r=1===n.nodeType&&(" "+i+" ").replace(et," ")){for(s=0;o=t[s++];)for(;r.indexOf(" "+o+" ")>-1;)r=r.replace(" "+o+" "," ");a=Bt.trim(r),i!==a&&n.setAttribute("class",a)}return this},toggleClass:function(e,t){var n=typeof e;return"boolean"==typeof t&&"string"===n?t?this.addClass(e):this.removeClass(e):this.each(Bt.isFunction(e)?function(n){Bt(this).toggleClass(e.call(this,n,z(this),t),t)}:function(){var t,r,i,o;if("string"===n)for(r=0,i=Bt(this),o=e.match(le)||[];t=o[r++];)i.hasClass(t)?i.removeClass(t):i.addClass(t);else void 0!==e&&"boolean"!==n||(t=z(this),t&&he.set(this,"__className__",t),this.setAttribute&&this.setAttribute("class",t||e===!1?"":he.get(this,"__className__")||""))})},hasClass:function(e){var t,n,r=0;for(t=" "+e+" ";n=this[r++];)if(1===n.nodeType&&(" "+z(n)+" ").replace(et," ").indexOf(t)>-1)return!0;return!1}}),tt=/\r/g,nt=/[\x20\t\r\n\f]+/g,Bt.fn.extend({val:function(e){var t,n,r,i=this[0];return arguments.length?(r=Bt.isFunction(e),this.each(function(n){var i;1===this.nodeType&&(i=r?e.call(this,n,Bt(this).val()):e,null==i?i="":"number"==typeof i?i+="":Bt.isArray(i)&&(i=Bt.map(i,function(e){return null==e?"":e+""})),t=Bt.valHooks[this.type]||Bt.valHooks[this.nodeName.toLowerCase()],t&&"set"in t&&void 0!==t.set(this,i,"value")||(this.value=i))})):i?(t=Bt.valHooks[i.type]||Bt.valHooks[i.nodeName.toLowerCase()],t&&"get"in t&&void 0!==(n=t.get(i,"value"))?n:(n=i.value,"string"==typeof n?n.replace(tt,""):null==n?"":n)):void 0}}),Bt.extend({valHooks:{option:{get:function(e){var t=Bt.find.attr(e,"value");return null!=t?t:Bt.trim(Bt.text(e)).replace(nt," ")}},select:{get:function(e){for(var t,n,r=e.options,i=e.selectedIndex,o="select-one"===e.type,s=o?null:[],a=o?i+1:r.length,u=0>i?a:o?i:0;a>u;u++)if(n=r[u],!(!n.selected&&u!==i||n.disabled||n.parentNode.disabled&&Bt.nodeName(n.parentNode,"optgroup"))){if(t=Bt(n).val(),o)return t;s.push(t)}return s},set:function(e,t){for(var n,r,i=e.options,o=Bt.makeArray(t),s=i.length;s--;)r=i[s],(r.selected=Bt.inArray(Bt.valHooks.option.get(r),o)>-1)&&(n=!0);return n||(e.selectedIndex=-1),o}}}}),Bt.each(["radio","checkbox"],function(){Bt.valHooks[this]={set:function(e,t){return Bt.isArray(t)?e.checked=Bt.inArray(Bt(e).val(),t)>-1:void 0}},Wt.checkOn||(Bt.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})}),rt=/^(?:focusinfocus|focusoutblur)$/,Bt.extend(Bt.event,{trigger:function(t,n,r,i){var o,s,a,u,l,c,f,p=[r||jt],d=Rt.call(t,"type")?t.type:t,h=Rt.call(t,"namespace")?t.namespace.split("."):[];if(s=a=r=r||jt,3!==r.nodeType&&8!==r.nodeType&&!rt.test(d+Bt.event.triggered)&&(d.indexOf(".")>-1&&(h=d.split("."),d=h.shift(),h.sort()),l=d.indexOf(":")<0&&"on"+d,t=t[Bt.expando]?t:new Bt.Event(d,"object"==typeof t&&t),t.isTrigger=i?2:3,t.namespace=h.join("."),t.rnamespace=t.namespace?RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,t.result=void 0,t.target||(t.target=r),n=null==n?[t]:Bt.makeArray(n,[t]),f=Bt.event.special[d]||{},i||!f.trigger||f.trigger.apply(r,n)!==!1)){if(!i&&!f.noBubble&&!Bt.isWindow(r)){for(u=f.delegateType||d,rt.test(u+d)||(s=s.parentNode);s;s=s.parentNode)p.push(s),a=s;a===(r.ownerDocument||jt)&&p.push(a.defaultView||a.parentWindow||e)}for(o=0;(s=p[o++])&&!t.isPropagationStopped();)t.type=o>1?u:f.bindType||d,c=(he.get(s,"events")||{})[t.type]&&he.get(s,"handle"),c&&c.apply(s,n),c=l&&s[l],c&&c.apply&&de(s)&&(t.result=c.apply(s,n),t.result===!1&&t.preventDefault());return t.type=d,i||t.isDefaultPrevented()||f._default&&f._default.apply(p.pop(),n)!==!1||!de(r)||l&&Bt.isFunction(r[d])&&!Bt.isWindow(r)&&(a=r[l],a&&(r[l]=null),Bt.event.triggered=d,r[d](),Bt.event.triggered=void 0,a&&(r[l]=a)),t.result}},simulate:function(e,t,n){var r=Bt.extend(new Bt.Event,n,{type:e,isSimulated:!0});Bt.event.trigger(r,null,t)}}),Bt.fn.extend({trigger:function(e,t){return this.each(function(){Bt.event.trigger(e,t,this)})},triggerHandler:function(e,t){var n=this[0];return n?Bt.event.trigger(e,t,n,!0):void 0}}),Bt.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,t){Bt.fn[t]=function(e,n){return arguments.length>0?this.on(t,null,e,n):this.trigger(t)}}),Bt.fn.extend({hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),Wt.focusin="onfocusin"in e,Wt.focusin||Bt.each({focus:"focusin",blur:"focusout"},function(e,t){var n=function(e){Bt.event.simulate(t,e.target,Bt.event.fix(e))};Bt.event.special[t]={setup:function(){var r=this.ownerDocument||this,i=he.access(r,t);i||r.addEventListener(e,n,!0),he.access(r,t,(i||0)+1)},teardown:function(){var r=this.ownerDocument||this,i=he.access(r,t)-1;i?he.access(r,t,i):(r.removeEventListener(e,n,!0),he.remove(r,t))}}}),it=e.location,ot=Bt.now(),st=/\?/,Bt.parseXML=function(t){var n;if(!t||"string"!=typeof t)return null;try{n=(new e.DOMParser).parseFromString(t,"text/xml")}catch(r){n=void 0}return n&&!n.getElementsByTagName("parsererror").length||Bt.error("Invalid XML: "+t),n},at=/\[\]$/,ut=/\r?\n/g,lt=/^(?:submit|button|image|reset|file)$/i,ct=/^(?:input|select|textarea|keygen)/i,Bt.param=function(e,t){var n,r=[],i=function(e,t){var n=Bt.isFunction(t)?t():t;r[r.length]=encodeURIComponent(e)+"="+encodeURIComponent(null==n?"":n)};if(Bt.isArray(e)||e.jquery&&!Bt.isPlainObject(e))Bt.each(e,function(){i(this.name,this.value)});else for(n in e)X(n,e[n],t,i);return r.join("&")},Bt.fn.extend({serialize:function(){return Bt.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=Bt.prop(this,"elements");return e?Bt.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!Bt(this).is(":disabled")&&ct.test(this.nodeName)&&!lt.test(e)&&(this.checked||!ke.test(e))}).map(function(e,t){var n=Bt(this).val();return null==n?null:Bt.isArray(n)?Bt.map(n,function(e){return{name:t.name,value:e.replace(ut,"\r\n")}}):{name:t.name,value:n.replace(ut,"\r\n")}}).get()}}),ft=/%20/g,pt=/#.*$/,dt=/([?&])_=[^&]*/,ht=/^(.*?):[ \t]*([^\r\n]*)$/gm,gt=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,mt=/^(?:GET|HEAD)$/,vt=/^\/\//,yt={},xt={},bt="*/".concat("*"),wt=jt.createElement("a"),wt.href=it.href,Bt.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:it.href,type:"GET",isLocal:gt.test(it.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":bt,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":JSON.parse,"text xml":Bt.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?G(G(e,Bt.ajaxSettings),t):G(Bt.ajaxSettings,e)},ajaxPrefilter:U(yt),ajaxTransport:U(xt),ajax:function(t,n){function r(t,n,r,a){var l,p,d,b,w,T=n;c||(c=!0,u&&e.clearTimeout(u),i=void 0,s=a||"",C.readyState=t>0?4:0,l=t>=200&&300>t||304===t,r&&(b=Y(h,C,r)),b=Q(h,b,C,l),l?(h.ifModified&&(w=C.getResponseHeader("Last-Modified"),w&&(Bt.lastModified[o]=w),w=C.getResponseHeader("etag"),w&&(Bt.etag[o]=w)),204===t||"HEAD"===h.type?T="nocontent":304===t?T="notmodified":(T=b.state,p=b.data,d=b.error,l=!d)):(d=T,!t&&T||(T="error",0>t&&(t=0))),C.status=t,C.statusText=(n||T)+"",l?v.resolveWith(g,[p,T,C]):v.rejectWith(g,[C,T,d]),C.statusCode(x),x=void 0,f&&m.trigger(l?"ajaxSuccess":"ajaxError",[C,h,l?p:d]),y.fireWith(g,[C,T]),f&&(m.trigger("ajaxComplete",[C,h]),--Bt.active||Bt.event.trigger("ajaxStop")))}"object"==typeof t&&(n=t,t=void 0),n=n||{};var i,o,s,a,u,l,c,f,p,d,h=Bt.ajaxSetup({},n),g=h.context||h,m=h.context&&(g.nodeType||g.jquery)?Bt(g):Bt.event,v=Bt.Deferred(),y=Bt.Callbacks("once memory"),x=h.statusCode||{},b={},w={},T="canceled",C={readyState:0,getResponseHeader:function(e){var t;if(c){if(!a)for(a={};t=ht.exec(s);)a[t[1].toLowerCase()]=t[2];t=a[e.toLowerCase()]}return null==t?null:t},getAllResponseHeaders:function(){return c?s:null},setRequestHeader:function(e,t){return null==c&&(e=w[e.toLowerCase()]=w[e.toLowerCase()]||e,b[e]=t),this},overrideMimeType:function(e){return null==c&&(h.mimeType=e),this},statusCode:function(e){var t;if(e)if(c)C.always(e[C.status]);else for(t in e)x[t]=[x[t],e[t]];return this},abort:function(e){var t=e||T;return i&&i.abort(t),r(0,t),this}};if(v.promise(C),h.url=((t||h.url||it.href)+"").replace(vt,it.protocol+"//"),h.type=n.method||n.type||h.method||h.type,h.dataTypes=(h.dataType||"*").toLowerCase().match(le)||[""],null==h.crossDomain){l=jt.createElement("a");try{l.href=h.url,l.href=l.href,h.crossDomain=wt.protocol+"//"+wt.host!=l.protocol+"//"+l.host}catch(k){h.crossDomain=!0}}if(h.data&&h.processData&&"string"!=typeof h.data&&(h.data=Bt.param(h.data,h.traditional)),V(yt,h,n,C),c)return C;f=Bt.event&&h.global,f&&0===Bt.active++&&Bt.event.trigger("ajaxStart"),h.type=h.type.toUpperCase(),h.hasContent=!mt.test(h.type),o=h.url.replace(pt,""),h.hasContent?h.data&&h.processData&&0===(h.contentType||"").indexOf("application/x-www-form-urlencoded")&&(h.data=h.data.replace(ft,"+")):(d=h.url.slice(o.length),h.data&&(o+=(st.test(o)?"&":"?")+h.data,delete h.data),h.cache===!1&&(o=o.replace(dt,""),d=(st.test(o)?"&":"?")+"_="+ot++ +d),h.url=o+d),h.ifModified&&(Bt.lastModified[o]&&C.setRequestHeader("If-Modified-Since",Bt.lastModified[o]),Bt.etag[o]&&C.setRequestHeader("If-None-Match",Bt.etag[o])),(h.data&&h.hasContent&&h.contentType!==!1||n.contentType)&&C.setRequestHeader("Content-Type",h.contentType),C.setRequestHeader("Accept",h.dataTypes[0]&&h.accepts[h.dataTypes[0]]?h.accepts[h.dataTypes[0]]+("*"!==h.dataTypes[0]?", "+bt+"; q=0.01":""):h.accepts["*"]);for(p in h.headers)C.setRequestHeader(p,h.headers[p]);if(h.beforeSend&&(h.beforeSend.call(g,C,h)===!1||c))return C.abort();if(T="abort",y.add(h.complete),C.done(h.success),C.fail(h.error),i=V(xt,h,n,C)){if(C.readyState=1,f&&m.trigger("ajaxSend",[C,h]),c)return C;h.async&&h.timeout>0&&(u=e.setTimeout(function(){C.abort("timeout")},h.timeout));try{c=!1,i.send(b,r)}catch(k){if(c)throw k;r(-1,k)}}else r(-1,"No Transport");return C},getJSON:function(e,t,n){return Bt.get(e,t,n,"json")},getScript:function(e,t){return Bt.get(e,void 0,t,"script")}}),Bt.each(["get","post"],function(e,t){Bt[t]=function(e,n,r,i){return Bt.isFunction(n)&&(i=i||r,r=n,n=void 0),Bt.ajax(Bt.extend({url:e,type:t,dataType:i,data:n,success:r},Bt.isPlainObject(e)&&e))}}),Bt._evalUrl=function(e){return Bt.ajax({url:e,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,"throws":!0})},Bt.fn.extend({wrapAll:function(e){var t;return this[0]&&(Bt.isFunction(e)&&(e=e.call(this[0])),t=Bt(e,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){for(var e=this;e.firstElementChild;)e=e.firstElementChild;return e}).append(this)),this},wrapInner:function(e){return this.each(Bt.isFunction(e)?function(t){Bt(this).wrapInner(e.call(this,t))}:function(){var t=Bt(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)})},wrap:function(e){var t=Bt.isFunction(e);return this.each(function(n){Bt(this).wrapAll(t?e.call(this,n):e)})},unwrap:function(e){return this.parent(e).not("body").each(function(){Bt(this).replaceWith(this.childNodes)}),this}}),Bt.expr.pseudos.hidden=function(e){return!Bt.expr.pseudos.visible(e)},Bt.expr.pseudos.visible=function(e){return!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length)},Bt.ajaxSettings.xhr=function(){try{return new e.XMLHttpRequest}catch(t){}},Tt={0:200,1223:204},Ct=Bt.ajaxSettings.xhr(),Wt.cors=!!Ct&&"withCredentials"in Ct,Wt.ajax=Ct=!!Ct,Bt.ajaxTransport(function(t){var n,r;return Wt.cors||Ct&&!t.crossDomain?{send:function(i,o){var s,a=t.xhr();if(a.open(t.type,t.url,t.async,t.username,t.password),t.xhrFields)for(s in t.xhrFields)a[s]=t.xhrFields[s];t.mimeType&&a.overrideMimeType&&a.overrideMimeType(t.mimeType),t.crossDomain||i["X-Requested-With"]||(i["X-Requested-With"]="XMLHttpRequest");for(s in i)a.setRequestHeader(s,i[s]);n=function(e){return function(){n&&(n=r=a.onload=a.onerror=a.onabort=a.onreadystatechange=null,"abort"===e?a.abort():"error"===e?"number"!=typeof a.status?o(0,"error"):o(a.status,a.statusText):o(Tt[a.status]||a.status,a.statusText,"text"!==(a.responseType||"text")||"string"!=typeof a.responseText?{binary:a.response}:{text:a.responseText},a.getAllResponseHeaders()))}},a.onload=n(),r=a.onerror=n("error"),void 0!==a.onabort?a.onabort=r:a.onreadystatechange=function(){4===a.readyState&&e.setTimeout(function(){n&&r()})},n=n("abort");try{a.send(t.hasContent&&t.data||null)}catch(u){if(n)throw u}},abort:function(){n&&n()}}:void 0}),Bt.ajaxPrefilter(function(e){e.crossDomain&&(e.contents.script=!1)}),Bt.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(e){return Bt.globalEval(e),e}}}),Bt.ajaxPrefilter("script",function(e){void 0===e.cache&&(e.cache=!1),e.crossDomain&&(e.type="GET")}),Bt.ajaxTransport("script",function(e){if(e.crossDomain){var t,n;return{send:function(r,i){t=Bt("