PageSourceSearch

https://www.touken-world.jp/js_cmn/fancybox/jquery.fancybox.min.js?20230328021348

js touken-world.jp collected 2026-10-02 05:56:24 UTC 78,058 bytes, 1,241 lines download raw bytes

1// ==================================================
2// fancyBox v3.1.20
3//
4// Licensed GPLv3 for open source use
5// or fancyBox Commercial License for commercial use
6//
7// http://fancyapps.com/fancybox/
8// Copyright 2017 fancyApps
9//
10// ==================================================
11! function(t, e, n, o) {
12    "use strict";
13
14    function i(t) {
15        var e = t.currentTarget,
16            o = t.data ? t.data.options : {},
17            i = t.data ? t.data.items : [],
18            a = n(e).attr("data-fancybox") || "",
19            s = 0;
20        t.preventDefault(), t.stopPropagation(), a ? (i = i.length ? i.filter('[data-fancybox="' + a + '"]') : n('[data-fancybox="' + a + '"]'), s = i.index(e), s < 0 && (s = 0)) : i = [e], n.fancybox.open(i, o, s)
21    }
22    if (n) {
23        if (n.fn.fancybox) return void n.error("fancyBox already initialized");
24        var a = {
25                loop: !1,
26                margin: [44, 0],
27                gutter: 50,
28                keyboard: !0,
29                arrows: !0,
30                infobar: !1,
31                toolbar: !0,
32                buttons: ["slideShow", "fullScreen", "thumbs", "close"],
33                idleTime: 4,
34                smallBtn: "auto",
35                protect: !1,
36                modal: !1,
37                image: {
38                    preload: "auto"
39                },
40                ajax: {
41                    settings: {
42                        data: {
43                            fancybox: !0
44                        }
45                    }
46                },
47                iframe: {
48                    tpl: '<iframe id="fancybox-frame{rnd}" name="fancybox-frame{rnd}" class="fancybox-iframe" frameborder="0" vspace="0" hspace="0" webkitAllowFullScreen mozallowfullscreen allowFullScreen allowtransparency="true" src=""></iframe>',
49                    preload: !0,
50                    css: {},
51                    attr: {
52                        scrolling: "auto"
53                    }
54                },
55                animationEffect: "zoom",
56                animationDuration: 366,
57                zoomOpacity: "auto",
58                transitionEffect: "fade",
59                transitionDuration: 366,
60                slideClass: "",
61                baseClass: "",
62                baseTpl: '<div class="fancybox-container" role="dialog" tabindex="-1"><div class="fancybox-bg"></div><div class="fancybox-inner"><div class="fancybox-infobar"><button data-fancybox-prev title="{{PREV}}" class="fancybox-button fancybox-button--left"></button><div class="fancybox-infobar__body"><span data-fancybox-index></span>&nbsp;/&nbsp;<span data-fancybox-count></span></div><button data-fancybox-next title="{{NEXT}}" class="fancybox-button fancybox-button--right"></button></div><div class="fancybox-toolbar">{{BUTTONS}}</div><div class="fancybox-navigation"><button data-fancybox-prev title="{{PREV}}" class="fancybox-arrow fancybox-arrow--left" /><button data-fancybox-next title="{{NEXT}}" class="fancybox-arrow fancybox-arrow--right" /></div><div class="fancybox-stage"></div><div class="fancybox-caption-wrap"><div class="fancybox-caption"></div></div></div></div>',
63                spinnerTpl: '<div class="fancybox-loading"></div>',
64                errorTpl: '<div class="fancybox-error"><p>{{ERROR}}<p></div>',
65                btnTpl: {
66                    slideShow: '<button data-fancybox-play class="fancybox-button fancybox-button--play" title="{{PLAY_START}}"></button>',
67                    fullScreen: '<button data-fancybox-fullscreen class="fancybox-button fancybox-button--fullscreen" title="{{FULL_SCREEN}}"></button>',
68                    thumbs: '<button data-fancybox-thumbs class="fancybox-button fancybox-button--thumbs" title="{{THUMBS}}"></button>',
69                    close: '<button data-fancybox-close class="fancybox-button fancybox-button--close" title="{{CLOSE}}"></button>',
70                    smallBtn: '<button data-fancybox-close class="fancybox-close-small" title="{{CLOSE}}"></button>'
71                },
72                parentEl: "body",
73                autoFocus: !0,
74                backFocus: !0,
75                trapFocus: !0,
76                fullScreen: {
77                    autoStart: !1
78                },
79                touch: {
80                    vertical: !0,
81                    momentum: !0
82                },
83                hash: null,
84                media: {},
85                slideShow: {
86                    autoStart: !1,
87                    speed: 4e3
88                },
89                thumbs: {
90                    autoStart: !1,
91                    hideOnClose: !0
92                },
93                onInit: n.noop,
94                beforeLoad: n.noop,
95                afterLoad: n.noop,
96                beforeShow: n.noop,
97                afterShow: n.noop,
98                beforeClose: n.noop,
99                afterClose: n.noop,
100                onActivate: n.noop,
101                onDeactivate: n.noop,
102                clickContent: function(t, e) {
103                    return "image" === t.type && "zoom"
104                },
105                clickSlide: "close",
106                clickOutside: "close",
107                dblclickContent: !1,
108                dblclickSlide: !1,
109                dblclickOutside: !1,
110                mobile: {
111                    clickContent: function(t, e) {
112                        return "image" === t.type && "toggleControls"
113                    },
114                    clickSlide: function(t, e) {
115                        return "image" === t.type ? "toggleControls" : "close"
116                    },
117                    dblclickContent: function(t, e) {
118                        return "image" === t.type && "zoom"
119                    },
120                    dblclickSlide: function(t, e) {
121                        return "image" === t.type && "zoom"
122                    }
123                },
124                lang: "en",
125                i18n: {
126                    en: {
127                        CLOSE: "Close",
128                        NEXT: "Next",
129                        PREV: "Previous",
130                        ERROR: "The requested content cannot be loaded. <br/> Please try again later.",
131                        PLAY_START: "Start slideshow",
132                        PLAY_STOP: "Pause slideshow",
133                        FULL_SCREEN: "Full screen",
134                        THUMBS: "Thumbnails"
135                    },
136                    de: {
137                        CLOSE: "Schliessen",
138                        NEXT: "Weiter",
139                        PREV: "Zurück",
140                        ERROR: "Die angeforderten Daten konnten nicht geladen werden. <br/>
140 Bitte versuchen Sie es später nochmal.",
141                        PLAY_START: "Diaschau starten",
142                        PLAY_STOP: "Diaschau beenden",
143                        FULL_SCREEN: "Vollbild",
144                        THUMBS: "Vorschaubilder"
145                    }
146                }
147            },
148            s = n(t),
149            r = n(e),
150            c = 0,
151            l = function(t) {
152                return t && t.hasOwnProperty && t instanceof n
153            },
154            u = function() {
155                return t.requestAnimationFrame || t.webkitRequestAnimationFrame || t.mozRequestAnimationFrame || t.oRequestAnimationFrame || function(e) {
156                    return t.setTimeout(e, 1e3 / 60)
157                }
158            }(),
159            d = function() {
160                var t, n = e.createElement("fakeelement"),
161                    i = {
162                        transition: "transitionend",
163                        OTransition: "oTransitionEnd",
164                        MozTransition: "transitionend",
165                        WebkitTransition: "webkitTransitionEnd"
166                    };
167                for (t in i)
168                    if (n.style[t] !== o) return i[t]
169            }(),
170            f = function(t) {
171                return t && t.length && t[0].offsetHeight
172            },
173            h = function(t, o, i) {
174                var s = this;
175                s.opts = n.extend(!0, {
176                    index: i
177                }, a, o || {}), o && n.isArray(o.buttons) && (s.opts.buttons = o.buttons), s.id = s.opts.id || ++c, s.group = [], s.currIndex = parseInt(s.opts.index, 10) || 0, s.prevIndex = null, s.prevPos = null, s.currPos = 0, s.firstRun = null, s.createGroup(t), s.group.length && (s.$lastFocus = n(e.activeElement).blur(), s.slides = {}, s.init(t))
178            };
179        n.extend(h.prototype, {
180            init: function() {
181                var t, e, o, i = this,
182                    a = i.group[i.currIndex].opts;
183                i.scrollTop = r.scrollTop(), i.scrollLeft = r.scrollLeft(), n.fancybox.getInstance() || n.fancybox.isMobile || "hidden" === n("body").css("overflow") || (t = n("body").width(), n("html").addClass("fancybox-enabled"), t = n("body").width() - t, t > 1 && n("head").append('<style id="fancybox-style-noscroll" type="text/css">.compensate-for-scrollbar, .fancybox-enabled body { margin-right: ' + t + "px; }</style>")), o = "", n.each(a.buttons, function(t, e) {
184                    o += a.btnTpl[e] || ""
185                }), e = n(i.translate(i, a.baseTpl.replace("{{BUTTONS}}", o))).addClass("fancybox-is-hidden").attr("id", "fancybox-container-" + i.id).addClass(a.baseClass).data("FancyBox", i).prependTo(a.parentEl), i.$refs = {
186                    container: e
187                }, ["bg", "inner", "infobar", "toolbar", "stage", "caption"].forEach(function(t) {
188                    i.$refs[t] = e.find(".fancybox-" + t)
189                }), (!a.arrows || i.group.length < 2) && e.find(".fancybox-navigation").remove(), a.infobar || i.$refs.infobar.remove(), a.toolbar || i.$refs.toolbar.remove(), i.trigger("onInit"), i.activate(), i.jumpTo(i.currIndex)
190            },
191            translate: function(t, e) {
192                var n = t.opts.i18n[t.opts.lang];
193                return e.replace(/\{\{(\w+)\}\}/g, function(t, e) {
194                    var i = n[e];
195                    return i === o ? t : i
196                })
197            },
198            createGroup: function(t) {
199                var e = this,
200                    i = n.makeArray(t);
201                n.each(i, function(t, i) {
202                    var a, s, r, c, l = {},
203                        u = {},
204                        d = [];
205                    n.isPlainObject(i) ? (l = i, u = i.opts || i) : "object" === n.type(i) && n(i).length ? (a = n(i), d = a.data(), u = "options" in d ? d.options : {}, u = "object" === n.type(u) ? u : {}, l.src = "src" in d ? d.src : u.src || a.attr("href"), ["width", "height", "thumb", "type", "filter"].forEach(function(t) {
206                        t in d && (u[t] = d[t])
207                    }), "srcset" in d && (u.image = {
208                        srcset: d.srcset
209                    }), u.$orig = a, l.type || l.src || (l.type = "inline", l.src = i)) : l = {
210                        type: "html",
211                        src: i + ""
212                    }, l.opts = n.extend(!0, {}, e.opts, u), n.fancybox.isMobile && (l.opts = n.extend(!0, {}
212, l.opts, l.opts.mobile)), s = l.type || l.opts.type, r = l.src || "", !s && r && (r.match(/(^data:image\/[a-z0-9+\/=]*,)|(\.(jp(e|g|eg)|gif|png|bmp|webp|svg|ico)((\?|#).*)?$)/i) ? s = "image" : r.match(/\.(pdf)((\?|#).*)?$/i) ? s = "pdf" : "#" === r.charAt(0) && (s = "inline")), l.type = s, l.index = e.group.length, l.opts.$orig && !l.opts.$orig.length && delete l.opts.$orig, !l.opts.$thumb && l.opts.$orig && (l.opts.$thumb = l.opts.$orig.find("img:first")), l.opts.$thumb && !l.opts.$thumb.length && delete l.opts.$thumb, "function" === n.type(l.opts.caption) ? l.opts.caption = l.opts.caption.apply(i, [e, l]) : "caption" in d && (l.opts.caption = d.caption), l.opts.caption = l.opts.caption === o ? "" : l.opts.caption + "", "ajax" === s && (c = r.split(/\s+/, 2), c.length > 1 && (l.src = c.shift(), l.opts.filter = c.shift())), "auto" == l.opts.smallBtn && (n.inArray(s, ["html", "inline", "ajax"]) > -1 ? (l.opts.toolbar = !1, l.opts.smallBtn = !0) : l.opts.smallBtn = !1), "pdf" === s && (l.type = "iframe", l.opts.iframe.preload = !1), l.opts.modal && (l.opts = n.extend(!0, l.opts, {
213                        infobar: 0,
214                        toolbar: 0,
215                        smallBtn: 0,
216                        keyboard: 0,
217                        slideShow: 0,
218                        fullScreen: 0,
219                        thumbs: 0,
220                        touch: 0,
221                        clickContent: !1,
222                        clickSlide: !1,
223                        clickOutside: !1,
224                        dblclickContent: !1,
225                        dblclickSlide: !1,
226                        dblclickOutside: !1
227                    })), e.group.push(l)
228                })
229            },
230            addEvents: function() {
231                var o = this;
232                o.removeEvents(), o.$refs.container.on("click.fb-close", "[data-fancybox-close]", function(t) {
233                    t.stopPropagation(), t.preventDefault(), o.close(t)
234                }).on("click.fb-prev touchend.fb-prev", "[data-fancybox-prev]", function(t) {
235                    t.stopPropagation(), t.preventDefault(), o.previous()
236                }).on("click.fb-next touchend.fb-next", "[data-fancybox-next]", function(t) {
237                    t.stopPropagation(), t.preventDefault(), o.next()
238                }), s.on("orientationchange.fb resize.fb", function(t) {
239                    t && t.originalEvent && "resize" === t.originalEvent.type ? u(function() {
240                        o.update()
241                    }) : (o.$refs.stage.hide(), setTimeout(function() {
242                        o.$refs.stage.show(), o.update()
243                    }, 500))
244                }), r.on("focusin.fb", function(t) {
245                    var i = n.fancybox ? n.fancybox.getInstance() : null;
246                    i.isClosing || !i.current || !i.current.opts.trapFocus || n(t.target).hasClass("fancybox-container") || n(t.target).is(e) || i && "fixed" !== n(t.target).css("position") && !i.$refs.container.has(t.target).length && (t.stopPropagation(), i.focus(), s.scrollTop(o.scrollTop).scrollLeft(o.scrollLeft))
247                }
247), r.on("keydown.fb", function(t) {
248                    var e = o.current,
249                        i = t.keyCode || t.which;
250                    if (e && e.opts.keyboard && !n(t.target).is("input") && !n(t.target).is("textarea")) return 8 === i || 27 === i ? (t.preventDefault(), void o.close(t)) : 37 === i || 38 === i ? (t.preventDefault(), void o.previous()) : 39 === i || 40 === i ? (t.preventDefault(), void o.next()) : void o.trigger("afterKeydown", t, i)
251                }), o.group[o.currIndex].opts.idleTime && (o.idleSecondsCounter = 0, r.on("mousemove.fb-idle mouseenter.fb-idle mouseleave.fb-idle mousedown.fb-idle touchstart.fb-idle touchmove.fb-idle scroll.fb-idle keydown.fb-idle", function() {
252                    o.idleSecondsCounter = 0, o.isIdle && o.showControls(), o.isIdle = !1
253                }), o.idleInterval = t.setInterval(function() {
254                    o.idleSecondsCounter++, o.idleSecondsCounter >= o.group[o.currIndex].opts.idleTime && (o.isIdle = !0, o.idleSecondsCounter = 0, o.hideControls())
255                }, 1e3))
256            },
257            removeEvents: function() {
258                var e = this;
259                s.off("orientationchange.fb resize.fb"), r.off("focusin.fb keydown.fb .fb-idle"), this.$refs.container.off(".fb-close .fb-prev .fb-next"), e.idleInterval && (t.clearInterval(e.idleInterval), e.idleInterval = null)
260            },
261            previous: function(t) {
262                return this.jumpTo(this.currPos - 1, t)
263            },
264            next: function(t) {
265                return this.jumpTo(this.currPos + 1, t)
266            },
267            jumpTo: function(t, e, i) {
268                var a, s, r, c, l, u, d, h = this,
269                    p = h.group.length;
270                if (!(h.isSliding || h.isClosing || h.isAnimating && h.firstRun)) {
271                    if (t = parseInt(t, 10), s = h.current ? h.current.opts.loop : h.opts.loop, !s && (t < 0 || t >= p)) return !1;
272                    if (a = h.firstRun = null === h.firstRun, !(p < 2 && !a && h.isSliding)) {
273                        if (c = h.current, h.prevIndex = h.currIndex, h.prevPos = h.currPos, r = h.createSlide(t), p > 1 && ((s || r.index > 0) && h.createSlide(t - 1), (s || r.index < p - 1) && h.createSlide(t + 1)), h.current = r, h.currIndex = r.index, h.currPos = r.pos, h.trigger("beforeShow", a), h.updateControls(), u = n.fancybox.getTranslate(r.$slide), r.isMoved = (0 !== u.left || 0 !== u.top) && !r.$slide.hasClass("fancybox-animated"), r.forcedDuration = o, n.isNumeric(e) ? r.forcedDuration = e : e = r.opts[a ? "animationDuration" : "transitionDuration"], e = parseInt(e, 10), a) return r.opts.animationEffect && e && h.$refs.container.css("transition-duration", e + "ms"), h.$refs.container.removeClass("fancybox-is-hidden"), f(h.$refs.container), h.$refs.container.addClass("fancybox-is-open"), r.$slide.addClass("fancybox-slide--current"), h.loadSlide(r), void h.preload();
274                        n.each(h.slides, function(t, e) {
275                            n.fancybox.stop(e.$slide)
276                        }), r.$slide.removeClass("fancybox-slide--next fancybox-slide--previous").addClass("fancybox-slide--current"), r.isMoved ? (l = Math.round(r.$slide.width()), n.each(h.slides, function(t, o) {
277                            var i = o.pos - r.pos;
278                            n.fancybox.animate(o.$slide, {
279                                top: 0,
280                                left: i * l + i * o.opts.gutter
281                            }, e, function() {
282                                o.$slide.removeAttr("style").removeClass("fancybox-slide--next fancybox-slide--previous"), o.pos === h.currPos && (r.isMoved = !1, h.complete())
283                            })
284                        })) : h.$refs.stage.children().removeAttr("style"), r.isLoaded ? h.revealContent(r) : h.loadSlide(r), h.preload(), c.pos !== r.pos && (d = "fancybox-slide--" + (c.pos > r.pos ? "next" : "previous"), c.$slide.removeClass("fancybox-slide--complete fancybox-slide--current fancybox-slide--next fancybox-slide--previous"), c.isComplete = !1, e && (r.isMoved || r.opts.transitionEffect) && (r.isMoved ? c.$slide.addClass(d) : (d = "fancybox-animated " + d + " fancybox-fx-" + r.opts.transitionEffect, n.fancybox.animate(c.$slide, d, e, function() {
285                            c.$slide.removeClass(d).removeAttr("style")
286                        }))))
287                    }
288                }
289            },
290            createSlide: function(t) {
291                var e, o, i = this;
292                return o = t % i.group.length, o = o < 0 ? i.group.length + o : o, !i.slides[t] && i.group[o] && (e = n('<div class="fancybox-slide"></div>').appendTo(i.$refs.stage), i.slides[t] = n.extend(!0, {}, i.group[o], {
293                    pos: t,
294                    $slide: e,
295                    isLoaded: !1
296                }), i.updateSlide(i.slides[t])), i.slides[t]
297            },
298            scaleToActual: function(t, e, i) {
299                var a, s, r, c, l, u = this,
300                    d = u.current,
301                    f = d.$content,
302                    h = parseInt(d.$slide.width(), 10),
303                    p = parseInt(d.$slide.height(), 10),
304                    g = d.width,
305                    b = d.height;
306                "image" != d.type || d.hasError || !f || u.isAnimating || (n.fancybox.stop(f), u.isAnimating = !0, t = t === o ? .5 * h : t, e = e === o ? .5 * p : e, a = n.fancybox.getTranslate(f), c = g / a.width, l = b / a.height, s = .5 * h - .5 * g, r = .5 * p - .5 * b, g > h && (s = a.left * c - (t * c - t), s > 0 && (s = 0), s < h - g && (s = h - g)), b > p && (r = a.top * l - (e * l - e), r > 0 && (r = 0), r < p - b && (r = p - b)), u.updateCursor(g, b), n.fancybox.animate(f, {
307                    top: r,
308                    left: s,
309                    scaleX: c,
310                    scaleY: l
311                }, i || 330, function() {
312                    u.isAnimating = !1
313                }), u.SlideShow && u.SlideShow.isActive && u.SlideShow.stop())
314            },
315            scaleToFit: function(t) {
316                var e, o = this,
317                    i = o.current,
318                    a = i.$content;
319                "image" != i.type || i.hasError || !a || o.isAnimating || (n.fancybox.stop(a), o.isAnimating = !0, e = o.getFitPos(i), o.updateCursor(e.width, e.height), n.fancybox.animate(a, {
320                    top: e.top,
321                    left: e.left,
322                    scaleX: e.width / a.width(),
323                    scaleY: e.height / a.height()
324                }, t || 330, function() {
325                    o.isAnimating = !1
326                }))
327            },
328            getFitPos: function(t) {
329                var e, o, i, a, r, c = this,
330                    l = t.$content,
331                    u = t.width,
332                    d = t.height,
333                    f = t.opts.margin;
334                return !(!l || !l.length || !u && !d) && ("number" === n.type(f) && (f = [f, f]), 2 == f.length && (f = [f[0], f[1], f[0], f[1]]), s.width() < 800 && (f = [0, 0, 0, 0]), e = parseInt(c.$refs.stage.width(), 10) - (f[1] + f[3]), o = parseInt(c.$refs.stage.height(), 10) - (f[0] + f[2]), i = Math.min(1, e / u, o / d), a = Math.floor(i * u), r = Math.floor(i * d), {
335                    top: Math.floor(.5 * (o - r)) + f[0],
336                    left: Math.floor(.5 * (e - a)) + f[3],
337                    width: a,
338                    height: r
339                })
340            },
341            update: function() {
342                var t = this;
343                n.each(t.slides, function(e, n) {
344                    t.updateSlide(n)
345                })
346            },
347            updateSlide: function(t) {
348                var e = this,
349                    o = t.$content;
350                o && (t.width || t.height) && (n.fancybox.stop(o), n.fancybox.setTranslate(o, e.getFitPos(t)), t.pos === e.currPos && e.updateCursor(
350)), t.$slide.trigger("refresh"), e.trigger("onUpdate", t)
351            },
352            updateCursor: function(t, e) {
353                var n, i = this,
354                    a = i.$refs.container.removeClass("fancybox-is-zoomable fancybox-can-zoomIn fancybox-can-drag fancybox-can-zoomOut");
355                i.current && !i.isClosing && (i.isZoomable() ? (a.addClass("fancybox-is-zoomable"), n = t !== o && e !== o ? t < i.current.width && e < i.current.height : i.isScaledDown(), n ? a.addClass("fancybox-can-zoomIn") : i.current.opts.touch ? a.addClass("fancybox-can-drag") : a.addClass("fancybox-can-zoomOut")) : i.current.opts.touch && a.addClass("fancybox-can-drag"))
356            },
357            isZoomable: function() {
358                var t, e = this,
359                    o = e.current;
360                if (o && !e.isClosing) return !!("image" === o.type && o.isLoaded && !o.hasError && ("zoom" === o.opts.clickContent || n.isFunction(o.opts.clickContent) && "zoom" === o.opts.clickContent(o)) && (t = e.getFitPos(o), o.width > t.width || o.height > t.height))
361            },
362            isScaledDown: function() {
363                var t = this,
364                    e = t.current,
365                    o = e.$content,
366                    i = !1;
367                return o && (i = n.fancybox.getTranslate(o), i = i.width < e.width || i.height < e.height), i
368            },
369            canPan: function() {
370                var t = this,
371                    e = t.current,
372                    n = e.$content,
373                    o = !1;
374                return n && (o = t.getFitPos(e), o = Math.abs(n.width() - o.width) > 1 || Math.abs(n.height() - o.height) > 1), o
375            },
376            loadSlide: function(t) {
377                var e, o, i, a = this;
378                if (!t.isLoading && !t.isLoaded) {
379                    switch (t.isLoading = !0, a.trigger("beforeLoad", t), e = t.type, o = t.$slide, o.off("refresh").trigger("onReset").addClass("fancybox-slide--" + (e || "unknown")).addClass(t.opts.slideClass), e) {
380                        case "image":
381                            a.setImage(t);
382                            break;
383                        case "iframe":
384                            a.setIframe(t);
385                            break;
386                        case "html":
387                            a.setContent(t, t.src || t.content);
388                            break;
389                        case "inline":
390                            n(t.src).length ? a.setContent(t, n(t.src)) : a.setError(t);
391                            break;
392                        case "ajax":
393                            a.showLoading(t), i = n.ajax(n.extend({}, t.opts.ajax.settings, {
394                                url: t.src,
395                                success: function(e, n) {
396                                    "success" === n && a.setContent(t, e)
397                                },
398                                error: function(e, n) {
399                                    e && "abort" !== n && a.setError(t)
400                                }
401                            })), o.one("onReset", function() {
402                                i.abort()
403                            });
404                            break;
405                        default:
406                            a.setError(t)
407                    }
408                    return !0
409                }
410            },
411            setImage: function(e) {
412                var o, i, a, s, r = this,
413                    c = e.opts.image.srcset;
414                if (c) {
415                    a = t.devicePixelRatio || 1, s = t.innerWidth * a, i = c.split(",").map(function(t) {
416                        var e = {};
417                        return t.trim().split(/\s+/).forEach(function(t, n) {
418                            var o = parseInt(t.substring(0, t.length - 1), 10);
419                            return 0 === n ? e.url = t : void(o && (e.value = o, e.postfix = t[t.length - 1]))
420                        }), e
421                    }), i.sort(function(t, e) {
422                        return t.value - e.value
423                    });
424                    for (var l = 0; l < i.length; l++) {
425                        var u = i[l];
426                        if ("w" === u.postfix && u.value >= s || "x" === u.postfix && u.value >= a) {
427                            o = u;
428                            break
429                        }
430                    }!o && i.length && (o = i[i.length - 1]), o && (e.src = o.url, e.width && e.height && "w" == o.postfix && (e.height = e.width / e.height * o.value, e.width = o.value))
431                }
432                e.$content = n('<div class="fancybox-image-wrap"></div>').addClass("fancybox-is-hidden").appendTo(e.$slide), e.opts.preload !== !1 && e.opts.width && e.opts.height && (e.opts.thumb || e.opts.$thumb) ? (e.width = e.opts.width, e.height = e.opts.height, e.$ghost = n("<img />").one("error", function() {
433                    n(this).remove(), e.$ghost = null, r.setBigImage(e)
434                }).one("load", function() {
435                    r.afterLoad(e), r.setBigImage(e)
436                }).addClass("fancybox-image").appendTo(e.$content).attr("src", e.opts.thumb || e.opts.$thumb.attr("src"))) : r.setBigImage(e)
437            },
438            setBigImage: function(t) {
439                var e = this,
440                    o = n("<img />");
441                t.$image = o.one("error", function() {
442                    e.setError(t)
443                }).one("load", function() {
444                    clearTimeout(t.timouts), t.timouts = null, e.isClosing || (t.width = this.naturalWi
444dth, t.height = this.naturalHeight, t.opts.image.srcset && o.attr("sizes", "100vw").attr("srcset", t.opts.image.srcset), e.hideLoading(t), t.$ghost ? t.timouts = setTimeout(function() {
445                        t.timouts = null, t.$ghost.hide()
446                    }, Math.min(300, Math.max(1e3, t.height / 1600))) : e.afterLoad(t))
447                }).addClass("fancybox-image").attr("src", t.src).appendTo(t.$content), o[0].complete ? o.trigger("load") : o[0].error ? o.trigger("error") : t.timouts = setTimeout(function() {
448                    o[0].complete || t.hasError || e.showLoading(t)
449                }, 100)
450            },
451            setIframe: function(t) {
452                var e, i = this,
453                    a = t.opts.iframe,
454                    s = t.$slide;
455                t.$content = n('<div class="fancybox-content' + (a.preload ? " fancybox-is-hidden" : "") + '"></div>').css(a.css).appendTo(s), e = n(a.tpl.replace(/\{rnd\}/g, (new Date).getTime())).attr(a.attr).appendTo(t.$content), a.preload ? (i.showLoading(t), e.on("load.fb error.fb", function(e) {
456                    this.isReady = 1, t.$slide.trigger("refresh"), i.afterLoad(t)
457                }), s.on("refresh.fb", function() {
458                    var n, i, s, r, c, l = t.$content;
459                    if (1 === e[0].isReady) {
460                        try {
461                            n = e.contents(), i = n.find("body")
462                        } catch (t) {}
463                        i && i.length && (a.css.width === o || a.css.height === o) && (s = e[0].contentWindow.document.documentElement.scrollWidth, r = Math.
463ceil(i.outerWidth(!0) + (l.width() - s)), c = Math.ceil(i.outerHeight(!0)), l.css({
464                            width: a.css.width === o ? r + (l.outerWidth() - l.innerWidth()) : a.css.width,
465                            height: a.css.height === o ? c + (l.outerHeight() - l.innerHeight()) : a.css.height
466                        })), l.removeClass("fancybox-is-hidden")
467                    }
468                })) : this.afterLoad(t), e.attr("src", t.src), t.opts.smallBtn === !0 && t.$content.prepend(i.translate(t, t.opts.btnTpl.smallBtn)), s.one("onReset", function() {
469                    try {
470                        n(this).find("iframe").hide().attr("src", "//about:blank")
471                    } catch (t) {}
472                    n(this).empty(), t.isLoaded = !1
473                })
474            },
475            setContent: function(t, e) {
476                var o = this;
477                o.isClosing || (o.hideLoading(t), t.$slide.empty(), l(e) && e.parent().length ? (e.parent(".fancybox-slide--inline").trigger("onReset"), t.$placeholder = n("<div></div>").hide().insertAfter(e), e.css("display", "inline-block")) : t.hasError || ("string" === n.type(e) && (e = n("<div>").append(n.trim(e)).contents(), 3 === e[0].nodeType && (e = n("<div>").html(e))), t.opts.filter && (e = n("<div>").html(e).find(t.opts.filter))), t.$slide.one("onReset", function() {
478                    t.$placeholder && (t.$placeholder.after(e.hide()).remove(), t.$placeholder = null), t.$smallBtn && (t.$smallBtn.remove(), t.$smallBtn = null), t.hasError || (n(this).empty(), t.isLoaded = !1)
479                }), t.$content = n(e).appendTo(t.$slide), t.opts.smallBtn && !t.$smallBtn && (t.$smallBtn = n(o.translate(t, t.opts.btnTpl.smallBtn)).appendTo(t.$content)), this.afterLoad(t))
480            },
481            setError: function(t) {
482                t.hasError = !0, t.$slide.removeClass("fancybox-slide--" + t.type), this.setContent(t, this.translate(t, t.opts.errorTpl))
483            },
484            showLoading: function(t) {
485                var e = this;
486                t = t || e.current, t && !t.$spinner && (t.$spinner = n(e.opts.spinnerTpl).appendTo(t.$slide))
487            },
488            hideLoading: function(t) {
489                var e = this;
490                t = t || e.current, t && t.$spinner && (t.$spinner.remove(), delete t.$spinner)
491            },
492            afterLoad: function(t) {
493                var e = this;
494                e.isClosing || (t.isLoading = !1, t.isLoaded = !0, e.trigger("afterLoad", t), e.hideLoading(t), t.opts.protect && t.$content && !t.hasError && (t.$content.on("contextmenu.fb", function(t) {
495                    return 2 == t.button && t.preventDefault(), !0
496                }), "image" === t.type && n('<div class="fancybox-spaceball"></div>').appendTo(t.$content)), e.revealContent(t))
497            },
498            revealContent: function(t) {
499                var e, i, a, s, r, c = this,
500                    l = t.$slide,
501                    u = !1;
502                return e = t.opts[c.firstRun ? "animationEffect" : "transitionEffect"], a = t.opts[c.firstRun ? "animationDuration" : "transitionDuration"], a = parseInt(t.forcedDuration === o ? a : t.forcedDuration, 10), !t.isMoved && t.pos === c.currPos && a || (e = !1), "zoom" !== e || t.pos === c.currPos && a && "image" === t.type && !t.hasError && (u = c.getThumbPos(t)) || (e = "fade"), "zoom" === e ? (r = c.getFitPos(t), r.scaleX = Math.round(r.width / u.width * 100) / 100, r.scaleY = Math.round(r.height / u.height * 100) / 100, delete r.width, delete r.height, s = t.opts.zoomOpacity, "auto" == s && (s = Math.abs(t.width / t.height - u.width / u.height) > .1), s && (u.opacity = .1, r.opacity = 1), n.fancybox.setTranslate(t.$content.removeClass("fancybox-is-hidden"), u), f(t.$content), void n.fancybox.animate(t.$content, r, a, function() {
503                    c.complete()
504                })) : (c.updateSlide(t), e ? (n.fancybox.stop(l), i = "fancybox-animated fancybox-slide--" + (t.pos > c.prevPos ? "next" : "previous") + " fancybox-fx-" + e, l.removeAttr("style").removeClass("fancybox-slide--current fancybox-slide--next fancybox-slide--previous").addClass(i), t.$content.removeClass("fancybox-is-hidden"), f(l), void n.fancybox.animate(l, "fancybox-slide--current", a, function(e) {
505                    l.removeClass(i).removeAttr("style"), t.pos === c.currPos && c.complete()
506                }, !0)) : (f(l), t.$content.removeClass("fancybox-is-hidden"), void(t.pos === c.currPos && c.complete())))
507            },
508            getThumbPos: function(o) {
509                var i, a = this,
510                    s = !1,
511                    r = function(e) {
512                        for (var o, i = e[0], a = i.getBoundingClientRect(), s = []; null !== i.parentElement;) "hidden" !== n(i.parentElement).css("overflow") && "auto" !== n(i.parentElement).css("overflow") || s.push(i.parentElement.getBoundingClientRect()), i = i.parentElement;
513                        return o = s.every(function(t) {
514                            var e = Math.min(a.right, t.right) - Math.max(a.left, t.left),
515                                n = Math.min(a.bottom, t.bottom) - Math.max(a.top, t.top);
516                            return e > 0 && n > 0
517                        }), o && a.bottom > 0 && a.right > 0 && a.left < n(t).width() && a.top < n(t).height()
518                    },
519                    c = o.opts.$thumb,
520                    l = c ? c.offset() : 0;
521                return l && c[0].ownerDocument === e && r(c) && (i = a.$refs.stage.offset(), s = {
522                    top: l.top - i.top + parseFloat(c.css("border-top-width") || 0),
523                    left: l.left - i.left + parseFloat(c.css("border-left-width") || 0),
524                    width: c.width(),
525                    height: c.height(),
526                    scaleX: 1,
527                    scaleY: 1
528                }), s
529            },
530            complete: function() {
531                var t = this,
532                    o = t.current,
533                    i = {};
534                o.isMoved || !o.isLoaded || o.isComplete || (o.isComplete = !0, o.$slide.siblings().trigger("onReset"), f(o.$slide), o.$slide.addClass("fancybox-slide--complete"), n.each(t.slides, function(e, o) {
535                    o.pos >= t.currPos - 1 && o.pos <= t.currPos + 1 ? i[o.pos] = o : o && (n.fancybox.stop(o.$slide), o.$slide.unbind().remove())
536                }
536), t.slides = i, t.updateCursor(), t.trigger("afterShow"), (n(e.activeElement).is("[disabled]") || o.opts.autoFocus && "image" != o.type && "iframe" !== o.type) && t.focus())
537            },
538            preload: function() {
539                var t, e, n = this;
540                n.group.length < 2 || (t = n.slides[n.currPos + 1], e = n.slides[n.currPos - 1], t && "image" === t.type && n.loadSlide(t), e && "image" === e.type && n.loadSlide(e))
541            },
542            focus: function() {
543                var t, e = this.current;
544                this.isClosing || (t = e && e.isComplete ? e.$slide.find("button,:input,[tabindex],a").filter(":not([disabled]):visible:first") : null, t = t && t.length ? t : this.$refs.container, t.focus())
545            },
546            activate: function() {
547                var t = this;
548                n(".fancybox-container").each(function() {
549                    var e = n(this).data("FancyBox");
550                    e && e.uid !== t.uid && !e.isClosing && e.trigger("onDeactivate")
551                }), t.current && (t.$refs.container.index() > 0 && t.$refs.container.prependTo(e.body), t.updateControls()), t.trigger("onActivate"), t.addEvents()
552            },
553            close: function(t, e) {
554                var o, i, a, s, r, c, l = this,
555                    f = l.current,
556                    h = function() {
557                        l.cleanUp(t)
558                    };
559                return !l.isClosing && (l.isClosing = !0, l.trigger("beforeClose", t) === !1 ? (l.isClosing = !1, u(function() {
560                    l.update()
561                }), !1) : (l.removeEvents(), f.timouts && clearTimeout(f.timouts), a = f.$content, o = f.opts.animationEffect, i = n.isNumeric(e) ? e : o ? f.opts.animationDuration : 0, f.$slide.off(d).removeClass("fancybox-slide--complete fancybox-slide--next fancybox-slide--previous fancybox-animated"), f.$slide.siblings().trigger("onReset").remove(), i && l.$refs.container.removeClass("fancybox-is-open").addClass("fancybox-is-closing"), l.hideLoading(f), l.hideControls(), l.updateCursor(), "zoom" !== o || t !== !0 && a && i && "image" === f.type && !f.hasError && (c = l.getThumbPos(f)) || (o = "fade"), "zoom" === o ? (n.fancybox.stop(a), r = n.fancybox.getTranslate(a), r.width = r.width * r.scaleX, r.height = r.height * r.scaleY, s = f.opts.zoomOpacity, "auto" == s && (s = Math.abs(f.width / f.height - c.width / c.height) > .1), s && (c.opacity = 0), r.scaleX = r.width / c.width, r.scaleY = r.height / c.height, r.width = c.width, r.height = c.height, n.fancybox.setTranslate(f.$content, r), n.fancybox.animate(f.$content, c, i, h), !0) : (o && i ? t === !0 ? setTimeout(h, i) : n.fancybox.animate(f.$slide.removeClass("fancybox-slide--current"), "fancybox-animated fancybox-slide--previous fancybox-fx-" + o, i, h) : h(), !0)))
562            },
563            cleanUp: function(t) {
564                var e, o = this;
565                o.current.$slide.trigger("onReset"), o.$refs.container.empty().remove(), o.trigger("afterClose", t), o.$lastFocus && !o.current.focusBack && o.$lastFocus.focus(), o.current = null, e = n.fancybox.getInstance(), e ? e.activate() : (s.scrollTop(o.scrollTop).scrollLeft(o.scrollLeft), n("html").removeClass("fancybox-enabled"), n("#fancybox-style-noscroll").remove())
566            },
567            trigger: function(t, e) {
568                var o, i = Array.prototype.slice.call(arguments, 1),
569                    a = this,
570                    s = e && e.opts ? e : a.current;
571                return s ? i.unshift(s) : s = a, i.unshift(a), n.isFunction(s.opts[t]) && (o = s.opts[t].apply(s, i)), o === !1 ? o : void("afterClose" === t ? r.trigger(t + ".fb", i) : a.$refs.container.trigger(t + ".fb", i))
572            },
573            updateControls: function(t) {
574                var e = this,
575                    o = e.current,
576                    i = o.index,
577                    a = o.opts,
578                    s = a.caption,
579                    r = e.$refs.caption;
580                o.$slide.trigger("refresh"), e.$caption = s && s.length ? r.html(s) : null, e.isHiddenControls || e.showControls(), n("[data-fancybox-count]").html(e.group.length), n("[data-fancybox-index]").html(i + 1), n("[data-fancybox-prev]").prop("disabled", !a.loop && i <= 0), n("[data-fancybox-next]").prop("disabled", !a.loop && i >= e.group.length - 1)
581            },
582            hideControls: function() {
583                this.isHiddenControls = !0, this.$refs.container.removeClass("fancybox-show-infobar fancybox-show-toolbar fancybox-show-caption fancybox-show-nav")
584            },
585            showControls: function() {
586                var t = this,
587                    e = t.current ? t.current.opts : t.opts,
588                    n = t.$refs.container;
589                t.isHiddenControls = !1, t.idleSecondsCounter = 0, n.toggleClass("fancybox-show-toolbar", !(!e.toolbar || !e.buttons)).toggleClass("fancybox-show-infobar", !!(e.infobar && t.group.length > 1)).toggleClass("fancybox-show-nav", !!(e.arrows && t.group.length > 1)).toggleClass("fancybox-is-modal", !!e.modal), t.$caption ? n.addClass("fancybox-show-caption ") : n.removeClass("fancybox-show-caption")
590            },
591            toggleControls: function() {
592                this.isHiddenControls ? this.showControls() : this.hideControls()
593            }
594        }), n.fancybox = {
595            version: "3.1.20",
596            defaults: a,
597            getInstance: function(t) {
598                var e = n('.fancybox-container:not(".fancybox-is-closing"):first').data("FancyBox"),
599                    o = Array.prototype.slice.call(arguments, 1);
600                return e instanceof h && ("string" === n.type(t) ? e[t].apply(e, o) : "function" === n.type(t) && t.apply(e, o), e)
601            },
602            open: function(t, e, n) {
603                return new h(t, e, n)
604            },
605            close: function(t) {
606                var e = this.getInstance();
607                e && (e.close(), t === !0 && this.close())
608            },
609            destroy: function() {
610                this.close(!0), r.off("click.fb-start")
611            },
612            isMobile: e.createTouch !== o && /Android|webOS|iPhone|iPad|iPod|BlackBerry/i.test(navigator.userAgent),
613            use3d: function() {
614                var n = e.createElement("div");
615                return t.getComputedStyle && t.getComputedStyle(n).getPropertyValue("transform") && !(e.documentMode && e.documentMode < 11)
616            }(),
617            getTranslate: function(t) {
618                var e;
619                if (!t || !t.length) return !1;
620                if (e = t.eq(0).css("transform"), e && e.indexOf("matrix") !== -1 ? (e = e.split("(")[1], e = e.split(")")[0], e = e.split(",")) : e = [], e.length) e = e.length > 10 ? [e[13], e[12], e[0], e[5]] : [e[5], e[4], e[0], e[3]], e = e.map(parseFloat);
621                else {
622                    e = [0, 0, 1, 1];
623                    var n = /\.*translate\((.*)px,(.*)px\)/i,
624                        o = n.exec(t.eq(0).attr("style"));
625                    o && (e[0] = parseFloat(o[2]), e[1] = parseFloat(o[1]))
626                }
627                return {
628                    top: e[0],
629                    left: e[1],
630                    scaleX: e[2],
631                    scaleY: e[3],
632                    opacity: parseFloat(t.css("opacity")),
633                    width: t.width(),
634                    height: t.height()
635                }
636            },
637            setTranslate: function(t, e) {
638                var n = "",
639                    i = {};
640                if (t && e) return e.left === o && e.top === o || (n = (e.left === o ? t.position().left : e.left) + "px, " + (e.top === o ? t.position().top : e.top) + "px", n = this.use3d ? "translate3d(" + n + ", 0px)" : "translate(" + n + ")"), e.scaleX !== o && e.scaleY !== o && (n = (n.length ? n + " " : "") + "scale(" + e.scaleX + ", " + e.scaleY + ")"), n.length && (i.transform = n), e.opacity !== o && (i.op
vendor: 8,714 bytes, lines 640-821
640acity = e.opacity), e.width !== o && (i.width = e.width), e.height !== o && (i.height = e.height), t.css(i)
641            },
642            animate: function(t, e, i, a, s) {
643                var r = d || "transitionend";
644                n.isFunction(i) && (a = i, i = null), n.isPlainObject(e) || t.removeAttr("style"), t.on(r, function(i) {
645                    (!i || !i.originalEvent || t.is(i.originalEvent.target) && "z-index" != i.originalEvent.propertyName) && (t.off(r), n.isPlainObject(e) ? e.scaleX !== o && e.scaleY !== o && (t.css("transition-duration", "0ms"), e.width = t.width() * e.scaleX, e.height = t.height() * e.scaleY, e.scaleX = 1, e.scaleY = 1, n.fancybox.setTranslate(t, e)) : s !== !0 && t.removeClass(e), n.isFunction(a) && a(i))
646                }), n.isNumeric(i) && t.css("transition-duration", i + "ms"), n.isPlainObject(e) ? n.fancybox.setTranslate(t, e) : t.addClass(e), t.data("timer", setTimeout(function() {
647                    t.trigger("transitionend")
648                }, i + 16))
649            },
650            stop: function(t) {
651                clearTimeout(t.data("timer")), t.off(d)
652            }
653        }, n.fn.fancybox = function(t) {
654            var e;
655            return t = t || {}, e = t.selector || !1, e ? n("body").off("click.fb-start", e).on("click.fb-start", e, {
656                items: n(e),
657                options: t
658            }, i) : this.off("click.fb-start").on("click.fb-start", {
659                items: this,
660                options: t
661            }, i), this
662        }, r.on("click.fb-start", "[data-fancybox]", i)
663    }
664}(window, document, window.jQuery),
665function(t) {
666    "use strict";
667    var e = function(e, n, o) {
668            if (e) return o = o || "", "object" === t.type(o) && (o = t.param(o, !0)), t.each(n, function(t, n) {
669                e = e.replace("$" + t, n || "")
670            }), o.length && (e += (e.indexOf("?") > 0 ? "&" : "?") + o), e
671        },
672        n = {
673            youtube: {
674                matcher: /(youtube\.com|youtu\.be|youtube\-nocookie\.com)\/(watch\?(.*&)?v=|v\/|u\/|embed\/?)?(videoseries\?list=(.*)|[\w-]{11}|\?listType=(.*)&list=(.*))(.*)/i,
675                params: {
676                    autoplay: 1,
677                    autohide: 1,
678                    fs: 1,
679                    rel: 0,
680                    hd: 1,
681                    wmode: "transparent",
682                    enablejsapi: 1,
683                    html5: 1
684                },
685                paramPlace: 8,
686                type: "iframe",
687                url: "//www.youtube.com/embed/$4",
688                thumb: "//img.youtube.com/vi/$4/hqdefault.jpg"
689            },
690            vimeo: {
691                matcher: /^.+vimeo.com\/(.*\/)?([\d]+)(.*)?/,
692                params: {
693                    autoplay: 1,
694                    hd: 1,
695                    show_title: 1,
696                    show_byline: 1,
697                    show_portrait: 0,
698                    fullscreen: 1,
699                    api: 1
700                },
701                paramPlace: 3,
702                type: "iframe",
703                url: "//player.vimeo.com/video/$2"
704            },
705            metacafe: {
706                matcher: /metacafe.com\/watch\/(\d+)\/(.*)?/,
707                type: "iframe",
708                url: "//www.metacafe.com/embed/$1/?ap=1"
709            },
710            dailymotion: {
711                matcher: /dailymotion.com\/video\/(.*)\/?(.*)/,
712                params: {
713                    additionalInfos: 0,
714                    autoStart: 1
715                },
716                type: "iframe",
717                url: "//www.dailymotion.com/embed/video/$1"
718            },
719            vine: {
720                matcher: /vine.co\/v\/([a-zA-Z0-9\?\=\-]+)/,
721                type: "iframe",
722                url: "//vine.co/v/$1/embed/simple"
723            },
724            instagram: {
725                matcher: /(instagr\.am|instagram\.com)\/p\/([a-zA-Z0-9_\-]+)\/?/i,
726                type: "image",
727                url: "//$1/p/$2/media/?size=l"
728            },
729            google_maps: {
730                matcher: /(maps\.)?google\.([a-z]{2,3}(\.[a-z]{2})?)\/(((maps\/(place\/(.*)\/)?\@(.*),(\d+.?\d+?)z))|(\?ll=))(.*)?/i,
731                type: "iframe",
732                url: function(t) {
733                    return "//maps.google." + t[2] + "/?ll=" + (t[9] ? t[9] + "&z=" + Math.floor(t[10]) + (t[12] ? t[12].replace(/^\//, "&") : "") : t[12]) + "&output=" + (t[12] && t[12].indexOf("layer=c") > 0 ? "svembed" : "embed")
734                }
735            }
736        };
737    t(document).on("onInit.fb", function(o, i) {
738        t.each(i.group, function(o, i) {
739            var a, s, r, c, l, u, d, f = i.src || "",
740                h = !1;
741            i.type || (a = t.extend(!0, {}, n, i.opts.media), t.each(a, function(n, o) {
742                if (r = f.match(o.matcher), u = {}, d = n, r) {
743                    if (h = o.type, o.paramPlace && r[o.paramPlace]) {
744                        l = r[o.paramPlace], "?" == l[0] && (l = l.substring(1)), l = l.split("&");
745                        for (var a = 0; a < l.length; ++a) {
746                            var p = l[a].split("=", 2);
747                            2 == p.length && (u[p[0]] = decodeURIComponent(p[1].replace(/\+/g, " ")))
748                        }
749                    }
750                    return c = t.extend(!0, {}, o.params, i.opts[n], u), f = "function" === t.type(o.url) ? o.url.call(this, r, c, i) : e(o.url, r, c), s = "function" === t.type(o.thumb) ? o.thumb.call(this, r, c, i) : e(o.thumb, r), "vimeo" === d && (f = f.replace("&%23", "#")), !1
751                }
752            }), h ? (i.src = f, i.type = h, i.opts.thumb || i.opts.$thumb && i.opts.$thumb.length || (i.opts.thumb = s), "iframe" === h && (t.extend(!0, i.opts, {
753                iframe: {
754                    preload: !1,
755                    attr: {
756                        scrolling: "no"
757                    }
758                }
759            }), i.contentProvider = d, i.opts.slideClass += " fancybox-slide--" + ("google_maps" == d ? "map" : "video"))) : i.type = "image")
760        })
761    })
762}(window.jQuery),
763function(t, e, n) {
764    "use strict";
765    var o = function() {
766            return t.requestAnimationFrame || t.webkitRequestAnimationFrame || t.mozRequestAnimationFrame || t.oRequestAnimationFrame || function(e) {
767                return t.setTimeout(e, 1e3 / 60)
768            }
769        }(),
770        i = function() {
771            return t.cancelAnimationFrame || t.webkitCancelAnimationFrame || t.mozCancelAnimationFrame || t.oCancelAnimationFrame || function(e) {
772                t.clearTimeout(e)
773            }
774        }(),
775        a = function(e) {
776            var n = [];
777            e = e.originalEvent || e || t.e, e = e.touches && e.touches.length ? e.touches : e.changedTouches && e.changedTouches.length ? e.changedTouches : [e];
778            for (var o in e) e[o].pageX ? n.push({
779                x: e[o].pageX,
780                y: e[o].pageY
781            }) : e[o].clientX && n.push({
782                x: e[o].clientX,
783                y: e[o].clientY
784            });
785            return n
786        },
787        s = function(t, e, n) {
788            return e && t ? "x" === n ? t.x - e.x : "y" === n ? t.y - e.y : Math.sqrt(Math.pow(t.x - e.x, 2) + Math.pow(t.y - e.y, 2)) : 0
789        },
790        r = function(t) {
791            if (t.is("a,button,input,select,textarea") || n.isFunction(t.get(0).onclick)) return !0;
792            for (var e = 0, o = t[0].attributes, i = o.length; e < i; e++)
793                if ("data-fancybox-" === o[e].nodeName.substr(0, 14)) return !0;
794            return !1
795        },
796        c = function(e) {
797            var n = t.getComputedStyle(e)["overflow-y"],
798                o = t.getComputedStyle(e)["overflow-x"],
799                i = ("scroll" === n || "auto" === n) && e.scrollHeight > e.clientHeight,
800                a = ("scroll" === o || "auto" === o) && e.scrollWidth > e.clientWidth;
801            return i || a
802        },
803        l = function(t) {
804            for (var e = !1;;) {
805                if (e = c(t.get(0))) break;
806                if (t = t.parent(), !t.length || t.hasClass("fancybox-stage") || t.is("body")) break
807            }
808            return e
809        },
810        u = function(t) {
811            var e = this;
812            e.instance = t, e.$bg = t.$refs.bg, e.$stage = t.$refs.stage, e.$container = t.$refs.container, e.destroy(), e.$container.on("touchstart.fb.touch mousedown.fb.touch", n.proxy(e, "ontouchstart"))
813        };
814    u.prototype.destroy = function() {
815        this.$container.off(".fb.touch")
816    }, u.prototype.ontouchstart = function(o) {
817        var i = this,
818            c = n(o.target),
819            u = i.instance,
820            d = u.current,
821            f = d.$content,
822            h = "touchstart" == o.type;
823        if (h && i.$container.off("mousedown.fb.touch"), !d || i.instance.isAnimating || i.instance.isClosing) return o.stopPropagation(), void o.preventDefault();
824        if ((!o.originalEvent || 2 != o.originalEvent.button) && c.length && !r(c) && !r(c.parent()) && !(o.originalEvent.clientX > c[0].clientWidth + c.offset().left) && (i.startPoints = a(o), i.startPoints && !(i.startPoints.length > 1 && u.isSliding))) {
825            if (i.$target = c, i.$content = f, i.canTap = !0, n(e).off(".fb.touch"), n(e).on(h ? "touchend.fb.touch touchcancel.fb.touch" : "mouseup.fb.touch mouseleave.fb.touch", n.proxy(i, "ontouchend")), n(e).on(h ? "touchmove.fb.touch" : "mousemove.fb.touch", n.proxy(i, "ontouchmove")), o.stopPropagation(), !u.current.opts.touch && !u.canPan() || !c.is(i.$stage) && !i.$stage.find(c).length) return void(c.is("img") && o.preventDefault());
826            n.fancybox.isMobile && (l(i.$target) || l(i.$target.parent())) || o.preventDefault(), i.canvasWidth = Math.round(d.$slide[0].clientWidth), i.canvasHeight = Math.round(d.$slide[0].clientHeight), i.startTime = (new Date).getTime(), i.distanceX = i.distanceY = i.distance = 0, i.isPanning = !1, i.isSwiping = !1, i.isZooming = !1, i.sliderStartPos = i.sliderLastPos || {
827                top: 0,
828                left: 0
829            }, i.contentStartPos = n.fancybox.getTranslate(i.$content), i.contentLastPos = null, 1 !== i.startPoints.length || i.isZooming || (i.canTap = !u.isSliding, "image" === d.type && (i.contentStartPos.width > i.canvasWidth + 1 || i.contentStartPos.height > i.canvasHeight + 1) ? (n.fancybox.stop(i.$content), i.$content.css("transition-duration", "0ms"), i.isPanning = !0) : i.isSwiping = !0, i.$container.addClass("fancybox-controls--isGrabbing")), 2 !== i.startPoints.length || u.isAnimating || d.hasError || "image" !== d.type || !d.isLoaded && !d.$ghost || (i.isZooming = !0, i.isSwiping = !1, i.isPanning = !1, n.fancybox.stop(i.$content), i.$content.css("transition-duration", "0ms"), i.centerPointStartX = .5 * (i.startPoints[0].x + i.startPoints[1].x) - n(t).scrollLeft(), i.centerPointStartY = .5 * (i.startPoints[0].y + i.startPoints[1].y) - n(t).scrollTop(), i.percentageOfImageAtPinchPointX = (i.centerPointStartX - i.contentStartPos.left) / i.contentStartPos.width, i.percentageOfImageAtPinchPointY = (i.centerPointStartY - i.contentStartPos.top) / i.contentStartPos.height, i.startDistanceBetweenFingers = s(i.startPoints[0], i.startPoints[1]))
830        }
831    }, u.prototype.ontouchmove = function(t) {
832        var e = this;
833        if (e.newPoints = a(t), n.fancybox.isMobile && (l(e.$target) || l(e.$target.parent()))) return t.stopPropagation(), void(e.canTap = !1);
834        if ((e.instance.current.opts.touch || e.instance.canPan()) && e.newPoints && e.newPoints.length && (e.distanceX = s(e.newPoints[0], e.startPoints[0], "x"), e.distanceY = s(e.newPoints[0], e.startPoints[0], "y"), e.distance = s(e.newPoints[0], e.startPoints[0]), e.distance > 0)) {
835            if (!e.$target.is(e.$stage) && !e.$stage.find(e.$target).length) return;
836            t.stopPropagation(), t.preventDefault(), e.isSwiping ? e.onSwipe() : e.isPanning ? e.onPan() : e.isZooming && e.onZoom()
837        }
838    }, u.prototype.onSwipe = function() {
839        var e, a = this,
840            s = a.isSwiping,
841            r = a.sliderStartPos.left || 0;
842        s === !0 ? Math.abs(a.distance) > 10 && (a.canTap = !1, a.instance.group.length < 2 && a.instance.opts.touch.vertical ? a.isSwiping = "y" : a.instance.isSliding || a.instance.opts.touch.vertical === !1 || "auto" === a.instance.opts.touch.vertical && n(t).width() > 800 ? a.isSwiping = "x" : (e = Math.abs(180 * Math.atan2(a.distanceY, a.distanceX) / Math.PI), a.isSwiping = e > 45 && e < 135 ? "y" : "x"), a.instance.isSliding = a.isSwiping, a.startPoints = a.newPoints, n.each(a.instance.slides, function(t, e) {
843            n.fancybox.stop(e.$slide), e.$slide.css("transition-duration", "0ms"), e.inTransition = !1, e.pos === a.instance.current.pos && (a.sliderStartPos.left = n.fancybox.getTranslate(e.$slide).left)
844        }), a.instance.SlideShow && a.instance.SlideShow.isActive && a.instance.SlideShow.stop()) : ("x" == s && (a.distanceX > 0 && (a.instance.group.length < 2 || 0 === a.instance.current.index && !a.instance.current.opts.loop) ? r += Math.pow(a.distanceX, .8) : a.distanceX < 0 && (a.instance.group.length < 2 || a.instance.current.index === a.instance.group.length - 1 && !a.instance.current.opts.loop) ? r -= Math.pow(-a.distanceX, .8) : r += a.distanceX), a.sliderLastPos = {
845            top: "x" == s ? 0 : a.sliderStartPos.top + a.distanceY,
846            left: r
847        }, a.requestId && (i(a.requestId), a.requestId = null), a.requestId = o(function() {
848            a.sliderLastPos && (n.each(a.instance.slides, function(t, e) {
849                var o = e.pos - a.instance.currPos;
850                n.fancybox.setTranslate(e.$slide, {
851                    top: a.sliderLastPos.top,
852                    left: a.sliderLastPos.left + o * a.canvasWidth + o * e.opts.gutter
853                })
854            }), a.$container.addClass("fancybox-is-sliding"))
855        }))
856    }, u.prototype.onPan = function() {
857        var t, e, a, s = this;
858        s.canTap = !1, t = s.contentStartPos.width > s.canvasWidth ? s.contentStartPos.left + s.distanceX : s.contentStartPos.left, e = s.contentStartPos.top + s.distanceY, a = s.limitMovement(t, e, s.contentStartPos.width, s.contentStartPos.height), a.scaleX = s.contentStartPos.scaleX, a.scaleY = s.contentStartPos.scaleY, s.contentLastPos = a, s.requestId && (i(s.requestId), s.requestId = null), s.requestId = o(function() {
859            n.fancybox.setTranslate(s.$content, s.contentLastPos)
860        })
861    }, u.prototype.limitMovement = function(t, e, n, o) {
862        var i, a, s, r, c = this,
863            l = c.canvasWidth,
864            u = c.canvasHeight,
865            d = c.contentStartPos.left,
866            f = c.contentStartPos.top,
867            h = c.distanceX,
868            p = c.distanceY;
869        return i = Math.max(0, .5 * l - .5 * n), a = Math.max(0, .5 * u - .5 * o), s = Math.min(l - n, .5 * l - .5 * n), r = Math.min(u - o, .5 * u - .5 * o), n > l && (h > 0 && t > i && (t = i - 1 + Math.pow(-i + d + h, .8) || 0), h < 0 && t < s && (t = s + 1 - Math.pow(s - d - h, .8) || 0)), o > u && (p > 0 && e > a && (e = a - 1 + Math.pow(-a + f + p, .8) || 0), p < 0 && e < r && (e = r + 1 - Math.pow(r - f - p, .8) || 0)), {
870            top: e,
871            left: t
872        }
873    }, u.prototype.limitPosition = function(t, e, n, o) {
874        var i = this,
875            a = i.canvasWidth,
876            s = i.canvasHeight;
877        return n > a ? (t = t > 0 ? 0 : t, t = t < a - n ? a - n : t) : t = Math.max(0, a / 2 - n / 2), o > s ? (e = e > 0 ? 0 : e, e = e < s - o ? s - o : e) : e = Math.max(0, s / 2 - o / 2), {
878            top: e,
879            left: t
880        }
881    }, u.prototype.onZoom = function() {
882        var e = this,
883            a = e.contentStartPos.width,
884            r = e.contentStartPos.height,
885            c = e.contentStartPos.left,
886            l = e.contentStartPos.top,
887            u = s(e.newPoints[0], e.newPoints[1]),
888            d = u / e.startDistanceBetweenFingers,
889            f = Math.floor(a * d),
890            h = Math.floor(r * d),
891            p = (a - f) * e.percentageOfImageAtPinchPointX,
892            g = (r - h) * e.percentageOfImageAtPinchPointY,
893            b = (e.newPoints[0].x + e.newPoints[1].x) / 2 - n(t).scrollLeft(),
894            m = (e.newPoints[0].y + e.newPoints[1].y) / 2 - n(t).scrollTop(),
895            y = b - e.centerPointStartX,
896            v = m - e.centerPointStartY,
897            x = c + (p + y),
898            w = l + (g + v),
899            $ = {
900                top: w,
901                left: x,
902                scaleX: e.contentStartPos.scaleX * d,
903                scaleY: e.contentStartPos.scaleY * d
904            };
905        e.canTap = !1, e.newWidth = f, e.newHeight = h, e.contentLastPos = $, e.requestId && (i(e.requestId), e.requestId = null), e.requestId = o(function() {
906            n.fancybox.setTranslate(e.$content, e.contentLastPos)
907        })
908    }, u.prototype.ontouchend = function(t) {
909        var o = this,
910            s = Math.max((new Date).getTime() - o.startTime, 1),
911            r = o.isSwiping,
912            c = o.isPanning,
913            l = o.isZooming;
914        return o.endPoints = a(t), o.$container.removeClass("fancybox-controls--isGrabbing"), n(e).off(".fb.touch"), o.requestId && (i(o.requestId), o.requestId = null), o.isSwiping = !1, o.isPanning = !1, o.isZooming = !1, o.canTap ? o.onTap(t) : (o.speed = 366, o.velocityX = o.distanceX / s * .5, o.velocityY = o.distanceY / s * .5, o.speedX = Math.max(.5 * o.speed, Math.min(1.5 * o.speed, 1 / Math.abs(o.velocityX) * o.speed)), void(c ? o.endPanning() : l ? o.endZooming() : o.endSwiping(r)))
915    }, u.prototype.endSwiping = function(t) {
916        var e = this,
917            o = !1;
918        e.instance.isSliding = !1, e.sliderLastPos = null, "y" == t && Math.abs(e.distanceY) > 50 ? (n.fancybox.animate(e.instance.current.$slide, {
919            top: e.sliderStartPos.top + e.distanceY + 150 * e.velocityY,
920            opacity: 0
921        }, 150), o = e.instance.close(!0, 300)) : "x" == t && e.distanceX > 50 && e.instance.group.length > 1 ? o = e.instance.previous(e.speedX) : "x" == t && e.distanceX < -50 && e.instance.group.length > 1 && (o = e.instance.next(e.speedX)), o !== !1 || "x" != t && "y" != t || e.instance.jumpTo(e.instance.current.index, 150), e.$container.removeClass("fancybox-is-sliding")
922    }, u.prototype.endPanning = function() {
923        var t, e, o, i = this;
924        i.contentLastPos && (i.instance.current.opts.touch.momentum === !1 ? (t = i.contentLastPos.left, e = i.contentLastPos.top) : (t = i.contentLastPos.left + i.velocityX * i.speed, e = i.contentLastPos.top + i.velocityY * i.speed), o = i.limitPosition(t, e, i.c
924ontentStartPos.width, i.contentStartPos.height), o.width = i.contentStartPos.width, o.height = i.contentStartPos.height, n.fancybox.animate(i.$content, o, 330))
925    }, u.prototype.endZooming = function() {
926        var t, e, o, i, a = this,
927            s = a.instance.current,
928            r = a.newWidth,
929            c = a.newHeight;
930        a.contentLastPos && (t = a.contentLastPos.left, e = a.contentLastPos.top, i = {
931            top: e,
932            left: t,
933            width: r,
934            height: c,
935            scaleX: 1,
936            scaleY: 1
937        }, n.fancybox.setTranslate(a.$content, i), r < a.canvasWidth && c < a.canvasHeight ? a.instance.scaleToFit(150) : r > s.width || c > s.height ? a.instance.scaleToActual(a.centerPointStartX, a.centerPointStartY, 150) : (o = a.limitPosition(t, e, r, c), n.fancybox.setTranslate(a.content, n.fancybox.getTranslate(a.$content)), n.fancybox.animate(a.$content, o, 150)))
938    }, u.prototype.onTap = function(t) {
939        var e, o = this,
940            i = n(t.target),
941            s = o.instance,
942            r = s.current,
943            c = t && a(t) || o.startPoints,
944            l = c[0] ? c[0].x - o.$stage.offset().left : 0,
945            u = c[0] ? c[0].y - o.$stage.offset().top : 0,
946            d = function(e) {
947                var i = r.opts[e];
948                if (n.isFunction(i) && (i = i.apply(s, [r, t])), i) switch (i) {
949                    case "close":
950                        s.close(o.startEvent);
951                        break;
952                    case "toggleControls":
953                        s.toggleControls(!0);
954                        break;
955                    case "next":
956                        s.next();
957                        break;
958                    case "nextOrClose":
959                        s.group.length > 1 ? s.next() : s.close(o.startEvent);
960                        break;
961                    case "zoom":
962                        "image" == r.type && (r.isLoaded || r.$ghost) && (s.canPan() ? s.scaleToFit() : s.isScaledDown() ? s.scaleToActual(l, u) : s.group.length < 2 && s.close(o.startEvent))
963                }
964            };
965        if (!(t.originalEvent && 2 == t.originalEvent.button || s.isSliding || l > i[0].clientWidth + i.offset().left)) {
966            if (i.is(".fancybox-bg,.fancybox-inner,.fancybox-outer,.fancybox-container")) e = "Outside";
967            else if (i.is(".fancybox-slide")) e = "Slide";
968            else {
969                if (!s.current.$content || !s.current.$content.has(t.target).length) return;
970                e = "Content"
971            }
972            if (o.tapped) {
973                if (clearTimeout(o.tapped), o.tapped = null, Math.abs(l - o.tapX) > 50 || Math.abs(u - o.tapY) > 50 || s.isSliding) return this;
974                d("dblclick" + e)
975            } else o.tapX = l, o.tapY = u, r.opts["dblclick" + e] && r.opts["dblclick" + e] !== r.opts["click" + e] ? o.tapped = setTimeout(function() {
976                o.tapped = null, d("click" + e)
977            }, 300) : d("click" + e);
978            return this
979        }
980    }, n(e).on("onActivate.fb", function(t, e) {
981        e && !e.Guestures && (e.Guestures = new u(e))
982    }), n(e).on("beforeClose.fb", function(t, e) {
983        e && e.Guestures && e.Guestures.destroy()
984    })
985}(window, document, window.jQuery),
986function(t, e) {
987    "use strict";
988    var n = function(t) {
989        this.instance = t, this.init()
990    };
991    e.extend(n.prototype, {
992        timer: null,
993        isActive: !1,
994        $button: null,
995        speed: 3e3,
996        init: function() {
997            var t = this;
998            t.$button = t.instance.$refs.toolbar.find("[data-fancybox-play]").on("click", function() {
999                t.toggle()
1000            }), (t.instance.group.length < 2 || !t.instance.group[t.instance.currIndex].opts.slideShow) && t.$button.hide()
1001        },
1002        set: function() {
1003            var t = this;
1004            t.instance && t.instance.current && (t.instance.current.opts.loop || t.instance.currIndex < t.instance.group.length - 1) ? t.timer = setTimeout(function() {
1005                t.instance.next()
1006            }, t.instance.current.opts.slideShow.speed || t.speed) : (t.stop(), t.instance.idleSecondsCounter = 0, t.instance.showControls())
1007        },
1008        clear: function() {
1009            var t = this;
1010            clearTimeout(t.timer), t.timer = null
1011        },
1012        start: function() {
1013            var t = this,
1014                e = t.instance.current;
1015            t.instance && e && (e.opts.loop || e.index < t.instance.group.length - 1) && (t.isActive = !0, t.$button.attr("title", e.opts.i18n[e.opts.lang].PLAY_STOP).addClass("fancybox-button--pause"), e.isComplete && t.set()
1015)
1016        },
1017        stop: function() {
1018            var t = this,
1019                e = t.instance.current;
1020            t.clear(), t.$button.attr("title", e.opts.i18n[e.opts.lang].PLAY_START).removeClass("fancybox-button--pause"), t.isActive = !1
1021        },
1022        toggle: function() {
1023            var t = this;
1024            t.isActive ? t.stop() : t.start()
1025        }
1026    }), e(t).on({
1027        "onInit.fb": function(t, e) {
1028            e && !e.SlideShow && (e.SlideShow = new n(e))
1029        },
1030        "beforeShow.fb": function(t, e, n, o) {
1031            var i = e && e.SlideShow;
1032            o ? i && n.opts.slideShow.autoStart && i.start() : i && i.isActive && i.clear()
1033        },
1034        "afterShow.fb": function(t, e, n) {
1035            var o = e && e.SlideShow;
1036            o && o.isActive && o.set()
1037        },
1038        "afterKeydown.fb": function(n, o, i, a, s) {
1039            var r = o && o.SlideShow;
1040            !r || !i.opts.slideShow || 80 !== s && 32 !== s || e(t.activeElement).is("button,a,input") || (a.preventDefault(), r.toggle())
1041        },
1042        "beforeClose.fb onDeactivate.fb": function(t, e) {
1043            var n = e && e.SlideShow;
1044            n && n.stop()
1045        }
1046    }), e(t).on("visibilitychange", function() {
1047        var n = e.fancybox.getInstance(),
1048            o = n && n.SlideShow;
1049        o && o.isActive && (t.hidden ? o.clear() : o.set())
1050    })
1051}(document, window.jQuery),
1052function(t, e) {
1053    "use strict";
1054    var n = function() {
1055        var e, n, o, i = [
1056                ["requestFullscreen", "exitFullscreen", "fullscreenElement", "fullscreenEnabled", "fullscreenchange", "fullscreenerror"],
1057                ["webkitRequestFullscreen", "webkitExitFullscreen", "webkitFullscreenElement", "webkitFullscreenEnabled", "webkitfullscreenchange", "webkitfullscreenerror"],
1058                ["webkitRequestFullScreen", "webkitCancelFullScreen", "webkitCurrentFullScreenElement", "webkitCancelFullScreen", "webkitfullscreenchange", "webkitfullscreenerror"],
1059                ["mozRequestFullScreen", "mozCancelFullScreen", "mozFullScreenElement", "mozFullScreenEnabled", "mozfullscreenchange", "mozfullscreenerror"],
1060                ["msRequestFullscreen", "msExitFullscreen", "msFullscreenElement", "msFullscreenEnabled", "MSFullscreenChange", "MSFullscreenError"]
1061            ],
1062            a = {};
1063        for (n = 0; n < i.length; n++)
1064            if (e = i[n], e && e[1] in t) {
1065                for (o = 0; o < e.length; o++) a[i[0][o]] = e[o];
1066                return a
1067            }
1068        return !1
1069    }();
1070    if (!n) return void(e.fancybox.defaults.btnTpl.fullScreen = !1);
1071    var o = {
1072        request: function(e) {
1073            e = e || t.documentElement, e[n.requestFullscreen](e.ALLOW_KEYBOARD_INPUT)
1074        },
1075        exit: function() {
1076            t[n.exitFullscreen]()
1077        },
1078        toggle: function(e) {
1079            e = e || t.documentElement, this.isFullscreen() ? this.exit() : this.request(e)
1080        },
1081        isFullscreen: function() {
1082            return Boolean(t[n.fullscreenElement])
1083        },
1084        enabled: function() {
1085            return Boolean(t[n.fullscreenEnabled])
1086        }
1087    };
1088    e(t).on({
1089        "onInit.fb": function(t, e) {
1090            var n, i = e.$refs.toolbar.find("[data-fancybox-fullscreen]");
1091            e && !e.FullScreen && e.group[e.currIndex].opts.fullScreen ? (n = e.$refs.container, n.on("click.fb-fullscreen", "[data-fancybox-fullscreen]", function(t) {
1092                t.stopPropagation(), t.preventDefault(), o.toggle(n[0])
1093            }
1093), e.opts.fullScreen && e.opts.fullScreen.autoStart === !0 && o.request(n[0]), e.FullScreen = o) : i.hide()
1094        },
1095        "afterKeydown.fb": function(t, e, n, o, i) {
1096            e && e.FullScreen && 70 === i && (o.preventDefault(), e.FullScreen.toggle(e.$refs.container[0]))
1097        },
1098        "beforeClose.fb": function(t) {
1099            t && t.FullScreen && o.exit()
1100        }
1101    }), e(t).on(n.fullscreenchange, function() {
1102        var t = e.fancybox.getInstance();
1103        t.current && "image" === t.current.type && t.isAnimating && (t.current.$content.css("transition", "none"), t.isAnimating = !1, t.update(!0, !0, 0))
1104    })
1105}(document, window.jQuery),
1106function(t, e) {
1107    "use strict";
1108    var n = function(t) {
1109        this.instance = t, this.init()
1110    };
1111    e.extend(n.prototype, {
1112        $button: null,
1113        $grid: null,
1114        $list: null,
1115        isVisible: !1,
1116        init: function() {
1117            var t = this,
1118                e = t.instance.group[0],
1119                n = t.instance.group[1];
1120            t.$button = t.instance.$refs.toolbar.find("[data-fancybox-thumbs]"), t.instance.group.length > 1 && t.instance.group[t.instance.currIndex].opts.thumbs && ("image" == e.type || e.opts.thumb || e.opts.$thumb) && ("image" == n.type || n.opts.thumb || n.opts.$thumb) ? (t.$button.on("click", function() {
1121                t.toggle()
1122            }), t.isActive = !0) : (t.$button.hide(), t.isActive = !1)
1123        },
1124        create: function() {
1125            var t, n, o = this.instance;
1126            this.$grid = e('<div class="fancybox-thumbs"></div>').appendTo(o.$refs.container), t = "<ul>", e.each(o.group, function(e, o) {
1127                n = o.opts.thumb || (o.opts.$thumb ? o.opts.$thumb.attr("src") : null), n || "image" !== o.type || (n = o.src), n && n.length && (t += '<li data-index="' + e + '"  tabindex="0" class="fancybox-thumbs-loading"><img data-src="' + n + '" /></li>')
1128            }), t += "</ul>", this.$list = e(t).appendTo(this.$grid).on("click", "li", function() {
1129                o.jumpTo(e(this).data("index"))
1130            }), this.$list.find("img").hide().one("load", function() {
1131                var t, n, o, i, a = e(this).parent().removeClass("fancybox-thumbs-loading"),
1132                    s = a.outerWidth(),
1133                    r = a.outerHeight();
1134                t = this.naturalWidth || this.width, n = this.naturalHeight || this.height, o = t / s, i = n / r, o >= 1 && i >= 1 && (o > i ? (t /= i, n = r) : (t = s, n /= o)), e(this).css({
1135                    width: Math.floor(t),
1136                    height: Math.floor(n),
1137                    "margin-top": Math.min(0, Math.floor(.3 * r - .3 * n)),
1138                    "margin-left": Math.min(0, Math.floor(.5 * s - .5 * t))
1139                }).show()
1140            }).each(function() {
1141                this.src = e(this).data("src")
1142            })
1143        },
1144        focus: function() {
1145            this.instance.current && this.$list.children().removeClass("fancybox-thumbs-active").filter('[data-index="' + this.instance.current.index + '"]').addClass("fancybox-thumbs-active").focus()
1146        },
1147        close: function() {
1148            this.$grid.hide()
1149        },
1150        update: function() {
1151            this.instance.$refs.container.toggleClass("fancybox-show-thumbs", this.isVisible), this.isVisible ? (this.$grid || this.create(), this.instance.trigger("onThumbsShow"), this.focus()) : this.$grid && this.instance.trigger("onThumbsHide"), this.instance.update()
1152        },
1153        hide: function() {
1154            this.isVisible = !1, this.update()
1155        },
1156        show: function() {
1157            this.isVisible = !0, this.update()
1158        },
1159        toggle: function() {
1160            this.isVisible = !this.isVisible, this.update()
1161        }
1162    }), e(t).on({
1163        "onInit.fb": function(t, e) {
1164            e && !e.Thumbs && (e.Thumbs = new n(e))
1165        },
1166        "beforeShow.fb": function(t, e, n, o) {
1167            var i = e && e.Thumbs;
1168            if (i && i.isActive) {
1169                if (n.modal) return i.$button.hide(), void i.hide();
1170                o && e.opts.thumbs.autoStart === !0 && i.show(), i.isVisible && i.focus()
1171            }
1172        },
1173        "afterKeydown.fb": function(t, e, n, o, i) {
1174            var a = e && e.Thumbs;
1175            a && a.isActive && 71 === i && (o.preventDefault(), a.toggle())
1176        },
1177        "beforeClose.fb": function(t, e) {
1178            var n = e && e.Thumbs;
1179            n && n.isVisible && e.opts.thumbs.hideOnClose !== !1 && n.close()
1180        }
1181    })
1182}(document, window.jQuery),
1183function(t, e, n) {
1184    "use strict";
1185
1186    function o() {
1187        var t = e.location.hash.substr(1),
1188            n = t.split("-"),
1189            o = n.length > 1 && /^\+?\d+$/.test(n[n.length - 1]) ? parseInt(n.pop(-1), 10) || 1 : 1,
1190            i = n.join("-");
1191        return o < 1 && (o = 1), {
1192            hash: t,
1193            index: o,
1194            gallery: i
1195        }
1196    }
1197
1198    function i(t) {
1199        var e;
1200        "" !== t.gallery && (e = n("[data-fancybox='" + n.escapeSelector(t.gallery) + "']").eq(t.index - 1), e.length ? e.trigger("click") : n("#" + n.escapeSelector(t.gallery)).trigger("click"))
1201    }
1202
1203    function a(t) {
1204        var e;
1205        return !!t && (e = t.current ? t.current.opts : t.opts, e.$orig ? e.$orig.data("fancybox") : e.hash || "")
1206    }
1207    n.escapeSelector || (n.escapeSelector = function(t) {
1208        var e = /([\0-\x1f\x7f]|^-?\d)|^-$|[^\x80-\uFFFF\w-]/g,
1209            n = function(t, e) {
1210                return e ? "\0" === t ? "�" : t.slice(0, -1) + "\\" + t.charCodeAt(t.length - 1).toString(16) + " " : "\\" + t
1211            };
1212        return (t + "").replace(e, n)
1213    });
1214    var s = null,
1215        r = null;
1216    n(function() {
1217        setTimeout(function() {
1218            n.fancybox.defaults.hash !== !1 && (n(t).on({
1219                "onInit.fb": function(t, e) {
1220                    var n, i;
1221                    e.group[e.currIndex].opts.hash !== !1 && (n = o(), i = a(e), i && n.gallery && i == n.gallery && (e.currIndex = n.index - 1))
1222                },
1223                "beforeShow.fb": function(n, o, i, c) {
1224                    var l;
1225                    i.opts.hash !== !1 && (l = a(o), l && "" !== l && (e.location.hash.indexOf(l) < 0 && (o.opts.origHash = e.location.hash), s = l + (o.group.length > 1 ? "-" + (i.index + 1) : ""), "replaceState" in e.history ? (r && clearTimeout(r), r = setTimeout(function() {
1226                        e.history[c ? "pushState" : "replaceState"]({}
1226, t.title, e.location.pathname + e.location.search + "#" + s), r = null
1227                    }, 300)) : e.location.hash = s))
1228                },
1229                "beforeClose.fb": function(o, i, c) {
1230                    var l, u;
1231                    r && clearTimeout(r), c.opts.hash !== !1 && (l = a(i), u = i && i.opts.origHash ? i.opts.origHash : "", l && "" !== l && ("replaceState" in history ? e.history.replaceState({}, t.title, e.location.pathname + e.location.search + u) : (e.location.hash = u, n(e).scrollTop(i.scrollTop).scrollLeft(i.scrollLeft))), s = null)
1232                }
1233            }), n(e).on("hashchange.fb", function() {
1234                var t = o();
1235                n.fancybox.getInstance() ? !s || s === t.gallery + "-" + t.index || 1 === t.index && s == t.gallery || (s = null, n.fancybox.close()) : "" !== t.gallery && i(t)
1236            }), n(e).one("unload.fb popstate.fb", function() {
1237                n.fancybox.getInstance("close", !0, 0)
1238            }), i(o()))
1239        }, 50)
1240    })
1241}(document, window, window.jQuery);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.