1var $jscomp = $jscomp || {}; 2$jscomp.scope = {}, $jscomp.ASSUME_ES5 = !1, $jscomp.ASSUME_NO_NATIVE_MAP = !1, $jscomp.ASSUME_NO_NATIVE_SET = !1, $jscomp.defineProperty = $jscomp.ASSUME_ES5 || "function" == typeof Object.defineProperties ? Object.defineProperty : function (t, e, n) { 3 t != Array.prototype && t != Object.prototype && (t[e] = n.value) 4}, $jscomp.getGlobal = function (t) { 5 return "undefined" != typeof window && window === t ? t : "undefined" != typeof global && null != global ? global : t 6}, $jscomp.global = $jscomp.getGlobal(this), $jscomp.SYMBOL_PREFIX = "jscomp_symbol_", $jscomp.initSymbol = function () { 7 $jscomp.initSymbol = function () { 8 }, $jscomp.global.Symbol || ($jscomp.global.Symbol = $jscomp.Symbol) 9}, $jscomp.Symbol = function () { 10 var t = 0; 11 return function (e) { 12 return $jscomp.SYMBOL_PREFIX + (e || "") + t++ 13 } 14}(), $jscomp.initSymbolIterator = function () { 15 $jscomp.initSymbol(); 16 var t = $jscomp.global.Symbol.iterator; 17 t || (t = $jscomp.global.Symbol.iterator = $jscomp.global.Symbol("iterator")), "function" != typeof Array.prototype[t] && $jscomp.defineProperty(Array.prototype, t, { 18 configurable: !0, 19 writable: !0, 20 value: function () { 21 return $jscomp.arrayIterator(this) 22 } 23 }), $jscomp.initSymbolIterator = function () { 24 } 25}, $jscomp.initSymbolAsyncIterator = function () { 26 $jscomp.initSymbol(); 27 var t = $jscomp.global.Symbol.asyncIterator; 28 t || (t = $jscomp.global.Symbol.asyncIterator = $jscomp.global.Symbol("asyncIterator")), $jscomp.initSymbolAsyncIterator = function () { 29 } 30}, $jscomp.arrayIterator = function (t) { 31 var e = 0; 32 return $jscomp.iteratorPrototype(function () { 33 return e < t.length ? { 34 done: !1, 35 value: t[e++] 36 } : { 37 done: !0 38 } 39 }) 40}, $jscomp.iteratorPrototype = function (t) { 41 return $jscomp.initSymbolIterator(), (t = { 42 next: t 43 })[$jscomp.global.Symbol.iterator] = function () { 44 return this 45 }, t 46}, $jscomp.makeIterator = function (t) { 47 $jscomp.initSymbolIterator(); 48 var e = t[Symbol.iterator]; 49 return e ? e.call(t) : $jscomp.arrayIterator(t) 50}, $jscomp.polyfill = function (t, e, n, o) { 51 if (e) { 52 for (n = $jscomp.global, t = t.split("."), o = 0; o < t.length - 1; o++) { 53 var i = t[o]; 54 i in n || (n[i] = {}), n = n[i] 55 } 56 (e = e(o = n[t = t[t.length - 1]])) != o && null != e && $jscomp.defineProperty(n, t, { 57 configurable: !0, 58 writable: !0, 59 value: e 60 }) 61 } 62}, $jscomp.FORCE_POLYFILL_PROMISE = !1, $jscomp.polyfill("Promise", function (t) { 63 function e() { 64 this.batch_ = null 65 } 66 67 function n(t) { 68 return t instanceof i ? t : new i(function (e, n) { 69 e(t) 70 }) 71 } 72 73 if (t && !$jscomp.FORCE_POLYFILL_PROMISE) return t; 74 e.prototype.asyncExecute = function (t) { 75 return null == this.batch_ && (this.batch_ = [], this.asyncExecuteBatch_()), this.batch_.push(t), this 76 }, e.prototype.asyncExecuteBatch_ = function () { 77 var t = this; 78 this.asyncExecuteFunction(function () { 79 t.executeBatch_() 80 }) 81 }; 82 var o = $jscomp.global.setTimeout; 83 e.prototype.asyncExecuteFunction = function (t) { 84 o(t, 0) 85 }, e.prototype.executeBatch_ = function () { 86 for (; this.batch_ && this.batch_.length;) { 87 var t = this.batch_; 88 this.batch_ = []; 89 for (var e = 0; e < t.length; ++e) { 90 var n = t[e]; 91 t[e] = null; 92 try { 93 n() 94 } catch (t) { 95 this.asyncThrow_(t) 96 } 97 } 98 } 99 this.batch_ = null 100 }, e.prototype.asyncThrow_ = function (t) { 101 this.asyncExecuteFunction(function () { 102 throw t 103 }) 104 }; 105 var i = function (t) { 106 this.state_ = 0, this.result_ = void 0, this.onSettledCallbacks_ = []; 107 var e = this.createResolveAndReject_(); 108 try { 109 t(e.resolve, e.reject) 110 } catch (t) { 111 e.reject(t) 112 } 113 }; 114 i.prototype.createResolveAndReject_ = function () { 115 function t(t) { 116 return function (o) { 117 n || (n = !0, t.call(e, o)) 118 } 119 } 120 121 var e = this, 122 n = !1; 123 return { 124 resolve: t(this.resolveTo_), 125 reject: t(this.reject_) 126 } 127 }, i.prototype.resolveTo_ = function (t) { 128 if (t === this) this.reject_(new TypeError("A Promise cannot resolve to itself")); 129 else if (t instanceof i) this.settleSameAsPromise_(t); 130 else { 131 t: switch (typeof t) { 132 case "object": 133 var e = null != t; 134 break t; 135 case "function": 136 e = !0; 137 break t; 138 default: 139 e = !1 140 } 141 e ? this.resolveToNonPromiseObj_(t) : this.fulfill_(t) 142 } 143 }, i.prototype.resolveToNonPromiseObj_ = function (t) { 144 var e = void 0; 145 try { 146 e = t.then 147 } catch (t) { 148 return void this.reject_(t) 149 } 150 "function" == typeof e ? this.settleSameAsThenable_(e, t) : this.fulfill_(t) 151 }, i.prototype.reject_ = function (t) { 152 this.settle_(2, t) 153 }, i.prototype.fulfill_ = function (t) { 154 this.settle_(1, t) 155 }, i.prototype.settle_ = function (t, e) { 156 if (0 != this.state_) throw Error("Cannot settle(" + t + ", " + e + "): Promise already settled in state" + this.state_); 157 this.state_ = t, this.result_ = e, this.executeOnSettledCallbacks_() 158 }, i.prototype.executeOnSettledCallbacks_ = function () { 159 if (null != this.onSettledCallbacks_) { 160 for (var t = 0; t < this.onSettledCallbacks_.length; ++t) a.asyncExecute(this.onSettledCallbacks_[t]); 161 this.onSettledCallbacks_ = null 162 } 163 }; 164 var a = new e; 165 return i.prototype.settleSameAsPromise_ = function (t) { 166 var e = this.createResolveAndReject_(); 167 t.callWhenSettled_(e.resolve, e.reject) 168 }, i.prototype.settleSameAsThenable_ = function (t, e) { 169 var n = this.createResolveAndReject_(); 170 try { 171 t.call(e, n.resolve, n.reject) 172 } catch (t) { 173 n.reject(t) 174 } 175 }, i.prototype.then = function (t, e) { 176 function n(t, e) { 177 return "function" == typeof t ? function (e) { 178 try { 179 o(t(e)) 180 } catch (t) { 181 a(t) 182 } 183 } : e 184 } 185 186 var o, a, r = new i(function (t, e) { 187 o = t, a = e 188 }); 189 return this.callWhenSettled_(n(t, o), n(e, a)), r 190 }, i.prototype.catch = function (t) { 191 return this.then(void 0, t) 192 }, i.prototype.callWhenSettled_ = function (t, e) { 193 function n() { 194 switch (o.state_) { 195 case 1: 196 t(o.result_); 197 break; 198 case 2: 199 e(o.result_); 200 break; 201 default: 202 throw Error("Unexpected state: " + o.state_) 203 } 204 } 205 206 var o = this; 207 null == this.onSettledCallbacks_ ? a.asyncExecute(n) : this.onSettledCallbacks_.push(n) 208 }, i.resolve = n, i.reject = function (t) { 209 return new i(function (e, n) { 210 n(t) 211 }) 212 }, i.race = function (t) { 213 return new i(function (e, o) { 214 for (var i = $jscomp.makeIterator(t), a = i.next(); !a.done; a = i.next()) n(a.value).callWhenSettled_(e, o) 215 }) 216 }, i.all = function (t) { 217 var e = $jscomp.makeIterator(t), 218 o = e.next(); 219 return o.done ? n([]) : new i(function (t, i) { 220 function a(e) { 221 return function (n) { 222 r[e] = n, 0 == --s && t(r) 223 } 224 } 225 226 var r = [], 227 s = 0; 228 do { 229 r.push(void 0), s++, n(o.value).callWhenSettled_(a(r.length - 1), i), o = e.next() 230 } while (!o.done) 231 }) 232 }, i 233}, "es6", "es3"), $jscomp.findInternal = function (t, e, n) { 234 t instanceof String && (t = String(t)); 235 for (var o = t.length, i = 0; i < o; i++) { 236 var a = t[i]; 237 if (e.call(n, a, i, t)) return { 238 i: i, 239 v: a 240 } 241 } 242 return { 243 i: -1, 244 v: void 0 245 } 246}, $jscomp.polyfill("Array.prototype.find", function (t) { 247 return t || function (t, e) { 248 return $jscomp.findInternal(this, t, e).v 249 } 250}, "es6", "es3"), 251 function () { 252 var t, e, n, o = function (t, e) { 253 return function () { 254 return t.apply(e, arguments) 255 } 256 }; 257 t = jQuery, e = { 258 bgColor: "#fff", 259 inlineStyles: !0, 260 lockDocumentScroll: !0, 261 mainWrapperClass: "fsp-wrapper", 262 contentWrapperClass: "fsp-content", 263 closePopupClass: "fsp-close", 264 close: !0, 265 animationSpeed: 200 266 }, n = function () { 267 function n(n, i) { 268 this.element = n, this.closePopup = o(this.closePopup, this), this.init = o(this.init, this), this.options = t.extend({}, e, i), this._defaults = e, this._name = "fullScreenPopup", this.element = t(this.element), this.body = t("body"), this.element.on("click", this.init) 269 } 270 271 return n.prototype.init = function (t) { 272 return t.preventDefault(), this.getTarget(), this.getTargetSizes(), this.createWrappers(), this.wrapTarget(), this.options.lockDocumentScroll && this.lockDocumentScroll(), this.render(), this.bindEvents() 273 }, n.prototype.getTarget = function () { 274 return this.target = this.options.popup ? this.options.popup() : t(this.element.attr("href") || this.element.data("popup")), this.targetParent = this.target.parent() 275 }, n.prototype.getTargetSizes = function () { 276 return this.targetSizes = { 277 width: this.target.width(), 278 height: this.target.height() 279 } 280 }, n.prototype.wrapTarget = function () { 281 return this.target = this.detachFromDom(this.target), this.target.appendTo(this.contentWrapper) 282 }, n.prototype.render = function () { 283 return this.target.show(), this.attachToDom(this.mainWrapper, "body"), this.popupCentered(), this.mainWrapper.fadeIn(this.options.animationSpeed) 284 }, n.prototype.detachFromDom = function (t) { 285 return t.detach() 286 }, n.prototype.attachToDom = function (t, e) { 287 return t.appendTo(e) 288 }, n.prototype.bindEvents = function () { 289 this.close && this.close.on("click", this.closePopup); 290 var e = this.closePopup; 291 return t(document).on("keyup.pdfembfullscreen", function (t) { 292 27 == (t.keyCode ? t.keyCode : t.which) && e(t) 293 }), this.mainWrapper.on("closePopup", this.closePopup) 294 }, n.prototype.createWrappers = function () { 295 return this.mainWrapper = t("<div/>", { 296 class: "" + this.options.mainWrapperClass, 297 style: this.options.inlineStyles ? "background: " + this.options.bgColor + "; position: fixed; top: 0; left: 0; right: 0; bottom: 0; z-index: 9999; overflow-y: auto; overflow-x: hidden; display: none" : void 0 298 }), this.contentWrapper = t("<div/>", { 299 class: "" + this.options.contentWrapperClass, 300 style: "width: 100%; height: 100%; position: relative; top: 0px; left: 0px;" 301 }).appendTo(this.mainWrapper), this.options.close && (this.close = t("<a/>", { 302 href: "#", 303 html: "×", 304 class: "" + this.options.closePopupClass, 305 style: this.options.inlineStyles ? "position: absolute; right: 2em; top: 2em;" : void 0 306 }).appendTo(this.mainWrapper)), this 307 }, n.prototype.popupCentered = function () { 308 }, n.prototype.closePopup = function (e) { 309 e.preventDefault(); 310 var n = this;
311 return t(document).unbind("keyup.pdfembfullscreen"), this.mainWrapper.fadeOut(this.options.animationSpeed, function () { 312 return n.options.lockDocumentScroll && n.unlockDocumentScroll(), n.target = n.detachFromDom(n.target), n.target.hide(), n.attachToDom(n.target, n.targetParent), n.deleteWrappers() 313 }) 314 }, n.prototype.deleteWrappers = function () { 315 return this.mainWrapper.remove() 316 }, n.prototype.lockDocumentScroll = function () { 317 return this.body.css({ 318 overflow: "hidden" 319 }) 320 }, n.prototype.unlockDocumentScroll = function () { 321 return this.body.css({ 322 overflow: "visible" 323 }) 324 }, n 325 }(), t.fn.fullScreenPopup = function (e) { 326 return this.each(function () { 327 if (!t.data(this, "plugin_fullScreenPopup")) return t.data(this, "plugin_fullScreenPopup", new n(this, e)) 328 }) 329 } 330 }.call(this); 331var pdfembGrabToPan = function () { 332 function t(t) { 333 this.element = t.element, this.document = t.element.ownerDocument, "function" == typeof t.ignoreTarget && (this.ignoreTarget = t.ignoreTarget), this.onActiveChanged = t.onActiveChanged, this.activate = this.activate.bind(this), this.deactivate = this.deactivate.bind(this), this.toggle = this.toggle.bind(this), this._onmousedown = this._onmousedown.bind(this), this._onmousemove = this._onmousemove.bind(this), this._ontouchstart = this._ontouchstart.bind(this), this._ontouchmove = this._ontouchmove.bind(this), this._ontouchend = this._ontouchend.bind(this), this._onmousewheel = this._onmousewheel.bind(this), this._endPan = this._endPan.bind(this), this._ondocumenttouchmove = this._ondocumenttouchmove.bind(this), this._onkeyboardpan = this._onkeyboardpan.bind(this), this.element.addEventListener("pdfembKeyboardPan", this._onkeyboardpan, !1), this.preventDocTouchScroll = !1, (this.overlay = document.createElement("div")).className = "grab-to-pan-grabbing" 334 } 335 336 var e; 337 t.prototype = { 338 CSS_CLASS_GRAB: "grab-to-pan-grab", 339 activate: function () { 340 !this.active && (this.active = !0, this.element.addEventListener("mousedown", this._onmousedown, !0), this.element.addEventListener("mousewheel", this._onmousewheel), this.element.addEventListener("wheel", this._onmousewheel), this.element.addEventListener("DOMMouseScroll", this._onmousewheel), this.element.addEventListener("touchstart", this._ontouchstart), document.addEventListener("touchmove", this._ondocumenttouchmove), this.element.classList.add(this.CSS_CLASS_GRAB), this.onActiveChanged) && this.onActiveChanged(!0) 341 }, 342 deactivate: function () { 343 this.active && (this.active = !1, this.element.removeEventListener("mousedown", this._onmousedown, !0), this._endPan(), document.removeEventListener("touchmove", this._ondocumenttouchmove, !1), this.element.classList.remove(this.CSS_CLASS_GRAB), this.onActiveChanged) && this.onActiveChanged(!1) 344 }, 345 toggle: function () { 346 this.active ? this.deactivate() : this.activate() 347 }, 348 ignoreTarget: function (t) { 349 return t[e]("a[href], a[href] *, input, textarea, button, button *, select, option, .pdfembTextLayer > div") 350 }, 351 _onmousedown: function (t) { 352 if (0 === t.button && !this.ignoreTarget(t.target)) { 353 this.scrollLeftStart = this.element.scrollLeft, this.scrollTopStart = this.element.scrollTop, this.clientXStart = t.clientX, this.clientYStart = t.clientY, this.document.addEventListener("mousemove", this._onmousemove, !0), this.document.addEventListener("mouseup", this._endPan, !0), this.element.addEventListener("scroll", this._endPan, !0), t.preventDefault(), t.stopPropagation(), this.document.documentElement.classList.add(this.CSS_CLASS_GRABBING); 354 var e = document.activeElement; 355 e && !e.contains(t.target) && e.blur() 356 } 357 }, 358 _onmousemove: function (t) { 359 this.element.removeEventListener("scroll", this._endPan, !0); 360 var e = "buttons" in t && n ? !(1 | t.buttons) : i || a ? 0 === t.which : void 0; 361 e ? this._endPan() : (e = t.clientX - this.clientXStart, this.element.scrollTop = this.scrollTopStart - (t.clientY - this.clientYStart), this.element.scrollLeft = this.scrollLeftStart - e, this.overlay.parentNode || document.body.appendChild(this.overlay)) 362 }, 363 _ontouchstart: function (t) { 364 this.scrollLeftStart = this.element.scrollLeft, this.scrollTopStart = this.element.scrollTop, this.clientXStart = t.touches[0].clientX, this.clientYStart = t.touches[0].clientY, this.distStart = this._calcTouchDistance(t), this.scaledForMagnification = !1, this.document.addEventListener("touchmove", this._ontouchmove), this.document.addEventListener("touchend", this._ontouchend), 1 != t.touches.length && (t.preventDefault(), t.stopPropagation()), this.document.documentElement.classList.add(this.CSS_CLASS_GRABBING); 365 var e = document.activeElement; 366 e && !e.contains(t.target) && e.blur(), this.touchtapmaybe = 1 == t.touches.length 367 }, 368 _calcTouchDistance: function (t) { 369 var e = NaN; 370 return t.touches && 2 <= t.touches.length && (e = Math.sqrt(Math.pow(t.touches[0].screenX - t.touches[1].screenX, 2) + Math.pow(t.touches[0].screenY - t.touches[1].screenY, 2))), e 371 }, 372 _calcTouchCenter: function (t) { 373 var e = 0, 374 n = 0; 375 return t.touches && 2 <= t.touches.length && (e = (t.touches[0].clientX + t.touches[1].clientX) / 2, n = (t.touches[0].clientY + t.touches[1].clientY) / 2), [e, n] 376 }, 377 _ontouchmove: function (t) { 378 var e = !0, 379 n = t.touches[0].clientX - this.clientXStart, 380 o = t.touches[0].clientY - this.clientYStart; 381 1 == t.touches.length ? (this.element.scrollTop = this.scrollTopStart - o, this.element.scrollLeft = this.scrollLeftStart - n, this.element.scrollTop == this.scrollTopStart && 0 != o && (e = !1)) : this.touchtapmaybe = !1, this.overlay.parentNode || document.body.appendChild(this.overlay), 0 == n && 0 == o || (this.touchtapmaybe = !1), n = this._calcTouchDistance(t), e ? (t.preventDefault(), this.preventDocTouchScroll = !0) : this.preventDocTouchScroll = !1, isNaN(this.distStart) ? this.distStart = n : !isNaN(n) && 0 < this.distStart && 0 < n && (1.5 < (o = (50 + n) / (50 + this.distStart)) && (o = 1.5), .75 > o && (o = .75), 1 != o && (this.scaledForMagnification = !0, (e = document.createEvent("Events")).initEvent("pdfembMagnify", !0, !0), e.magnification = o, e.gtpelement = this.element, t = this._calcTouchCenter(t), e.centreLeft = t[0], e.centreTop = t[1], this.element.dispatchEvent(e)), this.distStart = n) 382 }, 383 _ondocumenttouchmove: function (t) { 384 if (this.preventDocTouchScroll) return t.preventDefault(), t.stopPropagation(), !1 385 }, 386 _onmousewheel: function (t) { 387 this.element.removeEventListener("scroll", this._endPan, !0); 388 var e = .5; 389 t.deltaMode && (1 == t.deltaMode && (e = 10), 2 == t.deltaMode && (e = 1e3)); 390 var n = t.deltaY ? -t.deltaY : t.wheelDelta ? t.wheelDelta : -t.detail; 391 if (this.scrollLeftStart = this.element.scrollLeft, this.scrollTopStart = this.element.scrollTop, e *= n, this.element.scrollTop = this.scrollTopStart - e, this.overlay.parentNode || document.body.appendChild(this.overlay), this.element.scrollTop != this.scrollTopStart || 0 == e) return t.preventDefault(), !1 392 }, 393 _ontouchend: function (t) { 394 this._endPan(), this.scaledForMagnification && ((t = document.createEvent("Events")).initEvent("pdfembMagnify", !0, !0), t.magnification = -1, t.gtpelement = this.element, this.element.dispatchEvent(t)), this.touchtapmaybe && ((t = document.createEvent("Events")).initEvent("pdfembTouchTapped", !0, !0), this.element.dispatchEvent(t)) 395 }, 396 _endPan: function () { 397 this.element.removeEventListener("scroll", this._endPan, !0), this.document.removeEventListener("mousemove", this._onmousemove, !0), this.document.removeEventListener("mouseup", this._endPan, !0), this.document.removeEventListener("touchmove", this._ontouchmove, !1), this.document.removeEventListener("touchend", this._ontouchend, !1), this.preventDocTouchScroll = !1, this.overlay.parentNode && this.overlay.parentNode.removeChild(this.overlay) 398 }, 399 _onkeyboardpan: function (t) {
400 if (37 == (t = t.detail.keyCode) || 39 == t) { 401 var e = this.element.offsetWidth / 7; 402 5 > e && (e = 5), this.element.scrollLeft -= 37 == t ? e : -e 403 } 404 38 != t && 40 != t || (5 > (e = this.element.offsetHeight / 7) && (e = 5), this.element.scrollTop -= 38 == t ? e : -e), this.overlay.parentNode || document.body.appendChild(this.overlay) 405 } 406 }, ["webkitM", "mozM", "msM", "oM", "m"].some(function (t) { 407 return (t += "atches") in document.documentElement && (e = t), (t += "Selector") in document.documentElement && (e = t), e 408 }); 409 var n = !document.documentMode || 9 < document.documentMode, 410 o = window.chrome, 411 i = o && (o.webstore || o.app), 412 a = /Apple/.test(navigator.vendor) && /Version\/([6-9]\d*|[1-5]\d+)/.test(navigator.userAgent); 413 return t 414 }(), 415 PDFEMB_NS = {}; 416jQuery(document).ready(function (t) { 417 var e, 418 n = (e = document.createElement("canvas").getContext("2d"), (window.devicePixelRatio || 1) / (e.webkitBackingStorePixelRatio || e.mozBackingStorePixelRatio || e.msBackingStorePixelRatio || e.oBackingStorePixelRatio || e.backingStorePixelRatio || 1)); 419 PDFEMB_NS.PIXEL_RATIO = n, createHiDPICanvas = function (t, e, o) { 420 o || (o = n); 421 var i = document.createElement("canvas"); 422 return i.width = t * o, i.height = e * o, i.style.width = t + "px", i.style.height = e + "px", i.getContext("2d").setTransform(o, 0, 0, o, 0, 0), i 423 }; 424 var o = 0, 425 i = 0; 426 !function () { 427 var t = document.createElement("div"); 428 t.style.width = "100px", t.style.height = "100px", t.style.overflow = "scroll", t.style.position = "absolute", t.style.top = "-9999px", document.body.appendChild(t), o = t.offsetWidth - t.clientWidth, i = t.offsetHeight - t.clientHeight, document.body.removeChild(t) 429 }(), PDFEMB_NS.vscrollbarwidth = o, PDFEMB_NS.hscrollbarheight = i; 430 var a = function (t, e, n) { 431 this.pdfDoc = t, this.divContainer = e, this.showIsSecure = n, this.initialResize = !1, this.firstPageHeight = this.firstPageWidth = 0, this.invalidationRound = 1, this.currentPageNum = 0, this.zoom = 100, this.toZoom = this.fromZoom = 0 432 }; 433 a.prototype.setup = function () { 434 var e = this, 435 n = this.divContainer, 436 o = this.pdfDoc, 437 i = this.showIsSecure; 438 this.numPages = o.numPages; 439 var a = n.data("scrollbar"); 440 this.vscrollbar = "both" == a || "vertical" == a, this.hscrollbar = "both" == a || "horizontal" == a, a = "overflow-y: " + (this.vscrollbar ? "scroll" : "hidden") + "; ", a += "overflow-x: " + (this.hscrollbar ? "scroll" : "hidden") + "; ", n.empty().append(t("<div></div>", { 441 class: "pdfemb-pagescontainer", 442 style: a 443 })), n.data("pdfDoc", o), a = n.data("toolbar"), this.addToolbar(!0, !0, i), e.annotationsLayerFactory = void 0 !== PDFEMB_NS.pdfembPremiumAnnotationsLayerFactory ? new PDFEMB_NS.pdfembPremiumAnnotationsLayerFactory : { 444 createAnnotationsLayerBuilder: function (t, e) { 445 return null 446 } 447 }, e.annotationLayerFactories = [], e.textLayerFactory = void 0 !== PDFEMB_NS.pdfembPremiumTextLayerFactory ? new PDFEMB_NS.pdfembPremiumTextLayerFactory : { 448 createTextLayerBuilder: function (t, e) { 449 return null 450 } 451 }, e.textLayerFactories = [], n.on("pdfembGotopage", function (t, n) { 452 n > this.numPages || 0 >= n || (e.gotoPage(n), e.jumpToTop()) 453 }), n.on("pdfembGotoHash", function (t, n) { 454 n.dest && (dest = n.dest, "string" == typeof dest ? (destString = dest, t = e.pdfDoc.getDestination(dest)) : t = Promise.resolve(dest), t.then(function (t) { 455 t instanceof Array && !(1 > t.length) && e.pdfDoc.getPageIndex(t[0]).then(function (t) { 456 (t += 1) > e.numPages || 0 >= t || e.currentPageNum == t || (e.gotoPage(t), e.jumpToTop()) 457 }) 458 })) 459 }), n.on("pdfembGotoAction", function (t, n) { 460 var o = t = e.currentPageNum; 461 switch (n) { 462 case "GoBack": 463 --o; 464 break; 465 case "GoForward": 466 case "NextPage": 467 ++o; 468 break; 469 case "PrevPage": 470 --o; 471 break; 472 case "LastPage": 473 o = e.pageCount; 474 break; 475 case "FirstPage": 476 o = 1 477 } 478 o == t || o > e.pageCount || 0 >= o || e.gotoPage(o) 479 }), n.on("pdfembMagnify", function (t) { 480 e.magnifyEvent(t) 481 }), n.on("pdfembChangeZoom", function (t, n) { 482 e.changeZoom(n) 483 }), this.pageCount = o.numPages, (!n.data("pagenum") || 1 > n.data("pagenum") || n.data("pagenum") > this.pageCount) && n.data("pagenum", 1), n.data("showIsSecure", this.showIsSecure), n.data("pageNumPending", null), o = "on" == n.data("fullScreen") ? parseInt(n.data("startfpzoom")) : parseInt(n.data("startzoom")), (isNaN(o) || 20 > o || 500 < o) && (o = 100), this.zoom = o, 100 != o && n.find("span.pdfemb-zoom").text(o + "%"), n.find("span.pdfemb-page-count").text(this.pageCount), this.gotoPage(n.data("pagenum")) 484 }, a.prototype.checkForResize = function () { 485 var e = this, 486 n = e.divContainer, 487 o = t(window).height(), 488 i = t(window).width(), 489 a = n.data("checked-window-height"), 490 r = n.data("checked-window-width"); 491 a && r || (n.data("checked-window-height", o), n.data("checked-window-width", i)), a == o && r == i || (e.resizeViewer(), e.resizeInnerDivs(), e.invali
491dateAllPages(), e.renderPage(this.currentPageNum), e.prerenderNearbyPages(this.currentPageNum), e.pdfembMakeMobile(), n.data("checked-window-height", o), n.data("checked-window-width", i)), "true" != n.data("fullScreenClosed") && setTimeout(function () { 492 e.checkForResize() 493 }, 100) 494 }, a.prototype.setSizesBasedOnPage = function (t) { 495 t = t.getViewport(1), this.pageWidth = t.width, this.pageHeight = t.height, (0 >= this.pageWidth || 0 >= this.pageHeight) && this.divContainer.empty().append(document.createTextNode(wpfd_pdfemb_trans.objectL10n.widthheightinvalid)) 496 }, a.prototype.createPageInnerDivs = function () { 497 for (var e = this.divContainer.find(".pdfemb-pagescontainer"), n = 1; n <= this.pageCount; ++n) { 498 var o = e.find(".pdfemb-inner-div.pdfemb-page" + n); 499 0 == o.length && ((o = t("<div></div>", { 500 class: "pdfemb-inner-div pdfemb-page" + n 501 })).data("pageNum", n), e.append(o)) 502 } 503 this.resizeInnerDivs() 504 }, a.prototype.addGrabToPan = function () { 505 var e = this, 506 n = e.divContainer, 507 o = n.find("div.pdfemb-pagescontainer"), 508 i = new pdfembGrabToPan({ 509 element: o[0] 510 }); 511 n.data("grabtopan", i), o.on("scroll", function (t) { 512 var n = e.getTopVisiblePageNum(); 513 n != e.currentPageNum && (e.currentPageNum = n, e.updatePageNumDisplay(n), e.renderPage(n, !1), e.prerenderNearbyPages(n), e.deallocateFarAwayPages(n)), t.stopPropagation() 514 }), t(window).resize(function () { 515 setTimeout(function () { 516 e.checkForResize() 517 }, 100) 518 }) 519 }, a.prototype.resizeInnerDivs = function (e) { 520 var n = this, 521 o = n.wantCanvasWidth, 522 i = n.wantCanvasHeight, 523 a = n.wantHeight, 524 r = this.divContainer.find(".pdfemb-pagescontainer").find(".pdfemb-inner-div"); 525 e && (r = r.filter(".pdfemb-page" + e)); 526 var s = 0; 527 r.each(function (a, d) { 528 var c = t(d); 529 d = c.data("widthfactor"); 530 var p = c.data("heightfactor"); 531 d || (d = 1), p || (p = 1), c.data("invalidation-round", this.invalidationRound - 1), c.css("width", o * d), a = i * p + (e == n.numPages || !e && a == r.length - 1 ? 0 : 2), c.css("height", a), s += a, (a = c.find(".pdfemb-the-canvas")).css("width", o * d), a.css("height", i * p) 532 }); 533 var d = 0; 534 !e && s < a && (d = (a - s) / 2), r.first().css("top", d) 535 }, a.prototype.invalidateAllPages = function () { 536 ++this.invalidationRound 537 }, a.prototype.prerenderNearbyPages = function (t) { 538 var e = 3, 539 n = 2; 540 for (100 > this.zoom && (e *= Math.min(Math.ceil(100 / this.zoom), 10), n *= Math.min(Math.ceil(100 / this.zoom), 10)), n = Math.max(1, t - n); n <= Math.min(t + e, this.numPages); ++n) n != t && this.renderPage(n, !1) 541 }, a.prototype.deallocateFarAwayPages = function (t) { 542 var e = 50, 543 n = 50; 544 if (100 > this.zoom) { 545 var o = Math.min(Math.ceil(100 / this.zoom), 50); 546 e += o, n += o 547 } 548 o = function (t) { 549 var e = (t = a.find(".pdfemb-page" + t)).find(".pdfemb-the-canvas"); 550 e.length && (e.remove(), t.data("invalidation-round", 0)) 551 }; 552 var i, a = this.divContainer.find("div.pdfemb-pagescontainer"); 553 for (i = 3; i < t - n; ++i) o(i); 554 for (i = t + e; i < this.numPages; ++i) o(i) 555 }, a.prototype.resizeViewer = function () { 556 var t = this.pageWidth, 557 e = this.pageHeight, 558 a = this.divContainer, 559 r = a.find("div.pdfemb-pagescontainer"), 560 s = r[0].scrollLeft, 561 d = r[0].scrollTop, 562 c = a.parent().width(); 563 if ("max" == a.data("width")) var p = c; 564 else "auto" == a.data("width") ? p = t : (p = parseInt(a.data("width"), 10), (isNaN(p) || 0 >= p) && (p = c)); 565 0 >= p && (p = t), p > c && 0 < c && (p = c), e = e * p / t; 566 var l = this.pdfembWantMobile(p, f); 567 this.wantMobile = l; 568 var h = a.find("div.pdfemb-toolbar-fixed"), 569 u = l ? 0 : h.length, 570 f = parseInt(a.data("height"), 10); 571 (isNaN(f) || 0 >= f || f > e) && (f = "auto" == a.data("height") ? a.parent().height() - u * h.height() : e), this.userHeight = f, p = Math.floor(p), e = Math.floor(e), c = 100; 572 var m = p - (this.vscrollbar ? o : 0), 573 v = e - (this.hscrollbar ? i : 0), 574 g = 1; 575 l || 16777e3 < (m = m * (c = this.zoom) / 100) * (v = v * c / 100) * n * n && (g = 16777e3 / (m * v * n * n)), p != a.width() && a.width(p), a.height() != f && a.height(f + u * h.height()), r.width(p), r.height(f), a = h.filter(".pdfemb-toolbar-top"), 0 < u && r.css("top", a.height()), t = (p - (this.vscrollbar ? o : 0)) / t, 0 != this.fromZoom && 0 != this.toZoom && (r[0].scrollLeft = this.toZoom / this.fromZoom * (s + this.pccentreLeft) - this.pccentreLeft, r[0].scrollTop = this.toZoom / this.fromZoom * (d + this.pccentreTop) - this.pccentreTop), this.toZoom = this.fromZoom = 0, this.wantCanvasWidth = m, this.wantCanvasHeight = v, this.reducefactor = g, this.wantWidth = p, this.wantHeight = e, this.canvasscale = t, this.zoom = c 576 }, a.prototype.getTopVisiblePageNum = function () { 577 var pagesContainer = this.divContainer.find('.pdfemb-pagescontainer'); 578 var innerdivs = pagesContainer.find('.pdfemb-inner-div'); 579 580 var max = innerdivs.length, 581 min = 0, c = 0; 582 583 var marginOfError = (this.divContainer.height() / 10) * (this.zoom / 100); 584 585 while (max > min && c < 50) { 586 ++c; 587 588 var i = min + Math.floor((max - min) / 2); 589 590 var innerdiv = innerdivs[i]; 591 var top = Math.floor(t(innerdiv).position().top); 592 593 if (top < marginOfError) { 594 min = i; 595 } else if (top > marginOfError) { 596 max = i; 597 } else { 598 return i + 1; // Adjust back to 1-based page nums 599 } 600 } 601 602 return min + 1; // Adjust back to 1-based page nums 603 }, a.prototype.gotoPage = function (t) { 604 0 >= t || t > this.pageCount || (this.renderPage(t, !0), this.currentPageNum = t, this.updatePageNumDisplay(t), this.prerenderNearbyPages(t), this.deallocateFarAwayPages(t)) 605 }, a.prototype.updatePageNumDisplay = function (e) { 606 var n = this.divContainer; 607 n.find("div.pdfemb-toolbar .pdfemb-page-num").each(function (n, o) { 608 (n = t(o)).is("span") ? n.text(e) : n.val(e) 609 }), e < this.pageCount ? n.find(".pdfemb-next").removeAttr("disabled").removeClass("pdfemb-btndisabled") : n.find(".pdfemb-next").attr("disabled", "disabled").addClass("pdfemb-btndisabled"), 1 < e ? n.find(".pdfemb-prev").removeAttr("disabled").removeClass("pdfemb-btndisabled") : n.find(".pdfemb-prev").attr("disabled", "disabled").addClass("pdfemb-btndisabled") 610 }, a.prototype.scrollPageIntoView = function (t) { 611 var pagesContainer = this.divContainer.find('.pdfemb-pagescontainer'); 612 var innerdiv = pagesContainer.find('.pdfemb-page' + t); 613 if (innerdiv.length == 0) { 614 return; 615 } 616 var offset = innerdiv.position(); 617 var cscrolltop = pagesContainer[0].scrollTop; 618 pagesContainer[0].scrollTop = cscrolltop + offset.top; 619 620 621 /*var e = this.divContainer.find(".pdfemb-pagescontainer"), 622 n = e.find(".pdfemb-page" + t); 623 e.find(".pdfemb-inner-div").not(".pdfemb-page" + t).hide(), n.show(), e[0].scrollTop = 0*/ 624 }, a.prototype.renderPage = function (e, o) { 625 var i = this, 626 a = i.invalidationRound, 627 r = this.divContainer, 628 s = r.data("pdfDoc"), 629 d = r.find(".pdfemb-pagescontainer"), 630 c = d.find(".pdfemb-page" + e); 631 if (c.length && c.data("invalidation-round") >= a) o && i.scrollPageIntoView(e); 632 else { 633 var p = c.data("pending-drawing-round"); 634 p >= a || (0 < p && p < a ? c.data("pending-drawing-round", a) : (c.data("pending-drawing-round", a), s.getPage(e).then(function (s) { 635 i.initialResize || (i.initialResize = !0, i.setSizesBasedOnPage(s), i.resizeViewer(), i.createPageInnerDivs(), i.addGrabToPan(), i.pdfembMakeMobile()), 0 == c.length && (c = d.find(".pdfemb-page" + e)); 636 var l = c.data("widthfactor"), 637 h = c.data("heightfactor"); 638 if (!l || !h) { 639 var u = s.getViewport(1); 640 l = u.width / i.pageWidth, h = u.height / i.pageHeight, c.data("widthfactor", l), c.data("heightfactor", h), 1 == l && 1 == h || i.resizeInnerDivs(e) 641 } 642 var f = c.find(".pdfemb-the-canvas"); 643 0 == f.length && (f = t("<canvas></canvas>", { 644 class: "pdfemb-the-canvas" 645 }), c.append(f)), o && i.scrollPageIntoView(e); 646 var m = i.wantCanvasWidth, 647 v = i.wantCanvasHeight; 648 u = i.canvasscale; 649 var g = i.zoom; 650 f.css("width", m * l), f.css("height", v * h), i.wantMobile ? r.data("grabtopan").deactivate() : r.data("grabtopan").activate(); 651 var b = s.getViewport(u * g / 100), 652 y = document.createElement("canvas"); 653 y.width = m * n * i.reducefactor * l, y.height = v * n * i.reducefactor * h; 654 var w = y.getContext("2d"), 655 _ = function () { 656 f[0].width = m * n * i.reducefactor * l, f[0].height = v * n * i.reducefactor * h, i.preRenderCanvas(w, e, g); 657 var t = w.getImageData(0, 0, y.width, y.height); 658 f[0].getContext("2d").putImageData(t, 0, 0
658), void 0 === i.annotationLayerFactories[e] ? (t = i.annotationsLayerFactory.createAnnotationsLayerBuilder(c[0], s), i.annotationLayerFactories[e] = t) : t = i.annotationLayerFactories[e], null != t && t.setupAnnotations(b, i.divContainer.data("newwindow")), void 0 === i.textLayerFactories[e] ? (t = i.textLayerFactory.createTextLayerBuilder(c[0], s), i.textLayerFactories[e] = t) : t = i.textLayerFactories[e], null != t && t.setupText(b), c.data("invalidation-round", a), p = c.data("pending-drawing-round"), c.data("pending-drawing-round", ""), p > a && i.renderPage(e, !1) 659 }; 660 s.render({ 661 canvasContext: w, 662 viewport: b, 663 transform: [n * i.reducefactor, 0, 0, n * i.reducefactor, 0, 0] 664 }).promise.then(function () { 665 "requestAnimationFrame" in window ? window.requestAnimationFrame(_) : setTimeout(_, 1) 666 }) 667 }))) 668 } 669 }, a.prototype.changeZoom = function (t) { 670 var e = this.divContainer, 671 n = this.zoom; 672 this.zoom = t = n + t, e.find("span.pdfemb-zoom").text(t + "%"), this.fromZoom = n, this.toZoom = t, e = e.find(".pdfemb-pagescontainer"), this.pccentreLeft = e.width() / 2, this.pccentreTop = e.height() / 2, this.resizeViewer(), this.resizeInnerDivs(), this.invalidateAllPages(), this.renderPage(this.currentPageNum), this.prerenderNearbyPages(this.currentPageNum) 673 }, a.prototype.queueRenderPage = function (t, e) { 674 this.renderPage(t, e) 675 }, a.prototype.addToolbar = function (e, n, o) { 676 var i = this.divContainer, 677 a = this, 678 r = t("<div></div>", { 679 class: "pdfemb-toolbar pdfemb-toolbar" + (n ? "-fixed" : "-hover") + " " + (e ? " pdfemb-toolbar-top" : "pdfemb-toolbar-bottom") 680 }), 681 s = t('<button class="pdfemb-prev" title="' + wpfd_pdfemb_trans.objectL10n.prev + '" type="button"></button>'); 682 r.append(s); 683 var d = t('<button class="pdfemb-next" title="' + wpfd_pdfemb_trans.objectL10n.next + '" type="button"></button>'); 684 r.append(d), r.append(t('<div class="pdfemb-page-area">' + wpfd_pdfemb_trans.objectL10n.page + ' <span class="pdfemb-page-num">0</span> / <span class="pdfemb-page-count"></span></div>')); 685 var c = t('<button class="pdfemb-zoomout" title="' + wpfd_pdfemb_trans.objectL10n.zoomout + '" type="button"></button>'); 686 r.append(c); 687 var p = t('<button class="pdfemb-zoomin" title="' + wpfd_pdfemb_trans.objectL10n.zoomin + '" type="button"></button>'); 688 r.append(p), r.append(t("<div>" + wpfd_pdfemb_trans.objectL10n.zoom + ' <span class="pdfemb-zoom">100%</span></div>')), o && r.append(t("<div>" + wpfd_pdfemb_trans.objectL10n.secure + "</div>")), e ? i.prepend(r) : i.append(r), s.on("click", function (t) { 689 1 >= a.currentPageNum || (a.gotoPage(a.currentPageNum - 1), a.jumpToTop()) 690 }), d.on("click", function (t) { 691 a.currentPageNum >= a.pageCount || 0 == a.currentPageNum || (a.gotoPage(a.currentPageNum + 1), a.jumpToTop()) 692 }), p.on("click", function (t) { 693 500 <= a.zoom || a.changeZoom(10) 694 }), c.on("click", function (t) { 695 20 >= a.zoom || a.changeZoom(-10) 696 }), a.addMoreToolbar(r), n || (i.on("mouseenter", function (t) { 697 !0 !== (t = i.find("div.pdfemb-toolbar-hover")).data("no-hover") && t.show() 698 }), i.on("mouseleave", function (t) { 699 i.find("div.pdfemb-toolbar-hover").hide() 700 }), i.on("pdfembTouchTapped", function (t) { 701 if (t.stopPropagation(), t.preventDefault(), !a.locktaps) { 702 a.locktaps = !0; 703 var e = (t = i.find("div.pdfemb-toolbar-hover")).is(":visible"); 704 1 == t.data("no-hover") && (e = !0), e ? t.hide() : t.show(), setTimeout(function () { 705 a.locktaps = !1 706 }, 250) 707 } 708 })), wpfd_pdfemb_trans.poweredby && r.append(t("<div></div>", { 709 class: "pdfemb-poweredby" 710 }).append(t('<a href="https://wp-pdf.com/?utm_source=Poweredby&utm_medium=freemium&utm_campaign=Freemium" target="_blank">wp-pdf.com</a>'))) 711 }, a.prototype.magnifyEvent = function (t) { 712 var e = t.originalEvent.magnification; 713 if (-1 == e) this.resizeViewer(), this.resizeInnerDivs(), this.invalidateAllPages(), this.renderPage(this.getTopVisiblePageNum
713()); 714 else { 715 var n = this.divContainer.find(".pdfemb-pagescontainer").offset(); 716 this.magnifyZoom(e, t.originalEvent.centreLeft - n.left, t.originalEvent.centreTop - n.top) 717 } 718 }, a.prototype.magnifyZoom = function (t, e, n) { 719 var o = this.zoom; 720 20 > (t = Math.floor(o * t)) && (t = 20), 500 < t && (t = 500), this.zoom = t, this.divContainer.find("span.pdfemb-zoom").text(t + "%"), this.fromZoom = o, this.toZoom = t, this.pccentreLeft = e, this.pccentreTop = n, this.resizeViewer(), this.resizeInnerDivs(), this.invalidateAllPages() 721 }, a.prototype.pdfembWantMobile = function (t, e) { 722 return !1 723 }, a.prototype.pdfembMakeMobile = function () { 724 }, a.prototype.addMoreToolbar = function (t) { 725 }, a.prototype.jumpToTop = function () { 726 }, a.prototype.preRenderCanvas = function (t, e, n) { 727 }, PDFEMB_NS.pdfembPagesViewer = a 728}), jQuery(document).ready(function (t) { 729 var e = PDFEMB_NS.pdfembPagesViewer, 730 n = function () { 731 e.apply(this, arguments) 732 }; 733 n.prototype = new e, wpfd_pdfemb_trans.continousscroll && (n.prototype.scrollPageIntoView = function (t) { 734 var e = this.divContainer.find(".pdfemb-pagescontainer"); 735 0 != (t = e.find(".pdfemb-page" + t)).length && (t = t.position(), e[0].scrollTop += t.top) 736 }, n.prototype.getTopVisiblePageNum = function () { 737 var pagesContainer = this.divContainer.find('.pdfemb-pagescontainer'); 738 var innerdivs = pagesContainer.find('.pdfemb-inner-div'); 739 740 var max = innerdivs.length, 741 min = 0, c = 0; 742 var marginOfError = (this.divContainer.height() / 10) * (this.zoom / 100); 743 744 while (max > min && c < 50) { 745 ++c; 746 747 var i = min + Math.floor((max - min) / 2); 748 var innerdiv = innerdivs[i]; 749 var top = Math.floor($(innerdiv).position().top); 750 751 if (top < marginOfError) { 752 min = i; 753 } else if (top > marginOfError) { 754 max = i; 755 } else { 756 return i + 1; // Adjust back to 1-based page nums 757 } 758 } 759 760 return min + 1; // Adjust back to 1-based page nums 761 }), n.prototype.pdfembWantMobile = function (t, e) { 762 return "on" != (e = this.divContainer).data("fullScreen") && (e = parseInt(e.data("mobile-width"), 10), (isNaN(e) || 0 > e) && (e = 500), t < e) 763 }, n.prototype.pdfembMakeMobile = function () { 764 var e = this.wantMobile, 765 n = this.divContainer; 766 if (n.find("div.pdfemb-pagescontainer"), e) { 767 if (0 == n.find(".pdfemb-wantmobile").length) { 768 e = t("<div></div>", { 769 class: "pdfemb-inner-div-wantmobile pdfemb-wantmobile" 770 }); 771 var o = t("<div></div>", { 772 class: "pdfemb-wantmobile-fsarea" 773 }), 774 i = t("<div></div>", { 775 class: "pdfemb-inner-div-wantmobile-fswrap pdfemb-wantmobile" 776 }).append(o.append(document.createTextNode(wpfd_pdfemb_trans.objectL10n.viewinfullscreen))); 777 this.bindFullScreen(o), n.prepend(e), n.prepend(i), n.find(".pdfemb-toolbar-fixed").hide(), n.find(".pdfemb-toolbar-hover").data("no-hover", !0) 778 } 779 } else n.find(".pdfemb-wantmobile").remove(), n.find(".pdfemb-toolbar-fixed").show(), n.find(".pdfemb-toolbar-hover").data("no-hover", !1) 780 }, e.prototype.addMoreToolbar = function (e) { 781 var n = this, 782 o = n.divContainer; 783 if ("on" == o.data("download")) { 784 var i = t('<button class="pdfemb-download" title="' + wpfd_pdfemb_trans.objectL10n.download + '" type="button"></button>'), 785 a = o.data("pdf-url"); 786 a && (i.on("click", function (t) { 787 n.download(a, o.data("download-nonce"), o.data("tracking")) 788 }), e.append(i)) 789 } 790 i = t('<button class="pdfemb-fs" title="' + wpfd_pdfemb_trans.objectL10n.fullscreen + '" type="button"></button>'), "on" == o.data("fullScreen") ? (i.addClass("pdfemb-toggled"), i.on("click", function (t) { 791 o.closest(".pdfemb-fsp-wrapper").trigger("closePopup"), o.data("fullScreenClosed", "true") 792 })) : n.bindFullScreen(i), e.append(i); 793 var r = e.find("div.pdfemb-page-area"), 794 s = r.find("span.pdfemb-page-num"); 795 e = function () { 796 var e = t("<input />", { 797 type: "text", 798 class: "pdfemb-page-num" 799 }); 800 e.on("keyup", function (t) { 801 (keyCode = t.keyCode ? t.keyCode : 13 == t.which) && (t = parseInt(e.val()), !isNaN(t) && 0 < t && o.trigger("pdfembGotopage", t)) 802 }), e.val(s.text()), s.replaceWith(e), r.off("click") 803 }, "on" == o.data("pagetextbox") ? e() : r.on("click", e) 804 }, e.prototype.download = function (t, e, n) { 805 void 0 !== e && "" != e && (t += "&pdfemb-nonce=" + e), setTimeout(function () { 806 window.open(t) 807 }, 100), "on" == n && jQuery.post(wpfd_pdfemb_trans.ajaxurl, { 808 action: "pdfemb_count_download", 809 pdf_url: t 810 }, function (t) { 811 }) 812 }, e.prototype.bindFullScreen = function (e) { 813 var n = this, 814 o = n.divContainer; 815 e.fullScreenPopup({ 816 popup: function () { 817 var e = n.pdfDoc, 818 i = n.currentPageNum, 819 a = o.data("showIsSecure"), 820 r = o.data("pdf-url"), 821 s = o.data("scrollbar"), 822 d = o.data("download"), 823 c = o.data("tracking"), 824 p = o.data("newwindow"), 825 l = o.data("scrolltotop"), 826 h = o.data("download-nonce"), 827 u = o.data("disablerightclick"), 828 f = o.data("pagetextbox"), 829 m = o.data("startzoom"), 830 v = o.data("startfpzoom"),
831 g = t('<div class="pdfemb-viewer"></div>'); 832 return g.data("pdfDoc", e), g.data("pagenum", i), g.data("showIsSecure", a), g.data("pdf-url", r), g.data("scrollbar", s), g.data("download", d), g.data("tracking", c), g.data("newwindow", p), g.data("scrolltotop", l), g.data("disablerightclick", u), g.data("pagetextbox", f), g.data("startzoom", m), g.data("startfpzoom", v), g.data("width", "max"), g.data("height", "auto"), g.data("toolbar", "bottom"), g.data("toolbar-fixed", "on"), g.data("fullScreen", "on"), void 0 !== h && g.data("download-nonce", h), g.pdfEmbedder(), t(document).on("keyup", function (t) { 833 var e = g.find(".pdfemb-pagescontainer"); 834 if (33 == (t = t.keyCode ? t.keyCode : t.which)) e.trigger("pdfembGotoAction", "PrevPage"); 835 else if (34 == t) e.trigger("pdfembGotoAction", "NextPage"); 836 else if (37 <= t && 40 >= t) { 837 var n = document.createEvent("Event"); 838 n.initEvent("pdfembKeyboardPan", !0, !1), n.detail = { 839 keyCode: t 840 }, g.find(".grab-to-pan-grab").each(function (t, e) { 841 e.dispatchEvent(n) 842 }) 843 } else 187 == t || 109 == t || 61 == t || 43 == t ? e.trigger("changeZoom", 10) : (189 == t || 107 == t || 45 == t || 173 == t) && e.trigger("changeZoom", -10) 844 }), g 845 }, 846 close: !1, 847 mainWrapperClass: "pdfemb-fsp-wrapper", 848 contentWrapperClass: "pdfemb-fsp-content", 849 inlineStyles: !1 850 }) 851 }, e.prototype.jumpToTop = function () { 852 var t = this.divContainer; 853 0 < t.length && "scrollIntoView" in t[0] && "on" == t.data("scrolltotop") && t[0].scrollIntoView() 854 }, e.prototype.preRenderCanvas = function (e, n, o) { 855 var i = this.divContainer; 856 if (o = wpfd_pdfemb_trans.watermark_map, t.isArray(o) && 0 != o.length && -1 !== i.data("pdf-url").search("/?pdfemb-serveurl=") && (void 0 === wpfd_pdfemb_trans.watermark_evenpagesonly || !wpfd_pdfemb_trans.watermark_evenpagesonly || 0 == n % 2)) { 857 n = 5, i = 10; 858 for (var a, r = "center", s = 45, d = 0; d < o.length; ++d) { 859 var c = o[d]; 860 if (t.isArray(c) && 1 <= c.length) { 861 var p = c[0]; 862 if (e.save(), e.lineWidth = 1, e.fillStyle = "#444444", e.lineStyle = "#111111", e.textAlign = "left", e.font = "20pt sans-serif", e.globalAlpha = .1, 2 <= c.length && (n = c[1], 3 <= c.length && (i = c[2], 4 <= c.length && (r = c[3], 5 <= c.length && (s = c[4], 6 <= c.length && (a = c[5], e.font = Math.round(e.canvas.width / 1e3 * a * 100) / 100 + "pt sans-serif", 7 <= c.length && "object" == typeof c[6])))))) 863 for (var l in a = c[6]) e[l] = a[l]; 864 var h = e.measureText(p).width; 865 c = e.canvas.height * i / 100, "left" == r ? (a = e.canvas.width * n / 100, h = 0) : "right" == r ? (a = e.canvas.width * (1 - n / 100), h = -h) : (a = e.canvas.width / 2, h = -h / 2), e.translate(a, c), e.rotate(-Math.PI * s / 360), e.fillText(p, h, 0), e.restore(), i += 10 866 } 867 } 868 } 869 }, PDFEMB_NS.pdfembPagesViewerUsable = n; 870 var o = function () { 871 function t(t) { 872 this.pageDiv = t.pageDiv, this.pdfPage = t.pdfPage, this.linkService = t.linkService, this.div = null 873 } 874 875 return t.prototype = { 876 setupAnnotations: function (t, e) { 877 var n = this.pdfPage, 878 o = this; 879 n.getAnnotations({ 880 intent: "display" 881 }).then(function (i) { 882 t = t.clone({ 883 dontFlip: !0 884 }), parameters = { 885 viewport: t, 886 div: o.pageDiv, 887 annotations: i, 888 page: n, 889 linkService: o.linkService 890 }, o.div ? PDFJS.AnnotationLayer.update(parameters) : 0 !== i.length && (o.div = document.createElement("div"), o.div.className = "annotationLayer pdfembAnnotationLayer", o.pageDiv.appendChild(o.div), parameters.div = o.div, PDFJS.AnnotationLayer.render(parameters), "undefined" != typeof mozL10n && mozL10n.translate(o.div), i = o.pageDiv.getElementsByTagName("canvas")[0], o.div.style.left = i.style.left, o.div.style.top = i.style.top, jQuery(o.div).find("a").each(function (t, n) { 891 "on" == e && (n.target = "_blank"), n.title = "", jQuery(n).on("touchstart", function (t) { 892 t.stopPropagation() 893 }) 894 })) 895 }) 896 }, 897 hide: function () { 898 this.div && this.div.setAttribute("hidden", "true") 899 } 900 }, t 901 }(); 902 PDFEMB_NS.pdfembPremiumAnnotationsLayerFactory = function () { 903 }, PDFEMB_NS.pdfembPremiumAnnotationsLayerFactory.prototype = { 904 createAnnotationsLayerBuilder: function (t, e) { 905 return new o({ 906 pageDiv: t, 907 pdfPage: e, 908 linkService: new i(t) 909 }) 910 } 911 }; 912 var i = function () { 913 function t(t) { 914 this.pageDiv = t 915 } 916 917 return t.prototype = { 918 navigateTo: function (t) { 919 t && jQuery(this.pageDiv).parent().trigger("pdfembGotoHash", { 920 dest: t 921 }) 922 }, 923 getDestinationHash: function (t) { 924 return "#" 925 }, 926 getAnchorUrl: function (t) { 927 return "#" 928 }, 929 setHash: function (t) { 930 }, 931 executeNamedAction: function (t) { 932 t && jQuery(this.pageDiv).parent().trigger("pdfembGotoAction", t) 933 }, 934 cachePageRef: function (t, e) { 935 } 936 }, t 937 }(), 938 a = function () { 939 function t(t) { 940 this.pageDiv = t.pageDiv, this.pdfPage = t.pdfPage, this.linkService = t.linkService, this.div = null 941 } 942 943 return t.prototype = { 944 setupText: function (t) { 945 var e = this.pdfPage, 946 n = this; 947 e.getTextContent({}).then(function (o) { 948 if (t = t.clone({ 949 dontFlip: !1 950 }), parameters = { 951 viewport: t, 952 textContent: o, 953 page: e, 954 enhanceTextSelection: !0 955 }, 0 !== o.length) { 956 if (0 < (o = n.pageDiv.getElementsByClassName("pdfembTextLayer")).length) 957 for (n.div = o[0]; n.div.firstChild;) n.div.removeChild(n.div.firstChild); 958 else n.div = document.createElement("div"), n.div.className = "textLayer pdfembTextLayer", n.pageDiv.appendChild(n.div); 959 parameters.container = n.div, PDFJS.renderTextLayer(parameters), "undefined" != typeof mozL10n && mozL10n.translate(n.div) 960 } 961 }) 962 }, 963 hide: function () { 964 this.div && this.div.setAttribute("hidden", "true") 965 } 966 }, t 967 }(); 968 PDFEMB_NS.pdfembPremiumTextLayerFactory = function () { 969 }, PDFEMB_NS.pdfembPremiumTextLayerFactory.prototype = { 970 createTextLayerBuilder: function (t, e) { 971 return new a({ 972 pageDiv: t, 973 pdfPage: e, 974 linkService: new i(t) 975 }) 976 } 977 }, PDFEMB_NS.pdfembCustomStyle = function () { 978 function t() { 979 } 980 981 var e = ["ms", "Moz", "Webkit", "O"], 982 n = {}; 983 return t.getProp = function (t, o) { 984 if (1 === arguments.length && "string" == typeof n[t]) return n[t]; 985 var i = (o = o || document.documentElement).style; 986 if ("string" == typeof i[t]) return n[t] = t; 987 for (var a = t.charAt(0).toUpperCase() + t.slice(1), r = 0, s = e.length; r < s; r++) { 988 var d = e[r] + a; 989 if ("string" == typeof i[d]) return n[t] = d 990 } 991 return n[t] = "undefined" 992 }, t.setProp = function (t, e, n) { 993 "undefined" !== (t = this.getProp(t)) && (e.style[t] = n) 994 }, t 995 }() 996}), PDFEMB_NS.pdfembGetPDF = function (t, e) { 997 if(typeof t !== "undefined") { 998 -1 == t.search("/?pdfemb-serveurl=") ? e(t, !1) : (PDFEMB_NS.pdfembAddAj
998axBufferTransport(), jQuery.ajax({ 999 dataType: "arraybuffer", 1000 type: "POST", 1001 url: t 1002 }).done(function (t) { 1003 PDFEMB_NS.pdfemb_rc4ab(wpfd_pdfemb_trans.k, t), t = new Uint8Array(t), e(t, wpfd_pdfemb_trans.is_admin) 1004 }).fail(function (t, n, o) { 1005 e(null, wpfd_pdfemb_trans.is_admin) 1006 })) 1007 } 1008}, PDFEMB_NS.pdfembAddAjaxBufferTransport_added = !1, PDFEMB_NS.pdfembAddAjaxBufferTransport = function () { 1009 PDFEMB_NS.pdfembAddAjaxBufferTransport_added || (PDFEMB_NS.pdfembAddAjaxBufferTransport_added = !0, jQuery.ajaxTransport("+*", function (t, e, n) { 1010 if (window.FormData && (t.dataType && ("blob" == t.dataType || "arraybuffer" == t.dataType) || t.data && (window.Blob && t.data instanceof Blob || window.ArrayBuffer && t.data instanceof ArrayBuffer))) return { 1011 send: function (e, n) { 1012 var o = new XMLHttpRequest; 1013 e = t.url || window.location.href; 1014 var i = t.type || "GET", 1015 a = t.dataType || "text", 1016 r = t.data || null, 1017 s = t.async || !0; 1018 o.addEventListener("load", function () { 1019 var t = {}; 1020 t[a] = o.response, n(o.status, o.statusText, t, o.getAllResponseHeaders()) 1021 }), o.open(i, e, s), o.responseType = a, o.send(r) 1022 }, 1023 abort: function () { 1024 n.abort() 1025 } 1026 } 1027 })) 1028}, PDFEMB_NS.pdfemb_rc4ab = function (t, e) { 1029 var n = [], 1030 o = 0, 1031 i = new DataView(e), 1032 a = 0; 1033 239 == i.getUint8(0) && 187 == i.getUint8(1) && 191 == i.getUint8(2) && (a = 3); 1034 for (var r = 0; 256 > r; r++) n[r] = r; 1035 for (r = 0; 256 > r; r++) { 1036 o = (o + n[r] + t.charCodeAt(r % t.length)) % 256; 1037 var s = n[r]; 1038 n[r] = n[o], n[o] = s 1039 } 1040 for (o = r = 0, t = a; t < e.byteLength; t++) o = (o + n[r = (r + 1) % 256]) % 256, s = n[r], n[r] = n[o], n[o] = s, input = i.getUint8(t), output = input ^ n[(n[r] + n[o]) % 256], i.setUint8(t, output) 1041}, jQuery(document).ready(function (t) { 1042 if (typeof PDFJS === "undefined") { 1043 return; 1044 } 1045 t.fn.pdfEmbedder = function () { 1046 return this.each(function (e, n) { 1047 if ((e = t(n)).is("a")) { 1048 n = e.data(); 1049 var o = t("<div></div>", { 1050 class: e.attr("class"), 1051 style: e.attr("style") 1052 }); 1053 o.data(t.extend({ 1054 "pdf-url": e.attr("href") 1055 }, n)), e.replaceWith(o) 1056 } else o = e; 1057 o.append(t("<div></div>", { 1058 class: "pdfemb-loadingmsg" 1059 }).append(document.createTextNode(wpfd_pdfemb_trans.objectL10n.loading))), "on" == o.data("disablerightclick") && o.bind("contextmenu", function (t) { 1060 t.preventDefault() 1061 }); 1062 var i = function (t, e) { 1063 new PDFEMB_NS.pdfembPagesViewerUsable(t, o, e).setup() 1064 }; 1065 e = function (e, n) { 1066 null === e ? o.empty().append(t("<div></div>", { 1067 class: "pdfemb-errormsg" 1068 }).append(msgnode = t("<span></span>").append(document.createTextNode("Failed to load and decrypt PDF")))) : PDFJS.getDocument(e).then(function (t) { 1069 i(t, n) 1070 }, function (e) { 1071 var n = document.createTextNode(e.message); 1072 "UnknownErrorException" == e.name && "Failed to fetch" == e.message && (n = t("<span></span>").append(document.createTextNode(e.message + " " + wpfd_pdfemb_trans.objectL10n.domainerror + " ")).append(t('<a href="https://www.joomunited.com/documentation/wp-media-folder-documentation" target="_blank">' + wpfd_pdfemb_trans.objectL10n.clickhereinfo + "</a>"))), o.empty().append(t("<div></div>", { 1073 class: "pdfemb-errormsg" 1074 }).append(n)) 1075 }) 1076 }, o.data("pdfDoc") ? i(o.data("pdfDoc"), o.data("showIsSecure")) : (n = o.data("pdf-url"), PDFEMB_NS.pdfembGetPDF(n, e)) 1077 }), this 1078 }, PDFJS.workerSrc = wpfd_pdfemb_trans.worker_src, PDFJS.cMapUrl = wpfd_pdfemb_trans.cmap_url, PDFJS.cMapPacked = !0, t(".wpfd-pdfemb-viewer").pdfEmbedder() 1079});
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.