Initial commit

This commit is contained in:
natuka committed 2025-06-05 09:25:26 +08:00
commit 84061c9a18
243 files changed
+63148

No files matched your search

+196
View File
@@ -0,0 +1,196 @@
import type { UnwrapRef } from 'vue'
import { isReactive, isRef, reactive, ref, unref, watch } from 'vue'
import { isEqual } from 'lodash-es'
import type { MaybeRef } from '@/typing'
export interface PageInfo {
current: number
pageSize: number
total: number
[key: string]: any
}
export interface ReponseData<T> {
data: T[]
success?: boolean
total?: number
[key: string]: any
}
export type RequestParams =
| {
pageSize: number
current: number
[key: string]: any
}
| undefined
export interface UseFetchDataAction<T extends ReponseData<any>> {
stripe: (record: any, index: number) => string | undefined
cancel: () => void
reload: () => Promise<void>
resetPageIndex: () => void
reset: () => void
context: Context<T>
setPageInfo: (pageInfo: Partial<PageInfo>) => void
}
export interface Context<T extends ReponseData<any>> {
current: number
pageSize: number
dataSource: T['data']
loading: boolean
total: number
requestParams?: MaybeRef<{
[key: string]: any
}>
[key: string]: any
}
export const defaultContext: Context<any> = {
stripe: false,
loading: false,
current: 1,
pageSize: 20,
total: 0,
dataSource: [],
}
// 如果请求数据中,没有分页,仅单列表数据,可以使用该方法进行包装,免去重复写请求方法
export const wrap = (req: () => Promise<any[]>): (() => Promise<ReponseData<any>>) => {
return () =>
req().then((res) => {
const data = res
return {
data,
total: data.length,
success: data !== null && data !== undefined,
}
})
}
const filterNoValidValue = (obj: Record<string, any> = {}) => {
const newObj = {}
Object.keys(obj).forEach((k) => {
if (obj[k] !== undefined && obj[k] !== '' && obj[k] !== null)
newObj[k] = obj[k]
})
return newObj
}
export const useFetchData = <T extends ReponseData<any>>(
getData: (params?: RequestParams) => Promise<T>,
context: MaybeRef<{
stripe?: boolean
current?: number
pageSize?: number
dataSource?: T['data']
loading?: boolean
requestParams?: MaybeRef<{
[key: string]: any
}>
[key: string]: any
}> = reactive({ ...defaultContext }),
options?: {
current?: number
pageSize?: number
onLoad?: (dataSource: T['data']) => void
onRequestError?: (e: Error) => void
pagination?: boolean
},
): UseFetchDataAction<T> => {
const state = reactive({ ...defaultContext } as Context<T>)
const mergeContext = isReactive(context) || isRef(context) ? context : ref(context)
watch(
mergeContext,
() => {
Object.assign(state, unref(context))
},
{ immediate: true },
)
const fetchList = async () => {
// 请求中禁止重复请求
if (state.loading)
return
state.loading = true
const { pageSize = 20, current = 1 } = state
try {
const params: RequestParams
= options?.pagination !== false
? {
current,
pageSize,
...filterNoValidValue(unref(mergeContext).requestParams),
}
: undefined
const { data, success, total: dataTotal = 0 } = await getData(params)
state.loading = false
if (success !== false) {
state.dataSource = data as UnwrapRef<T['data']>
state.total = dataTotal
}
}
catch (e: any) {
state.loading = false
// 如果没有传递这个方法的话,需要把错误抛出去,以免吞掉错误
if (options?.onRequestError === undefined)
throw new Error(e)
else
options.onRequestError(e)
}
}
const cancel = () => {}
const reset = () => {}
const reload = (): Promise<void> => {
return new Promise((resolve) => {
resolve(fetchList())
})
}
const setPageInfo = (pageInfo: Partial<PageInfo>) => {
console.warn('setPageInfo 废弃,请直接使用响应式 context')
pageInfo.current && (state.current = pageInfo.current)
pageInfo.pageSize && (state.pageSize = pageInfo.pageSize)
}
const resetPageIndex = (): void => {
console.warn('resetPageIndex 废弃,请直接使用响应式 context')
// state.current = 1;
}
watch(
[() => state.current, () => state.pageSize, () => ({ ...state.requestParams })],
(nextValue, preValue) => {
if (!isEqual(nextValue, preValue)) {
fetchList().catch((e) => {
throw new Error(e)
})
}
},
{ immediate: true, deep: true },
)
const stripe = (_: any, index: number) => index % 2 === 1 && state.stripe && 'ant-pro-table-row-striped'
return {
stripe,
cancel,
reset,
reload,
resetPageIndex,
setPageInfo: (info) => {
setPageInfo({
current: state.current,
pageSize: state.pageSize,
...info,
})
},
context: state,
}
}
+9
View File
@@ -0,0 +1,9 @@
import store from 'store'
import expirePlugin from 'store/plugins/expire'
// plugin usage:
store.addPlugin(expirePlugin)
export { store as localStorage }
export default store
+93
View File
@@ -0,0 +1,93 @@
import type { AxiosError, InternalAxiosRequestConfig } from 'axios'
import axios from 'axios'
import { showNotify } from 'vant'
import { localStorage } from '@/utils/local-storage'
import { STORAGE_TOKEN_KEY } from '@/stores/mutation-type'
// 这里是用于设定请求后端时,所用的 Token KEY
// 可以根据自己的需要修改,常见的如 Access-Token,Authorization
// 需要注意的是,请尽量保证使用中横线`-` 来作为分隔符,
// 避免被 nginx 等负载均衡器丢弃了自定义的请求头
export const REQUEST_TOKEN_KEY = 'Authorization'
// 创建 axios 实例
const request = axios.create({
// API 请求的默认前缀
baseURL: process.env.VUE_APP_API_BASE_URL,
timeout: 6000, // 请求超时时间
})
export type RequestError = AxiosError<{
message?: string
result?: any
errorMessage?: string
}>
// 异常拦截处理器
const errorHandler = (error: RequestError): Promise<any> => {
if (error.response) {
const { data = {}, status, statusText } = error.response
// 403 无权限
if (status === 403) {
showNotify({
type: 'danger',
message: (data && data.message) || statusText,
})
}
// 401 未登录/未授权
if (status === 401 && data.result && data.result.isLogin) {
showNotify({
type: 'danger',
message: 'Authorization verification failed',
})
// 如果你需要直接跳转登录页面
// location.replace(loginRoutePath)
}
}
return Promise.reject(error)
}
// 请求拦截器
const requestHandler = (config: InternalAxiosRequestConfig): InternalAxiosRequestConfig | Promise<InternalAxiosRequestConfig> => {
const savedToken = localStorage.get(STORAGE_TOKEN_KEY)
// 如果 token 存在
// 让每个请求携带自定义 token, 请根据实际情况修改
if (savedToken)
config.headers[REQUEST_TOKEN_KEY] = savedToken
return config
}
// Add a request interceptor
request.interceptors.request.use(requestHandler, errorHandler)
// 响应拦截器
const responseHandler = (response: { data: any }) => {
if (!response?.data)
return response
const { code, data, message } = response.data
if (!code)
return response.data
// 拦截时间
switch (code) {
case 1000:
if (Array.isArray(data)) {
// transfter(data, timezone.info);
} else if (data && data.list !== undefined && data.list?.length > 0) {
// transfter(data.list, timezone.info);
}
return data
default:
return Promise.reject(new Error(message))
}
return response.data
}
// Add a response interceptor
request.interceptors.response.use(responseHandler, errorHandler)
export default request
+93
View File
@@ -0,0 +1,93 @@
import type { AxiosError, InternalAxiosRequestConfig } from 'axios'
import axios from 'axios'
import { showNotify } from 'vant'
import { localStorage } from '@/utils/local-storage'
import { STORAGE_TOKEN_KEY } from '@/stores/mutation-type'
// 这里是用于设定请求后端时,所用的 Token KEY
// 可以根据自己的需要修改,常见的如 Access-Token,Authorization
// 需要注意的是,请尽量保证使用中横线`-` 来作为分隔符,
// 避免被 nginx 等负载均衡器丢弃了自定义的请求头
export const REQUEST_TOKEN_KEY = 'Authorization'
// 创建 axios 实例
const requestWx = axios.create({
// API 请求的默认前缀
baseURL: process.env.VUE_APP_API_WX_URL,
timeout: 6000, // 请求超时时间
})
export type RequestError = AxiosError<{
message?: string
result?: any
errorMessage?: string
}>
// 异常拦截处理器
const errorHandler = (error: RequestError): Promise<any> => {
if (error.response) {
const { data = {}, status, statusText } = error.response
// 403 无权限
if (status === 403) {
showNotify({
type: 'danger',
message: (data && data.message) || statusText,
})
}
// 401 未登录/未授权
if (status === 401 && data.result && data.result.isLogin) {
showNotify({
type: 'danger',
message: 'Authorization verification failed',
})
// 如果你需要直接跳转登录页面
// location.replace(loginRoutePath)
}
}
return Promise.reject(error)
}
// 请求拦截器
const requestHandler = (config: InternalAxiosRequestConfig): InternalAxiosRequestConfig | Promise<InternalAxiosRequestConfig> => {
const savedToken = localStorage.get(STORAGE_TOKEN_KEY)
// 如果 token 存在
// 让每个请求携带自定义 token, 请根据实际情况修改
if (savedToken)
config.headers[REQUEST_TOKEN_KEY] = savedToken
return config
}
// Add a request interceptor
requestWx.interceptors.request.use(requestHandler, errorHandler)
// 响应拦截器
const responseHandler = (response: { data: any }) => {
if (!response?.data)
return response
const { code, data, message } = response.data
if (!code)
return response.data
// 拦截时间
switch (code) {
case 1000:
if (Array.isArray(data)) {
// transfter(data, timezone.info);
} else if (data && data.list !== undefined && data.list?.length > 0) {
// transfter(data.list, timezone.info);
}
return data
default:
return Promise.reject(new Error(message))
}
return response.data
}
// Add a response interceptor
requestWx.interceptors.response.use(responseHandler, errorHandler)
export default requestWx
+207
View File
@@ -0,0 +1,207 @@
( function () {
class CSS2DObject extends THREE.Object3D {
constructor( element = document.createElement( 'div' ) ) {
super();
this.element = element;
this.element.style.position = 'absolute';
this.element.style.userSelect = 'none';
this.element.setAttribute( 'draggable', false );
this.addEventListener( 'removed', function () {
this.traverse( function ( object ) {
if ( object.element instanceof Element && object.element.parentNode !== null ) {
object.element.parentNode.removeChild( object.element );
}
} );
} );
}
copy( source, recursive ) {
super.copy( source, recursive );
this.element = source.element.cloneNode( true );
return this;
}
}
CSS2DObject.prototype.isCSS2DObject = true; //
const _vector = new THREE.Vector3();
const _viewMatrix = new THREE.Matrix4();
const _viewProjectionMatrix = new THREE.Matrix4();
const _a = new THREE.Vector3();
const _b = new THREE.Vector3();
class CSS2DRenderer {
constructor( parameters = {} ) {
const _this = this;
let _width, _height;
let _widthHalf, _heightHalf;
const cache = {
objects: new WeakMap()
};
const domElement = parameters.element !== undefined ? parameters.element : document.createElement( 'div' );
domElement.style.overflow = 'hidden';
this.domElement = domElement;
this.getSize = function () {
return {
width: _width,
height: _height
};
};
this.render = function ( scene, camera ) {
if ( scene.autoUpdate === true ) scene.updateMatrixWorld();
if ( camera.parent === null ) camera.updateMatrixWorld();
_viewMatrix.copy( camera.matrixWorldInverse );
_viewProjectionMatrix.multiplyMatrices( camera.projectionMatrix, _viewMatrix );
renderObject( scene, scene, camera );
zOrder( scene );
};
this.setSize = function ( width, height ) {
_width = width;
_height = height;
_widthHalf = _width / 2;
_heightHalf = _height / 2;
domElement.style.width = width + 'px';
domElement.style.height = height + 'px';
};
function renderObject( object, scene, camera ) {
if ( object.isCSS2DObject ) {
_vector.setFromMatrixPosition( object.matrixWorld );
_vector.applyMatrix4( _viewProjectionMatrix );
const visible = object.visible === true && _vector.z >= - 1 && _vector.z <= 1 && object.layers.test( camera.layers ) === true;
object.element.style.display = visible === true ? '' : 'none';
if ( visible === true ) {
object.onBeforeRender( _this, scene, camera );
const element = object.element;
if ( /apple/i.test( navigator.vendor ) ) {
// https://github.com/mrdoob/three.js/issues/21415
element.style.transform = 'translate(-50%,-50%) translate(' + Math.round( _vector.x * _widthHalf + _widthHalf ) + 'px,' + Math.round( - _vector.y * _heightHalf + _heightHalf ) + 'px)';
} else {
element.style.transform = 'translate(-50%,-50%) translate(' + ( _vector.x * _widthHalf + _widthHalf ) + 'px,' + ( - _vector.y * _heightHalf + _heightHalf ) + 'px)';
}
if ( element.parentNode !== domElement ) {
domElement.appendChild( element );
}
object.onAfterRender( _this, scene, camera );
}
const objectData = {
distanceToCameraSquared: getDistanceToSquared( camera, object )
};
cache.objects.set( object, objectData );
}
for ( let i = 0, l = object.children.length; i < l; i ++ ) {
renderObject( object.children[ i ], scene, camera );
}
}
function getDistanceToSquared( object1, object2 ) {
_a.setFromMatrixPosition( object1.matrixWorld );
_b.setFromMatrixPosition( object2.matrixWorld );
return _a.distanceToSquared( _b );
}
function filterAndFlatten( scene ) {
const result = [];
scene.traverse( function ( object ) {
if ( object.isCSS2DObject ) result.push( object );
} );
return result;
}
function zOrder( scene ) {
const sorted = filterAndFlatten( scene ).sort( function ( a, b ) {
if ( a.renderOrder !== b.renderOrder ) {
return b.renderOrder - a.renderOrder;
}
const distanceA = cache.objects.get( a ).distanceToCameraSquared;
const distanceB = cache.objects.get( b ).distanceToCameraSquared;
return distanceA - distanceB;
} );
const zMax = sorted.length;
for ( let i = 0, l = sorted.length; i < l; i ++ ) {
sorted[ i ].element.style.zIndex = zMax - i;
}
}
}
}
THREE.CSS2DObject = CSS2DObject;
THREE.CSS2DRenderer = CSS2DRenderer;
} )();
+1
View File
@@ -0,0 +1 @@
!function(A,I){"object"==typeof exports&&"object"==typeof module?module.exports=I(require("three")):"function"==typeof define&&define.amd?define(["three"],I):"object"==typeof exports?exports.ARjs=I(require("three")):A.ARjs=I(A.THREE)}(this,(A=>(()=>{var I={799:function(A,I,g){var B;"undefined"!=typeof self&&self,B=()=>(()=>{var A={230:A=>{A.exports="object"==typeof self?self.FormData:window.FormData},654:()=>{},231:()=>{},703:()=>{},61:(A,I,g)=>{var B=g(698).default;function C(){"use strict";A.exports=C=function(){return I},A.exports.__esModule=!0,A.exports.default=A.exports;var I={},g=Object.prototype,Q=g.hasOwnProperty,E=Object.defineProperty||function(A,I,g){A[I]=g.value},i="function"==typeof Symbol?Symbol:{},o=i.iterator||"@@iterator",D=i.asyncIterator||"@@asyncIterator",a=i.toStringTag||"@@toStringTag";function t(A,I,g){return Object.defineProperty(A,I,{value:g,enumerable:!0,configurable:!0,writable:!0}),A[I]}try{t({},"")}catch(A){t=function(A,I,g){return A[I]=g}}function s(A,I,g,B){var C=I&&I.prototype instanceof e?I:e,Q=Object.create(C.prototype),i=new J(B||[]);return E(Q,"_invoke",{value:S(A,g,i)}),Q}function w(A,I,g){try{return{type:"normal",arg:A.call(I,g)}}catch(A){return{type:"throw",arg:A}}}I.wrap=s;var r={};function e(){}function G(){}function h(){}var R={};t(R,o,(function(){return this}));var n=Object.getPrototypeOf,y=n&&n(n(K([])));y&&y!==g&&Q.call(y,o)&&(R=y);var F=h.prototype=e.prototype=Object.create(R);function M(A){["next","throw","return"].forEach((function(I){t(A,I,(function(A){return this._invoke(I,A)}))}))}function c(A,I){function g(C,E,i,o){var D=w(A[C],A,E);if("throw"!==D.type){var a=D.arg,t=a.value;return t&&"object"==B(t)&&Q.call(t,"__await")?I.resolve(t.__await).then((function(A){g("next",A,i,o)}),(function(A){g("throw",A,i,o)})):I.resolve(t).then((function(A){a.value=A,i(a)}),(function(A){return g("throw",A,i,o)}))}o(D.arg)}var C;E(this,"_invoke",{value:function(A,B){function Q(){return new I((function(I,C){g(A,B,I,C)}))}return C=C?C.then(Q,Q):Q()}})}function S(A,I,g){var B="suspendedStart";return function(C,Q){if("executing"===B)throw new Error("Generator is already running");if("completed"===B){if("throw"===C)throw Q;return{value:void 0,done:!0}}for(g.method=C,g.arg=Q;;){var E=g.delegate;if(E){var i=N(E,g);if(i){if(i===r)continue;return i}}if("next"===g.method)g.sent=g._sent=g.arg;else if("throw"===g.method){if("suspendedStart"===B)throw B="completed",g.arg;g.dispatchException(g.arg)}else"return"===g.method&&g.abrupt("return",g.arg);B="executing";var o=w(A,I,g);if("normal"===o.type){if(B=g.done?"completed":"suspendedYield",o.arg===r)continue;return{value:o.arg,done:g.done}}"throw"===o.type&&(B="completed",g.method="throw",g.arg=o.arg)}}}function N(A,I){var g=I.method,B=A.iterator[g];if(void 0===B)return I.delegate=null,"throw"===g&&A.iterator.return&&(I.method="return",I.arg=void 0,N(A,I),"throw"===I.method)||"return"!==g&&(I.method="throw",I.arg=new TypeError("The iterator does not provide a '"+g+"' method")),r;var C=w(B,A.iterator,I.arg);if("throw"===C.type)return I.method="throw",I.arg=C.arg,I.delegate=null,r;var Q=C.arg;return Q?Q.done?(I[A.resultName]=Q.value,I.next=A.nextLoc,"return"!==I.method&&(I.method="next",I.arg=void 0),I.delegate=null,r):Q:(I.method="throw",I.arg=new TypeError("iterator result is not an object"),I.delegate=null,r)}function k(A){var I={tryLoc:A[0]};1 in A&&(I.catchLoc=A[1]),2 in A&&(I.finallyLoc=A[2],I.afterLoc=A[3]),this.tryEntries.push(I)}function U(A){var I=A.completion||{};I.type="normal",delete I.arg,A.completion=I}function J(A){this.tryEntries=[{tryLoc:"root"}],A.forEach(k,this),this.reset(!0)}function K(A){if(A){var I=A[o];if(I)return I.call(A);if("function"==typeof A.next)return A;if(!isNaN(A.length)){var g=-1,B=function I(){for(;++g<A.length;)if(Q.call(A,g))return I.value=A[g],I.done=!1,I;return I.value=void 0,I.done=!0,I};return B.next=B}}return{next:Y}}function Y(){return{value:void 0,done:!0}}return G.prototype=h,E(F,"constructor",{value:h,configurable:!0}),E(h,"constructor",{value:G,configurable:!0}),G.displayName=t(h,a,"GeneratorFunction"),I.isGeneratorFunction=function(A){var I="function"==typeof A&&A.constructor;return!!I&&(I===G||"GeneratorFunction"===(I.displayName||I.name))},I.mark=function(A){return Object.setPrototypeOf?Object.setPrototypeOf(A,h):(A.__proto__=h,t(A,a,"GeneratorFunction")),A.prototype=Object.create(F),A},I.awrap=function(A){return{__await:A}},M(c.prototype),t(c.prototype,D,(function(){return this})),I.AsyncIterator=c,I.async=function(A,g,B,C,Q){void 0===Q&&(Q=Promise);var E=new c(s(A,g,B,C),Q);return I.isGeneratorFunction(g)?E:E.next().then((function(A){return A.done?A.value:E.next()}))},M(F),t(F,a,"Generator"),t(F,o,(function(){return this})),t(F,"toString",(function(){return"[object Generator]"})),I.keys=function(A){var I=Object(A),g=[];for(var B in I)g.push(B);return g.reverse(),function A(){for(;g.length;){var B=g.pop();if(B in I)return A.value=B,A.done=!1,A}return A.done=!0,A}},I.values=K,J.prototype={coLine truncated
+6291
View File
File diff suppressed because it is too large. Load diff
+22
View File
@@ -0,0 +1,22 @@
var Module=typeof Module!=="undefined"?Module:{};(function(){"use strict";var scope;if(typeof window!=="undefined"){scope=window}else{scope=self}if(scope.artoolkit_wasm_url){var downloadWasm=function(url){return new Promise(function(resolve,reject){var wasmXHR=new XMLHttpRequest;wasmXHR.open("GET",url,true);wasmXHR.responseType="arraybuffer";wasmXHR.onload=function(){resolve(wasmXHR.response)};wasmXHR.onerror=function(){reject("error "+wasmXHR.status)};wasmXHR.send(null)})};var wasm=downloadWasm(scope.artoolkit_wasm_url);Module.instantiateWasm=function(imports,successCallback){console.log("instantiateWasm: instantiating synchronously");wasm.then(function(wasmBinary){console.log("wasm download finished, begin instantiating");var wasmInstantiate=WebAssembly.instantiate(new Uint8Array(wasmBinary),imports).then(function(output){console.log("wasm instantiation succeeded");successCallback(output.instance)}).catch(function(e){console.log("wasm instantiation failed! "+e)})});return{}}}var ARController=function(width,height,cameraPara){this.id=undefined;var w=width,h=height;this.orientation="landscape";this.listeners={};if(typeof width!=="number"){var image=width;cameraPara=height;w=image.videoWidth||image.width;h=image.videoHeight||image.height;this.image=image}this.width=w;this.height=h;this.nftMarkerCount=0;this.defaultMarkerWidth=1;this.patternMarkers={};this.barcodeMarkers={};this.nftMarkers={};this.transform_mat=new Float32Array(16);this.transformGL_RH=new Float64Array(16);if(typeof document!=="undefined"){this.canvas=document.createElement("canvas");this.canvas.width=w;this.canvas.height=h;this.ctx=this.canvas.getContext("2d")}this.videoWidth=w;this.videoHeight=h;this.videoSize=this.videoWidth*this.videoHeight;this.framepointer=null;this.framesize=null;this.dataHeap=null;this.videoLuma=null;this.camera_mat=null;this.marker_transform_mat=null;this.videoLumaPointer=null;this._bwpointer=undefined;this._lumaCtx=undefined;if(typeof cameraPara==="string"){this.cameraParam=new ARCameraParam(cameraPara,function(){this._initialize()}.bind(this),function(err){console.error("ARController: Failed to load ARCameraParam",err);this.onload(err)}.bind(this))}else{this.cameraParam=cameraPara;this._initialize()}};ARController.prototype.dispose=function(){if(this.id>-1){artoolkit.teardown(this.id)}if(this.image&&this.image.srcObject){ARController._teardownVideo(this.image)}for(var t in this){this[t]=null}};ARController.prototype.process=function(image){var result=this.detectMarker(image);if(result!=0){console.error("detectMarker error: "+result)}var markerNum=this.getMarkerNum();var k,o;for(k in this.patternMarkers){o=this.patternMarkers[k];o.inPrevious=o.inCurrent;o.inCurrent=false}for(k in this.barcodeMarkers){o=this.barcodeMarkers[k];o.inPrevious=o.inCurrent;o.inCurrent=false}for(k in this.nftMarkers){o=this.nftMarkers[k];o.inPrevious=o.inCurrent;o.inCurrent=false}for(var i=0;i<markerNum;i++){var markerInfo=this.getMarker(i);var markerType=artoolkit.UNKNOWN_MARKER;var visible=this.trackPatternMarkerId(-1);if(markerInfo.idPatt>-1&&(markerInfo.id===markerInfo.idPatt||markerInfo.idMatrix===-1)){visible=this.trackPatternMarkerId(markerInfo.idPatt);markerType=artoolkit.PATTERN_MARKER;if(markerInfo.dir!==markerInfo.dirPatt){this.setMarkerInfoDir(i,markerInfo.dirPatt)}}else if(markerInfo.idMatrix>-1){visible=this.trackBarcodeMarkerId(markerInfo.idMatrix);markerType=artoolkit.BARCODE_MARKER;if(markerInfo.dir!==markerInfo.dirMatrix){this.setMarkerInfoDir(i,markerInfo.dirMatrix)}}if(markerType!==artoolkit.UNKNOWN_MARKER&&visible.inPrevious){this.getTransMatSquareCont(i,visible.markerWidth,visible.matrix,visible.matrix)}else{this.getTransMatSquare(i,visible.markerWidth,visible.matrix)}visible.inCurrent=true;this.transMatToGLMat(visible.matrix,this.transform_mat);this.transformGL_RH=this.arglCameraViewRHf(this.transform_mat);this.dispatchEvent({name:"getMarker",target:this,data:{index:i,type:markerType,marker:markerInfo,matrix:this.transform_mat,matrixGL_RH:this.transformGL_RH}})}var nftMarkerCount=this.nftMarkerCount;this.detectNFTMarker();var MARKER_LOST_TIME=200;for(var i=0;i<nftMarkerCount;i++){var nftMarkerInfo=this.getNFTMarker(i);var markerType=artoolkit.NFT_MARKER;if(nftMarkerInfo.found){self.markerFound=i;self.markerFoundTime=Date.now();var visible=this.trackNFTMarkerId(i);visible.matrix.set(nftMarkerInfo.pose);visible.inCurrent=true;this.transMatToGLMat(visible.matrix,this.transform_mat);this.transformGL_RH=this.arglCameraViewRHf(this.transform_mat);this.dispatchEvent({name:"getNFTMarker",target:this,data:{index:i,type:markerType,marker:nftMarkerInfo,matrix:this.transform_mat,matrixGL_RH:this.transformGL_RH}})}else if(self.markerFound===i){if(Date.now()-self.markerFoundTime<=MARKER_LOST_TIME){return}delete self.markerFound;this.dispatchEvent({name:"lostNFTMarker",target:this,data:{index:i,type:markerType,marker:nftMarkerInfo,matrix:this.transform_mat,matrixGL_RH:this.transformGL_RH}})}}var multiMarkerCount=this.getMultiMarkerCLine truncated
var asm=(/** @suppress {uselessCode} */ function(global,env,buffer) {
"use asm";var a=new global.Int8Array(buffer),b=new global.Int16Array(buffer),c=new global.Int32Array(buffer),d=new global.Uint8Array(buffer),e=new global.Uint16Array(buffer),f=new global.Float32Array(buffer),g=new global.Float64Array(buffer),h=env.aX|0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0.0,q=global.NaN,r=global.Infinity,s=global.Math.floor,t=global.Math.abs,u=global.Math.sqrt,v=global.Math.pow,w=global.Math.cos,x=global.Math.sin,y=global.Math.atan2,z=global.Math.log,A=global.Math.ceil,B=global.Math.imul,C=global.Math.clz32,D=env.a,E=env.b,F=env.c,G=env.d,H=env.e,I=env.f,J=env.g,K=env.h,L=env.i,M=env.j,N=env.k,O=env.l,P=env.m,Q=env.n,R=env.o,S=env.p,T=env.q,U=env.r,V=env.s,W=env.t,X=env.u,Y=env.v,Z=env.w,_=env.x,$=env.y,aa=env.z,ba=env.A,ca=env.B,da=env.C,ea=env.D,fa=env.E,ga=env.F,ha=env.G,ia=env.H,ja=env.I,ka=env.J,la=env.K,ma=env.L,na=env.M,oa=env.N,pa=env.O,qa=env.P,ra=env.Q,sa=env.R,ta=env.S,ua=env.T,va=env.U,wa=env.V,xa=env.W,ya=env.X,za=env.Y,Aa=env.Z,Ba=env._,Ca=env.$,Da=env.aa,Ea=env.ab,Fa=env.ac,Ga=env.ad,Ha=env.ae,Ia=env.af,Ja=env.ag,Ka=env.ah,La=env.ai,Ma=env.aj,Na=env.ak,Oa=env.al,Pa=env.am,Qa=env.an,Ra=env.ao,Sa=env.ap,Ta=env.aq,Ua=env.ar,Va=env.as,Wa=env.at,Xa=env.au,Ya=env.av,Za=env.aw,_a=env.ax,$a=env.ay,ab=env.az,bb=env.aA,cb=env.aB,db=env.aC,eb=env.aD,fb=env.aE,gb=env.aF,hb=env.aG,ib=env.aH,jb=env.aI,kb=env.aJ,lb=env.aK,mb=env.aL,nb=env.aM,ob=env.aN,pb=env.aO,qb=env.aP,rb=env.aQ,sb=env.aR,tb=env.aS,ub=env.aT,vb=env.aU,wb=env.aV,xb=env.aW,yb=57888,zb=5300768,Ab=0.0;
// EMSCRIPTEN_START_FUNCS
function qd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=yb;yb=yb+16|0;f=g+8|0;e=g;d=Ue(b,0)|0;if(!d){c[e>>2]=b;Se(0,3,20325,e);a=zy(c[(mx()|0)>>2]|0)|0;c[f>>2]=57671;c[f+4>>2]=a;Se(0,3,21881,f);a=-1}else{a=pd(a,d)|0;EO(d)}yb=g;return a|0}function rd(a,b){a=a|0;b=b|0;b=(c[a+8>>2]|0)+(b<<2)|0;if(!(c[b>>2]|0))b=-1;else{c[b>>2]=0;c[a>>2]=(c[a>>2]|0)+-1;b=1}return b|0}function sd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,h=0,i=0;d=0;while(1){if((d|0)==3)break;f=a+(d<<5)|0;h=a+(d<<5)+8|0;i=a+(d<<5)+16|0;e=0;while(1){if((e|0)==4)break;g[c+(d<<5)+(e<<3)>>3]=+g[f>>3]*+g[b+(e<<3)>>3]+ +g[h>>3]*+g[b+32+(e<<3)>>3]+ +g[i>>3]*+g[b+64+(e<<3)>>3];e=e+1|0}i=c+(d<<5)+24|0;g[i>>3]=+g[a+(d<<5)+24>>3]+ +g[i>>3];d=d+1|0}return 0}function td(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,h=0,i=0,j=0;d=0;while(1){if((d|0)==3)break;h=a+(d<<5)|0;i=a+(d<<5)+8|0;j=a+(d<<5)+16|0;e=0;while(1){if((e|0)==4)break;f[c+(d<<4)+(e<<2)>>2]=+f[b+(e<<2)>>2]*+g[h>>3]+ +f[b+16+(e<<2)>>2]*+g[i>>3]+ +f[b+32+(e<<2)>>2]*+g[j>>3];e=e+1|0}j=c+(d<<4)+12|0;f[j>>2]=+f[j>>2]+ +g[a+(d<<5)+24>>3];d=d+1|0}return 0}function ud(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0;d=0;while(1){if((d|0)==3)break;g=a+(d<<4)|0;h=a+(d<<4)+4|0;i=a+(d<<4)+8|0;e=0;while(1){if((e|0)==4)break;f[c+(d<<4)+(e<<2)>>2]=+f[g>>2]*+f[b+(e<<2)>>2]+ +f[h>>2]*+f[b+16+(e<<2)>>2]+ +f[i>>2]*+f[b+32+(e<<2)>>2];e=e+1|0}i=c+(d<<4)+12|0;f[i>>2]=+f[a+(d<<4)+12>>2]+ +f[i>>2];d=d+1|0}return 0}function vd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,h=0;h=Bd(4,4)|0;d=0;while(1){if((d|0)==3)break;f=d<<2;e=0;while(1){if((e|0)==4)break;g[(c[h>>2]|0)+(e+f<<3)>>3]=+g[a+(d<<5)+(e<<3)>>3];e=e+1|0}d=d+1|0}d=c[h>>2]|0;f=d+96|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;g[d+120>>3]=1.0;Vd(h)|0;d=0;while(1){if((d|0)==3)break;a=d<<2;e=0;while(1){if((e|0)==4)break;g[b+(d<<5)+(e<<3)>>3]=+g[(c[h>>2]|0)+(e+a<<3)>>3];e=e+1|0}d=d+1|0}Jd(h)|0;return 0}function wd(a,b){a=a|0;b=b|0;var d=0,e=0,h=0,i=0;i=Bd(4,4)|0;d=0;while(1){if((d|0)==3)break;h=d<<2;e=0;while(1){if((e|0)==4)break;g[(c[i>>2]|0)+(e+h<<3)>>3]=+f[a+(d<<4)+(e<<2)>>2];e=e+1|0}d=d+1|0}d=c[i>>2]|0;h=d+96|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[h+16>>2]=0;c[h+20>>2]=0;g[d+120>>3]=1.0;Vd(i)|0;d=0;while(1){if((d|0)==3)break;a=d<<2;e=0;while(1){if((e|0)==4)break;f[b+(d<<4)+(e<<2)>>2]=+g[(c[i>>2]|0)+(e+a<<3)>>3];e=e+1|0}d=d+1|0}Jd(i)|0;return 0}function xd(a){a=a|0;switch(a|0){case 1:case 0:{a=3;break}case 6:case 4:case 3:case 2:{a=4;break}case 14:case 13:case 12:case 5:{a=1;break}case 11:case 10:case 9:case 8:case 7:{a=2;break}default:a=0}return a|0}function yd(b,c,d,e){b=b|0;c=c|0;d=d|0;e=e|0;var f=0;do if((b|0)!=0&(c|0)!=0&(d|0)!=0){f=Mz(c,47)|0;if(!f){a[b>>0]=0;break}e=f+((e|0)!=0&1)-c|0;if((e+1|0)>>>0<=d>>>0){Uz(b,c,e)|0;a[b+e>>0]=0}else b=0}else b=0;while(0);return b|0}function zd(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=0;h=0;a:while(1){switch(a[b+h>>0]|0){case 0:break a;case 46:{e=h;break}default:{}}h=h+1|0}f=b+h|0;g=(Oy(d)|0)+2|0;if(!e)if((g+h|0)>(c|0))e=-1;else{a[f>>0]=46;e=h;i=9}else if((g+e|0)>(c|0))e=-1;else i=9;if((i|0)==9){a[b+(e+1)>>0]=0;_z(b,d)|0;e=0}return e|0}function Ad(b){b=b|0;var c=0,d=0;c=-1;d=0;a:while(1){switch(a[b+d>>0]|0){case 0:break a;case 46:{c=d;break}default:{}}d=d+1|0}if((c|0)!=-1)a[b+c>>0]=0;return 0}function Bd(a,b){a=a|0;b=b|0;var d=0,e=0;d=DO(12)|0;do if(d){e=DO(B(a<<3,b)|0)|0;c[d>>2]=e;if(!e){EO(d);d=0;break}else{c[d+4>>2]=a;c[d+8>>2]=b;break}}else d=0;while(0);return d|0}function Cd(a,b){a=a|0;b=b|0;var d=0,e=0;d=DO(12)|0;do if(d){e=DO(B(a<<2,b)|0)|0;c[d>>2]=e;if(!e){EO(d);d=0;break}else{c[d+4>>2]=a;c[d+8>>2]=b;break}}else d=0;while(0);return d|0}function Dd(a){a=a|0;var b=0;b=Bd(c[a+4>>2]|0,c[a+8>>2]|0)|0;if(b){if((Id(b,a)|0)<0){Jd(b)|0;b=0}}else b=0;return b|0}function Ed(a,b){a=a|0;b=b|0;var d=0;d=Bd(c[a+4>>2]|0,c[b+8>>2]|0)|0;if(d){if((Ld(d,a,b)|0)<0){Jd(d)|0;d=0}}else d=0;return d|0}function Fd(a,b){a=a|0;b=b|0;var d=0;d=Cd(c[a+4>>2]|0,c[b+8>>2]|0)|0;if(d){if((Md(d,a,b)|0)<0){Kd(d)|0;d=0}}else d=0;return d|0}function Gd(a){a=a|0;var b=0;b=Bd(c[a+8>>2]|0,c[a+4>>2]|0)|0;if(b){if((Zd(b,a)|0)<0){Jd(b)|0;b=0}}else b=0;return b|0}function Hd(a){a=a|0;var b=0;b=Cd(c[a+8>>2]|0,c[a+4>>2]|0)|0;if(b){if((_d(b,a)|0)<0){Kd(b)|0;b=0}}else b=0;return b|0}function Id(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,h=0,i=0,j=0;h=c[a+4>>2]|0;a:do if((h|0)==(c[b+4>>2]|0)?(i=c[a+8>>2]|0,(i|0)==(c[b+8>>2]|0)):0){e=0;while(1){if((e|0)>=(h|0)){d=0;break a}f=B(e,i)|0;d=0;while(1){if((d|0)>=(i|0))break;j=d+f|0;g[(c[a>>2]|0)+(j<<3)>>3]=+g[(c[b>>2]|0)+(j<<3)>>3];d=d+1|0}e=e+1|0}}else d=-1;while(0);return d|0}function Jd(a){a=a|0;if(a|0){EO(c[a>>2]|0);EO(a)}return 0}function Kd(a){a=a|0;if(a|0){EO(c[a>>2]|0);EO(a)}return 0}function Ld(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0,i=0.0,j=0,k=0,l=0,m=0,n=0,o=0,p=0.0;n=c[b+8>>2]|0;a:do if(((n|0)==(c[d+4>>2]|0)?(o=c[a+4>>2]|0,(o|0)==(c[b+4>>2]|0)):0)?(m=c[a+8>>2]|0,(m|0)==(c[d+8>>2]|0)):0){a=c[a>>2]|0;k=0;while(1){if((k|0)>=(o|0)){a=0;break a}l=B(k,n)|0;j=0;while(1){if((j|0)>=(m|0))break;g[a>>3]=Line truncated
function Lz(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;if((e|0)==1){g=(c[a+8>>2]|0)-(c[a+4>>2]|0)|0;b=NO(b|0,d|0,g|0,((g|0)<0)<<31>>31|0)|0;d=F()|0}f=a+20|0;g=a+28|0;if((c[f>>2]|0)>>>0>(c[g>>2]|0)>>>0?(Hb[c[a+36>>2]&63](a,0,0)|0,(c[f>>2]|0)==0):0)b=-1;else{c[a+16>>2]=0;c[g>>2]=0;c[f>>2]=0;Ib[c[a+40>>2]&15](a,b,d,e)|0;if((F()|0)<0)b=-1;else{c[a+8>>2]=0;c[a+4>>2]=0;c[a>>2]=c[a>>2]&-17;b=0}}return b|0}function Mz(a,b){a=a|0;b=b|0;return Nz(a,b,(Oy(a)|0)+1|0)|0}function Nz(b,c,d){b=b|0;c=c|0;d=d|0;a:do if(!d)d=0;else{c=c&255;while(1){d=d+-1|0;if((a[b+d>>0]|0)==c<<24>>24)break;if(!d){d=0;break a}}d=b+d|0}while(0);return d|0}function Oz(a,b,c){a=a|0;b=b|0;c=c|0;return Vy(0,a,b,(c|0)==0?55652:c)|0}function Pz(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=yb;yb=yb+1040|0;k=n;l=n+1024|0;j=c[b>>2]|0;c[l>>2]=j;m=(a|0)!=0;h=m?e:256;i=m?a:k;g=j;a:do if((h|0)!=0&(j|0)!=0){e=0;j=i;while(1){a=d>>>2;i=a>>>0>=h>>>0;if(!(d>>>0>131|i)){i=j;break a}a=i?h:a;d=d-a|0;a=Qz(j,l,a,f)|0;if((a|0)==-1)break;i=(j|0)==(k|0);h=h-(i?0:a)|0;i=i?j:j+(a<<2)|0;e=a+e|0;g=c[l>>2]|0;if((h|0)!=0&(g|0)!=0)j=i;else break a}e=-1;i=j;h=0;g=c[l>>2]|0}else e=0;while(0);b:do if((g|0)!=0?(h|0)!=0&(d|0)!=0:0){while(1){a=Vy(i,g,d,f)|0;if((a+2|0)>>>0<3)break;g=(c[l>>2]|0)+a|0;c[l>>2]=g;d=d-a|0;h=h+-1|0;e=e+1|0;if(!((h|0)!=0&(d|0)!=0))break b;else i=i+4|0}switch(a|0){case -1:{e=a;break b}case 0:{c[l>>2]=0;break b}default:{c[f>>2]=0;break b}}}while(0);if(m)c[b>>2]=c[l>>2];yb=n;return e|0}function Qz(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=c[e>>2]|0;if((g|0)!=0?(i=c[g>>2]|0,(i|0)!=0):0)if(!b){j=h;g=f;l=26}else{c[g>>2]=0;k=f;j=h;l=48}else l=5;a:do if((l|0)==5){g=(b|0)!=0;if(c[c[(Rz()|0)+188>>2]>>2]|0)if(g){g=f;l=33;break}else{g=f;l=15;break}if(!g){f=Oy(h)|0;l=63;break}b:do if(f){g=f;while(1){i=a[h>>0]|0;if(!(i<<24>>24))break;h=h+1|0;c[b>>2]=i<<24>>24&57343;g=g+-1|0;if(!g)break b;else b=b+4|0}c[b>>2]=0;c[e>>2]=0;f=f-g|0;l=63;break a}while(0);c[e>>2]=h;l=63}while(0);c:while(1){d:do if((l|0)==15){while(1){i=a[h>>0]|0;if(((i&255)+-1|0)>>>0<127?(h&3|0)==0:0){l=c[h>>2]|0;i=l&255;if(!((l+-16843009|l)&-2139062144)){do{h=h+4|0;g=g+-4|0;i=c[h>>2]|0}while(!((i+-16843009|i)&-2139062144|0));i=i&255}}i=i&255;if((i+-1|0)>>>0>=127)break;g=g+-1|0;h=h+1|0}i=i+-194|0;if(i>>>0>50)l=57;else{i=c[5728+(i<<2)>>2]|0;j=h+1|0;l=26;continue c}}else if((l|0)==26){l=(d[j>>0]|0)>>>3;if((l+-16|l+(i>>26))>>>0>7){h=j;l=56}else{h=j+1|0;if(i&33554432){if((a[h>>0]&-64)<<24>>24!=-128){h=j;l=56;break}h=j+2|0;if(i&524288){if((a[h>>0]&-64)<<24>>24!=-128){h=j;l=56;break}h=j+3|0}}g=g+-1|0;l=15;continue c}}else if((l|0)==33){l=0;e:do if(g){while(1){i=d[h>>0]|0;j=i+-1|0;if(j>>>0<127){if((h&3|0)==0&g>>>0>4){while(1){i=c[h>>2]|0;if((i+-16843009|i)&-2139062144|0){l=42;break}c[b>>2]=i&255;c[b+4>>2]=d[h+1>>0];c[b+8>>2]=d[h+2>>0];j=h+4|0;i=b+16|0;c[b+12>>2]=d[h+3>>0];g=g+-4|0;if(g>>>0>4){b=i;h=j}else{l=41;break}}if((l|0)==41){b=i;h=j;i=a[j>>0]|0}else if((l|0)==42)i=i&255;i=i&255;j=i+-1|0;l=44}}else l=44;if((l|0)==44){l=0;if(j>>>0>=127)break}h=h+1|0;c[b>>2]=i;g=g+-1|0;if(!g)break e;else b=b+4|0}i=i+-194|0;if(i>>>0>50){l=57;break d}i=c[5728+(i<<2)>>2]|0;k=g;j=h+1|0;l=48;continue c}while(0);c[e>>2]=h;l=63;continue c}else if((l|0)==48){l=0;g=d[j>>0]|0;h=g>>>3;if((h+-16|h+(i>>26))>>>0>7){h=j;g=k;l=56}else{h=j+1|0;g=g+-128|i<<6;do if((g|0)<0){i=(d[h>>0]|0)+-128|0;if(i>>>0<=63){h=j+2|0;g=i|g<<6;if((g|0)>=0)break;i=(d[h>>0]|0)+-128|0;if(i>>>0<=63){h=j+3|0;g=i|g<<6;break}}c[(mx()|0)>>2]=25;h=j+-1|0;break d}while(0);c[b>>2]=g;b=b+4|0;g=k+-1|0;l=33;continue c}}else if((l|0)==63)return f|0;while(0);if((l|0)==56){h=h+-1|0;if(!i)l=57;else{f=b;l=61}}if((l|0)==57)if(!(a[h>>0]|0)){if(b|0){c[b>>2]=0;c[e>>2]=0}f=f-g|0;l=63;continue}else{f=b;l=61}if((l|0)==61){c[(mx()|0)>>2]=25;if(!f){f=-1;l=63;continue}}c[e>>2]=h;f=-1;l=63}return 0}function Rz(){return _x()|0}function Sz(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;l=yb;yb=yb+272|0;i=l;j=l+256|0;f=c[b>>2]|0;c[j>>2]=f;k=(a|0)!=0;g=k?e:256;h=k?a:i;e=f;a:do if((g|0)!=0&(f|0)!=0){f=0;a=e;while(1){e=d>>>0>=g>>>0;if(!(e|d>>>0>32)){e=a;break a}e=e?g:d;d=d-e|0;e=Tz(h,j,e,0)|0;if((e|0)==-1)break;a=(h|0)==(i|0);g=g-(a?0:e)|0;h=a?h:h+e|0;f=e+f|0;e=c[j>>2]|0;if((g|0)!=0&(e|0)!=0)a=e;else break a}f=-1;g=0;e=c[j>>2]|0}else f=0;while(0);b:do if((e|0)!=0?(g|0)!=0&(d|0)!=0:0){while(1){a=Yx(h,c[e>>2]|0,0)|0;if((a+1|0)>>>0<2)break;e=(c[j>>2]|0)+4|0;c[j>>2]=e;d=d+-1|0;g=g-a|0;f=a+f|0;if(!((g|0)!=0&(d|0)!=0))break b;else h=h+a|0}if(!a)c[j>>2]=0;else f=-1}while(0);if(k)c[b>>2]=c[j>>2];yb=l;return f|0}function Tz(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;j=yb;yb=yb+16|0;i=j;a:do if(!b){e=c[d>>2]|0;f=c[e>>2]|0;if(!f)e=0;else{b=e;e=0;do{if(f>>>0>127){f=Yx(i,f,0)|0;if((f|0)==-1){e=-1;break a}}else f=1;e=f+e|0;b=b+4|0;f=c[b>>2]|0}while((f|0)!=0)}}else{b:do if(e>>>0>3){f=e;g=c[d>>2]|0;while(1){h=c[g>>2]|0;if((h+-1|0)>>>0>126){if(!h)break;h=Yx(b,h,0)|0;if((h|0)==-1){e=-1;break a}b=b+h|0;f=f-h|0}else{a[b>>0]=h;b=b+1|0;f=f+Line truncated
function nH(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;v=yb;yb=yb+176|0;r=v+168|0;m=v+144|0;l=v+128|0;i=v+120|0;h=v+104|0;k=v+96|0;o=v+64|0;n=v+164|0;p=v;u=v+160|0;s=v+156|0;t=v+152|0;j=k;c[j>>2]=37;c[j+4>>2]=0;j=rH(k+1|0,49410,c[d+4>>2]|0)|0;c[n>>2]=o;a=YF()|0;if(j){c[h>>2]=c[d+8>>2];g[h+8>>3]=f;a=pH(o,30,a,k,h)|0}else{g[i>>3]=f;a=pH(o,30,a,k,i)|0}if((a|0)>29){a=YF()|0;if(j){c[l>>2]=c[d+8>>2];g[l+8>>3]=f;h=sH(n,a,k,l)|0}else{g[m>>3]=f;h=sH(n,a,k,m)|0}a=c[n>>2]|0;if(!a)_N();else{q=h;y=a;z=a}}else{q=a;y=0;z=c[n>>2]|0}h=z+q|0;i=qH(z,h,d)|0;if((z|0)!=(o|0)){a=DO(q<<1)|0;if(!a)_N();else{w=a;x=a}}else{w=p;x=0}GE(r,d);tH(z,i,h,w,u,s,r);WF(r);c[t>>2]=c[b>>2];b=c[u>>2]|0;z=c[s>>2]|0;c[r>>2]=c[t>>2];z=Zf(r,w,b,z,d,e)|0;EO(x);EO(y);yb=v;return z|0}function oH(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;b=yb;yb=yb+96|0;l=b+72|0;k=b+80|0;h=b+48|0;j=b;m=b+76|0;a[k>>0]=a[49404]|0;a[k+1>>0]=a[49405]|0;a[k+2>>0]=a[49406]|0;a[k+3>>0]=a[49407]|0;a[k+4>>0]=a[49408]|0;a[k+5>>0]=a[49409]|0;i=YF()|0;c[l>>2]=g;g=pH(h,20,i,k,l)|0;k=h+g|0;i=qH(h,k,e)|0;GE(l,e);n=VF(l,56736)|0;WF(l);Ib[c[(c[n>>2]|0)+32>>2]&15](n,h,k,j)|0;g=j+g|0;c[m>>2]=c[d>>2];c[l>>2]=c[m>>2];g=Zf(l,j,(i|0)==(k|0)?g:j+(i-h)|0,g,e,f)|0;yb=b;return g|0}function pH(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=yb;yb=yb+16|0;h=g;c[h>>2]=f;f=cz(d)|0;d=Hx(a,b,e,h)|0;if(f|0)cz(f)|0;yb=g;return d|0}function qH(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;a:do switch((c[e+4>>2]&176)<<24>>24){case 16:{e=a[b>>0]|0;switch(e<<24>>24){case 43:case 45:{b=b+1|0;break a}default:{}}if((d-b|0)>1&e<<24>>24==48){switch(a[b+1>>0]|0){case 88:case 120:break;default:{f=7;break a}}b=b+2|0}else f=7;break}case 32:{b=d;break}default:f=7}while(0);return b|0}function rH(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0;if(d&2048){a[b>>0]=43;b=b+1|0}if(d&1024){a[b>>0]=35;b=b+1|0}g=d&260;e=d&16384;f=(g|0)==260;if(f)h=0;else{a[b>>0]=46;a[b+1>>0]=42;h=1;b=b+2|0}while(1){d=a[c>>0]|0;if(!(d<<24>>24))break;a[b>>0]=d;c=c+1|0;b=b+1|0}a:do switch(g&511){case 4:{d=e>>>9&255^102;break}case 256:{d=e>>>9&255^101;break}default:{d=e>>>9&255;if(f){d=d^97;break a}else{d=d^103;break a}}}while(0);a[b>>0]=d;return h|0}function sH(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=yb;yb=yb+16|0;g=f;c[g>>2]=e;e=cz(b)|0;b=$z(a,d,g)|0;if(e|0)cz(e)|0;yb=f;return b|0}function tH(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;v=yb;yb=yb+16|0;s=v;t=VF(i,56736)|0;r=VF(i,56752)|0;Sb[c[(c[r>>2]|0)+20>>2]&63](s,r);c[h>>2]=f;i=a[b>>0]|0;switch(i<<24>>24){case 43:case 45:{q=Gb[c[(c[t>>2]|0)+28>>2]&63](t,i)|0;j=c[h>>2]|0;c[h>>2]=j+1;a[j>>0]=q;j=b+1|0;break}default:j=b}q=e;a:do if((q-j|0)>1?(a[j>>0]|0)==48:0){i=j+1|0;switch(a[i>>0]|0){case 88:case 120:break;default:{u=4;break a}}o=Gb[c[(c[t>>2]|0)+28>>2]&63](t,48)|0;p=c[h>>2]|0;c[h>>2]=p+1;a[p>>0]=o;j=j+2|0;p=Gb[c[(c[t>>2]|0)+28>>2]&63](t,a[i>>0]|0)|0;i=c[h>>2]|0;c[h>>2]=i+1;a[i>>0]=p;i=j;while(1){if(i>>>0>=e>>>0)break a;p=a[i>>0]|0;if(!(Yy(p,YF()|0)|0))break a;i=i+1|0}}else u=4;while(0);b:do if((u|0)==4){i=j;while(1){if(i>>>0>=e>>>0)break b;p=a[i>>0]|0;if(!(Xy(p,YF()|0)|0))break b;i=i+1|0}}while(0);o=s+11|0;n=a[o>>0]|0;p=s+4|0;c:do if((n<<24>>24<0?c[p>>2]|0:n&255)|0){d:do if((j|0)!=(i|0)){k=i;l=j;while(1){k=k+-1|0;if(l>>>0>=k>>>0)break d;n=a[l>>0]|0;a[l>>0]=a[k>>0]|0;a[k>>0]=n;l=l+1|0}}while(0);n=Eb[c[(c[r>>2]|0)+16>>2]&127](r)|0;m=j;l=0;k=0;while(1){if(m>>>0>=i>>>0)break;w=a[((a[o>>0]|0)<0?c[s>>2]|0:s)+k>>0]|0;if(w<<24>>24>0&(l|0)==(w<<24>>24|0)){l=c[h>>2]|0;c[h>>2]=l+1;a[l>>0]=n;l=a[o>>0]|0;k=k+(k>>>0<((l<<24>>24<0?c[p>>2]|0:l&255)+-1|0)>>>0&1)|0;l=0}x=Gb[c[(c[t>>2]|0)+28>>2]&63](t,a[m>>0]|0)|0;w=c[h>>2]|0;c[h>>2]=w+1;a[w>>0]=x;m=m+1|0;l=l+1|0}k=f+(j-b)|0;j=c[h>>2]|0;if((k|0)==(j|0))k=t;else while(1){j=j+-1|0;if(k>>>0>=j>>>0){k=t;break c}x=a[k>>0]|0;a[k>>0]=a[j>>0]|0;a[j>>0]=x;k=k+1|0}}else{Ib[c[(c[t>>2]|0)+32>>2]&15](t,j,i,c[h>>2]|0)|0;c[h>>2]=(c[h>>2]|0)+(i-j);k=t}while(0);while(1){if(i>>>0>=e>>>0)break;j=a[i>>0]|0;if(j<<24>>24==46){u=32;break}w=Gb[c[(c[k>>2]|0)+28>>2]&63](t,j)|0;x=c[h>>2]|0;c[h>>2]=x+1;a[x>>0]=w;i=i+1|0}if((u|0)==32){w=Eb[c[(c[r>>2]|0)+12>>2]&127](r)|0;x=c[h>>2]|0;c[h>>2]=x+1;a[x>>0]=w;i=i+1|0}Ib[c[(c[t>>2]|0)+32>>2]&15](t,i,e,c[h>>2]|0)|0;x=(c[h>>2]|0)+(q-i)|0;c[h>>2]=x;c[g>>2]=(d|0)==(e|0)?x:f+(d-b)|0;hO(s);yb=v;return}function uH(b,c,d,e){b=b|0;c=c|0;d=d|0;e=e|0;var f=0;if(e&2048){a[b>>0]=43;b=b+1|0}if(e&512){a[b>>0]=35;b=b+1|0}f=b;while(1){b=a[c>>0]|0;if(!(b<<24>>24))break;a[f>>0]=b;c=c+1|0;f=f+1|0}switch(e&74){case 64:{b=111;break}case 8:{b=e>>>9&32^120;break}default:b=d?100:117}a[f>>0]=b;return}function vH(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=yb;yb=yb+16|0;q=r;p=VF(i,56736)|0;l=VF(i,56752)|0;Sb[c[(c[l>>2]|0)+20>>2]&63](q,l);n=q+11|0;m=a[n>>0]|0;o=q+4|0;if((m<<24>>24<0?c[o>>2]|0:m&255)|0){c[h>>2]=f;i=a[b>>0]|0;switch(i<Line truncated
function Zb(a){a=a|0;var b=0;b=yb;yb=yb+a|0;yb=yb+15&-16;return b|0}function _b(){return yb|0}function $b(a){a=a|0;yb=a}function ac(a,b){a=a|0;b=b|0;yb=a;zb=b}function bc(a,e,f,h,i){a=a|0;e=e|0;f=f|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0.0;y=yb;yb=yb+16|0;v=y;x=(e|0)/2|0;w=(f|0)/2|0;m=c[i>>2]|0;u=w+-1|0;f=m;j=m+((B(u,x)|0)<<1)|0;k=0;while(1){if((k|0)>=(x|0))break;b[j>>1]=0;b[f>>1]=0;f=f+2|0;j=j+2|0;k=k+1|0}t=x+-1|0;f=m;j=m+(t<<1)|0;k=0;while(1){if((k|0)>=(w|0))break;b[j>>1]=0;b[f>>1]=0;f=f+(x<<1)|0;j=j+(x<<1)|0;k=k+1|0}l=i+1179664|0;s=0-x|0;j=a+((e<<1)+2)|0;r=1;o=0;k=m+(x+1<<1)|0;a:while(1){if((r|0)>=(u|0)){j=59;break}q=j;f=o;p=1;while(1){if((p|0)>=(t|0))break;do if((d[q>>0]|0|0)>(h|0))b[k>>1]=0;else{a=k+(s<<1)|0;j=b[a>>1]|0;if(j<<16>>16>0){b[k>>1]=j;o=(j<<16>>16)*7|0;n=i+1310736+(o+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=i+1310736+(o+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+p;n=i+1310736+(o+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+r;c[i+1310736+(o+-1<<2)>>2]=r;break}n=b[a+2>>1]|0;o=n<<16>>16;j=b[a+-2>>1]|0;m=j<<16>>16;a=j<<16>>16>0;if(n<<16>>16<=0){if(a){b[k>>1]=j;j=m*7|0;a=i+1310736+(j+-7<<2)|0;c[a>>2]=(c[a>>2]|0)+1;a=i+1310736+(j+-6<<2)|0;c[a>>2]=(c[a>>2]|0)+p;a=i+1310736+(j+-5<<2)|0;c[a>>2]=(c[a>>2]|0)+r;a=i+1310736+(j+-3<<2)|0;if((c[a>>2]|0)<(p|0))c[a>>2]=p;c[i+1310736+(j+-1<<2)>>2]=r;break}j=b[k+-2>>1]|0;if(j<<16>>16>0){b[k>>1]=j;j=(j<<16>>16)*7|0;o=i+1310736+(j+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=i+1310736+(j+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+p;o=i+1310736+(j+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+r;j=i+1310736+(j+-3<<2)|0;if((c[j>>2]|0)>=(p|0))break;c[j>>2]=p;break}else{j=f+1|0;if((f|0)>32767){j=54;break a}b[k>>1]=j;c[i+1179664+(f<<2)>>2]=j<<16>>16;f=f*7|0;c[i+1310736+(f<<2)>>2]=1;c[i+1310736+(f+1<<2)>>2]=p;c[i+1310736+(f+2<<2)>>2]=r;c[i+1310736+(f+3<<2)>>2]=p;c[i+1310736+(f+4<<2)>>2]=p;c[i+1310736+(f+5<<2)>>2]=r;c[i+1310736+(f+6<<2)>>2]=r;f=j;break}}if(a){j=c[i+1179664+(o+-1<<2)>>2]|0;n=c[i+1179664+(m+-1<<2)>>2]|0;b:do if((j|0)<=(n|0)){b[k>>1]=j;if((j|0)<(n|0)){a=l;m=0;while(1){if((m|0)>=(f|0))break b;if((c[a>>2]|0)==(n|0))c[a>>2]=j;a=a+4|0;m=m+1|0}}}else{b[k>>1]=n;a=l;m=0;while(1){if((m|0)>=(f|0)){j=n;break b}if((c[a>>2]|0)==(j|0))c[a>>2]=n;a=a+4|0;m=m+1|0}}while(0);o=(j<<16>>16)*7|0;n=i+1310736+(o+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=i+1310736+(o+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+p;n=i+1310736+(o+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+r;c[i+1310736+(o+-1<<2)>>2]=r;break}a=b[k+-2>>1]|0;if(a<<16>>16<=0){b[k>>1]=n;j=o*7|0;a=i+1310736+(j+-7<<2)|0;c[a>>2]=(c[a>>2]|0)+1;a=i+1310736+(j+-6<<2)|0;c[a>>2]=(c[a>>2]|0)+p;a=i+1310736+(j+-5<<2)|0;c[a>>2]=(c[a>>2]|0)+r;a=i+1310736+(j+-4<<2)|0;if((c[a>>2]|0)>(p|0))c[a>>2]=p;c[i+1310736+(j+-1<<2)>>2]=r;break}j=c[i+1179664+(o+-1<<2)>>2]|0;n=c[i+1179664+((a<<16>>16)+-1<<2)>>2]|0;c:do if((j|0)<=(n|0)){b[k>>1]=j;if((j|0)<(n|0)){a=l;m=0;while(1){if((m|0)>=(f|0))break c;if((c[a>>2]|0)==(n|0))c[a>>2]=j;a=a+4|0;m=m+1|0}}}else{b[k>>1]=n;a=l;m=0;while(1){if((m|0)>=(f|0)){j=n;break c}if((c[a>>2]|0)==(j|0))c[a>>2]=n;a=a+4|0;m=m+1|0}}while(0);o=(j<<16>>16)*7|0;n=i+1310736+(o+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=i+1310736+(o+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+p;o=i+1310736+(o+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+r}while(0);q=q+2|0;p=p+1|0;k=k+2|0}j=q+e+4|0;r=r+1|0;o=f;k=k+4|0}d:do if((j|0)==54){Se(0,3,19708,v);f=-1}else if((j|0)==59){m=i+12|0;f=1;a=1;while(1){if((a|0)>(o|0))break;j=c[l>>2]|0;if((j|0)==(a|0))k=f+1|0;else{k=f;f=c[i+1179664+(j+-1<<2)>>2]|0}c[l>>2]=f;f=k;a=a+1|0;l=l+4|0}n=i+8|0;j=f+-1|0;c[n>>2]=j;if(!j)f=0;else{_O(m|0,0,j<<2|0)|0;_O(i+655376|0,0,j<<4|0)|0;f=0;while(1){if((f|0)>=(j|0))break;v=f<<2;c[i+131084+(v<<2)>>2]=x;c[i+131084+((v|1)<<2)>>2]=0;c[i+131084+((v|2)<<2)>>2]=w;c[i+131084+((v|3)<<2)>>2]=0;f=f+1|0}a=0;while(1){if((a|0)>=(o|0))break;k=(c[i+1179664+(a<<2)>>2]|0)+-1|0;l=a*7|0;f=i+12+(k<<2)|0;c[f>>2]=(c[f>>2]|0)+(c[i+1310736+(l<<2)>>2]|0);f=k<<1;j=i+655376+(f<<3)|0;g[j>>3]=+g[j>>3]+ +(c[i+1310736+(l+1<<2)>>2]|0);f=i+655376+((f|1)<<3)|0;g[f>>3]=+g[f>>3]+ +(c[i+1310736+(l+2<<2)>>2]|0);k=k<<2;f=i+131084+(k<<2)|0;j=c[i+1310736+(l+3<<2)>>2]|0;if((c[f>>2]|0)>(j|0))c[f>>2]=j;f=i+131084+((k|1)<<2)|0;j=c[i+1310736+(l+4<<2)>>2]|0;if((c[f>>2]|0)<(j|0))c[f>>2]=j;f=i+131084+((k|2)<<2)|0;j=c[i+1310736+(l+5<<2)>>2]|0;if((c[f>>2]|0)>(j|0))c[f>>2]=j;j=i+131084+((k|3)<<2)|0;f=c[i+1310736+(l+6<<2)>>2]|0;if((c[j>>2]|0)<(f|0))c[j>>2]=f;a=a+1|0}j=c[n>>2]|0;f=0;while(1){if((f|0)>=(j|0)){f=0;break d}z=+(c[i+12+(f<<2)>>2]|0);x=f<<1;w=i+655376+(x<<3)|0;g[w>>3]=+g[w>>3]/z;x=i+655376+((x|1)<<3)|0;g[x>>3]=+g[x>>3]/z;f=f+1|0}}}while(0);yb=y;return f|0}function cc(a,e,f,h,i){a=a|0;e=e|0;f=f|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0.0;x=yb;yb=yb+16|0;w=x;n=c[i>>2]|0;v=f+-1|0;j=n;k=n+((B(v,e)|0)<<1)|0;l=0;while(1){if((l|0)>=(e|0))break;b[k>>1]=0;b[j>>1]=0;j=j+2|0;k=k+2|0;l=l+1|0}u=e+-1|0;j=n;k=n+(u<<1)|0;l=0;while(1){if((l|0)>=(f|0))break;b[k>>1]=0;b[j>>1]=0;j=j+(e<<1)|0;k=k+(e<<1)|0;l=l+1|0}m=i+1179664|0;l=e+1|0;t=0-e|0;k=a+l|0;s=1;p=0;l=n+(l<<1)|0;a:while(1){if((s|0)>=(v|0)){k=59;breaLine truncated
function rw(f){f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0;Pa=yb;yb=yb+256|0;ga=Pa;Na=f+440|0;Oa=f+464|0;oa=f+24|0;ua=f+232|0;va=f+248|0;wa=f+264|0;pa=f+280|0;qa=f+40|0;ra=f+304|0;sa=f+308|0;ta=f+284|0;ha=f+288|0;ia=f+289|0;ja=f+290|0;ka=f+292|0;la=f+294|0;ma=f+296|0;na=f+300|0;Ja=f+36|0;Ka=f+216|0;g=c[Na>>2]|0;a:while(1){do if(!g){if(c[(c[Oa>>2]|0)+12>>2]|0){if(!(ow(f)|0)){xa=0;Aa=350;break a}g=c[Na>>2]|0;break}m=c[oa>>2]|0;n=m+4|0;g=c[n>>2]|0;if(!g){if(!(Eb[c[m+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[n>>2]|0}k=c[m>>2]|0;g=g+-1|0;h=k+1|0;k=a[k>>0]|0;l=k&255;if(!g){if(!(Eb[c[m+12>>2]&127](f)|0)){xa=0;Aa=350;break a}j=c[n>>2]|0;h=c[m>>2]|0}else j=g;V=a[h>>0]|0;g=V&255;if(k<<24>>24!=-1|V<<24>>24!=-40){V=c[f>>2]|0;c[V+20>>2]=55;c[V+24>>2]=l;c[(c[f>>2]|0)+28>>2]=g;Qb[c[c[f>>2]>>2]&255](f)}c[Na>>2]=g;c[m>>2]=h+1;c[n>>2]=j+-1}while(0);do switch(g|0){case 218:{Aa=25;break a}case 217:{Aa=75;break a}case 216:{g=c[f>>2]|0;c[g+20>>2]=104;Sb[c[g+4>>2]&63](f,1);g=(c[Oa>>2]|0)+12|0;if(c[g>>2]|0){g=c[f>>2]|0;c[g+20>>2]=64;Qb[c[g>>2]&255](f);g=(c[Oa>>2]|0)+12|0}h=ua;j=h+16|0;do{a[h>>0]=0;h=h+1|0}while((h|0)<(j|0));h=va;j=h+16|0;do{a[h>>0]=1;h=h+1|0}while((h|0)<(j|0));h=wa;j=h+16|0;do{a[h>>0]=5;h=h+1|0}while((h|0)<(j|0));c[pa>>2]=0;c[qa>>2]=0;c[ra>>2]=0;c[sa>>2]=0;c[ta>>2]=0;a[ha>>0]=1;a[ia>>0]=1;a[ja>>0]=0;b[ka>>1]=1;b[la>>1]=1;c[ma>>2]=0;a[na>>0]=0;c[g>>2]=1;break}case 192:{if(!(ww(f,1,0,0)|0)){xa=0;Aa=350;break a}break}case 193:{if(!(ww(f,0,0,0)|0)){xa=0;Aa=350;break a}break}case 194:{if(!(ww(f,0,1,0)|0)){xa=0;Aa=350;break a}break}case 201:{if(!(ww(f,0,0,1)|0)){xa=0;Aa=350;break a}break}case 202:{if(!(ww(f,0,1,1)|0)){xa=0;Aa=350;break a}break}case 207:case 206:case 205:case 203:case 200:case 199:case 198:case 197:case 195:{V=c[f>>2]|0;c[V+20>>2]=63;c[V+24>>2]=g;Qb[c[c[f>>2]>>2]&255](f);break}case 204:{p=c[oa>>2]|0;q=p+4|0;g=c[q>>2]|0;if(!g){if(!(Eb[c[p+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[q>>2]|0}j=c[p>>2]|0;g=g+-1|0;h=j+1|0;j=d[j>>0]<<8;if(!g){if(!(Eb[c[p+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[q>>2]|0;h=c[p>>2]|0}V=j|d[h>>0];j=V+-2|0;k=g+-1|0;g=h+1|0;if(V>>>0>2){o=p+12|0;n=j;h=k;while(1){if(!h){if(!(Eb[c[o>>2]&127](f)|0)){xa=0;Aa=350;break a}h=c[q>>2]|0;g=c[p>>2]|0}h=h+-1|0;j=g+1|0;l=a[g>>0]|0;m=l&255;if(!h){if(!(Eb[c[o>>2]&127](f)|0)){xa=0;Aa=350;break a}h=c[q>>2]|0;k=c[p>>2]|0}else k=j;g=a[k>>0]|0;j=g&255;V=c[f>>2]|0;c[V+20>>2]=81;c[V+24>>2]=m;c[(c[f>>2]|0)+28>>2]=j;Sb[c[(c[f>>2]|0)+4>>2]&63](f,1);if((l&255)<=31)if((l&255)<=15){U=j&15;a[f+232+m>>0]=U;V=(g&255)>>>4;a[f+248+m>>0]=V;if(U>>>0>(V&255)>>>0){V=c[f>>2]|0;c[V+20>>2]=30;c[V+24>>2]=j;Qb[c[c[f>>2]>>2]&255](f)}}else Aa=93;else{Aa=c[f>>2]|0;c[Aa+20>>2]=29;c[Aa+24>>2]=m;Qb[c[c[f>>2]>>2]&255](f);Aa=93}if((Aa|0)==93){Aa=0;a[m+-16+(f+264)>>0]=g}j=n+-2|0;h=h+-1|0;g=k+1|0;if((n|0)>2)n=j;else break}}else h=k;if(j|0){V=c[f>>2]|0;c[V+20>>2]=12;Qb[c[V>>2]&255](f)}c[p>>2]=g;c[q>>2]=h;break}case 196:{U=c[oa>>2]|0;V=U+4|0;g=c[V>>2]|0;if(!g){if(!(Eb[c[U+12>>2]&127](f)|0)){Aa=174;break a}g=c[V>>2]|0}k=c[U>>2]|0;g=g+-1|0;h=k+1|0;k=d[k>>0]<<8;if(!g){if(!(Eb[c[U+12>>2]&127](f)|0)){Aa=174;break a}g=c[V>>2]|0;j=c[U>>2]|0}else j=h;h=g+-1|0;g=j+1|0;T=k|d[j>>0];j=T+-2|0;if(T>>>0>18){T=U+12|0;do{if(!h){if(!(Eb[c[T>>2]&127](f)|0)){Aa=174;break a}h=c[V>>2]|0;g=c[U>>2]|0}S=d[g>>0]|0;R=c[f>>2]|0;c[R+20>>2]=82;c[R+24>>2]=S;Sb[c[(c[f>>2]|0)+4>>2]&63](f,1);h=h+-1|0;g=g+1|0;if(!h){if(!(Eb[c[T>>2]&127](f)|0)){Aa=174;break a}h=c[V>>2]|0;g=c[U>>2]|0}R=a[g>>0]|0;N=R&255;h=h+-1|0;g=g+1|0;if(!h){if(!(Eb[c[T>>2]&127](f)|0)){Aa=174;break a}h=c[V>>2]|0;g=c[U>>2]|0}Q=a[g>>0]|0;L=Q&255;k=L+N|0;h=h+-1|0;g=g+1|0;if(!h){if(!(Eb[c[T>>2]&127](f)|0)){Aa=174;break a}h=c[V>>2]|0;g=c[U>>2]|0}P=a[g>>0]|0;K=P&255;k=k+K|0;h=h+-1|0;g=g+1|0;if(!h){if(!(Eb[c[T>>2]&127](f)|0)){Aa=174;break a}h=c[V>>2]|0;g=c[U>>2]|0}O=a[g>>0]|0;I=O&255;k=k+I|0;h=h+-1|0;g=g+1|0;if(!h){if(!(Eb[c[T>>2]&127](f)|0)){Aa=174;break a}h=c[V>>2]|0;g=c[U>>2]|0}M=a[g>>0]|0;G=M&255;k=k+G|0;h=h+-1|0;g=g+1|0;if(!h){if(!(Eb[c[T>>2]&127](f)|0)){Aa=174;break a}h=c[V>>2]|0;g=c[U>>2]|0}J=a[g>>0]|0;E=J&255;k=k+E|0;h=h+-1|0;g=g+1|0;if(!h){if(!(Eb[c[T>>2]&127](f)|0)){Aa=174;break a}h=c[V>>2]|0;g=c[U>>2]|0}H=a[g>>0]|0;C=H&255;k=k+C|0;h=h+-1|0;g=g+1|0;if(!h){if(!(Eb[c[T>>2]&127](f)|0)){Aa=174;break a}h=c[V>>2]|0;g=c[U>>2]|0}F=a[g>>0]|0;A=F&255;k=k+A|0;h=h+-1|0;g=g+1|0;if(!h){if(!(Eb[c[T>>2]&127](f)|0)){Aa=174;break a}h=c[V>>2]|0;g=c[U>>2]|0}D=a[g>>0]|0;y=D&255;k=k+y|0;h=h+-1|0;g=g+1|0;if(!h){if(!(Eb[c[T>>2]&127](f)|0)){Aa=174;break a}h=c[V>>2]|0;g=c[U>>2]|0}B=a[g>>0]|0;w=B&255;k=k+w|0;h=h+-1|0;g=g+1|0;if(!h){if(!(Eb[c[T>>2]&127](f)|0)){Aa=174;break a}h=c[V>>2]|0;g=c[U>>2]|0}z=a[g>>0]|0Line truncated
function Ct(a,b,d,e,g,h){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0.0,j=0,k=0,l=0.0,m=0,n=0,o=0,p=0.0,q=0,r=0,s=0,t=0.0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=yb;yb=yb+80|0;A=B+48|0;w=B;x=B+76|0;y=B+72|0;z=B+64|0;u=B+56|0;v=e+4|0;t=+(a|0);p=+(b|0);q=z+4|0;r=u+4|0;s=h+4812|0;j=0;k=0;o=0;a:while(1){if((o|0)>=(c[v>>2]|0)){b=28;break}b=0;while(1){if((b|0)==3)break;a=0;while(1){if((a|0)==4)break;c[w+(b<<4)+(a<<2)>>2]=c[d+(o*48|0)+(b<<4)+(a<<2)>>2];a=a+1|0}b=b+1|0}a=j;b=k;n=0;j=c[(c[e>>2]|0)+(o*112|0)+4>>2]|0;while(1){if((n|0)>=(c[j+4>>2]|0))break;m=0;k=j;while(1){j=c[k>>2]|0;if((m|0)>=(c[j+(n*20|0)+4>>2]|0))break;k=c[j+(n*20|0)>>2]|0;k=(Bf(0,w,+f[k+(m*20|0)+8>>2],+f[k+(m*20|0)+12>>2],x,y)|0)<0;i=+f[x>>2];do if(!(k|i<0.0)?(l=+f[y>>2],!(l>=p)&(!(i>=t)&!(l<0.0))):0){j=c[(c[c[(c[e>>2]|0)+(o*112|0)+4>>2]>>2]|0)+(n*20|0)>>2]|0;c[z>>2]=c[j+(m*20|0)+8>>2];c[q>>2]=c[j+(m*20|0)+12>>2];lf(0,w,z,u)|0;i=+f[r>>2];j=c[c[(c[e>>2]|0)+(o*112|0)+4>>2]>>2]|0;l=+f[j+(n*20|0)+12>>2];if(i<=l?i>=+f[j+(n*20|0)+16>>2]:0){if((b|0)==200){b=18;break a}c[g+(b*24|0)>>2]=o;c[g+(b*24|0)+4>>2]=n;c[g+(b*24|0)+8>>2]=m;c[g+(b*24|0)+16>>2]=c[x>>2];c[g+(b*24|0)+20>>2]=c[y>>2];c[g+(b*24|0)+12>>2]=0;b=b+1|0;break}if(i<=l*2.0?i>=+f[j+(n*20|0)+16>>2]*.5:0)if((a|0)==200){c[s>>2]=-1;a=200;break}else{c[h+(a*24|0)>>2]=o;c[h+(a*24|0)+4>>2]=n;c[h+(a*24|0)+8>>2]=m;c[h+(a*24|0)+16>>2]=c[x>>2];c[h+(a*24|0)+20>>2]=c[y>>2];c[h+(a*24|0)+12>>2]=0;a=a+1|0;break}}while(0);m=m+1|0;k=c[(c[e>>2]|0)+(o*112|0)+4>>2]|0}n=n+1|0;j=k}j=a;k=b;o=o+1|0}if((b|0)==18){Se(0,3,41890,A);a=g+4812|0}else if((b|0)==28){c[g+(k*24|0)+12>>2]=-1;a=h+(j*24|0)+12|0}c[a>>2]=-1;yb=B;return}function Dt(a,b,d,e,h,i,j){a=a|0;b=b|0;d=d|0;e=e|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0.0,n=0.0,o=0.0,p=0,q=0,r=0.0,s=0,t=0,u=0,v=0,w=0,x=0.0,y=0.0;w=yb;yb=yb+224|0;s=w+212|0;t=w+96|0;v=w;u=w+192|0;l=DO(h<<4)|0;c[s>>2]=l;if(!l){Se(0,3,41858,w+200|0);Ea(1)}p=DO(h*24|0)|0;q=s+4|0;c[q>>2]=p;if(!p){Se(0,3,41858,w+208|0);Ea(1)}k=0;o=0.0;n=0.0;m=0.0;while(1){if((k|0)>=(h|0))break;r=m+ +f[e+(k*12|0)>>2];x=n+ +f[e+(k*12|0)+4>>2];y=o+ +f[e+(k*12|0)+8>>2];k=k+1|0;o=y;n=x;m=r}y=+(h|0);r=m/y;n=n/y;m=o/y;k=0;while(1){if((k|0)>=(h|0))break;g[l+(k<<4)>>3]=+f[d+(k<<3)>>2];g[l+(k<<4)+8>>3]=+f[d+(k<<3)+4>>2];g[p+(k*24|0)>>3]=+f[e+(k*12|0)>>2]-r;g[p+(k*24|0)+8>>3]=+f[e+(k*12|0)+4>>2]-n;g[p+(k*24|0)+16>>3]=+f[e+(k*12|0)+8>>2]-m;k=k+1|0}c[s+8>>2]=h;k=0;while(1){if((k|0)==3)break;l=0;while(1){if((l|0)==3)break;g[t+(k<<5)+(l<<3)>>3]=+f[b+(k<<4)+(l<<2)>>2];l=l+1|0}k=k+1|0}g[t+24>>3]=+f[b+12>>2]+(r*+f[b>>2]+n*+f[b+4>>2]+m*+f[b+8>>2]);g[t+56>>3]=+f[b+28>>2]+(r*+f[b+16>>2]+n*+f[b+20>>2]+m*+f[b+24>>2]);g[t+88>>3]=+f[b+44>>2]+(r*+f[b+32>>2]+n*+f[b+36>>2]+m*+f[b+40>>2]);if(!j){if((Fe(a,s,t,v,u)|0)<0)g[u>>3]=1.0e8}else if((He(a,s,t,v,u)|0)<0)g[u>>3]=1.0e8;EO(c[s>>2]|0);EO(c[q>>2]|0);k=0;while(1){if((k|0)==3)break;l=0;while(1){if((l|0)==3)break;f[i+(k<<4)+(l<<2)>>2]=+g[v+(k<<5)+(l<<3)>>3];l=l+1|0}k=k+1|0}x=n;y=m;f[i+12>>2]=+g[v+24>>3]-+g[v>>3]*r-+g[v+8>>3]*x-+g[v+16>>3]*y;f[i+28>>2]=+g[v+56>>3]-+g[v+32>>3]*r-+g[v+40>>3]*x-+g[v+48>>3]*y;f[i+44>>2]=+g[v+88>>3]-+g[v+64>>3]*r-+g[v+72>>3]*x-+g[v+80>>3]*y;yb=w;return +(+g[u>>3])}function Et(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=+g;if(!f)g=+Ft(a,b,c,d,e);else g=+Gt(a,b,c,d,e,g);return +g}function Ft(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0.0,h=0,i=0,j=0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0,r=0,s=0,t=0,u=0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0.0,J=0.0,K=0,L=0.0,M=0.0,N=0.0;H=yb;yb=yb+48|0;i=H+40|0;h=H+32|0;F=H;do if((d|0)>=4?(j=a+44|0,!(+f[j>>2]==0.0)):0){G=DO(d<<6)|0;if(!G){Se(0,3,41875,h);g=-1.0;break}E=DO(d<<3)|0;if(!E){Se(0,3,41875,i);EO(G);g=-1.0;break}h=0;while(1){if((h|0)==3)break;i=0;while(1){if((i|0)==4)break;f[e+(h<<4)+(i<<2)>>2]=+f[a+(h<<4)+(i<<2)>>2]/+f[j>>2];i=i+1|0}h=h+1|0}a=e+4|0;j=e+12|0;q=e+16|0;r=e+20|0;s=e+28|0;t=e+32|0;u=e+36|0;v=+(d|0);w=d<<1;x=F+4|0;y=F+8|0;z=F+12|0;A=F+16|0;B=F+20|0;C=F+24|0;D=F+28|0;p=0.0;i=0;a:while(1){g=0.0;h=0;while(1){if((h|0)>=(d|0))break;k=+f[c+(h*12|0)>>2];l=+f[c+(h*12|0)+4>>2];m=+f[j>>2]+(+f[e>>2]*k+ +f[a>>2]*l);n=+f[s>>2]+(k*+f[q>>2]+l*+f[r>>2]);o=k*+f[t>>2]+l*+f[u>>2]+1.0;if(o==0.0){h=17;break a}L=o*o;J=+f[b+(h<<3)>>2]-m/o;I=+f[b+(h<<3)+4>>2]-n/o;K=h<<1;f[E+(K<<2)>>2]=J;f[E+((K|1)<<2)>>2]=I;N=k/o;K=h<<4;f[G+(K<<2)>>2]=N;M=l/o;f[G+((K|1)<<2)>>2]=M;o=1.0/o;f[G+((K|2)<<2)>>2]=o;f[G+((K|3)<<2)>>2]=0.0;f[G+((K|4)<<2)>>2]=0.0;f[G+((K|5)<<2)>>2]=0.0;f[G+((K|6)<<2)>>2]=-(k*m)/L;f[G+((K|7)<<2)>>2]=-(l*m)/L;f[G+((K|8)<<2)>>2]=0.0;f[G+((K|9)<<2)>>2]=0.0;f[G+((K|10)<<2)>>2]=0.0;f[G+((K|11)<<2)>>2]=N;f[G+((K|12)<<2)>>2]=M;f[G+((K|13)<<2)>>2]=o;f[G+((K|14)<<2)>>2]=-(k*n)/L;f[G+((K|15)<<2)>>2]=-(l*n)/L;g=g+(J*J+I*I);h=h+1|0}g=g/v;if(g<.10000000149011612){h=26;break}if((i|0)!=0&g<4.0){if((i|0)==10|g/p>.9900000095367432){h=26;break}}else if((i|0)==10){h=26;break}if((It(F,E,G,w)|0)<0){h=24;break}f[e>>2]=+f[F>>2]+ +f[e>>2];f[a>>2]=+f[x>>2]+ +f[a>>2];f[j>>2]=+f[y>>2]+ +f[j>>2];f[q>>2]=+f[z>>2]+ +f[q>>2];f[r>>2]=+f[A>>2]+ +f[r>>2];Line truncated
function Jm(b,d,e,g){b=b|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=yb;yb=yb+16|0;v=y;w=b+4|0;c[w>>2]=c[b>>2];do if((yk(d)|0)!=0?(yk(e)|0)!=0:0){Wm(b,yk(d)|0);t=b+8|0;u=b+12|0;s=0;a:while(1){if(s>>>0>=(yk(d)|0)>>>0)break;n=Xm(d,s)|0;wo(g,n)|0;q=Ym(d,s)|0;o=xo(g)|0;p=o+4|0;q=q+16|0;l=0;m=-1;j=-1;i=2147483647;while(1){h=c[o>>2]|0;if(l>>>0>=(c[p>>2]|0)-h>>2>>>0)break;k=a[q>>0]|0;do if(k<<24>>24==(a[(Ym(e,c[h+(l<<2)>>2]|0)|0)+16>>0]|0)){h=wl(n,Xm(e,c[(c[o>>2]|0)+(l<<2)>>2]|0)|0)|0;if(h>>>0<m>>>0){k=h;h=m;i=c[(c[o>>2]|0)+(l<<2)>>2]|0;break}else{k=m;h=h>>>0<j>>>0?h:j;break}}else{k=m;h=j}while(0);l=l+1|0;m=k;j=h}do if((m|0)!=-1){if((i|0)==-1){x=15;break a}if((j|0)==-1){_m(v,s,i);h=c[w>>2]|0;if(h>>>0<(c[t>>2]|0)>>>0){o=v;p=c[o+4>>2]|0;q=h;c[q>>2]=c[o>>2];c[q+4>>2]=p;c[w>>2]=(c[w>>2]|0)+8}else $m(b,v);break}if(+(m>>>0)/+(j>>>0)<+f[u>>2]){_m(v,s,i);h=c[w>>2]|0;if(h>>>0<(c[t>>2]|0)>>>0){o=v;p=c[o+4>>2]|0;q=h;c[q>>2]=c[o>>2];c[q+4>>2]=p;c[w>>2]=(c[w>>2]|0)+8}else $m(b,v)}}while(0);s=s+1|0}if((x|0)==15){x=Vf(Vf(NE(Vf(Vf(Vf(56032,31276)|0,31157)|0,35e3)|0,160)|0,35007)|0,31348)|0;GE(v,x+(c[(c[x>>2]|0)+-12>>2]|0)|0);g=VF(v,56736)|0;g=Gb[c[(c[g>>2]|0)+28>>2]&63](g,10)|0;WF(v);OE(x,g)|0;KE(x)|0;ua()}x=(c[w>>2]|0)-(c[b>>2]|0)>>3;if(x>>>0>(yk(d)|0)>>>0){x=Vf(Vf(NE(Vf(Vf(Vf(56032,31366)|0,31157)|0,35e3)|0,175)|0,35007)|0,31426)|0;GE(v,x+(c[(c[x>>2]|0)+-12>>2]|0)|0);w=VF(v,56736)|0;w=Gb[c[(c[w>>2]|0)+28>>2]&63](w,10)|0;WF(v);OE(x,w)|0;KE(x)|0;ua()}else{r=(c[w>>2]|0)-(c[b>>2]|0)>>3;break}}else r=0;while(0);yb=y;return r|0}function Km(b,d,e){b=b|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;t=yb;yb=yb+16|0;r=t;s=b+4|0;c[s>>2]=c[b>>2];do if((yk(d)|0)!=0?(yk(e)|0)!=0:0){Wm(b,yk(d)|0);p=b+8|0;q=b+12|0;o=0;while(1){if(o>>>0>=(yk(d)|0)>>>0)break;l=Xm(d,o)|0;m=(Ym(d,o)|0)+16|0;i=0;j=-1;g=2147483647;h=-1;while(1){if(i>>>0>=(yk(e)|0)>>>0)break;k=a[m>>0]|0;if(k<<24>>24==(a[(Ym(e,i)|0)+16>>0]|0)){u=wl(l,Xm(e,i)|0)|0;v=u>>>0<j>>>0;k=v?u:j;g=v?i:g;h=v?j:u>>>0<h>>>0?u:h}else k=j;i=i+1|0;j=k}do if((j|0)!=-1){if((h|0)==-1){_m(r,o,g);g=c[s>>2]|0;if(g>>>0<(c[p>>2]|0)>>>0){m=r;u=c[m+4>>2]|0;v=g;c[v>>2]=c[m>>2];c[v+4>>2]=u;c[s>>2]=(c[s>>2]|0)+8}else $m(b,r);break}if(+(j>>>0)/+(h>>>0)<+f[q>>2]){_m(r,o,g);g=c[s>>2]|0;if(g>>>0<(c[p>>2]|0)>>>0){m=r;u=c[m+4>>2]|0;v=g;c[v>>2]=c[m>>2];c[v+4>>2]=u;c[s>>2]=(c[s>>2]|0)+8}else $m(b,r)}}while(0);o=o+1|0}v=(c[s>>2]|0)-(c[b>>2]|0)>>3;if(v>>>0>(yk(d)|0)>>>0){v=Vf(Vf(NE(Vf(Vf(Vf(56032,31366)|0,31157)|0,35e3)|0,112)|0,35007)|0,31426)|0;GE(r,v+(c[(c[v>>2]|0)+-12>>2]|0)|0);u=VF(r,56736)|0;u=Gb[c[(c[u>>2]|0)+28>>2]&63](u,10)|0;WF(r);OE(v,u)|0;KE(v)|0;ua()}else{n=(c[s>>2]|0)-(c[b>>2]|0)>>3;break}}else n=0;while(0);yb=t;return n|0}function Lm(a){a=a|0;return a|0}function Mm(a){a=a|0;return c[a>>2]|0}function Nm(a){a=a|0;return c[a+4>>2]|0}function Om(a,b,d,e,g,h,i,j){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0.0,A=0.0;u=yb;yb=yb+32|0;s=u+20|0;t=u+8|0;o=u+4|0;p=u;q=e+4|0;so(s,(c[q>>2]|0)-(c[e>>2]|0)>>1);so(t,(c[q>>2]|0)-(c[e>>2]|0)>>1);n=c[e>>2]|0;r=(c[q>>2]|0)-n>>3;m=c[b>>2]|0;d=c[d>>2]|0;k=c[s>>2]|0;l=c[t>>2]|0;b=0;while(1){if((b|0)==(r|0))break;y=c[n+(b<<3)>>2]|0;w=c[n+(b<<3)+4>>2]|0;v=b<<2;x=k+(v<<2)|0;c[x>>2]=c[m+(y*20|0)>>2];c[x+4>>2]=c[m+(y*20|0)+4>>2];c[x+8>>2]=c[m+(y*20|0)+8>>2];c[x+12>>2]=c[m+(y*20|0)+12>>2];v=l+(v<<2)|0;c[v>>2]=c[d+(w*20|0)>>2];c[v+4>>2]=c[d+(w*20|0)+4>>2];c[v+8>>2]=c[d+(w*20|0)+8>>2];c[v+12>>2]=c[d+(w*20|0)+12>>2];b=b+1|0}A=+(g|0);A=A*.20000000298023224+A;z=+(h|0);z=z*.20000000298023224+z;mp(a,-A,A,-z,z,0,0,12,10);to(a,+(i>>1|0),+(j>>1|0));uo(a,i,j);op(a,c[s>>2]|0,c[t>>2]|0,(c[q>>2]|0)-(c[e>>2]|0)>>3);Dp(a,o,p);y=+f[o>>2]<3.0?-1:c[p>>2]|0;eh(t);eh(s);yb=u;return y|0}function Pm(a,b,d,e,g){a=a|0;b=b|0;d=d|0;e=e|0;g=+g;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;v=yb;yb=yb+48|0;h=v+32|0;r=v+28|0;s=v+24|0;t=v+20|0;u=v+16|0;n=v+12|0;o=v+8|0;p=v+4|0;q=v;oo(b,n,o,p,q,e);l=a+4|0;c[l>>2]=c[a>>2];m=po(b)|0;m=(c[m+4>>2]|0)-(c[m>>2]|0)>>2;e=qo(b)|0;if(m>>>0>(c[d+4>>2]|0)-(c[d>>2]|0)>>3>>>0){k=Vf(Vf(NE(Vf(Vf(Vf(56032,31870)|0,30067)|0,35e3)|0,342)|0,35007)|0,31916)|0;GE(h,k+(c[(c[k>>2]|0)+-12>>2]|0)|0);j=VF(h,56736)|0;j=Gb[c[(c[j>>2]|0)+28>>2]&63](j,10)|0;WF(h);OE(k,j)|0;KE(k)|0;ua()}k=a+8|0;e=c[e>>2]|0;h=0;while(1){if((h|0)>=(m|0))break;ro(b,r,s,t,u,+f[e>>2],+f[e+4>>2],+f[e+8>>2],+f[e+12>>2],+(c[n>>2]|0)+.5,+(c[o>>2]|0)+.5,+(c[p>>2]|0)+.5,+(c[q>>2]|0)+.5);do if((+f[r>>2]<g?+f[s>>2]<g:0)&+f[t>>2]<g&+f[u>>2]<g){i=c[(c[(po(b)|0)>>2]|0)+(h<<2)>>2]|0;i=(c[d>>2]|0)+(i<<3)|0;j=c[l>>2]|0;if((j|0)==(c[k>>2]|0)){fn(a,i);break}else{w=i;i=c[w+4>>2]|0;c[j>>2]=c[w>>2];c[j+4>>2]=i;c[l>>2]=(c[l>>2]|0)+8;break}}while(0);e=e+16|0;h=h+1|0}yb=v;return}function Qm(a,b,d,e,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0;q=yb;yb=yb+64|0;o=q+44|0;p=q+32|0;n=q;m=e+4|0;gn(o,(c[m>>2]|0)-(c[e>>2]|0)>Line truncated
function xh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;Hg(a+32|0,b);d=Lg(c[(yh(b)|0)>>2]|0)|0;f=Mg(c[(yh(b)|0)>>2]|0)|0;e=Ng(b)|0;sj(a+92|0,d,f,e,Og(b)|0,36,3.0,1.5,5,.800000011920929);c[a>>2]=Lg(c[(yh(b)|0)>>2]|0)|0;c[a+4>>2]=Mg(c[(yh(b)|0)>>2]|0)|0;e=a+16|0;zh(e,c[a+8>>2]|0);f=a+20|0;a=a+12|0;b=0;while(1){d=c[e>>2]|0;if(b>>>0>=(((c[f>>2]|0)-d|0)/12|0)>>>0)break;Ah(d+(b*12|0)|0,c[a>>2]|0);b=b+1|0}return}function yh(a){a=a|0;return a+4|0}function zh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=a+4|0;d=c[g>>2]|0;f=c[a>>2]|0;e=(d-f|0)/12|0;if(e>>>0>=b>>>0){if(e>>>0>b>>>0){a=f+(b*12|0)|0;while(1){if((d|0)==(a|0))break;f=d+-12|0;ih(f);d=f}c[g>>2]=a}}else Ih(a,b-e|0);return}function Ah(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=a+4|0;d=c[g>>2]|0;f=c[a>>2]|0;e=(d-f|0)/12|0;if(e>>>0>=b>>>0){if(e>>>0>b>>>0){a=f+(b*12|0)|0;while(1){if((d|0)==(a|0))break;f=d+-12|0;jh(f);d=f}c[g>>2]=a}}else Bh(a,b-e|0);return}function Bh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=yb;yb=yb+32|0;f=i;g=a+8|0;h=a+4|0;d=c[h>>2]|0;do if((((c[g>>2]|0)-d|0)/12|0)>>>0<b>>>0){d=((d-(c[a>>2]|0)|0)/12|0)+b|0;e=Dh(a)|0;if(e>>>0<d>>>0)CO(a);else{j=c[a>>2]|0;k=((c[g>>2]|0)-j|0)/12|0;g=k<<1;Eh(f,k>>>0<e>>>1>>>0?(g>>>0<d>>>0?d:g):e,((c[h>>2]|0)-j|0)/12|0,a+8|0);Fh(f,b);Gh(a,f);Hh(f);break}}else Ch(a,b);while(0);yb=i;return}function Ch(a,b){a=a|0;b=b|0;var d=0;a=a+4|0;d=c[a>>2]|0;_O(d|0,0,b*12|0)|0;c[a>>2]=d+(b*12|0);return}function Dh(a){a=a|0;return 357913941}function Eh(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=a+12|0;c[f>>2]=0;c[a+16>>2]=e;do if(b)if(b>>>0>357913941){f=O(8)|0;bO(f,37409);c[f>>2]=16392;Q(f|0,13960,22)}else{e=rB(b*12|0)|0;break}else e=0;while(0);c[a>>2]=e;d=e+(d*12|0)|0;c[a+8>>2]=d;c[a+4>>2]=d;c[f>>2]=e+(b*12|0);return}function Fh(a,b){a=a|0;b=b|0;var d=0;a=a+8|0;d=c[a>>2]|0;_O(d|0,0,b*12|0)|0;c[a>>2]=d+(b*12|0);return}function Gh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;e=c[a>>2]|0;f=a+4|0;g=b+4|0;d=c[f>>2]|0;while(1){if((d|0)==(e|0))break;k=c[g>>2]|0;i=k+-12|0;h=d+-12|0;c[i>>2]=0;j=k+-8|0;c[j>>2]=0;k=k+-4|0;c[k>>2]=0;c[i>>2]=c[h>>2];i=d+-8|0;c[j>>2]=c[i>>2];j=d+-4|0;c[k>>2]=c[j>>2];c[j>>2]=0;c[i>>2]=0;c[h>>2]=0;c[g>>2]=(c[g>>2]|0)+-12;d=h}i=c[a>>2]|0;c[a>>2]=c[g>>2];c[g>>2]=i;i=b+8|0;k=c[f>>2]|0;c[f>>2]=c[i>>2];c[i>>2]=k;i=a+8|0;k=b+12|0;j=c[i>>2]|0;c[i>>2]=c[k>>2];c[k>>2]=j;c[b>>2]=c[g>>2];return}function Hh(a){a=a|0;var b=0,d=0,e=0;b=c[a+4>>2]|0;d=a+8|0;while(1){e=c[d>>2]|0;if((e|0)==(b|0))break;e=e+-12|0;c[d>>2]=e;jh(e)}b=c[a>>2]|0;if(b|0)Nf(b,(c[a+12>>2]|0)-b|0);return}function Ih(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=yb;yb=yb+32|0;f=i;g=a+8|0;h=a+4|0;d=c[h>>2]|0;do if((((c[g>>2]|0)-d|0)/12|0)>>>0<b>>>0){d=((d-(c[a>>2]|0)|0)/12|0)+b|0;e=Kh(a)|0;if(e>>>0<d>>>0)CO(a);else{j=c[a>>2]|0;k=((c[g>>2]|0)-j|0)/12|0;g=k<<1;Lh(f,k>>>0<e>>>1>>>0?(g>>>0<d>>>0?d:g):e,((c[h>>2]|0)-j|0)/12|0,a+8|0);Mh(f,b);Nh(a,f);Oh(f);break}}else Jh(a,b);while(0);yb=i;return}function Jh(a,b){a=a|0;b=b|0;var d=0;a=a+4|0;d=c[a>>2]|0;_O(d|0,0,b*12|0)|0;c[a>>2]=d+(b*12|0);return}function Kh(a){a=a|0;return 357913941}function Lh(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=a+12|0;c[f>>2]=0;c[a+16>>2]=e;do if(b)if(b>>>0>357913941){f=O(8)|0;bO(f,37409);c[f>>2]=16392;Q(f|0,13960,22)}else{e=rB(b*12|0)|0;break}else e=0;while(0);c[a>>2]=e;d=e+(d*12|0)|0;c[a+8>>2]=d;c[a+4>>2]=d;c[f>>2]=e+(b*12|0);return}function Mh(a,b){a=a|0;b=b|0;var d=0;a=a+8|0;d=c[a>>2]|0;_O(d|0,0,b*12|0)|0;c[a>>2]=d+(b*12|0);return}function Nh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;e=c[a>>2]|0;f=a+4|0;g=b+4|0;d=c[f>>2]|0;while(1){if((d|0)==(e|0))break;k=c[g>>2]|0;i=k+-12|0;h=d+-12|0;c[i>>2]=0;j=k+-8|0;c[j>>2]=0;k=k+-4|0;c[k>>2]=0;c[i>>2]=c[h>>2];i=d+-8|0;c[j>>2]=c[i>>2];j=d+-4|0;c[k>>2]=c[j>>2];c[j>>2]=0;c[i>>2]=0;c[h>>2]=0;c[g>>2]=(c[g>>2]|0)+-12;d=h}i=c[a>>2]|0;c[a>>2]=c[g>>2];c[g>>2]=i;i=b+8|0;k=c[f>>2]|0;c[f>>2]=c[i>>2];c[i>>2]=k;i=a+8|0;k=b+12|0;j=c[i>>2]|0;c[i>>2]=c[k>>2];c[k>>2]=j;c[b>>2]=c[g>>2];return}function Oh(a){a=a|0;var b=0,d=0,e=0;b=c[a+4>>2]|0;d=a+8|0;while(1){e=c[d>>2]|0;if((e|0)==(b|0))break;e=e+-12|0;c[d>>2]=e;ih(e)}b=c[a>>2]|0;if(b|0)Nf(b,(c[a+12>>2]|0)-b|0);return}function Ph(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=yb;yb=yb+32|0;d=e;if((Ng(b)|0)<=0){f=Vf(Vf(NE(Vf(Vf(Vf(56032,22918)|0,22676)|0,35e3)|0,147)|0,35007)|0,22967)|0;GE(d,f+(c[(c[f>>2]|0)+-12>>2]|0)|0);g=VF(d,56736)|0;g=Gb[c[(c[g>>2]|0)+28>>2]&63](g,10)|0;WF(d);OE(f,g)|0;KE(f)|0;ua()}zq(d,23866);if(Qh(d)|0)Xg(a+32|0,b);Aq(d);zq(d,23878);if(Qh(d)|0)Rh(a,b,a+32|0);Aq(d);zq(d,23898);if(Qh(d)|0)Sh(a,b);Aq(d);zq(d,23907);if(Qh(d)|0)Th(a);Aq(d);zq(d,23921);if(Qh(d)|0)Uh(a,b);Aq(d);yb=e;return}function Qh(a){a=a|0;return 1}function Rh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,g=0.0,h=0,i=0,j=0.0,k=0,l=0,m=0.0,n=0,o=0,p=0,q=0,r=0,t=0,u=0,v=0,w=0,x=0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0.0,ga=0,ha=0,ia=0.0;ha=yb;yb=yb+48|0;aa=ha;ca=a+60|0;da=a+64|0;c[da>>2]=c[ca>>2];fa=+hi(+f[a+52>Line truncated
function Tu(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;i=yb;yb=yb+128|0;j=i;d=c[d+336>>2]|0;m=c[e+84>>2]|0;l=B(c[m>>2]|0,b[f>>1]|0)|0;e=B(c[m+64>>2]|0,b[f+32>>1]|0)|0;n=e+l<<2;e=l-e<<2;l=B(c[m+32>>2]|0,b[f+16>>1]|0)|0;k=B(c[m+96>>2]|0,b[f+48>>1]|0)|0;o=((k+l|0)*4433|0)+1024|0;l=o+(l*6270|0)>>11;k=o+(B(k,-15137)|0)>>11;c[j>>2]=l+n;c[j+96>>2]=n-l;c[j+32>>2]=k+e;c[j+64>>2]=e-k;k=B(c[m+4>>2]|0,b[f+2>>1]|0)|0;e=B(c[m+68>>2]|0,b[f+34>>1]|0)|0;l=e+k<<2;e=k-e<<2;k=B(c[m+36>>2]|0,b[f+18>>1]|0)|0;n=B(c[m+100>>2]|0,b[f+50>>1]|0)|0;o=((n+k|0)*4433|0)+1024|0;k=o+(k*6270|0)>>11;n=o+(B(n,-15137)|0)>>11;c[j+4>>2]=k+l;c[j+100>>2]=l-k;c[j+36>>2]=n+e;c[j+68>>2]=e-n;n=B(c[m+8>>2]|0,b[f+4>>1]|0)|0;e=B(c[m+72>>2]|0,b[f+36>>1]|0)|0;k=e+n<<2;e=n-e<<2;n=B(c[m+40>>2]|0,b[f+20>>1]|0)|0;l=B(c[m+104>>2]|0,b[f+52>>1]|0)|0;o=((l+n|0)*4433|0)+1024|0;n=o+(n*6270|0)>>11;l=o+(B(l,-15137)|0)>>11;c[j+8>>2]=n+k;c[j+104>>2]=k-n;c[j+40>>2]=l+e;c[j+72>>2]=e-l;l=B(c[m+12>>2]|0,b[f+6>>1]|0)|0;e=B(c[m+76>>2]|0,b[f+38>>1]|0)|0;n=e+l<<2;e=l-e<<2;l=B(c[m+44>>2]|0,b[f+22>>1]|0)|0;k=B(c[m+108>>2]|0,b[f+54>>1]|0)|0;o=((k+l|0)*4433|0)+1024|0;l=o+(l*6270|0)>>11;k=o+(B(k,-15137)|0)>>11;c[j+12>>2]=l+n;c[j+108>>2]=n-l;c[j+44>>2]=k+e;c[j+76>>2]=e-k;k=B(c[m+16>>2]|0,b[f+8>>1]|0)|0;e=B(c[m+80>>2]|0,b[f+40>>1]|0)|0;l=e+k<<2;e=k-e<<2;k=B(c[m+48>>2]|0,b[f+24>>1]|0)|0;n=B(c[m+112>>2]|0,b[f+56>>1]|0)|0;o=((n+k|0)*4433|0)+1024|0;k=o+(k*6270|0)>>11;n=o+(B(n,-15137)|0)>>11;c[j+16>>2]=k+l;c[j+112>>2]=l-k;c[j+48>>2]=n+e;c[j+80>>2]=e-n;n=B(c[m+20>>2]|0,b[f+10>>1]|0)|0;e=B(c[m+84>>2]|0,b[f+42>>1]|0)|0;k=e+n<<2;e=n-e<<2;n=B(c[m+52>>2]|0,b[f+26>>1]|0)|0;l=B(c[m+116>>2]|0,b[f+58>>1]|0)|0;o=((l+n|0)*4433|0)+1024|0;n=o+(n*6270|0)>>11;l=o+(B(l,-15137)|0)>>11;c[j+20>>2]=n+k;c[j+116>>2]=k-n;c[j+52>>2]=l+e;c[j+84>>2]=e-l;l=B(c[m+24>>2]|0,b[f+12>>1]|0)|0;e=B(c[m+88>>2]|0,b[f+44>>1]|0)|0;n=e+l<<2;e=l-e<<2;l=B(c[m+56>>2]|0,b[f+28>>1]|0)|0;k=B(c[m+120>>2]|0,b[f+60>>1]|0)|0;o=((k+l|0)*4433|0)+1024|0;l=o+(l*6270|0)>>11;k=o+(B(k,-15137)|0)>>11;c[j+24>>2]=l+n;c[j+120>>2]=n-l;c[j+56>>2]=k+e;c[j+88>>2]=e-k;k=B(c[m+28>>2]|0,b[f+14>>1]|0)|0;e=B(c[m+92>>2]|0,b[f+46>>1]|0)|0;l=e+k<<2;e=k-e<<2;k=B(c[m+60>>2]|0,b[f+30>>1]|0)|0;f=B(c[m+124>>2]|0,b[f+62>>1]|0)|0;m=((f+k|0)*4433|0)+1024|0;k=m+(k*6270|0)>>11;f=m+(B(f,-15137)|0)>>11;c[j+28>>2]=k+l;c[j+124>>2]=l-k;c[j+60>>2]=f+e;c[j+92>>2]=e-f;f=d+-384|0;d=j;e=0;while(1){o=(c[g+(e<<2)>>2]|0)+h|0;m=(c[d>>2]|0)+16400|0;n=c[d+16>>2]|0;p=m+n<<13;n=m-n<<13;m=c[d+8>>2]|0;k=c[d+24>>2]|0;r=(k+m|0)*4433|0;m=r+(m*6270|0)|0;k=r+(B(k,-15137)|0)|0;r=m+p|0;m=p-m|0;p=k+n|0;k=n-k|0;n=c[d+28>>2]|0;u=c[d+20>>2]|0;s=c[d+12>>2]|0;q=c[d+4>>2]|0;j=s+n|0;l=q+u|0;t=(l+j|0)*9633|0;j=t+(B(j,-16069)|0)|0;l=t+(B(l,-3196)|0)|0;t=B(q+n|0,-7373)|0;n=t+(n*2446|0)+j|0;q=t+(q*12299|0)+l|0;t=B(s+u|0,-20995)|0;l=t+(u*16819|0)+l|0;j=t+(s*25172|0)+j|0;a[o>>0]=a[f+((q+r|0)>>>18&1023)>>0]|0;a[o+7>>0]=a[f+((r-q|0)>>>18&1023)>>0]|0;a[o+1>>0]=a[f+((j+p|0)>>>18&1023)>>0]|0;a[o+6>>0]=a[f+((p-j|0)>>>18&1023)>>0]|0;a[o+2>>0]=a[f+((l+k|0)>>>18&1023)>>0]|0;a[o+5>>0]=a[f+((k-l|0)>>>18&1023)>>0]|0;a[o+3>>0]=a[f+((n+m|0)>>>18&1023)>>0]|0;a[o+4>>0]=a[f+((m-n|0)>>>18&1023)>>0]|0;e=e+1|0;if((e|0)==4)break;else d=d+32|0}yb=i;return}function Uu(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;m=yb;yb=yb+160|0;i=m;l=c[d+336>>2]|0;k=i;j=c[e+84>>2]|0;d=f;e=0;while(1){f=B(b[d>>1]<<13,c[j>>2]|0)|0|1024;n=B(c[j+64>>2]|0,b[d+32>>1]|0)|0;p=B(c[j+128>>2]|0,b[d+64>>1]|0)|0;o=(p+n|0)*6476|0;p=n-p|0;n=(p*2896|0)+f|0;q=n+o|0;o=n-o|0;f=(B(p,-11584)|0)+f|0;p=B(c[j+32>>2]|0,b[d+16>>1]|0)|0;n=B(c[j+96>>2]|0,b[d+48>>1]|0)|0;r=(n+p|0)*6810|0;p=r+(p*4209|0)|0;n=r+(B(n,-17828)|0)|0;c[k>>2]=p+q>>11;c[k+128>>2]=q-p>>11;c[k+32>>2]=n+o>>11;c[k+96>>2]=o-n>>11;c[k+64>>2]=f>>11;e=e+1|0;if((e|0)==8)break;else{k=k+4|0;j=j+4|0;d=d+2|0}}e=l+-384|0;d=0;while(1){r=(c[g+(d<<2)>>2]|0)+h|0;p=(c[i>>2]<<13)+134348800|0;k=c[i+16>>2]|0;j=p+(k*9373|0)|0;u=p+(B(k,-3580)|0)|0;k=p+(B(k,-11586)|0)|0;p=c[i+8>>2]|0;n=c[i+24>>2]|0;t=(n+p|0)*6810|0;p=t+(p*4209|0)|0;n=t+(B(n,-17828)|0)|0;t=p+j|0;p=j-p|0;j=n+u|0;n=u-n|0;u=c[i+4>>2]|0;v=c[i+12>>2]|0;l=c[i+20>>2]<<13;f=c[i+28>>2]|0;o=f+v|0;f=v-f|0;v=f*2531|0;w=o*7791|0;q=v+l|0;s=w+(u*11443|0)+q|0;q=(u*1812|0)-w+q|0;o=o*4815|0;v=l-v-(f<<12)|0;l=(u-f<<13)-l|0;f=(u*10323|0)-o-v|0;o=v+((u*5260|0)-o)|0;a[r>>0]=a[e+((s+t|0)>>>18&1023)>>0]|0;a[r+9>>0]=a[e+((t-s|0)>>>18&1023)>>0]|0;a[r+1>>0]=a[e+((f+j|0)>>>18&1023)>>0]|0;a[r+8>>0]=a[e+((j-f|0)>>>18&1023)>>0]|0;a[r+2>>0]=a[e+((l+k|0)>>>18&1023)>>0]|0;a[r+7>>0]=a[e+((k-l|0)>>>18&1023)>>0]|0;a[r+3>>0]=a[e+((o+n|0)>>>18&1023)>>0]|0;a[r+6>>0]=a[e+((n-o|0)>>>18&1023)>>0]|0;a[r+4>>0]=a[e+((q+p|0)>>>18&1023)>>0]|0;a[r+5>>0]=a[e+((p-q|0)>>>18&1023)>>0]|0;d=d+1|0;if((d|0)==5)break;else i=i+32|0}yb=m;return}function Vu(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;m=yb;yb=yb+192|0;i=m;l=c[d+336>>2]|0;k=i;Line truncated
function lL(b,d,e,f,g,h,i,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=yb;yb=yb+16|0;o=p;k=e;while(1){if((k|0)==(f|0)){k=f;break}if(!(a[k>>0]|0))break;k=k+1|0}c[j>>2]=h;c[g>>2]=e;m=i;n=b+8|0;while(1){if((h|0)==(i|0)|(e|0)==(f|0)){b=33;break}q=d;l=c[q+4>>2]|0;b=o;c[b>>2]=c[q>>2];c[b+4>>2]=l;b=cz(c[n>>2]|0)|0;l=Pz(h,g,k-e|0,m-h>>2,d)|0;if(b|0)cz(b)|0;if((l|0)==-1){b=10;break}h=(c[j>>2]|0)+(l<<2)|0;c[j>>2]=h;if((h|0)==(i|0)){b=30;break}e=c[g>>2]|0;if((k|0)==(f|0))k=f;else{k=cz(c[n>>2]|0)|0;e=Vy(h,e,1,d)|0;if(k|0)cz(k)|0;if(e|0){e=2;b=29;break}c[j>>2]=(c[j>>2]|0)+4;e=(c[g>>2]|0)+1|0;c[g>>2]=e;k=e;while(1){if((k|0)==(f|0)){k=f;break}if(!(a[k>>0]|0))break;k=k+1|0}h=c[j>>2]|0}}do if((b|0)==10){a:while(1){c[j>>2]=h;if((e|0)==(c[g>>2]|0)){b=19;break}b=cz(c[n>>2]|0)|0;h=Vy(h,e,k-e|0,o)|0;if(b|0)cz(b)|0;switch(h|0){case -1:{b=15;break a}case -2:{b=16;break a}case 0:{h=1;break}default:{}}e=e+h|0;h=(c[j>>2]|0)+4|0}if((b|0)==15){c[g>>2]=e;e=2;b=29;break}else if((b|0)==16){c[g>>2]=e;e=1;b=29;break}else if((b|0)==19){c[g>>2]=e;e=(e|0)!=(f|0)&1;b=29;break}}else if((b|0)==30){e=c[g>>2]|0;b=33}while(0);if((b|0)!=29)if((b|0)==33)e=(e|0)!=(f|0)&1;yb=p;return e|0}function mL(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;i=yb;yb=yb+16|0;h=i;c[g>>2]=e;e=cz(c[b+8>>2]|0)|0;b=Yx(h,0,d)|0;if(e|0)cz(e)|0;a:do if((b+1|0)>>>0>=2){b=b+-1|0;if(b>>>0>(f-(c[g>>2]|0)|0)>>>0)b=1;else while(1){if(!b){b=0;break a}d=a[h>>0]|0;f=c[g>>2]|0;c[g>>2]=f+1;a[f>>0]=d;h=h+1|0;b=b+-1|0}}else b=2;while(0);yb=i;return b|0}function nL(a){a=a|0;var b=0,d=0;a=a+8|0;b=cz(c[a>>2]|0)|0;d=nz(0,0,4)|0;if(b|0)cz(b)|0;if(!d){a=c[a>>2]|0;if(!a)a=1;else{b=cz(a)|0;a=fy()|0;if(b|0)cz(b)|0;return (a|0)==1|0}}else a=-1;return a|0}function oL(a){a=a|0;return 0}function pL(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;k=e;j=a+8|0;h=0;i=0;a:while(1){if((d|0)==(e|0)|h>>>0>=f>>>0)break;g=cz(c[j>>2]|0)|0;a=Oz(d,k-d|0,b)|0;if(g|0)cz(g)|0;switch(a|0){case -2:case -1:break a;case 0:{a=1;break}default:{}}h=h+1|0;i=a+i|0;d=d+a|0}return i|0}function qL(a){a=a|0;var b=0;a=c[a+8>>2]|0;if(a){b=cz(a)|0;a=fy()|0;if(b)cz(b)|0}else a=1;return a|0}function rL(a){a=a|0;var b=0,d=0;c[a>>2]=19168;b=a+8|0;d=c[b>>2]|0;if((d|0)!=(YF()|0))Ty(c[b>>2]|0);AF(a);return}function sL(a){a=a|0;rL(a);QA(a);return}function tL(a,b,d,e,f,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0;b=yb;yb=yb+16|0;j=b+4|0;a=b;c[j>>2]=d;c[a>>2]=g;h=CL(d,e,j,g,h,a,1114111,0)|0;c[f>>2]=c[j>>2];c[i>>2]=c[a>>2];yb=b;return h|0}function uL(a,b,d,e,f,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0;b=yb;yb=yb+16|0;j=b+4|0;a=b;c[j>>2]=d;c[a>>2]=g;h=BL(d,e,j,g,h,a,1114111,0)|0;c[f>>2]=c[j>>2];c[i>>2]=c[a>>2];yb=b;return h|0}function vL(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;c[f>>2]=d;return 3}function wL(a){a=a|0;return 0}function xL(a){a=a|0;return 0}function yL(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return AL(c,d,e,1114111,0)|0}function zL(a){a=a|0;return 4}function AL(b,c,e,f,g){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=c;if((((g&4|0)!=0?(o-b|0)>2:0)?(a[b>>0]|0)==-17:0)?(a[b+1>>0]|0)==-69:0)g=(a[b+2>>0]|0)==-65?b+3|0:b;else g=b;h=0;a:while(1){if(!(h>>>0<e>>>0&g>>>0<c>>>0))break;l=a[g>>0]|0;n=l&255;if(n>>>0>f>>>0)break;do if(l<<24>>24<=-1){if((l&255)<194)break a;if((l&255)<224){if((o-g|0)<2)break a;i=d[g+1>>0]|0;if((i&192|0)!=128)break a;if((i&63|n<<6&1984)>>>0>f>>>0)break a;else{g=g+2|0;break}}if((l&255)<240){if((o-g|0)<3)break a;j=a[g+1>>0]|0;i=a[g+2>>0]|0;switch(l<<24>>24){case -32:{if((j&-32)<<24>>24!=-96)break a;break}case -19:{if((j&-32)<<24>>24!=-128)break a;break}default:if((j&-64)<<24>>24!=-128)break a}i=i&255;if((i&192|0)!=128)break a;if(((j&63)<<6|n<<12&61440|i&63)>>>0>f>>>0)break a;else{g=g+3|0;break}}if((l&255)>=245)break a;if((e-h|0)>>>0<2|(o-g|0)<4)break a;m=a[g+1>>0]|0;i=a[g+2>>0]|0;k=a[g+3>>0]|0;switch(l<<24>>24){case -16:{if((m+112&255)>=48)break a;break}case -12:{if((m&-16)<<24>>24!=-128)break a;break}default:if((m&-64)<<24>>24!=-128)break a}j=i&255;if((j&192|0)!=128)break a;i=k&255;if((i&192|0)!=128)break a;if(((m&63)<<12|n<<18&1835008|j<<6&4032|i&63)>>>0>f>>>0)break a;else{h=h+1|0;g=g+4|0}}else g=g+1|0;while(0);h=h+1|0}return g-b|0}function BL(e,f,g,h,i,j,k,l){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0;c[g>>2]=e;c[j>>2]=h;if(l&4){e=c[g>>2]|0;h=f;if((((h-e|0)>2?(a[e>>0]|0)==-17:0)?(a[e+1>>0]|0)==-69:0)?(a[e+2>>0]|0)==-65:0)c[g>>2]=e+3}else h=f;s=i;a:while(1){n=c[g>>2]|0;if(n>>>0>=f>>>0){e=0;break}r=c[j>>2]|0;if(r>>>0>=i>>>0){e=1;break}m=a[n>>0]|0;q=m&255;if(q>>>0>k>>>0){e=2;break}do if(m<<24>>24>-1){b[r>>1]=m&255;e=n+1|0}else{if((m&255)<194){e=2;break a}if((m&255)<224){if((h-n|0)<2){e=1;break a}e=d[n+1>>0]|0;if((e&192|0)!=128){e=2;break a}e=e&63|q<<6&1984;if(e>>>0>k>>>0){e=2;break a}b[r>>1]=e;e=n+2|0;break}if((m&255)<240){if((h-n|0)<3){e=1;break a}l=a[n+1>>0]|0;e=a[n+2>>0]|0;switch(m<<24>>24){case -32:{if((l&-32)<<24>>24!=-96){e=2;break a}break}case -19Line truncated
// EMSCRIPTEN_END_FUNCS
var Bb=[yP,nr,qr,Ar];var Cb=[zP,qs];var Db=[AP,jr];var Eb=[BP,nj,ix,px,YA,LD,MD,OD,PD,_D,$D,bE,cE,_E,eF,jF,kF,pF,qF,LH,SH,TH,UH,VH,WH,XH,YH,tI,AI,BI,CI,DI,EI,FI,GI,oJ,pJ,uJ,zJ,AJ,FJ,KJ,LJ,QJ,VJ,WJ,$J,XK,YK,_K,nL,oL,qL,VL,WL,aM,bM,gL,hL,jL,wL,xL,zL,cx,Kt,DO,bx,Iq,Kq,Rq,Sq,_q,$q,ar,fr,gr,tr,vr,xr,Cr,Er,Gr,Bs,gu,iu,kw,rw,sw,tw,uw,Uw,BP,BP,BP,BP,BP,BP,BP,BP,BP,BP,BP,BP,BP,BP,BP,BP,BP,BP,BP,BP,BP,BP,BP,BP,BP,BP,BP,BP,BP,BP,BP,BP,BP,BP,BP,BP,BP];var Fb=[CP,Jx];var Gb=[DP,Zl,gq,nq,QD,SD,dE,fE,aF,gF,lF,rF,IL,KL,ML,lM,nM,pM,Je,$w,Lq,Nq,Oq,Pq,Vq,Yq,Zq,cr,dr,er,lt,Ms,Ht,hu,ju,ku,ou,pu,qu,ru,tu,uu,zu,Au,Bu,Cu,Du,mw,DP,DP,DP,DP,DP,DP,DP,DP,DP,DP,DP,DP,DP,DP,DP,DP];var Hb=[EP,jx,ox,dy,DA,dB,ID,ND,RD,XD,aE,eE,$E,fF,yF,FF,LK,QK,JL,LL,OL,hM,mM,oM,rM,gw,Gq,Uq,Wq,Xq,br,ft,Ws,Cw,Dw,Cz,EP,EP,EP,EP,EP,EP,EP,EP,EP,EP,EP,EP,EP,EP,EP,EP,EP,EP,EP,EP,EP,EP,EP,EP,EP,EP,EP,EP];var Ib=[FP,kx,qx,NL,iM,jM,kM,qM,ut,Ew,Fw,FP,FP,FP,FP,FP];var Jb=[GP,mH,nH,DH,EH,GP,GP,GP];var Kb=[HP,wF,DF,hH,iH,kH,oH,yH,zH,BH,FH,WK,ZK,mL,pL,PL,sM,fL,iL,vL,yL,Jw,Kw,HP,HP,HP,HP,HP,HP,HP,HP,HP];var Lb=[IP,zK,FK,IP];var Mb=[JP,KF,LF,MF,NF,OF,PF,QF,RF,SF,TF,UF,GG,HG,IG,JG,KG,LG,MG,NG,OG,PG,QG,jH,lH,AH,CH,MH,NH,OH,PH,QH,uI,vI,wI,xI,yI,AK,GK,Gw,Hw,JP,JP,JP,JP,JP,JP,JP,JP,JP,JP,JP,JP,JP,JP,JP,JP,JP,JP,JP,JP,JP,JP,JP];var Nb=[KP,cJ,iJ,eK,fK,pK,qK,KP];var Ob=[LP,RH,zI,UK,VK,kL,lL,dL,eL,tL,uL,LP,LP,LP,LP,LP];var Pb=[MP,uA];var Qb=[NP,Oi,Pi,Ri,Si,lj,mj,XN,Xl,Yl,_l,eq,fq,hq,lq,mq,oq,zA,AA,BA,CA,MA,WA,XA,bB,cB,eB,BD,DD,FD,GD,UD,VD,kE,lE,mE,nE,pE,qE,rE,sE,uE,vE,wE,xE,zE,AE,BE,CE,YE,cF,hF,nF,tF,uF,vF,BF,CF,IF,JF,EG,FG,fH,gH,wH,xH,JH,KH,rI,sI,aJ,bJ,gJ,hJ,mJ,nJ,xJ,yJ,IJ,JJ,TJ,UJ,cK,dK,nK,oK,xK,yK,DK,EK,JK,KK,OK,PK,AF,cL,TK,rL,sL,DL,EL,GL,HL,TL,UL,_L,$L,fM,gM,tM,uM,vM,ff,Yw,hr,Mt,Nt,Yv,Zv,Ov,Iv,yv,qv,Fu,xu,yu,mu,nu,du,eu,Rv,Uv,jw,nw,qw,Iw,Mw,Vw,Ww,Xw,dx,fx,hx,aG,cG,gK,EO,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP];var Rb=[OP,lr,pr,yr];var Sb=[PP,HD,WD,ZE,dF,iF,oF,qJ,rJ,sJ,tJ,vJ,wJ,BJ,CJ,DJ,EJ,GJ,HJ,MJ,NJ,OJ,PJ,RJ,SJ,XJ,YJ,ZJ,_J,aK,bK,NK,SK,XL,YL,ZL,cM,dM,eM,iw,rr,ur,wr,Br,Dr,Fr,Gs,Xv,Nv,mv,$t,lw,Lw,ex,gx,Kx,PP,PP,PP,PP,PP,PP,PP,PP];var Tb=[QP,vs,es,QP];var Ub=[RP,Sw,ls,RP];var Vb=[SP,GA,PA,hB,KD,ZD,xF,EF,Se,Kv,Mv,sv,tv,uv,vv,wv,au,bu,cu,Qv,Sv,Tv,$v,aw,bw,cw,dw,SP,SP,SP,SP,SP];var Wb=[TP,FA,OA,gB,zv,Av,Bv,Cv,Dv,Ev,Fv,Gv,Hv,kv,jv,iv,hv,gv,fv,ev,dv,cv,bv,av,$u,_u,Zu,Yu,Xu,Wu,Vu,Uu,Tu,Su,Ru,Qu,Pu,Ou,Nu,Mu,Lu,Ku,Ju,Iu,lv,Hu,Gu,TP,TP,TP,TP,TP,TP,TP,TP,TP,TP,TP,TP,TP,TP,TP,TP,TP];var Xb=[UP,EA,NA,fB,JD,YD,MK,RK];var Yb=[VP,Jv,Lv,rv,nv,ov,pv,VP];return{__GLOBAL__I_000101:QE,__GLOBAL__sub_I_ARToolKitJS_cpp:Bq,__GLOBAL__sub_I_bind_cpp:CB,__GLOBAL__sub_I_iostream_cpp:RE,__ZSt18uncaught_exceptionv:wD,___cxa_can_catch:uB,___cxa_is_pointer_type:vB,___embind_register_native_and_builtin_types:FB,___emscripten_environ_constructor:xB,___errno_location:mx,___getTypeName:rD,___muldi3:LO,___udivdi3:QO,__get_daylight:zB,__get_environ:BB,__get_timezone:AB,__get_tzname:yB,_bitshift64Lshr:RO,_bitshift64Shl:SO,_emscripten_get_sbrk_ptr:TO,_free:EO,_i64Add:MO,_i64Subtract:NO,_llvm_bswap_i32:UO,_malloc:DO,_memcpy:YO,_memmove:ZO,_memset:_O,_realloc:GO,_roundf:$O,_saveSetjmp:VO,_setThrew:XO,_testSetjmp:WO,dynCall_di:aP,dynCall_dii:bP,dynCall_i:cP,dynCall_ii:dP,dynCall_iidiiii:eP,dynCall_iii:fP,dynCall_iiii:gP,dynCall_iiiii:hP,dynCall_iiiiid:iP,dynCall_iiiiii:jP,dynCall_iiiiiid:kP,dynCall_iiiiiii:lP,dynCall_iiiiiiii:mP,dynCall_iiiiiiiii:nP,dynCall_v:oP,dynCall_vi:pP,dynCall_vid:qP,dynCall_vii:rP,dynCall_viid:sP,dynCall_viii:tP,dynCall_viiii:uP,dynCall_viiiii:vP,dynCall_viiiiii:wP,dynCall_viiiiiii:xP,establishStackSpace:ac,stackAlloc:Zb,stackRestore:$b,stackSave:_b}})
// EMSCRIPTEN_END_ASM
(asmGlobalArg,asmLibraryArg,buffer);var __GLOBAL__I_000101=Module["__GLOBAL__I_000101"]=asm["__GLOBAL__I_000101"];var __GLOBAL__sub_I_ARToolKitJS_cpp=Module["__GLOBAL__sub_I_ARToolKitJS_cpp"]=asm["__GLOBAL__sub_I_ARToolKitJS_cpp"];var __GLOBAL__sub_I_bind_cpp=Module["__GLOBAL__sub_I_bind_cpp"]=asm["__GLOBAL__sub_I_bind_cpp"];var __GLOBAL__sub_I_iostream_cpp=Module["__GLOBAL__sub_I_iostream_cpp"]=asm["__GLOBAL__sub_I_iostream_cpp"];var __ZSt18uncaught_exceptionv=Module["__ZSt18uncaught_exceptionv"]=asm["__ZSt18uncaught_exceptionv"];var ___cxa_can_catch=Module["___cxa_can_catch"]=asm["___cxa_can_catch"];var ___cxa_is_pointer_type=Module["___cxa_is_pointer_type"]=asm["___cxa_is_pointer_type"];var ___embind_register_native_and_builtin_types=Module["___embind_register_native_and_builtin_types"]=asm["___embind_register_native_and_builtin_types"];var ___emscripten_environ_constructor=Module["___emscripten_environ_constructor"]=asm["___emscripten_environ_constructor"];var ___errno_location=Module["___errno_location"]=asm["___errno_location"];var ___getTypeName=Module["___getTypeName"]=asm["___getTypeName"];var ___muldi3=Module["___muldi3"]=asm["___muldi3"];var ___udivdi3=Module["___udivdi3"]=asm["___udivdi3"];var __get_daylight=Module["__get_daylight"]=asm["__get_daylight"];var __get_environ=Module["__get_environ"]=asm["__get_environ"];var __get_timezone=Module["__get_timezone"]=asm["__get_timezone"];var __get_tzname=Module["__get_tzname"]=asm["__get_tzname"];var _bitshift64Lshr=Module["_bitshift64Lshr"]=asm["_bitshift64Lshr"];var _bitshift64Shl=Module["_bitshift64Shl"]=asm["_bitshift64Shl"];var _emscripten_get_sbrk_ptr=Module["_emscripten_get_sbrk_ptr"]=asm["_emscripten_get_sbrk_ptr"];var _free=Module["_free"]=asm["_free"];var _i64Add=Module["_i64Add"]=asm["_i64Add"];var _i64Subtract=Module["_i64Subtract"]=asm["_i64Subtract"];var _llvm_bswap_i32=Module["_llvm_bswap_i32"]=asm["_llvm_bswap_i32"];var _malloc=Module["_malloc"]=asm["_malloc"];var _memcpy=Module["_memcpy"]=asm["_memcpy"];var _memmove=Module["_memmove"]=asm["_memmove"];var _memset=Module["_memset"]=asm["_memset"];var _realloc=Module["_realloc"]=asm["_realloc"];var _roundf=Module["_roundf"]=asm["_roundf"];var _saveSetjmp=Module["_saveSetjmp"]=asm["_saveSetjmp"];var _setThrew=Module["_setThrew"]=asm["_setThrew"];var _testSetjmp=Module["_testSetjmp"]=asm["_testSetjmp"];var establishStackSpace=Module["establishStackSpace"]=asm["establishStackSpace"];var stackAlloc=Module["stackAlloc"]=asm["stackAlloc"];var stackRestore=Module["stackRestore"]=asm["stackRestore"];var stackSave=Module["stackSave"]=asm["stackSave"];var dynCall_di=Module["dynCall_di"]=asm["dynCall_di"];var dynCall_dii=Module["dynCall_dii"]=asm["dynCall_dii"];var dynCall_i=Module["dynCall_i"]=asm["dynCall_i"];var dynCall_ii=Module["dynCall_ii"]=asm["dynCall_ii"];var dynCall_iidiiii=Module["dynCall_iidiiii"]=asm["dynCall_iidiiii"];var dynCall_iii=Module["dynCall_iii"]=asm["dynCall_iii"];var dynCall_iiii=Module["dynCall_iiii"]=asm["dynCall_iiii"];var dynCall_iiiii=Module["dynCall_iiiii"]=asm["dynCall_iiiii"];var dynCall_iiiiid=Module["dynCall_iiiiid"]=asm["dynCall_iiiiid"];var dynCall_iiiiii=Module["dynCall_iiiiii"]=asm["dynCall_iiiiii"];var dynCall_iiiiiid=Module["dynCall_iiiiiid"]=asm["dynCall_iiiiiid"];var dynCall_iiiiiii=Module["dynCall_iiiiiii"]=asm["dynCall_iiiiiii"];var dynCall_iiiiiiii=Module["dynCall_iiiiiiii"]=asm["dynCall_iiiiiiii"];var dynCall_iiiiiiiii=Module["dynCall_iiiiiiiii"]=asm["dynCall_iiiiiiiii"];var dynCall_v=Module["dynCall_v"]=asm["dynCall_v"];var dynCall_vi=Module["dynCall_vi"]=asm["dynCall_vi"];var dynCall_vid=Module["dynCall_vid"]=asm["dynCall_vid"];var dynCall_vii=Module["dynCall_vii"]=asm["dynCall_vii"];var dynCall_viid=Module["dynCall_viid"]=asm["dynCall_viid"];var dynCall_viii=Module["dynCall_viii"]=asm["dynCall_viii"];var dynCall_viiii=Module["dynCall_viiii"]=asm["dynCall_viiii"];var dynCall_viiiii=Module["dynCall_viiiii"]=asm["dynCall_viiiii"];var dynCall_viiiiii=Module["dynCall_viiiiii"]=asm["dynCall_viiiiii"];var dynCall_viiiiiii=Module["dynCall_viiiiiii"]=asm["dynCall_viiiiiii"];Module["asm"]=asm;if(memoryInitializer){if(!isDataURI(memoryInitializer)){memoryInitializer=locateFile(memoryInitializer)}if(ENVIRONMENT_IS_NODE||ENVIRONMENT_IS_SHELL){var data=readBinary(memoryInitializer);HEAPU8.set(data,GLOBAL_BASE)}else{addRunDependency("memory initializer");var applyMemoryInitializer=function(data){if(data.byteLength)data=new Uint8Array(data);HEAPU8.set(data,GLOBAL_BASE);if(Module["memoryInitializerRequest"])delete Module["memoryInitializerRequest"].response;removeRunDependency("memory initializer")};var doBrowserLoad=function(){readAsync(memoryInitializer,applyMemoryInitializer,function(){throw"could not load memory initializer "+memoryInitializer})};var memoryInitializerBytes=tryParseAsDataURI(memoryInitializer);if(memoryInitializerBytes){applyMemoryInitializer(memoryInitializerBytes.buffer)}else if(Module["memoryInitializerRequest"]){var useRequest=function(){var Line truncated
+470
View File
@@ -0,0 +1,470 @@
const annotationComponent = {
schema: {
text: {default: 'text here'}, // text label displays
labeldistance: {default: 1}, // distance to element before label appears
hsdistance: {default: 2.85}, // distance to element before hotspot appears
offsetY: {default: 0.1}, // y offset of label
},
init() {
this.camera = this.el.sceneEl.camera
this.scene = new THREE.Scene()
let labelActivated; let
hsActivated
// hotspot inner customization
this.el.setAttribute('radius', 0.03)
this.el.setAttribute('material', {shader: 'flat', color: '#FF4713', alphaTest: 0.5, transparent: true})
this.el.setAttribute('segments-height', 12)
this.el.setAttribute('segments-width', 12)
// hotspot torus customization
this.torus = document.createElement('a-torus')
this.torus.setAttribute('material', {shader: 'flat', color: '#FF4713', alphaTest: 0.5, transparent: true})
this.torus.setAttribute('radius', 0.05)
this.torus.setAttribute('segments-radial', 12)
this.torus.setAttribute('segments-tubular', 24)
this.torus.setAttribute('radius-tubular', 0.005)
this.torus.setAttribute('xrextras-spin', '')
this.el.appendChild(this.torus)
this.activateLabel = () => {
if (labelActivated) {
return
}
// hide hotspot torus
this.torus.setAttribute('animation__scale', {
property: 'scale',
from: '1 1 1',
to: '0.001 0.001 0.001',
easing: 'easeInOutQuad',
dur: 250,
})
// brighten hotspot inner
this.el.setAttribute('color', '#FD835E')
// show text label
this.label.style.opacity = 0
this.label.style.display = 'block'
this.label.classList.add('fade-in')
setTimeout(() => {
this.label.style.opacity = 1
this.label.classList.remove('fade-in')
}, 500)
labelActivated = true
}
this.deactivateLabel = () => {
if (!labelActivated) {
return
}
// show hotspot torus
this.torus.setAttribute('animation__scale', {
property: 'scale',
from: '0.001 0.001 0.001',
to: '1 1 1',
easing: 'easeOutElastic',
dur: 500,
})
// revert to original hotspot inner color
this.el.setAttribute('color', '#FF4713')
// hide text label
this.label.style.opacity = 1
this.label.classList.add('fade-out')
setTimeout(() => {
this.label.style.opacity = 0
this.label.classList.remove('fade-out')
this.label.style.display = 'none'
}, 400)
labelActivated = false
}
// show hotspot
this.activateHs = () => {
if (hsActivated) {
return
}
this.el.setAttribute('animation__fading', {
property: 'opacity',
from: 0,
to: 1,
easing: 'easeInOutQuad',
dur: 1000,
})
this.torus.setAttribute('animation__fade', {
property: 'opacity',
from: 0,
to: 1,
easing: 'easeInOutQuad',
dur: 1000,
})
hsActivated = true
}
// hide hotspot
this.deactivateHs = () => {
if (!hsActivated) {
return
}
this.el.setAttribute('animation__fading', {
property: 'opacity',
from: 1,
to: 0,
easing: 'easeInOutQuad',
dur: 1000,
})
this.torus.setAttribute('animation__fade', {
property: 'opacity',
from: 1,
to: 0,
easing: 'easeInOutQuad',
dur: 1000,
})
hsActivated = false
}
// create label renderer for text
this.labelRenderer = new THREE.CSS2DRenderer()
this.labelRenderer.setSize(window.innerWidth, window.innerHeight)
this.labelRenderer.domElement.style.position = 'absolute'
this.labelRenderer.domElement.style.top = '0px'
this.labelRenderer.domElement.style.pointerEvents = 'none'
document.body.appendChild(this.labelRenderer.domElement)
// create label
this.label = document.createElement('h1')
this.label.style.color = 'white'
this.label.style.opacity = 0
this.label.style.fontFamily = '\'Nunito\', sans-serif'
this.label.style.fontWeight = 'bold'
this.label.style.fontSize = '1.3em'
this.label.style.textShadow = 'rgb(0 0 0 / 50%) 0px 0px 6px'
this.label.innerText = this.data.text
document.body.appendChild(this.label)
// set label position to hotspot
this.labelObj = new THREE.CSS2DObject(this.label)
this.worldVec = new THREE.Vector3()
this.worldPos = this.el.object3D.getWorldPosition(this.worldVec)
this.labelObj.position.copy(new THREE.Vector3(this.worldPos.x, this.worldPos.y + this.data.offsetY, this.worldPos.z))
this.scene.add(this.labelObj)
},
tick() {
// track label position to hotspot
this.worldPos = this.el.object3D.getWorldPosition(this.worldVec)
this.labelObj.position.copy(new THREE.Vector3(this.worldPos.x, this.worldPos.y + this.data.offsetY, this.worldPos.z))
this.labelRenderer.render(this.scene, this.camera)
// proximity monitoring
const distance = this.worldPos.distanceTo(this.camera.el.object3D.position)
if (distance < this.data.labeldistance) {
this.activateLabel()
} else {
this.deactivateLabel()
}
if (distance < this.data.hsdistance) {
this.activateHs()
} else {
this.deactivateHs()
}
},
}
const targets = ['Front-Driver', 'Back-Driver', 'Front-Pass', 'Back-Pass']
const proximityComponent = {
schema: {
target: {type: 'string', default: 'camera'}, // id of the object to check proximity on
distance: {type: 'number', default: 3.5}, // distance to object
},
init() {
let windowsActivated
this.activateWindows = () => {
if (windowsActivated) {
return
}
// roll down windows
targets.forEach((target) => {
this.el.setAttribute(`gltf-morph__${target}`, `morphtarget: ${target}; value: 1`)
this.el.setAttribute(`animation__${target}`, `
property: gltf-morph__${target}.value;
from: 0;
to: 1;
easing: easeInOutQuad`)
})
windowsActivated = true
}
this.deactivateWindows = () => {
if (!windowsActivated) {
return
}
// roll up windows
targets.forEach((target) => {
this.el.setAttribute(`gltf-morph__${target}`, `morphtarget: ${target}; value: 0`)
this.el.setAttribute(`animation__${target}`, `
property: gltf-morph__${target}.value;
from: 1;
to: 0;
easing: easeInOutQuad`)
})
windowsActivated = false
}
},
tick() {
const thisPosition = this.el.object3D.position
const targetPosition = document.getElementById(this.data.target).object3D.position
const distance = thisPosition.distanceTo(targetPosition)
// proximity monitoring
if (distance < this.data.distance) {
this.activateWindows()
} else {
this.deactivateWindows()
}
},
}
const absPinchScaleComponent = {
schema: {
min: {default: 0.1},
max: {default: 5},
scale: {default: 0}, // If scale is set to zero here, the object's initial scale is used.
},
init() {
const s = this.data.scale
this.initialScale = (s && {x: s, y: s, z: s}) || this.el.object3D.scale.clone()
this.scaleFactor = 1
this.handleEvent = this.handleEvent.bind(this)
this.el.sceneEl.addEventListener('twofingermove', this.handleEvent)
this.el.classList.add('cantap') // Needs "objects: .cantap" attribute on raycaster.
// Calculate glb-model bounding box
this.calcMeshBounds = () => {
this.meshBounds = new THREE.Box3().setFromObject(this.el.object3D)
this.lengthMeshBounds = {
x: Math.abs(this.meshBounds.max.x - this.meshBounds.min.x),
y: Math.abs(this.meshBounds.max.y - this.meshBounds.min.y),
z: Math.abs(this.meshBounds.max.z - this.meshBounds.min.z),
}
}
this.calcMeshBounds()
// UI LOGIC
this.camera = this.el.sceneEl.camera
this.scene = new THREE.Scene()
this.labelRenderer = new THREE.CSS2DRenderer()
this.labelRenderer.setSize(window.innerWidth, window.innerHeight)
this.labelRenderer.domElement.style.position = 'absolute'
this.labelRenderer.domElement.style.top = '0px'
this.labelRenderer.domElement.style.pointerEvents = 'none'
document.body.appendChild(this.labelRenderer.domElement)
this.label = document.createElement('h1')
this.label.style.color = 'white'
this.label.style.fontFamily = '\'Nunito\', sans-serif'
this.label.style.textShadow = 'rgb(0 0 0 / 50%) 0px 0px 6px'
this.label.style.fontWeight = 'bold'
document.body.appendChild(this.label)
this.labelObj = new THREE.CSS2DObject(this.label)
this.scene.add(this.labelObj)
// TIMER LOGIC
this.runTimer = () => {
this.timer = window.setTimeout(
() => {
this.label.classList.add('fade-out')
setTimeout(() => {
this.label.classList.remove('fade-out')
this.label.style.opacity = 0
}, 250)
}, 1000
)
}
},
tick() {
this.labelObj.position.copy(new THREE.Vector3(this.el.object3D.position.x, this.lengthMeshBounds.y + 0.3, this.el.object3D.position.z))
this.labelRenderer.render(this.scene, this.camera)
},
remove() {
this.el.sceneEl.removeEventListener('twofingermove', this.handleEvent)
},
handleEvent(event) {
// Calculate glb-model bounding box
this.calcMeshBounds()
this.scaleFactor *= 1 + event.detail.spreadChange / event.detail.startSpread
this.scaleFactor = Math.min(Math.max(this.scaleFactor, this.data.min), this.data.max)
const setText = () => {
// change % text
const processedSF = (this.scaleFactor * 100).toFixed()
this.label.innerText = `${processedSF}%`
}
if (this.scaleFactor <= 0.9 || this.scaleFactor >= 1.1) {
// scale object
this.el.object3D.scale.x = this.scaleFactor * this.initialScale.x
this.el.object3D.scale.y = this.scaleFactor * this.initialScale.y
this.el.object3D.scale.z = this.scaleFactor * this.initialScale.z
// change % text
setText()
} else if (this.scaleFactor >= 0.9 && this.scaleFactor <= 1.1) { // snapping between 90 - 100 - 110
this.el.object3D.scale.x = this.initialScale.x
this.el.object3D.scale.y = this.initialScale.y
this.el.object3D.scale.z = this.initialScale.z
this.label.innerText = '100%'
}
// fade out behavior
this.label.style.opacity = 1
clearTimeout(this.timer)
this.runTimer()
},
}
const gltfMorphComponent = {
multiple: true,
schema: {
morphtarget: {type: 'string', default: ''},
value: {type: 'number', default: 0},
},
init() {
this.el.addEventListener('object3dset', () => {
this.morpher()
})
},
update() {
this.morpher()
},
morpher() {
const mesh = this.el.object3D
mesh.traverse((o) => {
if (o.morphTargetInfluences && o.userData.targetNames) {
const pos = o.userData.targetNames.indexOf(this.data.morphtarget)
o.morphTargetInfluences[pos] = this.data.value
}
})
},
}
const shortCircutRaycast = (obj3d) => {
obj3d.traverse((node) => {
node.raycast = () => {}
})
}
const ignoreRaycast = {
init() {
const {object3D} = this.el
const clearRaycast = (e) => {
shortCircutRaycast(object3D)
this.el.removeEventListener(e.type, clearRaycast)
}
if (this.el.getObject3D('mesh')) {
clearRaycast('loaded')
}
this.el.addEventListener('model-loaded', clearRaycast)
this.el.addEventListener('loaded', clearRaycast)
this.el.addEventListener('child-attached', clearRaycast)
},
}
const responsiveImmersiveComponent = {
init() {
const onAttach = ({sessionAttributes}) => {
const car = document.getElementById('car')
const hotspots = document.getElementById('hotspot-group')
const s = sessionAttributes
if (
!s.cameraLinkedToViewer &&
!s.controlsCamera &&
!s.fillsCameraTexture &&
!s.supportsHtmlEmbedded &&
s.supportsHtmlOverlay &&
!s.usesMediaDevices &&
!s.usesWebXr
) { // Desktop-specific behavior goes here
hotspots.parentNode.removeChild(hotspots) // remove hotspots
const addComponents = () => {
car.setAttribute('change-color', '')
car.setAttribute('reflections', 'type: static')
car.setAttribute('xrextras-pinch-scale', '')
}
car.getObject3D('mesh') ? addComponents() : car.addEventListener('model-loaded', addComponents)
} else if (
s.cameraLinkedToViewer &&
s.controlsCamera &&
!s.fillsCameraTexture &&
s.supportsHtmlEmbedded &&
!s.supportsHtmlOverlay &&
!s.usesMediaDevices &&
s.usesWebXr
) { // HMD-specific behavior goes here
hotspots.parentNode.removeChild(hotspots) // remove hotspots
if (this.el.sceneEl.xrSession.environmentBlendMode === 'opaque') {
// VR HMD (i.e. Oculus Quest) behavior goes here
car.setAttribute('ignore-raycast', '')
const addComponents = () => {
car.setAttribute('change-color', '')
car.setAttribute('reflections', 'type: static')
}
car.getObject3D('mesh') ? addComponents() : car.addEventListener('model-loaded', addComponents)
} else if (this.el.sceneEl.xrSession.environmentBlendMode === 'additive' || 'alpha-blend') {
// AR HMD (i.e. Hololens) behavior goes here
car.setAttribute('ignore-raycast', '')
const addComponents = () => {
car.setAttribute('change-color', '')
car.setAttribute('reflections', 'type: static')
}
car.getObject3D('mesh') ? addComponents() : car.addEventListener('model-loaded', addComponents)
}
} else if (
!s.cameraLinkedToViewer &&
!s.controlsCamera &&
s.fillsCameraTexture &&
!s.supportsHtmlEmbedded &&
s.supportsHtmlOverlay &&
s.usesMediaDevices &&
!s.usesWebXr
) { // Mobile-specific behavior goes here
const container = document.getElementById('container')
this.el.addEventListener('coaching-overlay.show', (e) => {
car.object3D.scale.set(0.001, 0.001, 0.001)
container.style.display = 'none'
})
this.el.addEventListener('coaching-overlay.hide', (e) => {
container.style.display = 'block'
car.object3D.scale.set(1, 1, 1)
car.setAttribute('absolute-pinch-scale', '')
})
const addComponents = () => {
car.setAttribute('change-color', '')
car.setAttribute('reflections', 'type: realtime')
}
car.getObject3D('mesh') ? addComponents() : car.addEventListener('model-loaded', addComponents)
}
}
const onxrloaded = () => {
XR8.addCameraPipelineModules([{'name': 'responsiveImmersive', onAttach}])
}
window.XR8 ? onxrloaded() : window.addEventListener('xrloaded', onxrloaded)
},
}
export {annotationComponent, absPinchScaleComponent, proximityComponent, gltfMorphComponent, ignoreRaycast, responsiveImmersiveComponent}
+1
View File
@@ -0,0 +1 @@
(()=>{"use strict";var e={689:(e,t,n)=>{n.d(t,{Z:()=>s});var r=n(81),i=n.n(r),o=n(645),a=n.n(o)()(i());a.push([e.id,"#almostthereContainer {\n z-index: 820;\n background-color: #101118;\n}\n\n.xrextras-old-style #almostthereContainer {\n background-color: #FFFFFF;\n}\n\n#qrcode {\n background-color: white;\n margin: 0 auto;\n width: 250px;\n height: 250px;\n padding: 8px;\n border-radius: 20px;\n box-sizing: content-box;\n}\n\n#qrcode>svg {\n width: 100%;\n display: block;\n}\n\n.arrow-top-corner {\n position: fixed;\n top: 3%;\n right: 1.5%;\n height: 36px;\n}\n\n.arrow-top-close {\n position: fixed;\n top: 3%;\n right: 12.5%;\n height: 36px;\n}\n\n.arrow-bottom-close {\n position: fixed;\n bottom: 3%;\n right: 15%;\n height: 36px;\n -moz-transform: scale(-1, -1);\n -o-transform: scale(-1, -1);\n -webkit-transform: scale(-1, -1);\n transform: scale(-1, -1);\n}\n\n.arrow-bottom-corner {\n position: fixed;\n bottom: 3%;\n right: 2%;\n height: 36px;\n -moz-transform: scale(-1, -1);\n -o-transform: scale(-1, -1);\n -webkit-transform: scale(-1, -1);\n transform: scale(-1, -1);\n}\n\n.app-header-img {\n position: fixed;\n width: 100vw;\n max-width: 500px;\n left: 50%;\n top: 50%;\n transform: translateX(-50%) translateY(-50%);\n}\n\n.app-header-img.unknown {\n position: fixed;\n width: 100vw;\n max-width: 500px;\n left: 50%;\n top: 43%;\n transform: translateX(-50%) translateY(-57%);\n}\n\n.poweredby-img {\n width: 35vw;\n max-width: 200px;\n position: fixed;\n bottom: 2%;\n left: 50%;\n transform: translateX(-50%);\n}\n\n.poweredby-img.desktop {\n width: 200px;\n bottom: 5%;\n}\n\n.bottombarbump .poweredby-img{\n bottom: 15%;\n}\n\n#error_msg_open_in_safari {\n background-color: #101118;\n}\n\n.xrextras-old-style #error_msg_open_in_safari {\n background-color: white;\n}\n\n.open-header-top {\n font-family: 'Nunito-SemiBold', sans-serif;\n color: white;\n letter-spacing: .37;\n font-size: 1em;\n position: fixed;\n top: 0%;\n left: 50%;\n transform: translateX(-50%);\n}\n\n.xrextras-old-style .open-header-top {\n color: #323232;\n}\n\n.open-header-bottom {\n font-family: 'Nunito-SemiBold', sans-serif;\n color: white;\n letter-spacing: .37;\n font-size: 1em;\n position: fixed;\n top: 10%;\n left: 50%;\n transform: translateX(-50%);\n}\n\n.xrextras-old-style .open-header-bottom {\n color: #323232;\n}\n\n.open-header-unknown {\n font-family: 'Nunito-SemiBold', sans-serif;\n color: white;\n letter-spacing: .37;\n font-size: 1em;\n position: fixed;\n top: 5%;\n left: 50%;\n transform: translateX(-50%);\n}\n\n.xrextras-old-style .open-header-unknown {\n color: #323232;\n}\n\n.desktop-message {\n font-family: 'Nunito-SemiBold', sans-serif;\n margin: 0 auto;\n margin-top: 1vh;\n width: 500px;\n color: white;\n font-size: 24pt;\n line-height: 1em;\n}\n\n.xrextras-old-style .desktop-message {\n color: #323232;\n}\n\n.desktop-hint {\n font-family: 'Nunito', sans-serif;\n font-size: 14pt;\n color: #fff;\n line-height: 2em;\n margin-top: 2vh;\n letter-spacing: .37;\n}\n\n.xrextras-old-style .desktop-hint {\n color: #323232;\n}\n\n.copy-link-btn {\n position: fixed;\n bottom: 20%;\n left: 50%;\n transform: translateX(-50%);\n font-family: 'Nunito-SemiBold', sans-serif;\n font-weight: 800;\n font-size: 1.1em;\n text-align: center;\n color: white;\n text-decoration: none;\n border: none;\n background-color: #AD50FF;\n padding: 6px 13px;\n border-radius: 10px;\n}\n\n.xrextras-old-style .copy-link-btn {\n background-color: #7611B7;\n}\n\n.error-copy-link-copied {\n background-color: #8083A2 !important;\n}\n\n.safari-hero-image {\n max-height: 30vmin;\n}\n",""]);const s=a},136:(e,t,n)=>{n.d(t,{Z:()=>s});var r=n(81),i=n.n(r),o=n(645),a=n.n(o)()(i());a.push([e.id,"* {\n font-family: inherit;\n box-sizing: inherit;\n}\n\n.absolute-fill {\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n right: 0;\n}\n\n.hidden {\n display: none !important;\n}\n\n.error-text-outer-container {\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n.error-text-container {\n flex: 0 0 auto;\n text-align: center;\n width: 100%;\n}\n\n.error-text-header {\n font-family: 'Nunito', sans-serif;\n font-size: 16pt;\n color: white;\n letter-spacing: .37;\n line-height: 23pt;\n}\n\n.xrextras-old-style .error-text-header {\n color: #323232;\n}\n\n.error-text-hint {\n font-family: 'Nunito', sans-serif;\n font-size: 14pt;\n color: #A8A8BA;\n letter-spacing: .37;\n}\n\n.error-text-detail {\n font-family: 'Nunito', sans-serif;\n font-size: 14pt;\n color: white;\n}\n\n.xrextras-old-style .error-text-detail {\n color: #323232;\n}\n\n.error-margin-top-5 {\n margin-top: 5vh;\n}\n\n.error-margin-top-20 {\n margin-top: 20vh;\n}\n\n.desktop-home-link {\n font-family: 'Nunito-SemiBold', sans-serif;\n padding-top: 5px;\n padding-bottom: 5px;\n padding-left: 10px;\n padding-right: 10px;\n border-radiuLine truncated
+18
View File
@@ -0,0 +1,18 @@
(()=>{var A={6184:A=>{A.exports=function(A,I){(null==I||I>A.length)&&(I=A.length);for(var g=0,C=new Array(I);g<I;g++)C[g]=A[g];return C},A.exports.__esModule=!0,A.exports.default=A.exports},1176:A=>{A.exports=function(A){if(Array.isArray(A))return A},A.exports.__esModule=!0,A.exports.default=A.exports},8322:(A,I,g)=>{var C=g(6184);A.exports=function(A){if(Array.isArray(A))return C(A)},A.exports.__esModule=!0,A.exports.default=A.exports},480:A=>{A.exports=function(A,I){if(!(A instanceof I))throw new TypeError("Cannot call a class as a function")},A.exports.__esModule=!0,A.exports.default=A.exports},7901:A=>{function I(A,I){for(var g=0;g<I.length;g++){var C=I[g];C.enumerable=C.enumerable||!1,C.configurable=!0,"value"in C&&(C.writable=!0),Object.defineProperty(A,C.key,C)}}A.exports=function(A,g,C){return g&&I(A.prototype,g),C&&I(A,C),Object.defineProperty(A,"prototype",{writable:!1}),A},A.exports.__esModule=!0,A.exports.default=A.exports},9767:A=>{A.exports=function(A,I,g){return I in A?Object.defineProperty(A,I,{value:g,enumerable:!0,configurable:!0,writable:!0}):A[I]=g,A},A.exports.__esModule=!0,A.exports.default=A.exports},8334:A=>{A.exports=function(A){if("undefined"!=typeof Symbol&&null!=A[Symbol.iterator]||null!=A["@@iterator"])return Array.from(A)},A.exports.__esModule=!0,A.exports.default=A.exports},3426:A=>{A.exports=function(A,I){var g=null==A?null:"undefined"!=typeof Symbol&&A[Symbol.iterator]||A["@@iterator"];if(null!=g){var C,Q,B=[],E=!0,D=!1;try{for(g=g.call(A);!(E=(C=g.next()).done)&&(B.push(C.value),!I||B.length!==I);E=!0);}catch(A){D=!0,Q=A}finally{try{E||null==g.return||g.return()}finally{if(D)throw Q}}return B}},A.exports.__esModule=!0,A.exports.default=A.exports},9872:A=>{A.exports=function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")},A.exports.__esModule=!0,A.exports.default=A.exports},5247:A=>{A.exports=function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")},A.exports.__esModule=!0,A.exports.default=A.exports},4651:(A,I,g)=>{var C=g(1176),Q=g(3426),B=g(5936),E=g(9872);A.exports=function(A,I){return C(A)||Q(A,I)||B(A,I)||E()},A.exports.__esModule=!0,A.exports.default=A.exports},1201:(A,I,g)=>{var C=g(8322),Q=g(8334),B=g(5936),E=g(5247);A.exports=function(A){return C(A)||Q(A)||B(A)||E()},A.exports.__esModule=!0,A.exports.default=A.exports},3992:A=>{function I(g){return A.exports=I="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(A){return typeof A}:function(A){return A&&"function"==typeof Symbol&&A.constructor===Symbol&&A!==Symbol.prototype?"symbol":typeof A},A.exports.__esModule=!0,A.exports.default=A.exports,I(g)}A.exports=I,A.exports.__esModule=!0,A.exports.default=A.exports},5936:(A,I,g)=>{var C=g(6184);A.exports=function(A,I){if(A){if("string"==typeof A)return C(A,I);var g=Object.prototype.toString.call(A).slice(8,-1);return"Object"===g&&A.constructor&&(g=A.constructor.name),"Map"===g||"Set"===g?Array.from(A):"Arguments"===g||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(g)?C(A,I):void 0}},A.exports.__esModule=!0,A.exports.default=A.exports},603:(A,I,g)=>{var C,Q,B,E,D,i,o,w,N,G,k,h,K,a,F,s,S,U,J,M,R,y,q,c,L,Y;!function(H){var t="object"==typeof g.g?g.g:"object"==typeof self?self:"object"==typeof this?this:{};function e(A,I){return A!==t&&("function"==typeof Object.create?Object.defineProperty(A,"__esModule",{value:!0}):A.__esModule=!0),function(g,C){return A[g]=I?I(g,C):C}}C=function(A){!function(A){var I=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(A,I){A.__proto__=I}||function(A,I){for(var g in I)Object.prototype.hasOwnProperty.call(I,g)&&(A[g]=I[g])};Q=function(A,g){if("function"!=typeof g&&null!==g)throw new TypeError("Class extends value "+String(g)+" is not a constructor or null");function C(){this.constructor=A}I(A,g),A.prototype=null===g?Object.create(g):(C.prototype=g.prototype,new C)},B=Object.assign||function(A){for(var I,g=1,C=arguments.length;g<C;g++)for(var Q in I=arguments[g])Object.prototype.hasOwnProperty.call(I,Q)&&(A[Q]=I[Q]);return A},E=function(A,I){var g={};for(var C in A)Object.prototype.hasOwnProperty.call(A,C)&&I.indexOf(C)<0&&(g[C]=A[C]);if(null!=A&&"function"==typeof Object.getOwnPropertySymbols){var Q=0;for(C=Object.getOwnPropertySymbols(A);Q<C.length;Q++)I.indexOf(C[Q])<0&&Object.prototype.propertyIsEnumerable.call(A,C[Q])&&(g[C[Q]]=A[C[Q]])}return g},D=function(A,I,g,C){var Q,B=arguments.length,E=B<3?I:null===C?C=Object.getOwnPropertyDescriptor(I,g):C;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)E=Reflect.decorate(A,I,g,C);else for(var D=A.length-1;D>=0;D--)(Q=A[D])&&(E=(B<3?Q(E):B>3?Q(I,g,E):Q(I,g))||E);return B>3&&E&&Object.defineProperty(I,g,E),E},i=function(A,I){return function(g,C){I(g,C,A)}},o=function(A,I){if("object"==typeof Reflect&&"function"==typeof ReflectLine truncated
/*!*********************************************************************
* This Source Code Form is copyright of 51 Degrees Mobile Experts Limited.
* Copyright 2022 51 Degrees Mobile Experts Limited, Davidson House,
* Forbury Square, Reading, Berkshire, United Kingdom RG1 3EU.
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0.
*
* If a copy of the MPL was not distributed with this file, You can obtain
* one at http://mozilla.org/MPL/2.0/.
*
* This Source Code Form is "Incompatible With Secondary Licenses", as
* defined by the Mozilla Public License, v. 2.0.
********************************************************************** */
function HA(A,I){
/*! VERSION = 1.657942 */
var g={Version:"1.657942",PublishDate:"2023-10-05T13:31:50.4807708Z",Data:[{x:"Unknown",m:function(A){return function(){var A=/iPhone|iPad|Macintosh/.exec(navigator.userAgent);if(A&&A.length>0)return A[0];return""}()},n:[108,3,2,1]},{x:"Apple A9X GPU|Apple A10X GPU|Apple A9 GPU|Apple A10 GPU|Apple A11 GPU|Apple A12X GPU|Apple A12 GPU|Apple A8 GPU|Apple A8X GPU|Apple A13 GPU|Apple A14 GPU|Apple M1 GPU|Apple A12Z GPU|Apple A15 GPU|Apple A7 GPU|Apple A16 GPU|Apple M2 GPU|Apple A17 Pro GPU",m:function(A){return E()},n:[109,63,60,61,62,47,45,46,33,36,32,34,35,23,18,19,11,6,7,5],v:["Macintosh"]},{x:"Apple A7 GPU|Apple A8 GPU|Apple A9 GPU|Apple A10 GPU|Apple A11 GPU|Apple A12 GPU|Apple A13 GPU|Apple A14 GPU|Apple A15 GPU|Apple A16 GPU|Apple A17 Pro GPU",m:function(A){return E()},n:[60,61,62,44,45,46,30,31,23,17,12,6,7],v:["iPhone"]},{x:"Apple A7 GPU|Apple A8 GPU|Apple A9X GPU|Apple A10X GPU|Apple A9 GPU|Apple A12X GPU|Apple A10 GPU|Apple A12 GPU|Apple A8X GPU|Apple M1 GPU|Apple A14 GPU|Apple A12Z GPU|Apple A15 GPU|Apple A13 GPU|Apple M2 GPU",m:function(A){return E()},n:[109,110,63,47,33,32,18,4],v:["iPad"]},{x:"Apple A7 GPU|Apple A8 GPU|Apple A9X GPU|Apple A10X GPU|Apple A9 GPU|Apple A12X GPU|Apple A10 GPU|Apple A12 GPU|Apple A8X GPU|Apple M1 GPU|Apple A12Z GPU|Apple M2 GPU",m:function(A){return D()},n:[16,13],v:[2048]},{x:"Apple A9X GPU|Apple A10X GPU|Apple A9 GPU|Apple A12X GPU|Apple A10 GPU|Apple A12 GPU|Apple A8 GPU|Apple A8X GPU|Apple M1 GPU|Apple A12Z GPU|Apple A7 GPU|Apple M2 GPU",m:function(A){return D()},n:[16,14],v:[2048]},{x:"Apple A11 GPU|Apple A12 GPU|Apple A13 GPU|Apple A14 GPU|Apple A15 GPU|Apple A16 GPU|Apple A17 Pro GPU",m:function(A){return C()},n:[114,73,74,72,75,21,26,20,8],v:[2436]},{x:"Apple A11 GPU|Apple A12 GPU|Apple A14 GPU|Apple A13 GPU|Apple A15 GPU|Apple A16 GPU|Apple A17 Pro GPU",m:function(A){return C()},n:[121,120,115,50,27,28,21,9],v:[2079]},{x:"Apple A16 GPU|Apple A17 Pro GPU|Apple A14 GPU|Apple A15 GPU|Apple A12 GPU|Apple A13 GPU",m:function(A){return B()},n:[43,15],v:[3711606621]},{x:"Apple A17 Pro GPU|Apple A16 GPU|Apple A15 GPU|Apple A14 GPU|Apple A13 GPU|Apple A12 GPU",m:function(A){return B()},n:[103,10],v:[3711606621]},{x:"Apple A17 Pro GPU|Apple A16 GPU|Apple A15 GPU|Apple A14 GPU",v:[235283973]},{x:"Apple A9 GPU|Apple A10 GPU|Apple A11 GPU|Apple A13 GPU|Apple A15 GPU|Apple A7 GPU|Apple A8 GPU",m:function(A){return D()},n:[38,25],v:[1136]},{x:"Apple A7 GPU|Apple A9 GPU|Apple A10 GPU|Apple A11 GPU|Apple A8 GPU|Apple A13 GPU|Apple A15 GPU",m:function(A){return D()},n:[37,38],v:[1136]},{x:"Apple A7 GPU|Apple A8 GPU|Apple A9X GPU|Apple A9 GPU|Apple A10 GPU|Apple A8X GPU",m:function(A){return B()},n:[149,148,89,90,91,92,55,56,58,54,57],v:["srgb"]},{x:"Apple A9X GPU|Apple A9 GPU|Apple A10 GPU|Apple A8 GPU|Apple A8X GPU|Apple A7 GPU",m:function(A){return B()},n:[149,153,97,98,92,55,56,58,54],v:["srgb"]},{x:"Apple A16 GPU|Apple A17 Pro GPU|Apple A14 GPU|Apple A15 GPU",v:[235283973]},{x:"Apple A10X GPU|Apple A9X GPU|Apple A12X GPU|Apple A12 GPU|Apple M1 GPU|Apple A12Z GPU|Apple M2 GPU",m:function(A){return C()},n:[150,126,127,94,93,95,79],v:["p3"]},{x:"Apple A8 GPU|Apple A9 GPU|Apple A10 GPU|Apple A11 GPU|Apple A13 GPU|Apple A15 GPU",m:function(A){return D()},n:[68,39],v:[1334]},{x:"Apple A9X GPU|Apple A10X GPU|Apple A12X GPU|Apple M1 GPU|Apple A12Z GPU|Apple M2 GPU",m:function(A){return D()},n:[111,24],v:[2732]},{x:"Apple A9 GPU|Apple A10 GPU|Apple A11 GPU|Apple A13 GPU|Apple A15 GPU|Apple A8 GPU",m:function(A){return D()},n:[70,39],v:[1334]},{x:"Apple A14 GPU|Apple A16 GPU|Apple A15 GPU|Apple A13 GPU",m:function(A){return B()},n:[157,100,42],v:[3403189785]},{x:"Apple A14 GPU|Apple A15 GPU",m:function(A){return B()},n:[22],v:[2364051618]},{x:"Apple A15 GPU|Apple A14 GPU",v:[2775654583]},{x:"Apple A14 GPU|Apple A15 GPU",m:function(A){return C()},n:[74,51,40,21,29],v:[2532]},{x:"Apple A10X GPU|Apple A12X GPU|Apple M1 GPU|Apple A12Z GPU|Apple M2 GPU",m:function(A){return C()},n:[152,151,150,126,127,41],v:["p3"]},{x:"Apple A9 GPU|Apple A10 GPU|Apple A7 GPU|Apple A8 GPU",m:function(A){return C()},n:[155,156,99],v:["srgb"]},{x:"Apple A14 GPU|Apple A16 GPU|Apple A15 GPU",v:[46273595]},{x:"Apple A14 GPU|Apple A15 GPU|Apple A16 GPU|Apple A13 GPU",m:function(A){return B()},n:[157,101,102],v:[3403189785]},{x:"Apple A15 GPU|Apple A16 GPU|Apple A14 GPU",v:[46273595]},{x:"Apple A15 GPU|Apple A14 GPU",v:[3711606621]},{x:"Apple A8 GPU|Apple A10 GPU|Apple A11 GPU|Apple A9 GPU",m:function(A){return D()},n:[64,65],v:[2001]},{x:"Apple A8 GPU|Apple A9 GPU|Apple A10 GPU|Apple A11 GPU",m:function(A){return D()},n:[66,67],v:[2208]},{x:"Apple A12X GPU|Apple M1 GPU|Apple A12Z GPU|Apple M2 GPU",m:function(A){return C()},n:[126,127,79,78],v:[2388]},{x:"Apple A14 GPU|Apple M1 GPU",m:function(A){return D()},n:[112,48],v:[2360]},{x:"Apple A9 GPU|Apple A10 GPU|Apple A11 GPU|Apple A8 GPU",m:function(A){return D()},n:[69,67],v:[2208]},{x:"Apple A10 GPU|Apple A11 GPU|Apple A9 GPU|Apple A8 GPU",m:function(A){return Line truncated
+207
View File
@@ -0,0 +1,207 @@
export function normalizeStatus(data: any[]) {
data.forEach((item: any) => {
switch (item.status) {
case 1000:
item.statusName = '上传完成'
item.statusColor = 0
break
case 2000:
item.statusName = '待门店提交建模'
item.statusColor = 0
break
case 3000:
item.statusName = '待建模'
item.statusColor = 0
break
case 4000:
item.statusName = '建模中'
item.statusColor = 0
break
case 4100:
item.statusName = '建模完成'
item.statusColor = 1
break
case 5000:
item.statusName = '待修模'
item.statusColor = 0
break
case 6000:
item.statusName = '修模中'
item.statusColor = 0
break
case 7000:
if (item.digital_type === 1)
item.statusName = '3D相册已创建'
else
item.statusName = '修模完成'
item.statusColor = 1
break
case 7011:
item.statusName = '3D相册已创建'
item.statusColor = 1
break
case 7020:
item.statusName = '待打印'
item.statusColor = 0
break
case 8000:
item.statusName = '打印中'
item.statusColor = 0
break
case 8100:
item.statusName = '后道工序处理'
item.statusColor = 0
break
case 8110:
// item.statusName = "称净重";
// item.statusColor = 0;
break
case 9000:
item.statusName = '快递中'
item.statusColor = 1
break
case 10000:
item.statusName = '订单已完成'
item.statusColor = 1
break
default:
return false
}
if (item.status >= 7020 && item.status < 8000) {
item.statusName = '待打印'
item.statusColor = 0
}
if (item.status > 6000 && item.status < 7000) {
item.statusName = '待审核'
item.statusColor = 0
}
if (item.status > 8000 && item.status < 9000) {
item.statusName = '后道工序处理中'
item.statusColor = 0
}
if (item.status >= 9000 && item.status < 10000) {
item.statusName = '快递中'
item.statusColor = 1
}
})
return data
}
//订单状态的信息展示
export function orderStatus(status,digital_type=0){
if (!status) {
return ""
}
status = status.toString()
var statusMsg = {
"1000":"上传完成",
"2000":"待门店提交建模",
"3000":"待建模",
"4000":"建模中",
"4100":"建模完成",
"5000":"待修模",
"6000":"修模中",
//大于6000 小于 7000 处于待审核
"6100":"待团队审核",
"6200":"待平台审核",
"7000":"修模完成",
"7011":"3D相册已创建",
"7020":"待打印",
"8000":"打印中",
//大于8000 小于 9000 处于后道工序处理中
"8100":"后道工序处理中",
//"8110":"称净重",
"9000":"快递中",
"10000":"订单已完成",
}
if (status >= 7000 && digital_type == 1) {
return "3D相册已创建"
}
if (status >= 4100 && digital_type == 4) {
return "建模完成"
}
if (status >= 7020 && status < 8000) {
return "待打印"
}
if (status > 6000 && status < 7000) {
return "待审核"
}
if (status > 8000 && status < 9000) {
return "后道工序处理中"
}
if (status >= 9000 && status < 10000) {
return "快递中"
}
return statusMsg[status]
}
//图片数据的拼接转换
export function imgSrc(imgSrc: string){
var t = Date.now();
var imagePath = "https://3dview.suwa3d.com/"+imgSrc+"?t="+t;
return imagePath
}
// jwt解析
export function parseJwt(token: string) {
if (!token) {
return {} as any;
}
var base64Url = token.split('.')[1];
var base64 = base64Url.replace(/-/g, '+').replace(/_/g, '/');
var jsonPayload = decodeURIComponent(atob(base64).split('').map(function(c) {
return '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2);
}).join(''));
let data = {};
try {
data = JSON.parse(jsonPayload);
} catch (e) {
data = {};
console.log('e', e);
}
return data;
};
export function getTreeData(list) {
const newList = [];
const map = {};
list.forEach((e) => (map[e.id] = e));
list.forEach((e) => {
const parent = map[e.parentId];
if (parent) {
(parent.children || (parent.children = [])).push(e);
} else {
newList.push(e);
}
});
const fn = (list) => {
list.map((e) => {
if (e.children instanceof Array) {
e.children = orderBy(e.children, "orderNum");
fn(e.children);
}
});
};
fn(newList);
return orderBy(newList, "orderNum");
}
function orderBy(list, key) {
return list.sort((a, b) => a[key] - b[key]);
}
export const getURLParameters = (url) =>
(url.match(/([^?=&]+)(=([^&]*))/g) || []).reduce(
(a, v) => ((a[v.slice(0, v.indexOf("="))] = v.slice(v.indexOf("=") + 1)), a),
{}
);