webwriter-chart
Version:
ww-chart is an interactive data visualization widget for the WebWriter tool that implements various charts and diagrams for static and exploratory data visualization.
2,136 lines (2,135 loc) • 804 kB
JavaScript
var Rf = Object.defineProperty;
var Ff = (e, t, i) => t in e ? Rf(e, t, { enumerable: !0, configurable: !0, writable: !0, value: i }) : e[t] = i;
var E = (e, t, i) => (Ff(e, typeof t != "symbol" ? t + "" : t, i), i);
/**
* @license
* Copyright 2019 Google LLC
* SPDX-License-Identifier: BSD-3-Clause
*/
const Vs = globalThis, Pa = Vs.ShadowRoot && (Vs.ShadyCSS === void 0 || Vs.ShadyCSS.nativeShadow) && "adoptedStyleSheets" in Document.prototype && "replace" in CSSStyleSheet.prototype, Ea = Symbol(), _l = /* @__PURE__ */ new WeakMap();
let tu = class {
constructor(t, i, n) {
if (this._$cssResult$ = !0, n !== Ea)
throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");
this.cssText = t, this.t = i;
}
get styleSheet() {
let t = this.o;
const i = this.t;
if (Pa && t === void 0) {
const n = i !== void 0 && i.length === 1;
n && (t = _l.get(i)), t === void 0 && ((this.o = t = new CSSStyleSheet()).replaceSync(this.cssText), n && _l.set(i, t));
}
return t;
}
toString() {
return this.cssText;
}
};
const If = (e) => new tu(typeof e == "string" ? e : e + "", void 0, Ea), Z = (e, ...t) => {
const i = e.length === 1 ? e[0] : t.reduce((n, s, r) => n + ((o) => {
if (o._$cssResult$ === !0)
return o.cssText;
if (typeof o == "number")
return o;
throw Error("Value passed to 'css' function must be a 'css' function result: " + o + ". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.");
})(s) + e[r + 1], e[0]);
return new tu(i, e, Ea);
}, eu = (e, t) => {
if (Pa)
e.adoptedStyleSheets = t.map((i) => i instanceof CSSStyleSheet ? i : i.styleSheet);
else
for (const i of t) {
const n = document.createElement("style"), s = Vs.litNonce;
s !== void 0 && n.setAttribute("nonce", s), n.textContent = i.cssText, e.appendChild(n);
}
}, wl = Pa ? (e) => e : (e) => e instanceof CSSStyleSheet ? ((t) => {
let i = "";
for (const n of t.cssRules)
i += n.cssText;
return If(i);
})(e) : e;
/**
* @license
* Copyright 2017 Google LLC
* SPDX-License-Identifier: BSD-3-Clause
*/
const { is: Nf, defineProperty: Bf, getOwnPropertyDescriptor: Vf, getOwnPropertyNames: Hf, getOwnPropertySymbols: jf, getPrototypeOf: Wf } = Object, Ve = globalThis, kl = Ve.trustedTypes, Uf = kl ? kl.emptyScript : "", so = Ve.reactiveElementPolyfillSupport, Tn = (e, t) => e, Ni = { toAttribute(e, t) {
switch (t) {
case Boolean:
e = e ? Uf : null;
break;
case Object:
case Array:
e = e == null ? e : JSON.stringify(e);
}
return e;
}, fromAttribute(e, t) {
let i = e;
switch (t) {
case Boolean:
i = e !== null;
break;
case Number:
i = e === null ? null : Number(e);
break;
case Object:
case Array:
try {
i = JSON.parse(e);
} catch {
i = null;
}
}
return i;
} }, Ta = (e, t) => !Nf(e, t), Sl = { attribute: !0, type: String, converter: Ni, reflect: !1, hasChanged: Ta };
Symbol.metadata ?? (Symbol.metadata = Symbol("metadata")), Ve.litPropertyMetadata ?? (Ve.litPropertyMetadata = /* @__PURE__ */ new WeakMap());
class Ei extends HTMLElement {
static addInitializer(t) {
this._$Ei(), (this.l ?? (this.l = [])).push(t);
}
static get observedAttributes() {
return this.finalize(), this._$Eh && [...this._$Eh.keys()];
}
static createProperty(t, i = Sl) {
if (i.state && (i.attribute = !1), this._$Ei(), this.elementProperties.set(t, i), !i.noAccessor) {
const n = Symbol(), s = this.getPropertyDescriptor(t, n, i);
s !== void 0 && Bf(this.prototype, t, s);
}
}
static getPropertyDescriptor(t, i, n) {
const { get: s, set: r } = Vf(this.prototype, t) ?? { get() {
return this[i];
}, set(o) {
this[i] = o;
} };
return { get() {
return s == null ? void 0 : s.call(this);
}, set(o) {
const a = s == null ? void 0 : s.call(this);
r.call(this, o), this.requestUpdate(t, a, n);
}, configurable: !0, enumerable: !0 };
}
static getPropertyOptions(t) {
return this.elementProperties.get(t) ?? Sl;
}
static _$Ei() {
if (this.hasOwnProperty(Tn("elementProperties")))
return;
const t = Wf(this);
t.finalize(), t.l !== void 0 && (this.l = [...t.l]), this.elementProperties = new Map(t.elementProperties);
}
static finalize() {
if (this.hasOwnProperty(Tn("finalized")))
return;
if (this.finalized = !0, this._$Ei(), this.hasOwnProperty(Tn("properties"))) {
const i = this.properties, n = [...Hf(i), ...jf(i)];
for (const s of n)
this.createProperty(s, i[s]);
}
const t = this[Symbol.metadata];
if (t !== null) {
const i = litPropertyMetadata.get(t);
if (i !== void 0)
for (const [n, s] of i)
this.elementProperties.set(n, s);
}
this._$Eh = /* @__PURE__ */ new Map();
for (const [i, n] of this.elementProperties) {
const s = this._$Eu(i, n);
s !== void 0 && this._$Eh.set(s, i);
}
this.elementStyles = this.finalizeStyles(this.styles);
}
static finalizeStyles(t) {
const i = [];
if (Array.isArray(t)) {
const n = new Set(t.flat(1 / 0).reverse());
for (const s of n)
i.unshift(wl(s));
} else
t !== void 0 && i.push(wl(t));
return i;
}
static _$Eu(t, i) {
const n = i.attribute;
return n === !1 ? void 0 : typeof n == "string" ? n : typeof t == "string" ? t.toLowerCase() : void 0;
}
constructor() {
super(), this._$Ep = void 0, this.isUpdatePending = !1, this.hasUpdated = !1, this._$Em = null, this._$Ev();
}
_$Ev() {
var t;
this._$ES = new Promise((i) => this.enableUpdating = i), this._$AL = /* @__PURE__ */ new Map(), this._$E_(), this.requestUpdate(), (t = this.constructor.l) == null || t.forEach((i) => i(this));
}
addController(t) {
var i;
(this._$EO ?? (this._$EO = /* @__PURE__ */ new Set())).add(t), this.renderRoot !== void 0 && this.isConnected && ((i = t.hostConnected) == null || i.call(t));
}
removeController(t) {
var i;
(i = this._$EO) == null || i.delete(t);
}
_$E_() {
const t = /* @__PURE__ */ new Map(), i = this.constructor.elementProperties;
for (const n of i.keys())
this.hasOwnProperty(n) && (t.set(n, this[n]), delete this[n]);
t.size > 0 && (this._$Ep = t);
}
createRenderRoot() {
const t = this.shadowRoot ?? this.attachShadow(this.constructor.shadowRootOptions);
return eu(t, this.constructor.elementStyles), t;
}
connectedCallback() {
var t;
this.renderRoot ?? (this.renderRoot = this.createRenderRoot()), this.enableUpdating(!0), (t = this._$EO) == null || t.forEach((i) => {
var n;
return (n = i.hostConnected) == null ? void 0 : n.call(i);
});
}
enableUpdating(t) {
}
disconnectedCallback() {
var t;
(t = this._$EO) == null || t.forEach((i) => {
var n;
return (n = i.hostDisconnected) == null ? void 0 : n.call(i);
});
}
attributeChangedCallback(t, i, n) {
this._$AK(t, n);
}
_$EC(t, i) {
var r;
const n = this.constructor.elementProperties.get(t), s = this.constructor._$Eu(t, n);
if (s !== void 0 && n.reflect === !0) {
const o = (((r = n.converter) == null ? void 0 : r.toAttribute) !== void 0 ? n.converter : Ni).toAttribute(i, n.type);
this._$Em = t, o == null ? this.removeAttribute(s) : this.setAttribute(s, o), this._$Em = null;
}
}
_$AK(t, i) {
var r;
const n = this.constructor, s = n._$Eh.get(t);
if (s !== void 0 && this._$Em !== s) {
const o = n.getPropertyOptions(s), a = typeof o.converter == "function" ? { fromAttribute: o.converter } : ((r = o.converter) == null ? void 0 : r.fromAttribute) !== void 0 ? o.converter : Ni;
this._$Em = s, this[s] = a.fromAttribute(i, o.type), this._$Em = null;
}
}
requestUpdate(t, i, n) {
if (t !== void 0) {
if (n ?? (n = this.constructor.getPropertyOptions(t)), !(n.hasChanged ?? Ta)(this[t], i))
return;
this.P(t, i, n);
}
this.isUpdatePending === !1 && (this._$ES = this._$ET());
}
P(t, i, n) {
this._$AL.has(t) || this._$AL.set(t, i), n.reflect === !0 && this._$Em !== t && (this._$Ej ?? (this._$Ej = /* @__PURE__ */ new Set())).add(t);
}
async _$ET() {
this.isUpdatePending = !0;
try {
await this._$ES;
} catch (i) {
Promise.reject(i);
}
const t = this.scheduleUpdate();
return t != null && await t, !this.isUpdatePending;
}
scheduleUpdate() {
return this.performUpdate();
}
performUpdate() {
var n;
if (!this.isUpdatePending)
return;
if (!this.hasUpdated) {
if (this.renderRoot ?? (this.renderRoot = this.createRenderRoot()), this._$Ep) {
for (const [r, o] of this._$Ep)
this[r] = o;
this._$Ep = void 0;
}
const s = this.constructor.elementProperties;
if (s.size > 0)
for (const [r, o] of s)
o.wrapped !== !0 || this._$AL.has(r) || this[r] === void 0 || this.P(r, this[r], o);
}
let t = !1;
const i = this._$AL;
try {
t = this.shouldUpdate(i), t ? (this.willUpdate(i), (n = this._$EO) == null || n.forEach((s) => {
var r;
return (r = s.hostUpdate) == null ? void 0 : r.call(s);
}), this.update(i)) : this._$EU();
} catch (s) {
throw t = !1, this._$EU(), s;
}
t && this._$AE(i);
}
willUpdate(t) {
}
_$AE(t) {
var i;
(i = this._$EO) == null || i.forEach((n) => {
var s;
return (s = n.hostUpdated) == null ? void 0 : s.call(n);
}), this.hasUpdated || (this.hasUpdated = !0, this.firstUpdated(t)), this.updated(t);
}
_$EU() {
this._$AL = /* @__PURE__ */ new Map(), this.isUpdatePending = !1;
}
get updateComplete() {
return this.getUpdateComplete();
}
getUpdateComplete() {
return this._$ES;
}
shouldUpdate(t) {
return !0;
}
update(t) {
this._$Ej && (this._$Ej = this._$Ej.forEach((i) => this._$EC(i, this[i]))), this._$EU();
}
updated(t) {
}
firstUpdated(t) {
}
}
Ei.elementStyles = [], Ei.shadowRootOptions = { mode: "open" }, Ei[Tn("elementProperties")] = /* @__PURE__ */ new Map(), Ei[Tn("finalized")] = /* @__PURE__ */ new Map(), so == null || so({ ReactiveElement: Ei }), (Ve.reactiveElementVersions ?? (Ve.reactiveElementVersions = [])).push("2.0.4");
/**
* @license
* Copyright 2017 Google LLC
* SPDX-License-Identifier: BSD-3-Clause
*/
const zn = globalThis, ir = zn.trustedTypes, $l = ir ? ir.createPolicy("lit-html", { createHTML: (e) => e }) : void 0, iu = "$lit$", Le = `lit$${Math.random().toFixed(9).slice(2)}$`, nu = "?" + Le, qf = `<${nu}>`, gi = document, Bn = () => gi.createComment(""), Vn = (e) => e === null || typeof e != "object" && typeof e != "function", su = Array.isArray, Xf = (e) => su(e) || typeof (e == null ? void 0 : e[Symbol.iterator]) == "function", ro = `[
\f\r]`, cn = /<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g, Cl = /-->/g, Ml = />/g, Ze = RegExp(`>|${ro}(?:([^\\s"'>=/]+)(${ro}*=${ro}*(?:[^
\f\r"'\`<>=]|("|')|))|$)`, "g"), Al = /'/g, Ol = /"/g, ru = /^(?:script|style|textarea|title)$/i, Yf = (e) => (t, ...i) => ({ _$litType$: e, strings: t, values: i }), O = Yf(1), Bt = Symbol.for("lit-noChange"), lt = Symbol.for("lit-nothing"), Dl = /* @__PURE__ */ new WeakMap(), oi = gi.createTreeWalker(gi, 129);
function ou(e, t) {
if (!Array.isArray(e) || !e.hasOwnProperty("raw"))
throw Error("invalid template strings array");
return $l !== void 0 ? $l.createHTML(t) : t;
}
const Kf = (e, t) => {
const i = e.length - 1, n = [];
let s, r = t === 2 ? "<svg>" : "", o = cn;
for (let a = 0; a < i; a++) {
const l = e[a];
let c, h, u = -1, d = 0;
for (; d < l.length && (o.lastIndex = d, h = o.exec(l), h !== null); )
d = o.lastIndex, o === cn ? h[1] === "!--" ? o = Cl : h[1] !== void 0 ? o = Ml : h[2] !== void 0 ? (ru.test(h[2]) && (s = RegExp("</" + h[2], "g")), o = Ze) : h[3] !== void 0 && (o = Ze) : o === Ze ? h[0] === ">" ? (o = s ?? cn, u = -1) : h[1] === void 0 ? u = -2 : (u = o.lastIndex - h[2].length, c = h[1], o = h[3] === void 0 ? Ze : h[3] === '"' ? Ol : Al) : o === Ol || o === Al ? o = Ze : o === Cl || o === Ml ? o = cn : (o = Ze, s = void 0);
const f = o === Ze && e[a + 1].startsWith("/>") ? " " : "";
r += o === cn ? l + qf : u >= 0 ? (n.push(c), l.slice(0, u) + iu + l.slice(u) + Le + f) : l + Le + (u === -2 ? a : f);
}
return [ou(e, r + (e[i] || "<?>") + (t === 2 ? "</svg>" : "")), n];
};
class Hn {
constructor({ strings: t, _$litType$: i }, n) {
let s;
this.parts = [];
let r = 0, o = 0;
const a = t.length - 1, l = this.parts, [c, h] = Kf(t, i);
if (this.el = Hn.createElement(c, n), oi.currentNode = this.el.content, i === 2) {
const u = this.el.content.firstChild;
u.replaceWith(...u.childNodes);
}
for (; (s = oi.nextNode()) !== null && l.length < a; ) {
if (s.nodeType === 1) {
if (s.hasAttributes())
for (const u of s.getAttributeNames())
if (u.endsWith(iu)) {
const d = h[o++], f = s.getAttribute(u).split(Le), p = /([.?@])?(.*)/.exec(d);
l.push({ type: 1, index: r, name: p[2], strings: f, ctor: p[1] === "." ? Zf : p[1] === "?" ? Jf : p[1] === "@" ? Qf : jr }), s.removeAttribute(u);
} else
u.startsWith(Le) && (l.push({ type: 6, index: r }), s.removeAttribute(u));
if (ru.test(s.tagName)) {
const u = s.textContent.split(Le), d = u.length - 1;
if (d > 0) {
s.textContent = ir ? ir.emptyScript : "";
for (let f = 0; f < d; f++)
s.append(u[f], Bn()), oi.nextNode(), l.push({ type: 2, index: ++r });
s.append(u[d], Bn());
}
}
} else if (s.nodeType === 8)
if (s.data === nu)
l.push({ type: 2, index: r });
else {
let u = -1;
for (; (u = s.data.indexOf(Le, u + 1)) !== -1; )
l.push({ type: 7, index: r }), u += Le.length - 1;
}
r++;
}
}
static createElement(t, i) {
const n = gi.createElement("template");
return n.innerHTML = t, n;
}
}
function Bi(e, t, i = e, n) {
var o, a;
if (t === Bt)
return t;
let s = n !== void 0 ? (o = i._$Co) == null ? void 0 : o[n] : i._$Cl;
const r = Vn(t) ? void 0 : t._$litDirective$;
return (s == null ? void 0 : s.constructor) !== r && ((a = s == null ? void 0 : s._$AO) == null || a.call(s, !1), r === void 0 ? s = void 0 : (s = new r(e), s._$AT(e, i, n)), n !== void 0 ? (i._$Co ?? (i._$Co = []))[n] = s : i._$Cl = s), s !== void 0 && (t = Bi(e, s._$AS(e, t.values), s, n)), t;
}
class Gf {
constructor(t, i) {
this._$AV = [], this._$AN = void 0, this._$AD = t, this._$AM = i;
}
get parentNode() {
return this._$AM.parentNode;
}
get _$AU() {
return this._$AM._$AU;
}
u(t) {
const { el: { content: i }, parts: n } = this._$AD, s = ((t == null ? void 0 : t.creationScope) ?? gi).importNode(i, !0);
oi.currentNode = s;
let r = oi.nextNode(), o = 0, a = 0, l = n[0];
for (; l !== void 0; ) {
if (o === l.index) {
let c;
l.type === 2 ? c = new is(r, r.nextSibling, this, t) : l.type === 1 ? c = new l.ctor(r, l.name, l.strings, this, t) : l.type === 6 && (c = new tp(r, this, t)), this._$AV.push(c), l = n[++a];
}
o !== (l == null ? void 0 : l.index) && (r = oi.nextNode(), o++);
}
return oi.currentNode = gi, s;
}
p(t) {
let i = 0;
for (const n of this._$AV)
n !== void 0 && (n.strings !== void 0 ? (n._$AI(t, n, i), i += n.strings.length - 2) : n._$AI(t[i])), i++;
}
}
class is {
get _$AU() {
var t;
return ((t = this._$AM) == null ? void 0 : t._$AU) ?? this._$Cv;
}
constructor(t, i, n, s) {
this.type = 2, this._$AH = lt, this._$AN = void 0, this._$AA = t, this._$AB = i, this._$AM = n, this.options = s, this._$Cv = (s == null ? void 0 : s.isConnected) ?? !0;
}
get parentNode() {
let t = this._$AA.parentNode;
const i = this._$AM;
return i !== void 0 && (t == null ? void 0 : t.nodeType) === 11 && (t = i.parentNode), t;
}
get startNode() {
return this._$AA;
}
get endNode() {
return this._$AB;
}
_$AI(t, i = this) {
t = Bi(this, t, i), Vn(t) ? t === lt || t == null || t === "" ? (this._$AH !== lt && this._$AR(), this._$AH = lt) : t !== this._$AH && t !== Bt && this._(t) : t._$litType$ !== void 0 ? this.$(t) : t.nodeType !== void 0 ? this.T(t) : Xf(t) ? this.k(t) : this._(t);
}
S(t) {
return this._$AA.parentNode.insertBefore(t, this._$AB);
}
T(t) {
this._$AH !== t && (this._$AR(), this._$AH = this.S(t));
}
_(t) {
this._$AH !== lt && Vn(this._$AH) ? this._$AA.nextSibling.data = t : this.T(gi.createTextNode(t)), this._$AH = t;
}
$(t) {
var r;
const { values: i, _$litType$: n } = t, s = typeof n == "number" ? this._$AC(t) : (n.el === void 0 && (n.el = Hn.createElement(ou(n.h, n.h[0]), this.options)), n);
if (((r = this._$AH) == null ? void 0 : r._$AD) === s)
this._$AH.p(i);
else {
const o = new Gf(s, this), a = o.u(this.options);
o.p(i), this.T(a), this._$AH = o;
}
}
_$AC(t) {
let i = Dl.get(t.strings);
return i === void 0 && Dl.set(t.strings, i = new Hn(t)), i;
}
k(t) {
su(this._$AH) || (this._$AH = [], this._$AR());
const i = this._$AH;
let n, s = 0;
for (const r of t)
s === i.length ? i.push(n = new is(this.S(Bn()), this.S(Bn()), this, this.options)) : n = i[s], n._$AI(r), s++;
s < i.length && (this._$AR(n && n._$AB.nextSibling, s), i.length = s);
}
_$AR(t = this._$AA.nextSibling, i) {
var n;
for ((n = this._$AP) == null ? void 0 : n.call(this, !1, !0, i); t && t !== this._$AB; ) {
const s = t.nextSibling;
t.remove(), t = s;
}
}
setConnected(t) {
var i;
this._$AM === void 0 && (this._$Cv = t, (i = this._$AP) == null || i.call(this, t));
}
}
class jr {
get tagName() {
return this.element.tagName;
}
get _$AU() {
return this._$AM._$AU;
}
constructor(t, i, n, s, r) {
this.type = 1, this._$AH = lt, this._$AN = void 0, this.element = t, this.name = i, this._$AM = s, this.options = r, n.length > 2 || n[0] !== "" || n[1] !== "" ? (this._$AH = Array(n.length - 1).fill(new String()), this.strings = n) : this._$AH = lt;
}
_$AI(t, i = this, n, s) {
const r = this.strings;
let o = !1;
if (r === void 0)
t = Bi(this, t, i, 0), o = !Vn(t) || t !== this._$AH && t !== Bt, o && (this._$AH = t);
else {
const a = t;
let l, c;
for (t = r[0], l = 0; l < r.length - 1; l++)
c = Bi(this, a[n + l], i, l), c === Bt && (c = this._$AH[l]), o || (o = !Vn(c) || c !== this._$AH[l]), c === lt ? t = lt : t !== lt && (t += (c ?? "") + r[l + 1]), this._$AH[l] = c;
}
o && !s && this.j(t);
}
j(t) {
t === lt ? this.element.removeAttribute(this.name) : this.element.setAttribute(this.name, t ?? "");
}
}
class Zf extends jr {
constructor() {
super(...arguments), this.type = 3;
}
j(t) {
this.element[this.name] = t === lt ? void 0 : t;
}
}
class Jf extends jr {
constructor() {
super(...arguments), this.type = 4;
}
j(t) {
this.element.toggleAttribute(this.name, !!t && t !== lt);
}
}
class Qf extends jr {
constructor(t, i, n, s, r) {
super(t, i, n, s, r), this.type = 5;
}
_$AI(t, i = this) {
if ((t = Bi(this, t, i, 0) ?? lt) === Bt)
return;
const n = this._$AH, s = t === lt && n !== lt || t.capture !== n.capture || t.once !== n.once || t.passive !== n.passive, r = t !== lt && (n === lt || s);
s && this.element.removeEventListener(this.name, this, n), r && this.element.addEventListener(this.name, this, t), this._$AH = t;
}
handleEvent(t) {
var i;
typeof this._$AH == "function" ? this._$AH.call(((i = this.options) == null ? void 0 : i.host) ?? this.element, t) : this._$AH.handleEvent(t);
}
}
class tp {
constructor(t, i, n) {
this.element = t, this.type = 6, this._$AN = void 0, this._$AM = i, this.options = n;
}
get _$AU() {
return this._$AM._$AU;
}
_$AI(t) {
Bi(this, t);
}
}
const oo = zn.litHtmlPolyfillSupport;
oo == null || oo(Hn, is), (zn.litHtmlVersions ?? (zn.litHtmlVersions = [])).push("3.1.3");
const ep = (e, t, i) => {
const n = (i == null ? void 0 : i.renderBefore) ?? t;
let s = n._$litPart$;
if (s === void 0) {
const r = (i == null ? void 0 : i.renderBefore) ?? null;
n._$litPart$ = s = new is(t.insertBefore(Bn(), r), r, void 0, i ?? {});
}
return s._$AI(e), s;
};
/**
* @license
* Copyright 2017 Google LLC
* SPDX-License-Identifier: BSD-3-Clause
*/
let hi = class extends Ei {
constructor() {
super(...arguments), this.renderOptions = { host: this }, this._$Do = void 0;
}
createRenderRoot() {
var i;
const t = super.createRenderRoot();
return (i = this.renderOptions).renderBefore ?? (i.renderBefore = t.firstChild), t;
}
update(t) {
const i = this.render();
this.hasUpdated || (this.renderOptions.isConnected = this.isConnected), super.update(t), this._$Do = ep(i, this.renderRoot, this.renderOptions);
}
connectedCallback() {
var t;
super.connectedCallback(), (t = this._$Do) == null || t.setConnected(!0);
}
disconnectedCallback() {
var t;
super.disconnectedCallback(), (t = this._$Do) == null || t.setConnected(!1);
}
render() {
return Bt;
}
};
var Qh;
hi._$litElement$ = !0, hi.finalized = !0, (Qh = globalThis.litElementHydrateSupport) == null || Qh.call(globalThis, { LitElement: hi });
const ao = globalThis.litElementPolyfillSupport;
ao == null || ao({ LitElement: hi });
(globalThis.litElementVersions ?? (globalThis.litElementVersions = [])).push("4.0.5");
/**
* @license
* Copyright 2017 Google LLC
* SPDX-License-Identifier: BSD-3-Clause
*/
const gt = (e) => (t, i) => {
i !== void 0 ? i.addInitializer(() => {
customElements.define(e, t);
}) : customElements.define(e, t);
};
/**
* @license
* Copyright 2017 Google LLC
* SPDX-License-Identifier: BSD-3-Clause
*/
const ip = { attribute: !0, type: String, converter: Ni, reflect: !1, hasChanged: Ta }, np = (e = ip, t, i) => {
const { kind: n, metadata: s } = i;
let r = globalThis.litPropertyMetadata.get(s);
if (r === void 0 && globalThis.litPropertyMetadata.set(s, r = /* @__PURE__ */ new Map()), r.set(i.name, e), n === "accessor") {
const { name: o } = i;
return { set(a) {
const l = t.get.call(this);
t.set.call(this, a), this.requestUpdate(o, l, e);
}, init(a) {
return a !== void 0 && this.P(o, void 0, e), a;
} };
}
if (n === "setter") {
const { name: o } = i;
return function(a) {
const l = this[o];
t.call(this, a), this.requestUpdate(o, l, e);
};
}
throw Error("Unsupported decorator location: " + n);
};
function k(e) {
return (t, i) => typeof i == "object" ? np(e, t, i) : ((n, s, r) => {
const o = s.hasOwnProperty(r);
return s.constructor.createProperty(r, o ? { ...n, wrapped: !0 } : n), o ? Object.getOwnPropertyDescriptor(s, r) : void 0;
})(e, t, i);
}
/**
* @license
* Copyright 2017 Google LLC
* SPDX-License-Identifier: BSD-3-Clause
*/
function X(e) {
return k({ ...e, state: !0, attribute: !1 });
}
/**
* @license
* Copyright 2017 Google LLC
* SPDX-License-Identifier: BSD-3-Clause
*/
function au(e) {
return (t, i) => {
const n = typeof t == "function" ? t : t[i];
Object.assign(n, e);
};
}
/**
* @license
* Copyright 2017 Google LLC
* SPDX-License-Identifier: BSD-3-Clause
*/
const Pl = (e, t, i) => (i.configurable = !0, i.enumerable = !0, Reflect.decorate && typeof t != "object" && Object.defineProperty(e, t, i), i);
/**
* @license
* Copyright 2017 Google LLC
* SPDX-License-Identifier: BSD-3-Clause
*/
function nt(e, t) {
return (i, n, s) => {
const r = (o) => {
var a;
return ((a = o.renderRoot) == null ? void 0 : a.querySelector(e)) ?? null;
};
if (t) {
const { get: o, set: a } = typeof n == "object" ? i : s ?? (() => {
const l = Symbol();
return { get() {
return this[l];
}, set(c) {
this[l] = c;
} };
})();
return Pl(i, n, { get() {
let l = o.call(this);
return l === void 0 && (l = r(this), (l !== null || this.hasUpdated) && a.call(this, l)), l;
} });
}
return Pl(i, n, { get() {
return r(this);
} });
};
}
var _i = typeof globalThis < "u" ? globalThis : typeof window < "u" ? window : typeof global < "u" ? global : typeof self < "u" ? self : {};
function sp(e) {
if (e.__esModule)
return e;
var t = e.default;
if (typeof t == "function") {
var i = function n() {
if (this instanceof n) {
var s = [null];
s.push.apply(s, arguments);
var r = Function.bind.apply(t, s);
return new r();
}
return t.apply(this, arguments);
};
i.prototype = t.prototype;
} else
i = {};
return Object.defineProperty(i, "__esModule", { value: !0 }), Object.keys(e).forEach(function(n) {
var s = Object.getOwnPropertyDescriptor(e, n);
Object.defineProperty(i, n, s.get ? s : {
enumerable: !0,
get: function() {
return e[n];
}
});
}), i;
}
var zo = {}, rp = {
get exports() {
return zo;
},
set exports(e) {
zo = e;
}
};
(function(e) {
(function(t, i, n) {
function s(l) {
var c = this, h = a();
c.next = function() {
var u = 2091639 * c.s0 + c.c * 23283064365386963e-26;
return c.s0 = c.s1, c.s1 = c.s2, c.s2 = u - (c.c = u | 0);
}, c.c = 1, c.s0 = h(" "), c.s1 = h(" "), c.s2 = h(" "), c.s0 -= h(l), c.s0 < 0 && (c.s0 += 1), c.s1 -= h(l), c.s1 < 0 && (c.s1 += 1), c.s2 -= h(l), c.s2 < 0 && (c.s2 += 1), h = null;
}
function r(l, c) {
return c.c = l.c, c.s0 = l.s0, c.s1 = l.s1, c.s2 = l.s2, c;
}
function o(l, c) {
var h = new s(l), u = c && c.state, d = h.next;
return d.int32 = function() {
return h.next() * 4294967296 | 0;
}, d.double = function() {
return d() + (d() * 2097152 | 0) * 11102230246251565e-32;
}, d.quick = d, u && (typeof u == "object" && r(u, h), d.state = function() {
return r(h, {});
}), d;
}
function a() {
var l = 4022871197, c = function(h) {
h = String(h);
for (var u = 0; u < h.length; u++) {
l += h.charCodeAt(u);
var d = 0.02519603282416938 * l;
l = d >>> 0, d -= l, d *= l, l = d >>> 0, d -= l, l += d * 4294967296;
}
return (l >>> 0) * 23283064365386963e-26;
};
return c;
}
i && i.exports ? i.exports = o : n && n.amd ? n(function() {
return o;
}) : this.alea = o;
})(
_i,
e,
// present in node.js
!1
// present with an AMD loader
);
})(rp);
var Lo = {}, op = {
get exports() {
return Lo;
},
set exports(e) {
Lo = e;
}
};
(function(e) {
(function(t, i, n) {
function s(a) {
var l = this, c = "";
l.x = 0, l.y = 0, l.z = 0, l.w = 0, l.next = function() {
var u = l.x ^ l.x << 11;
return l.x = l.y, l.y = l.z, l.z = l.w, l.w ^= l.w >>> 19 ^ u ^ u >>> 8;
}, a === (a | 0) ? l.x = a : c += a;
for (var h = 0; h < c.length + 64; h++)
l.x ^= c.charCodeAt(h) | 0, l.next();
}
function r(a, l) {
return l.x = a.x, l.y = a.y, l.z = a.z, l.w = a.w, l;
}
function o(a, l) {
var c = new s(a), h = l && l.state, u = function() {
return (c.next() >>> 0) / 4294967296;
};
return u.double = function() {
do
var d = c.next() >>> 11, f = (c.next() >>> 0) / 4294967296, p = (d + f) / (1 << 21);
while (p === 0);
return p;
}, u.int32 = c.next, u.quick = u, h && (typeof h == "object" && r(h, c), u.state = function() {
return r(c, {});
}), u;
}
i && i.exports ? i.exports = o : n && n.amd ? n(function() {
return o;
}) : this.xor128 = o;
})(
_i,
e,
// present in node.js
!1
// present with an AMD loader
);
})(op);
var Ro = {}, ap = {
get exports() {
return Ro;
},
set exports(e) {
Ro = e;
}
};
(function(e) {
(function(t, i, n) {
function s(a) {
var l = this, c = "";
l.next = function() {
var u = l.x ^ l.x >>> 2;
return l.x = l.y, l.y = l.z, l.z = l.w, l.w = l.v, (l.d = l.d + 362437 | 0) + (l.v = l.v ^ l.v << 4 ^ (u ^ u << 1)) | 0;
}, l.x = 0, l.y = 0, l.z = 0, l.w = 0, l.v = 0, a === (a | 0) ? l.x = a : c += a;
for (var h = 0; h < c.length + 64; h++)
l.x ^= c.charCodeAt(h) | 0, h == c.length && (l.d = l.x << 10 ^ l.x >>> 4), l.next();
}
function r(a, l) {
return l.x = a.x, l.y = a.y, l.z = a.z, l.w = a.w, l.v = a.v, l.d = a.d, l;
}
function o(a, l) {
var c = new s(a), h = l && l.state, u = function() {
return (c.next() >>> 0) / 4294967296;
};
return u.double = function() {
do
var d = c.next() >>> 11, f = (c.next() >>> 0) / 4294967296, p = (d + f) / (1 << 21);
while (p === 0);
return p;
}, u.int32 = c.next, u.quick = u, h && (typeof h == "object" && r(h, c), u.state = function() {
return r(c, {});
}), u;
}
i && i.exports ? i.exports = o : n && n.amd ? n(function() {
return o;
}) : this.xorwow = o;
})(
_i,
e,
// present in node.js
!1
// present with an AMD loader
);
})(ap);
var Fo = {}, lp = {
get exports() {
return Fo;
},
set exports(e) {
Fo = e;
}
};
(function(e) {
(function(t, i, n) {
function s(a) {
var l = this;
l.next = function() {
var h = l.x, u = l.i, d, f;
return d = h[u], d ^= d >>> 7, f = d ^ d << 24, d = h[u + 1 & 7], f ^= d ^ d >>> 10, d = h[u + 3 & 7], f ^= d ^ d >>> 3, d = h[u + 4 & 7], f ^= d ^ d << 7, d = h[u + 7 & 7], d = d ^ d << 13, f ^= d ^ d << 9, h[u] = f, l.i = u + 1 & 7, f;
};
function c(h, u) {
var d, f = [];
if (u === (u | 0))
f[0] = u;
else
for (u = "" + u, d = 0; d < u.length; ++d)
f[d & 7] = f[d & 7] << 15 ^ u.charCodeAt(d) + f[d + 1 & 7] << 13;
for (; f.length < 8; )
f.push(0);
for (d = 0; d < 8 && f[d] === 0; ++d)
;
for (d == 8 ? f[7] = -1 : f[d], h.x = f, h.i = 0, d = 256; d > 0; --d)
h.next();
}
c(l, a);
}
function r(a, l) {
return l.x = a.x.slice(), l.i = a.i, l;
}
function o(a, l) {
a == null && (a = +/* @__PURE__ */ new Date());
var c = new s(a), h = l && l.state, u = function() {
return (c.next() >>> 0) / 4294967296;
};
return u.double = function() {
do
var d = c.next() >>> 11, f = (c.next() >>> 0) / 4294967296, p = (d + f) / (1 << 21);
while (p === 0);
return p;
}, u.int32 = c.next, u.quick = u, h && (h.x && r(h, c), u.state = function() {
return r(c, {});
}), u;
}
i && i.exports ? i.exports = o : n && n.amd ? n(function() {
return o;
}) : this.xorshift7 = o;
})(
_i,
e,
// present in node.js
!1
// present with an AMD loader
);
})(lp);
var Io = {}, cp = {
get exports() {
return Io;
},
set exports(e) {
Io = e;
}
};
(function(e) {
(function(t, i, n) {
function s(a) {
var l = this;
l.next = function() {
var h = l.w, u = l.X, d = l.i, f, p;
return l.w = h = h + 1640531527 | 0, p = u[d + 34 & 127], f = u[d = d + 1 & 127], p ^= p << 13, f ^= f << 17, p ^= p >>> 15, f ^= f >>> 12, p = u[d] = p ^ f, l.i = d, p + (h ^ h >>> 16) | 0;
};
function c(h, u) {
var d, f, p, g, m, b = [], y = 128;
for (u === (u | 0) ? (f = u, u = null) : (u = u + "\0", f = 0, y = Math.max(y, u.length)), p = 0, g = -32; g < y; ++g)
u && (f ^= u.charCodeAt((g + 32) % u.length)), g === 0 && (m = f), f ^= f << 10, f ^= f >>> 15, f ^= f << 4, f ^= f >>> 13, g >= 0 && (m = m + 1640531527 | 0, d = b[g & 127] ^= f + m, p = d == 0 ? p + 1 : 0);
for (p >= 128 && (b[(u && u.length || 0) & 127] = -1), p = 127, g = 4 * 128; g > 0; --g)
f = b[p + 34 & 127], d = b[p = p + 1 & 127], f ^= f << 13, d ^= d << 17, f ^= f >>> 15, d ^= d >>> 12, b[p] = f ^ d;
h.w = m, h.X = b, h.i = p;
}
c(l, a);
}
function r(a, l) {
return l.i = a.i, l.w = a.w, l.X = a.X.slice(), l;
}
function o(a, l) {
a == null && (a = +/* @__PURE__ */ new Date());
var c = new s(a), h = l && l.state, u = function() {
return (c.next() >>> 0) / 4294967296;
};
return u.double = function() {
do
var d = c.next() >>> 11, f = (c.next() >>> 0) / 4294967296, p = (d + f) / (1 << 21);
while (p === 0);
return p;
}, u.int32 = c.next, u.quick = u, h && (h.X && r(h, c), u.state = function() {
return r(c, {});
}), u;
}
i && i.exports ? i.exports = o : n && n.amd ? n(function() {
return o;
}) : this.xor4096 = o;
})(
_i,
// window object or global
e,
// present in node.js
!1
// present with an AMD loader
);
})(cp);
var No = {}, hp = {
get exports() {
return No;
},
set exports(e) {
No = e;
}
};
(function(e) {
(function(t, i, n) {
function s(a) {
var l = this, c = "";
l.next = function() {
var u = l.b, d = l.c, f = l.d, p = l.a;
return u = u << 25 ^ u >>> 7 ^ d, d = d - f | 0, f = f << 24 ^ f >>> 8 ^ p, p = p - u | 0, l.b = u = u << 20 ^ u >>> 12 ^ d, l.c = d = d - f | 0, l.d = f << 16 ^ d >>> 16 ^ p, l.a = p - u | 0;
}, l.a = 0, l.b = 0, l.c = -1640531527, l.d = 1367130551, a === Math.floor(a) ? (l.a = a / 4294967296 | 0, l.b = a | 0) : c += a;
for (var h = 0; h < c.length + 20; h++)
l.b ^= c.charCodeAt(h) | 0, l.next();
}
function r(a, l) {
return l.a = a.a, l.b = a.b, l.c = a.c, l.d = a.d, l;
}
function o(a, l) {
var c = new s(a), h = l && l.state, u = function() {
return (c.next() >>> 0) / 4294967296;
};
return u.double = function() {
do
var d = c.next() >>> 11, f = (c.next() >>> 0) / 4294967296, p = (d + f) / (1 << 21);
while (p === 0);
return p;
}, u.int32 = c.next, u.quick = u, h && (typeof h == "object" && r(h, c), u.state = function() {
return r(c, {});
}), u;
}
i && i.exports ? i.exports = o : n && n.amd ? n(function() {
return o;
}) : this.tychei = o;
})(
_i,
e,
// present in node.js
!1
// present with an AMD loader
);
})(hp);
var Bo = {}, up = {
get exports() {
return Bo;
},
set exports(e) {
Bo = e;
}
};
const dp = {}, fp = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
__proto__: null,
default: dp
}, Symbol.toStringTag, { value: "Module" })), pp = /* @__PURE__ */ sp(fp);
(function(e) {
(function(t, i, n) {
var s = 256, r = 6, o = 52, a = "random", l = n.pow(s, r), c = n.pow(2, o), h = c * 2, u = s - 1, d;
function f(w, _, x) {
var $ = [];
_ = _ == !0 ? { entropy: !0 } : _ || {};
var C = b(m(
_.entropy ? [w, S(i)] : w ?? y(),
3
), $), A = new p($), D = function() {
for (var M = A.g(r), P = l, z = 0; M < c; )
M = (M + z) * s, P *= s, z = A.g(1);
for (; M >= h; )
M /= 2, P /= 2, z >>>= 1;
return (M + z) / P;
};
return D.int32 = function() {
return A.g(4) | 0;
}, D.quick = function() {
return A.g(4) / 4294967296;
}, D.double = D, b(S(A.S), i), (_.pass || x || function(M, P, z, T) {
return T && (T.S && g(T, A), M.state = function() {
return g(A, {});
}), z ? (n[a] = M, P) : M;
})(
D,
C,
"global" in _ ? _.global : this == n,
_.state
);
}
function p(w) {
var _, x = w.length, $ = this, C = 0, A = $.i = $.j = 0, D = $.S = [];
for (x || (w = [x++]); C < s; )
D[C] = C++;
for (C = 0; C < s; C++)
D[C] = D[A = u & A + w[C % x] + (_ = D[C])], D[A] = _;
($.g = function(M) {
for (var P, z = 0, T = $.i, L = $.j, R = $.S; M--; )
P = R[T = u & T + 1], z = z * s + R[u & (R[T] = R[L = u & L + P]) + (R[L] = P)];
return $.i = T, $.j = L, z;
})(s);
}
function g(w, _) {
return _.i = w.i, _.j = w.j, _.S = w.S.slice(), _;
}
function m(w, _) {
var x = [], $ = typeof w, C;
if (_ && $ == "object")
for (C in w)
try {
x.push(m(w[C], _ - 1));
} catch {
}
return x.length ? x : $ == "string" ? w : w + "\0";
}
function b(w, _) {
for (var x = w + "", $, C = 0; C < x.length; )
_[u & C] = u & ($ ^= _[u & C] * 19) + x.charCodeAt(C++);
return S(_);
}
function y() {
try {
var w;
return d && (w = d.randomBytes) ? w = w(s) : (w = new Uint8Array(s), (t.crypto || t.msCrypto).getRandomValues(w)), S(w);
} catch {
var _ = t.navigator, x = _ && _.plugins;
return [+/* @__PURE__ */ new Date(), t, x, t.screen, S(i)];
}
}
function S(w) {
return String.fromCharCode.apply(0, w);
}
if (b(n.random(), i), e.exports) {
e.exports = f;
try {
d = pp;
} catch {
}
} else
n["seed" + a] = f;
})(
// global: `self` in browsers (including strict mode and web workers),
// otherwise `this` in Node and other environments
typeof self < "u" ? self : _i,
[],
// pool: entropy pool starts empty
Math
// math: package containing random, pow, and seedrandom
);
})(up);
var gp = zo, mp = Lo, bp = Ro, vp = Fo, yp = Io, xp = No, wi = Bo;
wi.alea = gp;
wi.xor128 = mp;
wi.xorwow = bp;
wi.xorshift7 = vp;
wi.xor4096 = yp;
wi.tychei = xp;
var _p = wi, wp = _p, Vo = [
// Borrowed from xkcd password generator which borrowed it from wherever
"ability",
"able",
"aboard",
"about",
"above",
"accept",
"accident",
"according",
"account",
"accurate",
"acres",
"across",
"act",
"action",
"active",
"activity",
"actual",
"actually",
"add",
"addition",
"additional",
"adjective",
"adult",
"adventure",
"advice",
"affect",
"afraid",
"after",
"afternoon",
"again",
"against",
"age",
"ago",
"agree",
"ahead",
"aid",
"air",
"airplane",
"alike",
"alive",
"all",
"allow",
"almost",
"alone",
"along",
"aloud",
"alphabet",
"already",
"also",
"although",
"am",
"among",
"amount",
"ancient",
"angle",
"angry",
"animal",
"announced",
"another",
"answer",
"ants",
"any",
"anybody",
"anyone",
"anything",
"anyway",
"anywhere",
"apart",
"apartment",
"appearance",
"apple",
"applied",
"appropriate",
"are",
"area",
"arm",
"army",
"around",
"arrange",
"arrangement",
"arrive",
"arrow",
"art",
"article",
"as",
"aside",
"ask",
"asleep",
"at",
"ate",
"atmosphere",
"atom",
"atomic",
"attached",
"attack",
"attempt",
"attention",
"audience",
"author",
"automobile",
"available",
"average",
"avoid",
"aware",
"away",
"baby",
"back",
"bad",
"badly",
"bag",
"balance",
"ball",
"balloon",
"band",
"bank",
"bar",
"bare",
"bark",
"barn",
"base",
"baseball",
"basic",
"basis",
"basket",
"bat",
"battle",
"be",
"bean",
"bear",
"beat",
"beautiful",
"beauty",
"became",
"because",
"become",
"becoming",
"bee",
"been",
"before",
"began",
"beginning",
"begun",
"behavior",
"behind",
"being",
"believed",
"bell",
"belong",
"below",
"belt",
"bend",
"beneath",
"bent",
"beside",
"best",
"bet",
"better",
"between",
"beyond",
"bicycle",
"bigger",
"biggest",
"bill",
"birds",
"birth",
"birthday",
"bit",
"bite",
"black",
"blank",
"blanket",
"blew",
"blind",
"block",
"blood",
"blow",
"blue",
"board",
"boat",
"body",
"bone",
"book",
"border",
"born",
"both",
"bottle",
"bottom",
"bound",
"bow",
"bowl",
"box",
"boy",
"brain",
"branch",
"brass",
"brave",
"bread",
"break",
"breakfast",
"breath",
"breathe",
"breathing",
"breeze",
"brick",
"bridge",
"brief",
"bright",
"bring",
"broad",
"broke",
"broken",
"brother",
"brought",
"brown",
"brush",
"buffalo",
"build",
"building",
"built",
"buried",
"burn",
"burst",
"bus",
"bush",
"business",
"busy",
"but",
"butter",
"buy",
"by",
"cabin",
"cage",
"cake",
"call",
"calm",
"came",
"camera",
"camp",
"can",
"canal",
"cannot",
"cap",
"capital",
"captain",
"captured",
"car",
"carbon",
"card",
"care",
"careful",
"carefully",
"carried",
"carry",
"case",
"cast",
"castle",
"cat",
"catch",
"cattle",
"caught",
"cause",
"cave",
"cell",
"cent",
"center",
"central",
"century",
"certain",
"certainly",
"chain",
"chair",
"chamber",
"chance",
"change",
"changing",
"chapter",
"character",
"characteristic",
"charge",
"chart",
"check",
"cheese",
"chemical",
"chest",
"chicken",
"chief",
"child",
"children",
"choice",
"choose",
"chose",
"chosen",
"church",
"circle",
"circus",
"citizen",
"city",
"class",
"classroom",
"claws",
"clay",
"clean",
"clear",
"clearly",
"climate",
"climb",
"clock",
"close",
"closely",
"closer",
"cloth",
"clothes",
"clothing",
"cloud",
"club",
"coach",
"coal",
"coast",
"coat",
"coffee",
"cold",
"collect",
"college",
"colony",
"color",
"column",
"combination",
"combine",
"come",
"comfortable",
"coming",
"command",
"common",
"community",
"company",
"compare",
"compass",
"complete",
"completely",
"complex",
"composed",
"composition",
"compound",
"concerned",
"condition",
"congress",
"connected",
"consider",
"consist",
"consonant",
"constantly",
"construction",
"contain",
"continent",
"continued",
"contrast",
"control",
"conversation",
"cook",
"cookies",
"cool",
"copper",
"copy",
"corn",
"corner",
"correct",
"correctly",
"cost",
"cotton",
"could",
"count",
"country",
"couple",
"courage",
"course",
"court",
"cover",
"cow",
"cowboy",
"crack",
"cream",
"create",
"creature",
"crew",
"crop",
"cross",
"crowd",
"cry",
"cup",
"curious",
"current",
"curve",
"customs",
"cut",
"cutting",
"daily",
"damage",
"dance",
"danger",
"dangerous",
"dark",
"darkness",
"date",
"daughter",
"dawn",
"day",
"dead",
"deal",
"dear",
"death",
"decide",
"declared",
"deep",
"deeply",
"deer",
"definition",
"degree",
"depend",
"depth",
"describe",
"desert",
"design",
"desk",
"detail",
"determine",
"develop",
"development",
"diagram",
"diameter",
"did",
"die",
"differ",
"difference",
"different",
"difficult",
"difficulty",
"dig",
"dinner",
"direct",
"direction",
"directly",
"dirt",
"dirty",
"disappear",
"discover",
"discovery",
"discuss",
"discussion",
"disease",
"dish",
"distance",
"distant",
"divide",
"division",
"do",
"doctor",
"does",
"dog",
"doing",
"doll",
"dollar",
"done",
"donkey",
"door",
"dot",
"double",
"doubt",
"down",
"dozen",
"draw",
"drawn",
"dream",
"dress",
"drew",
"dried",
"drink",
"drive",
"driven",
"driver",
"driving",
"drop",
"dropped",
"drove",
"dry",
"duck",
"due",
"dug",
"dull",
"during",
"dust",
"duty",
"each",
"eager",
"ear",
"earlier",
"early",
"earn",
"earth",
"easier",
"easily",
"east",
"easy",
"eat",
"eaten",
"edge",
"education",
"effect",
"effort",
"egg",
"eight",
"either",
"electric",
"electricity",
"element",
"elephant",
"eleven",
"else",
"empty",
"end",
"enemy",
"energy",
"engine",
"engineer",
"enjoy",
"enough",
"enter",
"entire",
"entirely",
"environment",
"equal",
"equally",
"equator",
"equipment",
"escape",
"especially",
"essential",
"establish",
"even",
"evening",
"event",
"eventually",
"ever",
"every",
"everybody",
"everyone",
"everything",
"everywhere",
"evidence",
"exact",
"exactly",
"examine",
"example",
"excellent",
"except",
"exchange",
"excited",
"excitement",
"exciting",
"exclaimed",
"exercise",
"exist",
"expect",
"experience",
"experiment",
"explain",
"explanation",
"explore",
"express",
"expression",
"extra",
"eye",
"face",
"facing",
"fact",
"factor",
"factory",
"failed",
"fair",
"fairly",
"fall",
"fallen",
"familiar",
"family",
"famous",
"far",
"farm",
"farmer",
"farther",
"fast",
"fastened",
"faster",
"fat",
"father",
"favorite",
"fear",
"feathers",
"feature",
"fed",
"feed",
"feel",
"feet",
"fell",
"fellow",
"felt",
"fence",
"few",
"fewer",
"field",
"fierce",
"fifteen",
"fifth",
"fifty",
"fight",
"fighting",
"figure",
"fill",
"film",
"final",
"finally",
"find",
"fine",
"finest",
"finger",
"finish",
"fire",
"fireplace",
"firm",
"first",
"fish",
"five",
"fix",
"flag",
"flame",
"flat",
"flew",
"flies",
"flight",
"floating",
"floor",
"flow",
"flower",
"fly",
"fog",
"folks",
"follow",
"food",
"foot",
"football",
"for",
"force",
"foreign",
"forest",
"forget",
"forgot",
"forgotten",
"form",
"former",
"fort",
"forth",
"forty",
"forward",
"fought",
"found",
"four",
"fourth",
"fox",
"frame",
"free",
"freedom",
"frequently",
"fresh",
"friend",
"friendly",
"frighten",
"frog",
"from",
"front",
"frozen",
"fruit",
"fuel",
"full",
"fully",
"fun",
"function",
"funny",
"fur",
"furniture",
"further",
"future",
"gain",
"game",
"garage",
"garden",
"gas",
"gasoline",
"gate",
"gather",
"gave",
"general",
"generally",
"gentle",
"gently",
"get",
"getting",
"giant",
"gift",
"girl",
"give",
"given",
"giving",
"glad",
"glass",
"globe",
"go",
"goes",
"gold",
"golden",
"gone",
"good",
"goose",
"got",
"government",
"grabbed",
"grade",
"gradually",
"grain",
"grandfather",
"grandmother",
"graph",
"grass",
"gravity",
"gray",
"great",
"greater",
"greatest",
"greatly",
"green",
"grew",
"ground",
"group",
"grow",
"grown",
"growth",
"guard",
"guess",
"guide",
"gulf",
"gun",
"habit",
"had",
"hair",
"half",
"halfway",
"hall",
"hand",
"handle",
"handsome",
"hang",
"happen",
"happened",
"happily",
"happy",
"harbor",
"hard",
"harder",
"hardly",
"has",
"hat",
"have",
"having",
"hay",
"he",
"headed",
"heading",
"health",
"heard",
"hearing",
"heart",
"heat",
"heavy",
"height",
"held",
"hello",
"help",
"helpful",
"her",
"herd",
"here",
"herself",
"hidden",
"hide",
"high",
"higher",
"highest",
"highway",
"hill",
"him",
"himself",
"his",
"history",
"hit",
"hold",
"hole",
"hollow",
"home",
"honor",
"hope",
"horn",
"horse",
"hospital",
"hot",
"hour",
"house",
"how",
"however",
"huge",
"human",
"hundred",
"hung",
"hungry",
"hunt",
"hunter",
"hurried",
"hurry",
"hurt",
"husband",
"ice",
"idea",
"identity",
"if",
"ill",
"image",
"imagine",
"immediately",
"importance",
"important",
"impossible",
"improve",
"in",
"inch",
"include",
"including",
"income",
"increase",
"indeed",
"independent",
"indicate",
"individual",
"industrial",
"industry",
"influence",
"information",
"inside",
"instance",
"instant",
"instead",
"instrument",
"interest",
"interior",
"into",
"introduced",
"invented",
"involved",
"iron",
"is",
"island",
"it",
"its",
"itself",
"jack",
"jar",
"jet",
"job",
"join",
"joined",
"journey",
"joy",
"judge",
"jump",
"jungle",
"just",
"keep",
"kept",
"key",
"kids",
"kill",
"kind",
"kitchen",
"knew",
"knife",
"know",
"knowledge",
"known",
"label",
"labor",
"lack",
"lady",
"laid",
"lake",
"lamp",
"land",
"language",
"large",
"larger",
"largest",
"last",
"late",
"later",
"laugh",
"law",
"lay",
"layers",
"lead",
"leader",
"leaf",
"learn",
"least",
"leather",
"leave",
"leaving",
"led",
"left",
"leg",
"length",
"lesson",
"let",
"letter",
"level",
"library",
"lie",
"life",
"lift",
"light",
"like",
"likely",
"limited",
"line",
"lion",
"lips",
"liquid",
"list",
"listen",
"little",
"live",
"living",
"load",
"local",
"locate",
"location",
"log",
"lonely",
"long",
"longer",
"look",
"loose",
"lose",
"loss",
"lost",
"lot",
"loud",
"love",
"lovely",
"low",
"lower",
"luck",
"lucky",
"lunch",
"lungs",
"lying",
"machine",
"machinery",
"mad",
"made",
"magic",
"magnet",
"mail",
"main",
"mainly",
"major",
"make",
"making",
"man",
"managed",
"manner",
"manufacturing",
"many",
"map",
"mark",
"market",
"married",
"mass",
"massage",
"master",
"material",
"mathematics",
"matter",
"may",
"maybe",
"me",
"meal",
"mean",
"means",
"meant",
"measure",
"meat",
"medicine",
"meet",