@realsee/dnalogel 3.73.1-alpha.2 → 3.73.1-alpha.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs.js +3 -3
- package/dist/index.js +36 -35
- package/dist/index.umd.js +3 -3
- package/libs/PanoTagPlugin/controller/Tag/PlaneTag.js +118 -117
- package/libs/base/BasePlugin.js +1 -1
- package/libs/shared-utils/five/getFloorMesh.js +8 -8
- package/libs/shared-utils/logger.js +1 -1
- package/package.json +1 -1
|
@@ -1,35 +1,35 @@
|
|
|
1
|
-
var
|
|
2
|
-
var
|
|
1
|
+
var k = Object.defineProperty, j = Object.defineProperties;
|
|
2
|
+
var R = Object.getOwnPropertyDescriptors;
|
|
3
3
|
var F = Object.getOwnPropertySymbols;
|
|
4
|
-
var
|
|
5
|
-
var I = (
|
|
6
|
-
for (var t in
|
|
7
|
-
|
|
4
|
+
var V = Object.prototype.hasOwnProperty, w = Object.prototype.propertyIsEnumerable;
|
|
5
|
+
var I = (c, d, t) => d in c ? k(c, d, { enumerable: !0, configurable: !0, writable: !0, value: t }) : c[d] = t, b = (c, d) => {
|
|
6
|
+
for (var t in d || (d = {}))
|
|
7
|
+
V.call(d, t) && I(c, t, d[t]);
|
|
8
8
|
if (F)
|
|
9
|
-
for (var t of F(
|
|
10
|
-
|
|
11
|
-
return
|
|
12
|
-
}, S = (
|
|
13
|
-
var y = (
|
|
14
|
-
var C = (
|
|
15
|
-
var
|
|
9
|
+
for (var t of F(d))
|
|
10
|
+
w.call(d, t) && I(c, t, d[t]);
|
|
11
|
+
return c;
|
|
12
|
+
}, S = (c, d) => j(c, R(d));
|
|
13
|
+
var y = (c, d, t) => (I(c, typeof d != "symbol" ? d + "" : d, t), t);
|
|
14
|
+
var C = (c, d, t) => new Promise((e, i) => {
|
|
15
|
+
var o = (r) => {
|
|
16
16
|
try {
|
|
17
|
-
|
|
18
|
-
} catch (
|
|
19
|
-
i(
|
|
17
|
+
m(t.next(r));
|
|
18
|
+
} catch (n) {
|
|
19
|
+
i(n);
|
|
20
20
|
}
|
|
21
|
-
},
|
|
21
|
+
}, l = (r) => {
|
|
22
22
|
try {
|
|
23
|
-
|
|
24
|
-
} catch (
|
|
25
|
-
i(
|
|
23
|
+
m(t.throw(r));
|
|
24
|
+
} catch (n) {
|
|
25
|
+
i(n);
|
|
26
26
|
}
|
|
27
|
-
},
|
|
28
|
-
|
|
27
|
+
}, m = (r) => r.done ? e(r.value) : Promise.resolve(r.value).then(o, l);
|
|
28
|
+
m((t = t.apply(c, d)).next());
|
|
29
29
|
});
|
|
30
|
-
import { CONST as
|
|
31
|
-
import { CSS3DObjectPlus as
|
|
32
|
-
import { anyPositionToVector3 as T, arrayPositionToVector3 as
|
|
30
|
+
import { CONST as M } from "../../../shared-utils/constants.js";
|
|
31
|
+
import { CSS3DObjectPlus as _ } from "../../../shared-utils/CSS3DRender/CSS3DObject.js";
|
|
32
|
+
import { anyPositionToVector3 as T, arrayPositionToVector3 as P } from "../../../shared-utils/positionToVector3.js";
|
|
33
33
|
import * as E from "three";
|
|
34
34
|
import { planeNormal as O } from "../../utils/planeNormal.js";
|
|
35
35
|
import { centerPoint as G } from "../../../shared-utils/three/centerPoint.js";
|
|
@@ -52,8 +52,8 @@ import { waitFiveModelLoaded as x } from "../../../shared-utils/five/fiveModelLo
|
|
|
52
52
|
import { uuid as $ } from "../../../shared-utils/uuid.js";
|
|
53
53
|
import "../../../shared-utils/five/FivePuppet.js";
|
|
54
54
|
import { Sculpt as U } from "../../../Sculpt/index.js";
|
|
55
|
-
import { Rectangle as
|
|
56
|
-
import { getFloorMesh as
|
|
55
|
+
import { Rectangle as W } from "../../../Sculpt/Objects/Rectangle/index.js";
|
|
56
|
+
import { getFloorMesh as q } from "../../../shared-utils/five/getFloorMesh.js";
|
|
57
57
|
import "../../../shared-utils/even.js";
|
|
58
58
|
import "../../../shared-utils/CSS3DRender/OpacityMesh.js";
|
|
59
59
|
import "../../../shared-utils/isNil.js";
|
|
@@ -326,8 +326,8 @@ class Xr extends B {
|
|
|
326
326
|
this._floorIndexDirty = !0;
|
|
327
327
|
}
|
|
328
328
|
applyVisible() {
|
|
329
|
-
var e, i,
|
|
330
|
-
this.computeRenderType() === "Mesh" ? (this.initialSculpt(), ((i = (e = this.data.mediaData) == null ? void 0 : e[0]) == null ? void 0 : i.type) === "Video" ? this.renderVideoPlane() : ((
|
|
329
|
+
var e, i, o, l, m, r;
|
|
330
|
+
this.computeRenderType() === "Mesh" ? (this.initialSculpt(), ((i = (e = this.data.mediaData) == null ? void 0 : e[0]) == null ? void 0 : i.type) === "Video" ? this.renderVideoPlane() : ((l = (o = this.data.mediaData) == null ? void 0 : o[0]) == null ? void 0 : l.type) === "Image" ? this.renderImagePlane() : this.renderEmptyPlane()) : ((m = this.tag3DContentSvelte) == null || m.svelteApp.$set({ tag: this, state: this.plugin.state, temporaryState: this.plugin.temporaryState }), (r = this.tag3DContentSvelte) != null && r.css3DInstance && (this.tag3DContentSvelte.css3DInstance.visible = this.visible, this.five.needsRender = !0));
|
|
331
331
|
}
|
|
332
332
|
set(t, e = !0) {
|
|
333
333
|
super.set(t, e), x(this.five).then(() => {
|
|
@@ -335,63 +335,64 @@ class Xr extends B {
|
|
|
335
335
|
});
|
|
336
336
|
}
|
|
337
337
|
setData(...t) {
|
|
338
|
-
var i,
|
|
339
|
-
super.setData(...t), this.computeRenderType() === "Mesh" ? (((
|
|
338
|
+
var i, o, l, m, r;
|
|
339
|
+
super.setData(...t), this.computeRenderType() === "Mesh" ? (((o = (i = this.data.mediaData) == null ? void 0 : i[0]) == null ? void 0 : o.type) === "Video" ? this.renderVideoPlane() : ((m = (l = this.data.mediaData) == null ? void 0 : l[0]) == null ? void 0 : m.type) === "Image" ? this.renderImagePlane() : this.renderEmptyPlane(), this.mediaPlane && (this.mediaPlane.opacity = this.opacity)) : (r = this.tag3DContentSvelte) == null || r.svelteApp.$set({ tag: this });
|
|
340
340
|
}
|
|
341
341
|
/** 计算楼层索引 */
|
|
342
342
|
computeFloorIndex() {
|
|
343
|
+
var m, r;
|
|
343
344
|
const t = /* @__PURE__ */ new Map();
|
|
344
|
-
this.five.observers.forEach((
|
|
345
|
-
var
|
|
346
|
-
const
|
|
347
|
-
if (!t.has(
|
|
348
|
-
const
|
|
349
|
-
|
|
345
|
+
((r = (m = this.five.works.getWork(this.workUtil.workCode)) == null ? void 0 : m.observers) != null ? r : []).forEach((n) => {
|
|
346
|
+
var h;
|
|
347
|
+
const s = (h = n.floorIndex) != null ? h : 0;
|
|
348
|
+
if (!t.has(s)) {
|
|
349
|
+
const u = q(this.five, s);
|
|
350
|
+
u.isEmpty() || t.set(s, u);
|
|
350
351
|
}
|
|
351
352
|
});
|
|
352
|
-
const
|
|
353
|
-
if (t.forEach((
|
|
354
|
-
|
|
355
|
-
}),
|
|
356
|
-
return
|
|
357
|
-
if (
|
|
358
|
-
let
|
|
359
|
-
return
|
|
360
|
-
const
|
|
361
|
-
|
|
362
|
-
const
|
|
363
|
-
|
|
364
|
-
}),
|
|
353
|
+
const i = G(...this.position.map(T)), o = [], l = [];
|
|
354
|
+
if (t.forEach((n, s) => {
|
|
355
|
+
l.push({ floorIndex: s, box: n }), n.containsPoint(i) && o.push({ floorIndex: s, box: n });
|
|
356
|
+
}), o.length === 1)
|
|
357
|
+
return o[0].floorIndex;
|
|
358
|
+
if (o.length > 1) {
|
|
359
|
+
let n = 1 / 0, s = o[0].floorIndex;
|
|
360
|
+
return o.forEach(({ floorIndex: h, box: u }) => {
|
|
361
|
+
const p = new E.Vector3();
|
|
362
|
+
u.getCenter(p);
|
|
363
|
+
const a = i.distanceTo(p);
|
|
364
|
+
a < n && (n = a, s = h);
|
|
365
|
+
}), s;
|
|
365
366
|
}
|
|
366
|
-
if (
|
|
367
|
-
let
|
|
368
|
-
return
|
|
369
|
-
const
|
|
370
|
-
|
|
371
|
-
const
|
|
372
|
-
|
|
373
|
-
}),
|
|
367
|
+
if (l.length > 0) {
|
|
368
|
+
let n = 1 / 0, s = l[0].floorIndex;
|
|
369
|
+
return l.forEach(({ floorIndex: h, box: u }) => {
|
|
370
|
+
const p = new E.Vector3();
|
|
371
|
+
u.getCenter(p);
|
|
372
|
+
const a = i.distanceTo(p);
|
|
373
|
+
a < n && (n = a, s = h);
|
|
374
|
+
}), s;
|
|
374
375
|
}
|
|
375
376
|
}
|
|
376
377
|
loadModel() {
|
|
377
378
|
return C(this, null, function* () {
|
|
378
|
-
var e, i,
|
|
379
|
+
var e, i, o, l, m, r;
|
|
379
380
|
if (yield x(this.five), this.computeRenderType() === "Mesh")
|
|
380
|
-
this.initialSculpt(), ((i = (e = this.data.mediaData) == null ? void 0 : e[0]) == null ? void 0 : i.type) === "Video" ? this.renderVideoPlane() : ((
|
|
381
|
+
this.initialSculpt(), ((i = (e = this.data.mediaData) == null ? void 0 : e[0]) == null ? void 0 : i.type) === "Video" ? this.renderVideoPlane() : ((l = (o = this.data.mediaData) == null ? void 0 : o[0]) == null ? void 0 : l.type) === "Image" ? this.renderImagePlane() : this.renderEmptyPlane();
|
|
381
382
|
else {
|
|
382
383
|
H(this.five);
|
|
383
|
-
const
|
|
384
|
-
(r = (
|
|
385
|
-
const
|
|
386
|
-
|
|
387
|
-
const
|
|
388
|
-
|
|
384
|
+
const n = this.position.map(T);
|
|
385
|
+
(r = (m = this.tag3DContentSvelte) == null ? void 0 : m.dispose) == null || r.call(m);
|
|
386
|
+
const s = document.createElement("div");
|
|
387
|
+
s.classList.add("tag-media-container");
|
|
388
|
+
const h = b({ mode: "front", cornerPoints: n, container: s }, this.config.tag3DConfig), u = this.computeRenderType() === "BehindDom" || h.mode === "behind" ? "behind" : "front", p = new _(S(b({}, h), { mode: u })), a = this.computeNormal();
|
|
389
|
+
p.position.add(a.clone().setLength(M.Z_FIGHTING_OFFSET)), this.plugin.group.add(p);
|
|
389
390
|
let v;
|
|
390
|
-
|
|
391
|
-
this.plugin.hooks.emit("click", { event:
|
|
391
|
+
p.mode === "behind" && this.config.clickable !== !1 && (v = this.addObjectClickHandler(this, p, (g) => {
|
|
392
|
+
this.plugin.hooks.emit("click", { event: g, target: "TagContent", tag: this });
|
|
392
393
|
}));
|
|
393
|
-
const
|
|
394
|
-
target:
|
|
394
|
+
const f = new N({
|
|
395
|
+
target: s,
|
|
395
396
|
props: {
|
|
396
397
|
tag: this,
|
|
397
398
|
hooks: this.plugin.hooks,
|
|
@@ -402,15 +403,15 @@ class Xr extends B {
|
|
|
402
403
|
}
|
|
403
404
|
});
|
|
404
405
|
this.tag3DContentSvelte = {
|
|
405
|
-
svelteApp:
|
|
406
|
+
svelteApp: f,
|
|
406
407
|
domContainer: {
|
|
407
|
-
css3DObject:
|
|
408
|
+
css3DObject: p
|
|
408
409
|
},
|
|
409
|
-
css3DInstance:
|
|
410
|
-
initialNormal:
|
|
411
|
-
currentNormal:
|
|
410
|
+
css3DInstance: p,
|
|
411
|
+
initialNormal: a,
|
|
412
|
+
currentNormal: a,
|
|
412
413
|
dispose: () => {
|
|
413
|
-
|
|
414
|
+
f.$destroy(), p.dispose(), v == null || v();
|
|
414
415
|
}
|
|
415
416
|
}, this.five.needsRender = !0;
|
|
416
417
|
}
|
|
@@ -423,11 +424,11 @@ class Xr extends B {
|
|
|
423
424
|
magnifier: null
|
|
424
425
|
});
|
|
425
426
|
t.clear(), t.group.removeFromParent();
|
|
426
|
-
const e = $(), i = new
|
|
427
|
+
const e = $(), i = new W(
|
|
427
428
|
{
|
|
428
429
|
id: e,
|
|
429
430
|
type: "Rectangle",
|
|
430
|
-
points: this.position.map(
|
|
431
|
+
points: this.position.map(P),
|
|
431
432
|
style: {
|
|
432
433
|
color: 2203620,
|
|
433
434
|
opacity: 0.1,
|
|
@@ -439,8 +440,8 @@ class Xr extends B {
|
|
|
439
440
|
}
|
|
440
441
|
);
|
|
441
442
|
i.visible = !1, this.plugin.imagePlaneGroup.add(i), this.rectanglePlane = i, i.editor.hooks.on("objectUpdate", () => {
|
|
442
|
-
var
|
|
443
|
-
(
|
|
443
|
+
var o;
|
|
444
|
+
(o = this.mediaPlane) == null || o.changePointsOrParams({ cornerPoints: i.data.points.map(P) });
|
|
444
445
|
}), i.editor.disable();
|
|
445
446
|
}
|
|
446
447
|
editorEnable() {
|
|
@@ -449,81 +450,81 @@ class Xr extends B {
|
|
|
449
450
|
editorDisable(t) {
|
|
450
451
|
var i;
|
|
451
452
|
this.rectanglePlane.visible = !1;
|
|
452
|
-
const e = t || this.position.map(
|
|
453
|
+
const e = t || this.position.map(P);
|
|
453
454
|
(i = this.mediaPlane) == null || i.changePointsOrParams({ cornerPoints: e }), this.rectanglePlane.setData({
|
|
454
455
|
points: e
|
|
455
456
|
}), this.rectanglePlane.editor.disable();
|
|
456
457
|
}
|
|
457
458
|
renderVideoPlane() {
|
|
458
|
-
var
|
|
459
|
+
var s, h, u;
|
|
459
460
|
const t = this.data.mediaData[0];
|
|
460
461
|
if (!t)
|
|
461
462
|
return;
|
|
462
463
|
const { url: e } = t;
|
|
463
464
|
if (!e)
|
|
464
465
|
return;
|
|
465
|
-
const i = (
|
|
466
|
-
(
|
|
467
|
-
const
|
|
468
|
-
if (
|
|
469
|
-
let
|
|
470
|
-
this.rectanglePlane && (
|
|
471
|
-
const
|
|
466
|
+
const i = (s = this.data.objectFit) != null ? s : "contain", o = this.currentVisible, l = (() => !!(this.mediaPlane && !o))(), m = (() => !!(!this.mediaPlane && o))(), r = (() => !!(this.mediaPlane && (this.mediaPlane.src !== e || this.mediaPlane.objectFit !== i)))();
|
|
467
|
+
(l || r) && this.mediaPlane && (this.plugin.imagePlaneGroup.remove(this.mediaPlane), this.mediaPlane.dispose(), this.mediaPlane.removeFromParent(), this.mediaPlane = void 0);
|
|
468
|
+
const n = (() => !!(this.mediaPlane && this.mediaPlane.objectFit && this.mediaPlane.objectFit !== i))();
|
|
469
|
+
if (m || r) {
|
|
470
|
+
let p = this.position.map(P);
|
|
471
|
+
this.rectanglePlane && (p = this.rectanglePlane.data.points.map(P));
|
|
472
|
+
const a = new L(e, p, {
|
|
472
473
|
videoCoverSrc: t.videoCoverUrl,
|
|
473
474
|
playButton: this.data.playIcon,
|
|
474
|
-
paused: !((
|
|
475
|
+
paused: !((h = this.data.autoplayConfig) != null && h.autoplayVideo),
|
|
475
476
|
objectFit: this.data.objectFit,
|
|
476
477
|
videoTextureMap: Z,
|
|
477
478
|
ImageTextureMap: z,
|
|
478
479
|
domEvents: this.plugin.domEvents,
|
|
479
480
|
opacity: this.opacity
|
|
480
481
|
});
|
|
481
|
-
this.plugin.domEvents.addAutoBindEventListener(
|
|
482
|
-
var
|
|
483
|
-
!((
|
|
484
|
-
event:
|
|
482
|
+
this.plugin.domEvents.addAutoBindEventListener(a, "click", (f) => {
|
|
483
|
+
var g, D;
|
|
484
|
+
!((g = a.videoInstance) != null && g.paused) && ((D = a.videoInstance) == null ? void 0 : D.muted) === !1 && this.plugin.hooks.emit("playStateChange", {
|
|
485
|
+
event: f,
|
|
485
486
|
state: "playing",
|
|
486
487
|
tag: this,
|
|
487
|
-
mediaInstance:
|
|
488
|
+
mediaInstance: a.videoInstance
|
|
488
489
|
});
|
|
489
|
-
}),
|
|
490
|
-
|
|
491
|
-
this.plugin.mediaStore.set({ currentMediaElement:
|
|
492
|
-
}),
|
|
493
|
-
this.plugin.hooks.emit("playStateChange", { event:
|
|
494
|
-
}),
|
|
495
|
-
this.plugin.hooks.emit("playStateChange", { event:
|
|
490
|
+
}), a.onVideoReady = (f) => {
|
|
491
|
+
f.addEventListener("play", (g) => {
|
|
492
|
+
this.plugin.mediaStore.set({ currentMediaElement: a.videoInstance }), this.plugin.hooks.emit("playStateChange", { event: g, state: "playing", tag: this, mediaInstance: a.videoInstance });
|
|
493
|
+
}), f.addEventListener("pause", (g) => {
|
|
494
|
+
this.plugin.hooks.emit("playStateChange", { event: g, state: "paused", tag: this, mediaInstance: a.videoInstance });
|
|
495
|
+
}), f.addEventListener("ended", (g) => {
|
|
496
|
+
this.plugin.hooks.emit("playStateChange", { event: g, state: "paused", tag: this, mediaInstance: a.videoInstance });
|
|
496
497
|
});
|
|
497
498
|
};
|
|
498
|
-
const v = (
|
|
499
|
-
|
|
499
|
+
const v = (f) => (this.five.on("renderFrame", f), () => this.five.off("renderFrame", f));
|
|
500
|
+
a.initialRenderHooks(v), this.mediaPlane = a, this.play = () => a.play(), this.pause = () => a.pause(), this.plugin.imagePlaneGroup.add(this.mediaPlane);
|
|
500
501
|
}
|
|
501
|
-
if (
|
|
502
|
-
const
|
|
503
|
-
(
|
|
502
|
+
if (n) {
|
|
503
|
+
const p = this.rectanglePlane.data.points.map(P);
|
|
504
|
+
(u = this.mediaPlane) == null || u.changePointsOrParams({ cornerPoints: p, params: { objectFit: i } });
|
|
504
505
|
}
|
|
505
506
|
this.five.needsRender = !0;
|
|
506
507
|
}
|
|
507
508
|
renderImagePlane() {
|
|
508
|
-
var
|
|
509
|
-
const t = this.data.mediaData[0], e = (
|
|
509
|
+
var h, u;
|
|
510
|
+
const t = this.data.mediaData[0], e = (h = this.data.objectFit) != null ? h : "contain";
|
|
510
511
|
if (!t)
|
|
511
512
|
return;
|
|
512
513
|
const { url: i } = t;
|
|
513
514
|
if (!i)
|
|
514
515
|
return;
|
|
515
|
-
let
|
|
516
|
-
const
|
|
517
|
-
if ((
|
|
516
|
+
let o = this.position.map(P);
|
|
517
|
+
const l = this.currentVisible, m = (() => !!(this.mediaPlane && !l))(), r = (() => !!(!this.mediaPlane && l))(), n = (() => !!(this.mediaPlane && this.mediaPlane.src !== i))(), s = (() => !!(this.mediaPlane && this.mediaPlane.objectFit && this.mediaPlane.objectFit !== e))();
|
|
518
|
+
if ((m || n) && this.mediaPlane && (this.plugin.imagePlaneGroup.remove(this.mediaPlane), this.mediaPlane.dispose(), this.mediaPlane.removeFromParent(), this.mediaPlane = void 0), (r || n) && (this.rectanglePlane && (o = this.rectanglePlane.data.points.map(P)), this.mediaPlane = new A(i, o, { objectFit: this.data.objectFit, opacity: this.opacity }), this.getConfig().clickable !== !1 && this.plugin.domEvents.addAutoBindEventListener(
|
|
518
519
|
this.mediaPlane,
|
|
519
520
|
"click",
|
|
520
|
-
(
|
|
521
|
-
this.plugin.hooks.emit("click", { tag: this, target: "TagContent", event:
|
|
521
|
+
(p) => {
|
|
522
|
+
this.plugin.hooks.emit("click", { tag: this, target: "TagContent", event: p.origDomEvent });
|
|
522
523
|
},
|
|
523
524
|
{ noEmitWhenHide: !0 }
|
|
524
|
-
), this.plugin.imagePlaneGroup.add(this.mediaPlane)),
|
|
525
|
-
const
|
|
526
|
-
(
|
|
525
|
+
), this.plugin.imagePlaneGroup.add(this.mediaPlane)), s) {
|
|
526
|
+
const p = this.rectanglePlane.data.points.map(P);
|
|
527
|
+
(u = this.mediaPlane) == null || u.changePointsOrParams({ cornerPoints: p, params: { objectFit: e } });
|
|
527
528
|
}
|
|
528
529
|
this.five.needsRender = !0;
|
|
529
530
|
}
|
package/libs/base/BasePlugin.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import * as
|
|
2
|
-
const
|
|
3
|
-
const
|
|
4
|
-
return
|
|
5
|
-
var
|
|
6
|
-
((n = (
|
|
7
|
-
}),
|
|
1
|
+
import * as s from "three";
|
|
2
|
+
const m = (e, d) => {
|
|
3
|
+
const r = new s.Box3();
|
|
4
|
+
return e.models.find((o) => o.name === e.state.workCode).traverse((o) => {
|
|
5
|
+
var t, n;
|
|
6
|
+
((n = (t = o == null ? void 0 : o.material) == null ? void 0 : t[0]) == null ? void 0 : n.floorIndex) === d && r.expandByObject(o);
|
|
7
|
+
}), r;
|
|
8
8
|
};
|
|
9
9
|
export {
|
|
10
|
-
|
|
10
|
+
m as getFloorMesh
|
|
11
11
|
};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
function A() {
|
|
2
2
|
console.debug(
|
|
3
|
-
"%c %c@realsee/dnalogel %cv3.73.1-alpha.
|
|
3
|
+
"%c %c@realsee/dnalogel %cv3.73.1-alpha.3",
|
|
4
4
|
[
|
|
5
5
|
"background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAkAAAAMCAMAAACHgmeRAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAABLFBMVEUAAAAapPoap/oaqvkbrfkbr/gZnfwZoPsaqfnD4v/E4/8Ylv0clPm93/+/4P/B4f8Yj/683/8Wif+33P8Uhv+x2f8ShP+s1v8Pgf+n0/8Nf/+h0f8Lff8Lff8Nf/9dl/+czv8KfP8KfP+Lxf+Uyv+Xy/+Hwv+Jw/+Mxf+Oxv+RyP8aovsapfoap/oZmfwZm/wZnvsYnPsYkf4YlP0NePsDYfgYcfi43f+63v8Xiv8Xjf4EWfwCV/sWZ/qz2v+02/8Vh/8WiP8EUf8CTf4WXv2u1/+v2P8Thf8Thv8ETf8CR/8VV/+o1f+q1f8Qgv8Rg/8DSv8BRf8UVP+j0v+k0v8OgP8Pgf8DR/8DQv9Nhf+dzv+fz/+Kv/+Vyv+Xy/+azf+Oxv+Qx/+SyP////8MUhLdAAAAK3RSTlMACEWQ2bd98uQECPXxqO7c+Pb49vj2+Pb49vj23Oul8fMHA+TwerXXjEIG2P+bHgAAAAFiS0dEY1y+LaoAAAB+SURBVAjXY2BgZGJmYWVgYGBgY9fW0eVg4ORi4NbTNzDk4eXjZxAwMjYxNTO3EGQQsrSytrG1sxdmEHFwdHJ2cXUTZRBz9/D08vbxFWeQ8PMPCAwKDpFkkAoNC4+IjIqWZpCRlZOPiY2LV2BQVGJQTkhMUlEFWaOmrqGpxQAAyg0S9Dq+VPYAAAAASUVORK5CYII=')",
|
|
6
6
|
"background-repeat: no-repeat",
|