PageSourceSearch

https://www.sfasu.edu/themes/custom/sfa/vendor/lightgallery/js/lightgallery-all.min.js?tm6ygp

js sfasu.edu collected 2026-10-01 10:13:44 UTC 31,430 bytes, 863 lines download raw bytes

1/*! lightgallery - v1.10.0 - 2020-11-07
2 * http://sachinchoolur.github.io/lightGallery/
3 * Copyright (c) 2020 Sachin N; Licensed GPLv3 */
4!(function (a, b) {
5  "function" == typeof define && define.amd
6    ? define(["jquery"], function (a) {
7        return b(a);
8      })
9    : "object" == typeof module && module.exports
10    ? (module.exports = b(require("jquery")))
11    : b(a.jQuery);
12})(this, function (a) {
13  !(function () {
14    "use strict";
15    function b(b, d) {
16      if (
17        ((this.el = b),
18        (this.$el = a(b)),
19        (this.s = a.extend({}, c, d)),
20        this.s.dynamic &&
21          "undefined" !== this.s.dynamicEl &&
22          this.s.dynamicEl.constructor === Array &&
23          !this.s.dynamicEl.length)
24      )
25        throw "When using dynamic mode, you must also define dynamicEl as an Array.";
26      return (
27        (this.modules = {}),
28        (this.lGalleryOn = !1),
29        (this.lgBusy = !1),
30        (this.hideBarTimeout = !1),
31        (this.isTouch = "ontouchstart" in document.documentElement),
32        this.s.slideEndAnimatoin && (this.s.hideControlOnEnd = !1),
33        this.s.dynamic
34          ? (this.$items = this.s.dynamicEl)
35          : "this" === this.s.selector
36          ? (this.$items = this.$el)
37          : "" !== this.s.selector
38          ? this.s.selectWithin
39            ? (this.$items = a(this.s.selectWithin).find(this.s.selector))
40            : (this.$items = this.$el.find(a(this.s.selector)))
41          : (this.$items = this.$el.children()),
42        (this.$slide = ""),
43        (this.$outer = ""),
44        this.init(),
45        this
46      );
47    }
48    var c = {
49      mode: "lg-slide",
50      cssEasing: "ease",
51      easing: "linear",
52      speed: 600,
53      height: "100%",
54      width: "100%",
55      addClass: "",
56      startClass: "lg-start-zoom",
57      backdropDuration: 150,
58      hideBarsDelay: 6e3,
59      useLeft: !1,
60      ariaLabelledby: "",
61      ariaDescribedby: "",
62      closable: !0,
63      loop: !0,
64      escKey: !0,
65      keyPress: !0,
66      controls: !0,
67      slideEndAnimatoin: !0,
68      hideControlOnEnd: !1,
69      mousewheel: !0,
70      getCaptionFromTitleOrAlt: !0,
71      appendSubHtmlTo: ".lg-sub-html",
72      subHtmlSelectorRelative: !1,
73      preload: 1,
74      showAfterLoad: !0,
75      selector: "",
76      selectWithin: "",
77      nextHtml: "",
78      prevHtml: "",
79      index: !1,
80      iframeMaxWidth: "100%",
81      download: !0,
82      counter: !0,
83      appendCounterTo: ".lg-toolbar",
84      swipeThreshold: 50,
85      enableSwipe: !0,
86      enableDrag: !0,
87      dynamic: !1,
88      dynamicEl: [],
89      galleryId: 1,
90      supportLegacyBrowser: !0,
91    };
92    (b.prototype.init = function () {
93      var b = this;
94      b.s.preload > b.$items.length && (b.s.preload = b.$items.length);
95      var c = window.location.hash;
96      c.indexOf("lg=" + this.s.galleryId) > 0 &&
97        ((b.index = parseInt(c.split("&slide=")[1], 10)),
98        a("body").addClass("lg-from-hash"),
99        a("body").hasClass("lg-on") ||
100          (setTimeout(function () {
101            b.build(b.index);
102          }),
103          a("body").addClass("lg-on"))),
104        b.s.dynamic
105          ? (b.$el.trigger("onBeforeOpen.lg"),
106            (b.index = b.s.index || 0),
107            a("body").hasClass("lg-on") ||
108              setTimeout(function () {
109                b.build(b.index), a("body").addClass("lg-on");
110              }))
111          : b.$items.on("click.lgcustom", function (c) {
112              try {
113                c.preventDefault(), c.preventDefault();
114              } catch (a) {
115                c.returnValue = !1;
116              }
117              b.$el.trigger("onBeforeOpen.lg"),
118                (b.index = b.s.index || b.$items.index(this)),
119                a("body").hasClass("lg-on") ||
120                  (b.build(b.index), a("body").addClass("lg-on"));
121            });
122    }),
123      (b.prototype.build = function (b) {
124        var c = this;
125        c.structure(),
126          a.each(a.fn.lightGallery.modules, function (b) {
127            c.modules[b] = new a.fn.lightGallery.modules[b](c.el);
128          }),
129          c.slide(b, !1, !1, !1),
130          c.s.keyPress && c.keyPress(),
131          c.$items.length > 1
132            ? (c.arrow(),
133              setTimeout(function () {
134                c.enableDrag(), c.enableSwipe();
135              }, 50),
136              c.s.mousewheel && c.mousewheel())
137            : c.$slide.on("click.lg", function () {
138                c.$el.trigger("onSlideClick.lg");
139              }),
140          c.counter(),
141          c.closeGallery(),
142          c.$el.trigger("onAfterOpen.lg"),
143          c.s.hideBarsDelay > 0 &&
144            c.$outer.on("mousemove.lg click.lg touchstart.lg", function () {
145              c.$outer.removeClass("lg-hide-items"),
146                clearTimeout(c.hideBarTimeout),
147                (c.hideBarTimeout = setTimeout(function () {
148                  c.$outer.addClass("lg-hide-items");
149                }, c.s.hideBarsDelay));
150            }),
151          c.$outer.trigger("mousemove.lg");
152      }),
153      (b.prototype.structure = function () {
154        var b,
155          c = "",
156          d = "",
157          e = 0,
158          f = "",
159          g = this;
160        for (
161          a("body").append('<div class="lg-backdrop"></div>'),
162            a(".lg-backdrop").css(
163              "transition-duration",
164              this.s.backdropDuration + "ms"
165            ),
166            e = 0;
167          e < this.$items.length;
168          e++
169        )
170          c += '<div class="lg-item"></div>';
171        if (
172          (this.s.controls &&
173            this.$items.length > 1 &&
174            (d =
175              '<div class="lg-actions"><button type="button" aria-label="Previous slide" class="lg-prev lg-icon">' +
176              this.s.prevHtml +
177              '</button><button type="button" aria-label="Next slide" class="lg-next lg-icon">' +
178              this.s.nextHtml +
179              "</button></div>"),
180          ".lg-sub-html" === this.s.appendSubHtmlTo &&
181            (f =
182              '<div role="status" aria-live="polite" class="lg-sub-html"></div>'),
183          (b =
184            '<div tabindex="-1" aria-modal="true" ' +
185            (this.s.ariaLabelledby
186              ? 'aria-labelledby="' + this.s.ariaLabelledby + '"'
187              : "") +
188            " " +
189            (this.s.ariaDescribedby
190              ? 'aria-describedby="' + this.s.ariaDescribedby + '"'
191              : "") +
192            ' role="dialog" class="lg-outer ' +
193            this.s.addClass +
194            " " +
195            this.s.startClass +
196            '"><div class="lg" style="width:' +
197            this.s.width +
198            "; height:" +
199            this.s.height +
200            '"><div class="lg-inner">' +
201            c +
202            '</div><div class="lg-toolbar lg-group"><button type="button" aria-label="Close gallery" class="lg-close lg-icon"></button></div>' +
203            d +
204            f +
205            "</div></div>"),
206          a("body").append(b),
207          (this.$outer = a(".lg-outer")),
208          this.$outer.focus(),
209          (this.$slide = this.$outer.find(".lg-item")),
210          this.s.useLeft
211            ? (this.$outer.addClass("lg-use-left"), (this.s.mode = "lg-slide"))
212            : this.$outer.addClass("lg-use-css3"),
213          g.setTop(),
214          a(window).on("resize.lg orientationchange.lg", function () {
215            setTimeout(function () {
216              g.setTop();
217            }, 100);
218          }),
219          this.$slide.eq(this.index).addClass("lg-current"),
220          this.doCss()
221            ? this.$outer.addClass("lg-css3")
222            : (this.$outer.addClass("lg-css"), (this.s.speed = 0)),
223          this.$outer.addClass(this.s.mode),
224          this.s.enableDrag &&
225            this.$items.length > 1 &&
226            this.$outer.addClass("lg-grab"),
227          this.s.showAfterLoad && this.$outer.addClass("lg-show-after-load"),
228          this.doCss())
229        ) {
230          var h = this.$outer.find(".lg-inner");
231          h.css("transition-timing-function", this.s.cssEasing),
232            h.css("transition-duration", this.s.speed + "ms");
233        }
234        setTimeout(function () {
235          a(".lg-backdrop").addClass("in");
236        }),
237          setTimeout(function () {
238            g.$outer.addClass("lg-visible");
239          }, this.s.backdropDuration),
240          this.s.download &&
241            this.$outer
242              .find(".lg-toolbar")
243              .append(
244                '<a id="lg-download" aria-label="Download" target="_blank" download class="lg-download lg-icon"></a>'
245              ),
246          (this.prevScrollTop = a(window).scrollTop());
247      }),
248      (b.prototype.setTop = function () {
249        if ("100%" !== this.s.height) {
250          var b = a(window).height(),
251            c = (b - parseInt(this.s.height, 10)) / 2,
252            d = this.$outer.find(".lg");
253          b >= parseInt(this.s.height, 10)
254            ? d.css("top", c + "px")
255            : d.css("top", "0px");
256        }
257      }),
258      (b.prototype.doCss = function () {
259        return !!(function () {
260          var a = [
261              "transition",
262              "MozTransition",
263              "WebkitTransition",
264              "OTransition",
265              "msTransition",
266              "KhtmlTransition",
267            ],
268            b = document.documentElement,
269            c = 0;
270          for (c = 0; c < a.length; c++) if (a[c] in b.style) return !0;
271        })();
272      }),
273      (b.prototype.isVideo = function (a, b) {
274        var c;
275        if (
276          ((c = this.s.dynamic
277            ? this.s.dynamicEl[b].html
278            : this.$items.eq(b).attr("data-html")),
279          !a)
280        )
281          return c
282            ? { html5: !0 }
283            : (console.error(
284                "lightGallery :- data-src is not provided on slide item " +
285                  (b + 1) +
286                  ". Please make sure the selector property is properly configured. More info - http://sachinchoolur.github.io/lightGallery/demos/html-markup.html"
287              ),
288              !1);
289        var d = a.match(
290            /\/\/(?:www\.)?youtu(?:\.be|be\.com|be-nocookie\.com)\/(?:watch\?v=|embed\/)?([a-z0-9\-\_\%]+)/i
291          ),
292          e = a.match(
293            /\/\/(?:www\.)?(?:player\.)?vimeo.com\/(?:video\/)?([0-9a-z\-_]+)/i
294          ),
295          f = a.match(/\/\/(?:www\.)?dai.ly\/([0-9a-z\-_]+)/i),
296          g = a.match(
297            /\/\/(?:www\.)?(?:vk\.com|vkontakte\.ru)\/(?:video_ext\.php\?)(.*)/i
298          );
299        return d
300          ? { youtube: d }
301          : e
302          ? { vimeo: e }
303          : f
304          ? { dailymotion: f }
305          : g
306          ? { vk: g }
307          : void 0;
308      }),
309      (b.prototype.counter = function () {
310        this.s.counter &&
311          a(this.s.appendCounterTo).append(
312            '<div id="lg-counter" role="status" aria-live="polite"><span id="lg-counter-current">' +
313              (parseInt(this.index, 10) + 1) +
314              '</span> / <span id="lg-counter-all">' +
315              this.$items.length +
316              "</span></div>"
317          );
318      }),
319      (b.prototype.addHtml = function (b) {
320        var c,
321          d,
322          e = null;
323        if (
324          (this.s.dynamic
325            ? this.s.dynamicEl[b].subHtmlUrl
326              ? (c = this.s.dynamicEl[b].subHtmlUrl)
327              : (e = this.s.dynamicEl[b].subHtml)
328            : ((d = this.$items.eq(b)),
329              d.attr("data-sub-html-url")
330                ? (c = d.attr("data-sub-html-url"))
331                : ((e = d.attr("data-sub-html")),
332                  this.s.getCaptionFromTitleOrAlt &&
333                    !e &&
334                    (e =
335                      d.attr("title") || d.find("img").first().attr("alt")))),
336          !c)
337        )
338          if (void 0 !== e && null !== e) {
339            var f = e.substring(0, 1);
340            ("." !== f && "#" !== f) ||
341              (e =
342                this.s.subHtmlSelectorRelative && !this.s.dynamic
343                  ? d.find(e).html()
344                  : a(e).html());
345          } else e = "";
346        ".lg-sub-html" === this.s.appendSubHtmlTo
347          ? c
348            ? this.$outer.find(this.s.appendSubHtmlTo).load(c)
349            : this.$outer.find(this.s.appendSubHtmlTo).html(e)
350          : c
351          ? this.$slide.eq(b).load(c)
352          : this.$slide.eq(b).append(e),
353          void 0 !== e &&
354            null !== e &&
355            ("" === e
356              ? this.$outer
357                  .find(this.s.appendSubHtmlTo)
358                  .addClass("lg-empty-html")
359              : this.$outer
360                  .find(this.s.appendSubHtmlTo)
361                  .removeClass("lg-empty-html")),
362          this.$el.trigger("onAfterAppendSubHtml.lg", [b]);
363      }),
364      (b.prototype.preload = function (a) {
365        var b = 1,
366          c = 1;
367        for (b = 1; b <= this.s.preload && !(b >= this.$items.length - a); b++)
368          this.loadContent(a + b, !1, 0);
369        for (c = 1; c <= this.s.preload && !(a - c < 0); c++)
370          this.loadContent(a - c, !1, 0);
371      }),
372      (b.prototype.loadContent = function (b, c, d) {
373        var e,
374          f,
375          g,
376          h,
377          i,
378          j,
379          k,
380          l = this,
381          m = !1,
382          n = function (b) {
383            for (var c = [], d = [], e = 0; e < b.length; e++) {
384              var g = b[e].split(" ");
385              "" === g[0] && g.splice(0, 1), d.push(g[0]), c.push(g[1]);
386            }
387            for (var h = a(window).width(), i = 0; i < c.length; i++)
388              if (parseInt(c[i], 10) > h) {
389                f = d[i];
390                break;
391              }
392          };
393        if (l.s.dynamic) {
394          if (
395            (l.s.dynamicEl[b].poster &&
396              ((m = !0), (g = l.s.dynamicEl[b].poster)),
397            (j = l.s.dynamicEl[b].html),
398            (f = l.s.dynamicEl[b].src),
399            (k = l.s.dynamicEl[b].alt),
400            l.s.dynamicEl[b].responsive)
401          ) {
402            n(l.s.dynamicEl[b].responsive.split(","));
403          }
404          (h = l.s.dynamicEl[b].srcset), (i = l.s.dynamicEl[b].sizes);
405        } else {
406          var o = l.$items.eq(b);
407          if (
408            (o.attr("data-poster") && ((m = !0), (g = o.attr("data-poster"))),
409            (j = o.attr("data-html")),
410            (f = o.attr("href") || o.attr("data-src")),
411            (k = o.attr("title") || o.find("img").first().attr("alt")),
412            o.attr("data-responsive"))
413          ) {
414            n(o.attr("data-responsive").split(","));
415          }
416          (h = o.attr("data-srcset")), (i = o.attr("data-sizes"));
417        }
418        var p = !1;
419        l.s.dynamic
420          ? l.s.dynamicEl[b].iframe && (p = !0)
421          : "true" === l.$items.eq(b).attr("data-iframe") && (p = !0);
422        var q = l.isVideo(f, b);
423        if (!l.$slide.eq(b).hasClass("lg-loaded")) {
424          if (p)
425            l.$slide
426              .eq(b)
427              .prepend(
428                '<div class="lg-video-cont lg-has-iframe" style="max-width:' +
429                  l.s.iframeMaxWidth +
430                  '"><div class="lg-video"><iframe class="lg-object" frameborder="0" src="' +
431                  f +
432                  '"  allowfullscreen="true"></iframe></div></div>'
433              );
434          else if (m) {
435            var r = "";
436            (r =
437              q && q.youtube
438                ? "lg-has-youtube"
439                : q && q.vimeo
440                ? "lg-has-vimeo"
441                : "lg-has-html5"),
442              l.$slide
443                .eq(b)
444                .prepend(
445                  '<div class="lg-video-cont ' +
446                    r +
447                    ' "><div class="lg-video"><span class="lg-video-play"></span><img class="lg-object lg-has-poster" src="' +
448                    g +
449                    '" /></div></div>'
450                );
451          } else
452            q
453              ? (l.$slide
454                  .eq(b)
455                  .prepend(
456                    '<div class="lg-video-cont "><div class="lg-video"></div></div>'
457                  ),
458                l.$el.trigger("hasVideo.lg", [b, f, j]))
459              : ((k = k ? 'alt="' + k + '"' : ""),
460                l.$slide
461                  .eq(b)
462                  .prepend(
463                    '<div class="lg-img-wrap"><img class="lg-object lg-image" ' +
464                      k +
465                      ' src="' +
466                      f +
467                      '" /></div>'
468                  ));
469          if (
470            (l.$el.trigger("onAferAppendSlide.lg", [b]),
471            (e = l.$slide.eq(b).find(".lg-object")),
472            i && e.attr("sizes", i),
473            h && (e.attr("srcset", h), this.s.supportLegacyBrowser))
474          )
475            try {
476              picturefill({ elements: [e[0]] });
477            } catch (a) {
478              console.warn(
479                "lightGallery :- If you want srcset to be supported for older browser please include picturefil version 2 javascript library in your document."
480              );
481            }
482          ".lg-sub-html" !== this.s.appendSubHtmlTo && l.addHtml(b),
483            l.$slide.eq(b).addClass("lg-loaded");
484        }
485        l.$slide
486          .eq(b)
487          .find(".lg-object")
488          .on("load.lg error.lg", function () {
489            var c = 0;
490            d && !a("body").hasClass("lg-from-hash") && (c = d),
491              setTimeout(function () {
492                l.$slide.eq(b).addClass("lg-complete"),
493                  l.$el.trigger("onSlideItemLoad.lg", [b, d || 0]);
494              }, c);
495          }),
496          q && q.html5 && !m && l.$slide.eq(b).addClass("lg-complete"),
497          !0 === c &&
498            (l.$slide.eq(b).hasClass("lg-complete")
499              ? l.preload(b)
500              : l.$slide
501                  .eq(b)
502                  .find(".lg-object")
503                  .on("load.lg error.lg", function () {
504                    l.preload(b);
505                  }));
506      }),
507      (b.prototype.slide = function (b, c, d, e) {
508        var f = this.$outer.find(".lg-current").index(),
509          g = this;
510        if (!g.lGalleryOn || f !== b) {
511          var h = this.$slide.length,
512            i = g.lGalleryOn ? this.s.speed : 0;
513          if (!g.lgBusy) {
514            if (this.s.download) {
515              var j;
516              (j = g.s.dynamic
517                ? !1 !== g.s.dynamicEl[b].downloadUrl &&
518                  (g.s.dynamicEl[b].downloadUrl || g.s.dynamicEl[b].src)
519                : "false" !== g.$items.eq(b).attr("data-download-url") &&
520                  (g.$items.eq(b).attr("data-download-url") ||
521                    g.$items.eq(b).attr("href") ||
522                    g.$items.eq(b).attr("data-src"))),
523                j
524                  ? (a("#lg-download").attr("href", j),
525                    g.$outer.removeClass("lg-hide-download"))
526                  : g.$outer.addClass("lg-hide-download");
527            }
528            if (
529              (this.$el.trigger("onBeforeSlide.lg", [f, b, c, d]),
530              (g.lgBusy = !0),
531              clearTimeout(g.hideBarTimeout),
532              ".lg-sub-html" === this.s.appendSubHtmlTo &&
533                setTimeout(function () {
534                  g.addHtml(b);
535                }, i),
536              this.arrowDisable(b),
537              e || (b < f ? (e = "prev") : b > f && (e = "next")),
538              c)
539            ) {
540              this.$slide.removeClass("lg-prev-slide lg-current lg-next-slide");
541              var k, l;
542              h > 2
543                ? ((k = b - 1),
544                  (l = b + 1),
545                  0 === b && f === h - 1
546                    ? ((l = 0), (k = h - 1))
547                    : b === h - 1 && 0 === f && ((l = 0), (k = h - 1)))
548                : ((k = 0), (l = 1)),
549                "prev" === e
550                  ? g.$slide.eq(l).addClass("lg-next-slide")
551                  : g.$slide.eq(k).addClass("lg-prev-slide"),
552                g.$slide.eq(b).addClass("lg-current");
553            } else
554              g.$outer.addClass("lg-no-trans"),
555                this.$slide.removeClass("lg-prev-slide lg-next-slide"),
556                "prev" === e
557                  ? (this.$slide.eq(b).addClass("lg-prev-slide"),
558                    this.$slide.eq(f).addClass("lg-next-slide"))
559                  : (this.$slide.eq(b).addClass("lg-next-slide"),
560                    this.$slide.eq(f).addClass("lg-prev-slide")),
561                setTimeout(function () {
562                  g.$slide.removeClass("lg-current"),
563                    g.$slide.eq(b).addClass("lg-current"),
564                    g.$outer.removeClass("lg-no-trans");
565                }, 50);
566            g.lGalleryOn
567              ? (setTimeout(function () {
568                  g.loadContent(b, !0, 0);
569                }, this.s.speed + 50),
570                setTimeout(function () {
571                  (g.lgBusy = !1),
572                    g.$el.trigger("onAfterSlide.lg", [f, b, c, d]);
573                }, this.s.speed))
574              : (g.loadContent(b, !0, g.s.backdropDuration),
575                (g.lgBusy = !1),
576                g.$el.trigger("onAfterSlide.lg", [f, b, c, d])),
577              (g.lGalleryOn = !0),
578              this.s.counter && a("#lg-counter-current").text(b + 1);
579          }
580          g.index = b;
581        }
582      }),
583      (b.prototype.goToNextSlide = function (a) {
584        var b = this,
585          c = b.s.loop;
586        a && b.$slide.length < 3 && (c = !1),
587          b.lgBusy ||
588            (b.index + 1 < b.$slide.length
589              ? (b.index++,
590                b.$el.trigger("onBeforeNextSlide.lg", [b.index]),
591                b.slide(b.index, a, !1, "next"))
592              : c
593              ? ((b.index = 0),
594                b.$el.trigger("onBeforeNextSlide.lg", [b.index]),
595                b.slide(b.index, a, !1, "next"))
596              : b.s.slideEndAnimatoin &&
597                !a &&
598                (b.$outer.addClass("lg-right-end"),
599                setTimeout(function () {
600                  b.$outer.removeClass("lg-right-end");
601                }, 400)));
602      }),
603      (b.prototype.goToPrevSlide = function (a) {
604        var b = this,
605          c = b.s.loop;
606        a && b.$slide.length < 3 && (c = !1),
607          b.lgBusy ||
608            (b.index > 0
609              ? (b.index--,
610                b.$el.trigger("onBeforePrevSlide.lg", [b.index, a]),
611                b.slide(b.index, a, !1, "prev"))
612              : c
613              ? ((b.index = b.$items.length - 1),
614                b.$el.trigger("onBeforePrevSlide.lg", [b.index, a]),
615                b.slide(b.index, a, !1, "prev"))
616              : b.s.slideEndAnimatoin &&
617                !a &&
618                (b.$outer.addClass("lg-left-end"),
619                setTimeout(function () {
620                  b.$outer.removeClass("lg-left-end");
621                }, 400)));
622      }),
623      (b.prototype.keyPress = function () {
624        var b = this;
625        this.$items.length > 1 &&
626          a(window).on("keyup.lg", function (a) {
627            b.$items.length > 1 &&
628              (37 === a.keyCode && (a.preventDefault(), b.goToPrevSlide()),
629              39 === a.keyCode && (a.preventDefault(), b.goToNextSlide()));
630          }),
631          a(window).on("keydown.lg", function (a) {
632            !0 === b.s.escKey &&
633              27 === a.keyCode &&
634              (a.preventDefault(),
635              b.$outer.hasClass("lg-thumb-open")
636                ? b.$outer.removeClass("lg-thumb-open")
637                : b.destroy());
638          });
639      }),
640      (b.prototype.arrow = function () {
641        var a = this;
642        this.$outer.find(".lg-prev").on("click.lg", function () {
643          a.goToPrevSlide();
644        }),
645          this.$outer.find(".lg-next").on("click.lg", function () {
646            a.goToNextSlide();
647          });
648      }),
649      (b.prototype.arrowDisable = function (a) {
650        !this.s.loop &&
651          this.s.hideControlOnEnd &&
652          (a + 1 < this.$slide.length
653            ? this.$outer
654                .find(".lg-next")
655                .removeAttr("disabled")
656                .removeClass("disabled")
657            : this.$outer
658                .find(".lg-next")
659                .attr("disabled", "disabled")
660                .addClass("disabled"),
661          a > 0
662            ? this.$outer
663                .find(".lg-prev")
664                .removeAttr("disabled")
665                .removeClass("disabled")
666            : this.$outer
667                .find(".lg-prev")
668                .attr("disabled", "disabled")
669                .addClass("disabled"));
670      }),
671      (b.prototype.setTranslate = function (a, b, c) {
672        this.s.useLeft
673          ? a.css("left", b)
674          : a.css({ transform: "translate3d(" + b + "px, " + c + "px, 0px)" });
675      }),
676      (b.prototype.touchMove = function (b, c) {
677        var d = c - b;
678        Math.abs(d) > 15 &&
679          (this.$outer.addClass("lg-dragging"),
680          this.setTranslate(this.$slide.eq(this.index), d, 0),
681          this.setTranslate(
682            a(".lg-prev-slide"),
683            -this.$slide.eq(this.index).width() + d,
684            0
685          ),
686          this.setTranslate(
687            a(".lg-next-slide"),
688            this.$slide.eq(this.index).width() + d,
689            0
690          ));
691      }),
692      (b.prototype.touchEnd = function (a) {
693        var b = this;
694        "lg-slide" !== b.s.mode && b.$outer.addClass("lg-slide"),
695          this.$slide
696            .not(".lg-current, .lg-prev-slide, .lg-next-slide")
697            .css("opacity", "0"),
698          setTimeout(function () {
699            b.$outer.removeClass("lg-dragging"),
700              a < 0 && Math.abs(a) > b.s.swipeThreshold
701                ? b.goToNextSlide(!0)
702                : a > 0 && Math.abs(a) > b.s.swipeThreshold
703                ? b.goToPrevSlide(!0)
704                : Math.abs(a) < 5 && b.$el.trigger("onSlideClick.lg"),
705              b.$slide.removeAttr("style");
706          }),
707          setTimeout(function () {
708            b.$outer.hasClass("lg-dragging") ||
709              "lg-slide" === b.s.mode ||
710              b.$outer.removeClass("lg-slide");
711          }, b.s.speed + 100);
712      }),
713      (b.prototype.enableSwipe = function () {
714        var a = this,
715          b = 0,
716          c = 0,
717          d = !1;
718        a.s.enableSwipe &&
719          a.doCss() &&
720          (a.$slide.on("touchstart.lg", function (c) {
721            a.$outer.hasClass("lg-zoomed") ||
722              a.lgBusy ||
723              (c.preventDefault(),
724              a.manageSwipeClass(),
725              (b = c.originalEvent.targetTouches[0].pageX));
726          }),
727          a.$slide.on("touchmove.lg", function (e) {
728            a.$outer.hasClass("lg-zoomed") ||
729              (e.preventDefault(),
730              (c = e.originalEvent.targetTouches[0].pageX),
731              a.touchMove(b, c),
732              (d = !0));
733          }),
734          a.$slide.on("touchend.lg", function () {
735            a.$outer.hasClass("lg-zoomed") ||
736              (d
737                ? ((d = !1), a.touchEnd(c - b))
738                : a.$el.trigger("onSlideClick.lg"));
739          }));
740      }),
741      (b.prototype.enableDrag = function () {
742        var b = this,
743          c = 0,
744          d = 0,
745          e = !1,
746          f = !1;
747        b.s.enableDrag &&
748          b.doCss(
748) &&
749          (b.$slide.on("mousedown.lg", function (d) {
750            b.$outer.hasClass("lg-zoomed") ||
751              b.lgBusy ||
752              a(d.target).text().trim() ||
753              (d.preventDefault(),
754              b.manageSwipeClass(),
755              (c = d.pageX),
756              (e = !0),
757              (b.$outer.scrollLeft += 1),
758              (b.$outer.scrollLeft -= 1),
759              b.$outer.removeClass("lg-grab").addClass("lg-grabbing"),
760              b.$el.trigger("onDragstart.lg"));
761          }),
762          a(window).on("mousemove.lg", function (a) {
763            e &&
764              ((f = !0),
765              (d = a.pageX),
766              b.touchMove(c, d),
767              b.$el.trigger("onDragmove.lg"));
768          }),
769          a(window).on("mouseup.lg", function (g) {
770            f
771              ? ((f = !1), b.touchEnd(d - c), b.$el.trigger("onDragend.lg"))
772              : (a(g.target).hasClass("lg-object") ||
773                  a(g.target).hasClass("lg-video-play")) &&
774                b.$el.trigger("onSlideClick.lg"),
775              e &&
776                ((e = !1),
777                b.$outer.removeClass("lg-grabbing").addClass("lg-grab"));
778          }));
779      }),
780      (b.prototype.manageSwipeClass = function () {
781        var a = this.index + 1,
782          b = this.index - 1;
783        this.s.loop &&
784          this.$slide.length > 2 &&
785          (0 === this.index
786            ? (b = this.$slide.length - 1)
787            : this.index === this.$slide.length - 1 && (a = 0)),
788          this.$slide.removeClass("lg-next-slide lg-prev-slide"),
789          b > -1 && this.$slide.eq(b).addClass("lg-prev-slide"),
790          this.$slide.eq(a).addClass("lg-next-slide");
791      }),
792      (b.prototype.mousewheel = function () {
793        var a = this;
794        a.$outer.on("mousewheel.lg", function (b) {
795          b.deltaY &&
796            (b.deltaY > 0 ? a.goToPrevSlide() : a.goToNextSlide(),
797            b.preventDefault());
798        });
799      }),
800      (b.prototype.closeGallery = function () {
801        var b = this,
802          c = !1;
803        this.$outer.find(".lg-close").on("click.lg", function () {
804          b.destroy();
805        }),
806          b.s.closable &&
807            (b.$outer.on("mousedown.lg", function (b) {
808              c = !!(
809                a(b.target).is(".lg-outer") ||
810                a(b.target).is(".lg-item ") ||
811                a(b.target).is(".lg-img-wrap")
812              );
813            }),
814            b.$outer.on("mousemove.lg", function () {
815              c = !1;
816            }),
817            b.$outer.on("mouseup.lg", function (d) {
818              (a(d.target).is(".lg-outer") ||
819                a(d.target).is(".lg-item ") ||
820                (a(d.target).is(".lg-img-wrap") && c)) &&
821                (b.$outer.hasClass("lg-dragging") || b.destroy());
822            }));
823      }),
824      (b.prototype.destroy = function (b) {
825        var c = this;
826        b ||
827          (c.$el.trigger("onBeforeClose.lg"),
828          a(window).scrollTop(c.prevScrollTop)),
829          b &&
830            (c.s.dynamic || this.$items.off("click.lg click.lgcustom"),
831            a.removeData(c.el, "lightGallery")),
832          this.$el.off(".lg.tm"),
833          a.each(a.fn.lightGallery.modules, function (a) {
834            c.modules[a] && c.modules[a].destroy();
835          }),
836          (this.lGalleryOn = !1),
837          clearTimeout(c.hideBarTimeout),
838          (this.hideBarTimeout = !1),
839          a(window).off(".lg"),
840          a("body").removeClass("lg-on lg-from-hash"),
841          c.$outer && c.$outer.removeClass("lg-visible"),
842          a(".lg-backdrop").removeClass("in"),
843          setTimeout(function () {
844            c.$outer && c.$outer.remove(),
845              a(".lg-backdrop").remove(),
846              b || c.$el.trigger("onCloseAfter.lg"),
847              c.$el.focus();
848          }, c.s.backdropDuration + 50);
849      }),
850      (a.fn.lightGallery = function (c) {
851        return this.each(function () {
852          if (a.data(this, "lightGallery"))
853            try {
854              a(this).data("lightGallery").init();
855            } catch (a) {
856              console.error("lightGallery has not initiated properly", a);
857            }
858          else a.data(this, "lightGallery", new b(this, c));
859        });
860      }),
861      (a.fn.lightGallery.modules = {});
862  })();
863});

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.