@takram/three-clouds 0.2.2 → 0.4.0

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.
Files changed (43) hide show
  1. package/CHANGELOG.md +37 -0
  2. package/README.md +25 -17
  3. package/build/index.cjs +9 -9
  4. package/build/index.cjs.map +1 -1
  5. package/build/index.js +70 -77
  6. package/build/index.js.map +1 -1
  7. package/build/r3f.cjs +1 -1
  8. package/build/r3f.cjs.map +1 -1
  9. package/build/r3f.js +180 -186
  10. package/build/r3f.js.map +1 -1
  11. package/build/shared.cjs +102 -74
  12. package/build/shared.cjs.map +1 -1
  13. package/build/shared.js +443 -380
  14. package/build/shared.js.map +1 -1
  15. package/package.json +3 -3
  16. package/src/CloudLayers.ts +2 -2
  17. package/src/CloudsEffect.ts +52 -29
  18. package/src/CloudsMaterial.ts +53 -30
  19. package/src/CloudsPass.ts +5 -6
  20. package/src/PassBase.ts +1 -1
  21. package/src/Procedural3DTexture.ts +2 -4
  22. package/src/ProceduralTexture.ts +1 -3
  23. package/src/ShaderArrayPass.ts +5 -5
  24. package/src/ShadowMaterial.ts +4 -4
  25. package/src/ShadowPass.ts +5 -6
  26. package/src/constants.ts +1 -0
  27. package/src/helpers/setArrayRenderTargetLayers.ts +3 -6
  28. package/src/qualityPresets.ts +5 -5
  29. package/src/r3f/CloudLayer.tsx +65 -63
  30. package/src/r3f/Clouds.tsx +170 -188
  31. package/src/shaders/clouds.frag +64 -50
  32. package/src/shaders/clouds.glsl +1 -1
  33. package/src/shaders/clouds.vert +18 -5
  34. package/src/shaders/parameters.glsl +3 -2
  35. package/src/shaders/shadowResolve.frag +2 -2
  36. package/src/shaders/types.glsl +1 -1
  37. package/src/shaders/varianceClipping.glsl +2 -2
  38. package/src/uniforms.ts +3 -3
  39. package/types/CloudsEffect.d.ts +19 -9
  40. package/types/CloudsMaterial.d.ts +10 -5
  41. package/types/qualityPresets.d.ts +1 -1
  42. package/types/r3f/CloudLayer.d.ts +3 -1
  43. package/types/r3f/Clouds.d.ts +2 -1
