解密后的 krpano webvr.js
var krpanoplugin = function () { | |
function vs(e) { | |
return ".yes.on.true.1" [a](("." + e)[m]()) >= 0 | |
} | |
function gs() { | |
ns = 0; | |
if (oi[nr] || Ei) ns = 2; | |
if (ns > 0) { | |
if (ji == 1 && oi[M] && oi[Bn] && (oi[I] | 0) == 65) { | |
var e = r, | |
n = "" + si[g].useragent, | |
i = n[a]("Chrome/65"); | |
if (i > 0) { | |
var f = parseInt(n[$t](i + 7 + 2 + 3, n[a](" ", i))); | |
f > 3325 && (e = t) | |
} | |
e && (si[wn] !== r && (si[wn] = r, si[Wn](2, "The gyroscope support is broken in this Chrome version!"), | |
si[Wn](2, "The gyro or VR control might not work at all or be jerky and delayed!")), ji = 0) | |
} | |
ji == 0 && (ns = 1); | |
if (oi[S] && Ei) setTimeout(bs, 10); | |
else if (oi.ios) setTimeout(function () { | |
ws({ | |
type: ns == 1 ? h : E, | |
accelerationIncludingGravity: {}, | |
rotationRate: {} | |
}) | |
}, 50); | |
else { | |
window[s](ns == 1 ? h : E, ws, t); | |
var l = ui[p] != "" && ui[p] != o; | |
setTimeout(bs, oi[S] ? 10 : l ? 1500 : 3e3) | |
} | |
} else Yi == t && (Yi = r, si[C](ui[p], ui), si[C](u, ui)) | |
} | |
function ys() { | |
Yi == t && (Yi = r, Vi = r, $i = r, Ji = r, Ki = t, Us(), si[C](ui[X], ui), si[C](l, ui)) | |
} | |
function bs() { | |
window[n](h, ws, t), window[n](E, ws, t), oi[S] && Ei ? ys() : Yi == t && (Yi = r, si[C](ui[p], ui), si[C](u, | |
ui)) | |
} | |
function ws(e) { | |
window[n](e[Fr], ws, t), e[Fr] == h || e[Fr] == E && e[Kt] && e.rotationRate ? (Yi = r, Vi = r, $i = r, oi[S] && | |
(Ji = r), Us(), si[C](ui[X], ui), si[C](l, ui)) : oi[S] && Ei ? ys() : Yi == t && (Yi = r, si[C](ui[p], ui), | |
si[C](u, ui)) | |
} | |
function Ds(e) { | |
Vi = t, e[et] > 0 && (Es = e[0], "VRFrameData" in window && (Ss = new VRFrameData), si[Wn](0, "WebVR Display: " + | |
Es.displayName + " (api=" + (Ss ? "1.1" : "1.0") + ", presenting=" + Es[tt] + ", canpresent=" + Es[Z].canPresent + | |
" externaldisplay=" + Es[Z][tr] + ")"), Vi = r, Es && Es[Z] && Es[Z].canPresent), Vi ? (Bi == t && oi[M] && | |
(Ki = r), window[s](Qt, Bs, t), window[s](Tn, Ps, t), window[s](fn, Hs, t), si[C](ui[X], ui), si[C](l, ui)) : | |
oi[S] && Ei ? ys() : oi[nr] && bi ? gs() : Yi == t && (Yi = r, si[C](ui[p], ui), si[C](u, ui)) | |
} | |
function Ps(e) { | |
no() | |
} | |
function Hs(e) { | |
io() | |
} | |
function Bs(e) { | |
si[U][it] = r; | |
var i = si[x][ln], | |
o = si[w][un]; | |
Es[Z][tr] ? Es[tt] ? oi[S] && (ls && i[s](_, go, t), Eo = 5, o[s]($, To, t), document[s](ri, js, t)) : ( | |
document[n](ri, js, t), o[n]($, To, t), i[n](_, go, t), io()) : Es[tt] == t && io() | |
} | |
function js(e) { | |
e.keyCode == 27 && io() | |
} | |
function Fs(e) { | |
var n; | |
for (n = 0; n < e[et]; n++) if (e[n] instanceof HMDVRDevice) { | |
xs = e[n], xs[b] ? (Ns = xs[b](Ut), Cs = xs[b](ft), Ls = Ns[Kr], As = Cs[Kr], Os = Ns[An], Ms = Cs[An]) : | |
xs[jt] && xs[W] && (Ls = xs[jt](Ut), As = xs[jt](ft), Os = xs[W](Ut), Ms = xs[W](ft)); | |
var i = 2 * Math.max(Os.leftDegrees, Os.rightDegrees), | |
s = 2 * Math.max(Os.upDegrees, Os.downDegrees); | |
_s = Math.max(i, s); | |
break | |
} | |
for (n = 0; n < e[et]; n++) if (e[n] instanceof PositionSensorVRDevice) if (xs == o || xs[zr] == e[n][zr]) { | |
Ts = e[n]; | |
break | |
} | |
xs || Ts ? (Vi = r, Bi == t && oi[M] && (Ki = r), si[C](ui[X], ui), si[C](l, ui)) : oi[S] && Ei ? ys() : Yi == | |
t && (Yi = r, si[C](ui[p], ui), si[C](u, ui)) | |
} | |
function qs(e) { | |
Xi = e; | |
if (e) { | |
Is = { | |
imagehfov: si.image.hfov, | |
continuousupdates: si[f][D], | |
usercontrol: si[x][Gt], | |
mousetype: si[x][jn], | |
contextmenu_touch: si[Yn].touch, | |
loadwhilemoving: si[w][G], | |
stereo: si[w][er], | |
stereooverlap: si[w][Ot], | |
hlookat: si[f][P], | |
vlookat: si[f][Sn], | |
camroll: si[f][Gn], | |
fovmin: si[f][tn], | |
fovmax: si[f][en], | |
fisheye: si[f][yt], | |
fov: si[f].fov, | |
maxpixelzoom: si[f][T], | |
fovtype: si[f][gt], | |
stereographic: si[f][A], | |
fisheyefovlink: si[f][N], | |
pannini: si[f][ct], | |
architectural: si[f][y], | |
limitview: si[f][B], | |
area_mode: si[U].mode, | |
area_align: si[U].align, | |
area_x: si[U].x, | |
area_y: si[U].y, | |
area_width: si[U][vt], | |
area_height: si[U][q], | |
maxmem: si.memory[Or] | |
}, si[U].mode = "align", si[U].align = "lefttop", si[U].x = "0", si[U].y = "0", si[U][vt] = "100%", si[U][q] = | |
"100%", si[U][it] = r, si[Yn].touch = t, si[f][D] = r, Ji && oi[S] && !ls ? si[x][jn] = "drag2d" : si[x][ | |
Gt] = Nr, si[w][er] = r, si[w][G] = r, si[f][B] = Nr, si[f][ct] = 0, si[f][y] = 0, si[f][gt] = Jr, | |
si[f][tn] = 0, si[f][en] = 179, si[f][yt] = 0, si[f].fov = _s, si[f][T] = 0, si[f][A] = r, si[f][N] = 0, | |
ss = si[f][P], wo = 0, oi[S] || (ss -= Fo()), vo(); | |
if ($i || Ki) $s(0, 0), Ji && oi[S] && !ls || (si[Q] = r); | |
lo(), ($i || Ki) && Si && po(r), si.set("events[__webvr].keep", r), si.set("events[__webvr].onnewpano", co), | |
si.set("events[__webvr].onresize", ho), ($i || Ki) && vf(r), si[C](ui.onentervr, ui), si[C]( | |
"events.dispatch('webvr_onentervr');", ui) | |
} else { | |
oi[g][O][d] && ai[n](oi[g][O][d], yo); | |
if (Is) { | |
si.set("events[__webvr].name", o), si[f][D] = Is[D], si[x][Gt] = Is[Gt], si[x][jn] = Is[jn], si[Yn].touch = | |
Is.contextmenu_touch, si[w][G] = Is[G], si[w][er] = Is[er], si[w][Ot] = Is[Ot], si[f][Gn] = 0; | |
if (Is.imagehfov == si.image.hfov) si[f][tn] = Is[tn], si[f][en] = Is[en], si[f].fov = Is.fov, si[f][T] = | |
Is[T], si[f][gt] = Is[gt], si[f][B] = Is[B], si[f][yt] = Is[yt], si[f][A] = Is[A], si[f][N] = | |
Is[N], si[f][ct] = Is[ct], si[f][y] = Is[y]; | |
else { | |
var i = si.xml[f]; | |
si[f][tn] = i && !isNaN(Number(i[tn])) ? Number(i[tn]) : 1, si[f][en] = i && !isNaN(Number(i[en])) ? | |
Number(i[en]) : 140, si[f].fov = i && !isNaN(Number(i.fov)) ? Number(i.fov) : 90, si[f][yt] = i && ! | |
isNaN(Number(i[yt])) ? Number(i[yt]) : 0, si[f][ct] = i && !isNaN(Number(i[ct])) ? Number(i[ct]) : | |
0, si[f][y] = i && !isNaN(Number(i[y])) ? Number(i[y]) : 0, si[f][T] = i && !isNaN(Number(i[T])) ? | |
Number(i[T]) : 2, si[f][gt] = i && i[gt] ? i[gt] : "MFOV", si[f][B] = i && i[B] ? i[B] : Jt, si[ | |
f][A] = r, si[f][N] = .5 | |
} | |
si[U].mode = Is.area_mode, si[U].align = Is.area_align, si[U].x = Is.area_x, si[U].y = Is.area_y, si[U][ | |
vt] = Is.area_width, si[U][q] = Is.area_height, si[U][it] = r, si[Ft] = -1, si[mt] = t, si.memory[ | |
Or] = Is[Or], Is = o, Ui && (nu(Ui, t), Ui = o), vf(t), po(t), vo(), si[C](ui.onexitvr, ui), si[C]( | |
"events.dispatch('webvr_onexitvr');", ui) | |
} | |
} | |
} | |
function Us() { | |
if (Rs) return Rs; | |
var e = Yr, | |
n = 0, | |
i = 1536, | |
s = Math.min(screen[vt], screen[q]), | |
u = Math.max(screen[vt], screen[q]), | |
f = window[Vt] || 1, | |
l = t; | |
if (oi.iphone) { | |
var c = si[Jn].context, | |
h = "" + c.getParameter(c.VERSION), | |
p = c.getExtension("WEBGL_debug_renderer_info"); | |
if (p) { | |
var d = c.getParameter(p.UNMASKED_RENDERER_WEBGL); | |
d && (h += " " + d) | |
} | |
u == 568 ? h[a](pn) > 0 ? oi.ipod ? (e = "iPod 6", n = 4) : (e = Gr, n = 4.7) : h[a](gn) > 0 ? (e = | |
"iPhone SE", n = 4) : h[a](rn) > 0 ? (e = Wr, n = 4.7) : h[a](sn) > 0 ? (e = Vr, n = 4.7) : h[a]("SGX") > | |
0 ? (e = "iPhone 5", n = 4, i = 1024) : h[a]("A7 GPU") > 0 ? (e = "iPhone 5S", n = 4, i = 1024) : (e = | |
vn, n = 4.7) : u == 667 ? f == 2 ? (h[a](rn) > 0 ? e = Wr : h[a](sn) > 0 ? e = Vr : h[a](gn) > 0 ? e = | |
xr : h[a](pn) > 0 ? e = Gr : e = vn, n = 4.7) : (h[a](rn) > 0 ? e = br : h[a](sn) > 0 ? e = Dr : h[a]( | |
gn) > 0 ? e = cr : h[a](pn) > 0 ? e = Lr : e = vn, n = 5.5) : u == 736 ? (h[a](rn) > 0 ? e = br : h[a]( | |
sn) > 0 ? e = Dr : h[a](gn) > 0 ? e = cr : h[a](pn) > 0 ? e = Lr : e = vn, n = 5.5) : u == 812 && (e = | |
qt, n = si[w][at] && si[w][at].l != 0 ? 5.8 : 5.33, ki = n) | |
} else if (oi[nr]) { | |
var v = navigator[Nt], | |
g = o, | |
y = v[a]("("), | |
b = v[a](")"); | |
if (y > 0 && b > y) { | |
var E = ("" + v[$t](y + 1, b))[En](";"); | |
if (E[et] > 2) { | |
g = E[E[et] - 1].trim(), g == "wv" && (g = E[E[et] - 2].trim()); | |
var S = g[m]()[a](" build/"); | |
S > 0 && (g = g[$t](0, S)), g = g[En](" ").join("-")[En]("_").join("-")[En]("/").join("-"), g[$t](0, | |
3)[m]() == "rv:" && (g = o) | |
} | |
} | |
if (g) { | |
var x = Xs(g[m]()); | |
x ? (e = x[0], n = Number(x[1])) : oi[M] && g && g[et] > 3 && (l = r, n = 5, Ws(g, function (a, l, c) { | |
if (a != o) { | |
e = g; | |
var h = u * f / c * 25.4, | |
p = s * f / l * 25.4; | |
n = Math[_n](h * h + p * p) / 25.4, Rs = { | |
screendiagonal_inch: n, | |
screenwidth_mm: h, | |
screenheight_mm: p, | |
screenwidth_px: u * f, | |
screenheight_px: s * f, | |
devicename: e, | |
best_res: i | |
}, to() | |
} else Zi == t && (Zi = r, si[C](ui[bt], ui), si[C](R, ui)) | |
})) | |
} | |
} | |
n == 0 && l == t && (Zi == t && (Zi = r, si[C](ui[bt], ui), si[C](R, ui)), Ji ? n = 7 : n = 5); | |
var T = Math[_n](n * n / (1 + s / u * (s / u))) * 25.4, | |
N = T * s / u; | |
return Rs = { | |
screendiagonal_inch: n, | |
screenwidth_mm: T, | |
screenheight_mm: N, | |
screenwidth_px: u * f, | |
screenheight_px: s * f, | |
devicename: e, | |
best_res: i | |
}, Rs | |
} | |
function zs(e, n, i, s) { | |
if (!e.ua && !e.res) return t; | |
if (e.ua && n[a](e.ua) < 0) return t; | |
if (e.res) { | |
if (!e.res[0] || !e.res[1]) return t; | |
var o = e.res[0], | |
u = e.res[1]; | |
if (Math.min(i, s) != Math.min(o, u) || Math.max(i, s) != Math.max(o, u)) return t | |
} | |
return r | |
} | |
function Ws(e, t) { | |
if (Ii == o || Ii == "" || Ii == "null") { | |
t(o); | |
return | |
} | |
var n = new XMLHttpRequest; | |
n.open("GET", Ii, r), n[s]("load", function () { | |
if (n.status >= 200 && n.status <= 299) { | |
try { | |
var e = JSON.parse(n.response); | |
if (e.format == 1 && e[Tr] && e[Tr][et] > 0) { | |
var r = navigator[Nt] || navigator.vendor || window.opera, | |
i = Math.max(window.screen[vt], window.screen[q]) * window[Vt], | |
s = Math.min(window.screen[vt], window.screen[q]) * window[Vt]; | |
for (var u = 0; u < e[Tr][et]; u++) { | |
var a = e[Tr][u]; | |
if (a.rules && a[Fr] == M) for (var f = 0; f < a.rules[et]; f++) { | |
var l = a.rules[f]; | |
if (zs(l, r, i, s)) { | |
var c = a.dpi[0] || a.dpi, | |
h = a.dpi[1] || a.dpi; | |
t(a, c, h); | |
return | |
} | |
} | |
} | |
} | |
} catch (p) { | |
si[Wn](0, "database loading/parsing error: " + p) | |
} | |
t(o) | |
} else t(o) | |
}), n.send() | |
} | |
function Xs(e) { | |
var t = { | |
"sm-n750": ["Note 3 Neo", 5.5], | |
"sm-n900": ["Note 3", 5.7], | |
"sm-n910": ["Note 4", 5.7], | |
"sm-n916": ["Note 4", 5.7], | |
"sm-n920": ["Note 5", 5.7], | |
"sm-n915": ["Note Edge", 5.6], | |
"gt-i930": [Pr, 4.7], | |
"gt-i950": [Hr, 4.7], | |
"galaxy-s3": [Pr, 4.7], | |
"galaxy-s4": [Hr, 4.7], | |
"sc-04f": [Et, 5.1], | |
"[scl23": [Et, 5.1], | |
"sm-g530": ["Galaxy Grand Prime", 5], | |
"sm-g720": ["Galaxy Grand Max", 5.25], | |
"sm-g800": ["Galaxy S5 Mini", 4.5], | |
"sm-g850": ["Galaxy Alpha", 4.7], | |
"sm-g860": ["Galaxy S5 Sport", 5.1], | |
"sm-g870": ["Galaxy S5 Active", 5.1], | |
"sm-g890": ["Galaxy S6 Active", 5.1], | |
"sm-g903": ["Galaxy S5 Neo", 5.1], | |
"sm-g900": [Et, 5.1], | |
"sm-g906": [Et, 5.1], | |
"sm-g901": ["Galaxy S5+", 5.1], | |
"sm-g920": ["Galaxy S6", 5.1], | |
"sm-g925": ["Galaxy S6 Edge", 5.1], | |
"sm-g928": ["Galaxy S6+ Edge", 5.7], | |
"sm-g930": ["Galaxy S7", 5.1], | |
"sm-g935": ["Galaxy S7 Edge", 5.5], | |
"sm-g950": ["Galaxy S8", 5.8], | |
"sm-g955": ["Galaxy S8+", 6.2], | |
"sm-a300": [wr, 4.5], | |
"sm-a310": [wr, 4.7], | |
"sm-a500": [Er, 5], | |
"sm-a510": [Er, 5.2], | |
"sm-a700": [Sr, 5.5], | |
"sm-a710": [Sr, 5.5], | |
"sm-a800": ["Galaxy A8", 5.7], | |
"sm-a900": ["Galaxy A9", 6], | |
"sm-e500": ["Galaxy E5", 5], | |
"sm-e700": ["Galaxy E7", 5.5], | |
"sm-j320": ["Galaxy J3", 5], | |
"sm-j500": ["Galaxy J5", 5], | |
"sm-j700": ["Galaxy J7", 5.5], | |
c6916: ["Xperia Z1s", 5], | |
c6902: [Ct, 5], | |
c6903: [Ct, 5], | |
c6906: [Ct, 5], | |
c6943: [Ct, 5], | |
c6802: [wt, 6.4], | |
c6806: [wt, 6.4], | |
c6833: [wt, 6.4], | |
d5503: ["Xperia Z1 Compact", 4.3], | |
d2533: ["Xperia C3", 5.5], | |
d6563: ["Xperia Z2a", 5], | |
d5322: ["Xperia T2", 6], | |
d5803: [Cn, 4.6], | |
d5833: [Cn, 4.6], | |
d6603: [Tt, 5.2], | |
d6633: [Tt, 5.2], | |
d6653: [Tt, 5.2], | |
d6708: [Tt, 5.2], | |
e5633: [xt, 5], | |
e5643: [xt, 5], | |
e5653: [xt, 5], | |
e5663: [xt, 5], | |
e5303: [j, 5.5], | |
e5306: [j, 5.5], | |
e5333: [j, 5.5], | |
e5343: [j, 5.5], | |
e5353: [j, 5.5], | |
e5363: [j, 5.5], | |
e5506: [Lt, 6], | |
e5533: [Lt, 6], | |
e5553: [Lt, 6], | |
e5563: [Lt, 6], | |
e6508: ["Xperia Z4v", 5.2], | |
e6533: ["Xperia Z3+", 5.2], | |
e6603: [Ar, 5.2], | |
"xperia-z4": ["Xperia Z4", 5.2], | |
"xperia-z5": [Ar, 5.2], | |
"so-02h": ["Xperia Z5 Compact", 4.6], | |
"so-03h": ["Xperia Z5 Premium", 5.5], | |
"lg-d80": [Pn, 5.2], | |
"lg-f320": [Pn, 5.2], | |
"[vs980": [Pn, 5.2], | |
"lg-ls980": [Pn, 5.2], | |
"lg-d85": [z, 5.5], | |
lgls990: [z, 5.5], | |
lgus990: [z, 5.5], | |
"lg-as990": [z, 5.5], | |
"lg-fs400": [z, 5.5], | |
"lg-fs460": [z, 5.5], | |
lgv31: [z, 5.5], | |
"[as985": [z, 5.5], | |
"[vs985": [z, 5.5], | |
"lg-f460": ["LG G3 Prime", 5.5], | |
"lg-d690": ["LG G3 Stylus", 5.5], | |
"lg-d722": [nn, 5], | |
"lg-d724": [nn, 5], | |
"lg-d725": [nn, 5], | |
"lg-d728": [nn, 5], | |
"lg-h525": ["LG G4c", 5], | |
"lg-h735": ["LG G4 Beat", 5.5], | |
"lg-as811": [L, 5.5], | |
"lg-as991": [L, 5.5], | |
"lg-f500": [L, 5.5], | |
"lg-h810": [L, 5.5], | |
"lg-h811": [L, 5.5], | |
"lg-h812": [L, 5.5], | |
"lg-h815": [L, 5.5], | |
"lg-h818": [L, 5.5], | |
"lg-h819": [L, 5.5], | |
lgus991: [L, 5.5], | |
lgls991: [L, 5.5], | |
"[as986": [L, 5.5], | |
"[vs986": [L, 5.5], | |
h830: [gr, 5.3], | |
h840: [gr, 5.3], | |
h850: [gr, 5.3], | |
"lg-e98": [Ln, 5.5], | |
"lg-f240": [Ln, 5.5], | |
"lg-h420": [Br, 4.7], | |
"lg-h440": [Br, 4.7], | |
"lg-h500": [kn, 5], | |
"lg-h502": [kn, 5], | |
"lg-h520": [kn, 5], | |
"lg-h540": [k, 5.7], | |
"lg-h542": [k, 5.7], | |
"lg-h630": [k, 5.7], | |
"lg-h631": [k, 5.7], | |
"lg-h635": [k, 5.7], | |
lgms631: [k, 5.7], | |
"lg-f600": [ut, 5.7], | |
"lg-h900": [ut, 5.7], | |
"lg-h901": [ut, 5.7], | |
"lg-h961": [ut, 5.7], | |
"lg-h962": [ut, 5.7], | |
"[vs990": [ut, 5.7], | |
"lg-d95": [hn, 6], | |
"lg-fs340": [hn, 6], | |
"lg-ls995": [hn, 6], | |
"lg-f510": [F, 5.5], | |
"lg-h95": [F, 5.5], | |
lgas995: [F, 5.5], | |
lgls996: [F, 5.5], | |
lgus996: [F, 5.5], | |
"htc-x9u": ["HTC One X9", 5.5], | |
"htc-m9p": [lr, 5.2], | |
"htc-one-m9p": [lr, 5.2], | |
"htc-one-m9": [an, 5], | |
"htc-m9u": [an, 5], | |
htc6535: [an, 5], | |
"htc-m8s": [mr, 5], | |
"htc-one-e8": [mr, 5], | |
"htc-m8": [ot, 5], | |
"htc-one-m8": [ot, 5], | |
"htc-0p6b": [ot, 5], | |
htc6525: [ot, 5], | |
"htc-a9": [hr, 5], | |
"htc-one-a9": [hr, 5], | |
"htc-one-e9": [yr, 5.5], | |
"htc-d826": [yr, 5.5], | |
"htc-desire-eye": ["HTC Desire Eye", 5.2], | |
"htc-d728": [Rn, 5.5], | |
"htc-desire-728": [Rn, 5.5], | |
"htc-d626": [In, 5], | |
"htc-d630": [In, 5], | |
"htc-d828": ["HTC Desire 828", 5.5], | |
"htc-desire-820": ["HTC Desire 820", 5.5], | |
"htc-b830x": ["HTC Butterfly 3", 5.2], | |
"htc-one]": [ei, 4.7], | |
"htcone]": [ei, 4.7], | |
moto3: ["Moto G Turbo", 5], | |
xt105: [cn, 4.7], | |
xt106: [cn, 4.7], | |
xt108: [cn, 4.7], | |
xt109: [cn, 4.7], | |
xt1021: [ar, 5.5], | |
xt1563: [ar, 5.5], | |
xt157: ["Moto X Style", 5.7], | |
xt125: ["Moto Droid Turbo", 5.2], | |
xt1580: ["Moto X Force", 5.4], | |
xt1585: ["Moto Droid Turbo 2", 5.4], | |
"mt8-": ["Mate 8", 6], | |
"mt7-": ["Mate 7", 6], | |
"crr-": ["Mate S", 5.5], | |
"hol-u19": ["Honor Holly", 5], | |
"chm-u": ["Honor 4C", 5], | |
"che1-": [Ir, 5.5], | |
"che2-": [Ir, 5.5], | |
"kiw-tl00h": ["Honor 5X", 5.5], | |
"h60-l01": ["Honor 6", 5], | |
"pe-tl10": [Qr, 5.5], | |
"pe-ul00": [Qr, 5.5], | |
"plk-l01": [ni, 5.2], | |
"plk-ul00": [ni, 5.2], | |
"ath-al00": ["Honor 7i", 5.2], | |
"tit-": ["Enjoy 5", 5], | |
"ale-l21": ["P8lite", 5], | |
"ale-ul00": ["P8lite", 5], | |
"gra-l09": ["P8", 5.2], | |
"gra-ul10": ["P8", 5.2], | |
p8max: ["P8max", 6.8], | |
"p7-l": ["P7", 5], | |
"p6-u06": ["P6", 4.7], | |
"rio-l01": ["G8", 5.5], | |
"g7-tl00": ["G7", 5.5], | |
"rio-al00": ["G7+", 5.5], | |
"scc-u21": ["Y6", 5], | |
"scl-l21": ["Y6", 5], | |
"hol-t00": ["3C", 5], | |
a7010: ["Vibe K4 Note", 5.5], | |
x3a40: ["Vibe X3", 5.5], | |
"k50-t5": ["K3 Note", 5.5], | |
a7000: ["A7000", 5.5], | |
a6000: ["A6000", 5.5], | |
"redmi-note-3": ["Redmi Note 3", 5.5], | |
"redmi-note-2": ["Redmi Note 2", 5.5], | |
"redmi-3": ["Redmi 3", 5], | |
"redmi-2": ["Redmi 2", 4.7], | |
"mi-4": ["Mi 4", 5], | |
"mi-3": ["Mi 3", 5], | |
"mi-note": ["Mi Note", 5.7], | |
ze551ml: ["Zenfone 2", 5.5], | |
ze601kl: [lt, 6], | |
z011d: [lt, 6], | |
ze551kl: [lt, 5.5], | |
zd551kl: [$n, 5.5], | |
z00ud: [$n, 5.5], | |
zx550: [Zn, 5.5], | |
zx551ml: [Zn, 5.5], | |
"one a2003": ["OnePlus 2", 5.5], | |
"[one]": [Y, 5.5], | |
a0001: [Y, 5.5], | |
e1003: ["OnePlus X", 5], | |
a2001: [Y, 5.5], | |
a2005: [Y, 5.5], | |
"lumia-520": ["Lumia 520", 4], | |
"lumia-535": ["Lumia 535", 5], | |
"lumia-540": ["Lumia 540", 5], | |
"lumia-550": ["Lumia 550", 4.7], | |
"lumia-630": ["Lumia 630", 4.5], | |
"lumia-635": ["Lumia 635", 4.5], | |
"lumia-640-xl": ["Lumia 640 XL", 5.7], | |
"lumia-640": ["Lumia 640", 5], | |
"lumia-730": ["Lumia 730", 4.7], | |
"lumia-735": ["Lumia 735", 4.7], | |
"lumia-830": ["Lumia 830", 5], | |
"lumia-930": ["Lumia 930", 5], | |
"lumia-950-xl": ["Lumia 950 XL", 5.7], | |
"lumia-950": ["Lumia 950", 5.2], | |
"lumia-1020": ["Lumia 1020", 4.5], | |
"lumia-1320": ["Lumia 1320", 6], | |
"lumia-1520": ["Lumia 1520", 6], | |
"nexus-4": ["Nexus 4", 4.7], | |
"nexus-5x": [qr, 5.2], | |
"nexus-5": ["Nexus 5", 5], | |
"lg-h791": [qr, 5.2], | |
"nexus-6p": ["Nexus 6P", 5.7], | |
"nexus-6": ["Nexus 6", 5.96], | |
"[list-end]": [Yr, 5] | |
}; | |
e = "[" + e + "]"; | |
for (dev in t) if (e[a](dev) >= 0) { | |
var n = t[dev]; | |
return Array.isArray(n) || (n = t[n]), n | |
} | |
return o | |
} | |
function Vs() { | |
Ai < 1 ? Ai = 1 : Ai > 179.9 && (Ai = 179.9), Oi < 0 ? Oi = 0 : Oi > 5 && (Oi = 5); | |
var e = Mi[En]("|"), | |
t; | |
for (t = 0; t < 4; t++) { | |
var n = Number(e[t]); | |
isNaN(n) && (n = t == 0 ? 1 : 0), _i[t] = n | |
} | |
Di = _i[0] != 1 || _i[1] != 0 || _i[2] != 0 || _i[3] != 0, es[c] && ($i || Ki) && ($s(0, 0), vf(r)) | |
} | |
function $s(e, n) { | |
var i = Us(), | |
s = 0, | |
o = 0, | |
u = si[Jn].canvas; | |
if (u) { | |
var a = Number(si[w].framebufferscale); | |
s = u[vt], o = u[q], !isNaN(a) && a != 0 && (s /= a, o /= a) | |
} | |
if (e <= 0 || n <= 0) e = s, n = o; | |
var f = Ai, | |
l = Oi; | |
f = Math.tan(f * .5 * ps), l = Math.exp(l) - 1; | |
var c = Math.atan(f) * 2 / 2, | |
h = l * 1e3, | |
p = 1e3, | |
d = p * Math.sin(c), | |
v = p * Math.cos(c), | |
m = 2 * Math.atan(d / (h + v)); | |
f = Math.tan(m / 2); | |
var g = l, | |
y = Ci; | |
y /= Li; | |
var b = i.screenwidth_mm, | |
E = i.screenheight_mm; | |
if (ki > 0) { | |
var S = Math.min(screen[vt], screen[q]), | |
x = Math.max(screen[vt], screen[q]); | |
b = Math[_n](ki * ki / (1 + S / x * (S / x))) * 25.4, E = b * S / x | |
} | |
var T = b / 2 - y, | |
N = 2 * (T / b), | |
C = e, | |
k = n, | |
L = i.screenwidth_px, | |
A = i.screenheight_px, | |
O = r; | |
if (Ji || oi.tablet || n > e) O = t; | |
C <= 0 && (C = s), k <= 0 && (k = o); | |
var M = E / 70.9, | |
_ = f; | |
_ *= M, os = M / .69, O && (_ *= k / A, N = 2 * (b * (C / L) / 2 - y) / (b * (C / L))); | |
var D = 2 * Math.atan(_) * ds; | |
us = D, as = g, fs = N, Js() | |
} | |
function Js() { | |
var e = si[f]; | |
us > 0 && (e[yt] = as, e.fov = us, e[tn] = us, e[en] = us, e[T] = 0, e[gt] = Jr, e[A] = r, e[N] = 0, e[B] = Nr, | |
e[y] = 0, e[ct] = 0, si[w][Ot] = fs) | |
} | |
function Ks() { | |
var e = si[f]; | |
e[gt] = Jr, e[B] = Nr, e[A] = r, e[N] = 0, e[y] = 0, e[ct] = 0, e[tn] = 0, e[en] = 179, e.fov = _s, e[yt] = 0, | |
e[T] = 0 | |
} | |
function Qs() { | |
return oi[S] && xs && xs.deviceName ? xs.deviceName : (Us(), Rs ? Rs[K] : "") | |
} | |
function Gs() { | |
return Rs ? Rs.screendiagonal_inch : 0 | |
} | |
function Ys(e) { | |
if (Rs && Rs[K] == qt) ki = si[w][at] && si[w][at].l != 0 ? 5.8 : 5.33, Vs(); | |
else if (("" + e)[m]() == Jt) ki = 0, Vs(); | |
else { | |
var t = parseFloat(e); | |
if (isNaN(t) || t <= 0) t = 0; | |
ki = t, Vs() | |
} | |
} | |
function Zs() { | |
var e = ki; | |
return e <= 0 ? Jt : e | |
} | |
function eo() { | |
return oi[M] && Gi == t ? si[w][un] : si[Jn].canvas | |
} | |
function to() { | |
es[c] && ($i || Ki) && ($s(0, 0), vf(r)) | |
} | |
function no() { | |
var e = si[Q] == r; | |
if (Vi && Xi == t) if ($i == t) if (Es) { | |
oi[g][O][d] && ai[s](oi[g][O][d], yo); | |
if (Ko()) { | |
yi && oi[S] && Gi == t && si.set(Q, r); | |
var n = { | |
source: si[Jn].canvas | |
}, i = t, | |
o = navigator[Nt][a]("Chrome/51.0."); | |
o > 0 && parseInt(navigator[Nt][$t](o + 12)) < 2701 && (i = r), i == t && (n = [n]), Es.requestPresent( | |
n).then(function () { | |
es[c] = r, qs(r), ts = r; | |
var e = si[w][un]; | |
window.activekrpanowindow = e.id, e.focus() | |
}, function (e) { | |
si[Wn](0, "WebVR requestPresent failed! Using MobileVR fallback..."), $i = r, no() | |
}) | |
} else es[c] = r, ts = t, qs(r), ro(r) | |
} else { | |
var u = eo(); | |
oi[g][O][d] && ai[s](oi[g][O][d], bo), es[c] = r, qs(r), ts = r, Ki = t, Bi == t && oi[M] && (Ki = | |
r), Ki && (ts = t), u[oi[g][O].requestfullscreen]({ | |
vrDisplay: xs, | |
vrDistortion: ts | |
}), oi[nr] && uo(si[f][P]), ts == t && $s() | |
} else { | |
oi[g][O][d] && ai[s](oi[g][O][d], bo), es[c] = r, qs(r); | |
if (oi[nr] || oi.tablet) ns == 1 ? window[s](h, zo, r) : ns == 2 && window[s](E, ta, r); | |
Ji == t && oi[g][O].touch && si[x][ln][s](oi[g][O][st], fo, t); | |
if (e && oi[S]) { | |
var u = eo(); | |
if (ls) { | |
var l = r; | |
try { | |
cs.apply(u) | |
} catch (p) { | |
l = t | |
} | |
Ji && (l && (mo = 1), si[x][ln][s](_, go, t)) | |
} | |
Eo = 5, u[s]($, To, t) | |
} | |
} | |
} | |
function ro(e) { | |
if (oi[S] || xi == t) return; | |
try { | |
var n = typeof screen[v] == "object" && screen[v][Fr] && screen[v].lock; | |
if (e) { | |
var r = "" + (n ? screen[v][Fr] : screen[v] || screen[$r]), | |
i = r[a](mn) >= 0 ? r : mn; | |
screen[kr] ? screen[kr](i) : screen[ir] ? screen[ir](i) : n && screen[v].lock(i) | |
} else screen[sr] ? screen[sr]() : screen[Kn] ? screen[Kn]() : n && screen[v].unlock() | |
} catch (s) {} | |
} | |
function io() { | |
es[c] = t, si.get(Q) && si.set(Q, t), Es && Ko() && Es.exitPresent(), window[n](h, zo, r), window[n](E, ta, r), | |
si[x][ln][n](_, go, t), oi[g][O].touch && si[x][ln][n](oi[g][O][st], fo, t), qs(t), si[f][it] = r | |
} | |
function so() { | |
Vi && (Xi ? io() : no()) | |
} | |
function oo(e) { | |
uo(e, t) | |
} | |
function uo(e, t) { | |
t === undefined && (t = r), e === undefined ? e = Number.NaN : e = Number(e), isNaN(e) && si.xml && si.xml[f] && | |
(e = Number(si.xml[f][P]), isNaN(e) && (e = 0)); | |
var n = vi; | |
if (t == r) if (Es) { | |
if (Es.resetPose !== undefined) try { | |
Es.resetPose() | |
} catch (i) {} | |
} else if (Ts) { | |
try { | |
Ts.resetSensor !== undefined && Ts.resetSensor() | |
} catch (i) {} | |
try { | |
Ts.zeroSensor !== undefined && Ts.zeroSensor() | |
} catch (i) {} | |
} | |
Ji && (si[f][P] = e), ss = ss - n + e, wo = 0 | |
} | |
function fo(e) { | |
var i = t; | |
if (wi == t) i = r; | |
else { | |
var u = si[x].getMousePos(e[Xr] ? e[Xr][0] : e); | |
u.x /= si.stagescale, u.y /= si.stagescale; | |
if (e[Fr] == oi[g][O][st]) ao == o ? (ao = u, si[x][ln][s](oi[g][O][Mr], fo, r), si[x][ln][s](oi[g][O][Xt], | |
fo, r)) : i = r; | |
else if (e[Fr] == oi[g][O][Xt]) i = r; | |
else if (e[Fr] == oi[g][O][Mr] && ao) { | |
var a = ao.x, | |
f = u.x; | |
if (si[w][er]) { | |
var l = si.stagewidth * .5; | |
(a >= l || f >= l) && (a < l || f < l) && (f = a) | |
} | |
var c = si[Rr](a, ao.y, t), | |
h = si[Rr](f, u.y, t), | |
p = h.x - c.x; | |
ao = u, ss -= p | |
} | |
} | |
i && (ao = o, si[x][ln][n](oi[g][O][Mr], fo, r), si[x][ln][n](oi[g][O][Xt], fo, r)) | |
} | |
function lo() { | |
if (mi == t) si[Ft] = -1, si[mt] = t; | |
else if (si.image[Fr] == "cube" && si.image.multires) { | |
var e = Us().best_res, | |
n = 0, | |
s = -1, | |
o = 0, | |
u = si.image.level.getArray(), | |
a = u[et]; | |
if (a > 0) for (i = 0; i < a; i++) { | |
var f = u[i].tiledimagewidth, | |
l = Math.abs(f - e); | |
if (s == -1 || l < s) n = f, s = l, o = i | |
} | |
if (s > 0) { | |
si[Ft] = o, si[mt] = r; | |
if (n > 0) { | |
var c = 4 + 8 * (n * n * 6 + 1048575 >> 20); | |
c > si.memory[Or] && (si.memory[Or] = c) | |
} | |
} | |
} | |
} | |
function co() { | |
es[c] && lo() | |
} | |
function ho() { | |
co(), Rs && Rs[K] == qt ? Ys(Jt) : Vs() | |
} | |
function vo() { | |
rs = 0, Io.t = 0, qo.t = 0, Ba(), qa = 0, Ha = t, $u = o | |
} | |
function go(e) { | |
if (mo == 1) { | |
try { | |
hs.apply(document) | |
} catch (e) {} | |
mo = 0 | |
} else try { | |
cs.apply(eo()), mo = 1 | |
} catch (e) { | |
mo = 0 | |
} | |
} | |
function yo(e) { | |
var n = !! (ai[Bt] || ai[rt] || ai[kt] || ai[V] || ai[dt]); | |
n == t && io() | |
} | |
function bo(e) { | |
var i = eo(), | |
o = !! (ai[Bt] || ai[rt] || ai[kt] || ai[V] || ai[dt]); | |
if (o && es[c]) { | |
try { | |
if (oi[S] && ls) { | |
var u = r; | |
try { | |
cs.apply(i) | |
} catch (a) { | |
u = t | |
} | |
Ji && (u && (mo = 1), si[x][ln][s](_, go, t)) | |
} | |
} catch (a) {} | |
ro(r), oi[S] && (Eo = 5, i[s]($, To, t)) | |
} else ro(t), window[n](h, zo, r), window[n](E, ta, r), i[n]($, To, t), si[x][ln][n](_, go, t), es[c] = t, qs(t) | |
} | |
function To(e) { | |
var t = eo(); | |
if (ai.pointerLockElement === t || ai.mozPointerLockElement === t) { | |
var n = e.movementX || e.mozMovementX, | |
r = e.movementY || e.mozMovementY; | |
isNaN(n) && (n = 0), isNaN(r) && (r = 0), So === o && (So = n), xo === o && (xo = r); | |
var i = 400; | |
if (ms && (Math.abs(n - So) > i || Math.abs(r - xo) > i)) return; | |
So = n, xo = r; | |
if (Eo > 0) { | |
Eo--; | |
return | |
} | |
wo += n * hi; | |
while (wo < 0) wo += Math.PI * 2; | |
while (wo >= Math.PI * 2) wo -= Math.PI * 2; | |
Ji && di && (si[f][P] += n * hi * ds, si[f][Sn] = Math.max(Math.min(si[f][Sn] + r * hi * ds, 120), -120)) | |
} | |
} | |
function No(e, t, n, r) { | |
this.x = e, this.y = t, this.z = n, this.w = r | |
} | |
function Co(e) { | |
var t = Math[_n](e.x * e.x + e.y * e.y + e.z * e.z + e.w * e.w); | |
t === 0 ? (e.x = e.y = e.z = 0, e.w = 1) : (t = 1 / t, e.x *= t, e.y *= t, e.z *= t, e.w *= t) | |
} | |
function ko(e) { | |
e.x *= -1, e.y *= -1, e.z *= -1, Co(e) | |
} | |
function Lo(e, t) { | |
return e.x * t.x + e.y * t.y + e.z * t.z + e.w * t.w | |
} | |
function Ao(e) { | |
return Math[_n](e.x * e.x + e.y * e.y + e.z * e.z + e.w * e.w) | |
} | |
function Oo(e, t) { | |
var n = e.x, | |
r = e.y, | |
i = e.z, | |
s = e.w, | |
o = t.x, | |
u = t.y, | |
a = t.z, | |
f = t.w; | |
e.x = n * f + s * o + r * a - i * u, e.y = r * f + s * u + i * o - n * a, e.z = i * f + s * a + n * u - r * o, | |
e.w = s * f - n * o - r * u - i * a | |
} | |
function Mo(e, t) { | |
var n = t.x, | |
r = t.y, | |
i = t.z, | |
s = t.w, | |
o = e.x, | |
u = e.y, | |
a = e.z, | |
f = e.w; | |
e.x = n * f + s * o + r * a - i * u, e.y = r * f + s * u + i * o - n * a, e.z = i * f + s * a + n * u - r * o, | |
e.w = s * f - n * o - r * u - i * a | |
} | |
function _o(e, t, n) { | |
var r = e.x, | |
i = e.y, | |
s = e.z, | |
o = e.w, | |
u = r * t.x + i * t.y + s * t.z + o * t.w; | |
u < 0 ? (u = -u, e.x = -t.x, e.y = -t.y, e.z = -t.z, e.w = -t.w) : (e.x = t.x, e.y = t.y, e.z = t.z, e.w = t.w); | |
if (u >= 1) { | |
e.w = o, e.x = r, e.y = i, e.z = s; | |
return | |
} | |
var a = Math.acos(u), | |
f = Math[_n](1 - u * u); | |
if (Math.abs(f) < 1e-7) { | |
e.w = .5 * (o + e.w), e.x = .5 * (r + e.x), e.y = .5 * (i + e.y), e.z = .5 * (s + e.z); | |
return | |
} | |
var l = Math.sin((1 - n) * a) / f, | |
c = Math.sin(n * a) / f; | |
e.w = o * l + e.w * c, e.x = r * l + e.x * c, e.y = i * l + e.y * c, e.z = s * l + e.z * c | |
} | |
function Do(e, t, n) { | |
var r = n / 2, | |
i = Math.sin(r); | |
e.x = t.x * i, e.y = t.y * i, e.z = t.z * i, e.w = Math.cos(r) | |
} | |
function Po(e, t, n, r, i) { | |
var s = Math.cos(t / 2), | |
o = Math.cos(n / 2), | |
u = Math.cos(r / 2), | |
a = Math.sin(t / 2), | |
f = Math.sin(n / 2), | |
l = Math.sin(r / 2); | |
return i === "XYZ" ? (e.x = a * o * u + s * f * l, e.y = s * f * u - a * o * l, e.z = s * o * l + a * f * u, e.w = | |
s * o * u - a * f * l) : i === Dn ? (e.x = a * o * u + s * f * l, e.y = s * f * u - a * o * l, e.z = s * o * | |
l - a * f * u, e.w = s * o * u + a * f * l) : i === "ZXY" ? (e.x = a * o * u - s * f * l, e.y = s * f * u + | |
a * o * l, e.z = s * o * l + a * f * u, e.w = s * o * u - a * f * l) : i === "ZYX" ? (e.x = a * o * u - s * | |
f * l, e.y = s * f * u + a * o * l, e.z = s * o * l - a * f * u, e.w = s * o * u + a * f * l) : i === "YZX" ? | |
(e.x = a * o * u + s * f * l, e.y = s * f * u + a * o * l, e.z = s * o * l - a * f * u, e.w = s * o * u - a * | |
f * l) : i === "XZY" && (e.x = a * o * u - s * f * l, e.y = s * f * u - a * o * l, e.z = s * o * l + a * f * | |
u, e.w = s * o * u + a * f * l), e | |
} | |
function Ho(e, t, n) { | |
var r, i, s, o, u, a, f, l, c, h, p, d; | |
i = t.x, s = t.y, o = t.z, u = Math[_n](i * i + s * s + o * o), u > 0 && (i /= u, s /= u, o /= u), a = n.x, f = | |
n.y, l = n.z, c = Math[_n](a * a + f * f + l * l), c > 0 && (a /= c, f /= c, l /= c), r = i * a + s * f + o * | |
l + 1, r < 1e-6 ? (r = 0, Math.abs(i) > Math.abs(o) ? (h = -s, p = i, d = 0) : (h = 0, p = -o, d = s)) : (h = | |
s * l - o * f, p = o * a - i * l, d = i * f - s * a), e.x = h, e.y = p, e.z = d, e.w = r, Co(e) | |
} | |
function Bo(e, t, n) { | |
function r(e, t, n) { | |
return e < t ? t : e > n ? n : e | |
} | |
if (!t || isNaN(t.x) || isNaN(t.y) || isNaN(t.z) || isNaN(t.w)) return; | |
var i = t.x * t.x, | |
s = t.y * t.y, | |
o = t.z * t.z, | |
u = t.w * t.w; | |
if (n === "XYZ") e[0] = Math[Wt](2 * (t.x * t.w - t.y * t.z), u - i - s + o), e[1] = Math.asin(r(2 * (t.x * t.z + | |
t.y * t.w), -1, 1)), e[2] = Math[Wt](2 * (t.z * t.w - t.x * t.y), u + i - s - o); | |
else if (n === Dn) e[0] = Math.asin(r(2 * (t.x * t.w - t.y * t.z), -1, 1)), e[1] = Math[Wt](2 * (t.x * t.z + t.y * | |
t.w), u - i - s + o), e[2] = Math[Wt](2 * (t.x * t.y + t.z * t.w), u - i + s - o); | |
else if (n === "ZXY") e[0] = Math.asin(r(2 * (t.x * t.w + t.y * t.z), -1, 1)), e[1] = Math[Wt](2 * (t.y * t.w - | |
t.z * t.x), u - i - s + o), e[2] = Math[Wt](2 * (t.z * t.w - t.x * t.y), u - i + s - o); | |
else if (n === "ZYX") e[0] = Math[Wt](2 * (t.x * t.w + t.z * t.y), u - i - s + o), e[1] = Math.asin(r(2 * (t.y * | |
t.w - t.x * t.z), -1, 1)), e[2] = Math[Wt](2 * (t.x * t.y + t.z * t.w), u + i - s - o); | |
else if (n === "YZX") e[0] = Math[Wt](2 * (t.x * t.w - t.z * t.y), u - i + s - o), e[1] = Math[Wt](2 * (t.y * t | |
.w - t.x * t.z), u + i - s - o), e[2] = Math.asin(r(2 * (t.x * t.y + t.z * t.w), -1, 1)); | |
else { | |
if (n !== "XZY") return; | |
e[0] = Math[Wt](2 * (t.x * t.w + t.y * t.z), u - i + s - o), e[1] = Math[Wt](2 * (t.x * t.z + t.y * t.w), u + | |
i - s - o), e[2] = Math.asin(r(2 * (t.z * t.w - t.x * t.y), -1, 1)) | |
} | |
} | |
function jo(e, t) { | |
var n, r, i, s; | |
e == o ? (n = Math.tan(50 * ps), r = Math.tan(50 * ps), i = Math.tan(45 * ps), s = Math.tan(45 * ps)) : (n = | |
Math.tan(e.upDegrees * ps), r = Math.tan(e.downDegrees * ps), i = Math.tan(e.leftDegrees * ps), s = Math.tan( | |
e.rightDegrees * ps)); | |
var u = 2 / (i + s), | |
a = 2 / (n + r); | |
t[0] = u, t[1] = 0, t[2] = 0, t[3] = 0, t[4] = 0, t[5] = -a, t[6] = 0, t[7] = 0, t[8] = (i - s) * u * .5, t[9] = - | |
((n - r) * a * .5), t[10] = 65535 / 65536, t[11] = 1, t[12] = 0, t[13] = 0, t[14] = 65535 / 65536 - 1, t[15] = | |
1 | |
} | |
function Fo() { | |
var e = Number.NaN, | |
t = screen[v] || screen.msOrientation || screen[$r]; | |
t && t[Fr] && (t = t[Fr]); | |
if (t) { | |
t = ("" + t)[m](); | |
var n = t[a]("portrait") >= 0, | |
r = t[a](mn) >= 0, | |
i = t[a]("primary") >= 0, | |
s = t[a]("secondary") >= 0; | |
n && i ? e = 0 : r && i ? e = 90 : r && s ? e = -90 : n && s && (e = 180) | |
} | |
return isNaN(e) && (e = si._have_top_access ? top[v] : window[v]), isNaN(e) && (e = 0), e | |
} | |
function zo(e) { | |
if (!es[c]) return; | |
var t = si[St], | |
n = t - ea; | |
ea = t; | |
var r = Fo() * ps, | |
i = e.alpha * ps, | |
s = e.beta * ps, | |
u = e.gamma * ps; | |
Uo === o && (Uo = i), i = i - Uo + Math.PI; | |
var a = Math.cos(i), | |
f = Math.sin(i), | |
l = Math.cos(s), | |
h = Math.sin(s), | |
p = Math.cos(u), | |
d = Math.sin(u); | |
i = Math[Wt](-f * h * p - a * d, f * d - a * h * p), s = -Math.asin(l * p), u = Math[Wt](l * d, -h) - Math.PI, | |
Io.q.x = qo.q.x, Io.q.y = qo.q.y, Io.q.z = qo.q.z, Io.q.w = qo.q.w, Io.t = qo.t; | |
var v = qo.q; | |
qo.t = t, rs++, Po(v, s, i + r, u - r, Dn) | |
} | |
function Vo() { | |
if (es[c]) { | |
si[f][D] = r, si.autorotate.interrupt(); | |
var e = [0, 0, 0]; | |
if (Es) { | |
var t = o; | |
Ss ? Es.getFrameData(Ss) && (t = Ss.pose) : t = Es.getPose(); | |
if (t && t[v]) { | |
Wo = t; | |
var n = t[v]; | |
Xo.x = n[0], Xo.y = n[1], Xo.z = n[2], Xo.w = n[3], Jo(Xo), Bo(e, Xo, Dn); | |
var i = 0; | |
oi[M] && (i = Fo()), i += ss, vi = (-e[1] + wo) * ds + i, di && (si[f][P] = vi, si[f][Sn] = -e[0] * | |
ds, si[f][Gn] = -e[2] * ds) | |
} | |
} else if (Ts) { | |
ks = Ts.getState(); | |
if (ks) { | |
Ki ? Js() : Ks(); | |
if (pi && di) { | |
var s = ks.position; | |
if (s) { | |
wo = 0; | |
var u = 400; | |
si[f].tx = s.x * u, si[f].ty = s.y * u, si[f].tz = s.z * u | |
} | |
} | |
var n = ks[v]; | |
Xo.x = n[0], Xo.y = n[1], Xo.z = n[2], Xo.w = n[3], Jo(Xo), Bo(e, Xo, Dn); | |
var i = 0; | |
oi[M] && (i = Fo()), i += ss, vi = (-e[1] + wo) * ds + i, di && (si[f][P] = vi, si[f][Sn] = -e[0] * | |
ds, si[f][Gn] = -e[2] * ds) | |
} | |
} else if ($i) { | |
Js(); | |
if (rs > is) { | |
var a = o; | |
if (Fi == 0) a = qo.q; | |
else if ((Fi == 4 || Fi >= 6) && ns == 2) a = qo.q, Yu(a); | |
else if (Fi <= 3 || Fi == 5 || ns == 1) if (Io.t > 0 && qo.t > 0) { | |
var l = si[St], | |
h = qo.t - Io.t, | |
p = 0, | |
d = 0, | |
m = 1; | |
Fi == 1 || Fi == 2 ? p = l - qo.t : (p = l - Io.t, m = 2), h <= 0 ? d = 1 : (d = p / h, d > | |
m && (d = m)), Ro.x = Io.q.x, Ro.y = Io.q.y, Ro.z = Io.q.z, Ro.w = Io.q.w, _o(Ro, qo.q, | |
d), a = Ro | |
} | |
if (a) { | |
Jo(a), Bo(e, a, Dn); | |
var i = Fo(); | |
vi = ss + (-e[1] + wo) * ds + i, di && (si[f][P] = vi, si[f][Sn] = -e[0] * ds, si[f][Gn] = -e[2] * | |
ds) | |
} | |
} | |
} | |
} | |
} | |
function Jo(e) { | |
li > 0 ? (li > .999 && (li = .999), $o == o ? $o = new No(e.x, e.y, e.z, e.w) : (_o($o, e, 1 - Math.pow(li, .1)), | |
e.x = $o.x, e.y = $o.y, e.z = $o.z, e.w = $o.w)) : $o != o && ($o = o) | |
} | |
function Ko() { | |
var e = r; | |
return oi[M] && Bi == t && (e = t), e | |
} | |
function Qo(e) { | |
return Es && Ko() ? (Es.requestAnimationFrame(e), r) : t | |
} | |
function Go() { | |
Es && Es[tt] && Wo && (Ss ? Es.submitFrame() : Es.submitFrame(Wo)) | |
} | |
function Yo(e, n) { | |
if ($i == t && ts == r) { | |
if (Es) if (Ss) { | |
var i = e == 1 ? Ss.leftProjectionMatrix : Ss.rightProjectionMatrix; | |
n[0] = i[0], n[1] = i[1], n[2] = i[2], n[3] = i[3], n[4] = -i[4], n[5] = -i[5], n[6] = -i[6], n[7] = - | |
i[7], n[8] = -i[8], n[9] = -i[9], n[10] = -i[10], n[11] = -i[11], n[12] = i[12], n[13] = i[13], | |
n[14] = i[14], n[15] = i[15], n[10] = 65535 / 65536, n[14] = 65535 / 65536 - 1 | |
} else { | |
var s = Es[b](e == 1 ? Ut : ft); | |
jo(s.fieldOfView, n) | |
} else jo(e == 1 ? Os : Ms, n); | |
n[0] *= fi, n[1] *= fi, n[2] *= fi, n[3] *= fi, n[4] *= fi, n[5] *= fi, n[6] *= fi, n[7] *= fi | |
} | |
} | |
function Zo(e) { | |
var t = 0; | |
if (Es) { | |
var n = Es[b](e == 1 ? Ut : ft); | |
t = n.offset[0] | |
} else e == 1 ? Ls && Ls.x ? t = Ls.x : t = -0.03 : e == 2 && (As && As.x ? t = As.x : t = .03); | |
return t *= 320 / ci, t | |
} | |
function eu(e, n) { | |
var i = 0, | |
s = 0; | |
if (Es) { | |
if (Es[tt]) { | |
var u = Es[b](Ut), | |
a = Es[b](ft); | |
i = Math.max(u.renderWidth, a.renderWidth) * 2, s = Math.max(u.renderHeight, a.renderHeight); | |
if (i > 0 && s > 0) return i *= gi, s *= gi, { | |
w: i, | |
h: s | |
} | |
} | |
return o | |
} | |
var f = !! (ai[Bt] || ai[rt] || ai[kt] || ai[V] || ai[dt]); | |
if (es[c] && f && $i == t && ts == r) { | |
if (Ns) i = Math.max(Ns[nt][vt] + Cs[nt][vt], Cs[nt].x + Cs[nt][vt]), s = Math.max(Ns[nt][q], Cs[nt][q]); | |
else if (H in xs) { | |
var l = xs[H](Ut), | |
h = xs[H](ft); | |
i = l[vt] + h[vt], s = Math.max(l[q], h[q]) | |
} else if (At in xs) { | |
var p = xs[At](); | |
i = p[vt], s = p[q] | |
} else Ht in xs ? (i = xs[Ht][vt], s = xs[Ht][q]) : (i = 2e3, s = 1056); | |
oi[S] && oi[Xn] && (i = e, s = n); | |
if (i > 0 && s > 0) return i *= gi, s *= gi, { | |
w: i, | |
h: s | |
} | |
} else es[c] && ($i || ts == t) && $s(e, n); | |
return o | |
} | |
function tu(e) { | |
var e = ("" + e)[m](), | |
n = e[a](jr), | |
i = e.lastIndexOf("]"); | |
if (n >= 0 && i > n) { | |
var s = e[$t](n + 8, i), | |
u = jr + s + "]"; | |
u != qi && (qi = u, Ui && (nu(Ui, t), Ui = o), Ui = si.get(qi), Ui && nu(Ui, r)) | |
} | |
} | |
function nu(e, n) { | |
if (n == r) e[fr] = { | |
visible: e[Qn], | |
enabled: e[c], | |
flying: e.flying, | |
scaleflying: e[on], | |
distorted: e[Hn], | |
zorder: e.zorder, | |
scale: e.scale, | |
depth: e.depth, | |
onover: e.onover, | |
onout: e.onout | |
}, e[c] = t, e.flying = 1, e[on] = t, e[Hn] = r, e.zorder = 999999999; | |
else { | |
var i = e[fr]; | |
i && (e[Qn] = i[Qn], e[c] = i[c], e.flying = i.flying, e[on] = i[on], e[Hn] = i[Hn], e.zorder = i.zorder, e | |
.scale = i.scale, e.depth = i.depth, e.onover = i.onover, e.onout = i.onout, e[fr] = i = o) | |
} | |
} | |
function ru() { | |
if (qi) { | |
var e = Ui; | |
e == o && (e = si.get(qi), e && (nu(e, r), Ui = e)); | |
if (e) { | |
if (!es[c]) return e[Qn] = t, o; | |
e.onover = zi, e.onout = Wi, e[c] = Ri, e[Qn] = r | |
} | |
return e | |
} | |
return o | |
} | |
function iu() { | |
this.x = 0, this.y = 0, this.z = 0 | |
} | |
function su(e, t, n, r) { | |
e.x = t, e.y = n, e.z = r | |
} | |
function ou(e, t) { | |
e.x = t.x, e.y = t.y, e.z = t.z | |
} | |
function uu(e) { | |
e.x = 0, e.y = 0, e.z = 0 | |
} | |
function au(e, t, n) { | |
t == 0 ? e.x = n : t == 1 ? e.y = n : e.z = n | |
} | |
function fu(e) { | |
return Math[_n](e.x * e.x + e.y * e.y + e.z * e.z) | |
} | |
function lu(e) { | |
var t = fu(e); | |
t > 0 ? cu(e, 1 / t) : (e.x = 0, e.y = 0, e.z = 0) | |
} | |
function cu(e, t) { | |
e.x *= t, e.y *= t, e.z *= t | |
} | |
function hu(e, t, n) { | |
su(n, e.x - t.x, e.y - t.y, e.z - t.z) | |
} | |
function pu(e, t, n) { | |
su(n, e.y * t.z - e.z * t.y, e.z * t.x - e.x * t.z, e.x * t.y - e.y * t.x) | |
} | |
function du(e, t) { | |
return e.x * t.x + e.y * t.y + e.z * t.z | |
} | |
function vu() { | |
var e; | |
return typeof Float64Array != "undefined" ? e = new Float64Array(9) : e = new Array(9), gu(e), e | |
} | |
function mu(e) { | |
e[0] = e[1] = e[2] = e[3] = e[4] = e[5] = e[6] = e[7] = e[8] = 0 | |
} | |
function gu(e) { | |
e[0] = e[4] = e[8] = 1, e[1] = e[2] = e[3] = e[5] = e[6] = e[7] = 0 | |
} | |
function yu(e, t) { | |
e[0] = e[4] = e[8] = t | |
} | |
function bu(e, t) { | |
e[0] *= t, e[1] *= t, e[2] *= t, e[3] *= t, e[4] *= t, e[5] *= t, e[6] *= t, e[7] *= t, e[8] *= t | |
} | |
function wu(e, t) { | |
var n = e[1], | |
r = e[2], | |
i = e[5]; | |
t[0] = e[0], t[1] = e[3], t[2] = e[6], t[3] = n, t[4] = e[4], t[5] = e[7], t[6] = r, t[7] = i, t[8] = e[8] | |
} | |
function Eu(e, t, n) { | |
e[t] = n.x, e[t + 3] = n.y, e[t + 6] = n.z | |
} | |
function Su(e, t) { | |
e[0] = t[0], e[1] = t[1], e[2] = t[2], e[3] = t[3], e[4] = t[4], e[5] = t[5], e[6] = t[6], e[7] = t[7], e[8] = | |
t[8] | |
} | |
function xu(e, t) { | |
var n = e[0] * (e[4] * e[8] - e[7] * e[5]) - e[1] * (e[3] * e[8] - e[5] * e[6]) + e[2] * (e[3] * e[7] - e[4] * | |
e[6]); | |
n != 0 && (n = 1 / n, t[0] = (e[4] * e[8] - e[7] * e[5]) * n, t[1] = -(e[1] * e[8] - e[2] * e[7]) * n, t[2] = ( | |
e[1] * e[5] - e[2] * e[4]) * n, t[3] = -(e[3] * e[8] - e[5] * e[6]) * n, t[4] = (e[0] * e[8] - e[2] * e[6]) * | |
n, t[5] = -(e[0] * e[5] - e[3] * e[2]) * n, t[6] = (e[3] * e[7] - e[6] * e[4]) * n, t[7] = -(e[0] * e[7] - | |
e[6] * e[1]) * n, t[8] = (e[0] * e[4] - e[3] * e[1]) * n) | |
} | |
function Tu(e, t) { | |
e[0] -= t[0], e[1] -= t[1], e[2] -= t[2], e[3] -= t[3], e[4] -= t[4], e[5] -= t[5], e[6] -= t[6], e[7] -= t[7], | |
e[8] -= t[8] | |
} | |
function Nu(e, t) { | |
e[0] += t[0], e[1] += t[1], e[2] += t[2], e[3] += t[3], e[4] += t[4], e[5] += t[5], e[6] += t[6], e[7] += t[7], | |
e[8] += t[8] | |
} | |
function Cu(e, t, n) { | |
var r = t[0], | |
i = t[1], | |
s = t[2], | |
o = t[3], | |
u = t[4], | |
a = t[5], | |
f = t[6], | |
l = t[7], | |
c = t[8], | |
h = e[0], | |
p = e[1], | |
d = e[2]; | |
n[0] = h * r + p * o + d * f, n[1] = h * i + p * u + d * l, n[2] = h * s + p * a + d * c, h = e[3], p = e[4], d = | |
e[5], n[3] = h * r + p * o + d * f, n[4] = h * i + p * u + d * l, n[5] = h * s + p * a + d * c, h = e[6], p = | |
e[7], d = e[8], n[6] = h * r + p * o + d * f, n[7] = h * i + p * u + d * l, n[8] = h * s + p * a + d * c | |
} | |
function ku(e, t, n) { | |
var r = e[0] * t.x + e[1] * t.y + e[2] * t.z, | |
i = e[3] * t.x + e[4] * t.y + e[5] * t.z, | |
s = e[6] * t.x + e[7] * t.y + e[8] * t.z; | |
n.x = r, n.y = i, n.z = s | |
} | |
function Lu(e, t, n) { | |
n[0] = e[0] + t[0], n[1] = e[1] + t[1], n[2] = e[2] + t[2], n[3] = e[3] + t[3], n[4] = e[4] + t[4], n[5] = e[5] + | |
t[5], n[6] = e[6] + t[6], n[7] = e[7] + t[7], n[8] = e[8] + t[8] | |
} | |
function Fu(e, t, n) { | |
pu(e, t, Ou); | |
if (fu(Ou) == 0) gu(n); | |
else { | |
ou(Mu, e), ou(_u, t), lu(Ou), lu(Mu), lu(_u); | |
var r = Pu, | |
i = Hu; | |
pu(Ou, Mu, Au), r[0] = Mu.x, r[1] = Mu.y, r[2] = Mu.z, r[3] = Ou.x, r[4] = Ou.y, r[5] = Ou.z, r[6] = Au.x, | |
r[7] = Au.y, r[8] = Au.z, pu(Ou, _u, Au), i[0] = _u.x, i[3] = _u.y, i[6] = _u.z, i[1] = Ou.x, i[4] = Ou | |
.y, i[7] = Ou.z, i[2] = Au.x, i[5] = Au.y, i[8] = Au.z, Cu(i, r, n) | |
} | |
} | |
function Iu(e, t) { | |
var n = du(e, e), | |
r = Math[_n](n), | |
i, s; | |
if (n < 1e-8) i = 1 - 1 / 6 * n, s = .5; | |
else if (n < 1e-6) s = .5 - .25 * (1 / 6) * n, i = 1 - n * (1 / 6) * (1 - .05 * n); | |
else { | |
var o = 1 / r; | |
i = Math.sin(r) * o, s = (1 - Math.cos(r)) * o * o | |
} | |
Ru(e, i, s, t) | |
} | |
function qu(e, t) { | |
var n = (e[0] + e[4] + e[8] - 1) * .5; | |
su(t, (e[7] - e[5]) / 2, (e[2] - e[6]) / 2, (e[3] - e[1]) / 2); | |
var r = fu(t); | |
if (n > Math.SQRT1_2) r > 0 && cu(t, Math.asin(r) / r); | |
else if (n > -Math.SQRT1_2) { | |
var i = Math.acos(n); | |
cu(t, i / r) | |
} else { | |
var i = Math.PI - Math.asin(r), | |
s = e[0] - n, | |
o = e[4] - n, | |
u = e[8] - n, | |
a = Bu; | |
s * s > o * o && s * s > u * u ? su(a, s, (e[3] + e[1]) / 2, (e[2] + e[6]) / 2) : o * o > u * u ? su(a, (e[ | |
3] + e[1]) / 2, o, (e[7] + e[5]) / 2) : su(a, (e[2] + e[6]) / 2, (e[7] + e[5]) / 2, u), du(a, t) < 0 && | |
cu(a, -1), lu(a), cu(a, i), ou(t, a) | |
} | |
} | |
function Ru(e, t, n, r) { | |
var i = e.x * e.x, | |
s = e.y * e.y, | |
o = e.z * e.z; | |
r[0] = 1 - n * (s + o), r[4] = 1 - n * (i + o), r[8] = 1 - n * (i + s); | |
var u = t * e.z, | |
a = n * e.x * e.y; | |
r[1] = a - u, r[3] = a + u, u = t * e.y, a = n * e.x * e.z, r[2] = a + u, r[6] = a - u, u = t * e.x, a = n * e.y * | |
e.z, r[5] = a - u, r[7] = a + u | |
} | |
function Uu(e, t, n, r) { | |
t *= ps, n *= ps, r *= ps; | |
var i = Math.cos(t), | |
s = Math.sin(t), | |
o = Math.cos(n), | |
u = Math.sin(n), | |
a = Math.cos(r), | |
f = Math.sin(r), | |
l = i * u, | |
c = s * u; | |
e[0] = o * a, e[1] = l * a + i * f, e[2] = -c * a + s * f, e[3] = -o * f, e[4] = -l * f + i * a, e[5] = c * f + | |
s * a, e[6] = u, e[7] = -s * o, e[8] = i * o | |
} | |
function zu(e, t) { | |
var n = e[0] + e[4] + e[8], | |
r; | |
n > 0 ? (r = Math[_n](1 + n) * 2, t.x = (e[5] - e[7]) / r, t.y = (e[6] - e[2]) / r, t.z = (e[1] - e[3]) / r, t.w = | |
.25 * r) : e[0] > e[4] && e[0] > e[8] ? (r = Math[_n](1 + e[0] - e[4] - e[8]) * 2, t.x = .25 * r, t.y = (e[ | |
3] + e[1]) / r, t.z = (e[6] + e[2]) / r, t.w = (e[5] - e[7]) / r) : e[4] > e[8] ? (r = Math[_n](1 + e[4] - | |
e[0] - e[8]) * 2, t.x = (e[3] + e[1]) / r, t.y = .25 * r, t.z = (e[7] + e[5]) / r, t.w = (e[6] - e[2]) / r) : | |
(r = Math[_n](1 + e[8] - e[0] - e[4]) * 2, t.x = (e[6] + e[2]) / r, t.y = (e[7] + e[5]) / r, t.z = .25 * r, | |
t.w = (e[1] - e[3]) / r) | |
} | |
function Yu(e) { | |
if (na) { | |
var t = Fo(); | |
t != $u && ($u = t, Uu(Ku, 0, 0, -t), Uu(Ju, -90, 0, +t)); | |
var n; | |
if (Fi <= 1 || Fi == 3) n = Ua(); | |
else { | |
var r = si[St], | |
i = (r - Wu) / 1e3, | |
s = i; | |
Fi == 2 ? s += 2 / 60 : Fi == 6 ? s += 1 / 60 : Fi == 7 && (s += 2 / 60), n = Va(s) | |
} | |
Cu(Ku, n, Gu), Cu(Gu, Ju, Qu), zu(Qu, e) | |
} | |
} | |
function ta(e) { | |
if (!es[c]) return; | |
var n = si[St], | |
i = n - ea; | |
ea = n, i > 5e3 && (vo(), i = .16), rs++; | |
if (rs < is) return; | |
Ha == t && (Ha = r, Ba()); | |
var s = e[Kt], | |
u = s.x, | |
a = s.y, | |
f = s.z; | |
u == o && (u = 0), a == o && (a = 9.81), f == o && (f = 0); | |
var l = e.acceleration; | |
if (l) { | |
var h = l.x, | |
p = l.y, | |
d = l.z; | |
h == o && (h = 0), p == o && (p = 0), d == o && (d = 0), u -= h, a -= p, f -= d | |
} | |
if (oi.ios || oi.ie) u *= -1, a *= -1, f *= -1; | |
var v = e.rotationRate, | |
m = v.alpha, | |
g = v.beta, | |
y = v.gamma; | |
m == o && (m = 0), g == o && (g = 0), y == o && (y = 0), oi[Bn] && oi[I] < 66 || (m *= ps, g *= ps, y *= ps); | |
if (oi.ie) { | |
var b = m, | |
w = g, | |
E = y; | |
m = w, g = E, y = b | |
} | |
af ? df(i, m, g, y) : Ti && Zu(m, g, y, n); | |
var S = ff; | |
m -= S.rx, g -= S.ry, y -= S.rz, su(Xu, u, a, f), Ia(Xu, i), Wu = n, su(Vu, m, g, y), Ra(Vu, n); | |
if (Fi <= 3 || Fi == 5) Io.q.x = qo.q.x, Io.q.y = qo.q.y, Io.q.z = qo.q.z, Io.q.w = qo.q.w, Io.t = qo.t, Yu(qo.q), | |
qo.t = n | |
} | |
function Ba() { | |
gu(va), gu(ma), mu(ya), yu(ya, Ma), mu(ga), yu(ga, 1), mu(Sa), yu(Sa, _a), mu(wa), mu(ba), mu(Ea), uu(fa), uu( | |
ua), uu(oa), uu(aa), uu(sa), su(ia, 0, 0, Da), na = t | |
} | |
function ja(e, t) { | |
ku(e, ia, oa), Fu(oa, ua, Oa), qu(Oa, t) | |
} | |
function Fa() { | |
wu(ma, La), Cu(ya, La, Aa), Cu(ma, Aa, ya), gu(ma) | |
} | |
function Ia(e, t) { | |
ou(ua, e); | |
if (na) { | |
ja(va, fa), t < 5 && (t = 5); | |
var n = 1e3 / 60 / t, | |
i = Pa * n, | |
s = 1 / Pa, | |
o = la; | |
for (var u = 0; u < 3; u++) uu(o), au(o, u, s), Iu(o, xa), Cu(xa, va, Ta), ja(Ta, ca), hu(fa, ca, ha), cu( | |
ha, i), Eu(ba, u, ha); | |
wu(ba, Na), Cu(ya, Na, Ca), Cu(ba, Ca, ka), Lu(ka, Sa, wa), xu(wa, Na), wu(ba, Ca), Cu(Ca, Na, ka), Cu(ya, | |
ka, Ea), ku(Ea, fa, sa), Cu(Ea, ba, Na), gu(Ca), Tu(Ca, Na), Cu(Ca, ya, Na), Su(ya, Na), Iu(sa, ma), Cu( | |
ma, va, va), Fa() | |
} else Fu(ia, ua, va), na = r | |
} | |
function Ra(e, t) { | |
if (qa != 0) { | |
var n = (t - qa) / 1e3; | |
n > 1 && (n = 1), ou(aa, e), cu(aa, -n), Iu(aa, ma), Su(pa, va), Cu(ma, va, pa), Su(va, pa), Fa(), Su(da, | |
ga), bu(da, n * n), Nu(ya, da) | |
} | |
qa = t, ou(ra, e) | |
} | |
function Ua() { | |
return va | |
} | |
function Va(e) { | |
var t = za; | |
ou(t, ra), cu(t, -e); | |
var n = Wa; | |
Iu(t, n); | |
var r = Xa; | |
return Cu(n, va, r), r | |
} | |
function Za(e) { | |
var t = e[a]("://"); | |
if (t > 0) { | |
var n = e[a]("/", t + 3), | |
r = e[$t](0, t)[m](), | |
i = e[$t](t + 3, n), | |
s = e[$t](n); | |
return [r, i, s] | |
} | |
return o | |
} | |
function ef(e) { | |
if (Ka == o) { | |
var n = Za($a), | |
i = Za(window[Nn].href), | |
u = i[0]; | |
if (u == "http" || u == "https") { | |
u = "https", Qa = u + "://" + n[1], Ga = Qa + n[2]; | |
var a = document[ti]("iframe"); | |
a.style.cssText = "position:absolute;width:1px;height:1px;left:-9999px;visibility:hidden;", si[w][un].appendChild( | |
a), Ka = a, a[s]("load", function () { | |
Ja = r, e(Ka) | |
}, t), window[s]("message", nf, t), a.src = Ga | |
} | |
} else Ja && e(Ka) | |
} | |
function tf(e) { | |
ef(function (t) { | |
try { | |
t.contentWindow.postMessage(e, Qa) | |
} catch (n) {} | |
}) | |
} | |
function nf(e) { | |
if (e.origin == Qa) { | |
var t = "" + e.data; | |
t[$t](0, 15) == "webvr_settings:" && rf(t[$t](15)) | |
} | |
} | |
function rf(e) { | |
var t = e[En](yn), | |
n = Number(t[0]), | |
i = Number(t[1]), | |
s = Number(t[2]), | |
u = Number(t[3]), | |
a = Number(t[4]), | |
f = Number(t[5]), | |
l = Number(t[6]), | |
c = Number(t[7]), | |
h = Number(t[8]), | |
p = Number(t[9]), | |
d = "" + t[10], | |
v = Number(t[11]); | |
isNaN(l) && (l = 0), isNaN(c) && (c = 0), isNaN(h) && (h = 0), isNaN(p) && (p = 1), isNaN(v) && (v = 0), d[En]( | |
"|")[et] != 4 && (d = vr); | |
if (!isNaN(n) && n >= 30 && n < 90 && !isNaN(i) && i >= 0 && i < 12 && !isNaN(s) && s >= 1 && s < 180 && !isNaN( | |
u) && u >= 0 && u < 10 && !isNaN(a) && a >= 1 && a < 500 && !isNaN(f) && f >= 0 && f < 10 && !isNaN(p) && p > | |
0 && p < 2) { | |
Ci = n; | |
if (Rs == o || Rs[K] != qt) ki = i; | |
Ai = s, Oi = u, Hi = a, Fi = f, ff.rx = l, ff.ry = c, ff.rz = h, Li = p, Mi = d, Pi = v, Qi = r | |
} | |
} | |
function sf(e) { | |
var n = ("" + e)[m]() != "local"; | |
if (oi[Xn] || oi.ios || oi.safari || oi[S]) n = t; | |
return n | |
} | |
function of(e) { | |
if ($i || Ki) { | |
if (Ya) try { | |
var t = window.localStorage; | |
if (t) { | |
var n = t[_r](Vn); | |
n || (n = t[_r](Fn)), n || (n = t[_r](zn)), n || (n = t[_r](qn)), n && rf(n) | |
} | |
} catch (r) {} | |
sf(e) && tf("load.4") | |
} | |
} | |
function uf(e) { | |
if ($i || Ki) { | |
var n = Ci + yn + ki + yn + Ai + yn + Oi + yn + Hi + yn + Fi + yn + ff.rx + yn + ff.ry + yn + ff.rz + yn + | |
Li + yn + Mi + yn + Pi; | |
if (Ya) try { | |
var r = window.localStorage; | |
r && (r[Cr](Vn, n), r[Cr](Fn, n[En](yn)[$t](0, 10).join(yn)), r[Cr](zn, n[En](yn)[$t](0, 9).join(yn)), | |
r[Cr](qn, n[En](yn)[$t](0, 6).join(yn))) | |
} catch (i) {} | |
var s = ("" + e)[m]() != "local"; | |
if (oi[Xn] || oi.ios) s = t; | |
sf(e) && tf("save.4:" + n) | |
} | |
} | |
function hf(e, n) { | |
Xi && $i && !Ji && (af = r, Ti = t, lf = e, cf = n, df(-1)) | |
} | |
function pf() { | |
af = t, ff.rx = 0, ff.ry = 0, ff.rz = 0 | |
} | |
var e = "registerattribute", | |
t = !1, | |
n = "removeEventListener", | |
r = !0, | |
s = "addEventListener", | |
o = null, | |
u = "events.dispatch('webvr_onunavailable');", | |
a = "indexOf", | |
f = "view", | |
l = "events.dispatch('webvr_onavailable');", | |
c = "enabled", | |
h = "deviceorientation", | |
p = "onunavailable", | |
d = "fullscreenchange", | |
v = "orientation", | |
m = "toLowerCase", | |
g = "browser", | |
y = "architectural", | |
b = "getEyeParameters", | |
w = "display", | |
E = "devicemotion", | |
S = "desktop", | |
x = "control", | |
T = "maxpixelzoom", | |
N = "fisheyefovlink", | |
C = "call", | |
k = "LG G4 Stylus", | |
L = "LG G4", | |
A = "stereographic", | |
O = "events", | |
M = "android", | |
_ = "mousedown", | |
D = "continuousupdates", | |
P = "hlookat", | |
H = "getRecommendedEyeRenderRect", | |
B = "limitview", | |
j = "Xperia C4", | |
F = "LG G Flex 2", | |
I = "chromeversion", | |
q = "height", | |
R = "events.dispatch('webvr_onunknowndevice');", | |
U = "area", | |
z = "LG G3", | |
W = "getCurrentEyeFieldOfView", | |
X = "onavailable", | |
V = "webkitFullscreenElement", | |
$ = "mousemove", | |
J = "#ifdef GL_FRAGMENT_PRECISION_HIGH\n", | |
K = "devicename", | |
Q = "fullscreen", | |
G = "loadwhilemoving", | |
Y = "OnePlus One", | |
Z = "capabilities", | |
et = "length", | |
tt = "isPresenting", | |
nt = "renderRect", | |
rt = "mozFullScreenElement", | |
it = "haschanged", | |
st = "touchstart", | |
ot = "HTC One M8", | |
ut = "LG V10", | |
at = "safearea_inset", | |
ft = "right", | |
lt = "Zenfone 2 Laser", | |
ct = "pannini", | |
ht = "float r = texture2D(sm,vR).r;", | |
pt = "float b = texture2D(sm,vB).b;", | |
dt = "msFullscreenElement", | |
vt = "width", | |
mt = "downloadlockedlevel", | |
gt = "fovtype", | |
yt = "fisheye", | |
bt = "onunknowndevice", | |
wt = "Xperia Z Ultra", | |
Et = "Galaxy S5", | |
St = "timertick", | |
xt = "Xperia M5", | |
Tt = "Xperia Z3", | |
Nt = "userAgent", | |
Ct = "Xperia Z1", | |
kt = "webkitIsFullScreen", | |
Lt = "Xperia C5", | |
At = "getRecommendedRenderTargetSize", | |
Ot = "stereooverlap", | |
Mt = "uniform1f", | |
_t = "vec2 vB = center + v * ca;", | |
Dt = "vec2 vR = center + v / ca;", | |
Pt = "precision mediump float;\n", | |
Ht = "renderTargetSize", | |
Bt = "fullscreenElement", | |
jt = "getEyeTranslation", | |
Ft = "lockmultireslevel", | |
It = "documentElement", | |
qt = "iPhone X", | |
Rt = "precision highp float;\n", | |
Ut = "left", | |
zt = "#endif\n", | |
Wt = "atan2", | |
Xt = "touchend", | |
Vt = "devicePixelRatio", | |
$t = "slice", | |
Jt = "auto", | |
Kt = "accelerationIncludingGravity", | |
Qt = "vrdisplaypresentchange", | |
Gt = "usercontrol", | |
Yt = "uniform sampler2D sm;", | |
Zt = "vec2 v = tx - center;", | |
en = "fovmax", | |
tn = "fovmin", | |
nn = "LG G3 S", | |
rn = "A11 GPU", | |
sn = "A10 GPU", | |
on = "scaleflying", | |
un = "viewerlayer", | |
an = "HTC One M9", | |
fn = "vrdisplaydeactivate", | |
ln = "layer", | |
cn = "Moto X", | |
hn = "LG G Flex", | |
pn = "A8 GPU", | |
dn = "useProgram", | |
vn = "iPhone", | |
mn = "landscape", | |
gn = "A9 GPU", | |
yn = ",", | |
bn = "uniform float ca;", | |
wn = "brokenGyroChromeWarning", | |
En = "split", | |
Sn = "vlookat", | |
xn = "uniform float ol;", | |
Tn = "vrdisplayactivate", | |
Nn = "location", | |
Cn = "Xperia Z3 Compact", | |
kn = "LG Magna", | |
Ln = "LG Optimus G Pro", | |
An = "recommendedFieldOfView", | |
On = "varying vec2 tx;", | |
Mn = "setAttribute", | |
_n = "sqrt", | |
Dn = "YXZ", | |
Pn = "LG G2", | |
Hn = "distorted", | |
Bn = "chrome", | |
jn = "mousetype", | |
Fn = "krpano.webvr.3", | |
In = "HTC Desire 626", | |
qn = "krpano.webvr.1", | |
Rn = "HTC Desire 728", | |
Un = "#ifdef GL_ES\n", | |
zn = "krpano.webvr.2", | |
Wn = "trace", | |
Xn = "firefox", | |
Vn = "krpano.webvr.4", | |
$n = "Zenfone Selfie", | |
Jn = "webGL", | |
Kn = "mozUnlockOrientation", | |
Qn = "visible", | |
Gn = "camroll", | |
Yn = "contextmenu", | |
Zn = "Zenfone Zoom", | |
er = "stereo", | |
tr = "hasExternalDisplay", | |
nr = "mobile", | |
rr = "mozGetVRDevices", | |
ir = "mozLockOrientation", | |
sr = "unlockOrientation", | |
or = "iOS_current_video", | |
ur = "void main()", | |
ar = "Moto X Play", | |
fr = "_VR_backup", | |
lr = "HTC One M9+", | |
cr = "iPhone 6S+", | |
hr = "HTC One A9", | |
pr = "getVRDisplays", | |
dr = "timeupdate", | |
vr = "1|0|0|0", | |
mr = "HTC One E8", | |
gr = "LG G5", | |
yr = "HTC One E9", | |
br = "iPhone 8+", | |
wr = "Galaxy A3", | |
Er = "Galaxy A5", | |
Sr = "Galaxy A7", | |
xr = "iPhone 6S", | |
Tr = "devices", | |
Nr = "off", | |
Cr = "setItem", | |
kr = "lockOrientation", | |
Lr = "iPhone 6+", | |
Ar = "Xperia Z5", | |
Or = "maxmem", | |
Mr = "touchmove", | |
_r = "getItem", | |
Dr = "iPhone 7+", | |
Pr = "Galaxy S3", | |
Hr = "Galaxy S4", | |
Br = "LG Spirit", | |
jr = "hotspot[", | |
Fr = "type", | |
Ir = "Honor 4X", | |
qr = "Nexus 5X", | |
Rr = "screentosphere", | |
Ur = "createppshader", | |
zr = "hardwareUnitId", | |
Wr = "iPhone 8", | |
Xr = "changedTouches", | |
Vr = "iPhone 7", | |
$r = "mozOrientation", | |
Jr = "VFOV", | |
Kr = "eyeTranslation", | |
Qr = "Honor 6+", | |
Gr = "iPhone 6", | |
Yr = "Unknown", | |
Zr = "#else\n", | |
ei = "HTC One", | |
ti = "createElement", | |
ni = "Honor 7", | |
ri = "keydown", | |
ii = this; | |
ii.name = "WebVR", ii.version = "1.19-pr15", ii.build = "2018-03-28"; | |
var si = o, | |
oi = o, | |
ui = o, | |
ai = document, | |
fi = 1, | |
li = 0, | |
ci = 1, | |
hi = .00125, | |
pi = t, | |
di = r, | |
vi = 0, | |
mi = r, | |
gi = 1, | |
yi = t, | |
bi = r, | |
wi = t, | |
Ei = t, | |
Si = r, | |
xi = r, | |
Ti = t, | |
Ni = r, | |
Ci = 63.5, | |
ki = Jt, | |
Li = 1, | |
Ai = 96, | |
Oi = .6, | |
Mi = vr, | |
_i = [1, 0, 0, 0], | |
Di = t, | |
Pi = 0, | |
Hi = 100, | |
Bi = r, | |
ji = 1, | |
Fi = 3, | |
Ii = "https://dpdb.webvr.rocks/dpdb.json", | |
qi = "", | |
Ri = r, | |
Ui = o, | |
zi = o, | |
Wi = o, | |
Xi = t, | |
Vi = t, | |
$i = t, | |
Ji = t, | |
Ki = t, | |
Qi = t, | |
Gi = t, | |