diff --git a/botanjs/__init__.py b/botanjs/old/__init__.py
similarity index 100%
rename from botanjs/__init__.py
rename to botanjs/old/__init__.py
diff --git a/botanjs/classmap.py b/botanjs/old/classmap.py
similarity index 100%
rename from botanjs/classmap.py
rename to botanjs/old/classmap.py
diff --git a/botanjs/compressor/__init__.py b/botanjs/old/compressor/__init__.py
similarity index 100%
rename from botanjs/compressor/__init__.py
rename to botanjs/old/compressor/__init__.py
diff --git a/botanjs/compressor/closure.py b/botanjs/old/compressor/closure.py
similarity index 100%
rename from botanjs/compressor/closure.py
rename to botanjs/old/compressor/closure.py
diff --git a/botanjs/compressor/yui.py b/botanjs/old/compressor/yui.py
similarity index 100%
rename from botanjs/compressor/yui.py
rename to botanjs/old/compressor/yui.py
diff --git a/botanjs/config.py b/botanjs/old/config.py
similarity index 100%
rename from botanjs/config.py
rename to botanjs/old/config.py
diff --git a/botanjs/dummy.py b/botanjs/old/dummy.py
similarity index 100%
rename from botanjs/dummy.py
rename to botanjs/old/dummy.py
diff --git a/botanjs/service/__init__.py b/botanjs/old/service/__init__.py
similarity index 100%
rename from botanjs/service/__init__.py
rename to botanjs/old/service/__init__.py
diff --git a/botanjs/service/jclassresv.py b/botanjs/old/service/jclassresv.py
similarity index 100%
rename from botanjs/service/jclassresv.py
rename to botanjs/old/service/jclassresv.py
diff --git a/botanjs/service/jwork.py b/botanjs/old/service/jwork.py
similarity index 100%
rename from botanjs/service/jwork.py
rename to botanjs/old/service/jwork.py
diff --git a/botanjs/service/webapi.py b/botanjs/old/service/webapi.py
similarity index 100%
rename from botanjs/service/webapi.py
rename to botanjs/old/service/webapi.py
diff --git a/botanjs/utils.py b/botanjs/old/utils.py
similarity index 100%
rename from botanjs/utils.py
rename to botanjs/old/utils.py
diff --git a/botanres-go/README.md b/botanres-go/README.md
new file mode 100644
index 0000000..db9f965
--- /dev/null
+++ b/botanres-go/README.md
@@ -0,0 +1,48 @@
+# botanres-go
+
+Go rewrite for the old BotanJS dynamic resource resolver.
+
+1. `cmd/botan-gen` scans the JS tree and generates `internal/generated/classmap_gen.go`.
+2. `internal/resolver` resolves requested classes in memory.
+3. `cmd/botan-api` accepts the old-ish URL shape and returns merged JS/CSS content or a hash filename.
+4. Closure/YUI compression is not in this skeleton. The returned merged JS is the right handoff point for a Closure Compiler server.
+
+## Generate the class map
+
+```sh
+go run ./cmd/botan-gen \
+ -src /path/to/BotanJS/src \
+ -out internal/generated/classmap_gen.go
+```
+
+Commit the generated file if the source tree is mostly static. Generate it in CI if the source changes frequently.
+
+## Run API
+
+```sh
+go run ./cmd/botan-api -src /path/to/BotanJS/src -addr :8080
+```
+
+Examples:
+
+```sh
+curl 'http://127.0.0.1:8080/rjs/System'
+curl 'http://127.0.0.1:8080/rcss/BotanJS.Core.Main'
+curl 'http://127.0.0.1:8080/hjs/BotanJS.Core.Main'
+```
+
+Requests support `/` separated plain names, e.g. `A.B.C/A.B.D`, plus old compressed base64+zlib comma-separated payloads.
+Prefix an item with `-` to exclude it.
+
+## What is intentionally different from the Python version
+
+- No XML tree. Symbols are flattened by full namespace name.
+- No per-request classmap reload. Regenerate and restart/redeploy instead.
+- No background compressor. This is a resolver/merger only.
+- Hashes use SHA-1 per file for change detection, then MD5 over the resolved hash list for compatibility-style output names.
+
+## TODO
+
+- Test against the old python resolver output
+- Add an output interface so JS can be piped directly to a Closure Compiler server.
+- Put generated classmap in a separate package if multiple services need to import it.
diff --git a/botanres-go/cmd/botan-api/main.go b/botanres-go/cmd/botan-api/main.go
new file mode 100644
index 0000000..2679453
--- /dev/null
+++ b/botanres-go/cmd/botan-api/main.go
@@ -0,0 +1,75 @@
+package main
+
+import (
+ "flag"
+ "log"
+ "net/http"
+ "strings"
+
+ "github.com/tgckpg/botanres-go/internal/generated"
+ "github.com/tgckpg/botanres-go/internal/resolver"
+)
+
+func main() {
+ addr := flag.String("addr", ":8080", "listen address")
+ src := flag.String("src", "./src", "BotanJS source root")
+ flag.Parse()
+
+ r, err := resolver.New(*src, generated.ClassMap)
+ if err != nil {
+ log.Fatal(err)
+ }
+
+ h := handler{r: r}
+ http.HandleFunc("/", h.index)
+ log.Printf("botan-api listening on %s", *addr)
+ log.Fatal(http.ListenAndServe(*addr, nil))
+}
+
+type handler struct{ r *resolver.Resolver }
+
+func (h handler) index(w http.ResponseWriter, req *http.Request) {
+ path := strings.Trim(req.URL.Path, "/")
+ if path == "" {
+ _, _ = w.Write([]byte("BotanJS Go resolver API\n"))
+ return
+ }
+ parts := strings.SplitN(path, "/", 2)
+ modeText := parts[0]
+ code := ""
+ if len(parts) == 2 {
+ code = parts[1]
+ } else {
+ code = req.URL.Query().Get("p")
+ }
+ if code == "" {
+ http.Error(w, "missing request payload", http.StatusBadRequest)
+ return
+ }
+
+ outMode := resolver.ModeJS
+ if strings.HasSuffix(modeText, "css") {
+ outMode = resolver.ModeCSS
+ } else if !strings.HasSuffix(modeText, "js") {
+ http.Error(w, "invalid mode", http.StatusBadRequest)
+ return
+ }
+
+ res, err := h.r.ResolveRequest(code, outMode, nil)
+ if err != nil {
+ http.Error(w, err.Error(), http.StatusNotFound)
+ return
+ }
+
+ // Compatibility flags:
+ // rjs/rcss/ojs/ocss => content
+ // hjs/hcss => hash filename only
+ // js/css => currently content; cluster compiler can switch this later.
+ if strings.HasPrefix(modeText, "h") {
+ w.Header().Set("Content-Type", "text/plain; charset=utf-8")
+ _, _ = w.Write([]byte(res.Hash))
+ return
+ }
+ w.Header().Set("Content-Type", res.ContentType)
+ _, _ = w.Write(res.Content)
+}
diff --git a/botanres-go/cmd/botan-gen/main.go b/botanres-go/cmd/botan-gen/main.go
new file mode 100644
index 0000000..9625340
--- /dev/null
+++ b/botanres-go/cmd/botan-gen/main.go
@@ -0,0 +1,66 @@
+package main
+
+import (
+ "flag"
+ "fmt"
+ "go/format"
+ "os"
+ "strings"
+
+ "github.com/tgckpg/botanres-go/internal/classmap"
+)
+
+func main() {
+ src := flag.String("src", "./src", "BotanJS source root")
+ out := flag.String("out", "internal/generated/classmap_gen.go", "generated Go output")
+ pkg := flag.String("pkg", "generated", "generated package name")
+ flag.Parse()
+
+ m, err := classmap.Build(*src)
+ if err != nil {
+ fatal(err)
+ }
+ if err := os.MkdirAll(dir(*out), 0o755); err != nil {
+ fatal(err)
+ }
+ code := render(*pkg, m)
+ fmted, err := format.Source([]byte(code))
+ if err != nil {
+ _, _ = os.Stderr.WriteString(code)
+ fatal(err)
+ }
+ if err := os.WriteFile(*out, fmted, 0o644); err != nil {
+ fatal(err)
+ }
+}
+
+func render(pkg string, m *classmap.Map) string {
+ var b strings.Builder
+ b.WriteString("// Code generated by botan-gen; DO NOT EDIT.\n")
+ b.WriteString("package " + pkg + "\n\n")
+ b.WriteString("import \"github.com/tgckpg/botanres-go/internal/classmap\"\n\n")
+ b.WriteString("var ClassMap = &classmap.Map{\nSymbols: map[string]classmap.Symbol{\n")
+ for _, s := range classmap.SortedSymbols(m) {
+ fmt.Fprintf(&b, "%q: {Name:%q, Kind:%q, Parent:%q, Imports:%#v, Resource: classmap.Resource{Src:%q, JSHash:%q, CSSHash:%q}},\n",
+ s.Name, s.Name, string(s.Kind), s.Parent, s.Imports, s.Resource.Src, s.Resource.JSHash, s.Resource.CSSHash)
+ }
+ b.WriteString("},\nFiles: map[string]classmap.Resource{\n")
+ for _, r := range classmap.SortedFiles(m) {
+ fmt.Fprintf(&b, "%q: {Src:%q, JSHash:%q, CSSHash:%q},\n", r.Src, r.Src, r.JSHash, r.CSSHash)
+ }
+ b.WriteString("},\n}\n")
+ return b.String()
+}
+
+func dir(path string) string {
+ idx := strings.LastIndexAny(path, `/\\`)
+ if idx < 0 {
+ return "."
+ }
+ return path[:idx]
+}
+
+func fatal(err error) {
+ fmt.Fprintln(os.Stderr, "botan-gen:", err)
+ os.Exit(1)
+}
diff --git a/botanres-go/dockerfiles/api.Dockerfile b/botanres-go/dockerfiles/api.Dockerfile
new file mode 100644
index 0000000..88e730a
--- /dev/null
+++ b/botanres-go/dockerfiles/api.Dockerfile
@@ -0,0 +1,30 @@
+FROM golang:1.26-alpine3.23 AS build
+
+WORKDIR /workspace
+
+ARG TARGETOS
+ARG TARGETARCH
+
+COPY botanres-go/go.mod botanres-go/go.sum ./
+
+RUN --mount=type=cache,target=/go/pkg/mod \
+ go mod download
+
+COPY "botanjs/src" "./src"
+COPY "botanres-go/cmd" "./cmd"
+COPY "botanres-go/internal" "./internal"
+
+RUN --mount=type=cache,target=/go/pkg/mod \
+ --mount=type=cache,target=/root/.cache/go-build \
+ CGO_ENABLED=0 \
+ GOOS=$TARGETOS \
+ GOARCH=$TARGETARCH \
+ go build -trimpath -o /out/botan-api -ldflags='-s -w' ./cmd/botan-api
+
+FROM scratch
+
+COPY --from=build /out/botan-api /usr/local/bin/botan-api
+COPY "botanjs/src" "./src"
+
+EXPOSE 8080/tcp
+ENTRYPOINT ["/usr/local/bin/botan-api", "-src", "./src", "-addr", ":8080"]
diff --git a/botanres-go/dockerfiles/gen.Dockerfile b/botanres-go/dockerfiles/gen.Dockerfile
new file mode 100644
index 0000000..2f1ddd2
--- /dev/null
+++ b/botanres-go/dockerfiles/gen.Dockerfile
@@ -0,0 +1,24 @@
+FROM golang:1.26-alpine3.23 AS build
+
+WORKDIR /workspace
+
+ARG TARGETOS
+ARG TARGETARCH
+
+COPY botanres-go/go.mod botanres-go/go.sum ./
+
+RUN --mount=type=cache,target=/go/pkg/mod \
+ go mod download
+
+COPY "botanjs/src" "./src"
+COPY "botanres-go/cmd" "./cmd"
+COPY "botanres-go/internal" "./internal"
+
+RUN go run ./cmd/botan-gen \
+ -src ./src \
+ -out internal/generated/classmap_gen.go
+
+RUN mkdir /out && cp internal/generated/classmap_gen.go /out
+
+FROM scratch
+COPY --from=build /out/classmap_gen.go ./
diff --git a/botanres-go/go.mod b/botanres-go/go.mod
new file mode 100644
index 0000000..be63b6c
--- /dev/null
+++ b/botanres-go/go.mod
@@ -0,0 +1,3 @@
+module github.com/tgckpg/botanres-go
+
+go 1.26
diff --git a/cache/.keep b/botanres-go/go.sum
similarity index 100%
rename from cache/.keep
rename to botanres-go/go.sum
diff --git a/botanres-go/internal/classmap/scan.go b/botanres-go/internal/classmap/scan.go
new file mode 100644
index 0000000..5857c3e
--- /dev/null
+++ b/botanres-go/internal/classmap/scan.go
@@ -0,0 +1,210 @@
+package classmap
+
+import (
+ "bufio"
+ "crypto/sha1"
+ "encoding/hex"
+ "fmt"
+ "io"
+ "os"
+ "path/filepath"
+ "regexp"
+ "sort"
+ "strings"
+)
+
+var (
+ reNamespace = regexp.MustCompile(`__namespace\s*\(\s*['\"]([^'\"]+)['\"]\s*\)`)
+ reImport = regexp.MustCompile(`__import\s*\(\s*['\"]([^'\"]+)['\"]\s*\)`)
+ reInvoke = regexp.MustCompile(`ns\s*\[\s*NS_INVOKE\s*\]\s*\(\s*['\"]([^'\"]+)['\"]\s*\)`)
+ reExport = regexp.MustCompile(`ns\s*\[\s*NS_EXPORT\s*\]\s*\(\s*EX_([A-Z_]+[A-Z])\s*,\s*['\"]([^'\"]+)['\"]\s*,`)
+)
+
+type Export struct {
+ Type string
+ Name string
+}
+
+type Meta struct {
+ Namespace string
+ Imports []string
+ Exports []Export
+}
+
+func ParseFile(path string) (Meta, error) {
+ f, err := os.Open(path)
+ if err != nil {
+ return Meta{}, err
+ }
+ defer f.Close()
+
+ var m Meta
+ s := bufio.NewScanner(f)
+ // Some old JS files can have long one-line wrappers.
+ s.Buffer(make([]byte, 0, 64*1024), 8*1024*1024)
+ for s.Scan() {
+ line := s.Text()
+ if x := reNamespace.FindStringSubmatch(line); x != nil {
+ m.Namespace = x[1]
+ continue
+ }
+ if x := reImport.FindStringSubmatch(line); x != nil {
+ m.Imports = append(m.Imports, x[1])
+ continue
+ }
+ if x := reInvoke.FindStringSubmatch(line); x != nil {
+ m.Imports = append(m.Imports, m.Namespace+"."+x[1])
+ continue
+ }
+ if x := reExport.FindStringSubmatch(line); x != nil {
+ m.Exports = append(m.Exports, Export{Type: x[1], Name: x[2]})
+ continue
+ }
+ }
+ return m, s.Err()
+}
+
+func Build(root string) (*Map, error) {
+ root, err := filepath.Abs(root)
+ if err != nil {
+ return nil, err
+ }
+ m := &Map{Symbols: map[string]Symbol{}, Files: map[string]Resource{}}
+ head := filepath.Join(root, "_this.js")
+
+ err = filepath.WalkDir(root, func(path string, d os.DirEntry, err error) error {
+ if err != nil {
+ return err
+ }
+ if d.IsDir() {
+ if path == filepath.Join(root, "externs") {
+ return filepath.SkipDir
+ }
+ return nil
+ }
+ if filepath.Ext(path) != ".js" || path == head {
+ return nil
+ }
+ meta, err := ParseFile(path)
+ if err != nil {
+ return err
+ }
+ if meta.Namespace == "" {
+ return fmt.Errorf("%s: missing __namespace", path)
+ }
+ rel, err := filepath.Rel(root, path)
+ if err != nil {
+ return err
+ }
+ rel = filepath.ToSlash(rel)
+ res := Resource{Src: rel, JSHash: fileHash(path), CSSHash: fileHash(strings.TrimSuffix(path, ".js") + ".css")}
+ m.Files[rel] = res
+ srcEvery := meta.Namespace != className(rel)
+
+ ensureParents(m, meta.Namespace)
+ if !srcEvery {
+ sym := m.Symbols[meta.Namespace]
+ sym.Kind = KindClass
+ sym.Resource = res
+ sym.Imports = appendUnique(sym.Imports, meta.Imports...)
+ m.Symbols[meta.Namespace] = sym
+ }
+
+ for _, ex := range meta.Exports {
+ kind := exportKind(ex.Type)
+ name := meta.Namespace + "." + ex.Name
+ ensureParents(m, name)
+ sym := m.Symbols[name]
+ sym.Kind = kind
+ if srcEvery {
+ sym.Resource = res
+ if kind == KindClass {
+ sym.Imports = appendUnique(sym.Imports, meta.Imports...)
+ }
+ }
+ m.Symbols[name] = sym
+ }
+ return nil
+ })
+ if err != nil {
+ return nil, err
+ }
+ return m, nil
+}
+
+func ensureParents(m *Map, name string) {
+ parts := strings.Split(name, ".")
+ for i := range parts {
+ full := strings.Join(parts[:i+1], ".")
+ if _, ok := m.Symbols[full]; !ok {
+ parent := ""
+ if i > 0 {
+ parent = strings.Join(parts[:i], ".")
+ }
+ m.Symbols[full] = Symbol{Name: full, Kind: KindClass, Parent: parent}
+ }
+ }
+}
+
+func className(rel string) string {
+ name := strings.TrimSuffix(filepath.ToSlash(rel), ".js")
+ name = strings.ReplaceAll(name, "/", ".")
+ name = strings.ReplaceAll(name, "._this", "")
+ name = strings.ReplaceAll(name, "..BotanJS.", "")
+ return name
+}
+
+func exportKind(t string) Kind {
+ switch t {
+ case "CLASS":
+ return KindClass
+ case "FUNC":
+ return KindMethod
+ default:
+ return KindProp
+ }
+}
+
+func fileHash(path string) string {
+ f, err := os.Open(path)
+ if err != nil {
+ return "1"
+ }
+ defer f.Close()
+ h := sha1.New()
+ _, _ = io.Copy(h, f)
+ return hex.EncodeToString(h.Sum(nil))
+}
+
+func appendUnique(dst []string, vals ...string) []string {
+ seen := map[string]bool{}
+ for _, v := range dst {
+ seen[v] = true
+ }
+ for _, v := range vals {
+ if v == "" || seen[v] {
+ continue
+ }
+ dst = append(dst, v)
+ seen[v] = true
+ }
+ return dst
+}
+
+func SortedSymbols(m *Map) []Symbol {
+ out := make([]Symbol, 0, len(m.Symbols))
+ for _, s := range m.Symbols {
+ out = append(out, s)
+ }
+ sort.Slice(out, func(i, j int) bool { return out[i].Name < out[j].Name })
+ return out
+}
+
+func SortedFiles(m *Map) []Resource {
+ out := make([]Resource, 0, len(m.Files))
+ for _, r := range m.Files {
+ out = append(out, r)
+ }
+ sort.Slice(out, func(i, j int) bool { return out[i].Src < out[j].Src })
+ return out
+}
diff --git a/botanres-go/internal/classmap/types.go b/botanres-go/internal/classmap/types.go
new file mode 100644
index 0000000..e5bca17
--- /dev/null
+++ b/botanres-go/internal/classmap/types.go
@@ -0,0 +1,34 @@
+package classmap
+
+// Kind mirrors the old XML node names: class, method, prop.
+type Kind string
+
+const (
+ KindClass Kind = "class"
+ KindMethod Kind = "method"
+ KindProp Kind = "prop"
+)
+
+// Resource points to the physical JS/CSS pair for a symbol.
+// JS and CSS are content hashes. CSSHash == "1" means no CSS file, matching the old Python behavior.
+type Resource struct {
+ Src string
+ JSHash string
+ CSSHash string
+}
+
+// Symbol is the flattened replacement for the old XML tree.
+// Parent imports for exported props/methods are resolved by Parent.
+type Symbol struct {
+ Name string
+ Kind Kind
+ Parent string
+ Imports []string
+ Resource Resource
+}
+
+// Map is generated by cmd/botan-gen.
+type Map struct {
+ Symbols map[string]Symbol
+ Files map[string]Resource
+}
diff --git a/botanres-go/internal/generated/buildinfo_gen.go b/botanres-go/internal/generated/buildinfo_gen.go
new file mode 100644
index 0000000..fe831dd
--- /dev/null
+++ b/botanres-go/internal/generated/buildinfo_gen.go
@@ -0,0 +1,6 @@
+package generated
+
+const (
+ IMAGE_TAG = "dev"
+ Timestamp = "20260610.201739"
+)
diff --git a/botanres-go/internal/generated/classmap_gen.go b/botanres-go/internal/generated/classmap_gen.go
new file mode 100644
index 0000000..87e120d
--- /dev/null
+++ b/botanres-go/internal/generated/classmap_gen.go
@@ -0,0 +1,518 @@
+// Code generated by botan-gen; DO NOT EDIT.
+package generated
+
+import "github.com/tgckpg/botanres-go/internal/classmap"
+
+var ClassMap = &classmap.Map{
+ Symbols: map[string]classmap.Symbol{
+ "Astro": {Name: "Astro", Kind: "class", Parent: "", Imports: []string(nil), Resource: classmap.Resource{Src: "", JSHash: "", CSSHash: ""}},
+ "Astro.Blog": {Name: "Astro.Blog", Kind: "class", Parent: "Astro", Imports: []string(nil), Resource: classmap.Resource{Src: "", JSHash: "", CSSHash: ""}},
+ "Astro.Blog.AstroEdit": {Name: "Astro.Blog.AstroEdit", Kind: "class", Parent: "Astro.Blog", Imports: []string{"System.utils", "System.Cycle", "Dandelion", "Astro.Bootstrap", "Astro.Blog.Config", "Astro.Blog.AstroEdit.Article", "Astro.Blog.AstroEdit.Draft", "Astro.Blog.AstroEdit.Flag", "Astro.Blog.AstroEdit.Visualizer", "Astro.Blog.AstroEdit.Uploader", "Astro.Blog.AstroEdit.SiteLibrary", "Components.Vim.VimArea", "Astro.Blog.AstroEdit.SmartInput", "Astro.Blog.SharedStyle"}, Resource: classmap.Resource{Src: "Astro/Blog/AstroEdit/_this.js", JSHash: "96a85746d16908f70921e8cad03cc6105924473a", CSSHash: "2d37776089eeac5d81981f100c1c029c9249e4a9"}},
+ "Astro.Blog.AstroEdit.Article": {Name: "Astro.Blog.AstroEdit.Article", Kind: "class", Parent: "Astro.Blog.AstroEdit", Imports: []string{"System.Cycle", "System.utils", "System.utils.EventKey", "System.Debug", "Components.MessageBox", "Dandelion", "Dandelion.IDOMObject", "Dandelion.IDOMElement", "Astro.Blog.Config", "Astro.Blog.Components.Bubble", "System.Net.postData", "Astro.utils.Date.pretty", "Astro.Blog.AstroEdit.Visualizer", "Astro.Blog.AstroEdit.Flag", "Astro.Blog.AstroEdit.Draft"}, Resource: classmap.Resource{Src: "Astro/Blog/AstroEdit/Article.js", JSHash: "cdf659fcb73f34430021453cb7c4967d6799971d", CSSHash: "1"}},
+ "Astro.Blog.AstroEdit.Draft": {Name: "Astro.Blog.AstroEdit.Draft", Kind: "class", Parent: "Astro.Blog.AstroEdit", Imports: []string{"System.Cycle", "System.utils.IKey", "Dandelion", "System.Net.postData", "Astro.Blog.AstroEdit.Article"}, Resource: classmap.Resource{Src: "Astro/Blog/AstroEdit/Draft.js", JSHash: "b8f4dd400e85c729bd5ac3468aa28a7836255af9", CSSHash: "1"}},
+ "Astro.Blog.AstroEdit.Flag": {Name: "Astro.Blog.AstroEdit.Flag", Kind: "class", Parent: "Astro.Blog.AstroEdit", Imports: []string{"System.Debug", "Components.MessageBox", "Dandelion", "Dandelion.IDOMElement", "Astro.Blog.Config", "System.Net.postData"}, Resource: classmap.Resource{Src: "Astro/Blog/AstroEdit/Flag.js", JSHash: "dfec5876dcc4eadcbfc292806e74de821f826477", CSSHash: "2af9897e11ed5f3c3a750ce5488c9d91e46c6c58"}},
+ "Astro.Blog.AstroEdit.SiteLibrary": {Name: "Astro.Blog.AstroEdit.SiteLibrary", Kind: "class", Parent: "Astro.Blog.AstroEdit", Imports: []string{"System.Cycle", "System.Debug", "System.utils.Perf", "System.utils.IKey", "System.utils.DataKey", "System.utils.EventKey", "Components.MessageBox", "Components.Mouse.ContextMenu", "Dandelion", "Dandelion.IDOMObject", "Dandelion.IDOMElement", "Astro.Blog.Config", "System.Net.postData", "Astro.utils.Date.pretty"}, Resource: classmap.Resource{Src: "Astro/Blog/AstroEdit/SiteLibrary.js", JSHash: "6442a8da697b50ec94676125327da8ba0cd70a43", CSSHash: "ef9290487558512fa1db9a4a20b91aa8421b4b26"}},
+ "Astro.Blog.AstroEdit.SmartInput": {Name: "Astro.Blog.AstroEdit.SmartInput", Kind: "class", Parent: "Astro.Blog.AstroEdit", Imports: []string{"Dandelion", "Dandelion.IDOMElement", "Dandelion.IDOMObject", "System.Cycle", "System.Debug", "System.Net.ClassLoader", "System.utils", "System.utils.DataKey", "System.utils.IKey", "Components.MessageBox", "Astro.Blog.Config"}, Resource: classmap.Resource{Src: "Astro/Blog/AstroEdit/SmartInput/_this.js", JSHash: "9031ee3c774cbb5d5fd59af2fbe911f615c4d056", CSSHash: "4cd01e0c87e41c384afe9d9d5fb9d545bd51bd38"}},
+ "Astro.Blog.AstroEdit.SmartInput.CandidateAction": {Name: "Astro.Blog.AstroEdit.SmartInput.CandidateAction", Kind: "class", Parent: "Astro.Blog.AstroEdit.SmartInput", Imports: []string(nil), Resource: classmap.Resource{Src: "", JSHash: "", CSSHash: ""}},
+ "Astro.Blog.AstroEdit.SmartInput.CandidateAction.ArticleContent": {Name: "Astro.Blog.AstroEdit.SmartInput.CandidateAction.ArticleContent", Kind: "class", Parent: "Astro.Blog.AstroEdit.SmartInput.CandidateAction", Imports: []string{"Astro.Blog.Config", "System.Net.getData", "Astro.utils.Date.pretty"}, Resource: classmap.Resource{Src: "Astro/Blog/AstroEdit/SmartInput/CandidateAction/ArticleReference.js", JSHash: "2e66502daabb251f22f83535899c3c282f32a2c0", CSSHash: "1"}},
+ "Astro.Blog.AstroEdit.SmartInput.CandidateAction.ArticleReference": {Name: "Astro.Blog.AstroEdit.SmartInput.CandidateAction.ArticleReference", Kind: "class", Parent: "Astro.Blog.AstroEdit.SmartInput.CandidateAction", Imports: []string{"Astro.Blog.Config", "System.Net.getData", "Astro.utils.Date.pretty"}, Resource: classmap.Resource{Src: "Astro/Blog/AstroEdit/SmartInput/CandidateAction/ArticleReference.js", JSHash: "2e66502daabb251f22f83535899c3c282f32a2c0", CSSHash: "1"}},
+ "Astro.Blog.AstroEdit.SmartInput.CandidateAction.Footnote": {Name: "Astro.Blog.AstroEdit.SmartInput.CandidateAction.Footnote", Kind: "class", Parent: "Astro.Blog.AstroEdit.SmartInput.CandidateAction", Imports: []string{"System.utils.IKey", "System.utils.DataKey", "Dandelion.IDOMElement", "Dandelion"}, Resource: classmap.Resource{Src: "Astro/Blog/AstroEdit/SmartInput/CandidateAction/Footnote.js", JSHash: "4f04ad32f4ad64f1512112c66324c513ebae4bc7", CSSHash: "1"}},
+ "Astro.Blog.AstroEdit.SmartInput.CandidateAction.Heading": {Name: "Astro.Blog.AstroEdit.SmartInput.CandidateAction.Heading", Kind: "class", Parent: "Astro.Blog.AstroEdit.SmartInput.CandidateAction", Imports: []string(nil), Resource: classmap.Resource{Src: "Astro/Blog/AstroEdit/SmartInput/CandidateAction/Heading.js", JSHash: "65e852a90c2dddce5931f45f841ec932e3b35e59", CSSHash: "1"}},
+ "Astro.Blog.AstroEdit.Uploader": {Name: "Astro.Blog.AstroEdit.Uploader", Kind: "class", Parent: "Astro.Blog.AstroEdit", Imports: []string{"System.Cycle", "System.Debug", "System.utils.EventKey", "Components.Mouse.ContextMenu", "Dandelion", "Dandelion.IDOMObject", "Astro.Blog.Config", "System.utils.Perf", "System.Net.postFile"}, Resource: classmap.Resource{Src: "Astro/Blog/AstroEdit/Uploader.js", JSHash: "b4d181246ed6ea61dd8b6302be5e853012d59a02", CSSHash: "1"}},
+ "Astro.Blog.AstroEdit.Visualizer": {Name: "Astro.Blog.AstroEdit.Visualizer", Kind: "class", Parent: "Astro.Blog.AstroEdit", Imports: []string{"Dandelion", "Dandelion.IDOMElement", "System.Debug", "System.utils", "System.utils.Perf", "System.utils.DataKey", "System.utils.EventKey", "System.utils.IKey", "System.Net.ClassLoader", "Components.MessageBox", "Components.Mouse.ContextMenu", "Astro.Blog.Config", "Astro.Blog.AstroEdit.Article"}, Resource: classmap.Resource{Src: "Astro/Blog/AstroEdit/Visualizer/_this.js", JSHash: "54553eff5d2584fb33209e6bfc8113b3fa222cb1", CSSHash: "d43e2d27e52788d755c96f0db4ac500aa38ca2ee"}},
+ "Astro.Blog.AstroEdit.Visualizer.Snippet": {Name: "Astro.Blog.AstroEdit.Visualizer.Snippet", Kind: "class", Parent: "Astro.Blog.AstroEdit.Visualizer", Imports: []string(nil), Resource: classmap.Resource{Src: "Astro/Blog/AstroEdit/Visualizer/Snippet/_this.js", JSHash: "38f5d8512eabf1ffb4249b1414efd2362af8dc5c", CSSHash: "1"}},
+ "Astro.Blog.AstroEdit.Visualizer.Snippet.AcquireLib": {Name: "Astro.Blog.AstroEdit.Visualizer.Snippet.AcquireLib", Kind: "class", Parent: "Astro.Blog.AstroEdit.Visualizer.Snippet", Imports: []string{"System.utils.IKey", "System.utils.DataKey", "Dandelion.IDOMElement", "Dandelion", "Components.MessageBox"}, Resource: classmap.Resource{Src: "Astro/Blog/AstroEdit/Visualizer/Snippet/AcquireLib.js", JSHash: "6beb43c532ba47ebf8afebfec98c024d84789f58", CSSHash: "e3860ca0ac69a86e948b811da1ebf6ba85fad57f"}},
+ "Astro.Blog.AstroEdit.Visualizer.Snippet.ArticleContent": {Name: "Astro.Blog.AstroEdit.Visualizer.Snippet.ArticleContent", Kind: "class", Parent: "Astro.Blog.AstroEdit.Visualizer.Snippet", Imports: []string{"System.utils.IKey", "System.utils.DataKey", "Dandelion.IDOMElement", "Dandelion", "Components.MessageBox", "Astro.Blog.Config", "System.utils.Perf", "Astro.utils.Date", "Astro.Blog.AstroEdit.Visualizer.Snippet.escapeStr", "Astro.Blog.AstroEdit.Visualizer.Snippet.unescapeStr", "Astro.Blog.AstroEdit.Visualizer.Snippet.compileProp", "System.Net.postData"}, Resource: classmap.Resource{Src: "Astro/Blog/AstroEdit/Visualizer/Snippet/ArticleContent.js", JSHash: "24a3af0af9758ef4a508f5708fdb747edd94997c", CSSHash: "e1cfcf676ebfc3a9ab80139ab2f7e63a2a1b286f"}},
+ "Astro.Blog.AstroEdit.Visualizer.Snippet.ArticleLink": {Name: "Astro.Blog.AstroEdit.Visualizer.Snippet.ArticleLink", Kind: "class", Parent: "Astro.Blog.AstroEdit.Visualizer.Snippet", Imports: []string{"System.utils.IKey", "System.utils.DataKey", "Dandelion.IDOMElement", "Dandelion", "Components.MessageBox", "Astro.Blog.Config", "System.utils.Perf", "Astro.utils.Date", "Astro.Blog.AstroEdit.Visualizer.Snippet.escapeStr", "Astro.Blog.AstroEdit.Visualizer.Snippet.unescapeStr", "Astro.Blog.AstroEdit.Visualizer.Snippet.compileProp", "System.Net.postData"}, Resource: classmap.Resource{Src: "Astro/Blog/AstroEdit/Visualizer/Snippet/ArticleLink.js", JSHash: "4a2f13a28ccbbb85073d20debc02c6525b69ab92", CSSHash: "2d71bce1fa868564d9dac50db338ef7eeed16fd9"}},
+ "Astro.Blog.AstroEdit.Visualizer.Snippet.Code": {Name: "Astro.Blog.AstroEdit.Visualizer.Snippet.Code", Kind: "class", Parent: "Astro.Blog.AstroEdit.Visualizer.Snippet", Imports: []string{"System.utils.IKey", "System.utils.DataKey", "Dandelion.IDOMElement", "Dandelion", "Components.MessageBox", "Astro.Blog.AstroEdit.Visualizer.Snippet.escapeStr", "Astro.Blog.AstroEdit.Visualizer.Snippet.unescapeStr", "Astro.Blog.AstroEdit.Visualizer.Snippet.compileProp"}, Resource: classmap.Resource{Src: "Astro/Blog/AstroEdit/Visualizer/Snippet/Code.js", JSHash: "c53a26cbe3f15eafb86a6915d3d1f74bad5d513c", CSSHash: "1963e8b907d049ab7228c4cccf5e34206dca2f6c"}},
+ "Astro.Blog.AstroEdit.Visualizer.Snippet.Footnote": {Name: "Astro.Blog.AstroEdit.Visualizer.Snippet.Footnote", Kind: "class", Parent: "Astro.Blog.AstroEdit.Visualizer.Snippet", Imports: []string{"System.utils.IKey", "System.utils.DataKey", "Dandelion.IDOMElement", "Dandelion", "Components.MessageBox", "Astro.Blog.AstroEdit.Visualizer.Snippet.unescapeStr", "Astro.Blog.AstroEdit.Visualizer.Snippet.escapeStr"}, Resource: classmap.Resource{Src: "Astro/Blog/AstroEdit/Visualizer/Snippet/Footnote.js", JSHash: "706d7eca843d0171895ad73b60254efab09bfd1c", CSSHash: "e3b173a7579b3897bb98226cd52a56534f75ca15"}},
+ "Astro.Blog.AstroEdit.Visualizer.Snippet.Heading": {Name: "Astro.Blog.AstroEdit.Visualizer.Snippet.Heading", Kind: "class", Parent: "Astro.Blog.AstroEdit.Visualizer.Snippet", Imports: []string{"System.utils.IKey", "System.utils.DataKey", "Dandelion.IDOMElement", "Dandelion", "Components.MessageBox", "Astro.Blog.AstroEdit.Visualizer.Snippet.unescapeStr", "Astro.Blog.AstroEdit.Visualizer.Snippet.escapeStr", "Astro.Blog.AstroEdit.Visualizer.Snippet.compileProp"}, Resource: classmap.Resource{Src: "Astro/Blog/AstroEdit/Visualizer/Snippet/Heading.js", JSHash: "b2f0324f28fe148dfea71ef30183ac05920742d2", CSSHash: "1"}},
+ "Astro.Blog.AstroEdit.Visualizer.Snippet.Html": {Name: "Astro.Blog.AstroEdit.Visualizer.Snippet.Html", Kind: "class", Parent: "Astro.Blog.AstroEdit.Visualizer.Snippet", Imports: []string{"System.utils.IKey", "System.utils.DataKey", "Dandelion.IDOMElement", "Dandelion", "Components.MessageBox", "Astro.Blog.AstroEdit.Visualizer.Snippet.escapeStr", "Astro.Blog.AstroEdit.Visualizer.Snippet.unescapeStr"}, Resource: classmap.Resource{Src: "Astro/Blog/AstroEdit/Visualizer/Snippet/Html.js", JSHash: "e855cfd123266850b703133655bc27936f3ae366", CSSHash: "1"}},
+ "Astro.Blog.AstroEdit.Visualizer.Snippet.Image": {Name: "Astro.Blog.AstroEdit.Visualizer.Snippet.Image", Kind: "class", Parent: "Astro.Blog.AstroEdit.Visualizer.Snippet", Imports: []string{"System.utils.IKey", "System.utils.DataKey", "Dandelion.IDOMElement", "Dandelion", "Components.MessageBox", "Astro.Blog.AstroEdit.Visualizer.Snippet.escapeStr", "Astro.Blog.AstroEdit.Visualizer.Snippet.unescapeStr", "Astro.Blog.AstroEdit.Visualizer.Snippet.compileProp"}, Resource: classmap.Resource{Src: "Astro/Blog/AstroEdit/Visualizer/Snippet/Image.js", JSHash: "eb20ea28b68dc0bb9b795e5a9762cb2f2840cccc", CSSHash: "1"}},
+ "Astro.Blog.AstroEdit.Visualizer.Snippet.Link": {Name: "Astro.Blog.AstroEdit.Visualizer.Snippet.Link", Kind: "class", Parent: "Astro.Blog.AstroEdit.Visualizer.Snippet", Imports: []string{"System.utils.IKey", "System.utils.DataKey", "Dandelion.IDOMElement", "Dandelion", "Components.MessageBox", "Astro.Blog.AstroEdit.Visualizer.Snippet.escapeStr", "Astro.Blog.AstroEdit.Visualizer.Snippet.unescapeStr"}, Resource: classmap.Resource{Src: "Astro/Blog/AstroEdit/Visualizer/Snippet/Link.js", JSHash: "fc29654f1c45a63e9b8dc8eed120e6d3abfb61e8", CSSHash: "963bca1730a62b372e667b0a3f888aeef5504968"}},
+ "Astro.Blog.AstroEdit.Visualizer.Snippet.Meta": {Name: "Astro.Blog.AstroEdit.Visualizer.Snippet.Meta", Kind: "class", Parent: "Astro.Blog.AstroEdit.Visualizer.Snippet", Imports: []string{"System.utils.IKey", "System.utils.DataKey", "Dandelion.IDOMElement", "Dandelion", "Components.MessageBox", "Astro.Blog.AstroEdit.Visualizer.Snippet.escapeStr", "Astro.Blog.AstroEdit.Visualizer.Snippet.unescapeStr"}, Resource: classmap.Resource{Src: "Astro/Blog/AstroEdit/Visualizer/Snippet/Meta.js", JSHash: "c4e8b9ad69f7f3f76fe4674eb68aeb2a8603190c", CSSHash: "43e6cf20a8590ff0a820fed9ae53399edfb53ac4"}},
+ "Astro.Blog.AstroEdit.Visualizer.Snippet.RespH": {Name: "Astro.Blog.AstroEdit.Visualizer.Snippet.RespH", Kind: "class", Parent: "Astro.Blog.AstroEdit.Visualizer.Snippet", Imports: []string{"System.utils.IKey", "System.utils.DataKey", "Dandelion.IDOMElement", "Dandelion", "Components.MessageBox", "Astro.Blog.AstroEdit.Visualizer.Snippet.escapeStr", "Astro.Blog.AstroEdit.Visualizer.Snippet.unescapeStr"}, Resource: classmap.Resource{Src: "Astro/Blog/AstroEdit/Visualizer/Snippet/RespH.js", JSHash: "fa1d1e655350035f514c0824a27a1242671b9d24", CSSHash: "60ee66e1f25468b808af731338d2f10c9e74d8fe"}},
+ "Astro.Blog.AstroEdit.Visualizer.Snippet.SiteFile": {Name: "Astro.Blog.AstroEdit.Visualizer.Snippet.SiteFile", Kind: "class", Parent: "Astro.Blog.AstroEdit.Visualizer.Snippet", Imports: []string{"System.utils.IKey", "System.utils.DataKey", "Dandelion.IDOMElement", "Dandelion", "Components.MessageBox", "Astro.Blog.Config", "System.utils.Perf", "System.Cycle.Trigger", "Astro.utils.Date", "Astro.Blog.AstroEdit.Visualizer.Snippet.escapeStr", "Astro.Blog.AstroEdit.Visualizer.Snippet.compileProp", "System.Net.getData"}, Resource: classmap.Resource{Src: "Astro/Blog/AstroEdit/Visualizer/Snippet/SiteFile.js", JSHash: "1b7da2650be5f5e9b43187c3cfd7b42a4708546d", CSSHash: "47a59715388ff5f8abe4eb4e7e6000bf92de77b2"}},
+ "Astro.Blog.AstroEdit.Visualizer.Snippet.Sound": {Name: "Astro.Blog.AstroEdit.Visualizer.Snippet.Sound", Kind: "class", Parent: "Astro.Blog.AstroEdit.Visualizer.Snippet", Imports: []string{"System.utils.IKey", "System.utils.DataKey", "Dandelion.IDOMElement", "Dandelion", "Components.MessageBox", "Astro.Blog.AstroEdit.Visualizer.Snippet.compileProp"}, Resource: classmap.Resource{Src: "Astro/Blog/AstroEdit/Visualizer/Snippet/Sound.js", JSHash: "33562262f68acc2dce3be8cae035c670b2309219", CSSHash: "1"}},
+ "Astro.Blog.AstroEdit.Visualizer.Snippet.Spoiler": {Name: "Astro.Blog.AstroEdit.Visualizer.Snippet.Spoiler", Kind: "class", Parent: "Astro.Blog.AstroEdit.Visualizer.Snippet", Imports: []string{"System.utils.IKey", "System.utils.DataKey", "Dandelion.IDOMElement", "Dandelion", "Components.MessageBox", "Astro.Blog.AstroEdit.Visualizer.Snippet.compileProp", "Astro.Blog.AstroEdit.Visualizer.Snippet.escapeStr", "Astro.Blog.AstroEdit.Visualizer.Snippet.unescapeStr"}, Resource: classmap.Resource{Src: "Astro/Blog/AstroEdit/Visualizer/Snippet/Spoiler.js", JSHash: "5aae7d7108fc204f39037fb6686e24ccc79c796f", CSSHash: "1"}},
+ "Astro.Blog.AstroEdit.Visualizer.Snippet.Video": {Name: "Astro.Blog.AstroEdit.Visualizer.Snippet.Video", Kind: "class", Parent: "Astro.Blog.AstroEdit.Visualizer.Snippet", Imports: []string{"System.utils.IKey", "System.utils.DataKey", "Dandelion.IDOMElement", "Dandelion", "Components.MessageBox", "System.Net.getData", "Dandelion.StaticRes.BLANK_IMG"}, Resource: classmap.Resource{Src: "Astro/Blog/AstroEdit/Visualizer/Snippet/Video.js", JSHash: "cfc21a3653fb859ffeb72d409c1df2fa34a54255", CSSHash: "ff1d4ae903c244a6aeaf78b12c375f1f45dfb3c2"}},
+ "Astro.Blog.AstroEdit.Visualizer.Snippet.compileProp": {Name: "Astro.Blog.AstroEdit.Visualizer.Snippet.compileProp", Kind: "method", Parent: "Astro.Blog.AstroEdit.Visualizer.Snippet", Imports: []string(nil), Resource: classmap.Resource{Src: "", JSHash: "", CSSHash: ""}},
+ "Astro.Blog.AstroEdit.Visualizer.Snippet.escapeStr": {Name: "Astro.Blog.AstroEdit.Visualizer.Snippet.escapeStr", Kind: "method", Parent: "Astro.Blog.AstroEdit.Visualizer.Snippet", Imports: []string(nil), Resource: classmap.Resource{Src: "", JSHash: "", CSSHash: ""}},
+ "Astro.Blog.AstroEdit.Visualizer.Snippet.unescapeStr": {Name: "Astro.Blog.AstroEdit.Visualizer.Snippet.unescapeStr", Kind: "method", Parent: "Astro.Blog.AstroEdit.Visualizer.Snippet", Imports: []string(nil), Resource: classmap.Resource{Src: "", JSHash: "", CSSHash: ""}},
+ "Astro.Blog.Components": {Name: "Astro.Blog.Components", Kind: "class", Parent: "Astro.Blog", Imports: []string(nil), Resource: classmap.Resource{Src: "", JSHash: "", CSSHash: ""}},
+ "Astro.Blog.Components.Album": {Name: "Astro.Blog.Components.Album", Kind: "class", Parent: "Astro.Blog.Components", Imports: []string{"System.Cycle", "System.utils.IKey", "System.utils.DataKey", "Dandelion", "Dandelion.IDOMElement", "Astro.Bootstrap", "System.utils.Perf", "Astro.Blog.Config", "Astro.Blog.Components.SiteFile", "Dandelion.StaticRes.BLANK_IMG"}, Resource: classmap.Resource{Src: "Astro/Blog/Components/Album.js", JSHash: "1443dfa407fb216b1be014417d1f9bce707ad358", CSSHash: "640c50241b457330678a21b940fdb4ea15a5249b"}},
+ "Astro.Blog.Components.ArticleContent": {Name: "Astro.Blog.Components.ArticleContent", Kind: "class", Parent: "Astro.Blog.Components", Imports: []string(nil), Resource: classmap.Resource{Src: "Astro/Blog/Components/ArticleContent.js", JSHash: "2e208eae51421946f874dd78cb05d974a689bdef", CSSHash: "34fc82974af2ae7040819889bc8e7a1bd2b48cd6"}},
+ "Astro.Blog.Components.Bubble": {Name: "Astro.Blog.Components.Bubble", Kind: "class", Parent: "Astro.Blog.Components", Imports: []string{"System.Cycle", "System.utils.EventKey", "Dandelion", "Dandelion.IDOMElement"}, Resource: classmap.Resource{Src: "Astro/Blog/Components/Bubble.js", JSHash: "b12c62f19417f6169fd8222267314a509e46d752", CSSHash: "2513518106d6d1c7a42e95c28becb3ddfe39e040"}},
+ "Astro.Blog.Components.Calendar": {Name: "Astro.Blog.Components.Calendar", Kind: "class", Parent: "Astro.Blog.Components", Imports: []string{"System.Cycle", "System.Debug", "Dandelion", "Dandelion.IDOMElement", "Astro.utils.Date"}, Resource: classmap.Resource{Src: "Astro/Blog/Components/Calendar.js", JSHash: "e9a9de02ddb1fd57a66f658b2bb0a03844753ab9", CSSHash: "305a716f79149cbd609791989ec8b04401a7406f"}},
+ "Astro.Blog.Components.Comment": {Name: "Astro.Blog.Components.Comment", Kind: "class", Parent: "Astro.Blog.Components", Imports: []string{"System.Cycle", "System.Debug", "System.Cycle.Trigger", "System.utils.IKey", "System.utils.EventKey", "System.utils.DataKey", "System.utils.Perf", "Dandelion", "Dandelion.IDOMElement", "Astro.Bootstrap", "Astro.Blog.Config", "Astro.Blog.Components.Bubble", "System.Net.postData"}, Resource: classmap.Resource{Src: "Astro/Blog/Components/Comment.js", JSHash: "53ce30af0c57c14473220eb9cc83763621173bb6", CSSHash: "7025d26f1d9579a36c128effc3e9a833e22787eb"}},
+ "Astro.Blog.Components.ControlPanel": {Name: "Astro.Blog.Components.ControlPanel", Kind: "class", Parent: "Astro.Blog.Components", Imports: []string(nil), Resource: classmap.Resource{Src: "Astro/Blog/Components/ControlPanel.js", JSHash: "e646278422597037693f16206b8c9dc00aa0f005", CSSHash: "812c94c181c62bd44f1871b5e44952e164df4401"}},
+ "Astro.Blog.Components.CrowdTag": {Name: "Astro.Blog.Components.CrowdTag", Kind: "class", Parent: "Astro.Blog.Components", Imports: []string(nil), Resource: classmap.Resource{Src: "Astro/Blog/Components/CrowdTag.js", JSHash: "6720800b2b1f71dd1931ef74885460f898bb8c0e", CSSHash: "d2862681238786af37b1b5c91d266448a9b072b0"}},
+ "Astro.Blog.Components.Entry": {Name: "Astro.Blog.Components.Entry", Kind: "class", Parent: "Astro.Blog.Components", Imports: []string(nil), Resource: classmap.Resource{Src: "", JSHash: "", CSSHash: ""}},
+ "Astro.Blog.Components.Entry.Blog": {Name: "Astro.Blog.Components.Entry.Blog", Kind: "class", Parent: "Astro.Blog.Components.Entry", Imports: []string{"Dandelion", "Astro.Bootstrap", "Astro.utils.Date", "System.Debug"}, Resource: classmap.Resource{Src: "Astro/Blog/Components/Entry/Blog.js", JSHash: "018626b7462176df8da4d6f0b730bd4a2778e926", CSSHash: "0473bbb41f9b27a5d448a36c1e175f6f18841019"}},
+ "Astro.Blog.Components.Entry.Home": {Name: "Astro.Blog.Components.Entry.Home", Kind: "class", Parent: "Astro.Blog.Components.Entry", Imports: []string(nil), Resource: classmap.Resource{Src: "Astro/Blog/Components/Entry/Home.js", JSHash: "0a4d8b8d9816628a8e80e2498978740c6828a59e", CSSHash: "5546001d65fb0a1087c7d6909efff80f36872a41"}},
+ "Astro.Blog.Components.Entry.List": {Name: "Astro.Blog.Components.Entry.List", Kind: "class", Parent: "Astro.Blog.Components.Entry", Imports: []string(nil), Resource: classmap.Resource{Src: "Astro/Blog/Components/Entry/List.js", JSHash: "4a522d768a4d54de1125d8608e9bf4300ff3773a", CSSHash: "30047de75c64dbb9f669791c42ef17368a7ab997"}},
+ "Astro.Blog.Components.Entry.Tag": {Name: "Astro.Blog.Components.Entry.Tag", Kind: "class", Parent: "Astro.Blog.Components.Entry", Imports: []string(nil), Resource: classmap.Resource{Src: "Astro/Blog/Components/Entry/Tag.js", JSHash: "f64c75bf37dba830d6b335918c1ac5670f297396", CSSHash: "42851637f7fc9cece8ac9a666f0f74a75544eae0"}},
+ "Astro.Blog.Components.Entry.Tile": {Name: "Astro.Blog.Components.Entry.Tile", Kind: "class", Parent: "Astro.Blog.Components.Entry", Imports: []string(nil), Resource: classmap.Resource{Src: "Astro/Blog/Components/Entry/Tile.js", JSHash: "0603f59d19c81c5b7e1233fce579c79502427e7c", CSSHash: "2a925b7465760a02011eaeca6e0a353389578618"}},
+ "Astro.Blog.Components.Footnote": {Name: "Astro.Blog.Components.Footnote", Kind: "class", Parent: "Astro.Blog.Components", Imports: []string{"Dandelion", "Dandelion.IDOMElement", "Astro.Bootstrap", "Astro.Blog.Config", "Astro.utils.Date"}, Resource: classmap.Resource{Src: "Astro/Blog/Components/Footnote.js", JSHash: "c8f3c1ed14ec27e83149fb8c23b41171b6e228fd", CSSHash: "44c3c00c1df7ec8faea902fa19840902429441b8"}},
+ "Astro.Blog.Components.Notification": {Name: "Astro.Blog.Components.Notification", Kind: "class", Parent: "Astro.Blog.Components", Imports: []string{"System.Debug", "System.Cycle", "Dandelion.IDOMElement", "System.utils.IKey", "System.utils.DataKey", "System.utils.EventKey", "Dandelion", "Components.MessageBox", "Components.Mouse.ContextMenu", "Astro.Bootstrap", "Astro.Blog.Config", "Astro.utils.Date", "System.Net.postData", "Astro.utils.Date.smstamp"}, Resource: classmap.Resource{Src: "Astro/Blog/Components/Notification.js", JSHash: "0b4219d96219c4352cce802d59f3265e97b8f822", CSSHash: "2c278ade8d5d0b49a62c10a2d239c1f7dd5edc62"}},
+ "Astro.Blog.Components.Section": {Name: "Astro.Blog.Components.Section", Kind: "class", Parent: "Astro.Blog.Components", Imports: []string(nil), Resource: classmap.Resource{Src: "Astro/Blog/Components/Section.js", JSHash: "d814528ea8a20fc06197b56896d1c63ffbf40fcd", CSSHash: "c48e35eafe87b99383b8b3a397eac5d569f68f66"}},
+ "Astro.Blog.Components.SiteFile": {Name: "Astro.Blog.Components.SiteFile", Kind: "class", Parent: "Astro.Blog.Components", Imports: []string{"System.Debug", "System.utils.IKey", "Dandelion", "Dandelion.IDOMElement", "Astro.Bootstrap", "Astro.Blog.Config", "System.Net.getData", "Astro.utils.Date.smstamp"}, Resource: classmap.Resource{Src: "Astro/Blog/Components/SiteFile.js", JSHash: "e25e9a8cbe4addc5ad8f597873c80a33f2329fb7", CSSHash: "94f07554cb4ad0b81529be89f908f039abc9c2cb"}},
+ "Astro.Blog.Components.SocialButtons": {Name: "Astro.Blog.Components.SocialButtons", Kind: "class", Parent: "Astro.Blog.Components", Imports: []string{"Dandelion", "System.utils.IKey", "Astro.Bootstrap"}, Resource: classmap.Resource{Src: "Astro/Blog/Components/SocialButtons.js", JSHash: "1114d87addb798a36452a8ca71dbc7eb58aae961", CSSHash: "53c508505fa9c8a744b4d276d168b535f1e7d3ac"}},
+ "Astro.Blog.Components.Spoiler": {Name: "Astro.Blog.Components.Spoiler", Kind: "class", Parent: "Astro.Blog.Components", Imports: []string{"Dandelion", "Dandelion.IDOMElement", "Astro.Bootstrap", "Astro.Blog.Config"}, Resource: classmap.Resource{Src: "Astro/Blog/Components/Spoiler.js", JSHash: "cb294bd09ea3cf7299395ffb70242bd26301b4ba", CSSHash: "600586c6160a51264169ae1a475082afefd45368"}},
+ "Astro.Blog.Components.TagControl": {Name: "Astro.Blog.Components.TagControl", Kind: "class", Parent: "Astro.Blog.Components", Imports: []string(nil), Resource: classmap.Resource{Src: "Astro/Blog/Components/TagControl.js", JSHash: "fc34df160451001d1a04242f91b937b5fdd503f1", CSSHash: "714529a31e4b9d3a4987163fb40ab53607ff4c43"}},
+ "Astro.Blog.Components.ToggleButton": {Name: "Astro.Blog.Components.ToggleButton", Kind: "class", Parent: "Astro.Blog.Components", Imports: []string{"Dandelion", "Dandelion.IDOMElement", "Astro.Bootstrap", "Astro.Blog.Config", "System.utils.DataKey", "System.Net.postData"}, Resource: classmap.Resource{Src: "Astro/Blog/Components/ToggleButton/_this.js", JSHash: "c572a0eefad8c69ccd60548a3ceabe5d1fed6af8", CSSHash: "ec9b9f22d38415aa2ff3750ac09e3b8e7494ec61"}},
+ "Astro.Blog.Components.ToggleButton.CommentToggle": {Name: "Astro.Blog.Components.ToggleButton.CommentToggle", Kind: "class", Parent: "Astro.Blog.Components.ToggleButton", Imports: []string{"Astro.Blog.Components.ToggleButton", "Dandelion", "Dandelion.IDOMElement", "Astro.Bootstrap", "Astro.Blog.Config"}, Resource: classmap.Resource{Src: "Astro/Blog/Components/ToggleButton/CommentToggle.js", JSHash: "a20a6d7db28578e58ba6484b0636217167794426", CSSHash: "88b2d440e6056ebd62138e20c9b1c9da97c6fb3f"}},
+ "Astro.Blog.Components.ToggleButton.DeleteArticle": {Name: "Astro.Blog.Components.ToggleButton.DeleteArticle", Kind: "class", Parent: "Astro.Blog.Components.ToggleButton", Imports: []string{"Components.MessageBox", "Dandelion", "Dandelion.IDOMElement", "Astro.Bootstrap", "System.Net.postData"}, Resource: classmap.Resource{Src: "Astro/Blog/Components/ToggleButton/DeleteArticle.js", JSHash: "443c24de61b52ad12983f011dc425bac2fca58a4", CSSHash: "37d28e8059d0f48ae1c49f9c5fa106275505fa71"}},
+ "Astro.Blog.Components.Video": {Name: "Astro.Blog.Components.Video", Kind: "class", Parent: "Astro.Blog.Components", Imports: []string{"System.utils.IKey", "Dandelion", "Dandelion.IDOMElement", "Astro.Bootstrap", "Astro.Blog.Config", "System.Net.getData"}, Resource: classmap.Resource{Src: "Astro/Blog/Components/Video.js", JSHash: "64ea5647119179fd0ec01fd00257a4aa25318f73", CSSHash: "5d7572084bf0b426e76a938c61fa380d5b582ef9"}},
+ "Astro.Blog.Config": {Name: "Astro.Blog.Config", Kind: "class", Parent: "Astro.Blog", Imports: []string(nil), Resource: classmap.Resource{Src: "Astro/Blog/Config.js", JSHash: "72dd92f2c5087d6ddecc1507f6448ca552ee5385", CSSHash: "1"}},
+ "Astro.Blog.Config.get": {Name: "Astro.Blog.Config.get", Kind: "method", Parent: "Astro.Blog.Config", Imports: []string(nil), Resource: classmap.Resource{Src: "", JSHash: "", CSSHash: ""}},
+ "Astro.Blog.Layout": {Name: "Astro.Blog.Layout", Kind: "class", Parent: "Astro.Blog", Imports: []string(nil), Resource: classmap.Resource{Src: "Astro/Blog/Layout/_this.js", JSHash: "2401f45244624f7662596bb569c40dab9866dbb8", CSSHash: "1"}},
+ "Astro.Blog.Layout.Article": {Name: "Astro.Blog.Layout.Article", Kind: "class", Parent: "Astro.Blog.Layout", Imports: []string(nil), Resource: classmap.Resource{Src: "Astro/Blog/Layout/Article/_this.js", JSHash: "470f4b9fd651ddf34d0a32b7775d174e2e0a532a", CSSHash: "fdba7da7bf090d73264661348c0e3ee1caa90c82"}},
+ "Astro.Blog.Layout.Article.Control": {Name: "Astro.Blog.Layout.Article.Control", Kind: "class", Parent: "Astro.Blog.Layout.Article", Imports: []string{"Dandelion", "Dandelion.IDOMElement", "Components.MessageBox", "Astro.Bootstrap", "Astro.Blog.Config", "System.Net.postData"}, Resource: classmap.Resource{Src: "Astro/Blog/Layout/Article/Control.js", JSHash: "db19fe156ca3984d8b0363e918b458d82a3effdf", CSSHash: "1"}},
+ "Astro.Blog.Layout.Article.Latest": {Name: "Astro.Blog.Layout.Article.Latest", Kind: "class", Parent: "Astro.Blog.Layout.Article", Imports: []string{"Astro.Blog.Components.Entry.Home"}, Resource: classmap.Resource{Src: "Astro/Blog/Layout/Article/Latest.js", JSHash: "1fe8f7cdab579bcb802a5336d1e6390943453277", CSSHash: "1"}},
+ "Astro.Blog.Layout.Article.Tag": {Name: "Astro.Blog.Layout.Article.Tag", Kind: "class", Parent: "Astro.Blog.Layout.Article", Imports: []string{"Astro.Blog.Components.Entry.List"}, Resource: classmap.Resource{Src: "Astro/Blog/Layout/Article/Tag.js", JSHash: "316e254b71f4f1e7f565dd2364d4b244942e1bd0", CSSHash: "1"}},
+ "Astro.Blog.Layout.ErrorPages": {Name: "Astro.Blog.Layout.ErrorPages", Kind: "class", Parent: "Astro.Blog.Layout", Imports: []string{"System.Cycle", "Dandelion", "Astro.Bootstrap", "Astro.Blog.Config", "Astro.Mechanism.CharacterCloud", "Astro.Mechanism.Parallax"}, Resource: classmap.Resource{Src: "Astro/Blog/Layout/ErrorPages.js", JSHash: "1800acc6511ef7a1efeef4cc83869eb0b30a63ed", CSSHash: "10c6fbfe1a05ede1204926d26eb9fb12f97802fa"}},
+ "Astro.Blog.Layout.Login": {Name: "Astro.Blog.Layout.Login", Kind: "class", Parent: "Astro.Blog.Layout", Imports: []string{"System.Cycle", "System.utils.IKey", "Components.MessageBox", "Dandelion", "Astro.Bootstrap", "Astro.Blog.Config", "Dandelion.CSSReset", "Dandelion.CSSAnimations"}, Resource: classmap.Resource{Src: "Astro/Blog/Layout/Login.js", JSHash: "84931c30a383f873410a779fc74cbb79666ab148", CSSHash: "66b8ec358f3d29b121927d0f72360e33ad90d2ad"}},
+ "Astro.Blog.Layout.MainFrame": {Name: "Astro.Blog.Layout.MainFrame", Kind: "class", Parent: "Astro.Blog.Layout", Imports: []string{"System.Cycle", "System.Cycle.Trigger", "System.utils.IKey", "System.utils.DataKey", "System.utils.Perf", "Dandelion", "Dandelion.IDOMElement", "Dandelion.Window", "System.Debug", "Astro.Bootstrap", "Astro.Mechanism.CharacterCloud", "Astro.Mechanism.Parallax", "Astro.Blog.Components.Bubble", "System.Net.postData", "Dandelion.CSSReset", "Dandelion.CSSAnimations", "Astro.Blog.SharedStyle", "Astro.Starfall.Element.Layer", "System.Net.getData", "System.Global.MOBILE"}, Resource: classmap.Resource{Src: "Astro/Blog/Layout/MainFrame.js", JSHash: "81e0f15aaf1066a5ccb36204bc7cc61d07085c1d", CSSHash: "1d8c7b3b80091a4f80f2b4f3cbfebf7a424a9dbb"}},
+ "Astro.Blog.Layout.Subs": {Name: "Astro.Blog.Layout.Subs", Kind: "class", Parent: "Astro.Blog.Layout", Imports: []string(nil), Resource: classmap.Resource{Src: "Astro/Blog/Layout/Subs/_this.js", JSHash: "7f7ff173d8b86eccc023d17c22e55cf259925558", CSSHash: "1"}},
+ "Astro.Blog.Layout.Subs.Manage": {Name: "Astro.Blog.Layout.Subs.Manage", Kind: "class", Parent: "Astro.Blog.Layout.Subs", Imports: []string{"Components.MessageBox", "Dandelion", "Astro.Bootstrap", "Dandelion.IDOMElement"}, Resource: classmap.Resource{Src: "Astro/Blog/Layout/Subs/Manage.js", JSHash: "eee56edc6cfbbac71deab377682603032516d472", CSSHash: "eb6d28864a3b2faf9ff90912da63db158bed626f"}},
+ "Astro.Blog.SharedStyle": {Name: "Astro.Blog.SharedStyle", Kind: "class", Parent: "Astro.Blog", Imports: []string(nil), Resource: classmap.Resource{Src: "Astro/Blog/SharedStyle.js", JSHash: "e946130da823a5b2d089b5b416c13b628eb1637d", CSSHash: "f8ff15304a5e38e199b713bac48e282d2bf10f45"}},
+ "Astro.Bootstrap": {Name: "Astro.Bootstrap", Kind: "class", Parent: "Astro", Imports: []string{"System.Debug", "Dandelion.CSSReset", "Dandelion.CSSAnimations"}, Resource: classmap.Resource{Src: "Astro/Bootstrap.js", JSHash: "51bfb270eadd20b4b71372ae2d20dcf3d20575db", CSSHash: "e650f4de36f799af80ca0633d66351fb9333d620"}},
+ "Astro.Bootstrap.init": {Name: "Astro.Bootstrap.init", Kind: "method", Parent: "Astro.Bootstrap", Imports: []string(nil), Resource: classmap.Resource{Src: "", JSHash: "", CSSHash: ""}},
+ "Astro.Bootstrap.regInit": {Name: "Astro.Bootstrap.regInit", Kind: "method", Parent: "Astro.Bootstrap", Imports: []string(nil), Resource: classmap.Resource{Src: "", JSHash: "", CSSHash: ""}},
+ "Astro.Common": {Name: "Astro.Common", Kind: "class", Parent: "Astro", Imports: []string(nil), Resource: classmap.Resource{Src: "", JSHash: "", CSSHash: ""}},
+ "Astro.Common.Element": {Name: "Astro.Common.Element", Kind: "class", Parent: "Astro.Common", Imports: []string(nil), Resource: classmap.Resource{Src: "", JSHash: "", CSSHash: ""}},
+ "Astro.Common.Element.Footer": {Name: "Astro.Common.Element.Footer", Kind: "class", Parent: "Astro.Common.Element", Imports: []string(nil), Resource: classmap.Resource{Src: "Astro/Common/Element/Footer.js", JSHash: "80f69d85c399bdc04d3b2055d1ebbe9ee77a852a", CSSHash: "c26f4238a6a4f2fc0bcbd9ac86141d12522552a4"}},
+ "Astro.Mechanism": {Name: "Astro.Mechanism", Kind: "class", Parent: "Astro", Imports: []string(nil), Resource: classmap.Resource{Src: "", JSHash: "", CSSHash: ""}},
+ "Astro.Mechanism.CharacterCloud": {Name: "Astro.Mechanism.CharacterCloud", Kind: "class", Parent: "Astro.Mechanism", Imports: []string{"Dandelion"}, Resource: classmap.Resource{Src: "Astro/Mechanism/CharacterCloud.js", JSHash: "540a2085798928418a54e10d56bc037863ee57a9", CSSHash: "7cae98eaf8e3d5d1cd7fadaa6806ce3d65d74d92"}},
+ "Astro.Mechanism.CharacterCloud.create": {Name: "Astro.Mechanism.CharacterCloud.create", Kind: "method", Parent: "Astro.Mechanism.CharacterCloud", Imports: []string(nil), Resource: classmap.Resource{Src: "", JSHash: "", CSSHash: ""}},
+ "Astro.Mechanism.Parallax": {Name: "Astro.Mechanism.Parallax", Kind: "class", Parent: "Astro.Mechanism", Imports: []string{"System.Cycle", "Dandelion", "Dandelion.IDOMObject"}, Resource: classmap.Resource{Src: "Astro/Mechanism/Parallax.js", JSHash: "ba7b1816fc5d32edfaf5b93b9d35c7b2c297f011", CSSHash: "f8c02f4ec1be082e02c51f0b5ea39cbdd5b0e49f"}},
+ "Astro.Mechanism.Parallax.attach": {Name: "Astro.Mechanism.Parallax.attach", Kind: "method", Parent: "Astro.Mechanism.Parallax", Imports: []string(nil), Resource: classmap.Resource{Src: "", JSHash: "", CSSHash: ""}},
+ "Astro.Mechanism.Parallax.cssSlide": {Name: "Astro.Mechanism.Parallax.cssSlide", Kind: "method", Parent: "Astro.Mechanism.Parallax", Imports: []string(nil), Resource: classmap.Resource{Src: "", JSHash: "", CSSHash: ""}},
+ "Astro.Mechanism.Parallax.verticalSlideTo": {Name: "Astro.Mechanism.Parallax.verticalSlideTo", Kind: "method", Parent: "Astro.Mechanism.Parallax", Imports: []string(nil), Resource: classmap.Resource{Src: "", JSHash: "", CSSHash: ""}},
+ "Astro.Penguin": {Name: "Astro.Penguin", Kind: "class", Parent: "Astro", Imports: []string(nil), Resource: classmap.Resource{Src: "", JSHash: "", CSSHash: ""}},
+ "Astro.Penguin.Layout": {Name: "Astro.Penguin.Layout", Kind: "class", Parent: "Astro.Penguin", Imports: []string(nil), Resource: classmap.Resource{Src: "", JSHash: "", CSSHash: ""}},
+ "Astro.Penguin.Layout.MainFrame": {Name: "Astro.Penguin.Layout.MainFrame", Kind: "class", Parent: "Astro.Penguin.Layout", Imports: []string{"System.Cycle", "System.Cycle.Trigger", "System.utils.IKey", "System.utils.DataKey", "Dandelion", "Dandelion.IDOMObject", "Dandelion.IDOMElement", "Dandelion.Window", "System.Debug", "Astro.Bootstrap", "Dandelion.CSSReset", "Dandelion.CSSAnimations", "Astro.Blog.SharedStyle", "Astro.Starfall.Element.Layer"}, Resource: classmap.Resource{Src: "Astro/Penguin/Layout/MainFrame.js", JSHash: "b2f58fc9394745c1e47dfb95c4043f59f76acc1a", CSSHash: "e87b69ab9e725e4801065850790670d76f0a6d18"}},
+ "Astro.Penguin.Page": {Name: "Astro.Penguin.Page", Kind: "class", Parent: "Astro.Penguin", Imports: []string{"Astro.Penguin.Layout.MainFrame"}, Resource: classmap.Resource{Src: "Astro/Penguin/Page/_this.js", JSHash: "66e415e546eb6ca0b84cedfd4d3b6de67c2164f3", CSSHash: "e8afcaa8c75b241cd933cfc99a648adc42f815d7"}},
+ "Astro.Penguin.Page.Docs": {Name: "Astro.Penguin.Page.Docs", Kind: "class", Parent: "Astro.Penguin.Page", Imports: []string{"Astro.Penguin.Layout.MainFrame"}, Resource: classmap.Resource{Src: "Astro/Penguin/Page/Docs.js", JSHash: "02217e7fa4ebffe90b32002ef07da500ac02bf52", CSSHash: "5230a026499b9ab0f4f530f4975a9df89170c83b"}},
+ "Astro.Starfall": {Name: "Astro.Starfall", Kind: "class", Parent: "Astro", Imports: []string(nil), Resource: classmap.Resource{Src: "", JSHash: "", CSSHash: ""}},
+ "Astro.Starfall.Element": {Name: "Astro.Starfall.Element", Kind: "class", Parent: "Astro.Starfall", Imports: []string(nil), Resource: classmap.Resource{Src: "", JSHash: "", CSSHash: ""}},
+ "Astro.Starfall.Element.Footer": {Name: "Astro.Starfall.Element.Footer", Kind: "class", Parent: "Astro.Starfall.Element", Imports: []string{"Astro.Common.Element.Footer"}, Resource: classmap.Resource{Src: "Astro/Starfall/Element/Footer.js", JSHash: "8667936ab4c583ec475770d0f4470348b1a60281", CSSHash: "8424988d632d155f1558c0069dc17f326a53703a"}},
+ "Astro.Starfall.Element.Header": {Name: "Astro.Starfall.Element.Header", Kind: "class", Parent: "Astro.Starfall.Element", Imports: []string{"Astro.Bootstrap"}, Resource: classmap.Resource{Src: "Astro/Starfall/Element/Header.js", JSHash: "467470a9c5cb5630ae8ec07b29a4496c6a401e0b", CSSHash: "c6bd96ee7e0993a2db1fde4885e5f44cff901878"}},
+ "Astro.Starfall.Element.Layer": {Name: "Astro.Starfall.Element.Layer", Kind: "class", Parent: "Astro.Starfall.Element", Imports: []string(nil), Resource: classmap.Resource{Src: "Astro/Starfall/Element/Layer.js", JSHash: "cc3c87e83813ee68a9ccc3a12c08992c3027a721", CSSHash: "c482b4089b04665a5d7c5527f8008622375885a2"}},
+ "Astro.Starfall.Layout": {Name: "Astro.Starfall.Layout", Kind: "class", Parent: "Astro.Starfall", Imports: []string(nil), Resource: classmap.Resource{Src: "", JSHash: "", CSSHash: ""}},
+ "Astro.Starfall.Layout.MainFrame": {Name: "Astro.Starfall.Layout.MainFrame", Kind: "class", Parent: "Astro.Starfall.Layout", Imports: []string{"Dandelion", "Dandelion.IDOMObject", "Dandelion.Window", "System.Debug", "Astro.Bootstrap", "Astro.Starfall.Element.Layer"}, Resource: classmap.Resource{Src: "Astro/Starfall/Layout/MainFrame.js", JSHash: "f237e72d5cc13922b04857c9290998b7dbbe59d5", CSSHash: "9654c2c26915302a661f5d3fb4f19833ffc6c11d"}},
+ "Astro.Starfall.Layout.PureColumn": {Name: "Astro.Starfall.Layout.PureColumn", Kind: "class", Parent: "Astro.Starfall.Layout", Imports: []string{"Astro.Bootstrap", "System.Cycle", "Astro.Blog.Config", "System.Debug"}, Resource: classmap.Resource{Src: "Astro/Starfall/Layout/PureColumn.js", JSHash: "5164bbe0019969bf85c649a6991ccd3b8c780b3a", CSSHash: "d1920d1be9f9d9bbfdfdbb16565454c58ed6c78c"}},
+ "Astro.Starfall.Layout.TwoColumn": {Name: "Astro.Starfall.Layout.TwoColumn", Kind: "class", Parent: "Astro.Starfall.Layout", Imports: []string(nil), Resource: classmap.Resource{Src: "Astro/Starfall/Layout/TwoColumn.js", JSHash: "e55bedfac6ff774f7bbf46b69b1b537b28f8e993", CSSHash: "cf05ec131d63e657f0eba0183c8055d0101bcf08"}},
+ "Astro.utils": {Name: "Astro.utils", Kind: "class", Parent: "Astro", Imports: []string(nil), Resource: classmap.Resource{Src: "Astro/utils/_this.js", JSHash: "21e99449ec5c1a4b6d25164db9434132aeea5ad3", CSSHash: "1"}},
+ "Astro.utils.Date": {Name: "Astro.utils.Date", Kind: "class", Parent: "Astro.utils", Imports: []string(nil), Resource: classmap.Resource{Src: "Astro/utils/Date.js", JSHash: "45221fe447d15fd943310fe9d3d3308f884b6aec", CSSHash: "1"}},
+ "Astro.utils.Date.CAP_MONTHS": {Name: "Astro.utils.Date.CAP_MONTHS", Kind: "prop", Parent: "Astro.utils.Date", Imports: []string(nil), Resource: classmap.Resource{Src: "", JSHash: "", CSSHash: ""}},
+ "Astro.utils.Date.DAY": {Name: "Astro.utils.Date.DAY", Kind: "prop", Parent: "Astro.utils.Date", Imports: []string(nil), Resource: classmap.Resource{Src: "", JSHash: "", CSSHash: ""}},
+ "Astro.utils.Date.DAY_ABBR": {Name: "Astro.utils.Date.DAY_ABBR", Kind: "prop", Parent: "Astro.utils.Date", Imports: []string(nil), Resource: classmap.Resource{Src: "", JSHash: "", CSSHash: ""}},
+ "Astro.utils.Date.MONTH": {Name: "Astro.utils.Date.MONTH", Kind: "prop", Parent: "Astro.utils.Date", Imports: []string(nil), Resource: classmap.Resource{Src: "", JSHash: "", CSSHash: ""}},
+ "Astro.utils.Date.MONTH_ABBR": {Name: "Astro.utils.Date.MONTH_ABBR", Kind: "prop", Parent: "Astro.utils.Date", Imports: []string(nil), Resource: classmap.Resource{Src: "", JSHash: "", CSSHash: ""}},
+ "Astro.utils.Date.chinese": {Name: "Astro.utils.Date.chinese", Kind: "method", Parent: "Astro.utils.Date", Imports: []string(nil), Resource: classmap.Resource{Src: "", JSHash: "", CSSHash: ""}},
+ "Astro.utils.Date.diff": {Name: "Astro.utils.Date.diff", Kind: "method", Parent: "Astro.utils.Date", Imports: []string(nil), Resource: classmap.Resource{Src: "", JSHash: "", CSSHash: ""}},
+ "Astro.utils.Date.pretty": {Name: "Astro.utils.Date.pretty", Kind: "method", Parent: "Astro.utils.Date", Imports: []string(nil), Resource: classmap.Resource{Src: "", JSHash: "", CSSHash: ""}},
+ "Astro.utils.Date.prettyDay": {Name: "Astro.utils.Date.prettyDay", Kind: "method", Parent: "Astro.utils.Date", Imports: []string(nil), Resource: classmap.Resource{Src: "", JSHash: "", CSSHash: ""}},
+ "Astro.utils.Date.smstamp": {Name: "Astro.utils.Date.smstamp", Kind: "method", Parent: "Astro.utils.Date", Imports: []string(nil), Resource: classmap.Resource{Src: "", JSHash: "", CSSHash: ""}},
+ "Components": {Name: "Components", Kind: "class", Parent: "", Imports: []string(nil), Resource: classmap.Resource{Src: "Components/_this.js", JSHash: "f4cb7babe62a5cdae34d2c4ebcb55071e81da4ff", CSSHash: "1"}},
+ "Components.Console": {Name: "Components.Console", Kind: "class", Parent: "Components", Imports: []string{"System.utils.Perf", "System.Cycle", "System.Cycle.TICK", "System.Global", "System.Log", "System.Debug", "Dandelion", "Dandelion.IDOMElement", "Components.DockPanel"}, Resource: classmap.Resource{Src: "Components/Console.js", JSHash: "115be15db72bd22f8222510e7bf4ce0c741028fb", CSSHash: "452f4a36e8fd7321c7d177a311047c8b71165e48"}},
+ "Components.DockPanel": {Name: "Components.DockPanel", Kind: "class", Parent: "Components", Imports: []string{"System.Cycle", "System.utils.DataKey", "Dandelion", "Dandelion.IDOMElement"}, Resource: classmap.Resource{Src: "Components/DockPanel.js", JSHash: "c74b3081efdcbfa13300e9a49529f5664734b24e", CSSHash: "af0d91982c764ee62c46b243be68c08f2808e82b"}},
+ "Components.MessageBox": {Name: "Components.MessageBox", Kind: "class", Parent: "Components", Imports: []string{"System.Cycle.Trigger", "Dandelion", "Dandelion.IDOMObject", "System.utils.EventKey", "Dandelion.CSSAnimations"}, Resource: classmap.Resource{Src: "Components/MessageBox.js", JSHash: "db0b55a5e0b1a92b9781c2b0b13817355b8e3cdf", CSSHash: "5571fa4c2e1324dcf1f2e18df8b6105cf37dfc53"}},
+ "Components.Mouse": {Name: "Components.Mouse", Kind: "class", Parent: "Components", Imports: []string(nil), Resource: classmap.Resource{Src: "Components/Mouse/_this.js", JSHash: "9ec5ced53a20ea1d057e2142668e27e5df7d49f6", CSSHash: "1"}},
+ "Components.Mouse.Clipboard": {Name: "Components.Mouse.Clipboard", Kind: "class", Parent: "Components.Mouse", Imports: []string{"System.Global", "System.Debug", "System.utils.Perf", "System.Cycle", "Dandelion.IDOMElement", "Dandelion"}, Resource: classmap.Resource{Src: "Components/Mouse/Clipboard.js", JSHash: "574a1ef17878beb21395a2eecfa75d046ff694e0", CSSHash: "1b7f85206ce1560ed23d3b270e093022e25d2e61"}},
+ "Components.Mouse.Clipboard.capture": {Name: "Components.Mouse.Clipboard.capture", Kind: "method", Parent: "Components.Mouse.Clipboard", Imports: []string(nil), Resource: classmap.Resource{Src: "", JSHash: "", CSSHash: ""}},
+ "Components.Mouse.Clipboard.init": {Name: "Components.Mouse.Clipboard.init", Kind: "method", Parent: "Components.Mouse.Clipboard", Imports: []string(nil), Resource: classmap.Resource{Src: "", JSHash: "", CSSHash: ""}},
+ "Components.Mouse.Clipboard.onMouseOut": {Name: "Components.Mouse.Clipboard.onMouseOut", Kind: "prop", Parent: "Components.Mouse.Clipboard", Imports: []string(nil), Resource: classmap.Resource{Src: "", JSHash: "", CSSHash: ""}},
+ "Components.Mouse.Clipboard.onMouseOver": {Name: "Components.Mouse.Clipboard.onMouseOver", Kind: "prop", Parent: "Components.Mouse.Clipboard", Imports: []string(nil), Resource: classmap.Resource{Src: "", JSHash: "", CSSHash: ""}},
+ "Components.Mouse.Clipboard.setTextToCopy": {Name: "Components.Mouse.Clipboard.setTextToCopy", Kind: "method", Parent: "Components.Mouse.Clipboard", Imports: []string(nil), Resource: classmap.Resource{Src: "", JSHash: "", CSSHash: ""}},
+ "Components.Mouse.ContextMenu": {Name: "Components.Mouse.ContextMenu", Kind: "class", Parent: "Components.Mouse", Imports: []string{"System.utils", "System.utils.IKey", "System.utils.DataKey", "System.utils.EventKey", "System.Cycle", "Dandelion", "Dandelion.IDOMElement", "Components.Mouse.Clipboard"}, Resource: classmap.Resource{Src: "Components/Mouse/ContextMenu.js", JSHash: "b39bc1df1324c43b7092bc3db7d15e780b8b2cc0", CSSHash: "d5a5f1a4a0db9a440b9a070f9879beaddffbd99a"}},
+ "Components.Vim": {Name: "Components.Vim", Kind: "class", Parent: "Components", Imports: []string(nil), Resource: classmap.Resource{Src: "Components/Vim/_this.js", JSHash: "2abd3bc287e8b8b0b5966457835dcb4bde6174df", CSSHash: "7949b25860fcef736927c01502aad09b56d764b2"}},
+ "Components.Vim.ActionEvent": {Name: "Components.Vim.ActionEvent", Kind: "class", Parent: "Components.Vim", Imports: []string{"System.Debug", "Components.Vim.Ex.Command", "Components.Vim.Beep"}, Resource: classmap.Resource{Src: "Components/Vim/Controls.js", JSHash: "d820f2b288a11adfd43eed1186f702013530606f", CSSHash: "1"}},
+ "Components.Vim.Actions": {Name: "Components.Vim.Actions", Kind: "class", Parent: "Components.Vim", Imports: []string(nil), Resource: classmap.Resource{Src: "", JSHash: "", CSSHash: ""}},
+ "Components.Vim.Actions.BUFFERS": {Name: "Components.Vim.Actions.BUFFERS", Kind: "class", Parent: "Components.Vim.Actions", Imports: []string{"System.Debug", "Dandelion", "Components.Vim.Message", "System.utils.Perf.CountSubstr"}, Resource: classmap.Resource{Src: "Components/Vim/Actions/BUFFERS.js", JSHash: "1eedc2f169d3f67ac05e1ad25b9728619a1333d4", CSSHash: "1"}},
+ "Components.Vim.Actions.DELETE": {Name: "Components.Vim.Actions.DELETE", Kind: "class", Parent: "Components.Vim.Actions", Imports: []string{"System.Debug", "Components.Vim.State.Stator", "Components.Vim.State.Stack", "Components.Vim.Message", "Components.Vim.Beep", "System.utils.Perf.CountSubstr"}, Resource: classmap.Resource{Src: "Components/Vim/Actions/DELETE.js", JSHash: "12223cd3496265f907c83a6f42bab6eebb174983", CSSHash: "1"}},
+ "Components.Vim.Actions.EDITOR_COMMAND": {Name: "Components.Vim.Actions.EDITOR_COMMAND", Kind: "class", Parent: "Components.Vim.Actions", Imports: []string{"System.Debug", "Components.Vim.Error"}, Resource: classmap.Resource{Src: "Components/Vim/Actions/EDITOR_COMMAND.js", JSHash: "38f9bd4f5c880fc172b8f50aae38ebb9d189bfe8", CSSHash: "1"}},
+ "Components.Vim.Actions.FIND": {Name: "Components.Vim.Actions.FIND", Kind: "class", Parent: "Components.Vim.Actions", Imports: []string{"System.Debug", "Components.Vim.Error", "Components.Vim.Message"}, Resource: classmap.Resource{Src: "Components/Vim/Actions/FIND.js", JSHash: "e408e00eb64bf4daffb39973b41141458966d18f", CSSHash: "1"}},
+ "Components.Vim.Actions.INSERT": {Name: "Components.Vim.Actions.INSERT", Kind: "class", Parent: "Components.Vim.Actions", Imports: []string{"Components.Vim.State.Stack", "Components.Vim.State.Stator", "System.Debug", "Components.Vim.Message"}, Resource: classmap.Resource{Src: "Components/Vim/Actions/INSERT.js", JSHash: "cb9d322d663840c1e991559127b5b8ad7b7273f0", CSSHash: "1"}},
+ "Components.Vim.Actions.JOIN_LINES": {Name: "Components.Vim.Actions.JOIN_LINES", Kind: "class", Parent: "Components.Vim.Actions", Imports: []string{"System.Debug", "Components.Vim.State.Stator", "Components.Vim.State.Stack", "Components.Vim.Beep", "Components.Vim.Message", "System.utils.Perf.CountSubstr"}, Resource: classmap.Resource{Src: "Components/Vim/Actions/JOIN_LINES.js", JSHash: "2c0bafefa8edb662e5003780b4ae8a6b8488a317", CSSHash: "1"}},
+ "Components.Vim.Actions.MARK": {Name: "Components.Vim.Actions.MARK", Kind: "class", Parent: "Components.Vim.Actions", Imports: []string{"System.Debug", "Components.Vim.Beep"}, Resource: classmap.Resource{Src: "Components/Vim/Actions/MARK.js", JSHash: "4e959247d49f84b20f96c8a186492c93d1ff5960", CSSHash: "1"}},
+ "Components.Vim.Actions.MARKS": {Name: "Components.Vim.Actions.MARKS", Kind: "class", Parent: "Components.Vim.Actions", Imports: []string{"System.Debug", "Components.Vim.Error", "Components.Vim.Message", "Components.Vim.State.Marks"}, Resource: classmap.Resource{Src: "Components/Vim/Actions/MARKS.js", JSHash: "06699d99178aef5758d7cd7ca46d3b7806ed7621", CSSHash: "1"}},
+ "Components.Vim.Actions.PRINT": {Name: "Components.Vim.Actions.PRINT", Kind: "class", Parent: "Components.Vim.Actions", Imports: []string{"System.Debug"}, Resource: classmap.Resource{Src: "Components/Vim/Actions/PRINT.js", JSHash: "d2fae160852cfb3aeed074dc8eef66b71af46224", CSSHash: "1"}},
+ "Components.Vim.Actions.PRINT_HEX": {Name: "Components.Vim.Actions.PRINT_HEX", Kind: "class", Parent: "Components.Vim.Actions", Imports: []string{"System.Debug"}, Resource: classmap.Resource{Src: "Components/Vim/Actions/PRINT_HEX.js", JSHash: "5ae91c340b0ce35aac6ab73bc4302cfa94e02dd2", CSSHash: "1"}},
+ "Components.Vim.Actions.PUT": {Name: "Components.Vim.Actions.PUT", Kind: "class", Parent: "Components.Vim.Actions", Imports: []string{"Components.Vim.State.Stator", "Components.Vim.State.Stack", "Components.Vim.Message", "System.utils.Perf.CountSubstr"}, Resource: classmap.Resource{Src: "Components/Vim/Actions/PUT.js", JSHash: "aebed9fffbae518dbbd59d7b84a399f5cb48398a", CSSHash: "1"}},
+ "Components.Vim.Actions.QUIT": {Name: "Components.Vim.Actions.QUIT", Kind: "class", Parent: "Components.Vim.Actions", Imports: []string{"System.Debug", "Components.Vim.Error", "System.utils.Perf.CountSubstr"}, Resource: classmap.Resource{Src: "Components/Vim/Actions/QUIT.js", JSHash: "eeb7923e9b8a06ddea2c2d0fff76edb75d04121e", CSSHash: "1"}},
+ "Components.Vim.Actions.REDO": {Name: "Components.Vim.Actions.REDO", Kind: "class", Parent: "Components.Vim.Actions", Imports: []string{"Components.Vim.Message"}, Resource: classmap.Resource{Src: "Components/Vim/Actions/REDO.js", JSHash: "a2895a9628f9a075f350fcb0583042f64518ce3d", CSSHash: "1"}},
+ "Components.Vim.Actions.REGISTERS": {Name: "Components.Vim.Actions.REGISTERS", Kind: "class", Parent: "Components.Vim.Actions", Imports: []string{"System.Debug", "Components.Vim.Error", "Components.Vim.Message"}, Resource: classmap.Resource{Src: "Components/Vim/Actions/REGISTERS.js", JSHash: "ddaa381db6d77db810a21a35e05f2008034e43ef", CSSHash: "1"}},
+ "Components.Vim.Actions.REPLACE": {Name: "Components.Vim.Actions.REPLACE", Kind: "class", Parent: "Components.Vim.Actions", Imports: []string{"System.Debug", "Components.Vim.State.Stack", "Components.Vim.Error", "Components.Vim.Message", "System.utils.Perf.CountSubstr", "Components.Vim.Actions.FIND"}, Resource: classmap.Resource{Src: "Components/Vim/Actions/REPLACE.js", JSHash: "7d7b173c63c2252eae700be2021a11470b08276c", CSSHash: "1"}},
+ "Components.Vim.Actions.SHIFT_LINES": {Name: "Components.Vim.Actions.SHIFT_LINES", Kind: "class", Parent: "Components.Vim.Actions", Imports: []string{"System.Debug", "Components.Vim.Beep", "Components.Vim.State.Stator", "Components.Vim.State.Stack", "Components.Vim.Error", "Components.Vim.Message", "System.utils.Perf.CountSubstr"}, Resource: classmap.Resource{Src: "Components/Vim/Actions/SHIFT_LINES.js", JSHash: "d85ff4738e31e1a8a8acdaf5f00bb5d654290b14", CSSHash: "1"}},
+ "Components.Vim.Actions.TO": {Name: "Components.Vim.Actions.TO", Kind: "class", Parent: "Components.Vim.Actions", Imports: []string{"System.Debug", "Components.Vim.Beep"}, Resource: classmap.Resource{Src: "Components/Vim/Actions/TO.js", JSHash: "78a814b3fb5c9feff473a265e7253d699f484871", CSSHash: "1"}},
+ "Components.Vim.Actions.UNDO": {Name: "Components.Vim.Actions.UNDO", Kind: "class", Parent: "Components.Vim.Actions", Imports: []string{"Components.Vim.Message"}, Resource: classmap.Resource{Src: "Components/Vim/Actions/UNDO.js", JSHash: "bb3f119407547329da561213cca7445b63e30d3c", CSSHash: "1"}},
+ "Components.Vim.Actions.VA_REC": {Name: "Components.Vim.Actions.VA_REC", Kind: "class", Parent: "Components.Vim.Actions", Imports: []string{"System.Debug", "System.utils.EventKey", "Components.Vim.ActionEvent", "Components.Vim.Message"}, Resource: classmap.Resource{Src: "Components/Vim/Actions/VA_REC.js", JSHash: "8904fe42c7211334b063c6d89d0b3deb0ffd3633", CSSHash: "1"}},
+ "Components.Vim.Actions.VERSION": {Name: "Components.Vim.Actions.VERSION", Kind: "class", Parent: "Components.Vim.Actions", Imports: []string{"System.Debug", "Components.Vim.Error", "Components.Vim.Message"}, Resource: classmap.Resource{Src: "Components/Vim/Actions/VERSION.js", JSHash: "1aae87bf77f87a6202733ef515e927d788cd3bc5", CSSHash: "1"}},
+ "Components.Vim.Actions.VISUAL": {Name: "Components.Vim.Actions.VISUAL", Kind: "class", Parent: "Components.Vim.Actions", Imports: []string{"System.Debug", "Components.Vim.Message", "Components.Vim.Actions.YANK", "Components.Vim.Actions.DELETE", "Components.Vim.Actions.SHIFT_LINES", "Components.Vim.Actions.PUT"}, Resource: classmap.Resource{Src: "Components/Vim/Actions/VISUAL.js", JSHash: "2dba8beb95823fd5ff5af757de7319b7a0970cc4", CSSHash: "1"}},
+ "Components.Vim.Actions.WORD": {Name: "Components.Vim.Actions.WORD", Kind: "class", Parent: "Components.Vim.Actions", Imports: []string{"System.Debug", "Components.Vim.Beep"}, Resource: classmap.Resource{Src: "Components/Vim/Actions/WORD.js", JSHash: "dcbb5a4830c5a747ca3f1e6ab5fc6be68c1c3a9b", CSSHash: "1"}},
+ "Components.Vim.Actions.WRITE": {Name: "Components.Vim.Actions.WRITE", Kind: "class", Parent: "Components.Vim.Actions", Imports: []string{"System.Debug", "Components.Vim.Message", "System.utils.Perf.CountSubstr"}, Resource: classmap.Resource{Src: "Components/Vim/Actions/WRITE.js", JSHash: "6aed08f607ad6c050798a37461ffc6394bb7b5aa", CSSHash: "1"}},
+ "Components.Vim.Actions.YANK": {Name: "Components.Vim.Actions.YANK", Kind: "class", Parent: "Components.Vim.Actions", Imports: []string{"System.Debug", "Components.Vim.Message", "Components.Vim.Beep", "System.utils.Perf.CountSubstr"}, Resource: classmap.Resource{Src: "Components/Vim/Actions/YANK.js", JSHash: "4c428bea3ce9c15b94f294b1d4cd17ee4cde8824", CSSHash: "1"}},
+ "Components.Vim.Beep": {Name: "Components.Vim.Beep", Kind: "method", Parent: "Components.Vim", Imports: []string(nil), Resource: classmap.Resource{Src: "", JSHash: "", CSSHash: ""}},
+ "Components.Vim.Controls": {Name: "Components.Vim.Controls", Kind: "class", Parent: "Components.Vim", Imports: []string{"System.Debug", "Components.Vim.Ex.Command", "Components.Vim.Beep"}, Resource: classmap.Resource{Src: "Components/Vim/Controls.js", JSHash: "d820f2b288a11adfd43eed1186f702013530606f", CSSHash: "1"}},
+ "Components.Vim.Cursor": {Name: "Components.Vim.Cursor", Kind: "class", Parent: "Components.Vim", Imports: []string{"System.Debug", "Components.Vim.State.Recorder", "Components.Vim.Actions.*", "System.utils.Perf.CountSubstr"}, Resource: classmap.Resource{Src: "Components/Vim/Cursor.js", JSHash: "499fe9a53c9de02138c3440b0433227b00846259", CSSHash: "1"}},
+ "Components.Vim.DateTime": {Name: "Components.Vim.DateTime", Kind: "class", Parent: "Components.Vim", Imports: []string{"Components.Vim.DateTime.String"}, Resource: classmap.Resource{Src: "Components/Vim/DateTime/_this.js", JSHash: "420103edb4f3df39be9eceabd4b88919b5cf7cc7", CSSHash: "1"}},
+ "Components.Vim.DateTime.RelativeTime": {Name: "Components.Vim.DateTime.RelativeTime", Kind: "method", Parent: "Components.Vim.DateTime", Imports: []string(nil), Resource: classmap.Resource{Src: "", JSHash: "", CSSHash: ""}},
+ "Components.Vim.DateTime.String": {Name: "Components.Vim.DateTime.String", Kind: "method", Parent: "Components.Vim.DateTime", Imports: []string(nil), Resource: classmap.Resource{Src: "Components/Vim/DateTime/String.js", JSHash: "07b11e176cccc423e75d8fe66302f8cb8b009418", CSSHash: "1"}},
+ "Components.Vim.Error": {Name: "Components.Vim.Error", Kind: "method", Parent: "Components.Vim", Imports: []string(nil), Resource: classmap.Resource{Src: "", JSHash: "", CSSHash: ""}},
+ "Components.Vim.Ex": {Name: "Components.Vim.Ex", Kind: "class", Parent: "Components.Vim", Imports: []string(nil), Resource: classmap.Resource{Src: "", JSHash: "", CSSHash: ""}},
+ "Components.Vim.Ex.Command": {Name: "Components.Vim.Ex.Command", Kind: "class", Parent: "Components.Vim.Ex", Imports: []string{"System.Cycle", "System.Debug", "System.utils.Perf", "Components.Vim.State.History", "Components.Vim.Message", "Components.Vim.Beep"}, Resource: classmap.Resource{Src: "Components/Vim/Ex/Command.js", JSHash: "04ab6686c5f5543463c1b9668a0832cbe7b08771", CSSHash: "1"}},
+ "Components.Vim.LineBuffer": {Name: "Components.Vim.LineBuffer", Kind: "class", Parent: "Components.Vim", Imports: []string{"System.Debug", "System.utils.Perf.CountSubstr"}, Resource: classmap.Resource{Src: "Components/Vim/LineBuffer.js", JSHash: "d7815c5c0a40eda137ebb9559481b265e3f4c7be", CSSHash: "1"}},
+ "Components.Vim.LineFeeder": {Name: "Components.Vim.LineFeeder", Kind: "class", Parent: "Components.Vim", Imports: []string{"System.Debug", "Components.Vim.LineBuffer", "Components.Vim.Cursor", "System.utils.Perf.CountSubstr"}, Resource: classmap.Resource{Src: "Components/Vim/LineFeeder.js", JSHash: "7876d69d13a93fe96a04ca5c5b17496b1d542d86", CSSHash: "1"}},
+ "Components.Vim.Message": {Name: "Components.Vim.Message", Kind: "method", Parent: "Components.Vim", Imports: []string(nil), Resource: classmap.Resource{Src: "", JSHash: "", CSSHash: ""}},
+ "Components.Vim.State": {Name: "Components.Vim.State", Kind: "class", Parent: "Components.Vim", Imports: []string(nil), Resource: classmap.Resource{Src: "", JSHash: "", CSSHash: ""}},
+ "Components.Vim.State.History": {Name: "Components.Vim.State.History", Kind: "class", Parent: "Components.Vim.State", Imports: []string{"System.Debug"}, Resource: classmap.Resource{Src: "Components/Vim/State/History.js", JSHash: "2d338e9e47f157f392d9f9df210ec6e8768cffb0", CSSHash: "1"}},
+ "Components.Vim.State.Marks": {Name: "Components.Vim.State.Marks", Kind: "class", Parent: "Components.Vim.State", Imports: []string{"System.Debug", "Components.Vim.Beep"}, Resource: classmap.Resource{Src: "Components/Vim/State/Marks.js", JSHash: "66316f61f4b322bacea9899a5a9eee0bd12de8e6", CSSHash: "1"}},
+ "Components.Vim.State.Recorder": {Name: "Components.Vim.State.Recorder", Kind: "class", Parent: "Components.Vim.State", Imports: []string(nil), Resource: classmap.Resource{Src: "Components/Vim/State/Recorder.js", JSHash: "3172902ca4683ca0017800e060bb4a0d0dba3bc7", CSSHash: "1"}},
+ "Components.Vim.State.Registers": {Name: "Components.Vim.State.Registers", Kind: "class", Parent: "Components.Vim.State", Imports: []string{"System.Debug"}, Resource: classmap.Resource{Src: "Components/Vim/State/Registers.js", JSHash: "60e791e7464fd1c15329dc576b736de906c442e3", CSSHash: "1"}},
+ "Components.Vim.State.Stack": {Name: "Components.Vim.State.Stack", Kind: "class", Parent: "Components.Vim.State", Imports: []string{"Components.Vim.DateTime.RelativeTime"}, Resource: classmap.Resource{Src: "Components/Vim/State/Stack.js", JSHash: "bee72cfd5adec1fd9f0edb1b0e8e58c1865a9195", CSSHash: "1"}},
+ "Components.Vim.State.Stator": {Name: "Components.Vim.State.Stator", Kind: "class", Parent: "Components.Vim.State", Imports: []string(nil), Resource: classmap.Resource{Src: "Components/Vim/State/Stator.js", JSHash: "b86bc18676313544069bd5abe04e39fe3054652c", CSSHash: "1"}},
+ "Components.Vim.StatusBar": {Name: "Components.Vim.StatusBar", Kind: "class", Parent: "Components.Vim", Imports: []string{"System.Debug", "Components.Vim.LineFeeder"}, Resource: classmap.Resource{Src: "Components/Vim/StatusBar.js", JSHash: "461f00364ced9cb6e0ae83b9d18c6456fb051e26", CSSHash: "1"}},
+ "Components.Vim.Syntax": {Name: "Components.Vim.Syntax", Kind: "class", Parent: "Components.Vim", Imports: []string(nil), Resource: classmap.Resource{Src: "", JSHash: "", CSSHash: ""}},
+ "Components.Vim.Syntax.Analyzer": {Name: "Components.Vim.Syntax.Analyzer", Kind: "class", Parent: "Components.Vim.Syntax", Imports: []string{"System.Debug", "Components.Vim.Beep", "Components.Vim.Syntax.Word"}, Resource: classmap.Resource{Src: "Components/Vim/Syntax/Analyzer.js", JSHash: "64b9a2ae4c6ba0f9fdc0dda87323786df6c6b339", CSSHash: "1"}},
+ "Components.Vim.Syntax.TokenMatch": {Name: "Components.Vim.Syntax.TokenMatch", Kind: "class", Parent: "Components.Vim.Syntax", Imports: []string{"System.Debug", "Components.Vim.Beep", "Components.Vim.Syntax.Word"}, Resource: classmap.Resource{Src: "Components/Vim/Syntax/Analyzer.js", JSHash: "64b9a2ae4c6ba0f9fdc0dda87323786df6c6b339", CSSHash: "1"}},
+ "Components.Vim.Syntax.Word": {Name: "Components.Vim.Syntax.Word", Kind: "class", Parent: "Components.Vim.Syntax", Imports: []string(nil), Resource: classmap.Resource{Src: "Components/Vim/Syntax/Word.js", JSHash: "a6d24370b0906cc0f09cfd68d96d635cd583fac3", CSSHash: "1"}},
+ "Components.Vim.VimArea": {Name: "Components.Vim.VimArea", Kind: "class", Parent: "Components.Vim", Imports: []string{"Dandelion.IDOMElement", "System.utils.DataKey", "System.utils.EventKey", "System.Cycle", "System.Debug", "Components.Vim.State.Registers", "Components.Vim.State.Marks", "Components.Vim.Syntax.Analyzer", "Components.Vim.LineFeeder", "Components.Vim.StatusBar", "Components.Vim.Controls", "Components.Vim.ActionEvent", "Components.Vim.Message"}, Resource: classmap.Resource{Src: "Components/Vim/VimArea.js", JSHash: "2f02762ea783bbcb7843ebe72ec2660feada7c0c", CSSHash: "1"}},
+ "Dandelion": {Name: "Dandelion", Kind: "class", Parent: "", Imports: []string{"System.Global.IE", "System.utils.IKey"}, Resource: classmap.Resource{Src: "Dandelion/_this.js", JSHash: "deb13aff0c4ceb6aea9ac82b93d1b84a88540a14", CSSHash: "1"}},
+ "Dandelion.CSSAnimations": {Name: "Dandelion.CSSAnimations", Kind: "class", Parent: "Dandelion", Imports: []string(nil), Resource: classmap.Resource{Src: "Dandelion/CSSAnimations/_this.js", JSHash: "a01a6bcfc5851debc7179e9449dc93617bca3afc", CSSHash: "2d6b4b00f0c4050187ccf010e0a24e5bc6121d18"}},
+ "Dandelion.CSSAnimations.MouseOverMovie": {Name: "Dandelion.CSSAnimations.MouseOverMovie", Kind: "method", Parent: "Dandelion.CSSAnimations", Imports: []string(nil), Resource: classmap.Resource{Src: "Dandelion/CSSAnimations/MovieClip.js", JSHash: "a4c414b270c4fbdc6d4093b1d02791e5f088a871", CSSHash: "daa6e6f4ee3365e599cf1b2680f3e907389534f3"}},
+ "Dandelion.CSSAnimations.MovieClip": {Name: "Dandelion.CSSAnimations.MovieClip", Kind: "class", Parent: "Dandelion.CSSAnimations", Imports: []string{"System.utils.EventKey", "System.Cycle.Trigger", "Dandelion", "Dandelion.IDOMElement"}, Resource: classmap.Resource{Src: "Dandelion/CSSAnimations/MovieClip.js", JSHash: "a4c414b270c4fbdc6d4093b1d02791e5f088a871", CSSHash: "daa6e6f4ee3365e599cf1b2680f3e907389534f3"}},
+ "Dandelion.CSSReset": {Name: "Dandelion.CSSReset", Kind: "class", Parent: "Dandelion", Imports: []string(nil), Resource: classmap.Resource{Src: "Dandelion/CSSReset.js", JSHash: "f25ae8f90e11e3bb8eed6ebdac3a23305d615dc9", CSSHash: "59fbc1a2ec3f70e2b719fd73bff973efb34676c4"}},
+ "Dandelion.IDOMElement": {Name: "Dandelion.IDOMElement", Kind: "class", Parent: "Dandelion", Imports: []string{"System.utils.IKey", "System.utils.Perf", "Dandelion.wrap", "Dandelion.IDOMObject"}, Resource: classmap.Resource{Src: "Dandelion/IDOMElement.js", JSHash: "5ea3e5c5f209abd7a77e278b0709ee83efcb690e", CSSHash: "1"}},
+ "Dandelion.IDOMObject": {Name: "Dandelion.IDOMObject", Kind: "class", Parent: "Dandelion", Imports: []string{"System.utils.EventKey"}, Resource: classmap.Resource{Src: "Dandelion/IDOMObject.js", JSHash: "5727639574a022feccfef1deb2056146f1f23c06", CSSHash: "1"}},
+ "Dandelion.StaticRes": {Name: "Dandelion.StaticRes", Kind: "class", Parent: "Dandelion", Imports: []string(nil), Resource: classmap.Resource{Src: "Dandelion/StaticRes.js", JSHash: "43738524071b7207e6dba6bd223bf811bd475949", CSSHash: "1"}},
+ "Dandelion.StaticRes.BLANK_IMG": {Name: "Dandelion.StaticRes.BLANK_IMG", Kind: "prop", Parent: "Dandelion.StaticRes", Imports: []string(nil), Resource: classmap.Resource{Src: "", JSHash: "", CSSHash: ""}},
+ "Dandelion.Window": {Name: "Dandelion.Window", Kind: "class", Parent: "Dandelion", Imports: []string(nil), Resource: classmap.Resource{Src: "Dandelion/Window.js", JSHash: "ea38f2c0c2b5207abdb7265d2d5b7fa4177d0a47", CSSHash: "1"}},
+ "Dandelion.Window.clientHeight": {Name: "Dandelion.Window.clientHeight", Kind: "prop", Parent: "Dandelion.Window", Imports: []string(nil), Resource: classmap.Resource{Src: "", JSHash: "", CSSHash: ""}},
+ "Dandelion.Window.clientWidth": {Name: "Dandelion.Window.clientWidth", Kind: "prop", Parent: "Dandelion.Window", Imports: []string(nil), Resource: classmap.Resource{Src: "", JSHash: "", CSSHash: ""}},
+ "Dandelion.Window.scrollHeight": {Name: "Dandelion.Window.scrollHeight", Kind: "prop", Parent: "Dandelion.Window", Imports: []string(nil), Resource: classmap.Resource{Src: "", JSHash: "", CSSHash: ""}},
+ "Dandelion.Window.scrollLeft": {Name: "Dandelion.Window.scrollLeft", Kind: "prop", Parent: "Dandelion.Window", Imports: []string(nil), Resource: classmap.Resource{Src: "", JSHash: "", CSSHash: ""}},
+ "Dandelion.Window.scrollTop": {Name: "Dandelion.Window.scrollTop", Kind: "prop", Parent: "Dandelion.Window", Imports: []string(nil), Resource: classmap.Resource{Src: "", JSHash: "", CSSHash: ""}},
+ "Dandelion.Window.scrollWidth": {Name: "Dandelion.Window.scrollWidth", Kind: "prop", Parent: "Dandelion.Window", Imports: []string(nil), Resource: classmap.Resource{Src: "", JSHash: "", CSSHash: ""}},
+ "Dandelion.bubbleUp": {Name: "Dandelion.bubbleUp", Kind: "method", Parent: "Dandelion", Imports: []string(nil), Resource: classmap.Resource{Src: "", JSHash: "", CSSHash: ""}},
+ "Dandelion.chainUpApply": {Name: "Dandelion.chainUpApply", Kind: "method", Parent: "Dandelion", Imports: []string(nil), Resource: classmap.Resource{Src: "", JSHash: "", CSSHash: ""}},
+ "Dandelion.glass": {Name: "Dandelion.glass", Kind: "method", Parent: "Dandelion", Imports: []string(nil), Resource: classmap.Resource{Src: "", JSHash: "", CSSHash: ""}},
+ "Dandelion.id": {Name: "Dandelion.id", Kind: "method", Parent: "Dandelion", Imports: []string(nil), Resource: classmap.Resource{Src: "", JSHash: "", CSSHash: ""}},
+ "Dandelion.name": {Name: "Dandelion.name", Kind: "method", Parent: "Dandelion", Imports: []string(nil), Resource: classmap.Resource{Src: "", JSHash: "", CSSHash: ""}},
+ "Dandelion.tag": {Name: "Dandelion.tag", Kind: "method", Parent: "Dandelion", Imports: []string(nil), Resource: classmap.Resource{Src: "", JSHash: "", CSSHash: ""}},
+ "Dandelion.textNode": {Name: "Dandelion.textNode", Kind: "method", Parent: "Dandelion", Imports: []string(nil), Resource: classmap.Resource{Src: "", JSHash: "", CSSHash: ""}},
+ "Dandelion.wrap": {Name: "Dandelion.wrap", Kind: "method", Parent: "Dandelion", Imports: []string(nil), Resource: classmap.Resource{Src: "", JSHash: "", CSSHash: ""}},
+ "Dandelion.wrapc": {Name: "Dandelion.wrapc", Kind: "method", Parent: "Dandelion", Imports: []string(nil), Resource: classmap.Resource{Src: "", JSHash: "", CSSHash: ""}},
+ "Dandelion.wrape": {Name: "Dandelion.wrape", Kind: "method", Parent: "Dandelion", Imports: []string(nil), Resource: classmap.Resource{Src: "", JSHash: "", CSSHash: ""}},
+ "Dandelion.wrapna": {Name: "Dandelion.wrapna", Kind: "method", Parent: "Dandelion", Imports: []string(nil), Resource: classmap.Resource{Src: "", JSHash: "", CSSHash: ""}},
+ "Dandelion.wrapne": {Name: "Dandelion.wrapne", Kind: "method", Parent: "Dandelion", Imports: []string(nil), Resource: classmap.Resource{Src: "", JSHash: "", CSSHash: ""}},
+ "Libraries": {Name: "Libraries", Kind: "class", Parent: "", Imports: []string(nil), Resource: classmap.Resource{Src: "", JSHash: "", CSSHash: ""}},
+ "Libraries.SyntaxHighlighter": {Name: "Libraries.SyntaxHighlighter", Kind: "class", Parent: "Libraries", Imports: []string(nil), Resource: classmap.Resource{Src: "Libraries/SyntaxHighlighter/_this.js", JSHash: "3419332fc98c2a094bc8f2a3b16b87b8d98bd309", CSSHash: "3860c0c289ac761da7d9c595633f8bba8f58afe9"}},
+ "Libraries.SyntaxHighlighter.Brush": {Name: "Libraries.SyntaxHighlighter.Brush", Kind: "class", Parent: "Libraries.SyntaxHighlighter", Imports: []string(nil), Resource: classmap.Resource{Src: "", JSHash: "", CSSHash: ""}},
+ "Libraries.SyntaxHighlighter.Brush.AS3": {Name: "Libraries.SyntaxHighlighter.Brush.AS3", Kind: "class", Parent: "Libraries.SyntaxHighlighter.Brush", Imports: []string{"Libraries.SyntaxHighlighter"}, Resource: classmap.Resource{Src: "Libraries/SyntaxHighlighter/Brush/AS3.js", JSHash: "a9bcdf532ab90c0917f234e1fce13d7cbde6d303", CSSHash: "1"}},
+ "Libraries.SyntaxHighlighter.Brush.AppleScript": {Name: "Libraries.SyntaxHighlighter.Brush.AppleScript", Kind: "class", Parent: "Libraries.SyntaxHighlighter.Brush", Imports: []string{"Libraries.SyntaxHighlighter"}, Resource: classmap.Resource{Src: "Libraries/SyntaxHighlighter/Brush/AppleScript.js", JSHash: "2c161d78cd5b293e420559a6cb41dbf52af36364", CSSHash: "1"}},
+ "Libraries.SyntaxHighlighter.Brush.Bash": {Name: "Libraries.SyntaxHighlighter.Brush.Bash", Kind: "class", Parent: "Libraries.SyntaxHighlighter.Brush", Imports: []string{"Libraries.SyntaxHighlighter"}, Resource: classmap.Resource{Src: "Libraries/SyntaxHighlighter/Brush/Bash.js", JSHash: "e01737b50262fb8fda87df4d1d2fcc12c5cff279", CSSHash: "1"}},
+ "Libraries.SyntaxHighlighter.Brush.CSS": {Name: "Libraries.SyntaxHighlighter.Brush.CSS", Kind: "class", Parent: "Libraries.SyntaxHighlighter.Brush", Imports: []string{"Libraries.SyntaxHighlighter"}, Resource: classmap.Resource{Src: "Libraries/SyntaxHighlighter/Brush/Css.js", JSHash: "a13eea6d8b8560fe08dbdd8b5e11fe5caee1182e", CSSHash: "1"}},
+ "Libraries.SyntaxHighlighter.Brush.CSharp": {Name: "Libraries.SyntaxHighlighter.Brush.CSharp", Kind: "class", Parent: "Libraries.SyntaxHighlighter.Brush", Imports: []string{"Libraries.SyntaxHighlighter"}, Resource: classmap.Resource{Src: "Libraries/SyntaxHighlighter/Brush/CSharp.js", JSHash: "c8175bf390ff40ba9dcd2034affb9d3eeca1bbc6", CSSHash: "1"}},
+ "Libraries.SyntaxHighlighter.Brush.ColdFusion": {Name: "Libraries.SyntaxHighlighter.Brush.ColdFusion", Kind: "class", Parent: "Libraries.SyntaxHighlighter.Brush", Imports: []string{"Libraries.SyntaxHighlighter"}, Resource: classmap.Resource{Src: "Libraries/SyntaxHighlighter/Brush/ColdFusion.js", JSHash: "5752904015fee173d7b2cc805a385141d243accb", CSSHash: "1"}},
+ "Libraries.SyntaxHighlighter.Brush.Cpp": {Name: "Libraries.SyntaxHighlighter.Brush.Cpp", Kind: "class", Parent: "Libraries.SyntaxHighlighter.Brush", Imports: []string{"Libraries.SyntaxHighlighter"}, Resource: classmap.Resource{Src: "Libraries/SyntaxHighlighter/Brush/Cpp.js", JSHash: "3afd2a20b76f24bef4c6425ac7c676029251e768", CSSHash: "1"}},
+ "Libraries.SyntaxHighlighter.Brush.Delphi": {Name: "Libraries.SyntaxHighlighter.Brush.Delphi", Kind: "class", Parent: "Libraries.SyntaxHighlighter.Brush", Imports: []string{"Libraries.SyntaxHighlighter"}, Resource: classmap.Resource{Src: "Libraries/SyntaxHighlighter/Brush/Delphi.js", JSHash: "e8605d9f94172970ae3fb96e8a6708996bc3eb24", CSSHash: "1"}},
+ "Libraries.SyntaxHighlighter.Brush.Diff": {Name: "Libraries.SyntaxHighlighter.Brush.Diff", Kind: "class", Parent: "Libraries.SyntaxHighlighter.Brush", Imports: []string{"Libraries.SyntaxHighlighter"}, Resource: classmap.Resource{Src: "Libraries/SyntaxHighlighter/Brush/Diff.js", JSHash: "f4a6e49d18deb054fe7e542a871f79f72c828d50", CSSHash: "1"}},
+ "Libraries.SyntaxHighlighter.Brush.Erland": {Name: "Libraries.SyntaxHighlighter.Brush.Erland", Kind: "class", Parent: "Libraries.SyntaxHighlighter.Brush", Imports: []string{"Libraries.SyntaxHighlighter"}, Resource: classmap.Resource{Src: "Libraries/SyntaxHighlighter/Brush/Erlang.js", JSHash: "3a1cb02fd8787d7fb9c8cd059dac7ff55460f002", CSSHash: "1"}},
+ "Libraries.SyntaxHighlighter.Brush.Groovy": {Name: "Libraries.SyntaxHighlighter.Brush.Groovy", Kind: "class", Parent: "Libraries.SyntaxHighlighter.Brush", Imports: []string{"Libraries.SyntaxHighlighter"}, Resource: classmap.Resource{Src: "Libraries/SyntaxHighlighter/Brush/Groovy.js", JSHash: "5c426a7fe76c8856a0f3e742801ab22aab619207", CSSHash: "1"}},
+ "Libraries.SyntaxHighlighter.Brush.JScript": {Name: "Libraries.SyntaxHighlighter.Brush.JScript", Kind: "class", Parent: "Libraries.SyntaxHighlighter.Brush", Imports: []string{"Libraries.SyntaxHighlighter"}, Resource: classmap.Resource{Src: "Libraries/SyntaxHighlighter/Brush/JScript.js", JSHash: "0605f279369a383745da75c1193184b2b303140f", CSSHash: "1"}},
+ "Libraries.SyntaxHighlighter.Brush.Java": {Name: "Libraries.SyntaxHighlighter.Brush.Java", Kind: "class", Parent: "Libraries.SyntaxHighlighter.Brush", Imports: []string{"Libraries.SyntaxHighlighter"}, Resource: classmap.Resource{Src: "Libraries/SyntaxHighlighter/Brush/Java.js", JSHash: "080de761e0bac2f683aa7d6941cb82ff41a123d8", CSSHash: "1"}},
+ "Libraries.SyntaxHighlighter.Brush.JavaFX": {Name: "Libraries.SyntaxHighlighter.Brush.JavaFX", Kind: "class", Parent: "Libraries.SyntaxHighlighter.Brush", Imports: []string{"Libraries.SyntaxHighlighter"}, Resource: classmap.Resource{Src: "Libraries/SyntaxHighlighter/Brush/JavaFX.js", JSHash: "b9275be4113bc3d9d0c07e38d536289ee2694670", CSSHash: "1"}},
+ "Libraries.SyntaxHighlighter.Brush.Perl": {Name: "Libraries.SyntaxHighlighter.Brush.Perl", Kind: "class", Parent: "Libraries.SyntaxHighlighter.Brush", Imports: []string{"Libraries.SyntaxHighlighter"}, Resource: classmap.Resource{Src: "Libraries/SyntaxHighlighter/Brush/Perl.js", JSHash: "4cd8a05cb33146c5cfa80db799e341d154b90e48", CSSHash: "1"}},
+ "Libraries.SyntaxHighlighter.Brush.Php": {Name: "Libraries.SyntaxHighlighter.Brush.Php", Kind: "class", Parent: "Libraries.SyntaxHighlighter.Brush", Imports: []string{"Libraries.SyntaxHighlighter"}, Resource: classmap.Resource{Src: "Libraries/SyntaxHighlighter/Brush/Php.js", JSHash: "7dd28893e70e256385ea0b05f5b90b1c8ff6e542", CSSHash: "1"}},
+ "Libraries.SyntaxHighlighter.Brush.Plain": {Name: "Libraries.SyntaxHighlighter.Brush.Plain", Kind: "class", Parent: "Libraries.SyntaxHighlighter.Brush", Imports: []string{"Libraries.SyntaxHighlighter"}, Resource: classmap.Resource{Src: "Libraries/SyntaxHighlighter/Brush/Plain.js", JSHash: "6d5479daeaa74a77b5f2d4296953d3127885e475", CSSHash: "1"}},
+ "Libraries.SyntaxHighlighter.Brush.PowerShell": {Name: "Libraries.SyntaxHighlighter.Brush.PowerShell", Kind: "class", Parent: "Libraries.SyntaxHighlighter.Brush", Imports: []string{"Libraries.SyntaxHighlighter"}, Resource: classmap.Resource{Src: "Libraries/SyntaxHighlighter/Brush/PowerShell.js", JSHash: "2fa87850b6852fa21fbf40f65dfd9e40b6812fb1", CSSHash: "1"}},
+ "Libraries.SyntaxHighlighter.Brush.Python": {Name: "Libraries.SyntaxHighlighter.Brush.Python", Kind: "class", Parent: "Libraries.SyntaxHighlighter.Brush", Imports: []string{"Libraries.SyntaxHighlighter"}, Resource: classmap.Resource{Src: "Libraries/SyntaxHighlighter/Brush/Python.js", JSHash: "0bb656b70b58989685c7dfb95835ea7b96670e65", CSSHash: "1"}},
+ "Libraries.SyntaxHighlighter.Brush.Ruby": {Name: "Libraries.SyntaxHighlighter.Brush.Ruby", Kind: "class", Parent: "Libraries.SyntaxHighlighter.Brush", Imports: []string{"Libraries.SyntaxHighlighter"}, Resource: classmap.Resource{Src: "Libraries/SyntaxHighlighter/Brush/Ruby.js", JSHash: "a987bd40fdbea4edc8329315dae2311c6a7e38c3", CSSHash: "1"}},
+ "Libraries.SyntaxHighlighter.Brush.Sass": {Name: "Libraries.SyntaxHighlighter.Brush.Sass", Kind: "class", Parent: "Libraries.SyntaxHighlighter.Brush", Imports: []string{"Libraries.SyntaxHighlighter"}, Resource: classmap.Resource{Src: "Libraries/SyntaxHighlighter/Brush/Sass.js", JSHash: "e39acc0a9c9d542cc4f5be489f424915692672bb", CSSHash: "1"}},
+ "Libraries.SyntaxHighlighter.Brush.Scala": {Name: "Libraries.SyntaxHighlighter.Brush.Scala", Kind: "class", Parent: "Libraries.SyntaxHighlighter.Brush", Imports: []string{"Libraries.SyntaxHighlighter"}, Resource: classmap.Resource{Src: "Libraries/SyntaxHighlighter/Brush/Scala.js", JSHash: "f4e7249df2fd10ff775e928112e94eccfe1b6771", CSSHash: "1"}},
+ "Libraries.SyntaxHighlighter.Brush.Sql": {Name: "Libraries.SyntaxHighlighter.Brush.Sql", Kind: "class", Parent: "Libraries.SyntaxHighlighter.Brush", Imports: []string{"Libraries.SyntaxHighlighter"}, Resource: classmap.Resource{Src: "Libraries/SyntaxHighlighter/Brush/Sql.js", JSHash: "c150b86652ccc2c01f39074a3b88aef98334894f", CSSHash: "1"}},
+ "Libraries.SyntaxHighlighter.Brush.Vb": {Name: "Libraries.SyntaxHighlighter.Brush.Vb", Kind: "class", Parent: "Libraries.SyntaxHighlighter.Brush", Imports: []string{"Libraries.SyntaxHighlighter"}, Resource: classmap.Resource{Src: "Libraries/SyntaxHighlighter/Brush/Vb.js", JSHash: "cbcbee01e4eeea3e6ae1efdc655d1c406f5a2788", CSSHash: "1"}},
+ "Libraries.SyntaxHighlighter.Brush.Xml": {Name: "Libraries.SyntaxHighlighter.Brush.Xml", Kind: "class", Parent: "Libraries.SyntaxHighlighter.Brush", Imports: []string{"Libraries.SyntaxHighlighter", "Libraries.XRegExp"}, Resource: classmap.Resource{Src: "Libraries/SyntaxHighlighter/Brush/Xml.js", JSHash: "c20ed9b4285ede0af47cfc56e6eb6746b0768d3a", CSSHash: "1"}},
+ "Libraries.SyntaxHighlighter.Core": {Name: "Libraries.SyntaxHighlighter.Core", Kind: "class", Parent: "Libraries.SyntaxHighlighter", Imports: []string(nil), Resource: classmap.Resource{Src: "Libraries/SyntaxHighlighter/Core/_this.js", JSHash: "eb845464ccec54398e7b3fd2ebd91bb574e45536", CSSHash: "3860c0c289ac761da7d9c595633f8bba8f58afe9"}},
+ "Libraries.SyntaxHighlighter.Core.Default": {Name: "Libraries.SyntaxHighlighter.Core.Default", Kind: "class", Parent: "Libraries.SyntaxHighlighter.Core", Imports: []string(nil), Resource: classmap.Resource{Src: "Libraries/SyntaxHighlighter/Core/Default.js", JSHash: "2fca662e7e098416f96c4689e57aeaffe2fb15fc", CSSHash: "70c96f4f2bf365effb127f94cd2a8a4153df97ca"}},
+ "Libraries.SyntaxHighlighter.Core.Django": {Name: "Libraries.SyntaxHighlighter.Core.Django", Kind: "class", Parent: "Libraries.SyntaxHighlighter.Core", Imports: []string(nil), Resource: classmap.Resource{Src: "Libraries/SyntaxHighlighter/Core/Django.js", JSHash: "a8dadc16bc42853c8545462127cbd52f8a9777e6", CSSHash: "e89e7a33ddb1ae8fd8ce8111a7e45a2b53a29ba1"}},
+ "Libraries.SyntaxHighlighter.Core.Eclipse": {Name: "Libraries.SyntaxHighlighter.Core.Eclipse", Kind: "class", Parent: "Libraries.SyntaxHighlighter.Core", Imports: []string(nil), Resource: classmap.Resource{Src: "Libraries/SyntaxHighlighter/Core/Eclipse.js", JSHash: "1d207eb8538c73a4c60a7613baf25efb0376bd10", CSSHash: "f543e8388de2bc6d7ddf7f01de08c3c6f7370169"}},
+ "Libraries.SyntaxHighlighter.Core.Emacs": {Name: "Libraries.SyntaxHighlighter.Core.Emacs", Kind: "class", Parent: "Libraries.SyntaxHighlighter.Core", Imports: []string(nil), Resource: classmap.Resource{Src: "Libraries/SyntaxHighlighter/Core/Emacs.js", JSHash: "7b3d128d0275142e88b99afbbe79b45058f35eb3", CSSHash: "1e07b188eefa6dd89caad7eb423b6ba0b1405a64"}},
+ "Libraries.SyntaxHighlighter.Core.FadeToGrey": {Name: "Libraries.SyntaxHighlighter.Core.FadeToGrey", Kind: "class", Parent: "Libraries.SyntaxHighlighter.Core", Imports: []string(nil), Resource: classmap.Resource{Src: "Libraries/SyntaxHighlighter/Core/FadeToGrey.js", JSHash: "06e8cb1d6f69f83d4a603c9dbcaa00e91c5a688a", CSSHash: "8de99290e4ef56c917bbd76ef8eaac427c763dde"}},
+ "Libraries.SyntaxHighlighter.Core.MDUltra": {Name: "Libraries.SyntaxHighlighter.Core.MDUltra", Kind: "class", Parent: "Libraries.SyntaxHighlighter.Core", Imports: []string(nil), Resource: classmap.Resource{Src: "Libraries/SyntaxHighlighter/Core/MDUltra.js", JSHash: "0036fea327c5641e8152e267b4db7290d98e6f0d", CSSHash: "7d94466de541cc382973bbae54c34ecd5ba9d4ac"}},
+ "Libraries.SyntaxHighlighter.Core.Midnight": {Name: "Libraries.SyntaxHighlighter.Core.Midnight", Kind: "class", Parent: "Libraries.SyntaxHighlighter.Core", Imports: []string(nil), Resource: classmap.Resource{Src: "Libraries/SyntaxHighlighter/Core/Midnight.js", JSHash: "fbf2d9d380a4fb734a7609e34f78bad71918bd7d", CSSHash: "7f57e6041b8a9ea4d627b52d6a1cd15e8fd407d8"}},
+ "Libraries.SyntaxHighlighter.Core.RDark": {Name: "Libraries.SyntaxHighlighter.Core.RDark", Kind: "class", Parent: "Libraries.SyntaxHighlighter.Core", Imports: []string(nil), Resource: classmap.Resource{Src: "Libraries/SyntaxHighlighter/Core/RDark.js", JSHash: "b88b770d83b1b19e2c9fea207ac70e10d7228bc9", CSSHash: "d277888604281a26be5a921b4746a5d9c98a34f8"}},
+ "Libraries.SyntaxHighlighter.Theme": {Name: "Libraries.SyntaxHighlighter.Theme", Kind: "class", Parent: "Libraries.SyntaxHighlighter", Imports: []string{"Libraries.SyntaxHighlighter.Core"}, Resource: classmap.Resource{Src: "Libraries/SyntaxHighlighter/Theme/_this.js", JSHash: "55f3a4849ae1cbab812c4d46b043a4c100fd4cf6", CSSHash: "1"}},
+ "Libraries.SyntaxHighlighter.Theme.Default": {Name: "Libraries.SyntaxHighlighter.Theme.Default", Kind: "class", Parent: "Libraries.SyntaxHighlighter.Theme", Imports: []string{"Libraries.SyntaxHighlighter.Core.Default"}, Resource: classmap.Resource{Src: "Libraries/SyntaxHighlighter/Theme/Default.js", JSHash: "6141393c81cb7aada7b2a73a8dbfd558ebda1b27", CSSHash: "987c987735bb6b8994aaf203e473b33567576e21"}},
+ "Libraries.SyntaxHighlighter.Theme.Django": {Name: "Libraries.SyntaxHighlighter.Theme.Django", Kind: "class", Parent: "Libraries.SyntaxHighlighter.Theme", Imports: []string{"Libraries.SyntaxHighlighter.Core.Django"}, Resource: classmap.Resource{Src: "Libraries/SyntaxHighlighter/Theme/Django.js", JSHash: "23df03e056ed67c0314d650450f40379ec935e12", CSSHash: "5dfcda0646605919fee778c23a2d9553b0e6da52"}},
+ "Libraries.SyntaxHighlighter.Theme.Eclipse": {Name: "Libraries.SyntaxHighlighter.Theme.Eclipse", Kind: "class", Parent: "Libraries.SyntaxHighlighter.Theme", Imports: []string{"Libraries.SyntaxHighlighter.Core.Eclipse"}, Resource: classmap.Resource{Src: "Libraries/SyntaxHighlighter/Theme/Eclipse.js", JSHash: "eee5953aff8db6ee60e2081bc27830acd8cdf55e", CSSHash: "bdea6377e004a14071610af1b26e133dd4843039"}},
+ "Libraries.SyntaxHighlighter.Theme.Emacs": {Name: "Libraries.SyntaxHighlighter.Theme.Emacs", Kind: "class", Parent: "Libraries.SyntaxHighlighter.Theme", Imports: []string{"Libraries.SyntaxHighlighter.Core.Emacs"}, Resource: classmap.Resource{Src: "Libraries/SyntaxHighlighter/Theme/Emacs.js", JSHash: "580c4b66bc837bca243f458c03afed51b3a4ead0", CSSHash: "70163d78ff96d3b71dc417819408c751b2286787"}},
+ "Libraries.SyntaxHighlighter.Theme.FadeToGrey": {Name: "Libraries.SyntaxHighlighter.Theme.FadeToGrey", Kind: "class", Parent: "Libraries.SyntaxHighlighter.Theme", Imports: []string{"Libraries.SyntaxHighlighter.Core.FadeToGrey"}, Resource: classmap.Resource{Src: "Libraries/SyntaxHighlighter/Theme/FadeToGrey.js", JSHash: "f30ce35a2ce3f1ffd681f6e3924219770db03ac0", CSSHash: "b997df3d771f6c8403b71e4cac4f61a028cb6ab1"}},
+ "Libraries.SyntaxHighlighter.Theme.MDUltra": {Name: "Libraries.SyntaxHighlighter.Theme.MDUltra", Kind: "class", Parent: "Libraries.SyntaxHighlighter.Theme", Imports: []string{"Libraries.SyntaxHighlighter.Core.MDUltra"}, Resource: classmap.Resource{Src: "Libraries/SyntaxHighlighter/Theme/MDUltra.js", JSHash: "2970d2bc1f32512fdb2f8487b3fa718a41681c83", CSSHash: "632ce299b8f90d3de35f1505e72db4e1659e0859"}},
+ "Libraries.SyntaxHighlighter.Theme.Midnight": {Name: "Libraries.SyntaxHighlighter.Theme.Midnight", Kind: "class", Parent: "Libraries.SyntaxHighlighter.Theme", Imports: []string{"Libraries.SyntaxHighlighter.Core.Midnight"}, Resource: classmap.Resource{Src: "Libraries/SyntaxHighlighter/Theme/Midnight.js", JSHash: "9a5807549212dab3d3430e341cab2311b2f374e5", CSSHash: "138fe3f3bb425837fcfd9b46c3cc5ad199cb01cc"}},
+ "Libraries.SyntaxHighlighter.Theme.RDark": {Name: "Libraries.SyntaxHighlighter.Theme.RDark", Kind: "class", Parent: "Libraries.SyntaxHighlighter.Theme", Imports: []string{"Libraries.SyntaxHighlighter.Core.RDark"}, Resource: classmap.Resource{Src: "Libraries/SyntaxHighlighter/Theme/RDark.js", JSHash: "4eb10422695ef08331f8c5e91c6ca5b655c4b641", CSSHash: "b4970092adfcad76da353fa815b8502a9d09f097"}},
+ "Libraries.XRegExp": {Name: "Libraries.XRegExp", Kind: "class", Parent: "Libraries", Imports: []string(nil), Resource: classmap.Resource{Src: "Libraries/SyntaxHighlighter/_this.js", JSHash: "3419332fc98c2a094bc8f2a3b16b87b8d98bd309", CSSHash: "3860c0c289ac761da7d9c595633f8bba8f58afe9"}},
+ "System": {Name: "System", Kind: "class", Parent: "", Imports: []string(nil), Resource: classmap.Resource{Src: "System/_this.js", JSHash: "234db843eb17b025eddacdca0083828d0e7700a6", CSSHash: "1"}},
+ "System.Compression": {Name: "System.Compression", Kind: "class", Parent: "System", Imports: []string(nil), Resource: classmap.Resource{Src: "System/Compression/_this.js", JSHash: "237bff609161dca51d55c73b92a477c54286e26d", CSSHash: "1"}},
+ "System.Compression.Zlib": {Name: "System.Compression.Zlib", Kind: "class", Parent: "System.Compression", Imports: []string(nil), Resource: classmap.Resource{Src: "System/Compression/Zlib.js", JSHash: "50248acd8ef77f57eff8998011ac296b252142d4", CSSHash: "1"}},
+ "System.Compression.Zlib.Deflate": {Name: "System.Compression.Zlib.Deflate", Kind: "method", Parent: "System.Compression.Zlib", Imports: []string(nil), Resource: classmap.Resource{Src: "", JSHash: "", CSSHash: ""}},
+ "System.Cycle": {Name: "System.Cycle", Kind: "class", Parent: "System", Imports: []string{"System.utils", "System.Tick", "System.Debug"}, Resource: classmap.Resource{Src: "System/Cycle/_this.js", JSHash: "8eb5c18fd0923d3b2bf27ab48105cb9ce07f4c5e", CSSHash: "1"}},
+ "System.Cycle.TICK": {Name: "System.Cycle.TICK", Kind: "prop", Parent: "System.Cycle", Imports: []string(nil), Resource: classmap.Resource{Src: "", JSHash: "", CSSHash: ""}},
+ "System.Cycle.Trigger": {Name: "System.Cycle.Trigger", Kind: "class", Parent: "System.Cycle", Imports: []string{"System.Cycle", "System.Debug"}, Resource: classmap.Resource{Src: "System/Cycle/Trigger.js", JSHash: "b18fae66ada79a1cc2e812dea1055422f1172a37", CSSHash: "1"}},
+ "System.Cycle.Trigger.height": {Name: "System.Cycle.Trigger.height", Kind: "method", Parent: "System.Cycle.Trigger", Imports: []string(nil), Resource: classmap.Resource{Src: "", JSHash: "", CSSHash: ""}},
+ "System.Cycle.Trigger.register": {Name: "System.Cycle.Trigger.register", Kind: "method", Parent: "System.Cycle.Trigger", Imports: []string(nil), Resource: classmap.Resource{Src: "", JSHash: "", CSSHash: ""}},
+ "System.Cycle.Trigger.transition": {Name: "System.Cycle.Trigger.transition", Kind: "method", Parent: "System.Cycle.Trigger", Imports: []string(nil), Resource: classmap.Resource{Src: "", JSHash: "", CSSHash: ""}},
+ "System.Cycle.delay": {Name: "System.Cycle.delay", Kind: "method", Parent: "System.Cycle", Imports: []string(nil), Resource: classmap.Resource{Src: "", JSHash: "", CSSHash: ""}},
+ "System.Cycle.next": {Name: "System.Cycle.next", Kind: "method", Parent: "System.Cycle", Imports: []string(nil), Resource: classmap.Resource{Src: "", JSHash: "", CSSHash: ""}},
+ "System.Cycle.perma": {Name: "System.Cycle.perma", Kind: "method", Parent: "System.Cycle", Imports: []string(nil), Resource: classmap.Resource{Src: "", JSHash: "", CSSHash: ""}},
+ "System.Cycle.permaRemove": {Name: "System.Cycle.permaRemove", Kind: "method", Parent: "System.Cycle", Imports: []string(nil), Resource: classmap.Resource{Src: "", JSHash: "", CSSHash: ""}},
+ "System.Debug": {Name: "System.Debug", Kind: "class", Parent: "System", Imports: []string{"System.Log", "System.Global"}, Resource: classmap.Resource{Src: "System/Debug.js", JSHash: "c821a438f97a2bae0114cd615113c3d278efe121", CSSHash: "1"}},
+ "System.Debug.Error": {Name: "System.Debug.Error", Kind: "method", Parent: "System.Debug", Imports: []string(nil), Resource: classmap.Resource{Src: "", JSHash: "", CSSHash: ""}},
+ "System.Debug.Info": {Name: "System.Debug.Info", Kind: "method", Parent: "System.Debug", Imports: []string(nil), Resource: classmap.Resource{Src: "", JSHash: "", CSSHash: ""}},
+ "System.Debug.turnOff": {Name: "System.Debug.turnOff", Kind: "method", Parent: "System.Debug", Imports: []string(nil), Resource: classmap.Resource{Src: "", JSHash: "", CSSHash: ""}},
+ "System.Debug.turnOn": {Name: "System.Debug.turnOn", Kind: "method", Parent: "System.Debug", Imports: []string(nil), Resource: classmap.Resource{Src: "", JSHash: "", CSSHash: ""}},
+ "System.Encoding": {Name: "System.Encoding", Kind: "class", Parent: "System", Imports: []string(nil), Resource: classmap.Resource{Src: "System/Encoding/_this.js", JSHash: "acf2ce9ee06a72f81447d72c01e655198e38fbc1", CSSHash: "1"}},
+ "System.Encoding.Base64": {Name: "System.Encoding.Base64", Kind: "class", Parent: "System.Encoding", Imports: []string(nil), Resource: classmap.Resource{Src: "System/Encoding/Base64.js", JSHash: "19189ebf4db33bbf081acb98f496365bc313064f", CSSHash: "1"}},
+ "System.Encoding.Base64.Encode": {Name: "System.Encoding.Base64.Encode", Kind: "method", Parent: "System.Encoding.Base64", Imports: []string(nil), Resource: classmap.Resource{Src: "", JSHash: "", CSSHash: ""}},
+ "System.Encoding.Utf8": {Name: "System.Encoding.Utf8", Kind: "class", Parent: "System.Encoding", Imports: []string(nil), Resource: classmap.Resource{Src: "System/Encoding/Utf8.js", JSHash: "f582c26e2b63071f6c475d1f09553b546ee0af0f", CSSHash: "1"}},
+ "System.Encoding.Utf8.Encode": {Name: "System.Encoding.Utf8.Encode", Kind: "method", Parent: "System.Encoding.Utf8", Imports: []string(nil), Resource: classmap.Resource{Src: "", JSHash: "", CSSHash: ""}},
+ "System.Global": {Name: "System.Global", Kind: "class", Parent: "System", Imports: []string(nil), Resource: classmap.Resource{Src: "System/Global.js", JSHash: "a1b5eea0d218508e1d5d68f0ced64f16fc9595ce", CSSHash: "1"}},
+ "System.Global.ALLOWED_ORIGINS": {Name: "System.Global.ALLOWED_ORIGINS", Kind: "prop", Parent: "System.Global", Imports: []string(nil), Resource: classmap.Resource{Src: "", JSHash: "", CSSHash: ""}},
+ "System.Global.IE": {Name: "System.Global.IE", Kind: "prop", Parent: "System.Global", Imports: []string(nil), Resource: classmap.Resource{Src: "", JSHash: "", CSSHash: ""}},
+ "System.Global.MOBILE": {Name: "System.Global.MOBILE", Kind: "prop", Parent: "System.Global", Imports: []string(nil), Resource: classmap.Resource{Src: "", JSHash: "", CSSHash: ""}},
+ "System.Global.SECURE_HTTP": {Name: "System.Global.SECURE_HTTP", Kind: "prop", Parent: "System.Global", Imports: []string(nil), Resource: classmap.Resource{Src: "", JSHash: "", CSSHash: ""}},
+ "System.Global.debug": {Name: "System.Global.debug", Kind: "prop", Parent: "System.Global", Imports: []string(nil), Resource: classmap.Resource{Src: "", JSHash: "", CSSHash: ""}},
+ "System.Log": {Name: "System.Log", Kind: "class", Parent: "System", Imports: []string(nil), Resource: classmap.Resource{Src: "System/Log.js", JSHash: "de65e2795ac10fb2cbe8ecdedba66e0617bec8ad", CSSHash: "1"}},
+ "System.Log.ERROR": {Name: "System.Log.ERROR", Kind: "prop", Parent: "System.Log", Imports: []string(nil), Resource: classmap.Resource{Src: "", JSHash: "", CSSHash: ""}},
+ "System.Log.INFO": {Name: "System.Log.INFO", Kind: "prop", Parent: "System.Log", Imports: []string(nil), Resource: classmap.Resource{Src: "", JSHash: "", CSSHash: ""}},
+ "System.Log.SYSTEM": {Name: "System.Log.SYSTEM", Kind: "prop", Parent: "System.Log", Imports: []string(nil), Resource: classmap.Resource{Src: "", JSHash: "", CSSHash: ""}},
+ "System.Log.registerHandler": {Name: "System.Log.registerHandler", Kind: "method", Parent: "System.Log", Imports: []string(nil), Resource: classmap.Resource{Src: "", JSHash: "", CSSHash: ""}},
+ "System.Log.removeHandler": {Name: "System.Log.removeHandler", Kind: "method", Parent: "System.Log", Imports: []string(nil), Resource: classmap.Resource{Src: "", JSHash: "", CSSHash: ""}},
+ "System.Log.writeLine": {Name: "System.Log.writeLine", Kind: "method", Parent: "System.Log", Imports: []string(nil), Resource: classmap.Resource{Src: "", JSHash: "", CSSHash: ""}},
+ "System.Net": {Name: "System.Net", Kind: "class", Parent: "System", Imports: []string{"System.Debug", "Dandelion.IDOMObject"}, Resource: classmap.Resource{Src: "System/Net/_this.js", JSHash: "1b2e6ddd90efc213dbbd139e2dc891ab41ec043f", CSSHash: "1"}},
+ "System.Net.ClassLoader": {Name: "System.Net.ClassLoader", Kind: "class", Parent: "System.Net", Imports: []string{"System.utils", "System.utils.IKey", "System.Encoding.Utf8", "System.Encoding.Base64", "Dandelion", "System.Compression.Zlib.Deflate"}, Resource: classmap.Resource{Src: "System/Net/ClassLoader.js", JSHash: "0c6dc60bb45f9440b999f62f4dc4c0e2cc93e0cb", CSSHash: "1"}},
+ "System.Net.compilePostData": {Name: "System.Net.compilePostData", Kind: "method", Parent: "System.Net", Imports: []string(nil), Resource: classmap.Resource{Src: "", JSHash: "", CSSHash: ""}},
+ "System.Net.getData": {Name: "System.Net.getData", Kind: "method", Parent: "System.Net", Imports: []string(nil), Resource: classmap.Resource{Src: "", JSHash: "", CSSHash: ""}},
+ "System.Net.postData": {Name: "System.Net.postData", Kind: "method", Parent: "System.Net", Imports: []string(nil), Resource: classmap.Resource{Src: "", JSHash: "", CSSHash: ""}},
+ "System.Net.postFile": {Name: "System.Net.postFile", Kind: "method", Parent: "System.Net", Imports: []string(nil), Resource: classmap.Resource{Src: "", JSHash: "", CSSHash: ""}},
+ "System.Policy": {Name: "System.Policy", Kind: "class", Parent: "System", Imports: []string{"System.Global"}, Resource: classmap.Resource{Src: "System/Policy/_this.js", JSHash: "94efec864f3f9258f9ed95d5eadd0a10d7e51797", CSSHash: "1"}},
+ "System.Policy.isOriginAllowed": {Name: "System.Policy.isOriginAllowed", Kind: "method", Parent: "System.Policy", Imports: []string(nil), Resource: classmap.Resource{Src: "", JSHash: "", CSSHash: ""}},
+ "System.Tick": {Name: "System.Tick", Kind: "class", Parent: "System", Imports: []string(nil), Resource: classmap.Resource{Src: "System/Tick.js", JSHash: "526500dfd490e4c29b30f9f00b32a238b74afedb", CSSHash: "1"}},
+ "System.utils": {Name: "System.utils", Kind: "class", Parent: "System", Imports: []string{"System.Global"}, Resource: classmap.Resource{Src: "System/utils/_this.js", JSHash: "217041f4a86092e258a1c6624ff837cefd1ccc0f", CSSHash: "1"}},
+ "System.utils.DataKey": {Name: "System.utils.DataKey", Kind: "class", Parent: "System.utils", Imports: []string{"System.utils.IKey"}, Resource: classmap.Resource{Src: "System/utils/DataKey.js", JSHash: "1d6b56a4a4c74713b461db65eb5e6c43e3d161e8", CSSHash: "1"}},
+ "System.utils.EventKey": {Name: "System.utils.EventKey", Kind: "class", Parent: "System.utils", Imports: []string{"System.utils.IKey"}, Resource: classmap.Resource{Src: "System/utils/EventKey.js", JSHash: "c6285ef1d22a5e15b12c4fd13fa00d64517f59b8", CSSHash: "1"}},
+ "System.utils.IKey": {Name: "System.utils.IKey", Kind: "class", Parent: "System.utils", Imports: []string(nil), Resource: classmap.Resource{Src: "System/utils/IKey.js", JSHash: "e9e57a335ec6204b35fead34925cffdc3e38b55b", CSSHash: "1"}},
+ "System.utils.Perf": {Name: "System.utils.Perf", Kind: "class", Parent: "System.utils", Imports: []string(nil), Resource: classmap.Resource{Src: "System/utils/Perf.js", JSHash: "4a8c714fd0302d1bcad10c27bcd4a574ffe606eb", CSSHash: "1"}},
+ "System.utils.Perf.ArrayReverse": {Name: "System.utils.Perf.ArrayReverse", Kind: "method", Parent: "System.utils.Perf", Imports: []string(nil), Resource: classmap.Resource{Src: "", JSHash: "", CSSHash: ""}},
+ "System.utils.Perf.CountSubstr": {Name: "System.utils.Perf.CountSubstr", Kind: "method", Parent: "System.utils.Perf", Imports: []string(nil), Resource: classmap.Resource{Src: "", JSHash: "", CSSHash: ""}},
+ "System.utils.Perf.uuid": {Name: "System.utils.Perf.uuid", Kind: "prop", Parent: "System.utils.Perf", Imports: []string(nil), Resource: classmap.Resource{Src: "", JSHash: "", CSSHash: ""}},
+ "System.utils.objGetProp": {Name: "System.utils.objGetProp", Kind: "method", Parent: "System.utils", Imports: []string(nil), Resource: classmap.Resource{Src: "", JSHash: "", CSSHash: ""}},
+ "System.utils.objMap": {Name: "System.utils.objMap", Kind: "method", Parent: "System.utils", Imports: []string(nil), Resource: classmap.Resource{Src: "", JSHash: "", CSSHash: ""}},
+ "System.utils.objSearch": {Name: "System.utils.objSearch", Kind: "method", Parent: "System.utils", Imports: []string(nil), Resource: classmap.Resource{Src: "", JSHash: "", CSSHash: ""}},
+ "System.utils.siteProto": {Name: "System.utils.siteProto", Kind: "method", Parent: "System.utils", Imports: []string(nil), Resource: classmap.Resource{Src: "", JSHash: "", CSSHash: ""}},
+ },
+ Files: map[string]classmap.Resource{
+ "Astro/Blog/AstroEdit/Article.js": {Src: "Astro/Blog/AstroEdit/Article.js", JSHash: "cdf659fcb73f34430021453cb7c4967d6799971d", CSSHash: "1"},
+ "Astro/Blog/AstroEdit/Draft.js": {Src: "Astro/Blog/AstroEdit/Draft.js", JSHash: "b8f4dd400e85c729bd5ac3468aa28a7836255af9", CSSHash: "1"},
+ "Astro/Blog/AstroEdit/Flag.js": {Src: "Astro/Blog/AstroEdit/Flag.js", JSHash: "dfec5876dcc4eadcbfc292806e74de821f826477", CSSHash: "2af9897e11ed5f3c3a750ce5488c9d91e46c6c58"},
+ "Astro/Blog/AstroEdit/SiteLibrary.js": {Src: "Astro/Blog/AstroEdit/SiteLibrary.js", JSHash: "6442a8da697b50ec94676125327da8ba0cd70a43", CSSHash: "ef9290487558512fa1db9a4a20b91aa8421b4b26"},
+ "Astro/Blog/AstroEdit/SmartInput/CandidateAction/ArticleReference.js": {Src: "Astro/Blog/AstroEdit/SmartInput/CandidateAction/ArticleReference.js", JSHash: "2e66502daabb251f22f83535899c3c282f32a2c0", CSSHash: "1"},
+ "Astro/Blog/AstroEdit/SmartInput/CandidateAction/Footnote.js": {Src: "Astro/Blog/AstroEdit/SmartInput/CandidateAction/Footnote.js", JSHash: "4f04ad32f4ad64f1512112c66324c513ebae4bc7", CSSHash: "1"},
+ "Astro/Blog/AstroEdit/SmartInput/CandidateAction/Heading.js": {Src: "Astro/Blog/AstroEdit/SmartInput/CandidateAction/Heading.js", JSHash: "65e852a90c2dddce5931f45f841ec932e3b35e59", CSSHash: "1"},
+ "Astro/Blog/AstroEdit/SmartInput/_this.js": {Src: "Astro/Blog/AstroEdit/SmartInput/_this.js", JSHash: "9031ee3c774cbb5d5fd59af2fbe911f615c4d056", CSSHash: "4cd01e0c87e41c384afe9d9d5fb9d545bd51bd38"},
+ "Astro/Blog/AstroEdit/Uploader.js": {Src: "Astro/Blog/AstroEdit/Uploader.js", JSHash: "b4d181246ed6ea61dd8b6302be5e853012d59a02", CSSHash: "1"},
+ "Astro/Blog/AstroEdit/Visualizer/Snippet/AcquireLib.js": {Src: "Astro/Blog/AstroEdit/Visualizer/Snippet/AcquireLib.js", JSHash: "6beb43c532ba47ebf8afebfec98c024d84789f58", CSSHash: "e3860ca0ac69a86e948b811da1ebf6ba85fad57f"},
+ "Astro/Blog/AstroEdit/Visualizer/Snippet/ArticleContent.js": {Src: "Astro/Blog/AstroEdit/Visualizer/Snippet/ArticleContent.js", JSHash: "24a3af0af9758ef4a508f5708fdb747edd94997c", CSSHash: "e1cfcf676ebfc3a9ab80139ab2f7e63a2a1b286f"},
+ "Astro/Blog/AstroEdit/Visualizer/Snippet/ArticleLink.js": {Src: "Astro/Blog/AstroEdit/Visualizer/Snippet/ArticleLink.js", JSHash: "4a2f13a28ccbbb85073d20debc02c6525b69ab92", CSSHash: "2d71bce1fa868564d9dac50db338ef7eeed16fd9"},
+ "Astro/Blog/AstroEdit/Visualizer/Snippet/Code.js": {Src: "Astro/Blog/AstroEdit/Visualizer/Snippet/Code.js", JSHash: "c53a26cbe3f15eafb86a6915d3d1f74bad5d513c", CSSHash: "1963e8b907d049ab7228c4cccf5e34206dca2f6c"},
+ "Astro/Blog/AstroEdit/Visualizer/Snippet/Footnote.js": {Src: "Astro/Blog/AstroEdit/Visualizer/Snippet/Footnote.js", JSHash: "706d7eca843d0171895ad73b60254efab09bfd1c", CSSHash: "e3b173a7579b3897bb98226cd52a56534f75ca15"},
+ "Astro/Blog/AstroEdit/Visualizer/Snippet/Heading.js": {Src: "Astro/Blog/AstroEdit/Visualizer/Snippet/Heading.js", JSHash: "b2f0324f28fe148dfea71ef30183ac05920742d2", CSSHash: "1"},
+ "Astro/Blog/AstroEdit/Visualizer/Snippet/Html.js": {Src: "Astro/Blog/AstroEdit/Visualizer/Snippet/Html.js", JSHash: "e855cfd123266850b703133655bc27936f3ae366", CSSHash: "1"},
+ "Astro/Blog/AstroEdit/Visualizer/Snippet/Image.js": {Src: "Astro/Blog/AstroEdit/Visualizer/Snippet/Image.js", JSHash: "eb20ea28b68dc0bb9b795e5a9762cb2f2840cccc", CSSHash: "1"},
+ "Astro/Blog/AstroEdit/Visualizer/Snippet/Link.js": {Src: "Astro/Blog/AstroEdit/Visualizer/Snippet/Link.js", JSHash: "fc29654f1c45a63e9b8dc8eed120e6d3abfb61e8", CSSHash: "963bca1730a62b372e667b0a3f888aeef5504968"},
+ "Astro/Blog/AstroEdit/Visualizer/Snippet/Meta.js": {Src: "Astro/Blog/AstroEdit/Visualizer/Snippet/Meta.js", JSHash: "c4e8b9ad69f7f3f76fe4674eb68aeb2a8603190c", CSSHash: "43e6cf20a8590ff0a820fed9ae53399edfb53ac4"},
+ "Astro/Blog/AstroEdit/Visualizer/Snippet/RespH.js": {Src: "Astro/Blog/AstroEdit/Visualizer/Snippet/RespH.js", JSHash: "fa1d1e655350035f514c0824a27a1242671b9d24", CSSHash: "60ee66e1f25468b808af731338d2f10c9e74d8fe"},
+ "Astro/Blog/AstroEdit/Visualizer/Snippet/SiteFile.js": {Src: "Astro/Blog/AstroEdit/Visualizer/Snippet/SiteFile.js", JSHash: "1b7da2650be5f5e9b43187c3cfd7b42a4708546d", CSSHash: "47a59715388ff5f8abe4eb4e7e6000bf92de77b2"},
+ "Astro/Blog/AstroEdit/Visualizer/Snippet/Sound.js": {Src: "Astro/Blog/AstroEdit/Visualizer/Snippet/Sound.js", JSHash: "33562262f68acc2dce3be8cae035c670b2309219", CSSHash: "1"},
+ "Astro/Blog/AstroEdit/Visualizer/Snippet/Spoiler.js": {Src: "Astro/Blog/AstroEdit/Visualizer/Snippet/Spoiler.js", JSHash: "5aae7d7108fc204f39037fb6686e24ccc79c796f", CSSHash: "1"},
+ "Astro/Blog/AstroEdit/Visualizer/Snippet/Video.js": {Src: "Astro/Blog/AstroEdit/Visualizer/Snippet/Video.js", JSHash: "cfc21a3653fb859ffeb72d409c1df2fa34a54255", CSSHash: "ff1d4ae903c244a6aeaf78b12c375f1f45dfb3c2"},
+ "Astro/Blog/AstroEdit/Visualizer/Snippet/_this.js": {Src: "Astro/Blog/AstroEdit/Visualizer/Snippet/_this.js", JSHash: "38f5d8512eabf1ffb4249b1414efd2362af8dc5c", CSSHash: "1"},
+ "Astro/Blog/AstroEdit/Visualizer/_this.js": {Src: "Astro/Blog/AstroEdit/Visualizer/_this.js", JSHash: "54553eff5d2584fb33209e6bfc8113b3fa222cb1", CSSHash: "d43e2d27e52788d755c96f0db4ac500aa38ca2ee"},
+ "Astro/Blog/AstroEdit/_this.js": {Src: "Astro/Blog/AstroEdit/_this.js", JSHash: "96a85746d16908f70921e8cad03cc6105924473a", CSSHash: "2d37776089eeac5d81981f100c1c029c9249e4a9"},
+ "Astro/Blog/Components/Album.js": {Src: "Astro/Blog/Components/Album.js", JSHash: "1443dfa407fb216b1be014417d1f9bce707ad358", CSSHash: "640c50241b457330678a21b940fdb4ea15a5249b"},
+ "Astro/Blog/Components/ArticleContent.js": {Src: "Astro/Blog/Components/ArticleContent.js", JSHash: "2e208eae51421946f874dd78cb05d974a689bdef", CSSHash: "34fc82974af2ae7040819889bc8e7a1bd2b48cd6"},
+ "Astro/Blog/Components/Bubble.js": {Src: "Astro/Blog/Components/Bubble.js", JSHash: "b12c62f19417f6169fd8222267314a509e46d752", CSSHash: "2513518106d6d1c7a42e95c28becb3ddfe39e040"},
+ "Astro/Blog/Components/Calendar.js": {Src: "Astro/Blog/Components/Calendar.js", JSHash: "e9a9de02ddb1fd57a66f658b2bb0a03844753ab9", CSSHash: "305a716f79149cbd609791989ec8b04401a7406f"},
+ "Astro/Blog/Components/Comment.js": {Src: "Astro/Blog/Components/Comment.js", JSHash: "53ce30af0c57c14473220eb9cc83763621173bb6", CSSHash: "7025d26f1d9579a36c128effc3e9a833e22787eb"},
+ "Astro/Blog/Components/ControlPanel.js": {Src: "Astro/Blog/Components/ControlPanel.js", JSHash: "e646278422597037693f16206b8c9dc00aa0f005", CSSHash: "812c94c181c62bd44f1871b5e44952e164df4401"},
+ "Astro/Blog/Components/CrowdTag.js": {Src: "Astro/Blog/Components/CrowdTag.js", JSHash: "6720800b2b1f71dd1931ef74885460f898bb8c0e", CSSHash: "d2862681238786af37b1b5c91d266448a9b072b0"},
+ "Astro/Blog/Components/Entry/Blog.js": {Src: "Astro/Blog/Components/Entry/Blog.js", JSHash: "018626b7462176df8da4d6f0b730bd4a2778e926", CSSHash: "0473bbb41f9b27a5d448a36c1e175f6f18841019"},
+ "Astro/Blog/Components/Entry/Home.js": {Src: "Astro/Blog/Components/Entry/Home.js", JSHash: "0a4d8b8d9816628a8e80e2498978740c6828a59e", CSSHash: "5546001d65fb0a1087c7d6909efff80f36872a41"},
+ "Astro/Blog/Components/Entry/List.js": {Src: "Astro/Blog/Components/Entry/List.js", JSHash: "4a522d768a4d54de1125d8608e9bf4300ff3773a", CSSHash: "30047de75c64dbb9f669791c42ef17368a7ab997"},
+ "Astro/Blog/Components/Entry/Tag.js": {Src: "Astro/Blog/Components/Entry/Tag.js", JSHash: "f64c75bf37dba830d6b335918c1ac5670f297396", CSSHash: "42851637f7fc9cece8ac9a666f0f74a75544eae0"},
+ "Astro/Blog/Components/Entry/Tile.js": {Src: "Astro/Blog/Components/Entry/Tile.js", JSHash: "0603f59d19c81c5b7e1233fce579c79502427e7c", CSSHash: "2a925b7465760a02011eaeca6e0a353389578618"},
+ "Astro/Blog/Components/Footnote.js": {Src: "Astro/Blog/Components/Footnote.js", JSHash: "c8f3c1ed14ec27e83149fb8c23b41171b6e228fd", CSSHash: "44c3c00c1df7ec8faea902fa19840902429441b8"},
+ "Astro/Blog/Components/Notification.js": {Src: "Astro/Blog/Components/Notification.js", JSHash: "0b4219d96219c4352cce802d59f3265e97b8f822", CSSHash: "2c278ade8d5d0b49a62c10a2d239c1f7dd5edc62"},
+ "Astro/Blog/Components/Section.js": {Src: "Astro/Blog/Components/Section.js", JSHash: "d814528ea8a20fc06197b56896d1c63ffbf40fcd", CSSHash: "c48e35eafe87b99383b8b3a397eac5d569f68f66"},
+ "Astro/Blog/Components/SiteFile.js": {Src: "Astro/Blog/Components/SiteFile.js", JSHash: "e25e9a8cbe4addc5ad8f597873c80a33f2329fb7", CSSHash: "94f07554cb4ad0b81529be89f908f039abc9c2cb"},
+ "Astro/Blog/Components/SocialButtons.js": {Src: "Astro/Blog/Components/SocialButtons.js", JSHash: "1114d87addb798a36452a8ca71dbc7eb58aae961", CSSHash: "53c508505fa9c8a744b4d276d168b535f1e7d3ac"},
+ "Astro/Blog/Components/Spoiler.js": {Src: "Astro/Blog/Components/Spoiler.js", JSHash: "cb294bd09ea3cf7299395ffb70242bd26301b4ba", CSSHash: "600586c6160a51264169ae1a475082afefd45368"},
+ "Astro/Blog/Components/TagControl.js": {Src: "Astro/Blog/Components/TagControl.js", JSHash: "fc34df160451001d1a04242f91b937b5fdd503f1", CSSHash: "714529a31e4b9d3a4987163fb40ab53607ff4c43"},
+ "Astro/Blog/Components/ToggleButton/CommentToggle.js": {Src: "Astro/Blog/Components/ToggleButton/CommentToggle.js", JSHash: "a20a6d7db28578e58ba6484b0636217167794426", CSSHash: "88b2d440e6056ebd62138e20c9b1c9da97c6fb3f"},
+ "Astro/Blog/Components/ToggleButton/DeleteArticle.js": {Src: "Astro/Blog/Components/ToggleButton/DeleteArticle.js", JSHash: "443c24de61b52ad12983f011dc425bac2fca58a4", CSSHash: "37d28e8059d0f48ae1c49f9c5fa106275505fa71"},
+ "Astro/Blog/Components/ToggleButton/_this.js": {Src: "Astro/Blog/Components/ToggleButton/_this.js", JSHash: "c572a0eefad8c69ccd60548a3ceabe5d1fed6af8", CSSHash: "ec9b9f22d38415aa2ff3750ac09e3b8e7494ec61"},
+ "Astro/Blog/Components/Video.js": {Src: "Astro/Blog/Components/Video.js", JSHash: "64ea5647119179fd0ec01fd00257a4aa25318f73", CSSHash: "5d7572084bf0b426e76a938c61fa380d5b582ef9"},
+ "Astro/Blog/Config.js": {Src: "Astro/Blog/Config.js", JSHash: "72dd92f2c5087d6ddecc1507f6448ca552ee5385", CSSHash: "1"},
+ "Astro/Blog/Layout/Article/Control.js": {Src: "Astro/Blog/Layout/Article/Control.js", JSHash: "db19fe156ca3984d8b0363e918b458d82a3effdf", CSSHash: "1"},
+ "Astro/Blog/Layout/Article/Latest.js": {Src: "Astro/Blog/Layout/Article/Latest.js", JSHash: "1fe8f7cdab579bcb802a5336d1e6390943453277", CSSHash: "1"},
+ "Astro/Blog/Layout/Article/Tag.js": {Src: "Astro/Blog/Layout/Article/Tag.js", JSHash: "316e254b71f4f1e7f565dd2364d4b244942e1bd0", CSSHash: "1"},
+ "Astro/Blog/Layout/Article/_this.js": {Src: "Astro/Blog/Layout/Article/_this.js", JSHash: "470f4b9fd651ddf34d0a32b7775d174e2e0a532a", CSSHash: "fdba7da7bf090d73264661348c0e3ee1caa90c82"},
+ "Astro/Blog/Layout/ErrorPages.js": {Src: "Astro/Blog/Layout/ErrorPages.js", JSHash: "1800acc6511ef7a1efeef4cc83869eb0b30a63ed", CSSHash: "10c6fbfe1a05ede1204926d26eb9fb12f97802fa"},
+ "Astro/Blog/Layout/Login.js": {Src: "Astro/Blog/Layout/Login.js", JSHash: "84931c30a383f873410a779fc74cbb79666ab148", CSSHash: "66b8ec358f3d29b121927d0f72360e33ad90d2ad"},
+ "Astro/Blog/Layout/MainFrame.js": {Src: "Astro/Blog/Layout/MainFrame.js", JSHash: "81e0f15aaf1066a5ccb36204bc7cc61d07085c1d", CSSHash: "1d8c7b3b80091a4f80f2b4f3cbfebf7a424a9dbb"},
+ "Astro/Blog/Layout/Subs/Manage.js": {Src: "Astro/Blog/Layout/Subs/Manage.js", JSHash: "eee56edc6cfbbac71deab377682603032516d472", CSSHash: "eb6d28864a3b2faf9ff90912da63db158bed626f"},
+ "Astro/Blog/Layout/Subs/_this.js": {Src: "Astro/Blog/Layout/Subs/_this.js", JSHash: "7f7ff173d8b86eccc023d17c22e55cf259925558", CSSHash: "1"},
+ "Astro/Blog/Layout/_this.js": {Src: "Astro/Blog/Layout/_this.js", JSHash: "2401f45244624f7662596bb569c40dab9866dbb8", CSSHash: "1"},
+ "Astro/Blog/SharedStyle.js": {Src: "Astro/Blog/SharedStyle.js", JSHash: "e946130da823a5b2d089b5b416c13b628eb1637d", CSSHash: "f8ff15304a5e38e199b713bac48e282d2bf10f45"},
+ "Astro/Bootstrap.js": {Src: "Astro/Bootstrap.js", JSHash: "51bfb270eadd20b4b71372ae2d20dcf3d20575db", CSSHash: "e650f4de36f799af80ca0633d66351fb9333d620"},
+ "Astro/Common/Element/Footer.js": {Src: "Astro/Common/Element/Footer.js", JSHash: "80f69d85c399bdc04d3b2055d1ebbe9ee77a852a", CSSHash: "c26f4238a6a4f2fc0bcbd9ac86141d12522552a4"},
+ "Astro/Mechanism/CharacterCloud.js": {Src: "Astro/Mechanism/CharacterCloud.js", JSHash: "540a2085798928418a54e10d56bc037863ee57a9", CSSHash: "7cae98eaf8e3d5d1cd7fadaa6806ce3d65d74d92"},
+ "Astro/Mechanism/Parallax.js": {Src: "Astro/Mechanism/Parallax.js", JSHash: "ba7b1816fc5d32edfaf5b93b9d35c7b2c297f011", CSSHash: "f8c02f4ec1be082e02c51f0b5ea39cbdd5b0e49f"},
+ "Astro/Penguin/Layout/MainFrame.js": {Src: "Astro/Penguin/Layout/MainFrame.js", JSHash: "b2f58fc9394745c1e47dfb95c4043f59f76acc1a", CSSHash: "e87b69ab9e725e4801065850790670d76f0a6d18"},
+ "Astro/Penguin/Page/Docs.js": {Src: "Astro/Penguin/Page/Docs.js", JSHash: "02217e7fa4ebffe90b32002ef07da500ac02bf52", CSSHash: "5230a026499b9ab0f4f530f4975a9df89170c83b"},
+ "Astro/Penguin/Page/_this.js": {Src: "Astro/Penguin/Page/_this.js", JSHash: "66e415e546eb6ca0b84cedfd4d3b6de67c2164f3", CSSHash: "e8afcaa8c75b241cd933cfc99a648adc42f815d7"},
+ "Astro/Starfall/Element/Footer.js": {Src: "Astro/Starfall/Element/Footer.js", JSHash: "8667936ab4c583ec475770d0f4470348b1a60281", CSSHash: "8424988d632d155f1558c0069dc17f326a53703a"},
+ "Astro/Starfall/Element/Header.js": {Src: "Astro/Starfall/Element/Header.js", JSHash: "467470a9c5cb5630ae8ec07b29a4496c6a401e0b", CSSHash: "c6bd96ee7e0993a2db1fde4885e5f44cff901878"},
+ "Astro/Starfall/Element/Layer.js": {Src: "Astro/Starfall/Element/Layer.js", JSHash: "cc3c87e83813ee68a9ccc3a12c08992c3027a721", CSSHash: "c482b4089b04665a5d7c5527f8008622375885a2"},
+ "Astro/Starfall/Layout/MainFrame.js": {Src: "Astro/Starfall/Layout/MainFrame.js", JSHash: "f237e72d5cc13922b04857c9290998b7dbbe59d5", CSSHash: "9654c2c26915302a661f5d3fb4f19833ffc6c11d"},
+ "Astro/Starfall/Layout/PureColumn.js": {Src: "Astro/Starfall/Layout/PureColumn.js", JSHash: "5164bbe0019969bf85c649a6991ccd3b8c780b3a", CSSHash: "d1920d1be9f9d9bbfdfdbb16565454c58ed6c78c"},
+ "Astro/Starfall/Layout/TwoColumn.js": {Src: "Astro/Starfall/Layout/TwoColumn.js", JSHash: "e55bedfac6ff774f7bbf46b69b1b537b28f8e993", CSSHash: "cf05ec131d63e657f0eba0183c8055d0101bcf08"},
+ "Astro/Starfall/_this.js": {Src: "Astro/Starfall/_this.js", JSHash: "77ca61d1ba806c3440cec5e26a100581259e1784", CSSHash: "1"},
+ "Astro/utils/Date.js": {Src: "Astro/utils/Date.js", JSHash: "45221fe447d15fd943310fe9d3d3308f884b6aec", CSSHash: "1"},
+ "Astro/utils/_this.js": {Src: "Astro/utils/_this.js", JSHash: "21e99449ec5c1a4b6d25164db9434132aeea5ad3", CSSHash: "1"},
+ "Components/Console.js": {Src: "Components/Console.js", JSHash: "115be15db72bd22f8222510e7bf4ce0c741028fb", CSSHash: "452f4a36e8fd7321c7d177a311047c8b71165e48"},
+ "Components/DockPanel.js": {Src: "Components/DockPanel.js", JSHash: "c74b3081efdcbfa13300e9a49529f5664734b24e", CSSHash: "af0d91982c764ee62c46b243be68c08f2808e82b"},
+ "Components/MessageBox.js": {Src: "Components/MessageBox.js", JSHash: "db0b55a5e0b1a92b9781c2b0b13817355b8e3cdf", CSSHash: "5571fa4c2e1324dcf1f2e18df8b6105cf37dfc53"},
+ "Components/Mouse/Clipboard.js": {Src: "Components/Mouse/Clipboard.js", JSHash: "574a1ef17878beb21395a2eecfa75d046ff694e0", CSSHash: "1b7f85206ce1560ed23d3b270e093022e25d2e61"},
+ "Components/Mouse/ContextMenu.js": {Src: "Components/Mouse/ContextMenu.js", JSHash: "b39bc1df1324c43b7092bc3db7d15e780b8b2cc0", CSSHash: "d5a5f1a4a0db9a440b9a070f9879beaddffbd99a"},
+ "Components/Mouse/_this.js": {Src: "Components/Mouse/_this.js", JSHash: "9ec5ced53a20ea1d057e2142668e27e5df7d49f6", CSSHash: "1"},
+ "Components/Vim/Actions/BUFFERS.js": {Src: "Components/Vim/Actions/BUFFERS.js", JSHash: "1eedc2f169d3f67ac05e1ad25b9728619a1333d4", CSSHash: "1"},
+ "Components/Vim/Actions/DELETE.js": {Src: "Components/Vim/Actions/DELETE.js", JSHash: "12223cd3496265f907c83a6f42bab6eebb174983", CSSHash: "1"},
+ "Components/Vim/Actions/EDITOR_COMMAND.js": {Src: "Components/Vim/Actions/EDITOR_COMMAND.js", JSHash: "38f9bd4f5c880fc172b8f50aae38ebb9d189bfe8", CSSHash: "1"},
+ "Components/Vim/Actions/FIND.js": {Src: "Components/Vim/Actions/FIND.js", JSHash: "e408e00eb64bf4daffb39973b41141458966d18f", CSSHash: "1"},
+ "Components/Vim/Actions/INSERT.js": {Src: "Components/Vim/Actions/INSERT.js", JSHash: "cb9d322d663840c1e991559127b5b8ad7b7273f0", CSSHash: "1"},
+ "Components/Vim/Actions/JOIN_LINES.js": {Src: "Components/Vim/Actions/JOIN_LINES.js", JSHash: "2c0bafefa8edb662e5003780b4ae8a6b8488a317", CSSHash: "1"},
+ "Components/Vim/Actions/MARK.js": {Src: "Components/Vim/Actions/MARK.js", JSHash: "4e959247d49f84b20f96c8a186492c93d1ff5960", CSSHash: "1"},
+ "Components/Vim/Actions/MARKS.js": {Src: "Components/Vim/Actions/MARKS.js", JSHash: "06699d99178aef5758d7cd7ca46d3b7806ed7621", CSSHash: "1"},
+ "Components/Vim/Actions/PRINT.js": {Src: "Components/Vim/Actions/PRINT.js", JSHash: "d2fae160852cfb3aeed074dc8eef66b71af46224", CSSHash: "1"},
+ "Components/Vim/Actions/PRINT_HEX.js": {Src: "Components/Vim/Actions/PRINT_HEX.js", JSHash: "5ae91c340b0ce35aac6ab73bc4302cfa94e02dd2", CSSHash: "1"},
+ "Components/Vim/Actions/PUT.js": {Src: "Components/Vim/Actions/PUT.js", JSHash: "aebed9fffbae518dbbd59d7b84a399f5cb48398a", CSSHash: "1"},
+ "Components/Vim/Actions/QUIT.js": {Src: "Components/Vim/Actions/QUIT.js", JSHash: "eeb7923e9b8a06ddea2c2d0fff76edb75d04121e", CSSHash: "1"},
+ "Components/Vim/Actions/REDO.js": {Src: "Components/Vim/Actions/REDO.js", JSHash: "a2895a9628f9a075f350fcb0583042f64518ce3d", CSSHash: "1"},
+ "Components/Vim/Actions/REGISTERS.js": {Src: "Components/Vim/Actions/REGISTERS.js", JSHash: "ddaa381db6d77db810a21a35e05f2008034e43ef", CSSHash: "1"},
+ "Components/Vim/Actions/REPLACE.js": {Src: "Components/Vim/Actions/REPLACE.js", JSHash: "7d7b173c63c2252eae700be2021a11470b08276c", CSSHash: "1"},
+ "Components/Vim/Actions/SHIFT_LINES.js": {Src: "Components/Vim/Actions/SHIFT_LINES.js", JSHash: "d85ff4738e31e1a8a8acdaf5f00bb5d654290b14", CSSHash: "1"},
+ "Components/Vim/Actions/TO.js": {Src: "Components/Vim/Actions/TO.js", JSHash: "78a814b3fb5c9feff473a265e7253d699f484871", CSSHash: "1"},
+ "Components/Vim/Actions/UNDO.js": {Src: "Components/Vim/Actions/UNDO.js", JSHash: "bb3f119407547329da561213cca7445b63e30d3c", CSSHash: "1"},
+ "Components/Vim/Actions/VA_REC.js": {Src: "Components/Vim/Actions/VA_REC.js", JSHash: "8904fe42c7211334b063c6d89d0b3deb0ffd3633", CSSHash: "1"},
+ "Components/Vim/Actions/VERSION.js": {Src: "Components/Vim/Actions/VERSION.js", JSHash: "1aae87bf77f87a6202733ef515e927d788cd3bc5", CSSHash: "1"},
+ "Components/Vim/Actions/VISUAL.js": {Src: "Components/Vim/Actions/VISUAL.js", JSHash: "2dba8beb95823fd5ff5af757de7319b7a0970cc4", CSSHash: "1"},
+ "Components/Vim/Actions/WORD.js": {Src: "Components/Vim/Actions/WORD.js", JSHash: "dcbb5a4830c5a747ca3f1e6ab5fc6be68c1c3a9b", CSSHash: "1"},
+ "Components/Vim/Actions/WRITE.js": {Src: "Components/Vim/Actions/WRITE.js", JSHash: "6aed08f607ad6c050798a37461ffc6394bb7b5aa", CSSHash: "1"},
+ "Components/Vim/Actions/YANK.js": {Src: "Components/Vim/Actions/YANK.js", JSHash: "4c428bea3ce9c15b94f294b1d4cd17ee4cde8824", CSSHash: "1"},
+ "Components/Vim/Controls.js": {Src: "Components/Vim/Controls.js", JSHash: "d820f2b288a11adfd43eed1186f702013530606f", CSSHash: "1"},
+ "Components/Vim/Cursor.js": {Src: "Components/Vim/Cursor.js", JSHash: "499fe9a53c9de02138c3440b0433227b00846259", CSSHash: "1"},
+ "Components/Vim/DateTime/String.js": {Src: "Components/Vim/DateTime/String.js", JSHash: "07b11e176cccc423e75d8fe66302f8cb8b009418", CSSHash: "1"},
+ "Components/Vim/DateTime/_this.js": {Src: "Components/Vim/DateTime/_this.js", JSHash: "420103edb4f3df39be9eceabd4b88919b5cf7cc7", CSSHash: "1"},
+ "Components/Vim/Ex/Command.js": {Src: "Components/Vim/Ex/Command.js", JSHash: "04ab6686c5f5543463c1b9668a0832cbe7b08771", CSSHash: "1"},
+ "Components/Vim/LineBuffer.js": {Src: "Components/Vim/LineBuffer.js", JSHash: "d7815c5c0a40eda137ebb9559481b265e3f4c7be", CSSHash: "1"},
+ "Components/Vim/LineFeeder.js": {Src: "Components/Vim/LineFeeder.js", JSHash: "7876d69d13a93fe96a04ca5c5b17496b1d542d86", CSSHash: "1"},
+ "Components/Vim/State/History.js": {Src: "Components/Vim/State/History.js", JSHash: "2d338e9e47f157f392d9f9df210ec6e8768cffb0", CSSHash: "1"},
+ "Components/Vim/State/Marks.js": {Src: "Components/Vim/State/Marks.js", JSHash: "66316f61f4b322bacea9899a5a9eee0bd12de8e6", CSSHash: "1"},
+ "Components/Vim/State/Recorder.js": {Src: "Components/Vim/State/Recorder.js", JSHash: "3172902ca4683ca0017800e060bb4a0d0dba3bc7", CSSHash: "1"},
+ "Components/Vim/State/Registers.js": {Src: "Components/Vim/State/Registers.js", JSHash: "60e791e7464fd1c15329dc576b736de906c442e3", CSSHash: "1"},
+ "Components/Vim/State/Stack.js": {Src: "Components/Vim/State/Stack.js", JSHash: "bee72cfd5adec1fd9f0edb1b0e8e58c1865a9195", CSSHash: "1"},
+ "Components/Vim/State/Stator.js": {Src: "Components/Vim/State/Stator.js", JSHash: "b86bc18676313544069bd5abe04e39fe3054652c", CSSHash: "1"},
+ "Components/Vim/StatusBar.js": {Src: "Components/Vim/StatusBar.js", JSHash: "461f00364ced9cb6e0ae83b9d18c6456fb051e26", CSSHash: "1"},
+ "Components/Vim/Syntax/Analyzer.js": {Src: "Components/Vim/Syntax/Analyzer.js", JSHash: "64b9a2ae4c6ba0f9fdc0dda87323786df6c6b339", CSSHash: "1"},
+ "Components/Vim/Syntax/Word.js": {Src: "Components/Vim/Syntax/Word.js", JSHash: "a6d24370b0906cc0f09cfd68d96d635cd583fac3", CSSHash: "1"},
+ "Components/Vim/VimArea.js": {Src: "Components/Vim/VimArea.js", JSHash: "2f02762ea783bbcb7843ebe72ec2660feada7c0c", CSSHash: "1"},
+ "Components/Vim/_this.js": {Src: "Components/Vim/_this.js", JSHash: "2abd3bc287e8b8b0b5966457835dcb4bde6174df", CSSHash: "7949b25860fcef736927c01502aad09b56d764b2"},
+ "Components/_this.js": {Src: "Components/_this.js", JSHash: "f4cb7babe62a5cdae34d2c4ebcb55071e81da4ff", CSSHash: "1"},
+ "Dandelion/CSSAnimations/MovieClip.js": {Src: "Dandelion/CSSAnimations/MovieClip.js", JSHash: "a4c414b270c4fbdc6d4093b1d02791e5f088a871", CSSHash: "daa6e6f4ee3365e599cf1b2680f3e907389534f3"},
+ "Dandelion/CSSAnimations/_this.js": {Src: "Dandelion/CSSAnimations/_this.js", JSHash: "a01a6bcfc5851debc7179e9449dc93617bca3afc", CSSHash: "2d6b4b00f0c4050187ccf010e0a24e5bc6121d18"},
+ "Dandelion/CSSReset.js": {Src: "Dandelion/CSSReset.js", JSHash: "f25ae8f90e11e3bb8eed6ebdac3a23305d615dc9", CSSHash: "59fbc1a2ec3f70e2b719fd73bff973efb34676c4"},
+ "Dandelion/IDOMElement.js": {Src: "Dandelion/IDOMElement.js", JSHash: "5ea3e5c5f209abd7a77e278b0709ee83efcb690e", CSSHash: "1"},
+ "Dandelion/IDOMObject.js": {Src: "Dandelion/IDOMObject.js", JSHash: "5727639574a022feccfef1deb2056146f1f23c06", CSSHash: "1"},
+ "Dandelion/StaticRes.js": {Src: "Dandelion/StaticRes.js", JSHash: "43738524071b7207e6dba6bd223bf811bd475949", CSSHash: "1"},
+ "Dandelion/Window.js": {Src: "Dandelion/Window.js", JSHash: "ea38f2c0c2b5207abdb7265d2d5b7fa4177d0a47", CSSHash: "1"},
+ "Dandelion/_this.js": {Src: "Dandelion/_this.js", JSHash: "deb13aff0c4ceb6aea9ac82b93d1b84a88540a14", CSSHash: "1"},
+ "Libraries/SyntaxHighlighter/Brush/AS3.js": {Src: "Libraries/SyntaxHighlighter/Brush/AS3.js", JSHash: "a9bcdf532ab90c0917f234e1fce13d7cbde6d303", CSSHash: "1"},
+ "Libraries/SyntaxHighlighter/Brush/AppleScript.js": {Src: "Libraries/SyntaxHighlighter/Brush/AppleScript.js", JSHash: "2c161d78cd5b293e420559a6cb41dbf52af36364", CSSHash: "1"},
+ "Libraries/SyntaxHighlighter/Brush/Bash.js": {Src: "Libraries/SyntaxHighlighter/Brush/Bash.js", JSHash: "e01737b50262fb8fda87df4d1d2fcc12c5cff279", CSSHash: "1"},
+ "Libraries/SyntaxHighlighter/Brush/CSharp.js": {Src: "Libraries/SyntaxHighlighter/Brush/CSharp.js", JSHash: "c8175bf390ff40ba9dcd2034affb9d3eeca1bbc6", CSSHash: "1"},
+ "Libraries/SyntaxHighlighter/Brush/ColdFusion.js": {Src: "Libraries/SyntaxHighlighter/Brush/ColdFusion.js", JSHash: "5752904015fee173d7b2cc805a385141d243accb", CSSHash: "1"},
+ "Libraries/SyntaxHighlighter/Brush/Cpp.js": {Src: "Libraries/SyntaxHighlighter/Brush/Cpp.js", JSHash: "3afd2a20b76f24bef4c6425ac7c676029251e768", CSSHash: "1"},
+ "Libraries/SyntaxHighlighter/Brush/Css.js": {Src: "Libraries/SyntaxHighlighter/Brush/Css.js", JSHash: "a13eea6d8b8560fe08dbdd8b5e11fe5caee1182e", CSSHash: "1"},
+ "Libraries/SyntaxHighlighter/Brush/Delphi.js": {Src: "Libraries/SyntaxHighlighter/Brush/Delphi.js", JSHash: "e8605d9f94172970ae3fb96e8a6708996bc3eb24", CSSHash: "1"},
+ "Libraries/SyntaxHighlighter/Brush/Diff.js": {Src: "Libraries/SyntaxHighlighter/Brush/Diff.js", JSHash: "f4a6e49d18deb054fe7e542a871f79f72c828d50", CSSHash: "1"},
+ "Libraries/SyntaxHighlighter/Brush/Erlang.js": {Src: "Libraries/SyntaxHighlighter/Brush/Erlang.js", JSHash: "3a1cb02fd8787d7fb9c8cd059dac7ff55460f002", CSSHash: "1"},
+ "Libraries/SyntaxHighlighter/Brush/Groovy.js": {Src: "Libraries/SyntaxHighlighter/Brush/Groovy.js", JSHash: "5c426a7fe76c8856a0f3e742801ab22aab619207", CSSHash: "1"},
+ "Libraries/SyntaxHighlighter/Brush/JScript.js": {Src: "Libraries/SyntaxHighlighter/Brush/JScript.js", JSHash: "0605f279369a383745da75c1193184b2b303140f", CSSHash: "1"},
+ "Libraries/SyntaxHighlighter/Brush/Java.js": {Src: "Libraries/SyntaxHighlighter/Brush/Java.js", JSHash: "080de761e0bac2f683aa7d6941cb82ff41a123d8", CSSHash: "1"},
+ "Libraries/SyntaxHighlighter/Brush/JavaFX.js": {Src: "Libraries/SyntaxHighlighter/Brush/JavaFX.js", JSHash: "b9275be4113bc3d9d0c07e38d536289ee2694670", CSSHash: "1"},
+ "Libraries/SyntaxHighlighter/Brush/Perl.js": {Src: "Libraries/SyntaxHighlighter/Brush/Perl.js", JSHash: "4cd8a05cb33146c5cfa80db799e341d154b90e48", CSSHash: "1"},
+ "Libraries/SyntaxHighlighter/Brush/Php.js": {Src: "Libraries/SyntaxHighlighter/Brush/Php.js", JSHash: "7dd28893e70e256385ea0b05f5b90b1c8ff6e542", CSSHash: "1"},
+ "Libraries/SyntaxHighlighter/Brush/Plain.js": {Src: "Libraries/SyntaxHighlighter/Brush/Plain.js", JSHash: "6d5479daeaa74a77b5f2d4296953d3127885e475", CSSHash: "1"},
+ "Libraries/SyntaxHighlighter/Brush/PowerShell.js": {Src: "Libraries/SyntaxHighlighter/Brush/PowerShell.js", JSHash: "2fa87850b6852fa21fbf40f65dfd9e40b6812fb1", CSSHash: "1"},
+ "Libraries/SyntaxHighlighter/Brush/Python.js": {Src: "Libraries/SyntaxHighlighter/Brush/Python.js", JSHash: "0bb656b70b58989685c7dfb95835ea7b96670e65", CSSHash: "1"},
+ "Libraries/SyntaxHighlighter/Brush/Ruby.js": {Src: "Libraries/SyntaxHighlighter/Brush/Ruby.js", JSHash: "a987bd40fdbea4edc8329315dae2311c6a7e38c3", CSSHash: "1"},
+ "Libraries/SyntaxHighlighter/Brush/Sass.js": {Src: "Libraries/SyntaxHighlighter/Brush/Sass.js", JSHash: "e39acc0a9c9d542cc4f5be489f424915692672bb", CSSHash: "1"},
+ "Libraries/SyntaxHighlighter/Brush/Scala.js": {Src: "Libraries/SyntaxHighlighter/Brush/Scala.js", JSHash: "f4e7249df2fd10ff775e928112e94eccfe1b6771", CSSHash: "1"},
+ "Libraries/SyntaxHighlighter/Brush/Sql.js": {Src: "Libraries/SyntaxHighlighter/Brush/Sql.js", JSHash: "c150b86652ccc2c01f39074a3b88aef98334894f", CSSHash: "1"},
+ "Libraries/SyntaxHighlighter/Brush/Vb.js": {Src: "Libraries/SyntaxHighlighter/Brush/Vb.js", JSHash: "cbcbee01e4eeea3e6ae1efdc655d1c406f5a2788", CSSHash: "1"},
+ "Libraries/SyntaxHighlighter/Brush/Xml.js": {Src: "Libraries/SyntaxHighlighter/Brush/Xml.js", JSHash: "c20ed9b4285ede0af47cfc56e6eb6746b0768d3a", CSSHash: "1"},
+ "Libraries/SyntaxHighlighter/Core/Default.js": {Src: "Libraries/SyntaxHighlighter/Core/Default.js", JSHash: "2fca662e7e098416f96c4689e57aeaffe2fb15fc", CSSHash: "70c96f4f2bf365effb127f94cd2a8a4153df97ca"},
+ "Libraries/SyntaxHighlighter/Core/Django.js": {Src: "Libraries/SyntaxHighlighter/Core/Django.js", JSHash: "a8dadc16bc42853c8545462127cbd52f8a9777e6", CSSHash: "e89e7a33ddb1ae8fd8ce8111a7e45a2b53a29ba1"},
+ "Libraries/SyntaxHighlighter/Core/Eclipse.js": {Src: "Libraries/SyntaxHighlighter/Core/Eclipse.js", JSHash: "1d207eb8538c73a4c60a7613baf25efb0376bd10", CSSHash: "f543e8388de2bc6d7ddf7f01de08c3c6f7370169"},
+ "Libraries/SyntaxHighlighter/Core/Emacs.js": {Src: "Libraries/SyntaxHighlighter/Core/Emacs.js", JSHash: "7b3d128d0275142e88b99afbbe79b45058f35eb3", CSSHash: "1e07b188eefa6dd89caad7eb423b6ba0b1405a64"},
+ "Libraries/SyntaxHighlighter/Core/FadeToGrey.js": {Src: "Libraries/SyntaxHighlighter/Core/FadeToGrey.js", JSHash: "06e8cb1d6f69f83d4a603c9dbcaa00e91c5a688a", CSSHash: "8de99290e4ef56c917bbd76ef8eaac427c763dde"},
+ "Libraries/SyntaxHighlighter/Core/MDUltra.js": {Src: "Libraries/SyntaxHighlighter/Core/MDUltra.js", JSHash: "0036fea327c5641e8152e267b4db7290d98e6f0d", CSSHash: "7d94466de541cc382973bbae54c34ecd5ba9d4ac"},
+ "Libraries/SyntaxHighlighter/Core/Midnight.js": {Src: "Libraries/SyntaxHighlighter/Core/Midnight.js", JSHash: "fbf2d9d380a4fb734a7609e34f78bad71918bd7d", CSSHash: "7f57e6041b8a9ea4d627b52d6a1cd15e8fd407d8"},
+ "Libraries/SyntaxHighlighter/Core/RDark.js": {Src: "Libraries/SyntaxHighlighter/Core/RDark.js", JSHash: "b88b770d83b1b19e2c9fea207ac70e10d7228bc9", CSSHash: "d277888604281a26be5a921b4746a5d9c98a34f8"},
+ "Libraries/SyntaxHighlighter/Core/_this.js": {Src: "Libraries/SyntaxHighlighter/Core/_this.js", JSHash: "eb845464ccec54398e7b3fd2ebd91bb574e45536", CSSHash: "3860c0c289ac761da7d9c595633f8bba8f58afe9"},
+ "Libraries/SyntaxHighlighter/Theme/Default.js": {Src: "Libraries/SyntaxHighlighter/Theme/Default.js", JSHash: "6141393c81cb7aada7b2a73a8dbfd558ebda1b27", CSSHash: "987c987735bb6b8994aaf203e473b33567576e21"},
+ "Libraries/SyntaxHighlighter/Theme/Django.js": {Src: "Libraries/SyntaxHighlighter/Theme/Django.js", JSHash: "23df03e056ed67c0314d650450f40379ec935e12", CSSHash: "5dfcda0646605919fee778c23a2d9553b0e6da52"},
+ "Libraries/SyntaxHighlighter/Theme/Eclipse.js": {Src: "Libraries/SyntaxHighlighter/Theme/Eclipse.js", JSHash: "eee5953aff8db6ee60e2081bc27830acd8cdf55e", CSSHash: "bdea6377e004a14071610af1b26e133dd4843039"},
+ "Libraries/SyntaxHighlighter/Theme/Emacs.js": {Src: "Libraries/SyntaxHighlighter/Theme/Emacs.js", JSHash: "580c4b66bc837bca243f458c03afed51b3a4ead0", CSSHash: "70163d78ff96d3b71dc417819408c751b2286787"},
+ "Libraries/SyntaxHighlighter/Theme/FadeToGrey.js": {Src: "Libraries/SyntaxHighlighter/Theme/FadeToGrey.js", JSHash: "f30ce35a2ce3f1ffd681f6e3924219770db03ac0", CSSHash: "b997df3d771f6c8403b71e4cac4f61a028cb6ab1"},
+ "Libraries/SyntaxHighlighter/Theme/MDUltra.js": {Src: "Libraries/SyntaxHighlighter/Theme/MDUltra.js", JSHash: "2970d2bc1f32512fdb2f8487b3fa718a41681c83", CSSHash: "632ce299b8f90d3de35f1505e72db4e1659e0859"},
+ "Libraries/SyntaxHighlighter/Theme/Midnight.js": {Src: "Libraries/SyntaxHighlighter/Theme/Midnight.js", JSHash: "9a5807549212dab3d3430e341cab2311b2f374e5", CSSHash: "138fe3f3bb425837fcfd9b46c3cc5ad199cb01cc"},
+ "Libraries/SyntaxHighlighter/Theme/RDark.js": {Src: "Libraries/SyntaxHighlighter/Theme/RDark.js", JSHash: "4eb10422695ef08331f8c5e91c6ca5b655c4b641", CSSHash: "b4970092adfcad76da353fa815b8502a9d09f097"},
+ "Libraries/SyntaxHighlighter/Theme/_this.js": {Src: "Libraries/SyntaxHighlighter/Theme/_this.js", JSHash: "55f3a4849ae1cbab812c4d46b043a4c100fd4cf6", CSSHash: "1"},
+ "Libraries/SyntaxHighlighter/_this.js": {Src: "Libraries/SyntaxHighlighter/_this.js", JSHash: "3419332fc98c2a094bc8f2a3b16b87b8d98bd309", CSSHash: "3860c0c289ac761da7d9c595633f8bba8f58afe9"},
+ "System/Compression/Zlib.js": {Src: "System/Compression/Zlib.js", JSHash: "50248acd8ef77f57eff8998011ac296b252142d4", CSSHash: "1"},
+ "System/Compression/_this.js": {Src: "System/Compression/_this.js", JSHash: "237bff609161dca51d55c73b92a477c54286e26d", CSSHash: "1"},
+ "System/Cycle/Trigger.js": {Src: "System/Cycle/Trigger.js", JSHash: "b18fae66ada79a1cc2e812dea1055422f1172a37", CSSHash: "1"},
+ "System/Cycle/_this.js": {Src: "System/Cycle/_this.js", JSHash: "8eb5c18fd0923d3b2bf27ab48105cb9ce07f4c5e", CSSHash: "1"},
+ "System/Debug.js": {Src: "System/Debug.js", JSHash: "c821a438f97a2bae0114cd615113c3d278efe121", CSSHash: "1"},
+ "System/Encoding/Base64.js": {Src: "System/Encoding/Base64.js", JSHash: "19189ebf4db33bbf081acb98f496365bc313064f", CSSHash: "1"},
+ "System/Encoding/Utf8.js": {Src: "System/Encoding/Utf8.js", JSHash: "f582c26e2b63071f6c475d1f09553b546ee0af0f", CSSHash: "1"},
+ "System/Encoding/_this.js": {Src: "System/Encoding/_this.js", JSHash: "acf2ce9ee06a72f81447d72c01e655198e38fbc1", CSSHash: "1"},
+ "System/Global.js": {Src: "System/Global.js", JSHash: "a1b5eea0d218508e1d5d68f0ced64f16fc9595ce", CSSHash: "1"},
+ "System/Log.js": {Src: "System/Log.js", JSHash: "de65e2795ac10fb2cbe8ecdedba66e0617bec8ad", CSSHash: "1"},
+ "System/Net/ClassLoader.js": {Src: "System/Net/ClassLoader.js", JSHash: "0c6dc60bb45f9440b999f62f4dc4c0e2cc93e0cb", CSSHash: "1"},
+ "System/Net/_this.js": {Src: "System/Net/_this.js", JSHash: "1b2e6ddd90efc213dbbd139e2dc891ab41ec043f", CSSHash: "1"},
+ "System/Policy/_this.js": {Src: "System/Policy/_this.js", JSHash: "94efec864f3f9258f9ed95d5eadd0a10d7e51797", CSSHash: "1"},
+ "System/Tick.js": {Src: "System/Tick.js", JSHash: "526500dfd490e4c29b30f9f00b32a238b74afedb", CSSHash: "1"},
+ "System/_this.js": {Src: "System/_this.js", JSHash: "234db843eb17b025eddacdca0083828d0e7700a6", CSSHash: "1"},
+ "System/utils/DataKey.js": {Src: "System/utils/DataKey.js", JSHash: "1d6b56a4a4c74713b461db65eb5e6c43e3d161e8", CSSHash: "1"},
+ "System/utils/EventKey.js": {Src: "System/utils/EventKey.js", JSHash: "c6285ef1d22a5e15b12c4fd13fa00d64517f59b8", CSSHash: "1"},
+ "System/utils/IKey.js": {Src: "System/utils/IKey.js", JSHash: "e9e57a335ec6204b35fead34925cffdc3e38b55b", CSSHash: "1"},
+ "System/utils/Perf.js": {Src: "System/utils/Perf.js", JSHash: "4a8c714fd0302d1bcad10c27bcd4a574ffe606eb", CSSHash: "1"},
+ "System/utils/_this.js": {Src: "System/utils/_this.js", JSHash: "217041f4a86092e258a1c6624ff837cefd1ccc0f", CSSHash: "1"},
+ },
+}
diff --git a/botanres-go/internal/resolver/resolver.go b/botanres-go/internal/resolver/resolver.go
new file mode 100644
index 0000000..8b66731
--- /dev/null
+++ b/botanres-go/internal/resolver/resolver.go
@@ -0,0 +1,306 @@
+package resolver
+
+import (
+ "bytes"
+ "compress/zlib"
+ "crypto/md5"
+ "encoding/base64"
+ "encoding/hex"
+ "errors"
+ "fmt"
+ "io"
+ "os"
+ "path/filepath"
+ "regexp"
+ "sort"
+ "strings"
+
+ "github.com/tgckpg/botanres-go/internal/classmap"
+)
+
+type OutputMode string
+
+const (
+ ModeJS OutputMode = "js"
+ ModeCSS OutputMode = "css"
+)
+
+type Result struct {
+ Mode OutputMode
+ Request []string
+ JSFiles []classmap.Resource
+ CSSFiles []classmap.Resource
+ Hash string
+ Content []byte
+ ContentType string
+}
+
+type Resolver struct {
+ Root string
+ Map *classmap.Map
+}
+
+func New(root string, m *classmap.Map) (*Resolver, error) {
+ root, err := filepath.Abs(root)
+ if err != nil {
+ return nil, err
+ }
+ return &Resolver{Root: root, Map: m}, nil
+}
+
+func (r *Resolver) ResolveRequest(code string, mode OutputMode, excludes []string) (Result, error) {
+ apis, err := DecodeRequest(code)
+ if err != nil {
+ return Result{}, err
+ }
+ var includeSyms []classmap.Symbol
+ var excludeSyms []classmap.Symbol
+ for _, api := range apis {
+ if api == "" {
+ continue
+ }
+ neg := strings.HasPrefix(api, "-")
+ api = strings.TrimPrefix(api, "-")
+ syms, err := r.ResolveSymbol(api)
+ if err != nil {
+ return Result{}, err
+ }
+ if neg {
+ excludeSyms = append(excludeSyms, syms...)
+ } else {
+ includeSyms = append(includeSyms, syms...)
+ }
+ }
+ for _, ex := range excludes {
+ syms, err := r.ResolveSymbol(ex)
+ if err != nil {
+ return Result{}, err
+ }
+ excludeSyms = append(excludeSyms, syms...)
+ }
+
+ jsFiles := r.resourcesFor(includeSyms)
+ jsExcludes := r.resourcesFor(excludeSyms)
+ jsFiles = subtractResources(jsFiles, jsExcludes)
+
+ res := Result{Mode: mode, Request: apis, JSFiles: jsFiles}
+ switch mode {
+ case ModeJS:
+ content, hash, err := r.MergeJS(jsFiles)
+ res.Hash, res.Content, res.ContentType = hash, content, "application/javascript"
+ return res, err
+ case ModeCSS:
+ cssIn := r.cssResources(jsFiles)
+ cssEx := r.cssResources(jsExcludes)
+ cssFiles := subtractResources(cssIn, cssEx)
+ content, hash, err := r.MergeCSS(cssFiles)
+ res.CSSFiles, res.Hash, res.Content, res.ContentType = cssFiles, hash, content, "text/css"
+ return res, err
+ default:
+ return Result{}, fmt.Errorf("invalid mode: %s", mode)
+ }
+}
+
+func (r *Resolver) ResolveSymbol(name string) ([]classmap.Symbol, error) {
+ seen := map[string]bool{}
+ var out []classmap.Symbol
+ if strings.HasSuffix(name, ".*") {
+ prefix := strings.TrimSuffix(name, "*")
+ var keys []string
+ for k, s := range r.Map.Symbols {
+ if strings.HasPrefix(k, prefix) && s.Kind == classmap.KindClass && k != strings.TrimSuffix(prefix, ".") {
+ keys = append(keys, k)
+ }
+ }
+ if len(keys) == 0 {
+ return nil, fmt.Errorf("namespace does not exist or contains no classes: %s", name)
+ }
+ sort.Strings(keys)
+ for _, k := range keys {
+ if err := r.resolveOne(k, seen, &out); err != nil {
+ return nil, err
+ }
+ }
+ return out, nil
+ }
+ if err := r.resolveOne(name, seen, &out); err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (r *Resolver) resolveOne(name string, seen map[string]bool, out *[]classmap.Symbol) error {
+ if seen[name] {
+ return nil
+ }
+ sym, ok := r.Map.Symbols[name]
+ if !ok {
+ return fmt.Errorf("no such class: %s", name)
+ }
+ seen[name] = true
+ imports := sym.Imports
+ // Old resolver uses parent imports when the found node is prop/method.
+ if sym.Kind != classmap.KindClass && sym.Parent != "" {
+ if p, ok := r.Map.Symbols[sym.Parent]; ok {
+ imports = p.Imports
+ }
+ }
+ for _, imp := range imports {
+ if err := r.resolveOne(imp, seen, out); err != nil {
+ return err
+ }
+ }
+ *out = append(*out, sym)
+ return nil
+}
+
+func (r *Resolver) resourcesFor(syms []classmap.Symbol) []classmap.Resource {
+ var out []classmap.Resource
+ for _, s := range syms {
+ res, ok := r.resourceFor(s)
+ if ok {
+ out = appendResource(out, res)
+ }
+ }
+ return out
+}
+
+func (r *Resolver) resourceFor(s classmap.Symbol) (classmap.Resource, bool) {
+ if s.Resource.Src != "" {
+ return s.Resource, true
+ }
+ for p := s.Parent; p != ""; {
+ ps, ok := r.Map.Symbols[p]
+ if !ok {
+ break
+ }
+ if ps.Resource.Src != "" {
+ return ps.Resource, true
+ }
+ p = ps.Parent
+ }
+ return classmap.Resource{}, false
+}
+
+func (r *Resolver) cssResources(jsFiles []classmap.Resource) []classmap.Resource {
+ var out []classmap.Resource
+ for _, res := range jsFiles {
+ if res.CSSHash != "1" {
+ out = appendResource(out, res)
+ }
+ parts := strings.Split(res.Src, "/")
+ for i := 1; i < len(parts); i++ {
+ key := strings.Join(parts[:len(parts)-i], "/") + "/_this.js"
+ def, ok := r.Map.Files[key]
+ if ok && def.CSSHash != "1" {
+ out = appendResource(out, def)
+ }
+ }
+ }
+ sort.SliceStable(out, func(i, j int) bool { return out[i].Src < out[j].Src })
+ return out
+}
+
+func (r *Resolver) MergeJS(files []classmap.Resource) ([]byte, string, error) {
+ var b bytes.Buffer
+ head, _ := os.ReadFile(filepath.Join(r.Root, "_this.js"))
+ b.Write(head)
+ for _, f := range files {
+ pathName := strings.TrimSuffix(f.Src, ".js")
+ pathName = strings.ReplaceAll(pathName, "/", ".")
+ pathName = strings.ReplaceAll(pathName, "._this", "")
+ b.WriteString(";BotanJS.define(\"")
+ b.WriteString(pathName)
+ b.WriteString("\");")
+ src, err := os.ReadFile(filepath.Join(r.Root, filepath.FromSlash(f.Src)))
+ if err != nil {
+ return nil, "", err
+ }
+ b.Write(src)
+ }
+ wrapped := append([]byte("(function(){"), b.Bytes()...)
+ wrapped = append(wrapped, []byte("})();")...)
+ return wrapped, hashList(files, "js"), nil
+}
+
+func (r *Resolver) MergeCSS(files []classmap.Resource) ([]byte, string, error) {
+ var b bytes.Buffer
+ b.WriteString("/* @ */")
+ head, _ := os.ReadFile(filepath.Join(r.Root, "_this.css"))
+ b.Write(head)
+ for _, f := range files {
+ cssPath := strings.TrimSuffix(f.Src, ".js") + ".css"
+ src, err := os.ReadFile(filepath.Join(r.Root, filepath.FromSlash(cssPath)))
+ if err != nil {
+ if errors.Is(err, os.ErrNotExist) {
+ continue
+ }
+ return nil, "", err
+ }
+ b.Write(src)
+ }
+ return b.Bytes(), hashList(files, "css"), nil
+}
+
+func DecodeRequest(code string) ([]string, error) {
+ sep := "/"
+ decoded := code
+ if raw, err := base64.StdEncoding.DecodeString(code); err == nil {
+ zr, err := zlib.NewReader(bytes.NewReader(raw))
+ if err == nil {
+ buf, readErr := io.ReadAll(zr)
+ _ = zr.Close()
+ if readErr != nil {
+ return nil, readErr
+ }
+ decoded = string(buf)
+ sep = ","
+ }
+ }
+ cleaner := regexp.MustCompile(`[^A-Za-z.\*\-_/ ,]`)
+ decoded = cleaner.ReplaceAllString(decoded, "")
+ var fields []string
+ for _, p := range strings.Split(decoded, sep) {
+ p = strings.TrimSpace(p)
+ if p != "" {
+ fields = append(fields, p)
+ }
+ }
+ return fields, nil
+}
+
+func appendResource(out []classmap.Resource, res classmap.Resource) []classmap.Resource {
+ for _, x := range out {
+ if x.Src == res.Src {
+ return out
+ }
+ }
+ return append(out, res)
+}
+
+func subtractResources(in, ex []classmap.Resource) []classmap.Resource {
+ drop := map[string]bool{}
+ for _, x := range ex {
+ drop[x.Src] = true
+ }
+ var out []classmap.Resource
+ for _, x := range in {
+ if !drop[x.Src] {
+ out = append(out, x)
+ }
+ }
+ return out
+}
+
+func hashList(files []classmap.Resource, mode string) string {
+ var parts []string
+ for _, f := range files {
+ if mode == "css" {
+ parts = append(parts, f.CSSHash)
+ } else {
+ parts = append(parts, f.JSHash)
+ }
+ }
+ sum := md5.Sum([]byte(strings.Join(parts, "|")))
+ return hex.EncodeToString(sum[:]) + "." + mode
+}
diff --git a/closure-compilerd/Dockerfile b/closure-compilerd/Dockerfile
new file mode 100644
index 0000000..c3d1e9a
--- /dev/null
+++ b/closure-compilerd/Dockerfile
@@ -0,0 +1,37 @@
+FROM maven:3.9-eclipse-temurin-21 AS build
+
+WORKDIR /src
+
+# Copy pom first so Docker can cache dependencies.
+COPY pom.xml .
+
+RUN --mount=type=cache,target=/root/.m2 \
+ mvn -B -DskipTests dependency:go-offline
+
+COPY src ./src
+
+RUN --mount=type=cache,target=/root/.m2 \
+ mvn -B -DskipTests package
+
+
+FROM eclipse-temurin:21-jre
+
+WORKDIR /app
+
+RUN useradd -r -u 10001 closure
+
+COPY --from=build /src/target/closure-compilerd-0.1.0.jar /app/closure-compilerd.jar
+
+# Optional: put your JS source tree/configs here if you want the container
+# to compile files from inside the image.
+COPY example ./example
+
+USER closure
+
+ENV CLOSURED_ROOT=/work
+ENV CLOSURED_PORT=8080
+ENV CLOSURED_WORKERS=2
+
+EXPOSE 8080
+
+ENTRYPOINT ["java", "-Xms256m", "-Xmx2g", "-jar", "/app/closure-compilerd.jar"]
diff --git a/closure-compilerd/README.md b/closure-compilerd/README.md
new file mode 100644
index 0000000..9609912
--- /dev/null
+++ b/closure-compilerd/README.md
@@ -0,0 +1,30 @@
+# closure-compilerd-min
+
+Tiny Closure Compiler HTTP daemon using Java's built-in HTTP server.
+
+## Build
+
+```sh
+mvn -DskipTests package
+```
+
+## Run
+
+```sh
+CLOSURED_ROOT=$PWD \
+CLOSURED_PORT=8080 \
+CLOSURED_WORKERS=2 \
+java -Xms256m -Xmx2g -jar target/closure-compilerd-0.1.0.jar
+```
+
+## Test
+
+```sh
+curl -s http://127.0.0.1:8080/compile \
+ -H 'Content-Type: application/json' \
+ -d '{
+ "externs": ["example/externs/browser.js"],
+ "js": ["example/js/hello.js"],
+ "defines": {"DEBUG": false}
+ }'
+```
diff --git a/closure-compilerd/example/externs/browser.js b/closure-compilerd/example/externs/browser.js
new file mode 100644
index 0000000..a45c1ad
--- /dev/null
+++ b/closure-compilerd/example/externs/browser.js
@@ -0,0 +1,3 @@
+/** @externs */
+var window = {};
+window.demoHello = function(name) {};
diff --git a/closure-compilerd/example/js/hello.js b/closure-compilerd/example/js/hello.js
new file mode 100644
index 0000000..25dd087
--- /dev/null
+++ b/closure-compilerd/example/js/hello.js
@@ -0,0 +1,13 @@
+/** @define {boolean} */
+var DEBUG = false;
+
+function internalNameThatShouldDisappear(name) {
+ if (DEBUG) {
+ console.log('debug mode');
+ }
+ return 'hello ' + name;
+}
+
+window.demoHello = function(name) {
+ return internalNameThatShouldDisappear(name);
+};
diff --git a/closure-compilerd/pom.xml b/closure-compilerd/pom.xml
new file mode 100644
index 0000000..5273d4f
--- /dev/null
+++ b/closure-compilerd/pom.xml
@@ -0,0 +1,61 @@
+
+ 4.0.0
+
+ dev.tgckpg
+ closure-compilerd
+ 0.1.0
+
+
+ 21
+ 21
+ UTF-8
+
+
+
+
+ com.google.javascript
+ closure-compiler
+ v20260526
+
+
+
+ com.fasterxml.jackson.core
+ jackson-databind
+ 2.19.0
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-compiler-plugin
+ 3.14.0
+
+
+
+ org.apache.maven.plugins
+ maven-shade-plugin
+ 3.6.0
+
+
+ package
+
+ shade
+
+
+ false
+
+
+ dev.tgckpg.closured.Main
+
+
+
+
+
+
+
+
+
diff --git a/closure-compilerd/src/main/java/dev/tgckpg/closured/Main.java b/closure-compilerd/src/main/java/dev/tgckpg/closured/Main.java
new file mode 100644
index 0000000..9be87ce
--- /dev/null
+++ b/closure-compilerd/src/main/java/dev/tgckpg/closured/Main.java
@@ -0,0 +1,192 @@
+package dev.tgckpg.closured;
+
+import com.fasterxml.jackson.databind.JsonNode;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.fasterxml.jackson.databind.node.ObjectNode;
+import com.google.javascript.jscomp.CompilationLevel;
+import com.google.javascript.jscomp.CommandLineRunner;
+import com.google.javascript.jscomp.CompilerOptions;
+import com.google.javascript.jscomp.JSError;
+import com.google.javascript.jscomp.Result;
+import com.google.javascript.jscomp.SourceFile;
+import com.google.javascript.jscomp.WarningLevel;
+import com.sun.net.httpserver.HttpExchange;
+import com.sun.net.httpserver.HttpServer;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.net.InetSocketAddress;
+import java.nio.charset.StandardCharsets;
+import java.nio.file.Files;
+import java.nio.file.Path;
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+import java.util.concurrent.Executors;
+
+public final class Main {
+ private static final ObjectMapper JSON = new ObjectMapper();
+
+ private static final Path ROOT = Path.of(System.getenv().getOrDefault("CLOSURED_ROOT", ".")).toAbsolutePath().normalize();
+ private static final int PORT = Integer.parseInt(System.getenv().getOrDefault("CLOSURED_PORT", "8080"));
+ private static final int WORKERS = Integer.parseInt(System.getenv().getOrDefault("CLOSURED_WORKERS", "2"));
+
+ public static void main(String[] args) throws Exception {
+ HttpServer server = HttpServer.create(new InetSocketAddress("0.0.0.0", PORT), 128);
+ server.setExecutor(Executors.newFixedThreadPool(WORKERS));
+
+ server.createContext("/health", Main::health);
+ server.createContext("/compile", Main::compile);
+
+ server.start();
+ System.err.printf("closure-compilerd listening on http://0.0.0.0:%d root=%s workers=%d%n", PORT, ROOT, WORKERS);
+ }
+
+ private static void health(HttpExchange ex) throws IOException {
+ sendJson(ex, 200, JSON.createObjectNode().put("ok", true));
+ }
+
+ private static void compile(HttpExchange ex) throws IOException {
+ if (!"POST".equalsIgnoreCase(ex.getRequestMethod())) {
+ sendJson(ex, 405, JSON.createObjectNode().put("ok", false).put("error", "POST required"));
+ return;
+ }
+
+ JsonNode req;
+ try (InputStream in = ex.getRequestBody()) {
+ req = JSON.readTree(in);
+ } catch (Exception e) {
+ sendJson(ex, 400, JSON.createObjectNode().put("ok", false).put("error", "invalid JSON"));
+ return;
+ }
+
+ try {
+ CompileOutput out = compileRequest(req);
+ ObjectNode res = JSON.createObjectNode();
+ res.put("ok", out.success);
+ res.put("js", out.js);
+ res.set("warnings", JSON.valueToTree(out.warnings));
+ res.set("errors", JSON.valueToTree(out.errors));
+ sendJson(ex, out.success ? 200 : 422, res);
+ } catch (BadRequest e) {
+ sendJson(ex, 400, JSON.createObjectNode().put("ok", false).put("error", e.getMessage()));
+ } catch (Exception e) {
+ e.printStackTrace();
+ sendJson(ex, 500, JSON.createObjectNode().put("ok", false).put("error", e.toString()));
+ }
+ }
+
+ private static CompileOutput compileRequest(JsonNode req) throws IOException, BadRequest {
+ CompilerOptions options = new CompilerOptions();
+
+ CompilationLevel.ADVANCED_OPTIMIZATIONS.setOptionsForCompilationLevel(options);
+ WarningLevel.DEFAULT.setOptionsForWarningLevel(options);
+
+ options.setEnvironment(CompilerOptions.Environment.BROWSER);
+
+ options.setLanguageIn(CompilerOptions.LanguageMode.ECMASCRIPT_NEXT);
+ options.setLanguageOut(CompilerOptions.LanguageMode.ECMASCRIPT_2019);
+
+ List externs = new ArrayList<>();
+ externs.addAll(CommandLineRunner.getBuiltinExterns(options.getEnvironment()));
+ externs.addAll(readFiles(req, "externs"));
+
+ List inputs = readFiles(req, "js");
+
+ if (inputs.isEmpty()) {
+ throw new BadRequest("request must include at least one js file");
+ }
+
+ com.google.javascript.jscomp.Compiler compiler =
+ new com.google.javascript.jscomp.Compiler();
+
+ JsonNode defines = req.get("defines");
+ if (defines != null && defines.isObject()) {
+ Iterator> fields = defines.fields();
+ while (fields.hasNext()) {
+ Map.Entry entry = fields.next();
+ String name = entry.getKey();
+ JsonNode value = entry.getValue();
+ if (value.isBoolean()) {
+ options.setDefineToBooleanLiteral(name, value.booleanValue());
+ } else if (value.isNumber()) {
+ if (!value.canConvertToInt()) {
+ throw new BadRequest("numeric define must be an integer: " + name);
+ }
+ options.setDefineToNumberLiteral(name, value.intValue());
+ } else if (value.isTextual()) {
+ options.setDefineToStringLiteral(name, value.textValue());
+ } else {
+ throw new BadRequest("define must be boolean, number, or string: " + name);
+ }
+ }
+ }
+
+ Result result = compiler.compile(externs, inputs, options);
+
+ return new CompileOutput(
+ result.success,
+ result.success ? compiler.toSource() : "",
+ toStrings(compiler.getWarnings()),
+ toStrings(compiler.getErrors())
+ );
+ }
+
+ private static List readFiles(JsonNode req, String field) throws IOException, BadRequest {
+ List out = new ArrayList<>();
+ JsonNode arr = req.get(field);
+ if (arr == null) {
+ return out;
+ }
+ if (!arr.isArray()) {
+ throw new BadRequest(field + " must be an array");
+ }
+
+ for (JsonNode item : arr) {
+ if (!item.isTextual()) {
+ throw new BadRequest(field + " entries must be strings");
+ }
+ Path p = safePath(item.textValue());
+ out.add(SourceFile.fromFile(p.toString()));
+ }
+ return out;
+ }
+
+ private static Path safePath(String value) throws BadRequest {
+ Path p = ROOT.resolve(value).normalize();
+ if (!p.startsWith(ROOT)) {
+ throw new BadRequest("path escapes root: " + value);
+ }
+ if (!Files.isRegularFile(p)) {
+ throw new BadRequest("file not found: " + value);
+ }
+ return p;
+ }
+
+ private static List toStrings(Iterable errors) {
+ List out = new ArrayList<>();
+ for (JSError e : errors) {
+ out.add(e.toString());
+ }
+ return out;
+ }
+
+ private static void sendJson(HttpExchange ex, int status, JsonNode body) throws IOException {
+ byte[] bytes = JSON.writerWithDefaultPrettyPrinter().writeValueAsBytes(body);
+ ex.getResponseHeaders().set("Content-Type", "application/json; charset=utf-8");
+ ex.sendResponseHeaders(status, bytes.length);
+ try (OutputStream os = ex.getResponseBody()) {
+ os.write(bytes);
+ }
+ }
+
+ private record CompileOutput(boolean success, String js, List warnings, List errors) {}
+
+ private static final class BadRequest extends Exception {
+ BadRequest(String message) {
+ super(message);
+ }
+ }
+}
diff --git a/internal/generated/buildinfo_gen.go b/internal/generated/buildinfo_gen.go
new file mode 100644
index 0000000..a798cc7
--- /dev/null
+++ b/internal/generated/buildinfo_gen.go
@@ -0,0 +1,6 @@
+package generated
+
+const (
+ IMAGE_TAG = "dev"
+ Timestamp = "20260610.220306"
+)
diff --git a/mk/botanres-go.mk b/mk/botanres-go.mk
new file mode 100644
index 0000000..f8cde4f
--- /dev/null
+++ b/mk/botanres-go.mk
@@ -0,0 +1,54 @@
+IMAGE_NAME ?= botanjs
+IMAGE_TAG ?= dev
+
+JS_SRC_DIR ?= ./botanjs/src
+GO_SRC_DIR ?= ./botanres-go
+BUILDX_BUILDER ?= container-builder
+BUILDINFO_FILE := internal/generated/buildinfo_gen.go
+
+ensure-buildx:
+ @if ! docker buildx inspect $(BUILDX_BUILDER) >/dev/null 2>&1; then \
+ echo "Creating buildx builder $(BUILDX_BUILDER)..."; \
+ docker buildx create \
+ --name $(BUILDX_BUILDER) \
+ --driver docker-container \
+ --driver-opt network=host \
+ --bootstrap --use; \
+ else \
+ echo "Using existing buildx builder $(BUILDX_BUILDER)"; \
+ docker buildx use $(BUILDX_BUILDER); \
+ fi
+
+.buildinfo:
+ @mkdir -p $(dir $(BUILDINFO_FILE))
+ @printf '%s\n' \
+ 'package generated' \
+ '' \
+ 'const (' \
+ ' IMAGE_TAG = "$(IMAGE_TAG)"' \
+ ' Timestamp = "'$$(TZ=UTC date +%Y%m%d.%H%M%S)'"' \
+ ')' \
+ > $(BUILDINFO_FILE)
+
+gen:
+ docker build \
+ -f $(GO_SRC_DIR)/dockerfiles/gen.Dockerfile \
+ --output type=local,dest=$(GO_SRC_DIR)/internal/generated .
+
+build: .buildinfo ensure-buildx gen
+ docker build \
+ -f $(GO_SRC_DIR)/dockerfiles/api.Dockerfile \
+ --load \
+ -t $(IMAGE_NAME):$(IMAGE_TAG) .
+
+push: .buildinfo ensure-buildx gen
+ docker buildx build \
+ --platform linux/amd64,linux/arm64 \
+ -f $(GO_SRC_DIR)/dockerfiles/api.Dockerfile \
+ -t $(IMAGE_NAME):$(IMAGE_TAG) \
+ --push .
+
+inspect:
+ docker buildx imagetools inspect $(IMAGE_NAME):$(IMAGE_TAG)
+
+.PHONY: push build .buildinfo gen
diff --git a/Dockerfile b/old/Dockerfile
similarity index 100%
rename from Dockerfile
rename to old/Dockerfile
diff --git a/botan-rebuild.py b/old/botan-rebuild.py
similarity index 100%
rename from botan-rebuild.py
rename to old/botan-rebuild.py
diff --git a/logs/.keep b/old/cache/.keep
similarity index 100%
rename from logs/.keep
rename to old/cache/.keep
diff --git a/env/README.md b/old/env/README.md
similarity index 100%
rename from env/README.md
rename to old/env/README.md
diff --git a/old/logs/.keep b/old/logs/.keep
new file mode 100644
index 0000000..e69de29
diff --git a/main.py b/old/main.py
similarity index 100%
rename from main.py
rename to old/main.py
diff --git a/settings.ini b/old/settings.ini
similarity index 100%
rename from settings.ini
rename to old/settings.ini
diff --git a/setup/celery.conf b/old/setup/celery.conf
similarity index 100%
rename from setup/celery.conf
rename to old/setup/celery.conf
diff --git a/setup/compiler-tasks.service b/old/setup/compiler-tasks.service
similarity index 100%
rename from setup/compiler-tasks.service
rename to old/setup/compiler-tasks.service
diff --git a/setup/config b/old/setup/config
similarity index 100%
rename from setup/config
rename to old/setup/config
diff --git a/setup/docker.start b/old/setup/docker.start
similarity index 100%
rename from setup/docker.start
rename to old/setup/docker.start
diff --git a/setup/install b/old/setup/install
similarity index 100%
rename from setup/install
rename to old/setup/install
diff --git a/tests.py b/old/tests.py
similarity index 100%
rename from tests.py
rename to old/tests.py
diff --git a/windows/app/Dockerfile b/old/windows/app/Dockerfile
similarity index 100%
rename from windows/app/Dockerfile
rename to old/windows/app/Dockerfile
diff --git a/windows/base-compose.yml b/old/windows/base-compose.yml
similarity index 100%
rename from windows/base-compose.yml
rename to old/windows/base-compose.yml
diff --git a/windows/docker-compose.yml b/old/windows/docker-compose.yml
similarity index 100%
rename from windows/docker-compose.yml
rename to old/windows/docker-compose.yml
diff --git a/windows/jre/Dockerfile b/old/windows/jre/Dockerfile
similarity index 100%
rename from windows/jre/Dockerfile
rename to old/windows/jre/Dockerfile
diff --git a/windows/pyrt/dockerfile b/old/windows/pyrt/dockerfile
similarity index 100%
rename from windows/pyrt/dockerfile
rename to old/windows/pyrt/dockerfile
diff --git a/windows/redis/Dockerfile b/old/windows/redis/Dockerfile
similarity index 100%
rename from windows/redis/Dockerfile
rename to old/windows/redis/Dockerfile