package/build/r3f.cjs.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"r3f.cjs","sources":["../src/r3f/CloudLayers.tsx","../src/r3f/Clouds.tsx","../src/r3f/CloudLayer.tsx"],"sourcesContent":null,"names":["CloudLayersContext","CloudLayers","layers","disableDefault","children","context","setContext","useState","useLayoutEffect","CloudLayer","CloudLayersImpl","jsx","useTextureState","input","gl","data","setData","useEffect","loader","TextureLoader","texture","LinearMipMapLinearFilter","LinearFilter","RepeatWrapping","NoColorSpace","error","use3DTextureState","size","Loader","createData3DTextureLoaderClass","parseUint8Array","RedFormat","useSTBNTextureState","STBNLoader","Clouds","forwardRef","disableDefaultLayers","localWeatherTextureProp","DEFAULT_LOCAL_WEATHER_URL","shapeTextureProp","DEFAULT_SHAPE_URL","shapeDetailTextureProp","DEFAULT_SHAPE_DETAIL_URL","turbulenceTextureProp","DEFAULT_TURBULENCE_URL","stbnTextureProp","DEFAULT_STBN_URL","props","forwardedRef","textures","transientStates","contextProps","useContext","AtmosphereContext","atmosphereParameters","others","separateProps","cloudsPassOptionsDefaults","effect","useMemo","CloudsEffect","useFrame","handleChange","useCallback","event","useThree","localWeatherTexture","shapeTexture","CLOUD_SHAPE_TEXTURE_SIZE","shapeDetailTexture","CLOUD_SHAPE_DETAIL_TEXTURE_SIZE","turbulenceTexture","stbnTexture","camera","EffectComposerContext","jsxs","Fragment","indexProp","indexPool","index","setIndex","poolIndex","a","b","layer","CloudLayerImpl"],"mappings":"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"}
1
+ {"version":3,"file":"r3f.cjs","sources":["../src/r3f/CloudLayers.tsx","../src/r3f/Clouds.tsx","../src/r3f/CloudLayer.tsx"],"sourcesContent":null,"names":["CloudLayersContext","CloudLayers","layers","disableDefault","children","context","setContext","useState","useLayoutEffect","CloudLayer","CloudLayersImpl","jsx","useLoadTexture","input","gl","loadedTexture","useMemo","TextureLoader","texture","LinearMipMapLinearFilter","LinearFilter","RepeatWrapping","NoColorSpace","useEffect","useLoad3DTexture","size","DataTextureLoader","Data3DTexture","parseUint8Array","RedFormat","useLoadSTBNTexture","STBNLoader","Clouds","forwardedRef","disableDefaultLayers","localWeatherTextureProp","DEFAULT_LOCAL_WEATHER_URL","shapeTextureProp","DEFAULT_SHAPE_URL","shapeDetailTextureProp","DEFAULT_SHAPE_DETAIL_URL","turbulenceTextureProp","DEFAULT_TURBULENCE_URL","stbnTextureProp","DEFAULT_STBN_URL","props","textures","transientStates","contextProps","useContext","AtmosphereContext","atmosphereParameters","others","separateProps","cloudsPassOptionsDefaults","effect","CloudsEffect","useFrame","handleChange","useCallback","event","useThree","localWeatherTexture","shapeTexture","CLOUD_SHAPE_TEXTURE_SIZE","shapeDetailTexture","CLOUD_SHAPE_DETAIL_TEXTURE_SIZE","turbulenceTexture","stbnTexture","camera","EffectComposerContext","jsxs","Fragment","indexProp","indexPool","index","setIndex","poolIndex","a","b","layer","CloudLayerImpl"],"mappings":"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"}
package/build/r3f.js CHANGED
@@ -1,205 +1,199 @@
1
- import { jsx as x, jsxs as k, Fragment as B } from "react/jsx-runtime";
2
- import { useFrame as W, useThree as j } from "@react-three/fiber";
3
- import { EffectComposerContext as X } from "@react-three/postprocessing";
4
- import { createContext as Z, useState as L, useLayoutEffect as E, forwardRef as F, useContext as C, useMemo as $, useEffect as h, useCallback as q } from "react";
5
- import { TextureLoader as G, LinearMipMapLinearFilter as J, LinearFilter as D, RepeatWrapping as f, NoColorSpace as _, RedFormat as K } from "three";
6
- import { AtmosphereContext as Q, separateProps as V } from "@takram/three-atmosphere/r3f";
7
- import { DEFAULT_STBN_URL as Y, createData3DTextureLoaderClass as z, parseUint8Array as ee, STBNLoader as te } from "@takram/three-geospatial";
8
- import { c as w, b as A, d as re, e as oe, D as ae, f as se, g as ne, h as le, a as ce, C as ue } from "./shared.js";
9
- const v = /* @__PURE__ */ Z(null), ie = ({
1
+ import { jsx as E, jsxs as M, Fragment as N } from "react/jsx-runtime";
2
+ import { useFrame as k, useThree as B } from "@react-three/fiber";
3
+ import { EffectComposerContext as W } from "@react-three/postprocessing";
4
+ import { createContext as j, useState as A, useLayoutEffect as x, useContext as y, useMemo as L, useEffect as c, useCallback as X } from "react";
5
+ import { TextureLoader as Z, LinearMipMapLinearFilter as $, LinearFilter as C, RepeatWrapping as h, NoColorSpace as S, Data3DTexture as q, RedFormat as G } from "three";
6
+ import { AtmosphereContext as J, separateProps as K } from "@takram/three-atmosphere/r3f";
7
+ import { DEFAULT_STBN_URL as Q, DataTextureLoader as V, parseUint8Array as Y, STBNLoader as z } from "@takram/three-geospatial";
8
+ import { c as D, b as U, d as ee, e as te, D as re, f as oe, g as se, h as ne, a as ae, C as le } from "./shared.js";
9
+ const F = /* @__PURE__ */ j(null), ue = ({
10
10
  layers: e,
11
- disableDefault: r = !1,
12
- children: c
11
+ disableDefault: t = !1,
12
+ children: s
13
13
  }) => {
14
- const [a, u] = L();
15
- return E(() => {
14
+ const [n, u] = A();
15
+ return x(() => {
16
16
  e.set(
17
- r ? Array(4).fill(A.DEFAULT) : w.DEFAULT
17
+ t ? Array(4).fill(U.DEFAULT) : D.DEFAULT
18
18
  ), u({
19
19
  layers: e,
20
20
  indexPool: [0, 1, 2, 3],
21
- disableDefault: r
21
+ disableDefault: t
22
22
  });
23
- }, [e, r]), a != null && /* @__PURE__ */ x(v.Provider, { value: a, children: c });
23
+ }, [e, t]), n != null && /* @__PURE__ */ E(F.Provider, { value: n, children: s });
24
24
  };
25
- function U(e, r) {
26
- const [c, a] = L(typeof e != "string" ? e : null);
27
- return h(() => {
28
- if (typeof e == "string") {
29
- const u = new G();
30
- (async () => {
31
- const t = await u.loadAsync(e);
32
- t.minFilter = J, t.magFilter = D, t.wrapS = f, t.wrapT = f, t.colorSpace = _, t.needsUpdate = !0, r.initTexture(t), a(t);
33
- })().catch((t) => {
34
- console.error(t);
35
- });
36
- } else
37
- a(e);
38
- }, [e, r]), c;
25
+ function g(e, t) {
26
+ const s = L(
27
+ () => typeof e == "string" ? new Z().load(e, (n) => {
28
+ n.minFilter = $, n.magFilter = C, n.wrapS = h, n.wrapT = h, n.colorSpace = S, n.needsUpdate = !0;
29
+ }) : void 0,
30
+ [e]
31
+ );
32
+ return c(() => {
33
+ if (s != null)
34
+ return () => {
35
+ s.dispose();
36
+ };
37
+ }, [s]), (typeof e == "string" ? s : e) ?? null;
39
38
  }
40
- function g(e, r) {
41
- const [c, a] = L(typeof e != "string" ? e : null);
42
- return h(() => {
43
- if (typeof e == "string") {
44
- const u = z(ee, {
45
- width: r,
46
- height: r,
47
- depth: r,
48
- format: K,
49
- minFilter: D,
50
- magFilter: D,
51
- wrapS: f,
52
- wrapT: f,
53
- wrapR: f,
54
- colorSpace: _
55
- }), t = new u();
56
- (async () => {
57
- a(await t.loadAsync(e));
58
- })().catch((i) => {
59
- console.error(i);
60
- });
61
- } else
62
- a(e);
63
- }, [e, r]), c;
39
+ function w(e, t) {
40
+ const s = L(
41
+ () => typeof e == "string" ? new V(q, Y, {
42
+ width: t,
43
+ height: t,
44
+ depth: t,
45
+ format: G,
46
+ minFilter: C,
47
+ magFilter: C,
48
+ wrapS: h,
49
+ wrapT: h,
50
+ wrapR: h,
51
+ colorSpace: S
52
+ }).load(e) : void 0,
53
+ [e, t]
54
+ );
55
+ return c(() => {
56
+ if (s != null)
57
+ return () => {
58
+ s.dispose();
59
+ };
60
+ }, [s]), (typeof e == "string" ? s : e) ?? null;
64
61
  }
65
- function he(e) {
66
- const [r, c] = L(typeof e != "string" ? e : null);
67
- return h(() => {
68
- if (typeof e == "string") {
69
- const a = new te();
70
- (async () => {
71
- c(await a.loadAsync(e));
72
- })().catch((u) => {
73
- console.error(u);
74
- });
75
- } else
76
- c(e);
77
- }, [e]), r;
62
+ function ie(e) {
63
+ const t = L(
64
+ () => typeof e == "string" ? new z().load(e) : void 0,
65
+ [e]
66
+ );
67
+ return c(() => {
68
+ if (t != null)
69
+ return () => {
70
+ t.dispose();
71
+ };
72
+ }, [t]), (typeof e == "string" ? t : e) ?? null;
78
73
  }
79
- const Ee = /* @__PURE__ */ F(
80
- function({
81
- disableDefaultLayers: r = !1,
82
- localWeatherTexture: c = ae,
83
- shapeTexture: a = se,
84
- shapeDetailTexture: u = ne,
85
- turbulenceTexture: t = le,
86
- stbnTexture: i = Y,
87
- children: p,
88
- ...n
89
- }, d) {
90
- const { textures: l, transientStates: o, ...m } = C(Q), [b, R] = V({
91
- ...re,
92
- ...m,
93
- ...l,
94
- ...n
95
- }), s = $(() => new oe(), []);
96
- h(() => () => {
97
- s.dispose();
98
- }, [s]), W(() => {
99
- o != null && (s.sunDirection.copy(o.sunDirection), s.ellipsoidCenter.copy(o.ellipsoidCenter), s.ellipsoidMatrix.copy(o.ellipsoidMatrix));
100
- }), h(() => {
101
- if (o != null)
102
- return o.overlay = s.atmosphereOverlay, o.shadow = s.atmosphereShadow, o.shadowLength = s.atmosphereShadowLength, () => {
103
- o.overlay = null, o.shadow = null, o.shadowLength = null;
104
- };
105
- }, [s, o]);
106
- const T = q(
107
- (y) => {
108
- if (o != null)
109
- switch (y.property) {
110
- case "atmosphereOverlay":
111
- o.overlay = s.atmosphereOverlay;
112
- break;
113
- case "atmosphereShadow":
114
- o.shadow = s.atmosphereShadow;
115
- break;
116
- case "atmosphereShadowLength":
117
- o.shadowLength = s.atmosphereShadowLength;
118
- break;
119
- }
120
- },
121
- [s, o]
122
- );
123
- h(() => (s.events.addEventListener("change", T), () => {
124
- s.events.removeEventListener("change", T);
125
- }), [s, T]);
126
- const S = j(({ gl: y }) => y), O = U(c, S), P = g(
127
- a,
128
- ue
129
- ), I = g(
130
- u,
131
- ce
132
- ), H = U(t, S), M = he(i), { camera: N } = C(X);
133
- return /* @__PURE__ */ k(B, { children: [
134
- /* @__PURE__ */ x(
135
- "primitive",
136
- {
137
- ref: d,
138
- object: s,
139
- mainCamera: N,
140
- ...b,
141
- localWeatherTexture: O,
142
- shapeTexture: P,
143
- shapeDetailTexture: I,
144
- turbulenceTexture: H,
145
- stbnTexture: M,
146
- ...R
147
- }
148
- ),
149
- /* @__PURE__ */ x(
150
- ie,
151
- {
152
- layers: s.cloudLayers,
153
- disableDefault: r,
154
- children: p
74
+ const Ee = ({
75
+ ref: e,
76
+ disableDefaultLayers: t = !1,
77
+ localWeatherTexture: s = re,
78
+ shapeTexture: n = oe,
79
+ shapeDetailTexture: u = se,
80
+ turbulenceTexture: i = ne,
81
+ stbnTexture: p = Q,
82
+ children: a,
83
+ ...d
84
+ }) => {
85
+ const { textures: l, transientStates: r, ...f } = y(J), [v, _] = K({
86
+ ...ee,
87
+ ...f,
88
+ ...l,
89
+ ...d
90
+ }), o = L(() => new te(), []);
91
+ c(() => () => {
92
+ o.dispose();
93
+ }, [o]), k(() => {
94
+ r != null && (o.sunDirection.copy(r.sunDirection), o.ellipsoidCenter.copy(r.ellipsoidCenter), o.ellipsoidMatrix.copy(r.ellipsoidMatrix));
95
+ }), c(() => {
96
+ if (r != null)
97
+ return r.overlay = o.atmosphereOverlay, r.shadow = o.atmosphereShadow, r.shadowLength = o.atmosphereShadowLength, () => {
98
+ r.overlay = null, r.shadow = null, r.shadowLength = null;
99
+ };
100
+ }, [o, r]);
101
+ const m = X(
102
+ (T) => {
103
+ if (r != null)
104
+ switch (T.property) {
105
+ case "atmosphereOverlay":
106
+ r.overlay = o.atmosphereOverlay;
107
+ break;
108
+ case "atmosphereShadow":
109
+ r.shadow = o.atmosphereShadow;
110
+ break;
111
+ case "atmosphereShadowLength":
112
+ r.shadowLength = o.atmosphereShadowLength;
113
+ break;
155
114
  }
156
- )
157
- ] });
158
- }
159
- ), Ce = F(
160
- function({ index: r, ...c }, a) {
161
- const u = C(v);
162
- if (u == null)
163
- throw new Error(
164
- "CloudLayer can only be used within the Clouds component!"
165
- );
166
- const { layers: t, indexPool: i, disableDefault: p } = u, [n, d] = L();
167
- if (E(() => {
168
- if (r != null) {
169
- const l = i.indexOf(r);
170
- if (l !== -1)
171
- return i.splice(l, 1), d(r), () => {
172
- i.push(r), d(void 0);
173
- };
174
- } else {
175
- const l = i.sort((o, m) => o - m).shift();
176
- if (l != null)
177
- return d(l), () => {
178
- i.push(l), d(void 0);
179
- };
115
+ },
116
+ [o, r]
117
+ );
118
+ c(() => (o.events.addEventListener("change", m), () => {
119
+ o.events.removeEventListener("change", m);
120
+ }), [o, m]), B(({ gl: T }) => T);
121
+ const b = g(s), O = w(
122
+ n,
123
+ le
124
+ ), R = w(
125
+ u,
126
+ ae
127
+ ), P = g(i), I = ie(p), { camera: H } = y(W);
128
+ return /* @__PURE__ */ M(N, { children: [
129
+ /* @__PURE__ */ E(
130
+ "primitive",
131
+ {
132
+ ref: e,
133
+ object: o,
134
+ mainCamera: H,
135
+ ...v,
136
+ localWeatherTexture: b,
137
+ shapeTexture: O,
138
+ shapeDetailTexture: R,
139
+ turbulenceTexture: P,
140
+ stbnTexture: I,
141
+ ..._
180
142
  }
181
- }, [r, t, i]), E(() => {
182
- if (n == null)
183
- return;
184
- const l = t[n];
185
- return () => {
186
- l.copy(
187
- p ? A.DEFAULT : w.DEFAULT[n]
188
- );
189
- };
190
- }, [t, n, p]), h(() => {
191
- n != null && (typeof a == "function" ? a(t[n]) : a != null && (a.current = t[n]));
192
- }, [a, t, n]), n != null) {
193
- const l = t[n];
194
- l.copy(
195
- p ? A.DEFAULT : w.DEFAULT[n]
196
- ), l.set(c);
143
+ ),
144
+ /* @__PURE__ */ E(
145
+ ue,
146
+ {
147
+ layers: o.cloudLayers,
148
+ disableDefault: t,
149
+ children: a
150
+ }
151
+ )
152
+ ] });
153
+ }, xe = ({
154
+ ref: e,
155
+ index: t,
156
+ ...s
157
+ }) => {
158
+ const n = y(F);
159
+ if (n == null)
160
+ throw new Error("CloudLayer can only be used within the Clouds component!");
161
+ const { layers: u, indexPool: i, disableDefault: p } = n, [a, d] = A();
162
+ if (x(() => {
163
+ if (t != null) {
164
+ const l = i.indexOf(t);
165
+ if (l !== -1)
166
+ return i.splice(l, 1), d(t), () => {
167
+ i.push(t), d(void 0);
168
+ };
169
+ } else {
170
+ const l = i.sort((r, f) => r - f).shift();
171
+ if (l != null)
172
+ return d(l), () => {
173
+ i.push(l), d(void 0);
174
+ };
197
175
  }
198
- return null;
176
+ }, [t, u, i]), x(() => {
177
+ if (a == null)
178
+ return;
179
+ const l = u[a];
180
+ return () => {
181
+ l.copy(
182
+ p ? U.DEFAULT : D.DEFAULT[a]
183
+ );
184
+ };
185
+ }, [u, a, p]), c(() => {
186
+ a != null && (typeof e == "function" ? e(u[a]) : e != null && (e.current = u[a]));
187
+ }, [e, u, a]), a != null) {
188
+ const l = u[a];
189
+ l.copy(
190
+ p ? U.DEFAULT : D.DEFAULT[a]
191
+ ), l.set(s);
199
192
  }
200
- );
193
+ return null;
194
+ };
201
195
  export {
202
- Ce as CloudLayer,
196
+ xe as CloudLayer,
203
197
  Ee as Clouds
204
198
  };
205
199
  //# sourceMappingURL=r3f.js.map
package/build/r3f.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"r3f.js","sources":["../src/r3f/CloudLayers.tsx","../src/r3f/Clouds.tsx","../src/r3f/CloudLayer.tsx"],"sourcesContent":null,"names":["CloudLayersContext","CloudLayers","layers","disableDefault","children","context","setContext","useState","useLayoutEffect","CloudLayer","CloudLayersImpl","jsx","useTextureState","input","gl","data","setData","useEffect","loader","TextureLoader","texture","LinearMipMapLinearFilter","LinearFilter","RepeatWrapping","NoColorSpace","error","use3DTextureState","size","Loader","createData3DTextureLoaderClass","parseUint8Array","RedFormat","useSTBNTextureState","STBNLoader","Clouds","forwardRef","disableDefaultLayers","localWeatherTextureProp","DEFAULT_LOCAL_WEATHER_URL","shapeTextureProp","DEFAULT_SHAPE_URL","shapeDetailTextureProp","DEFAULT_SHAPE_DETAIL_URL","turbulenceTextureProp","DEFAULT_TURBULENCE_URL","stbnTextureProp","DEFAULT_STBN_URL","props","forwardedRef","textures","transientStates","contextProps","useContext","AtmosphereContext","atmosphereParameters","others","separateProps","cloudsPassOptionsDefaults","effect","useMemo","CloudsEffect","useFrame","handleChange","useCallback","event","useThree","localWeatherTexture","shapeTexture","CLOUD_SHAPE_TEXTURE_SIZE","shapeDetailTexture","CLOUD_SHAPE_DETAIL_TEXTURE_SIZE","turbulenceTexture","stbnTexture","camera","EffectComposerContext","jsxs","Fragment","indexProp","indexPool","index","setIndex","poolIndex","a","b","layer","CloudLayerImpl"],"mappings":"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"}
1
+ {"version":3,"file":"r3f.js","sources":["../src/r3f/CloudLayers.tsx","../src/r3f/Clouds.tsx","../src/r3f/CloudLayer.tsx"],"sourcesContent":null,"names":["CloudLayersContext","CloudLayers","layers","disableDefault","children","context","setContext","useState","useLayoutEffect","CloudLayer","CloudLayersImpl","jsx","useLoadTexture","input","gl","loadedTexture","useMemo","TextureLoader","texture","LinearMipMapLinearFilter","LinearFilter","RepeatWrapping","NoColorSpace","useEffect","useLoad3DTexture","size","DataTextureLoader","Data3DTexture","parseUint8Array","RedFormat","useLoadSTBNTexture","STBNLoader","Clouds","forwardedRef","disableDefaultLayers","localWeatherTextureProp","DEFAULT_LOCAL_WEATHER_URL","shapeTextureProp","DEFAULT_SHAPE_URL","shapeDetailTextureProp","DEFAULT_SHAPE_DETAIL_URL","turbulenceTextureProp","DEFAULT_TURBULENCE_URL","stbnTextureProp","DEFAULT_STBN_URL","props","textures","transientStates","contextProps","useContext","AtmosphereContext","atmosphereParameters","others","separateProps","cloudsPassOptionsDefaults","effect","CloudsEffect","useFrame","handleChange","useCallback","event","useThree","localWeatherTexture","shapeTexture","CLOUD_SHAPE_TEXTURE_SIZE","shapeDetailTexture","CLOUD_SHAPE_DETAIL_TEXTURE_SIZE","turbulenceTexture","stbnTexture","camera","EffectComposerContext","jsxs","Fragment","indexProp","indexPool","index","setIndex","poolIndex","a","b","layer","CloudLayerImpl"],"mappings":"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"}