Skip to content

Instantly share code, notes, and snippets.

@justpsvm justpsvm/webvr.js
Created May 22, 2018

Embed
What would you like to do?
解密后的 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,
Yi = t,
Zi = t,
es = {
enabled: t,
eyetranslt: Zo,
requestframe: Qo,
updateview: Vo,
submitframe: Go,
prjmatrix: Yo,
getsize: eu,
getcursor: ru,
setoffset: oo,
resetsensor: uo,
plugin: o
}, ts = r,
ns = 0,
rs = 0,
is = 6,
ss = 0,
os = 1,
us = 0,
as = 0,
fs = 0,
ls = t,
cs = o,
hs = o,
ps = Math.PI / 180,
ds = 180 / Math.PI,
ms = t;
ii.registerplugin = function (n, i, s) {
si = n, ui = s;
if (si.version < "1.19" || si.build < "2017-01-01") {
si[Wn](3, "WebVR plugin - too old krpano version (min. 1.19)");
return
}
if (si.webVR) return;
oi = si.device, ("" + navigator[Nt])[m]()[a]("mobile vr") >= 0 && (Gi = r, Bi = r), oi.windows && oi[Bn] && (oi[
I] | 0) == 63 && (ms = r), ui[e]("zoom", fi, function (e) {
var t = Number(e);
isNaN(t) || (fi = t)
}, function () {
return fi
}), ui[e]("friction", li, function (e) {
var t = Number(e);
isNaN(t) || (li = t)
}, function () {
return li
}), ui[e]("worldscale", ci, function (e) {
var t = Number(e);
isNaN(t) || (ci = Math.max(t, .1))
}, function () {
return ci
}), ui[e]("mousespeed", hi, function (e) {
var t = Number(e);
isNaN(t) || (hi = t)
}, function () {
return hi
}), ui[e]("headtracking", di, function (e) {
var n = vs(e);
if (n != di) if (n == t) di = t;
else {
di = r;
var i = si[f][P];
si[f][P] = vi, oo(i)
}
}, function () {
return di
}), ui[e]("pos_tracking", pi, function (e) {
pi = vs(e)
}, function () {
return pi
}), ui[e]("multireslock", mi, function (e) {
mi = vs(e), es[c] && lo()
}, function () {
return mi
}), ui[e]("oversampling", gi, function (e) {
gi = Number(e), si[U][it] = r
}, function () {
return gi
}), ui[e]("fullscreen_mirroring", yi, function (e) {
yi = vs(e)
}, function () {
return yi
}), ui[e]("mobilevr_support", bi, function (e) {
bi = vs(e)
}, function () {
return bi
}), ui[e]("mobilevr_touch_support", wi, function (e) {
wi = vs(e)
}, function () {
return wi
}), ui[e]("mobilevr_fake_support", Ei, function (e) {
Ei = vs(e)
}, function () {
return Ei
}), ui[e]("mobilevr_ipd", Ci, function (e) {
var t = Number(e);
isNaN(t) || (Ci = t), Vs()
}, function () {
return Ci
}), ui[e]("mobilevr_screensize", ki, function (e) {
Ys(e)
}, function () {
return Zs()
}), ui[e]("mobilevr_lens_fov", Ai, function (e) {
var t = Number(e);
isNaN(t) || (Ai = t, Vs())
}, function () {
return Ai
}), ui[e]("mobilevr_lens_overlap", Li, function (e) {
var t = Number(e);
isNaN(t) || (Li = t, Vs())
}, function () {
return Li
}), ui[e]("mobilevr_lens_dist", Oi, function (e) {
var t = Number(e);
isNaN(t) || (Oi = t, Vs())
}, function () {
return Oi
}), ui[e]("mobilevr_lens_dist2", Mi, function (e) {
Mi = e, Vs()
}, function () {
return Mi
}), ui[e]("mobilevr_lens_ca", Pi, function (e) {
var t = Number(e);
isNaN(t) || (Pi = t, Vs())
}, function () {
return Pi
}), ui[e]("mobilevr_lens_vign", Hi, function (e) {
var t = Number(e);
isNaN(t) || (Hi = t, Vs())
}, function () {
return Hi
}), ui[e]("mobilevr_webvr_dist", Bi, function (e) {
Bi = vs(e)
}, function () {
return Bi
}), ui[e]("mobilevr_wakelock", Si, function (e) {
Si = vs(e)
}, function () {
return Si
}), ui[e]("mobilevr_orientationlock", xi, function (e) {
xi = vs(e)
}, function () {
return xi
}), ui[e]("mobilevr_autocalibration", Ti, function (e) {
Ti = vs(e)
}, function () {
return Ti
}), ui[e]("mobilevr_webvr_firefox", Ni, function (e) {
Ni = vs(e)
}, function () {
return Ni
}), ui[e]("mobilevr_sensor", ji, function (e) {
ji = parseInt(e) & 1
}, function () {
return ji
}), ui[e]("mobilevr_sensor_mode", Fi, function (e) {
var t = parseInt(e);
t >= 0 && t <= 7 && (Fi = t), rs = 0
}, function () {
return Fi
}), ui[e]("mobilevr_database_url", Ii, function (e) {
Ii = "" + e
}, function () {
return Ii
}), ui[e]("vr_cursor", qi, function (e) {
tu(e)
}, function () {
return qi
}), ui[e]("vr_cursor_enabled", Ri, function (e) {
Ri = vs(e)
}, function () {
return Ri
}), ui[e]("vr_cursor_onover", zi, function (e) {
zi = e
}, function () {
return zi
}), ui[e]("vr_cursor_onout", Wi, function (e) {
Wi = e
}, function () {
return Wi
}), ui[e]("isavailable", Vi, function (e) {}, function () {
return Vi
}), ui[e]("isenabled", Xi, function (e) {}, function () {
return Xi
}), ui[e]("iswebvr", !$i, function (e) {}, function () {
return !$i || Ki
}), ui[e]("ismobilevr", $i, function (e) {}, function () {
return $i || Ki
}), ui[e]("isfake", Ji, function (e) {}, function () {
return Ji
}), ui[e]("havesettings", Qi, function (e) {}, function () {
return Qi
}), ui[e]("isgearvr", t, function (e) {}, function () {
return Gi
}), ui[e](K, "", function (e) {}, function () {
return Qs()
}), ui[e]("devicesize", "", function (e) {}, function () {
return Gs()
}), ui[e](X, o), ui[e](p, o), ui[e](bt, o), ui[e]("onentervr", o), ui[e]("onexitvr", o), ui.entervr = no, ui.exitvr =
io, ui.togglevr = so, ui.resetsensor = uo, ui.lookat = oo, ui.loadsettings = of, ui.savesettings = uf, ui.calibrate =
hf, ui.resetcalibration = pf, ui.update = to;
if (si[Jn]) {
si.webVR = es, es.plugin = ui;
var l = t;
oi[M] && (oi[Xn] && Ni == t ? l = r : oi[Bn] && oi[I] < 62 && !Gi && (l = r));
var h = document[It].requestPointerLock || document[It].mozRequestPointerLock || document[It].webkitRequestPointerLock,
d = document.exitPointerLock || document.mozExitPointerLock || document.webkitExitPointerLock;
oi[Bn] && oi[I] < 33 && (h = d = o), h && d && (ls = r, cs = h, hs = d);
try {
l == t && navigator[pr] ? navigator[pr]().then(Ds) : l == t && navigator.getVRDevices ? navigator.getVRDevices()
.then(Fs) : l == t && navigator[rr] ? navigator[rr](Fs) : bi ? gs() : Yi == t && (Yi = r, si[C](ui[
p], ui), si[C](u, ui))
} catch (v) {}
} else Yi == t && (Yi = r, si[C](ui[p], ui), si[C](u, ui))
}, ii.unloadplugin = function () {
io(), po(t, r), ai[n](oi[g][O][d], bo), si[x][ln][n](_, go, t), window[n](Qt, Bs, t), window[n](Tn, Ps, t),
window[n](fn, Hs, t), es.plugin = o, si.webVR = o, delete si.webVR
};
var Es = o,
Ss = o,
xs = o,
Ts = o,
Ns = o,
Cs = o,
ks = o,
Ls = o,
As = o,
Os = o,
Ms = o,
_s = 100,
Is = o,
Rs = o,
ao = o,
po = function () {
function u(e) {
i && i.currentTime > .5 && (i.currentTime = Math.random())
}
function f() {
i.paused && c()
}
function c() {
l == t && (l = r, document.body[s](st, p, r), document.body[s](Xt, p, r))
}
function h() {
l && (l = t, document.body[n](st, p, r), document.body[n](Xt, p, r))
}
function p(e) {
i && (i.play(), video.paused == t && h())
}
var e = o,
i = o,
l = t;
return function (r, l) {
if (oi[nr] && Ji == t) if (r) {
if (oi.ios && oi.iosversion < 10.3) {
var c = 15;
e = window.setInterval(function () {
var e = "" + window[Nn].href;
e[a]("#") > 0 ? (e = e[En]("#")[0], window[Nn] = e) : window[Nn] = window[Nn], window.setTimeout(
window.stop, 0), window.setTimeout(si.Kloader.iOSWakelockCheck, 1)
}, c * 1e3)
} else if (oi[M] || oi.ios && oi.iosversion >= 10.3) {
if (oi.ios && si[or] && si[or].paused === t) return;
i == o && (i = document[ti]("video"), i[Mn]("webkit-playsinline", ""), i[Mn]("playsinline",
""), i[Mn]("src", mf), i[s](dr, u)), i.play(), f()
}
} else {
e && (window.clearInterval(e), e = o);
if (i && l) {
i[n](dr, u), i.pause();
try {
i.src = "", i.removeAttribute("src")
} catch (h) {}
i = o
}
}
}
}(),
mo = 0,
wo = 0,
Eo = 0,
So = o,
xo = o,
Io = {
q: new No(0, 0, 0, 1),
t: 0
}, qo = {
q: new No(0, 0, 0, 1),
t: 0
}, Ro = new No(0, 0, 0, 1),
Uo = o,
Wo = o,
Xo = new No(0, 0, 0, 1),
$o = o,
Au = new iu,
Ou = new iu,
Mu = new iu,
_u = new iu,
Du = new iu,
Pu = vu(),
Hu = vu(),
Bu = new iu,
ju = new iu,
Wu = 0,
Xu = new iu,
Vu = new iu,
$u = o,
Ju = vu(),
Ku = vu(),
Qu = vu(),
Gu = vu(),
Zu = function () {
var e = 0,
t = 0,
n = 0,
r = 0,
i = 0,
s = 0,
o = 0,
u = 0,
a = 0,
f = 0,
l = 1,
c = 0,
h = 0,
p = 0,
d = .03;
return function (c, h, p, v) {
var m = c - e,
g = h - t,
y = p - n,
b = v - r;
e = c, t = h, n = p, r = v;
var w = Math[_n](m * m + g * g + y * y);
if (b > 500) {
i = 0;
return
}
if (i == 0) {
i = b, s = w;
return
}
i = i * .95 + .05 * b;
var E = Math.min(15 * i / 1e3, .5);
s = s * (1 - E) + E * w;
var S = ff;
s < d ? (o++, u += c, a += h, f += p, o > 19 && (S.rx = S.rx * (1 - l) + l * (u / o), S.ry = S.ry * (1 -
l) + l * (a / o), S.rz = S.rz * (1 - l) + l * (f / o), l > .5 && (l *= .9), s = 10, d *= .5)) : (o =
1, u = c, a = h, f = p)
}
}(),
ea = 0,
na = t,
ra = new iu,
ia = new iu,
sa = new iu,
oa = new iu,
ua = new iu,
aa = new iu,
fa = new iu,
la = new iu,
ca = new iu,
ha = new iu,
pa = vu(),
da = vu(),
va = vu(),
ma = vu(),
ga = vu(),
ya = vu(),
ba = vu(),
wa = vu(),
Ea = vu(),
Sa = vu(),
xa = vu(),
Ta = vu(),
Na = vu(),
Ca = vu(),
ka = vu(),
La = vu(),
Aa = vu(),
Oa = vu(),
Ma = 20,
_a = .5,
Da = 9.81,
Pa = 1e7,
Ha = t,
qa = 0,
za = new iu,
Wa = vu(),
Xa = vu(),
$a = "https://d8d913s460fub.cloudfront.net/krpanocloud/webvr_localstorage.html?v=4",
Ja = t,
Ka = o,
Qa = o,
Ga = o,
Ya = r,
af = t,
ff = {
rx: 0,
ry: 0,
rz: 0
}, lf = o,
cf = o,
df = function () {
function i() {
var t = 0,
r = n * 3,
i = 0,
s = 0,
o = 0,
u = 0,
a = 0,
f = 0,
l = 0,
c = 0,
h = 0,
p = 0;
for (t = 0; t < r; t += 3) i += e[t | 0], s += e[t + 1 | 0], o += e[t + 2 | 0];
i /= n, s /= n, o /= n;
for (t = 0; t < r; t += 3) l = e[t | 0] - i, c = e[t + 1 | 0] - s, h = e[t + 2 | 0] - o, u += l * l, a +=
c * c, f += h * h;
u = Math[_n](u / n), a = Math[_n](a / n), f = Math[_n](f / n), p = Math[_n](u * u + a * a + f * f);
if (p < .05) {
var d = ff;
d.rx = i, d.ry = s, d.rz = o, lf && si[C](lf, ui)
} else cf && si[C](cf, ui)
}
var e = new Array(300),
n = 0,
r = 0;
return function (s, o, u, a) {
if (s < 0) {
n = 0, r = si[St];
return
}
var f = si[St] - r;
if (f > 500) {
var l = n * 3;
e[l | 0] = o, e[l + 1 | 0] = u, e[l + 2 | 0] = a, n++;
if (n > 100 || f > 2500) af = t, i()
}
}
}(),
vf = function () {
function u(t) {
for (i = 0; i < t[et]; i++) if (e && t[i] === e || r && t[i] === r) t.splice(i, 1), i--
}
var e = o,
n = "" + Un + J + Rt + Zr + Pt + zt + zt + Yt + On + bn + xn + ur + "{" +
"float g = texture2D(sm,tx).g;" +
"vec2 center = vec2(0.5 + (0.5 - ol)*(step(0.5,tx.x) - 0.5), 0.5);" + Zt + Dt + ht + _t + pt +
"gl_FragColor=vec4(r,g,b,1.0);" + "}",
r = o,
s = "" + Un + J + Rt + Zr + Pt + zt + zt + Yt + On + "uniform vec2 sz;" + "uniform float ss;" + bn + xn +
"uniform float vg;" + "uniform vec4 dd;" + ur + "{" + "float vig = 0.015;" +
"float side = step(0.5,tx.x) - 0.5;" + "float aspect = (sz.x / sz.y);" +
"vec2 center = vec2(0.5 + (0.5 - ol)*side, 0.5);" + Zt + "v.x = v.x * aspect;" + "v *= 2.0 * ss;" +
"float rs = dot(v,v);" + "v = v * (dd.x + rs*(dd.y + rs*(dd.z + rs*dd.w)));" + "v /= 2.0 * ss;" +
"v.x = v.x / aspect;" + "vec2 vG = center + v;" +
"float a = (1.0 - smoothstep(vG.x-vig - side*ol, vG.x - side*ol, center.x - 0.25)) * " +
"(1.0 - smoothstep(center.x + 0.25 - vG.x + side*ol - vig, center.x + 0.25 - vG.x + side*ol, 0.0)) * " +
"(1.0 - smoothstep(vG.y-vig, vG.y, 0.0)) * " +
"(1.0 - smoothstep(1.0 - vG.y-vig,1.0 - vG.y, 0.0));" + "a *= smoothstep(rs-vig, rs+vig, vg);" + Dt +
_t + ht + "float g = texture2D(sm,vG).g;" + pt + "gl_FragColor=vec4(a*r,a*g,a*b,1.0);" + "}";
return function (i) {
var a = si[Jn];
if (a) {
var f, l = a.context,
c = a.ppshaders,
h = Pi,
p = .1 / os;
h = (-1 / (1 - h * p) + 1) / p;
var d = 1 - h * p;
Di == t && d > .999999 && d < 1.000001 && (i = t), si[w][er] == t && (i = t);
if (i) if (Di) {
r == o && (r = a[Ur](s, "ss,ca,dd,ol,sz,vg"));
if (r) {
var v = 1 / _i[0],
m = _i[1],
g = _i[2],
y = _i[3];
a[dn](r.prg), l[Mt](r.ss, os), l[Mt](r.ca, d), l.uniform4f(r.dd, v, v * m, v * g, v * y),
l[Mt](r.ol, .5 * fs * (1 + (Li - 1) * .1)), l[Mt](r.vg, Hi / 30), a[dn](o), u(c), c
.push(r)
}
} else e == o && (e = a[Ur](n, "ca,ol")), e && (a[dn](e.prg), l[Mt](e.ca, d), l[Mt](e.ol, .5 *
fs * (1 + (Li - 1) * .1)), a[dn](o), u(c), c.push(e));
else u(c)
}
}
}(),
mf =
"data:video/mp4;base64,AAAAIGZ0eXBtcDQyAAACAGlzb21pc28yYXZjMW1wNDEAAAAIZnJlZQAACKBtZGF0AAAC8wYF///v3EXpvebZSLeWLNgg2SPu73gyNjQgLSBjb3JlIDE0MiByMjQ3OSBkZDc5YTYxIC0gSC4yNjQvTVBFRy00IEFWQyBjb2RlYyAtIENvcHlsZWZ0IDIwMDMtMjAxNCAtIGh0dHA6Ly93d3cudmlkZW9sYW4ub3JnL3gyNjQuaHRtbCAtIG9wdGlvbnM6IGNhYmFjPTEgcmVmPTEgZGVibG9jaz0xOjA6MCBhbmFseXNlPTB4MToweDExMSBtZT1oZXggc3VibWU9MiBwc3k9MSBwc3lfcmQ9MS4wMDowLjAwIG1peGVkX3JlZj0wIG1lX3JhbmdlPTE2IGNocm9tYV9tZT0xIHRyZWxsaXM9MCA4eDhkY3Q9MCBjcW09MCBkZWFkem9uZT0yMSwxMSBmYXN0X3Bza2lwPTEgY2hyb21hX3FwX29mZnNldD0wIHRocmVhZHM9NiBsb29rYWhlYWRfdGhyZWFkcz0xIHNsaWNlZF90aHJlYWRzPTAgbnI9MCBkZWNpbWF0ZT0xIGludGVybGFjZWQ9MCBibHVyYXlfY29tcGF0PTAgY29uc3RyYWluZWRfaW50cmE9MCBiZnJhbWVzPTMgYl9weXJhbWlkPTIgYl9hZGFwdD0xIGJfYmlhcz0wIGRpcmVjdD0xIHdlaWdodGI9MSBvcGVuX2dvcD0wIHdlaWdodHA9MSBrZXlpbnQ9MzAwIGtleWludF9taW49MzAgc2NlbmVjdXQ9NDAgaW50cmFfcmVmcmVzaD0wIHJjX2xvb2thaGVhZD0xMCByYz1jcmYgbWJ0cmVlPTEgY3JmPTIwLjAgcWNvbXA9MC42MCBxcG1pbj0wIHFwbWF4PTY5IHFwc3RlcD00IHZidl9tYXhyYXRlPTIwMDAwIHZidl9idWZzaXplPTI1MDAwIGNyZl9tYXg9MC4wIG5hbF9ocmQ9bm9uZSBmaWxsZXI9MCBpcF9yYXRpbz0xLjQwIGFxPTE6MS4wMACAAAAAOWWIhAA3//p+C7v8tDDSTjf97w55i3SbRPO4ZY+hkjD5hbkAkL3zpJ6h/LR1CAABzgB1kqqzUorlhQAAAAxBmiQYhn/+qZYADLgAAAAJQZ5CQhX/AAj5IQAD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",
gf =
"data:video/webm;base64,GkXfowEAAAAAAAAfQoaBAUL3gQFC8oEEQvOBCEKChHdlYm1Ch4ECQoWBAhhTgGcBAAAAAAABzRFNm3RALE27i1OrhBVJqWZTrIHfTbuMU6uEFlSua1OsggEuTbuMU6uEHFO7a1OsggGw7AEAAAAAAACkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVSalmAQAAAAAAAEMq17GDD0JATYCMTGF2ZjU2LjMuMTAwV0GMTGF2ZjU2LjMuMTAwc6SQC+JFWnEfyt4nOD98NcnLDESJiAAAAAAAAAAAFlSuawEAAAAAAABCrgEAAAAAAAA514EBc8WBAZyBACK1nIN1bmSGhVZfVlA4g4EBI+ODgw9CQOABAAAAAAAADrCBCLqBCFSwgQhUuoEIH0O2dQEAAAAAAAAo54EAo6OBAACAEAIAnQEqCAAIAABHCIWFiIWEiAICAAwNYAD+/6PeABxTu2sBAAAAAAAAEbuPs4EAt4r3gQHxggF88IED"
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.