webpackJsonp([1], [, , function(e, t, n) {
    "use strict";
    var r = n(33)
      , a = n.n(r)
      , i = n(3)
      , o = n.n(i)
      , s = n(15)
      , c = n.n(s)
      , u = n(19)
      , l = n.n(u)
      , d = n(66)
      , p = n.n(d)
      , f = n(2350)
      , v = (n.n(f),
    n(55))
      , m = n(7)
      , h = n(4)
      , g = n(891)
      , b = n(892)
      , _ = n(893)
      , w = n(894)
      , y = n(895)
      , k = n(896)
      , x = n(897)
      , C = n(898)
      , I = n(899)
      , S = n(900)
      , E = n(902)
      , L = n(903)
      , T = n(904)
      , D = n(905)
      , P = n(906)
      , B = n(907)
      , A = n(901)
      , M = n(850)
      , N = n(851)
      , U = n(90);
    v.a.use(m.e);
    var F = new m.e.Store({
        modules: {
            content: g.a,
            contentState: b.a,
            contextMenu: _.a,
            data: w.a,
            discussion: y.a,
            explorer: k.a,
            file: x.a,
            findReplace: C.a,
            folder: I.a,
            layout: S.a,
            modal: E.a,
            notification: L.a,
            publishLocation: n.i(A.a)(M.a),
            queue: T.a,
            syncedContent: D.a,
            syncLocation: n.i(A.a)(N.a),
            userInfo: P.a,
            workspace: B.a
        },
        state: {
            light: !1,
            offline: !1,
            lastOfflineCheck: 0,
            timeCounter: 0,
            editState: !0,
            isEdit: !1
        },
        mutations: {
            setLight: function(e, t) {
                e.light = t
            },
            setOffline: function(e, t) {
                e.offline = t
            },
            updateLastOfflineCheck: function(e) {
                e.lastOfflineCheck = Date.now()
            },
            updateTimeCounter: function(e) {
                e.timeCounter += 1
            },
            updateEditState: function(e, t) {
                e.editState = t
            },
            setIsEdit: function(e, t) {
                e.isEdit = t
            }
        },
        getters: {
            allItemsById: function(e) {
                var t = {};
                return U.a.types.forEach(function(n) {
                    return p()(t, e[n].itemsById)
                }),
                t
            },
            pathsByItemId: function(e, t) {
                var n = {};
                return function e(t) {
                    var r = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : ""
                      , a = r;
                    t.item.id && (a += t.item.name,
                    t.isTrash ? a = ".stackedit-trash/" : t.isFolder && (a += "/"),
                    n[t.item.id] = a),
                    t.isFolder && (t.folders.forEach(function(t) {
                        return e(t, a)
                    }),
                    t.files.forEach(function(t) {
                        return e(t, a)
                    }))
                }(t["explorer/rootNode"]),
                n
            },
            itemsByPath: function(e, t) {
                var n = t.allItemsById
                  , r = t.pathsByItemId
                  , a = {};
                return l()(r).forEach(function(e) {
                    var t = c()(e, 2)
                      , r = t[0]
                      , i = t[1]
                      , o = a[i] || [];
                    o.push(n[r]),
                    a[i] = o
                }),
                a
            },
            gitPathsByItemId: function(e, t) {
                var n = t.allItemsById
                  , r = t.pathsByItemId
                  , a = {};
                return l()(n).forEach(function(e) {
                    var t = c()(e, 2)
                      , n = t[0]
                      , i = t[1];
                    if ("data" === i.type)
                        a[n] = ".stackedit-data/" + n + ".json";
                    else if ("file" === i.type) {
                        var s = r[n];
                        a[n] = s + ".md",
                        a[n + "/content"] = "/" + s + ".md"
                    } else if ("content" === i.type) {
                        var u = n.split("/")
                          , l = c()(u, 1)
                          , d = l[0]
                          , p = r[d];
                        a[d] = p + ".md",
                        a[n] = "/" + p + ".md"
                    } else if ("folder" === i.type)
                        a[n] = r[n];
                    else if ("syncLocation" === i.type || "publishLocation" === i.type) {
                        var f = h.a.encodeBase64(h.a.serializeObject(o()({}, i, {
                            id: void 0,
                            type: void 0,
                            fileId: void 0,
                            hash: void 0
                        })), !0)
                          , v = "syncLocation" === i.type ? "sync" : "publish";
                        a[n] = r[i.fileId] + "." + f + "." + v
                    }
                }),
                a
            },
            itemIdsByGitPath: function(e, t) {
                var n = t.gitPathsByItemId
                  , r = {};
                return l()(n).forEach(function(e) {
                    var t = c()(e, 2)
                      , n = t[0]
                      , a = t[1];
                    r[a] = n
                }),
                r
            },
            itemsByGitPath: function(e, t) {
                var n = t.allItemsById
                  , r = t.gitPathsByItemId
                  , a = {};
                return l()(r).forEach(function(e) {
                    var t = c()(e, 2)
                      , r = t[0]
                      , i = t[1]
                      , o = n[r];
                    o && (a[i] = o)
                }),
                a
            },
            isSponsor: function(e, t) {
                if (e.light)
                    return !0;
                if (!t["data/serverConf"].allowSponsorship)
                    return !0;
                var n = t["workspace/sponsorToken"];
                return !!n && n.isSponsor
            }
        },
        actions: {
            setOffline: function(e, t) {
                var n = e.state
                  , r = e.commit
                  , i = e.dispatch;
                if (n.offline !== t) {
                    if (r("setOffline", t),
                    n.offline)
                        return a.a.reject(new Error("You are offline."));
                    i("notification/info", "You are back online!")
                }
                return a.a.resolve()
            }
        },
        strict: !1,
        plugins: []
    });
    setInterval(function() {
        F.commit("updateTimeCounter")
    }, 3e4),
    t.a = F
}
, , function(e, t, n) {
    "use strict";
    var r = n(6)
      , a = n.n(r)
      , i = n(5)
      , o = n.n(i)
      , s = n(46)
      , c = n.n(s)
      , u = n(3)
      , l = n.n(u)
      , d = n(20)
      , p = n.n(d)
      , f = n(19)
      , v = n.n(f)
      , m = n(15)
      , h = n.n(m)
      , g = n(248)
      , b = n.n(g)
      , _ = (n(405),
    n(404))
      , w = n(90)
      , y = window.crypto || window.msCrypto
      , k = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ".split("")
      , x = k.length
      , C = new Uint32Array(16)
      , I = function(e) {
        var t = {};
        return e.split("&").forEach(function(e) {
            var n = e.split("=").map(decodeURIComponent)
              , r = h()(n, 2)
              , a = r[0]
              , i = r[1];
            a && null != i && (t[a] = i)
        }),
        t
    }
      , S = function() {
        var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {}
          , t = {};
        return v()(e).forEach(function(e) {
            var n = h()(e, 2)
              , r = n[0]
              , a = n[1];
            r && null != a && (t[r] = a)
        }),
        t
    }
      , E = function e(t, n) {
        if (void 0 === t)
            return n;
        var r = Object.prototype.toString.call(t);
        return r !== Object.prototype.toString.call(n) ? t : "[object Object]" !== r ? void 0 === n ? t : n : (p()(l()({}, t, n)).forEach(function(r) {
            t[r] = e(t[r], n[r])
        }),
        t)
    }
      , L = document.createElement("a")
      , T = function(e) {
        return null == e ? e : JSON.parse(c()(e))
    }
      , D = {};
    p()(_.a).forEach(function(e) {
        var t = T(_.a[e][0]);
        _.a[e][1] && (t = E(t, _.a[e][1])),
        D[e] = t
    }),
    t.a = {
        computedPresets: D,
        queryParams: I(window.location.hash.slice(1)),
        setQueryParams: function() {
            var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {};
            this.queryParams = S(e);
            var t = v()(this.queryParams).map(function(e) {
                var t = h()(e, 2)
                  , n = t[0]
                  , r = t[1];
                return encodeURIComponent(n) + "=" + encodeURIComponent(r)
            }).join("&")
              , n = "#" + t;
            window.location.hash !== n && window.location.replace(n)
        },
        sanitizeText: function(e) {
            return (("" + (e || "")).slice(0, w.a.textMaxLength) + "\n").replace(/\n\n$/, "\n")
        },
        sanitizeName: function(e) {
            return ("" + (e || "")).slice(0, 250) || w.a.defaultName
        },
        sanitizeFilename: function(e) {
            return this.sanitizeName(("" + (e || "")).replace(/[/\x00-\x1F\x7f-\xa0\s]+/g, " ").trim()) || w.a.defaultName
        },
        deepCopy: T,
        serializeObject: function(e) {
            return void 0 === e ? e : c()(e, function(e, t) {
                return "[object Object]" !== Object.prototype.toString.call(t) ? t : p()(t).sort().reduce(function(e, n) {
                    return e[n] = t[n],
                    e
                }, {})
            })
        },
        search: function(e, t) {
            var n = void 0;
            return e.some(function(e) {
                return v()(t).every(function(t) {
                    var n = h()(t, 2)
                      , r = n[0];
                    return n[1] === e[r]
                }) && (n = e),
                n
            }),
            n
        },
        uid: function() {
            return y.getRandomValues(C),
            C.cl_map(function(e) {
                return k[e % x]
            }).join("")
        },
        hash: function(e) {
            var t = 0;
            if (!e)
                return t;
            for (var n = 0; n < e.length; n += 1) {
                t = (t << 5) - t + e.charCodeAt(n),
                t |= 0
            }
            return t
        },
        getItemHash: function(e) {
            return this.hash(this.serializeObject(l()({}, e, {
                id: void 0,
                hash: void 0,
                history: void 0
            })))
        },
        addItemHash: function(e) {
            return l()({}, e, {
                hash: this.getItemHash(e)
            })
        },
        makeWorkspaceId: function(e) {
            return Math.abs(this.hash(this.serializeObject(e))).toString(36)
        },
        getDbName: function(e) {
            var t = "stackedit-db";
            return "main" !== e && (t += "-" + e),
            t
        },
        encodeBase64: function(e) {
            var t = arguments.length > 1 && void 0 !== arguments[1] && arguments[1]
              , n = encodeURIComponent(e)
              , r = n.replace(/%([0-9A-F]{2})/g, function(e, t) {
                return String.fromCharCode("0x" + t)
            })
              , a = btoa(r);
            return t ? a.replace(/\//g, "_").replace(/\+/g, "-").replace(/=+$/, "") : a
        },
        decodeBase64: function(e) {
            var t = e.replace(/_/g, "/").replace(/-/g, "+")
              , n = atob(t)
              , r = n.split("").map(function(e) {
                return "%" + ("00" + e.charCodeAt(0).toString(16)).slice(-2)
            }).join("");
            return decodeURIComponent(r)
        },
        computeProperties: function(e) {
            var t = {};
            try {
                t = b.a.safeLoad(e) || {}
            } catch (e) {}
            var n = t.extensions || {}
              , r = T(D[n.preset] || D.default)
              , a = E(r, t.extensions);
            return a.preset = n.preset,
            t.extensions = a,
            t
        },
        randomize: function(e) {
            return Math.floor((1 + .2 * Math.random()) * e)
        },
        setInterval: function(e) {
            function t(t, n) {
                return e.apply(this, arguments)
            }
            return t.toString = function() {
                return e.toString()
            }
            ,
            t
        }(function(e, t) {
            return setInterval(function() {
                return e()
            }, this.randomize(t))
        }),
        awaitSequence: function(e, t) {
            var n = this;
            return o()(a.a.mark(function r() {
                var i, s, c;
                return a.a.wrap(function(r) {
                    for (; ; )
                        switch (r.prev = r.next) {
                        case 0:
                            return i = [],
                            s = e.slice().reverse(),
                            c = function() {
                                var e = o()(a.a.mark(function e() {
                                    return a.a.wrap(function(e) {
                                        for (; ; )
                                            switch (e.prev = e.next) {
                                            case 0:
                                                if (s.length) {
                                                    e.next = 2;
                                                    break
                                                }
                                                return e.abrupt("return", i);
                                            case 2:
                                                return e.t0 = i,
                                                e.next = 5,
                                                t(s.pop());
                                            case 5:
                                                return e.t1 = e.sent,
                                                e.t0.push.call(e.t0, e.t1),
                                                e.abrupt("return", c());
                                            case 8:
                                            case "end":
                                                return e.stop()
                                            }
                                    }, e, n)
                                }));
                                return function() {
                                    return e.apply(this, arguments)
                                }
                            }(),
                            r.abrupt("return", c());
                        case 4:
                        case "end":
                            return r.stop()
                        }
                }, r, n)
            }))()
        },
        awaitSome: function(e) {
            var t = this;
            return o()(a.a.mark(function n() {
                return a.a.wrap(function(n) {
                    for (; ; )
                        switch (n.prev = n.next) {
                        case 0:
                            return n.next = 2,
                            e();
                        case 2:
                            if (!n.sent) {
                                n.next = 4;
                                break
                            }
                            return n.abrupt("return", t.awaitSome(e));
                        case 4:
                            return n.abrupt("return", null);
                        case 5:
                        case "end":
                            return n.stop()
                        }
                }, n, t)
            }))()
        },
        someResult: function(e, t) {
            var n = void 0;
            return e.some(function(e) {
                return n = t(e)
            }),
            n
        },
        parseQueryParams: I,
        addQueryParams: function() {
            var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : ""
              , t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {}
              , n = arguments.length > 2 && void 0 !== arguments[2] && arguments[2]
              , r = p()(t).filter(function(e) {
                return null != t[e]
            });
            if (L.href = e,
            !r.length)
                return L.href;
            var a = r.map(function(e) {
                return encodeURIComponent(e) + "=" + encodeURIComponent(t[e])
            }).join("&");
            return n ? (L.hash ? L.hash += "&" : L.hash = "#",
            L.hash += a) : (L.search ? L.search += "&" : L.search = "?",
            L.search += a),
            L.href
        },
        resolveUrl: function(e, t) {
            var n = document.getElementsByTagName("base")[0]
              , r = n && n.href
              , a = n || document.head.appendChild(document.createElement("base"));
            a.href = e,
            L.href = t;
            var i = L.href;
            return n ? n.href = r : document.head.removeChild(a),
            i
        },
        getHostname: function(e) {
            return L.href = e,
            L.hostname
        },
        encodeUrlPath: function(e) {
            return e ? e.split("/").map(encodeURIComponent).join("/") : ""
        },
        parseGithubRepoUrl: function(e) {
            var t = e && e.match(/([^/:]+)\/([^/]+?)(?:\.git|\/)?$/);
            return t && {
                owner: t[1],
                repo: t[2]
            }
        },
        parseGitlabProjectPath: function(e) {
            var t = e && e.match(/^https:\/\/[^/]+\/(.+?)(?:\.git|\/)?$/);
            return t && t[1]
        },
        createHiddenIframe: function(e) {
            var t = document.createElement("iframe");
            return t.style.position = "absolute",
            t.style.left = "-99px",
            t.style.width = "1px",
            t.style.height = "1px",
            t.src = e,
            t
        },
        wrapRange: function(e, t) {
            var n = ("" + e).length
              , r = 0
              , a = document.createTreeWalker(e.commonAncestorContainer, NodeFilter.SHOW_TEXT)
              , i = e.startOffset;
            if (a.currentNode = e.startContainer,
            a.currentNode.nodeType === Node.TEXT_NODE || a.nextNode())
                do {
                    if ("\n" !== a.currentNode.nodeValue && function() {
                        a.currentNode === e.endContainer && e.endOffset < a.currentNode.nodeValue.length && a.currentNode.splitText(e.endOffset),
                        i && (a.currentNode = a.currentNode.splitText(i),
                        i = 0);
                        var n = document.createElement("span");
                        v()(t).forEach(function(e) {
                            var t = h()(e, 2)
                              , r = t[0]
                              , a = t[1];
                            n[r] = a
                        }),
                        a.currentNode.parentNode.insertBefore(n, a.currentNode),
                        n.appendChild(a.currentNode)
                    }(),
                    (r += a.currentNode.nodeValue.length) >= n)
                        break
                } while (a.nextNode())
        },
        unwrapRange: function(e) {
            Array.prototype.slice.call(e).forEach(function(e) {
                for (var t = e.firstChild; t; t = e.firstChild)
                    3 === t.nodeType && (e.previousSibling && 3 === e.previousSibling.nodeType && (t.nodeValue = e.previousSibling.nodeValue + t.nodeValue,
                    e.parentNode.removeChild(e.previousSibling)),
                    !t.nextSibling && e.nextSibling && 3 === e.nextSibling.nodeType && (t.nodeValue += e.nextSibling.nodeValue,
                    e.parentNode.removeChild(e.nextSibling))),
                    e.parentNode.insertBefore(t, e);
                e.parentNode.removeChild(e)
            })
        }
    }
}
, , , , , , , , function(e, t, n) {
    "use strict";
    var r = n(39)
      , a = n.n(r)
      , i = n(172)
      , o = n.n(i)
      , s = n(2)
      , c = null
      , u = void 0
      , l = function() {
        var e = s.a.getters["data/allBadges"].filter(function(e) {
            return e.isEarned && !c.has(e.featureId)
        });
        e.length && s.a.dispatch("notification/badge", e.length > 1 ? "You've earned " + e.length + " badges: " + e.map(function(e) {
            return '"' + e.name + '"'
        }).join(", ") + "." : "You've earned 1 badge: \"" + e[0].name + '".'),
        c = null
    };
    t.a = {
        addBadge: function(e) {
        	console.log("api.js addBadge() e:", e);
        	/*
            if (!s.a.getters["data/badgeCreations"][e]) {
                if (!c) {
                    var t = s.a.getters["data/allBadges"].filter(function(e) {
                        return e.isEarned
                    }).map(function(e) {
                        return e.featureId
                    });
                    c = new o.a(t)
                }
                s.a.dispatch("data/patchBadgeCreations", a()({}, e, {
                    created: Date.now()
                })),
                clearTimeout(u),
                u = setTimeout(function() {
                    return l()
                }, 5e3)
            }*/
        }
    }
}
, , function(e, t, n) {
    "use strict";
    var r = n(6)
      , a = n.n(r)
      , i = n(5)
      , o = n.n(i)
      , s = n(39)
      , c = n.n(s)
      , u = n(15)
      , l = n.n(u)
      , d = n(19)
      , p = n.n(d)
      , f = n(3)
      , v = n.n(f)
      , m = n(54)
      , h = n(393)
      , g = n(2)
      , b = new Intl.Collator(void 0,{
        sensitivity: "base"
    });
    t.a = function(e) {
        var t = v()({}, e, {
            data: function() {
                return v()({}, e.data ? e.data() : {}, {
                    errorTimeouts: {}
                })
            },
            components: v()({}, e.components || {}, {
                ModalInner: m.a,
                FormEntry: h.a
            }),
            computed: v()({}, e.computed || {}, {
                config: function() {
                    return g.a.getters["modal/config"]
                },
                currentFileName: function() {
                    return g.a.getters["file/current"].name
                }
            }),
            methods: v()({}, e.methods || {}, {
                openFileProperties: function() {
                    return g.a.dispatch("modal/open", "fileProperties")
                },
                setError: function(e) {
                    clearTimeout(this.errorTimeouts[e]);
                    var t = this.$el.querySelector(".form-entry[error=" + e + "]");
                    t && (t.classList.add("form-entry--error"),
                    this.errorTimeouts[e] = setTimeout(function() {
                        t.classList.remove("form-entry--error")
                    }, 1e3))
                }
            })
        });
        return p()(e.computedLocalSettings || {}).forEach(function(e) {
            var n = l()(e, 2)
              , r = n[0]
              , i = n[1];
            t.computed[r] = {
                get: function() {
                    return g.a.getters["data/localSettings"][i]
                },
                set: function(e) {
                    g.a.dispatch("data/patchLocalSettings", c()({}, i, e))
                }
            },
            "selectedTemplate" === r && (t.computed.allTemplatesById = function() {
                var e = g.a.getters["data/allTemplatesById"]
                  , t = {};
                return p()(e).sort(function(e, t) {
                    var n = l()(e, 2)
                      , r = n[1]
                      , a = l()(t, 2)
                      , i = a[1];
                    return b.compare(r.name, i.name)
                }).forEach(function(e) {
                    var n = l()(e, 2)
                      , r = n[0]
                      , a = n[1];
                    t[r] = a
                }),
                t
            }
            ,
            t.methods.configureTemplates = o()(a.a.mark(function e() {
                var t, n;
                return a.a.wrap(function(e) {
                    for (; ; )
                        switch (e.prev = e.next) {
                        case 0:
                            return e.next = 2,
                            g.a.dispatch("modal/open", {
                                type: "templates",
                                selectedId: this.selectedTemplate
                            });
                        case 2:
                            t = e.sent,
                            n = t.selectedId,
                            g.a.dispatch("data/patchLocalSettings", c()({}, i, n));
                        case 5:
                        case "end":
                            return e.stop()
                        }
                }, e, this)
            })))
        }),
        t.computedLocalSettings = null,
        t
    }
}
, , , , , , , , , , , , , function(e, t, n) {
    "use strict";
    
    //console.log("api.js Object4444 e:", e);
    ////console.log("api.js Object4444 t:", t);

    var r = n(15)
      , a = n.n(r)
      , i = n(19)
      , o = n.n(i)
      , s = n(91)
      , c = n.n(s)
      , u = n(6)
      , l = n.n(u)
      , d = n(33)
      , p = n.n(d)
      , f = n(81)
      , v = n.n(f)
      , m = n(5)
      , h = n.n(m)
      , g = n(3)
      , b = n.n(g)
      , _ = n(66)
      , w = n.n(_)
      , y = n(37)
      , k = n.n(y)
      , x = n(55)
      , C = n(112)
      , I = n.n(C)
      , S = n(201)
      , E = n.n(S)
      , L = n(1833)
      , T = n.n(L)
      , D = n(65)
      , P = n(864)
      , B = n(171)
      , A = n(117)
      , M = n(409)
      , N = n(875)
      , U = n(100)
      , F = n(873)
      , O = n(874)
      , $ = n(4)
      , R = n(2)
      , q = function(e, t) {
        var n = void 0;
        return function() {
            for (var r = arguments.length, a = Array(r > 1 ? r - 1 : 0), i = 1; i < r; i++)
                a[i - 1] = arguments[i];
            var o = arguments.length > 0 && void 0 !== arguments[0] && arguments[0];
            clearTimeout(n),
            o ? n = setTimeout(function() {
                return e.apply(void 0, a)
            }, t) : e.apply(void 0, a)
        }
    }
      , W = new I.a
      , G = !0
      , H = void 0
      , j = function e(t, n, r, a) {
        k()(this, e),
        this.section = t,
        this.editorElt = t.elt,
        this.previewElt = n,
        this.tocElt = r,
        this.html = a
    }
      , z = w()(new x.a, F.a, O.a, {
        editorElt: null,
        previewElt: null,
        tocElt: null,
        clEditor: null,
        pagedownEditor: null,
        options: null,
        prismGrammars: null,
        converter: null,
        parsingCtx: null,
        conversionCtx: null,
        previewCtx: {
            sectionDescList: []
        },
        previewCtxMeasured: null,
        previewCtxWithDiffs: null,
        sectionList: null,
        selectionRange: null,
        previewSelectionRange: null,
        previewSelectionStartOffset: null,
        initPrism: function() {
            var e = b()({}, this.options, {
                insideFences: A.a.defaultOptions.insideFences
            });
            this.prismGrammars = M.a.makeGrammars(e)
        },
        initConverter: function() {
            this.converter = A.a.createConverter(this.options, !0)
        },
        initClEditor: function() {
            var e = this;
            this.previewCtxMeasured = null,
            z.$emit("previewCtxMeasured", null),
            this.previewCtxWithDiffs = null,
            z.$emit("previewCtxWithDiffs", null);
            var t = {
                sectionHighlighter: function(t) {
                    return E.a.highlight(t.text, e.prismGrammars[t.data])
                },
                sectionParser: function(t) {
                    return e.parsingCtx = A.a.parseSections(e.converter, t),
                    e.parsingCtx.sections
                },
                getCursorFocusRatio: function() {
                    return R.a.getters["data/layoutSettings"].focusMode ? 1 : .15
                }
            };
            this.initClEditorInternal(t),
            this.restoreScrollPosition()
        },
        convert: function() {
            this.conversionCtx = A.a.convert(this.parsingCtx, this.conversionCtx),
            this.$emit("conversionCtx", this.conversionCtx),
            H = this.parsingCtx.markdownState.tokens
        },
        refreshPreview: function() {
            var e = this;
            //console.log("api.js Object4444 refreshPreview e:", e);
            return h()(l.a.mark(function t() {
                var n, r, a, i, o, s, c, u, d, f;
                return l.a.wrap(function(t) {
                    for (; ; )
                        switch (t.prev = t.next) {
                        case 0:
                            return n = [],
                            r = void 0,
                            a = void 0,
                            i = 0,
                            o = 0,
                            s = e.previewElt.firstChild,
                            c = e.tocElt.firstChild,
                            u = "",
                            d = [],
                            e.conversionCtx.htmlSectionDiff.forEach(function(t) {
                                for (var l = 0; l < t[1].length; l += 1) {
                                    var p = e.conversionCtx.sectionList[i];
                                    if (0 === t[0]) {
                                        var f = e.previewCtx.sectionDescList[o];
                                        o += 1,
                                        f.editorElt !== p.elt && (f = new j(p,f.previewElt,f.tocElt,f.html)),
                                        n.push(f),
                                        u += f.html,
                                        i += 1,
                                        s = s.nextSibling,
                                        c = c.nextSibling
                                    } else if (-1 === t[0])
                                        o += 1,
                                        r = s,
                                        s = s.nextSibling,
                                        e.previewElt.removeChild(r),
                                        a = c,
                                        c = c.nextSibling,
                                        e.tocElt.removeChild(a);
                                    else if (1 === t[0]) {
                                        var m = B.a.sanitizeHtml(e.conversionCtx.htmlSectionList[i]);
                                        i += 1,
                                        r = document.createElement("div"),
                                        r.className = "cl-preview-section",
                                        r.innerHTML = m,
                                        s ? e.previewElt.insertBefore(r, s) : e.previewElt.appendChild(r),
                                        U.a.sectionPreview(r, e.options, !0),
                                        d = [].concat(v()(d), v()(Array.prototype.slice.call(r.getElementsByTagName("img")))),
                                        a = document.createElement("div"),
                                        a.className = "cl-toc-section";
                                        var h = r.querySelector("h1, h2, h3, h4, h5, h6");
                                        if (h) {
                                            var g = h.cloneNode(!0);
                                            g.removeAttribute("id"),
                                            a.appendChild(g)
                                        }
                                        c ? e.tocElt.insertBefore(a, c) : e.tocElt.appendChild(a),
                                        u += m,
                                        n.push(new j(p,r,a,m))
                                    }
                                }
                            }),
                            e.tocElt.classList[e.tocElt.querySelector(".cl-toc-section *") ? "remove" : "add"]("toc-tab--empty"),
                            e.previewCtx = {
                                markdown: e.conversionCtx.text,
                                html: u.replace(/^\s+|\s+$/g, ""),
                                text: e.previewElt.textContent,
                                sectionDescList: n
                            },
                            e.$emit("previewCtx", e.previewCtx),
                            e.makeTextToPreviewDiffs(),
                            f = d.map(function(e) {
                                return new p.a(function(t) {
                                    if (!e.src)
                                        return void t();
                                    var n = new window.Image;
                                    n.onload = t,
                                    n.onerror = t,
                                    n.src = e.src
                                }
                                )
                            }),
                            t.next = 17,
                            p.a.all(f);
                        case 17:
                            e.measureSectionDimensions(!!e.previewCtxMeasured);
                        case 18:
                        case "end":
                            return t.stop()
                        }
                }, t, e)
            }))()
        },
        measureSectionDimensions: q(function() {
            var e = arguments.length > 0 && void 0 !== arguments[0] && arguments[0];
            (arguments.length > 1 && void 0 !== arguments[1] && arguments[1] || z.previewCtx !== z.previewCtxMeasured) && (N.a.measureSectionDimensions(z),
            z.previewCtxMeasured = z.previewCtx,
            e && z.restoreScrollPosition(),
            z.$emit("previewCtxMeasured", z.previewCtxMeasured))
        }, 500),
        makeTextToPreviewDiffs: function() {
            if (z.previewCtx !== z.previewCtxWithDiffs) {
                !function e() {
                    var t = !1;
                    z.previewCtx.sectionDescList.some(function(e) {
                        if (!e.textToPreviewDiffs) {
                            if (t)
                                return !0;
                            e.previewText || (e.previewText = e.previewElt.textContent),
                            e.textToPreviewDiffs = W.diff_main(e.section.text, e.previewText),
                            t = !0
                        }
                        return !1
                    }) ? setTimeout(function() {
                        return e()
                    }, 10) : (z.previewCtxWithDiffs = z.previewCtx,
                    z.$emit("previewCtxWithDiffs", z.previewCtxWithDiffs))
                }()
            }
        },
        saveContentState: q(function() {
        	var e = z.getScrollPosition() || R.a.getters["contentState/current"].scrollPosition;
            R.a.dispatch("contentState/patchCurrent", {
                selectionStart: z.clEditor.selectionMgr.selectionStart,
                selectionEnd: z.clEditor.selectionMgr.selectionEnd,
                scrollPosition: e
            })
        }, 100),
        saveSelection: q(function() {
            var e = window.getSelection()
              , t = e.rangeCount && e.getRangeAt(0);
            if (t && (z.previewElt.compareDocumentPosition(t.startContainer) & window.Node.DOCUMENT_POSITION_CONTAINED_BY && z.previewElt.compareDocumentPosition(t.endContainer) & window.Node.DOCUMENT_POSITION_CONTAINED_BY || (t = null)),
            z.previewSelectionRange !== t) {
                var n = void 0
                  , r = void 0;
                if (t) {
                    var a = document.createRange();
                    a.setStart(z.previewElt, 0),
                    a.setEnd(t.startContainer, t.startOffset),
                    n = ("" + a).length,
                    r = n + ("" + t).length;
                    var i = z.getEditorOffset(n)
                      , o = z.getEditorOffset(r);
                    null != i && null != o && z.clEditor.selectionMgr.setSelectionStartEnd(i, o)
                }
                z.previewSelectionRange = t,
                z.$emit("previewSelectionRange", z.previewSelectionRange)
            }
        }, 50),
        getPandocAst: function() {
            return H && T()(H, this.converter.options)
        },
        init: function(e, t, r) {
            var i = this;
            //console.log("api.js Object4444 init i:", i);

            this.editorElt = e,
            this.previewElt = t,
            this.tocElt = r,
            this.createClEditor(e),
            this.clEditor.on("contentChanged", function(e, t, n) {
                i.parsingCtx = b()({}, i.parsingCtx, {
                    sectionList: n
                })
            }),
            this.clEditor.undoMgr.on("undoStateChange", function() {
                var e = i.clEditor.undoMgr.canUndo();
                e !== R.a.state.layout.canUndo && R.a.commit("layout/setCanUndo", e);
                var t = i.clEditor.undoMgr.canRedo();
                t !== R.a.state.layout.canRedo && R.a.commit("layout/setCanRedo", t)
            }),
            this.pagedownEditor = n.i(P.a)({
                input: c()(this.clEditor)
            }),
            this.pagedownEditor.run(),
            this.pagedownEditor.hooks.set("insertLinkDialog", function(e) {
                return R.a.dispatch("modal/open", {
                    type: "link",
                    callback: e
                }),
                !0
            }),
            this.pagedownEditor.hooks.set("insertImageDialog", function(e) {
                return R.a.dispatch("modal/open", {
                    type: "image",
                    callback: e
                }),
                !0
            }),
            this.editorElt.parentNode.addEventListener("scroll", function() {
                return i.saveContentState(!0)
            }),
            this.previewElt.parentNode.addEventListener("scroll", function() {
                return i.saveContentState(!0)
            });
            var s = q(function() {
                i.convert(),
                G ? (i.refreshPreview(),
                i.measureSectionDimensions(!1, !0)) : setTimeout(function() {
                    return i.refreshPreview()
                }, 10),
                G = !1
            }, 25)
              , u = void 0
              , l = void 0
              , d = q(function() {
                i.sectionList !== u && (i.sectionList = u,
                i.$emit("sectionList", i.sectionList),
                s(!G)),
                i.selectionRange !== l && (i.selectionRange = l,
                i.$emit("selectionRange", i.selectionRange)),
                i.saveContentState()
            }, 10);
            this.clEditor.selectionMgr.on("selectionChanged", function(e, t, n) {
                l = n,
                d(!G)
            });
            var p = c()(null)
              , f = function(e) {
                return e.src + ":" + (e.width || -1) + ":" + (e.height || -1)
            }
              , v = function(e) {
                var t = f(e)
                  , n = p[t];
                n || (n = [],
                p[t] = n),
                n.push(e)
            }
              , m = function(e) {
                var t = f(e)
                  , n = p[t];
                if (!n)
                    return null;
                var r = void 0;
                return n.some(function(e) {
                    return !i.editorElt.contains(e) && (r = e,
                    !0)
                }) && r
            }
              , h = D.a.Utils.debounce(function() {
                o()(p).forEach(function(e) {
                    var t = a()(e, 2)
                      , n = t[0]
                      , r = t[1]
                      , o = r.filter(function(e) {
                        return i.editorElt.contains(e)
                    });
                    o.length ? p[n] = o : delete p[n]
                })
            }, 100)
              , g = [];
            R.a.getters["data/computedSettings"].editor.inlineImages && this.clEditor.highlighter.on("sectionHighlighted", function(e) {
                e.elt.getElementsByClassName("token img").cl_each(function(e) {
                    var t = e.querySelector(".token.cl-src");
                    if (t) {
                        var n = document.createElement("img");
                        n.style.display = "none";
                        var r = t.textContent;
                        if (!/^unsafe/.test(B.a.sanitizeUri(r, !0))) {
                            n.onload = function() {
                                n.style.display = ""
                            }
                            ,
                            n.src = r;
                            var a = e.querySelector(".token.cl-size");
                            if (a) {
                                var i = a.textContent.match(/=(\d*)x(\d*)/);
                                i[1] && (n.width = parseInt(i[1], 10)),
                                i[2] && (n.height = parseInt(i[2], 10))
                            }
                            g.push(n)
                        }
                        var o = document.createElement("span");
                        o.className = "token img-wrapper",
                        e.parentNode.insertBefore(o, e),
                        o.appendChild(n),
                        o.appendChild(e)
                    }
                })
            }),
            this.clEditor.highlighter.on("highlighted", function() {
                g.forEach(function(e) {
                    var t = m(e);
                    t ? e.parentNode.replaceChild(t, e) : v(e)
                }),
                g = [],
                h()
            }),
            this.clEditor.on("contentChanged", function(e, t, n) {
                u = n,
                d(!G)
            });
            var _ = null
              , w = void 0;
            R.a.watch(function() {
                return R.a.getters["content/currentChangeTrigger"]
            }, function() {
                var e = R.a.getters["content/current"];
                R.a.commit("updateEditState", !1);
                var t = !1;
                if (e.id !== _ && (G = !0,
                _ = e.id,
                t = !0),
                e.properties !== w) {
                    w = e.properties;
                    var n = U.a.getOptions(R.a.getters["content/currentProperties"]);
                    $.a.serializeObject(n) !== $.a.serializeObject(i.options) && (i.options = n,
                    i.initPrism(),
                    i.initConverter(),
                    t = !0)
                }
                t && i.initClEditor(),
                i.applyContent()
            }, {
                immediate: !0
            }),
            R.a.watch(function() {
                return R.a.getters["content/isCurrentEditable"]
            }, function(e) {
                return i.clEditor.toggleEditable(!!e)
            }, {
                immediate: !0
            }),
            R.a.watch(function() {
                return $.a.serializeObject(R.a.getters["layout/styles"])
            }, function() {
                return i.measureSectionDimensions(!1, !0, !0)
            }),
            this.initHighlighters(),
            this.$emit("inited")
        }
    });
    t.a = z
}
, , , function(e, t, n) {
    "use strict";
    var r = n(33)
      , a = n.n(r)
      , i = n(46)
      , o = n.n(i)
      , s = n(172)
      , c = n.n(s)
      , u = n(66)
      , l = n.n(u)
      , d = n(81)
      , p = n.n(d)
      , f = n(3)
      , v = n.n(f)
      , m = n(92)
      , h = n.n(m)
      , g = n(6)
      , b = n.n(g)
      , _ = n(5)
      , w = n.n(_)
      , y = n(4)
      , k = n(56)
      , x = n(2)
      , C = n(45)
      , I = n(12)
      , S = this
      , E = ["https://www.googleapis.com/auth/drive.appdata"]
      , L = function(e) {
        return [e.driveFullAccess ? "https://www.googleapis.com/auth/drive" : "https://www.googleapis.com/auth/drive.file", "https://www.googleapis.com/auth/drive.install"]
    }
      , T = ["https://www.googleapis.com/auth/blogger"]
      , D = ["https://www.googleapis.com/auth/photos"]
      , P = function(e) {
        try {
            var t = e.split(".")
              , n = JSON.parse(y.a.decodeBase64(t[1]))
              , r = x.a.getters["data/serverConf"].googleClientId;
            return n.aud === r && Date.now() + 3e5 < 1e3 * n.exp
        } catch (e) {
            return !1
        }
    }
      , B = void 0;
    if ("googleDrive" === y.a.queryParams.providerId)
        try {
            B = JSON.parse(y.a.queryParams.state)
        } catch (e) {}
    var A = function() {
        var e = w()(b.a.mark(function e(t, n) {
            var r, a, i, o;
            return b.a.wrap(function(e) {
                for (; ; )
                    switch (e.prev = e.next) {
                    case 0:
                        return r = x.a.getters["data/serverConf"].googleApiKey,
                        a = "https://people.googleapis.com/v1/people/" + t + "?personFields=names,photos&key=" + r,
                        e.next = 4,
                        k.a.request("me" === t && n ? {
                            method: "GET",
                            url: a,
                            headers: {
                                Authorization: "Bearer " + n.accessToken
                            }
                        } : {
                            method: "GET",
                            url: a
                        }, !0);
                    case 4:
                        return i = e.sent,
                        o = i.body,
                        e.abrupt("return", o);
                    case 7:
                    case "end":
                        return e.stop()
                    }
            }, e, S)
        }));
        return function(t, n) {
            return e.apply(this, arguments)
        }
    }();
    C.a.setInfoResolver("google", "go", function() {
        var e = w()(b.a.mark(function e(t) {
            var n, r, a, i;
            return b.a.wrap(function(e) {
                for (; ; )
                    switch (e.prev = e.next) {
                    case 0:
                        return e.prev = 0,
                        n = h()(x.a.getters["data/googleTokensBySub"])[0],
                        e.next = 4,
                        A(t, n);
                    case 4:
                        return r = e.sent,
                        a = r.names && r.names[0] || {},
                        i = r.photos && r.photos[0] || {},
                        e.abrupt("return", {
                            id: "go:" + t,
                            name: a.displayName,
                            imageUrl: (i.url || "").replace(/\bsz?=\d+$/, "sz=40")
                        });
                    case 10:
                        if (e.prev = 10,
                        e.t0 = e.catch(0),
                        404 === e.t0.status) {
                            e.next = 14;
                            break
                        }
                        throw new Error("RETRY");
                    case 14:
                        throw e.t0;
                    case 15:
                    case "end":
                        return e.stop()
                    }
            }, e, S, [[0, 10]])
        }));
        return function(t) {
            return e.apply(this, arguments)
        }
    }()),
    t.a = {
        subPrefix: "go",
        folderMimeType: "application/vnd.google-apps.folder",
        driveState: B,
        driveActionFolder: null,
        driveActionFiles: [],
        $request: function(e, t) {
            var n = this;
            return w()(b.a.mark(function r() {
                var a, i, o;
                return b.a.wrap(function(r) {
                    for (; ; )
                        switch (r.prev = r.next) {
                        case 0:
                            return r.prev = 0,
                            r.next = 3,
                            k.a.request(v()({}, t, {
                                headers: v()({}, t.headers || {}, {
                                    Authorization: "Bearer " + e.accessToken
                                })
                            }), !0);
                        case 3:
                            return r.abrupt("return", r.sent.body);
                        case 6:
                            if (r.prev = 6,
                            r.t0 = r.catch(0),
                            a = (((r.t0.body || {}).error || {}).errors || [])[0] || {},
                            i = a.reason,
                            "authError" !== i) {
                                r.next = 15;
                                break
                            }
                            return x.a.dispatch("data/addGoogleToken", v()({}, e, {
                                expiresOn: 0
                            })),
                            r.next = 13,
                            n.refreshToken(e, e.scopes);
                        case 13:
                            return o = r.sent,
                            r.abrupt("return", n.$request(o, t));
                        case 15:
                            throw r.t0;
                        case 16:
                        case "end":
                            return r.stop()
                        }
                }, r, n, [[0, 6]])
            }))()
        },
        startOauth2: function(e) {
            var t = this
              , n = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : null
              , r = arguments.length > 2 && void 0 !== arguments[2] && arguments[2];
            return w()(b.a.mark(function a() {
                var i, o, s, c, u, d, f, v, m, h, g, _, w, S;
                return b.a.wrap(function(t) {
                    for (; ; )
                        switch (t.prev = t.next) {
                        case 0:
                            return i = x.a.getters["data/serverConf"].googleClientId,
                            t.next = 3,
                            k.a.startOauth2("https://accounts.google.com/o/oauth2/v2/auth", {
                                client_id: i,
                                response_type: "token id_token",
                                scope: ["openid", "profile"].concat(p()(e)).join(" "),
                                hd: null,
                                login_hint: n,
                                prompt: r ? "none" : null,
                                nonce: y.a.uid()
                            }, r);
                        case 3:
                            return o = t.sent,
                            s = o.accessToken,
                            c = o.expiresIn,
                            u = o.idToken,
                            t.next = 9,
                            k.a.request({
                                method: "POST",
                                url: "https://www.googleapis.com/oauth2/v3/tokeninfo",
                                params: {
                                    access_token: s
                                }
                            }, !0);
                        case 9:
                            if (d = t.sent,
                            f = d.body,
                            f.aud === i) {
                                t.next = 13;
                                break
                            }
                            throw new Error("Client ID inconsistent.");
                        case 13:
                            if (!n || "" + f.sub === n) {
                                t.next = 15;
                                break
                            }
                            throw new Error("Google account ID not expected.");
                        case 15:
                            return v = x.a.getters["data/googleTokensBySub"][f.sub],
                            m = {
                                scopes: e,
                                accessToken: s,
                                expiresOn: Date.now() + 1e3 * c,
                                idToken: u,
                                sub: f.sub,
                                name: (v || {}).name || "Someone",
                                isLogin: !x.a.getters["workspace/mainWorkspaceToken"] && e.includes("https://www.googleapis.com/auth/drive.appdata"),
                                isSponsor: !1,
                                isDrive: e.includes("https://www.googleapis.com/auth/drive") || e.includes("https://www.googleapis.com/auth/drive.file"),
                                isBlogger: e.includes("https://www.googleapis.com/auth/blogger"),
                                isPhotos: e.includes("https://www.googleapis.com/auth/photos"),
                                driveFullAccess: e.includes("https://www.googleapis.com/auth/drive")
                            },
                            t.next = 19,
                            A("me", m);
                        case 19:
                            if (h = t.sent,
                            g = h.resourceName.split("/")[1],
                            _ = h.names[0] || {},
                            w = h.photos[0] || {},
                            _.displayName && (m.name = _.displayName),
                            C.a.addUserInfo({
                                id: "go:" + g,
                                name: _.displayName,
                                imageUrl: (w.url || "").replace(/\bsz?=\d+$/, "sz=40")
                            }),
                            v && l()(m, {
                                isLogin: v.isLogin || m.isLogin,
                                isSponsor: v.isSponsor,
                                isDrive: v.isDrive || m.isDrive,
                                isBlogger: v.isBlogger || m.isBlogger,
                                isPhotos: v.isPhotos || m.isPhotos,
                                driveFullAccess: v.driveFullAccess || m.driveFullAccess
                            }),
                            !m.isLogin) {
                                t.next = 37;
                                break
                            }
                            return t.prev = 27,
                            t.next = 30,
                            k.a.request({
                                method: "GET",
                                url: "userInfo",
                                params: {
                                    idToken: m.idToken
                                }
                            });
                        case 30:
                            S = t.sent,
                            m.isSponsor = S.body.sponsorUntil > Date.now(),
                            m.isSponsor && I.a.addBadge("sponsor"),
                            t.next = 37;
                            break;
                        case 35:
                            t.prev = 35,
                            t.t0 = t.catch(27);
                        case 37:
                            return t.next = 39,
                            x.a.dispatch("data/addGoogleToken", m);
                        case 39:
                            return t.abrupt("return", m);
                        case 40:
                        case "end":
                            return t.stop()
                        }
                }, a, t, [[27, 35]])
            }))()
        },
        refreshToken: function(e) {
            var t = this
              , n = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : [];
            return w()(b.a.mark(function r() {
                var a, i, o;
                return b.a.wrap(function(r) {
                    for (; ; )
                        switch (r.prev = r.next) {
                        case 0:
                            if (a = e.sub,
                            i = x.a.getters["data/googleTokensBySub"][a],
                            o = [].concat(p()(new c.a([].concat(p()(n), p()(i.scopes))))),
                            !(o.length === i.scopes.length && i.expiresOn > Date.now() + 3e5) || i.isLogin && !P(i.idToken)) {
                                r.next = 5;
                                break
                            }
                            return r.abrupt("return", i);
                        case 5:
                            return r.prev = 5,
                            r.next = 8,
                            t.startOauth2(o, a, !0);
                        case 8:
                            return r.abrupt("return", r.sent);
                        case 11:
                            if (r.prev = 11,
                            r.t0 = r.catch(5),
                            !x.a.state.offline) {
                                r.next = 15;
                                break
                            }
                            throw r.t0;
                        case 15:
                            return r.next = 17,
                            x.a.dispatch("modal/open", {
                                type: "providerRedirection",
                                name: "Google"
                            });
                        case 17:
                            return r.abrupt("return", t.startOauth2(o, a));
                        case 18:
                        case "end":
                            return r.stop()
                        }
                }, r, t, [[5, 11]])
            }))()
        },
        signin: function() {
            return this.startOauth2(E)
        },
        addDriveAccount: function() {
            var e = this
              , t = arguments.length > 0 && void 0 !== arguments[0] && arguments[0]
              , n = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : null;
            return w()(b.a.mark(function r() {
                var a;
                return b.a.wrap(function(r) {
                    for (; ; )
                        switch (r.prev = r.next) {
                        case 0:
                            return r.next = 2,
                            e.startOauth2(L({
                                driveFullAccess: t
                            }), n);
                        case 2:
                            return a = r.sent,
                            I.a.addBadge("addGoogleDriveAccount"),
                            r.abrupt("return", a);
                        case 5:
                        case "end":
                            return r.stop()
                        }
                }, r, e)
            }))()
        },
        addBloggerAccount: function() {
            var e = this;
            return w()(b.a.mark(function t() {
                var n;
                return b.a.wrap(function(t) {
                    for (; ; )
                        switch (t.prev = t.next) {
                        case 0:
                            return t.next = 2,
                            e.startOauth2(T);
                        case 2:
                            return n = t.sent,
                            I.a.addBadge("addBloggerAccount"),
                            t.abrupt("return", n);
                        case 5:
                        case "end":
                            return t.stop()
                        }
                }, t, e)
            }))()
        },
        addPhotosAccount: function() {
            var e = this;
            return w()(b.a.mark(function t() {
                var n;
                return b.a.wrap(function(t) {
                    for (; ; )
                        switch (t.prev = t.next) {
                        case 0:
                            return t.next = 2,
                            e.startOauth2(D);
                        case 2:
                            return n = t.sent,
                            I.a.addBadge("addGooglePhotosAccount"),
                            t.abrupt("return", n);
                        case 5:
                        case "end":
                            return t.stop()
                        }
                }, t, e)
            }))()
        },
        $uploadFile: function(e) {
            var t = this
              , n = e.refreshedToken
              , r = e.name
              , a = e.parents
              , i = e.appProperties
              , s = e.media
              , c = void 0 === s ? null : s
              , u = e.mediaType
              , l = void 0 === u ? null : u
              , d = e.fileId
              , p = void 0 === d ? null : d
              , f = e.oldParents
              , m = void 0 === f ? null : f
              , h = e.ifNotTooLate
              , g = void 0 === h ? function(e) {
                return e()
            }
            : h;
            return w()(b.a.mark(function e() {
                return b.a.wrap(function(e) {
                    for (; ; )
                        switch (e.prev = e.next) {
                        case 0:
                            return e.abrupt("return", g(function() {
                                var e = {
                                    method: "POST",
                                    url: "https://www.googleapis.com/drive/v3/files"
                                }
                                  , s = {
                                    supportsTeamDrives: !0
                                }
                                  , u = {
                                    name: r,
                                    appProperties: i
                                };
                                if (p ? (e.method = "PATCH",
                                e.url = "https://www.googleapis.com/drive/v3/files/" + p,
                                a && m && (s.addParents = a.filter(function(e) {
                                    return !m.includes(e)
                                }).join(","),
                                s.removeParents = m.filter(function(e) {
                                    return !a.includes(e)
                                }).join(","))) : a && (u.parents = a),
                                c) {
                                    var d = "-------" + y.a.uid()
                                      , f = "\r\n--" + d + "\r\n"
                                      , h = "\r\n--" + d + "--"
                                      , g = "";
                                    return g += f,
                                    g += "Content-Type: application/json; charset=UTF-8\r\n\r\n",
                                    g += o()(u),
                                    g += f,
                                    g += "Content-Type: " + (l || "text/plain") + "; charset=UTF-8\r\n\r\n",
                                    g += c,
                                    g += h,
                                    e.url = e.url.replace("https://www.googleapis.com/", "https://www.googleapis.com/upload/"),
                                    t.$request(n, v()({}, e, {
                                        params: v()({}, s, {
                                            uploadType: "multipart"
                                        }),
                                        headers: {
                                            "Content-Type": 'multipart/mixed; boundary="' + d + '"'
                                        },
                                        body: g
                                    }))
                                }
                                return l && (u.mimeType = l),
                                t.$request(n, v()({}, e, {
                                    body: u,
                                    params: s
                                }))
                            }));
                        case 1:
                        case "end":
                            return e.stop()
                        }
                }, e, t)
            }))()
        },
        uploadFile: function(e) {
            var t = this
              , n = e.token
              , r = e.name
              , a = e.parents
              , i = e.appProperties
              , o = e.media
              , s = e.mediaType
              , c = e.fileId
              , u = e.oldParents
              , l = e.ifNotTooLate;
            return w()(b.a.mark(function e() {
                var d;
                return b.a.wrap(function(e) {
                    for (; ; )
                        switch (e.prev = e.next) {
                        case 0:
                            return e.next = 2,
                            t.refreshToken(n, L(n));
                        case 2:
                            return d = e.sent,
                            e.abrupt("return", t.$uploadFile({
                                refreshedToken: d,
                                name: r,
                                parents: a,
                                appProperties: i,
                                media: o,
                                mediaType: s,
                                fileId: c,
                                oldParents: u,
                                ifNotTooLate: l
                            }));
                        case 4:
                        case "end":
                            return e.stop()
                        }
                }, e, t)
            }))()
        },
        uploadAppDataFile: function(e) {
            var t = this
              , n = e.token
              , r = e.name
              , a = e.media
              , i = e.fileId
              , o = e.ifNotTooLate;
            return w()(b.a.mark(function e() {
                var s;
                return b.a.wrap(function(e) {
                    for (; ; )
                        switch (e.prev = e.next) {
                        case 0:
                            return e.next = 2,
                            t.refreshToken(n, E);
                        case 2:
                            return s = e.sent,
                            e.abrupt("return", t.$uploadFile({
                                refreshedToken: s,
                                name: r,
                                parents: ["appDataFolder"],
                                media: a,
                                fileId: i,
                                ifNotTooLate: o
                            }));
                        case 4:
                        case "end":
                            return e.stop()
                        }
                }, e, t)
            }))()
        },
        getFile: function(e, t) {
            var n = this;
            return w()(b.a.mark(function r() {
                var a;
                return b.a.wrap(function(r) {
                    for (; ; )
                        switch (r.prev = r.next) {
                        case 0:
                            return r.next = 2,
                            n.refreshToken(e, L(e));
                        case 2:
                            return a = r.sent,
                            r.abrupt("return", n.$request(a, {
                                method: "GET",
                                url: "https://www.googleapis.com/drive/v3/files/" + t,
                                params: {
                                    fields: "id,name,mimeType,appProperties,teamDriveId",
                                    supportsTeamDrives: !0
                                }
                            }));
                        case 4:
                        case "end":
                            return r.stop()
                        }
                }, r, n)
            }))()
        },
        $downloadFile: function(e, t) {
            var n = this;
            return w()(b.a.mark(function r() {
                return b.a.wrap(function(r) {
                    for (; ; )
                        switch (r.prev = r.next) {
                        case 0:
                            return r.abrupt("return", n.$request(e, {
                                method: "GET",
                                url: "https://www.googleapis.com/drive/v3/files/" + t + "?alt=media",
                                raw: !0
                            }));
                        case 1:
                        case "end":
                            return r.stop()
                        }
                }, r, n)
            }))()
        },
        downloadFile: function(e, t) {
            var n = this;
            return w()(b.a.mark(function r() {
                var a;
                return b.a.wrap(function(r) {
                    for (; ; )
                        switch (r.prev = r.next) {
                        case 0:
                            return r.next = 2,
                            n.refreshToken(e, L(e));
                        case 2:
                            return a = r.sent,
                            r.abrupt("return", n.$downloadFile(a, t));
                        case 4:
                        case "end":
                            return r.stop()
                        }
                }, r, n)
            }))()
        },
        downloadAppDataFile: function(e, t) {
            var n = this;
            return w()(b.a.mark(function r() {
                var a;
                return b.a.wrap(function(r) {
                    for (; ; )
                        switch (r.prev = r.next) {
                        case 0:
                            return r.next = 2,
                            n.refreshToken(e, E);
                        case 2:
                            return a = r.sent,
                            r.abrupt("return", n.$downloadFile(a, t));
                        case 4:
                        case "end":
                            return r.stop()
                        }
                }, r, n)
            }))()
        },
        $removeFile: function(e, t) {
            var n = this
              , r = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : function(e) {
                return e()
            }
            ;
            return w()(b.a.mark(function a() {
                return b.a.wrap(function(a) {
                    for (; ; )
                        switch (a.prev = a.next) {
                        case 0:
                            return a.abrupt("return", r(function() {
                                return n.$request(e, {
                                    method: "DELETE",
                                    url: "https://www.googleapis.com/drive/v3/files/" + t,
                                    params: {
                                        supportsTeamDrives: !0
                                    }
                                })
                            }));
                        case 1:
                        case "end":
                            return a.stop()
                        }
                }, a, n)
            }))()
        },
        removeFile: function(e, t, n) {
            var r = this;
            return w()(b.a.mark(function a() {
                var i;
                return b.a.wrap(function(a) {
                    for (; ; )
                        switch (a.prev = a.next) {
                        case 0:
                            return a.next = 2,
                            r.refreshToken(e, L(e));
                        case 2:
                            return i = a.sent,
                            a.abrupt("return", r.$removeFile(i, t, n));
                        case 4:
                        case "end":
                            return a.stop()
                        }
                }, a, r)
            }))()
        },
        removeAppDataFile: function(e, t) {
            var n = this
              , r = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : function(e) {
                return e()
            }
            ;
            return w()(b.a.mark(function a() {
                var i;
                return b.a.wrap(function(a) {
                    for (; ; )
                        switch (a.prev = a.next) {
                        case 0:
                            return a.next = 2,
                            n.refreshToken(e, E);
                        case 2:
                            return i = a.sent,
                            a.abrupt("return", n.$removeFile(i, t, r));
                        case 4:
                        case "end":
                            return a.stop()
                        }
                }, a, n)
            }))()
        },
        $getFileRevisions: function(e, t) {
            var n = this;
            return w()(b.a.mark(function r() {
                var a, i;
                return b.a.wrap(function(r) {
                    for (; ; )
                        switch (r.prev = r.next) {
                        case 0:
                            return a = [],
                            i = function() {
                                var r = w()(b.a.mark(function r(o) {
                                    var s, c, u;
                                    return b.a.wrap(function(r) {
                                        for (; ; )
                                            switch (r.prev = r.next) {
                                            case 0:
                                                return r.next = 2,
                                                n.$request(e, {
                                                    method: "GET",
                                                    url: "https://www.googleapis.com/drive/v3/files/" + t + "/revisions",
                                                    params: {
                                                        pageToken: o,
                                                        pageSize: 1e3,
                                                        fields: "nextPageToken,revisions(id,modifiedTime,lastModifyingUser/permissionId,lastModifyingUser/displayName,lastModifyingUser/photoLink)"
                                                    }
                                                });
                                            case 2:
                                                if (s = r.sent,
                                                c = s.revisions,
                                                u = s.nextPageToken,
                                                c.forEach(function(e) {
                                                    C.a.addUserInfo({
                                                        id: "go:" + e.lastModifyingUser.permissionId,
                                                        name: e.lastModifyingUser.displayName,
                                                        imageUrl: e.lastModifyingUser.photoLink || ""
                                                    }),
                                                    a.push(e)
                                                }),
                                                !u) {
                                                    r.next = 8;
                                                    break
                                                }
                                                return r.abrupt("return", i(u));
                                            case 8:
                                                return r.abrupt("return", a);
                                            case 9:
                                            case "end":
                                                return r.stop()
                                            }
                                    }, r, n)
                                }));
                                return function(e) {
                                    return r.apply(this, arguments)
                                }
                            }(),
                            r.abrupt("return", i());
                        case 3:
                        case "end":
                            return r.stop()
                        }
                }, r, n)
            }))()
        },
        getFileRevisions: function(e, t) {
            var n = this;
            return w()(b.a.mark(function r() {
                var a;
                return b.a.wrap(function(r) {
                    for (; ; )
                        switch (r.prev = r.next) {
                        case 0:
                            return r.next = 2,
                            n.refreshToken(e, L(e));
                        case 2:
                            return a = r.sent,
                            r.abrupt("return", n.$getFileRevisions(a, t));
                        case 4:
                        case "end":
                            return r.stop()
                        }
                }, r, n)
            }))()
        },
        getAppDataFileRevisions: function(e, t) {
            var n = this;
            return w()(b.a.mark(function r() {
                var a;
                return b.a.wrap(function(r) {
                    for (; ; )
                        switch (r.prev = r.next) {
                        case 0:
                            return r.next = 2,
                            n.refreshToken(e, E);
                        case 2:
                            return a = r.sent,
                            r.abrupt("return", n.$getFileRevisions(a, t));
                        case 4:
                        case "end":
                            return r.stop()
                        }
                }, r, n)
            }))()
        },
        $downloadFileRevision: function(e, t, n) {
            var r = this;
            return w()(b.a.mark(function a() {
                return b.a.wrap(function(a) {
                    for (; ; )
                        switch (a.prev = a.next) {
                        case 0:
                            return a.abrupt("return", r.$request(e, {
                                method: "GET",
                                url: "https://www.googleapis.com/drive/v3/files/" + t + "/revisions/" + n + "?alt=media",
                                raw: !0
                            }));
                        case 1:
                        case "end":
                            return a.stop()
                        }
                }, a, r)
            }))()
        },
        downloadFileRevision: function(e, t, n) {
            var r = this;
            return w()(b.a.mark(function a() {
                var i;
                return b.a.wrap(function(a) {
                    for (; ; )
                        switch (a.prev = a.next) {
                        case 0:
                            return a.next = 2,
                            r.refreshToken(e, L(e));
                        case 2:
                            return i = a.sent,
                            a.abrupt("return", r.$downloadFileRevision(i, t, n));
                        case 4:
                        case "end":
                            return a.stop()
                        }
                }, a, r)
            }))()
        },
        downloadAppDataFileRevision: function(e, t, n) {
            var r = this;
            return w()(b.a.mark(function a() {
                var i;
                return b.a.wrap(function(a) {
                    for (; ; )
                        switch (a.prev = a.next) {
                        case 0:
                            return a.next = 2,
                            r.refreshToken(e, E);
                        case 2:
                            return i = a.sent,
                            a.abrupt("return", r.$downloadFileRevision(i, t, n));
                        case 4:
                        case "end":
                            return a.stop()
                        }
                }, a, r)
            }))()
        },
        getChanges: function(e, t, n) {
            var r = this
              , a = arguments.length > 3 && void 0 !== arguments[3] ? arguments[3] : null;
            return w()(b.a.mark(function i() {
                var o, s, c, u;
                return b.a.wrap(function(i) {
                    for (; ; )
                        switch (i.prev = i.next) {
                        case 0:
                            return o = {
                                changes: []
                            },
                            s = "file/name",
                            n || (s += ",file/parents,file/mimeType,file/appProperties"),
                            i.next = 5,
                            r.refreshToken(e, n ? E : L(e));
                        case 5:
                            return c = i.sent,
                            u = function() {
                                var e = w()(b.a.mark(function e() {
                                    var t, i, l, d, f = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : "1";
                                    return b.a.wrap(function(e) {
                                        for (; ; )
                                            switch (e.prev = e.next) {
                                            case 0:
                                                return e.next = 2,
                                                r.$request(c, {
                                                    method: "GET",
                                                    url: "https://www.googleapis.com/drive/v3/changes",
                                                    params: {
                                                        pageToken: f,
                                                        spaces: n ? "appDataFolder" : "drive",
                                                        pageSize: 1e3,
                                                        fields: "nextPageToken,newStartPageToken,changes(fileId," + s + ")",
                                                        supportsTeamDrives: !0,
                                                        includeTeamDriveItems: !!a,
                                                        teamDriveId: a
                                                    }
                                                });
                                            case 2:
                                                if (t = e.sent,
                                                i = t.changes,
                                                l = t.nextPageToken,
                                                d = t.newStartPageToken,
                                                o.changes = [].concat(p()(o.changes), p()(i.filter(function(e) {
                                                    return e.fileId
                                                }))),
                                                !l) {
                                                    e.next = 9;
                                                    break
                                                }
                                                return e.abrupt("return", u(l));
                                            case 9:
                                                return o.startPageToken = d,
                                                e.abrupt("return", o);
                                            case 11:
                                            case "end":
                                                return e.stop()
                                            }
                                    }, e, r)
                                }));
                                return function() {
                                    return e.apply(this, arguments)
                                }
                            }(),
                            i.abrupt("return", u(t));
                        case 8:
                        case "end":
                            return i.stop()
                        }
                }, i, r)
            }))()
        },
        uploadBlogger: function(e) {
            var t = this
              , n = e.token
              , r = e.blogUrl
              , a = e.blogId
              , i = e.postId
              , o = e.title
              , s = e.content
              , c = e.labels
              , u = e.isDraft
              , l = e.published
              , d = e.isPage;
            return w()(b.a.mark(function e() {
                var p, f, v, m, h;
                return b.a.wrap(function(e) {
                    for (; ; )
                        switch (e.prev = e.next) {
                        case 0:
                            return e.next = 2,
                            t.refreshToken(n, T);
                        case 2:
                            if (p = e.sent,
                            f = {
                                id: a
                            },
                            f.id) {
                                e.next = 8;
                                break
                            }
                            return e.next = 7,
                            t.$request(p, {
                                url: "https://www.googleapis.com/blogger/v3/blogs/byurl",
                                params: {
                                    url: r
                                }
                            });
                        case 7:
                            f.id = e.sent.id;
                        case 8:
                            return v = d ? "pages" : "posts",
                            m = {
                                method: "POST",
                                url: "https://www.googleapis.com/blogger/v3/blogs/" + f.id + "/" + v + "/",
                                body: {
                                    kind: d ? "blogger#page" : "blogger#post",
                                    blog: f,
                                    title: o,
                                    content: s
                                }
                            },
                            c && (m.body.labels = c),
                            l && (m.body.published = l.toISOString()),
                            i && (m.method = "PUT",
                            m.url += i,
                            m.body.id = i),
                            e.next = 15,
                            t.$request(p, m);
                        case 15:
                            if (h = e.sent,
                            !d) {
                                e.next = 18;
                                break
                            }
                            return e.abrupt("return", h);
                        case 18:
                            return m = {
                                method: "POST",
                                url: "https://www.googleapis.com/blogger/v3/blogs/" + h.blog.id + "/posts/" + h.id + "/",
                                params: {}
                            },
                            u ? m.url += "revert" : (m.url += "publish",
                            l && (m.params.publishDate = l.toISOString())),
                            e.abrupt("return", t.$request(p, m));
                        case 21:
                        case "end":
                            return e.stop()
                        }
                }, e, t)
            }))()
        },
        openPicker: function(e) {
            var t = this
              , n = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : "doc";
            return w()(b.a.mark(function r() {
                var i, o, s, c;
                return b.a.wrap(function(r) {
                    for (; ; )
                        switch (r.prev = r.next) {
                        case 0:
                            if (i = "img" === n ? D : L(e),
                            window.google) {
                                r.next = 6;
                                break
                            }
                            return r.next = 4,
                            k.a.loadScript("/googleApi?date=test");
                        case 4:
                            return r.next = 6,
                            new a.a(function(e, t) {
                                return window.gapi.load("picker", {
                                    callback: e,
                                    onerror: t,
                                    timeout: 3e4,
                                    ontimeout: t
                                })
                            }
                            );
                        case 6:
                            return r.next = 8,
                            t.refreshToken(e, i);
                        case 8:
                            return o = r.sent,
                            s = window,
                            c = s.google,
                            r.abrupt("return", new a.a(function(e) {
                                var r = void 0
                                  , a = (new c.picker.PickerBuilder).setOAuthToken(o.accessToken).enableFeature(c.picker.Feature.SUPPORT_TEAM_DRIVES).hideTitleBar().setCallback(function(t) {
                                    switch (t[c.picker.Response.ACTION]) {
                                    case c.picker.Action.PICKED:
                                    case c.picker.Action.CANCEL:
                                        e(t.docs || []),
                                        r.dispose()
                                    }
                                });
                                switch (n) {
                                default:
                                case "doc":
                                    var i = ["text/plain", "text/x-markdown", "application/octet-stream"].join(",")
                                      , s = new c.picker.DocsView(c.picker.ViewId.DOCS);
                                    s.setMimeTypes(i),
                                    a.addView(s);
                                    var u = new c.picker.DocsView(c.picker.ViewId.DOCS);
                                    u.setMimeTypes(i),
                                    u.setEnableTeamDrives(!0),
                                    a.addView(u),
                                    a.enableFeature(c.picker.Feature.MULTISELECT_ENABLED),
                                    a.enableFeature(c.picker.Feature.SUPPORT_TEAM_DRIVES);
                                    break;
                                case "folder":
                                    var l = new c.picker.DocsView(c.picker.ViewId.FOLDERS);
                                    l.setSelectFolderEnabled(!0),
                                    l.setMimeTypes(t.folderMimeType),
                                    a.addView(l);
                                    var d = new c.picker.DocsView(c.picker.ViewId.FOLDERS);
                                    d.setSelectFolderEnabled(!0),
                                    d.setEnableTeamDrives(!0),
                                    d.setMimeTypes(t.folderMimeType),
                                    a.addView(d);
                                    break;
                                case "img":
                                    var p = new c.picker.PhotosView;
                                    p.setType("highlights"),
                                    a.addView(p),
                                    a.addView(c.picker.ViewId.PHOTO_UPLOAD)
                                }
                                r = a.build(),
                                r.setVisible(!0)
                            }
                            ));
                        case 11:
                        case "end":
                            return r.stop()
                        }
                }, r, t)
            }))()
        }
    }
}
, , , , , , function(e, t, n) {
    "use strict";
    var r = n(33)
      , a = n.n(r)
      , i = n(20)
      , o = n.n(i)
      , s = n(3)
      , c = n.n(s)
      , u = n(6)
      , l = n.n(u)
      , d = n(5)
      , p = n.n(d)
      , f = n(2)
      , v = n(4)
      , m = n(90)
      , h = n(12)
      , g = /^\.stackedit-data$|^\.stackedit-trash$|\.md$|\.sync$|\.publish$/;
    
    //console.log("api.js Object2222 e:", e);
    //console.log("api.js Object2222 t:", t);

    t.a = {
        createFile: function() {
            var e = this
              , t = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {}
              , n = t.name
              , r = t.parentId
              , a = t.text
              , i = t.properties
              , o = t.discussions
              , s = t.comments
              , c = arguments.length > 1 && void 0 !== arguments[1] && arguments[1];
   
            //console.log("api.js Object2222 createFile e:", e);              
            return p()(l.a.mark(function t() {
                var u, d, p, h, g, b;
                return l.a.wrap(function(t) {
                    for (; ; ){
                        //console.log("api.js Object2222 createFile t.next:", t.next);              
                        switch (t.prev = t.next) {
                        case 0:
                            if (u = v.a.uid(),
                            d = {
                                id: u,
                                name: v.a.sanitizeFilename(n),
                                parentId: r || null
                            },
                            p = {
                                id: u + "/content",
                                text: v.a.sanitizeText(a || f.a.getters["data/computedSettings"].newFileContent),
                                properties: v.a.sanitizeText(i || f.a.getters["data/computedSettings"].newFileProperties),
                                discussions: o || {},
                                comments: s || {}
                            },
                            h = f.a.getters["workspace/currentWorkspaceHasUniquePaths"],
                            c) {
                                t.next = 14;
                                break
                            }
                            if (d.name === m.a.defaultName || d.name === n) {
                                t.next = 8;
                                break
                            }
                            return t.next = 8,
                            f.a.dispatch("modal/open", {
                                type: "stripName",
                                item: d
                            });
                        case 8:
                            if (!h) {
                                t.next = 14;
                                break
                            }
                            if (g = f.a.getters.pathsByItemId[d.parentId] || "",
                            b = g + d.name,
                            !f.a.getters.itemsByPath[b]) {
                                t.next = 14;
                                break
                            }
                            return t.next = 14,
                            f.a.dispatch("modal/open", {
                                type: "pathConflict",
                                item: d
                            });
                        case 14:
                        	//console.log("api.js Object2222 createFile p:", p);  
                            return f.a.commit("content/setItem", p),
                            f.a.commit("file/setItem", d),
                            h && e.makePathUnique(u),
                            t.abrupt("return", f.a.state.file.itemsById[u]);
                        case 18:
                        case "end":
                            return t.stop()
                        }
                    }
                }, t, e)
            }))()
        },
        storeItem: function(e) {
            var t = this;
            return p()(l.a.mark(function n() {
                var r, a, i, o, s;
                return l.a.wrap(function(n) {
                    for (; ; )
                        switch (n.prev = n.next) {
                        case 0:
                            if (r = e.id || v.a.uid(),
                            a = v.a.sanitizeFilename(e.name),
                            "folder" !== e.type || !g.exec(a)) {
                                n.next = 6;
                                break
                            }
                            return n.next = 5,
                            f.a.dispatch("modal/open", {
                                type: "unauthorizedName",
                                item: e
                            });
                        case 5:
                            throw new Error("Unauthorized name.");
                        case 6:
                            if (a === m.a.defaultName || a === e.name) {
                                n.next = 9;
                                break
                            }
                            return n.next = 9,
                            f.a.dispatch("modal/open", {
                                type: "stripName",
                                item: e
                            });
                        case 9:
                            if (!f.a.getters["workspace/currentWorkspaceHasUniquePaths"]) {
                                n.next = 16;
                                break
                            }
                            if (i = f.a.getters.pathsByItemId[e.parentId] || "",
                            o = i + a,
                            s = f.a.getters.itemsByPath[o] || [],
                            !s.some(function(e) {
                                return e.id !== r
                            })) {
                                n.next = 16;
                                break
                            }
                            return n.next = 16,
                            f.a.dispatch("modal/open", {
                                type: "pathConflict",
                                item: e
                            });
                        case 16:
                            return n.abrupt("return", t.setOrPatchItem(c()({}, e, {
                                id: r
                            })));
                        case 17:
                        case "end":
                            return n.stop()
                        }
                }, n, t)
            }))()
        },
        setOrPatchItem: function(e) {
            var t = c()({}, f.a.getters.allItemsById[e.id] || e);
            if (!t.id)
                return null;
            if (void 0 !== e.parentId && (t.parentId = e.parentId || null),
            e.name) {
                var n = v.a.sanitizeFilename(e.name);
                "folder" === t.type && g.exec(n) || (t.name = n)
            }
            return f.a.commit(t.type + "/setItem", t),
            this.removeCircularReference(t),
            f.a.getters["workspace/currentWorkspaceHasUniquePaths"] && this.makePathUnique(t.id),
            f.a.getters.allItemsById[t.id]
        },
        deleteFile: function(e) {
            f.a.commit("file/deleteItem", e),
            f.a.commit("content/deleteItem", e + "/content"),
            f.a.commit("syncedContent/deleteItem", e + "/syncedContent"),
            f.a.commit("contentState/deleteItem", e + "/contentState"),
            (f.a.getters["syncLocation/groupedByFileId"][e] || []).forEach(function(e) {
                return f.a.commit("syncLocation/deleteItem", e.id)
            }),
            (f.a.getters["publishLocation/groupedByFileId"][e] || []).forEach(function(e) {
                return f.a.commit("publishLocation/deleteItem", e.id)
            })
        },
        sanitizeWorkspace: function(e) {
            var t = this;
            f.a.getters["folder/items"].forEach(function(e) {
                return t.removeCircularReference(e)
            }),
            this.ensureUniquePaths(e),
            this.ensureUniqueLocations(e)
        },
        removeCircularReference: function(e) {
            for (var t = f.a.state.folder.itemsById, n = t[e.parentId]; n; n = t[n.parentId])
                if (n.id === e.id) {
                    f.a.commit("folder/patchItem", {
                        id: e.id,
                        parentId: null
                    });
                    break
                }
        },
        ensureUniquePaths: function() {
            var e = this
              , t = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {};
            f.a.getters["workspace/currentWorkspaceHasUniquePaths"] && o()(f.a.getters.pathsByItemId).some(function(n) {
                return !t[n] && e.makePathUnique(n)
            }) && this.ensureUniquePaths(t)
        },
        makePathUnique: function(e) {
            var t = f.a.getters
              , n = t.itemsByPath
              , r = t.allItemsById
              , a = t.pathsByItemId
              , i = r[e];
            if (!i)
                return !1;
            var o = a[e];
            if (1 === n[o].length)
                return !1;
            var s = "folder" === i.type;
            s && (o = o.slice(0, -1));
            for (var c = 1; ; c += 1) {
                var u = o + "." + c;
                if (s && (u += "/"),
                !n[u])
                    return f.a.commit(i.type + "/patchItem", {
                        id: i.id,
                        name: i.name + "." + c
                    }),
                    !0
            }
        },
        addSyncLocation: function(e) {
            f.a.commit("syncLocation/setItem", c()({}, e, {
                id: v.a.uid()
            })),
            this.ensureUniqueLocations(),
            o()(f.a.getters["syncLocation/currentWithWorkspaceSyncLocation"]).length > 1 && h.a.addBadge("syncMultipleLocations")
        },
        addPublishLocation: function(e) {
            f.a.commit("publishLocation/setItem", c()({}, e, {
                id: v.a.uid()
            })),
            this.ensureUniqueLocations(),
            o()(f.a.getters["publishLocation/current"]).length > 1 && h.a.addBadge("publishMultipleLocations")
        },
        ensureUniqueLocations: function() {
            var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {};
            ["syncLocation", "publishLocation"].forEach(function(t) {
                f.a.getters[t + "/items"].forEach(function(n) {
                    !e[n.id] && f.a.getters[t + "/groupedByFileIdAndHash"][n.fileId][n.hash].length > 1 && f.a.commit(n.type + "/deleteItem", n.id)
                })
            })
        },
        removeWorkspace: function(e) {
            var t = this;
            return p()(l.a.mark(function n() {
                return l.a.wrap(function(t) {
                    for (; ; )
                        switch (t.prev = t.next) {
                        case 0:
                            return f.a.dispatch("workspace/removeWorkspace", e),
                            t.next = 3,
                            new a.a(function(t) {
                                var n = v.a.getDbName(e)
                                  , r = indexedDB.deleteDatabase(n);
                                r.onerror = t,
                                r.onsuccess = t
                            }
                            );
                        case 3:
                            localStorage.removeItem(e + "/lastSyncActivity"),
                            localStorage.removeItem(e + "/lastWindowFocus");
                        case 5:
                        case "end":
                            return t.stop()
                        }
                }, n, t)
            }))()
        }
    }
}
, , function(e, t, n) {
    "use strict";
    var r = n(3)
      , a = n.n(r)
      , i = n(46)
      , o = n.n(i)
      , s = n(20)
      , c = n.n(s)
      , u = n(66)
      , l = n.n(u)
      , d = n(37)
      , p = n.n(d)
      , f = n(67)
      , v = n.n(f)
      , m = n(101)
      , h = n(400)
      , g = n(4)
      , b = n(2)
      , _ = n(36)
      , w = /<!--stackedit_data:([A-Za-z0-9+/=\s]+)-->\s*$/
      , y = function() {
        function e(t) {
            p()(this, e),
            this.prepareChanges = function(e) {
                return e
            }
            ,
            this.onChangesApplied = function() {}
            ,
            l()(this, t),
            m.a.register(this)
        }
        return v()(e, null, [{
            key: "serializeContent",
            value: function(e) {
                var t = e.text
                  , n = {};
                if (e.properties.length > 1 && (n.properties = e.properties),
                c()(e.discussions).length && (n.discussions = e.discussions),
                c()(e.comments).length && (n.comments = e.comments),
                e.history && e.history.length && (n.history = e.history),
                c()(n).length) {
                    t += "\x3c!--stackedit_data:\n" + g.a.encodeBase64(o()(n)).replace(/(.{50})/g, "$1\n") + "\n--\x3e"
                }
                return t
            }
        }, {
            key: "parseContent",
            value: function(e, t) {
                var r = e
                  , a = w.exec(e)
                  , i = void 0;
                if (a) {
                    i = n.i(h.a)(t);
                    try {
                        var o = a[1].replace(/\s/g, "")
                          , s = JSON.parse(g.a.decodeBase64(o));
                        r = r.slice(0, a.index),
                        s.properties && (i.properties = g.a.sanitizeText(s.properties)),
                        s.discussions && (i.discussions = s.discussions),
                        s.comments && (i.comments = s.comments),
                        i.history = s.history
                    } catch (e) {}
                } else
                    i = g.a.deepCopy(b.a.state.content.itemsById[t]) || n.i(h.a)(t);
                return i.text = g.a.sanitizeText(r),
                i.history || (i.history = []),
                g.a.addItemHash(i)
            }
        }, {
            key: "openFileWithLocation",
            value: function(e) {
                var t = g.a.search(b.a.getters["syncLocation/items"], e);
                if (t) {
                    var n = b.a.state.file.itemsById[t.fileId];
                    if (n)
                        return b.a.commit("file/setCurrentId", n.id),
                        "trash" === n.parentId && _.a.setOrPatchItem(a()({}, n, {
                            parentId: null
                        })),
                        !0
                }
                return !1
            }
        }]),
        e
    }();
    t.a = y
}
, , , , , , , function(e, t, n) {
    "use strict";
    var r = n(6)
      , a = n.n(r)
      , i = n(5)
      , o = n.n(i)
      , s = n(15)
      , c = n.n(s)
      , u = n(19)
      , l = n.n(u)
      , d = n(2)
      , p = n(4)
      , f = this
      , v = {}
      , m = {}
      , h = {}
      , g = {}
      , b = {}
      , _ = function(e) {
        var t = ":" === e[2] && e.slice(0, 2);
        return h[t] ? e : "go:" + e
    }
      , w = function(e) {
        return [h[e.slice(0, 2)], e.slice(3)]
    }
      , y = function() {
        d.a.state.offline || l()(g).filter(function(e) {
            var t = c()(e, 2)
              , n = t[0];
            return 0 === t[1] && !b[n]
        }).forEach(function() {
            var e = o()(a.a.mark(function e(t) {
                var n, r, i, o, s, u, l = c()(t, 1), p = l[0];
                return a.a.wrap(function(e) {
                    for (; ; )
                        switch (e.prev = e.next) {
                        case 0:
                            if (n = w(p),
                            r = c()(n, 2),
                            i = r[0],
                            o = r[1],
                            !(s = v[i])) {
                                e.next = 13;
                                break
                            }
                            return e.prev = 3,
                            b[p] = !0,
                            e.next = 7,
                            s(o);
                        case 7:
                            u = e.sent,
                            d.a.commit("userInfo/setItem", u);
                        case 9:
                            return e.prev = 9,
                            b[p] = !1,
                            g[p] = Date.now(),
                            e.finish(9);
                        case 13:
                        case "end":
                            return e.stop()
                        }
                }, e, f, [[3, , 9, 13]])
            }));
            return function(t) {
                return e.apply(this, arguments)
            }
        }())
    };
    t.a = {
        setInfoResolver: function(e, t, n) {
            v[e] = n,
            m[e] = t,
            h[t] = e
        },
        getCurrentUserId: function() {
            var e = d.a.getters["workspace/loginToken"];
            if (!e)
                return null;
            var t = d.a.getters["workspace/loginType"]
              , n = m[t];
            return n ? n + ":" + e.sub : e.sub
        },
        sanitizeUserId: _,
        addUserInfo: function(e) {
            d.a.commit("userInfo/setItem", e),
            g[e.id] = Date.now()
        },
        addUserId: function(e) {
            if (e) {
                var t = _(e)
                  , n = g[t];
                if (void 0 === n) {
                    var r = w(t)
                      , a = c()(r, 2)
                      , i = a[0]
                      , o = a[1]
                      , s = d.a.getters["data/tokensByType"][i][o];
                    s && d.a.commit("userInfo/setItem", {
                        id: t,
                        name: s.name
                    })
                }
                (void 0 === n || n + 36e5 < Date.now()) && (g[t] = 0,
                y())
            }
        }
    },
    p.a.setInterval(function() {
        return y()
    }, 6e4)
}
, , , , , , , , , function(e, t, n) {
    "use strict";
    var r = n(2126)
      , a = n(786)
      , i = (n(2069),
    n(0))
      , o = n.i(i.a)(a.a, r.a, r.b, !1, null, null, null);
    t.a = o.exports
}
, , function(e, t, n) {
    "use strict";
    function r(e) {
        var t = e.getAllResponseHeaders().trim().split("\n")
          , n = {};
        return t.forEach(function(e) {
            var t = e.trim().split(":")
              , r = t.shift().trim().toLowerCase()
              , a = t.join(":").trim();
            n[r] = a
        }),
        n
    }
    function a(e) {
        if (403 === e.status) {
            var t = ((((e.body || {}).error || {}).errors || [])[0] || {}).reason;
            return "rateLimitExceeded" === t || "userRateLimitExceeded" === t
        }
        return 429 === e.status || e.status >= 500 && e.status < 600
    }
    var i = n(15)
      , o = n.n(i)
      , s = n(19)
      , c = n.n(s)
      , u = n(46)
      , l = n.n(u)
      , d = n(210)
      , p = n.n(d)
      , f = n(66)
      , v = n.n(f)
      , m = n(3)
      , h = n.n(m)
      , g = n(20)
      , b = n.n(g)
      , _ = n(6)
      , w = n.n(_)
      , y = n(33)
      , k = n.n(y)
      , x = n(5)
      , C = n.n(x)
      , I = n(91)
      , S = n.n(I)
      , E = n(4)
      , L = n(2)
      , T = n(90)
      , D = S()(null)
      , P = !1
      , B = 0
      , A = 0
      , M = !1
      , N = !1;
    t.a = {
        init: function() {
            var e = this;
            return C()(w.a.mark(function t() {
                var n, r, a;
                return w.a.wrap(function(t) {
                    for (; ; )
                        switch (t.prev = t.next) {
                        case 0:
                            return n = function() {
                                B = Date.now()
                            }
                            ,
                            window.document.addEventListener("mousedown", n),
                            window.document.addEventListener("keydown", n),
                            window.document.addEventListener("touchstart", n),
                            A = 0,
                            r = function() {
                                A = Date.now(),
                                localStorage.setItem(L.a.getters["workspace/lastFocusKey"], A),
                                n()
                            }
                            ,
                            document.hasFocus() && r(),
                            window.addEventListener("focus", r),
                            a = function() {
                                var t = C()(w.a.mark(function t() {
                                    var n, r, a, i;
                                    return w.a.wrap(function(t) {
                                        for (; ; )
                                            switch (t.prev = t.next) {
                                            case 0:
                                                if (!(!(n = !1 === window.navigator.onLine) && L.a.state.lastOfflineCheck + 3e4 + 5e3 < Date.now() && e.isUserActive())) {
                                                    t.next = 17;
                                                    break
                                                }
                                                return L.a.commit("updateLastOfflineCheck"),
                                                r = document.createElement("script"),
                                                a = void 0,
                                                t.prev = 5,
                                                t.next = 8,
                                                new k.a(function(e, t) {
                                                    r.onload = e,
                                                    r.onerror = t;
                                                    try {
                                                        a = setTimeout(t, 3e4)
                                                    } catch (e) {
                                                        t(e)
                                                    }
                                                }
                                                );
                                            case 8:
                                                P = !1,
                                                t.next = 14;
                                                break;
                                            case 11:
                                                t.prev = 11,
                                                t.t0 = t.catch(5),
                                                P = !0;
                                            case 14:
                                                return t.prev = 14,
                                                clearTimeout(a),
                                                t.finish(14);
                                            case 17:
                                                i = n || P,
                                                L.a.state.offline !== i && L.a.commit("setOffline", !0);
                                            case 19:
                                            case "end":
                                                return t.stop()
                                            }
                                    }, t, e, [[5, 11, 14, 17]])
                                }));
                                return function() {
                                    return t.apply(this, arguments)
                                }
                            }(),
                            E.a.setInterval(a, 1e3),
                            t.next = 12,
                            a();
                        case 12:
                            e.getServerConf();
                        case 13:
                        case "end":
                            return t.stop()
                        }
                }, t, e)
            }))()
        },
        getServerConf: function() {
            var e = this;
            return C()(w.a.mark(function t() {
                var n;
                return w.a.wrap(function(t) {
                    for (; ; )
                        switch (t.prev = t.next) {
                        case 0:
                            if (L.a.state.offline || M || N) {
                                t.next = 12;
                                break
                            }
                            return t.prev = 1,
                            M = !0,
                            t.next = 5,
                            e.request({
                                url: "conf"
                            });
                        case 5:
                            return n = t.sent,
                            t.next = 8,
                            L.a.dispatch("data/setServerConf", n.body);
                        case 8:
                            N = !0;
                        case 9:
                            return t.prev = 9,
                            M = !1,
                            t.finish(9);
                        case 12:
                        case "end":
                            return t.stop()
                        }
                }, t, e, [[1, , 9, 12]])
            }))()
        },
        isWindowFocused: function() {
            var e = localStorage.getItem(L.a.getters["workspace/lastFocusKey"]);
            return parseInt(e, 10) === A
        },
        isUserActive: function() {
            return B > Date.now() - 18e4 && this.isWindowFocused()
        },
        isConfLoaded: function() {
            return !!b()(L.a.getters["data/serverConf"]).length
        },
        loadScript: function(e) {
            var t = this;
            return C()(w.a.mark(function n() {
                return w.a.wrap(function(t) {
                    for (; ; )
                        switch (t.prev = t.next) {
                        case 0:
                            return D[e] || (D[e] = new k.a(function(t, n) {
                                var r = document.createElement("script");
                                r.onload = t,
                                r.onerror = function() {
                                    D[e] = null,
                                    n()
                                }
                                ,
                                r.src = e,
                                document.head.appendChild(r)
                            }
                            )),
                            t.abrupt("return", D[e]);
                        case 2:
                        case "end":
                            return t.stop()
                        }
                }, n, t)
            }))()
        },
        startOauth2: function(e) {
            var t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {}
              , n = this
              , r = arguments.length > 2 && void 0 !== arguments[2] && arguments[2]
              , a = arguments.length > 3 && void 0 !== arguments[3] && arguments[3];
            return C()(w.a.mark(function i() {
                var o, s, c, u, l, d, p;
                return w.a.wrap(function(i) {
                    for (; ; )
                        switch (i.prev = i.next) {
                        case 0:
                            if (i.prev = 0,
                            o = E.a.uid(),
                            s = E.a.addQueryParams(e, h()({}, t, {
                                state: o,
                                redirect_uri: T.a.oauth2RedirectUri
                            })),
                            c = void 0,
                            u = void 0,
                            !r) {
                                i.next = 11;
                                break
                            }
                            c = E.a.createHiddenIframe(s),
                            document.body.appendChild(c),
                            u = c.contentWindow,
                            i.next = 14;
                            break;
                        case 11:
                            if (u = window.open(s)) {
                                i.next = 14;
                                break
                            }
                            throw new Error("The authorize window was blocked.");
                        case 14:
                            return l = void 0,
                            d = void 0,
                            p = void 0,
                            i.prev = 17,
                            i.next = 20,
                            new k.a(function(e, t) {
                                r ? (c.onerror = function() {
                                    t(new Error("Unknown error."))
                                }
                                ,
                                d = setTimeout(function() {
                                    a ? (P = !0,
                                    L.a.commit("setOffline", !0),
                                    L.a.commit("updateLastOfflineCheck"),
                                    t(new Error("You are offline."))) : t(new Error("REATTEMPT"))
                                }, 15e3)) : d = setTimeout(function() {
                                    t(new Error("Timeout."))
                                }, 36e4),
                                p = function(n) {
                                    if (n.source === u && n.origin === T.a.origin) {
                                        var r = E.a.parseQueryParams(("" + n.data).slice(1));
                                        r.error || r.state !== o ? (console.error(r),
                                        t(new Error("Could not get required authorization."))) : e({
                                            accessToken: r.access_token,
                                            code: r.code,
                                            idToken: r.id_token,
                                            expiresIn: r.expires_in
                                        })
                                    }
                                }
                                ,
                                window.addEventListener("message", p),
                                r || (l = setInterval(function() {
                                    u.closed && t(new Error("Authorize window was closed."))
                                }, 250))
                            }
                            );
                        case 20:
                            return i.abrupt("return", i.sent);
                        case 21:
                            return i.prev = 21,
                            clearInterval(l),
                            r || u.closed || u.close(),
                            c && document.body.removeChild(c),
                            clearTimeout(d),
                            window.removeEventListener("message", p),
                            i.finish(21);
                        case 28:
                            i.next = 35;
                            break;
                        case 30:
                            if (i.prev = 30,
                            i.t0 = i.catch(0),
                            "REATTEMPT" !== i.t0.message) {
                                i.next = 34;
                                break
                            }
                            return i.abrupt("return", n.startOauth2(e, t, r, !0));
                        case 34:
                            throw i.t0;
                        case 35:
                        case "end":
                            return i.stop()
                        }
                }, i, n, [[0, 30], [17, , 21, 28]])
            }))()
        },
        request: function(e) {
            var t = this
              , n = arguments.length > 1 && void 0 !== arguments[1] && arguments[1];
            return C()(w.a.mark(function i() {
                var s, u, d, f;
                return w.a.wrap(function(i) {
                    for (; ; )
                        switch (i.prev = i.next) {
                        case 0:
                            return s = 500,
                            u = 1e4,
                            d = v()({}, e),
                            d.timeout = d.timeout || 3e4,
                            d.headers = v()({}, d.headers),
                            d.body && "object" === p()(d.body) && (d.body = l()(d.body),
                            d.headers["Content-Type"] = "application/json"),
                            f = function() {
                                var e = C()(w.a.mark(function e() {
                                    return w.a.wrap(function(e) {
                                        for (; ; )
                                            switch (e.prev = e.next) {
                                            case 0:
                                                return e.prev = 0,
                                                e.next = 3,
                                                new k.a(function(e, t) {
                                                    n && L.a.commit("updateLastOfflineCheck");
                                                    var a = new window.XMLHttpRequest;
                                                    a.withCredentials = d.withCredentials || !1;
                                                    var i = setTimeout(function() {
                                                        a.abort(),
                                                        n ? (P = !0,
                                                        L.a.commit("setOffline", !0),
                                                        t(new Error("You are offline."))) : t(new Error("Network request timeout."))
                                                    }, d.timeout);
                                                    a.onload = function() {
                                                        n && (P = !1),
                                                        clearTimeout(i);
                                                        var o = {
                                                            status: a.status,
                                                            headers: r(a),
                                                            body: d.blob ? a.response : a.responseText
                                                        };
                                                        if (!d.raw && !d.blob)
                                                            try {
                                                                o.body = JSON.parse(o.body)
                                                            } catch (e) {}
                                                        o.status >= 200 && o.status < 300 ? e(o) : t(o)
                                                    }
                                                    ,
                                                    a.onerror = function() {
                                                        clearTimeout(i),
                                                        n ? (P = !0,
                                                        L.a.commit("setOffline", !0),
                                                        t(new Error("You are offline."))) : t(new Error("Network request failed."))
                                                    }
                                                    ;
                                                    var s = E.a.addQueryParams(d.url, d.params);
                                                    a.open(d.method || "GET", s),
                                                    c()(d.headers).forEach(function(e) {
                                                        var t = o()(e, 2)
                                                          , n = t[0]
                                                          , r = t[1];
                                                        r && a.setRequestHeader(n, "" + r)
                                                    }),
                                                    d.blob && (a.responseType = "blob"),
                                                    a.send(d.body || null)
                                                }
                                                );
                                            case 3:
                                                return e.abrupt("return", e.sent);
                                            case 6:
                                                if (e.prev = 6,
                                                e.t0 = e.catch(0),
                                                !(a(e.t0) && s < u)) {
                                                    e.next = 12;
                                                    break
                                                }
                                                return e.next = 11,
                                                new k.a(function(e) {
                                                    setTimeout(e, s),
                                                    s *= 2
                                                }
                                                );
                                            case 11:
                                                return e.abrupt("return", f());
                                            case 12:
                                                throw e.t0;
                                            case 13:
                                            case "end":
                                                return e.stop()
                                            }
                                    }, e, t, [[0, 6]])
                                }));
                                return function() {
                                    return e.apply(this, arguments)
                                }
                            }(),
                            i.abrupt("return", f());
                        case 8:
                        case "end":
                            return i.stop()
                        }
                }, i, t)
            }))()
        }
    }
}
, , , , , , , , , function(e, t, n) {
    "use strict";
    var r = (n(405),
    n(99));
    n(866),
    n(867),
    n(868),
    n(869),
    n(870),
    n(871),
    n(872);
    t.a = r.a
}
, , , , , , , , , , , , , , , , , , , , , , , , , function(e, t, n) {
    "use strict";
    var r = window.location.protocol + "//" + window.location.host;
    t.a = {
        cleanTrashAfter: 6048e5,
        origin: r,
        oauth2RedirectUri: r + "/oauth2/callback",
        types: ["contentState", "syncedContent", "content", "file", "folder", "syncLocation", "publishLocation", "data"],
        localStorageDataIds: ["workspaces", "settings", "layoutSettings", "tokens", "badgeCreations", "serverConf"],
        textMaxLength: 25e4,
        defaultName: "Untitled"
    }
}
, , , , , , , , , function(e, t, n) {
    "use strict";
    
    console.log("api.js Object6666 e:", e);
    console.log("api.js Object6666 t:", t);

    function r(e, t) {
    	//console.log("api.js Object6666 r(e,t)");
    	
        function n() {
            var t = e.textContent.replace(/\r[\n\u0085]?|[\u2424\u2028\u0085]/g, "\n");
            return "\n" !== t.slice(-1) && (t += "\n"),
            t
        }
        function a(e) {
            L.saveSelectionState(!0, !0, e)
        }
        function o(e, t, n) {
            var r = Math.min(e, t)
              , a = Math.max(e, t)
              , i = L.createRange(r, a)
              , o = "" + i;
            return o.length === a - r && o === n ? null : (i.deleteContents(),
            i.insertNode(document.createTextNode(n)),
            i)
        }
        function l(e, t, r) {
        	console.log("api.js Object6666 setContent()");
        	//console.log("api.js Object6666 setContent e:", e);
        	//console.log("api.js Object6666 setContent t:", t);
        	//console.log("api.js Object6666 setContent r:", r);
        	
            var a = n()
              , i = null != r && r < a.length ? r : a.length - 1
              , s = Math.min(E.diff_commonPrefix(a, e), i)
              , c = Math.min(E.diff_commonSuffix(a, e), a.length - s, e.length - s)
              , u = e.substring(s, e.length - c)
              , l = o(s, a.length - c, u);
            
            //console.log("api.js Object6666 setContent s:", s, a.length - c, u);
        	return l && (T = t,
            D = !0),
            {
                start: s,
                end: e.length - c,
                range: l
            }
        }
        function d(e, t, n) {
            P.setDefaultMode("single"),
            o(e, t, n);
            var r = Math.min(e, t)
              , a = r + n.length;
            L.setSelectionStartEnd(a, a),
            L.updateCursorCoordinates(!0)
        }
        function p(e, t) {
            var r = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : 0;
            P.setDefaultMode("single");
            var a = n()
              , i = n().slice(r)
              , o = i.replace(e, t);
            if (o !== i) {
                var s = x.setContent(a.slice(0, r) + o);
                L.setSelectionStartEnd(s.end, s.end),
                L.updateCursorCoordinates(!0)
            }
        }
        function f() {
            L.restoreSelection(),
            e.focus()
        }
        function v(e) {
            x.$markers[e.id] = e
        }
        function m(e) {
            delete x.$markers[e.id]
        }
        function h(t) {
            A.noWatch(function() {
                function n(t) {
                    for (var n = t; n && n !== e; ) {
                        if (n.section) {
                            var i = n.parentNode ? a : r;
                            return void (-1 === i.indexOf(n.section) && i.push(n.section))
                        }
                        n = n.parentNode
                    }
                }
                var r = []
                  , a = [];
                t.cl_each(function(e) {
                    n(e.target),
                    e.addedNodes.cl_each(n),
                    e.removedNodes.cl_each(n)
                }),
                S.fixContent(a, r, D),
                D = !1
            }),
            M || L.saveSelectionState(),
            M = !1;
            var r = n()
              , a = E.diff_main(I, r);
            x.$markers.cl_each(function(e) {
                e.adjustOffset(a)
            });
            var i = S.parseSections(r);
            x.$trigger("contentChanged", r, a, i),
            T || (P.addDiffs(I, r, a),
            P.setDefaultMode("typing"),
            P.saveState()),
            T = !1,
            I = r,
            B()
        }
        function g(e, t) {
            L.setSelectionStartEnd(e, null == t ? e : t),
            L.updateCursorCoordinates()
        }
        function b(e) {
            return function(t) {
                17 !== t.which && 91 !== t.which && 18 !== t.which && 16 !== t.which && e(t)
            }
        }
        function _() {
            return !document.contains(e) && (A.stopWatching(),
            window.removeEventListener("keydown", N),
            window.removeEventListener("mousedown", U),
            window.removeEventListener("mouseup", U),
            window.removeEventListener("resize", F),
            x.$trigger("destroy"),
            !0)
        }
        function w(e) {
            var t = Array.isArray(e) ? e : [e];
            x.$keystrokes = x.$keystrokes.concat(t).sort(function(e, t) {
                return e.priority - t.priority
            })
        }
        var y = arguments.length > 2 && void 0 !== arguments[2] && arguments[2]
          , k = t || e
          , x = {
            $contentElt: e,
            $scrollElt: k,
            $keystrokes: [],
            $markers: {}
        };
        r.Utils.createEventHooks(x);
        var C = r.Utils.debounce;
        e.setAttribute("tabindex", "0"),
        x.toggleEditable = function(t) {
            e.contentEditable = null == t ? !e.contentEditable : t
        }
        ,
        x.toggleEditable(!0);
        var I = n()
          , S = new r.Highlighter(x)
          , E = new i.a
          , L = new r.SelectionMgr(x)
          , T = !1
          , D = !1
          , P = new r.UndoMgr(x)
          , B = C(function() {
            var e = window.getSelection();
            L.hasFocus() && !S.isComposing && L.selectionStart === L.selectionEnd && e.modify && (L.selectionStart ? (e.modify("move", "backward", "character"),
            e.modify("move", "forward", "character")) : (e.modify("move", "forward", "character"),
            e.modify("move", "backward", "character")))
        }, 10)
          , A = void 0
          , M = void 0;
        A = new r.Watcher(x,h),
        A.startWatching();
        var N = void 0
          , U = void 0
          , F = void 0;
        N = function(e) {
            _() || b(function() {
                a()
            })(e)
        }
        ,
        window.addEventListener("keydown", N),
        U = function() {
            _() || L.saveSelectionState(!0, !1)
        }
        ,
        window.addEventListener("mousedown", U),
        window.addEventListener("mouseup", U),
        F = function() {
            _() || L.updateCursorCoordinates()
        }
        ,
        window.addEventListener("resize", F),
        e.addEventListener("contextmenu", L.saveSelectionState.cl_bind(L, !0, !1)),
        e.addEventListener("keydown", b(function(e) {
            L.saveSelectionState();
            var t = !1
              , r = n()
              , i = Math.min(L.selectionStart, L.selectionEnd)
              , o = Math.max(L.selectionStart, L.selectionEnd)
              , s = {
                before: r.slice(0, i),
                after: r.slice(o),
                selection: r.slice(i, o),
                isBackwardSelection: L.selectionStart > L.selectionEnd
            };
            x.$keystrokes.cl_some(function(r) {
                if (!r.handler(e, s, x))
                    return !1;
                var a = s.before + s.selection + s.after;
                return a !== n() && (x.setContent(a, !1, i),
                t = !0,
                M = !0,
                S.cancelComposition = !0),
                i = s.before.length,
                o = i + s.selection.length,
                L.setSelectionStartEnd(s.isBackwardSelection ? o : i, s.isBackwardSelection ? i : o, !t),
                !0
            }),
            t || a()
        })),
        e.addEventListener("compositionstart", function() {
            S.isComposing += 1
        }),
        e.addEventListener("compositionend", function() {
            setTimeout(function() {
                S.isComposing && (S.isComposing -= 1,
                S.isComposing || h([]))
            }, 1)
        });
        var O = void 0;
        return y && (e.addEventListener("copy", function(e) {
            e.clipboardData && (e.clipboardData.setData("text/plain", L.getSelectedText()),
            e.preventDefault())
        }),
        e.addEventListener("cut", function(e) {
            e.clipboardData ? (e.clipboardData.setData("text/plain", L.getSelectedText()),
            e.preventDefault(),
            d(L.selectionStart, L.selectionEnd, "")) : P.setCurrentMode("single"),
            a()
        }),
        O = new s.a(u.a.getters["data/computedSettings"].turndown),
        O.escape = function(e) {
            return e
        }
        ),
        e.addEventListener("paste", function(e) {
        	//console.log("api.js Object6666 paste e:", e);        	
            P.setCurrentMode("single"),
            e.preventDefault();
            var t = void 0
              , n = e.clipboardData;
            if (n) {
                if (t = n.getData("text/plain"),
                O)
                    try {
                        var r = n.getData("text/html");
                        if (r) {
                            var i = c.a.sanitizeHtml(r).replace(/&#160;/g, " ");
                            i && (t = O.turndown(i))
                        }
                    } catch (e) {}
            } else
                n = window.clipboardData.clipboardData,
                t = n && n.getData("Text");
            t && (d(L.selectionStart, L.selectionEnd, t),
            a())
        }),
        e.addEventListener("focus", function() {
            x.$trigger("focus")
        }),
        e.addEventListener("blur", function() {
            x.$trigger("blur")
        }),
        w(r.defaultKeystrokes),
        x.selectionMgr = L,
        x.undoMgr = P,
        x.highlighter = S,
        x.watcher = A,
        x.adjustCursorPosition = a,
        x.setContent = l,
        x.replace = d,
        x.replaceAll = p,
        x.getContent = n,
        x.focus = f,
        x.setSelection = g,
        x.addKeystroke = w,
        x.addMarker = v,
        x.removeMarker = m,
        x.init = function() {
            var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {}
              , t = {
                getCursorFocusRatio: function() {
                    return .1
                },
                sectionHighlighter: function(e) {
                    return e.text.replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/\u00a0/g, " ")
                },
                sectionDelimiter: ""
            }.cl_extend(e);
            x.options = t,
            void 0 !== t.content && (I = t.content.toString(),
            "\n" !== I.slice(-1) && (I += "\n"));
            var n = S.parseSections(I, !0);
            x.$trigger("contentChanged", I, [0, I], n),
            void 0 !== t.selectionStart && void 0 !== t.selectionEnd ? x.setSelection(t.selectionStart, t.selectionEnd) : L.saveSelectionState(),
            P.init(t),
            void 0 !== t.scrollTop && (k.scrollTop = t.scrollTop)
        }
        ,
        x
    }
    var a = n(112)
      , i = n.n(a)
      , o = n(727)
      , s = n.n(o)
      , c = n(171)
      , u = n(2);
    t.a = r
}
, function(e, t, n) {
    "use strict";
    var r = []
      , a = []
      , i = [];
    t.a = {
        onGetOptions: function(e) {
            r.push(e)
        },
        onInitConverter: function(e, t) {
            a[e] = t
        },
        onSectionPreview: function(e) {
            i.push(e)
        },
        getOptions: function(e, t) {
            return r.reduce(function(n, r) {
                return r(n, e, t),
                n
            }, {})
        },
        initConverter: function(e, t) {
            a.forEach(function(n) {
                n(e, t)
            })
        },
        sectionPreview: function(e, t, n) {
            i.forEach(function(r) {
                r(e, t, n)
            })
        }
    }
}
, function(e, t, n) {
    "use strict";
    t.a = {
        providersById: {},
        register: function(e) {
            return this.providersById[e.id] = e,
            e
        }
    }
}
, function(e, t, n) {
    "use strict";
    var r = n(92)
      , a = n.n(r)
      , i = n(33)
      , o = n.n(i)
      , s = n(210)
      , c = n.n(s)
      , u = n(37)
      , l = n.n(u)
      , d = n(39)
      , p = n.n(d)
      , f = n(6)
      , v = n.n(f)
      , m = n(5)
      , h = n.n(m)
      , g = n(81)
      , b = n.n(g)
      , _ = n(172)
      , w = n.n(_)
      , y = n(20)
      , k = n.n(y)
      , x = n(3)
      , C = n.n(x)
      , I = n(15)
      , S = n.n(I)
      , E = n(19)
      , L = n.n(E)
      , T = n(142)
      , D = n(2)
      , P = n(4)
      , B = n(406)
      , A = n(56)
      , M = n(101)
      , N = n(885)
      , U = (n(882),
    n(883),
    n(884),
    n(886),
    n(209))
      , F = n(36)
      , O = n(90)
      , $ = n(12)
      , R = this
      , q = void 0
      , W = void 0
      , G = void 0
      , H = function() {
        return parseInt(localStorage.getItem(D.a.getters["workspace/lastSyncActivityKey"]), 10) || 0
    }
      , j = function() {
        return !!D.a.getters["workspace/syncToken"]
    }
      , z = function() {
        return !!D.a.getters["syncLocation/current"].length
    }
      , V = function() {
        return !D.a.state.offline && (j() || z())
    }
      , Z = function() {
        var e = H();
        return G === e || Date.now() > 3e3 + e
    }
      , Y = function() {
        var e = D.a.getters["data/computedSettings"].autoSyncEvery;
        return e < 6e4 && (e = 6e4),
        Date.now() > e + H()
    }
      , K = function() {
        var e = Date.now();
        G = e,
        localStorage.setItem(D.a.getters["workspace/lastSyncActivityKey"], e)
    }
      , J = function(e) {
        if (e.v)
            return e;
        var t = {}
          , n = {}
          , r = {};
        return L()(e.historyData).forEach(function(e) {
            var r = S()(e, 2)
              , a = r[0]
              , i = r[1]
              , o = P.a.addItemHash(i);
            n[o.hash] = o,
            t[a] = o.hash
        }),
        L()(e.syncHistory).forEach(function(e) {
            var n = S()(e, 2)
              , a = n[0]
              , i = n[1];
            r[a] = i.map(function(e) {
                return t[e]
            })
        }),
        C()({}, e, {
            historyData: n,
            syncHistory: r,
            v: 1
        })
    }
      , Q = function(e) {
        var t;
        k()(e.syncHistory).forEach(function(t) {
            "main" === t || D.a.state.syncLocation.itemsById[t] || delete e.syncHistory[t]
        });
        var n = new w.a((t = []).concat.apply(t, b()(k()(e.syncHistory).map(function(t) {
            return e.syncHistory[t]
        }))));
        k()(e.historyData).map(function(e) {
            return parseInt(e, 10)
        }).forEach(function(t) {
            n.has(t) || delete e.historyData[t]
        })
    }
      , X = function(e) {
        var t = C()({}, D.a.getters.allItemsById)
          , n = C()({}, D.a.getters["data/syncDataById"])
          , r = {}
          , a = !1
          , i = void 0;
        if (D.a.getters["workspace/currentWorkspaceIsGit"]) {
            var o = C()({}, D.a.getters.itemsByGitPath);
            i = function(e) {
                return e && o[e.id]
            }
        } else
            i = function(e) {
                return e && t[e.itemId]
            }
            ;
        e.forEach(function(e) {
            var o = n[e.syncDataId]
              , s = i(o);
            !e.item && o ? (n[e.syncDataId] && (delete n[e.syncDataId],
            a = !0),
            s && (D.a.commit(s.type + "/deleteItem", s.id),
            delete t[s.id])) : e.item && e.item.hash && (r[e.item.id] = !0,
            (o || {}).hash !== e.syncData.hash && (n[e.syncDataId] = e.syncData,
            a = !0),
            (o || {}).hash !== e.item.hash && (s || {}).hash !== e.item.hash && "content" !== e.item.type && "data" !== e.item.type && (D.a.commit(e.item.type + "/setItem", e.item),
            t[e.item.id] = e.item))
        }),
        a && (D.a.dispatch("data/setSyncDataById", n),
        F.a.sanitizeWorkspace(r))
    }
      , ee = function(e) {
        var t = D.a.getters["file/current"]
          , n = t.id;
        e.fileId = n;
        var r = P.a.deepCopy(D.a.getters["content/current"]);
        D.a.commit("updateEditState", !1),
        D.a.dispatch("queue/enqueue", h()(v.a.mark(function a() {
            var i, o, s, c, u;
            return v.a.wrap(function(a) {
                for (; ; )
                    switch (a.prev = a.next) {
                    case 0:
                        return i = M.a.providersById[e.providerId],
                        o = i.getToken(e),
                        a.next = 4,
                        i.uploadContent(o, C()({}, r, {
                            history: [r.hash]
                        }), e);
                    case 4:
                        return s = a.sent,
                        a.next = 7,
                        T.a.loadSyncedContent(n);
                    case 7:
                        c = P.a.deepCopy(J(D.a.state.syncedContent.itemsById[n + "/syncedContent"])),
                        u = [],
                        c.syncHistory[e.id] = u,
                        u[0] = r.hash,
                        u[2] = r.hash,
                        c.historyData[r.hash] = r,
                        D.a.commit("syncedContent/patchItem", c),
                        F.a.addSyncLocation(s),
                        D.a.dispatch("notification/info", 'A new synchronized location was added to "' + t.name + '".');
                    case 16:
                    case "end":
                        return a.stop()
                    }
            }, a, R)
        })))
    }
      , te = function(e) {
        var t = Date.now() + e;
        return function(e) {
            if (t < Date.now())
                throw new Error("TOO_LATE");
            return e()
        }
    }
      , ne = function(e) {
        var t = e + "/content";
        if (D.a.getters["data/syncDataByItemId"][t])
            return !1;
        var n = D.a.state.file.itemsById[e]
          , r = D.a.state.content.itemsById[t];
        if (!n || !r)
            return !1;
        if ("temp" === n.parentId)
            return !0;
        if ([].concat(b()(D.a.getters["syncLocation/filteredGroupedByFileId"][e] || []), b()(D.a.getters["publishLocation/filteredGroupedByFileId"][e] || [])).length)
            return !1;
        var a = D.a.getters["data/localSettings"].welcomeFileHashes
          , i = P.a.hash(r.text)
          , o = k()(r.discussions).length;
        return "Welcome file" === n.name && a[i] && !o
    }
      , re = function(e) {
        return [e.syncData, e.contentSyncData, e.fileSyncData].forEach(function(e) {
            if (e) {
                var t = D.a.getters["data/syncDataById"][e.id];
                P.a.serializeObject(t) !== P.a.serializeObject(e) && D.a.dispatch("data/patchSyncDataById", p()({}, e.id, e))
            }
        }),
        e
    }
      , ae = function e() {
        l()(this, e),
        this.restartSkipContents = !1,
        this.attempted = {}
    }
      , ie = function() {
        var e = h()(v.a.mark(function e(t) {
            var n, r, a, i, o = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : new ae;
            return v.a.wrap(function(e) {
                for (; ; )
                    switch (e.prev = e.next) {
                    case 0:
                        return n = t + "/content",
                        o.attempted[n] = !0,
                        e.next = 4,
                        T.a.loadSyncedContent(t);
                    case 4:
                        return e.prev = 4,
                        e.next = 7,
                        T.a.loadItem(n);
                    case 7:
                        e.next = 11;
                        break;
                    case 9:
                        e.prev = 9,
                        e.t0 = e.catch(4);
                    case 11:
                        if (r = function() {
                            return J(D.a.state.syncedContent.itemsById[t + "/syncedContent"])
                        }
                        ,
                        a = function(e) {
                            return r().syncHistory[e]
                        }
                        ,
                        e.prev = 13,
                        !ne(t)) {
                            e.next = 16;
                            break
                        }
                        return e.abrupt("return");
                    case 16:
                        return i = [].concat(b()(D.a.getters["syncLocation/filteredGroupedByFileId"][t] || [])),
                        j() && i.unshift({
                            id: "main",
                            providerId: W.id,
                            fileId: t
                        }),
                        e.next = 20,
                        P.a.awaitSequence(i, function() {
                            var e = h()(v.a.mark(function e(i) {
                                var s, c, u, l, d;
                                return v.a.wrap(function(e) {
                                    for (; ; )
                                        switch (e.prev = e.next) {
                                        case 0:
                                            if (s = M.a.providersById[i.providerId]) {
                                                e.next = 3;
                                                break
                                            }
                                            return e.abrupt("return");
                                        case 3:
                                            if (c = s.getToken(i)) {
                                                e.next = 6;
                                                break
                                            }
                                            return e.abrupt("return");
                                        case 6:
                                            return u = function() {
                                                var e = h()(v.a.mark(function e() {
                                                    var r, a, o, u;
                                                    return v.a.wrap(function(e) {
                                                        for (; ; )
                                                            switch (e.prev = e.next) {
                                                            case 0:
                                                                if ("main" === i.id) {
                                                                    e.next = 2;
                                                                    break
                                                                }
                                                                return e.abrupt("return", s.downloadContent(c, i));
                                                            case 2:
                                                                if (r = D.a.getters["data/syncDataByItemId"][n],
                                                                a = D.a.getters["data/syncDataByItemId"][t],
                                                                r && a) {
                                                                    e.next = 6;
                                                                    break
                                                                }
                                                                return e.abrupt("return", null);
                                                            case 6:
                                                                return e.t0 = re,
                                                                e.next = 9,
                                                                s.downloadWorkspaceContent({
                                                                    token: c,
                                                                    contentId: n,
                                                                    contentSyncData: r,
                                                                    fileSyncData: a
                                                                });
                                                            case 9:
                                                                return e.t1 = e.sent,
                                                                o = (0,
                                                                e.t0)(e.t1),
                                                                u = o.content,
                                                                e.abrupt("return", u);
                                                            case 13:
                                                            case "end":
                                                                return e.stop()
                                                            }
                                                    }, e, R)
                                                }));
                                                return function() {
                                                    return e.apply(this, arguments)
                                                }
                                            }(),
                                            l = function() {
                                                var e = h()(v.a.mark(function e(r, a) {
                                                    var o, u;
                                                    return v.a.wrap(function(e) {
                                                        for (; ; )
                                                            switch (e.prev = e.next) {
                                                            case 0:
                                                                if ("main" === i.id) {
                                                                    e.next = 2;
                                                                    break
                                                                }
                                                                return e.abrupt("return", s.uploadContent(c, r, i, a));
                                                            case 2:
                                                                if (!(o = D.a.getters["data/syncDataByItemId"][n]) || o.hash !== r.hash) {
                                                                    e.next = 5;
                                                                    break
                                                                }
                                                                return e.abrupt("return", i);
                                                            case 5:
                                                                return u = D.a.getters["data/syncDataByItemId"][t],
                                                                e.t0 = re,
                                                                e.next = 9,
                                                                s.uploadWorkspaceContent({
                                                                    token: c,
                                                                    content: r,
                                                                    file: P.a.deepCopy(D.a.state.file.itemsById[t]),
                                                                    contentSyncData: o,
                                                                    fileSyncData: u,
                                                                    ifNotTooLate: a
                                                                });
                                                            case 9:
                                                                return e.t1 = e.sent,
                                                                (0,
                                                                e.t0)(e.t1),
                                                                e.abrupt("return", i);
                                                            case 12:
                                                            case "end":
                                                                return e.stop()
                                                            }
                                                    }, e, R)
                                                }));
                                                return function(t, n) {
                                                    return e.apply(this, arguments)
                                                }
                                            }(),
                                            d = function() {
                                                var e = h()(v.a.mark(function e() {
                                                    var d, p, f, m, h, g, b, _, w, y, k, x, I;
                                                    return v.a.wrap(function(e) {
                                                        for (; ; )
                                                            switch (e.prev = e.next) {
                                                            case 0:
                                                                return e.next = 2,
                                                                u(c, i);
                                                            case 2:
                                                                if (d = e.sent,
                                                                p = r(),
                                                                f = a(i.id),
                                                                m = void 0,
                                                                h = P.a.deepCopy(D.a.state.content.itemsById[n]),
                                                                h ? !d || d.hash === h.hash || p.historyData[d.hash] ? m = h : (g = P.a.someResult(d.history, function(e) {
                                                                    return p.historyData[e]
                                                                }),
                                                                !g && f && (g = p.historyData[f[1]]),
                                                                m = B.a.mergeContent(d, h, g)) : m = P.a.deepCopy(d || null),
                                                                m) {
                                                                    e.next = 10;
                                                                    break
                                                                }
                                                                return e.abrupt("return");
                                                            case 10:
                                                                if (D.a.commit("content/setItem", {
                                                                    id: n,
                                                                    text: P.a.sanitizeText(m.text),
                                                                    properties: P.a.sanitizeText(m.properties),
                                                                    discussions: m.discussions,
                                                                    comments: m.comments
                                                                }),
                                                                m = P.a.deepCopy(D.a.state.content.itemsById[n]),
                                                                b = d ? d.history.slice() : [],
                                                                _ = !0,
                                                                b[0] !== m.hash && (b.unshift(m.hash),
                                                                _ = !1),
                                                                f && null != f[2] && f[2] !== m.hash && -1 !== (w = b.lastIndexOf(f[2])) && b.splice(w, 1),
                                                                y = P.a.deepCopy(p),
                                                                k = y.syncHistory[i.id] || [],
                                                                y.syncHistory[i.id] = k,
                                                                d && (d.hash === k[0] || d.history.includes(k[0])) && (k[1] = k[0]),
                                                                k[1] = k[1] || null,
                                                                k[0] = m.hash,
                                                                k[2] = _ ? null : m.hash,
                                                                y.historyData[m.hash] = m,
                                                                Q(y),
                                                                D.a.commit("syncedContent/patchItem", y),
                                                                !_) {
                                                                    e.next = 28;
                                                                    break
                                                                }
                                                                return e.abrupt("return");
                                                            case 28:
                                                                return s !== W || D.a.getters["data/syncDataByItemId"][t] || (o.restartSkipContents = !0),
                                                                x = C()({}, m, {
                                                                    history: b.slice(0, 20)
                                                                }),
                                                                e.next = 32,
                                                                l(x, te(1e3));
                                                            case 32:
                                                                I = e.sent,
                                                                P.a.serializeObject(i) !== P.a.serializeObject(I) && (D.a.commit("syncLocation/patchItem", I),
                                                                F.a.ensureUniqueLocations());
                                                            case 34:
                                                            case "end":
                                                                return e.stop()
                                                            }
                                                    }, e, R)
                                                }));
                                                return function() {
                                                    return e.apply(this, arguments)
                                                }
                                            }(),
                                            e.next = 11,
                                            D.a.dispatch("queue/doWithLocation", {
                                                location: i,
                                                action: function() {
                                                    var e = h()(v.a.mark(function e() {
                                                        return v.a.wrap(function(e) {
                                                            for (; ; )
                                                                switch (e.prev = e.next) {
                                                                case 0:
                                                                    return e.prev = 0,
                                                                    e.next = 3,
                                                                    d();
                                                                case 3:
                                                                    e.next = 11;
                                                                    break;
                                                                case 5:
                                                                    if (e.prev = 5,
                                                                    e.t0 = e.catch(0),
                                                                    !(D.a.state.offline || e.t0 && "TOO_LATE" === e.t0.message)) {
                                                                        e.next = 9;
                                                                        break
                                                                    }
                                                                    throw e.t0;
                                                                case 9:
                                                                    console.error(e.t0),
                                                                    D.a.dispatch("notification/error", e.t0);
                                                                case 11:
                                                                case "end":
                                                                    return e.stop()
                                                                }
                                                        }, e, R, [[0, 5]])
                                                    }));
                                                    return function() {
                                                        return e.apply(this, arguments)
                                                    }
                                                }()
                                            });
                                        case 11:
                                        case "end":
                                            return e.stop()
                                        }
                                }, e, R)
                            }));
                            return function(t) {
                                return e.apply(this, arguments)
                            }
                        }());
                    case 20:
                        e.next = 30;
                        break;
                    case 22:
                        if (e.prev = 22,
                        e.t1 = e.catch(13),
                        !e.t1 || "TOO_LATE" !== e.t1.message) {
                            e.next = 29;
                            break
                        }
                        return e.next = 27,
                        ie(t, o);
                    case 27:
                        e.next = 30;
                        break;
                    case 29:
                        throw e.t1;
                    case 30:
                        return e.prev = 30,
                        e.next = 33,
                        T.a.unloadContents();
                    case 33:
                        return e.finish(30);
                    case 34:
                    case "end":
                        return e.stop()
                    }
            }, e, R, [[4, 9], [13, 22, 30, 34]])
        }));
        return function(t) {
            return e.apply(this, arguments)
        }
    }()
      , oe = function() {
        var e = h()(v.a.mark(function e(t) {
            var n, r, a, i, s, u, l, d, f, m;
            return v.a.wrap(function(e) {
                for (; ; )
                    switch (e.prev = e.next) {
                    case 0:
                        if (n = function() {
                            return D.a.state.data.itemsById[t] || D.a.state.data.lsItemsById[t]
                        }
                        ,
                        r = n(),
                        !(a = D.a.getters["data/syncDataByItemId"][t]) || !r || r.hash !== a.hash) {
                            e.next = 5;
                            break
                        }
                        return e.abrupt("return");
                    case 5:
                        return i = W.getToken(),
                        e.t0 = re,
                        e.next = 9,
                        W.downloadWorkspaceData({
                            token: i,
                            syncData: a
                        });
                    case 9:
                        if (e.t1 = e.sent,
                        s = (0,
                        e.t0)(e.t1),
                        u = s.item,
                        l = u,
                        d = D.a.getters["data/dataSyncDataById"][t],
                        f = P.a.deepCopy(n()),
                        m = function() {
                            return f ? l ? d ? d.hash !== l.hash ? d.hash !== f.hash && "object" === c()(f.data) ? C()({}, f, {
                                data: B.a.mergeObjects(l.data, f.data)
                            }) : l : f : l : f : l
                        }()) {
                            e.next = 18;
                            break
                        }
                        return e.abrupt("return");
                    case 18:
                        if (!f || "workspaces" !== t) {
                            e.next = 21;
                            break
                        }
                        return e.next = 21,
                        o.a.all(k()(f.data).filter(function(e) {
                            return !m.data[e]
                        }).map(function(e) {
                            return F.a.removeWorkspace(e)
                        }));
                    case 21:
                        if (D.a.commit("data/setItem", C()({
                            id: t
                        }, m)),
                        m = P.a.deepCopy(n()),
                        l && l.hash === m.hash) {
                            e.next = 29;
                            break
                        }
                        return e.t2 = re,
                        e.next = 27,
                        W.uploadWorkspaceData({
                            token: i,
                            item: m,
                            syncData: D.a.getters["data/syncDataByItemId"][t],
                            ifNotTooLate: te(1e3)
                        });
                    case 27:
                        e.t3 = e.sent,
                        (0,
                        e.t2)(e.t3);
                    case 29:
                        D.a.dispatch("data/patchDataSyncDataById", p()({}, t, P.a.deepCopy(D.a.getters["data/syncDataByItemId"][t])));
                    case 30:
                    case "end":
                        return e.stop()
                    }
            }, e, R)
        }));
        return function(t) {
            return e.apply(this, arguments)
        }
    }()
      , se = function() {
        var e = h()(v.a.mark(function e() {
            var t, n, r, i, o, s, c, u = arguments.length > 0 && void 0 !== arguments[0] && arguments[0];
            return v.a.wrap(function(e) {
                for (; ; )
                    switch (e.prev = e.next) {
                    case 0:
                        if (e.prev = 0,
                        t = D.a.getters["workspace/currentWorkspace"],
                        n = new ae,
                        r = D.a.getters["workspace/syncToken"],
                        i = D.a.getters["data/localSettings"],
                        i.syncSub) {
                            e.next = 9;
                            break
                        }
                        D.a.dispatch("data/patchLocalSettings", {
                            syncSub: r.sub
                        }),
                        e.next = 11;
                        break;
                    case 9:
                        if (i.syncSub === r.sub) {
                            e.next = 11;
                            break
                        }
                        throw new Error("Synchronization failed due to token inconsistency.");
                    case 11:
                        return e.next = 13,
                        W.getChanges();
                    case 13:
                        return o = e.sent,
                        X(W.prepareChanges(o)),
                        W.onChangesApplied(),
                        s = te(3e4),
                        e.next = 19,
                        P.a.awaitSome(function() {
                            return s(h()(v.a.mark(function e() {
                                var t, n, r, a, i, o, c;
                                return v.a.wrap(function(e) {
                                    for (; ; )
                                        switch (e.prev = e.next) {
                                        case 0:
                                            if (t = C()({}, D.a.state.file.itemsById, D.a.state.folder.itemsById, D.a.state.syncLocation.itemsById, D.a.state.publishLocation.itemsById),
                                            n = D.a.getters["data/syncDataByItemId"],
                                            r = !!D.a.getters["workspace/currentWorkspaceIsGit"],
                                            a = P.a.someResult(L()(t), function(e) {
                                                var a = S()(e, 2)
                                                  , i = a[0]
                                                  , o = a[1]
                                                  , s = n[i];
                                                return s && s.hash === o.hash || !r && t[o.parentId] && !n[o.parentId] || r && "folder" === o.type || "file" === o.type && !n[i + "/content"] ? null : [o, s]
                                            }) || [],
                                            i = S()(a, 2),
                                            o = i[0],
                                            c = i[1],
                                            o) {
                                                e.next = 6;
                                                break
                                            }
                                            return e.abrupt("return", !1);
                                        case 6:
                                            return e.t0 = re,
                                            e.next = 9,
                                            W.saveWorkspaceItem({
                                                item: P.a.deepCopy(o),
                                                syncData: P.a.deepCopy(c),
                                                ifNotTooLate: s
                                            });
                                        case 9:
                                            return e.t1 = e.sent,
                                            (0,
                                            e.t0)(e.t1),
                                            e.abrupt("return", !0);
                                        case 12:
                                        case "end":
                                            return e.stop()
                                        }
                                }, e, R)
                            })))
                        });
                    case 19:
                        return e.next = 21,
                        P.a.awaitSome(function() {
                            return s(h()(v.a.mark(function e() {
                                var t, n, r, i, o, c, u;
                                return v.a.wrap(function(e) {
                                    for (; ; )
                                        switch (e.prev = e.next) {
                                        case 0:
                                            if (t = void 0,
                                            n = void 0,
                                            D.a.getters["workspace/currentWorkspaceIsGit"] ? (r = D.a.getters.itemsByGitPath,
                                            t = function(e) {
                                                return r[e.id]
                                            }
                                            ,
                                            n = function(e) {
                                                return r[e.id.slice(1)]
                                            }
                                            ) : (i = D.a.getters.allItemsById,
                                            t = function(e) {
                                                return i[e.itemId]
                                            }
                                            ,
                                            n = function(e) {
                                                return i[e.itemId.split("/")[0]]
                                            }
                                            ),
                                            o = D.a.getters["data/syncDataById"],
                                            c = P.a.deepCopy(P.a.someResult(a()(o), function(e) {
                                                return t(e) || "data" === e.type || "content" === e.type && n(e) ? null : e
                                            }))) {
                                                e.next = 7;
                                                break
                                            }
                                            return e.abrupt("return", !1);
                                        case 7:
                                            return e.next = 9,
                                            W.removeWorkspaceItem({
                                                syncData: c,
                                                ifNotTooLate: s
                                            });
                                        case 9:
                                            return u = C()({}, D.a.getters["data/syncDataById"]),
                                            delete u[c.id],
                                            D.a.dispatch("data/setSyncDataById", u),
                                            e.abrupt("return", !0);
                                        case 13:
                                        case "end":
                                            return e.stop()
                                        }
                                }, e, R)
                            })))
                        });
                    case 21:
                        if ("main" !== t.id) {
                            e.next = 28;
                            break
                        }
                        return e.next = 24,
                        oe("settings");
                    case 24:
                        return e.next = 26,
                        oe("workspaces");
                    case 26:
                        return e.next = 28,
                        oe("badgeCreations");
                    case 28:
                        return e.next = 30,
                        oe("templates");
                    case 30:
                        if (u) {
                            e.next = 37;
                            break
                        }
                        if (!(c = D.a.getters["file/current"].id)) {
                            e.next = 35;
                            break
                        }
                        return e.next = 35,
                        ie(c, n);
                    case 35:
                        return e.next = 37,
                        P.a.awaitSome(h()(v.a.mark(function e() {
                            var t, r, a, i, o, s, c;
                            return v.a.wrap(function(e) {
                                for (; ; )
                                    switch (e.prev = e.next) {
                                    case 0:
                                        if (t = void 0,
                                        D.a.getters["workspace/currentWorkspaceIsGit"] ? (r = D.a.getters.gitPathsByItemId,
                                        a = D.a.getters["data/syncDataById"],
                                        t = function(e) {
                                            return a[r[e]]
                                        }
                                        ) : (i = D.a.getters["data/syncDataByItemId"],
                                        t = function(e) {
                                            return i[e]
                                        }
                                        ),
                                        o = [].concat(b()(k()(T.a.hashMap.content).map(function(e) {
                                            return [e.split("/")[0], e]
                                        })), b()(D.a.getters["file/items"].map(function(e) {
                                            return [e.id, e.id + "/content"]
                                        }))),
                                        s = D.a.state.content.itemsById,
                                        c = P.a.someResult(o, function(e) {
                                            var r = S()(e, 2)
                                              , a = r[0]
                                              , i = r[1]
                                              , o = s[i]
                                              , c = o ? o.hash : T.a.hashMap.content[i]
                                              , u = t(i);
                                            return n.attempted[i] || u && u.hash === c ? null : a
                                        })) {
                                            e.next = 7;
                                            break
                                        }
                                        return e.abrupt("return", !1);
                                    case 7:
                                        return e.next = 9,
                                        ie(c, n);
                                    case 9:
                                        return e.abrupt("return", !0);
                                    case 10:
                                    case "end":
                                        return e.stop()
                                    }
                            }, e, R)
                        })));
                    case 37:
                        if (!n.restartSkipContents) {
                            e.next = 40;
                            break
                        }
                        return e.next = 40,
                        se(!0);
                    case 40:
                        "main" === t.id && $.a.addBadge("syncMainWorkspace"),
                        e.next = 51;
                        break;
                    case 43:
                        if (e.prev = 43,
                        e.t0 = e.catch(0),
                        !e.t0 || "TOO_LATE" !== e.t0.message) {
                            e.next = 50;
                            break
                        }
                        return e.next = 48,
                        se();
                    case 48:
                        e.next = 51;
                        break;
                    case 50:
                        throw e.t0;
                    case 51:
                    case "end":
                        return e.stop()
                    }
            }, e, R, [[0, 43]])
        }));
        return function() {
            return e.apply(this, arguments)
        }
    }()
      , ce = function() {
        var e = arguments.length > 0 && void 0 !== arguments[0] && arguments[0];
        D.a.state.light || D.a.dispatch("queue/enqueueSyncRequest", h()(v.a.mark(function t() {
            var n, r;
            return v.a.wrap(function(t) {
                for (; ; )
                    switch (t.prev = t.next) {
                    case 0:
                        return n = void 0,
                        r = function() {
                            var t = h()(v.a.mark(function t() {
                                var r, a;
                                return v.a.wrap(function(t) {
                                    for (; ; )
                                        switch (t.prev = t.next) {
                                        case 0:
                                            if (!A.a.isUserActive() || !Z()) {
                                                t.next = 22;
                                                break
                                            }
                                            if (clearInterval(n),
                                            V()) {
                                                t.next = 4;
                                                break
                                            }
                                            throw new Error("Sync not possible.");
                                        case 4:
                                            if (r = {},
                                            H() + O.a.cleanTrashAfter < Date.now() && (a = D.a.getters["data/syncDataByItemId"],
                                            D.a.getters["file/items"].forEach(function(e) {
                                                var t = a[e.id];
                                                t && "trash" === e.parentId && e.hash === t.hash && (r[e.id] = e.hash)
                                            })),
                                            n = P.a.setInterval(function() {
                                                return K()
                                            }, 1e3),
                                            K(),
                                            t.prev = 8,
                                            !j()) {
                                                t.next = 14;
                                                break
                                            }
                                            return t.next = 12,
                                            se();
                                        case 12:
                                            t.next = 17;
                                            break;
                                        case 14:
                                            if (!z()) {
                                                t.next = 17;
                                                break
                                            }
                                            return t.next = 17,
                                            ie(D.a.getters["file/current"].id);
                                        case 17:
                                            L()(r).forEach(function(e) {
                                                var t = S()(e, 2)
                                                  , n = t[0]
                                                  , r = t[1]
                                                  , a = D.a.state.file.itemsById[n];
                                                a && a.hash === r && F.a.deleteFile(n)
                                            }),
                                            e && $.a.addBadge("triggerSync");
                                        case 19:
                                            return t.prev = 19,
                                            clearInterval(n),
                                            t.finish(19);
                                        case 22:
                                        case "end":
                                            return t.stop()
                                        }
                                }, t, R, [[8, , 19, 22]])
                            }));
                            return function() {
                                return t.apply(this, arguments)
                            }
                        }(),
                        n = P.a.setInterval(function() {
                            return r()
                        }, 1e3),
                        t.abrupt("return", r());
                    case 4:
                    case "end":
                        return t.stop()
                    }
            }, t, R)
        })))
    };
    t.a = {
        init: function() {
            var e = this;
            return h()(v.a.mark(function t() {
                var n, r, a, i, o;
                return v.a.wrap(function(t) {
                    for (; ; )
                        switch (t.prev = t.next) {
                        case 0:
                            if (T.a.syncLocalStorage(),
                            !(q = M.a.providersById[P.a.queryParams.providerId]) || !q.initAction) {
                                t.next = 5;
                                break
                            }
                            return t.next = 5,
                            q.initAction();
                        case 5:
                            return W = M.a.providersById[P.a.queryParams.providerId],
                            W && W.initWorkspace || (W = N.a),
                            t.next = 9,
                            W.initWorkspace();
                        case 9:
                            return n = t.sent,
                            r = P.a.queryParams.paymentSuccess,
                            P.a.setQueryParams(W.getWorkspaceParams(n)),
                            D.a.dispatch("workspace/setCurrentWorkspaceId", n.id),
                            t.next = 15,
                            T.a.init();
                        case 15:
                            if (r && (D.a.dispatch("modal/open", "paymentSuccess").catch(function() {}),
                            a = D.a.getters["workspace/sponsorToken"],
                            i = Date.now(),
                            a && a.expiresOn > i - 33e4 && D.a.dispatch("data/addGoogleToken", C()({}, a, {
                                expiresOn: i - 33e4
                            }))),
                            !(q = M.a.providersById[P.a.queryParams.providerId] || q) || !q.performAction) {
                                t.next = 22;
                                break
                            }
                            return t.next = 20,
                            q.performAction();
                        case 20:
                            o = t.sent,
                            o && e.createSyncLocation(o);
                        case 22:
                            return t.next = 24,
                            U.a.init();
                        case 24:
                            D.a.state.light || (P.a.setInterval(function() {
                                V() && A.a.isUserActive() && Z() && Y() && ce()
                            }, 1e3),
                            P.a.setInterval(function() {
                                D.a.state.queue.isEmpty && T.a.unloadContents()
                            }, 5e3));
                        case 25:
                        case "end":
                            return t.stop()
                        }
                }, t, e)
            }))()
        },
        isSyncPossible: V,
        requestSync: ce,
        createSyncLocation: ee
    }
}
, , , , , , , , , , , , , function(e, t, n) {
    "use strict";
    var r = n(2109)
      , a = (n(2058),
    n(0))
      , i = {}
      , o = n.i(a.a)(i, r.a, r.b, !1, null, null, null);
    t.a = o.exports
}
, , function(e, t, n) {
    "use strict";
    function r(e) {
        return e.reduce(function(e, t) {
            return l()({}, e, c()({}, t, !0))
        }, {})
    }
    function a(e, t, n) {
        var r = [];
        return e.forEach(function(e) {
            var a = t[e];
            void 0 === a && (a = n.length,
            n.push(e),
            t[e] = a),
            r.push(a)
        }),
        String.fromCharCode.apply(null, r)
    }
    var i = n(20)
      , o = n.n(i)
      , s = n(39)
      , c = n.n(s)
      , u = n(3)
      , l = n.n(u)
      , d = n(91)
      , p = n.n(d)
      , f = n(15)
      , v = n.n(f)
      , m = n(19)
      , h = n.n(m)
      , g = n(112)
      , b = n.n(g)
      , _ = n(201)
      , w = n.n(_)
      , y = n(1836)
      , k = n.n(y)
      , x = n(409)
      , C = n(100)
      , I = n(4)
      , S = new b.a
      , E = {
        js: "javascript",
        json: "javascript",
        html: "markup",
        svg: "markup",
        xml: "markup",
        py: "python",
        rb: "ruby",
        yml: "yaml",
        ps1: "powershell",
        psm1: "powershell"
    };
    h()(E).forEach(function(e) {
        var t = v()(e, 2)
          , n = t[0]
          , r = t[1];
        w.a.languages[n] = w.a.languages[r]
    });
    var L = {};
    h()(w.a.languages).forEach(function(e) {
        var t = v()(e, 2)
          , n = t[0]
          , r = t[1];
        "Object" === w.a.util.type(r) && (L["language-" + n] = {
            pattern: new RegExp("(```|~~~)" + n + "\\W[\\s\\S]*"),
            inside: {
                "cl cl-pre": /(```|~~~).*/,
                rest: r
            }
        })
    });
    var T = p()(null);
    ["code", "pre", "pre gfm", "math block", "math inline", "math expr block", "math expr inline", "latex block"].forEach(function(e) {
        T[e] = !0
    }),
    w.a.hooks.add("wrap", function(e) {
        T[e.type] && (e.attributes.spellcheck = "false")
    });
    var D = r(["paragraph_open", "blockquote_open", "heading_open", "code", "fence", "table_open", "html_block", "bullet_list_open", "ordered_list_open", "hr", "dl_open"])
      , P = r(["bullet_list_open", "ordered_list_open"])
      , B = r(["blockquote_open"])
      , A = r(["table_open"])
      , M = r(["dl_open"]);
    t.a = {
        defaultOptions: null,
        defaultConverter: null,
        defaultPrismGrammars: null,
        init: function() {
            var e = {
                extensions: I.a.computedPresets.default
            };
            this.defaultOptions = l()({}, C.a.getOptions(e), {
                insideFences: L
            }),
            this.defaultConverter = this.createConverter(this.defaultOptions),
            this.defaultPrismGrammars = x.a.makeGrammars(this.defaultOptions)
        },
        createConverter: function(e) {
            var t = new k.a("zero");
            return t.core.ruler.enable([], !0),
            t.block.ruler.enable([], !0),
            t.inline.ruler.enable([], !0),
            C.a.initConverter(t, e),
            o()(D).forEach(function(e) {
                var n = t.renderer.rules[e] || t.renderer.renderToken;
                t.renderer.rules[e] = function(e, r, a, i, o) {
                    return e[r].sectionDelimiter ? "" + n.call(t.renderer, e, r, a, i, o) : n.call(t.renderer, e, r, a, i, o)
                }
            }),
            t
        },
        parseSections: function(e, t) {
            function n(e) {
                for (var t = {
                    text: "",
                    data: s
                }; c < e; c += 1)
                    t.text += i[c] + "\n";
                t && o.sections.push(t)
            }
            var r = new e.core.State(t,e,{})
              , a = e.core.ruler.getRules("");
            a[0](r),
            a[1](r);
            var i = t.split("\n");
            i[i.length - 1] || i.pop();
            var o = {
                text: t,
                sections: [],
                converter: e,
                markdownState: r,
                markdownCoreRules: a
            }
              , s = "main"
              , c = 0;
            return r.tokens.forEach(function(e, t) {
                0 === e.level && !0 === D[e.type] && (t > 0 && (e.sectionDelimiter = !0,
                n(e.map[0])),
                s = !0 === P[e.type] ? "list" : !0 === B[e.type] ? "blockquote" : !0 === A[e.type] ? "table" : !0 === M[e.type] ? "deflist" : "main")
            }),
            n(i.length),
            o
        },
        convert: function(e, t) {
            e.markdownState.isConverted || (e.markdownCoreRules.slice(2).forEach(function(t) {
                return t(e.markdownState)
            }),
            e.markdownState.isConverted = !0);
            var n = e.markdownState.tokens
              , r = e.converter.renderer.render(n, e.converter.options, e.markdownState.env)
              , i = r.split("");
            "" === i[0] && i.shift();
            var o = p()(null)
              , s = []
              , c = a(i, o, s)
              , u = void 0;
            if (t) {
                var l = a(t.htmlSectionList, o, s);
                u = S.diff_main(l, c, !1)
            } else
                u = [[1, c]];
            return {
                text: e.text,
                sectionList: e.sectionList,
                htmlSectionList: i,
                htmlSectionDiff: u
            }
        },
        highlight: function(e) {
            var t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : this.defaultConverter
              , n = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : this.defaultPrismGrammars;
            return this.parseSections(t, e).sections.map(function(e) {
                return w.a.highlight(e.text, n[e.data])
            }).join("")
        }
    }
}
, , , , , , , , , , , , , , , , , , , , , , , , , function(e, t, n) {
    "use strict";
    var r = n(39)
      , a = n.n(r)
      , i = n(172)
      , o = n.n(i)
      , s = n(19)
      , c = n.n(s)
      , u = n(15)
      , l = n.n(u)
      , d = n(20)
      , p = n.n(d)
      , f = n(3)
      , v = n.n(f)
      , m = n(6)
      , h = n.n(m)
      , g = n(33)
      , b = n.n(g)
      , _ = n(5)
      , w = n.n(_)
      , y = n(46)
      , k = n.n(y)
      , x = n(91)
      , C = n.n(x)
      , I = n(37)
      , S = n.n(I)
      , E = n(67)
      , L = n.n(E)
      , T = n(4)
      , D = n(2)
      , P = n(1899)
      , B = n.n(P)
      , A = n(36)
      , M = n(90)
      , N = 1
      , U = "objects"
      , F = T.a.queryParams.silent
      , O = localStorage.getItem("resetStackEdit");
    O && localStorage.removeItem("resetStackEdit");
    var $ = function() {
        function e() {
            var t = this
              , n = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : D.a.getters["workspace/currentWorkspace"].id;
            S()(this, e),
            this.getTxCbs = [],
            this.dbName = T.a.getDbName(n);
            var r = indexedDB.open(this.dbName, N);
            r.onerror = function() {
                throw new Error("Can't connect to IndexedDB.")
            }
            ,
            r.onsuccess = function(e) {
                t.db = e.target.result,
                t.db.onversionchange = function() {
                    return window.location.reload()
                }
                ,
                t.getTxCbs.forEach(function(e) {
                    var n = e.onTx
                      , r = e.onError;
                    return t.createTx(n, r)
                }),
                t.getTxCbs = null
            }
            ,
            r.onupgradeneeded = function(e) {
                var t = e.target.result;
                switch (e.oldVersion || 0) {
                case 0:
                    t.createObjectStore(U, {
                        keyPath: "id"
                    }).createIndex("tx", "tx", {
                        unique: !1
                    })
                }
            }
        }
        return L()(e, [{
            key: "createTx",
            value: function(e, t) {
                if (!this.db)
                    return this.getTxCbs.push({
                        onTx: e,
                        onError: t
                    });
                var n = this.db.transaction(this.db.objectStoreNames, "readwrite");
                return n.onerror = t,
                e(n)
            }
        }]),
        e
    }()
      , R = {
        content: !0,
        contentState: !0,
        syncedContent: !0
    }
      , q = {};
    M.a.types.forEach(function(e) {
        q[e] = C()(null)
    });
    var W = C()(null)
      , G = {
        lastTx: 0,
        hashMap: q,
        connection: null,
        syncLocalStorage: function() {
            M.a.localStorageDataIds.forEach(function(e) {
                var t = "data/" + e;
                if ("layoutSettings" !== e || !W[e])
                    try {
                        var n = JSON.parse(localStorage.getItem(t));
                        n.hash && W[e] !== n.hash && (D.a.commit("data/setItem", n),
                        W[e] = n.hash)
                    } catch (e) {}
                var r = D.a.state.data.lsItemsById[e];
                r && r.hash !== W[e] && (localStorage.setItem(t, k()(r)),
                W[e] = r.hash)
            })
        },
        sync: function() {
            var e = this;
            return w()(h.a.mark(function t() {
                return h.a.wrap(function(t) {
                    for (; ; )
                        switch (t.prev = t.next) {
                        case 0:
                            return t.abrupt("return", new b.a(function(t, n) {
                                e.connection.createTx(function(n) {
                                    var r = e.lastTx;
                                    e.readAll(n, function(a) {
                                        r !== e.lastTx && A.a.sanitizeWorkspace(),
                                        e.writeAll(a, n),
                                        e.syncLocalStorage(),
                                        t()
                                    })
                                }, function() {
                                    return n(new Error("Local DB access error."))
                                })
                            }
                            ));
                        case 1:
                        case "end":
                            return t.stop()
                        }
                }, t, e)
            }))()
        },
        readAll: function(e, t) {
            var n = this
              , r = this.lastTx
              , a = e.objectStore(U)
              , i = a.index("tx")
              , o = IDBKeyRange.lowerBound(this.lastTx, !0)
              , s = [];
            i.openCursor(o).onsuccess = function(e) {
                var i = e.target.result;
                if (i) {
                    var o = i.value;
                    return o.tx > r && (r = o.tx,
                    n.lastTx && o.tx - n.lastTx > 1e3) ? void window.location.reload() : (s.push(o),
                    void i.continue())
                }
                var c = v()({}, D.a.getters.allItemsById);
                s.forEach(function(e) {
                    n.readDbItem(e, c),
                    !e.hash && r - e.tx > 1e3 && a.delete(e.id)
                }),
                n.lastTx = r,
                t(c)
            }
        },
        writeAll: function(e, t) {
            var n = this;
            if (!F) {
                var r = t.objectStore(U)
                  , a = this.lastTx + 1;
                p()(this.hashMap).forEach(function(t) {
                    var i = function(t) {
                        return function(n) {
                            return !e[n] && t(n)
                        }
                    };
                    R[t] && (i = function(t) {
                        return function(n) {
                            if (!e[n]) {
                                var r = n.split("/")
                                  , a = l()(r, 1)
                                  , i = a[0];
                                D.a.state.file.itemsById[i] || t(n)
                            }
                        }
                    }
                    ),
                    p()(n.hashMap[t]).forEach(i(function(e) {
                        r.put({
                            id: e,
                            type: t,
                            tx: a
                        }),
                        delete n.hashMap[t][e],
                        n.lastTx = a
                    }))
                }),
                c()(e).forEach(function(e) {
                    var t = l()(e, 2)
                      , i = t[1];
                    if (n.hashMap[i.type][i.id] !== i.hash) {
                        var o = v()({}, i, {
                            tx: a
                        });
                        r.put(o),
                        n.hashMap[o.type][o.id] = o.hash,
                        n.lastTx = a
                    }
                })
            }
        },
        readDbItem: function(e, t) {
            var n = t[e.id];
            e.hash ? this.hashMap[e.type][e.id] !== e.hash && (this.hashMap[e.type][e.id] = e.hash,
            !n && R[e.type] || (e.tx = void 0,
            D.a.commit(e.type + "/setItem", e),
            t[e.id] = e)) : (delete this.hashMap[e.type][e.id],
            n && (D.a.commit(n.type + "/deleteItem", n.id),
            delete t[n.id]))
        },
        loadItem: function(e) {
            var t = this;
            return w()(h.a.mark(function n() {
                var r;
                return h.a.wrap(function(n) {
                    for (; ; )
                        switch (n.prev = n.next) {
                        case 0:
                            if (!(r = D.a.getters.allItemsById[e])) {
                                n.next = 3;
                                break
                            }
                            return n.abrupt("return", b.a.resolve(r));
                        case 3:
                            return n.abrupt("return", new b.a(function(n, r) {
                                var a = function() {
                                    return r(new Error("Data not available."))
                                };
                                t.connection.createTx(function(r) {
                                    var i = r.objectStore(U)
                                      , o = i.get(e);
                                    o.onsuccess = function() {
                                        var e = o.result;
                                        e && e.hash ? (t.hashMap[e.type][e.id] = e.hash,
                                        e.tx = void 0,
                                        D.a.commit(e.type + "/setItem", e),
                                        n(e)) : a()
                                    }
                                }, function() {
                                    return a()
                                })
                            }
                            ));
                        case 4:
                        case "end":
                            return n.stop()
                        }
                }, n, t)
            }))()
        },
        unloadContents: function() {
            var e = this;
            return w()(h.a.mark(function t() {
                var n;
                return h.a.wrap(function(t) {
                    for (; ; )
                        switch (t.prev = t.next) {
                        case 0:
                            return t.next = 2,
                            e.sync();
                        case 2:
                            n = new o.a(D.a.getters["data/lastOpenedIds"]),
                            p()(R).forEach(function(e) {
                                D.a.getters[e + "/items"].forEach(function(t) {
                                    var r = t.id.split("/")
                                      , a = l()(r, 1)
                                      , i = a[0];
                                    n.has(i) || D.a.commit(e + "/deleteItem", t.id)
                                })
                            });
                        case 4:
                        case "end":
                            return t.stop()
                        }
                }, t, e)
            }))()
        },
        init: function() {
            var e = this;
            return w()(h.a.mark(function t() {
                var n, r;
                return h.a.wrap(function(t) {
                    for (; ; )
                        switch (t.prev = t.next) {
                        case 0:
                            if (!O) {
                                t.next = 5;
                                break
                            }
                            return t.next = 3,
                            b.a.all(p()(D.a.getters["workspace/workspacesById"]).map(function(e) {
                                return A.a.removeWorkspace(e)
                            }));
                        case 3:
                            throw M.a.localStorageDataIds.forEach(function(e) {
                                localStorage.removeItem("data/" + e)
                            }),
                            new Error("RELOAD");
                        case 5:
                            return e.connection = new $,
                            t.next = 8,
                            G.sync();
                        case 8:
                            D.a.watch(function() {
                                return D.a.getters["data/workspaces"]
                            }, function() {
                                return e.syncLocalStorage()
                            }),
                            n = T.a.hash(B.a),
                            r = D.a.getters["data/localSettings"].welcomeFileHashes,
                            r[n] || D.a.dispatch("data/patchLocalSettings", {
                                welcomeFileHashes: v()({}, r, a()({}, n, 1))
                            }),
                            !D.a.getters["workspace/syncToken"] && D.a.state.workspace.lastFocus + M.a.cleanTrashAfter < Date.now() && D.a.getters["file/items"].filter(function(e) {
                                return "trash" === e.parentId
                            }).forEach(function(e) {
                                return A.a.deleteFile(e.id)
                            }),
                            T.a.setInterval(function() {
                                return G.sync()
                            }, 1e3),
                            D.a.watch(function() {
                                return D.a.getters["file/current"].id
                            }, w()(h.a.mark(function t() {
                                var n, r, a, i;
                                return h.a.wrap(function(e) {
                                    for (; ; )
                                        switch (e.prev = e.next) {
                                        case 0:
                                            if (n = D.a.getters["file/current"],
                                            n.id) {
                                                e.next = 13;
                                                break
                                            }
                                            if (r = D.a.getters["file/lastOpened"],
                                            !r.id) {
                                                e.next = 7;
                                                break
                                            }
                                            D.a.commit("file/setCurrentId", r.id),
                                            e.next = 11;
                                            break;
                                        case 7:
                                            return e.next = 9,
                                            A.a.createFile({
                                                name: "Welcome file",
                                                text: B.a
                                            }, !0);
                                        case 9:
                                            a = e.sent,
                                            D.a.commit("file/setCurrentId", a.id);
                                        case 11:
                                            e.next = 36;
                                            break;
                                        case 13:
                                            return e.prev = 13,
                                            e.next = 16,
                                            G.loadContentState(n.id);
                                        case 16:
                                            return e.next = 18,
                                            G.loadSyncedContent(n.id);
                                        case 18:
                                            return e.prev = 18,
                                            e.next = 21,
                                            G.loadItem(n.id + "/content");
                                        case 21:
                                            e.next = 28;
                                            break;
                                        case 23:
                                            throw e.prev = 23,
                                            e.t0 = e.catch(18),
                                            i = D.a.getters["file/lastOpened"],
                                            D.a.commit("file/setCurrentId", i.id),
                                            e.t0;
                                        case 28:
                                            D.a.dispatch("data/setLastOpenedId", n.id),
                                            D.a.commit("discussion/setCurrentDiscussionId", D.a.getters["discussion/nextDiscussionId"]),
                                            e.next = 36;
                                            break;
                                        case 32:
                                            e.prev = 32,
                                            e.t1 = e.catch(13),
                                            console.error(e.t1),
                                            D.a.dispatch("notification/error", e.t1);
                                        case 36:
                                        case "end":
                                            return e.stop()
                                        }
                                }, t, e, [[13, 32], [18, 23]])
                            })), {
                                immediate: !0
                            });
                        case 15:
                        case "end":
                            return t.stop()
                        }
                }, t, e)
            }))()
        },
        getWorkspaceItems: function(e, t) {
            var n = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : function() {}
              , r = new $(e);
            return r.createTx(function(e) {
                e.objectStore(U).index("tx").openCursor().onsuccess = function(e) {
                    var a = e.target.result;
                    a ? (t(a.value),
                    a.continue()) : (r.db.close(),
                    n())
                }
            }),
            function() {
                return r.db.close()
            }
        }
    }
      , H = function(e) {
        return function(t) {
            return G.loadItem(t + "/" + e).catch(function() {
                return D.a.commit(e + "/setItem", {
                    id: t + "/" + e
                })
            })
        }
    };
    G.loadSyncedContent = H("syncedContent"),
    G.loadContentState = H("contentState"),
    t.a = G
}
, , , function(e, t, n) {
    "use strict";
    var r = n(39)
      , a = n.n(r)
      , i = n(6)
      , o = n.n(i)
      , s = n(5)
      , c = n.n(s)
      , u = n(3)
      , l = n.n(u)
      , d = n(4)
      , p = n(56)
      , f = n(2)
      , v = n(45)
      , m = n(12)
      , h = this
      , g = function(e) {
        return [e.repoFullAccess ? "repo" : "public_repo", "gist"]
    }
      , b = function(e, t) {
        return p.a.request(l()({}, t, {
            headers: l()({}, t.headers || {}, {
                Authorization: "token " + e.accessToken
            }),
            params: l()({}, t.params || {}, {
                t: Date.now()
            })
        }))
    }
      , _ = function(e, t, n, r) {
        return b(e, l()({}, r, {
            url: "https://api.github.com/repos/" + encodeURIComponent(t) + "/" + encodeURIComponent(n) + "/" + r.url
        })).then(function(e) {
            return e.body
        })
    }
      , w = function(e, t) {
        return f.a.getters["data/computedSettings"].git[e].replace(/{{path}}/g, t)
    };
    v.a.setInfoResolver("github", "gh", function() {
        var e = c()(o.a.mark(function e(t) {
            var n;
            return o.a.wrap(function(e) {
                for (; ; )
                    switch (e.prev = e.next) {
                    case 0:
                        return e.prev = 0,
                        e.next = 3,
                        p.a.request({
                            url: "https://api.github.com/user/" + t,
                            params: {
                                t: Date.now()
                            }
                        });
                    case 3:
                        return n = e.sent.body,
                        e.abrupt("return", {
                            id: "gh:" + n.id,
                            name: n.login,
                            imageUrl: n.avatar_url || ""
                        });
                    case 7:
                        if (e.prev = 7,
                        e.t0 = e.catch(0),
                        404 === e.t0.status) {
                            e.next = 11;
                            break
                        }
                        throw new Error("RETRY");
                    case 11:
                        throw e.t0;
                    case 12:
                    case "end":
                        return e.stop()
                    }
            }, e, h, [[0, 7]])
        }));
        return function(t) {
            return e.apply(this, arguments)
        }
    }()),
    t.a = {
        subPrefix: "gh",
        startOauth2: function(e) {
            var t = this
              , n = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : null
              , r = arguments.length > 2 && void 0 !== arguments[2] && arguments[2];
            return c()(o.a.mark(function a() {
                var i, s, c, u, l, d;
                return o.a.wrap(function(t) {
                    for (; ; )
                        switch (t.prev = t.next) {
                        case 0:
                            return i = f.a.getters["data/serverConf"].githubClientId,
                            t.next = 3,
                            p.a.startOauth2("https://github.com/login/oauth/authorize", {
                                client_id: i,
                                scope: e.join(" ")
                            }, r);
                        case 3:
                            return s = t.sent,
                            c = s.code,
                            t.next = 7,
                            p.a.request({
                                method: "GET",
                                url: "oauth2/githubToken",
                                params: {
                                    clientId: i,
                                    code: c
                                }
                            });
                        case 7:
                            return u = t.sent.body,
                            t.next = 10,
                            p.a.request({
                                method: "GET",
                                url: "https://api.github.com/user",
                                params: {
                                    access_token: u
                                }
                            });
                        case 10:
                            if (l = t.sent.body,
                            v.a.addUserInfo({
                                id: "gh:" + l.id,
                                name: l.login,
                                imageUrl: l.avatar_url || ""
                            }),
                            !n || "" + l.id === n) {
                                t.next = 14;
                                break
                            }
                            throw new Error("GitHub account ID not expected.");
                        case 14:
                            return d = {
                                scopes: e,
                                accessToken: u,
                                name: l.login,
                                sub: "" + l.id,
                                repoFullAccess: e.includes("repo")
                            },
                            f.a.dispatch("data/addGithubToken", d),
                            t.abrupt("return", d);
                        case 17:
                        case "end":
                            return t.stop()
                        }
                }, a, t)
            }))()
        },
        addAccount: function() {
            var e = this
              , t = arguments.length > 0 && void 0 !== arguments[0] && arguments[0];
            return c()(o.a.mark(function n() {
                var r;
                return o.a.wrap(function(n) {
                    for (; ; )
                        switch (n.prev = n.next) {
                        case 0:
                            return n.next = 2,
                            e.startOauth2(g({
                                repoFullAccess: t
                            }));
                        case 2:
                            return r = n.sent,
                            m.a.addBadge("addGitHubAccount"),
                            n.abrupt("return", r);
                        case 5:
                        case "end":
                            return n.stop()
                        }
                }, n, e)
            }))()
        },
        getTree: function(e) {
            var t = this
              , n = e.token
              , r = e.owner
              , a = e.repo
              , i = e.branch;
            return c()(o.a.mark(function e() {
                var s, c, u, l, d;
                return o.a.wrap(function(e) {
                    for (; ; )
                        switch (e.prev = e.next) {
                        case 0:
                            return e.next = 2,
                            _(n, r, a, {
                                url: "commits/" + encodeURIComponent(i)
                            });
                        case 2:
                            return s = e.sent,
                            c = s.commit,
                            e.next = 6,
                            _(n, r, a, {
                                url: "git/trees/" + encodeURIComponent(c.tree.sha) + "?recursive=1"
                            });
                        case 6:
                            if (u = e.sent,
                            l = u.tree,
                            !(d = u.truncated)) {
                                e.next = 11;
                                break
                            }
                            throw new Error("Git tree too big. Please remove some files in the repository.");
                        case 11:
                            return e.abrupt("return", l);
                        case 12:
                        case "end":
                            return e.stop()
                        }
                }, e, t)
            }))()
        },
        getCommits: function(e) {
            var t = this
              , n = e.token
              , r = e.owner
              , a = e.repo
              , i = e.sha
              , s = e.path;
            return c()(o.a.mark(function e() {
                return o.a.wrap(function(e) {
                    for (; ; )
                        switch (e.prev = e.next) {
                        case 0:
                            return e.abrupt("return", _(n, r, a, {
                                url: "commits",
                                params: {
                                    sha: i,
                                    path: s
                                }
                            }));
                        case 1:
                        case "end":
                            return e.stop()
                        }
                }, e, t)
            }))()
        },
        uploadFile: function(e) {
            var t = this
              , n = e.token
              , r = e.owner
              , a = e.repo
              , i = e.branch
              , s = e.path
              , u = e.content
              , l = e.sha;
            return c()(o.a.mark(function e() {
                return o.a.wrap(function(e) {
                    for (; ; )
                        switch (e.prev = e.next) {
                        case 0:
                            return e.abrupt("return", _(n, r, a, {
                                method: "PUT",
                                url: "contents/" + encodeURIComponent(s),
                                body: {
                                    message: w(l ? "updateFileMessage" : "createFileMessage", s),
                                    content: d.a.encodeBase64(u),
                                    sha: l,
                                    branch: i
                                }
                            }));
                        case 1:
                        case "end":
                            return e.stop()
                        }
                }, e, t)
            }))()
        },
        removeFile: function(e) {
            var t = this
              , n = e.token
              , r = e.owner
              , a = e.repo
              , i = e.branch
              , s = e.path
              , u = e.sha;
            return c()(o.a.mark(function e() {
                return o.a.wrap(function(e) {
                    for (; ; )
                        switch (e.prev = e.next) {
                        case 0:
                            return e.abrupt("return", _(n, r, a, {
                                method: "DELETE",
                                url: "contents/" + encodeURIComponent(s),
                                body: {
                                    message: w("deleteFileMessage", s),
                                    sha: u,
                                    branch: i
                                }
                            }));
                        case 1:
                        case "end":
                            return e.stop()
                        }
                }, e, t)
            }))()
        },
        downloadFile: function(e) {
            var t = this
              , n = e.token
              , r = e.owner
              , a = e.repo
              , i = e.branch
              , s = e.path;
            return c()(o.a.mark(function e() {
                var c, u, l;
                return o.a.wrap(function(e) {
                    for (; ; )
                        switch (e.prev = e.next) {
                        case 0:
                            return e.next = 2,
                            _(n, r, a, {
                                url: "contents/" + encodeURIComponent(s),
                                params: {
                                    ref: i
                                }
                            });
                        case 2:
                            return c = e.sent,
                            u = c.sha,
                            l = c.content,
                            e.abrupt("return", {
                                sha: u,
                                data: d.a.decodeBase64(l)
                            });
                        case 6:
                        case "end":
                            return e.stop()
                        }
                }, e, t)
            }))()
        },
        uploadGist: function(e) {
            var t = this
              , n = e.token
              , r = e.description
              , i = e.filename
              , s = e.content
              , u = e.isPublic
              , l = e.gistId;
            return c()(o.a.mark(function e() {
                var c, d;
                return o.a.wrap(function(e) {
                    for (; ; )
                        switch (e.prev = e.next) {
                        case 0:
                            return e.next = 2,
                            b(n, l ? {
                                method: "PATCH",
                                url: "https://api.github.com/gists/" + l,
                                body: {
                                    description: r,
                                    files: a()({}, i, {
                                        content: s
                                    })
                                }
                            } : {
                                method: "POST",
                                url: "https://api.github.com/gists",
                                body: {
                                    description: r,
                                    files: a()({}, i, {
                                        content: s
                                    }),
                                    public: u
                                }
                            });
                        case 2:
                            return c = e.sent,
                            d = c.body,
                            e.abrupt("return", d);
                        case 5:
                        case "end":
                            return e.stop()
                        }
                }, e, t)
            }))()
        },
        downloadGist: function(e) {
            var t = this
              , n = e.token
              , r = e.gistId
              , a = e.filename;
            return c()(o.a.mark(function e() {
                var i;
                return o.a.wrap(function(e) {
                    for (; ; )
                        switch (e.prev = e.next) {
                        case 0:
                            return e.next = 2,
                            b(n, {
                                url: "https://api.github.com/gists/" + r
                            });
                        case 2:
                            if (e.t0 = a,
                            i = e.sent.body.files[e.t0]) {
                                e.next = 6;
                                break
                            }
                            throw new Error("Gist file not found.");
                        case 6:
                            return e.abrupt("return", i.content);
                        case 7:
                        case "end":
                            return e.stop()
                        }
                }, e, t)
            }))()
        },
        getGistCommits: function(e) {
            var t = this
              , n = e.token
              , r = e.gistId;
            return c()(o.a.mark(function e() {
                var a, i;
                return o.a.wrap(function(e) {
                    for (; ; )
                        switch (e.prev = e.next) {
                        case 0:
                            return e.next = 2,
                            b(n, {
                                url: "https://api.github.com/gists/" + r + "/commits"
                            });
                        case 2:
                            return a = e.sent,
                            i = a.body,
                            e.abrupt("return", i);
                        case 5:
                        case "end":
                            return e.stop()
                        }
                }, e, t)
            }))()
        },
        downloadGistRevision: function(e) {
            var t = this
              , n = e.token
              , r = e.gistId
              , a = e.filename
              , i = e.sha;
            return c()(o.a.mark(function e() {
                var s;
                return o.a.wrap(function(e) {
                    for (; ; )
                        switch (e.prev = e.next) {
                        case 0:
                            return e.next = 2,
                            b(n, {
                                url: "https://api.github.com/gists/" + r + "/" + i
                            });
                        case 2:
                            if (e.t0 = a,
                            s = e.sent.body.files[e.t0]) {
                                e.next = 6;
                                break
                            }
                            throw new Error("Gist file not found.");
                        case 6:
                            return e.abrupt("return", s.content);
                        case 7:
                        case "end":
                            return e.stop()
                        }
                }, e, t)
            }))()
        }
    }
}
, function(e, t, n) {
    "use strict";
    var r = n(6)
      , a = n.n(r)
      , i = n(15)
      , o = n.n(i)
      , s = n(5)
      , c = n.n(s)
      , u = n(3)
      , l = n.n(u)
      , d = n(4)
      , p = n(56)
      , f = n(2)
      , v = n(45)
      , m = n(12)
      , h = this
      , g = function(e, t) {
        var n = e.accessToken
          , r = e.serverUrl;
        return p.a.request(l()({}, t, {
            url: r + "/api/v4/" + t.url,
            headers: l()({}, t.headers || {}, {
                Authorization: "Bearer " + n
            })
        })).then(function(e) {
            return e.body
        })
    }
      , b = function(e, t) {
        return f.a.getters["data/computedSettings"].git[e].replace(/{{path}}/g, t)
    };
    v.a.setInfoResolver("gitlab", "gl", function() {
        var e = c()(a.a.mark(function e(t) {
            var n, r, i, s, c, u;
            return a.a.wrap(function(e) {
                for (; ; )
                    switch (e.prev = e.next) {
                    case 0:
                        return e.prev = 0,
                        n = t.match(/^(.+)\/([^/]+)$/),
                        r = o()(n, 3),
                        i = r[1],
                        s = r[2],
                        e.next = 4,
                        p.a.request({
                            url: i + "/api/v4/users/" + s
                        });
                    case 4:
                        return c = e.sent.body,
                        u = i + "/" + c.id,
                        e.abrupt("return", {
                            id: "gl:" + u,
                            name: c.username,
                            imageUrl: c.avatar_url || ""
                        });
                    case 9:
                        if (e.prev = 9,
                        e.t0 = e.catch(0),
                        404 === e.t0.status) {
                            e.next = 13;
                            break
                        }
                        throw new Error("RETRY");
                    case 13:
                        throw e.t0;
                    case 14:
                    case "end":
                        return e.stop()
                    }
            }, e, h, [[0, 9]])
        }));
        return function(t) {
            return e.apply(this, arguments)
        }
    }()),
    t.a = {
        subPrefix: "gl",
        startOauth2: function(e, t) {
            var n = this
              , r = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : null
              , i = arguments.length > 3 && void 0 !== arguments[3] && arguments[3];
            return c()(a.a.mark(function o() {
                var s, c, u, l, d;
                return a.a.wrap(function(n) {
                    for (; ; )
                        switch (n.prev = n.next) {
                        case 0:
                            return n.next = 2,
                            p.a.startOauth2(e + "/oauth/authorize", {
                                client_id: t,
                                response_type: "token",
                                scope: "api"
                            }, i);
                        case 2:
                            return s = n.sent,
                            c = s.accessToken,
                            n.next = 6,
                            g({
                                accessToken: c,
                                serverUrl: e
                            }, {
                                url: "user"
                            });
                        case 6:
                            if (u = n.sent,
                            l = e + "/" + u.id,
                            v.a.addUserInfo({
                                id: "gl:" + l,
                                name: u.username,
                                imageUrl: u.avatar_url || ""
                            }),
                            !r || l === r) {
                                n.next = 11;
                                break
                            }
                            throw new Error("GitLab account ID not expected.");
                        case 11:
                            return d = {
                                accessToken: c,
                                name: u.username,
                                serverUrl: e,
                                sub: l
                            },
                            f.a.dispatch("data/addGitlabToken", d),
                            n.abrupt("return", d);
                        case 14:
                        case "end":
                            return n.stop()
                        }
                }, o, n)
            }))()
        },
        addAccount: function(e, t) {
            var n = this
              , r = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : null;
            return c()(a.a.mark(function i() {
                var o;
                return a.a.wrap(function(a) {
                    for (; ; )
                        switch (a.prev = a.next) {
                        case 0:
                            return a.next = 2,
                            n.startOauth2(e, t, r);
                        case 2:
                            return o = a.sent,
                            m.a.addBadge("addGitLabAccount"),
                            a.abrupt("return", o);
                        case 5:
                        case "end":
                            return a.stop()
                        }
                }, i, n)
            }))()
        },
        getProjectId: function(e, t) {
            var n = this
              , r = t.projectPath
              , i = t.projectId;
            return c()(a.a.mark(function t() {
                var o;
                return a.a.wrap(function(t) {
                    for (; ; )
                        switch (t.prev = t.next) {
                        case 0:
                            if (!i) {
                                t.next = 2;
                                break
                            }
                            return t.abrupt("return", i);
                        case 2:
                            return t.next = 4,
                            g(e, {
                                url: "projects/" + encodeURIComponent(r)
                            });
                        case 4:
                            return o = t.sent,
                            t.abrupt("return", o.id);
                        case 6:
                        case "end":
                            return t.stop()
                        }
                }, t, n)
            }))()
        },
        getTree: function(e) {
            var t = this
              , n = e.token
              , r = e.projectId
              , i = e.branch;
            return c()(a.a.mark(function e() {
                return a.a.wrap(function(e) {
                    for (; ; )
                        switch (e.prev = e.next) {
                        case 0:
                            return e.abrupt("return", g(n, {
                                url: "projects/" + encodeURIComponent(r) + "/repository/tree",
                                params: {
                                    ref: i,
                                    recursive: !0,
                                    per_page: 9999
                                }
                            }));
                        case 1:
                        case "end":
                            return e.stop()
                        }
                }, e, t)
            }))()
        },
        getCommits: function(e) {
            var t = this
              , n = e.token
              , r = e.projectId
              , i = e.branch
              , o = e.path;
            return c()(a.a.mark(function e() {
                return a.a.wrap(function(e) {
                    for (; ; )
                        switch (e.prev = e.next) {
                        case 0:
                            return e.abrupt("return", g(n, {
                                url: "projects/" + encodeURIComponent(r) + "/repository/commits",
                                params: {
                                    ref_name: i,
                                    path: o
                                }
                            }));
                        case 1:
                        case "end":
                            return e.stop()
                        }
                }, e, t)
            }))()
        },
        uploadFile: function(e) {
            var t = this
              , n = e.token
              , r = e.projectId
              , i = e.branch
              , o = e.path
              , s = e.content
              , u = e.sha;
            return c()(a.a.mark(function e() {
                return a.a.wrap(function(e) {
                    for (; ; )
                        switch (e.prev = e.next) {
                        case 0:
                            return e.abrupt("return", g(n, {
                                method: u ? "PUT" : "POST",
                                url: "projects/" + encodeURIComponent(r) + "/repository/files/" + encodeURIComponent(o),
                                body: {
                                    commit_message: b(u ? "updateFileMessage" : "createFileMessage", o),
                                    content: s,
                                    last_commit_id: u,
                                    branch: i
                                }
                            }));
                        case 1:
                        case "end":
                            return e.stop()
                        }
                }, e, t)
            }))()
        },
        removeFile: function(e) {
            var t = this
              , n = e.token
              , r = e.projectId
              , i = e.branch
              , o = e.path
              , s = e.sha;
            return c()(a.a.mark(function e() {
                return a.a.wrap(function(e) {
                    for (; ; )
                        switch (e.prev = e.next) {
                        case 0:
                            return e.abrupt("return", g(n, {
                                method: "DELETE",
                                url: "projects/" + encodeURIComponent(r) + "/repository/files/" + encodeURIComponent(o),
                                body: {
                                    commit_message: b("deleteFileMessage", o),
                                    last_commit_id: s,
                                    branch: i
                                }
                            }));
                        case 1:
                        case "end":
                            return e.stop()
                        }
                }, e, t)
            }))()
        },
        downloadFile: function(e) {
            var t = this
              , n = e.token
              , r = e.projectId
              , i = e.branch
              , o = e.path;
            return c()(a.a.mark(function e() {
                var s;
                return a.a.wrap(function(e) {
                    for (; ; )
                        switch (e.prev = e.next) {
                        case 0:
                            return e.next = 2,
                            g(n, {
                                url: "projects/" + encodeURIComponent(r) + "/repository/files/" + encodeURIComponent(o),
                                params: {
                                    ref: i
                                }
                            });
                        case 2:
                            return s = e.sent,
                            e.abrupt("return", {
                                sha: s.last_commit_id,
                                data: d.a.decodeBase64(s.content)
                            });
                        case 4:
                        case "end":
                            return e.stop()
                        }
                }, e, t)
            }))()
        }
    }
}
, function(e, t, n) {
    "use strict";
    var r = n(66)
      , a = n.n(r)
      , i = n(92)
      , o = n.n(i)
      , s = n(55)
      , c = n(4);
    t.a = function(e) {
        var t = arguments.length > 1 && void 0 !== arguments[1] && arguments[1]
          , n = t ? Date.now : function(e) {
            return c.a.getItemHash(e)
        }
        ;
        return {
            namespaced: !0,
            state: {
                itemsById: {}
            },
            getters: {
                items: function(e) {
                    var t = e.itemsById;
                    return o()(t)
                }
            },
            mutations: {
                setItem: function(r, i) {
                    var o = a()(e(i.id), i);
                    o.hash && t || (o.hash = n(o)),
                    s.a.set(r.itemsById, o.id, o)
                },
                patchItem: function(e, t) {
                    var r = e.itemsById[t.id];
                    return !!r && (a()(r, t),
                    r.hash = n(r),
                    s.a.set(e.itemsById, r.id, r),
                    !0)
                },
                deleteItem: function(e, t) {
                    s.a.delete(e.itemsById, t)
                }
            },
            actions: {}
        }
    }
}
, , , , , , , , , , , , , , , , , , , , , , , , function(e, t, n) {
    "use strict";
    function r(e, t) {
        var n = t ? h : m;
        g.setAttribute("href", e);
        var r = g.href;
        return "" === r || r.match(n) ? e : "unsafe:" + r
    }
    function a(e, t) {
        var n, r = {}, a = e.split(",");
        for (n = 0; n < a.length; n++)
            r[t ? a[n].toLowerCase() : a[n]] = !0;
        return r
    }
    function i(e, t) {
        function n(e, n, a, i) {
            if (n = n && n.toLowerCase(),
            B[n])
                for (; u.last() && A[u.last()]; )
                    r("", u.last());
            P[n] && u.last() == n && r("", n),
            (i = L[n] || !!i) || u.push(n);
            var s = {};
            a.replace(w, function(e, t, n, r, a) {
                var i = n || r || a || "";
                s[t] = o(i)
            }),
            t.start && t.start(n, s, i)
        }
        function r(e, n) {
            var r, a = 0;
            if (n = n && n.toLowerCase())
                for (a = u.length - 1; a >= 0 && u[a] != n; a--)
                    ;
            if (a >= 0) {
                for (r = u.length - 1; r >= a; r--)
                    t.end && t.end(u[r]);
                u.length = a
            }
        }
        "string" != typeof e && (e = null === e || void 0 === e ? "" : "" + e);
        var a, i, s, c, u = [], d = e;
        for (u.last = function() {
            return u[u.length - 1]
        }
        ; e; ) {
            if (c = "",
            i = !0,
            u.last() && N[u.last()] ? (e = e.replace(new RegExp("([\\W\\w]*)<\\s*\\/\\s*" + u.last() + "[^>]*>","i"), function(e, n) {
                return n = n.replace(x, "$1").replace(I, "$1"),
                t.chars && t.chars(o(n)),
                ""
            }),
            r("", u.last())) : (0 === e.indexOf("\x3c!--") ? (a = e.indexOf("--", 4)) >= 0 && e.lastIndexOf("--\x3e", a) === a && (t.comment && t.comment(e.substring(4, a)),
            e = e.substring(a + 3),
            i = !1) : C.test(e) ? (s = e.match(C)) && (e = e.replace(s[0], ""),
            i = !1) : k.test(e) ? (s = e.match(_)) && (e = e.substring(s[0].length),
            s[0].replace(_, r),
            i = !1) : y.test(e) && (s = e.match(b),
            s ? (s[4] && (e = e.substring(s[0].length),
            s[0].replace(b, n)),
            i = !1) : (c += "<",
            e = e.substring(1))),
            i && (a = e.indexOf("<"),
            c += a < 0 ? e : e.substring(0, a),
            e = a < 0 ? "" : e.substring(a),
            t.chars && t.chars(o(c)))),
            e == d)
                return u.reverse(),
                u.cl_each(function(e) {
                    l.push("</"),
                    l.push(e),
                    l.push(">")
                });
            d = e
        }
        r()
    }
    function o(e) {
        return e ? (q.innerHTML = e.replace(/</g, "&lt;"),
        q.textContent) : ""
    }
    function s(e) {
        return e.replace(/&/g, "&amp;").replace(S, function(e) {
            return "&#" + (1024 * (e.charCodeAt(0) - 55296) + (e.charCodeAt(1) - 56320) + 65536) + ";"
        }).replace(E, function(e) {
            return "&#" + e.charCodeAt(0) + ";"
        }).replace(/</g, "&lt;").replace(/>/g, "&gt;")
    }
    function c(e, t) {
        var n = !1
          , r = e.push.bind(e);
        return {
            start: function(e, a, i) {
                e = e && e.toLowerCase(),
                !n && N[e] && (n = e),
                n || !0 !== U[e] || (r("<"),
                r(e),
                p()(a).forEach(function(n) {
                    var i = a[n]
                      , o = n && n.toLowerCase()
                      , c = "img" === e && "src" === o || "background" === o;
                    !0 !== R[o] || !0 === F[o] && !t(i, c) || (r(" "),
                    r(n),
                    r('="'),
                    r(s(i)),
                    r('"'))
                }),
                r(i ? "/>" : ">"))
            },
            end: function(e) {
                e = e && e.toLowerCase(),
                n || !0 !== U[e] || (r("</"),
                r(e),
                r(">")),
                e == n && (n = !1)
            },
            chars: function(e) {
                n || r(s(e))
            },
            comment: function(e) {
                n || (r("\x3c!--"),
                r(s(e)),
                r("--\x3e"))
            }
        }
    }
    function u(e) {
        return l = [],
        i(e, c(l, function(e, t) {
            return !/^unsafe/.test(r(e, t))
        })),
        l.join("")
    }
    var l, d = n(20), p = n.n(d), f = n(3), v = n.n(f), m = /^\s*(https?|ftp|mailto|tel|file):/, h = /^\s*((https?|ftp|file|blob):|data:image\/)/, g = window.document.createElement("a"), b = /^<((?:[a-zA-Z])[\w:-]*)((?:\s+[\w:-]+(?:\s*=\s*(?:(?:"[^"]*")|(?:'[^']*')|[^>\s]+))?)*)\s*(\/?)\s*(>?)/, _ = /^<\/\s*([\w:-]+)[^>]*>/, w = /([\w:-]+)(?:\s*=\s*(?:(?:"((?:[^"])*)")|(?:'((?:[^'])*)')|([^>\s]+)))?/g, y = /^</, k = /^<\//, x = /<!--(.*?)-->/g, C = /<!DOCTYPE([^>]*?)>/i, I = /<!\[CDATA\[(.*?)]]>/g, S = /[\uD800-\uDBFF][\uDC00-\uDFFF]/g, E = /([^\#-~| |!])/g, L = a("area,br,col,hr,img,wbr"), T = a("colgroup,dd,dt,li,p,tbody,td,tfoot,th,thead,tr"), D = a("rp,rt"), P = v()({}, D, T), B = v()({}, T, a("address,article,aside,blockquote,caption,center,del,dir,div,dl,figure,figcaption,footer,h1,h2,h3,h4,h5,h6,header,hgroup,hr,ins,map,menu,nav,ol,pre,script,section,table,ul"));
    B.iframe = !0;
    var A = v()({}, D, a("a,abbr,acronym,b,bdi,bdo,big,br,cite,code,del,dfn,em,font,i,img,ins,kbd,label,map,mark,q,ruby,rp,rt,s,samp,small,span,strike,strong,sub,sup,time,tt,u,var"))
      , M = a("circle,defs,desc,ellipse,font-face,font-face-name,font-face-src,g,glyph,hkern,image,linearGradient,line,marker,metadata,missing-glyph,mpath,path,polygon,polyline,radialGradient,rect,stop,svg,switch,text,title,tspan,use")
      , N = a("script,style")
      , U = v()({}, L, B, A, P, M)
      , F = a("background,cite,href,longdesc,src,usemap,xlink:href")
      , O = a("abbr,align,alt,axis,bgcolor,border,cellpadding,cellspacing,class,clear,color,cols,colspan,compact,coords,dir,face,headers,height,hreflang,hspace,ismap,lang,language,nohref,nowrap,rel,rev,rows,rowspan,rules,scope,scrolling,shape,size,span,start,summary,tabindex,target,title,type,valign,value,vspace,width")
      , $ = a("accent-height,accumulate,additive,alphabetic,arabic-form,ascent,baseProfile,bbox,begin,by,calcMode,cap-height,class,color,color-rendering,content,cx,cy,d,dx,dy,descent,display,dur,end,fill,fill-rule,font-family,font-size,font-stretch,font-style,font-variant,font-weight,from,fx,fy,g1,g2,glyph-name,gradientUnits,hanging,height,horiz-adv-x,horiz-origin-x,ideographic,k,keyPoints,keySplines,keyTimes,lang,marker-end,marker-mid,marker-start,markerHeight,markerUnits,markerWidth,mathematical,max,min,offset,opacity,orient,origin,overline-position,overline-thickness,panose-1,path,pathLength,points,preserveAspectRatio,r,refX,refY,repeatCount,repeatDur,requiredExtensions,requiredFeatures,restart,rotate,rx,ry,slope,stemh,stemv,stop-color,stop-opacity,strikethrough-position,strikethrough-thickness,stroke,stroke-dasharray,stroke-dashoffset,stroke-linecap,stroke-linejoin,stroke-miterlimit,stroke-opacity,stroke-width,systemLanguage,target,text-anchor,to,transform,type,u1,u2,underline-position,underline-thickness,unicode,unicode-range,units-per-em,values,version,viewBox,visibility,width,widths,x,x-height,x1,x2,xlink:actuate,xlink:arcrole,xlink:role,xlink:show,xlink:title,xlink:type,xml:base,xml:lang,xml:space,xmlns,xmlns:xlink,y,y1,y2,zoomAndPan", !0)
      , R = v()({}, F, $, O);
    R.id = !0,
    R.allowfullscreen = !0;
    var q = document.createElement("pre");
    t.a = {
        sanitizeHtml: u,
        sanitizeUri: r
    }
}
, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , function(e, t, n) {
    "use strict";
    function r(e) {
        var t = document.createElement("div");
        return e.reduce(function(e, n) {
            if (void 0 !== t.style[n])
                return n
        }, void 0)
    }
    function a(e) {
        return e
    }
    function i(e) {
        this.name = e,
        this.setStart = function(t) {
            var n = t.elt[e];
            return t.$start[e] = n,
            void 0 !== n && void 0 !== t.$end[e]
        }
        ,
        this.applyCurrent = function(t) {
            t.elt[e] = t.$current[e]
        }
    }
    function o(e, t, n) {
        var r = arguments.length > 3 && void 0 !== arguments[3] ? arguments[3] : a;
        this.name = e,
        this.setStart = function(t) {
            var r = parseFloat(t.elt.style[e]);
            return v()(r) && (r = t.$current[e] || n),
            t.$start[e] = r,
            void 0 !== t.$end[e]
        }
        ,
        this.applyCurrent = function(n) {
            n.elt.style[e] = r(n.$current[e]) + t
        }
    }
    function s(e, t, n) {
        var r = arguments.length > 3 && void 0 !== arguments[3] ? arguments[3] : a;
        this.name = e,
        this.setStart = function(t) {
            var r = t.$current[e];
            return void 0 === r && (r = n),
            t.$start[e] = r,
            void 0 === t.$end[e] && (t.$end[e] = r),
            void 0 !== r
        }
        ,
        this.applyCurrent = function(a) {
            var i = a.$current[e];
            return i !== n && e + "(" + r(i) + t + ")"
        }
    }
    function c(e) {
        return e.$animation || (e.$animation = new L(e)),
        e.$animation
    }
    for (var u = n(37), l = n.n(u), d = n(67), p = n.n(d), f = n(491), v = n.n(f), m = n(20), h = n.n(m), g = n(916), b = n.n(g), _ = {
        materialIn: b()(.75, 0, .8, .25),
        materialOut: b()(.25, .8, .25, 1),
        inOut: b()(.25, .1, .67, 1)
    }, w = ["moz", "webkit"], y = 0; y < w.length && !window.requestAnimationFrame; y += 1)
        window.requestAnimationFrame = window[w[y] + "RequestAnimationFrame"],
        window.cancelAnimationFrame = window[w[y] + "CancelAnimationFrame"] || window[w[y] + "CancelRequestAnimationFrame"];
    var k = ["WebkitTransform", "MozTransform", "msTransform", "OTransform", "transform"]
      , x = {
        WebkitTransition: "webkitTransitionEnd",
        MozTransition: "transitionend",
        msTransition: "MSTransitionEnd",
        OTransition: "oTransitionEnd",
        transition: "transitionend"
    }
      , C = r(k)
      , I = r(h()(x))
      , S = x[I]
      , E = [new i("scrollTop"), new i("scrollLeft"), new o("opacity","",1), new o("zIndex","",0), new s("translateX","px",0,Math.round), new s("translateY","px",0,Math.round), new s("scale","",1), new s("rotate","deg",0)].concat(["width", "height", "top", "right", "bottom", "left"].map(function(e) {
        return new o(e,"px",0,Math.round)
    }))
      , L = function() {
        function e(t) {
            l()(this, e),
            this.elt = t,
            this.$current = {},
            this.$pending = {}
        }
        return p()(e, [{
            key: "start",
            value: function(e, t, n) {
                var r = this
                  , a = e
                  , i = t
                  , o = !1;
                return "boolean" == typeof e && (o = e,
                a = t,
                i = n),
                this.stop(),
                this.$start = {},
                this.$end = this.$pending,
                this.$pending = {},
                this.$attributes = E.filter(function(e) {
                    return e.setStart(r)
                }),
                this.$end.duration = this.$end.duration || 0,
                this.$end.delay = this.$end.delay || 0,
                this.$end.easing = _[this.$end.easing] || _.materialOut,
                this.$end.endCb = "function" == typeof a && a,
                this.$end.stepCb = "function" == typeof i && i,
                this.$startTime = Date.now() + this.$end.delay,
                this.$end.duration ? o ? this.loop(!0) : this.$requestId = window.requestAnimationFrame(function() {
                    return r.loop(!1)
                }) : this.loop(!1),
                this.elt
            }
        }, {
            key: "stop",
            value: function() {
                window.cancelAnimationFrame(this.$requestId)
            }
        }, {
            key: "loop",
            value: function(e) {
                var t = this
                  , n = function e(n) {
                    if (n.target === t.elt) {
                        t.elt.removeEventListener(S, e);
                        var r = t.$end.endCb;
                        t.$end.endCb = void 0,
                        r && r()
                    }
                }
                  , r = (Date.now() - this.$startTime) / this.$end.duration
                  , a = "";
                if (e) {
                    r = 1;
                    var i = ["all", this.$end.duration + "ms", this.$end.easing.toCSS()];
                    this.$end.delay && i.push(this.$end.duration + "ms"),
                    a = i.join(" "),
                    this.$end.endCb && this.elt.addEventListener(S, n)
                } else if (r < 1) {
                    if (this.$requestId = window.requestAnimationFrame(function() {
                        return t.loop(!1)
                    }),
                    r < 0)
                        return
                } else
                    this.$end.endCb && (this.$requestId = window.requestAnimationFrame(this.$end.endCb));
                var o = this.$end.easing.get(r)
                  , s = this.$attributes.reduce(function(e, n) {
                    if (r < 1) {
                        var a = t.$end[n.name] - t.$start[n.name];
                        t.$current[n.name] = t.$start[n.name] + a * o
                    } else
                        t.$current[n.name] = t.$end[n.name];
                    var i = n.applyCurrent(t);
                    return i && e.push(i),
                    e
                }, []);
                s.length && s.push("translateZ(0)");
                var c = s.join(" ");
                this.elt.style[C] = c,
                this.elt.style[I] = a,
                this.$end.stepCb && this.$end.stepCb()
            }
        }]),
        e
    }();
    E.map(function(e) {
        return e.name
    }).concat("duration", "easing", "delay").forEach(function(e) {
        L.prototype[e] = function(t) {
            return this.$pending[e] = t,
            this
        }
    }),
    t.a = {
        animate: c
    }
}
, function(e, t, n) {
    "use strict";
    function r(e) {
        function t() {
            i && (i.children.length > 0 && (i.children = r(i.children, n + 1)),
            a.push(i))
        }
        var n = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : 1
          , a = []
          , i = void 0;
        return e.forEach(function(e) {
            e.level !== n ? (i = i || {
                children: []
            },
            i.children.push(e)) : (t(),
            i = e)
        }),
        t(),
        a
    }
    var a = n(6)
      , i = n.n(a)
      , o = n(15)
      , s = n.n(o)
      , c = n(33)
      , u = n.n(c)
      , l = n(5)
      , d = n.n(l)
      , p = n(247)
      , f = n.n(p)
      , v = n(2354)
      , m = n.n(v)
      , h = n(142)
      , g = n(117)
      , b = n(100)
      , _ = n(4)
      , w = n(2)
      , y = n(171)
      , k = document.createElement("div");
    k.className = "hidden-rendering-container",
    document.body.appendChild(k),
    t.a = {
        applyTemplate: function(e) {
            var t = this
              , n = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {
                value: "{{{files.0.content.text}}}",
                helpers: ""
            }
              , a = arguments.length > 2 && void 0 !== arguments[2] && arguments[2];
            return d()(i.a.mark(function o() {
                var c, l, d, p, f, v, x, C, I, S, E, L;
                return i.a.wrap(function(t) {
                    for (; ; )
                        switch (t.prev = t.next) {
                        case 0:
                            return c = w.a.state.file.itemsById[e],
                            t.next = 3,
                            h.a.loadItem(e + "/content");
                        case 3:
                            return l = t.sent,
                            d = _.a.computeProperties(l.properties),
                            p = b.a.getOptions(d),
                            f = g.a.createConverter(p, !0),
                            v = g.a.parseSections(f, l.text),
                            x = g.a.convert(v),
                            C = x.htmlSectionList.map(y.a.sanitizeHtml).join(""),
                            k.innerHTML = C,
                            b.a.sectionPreview(k, p),
                            k.querySelectorAll(".table-wrapper").cl_each(function(e) {
                                for (; e.firstChild; )
                                    e.parentNode.insertBefore(e.firstChild, e.nextSibling);
                                e.parentNode.removeChild(e)
                            }),
                            I = k.querySelectorAll("h1,h2,h3,h4,h5,h6").cl_map(function(e) {
                                return {
                                    title: e.textContent,
                                    anchor: e.id,
                                    level: parseInt(e.tagName.slice(1), 10),
                                    children: []
                                }
                            }),
                            S = r(I),
                            E = {
                                pdf: a,
                                files: [{
                                    name: c.name,
                                    content: {
                                        text: l.text,
                                        properties: d,
                                        yamlProperties: l.properties,
                                        html: k.innerHTML,
                                        toc: S
                                    }
                                }]
                            },
                            k.innerHTML = "",
                            L = new m.a,
                            t.abrupt("return", new u.a(function(e, t) {
                                var r = setTimeout(function() {
                                    L.terminate(),
                                    t(new Error("Template generation timeout."))
                                }, 1e4);
                                L.addEventListener("message", function(n) {
                                    clearTimeout(r),
                                    L.terminate();
                                    var a = s()(n.data, 2)
                                      , i = a[0]
                                      , o = a[1];
                                    i ? t(new Error("" + i)) : e("" + o)
                                }),
                                L.postMessage([n.value, E, n.helpers])
                            }
                            ));
                        case 19:
                        case "end":
                            return t.stop()
                        }
                }, o, t)
            }))()
        },
        exportToDisk: function(e, t, n) {
            var r = this;
            return d()(i.a.mark(function a() {
                var o, s, c;
                return i.a.wrap(function(a) {
                    for (; ; )
                        switch (a.prev = a.next) {
                        case 0:
                            return o = w.a.state.file.itemsById[e],
                            a.next = 3,
                            r.applyTemplate(e, n);
                        case 3:
                            s = a.sent,
                            c = new Blob([s],{
                                type: "text/plain;charset=utf-8"
                            }),
                            f.a.saveAs(c, o.name + "." + t);
                        case 6:
                        case "end":
                            return a.stop()
                        }
                }, a, r)
            }))()
        }
    }
}
, function(e, t, n) {
    "use strict";
    var r = n(6)
      , a = n.n(r)
      , i = n(3)
      , o = n.n(i)
      , s = n(5)
      , c = n.n(s)
      , u = n(2)
      , l = n(145)
      , d = n(38)
      , p = n(4)
      , f = n(36)
      , v = n(45)
      , m = {};
    t.a = new d.a({
        id: "github",
        name: "GitHub",
        getToken: function(e) {
            var t = e.sub;
            return u.a.getters["data/githubTokensBySub"][t]
        },
        getLocationUrl: function(e) {
            var t = e.owner
              , n = e.repo
              , r = e.branch
              , a = e.path;
            return "https://github.com/" + encodeURIComponent(t) + "/" + encodeURIComponent(n) + "/tree/" + encodeURIComponent(r) + "/" + p.a.encodeUrlPath(a)
        },
        getLocationDescription: function(e) {
            return e.path
        },
        downloadContent: function(e, t) {
            var n = this;
            return c()(a.a.mark(function r() {
                var i, s, c;
                return a.a.wrap(function(n) {
                    for (; ; )
                        switch (n.prev = n.next) {
                        case 0:
                            return n.next = 2,
                            l.a.downloadFile(o()({}, t, {
                                token: e
                            }));
                        case 2:
                            return i = n.sent,
                            s = i.sha,
                            c = i.data,
                            m[t.id] = s,
                            n.abrupt("return", d.a.parseContent(c, t.fileId + "/content"));
                        case 7:
                        case "end":
                            return n.stop()
                        }
                }, r, n)
            }))()
        },
        uploadContent: function(e, t, n) {
            var r = this;
            return c()(a.a.mark(function i() {
                var s;
                return a.a.wrap(function(a) {
                    for (; ; )
                        switch (a.prev = a.next) {
                        case 0:
                            if (m[n.id]) {
                                a.next = 8;
                                break
                            }
                            return a.prev = 1,
                            a.next = 4,
                            r.downloadContent(e, n);
                        case 4:
                            a.next = 8;
                            break;
                        case 6:
                            a.prev = 6,
                            a.t0 = a.catch(1);
                        case 8:
                            return s = m[n.id],
                            delete m[n.id],
                            a.next = 12,
                            l.a.uploadFile(o()({}, n, {
                                token: e,
                                content: d.a.serializeContent(t),
                                sha: s
                            }));
                        case 12:
                            return a.abrupt("return", n);
                        case 13:
                        case "end":
                            return a.stop()
                        }
                }, i, r, [[1, 6]])
            }))()
        },
        publish: function(e, t, n, r) {
            var i = this;
            return c()(a.a.mark(function n() {
                var s;
                return a.a.wrap(function(n) {
                    for (; ; )
                        switch (n.prev = n.next) {
                        case 0:
                            return n.prev = 0,
                            n.next = 3,
                            i.downloadContent(e, r);
                        case 3:
                            n.next = 7;
                            break;
                        case 5:
                            n.prev = 5,
                            n.t0 = n.catch(0);
                        case 7:
                            return s = m[r.id],
                            delete m[r.id],
                            n.next = 11,
                            l.a.uploadFile(o()({}, r, {
                                token: e,
                                content: t,
                                sha: s
                            }));
                        case 11:
                            return n.abrupt("return", r);
                        case 12:
                        case "end":
                            return n.stop()
                        }
                }, n, i, [[0, 5]])
            }))()
        },
        openFile: function(e, t) {
        	//console.log("app.js openFile e:", e, t);
            var n = this;
            return c()(a.a.mark(function r() {
                var i, s, c, l, p;
                return a.a.wrap(function(r) {
                    for (; ; )
                        switch (r.prev = r.next) {
                        case 0:
                            if (d.a.openFileWithLocation(t)) {
                                r.next = 23;
                                break
                            }
                            return i = void 0,
                            r.prev = 2,
                            r.next = 5,
                            n.downloadContent(e, t);
                        case 5:
                            i = r.sent,
                            r.next = 12;
                            break;
                        case 8:
                            return r.prev = 8,
                            r.t0 = r.catch(2),
                            u.a.dispatch("notification/error", "Could not open file " + t.path + "."),
                            r.abrupt("return");
                        case 12:
                            return s = t.path,
                            c = s.lastIndexOf("/"),
                            c > -1 && c < s.length - 1 && (s = s.slice(c + 1)),
                            l = s.lastIndexOf("."),
                            l > 0 && c < s.length && (s = s.slice(0, l)),
                            r.next = 19,
                            f.a.createFile({
                                name: s,
                                parentId: u.a.getters["file/current"].parentId,
                                text: i.text,
                                properties: i.properties,
                                discussions: i.discussions,
                                comments: i.comments
                            }, !0);
                        case 19:
                            p = r.sent,
                            u.a.commit("file/setCurrentId", p.id),
                            f.a.addSyncLocation(o()({}, t, {
                                fileId: p.id
                            })),
                            u.a.dispatch("notification/info", u.a.getters["file/current"].name + " was imported from GitHub.");
                        case 23:
                        case "end":
                            return r.stop()
                        }
                }, r, n, [[2, 8]])
            }))()
        },
        makeLocation: function(e, t, n, r, a) {
            return {
                providerId: this.id,
                sub: e.sub,
                owner: t,
                repo: n,
                branch: r,
                path: a
            }
        },
        listFileRevisions: function(e) {
            var t = this
              , n = e.token
              , r = e.syncLocation;
            return c()(a.a.mark(function e() {
                var i;
                return a.a.wrap(function(e) {
                    for (; ; )
                        switch (e.prev = e.next) {
                        case 0:
                            return e.next = 2,
                            l.a.getCommits(o()({}, r, {
                                token: n
                            }));
                        case 2:
                            return i = e.sent,
                            e.abrupt("return", i.map(function(e) {
                                var t = e.author
                                  , n = e.committer
                                  , r = e.commit
                                  , a = e.sha
                                  , i = void 0;
                                t && t.login ? i = t : n && n.login && (i = n);
                                var o = l.a.subPrefix + ":" + i.id;
                                v.a.addUserInfo({
                                    id: o,
                                    name: i.login,
                                    imageUrl: i.avatar_url
                                });
                                var s = r.author && r.author.date || r.committer && r.committer.date;
                                return {
                                    id: a,
                                    sub: o,
                                    created: s ? new Date(s).getTime() : 1
                                }
                            }));
                        case 4:
                        case "end":
                            return e.stop()
                        }
                }, e, t)
            }))()
        },
        loadFileRevision: function() {
            var e = this;
            return c()(a.a.mark(function t() {
                return a.a.wrap(function(e) {
                    for (; ; )
                        switch (e.prev = e.next) {
                        case 0:
                            return e.abrupt("return", !1);
                        case 1:
                        case "end":
                            return e.stop()
                        }
                }, t, e)
            }))()
        },
        getFileRevisionContent: function(e) {
            var t = this
              , n = e.token
              , r = e.contentId
              , i = e.syncLocation
              , s = e.revisionId;
            return c()(a.a.mark(function e() {
                var c, u;
                return a.a.wrap(function(e) {
                    for (; ; )
                        switch (e.prev = e.next) {
                        case 0:
                            return e.next = 2,
                            l.a.downloadFile(o()({}, i, {
                                token: n,
                                branch: s
                            }));
                        case 2:
                            return c = e.sent,
                            u = c.data,
                            e.abrupt("return", d.a.parseContent(u, r));
                        case 5:
                        case "end":
                            return e.stop()
                        }
                }, e, t)
            }))()
        }
    })
}
, function(e, t, n) {
    "use strict";
    var r = n(6)
      , a = n.n(r)
      , i = n(3)
      , o = n.n(i)
      , s = n(5)
      , c = n.n(s)
      , u = n(2)
      , l = n(146)
      , d = n(38)
      , p = n(4)
      , f = n(36)
      , v = n(45)
      , m = {};
    t.a = new d.a({
        id: "gitlab",
        name: "GitLab",
        getToken: function(e) {
            var t = e.sub;
            return u.a.getters["data/gitlabTokensBySub"][t]
        },
        getLocationUrl: function(e) {
            var t = e.sub
              , n = e.projectPath
              , r = e.branch
              , a = e.path;
            return this.getToken({
                sub: t
            }).serverUrl + "/" + n + "/blob/" + encodeURIComponent(r) + "/" + p.a.encodeUrlPath(a)
        },
        getLocationDescription: function(e) {
            return e.path
        },
        downloadContent: function(e, t) {
            var n = this;
            return c()(a.a.mark(function r() {
                var i, s, c;
                return a.a.wrap(function(n) {
                    for (; ; )
                        switch (n.prev = n.next) {
                        case 0:
                            return n.next = 2,
                            l.a.downloadFile(o()({}, t, {
                                token: e
                            }));
                        case 2:
                            return i = n.sent,
                            s = i.sha,
                            c = i.data,
                            m[t.id] = s,
                            n.abrupt("return", d.a.parseContent(c, t.fileId + "/content"));
                        case 7:
                        case "end":
                            return n.stop()
                        }
                }, r, n)
            }))()
        },
        uploadContent: function(e, t, n) {
            var r = this;
            return c()(a.a.mark(function i() {
                var s, c;
                return a.a.wrap(function(a) {
                    for (; ; )
                        switch (a.prev = a.next) {
                        case 0:
                            return a.t0 = o.a,
                            a.t1 = {},
                            a.t2 = n,
                            a.next = 5,
                            l.a.getProjectId(e, n);
                        case 5:
                            if (a.t3 = a.sent,
                            a.t4 = {
                                projectId: a.t3
                            },
                            s = (0,
                            a.t0)(a.t1, a.t2, a.t4),
                            m[s.id]) {
                                a.next = 16;
                                break
                            }
                            return a.prev = 9,
                            a.next = 12,
                            r.downloadContent(e, s);
                        case 12:
                            a.next = 16;
                            break;
                        case 14:
                            a.prev = 14,
                            a.t5 = a.catch(9);
                        case 16:
                            return c = m[s.id],
                            delete m[s.id],
                            a.next = 20,
                            l.a.uploadFile(o()({}, s, {
                                token: e,
                                content: d.a.serializeContent(t),
                                sha: c
                            }));
                        case 20:
                            return a.abrupt("return", s);
                        case 21:
                        case "end":
                            return a.stop()
                        }
                }, i, r, [[9, 14]])
            }))()
        },
        publish: function(e, t, n, r) {
            var i = this;
            return c()(a.a.mark(function n() {
                var s, c;
                return a.a.wrap(function(n) {
                    for (; ; )
                        switch (n.prev = n.next) {
                        case 0:
                            return n.t0 = o.a,
                            n.t1 = {},
                            n.t2 = r,
                            n.next = 5,
                            l.a.getProjectId(e, r);
                        case 5:
                            return n.t3 = n.sent,
                            n.t4 = {
                                projectId: n.t3
                            },
                            s = (0,
                            n.t0)(n.t1, n.t2, n.t4),
                            n.prev = 8,
                            n.next = 11,
                            i.downloadContent(e, s);
                        case 11:
                            n.next = 15;
                            break;
                        case 13:
                            n.prev = 13,
                            n.t5 = n.catch(8);
                        case 15:
                            return c = m[s.id],
                            delete m[s.id],
                            n.next = 19,
                            l.a.uploadFile(o()({}, s, {
                                token: e,
                                content: t,
                                sha: c
                            }));
                        case 19:
                            return n.abrupt("return", s);
                        case 20:
                        case "end":
                            return n.stop()
                        }
                }, n, i, [[8, 13]])
            }))()
        },
        openFile: function(e, t) {
            var n = this;
            return c()(a.a.mark(function r() {
                var i, s, c, p, v, m;
                return a.a.wrap(function(r) {
                    for (; ; )
                        switch (r.prev = r.next) {
                        case 0:
                            return r.t0 = o.a,
                            r.t1 = {},
                            r.t2 = t,
                            r.next = 5,
                            l.a.getProjectId(e, t);
                        case 5:
                            if (r.t3 = r.sent,
                            r.t4 = {
                                projectId: r.t3
                            },
                            i = (0,
                            r.t0)(r.t1, r.t2, r.t4),
                            d.a.openFileWithLocation(i)) {
                                r.next = 31;
                                break
                            }
                            return s = void 0,
                            r.prev = 10,
                            r.next = 13,
                            n.downloadContent(e, i);
                        case 13:
                            s = r.sent,
                            r.next = 20;
                            break;
                        case 16:
                            return r.prev = 16,
                            r.t5 = r.catch(10),
                            u.a.dispatch("notification/error", "Could not open file " + i.path + "."),
                            r.abrupt("return");
                        case 20:
                            return c = i.path,
                            p = c.lastIndexOf("/"),
                            p > -1 && p < c.length - 1 && (c = c.slice(p + 1)),
                            v = c.lastIndexOf("."),
                            v > 0 && p < c.length && (c = c.slice(0, v)),
                            r.next = 27,
                            f.a.createFile({
                                name: c,
                                parentId: u.a.getters["file/current"].parentId,
                                text: s.text,
                                properties: s.properties,
                                discussions: s.discussions,
                                comments: s.comments
                            }, !0);
                        case 27:
                            m = r.sent,
                            u.a.commit("file/setCurrentId", m.id),
                            f.a.addSyncLocation(o()({}, i, {
                                fileId: m.id
                            })),
                            u.a.dispatch("notification/info", u.a.getters["file/current"].name + " was imported from GitLab.");
                        case 31:
                        case "end":
                            return r.stop()
                        }
                }, r, n, [[10, 16]])
            }))()
        },
        makeLocation: function(e, t, n, r) {
            return {
                providerId: this.id,
                sub: e.sub,
                projectPath: t,
                branch: n,
                path: r
            }
        },
        listFileRevisions: function(e) {
            var t = this
              , n = e.token
              , r = e.syncLocation;
            return c()(a.a.mark(function e() {
                var i;
                return a.a.wrap(function(e) {
                    for (; ; )
                        switch (e.prev = e.next) {
                        case 0:
                            return e.next = 2,
                            l.a.getCommits(o()({}, r, {
                                token: n
                            }));
                        case 2:
                            return i = e.sent,
                            e.abrupt("return", i.map(function(e) {
                                var t = e.author_email || e.committer_email
                                  , r = l.a.subPrefix + ":" + n.serverUrl + "/" + t;
                                v.a.addUserInfo({
                                    id: r,
                                    name: e.author_name || e.committer_name,
                                    imageUrl: ""
                                });
                                var a = e.authored_date || e.committed_date || 1;
                                return {
                                    id: e.id,
                                    sub: r,
                                    created: a ? new Date(a).getTime() : 1
                                }
                            }));
                        case 4:
                        case "end":
                            return e.stop()
                        }
                }, e, t)
            }))()
        },
        loadFileRevision: function() {
            var e = this;
            return c()(a.a.mark(function t() {
                return a.a.wrap(function(e) {
                    for (; ; )
                        switch (e.prev = e.next) {
                        case 0:
                            return e.abrupt("return", !1);
                        case 1:
                        case "end":
                            return e.stop()
                        }
                }, t, e)
            }))()
        },
        getFileRevisionContent: function(e) {
            var t = this
              , n = e.token
              , r = e.contentId
              , i = e.syncLocation
              , s = e.revisionId;
            return c()(a.a.mark(function e() {
                var c, u;
                return a.a.wrap(function(e) {
                    for (; ; )
                        switch (e.prev = e.next) {
                        case 0:
                            return e.next = 2,
                            l.a.downloadFile(o()({}, i, {
                                token: n,
                                branch: s
                            }));
                        case 2:
                            return c = e.sent,
                            u = c.data,
                            e.abrupt("return", d.a.parseContent(u, r));
                        case 5:
                        case "end":
                            return e.stop()
                        }
                }, e, t)
            }))()
        }
    })
}
, function(e, t, n) {
    "use strict";
    var r = n(33)
      , a = n.n(r)
      , i = n(6)
      , o = n.n(i)
      , s = n(92)
      , c = n.n(s)
      , u = n(5)
      , l = n.n(u)
      , d = n(3)
      , p = n.n(d)
      , f = n(46)
      , v = n.n(f)
      , m = n(56)
      , h = n(45)
      , g = n(2)
      , b = n(12)
      , _ = this
      , w = function(e) {
        return e ? g.a.getters["data/serverConf"].dropboxAppKeyFull : g.a.getters["data/serverConf"].dropboxAppKey
    }
      , y = function(e) {
        return e && v()(e).replace(/[\u007f-\uffff]/g, function(e) {
            return "\\u" + ("000" + e.charCodeAt(0).toString(16)).slice(-4)
        })
    }
      , k = function(e, t, n) {
        var r = e.accessToken;
        return m.a.request(p()({}, t, {
            headers: p()({}, t.headers || {}, {
                "Content-Type": t.body && ("string" == typeof t.body ? "application/octet-stream" : "application/json; charset=utf-8"),
                "Dropbox-API-Arg": y(n),
                Authorization: "Bearer " + r
            })
        }))
    };
    h.a.setInfoResolver("dropbox", "db", function() {
        var e = l()(o.a.mark(function e(t) {
            var n, r, a;
            return o.a.wrap(function(e) {
                for (; ; )
                    switch (e.prev = e.next) {
                    case 0:
                        return n = c()(g.a.getters["data/dropboxTokensBySub"])[0],
                        e.prev = 1,
                        e.next = 4,
                        k(n, {
                            method: "POST",
                            url: "https://api.dropboxapi.com/2/users/get_account",
                            body: {
                                account_id: t
                            }
                        });
                    case 4:
                        return r = e.sent,
                        a = r.body,
                        e.abrupt("return", {
                            id: "db:" + a.account_id,
                            name: a.name.display_name,
                            imageUrl: a.profile_photo_url || ""
                        });
                    case 9:
                        if (e.prev = 9,
                        e.t0 = e.catch(1),
                        n && 404 === e.t0.status) {
                            e.next = 13;
                            break
                        }
                        throw new Error("RETRY");
                    case 13:
                        throw e.t0;
                    case 14:
                    case "end":
                        return e.stop()
                    }
            }, e, _, [[1, 9]])
        }));
        return function(t) {
            return e.apply(this, arguments)
        }
    }()),
    t.a = {
        subPrefix: "db",
        startOauth2: function(e) {
            var t = this
              , n = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : null
              , r = arguments.length > 2 && void 0 !== arguments[2] && arguments[2];
            return l()(o.a.mark(function a() {
                var i, s, c, u, l;
                return o.a.wrap(function(t) {
                    for (; ; )
                        switch (t.prev = t.next) {
                        case 0:
                            return t.next = 2,
                            m.a.startOauth2("https://www.dropbox.com/oauth2/authorize", {
                                client_id: w(e),
                                response_type: "token"
                            }, r);
                        case 2:
                            return i = t.sent,
                            s = i.accessToken,
                            t.next = 6,
                            k({
                                accessToken: s
                            }, {
                                method: "POST",
                                url: "https://api.dropboxapi.com/2/users/get_current_account"
                            });
                        case 6:
                            if (c = t.sent,
                            u = c.body,
                            h.a.addUserInfo({
                                id: "db:" + u.account_id,
                                name: u.name.display_name,
                                imageUrl: u.profile_photo_url || ""
                            }),
                            !n || "" + u.account_id === n) {
                                t.next = 11;
                                break
                            }
                            throw new Error("Dropbox account ID not expected.");
                        case 11:
                            return l = {
                                accessToken: s,
                                name: u.name.display_name,
                                sub: "" + u.account_id,
                                fullAccess: e
                            },
                            g.a.dispatch("data/addDropboxToken", l),
                            t.abrupt("return", l);
                        case 14:
                        case "end":
                            return t.stop()
                        }
                }, a, t)
            }))()
        },
        addAccount: function() {
            var e = this
              , t = arguments.length > 0 && void 0 !== arguments[0] && arguments[0];
            return l()(o.a.mark(function n() {
                var r;
                return o.a.wrap(function(n) {
                    for (; ; )
                        switch (n.prev = n.next) {
                        case 0:
                            return n.next = 2,
                            e.startOauth2(t);
                        case 2:
                            return r = n.sent,
                            b.a.addBadge("addDropboxAccount"),
                            n.abrupt("return", r);
                        case 5:
                        case "end":
                            return n.stop()
                        }
                }, n, e)
            }))()
        },
        uploadFile: function(e) {
            var t = this
              , n = e.token
              , r = e.path
              , a = e.content
              , i = e.fileId;
            return l()(o.a.mark(function e() {
                return o.a.wrap(function(e) {
                    for (; ; )
                        switch (e.prev = e.next) {
                        case 0:
                            return e.next = 2,
                            k(n, {
                                method: "POST",
                                url: "https://content.dropboxapi.com/2/files/upload",
                                body: a
                            }, {
                                path: i || r,
                                mode: "overwrite"
                            });
                        case 2:
                            return e.abrupt("return", e.sent.body);
                        case 3:
                        case "end":
                            return e.stop()
                        }
                }, e, t)
            }))()
        },
        downloadFile: function(e) {
            var t = this
              , n = e.token
              , r = e.path
              , a = e.fileId;
            return l()(o.a.mark(function e() {
                var i;
                return o.a.wrap(function(e) {
                    for (; ; )
                        switch (e.prev = e.next) {
                        case 0:
                            return e.next = 2,
                            k(n, {
                                method: "POST",
                                url: "https://content.dropboxapi.com/2/files/download",
                                raw: !0
                            }, {
                                path: a || r
                            });
                        case 2:
                            return i = e.sent,
                            e.abrupt("return", {
                                id: JSON.parse(i.headers["dropbox-api-result"]).id,
                                content: i.body
                            });
                        case 4:
                        case "end":
                            return e.stop()
                        }
                }, e, t)
            }))()
        },
        listRevisions: function(e) {
            var t = this
              , n = e.token
              , r = e.path
              , a = e.fileId;
            return l()(o.a.mark(function e() {
                var i;
                return o.a.wrap(function(e) {
                    for (; ; )
                        switch (e.prev = e.next) {
                        case 0:
                            return e.next = 2,
                            k(n, {
                                method: "POST",
                                url: "https://api.dropboxapi.com/2/files/list_revisions",
                                body: a ? {
                                    path: a,
                                    mode: "id",
                                    limit: 100
                                } : {
                                    path: r,
                                    limit: 100
                                }
                            });
                        case 2:
                            return i = e.sent,
                            e.abrupt("return", i.body.entries);
                        case 4:
                        case "end":
                            return e.stop()
                        }
                }, e, t)
            }))()
        },
        openChooser: function(e) {
            var t = this;
            return l()(o.a.mark(function n() {
                return o.a.wrap(function(t) {
                    for (; ; )
                        switch (t.prev = t.next) {
                        case 0:
                            if (window.Dropbox) {
                                t.next = 3;
                                break
                            }
                            return t.next = 3,
                            m.a.loadScript("https://www.dropbox.com/static/api/2/dropins.js");
                        case 3:
                            return t.abrupt("return", new a.a(function(t) {
                                window.Dropbox.appKey = w(e.fullAccess),
                                window.Dropbox.choose({
                                    multiselect: !0,
                                    linkType: "direct",
                                    success: function(e) {
                                        return t(e.map(function(e) {
                                            var t = e.link.replace(/.*\/view\/[^/]*/, "");
                                            return decodeURI(t)
                                        }))
                                    },
                                    cancel: function() {
                                        return t([])
                                    }
                                })
                            }
                            ));
                        case 4:
                        case "end":
                            return t.stop()
                        }
                }, n, t)
            }))()
        }
    }
}
, function(e, t, n) {
    "use strict";
    var r = n(6)
      , a = n.n(r)
      , i = n(15)
      , o = n.n(i)
      , s = n(19)
      , c = n.n(s)
      , u = n(5)
      , l = n.n(u)
      , d = n(65)
      , p = n(2)
      , f = n(4)
      , v = n(27)
      , m = n(36)
      , h = f.a.queryParams
      , g = h.origin
      , b = h.fileName
      , _ = h.contentText
      , w = h.contentProperties
      , y = g && window.parent;
    
    //console.log("api.js Object1111 e:", e);
    //console.log("api.js Object1111 t:", t);
    //console.log("api.js Object1111 n:", n);
    //console.log("api.js Object1111 h:", h);
    t.a = {
        setReady: function() {
            y && setTimeout(function() {
                return window.parent.postMessage({
                    type: "ready"
                }, g)
            }, 1)
        },
        closed: !1,
        close: function() {
            y && (this.closed || window.parent.postMessage({
                type: "close"
            }, g),
            this.closed = !0)
        },
        init: function() {
            var e = this;
        	//console.log("api.js Object1111 t.a.init e:", e);
            return l()(a.a.mark(function t() {
                var n, r, i, s;
                return a.a.wrap(function(t) {
                    for (; ; ){
                    	//console.log("api.js Object1111 t.a.init t.next:", t.next);                    	
                        switch (t.prev = t.next) {
                        case 0:
                            if (y) {
                                t.next = 2;
                                break
                            }
                            return t.abrupt("return");
                        case 2:
                            return p.a.commit("setLight", !1),
                            t.next = 5,
                            m.a.createFile({
                                name: b || f.a.getHostname(g),
                                text: _ || "\n",
                                properties: w,
                                parentId: "temp"
                            }, !0);
                        case 5:
                            n = t.sent,
                            r = {},
                            i = p.a.state.file.itemsById,
                            c()(p.a.getters["data/lastCreated"]).forEach(function(e) {
                                var t = o()(e, 2)
                                  , n = t[0]
                                  , a = t[1];
                                i[n] && "temp" === i[n].parentId && (r[n] = a)
                            }),
                            r[n.id] = {
                                created: Date.now()
                            },
                            c()(r).sort(function(e, t) {
                                var n = o()(e, 2)
                                  , r = n[1];
                                return o()(t, 2)[1].created - r.created
                            }).splice(10).forEach(function(e) {
                                var t = o()(e, 1)
                                  , n = t[0];
                                delete r[n],
                                m.a.deleteFile(n)
                            }),
                            p.a.dispatch("data/setLastCreated", r),
                            p.a.commit("file/setCurrentId", n.id),
                            s = d.a.Utils.debounce(function() {
                                var t = p.a.getters["file/current"];
                                if (t.id !== n.id)
                                    e.close();
                                else if (!e.closed && null != v.a.previewCtx.html) {
                                    var r = p.a.getters["content/current"]
                                      , a = f.a.computeProperties(r.properties);
                                    p.a.commit("updateEditState", !1),
                                    window.parent.postMessage({
                                        type: "fileChange",
                                        payload: {
                                            id: n.id,
                                            name: t.name,
                                            content: {
                                                text: r.text.slice(0, -1),
                                                properties: a,
                                                yamlProperties: r.properties,
                                                html: v.a.previewCtx.html
                                            }
                                        }
                                    }, g)
                                }
                            }, 25),
                            v.a.$on("previewCtx", s),
                            p.a.watch(function() {
                                return p.a.getters["file/current"].name
                            }, s);
                        case 16:
                        case "end":
                            return t.stop()
                        }
                    }
                }, t, e)
            }))()
        },
        uploadImage: function(e) {
            var t = p.a.getters["file/current"]
              , n = p.a.getters["content/current"];
            p.a.commit("updateEditState", !1),
            window.parent.postMessage({
                type: "uploadImages",
                payload: {
                    id: t.id,
                    name: t.name,
                    content: {
                        images: e,
                        text: n
                    }
                }
            }, g)
        }
    }
}
, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , function(e, t, n) {
    "use strict";
    var r = n(2093)
      , a = n(754)
      , i = (n(2052),
    n(0))
      , o = n.i(i.a)(a.a, r.a, r.b, !1, null, null, null);
    t.a = o.exports
}
, , , function(e, t, n) {
    "use strict";
    var r = n(3)
      , a = n.n(r)
      , i = n(37)
      , o = n.n(i)
      , s = n(67)
      , c = n.n(s)
      , u = n(65)
      , l = n(27)
      , d = n(4)
      , p = null
      , f = []
      , v = u.a.Utils.debounce(function() {
        for (; f.length; )
            f.shift()();
        p && l.a.clEditor.selectionMgr.setSelectionStartEnd(p.start, p.end),
        p = null
    })
      , m = function(e) {
        f.push(e),
        v()
    }
      , h = function() {
        p = {
            start: l.a.clEditor.selectionMgr.selectionStart,
            end: l.a.clEditor.selectionMgr.selectionEnd
        },
        v()
    }
      , g = function() {
        function e(t, n, r) {
            var a = this;
            o()(this, e),
            this.classGetter = "function" == typeof t ? t : function() {
                return t
            }
            ,
            this.offsetGetter = "function" == typeof n ? n : function() {
                return n
            }
            ,
            this.properties = r || {},
            this.eltCollection = l.a.editorElt.getElementsByClassName(this.classGetter()[0]),
            this.lastEltCount = this.eltCollection.length,
            this.restoreClass = function() {
                a.eltCollection.length && a.eltCollection.length === a.lastEltCount || (a.removeClass(),
                a.applyClass())
            }
            ,
            l.a.clEditor.on("contentChanged", this.restoreClass),
            m(function() {
                return a.restoreClass()
            })
        }
        return c()(e, [{
            key: "applyClass",
            value: function() {
                if (!this.stopped) {
                    var e = this.offsetGetter();
                    if (e && e.start !== e.end) {
                        var t = l.a.clEditor.selectionMgr.createRange(Math.min(e.start, e.end), Math.max(e.start, e.end))
                          , n = a()({}, this.properties, {
                            className: this.classGetter().join(" ")
                        });
                        l.a.clEditor.watcher.noWatch(function() {
                            d.a.wrapRange(t, n)
                        }),
                        l.a.clEditor.selectionMgr.hasFocus() && h(),
                        this.lastEltCount = this.eltCollection.length
                    }
                }
            }
        }, {
            key: "removeClass",
            value: function() {
                var e = this;
                l.a.clEditor.watcher.noWatch(function() {
                    d.a.unwrapRange(e.eltCollection)
                }),
                l.a.clEditor.selectionMgr.hasFocus() && h()
            }
        }, {
            key: "stop",
            value: function() {
                var e = this;
                l.a.clEditor.off("contentChanged", this.restoreClass),
                m(function() {
                    return e.removeClass()
                }),
                this.stopped = !0
            }
        }]),
        e
    }();
    t.a = g
}
, function(e, t, n) {
    "use strict";
    var r = n(3)
      , a = n.n(r)
      , i = n(6)
      , o = n.n(i)
      , s = n(5)
      , c = n.n(s)
      , u = n(2)
      , l = n(208)
      , d = n(38)
      , p = n(4)
      , f = n(36)
      , v = function(e, t) {
        return e.fullAccess ? t : "/Applications/StackEdit (restricted)" + t
    }
      , m = function(e, t) {
        return e.fullAccess ? t : t.replace(/^\/Applications\/StackEdit \(restricted\)/, "")
    };
    t.a = new d.a({
        id: "dropbox",
        name: "Dropbox",
        getToken: function(e) {
            var t = e.sub;
            return u.a.getters["data/dropboxTokensBySub"][t]
        },
        getLocationUrl: function(e) {
            var t = e.path
              , n = t.split("/").map(encodeURIComponent)
              , r = n.pop();
            return "https://www.dropbox.com/home" + n.join("/") + "?preview=" + r
        },
        getLocationDescription: function(e) {
            var t = e.path;
            return e.dropboxFileId || t
        },
        checkPath: function(e) {
            return e && e.match(/^\/[^\\<>:"|?*]+$/)
        },
        downloadContent: function(e, t) {
            var n = this;
            return c()(o.a.mark(function r() {
                var a, i;
                return o.a.wrap(function(n) {
                    for (; ; )
                        switch (n.prev = n.next) {
                        case 0:
                            return n.next = 2,
                            l.a.downloadFile({
                                token: e,
                                path: m(e, t.path),
                                fileId: t.dropboxFileId
                            });
                        case 2:
                            return a = n.sent,
                            i = a.content,
                            n.abrupt("return", d.a.parseContent(i, t.fileId + "/content"));
                        case 5:
                        case "end":
                            return n.stop()
                        }
                }, r, n)
            }))()
        },
        uploadContent: function(e, t, n) {
            var r = this;
            return c()(o.a.mark(function i() {
                var s;
                return o.a.wrap(function(r) {
                    for (; ; )
                        switch (r.prev = r.next) {
                        case 0:
                            return r.next = 2,
                            l.a.uploadFile({
                                token: e,
                                path: m(e, n.path),
                                content: d.a.serializeContent(t),
                                fileId: n.dropboxFileId
                            });
                        case 2:
                            return s = r.sent,
                            r.abrupt("return", a()({}, n, {
                                path: v(e, s.path_display),
                                dropboxFileId: s.id
                            }));
                        case 4:
                        case "end":
                            return r.stop()
                        }
                }, i, r)
            }))()
        },
        publish: function(e, t, n, r) {
            var i = this;
            return c()(o.a.mark(function n() {
                var s;
                return o.a.wrap(function(n) {
                    for (; ; )
                        switch (n.prev = n.next) {
                        case 0:
                            return n.next = 2,
                            l.a.uploadFile({
                                token: e,
                                path: r.path,
                                content: t,
                                fileId: r.dropboxFileId
                            });
                        case 2:
                            return s = n.sent,
                            n.abrupt("return", a()({}, r, {
                                path: v(e, s.path_display),
                                dropboxFileId: s.id
                            }));
                        case 4:
                        case "end":
                            return n.stop()
                        }
                }, n, i)
            }))()
        },
        openFiles: function(e, t) {
            var n = this;
            return c()(o.a.mark(function r() {
                return o.a.wrap(function(r) {
                    for (; ; )
                        switch (r.prev = r.next) {
                        case 0:
                            return r.next = 2,
                            p.a.awaitSequence(t, function() {
                                var t = c()(o.a.mark(function t(r) {
                                    var i, s, c, l, p, v;
                                    return o.a.wrap(function(t) {
                                        for (; ; )
                                            switch (t.prev = t.next) {
                                            case 0:
                                                if (d.a.openFileWithLocation({
                                                    providerId: n.id,
                                                    path: r
                                                })) {
                                                    t.next = 24;
                                                    break
                                                }
                                                return i = {
                                                    path: r,
                                                    providerId: n.id,
                                                    sub: e.sub
                                                },
                                                s = void 0,
                                                t.prev = 3,
                                                t.next = 6,
                                                n.downloadContent(e, i);
                                            case 6:
                                                s = t.sent,
                                                t.next = 13;
                                                break;
                                            case 9:
                                                return t.prev = 9,
                                                t.t0 = t.catch(3),
                                                u.a.dispatch("notification/error", "Could not open file " + r + "."),
                                                t.abrupt("return");
                                            case 13:
                                                return c = r,
                                                l = c.lastIndexOf("/"),
                                                l > -1 && l < c.length - 1 && (c = c.slice(l + 1)),
                                                p = c.lastIndexOf("."),
                                                p > 0 && l < c.length && (c = c.slice(0, p)),
                                                t.next = 20,
                                                f.a.createFile({
                                                    name: c,
                                                    parentId: u.a.getters["file/current"].parentId,
                                                    text: s.text,
                                                    properties: s.properties,
                                                    discussions: s.discussions,
                                                    comments: s.comments
                                                }, !0);
                                            case 20:
                                                v = t.sent,
                                                u.a.commit("file/setCurrentId", v.id),
                                                f.a.addSyncLocation(a()({}, i, {
                                                    fileId: v.id
                                                })),
                                                u.a.dispatch("notification/info", u.a.getters["file/current"].name + " was imported from Dropbox.");
                                            case 24:
                                            case "end":
                                                return t.stop()
                                            }
                                    }, t, n, [[3, 9]])
                                }));
                                return function(e) {
                                    return t.apply(this, arguments)
                                }
                            }());
                        case 2:
                        case "end":
                            return r.stop()
                        }
                }, r, n)
            }))()
        },
        makeLocation: function(e, t) {
            return {
                providerId: this.id,
                sub: e.sub,
                path: t
            }
        },
        listFileRevisions: function(e) {
            var t = this
              , n = e.token
              , r = e.syncLocation;
            return c()(o.a.mark(function e() {
                var a;
                return o.a.wrap(function(e) {
                    for (; ; )
                        switch (e.prev = e.next) {
                        case 0:
                            return e.next = 2,
                            l.a.listRevisions({
                                token: n,
                                path: m(n, r.path),
                                fileId: r.dropboxFileId
                            });
                        case 2:
                            return a = e.sent,
                            e.abrupt("return", a.map(function(e) {
                                return {
                                    id: e.rev,
                                    sub: l.a.subPrefix + ":" + ((e.sharing_info || {}).modified_by || n.sub),
                                    created: new Date(e.server_modified).getTime()
                                }
                            }));
                        case 4:
                        case "end":
                            return e.stop()
                        }
                }, e, t)
            }))()
        },
        loadFileRevision: function() {
            var e = this;
            return c()(o.a.mark(function t() {
                return o.a.wrap(function(e) {
                    for (; ; )
                        switch (e.prev = e.next) {
                        case 0:
                            return e.abrupt("return", !1);
                        case 1:
                        case "end":
                            return e.stop()
                        }
                }, t, e)
            }))()
        },
        getFileRevisionContent: function(e) {
            var t = this
              , n = e.token
              , r = e.contentId
              , a = e.revisionId;
            return c()(o.a.mark(function e() {
                var i, s;
                return o.a.wrap(function(e) {
                    for (; ; )
                        switch (e.prev = e.next) {
                        case 0:
                            return e.next = 2,
                            l.a.downloadFile({
                                token: n,
                                path: "rev:" + a
                            });
                        case 2:
                            return i = e.sent,
                            s = i.content,
                            e.abrupt("return", d.a.parseContent(s, r));
                        case 5:
                        case "end":
                            return e.stop()
                        }
                }, e, t)
            }))()
        }
    })
}
, function(e, t, n) {
    "use strict";
    var r = n(3)
      , a = n.n(r)
      , i = n(6)
      , o = n.n(i)
      , s = n(5)
      , c = n.n(s)
      , u = n(2)
      , l = n(30)
      , d = n(38)
      , p = n(4)
      , f = n(36);
    t.a = new d.a({
        id: "googleDrive",
        name: "Google Drive",
        getToken: function(e) {
            var t = e.sub
              , n = u.a.getters["data/googleTokensBySub"][t];
            return n && n.isDrive ? n : null
        },
        getLocationUrl: function(e) {
            return "https://docs.google.com/file/d/" + e.driveFileId + "/edit"
        },
        getLocationDescription: function(e) {
            return e.driveFileId
        },
        initAction: function() {
            var e = this;
            return c()(o.a.mark(function t() {
                var n, r, a, i;
                return o.a.wrap(function(t) {
                    for (; ; )
                        switch (t.prev = t.next) {
                        case 0:
                            if (n = l.a.driveState || {},
                            !n.userId) {
                                t.next = 31;
                                break
                            }
                            if ((r = u.a.getters["data/googleTokensBySub"][n.userId]) && r.isDrive) {
                                t.next = 9;
                                break
                            }
                            return t.next = 6,
                            u.a.dispatch("modal/open", {
                                type: "googleDriveAccount"
                            });
                        case 6:
                            return t.next = 8,
                            l.a.addDriveAccount(!u.a.getters["data/localSettings"].googleDriveRestrictedAccess, n.userId);
                        case 8:
                            r = t.sent;
                        case 9:
                            a = function(e) {
                                var t = e && e.appProperties && e.appProperties.folderId;
                                if (t) {
                                    var n = {
                                        providerId: "googleDriveWorkspace",
                                        folderId: t
                                    }
                                      , r = p.a.makeWorkspaceId(n);
                                    u.a.getters["workspace/workspacesById"][r] && p.a.setQueryParams(n)
                                }
                            }
                            ,
                            t.t0 = n.action,
                            t.next = "create" === t.t0 ? 13 : "open" === t.t0 ? 28 : 13;
                            break;
                        case 13:
                            return t.prev = 13,
                            t.next = 16,
                            l.a.getFile(r, n.folderId);
                        case 16:
                            i = t.sent,
                            i.appProperties = i.appProperties || {},
                            l.a.driveActionFolder = i,
                            a(i),
                            t.next = 27;
                            break;
                        case 22:
                            if (t.prev = 22,
                            t.t1 = t.catch(13),
                            t.t1 && 404 === t.t1.status) {
                                t.next = 26;
                                break
                            }
                            throw t.t1;
                        case 26:
                            l.a.driveActionFolder = {
                                id: n.folderId
                            };
                        case 27:
                            return t.abrupt("break", 31);
                        case 28:
                            return t.next = 30,
                            p.a.awaitSequence(n.ids || [], function() {
                                var t = c()(o.a.mark(function t(n) {
                                    var a;
                                    return o.a.wrap(function(e) {
                                        for (; ; )
                                            switch (e.prev = e.next) {
                                            case 0:
                                                return e.next = 2,
                                                l.a.getFile(r, n);
                                            case 2:
                                                a = e.sent,
                                                a.appProperties = a.appProperties || {},
                                                l.a.driveActionFiles.push(a);
                                            case 5:
                                            case "end":
                                                return e.stop()
                                            }
                                    }, t, e)
                                }));
                                return function(e) {
                                    return t.apply(this, arguments)
                                }
                            }());
                        case 30:
                            a(l.a.driveActionFiles[0]);
                        case 31:
                        case "end":
                            return t.stop()
                        }
                }, t, e, [[13, 22]])
            }))()
        },
        performAction: function() {
            var e = this;
            return c()(o.a.mark(function t() {
                var n, r, a;
                return o.a.wrap(function(t) {
                    for (; ; )
                        switch (t.prev = t.next) {
                        case 0:
                            n = l.a.driveState || {},
                            r = u.a.getters["data/googleTokensBySub"][n.userId],
                            t.t0 = r && n.action,
                            t.next = "create" === t.t0 ? 5 : "open" === t.t0 ? 10 : 12;
                            break;
                        case 5:
                            return t.next = 7,
                            f.a.createFile({}, !0);
                        case 7:
                            return a = t.sent,
                            u.a.commit("file/setCurrentId", a.id),
                            t.abrupt("return", e.makeLocation(r, null, l.a.driveActionFolder.id));
                        case 10:
                            return u.a.dispatch("queue/enqueue", function() {
                                return e.openFiles(r, l.a.driveActionFiles)
                            }),
                            t.abrupt("return", null);
                        case 12:
                            return t.abrupt("return", null);
                        case 13:
                        case "end":
                            return t.stop()
                        }
                }, t, e)
            }))()
        },
        downloadContent: function(e, t) {
            var n = this;
            return c()(o.a.mark(function r() {
                var a;
                return o.a.wrap(function(n) {
                    for (; ; )
                        switch (n.prev = n.next) {
                        case 0:
                            return n.next = 2,
                            l.a.downloadFile(e, t.driveFileId);
                        case 2:
                            return a = n.sent,
                            n.abrupt("return", d.a.parseContent(a, t.fileId + "/content"));
                        case 4:
                        case "end":
                            return n.stop()
                        }
                }, r, n)
            }))()
        },
        uploadContent: function(e, t, n, r) {
            var i = this;
            return c()(o.a.mark(function s() {
                var c, f, v, m;
                return o.a.wrap(function(i) {
                    for (; ; )
                        switch (i.prev = i.next) {
                        case 0:
                            return c = u.a.state.file.itemsById[n.fileId],
                            f = p.a.sanitizeName(c && c.name),
                            v = [],
                            n.driveParentId && v.push(n.driveParentId),
                            i.next = 6,
                            l.a.uploadFile({
                                token: e,
                                name: f,
                                parents: v,
                                media: d.a.serializeContent(t),
                                fileId: n.driveFileId,
                                ifNotTooLate: r
                            });
                        case 6:
                            return m = i.sent,
                            i.abrupt("return", a()({}, n, {
                                driveFileId: m.id
                            }));
                        case 8:
                        case "end":
                            return i.stop()
                        }
                }, s, i)
            }))()
        },
        publish: function(e, t, n, r) {
            var i = this;
            return c()(o.a.mark(function s() {
                var c;
                return o.a.wrap(function(i) {
                    for (; ; )
                        switch (i.prev = i.next) {
                        case 0:
                            return i.next = 2,
                            l.a.uploadFile({
                                token: e,
                                name: n.title,
                                parents: [],
                                media: t,
                                mediaType: r.templateId ? "text/html" : void 0,
                                fileId: r.driveFileId
                            });
                        case 2:
                            return c = i.sent,
                            i.abrupt("return", a()({}, r, {
                                driveFileId: c.id
                            }));
                        case 4:
                        case "end":
                            return i.stop()
                        }
                }, s, i)
            }))()
        },
        openFiles: function(e, t) {
            var n = this;
            return c()(o.a.mark(function r() {
                return o.a.wrap(function(r) {
                    for (; ; )
                        switch (r.prev = r.next) {
                        case 0:
                            return r.abrupt("return", p.a.awaitSequence(t, function() {
                                var t = c()(o.a.mark(function t(r) {
                                    var i, s, c;
                                    return o.a.wrap(function(t) {
                                        for (; ; )
                                            switch (t.prev = t.next) {
                                            case 0:
                                                if (d.a.openFileWithLocation({
                                                    providerId: n.id,
                                                    driveFileId: r.id
                                                })) {
                                                    t.next = 19;
                                                    break
                                                }
                                                return i = {
                                                    driveFileId: r.id,
                                                    providerId: n.id,
                                                    sub: e.sub
                                                },
                                                s = void 0,
                                                t.prev = 3,
                                                t.next = 6,
                                                n.downloadContent(e, i);
                                            case 6:
                                                s = t.sent,
                                                t.next = 13;
                                                break;
                                            case 9:
                                                return t.prev = 9,
                                                t.t0 = t.catch(3),
                                                u.a.dispatch("notification/error", "Could not open file " + r.id + "."),
                                                t.abrupt("return");
                                            case 13:
                                                return t.next = 15,
                                                f.a.createFile({
                                                    name: r.name,
                                                    parentId: u.a.getters["file/current"].parentId,
                                                    text: s.text,
                                                    properties: s.properties,
                                                    discussions: s.discussions,
                                                    comments: s.comments
                                                }, !0);
                                            case 15:
                                                c = t.sent,
                                                u.a.commit("file/setCurrentId", c.id),
                                                f.a.addSyncLocation(a()({}, i, {
                                                    fileId: c.id
                                                })),
                                                u.a.dispatch("notification/info", u.a.getters["file/current"].name + " was imported from Google Drive.");
                                            case 19:
                                            case "end":
                                                return t.stop()
                                            }
                                    }, t, n, [[3, 9]])
                                }));
                                return function(e) {
                                    return t.apply(this, arguments)
                                }
                            }()));
                        case 1:
                        case "end":
                            return r.stop()
                        }
                }, r, n)
            }))()
        },
        makeLocation: function(e, t, n) {
            var r = {
                providerId: this.id,
                sub: e.sub
            };
            return t && (r.driveFileId = t),
            n && (r.driveParentId = n),
            r
        },
        listFileRevisions: function(e) {
            var t = this
              , n = e.token
              , r = e.syncLocation;
            return c()(o.a.mark(function e() {
                var a;
                return o.a.wrap(function(e) {
                    for (; ; )
                        switch (e.prev = e.next) {
                        case 0:
                            return e.next = 2,
                            l.a.getFileRevisions(n, r.driveFileId);
                        case 2:
                            return a = e.sent,
                            e.abrupt("return", a.map(function(e) {
                                return {
                                    id: e.id,
                                    sub: l.a.subPrefix + ":" + e.lastModifyingUser.permissionId,
                                    created: new Date(e.modifiedTime).getTime()
                                }
                            }));
                        case 4:
                        case "end":
                            return e.stop()
                        }
                }, e, t)
            }))()
        },
        loadFileRevision: function() {
            var e = this;
            return c()(o.a.mark(function t() {
                return o.a.wrap(function(e) {
                    for (; ; )
                        switch (e.prev = e.next) {
                        case 0:
                            return e.abrupt("return", !1);
                        case 1:
                        case "end":
                            return e.stop()
                        }
                }, t, e)
            }))()
        },
        getFileRevisionContent: function(e) {
            var t = this
              , n = e.token
              , r = e.contentId
              , a = e.syncLocation
              , i = e.revisionId;
            return c()(o.a.mark(function e() {
                var s;
                return o.a.wrap(function(e) {
                    for (; ; )
                        switch (e.prev = e.next) {
                        case 0:
                            return e.next = 2,
                            l.a.downloadFileRevision(n, a.driveFileId, i);
                        case 2:
                            return s = e.sent,
                            e.abrupt("return", d.a.parseContent(s, r));
                        case 4:
                        case "end":
                            return e.stop()
                        }
                }, e, t)
            }))()
        }
    })
}
, function(e, t, n) {
    "use strict";
    var r = n(6)
      , a = n.n(r)
      , i = n(5)
      , o = n.n(i)
      , s = n(3)
      , c = n.n(s)
      , u = n(56)
      , l = n(2)
      , d = n(12)
      , p = function(e, t) {
        return u.a.request(c()({}, t, {
            headers: c()({}, t.headers || {}, {
                Authorization: "Bearer " + e.accessToken
            })
        })).then(function(e) {
            return e.body
        })
    };
    t.a = {
        startOauth2: function() {
            var e = this
              , t = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : null
              , n = arguments.length > 1 && void 0 !== arguments[1] && arguments[1];
            return o()(a.a.mark(function r() {
                var i, o, s, c, d, f;
                return a.a.wrap(function(e) {
                    for (; ; )
                        switch (e.prev = e.next) {
                        case 0:
                            return i = l.a.getters["data/serverConf"].wordpressClientId,
                            e.next = 3,
                            u.a.startOauth2("https://public-api.wordpress.com/oauth2/authorize", {
                                client_id: i,
                                response_type: "token",
                                scope: "global"
                            }, n);
                        case 3:
                            return o = e.sent,
                            s = o.accessToken,
                            c = o.expiresIn,
                            e.next = 8,
                            p({
                                accessToken: s
                            }, {
                                url: "https://public-api.wordpress.com/rest/v1.1/me"
                            });
                        case 8:
                            if (d = e.sent,
                            !t || "" + d.ID === t) {
                                e.next = 11;
                                break
                            }
                            throw new Error("WordPress account ID not expected.");
                        case 11:
                            return f = {
                                accessToken: s,
                                expiresOn: Date.now() + 1e3 * c,
                                name: d.display_name,
                                sub: "" + d.ID
                            },
                            l.a.dispatch("data/addWordpressToken", f),
                            e.abrupt("return", f);
                        case 14:
                        case "end":
                            return e.stop()
                        }
                }, r, e)
            }))()
        },
        refreshToken: function(e) {
            var t = this;
            return o()(a.a.mark(function n() {
                var r, i;
                return a.a.wrap(function(n) {
                    for (; ; )
                        switch (n.prev = n.next) {
                        case 0:
                            if (r = e.sub,
                            i = l.a.getters["data/wordpressTokensBySub"][r],
                            !(i.expiresOn > Date.now() + 3e5)) {
                                n.next = 4;
                                break
                            }
                            return n.abrupt("return", i);
                        case 4:
                            return n.next = 6,
                            l.a.dispatch("modal/open", {
                                type: "providerRedirection",
                                name: "WordPress"
                            });
                        case 6:
                            return n.abrupt("return", t.startOauth2(r));
                        case 7:
                        case "end":
                            return n.stop()
                        }
                }, n, t)
            }))()
        },
        addAccount: function() {
            var e = this
              , t = arguments.length > 0 && void 0 !== arguments[0] && arguments[0];
            return o()(a.a.mark(function n() {
                var r;
                return a.a.wrap(function(n) {
                    for (; ; )
                        switch (n.prev = n.next) {
                        case 0:
                            return n.next = 2,
                            e.startOauth2(t);
                        case 2:
                            return r = n.sent,
                            d.a.addBadge("addWordpressAccount"),
                            n.abrupt("return", r);
                        case 5:
                        case "end":
                            return n.stop()
                        }
                }, n, e)
            }))()
        },
        uploadPost: function(e) {
            var t = this
              , n = e.token
              , r = e.domain
              , i = e.siteId
              , s = e.postId
              , c = e.title
              , u = e.content
              , l = e.tags
              , d = e.categories
              , f = e.excerpt
              , v = e.author
              , m = e.featuredImage
              , h = e.status
              , g = e.date;
            return o()(a.a.mark(function e() {
                var o;
                return a.a.wrap(function(e) {
                    for (; ; )
                        switch (e.prev = e.next) {
                        case 0:
                            return e.next = 2,
                            t.refreshToken(n);
                        case 2:
                            return o = e.sent,
                            e.abrupt("return", p(o, {
                                method: "POST",
                                url: "https://public-api.wordpress.com/rest/v1.2/sites/" + (i || r) + "/posts/" + (s || "new"),
                                body: {
                                    content: u,
                                    title: c,
                                    tags: l,
                                    categories: d,
                                    excerpt: f,
                                    author: v,
                                    featured_image: m || "",
                                    status: h,
                                    date: g && g.toISOString()
                                }
                            }));
                        case 4:
                        case "end":
                            return e.stop()
                        }
                }, e, t)
            }))()
        }
    }
}
, function(e, t, n) {
    "use strict";
    var r = n(6)
      , a = n.n(r)
      , i = n(5)
      , o = n.n(i)
      , s = n(3)
      , c = n.n(s)
      , u = n(56)
      , l = n(2)
      , d = n(12)
      , p = function(e, t) {
        return u.a.request(c()({}, t, {
            headers: c()({}, t.headers || {}, {
                Authorization: "Bearer " + e.accessToken
            })
        })).then(function(e) {
            return e.body
        })
    };
    t.a = {
        startOauth2: function(e, t) {
            var n = this
              , r = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : null
              , i = arguments.length > 3 && void 0 !== arguments[3] && arguments[3];
            return o()(a.a.mark(function o() {
                var s, c, d, f, v, m;
                return a.a.wrap(function(n) {
                    for (; ; )
                        switch (n.prev = n.next) {
                        case 0:
                            return n.next = 2,
                            u.a.startOauth2("https://" + e + ".zendesk.com/oauth/authorizations/new", {
                                client_id: t,
                                response_type: "token",
                                scope: "read hc:write"
                            }, i);
                        case 2:
                            return s = n.sent,
                            c = s.accessToken,
                            n.next = 6,
                            p({
                                accessToken: c
                            }, {
                                url: "https://" + e + ".zendesk.com/api/v2/users/me.json"
                            });
                        case 6:
                            if (d = n.sent,
                            f = d.user,
                            v = e + "/" + f.id,
                            !r || v === r) {
                                n.next = 11;
                                break
                            }
                            throw new Error("Zendesk account ID not expected.");
                        case 11:
                            return m = {
                                accessToken: c,
                                name: f.name,
                                subdomain: e,
                                sub: v
                            },
                            l.a.dispatch("data/addZendeskToken", m),
                            n.abrupt("return", m);
                        case 14:
                        case "end":
                            return n.stop()
                        }
                }, o, n)
            }))()
        },
        addAccount: function(e, t) {
            var n = this;
            return o()(a.a.mark(function r() {
                var i;
                return a.a.wrap(function(r) {
                    for (; ; )
                        switch (r.prev = r.next) {
                        case 0:
                            return r.next = 2,
                            n.startOauth2(e, t);
                        case 2:
                            return i = r.sent,
                            d.a.addBadge("addZendeskAccount"),
                            r.abrupt("return", i);
                        case 5:
                        case "end":
                            return r.stop()
                        }
                }, r, n)
            }))()
        },
        uploadArticle: function(e) {
            var t = this
              , n = e.token
              , r = e.sectionId
              , i = e.articleId
              , s = e.title
              , c = e.content
              , u = e.labels
              , l = e.locale
              , d = e.isDraft;
            return o()(a.a.mark(function e() {
                var o, f;
                return a.a.wrap(function(e) {
                    for (; ; )
                        switch (e.prev = e.next) {
                        case 0:
                            if (o = {
                                title: s,
                                body: c,
                                locale: l,
                                draft: d
                            },
                            !i) {
                                e.next = 8;
                                break
                            }
                            return e.next = 4,
                            p(n, {
                                method: "PUT",
                                url: "https://" + n.subdomain + ".zendesk.com/api/v2/help_center/articles/" + i + "/translations/" + l + ".json",
                                body: {
                                    translation: o
                                }
                            });
                        case 4:
                            if (!u) {
                                e.next = 7;
                                break
                            }
                            return e.next = 7,
                            p(n, {
                                method: "PUT",
                                url: "https://" + n.subdomain + ".zendesk.com/api/v2/help_center/articles/" + i + ".json",
                                body: {
                                    article: {
                                        label_names: u
                                    }
                                }
                            });
                        case 7:
                            return e.abrupt("return", i);
                        case 8:
                            return u && (o.label_names = u),
                            e.next = 11,
                            p(n, {
                                method: "POST",
                                url: "https://" + n.subdomain + ".zendesk.com/api/v2/help_center/sections/" + r + "/articles.json",
                                body: {
                                    article: o
                                }
                            });
                        case 11:
                            return f = e.sent,
                            e.abrupt("return", "" + f.article.id);
                        case 13:
                        case "end":
                            return e.stop()
                        }
                }, e, t)
            }))()
        }
    }
}
, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , function(e, t, n) {
    "use strict";
    var r = n(2077)
      , a = n(739)
      , i = (n(2036),
    n(0))
      , o = n.i(i.a)(a.a, r.a, r.b, !1, null, null, null);
    t.a = o.exports
}
, function(e, t, n) {
    "use strict";
    var r = n(2125)
      , a = n(785)
      , i = n(0)
      , o = n.i(i.a)(a.a, r.a, r.b, !1, null, null, null);
    t.a = o.exports
}
, , , , , , function(e, t, n) {
    "use strict";
    var r = n(3)
      , a = n.n(r)
      , i = n(37)
      , o = n.n(i)
      , s = n(67)
      , c = n.n(s)
      , u = n(65)
      , l = n(27)
      , d = n(4)
      , p = []
      , f = u.a.Utils.debounce(function() {
        for (; p.length; )
            p.shift()()
    })
      , v = function(e) {
        p.push(e),
        f()
    }
      , m = function() {
        function e(t, n, r) {
            var a = this;
            o()(this, e),
            this.classGetter = "function" == typeof t ? t : function() {
                return t
            }
            ,
            this.offsetGetter = "function" == typeof n ? n : function() {
                return n
            }
            ,
            this.properties = r || {},
            this.eltCollection = l.a.previewElt.getElementsByClassName(this.classGetter()[0]),
            this.lastEltCount = this.eltCollection.length,
            this.restoreClass = function() {
                l.a.previewCtxWithDiffs ? a.eltCollection.length && a.eltCollection.length === a.lastEltCount || (a.removeClass(),
                a.applyClass()) : a.removeClass()
            }
            ,
            l.a.$on("previewCtxWithDiffs", this.restoreClass),
            v(function() {
                return a.restoreClass()
            })
        }
        return c()(e, [{
            key: "applyClass",
            value: function() {
                if (!this.stopped) {
                    var e = this.offsetGetter();
                    if (e) {
                        var t = l.a.getPreviewOffset(e.start, l.a.previewCtx.sectionDescList)
                          , n = l.a.getPreviewOffset(e.end, l.a.previewCtx.sectionDescList);
                        if (null != t && null != n && t !== n) {
                            var r = u.a.Utils.findContainer(l.a.previewElt, Math.min(t, n))
                              , i = u.a.Utils.findContainer(l.a.previewElt, Math.max(t, n))
                              , o = document.createRange();
                            o.setStart(r.container, r.offsetInContainer),
                            o.setEnd(i.container, i.offsetInContainer);
                            var s = a()({}, this.properties, {
                                className: this.classGetter().join(" ")
                            });
                            d.a.wrapRange(o, s),
                            this.lastEltCount = this.eltCollection.length
                        }
                    }
                }
            }
        }, {
            key: "removeClass",
            value: function() {
                d.a.unwrapRange(this.eltCollection)
            }
        }, {
            key: "stop",
            value: function() {
                var e = this;
                l.a.$off("previewCtxWithDiffs", this.restoreClass),
                v(function() {
                    return e.removeClass()
                }),
                this.stopped = !0
            }
        }]),
        e
    }();
    t.a = m
}
, function(e, t, n) {
    "use strict";
    t.a = function() {
        return {
            id: arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : null,
            type: "content",
            text: "\n",
            properties: "\n",
            discussions: {},
            comments: {},
            hash: 0
        }
    }
}
, function(e, t, n) {
    "use strict";
    t.a = function() {
        return {
            id: arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : null,
            type: "file",
            name: "",
            parentId: null,
            hash: 0
        }
    }
}
, function(e, t, n) {
    "use strict";
    t.a = function() {
        return {
            id: arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : null,
            type: "folder",
            name: "",
            parentId: null,
            hash: 0
        }
    }
}
, function(e, t, n) {
    "use strict";
    t.a = [{}, {
        method: "bold",
        title: "Bold",
        icon: "format-bold"
    }, {
        method: "italic",
        title: "Italic",
        icon: "format-italic"
    }, {
        method: "heading",
        title: "Heading",
        icon: "format-size"
    }, {
        method: "strikethrough",
        title: "Strikethrough",
        icon: "format-strikethrough"
    }, {}, {
        method: "ulist",
        title: "Unordered list",
        icon: "format-list-bulleted"
    }, {
        method: "olist",
        title: "Ordered list",
        icon: "format-list-numbers"
    }, {
        method: "clist",
        title: "Check list",
        icon: "format-list-checks"
    }, {}, {
        method: "quote",
        title: "Blockquote",
        icon: "format-quote-close"
    }, {
        method: "code",
        title: "Code",
        icon: "code-tags"
    }, {
        method: "table",
        title: "Table",
        icon: "table"
    }, {
        method: "link",
        title: "Link",
        icon: "link-variant"
    }, {
        method: "image",
        title: "Image",
        icon: "file-image-csdn"
    }]
}
, function(e, t, n) {
    "use strict";
    var r = {
        markdown: {
            abbr: !1,
            breaks: !1,
            deflist: !1,
            del: !1,
            fence: !1,
            footnote: !1,
            imgsize: !1,
            linkify: !1,
            mark: !1,
            sub: !1,
            sup: !1,
            table: !1,
            tasklist: !1,
            typographer: !1
        },
        emoji: {
            enabled: !1,
            shortcuts: !1
        },
        abc: {
            enabled: !1
        },
        katex: {
            enabled: !1
        },
        mermaid: {
            enabled: !1
        }
    };
    t.a = {
        zero: [r],
        commonmark: [r, {
            markdown: {
                fence: !0
            }
        }],
        gfm: [r, {
            markdown: {
                breaks: !0,
                del: !0,
                fence: !0,
                linkify: !0,
                table: !0,
                tasklist: !0
            },
            emoji: {
                enabled: !0
            }
        }],
        default: [r, {
            markdown: {
                abbr: !0,
                breaks: !0,
                deflist: !0,
                del: !0,
                fence: !0,
                footnote: !0,
                imgsize: !0,
                linkify: !0,
                mark: !0,
                sub: !0,
                sup: !0,
                table: !0,
                tasklist: !0,
                typographer: !0
            },
            emoji: {
                enabled: !0
            },
            katex: {
                enabled: !0
            },
            mermaid: {
                enabled: !0
            },
            abc: {
                enabled: !0
            }
        }]
    }
}
, function(e, t, n) {
    "use strict";
    function r(e) {
        return d.cl_reduce.call(e, function(e, t, n) {
            return e[n] = {
                value: t,
                configurable: !0
            },
            e
        }, {})
    }
    var a = n(912)
      , i = n.n(a)
      , o = n(20)
      , s = n.n(o)
      , c = {}
      , u = {}
      , l = {}
      , d = {}
      , p = Array.prototype.slice;
    c.cl_each = function(e) {
        for (var t = 0, n = this.length; t < n; t++)
            e(this[t], t, this)
    }
    ,
    c.cl_map = function(e) {
        for (var t = 0, n = this.length, r = Array(n); t < n; t++)
            r[t] = e(this[t], t, this);
        return r
    }
    ,
    c.cl_reduce = function(e, t) {
        for (var n = 0, r = this.length; n < r; n++)
            t = e(t, this[n], n, this);
        return t
    }
    ,
    c.cl_some = function(e) {
        for (var t = 0, n = this.length; t < n; t++)
            if (e(this[t], t, this))
                return !0
    }
    ,
    c.cl_filter = function(e) {
        for (var t = 0, n = this.length, r = []; t < n; t++)
            e(this[t], t, this) && r.push(this[t]);
        return r
    }
    ,
    u.cl_each = function(e) {
        p.call(this).cl_each(e)
    }
    ,
    u.cl_map = function(e) {
        return p.call(this).cl_map(e)
    }
    ,
    u.cl_filter = function(e) {
        return p.call(this).cl_filter(e)
    }
    ,
    u.cl_reduce = function(e, t) {
        return p.call(this).cl_reduce(e, t)
    }
    ,
    l.cl_bind = function(e) {
        var t = this
          , n = p.call(arguments, 1);
        return e = e || null,
        n.length ? function() {
            return arguments.length ? t.apply(e, n.concat(p.call(arguments))) : t.apply(e, n)
        }
        : function() {
            return arguments.length ? t.apply(e, arguments) : t.call(e)
        }
    }
    ,
    d.cl_each = function(e) {
        for (var t = 0, n = s()(this), r = n.length; t < r; t++)
            e(this[n[t]], n[t], this)
    }
    ,
    d.cl_map = function(e) {
        for (var t = 0, n = s()(this), r = n.length, a = Array(r); t < r; t++)
            a[t] = e(this[n[t]], n[t], this);
        return a
    }
    ,
    d.cl_reduce = function(e, t) {
        for (var n = 0, r = s()(this), a = r.length; n < a; n++)
            t = e(t, this[r[n]], r[n], this);
        return t
    }
    ,
    d.cl_some = function(e) {
        for (var t = 0, n = s()(this), r = n.length; t < r; t++)
            if (e(this[n[t]], n[t], this))
                return !0
    }
    ,
    d.cl_extend = function(e) {
        if (e)
            for (var t = 0, n = s()(e), r = n.length; t < r; t++)
                this[n[t]] = e[n[t]];
        return this
    }
    ,
    c = r(c),
    u = r(u),
    l = r(l),
    d = r(d),
    i()(Array.prototype, c),
    i()(Int8Array.prototype, c),
    i()(Uint8Array.prototype, c),
    i()(Uint8ClampedArray.prototype, c),
    i()(Int16Array.prototype, c),
    i()(Uint16Array.prototype, c),
    i()(Int32Array.prototype, c),
    i()(Uint32Array.prototype, c),
    i()(Float32Array.prototype, c),
    i()(Float64Array.prototype, c),
    i()(Function.prototype, l),
    i()(Object.prototype, d),
    "undefined" != typeof window && (i()(HTMLCollection.prototype, u),
    i()(NodeList.prototype, u))
}
, function(e, t, n) {
    "use strict";
    function r(e, t, n) {
        if (!e || !e.discussions)
            return null;
        var r = [];
        m()(e.discussions).sort().forEach(function(a) {
            function i(e) {
                var i = a + e;
                if (void 0 !== o[e]) {
                    var s = n[i];
                    void 0 === s && (s = t.length,
                    n[i] = s,
                    t.push({
                        id: a,
                        offsetName: e
                    })),
                    r.push({
                        idx: s,
                        offset: o[e]
                    })
                }
            }
            var o = e.discussions[a];
            i("start"),
            i("end")
        });
        var a = 0
          , i = "";
        return r.sort(function(e, t) {
            return e.offset - t.offset
        }).forEach(function(t) {
            i += e.text.slice(a, t.offset) + String.fromCharCode(57344 + t.idx),
            a = t.offset
        }),
        i + e.text.slice(a)
    }
    function a(e) {
        if (null == e)
            return e;
        var t = {};
        return m()(e).forEach(function(n) {
            t[n] = {
                text: e[n].text
            }
        }),
        t
    }
    function i(e, t) {
        if (t.length) {
            var n = 0;
            e.text = e.text.replace(new RegExp("[-" + String.fromCharCode(57344 + t.length - 1) + "]","g"), function(r, a) {
                var i = r.charCodeAt(0) - 57344
                  , o = t[i]
                  , s = e.discussions[o.id];
                return s && (s[o.offsetName] = a - n),
                n += 1,
                ""
            }),
            m()(e.discussions).forEach(function(t) {
                var n = e.discussions[t];
                void 0 === n.start && (n.start = n.end || 0),
                (void 0 === n.end || n.end < n.start) && (n.end = n.start)
            })
        }
    }
    function o(e, t, n) {
        var r = _.diff_main(e, t);
        _.diff_cleanupSemantic(r);
        var a = r.map(function(e) {
            return e[1]
        }).join("");
        if (!n)
            return a;
        var i = r.filter(function(e) {
            return e[0] === g.a.DIFF_EQUAL
        }).map(function(e) {
            return e[1]
        }).join("")
          , o = _.diff_main(n, i).filter(function(e) {
            return e[0] !== g.a.DIFF_INSERT
        });
        _.diff_cleanupSemantic(o);
        var s = _.patch_make(n, o);
        return _.patch_apply(s, a)[0]
    }
    function s(e, t, n) {
        if (!n)
            return e || t;
        var r = b.a.serializeObject(t)
          , a = b.a.serializeObject(e);
        if (r === a)
            return e;
        var i = b.a.serializeObject(n);
        return i === r || e ? (i === a || t) && i !== r && i === a ? t : e : t
    }
    function c(e, t) {
        var n = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {}
          , r = {};
        return m()(f()({}, t, e)).forEach(function(a) {
            var i = s(e[a], t[a], n[a]);
            null != i && (r[a] = i)
        }),
        b.a.deepCopy(r)
    }
    function u(e, t) {
        var n = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {}
          , u = []
          , l = d()(null)
          , p = r(n, u, l)
          , f = r(e, u, l)
          , v = r(t, u, l)
          , m = p !== f
          , h = p !== v
          , g = f === v
          , b = v;
        !g && m && (b = f,
        h && (b = o(f, v, p)));
        var _ = {
            text: b,
            properties: s(e.properties, t.properties, n.properties),
            discussions: c(a(e.discussions), a(t.discussions), a(n.discussions)),
            comments: c(e.comments, t.comments, n.comments)
        };
        return i(_, u),
        _
    }
    var l = n(91)
      , d = n.n(l)
      , p = n(3)
      , f = n.n(p)
      , v = n(20)
      , m = n.n(v)
      , h = n(112)
      , g = n.n(h)
      , b = n(4)
      , _ = new g.a;
    _.Match_Distance = 1e4,
    t.a = {
        makePatchableText: r,
        restoreDiscussionOffsets: i,
        mergeObjects: c,
        mergeContent: u
    }
}
, function(e, t, n) {
    "use strict";
    var r = n(6)
      , a = n.n(r)
      , i = n(5)
      , o = n.n(i)
      , s = n(2)
      , c = n(36)
      , u = n(12);
    t.a = {
        newItem: function() {
            var e = arguments.length > 0 && void 0 !== arguments[0] && arguments[0]
              , t = s.a.getters["explorer/selectedNodeFolder"].item.id;
            ("trash" === t || e && "temp" === t) && (t = null),
            s.a.dispatch("explorer/openNode", t),
            s.a.commit("explorer/setNewItem", {
                type: e ? "folder" : "file",
                parentId: t
            })
        },
        deleteItem: function() {
            var e = this;
            return o()(a.a.mark(function t() {
                var n, r, i, o, l, d;
                return a.a.wrap(function(e) {
                    for (; ; )
                        switch (e.prev = e.next) {
                        case 0:
                            if (n = s.a.getters["explorer/selectedNode"],
                            !n.isNil) {
                                e.next = 3;
                                break
                            }
                            return e.abrupt("return");
                        case 3:
                            if (!n.isTrash && "trash" !== n.item.parentId) {
                                e.next = 12;
                                break
                            }
                            return e.prev = 4,
                            e.next = 7,
                            s.a.dispatch("modal/open", "trashDeletion");
                        case 7:
                            e.next = 11;
                            break;
                        case 9:
                            e.prev = 9,
                            e.t0 = e.catch(4);
                        case 11:
                            return e.abrupt("return");
                        case 12:
                            if (r = !0,
                            e.prev = 13,
                            !n.isTemp) {
                                e.next = 20;
                                break
                            }
                            return e.next = 17,
                            s.a.dispatch("modal/open", "tempFolderDeletion");
                        case 17:
                            r = !1,
                            e.next = 29;
                            break;
                        case 20:
                            if ("temp" !== n.item.parentId) {
                                e.next = 26;
                                break
                            }
                            return e.next = 23,
                            s.a.dispatch("modal/open", {
                                type: "tempFileDeletion",
                                item: n.item
                            });
                        case 23:
                            r = !1,
                            e.next = 29;
                            break;
                        case 26:
                            if (!n.isFolder) {
                                e.next = 29;
                                break
                            }
                            return e.next = 29,
                            s.a.dispatch("modal/open", {
                                type: "folderDeletion",
                                item: n.item
                            });
                        case 29:
                            e.next = 34;
                            break;
                        case 31:
                            return e.prev = 31,
                            e.t1 = e.catch(13),
                            e.abrupt("return");
                        case 34:
                            i = function(e) {
                                r ? c.a.setOrPatchItem({
                                    id: e,
                                    parentId: "trash"
                                }) : c.a.deleteFile(e)
                            }
                            ,
                            n === s.a.getters["explorer/selectedNode"] && (o = s.a.getters["file/current"].id,
                            l = n.item.id === o,
                            n.isFolder ? (d = function e(t) {
                                t.folders.forEach(e),
                                t.files.forEach(function(e) {
                                    l = l || e.item.id === o,
                                    i(e.item.id)
                                }),
                                s.a.commit("folder/deleteItem", t.item.id)
                            }
                            ,
                            d(n),
                            u.a.addBadge("removeFolder")) : (i(n.item.id),
                            u.a.addBadge("removeFile")),
                            l && s.a.getters["data/lastOpenedIds"].some(function(e) {
                                return "trash" !== s.a.state.file.itemsById[e].parentId && (s.a.commit("file/setCurrentId", e),
                                !0)
                            }));
                        case 36:
                        case "end":
                            return e.stop()
                        }
                }, t, e, [[4, 9], [13, 31]])
            }))()
        }
    }
}
, function(e, t, n) {
    "use strict";
    var r = n(3)
      , a = n.n(r)
      , i = n(20)
      , o = n.n(i)
      , s = n(15)
      , c = n.n(s)
      , u = n(19)
      , l = n.n(u)
      , d = n(91)
      , p = n.n(d)
      , f = n(2)
      , v = n(4)
      , m = function(e, t) {
        return e.slice(-t.length) === t
    };
    t.a = {
        shaByPath: p()(null),
        makeChanges: function(e) {
            var t = this
              , n = f.a.getters["workspace/currentWorkspace"].path || "";
            this.shaByPath = p()(null);
            var r = p()(null)
              , i = p()(null)
              , s = p()(null)
              , u = p()(null)
              , d = p()(null);
            e.filter(function(e) {
                var t = e.type
                  , r = e.path;
                return "blob" === t && 0 === r.indexOf(n)
            }).forEach(function(e) {
                var a = e.path.slice(n.length);
                if (t.shaByPath[a] = e.sha,
                0 === a.indexOf(".stackedit-data/"))
                    s[a] = !0;
                else {
                    var o = "";
                    a.split("/").slice(0, -1).forEach(function(e) {
                        var t = "" + o + e + "/";
                        r[t] = o,
                        o = t
                    }),
                    m(a, ".md") ? i[a] = o : m(a, ".sync") ? u[a] = !0 : m(a, ".publish") && (d[a] = !0)
                }
            });
            var h = []
              , g = {}
              , b = f.a.getters["data/syncDataById"]
              , _ = f.a.getters.itemIdsByGitPath
              , w = function(e, t) {
                var n = g[e];
                if (!n) {
                    var r = _[e];
                    n = r && (!t || b[e] || b["/" + e]) ? r : v.a.uid(),
                    t && (g["/" + e] = n + "/content"),
                    g[e] = n
                }
                return n
            };
            l()(r).forEach(function(e) {
                var t = c()(e, 2)
                  , n = t[0]
                  , r = t[1];
                if (".stackedit-trash/" === n)
                    g[n] = "trash";
                else {
                    var a = v.a.addItemHash({
                        id: w(n),
                        type: "folder",
                        name: n.slice(r.length, -1),
                        parentId: g[r] || null
                    })
                      , i = b[n];
                    i && i.hash === a.hash || h.push({
                        syncDataId: n,
                        item: a,
                        syncData: {
                            id: n,
                            type: a.type,
                            hash: a.hash
                        }
                    })
                }
            }),
            l()(i).forEach(function(e) {
                var n = c()(e, 2)
                  , r = n[0]
                  , a = n[1]
                  , i = w(r, !0)
                  , o = "/" + r
                  , s = g[o]
                  , u = v.a.addItemHash({
                    id: i,
                    type: "file",
                    name: r.slice(a.length, -".md".length),
                    parentId: g[a] || null
                })
                  , l = b[r];
                l && l.hash === u.hash || h.push({
                    syncDataId: r,
                    item: u,
                    syncData: {
                        id: r,
                        type: u.type,
                        hash: u.hash
                    }
                });
                var d = b[o];
                if (!d || d.sha !== t.shaByPath[r]) {
                    h.push({
                        syncDataId: o,
                        item: {
                            id: s,
                            type: "content",
                            hash: 1
                        },
                        syncData: {
                            id: o,
                            type: "content",
                            hash: 1
                        }
                    })
                }
            });
            var y = f.a.getters["data/syncDataByItemId"];
            return o()(s).forEach(function(e) {
                var n = e.match(/^\.stackedit-data\/(templates)\.json$/) || []
                  , r = c()(n, 2)
                  , a = r[1];
                if (a) {
                    g[e] = a;
                    var i = y[a];
                    if (!i || i.sha !== t.shaByPath[e]) {
                        h.push({
                            syncDataId: e,
                            item: {
                                id: a,
                                type: "data",
                                hash: 1
                            },
                            syncData: {
                                id: e,
                                type: "data",
                                hash: 1
                            }
                        })
                    }
                }
            }),
            [{
                type: "syncLocation",
                map: u,
                pathMatcher: /^([\s\S]+)\.([\w-]+)\.sync$/
            }, {
                type: "publishLocation",
                map: d,
                pathMatcher: /^([\s\S]+)\.([\w-]+)\.publish$/
            }].forEach(function(e) {
                var t = e.type
                  , n = e.map
                  , r = e.pathMatcher;
                return o()(n).forEach(function(e) {
                    var n = e.match(r) || []
                      , i = c()(n, 3)
                      , o = i[1]
                      , s = i[2];
                    if (o) {
                        var u = g[o + ".md"];
                        if (u) {
                            var l = _[e] || v.a.uid();
                            g[e] = l;
                            var d = v.a.addItemHash(a()({}, JSON.parse(v.a.decodeBase64(s)), {
                                id: l,
                                type: t,
                                fileId: u
                            }))
                              , p = b[e];
                            p && p.hash === d.hash || h.push({
                                syncDataId: e,
                                item: d,
                                syncData: {
                                    id: e,
                                    type: d.type,
                                    hash: d.hash
                                }
                            })
                        }
                    }
                })
            }),
            o()(b).forEach(function(e) {
                g[e] || h.push({
                    syncDataId: e
                })
            }),
            h
        }
    }
}
, function(e, t, n) {
    "use strict";
    var r = n(15)
      , a = n.n(r)
      , i = n(19)
      , o = n.n(i)
      , s = new RegExp("(https?|ftp)(://(&|[-A-Z0-9+@#/%?=~_|[\\]()!:,.;])*(&|[-A-Z0-9+@#/%=~_|[\\])]))(?=$|\\W)","gi")
      , c = /(?:mailto:)?([-.\w]+@[-a-z0-9]+(\.[-a-z0-9]+)*\.[a-z]+)/gi
      , u = {
        comment: /<!--[\w\W]*?-->/g,
        tag: {
            pattern: /<\/?[\w:-]+\s*(?:\s+[\w:-]+(?:=(?:("|')(\\?[\w\W])*?\1|[^\s'">=]+))?\s*)*\/?>/gi,
            inside: {
                tag: {
                    pattern: /^<\/?[\w:-]+/i,
                    inside: {
                        punctuation: /^<\/?/,
                        namespace: /^[\w-]+?:/
                    }
                },
                "attr-value": {
                    pattern: /=(?:('|")[\w\W]*?(\1)|[^\s>]+)/gi,
                    inside: {
                        punctuation: /=|>|"/g
                    }
                },
                punctuation: /\/?>/g,
                "attr-name": {
                    pattern: /[\w:-]+/g,
                    inside: {
                        namespace: /^[\w-]+?:/
                    }
                }
            }
        },
        entity: /&#?[\da-z]{1,8};/gi
    }
      , l = {
        keyword: /\\(?:[^a-zA-Z]|[a-zA-Z]+)/g,
        lparen: /[[({]/g,
        rparen: /[\])}]/g,
        comment: /%.*/g
    };
    t.a = {
        makeGrammars: function(e) {
            var t = {
                main: {},
                list: {},
                blockquote: {},
                table: {},
                deflist: {}
            };
            t.deflist.deflist = {
                pattern: new RegExp(["^ {0,3}\\S.*\\n", "(?:[ \\t]*\\n)?", "(?:", "[ \\t]*:[ \\t].*\\n", "(?:", "(?:", ".*\\S.*\\n", "|", "[ \\t]*\\n(?! ?\\S)", ")", ")*", "(?:[ \\t]*\\n)*", ")+"].join(""),"m"),
                inside: {
                    term: /^.+/,
                    cl: /^[ \t]*:[ \t]/gm
                }
            };
            var n = e.insideFences || {};
            n["cl cl-pre"] = /```|~~~/,
            e.fence && (t.main["pre gfm"] = {
                pattern: /^(```|~~~)[\s\S]*?\n\1 *$/gm,
                inside: n
            },
            t.list["pre gfm"] = {
                pattern: /^(?: {4}|\t)(```|~~~)[\s\S]*?\n(?: {4}|\t)\1\s*$/gm,
                inside: n
            },
            t.deflist.deflist.inside["pre gfm"] = t.list["pre gfm"]),
            t.main["h1 alt"] = {
                pattern: /^.+\n=+[ \t]*$/gm,
                inside: {
                    "cl cl-hash": /=+[ \t]*$/
                }
            },
            t.main["h2 alt"] = {
                pattern: /^.+\n-+[ \t]*$/gm,
                inside: {
                    "cl cl-hash": /-+[ \t]*$/
                }
            };
            for (var r = 6; r >= 1; r -= 1)
                t.main["h" + r] = {
                    pattern: new RegExp("^#{" + r + "}[ \t].+$","gm"),
                    inside: {
                        "cl cl-hash": new RegExp("^#{" + r + "}")
                    }
                };
            var i = /^[ \t]*([*+-]|\d+\.)[ \t]/gm
              , d = {
                pattern: /^\s*>.*(?:\n[ \t]*\S.*)*/gm,
                inside: {
                    "cl cl-gt": /^\s*>/gm,
                    "cl cl-li": i
                }
            };
            t.list.blockquote = d,
            t.blockquote.blockquote = d,
            t.deflist.deflist.inside.blockquote = d,
            t.list["cl cl-li"] = i,
            t.blockquote["cl cl-li"] = i,
            t.deflist.deflist.inside["cl cl-li"] = i,
            t.table.table = {
                pattern: new RegExp(["^\\s*\\S.*[|].*\\n", "[-| :]+\\n", "(?:.*[|].*\\n?)*", "$"].join(""),"gm"),
                inside: {
                    "cl cl-title-separator": /^[-| :]+$/gm,
                    "cl cl-pipe": /[|]/gm
                }
            },
            t.main.hr = {
                pattern: /^ {0,3}([*\-_] *){3,}$/gm
            },
            e.tasklist && (t.list.task = {
                pattern: /^\[[ xX]\] /,
                inside: {
                    cl: /[[\]]/,
                    strong: /[xX]/
                }
            });
            var p = {};
            e.footnote && (p.fndef = {
                pattern: /^ {0,3}\[\^.*?\]:.*$/gm,
                inside: {
                    "ref-id": {
                        pattern: /^ {0,3}\[\^.*?\]/,
                        inside: {
                            cl: /(\[\^|\])/
                        }
                    }
                }
            }),
            e.abbr && (p.abbrdef = {
                pattern: /^ {0,3}\*\[.*?\]:.*$/gm,
                inside: {
                    "abbr-id": {
                        pattern: /^ {0,3}\*\[.*?\]/,
                        inside: {
                            cl: /(\*\[|\])/
                        }
                    }
                }
            }),
            p.linkdef = {
                pattern: /^ {0,3}\[.*?\]:.*$/gm,
                inside: {
                    "link-id": {
                        pattern: /^ {0,3}\[.*?\]/,
                        inside: {
                            cl: /[[\]]/
                        }
                    },
                    url: s
                }
            },
            o()(p).forEach(function(e) {
                var n = a()(e, 2)
                  , r = n[0]
                  , i = n[1];
                t.main[r] = i,
                t.list[r] = i,
                t.blockquote[r] = i,
                t.table[r] = i,
                t.deflist[r] = i
            }),
            t.main.pre = {
                pattern: /^\s*\n(?: {4}|\t).*\S.*\n((?: {4}|\t).*\n)*/gm
            };
            var f = {};
            f.code = {
                pattern: /(`+)[\s\S]*?\1/g,
                inside: {
                    "cl cl-code": /`/
                }
            },
            e.math && (f["math block"] = {
                pattern: /\\\\\[[\s\S]*?\\\\\]/g,
                inside: {
                    "cl cl-bracket-start": /^\\\\\[/,
                    "cl cl-bracket-end": /\\\\\]$/,
                    rest: l
                }
            },
            f["math inline"] = {
                pattern: /\\\\\([\s\S]*?\\\\\)/g,
                inside: {
                    "cl cl-bracket-start": /^\\\\\(/,
                    "cl cl-bracket-end": /\\\\\)$/,
                    rest: l
                }
            },
            f["math expr block"] = {
                pattern: /(\$\$)[\s\S]*?\1/g,
                inside: {
                    "cl cl-bracket-start": /^\$\$/,
                    "cl cl-bracket-end": /\$\$$/,
                    rest: l
                }
            },
            f["math expr inline"] = {
                pattern: /\$(?!\s)[\s\S]*?\S\$(?!\d)/g,
                inside: {
                    "cl cl-bracket-start": /^\$/,
                    "cl cl-bracket-end": /\$$/,
                    rest: l
                }
            }),
            e.footnote && (f.inlinefn = {
                pattern: /\^\[.+?\]/g,
                inside: {
                    cl: /(\^\[|\])/
                }
            },
            f.fn = {
                pattern: /\[\^.+?\]/g,
                inside: {
                    cl: /(\[\^|\])/
                }
            }),
            f.img = {
                pattern: /!\[.*?\]\(.+?\)/g,
                inside: {
                    "cl cl-title": /['‘][^'’]*['’]|["“][^"”]*["”](?=\)$)/,
                    "cl cl-src": {
                        pattern: /(\]\()[^('" \t]+(?=[)'" \t])/,
                        lookbehind: !0
                    }
                }
            },
            e.imgsize && (f.img.inside["cl cl-size"] = /=\d*x\d*/),
            f.link = {
                pattern: /\[.*?\]\(.+?\)/gm,
                inside: {
                    "cl cl-underlined-text": {
                        pattern: /(\[)[^\]]*/,
                        lookbehind: !0
                    },
                    "cl cl-title": /['‘][^'’]*['’]|["“][^"”]*["”](?=\)$)/
                }
            },
            f.imgref = {
                pattern: /!\[.*?\][ \t]*\[.*?\]/g
            },
            f.linkref = {
                pattern: /\[.*?\][ \t]*\[.*?\]/g,
                inside: {
                    "cl cl-underlined-text": {
                        pattern: /^(\[)[^\]]*(?=\][ \t]*\[)/,
                        lookbehind: !0
                    }
                }
            },
            f.comment = u.comment,
            f.tag = u.tag,
            f.url = s,
            f.email = c,
            f.strong = {
                pattern: /(^|[^\w*])(__|\*\*)(?![_*])[\s\S]*?\2(?=([^\w*]|$))/gm,
                lookbehind: !0,
                inside: {
                    "cl cl-strong cl-start": /^(__|\*\*)/,
                    "cl cl-strong cl-close": /(__|\*\*)$/
                }
            },
            f.em = {
                pattern: /(^|[^\w*])(_|\*)(?![_*])[\s\S]*?\2(?=([^\w*]|$))/gm,
                lookbehind: !0,
                inside: {
                    "cl cl-em cl-start": /^(_|\*)/,
                    "cl cl-em cl-close": /(_|\*)$/
                }
            },
            f["strong em"] = {
                pattern: /(^|[^\w*])(__|\*\*)(_|\*)(?![_*])[\s\S]*?\3\2(?=([^\w*]|$))/gm,
                lookbehind: !0,
                inside: {
                    "cl cl-strong cl-start": /^(__|\*\*)(_|\*)/,
                    "cl cl-strong cl-close": /(_|\*)(__|\*\*)$/
                }
            },
            f["strong em inv"] = {
                pattern: /(^|[^\w*])(_|\*)(__|\*\*)(?![_*])[\s\S]*?\3\2(?=([^\w*]|$))/gm,
                lookbehind: !0,
                inside: {
                    "cl cl-strong cl-start": /^(_|\*)(__|\*\*)/,
                    "cl cl-strong cl-close": /(__|\*\*)(_|\*)$/
                }
            },
            e.del && (f.del = {
                pattern: /(^|[^\w*])(~~)[\s\S]*?\2(?=([^\w*]|$))/gm,
                lookbehind: !0,
                inside: {
                    cl: /~~/,
                    "cl-del-text": /[^~]+/
                }
            }),
            e.mark && (f.mark = {
                pattern: /(^|[^\w*])(==)[\s\S]*?\2(?=([^\w*]|$))/gm,
                lookbehind: !0,
                inside: {
                    cl: /==/,
                    "cl-mark-text": /[^=]+/
                }
            }),
            e.sub && (f.sub = {
                pattern: /(~)(?=\S)(.*?\S)\1/gm,
                inside: {
                    cl: /~/
                }
            }),
            e.sup && (f.sup = {
                pattern: /(\^)(?=\S)(.*?\S)\1/gm,
                inside: {
                    cl: /\^/
                }
            }),
            f.entity = u.entity;
            for (var v = 6; v >= 1; v -= 1)
                t.main["h" + v].inside.rest = f;
            t.main["h1 alt"].inside.rest = f,
            t.main["h2 alt"].inside.rest = f,
            t.table.table.inside.rest = f,
            t.main.rest = f,
            t.list.rest = f,
            t.blockquote.blockquote.inside.rest = f,
            t.deflist.deflist.inside.rest = f,
            e.footnote && (t.main.fndef.inside.rest = f);
            var m = {
                code: f.code,
                inlinefn: f.inlinefn,
                fn: f.fn,
                link: f.link,
                linkref: f.linkref
            };
            f.strong.inside.rest = m,
            f.em.inside.rest = m,
            e.del && (f.del.inside.rest = m),
            e.mark && (f.mark.inside.rest = m);
            var h = {
                code: f.code,
                comment: f.comment,
                tag: f.tag,
                strong: f.strong,
                em: f.em,
                del: f.del,
                sub: f.sub,
                sup: f.sup,
                entity: u.entity
            };
            return f.link.inside["cl cl-underlined-text"].inside = h,
            f.linkref.inside["cl cl-underlined-text"].inside = h,
            o()(t).forEach(function(e) {
                var t = a()(e, 2)
                  , n = t[1];
                n.rest = n.rest || {},
                n.rest.p = /.+/
            }),
            t
        }
    }
}
, function(e, t, n) {
    "use strict";
    var r = n(6)
      , a = n.n(r)
      , i = n(3)
      , o = n.n(i)
      , s = n(5)
      , c = n.n(s)
      , u = n(2)
      , l = n(145)
      , d = n(38)
      , p = n(4)
      , f = n(45);
    t.a = new d.a({
        id: "gist",
        name: "Gist",
        getToken: function(e) {
            var t = e.sub;
            return u.a.getters["data/githubTokensBySub"][t]
        },
        getLocationUrl: function(e) {
            return "https://gist.github.com/" + e.gistId
        },
        getLocationDescription: function(e) {
            return e.filename
        },
        downloadContent: function(e, t) {
            var n = this;
            return c()(a.a.mark(function r() {
                var i;
                return a.a.wrap(function(n) {
                    for (; ; )
                        switch (n.prev = n.next) {
                        case 0:
                            return n.next = 2,
                            l.a.downloadGist(o()({}, t, {
                                token: e
                            }));
                        case 2:
                            return i = n.sent,
                            n.abrupt("return", d.a.parseContent(i, t.fileId + "/content"));
                        case 4:
                        case "end":
                            return n.stop()
                        }
                }, r, n)
            }))()
        },
        uploadContent: function(e, t, n) {
            var r = this;
            return c()(a.a.mark(function i() {
                var s, c, f;
                return a.a.wrap(function(r) {
                    for (; ; )
                        switch (r.prev = r.next) {
                        case 0:
                            return s = u.a.state.file.itemsById[n.fileId],
                            c = p.a.sanitizeName(s && s.name),
                            r.next = 4,
                            l.a.uploadGist(o()({}, n, {
                                token: e,
                                description: c,
                                content: d.a.serializeContent(t)
                            }));
                        case 4:
                            return f = r.sent,
                            r.abrupt("return", o()({}, n, {
                                gistId: f.id
                            }));
                        case 6:
                        case "end":
                            return r.stop()
                        }
                }, i, r)
            }))()
        },
        publish: function(e, t, n, r) {
            var i = this;
            return c()(a.a.mark(function s() {
                var c;
                return a.a.wrap(function(a) {
                    for (; ; )
                        switch (a.prev = a.next) {
                        case 0:
                            return a.next = 2,
                            l.a.uploadGist(o()({}, r, {
                                token: e,
                                description: n.title,
                                content: t
                            }));
                        case 2:
                            return c = a.sent,
                            a.abrupt("return", o()({}, r, {
                                gistId: c.id
                            }));
                        case 4:
                        case "end":
                            return a.stop()
                        }
                }, s, i)
            }))()
        },
        makeLocation: function(e, t, n, r) {
            return {
                providerId: this.id,
                sub: e.sub,
                filename: t,
                isPublic: n,
                gistId: r
            }
        },
        listFileRevisions: function(e) {
            var t = this
              , n = e.token
              , r = e.syncLocation;
            return c()(a.a.mark(function e() {
                var i;
                return a.a.wrap(function(e) {
                    for (; ; )
                        switch (e.prev = e.next) {
                        case 0:
                            return e.next = 2,
                            l.a.getGistCommits(o()({}, r, {
                                token: n
                            }));
                        case 2:
                            return i = e.sent,
                            e.abrupt("return", i.map(function(e) {
                                var t = l.a.subPrefix + ":" + e.user.id;
                                return f.a.addUserInfo({
                                    id: t,
                                    name: e.user.login,
                                    imageUrl: e.user.avatar_url
                                }),
                                {
                                    sub: t,
                                    id: e.version,
                                    created: new Date(e.committed_at).getTime()
                                }
                            }));
                        case 4:
                        case "end":
                            return e.stop()
                        }
                }, e, t)
            }))()
        },
        loadFileRevision: function() {
            var e = this;
            return c()(a.a.mark(function t() {
                return a.a.wrap(function(e) {
                    for (; ; )
                        switch (e.prev = e.next) {
                        case 0:
                            return e.abrupt("return", !1);
                        case 1:
                        case "end":
                            return e.stop()
                        }
                }, t, e)
            }))()
        },
        getFileRevisionContent: function(e) {
            var t = this
              , n = e.token
              , r = e.contentId
              , i = e.syncLocation
              , s = e.revisionId;
            return c()(a.a.mark(function e() {
                var c;
                return a.a.wrap(function(e) {
                    for (; ; )
                        switch (e.prev = e.next) {
                        case 0:
                            return e.next = 2,
                            l.a.downloadGistRevision(o()({}, i, {
                                token: n,
                                sha: s
                            }));
                        case 2:
                            return c = e.sent,
                            e.abrupt("return", d.a.parseContent(c, r));
                        case 4:
                        case "end":
                            return e.stop()
                        }
                }, e, t)
            }))()
        }
    })
}
, function(e, t, n) {
    "use strict";
    var r = n(81)
      , a = n.n(r)
      , i = n(6)
      , o = n.n(i)
      , s = n(5)
      , c = n.n(s)
      , u = n(142)
      , l = n(2)
      , d = n(4)
      , p = n(56)
      , f = n(205)
      , v = n(101)
      , m = n(36)
      , h = n(12)
      , g = this
      , b = function() {
        return !!l.a.getters["publishLocation/current"].length
    }
      , _ = function(e) {
        return function(t) {
            return u.a.loadItem(t + "/" + e).catch(function() {
                return l.a.commit(e + "/setItem", {
                    id: t + "/" + e
                })
            })
        }
    }("content")
      , w = function(e) {
        return e ? Array.isArray(e) ? e : ("" + e).trim().split(/\s*,\s*/) : []
    }
      , y = function(e, t) {
        return e ? "" + e : t
    }
      , k = function(e, t) {
        return e ? new Date("" + e) : t
    }
      , x = function() {
        var e = c()(o.a.mark(function e(t) {
            var n, r, a, i, s, c, p, m, h;
            return o.a.wrap(function(e) {
                for (; ; )
                    switch (e.prev = e.next) {
                    case 0:
                        return n = t.fileId,
                        r = l.a.getters["data/allTemplatesById"][t.templateId],
                        e.next = 4,
                        f.a.applyTemplate(n, r);
                    case 4:
                        return a = e.sent,
                        e.next = 7,
                        u.a.loadItem(n + "/content");
                    case 7:
                        return i = e.sent,
                        s = l.a.state.file.itemsById[n],
                        c = d.a.computeProperties(i.properties),
                        p = v.a.providersById[t.providerId],
                        m = p.getToken(t),
                        h = {
                            title: y(c.title, s.name),
                            author: y(c.author),
                            tags: w(c.tags),
                            categories: w(c.categories),
                            excerpt: y(c.excerpt),
                            featuredImage: y(c.featuredImage),
                            status: y(c.status),
                            date: k(c.date, new Date)
                        },
                        e.abrupt("return", p.publish(m, a, h, t));
                    case 14:
                    case "end":
                        return e.stop()
                    }
            }, e, g)
        }));
        return function(t) {
            return e.apply(this, arguments)
        }
    }()
      , C = function() {
        var e = c()(o.a.mark(function e(t) {
            var n, r, i;
            return o.a.wrap(function(e) {
                for (; ; )
                    switch (e.prev = e.next) {
                    case 0:
                        return n = 0,
                        e.next = 3,
                        _(t);
                    case 3:
                        return r = [].concat(a()(l.a.getters["publishLocation/filteredGroupedByFileId"][t] || [])),
                        e.prev = 4,
                        e.next = 7,
                        d.a.awaitSequence(r, function() {
                            var e = c()(o.a.mark(function e(t) {
                                return o.a.wrap(function(e) {
                                    for (; ; )
                                        switch (e.prev = e.next) {
                                        case 0:
                                            return e.next = 2,
                                            l.a.dispatch("queue/doWithLocation", {
                                                location: t,
                                                action: function() {
                                                    var e = c()(o.a.mark(function e() {
                                                        var r;
                                                        return o.a.wrap(function(e) {
                                                            for (; ; )
                                                                switch (e.prev = e.next) {
                                                                case 0:
                                                                    return e.next = 2,
                                                                    x(t);
                                                                case 2:
                                                                    r = e.sent,
                                                                    e.prev = 3,
                                                                    d.a.serializeObject(t) !== d.a.serializeObject(r) && (l.a.commit("publishLocation/patchItem", r),
                                                                    m.a.ensureUniqueLocations()),
                                                                    n += 1,
                                                                    e.next = 14;
                                                                    break;
                                                                case 8:
                                                                    if (e.prev = 8,
                                                                    e.t0 = e.catch(3),
                                                                    !l.a.state.offline) {
                                                                        e.next = 12;
                                                                        break
                                                                    }
                                                                    throw e.t0;
                                                                case 12:
                                                                    console.error(e.t0),
                                                                    l.a.dispatch("notification/error", e.t0);
                                                                case 14:
                                                                case "end":
                                                                    return e.stop()
                                                                }
                                                        }, e, g, [[3, 8]])
                                                    }));
                                                    return function() {
                                                        return e.apply(this, arguments)
                                                    }
                                                }()
                                            });
                                        case 2:
                                        case "end":
                                            return e.stop()
                                        }
                                }, e, g)
                            }));
                            return function(t) {
                                return e.apply(this, arguments)
                            }
                        }());
                    case 7:
                        i = l.a.state.file.itemsById[t],
                        l.a.dispatch("notification/info", '"' + i.name + '" was published to ' + n + " location(s).");
                    case 9:
                        return e.prev = 9,
                        e.next = 12,
                        u.a.unloadContents();
                    case 12:
                        return e.finish(9);
                    case 13:
                    case "end":
                        return e.stop()
                    }
            }, e, g, [[4, , 9, 13]])
        }));
        return function(t) {
            return e.apply(this, arguments)
        }
    }()
      , I = function() {
        l.a.state.light || l.a.dispatch("queue/enqueuePublishRequest", c()(o.a.mark(function e() {
            var t, n;
            return o.a.wrap(function(e) {
                for (; ; )
                    switch (e.prev = e.next) {
                    case 0:
                        return t = void 0,
                        n = function() {
                            var e = c()(o.a.mark(function e() {
                                return o.a.wrap(function(e) {
                                    for (; ; )
                                        switch (e.prev = e.next) {
                                        case 0:
                                            if (!p.a.isUserActive()) {
                                                e.next = 7;
                                                break
                                            }
                                            if (clearInterval(t),
                                            b()) {
                                                e.next = 4;
                                                break
                                            }
                                            throw new Error("Publish not possible.");
                                        case 4:
                                            return e.next = 6,
                                            C(l.a.getters["file/current"].id);
                                        case 6:
                                            h.a.addBadge("triggerPublish");
                                        case 7:
                                        case "end":
                                            return e.stop()
                                        }
                                }, e, g)
                            }));
                            return function() {
                                return e.apply(this, arguments)
                            }
                        }(),
                        t = d.a.setInterval(function() {
                            return n()
                        }, 1e3),
                        e.abrupt("return", n());
                    case 4:
                    case "end":
                        return e.stop()
                    }
            }, e, g)
        })))
    }
      , S = function(e, t) {
        var n = l.a.getters["file/current"];
        e.fileId = n.id,
        l.a.dispatch("queue/enqueue", c()(o.a.mark(function r() {
            var a;
            return o.a.wrap(function(r) {
                for (; ; )
                    switch (r.prev = r.next) {
                    case 0:
                        return r.next = 2,
                        x(e);
                    case 2:
                        a = r.sent,
                        m.a.addPublishLocation(a),
                        l.a.dispatch("notification/info", 'A new publication location was added to "' + n.name + '".'),
                        t && h.a.addBadge(t);
                    case 6:
                    case "end":
                        return r.stop()
                    }
            }, r, g)
        })))
    };
    t.a = {
        requestPublish: I,
        createPublishLocation: S
    }
}
, function(e, t, n) {
    "use strict";
    var r = n(6)
      , a = n.n(r)
      , i = n(5)
      , o = n.n(i)
      , s = (n(908),
    n(1570))
      , c = (n.n(s),
    n(1567))
      , u = (n.n(c),
    n(1916))
      , l = n(1917)
      , d = n(1919)
      , p = n(1911)
      , f = n(1922)
      , v = n(102)
      , m = n(56)
      , h = n(209)
      , g = n(2)
      , b = (n(845),
    {
        light: ["app--light"],
        dark: ["app--dark"]
    });
    t.a = {
        components: {
            Layout: u.a,
            Modal: l.a,
            Notification: d.a,
            ContextMenu: p.a,
            SplashScreen: f.a
        },
        data: function() {
            return {
                ready: !1
            }
        },
        computed: {
            classes: function() {
                var e = b[g.a.getters["data/computedSettings"].colorTheme];
                return Array.isArray(e) ? e : b.light
            }
        },
        methods: {
            close: function() {
                h.a.close()
            }
        },
        created: function() {
            var e = this;
            return o()(a.a.mark(function t() {
                return a.a.wrap(function(t) {
                    for (; ; )
                        switch (t.prev = t.next) {
                        case 0:
                            return t.prev = 0,
                            t.next = 3,
                            v.a.init();
                        case 3:
                            return t.next = 5,
                            m.a.init();
                        case 5:
                            e.ready = !0,
                            h.a.setReady(),
                            t.next = 12;
                            break;
                        case 9:
                            t.prev = 9,
                            t.t0 = t.catch(0),
                            t.t0 && "RELOAD" === t.t0.message ? window.location.reload() : t.t0 && "RELOAD" !== t.t0.message && (console.error(t.t0),
                            g.a.dispatch("notification/error", t.t0));
                        case 12:
                        case "end":
                            return t.stop()
                        }
                }, t, e, [[0, 9]])
            }))()
        }
    }
}
, function(e, t, n) {
    "use strict";
    var r = n(3)
      , a = n.n(r)
      , i = n(7)
      , o = n(2)
      , p = n(727)
      , q = n(27);
    
    console.log("api.js Object3333 e:", e);
    console.log("api.js Object3333 t:", t);
    
    t.a = {
        computed: a()({}, n.i(i.a)(["light"]), n.i(i.b)("data", ["layoutSettings"])),
        mounted: function() {
            var e = this;
            
            window.addEventListener("message", function(t) {
            	//console.log("app.js Object3333 message handler e:", e);
                if (void 0 !== t.origin && "" !== t.origin && void 0 !== t.data && "" !== t.data)
                	console.log("app.js Object3333 message handler t.data.type:", t.data.type);
                	switch (t.data.type) {
                    case "toggleNavigationBar":
                        e.toggleNavigationBar();
                        break;
                    case "toggleSidePreview":
                        e.toggleSidePreview();
                        break;
                    case "toggleEditor":
                        e.toggleEditor(t.data.flag);
                        break;
                    case "setContent":
                        q.a.clEditor.setContent(t.data.content, !0)
                        break;
                    case "toggleFocusMode":
                        e.toggleFocusMode();
                        break;
                    case "toggleScrollSync":
                        e.toggleScrollSync();
                        break;
                    case "toggleStatusBar":
                        e.toggleStatusBar();
                        break;
                    case "updateEditState":
                        o.a.commit("updateEditState", t.data.flag)
                    }
            })
        },
        methods: n.i(i.c)("data", ["toggleNavigationBar", "toggleEditor", "toggleSidePreview", "toggleStatusBar", "toggleFocusMode", "toggleScrollSync"])
    }
}
, function(e, t, n) {
    "use strict";
    var r = n(201)
      , a = n.n(r)
      , i = n(65);
    t.a = {
        props: ["value", "lang", "disabled"],
        mounted: function() {
            for (var e = this, t = this.$el, r = t; r && !r.classList.contains("modal"); )
                r = r.parentNode;
            if (r) {
                var o = n.i(i.a)(t, r);
                o.on("contentChanged", function(t) {
                    return e.$emit("changed", t)
                }),
                o.init({
                    content: this.value,
                    sectionHighlighter: function(t) {
                        return a.a.highlight(t.text, a.a.languages[e.lang])
                    }
                }),
                o.toggleEditable(!this.disabled)
            }
        }
    }
}
, function(e, t, n) {
    "use strict";
    var r = n(3)
      , a = n.n(r)
      , i = n(7)
      , o = n(2);
    t.a = {
        computed: a()({}, n.i(i.a)("contextMenu", ["coordinates", "items", "resolve"])),
        methods: {
            close: function() {
                var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : null;
                this.resolve(e),
                o.a.dispatch("contextMenu/close")
            }
        }
    }
}
, function(e, t, n) {
    "use strict";
    var r = n(3)
      , a = n.n(r)
      , i = n(7)
      , o = n(733)
      , s = n(1927)
      , c = n(2);
    t.a = {
        components: {
            CommentList: o.a,
            EditorNewDiscussionButton: s.a
        },
        computed: a()({}, n.i(i.b)("file", ["isCurrentTemp"]), n.i(i.b)("layout", ["styles"]), n.i(i.b)("data", ["computedSettings"])),
        mounted: function() {
            var e = this.$el.querySelector(".editor__inner")
              , t = function(t) {
                return function(n) {
                    for (var r = n.target; r && r !== e; ) {
                        if (r.discussionId)
                            return void t(r.discussionId);
                        r = r.parentNode
                    }
                }
            }
              , n = function(t) {
                return function(n) {
                    e.getElementsByClassName("discussion-editor-highlighting--" + n).cl_each(function(e) {
                        return e.classList.toggle("discussion-editor-highlighting--hover", t)
                    }),
                    document.getElementsByClassName("comment--discussion-" + n).cl_each(function(e) {
                        return e.classList.toggle("comment--hover", t)
                    })
                }
            };
            e.addEventListener("mouseover", t(n(!0))),
            e.addEventListener("mouseout", t(n(!1))),
            e.addEventListener("click", t(function(e) {
                c.a.commit("discussion/setCurrentDiscussionId", e)
            })),
            this.$watch(function() {
                return c.a.state.discussion.currentDiscussionId
            }, function(t, n) {
                n && e.querySelectorAll(".discussion-editor-highlighting--" + n).cl_each(function(e) {
                    return e.classList.remove("discussion-editor-highlighting--selected")
                }),
                t && e.querySelectorAll(".discussion-editor-highlighting--" + t).cl_each(function(e) {
                    return e.classList.add("discussion-editor-highlighting--selected")
                })
            })
        }
    }
}
, function(e, t, n) {
    "use strict";
    var r = n(3)
      , a = n.n(r)
      , i = n(7)
      , o = n(1914)
      , s = n(407)
      , c = n(2);
    t.a = {
        components: {
            ExplorerNode: o.a
        },
        computed: a()({}, n.i(i.a)(["light"]), n.i(i.a)("explorer", ["newChildNode"]), n.i(i.b)("explorer", ["rootNode", "selectedNode"])),
        methods: a()({}, n.i(i.c)("data", ["toggleExplorer"]), {
            newItem: function(e) {
                return s.a.newItem(e)
            },
            deleteItem: function() {
                return s.a.deleteItem()
            },
            editItem: function() {
                var e = this.selectedNode;
                e.isTrash || e.isTemp || c.a.commit("explorer/setEditingId", e.item.id)
            }
        }),
        created: function() {
            this.$watch(function() {
                return c.a.getters["file/current"].id
            }, function(e) {
                c.a.commit("explorer/setSelectedId", e),
                c.a.dispatch("explorer/openNode", e)
            }, {
                immediate: !0
            })
        }
    }
}
, function(e, t, n) {
    "use strict";
    var r = n(6)
      , a = n.n(r)
      , i = n(5)
      , o = n.n(i)
      , s = n(3)
      , c = n.n(s)
      , u = n(7)
      , l = n(36)
      , d = n(407)
      , p = n(2)
      , f = n(12);
    t.a = {
        name: "explorer-node",
        props: ["node", "depth"],
        data: function() {
            return {
                editingValue: ""
            }
        },
        computed: {
            leftPadding: function() {
                return 15 * this.depth + "px"
            },
            childLeftPadding: function() {
                return 15 * (this.depth + 1) + "px"
            },
            isSelected: function() {
                return p.a.getters["explorer/selectedNode"] === this.node
            },
            isEditing: function() {
                return p.a.getters["explorer/editingNode"] === this.node
            },
            isDragTarget: function() {
                return p.a.getters["explorer/dragTargetNode"] === this.node
            },
            isDragTargetFolder: function() {
                return p.a.getters["explorer/dragTargetNodeFolder"] === this.node
            },
            isOpen: function() {
                return p.a.state.explorer.openNodes[this.node.item.id] || this.node.isRoot
            },
            newChild: function() {
                return p.a.getters["explorer/newChildNodeParent"] === this.node && p.a.state.explorer.newChildNode
            },
            newChildName: {
                get: function() {
                    return p.a.state.explorer.newChildNode.item.name
                },
                set: function(e) {
                    p.a.commit("explorer/setNewItemName", e)
                }
            },
            editingNodeName: {
                get: function() {
                    return p.a.getters["explorer/editingNode"].item.name
                },
                set: function(e) {
                    this.editingValue = e.trim()
                }
            }
        },
        methods: c()({}, n.i(u.d)("explorer", ["setEditingId"]), n.i(u.c)("explorer", ["setDragTarget"]), {
            select: function() {
                var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : this.node.item.id
                  , t = !(arguments.length > 1 && void 0 !== arguments[1]) || arguments[1]
                  , n = p.a.getters["explorer/nodeMap"][e];
                return !!n && (p.a.commit("explorer/setSelectedId", e),
                t && setTimeout(function() {
                    n.isFolder ? p.a.commit("explorer/toggleOpenNode", e) : p.a.state.file.currentId !== e && (p.a.commit("file/setCurrentId", e),
                    f.a.addBadge("switchFile"))
                }, 10),
                !0)
            },
            submitNewChild: function(e) {
                var t = this;
                return o()(a.a.mark(function n() {
                    var r, i, o;
                    return a.a.wrap(function(n) {
                        for (; ; )
                            switch (n.prev = n.next) {
                            case 0:
                                if (r = p.a.state.explorer.newChildNode,
                                e || r.isNil || !r.item.name) {
                                    n.next = 20;
                                    break
                                }
                                if (n.prev = 2,
                                !r.isFolder) {
                                    n.next = 11;
                                    break
                                }
                                return n.next = 6,
                                l.a.storeItem(r.item);
                            case 6:
                                i = n.sent,
                                t.select(i.id),
                                f.a.addBadge("createFolder"),
                                n.next = 16;
                                break;
                            case 11:
                                return n.next = 13,
                                l.a.createFile(r.item);
                            case 13:
                                o = n.sent,
                                t.select(o.id),
                                f.a.addBadge("createFile");
                            case 16:
                                n.next = 20;
                                break;
                            case 18:
                                n.prev = 18,
                                n.t0 = n.catch(2);
                            case 20:
                                p.a.commit("explorer/setNewItem", null);
                            case 21:
                            case "end":
                                return n.stop()
                            }
                    }, n, t, [[2, 18]])
                }))()
            },
            submitEdit: function(e) {
                var t = this;
                return o()(a.a.mark(function n() {
                    var r, i, o, s;
                    return a.a.wrap(function(n) {
                        for (; ; )
                            switch (n.prev = n.next) {
                            case 0:
                                if (r = p.a.getters["explorer/editingNode"],
                                i = r.item,
                                o = r.isFolder,
                                s = t.editingValue,
                                t.setEditingId(null),
                                e || !i.id || !s || i.name === s) {
                                    n.next = 12;
                                    break
                                }
                                return n.prev = 4,
                                n.next = 7,
                                l.a.storeItem(c()({}, i, {
                                    name: s
                                }));
                            case 7:
                                f.a.addBadge(o ? "renameFolder" : "renameFile"),
                                n.next = 12;
                                break;
                            case 10:
                                n.prev = 10,
                                n.t0 = n.catch(4);
                            case 12:
                            case "end":
                                return n.stop()
                            }
                    }, n, t, [[4, 10]])
                }))()
            },
            setDragSourceId: function(e) {
                if (this.node.noDrag)
                    return void e.preventDefault();
                p.a.commit("explorer/setDragSourceId", this.node.item.id),
                e.dataTransfer.setData("Text", "")
            },
            onDrop: function() {
                var e = p.a.getters["explorer/dragSourceNode"]
                  , t = p.a.getters["explorer/dragTargetNodeFolder"];
                this.setDragTarget(),
                e.isNil || t.isNil || e.item.id === t.item.id || (l.a.storeItem(c()({}, e.item, {
                    parentId: t.item.id
                })),
                f.a.addBadge(e.isFolder ? "moveFolder" : "moveFile"))
            },
            onContextMenu: function(e) {
                var t = this;
                return o()(a.a.mark(function n() {
                    var r;
                    return a.a.wrap(function(n) {
                        for (; ; )
                            switch (n.prev = n.next) {
                            case 0:
                                if (!t.select(void 0, !1)) {
                                    n.next = 7;
                                    break
                                }
                                return e.preventDefault(),
                                e.stopPropagation(),
                                n.next = 5,
                                p.a.dispatch("contextMenu/open", {
                                    coordinates: {
                                        left: e.clientX,
                                        top: e.clientY
                                    },
                                    items: [{
                                        name: "New file",
                                        disabled: !t.node.isFolder || t.node.isTrash,
                                        perform: function() {
                                            return d.a.newItem(!1)
                                        }
                                    }, {
                                        name: "New folder",
                                        disabled: !t.node.isFolder || t.node.isTrash || t.node.isTemp,
                                        perform: function() {
                                            return d.a.newItem(!0)
                                        }
                                    }, {
                                        type: "separator"
                                    }, {
                                        name: "Rename",
                                        disabled: t.node.isTrash || t.node.isTemp,
                                        perform: function() {
                                            return t.setEditingId(t.node.item.id)
                                        }
                                    }, {
                                        name: "Delete",
                                        perform: function() {
                                            return d.a.deleteItem()
                                        }
                                    }]
                                });
                            case 5:
                                r = n.sent,
                                r && r.perform();
                            case 7:
                            case "end":
                                return n.stop()
                            }
                    }, n, t)
                }))()
            }
        })
    }
}
, function(e, t, n) {
    "use strict";
    var r = n(20)
      , a = n.n(r)
      , i = n(15)
      , o = n.n(i)
      , s = n(19)
      , c = n.n(s)
      , u = n(3)
      , l = n.n(u)
      , d = n(37)
      , p = n.n(d)
      , f = n(39)
      , v = n.n(f)
      , m = n(7)
      , h = n(27)
      , g = n(65)
      , b = n(2)
      , _ = n(273)
      , w = function(e, t) {
        return {
            get: function() {
                return b.a.state.findReplace[e]
            },
            set: function(e) {
                b.a.commit("findReplace/" + t, e)
            }
        }
    }
      , y = function(e) {
        return {
            get: function() {
                return b.a.getters["data/layoutSettings"][e]
            },
            set: function(t) {
                b.a.dispatch("data/patchLayoutSettings", v()({}, e, t))
            }
        }
    }
      , k = function e(t, n, r) {
        var a = this;
        p()(this, e),
        this.clean = function() {
            h.a.clEditor.removeMarker(a.startMarker),
            h.a.clEditor.removeMarker(a.endMarker),
            a.classApplier && a.classApplier.stop()
        }
        ,
        this.startMarker = new g.a.Marker(n.start),
        this.endMarker = new g.a.Marker(n.end),
        h.a.clEditor.addMarker(this.startMarker),
        h.a.clEditor.addMarker(this.endMarker),
        r || (this.classApplier = new _.a(["find-replace-" + this.startMarker.id, t],function() {
            return {
                start: a.startMarker.offset,
                end: a.endMarker.offset
            }
        }
        ))
    };
    t.a = {
        data: function() {
            return {
                findCount: 0,
                findPosition: 0
            }
        },
        computed: l()({}, n.i(m.a)("findReplace", ["type", "lastOpen"]), {
            findText: w("findText", "setFindText"),
            replaceText: w("replaceText", "setReplaceText"),
            findCaseSensitive: y("findCaseSensitive"),
            findUseRegexp: y("findUseRegexp")
        }),
        methods: {
            highlightOccurrences: function() {
                var e = this
                  , t = {};
                c()(this.classAppliers).forEach(function(e) {
                    var n = o()(e, 2)
                      , r = n[1]
                      , a = r.startMarker.offset + ":" + r.endMarker.offset;
                    t[a] = r
                });
                var n = [];
                if (this.classAppliers = {},
                "destroyed" !== this.state && this.findText) {
                    try {
                        this.searchRegex = this.findText,
                        this.findUseRegexp || (this.searchRegex = this.searchRegex.replace(/[-[\]/{}()*+?.\\^$|]/g, "\\$&")),
                        this.replaceRegex = new RegExp(this.searchRegex,this.findCaseSensitive ? "m" : "mi"),
                        this.searchRegex = new RegExp(this.searchRegex,this.findCaseSensitive ? "gm" : "gmi"),
                        h.a.clEditor.getContent().replace(this.searchRegex, function() {
                            var e, t = arguments.length <= 0 ? void 0 : arguments[0], r = (e = arguments.length - 2,
                            arguments.length <= e ? void 0 : arguments[e]);
                            n.push({
                                start: r,
                                end: r + t.length
                            })
                        }),
                        n.forEach(function(n, r) {
                            var a = n.start + ":" + n.end;
                            e.classAppliers[a] = t[a] || new k("find-replace-highlighting",n,r > 200)
                        })
                    } catch (e) {}
                    "created" !== this.state && (this.find("selection"),
                    this.state = "created")
                }
                c()(t).forEach(function(t) {
                    var n = o()(t, 2)
                      , r = n[0]
                      , a = n[1];
                    e.classAppliers[r] || (a.clean(),
                    a === e.selectedClassApplier && (e.selectedClassApplier.child.clean(),
                    e.selectedClassApplier = null))
                }),
                this.findCount = n.length
            },
            unselectClassApplier: function() {
                this.selectedClassApplier && (this.selectedClassApplier.child.clean(),
                this.selectedClassApplier.child = null,
                this.selectedClassApplier = null),
                this.findPosition = 0
            },
            find: function() {
                var e = this
                  , t = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : "forward"
                  , n = this.selectedClassApplier;
                this.unselectClassApplier();
                var r = h.a.clEditor.selectionMgr
                  , i = Math.min(r.selectionStart, r.selectionEnd)
                  , o = Math.max(r.selectionStart, r.selectionEnd)
                  , s = a()(this.classAppliers)
                  , c = function(t) {
                    return function(r) {
                        return !(!t(e.classAppliers[r]) || n === e.classAppliers[r]) && (e.selectedClassApplier = e.classAppliers[r],
                        !0)
                    }
                };
                "backward" === t ? (this.selectedClassApplier = this.classAppliers[s[s.length - 1]],
                s.reverse().some(c(function(e) {
                    return e.startMarker.offset <= i
                }))) : "selection" === t ? s.some(c(function(e) {
                    return e.startMarker.offset === i && e.endMarker.offset === o
                })) : "forward" === t && (this.selectedClassApplier = this.classAppliers[s[0]],
                s.some(c(function(e) {
                    return e.endMarker.offset >= o
                }))),
                this.selectedClassApplier && (r.setSelectionStartEnd(this.selectedClassApplier.startMarker.offset, this.selectedClassApplier.endMarker.offset),
                this.selectedClassApplier.child = new k("find-replace-selection",{
                    start: this.selectedClassApplier.startMarker.offset,
                    end: this.selectedClassApplier.endMarker.offset
                }),
                r.updateCursorCoordinates(this.$el.parentNode.clientHeight),
                a()(this.classAppliers).forEach(function(t, n) {
                    return e.selectedClassApplier === e.classAppliers[t] && (e.findPosition = n + 1,
                    !0)
                }))
            },
            replace: function() {
                var e = this;
                if (this.searchRegex) {
                    if (!this.selectedClassApplier)
                        return void this.find();
                    h.a.clEditor.replaceAll(this.replaceRegex, this.replaceText, this.selectedClassApplier.startMarker.offset),
                    this.$nextTick(function() {
                        return e.find()
                    })
                }
            },
            replaceAll: function() {
                this.searchRegex && h.a.clEditor.replaceAll(this.searchRegex, this.replaceText)
            },
            close: function() {
                b.a.commit("findReplace/setType")
            },
            onEscape: function() {
                h.a.clEditor.focus()
            }
        },
        mounted: function() {
            var e = this;
            this.classAppliers = {},
            this.debouncedHighlightOccurrences = g.a.Utils.debounce(function() {
                return e.highlightOccurrences()
            }, 25),
            this.$watch(function() {
                return e.findText
            }, this.debouncedHighlightOccurrences),
            this.$watch(function() {
                return e.findCaseSensitive
            }, this.debouncedHighlightOccurrences),
            this.$watch(function() {
                return e.findUseRegexp
            }, this.debouncedHighlightOccurrences),
            h.a.clEditor.on("contentChanged", this.debouncedHighlightOccurrences),
            this.$watch(function() {
                return e.lastOpen
            }, function() {
                var t = e.$el.querySelector(".find-replace__text-input--" + e.type);
                t.focus(),
                t.setSelectionRange(0, e[e.type + "Text"].length),
                e.state = null,
                e.debouncedHighlightOccurrences()
            }, {
                immediate: !0
            }),
            this.onKeyup = function(e) {
                27 === e.which && b.a.commit("findReplace/setType")
            }
            ,
            window.addEventListener("keyup", this.onKeyup),
            this.onFocusIn = function() {
                return e.$el.contains(document.activeElement) || setTimeout(function() {
                    return e.unselectClassApplier()
                }, 15)
            }
            ,
            window.addEventListener("focusin", this.onFocusIn)
        },
        destroyed: function() {
            h.a.clEditor.off("contentChanged", this.debouncedHighlightOccurrences),
            window.removeEventListener("keyup", this.onKeyup),
            window.removeEventListener("focusin", this.onFocusIn),
            this.state = "destroyed",
            this.debouncedHighlightOccurrences()
        }
    }
}
, function(e, t, n) {
    "use strict";
    var r = n(3)
      , a = n.n(r)
      , i = n(7)
      , o = n(1918)
      , s = n(1910)
      , c = n(1923)
      , u = n(1913)
      , l = n(1921)
      , d = n(1912)
      , p = n(1920)
      , f = n(1925)
      , v = n(735)
      , m = n(1926)
      , h = n(1915)
      , g = n(27)
      , b = n(117)
      , _ = n(2);
    t.a = {
        components: {
            NavigationBar: o.a,
            ButtonBar: s.a,
            StatusBar: c.a,
            Explorer: u.a,
            SideBar: l.a,
            Editor: d.a,
            Preview: p.a,
            Tour: f.a,
            StickyComment: v.a,
            CurrentDiscussion: m.a,
            FindReplace: h.a
        },
        computed: a()({}, n.i(i.a)(["light"]), n.i(i.a)("content", ["revisionContent"]), n.i(i.a)("discussion", ["stickyComment"]), n.i(i.b)("layout", ["constants", "styles"]), n.i(i.b)("data", ["layoutSettings"]), {
            showFindReplace: function() {
                return !!_.a.state.findReplace.type
            }
        }),
        methods: a()({}, n.i(i.c)("layout", ["updateBodySize"]), {
            saveSelection: function() {
                return g.a.saveSelection(!0)
            }
        }),
        created: function() {
            b.a.init(),
            this.updateBodySize(),
            window.addEventListener("resize", this.updateBodySize),
            window.addEventListener("keyup", this.saveSelection),
            window.addEventListener("mouseup", this.saveSelection),
            window.addEventListener("focusin", this.saveSelection),
            window.addEventListener("contextmenu", this.saveSelection)
        },
        mounted: function() {
            var e = this
              , t = this.$el.querySelector(".editor__inner")
              , n = this.$el.querySelector(".preview__inner-2")
              , r = this.$el.querySelector(".toc__inner");
            g.a.init(t, n, r);
            var a = function() {
                e.styles.showEditor && g.a.clEditor.focus()
            };
            setTimeout(a, 100),
            this.$watch(function() {
                return e.styles.showEditor
            }, a);
            
            window.addEventListener("message", (evt) => {
                if (evt.origin !== undefined && evt.origin !== "") {
                    if (evt.data !== undefined && evt.data !== "") {
                        switch (evt.data.type) {
                            case "uploadPasteImgCompleted":
                                g.a.clEditor.replace(
                                    g.a.clEditor.selectionMgr.selectionStart,
                                    g.a.clEditor.selectionMgr.selectionEnd,
                                    `![enter image description here](${evt.data.imgUrl})`
                                );
                                break;
                            default:
                        }
                    }
                }
            });
        },
        destroyed: function() {
            window.removeEventListener("resize", this.updateStyle),
            window.removeEventListener("keyup", this.saveSelection),
            window.removeEventListener("mouseup", this.saveSelection),
            window.removeEventListener("focusin", this.saveSelection),
            window.removeEventListener("contextmenu", this.saveSelection)
        }
    }
}
, function(e, t, n) {
    "use strict";
    var r = n(6)
      , a = n.n(r)
      , i = n(5)
      , o = n.n(i)
      , s = n(3)
      , c = n.n(s)
      , u = n(7)
      , l = n(854)
      , d = n(27)
      , p = n(102)
      , f = n(30)
      , v = n(2)
      , m = n(54)
      , h = n(1939)
      , g = n(1946)
      , b = n(1949)
      , _ = n(1936)
      , w = n(1940)
      , y = n(1944)
      , k = n(1943)
      , x = n(1942)
      , C = n(1941)
      , I = n(1948)
      , S = n(1945)
      , E = n(1950)
      , L = n(1937)
      , T = n(1938)
      , D = n(1947)
      , P = n(1974)
      , B = n(1970)
      , A = n(1972)
      , M = n(1973)
      , N = n(1971)
      , U = n(1955)
      , F = n(1957)
      , O = n(1956)
      , $ = n(1960)
      , R = n(1961)
      , q = n(1963)
      , W = n(1964)
      , G = n(1962)
      , H = n(1959)
      , j = n(1958)
      , z = n(1965)
      , V = n(1966)
      , Z = n(1967)
      , Y = n(1968)
      , K = n(1969)
      , J = n(1975)
      , Q = n(1952)
      , X = n(1951)
      , ee = n(1976)
      , te = n(1977)
      , ne = n(1954)
      , re = n(1953)
      , ae = function(e) {
        return e.querySelectorAll("a[href], button, .textfield, input[type=checkbox]").cl_filter(function(e) {
            return !e.disabled && null !== e.offsetParent && !e.classList.contains("not-tabbable")
        })
    };
    t.a = {
        components: {
            ModalInner: m.a,
            FilePropertiesModal: h.a,
            SettingsModal: g.a,
            TemplatesModal: b.a,
            AboutModal: _.a,
            HtmlExportModal: w.a,
            PdfExportModal: y.a,
            PandocExportModal: k.a,
            LinkModal: x.a,
            ImageModal: C.a,
            SyncManagementModal: I.a,
            PublishManagementModal: S.a,
            WorkspaceManagementModal: E.a,
            AccountManagementModal: L.a,
            BadgeManagementModal: T.a,
            SponsorModal: D.a,
            GooglePhotoModal: P.a,
            GoogleDriveAccountModal: B.a,
            GoogleDriveSaveModal: A.a,
            GoogleDriveWorkspaceModal: M.a,
            GoogleDrivePublishModal: N.a,
            DropboxAccountModal: U.a,
            DropboxSaveModal: F.a,
            DropboxPublishModal: O.a,
            GithubAccountModal: $.a,
            GithubOpenModal: R.a,
            GithubSaveModal: q.a,
            GithubWorkspaceModal: W.a,
            GithubPublishModal: G.a,
            GistSyncModal: H.a,
            GistPublishModal: j.a,
            GitlabAccountModal: z.a,
            GitlabOpenModal: V.a,
            GitlabPublishModal: Z.a,
            GitlabSaveModal: Y.a,
            GitlabWorkspaceModal: K.a,
            WordpressPublishModal: J.a,
            BloggerPublishModal: Q.a,
            BloggerPagePublishModal: X.a,
            ZendeskAccountModal: ee.a,
            ZendeskPublishModal: te.a,
            CouchdbWorkspaceModal: ne.a,
            CouchdbCredentialsModal: re.a
        },
        computed: c()({}, n.i(u.b)(["isSponsor"]), n.i(u.b)("modal", ["config"]), {
            currentModalComponent: function() {
                if (this.config.type) {
                    var e = this.config.type[0].toUpperCase();
                    if (e += this.config.type.slice(1),
                    e += "Modal",
                    this.$options.components[e])
                        return e
                }
                return null
            },
            simpleModal: function() {
                return l.a[this.config.type] || {}
            }
        }),
        methods: {
            sponsor: function() {
                var e = this;
                return o()(a.a.mark(function t() {
                    return a.a.wrap(function(e) {
                        for (; ; )
                            switch (e.prev = e.next) {
                            case 0:
                                if (e.prev = 0,
                                v.a.getters["workspace/sponsorToken"]) {
                                    e.next = 7;
                                    break
                                }
                                return e.next = 4,
                                v.a.dispatch("modal/open", "signInForSponsorship");
                            case 4:
                                return e.next = 6,
                                f.a.signin();
                            case 6:
                                p.a.requestSync();
                            case 7:
                                if (v.a.getters.isSponsor) {
                                    e.next = 10;
                                    break
                                }
                                return e.next = 10,
                                v.a.dispatch("modal/open", "sponsor");
                            case 10:
                                e.next = 14;
                                break;
                            case 12:
                                e.prev = 12,
                                e.t0 = e.catch(0);
                            case 14:
                            case "end":
                                return e.stop()
                            }
                    }, t, e, [[0, 12]])
                }))()
            },
            onEscape: function() {
                this.config.reject(),
                d.a.clEditor.focus()
            },
            onTab: function(e) {
                var t = ae(this.$el)
                  , n = t[0]
                  , r = t[t.length - 1];
                e.shiftKey && n === e.target ? (e.preventDefault(),
                r.focus()) : e.shiftKey || r !== e.target || (e.preventDefault(),
                n.focus())
            },
            onFocusInOut: function(e) {
                var t = e.target.parentNode;
                t && t.parentNode && t.classList.contains("form-entry__field") && t.parentNode.classList.contains("form-entry") && t.parentNode.classList.toggle("form-entry--focused", "focusin" === e.type)
            }
        },
        mounted: function() {
            var e = this;
            this.$watch(function() {
                return e.config
            }, function(t) {
                if (t) {
                    var n = ae(e.$el);
                    n[0] && n[0].focus()
                }
            }, {
                immediate: !0
            })
        }
    }
}
, function(e, t, n) {
    "use strict";
    var r = n(6)
      , a = n.n(r)
      , i = n(5)
      , o = n.n(i)
      , s = n(3)
      , c = n.n(s)
      , u = n(15)
      , l = n.n(u)
      , d = n(19)
      , p = n.n(d)
      , f = n(7)
      , v = n(27)
      , m = n(102)
      , h = n(411)
      , g = n(204)
      , b = n(209)
      , _ = n(4)
      , w = n(403)
      , y = n(2)
      , k = n(36)
      , x = n(12)
      , C = /Mac|iPod|iPhone|iPad/.test(navigator.platform) ? "Meta" : "Ctrl"
      , I = function(e) {
        var t = "";
        return p()(y.a.getters["data/computedSettings"].shortcuts).some(function(n) {
            var r = l()(n, 2)
              , a = r[0]
              , i = r[1];
            return "" + (i.method || i) === e && (t = a.split("+").map(function(e) {
                return e.toLowerCase()
            }).map(function(e) {
                return "mod" === e ? C : e && "" + e[0].toUpperCase() + e.slice(1)
            }).join("+")),
            t
        }),
        t && " – " + t
    };
    t.a = {
        data: function() {
            return {
                mounted: !1,
                title: "",
                titleFocus: !1,
                titleHover: !1
            }
        },
        computed: c()({}, n.i(f.a)(["light", "offline", "editState", "isEdit"]), n.i(f.a)("queue", ["isSyncRequested", "isPublishRequested", "currentLocation"]), n.i(f.a)("layout", ["canUndo", "canRedo"]), n.i(f.a)("content", ["revisionContent"]), n.i(f.b)("layout", ["styles"]), n.i(f.b)("syncLocation", {
            syncLocations: "current"
        }), n.i(f.b)("publishLocation", {
            publishLocations: "current"
        }), {
            pagedownButtons: function() {
                return w.a.map(function(e) {
                    return c()({}, e, {
                        titleWithShortcut: "" + e.title + I(e.method),
                        iconClass: "icon-" + e.icon
                    })
                })
            },
            isSyncPossible: function() {
                return y.a.getters["workspace/syncToken"] || y.a.getters["syncLocation/current"].length
            },
            showSpinner: function() {
                return !y.a.state.queue.isEmpty
            },
            titleWidth: function() {
                if (!this.mounted)
                    return 0;
                this.titleFakeElt.textContent = this.title;
                var e = this.titleFakeElt.getBoundingClientRect().width + 2;
                return Math.min(e, this.styles.titleMaxWidth)
            },
            titleScrolling: function() {
                var e = this.titleHover && !this.titleFocus;
                if (this.titleInputElt)
                    if (e) {
                        var t = this.titleInputElt.scrollWidth - this.titleInputElt.offsetWidth;
                        g.a.animate(this.titleInputElt).scrollLeft(t).duration(10 * t).easing("inOut").start()
                    } else
                        g.a.animate(this.titleInputElt).scrollLeft(0).start();
                return e
            },
            editCancelTrigger: function() {
                var e = y.a.getters["file/current"];
                return _.a.serializeObject([e.id, e.name])
            }
        }),
        methods: c()({}, n.i(f.d)("content", ["setRevisionContent"]), n.i(f.c)("content", ["restoreRevision"]), n.i(f.c)("data", ["toggleExplorer", "toggleSideBar", "toggleEditor"]), {
            undo: function() {
                return v.a.clEditor.undoMgr.undo()
            },
            redo: function() {
                return v.a.clEditor.undoMgr.redo()
            },
            requestSync: function() {
                this.isSyncPossible && !this.isSyncRequested && m.a.requestSync(!0)
            },
            requestPublish: function() {
                this.publishLocations.length && !this.isPublishRequested && h.a.requestPublish()
            },
            save: function() {
                window.parent.postMessage({
                    type: "saveChange"
                }, "*")
            },
            pagedownClick: function(e) {
                if (y.a.getters["content/isCurrentEditable"]) {
                    var t = v.a.clEditor.getContent();
                    v.a.pagedownEditor.uiManager.doClick(e),
                    t !== v.a.clEditor.getContent() && x.a.addBadge("formatButtons")
                }
            },
            editTitle: function(e) {
                var t = this;
                return o()(a.a.mark(function n() {
                    var r;
                    return a.a.wrap(function(n) {
                        for (; ; )
                            switch (n.prev = n.next) {
                            case 0:
                                if (t.titleFocus = e,
                                !e) {
                                    n.next = 5;
                                    break
                                }
                                t.titleInputElt.setSelectionRange(0, t.titleInputElt.value.length),
                                n.next = 16;
                                break;
                            case 5:
                                if (r = t.title.trim(),
                                t.title = y.a.getters["file/current"].name,
                                !r || t.title === r) {
                                    n.next = 16;
                                    break
                                }
                                return n.prev = 8,
                                n.next = 11,
                                k.a.storeItem(c()({}, y.a.getters["file/current"], {
                                    name: r
                                }));
                            case 11:
                                x.a.addBadge("editCurrentFileName"),
                                n.next = 16;
                                break;
                            case 14:
                                n.prev = 14,
                                n.t0 = n.catch(8);
                            case 16:
                            case "end":
                                return n.stop()
                            }
                    }, n, t, [[8, 14]])
                }))()
            },
            submitTitle: function(e) {
                e && (this.title = ""),
                this.titleInputElt.blur()
            },
            close: function() {
                b.a.close()
            }
        }),
        created: function() {
            var e = this;
            this.$watch(function() {
                return e.editCancelTrigger
            }, function() {
                e.title = "",
                e.editTitle(!1)
            }, {
                immediate: !0
            })
        },
        mounted: function() {
            this.titleFakeElt = this.$el.querySelector(".navigation-bar__title--fake"),
            this.titleInputElt = this.$el.querySelector(".navigation-bar__title--input"),
            this.mounted = !0
        }
    }
}
, function(e, t, n) {
    "use strict";
    var r = n(7);
    t.a = {
        computed: n.i(r.a)("notification", ["items"])
    }
}
, function(e, t, n) {
    "use strict";
    var r = n(3)
      , a = n.n(r)
      , i = n(7)
      , o = n(733)
      , s = n(1928)
      , c = n(2)
      , u = window.location.protocol + "//" + window.location.host;
    t.a = {
        components: {
            CommentList: o.a,
            PreviewNewDiscussionButton: s.a
        },
        data: function() {
            return {
                previewTop: !0
            }
        },
        computed: a()({}, n.i(i.b)("file", ["isCurrentTemp"]), n.i(i.b)("layout", ["styles"])),
        methods: a()({}, n.i(i.c)("data", ["toggleEditor"]), {
            onClick: function(e) {
                for (var t = e.target; t !== this.$el; ) {
                    if (t.href && t.href.match(/^https?:\/\//) && (!t.hash || t.href.slice(0, u.length) !== u)) {
                        e.preventDefault();
                        return void window.open(t.href, "_blank").focus()
                    }
                    t = t.parentNode
                }
            },
            onScroll: function(e) {
                this.previewTop = e.target.scrollTop < 10
            }
        }),
        mounted: function() {
            var e = this.$el.querySelector(".preview__inner-2")
              , t = function(t) {
                return function(n) {
                    for (var r = n.target; r && r !== e; ) {
                        if (r.discussionId)
                            return void t(r.discussionId);
                        r = r.parentNode
                    }
                }
            }
              , n = function(t) {
                return function(n) {
                    e.getElementsByClassName("discussion-preview-highlighting--" + n).cl_each(function(e) {
                        return e.classList.toggle("discussion-preview-highlighting--hover", t)
                    }),
                    document.getElementsByClassName("comment--discussion-" + n).cl_each(function(e) {
                        return e.classList.toggle("comment--hover", t)
                    })
                }
            };
            e.addEventListener("mouseover", t(n(!0))),
            e.addEventListener("mouseout", t(n(!1))),
            e.addEventListener("click", t(function(e) {
                c.a.commit("discussion/setCurrentDiscussionId", e)
            })),
            this.$watch(function() {
                return c.a.state.discussion.currentDiscussionId
            }, function(t, n) {
                n && e.querySelectorAll(".discussion-preview-highlighting--" + n).cl_each(function(e) {
                    return e.classList.remove("discussion-preview-highlighting--selected")
                }),
                t && e.querySelectorAll(".discussion-preview-highlighting--" + t).cl_each(function(e) {
                    return e.classList.add("discussion-preview-highlighting--selected")
                })
            })
        }
    }
}
, function(e, t, n) {
    "use strict";
    var r = n(3)
      , a = n.n(r)
      , i = n(7)
      , o = n(1924)
      , s = n(1931)
      , c = n(1935)
      , u = n(1933)
      , l = n(1932)
      , d = n(1929)
      , p = n(1930)
      , f = n(1934)
      , v = n(1894)
      , m = n.n(v)
      , h = n(117)
      , g = n(2)
      , b = {
        menu: "Menu",
        workspaces: "Workspaces",
        help: "Markdown cheat sheet",
        toc: "Table of contents",
        sync: "Synchronize",
        publish: "Publish",
        history: "File history",
        importExport: "Import/export",
        workspaceBackups: "Workspace backups"
    };
    t.a = {
        components: {
            Toc: o.a,
            MainMenu: s.a,
            WorkspacesMenu: c.a,
            SyncMenu: u.a,
            PublishMenu: l.a,
            HistoryMenu: d.a,
            ImportExportMenu: p.a,
            WorkspaceBackupMenu: f.a
        },
        data: function() {
            return {
                markdownSample: h.a.highlight(m.a)
            }
        },
        computed: {
            panel: function() {
                if (g.a.state.light)
                    return null;
                var e = g.a.getters["data/layoutSettings"].sideBarPanel;
                return b[e] ? e : "menu"
            },
            panelName: function() {
                return b[this.panel]
            }
        },
        methods: a()({}, n.i(i.c)("data", ["toggleSideBar"]), n.i(i.c)("data", {
            setPanel: "setSideBarPanel"
        }))
    }
}
, function(e, t, n) {
    "use strict";
    var r = n(37)
      , a = n.n(r)
      , i = n(7)
      , o = n(27)
      , s = n(4)
      , c = function e(t, n) {
        a()(this, e),
        this.id = s.a.uid(),
        this.name = t,
        this.regex = new RegExp(n,"gm"),
        this.value = null
    };
    t.a = {
        data: function() {
            return {
                textSelection: !1,
                htmlSelection: !1,
                line: 0,
                column: 0,
                textStats: [new c("bytes","[\\s\\S]"), new c("words","\\S+"), new c("lines","\n")],
                htmlStats: [new c("characters","\\S"), new c("words","\\S+"), new c("paragraphs","\\S.*")]
            }
        },
        computed: n.i(i.b)("layout", ["styles"]),
        created: function() {
            var e = this;
            o.a.$on("sectionList", function() {
                return e.computeText()
            }),
            o.a.$on("selectionRange", function() {
                return e.computeText()
            }),
            o.a.$on("previewCtx", function() {
                return e.computeHtml()
            }),
            o.a.$on("previewSelectionRange", function() {
                return e.computeHtml()
            })
        },
        methods: {
            computeText: function() {
                var e = this;
                setTimeout(function() {
                    e.textSelection = !1;
                    var t = o.a.clEditor.getContent()
                      , n = t.slice(0, o.a.clEditor.selectionMgr.selectionEnd)
                      , r = n.split("\n");
                    e.line = r.length,
                    e.column = r.pop().length;
                    var a = o.a.clEditor.selectionMgr.getSelectedText();
                    a && (e.textSelection = !0,
                    t = a),
                    e.textStats.forEach(function(e) {
                        e.value = (t.match(e.regex) || []).length
                    })
                }, 10)
            },
            computeHtml: function() {
                var e = this;
                setTimeout(function() {
                    var t = void 0;
                    o.a.previewSelectionRange && (t = "" + o.a.previewSelectionRange),
                    e.htmlSelection = !0,
                    t || (e.htmlSelection = !1,
                    t = o.a.previewCtx.text),
                    null != t && e.htmlStats.forEach(function(e) {
                        e.value = (t.match(e.regex) || []).length
                    })
                }, 10)
            }
        }
    }
}
, function(e, t, n) {
    "use strict";
    var r = n(3)
      , a = n.n(r)
      , i = n(7)
      , o = n(27);
    t.a = {
        data: function() {
            return {
                maskY: 0
            }
        },
        computed: a()({}, n.i(i.b)("layout", ["styles"])),
        mounted: function() {
            function e(e) {
                if (r) {
                    e.preventDefault();
                    var t = e.clientY - n.getBoundingClientRect().top;
                    o.a.previewCtx.sectionDescList.some(function(e) {
                        if (t >= e.tocDimension.endOffset)
                            return !1;
                        var n = (t - e.tocDimension.startOffset) / (e.tocDimension.height || 1)
                          , r = e.editorDimension.startOffset + e.editorDimension.height * n;
                        o.a.editorElt.parentNode.scrollTop = r;
                        var a = e.previewDimension.startOffset + e.previewDimension.height * n;
                        return o.a.previewElt.parentNode.scrollTop = a,
                        !0
                    })
                }
            }
            var t = this
              , n = this.$el.querySelector(".toc__inner")
              , r = void 0;
            n.addEventListener("mouseup", function() {
                r = !1
            }),
            n.addEventListener("mouseleave", function() {
                r = !1
            }),
            n.addEventListener("mousedown", function(t) {
                r = 1 === t.which,
                e(t)
            }),
            n.addEventListener("mousemove", function(t) {
                e(t)
            });
            var a = function() {
                var e = o.a.getScrollPosition();
                if (e) {
                    var n = o.a.previewCtxMeasured.sectionDescList[e.sectionIdx];
                    t.maskY = n.tocDimension.startOffset + e.posInSection * n.tocDimension.height
                }
            };
            this.$nextTick(function() {
                o.a.editorElt.parentNode.addEventListener("scroll", function() {
                    t.styles.showEditor && a()
                }),
                o.a.previewElt.parentNode.addEventListener("scroll", function() {
                    t.styles.showEditor || a()
                })
            })
        }
    }
}
, function(e, t, n) {
    "use strict";
    var r = n(55)
      , a = n(2)
      , i = ["welcome", "editor", "explorer", "menu", "end"];
    t.a = {
        data: function() {
            return {
                stepIdx: 0,
                stepStyles: {}
            }
        },
        computed: {
            step: function() {
                return i[this.stepIdx]
            },
            stepStyle: function() {
                return this.stepStyles[this.step] || {}
            }
        },
        methods: {
            updatePositions: function() {
                var e = this;
                document.querySelectorAll("[tour-step-anchor]").cl_each(function(t) {
                    var n = t.getBoundingClientRect();
                    (t.getAttribute("tour-step-anchor") || "").split(",").forEach(function(t) {
                        var a = {
                            top: n.top + n.height / 2 + "px",
                            left: n.left + n.width / 2 + "px"
                        };
                        switch (t) {
                        case "welcome":
                        case "end":
                            a.top = n.top + "px";
                            break;
                        case "editor":
                        case "menu":
                            a.left = n.left + "px";
                            break;
                        case "explorer":
                            a.left = n.left + n.width + "px";
                            break;
                        default:
                            return
                        }
                        r.a.set(e.stepStyles, t, a)
                    })
                })
            },
            finish: function() {
                a.a.dispatch("data/patchLayoutSettings", {
                    welcomeTourFinished: !0
                })
            },
            next: function() {
                this.stepIdx += 1
            }
        },
        mounted: function() {
            var e = this;
            this.$watch(function() {
                return a.a.getters["layout/styles"]
            }, function() {
                return e.updatePositions()
            }, {
                immediate: !0
            })
        }
    }
}
, function(e, t, n) {
    "use strict";
    var r = n(45)
      , a = n(2);
    t.a = {
        props: ["userId"],
        computed: {
            sanitizedUserId: function() {
                return r.a.sanitizeUserId(this.userId)
            },
            url: function() {
                var e = a.a.state.userInfo.itemsById[this.sanitizedUserId];
                return e && e.imageUrl && "url('" + e.imageUrl + "')"
            }
        },
        watch: {
            sanitizedUserId: {
                handler: function(e) {
                    return r.a.addUserId(e)
                },
                immediate: !0
            }
        }
    }
}
, function(e, t, n) {
    "use strict";
    var r = n(45)
      , a = n(2);
    t.a = {
        props: ["userId"],
        computed: {
            sanitizedUserId: function() {
                return r.a.sanitizeUserId(this.userId)
            },
            name: function() {
                var e = a.a.state.userInfo.itemsById[this.sanitizedUserId];
                return e ? e.name : "Someone"
            }
        },
        watch: {
            sanitizedUserId: {
                handler: function(e) {
                    return r.a.addUserId(e)
                },
                immediate: !0
            }
        }
    }
}
, function(e, t, n) {
    "use strict";
    var r = n(6)
      , a = n.n(r)
      , i = n(5)
      , o = n.n(i)
      , s = n(3)
      , c = n.n(s)
      , u = n(7)
      , l = n(270)
      , d = n(731)
      , p = n(27)
      , f = n(171)
      , v = n(2)
      , m = n(12);
    t.a = {
        components: {
            UserImage: l.a,
            UserName: d.a
        },
        props: ["comment"],
        computed: {
            showReply: function() {
                return this.comment === v.a.getters["discussion/currentDiscussionLastComment"] && !v.a.state.discussion.isCommenting
            },
            text: function() {
                return f.a.sanitizeHtml(p.a.converter.render(this.comment.text))
            }
        },
        methods: c()({}, n.i(u.d)("discussion", ["setIsCommenting"]), {
            removeComment: function() {
                var e = this;
                return o()(a.a.mark(function t() {
                    return a.a.wrap(function(t) {
                        for (; ; )
                            switch (t.prev = t.next) {
                            case 0:
                                return t.prev = 0,
                                t.next = 3,
                                v.a.dispatch("modal/open", "commentDeletion");
                            case 3:
                                v.a.dispatch("discussion/cleanCurrentFile", {
                                    filterComment: e.comment
                                }),
                                m.a.addBadge("removeComment"),
                                t.next = 9;
                                break;
                            case 7:
                                t.prev = 7,
                                t.t0 = t.catch(0);
                            case 9:
                            case "end":
                                return t.stop()
                            }
                    }, t, e, [[0, 7]])
                }))()
            }
        }),
        mounted: function() {
            if (this.$el.parentNode.classList.contains("sticky-comment")) {
                var e = v.a.getters["discussion/currentDiscussionLastCommentId"]
                  , t = this.$el.querySelector(".comment__text-inner")
                  , n = void 0
                  , r = function() {
                    return n || (n = document.querySelector(".comment-list .comment--" + e + " .comment__text-inner")),
                    n || {
                        scrollTop: 0
                    }
                };
                t.scrollTop = r().scrollTop,
                t.addEventListener("scroll", function() {
                    r().scrollTop = t.scrollTop
                })
            }
        }
    }
}
, function(e, t, n) {
    "use strict";
    var r = n(15)
      , a = n.n(r)
      , i = n(19)
      , o = n.n(i)
      , s = n(3)
      , c = n.n(s)
      , u = n(7)
      , l = n(732)
      , d = n(734)
      , p = n(27)
      , f = n(2)
      , v = n(4);
    t.a = {
        components: {
            Comment: l.a,
            NewComment: d.a
        },
        data: function() {
            return {
                tops: {}
            }
        },
        computed: c()({}, n.i(u.b)("layout", ["constants", "styles"]), n.i(u.a)("discussion", ["currentDiscussionId", "isCommenting", "newCommentText", "stickyComment"]), n.i(u.b)("discussion", ["newDiscussion", "currentDiscussion", "currentFileDiscussions", "currentFileDiscussionLastComments", "currentDiscussionComments", "currentDiscussionLastCommentId"]), {
            updateTopsTrigger: function() {
                return v.a.serializeObject([this.styles, this.currentFileDiscussionLastComments, this.currentDiscussionComments, this.currentDiscussionId, this.isCommenting])
            },
            updateStickyTrigger: function() {
                return v.a.serializeObject([this.updateTopsTrigger, this.newCommentText])
            }
        }),
        methods: c()({}, n.i(u.d)("discussion", ["setCurrentDiscussionId"]), {
            updateTops: function() {
                var e = this
                  , t = f.a.getters["data/layoutSettings"]
                  , n = -2
                  , r = function(e, r, a, i) {
                    var o = r || a
                      , s = r && a
                      , c = t.showEditor ? p.a.clEditor.selectionMgr.getCoordinates(e.end) : p.a.getPreviewOffsetCoordinates(p.a.getPreviewOffset(e.end))
                      , u = -2;
                    c && (u = c.top + c.height - 80);
                    var l = u;
                    return i && (l -= o.offsetTop + 2),
                    l < -2 && (u += -2 - l,
                    l = -2),
                    u < n && (l += n - u,
                    u = n),
                    n = u + o.offsetHeight + 60,
                    s && (n += s.offsetHeight),
                    l
                }
                  , i = {}
                  , s = this.currentFileDiscussions;
                o()(s).sort(function(e, t) {
                    var n = a()(e, 2)
                      , r = n[1]
                      , i = a()(t, 2)
                      , o = i[1];
                    return r.end - o.end
                }).forEach(function(t) {
                    var n = a()(t, 2)
                      , o = n[0]
                      , s = n[1];
                    s === e.currentDiscussion || s === e.newDiscussion ? i.current = r(s, e.currentDiscussionLastCommentId && e.$el.querySelector(".comment--" + e.currentDiscussionLastCommentId), e.$el.querySelector(".comment--new"), !0) : i[o] = r(s, e.$el.querySelector(".comment--discussion-" + o))
                }),
                this.tops = i
            }
        }),
        mounted: function() {
            var e = this;
            this.$watch(function() {
                return e.updateTopsTrigger
            }, function() {
                return e.updateTops()
            }, {
                immediate: !0
            });
            var t = f.a.getters["data/layoutSettings"];
            this.scrollerElt = t.showEditor ? p.a.editorElt.parentNode : p.a.previewElt.parentNode,
            this.updateSticky = function() {
                var t = 0
                  , n = e.tops.current
                  , r = e.$el.querySelector(".comment--" + e.currentDiscussionLastCommentId);
                r && (t += r.clientHeight,
                n += r.offsetTop);
                var a = e.$el.querySelector(".comment--new");
                a && (t += a.clientHeight);
                var i = document.querySelector(".current-discussion__inner")
                  , o = e.scrollerElt.scrollTop + 10
                  , s = e.scrollerElt.scrollTop + e.scrollerElt.clientHeight - t - i.clientHeight
                  , c = null;
                n > s || s < o ? c = "bottom" : n < o && (c = "top"),
                f.a.state.discussion.stickyComment !== c && f.a.commit("discussion/setStickyComment", c)
            }
            ,
            this.scrollerElt.addEventListener("scroll", this.updateSticky),
            this.$watch(function() {
                return e.updateStickyTrigger
            }, function() {
                return e.updateSticky()
            }, {
                immediate: !0
            }),
            p.a.previewCtxWithDiffs || p.a.$once("previewCtxWithDiffs", function() {
                e.updateTops(),
                e.updateSticky()
            })
        },
        destroyed: function() {
            this.scrollerElt.removeEventListener("scroll", this.updateSticky)
        }
    }
}
, function(e, t, n) {
    "use strict";
    var r = n(6)
      , a = n.n(r)
      , i = n(5)
      , o = n.n(i)
      , s = n(3)
      , c = n.n(s)
      , u = n(7)
      , l = n(27)
      , d = n(204)
      , p = n(117)
      , f = n(735)
      , v = n(2)
      , m = n(12);
    t.a = {
        components: {
            StickyComment: f.a
        },
        computed: c()({}, n.i(u.a)("discussion", ["stickyComment", "currentDiscussionId"]), n.i(u.b)("discussion", ["currentDiscussion", "previousDiscussionId", "nextDiscussionId", "currentFileDiscussions", "currentDiscussionLastCommentId"]), n.i(u.b)("layout", ["constants"]), {
            text: function() {
                return p.a.highlight(this.currentDiscussion.text)
            },
            showNext: function() {
                return this.nextDiscussionId && this.nextDiscussionId !== this.currentDiscussionId
            },
            showRemove: function() {
                return this.currentDiscussionLastCommentId
            }
        }),
        methods: c()({}, n.i(u.d)("discussion", ["setCurrentDiscussionId"]), n.i(u.c)("notification", ["info"]), {
            goToDiscussion: function() {
                var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : this.currentDiscussionId;
                this.setCurrentDiscussionId(e);
                var t = v.a.getters["data/layoutSettings"]
                  , n = this.currentFileDiscussions[e]
                  , r = t.showEditor ? l.a.clEditor.selectionMgr.getCoordinates(n.end) : l.a.getPreviewOffsetCoordinates(l.a.getPreviewOffset(n.end));
                if (r) {
                    var a = t.showEditor ? l.a.editorElt.parentNode : l.a.previewElt.parentNode
                      , i = r.top - a.offsetHeight / 2
                      , o = a.scrollHeight - a.offsetHeight;
                    i < 0 ? i = 0 : i > o && (i = o),
                    d.a.animate(a).scrollTop(i).duration(200).start()
                } else
                    this.info("Discussion can't be located in the file.")
            },
            removeDiscussion: function() {
                var e = this;
                return o()(a.a.mark(function t() {
                    return a.a.wrap(function(t) {
                        for (; ; )
                            switch (t.prev = t.next) {
                            case 0:
                                return t.prev = 0,
                                t.next = 3,
                                v.a.dispatch("modal/open", "discussionDeletion");
                            case 3:
                                v.a.dispatch("discussion/cleanCurrentFile", {
                                    filterDiscussion: e.currentDiscussion
                                }),
                                m.a.addBadge("removeDiscussion"),
                                t.next = 9;
                                break;
                            case 7:
                                t.prev = 7,
                                t.t0 = t.catch(0);
                            case 9:
                            case "end":
                                return t.stop()
                            }
                    }, t, e, [[0, 7]])
                }))()
            }
        })
    }
}
, function(e, t, n) {
    "use strict";
    var r = n(3)
      , a = n.n(r)
      , i = n(7)
      , o = n(27)
      , s = n(2);
    t.a = {
        data: function() {
            return {
                selection: null,
                coordinates: null
            }
        },
        methods: a()({}, n.i(i.c)("discussion", ["createNewDiscussion"]), {
            checkSelection: function() {
                var e = this;
                clearTimeout(this.timeout),
                this.timeout = setTimeout(function() {
                    var t = void 0;
                    if (!s.a.state.content.revisionContent && o.a.clEditor.selectionMgr.hasFocus() && (e.selection = o.a.getTrimmedSelection(),
                    e.selection)) {
                        var n = o.a.clEditor.getContent();
                        for (t = e.selection.end; t && "\n" === n[t - 1]; )
                            t -= 1
                    }
                    e.coordinates = t ? o.a.clEditor.selectionMgr.getCoordinates(t) : null
                }, 25)
            }
        }),
        mounted: function() {
            var e = this;
            this.$nextTick(function() {
                o.a.clEditor.selectionMgr.on("selectionChanged", function() {
                    return e.checkSelection()
                }),
                o.a.clEditor.selectionMgr.on("cursorCoordinatesChanged", function() {
                    return e.checkSelection()
                }),
                o.a.clEditor.on("focus", function() {
                    return e.checkSelection()
                }),
                o.a.clEditor.on("blur", function() {
                    return e.checkSelection()
                }),
                e.checkSelection()
            })
        }
    }
}
, function(e, t, n) {
    "use strict";
    var r = n(39)
      , a = n.n(r)
      , i = n(3)
      , o = n.n(i)
      , s = n(7)
      , c = n(201)
      , u = n.n(c)
      , l = n(270)
      , d = n(65)
      , p = n(27)
      , f = n(117)
      , v = n(4)
      , m = n(45)
      , h = n(2)
      , g = n(12);
    t.a = {
        components: {
            UserImage: l.a
        },
        computed: o()({}, n.i(s.b)("workspace", ["loginToken"]), {
            userId: function() {
                return m.a.getCurrentUserId()
            }
        }),
        methods: o()({}, n.i(s.d)("discussion", ["setNewCommentFocus"]), n.i(s.c)("discussion", ["cancelNewComment"]), {
            addComment: function() {
                var e = h.a.state.discussion.newCommentText.trim();
                if (e.length)
                    if (e.length > 2e3)
                        h.a.dispatch("notification/error", "Comment is too long.");
                    else {
                        var t = h.a.state.discussion.currentDiscussionId
                          , n = {
                            discussionId: t,
                            sub: this.userId,
                            text: e,
                            created: Date.now()
                        }
                          , r = {
                            comments: o()({}, h.a.getters["content/current"].comments, a()({}, v.a.uid(), n))
                        };
                        t === h.a.state.discussion.newDiscussionId ? (r.discussions = o()({}, h.a.getters["content/current"].discussions, a()({}, t, h.a.getters["discussion/newDiscussion"])),
                        g.a.addBadge("createDiscussion")) : g.a.addBadge("addComment"),
                        h.a.dispatch("content/patchCurrent", r),
                        h.a.commit("discussion/setNewCommentText"),
                        h.a.commit("discussion/setIsCommenting")
                    }
            }
        }),
        mounted: function() {
            var e = this
              , t = this.$el.querySelector("pre.markdown-highlighting")
              , r = this.$el.querySelector(".comment__text-inner")
              , a = n.i(d.a)(t, r, !0);
            a.init({
                sectionHighlighter: function(e) {
                    return u.a.highlight(e.text, p.a.prismGrammars[e.data])
                },
                sectionParser: function(e) {
                    return f.a.parseSections(p.a.converter, e).sections
                },
                content: h.a.state.discussion.newCommentText,
                selectionStart: h.a.state.discussion.newCommentSelection.start,
                selectionEnd: h.a.state.discussion.newCommentSelection.end,
                getCursorFocusRatio: function() {
                    return .2
                }
            }),
            a.on("focus", function() {
                return e.setNewCommentFocus(!0)
            }),
            a.on("contentChanged", function(e) {
                return h.a.commit("discussion/setNewCommentText", e)
            }),
            a.selectionMgr.on("selectionChanged", function(e, t) {
                return h.a.commit("discussion/setNewCommentSelection", {
                    start: e,
                    end: t
                })
            });
            var i = this.$el.parentNode.classList.contains("sticky-comment")
              , o = function() {
                return i || null === h.a.state.discussion.stickyComment
            };
            if (this.$watch(function() {
                return h.a.state.discussion.currentDiscussionId
            }, function() {
                return e.$nextTick(function() {
                    o() && h.a.state.discussion.newCommentFocus && a.focus()
                })
            }, {
                immediate: !0
            }),
            i) {
                var s = void 0
                  , c = function() {
                    return s || (s = document.querySelector(".comment-list .comment--new .comment__text-inner")),
                    s || {
                        scrollTop: 0
                    }
                };
                r.scrollTop = c().scrollTop,
                r.addEventListener("scroll", function() {
                    c().scrollTop = r.scrollTop
                })
            } else
                this.$watch(function() {
                    return o()
                }, function(e) {
                    if (a.toggleEditable(e),
                    e) {
                        var t = h.a.state.discussion.newCommentText;
                        a.setContent(t);
                        var n = h.a.state.discussion.newCommentSelection;
                        a.selectionMgr.setSelectionStartEnd(n.start, n.end),
                        h.a.state.discussion.newCommentFocus && a.focus()
                    }
                }, {
                    immediate: !0
                }),
                this.$watch(function() {
                    return h.a.state.discussion.newCommentText
                }, function(e) {
                    return a.setContent(e)
                })
        }
    }
}
, function(e, t, n) {
    "use strict";
    var r = n(3)
      , a = n.n(r)
      , i = n(7)
      , o = n(27)
      , s = n(2);
    t.a = {
        data: function() {
            return {
                selection: null,
                coordinates: null
            }
        },
        methods: a()({}, n.i(i.c)("discussion", ["createNewDiscussion"]), {
            checkSelection: function() {
                var e = this;
                clearTimeout(this.timeout),
                this.timeout = setTimeout(function() {
                    var t = void 0;
                    if (!s.a.state.content.revisionContent && o.a.previewSelectionRange && (e.selection = o.a.getTrimmedSelection(),
                    e.selection)) {
                        var n = o.a.previewCtxWithDiffs.text;
                        for (t = o.a.getPreviewOffset(e.selection.end); t && "\n" === n[t - 1]; )
                            t -= 1
                    }
                    e.coordinates = t ? o.a.getPreviewOffsetCoordinates(t) : null
                }, 25)
            }
        }),
        mounted: function() {
            var e = this;
            this.$nextTick(function() {
                o.a.$on("previewSelectionRange", function() {
                    return e.checkSelection()
                }),
                e.$watch(function() {
                    return s.a.getters["layout/styles"].previewWidth
                }, function() {
                    return e.checkSelection()
                }),
                e.checkSelection()
            })
        }
    }
}
, function(e, t, n) {
    "use strict";
    var r = n(3)
      , a = n.n(r)
      , i = n(7)
      , o = n(732)
      , s = n(734);
    t.a = {
        components: {
            Comment: o.a,
            NewComment: s.a
        },
        data: function() {
            return {
                top: 0
            }
        },
        computed: a()({}, n.i(i.b)("layout", ["constants"]), n.i(i.a)("discussion", ["isCommenting"]), n.i(i.b)("discussion", ["currentDiscussionLastComment"]))
    }
}
, function(e, t, n) {
    "use strict";
    var r = n(15)
      , a = n.n(r)
      , i = n(33)
      , o = n.n(i)
      , s = n(6)
      , c = n.n(s)
      , u = n(5)
      , l = n.n(u)
      , d = n(3)
      , p = n.n(d)
      , f = n(7)
      , v = n(101)
      , m = n(115)
      , h = n(270)
      , g = n(731)
      , b = n(273)
      , _ = n(399)
      , w = n(4)
      , y = n(30)
      , k = n(102)
      , x = n(2)
      , C = n(12)
      , I = []
      , S = []
      , E = void 0
      , L = void 0
      , T = void 0;
    t.a = {
        components: {
            MenuEntry: m.a,
            UserImage: h.a,
            UserName: g.a
        },
        data: function() {
            return {
                allRevisions: [],
                loading: !1,
                showCount: 30,
                syncLocationId: null
            }
        },
        computed: p()({}, n.i(f.b)("data", ["syncDataByItemId"]), n.i(f.b)("syncLocation", {
            syncLocations: "currentWithWorkspaceSyncLocation"
        }), n.i(f.a)("content", ["revisionContent"]), {
            syncLocation: function() {
                var e = this;
                return w.a.someResult(this.syncLocations, function(t) {
                    return t.id === e.syncLocationId ? t : null
                })
            },
            syncLocationProviderName: function() {
                return this.syncLocation ? v.a.providersById[this.syncLocation.providerId].name : null
            },
            currentFileName: function() {
                return x.a.getters["file/current"].name
            },
            historyContext: function() {
                var e = this.syncLocation;
                if (e) {
                    var t = v.a.providersById[e.providerId]
                      , n = t.getToken(e)
                      , r = x.a.getters["file/current"].id
                      , a = r + "/content"
                      , i = {
                        token: n,
                        fileId: r,
                        contentId: a,
                        syncLocation: this.syncLocation
                    };
                    if ("main" !== e.id)
                        return i;
                    var o = this.syncDataByItemId
                      , s = o[r]
                      , c = o[a];
                    if (s && c)
                        return p()({}, i, {
                            fileSyncDataId: s.id,
                            contentSyncDataId: c.id
                        })
                }
                return null
            },
            historyContextHash: function() {
                return w.a.serializeObject(this.historyContext)
            },
            revisions: function() {
                return this.allRevisions.slice().sort(function(e, t) {
                    return t.created - e.created
                }).slice(0, this.showCount)
            },
            revisionsWithSpacer: function() {
                var e = 0;
                return this.revisions.map(function(t) {
                    var n = p()({}, t, {
                        spacer: t.created + 216e5 < e
                    });
                    return e = t.created,
                    n
                })
            },
            showMoreButton: function() {
                return this.showCount < this.allRevisions.length
            }
        }),
        methods: p()({}, n.i(f.d)("content", ["setRevisionContent"]), {
            signin: function() {
                var e = this;
                return l()(c.a.mark(function t() {
                    return c.a.wrap(function(e) {
                        for (; ; )
                            switch (e.prev = e.next) {
                            case 0:
                                return e.prev = 0,
                                e.next = 3,
                                y.a.signin();
                            case 3:
                                k.a.requestSync(),
                                e.next = 8;
                                break;
                            case 6:
                                e.prev = 6,
                                e.t0 = e.catch(0);
                            case 8:
                            case "end":
                                return e.stop()
                            }
                    }, t, e, [[0, 6]])
                }))()
            },
            close: function() {
                x.a.dispatch("data/setSideBarPanel", "menu")
            },
            showMore: function() {
                this.showCount += 30
            },
            open: function(e) {
                var t = T[e.id];
                if (!t) {
                    var n = w.a.deepCopy(this.historyContext);
                    if (n) {
                        var r = v.a.providersById[this.syncLocation.providerId];
                        t = new o.a(function(t, a) {
                            return x.a.dispatch("queue/enqueue", function() {
                                return r.getFileRevisionContent(p()({}, n, {
                                    revisionId: e.id
                                })).then(t, a)
                            })
                        }
                        ),
                        T[e.id] = t,
                        t.catch(function(t) {
                            x.a.dispatch("notification/error", t),
                            T[e.id] = null
                        })
                    }
                }
                t && t.then(function(e) {
                    return x.a.dispatch("content/setRevisionContent", e)
                })
            },
            refreshHighlighters: function() {
                var e = this.revisionContent;
                if (I.forEach(function(e) {
                    return e.stop()
                }),
                I = [],
                S.forEach(function(e) {
                    return e.stop()
                }),
                S = [],
                e) {
                    var t = 0;
                    e.diffs.forEach(function(e) {
                        var n = a()(e, 2)
                          , r = n[0]
                          , i = n[1];
                        if (r) {
                            var o = ["revision-diff", "revision-diff--" + (r > 0 ? "insert" : "delete")]
                              , s = {
                                start: t,
                                end: t + i.length
                            };
                            I.push(new b.a(["revision-diff--" + w.a.uid()].concat(o),s)),
                            S.push(new _.a(["revision-diff--" + w.a.uid()].concat(o),s))
                        }
                        t += i.length
                    })
                }
            }
        }),
        watch: {
            syncLocation: {
                immediate: !0,
                handler: function(e) {
                    var t = this.syncLocations[0];
                    t && (e ? e.id !== t.id && C.a.addBadge("chooseHistory") : this.syncLocationId = t.id)
                }
            },
            historyContextHash: {
                immediate: !0,
                handler: function() {
                    var e = this;
                    this.allRevisions = [];
                    var t = w.a.deepCopy(this.historyContext);
                    if (t) {
                        if (this.historyContextHash !== E) {
                            this.setRevisionContent(),
                            E = this.historyContextHash,
                            T = {};
                            var n = v.a.providersById[this.syncLocation.providerId];
                            L = new o.a(function(e, r) {
                                return x.a.dispatch("queue/enqueue", function() {
                                    return n.listFileRevisions(t).then(e, r)
                                })
                            }
                            ).catch(function(e) {
                                return x.a.dispatch("notification/error", e),
                                E = null,
                                []
                            })
                        }
                        L && (this.loading = !0,
                        L.then(function(t) {
                            e.loading = !1,
                            e.allRevisions = t
                        }))
                    }
                }
            },
            revisions: function(e) {
                var t = this
                  , n = this.historyContext;
                n && x.a.dispatch("queue/enqueue", function() {
                    return w.a.awaitSequence(e, function() {
                        var r = l()(c.a.mark(function r(a) {
                            var i;
                            return c.a.wrap(function(r) {
                                for (; ; )
                                    switch (r.prev = r.next) {
                                    case 0:
                                        if (t.destroyed || t.revisions !== e || t.historyContext !== n) {
                                            r.next = 4;
                                            break
                                        }
                                        return i = v.a.providersById[t.syncLocation.providerId],
                                        r.next = 4,
                                        i.loadFileRevision(p()({}, n, {
                                            revision: a
                                        }));
                                    case 4:
                                    case "end":
                                        return r.stop()
                                    }
                            }, r, t)
                        }));
                        return function(e) {
                            return r.apply(this, arguments)
                        }
                    }())
                })
            },
            revisionContent: {
                immediate: !0,
                handler: function() {
                    this.refreshHighlighters()
                }
            }
        },
        created: function() {
            var e = this;
            this.onKeyup = function(t) {
                27 === t.which && e.setRevisionContent()
            }
            ,
            window.addEventListener("keyup", this.onKeyup)
        },
        destroyed: function() {
            this.setRevisionContent(),
            this.refreshHighlighters(),
            window.removeEventListener("keyup", this.onKeyup),
            this.destroyed = !0
        }
    }
}
, function(e, t, n) {
    "use strict";
    var r = n(6)
      , a = n.n(r)
      , i = n(3)
      , o = n.n(i)
      , s = n(5)
      , c = n.n(s)
      , u = n(33)
      , l = n.n(u)
      , d = n(7)
      , p = n(727)
      , f = n.n(p)
      , v = n(171)
      , m = n(115)
      , h = n(38)
      , g = n(2)
      , b = n(36)
      , _ = n(205)
      , w = n(12)
      , y = new f.a(g.a.getters["data/computedSettings"].turndown)
      , k = function(e) {
        return new l.a(function(t) {
            if (e) {
                var n = new FileReader;
                n.onload = function(e) {
                    var n = e.target.result;
                    n.match(/\uFFFD/) ? g.a.dispatch("notification/error", "File is not readable.") : t(n)
                }
                ,
                n.readAsText(e)
            }
        }
        )
    };
    t.a = {
        components: {
            MenuEntry: m.a
        },
        computed: n.i(d.b)(["isSponsor"]),
        methods: {
            onImportMarkdown: function(e) {
                var t = this;
                return c()(a.a.mark(function n() {
                    var r, i, s;
                    return a.a.wrap(function(t) {
                        for (; ; )
                            switch (t.prev = t.next) {
                            case 0:
                                return r = e.target.files[0],
                                t.next = 3,
                                k(r);
                            case 3:
                                return i = t.sent,
                                t.next = 6,
                                b.a.createFile(o()({}, h.a.parseContent(i), {
                                    name: r.name
                                }));
                            case 6:
                                s = t.sent,
                                g.a.commit("file/setCurrentId", s.id),
                                w.a.addBadge("importMarkdown");
                            case 9:
                            case "end":
                                return t.stop()
                            }
                    }, n, t)
                }))()
            },
            onImportHtml: function(e) {
                var t = this;
                return c()(a.a.mark(function n() {
                    var r, i, s, c;
                    return a.a.wrap(function(t) {
                        for (; ; )
                            switch (t.prev = t.next) {
                            case 0:
                                return r = e.target.files[0],
                                t.next = 3,
                                k(r);
                            case 3:
                                return i = t.sent,
                                s = v.a.sanitizeHtml(i).replace(/&#160;/g, " "),
                                t.next = 7,
                                b.a.createFile(o()({}, h.a.parseContent(y.turndown(s)), {
                                    name: r.name
                                }));
                            case 7:
                                c = t.sent,
                                g.a.commit("file/setCurrentId", c.id),
                                w.a.addBadge("importHtml");
                            case 10:
                            case "end":
                                return t.stop()
                            }
                    }, n, t)
                }))()
            },
            exportMarkdown: function() {
                var e = this;
                return c()(a.a.mark(function t() {
                    var n;
                    return a.a.wrap(function(e) {
                        for (; ; )
                            switch (e.prev = e.next) {
                            case 0:
                                return n = g.a.getters["file/current"],
                                e.prev = 1,
                                e.next = 4,
                                _.a.exportToDisk(n.id, "md");
                            case 4:
                                w.a.addBadge("exportMarkdown"),
                                e.next = 9;
                                break;
                            case 7:
                                e.prev = 7,
                                e.t0 = e.catch(1);
                            case 9:
                            case "end":
                                return e.stop()
                            }
                    }, t, e, [[1, 7]])
                }))()
            },
            exportHtml: function() {
                var e = this;
                return c()(a.a.mark(function t() {
                    return a.a.wrap(function(e) {
                        for (; ; )
                            switch (e.prev = e.next) {
                            case 0:
                                return e.prev = 0,
                                e.next = 3,
                                g.a.dispatch("modal/open", "htmlExport");
                            case 3:
                                e.next = 7;
                                break;
                            case 5:
                                e.prev = 5,
                                e.t0 = e.catch(0);
                            case 7:
                            case "end":
                                return e.stop()
                            }
                    }, t, e, [[0, 5]])
                }))()
            },
            exportPdf: function() {
                var e = this;
                return c()(a.a.mark(function t() {
                    return a.a.wrap(function(e) {
                        for (; ; )
                            switch (e.prev = e.next) {
                            case 0:
                                return e.prev = 0,
                                e.next = 3,
                                g.a.dispatch("modal/open", "pdfExport");
                            case 3:
                                e.next = 7;
                                break;
                            case 5:
                                e.prev = 5,
                                e.t0 = e.catch(0);
                            case 7:
                            case "end":
                                return e.stop()
                            }
                    }, t, e, [[0, 5]])
                }))()
            },
            exportPandoc: function() {
                var e = this;
                return c()(a.a.mark(function t() {
                    return a.a.wrap(function(e) {
                        for (; ; )
                            switch (e.prev = e.next) {
                            case 0:
                                return e.prev = 0,
                                e.next = 3,
                                g.a.dispatch("modal/open", "pandocExport");
                            case 3:
                                e.next = 7;
                                break;
                            case 5:
                                e.prev = 5,
                                e.t0 = e.catch(0);
                            case 7:
                            case "end":
                                return e.stop()
                            }
                    }, t, e, [[0, 5]])
                }))()
            }
        }
    }
}
, function(e, t, n) {
    "use strict";
    var r = n(6)
      , a = n.n(r)
      , i = n(5)
      , o = n.n(i)
      , s = n(92)
      , c = n.n(s)
      , u = n(20)
      , l = n.n(u)
      , d = n(3)
      , p = n.n(d)
      , f = n(7)
      , v = n(115)
      , m = n(101)
      , h = n(270)
      , g = n(30)
      , b = n(102)
      , _ = n(45)
      , w = n(2);
    t.a = {
        components: {
            MenuEntry: v.a,
            UserImage: h.a
        },
        computed: p()({}, n.i(f.b)("workspace", ["currentWorkspace", "syncToken", "loginToken"]), {
            userId: function() {
                return _.a.getCurrentUserId()
            },
            workspaceLocationUrl: function() {
                return m.a.providersById[this.currentWorkspace.providerId].getWorkspaceLocationUrl(this.currentWorkspace)
            },
            workspaceCount: function() {
                return l()(w.a.getters["workspace/workspacesById"]).length
            },
            syncLocationCount: function() {
                return l()(w.a.getters["syncLocation/currentWithWorkspaceSyncLocation"]).length
            },
            publishLocationCount: function() {
                return l()(w.a.getters["publishLocation/current"]).length
            },
            templateCount: function() {
                return l()(w.a.getters["data/allTemplatesById"]).length
            },
            accountCount: function() {
                return c()(w.a.getters["data/tokensByType"]).reduce(function(e, t) {
                    return e + c()(t).length
                }, 0)
            },
            badgeCount: function() {
                return w.a.getters["data/allBadges"].filter(function(e) {
                    return e.isEarned
                }).length
            },
            featureCount: function() {
                return w.a.getters["data/allBadges"].length
            }
        }),
        methods: p()({}, n.i(f.c)("data", {
            setPanel: "setSideBarPanel"
        }), {
            signin: function() {
                var e = this;
                return o()(a.a.mark(function t() {
                    return a.a.wrap(function(e) {
                        for (; ; )
                            switch (e.prev = e.next) {
                            case 0:
                                return e.prev = 0,
                                e.next = 3,
                                g.a.signin();
                            case 3:
                                b.a.requestSync(),
                                e.next = 8;
                                break;
                            case 6:
                                e.prev = 6,
                                e.t0 = e.catch(0);
                            case 8:
                            case "end":
                                return e.stop()
                            }
                    }, t, e, [[0, 6]])
                }))()
            },
            fileProperties: function() {
                var e = this;
                return o()(a.a.mark(function t() {
                    return a.a.wrap(function(e) {
                        for (; ; )
                            switch (e.prev = e.next) {
                            case 0:
                                return e.prev = 0,
                                e.next = 3,
                                w.a.dispatch("modal/open", "fileProperties");
                            case 3:
                                e.next = 7;
                                break;
                            case 5:
                                e.prev = 5,
                                e.t0 = e.catch(0);
                            case 7:
                            case "end":
                                return e.stop()
                            }
                    }, t, e, [[0, 5]])
                }))()
            },
            print: function() {
                window.print()
            },
            settings: function() {
                var e = this;
                return o()(a.a.mark(function t() {
                    return a.a.wrap(function(e) {
                        for (; ; )
                            switch (e.prev = e.next) {
                            case 0:
                                return e.prev = 0,
                                e.next = 3,
                                w.a.dispatch("modal/open", "settings");
                            case 3:
                                e.next = 7;
                                break;
                            case 5:
                                e.prev = 5,
                                e.t0 = e.catch(0);
                            case 7:
                            case "end":
                                return e.stop()
                            }
                    }, t, e, [[0, 5]])
                }))()
            },
            templates: function() {
                var e = this;
                return o()(a.a.mark(function t() {
                    return a.a.wrap(function(e) {
                        for (; ; )
                            switch (e.prev = e.next) {
                            case 0:
                                return e.prev = 0,
                                e.next = 3,
                                w.a.dispatch("modal/open", "templates");
                            case 3:
                                e.next = 7;
                                break;
                            case 5:
                                e.prev = 5,
                                e.t0 = e.catch(0);
                            case 7:
                            case "end":
                                return e.stop()
                            }
                    }, t, e, [[0, 5]])
                }))()
            },
            accounts: function() {
                var e = this;
                return o()(a.a.mark(function t() {
                    return a.a.wrap(function(e) {
                        for (; ; )
                            switch (e.prev = e.next) {
                            case 0:
                                return e.prev = 0,
                                e.next = 3,
                                w.a.dispatch("modal/open", "accountManagement");
                            case 3:
                                e.next = 7;
                                break;
                            case 5:
                                e.prev = 5,
                                e.t0 = e.catch(0);
                            case 7:
                            case "end":
                                return e.stop()
                            }
                    }, t, e, [[0, 5]])
                }))()
            },
            badges: function() {
                var e = this;
                return o()(a.a.mark(function t() {
                    return a.a.wrap(function(e) {
                        for (; ; )
                            switch (e.prev = e.next) {
                            case 0:
                                return e.prev = 0,
                                e.next = 3,
                                w.a.dispatch("modal/open", "badgeManagement");
                            case 3:
                                e.next = 7;
                                break;
                            case 5:
                                e.prev = 5,
                                e.t0 = e.catch(0);
                            case 7:
                            case "end":
                                return e.stop()
                            }
                    }, t, e, [[0, 5]])
                }))()
            },
            reset: function() {
                var e = this;
                return o()(a.a.mark(function t() {
                    return a.a.wrap(function(e) {
                        for (; ; )
                            switch (e.prev = e.next) {
                            case 0:
                                return e.prev = 0,
                                e.next = 3,
                                w.a.dispatch("modal/open", "reset");
                            case 3:
                                localStorage.setItem("resetStackEdit", "1"),
                                window.location.reload(),
                                e.next = 9;
                                break;
                            case 7:
                                e.prev = 7,
                                e.t0 = e.catch(0);
                            case 9:
                            case "end":
                                return e.stop()
                            }
                    }, t, e, [[0, 7]])
                }))()
            },
            about: function() {
                w.a.dispatch("modal/open", "about")
            }
        })
    }
}
, function(e, t, n) {
    "use strict";
    var r = n(20)
      , a = n.n(r)
      , i = n(3)
      , o = n.n(i)
      , s = n(6)
      , c = n.n(s)
      , u = n(5)
      , l = n.n(u)
      , d = n(92)
      , p = n.n(d)
      , f = n(7)
      , v = n(115)
      , m = n(30)
      , h = n(208)
      , g = n(145)
      , b = n(146)
      , _ = n(276)
      , w = n(277)
      , y = n(411)
      , k = n(2)
      , x = this
      , C = function(e) {
        var t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : function() {
            return !0
        }
        ;
        return p()(e).filter(function(e) {
            return t(e)
        }).sort(function(e, t) {
            return e.name.localeCompare(t.name)
        })
    }
      , I = function(e, t) {
        return function() {
            var n = l()(c.a.mark(function n(r) {
                var a;
                return c.a.wrap(function(n) {
                    for (; ; )
                        switch (n.prev = n.next) {
                        case 0:
                            return n.prev = 0,
                            n.next = 3,
                            k.a.dispatch("modal/open", {
                                type: e,
                                token: r
                            });
                        case 3:
                            a = n.sent,
                            y.a.createPublishLocation(a, t),
                            n.next = 9;
                            break;
                        case 7:
                            n.prev = 7,
                            n.t0 = n.catch(0);
                        case 9:
                        case "end":
                            return n.stop()
                        }
                }, n, x, [[0, 7]])
            }));
            return function(e) {
                return n.apply(this, arguments)
            }
        }()
    };
    t.a = {
        components: {
            MenuEntry: v.a
        },
        computed: o()({}, n.i(f.a)("queue", ["isPublishRequested"]), n.i(f.b)("file", ["isCurrentTemp"]), n.i(f.b)("publishLocation", {
            publishLocations: "current"
        }), {
            locationCount: function() {
                return a()(this.publishLocations).length
            },
            currentFileName: function() {
                return '"' + k.a.getters["file/current"].name + '"'
            },
            bloggerTokens: function() {
                return C(k.a.getters["data/googleTokensBySub"], function(e) {
                    return e.isBlogger
                })
            },
            dropboxTokens: function() {
                return C(k.a.getters["data/dropboxTokensBySub"])
            },
            githubTokens: function() {
                return C(k.a.getters["data/githubTokensBySub"])
            },
            gitlabTokens: function() {
                return C(k.a.getters["data/gitlabTokensBySub"])
            },
            googleDriveTokens: function() {
                return C(k.a.getters["data/googleTokensBySub"], function(e) {
                    return e.isDrive
                })
            },
            wordpressTokens: function() {
                return C(k.a.getters["data/wordpressTokensBySub"])
            },
            zendeskTokens: function() {
                return C(k.a.getters["data/zendeskTokensBySub"])
            },
            noToken: function() {
                return !(this.bloggerTokens.length || this.dropboxTokens.length || this.githubTokens.length || this.gitlabTokens.length || this.googleDriveTokens.length || this.wordpressTokens.length || this.zendeskTokens.length)
            }
        }),
        methods: {
            requestPublish: function() {
                this.isPublishRequested || y.a.requestPublish()
            },
            managePublish: function() {
                var e = this;
                return l()(c.a.mark(function t() {
                    return c.a.wrap(function(e) {
                        for (; ; )
                            switch (e.prev = e.next) {
                            case 0:
                                return e.prev = 0,
                                e.next = 3,
                                k.a.dispatch("modal/open", "publishManagement");
                            case 3:
                                e.next = 7;
                                break;
                            case 5:
                                e.prev = 5,
                                e.t0 = e.catch(0);
                            case 7:
                            case "end":
                                return e.stop()
                            }
                    }, t, e, [[0, 5]])
                }))()
            },
            addBloggerAccount: function() {
                var e = this;
                return l()(c.a.mark(function t() {
                    return c.a.wrap(function(e) {
                        for (; ; )
                            switch (e.prev = e.next) {
                            case 0:
                                return e.prev = 0,
                                e.next = 3,
                                m.a.addBloggerAccount();
                            case 3:
                                e.next = 7;
                                break;
                            case 5:
                                e.prev = 5,
                                e.t0 = e.catch(0);
                            case 7:
                            case "end":
                                return e.stop()
                            }
                    }, t, e, [[0, 5]])
                }))()
            },
            addDropboxAccount: function() {
                var e = this;
                return l()(c.a.mark(function t() {
                    return c.a.wrap(function(e) {
                        for (; ; )
                            switch (e.prev = e.next) {
                            case 0:
                                return e.prev = 0,
                                e.next = 3,
                                k.a.dispatch("modal/open", {
                                    type: "dropboxAccount"
                                });
                            case 3:
                                return e.next = 5,
                                h.a.addAccount(!k.a.getters["data/localSettings"].dropboxRestrictedAccess);
                            case 5:
                                e.next = 9;
                                break;
                            case 7:
                                e.prev = 7,
                                e.t0 = e.catch(0);
                            case 9:
                            case "end":
                                return e.stop()
                            }
                    }, t, e, [[0, 7]])
                }))()
            },
            addGithubAccount: function() {
                var e = this;
                return l()(c.a.mark(function t() {
                    return c.a.wrap(function(e) {
                        for (; ; )
                            switch (e.prev = e.next) {
                            case 0:
                                return e.prev = 0,
                                e.next = 3,
                                k.a.dispatch("modal/open", {
                                    type: "githubAccount"
                                });
                            case 3:
                                return e.next = 5,
                                g.a.addAccount(k.a.getters["data/localSettings"].githubRepoFullAccess);
                            case 5:
                                e.next = 9;
                                break;
                            case 7:
                                e.prev = 7,
                                e.t0 = e.catch(0);
                            case 9:
                            case "end":
                                return e.stop()
                            }
                    }, t, e, [[0, 7]])
                }))()
            },
            addGitlabAccount: function() {
                var e = this;
                return l()(c.a.mark(function t() {
                    var n, r, a;
                    return c.a.wrap(function(e) {
                        for (; ; )
                            switch (e.prev = e.next) {
                            case 0:
                                return e.prev = 0,
                                e.next = 3,
                                k.a.dispatch("modal/open", {
                                    type: "gitlabAccount"
                                });
                            case 3:
                                return n = e.sent,
                                r = n.serverUrl,
                                a = n.applicationId,
                                e.next = 8,
                                b.a.addAccount(r, a);
                            case 8:
                                e.next = 12;
                                break;
                            case 10:
                                e.prev = 10,
                                e.t0 = e.catch(0);
                            case 12:
                            case "end":
                                return e.stop()
                            }
                    }, t, e, [[0, 10]])
                }))()
            },
            addGoogleDriveAccount: function() {
                var e = this;
                return l()(c.a.mark(function t() {
                    return c.a.wrap(function(e) {
                        for (; ; )
                            switch (e.prev = e.next) {
                            case 0:
                                return e.prev = 0,
                                e.next = 3,
                                k.a.dispatch("modal/open", {
                                    type: "googleDriveAccount"
                                });
                            case 3:
                                return e.next = 5,
                                m.a.addDriveAccount(!k.a.getters["data/localSettings"].googleDriveRestrictedAccess);
                            case 5:
                                e.next = 9;
                                break;
                            case 7:
                                e.prev = 7,
                                e.t0 = e.catch(0);
                            case 9:
                            case "end":
                                return e.stop()
                            }
                    }, t, e, [[0, 7]])
                }))()
            },
            addWordpressAccount: function() {
                var e = this;
                return l()(c.a.mark(function t() {
                    return c.a.wrap(function(e) {
                        for (; ; )
                            switch (e.prev = e.next) {
                            case 0:
                                return e.prev = 0,
                                e.next = 3,
                                _.a.addAccount();
                            case 3:
                                e.next = 7;
                                break;
                            case 5:
                                e.prev = 5,
                                e.t0 = e.catch(0);
                            case 7:
                            case "end":
                                return e.stop()
                            }
                    }, t, e, [[0, 5]])
                }))()
            },
            addZendeskAccount: function() {
                var e = this;
                return l()(c.a.mark(function t() {
                    var n, r, a;
                    return c.a.wrap(function(e) {
                        for (; ; )
                            switch (e.prev = e.next) {
                            case 0:
                                return e.prev = 0,
                                e.next = 3,
                                k.a.dispatch("modal/open", {
                                    type: "zendeskAccount"
                                });
                            case 3:
                                return n = e.sent,
                                r = n.subdomain,
                                a = n.clientId,
                                e.next = 8,
                                w.a.addAccount(r, a);
                            case 8:
                                e.next = 12;
                                break;
                            case 10:
                                e.prev = 10,
                                e.t0 = e.catch(0);
                            case 12:
                            case "end":
                                return e.stop()
                            }
                    }, t, e, [[0, 10]])
                }))()
            },
            publishBlogger: I("bloggerPublish", "publishToBlogger"),
            publishBloggerPage: I("bloggerPagePublish", "publishToBloggerPage"),
            publishDropbox: I("dropboxPublish", "publishToDropbox"),
            publishGithub: I("githubPublish", "publishToGithub"),
            publishGist: I("gistPublish", "publishToGist"),
            publishGitlab: I("gitlabPublish", "publishToGitlab"),
            publishGoogleDrive: I("googleDrivePublish", "publishToGoogleDrive"),
            publishWordpress: I("wordpressPublish", "publishToWordPress"),
            publishZendesk: I("zendeskPublish", "publishToZendesk")
        }
    }
}
, function(e, t, n) {
    "use strict";
    var r = n(6)
      , a = n.n(r)
      , i = n(5)
      , o = n.n(i)
      , s = n(20)
      , c = n.n(s)
      , u = n(3)
      , l = n.n(u)
      , d = n(92)
      , p = n.n(d)
      , f = n(7)
      , v = n(115)
      , m = n(30)
      , h = n(208)
      , g = n(145)
      , b = n(146)
      , _ = n(275)
      , w = n(274)
      , y = n(206)
      , k = n(207)
      , x = n(102)
      , C = n(2)
      , I = n(12)
      , S = function(e) {
        var t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : function() {
            return !0
        }
        ;
        return p()(e).filter(function(e) {
            return t(e)
        }).sort(function(e, t) {
            return e.name.localeCompare(t.name)
        })
    }
      , E = function(e, t) {
        return C.a.dispatch("modal/open", {
            type: t,
            token: e
        }).then(function(e) {
            return x.a.createSyncLocation(e)
        })
    };
    t.a = {
        components: {
            MenuEntry: v.a
        },
        computed: l()({}, n.i(f.a)("queue", ["isSyncRequested"]), n.i(f.b)("workspace", ["syncToken"]), n.i(f.b)("file", ["isCurrentTemp"]), n.i(f.b)("syncLocation", {
            syncLocations: "currentWithWorkspaceSyncLocation"
        }), {
            locationCount: function() {
                return c()(this.syncLocations).length
            },
            currentFileName: function() {
                return '"' + C.a.getters["file/current"].name + '"'
            },
            dropboxTokens: function() {
                return S(C.a.getters["data/dropboxTokensBySub"])
            },
            githubTokens: function() {
                return S(C.a.getters["data/githubTokensBySub"])
            },
            gitlabTokens: function() {
                return S(C.a.getters["data/gitlabTokensBySub"])
            },
            googleDriveTokens: function() {
                return S(C.a.getters["data/googleTokensBySub"], function(e) {
                    return e.isDrive
                })
            },
            noToken: function() {
                return !this.googleDriveTokens.length && !this.dropboxTokens.length && !this.githubTokens.length
            }
        }),
        methods: {
            requestSync: function() {
                this.isSyncRequested || x.a.requestSync(!0)
            },
            manageSync: function() {
                var e = this;
                return o()(a.a.mark(function t() {
                    return a.a.wrap(function(e) {
                        for (; ; )
                            switch (e.prev = e.next) {
                            case 0:
                                return e.prev = 0,
                                e.next = 3,
                                C.a.dispatch("modal/open", "syncManagement");
                            case 3:
                                e.next = 7;
                                break;
                            case 5:
                                e.prev = 5,
                                e.t0 = e.catch(0);
                            case 7:
                            case "end":
                                return e.stop()
                            }
                    }, t, e, [[0, 5]])
                }))()
            },
            addDropboxAccount: function() {
                var e = this;
                return o()(a.a.mark(function t() {
                    return a.a.wrap(function(e) {
                        for (; ; )
                            switch (e.prev = e.next) {
                            case 0:
                                return e.prev = 0,
                                e.next = 3,
                                C.a.dispatch("modal/open", {
                                    type: "dropboxAccount"
                                });
                            case 3:
                                return e.next = 5,
                                h.a.addAccount(!C.a.getters["data/localSettings"].dropboxRestrictedAccess);
                            case 5:
                                e.next = 9;
                                break;
                            case 7:
                                e.prev = 7,
                                e.t0 = e.catch(0);
                            case 9:
                            case "end":
                                return e.stop()
                            }
                    }, t, e, [[0, 7]])
                }))()
            },
            addGithubAccount: function() {
                var e = this;
                return o()(a.a.mark(function t() {
                    return a.a.wrap(function(e) {
                        for (; ; )
                            switch (e.prev = e.next) {
                            case 0:
                                return e.prev = 0,
                                e.next = 3,
                                C.a.dispatch("modal/open", {
                                    type: "githubAccount"
                                });
                            case 3:
                                return e.next = 5,
                                g.a.addAccount(C.a.getters["data/localSettings"].githubRepoFullAccess);
                            case 5:
                                e.next = 9;
                                break;
                            case 7:
                                e.prev = 7,
                                e.t0 = e.catch(0);
                            case 9:
                            case "end":
                                return e.stop()
                            }
                    }, t, e, [[0, 7]])
                }))()
            },
            addGitlabAccount: function() {
                var e = this;
                return o()(a.a.mark(function t() {
                    var n, r, i;
                    return a.a.wrap(function(e) {
                        for (; ; )
                            switch (e.prev = e.next) {
                            case 0:
                                return e.prev = 0,
                                e.next = 3,
                                C.a.dispatch("modal/open", {
                                    type: "gitlabAccount"
                                });
                            case 3:
                                return n = e.sent,
                                r = n.serverUrl,
                                i = n.applicationId,
                                e.next = 8,
                                b.a.addAccount(r, i);
                            case 8:
                                e.next = 12;
                                break;
                            case 10:
                                e.prev = 10,
                                e.t0 = e.catch(0);
                            case 12:
                            case "end":
                                return e.stop()
                            }
                    }, t, e, [[0, 10]])
                }))()
            },
            addGoogleDriveAccount: function() {
                var e = this;
                return o()(a.a.mark(function t() {
                    return a.a.wrap(function(e) {
                        for (; ; )
                            switch (e.prev = e.next) {
                            case 0:
                                return e.prev = 0,
                                e.next = 3,
                                C.a.dispatch("modal/open", {
                                    type: "googleDriveAccount"
                                });
                            case 3:
                                return e.next = 5,
                                m.a.addDriveAccount(!C.a.getters["data/localSettings"].googleDriveRestrictedAccess);
                            case 5:
                                e.next = 9;
                                break;
                            case 7:
                                e.prev = 7,
                                e.t0 = e.catch(0);
                            case 9:
                            case "end":
                                return e.stop()
                            }
                    }, t, e, [[0, 7]])
                }))()
            },
            openDropbox: function(e) {
                var t = this;
                return o()(a.a.mark(function n() {
                    var r;
                    return a.a.wrap(function(n) {
                        for (; ; )
                            switch (n.prev = n.next) {
                            case 0:
                                return n.next = 2,
                                h.a.openChooser(e);
                            case 2:
                                r = n.sent,
                                C.a.dispatch("queue/enqueue", o()(a.a.mark(function n() {
                                    return a.a.wrap(function(t) {
                                        for (; ; )
                                            switch (t.prev = t.next) {
                                            case 0:
                                                return t.next = 2,
                                                w.a.openFiles(e, r);
                                            case 2:
                                                I.a.addBadge("openFromDropbox");
                                            case 3:
                                            case "end":
                                                return t.stop()
                                            }
                                    }, n, t)
                                })));
                            case 4:
                            case "end":
                                return n.stop()
                            }
                    }, n, t)
                }))()
            },
            saveDropbox: function(e) {
                var t = this;
                return o()(a.a.mark(function n() {
                    return a.a.wrap(function(t) {
                        for (; ; )
                            switch (t.prev = t.next) {
                            case 0:
                                return t.prev = 0,
                                t.next = 3,
                                E(e, "dropboxSave");
                            case 3:
                                I.a.addBadge("saveOnDropbox"),
                                t.next = 8;
                                break;
                            case 6:
                                t.prev = 6,
                                t.t0 = t.catch(0);
                            case 8:
                            case "end":
                                return t.stop()
                            }
                    }, n, t, [[0, 6]])
                }))()
            },
            openGoogleDrive: function(e) {
                var t = this;
                return o()(a.a.mark(function n() {
                    var r;
                    return a.a.wrap(function(n) {
                        for (; ; )
                            switch (n.prev = n.next) {
                            case 0:
                                return n.next = 2,
                                m.a.openPicker(e, "doc");
                            case 2:
                                r = n.sent,
                                C.a.dispatch("queue/enqueue", o()(a.a.mark(function n() {
                                    return a.a.wrap(function(t) {
                                        for (; ; )
                                            switch (t.prev = t.next) {
                                            case 0:
                                                return t.next = 2,
                                                _.a.openFiles(e, r);
                                            case 2:
                                                I.a.addBadge("openFromGoogleDrive");
                                            case 3:
                                            case "end":
                                                return t.stop()
                                            }
                                    }, n, t)
                                })));
                            case 4:
                            case "end":
                                return n.stop()
                            }
                    }, n, t)
                }))()
            },
            saveGoogleDrive: function(e) {
                var t = this;
                return o()(a.a.mark(function n() {
                    return a.a.wrap(function(t) {
                        for (; ; )
                            switch (t.prev = t.next) {
                            case 0:
                                return t.prev = 0,
                                t.next = 3,
                                E(e, "googleDriveSave");
                            case 3:
                                I.a.addBadge("saveOnGoogleDrive"),
                                t.next = 8;
                                break;
                            case 6:
                                t.prev = 6,
                                t.t0 = t.catch(0);
                            case 8:
                            case "end":
                                return t.stop()
                            }
                    }, n, t, [[0, 6]])
                }))()
            },
            openGithub: function(e) {
                var t = this;
                return o()(a.a.mark(function n() {
                    var r;
                    return a.a.wrap(function(n) {
                        for (; ; )
                            switch (n.prev = n.next) {
                            case 0:
                                return n.prev = 0,
                                n.next = 3,
                                C.a.dispatch("modal/open", {
                                    type: "githubOpen",
                                    token: e
                                });
                            case 3:
                                r = n.sent,
                                C.a.dispatch("queue/enqueue", o()(a.a.mark(function n() {
                                    return a.a.wrap(function(t) {
                                        for (; ; )
                                            switch (t.prev = t.next) {
                                            case 0:
                                                return t.next = 2,
                                                y.a.openFile(e, r);
                                            case 2:
                                                I.a.addBadge("openFromGithub");
                                            case 3:
                                            case "end":
                                                return t.stop()
                                            }
                                    }, n, t)
                                }))),
                                n.next = 9;
                                break;
                            case 7:
                                n.prev = 7,
                                n.t0 = n.catch(0);
                            case 9:
                            case "end":
                                return n.stop()
                            }
                    }, n, t, [[0, 7]])
                }))()
            },
            saveGithub: function(e) {
                var t = this;
                return o()(a.a.mark(function n() {
                    return a.a.wrap(function(t) {
                        for (; ; )
                            switch (t.prev = t.next) {
                            case 0:
                                return t.prev = 0,
                                t.next = 3,
                                E(e, "githubSave");
                            case 3:
                                I.a.addBadge("saveOnGithub"),
                                t.next = 8;
                                break;
                            case 6:
                                t.prev = 6,
                                t.t0 = t.catch(0);
                            case 8:
                            case "end":
                                return t.stop()
                            }
                    }, n, t, [[0, 6]])
                }))()
            },
            saveGist: function(e) {
                var t = this;
                return o()(a.a.mark(function n() {
                    return a.a.wrap(function(t) {
                        for (; ; )
                            switch (t.prev = t.next) {
                            case 0:
                                return t.prev = 0,
                                t.next = 3,
                                E(e, "gistSync");
                            case 3:
                                I.a.addBadge("saveOnGist"),
                                t.next = 8;
                                break;
                            case 6:
                                t.prev = 6,
                                t.t0 = t.catch(0);
                            case 8:
                            case "end":
                                return t.stop()
                            }
                    }, n, t, [[0, 6]])
                }))()
            },
            openGitlab: function(e) {
                var t = this;
                return o()(a.a.mark(function n() {
                    var r;
                    return a.a.wrap(function(n) {
                        for (; ; )
                            switch (n.prev = n.next) {
                            case 0:
                                return n.prev = 0,
                                n.next = 3,
                                C.a.dispatch("modal/open", {
                                    type: "gitlabOpen",
                                    token: e
                                });
                            case 3:
                                r = n.sent,
                                C.a.dispatch("queue/enqueue", o()(a.a.mark(function n() {
                                    return a.a.wrap(function(t) {
                                        for (; ; )
                                            switch (t.prev = t.next) {
                                            case 0:
                                                return t.next = 2,
                                                k.a.openFile(e, r);
                                            case 2:
                                                I.a.addBadge("openFromGitlab");
                                            case 3:
                                            case "end":
                                                return t.stop()
                                            }
                                    }, n, t)
                                }))),
                                n.next = 9;
                                break;
                            case 7:
                                n.prev = 7,
                                n.t0 = n.catch(0);
                            case 9:
                            case "end":
                                return n.stop()
                            }
                    }, n, t, [[0, 7]])
                }))()
            },
            saveGitlab: function(e) {
                var t = this;
                return o()(a.a.mark(function n() {
                    return a.a.wrap(function(t) {
                        for (; ; )
                            switch (t.prev = t.next) {
                            case 0:
                                return t.prev = 0,
                                t.next = 3,
                                E(e, "gitlabSave");
                            case 3:
                                I.a.addBadge("saveOnGitlab"),
                                t.next = 8;
                                break;
                            case 6:
                                t.prev = 6,
                                t.t0 = t.catch(0);
                            case 8:
                            case "end":
                                return t.stop()
                            }
                    }, n, t, [[0, 6]])
                }))()
            }
        }
    }
}
, function(e, t, n) {
    "use strict";
    var r = n(46)
      , a = n.n(r)
      , i = n(247)
      , o = n.n(i)
      , s = n(115)
      , c = n(2)
      , u = n(865)
      , l = n(142);
    t.a = {
        components: {
            MenuEntry: s.a
        },
        computed: {
            workspaceId: function() {
                return c.a.getters["workspace/currentWorkspace"].id
            }
        },
        methods: {
            onImportBackup: function(e) {
                var t = e.target.files[0];
                if (t) {
                    var n = new FileReader;
                    n.onload = function(e) {
                        var t = e.target.result;
                        t.match(/\uFFFD/) ? c.a.dispatch("notification/error", "File is not readable.") : u.a.importBackup(t)
                    }
                    ;
                    var r = t.slice(0, 1e7);
                    n.readAsText(r)
                }
            },
            exportWorkspace: function() {
                var e = {};
                l.a.getWorkspaceItems(this.workspaceId, function(t) {
                    e[t.id] = t
                }, function() {
                    var t = a()(e)
                      , n = new Blob([t],{
                        type: "text/plain;charset=utf-8"
                    });
                    o.a.saveAs(n, "StackEdit workspace.json")
                })
            }
        }
    }
}
, function(e, t, n) {
    "use strict";
    var r = n(6)
      , a = n.n(r)
      , i = n(5)
      , o = n.n(i)
      , s = n(20)
      , c = n.n(s)
      , u = n(3)
      , l = n.n(u)
      , d = n(7)
      , p = n(115)
      , f = n(30)
      , v = n(146)
      , m = n(2);
    t.a = {
        components: {
            MenuEntry: p.a
        },
        computed: l()({}, n.i(d.b)("workspace", ["workspacesById", "currentWorkspace"]), {
            workspaceCount: function() {
                return c()(this.workspacesById).length
            }
        }),
        methods: {
            addCouchdbWorkspace: function() {
                var e = this;
                return o()(a.a.mark(function t() {
                    return a.a.wrap(function(e) {
                        for (; ; )
                            switch (e.prev = e.next) {
                            case 0:
                                try {
                                    m.a.dispatch("modal/open", {
                                        type: "couchdbWorkspace"
                                    })
                                } catch (e) {}
                            case 1:
                            case "end":
                                return e.stop()
                            }
                    }, t, e)
                }))()
            },
            addGithubWorkspace: function() {
                var e = this;
                return o()(a.a.mark(function t() {
                    return a.a.wrap(function(e) {
                        for (; ; )
                            switch (e.prev = e.next) {
                            case 0:
                                try {
                                    m.a.dispatch("modal/open", {
                                        type: "githubWorkspace"
                                    })
                                } catch (e) {}
                            case 1:
                            case "end":
                                return e.stop()
                            }
                    }, t, e)
                }))()
            },
            addGitlabWorkspace: function() {
                var e = this;
                return o()(a.a.mark(function t() {
                    var n, r, i, o;
                    return a.a.wrap(function(e) {
                        for (; ; )
                            switch (e.prev = e.next) {
                            case 0:
                                return e.prev = 0,
                                e.next = 3,
                                m.a.dispatch("modal/open", {
                                    type: "gitlabAccount"
                                });
                            case 3:
                                return n = e.sent,
                                r = n.serverUrl,
                                i = n.applicationId,
                                e.next = 8,
                                v.a.addAccount(r, i);
                            case 8:
                                o = e.sent,
                                m.a.dispatch("modal/open", {
                                    type: "gitlabWorkspace",
                                    token: o
                                }),
                                e.next = 14;
                                break;
                            case 12:
                                e.prev = 12,
                                e.t0 = e.catch(0);
                            case 14:
                            case "end":
                                return e.stop()
                            }
                    }, t, e, [[0, 12]])
                }))()
            },
            addGoogleDriveWorkspace: function() {
                var e = this;
                return o()(a.a.mark(function t() {
                    var n;
                    return a.a.wrap(function(e) {
                        for (; ; )
                            switch (e.prev = e.next) {
                            case 0:
                                return e.prev = 0,
                                e.next = 3,
                                f.a.addDriveAccount(!0);
                            case 3:
                                n = e.sent,
                                m.a.dispatch("modal/open", {
                                    type: "googleDriveWorkspace",
                                    token: n
                                }),
                                e.next = 9;
                                break;
                            case 7:
                                e.prev = 7,
                                e.t0 = e.catch(0);
                            case 9:
                            case "end":
                                return e.stop()
                            }
                    }, t, e, [[0, 7]])
                }))()
            },
            manageWorkspaces: function() {
                try {
                    m.a.dispatch("modal/open", "workspaceManagement")
                } catch (e) {}
            }
        }
    }
}
, function(e, t, n) {
    "use strict";
    var r = n(3)
      , a = n.n(r)
      , i = n(7)
      , o = n(54)
      , s = n(117)
      , c = n(1893)
      , u = n.n(c);
    t.a = {
        components: {
            ModalInner: o.a
        },
        data: function() {
            return {
                version: "5.14.10"
            }
        },
        computed: a()({}, n.i(i.b)("modal", ["config"]), {
            faq: function() {
                return s.a.defaultConverter.render(u.a)
            }
        })
    }
}
, function(e, t, n) {
    "use strict";
    var r = n(6)
      , a = n.n(r)
      , i = n(39)
      , o = n.n(i)
      , s = n(5)
      , c = n.n(s)
      , u = n(92)
      , l = n.n(u)
      , d = n(81)
      , p = n.n(d)
      , f = n(3)
      , v = n.n(f)
      , m = n(7)
      , h = n(54)
      , g = n(115)
      , b = n(2)
      , _ = n(4)
      , w = n(30)
      , y = n(208)
      , k = n(145)
      , x = n(146)
      , C = n(276)
      , I = n(277)
      , S = n(12);
    t.a = {
        components: {
            ModalInner: h.a,
            MenuEntry: g.a
        },
        computed: v()({}, n.i(m.b)("modal", ["config"]), {
            entries: function() {
                return [].concat(p()(l()(b.a.getters["data/googleTokensBySub"]).map(function(e) {
                    return {
                        token: e,
                        providerId: "google",
                        userId: e.sub,
                        name: e.name,
                        scopes: ["openid", "profile"].concat(p()(e.scopes.map(function(e) {
                            return e.replace(/^https:\/\/www.googleapis.com\/auth\//, "")
                        })))
                    }
                })), p()(l()(b.a.getters["data/couchdbTokensBySub"]).map(function(e) {
                    return {
                        token: e,
                        providerId: "couchdb",
                        url: e.dbUrl,
                        name: e.name
                    }
                })), p()(l()(b.a.getters["data/dropboxTokensBySub"]).map(function(e) {
                    return {
                        token: e,
                        providerId: "dropbox",
                        userId: e.sub,
                        name: e.name
                    }
                })), p()(l()(b.a.getters["data/githubTokensBySub"]).map(function(e) {
                    return {
                        token: e,
                        providerId: "github",
                        userId: e.sub,
                        name: e.name,
                        scopes: e.scopes
                    }
                })), p()(l()(b.a.getters["data/gitlabTokensBySub"]).map(function(e) {
                    return {
                        token: e,
                        providerId: "gitlab",
                        url: e.serverUrl,
                        userId: e.sub,
                        name: e.name,
                        scopes: ["api"]
                    }
                })), p()(l()(b.a.getters["data/wordpressTokensBySub"]).map(function(e) {
                    return {
                        token: e,
                        providerId: "wordpress",
                        userId: e.sub,
                        name: e.name,
                        scopes: ["global"]
                    }
                })), p()(l()(b.a.getters["data/zendeskTokensBySub"]).map(function(e) {
                    return {
                        token: e,
                        providerId: "zendesk",
                        url: "https://" + e.subdomain + ".zendesk.com/",
                        userId: e.sub,
                        name: e.name,
                        scopes: ["read", "hc:write"]
                    }
                })))
            }
        }),
        methods: {
            remove: function(e) {
                var t = this;
                return c()(a.a.mark(function n() {
                    var r;
                    return a.a.wrap(function(t) {
                        for (; ; )
                            switch (t.prev = t.next) {
                            case 0:
                                return r = _.a.deepCopy(b.a.getters["data/" + e.providerId + "TokensBySub"]),
                                delete r[e.token.sub],
                                t.next = 4,
                                b.a.dispatch("data/patchTokensByType", o()({}, e.providerId, r));
                            case 4:
                                S.a.addBadge("removeAccount");
                            case 5:
                            case "end":
                                return t.stop()
                            }
                    }, n, t)
                }))()
            },
            addBloggerAccount: function() {
                var e = this;
                return c()(a.a.mark(function t() {
                    return a.a.wrap(function(e) {
                        for (; ; )
                            switch (e.prev = e.next) {
                            case 0:
                                return e.prev = 0,
                                e.next = 3,
                                w.a.addBloggerAccount();
                            case 3:
                                e.next = 7;
                                break;
                            case 5:
                                e.prev = 5,
                                e.t0 = e.catch(0);
                            case 7:
                            case "end":
                                return e.stop()
                            }
                    }, t, e, [[0, 5]])
                }))()
            },
            addDropboxAccount: function() {
                var e = this;
                return c()(a.a.mark(function t() {
                    return a.a.wrap(function(e) {
                        for (; ; )
                            switch (e.prev = e.next) {
                            case 0:
                                return e.prev = 0,
                                e.next = 3,
                                b.a.dispatch("modal/open", {
                                    type: "dropboxAccount"
                                });
                            case 3:
                                return e.next = 5,
                                y.a.addAccount(!b.a.getters["data/localSettings"].dropboxRestrictedAccess);
                            case 5:
                                e.next = 9;
                                break;
                            case 7:
                                e.prev = 7,
                                e.t0 = e.catch(0);
                            case 9:
                            case "end":
                                return e.stop()
                            }
                    }, t, e, [[0, 7]])
                }))()
            },
            addGithubAccount: function() {
                var e = this;
                return c()(a.a.mark(function t() {
                    return a.a.wrap(function(e) {
                        for (; ; )
                            switch (e.prev = e.next) {
                            case 0:
                                return e.prev = 0,
                                e.next = 3,
                                b.a.dispatch("modal/open", {
                                    type: "githubAccount"
                                });
                            case 3:
                                return e.next = 5,
                                k.a.addAccount(b.a.getters["data/localSettings"].githubRepoFullAccess);
                            case 5:
                                e.next = 9;
                                break;
                            case 7:
                                e.prev = 7,
                                e.t0 = e.catch(0);
                            case 9:
                            case "end":
                                return e.stop()
                            }
                    }, t, e, [[0, 7]])
                }))()
            },
            addGitlabAccount: function() {
                var e = this;
                return c()(a.a.mark(function t() {
                    var n, r, i;
                    return a.a.wrap(function(e) {
                        for (; ; )
                            switch (e.prev = e.next) {
                            case 0:
                                return e.prev = 0,
                                e.next = 3,
                                b.a.dispatch("modal/open", {
                                    type: "gitlabAccount"
                                });
                            case 3:
                                return n = e.sent,
                                r = n.serverUrl,
                                i = n.applicationId,
                                e.next = 8,
                                x.a.addAccount(r, i);
                            case 8:
                                e.next = 12;
                                break;
                            case 10:
                                e.prev = 10,
                                e.t0 = e.catch(0);
                            case 12:
                            case "end":
                                return e.stop()
                            }
                    }, t, e, [[0, 10]])
                }))()
            },
            addGoogleDriveAccount: function() {
                var e = this;
                return c()(a.a.mark(function t() {
                    return a.a.wrap(function(e) {
                        for (; ; )
                            switch (e.prev = e.next) {
                            case 0:
                                return e.prev = 0,
                                e.next = 3,
                                b.a.dispatch("modal/open", {
                                    type: "googleDriveAccount"
                                });
                            case 3:
                                return e.next = 5,
                                w.a.addDriveAccount(!b.a.getters["data/localSettings"].googleDriveRestrictedAccess);
                            case 5:
                                e.next = 9;
                                break;
                            case 7:
                                e.prev = 7,
                                e.t0 = e.catch(0);
                            case 9:
                            case "end":
                                return e.stop()
                            }
                    }, t, e, [[0, 7]])
                }))()
            },
            addGooglePhotosAccount: function() {
                var e = this;
                return c()(a.a.mark(function t() {
                    return a.a.wrap(function(e) {
                        for (; ; )
                            switch (e.prev = e.next) {
                            case 0:
                                return e.prev = 0,
                                e.next = 3,
                                w.a.addPhotosAccount();
                            case 3:
                                e.next = 7;
                                break;
                            case 5:
                                e.prev = 5,
                                e.t0 = e.catch(0);
                            case 7:
                            case "end":
                                return e.stop()
                            }
                    }, t, e, [[0, 5]])
                }))()
            },
            addWordpressAccount: function() {
                var e = this;
                return c()(a.a.mark(function t() {
                    return a.a.wrap(function(e) {
                        for (; ; )
                            switch (e.prev = e.next) {
                            case 0:
                                return e.prev = 0,
                                e.next = 3,
                                C.a.addAccount();
                            case 3:
                                e.next = 7;
                                break;
                            case 5:
                                e.prev = 5,
                                e.t0 = e.catch(0);
                            case 7:
                            case "end":
                                return e.stop()
                            }
                    }, t, e, [[0, 5]])
                }))()
            },
            addZendeskAccount: function() {
                var e = this;
                return c()(a.a.mark(function t() {
                    var n, r, i;
                    return a.a.wrap(function(e) {
                        for (; ; )
                            switch (e.prev = e.next) {
                            case 0:
                                return e.prev = 0,
                                e.next = 3,
                                b.a.dispatch("modal/open", {
                                    type: "zendeskAccount"
                                });
                            case 3:
                                return n = e.sent,
                                r = n.subdomain,
                                i = n.clientId,
                                e.next = 8,
                                I.a.addAccount(r, i);
                            case 8:
                                e.next = 12;
                                break;
                            case 10:
                                e.prev = 10,
                                e.t0 = e.catch(0);
                            case 12:
                            case "end":
                                return e.stop()
                            }
                    }, t, e, [[0, 10]])
                }))()
            }
        }
    }
}
, function(e, t, n) {
    "use strict";
    var r = n(3)
      , a = n.n(r)
      , i = n(55)
      , o = n(7)
      , s = n(54)
      , c = n(2);
    t.a = {
        components: {
            ModalInner: s.a
        },
        data: function() {
            return {
                shown: {}
            }
        },
        computed: a()({}, n.i(o.b)("modal", ["config"]), n.i(o.b)("data", ["badgeTree"]), {
            badgeCount: function() {
                return c.a.getters["data/allBadges"].filter(function(e) {
                    return e.isEarned
                }).length
            },
            featureCount: function() {
                return c.a.getters["data/allBadges"].length
            }
        }),
        methods: {
            show: function(e) {
                i.a.set(this.shown, e, !0)
            }
        }
    }
}
, function(e, t, n) {
    "use strict";
    var r = n(20)
      , a = n.n(r)
      , i = n(3)
      , o = n.n(i)
      , s = n(248)
      , c = n.n(s)
      , u = n(7)
      , l = n(54)
      , d = n(736)
      , p = n(393)
      , f = n(392)
      , v = n(4)
      , m = n(404)
      , h = n(2)
      , g = n(12)
      , b = {
        title: "",
        author: "",
        tags: "",
        categories: "",
        excerpt: "",
        featuredImage: "",
        status: "",
        date: ""
    };
    t.a = {
        components: {
            ModalInner: l.a,
            Tab: d.a,
            FormEntry: p.a,
            CodeEditor: f.a
        },
        data: function() {
            return o()({
                contentId: null,
                yamlProperties: null,
                preset: "",
                error: null
            }, b)
        },
        computed: o()({}, n.i(u.b)("modal", ["config"]), {
            presets: function() {
                return a()(m.a).sort()
            },
            tab: {
                get: function() {
                    return h.a.getters["data/localSettings"].filePropertiesTab
                },
                set: function(e) {
                    h.a.dispatch("data/patchLocalSettings", {
                        filePropertiesTab: e
                    })
                }
            }
        }),
        created: function() {
            var e = h.a.getters["content/current"];
            h.a.commit("updateEditState", !1),
            this.contentId = e.id,
            this.setYamlProperties(e.properties),
            "yaml" !== this.tab && this.setSimpleTab()
        },
        methods: {
            yamlToSimple: function() {
                var e = this
                  , t = this.properties || {}
                  , n = t.extensions || {};
                this.preset = n.preset,
                this.presets.includes(this.preset) || (this.preset = "default"),
                a()(b).forEach(function(n) {
                    e[n] = "" + (t[n] || "")
                })
            },
            simpleToYaml: function() {
                var e = this
                  , t = !1
                  , n = this.properties || {}
                  , r = n.extensions || {};
                this.preset !== r.preset && ("default" !== this.preset ? (r.preset = this.preset,
                t = !0) : r.preset && (delete r.preset,
                t = !0)),
                a()(b).forEach(function(r) {
                    e[r] !== n[r] && (e[r] ? (n[r] = e[r],
                    t = !0) : n[r] && (delete n[r],
                    t = !0))
                }),
                t && (a()(r).length ? n.extensions = r : delete n.extensions,
                this.setYamlProperties(a()(n).length ? c.a.safeDump(n) : "\n"))
            },
            setSimpleTab: function() {
                this.tab = "simple",
                this.yamlToSimple()
            },
            setYamlTab: function() {
                this.tab = "yaml",
                this.simpleToYaml()
            },
            setYamlProperties: function(e) {
                this.yamlProperties = e;
                try {
                    this.properties = c.a.safeLoad(e),
                    this.error = null
                } catch (e) {
                    this.error = e.message
                }
            },
            resolve: function() {
                if ("simple" === this.tab && this.simpleToYaml(),
                this.error)
                    this.setYamlTab();
                else {
                    var e = this.properties || {};
                    a()(b).some(function(t) {
                        return e[t]
                    }) && g.a.addBadge("setMetadata");
                    var t = e.extensions || {};
                    t.preset && g.a.addBadge("changePreset"),
                    a()(t).filter(function(e) {
                        return "preset" !== e
                    }).length && g.a.addBadge("changeExtension"),
                    h.a.commit("content/patchItem", {
                        id: this.contentId,
                        properties: v.a.sanitizeText(this.yamlProperties)
                    }),
                    this.config.resolve()
                }
            }
        }
    }
}
, function(e, t, n) {
    "use strict";
    var r = n(3)
      , a = n.n(r)
      , i = n(6)
      , o = n.n(i)
      , s = n(5)
      , c = n.n(s)
      , u = n(7)
      , l = n(205)
      , d = n(14)
      , p = n(2)
      , f = n(12);
    t.a = n.i(d.a)({
        data: function() {
            return {
                result: ""
            }
        },
        computedLocalSettings: {
            selectedTemplate: "htmlExportTemplate"
        },
        mounted: function() {
            var e = this
              , t = void 0;
            this.$watch("selectedTemplate", function(n) {
                clearTimeout(t),
                t = setTimeout(c()(o.a.mark(function t() {
                    var r, a;
                    return o.a.wrap(function(t) {
                        for (; ; )
                            switch (t.prev = t.next) {
                            case 0:
                                return r = p.a.getters["file/current"],
                                t.next = 3,
                                l.a.applyTemplate(r.id, e.allTemplatesById[n]);
                            case 3:
                                a = t.sent,
                                e.result = a;
                            case 5:
                            case "end":
                                return t.stop()
                            }
                    }, t, e)
                })), 10)
            }, {
                immediate: !0
            })
        },
        methods: a()({}, n.i(u.c)("notification", ["info"]), {
            resolve: function() {
                var e = this;
                return c()(o.a.mark(function t() {
                    var n, r;
                    return o.a.wrap(function(t) {
                        for (; ; )
                            switch (t.prev = t.next) {
                            case 0:
                                return n = e.config,
                                r = p.a.getters["file/current"],
                                n.resolve(),
                                t.next = 5,
                                l.a.exportToDisk(r.id, "html", e.allTemplatesById[e.selectedTemplate]);
                            case 5:
                                f.a.addBadge("exportHtml");
                            case 6:
                            case "end":
                                return t.stop()
                            }
                    }, t, e)
                }))()
            }
        })
    })
}
, function(e, t, n) {
    "use strict";
    var r = n(14)
      , a = n(209);
    t.a = n.i(r.a)({
        data: function() {
            return {
                uploadImage: "active",
                linkAdd: "",
                url: "",
                isUploadImageActive: !0,
                isLinkAddActive: !1,
                choose_image_value: null,
                imgUrl: "",
                showAlert: !1,
                msg: ""
            }
        },
        mounted: function() {
            var e = this;
            window.addEventListener("message", function(t) {
                if (void 0 !== t.origin && "" !== t.origin && void 0 !== t.data && "" !== t.data)
                    switch (t.data.type) {
                    case "uploadCompleted":
                        e.imgUrl = t.data.imgUrl,
                        e.resolve()
                    }
            })
        },
        methods: {
            uploadImgFun: function() {
                this.uploadImage = "active",
                this.linkAdd = "",
                this.isUploadImageActive = !0,
                this.isLinkAddActive = !1
            },
            linkAddFun: function() {
                this.uploadImage = "",
                this.linkAdd = "active",
                this.isUploadImageActive = !1,
                this.isLinkAddActive = !0
            },
            uploadImageChange: function(e) {
                a.a.uploadImage(e.target.files)
            },
            closeAlert: function() {
                this.showAlert = !1
            },
            resolve: function(e) {
                if (e && e.preventDefault(),
                "" === this.imgUrl)
                    this.msg = "参数不能为空",
                    this.showAlert = !0;
                else {
                    var t = this.config.callback;
                    this.config.resolve(),
                    t(this.imgUrl),
                    this.config.reject()
                }
            }
        }
    })
}
, function(e, t, n) {
    "use strict";
    var r = n(14);
    t.a = n.i(r.a)({
        data: function() {
            return {
                linkAdd: "active",
                url: "",
                isLinkAddActive: !0,
                showAlert: !1,
                msg: ""
            }
        },
        computed: {},
        methods: {
            linkAddFun: function() {
                this.uploadImage = "",
                this.linkAdd = "active",
                this.isLinkAddActive = !0
            },
            closeAlert: function() {
                this.showAlert = !1
            },
            resolve: function(e) {
                if (e.preventDefault(),
                "" === this.url)
                    this.msg = "参数不能为空",
                    this.showAlert = !0;
                else {
                    var t = this.config.callback;
                    this.config.resolve(),
                    t(this.url),
                    this.config.reject()
                }
            }
        }
    })
}
, function(e, t, n) {
    "use strict";
    var r = n(6)
      , a = n.n(r)
      , i = n(46)
      , o = n.n(i)
      , s = n(5)
      , c = n.n(s)
      , u = n(247)
      , l = n.n(u)
      , d = n(56)
      , p = n(27)
      , f = n(30)
      , v = n(14)
      , m = n(2)
      , h = n(12);
    t.a = n.i(v.a)({
        computedLocalSettings: {
            selectedFormat: "pandocExportFormat"
        },
        methods: {
            resolve: function() {
                var e = this;
                return c()(a.a.mark(function t() {
                    var n, r, i;
                    return a.a.wrap(function(t) {
                        for (; ; )
                            switch (t.prev = t.next) {
                            case 0:
                                e.config.resolve(),
                                n = m.a.getters["file/current"],
                                r = m.a.getters["content/current"],
                                m.a.commit("updateEditState", !1),
                                i = e.selectedFormat,
                                m.a.dispatch("queue/enqueue", c()(a.a.mark(function t() {
                                    var s, c, u, v;
                                    return a.a.wrap(function(e) {
                                        for (; ; )
                                            switch (e.prev = e.next) {
                                            case 0:
                                                if (s = m.a.getters["workspace/sponsorToken"],
                                                e.t0 = s,
                                                !e.t0) {
                                                    e.next = 6;
                                                    break
                                                }
                                                return e.next = 5,
                                                f.a.refreshToken(s);
                                            case 5:
                                                e.t0 = e.sent;
                                            case 6:
                                                return c = e.t0,
                                                e.prev = 7,
                                                e.next = 10,
                                                d.a.request({
                                                    method: "POST",
                                                    url: "pandocExport",
                                                    params: {
                                                        idToken: c && c.idToken,
                                                        format: i,
                                                        options: o()(m.a.getters["data/computedSettings"].pandoc),
                                                        metadata: o()(r.properties)
                                                    },
                                                    body: o()(p.a.getPandocAst()),
                                                    blob: !0,
                                                    timeout: 6e4
                                                });
                                            case 10:
                                                u = e.sent,
                                                v = u.body,
                                                l.a.saveAs(v, n.name + "." + i),
                                                h.a.addBadge("exportPandoc"),
                                                e.next = 19;
                                                break;
                                            case 16:
                                                e.prev = 16,
                                                e.t1 = e.catch(7),
                                                401 === e.t1.status ? m.a.dispatch("modal/open", "sponsorOnly") : (console.error(e.t1),
                                                m.a.dispatch("notification/error", e.t1));
                                            case 19:
                                            case "end":
                                                return e.stop()
                                            }
                                    }, t, e, [[7, 16]])
                                })));
                            case 6:
                            case "end":
                                return t.stop()
                            }
                    }, t, e)
                }))()
            }
        }
    })
}
, function(e, t, n) {
    "use strict";
    var r = n(6)
      , a = n.n(r)
      , i = n(46)
      , o = n.n(i)
      , s = n(33)
      , c = n.n(s)
      , u = n(15)
      , l = n.n(u)
      , d = n(5)
      , p = n.n(d)
      , f = n(247)
      , v = n.n(f)
      , m = n(205)
      , h = n(56)
      , g = n(30)
      , b = n(14)
      , _ = n(2)
      , w = n(12);
    t.a = n.i(b.a)({
        computedLocalSettings: {
            selectedTemplate: "pdfExportTemplate"
        },
        methods: {
            resolve: function() {
                var e = this;
                return p()(a.a.mark(function t() {
                    var n;
                    return a.a.wrap(function(t) {
                        for (; ; )
                            switch (t.prev = t.next) {
                            case 0:
                                e.config.resolve(),
                                n = _.a.getters["file/current"],
                                _.a.dispatch("queue/enqueue", p()(a.a.mark(function t() {
                                    var r, i, s, u, d, p;
                                    return a.a.wrap(function(t) {
                                        for (; ; )
                                            switch (t.prev = t.next) {
                                            case 0:
                                                return t.next = 2,
                                                c.a.all([c.a.resolve().then(function() {
                                                    var e = _.a.getters["workspace/sponsorToken"];
                                                    return e && g.a.refreshToken(e)
                                                }), m.a.applyTemplate(n.id, e.allTemplatesById[e.selectedTemplate], !0)]);
                                            case 2:
                                                return r = t.sent,
                                                i = l()(r, 2),
                                                s = i[0],
                                                u = i[1],
                                                t.prev = 6,
                                                t.next = 9,
                                                h.a.request({
                                                    method: "POST",
                                                    url: "pdfExport",
                                                    params: {
                                                        idToken: s && s.idToken,
                                                        options: o()(_.a.getters["data/computedSettings"].wkhtmltopdf)
                                                    },
                                                    body: u,
                                                    blob: !0,
                                                    timeout: 6e4
                                                });
                                            case 9:
                                                d = t.sent,
                                                p = d.body,
                                                v.a.saveAs(p, n.name + ".pdf"),
                                                w.a.addBadge("exportPdf"),
                                                t.next = 18;
                                                break;
                                            case 15:
                                                t.prev = 15,
                                                t.t0 = t.catch(6),
                                                401 === t.t0.status ? _.a.dispatch("modal/open", "sponsorOnly") : (console.error(t.t0),
                                                _.a.dispatch("notification/error", t.t0));
                                            case 18:
                                            case "end":
                                                return t.stop()
                                            }
                                    }, t, e, [[6, 15]])
                                })));
                            case 3:
                            case "end":
                                return t.stop()
                            }
                    }, t, e)
                }))()
            }
        }
    })
}
, function(e, t, n) {
    "use strict";
    var r = n(3)
      , a = n.n(r)
      , i = n(7)
      , o = n(54)
      , s = n(2)
      , c = n(12);
    t.a = {
        components: {
            ModalInner: o.a
        },
        computed: a()({}, n.i(i.b)("modal", ["config"]), n.i(i.b)("publishLocation", {
            publishLocations: "current"
        }), {
            currentFileName: function() {
                return s.a.getters["file/current"].name
            }
        }),
        methods: a()({}, n.i(i.c)("notification", ["info"]), {
            remove: function(e) {
                s.a.commit("publishLocation/deleteItem", e.id),
                c.a.addBadge("removePublishLocation")
            }
        })
    }
}
, function(e, t, n) {
    "use strict";
    var r = n(6)
      , a = n.n(r)
      , i = n(20)
      , o = n.n(i)
      , s = n(5)
      , c = n.n(s)
      , u = n(3)
      , l = n.n(u)
      , d = n(248)
      , p = n.n(d)
      , f = n(7)
      , v = n(54)
      , m = n(736)
      , h = n(392)
      , g = n(726)
      , b = n.n(g)
      , _ = n(2)
      , w = n(12)
      , y = "# Add your custom settings here to override the\n# default settings.\n";
    t.a = {
        components: {
            ModalInner: v.a,
            Tab: m.a,
            CodeEditor: h.a
        },
        data: function() {
            return {
                tab: "custom",
                defaultSettings: b.a,
                customSettings: null,
                error: null
            }
        },
        computed: l()({}, n.i(f.b)("modal", ["config"]), {
            strippedCustomSettings: function() {
                return this.customSettings === y ? "\n" : this.customSettings.replace(/\t/g, "  ")
            }
        }),
        created: function() {
            var e = _.a.getters["data/settings"];
            this.setCustomSettings("\n" === e ? y : e)
        },
        methods: {
            setCustomSettings: function(e) {
                this.customSettings = e;
                try {
                    p.a.safeLoad(this.strippedCustomSettings),
                    this.error = null
                } catch (e) {
                    this.error = e.message
                }
            },
            resolve: function() {
                var e = this;
                return c()(a.a.mark(function t() {
                    var n, r, i, s;
                    return a.a.wrap(function(t) {
                        for (; ; )
                            switch (t.prev = t.next) {
                            case 0:
                                if (e.error) {
                                    t.next = 10;
                                    break
                                }
                                return n = e.strippedCustomSettings,
                                t.next = 4,
                                _.a.dispatch("data/setSettings", n);
                            case 4:
                                r = p.a.safeLoad(n),
                                r.shortcuts && w.a.addBadge("changeShortcuts"),
                                i = _.a.getters["data/computedSettings"],
                                s = o()(r).filter(function(e) {
                                    return "shortcuts" !== e && i[e]
                                }).length,
                                s && w.a.addBadge("changeSettings"),
                                e.config.resolve(n);
                            case 10:
                            case "end":
                                return t.stop()
                            }
                    }, t, e)
                }))()
            }
        }
    }
}
, function(e, t, n) {
    "use strict";
    var r = n(3)
      , a = n.n(r)
      , i = n(7)
      , o = n(54)
      , s = n(4)
      , c = n(2);
    t.a = {
        components: {
            ModalInner: o.a
        },
        data: function() {
            var e = c.a.getters["workspace/sponsorToken"]
              , t = function(t, n, r, a) {
                var i = {
                    cmd: "_s-xclick",
                    hosted_button_id: t,
                    custom: e.sub
                };
                return {
                    id: t,
                    price: n,
                    description: r,
                    offer: a,
                    link: s.a.addQueryParams("https://www.paypal.com/cgi-bin/webscr", i)
                }
            };
            return {
                buttons: e ? [t("QD7SFZS79D2AL", "$5", "3 months sponsorship"), t("WG64NCFL9TQZJ", "$15", "1 year sponsorship", "-25%"), t("G2E7MN873EQ3U", "$25", "2 years sponsorship", "-37%"), t("JQJT7ARKYC7FC", "$50", "5 years sponsorship", "-50%")] : []
            }
        },
        computed: a()({}, n.i(i.b)("modal", ["config"])),
        methods: {
            sponsor: function() {}
        }
    }
}
, function(e, t, n) {
    "use strict";
    var r = n(3)
      , a = n.n(r)
      , i = n(7)
      , o = n(54)
      , s = n(2)
      , c = n(12);
    t.a = {
        components: {
            ModalInner: o.a
        },
        computed: a()({}, n.i(i.b)("modal", ["config"]), n.i(i.b)("syncLocation", {
            syncLocations: "currentWithWorkspaceSyncLocation"
        }), {
            currentFileName: function() {
                return s.a.getters["file/current"].name
            }
        }),
        methods: a()({}, n.i(i.c)("notification", ["info"]), {
            remove: function(e) {
                "main" === e.id ? this.info("This location can not be removed.") : (s.a.commit("syncLocation/deleteItem", e.id),
                c.a.addBadge("removeSyncLocation"))
            }
        })
    }
}
, function(e, t, n) {
    "use strict";
    function r(e) {
        "\n" === e.value && (e.value = k.a),
        "\n" === e.helpers && (e.helpers = C.a)
    }
    var a = n(6)
      , i = n.n(a)
      , o = n(5)
      , s = n.n(o)
      , c = n(20)
      , u = n.n(c)
      , l = n(15)
      , d = n.n(l)
      , p = n(19)
      , f = n.n(p)
      , v = n(3)
      , m = n.n(v)
      , h = n(7)
      , g = n(4)
      , b = n(12)
      , _ = n(54)
      , w = n(392)
      , y = n(1892)
      , k = n.n(y)
      , x = n(1891)
      , C = n.n(x)
      , I = n(2)
      , S = new Intl.Collator(void 0,{
        sensitivity: "base"
    });
    t.a = {
        components: {
            ModalInner: _.a,
            CodeEditor: w.a
        },
        data: function() {
            return {
                selectedId: "",
                templates: {},
                showHelpers: !1,
                isEditing: !1,
                editingName: ""
            }
        },
        computed: m()({}, n.i(h.b)("modal", ["config"]), {
            isReadOnly: function() {
                return this.templates[this.selectedId].isAdditional
            }
        }),
        created: function() {
            var e = this;
            this.$watch(function() {
                return I.a.getters["data/allTemplatesById"]
            }, function(t) {
                var n = {};
                if (f()(t).sort(function(e, t) {
                    var n = d()(e, 2)
                      , r = n[1]
                      , a = d()(t, 2)
                      , i = a[1];
                    return S.compare(r.name, i.name)
                }).forEach(function(e) {
                    var t = d()(e, 2)
                      , a = t[0]
                      , i = t[1]
                      , o = g.a.deepCopy(i);
                    r(o),
                    n[a] = o
                }),
                e.templates = n,
                e.selectedId = e.config.selectedId,
                !n[e.selectedId]) {
                    var a = u()(n)
                      , i = d()(a, 1);
                    e.selectedId = i[0]
                }
                e.isEditing = !1
            }, {
                immediate: !0
            }),
            this.$watch("selectedId", function(t) {
                var n = e.templates[t];
                e.showHelpers = n.helpers !== C.a,
                e.editingName = n.name
            }, {
                immediate: !0
            })
        },
        methods: {
            create: function() {
                var e = {
                    name: "New template",
                    value: "\n",
                    helpers: "\n"
                };
                r(e),
                this.selectedId = g.a.uid(),
                this.templates[this.selectedId] = e,
                this.isEditing = !0
            },
            copy: function() {
                var e = g.a.deepCopy(this.templates[this.selectedId]);
                e.name += " copy",
                delete e.isAdditional,
                this.selectedId = g.a.uid(),
                this.templates[this.selectedId] = e,
                this.isEditing = !0
            },
            remove: function() {
                delete this.templates[this.selectedId];
                var e = u()(this.templates)
                  , t = d()(e, 1);
                this.selectedId = t[0]
            },
            submitEdit: function(e) {
                var t = this
                  , n = this.templates[this.selectedId];
                !e && this.editingName ? n.name = g.a.sanitizeName(this.editingName) : this.editingName = n.name,
                setTimeout(function() {
                    t.isEditing = !1
                }, 1)
            },
            resolve: function() {
                var e = this;
                return s()(i.a.mark(function t() {
                    var n, r, a, o;
                    return i.a.wrap(function(t) {
                        for (; ; )
                            switch (t.prev = t.next) {
                            case 0:
                                return n = u()(I.a.getters["data/templatesById"]),
                                t.next = 3,
                                I.a.dispatch("data/setTemplatesById", e.templates);
                            case 3:
                                r = u()(I.a.getters["data/templatesById"]),
                                a = r.filter(function(e) {
                                    return !n.includes(e)
                                }).length,
                                o = n.filter(function(e) {
                                    return !r.includes(e)
                                }).length,
                                a && b.a.addBadge("addTemplate"),
                                o && b.a.addBadge("removeTemplate"),
                                e.config.resolve({
                                    templates: e.templates,
                                    selectedId: e.selectedId
                                });
                            case 9:
                            case "end":
                                return t.stop()
                            }
                    }, t, e)
                }))()
            }
        }
    }
}
, function(e, t, n) {
    "use strict";
    var r = n(20)
      , a = n.n(r)
      , i = n(6)
      , o = n.n(i)
      , s = n(5)
      , c = n.n(s)
      , u = n(39)
      , l = n.n(u)
      , d = n(3)
      , p = n.n(d)
      , f = n(55)
      , v = n(7)
      , m = n(54)
      , h = n(36)
      , g = n(2)
      , b = n(12)
      , _ = n(142);
    t.a = {
        components: {
            ModalInner: m.a
        },
        data: function() {
            return {
                editedId: null,
                editingName: "",
                availableOffline: {}
            }
        },
        computed: p()({}, n.i(v.b)("modal", ["config"]), n.i(v.b)("workspace", ["workspacesById", "mainWorkspace", "currentWorkspace"])),
        methods: p()({}, n.i(v.c)("notification", ["info"]), {
            edit: function(e) {
                this.editedId = e,
                this.editingName = this.workspacesById[e].name
            },
            submitEdit: function(e) {
                var t = this.workspacesById[this.editedId];
                t && (!e && this.editingName && this.editingName !== t.name ? (g.a.dispatch("workspace/patchWorkspacesById", l()({}, this.editedId, p()({}, t, {
                    name: this.editingName
                }))),
                b.a.addBadge("renameWorkspace")) : this.editingName = t.name),
                this.editedId = null
            },
            remove: function(e) {
                var t = this;
                return c()(o.a.mark(function n() {
                    return o.a.wrap(function(n) {
                        for (; ; )
                            switch (n.prev = n.next) {
                            case 0:
                                if (e !== t.mainWorkspace.id) {
                                    n.next = 4;
                                    break
                                }
                                t.info("Your main workspace can not be removed."),
                                n.next = 17;
                                break;
                            case 4:
                                if (e !== t.currentWorkspace.id) {
                                    n.next = 8;
                                    break
                                }
                                t.info("Please close the workspace before removing it."),
                                n.next = 17;
                                break;
                            case 8:
                                return n.prev = 8,
                                n.next = 11,
                                g.a.dispatch("modal/open", "removeWorkspace");
                            case 11:
                                h.a.removeWorkspace(e),
                                b.a.addBadge("removeWorkspace"),
                                n.next = 17;
                                break;
                            case 15:
                                n.prev = 15,
                                n.t0 = n.catch(8);
                            case 17:
                            case "end":
                                return n.stop()
                            }
                    }, n, t, [[8, 15]])
                }))()
            }
        }),
        created: function() {
            var e = this;
            a()(this.workspacesById).forEach(function() {
                var t = c()(o.a.mark(function t(n) {
                    var r;
                    return o.a.wrap(function(t) {
                        for (; ; )
                            switch (t.prev = t.next) {
                            case 0:
                                r = _.a.getWorkspaceItems(n, function() {
                                    f.a.set(e.availableOffline, n, !0),
                                    r()
                                });
                            case 1:
                            case "end":
                                return t.stop()
                            }
                    }, t, e)
                }));
                return function(e) {
                    return t.apply(this, arguments)
                }
            }())
        }
    }
}
, function(e, t, n) {
    "use strict";
    var r = n(4);
    t.a = {
        props: ["label", "info", "error"],
        data: function() {
            return {
                uid: r.a.uid()
            }
        },
        mounted: function() {
            this.$el.querySelector("input,select").id = this.uid
        }
    }
}
, function(e, t, n) {
    "use strict";
    var r = n(3)
      , a = n.n(r)
      , i = n(7);
    t.a = {
        computed: a()({}, n.i(i.b)("modal", ["config"]))
    }
}
, function(e, t, n) {
    "use strict";
    t.a = {
        props: ["active"]
    }
}
, function(e, t, n) {
    "use strict";
    var r = n(880)
      , a = n(14);
    t.a = n.i(a.a)({
        data: function() {
            return {
                pageId: ""
            }
        },
        computedLocalSettings: {
            blogUrl: "bloggerBlogUrl",
            selectedTemplate: "bloggerPublishTemplate"
        },
        methods: {
            resolve: function() {
                if (this.blogUrl) {
                    var e = r.a.makeLocation(this.config.token, this.blogUrl, this.pageId);
                    e.templateId = this.selectedTemplate,
                    this.config.resolve(e)
                } else
                    this.setError("blogUrl")
            }
        }
    })
}
, function(e, t, n) {
    "use strict";
    var r = n(881)
      , a = n(14);
    t.a = n.i(a.a)({
        data: function() {
            return {
                postId: ""
            }
        },
        computedLocalSettings: {
            blogUrl: "bloggerBlogUrl",
            selectedTemplate: "bloggerPublishTemplate"
        },
        methods: {
            resolve: function() {
                if (this.blogUrl) {
                    var e = r.a.makeLocation(this.config.token, this.blogUrl, this.postId);
                    e.templateId = this.selectedTemplate,
                    this.config.resolve(e)
                } else
                    this.setError("blogUrl")
            }
        }
    })
}
, function(e, t, n) {
    "use strict";
    var r = n(3)
      , a = n.n(r)
      , i = n(14)
      , o = n(2);
    t.a = n.i(i.a)({
        data: function() {
            return {
                name: "",
                password: ""
            }
        },
        created: function() {
            this.name = this.config.token.name,
            this.password = this.config.token.password
        },
        methods: {
            resolve: function() {
                if (this.name || this.setError("name"),
                this.password || this.setError("password"),
                this.name && this.password) {
                    var e = a()({}, this.config.token, {
                        name: this.name,
                        password: this.password
                    });
                    o.a.dispatch("data/addCouchdbToken", e),
                    this.config.resolve()
                }
            }
        }
    })
}
, function(e, t, n) {
    "use strict";
    var r = n(14)
      , a = n(4);
    t.a = n.i(r.a)({
        data: function() {
            return {
                dbUrl: ""
            }
        },
        methods: {
            resolve: function() {
                if (this.dbUrl) {
                    var e = a.a.addQueryParams("app", {
                        providerId: "couchdbWorkspace",
                        dbUrl: this.dbUrl
                    }, !0);
                    this.config.resolve(),
                    window.open(e)
                } else
                    this.setError("dbUrl")
            }
        }
    })
}
, function(e, t, n) {
    "use strict";
    var r = n(14);
    t.a = n.i(r.a)({
        computedLocalSettings: {
            restrictedAccess: "dropboxRestrictedAccess"
        }
    })
}
, function(e, t, n) {
    "use strict";
    var r = n(274)
      , a = n(14);
    t.a = n.i(a.a)({
        data: function() {
            return {
                path: ""
            }
        },
        computedLocalSettings: {
            selectedTemplate: "dropboxPublishTemplate"
        },
        created: function() {
            this.path = "/" + this.currentFileName + ".html"
        },
        methods: {
            resolve: function() {
                if (r.a.checkPath(this.path)) {
                    var e = r.a.makeLocation(this.config.token, this.path);
                    e.templateId = this.selectedTemplate,
                    this.config.resolve(e)
                } else
                    this.setError("path")
            }
        }
    })
}
, function(e, t, n) {
    "use strict";
    var r = n(274)
      , a = n(14);
    t.a = n.i(a.a)({
        data: function() {
            return {
                path: ""
            }
        },
        created: function() {
            this.path = "/" + this.currentFileName + ".md"
        },
        methods: {
            resolve: function() {
                if (r.a.checkPath(this.path)) {
                    var e = r.a.makeLocation(this.config.token, this.path);
                    this.config.resolve(e)
                } else
                    this.setError("path")
            }
        }
    })
}
, function(e, t, n) {
    "use strict";
    var r = n(410)
      , a = n(14);
    t.a = n.i(a.a)({
        data: function() {
            return {
                filename: "",
                gistId: ""
            }
        },
        computedLocalSettings: {
            isPublic: "gistIsPublic",
            selectedTemplate: "gistPublishTemplate"
        },
        created: function() {
            this.filename = this.currentFileName + ".md"
        },
        methods: {
            resolve: function() {
                if (this.filename) {
                    var e = r.a.makeLocation(this.config.token, this.filename, this.isPublic, this.gistId);
                    e.templateId = this.selectedTemplate,
                    this.config.resolve(e)
                } else
                    this.setError("filename")
            }
        }
    })
}
, function(e, t, n) {
    "use strict";
    var r = n(410)
      , a = n(14);
    t.a = n.i(a.a)({
        data: function() {
            return {
                filename: "",
                gistId: ""
            }
        },
        computedLocalSettings: {
            isPublic: "gistIsPublic"
        },
        created: function() {
            this.filename = this.currentFileName + ".md"
        },
        methods: {
            resolve: function() {
                if (this.filename) {
                    var e = r.a.makeLocation(this.config.token, this.filename, this.isPublic, this.gistId);
                    this.config.resolve(e)
                } else
                    this.setError("filename")
            }
        }
    })
}
, function(e, t, n) {
    "use strict";
    var r = n(14);
    t.a = n.i(r.a)({
        computedLocalSettings: {
            repoFullAccess: "githubRepoFullAccess"
        }
    })
}
, function(e, t, n) {
    "use strict";
    var r = n(206)
      , a = n(14)
      , i = n(4);
    t.a = n.i(a.a)({
        data: function() {
            return {
                branch: "",
                path: ""
            }
        },
        computedLocalSettings: {
            repoUrl: "githubRepoUrl"
        },
        methods: {
            resolve: function() {
                var e = i.a.parseGithubRepoUrl(this.repoUrl);
                if (e || this.setError("repoUrl"),
                this.path || this.setError("path"),
                e && this.path) {
                    var t = r.a.makeLocation(this.config.token, e.owner, e.repo, this.branch || "master", this.path);
                    this.config.resolve(t)
                }
            }
        }
    })
}
, function(e, t, n) {
    "use strict";
    var r = n(206)
      , a = n(14)
      , i = n(4);
    t.a = n.i(a.a)({
        data: function() {
            return {
                branch: "",
                path: ""
            }
        },
        computedLocalSettings: {
            repoUrl: "githubRepoUrl",
            selectedTemplate: "githubPublishTemplate"
        },
        created: function() {
            this.path = this.currentFileName + ".md"
        },
        methods: {
            resolve: function() {
                var e = i.a.parseGithubRepoUrl(this.repoUrl);
                if (e || this.setError("repoUrl"),
                this.path || this.setError("path"),
                e && this.path) {
                    var t = r.a.makeLocation(this.config.token, e.owner, e.repo, this.branch || "master", this.path);
                    t.templateId = this.selectedTemplate,
                    this.config.resolve(t)
                }
            }
        }
    })
}
, function(e, t, n) {
    "use strict";
    var r = n(206)
      , a = n(14)
      , i = n(4);
    t.a = n.i(a.a)({
        data: function() {
            return {
                branch: "",
                path: ""
            }
        },
        computedLocalSettings: {
            repoUrl: "githubRepoUrl"
        },
        created: function() {
            this.path = this.currentFileName + ".md"
        },
        methods: {
            resolve: function() {
                var e = i.a.parseGithubRepoUrl(this.repoUrl);
                if (e || this.setError("repoUrl"),
                this.path || this.setError("path"),
                e && this.path) {
                    var t = r.a.makeLocation(this.config.token, e.owner, e.repo, this.branch || "master", this.path);
                    this.config.resolve(t)
                }
            }
        }
    })
}
, function(e, t, n) {
    "use strict";
    var r = n(3)
      , a = n.n(r)
      , i = n(4)
      , o = n(14);
    t.a = n.i(o.a)({
        data: function() {
            return {
                branch: "",
                path: ""
            }
        },
        computedLocalSettings: {
            repoUrl: "githubWorkspaceRepoUrl"
        },
        methods: {
            resolve: function() {
                var e = i.a.parseGithubRepoUrl(this.repoUrl);
                if (e) {
                    var t = this.path && this.path.replace(/^\//, "")
                      , n = i.a.addQueryParams("app", a()({}, e, {
                        providerId: "githubWorkspace",
                        branch: this.branch || "master",
                        path: t || void 0
                    }), !0);
                    this.config.resolve(),
                    window.open(n)
                } else
                    this.setError("repoUrl")
            }
        }
    })
}
, function(e, t, n) {
    "use strict";
    var r = n(14)
      , a = n(90);
    t.a = n.i(r.a)({
        data: function() {
            return {
                redirectUrl: a.a.oauth2RedirectUri
            }
        },
        computedLocalSettings: {
            serverUrl: "gitlabServerUrl",
            applicationId: "gitlabApplicationId"
        },
        methods: {
            resolve: function() {
                var e = this.config.forceServerUrl || this.serverUrl;
                if (e || this.setError("serverUrl"),
                this.applicationId || this.setError("applicationId"),
                e && this.applicationId) {
                    var t = e.match(/^(https:\/\/[^/]+)/);
                    t ? this.config.resolve({
                        serverUrl: t[1],
                        applicationId: this.applicationId
                    }) : this.setError("serverUrl")
                }
            }
        }
    })
}
, function(e, t, n) {
    "use strict";
    var r = n(207)
      , a = n(14)
      , i = n(4);
    t.a = n.i(a.a)({
        data: function() {
            return {
                branch: "",
                path: ""
            }
        },
        computedLocalSettings: {
            projectUrl: "gitlabProjectUrl"
        },
        methods: {
            resolve: function() {
                var e = i.a.parseGitlabProjectPath(this.projectUrl);
                if (e || this.setError("projectUrl"),
                this.path || this.setError("path"),
                e && this.path) {
                    var t = r.a.makeLocation(this.config.token, e, this.branch || "master", this.path);
                    this.config.resolve(t)
                }
            }
        }
    })
}
, function(e, t, n) {
    "use strict";
    var r = n(207)
      , a = n(14)
      , i = n(4);
    t.a = n.i(a.a)({
        data: function() {
            return {
                branch: "",
                path: ""
            }
        },
        computedLocalSettings: {
            projectUrl: "gitlabProjectUrl",
            selectedTemplate: "gitlabPublishTemplate"
        },
        created: function() {
            this.path = this.currentFileName + ".md"
        },
        methods: {
            resolve: function() {
                var e = i.a.parseGitlabProjectPath(this.projectUrl);
                if (e || this.setError("projectUrl"),
                this.path || this.setError("path"),
                e && this.path) {
                    var t = r.a.makeLocation(this.config.token, e, this.branch || "master", this.path);
                    t.templateId = this.selectedTemplate,
                    this.config.resolve(t)
                }
            }
        }
    })
}
, function(e, t, n) {
    "use strict";
    var r = n(207)
      , a = n(14)
      , i = n(4);
    t.a = n.i(a.a)({
        data: function() {
            return {
                branch: "",
                path: ""
            }
        },
        computedLocalSettings: {
            projectUrl: "gitlabProjectUrl"
        },
        created: function() {
            this.path = this.currentFileName + ".md"
        },
        methods: {
            resolve: function() {
                var e = i.a.parseGitlabProjectPath(this.projectUrl);
                if (e || this.setError("projectUrl"),
                this.path || this.setError("path"),
                e && this.path) {
                    var t = r.a.makeLocation(this.config.token, e, this.branch || "master", this.path);
                    this.config.resolve(t)
                }
            }
        }
    })
}
, function(e, t, n) {
    "use strict";
    var r = n(4)
      , a = n(14);
    t.a = n.i(a.a)({
        data: function() {
            return {
                branch: "",
                path: ""
            }
        },
        computedLocalSettings: {
            projectUrl: "gitlabWorkspaceProjectUrl"
        },
        methods: {
            resolve: function() {
                var e = r.a.parseGitlabProjectPath(this.projectUrl);
                if (e) {
                    var t = this.path && this.path.replace(/^\//, "")
                      , n = r.a.addQueryParams("app", {
                        providerId: "gitlabWorkspace",
                        serverUrl: this.config.token.serverUrl,
                        projectPath: e,
                        branch: this.branch || "master",
                        path: t || void 0,
                        sub: this.config.token.sub
                    }, !0);
                    this.config.resolve(),
                    window.open(n)
                } else
                    this.setError("projectUrl")
            }
        }
    })
}
, function(e, t, n) {
    "use strict";
    var r = n(14);
    t.a = n.i(r.a)({
        computedLocalSettings: {
            restrictedAccess: "googleDriveRestrictedAccess"
        }
    })
}
, function(e, t, n) {
    "use strict";
    var r = n(30)
      , a = n(275)
      , i = n(14)
      , o = n(2);
    t.a = n.i(i.a)({
        data: function() {
            return {
                fileId: ""
            }
        },
        computedLocalSettings: {
            folderId: "googleDriveFolderId",
            selectedTemplate: "googleDrivePublishTemplate",
            format: "googleDrivePublishFormat"
        },
        methods: {
            openFolder: function() {
                return o.a.dispatch("modal/hideUntil", r.a.openPicker(this.config.token, "folder").then(function(e) {
                    e[0] && o.a.dispatch("data/patchLocalSettings", {
                        googleDriveFolderId: e[0].id
                    })
                }))
            },
            resolve: function() {
                var e = a.a.makeLocation(this.config.token, this.fileId);
                "html" === this.format && (e.templateId = this.selectedTemplate),
                this.config.resolve(e)
            }
        }
    })
}
, function(e, t, n) {
    "use strict";
    var r = n(30)
      , a = n(275)
      , i = n(14)
      , o = n(2);
    t.a = n.i(i.a)({
        data: function() {
            return {
                fileId: ""
            }
        },
        computedLocalSettings: {
            folderId: "googleDriveFolderId"
        },
        methods: {
            openFolder: function() {
                return o.a.dispatch("modal/hideUntil", r.a.openPicker(this.config.token, "folder").then(function(e) {
                    e[0] && o.a.dispatch("data/patchLocalSettings", {
                        googleDriveFolderId: e[0].id
                    })
                }))
            },
            resolve: function() {
                var e = a.a.makeLocation(this.config.token, this.fileId, this.folderId);
                this.config.resolve(e)
            }
        }
    })
}
, function(e, t, n) {
    "use strict";
    var r = n(30)
      , a = n(14)
      , i = n(4)
      , o = n(2);
    t.a = n.i(a.a)({
        computedLocalSettings: {
            folderId: "googleDriveWorkspaceFolderId"
        },
        methods: {
            openFolder: function() {
                return o.a.dispatch("modal/hideUntil", r.a.openPicker(this.config.token, "folder").then(function(e) {
                    e[0] && o.a.dispatch("data/patchLocalSettings", {
                        googleDriveWorkspaceFolderId: e[0].id
                    })
                }))
            },
            resolve: function() {
                var e = i.a.addQueryParams("app", {
                    providerId: "googleDriveWorkspace",
                    folderId: this.folderId,
                    sub: this.config.token.sub
                }, !0);
                this.config.resolve(),
                window.open(e)
            }
        }
    })
}
, function(e, t, n) {
    "use strict";
    var r = n(491)
      , a = n.n(r)
      , i = n(3)
      , o = n.n(i)
      , s = n(7)
      , c = n(54)
      , u = n(393)
      , l = function(e, t) {
        return e + "=s" + t
    };
    t.a = {
        components: {
            ModalInner: c.a,
            FormEntry: u.a
        },
        data: function() {
            return {
                title: "",
                size: ""
            }
        },
        computed: o()({
            thumbnailUrl: function() {
                return "url(" + l(this.config.url, 320) + ")"
            }
        }, n.i(s.b)("modal", ["config"])),
        methods: {
            resolve: function() {
                var e = this.config.url
                  , t = parseInt(this.size, 10);
                a()(t) || (e = l(e, t)),
                this.title && (e += ' "' + this.title + '"');
                var n = this.config.callback;
                this.config.resolve(),
                n(e)
            },
            reject: function() {
                var e = this.config.callback;
                this.config.reject(),
                e(null)
            }
        }
    }
}
, function(e, t, n) {
    "use strict";
    var r = n(888)
      , a = n(14);
    t.a = n.i(a.a)({
        data: function() {
            return {
                postId: ""
            }
        },
        computedLocalSettings: {
            domain: "wordpressDomain",
            selectedTemplate: "wordpressPublishTemplate"
        },
        methods: {
            resolve: function() {
                if (this.domain) {
                    var e = r.a.makeLocation(this.config.token, this.domain, this.postId);
                    e.templateId = this.selectedTemplate,
                    this.config.resolve(e)
                } else
                    this.setError("domain")
            }
        }
    })
}
, function(e, t, n) {
    "use strict";
    var r = n(14)
      , a = n(90);
    t.a = n.i(r.a)({
        data: function() {
            return {
                redirectUrl: a.a.oauth2RedirectUri
            }
        },
        computedLocalSettings: {
            siteUrl: "zendeskSiteUrl",
            clientId: "zendeskClientId"
        },
        methods: {
            resolve: function() {
                if (this.siteUrl || this.setError("siteUrl"),
                this.clientId || this.setError("clientId"),
                this.siteUrl && this.clientId) {
                    var e = this.siteUrl.match(/^https:\/\/([^.]+)\.zendesk\.com/);
                    e ? this.config.resolve({
                        subdomain: e[1],
                        clientId: this.clientId
                    }) : this.setError("siteUrl")
                }
            }
        }
    })
}
, function(e, t, n) {
    "use strict";
    var r = n(889)
      , a = n(14);
    t.a = n.i(a.a)({
        data: function() {
            return {
                articleId: ""
            }
        },
        computedLocalSettings: {
            sectionId: "zendescPublishSectionId",
            locale: "zendescPublishLocale",
            selectedTemplate: "zendeskPublishTemplate"
        },
        methods: {
            resolve: function() {
                if (this.sectionId || this.articleId) {
                    var e = r.a.makeLocation(this.config.token, this.sectionId, this.locale || "en-us", this.articleId);
                    e.templateId = this.selectedTemplate,
                    this.config.resolve(e)
                } else
                    this.setError("sectionId")
            }
        }
    })
}
, function(e, t, n) {
    "use strict";
    t.a = {
        props: ["providerId"],
        computed: {
            classState: function() {
                switch (this.providerId) {
                case "googleDrive":
                case "googleDriveAppData":
                case "googleDriveWorkspace":
                    return "google-drive";
                case "googlePhotos":
                    return "google-photos";
                case "githubWorkspace":
                case "gist":
                    return "github";
                case "gitlabWorkspace":
                    return "gitlab";
                case "bloggerPage":
                    return "blogger";
                case "couchdbWorkspace":
                    return "couchdb";
                default:
                    return this.providerId
                }
            }
        }
    }
}
, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , function(e, t, n) {
    function r(e) {
        return n(a(e))
    }
    function a(e) {
        var t = i[e];
        if (!(t + 1))
            throw new Error("Cannot find module '" + e + "'.");
        return t
    }
    var i = {
        "./bmp": 711,
        "./bmp.js": 711,
        "./gif": 712,
        "./gif.js": 712,
        "./jpg": 713,
        "./jpg.js": 713,
        "./png": 714,
        "./png.js": 714,
        "./psd": 715,
        "./psd.js": 715,
        "./svg": 716,
        "./svg.js": 716,
        "./tiff": 717,
        "./tiff.js": 717,
        "./webp": 718,
        "./webp.js": 718
    };
    r.keys = function() {
        return Object.keys(i)
    }
    ,
    r.resolve = a,
    e.exports = r,
    r.id = 709
}
, , , , , , , , , , , , , , , , , function(e, t) {
    e.exports = "# light or dark\ncolorTheme: light\n# Adjust font size in editor and preview\nfontSizeFactor: 1\n# Adjust maximum text width in editor and preview\nmaxWidthFactor: 1\n# Auto-sync frequency (in ms). Minimum is 60000.\nautoSyncEvery: 90000\n\n# Editor settings\neditor:\n  # Automatic list numbering\n  listAutoNumber: true\n  # Display images in the editor\n  inlineImages: true\n  # Use monospaced font only\n  monospacedFontOnly: false\n\n# Keyboard shortcuts\n# See https://craig.is/killing/mice\nshortcuts:\n  mod+f: find\n  mod+alt+f: replace\n  mod+g: replace\n  mod+shift+b: bold\n  mod+shift+c: clist\n  mod+shift+k: code\n  mod+shift+h: heading\n  mod+shift+r: hr\n  mod+shift+g: image\n  mod+shift+i: italic\n  mod+shift+l: link\n  mod+shift+o: olist\n  mod+shift+q: quote\n  mod+shift+s: strikethrough\n  mod+shift+t: table\n  mod+shift+u: ulist\n  mod+s: save\n  '= = > space':\n    method: expand\n    params:\n    - '==> '\n    - '⇒ '\n  '< = = space':\n    method: expand\n    params:\n    - '<== '\n    - '⇐ '\n\n# Options passed to wkhtmltopdf\n# See https://wkhtmltopdf.org/usage/wkhtmltopdf.txt\nwkhtmltopdf:\n  marginTop: 25\n  marginRight: 25\n  marginBottom: 25\n  marginLeft: 25\n  # A3, A4, Legal or Letter\n  pageSize: A4\n\n# Options passed to pandoc\n# See https://pandoc.org/MANUAL.html\npandoc:\n  highlightStyle: kate\n  toc: true\n  tocDepth: 3\n\n# HTML to Markdown converter options\n# See https://github.com/domchristie/turndown\nturndown:\n  headingStyle: atx\n  hr: ----------\n  bulletListMarker: '-'\n  codeBlockStyle: fenced\n  fence: '```'\n  emDelimiter: _\n  strongDelimiter: '**'\n  linkStyle: inlined\n  linkReferenceStyle: full\n\n# GitHub/GitLab commit messages\ngit:\n  createFileMessage: '{{path}} created from https://stackedit.io/'\n  updateFileMessage: '{{path}} updated from https://stackedit.io/'\n  deleteFileMessage: '{{path}} deleted from https://stackedit.io/'\n\n# Default content for new files\nnewFileContent: |\n\n\n\n  > Written with [StackEdit](https://stackedit.io/).\n\n# Default properties for new files\nnewFileProperties: |\n#  extensions:\n#    preset: gfm\n\n"
}
, , , , , function(e, t, n) {
    "use strict";
    var r = n(2094)
      , a = n(755)
      , i = n(0)
      , o = n.i(i.a)(a.a, r.a, r.b, !1, null, null, null);
    t.a = o.exports
}
, function(e, t, n) {
    "use strict";
    var r = n(2095)
      , a = n(756)
      , i = n(0)
      , o = n.i(i.a)(a.a, r.a, r.b, !1, null, null, null);
    t.a = o.exports
}
, function(e, t, n) {
    "use strict";
    var r = n(2096)
      , a = n(757)
      , i = (n(2053),
    n(0))
      , o = n.i(i.a)(a.a, r.a, r.b, !1, null, null, null);
    t.a = o.exports
}
, function(e, t, n) {
    "use strict";
    var r = n(2099)
      , a = n(760)
      , i = n(0)
      , o = n.i(i.a)(a.a, r.a, r.b, !1, null, null, null);
    t.a = o.exports
}
, function(e, t, n) {
    "use strict";
    var r = n(2101)
      , a = n(762)
      , i = (n(2055),
    n(0))
      , o = n.i(i.a)(a.a, r.a, r.b, !1, null, null, null);
    t.a = o.exports
}
, function(e, t, n) {
    "use strict";
    var r = n(2127)
      , a = n(787)
      , i = n(0)
      , o = n.i(i.a)(a.a, r.a, r.b, !1, null, null, null);
    t.a = o.exports
}
, function(e, t, n) {
    "use strict";
    var r = n(412);
    t.a = r.a
}
, function(e, t, n) {
    "use strict";
    var r = n(413);
    t.a = r.a
}
, function(e, t, n) {
    "use strict";
    var r = n(414);
    t.a = r.a
}
, function(e, t, n) {
    "use strict";
    var r = n(415);
    t.a = r.a
}
, function(e, t, n) {
    "use strict";
    var r = n(416);
    t.a = r.a
}
, function(e, t, n) {
    "use strict";
    var r = n(417);
    t.a = r.a
}
, function(e, t, n) {
    "use strict";
    var r = n(418);
    t.a = r.a
}
, function(e, t, n) {
    "use strict";
    var r = n(419);
    t.a = r.a
}
, function(e, t, n) {
    "use strict";
    var r = n(420);
    t.a = r.a
}
, function(e, t, n) {
    "use strict";
    var r = n(421);
    t.a = r.a
}
, function(e, t, n) {
    "use strict";
    var r = n(422);
    t.a = r.a
}
, function(e, t, n) {
    "use strict";
    var r = n(423);
    t.a = r.a
}
, function(e, t, n) {
    "use strict";
    var r = n(424);
    t.a = r.a
}
, function(e, t, n) {
    "use strict";
    var r = n(425);
    t.a = r.a
}
, function(e, t, n) {
    "use strict";
    var r = n(426);
    t.a = r.a
}
, function(e, t, n) {
    "use strict";
    var r = n(427);
    t.a = r.a
}
, function(e, t, n) {
    "use strict";
    var r = n(428);
    t.a = r.a
}
, function(e, t, n) {
    "use strict";
    var r = n(429);
    t.a = r.a
}
, function(e, t, n) {
    "use strict";
    var r = n(430);
    t.a = r.a
}
, function(e, t, n) {
    "use strict";
    var r = n(431);
    t.a = r.a
}
, function(e, t, n) {
    "use strict";
    var r = n(432);
    t.a = r.a
}
, function(e, t, n) {
    "use strict";
    var r = n(433);
    t.a = r.a
}
, function(e, t, n) {
    "use strict";
    var r = n(434);
    t.a = r.a
}
, function(e, t, n) {
    "use strict";
    var r = n(435);
    t.a = r.a
}
, function(e, t, n) {
    "use strict";
    var r = n(436);
    t.a = r.a
}
, function(e, t, n) {
    "use strict";
    var r = n(437);
    t.a = r.a
}
, function(e, t, n) {
    "use strict";
    var r = n(438);
    t.a = r.a
}
, function(e, t, n) {
    "use strict";
    var r = n(439);
    t.a = r.a
}
, function(e, t, n) {
    "use strict";
    var r = n(440);
    t.a = r.a
}
, function(e, t, n) {
    "use strict";
    var r = n(441);
    t.a = r.a
}
, function(e, t, n) {
    "use strict";
    var r = n(442);
    t.a = r.a
}
, function(e, t, n) {
    "use strict";
    var r = n(443);
    t.a = r.a
}
, function(e, t, n) {
    "use strict";
    var r = n(444);
    t.a = r.a
}
, function(e, t, n) {
    "use strict";
    var r = n(445);
    t.a = r.a
}
, function(e, t, n) {
    "use strict";
    var r = n(446);
    t.a = r.a
}
, function(e, t, n) {
    "use strict";
    var r = n(447);
    t.a = r.a
}
, function(e, t, n) {
    "use strict";
    var r = n(448);
    t.a = r.a
}
, function(e, t, n) {
    "use strict";
    var r = n(449);
    t.a = r.a
}
, function(e, t, n) {
    "use strict";
    var r = n(450);
    t.a = r.a
}
, function(e, t, n) {
    "use strict";
    var r = n(451);
    t.a = r.a
}
, function(e, t, n) {
    "use strict";
    var r = n(452);
    t.a = r.a
}
, function(e, t, n) {
    "use strict";
    var r = n(453);
    t.a = r.a
}
, function(e, t, n) {
    "use strict";
    var r = n(454);
    t.a = r.a
}
, function(e, t, n) {
    "use strict";
    var r = n(455);
    t.a = r.a
}
, function(e, t, n) {
    "use strict";
    var r = n(456);
    t.a = r.a
}
, function(e, t, n) {
    "use strict";
    var r = n(457);
    t.a = r.a
}
, function(e, t, n) {
    "use strict";
    var r = n(458);
    t.a = r.a
}
, function(e, t, n) {
    "use strict";
    var r = n(459);
    t.a = r.a
}
, function(e, t, n) {
    "use strict";
    var r = n(460);
    t.a = r.a
}
, function(e, t, n) {
    "use strict";
    var r = n(461);
    t.a = r.a
}
, function(e, t, n) {
    "use strict";
    var r = n(462);
    t.a = r.a
}
, function(e, t, n) {
    "use strict";
    var r = n(463);
    t.a = r.a
}
, function(e, t, n) {
    "use strict";
    var r = n(464);
    t.a = r.a
}
, function(e, t, n) {
    "use strict";
    var r = n(465);
    t.a = r.a
}
, function(e, t, n) {
    "use strict";
    var r = n(466);
    t.a = r.a
}
, function(e, t, n) {
    "use strict";
    var r = n(467);
    t.a = r.a
}
, function(e, t, n) {
    "use strict";
    var r = n(468);
    t.a = r.a
}
, function(e, t, n) {
    "use strict";
    var r = n(469);
    t.a = r.a
}
, function(e, t, n) {
    "use strict";
    var r = n(470);
    t.a = r.a
}
, function(e, t, n) {
    "use strict";
    var r = n(471);
    t.a = r.a
}
, function(e, t, n) {
    "use strict";
    var r = n(472);
    t.a = r.a
}
, function(e, t, n) {
    "use strict";
    var r = n(473);
    t.a = r.a
}
, function(e, t, n) {
    "use strict";
    var r = n(474);
    t.a = r.a
}
, function(e, t, n) {
    "use strict";
    var r = n(475);
    t.a = r.a
}
, function(e, t, n) {
    "use strict";
    var r = n(476);
    t.a = r.a
}
, function(e, t, n) {
    "use strict";
    var r = n(477);
    t.a = r.a
}
, function(e, t, n) {
    "use strict";
    var r = n(478);
    t.a = r.a
}
, function(e, t, n) {
    "use strict";
    var r = n(479);
    t.a = r.a
}
, function(e, t, n) {
    "use strict";
    var r = n(480);
    t.a = r.a
}
, function(e, t, n) {
    "use strict";
    var r = n(481);
    t.a = r.a
}
, function(e, t, n) {
    "use strict";
    var r = n(482);
    t.a = r.a
}
, function(e, t, n) {
    "use strict";
    var r = n(483);
    t.a = r.a
}
, function(e, t, n) {
    "use strict";
    var r = n(484);
    t.a = r.a
}
, function(e, t, n) {
    "use strict";
    var r = n(485);
    t.a = r.a
}
, function(e, t, n) {
    "use strict";
    var r = n(486);
    t.a = r.a
}
, function(e, t, n) {
    "use strict";
    var r = n(487);
    t.a = r.a
}
, function(e, t, n) {
    "use strict";
    var r = n(488);
    t.a = r.a
}
, function(e, t, n) {
    "use strict";
    var r = n(489);
    t.a = r.a
}
, function(e, t, n) {
    "use strict";
    var r = n(490);
    t.a = r.a
}
, function(e, t, n) {
    "use strict";
    n(856),
    n(855),
    n(857),
    n(861),
    n(862)
}
, function(e, t, n) {
    "use strict";
    var r = n(55)
      , a = n(2018)
      , i = n(1997)
      , o = n(1998)
      , s = n(2002)
      , c = n(2009)
      , u = n(1991)
      , l = n(2029)
      , d = n(2001)
      , p = n(1999)
      , f = n(2003)
      , v = n(2004)
      , m = n(2026)
      , h = n(2014)
      , g = n(2024)
      , b = n(1990)
      , _ = n(2023)
      , w = n(1994)
      , y = n(1993)
      , k = n(1996)
      , x = n(1987)
      , C = n(1981)
      , I = n(2016)
      , S = n(2030)
      , E = n(1979)
      , L = n(2005)
      , T = n(2031)
      , D = n(2010)
      , P = n(2011)
      , B = n(2027)
      , A = n(2028)
      , M = n(2033)
      , N = n(2034)
      , U = n(1989)
      , F = n(1983)
      , O = n(1982)
      , $ = n(2015)
      , R = n(2007)
      , q = n(1978)
      , W = n(2025)
      , G = n(1995)
      , H = n(2021)
      , j = n(2017)
      , z = n(2032)
      , V = n(2019)
      , Z = n(1985)
      , Y = n(2013)
      , K = n(2006)
      , J = n(1986)
      , Q = n(2012)
      , X = n(2e3)
      , ee = n(1980)
      , te = n(1984)
      , ne = n(2008)
      , re = n(1988)
      , ae = n(2022)
      , ie = n(1992)
      , oe = n(2020);
    r.a.component("iconProvider", a.a),
    r.a.component("iconFormatBold", i.a),
    r.a.component("iconFormatItalic", o.a),
    r.a.component("iconFormatQuoteClose", s.a),
    r.a.component("iconLinkVariant", c.a),
    r.a.component("iconFileImage", u.a),
    r.a.component("iconTable", l.a),
    r.a.component("iconFormatListNumbers", d.a),
    r.a.component("iconFormatListBulleted", p.a),
    r.a.component("iconFormatSize", f.a),
    r.a.component("iconFormatStrikethrough", v.a),
    r.a.component("iconStatusBar", m.a),
    r.a.component("iconNavigationBar", h.a),
    r.a.component("iconSidePreview", g.a),
    r.a.component("iconEye", b.a),
    r.a.component("iconSettings", _.a),
    r.a.component("iconFilePlus", w.a),
    r.a.component("iconFileMultiple", y.a),
    r.a.component("iconFolderPlus", k.a),
    r.a.component("iconDelete", x.a),
    r.a.component("iconClose", C.a),
    r.a.component("iconPen", I.a),
    r.a.component("iconTarget", S.a),
    r.a.component("iconArrowLeft", E.a),
    r.a.component("iconHelpCircle", L.a),
    r.a.component("iconToc", T.a),
    r.a.component("iconLogin", D.a),
    r.a.component("iconLogout", P.a),
    r.a.component("iconSync", B.a),
    r.a.component("iconSyncOff", A.a),
    r.a.component("iconUpload", M.a),
    r.a.component("iconViewList", N.a),
    r.a.component("iconDownload", U.a),
    r.a.component("iconCodeTags", F.a),
    r.a.component("iconCodeBraces", O.a),
    r.a.component("iconOpenInNew", $.a),
    r.a.component("iconInformation", R.a),
    r.a.component("iconAlert", q.a),
    r.a.component("iconSignalOff", W.a),
    r.a.component("iconFolder", G.a),
    r.a.component("iconScrollSync", H.a),
    r.a.component("iconPrinter", j.a),
    r.a.component("iconUndo", z.a),
    r.a.component("iconRedo", V.a),
    r.a.component("iconContentSave", Z.a),
    r.a.component("iconMessage", Y.a),
    r.a.component("iconHistory", K.a),
    r.a.component("iconDatabase", J.a),
    r.a.component("iconMagnify", Q.a),
    r.a.component("iconFormatListChecks", X.a),
    r.a.component("iconCheckCircle", ee.a),
    r.a.component("iconContentCopy", te.a),
    r.a.component("iconKey", ne.a),
    r.a.component("iconDotsHorizontal", re.a),
    r.a.component("iconSeal", ae.a),
    r.a.component("iconFileImageCsdn", ie.a),
    r.a.component("iconSave", oe.a)
}
, function(e, t, n) {
    "use strict";
    n(878),
    n(876),
    n(877),
    n(879)
}
, , , , function(e, t, n) {
    "use strict";
    var r = n(2075)
      , a = n(737)
      , i = n(0)
      , o = n.i(i.a)(a.a, r.a, r.b, !1, null, null, null);
    t.a = o.exports
}
, , , , , , , , , , , , , , , , , , , , , , , function(e, t, n) {
    "use strict";
    var r = n(55)
      , a = n(918)
      , i = n.n(a)
      , o = n(890)
      , s = n(2);
    r.a.directive("focus", {
        inserted: function(e) {
            e.focus();
            var t = e.value;
            t && e.setSelectionRange && e.setSelectionRange(0, t.length)
        }
    });
    var c = function(e, t) {
        e.style.display = t ? "" : "none",
        t ? e.removeAttribute("aria-hidden") : e.setAttribute("aria-hidden", "true")
    };
    r.a.directive("show", {
        bind: function(e, t) {
            var n = t.value;
            c(e, n)
        },
        update: function(e, t) {
            var n = t.value;
            n !== t.oldValue && c(e, n)
        }
    });
    var u = function(e, t) {
        e.title = t,
        e.setAttribute("aria-label", t)
    };
    r.a.directive("title", {
        bind: function(e, t) {
            var n = t.value;
            u(e, n)
        },
        update: function(e, t) {
            var n = t.value;
            n !== t.oldValue && u(e, n)
        }
    });
    var l = function(e, t) {
        e.seClipboard = new i.a(e,{
            text: function() {
                return t
            }
        })
    }
      , d = function(e) {
        e.seClipboard && (e.seClipboard.destroy(),
        e.seClipboard = null)
    };
    r.a.directive("clipboard", {
        bind: function(e, t) {
            var n = t.value;
            l(e, n)
        },
        update: function(e, t) {
            var n = t.value;
            n !== t.oldValue && (d(e),
            l(e, n))
        },
        unbind: function(e) {
            d(e)
        }
    }),
    r.a.filter("formatTime", function(e) {
        return o.a.format(e, s.a.state.timeCounter)
    })
}
, function(e, t, n) {
    "use strict";
    t.a = function() {
        return {
            showNavigationBar: !0,
            showEditor: !1,
            showSidePreview: !0,
            showStatusBar: !0,
            showSideBar: !1,
            showExplorer: !1,
            scrollSync: !0,
            focusMode: !1,
            findCaseSensitive: !1,
            findUseRegexp: !1,
            sideBarPanel: "menu",
            welcomeTourFinished: !1
        }
    }
}
, function(e, t, n) {
    "use strict";
    t.a = function() {
        return {
            welcomeFileHashes: {},
            filePropertiesTab: "",
            htmlExportTemplate: "styledHtml",
            pdfExportTemplate: "styledHtml",
            pandocExportFormat: "pdf",
            googleDriveRestrictedAccess: !1,
            googleDriveFolderId: "",
            googleDriveWorkspaceFolderId: "",
            googleDrivePublishFormat: "markdown",
            googleDrivePublishTemplate: "styledHtml",
            bloggerBlogUrl: "",
            bloggerPublishTemplate: "plainHtml",
            dropboxRestrictedAccess: !1,
            dropboxPublishTemplate: "styledHtml",
            githubRepoFullAccess: !1,
            githubRepoUrl: "",
            githubWorkspaceRepoUrl: "",
            githubPublishTemplate: "jekyllSite",
            gistIsPublic: !1,
            gistPublishTemplate: "plainText",
            gitlabServerUrl: "",
            gitlabApplicationId: "",
            gitlabProjectUrl: "",
            gitlabWorkspaceProjectUrl: "",
            gitlabPublishTemplate: "plainText",
            wordpressDomain: "",
            wordpressPublishTemplate: "plainHtml",
            zendeskSiteUrl: "",
            zendeskClientId: "",
            zendescPublishSectionId: "",
            zendescPublishLocale: "",
            zendeskPublishTemplate: "plainHtml"
        }
    }
}
, function(e, t, n) {
    "use strict";
    t.a = function() {
        return {
            main: {
                id: "main",
                name: "Main workspace"
            }
        }
    }
}
, function(e, t, n) {
    "use strict";
    t.a = function() {
        return {
            id: arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : null,
            type: "contentState",
            selectionStart: 0,
            selectionEnd: 0,
            scrollPosition: null,
            hash: 0
        }
    }
}
, function(e, t, n) {
    "use strict";
    t.a = function() {
        return {
            id: arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : null,
            type: "publishLocation",
            providerId: null,
            fileId: null,
            templateId: null,
            hash: 0
        }
    }
}
, function(e, t, n) {
    "use strict";
    t.a = function() {
        return {
            id: arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : null,
            type: "syncLocation",
            providerId: null,
            fileId: null,
            hash: 0
        }
    }
}
, function(e, t, n) {
    "use strict";
    t.a = function() {
        return {
            id: arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : null,
            type: "syncedContent",
            historyData: {},
            syncHistory: {},
            v: 0,
            hash: 0
        }
    }
}
, function(e, t, n) {
    "use strict";
    var r = n(37)
      , a = n.n(r)
      , i = n(67)
      , o = n.n(i)
      , s = function() {
        function e(t, n, r) {
            var i = arguments.length > 3 && void 0 !== arguments[3] ? arguments[3] : null;
            a()(this, e),
            this.id = t,
            this.badgeName = n,
            this.description = r,
            this.children = i
        }
        return o()(e, [{
            key: "toBadge",
            value: function(e) {
                var t = this.children ? this.children.map(function(t) {
                    return t.toBadge(e)
                }) : null;
                return {
                    featureId: this.id,
                    name: this.badgeName,
                    description: this.description,
                    children: t,
                    isEarned: t ? t.every(function(e) {
                        return e.isEarned
                    }) : !!e[this.id],
                    hasSomeEarned: t && t.some(function(e) {
                        return e.isEarned
                    })
                }
            }
        }]),
        e
    }();
    t.a = [new s("navigationBar","Nav bar expert","Master the navigation bar by formatting some Markdown and renaming the current file.",[new s("formatButtons","Formatter","Use the format buttons to change formatting in your Markdown file."), new s("editCurrentFileName","Renamer","Use the name field in the navigation bar to rename the current file."), new s("toggleExplorer","Explorer toggler","Use the navigation bar to toggle the explorer."), new s("toggleSideBar","Side bar toggler","Use the navigation bar to toggle the side bar.")]), new s("explorer","Explorer","Use the file explorer to manage files and folders in your workspace.",[new s("createFile","File creator","Use the file explorer to create a new file in your workspace."), new s("switchFile","File switcher","Use the file explorer to switch from one file to another in your workspace."), new s("createFolder","Folder creator","Use the file explorer to create a new folder in your workspace."), new s("moveFile","File mover","Drag a file in the file explorer to move it in another folder."), new s("moveFolder","Folder mover","Drag a folder in the file explorer to move it in another folder."), new s("renameFile","File renamer","Use the file explorer to rename a file in your workspace."), new s("renameFolder","Folder renamer","Use the file explorer to rename a folder in your workspace."), new s("removeFile","File remover","Use the file explorer to remove a file in your workspace."), new s("removeFolder","Folder remover","Use the file explorer to remove a folder in your workspace.")]), new s("buttonBar","Button bar expert","Use the button bar to customize the editor layout and to toggle features.",[new s("toggleNavigationBar","Navigation bar toggler","Use the button bar to toggle the navigation bar."), new s("toggleSidePreview","Side preview toggler","Use the button bar to toggle the side preview."), new s("toggleEditor","Editor toggler","Use the button bar to toggle the editor."), new s("toggleFocusMode","Focused","Use the button bar to toggle the focus mode. This mode keeps the caret vertically centered while typing."), new s("toggleScrollSync","Scroll sync toggler","Use the button bar to toggle the scroll sync feature. This feature links the editor and the preview scrollbars."), new s("toggleStatusBar","Status bar toggler","Use the button bar to toggle the status bar.")]), new s("signIn","Signed in","Sign in with Google, sync your main workspace and unlock functionalities.",[new s("syncMainWorkspace","Main workspace synced","Sign in with Google to sync your main workspace with your Google Drive app data folder."), new s("sponsor","Sponsor","Sign in with Google and sponsor StackEdit to unlock PDF and Pandoc exports.")]), new s("workspaces","Workspace expert","Use the workspace menu to create all kinds of workspaces and to manage them.",[new s("addCouchdbWorkspace","CouchDB workspace creator","Use the workspace menu to create a CouchDB workspace."), new s("addGithubWorkspace","GitHub workspace creator","Use the workspace menu to create a GitHub workspace."), new s("addGitlabWorkspace","GitLab workspace creator","Use the workspace menu to create a GitLab workspace."), new s("addGoogleDriveWorkspace","Google Drive workspace creator","Use the workspace menu to create a Google Drive workspace."), new s("renameWorkspace","Workspace renamer",'Use the "Manage workspaces" dialog to rename a workspace.'), new s("removeWorkspace","Workspace remover",'Use the "Manage workspaces" dialog to remove a workspace locally.')]), new s("manageAccounts","Account manager",'Link all kinds of external accounts and use the "Accounts" dialog to manage them.',[new s("addBloggerAccount","Blogger user","Link your Blogger account to StackEdit."), new s("addDropboxAccount","Dropbox user","Link your Dropbox account to StackEdit."), new s("addGitHubAccount","GitHub user","Link your GitHub account to StackEdit."), new s("addGitLabAccount","GitLab user","Link your GitLab account to StackEdit."), new s("addGoogleDriveAccount","Google Drive user","Link your Google Drive account to StackEdit."), new s("addGooglePhotosAccount","Google Photos user","Link your Google Photos account to StackEdit."), new s("addWordpressAccount","WordPress user","Link your WordPress account to StackEdit."), new s("addZendeskAccount","Zendesk user","Link your Zendesk account to StackEdit."), new s("removeAccount","Revoker",'Use the "Accounts" dialog to remove access to an external account.')]), new s("syncFiles","File synchronizer",'Master the "Synchronize" menu by opening and saving files with all kinds of external accounts.',[new s("openFromDropbox","Dropbox reader",'Use the "Synchronize" menu to open a file from your Dropbox account.'), new s("saveOnDropbox","Dropbox writer",'Use the "Synchronize" menu to save a file in your Dropbox account.'), new s("openFromGithub","GitHub reader",'Use the "Synchronize" menu to open a file from a GitHub repository.'), new s("saveOnGithub","GitHub writer",'Use the "Synchronize" menu to save a file in a GitHub repository.'), new s("saveOnGist","Gist writer",'Use the "Synchronize" menu to save a file in a Gist.'), new s("openFromGitlab","GitLab reader",'Use the "Synchronize" menu to open a file from a GitLab repository.'), new s("saveOnGitlab","GitLab writer",'Use the "Synchronize" menu to save a file in a GitLab repository.'), new s("openFromGoogleDrive","Google Drive reader",'Use the "Synchronize" menu to open a file from your Google Drive account.'), new s("saveOnGoogleDrive","Google Drive writer",'Use the "Synchronize" menu to save a file in your Google Drive account.'), new s("triggerSync","Sync trigger",'Use the "Synchronize" menu or the navigation bar to manually trigger synchronization.'), new s("syncMultipleLocations","Multi-sync",'Use the "Synchronize" menu to synchronize a file with multiple external locations.'), new s("removeSyncLocation","Desynchronizer",'Use the "File synchronization" dialog to remove a sync location.')]), new s("publishFiles","File publisher",'Master the "Publish" menu by publishing files to all kinds of external accounts.',[new s("publishToBlogger","Blogger publisher",'Use the "Publish" menu to publish a Blogger article.'), new s("publishToBloggerPage","Blogger Page publisher",'Use the "Publish" menu to publish a Blogger page.'), new s("publishToDropbox","Dropbox publisher",'Use the "Publish" menu to publish a file to your Dropbox account.'), new s("publishToGithub","GitHub publisher",'Use the "Publish" menu to publish a file to a GitHub repository.'), new s("publishToGist","Gist publisher",'Use the "Publish" menu to publish a file to a Gist.'), new s("publishToGitlab","GitLab publisher",'Use the "Publish" menu to publish a file to a GitLab repository.'), new s("publishToGoogleDrive","Google Drive publisher",'Use the "Publish" menu to publish a file to your Google Drive account.'), new s("publishToWordPress","WordPress publisher",'Use the "Publish" menu to publish a WordPress article.'), new s("publishToZendesk","Zendesk publisher",'Use the "Publish" menu to publish a Zendesk Help Center article.'), new s("triggerPublish","Publication reviser",'Use the "Publish" menu or the navigation bar to manually update publications.'), new s("publishMultipleLocations","Multi-publication",'Use the "Publish" menu to publish a file to multiple external locations.'), new s("removePublishLocation","Unpublisher",'Use the "File publication" dialog to remove a publish location.')]), new s("manageHistory","Historian",'Use the "File history" menu to see version history and restore old versions of the current file.',[new s("restoreVersion","Restorer",'Use the "File history" menu to restore an old version of the current file.'), new s("chooseHistory","History chooser","Select a different history for a file that is synced with multiple external locations.")]), new s("manageProperties","Property expert",'Use the "File properties" dialog to change properties for the current file.',[new s("setMetadata","Metadata setter",'Use the "File properties" dialog to set metadata for the current file.'), new s("changePreset","Preset changer",'Use the "File properties" dialog to change the Markdown engine preset.'), new s("changeExtension","Extension expert",'Use the "File properties" dialog to enable, disable or configure Markdown engine extensions.')]), new s("comment","Comment expert","Start and remove discussions, add and remove comments.",[new s("createDiscussion","Discussion starter",'Use the "comment" button to start a new discussion.'), new s("addComment","Commenter","Use the discussion gutter to add a comment to an existing discussion."), new s("removeComment","Moderator","Use the discussion gutter to remove a comment in a discussion."), new s("removeDiscussion","Discussion closer","Use the discussion gutter to remove a discussion.")]), new s("importExport","Import/export",'Use the "Import/export" menu to import and export files.',[new s("importMarkdown","Markdown importer",'Use the "Import/export" menu to import a Markdown file from disk.'), new s("exportMarkdown","Markdown exporter",'Use the "Import/export" menu to export a Markdown file to disk.'), new s("importHtml","HTML importer",'Use the "Import/export" menu to import an HTML file from disk and convert it to Markdown.'), new s("exportHtml","HTML exporter",'Use the "Import/export" menu to export a file to disk as an HTML file using a Handlebars template.'), new s("exportPdf","PDF exporter",'Use the "Import/export" menu to export a file to disk as a PDF file.'), new s("exportPandoc","Pandoc exporter",'Use the "Import/export" menu to export a file to disk using Pandoc.')]), new s("manageSettings","Settings expert",'Use the "Settings" dialog to tweak the application behaviors and change keyboard shortcuts.',[new s("changeSettings","Tweaker",'Use the "Settings" dialog to tweak the application behaviors.'), new s("changeShortcuts","Shortcut editor",'Use the "Settings" dialog to change keyboard shortcuts.')]), new s("manageTemplates","Template expert",'Use the "Templates" dialog to create, remove or modify Handlebars templates.',[new s("addTemplate","Template creator",'Use the "Templates" dialog to create a Handlebars template.'), new s("removeTemplate","Template remover",'Use the "Templates" dialog to remove a Handlebars template.')])]
}
, function(e, t, n) {
    "use strict";
    var r = function(e, t, n) {
        return {
            contentHtml: "function" == typeof e ? e : function() {
                return e
            }
            ,
            rejectText: t,
            resolveText: n
        }
    };
    t.a = {
        commentDeletion: r("<p>You are about to delete a comment. Are you sure?</p>", "No", "Yes, delete"),
        discussionDeletion: r("<p>You are about to delete a discussion. Are you sure?</p>", "No", "Yes, delete"),
        fileRestoration: r("<p>You are about to revert some changes. Are you sure?</p>", "No", "Yes, revert"),
        folderDeletion: r(function(e) {
            return "<p>You are about to delete the folder <b>" + e.item.name + "</b>. Its files will be moved to Trash. Are you sure?</p>"
        }, "No", "Yes, delete"),
        pathConflict: r(function(e) {
            return "<p><b>" + e.item.name + "</b> already exists. Do you want to add a suffix?</p>"
        }, "No", "Yes, add suffix"),
        paymentSuccess: r("<h3>Thank you for your payment!</h3><p>Your sponsorship will be active in a minute.</p>", "Ok"),
        providerRedirection: r(function(e) {
            return "<p>You are about to navigate to the <b>" + e.name + "</b> authorization page.</p>"
        }, "Cancel", "Ok, go on"),
        removeWorkspace: r("<p>You are about to remove a workspace locally. Are you sure?</p>", "No", "Yes, remove"),
        reset: r("<p>This will clean all your workspaces locally. Are you sure?</p>", "No", "Yes, clean"),
        signInForComment: r('<p>You have to sign in with Google to start commenting.</p>\n    <div class="modal__info"><b>Note:</b> This will sync your main workspace.</div>', "Cancel", "Ok, sign in"),
        signInForSponsorship: r('<p>You have to sign in with Google to sponsor.</p>\n    <div class="modal__info"><b>Note:</b> This will sync your main workspace.</div>', "Cancel", "Ok, sign in"),
        sponsorOnly: r("<p>This feature is restricted to sponsors as it relies on server resources.</p>", "Ok, I understand"),
        stripName: r(function(e) {
            return "<p><b>" + e.item.name + "</b> contains illegal characters. Do you want to strip them?</p>"
        }, "No", "Yes, strip"),
        tempFileDeletion: r(function(e) {
            return "<p>You are about to permanently delete the temporary file <b>" + e.item.name + "</b>. Are you sure?</p>"
        }, "No", "Yes, delete"),
        tempFolderDeletion: r("<p>You are about to permanently delete all the temporary files. Are you sure?</p>", "No", "Yes, delete all"),
        trashDeletion: r("<p>Files in the trash are automatically deleted after 7 days of inactivity.</p>", "Ok"),
        unauthorizedName: r(function(e) {
            return "<p><b>" + e.item.name + "</b> is an unauthorized name.</p>"
        }, "Ok"),
        workspaceGoogleRedirection: r("<p>StackEdit needs full Google Drive access to open this workspace.</p>", "Cancel", "Ok, grant")
    }
}
, function(e, t, n) {
    "use strict";
    var r = n(825)
      , a = n.n(r)
      , i = n(100)
      , o = function(e) {
        var t = e.textContent
          , n = document.createElement("div");
        n.className = "abc-notation-block",
        e.parentNode.parentNode.replaceChild(n, e.parentNode),
        a()(n, t, {})
    };
    i.a.onGetOptions(function(e, t) {
        e.abc = t.extensions.abc.enabled
    }),
    i.a.onSectionPreview(function(e) {
        e.querySelectorAll(".prism.language-abc").cl_each(function(e) {
            return o(e)
        })
    })
}
, function(e, t, n) {
    "use strict";
    var r = n(1820)
      , a = n.n(r)
      , i = n(100);
    i.a.onGetOptions(function(e, t) {
        e.emoji = t.extensions.emoji.enabled,
        e.emojiShortcuts = t.extensions.emoji.shortcuts
    }),
    i.a.onInitConverter(1, function(e, t) {
        t.emoji && e.use(a.a, t.emojiShortcuts ? {} : {
            shortcuts: {}
        })
    })
}
, function(e, t, n) {
    "use strict";
    var r = n(1649)
      , a = n.n(r)
      , i = n(859)
      , o = n(100);
    o.a.onGetOptions(function(e, t) {
        e.math = t.extensions.katex.enabled
    }),
    o.a.onInitConverter(2, function(e, t) {
        t.math && (e.use(i.a),
        e.renderer.rules.inline_math = function(t, n) {
            return '<span class="katex--inline">' + e.utils.escapeHtml(t[n].content) + "</span>"
        }
        ,
        e.renderer.rules.display_math = function(t, n) {
            return '<span class="katex--display">' + e.utils.escapeHtml(t[n].content) + "</span>"
        }
        )
    }),
    o.a.onSectionPreview(function(e) {
        var t = function(e) {
            return function(t) {
                if (!t.highlighted)
                    try {
                        a.a.render(t.textContent, t, {
                            displayMode: e
                        })
                    } catch (e) {
                        t.textContent = "" + e.message
                    }
                t.highlighted = !0
            }
        };
        e.querySelectorAll(".katex--inline").cl_each(t(!1)),
        e.querySelectorAll(".katex--display").cl_each(t(!0))
    })
}
, function(e, t, n) {
    "use strict";
    t.a = function(e) {
        e.core.ruler.before("replacements", "anchors", function(e) {
            var t = {}
              , n = void 0
              , r = void 0;
            e.tokens.forEach(function(e) {
                if ("heading_open" === e.type)
                    r = "",
                    n = e;
                else if ("heading_close" === e.type) {
                    n.headingContent = r;
                    var a = r.replace(/\s/g, "-").replace(/[\0-,/:-@[-^`{-~]/g, "").toLowerCase()
                      , i = void 0;
                    for (i = 0; i < a.length; i += 1) {
                        var o = a.charCodeAt(i);
                        if (o >= 97 && o <= 122 || o > 126)
                            break
                    }
                    a = a.slice(i) || "section";
                    for (var s = a, c = 1; Object.prototype.hasOwnProperty.call(t, s); )
                        s = a + "-" + c,
                        c += 1;
                    t[s] = !0,
                    n.headingAnchor = s,
                    n.attrs = [["id", s]],
                    n = void 0
                } else
                    n && (r += e.children.reduce(function(e, t) {
                        return "footnote_ref" !== t.type ? e + t.content : e
                    }, ""))
            })
        })
    }
}
, function(e, t, n) {
    "use strict";
    function r(e, t) {
        var n = e.pos;
        if (36 !== e.src.charCodeAt(n))
            return !1;
        var r = "$";
        n += 1;
        var a = e.src.charCodeAt(n);
        if (36 === a) {
            if (r = "$$",
            n += 1,
            36 === e.src.charCodeAt(n))
                return !1
        } else if (32 === a || 9 === a || 10 === a)
            return !1;
        var i = e.src.indexOf(r, n);
        if (-1 === i)
            return !1;
        if (92 === e.src.charCodeAt(i - 1))
            return !1;
        var o = i + r.length;
        if (1 === r.length) {
            var s = e.src.charCodeAt(i - 1);
            if (32 === s || 9 === s || 10 === s)
                return !1;
            var c = e.src.charCodeAt(o);
            if (c >= 48 && c < 58)
                return !1
        }
        if (!t) {
            e.push(1 === r.length ? "inline_math" : "display_math", "", 0).content = e.src.slice(n, i)
        }
        return e.pos = o,
        !0
    }
    t.a = function(e) {
        e.inline.ruler.push("texMath", r)
    }
}
, function(e, t) {
    function n(e, t, n) {
        var r = e.attrIndex(t)
          , a = [t, n];
        r < 0 ? e.attrPush(a) : e.attrs[r] = a
    }
    e.exports = function(e) {
        e.core.ruler.after("inline", "tasklist", function(e) {
            for (var t = e.tokens, r = e.Token, a = 2; a < t.length; a += 1) {
                var i = t[a];
                if (i.content && 91 === i.content.charCodeAt(0) && 93 === i.content.charCodeAt(2) && 32 === i.content.charCodeAt(3) && "inline" === i.type && "paragraph_open" === t[a - 1].type && "list_item_open" === t[a - 2].type) {
                    var o = i.content[1].toLowerCase();
                    if (" " === o || "x" === o) {
                        var s = new r("html_inline","",0);
                        s.content = " " === o ? '<span class="task-list-item-checkbox" type="checkbox">&#9744;</span>' : '<span class="task-list-item-checkbox checked" type="checkbox">&#9745;</span>',
                        i.children.unshift(s),
                        i.children[1].content = i.children[1].content.slice(3),
                        i.content = i.content.slice(3),
                        n(t[a - 2], "class", "task-list-item")
                    }
                }
            }
        })
    }
}
, function(e, t, n) {
    "use strict";
    var r = n(66)
      , a = n.n(r)
      , i = n(201)
      , o = n.n(i)
      , s = n(1818)
      , c = n.n(s)
      , u = n(1819)
      , l = n.n(u)
      , d = n(1826)
      , p = n.n(d)
      , f = n(1832)
      , v = n.n(f)
      , m = n(1831)
      , h = n.n(m)
      , g = n(1834)
      , b = n.n(g)
      , _ = n(1835)
      , w = n.n(_)
      , y = n(860)
      , k = n.n(y)
      , x = n(858)
      , C = n(100)
      , I = ["normalize", "block", "inline", "linkify", "replacements", "smartquotes"]
      , S = ["code", "fence", "blockquote", "hr", "list", "reference", "heading", "lheading", "html_block", "table", "paragraph"]
      , E = ["text", "newline", "escape", "backticks", "strikethrough", "emphasis", "link", "image", "autolink", "html_inline", "entity"]
      , L = ["balance_pairs", "strikethrough", "emphasis", "text_collapse"];
    C.a.onGetOptions(function(e, t) {
        return a()(e, t.extensions.markdown)
    }),
    C.a.onInitConverter(0, function(e, t) {
        e.set({
            html: !0,
            breaks: !!t.breaks,
            linkify: !!t.linkify,
            typographer: !!t.typographer,
            langPrefix: "prism language-"
        }),
        e.core.ruler.enable(I);
        var n = S.slice();
        t.fence || n.splice(n.indexOf("fence"), 1),
        t.table || n.splice(n.indexOf("table"), 1),
        e.block.ruler.enable(n);
        var r = E.slice()
          , a = L.slice();
        t.del || (r.splice(n.indexOf("strikethrough"), 1),
        a.splice(n.indexOf("strikethrough"), 1)),
        e.inline.ruler.enable(r),
        e.inline.ruler2.enable(a),
        t.abbr && e.use(c.a),
        t.deflist && e.use(l.a),
        t.footnote && e.use(p.a),
        t.imgsize && e.use(h.a),
        t.mark && e.use(v.a),
        t.sub && e.use(b.a),
        t.sup && e.use(w.a),
        t.tasklist && e.use(k.a),
        e.use(x.a),
        e.renderer.rules.table_open = function(t, n, r) {
            return '<div class="table-wrapper">' + e.renderer.renderToken(t, n, r)
        }
        ,
        e.renderer.rules.table_close = function(t, n, r) {
            return e.renderer.renderToken(t, n, r) + "</div>"
        }
        ;
        var i = "text-align:".length;
        e.renderer.rules.td_open = function(t, n, r) {
            var a = t[n];
            return a.attrs && a.attrs.length && "style" === a.attrs[0][0] && (a.attrs = [["align", a.attrs[0][1].slice(i)]]),
            e.renderer.renderToken(t, n, r)
        }
        ,
        e.renderer.rules.th_open = e.renderer.rules.td_open,
        e.renderer.rules.footnote_ref = function(e, t) {
            var n = "" + Number(e[t].meta.id + 1)
              , r = "fnref" + n;
            return e[t].meta.subId > 0 && (r += ":" + e[t].meta.subId),
            '<sup class="footnote-ref"><a href="#fn' + n + '" id="' + r + '">' + n + "</a></sup>"
        }
    }),
    C.a.onSectionPreview(function(e, t, n) {
        e.querySelectorAll(".prism").cl_each(function(e) {
            e.$highlightedWithPrism || (o.a.highlightElement(e),
            e.$highlightedWithPrism = !0)
        }),
        e.querySelectorAll("span.task-list-item-checkbox").cl_each(function(e) {
            var t = document.createElement("input");
            t.type = "checkbox",
            t.className = "task-list-item-checkbox",
            e.classList.contains("checked") && t.setAttribute("checked", !0),
            n || (t.disabled = "disabled"),
            e.parentNode.replaceChild(t, e)
        })
    })
}
, function(e, t, n) {
    "use strict";
    var r = n(1885)
      , a = n.n(r)
      , i = n(100)
      , o = n(4)
      , s = {
        logLevel: 5,
        startOnLoad: !1,
        arrowMarkerAbsolute: !1,
        theme: "neutral",
        flowchart: {
            htmlLabels: !0,
            curve: "linear"
        },
        sequence: {
            diagramMarginX: 50,
            diagramMarginY: 10,
            actorMargin: 50,
            width: 150,
            height: 65,
            boxMargin: 10,
            boxTextMargin: 5,
            noteMargin: 10,
            messageMargin: 35,
            mirrorActors: !0,
            bottomMarginAdj: 1,
            useMaxWidth: !0
        },
        gantt: {
            titleTopMargin: 25,
            barHeight: 20,
            barGap: 4,
            topPadding: 50,
            leftPadding: 75,
            gridLineStartPadding: 35,
            fontSize: 11,
            fontFamily: '"Open-Sans", "sans-serif"',
            numberSectionStyles: 4,
            axisFormat: "%Y-%m-%d"
        }
    }
      , c = document.createElement("div");
    c.className = "hidden-rendering-container",
    document.body.appendChild(c);
    var u = function() {
        a.a.initialize(s),
        window.mermaid = a.a,
        u = function() {}
    }
      , l = function(e) {
        try {
            u();
            var t = "mermaid-svg-" + o.a.uid();
            void 0 !== window.mermaid && window.mermaid.mermaidAPI.render(t, e.textContent, function() {
                for (; e.firstChild; )
                    e.removeChild(e.lastChild);
                e.appendChild(c.querySelector("#" + t))
            }, c)
        } catch (e) {
            console.error(e)
        }
    };
    i.a.onGetOptions(function(e, t) {
        e.mermaid = t.extensions.mermaid.enabled
    }),
    i.a.onSectionPreview(function(e) {
        e.querySelectorAll(".prism.language-mermaid").cl_each(function(e) {
            return l(e.parentNode)
        })
    })
}
, function(e, t, n) {
    "use strict";
    Object.defineProperty(t, "__esModule", {
        value: !0
    });
    var r = n(6)
      , a = n.n(r)
      , i = n(5)
      , o = n.n(i)
      , s = n(55)
      , c = n(819)
      , u = (n.n(c),
    n(820))
      , l = (n.n(u),
    n(821))
      , d = (n.n(l),
    n(816),
    n(818),
    n(817),
    n(822))
      , p = n(2)
      , f = n(142)
      , v = this;
    if (!indexedDB)
        throw new Error("Your browser is not supported. Please upgrade to the latest version.");
    l.install({
        onUpdateReady: function() {
            l.applyUpdate()
        },
        onUpdated: function() {
            var e = o()(a.a.mark(function e() {
                return a.a.wrap(function(e) {
                    for (; ; )
                        switch (e.prev = e.next) {
                        case 0:
                            if (p.a.state.light) {
                                e.next = 5;
                                break
                            }
                            return e.next = 3,
                            f.a.sync();
                        case 3:
                            localStorage.updated = !0,
                            window.location.reload();
                        case 5:
                        case "end":
                            return e.stop()
                        }
                }, e, v)
            }));
            return function() {
                return e.apply(this, arguments)
            }
        }()
    }),
    localStorage.updated && (p.a.dispatch("notification/info", "StackEdit has just updated itself!"),
    setTimeout(function() {
        return localStorage.removeItem("updated")
    }, 2e3)),
    localStorage.installPrompted || window.addEventListener("beforeinstallprompt", function() {
        var e = o()(a.a.mark(function e(t) {
            return a.a.wrap(function(e) {
                for (; ; )
                    switch (e.prev = e.next) {
                    case 0:
                        return t.preventDefault(),
                        e.prev = 1,
                        e.next = 4,
                        p.a.dispatch("notification/confirm", "Add StackEdit to your home screen?");
                    case 4:
                        return t.prompt(),
                        e.next = 7,
                        t.userChoice;
                    case 7:
                        e.next = 11;
                        break;
                    case 9:
                        e.prev = 9,
                        e.t0 = e.catch(1);
                    case 11:
                        localStorage.installPrompted = !0;
                    case 12:
                    case "end":
                        return e.stop()
                    }
            }, e, v, [[1, 9]])
        }));
        return function(t) {
            return e.apply(this, arguments)
        }
    }()),
    s.a.config.productionTip = !1,
    new s.a({
        el: "#app",
        store: p.a,
        render: function(e) {
            return e(d.a)
        }
    })
}
, function(e, t, n) {
    "use strict";
    
    //console.log("api.js Object5555 e:", e);
    //console.log("api.js Object5555 t:", t);    
    function r(e) {
        function t(e) {
            return e
        }
        function n() {
            return !1
        }
        function r() {}
        e = e || {},
        "function" == typeof e.handler && (e = {
            helpButton: e
        }),
        e.strings = e.strings || {};
        var a = function(t) {
            return e.strings[t] || p[t]
        };
        r.prototype = {
            chain: function(e, n) {
                var r = this[e];
                if (!r)
                    throw new Error("unknown hook " + e);
                this[e] = r === t ? n : function() {
                    var e = Array.prototype.slice.call(arguments, 0);
                    return e[0] = r.apply(null, e),
                    n.apply(null, e)
                }
            },
            set: function(e, t) {
                if (!this[e])
                    throw new Error("unknown hook " + e);
                this[e] = t
            },
            addNoop: function(e) {
                this[e] = t
            },
            addFalse: function(e) {
                this[e] = n
            }
        };
        var i = this.hooks = new r;
        i.addNoop("onPreviewRefresh"),
        i.addNoop("postBlockquoteCreation"),
        i.addFalse("insertImageDialog"),
        i.addFalse("insertLinkDialog");
        var c, u = this;
        this.run = function() {
            if (!c) {
                c = e.input;
                var t, n = new s(i,a);
                t = new o(c,n),
                u.uiManager = t
            }
        }
    }
    function a() {}
    function i(e) {
        var t = this
          , n = e;
        
        //console.log("api.js Object5555 i() e:", e);        
        this.init = function() {
            //console.log("api.js Object5555 i() init");        
        	this.setInputAreaSelectionStartEnd(),
            this.text = n.getContent()
        }
        ,
        this.setInputAreaSelection = function() {
            n.focus(),
            n.setSelection(t.start, t.end)
        }
        ,
        this.setInputAreaSelectionStartEnd = function() {
            t.start = Math.min(n.selectionMgr.selectionStart, n.selectionMgr.selectionEnd),
            t.end = Math.max(n.selectionMgr.selectionStart, n.selectionMgr.selectionEnd)
        }
        ,
        this.restore = function() {
            void 0 !== t.text && t.text != n.getContent() && n.setContent(t.text),
            this.setInputAreaSelection()
        }
        ,
        this.getChunks = function() {
            var e = new a;
            return e.before = u.fixEolChars(t.text.substring(0, t.start)),
            e.startTag = "",
            e.selection = u.fixEolChars(t.text.substring(t.start, t.end)),
            e.endTag = "",
            e.after = u.fixEolChars(t.text.substring(t.end)),
            e
        }
        ,
        this.setChunks = function(e) {
            e.before = e.before + e.startTag,
            e.after = e.endTag + e.after,
            this.start = e.before.length,
            this.end = e.before.length + e.selection.length,
            this.text = e.before + e.selection + e.after
        }
        ,
        this.init()
    }
    function o(e, t) {
        function n(t) {
            var n = o[t];
            if (n) {
                if (n === o.save)
                    return;
                a.focus();
                var r = n === o.link || n.id === o.image
                  , s = new i(e);
                if (s) {
                    var c = s.getChunks()
                      , u = function() {
                        a.focus(),
                        c && s.setChunks(c),
                        s.restore()
                    };
                    n(c, u) || (u(),
                    r || a.adjustCursorPosition())
                }
            }
        }
        function r(e) {
            return "string" == typeof e && (e = t[e]),
            function() {
                e.apply(t, arguments)
            }
        }
        var a = e
          , o = {};
        !function() {
            o.bold = r("doBold"),
            o.italic = r("doItalic"),
            o.strikethrough = r("doStrikethrough"),
            o.link = r(function(e, t) {
                return this.doLinkOrImage(e, t, !1)
            }),
            o.quote = r("doBlockquote"),
            o.code = r("doCode"),
            o.image = r(function(e, t) {
                return this.doLinkOrImage(e, t, !0)
            }),
            o.olist = r(function(e, t) {
                this.doList(e, t, !0)
            }),
            o.ulist = r(function(e, t) {
                this.doList(e, t, !1)
            }),
            o.clist = r(function(e, t) {
                this.doList(e, t, !1, !0)
            }),
            o.heading = r("doHeading"),
            o.hr = r("doHorizontalRule"),
            o.table = r("doTable"),
            o.save = r("save")
        }(),
        this.doClick = n
    }
    function s(e, t) {
        this.hooks = e,
        this.getString = t
    }
    function c(e) {
        return e.replace(/^\s*(.*?)(?:\s+"(.+)")?\s*$/, function(e, t, n) {
            return t = t.replace(/\?.*$/, function(e) {
                return e.replace(/\+/g, " ")
            }),
            t = decodeURIComponent(t),
            t = encodeURI(t).replace(/'/g, "%27").replace(/\(/g, "%28").replace(/\)/g, "%29"),
            t = t.replace(/\?.*$/, function(e) {
                return e.replace(/\+/g, "%2b")
            }),
            n && (n = n.trim ? n.trim() : n.replace(/^\s*/, "").replace(/\s*$/, ""),
            n = n.replace(/"/g, "quot;").replace(/\(/g, "&#40;").replace(/\)/g, "&#41;").replace(/</g, "&lt;").replace(/>/g, "&gt;")),
            n ? t + ' "' + n + '"' : t
        })
    }
    var u = {}
      , l = window.RegExp
      , d = {
        lineLength: 72
    }
      , p = {
        bold: "Strong <strong> Ctrl/Cmd+B",
        boldexample: "strong text",
        italic: "Emphasis <em> Ctrl/Cmd+I",
        italicexample: "emphasized text",
        strikethrough: "Strikethrough <s> Ctrl/Cmd+I",
        strikethroughexample: "strikethrough text",
        link: "Hyperlink <a> Ctrl/Cmd+L",
        linkdescription: "enter link description here",
        linkdialog: '<p><b>Insert Hyperlink</b></p><p>http://example.com/ "optional title"</p>',
        quote: "Blockquote <blockquote> Ctrl/Cmd+Q",
        quoteexample: "Blockquote",
        code: "Code Sample <pre><code> Ctrl/Cmd+K",
        codeexample: "enter code here",
        image: "Image <img> Ctrl/Cmd+G",
        imagedescription: "enter image description here",
        imagedialog: "<p><b>Insert Image</b></p><p>http://example.com/images/diagram.jpg \"optional title\"<br><br>Need <a href='http://www.google.com/search?q=free+image+hosting' target='_blank'>free image hosting?</a></p>",
        olist: "Numbered List <ol> Ctrl/Cmd+O",
        ulist: "Bulleted List <ul> Ctrl/Cmd+U",
        litem: "List item",
        heading: "Heading <h1>/<h2> Ctrl/Cmd+H",
        headingexample: "Heading",
        hr: "Horizontal Rule <hr> Ctrl/Cmd+R",
        undo: "Undo - Ctrl/Cmd+Z",
        redo: "Redo - Ctrl/Cmd+Y",
        help: "Markdown Editing Help",
        save: "Save - Ctrl+s"
    };
    a.prototype.findTags = function(e, t) {
        var n, r = this;
        e && (n = u.extendRegExp(e, "", "$"),
        this.before = this.before.replace(n, function(e) {
            return r.startTag = r.startTag + e,
            ""
        }),
        n = u.extendRegExp(e, "^", ""),
        this.selection = this.selection.replace(n, function(e) {
            return r.startTag = r.startTag + e,
            ""
        })),
        t && (n = u.extendRegExp(t, "", "$"),
        this.selection = this.selection.replace(n, function(e) {
            return r.endTag = e + r.endTag,
            ""
        }),
        n = u.extendRegExp(t, "^", ""),
        this.after = this.after.replace(n, function(e) {
            return r.endTag = e + r.endTag,
            ""
        }))
    }
    ,
    a.prototype.trimWhitespace = function(e) {
        var t, n, r = this;
        e ? t = n = "" : (t = function(e) {
            return r.before += e,
            ""
        }
        ,
        n = function(e) {
            return r.after = e + r.after,
            ""
        }
        ),
        this.selection = this.selection.replace(/^(\s*)/, t).replace(/(\s*)$/, n)
    }
    ,
    a.prototype.skipLines = function(e, t, n) {
        void 0 === e && (e = 1),
        void 0 === t && (t = 1),
        e++,
        t++;
        var r, a;
        if (navigator.userAgent.match(/Chrome/) && "X".match(/()./),
        this.selection = this.selection.replace(/(^\n*)/, ""),
        this.startTag = this.startTag + l.$1,
        this.selection = this.selection.replace(/(\n*$)/, ""),
        this.endTag = this.endTag + l.$1,
        this.startTag = this.startTag.replace(/(^\n*)/, ""),
        this.before = this.before + l.$1,
        this.endTag = this.endTag.replace(/(\n*$)/, ""),
        this.after = this.after + l.$1,
        this.before) {
            for (r = a = ""; e--; )
                r += "\\n?",
                a += "\n";
            n && (r = "\\n*"),
            this.before = this.before.replace(new l(r + "$",""), a)
        }
        if (this.after) {
            for (r = a = ""; t--; )
                r += "\\n?",
                a += "\n";
            n && (r = "\\n*"),
            this.after = this.after.replace(new l(r,""), a)
        }
    }
    ,
    u.fixEolChars = function(e) {
        return e = e.replace(/\r\n/g, "\n"),
        e = e.replace(/\r/g, "\n")
    }
    ,
    u.extendRegExp = function(e, t, n) {
        null !== t && void 0 !== t || (t = ""),
        null !== n && void 0 !== n || (n = "");
        var r, a = e.toString();
        return a = a.replace(/\/([gim]*)$/, function(e, t) {
            return r = t,
            ""
        }),
        a = a.replace(/(^\/|\/$)/g, ""),
        a = t + a + n,
        new l(a,r)
    }
    ;
    var f = s.prototype;
    f.prefixes = "(?:\\s{4,}|\\s*>|\\s*-\\s+|\\s*\\d+\\.|=|\\+|-|_|\\*|#|\\s*\\[[^\n]]+\\]:)",
    f.unwrap = function(e) {
        var t = new l("([^\\n])\\n(?!(\\n|" + this.prefixes + "))","g");
        e.selection = e.selection.replace(t, "$1 $2")
    }
    ,
    f.wrap = function(e, t) {
        this.unwrap(e);
        var n = new l("(.{1," + t + "})( +|$\\n?)","gm")
          , r = this;
        e.selection = e.selection.replace(n, function(e, t) {
            return new l("^" + r.prefixes,"").test(e) ? e : t + "\n"
        }),
        e.selection = e.selection.replace(/\s+$/, "")
    }
    ,
    f.doBold = function(e, t) {
        //console.log("api.js Object5555 f.doBold e:", e);
        //console.log("api.js Object5555 f.doBold t:", t);
        return this.doBorI(e, t, 2, this.getString("boldexample"))
    }
    ,
    f.doItalic = function(e, t) {
        return this.doBorI(e, t, 1, this.getString("italicexample"))
    }
    ,
    f.doBorI = function(e, t, n, r) {
        //console.log("api.js Object5555 f.doBorI e:", e);
    	e.trimWhitespace(),
        e.selection = e.selection.replace(/\n{2,}/g, "\n");
        //console.log("api.js f.doBorI e.selection:", e.selection);
        var a = /(\**$)/.exec(e.before)[0]
          , i = /(^\**)/.exec(e.after)[0]
          , o = Math.min(a.length, i.length);
        if (o >= n && (2 != o || 1 != n))
            e.before = e.before.replace(l("[*]{" + n + "}$", ""), ""),
            e.after = e.after.replace(l("^[*]{" + n + "}", ""), "");
        else if (!e.selection && i) {
            e.after = e.after.replace(/^([*_]*)/, ""),
            e.before = e.before.replace(/(\s?)$/, "");
            var s = l.$1;
            e.before = e.before + i + s
        } else {
            e.selection || i || (e.selection = r);
            var c = n <= 1 ? "*" : "**";
            e.before = e.before + c,
            e.after = c + e.after
        }
    }
    ,
    f.doStrikethrough = function(e, t) {
        e.trimWhitespace(),
        e.selection = e.selection.replace(/\n{2,}/g, "\n");
        var n = /(~*$)/.exec(e.before)[0]
          , r = /(^~*)/.exec(e.after)[0]
          , a = Math.min(n.length, r.length);
        if (a >= 2)
            e.before = e.before.replace(l("[~]{2}$", ""), ""),
            e.after = e.after.replace(l("^[~]{2}", ""), "");
        else if (!e.selection && r) {
            e.after = e.after.replace(/^(~*)/, ""),
            e.before = e.before.replace(/(\s?)$/, "");
            var i = l.$1;
            e.before = e.before + r + i
        } else {
            e.selection || r || (e.selection = this.getString("strikethroughexample"));
            e.before = e.before + "~~",
            e.after = "~~" + e.after
        }
    }
    ,
    f.stripLinkDefs = function(e, t) {
        return e = e.replace(/^[ ]{0,3}\[(\d+)\]:[ \t]*\n?[ \t]*<?(\S+?)>?[ \t]*\n?[ \t]*(?:(\n*)["(](.+?)[")][ \t]*)?(?:\n+|$)/gm, function(e, n, r, a, i) {
            return t[n] = e.replace(/\s*$/, ""),
            a ? (t[n] = e.replace(/["(](.+?)[")]$/, ""),
            a + i) : ""
        })
    }
    ,
    f.addLinkDef = function(e, t) {
        var n = 0
          , r = {};
        e.before = this.stripLinkDefs(e.before, r),
        e.selection = this.stripLinkDefs(e.selection, r),
        e.after = this.stripLinkDefs(e.after, r);
        var a = ""
          , i = /(\[)((?:\[[^\]]*\]|[^\[\]])*)(\][ ]?(?:\n[ ]*)?\[)(\d+)(\])/g
          , o = function(e) {
            n++,
            e = e.replace(/^[ ]{0,3}\[(\d+)\]:/, "  [" + n + "]:"),
            a += "\n" + e
        }
          , s = function e(t, a, s, c, u, l) {
            return s = s.replace(i, e),
            r[u] ? (o(r[u]),
            a + s + c + n + l) : t
        };
        e.before = e.before.replace(i, s),
        t ? o(t) : e.selection = e.selection.replace(i, s);
        var c = n;
        return e.after = e.after.replace(i, s),
        e.after && (e.after = e.after.replace(/\n*$/, "")),
        e.after || (e.selection = e.selection.replace(/\n*$/, "")),
        e.after += "\n\n" + a,
        c
    }
    ,
    f.doLinkOrImage = function(e, t, n) {
        if (e.trimWhitespace(),
        e.findTags(/\s*!?\[/, /\][ ]?(?:\n[ ]*)?(\(.*?\))?/),
        !(e.endTag.length > 1 && e.startTag.length > 0)) {
            if (e.selection = e.startTag + e.selection + e.endTag,
            e.startTag = e.endTag = "",
            /\n\n/.test(e.selection))
                return void this.addLinkDef(e, null);
            var r = this
              , a = function(a) {
                null !== a && (e.selection = (" " + e.selection).replace(/([^\\](?:\\\\)*)(?=[[\]])/g, "$1\\").substr(1),
                e.startTag = n ? "![" : "[",
                e.endTag = "](" + c(a) + ")",
                e.selection || (e.selection = n ? r.getString("imagedescription") : r.getString("linkdescription"))),
                t()
            };
            return n ? this.hooks.insertImageDialog(a) : this.hooks.insertLinkDialog(a),
            !0
        }
        e.startTag = e.startTag.replace(/!?\[/, ""),
        e.endTag = "",
        this.addLinkDef(e, null)
    }
    ,
    f.doAutoindent = function(e) {
        var t = this
          , n = !1;
        e.before = e.before.replace(/(\n|^)[ ]{0,3}([*+-]|\d+[.])[ \t]*\n$/, "\n\n"),
        e.before = e.before.replace(/(\n|^)[ ]{0,3}>[ \t]*\n$/, "\n\n"),
        e.before = e.before.replace(/(\n|^)[ \t]+\n$/, "\n\n"),
        e.selection || /^[ \t]*(?:\n|$)/.test(e.after) || (e.after = e.after.replace(/^[^\n]*/, function(t) {
            return e.selection = t,
            ""
        }),
        n = !0),
        /(\n|^)[ ]{0,3}([*+-]|\d+[.])[ \t]+.*\n$/.test(e.before) && t.doList && t.doList(e),
        /(\n|^)[ ]{0,3}>[ \t]+.*\n$/.test(e.before) && t.doBlockquote && t.doBlockquote(e),
        /(\n|^)(\t|[ ]{4,}).*\n$/.test(e.before) && t.doCode && t.doCode(e),
        n && (e.after = e.selection + e.after,
        e.selection = "")
    }
    ,
    f.doBlockquote = function(e) {
        e.selection = e.selection.replace(/^(\n*)([^\r]+?)(\n*)$/, function(t, n, r, a) {
            return e.before += n,
            e.after = a + e.after,
            r
        }),
        e.before = e.before.replace(/(>[ \t]*)$/, function(t, n) {
            return e.selection = n + e.selection,
            ""
        }),
        e.selection = e.selection.replace(/^(\s|>)+$/, ""),
        e.selection = e.selection || this.getString("quoteexample");
        var t, n = "", r = "";
        if (e.before) {
            for (var a = e.before.replace(/\n$/, "").split("\n"), i = !1, o = 0; o < a.length; o++) {
                var s = !1;
                t = a[o],
                i = i && t.length > 0,
                /^>/.test(t) ? (s = !0,
                !i && t.length > 1 && (i = !0)) : s = !!/^[ \t]*$/.test(t) || i,
                s ? n += t + "\n" : (r += n + t,
                n = "\n")
            }
            /(^|\n)>/.test(n) || (r += n,
            n = "")
        }
        e.startTag = n,
        e.before = r,
        e.after && (e.after = e.after.replace(/^\n?/, "\n")),
        e.after = e.after.replace(/^(((\n|^)(\n[ \t]*)*>(.+\n)*.*)+(\n[ \t]*)*)/, function(t) {
            return e.endTag = t,
            ""
        });
        var c = function(t) {
            var n = t ? "> " : "";
            e.startTag && (e.startTag = e.startTag.replace(/\n((>|\s)*)\n$/, function(e, t) {
                return "\n" + t.replace(/^[ ]{0,3}>?[ \t]*$/gm, n) + "\n"
            })),
            e.endTag && (e.endTag = e.endTag.replace(/^\n((>|\s)*)\n/, function(e, t) {
                return "\n" + t.replace(/^[ ]{0,3}>?[ \t]*$/gm, n) + "\n"
            }))
        };
        /^(?![ ]{0,3}>)/m.test(e.selection) ? (this.wrap(e, d.lineLength - 2),
        e.selection = e.selection.replace(/^/gm, "> "),
        c(!0),
        e.skipLines()) : (e.selection = e.selection.replace(/^[ ]{0,3}> ?/gm, ""),
        this.unwrap(e),
        c(!1),
        !/^(\n|^)[ ]{0,3}>/.test(e.selection) && e.startTag && (e.startTag = e.startTag.replace(/\n{0,2}$/, "\n\n")),
        !/(\n|^)[ ]{0,3}>.*$/.test(e.selection) && e.endTag && (e.endTag = e.endTag.replace(/^\n{0,2}/, "\n\n"))),
        e.selection = this.hooks.postBlockquoteCreation(e.selection),
        /\n/.test(e.selection) || (e.selection = e.selection.replace(/^(> *)/, function(t, n) {
            return e.startTag += n,
            ""
        }))
    }
    ,
    f.doCode = function(e) {
        var t = /\S[ ]*$/.test(e.before);
        if (!/^[ ]*\S/.test(e.after) && !t || /\n/.test(e.selection)) {
            e.before = e.before.replace(/[ ]{4}$/, function(t) {
                return e.selection = t + e.selection,
                ""
            });
            var n = 1
              , r = 1;
            /(\n|^)(\t|[ ]{4,}).*\n$/.test(e.before) && (n = 0),
            /^\n(\t|[ ]{4,})/.test(e.after) && (r = 0),
            e.skipLines(n, r),
            e.selection ? /^[ ]{0,3}\S/m.test(e.selection) ? /\n/.test(e.selection) ? e.selection = e.selection.replace(/^/gm, "    ") : e.before += "    " : e.selection = e.selection.replace(/^(?:[ ]{4}|[ ]{0,3}\t)/gm, "") : (e.startTag = "    ",
            e.selection = this.getString("codeexample"))
        } else
            e.trimWhitespace(),
            e.findTags(/`/, /`/),
            e.startTag || e.endTag ? e.endTag && !e.startTag ? (e.before += e.endTag,
            e.endTag = "") : e.startTag = e.endTag = "" : (e.startTag = e.endTag = "`",
            e.selection || (e.selection = this.getString("codeexample")))
    }
    ,
    f.doList = function(e, t, n, r) {
        var a = /(\n|^)(([ ]{0,3}([*+-]|\d+[.])[ \t]+.*)(\n.+|\n{2,}([*+-].*|\d+[.])[ \t]+.*|\n{2,}[ \t]+\S.*)*)\n*$/
          , i = /^\n*(([ ]{0,3}([*+-]|\d+[.])[ \t]+.*)(\n.+|\n{2,}([*+-].*|\d+[.])[ \t]+.*|\n{2,}[ \t]+\S.*)*)\n*/
          , o = "-"
          , s = 1
          , c = function(e) {
            var t;
            return n ? (t = " " + s + ". ",
            s++) : (t = " " + o + " ",
            r && (t += "[",
            t += e || " ",
            t += "] ")),
            t
        }
          , u = function(e) {
            return void 0 === n && (n = /^\s*\d/.test(e)),
            e = e.replace(r ? /^[ ]{0,3}([*+-]|\d+[.])\s+\[([ xX])\]\s/gm : /^[ ]{0,3}([*+-]|\d+[.])\s/gm, function(e, t, n) {
                return c(n)
            })
        };
        if (e.findTags(/(\n|^)*[ ]{0,3}([*+-]|\d+[.])\s+/, null),
        !e.before || /\n$/.test(e.before) || /^\n/.test(e.startTag) || (e.before += e.startTag,
        e.startTag = ""),
        e.startTag) {
            var p = /\d+[.]/.test(e.startTag);
            if (e.startTag = "",
            e.selection = e.selection.replace(/\n[ ]{4}/g, "\n"),
            this.unwrap(e),
            e.skipLines(),
            p && (e.after = e.after.replace(i, u)),
            n == p)
                return
        }
        var f = 1;
        e.before = e.before.replace(a, function(e) {
            return /^\s*([*+-])/.test(e) && (o = l.$1),
            f = /[^\n]\n\n[^\n]/.test(e) ? 1 : 0,
            u(e)
        }),
        e.selection || (e.selection = this.getString("litem"));
        var v = c()
          , m = 1;
        e.after = e.after.replace(i, function(e) {
            return m = /[^\n]\n\n[^\n]/.test(e) ? 1 : 0,
            u(e)
        }),
        e.trimWhitespace(!0),
        e.skipLines(f, m, !0),
        e.startTag = v;
        var h = v.replace(/./g, " ");
        this.wrap(e, d.lineLength - h.length),
        e.selection = e.selection.replace(/\n/g, "\n" + h)
    }
    ,
    f.doTable = function(e) {
        function t(e, t) {
            var n = "";
            t = t || " ",
            e = Math.floor(e);
            for (var r = 0; r < e; r++)
                n += t;
            return n
        }
        function n(e) {
            return e.trim().replace(/(^\||\|$)/g, "")
        }
        function r(e) {
            return e.split("|")
        }
        function a(e) {
            return s ? "|" + e + "|" : e
        }
        function i(e) {
            return e.join("|")
        }
        function o(e, o) {
            var s, c, u, l, d, p, f, v, m, h, g, b, _, w, y, k, x, C, I, S, E, L, T, D, P, B, A, M;
            for (h = e[2].trim(),
            g = e[1].trim(),
            l = 0 === g.length ? [0, e[3]] : [1, e[1] + e[3]],
            _ = l[0],
            w = l[1],
            k = w.trim().split("\n"),
            x = [],
            d = r(n(h)),
            c = 0,
            u = d.length; c < u; c++)
                switch (C = d[c],
                p = C.trim(),
                S = p[0],
                E = p[p.length - 1],
                L = (S || ":") + (E || "")) {
                case "::":
                case "-:":
                case ":-":
                    x.push(L);
                    break;
                default:
                    x.push("--")
                }
            for (T = x.length,
            D = [],
            c = 0,
            u = k.length; c < u; c++) {
                for (y = k[c],
                I = r(n(y)),
                I[T - 1] = i(I.slice(T - 1)),
                m = [],
                f = 0,
                v = I.length; f < v; f++)
                    C = I[f],
                    m.push(t(" ") + ((d = C && "function" == typeof C.trim ? C.trim() : void 0) ? d : "") + t(" "));
                D.push(m)
            }
            for (P = [],
            s = c = 0,
            d = T - 1; 0 <= d ? c <= d : c >= d; s = 0 <= d ? ++c : --c) {
                for (m = [],
                f = 0,
                u = D.length; f < u; f++)
                    I = D[f],
                    m.push(I[s].length);
                P.push(Math.max.apply(Math, [2].concat(m)))
            }
            for (b = function(e, n) {
                var r;
                switch (r = P[n] - e.length,
                x[n]) {
                case "::":
                    return t[0],
                    t[1],
                    t(r / 2) + e + t((r + 1) / 2);
                case "-:":
                    return t(r) + e;
                default:
                    return e + t(r)
                }
            }
            ,
            B = [],
            c = 0,
            u = D.length; c < u; c++) {
                for (I = D[c],
                m = [],
                s = f = 0,
                d = T - 1; 0 <= d ? f <= d : f >= d; s = 0 <= d ? ++f : --f)
                    m.push(b(I[s], s));
                B.push(a(i(m)))
            }
            h = a(i(function() {
                var e, n, r, a;
                for (a = [],
                s = e = 0,
                n = T - 1; 0 <= n ? e <= n : e >= n; s = 0 <= n ? ++e : --e)
                    r = x[s],
                    A = r[0],
                    M = r[1],
                    a.push(A + t(P[s] - 2, "-") + M);
                return a
            }())),
            B.splice(_, 0, h);
            var N = (0 === g.length && "" !== e[1] ? "\n" : "") + B.join("\n");
            return !1 !== o && (N += "\n"),
            N
        }
        var s = !0
          , c = /((?:(?:[^\n]*?\|[^\n]*) *)?(?:\r?\n|^))((?:\| *:?-+:? *|\|?(?: *:?-+:? *\|)+)(?: *:?-+:? *)? *\r?\n)((?:(?:[^\n]*?\|[^\n]*) *(?:\r?\n|$))+)/;
        "\n" !== e.before.slice(-1) && (e.before += "\n");
        var u = e.selection.match(c);
        if (u)
            e.selection = o(u, "\n" === e.selection.slice(-1));
        else {
            var l = e.selection + "|\n-|-\n|";
            if (!(u = l.match(c)) || u[0].slice(0, l.length) !== l)
                return;
            l = o(u);
            var d = s ? 1 : 0
              , p = l.indexOf("|", d);
            e.before += l.slice(0, d),
            e.selection = l.slice(d, p),
            e.after = l.slice(p) + e.after
        }
    }
    ,
    f.doHeading = function(e) {
        if (e.selection = e.selection.replace(/\s+/g, " "),
        e.selection = e.selection.replace(/(^\s+|\s+$)/g, ""),
        !e.selection)
            return e.startTag = "## ",
            void (e.selection = this.getString("headingexample"));
        var t = 0;
        e.findTags(/#+[ ]*/, /[ ]*#+/),
        /#+/.test(e.startTag) && (t = l.lastMatch.length),
        e.startTag = e.endTag = "",
        e.findTags(null, /\s?(-+|=+)/),
        /=+/.test(e.endTag) && (t = 1),
        /-+/.test(e.endTag) && (t = 2),
        e.startTag = e.endTag = "",
        e.skipLines(1, 1);
        var n = 0 === t ? 2 : t - 1;
        if (n > 0) {
            for (e.startTag = ""; n--; )
                e.startTag += "#";
            e.startTag += " "
        }
    }
    ,
    f.doHorizontalRule = function(e) {
        e.startTag = "----------\n",
        e.selection = "",
        e.skipLines(2, 1, !0)
    }
    ,
    t.a = function(e) {
        return new r(e)
    }
}
, function(e, t, n) {
    "use strict";
    var r = n(6)
      , a = n.n(r)
      , i = n(20)
      , o = n.n(i)
      , s = n(15)
      , c = n.n(s)
      , u = n(19)
      , l = n.n(u)
      , d = n(5)
      , p = n.n(d)
      , f = n(36)
      , v = n(4);
    t.a = {
        importBackup: function(e) {
            var t = this;
            return p()(a.a.mark(function n() {
                var r, i, s, u, d, m, h, g, b;
                return a.a.wrap(function(n) {
                    for (; ; )
                        switch (n.prev = n.next) {
                        case 0:
                            return r = {},
                            i = {},
                            s = {},
                            u = {},
                            d = {},
                            m = {},
                            h = {},
                            g = {
                                trash: "trash"
                            },
                            b = JSON.parse(e),
                            l()(b).forEach(function(e) {
                                var t = c()(e, 2)
                                  , n = t[0]
                                  , a = t[1];
                                if (a) {
                                    var o = n.match(/^file\.([^.]+)\.([^.]+)$/);
                                    if (o) {
                                        var l = c()(o, 3)
                                          , p = l[1]
                                          , f = l[2];
                                        "title" === f ? r[p] = a : "content" === f && (u[p] = a)
                                    } else if ("folder" === a.type)
                                        g[n] = v.a.uid(),
                                        i[n] = a.name,
                                        s[n] = "" + (a.parentId || "");
                                    else if ("file" === a.type)
                                        r[n] = a.name,
                                        s[n] = "" + (a.parentId || "");
                                    else if ("content" === a.type) {
                                        var b = n.split("/")
                                          , _ = c()(b, 1)
                                          , w = _[0];
                                        w && (u[w] = a.text,
                                        d[w] = a.properties,
                                        m[w] = a.discussions,
                                        h[w] = a.comments)
                                    }
                                }
                            }),
                            n.next = 12,
                            v.a.awaitSequence(o()(i), function() {
                                var e = p()(a.a.mark(function e(n) {
                                    return a.a.wrap(function(e) {
                                        for (; ; )
                                            switch (e.prev = e.next) {
                                            case 0:
                                                return e.abrupt("return", f.a.setOrPatchItem({
                                                    id: g[n],
                                                    type: "folder",
                                                    name: i[n],
                                                    parentId: g[s[n]]
                                                }));
                                            case 1:
                                            case "end":
                                                return e.stop()
                                            }
                                    }, e, t)
                                }));
                                return function(t) {
                                    return e.apply(this, arguments)
                                }
                            }());
                        case 12:
                            return n.next = 14,
                            v.a.awaitSequence(o()(r), function() {
                                var e = p()(a.a.mark(function e(n) {
                                    return a.a.wrap(function(e) {
                                        for (; ; )
                                            switch (e.prev = e.next) {
                                            case 0:
                                                return e.abrupt("return", f.a.createFile({
                                                    name: r[n],
                                                    parentId: g[s[n]],
                                                    text: u[n],
                                                    properties: d[n],
                                                    discussions: m[n],
                                                    comments: h[n]
                                                }, !0));
                                            case 1:
                                            case "end":
                                                return e.stop()
                                            }
                                    }, e, t)
                                }));
                                return function(t) {
                                    return e.apply(this, arguments)
                                }
                            }());
                        case 14:
                        case "end":
                            return n.stop()
                        }
                }, n, t)
            }))()
        }
    }
}
, function(e, t, n) {
    "use strict";
    function r(e) {
        var t = e.createElement("style");
        t.type = "text/css",
        t.innerHTML = ".cledit-section * { display: inline; }",
        e.head.appendChild(t),
        p.push(t)
    }
    function a(e) {
        var t = this;
        d.a.Utils.createEventHooks(this),
        p.cl_some(function(e) {
            return document.head.contains(e)
        }) || r(document);
        var n = e.$contentElt;
        this.isComposing = 0;
        var a = []
          , i = void 0
          , s = d.a.Utils.isWebkit
          , u = '<span class="lf">' + (s ? '<br><span class="hd-lf" style="display: none">\n</span>' : "\n") + "</span>";
        this.fixContent = function(e, t, n) {
            e.cl_each(function(e) {
                e.forceHighlighting = !0,
                n || (s && (e.elt.getElementsByClassName("hd-lf").cl_each(function(e) {
                    return e.parentNode.removeChild(e)
                }),
                e.elt.getElementsByTagName("br").cl_each(function(e) {
                    return e.parentNode.replaceChild(document.createTextNode("\n"), e)
                })),
                "\n" !== e.elt.textContent.slice(-1) && e.elt.appendChild(document.createTextNode("\n")))
            })
        }
        ,
        this.addTrailingNode = function() {
            t.trailingNode = document.createElement("div"),
            n.appendChild(t.trailingNode)
        }
        ;
        var f = function() {
            function e(t) {
                c()(this, e),
                this.text = void 0 === t.text ? t : t.text,
                this.data = t.data
            }
            return l()(e, [{
                key: "setElement",
                value: function(e) {
                    this.elt = e,
                    e.section = this
                }
            }]),
            e
        }();
        this.parseSections = function(r, s) {
            if (t.isComposing && !t.cancelComposition)
                return a;
            t.cancelComposition = !1;
            var c = (e.options.sectionParser ? e.options.sectionParser(r) : [r]).cl_map(function(e) {
                return new f(e)
            })
              , l = []
              , d = [];
            if (i = void 0,
            s)
                d = a,
                a = c,
                l = c;
            else {
                var p = a.length;
                a.cl_some(function(e, t) {
                    var r = c[t];
                    return !!(t >= c.length || e.forceHighlighting || e.text !== r.text || e.elt.parentNode !== n || e.elt.textContent !== r.text) && (p = t,
                    !0)
                });
                var v = -a.length;
                a.slice().reverse().cl_some(function(e, t) {
                    var r = c[c.length - t - 1];
                    return !!(t >= c.length || e.forceHighlighting || e.text !== r.text || e.elt.parentNode !== n || e.elt.textContent !== r.text) && (v = -t,
                    !0)
                }),
                p - v > a.length && (v = p - a.length);
                var m = a.slice(0, p);
                l = c.slice(p, c.length + v);
                var h = a.slice(a.length + v, a.length)
                  , g = o()(h, 1);
                i = g[0],
                d = a.slice(p, a.length + v),
                a = m.concat(l).concat(h)
            }
            var b = function(n) {
                var r = e.options.sectionHighlighter(n).replace(/\n/g, u)
                  , a = document.createElement("div");
                a.className = "cledit-section",
                a.innerHTML = r,
                n.setElement(a),
                t.$trigger("sectionHighlighted", n)
            }
              , _ = document.createDocumentFragment();
            return l.cl_each(function(e) {
                e.forceHighlighting = !1,
                b(e),
                _.appendChild(e.elt)
            }),
            e.watcher.noWatch(function() {
                if (s)
                    return n.innerHTML = "",
                    n.appendChild(_),
                    void t.addTrailingNode();
                d.cl_each(function(e) {
                    e.elt.parentNode === n && n.removeChild(e.elt),
                    e.elt.section = void 0
                }),
                void 0 !== i ? n.insertBefore(_, i.elt) : n.appendChild(_);
                for (var r = n.firstChild; r; ) {
                    var a = r.nextSibling;
                    r.section || n.removeChild(r),
                    r = a
                }
                t.addTrailingNode(),
                t.$trigger("highlighted"),
                e.selectionMgr.hasFocus() && (e.selectionMgr.restoreSelection(),
                e.selectionMgr.updateCursorCoordinates())
            }),
            a
        }
    }
    var i = n(15)
      , o = n.n(i)
      , s = n(37)
      , c = n.n(s)
      , u = n(67)
      , l = n.n(u)
      , d = n(99)
      , p = [];
    d.a.Highlighter = a
}
, function(e, t, n) {
    "use strict";
    function r(e, t) {
        this.handler = e,
        this.priority = t || 100
    }
    function a(e, t, n) {
        for (var r = void 0, a = t; n && a > 0 || !n && a < e.length; ) {
            var i = u[n ? e[a - 1] : e[a]] || "word";
            if (r && i !== r && ("word" === r || "space" === i || "newLine" === r || "newLine" === i))
                break;
            r = i,
            n ? a -= 1 : a += 1
        }
        return a
    }
    var i = n(91)
      , o = n.n(i)
      , s = n(99);
    s.a.Keystroke = r;
    var c = void 0
      , u = o()(null);
    "./\\()\"'-:,.;<>~!@#$%^&*|+=[]{}`~?".split("").cl_each(function(e) {
        u[e] = "wordSeparator"
    }),
    u[" "] = "space",
    u["\t"] = "space",
    u["\n"] = "newLine",
    s.a.defaultKeystrokes = [new r(function(e, t, n) {
        if (!e.ctrlKey && !e.metaKey || e.altKey)
            return !1;
        var r = e.charCode || e.keyCode
          , a = String.fromCharCode(r).toLowerCase()
          , i = void 0;
        switch (a) {
        case "y":
            i = "redo";
            break;
        case "z":
            i = e.shiftKey ? "redo" : "undo"
        }
        return !!i && (e.preventDefault(),
        setTimeout(function() {
            return n.undoMgr[i]()
        }, 10),
        !0)
    }
    ), new r(function(e, t) {
        if (9 !== e.which || e.metaKey || e.ctrlKey)
            return !1;
        var n = function(e, t, n) {
            var r = arguments.length > 3 && void 0 !== arguments[3] ? arguments[3] : "";
            return e.slice(0, t) + r + e.slice(t + (+n || 0))
        };
        e.preventDefault();
        var r = e.shiftKey
          , a = t.before.lastIndexOf("\n") + 1;
        return r ? (/\s/.test(t.before.charAt(a)) && (t.before = n(t.before, a, 1)),
        t.selection = t.selection.replace(/^[ \t]/gm, "")) : t.selection ? (t.before = n(t.before, a, 0, "\t"),
        t.selection = t.selection.replace(/\n(?=[\s\S])/g, "\n\t")) : t.before += "\t",
        !0
    }
    ), new r(function(e, t, n) {
        if (13 !== e.which)
            return c = !1,
            !1;
        e.preventDefault();
        var r = t.before.lastIndexOf("\n") + 1;
        if (c)
            return t.before = t.before.substring(0, r),
            t.selection = "",
            c = !1,
            !0;
        c = !1;
        var a = t.before.slice(r)
          , i = a.match(/^\s*/)[0];
        return i.length && (c = !0),
        n.undoMgr.setCurrentMode("single"),
        t.before += "\n" + i,
        t.selection = "",
        !0
    }
    ), new r(function(e, t, n) {
        if (8 !== e.which && 46 !== e.which)
            return !1;
        if (n.undoMgr.setCurrentMode("delete"),
        t.selection)
            return t.selection = "",
            e.preventDefault(),
            !0;
        if (s.a.Utils.isMac && e.altKey || !s.a.Utils.isMac && e.ctrlKey) {
            var r = t.before + t.after
              , i = a(r, t.before.length, 8 === e.which);
            return 8 === e.which ? t.before = t.before.slice(0, i) : t.after = t.after.slice(i - r.length),
            e.preventDefault(),
            !0
        }
        return 8 === e.which && "\n" === t.before.slice(-1) ? (t.before = t.before.slice(0, -1),
        e.preventDefault(),
        !0) : 46 === e.which && "\n" === t.after.slice(0, 1) && (t.after = t.after.slice(1),
        e.preventDefault(),
        !0)
    }
    ), new r(function(e, t, n) {
        if (37 !== e.which && 39 !== e.which)
            return !1;
        if (!(s.a.Utils.isMac && e.altKey || !s.a.Utils.isMac && e.ctrlKey))
            return !1;
        var r = n.getContent()
          , i = a(r, n.selectionMgr.selectionEnd, 37 === e.which);
        if (e.shiftKey) {
            var o = Math.min(n.selectionMgr.selectionStart, i)
              , c = Math.max(n.selectionMgr.selectionStart, i);
            t.before = r.slice(0, o),
            t.after = r.slice(c),
            t.selection = r.slice(o, c),
            t.isBackwardSelection = n.selectionMgr.selectionStart > i
        } else
            t.before = r.slice(0, i),
            t.after = r.slice(i),
            t.selection = "";
        return e.preventDefault(),
        !0
    }
    )]
}
, function(e, t, n) {
    "use strict";
    var r = n(37)
      , a = n.n(r)
      , i = n(67)
      , o = n.n(i)
      , s = n(99)
      , c = 0
      , u = function() {
        function e(t, n) {
            a()(this, e),
            this.id = c,
            c += 1,
            this.offset = t,
            this.trailing = n
        }
        return o()(e, [{
            key: "adjustOffset",
            value: function(e) {
                var t = this
                  , n = 0;
                e.cl_each(function(e) {
                    var r = e[0]
                      , a = e[1]
                      , i = a.length;
                    switch (r) {
                    case 0:
                        n += i;
                        break;
                    case 1:
                        (t.trailing ? t.offset > n : t.offset >= n) && (t.offset += i),
                        n += i;
                        break;
                    case -1:
                        t.offset > n && (t.offset -= Math.min(i, t.offset - n))
                    }
                })
            }
        }]),
        e
    }();
    s.a.Marker = u
}
, function(e, t, n) {
    "use strict";
    (function(e) {
        function t(t) {
            var n = this
              , a = r.a.Utils.debounce
              , i = t.$contentElt
              , o = t.$scrollElt;
            r.a.Utils.createEventHooks(this);
            var s = 0
              , c = 0;
            this.selectionStart = 0,
            this.selectionEnd = 0,
            this.cursorCoordinates = {},
            this.findContainer = function(e) {
                var t = r.a.Utils.findContainer(i, e);
                if ("\n" === t.container.nodeValue) {
                    var n = t.container.parentNode;
                    "hd-lf" === n.className && n.previousSibling && "BR" === n.previousSibling.tagName && (t.container = n.parentNode,
                    t.offsetInContainer = Array.prototype.indexOf.call(t.container.childNodes, 0 === t.offsetInContainer ? n.previousSibling : n))
                }
                return t
            }
            ,
            this.createRange = function(e, t) {
                var r = document.createRange()
                  , a = "number" == typeof e ? n.findContainer(e < 0 ? 0 : e) : e
                  , i = a;
                return e !== t && (i = "number" == typeof t ? n.findContainer(t < 0 ? 0 : t) : t),
                r.setStart(a.container, a.offsetInContainer),
                r.setEnd(i.container, i.offsetInContainer),
                r
            }
            ;
            var u = void 0
              , l = a(function() {
                var e = n.getCoordinates(n.selectionEnd, n.selectionEndContainer, n.selectionEndOffset);
                if (n.cursorCoordinates.top === e.top && n.cursorCoordinates.height === e.height && n.cursorCoordinates.left === e.left || (n.cursorCoordinates = e,
                n.$trigger("cursorCoordinatesChanged", e)),
                u) {
                    var r = o.clientHeight;
                    "number" == typeof u && (r -= u);
                    var a = r / 2 * t.options.getCursorFocusRatio()
                      , s = n.cursorCoordinates.top + n.cursorCoordinates.height / 2;
                    s += i.getBoundingClientRect().top - o.getBoundingClientRect().top + o.scrollTop;
                    var c = s - a
                      , l = s + a - r;
                    o.scrollTop > c ? o.scrollTop = c : o.scrollTop < l && (o.scrollTop = l)
                }
                u = !1
            });
            this.updateCursorCoordinates = function(e) {
                u = u || e,
                l()
            }
            ;
            var d = void 0
              , p = function(e) {
                return (!d || d.startContainer !== e.startContainer || d.startOffset !== e.startOffset || d.endContainer !== e.endContainer || d.endOffset !== e.endOffset) && (d = e,
                n.$trigger("selectionChanged", n.selectionStart, n.selectionEnd, e),
                !0)
            };
            this.hasFocus = function() {
                return i === document.activeElement
            }
            ,
            this.restoreSelection = function() {
                var e = Math.min(n.selectionStart, n.selectionEnd)
                  , t = Math.max(n.selectionStart, n.selectionEnd)
                  , r = n.createRange(e, t);
                if (!document.contains(r.commonAncestorContainer))
                    return null;
                var a = window.getSelection();
                if (a.removeAllRanges(),
                n.selectionStart > n.selectionEnd && a.extend) {
                    var i = r.cloneRange();
                    i.collapse(!1),
                    a.addRange(i),
                    a.extend(r.startContainer, r.startOffset)
                } else
                    a.addRange(r);
                return p(r),
                r
            }
            ;
            var f = a(function() {
                s = n.selectionStart,
                c = n.selectionEnd
            }, 50)
              , v = function() {
                var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : n.selectionStart
                  , t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : n.selectionEnd;
                n.selectionStart = e < 0 ? 0 : e,
                n.selectionEnd = t < 0 ? 0 : t,
                f()
            };
            this.setSelectionStartEnd = function(e, t) {
                var r = !(arguments.length > 2 && void 0 !== arguments[2]) || arguments[2];
                return v(e, t),
                r && n.hasFocus() ? n.restoreSelection() : null
            }
            ,
            this.saveSelectionState = function() {
                function r(e, t) {
                    for (var n = e.length; n; )
                        if (n -= 1,
                        e[n] === t)
                            return !0;
                    return !1
                }
                function o(e, t, n) {
                    for (var r = void 0, a = n ? e : e.parentNode; a; ) {
                        if ((r = a.parentNode) === t)
                            return a;
                        a = r
                    }
                    return null
                }
                function u(e) {
                    for (var t = 0, n = e.previousSibling; n; ) {
                        t += 1;
                        n = n.previousSibling
                    }
                    return t
                }
                function l(e, t) {
                    var n = []
                      , a = void 0;
                    for (a = e; a; a = a.parentNode)
                        n.push(a);
                    for (a = t; a; a = a.parentNode)
                        if (r(n, a))
                            return a;
                    return null
                }
                function d(t, n, r, a) {
                    var i = void 0;
                    if (t === r)
                        return n === a ? 0 : n < a ? -1 : 1;
                    var s = o(r, t, !0);
                    if (s)
                        return n <= u(s) ? -1 : 1;
                    if (s = o(t, r, !0))
                        return u(s) < a ? -1 : 1;
                    var c = l(t, r);
                    if (!c)
                        throw new Error("comparePoints error: nodes have no common ancestor");
                    var d = t === c ? c : o(t, c, !0)
                      , p = r === c ? c : o(r, c, !0);
                    if (d === p)
                        throw e.createError("comparePoints got to case 4 and childA and childB are the same!");
                    for (i = c.firstChild; i; ) {
                        if (i === d)
                            return -1;
                        if (i === p)
                            return 1;
                        i = i.nextSibling
                    }
                    return 0
                }
                var f = function() {
                    var e = void 0;
                    if (n.hasFocus()) {
                        var r = n.selectionStart
                          , a = n.selectionEnd
                          , o = window.getSelection();
                        if (o.rangeCount > 0) {
                            var c = o.getRangeAt(0)
                              , u = c.startContainer;
                            if (i.compareDocumentPosition(u) & window.Node.DOCUMENT_POSITION_CONTAINED_BY || i === u) {
                                var l = c.startOffset;
                                u.firstChild && l > 0 && (u = u.childNodes[l - 1],
                                l = u.textContent.length);
                                for (var f = u; u !== i; ) {
                                    for (u = u.previousSibling; u; )
                                        l += (u.textContent || "").length,
                                        u = u.previousSibling;
                                    u = f.parentNode,
                                    f = u
                                }
                                var m = "" + c
                                  , h = c.endContainer.firstChild;
                                h && "BR" === h.tagName && 1 === c.endOffset && (m += "\n"),
                                1 === d(o.anchorNode, o.anchorOffset, o.focusNode, o.focusOffset) ? (r = l + m.length,
                                a = l) : (r = l,
                                a = l + m.length),
                                r === a && r === t.getContent().length ? (a -= 1,
                                r = a,
                                e = n.setSelectionStartEnd(r, a)) : (v(r, a),
                                e = p(c),
                                e = e || s !== n.selectionStart)
                            }
                        }
                    }
                    return e
                }
                  , m = function() {
                    return f() && (s !== n.selectionStart || c !== n.selectionEnd)
                }
                  , h = !1
                  , g = a(function() {
                    n.updateCursorCoordinates(m() && h),
                    h = !1
                }, 10)
                  , b = a(function() {
                    n.updateCursorCoordinates(m() && h),
                    g()
                });
                return function(e, t, n) {
                    n && (s = void 0,
                    c = void 0),
                    e ? (h = h || t,
                    b()) : f()
                }
            }(),
            this.getSelectedText = function() {
                var e = Math.min(n.selectionStart, n.selectionEnd)
                  , r = Math.max(n.selectionStart, n.selectionEnd);
                return t.getContent().substring(e, r)
            }
            ,
            this.getCoordinates = function(e, r, a) {
                var o = r
                  , s = a;
                if (!o) {
                    var c = n.findContainer(e);
                    o = c.container,
                    s = c.offsetInContainer
                }
                var u = o;
                !u.hasChildNodes() && o.parentNode && (u = o.parentNode);
                for (var l = !1; !u.offsetHeight; )
                    if (l = !0,
                    u.previousSibling)
                        u = u.previousSibling;
                    else if (!(u = u.parentNode))
                        return {
                            top: 0,
                            height: 0,
                            left: 0
                        };
                var d = void 0
                  , p = "left";
                if (l || "\n" === o.textContent)
                    d = u.getBoundingClientRect();
                else {
                    var f = t.getContent()[e]
                      , v = {
                        container: o,
                        offsetInContainer: s
                    }
                      , m = {
                        container: o,
                        offsetInContainer: s
                    };
                    e > 0 && (void 0 === f || "\n" === f) ? (p = "right",
                    0 === v.offsetInContainer ? v = e - 1 : v.offsetInContainer -= 1) : m.offsetInContainer === o.textContent.length ? m = e + 1 : m.offsetInContainer += 1;
                    d = n.createRange(v, m).getBoundingClientRect()
                }
                var h = i.getBoundingClientRect();
                return {
                    top: Math.round(d.top - h.top + i.scrollTop),
                    height: Math.round(d.height),
                    left: Math.round(d[p] - h.left + i.scrollLeft)
                }
            }
            ,
            this.getClosestWordOffset = function(e) {
                var n = 0
                  , r = 0
                  , a = 0;
                return t.getContent().split(/\s/).cl_some(function(t) {
                    return !!(t && (n = a,
                    (r = a + t.length) > e)) || (a += t.length + 1,
                    !1)
                }),
                {
                    start: n,
                    end: r
                }
            }
        }
        var r = n(99);
        r.a.SelectionMgr = t
    }
    ).call(t, n(2353)(e))
}
, function(e, t, n) {
    "use strict";
    function r(e) {
        function t() {
            var e = this
              , t = void 0
              , n = void 0
              , r = void 0;
            this.isBufferState = function() {
                return t = Date.now(),
                "single" !== e.currentMode && e.currentMode === r && t - n < o.options.bufferStateUntilIdle
            }
            ,
            this.setDefaultMode = function(t) {
                e.currentMode = e.currentMode || t
            }
            ,
            this.resetMode = function() {
                g.currentMode = void 0,
                r = void 0
            }
            ,
            this.saveMode = function() {
                r = e.currentMode,
                e.currentMode = void 0,
                n = t
            }
        }
        function n() {
            Array.prototype.push.apply(v, m),
            m = []
        }
        var r = this;
        l.a.Utils.createEventHooks(this);
        var a = new u.a
          , o = this
          , c = void 0
          , d = []
          , p = []
          , f = void 0
          , v = []
          , m = []
          , h = l.a.Utils.debounce;
        this.options = {
            undoStackMaxSize: 200,
            bufferStateUntilIdle: 1e3,
            patchHandler: {
                makePatches: function(e, t, n) {
                    return a.patch_make(e, n)
                },
                applyPatches: function(e, t) {
                    return a.patch_apply(e, t)[0]
                },
                reversePatches: function(e) {
                    var t = a.patch_deepCopy(e).reverse();
                    return t.cl_each(function(e) {
                        e.diffs.cl_each(function(e) {
                            e[0] = -e[0]
                        })
                    }),
                    t
                }
            }
        };
        var g = void 0
          , b = function() {
            function e() {
                i()(this, e)
            }
            return s()(e, [{
                key: "addToUndoStack",
                value: function() {
                    d.push(this),
                    this.patches = v,
                    v = []
                }
            }, {
                key: "addToRedoStack",
                value: function() {
                    p.push(this),
                    this.patches = v,
                    v = []
                }
            }]),
            e
        }();
        g = new t,
        this.setCurrentMode = function(e) {
            g.currentMode = e
        }
        ,
        this.setDefaultMode = g.setDefaultMode.cl_bind(g),
        this.addDiffs = function(e, t, n) {
            r.options.patchHandler.makePatches(e, t, n).cl_each(function(e) {
                return m.push(e)
            })
        }
        ,
        this.saveState = h(function() {
            if (p.length = 0,
            !g.isBufferState())
                for (f.addToUndoStack(); d.length > r.options.undoStackMaxSize; )
                    d.shift();
            n(),
            f = new b,
            g.saveMode(),
            r.$trigger("undoStateChange")
        }),
        this.canUndo = function() {
            return !!d.length
        }
        ,
        this.canRedo = function() {
            return !!p.length
        }
        ;
        var _ = function(t, n) {
            var a = t
              , i = e.getContent();
            n || (a = r.options.patchHandler.reversePatches(a));
            var o = r.options.patchHandler.applyPatches(a, i)
              , s = o.text || o
              , u = e.setContent(s, !0)
              , l = o.selection || {
                start: u.end,
                end: u.end
            };
            c.setSelectionStartEnd(l.start, l.end),
            c.updateCursorCoordinates(!0),
            g.resetMode(),
            r.$trigger("undoStateChange"),
            e.adjustCursorPosition()
        };
        this.undo = function() {
            var e = d.pop();
            e && (n(),
            f.addToRedoStack(),
            _(f.patches),
            v = e.patches,
            f = e)
        }
        ,
        this.redo = function() {
            var e = p.pop();
            e && (f.addToUndoStack(),
            _(e.patches, !0),
            v = e.patches,
            f = e)
        }
        ,
        this.init = function(t) {
            r.options.cl_extend(t || {}),
            c = e.selectionMgr,
            f || (f = new b)
        }
    }
    var a = n(37)
      , i = n.n(a)
      , o = n(67)
      , s = n.n(o)
      , c = n(112)
      , u = n.n(c)
      , l = n(99);
    l.a.UndoMgr = r
}
, function(e, t, n) {
    "use strict";
    var r = n(91)
      , a = n.n(r)
      , i = n(99)
      , o = {
        isGecko: "MozAppearance"in document.documentElement.style,
        isWebkit: "WebkitAppearance"in document.documentElement.style,
        isMsie: "msTransform"in document.documentElement.style,
        isMac: -1 !== navigator.userAgent.indexOf("Mac OS X")
    };
    o.defer = function() {
        function e() {
            for (var e = 0; e < n; e += 1) {
                try {
                    t[e]()
                } catch (e) {
                    console.error(e.message, e.stack)
                }
                t[e] = void 0
            }
            n = 0
        }
        var t = new Array(1e3)
          , n = 0
          , r = 0
          , a = new window.MutationObserver(e)
          , i = document.createTextNode("");
        return a.observe(i, {
            characterData: !0
        }),
        function(e) {
            t[n] = e,
            1 === (n += 1) && (r = (r + 1) % 2,
            i.data = r)
        }
    }(),
    o.debounce = function(e, t) {
        var n = void 0
          , r = void 0;
        return t ? function() {
            clearTimeout(n),
            n = setTimeout(e, t)
        }
        : function() {
            r || (r = !0,
            o.defer(function() {
                r = !1,
                e()
            }))
        }
    }
    ,
    o.createEventHooks = function(e) {
        var t = a()(null);
        e.$trigger = function(n) {
            for (var r = arguments.length, a = Array(r > 1 ? r - 1 : 0), i = 1; i < r; i++)
                a[i - 1] = arguments[i];
            var o = t[n];
            o && o.cl_each(function(t) {
                try {
                    t.apply(e, a)
                } catch (e) {
                    console.error(e.message, e.stack)
                }
            })
        }
        ,
        e.on = function(e, n) {
            var r = t[e];
            r || (r = [],
            t[e] = r),
            r.push(n)
        }
        ,
        e.off = function(e, n) {
            var r = t[e];
            if (r) {
                var a = r.indexOf(n);
                -1 !== a && r.splice(a, 1)
            }
        }
    }
    ,
    o.findContainer = function(e, t) {
        var n = 0
          , r = void 0
          , a = e;
        do {
            if (r = a,
            a = a.firstChild)
                do {
                    var i = a.textContent.length;
                    if (n <= t && n + i > t)
                        break;
                    n += i,
                    a = a.nextSibling
                } while (a)
        } while (a && a.firstChild && 3 !== a.nodeType);
        if (a)
            return {
                container: a,
                offsetInContainer: t - n
            };
        for (; r.lastChild; )
            r = r.lastChild;
        return {
            container: r,
            offsetInContainer: 3 === r.nodeType ? r.textContent.length : 0
        }
    }
    ,
    i.a.Utils = o
}
, function(e, t, n) {
    "use strict";
    function r(e, t) {
        var n = this;
        this.isWatching = !1;
        var r = void 0;
        this.startWatching = function() {
            n.stopWatching(),
            n.isWatching = !0,
            r = new window.MutationObserver(t),
            r.observe(e.$contentElt, {
                childList: !0,
                subtree: !0,
                characterData: !0
            })
        }
        ,
        this.stopWatching = function() {
            r && (r.disconnect(),
            r = void 0),
            n.isWatching = !1
        }
        ,
        this.noWatch = function(e) {
            !0 === n.isWatching ? (n.stopWatching(),
            e(),
            n.startWatching()) : e()
        }
    }
    n(99).a.Watcher = r
}
, function(e, t, n) {
    "use strict";
    function r(e, t, n) {
        var r = function(r) {
            var a = t + ":" + r
              , i = D[a];
            i || (i = new x.a.Marker(e[r],"end" === r),
            i.discussionId = t,
            i.offsetName = r,
            T.addMarker(i),
            D[a] = i),
            n(i)
        };
        r("start"),
        r("end")
    }
    function a(e, t) {
        var n = w()({}, e.discussions)
          , a = S.a.getters["discussion/newDiscussion"];
        a && (n[S.a.state.discussion.newDiscussionId] = w()({}, a)),
        b()(D).forEach(function(e) {
            var t = h()(e, 2)
              , r = t[0]
              , a = t[1];
            n[a.discussionId] || (T.removeMarker(a),
            delete D[r])
        }),
        b()(n).forEach(function(e) {
            var n = h()(e, 2)
              , a = n[0]
              , i = n[1];
            r(i, a, t ? function(e) {
                i[e.offsetName] = e.offset
            }
            : function(e) {
                e.offset = i[e.offsetName]
            }
            )
        }),
        t && a && S.a.commit("discussion/patchNewDiscussion", n[S.a.state.discussion.newDiscussionId])
    }
    function i() {
        b()(D).forEach(function(e) {
            var t = h()(e, 2)
              , n = t[1];
            T.removeMarker(n)
        }),
        D = {},
        P = [],
        B = v()(null)
    }
    function o() {
        var e = $.diff_main(A, M);
        return $.patch_make(A, e)
    }
    function s(e) {
        var t = $.patch_apply(e, M)[0]
          , n = t;
        return P.length && (n = n.replace(new RegExp("[-" + String.fromCharCode(57344 + P.length - 1) + "]","g"), "")),
        n !== T.getContent() && (A = M,
        M = t,
        N = !0),
        n
    }
    function c(e) {
        var t = $.patch_deepCopy(e).reverse();
        return t.forEach(function(e) {
            e.diffs.forEach(function(e) {
                e[0] = -e[0]
            })
        }),
        t
    }
    var u = n(20)
      , l = n.n(u)
      , d = n(66)
      , p = n.n(d)
      , f = n(91)
      , v = n.n(f)
      , m = n(15)
      , h = n.n(m)
      , g = n(19)
      , b = n.n(g)
      , _ = n(3)
      , w = n.n(_)
      , y = n(112)
      , k = n.n(y)
      , x = n(65)
      , C = n(4)
      , I = n(406)
      , S = n(2)
      , E = n(273)
      , L = n(399)
      , T = void 0
      , D = {}
      , P = void 0
      , B = void 0
      , A = void 0
      , M = void 0
      , N = void 0
      , U = void 0
      , F = {}
      , O = {}
      , $ = new k.a;
    t.a = {
        createClEditor: function(e) {
            this.clEditor = n.i(x.a)(e, e.parentNode, !0),
            T = this.clEditor,
            T.on("contentChanged", function(e) {
                var t = S.a.getters["content/current"];
                S.a.commit("updateEditState", !1);
                var n = w()({}, C.a.deepCopy(t), {
                    text: C.a.sanitizeText(e)
                });
                a(n, !0),
                N ? (n.text = M,
                I.a.restoreDiscussionOffsets(n, P),
                a(n, !1)) : (A = M,
                M = I.a.makePatchableText(n, P, B)),
                S.a.dispatch("content/patchCurrent", n),
                N = !1
            }),
            T.on("focus", function() {
                return S.a.commit("discussion/setNewCommentFocus", !1)
            })
        },
        initClEditorInternal: function(e) {
            var t = S.a.getters["content/current"];
            if (S.a.commit("updateEditState", !1),
            t) {
                i();
                var n = S.a.getters["contentState/current"]
                  , r = p()({
                    selectionStart: n.selectionStart,
                    selectionEnd: n.selectionEnd,
                    patchHandler: {
                        makePatches: o,
                        applyPatches: s,
                        reversePatches: c
                    }
                }, e);
                U !== t.id && (U = t.id,
                M = I.a.makePatchableText(t, P, B),
                A = M,
                a(t, !1),
                r.content = t.text),
                T.init(r)
            }
        },
        applyContent: function() {
            if (T) {
                var e = S.a.getters["content/current"];
                T.setContent(e.text, !0).range ? i() : a(e, !1)
            }
        },
        getTrimmedSelection: function() {
            for (var e = T, t = e.selectionMgr, n = Math.min(t.selectionStart, t.selectionEnd), r = Math.max(t.selectionStart, t.selectionEnd), a = T.getContent(); (a[n] || "").match(/\s/); )
                n += 1;
            for (; (a[r - 1] || "").match(/\s/); )
                r -= 1;
            return n < r && {
                start: n,
                end: r
            }
        },
        initHighlighters: function() {
            S.a.watch(function() {
                return S.a.getters["discussion/newDiscussion"]
            }, function() {
                return a(S.a.getters["content/current"], !1)
            }),
            S.a.watch(function() {
                return S.a.getters["discussion/currentFileDiscussions"]
            }, function(e) {
                var t = function(e, t) {
                    return function() {
                        var n = ["discussion-" + e + "-highlighting--" + t, "discussion-" + e + "-highlighting"];
                        return S.a.state.discussion.currentDiscussionId === t && n.push("discussion-" + e + "-highlighting--selected"),
                        n
                    }
                }
                  , n = function(e) {
                    return function() {
                        var t = D[e + ":start"]
                          , n = D[e + ":end"];
                        return t && n && {
                            start: t.offset,
                            end: n.offset
                        }
                    }
                }
                  , r = F;
                F = {},
                l()(e).forEach(function(e) {
                    var a = r[e] || new E.a(t("editor", e),n(e),{
                        discussionId: e
                    });
                    F[e] = a
                }),
                b()(r).forEach(function(e) {
                    var t = h()(e, 2)
                      , n = t[0]
                      , r = t[1];
                    F[n] || r.stop()
                });
                var a = O;
                O = {},
                l()(e).forEach(function(e) {
                    var r = a[e] || new L.a(t("preview", e),n(e),{
                        discussionId: e
                    });
                    O[e] = r
                }),
                b()(a).forEach(function(e) {
                    var t = h()(e, 2)
                      , n = t[0]
                      , r = t[1];
                    O[n] || r.stop()
                })
            })
        }
    }
}
, function(e, t, n) {
    "use strict";
    var r = n(112)
      , a = n.n(r)
      , i = n(65)
      , o = n(204)
      , s = n(2)
      , c = new a.a;
    t.a = {
        getScrollPosition: function() {
            var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : s.a.getters["layout/styles"].showEditor ? this.editorElt : this.previewElt
              , t = e === this.editorElt ? "editorDimension" : "previewDimension"
              , n = e.parentNode.scrollTop
              , r = void 0;
            return this.previewCtxMeasured && this.previewCtxMeasured.sectionDescList.some(function(e, a) {
                if (n >= e[t].endOffset)
                    return !1;
                var i = (n - e[t].startOffset) / (e[t].height || 1);
                return r = {
                    sectionIdx: a,
                    posInSection: i
                },
                !0
            }),
            r
        },
        restoreScrollPosition: function() {
            var e = s.a.getters["contentState/current"].scrollPosition;
            if (e && this.previewCtxMeasured) {
                var t = this.previewCtxMeasured.sectionDescList[e.sectionIdx];
                if (t) {
                    var n = t.editorDimension.startOffset + t.editorDimension.height * e.posInSection;
                    this.editorElt.parentNode.scrollTop = Math.floor(n);
                    var r = t.previewDimension.startOffset + t.previewDimension.height * e.posInSection;
                    this.previewElt.parentNode.scrollTop = Math.floor(r)
                }
            }
        },
        getPreviewOffset: function(e) {
            var t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : (this.previewCtxWithDiffs || {}).sectionDescList;
            if (!t)
                return null;
            var n = e
              , r = 0;
            return t.some(function(e) {
                return e.textToPreviewDiffs ? e.section.text.length >= n ? (r += c.diff_xIndex(e.textToPreviewDiffs, n),
                !0) : (n -= e.section.text.length,
                r += e.previewText.length,
                !1) : (r = null,
                !0)
            }),
            r
        },
        getEditorOffset: function(e) {
            var t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : (this.previewCtxWithDiffs || {}).sectionDescList;
            if (!t)
                return null;
            var n = e
              , r = 0;
            return t.some(function(e) {
                if (!e.textToPreviewDiffs)
                    return r = null,
                    !0;
                if (e.previewText.length >= n) {
                    var t = e.textToPreviewDiffs.map(function(e) {
                        return [-e[0], e[1]]
                    });
                    return r += c.diff_xIndex(t, n),
                    !0
                }
                return n -= e.previewText.length,
                r += e.section.text.length,
                !1
            }),
            r
        },
        getPreviewOffsetCoordinates: function(e) {
            var t = i.a.Utils.findContainer(this.previewElt, e && e - 1)
              , n = i.a.Utils.findContainer(this.previewElt, e || e + 1)
              , r = document.createRange();
            r.setStart(t.container, t.offsetInContainer),
            r.setEnd(n.container, n.offsetInContainer);
            var a = r.getBoundingClientRect()
              , o = this.previewElt.getBoundingClientRect();
            return {
                top: Math.round(a.top - o.top + this.previewElt.scrollTop),
                height: Math.round(a.height),
                left: Math.round(a.right - o.left + this.previewElt.scrollLeft)
            }
        },
        scrollToAnchor: function(e) {
            var t = 0
              , n = this.previewElt.parentNode
              , r = document.getElementById(e);
            r && (t = r.offsetTop);
            var a = n.scrollHeight - n.offsetHeight;
            t < 0 ? t = 0 : t > a && (t = a),
            o.a.animate(n).scrollTop(t).duration(360).start()
        }
    }
}
, function(e, t, n) {
    "use strict";
    var r = n(37)
      , a = n.n(r)
      , i = function e(t, n) {
        a()(this, e),
        this.startOffset = t,
        this.endOffset = n,
        this.height = n - t
    }
      , o = function(e) {
        return function(t) {
            var n = t.previewCtx.sectionDescList.map(function(t) {
                return t[e]
            })
              , r = void 0
              , a = void 0
              , i = void 0;
            for (a = 0; a < n.length; a += 1)
                if (r = n[a],
                r.height) {
                    for (i = a + 1; i < n.length && 0 === n[i].height; i += 1)
                        ;
                    var o = i - a;
                    if (1 !== o) {
                        var s = r.height / o;
                        for (r.height = s,
                        r.endOffset = r.startOffset + r.height,
                        i = a + 1; i < a + o; i += 1) {
                            var c = r.endOffset;
                            r = n[i],
                            r.startOffset = c,
                            r.height = s,
                            r.endOffset = r.startOffset + r.height
                        }
                        a = i - 1
                    }
                }
        }
    }
      , s = o("editorDimension")
      , c = o("previewDimension")
      , u = o("tocDimension");
    t.a = {
        measureSectionDimensions: function(e) {
            for (var t = 0, n = 0, r = 0, a = e.previewCtx.sectionDescList[0], o = void 0, l = 1; l < e.previewCtx.sectionDescList.length; l += 1) {
                o = e.previewCtx.sectionDescList[l];
                var d = o.editorElt ? o.editorElt.offsetTop : t;
                d = d > t ? d : t,
                a.editorDimension = new i(t,d),
                t = d;
                var p = o.previewElt ? o.previewElt.offsetTop : n;
                p = p > n ? p : n,
                a.previewDimension = new i(n,p),
                n = p;
                var f = o.tocElt ? o.tocElt.offsetTop + o.tocElt.offsetHeight / 2 : r;
                f = f > r ? f : r,
                a.tocDimension = new i(r,f),
                r = f,
                a = o
            }
            a = e.previewCtx.sectionDescList[l - 1],
            a && (a.editorDimension = new i(t,e.editorElt.scrollHeight),
            a.previewDimension = new i(n,e.previewElt.scrollHeight),
            a.tocDimension = new i(r,e.tocElt.scrollHeight)),
            s(e),
            c(e),
            u(e)
        }
    }
}
, function(e, t, n) {
    "use strict";
    function r(e, t) {
        function n(e) {
            function t() {
                return !(!r.hasHit && r.hasNoIndent) && (n = n.concat(r),
                r = [],
                !0)
            }
            var n = []
              , r = [];
            return e.some(function(e) {
                var n = e.replace(/^[ \t]*/, function(e) {
                    return e.replace(/\t/g, "    ")
                }).match(a);
                if (!n || e.match(/^#+ /))
                    return t(),
                    !0;
                if (r.push({
                    line: e,
                    match: n
                }),
                void 0 !== n[2])
                    n[1] ? r.hasHit = !0 : n[3] || (r.hasNoIndent = !0);
                else if (!t())
                    return !0;
                return !1
            }),
            n
        }
        if (!e.selection && void 0 !== t && c.a.getters["data/computedSettings"].editor.listAutoNumber) {
            var r = t.replace(/\t/g, "    ")
              , a = new RegExp("^[ \\s]*$|^" + r + "(\\d+\\.[ \\t])?(( )?.*)$")
              , i = e.before.split("\n");
            i.unshift("");
            var o = e.after.split("\n")
              , s = i.pop() || ""
              , u = s.length;
            s += o.shift() || "";
            for (var l = i.concat(s).concat(o), d = i.length - n(i.slice().reverse()).length; d <= i.length + 1; ) {
                var p = function(e) {
                    var n = void 0;
                    return e.map(function(e) {
                        if (e.match[1]) {
                            n || (n = parseInt(e.match[1], 10));
                            var r = t + n + e.match[1].slice(-2) + e.match[2];
                            return n += 1,
                            r
                        }
                        return e.line
                    })
                }(n(l.slice(d)));
                p.length ? (l = l.slice(0, d).concat(p).concat(l.slice(d + p.length)),
                d += p.length) : d += 1
            }
            s = l[i.length],
            e.before = l.slice(1, i.length),
            e.before.push(s.slice(0, u)),
            e.before = e.before.join("\n"),
            e.after = [s.slice(u)].concat(l.slice(i.length + 1)),
            e.after = e.after.join("\n")
        }
    }
    function a(e, t) {
        if (13 !== e.which)
            return d = !1,
            !1;
        e.preventDefault();
        var n = t.before.lastIndexOf("\n") + 1
          , a = t.before.slice(n)
          , i = a.match(l) || [""];
        if (d && !t.selection && t.before.length === p)
            return t.before = t.before.substring(0, n),
            t.selection = "",
            d = !1,
            r(t, i[1]),
            !0;
        d = !1;
        var o = i[0];
        return o.length && (d = !0),
        s.a.clEditor.undoMgr.setCurrentMode("single"),
        t.before += "\n" + o,
        t.selection = "",
        p = t.before.length,
        r(t, i[1]),
        !0
    }
    function i(e, t) {
        if (9 !== e.which || e.metaKey || e.ctrlKey)
            return !1;
        var n = function(e, t, n, r) {
            return e.slice(0, t) + (r || "") + e.slice(t + (+n || 0))
        };
        e.preventDefault();
        var a = e.shiftKey
          , i = t.before.lastIndexOf("\n") + 1
          , o = t.before.slice(i)
          , s = o + t.selection + t.after
          , c = s.match(l);
        if (a) {
            var u = t.before.slice(-1);
            /\s/.test(t.before.charAt(i)) && (t.before = n(t.before, i, 1),
            c && (r(t, c[1]),
            c[1] && r(t, c[1].slice(1))));
            var d = u + t.selection;
            t.selection = d.replace(/\n[ \t]/gm, "\n"),
            u && (t.selection = t.selection.slice(1))
        } else
            t.selection || c && c[0].length >= o.length ? (t.before = n(t.before, i, 0, "\t"),
            t.selection = t.selection.replace(/\n(?=.)/g, "\n\t"),
            c && (r(t, c[1]),
            r(t, "\t" + c[1]))) : t.before += "\t";
        return !0
    }
    var o = n(65)
      , s = n(27)
      , c = n(2)
      , u = o.a.Keystroke
      , l = /^ {0,3}>[ ]*|^[ \t]*[*+-][ \t](?:\[[ xX]\][ \t])?|^([ \t]*)\d+\.[ \t](?:\[[ xX]\][ \t])?|^\s+/
      , d = void 0
      , p = void 0;
    s.a.$on("inited", function() {
        s.a.clEditor.addKeystroke(new u(a,50)),
        s.a.clEditor.addKeystroke(new u(i,50))
    })
}
, function(e, t, n) {
    "use strict";
    function r(e, t) {
        clearTimeout(g);
        var n = Date.now()
          , r = t + b - n;
        r < 1 ? (b = n,
        e()) : g = setTimeout(function() {
            b = Date.now(),
            e()
        }, r)
    }
    var a = n(2)
      , i = n(204)
      , o = n(27)
      , s = void 0
      , c = void 0
      , u = void 0
      , l = void 0
      , d = void 0
      , p = void 0
      , f = void 0
      , v = void 0
      , m = void 0
      , h = []
      , g = void 0
      , b = 0
      , _ = function() {
        var e = d || !a.a.getters["layout/styles"].showSidePreview;
        if (d = !1,
        a.a.getters["data/layoutSettings"].scrollSync && 0 !== h.length) {
            var t = s.scrollTop;
            t < 0 && (t = 0);
            var n = c.scrollTop
              , o = void 0;
            p ? (p = !1,
            h.some(function(e) {
                if (t > e.editorDimension.endOffset)
                    return !1;
                var n = (t - e.editorDimension.startOffset) / (e.editorDimension.height || 1);
                return o = e.previewDimension.startOffset + e.previewDimension.height * n,
                !0
            }),
            o = Math.min(o, c.scrollHeight - c.offsetHeight),
            r(function() {
                clearTimeout(l),
                i.a.animate(c).scrollTop(o).duration(!e && 100).start(function() {
                    l = setTimeout(function() {
                        m = !1
                    }, 100)
                }, function() {
                    m = !0
                })
            }, e ? 500 : 50)) : a.a.getters["layout/styles"].showEditor && !f || (f = !1,
            h.some(function(e) {
                if (n > e.previewDimension.endOffset)
                    return !1;
                var t = (n - e.previewDimension.startOffset) / (e.previewDimension.height || 1);
                return o = e.editorDimension.startOffset + e.editorDimension.height * t,
                !0
            }),
            o = Math.min(o, s.scrollHeight - s.offsetHeight),
            r(function() {
                clearTimeout(u),
                i.a.animate(s).scrollTop(o).duration(!e && 100).start(function() {
                    u = setTimeout(function() {
                        v = !1
                    }, 100)
                }, function() {
                    v = !0
                })
            }, e ? 500 : 50))
        }
    }
      , w = void 0
      , y = void 0
      , k = function() {
        w || _()
    };
    a.a.watch(function() {
        return a.a.getters["data/layoutSettings"].scrollSync
    }, k),
    o.a.$on("inited", function() {
        s = o.a.editorElt.parentNode,
        c = o.a.previewElt.parentNode,
        s.addEventListener("scroll", function() {
            v || (p = !0,
            f = !1,
            _())
        }),
        c.addEventListener("scroll", function() {
            m || w || (f = !0,
            p = !1,
            _())
        })
    }),
    o.a.$on("sectionList", function() {
        clearTimeout(y),
        w = !0,
        h = []
    }),
    o.a.$on("previewCtx", function() {
        p = a.a.getters["layout/styles"].showEditor,
        y = setTimeout(function() {
            w = !1
        }, 100)
    }),
    a.a.watch(function() {
        return a.a.getters["layout/styles"].showEditor
    }, function(e) {
        p = e,
        f = !e,
        d = !0
    }),
    a.a.watch(function() {
        return a.a.getters["file/current"].id
    }, function() {
        d = !0
    }),
    o.a.$on("previewCtxMeasured", function(e) {
        e && (h = e.sectionDescList,
        k())
    })
}
, function(e, t, n) {
    "use strict";
    var r = n(15)
      , a = n.n(r)
      , i = n(19)
      , o = n.n(i)
      , s = n(1888)
      , c = n.n(s)
      , u = n(2)
      , l = n(27)
      , d = n(102);
    c.a.prototype.stopCallback = function() {
        return u.a.getters["modal/config"] || !u.a.getters["content/isCurrentEditable"]
    }
    ;
    var p = function(e) {
        return function() {
            return l.a.pagedownEditor.uiManager.doClick(e),
            !0
        }
    }
      , f = function(e) {
        return function() {
            return u.a.dispatch("findReplace/open", {
                type: e,
                findText: l.a.clEditor.selectionMgr.hasFocus() && l.a.clEditor.selectionMgr.getSelectedText()
            }),
            !0
        }
    }
      , v = {
        bold: p("bold"),
        italic: p("italic"),
        strikethrough: p("strikethrough"),
        link: p("link"),
        quote: p("quote"),
        code: p("code"),
        image: p("image"),
        olist: p("olist"),
        ulist: p("ulist"),
        clist: p("clist"),
        heading: p("heading"),
        hr: p("hr"),
        save: p("save"),
        sync: function() {
            return d.a.isSyncPossible() && d.a.requestSync(),
            !0
        },
        find: f("find"),
        replace: f("replace"),
        expand: function(e, t) {
            var n = "" + (e || "")
              , r = "" + (t || "");
            n && r && setTimeout(function() {
                var e = l.a.clEditor.selectionMgr
                  , t = e.selectionStart;
                if (t === e.selectionEnd) {
                    var a = e.createRange(t - n.length, t);
                    "" + a === n && (a.deleteContents(),
                    a.insertNode(document.createTextNode(r)),
                    t = t - n.length + r.length,
                    e.setSelectionStartEnd(t, t),
                    e.updateCursorCoordinates(!0))
                }
            }, 1)
        }
    };
    u.a.watch(function() {
        return u.a.getters["data/computedSettings"]
    }, function(e) {
        c.a.reset(),
        o()(e.shortcuts).forEach(function(e) {
            var t = a()(e, 2)
              , n = t[0]
              , r = t[1];
            if (r) {
                var i = "" + (r.method || r)
                  , o = r.params || [];
                if (Array.isArray(o) || (o = [o]),
                Object.prototype.hasOwnProperty.call(v, i))
                    try {
                        c.a.bind("" + n, function() {
                            return !v[i].apply(null, o)
                        })
                    } catch (e) {}
            }
        })
    }, {
        immediate: !0
    })
}
, function(e, t, n) {
    "use strict";
    //console.log("api.js Object7777 e:", e);
    //console.log("api.js Object7777 e:", t);

    var r = n(27)
      , a = n(2);
    
    //console.log("api.js Object7777 r:", r);
    //console.log("api.js Object7777 a:", a);

    r.a.$on("inited", function() {
        var e = function e(t) {
            var n = 0;
            if (!t || t === r.a.previewElt)
                return n;
            for (var a = t.previousSibling; a; ) {
                n += a.textContent.length;
                a = a.previousSibling
            }
            return n + e(t.parentNode)
        };
        r.a.previewElt.addEventListener("click", function(t) {
            if (t.target.classList.contains("task-list-item-checkbox") && (t.preventDefault(),
            a.a.getters["content/isCurrentEditable"])) {
                var n = r.a.clEditor.getContent();
                setTimeout(function() {
                    if (n === r.a.clEditor.getContent()) {
                        var a = e(t.target)
                          , i = r.a.getEditorOffset(a + 1);
                        if (null != i) {
                            var o = n.lastIndexOf("\n", i) + 1
                              , s = n.slice(o, i)
                              , c = s.match(/^([ \t]*(?:[*+-]|\d+\.)[ \t]+\[)[ xX](\] .*)/);
                            if (c) {
                                var u = n.slice(0, o);
                                u += c[1],
                                u += t.target.checked ? " " : "x",
                                u += c[2],
                                u += n.slice(i),
                                r.a.clEditor.setContent(u, !0)
                            }
                        }
                    }
                }, 10)
            }
        })
    })
}
, function(e, t, n) {
    "use strict";
    var r = n(6)
      , a = n.n(r)
      , i = n(3)
      , o = n.n(i)
      , s = n(5)
      , c = n.n(s)
      , u = n(2)
      , l = n(30)
      , d = n(38);
    t.a = new d.a({
        id: "bloggerPage",
        name: "Blogger Page",
        getToken: function(e) {
            var t = e.sub
              , n = u.a.getters["data/googleTokensBySub"][t];
            return n && n.isBlogger ? n : null
        },
        getLocationUrl: function(e) {
            return "https://www.blogger.com/blogger.g?blogID=" + e.blogId + "#editor/target=page;pageID=" + e.pageId
        },
        getLocationDescription: function(e) {
            return e.pageId
        },
        publish: function(e, t, n, r) {
            var i = this;
            return c()(a.a.mark(function s() {
                var c;
                return a.a.wrap(function(a) {
                    for (; ; )
                        switch (a.prev = a.next) {
                        case 0:
                            return a.next = 2,
                            l.a.uploadBlogger({
                                token: e,
                                blogUrl: r.blogUrl,
                                blogId: r.blogId,
                                postId: r.pageId,
                                title: n.title,
                                content: t,
                                isPage: !0
                            });
                        case 2:
                            return c = a.sent,
                            a.abrupt("return", o()({}, r, {
                                blogId: c.blog.id,
                                pageId: c.id
                            }));
                        case 4:
                        case "end":
                            return a.stop()
                        }
                }, s, i)
            }))()
        },
        makeLocation: function(e, t, n) {
            var r = {
                providerId: this.id,
                sub: e.sub,
                blogUrl: t
            };
            return n && (r.pageId = n),
            r
        }
    })
}
, function(e, t, n) {
    "use strict";
    var r = n(6)
      , a = n.n(r)
      , i = n(3)
      , o = n.n(i)
      , s = n(5)
      , c = n.n(s)
      , u = n(2)
      , l = n(30)
      , d = n(38);
    t.a = new d.a({
        id: "blogger",
        name: "Blogger",
        getToken: function(e) {
            var t = e.sub
              , n = u.a.getters["data/googleTokensBySub"][t];
            return n && n.isBlogger ? n : null
        },
        getLocationUrl: function(e) {
            return "https://www.blogger.com/blogger.g?blogID=" + e.blogId + "#editor/target=post;postID=" + e.postId
        },
        getLocationDescription: function(e) {
            return e.postId
        },
        publish: function(e, t, n, r) {
            var i = this;
            return c()(a.a.mark(function s() {
                var c;
                return a.a.wrap(function(a) {
                    for (; ; )
                        switch (a.prev = a.next) {
                        case 0:
                            return a.next = 2,
                            l.a.uploadBlogger(o()({}, r, {
                                token: e,
                                title: n.title,
                                content: t,
                                labels: n.tags,
                                isDraft: "draft" === n.status,
                                published: n.date
                            }));
                        case 2:
                            return c = a.sent,
                            a.abrupt("return", o()({}, r, {
                                blogId: c.blog.id,
                                postId: c.id
                            }));
                        case 4:
                        case "end":
                            return a.stop()
                        }
                }, s, i)
            }))()
        },
        makeLocation: function(e, t, n) {
            var r = {
                providerId: this.id,
                sub: e.sub,
                blogUrl: t
            };
            return n && (r.postId = n),
            r
        }
    })
}
, function(e, t, n) {
    "use strict";
    var r = n(46)
      , a = n.n(r)
      , i = n(3)
      , o = n.n(i)
      , s = n(6)
      , c = n.n(s)
      , u = n(39)
      , l = n.n(u)
      , d = n(5)
      , p = n.n(d)
      , f = n(2)
      , v = n(887)
      , m = n(38)
      , h = n(4)
      , g = n(12)
      , b = void 0;
    new m.a({
        id: "couchdbWorkspace",
        name: "CouchDB",
        getToken: function() {
            return f.a.getters["workspace/syncToken"]
        },
        getWorkspaceParams: function(e) {
            var t = e.dbUrl;
            return {
                providerId: this.id,
                dbUrl: t
            }
        },
        getWorkspaceLocationUrl: function(e) {
            return e.dbUrl
        },
        getSyncDataUrl: function(e, t) {
            var n = t.id;
            return this.getToken().dbUrl + "/" + n + "/data"
        },
        getSyncDataDescription: function(e, t) {
            return t.id
        },
        initWorkspace: function() {
            var e = this;
            return p()(c.a.mark(function t() {
                var n, r, a, i;
                return c.a.wrap(function(t) {
                    for (; ; )
                        switch (t.prev = t.next) {
                        case 0:
                            if (n = (h.a.queryParams.dbUrl || "").replace(/\/?$/, ""),
                            r = e.getWorkspaceParams({
                                dbUrl: n
                            }),
                            a = h.a.makeWorkspaceId(r),
                            f.a.getters["data/couchdbTokensBySub"][a] || f.a.dispatch("data/addCouchdbToken", {
                                sub: a,
                                dbUrl: n
                            }),
                            f.a.getters["workspace/workspacesById"][a]) {
                                t.next = 15;
                                break
                            }
                            return t.prev = 5,
                            t.next = 8,
                            v.a.getDb(f.a.getters["data/couchdbTokensBySub"][a]);
                        case 8:
                            i = t.sent,
                            f.a.dispatch("workspace/patchWorkspacesById", l()({}, a, {
                                id: a,
                                name: i.db_name,
                                providerId: e.id,
                                dbUrl: n
                            })),
                            t.next = 15;
                            break;
                        case 12:
                            throw t.prev = 12,
                            t.t0 = t.catch(5),
                            new Error(n + " is not accessible. Make sure you have the proper permissions.");
                        case 15:
                            return g.a.addBadge("addCouchdbWorkspace"),
                            t.abrupt("return", f.a.getters["workspace/workspacesById"][a]);
                        case 17:
                        case "end":
                            return t.stop()
                        }
                }, t, e, [[5, 12]])
            }))()
        },
        getChanges: function() {
            var e = this;
            return p()(c.a.mark(function t() {
                var n, r, a, i;
                return c.a.wrap(function(e) {
                    for (; ; )
                        switch (e.prev = e.next) {
                        case 0:
                            return n = f.a.getters["workspace/syncToken"],
                            r = f.a.getters["data/localSettings"].syncLastSeq,
                            e.next = 4,
                            v.a.getChanges(n, r);
                        case 4:
                            return a = e.sent,
                            i = a.changes.filter(function(e) {
                                if (!e.deleted && e.doc) {
                                    if (e.item = e.doc.item,
                                    !e.item || !e.item.id || !e.item.type)
                                        return !1;
                                    e.syncData = {
                                        id: e.id,
                                        itemId: e.item.id,
                                        type: e.item.type,
                                        hash: e.item.hash,
                                        rev: e.doc._rev
                                    }
                                }
                                return e.syncDataId = e.id,
                                !0
                            }),
                            b = a.lastSeq,
                            e.abrupt("return", i);
                        case 8:
                        case "end":
                            return e.stop()
                        }
                }, t, e)
            }))()
        },
        onChangesApplied: function() {
            f.a.dispatch("data/patchLocalSettings", {
                syncLastSeq: b
            })
        },
        saveWorkspaceItem: function(e) {
            var t = this
              , n = e.item
              , r = e.syncData;
            return p()(c.a.mark(function e() {
                var a, i, o, s;
                return c.a.wrap(function(e) {
                    for (; ; )
                        switch (e.prev = e.next) {
                        case 0:
                            return a = f.a.getters["workspace/syncToken"],
                            e.next = 3,
                            v.a.uploadDocument({
                                token: a,
                                item: n,
                                documentId: r && r.id,
                                rev: r && r.rev
                            });
                        case 3:
                            return i = e.sent,
                            o = i.id,
                            s = i.rev,
                            e.abrupt("return", {
                                syncData: {
                                    id: o,
                                    itemId: n.id,
                                    type: n.type,
                                    hash: n.hash,
                                    rev: s
                                }
                            });
                        case 7:
                        case "end":
                            return e.stop()
                        }
                }, e, t)
            }))()
        },
        removeWorkspaceItem: function(e) {
            var t = e.syncData
              , n = f.a.getters["workspace/syncToken"];
            return v.a.removeDocument(n, t.id, t.rev)
        },
        downloadWorkspaceContent: function(e) {
            var t = this
              , n = e.token
              , r = e.contentSyncData;
            return p()(c.a.mark(function e() {
                var a, i, s;
                return c.a.wrap(function(e) {
                    for (; ; )
                        switch (e.prev = e.next) {
                        case 0:
                            return e.next = 2,
                            v.a.retrieveDocumentWithAttachments(n, r.id);
                        case 2:
                            return a = e.sent,
                            i = a._rev,
                            s = m.a.parseContent(a.attachments.data, a.item.id),
                            e.abrupt("return", {
                                content: s,
                                contentSyncData: o()({}, r, {
                                    hash: s.hash,
                                    rev: i
                                })
                            });
                        case 6:
                        case "end":
                            return e.stop()
                        }
                }, e, t)
            }))()
        },
        downloadWorkspaceData: function(e) {
            var t = this
              , n = e.token
              , r = e.syncData;
            return p()(c.a.mark(function e() {
                var a, i, s;
                return c.a.wrap(function(e) {
                    for (; ; )
                        switch (e.prev = e.next) {
                        case 0:
                            if (r) {
                                e.next = 2;
                                break
                            }
                            return e.abrupt("return", {});
                        case 2:
                            return e.next = 4,
                            v.a.retrieveDocumentWithAttachments(n, r.id);
                        case 4:
                            return a = e.sent,
                            i = h.a.addItemHash(JSON.parse(a.attachments.data)),
                            s = a._rev,
                            e.abrupt("return", {
                                item: i,
                                syncData: o()({}, r, {
                                    hash: i.hash,
                                    rev: s
                                })
                            });
                        case 8:
                        case "end":
                            return e.stop()
                        }
                }, e, t)
            }))()
        },
        uploadWorkspaceContent: function(e) {
            var t = this
              , n = e.token
              , r = e.content
              , a = e.contentSyncData;
            return p()(c.a.mark(function e() {
                var i;
                return c.a.wrap(function(e) {
                    for (; ; )
                        switch (e.prev = e.next) {
                        case 0:
                            return e.next = 2,
                            v.a.uploadDocument({
                                token: n,
                                item: {
                                    id: r.id,
                                    type: r.type,
                                    hash: r.hash
                                },
                                data: m.a.serializeContent(r),
                                dataType: "text/plain",
                                documentId: a && a.id,
                                rev: a && a.rev
                            });
                        case 2:
                            return i = e.sent,
                            e.abrupt("return", {
                                contentSyncData: {
                                    id: i.id,
                                    itemId: r.id,
                                    type: r.type,
                                    hash: r.hash,
                                    rev: i.rev
                                }
                            });
                        case 4:
                        case "end":
                            return e.stop()
                        }
                }, e, t)
            }))()
        },
        uploadWorkspaceData: function(e) {
            var t = this
              , n = e.token
              , r = e.item
              , i = e.syncData;
            return p()(c.a.mark(function e() {
                var o;
                return c.a.wrap(function(e) {
                    for (; ; )
                        switch (e.prev = e.next) {
                        case 0:
                            return e.next = 2,
                            v.a.uploadDocument({
                                token: n,
                                item: {
                                    id: r.id,
                                    type: r.type,
                                    hash: r.hash
                                },
                                data: a()(r),
                                dataType: "application/json",
                                documentId: i && i.id,
                                rev: i && i.rev
                            });
                        case 2:
                            return o = e.sent,
                            e.abrupt("return", {
                                syncData: {
                                    id: o.id,
                                    itemId: r.id,
                                    type: r.type,
                                    hash: r.hash,
                                    rev: o.rev
                                }
                            });
                        case 4:
                        case "end":
                            return e.stop()
                        }
                }, e, t)
            }))()
        },
        listFileRevisions: function(e) {
            var t = this
              , n = e.token
              , r = e.contentSyncDataId;
            return p()(c.a.mark(function e() {
                var a, i;
                return c.a.wrap(function(e) {
                    for (; ; )
                        switch (e.prev = e.next) {
                        case 0:
                            return e.next = 2,
                            v.a.retrieveDocumentWithRevisions(n, r);
                        case 2:
                            return a = e.sent,
                            i = [],
                            a._revs_info.forEach(function(e, t) {
                                "available" === e.status && i.push({
                                    id: e.rev,
                                    sub: null,
                                    created: t,
                                    loaded: !1
                                })
                            }),
                            e.abrupt("return", i);
                        case 6:
                        case "end":
                            return e.stop()
                        }
                }, e, t)
            }))()
        },
        loadFileRevision: function(e) {
            var t = this
              , n = e.token
              , r = e.contentSyncDataId
              , a = e.revision;
            return p()(c.a.mark(function e() {
                var i;
                return c.a.wrap(function(e) {
                    for (; ; )
                        switch (e.prev = e.next) {
                        case 0:
                            if (!a.loaded) {
                                e.next = 2;
                                break
                            }
                            return e.abrupt("return", !1);
                        case 2:
                            return e.next = 4,
                            v.a.retrieveDocument(n, r, a.id);
                        case 4:
                            return i = e.sent,
                            a.sub = i.sub,
                            a.created = i.time,
                            a.loaded = !0,
                            e.abrupt("return", !0);
                        case 9:
                        case "end":
                            return e.stop()
                        }
                }, e, t)
            }))()
        },
        getFileRevisionContent: function(e) {
            var t = this
              , n = e.token
              , r = e.contentSyncDataId
              , a = e.revisionId;
            return p()(c.a.mark(function e() {
                var i;
                return c.a.wrap(function(e) {
                    for (; ; )
                        switch (e.prev = e.next) {
                        case 0:
                            return e.next = 2,
                            v.a.retrieveDocumentWithAttachments(n, r, a);
                        case 2:
                            return i = e.sent,
                            e.abrupt("return", m.a.parseContent(i.attachments.data, i.item.id));
                        case 4:
                        case "end":
                            return e.stop()
                        }
                }, e, t)
            }))()
        }
    })
}
, function(e, t, n) {
    "use strict";
    var r = n(46)
      , a = n.n(r)
      , i = n(6)
      , o = n.n(i)
      , s = n(39)
      , c = n.n(s)
      , u = n(3)
      , l = n.n(u)
      , d = n(5)
      , p = n.n(d)
      , f = n(2)
      , v = n(145)
      , m = n(38)
      , h = n(4)
      , g = n(45)
      , b = n(408)
      , _ = n(12)
      , w = function(e) {
        var t = e.id;
        return "" + (f.a.getters["workspace/currentWorkspace"].path || "") + t
    };
    new m.a({
        id: "githubWorkspace",
        name: "GitHub",
        getToken: function() {
            return f.a.getters["workspace/syncToken"]
        },
        getWorkspaceParams: function(e) {
            var t = e.owner
              , n = e.repo
              , r = e.branch
              , a = e.path;
            return {
                providerId: this.id,
                owner: t,
                repo: n,
                branch: r,
                path: a
            }
        },
        getWorkspaceLocationUrl: function(e) {
            var t = e.owner
              , n = e.repo
              , r = e.branch
              , a = e.path;
            return "https://github.com/" + encodeURIComponent(t) + "/" + encodeURIComponent(n) + "/tree/" + encodeURIComponent(r) + "/" + h.a.encodeUrlPath(a)
        },
        getSyncDataUrl: function(e) {
            var t = e.id
              , n = f.a.getters["workspace/currentWorkspace"]
              , r = n.owner
              , a = n.repo
              , i = n.branch;
            return "https://github.com/" + encodeURIComponent(r) + "/" + encodeURIComponent(a) + "/tree/" + encodeURIComponent(i) + "/" + h.a.encodeUrlPath(w({
                id: t
            }))
        },
        getSyncDataDescription: function(e) {
            var t = e.id;
            return w({
                id: t
            })
        },
        initWorkspace: function() {
            var e = this;
            return p()(o.a.mark(function t() {
                var n, r, a, i, s, u, d, p, m, g, b;
                return o.a.wrap(function(t) {
                    for (; ; )
                        switch (t.prev = t.next) {
                        case 0:
                            if (n = h.a.queryParams,
                            r = n.owner,
                            a = n.repo,
                            i = n.branch,
                            s = e.getWorkspaceParams({
                                owner: r,
                                repo: a,
                                branch: i
                            }),
                            i || (s.branch = "master"),
                            u = (h.a.queryParams.path || "").trim().replace(/^\/*/, "").replace(/\/*$/, "/"),
                            "/" !== u && (s.path = u),
                            d = h.a.makeWorkspaceId(s),
                            p = f.a.getters["workspace/workspacesById"][d],
                            m = void 0,
                            p && (m = f.a.getters["data/githubTokensBySub"][p.sub]),
                            m) {
                                t.next = 15;
                                break
                            }
                            return t.next = 12,
                            f.a.dispatch("modal/open", {
                                type: "githubAccount"
                            });
                        case 12:
                            return t.next = 14,
                            v.a.addAccount(f.a.getters["data/localSettings"].githubRepoFullAccess);
                        case 14:
                            m = t.sent;
                        case 15:
                            return p || (g = (u || "").split("/"),
                            b = g[g.length - 2] || a,
                            f.a.dispatch("workspace/patchWorkspacesById", c()({}, d, l()({}, s, {
                                id: d,
                                sub: m.sub,
                                name: b
                            })))),
                            _.a.addBadge("addGithubWorkspace"),
                            t.abrupt("return", f.a.getters["workspace/workspacesById"][d]);
                        case 18:
                        case "end":
                            return t.stop()
                        }
                }, t, e)
            }))()
        },
        getChanges: function() {
            return v.a.getTree(l()({}, f.a.getters["workspace/currentWorkspace"], {
                token: this.getToken()
            }))
        },
        prepareChanges: function(e) {
            return b.a.makeChanges(e)
        },
        saveWorkspaceItem: function(e) {
            var t = this
              , n = e.item;
            return p()(o.a.mark(function e() {
                var r, a;
                return o.a.wrap(function(e) {
                    for (; ; )
                        switch (e.prev = e.next) {
                        case 0:
                            if (r = {
                                id: f.a.getters.gitPathsByItemId[n.id],
                                type: n.type,
                                hash: n.hash
                            },
                            "file" !== n.type && "folder" !== n.type) {
                                e.next = 3;
                                break
                            }
                            return e.abrupt("return", {
                                syncData: r
                            });
                        case 3:
                            return a = f.a.getters["workspace/syncToken"],
                            e.next = 6,
                            v.a.uploadFile(l()({}, f.a.getters["workspace/currentWorkspace"], {
                                token: a,
                                path: w(r),
                                content: "",
                                sha: b.a.shaByPath[r.id]
                            }));
                        case 6:
                            return e.abrupt("return", {
                                syncData: r
                            });
                        case 7:
                        case "end":
                            return e.stop()
                        }
                }, e, t)
            }))()
        },
        removeWorkspaceItem: function(e) {
            var t = this
              , n = e.syncData;
            return p()(o.a.mark(function e() {
                var r;
                return o.a.wrap(function(e) {
                    for (; ; )
                        switch (e.prev = e.next) {
                        case 0:
                            if (!b.a.shaByPath[n.id]) {
                                e.next = 4;
                                break
                            }
                            return r = f.a.getters["workspace/syncToken"],
                            e.next = 4,
                            v.a.removeFile(l()({}, f.a.getters["workspace/currentWorkspace"], {
                                token: r,
                                path: w(n),
                                sha: b.a.shaByPath[n.id]
                            }));
                        case 4:
                        case "end":
                            return e.stop()
                        }
                }, e, t)
            }))()
        },
        downloadWorkspaceContent: function(e) {
            var t = this
              , n = e.token
              , r = e.contentId
              , a = e.contentSyncData
              , i = e.fileSyncData;
            return p()(o.a.mark(function e() {
                var s, c, u, d;
                return o.a.wrap(function(e) {
                    for (; ; )
                        switch (e.prev = e.next) {
                        case 0:
                            return e.next = 2,
                            v.a.downloadFile(l()({}, f.a.getters["workspace/currentWorkspace"], {
                                token: n,
                                path: w(i)
                            }));
                        case 2:
                            return s = e.sent,
                            c = s.sha,
                            u = s.data,
                            b.a.shaByPath[i.id] = c,
                            d = m.a.parseContent(u, r),
                            e.abrupt("return", {
                                content: d,
                                contentSyncData: l()({}, a, {
                                    hash: d.hash,
                                    sha: c
                                })
                            });
                        case 8:
                        case "end":
                            return e.stop()
                        }
                }, e, t)
            }))()
        },
        downloadWorkspaceData: function(e) {
            var t = this
              , n = e.token
              , r = e.syncData;
            return p()(o.a.mark(function e() {
                var a, i, s, c;
                return o.a.wrap(function(e) {
                    for (; ; )
                        switch (e.prev = e.next) {
                        case 0:
                            if (r) {
                                e.next = 2;
                                break
                            }
                            return e.abrupt("return", {});
                        case 2:
                            return e.next = 4,
                            v.a.downloadFile(l()({}, f.a.getters["workspace/currentWorkspace"], {
                                token: n,
                                path: w(r)
                            }));
                        case 4:
                            return a = e.sent,
                            i = a.sha,
                            s = a.data,
                            b.a.shaByPath[r.id] = i,
                            c = JSON.parse(s),
                            e.abrupt("return", {
                                item: c,
                                syncData: l()({}, r, {
                                    hash: c.hash,
                                    sha: i
                                })
                            });
                        case 10:
                        case "end":
                            return e.stop()
                        }
                }, e, t)
            }))()
        },
        uploadWorkspaceContent: function(e) {
            var t = this
              , n = e.token
              , r = e.content
              , a = e.file;
            return p()(o.a.mark(function e() {
                var i, s, c;
                return o.a.wrap(function(e) {
                    for (; ; )
                        switch (e.prev = e.next) {
                        case 0:
                            return i = f.a.getters.gitPathsByItemId[a.id],
                            s = "" + (f.a.getters["workspace/currentWorkspace"].path || "") + i,
                            e.next = 4,
                            v.a.uploadFile(l()({}, f.a.getters["workspace/currentWorkspace"], {
                                token: n,
                                path: s,
                                content: m.a.serializeContent(r),
                                sha: b.a.shaByPath[i]
                            }));
                        case 4:
                            return c = e.sent,
                            e.abrupt("return", {
                                contentSyncData: {
                                    id: f.a.getters.gitPathsByItemId[r.id],
                                    type: r.type,
                                    hash: r.hash,
                                    sha: c.content.sha
                                },
                                fileSyncData: {
                                    id: i,
                                    type: "file",
                                    hash: a.hash
                                }
                            });
                        case 6:
                        case "end":
                            return e.stop()
                        }
                }, e, t)
            }))()
        },
        uploadWorkspaceData: function(e) {
            var t = this
              , n = e.token
              , r = e.item;
            return p()(o.a.mark(function e() {
                var i, s, c;
                return o.a.wrap(function(e) {
                    for (; ; )
                        switch (e.prev = e.next) {
                        case 0:
                            return i = f.a.getters.gitPathsByItemId[r.id],
                            s = {
                                id: i,
                                type: r.type,
                                hash: r.hash
                            },
                            e.next = 4,
                            v.a.uploadFile(l()({}, f.a.getters["workspace/currentWorkspace"], {
                                token: n,
                                path: w(s),
                                content: a()(r),
                                sha: b.a.shaByPath[i]
                            }));
                        case 4:
                            return c = e.sent,
                            e.abrupt("return", {
                                syncData: l()({}, s, {
                                    sha: c.content.sha
                                })
                            });
                        case 6:
                        case "end":
                            return e.stop()
                        }
                }, e, t)
            }))()
        },
        listFileRevisions: function(e) {
            var t = this
              , n = e.token
              , r = e.fileSyncDataId;
            return p()(o.a.mark(function e() {
                var a, i, s, c, u;
                return o.a.wrap(function(e) {
                    for (; ; )
                        switch (e.prev = e.next) {
                        case 0:
                            return a = f.a.getters["workspace/currentWorkspace"],
                            i = a.owner,
                            s = a.repo,
                            c = a.branch,
                            e.next = 3,
                            v.a.getCommits({
                                token: n,
                                owner: i,
                                repo: s,
                                sha: c,
                                path: w({
                                    id: r
                                })
                            });
                        case 3:
                            return u = e.sent,
                            e.abrupt("return", u.map(function(e) {
                                var t = e.author
                                  , n = e.committer
                                  , r = e.commit
                                  , a = e.sha
                                  , i = void 0;
                                t && t.login ? i = t : n && n.login && (i = n);
                                var o = v.a.subPrefix + ":" + i.id;
                                g.a.addUserInfo({
                                    id: o,
                                    name: i.login,
                                    imageUrl: i.avatar_url
                                });
                                var s = r.author && r.author.date || r.committer && r.committer.date || 1;
                                return {
                                    id: a,
                                    sub: o,
                                    created: new Date(s).getTime()
                                }
                            }));
                        case 5:
                        case "end":
                            return e.stop()
                        }
                }, e, t)
            }))()
        },
        loadFileRevision: function() {
            var e = this;
            return p()(o.a.mark(function t() {
                return o.a.wrap(function(e) {
                    for (; ; )
                        switch (e.prev = e.next) {
                        case 0:
                            return e.abrupt("return", !1);
                        case 1:
                        case "end":
                            return e.stop()
                        }
                }, t, e)
            }))()
        },
        getFileRevisionContent: function(e) {
            var t = this
              , n = e.token
              , r = e.contentId
              , a = e.fileSyncDataId
              , i = e.revisionId;
            return p()(o.a.mark(function e() {
                var s, c;
                return o.a.wrap(function(e) {
                    for (; ; )
                        switch (e.prev = e.next) {
                        case 0:
                            return e.next = 2,
                            v.a.downloadFile(l()({}, f.a.getters["workspace/currentWorkspace"], {
                                token: n,
                                branch: i,
                                path: w({
                                    id: a
                                })
                            }));
                        case 2:
                            return s = e.sent,
                            c = s.data,
                            e.abrupt("return", m.a.parseContent(c, r));
                        case 5:
                        case "end":
                            return e.stop()
                        }
                }, e, t)
            }))()
        }
    })
}
, function(e, t, n) {
    "use strict";
    var r = n(46)
      , a = n.n(r)
      , i = n(6)
      , o = n.n(i)
      , s = n(39)
      , c = n.n(s)
      , u = n(3)
      , l = n.n(u)
      , d = n(5)
      , p = n.n(d)
      , f = n(2)
      , v = n(146)
      , m = n(38)
      , h = n(4)
      , g = n(45)
      , b = n(408)
      , _ = n(12)
      , w = function(e) {
        var t = e.id;
        return "" + (f.a.getters["workspace/currentWorkspace"].path || "") + t
    };
    new m.a({
        id: "gitlabWorkspace",
        name: "GitLab",
        getToken: function() {
            return f.a.getters["workspace/syncToken"]
        },
        getWorkspaceParams: function(e) {
            var t = e.serverUrl
              , n = e.projectPath
              , r = e.branch
              , a = e.path;
            return {
                providerId: this.id,
                serverUrl: t,
                projectPath: n,
                branch: r,
                path: a
            }
        },
        getWorkspaceLocationUrl: function(e) {
            var t = e.serverUrl
              , n = e.projectPath
              , r = e.branch
              , a = e.path;
            return t + "/" + n + "/blob/" + encodeURIComponent(r) + "/" + h.a.encodeUrlPath(a)
        },
        getSyncDataUrl: function(e) {
            var t = e.id
              , n = f.a.getters["workspace/currentWorkspace"]
              , r = n.projectPath
              , a = n.branch;
            return this.getToken().serverUrl + "/" + r + "/blob/" + encodeURIComponent(a) + "/" + h.a.encodeUrlPath(w({
                id: t
            }))
        },
        getSyncDataDescription: function(e) {
            var t = e.id;
            return w({
                id: t
            })
        },
        initWorkspace: function() {
            var e = this;
            return p()(o.a.mark(function t() {
                var n, r, a, i, s, u, d, p, m, g, b, w, y, k, x, C;
                return o.a.wrap(function(t) {
                    for (; ; )
                        switch (t.prev = t.next) {
                        case 0:
                            if (n = h.a.queryParams,
                            r = n.serverUrl,
                            a = n.branch,
                            i = e.getWorkspaceParams({
                                serverUrl: r,
                                branch: a
                            }),
                            a || (i.branch = "master"),
                            s = (h.a.queryParams.projectPath || "").trim().replace(/^\/*/, "").replace(/\/*$/, ""),
                            i.projectPath = s,
                            u = (h.a.queryParams.path || "").trim().replace(/^\/*/, "").replace(/\/*$/, "/"),
                            "/" !== u && (i.path = u),
                            d = h.a.makeWorkspaceId(i),
                            p = f.a.getters["workspace/workspacesById"][d],
                            m = p ? p.sub : h.a.queryParams.sub,
                            g = f.a.getters["data/gitlabTokensBySub"][m]) {
                                t.next = 19;
                                break
                            }
                            return t.next = 14,
                            f.a.dispatch("modal/open", {
                                type: "gitlabAccount",
                                forceServerUrl: r
                            });
                        case 14:
                            return b = t.sent,
                            w = b.applicationId,
                            t.next = 18,
                            v.a.addAccount(r, w, m);
                        case 18:
                            g = t.sent;
                        case 19:
                            if (p) {
                                t.next = 27;
                                break
                            }
                            return t.next = 22,
                            v.a.getProjectId(g, i);
                        case 22:
                            y = t.sent,
                            k = (u || "").split("/"),
                            x = (s || "").split("/"),
                            C = k[k.length - 2] || x[x.length - 1],
                            f.a.dispatch("workspace/patchWorkspacesById", c()({}, d, l()({}, i, {
                                projectId: y,
                                id: d,
                                sub: g.sub,
                                name: C
                            })));
                        case 27:
                            return _.a.addBadge("addGitlabWorkspace"),
                            t.abrupt("return", f.a.getters["workspace/workspacesById"][d]);
                        case 29:
                        case "end":
                            return t.stop()
                        }
                }, t, e)
            }))()
        },
        getChanges: function() {
            return v.a.getTree(l()({}, f.a.getters["workspace/currentWorkspace"], {
                token: this.getToken()
            }))
        },
        prepareChanges: function(e) {
            return b.a.makeChanges(e.map(function(e) {
                return l()({}, e, {
                    sha: e.id
                })
            }))
        },
        saveWorkspaceItem: function(e) {
            var t = this
              , n = e.item;
            return p()(o.a.mark(function e() {
                var r, a;
                return o.a.wrap(function(e) {
                    for (; ; )
                        switch (e.prev = e.next) {
                        case 0:
                            if (r = {
                                id: f.a.getters.gitPathsByItemId[n.id],
                                type: n.type,
                                hash: n.hash
                            },
                            "file" !== n.type && "folder" !== n.type) {
                                e.next = 3;
                                break
                            }
                            return e.abrupt("return", {
                                syncData: r
                            });
                        case 3:
                            return a = f.a.getters["workspace/syncToken"],
                            e.next = 6,
                            v.a.uploadFile(l()({}, f.a.getters["workspace/currentWorkspace"], {
                                token: a,
                                path: w(r),
                                content: "",
                                sha: b.a.shaByPath[r.id]
                            }));
                        case 6:
                            return e.abrupt("return", {
                                syncData: r
                            });
                        case 7:
                        case "end":
                            return e.stop()
                        }
                }, e, t)
            }))()
        },
        removeWorkspaceItem: function(e) {
            var t = this
              , n = e.syncData;
            return p()(o.a.mark(function e() {
                var r;
                return o.a.wrap(function(e) {
                    for (; ; )
                        switch (e.prev = e.next) {
                        case 0:
                            if (!b.a.shaByPath[n.id]) {
                                e.next = 4;
                                break
                            }
                            return r = f.a.getters["workspace/syncToken"],
                            e.next = 4,
                            v.a.removeFile(l()({}, f.a.getters["workspace/currentWorkspace"], {
                                token: r,
                                path: w(n),
                                sha: b.a.shaByPath[n.id]
                            }));
                        case 4:
                        case "end":
                            return e.stop()
                        }
                }, e, t)
            }))()
        },
        downloadWorkspaceContent: function(e) {
            var t = this
              , n = e.token
              , r = e.contentId
              , a = e.contentSyncData
              , i = e.fileSyncData;
            return p()(o.a.mark(function e() {
                var s, c, u, d;
                return o.a.wrap(function(e) {
                    for (; ; )
                        switch (e.prev = e.next) {
                        case 0:
                            return e.next = 2,
                            v.a.downloadFile(l()({}, f.a.getters["workspace/currentWorkspace"], {
                                token: n,
                                path: w(i)
                            }));
                        case 2:
                            return s = e.sent,
                            c = s.sha,
                            u = s.data,
                            b.a.shaByPath[i.id] = c,
                            d = m.a.parseContent(u, r),
                            e.abrupt("return", {
                                content: d,
                                contentSyncData: l()({}, a, {
                                    hash: d.hash,
                                    sha: c
                                })
                            });
                        case 8:
                        case "end":
                            return e.stop()
                        }
                }, e, t)
            }))()
        },
        downloadWorkspaceData: function(e) {
            var t = this
              , n = e.token
              , r = e.syncData;
            return p()(o.a.mark(function e() {
                var a, i, s, c;
                return o.a.wrap(function(e) {
                    for (; ; )
                        switch (e.prev = e.next) {
                        case 0:
                            if (r) {
                                e.next = 2;
                                break
                            }
                            return e.abrupt("return", {});
                        case 2:
                            return e.next = 4,
                            v.a.downloadFile(l()({}, f.a.getters["workspace/currentWorkspace"], {
                                token: n,
                                path: w(r)
                            }));
                        case 4:
                            return a = e.sent,
                            i = a.sha,
                            s = a.data,
                            b.a.shaByPath[r.id] = i,
                            c = JSON.parse(s),
                            e.abrupt("return", {
                                item: c,
                                syncData: l()({}, r, {
                                    hash: c.hash,
                                    sha: i
                                })
                            });
                        case 10:
                        case "end":
                            return e.stop()
                        }
                }, e, t)
            }))()
        },
        uploadWorkspaceContent: function(e) {
            var t = this
              , n = e.token
              , r = e.content
              , a = e.file;
            return p()(o.a.mark(function e() {
                var i, s, c;
                return o.a.wrap(function(e) {
                    for (; ; )
                        switch (e.prev = e.next) {
                        case 0:
                            return i = f.a.getters.gitPathsByItemId[a.id],
                            s = "" + (f.a.getters["workspace/currentWorkspace"].path || "") + i,
                            c = b.a.shaByPath[i],
                            e.next = 5,
                            v.a.uploadFile(l()({}, f.a.getters["workspace/currentWorkspace"], {
                                token: n,
                                path: s,
                                content: m.a.serializeContent(r),
                                sha: c
                            }));
                        case 5:
                            return e.abrupt("return", {
                                contentSyncData: {
                                    id: f.a.getters.gitPathsByItemId[r.id],
                                    type: r.type,
                                    hash: r.hash,
                                    sha: c
                                },
                                fileSyncData: {
                                    id: i,
                                    type: "file",
                                    hash: a.hash
                                }
                            });
                        case 6:
                        case "end":
                            return e.stop()
                        }
                }, e, t)
            }))()
        },
        uploadWorkspaceData: function(e) {
            var t = this
              , n = e.token
              , r = e.item;
            return p()(o.a.mark(function e() {
                var i, s, c;
                return o.a.wrap(function(e) {
                    for (; ; )
                        switch (e.prev = e.next) {
                        case 0:
                            return i = f.a.getters.gitPathsByItemId[r.id],
                            s = {
                                id: i,
                                type: r.type,
                                hash: r.hash
                            },
                            e.next = 4,
                            v.a.uploadFile(l()({}, f.a.getters["workspace/currentWorkspace"], {
                                token: n,
                                path: w(s),
                                content: a()(r),
                                sha: b.a.shaByPath[i]
                            }));
                        case 4:
                            return c = e.sent,
                            e.abrupt("return", {
                                syncData: l()({}, s, {
                                    sha: c.content.sha
                                })
                            });
                        case 6:
                        case "end":
                            return e.stop()
                        }
                }, e, t)
            }))()
        },
        listFileRevisions: function(e) {
            var t = this
              , n = e.token
              , r = e.fileSyncDataId;
            return p()(o.a.mark(function e() {
                var a, i, s, c;
                return o.a.wrap(function(e) {
                    for (; ; )
                        switch (e.prev = e.next) {
                        case 0:
                            return a = f.a.getters["workspace/currentWorkspace"],
                            i = a.projectId,
                            s = a.branch,
                            e.next = 3,
                            v.a.getCommits({
                                token: n,
                                projectId: i,
                                sha: s,
                                path: w({
                                    id: r
                                })
                            });
                        case 3:
                            return c = e.sent,
                            e.abrupt("return", c.map(function(e) {
                                var t = e.author_email || e.committer_email
                                  , r = v.a.subPrefix + ":" + n.serverUrl + "/" + t;
                                g.a.addUserInfo({
                                    id: r,
                                    name: e.author_name || e.committer_name,
                                    imageUrl: ""
                                });
                                var a = e.authored_date || e.committed_date || 1;
                                return {
                                    id: e.id,
                                    sub: r,
                                    created: a ? new Date(a).getTime() : 1
                                }
                            }));
                        case 5:
                        case "end":
                            return e.stop()
                        }
                }, e, t)
            }))()
        },
        loadFileRevision: function() {
            var e = this;
            return p()(o.a.mark(function t() {
                return o.a.wrap(function(e) {
                    for (; ; )
                        switch (e.prev = e.next) {
                        case 0:
                            return e.abrupt("return", !1);
                        case 1:
                        case "end":
                            return e.stop()
                        }
                }, t, e)
            }))()
        },
        getFileRevisionContent: function(e) {
            var t = this
              , n = e.token
              , r = e.contentId
              , a = e.fileSyncDataId
              , i = e.revisionId;
            return p()(o.a.mark(function e() {
                var s, c;
                return o.a.wrap(function(e) {
                    for (; ; )
                        switch (e.prev = e.next) {
                        case 0:
                            return e.next = 2,
                            v.a.downloadFile(l()({}, f.a.getters["workspace/currentWorkspace"], {
                                token: n,
                                branch: i,
                                path: w({
                                    id: a
                                })
                            }));
                        case 2:
                            return s = e.sent,
                            c = s.data,
                            e.abrupt("return", m.a.parseContent(c, r));
                        case 5:
                        case "end":
                            return e.stop()
                        }
                }, e, t)
            }))()
        }
    })
}
, function(e, t, n) {
    "use strict";
    var r = n(3)
      , a = n.n(r)
      , i = n(46)
      , o = n.n(i)
      , s = n(6)
      , c = n.n(s)
      , u = n(5)
      , l = n.n(u)
      , d = n(2)
      , p = n(30)
      , f = n(38)
      , v = n(4)
      , m = void 0;
    t.a = new f.a({
        id: "googleDriveAppData",
        name: "Google Drive app data",
        getToken: function() {
            return d.a.getters["workspace/syncToken"]
        },
        getWorkspaceParams: function() {
            return {}
        },
        getWorkspaceLocationUrl: function() {
            return null
        },
        getSyncDataUrl: function() {
            return null
        },
        getSyncDataDescription: function(e) {
            return e.id
        },
        initWorkspace: function() {
            var e = this;
            return l()(c.a.mark(function t() {
                return c.a.wrap(function(e) {
                    for (; ; )
                        switch (e.prev = e.next) {
                        case 0:
                            return e.abrupt("return", d.a.getters["workspace/workspacesById"].main);
                        case 1:
                        case "end":
                            return e.stop()
                        }
                }, t, e)
            }))()
        },
        getChanges: function() {
            var e = this;
            return l()(c.a.mark(function t() {
                var n, r, a, i;
                return c.a.wrap(function(e) {
                    for (; ; )
                        switch (e.prev = e.next) {
                        case 0:
                            return n = d.a.getters["workspace/syncToken"],
                            r = d.a.getters["data/localSettings"].syncStartPageToken,
                            e.next = 4,
                            p.a.getChanges(n, r, !0);
                        case 4:
                            return a = e.sent,
                            i = a.changes.filter(function(e) {
                                if (e.file) {
                                    try {
                                        e.item = JSON.parse(e.file.name)
                                    } catch (e) {
                                        return !1
                                    }
                                    e.syncData = {
                                        id: e.fileId,
                                        itemId: e.item.id,
                                        type: e.item.type,
                                        hash: e.item.hash
                                    }
                                }
                                return e.syncDataId = e.fileId,
                                !0
                            }),
                            m = a.startPageToken,
                            e.abrupt("return", i);
                        case 8:
                        case "end":
                            return e.stop()
                        }
                }, t, e)
            }))()
        },
        onChangesApplied: function() {
            d.a.dispatch("data/patchLocalSettings", {
                syncStartPageToken: m
            })
        },
        saveWorkspaceItem: function(e) {
            var t = this
              , n = e.item
              , r = e.syncData
              , a = e.ifNotTooLate;
            return l()(c.a.mark(function e() {
                var i, s;
                return c.a.wrap(function(e) {
                    for (; ; )
                        switch (e.prev = e.next) {
                        case 0:
                            return i = d.a.getters["workspace/syncToken"],
                            e.next = 3,
                            p.a.uploadAppDataFile({
                                token: i,
                                name: o()(n),
                                fileId: r && r.id,
                                ifNotTooLate: a
                            });
                        case 3:
                            return s = e.sent,
                            e.abrupt("return", {
                                syncData: {
                                    id: s.id,
                                    itemId: n.id,
                                    type: n.type,
                                    hash: n.hash
                                }
                            });
                        case 5:
                        case "end":
                            return e.stop()
                        }
                }, e, t)
            }))()
        },
        removeWorkspaceItem: function(e) {
            var t = e.syncData
              , n = e.ifNotTooLate
              , r = d.a.getters["workspace/syncToken"];
            return p.a.removeAppDataFile(r, t.id, n)
        },
        downloadWorkspaceContent: function(e) {
            var t = this
              , n = e.token
              , r = e.contentSyncData;
            return l()(c.a.mark(function e() {
                var i, o;
                return c.a.wrap(function(e) {
                    for (; ; )
                        switch (e.prev = e.next) {
                        case 0:
                            return e.next = 2,
                            p.a.downloadAppDataFile(n, r.id);
                        case 2:
                            return i = e.sent,
                            o = v.a.addItemHash(JSON.parse(i)),
                            e.abrupt("return", {
                                content: o,
                                contentSyncData: a()({}, r, {
                                    hash: o.hash
                                })
                            });
                        case 5:
                        case "end":
                            return e.stop()
                        }
                }, e, t)
            }))()
        },
        downloadWorkspaceData: function(e) {
            var t = this
              , n = e.token
              , r = e.syncData;
            return l()(c.a.mark(function e() {
                var i, o;
                return c.a.wrap(function(e) {
                    for (; ; )
                        switch (e.prev = e.next) {
                        case 0:
                            if (r) {
                                e.next = 2;
                                break
                            }
                            return e.abrupt("return", {});
                        case 2:
                            return e.next = 4,
                            p.a.downloadAppDataFile(n, r.id);
                        case 4:
                            return i = e.sent,
                            o = v.a.addItemHash(JSON.parse(i)),
                            e.abrupt("return", {
                                item: o,
                                syncData: a()({}, r, {
                                    hash: o.hash
                                })
                            });
                        case 7:
                        case "end":
                            return e.stop()
                        }
                }, e, t)
            }))()
        },
        uploadWorkspaceContent: function(e) {
            var t = this
              , n = e.token
              , r = e.content
              , a = e.contentSyncData
              , i = e.ifNotTooLate;
            return l()(c.a.mark(function e() {
                var s;
                return c.a.wrap(function(e) {
                    for (; ; )
                        switch (e.prev = e.next) {
                        case 0:
                            return e.next = 2,
                            p.a.uploadAppDataFile({
                                token: n,
                                name: o()({
                                    id: r.id,
                                    type: r.type,
                                    hash: r.hash
                                }),
                                media: o()(r),
                                fileId: a && a.id,
                                ifNotTooLate: i
                            });
                        case 2:
                            return s = e.sent,
                            e.abrupt("return", {
                                contentSyncData: {
                                    id: s.id,
                                    itemId: r.id,
                                    type: r.type,
                                    hash: r.hash
                                }
                            });
                        case 4:
                        case "end":
                            return e.stop()
                        }
                }, e, t)
            }))()
        },
        uploadWorkspaceData: function(e) {
            var t = this
              , n = e.token
              , r = e.item
              , a = e.syncData
              , i = e.ifNotTooLate;
            return l()(c.a.mark(function e() {
                var s;
                return c.a.wrap(function(e) {
                    for (; ; )
                        switch (e.prev = e.next) {
                        case 0:
                            return e.next = 2,
                            p.a.uploadAppDataFile({
                                token: n,
                                name: o()({
                                    id: r.id,
                                    type: r.type,
                                    hash: r.hash
                                }),
                                media: o()(r),
                                fileId: a && a.id,
                                ifNotTooLate: i
                            });
                        case 2:
                            return s = e.sent,
                            e.abrupt("return", {
                                syncData: {
                                    id: s.id,
                                    itemId: r.id,
                                    type: r.type,
                                    hash: r.hash
                                }
                            });
                        case 4:
                        case "end":
                            return e.stop()
                        }
                }, e, t)
            }))()
        },
        listFileRevisions: function(e) {
            var t = this
              , n = e.token
              , r = e.contentSyncDataId;
            return l()(c.a.mark(function e() {
                var a;
                return c.a.wrap(function(e) {
                    for (; ; )
                        switch (e.prev = e.next) {
                        case 0:
                            return e.next = 2,
                            p.a.getAppDataFileRevisions(n, r);
                        case 2:
                            return a = e.sent,
                            e.abrupt("return", a.map(function(e) {
                                return {
                                    id: e.id,
                                    sub: p.a.subPrefix + ":" + e.lastModifyingUser.permissionId,
                                    created: new Date(e.modifiedTime).getTime()
                                }
                            }));
                        case 4:
                        case "end":
                            return e.stop()
                        }
                }, e, t)
            }))()
        },
        loadFileRevision: function() {
            var e = this;
            return l()(c.a.mark(function t() {
                return c.a.wrap(function(e) {
                    for (; ; )
                        switch (e.prev = e.next) {
                        case 0:
                            return e.abrupt("return", !1);
                        case 1:
                        case "end":
                            return e.stop()
                        }
                }, t, e)
            }))()
        },
        getFileRevisionContent: function(e) {
            var t = this
              , n = e.token
              , r = e.contentSyncDataId
              , a = e.revisionId;
            return l()(c.a.mark(function e() {
                var i;
                return c.a.wrap(function(e) {
                    for (; ; )
                        switch (e.prev = e.next) {
                        case 0:
                            return e.next = 2,
                            p.a.downloadAppDataFileRevision(n, r, a);
                        case 2:
                            return i = e.sent,
                            e.abrupt("return", JSON.parse(i));
                        case 4:
                        case "end":
                            return e.stop()
                        }
                }, e, t)
            }))()
        }
    })
}
, function(e, t, n) {
    "use strict";
    var r = n(46)
      , a = n.n(r)
      , i = n(15)
      , o = n.n(i)
      , s = n(19)
      , c = n.n(s)
      , u = n(3)
      , l = n.n(u)
      , d = n(6)
      , p = n.n(d)
      , f = n(39)
      , v = n.n(f)
      , m = n(5)
      , h = n.n(m)
      , g = n(2)
      , b = n(30)
      , _ = n(38)
      , w = n(4)
      , y = n(36)
      , k = n(12)
      , x = void 0
      , C = void 0;
    new _.a({
        id: "googleDriveWorkspace",
        name: "Google Drive",
        getToken: function() {
            return g.a.getters["workspace/syncToken"]
        },
        getWorkspaceParams: function(e) {
            var t = e.folderId;
            return {
                providerId: this.id,
                folderId: t
            }
        },
        getWorkspaceLocationUrl: function(e) {
            return "https://docs.google.com/folder/d/" + e.folderId
        },
        getSyncDataUrl: function(e) {
            return "https://docs.google.com/file/d/" + e.id + "/edit"
        },
        getSyncDataDescription: function(e) {
            return e.id
        },
        initWorkspace: function() {
            var e = this;
            return h()(p.a.mark(function t() {
                var n, r, a, i, o, s, c, u, d, f;
                return p.a.wrap(function(t) {
                    for (; ; )
                        switch (t.prev = t.next) {
                        case 0:
                            if (n = function(t) {
                                return t && w.a.makeWorkspaceId(e.getWorkspaceParams({
                                    folderId: t
                                }))
                            }
                            ,
                            r = function(e) {
                                return g.a.getters["workspace/workspacesById"][n(e)]
                            }
                            ,
                            a = function() {
                                var t = h()(p.a.mark(function t(r, a) {
                                    var i, o, s, c;
                                    return p.a.wrap(function(t) {
                                        for (; ; )
                                            switch (t.prev = t.next) {
                                            case 0:
                                                if (i = {
                                                    folderId: a.id,
                                                    dataFolderId: a.appProperties.dataFolderId,
                                                    trashFolderId: a.appProperties.trashFolderId
                                                },
                                                i.dataFolderId) {
                                                    t.next = 6;
                                                    break
                                                }
                                                return t.next = 4,
                                                b.a.uploadFile({
                                                    token: r,
                                                    name: ".stackedit-data",
                                                    parents: [a.id],
                                                    appProperties: {
                                                        folderId: a.id
                                                    },
                                                    mediaType: b.a.folderMimeType
                                                });
                                            case 4:
                                                o = t.sent,
                                                i.dataFolderId = o.id;
                                            case 6:
                                                if (i.trashFolderId) {
                                                    t.next = 11;
                                                    break
                                                }
                                                return t.next = 9,
                                                b.a.uploadFile({
                                                    token: r,
                                                    name: ".stackedit-trash",
                                                    parents: [a.id],
                                                    appProperties: {
                                                        folderId: a.id
                                                    },
                                                    mediaType: b.a.folderMimeType
                                                });
                                            case 9:
                                                s = t.sent,
                                                i.trashFolderId = s.id;
                                            case 11:
                                                if (i.folderId === a.appProperties.folderId && i.dataFolderId === a.appProperties.dataFolderId && i.trashFolderId === a.appProperties.trashFolderId) {
                                                    t.next = 14;
                                                    break
                                                }
                                                return t.next = 14,
                                                b.a.uploadFile({
                                                    token: r,
                                                    appProperties: i,
                                                    mediaType: b.a.folderMimeType,
                                                    fileId: a.id
                                                });
                                            case 14:
                                                c = n(a.id),
                                                g.a.dispatch("workspace/patchWorkspacesById", v()({}, c, {
                                                    id: c,
                                                    sub: r.sub,
                                                    name: a.name,
                                                    providerId: e.id,
                                                    folderId: a.id,
                                                    teamDriveId: a.teamDriveId,
                                                    dataFolderId: i.dataFolderId,
                                                    trashFolderId: i.trashFolderId
                                                }));
                                            case 16:
                                            case "end":
                                                return t.stop()
                                            }
                                    }, t, e)
                                }));
                                return function(e, n) {
                                    return t.apply(this, arguments)
                                }
                            }(),
                            i = r(w.a.queryParams.folderId) || w.a.queryParams,
                            o = i.sub,
                            (s = g.a.getters["data/googleTokensBySub"][o]) && s.isDrive && s.driveFullAccess) {
                                t.next = 11;
                                break
                            }
                            return t.next = 8,
                            g.a.dispatch("modal/open", "workspaceGoogleRedirection");
                        case 8:
                            return t.next = 10,
                            b.a.addDriveAccount(!0, w.a.queryParams.sub);
                        case 10:
                            s = t.sent;
                        case 11:
                            if (c = w.a.queryParams.folderId) {
                                t.next = 19;
                                break
                            }
                            return t.next = 15,
                            b.a.uploadFile({
                                token: s,
                                name: "StackEdit workspace",
                                parents: [],
                                mediaType: b.a.folderMimeType
                            });
                        case 15:
                            return u = t.sent,
                            t.next = 18,
                            a(s, l()({}, u, {
                                appProperties: {}
                            }));
                        case 18:
                            c = u.id;
                        case 19:
                            if (r(c)) {
                                t.next = 36;
                                break
                            }
                            return d = void 0,
                            t.prev = 21,
                            t.next = 24,
                            b.a.getFile(s, c);
                        case 24:
                            d = t.sent,
                            t.next = 30;
                            break;
                        case 27:
                            throw t.prev = 27,
                            t.t0 = t.catch(21),
                            new Error("Folder " + c + " is not accessible. Make sure you have the right permissions.");
                        case 30:
                            if (d.appProperties = d.appProperties || {},
                            !(f = d.appProperties.folderId) || f === c) {
                                t.next = 34;
                                break
                            }
                            throw new Error("Folder " + c + " is part of another workspace.");
                        case 34:
                            return t.next = 36,
                            a(s, d);
                        case 36:
                            return k.a.addBadge("addGoogleDriveWorkspace"),
                            t.abrupt("return", r(c));
                        case 38:
                        case "end":
                            return t.stop()
                        }
                }, t, e, [[21, 27]])
            }))()
        },
        performAction: function() {
            var e = this;
            return h()(p.a.mark(function t() {
                var n, r, a, i, o, s, c, u;
                return p.a.wrap(function(t) {
                    for (; ; )
                        switch (t.prev = t.next) {
                        case 0:
                            n = b.a.driveState || {},
                            r = e.getToken(),
                            t.t0 = r && n.action,
                            t.next = "create" === t.t0 ? 5 : "open" === t.t0 ? 13 : 17;
                            break;
                        case 5:
                            return a = b.a.driveActionFolder,
                            i = g.a.getters["data/syncDataById"][a.id],
                            !i && a.appProperties.id && (g.a.commit("folder/setItem", {
                                id: a.appProperties.id,
                                name: a.name
                            }),
                            o = g.a.state.folder.itemsById[a.appProperties.id],
                            i = {
                                id: a.id,
                                itemId: o.id,
                                type: o.type,
                                hash: o.hash
                            },
                            g.a.dispatch("data/patchSyncDataById", v()({}, i.id, i))),
                            t.next = 10,
                            y.a.createFile({
                                parentId: i && i.itemId
                            }, !0);
                        case 10:
                            return s = t.sent,
                            g.a.commit("file/setCurrentId", s.id),
                            t.abrupt("break", 17);
                        case 13:
                            return c = b.a.driveActionFiles[0],
                            u = g.a.getters["data/syncDataById"][c.id],
                            u ? g.a.commit("file/setCurrentId", u.itemId) : x = c.id,
                            t.abrupt("break", 17);
                        case 17:
                        case "end":
                            return t.stop()
                        }
                }, t, e)
            }))()
        },
        getChanges: function() {
            var e = this;
            return h()(p.a.mark(function t() {
                var n, r, a, i, o, s;
                return p.a.wrap(function(e) {
                    for (; ; )
                        switch (e.prev = e.next) {
                        case 0:
                            return n = g.a.getters["workspace/currentWorkspace"],
                            r = g.a.getters["workspace/syncToken"],
                            a = g.a.getters["data/localSettings"].syncStartPageToken,
                            e.next = 5,
                            b.a.getChanges(r, a, !1, n.teamDriveId);
                        case 5:
                            return i = e.sent,
                            o = i.changes,
                            s = i.startPageToken,
                            C = s,
                            e.abrupt("return", o);
                        case 10:
                        case "end":
                            return e.stop()
                        }
                }, t, e)
            }))()
        },
        prepareChanges: function(e) {
            var t = {};
            c()(g.a.getters["data/syncDataByItemId"]).forEach(function(e) {
                var n = o()(e, 2)
                  , r = n[0]
                  , a = n[1];
                t[a.id] = r
            }),
            e.forEach(function(e) {
                var n = (e.file || {}).appProperties || {}
                  , r = n.id;
                r && (t[e.fileId] = r)
            });
            var n = g.a.getters["workspace/currentWorkspace"]
              , r = [];
            return e.forEach(function(e) {
                if (e.fileId !== n.folderId && e.fileId !== n.dataFolderId && e.fileId !== n.trashFolderId) {
                    var a = void 0;
                    if (e.file) {
                        var i = e.file.appProperties;
                        if (!i || i.folderId !== n.folderId)
                            return;
                        if (e.file.parents[0] === n.dataFolderId)
                            try {
                                e.item = JSON.parse(e.file.name)
                            } catch (e) {
                                return
                            }
                        else {
                            var o = e.file.mimeType === b.a.folderMimeType ? "folder" : "file"
                              , s = {
                                id: i.id,
                                type: o,
                                name: e.file.name,
                                parentId: null
                            };
                            if (e.file.parents.some(function(e) {
                                return e === n.trashFolderId
                            }) ? s.parentId = "trash" : e.file.parents.some(function(e) {
                                return !!t[e] && (s.parentId = t[e],
                                !0)
                            }),
                            e.item = w.a.addItemHash(s),
                            "file" === o) {
                                var c = i.id + "/content"
                                  , u = e.fileId + "/content";
                                a = {
                                    item: {
                                        id: c,
                                        type: "content",
                                        hash: 1
                                    },
                                    syncData: {
                                        id: u,
                                        itemId: c,
                                        type: "content",
                                        hash: 1
                                    },
                                    syncDataId: u
                                }
                            }
                        }
                        e.syncData = {
                            id: e.fileId,
                            parentIds: e.file.parents,
                            itemId: e.item.id,
                            type: e.item.type,
                            hash: e.item.hash
                        }
                    } else {
                        var l = g.a.getters["data/syncDataById"][e.fileId];
                        l && "file" === l.type && (a = {
                            syncDataId: e.fileId + "/content"
                        })
                    }
                    e.syncDataId = e.fileId,
                    r.push(e),
                    a && r.push(a)
                }
            }),
            r
        },
        onChangesApplied: function() {
            g.a.dispatch("data/patchLocalSettings", {
                syncStartPageToken: C
            })
        },
        saveWorkspaceItem: function(e) {
            var t = this
              , n = e.item
              , r = e.syncData
              , i = e.ifNotTooLate;
            return h()(p.a.mark(function e() {
                var o, s, c, u, l;
                return p.a.wrap(function(e) {
                    for (; ; )
                        switch (e.prev = e.next) {
                        case 0:
                            if (o = g.a.getters["workspace/currentWorkspace"],
                            s = g.a.getters["workspace/syncToken"],
                            c = void 0,
                            "file" === n.type || "folder" === n.type) {
                                e.next = 9;
                                break
                            }
                            return e.next = 6,
                            b.a.uploadFile({
                                token: s,
                                name: a()(n),
                                parents: [o.dataFolderId],
                                appProperties: {
                                    folderId: o.folderId
                                },
                                fileId: r && r.id,
                                oldParents: r && r.parentIds,
                                ifNotTooLate: i
                            });
                        case 6:
                            c = e.sent,
                            e.next = 15;
                            break;
                        case 9:
                            return u = g.a.getters["data/syncDataByItemId"][n.parentId],
                            l = void 0,
                            l = "trash" === n.parentId ? o.trashFolderId : u ? u.id : o.folderId,
                            e.next = 14,
                            b.a.uploadFile({
                                token: s,
                                name: n.name,
                                parents: [l],
                                appProperties: {
                                    id: n.id,
                                    folderId: o.folderId
                                },
                                mediaType: "folder" === n.type ? b.a.folderMimeType : void 0,
                                fileId: r && r.id,
                                oldParents: r && r.parentIds,
                                ifNotTooLate: i
                            });
                        case 14:
                            c = e.sent;
                        case 15:
                            return e.abrupt("return", {
                                syncData: {
                                    id: c.id,
                                    parentIds: c.parents,
                                    itemId: n.id,
                                    type: n.type,
                                    hash: n.hash
                                }
                            });
                        case 16:
                        case "end":
                            return e.stop()
                        }
                }, e, t)
            }))()
        },
        removeWorkspaceItem: function(e) {
            var t = this
              , n = e.syncData
              , r = e.ifNotTooLate;
            return h()(p.a.mark(function e() {
                var a;
                return p.a.wrap(function(e) {
                    for (; ; )
                        switch (e.prev = e.next) {
                        case 0:
                            if ("content" === n.type) {
                                e.next = 4;
                                break
                            }
                            return a = g.a.getters["workspace/syncToken"],
                            e.next = 4,
                            b.a.removeFile(a, n.id, r);
                        case 4:
                        case "end":
                            return e.stop()
                        }
                }, e, t)
            }))()
        },
        downloadWorkspaceContent: function(e) {
            var t = this
              , n = e.token
              , r = e.contentSyncData
              , a = e.fileSyncData;
            return h()(p.a.mark(function e() {
                var i, o;
                return p.a.wrap(function(e) {
                    for (; ; )
                        switch (e.prev = e.next) {
                        case 0:
                            return e.next = 2,
                            b.a.downloadFile(n, a.id);
                        case 2:
                            return i = e.sent,
                            o = _.a.parseContent(i, r.itemId),
                            x && x === a.id && (x = null,
                            setTimeout(function() {
                                g.a.commit("file/setCurrentId", a.itemId)
                            }, 10)),
                            e.abrupt("return", {
                                content: o,
                                contentSyncData: l()({}, r, {
                                    hash: o.hash
                                })
                            });
                        case 6:
                        case "end":
                            return e.stop()
                        }
                }, e, t)
            }))()
        },
        downloadWorkspaceData: function(e) {
            var t = this
              , n = e.token
              , r = e.syncData;
            return h()(p.a.mark(function e() {
                var a, i;
                return p.a.wrap(function(e) {
                    for (; ; )
                        switch (e.prev = e.next) {
                        case 0:
                            if (r) {
                                e.next = 2;
                                break
                            }
                            return e.abrupt("return", {});
                        case 2:
                            return e.next = 4,
                            b.a.downloadFile(n, r.id);
                        case 4:
                            return a = e.sent,
                            i = JSON.parse(a),
                            e.abrupt("return", {
                                item: i,
                                syncData: l()({}, r, {
                                    hash: i.hash
                                })
                            });
                        case 7:
                        case "end":
                            return e.stop()
                        }
                }, e, t)
            }))()
        },
        uploadWorkspaceContent: function(e) {
            var t = this
              , n = e.token
              , r = e.content
              , a = e.file
              , i = e.fileSyncData
              , o = e.ifNotTooLate;
            return h()(p.a.mark(function e() {
                var s, c, u, l;
                return p.a.wrap(function(e) {
                    for (; ; )
                        switch (e.prev = e.next) {
                        case 0:
                            if (s = void 0,
                            c = void 0,
                            !i) {
                                e.next = 8;
                                break
                            }
                            return e.next = 5,
                            b.a.uploadFile({
                                token: n,
                                media: _.a.serializeContent(r),
                                fileId: i.id,
                                ifNotTooLate: o
                            });
                        case 5:
                            s = e.sent,
                            e.next = 14;
                            break;
                        case 8:
                            return u = g.a.getters["workspace/currentWorkspace"],
                            l = g.a.getters["data/syncDataByItemId"][a.parentId],
                            e.next = 12,
                            b.a.uploadFile({
                                token: n,
                                name: a.name,
                                parents: [l ? l.id : u.folderId],
                                appProperties: {
                                    id: a.id,
                                    folderId: u.folderId
                                },
                                media: _.a.serializeContent(r),
                                ifNotTooLate: o
                            });
                        case 12:
                            s = e.sent,
                            c = {
                                id: s.id,
                                parentIds: s.parents,
                                itemId: a.id,
                                type: a.type,
                                hash: a.hash
                            };
                        case 14:
                            return e.abrupt("return", {
                                contentSyncData: {
                                    id: s.id + "/content",
                                    itemId: r.id,
                                    type: r.type,
                                    hash: r.hash
                                },
                                fileSyncData: c
                            });
                        case 15:
                        case "end":
                            return e.stop()
                        }
                }, e, t)
            }))()
        },
        uploadWorkspaceData: function(e) {
            var t = this
              , n = e.token
              , r = e.item
              , i = e.syncData
              , o = e.ifNotTooLate;
            return h()(p.a.mark(function e() {
                var s, c;
                return p.a.wrap(function(e) {
                    for (; ; )
                        switch (e.prev = e.next) {
                        case 0:
                            return s = g.a.getters["workspace/currentWorkspace"],
                            e.next = 3,
                            b.a.uploadFile({
                                token: n,
                                name: a()({
                                    id: r.id,
                                    type: r.type,
                                    hash: r.hash
                                }),
                                parents: [s.dataFolderId],
                                appProperties: {
                                    folderId: s.folderId
                                },
                                media: a()(r),
                                mediaType: "application/json",
                                fileId: i && i.id,
                                oldParents: i && i.parentIds,
                                ifNotTooLate: o
                            });
                        case 3:
                            return c = e.sent,
                            e.abrupt("return", {
                                syncData: {
                                    id: c.id,
                                    parentIds: c.parents,
                                    itemId: r.id,
                                    type: r.type,
                                    hash: r.hash
                                }
                            });
                        case 5:
                        case "end":
                            return e.stop()
                        }
                }, e, t)
            }))()
        },
        listFileRevisions: function(e) {
            var t = this
              , n = e.token
              , r = e.fileSyncDataId;
            return h()(p.a.mark(function e() {
                var a;
                return p.a.wrap(function(e) {
                    for (; ; )
                        switch (e.prev = e.next) {
                        case 0:
                            return e.next = 2,
                            b.a.getFileRevisions(n, r);
                        case 2:
                            return a = e.sent,
                            e.abrupt("return", a.map(function(e) {
                                return {
                                    id: e.id,
                                    sub: b.a.subPrefix + ":" + e.lastModifyingUser.permissionId,
                                    created: new Date(e.modifiedTime).getTime()
                                }
                            }));
                        case 4:
                        case "end":
                            return e.stop()
                        }
                }, e, t)
            }))()
        },
        loadFileRevision: function() {
            var e = this;
            return h()(p.a.mark(function t() {
                return p.a.wrap(function(e) {
                    for (; ; )
                        switch (e.prev = e.next) {
                        case 0:
                            return e.abrupt("return", !1);
                        case 1:
                        case "end":
                            return e.stop()
                        }
                }, t, e)
            }))()
        },
        getFileRevisionContent: function(e) {
            var t = this
              , n = e.token
              , r = e.contentId
              , a = e.fileSyncDataId
              , i = e.revisionId;
            return h()(p.a.mark(function e() {
                var o;
                return p.a.wrap(function(e) {
                    for (; ; )
                        switch (e.prev = e.next) {
                        case 0:
                            return e.next = 2,
                            b.a.downloadFileRevision(n, a, i);
                        case 2:
                            return o = e.sent,
                            e.abrupt("return", _.a.parseContent(o, r));
                        case 4:
                        case "end":
                            return e.stop()
                        }
                }, e, t)
            }))()
        }
    })
}
, function(e, t, n) {
    "use strict";
    var r = n(15)
      , a = n.n(r)
      , i = n(19)
      , o = n.n(i)
      , s = n(81)
      , c = n.n(s)
      , u = n(3)
      , l = n.n(u)
      , d = n(6)
      , p = n.n(d)
      , f = n(5)
      , v = n.n(f)
      , m = n(56)
      , h = n(4)
      , g = n(2)
      , b = n(45)
      , _ = this
      , w = function() {
        var e = v()(p.a.mark(function e(t) {
            var n, r, a, i, o, s, c = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {};
            return p.a.wrap(function(e) {
                for (; ; )
                    switch (e.prev = e.next) {
                    case 0:
                        return n = t.dbUrl + "/",
                        r = function() {
                            return g.a.getters["data/couchdbTokensBySub"][t.sub]
                        }
                        ,
                        a = function(e) {
                            if (401 !== e.status)
                                throw e
                        }
                        ,
                        i = function() {
                            var e = v()(p.a.mark(function e() {
                                var t, o, s;
                                return p.a.wrap(function(e) {
                                    for (; ; )
                                        switch (e.prev = e.next) {
                                        case 0:
                                            return e.prev = 0,
                                            t = r(),
                                            o = t.name,
                                            s = t.password,
                                            e.next = 4,
                                            m.a.request({
                                                method: "POST",
                                                url: h.a.resolveUrl(n, "../_session"),
                                                withCredentials: !0,
                                                body: {
                                                    name: o,
                                                    password: s
                                                }
                                            });
                                        case 4:
                                            e.next = 13;
                                            break;
                                        case 6:
                                            return e.prev = 6,
                                            e.t0 = e.catch(0),
                                            a(e.t0),
                                            e.next = 11,
                                            g.a.dispatch("modal/open", {
                                                type: "couchdbCredentials",
                                                token: r()
                                            });
                                        case 11:
                                            return e.next = 13,
                                            i();
                                        case 13:
                                        case "end":
                                            return e.stop()
                                        }
                                }, e, _, [[0, 6]])
                            }));
                            return function() {
                                return e.apply(this, arguments)
                            }
                        }(),
                        o = l()({}, c, {
                            headers: l()({
                                Accept: "application/json"
                            }, c.headers || {}),
                            url: h.a.resolveUrl(n, c.path || "."),
                            withCredentials: !0
                        }),
                        e.prev = 5,
                        s = void 0,
                        e.prev = 7,
                        e.next = 10,
                        m.a.request(o);
                    case 10:
                        s = e.sent,
                        e.next = 21;
                        break;
                    case 13:
                        return e.prev = 13,
                        e.t0 = e.catch(7),
                        a(e.t0),
                        e.next = 18,
                        i();
                    case 18:
                        return e.next = 20,
                        m.a.request(o);
                    case 20:
                        s = e.sent;
                    case 21:
                        return e.abrupt("return", s.body);
                    case 24:
                        if (e.prev = 24,
                        e.t1 = e.catch(5),
                        409 !== e.t1.status) {
                            e.next = 28;
                            break
                        }
                        throw new Error("TOO_LATE");
                    case 28:
                        throw e.t1;
                    case 29:
                    case "end":
                        return e.stop()
                    }
            }, e, _, [[5, 24], [7, 13]])
        }));
        return function(t) {
            return e.apply(this, arguments)
        }
    }();
    t.a = {
        getDb: function(e) {
            return w(e)
        },
        getChanges: function(e, t) {
            var n = this;
            return v()(p.a.mark(function r() {
                var a, i;
                return p.a.wrap(function(r) {
                    for (; ; )
                        switch (r.prev = r.next) {
                        case 0:
                            return a = {
                                changes: [],
                                lastSeq: t
                            },
                            i = function() {
                                var t = v()(p.a.mark(function t() {
                                    var r;
                                    return p.a.wrap(function(t) {
                                        for (; ; )
                                            switch (t.prev = t.next) {
                                            case 0:
                                                return t.next = 2,
                                                w(e, {
                                                    method: "GET",
                                                    path: "_changes",
                                                    params: {
                                                        since: a.lastSeq || 0,
                                                        include_docs: !0,
                                                        limit: 1e3
                                                    }
                                                });
                                            case 2:
                                                if (r = t.sent,
                                                a.changes = [].concat(c()(a.changes), c()(r.results)),
                                                a.lastSeq = r.last_seq,
                                                !r.pending) {
                                                    t.next = 7;
                                                    break
                                                }
                                                return t.abrupt("return", i());
                                            case 7:
                                                return t.abrupt("return", a);
                                            case 8:
                                            case "end":
                                                return t.stop()
                                            }
                                    }, t, n)
                                }));
                                return function() {
                                    return t.apply(this, arguments)
                                }
                            }(),
                            r.abrupt("return", i());
                        case 3:
                        case "end":
                            return r.stop()
                        }
                }, r, n)
            }))()
        },
        uploadDocument: function(e) {
            var t = this
              , n = e.token
              , r = e.item
              , a = e.data
              , i = void 0 === a ? null : a
              , o = e.dataType
              , s = void 0 === o ? null : o
              , c = e.documentId
              , u = void 0 === c ? null : c
              , l = e.rev
              , d = void 0 === l ? null : l;
            return v()(p.a.mark(function e() {
                var a, o;
                return p.a.wrap(function(e) {
                    for (; ; )
                        switch (e.prev = e.next) {
                        case 0:
                            return a = {
                                method: "POST",
                                body: {
                                    item: r,
                                    time: Date.now()
                                }
                            },
                            o = b.a.getCurrentUserId(),
                            o && (a.body.sub = o),
                            u && (a.method = "PUT",
                            a.path = u,
                            a.body._rev = d),
                            i && (a.body._attachments = {
                                data: {
                                    content_type: s,
                                    data: h.a.encodeBase64(i)
                                }
                            }),
                            e.abrupt("return", w(n, a));
                        case 6:
                        case "end":
                            return e.stop()
                        }
                }, e, t)
            }))()
        },
        removeDocument: function(e, t, n) {
            var r = this;
            return v()(p.a.mark(function a() {
                return p.a.wrap(function(r) {
                    for (; ; )
                        switch (r.prev = r.next) {
                        case 0:
                            if (t) {
                                r.next = 2;
                                break
                            }
                            throw new Error("Missing document ID");
                        case 2:
                            return r.abrupt("return", w(e, {
                                method: "DELETE",
                                path: t,
                                params: {
                                    rev: n
                                }
                            }));
                        case 3:
                        case "end":
                            return r.stop()
                        }
                }, a, r)
            }))()
        },
        retrieveDocument: function(e, t, n) {
            var r = this;
            return v()(p.a.mark(function a() {
                return p.a.wrap(function(r) {
                    for (; ; )
                        switch (r.prev = r.next) {
                        case 0:
                            return r.abrupt("return", w(e, {
                                path: t,
                                params: {
                                    rev: n
                                }
                            }));
                        case 1:
                        case "end":
                            return r.stop()
                        }
                }, a, r)
            }))()
        },
        retrieveDocumentWithAttachments: function(e, t, n) {
            var r = this;
            return v()(p.a.mark(function i() {
                var s;
                return p.a.wrap(function(r) {
                    for (; ; )
                        switch (r.prev = r.next) {
                        case 0:
                            return r.next = 2,
                            w(e, {
                                path: t,
                                params: {
                                    attachments: !0,
                                    rev: n
                                }
                            });
                        case 2:
                            return s = r.sent,
                            s.attachments = {},
                            o()(s._attachments).forEach(function(e) {
                                var t = a()(e, 2)
                                  , n = t[0]
                                  , r = t[1];
                                s.attachments[n] = h.a.decodeBase64(r.data)
                            }),
                            r.abrupt("return", s);
                        case 6:
                        case "end":
                            return r.stop()
                        }
                }, i, r)
            }))()
        },
        retrieveDocumentWithRevisions: function(e, t) {
            var n = this;
            return v()(p.a.mark(function r() {
                return p.a.wrap(function(n) {
                    for (; ; )
                        switch (n.prev = n.next) {
                        case 0:
                            return n.abrupt("return", w(e, {
                                path: t,
                                params: {
                                    revs_info: !0
                                }
                            }));
                        case 1:
                        case "end":
                            return n.stop()
                        }
                }, r, n)
            }))()
        }
    }
}
, function(e, t, n) {
    "use strict";
    var r = n(6)
      , a = n.n(r)
      , i = n(3)
      , o = n.n(i)
      , s = n(5)
      , c = n.n(s)
      , u = n(2)
      , l = n(276)
      , d = n(38);
    t.a = new d.a({
        id: "wordpress",
        name: "WordPress",
        getToken: function(e) {
            var t = e.sub;
            return u.a.getters["data/wordpressTokensBySub"][t]
        },
        getLocationUrl: function(e) {
            return "https://wordpress.com/post/" + e.siteId + "/" + e.postId
        },
        getLocationDescription: function(e) {
            return e.postId
        },
        publish: function(e, t, n, r) {
            var i = this;
            return c()(a.a.mark(function s() {
                var c;
                return a.a.wrap(function(a) {
                    for (; ; )
                        switch (a.prev = a.next) {
                        case 0:
                            return a.next = 2,
                            l.a.uploadPost(o()({}, r, n, {
                                token: e,
                                content: t
                            }));
                        case 2:
                            return c = a.sent,
                            a.abrupt("return", o()({}, r, {
                                siteId: "" + c.site_ID,
                                postId: "" + c.ID
                            }));
                        case 4:
                        case "end":
                            return a.stop()
                        }
                }, s, i)
            }))()
        },
        makeLocation: function(e, t, n) {
            var r = {
                providerId: this.id,
                sub: e.sub,
                domain: t
            };
            return n && (r.postId = n),
            r
        }
    })
}
, function(e, t, n) {
    "use strict";
    var r = n(6)
      , a = n.n(r)
      , i = n(3)
      , o = n.n(i)
      , s = n(5)
      , c = n.n(s)
      , u = n(2)
      , l = n(277)
      , d = n(38);
    t.a = new d.a({
        id: "zendesk",
        name: "Zendesk",
        getToken: function(e) {
            var t = e.sub;
            return u.a.getters["data/zendeskTokensBySub"][t]
        },
        getLocationUrl: function(e) {
            var t = e.sub
              , n = e.locale
              , r = e.articleId;
            return "https://" + this.getToken({
                sub: t
            }).subdomain + ".zendesk.com/hc/" + n + "/articles/" + r
        },
        getLocationDescription: function(e) {
            return e.articleId
        },
        publish: function(e, t, n, r) {
            var i = this;
            return c()(a.a.mark(function s() {
                var c;
                return a.a.wrap(function(a) {
                    for (; ; )
                        switch (a.prev = a.next) {
                        case 0:
                            return a.next = 2,
                            l.a.uploadArticle(o()({}, r, {
                                token: e,
                                title: n.title,
                                content: t,
                                labels: n.tags,
                                isDraft: "draft" === n.status
                            }));
                        case 2:
                            return c = a.sent,
                            a.abrupt("return", o()({}, r, {
                                articleId: c
                            }));
                        case 4:
                        case "end":
                            return a.stop()
                        }
                }, s, i)
            }))()
        },
        makeLocation: function(e, t, n, r) {
            var a = {
                providerId: this.id,
                sub: e.sub,
                sectionId: t,
                locale: n
            };
            return r && (a.articleId = r),
            a
        }
    })
}
, function(e, t, n) {
    "use strict";
    function r(e, t) {
        var n = e.getDay()
          , a = e.getDate()
          , i = e.getMonth()
          , o = e.getFullYear()
          , s = e.getHours()
          , c = e.getMinutes()
          , u = e.getSeconds();
        return t.replace(/%([%aAbBcdeHIlmMpPSwyYZz])/g, function(t) {
            var l = void 0;
            switch (t[1]) {
            case "%":
            default:
                return "%";
            case "a":
                return d[n].slice(0, 3);
            case "A":
                return d[n];
            case "b":
                return p[i].slice(0, 3);
            case "B":
                return p[i];
            case "c":
                return e.toString();
            case "d":
                return f(a);
            case "e":
                return a;
            case "H":
                return f(s);
            case "I":
                return f(r(e, "%l"));
            case "l":
                return 0 === s || 12 === s ? 12 : (s + 12) % 12;
            case "m":
                return f(i + 1);
            case "M":
                return f(c);
            case "p":
                return s > 11 ? "PM" : "AM";
            case "P":
                return s > 11 ? "pm" : "am";
            case "S":
                return f(u);
            case "w":
                return n;
            case "y":
                return f(o % 100);
            case "Y":
                return o;
            case "Z":
                return l = e.toString().match(/\((\w+)\)$/),
                l ? l[1] : "";
            case "z":
                return l = e.toString().match(/\w([+-]\d\d\d\d) /),
                l ? l[1] : ""
            }
        })
    }
    function a() {
        if (null !== v)
            return v;
        if (!("Intl"in window))
            return !1;
        var e = {
            day: "numeric",
            month: "short"
        }
          , t = new window.Intl.DateTimeFormat(void 0,e)
          , n = t.format(new Date(0));
        return v = !!n.match(/^\d/)
    }
    function i() {
        if (null !== m)
            return m;
        if (!("Intl"in window))
            return !0;
        var e = {
            day: "numeric",
            month: "short",
            year: "numeric"
        }
          , t = new window.Intl.DateTimeFormat(void 0,e)
          , n = t.format(new Date(0));
        return m = !!n.match(/\d,/)
    }
    function o(e) {
        return (new Date).getUTCFullYear() === e.getUTCFullYear()
    }
    var s = n(37)
      , c = n.n(s)
      , u = n(67)
      , l = n.n(u)
      , d = ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"]
      , p = ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"]
      , f = function(e) {
        return ("0" + e).slice(-2)
    }
      , v = null
      , m = null
      , h = function() {
        function e(t) {
            c()(this, e),
            this.date = t
        }
        return l()(e, [{
            key: "toString",
            value: function() {
                return this.timeElapsed() || "on " + this.formatDate()
            }
        }, {
            key: "timeElapsed",
            value: function() {
                var e = (new Date).getTime() - this.date.getTime()
                  , t = Math.round(e / 1e3)
                  , n = Math.round(t / 60)
                  , r = Math.round(n / 60)
                  , a = Math.round(r / 24);
                return e < 0 ? "just now" : t < 45 ? "just now" : t < 90 ? "a minute ago" : n < 45 ? n + " minutes ago" : n < 90 ? "an hour ago" : r < 24 ? r + " hours ago" : r < 36 ? "a day ago" : a < 30 ? a + " days ago" : null
            }
        }, {
            key: "formatDate",
            value: function() {
                var e = a() ? "%e %b" : "%b %e";
                return o(this.date) || (e += i() ? ", %Y" : " %Y"),
                r(this.date, e)
            }
        }]),
        e
    }();
    t.a = {
        format: function(e) {
            return e && new h(new Date(e)).toString()
        }
    }
}
, function(e, t, n) {
    "use strict";
    var r = n(6)
      , a = n.n(r)
      , i = n(19)
      , o = n.n(i)
      , s = n(5)
      , c = n.n(s)
      , u = n(15)
      , l = n.n(u)
      , d = n(3)
      , p = n.n(d)
      , f = n(112)
      , v = n.n(f)
      , m = n(147)
      , h = n(400)
      , g = n(4)
      , b = n(65)
      , _ = n(12)
      , w = new v.a
      , e = n.i(m.a)(h.a);
    e.state = p()({}, e.state, {
        revisionContent: null
    }),
    e.mutations = p()({}, e.mutations, {
        setRevisionContent: function(e, t) {
            e.revisionContent = t ? p()({}, n.i(h.a)(), t, {
                id: g.a.uid(),
                hash: Date.now()
            }) : null
        }
    }),
    e.getters = p()({}, e.getters, {
        current: function(e, t, r, a) {
            var i = e.itemsById
              , o = e.revisionContent;
            return o || (i[a["file/current"].id + "/content"] || n.i(h.a)())
        },
        currentChangeTrigger: function(e, t) {
            var n = t.current;
            return g.a.serializeObject([n.id, n.text, n.hash])
        },
        currentProperties: function(e, t) {
            var n = t.current;
            return g.a.computeProperties(n.properties)
        },
        isCurrentEditable: function(e, t, n, r) {
            var a = e.revisionContent
              , i = t.current;
            return !a && i.id && r["layout/styles"].showEditor
        }
    }),
    e.actions = p()({}, e.actions, {
        patchCurrent: function(e, t) {
            var n = e.state
              , r = e.getters
              , a = e.commit
              , i = r.current.id;
            i && !n.revisionContent && a("patchItem", p()({}, t, {
                id: i
            }))
        },
        setRevisionContent: function(e, t) {
            var n = e.state
              , r = e.rootGetters
              , a = e.commit
              , i = r["file/current"]
              , o = n.itemsById[i.id + "/content"];
            if (o) {
                var s = w.diff_main(o.text, t.text);
                w.diff_cleanupSemantic(s),
                a("setRevisionContent", {
                    text: s.map(function(e) {
                        return l()(e, 2)[1]
                    }).join(""),
                    diffs: s,
                    originalText: t.text
                })
            }
        },
        restoreRevision: function(e) {
            var t = this
              , n = e.state
              , r = e.getters
              , i = e.commit
              , s = e.dispatch;
            return c()(a.a.mark(function e() {
                var c, u, d;
                return a.a.wrap(function(e) {
                    for (; ; )
                        switch (e.prev = e.next) {
                        case 0:
                            if (!(c = n.revisionContent)) {
                                e.next = 7;
                                break
                            }
                            return e.next = 4,
                            s("modal/open", "fileRestoration", {
                                root: !0
                            });
                        case 4:
                            i("setRevisionContent"),
                            u = g.a.deepCopy(r.current),
                            u && (d = w.diff_main(u.text, c.originalText),
                            w.diff_cleanupSemantic(d),
                            o()(u.discussions).forEach(function(e) {
                                var t = l()(e, 2)
                                  , n = t[1]
                                  , r = function(e) {
                                    var t = new b.a.Marker(n[e],"end" === e);
                                    t.adjustOffset(d),
                                    n[e] = t.offset
                                };
                                r("start"),
                                r("end")
                            }),
                            s("patchCurrent", p()({}, u, {
                                text: c.originalText
                            })),
                            _.a.addBadge("restoreVersion"));
                        case 7:
                        case "end":
                            return e.stop()
                        }
                }, e, t)
            }))()
        }
    }),
    t.a = e
}
, function(e, t, n) {
    "use strict";
    var r = n(3)
      , a = n.n(r)
      , i = n(147)
      , o = n(849)
      , e = n.i(i.a)(o.a, !0);
    e.getters = a()({}, e.getters, {
        current: function(e, t, r, a) {
            return e.itemsById[a["file/current"].id + "/contentState"] || n.i(o.a)()
        }
    }),
    e.actions = a()({}, e.actions, {
        patchCurrent: function(e, t) {
            var n = e.getters;
            (0,
            e.commit)("patchItem", a()({}, t, {
                id: n.current.id
            }))
        }
    }),
    t.a = e
}
, function(e, t, n) {
    "use strict";
    var r = n(33)
      , a = n.n(r)
      , i = function(e) {
        return function(t, n) {
            t[e] = n
        }
    };
    t.a = {
        namespaced: !0,
        state: {
            coordinates: {
                left: 0,
                top: 0
            },
            items: [],
            resolve: function() {}
        },
        mutations: {
            setCoordinates: i("coordinates"),
            setItems: i("items"),
            setResolve: i("resolve")
        },
        actions: {
            open: function(e, t) {
                var n = e.commit
                  , r = e.rootState
                  , i = t.coordinates
                  , o = t.items;
                return n("setItems", o),
                n("setCoordinates", {
                    top: 0,
                    left: -9999
                }),
                setTimeout(function() {
                    var e = document.querySelector(".context-menu__inner");
                    if (e) {
                        var t = e.offsetHeight;
                        i.top + t > r.layout.bodyHeight && (i.top -= t),
                        i.top < 0 && (i.top = 0);
                        var a = e.offsetWidth;
                        i.left + a > r.layout.bodyWidth && (i.left -= a),
                        i.left < 0 && (i.left = 0),
                        n("setCoordinates", i)
                    }
                }, 1),
                new a.a(function(e) {
                    return n("setResolve", e)
                }
                )
            },
            close: function(e) {
                var t = e.commit;
                t("setItems", []),
                t("setResolve", function() {})
            }
        }
    }
}
, function(e, t, n) {
    "use strict";
    var r = n(15)
      , a = n.n(r)
      , i = n(19)
      , o = n.n(i)
      , s = n(20)
      , c = n.n(s)
      , u = n(39)
      , l = n.n(u)
      , d = n(210)
      , p = n.n(d)
      , f = n(3)
      , v = n.n(f)
      , m = n(66)
      , h = n.n(m)
      , g = n(172)
      , b = n.n(g)
      , _ = n(55)
      , w = n(248)
      , y = n.n(w)
      , k = n(4)
      , x = n(848)
      , C = n(726)
      , I = n.n(C)
      , S = n(847)
      , E = n(846)
      , L = n(1896)
      , T = n.n(L)
      , D = n(1897)
      , P = n.n(D)
      , B = n(1898)
      , A = n.n(B)
      , M = n(1895)
      , N = n.n(M)
      , U = n(90)
      , F = n(853)
      , O = n(12)
      , $ = function(e) {
        return {
            id: e,
            type: "data",
            data: arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {},
            hash: 0
        }
    }
      , R = function(e) {
        switch (e) {
        case "workspaces":
            return $(e, n.i(x.a)());
        case "settings":
            return $(e, "\n");
        case "localSettings":
            return $(e, n.i(S.a)());
        case "layoutSettings":
            return $(e, n.i(E.a)());
        default:
            return $(e)
        }
    }
      , q = new b.a(U.a.localStorageDataIds)
      , W = function(e) {
        return function(t) {
            var n = q.has(e) ? t.lsItemsById : t.itemsById;
            return n[e] ? n[e].data : R(e).data
        }
    }
      , G = function(e) {
        return function(t, n) {
            return (0,
            t.commit)("setItem", $(e, n))
        }
    }
      , H = function(e) {
        return function(t, n) {
            var r = t.state
              , a = t.commit
              , i = q.has(e) ? r.lsItemsById : r.itemsById
              , o = h()(R(e), i[e]);
            a("setItem", v()({}, R(e), {
                data: "object" === (void 0 === n ? "undefined" : p()(n)) ? v()({}, o.data, n) : n
            }))
        }
    }
      , j = function(e, t, n, r, a) {
        var i = r.layoutSettings[e]
          , o = l()({}, e, void 0 === t ? !i : !!t);
        o[e] !== i && (a("patchLayoutSettings", o),
        O.a.addBadge(n))
    }
      , z = function(e, t) {
        return function(n, r) {
            var a = n.getters
              , i = n.dispatch;
            j(e, r, t, a, i),
            window.parent.postMessage({
                type: "changeView",
                flag: void 0 === r || !r
            }, "*")
        }
    }
      , V = function(e, t) {
        return document.body.clientWidth < e.editorMinWidth + e.explorerWidth + e.sideBarWidth + e.buttonBarWidth + (t ? e.gutterWidth : 0)
    }
      , Z = function(e, t) {
        return {
            name: e,
            value: t,
            helpers: arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : "\n",
            isAdditional: !0
        }
    }
      , Y = {
        plainText: Z("Plain text", "{{{files.0.content.text}}}"),
        plainHtml: Z("Plain HTML", T.a),
        styledHtml: Z("Styled HTML", P.a),
        styledHtmlWithToc: Z("Styled HTML with TOC", A.a),
        jekyllSite: Z("Jekyll site", N.a)
    }
      , K = function(e) {
        return function(t, n) {
            var r = t.getters;
            (0,
            t.dispatch)("patchTokensByType", l()({}, e, v()({}, r[e + "TokensBySub"], l()({}, n.sub, n))))
        }
    };
    t.a = {
        namespaced: !0,
        state: {
            itemsById: {},
            lsItemsById: {}
        },
        mutations: {
            setItem: function(e, t) {
                var n = e.itemsById
                  , r = e.lsItemsById
                  , a = R(t.id)
                  , i = "object" === p()(t.data) ? h()(a.data, t.data) : t.data
                  , o = k.a.addItemHash(v()({}, a, {
                    data: i
                }));
                _.a.set(q.has(o.id) ? r : n, o.id, o)
            },
            deleteItem: function(e, t) {
                var n = e.itemsById;
                _.a.delete(n, t)
            }
        },
        getters: {
            serverConf: W("serverConf"),
            workspaces: W("workspaces"),
            settings: W("settings"),
            computedSettings: function(e, t) {
                var n = t.settings
                  , r = y.a.safeLoad(n)
                  , a = y.a.safeLoad(I.a);
                return function e(t, n) {
                    var r = Object.prototype.toString.call(t);
                    return r !== Object.prototype.toString.call(n) ? t : "[object Object]" !== r ? n : (c()(t).forEach(function(r) {
                        t[r] = "shortcuts" === r ? h()(t[r], n[r]) : e(t[r], n[r])
                    }),
                    t)
                }(a, r)
            },
            localSettings: W("localSettings"),
            layoutSettings: W("layoutSettings"),
            templatesById: W("templates"),
            allTemplatesById: function(e, t) {
                var n = t.templatesById;
                return v()({}, n, Y)
            },
            lastCreated: W("lastCreated"),
            lastOpened: W("lastOpened"),
            lastOpenedIds: function(e, t, n) {
                var r = t.lastOpened
                  , a = v()({}, r)
                  , i = n.file.currentId;
                return i && !a[i] && (a[i] = Date.now()),
                c()(a).filter(function(e) {
                    return n.file.itemsById[e]
                }).sort(function(e, t) {
                    return a[t] - a[e]
                }).slice(0, 20)
            },
            syncDataById: W("syncData"),
            syncDataByItemId: function(e, t, n, r) {
                var i = t.syncDataById
                  , s = {};
                return r["workspace/currentWorkspaceIsGit"] ? o()(r.gitPathsByItemId).forEach(function(e) {
                    var t = a()(e, 2)
                      , n = t[0]
                      , r = t[1]
                      , o = i[r];
                    o && (s[n] = o)
                }) : o()(i).forEach(function(e) {
                    var t = a()(e, 2)
                      , n = t[1];
                    s[n.itemId] = n
                }),
                s
            },
            dataSyncDataById: W("dataSyncData"),
            tokensByType: W("tokens"),
            googleTokensBySub: function(e, t) {
                return t.tokensByType.google || {}
            },
            couchdbTokensBySub: function(e, t) {
                return t.tokensByType.couchdb || {}
            },
            dropboxTokensBySub: function(e, t) {
                return t.tokensByType.dropbox || {}
            },
            githubTokensBySub: function(e, t) {
                return t.tokensByType.github || {}
            },
            gitlabTokensBySub: function(e, t) {
                return t.tokensByType.gitlab || {}
            },
            wordpressTokensBySub: function(e, t) {
                return t.tokensByType.wordpress || {}
            },
            zendeskTokensBySub: function(e, t) {
                return t.tokensByType.zendesk || {}
            },
            badgeCreations: W("badgeCreations"),
            badgeTree: function(e, t) {
                var n = t.badgeCreations;
                return F.a.map(function(e) {
                    return e.toBadge(n)
                })
            },
            allBadges: function(e, t) {
                var n = t.badgeTree
                  , r = [];
                return function e(t) {
                    return t.forEach(function(t) {
                        r.push(t),
                        t.children && e(t.children)
                    })
                }(n),
                r
            }
        },
        actions: {
            setServerConf: G("serverConf"),
            setSettings: G("settings"),
            patchLocalSettings: H("localSettings"),
            patchLayoutSettings: H("layoutSettings"),
            toggleNavigationBar: z("showNavigationBar", "toggleNavigationBar"),
            toggleEditor: z("showEditor", "toggleEditor"),
            toggleSidePreview: z("showSidePreview", "toggleSidePreview"),
            toggleStatusBar: z("showStatusBar", "toggleStatusBar"),
            toggleScrollSync: z("scrollSync", "toggleScrollSync"),
            toggleFocusMode: z("focusMode", "toggleFocusMode"),
            toggleSideBar: function(e, t) {
                var n = e.getters
                  , r = e.dispatch
                  , a = e.rootGetters;
                r("setSideBarPanel"),
                j("showSideBar", t, "toggleSideBar", n, r),
                n.layoutSettings.showSideBar && V(a["layout/constants"], a["discussion/currentDiscussion"]) && r("patchLayoutSettings", {
                    showExplorer: !1
                })
            },
            toggleExplorer: function(e, t) {
                e.getters,
                e.dispatch,
                e.rootGetters;
            },
            setSideBarPanel: function(e, t) {
                return (0,
                e.dispatch)("patchLayoutSettings", {
                    sideBarPanel: void 0 === t ? "menu" : t
                })
            },
            setTemplatesById: function(e, t) {
                var n = e.commit
                  , r = v()({}, t);
                c()(Y).forEach(function(e) {
                    delete r[e]
                }),
                n("setItem", $("templates", r))
            },
            setLastCreated: G("lastCreated"),
            setLastOpenedId: function(e, t) {
                var n = e.getters
                  , r = e.commit
                  , i = e.rootState
                  , s = v()({}, n.lastOpened);
                s[t] = Date.now();
                var c = {};
                o()(s).forEach(function(e) {
                    var t = a()(e, 2)
                      , n = t[0]
                      , r = t[1];
                    i.file.itemsById[n] && (c[n] = r)
                }),
                r("setItem", $("lastOpened", c))
            },
            setSyncDataById: G("syncData"),
            patchSyncDataById: H("syncData"),
            patchDataSyncDataById: H("dataSyncData"),
            patchTokensByType: H("tokens"),
            addGoogleToken: K("google"),
            addCouchdbToken: K("couchdb"),
            addDropboxToken: K("dropbox"),
            addGithubToken: K("github"),
            addGitlabToken: K("gitlab"),
            addWordpressToken: K("wordpress"),
            addZendeskToken: K("zendesk"),
            patchBadgeCreations: H("badgeCreations")
        }
    }
}
, function(e, t, n) {
    "use strict";
    var r = n(6)
      , a = n.n(r)
      , i = n(3)
      , o = n.n(i)
      , s = n(5)
      , c = n.n(s)
      , u = n(15)
      , l = n.n(u)
      , d = n(19)
      , p = n.n(d)
      , f = n(66)
      , v = n.n(f)
      , m = n(20)
      , h = n.n(m)
      , g = n(4)
      , b = n(30)
      , _ = n(102)
      , w = function(e) {
        return function(t, n) {
            var r = h()(n.currentFileDiscussions).filter(function(e) {
                return e !== t.newDiscussionId
            });
            return r[(r.indexOf(t.currentDiscussionId) + e + r.length) % r.length]
        }
    };
    t.a = {
        namespaced: !0,
        state: {
            currentDiscussionId: null,
            newDiscussion: null,
            newDiscussionId: null,
            isCommenting: !1,
            newCommentText: "",
            newCommentSelection: {
                start: 0,
                end: 0
            },
            newCommentFocus: !1,
            stickyComment: null
        },
        mutations: {
            setCurrentDiscussionId: function(e, t) {
                e.currentDiscussionId !== t && (e.currentDiscussionId = t,
                e.isCommenting = !1)
            },
            setNewDiscussion: function(e, t) {
                e.newDiscussion = t,
                e.newDiscussionId = g.a.uid(),
                e.currentDiscussionId = e.newDiscussionId,
                e.isCommenting = !0,
                e.newCommentFocus = !0
            },
            patchNewDiscussion: function(e, t) {
                v()(e.newDiscussion, t)
            },
            setIsCommenting: function(e, t) {
                e.isCommenting = t,
                t ? e.newCommentFocus = !0 : e.newDiscussionId = null
            },
            setNewCommentText: function(e, t) {
                e.newCommentText = t || ""
            },
            setNewCommentSelection: function(e, t) {
                e.newCommentSelection = t
            },
            setNewCommentFocus: function(e, t) {
                e.newCommentFocus = t
            },
            setStickyComment: function(e, t) {
                e.stickyComment = t
            }
        },
        getters: {
            newDiscussion: function(e) {
                var t = e.currentDiscussionId
                  , n = e.newDiscussionId
                  , r = e.newDiscussion;
                return t === n && r
            },
            currentFileDiscussionLastComments: function(e, t, n, r) {
                var a = r["content/current"]
                  , i = a.discussions
                  , o = a.comments
                  , s = {};
                return p()(o).forEach(function(e) {
                    var t = l()(e, 2)
                      , n = t[1];
                    if (i[n.discussionId]) {
                        var r = s[n.discussionId];
                        (!r || r.created < n.created) && (s[n.discussionId] = n)
                    }
                }),
                s
            },
            currentFileDiscussions: function(e, t, n, r) {
                var a = e.newDiscussionId
                  , i = t.newDiscussion
                  , o = t.currentFileDiscussionLastComments
                  , s = {};
                i && (s[a] = i);
                var c = r["content/current"].discussions;
                return p()(o).sort(function(e, t) {
                    var n = l()(e, 2)
                      , r = n[1]
                      , a = l()(t, 2)
                      , i = a[1];
                    return r.created - i.created
                }).forEach(function(e) {
                    var t = l()(e, 1)
                      , n = t[0];
                    s[n] = c[n]
                }),
                s
            },
            currentDiscussion: function(e, t) {
                var n = e.currentDiscussionId;
                return t.currentFileDiscussions[n]
            },
            previousDiscussionId: w(-1),
            nextDiscussionId: w(1),
            currentDiscussionComments: function(e, t, n, r) {
                var a = e.currentDiscussionId
                  , i = t.currentDiscussion
                  , o = {};
                if (i) {
                    var s = r["content/current"].comments;
                    p()(s).filter(function(e) {
                        return l()(e, 2)[1].discussionId === a
                    }).sort(function(e, t) {
                        var n = l()(e, 2)
                          , r = n[1]
                          , a = l()(t, 2)
                          , i = a[1];
                        return r.created - i.created
                    }).forEach(function(e) {
                        var t = l()(e, 2)
                          , n = t[0]
                          , r = t[1];
                        o[n] = r
                    })
                }
                return o
            },
            currentDiscussionLastCommentId: function(e, t) {
                var n = t.currentDiscussionComments;
                return h()(n).pop()
            },
            currentDiscussionLastComment: function(e, t) {
                return t.currentDiscussionComments[t.currentDiscussionLastCommentId]
            }
        },
        actions: {
            cancelNewComment: function(e) {
                var t = e.commit
                  , n = e.getters;
                t("setIsCommenting", !1),
                n.currentDiscussion || t("setCurrentDiscussionId", n.nextDiscussionId)
            },
            createNewDiscussion: function(e, t) {
                var n = this
                  , r = e.commit
                  , i = e.dispatch
                  , s = e.rootGetters;
                return c()(a.a.mark(function e() {
                    var c, u, l;
                    return a.a.wrap(function(e) {
                        for (; ; )
                            switch (e.prev = e.next) {
                            case 0:
                                if (c = s["workspace/loginToken"]) {
                                    e.next = 16;
                                    break
                                }
                                return e.prev = 2,
                                e.next = 5,
                                i("modal/open", "signInForComment", {
                                    root: !0
                                });
                            case 5:
                                return e.next = 7,
                                b.a.signin();
                            case 7:
                                return _.a.requestSync(),
                                e.next = 10,
                                i("createNewDiscussion", t);
                            case 10:
                                e.next = 14;
                                break;
                            case 12:
                                e.prev = 12,
                                e.t0 = e.catch(2);
                            case 14:
                                e.next = 17;
                                break;
                            case 16:
                                t && (u = s["content/current"].text.slice(t.start, t.end).trim(),
                                l = 80,
                                u.length > l && (u = u.slice(0, l - 1).trim() + "…"),
                                r("setNewDiscussion", o()({}, t, {
                                    text: u
                                })));
                            case 17:
                            case "end":
                                return e.stop()
                            }
                    }, e, n, [[2, 12]])
                }))()
            },
            cleanCurrentFile: function(e) {
                var t = e.getters
                  , n = e.rootGetters
                  , r = e.commit
                  , a = e.dispatch
                  , i = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {}
                  , o = i.filterComment
                  , s = i.filterDiscussion
                  , c = n["content/current"].discussions
                  , u = n["content/current"].comments
                  , d = {
                    discussions: {},
                    comments: {}
                };
                p()(u).forEach(function(e) {
                    var t = l()(e, 2)
                      , n = t[0]
                      , r = t[1]
                      , a = c[r.discussionId];
                    a && r !== o && a !== s && (d.discussions[r.discussionId] = a,
                    d.comments[n] = r)
                });
                var f = t.nextDiscussionId;
                a("content/patchCurrent", d, {
                    root: !0
                }),
                t.currentDiscussion || r("setCurrentDiscussionId", f)
            }
        }
    }
}
, function(e, t, n) {
    "use strict";
    function r(e, t) {
        var n = e.item
          , r = e.isNil
          , a = t.nodeMap
          , i = t.rootNode;
        return r ? k : a[n.parentId] || i
    }
    function a(e, t) {
        return "folder" === e.item.type ? e : r(e, t)
    }
    var i = n(15)
      , o = n.n(i)
      , s = n(19)
      , c = n.n(s)
      , u = n(81)
      , l = n.n(u)
      , d = n(37)
      , p = n.n(d)
      , f = n(67)
      , v = n.n(f)
      , m = n(55)
      , h = n(401)
      , g = n(402)
      , b = function(e) {
        return function(t, n) {
            t[e] = n
        }
    }
      , _ = new Intl.Collator(void 0,{
        sensitivity: "base",
        numeric: !0
    })
      , w = function(e, t) {
        return _.compare(e.item.name, t.item.name)
    }
      , y = function() {
        function e(t) {
            var n = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : []
              , r = arguments.length > 2 && void 0 !== arguments[2] && arguments[2];
            p()(this, e),
            this.item = t,
            this.locations = n,
            this.isFolder = r,
            r && (this.folders = [],
            this.files = [])
        }
        return v()(e, [{
            key: "sortChildren",
            value: function() {
                this.isFolder && (this.folders.sort(w),
                this.files.sort(w),
                this.folders.forEach(function(e) {
                    return e.sortChildren()
                }))
            }
        }]),
        e
    }()
      , k = new y(n.i(h.a)());
    k.isNil = !0;
    var x = new y(n.i(h.a)());
    x.item.id = "fake",
    x.noDrag = !0,
    t.a = {
        namespaced: !0,
        state: {
            selectedId: null,
            editingId: null,
            dragSourceId: null,
            dragTargetId: null,
            newChildNode: k,
            openNodes: {}
        },
        mutations: {
            setSelectedId: b("selectedId"),
            setEditingId: b("editingId"),
            setDragSourceId: b("dragSourceId"),
            setDragTargetId: b("dragTargetId"),
            setNewItem: function(e, t) {
                e.newChildNode = t ? new y(t,[],"folder" === t.type) : k
            },
            setNewItemName: function(e, t) {
                e.newChildNode.item.name = t
            },
            toggleOpenNode: function(e, t) {
                m.a.set(e.openNodes, t, !e.openNodes[t])
            }
        },
        getters: {
            nodeStructure: function(e, t, r, a) {
                var i = new y(n.i(g.a)(),[],!0);
                i.isRoot = !0;
                var s = new y(n.i(g.a)(),[],!0);
                s.item.id = "trash",
                s.item.name = "Trash",
                s.noDrag = !0,
                s.isTrash = !0,
                s.parentNode = i;
                var u = new y(n.i(g.a)(),[],!0);
                u.item.id = "temp",
                u.item.name = "Temp",
                u.noDrag = !0,
                u.noDrop = !0,
                u.isTemp = !0,
                u.parentNode = i;
                var d = {
                    trash: s,
                    temp: u
                };
                a["folder/items"].forEach(function(e) {
                    d[e.id] = new y(e,[],!0)
                });
                var p = a["syncLocation/filteredGroupedByFileId"]
                  , f = a["publishLocation/filteredGroupedByFileId"];
                return a["file/items"].forEach(function(e) {
                    var t = [].concat(l()(p[e.id] || []), l()(f[e.id] || []));
                    d[e.id] = new y(e,t)
                }),
                c()(d).forEach(function(e) {
                    var t = o()(e, 2)
                      , n = t[1]
                      , r = d[n.item.parentId];
                    if (!r || !r.isFolder) {
                        if (n.isTrash || n.isTemp)
                            return;
                        r = i
                    }
                    n.isFolder ? r.folders.push(n) : r.files.push(n),
                    n.parentNode = r
                }),
                i.sortChildren(),
                i.folders.unshift(u),
                u.files.forEach(function(e) {
                    e.noDrop = !0
                }),
                i.folders.unshift(s),
                i.files.push(x),
                {
                    nodeMap: d,
                    rootNode: i
                }
            },
            nodeMap: function(e, t) {
                return t.nodeStructure.nodeMap
            },
            rootNode: function(e, t) {
                return t.nodeStructure.rootNode
            },
            newChildNodeParent: function(e, t) {
                return r(e.newChildNode, t)
            },
            selectedNode: function(e, t) {
                var n = e.selectedId;
                return t.nodeMap[n] || k
            },
            selectedNodeFolder: function(e, t) {
                return a(t.selectedNode, t)
            },
            editingNode: function(e, t) {
                var n = e.editingId;
                return t.nodeMap[n] || k
            },
            dragSourceNode: function(e, t) {
                var n = e.dragSourceId;
                return t.nodeMap[n] || k
            },
            dragTargetNode: function(e, t) {
                var n = e.dragTargetId
                  , r = t.nodeMap;
                return "fake" === n ? x : r[n] || k
            },
            dragTargetNodeFolder: function(e, t) {
                return "fake" === e.dragTargetId ? t.rootNode : a(t.dragTargetNode, t)
            }
        },
        actions: {
            openNode: function(e, t) {
                var n = e.state
                  , r = e.getters
                  , a = e.commit
                  , i = e.dispatch
                  , o = r.nodeMap[t];
                o && (o.isFolder && !n.openNodes[t] && a("toggleOpenNode", t),
                i("openNode", o.item.parentId))
            },
            openDragTarget: function(e, t) {
                var n = void 0;
                return function(r) {
                    clearTimeout(n),
                    n = setTimeout(function() {
                        return e(r)
                    }, t)
                }
            }(function(e) {
                var t = e.state;
                (0,
                e.dispatch)("openNode", t.dragTargetId)
            }, 1e3),
            setDragTarget: function(e, t) {
                var n = e.commit
                  , r = e.getters
                  , i = e.dispatch;
                if (t) {
                    for (var o = a(t, r), s = r.dragSourceNode.item.id, c = r.nodeMap, u = o; u; u = c[u.item.parentId])
                        if (u.item.id === s)
                            return void n("setDragTargetId");
                    n("setDragTargetId", t.item.id),
                    i("openDragTarget")
                } else
                    n("setDragTargetId")
            }
        }
    }
}
, function(e, t, n) {
    "use strict";
    var r = n(3)
      , a = n.n(r)
      , i = n(147)
      , o = n(401)
      , e = n.i(i.a)(o.a);
    e.state = a()({}, e.state, {
        currentId: null
    }),
    e.getters = a()({}, e.getters, {
        current: function(e) {
            return e.itemsById[e.currentId] || n.i(o.a)()
        },
        isCurrentTemp: function(e, t) {
            return "temp" === t.current.parentId
        },
        lastOpened: function(e, t, r, a) {
            var i = e.itemsById
              , s = t.items;
            return i[a["data/lastOpenedIds"][0]] || s[0] || n.i(o.a)()
        }
    }),
    e.mutations = a()({}, e.mutations, {
        setCurrentId: function(e, t) {
            e.currentId = t
        }
    }),
    e.actions = a()({}, e.actions, {
        patchCurrent: function(e, t) {
            var n = e.getters;
            (0,
            e.commit)("patchItem", a()({}, t, {
                id: n.current.id
            }))
        }
    }),
    t.a = e
}
, function(e, t, n) {
    "use strict";
    t.a = {
        namespaced: !0,
        state: {
            type: null,
            lastOpen: 0,
            findText: "",
            replaceText: ""
        },
        mutations: {
            setType: function(e, t) {
                e.type = t
            },
            setLastOpen: function(e) {
                e.lastOpen = Date.now()
            },
            setFindText: function(e, t) {
                e.findText = t
            },
            setReplaceText: function(e, t) {
                e.replaceText = t
            }
        },
        actions: {
            open: function(e, t) {
                var n = e.commit
                  , r = t.type
                  , a = t.findText;
                n("setType", r),
                a && n("setFindText", a),
                n("setLastOpen")
            }
        }
    }
}
, function(e, t, n) {
    "use strict";
    var r = n(147)
      , a = n(402)
      , e = n.i(r.a)(a.a);
    t.a = e
}
, function(e, t, n) {
    "use strict";
    function r(e, t) {
        var n = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : t["data/layoutSettings"]
          , a = arguments.length > 3 && void 0 !== arguments[3] ? arguments[3] : {
            showNavigationBar: n.showNavigationBar || !n.showEditor || e.content.revisionContent || e.light,
            showStatusBar: n.showStatusBar,
            showEditor: n.showEditor,
            showSidePreview: n.showSidePreview && n.showEditor,
            showPreview: n.showSidePreview || !n.showEditor,
            showSideBar: n.showSideBar && !e.light,
            showExplorer: n.showExplorer && !e.light,
            layoutOverflow: !1,
            hideLocations: e.light
        };
        a.innerHeight = e.layout.bodyHeight,
        a.showEditor || (a.showNavigationBar = !1),
        a.showNavigationBar && (a.innerHeight -= b.navigationBarHeight),
        a.showStatusBar && (a.innerHeight -= b.statusBarHeight),
        a.innerWidth = e.layout.bodyWidth,
        a.innerWidth < b.editorMinWidth + b.gutterWidth + b.buttonBarWidth && (a.layoutOverflow = !0),
        a.showSideBar && (a.innerWidth -= b.sideBarWidth),
        a.showExplorer && (a.innerWidth -= b.explorerWidth);
        var i = a.innerWidth - b.buttonBarWidth
          , o = !t["file/isCurrentTemp"] && !!t["discussion/currentDiscussion"];
        if (o && (i -= b.gutterWidth),
        i < b.editorMinWidth && (i = b.editorMinWidth),
        a.showSidePreview && i / 2 < b.editorMinWidth)
            return a.showSidePreview = !1,
            a.showPreview = !1,
            a.layoutOverflow = !1,
            r(e, t, n, a);
        var _ = t["data/computedSettings"];
        a.fontSize = 18,
        a.textWidth = 990,
        i < 1120 && (a.fontSize -= 1,
        a.textWidth = 910),
        i < 1040 && (a.textWidth = 830),
        a.textWidth *= _.maxWidthFactor,
        i < a.textWidth && (a.textWidth = i),
        a.textWidth < 640 && (a.fontSize -= 1),
        a.fontSize *= _.fontSizeFactor;
        var w = Math.floor(a.innerHeight / 2)
          , y = Math.floor(i / 2);
        a.previewWidth = a.showSidePreview ? y : i;
        var k = Math.max(Math.floor((a.previewWidth - a.textWidth) / 2), s);
        a.showSidePreview || (a.previewWidth += b.buttonBarWidth),
        a.previewGutterWidth = o && !n.showEditor ? b.gutterWidth : 0;
        var x = k + a.previewGutterWidth;
        a.previewGutterLeft = x - s,
        a.previewPadding = c + "px " + k + "px " + w + "px " + x + "px",
        a.editorWidth = a.showSidePreview ? y : i;
        var C = Math.max(Math.floor((a.editorWidth - a.textWidth) / 2), s);
        a.editorGutterWidth = o && n.showEditor ? b.gutterWidth : 0;
        var I = C + a.editorGutterWidth;
        if (a.editorGutterLeft = I - s,
        a.editorPadding = c + "px " + C + "px " + w + "px " + I + "px",
        a.titleMaxWidth = a.innerWidth - l - d - p,
        a.showEditor) {
            var S = t["syncLocation/current"]
              , E = t["publishLocation/current"];
            a.titleMaxWidth -= u + f * (S.length + E.length) + 2 * v + m,
            a.titleMaxWidth + u < g && (a.hideLocations = !0)
        }
        return a.titleMaxWidth = Math.max(g, Math.min(h, a.titleMaxWidth)),
        a
    }
    var a = n(403)
      , i = 2
      , o = 0;
    a.a.forEach(function(e) {
        e.method ? i += 1 : o += 1
    });
    var s = 25
      , c = 10
      , u = 34 * i + 8 * o
      , l = 54
      , d = 46
      , p = 37
      , f = 20
      , v = 44
      , m = 8
      , h = 800
      , g = 200
      , b = {
        editorMinWidth: 320,
        explorerWidth: 260,
        gutterWidth: 250,
        sideBarWidth: 280,
        navigationBarHeight: 44,
        buttonBarWidth: 26,
        statusBarHeight: 20
    };
    t.a = {
        namespaced: !0,
        state: {
            canUndo: !1,
            canRedo: !1,
            bodyWidth: 0,
            bodyHeight: 0
        },
        mutations: {
            setCanUndo: function(e, t) {
                e.canUndo = t
            },
            setCanRedo: function(e, t) {
                e.canRedo = t
            },
            updateBodySize: function(e) {
                e.bodyWidth = document.body.clientWidth,
                e.bodyHeight = document.body.clientHeight
            }
        },
        getters: {
            constants: function() {
                return b
            },
            styles: function(e, t, n, a) {
                return r(n, a)
            }
        },
        actions: {
            updateBodySize: function(e) {
                var t = e.commit
                  , n = e.dispatch
                  , r = e.rootGetters;
                t("updateBodySize"),
                n("data/toggleExplorer", r["data/layoutSettings"].showExplorer, {
                    root: !0
                })
            }
        }
    }
}
, function(e, t, n) {
    "use strict";
    var r = n(81)
      , a = n.n(r)
      , i = n(3)
      , o = n.n(i)
      , s = n(147)
      , c = n(101)
      , u = n(4)
      , l = function(e, t) {
        var n = e[t.fileId];
        n ? n.push(t) : e[t.fileId] = [t]
    };
    t.a = function(e) {
        var t = n.i(s.a)(e);
        return t.getters = o()({}, t.getters, {
            groupedByFileId: function(e, t) {
                var n = t.items
                  , r = {};
                return n.forEach(function(e) {
                    return l(r, e)
                }),
                r
            },
            groupedByFileIdAndHash: function(e, t) {
                var n = t.items
                  , r = {};
                return n.forEach(function(e) {
                    var t = r[e.fileId];
                    t || (t = {},
                    r[e.fileId] = t);
                    var n = t[e.hash];
                    n ? n.push(e) : t[e.hash] = [e]
                }),
                r
            },
            filteredGroupedByFileId: function(e, t) {
                var n = t.items
                  , r = {};
                return n.filter(function(e) {
                    var t = c.a.providersById[e.providerId];
                    return t && t.getToken(e)
                }).forEach(function(e) {
                    return l(r, e)
                }),
                r
            },
            current: function(e, t, n, r) {
                return (t.filteredGroupedByFileId[r["file/current"].id] || []).map(function(e) {
                    var t = c.a.providersById[e.providerId];
                    return o()({}, e, {
                        description: u.a.sanitizeName(t.getLocationDescription(e)),
                        url: t.getLocationUrl(e)
                    })
                })
            },
            currentWithWorkspaceSyncLocation: function(e, t, n, r) {
                var i = t.current
                  , o = r["file/current"].id
                  , s = r["data/syncDataByItemId"][o]
                  , l = r["data/syncDataByItemId"][o + "/content"];
                if (!s || !l)
                    return i;
                var d = c.a.providersById[r["workspace/currentWorkspace"].providerId];
                return [{
                    id: "main",
                    providerId: d.id,
                    fileId: o,
                    description: u.a.sanitizeName(d.getSyncDataDescription(s, l)),
                    url: d.getSyncDataUrl(s, l)
                }].concat(a()(i))
            }
        }),
        t
    }
}
, function(e, t, n) {
    "use strict";
    var r = n(6)
      , a = n.n(r)
      , i = n(81)
      , o = n.n(i)
      , s = n(33)
      , c = n.n(s)
      , u = n(3)
      , l = n.n(u)
      , d = n(210)
      , p = n.n(d)
      , f = n(5)
      , v = n.n(f);
    t.a = {
        namespaced: !0,
        state: {
            stack: [],
            hidden: !1
        },
        mutations: {
            setStack: function(e, t) {
                e.stack = t
            },
            setHidden: function(e, t) {
                e.hidden = t
            }
        },
        getters: {
            config: function(e) {
                var t = e.hidden
                  , n = e.stack;
                return !t && n[0]
            }
        },
        actions: {
            open: function(e, t) {
                var n = this
                  , r = e.commit
                  , i = e.state;
                return v()(a.a.mark(function e() {
                    var s;
                    return a.a.wrap(function(e) {
                        for (; ; )
                            switch (e.prev = e.next) {
                            case 0:
                                return s = "object" === (void 0 === t ? "undefined" : p()(t)) ? l()({}, t) : {
                                    type: t
                                },
                                e.prev = 1,
                                e.next = 4,
                                new c.a(function(e, t) {
                                    s.resolve = e,
                                    s.reject = t,
                                    r("setStack", [s].concat(o()(i.stack)))
                                }
                                );
                            case 4:
                                return e.abrupt("return", e.sent);
                            case 5:
                                return e.prev = 5,
                                r("setStack", i.stack.filter(function(e) {
                                    return e !== s
                                })),
                                e.finish(5);
                            case 8:
                            case "end":
                                return e.stop()
                            }
                    }, e, n, [[1, , 5, 8]])
                }))()
            },
            hideUntil: function(e, t) {
                var n = this
                  , r = e.commit;
                return v()(a.a.mark(function e() {
                    return a.a.wrap(function(e) {
                        for (; ; )
                            switch (e.prev = e.next) {
                            case 0:
                                return e.prev = 0,
                                r("setHidden", !0),
                                e.next = 4,
                                t;
                            case 4:
                                return e.abrupt("return", e.sent);
                            case 5:
                                return e.prev = 5,
                                r("setHidden", !1),
                                e.finish(5);
                            case 8:
                            case "end":
                                return e.stop()
                            }
                    }, e, n, [[0, , 5, 8]])
                }))()
            }
        }
    }
}
, function(e, t, n) {
    "use strict";
    var r = n(81)
      , a = n.n(r)
      , i = n(33)
      , o = n.n(i)
      , s = n(101)
      , c = n(4);
    t.a = {
        namespaced: !0,
        state: {
            items: []
        },
        mutations: {
            setItems: function(e, t) {
                e.items = t
            }
        },
        actions: {
            showItem: function(e, t) {
                var n = e.state
                  , r = e.commit
                  , i = c.a.someResult(n.items, function(e) {
                    return e.type === t.type && e.content === t.content && t
                });
                return i ? i.promise : (t.promise = new o.a(function(e, i) {
                    r("setItems", [].concat(a()(n.items), [t]));
                    var o = function() {
                        return r("setItems", n.items.filter(function(e) {
                            return e !== t
                        }))
                    };
                    setTimeout(function() {
                        return o()
                    }, t.timeout || 5e3),
                    t.resolve = function(t) {
                        o(),
                        e(t)
                    }
                    ,
                    t.reject = function(e) {
                        o(),
                        i(e)
                    }
                }
                ),
                t.promise)
            },
            info: function(e, t) {
                return (0,
                e.dispatch)("showItem", {
                    type: "info",
                    content: t
                })
            },
            badge: function(e, t) {
                return (0,
                e.dispatch)("showItem", {
                    type: "badge",
                    content: t
                })
            },
            confirm: function(e, t) {
                return (0,
                e.dispatch)("showItem", {
                    type: "confirm",
                    content: t,
                    timeout: 1e4
                })
            },
            error: function(e, t) {
                var n = e.dispatch
                  , r = e.rootState
                  , a = {
                    type: "error"
                };
                if (t)
                    if (t.message)
                        a.content = t.message;
                    else if (t.status) {
                        var i = r.queue.currentLocation;
                        if (i.providerId) {
                            var o = s.a.providersById[i.providerId];
                            a.content = "HTTP error " + t.status + " on " + o.name + " location."
                        } else
                            a.content = "HTTP error " + t.status + "."
                    } else
                        a.content = "" + t;
                return a.content && "[object Object]" !== a.content || (a.content = "Unknown error."),
                n("showItem", a)
            }
        }
    }
}
, function(e, t, n) {
    "use strict";
    var r = n(6)
      , a = n.n(r)
      , i = n(5)
      , o = n.n(i)
      , s = n(33)
      , c = n.n(s)
      , u = function(e) {
        return function(t, n) {
            t[e] = n
        }
    }
      , l = c.a.resolve();
    t.a = {
        namespaced: !0,
        state: {
            isEmpty: !0,
            isSyncRequested: !1,
            isPublishRequested: !1,
            currentLocation: {}
        },
        mutations: {
            setIsEmpty: u("isEmpty"),
            setIsSyncRequested: u("isSyncRequested"),
            setIsPublishRequested: u("isPublishRequested"),
            setCurrentLocation: u("currentLocation")
        },
        actions: {
            enqueue: function(e, t) {
                var n = e.state
                  , r = e.commit
                  , a = e.dispatch;
                if (!n.offline) {
                    var i = function() {
                        if (n.offline)
                            throw l = c.a.resolve(),
                            r("setIsEmpty", !0),
                            new Error("offline")
                    };
                    n.isEmpty && r("setIsEmpty", !1);
                    var o = l.then(function() {
                        return i()
                    }).then(function() {
                        return c.a.resolve().then(function() {
                            return t()
                        }).catch(function(e) {
                            console.error(e),
                            i(),
                            a("notification/error", e, {
                                root: !0
                            })
                        }).then(function() {
                            o === l && r("setIsEmpty", !0)
                        })
                    });
                    l = o
                }
            },
            enqueueSyncRequest: function(e, t) {
                var n = e.state
                  , r = e.commit
                  , a = e.dispatch;
                if (!n.isSyncRequested) {
                    r("setIsSyncRequested", !0);
                    var i = function() {
                        return r("setIsSyncRequested", !1)
                    };
                    a("enqueue", function() {
                        return t().then(i, function(e) {
                            throw i(),
                            e
                        })
                    })
                }
            },
            enqueuePublishRequest: function(e, t) {
                var n = e.state
                  , r = e.commit
                  , a = e.dispatch;
                if (!n.isSyncRequested) {
                    r("setIsPublishRequested", !0);
                    var i = function() {
                        return r("setIsPublishRequested", !1)
                    };
                    a("enqueue", function() {
                        return t().then(i, function(e) {
                            throw i(),
                            e
                        })
                    })
                }
            },
            doWithLocation: function(e, t) {
                var n = this
                  , r = e.commit
                  , i = t.location
                  , s = t.action;
                return o()(a.a.mark(function e() {
                    return a.a.wrap(function(e) {
                        for (; ; )
                            switch (e.prev = e.next) {
                            case 0:
                                return e.prev = 0,
                                r("setCurrentLocation", i),
                                e.next = 4,
                                s();
                            case 4:
                                return e.abrupt("return", e.sent);
                            case 5:
                                return e.prev = 5,
                                r("setCurrentLocation", {}),
                                e.finish(5);
                            case 8:
                            case "end":
                                return e.stop()
                            }
                    }, e, n, [[0, , 5, 8]])
                }))()
            }
        }
    }
}
, function(e, t, n) {
    "use strict";
    var r = n(3)
      , a = n.n(r)
      , i = n(147)
      , o = n(852)
      , e = n.i(i.a)(o.a, !0);
    e.getters = a()({}, e.getters, {
        current: function(e, t, r, a) {
            return e.itemsById[a["file/current"].id + "/syncedContent"] || n.i(o.a)()
        }
    }),
    t.a = e
}
, function(e, t, n) {
    "use strict";
    var r = n(3)
      , a = n.n(r)
      , i = n(55);
    t.a = {
        namespaced: !0,
        state: {
            itemsById: {}
        },
        mutations: {
            setItem: function(e, t) {
                var n = e.itemsById
                  , r = a()({}, t)
                  , o = n[t.id];
                o && (r.name || (r.name = o.name),
                r.imageUrl || (r.imageUrl = o.imageUrl)),
                i.a.set(n, t.id, r)
            }
        }
    }
}
, function(e, t, n) {
    "use strict";
    var r = n(92)
      , a = n.n(r)
      , i = n(3)
      , o = n.n(i)
      , s = n(15)
      , c = n.n(s)
      , u = n(19)
      , l = n.n(u)
      , d = n(4)
      , p = n(101);
    t.a = {
        namespaced: !0,
        state: {
            currentWorkspaceId: null,
            lastFocus: 0
        },
        mutations: {
            setCurrentWorkspaceId: function(e, t) {
                e.currentWorkspaceId = t
            },
            setLastFocus: function(e, t) {
                e.lastFocus = t
            }
        },
        getters: {
            workspacesById: function(e, t, n, r) {
                var a = {}
                  , i = r["workspace/mainWorkspaceToken"];
                return l()(r["data/workspaces"]).forEach(function(e) {
                    var t = c()(e, 2)
                      , n = t[0]
                      , r = t[1]
                      , s = o()({
                        id: n,
                        providerId: "googleDriveAppData",
                        sub: i && i.sub
                    }, r)
                      , u = p.a.providersById[s.providerId];
                    if (u) {
                        var l = u.getWorkspaceParams(s);
                        s.url = d.a.addQueryParams("app", l, !0),
                        s.locationUrl = u.getWorkspaceLocationUrl(s),
                        a[n] = s
                    }
                }),
                a
            },
            mainWorkspace: function(e, t) {
                return t.workspacesById.main
            },
            currentWorkspace: function(e, t) {
                var n = e.currentWorkspaceId
                  , r = t.workspacesById
                  , a = t.mainWorkspace;
                return r[n] || a
            },
            currentWorkspaceIsGit: function(e, t) {
                var n = t.currentWorkspace;
                return "githubWorkspace" === n.providerId || "gitlabWorkspace" === n.providerId
            },
            currentWorkspaceHasUniquePaths: function(e, t) {
                var n = t.currentWorkspace;
                return "githubWorkspace" === n.providerId || "gitlabWorkspace" === n.providerId
            },
            lastSyncActivityKey: function(e, t) {
                return t.currentWorkspace.id + "/lastSyncActivity"
            },
            lastFocusKey: function(e, t) {
                return t.currentWorkspace.id + "/lastWindowFocus"
            },
            mainWorkspaceToken: function(e, t, n, r) {
                return d.a.someResult(a()(r["data/googleTokensBySub"]), function(e) {
                    return e.isLogin ? e : null
                })
            },
            syncToken: function(e, t, n, r) {
                var a = t.currentWorkspace
                  , i = t.mainWorkspaceToken;
                switch (a.providerId) {
                case "googleDriveWorkspace":
                    return r["data/googleTokensBySub"][a.sub];
                case "githubWorkspace":
                    return r["data/githubTokensBySub"][a.sub];
                case "gitlabWorkspace":
                    return r["data/gitlabTokensBySub"][a.sub];
                case "couchdbWorkspace":
                    return r["data/couchdbTokensBySub"][a.id];
                default:
                    return i
                }
            },
            loginType: function(e, t) {
                switch (t.currentWorkspace.providerId) {
                case "googleDriveWorkspace":
                default:
                    return "google";
                case "githubWorkspace":
                    return "github";
                case "gitlabWorkspace":
                    return "gitlab"
                }
            },
            loginToken: function(e, t, n, r) {
                var a = t.loginType
                  , i = t.currentWorkspace
                  , o = r["data/tokensByType"][a];
                return o && o[i.sub]
            },
            sponsorToken: function(e, t) {
                return t.mainWorkspaceToken
            }
        },
        actions: {
            removeWorkspace: function(e, t) {
                var n = e.commit
                  , r = e.rootGetters
                  , a = o()({}, r["data/workspaces"]);
                delete a[t],
                n("data/setItem", {
                    id: "workspaces",
                    data: a
                }, {
                    root: !0
                })
            },
            patchWorkspacesById: function(e, t) {
                var n = e.commit
                  , r = e.rootGetters
                  , a = {};
                l()(o()({}, r["data/workspaces"], t)).forEach(function(e) {
                    var t = c()(e, 2)
                      , n = t[0]
                      , r = t[1];
                    a[n] = o()({}, r, {
                        id: n,
                        url: void 0,
                        locationUrl: void 0
                    })
                }),
                n("data/setItem", {
                    id: "workspaces",
                    data: a
                }, {
                    root: !0
                })
            },
            setCurrentWorkspaceId: function(e, t) {
                var n = e.commit
                  , r = e.getters;
                n("setCurrentWorkspaceId", t),
                n("setLastFocus", parseInt(localStorage.getItem(r.lastFocusKey), 10) || 0)
            }
        }
    }
}
, function(e, t, n) {
    "use strict";
    var r = n(1572)
      , a = (n.n(r),
    n(1569))
      , i = (n.n(a),
    n(1571))
      , o = (n.n(i),
    n(1568));
    n.n(o)
}
, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , function(e, t) {
    e.exports = {
        Aacute: "Á",
        aacute: "á",
        Abreve: "Ă",
        abreve: "ă",
        ac: "∾",
        acd: "∿",
        acE: "∾̳",
        Acirc: "Â",
        acirc: "â",
        acute: "´",
        Acy: "А",
        acy: "а",
        AElig: "Æ",
        aelig: "æ",
        af: "⁡",
        Afr: "𝔄",
        afr: "𝔞",
        Agrave: "À",
        agrave: "à",
        alefsym: "ℵ",
        aleph: "ℵ",
        Alpha: "Α",
        alpha: "α",
        Amacr: "Ā",
        amacr: "ā",
        amalg: "⨿",
        amp: "&",
        AMP: "&",
        andand: "⩕",
        And: "⩓",
        and: "∧",
        andd: "⩜",
        andslope: "⩘",
        andv: "⩚",
        ang: "∠",
        ange: "⦤",
        angle: "∠",
        angmsdaa: "⦨",
        angmsdab: "⦩",
        angmsdac: "⦪",
        angmsdad: "⦫",
        angmsdae: "⦬",
        angmsdaf: "⦭",
        angmsdag: "⦮",
        angmsdah: "⦯",
        angmsd: "∡",
        angrt: "∟",
        angrtvb: "⊾",
        angrtvbd: "⦝",
        angsph: "∢",
        angst: "Å",
        angzarr: "⍼",
        Aogon: "Ą",
        aogon: "ą",
        Aopf: "𝔸",
        aopf: "𝕒",
        apacir: "⩯",
        ap: "≈",
        apE: "⩰",
        ape: "≊",
        apid: "≋",
        apos: "'",
        ApplyFunction: "⁡",
        approx: "≈",
        approxeq: "≊",
        Aring: "Å",
        aring: "å",
        Ascr: "𝒜",
        ascr: "𝒶",
        Assign: "≔",
        ast: "*",
        asymp: "≈",
        asympeq: "≍",
        Atilde: "Ã",
        atilde: "ã",
        Auml: "Ä",
        auml: "ä",
        awconint: "∳",
        awint: "⨑",
        backcong: "≌",
        backepsilon: "϶",
        backprime: "‵",
        backsim: "∽",
        backsimeq: "⋍",
        Backslash: "∖",
        Barv: "⫧",
        barvee: "⊽",
        barwed: "⌅",
        Barwed: "⌆",
        barwedge: "⌅",
        bbrk: "⎵",
        bbrktbrk: "⎶",
        bcong: "≌",
        Bcy: "Б",
        bcy: "б",
        bdquo: "„",
        becaus: "∵",
        because: "∵",
        Because: "∵",
        bemptyv: "⦰",
        bepsi: "϶",
        bernou: "ℬ",
        Bernoullis: "ℬ",
        Beta: "Β",
        beta: "β",
        beth: "ℶ",
        between: "≬",
        Bfr: "𝔅",
        bfr: "𝔟",
        bigcap: "⋂",
        bigcirc: "◯",
        bigcup: "⋃",
        bigodot: "⨀",
        bigoplus: "⨁",
        bigotimes: "⨂",
        bigsqcup: "⨆",
        bigstar: "★",
        bigtriangledown: "▽",
        bigtriangleup: "△",
        biguplus: "⨄",
        bigvee: "⋁",
        bigwedge: "⋀",
        bkarow: "⤍",
        blacklozenge: "⧫",
        blacksquare: "▪",
        blacktriangle: "▴",
        blacktriangledown: "▾",
        blacktriangleleft: "◂",
        blacktriangleright: "▸",
        blank: "␣",
        blk12: "▒",
        blk14: "░",
        blk34: "▓",
        block: "█",
        bne: "=⃥",
        bnequiv: "≡⃥",
        bNot: "⫭",
        bnot: "⌐",
        Bopf: "𝔹",
        bopf: "𝕓",
        bot: "⊥",
        bottom: "⊥",
        bowtie: "⋈",
        boxbox: "⧉",
        boxdl: "┐",
        boxdL: "╕",
        boxDl: "╖",
        boxDL: "╗",
        boxdr: "┌",
        boxdR: "╒",
        boxDr: "╓",
        boxDR: "╔",
        boxh: "─",
        boxH: "═",
        boxhd: "┬",
        boxHd: "╤",
        boxhD: "╥",
        boxHD: "╦",
        boxhu: "┴",
        boxHu: "╧",
        boxhU: "╨",
        boxHU: "╩",
        boxminus: "⊟",
        boxplus: "⊞",
        boxtimes: "⊠",
        boxul: "┘",
        boxuL: "╛",
        boxUl: "╜",
        boxUL: "╝",
        boxur: "└",
        boxuR: "╘",
        boxUr: "╙",
        boxUR: "╚",
        boxv: "│",
        boxV: "║",
        boxvh: "┼",
        boxvH: "╪",
        boxVh: "╫",
        boxVH: "╬",
        boxvl: "┤",
        boxvL: "╡",
        boxVl: "╢",
        boxVL: "╣",
        boxvr: "├",
        boxvR: "╞",
        boxVr: "╟",
        boxVR: "╠",
        bprime: "‵",
        breve: "˘",
        Breve: "˘",
        brvbar: "¦",
        bscr: "𝒷",
        Bscr: "ℬ",
        bsemi: "⁏",
        bsim: "∽",
        bsime: "⋍",
        bsolb: "⧅",
        bsol: "\\",
        bsolhsub: "⟈",
        bull: "•",
        bullet: "•",
        bump: "≎",
        bumpE: "⪮",
        bumpe: "≏",
        Bumpeq: "≎",
        bumpeq: "≏",
        Cacute: "Ć",
        cacute: "ć",
        capand: "⩄",
        capbrcup: "⩉",
        capcap: "⩋",
        cap: "∩",
        Cap: "⋒",
        capcup: "⩇",
        capdot: "⩀",
        CapitalDifferentialD: "ⅅ",
        caps: "∩︀",
        caret: "⁁",
        caron: "ˇ",
        Cayleys: "ℭ",
        ccaps: "⩍",
        Ccaron: "Č",
        ccaron: "č",
        Ccedil: "Ç",
        ccedil: "ç",
        Ccirc: "Ĉ",
        ccirc: "ĉ",
        Cconint: "∰",
        ccups: "⩌",
        ccupssm: "⩐",
        Cdot: "Ċ",
        cdot: "ċ",
        cedil: "¸",
        Cedilla: "¸",
        cemptyv: "⦲",
        cent: "¢",
        centerdot: "·",
        CenterDot: "·",
        cfr: "𝔠",
        Cfr: "ℭ",
        CHcy: "Ч",
        chcy: "ч",
        check: "✓",
        checkmark: "✓",
        Chi: "Χ",
        chi: "χ",
        circ: "ˆ",
        circeq: "≗",
        circlearrowleft: "↺",
        circlearrowright: "↻",
        circledast: "⊛",
        circledcirc: "⊚",
        circleddash: "⊝",
        CircleDot: "⊙",
        circledR: "®",
        circledS: "Ⓢ",
        CircleMinus: "⊖",
        CirclePlus: "⊕",
        CircleTimes: "⊗",
        cir: "○",
        cirE: "⧃",
        cire: "≗",
        cirfnint: "⨐",
        cirmid: "⫯",
        cirscir: "⧂",
        ClockwiseContourIntegral: "∲",
        CloseCurlyDoubleQuote: "”",
        CloseCurlyQuote: "’",
        clubs: "♣",
        clubsuit: "♣",
        colon: ":",
        Colon: "∷",
        Colone: "⩴",
        colone: "≔",
        coloneq: "≔",
        comma: ",",
        commat: "@",
        comp: "∁",
        compfn: "∘",
        complement: "∁",
        complexes: "ℂ",
        cong: "≅",
        congdot: "⩭",
        Congruent: "≡",
        conint: "∮",
        Conint: "∯",
        ContourIntegral: "∮",
        copf: "𝕔",
        Copf: "ℂ",
        coprod: "∐",
        Coproduct: "∐",
        copy: "©",
        COPY: "©",
        copysr: "℗",
        CounterClockwiseContourIntegral: "∳",
        crarr: "↵",
        cross: "✗",
        Cross: "⨯",
        Cscr: "𝒞",
        cscr: "𝒸",
        csub: "⫏",
        csube: "⫑",
        csup: "⫐",
        csupe: "⫒",
        ctdot: "⋯",
        cudarrl: "⤸",
        cudarrr: "⤵",
        cuepr: "⋞",
        cuesc: "⋟",
        cularr: "↶",
        cularrp: "⤽",
        cupbrcap: "⩈",
        cupcap: "⩆",
        CupCap: "≍",
        cup: "∪",
        Cup: "⋓",
        cupcup: "⩊",
        cupdot: "⊍",
        cupor: "⩅",
        cups: "∪︀",
        curarr: "↷",
        curarrm: "⤼",
        curlyeqprec: "⋞",
        curlyeqsucc: "⋟",
        curlyvee: "⋎",
        curlywedge: "⋏",
        curren: "¤",
        curvearrowleft: "↶",
        curvearrowright: "↷",
        cuvee: "⋎",
        cuwed: "⋏",
        cwconint: "∲",
        cwint: "∱",
        cylcty: "⌭",
        dagger: "†",
        Dagger: "‡",
        daleth: "ℸ",
        darr: "↓",
        Darr: "↡",
        dArr: "⇓",
        dash: "‐",
        Dashv: "⫤",
        dashv: "⊣",
        dbkarow: "⤏",
        dblac: "˝",
        Dcaron: "Ď",
        dcaron: "ď",
        Dcy: "Д",
        dcy: "д",
        ddagger: "‡",
        ddarr: "⇊",
        DD: "ⅅ",
        dd: "ⅆ",
        DDotrahd: "⤑",
        ddotseq: "⩷",
        deg: "°",
        Del: "∇",
        Delta: "Δ",
        delta: "δ",
        demptyv: "⦱",
        dfisht: "⥿",
        Dfr: "𝔇",
        dfr: "𝔡",
        dHar: "⥥",
        dharl: "⇃",
        dharr: "⇂",
        DiacriticalAcute: "´",
        DiacriticalDot: "˙",
        DiacriticalDoubleAcute: "˝",
        DiacriticalGrave: "`",
        DiacriticalTilde: "˜",
        diam: "⋄",
        diamond: "⋄",
        Diamond: "⋄",
        diamondsuit: "♦",
        diams: "♦",
        die: "¨",
        DifferentialD: "ⅆ",
        digamma: "ϝ",
        disin: "⋲",
        div: "÷",
        divide: "÷",
        divideontimes: "⋇",
        divonx: "⋇",
        DJcy: "Ђ",
        djcy: "ђ",
        dlcorn: "⌞",
        dlcrop: "⌍",
        dollar: "$",
        Dopf: "𝔻",
        dopf: "𝕕",
        Dot: "¨",
        dot: "˙",
        DotDot: "⃜",
        doteq: "≐",
        doteqdot: "≑",
        DotEqual: "≐",
        dotminus: "∸",
        dotplus: "∔",
        dotsquare: "⊡",
        doublebarwedge: "⌆",
        DoubleContourIntegral: "∯",
        DoubleDot: "¨",
        DoubleDownArrow: "⇓",
        DoubleLeftArrow: "⇐",
        DoubleLeftRightArrow: "⇔",
        DoubleLeftTee: "⫤",
        DoubleLongLeftArrow: "⟸",
        DoubleLongLeftRightArrow: "⟺",
        DoubleLongRightArrow: "⟹",
        DoubleRightArrow: "⇒",
        DoubleRightTee: "⊨",
        DoubleUpArrow: "⇑",
        DoubleUpDownArrow: "⇕",
        DoubleVerticalBar: "∥",
        DownArrowBar: "⤓",
        downarrow: "↓",
        DownArrow: "↓",
        Downarrow: "⇓",
        DownArrowUpArrow: "⇵",
        DownBreve: "̑",
        downdownarrows: "⇊",
        downharpoonleft: "⇃",
        downharpoonright: "⇂",
        DownLeftRightVector: "⥐",
        DownLeftTeeVector: "⥞",
        DownLeftVectorBar: "⥖",
        DownLeftVector: "↽",
        DownRightTeeVector: "⥟",
        DownRightVectorBar: "⥗",
        DownRightVector: "⇁",
        DownTeeArrow: "↧",
        DownTee: "⊤",
        drbkarow: "⤐",
        drcorn: "⌟",
        drcrop: "⌌",
        Dscr: "𝒟",
        dscr: "𝒹",
        DScy: "Ѕ",
        dscy: "ѕ",
        dsol: "⧶",
        Dstrok: "Đ",
        dstrok: "đ",
        dtdot: "⋱",
        dtri: "▿",
        dtrif: "▾",
        duarr: "⇵",
        duhar: "⥯",
        dwangle: "⦦",
        DZcy: "Џ",
        dzcy: "џ",
        dzigrarr: "⟿",
        Eacute: "É",
        eacute: "é",
        easter: "⩮",
        Ecaron: "Ě",
        ecaron: "ě",
        Ecirc: "Ê",
        ecirc: "ê",
        ecir: "≖",
        ecolon: "≕",
        Ecy: "Э",
        ecy: "э",
        eDDot: "⩷",
        Edot: "Ė",
        edot: "ė",
        eDot: "≑",
        ee: "ⅇ",
        efDot: "≒",
        Efr: "𝔈",
        efr: "𝔢",
        eg: "⪚",
        Egrave: "È",
        egrave: "è",
        egs: "⪖",
        egsdot: "⪘",
        el: "⪙",
        Element: "∈",
        elinters: "⏧",
        ell: "ℓ",
        els: "⪕",
        elsdot: "⪗",
        Emacr: "Ē",
        emacr: "ē",
        empty: "∅",
        emptyset: "∅",
        EmptySmallSquare: "◻",
        emptyv: "∅",
        EmptyVerySmallSquare: "▫",
        emsp13: " ",
        emsp14: " ",
        emsp: " ",
        ENG: "Ŋ",
        eng: "ŋ",
        ensp: " ",
        Eogon: "Ę",
        eogon: "ę",
        Eopf: "𝔼",
        eopf: "𝕖",
        epar: "⋕",
        eparsl: "⧣",
        eplus: "⩱",
        epsi: "ε",
        Epsilon: "Ε",
        epsilon: "ε",
        epsiv: "ϵ",
        eqcirc: "≖",
        eqcolon: "≕",
        eqsim: "≂",
        eqslantgtr: "⪖",
        eqslantless: "⪕",
        Equal: "⩵",
        equals: "=",
        EqualTilde: "≂",
        equest: "≟",
        Equilibrium: "⇌",
        equiv: "≡",
        equivDD: "⩸",
        eqvparsl: "⧥",
        erarr: "⥱",
        erDot: "≓",
        escr: "ℯ",
        Escr: "ℰ",
        esdot: "≐",
        Esim: "⩳",
        esim: "≂",
        Eta: "Η",
        eta: "η",
        ETH: "Ð",
        eth: "ð",
        Euml: "Ë",
        euml: "ë",
        euro: "€",
        excl: "!",
        exist: "∃",
        Exists: "∃",
        expectation: "ℰ",
        exponentiale: "ⅇ",
        ExponentialE: "ⅇ",
        fallingdotseq: "≒",
        Fcy: "Ф",
        fcy: "ф",
        female: "♀",
        ffilig: "ﬃ",
        fflig: "ﬀ",
        ffllig: "ﬄ",
        Ffr: "𝔉",
        ffr: "𝔣",
        filig: "ﬁ",
        FilledSmallSquare: "◼",
        FilledVerySmallSquare: "▪",
        fjlig: "fj",
        flat: "♭",
        fllig: "ﬂ",
        fltns: "▱",
        fnof: "ƒ",
        Fopf: "𝔽",
        fopf: "𝕗",
        forall: "∀",
        ForAll: "∀",
        fork: "⋔",
        forkv: "⫙",
        Fouriertrf: "ℱ",
        fpartint: "⨍",
        frac12: "½",
        frac13: "⅓",
        frac14: "¼",
        frac15: "⅕",
        frac16: "⅙",
        frac18: "⅛",
        frac23: "⅔",
        frac25: "⅖",
        frac34: "¾",
        frac35: "⅗",
        frac38: "⅜",
        frac45: "⅘",
        frac56: "⅚",
        frac58: "⅝",
        frac78: "⅞",
        frasl: "⁄",
        frown: "⌢",
        fscr: "𝒻",
        Fscr: "ℱ",
        gacute: "ǵ",
        Gamma: "Γ",
        gamma: "γ",
        Gammad: "Ϝ",
        gammad: "ϝ",
        gap: "⪆",
        Gbreve: "Ğ",
        gbreve: "ğ",
        Gcedil: "Ģ",
        Gcirc: "Ĝ",
        gcirc: "ĝ",
        Gcy: "Г",
        gcy: "г",
        Gdot: "Ġ",
        gdot: "ġ",
        ge: "≥",
        gE: "≧",
        gEl: "⪌",
        gel: "⋛",
        geq: "≥",
        geqq: "≧",
        geqslant: "⩾",
        gescc: "⪩",
        ges: "⩾",
        gesdot: "⪀",
        gesdoto: "⪂",
        gesdotol: "⪄",
        gesl: "⋛︀",
        gesles: "⪔",
        Gfr: "𝔊",
        gfr: "𝔤",
        gg: "≫",
        Gg: "⋙",
        ggg: "⋙",
        gimel: "ℷ",
        GJcy: "Ѓ",
        gjcy: "ѓ",
        gla: "⪥",
        gl: "≷",
        glE: "⪒",
        glj: "⪤",
        gnap: "⪊",
        gnapprox: "⪊",
        gne: "⪈",
        gnE: "≩",
        gneq: "⪈",
        gneqq: "≩",
        gnsim: "⋧",
        Gopf: "𝔾",
        gopf: "𝕘",
        grave: "`",
        GreaterEqual: "≥",
        GreaterEqualLess: "⋛",
        GreaterFullEqual: "≧",
        GreaterGreater: "⪢",
        GreaterLess: "≷",
        GreaterSlantEqual: "⩾",
        GreaterTilde: "≳",
        Gscr: "𝒢",
        gscr: "ℊ",
        gsim: "≳",
        gsime: "⪎",
        gsiml: "⪐",
        gtcc: "⪧",
        gtcir: "⩺",
        gt: ">",
        GT: ">",
        Gt: "≫",
        gtdot: "⋗",
        gtlPar: "⦕",
        gtquest: "⩼",
        gtrapprox: "⪆",
        gtrarr: "⥸",
        gtrdot: "⋗",
        gtreqless: "⋛",
        gtreqqless: "⪌",
        gtrless: "≷",
        gtrsim: "≳",
        gvertneqq: "≩︀",
        gvnE: "≩︀",
        Hacek: "ˇ",
        hairsp: " ",
        half: "½",
        hamilt: "ℋ",
        HARDcy: "Ъ",
        hardcy: "ъ",
        harrcir: "⥈",
        harr: "↔",
        hArr: "⇔",
        harrw: "↭",
        Hat: "^",
        hbar: "ℏ",
        Hcirc: "Ĥ",
        hcirc: "ĥ",
        hearts: "♥",
        heartsuit: "♥",
        hellip: "…",
        hercon: "⊹",
        hfr: "𝔥",
        Hfr: "ℌ",
        HilbertSpace: "ℋ",
        hksearow: "⤥",
        hkswarow: "⤦",
        hoarr: "⇿",
        homtht: "∻",
        hookleftarrow: "↩",
        hookrightarrow: "↪",
        hopf: "𝕙",
        Hopf: "ℍ",
        horbar: "―",
        HorizontalLine: "─",
        hscr: "𝒽",
        Hscr: "ℋ",
        hslash: "ℏ",
        Hstrok: "Ħ",
        hstrok: "ħ",
        HumpDownHump: "≎",
        HumpEqual: "≏",
        hybull: "⁃",
        hyphen: "‐",
        Iacute: "Í",
        iacute: "í",
        ic: "⁣",
        Icirc: "Î",
        icirc: "î",
        Icy: "И",
        icy: "и",
        Idot: "İ",
        IEcy: "Е",
        iecy: "е",
        iexcl: "¡",
        iff: "⇔",
        ifr: "𝔦",
        Ifr: "ℑ",
        Igrave: "Ì",
        igrave: "ì",
        ii: "ⅈ",
        iiiint: "⨌",
        iiint: "∭",
        iinfin: "⧜",
        iiota: "℩",
        IJlig: "Ĳ",
        ijlig: "ĳ",
        Imacr: "Ī",
        imacr: "ī",
        image: "ℑ",
        ImaginaryI: "ⅈ",
        imagline: "ℐ",
        imagpart: "ℑ",
        imath: "ı",
        Im: "ℑ",
        imof: "⊷",
        imped: "Ƶ",
        Implies: "⇒",
        incare: "℅",
        in: "∈",
        infin: "∞",
        infintie: "⧝",
        inodot: "ı",
        intcal: "⊺",
        int: "∫",
        Int: "∬",
        integers: "ℤ",
        Integral: "∫",
        intercal: "⊺",
        Intersection: "⋂",
        intlarhk: "⨗",
        intprod: "⨼",
        InvisibleComma: "⁣",
        InvisibleTimes: "⁢",
        IOcy: "Ё",
        iocy: "ё",
        Iogon: "Į",
        iogon: "į",
        Iopf: "𝕀",
        iopf: "𝕚",
        Iota: "Ι",
        iota: "ι",
        iprod: "⨼",
        iquest: "¿",
        iscr: "𝒾",
        Iscr: "ℐ",
        isin: "∈",
        isindot: "⋵",
        isinE: "⋹",
        isins: "⋴",
        isinsv: "⋳",
        isinv: "∈",
        it: "⁢",
        Itilde: "Ĩ",
        itilde: "ĩ",
        Iukcy: "І",
        iukcy: "і",
        Iuml: "Ï",
        iuml: "ï",
        Jcirc: "Ĵ",
        jcirc: "ĵ",
        Jcy: "Й",
        jcy: "й",
        Jfr: "𝔍",
        jfr: "𝔧",
        jmath: "ȷ",
        Jopf: "𝕁",
        jopf: "𝕛",
        Jscr: "𝒥",
        jscr: "𝒿",
        Jsercy: "Ј",
        jsercy: "ј",
        Jukcy: "Є",
        jukcy: "є",
        Kappa: "Κ",
        kappa: "κ",
        kappav: "ϰ",
        Kcedil: "Ķ",
        kcedil: "ķ",
        Kcy: "К",
        kcy: "к",
        Kfr: "𝔎",
        kfr: "𝔨",
        kgreen: "ĸ",
        KHcy: "Х",
        khcy: "х",
        KJcy: "Ќ",
        kjcy: "ќ",
        Kopf: "𝕂",
        kopf: "𝕜",
        Kscr: "𝒦",
        kscr: "𝓀",
        lAarr: "⇚",
        Lacute: "Ĺ",
        lacute: "ĺ",
        laemptyv: "⦴",
        lagran: "ℒ",
        Lambda: "Λ",
        lambda: "λ",
        lang: "⟨",
        Lang: "⟪",
        langd: "⦑",
        langle: "⟨",
        lap: "⪅",
        Laplacetrf: "ℒ",
        laquo: "«",
        larrb: "⇤",
        larrbfs: "⤟",
        larr: "←",
        Larr: "↞",
        lArr: "⇐",
        larrfs: "⤝",
        larrhk: "↩",
        larrlp: "↫",
        larrpl: "⤹",
        larrsim: "⥳",
        larrtl: "↢",
        latail: "⤙",
        lAtail: "⤛",
        lat: "⪫",
        late: "⪭",
        lates: "⪭︀",
        lbarr: "⤌",
        lBarr: "⤎",
        lbbrk: "❲",
        lbrace: "{",
        lbrack: "[",
        lbrke: "⦋",
        lbrksld: "⦏",
        lbrkslu: "⦍",
        Lcaron: "Ľ",
        lcaron: "ľ",
        Lcedil: "Ļ",
        lcedil: "ļ",
        lceil: "⌈",
        lcub: "{",
        Lcy: "Л",
        lcy: "л",
        ldca: "⤶",
        ldquo: "“",
        ldquor: "„",
        ldrdhar: "⥧",
        ldrushar: "⥋",
        ldsh: "↲",
        le: "≤",
        lE: "≦",
        LeftAngleBracket: "⟨",
        LeftArrowBar: "⇤",
        leftarrow: "←",
        LeftArrow: "←",
        Leftarrow: "⇐",
        LeftArrowRightArrow: "⇆",
        leftarrowtail: "↢",
        LeftCeiling: "⌈",
        LeftDoubleBracket: "⟦",
        LeftDownTeeVector: "⥡",
        LeftDownVectorBar: "⥙",
        LeftDownVector: "⇃",
        LeftFloor: "⌊",
        leftharpoondown: "↽",
        leftharpoonup: "↼",
        leftleftarrows: "⇇",
        leftrightarrow: "↔",
        LeftRightArrow: "↔",
        Leftrightarrow: "⇔",
        leftrightarrows: "⇆",
        leftrightharpoons: "⇋",
        leftrightsquigarrow: "↭",
        LeftRightVector: "⥎",
        LeftTeeArrow: "↤",
        LeftTee: "⊣",
        LeftTeeVector: "⥚",
        leftthreetimes: "⋋",
        LeftTriangleBar: "⧏",
        LeftTriangle: "⊲",
        LeftTriangleEqual: "⊴",
        LeftUpDownVector: "⥑",
        LeftUpTeeVector: "⥠",
        LeftUpVectorBar: "⥘",
        LeftUpVector: "↿",
        LeftVectorBar: "⥒",
        LeftVector: "↼",
        lEg: "⪋",
        leg: "⋚",
        leq: "≤",
        leqq: "≦",
        leqslant: "⩽",
        lescc: "⪨",
        les: "⩽",
        lesdot: "⩿",
        lesdoto: "⪁",
        lesdotor: "⪃",
        lesg: "⋚︀",
        lesges: "⪓",
        lessapprox: "⪅",
        lessdot: "⋖",
        lesseqgtr: "⋚",
        lesseqqgtr: "⪋",
        LessEqualGreater: "⋚",
        LessFullEqual: "≦",
        LessGreater: "≶",
        lessgtr: "≶",
        LessLess: "⪡",
        lesssim: "≲",
        LessSlantEqual: "⩽",
        LessTilde: "≲",
        lfisht: "⥼",
        lfloor: "⌊",
        Lfr: "𝔏",
        lfr: "𝔩",
        lg: "≶",
        lgE: "⪑",
        lHar: "⥢",
        lhard: "↽",
        lharu: "↼",
        lharul: "⥪",
        lhblk: "▄",
        LJcy: "Љ",
        ljcy: "љ",
        llarr: "⇇",
        ll: "≪",
        Ll: "⋘",
        llcorner: "⌞",
        Lleftarrow: "⇚",
        llhard: "⥫",
        lltri: "◺",
        Lmidot: "Ŀ",
        lmidot: "ŀ",
        lmoustache: "⎰",
        lmoust: "⎰",
        lnap: "⪉",
        lnapprox: "⪉",
        lne: "⪇",
        lnE: "≨",
        lneq: "⪇",
        lneqq: "≨",
        lnsim: "⋦",
        loang: "⟬",
        loarr: "⇽",
        lobrk: "⟦",
        longleftarrow: "⟵",
        LongLeftArrow: "⟵",
        Longleftarrow: "⟸",
        longleftrightarrow: "⟷",
        LongLeftRightArrow: "⟷",
        Longleftrightarrow: "⟺",
        longmapsto: "⟼",
        longrightarrow: "⟶",
        LongRightArrow: "⟶",
        Longrightarrow: "⟹",
        looparrowleft: "↫",
        looparrowright: "↬",
        lopar: "⦅",
        Lopf: "𝕃",
        lopf: "𝕝",
        loplus: "⨭",
        lotimes: "⨴",
        lowast: "∗",
        lowbar: "_",
        LowerLeftArrow: "↙",
        LowerRightArrow: "↘",
        loz: "◊",
        lozenge: "◊",
        lozf: "⧫",
        lpar: "(",
        lparlt: "⦓",
        lrarr: "⇆",
        lrcorner: "⌟",
        lrhar: "⇋",
        lrhard: "⥭",
        lrm: "‎",
        lrtri: "⊿",
        lsaquo: "‹",
        lscr: "𝓁",
        Lscr: "ℒ",
        lsh: "↰",
        Lsh: "↰",
        lsim: "≲",
        lsime: "⪍",
        lsimg: "⪏",
        lsqb: "[",
        lsquo: "‘",
        lsquor: "‚",
        Lstrok: "Ł",
        lstrok: "ł",
        ltcc: "⪦",
        ltcir: "⩹",
        lt: "<",
        LT: "<",
        Lt: "≪",
        ltdot: "⋖",
        lthree: "⋋",
        ltimes: "⋉",
        ltlarr: "⥶",
        ltquest: "⩻",
        ltri: "◃",
        ltrie: "⊴",
        ltrif: "◂",
        ltrPar: "⦖",
        lurdshar: "⥊",
        luruhar: "⥦",
        lvertneqq: "≨︀",
        lvnE: "≨︀",
        macr: "¯",
        male: "♂",
        malt: "✠",
        maltese: "✠",
        Map: "⤅",
        map: "↦",
        mapsto: "↦",
        mapstodown: "↧",
        mapstoleft: "↤",
        mapstoup: "↥",
        marker: "▮",
        mcomma: "⨩",
        Mcy: "М",
        mcy: "м",
        mdash: "—",
        mDDot: "∺",
        measuredangle: "∡",
        MediumSpace: " ",
        Mellintrf: "ℳ",
        Mfr: "𝔐",
        mfr: "𝔪",
        mho: "℧",
        micro: "µ",
        midast: "*",
        midcir: "⫰",
        mid: "∣",
        middot: "·",
        minusb: "⊟",
        minus: "−",
        minusd: "∸",
        minusdu: "⨪",
        MinusPlus: "∓",
        mlcp: "⫛",
        mldr: "…",
        mnplus: "∓",
        models: "⊧",
        Mopf: "𝕄",
        mopf: "𝕞",
        mp: "∓",
        mscr: "𝓂",
        Mscr: "ℳ",
        mstpos: "∾",
        Mu: "Μ",
        mu: "μ",
        multimap: "⊸",
        mumap: "⊸",
        nabla: "∇",
        Nacute: "Ń",
        nacute: "ń",
        nang: "∠⃒",
        nap: "≉",
        napE: "⩰̸",
        napid: "≋̸",
        napos: "ŉ",
        napprox: "≉",
        natural: "♮",
        naturals: "ℕ",
        natur: "♮",
        nbsp: " ",
        nbump: "≎̸",
        nbumpe: "≏̸",
        ncap: "⩃",
        Ncaron: "Ň",
        ncaron: "ň",
        Ncedil: "Ņ",
        ncedil: "ņ",
        ncong: "≇",
        ncongdot: "⩭̸",
        ncup: "⩂",
        Ncy: "Н",
        ncy: "н",
        ndash: "–",
        nearhk: "⤤",
        nearr: "↗",
        neArr: "⇗",
        nearrow: "↗",
        ne: "≠",
        nedot: "≐̸",
        NegativeMediumSpace: "​",
        NegativeThickSpace: "​",
        NegativeThinSpace: "​",
        NegativeVeryThinSpace: "​",
        nequiv: "≢",
        nesear: "⤨",
        nesim: "≂̸",
        NestedGreaterGreater: "≫",
        NestedLessLess: "≪",
        NewLine: "\n",
        nexist: "∄",
        nexists: "∄",
        Nfr: "𝔑",
        nfr: "𝔫",
        ngE: "≧̸",
        nge: "≱",
        ngeq: "≱",
        ngeqq: "≧̸",
        ngeqslant: "⩾̸",
        nges: "⩾̸",
        nGg: "⋙̸",
        ngsim: "≵",
        nGt: "≫⃒",
        ngt: "≯",
        ngtr: "≯",
        nGtv: "≫̸",
        nharr: "↮",
        nhArr: "⇎",
        nhpar: "⫲",
        ni: "∋",
        nis: "⋼",
        nisd: "⋺",
        niv: "∋",
        NJcy: "Њ",
        njcy: "њ",
        nlarr: "↚",
        nlArr: "⇍",
        nldr: "‥",
        nlE: "≦̸",
        nle: "≰",
        nleftarrow: "↚",
        nLeftarrow: "⇍",
        nleftrightarrow: "↮",
        nLeftrightarrow: "⇎",
        nleq: "≰",
        nleqq: "≦̸",
        nleqslant: "⩽̸",
        nles: "⩽̸",
        nless: "≮",
        nLl: "⋘̸",
        nlsim: "≴",
        nLt: "≪⃒",
        nlt: "≮",
        nltri: "⋪",
        nltrie: "⋬",
        nLtv: "≪̸",
        nmid: "∤",
        NoBreak: "⁠",
        NonBreakingSpace: " ",
        nopf: "𝕟",
        Nopf: "ℕ",
        Not: "⫬",
        not: "¬",
        NotCongruent: "≢",
        NotCupCap: "≭",
        NotDoubleVerticalBar: "∦",
        NotElement: "∉",
        NotEqual: "≠",
        NotEqualTilde: "≂̸",
        NotExists: "∄",
        NotGreater: "≯",
        NotGreaterEqual: "≱",
        NotGreaterFullEqual: "≧̸",
        NotGreaterGreater: "≫̸",
        NotGreaterLess: "≹",
        NotGreaterSlantEqual: "⩾̸",
        NotGreaterTilde: "≵",
        NotHumpDownHump: "≎̸",
        NotHumpEqual: "≏̸",
        notin: "∉",
        notindot: "⋵̸",
        notinE: "⋹̸",
        notinva: "∉",
        notinvb: "⋷",
        notinvc: "⋶",
        NotLeftTriangleBar: "⧏̸",
        NotLeftTriangle: "⋪",
        NotLeftTriangleEqual: "⋬",
        NotLess: "≮",
        NotLessEqual: "≰",
        NotLessGreater: "≸",
        NotLessLess: "≪̸",
        NotLessSlantEqual: "⩽̸",
        NotLessTilde: "≴",
        NotNestedGreaterGreater: "⪢̸",
        NotNestedLessLess: "⪡̸",
        notni: "∌",
        notniva: "∌",
        notnivb: "⋾",
        notnivc: "⋽",
        NotPrecedes: "⊀",
        NotPrecedesEqual: "⪯̸",
        NotPrecedesSlantEqual: "⋠",
        NotReverseElement: "∌",
        NotRightTriangleBar: "⧐̸",
        NotRightTriangle: "⋫",
        NotRightTriangleEqual: "⋭",
        NotSquareSubset: "⊏̸",
        NotSquareSubsetEqual: "⋢",
        NotSquareSuperset: "⊐̸",
        NotSquareSupersetEqual: "⋣",
        NotSubset: "⊂⃒",
        NotSubsetEqual: "⊈",
        NotSucceeds: "⊁",
        NotSucceedsEqual: "⪰̸",
        NotSucceedsSlantEqual: "⋡",
        NotSucceedsTilde: "≿̸",
        NotSuperset: "⊃⃒",
        NotSupersetEqual: "⊉",
        NotTilde: "≁",
        NotTildeEqual: "≄",
        NotTildeFullEqual: "≇",
        NotTildeTilde: "≉",
        NotVerticalBar: "∤",
        nparallel: "∦",
        npar: "∦",
        nparsl: "⫽⃥",
        npart: "∂̸",
        npolint: "⨔",
        npr: "⊀",
        nprcue: "⋠",
        nprec: "⊀",
        npreceq: "⪯̸",
        npre: "⪯̸",
        nrarrc: "⤳̸",
        nrarr: "↛",
        nrArr: "⇏",
        nrarrw: "↝̸",
        nrightarrow: "↛",
        nRightarrow: "⇏",
        nrtri: "⋫",
        nrtrie: "⋭",
        nsc: "⊁",
        nsccue: "⋡",
        nsce: "⪰̸",
        Nscr: "𝒩",
        nscr: "𝓃",
        nshortmid: "∤",
        nshortparallel: "∦",
        nsim: "≁",
        nsime: "≄",
        nsimeq: "≄",
        nsmid: "∤",
        nspar: "∦",
        nsqsube: "⋢",
        nsqsupe: "⋣",
        nsub: "⊄",
        nsubE: "⫅̸",
        nsube: "⊈",
        nsubset: "⊂⃒",
        nsubseteq: "⊈",
        nsubseteqq: "⫅̸",
        nsucc: "⊁",
        nsucceq: "⪰̸",
        nsup: "⊅",
        nsupE: "⫆̸",
        nsupe: "⊉",
        nsupset: "⊃⃒",
        nsupseteq: "⊉",
        nsupseteqq: "⫆̸",
        ntgl: "≹",
        Ntilde: "Ñ",
        ntilde: "ñ",
        ntlg: "≸",
        ntriangleleft: "⋪",
        ntrianglelefteq: "⋬",
        ntriangleright: "⋫",
        ntrianglerighteq: "⋭",
        Nu: "Ν",
        nu: "ν",
        num: "#",
        numero: "№",
        numsp: " ",
        nvap: "≍⃒",
        nvdash: "⊬",
        nvDash: "⊭",
        nVdash: "⊮",
        nVDash: "⊯",
        nvge: "≥⃒",
        nvgt: ">⃒",
        nvHarr: "⤄",
        nvinfin: "⧞",
        nvlArr: "⤂",
        nvle: "≤⃒",
        nvlt: "<⃒",
        nvltrie: "⊴⃒",
        nvrArr: "⤃",
        nvrtrie: "⊵⃒",
        nvsim: "∼⃒",
        nwarhk: "⤣",
        nwarr: "↖",
        nwArr: "⇖",
        nwarrow: "↖",
        nwnear: "⤧",
        Oacute: "Ó",
        oacute: "ó",
        oast: "⊛",
        Ocirc: "Ô",
        ocirc: "ô",
        ocir: "⊚",
        Ocy: "О",
        ocy: "о",
        odash: "⊝",
        Odblac: "Ő",
        odblac: "ő",
        odiv: "⨸",
        odot: "⊙",
        odsold: "⦼",
        OElig: "Œ",
        oelig: "œ",
        ofcir: "⦿",
        Ofr: "𝔒",
        ofr: "𝔬",
        ogon: "˛",
        Ograve: "Ò",
        ograve: "ò",
        ogt: "⧁",
        ohbar: "⦵",
        ohm: "Ω",
        oint: "∮",
        olarr: "↺",
        olcir: "⦾",
        olcross: "⦻",
        oline: "‾",
        olt: "⧀",
        Omacr: "Ō",
        omacr: "ō",
        Omega: "Ω",
        omega: "ω",
        Omicron: "Ο",
        omicron: "ο",
        omid: "⦶",
        ominus: "⊖",
        Oopf: "𝕆",
        oopf: "𝕠",
        opar: "⦷",
        OpenCurlyDoubleQuote: "“",
        OpenCurlyQuote: "‘",
        operp: "⦹",
        oplus: "⊕",
        orarr: "↻",
        Or: "⩔",
        or: "∨",
        ord: "⩝",
        order: "ℴ",
        orderof: "ℴ",
        ordf: "ª",
        ordm: "º",
        origof: "⊶",
        oror: "⩖",
        orslope: "⩗",
        orv: "⩛",
        oS: "Ⓢ",
        Oscr: "𝒪",
        oscr: "ℴ",
        Oslash: "Ø",
        oslash: "ø",
        osol: "⊘",
        Otilde: "Õ",
        otilde: "õ",
        otimesas: "⨶",
        Otimes: "⨷",
        otimes: "⊗",
        Ouml: "Ö",
        ouml: "ö",
        ovbar: "⌽",
        OverBar: "‾",
        OverBrace: "⏞",
        OverBracket: "⎴",
        OverParenthesis: "⏜",
        para: "¶",
        parallel: "∥",
        par: "∥",
        parsim: "⫳",
        parsl: "⫽",
        part: "∂",
        PartialD: "∂",
        Pcy: "П",
        pcy: "п",
        percnt: "%",
        period: ".",
        permil: "‰",
        perp: "⊥",
        pertenk: "‱",
        Pfr: "𝔓",
        pfr: "𝔭",
        Phi: "Φ",
        phi: "φ",
        phiv: "ϕ",
        phmmat: "ℳ",
        phone: "☎",
        Pi: "Π",
        pi: "π",
        pitchfork: "⋔",
        piv: "ϖ",
        planck: "ℏ",
        planckh: "ℎ",
        plankv: "ℏ",
        plusacir: "⨣",
        plusb: "⊞",
        pluscir: "⨢",
        plus: "+",
        plusdo: "∔",
        plusdu: "⨥",
        pluse: "⩲",
        PlusMinus: "±",
        plusmn: "±",
        plussim: "⨦",
        plustwo: "⨧",
        pm: "±",
        Poincareplane: "ℌ",
        pointint: "⨕",
        popf: "𝕡",
        Popf: "ℙ",
        pound: "£",
        prap: "⪷",
        Pr: "⪻",
        pr: "≺",
        prcue: "≼",
        precapprox: "⪷",
        prec: "≺",
        preccurlyeq: "≼",
        Precedes: "≺",
        PrecedesEqual: "⪯",
        PrecedesSlantEqual: "≼",
        PrecedesTilde: "≾",
        preceq: "⪯",
        precnapprox: "⪹",
        precneqq: "⪵",
        precnsim: "⋨",
        pre: "⪯",
        prE: "⪳",
        precsim: "≾",
        prime: "′",
        Prime: "″",
        primes: "ℙ",
        prnap: "⪹",
        prnE: "⪵",
        prnsim: "⋨",
        prod: "∏",
        Product: "∏",
        profalar: "⌮",
        profline: "⌒",
        profsurf: "⌓",
        prop: "∝",
        Proportional: "∝",
        Proportion: "∷",
        propto: "∝",
        prsim: "≾",
        prurel: "⊰",
        Pscr: "𝒫",
        pscr: "𝓅",
        Psi: "Ψ",
        psi: "ψ",
        puncsp: " ",
        Qfr: "𝔔",
        qfr: "𝔮",
        qint: "⨌",
        qopf: "𝕢",
        Qopf: "ℚ",
        qprime: "⁗",
        Qscr: "𝒬",
        qscr: "𝓆",
        quaternions: "ℍ",
        quatint: "⨖",
        quest: "?",
        questeq: "≟",
        quot: '"',
        QUOT: '"',
        rAarr: "⇛",
        race: "∽̱",
        Racute: "Ŕ",
        racute: "ŕ",
        radic: "√",
        raemptyv: "⦳",
        rang: "⟩",
        Rang: "⟫",
        rangd: "⦒",
        range: "⦥",
        rangle: "⟩",
        raquo: "»",
        rarrap: "⥵",
        rarrb: "⇥",
        rarrbfs: "⤠",
        rarrc: "⤳",
        rarr: "→",
        Rarr: "↠",
        rArr: "⇒",
        rarrfs: "⤞",
        rarrhk: "↪",
        rarrlp: "↬",
        rarrpl: "⥅",
        rarrsim: "⥴",
        Rarrtl: "⤖",
        rarrtl: "↣",
        rarrw: "↝",
        ratail: "⤚",
        rAtail: "⤜",
        ratio: "∶",
        rationals: "ℚ",
        rbarr: "⤍",
        rBarr: "⤏",
        RBarr: "⤐",
        rbbrk: "❳",
        rbrace: "}",
        rbrack: "]",
        rbrke: "⦌",
        rbrksld: "⦎",
        rbrkslu: "⦐",
        Rcaron: "Ř",
        rcaron: "ř",
        Rcedil: "Ŗ",
        rcedil: "ŗ",
        rceil: "⌉",
        rcub: "}",
        Rcy: "Р",
        rcy: "р",
        rdca: "⤷",
        rdldhar: "⥩",
        rdquo: "”",
        rdquor: "”",
        rdsh: "↳",
        real: "ℜ",
        realine: "ℛ",
        realpart: "ℜ",
        reals: "ℝ",
        Re: "ℜ",
        rect: "▭",
        reg: "®",
        REG: "®",
        ReverseElement: "∋",
        ReverseEquilibrium: "⇋",
        ReverseUpEquilibrium: "⥯",
        rfisht: "⥽",
        rfloor: "⌋",
        rfr: "𝔯",
        Rfr: "ℜ",
        rHar: "⥤",
        rhard: "⇁",
        rharu: "⇀",
        rharul: "⥬",
        Rho: "Ρ",
        rho: "ρ",
        rhov: "ϱ",
        RightAngleBracket: "⟩",
        RightArrowBar: "⇥",
        rightarrow: "→",
        RightArrow: "→",
        Rightarrow: "⇒",
        RightArrowLeftArrow: "⇄",
        rightarrowtail: "↣",
        RightCeiling: "⌉",
        RightDoubleBracket: "⟧",
        RightDownTeeVector: "⥝",
        RightDownVectorBar: "⥕",
        RightDownVector: "⇂",
        RightFloor: "⌋",
        rightharpoondown: "⇁",
        rightharpoonup: "⇀",
        rightleftarrows: "⇄",
        rightleftharpoons: "⇌",
        rightrightarrows: "⇉",
        rightsquigarrow: "↝",
        RightTeeArrow: "↦",
        RightTee: "⊢",
        RightTeeVector: "⥛",
        rightthreetimes: "⋌",
        RightTriangleBar: "⧐",
        RightTriangle: "⊳",
        RightTriangleEqual: "⊵",
        RightUpDownVector: "⥏",
        RightUpTeeVector: "⥜",
        RightUpVectorBar: "⥔",
        RightUpVector: "↾",
        RightVectorBar: "⥓",
        RightVector: "⇀",
        ring: "˚",
        risingdotseq: "≓",
        rlarr: "⇄",
        rlhar: "⇌",
        rlm: "‏",
        rmoustache: "⎱",
        rmoust: "⎱",
        rnmid: "⫮",
        roang: "⟭",
        roarr: "⇾",
        robrk: "⟧",
        ropar: "⦆",
        ropf: "𝕣",
        Ropf: "ℝ",
        roplus: "⨮",
        rotimes: "⨵",
        RoundImplies: "⥰",
        rpar: ")",
        rpargt: "⦔",
        rppolint: "⨒",
        rrarr: "⇉",
        Rrightarrow: "⇛",
        rsaquo: "›",
        rscr: "𝓇",
        Rscr: "ℛ",
        rsh: "↱",
        Rsh: "↱",
        rsqb: "]",
        rsquo: "’",
        rsquor: "’",
        rthree: "⋌",
        rtimes: "⋊",
        rtri: "▹",
        rtrie: "⊵",
        rtrif: "▸",
        rtriltri: "⧎",
        RuleDelayed: "⧴",
        ruluhar: "⥨",
        rx: "℞",
        Sacute: "Ś",
        sacute: "ś",
        sbquo: "‚",
        scap: "⪸",
        Scaron: "Š",
        scaron: "š",
        Sc: "⪼",
        sc: "≻",
        sccue: "≽",
        sce: "⪰",
        scE: "⪴",
        Scedil: "Ş",
        scedil: "ş",
        Scirc: "Ŝ",
        scirc: "ŝ",
        scnap: "⪺",
        scnE: "⪶",
        scnsim: "⋩",
        scpolint: "⨓",
        scsim: "≿",
        Scy: "С",
        scy: "с",
        sdotb: "⊡",
        sdot: "⋅",
        sdote: "⩦",
        searhk: "⤥",
        searr: "↘",
        seArr: "⇘",
        searrow: "↘",
        sect: "§",
        semi: ";",
        seswar: "⤩",
        setminus: "∖",
        setmn: "∖",
        sext: "✶",
        Sfr: "𝔖",
        sfr: "𝔰",
        sfrown: "⌢",
        sharp: "♯",
        SHCHcy: "Щ",
        shchcy: "щ",
        SHcy: "Ш",
        shcy: "ш",
        ShortDownArrow: "↓",
        ShortLeftArrow: "←",
        shortmid: "∣",
        shortparallel: "∥",
        ShortRightArrow: "→",
        ShortUpArrow: "↑",
        shy: "­",
        Sigma: "Σ",
        sigma: "σ",
        sigmaf: "ς",
        sigmav: "ς",
        sim: "∼",
        simdot: "⩪",
        sime: "≃",
        simeq: "≃",
        simg: "⪞",
        simgE: "⪠",
        siml: "⪝",
        simlE: "⪟",
        simne: "≆",
        simplus: "⨤",
        simrarr: "⥲",
        slarr: "←",
        SmallCircle: "∘",
        smallsetminus: "∖",
        smashp: "⨳",
        smeparsl: "⧤",
        smid: "∣",
        smile: "⌣",
        smt: "⪪",
        smte: "⪬",
        smtes: "⪬︀",
        SOFTcy: "Ь",
        softcy: "ь",
        solbar: "⌿",
        solb: "⧄",
        sol: "/",
        Sopf: "𝕊",
        sopf: "𝕤",
        spades: "♠",
        spadesuit: "♠",
        spar: "∥",
        sqcap: "⊓",
        sqcaps: "⊓︀",
        sqcup: "⊔",
        sqcups: "⊔︀",
        Sqrt: "√",
        sqsub: "⊏",
        sqsube: "⊑",
        sqsubset: "⊏",
        sqsubseteq: "⊑",
        sqsup: "⊐",
        sqsupe: "⊒",
        sqsupset: "⊐",
        sqsupseteq: "⊒",
        square: "□",
        Square: "□",
        SquareIntersection: "⊓",
        SquareSubset: "⊏",
        SquareSubsetEqual: "⊑",
        SquareSuperset: "⊐",
        SquareSupersetEqual: "⊒",
        SquareUnion: "⊔",
        squarf: "▪",
        squ: "□",
        squf: "▪",
        srarr: "→",
        Sscr: "𝒮",
        sscr: "𝓈",
        ssetmn: "∖",
        ssmile: "⌣",
        sstarf: "⋆",
        Star: "⋆",
        star: "☆",
        starf: "★",
        straightepsilon: "ϵ",
        straightphi: "ϕ",
        strns: "¯",
        sub: "⊂",
        Sub: "⋐",
        subdot: "⪽",
        subE: "⫅",
        sube: "⊆",
        subedot: "⫃",
        submult: "⫁",
        subnE: "⫋",
        subne: "⊊",
        subplus: "⪿",
        subrarr: "⥹",
        subset: "⊂",
        Subset: "⋐",
        subseteq: "⊆",
        subseteqq: "⫅",
        SubsetEqual: "⊆",
        subsetneq: "⊊",
        subsetneqq: "⫋",
        subsim: "⫇",
        subsub: "⫕",
        subsup: "⫓",
        succapprox: "⪸",
        succ: "≻",
        succcurlyeq: "≽",
        Succeeds: "≻",
        SucceedsEqual: "⪰",
        SucceedsSlantEqual: "≽",
        SucceedsTilde: "≿",
        succeq: "⪰",
        succnapprox: "⪺",
        succneqq: "⪶",
        succnsim: "⋩",
        succsim: "≿",
        SuchThat: "∋",
        sum: "∑",
        Sum: "∑",
        sung: "♪",
        sup1: "¹",
        sup2: "²",
        sup3: "³",
        sup: "⊃",
        Sup: "⋑",
        supdot: "⪾",
        supdsub: "⫘",
        supE: "⫆",
        supe: "⊇",
        supedot: "⫄",
        Superset: "⊃",
        SupersetEqual: "⊇",
        suphsol: "⟉",
        suphsub: "⫗",
        suplarr: "⥻",
        supmult: "⫂",
        supnE: "⫌",
        supne: "⊋",
        supplus: "⫀",
        supset: "⊃",
        Supset: "⋑",
        supseteq: "⊇",
        supseteqq: "⫆",
        supsetneq: "⊋",
        supsetneqq: "⫌",
        supsim: "⫈",
        supsub: "⫔",
        supsup: "⫖",
        swarhk: "⤦",
        swarr: "↙",
        swArr: "⇙",
        swarrow: "↙",
        swnwar: "⤪",
        szlig: "ß",
        Tab: "\t",
        target: "⌖",
        Tau: "Τ",
        tau: "τ",
        tbrk: "⎴",
        Tcaron: "Ť",
        tcaron: "ť",
        Tcedil: "Ţ",
        tcedil: "ţ",
        Tcy: "Т",
        tcy: "т",
        tdot: "⃛",
        telrec: "⌕",
        Tfr: "𝔗",
        tfr: "𝔱",
        there4: "∴",
        therefore: "∴",
        Therefore: "∴",
        Theta: "Θ",
        theta: "θ",
        thetasym: "ϑ",
        thetav: "ϑ",
        thickapprox: "≈",
        thicksim: "∼",
        ThickSpace: "  ",
        ThinSpace: " ",
        thinsp: " ",
        thkap: "≈",
        thksim: "∼",
        THORN: "Þ",
        thorn: "þ",
        tilde: "˜",
        Tilde: "∼",
        TildeEqual: "≃",
        TildeFullEqual: "≅",
        TildeTilde: "≈",
        timesbar: "⨱",
        timesb: "⊠",
        times: "×",
        timesd: "⨰",
        tint: "∭",
        toea: "⤨",
        topbot: "⌶",
        topcir: "⫱",
        top: "⊤",
        Topf: "𝕋",
        topf: "𝕥",
        topfork: "⫚",
        tosa: "⤩",
        tprime: "‴",
        trade: "™",
        TRADE: "™",
        triangle: "▵",
        triangledown: "▿",
        triangleleft: "◃",
        trianglelefteq: "⊴",
        triangleq: "≜",
        triangleright: "▹",
        trianglerighteq: "⊵",
        tridot: "◬",
        trie: "≜",
        triminus: "⨺",
        TripleDot: "⃛",
        triplus: "⨹",
        trisb: "⧍",
        tritime: "⨻",
        trpezium: "⏢",
        Tscr: "𝒯",
        tscr: "𝓉",
        TScy: "Ц",
        tscy: "ц",
        TSHcy: "Ћ",
        tshcy: "ћ",
        Tstrok: "Ŧ",
        tstrok: "ŧ",
        twixt: "≬",
        twoheadleftarrow: "↞",
        twoheadrightarrow: "↠",
        Uacute: "Ú",
        uacute: "ú",
        uarr: "↑",
        Uarr: "↟",
        uArr: "⇑",
        Uarrocir: "⥉",
        Ubrcy: "Ў",
        ubrcy: "ў",
        Ubreve: "Ŭ",
        ubreve: "ŭ",
        Ucirc: "Û",
        ucirc: "û",
        Ucy: "У",
        ucy: "у",
        udarr: "⇅",
        Udblac: "Ű",
        udblac: "ű",
        udhar: "⥮",
        ufisht: "⥾",
        Ufr: "𝔘",
        ufr: "𝔲",
        Ugrave: "Ù",
        ugrave: "ù",
        uHar: "⥣",
        uharl: "↿",
        uharr: "↾",
        uhblk: "▀",
        ulcorn: "⌜",
        ulcorner: "⌜",
        ulcrop: "⌏",
        ultri: "◸",
        Umacr: "Ū",
        umacr: "ū",
        uml: "¨",
        UnderBar: "_",
        UnderBrace: "⏟",
        UnderBracket: "⎵",
        UnderParenthesis: "⏝",
        Union: "⋃",
        UnionPlus: "⊎",
        Uogon: "Ų",
        uogon: "ų",
        Uopf: "𝕌",
        uopf: "𝕦",
        UpArrowBar: "⤒",
        uparrow: "↑",
        UpArrow: "↑",
        Uparrow: "⇑",
        UpArrowDownArrow: "⇅",
        updownarrow: "↕",
        UpDownArrow: "↕",
        Updownarrow: "⇕",
        UpEquilibrium: "⥮",
        upharpoonleft: "↿",
        upharpoonright: "↾",
        uplus: "⊎",
        UpperLeftArrow: "↖",
        UpperRightArrow: "↗",
        upsi: "υ",
        Upsi: "ϒ",
        upsih: "ϒ",
        Upsilon: "Υ",
        upsilon: "υ",
        UpTeeArrow: "↥",
        UpTee: "⊥",
        upuparrows: "⇈",
        urcorn: "⌝",
        urcorner: "⌝",
        urcrop: "⌎",
        Uring: "Ů",
        uring: "ů",
        urtri: "◹",
        Uscr: "𝒰",
        uscr: "𝓊",
        utdot: "⋰",
        Utilde: "Ũ",
        utilde: "ũ",
        utri: "▵",
        utrif: "▴",
        uuarr: "⇈",
        Uuml: "Ü",
        uuml: "ü",
        uwangle: "⦧",
        vangrt: "⦜",
        varepsilon: "ϵ",
        varkappa: "ϰ",
        varnothing: "∅",
        varphi: "ϕ",
        varpi: "ϖ",
        varpropto: "∝",
        varr: "↕",
        vArr: "⇕",
        varrho: "ϱ",
        varsigma: "ς",
        varsubsetneq: "⊊︀",
        varsubsetneqq: "⫋︀",
        varsupsetneq: "⊋︀",
        varsupsetneqq: "⫌︀",
        vartheta: "ϑ",
        vartriangleleft: "⊲",
        vartriangleright: "⊳",
        vBar: "⫨",
        Vbar: "⫫",
        vBarv: "⫩",
        Vcy: "В",
        vcy: "в",
        vdash: "⊢",
        vDash: "⊨",
        Vdash: "⊩",
        VDash: "⊫",
        Vdashl: "⫦",
        veebar: "⊻",
        vee: "∨",
        Vee: "⋁",
        veeeq: "≚",
        vellip: "⋮",
        verbar: "|",
        Verbar: "‖",
        vert: "|",
        Vert: "‖",
        VerticalBar: "∣",
        VerticalLine: "|",
        VerticalSeparator: "❘",
        VerticalTilde: "≀",
        VeryThinSpace: " ",
        Vfr: "𝔙",
        vfr: "𝔳",
        vltri: "⊲",
        vnsub: "⊂⃒",
        vnsup: "⊃⃒",
        Vopf: "𝕍",
        vopf: "𝕧",
        vprop: "∝",
        vrtri: "⊳",
        Vscr: "𝒱",
        vscr: "𝓋",
        vsubnE: "⫋︀",
        vsubne: "⊊︀",
        vsupnE: "⫌︀",
        vsupne: "⊋︀",
        Vvdash: "⊪",
        vzigzag: "⦚",
        Wcirc: "Ŵ",
        wcirc: "ŵ",
        wedbar: "⩟",
        wedge: "∧",
        Wedge: "⋀",
        wedgeq: "≙",
        weierp: "℘",
        Wfr: "𝔚",
        wfr: "𝔴",
        Wopf: "𝕎",
        wopf: "𝕨",
        wp: "℘",
        wr: "≀",
        wreath: "≀",
        Wscr: "𝒲",
        wscr: "𝓌",
        xcap: "⋂",
        xcirc: "◯",
        xcup: "⋃",
        xdtri: "▽",
        Xfr: "𝔛",
        xfr: "𝔵",
        xharr: "⟷",
        xhArr: "⟺",
        Xi: "Ξ",
        xi: "ξ",
        xlarr: "⟵",
        xlArr: "⟸",
        xmap: "⟼",
        xnis: "⋻",
        xodot: "⨀",
        Xopf: "𝕏",
        xopf: "𝕩",
        xoplus: "⨁",
        xotime: "⨂",
        xrarr: "⟶",
        xrArr: "⟹",
        Xscr: "𝒳",
        xscr: "𝓍",
        xsqcup: "⨆",
        xuplus: "⨄",
        xutri: "△",
        xvee: "⋁",
        xwedge: "⋀",
        Yacute: "Ý",
        yacute: "ý",
        YAcy: "Я",
        yacy: "я",
        Ycirc: "Ŷ",
        ycirc: "ŷ",
        Ycy: "Ы",
        ycy: "ы",
        yen: "¥",
        Yfr: "𝔜",
        yfr: "𝔶",
        YIcy: "Ї",
        yicy: "ї",
        Yopf: "𝕐",
        yopf: "𝕪",
        Yscr: "𝒴",
        yscr: "𝓎",
        YUcy: "Ю",
        yucy: "ю",
        yuml: "ÿ",
        Yuml: "Ÿ",
        Zacute: "Ź",
        zacute: "ź",
        Zcaron: "Ž",
        zcaron: "ž",
        Zcy: "З",
        zcy: "з",
        Zdot: "Ż",
        zdot: "ż",
        zeetrf: "ℨ",
        ZeroWidthSpace: "​",
        Zeta: "Ζ",
        zeta: "ζ",
        zfr: "𝔷",
        Zfr: "ℨ",
        ZHcy: "Ж",
        zhcy: "ж",
        zigrarr: "⇝",
        zopf: "𝕫",
        Zopf: "ℤ",
        Zscr: "𝒵",
        zscr: "𝓏",
        zwj: "‍",
        zwnj: "‌"
    }
}
, , , function(e, t) {}
, function(e, t) {}
, function(e, t) {}
, function(e, t) {}
, function(e, t) {}
, function(e, t) {}
, function(e, t) {}
, function(e, t) {}
, function(e, t) {}
, function(e, t) {}
, function(e, t) {}
, function(e, t) {}
, function(e, t) {}
, function(e, t) {}
, function(e, t) {}
, function(e, t) {}
, function(e, t) {}
, function(e, t) {}
, function(e, t) {}
, function(e, t) {}
, function(e, t) {}
, function(e, t) {}
, function(e, t) {}
, function(e, t) {}
, function(e, t) {}
, function(e, t) {}
, function(e, t) {}
, function(e, t) {}
, function(e, t) {}
, function(e, t) {}
, function(e, t) {}
, function(e, t) {}
, function(e, t) {}
, function(e, t) {}
, function(e, t) {}
, function(e, t) {}
, function(e, t) {}
, function(e, t) {}
, function(e, t) {}
, function(e, t) {}
, function(e, t) {}
, function(e, t) {}
, function(e, t) {}
, function(e, t) {}
, function(e, t) {}
, function(e, t) {}
, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , function(e, t) {
    e.exports = {
        100: "💯",
        1234: "🔢",
        grinning: "😀",
        smiley: "😃",
        smile: "😄",
        grin: "😁",
        laughing: "😆",
        satisfied: "😆",
        sweat_smile: "😅",
        joy: "😂",
        rofl: "🤣",
        relaxed: "☺️",
        blush: "😊",
        innocent: "😇",
        slightly_smiling_face: "🙂",
        upside_down_face: "🙃",
        wink: "😉",
        relieved: "😌",
        heart_eyes: "😍",
        kissing_heart: "😘",
        kissing: "😗",
        kissing_smiling_eyes: "😙",
        kissing_closed_eyes: "😚",
        yum: "😋",
        stuck_out_tongue_winking_eye: "😜",
        stuck_out_tongue_closed_eyes: "😝",
        stuck_out_tongue: "😛",
        money_mouth_face: "🤑",
        hugs: "🤗",
        nerd_face: "🤓",
        sunglasses: "😎",
        clown_face: "🤡",
        cowboy_hat_face: "🤠",
        smirk: "😏",
        unamused: "😒",
        disappointed: "😞",
        pensive: "😔",
        worried: "😟",
        confused: "😕",
        slightly_frowning_face: "🙁",
        frowning_face: "☹️",
        persevere: "😣",
        confounded: "😖",
        tired_face: "😫",
        weary: "😩",
        triumph: "😤",
        angry: "😠",
        rage: "😡",
        pout: "😡",
        no_mouth: "😶",
        neutral_face: "😐",
        expressionless: "😑",
        hushed: "😯",
        frowning: "😦",
        anguished: "😧",
        open_mouth: "😮",
        astonished: "😲",
        dizzy_face: "😵",
        flushed: "😳",
        scream: "😱",
        fearful: "😨",
        cold_sweat: "😰",
        cry: "😢",
        disappointed_relieved: "😥",
        drooling_face: "🤤",
        sob: "😭",
        sweat: "😓",
        sleepy: "😪",
        sleeping: "😴",
        roll_eyes: "🙄",
        thinking: "🤔",
        lying_face: "🤥",
        grimacing: "😬",
        zipper_mouth_face: "🤐",
        nauseated_face: "🤢",
        sneezing_face: "🤧",
        mask: "😷",
        face_with_thermometer: "🤒",
        face_with_head_bandage: "🤕",
        smiling_imp: "😈",
        imp: "👿",
        japanese_ogre: "👹",
        japanese_goblin: "👺",
        hankey: "💩",
        poop: "💩",
        shit: "💩",
        ghost: "👻",
        skull: "💀",
        skull_and_crossbones: "☠️",
        alien: "👽",
        space_invader: "👾",
        robot: "🤖",
        jack_o_lantern: "🎃",
        smiley_cat: "😺",
        smile_cat: "😸",
        joy_cat: "😹",
        heart_eyes_cat: "😻",
        smirk_cat: "😼",
        kissing_cat: "😽",
        scream_cat: "🙀",
        crying_cat_face: "😿",
        pouting_cat: "😾",
        open_hands: "👐",
        raised_hands: "🙌",
        clap: "👏",
        pray: "🙏",
        handshake: "🤝",
        "+1": "👍",
        thumbsup: "👍",
        "-1": "👎",
        thumbsdown: "👎",
        fist_oncoming: "👊",
        facepunch: "👊",
        punch: "👊",
        fist_raised: "✊",
        fist: "✊",
        fist_left: "🤛",
        fist_right: "🤜",
        crossed_fingers: "🤞",
        v: "✌️",
        metal: "🤘",
        ok_hand: "👌",
        point_left: "👈",
        point_right: "👉",
        point_up_2: "👆",
        point_down: "👇",
        point_up: "☝️",
        hand: "✋",
        raised_hand: "✋",
        raised_back_of_hand: "🤚",
        raised_hand_with_fingers_splayed: "🖐",
        vulcan_salute: "🖖",
        wave: "👋",
        call_me_hand: "🤙",
        muscle: "💪",
        middle_finger: "🖕",
        fu: "🖕",
        writing_hand: "✍️",
        selfie: "🤳",
        nail_care: "💅",
        ring: "💍",
        lipstick: "💄",
        kiss: "💋",
        lips: "👄",
        tongue: "👅",
        ear: "👂",
        nose: "👃",
        footprints: "👣",
        eye: "👁",
        eyes: "👀",
        speaking_head: "🗣",
        bust_in_silhouette: "👤",
        busts_in_silhouette: "👥",
        baby: "👶",
        boy: "👦",
        girl: "👧",
        man: "👨",
        woman: "👩",
        blonde_woman: "👱‍♀",
        blonde_man: "👱",
        person_with_blond_hair: "👱",
        older_man: "👴",
        older_woman: "👵",
        man_with_gua_pi_mao: "👲",
        woman_with_turban: "👳‍♀",
        man_with_turban: "👳",
        policewoman: "👮‍♀",
        policeman: "👮",
        cop: "👮",
        construction_worker_woman: "👷‍♀",
        construction_worker_man: "👷",
        construction_worker: "👷",
        guardswoman: "💂‍♀",
        guardsman: "💂",
        female_detective: "🕵️‍♀️",
        male_detective: "🕵",
        detective: "🕵",
        woman_health_worker: "👩‍⚕",
        man_health_worker: "👨‍⚕",
        woman_farmer: "👩‍🌾",
        man_farmer: "👨‍🌾",
        woman_cook: "👩‍🍳",
        man_cook: "👨‍🍳",
        woman_student: "👩‍🎓",
        man_student: "👨‍🎓",
        woman_singer: "👩‍🎤",
        man_singer: "👨‍🎤",
        woman_teacher: "👩‍🏫",
        man_teacher: "👨‍🏫",
        woman_factory_worker: "👩‍🏭",
        man_factory_worker: "👨‍🏭",
        woman_technologist: "👩‍💻",
        man_technologist: "👨‍💻",
        woman_office_worker: "👩‍💼",
        man_office_worker: "👨‍💼",
        woman_mechanic: "👩‍🔧",
        man_mechanic: "👨‍🔧",
        woman_scientist: "👩‍🔬",
        man_scientist: "👨‍🔬",
        woman_artist: "👩‍🎨",
        man_artist: "👨‍🎨",
        woman_firefighter: "👩‍🚒",
        man_firefighter: "👨‍🚒",
        woman_pilot: "👩‍✈",
        man_pilot: "👨‍✈",
        woman_astronaut: "👩‍🚀",
        man_astronaut: "👨‍🚀",
        woman_judge: "👩‍⚖",
        man_judge: "👨‍⚖",
        mrs_claus: "🤶",
        santa: "🎅",
        princess: "👸",
        prince: "🤴",
        bride_with_veil: "👰",
        man_in_tuxedo: "🤵",
        angel: "👼",
        pregnant_woman: "🤰",
        bowing_woman: "🙇‍♀",
        bowing_man: "🙇",
        bow: "🙇",
        tipping_hand_woman: "💁",
        information_desk_person: "💁",
        sassy_woman: "💁",
        tipping_hand_man: "💁‍♂",
        sassy_man: "💁‍♂",
        no_good_woman: "🙅",
        no_good: "🙅",
        ng_woman: "🙅",
        no_good_man: "🙅‍♂",
        ng_man: "🙅‍♂",
        ok_woman: "🙆",
        ok_man: "🙆‍♂",
        raising_hand_woman: "🙋",
        raising_hand: "🙋",
        raising_hand_man: "🙋‍♂",
        woman_facepalming: "🤦‍♀",
        man_facepalming: "🤦‍♂",
        woman_shrugging: "🤷‍♀",
        man_shrugging: "🤷‍♂",
        pouting_woman: "🙎",
        person_with_pouting_face: "🙎",
        pouting_man: "🙎‍♂",
        frowning_woman: "🙍",
        person_frowning: "🙍",
        frowning_man: "🙍‍♂",
        haircut_woman: "💇",
        haircut: "💇",
        haircut_man: "💇‍♂",
        massage_woman: "💆",
        massage: "💆",
        massage_man: "💆‍♂",
        business_suit_levitating: "🕴",
        dancer: "💃",
        man_dancing: "🕺",
        dancing_women: "👯",
        dancers: "👯",
        dancing_men: "👯‍♂",
        walking_woman: "🚶‍♀",
        walking_man: "🚶",
        walking: "🚶",
        running_woman: "🏃‍♀",
        running_man: "🏃",
        runner: "🏃",
        running: "🏃",
        couple: "👫",
        two_women_holding_hands: "👭",
        two_men_holding_hands: "👬",
        couple_with_heart_woman_man: "💑",
        couple_with_heart: "💑",
        couple_with_heart_woman_woman: "👩‍❤️‍👩",
        couple_with_heart_man_man: "👨‍❤️‍👨",
        couplekiss_man_woman: "💏",
        couplekiss_woman_woman: "👩‍❤️‍💋‍👩",
        couplekiss_man_man: "👨‍❤️‍💋‍👨",
        family_man_woman_boy: "👪",
        family: "👪",
        family_man_woman_girl: "👨‍👩‍👧",
        family_man_woman_girl_boy: "👨‍👩‍👧‍👦",
        family_man_woman_boy_boy: "👨‍👩‍👦‍👦",
        family_man_woman_girl_girl: "👨‍👩‍👧‍👧",
        family_woman_woman_boy: "👩‍👩‍👦",
        family_woman_woman_girl: "👩‍👩‍👧",
        family_woman_woman_girl_boy: "👩‍👩‍👧‍👦",
        family_woman_woman_boy_boy: "👩‍👩‍👦‍👦",
        family_woman_woman_girl_girl: "👩‍👩‍👧‍👧",
        family_man_man_boy: "👨‍👨‍👦",
        family_man_man_girl: "👨‍👨‍👧",
        family_man_man_girl_boy: "👨‍👨‍👧‍👦",
        family_man_man_boy_boy: "👨‍👨‍👦‍👦",
        family_man_man_girl_girl: "👨‍👨‍👧‍👧",
        family_woman_boy: "👩‍👦",
        family_woman_girl: "👩‍👧",
        family_woman_girl_boy: "👩‍👧‍👦",
        family_woman_boy_boy: "👩‍👦‍👦",
        family_woman_girl_girl: "👩‍👧‍👧",
        family_man_boy: "👨‍👦",
        family_man_girl: "👨‍👧",
        family_man_girl_boy: "👨‍👧‍👦",
        family_man_boy_boy: "👨‍👦‍👦",
        family_man_girl_girl: "👨‍👧‍👧",
        womans_clothes: "👚",
        shirt: "👕",
        tshirt: "👕",
        jeans: "👖",
        necktie: "👔",
        dress: "👗",
        bikini: "👙",
        kimono: "👘",
        high_heel: "👠",
        sandal: "👡",
        boot: "👢",
        mans_shoe: "👞",
        shoe: "👞",
        athletic_shoe: "👟",
        womans_hat: "👒",
        tophat: "🎩",
        mortar_board: "🎓",
        crown: "👑",
        rescue_worker_helmet: "⛑",
        school_satchel: "🎒",
        pouch: "👝",
        purse: "👛",
        handbag: "👜",
        briefcase: "💼",
        eyeglasses: "👓",
        dark_sunglasses: "🕶",
        closed_umbrella: "🌂",
        open_umbrella: "☂️",
        dog: "🐶",
        cat: "🐱",
        mouse: "🐭",
        hamster: "🐹",
        rabbit: "🐰",
        fox_face: "🦊",
        bear: "🐻",
        panda_face: "🐼",
        koala: "🐨",
        tiger: "🐯",
        lion: "🦁",
        cow: "🐮",
        pig: "🐷",
        pig_nose: "🐽",
        frog: "🐸",
        monkey_face: "🐵",
        see_no_evil: "🙈",
        hear_no_evil: "🙉",
        speak_no_evil: "🙊",
        monkey: "🐒",
        chicken: "🐔",
        penguin: "🐧",
        bird: "🐦",
        baby_chick: "🐤",
        hatching_chick: "🐣",
        hatched_chick: "🐥",
        duck: "🦆",
        eagle: "🦅",
        owl: "🦉",
        bat: "🦇",
        wolf: "🐺",
        boar: "🐗",
        horse: "🐴",
        unicorn: "🦄",
        bee: "🐝",
        honeybee: "🐝",
        bug: "🐛",
        butterfly: "🦋",
        snail: "🐌",
        shell: "🐚",
        beetle: "🐞",
        ant: "🐜",
        spider: "🕷",
        spider_web: "🕸",
        turtle: "🐢",
        snake: "🐍",
        lizard: "🦎",
        scorpion: "🦂",
        crab: "🦀",
        squid: "🦑",
        octopus: "🐙",
        shrimp: "🦐",
        tropical_fish: "🐠",
        fish: "🐟",
        blowfish: "🐡",
        dolphin: "🐬",
        flipper: "🐬",
        shark: "🦈",
        whale: "🐳",
        whale2: "🐋",
        crocodile: "🐊",
        leopard: "🐆",
        tiger2: "🐅",
        water_buffalo: "🐃",
        ox: "🐂",
        cow2: "🐄",
        deer: "🦌",
        dromedary_camel: "🐪",
        camel: "🐫",
        elephant: "🐘",
        rhinoceros: "🦏",
        gorilla: "🦍",
        racehorse: "🐎",
        pig2: "🐖",
        goat: "🐐",
        ram: "🐏",
        sheep: "🐑",
        dog2: "🐕",
        poodle: "🐩",
        cat2: "🐈",
        rooster: "🐓",
        turkey: "🦃",
        dove: "🕊",
        rabbit2: "🐇",
        mouse2: "🐁",
        rat: "🐀",
        chipmunk: "🐿",
        feet: "🐾",
        paw_prints: "🐾",
        dragon: "🐉",
        dragon_face: "🐲",
        cactus: "🌵",
        christmas_tree: "🎄",
        evergreen_tree: "🌲",
        deciduous_tree: "🌳",
        palm_tree: "🌴",
        seedling: "🌱",
        herb: "🌿",
        shamrock: "☘️",
        four_leaf_clover: "🍀",
        bamboo: "🎍",
        tanabata_tree: "🎋",
        leaves: "🍃",
        fallen_leaf: "🍂",
        maple_leaf: "🍁",
        mushroom: "🍄",
        ear_of_rice: "🌾",
        bouquet: "💐",
        tulip: "🌷",
        rose: "🌹",
        wilted_flower: "🥀",
        sunflower: "🌻",
        blossom: "🌼",
        cherry_blossom: "🌸",
        hibiscus: "🌺",
        earth_americas: "🌎",
        earth_africa: "🌍",
        earth_asia: "🌏",
        full_moon: "🌕",
        waning_gibbous_moon: "🌖",
        last_quarter_moon: "🌗",
        waning_crescent_moon: "🌘",
        new_moon: "🌑",
        waxing_crescent_moon: "🌒",
        first_quarter_moon: "🌓",
        moon: "🌔",
        waxing_gibbous_moon: "🌔",
        new_moon_with_face: "🌚",
        full_moon_with_face: "🌝",
        sun_with_face: "🌞",
        first_quarter_moon_with_face: "🌛",
        last_quarter_moon_with_face: "🌜",
        crescent_moon: "🌙",
        dizzy: "💫",
        star: "⭐️",
        star2: "🌟",
        sparkles: "✨",
        zap: "⚡️",
        fire: "🔥",
        boom: "💥",
        collision: "💥",
        comet: "☄",
        sunny: "☀️",
        sun_behind_small_cloud: "🌤",
        partly_sunny: "⛅️",
        sun_behind_large_cloud: "🌥",
        sun_behind_rain_cloud: "🌦",
        rainbow: "🌈",
        cloud: "☁️",
        cloud_with_rain: "🌧",
        cloud_with_lightning_and_rain: "⛈",
        cloud_with_lightning: "🌩",
        cloud_with_snow: "🌨",
        snowman_with_snow: "☃️",
        snowman: "⛄️",
        snowflake: "❄️",
        wind_face: "🌬",
        dash: "💨",
        tornado: "🌪",
        fog: "🌫",
        ocean: "🌊",
        droplet: "💧",
        sweat_drops: "💦",
        umbrella: "☔️",
        green_apple: "🍏",
        apple: "🍎",
        pear: "🍐",
        tangerine: "🍊",
        orange: "🍊",
        mandarin: "🍊",
        lemon: "🍋",
        banana: "🍌",
        watermelon: "🍉",
        grapes: "🍇",
        strawberry: "🍓",
        melon: "🍈",
        cherries: "🍒",
        peach: "🍑",
        pineapple: "🍍",
        kiwi_fruit: "🥝",
        avocado: "🥑",
        tomato: "🍅",
        eggplant: "🍆",
        cucumber: "🥒",
        carrot: "🥕",
        corn: "🌽",
        hot_pepper: "🌶",
        potato: "🥔",
        sweet_potato: "🍠",
        chestnut: "🌰",
        peanuts: "🥜",
        honey_pot: "🍯",
        croissant: "🥐",
        bread: "🍞",
        baguette_bread: "🥖",
        cheese: "🧀",
        egg: "🥚",
        fried_egg: "🍳",
        bacon: "🥓",
        pancakes: "🥞",
        fried_shrimp: "🍤",
        poultry_leg: "🍗",
        meat_on_bone: "🍖",
        pizza: "🍕",
        hotdog: "🌭",
        hamburger: "🍔",
        fries: "🍟",
        stuffed_flatbread: "🥙",
        taco: "🌮",
        burrito: "🌯",
        green_salad: "🥗",
        shallow_pan_of_food: "🥘",
        spaghetti: "🍝",
        ramen: "🍜",
        stew: "🍲",
        fish_cake: "🍥",
        sushi: "🍣",
        bento: "🍱",
        curry: "🍛",
        rice: "🍚",
        rice_ball: "🍙",
        rice_cracker: "🍘",
        oden: "🍢",
        dango: "🍡",
        shaved_ice: "🍧",
        ice_cream: "🍨",
        icecream: "🍦",
        cake: "🍰",
        birthday: "🎂",
        custard: "🍮",
        lollipop: "🍭",
        candy: "🍬",
        chocolate_bar: "🍫",
        popcorn: "🍿",
        doughnut: "🍩",
        cookie: "🍪",
        milk_glass: "🥛",
        baby_bottle: "🍼",
        coffee: "☕️",
        tea: "🍵",
        sake: "🍶",
        beer: "🍺",
        beers: "🍻",
        clinking_glasses: "🥂",
        wine_glass: "🍷",
        tumbler_glass: "🥃",
        cocktail: "🍸",
        tropical_drink: "🍹",
        champagne: "🍾",
        spoon: "🥄",
        fork_and_knife: "🍴",
        plate_with_cutlery: "🍽",
        soccer: "⚽️",
        basketball: "🏀",
        football: "🏈",
        baseball: "⚾️",
        tennis: "🎾",
        volleyball: "🏐",
        rugby_football: "🏉",
        "8ball": "🎱",
        ping_pong: "🏓",
        badminton: "🏸",
        goal_net: "🥅",
        ice_hockey: "🏒",
        field_hockey: "🏑",
        cricket: "🏏",
        golf: "⛳️",
        bow_and_arrow: "🏹",
        fishing_pole_and_fish: "🎣",
        boxing_glove: "🥊",
        martial_arts_uniform: "🥋",
        ice_skate: "⛸",
        ski: "🎿",
        skier: "⛷",
        snowboarder: "🏂",
        weight_lifting_woman: "🏋️‍♀️",
        weight_lifting_man: "🏋",
        person_fencing: "🤺",
        women_wrestling: "🤼‍♀",
        men_wrestling: "🤼‍♂",
        woman_cartwheeling: "🤸‍♀",
        man_cartwheeling: "🤸‍♂",
        basketball_woman: "⛹️‍♀️",
        basketball_man: "⛹",
        woman_playing_handball: "🤾‍♀",
        man_playing_handball: "🤾‍♂",
        golfing_woman: "🏌️‍♀️",
        golfing_man: "🏌",
        surfing_woman: "🏄‍♀",
        surfing_man: "🏄",
        surfer: "🏄",
        swimming_woman: "🏊‍♀",
        swimming_man: "🏊",
        swimmer: "🏊",
        woman_playing_water_polo: "🤽‍♀",
        man_playing_water_polo: "🤽‍♂",
        rowing_woman: "🚣‍♀",
        rowing_man: "🚣",
        rowboat: "🚣",
        horse_racing: "🏇",
        biking_woman: "🚴‍♀",
        biking_man: "🚴",
        bicyclist: "🚴",
        mountain_biking_woman: "🚵‍♀",
        mountain_biking_man: "🚵",
        mountain_bicyclist: "🚵",
        running_shirt_with_sash: "🎽",
        medal_sports: "🏅",
        medal_military: "🎖",
        "1st_place_medal": "🥇",
        "2nd_place_medal": "🥈",
        "3rd_place_medal": "🥉",
        trophy: "🏆",
        rosette: "🏵",
        reminder_ribbon: "🎗",
        ticket: "🎫",
        tickets: "🎟",
        circus_tent: "🎪",
        woman_juggling: "🤹‍♀",
        man_juggling: "🤹‍♂",
        performing_arts: "🎭",
        art: "🎨",
        clapper: "🎬",
        microphone: "🎤",
        headphones: "🎧",
        musical_score: "🎼",
        musical_keyboard: "🎹",
        drum: "🥁",
        saxophone: "🎷",
        trumpet: "🎺",
        guitar: "🎸",
        violin: "🎻",
        game_die: "🎲",
        dart: "🎯",
        bowling: "🎳",
        video_game: "🎮",
        slot_machine: "🎰",
        car: "🚗",
        red_car: "🚗",
        taxi: "🚕",
        blue_car: "🚙",
        bus: "🚌",
        trolleybus: "🚎",
        racing_car: "🏎",
        police_car: "🚓",
        ambulance: "🚑",
        fire_engine: "🚒",
        minibus: "🚐",
        truck: "🚚",
        articulated_lorry: "🚛",
        tractor: "🚜",
        kick_scooter: "🛴",
        bike: "🚲",
        motor_scooter: "🛵",
        motorcycle: "🏍",
        rotating_light: "🚨",
        oncoming_police_car: "🚔",
        oncoming_bus: "🚍",
        oncoming_automobile: "🚘",
        oncoming_taxi: "🚖",
        aerial_tramway: "🚡",
        mountain_cableway: "🚠",
        suspension_railway: "🚟",
        railway_car: "🚃",
        train: "🚋",
        mountain_railway: "🚞",
        monorail: "🚝",
        bullettrain_side: "🚄",
        bullettrain_front: "🚅",
        light_rail: "🚈",
        steam_locomotive: "🚂",
        train2: "🚆",
        metro: "🚇",
        tram: "🚊",
        station: "🚉",
        helicopter: "🚁",
        small_airplane: "🛩",
        airplane: "✈️",
        flight_departure: "🛫",
        flight_arrival: "🛬",
        rocket: "🚀",
        artificial_satellite: "🛰",
        seat: "💺",
        canoe: "🛶",
        boat: "⛵️",
        sailboat: "⛵️",
        motor_boat: "🛥",
        speedboat: "🚤",
        passenger_ship: "🛳",
        ferry: "⛴",
        ship: "🚢",
        anchor: "⚓️",
        construction: "🚧",
        fuelpump: "⛽️",
        busstop: "🚏",
        vertical_traffic_light: "🚦",
        traffic_light: "🚥",
        world_map: "🗺",
        moyai: "🗿",
        statue_of_liberty: "🗽",
        fountain: "⛲️",
        tokyo_tower: "🗼",
        european_castle: "🏰",
        japanese_castle: "🏯",
        stadium: "🏟",
        ferris_wheel: "🎡",
        roller_coaster: "🎢",
        carousel_horse: "🎠",
        parasol_on_ground: "⛱",
        beach_umbrella: "🏖",
        desert_island: "🏝",
        mountain: "⛰",
        mountain_snow: "🏔",
        mount_fuji: "🗻",
        volcano: "🌋",
        desert: "🏜",
        camping: "🏕",
        tent: "⛺️",
        railway_track: "🛤",
        motorway: "🛣",
        building_construction: "🏗",
        factory: "🏭",
        house: "🏠",
        house_with_garden: "🏡",
        houses: "🏘",
        derelict_house: "🏚",
        office: "🏢",
        department_store: "🏬",
        post_office: "🏣",
        european_post_office: "🏤",
        hospital: "🏥",
        bank: "🏦",
        hotel: "🏨",
        convenience_store: "🏪",
        school: "🏫",
        love_hotel: "🏩",
        wedding: "💒",
        classical_building: "🏛",
        church: "⛪️",
        mosque: "🕌",
        synagogue: "🕍",
        kaaba: "🕋",
        shinto_shrine: "⛩",
        japan: "🗾",
        rice_scene: "🎑",
        national_park: "🏞",
        sunrise: "🌅",
        sunrise_over_mountains: "🌄",
        stars: "🌠",
        sparkler: "🎇",
        fireworks: "🎆",
        city_sunrise: "🌇",
        city_sunset: "🌆",
        cityscape: "🏙",
        night_with_stars: "🌃",
        milky_way: "🌌",
        bridge_at_night: "🌉",
        foggy: "🌁",
        watch: "⌚️",
        iphone: "📱",
        calling: "📲",
        computer: "💻",
        keyboard: "⌨️",
        desktop_computer: "🖥",
        printer: "🖨",
        computer_mouse: "🖱",
        trackball: "🖲",
        joystick: "🕹",
        clamp: "🗜",
        minidisc: "💽",
        floppy_disk: "💾",
        cd: "💿",
        dvd: "📀",
        vhs: "📼",
        camera: "📷",
        camera_flash: "📸",
        video_camera: "📹",
        movie_camera: "🎥",
        film_projector: "📽",
        film_strip: "🎞",
        telephone_receiver: "📞",
        phone: "☎️",
        telephone: "☎️",
        pager: "📟",
        fax: "📠",
        tv: "📺",
        radio: "📻",
        studio_microphone: "🎙",
        level_slider: "🎚",
        control_knobs: "🎛",
        stopwatch: "⏱",
        timer_clock: "⏲",
        alarm_clock: "⏰",
        mantelpiece_clock: "🕰",
        hourglass: "⌛️",
        hourglass_flowing_sand: "⏳",
        satellite: "📡",
        battery: "🔋",
        electric_plug: "🔌",
        bulb: "💡",
        flashlight: "🔦",
        candle: "🕯",
        wastebasket: "🗑",
        oil_drum: "🛢",
        money_with_wings: "💸",
        dollar: "💵",
        yen: "💴",
        euro: "💶",
        pound: "💷",
        moneybag: "💰",
        credit_card: "💳",
        gem: "💎",
        balance_scale: "⚖️",
        wrench: "🔧",
        hammer: "🔨",
        hammer_and_pick: "⚒",
        hammer_and_wrench: "🛠",
        pick: "⛏",
        nut_and_bolt: "🔩",
        gear: "⚙️",
        chains: "⛓",
        gun: "🔫",
        bomb: "💣",
        hocho: "🔪",
        knife: "🔪",
        dagger: "🗡",
        crossed_swords: "⚔️",
        shield: "🛡",
        smoking: "🚬",
        coffin: "⚰️",
        funeral_urn: "⚱️",
        amphora: "🏺",
        crystal_ball: "🔮",
        prayer_beads: "📿",
        barber: "💈",
        alembic: "⚗️",
        telescope: "🔭",
        microscope: "🔬",
        hole: "🕳",
        pill: "💊",
        syringe: "💉",
        thermometer: "🌡",
        toilet: "🚽",
        potable_water: "🚰",
        shower: "🚿",
        bathtub: "🛁",
        bath: "🛀",
        bellhop_bell: "🛎",
        key: "🔑",
        old_key: "🗝",
        door: "🚪",
        couch_and_lamp: "🛋",
        bed: "🛏",
        sleeping_bed: "🛌",
        framed_picture: "🖼",
        shopping: "🛍",
        shopping_cart: "🛒",
        gift: "🎁",
        balloon: "🎈",
        flags: "🎏",
        ribbon: "🎀",
        confetti_ball: "🎊",
        tada: "🎉",
        dolls: "🎎",
        izakaya_lantern: "🏮",
        lantern: "🏮",
        wind_chime: "🎐",
        email: "✉️",
        envelope: "✉️",
        envelope_with_arrow: "📩",
        incoming_envelope: "📨",
        "e-mail": "📧",
        love_letter: "💌",
        inbox_tray: "📥",
        outbox_tray: "📤",
        package: "📦",
        label: "🏷",
        mailbox_closed: "📪",
        mailbox: "📫",
        mailbox_with_mail: "📬",
        mailbox_with_no_mail: "📭",
        postbox: "📮",
        postal_horn: "📯",
        scroll: "📜",
        page_with_curl: "📃",
        page_facing_up: "📄",
        bookmark_tabs: "📑",
        bar_chart: "📊",
        chart_with_upwards_trend: "📈",
        chart_with_downwards_trend: "📉",
        spiral_notepad: "🗒",
        spiral_calendar: "🗓",
        calendar: "📆",
        date: "📅",
        card_index: "📇",
        card_file_box: "🗃",
        ballot_box: "🗳",
        file_cabinet: "🗄",
        clipboard: "📋",
        file_folder: "📁",
        open_file_folder: "📂",
        card_index_dividers: "🗂",
        newspaper_roll: "🗞",
        newspaper: "📰",
        notebook: "📓",
        notebook_with_decorative_cover: "📔",
        ledger: "📒",
        closed_book: "📕",
        green_book: "📗",
        blue_book: "📘",
        orange_book: "📙",
        books: "📚",
        book: "📖",
        open_book: "📖",
        bookmark: "🔖",
        link: "🔗",
        paperclip: "📎",
        paperclips: "🖇",
        triangular_ruler: "📐",
        straight_ruler: "📏",
        pushpin: "📌",
        round_pushpin: "📍",
        scissors: "✂️",
        pen: "🖊",
        fountain_pen: "🖋",
        black_nib: "✒️",
        paintbrush: "🖌",
        crayon: "🖍",
        memo: "📝",
        pencil: "📝",
        pencil2: "✏️",
        mag: "🔍",
        mag_right: "🔎",
        lock_with_ink_pen: "🔏",
        closed_lock_with_key: "🔐",
        lock: "🔒",
        unlock: "🔓",
        heart: "❤️",
        yellow_heart: "💛",
        green_heart: "💚",
        blue_heart: "💙",
        purple_heart: "💜",
        black_heart: "🖤",
        broken_heart: "💔",
        heavy_heart_exclamation: "❣️",
        two_hearts: "💕",
        revolving_hearts: "💞",
        heartbeat: "💓",
        heartpulse: "💗",
        sparkling_heart: "💖",
        cupid: "💘",
        gift_heart: "💝",
        heart_decoration: "💟",
        peace_symbol: "☮️",
        latin_cross: "✝️",
        star_and_crescent: "☪️",
        om: "🕉",
        wheel_of_dharma: "☸️",
        star_of_david: "✡️",
        six_pointed_star: "🔯",
        menorah: "🕎",
        yin_yang: "☯️",
        orthodox_cross: "☦️",
        place_of_worship: "🛐",
        ophiuchus: "⛎",
        aries: "♈️",
        taurus: "♉️",
        gemini: "♊️",
        cancer: "♋️",
        leo: "♌️",
        virgo: "♍️",
        libra: "♎️",
        scorpius: "♏️",
        sagittarius: "♐️",
        capricorn: "♑️",
        aquarius: "♒️",
        pisces: "♓️",
        id: "🆔",
        atom_symbol: "⚛️",
        accept: "🉑",
        radioactive: "☢️",
        biohazard: "☣️",
        mobile_phone_off: "📴",
        vibration_mode: "📳",
        eight_pointed_black_star: "✴️",
        vs: "🆚",
        white_flower: "💮",
        ideograph_advantage: "🉐",
        secret: "㊙️",
        congratulations: "㊗️",
        u6e80: "🈵",
        a: "🅰️",
        b: "🅱️",
        ab: "🆎",
        cl: "🆑",
        o2: "🅾️",
        sos: "🆘",
        x: "❌",
        o: "⭕️",
        stop_sign: "🛑",
        no_entry: "⛔️",
        name_badge: "📛",
        no_entry_sign: "🚫",
        anger: "💢",
        hotsprings: "♨️",
        no_pedestrians: "🚷",
        do_not_litter: "🚯",
        no_bicycles: "🚳",
        "non-potable_water": "🚱",
        underage: "🔞",
        no_mobile_phones: "📵",
        no_smoking: "🚭",
        exclamation: "❗️",
        heavy_exclamation_mark: "❗️",
        grey_exclamation: "❕",
        question: "❓",
        grey_question: "❔",
        bangbang: "‼️",
        interrobang: "⁉️",
        low_brightness: "🔅",
        high_brightness: "🔆",
        part_alternation_mark: "〽️",
        warning: "⚠️",
        children_crossing: "🚸",
        trident: "🔱",
        fleur_de_lis: "⚜️",
        beginner: "🔰",
        recycle: "♻️",
        white_check_mark: "✅",
        chart: "💹",
        sparkle: "❇️",
        eight_spoked_asterisk: "✳️",
        negative_squared_cross_mark: "❎",
        globe_with_meridians: "🌐",
        diamond_shape_with_a_dot_inside: "💠",
        m: "Ⓜ️",
        cyclone: "🌀",
        zzz: "💤",
        atm: "🏧",
        wc: "🚾",
        wheelchair: "♿️",
        parking: "🅿️",
        sa: "🈂️",
        passport_control: "🛂",
        customs: "🛃",
        baggage_claim: "🛄",
        left_luggage: "🛅",
        mens: "🚹",
        womens: "🚺",
        baby_symbol: "🚼",
        restroom: "🚻",
        put_litter_in_its_place: "🚮",
        cinema: "🎦",
        signal_strength: "📶",
        koko: "🈁",
        symbols: "🔣",
        information_source: "ℹ️",
        abc: "🔤",
        abcd: "🔡",
        capital_abcd: "🔠",
        ng: "🆖",
        ok: "🆗",
        up: "🆙",
        cool: "🆒",
        new: "🆕",
        free: "🆓",
        zero: "0️⃣",
        one: "1️⃣",
        two: "2️⃣",
        three: "3️⃣",
        four: "4️⃣",
        five: "5️⃣",
        six: "6️⃣",
        seven: "7️⃣",
        eight: "8️⃣",
        nine: "9️⃣",
        keycap_ten: "🔟",
        hash: "#️⃣",
        asterisk: "*️⃣",
        arrow_forward: "▶️",
        pause_button: "⏸",
        play_or_pause_button: "⏯",
        stop_button: "⏹",
        record_button: "⏺",
        next_track_button: "⏭",
        previous_track_button: "⏮",
        fast_forward: "⏩",
        rewind: "⏪",
        arrow_double_up: "⏫",
        arrow_double_down: "⏬",
        arrow_backward: "◀️",
        arrow_up_small: "🔼",
        arrow_down_small: "🔽",
        arrow_right: "➡️",
        arrow_left: "⬅️",
        arrow_up: "⬆️",
        arrow_down: "⬇️",
        arrow_upper_right: "↗️",
        arrow_lower_right: "↘️",
        arrow_lower_left: "↙️",
        arrow_upper_left: "↖️",
        arrow_up_down: "↕️",
        left_right_arrow: "↔️",
        arrow_right_hook: "↪️",
        leftwards_arrow_with_hook: "↩️",
        arrow_heading_up: "⤴️",
        arrow_heading_down: "⤵️",
        twisted_rightwards_arrows: "🔀",
        repeat: "🔁",
        repeat_one: "🔂",
        arrows_counterclockwise: "🔄",
        arrows_clockwise: "🔃",
        musical_note: "🎵",
        notes: "🎶",
        heavy_plus_sign: "➕",
        heavy_minus_sign: "➖",
        heavy_division_sign: "➗",
        heavy_multiplication_x: "✖️",
        heavy_dollar_sign: "💲",
        currency_exchange: "💱",
        tm: "™️",
        copyright: "©️",
        registered: "®️",
        wavy_dash: "〰️",
        curly_loop: "➰",
        loop: "➿",
        end: "🔚",
        back: "🔙",
        on: "🔛",
        top: "🔝",
        soon: "🔜",
        heavy_check_mark: "✔️",
        ballot_box_with_check: "☑️",
        radio_button: "🔘",
        white_circle: "⚪️",
        black_circle: "⚫️",
        red_circle: "🔴",
        large_blue_circle: "🔵",
        small_red_triangle: "🔺",
        small_red_triangle_down: "🔻",
        small_orange_diamond: "🔸",
        small_blue_diamond: "🔹",
        large_orange_diamond: "🔶",
        large_blue_diamond: "🔷",
        white_square_button: "🔳",
        black_square_button: "🔲",
        black_small_square: "▪️",
        white_small_square: "▫️",
        black_medium_small_square: "◾️",
        white_medium_small_square: "◽️",
        black_medium_square: "◼️",
        white_medium_square: "◻️",
        black_large_square: "⬛️",
        white_large_square: "⬜️",
        speaker: "🔈",
        mute: "🔇",
        sound: "🔉",
        loud_sound: "🔊",
        bell: "🔔",
        no_bell: "🔕",
        mega: "📣",
        loudspeaker: "📢",
        eye_speech_bubble: "👁‍🗨",
        speech_balloon: "💬",
        thought_balloon: "💭",
        right_anger_bubble: "🗯",
        spades: "♠️",
        clubs: "♣️",
        hearts: "♥️",
        diamonds: "♦️",
        black_joker: "🃏",
        flower_playing_cards: "🎴",
        mahjong: "🀄️",
        clock1: "🕐",
        clock2: "🕑",
        clock3: "🕒",
        clock4: "🕓",
        clock5: "🕔",
        clock6: "🕕",
        clock7: "🕖",
        clock8: "🕗",
        clock9: "🕘",
        clock10: "🕙",
        clock11: "🕚",
        clock12: "🕛",
        clock130: "🕜",
        clock230: "🕝",
        clock330: "🕞",
        clock430: "🕟",
        clock530: "🕠",
        clock630: "🕡",
        clock730: "🕢",
        clock830: "🕣",
        clock930: "🕤",
        clock1030: "🕥",
        clock1130: "🕦",
        clock1230: "🕧",
        white_flag: "🏳️",
        black_flag: "🏴",
        checkered_flag: "🏁",
        triangular_flag_on_post: "🚩",
        rainbow_flag: "🏳️‍🌈",
        afghanistan: "🇦🇫",
        aland_islands: "🇦🇽",
        albania: "🇦🇱",
        algeria: "🇩🇿",
        american_samoa: "🇦🇸",
        andorra: "🇦🇩",
        angola: "🇦🇴",
        anguilla: "🇦🇮",
        antarctica: "🇦🇶",
        antigua_barbuda: "🇦🇬",
        argentina: "🇦🇷",
        armenia: "🇦🇲",
        aruba: "🇦🇼",
        australia: "🇦🇺",
        austria: "🇦🇹",
        azerbaijan: "🇦🇿",
        bahamas: "🇧🇸",
        bahrain: "🇧🇭",
        bangladesh: "🇧🇩",
        barbados: "🇧🇧",
        belarus: "🇧🇾",
        belgium: "🇧🇪",
        belize: "🇧🇿",
        benin: "🇧🇯",
        bermuda: "🇧🇲",
        bhutan: "🇧🇹",
        bolivia: "🇧🇴",
        caribbean_netherlands: "🇧🇶",
        bosnia_herzegovina: "🇧🇦",
        botswana: "🇧🇼",
        brazil: "🇧🇷",
        british_indian_ocean_territory: "🇮🇴",
        british_virgin_islands: "🇻🇬",
        brunei: "🇧🇳",
        bulgaria: "🇧🇬",
        burkina_faso: "🇧🇫",
        burundi: "🇧🇮",
        cape_verde: "🇨🇻",
        cambodia: "🇰🇭",
        cameroon: "🇨🇲",
        canada: "🇨🇦",
        canary_islands: "🇮🇨",
        cayman_islands: "🇰🇾",
        central_african_republic: "🇨🇫",
        chad: "🇹🇩",
        chile: "🇨🇱",
        cn: "🇨🇳",
        christmas_island: "🇨🇽",
        cocos_islands: "🇨🇨",
        colombia: "🇨🇴",
        comoros: "🇰🇲",
        congo_brazzaville: "🇨🇬",
        congo_kinshasa: "🇨🇩",
        cook_islands: "🇨🇰",
        costa_rica: "🇨🇷",
        cote_divoire: "🇨🇮",
        croatia: "🇭🇷",
        cuba: "🇨🇺",
        curacao: "🇨🇼",
        cyprus: "🇨🇾",
        czech_republic: "🇨🇿",
        denmark: "🇩🇰",
        djibouti: "🇩🇯",
        dominica: "🇩🇲",
        dominican_republic: "🇩🇴",
        ecuador: "🇪🇨",
        egypt: "🇪🇬",
        el_salvador: "🇸🇻",
        equatorial_guinea: "🇬🇶",
        eritrea: "🇪🇷",
        estonia: "🇪🇪",
        ethiopia: "🇪🇹",
        eu: "🇪🇺",
        european_union: "🇪🇺",
        falkland_islands: "🇫🇰",
        faroe_islands: "🇫🇴",
        fiji: "🇫🇯",
        finland: "🇫🇮",
        fr: "🇫🇷",
        french_guiana: "🇬🇫",
        french_polynesia: "🇵🇫",
        french_southern_territories: "🇹🇫",
        gabon: "🇬🇦",
        gambia: "🇬🇲",
        georgia: "🇬🇪",
        de: "🇩🇪",
        ghana: "🇬🇭",
        gibraltar: "🇬🇮",
        greece: "🇬🇷",
        greenland: "🇬🇱",
        grenada: "🇬🇩",
        guadeloupe: "🇬🇵",
        guam: "🇬🇺",
        guatemala: "🇬🇹",
        guernsey: "🇬🇬",
        guinea: "🇬🇳",
        guinea_bissau: "🇬🇼",
        guyana: "🇬🇾",
        haiti: "🇭🇹",
        honduras: "🇭🇳",
        hong_kong: "🇭🇰",
        hungary: "🇭🇺",
        iceland: "🇮🇸",
        india: "🇮🇳",
        indonesia: "🇮🇩",
        iran: "🇮🇷",
        iraq: "🇮🇶",
        ireland: "🇮🇪",
        isle_of_man: "🇮🇲",
        israel: "🇮🇱",
        it: "🇮🇹",
        jamaica: "🇯🇲",
        jp: "🇯🇵",
        crossed_flags: "🎌",
        jersey: "🇯🇪",
        jordan: "🇯🇴",
        kazakhstan: "🇰🇿",
        kenya: "🇰🇪",
        kiribati: "🇰🇮",
        kosovo: "🇽🇰",
        kuwait: "🇰🇼",
        kyrgyzstan: "🇰🇬",
        laos: "🇱🇦",
        latvia: "🇱🇻",
        lebanon: "🇱🇧",
        lesotho: "🇱🇸",
        liberia: "🇱🇷",
        libya: "🇱🇾",
        liechtenstein: "🇱🇮",
        lithuania: "🇱🇹",
        luxembourg: "🇱🇺",
        macau: "🇲🇴",
        macedonia: "🇲🇰",
        madagascar: "🇲🇬",
        malawi: "🇲🇼",
        malaysia: "🇲🇾",
        maldives: "🇲🇻",
        mali: "🇲🇱",
        malta: "🇲🇹",
        marshall_islands: "🇲🇭",
        martinique: "🇲🇶",
        mauritania: "🇲🇷",
        mauritius: "🇲🇺",
        mayotte: "🇾🇹",
        mexico: "🇲🇽",
        micronesia: "🇫🇲",
        moldova: "🇲🇩",
        monaco: "🇲🇨",
        mongolia: "🇲🇳",
        montenegro: "🇲🇪",
        montserrat: "🇲🇸",
        morocco: "🇲🇦",
        mozambique: "🇲🇿",
        myanmar: "🇲🇲",
        namibia: "🇳🇦",
        nauru: "🇳🇷",
        nepal: "🇳🇵",
        netherlands: "🇳🇱",
        new_caledonia: "🇳🇨",
        new_zealand: "🇳🇿",
        nicaragua: "🇳🇮",
        niger: "🇳🇪",
        nigeria: "🇳🇬",
        niue: "🇳🇺",
        norfolk_island: "🇳🇫",
        northern_mariana_islands: "🇲🇵",
        north_korea: "🇰🇵",
        norway: "🇳🇴",
        oman: "🇴🇲",
        pakistan: "🇵🇰",
        palau: "🇵🇼",
        palestinian_territories: "🇵🇸",
        panama: "🇵🇦",
        papua_new_guinea: "🇵🇬",
        paraguay: "🇵🇾",
        peru: "🇵🇪",
        philippines: "🇵🇭",
        pitcairn_islands: "🇵🇳",
        poland: "🇵🇱",
        portugal: "🇵🇹",
        puerto_rico: "🇵🇷",
        qatar: "🇶🇦",
        reunion: "🇷🇪",
        romania: "🇷🇴",
        ru: "🇷🇺",
        rwanda: "🇷🇼",
        st_barthelemy: "🇧🇱",
        st_helena: "🇸🇭",
        st_kitts_nevis: "🇰🇳",
        st_lucia: "🇱🇨",
        st_pierre_miquelon: "🇵🇲",
        st_vincent_grenadines: "🇻🇨",
        samoa: "🇼🇸",
        san_marino: "🇸🇲",
        sao_tome_principe: "🇸🇹",
        saudi_arabia: "🇸🇦",
        senegal: "🇸🇳",
        serbia: "🇷🇸",
        seychelles: "🇸🇨",
        sierra_leone: "🇸🇱",
        singapore: "🇸🇬",
        sint_maarten: "🇸🇽",
        slovakia: "🇸🇰",
        slovenia: "🇸🇮",
        solomon_islands: "🇸🇧",
        somalia: "🇸🇴",
        south_africa: "🇿🇦",
        south_georgia_south_sandwich_islands: "🇬🇸",
        kr: "🇰🇷",
        south_sudan: "🇸🇸",
        es: "🇪🇸",
        sri_lanka: "🇱🇰",
        sudan: "🇸🇩",
        suriname: "🇸🇷",
        swaziland: "🇸🇿",
        sweden: "🇸🇪",
        switzerland: "🇨🇭",
        syria: "🇸🇾",
        taiwan: "🇹🇼",
        tajikistan: "🇹🇯",
        tanzania: "🇹🇿",
        thailand: "🇹🇭",
        timor_leste: "🇹🇱",
        togo: "🇹🇬",
        tokelau: "🇹🇰",
        tonga: "🇹🇴",
        trinidad_tobago: "🇹🇹",
        tunisia: "🇹🇳",
        tr: "🇹🇷",
        turkmenistan: "🇹🇲",
        turks_caicos_islands: "🇹🇨",
        tuvalu: "🇹🇻",
        uganda: "🇺🇬",
        ukraine: "🇺🇦",
        united_arab_emirates: "🇦🇪",
        gb: "🇬🇧",
        uk: "🇬🇧",
        us: "🇺🇸",
        us_virgin_islands: "🇻🇮",
        uruguay: "🇺🇾",
        uzbekistan: "🇺🇿",
        vanuatu: "🇻🇺",
        vatican_city: "🇻🇦",
        venezuela: "🇻🇪",
        vietnam: "🇻🇳",
        wallis_futuna: "🇼🇫",
        western_sahara: "🇪🇭",
        yemen: "🇾🇪",
        zambia: "🇿🇲",
        zimbabwe: "🇿🇼"
    }
}
, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , function(e, t, n) {
    function r(e) {
        return n(a(e))
    }
    function a(e) {
        var t = i[e];
        if (!(t + 1))
            throw new Error("Cannot find module '" + e + "'.");
        return t
    }
    var i = {
        "./locale": 724,
        "./locale.js": 724
    };
    r.keys = function() {
        return Object.keys(i)
    }
    ,
    r.resolve = a,
    e.exports = r,
    r.id = 1886
}
, , , , , function(e, t) {
    e.exports = "/* Add your custom Handlebars helpers here.\r\n\r\nFor example:\r\n\r\nHandlebars.registerHelper('transform', function (options) {\r\n  var result = options.fn(this);\r\n  return new Handlebars.SafeString(\r\n    result.replace(/<pre[^>]*>/g, '<pre class=\"prettyprint\">')\r\n  );\r\n});\r\n\r\nThen use the helper in your template:\r\n\r\n{{#transform}}{{{files.0.content.html}}}{{/transform}}\r\n*/\r\n\r\n"
}
, function(e, t) {
    e.exports = "\x3c!-- Specify your Handlebars template here.\r\n\r\nThe following JavaScript context will be passed to the template:\r\n\r\n{\r\n  files: [{\r\n    name: 'The filename',\r\n    content: {\r\n      text: 'The file content',\r\n      html: '<p>The file content</p>',\r\n      yamlProperties: 'The file properties in YAML format',\r\n      properties: {\r\n        // Computed file properties object\r\n      },\r\n      toc: [\r\n        // Table Of Contents tree\r\n      ]\r\n    }\r\n  }]\r\n}\r\n\r\n\r\nAs an example:\r\n\r\n<html><body>{{{files.0.content.html}}}</body></html>\r\n\r\nwill produce:\r\n\r\n<html><body><p>The file content</p></body></html>\r\n\r\n\r\nYou can use Handlebars built-in helpers and the custom StackEdit ones:\r\n\r\n{{#tocToHtml files.0.content.toc}}{{/tocToHtml}} will produce a clickable TOC.\r\n\r\n{{#tocToHtml files.0.content.toc 3}}{{/tocToHtml}} will limit the TOC depth to 3.\r\n--\x3e\r\n\r\n"
}
, function(e, t) {
    e.exports = "**Where is my data stored?**\r\n\r\nIf your workspace is not synced, your files are stored inside your browser and nowhere else.\r\n\r\nWe recommend syncing your workspace to make sure files won't be lost in case your browser data is cleared. Self-hosted CouchDB or GitLab backends are well suited for privacy.\r\n\r\n**Can StackEdit access my data without telling me?**\r\n\r\nStackEdit is a browser-based application. The access tokens issued by Google, Dropbox, GitHub... are stored in your browser and are not sent to any kind of backend or 3^rd^ party so your data won't be accessed by anyone.\r\n"
}
, function(e, t) {
    e.exports = "Headers\r\n---------------------------\r\n\r\n# Header 1\r\n\r\n## Header 2\r\n\r\n### Header 3\r\n\r\n\r\n\r\nStyling\r\n---------------------------\r\n\r\n*Emphasize* _emphasize_\r\n\r\n**Strong** __strong__\r\n\r\n==Marked text.==\r\n\r\n~~Mistaken text.~~\r\n\r\n> Quoted text.\r\n\r\nH~2~O is a liquid.\r\n\r\n2^10^ is 1024.\r\n\r\n\r\n\r\nLists\r\n---------------------------\r\n\r\n- Item\r\n  * Item\r\n    + Item\r\n\r\n1. Item 1\r\n2. Item 2\r\n3. Item 3\r\n\r\n- [ ] Incomplete item\r\n- [x] Complete item\r\n\r\n\r\n\r\nLinks\r\n---------------------------\r\n\r\nA [link](http://example.com).\r\n\r\nAn image: ![Alt](img.jpg)\r\n\r\nA sized image: ![Alt](img.jpg =60x50)\r\n\r\n\r\n\r\nCode\r\n---------------------------\r\n\r\nSome `inline code`.\r\n\r\n```\r\n// A code block\r\nvar foo = 'bar';\r\n```\r\n\r\n```javascript\r\n// An highlighted block\r\nvar foo = 'bar';\r\n```\r\n\r\n\r\n\r\nTables\r\n---------------------------\r\n\r\nItem     | Value\r\n-------- | -----\r\nComputer | $1600\r\nPhone    | $12\r\nPipe     | $1\r\n\r\n\r\n| Column 1 | Column 2      |\r\n|:--------:| -------------:|\r\n| centered | right-aligned |\r\n\r\n\r\n\r\nDefinition lists\r\n---------------------------\r\n\r\nMarkdown\r\n:  Text-to-HTML conversion tool\r\n\r\nAuthors\r\n:  John\r\n:  Luke\r\n\r\n\r\n\r\nFootnotes\r\n---------------------------\r\n\r\nSome text with a footnote.[^1]\r\n\r\n[^1]: The footnote.\r\n\r\n\r\n\r\nAbbreviations\r\n---------------------------\r\n\r\nMarkdown converts text to HTML.\r\n\r\n*[HTML]: HyperText Markup Language\r\n\r\n\r\n\r\nLaTeX math\r\n---------------------------\r\n\r\nThe Gamma function satisfying $\\Gamma(n) = (n-1)!\\quad\\forall\r\nn\\in\\mathbb N$ is via the Euler integral\r\n\r\n$$\r\n\\Gamma(z) = \\int_0^\\infty t^{z-1}e^{-t}dt\\,.\r\n$$\r\n"
}
, function(e, t) {
    e.exports = "---\r\n{{{files.0.content.yamlProperties}}}\r\n---\r\n\r\n{{{files.0.content.html}}}\r\n"
}
, function(e, t) {
    e.exports = "{{{files.0.content.html}}}\r\n"
}
, function(e, t) {
    e.exports = '<!DOCTYPE html>\r\n<html>\r\n\r\n<head>\r\n  <meta charset="utf-8">\r\n  <meta name="viewport" content="width=device-width, initial-scale=1.0">\r\n  <title>{{files.0.name}}</title>\r\n  <link rel="stylesheet" href="https://stackedit.io/style.css" />\r\n</head>\r\n\r\n{{#if pdf}}\r\n<body class="stackedit stackedit--pdf">\r\n{{else}}\r\n<body class="stackedit">\r\n{{/if}}\r\n  <div class="stackedit__html">{{{files.0.content.html}}}</div>\r\n</body>\r\n\r\n</html>\r\n'
}
, function(e, t) {
    e.exports = '<!DOCTYPE html>\r\n<html>\r\n\r\n<head>\r\n  <meta charset="utf-8">\r\n  <meta name="viewport" content="width=device-width, initial-scale=1.0">\r\n  <title>{{files.0.name}}</title>\r\n  <link rel="stylesheet" href="https://stackedit.io/style.css" />\r\n</head>\r\n\r\n{{#if pdf}}\r\n<body class="stackedit stackedit--pdf">\r\n{{else}}\r\n<body class="stackedit">\r\n{{/if}}\r\n  <div class="stackedit__left">\r\n    <div class="stackedit__toc">\r\n      {{#tocToHtml files.0.content.toc 2}}{{/tocToHtml}}\r\n    </div>\r\n  </div>\r\n  <div class="stackedit__right">\r\n    <div class="stackedit__html">\r\n      {{{files.0.content.html}}}\r\n    </div>\r\n  </div>\r\n</body>\r\n\r\n</html>\r\n'
}
, function(e, t) {
    e.exports = "# Welcome to StackEdit!\r\n\r\nHi! I'm your first Markdown file in **StackEdit**. If you want to learn about StackEdit, you can read me. If you want to play with Markdown, you can edit me. Once you have finished with me, you can create new files by opening the **file explorer** on the left corner of the navigation bar.\r\n\r\n\r\n# Files\r\n\r\nStackEdit stores your files in your browser, which means all your files are automatically saved locally and are accessible **offline!**\r\n\r\n## Create files and folders\r\n\r\nThe file explorer is accessible using the button in left corner of the navigation bar. You can create a new file by clicking the **New file** button in the file explorer. You can also create folders by clicking the **New folder** button.\r\n\r\n## Switch to another file\r\n\r\nAll your files and folders are presented as a tree in the file explorer. You can switch from one to another by clicking a file in the tree.\r\n\r\n## Rename a file\r\n\r\nYou can rename the current file by clicking the file name in the navigation bar or by clicking the **Rename** button in the file explorer.\r\n\r\n## Delete a file\r\n\r\nYou can delete the current file by clicking the **Remove** button in the file explorer. The file will be moved into the **Trash** folder and automatically deleted after 7 days of inactivity.\r\n\r\n## Export a file\r\n\r\nYou can export the current file by clicking **Export to disk** in the menu. You can choose to export the file as plain Markdown, as HTML using a Handlebars template or as a PDF.\r\n\r\n\r\n# Synchronization\r\n\r\nSynchronization is one of the biggest features of StackEdit. It enables you to synchronize any file in your workspace with other files stored in your **Google Drive**, your **Dropbox** and your **GitHub** accounts. This allows you to keep writing on other devices, collaborate with people you share the file with, integrate easily into your workflow... The synchronization mechanism takes place every minute in the background, downloading, merging, and uploading file modifications.\r\n\r\nThere are two types of synchronization and they can complement each other:\r\n\r\n- The workspace synchronization will sync all your files, folders and settings automatically. This will allow you to fetch your workspace on any other device.\r\n\t> To start syncing your workspace, just sign in with Google in the menu.\r\n\r\n- The file synchronization will keep one file of the workspace synced with one or multiple files in **Google Drive**, **Dropbox** or **GitHub**.\r\n\t> Before starting to sync files, you must link an account in the **Synchronize** sub-menu.\r\n\r\n## Open a file\r\n\r\nYou can open a file from **Google Drive**, **Dropbox** or **GitHub** by opening the **Synchronize** sub-menu and clicking **Open from**. Once opened in the workspace, any modification in the file will be automatically synced.\r\n\r\n## Save a file\r\n\r\nYou can save any file of the workspace to **Google Drive**, **Dropbox** or **GitHub** by opening the **Synchronize** sub-menu and clicking **Save on**. Even if a file in the workspace is already synced, you can save it to another location. StackEdit can sync one file with multiple locations and accounts.\r\n\r\n## Synchronize a file\r\n\r\nOnce your file is linked to a synchronized location, StackEdit will periodically synchronize it by downloading/uploading any modification. A merge will be performed if necessary and conflicts will be resolved.\r\n\r\nIf you just have modified your file and you want to force syncing, click the **Synchronize now** button in the navigation bar.\r\n\r\n> **Note:** The **Synchronize now** button is disabled if you have no file to synchronize.\r\n\r\n## Manage file synchronization\r\n\r\nSince one file can be synced with multiple locations, you can list and manage synchronized locations by clicking **File synchronization** in the **Synchronize** sub-menu. This allows you to list and remove synchronized locations that are linked to your file.\r\n\r\n\r\n# Publication\r\n\r\nPublishing in StackEdit makes it simple for you to publish online your files. Once you're happy with a file, you can publish it to different hosting platforms like **Blogger**, **Dropbox**, **Gist**, **GitHub**, **Google Drive**, **WordPress** and **Zendesk**. With [Handlebars templates](http://handlebarsjs.com/), you have full control over what you export.\r\n\r\n> Before starting to publish, you must link an account in the **Publish** sub-menu.\r\n\r\n## Publish a File\r\n\r\nYou can publish your file by opening the **Publish** sub-menu and by clicking **Publish to**. For some locations, you can choose between the following formats:\r\n\r\n- Markdown: publish the Markdown text on a website that can interpret it (**GitHub** for instance),\r\n- HTML: publish the file converted to HTML via a Handlebars template (on a blog for example).\r\n\r\n## Update a publication\r\n\r\nAfter publishing, StackEdit keeps your file linked to that publication which makes it easy for you to re-publish it. Once you have modified your file and you want to update your publication, click on the **Publish now** button in the navigation bar.\r\n\r\n> **Note:** The **Publish now** button is disabled if your file has not been published yet.\r\n\r\n## Manage file publication\r\n\r\nSince one file can be published to multiple locations, you can list and manage publish locations by clicking **File publication** in the **Publish** sub-menu. This allows you to list and remove publication locations that are linked to your file.\r\n\r\n\r\n# Markdown extensions\r\n\r\nStackEdit extends the standard Markdown syntax by adding extra **Markdown extensions**, providing you with some nice features.\r\n\r\n> **ProTip:** You can disable any **Markdown extension** in the **File properties** dialog.\r\n\r\n\r\n## SmartyPants\r\n\r\nSmartyPants converts ASCII punctuation characters into \"smart\" typographic punctuation HTML entities. For example:\r\n\r\n|                |ASCII                          |HTML                         |\r\n|----------------|-------------------------------|-----------------------------|\r\n|Single backticks|`'Isn't this fun?'`            |'Isn't this fun?'            |\r\n|Quotes          |`\"Isn't this fun?\"`            |\"Isn't this fun?\"            |\r\n|Dashes          |`-- is en-dash, --- is em-dash`|-- is en-dash, --- is em-dash|\r\n\r\n\r\n## KaTeX\r\n\r\nYou can render LaTeX mathematical expressions using [KaTeX](https://khan.github.io/KaTeX/):\r\n\r\nThe *Gamma function* satisfying $\\Gamma(n) = (n-1)!\\quad\\forall n\\in\\mathbb N$ is via the Euler integral\r\n\r\n$$\r\n\\Gamma(z) = \\int_0^\\infty t^{z-1}e^{-t}dt\\,.\r\n$$\r\n\r\n> You can find more information about **LaTeX** mathematical expressions [here](http://meta.math.stackexchange.com/questions/5020/mathjax-basic-tutorial-and-quick-reference).\r\n\r\n\r\n## UML diagrams\r\n\r\nYou can render UML diagrams using [Mermaid](https://mermaidjs.github.io/). For example, this will produce a sequence diagram:\r\n\r\n```mermaid\r\nsequenceDiagram\r\nAlice ->> Bob: Hello Bob, how are you?\r\nBob--\x3e>John: How about you John?\r\nBob--x Alice: I am good thanks!\r\nBob-x John: I am good thanks!\r\nNote right of John: Bob thinks a long<br/>long time, so long<br/>that the text does<br/>not fit on a row.\r\n\r\nBob--\x3eAlice: Checking with John...\r\nAlice->John: Yes... John, how are you?\r\n```\r\n\r\nAnd this will produce a flow chart:\r\n\r\n```mermaid\r\ngraph LR\r\nA[Square Rect] -- Link text --\x3e B((Circle))\r\nA --\x3e C(Round Rect)\r\nB --\x3e D{Rhombus}\r\nC --\x3e D\r\n```\r\n"
}
, , , , , , , , , , , function(e, t, n) {
    "use strict";
    var r = n(2076)
      , a = n(738)
      , i = (n(2035),
    n(0))
      , o = n.i(i.a)(a.a, r.a, r.b, !1, null, null, null);
    t.a = o.exports
}
, function(e, t, n) {
    "use strict";
    var r = n(2078)
      , a = n(740)
      , i = (n(2037),
    n(0))
      , o = n.i(i.a)(a.a, r.a, r.b, !1, null, null, null);
    t.a = o.exports
}
, function(e, t, n) {
    "use strict";
    var r = n(2079)
      , a = n(741)
      , i = (n(2038),
    n(0))
      , o = n.i(i.a)(a.a, r.a, r.b, !1, null, null, null);
    t.a = o.exports
}
, function(e, t, n) {
    "use strict";
    var r = n(2080)
      , a = n(742)
      , i = (n(2039),
    n(0))
      , o = n.i(i.a)(a.a, r.a, r.b, !1, null, null, null);
    t.a = o.exports
}
, function(e, t, n) {
    "use strict";
    var r = n(2081)
      , a = n(743)
      , i = (n(2040),
    n(0))
      , o = n.i(i.a)(a.a, r.a, r.b, !1, null, null, null);
    t.a = o.exports
}
, function(e, t, n) {
    "use strict";
    var r = n(2082)
      , a = n(744)
      , i = (n(2041),
    n(0))
      , o = n.i(i.a)(a.a, r.a, r.b, !1, null, null, null);
    t.a = o.exports
}
, function(e, t, n) {
    "use strict";
    var r = n(2083)
      , a = n(745)
      , i = (n(2042),
    n(0))
      , o = n.i(i.a)(a.a, r.a, r.b, !1, null, null, null);
    t.a = o.exports
}
, function(e, t, n) {
    "use strict";
    var r = n(2084)
      , a = n(746)
      , i = (n(2043),
    n(0))
      , o = n.i(i.a)(a.a, r.a, r.b, !1, null, null, null);
    t.a = o.exports
}
, function(e, t, n) {
    "use strict";
    var r = n(2085)
      , a = n(747)
      , i = (n(2044),
    n(0))
      , o = n.i(i.a)(a.a, r.a, r.b, !1, null, null, null);
    t.a = o.exports
}
, function(e, t, n) {
    "use strict";
    var r = n(2086)
      , a = n(748)
      , i = (n(2045),
    n(0))
      , o = n.i(i.a)(a.a, r.a, r.b, !1, null, null, null);
    t.a = o.exports
}
, function(e, t, n) {
    "use strict";
    var r = n(2087)
      , a = n(749)
      , i = (n(2046),
    n(0))
      , o = n.i(i.a)(a.a, r.a, r.b, !1, null, null, null);
    t.a = o.exports
}
, function(e, t, n) {
    "use strict";
    var r = n(2088)
      , a = n(750)
      , i = (n(2047),
    n(0))
      , o = n.i(i.a)(a.a, r.a, r.b, !1, null, null, null);
    t.a = o.exports
}
, function(e, t, n) {
    "use strict";
    var r = n(2089)
      , a = (n(2048),
    n(0))
      , i = {}
      , o = n.i(a.a)(i, r.a, r.b, !1, null, null, null);
    t.a = o.exports
}
, function(e, t, n) {
    "use strict";
    var r = n(2090)
      , a = n(751)
      , i = (n(2049),
    n(0))
      , o = n.i(i.a)(a.a, r.a, r.b, !1, null, null, null);
    t.a = o.exports
}
, function(e, t, n) {
    "use strict";
    var r = n(2091)
      , a = n(752)
      , i = (n(2050),
    n(0))
      , o = n.i(i.a)(a.a, r.a, r.b, !1, null, null, null);
    t.a = o.exports
}
, function(e, t, n) {
    "use strict";
    var r = n(2092)
      , a = n(753)
      , i = (n(2051),
    n(0))
      , o = n.i(i.a)(a.a, r.a, r.b, !1, null, null, null);
    t.a = o.exports
}
, function(e, t, n) {
    "use strict";
    var r = n(2097)
      , a = n(758)
      , i = (n(2054),
    n(0))
      , o = n.i(i.a)(a.a, r.a, r.b, !1, null, null, null);
    t.a = o.exports
}
, function(e, t, n) {
    "use strict";
    var r = n(2098)
      , a = n(759)
      , i = n(0)
      , o = n.i(i.a)(a.a, r.a, r.b, !1, null, null, null);
    t.a = o.exports
}
, function(e, t, n) {
    "use strict";
    var r = n(2100)
      , a = n(761)
      , i = n(0)
      , o = n.i(i.a)(a.a, r.a, r.b, !1, null, null, null);
    t.a = o.exports
}
, function(e, t, n) {
    "use strict";
    var r = n(2102)
      , a = n(763)
      , i = (n(2056),
    n(0))
      , o = n.i(i.a)(a.a, r.a, r.b, !1, null, null, null);
    t.a = o.exports
}
, function(e, t, n) {
    "use strict";
    var r = n(2103)
      , a = n(764)
      , i = n(0)
      , o = n.i(i.a)(a.a, r.a, r.b, !1, null, null, null);
    t.a = o.exports
}
, function(e, t, n) {
    "use strict";
    var r = n(2104)
      , a = n(765)
      , i = n(0)
      , o = n.i(i.a)(a.a, r.a, r.b, !1, null, null, null);
    t.a = o.exports
}
, function(e, t, n) {
    "use strict";
    var r = n(2105)
      , a = n(766)
      , i = n(0)
      , o = n.i(i.a)(a.a, r.a, r.b, !1, null, null, null);
    t.a = o.exports
}
, function(e, t, n) {
    "use strict";
    var r = n(2106)
      , a = n(767)
      , i = n(0)
      , o = n.i(i.a)(a.a, r.a, r.b, !1, null, null, null);
    t.a = o.exports
}
, function(e, t, n) {
    "use strict";
    var r = n(2107)
      , a = n(768)
      , i = n(0)
      , o = n.i(i.a)(a.a, r.a, r.b, !1, null, null, null);
    t.a = o.exports
}
, function(e, t, n) {
    "use strict";
    var r = n(2108)
      , a = n(769)
      , i = (n(2057),
    n(0))
      , o = n.i(i.a)(a.a, r.a, r.b, !1, null, null, null);
    t.a = o.exports
}
, function(e, t, n) {
    "use strict";
    var r = n(2110)
      , a = n(770)
      , i = (n(2059),
    n(0))
      , o = n.i(i.a)(a.a, r.a, r.b, !1, null, null, null);
    t.a = o.exports
}
, function(e, t, n) {
    "use strict";
    var r = n(2111)
      , a = n(771)
      , i = (n(2060),
    n(0))
      , o = n.i(i.a)(a.a, r.a, r.b, !1, null, null, null);
    t.a = o.exports
}
, function(e, t, n) {
    "use strict";
    var r = n(2112)
      , a = n(772)
      , i = (n(2061),
    n(0))
      , o = n.i(i.a)(a.a, r.a, r.b, !1, null, null, null);
    t.a = o.exports
}
, function(e, t, n) {
    "use strict";
    var r = n(2113)
      , a = n(773)
      , i = (n(2062),
    n(0))
      , o = n.i(i.a)(a.a, r.a, r.b, !1, null, null, null);
    t.a = o.exports
}
, function(e, t, n) {
    "use strict";
    var r = n(2114)
      , a = n(774)
      , i = n(0)
      , o = n.i(i.a)(a.a, r.a, r.b, !1, null, null, null);
    t.a = o.exports
}
, function(e, t, n) {
    "use strict";
    var r = n(2115)
      , a = n(775)
      , i = (n(2073),
    n(0))
      , o = n.i(i.a)(a.a, r.a, r.b, !1, null, "68a67d79", null);
    t.a = o.exports
}
, function(e, t, n) {
    "use strict";
    var r = n(2116)
      , a = n(776)
      , i = (n(2074),
    n(0))
      , o = n.i(i.a)(a.a, r.a, r.b, !1, null, "2412a17a", null);
    t.a = o.exports
}
, function(e, t, n) {
    "use strict";
    var r = n(2117)
      , a = n(777)
      , i = n(0)
      , o = n.i(i.a)(a.a, r.a, r.b, !1, null, null, null);
    t.a = o.exports
}
, function(e, t, n) {
    "use strict";
    var r = n(2118)
      , a = n(778)
      , i = n(0)
      , o = n.i(i.a)(a.a, r.a, r.b, !1, null, null, null);
    t.a = o.exports
}
, function(e, t, n) {
    "use strict";
    var r = n(2119)
      , a = n(779)
      , i = (n(2063),
    n(0))
      , o = n.i(i.a)(a.a, r.a, r.b, !1, null, null, null);
    t.a = o.exports
}
, function(e, t, n) {
    "use strict";
    var r = n(2120)
      , a = n(780)
      , i = (n(2064),
    n(0))
      , o = n.i(i.a)(a.a, r.a, r.b, !1, null, null, null);
    t.a = o.exports
}
, function(e, t, n) {
    "use strict";
    var r = n(2121)
      , a = n(781)
      , i = (n(2065),
    n(0))
      , o = n.i(i.a)(a.a, r.a, r.b, !1, null, null, null);
    t.a = o.exports
}
, function(e, t, n) {
    "use strict";
    var r = n(2122)
      , a = n(782)
      , i = (n(2066),
    n(0))
      , o = n.i(i.a)(a.a, r.a, r.b, !1, null, null, null);
    t.a = o.exports
}
, function(e, t, n) {
    "use strict";
    var r = n(2123)
      , a = n(783)
      , i = (n(2067),
    n(0))
      , o = n.i(i.a)(a.a, r.a, r.b, !1, null, null, null);
    t.a = o.exports
}
, function(e, t, n) {
    "use strict";
    var r = n(2124)
      , a = n(784)
      , i = (n(2068),
    n(0))
      , o = n.i(i.a)(a.a, r.a, r.b, !1, null, null, null);
    t.a = o.exports
}
, function(e, t, n) {
    "use strict";
    var r = n(2128)
      , a = n(788)
      , i = n(0)
      , o = n.i(i.a)(a.a, r.a, r.b, !1, null, null, null);
    t.a = o.exports
}
, function(e, t, n) {
    "use strict";
    var r = n(2129)
      , a = n(789)
      , i = n(0)
      , o = n.i(i.a)(a.a, r.a, r.b, !1, null, null, null);
    t.a = o.exports
}
, function(e, t, n) {
    "use strict";
    var r = n(2130)
      , a = n(790)
      , i = n(0)
      , o = n.i(i.a)(a.a, r.a, r.b, !1, null, null, null);
    t.a = o.exports
}
, function(e, t, n) {
    "use strict";
    var r = n(2131)
      , a = n(791)
      , i = (n(2070),
    n(0))
      , o = n.i(i.a)(a.a, r.a, r.b, !1, null, null, null);
    t.a = o.exports
}
, function(e, t, n) {
    "use strict";
    var r = n(2132)
      , a = n(792)
      , i = n(0)
      , o = n.i(i.a)(a.a, r.a, r.b, !1, null, null, null);
    t.a = o.exports
}
, function(e, t, n) {
    "use strict";
    var r = n(2133)
      , a = n(793)
      , i = n(0)
      , o = n.i(i.a)(a.a, r.a, r.b, !1, null, null, null);
    t.a = o.exports
}
, function(e, t, n) {
    "use strict";
    var r = n(2134)
      , a = n(794)
      , i = n(0)
      , o = n.i(i.a)(a.a, r.a, r.b, !1, null, null, null);
    t.a = o.exports
}
, function(e, t, n) {
    "use strict";
    var r = n(2135)
      , a = n(795)
      , i = n(0)
      , o = n.i(i.a)(a.a, r.a, r.b, !1, null, null, null);
    t.a = o.exports
}
, function(e, t, n) {
    "use strict";
    var r = n(2136)
      , a = n(796)
      , i = n(0)
      , o = n.i(i.a)(a.a, r.a, r.b, !1, null, null, null);
    t.a = o.exports
}
, function(e, t, n) {
    "use strict";
    var r = n(2137)
      , a = n(797)
      , i = n(0)
      , o = n.i(i.a)(a.a, r.a, r.b, !1, null, null, null);
    t.a = o.exports
}
, function(e, t, n) {
    "use strict";
    var r = n(2138)
      , a = n(798)
      , i = n(0)
      , o = n.i(i.a)(a.a, r.a, r.b, !1, null, null, null);
    t.a = o.exports
}
, function(e, t, n) {
    "use strict";
    var r = n(2139)
      , a = n(799)
      , i = n(0)
      , o = n.i(i.a)(a.a, r.a, r.b, !1, null, null, null);
    t.a = o.exports
}
, function(e, t, n) {
    "use strict";
    var r = n(2140)
      , a = n(800)
      , i = n(0)
      , o = n.i(i.a)(a.a, r.a, r.b, !1, null, null, null);
    t.a = o.exports
}
, function(e, t, n) {
    "use strict";
    var r = n(2141)
      , a = n(801)
      , i = n(0)
      , o = n.i(i.a)(a.a, r.a, r.b, !1, null, null, null);
    t.a = o.exports
}
, function(e, t, n) {
    "use strict";
    var r = n(2142)
      , a = n(802)
      , i = n(0)
      , o = n.i(i.a)(a.a, r.a, r.b, !1, null, null, null);
    t.a = o.exports
}
, function(e, t, n) {
    "use strict";
    var r = n(2143)
      , a = n(803)
      , i = n(0)
      , o = n.i(i.a)(a.a, r.a, r.b, !1, null, null, null);
    t.a = o.exports
}
, function(e, t, n) {
    "use strict";
    var r = n(2144)
      , a = n(804)
      , i = n(0)
      , o = n.i(i.a)(a.a, r.a, r.b, !1, null, null, null);
    t.a = o.exports
}
, function(e, t, n) {
    "use strict";
    var r = n(2145)
      , a = n(805)
      , i = n(0)
      , o = n.i(i.a)(a.a, r.a, r.b, !1, null, null, null);
    t.a = o.exports
}
, function(e, t, n) {
    "use strict";
    var r = n(2146)
      , a = n(806)
      , i = n(0)
      , o = n.i(i.a)(a.a, r.a, r.b, !1, null, null, null);
    t.a = o.exports
}
, function(e, t, n) {
    "use strict";
    var r = n(2147)
      , a = n(807)
      , i = n(0)
      , o = n.i(i.a)(a.a, r.a, r.b, !1, null, null, null);
    t.a = o.exports
}
, function(e, t, n) {
    "use strict";
    var r = n(2148)
      , a = n(808)
      , i = n(0)
      , o = n.i(i.a)(a.a, r.a, r.b, !1, null, null, null);
    t.a = o.exports
}
, function(e, t, n) {
    "use strict";
    var r = n(2149)
      , a = n(809)
      , i = n(0)
      , o = n.i(i.a)(a.a, r.a, r.b, !1, null, null, null);
    t.a = o.exports
}
, function(e, t, n) {
    "use strict";
    var r = n(2150)
      , a = n(810)
      , i = n(0)
      , o = n.i(i.a)(a.a, r.a, r.b, !1, null, null, null);
    t.a = o.exports
}
, function(e, t, n) {
    "use strict";
    var r = n(2151)
      , a = n(811)
      , i = (n(2071),
    n(0))
      , o = n.i(i.a)(a.a, r.a, r.b, !1, null, null, null);
    t.a = o.exports
}
, function(e, t, n) {
    "use strict";
    var r = n(2152)
      , a = n(812)
      , i = n(0)
      , o = n.i(i.a)(a.a, r.a, r.b, !1, null, null, null);
    t.a = o.exports
}
, function(e, t, n) {
    "use strict";
    var r = n(2153)
      , a = n(813)
      , i = n(0)
      , o = n.i(i.a)(a.a, r.a, r.b, !1, null, null, null);
    t.a = o.exports
}
, function(e, t, n) {
    "use strict";
    var r = n(2154)
      , a = n(814)
      , i = n(0)
      , o = n.i(i.a)(a.a, r.a, r.b, !1, null, null, null);
    t.a = o.exports
}
, function(e, t, n) {
    "use strict";
    var r = n(2155)
      , a = n(0)
      , i = {}
      , o = n.i(a.a)(i, r.a, r.b, !1, null, null, null);
    t.a = o.exports
}
, function(e, t, n) {
    "use strict";
    var r = n(2156)
      , a = n(0)
      , i = {}
      , o = n.i(a.a)(i, r.a, r.b, !1, null, null, null);
    t.a = o.exports
}
, function(e, t, n) {
    "use strict";
    var r = n(2157)
      , a = n(0)
      , i = {}
      , o = n.i(a.a)(i, r.a, r.b, !1, null, null, null);
    t.a = o.exports
}
, function(e, t, n) {
    "use strict";
    var r = n(2158)
      , a = n(0)
      , i = {}
      , o = n.i(a.a)(i, r.a, r.b, !1, null, null, null);
    t.a = o.exports
}
, function(e, t, n) {
    "use strict";
    var r = n(2159)
      , a = n(0)
      , i = {}
      , o = n.i(a.a)(i, r.a, r.b, !1, null, null, null);
    t.a = o.exports
}
, function(e, t, n) {
    "use strict";
    var r = n(2160)
      , a = n(0)
      , i = {}
      , o = n.i(a.a)(i, r.a, r.b, !1, null, null, null);
    t.a = o.exports
}
, function(e, t, n) {
    "use strict";
    var r = n(2161)
      , a = n(0)
      , i = {}
      , o = n.i(a.a)(i, r.a, r.b, !1, null, null, null);
    t.a = o.exports
}
, function(e, t, n) {
    "use strict";
    var r = n(2162)
      , a = n(0)
      , i = {}
      , o = n.i(a.a)(i, r.a, r.b, !1, null, null, null);
    t.a = o.exports
}
, function(e, t, n) {
    "use strict";
    var r = n(2163)
      , a = n(0)
      , i = {}
      , o = n.i(a.a)(i, r.a, r.b, !1, null, null, null);
    t.a = o.exports
}
, function(e, t, n) {
    "use strict";
    var r = n(2164)
      , a = n(0)
      , i = {}
      , o = n.i(a.a)(i, r.a, r.b, !1, null, null, null);
    t.a = o.exports
}
, function(e, t, n) {
    "use strict";
    var r = n(2165)
      , a = n(0)
      , i = {}
      , o = n.i(a.a)(i, r.a, r.b, !1, null, null, null);
    t.a = o.exports
}
, function(e, t, n) {
    "use strict";
    var r = n(2166)
      , a = n(0)
      , i = {}
      , o = n.i(a.a)(i, r.a, r.b, !1, null, null, null);
    t.a = o.exports
}
, function(e, t, n) {
    "use strict";
    var r = n(2167)
      , a = n(0)
      , i = {}
      , o = n.i(a.a)(i, r.a, r.b, !1, null, null, null);
    t.a = o.exports
}
, function(e, t, n) {
    "use strict";
    var r = n(2168)
      , a = n(0)
      , i = {}
      , o = n.i(a.a)(i, r.a, r.b, !1, null, null, null);
    t.a = o.exports
}
, function(e, t, n) {
    "use strict";
    var r = n(2169)
      , a = n(0)
      , i = {}
      , o = n.i(a.a)(i, r.a, r.b, !1, null, null, null);
    t.a = o.exports
}
, function(e, t, n) {
    "use strict";
    var r = n(2170)
      , a = n(0)
      , i = {}
      , o = n.i(a.a)(i, r.a, r.b, !1, null, null, null);
    t.a = o.exports
}
, function(e, t, n) {
    "use strict";
    var r = n(2171)
      , a = n(0)
      , i = {}
      , o = n.i(a.a)(i, r.a, r.b, !1, null, null, null);
    t.a = o.exports
}
, function(e, t, n) {
    "use strict";
    var r = n(2172)
      , a = n(0)
      , i = {}
      , o = n.i(a.a)(i, r.a, r.b, !1, null, null, null);
    t.a = o.exports
}
, function(e, t, n) {
    "use strict";
    var r = n(2173)
      , a = n(0)
      , i = {}
      , o = n.i(a.a)(i, r.a, r.b, !1, null, null, null);
    t.a = o.exports
}
, function(e, t, n) {
    "use strict";
    var r = n(2174)
      , a = n(0)
      , i = {}
      , o = n.i(a.a)(i, r.a, r.b, !1, null, null, null);
    t.a = o.exports
}
, function(e, t, n) {
    "use strict";
    var r = n(2175)
      , a = n(0)
      , i = {}
      , o = n.i(a.a)(i, r.a, r.b, !1, null, null, null);
    t.a = o.exports
}
, function(e, t, n) {
    "use strict";
    var r = n(2176)
      , a = n(0)
      , i = {}
      , o = n.i(a.a)(i, r.a, r.b, !1, null, null, null);
    t.a = o.exports
}
, function(e, t, n) {
    "use strict";
    var r = n(2177)
      , a = n(0)
      , i = {}
      , o = n.i(a.a)(i, r.a, r.b, !1, null, null, null);
    t.a = o.exports
}
, function(e, t, n) {
    "use strict";
    var r = n(2178)
      , a = n(0)
      , i = {}
      , o = n.i(a.a)(i, r.a, r.b, !1, null, null, null);
    t.a = o.exports
}
, function(e, t, n) {
    "use strict";
    var r = n(2179)
      , a = n(0)
      , i = {}
      , o = n.i(a.a)(i, r.a, r.b, !1, null, null, null);
    t.a = o.exports
}
, function(e, t, n) {
    "use strict";
    var r = n(2180)
      , a = n(0)
      , i = {}
      , o = n.i(a.a)(i, r.a, r.b, !1, null, null, null);
    t.a = o.exports
}
, function(e, t, n) {
    "use strict";
    var r = n(2181)
      , a = n(0)
      , i = {}
      , o = n.i(a.a)(i, r.a, r.b, !1, null, null, null);
    t.a = o.exports
}
, function(e, t, n) {
    "use strict";
    var r = n(2182)
      , a = n(0)
      , i = {}
      , o = n.i(a.a)(i, r.a, r.b, !1, null, null, null);
    t.a = o.exports
}
, function(e, t, n) {
    "use strict";
    var r = n(2183)
      , a = n(0)
      , i = {}
      , o = n.i(a.a)(i, r.a, r.b, !1, null, null, null);
    t.a = o.exports
}
, function(e, t, n) {
    "use strict";
    var r = n(2184)
      , a = n(0)
      , i = {}
      , o = n.i(a.a)(i, r.a, r.b, !1, null, null, null);
    t.a = o.exports
}
, function(e, t, n) {
    "use strict";
    var r = n(2185)
      , a = n(0)
      , i = {}
      , o = n.i(a.a)(i, r.a, r.b, !1, null, null, null);
    t.a = o.exports
}
, function(e, t, n) {
    "use strict";
    var r = n(2186)
      , a = n(0)
      , i = {}
      , o = n.i(a.a)(i, r.a, r.b, !1, null, null, null);
    t.a = o.exports
}
, function(e, t, n) {
    "use strict";
    var r = n(2187)
      , a = n(0)
      , i = {}
      , o = n.i(a.a)(i, r.a, r.b, !1, null, null, null);
    t.a = o.exports
}
, function(e, t, n) {
    "use strict";
    var r = n(2188)
      , a = n(0)
      , i = {}
      , o = n.i(a.a)(i, r.a, r.b, !1, null, null, null);
    t.a = o.exports
}
, function(e, t, n) {
    "use strict";
    var r = n(2189)
      , a = n(0)
      , i = {}
      , o = n.i(a.a)(i, r.a, r.b, !1, null, null, null);
    t.a = o.exports
}
, function(e, t, n) {
    "use strict";
    var r = n(2190)
      , a = n(0)
      , i = {}
      , o = n.i(a.a)(i, r.a, r.b, !1, null, null, null);
    t.a = o.exports
}
, function(e, t, n) {
    "use strict";
    var r = n(2191)
      , a = n(0)
      , i = {}
      , o = n.i(a.a)(i, r.a, r.b, !1, null, null, null);
    t.a = o.exports
}
, function(e, t, n) {
    "use strict";
    var r = n(2192)
      , a = n(0)
      , i = {}
      , o = n.i(a.a)(i, r.a, r.b, !1, null, null, null);
    t.a = o.exports
}
, function(e, t, n) {
    "use strict";
    var r = n(2193)
      , a = n(0)
      , i = {}
      , o = n.i(a.a)(i, r.a, r.b, !1, null, null, null);
    t.a = o.exports
}
, function(e, t, n) {
    "use strict";
    var r = n(2194)
      , a = n(0)
      , i = {}
      , o = n.i(a.a)(i, r.a, r.b, !1, null, null, null);
    t.a = o.exports
}
, function(e, t, n) {
    "use strict";
    var r = n(2195)
      , a = n(815)
      , i = (n(2072),
    n(0))
      , o = n.i(i.a)(a.a, r.a, r.b, !1, null, null, null);
    t.a = o.exports
}
, function(e, t, n) {
    "use strict";
    var r = n(2196)
      , a = n(0)
      , i = {}
      , o = n.i(a.a)(i, r.a, r.b, !1, null, null, null);
    t.a = o.exports
}
, function(e, t, n) {
    "use strict";
    var r = n(2197)
      , a = n(0)
      , i = {}
      , o = n.i(a.a)(i, r.a, r.b, !1, null, null, null);
    t.a = o.exports
}
, function(e, t, n) {
    "use strict";
    var r = n(2198)
      , a = n(0)
      , i = {}
      , o = n.i(a.a)(i, r.a, r.b, !1, null, null, null);
    t.a = o.exports
}
, function(e, t, n) {
    "use strict";
    var r = n(2199)
      , a = n(0)
      , i = {}
      , o = n.i(a.a)(i, r.a, r.b, !1, null, null, null);
    t.a = o.exports
}
, function(e, t, n) {
    "use strict";
    var r = n(2200)
      , a = n(0)
      , i = {}
      , o = n.i(a.a)(i, r.a, r.b, !1, null, null, null);
    t.a = o.exports
}
, function(e, t, n) {
    "use strict";
    var r = n(2201)
      , a = n(0)
      , i = {}
      , o = n.i(a.a)(i, r.a, r.b, !1, null, null, null);
    t.a = o.exports
}
, function(e, t, n) {
    "use strict";
    var r = n(2202)
      , a = n(0)
      , i = {}
      , o = n.i(a.a)(i, r.a, r.b, !1, null, null, null);
    t.a = o.exports
}
, function(e, t, n) {
    "use strict";
    var r = n(2203)
      , a = n(0)
      , i = {}
      , o = n.i(a.a)(i, r.a, r.b, !1, null, null, null);
    t.a = o.exports
}
, function(e, t, n) {
    "use strict";
    var r = n(2204)
      , a = n(0)
      , i = {}
      , o = n.i(a.a)(i, r.a, r.b, !1, null, null, null);
    t.a = o.exports
}
, function(e, t, n) {
    "use strict";
    var r = n(2205)
      , a = n(0)
      , i = {}
      , o = n.i(a.a)(i, r.a, r.b, !1, null, null, null);
    t.a = o.exports
}
, function(e, t, n) {
    "use strict";
    var r = n(2206)
      , a = n(0)
      , i = {}
      , o = n.i(a.a)(i, r.a, r.b, !1, null, null, null);
    t.a = o.exports
}
, function(e, t, n) {
    "use strict";
    var r = n(2207)
      , a = n(0)
      , i = {}
      , o = n.i(a.a)(i, r.a, r.b, !1, null, null, null);
    t.a = o.exports
}
, function(e, t, n) {
    "use strict";
    var r = n(2208)
      , a = n(0)
      , i = {}
      , o = n.i(a.a)(i, r.a, r.b, !1, null, null, null);
    t.a = o.exports
}
, function(e, t, n) {
    "use strict";
    var r = n(2209)
      , a = n(0)
      , i = {}
      , o = n.i(a.a)(i, r.a, r.b, !1, null, null, null);
    t.a = o.exports
}
, function(e, t, n) {
    "use strict";
    var r = n(2210)
      , a = n(0)
      , i = {}
      , o = n.i(a.a)(i, r.a, r.b, !1, null, null, null);
    t.a = o.exports
}
, function(e, t, n) {
    "use strict";
    var r = n(2211)
      , a = n(0)
      , i = {}
      , o = n.i(a.a)(i, r.a, r.b, !1, null, null, null);
    t.a = o.exports
}
, function(e, t, n) {
    "use strict";
    var r = n(1573);
    n.n(r)
}
, function(e, t, n) {
    "use strict";
    var r = n(1574);
    n.n(r)
}
, function(e, t, n) {
    "use strict";
    var r = n(1575);
    n.n(r)
}
, function(e, t, n) {
    "use strict";
    var r = n(1576);
    n.n(r)
}
, function(e, t, n) {
    "use strict";
    var r = n(1577);
    n.n(r)
}
, function(e, t, n) {
    "use strict";
    var r = n(1578);
    n.n(r)
}
, function(e, t, n) {
    "use strict";
    var r = n(1579);
    n.n(r)
}
, function(e, t, n) {
    "use strict";
    var r = n(1580);
    n.n(r)
}
, function(e, t, n) {
    "use strict";
    var r = n(1581);
    n.n(r)
}
, function(e, t, n) {
    "use strict";
    var r = n(1582);
    n.n(r)
}
, function(e, t, n) {
    "use strict";
    var r = n(1583);
    n.n(r)
}
, function(e, t, n) {
    "use strict";
    var r = n(1584);
    n.n(r)
}
, function(e, t, n) {
    "use strict";
    var r = n(1585);
    n.n(r)
}
, function(e, t, n) {
    "use strict";
    var r = n(1586);
    n.n(r)
}
, function(e, t, n) {
    "use strict";
    var r = n(1587);
    n.n(r)
}
, function(e, t, n) {
    "use strict";
    var r = n(1588);
    n.n(r)
}
, function(e, t, n) {
    "use strict";
    var r = n(1589);
    n.n(r)
}
, function(e, t, n) {
    "use strict";
    var r = n(1590);
    n.n(r)
}
, function(e, t, n) {
    "use strict";
    var r = n(1591);
    n.n(r)
}
, function(e, t, n) {
    "use strict";
    var r = n(1592);
    n.n(r)
}
, function(e, t, n) {
    "use strict";
    var r = n(1593);
    n.n(r)
}
, function(e, t, n) {
    "use strict";
    var r = n(1594);
    n.n(r)
}
, function(e, t, n) {
    "use strict";
    var r = n(1595);
    n.n(r)
}
, function(e, t, n) {
    "use strict";
    var r = n(1596);
    n.n(r)
}
, function(e, t, n) {
    "use strict";
    var r = n(1597);
    n.n(r)
}
, function(e, t, n) {
    "use strict";
    var r = n(1598);
    n.n(r)
}
, function(e, t, n) {
    "use strict";
    var r = n(1599);
    n.n(r)
}
, function(e, t, n) {
    "use strict";
    var r = n(1600);
    n.n(r)
}
, function(e, t, n) {
    "use strict";
    var r = n(1601);
    n.n(r)
}
, function(e, t, n) {
    "use strict";
    var r = n(1602);
    n.n(r)
}
, function(e, t, n) {
    "use strict";
    var r = n(1603);
    n.n(r)
}
, function(e, t, n) {
    "use strict";
    var r = n(1604);
    n.n(r)
}
, function(e, t, n) {
    "use strict";
    var r = n(1605);
    n.n(r)
}
, function(e, t, n) {
    "use strict";
    var r = n(1606);
    n.n(r)
}
, function(e, t, n) {
    "use strict";
    var r = n(1607);
    n.n(r)
}
, function(e, t, n) {
    "use strict";
    var r = n(1608);
    n.n(r)
}
, function(e, t, n) {
    "use strict";
    var r = n(1609);
    n.n(r)
}
, function(e, t, n) {
    "use strict";
    var r = n(1610);
    n.n(r)
}
, function(e, t, n) {
    "use strict";
    var r = n(1611);
    n.n(r)
}
, function(e, t, n) {
    "use strict";
    var r = n(1612);
    n.n(r)
}
, function(e, t, n) {
    "use strict";
    var r = n(2212);
    n.d(t, "a", function() {
        return r.a
    }),
    n.d(t, "b", function() {
        return r.b
    })
}
, function(e, t, n) {
    "use strict";
    var r = n(2213);
    n.d(t, "a", function() {
        return r.a
    }),
    n.d(t, "b", function() {
        return r.b
    })
}
, function(e, t, n) {
    "use strict";
    var r = n(2214);
    n.d(t, "a", function() {
        return r.a
    }),
    n.d(t, "b", function() {
        return r.b
    })
}
, function(e, t, n) {
    "use strict";
    var r = n(2215);
    n.d(t, "a", function() {
        return r.a
    }),
    n.d(t, "b", function() {
        return r.b
    })
}
, function(e, t, n) {
    "use strict";
    var r = n(2216);
    n.d(t, "a", function() {
        return r.a
    }),
    n.d(t, "b", function() {
        return r.b
    })
}
, function(e, t, n) {
    "use strict";
    var r = n(2217);
    n.d(t, "a", function() {
        return r.a
    }),
    n.d(t, "b", function() {
        return r.b
    })
}
, function(e, t, n) {
    "use strict";
    var r = n(2218);
    n.d(t, "a", function() {
        return r.a
    }),
    n.d(t, "b", function() {
        return r.b
    })
}
, function(e, t, n) {
    "use strict";
    var r = n(2219);
    n.d(t, "a", function() {
        return r.a
    }),
    n.d(t, "b", function() {
        return r.b
    })
}
, function(e, t, n) {
    "use strict";
    var r = n(2220);
    n.d(t, "a", function() {
        return r.a
    }),
    n.d(t, "b", function() {
        return r.b
    })
}
, function(e, t, n) {
    "use strict";
    var r = n(2221);
    n.d(t, "a", function() {
        return r.a
    }),
    n.d(t, "b", function() {
        return r.b
    })
}
, function(e, t, n) {
    "use strict";
    var r = n(2222);
    n.d(t, "a", function() {
        return r.a
    }),
    n.d(t, "b", function() {
        return r.b
    })
}
, function(e, t, n) {
    "use strict";
    var r = n(2223);
    n.d(t, "a", function() {
        return r.a
    }),
    n.d(t, "b", function() {
        return r.b
    })
}
, function(e, t, n) {
    "use strict";
    var r = n(2224);
    n.d(t, "a", function() {
        return r.a
    }),
    n.d(t, "b", function() {
        return r.b
    })
}
, function(e, t, n) {
    "use strict";
    var r = n(2225);
    n.d(t, "a", function() {
        return r.a
    }),
    n.d(t, "b", function() {
        return r.b
    })
}
, function(e, t, n) {
    "use strict";
    var r = n(2226);
    n.d(t, "a", function() {
        return r.a
    }),
    n.d(t, "b", function() {
        return r.b
    })
}
, function(e, t, n) {
    "use strict";
    var r = n(2227);
    n.d(t, "a", function() {
        return r.a
    }),
    n.d(t, "b", function() {
        return r.b
    })
}
, function(e, t, n) {
    "use strict";
    var r = n(2228);
    n.d(t, "a", function() {
        return r.a
    }),
    n.d(t, "b", function() {
        return r.b
    })
}
, function(e, t, n) {
    "use strict";
    var r = n(2229);
    n.d(t, "a", function() {
        return r.a
    }),
    n.d(t, "b", function() {
        return r.b
    })
}
, function(e, t, n) {
    "use strict";
    var r = n(2230);
    n.d(t, "a", function() {
        return r.a
    }),
    n.d(t, "b", function() {
        return r.b
    })
}
, function(e, t, n) {
    "use strict";
    var r = n(2231);
    n.d(t, "a", function() {
        return r.a
    }),
    n.d(t, "b", function() {
        return r.b
    })
}
, function(e, t, n) {
    "use strict";
    var r = n(2232);
    n.d(t, "a", function() {
        return r.a
    }),
    n.d(t, "b", function() {
        return r.b
    })
}
, function(e, t, n) {
    "use strict";
    var r = n(2233);
    n.d(t, "a", function() {
        return r.a
    }),
    n.d(t, "b", function() {
        return r.b
    })
}
, function(e, t, n) {
    "use strict";
    var r = n(2234);
    n.d(t, "a", function() {
        return r.a
    }),
    n.d(t, "b", function() {
        return r.b
    })
}
, function(e, t, n) {
    "use strict";
    var r = n(2235);
    n.d(t, "a", function() {
        return r.a
    }),
    n.d(t, "b", function() {
        return r.b
    })
}
, function(e, t, n) {
    "use strict";
    var r = n(2236);
    n.d(t, "a", function() {
        return r.a
    }),
    n.d(t, "b", function() {
        return r.b
    })
}
, function(e, t, n) {
    "use strict";
    var r = n(2237);
    n.d(t, "a", function() {
        return r.a
    }),
    n.d(t, "b", function() {
        return r.b
    })
}
, function(e, t, n) {
    "use strict";
    var r = n(2238);
    n.d(t, "a", function() {
        return r.a
    }),
    n.d(t, "b", function() {
        return r.b
    })
}
, function(e, t, n) {
    "use strict";
    var r = n(2239);
    n.d(t, "a", function() {
        return r.a
    }),
    n.d(t, "b", function() {
        return r.b
    })
}
, function(e, t, n) {
    "use strict";
    var r = n(2240);
    n.d(t, "a", function() {
        return r.a
    }),
    n.d(t, "b", function() {
        return r.b
    })
}
, function(e, t, n) {
    "use strict";
    var r = n(2241);
    n.d(t, "a", function() {
        return r.a
    }),
    n.d(t, "b", function() {
        return r.b
    })
}
, function(e, t, n) {
    "use strict";
    var r = n(2242);
    n.d(t, "a", function() {
        return r.a
    }),
    n.d(t, "b", function() {
        return r.b
    })
}
, function(e, t, n) {
    "use strict";
    var r = n(2243);
    n.d(t, "a", function() {
        return r.a
    }),
    n.d(t, "b", function() {
        return r.b
    })
}
, function(e, t, n) {
    "use strict";
    var r = n(2244);
    n.d(t, "a", function() {
        return r.a
    }),
    n.d(t, "b", function() {
        return r.b
    })
}
, function(e, t, n) {
    "use strict";
    var r = n(2245);
    n.d(t, "a", function() {
        return r.a
    }),
    n.d(t, "b", function() {
        return r.b
    })
}
, function(e, t, n) {
    "use strict";
    var r = n(2246);
    n.d(t, "a", function() {
        return r.a
    }),
    n.d(t, "b", function() {
        return r.b
    })
}
, function(e, t, n) {
    "use strict";
    var r = n(2247);
    n.d(t, "a", function() {
        return r.a
    }),
    n.d(t, "b", function() {
        return r.b
    })
}
, function(e, t, n) {
    "use strict";
    var r = n(2248);
    n.d(t, "a", function() {
        return r.a
    }),
    n.d(t, "b", function() {
        return r.b
    })
}
, function(e, t, n) {
    "use strict";
    var r = n(2249);
    n.d(t, "a", function() {
        return r.a
    }),
    n.d(t, "b", function() {
        return r.b
    })
}
, function(e, t, n) {
    "use strict";
    var r = n(2250);
    n.d(t, "a", function() {
        return r.a
    }),
    n.d(t, "b", function() {
        return r.b
    })
}
, function(e, t, n) {
    "use strict";
    var r = n(2251);
    n.d(t, "a", function() {
        return r.a
    }),
    n.d(t, "b", function() {
        return r.b
    })
}
, function(e, t, n) {
    "use strict";
    var r = n(2252);
    n.d(t, "a", function() {
        return r.a
    }),
    n.d(t, "b", function() {
        return r.b
    })
}
, function(e, t, n) {
    "use strict";
    var r = n(2253);
    n.d(t, "a", function() {
        return r.a
    }),
    n.d(t, "b", function() {
        return r.b
    })
}
, function(e, t, n) {
    "use strict";
    var r = n(2254);
    n.d(t, "a", function() {
        return r.a
    }),
    n.d(t, "b", function() {
        return r.b
    })
}
, function(e, t, n) {
    "use strict";
    var r = n(2255);
    n.d(t, "a", function() {
        return r.a
    }),
    n.d(t, "b", function() {
        return r.b
    })
}
, function(e, t, n) {
    "use strict";
    var r = n(2256);
    n.d(t, "a", function() {
        return r.a
    }),
    n.d(t, "b", function() {
        return r.b
    })
}
, function(e, t, n) {
    "use strict";
    var r = n(2257);
    n.d(t, "a", function() {
        return r.a
    }),
    n.d(t, "b", function() {
        return r.b
    })
}
, function(e, t, n) {
    "use strict";
    var r = n(2258);
    n.d(t, "a", function() {
        return r.a
    }),
    n.d(t, "b", function() {
        return r.b
    })
}
, function(e, t, n) {
    "use strict";
    var r = n(2259);
    n.d(t, "a", function() {
        return r.a
    }),
    n.d(t, "b", function() {
        return r.b
    })
}
, function(e, t, n) {
    "use strict";
    var r = n(2260);
    n.d(t, "a", function() {
        return r.a
    }),
    n.d(t, "b", function() {
        return r.b
    })
}
, function(e, t, n) {
    "use strict";
    var r = n(2261);
    n.d(t, "a", function() {
        return r.a
    }),
    n.d(t, "b", function() {
        return r.b
    })
}
, function(e, t, n) {
    "use strict";
    var r = n(2262);
    n.d(t, "a", function() {
        return r.a
    }),
    n.d(t, "b", function() {
        return r.b
    })
}
, function(e, t, n) {
    "use strict";
    var r = n(2263);
    n.d(t, "a", function() {
        return r.a
    }),
    n.d(t, "b", function() {
        return r.b
    })
}
, function(e, t, n) {
    "use strict";
    var r = n(2264);
    n.d(t, "a", function() {
        return r.a
    }),
    n.d(t, "b", function() {
        return r.b
    })
}
, function(e, t, n) {
    "use strict";
    var r = n(2265);
    n.d(t, "a", function() {
        return r.a
    }),
    n.d(t, "b", function() {
        return r.b
    })
}
, function(e, t, n) {
    "use strict";
    var r = n(2266);
    n.d(t, "a", function() {
        return r.a
    }),
    n.d(t, "b", function() {
        return r.b
    })
}
, function(e, t, n) {
    "use strict";
    var r = n(2267);
    n.d(t, "a", function() {
        return r.a
    }),
    n.d(t, "b", function() {
        return r.b
    })
}
, function(e, t, n) {
    "use strict";
    var r = n(2268);
    n.d(t, "a", function() {
        return r.a
    }),
    n.d(t, "b", function() {
        return r.b
    })
}
, function(e, t, n) {
    "use strict";
    var r = n(2269);
    n.d(t, "a", function() {
        return r.a
    }),
    n.d(t, "b", function() {
        return r.b
    })
}
, function(e, t, n) {
    "use strict";
    var r = n(2270);
    n.d(t, "a", function() {
        return r.a
    }),
    n.d(t, "b", function() {
        return r.b
    })
}
, function(e, t, n) {
    "use strict";
    var r = n(2271);
    n.d(t, "a", function() {
        return r.a
    }),
    n.d(t, "b", function() {
        return r.b
    })
}
, function(e, t, n) {
    "use strict";
    var r = n(2272);
    n.d(t, "a", function() {
        return r.a
    }),
    n.d(t, "b", function() {
        return r.b
    })
}
, function(e, t, n) {
    "use strict";
    var r = n(2273);
    n.d(t, "a", function() {
        return r.a
    }),
    n.d(t, "b", function() {
        return r.b
    })
}
, function(e, t, n) {
    "use strict";
    var r = n(2274);
    n.d(t, "a", function() {
        return r.a
    }),
    n.d(t, "b", function() {
        return r.b
    })
}
, function(e, t, n) {
    "use strict";
    var r = n(2275);
    n.d(t, "a", function() {
        return r.a
    }),
    n.d(t, "b", function() {
        return r.b
    })
}
, function(e, t, n) {
    "use strict";
    var r = n(2276);
    n.d(t, "a", function() {
        return r.a
    }),
    n.d(t, "b", function() {
        return r.b
    })
}
, function(e, t, n) {
    "use strict";
    var r = n(2277);
    n.d(t, "a", function() {
        return r.a
    }),
    n.d(t, "b", function() {
        return r.b
    })
}
, function(e, t, n) {
    "use strict";
    var r = n(2278);
    n.d(t, "a", function() {
        return r.a
    }),
    n.d(t, "b", function() {
        return r.b
    })
}
, function(e, t, n) {
    "use strict";
    var r = n(2279);
    n.d(t, "a", function() {
        return r.a
    }),
    n.d(t, "b", function() {
        return r.b
    })
}
, function(e, t, n) {
    "use strict";
    var r = n(2280);
    n.d(t, "a", function() {
        return r.a
    }),
    n.d(t, "b", function() {
        return r.b
    })
}
, function(e, t, n) {
    "use strict";
    var r = n(2281);
    n.d(t, "a", function() {
        return r.a
    }),
    n.d(t, "b", function() {
        return r.b
    })
}
, function(e, t, n) {
    "use strict";
    var r = n(2282);
    n.d(t, "a", function() {
        return r.a
    }),
    n.d(t, "b", function() {
        return r.b
    })
}
, function(e, t, n) {
    "use strict";
    var r = n(2283);
    n.d(t, "a", function() {
        return r.a
    }),
    n.d(t, "b", function() {
        return r.b
    })
}
, function(e, t, n) {
    "use strict";
    var r = n(2284);
    n.d(t, "a", function() {
        return r.a
    }),
    n.d(t, "b", function() {
        return r.b
    })
}
, function(e, t, n) {
    "use strict";
    var r = n(2285);
    n.d(t, "a", function() {
        return r.a
    }),
    n.d(t, "b", function() {
        return r.b
    })
}
, function(e, t, n) {
    "use strict";
    var r = n(2286);
    n.d(t, "a", function() {
        return r.a
    }),
    n.d(t, "b", function() {
        return r.b
    })
}
, function(e, t, n) {
    "use strict";
    var r = n(2287);
    n.d(t, "a", function() {
        return r.a
    }),
    n.d(t, "b", function() {
        return r.b
    })
}
, function(e, t, n) {
    "use strict";
    var r = n(2288);
    n.d(t, "a", function() {
        return r.a
    }),
    n.d(t, "b", function() {
        return r.b
    })
}
, function(e, t, n) {
    "use strict";
    var r = n(2289);
    n.d(t, "a", function() {
        return r.a
    }),
    n.d(t, "b", function() {
        return r.b
    })
}
, function(e, t, n) {
    "use strict";
    var r = n(2290);
    n.d(t, "a", function() {
        return r.a
    }),
    n.d(t, "b", function() {
        return r.b
    })
}
, function(e, t, n) {
    "use strict";
    var r = n(2291);
    n.d(t, "a", function() {
        return r.a
    }),
    n.d(t, "b", function() {
        return r.b
    })
}
, function(e, t, n) {
    "use strict";
    var r = n(2292);
    n.d(t, "a", function() {
        return r.a
    }),
    n.d(t, "b", function() {
        return r.b
    })
}
, function(e, t, n) {
    "use strict";
    var r = n(2293);
    n.d(t, "a", function() {
        return r.a
    }),
    n.d(t, "b", function() {
        return r.b
    })
}
, function(e, t, n) {
    "use strict";
    var r = n(2294);
    n.d(t, "a", function() {
        return r.a
    }),
    n.d(t, "b", function() {
        return r.b
    })
}
, function(e, t, n) {
    "use strict";
    var r = n(2295);
    n.d(t, "a", function() {
        return r.a
    }),
    n.d(t, "b", function() {
        return r.b
    })
}
, function(e, t, n) {
    "use strict";
    var r = n(2296);
    n.d(t, "a", function() {
        return r.a
    }),
    n.d(t, "b", function() {
        return r.b
    })
}
, function(e, t, n) {
    "use strict";
    var r = n(2297);
    n.d(t, "a", function() {
        return r.a
    }),
    n.d(t, "b", function() {
        return r.b
    })
}
, function(e, t, n) {
    "use strict";
    var r = n(2298);
    n.d(t, "a", function() {
        return r.a
    }),
    n.d(t, "b", function() {
        return r.b
    })
}
, function(e, t, n) {
    "use strict";
    var r = n(2299);
    n.d(t, "a", function() {
        return r.a
    }),
    n.d(t, "b", function() {
        return r.b
    })
}
, function(e, t, n) {
    "use strict";
    var r = n(2300);
    n.d(t, "a", function() {
        return r.a
    }),
    n.d(t, "b", function() {
        return r.b
    })
}
, function(e, t, n) {
    "use strict";
    var r = n(2301);
    n.d(t, "a", function() {
        return r.a
    }),
    n.d(t, "b", function() {
        return r.b
    })
}
, function(e, t, n) {
    "use strict";
    var r = n(2302);
    n.d(t, "a", function() {
        return r.a
    }),
    n.d(t, "b", function() {
        return r.b
    })
}
, function(e, t, n) {
    "use strict";
    var r = n(2303);
    n.d(t, "a", function() {
        return r.a
    }),
    n.d(t, "b", function() {
        return r.b
    })
}
, function(e, t, n) {
    "use strict";
    var r = n(2304);
    n.d(t, "a", function() {
        return r.a
    }),
    n.d(t, "b", function() {
        return r.b
    })
}
, function(e, t, n) {
    "use strict";
    var r = n(2305);
    n.d(t, "a", function() {
        return r.a
    }),
    n.d(t, "b", function() {
        return r.b
    })
}
, function(e, t, n) {
    "use strict";
    var r = n(2306);
    n.d(t, "a", function() {
        return r.a
    }),
    n.d(t, "b", function() {
        return r.b
    })
}
, function(e, t, n) {
    "use strict";
    var r = n(2307);
    n.d(t, "a", function() {
        return r.a
    }),
    n.d(t, "b", function() {
        return r.b
    })
}
, function(e, t, n) {
    "use strict";
    var r = n(2308);
    n.d(t, "a", function() {
        return r.a
    }),
    n.d(t, "b", function() {
        return r.b
    })
}
, function(e, t, n) {
    "use strict";
    var r = n(2309);
    n.d(t, "a", function() {
        return r.a
    }),
    n.d(t, "b", function() {
        return r.b
    })
}
, function(e, t, n) {
    "use strict";
    var r = n(2310);
    n.d(t, "a", function() {
        return r.a
    }),
    n.d(t, "b", function() {
        return r.b
    })
}
, function(e, t, n) {
    "use strict";
    var r = n(2311);
    n.d(t, "a", function() {
        return r.a
    }),
    n.d(t, "b", function() {
        return r.b
    })
}
, function(e, t, n) {
    "use strict";
    var r = n(2312);
    n.d(t, "a", function() {
        return r.a
    }),
    n.d(t, "b", function() {
        return r.b
    })
}
, function(e, t, n) {
    "use strict";
    var r = n(2313);
    n.d(t, "a", function() {
        return r.a
    }),
    n.d(t, "b", function() {
        return r.b
    })
}
, function(e, t, n) {
    "use strict";
    var r = n(2314);
    n.d(t, "a", function() {
        return r.a
    }),
    n.d(t, "b", function() {
        return r.b
    })
}
, function(e, t, n) {
    "use strict";
    var r = n(2315);
    n.d(t, "a", function() {
        return r.a
    }),
    n.d(t, "b", function() {
        return r.b
    })
}
, function(e, t, n) {
    "use strict";
    var r = n(2316);
    n.d(t, "a", function() {
        return r.a
    }),
    n.d(t, "b", function() {
        return r.b
    })
}
, function(e, t, n) {
    "use strict";
    var r = n(2317);
    n.d(t, "a", function() {
        return r.a
    }),
    n.d(t, "b", function() {
        return r.b
    })
}
, function(e, t, n) {
    "use strict";
    var r = n(2318);
    n.d(t, "a", function() {
        return r.a
    }),
    n.d(t, "b", function() {
        return r.b
    })
}
, function(e, t, n) {
    "use strict";
    var r = n(2319);
    n.d(t, "a", function() {
        return r.a
    }),
    n.d(t, "b", function() {
        return r.b
    })
}
, function(e, t, n) {
    "use strict";
    var r = n(2320);
    n.d(t, "a", function() {
        return r.a
    }),
    n.d(t, "b", function() {
        return r.b
    })
}
, function(e, t, n) {
    "use strict";
    var r = n(2321);
    n.d(t, "a", function() {
        return r.a
    }),
    n.d(t, "b", function() {
        return r.b
    })
}
, function(e, t, n) {
    "use strict";
    var r = n(2322);
    n.d(t, "a", function() {
        return r.a
    }),
    n.d(t, "b", function() {
        return r.b
    })
}
, function(e, t, n) {
    "use strict";
    var r = n(2323);
    n.d(t, "a", function() {
        return r.a
    }),
    n.d(t, "b", function() {
        return r.b
    })
}
, function(e, t, n) {
    "use strict";
    var r = n(2324);
    n.d(t, "a", function() {
        return r.a
    }),
    n.d(t, "b", function() {
        return r.b
    })
}
, function(e, t, n) {
    "use strict";
    var r = n(2325);
    n.d(t, "a", function() {
        return r.a
    }),
    n.d(t, "b", function() {
        return r.b
    })
}
, function(e, t, n) {
    "use strict";
    var r = n(2326);
    n.d(t, "a", function() {
        return r.a
    }),
    n.d(t, "b", function() {
        return r.b
    })
}
, function(e, t, n) {
    "use strict";
    var r = n(2327);
    n.d(t, "a", function() {
        return r.a
    }),
    n.d(t, "b", function() {
        return r.b
    })
}
, function(e, t, n) {
    "use strict";
    var r = n(2328);
    n.d(t, "a", function() {
        return r.a
    }),
    n.d(t, "b", function() {
        return r.b
    })
}
, function(e, t, n) {
    "use strict";
    var r = n(2329);
    n.d(t, "a", function() {
        return r.a
    }),
    n.d(t, "b", function() {
        return r.b
    })
}
, function(e, t, n) {
    "use strict";
    var r = n(2330);
    n.d(t, "a", function() {
        return r.a
    }),
    n.d(t, "b", function() {
        return r.b
    })
}
, function(e, t, n) {
    "use strict";
    var r = n(2331);
    n.d(t, "a", function() {
        return r.a
    }),
    n.d(t, "b", function() {
        return r.b
    })
}
, function(e, t, n) {
    "use strict";
    var r = n(2332);
    n.d(t, "a", function() {
        return r.a
    }),
    n.d(t, "b", function() {
        return r.b
    })
}
, function(e, t, n) {
    "use strict";
    var r = n(2333);
    n.d(t, "a", function() {
        return r.a
    }),
    n.d(t, "b", function() {
        return r.b
    })
}
, function(e, t, n) {
    "use strict";
    var r = n(2334);
    n.d(t, "a", function() {
        return r.a
    }),
    n.d(t, "b", function() {
        return r.b
    })
}
, function(e, t, n) {
    "use strict";
    var r = n(2335);
    n.d(t, "a", function() {
        return r.a
    }),
    n.d(t, "b", function() {
        return r.b
    })
}
, function(e, t, n) {
    "use strict";
    var r = n(2336);
    n.d(t, "a", function() {
        return r.a
    }),
    n.d(t, "b", function() {
        return r.b
    })
}
, function(e, t, n) {
    "use strict";
    var r = n(2337);
    n.d(t, "a", function() {
        return r.a
    }),
    n.d(t, "b", function() {
        return r.b
    })
}
, function(e, t, n) {
    "use strict";
    var r = n(2338);
    n.d(t, "a", function() {
        return r.a
    }),
    n.d(t, "b", function() {
        return r.b
    })
}
, function(e, t, n) {
    "use strict";
    var r = n(2339);
    n.d(t, "a", function() {
        return r.a
    }),
    n.d(t, "b", function() {
        return r.b
    })
}
, function(e, t, n) {
    "use strict";
    var r = n(2340);
    n.d(t, "a", function() {
        return r.a
    }),
    n.d(t, "b", function() {
        return r.b
    })
}
, function(e, t, n) {
    "use strict";
    var r = n(2341);
    n.d(t, "a", function() {
        return r.a
    }),
    n.d(t, "b", function() {
        return r.b
    })
}
, function(e, t, n) {
    "use strict";
    var r = n(2342);
    n.d(t, "a", function() {
        return r.a
    }),
    n.d(t, "b", function() {
        return r.b
    })
}
, function(e, t, n) {
    "use strict";
    var r = n(2343);
    n.d(t, "a", function() {
        return r.a
    }),
    n.d(t, "b", function() {
        return r.b
    })
}
, function(e, t, n) {
    "use strict";
    var r = n(2344);
    n.d(t, "a", function() {
        return r.a
    }),
    n.d(t, "b", function() {
        return r.b
    })
}
, function(e, t, n) {
    "use strict";
    var r = n(2345);
    n.d(t, "a", function() {
        return r.a
    }),
    n.d(t, "b", function() {
        return r.b
    })
}
, function(e, t, n) {
    "use strict";
    var r = n(2346);
    n.d(t, "a", function() {
        return r.a
    }),
    n.d(t, "b", function() {
        return r.b
    })
}
, function(e, t, n) {
    "use strict";
    var r = n(2347);
    n.d(t, "a", function() {
        return r.a
    }),
    n.d(t, "b", function() {
        return r.b
    })
}
, function(e, t, n) {
    "use strict";
    var r = n(2348);
    n.d(t, "a", function() {
        return r.a
    }),
    n.d(t, "b", function() {
        return r.b
    })
}
, function(e, t, n) {
    "use strict";
    n.d(t, "a", function() {
        return r
    }),
    n.d(t, "b", function() {
        return a
    });
    var r = function() {
        var e = this
          , t = e.$createElement
          , n = e._self._c || t;
        return n("div", {
            staticClass: "app",
            class: e.classes,
            on: {
                keydown: function(t) {
                    return !t.type.indexOf("key") && e._k(t.keyCode, "esc", 27, t.key, ["Esc", "Escape"]) ? null : e.close.apply(null, arguments)
                }
            }
        }, [n(e.ready ? "layout" : "splash-screen"), e._v(" "), n("modal"), e._v(" "), n("notification"), e._v(" "), n("context-menu")], 1)
    }
      , a = []
}
, function(e, t, n) {
    "use strict";
    n.d(t, "a", function() {
        return r
    }),
    n.d(t, "b", function() {
        return a
    });
    var r = function() {
        var e = this
          , t = e.$createElement
          , n = e._self._c || t;
        return n("div", {
            staticClass: "button-bar"
        }, [n("div", {
            staticClass: "button-bar__inner button-bar__inner--top"
        }, [n("button", {
            directives: [{
                name: "title",
                rawName: "v-title",
                value: "Toggle side preview",
                expression: "'Toggle side preview'"
            }],
            staticClass: "button-bar__button button-bar__button--side-preview-toggler button",
            class: {
                "button-bar__button--on": e.layoutSettings.showSidePreview
            },
            attrs: {
                "tour-step-anchor": "editor"
            },
            on: {
                click: function(t) {
                    return e.toggleSidePreview()
                }
            }
        }, [n("icon-side-preview")], 1), e._v(" "), n()]), e._v(" "), n("div", {
            staticClass: "button-bar__inner button-bar__inner--bottom"
        }, [n("button", {
            directives: [{
                name: "title",
                rawName: "v-title",
                value: "Toggle focus mode",
                expression: "'Toggle focus mode'"
            }],
            staticClass: "button-bar__button button-bar__button--focus-mode-toggler button",
            class: {
                "button-bar__button--on": e.layoutSettings.focusMode
            },
            on: {
                click: function(t) {
                    return e.toggleFocusMode()
                }
            }
        }, [n("icon-target")], 1), e._v(" "), n("button", {
            directives: [{
                name: "title",
                rawName: "v-title",
                value: "Toggle scroll sync",
                expression: "'Toggle scroll sync'"
            }],
            staticClass: "button-bar__button button-bar__button--scroll-sync-toggler button",
            class: {
                "button-bar__button--on": e.layoutSettings.scrollSync
            },
            on: {
                click: function(t) {
                    return e.toggleScrollSync()
                }
            }
        }, [n("icon-scroll-sync")], 1), e._v(" "), n("button", {
            directives: [{
                name: "title",
                rawName: "v-title",
                value: "Toggle status bar",
                expression: "'Toggle status bar'"
            }],
            staticClass: "button-bar__button button-bar__button--status-bar-toggler button",
            class: {
                "button-bar__button--on": e.layoutSettings.showStatusBar
            },
            on: {
                click: function(t) {
                    return e.toggleStatusBar()
                }
            }
        }, [n("icon-status-bar")], 1)])])
    }
      , a = []
}
, function(e, t, n) {
    "use strict";
    n.d(t, "a", function() {
        return r
    }),
    n.d(t, "b", function() {
        return a
    });
    var r = function() {
        var e = this
          , t = e.$createElement;
        return (e._self._c || t)("pre", {
            staticClass: "code-editor textfield prism",
            attrs: {
                disabled: e.disabled
            }
        })
    }
      , a = []
}
, function(e, t, n) {
    "use strict";
    n.d(t, "a", function() {
        return r
    }),
    n.d(t, "b", function() {
        return a
    });
    var r = function() {
        var e = this
          , t = e.$createElement
          , n = e._self._c || t;
        return e.items.length ? n("div", {
            staticClass: "context-menu",
            on: {
                click: function(t) {
                    return e.close()
                },
                contextmenu: function(t) {
                    return t.preventDefault(),
                    e.close()
                }
            }
        }, [n("div", {
            staticClass: "context-menu__inner flex flex--column",
            style: {
                left: e.coordinates.left + "px",
                top: e.coordinates.top + "px"
            },
            on: {
                click: function(e) {
                    e.stopPropagation()
                }
            }
        }, e._l(e.items, function(t, r) {
            return n("div", {
                key: r
            }, ["separator" === t.type ? n("div", {
                staticClass: "context-menu__separator"
            }) : t.disabled ? n("div", {
                staticClass: "context-menu__item context-menu__item--disabled"
            }, [e._v(e._s(t.name))]) : n("a", {
                staticClass: "context-menu__item",
                attrs: {
                    href: "javascript:void(0)"
                },
                on: {
                    click: function(n) {
                        return e.close(t)
                    }
                }
            }, [e._v(e._s(t.name))])])
        }), 0)]) : e._e()
    }
      , a = []
}
, function(e, t, n) {
    "use strict";
    n.d(t, "a", function() {
        return r
    }),
    n.d(t, "b", function() {
        return a
    });
    var r = function() {
        var e = this
          , t = e.$createElement
          , n = e._self._c || t;
        return n("div", {
            staticClass: "editor"
        }, [n("pre", {
            staticClass: "editor__inner markdown-highlighting",
            class: {
                monospaced: e.computedSettings.editor.monospacedFontOnly
            },
            style: {
                padding: e.styles.editorPadding
            }
        }), e._v(" "), n("div", {
            staticClass: "gutter",
            style: {
                left: e.styles.editorGutterLeft + "px"
            }
        }, [e.styles.editorGutterWidth ? n("comment-list") : e._e(), e._v(" "), e.isCurrentTemp ? e._e() : n("editor-new-discussion-button")], 1)])
    }
      , a = []
}
, function(e, t, n) {
    "use strict";
    n.d(t, "a", function() {
        return r
    }),
    n.d(t, "b", function() {
        return a
    });
    var r = function() {
        var e = this
          , t = e.$createElement
          , n = e._self._c || t;
        return n("div", {
            staticClass: "explorer flex flex--column"
        }, [n("div", {
            staticClass: "side-title flex flex--row flex--space-between"
        }, [n("div", {
            staticClass: "flex flex--row"
        }, [n("button", {
            directives: [{
                name: "title",
                rawName: "v-title",
                value: "New file",
                expression: "'New file'"
            }],
            staticClass: "side-title__button side-title__button--new-file button",
            on: {
                click: function(t) {
                    return e.newItem()
                }
            }
        }, [n("icon-file-plus")], 1), e._v(" "), n("button", {
            directives: [{
                name: "title",
                rawName: "v-title",
                value: "New folder",
                expression: "'New folder'"
            }],
            staticClass: "side-title__button side-title__button--new-folder button",
            on: {
                click: function(t) {
                    return e.newItem(!0)
                }
            }
        }, [n("icon-folder-plus")], 1), e._v(" "), n("button", {
            directives: [{
                name: "title",
                rawName: "v-title",
                value: "Delete",
                expression: "'Delete'"
            }],
            staticClass: "side-title__button side-title__button--delete button",
            on: {
                click: function(t) {
                    return e.deleteItem()
                }
            }
        }, [n("icon-delete")], 1), e._v(" "), n("button", {
            directives: [{
                name: "title",
                rawName: "v-title",
                value: "Rename",
                expression: "'Rename'"
            }],
            staticClass: "side-title__button side-title__button--rename button",
            on: {
                click: function(t) {
                    return e.editItem()
                }
            }
        }, [n("icon-pen")], 1)]), e._v(" "), n("button", {
            directives: [{
                name: "title",
                rawName: "v-title",
                value: "Close explorer",
                expression: "'Close explorer'"
            }],
            staticClass: "side-title__button side-title__button--close button",
            on: {
                click: function(t) {
                    return e.toggleExplorer(!1)
                }
            }
        }, [n("icon-close")], 1)]), e._v(" "), e.light ? e._e() : n("div", {
            staticClass: "explorer__tree",
            class: {
                "explorer__tree--new-item": !e.newChildNode.isNil
            },
            attrs: {
                tabindex: "0"
            },
            on: {
                keydown: function(t) {
                    return !t.type.indexOf("key") && e._k(t.keyCode, "delete", [8, 46], t.key, ["Backspace", "Delete", "Del"]) ? null : e.deleteItem()
                }
            }
        }, [n("explorer-node", {
            attrs: {
                node: e.rootNode,
                depth: 0
            }
        })], 1)])
    }
      , a = []
}
, function(e, t, n) {
    "use strict";
    n.d(t, "a", function() {
        return r
    }),
    n.d(t, "b", function() {
        return a
    });
    var r = function() {
        var e = this
          , t = e.$createElement
          , n = e._self._c || t;
        return n("div", {
            staticClass: "explorer-node",
            class: {
                "explorer-node--selected": e.isSelected,
                "explorer-node--folder": e.node.isFolder,
                "explorer-node--open": e.isOpen,
                "explorer-node--trash": e.node.isTrash,
                "explorer-node--temp": e.node.isTemp,
                "explorer-node--drag-target": e.isDragTargetFolder
            },
            on: {
                dragover: function(e) {
                    e.preventDefault()
                },
                dragenter: function(t) {
                    t.stopPropagation(),
                    e.node.noDrop || e.setDragTarget(e.node)
                },
                dragleave: function(t) {
                    t.stopPropagation(),
                    e.isDragTarget && e.setDragTarget()
                },
                drop: function(t) {
                    return t.preventDefault(),
                    t.stopPropagation(),
                    e.onDrop.apply(null, arguments)
                },
                contextmenu: e.onContextMenu
            }
        }, [e.isEditing ? n("div", {
            staticClass: "explorer-node__item-editor",
            style: {
                paddingLeft: e.leftPadding
            },
            attrs: {
                draggable: "true"
            },
            on: {
                dragstart: function(e) {
                    e.stopPropagation(),
                    e.preventDefault()
                }
            }
        }, [n("input", {
            directives: [{
                name: "focus",
                rawName: "v-focus"
            }, {
                name: "model",
                rawName: "v-model",
                value: e.editingNodeName,
                expression: "editingNodeName"
            }],
            staticClass: "text-input",
            attrs: {
                type: "text"
            },
            domProps: {
                value: e.editingNodeName
            },
            on: {
                blur: function(t) {
                    return e.submitEdit()
                },
                keydown: [function(e) {
                    e.stopPropagation()
                }
                , function(t) {
                    return !t.type.indexOf("key") && e._k(t.keyCode, "enter", 13, t.key, "Enter") ? null : e.submitEdit()
                }
                , function(t) {
                    return !t.type.indexOf("key") && e._k(t.keyCode, "esc", 27, t.key, ["Esc", "Escape"]) ? null : (t.stopPropagation(),
                    e.submitEdit(!0))
                }
                ],
                input: function(t) {
                    t.target.composing || (e.editingNodeName = t.target.value)
                }
            }
        })]) : n("div", {
            staticClass: "explorer-node__item",
            style: {
                paddingLeft: e.leftPadding
            },
            attrs: {
                draggable: "true"
            },
            on: {
                click: function(t) {
                    return e.select()
                },
                dragstart: function(t) {
                    return t.stopPropagation(),
                    e.setDragSourceId.apply(null, arguments)
                },
                dragend: function(t) {
                    return t.stopPropagation(),
                    e.setDragTarget()
                }
            }
        }, [e._v("\n    " + e._s(e.node.item.name) + "\n    "), e._l(e.node.locations, function(e) {
            return n("icon-provider", {
                key: e.id,
                staticClass: "explorer-node__location",
                attrs: {
                    "provider-id": e.providerId
                }
            })
        })], 2), e._v(" "), e.node.isFolder && e.isOpen ? n("div", {
            staticClass: "explorer-node__children"
        }, [e._l(e.node.folders, function(t) {
            return n("explorer-node", {
                key: t.item.id,
                attrs: {
                    node: t,
                    depth: e.depth + 1
                }
            })
        }), e._v(" "), e.newChild ? n("div", {
            staticClass: "explorer-node__new-child",
            class: {
                "explorer-node__new-child--folder": e.newChild.isFolder
            },
            style: {
                paddingLeft: e.childLeftPadding
            }
        }, [n("input", {
            directives: [{
                name: "focus",
                rawName: "v-focus"
            }, {
                name: "model",
                rawName: "v-model.trim",
                value: e.newChildName,
                expression: "newChildName",
                modifiers: {
                    trim: !0
                }
            }],
            staticClass: "text-input",
            attrs: {
                type: "text"
            },
            domProps: {
                value: e.newChildName
            },
            on: {
                blur: [function(t) {
                    return e.submitNewChild()
                }
                , function(t) {
                    return e.$forceUpdate()
                }
                ],
                keydown: [function(e) {
                    e.stopPropagation()
                }
                , function(t) {
                    return !t.type.indexOf("key") && e._k(t.keyCode, "enter", 13, t.key, "Enter") ? null : e.submitNewChild()
                }
                , function(t) {
                    return !t.type.indexOf("key") && e._k(t.keyCode, "esc", 27, t.key, ["Esc", "Escape"]) ? null : (t.stopPropagation(),
                    e.submitNewChild(!0))
                }
                ],
                input: function(t) {
                    t.target.composing || (e.newChildName = t.target.value.trim())
                }
            }
        })]) : e._e(), e._v(" "), e._l(e.node.files, function(t) {
            return n("explorer-node", {
                key: t.item.id,
                attrs: {
                    node: t,
                    depth: e.depth + 1
                }
            })
        })], 2) : e._e()])
    }
      , a = []
}
, function(e, t, n) {
    "use strict";
    n.d(t, "a", function() {
        return r
    }),
    n.d(t, "b", function() {
        return a
    });
    var r = function() {
        var e = this
          , t = e.$createElement
          , n = e._self._c || t;
        return n("div", {
            staticClass: "find-replace",
            on: {
                keydown: function(t) {
                    return !t.type.indexOf("key") && e._k(t.keyCode, "esc", 27, t.key, ["Esc", "Escape"]) ? null : (t.stopPropagation(),
                    e.onEscape.apply(null, arguments))
                }
            }
        }, [n("button", {
            directives: [{
                name: "title",
                rawName: "v-title",
                value: "Close",
                expression: "'Close'"
            }],
            staticClass: "find-replace__close-button button not-tabbable",
            on: {
                click: function(t) {
                    return e.close()
                }
            }
        }, [n("icon-close")], 1), e._v(" "), n("div", {
            staticClass: "find-replace__row"
        }, [n("input", {
            directives: [{
                name: "model",
                rawName: "v-model",
                value: e.findText,
                expression: "findText"
            }],
            staticClass: "find-replace__text-input find-replace__text-input--find text-input",
            attrs: {
                type: "text"
            },
            domProps: {
                value: e.findText
            },
            on: {
                keydown: function(t) {
                    return !t.type.indexOf("key") && e._k(t.keyCode, "enter", 13, t.key, "Enter") ? null : e.find("forward")
                },
                input: function(t) {
                    t.target.composing || (e.findText = t.target.value)
                }
            }
        }), e._v(" "), n("div", {
            staticClass: "find-replace__find-stats"
        }, [e._v("\n      " + e._s(e.findPosition) + " of " + e._s(e.findCount) + "\n    ")]), e._v(" "), n("div", {
            staticClass: "flex flex--row flex--space-between"
        }, [n("div", {
            staticClass: "flex flex--row"
        }, [n("button", {
            staticClass: "find-replace__button find-replace__button--find-option button",
            class: {
                "find-replace__button--on": e.findCaseSensitive
            },
            attrs: {
                title: "Case sensitive"
            },
            on: {
                click: function(t) {
                    e.findCaseSensitive = !e.findCaseSensitive
                }
            }
        }, [e._v("Aa")]), e._v(" "), n("button", {
            staticClass: "find-replace__button find-replace__button--find-option button",
            class: {
                "find-replace__button--on": e.findUseRegexp
            },
            attrs: {
                title: "Regular expression"
            },
            on: {
                click: function(t) {
                    e.findUseRegexp = !e.findUseRegexp
                }
            }
        }, [e._v("."), n("sup", [e._v("⁕")])])]), e._v(" "), n("div", {
            staticClass: "flex flex--row"
        }, [n("button", {
            staticClass: "find-replace__button button",
            on: {
                click: function(t) {
                    return e.find("backward")
                }
            }
        }, [e._v("Previous")]), e._v(" "), n("button", {
            staticClass: "find-replace__button button",
            on: {
                click: function(t) {
                    return e.find("forward")
                }
            }
        }, [e._v("Next")])])])]), e._v(" "), "replace" === e.type ? n("div", [n("div", {
            staticClass: "find-replace__row"
        }, [n("input", {
            directives: [{
                name: "model",
                rawName: "v-model",
                value: e.replaceText,
                expression: "replaceText"
            }],
            staticClass: "find-replace__text-input find-replace__text-input--replace text-input",
            attrs: {
                type: "text"
            },
            domProps: {
                value: e.replaceText
            },
            on: {
                keydown: function(t) {
                    return !t.type.indexOf("key") && e._k(t.keyCode, "enter", 13, t.key, "Enter") ? null : e.replace.apply(null, arguments)
                },
                input: function(t) {
                    t.target.composing || (e.replaceText = t.target.value)
                }
            }
        })]), e._v(" "), n("div", {
            staticClass: "find-replace__row flex flex--row flex--end"
        }, [n("button", {
            staticClass: "find-replace__button button",
            on: {
                click: e.replace
            }
        }, [e._v("Replace")]), e._v(" "), n("button", {
            staticClass: "find-replace__button button",
            on: {
                click: e.replaceAll
            }
        }, [e._v("All")])])]) : e._e()])
    }
      , a = []
}
, function(e, t, n) {
    "use strict";
    n.d(t, "a", function() {
        return r
    }),
    n.d(t, "b", function() {
        return a
    });
    var r = function() {
        var e = this
          , t = e.$createElement
          , n = e._self._c || t;
        return n("div", {
            staticClass: "layout",
            class: {
                "layout--revision": e.revisionContent
            }
        }, [n("div", {
            staticClass: "layout__panel flex flex--row",
            class: {
                "flex--end": e.styles.showSideBar
            }
        }, [n("div", {
            staticClass: "layout__panel flex flex--column",
            style: {
                width: e.styles.innerWidth + "px"
            },
            attrs: {
                "tour-step-anchor": "welcome,end"
            }
        }, [n("div", {
            directives: [{
                name: "show",
                rawName: "v-show",
                value: e.styles.showNavigationBar,
                expression: "styles.showNavigationBar"
            }],
            staticClass: "layout__panel layout__panel--navigation-bar",
            style: {
                height: e.constants.navigationBarHeight + "px"
            }
        }, [n("navigation-bar")], 1), e._v(" "), n("div", {
            staticClass: "layout__panel flex flex--row",
            style: {
                height: e.styles.innerHeight + "px"
            }
        }, [n("div", {
            directives: [{
                name: "show",
                rawName: "v-show",
                value: e.styles.showEditor,
                expression: "styles.showEditor"
            }],
            staticClass: "layout__panel layout__panel--editor",
            style: {
                width: e.styles.editorWidth + e.styles.editorGutterWidth + "px",
                fontSize: e.styles.fontSize + "px"
            }
        }, [n("div", {
            staticClass: "gutter",
            style: {
                left: e.styles.editorGutterLeft + "px"
            }
        }, [e.styles.editorGutterWidth ? n("div", {
            staticClass: "gutter__background",
            style: {
                width: e.styles.editorGutterWidth + "px"
            }
        }) : e._e()]), e._v(" "), n("editor"), e._v(" "), n("div", {
            staticClass: "gutter",
            style: {
                left: e.styles.editorGutterLeft + "px"
            }
        }, [e.styles.editorGutterWidth && "top" === e.stickyComment ? n("sticky-comment") : e._e(), e._v(" "), e.styles.editorGutterWidth ? n("current-discussion") : e._e()], 1)], 1), e._v(" "), n("div", {
            directives: [{
                name: "show",
                rawName: "v-show",
                value: e.styles.showEditor,
                expression: "styles.showEditor"
            }],
            staticClass: "layout__panel layout__panel--button-bar",
            style: {
                width: e.constants.buttonBarWidth + "px"
            }
        }, [n("button-bar")], 1), e._v(" "), n("div", {
            directives: [{
                name: "show",
                rawName: "v-show",
                value: e.styles.showPreview,
                expression: "styles.showPreview"
            }],
            staticClass: "layout__panel layout__panel--preview",
            style: {
                width: e.styles.previewWidth + e.styles.previewGutterWidth + "px",
                fontSize: e.styles.fontSize + "px"
            }
        }, [n("div", {
            staticClass: "gutter",
            style: {
                left: e.styles.previewGutterLeft + "px"
            }
        }, [e.styles.previewGutterWidth ? n("div", {
            staticClass: "gutter__background",
            style: {
                width: e.styles.previewGutterWidth + "px"
            }
        }) : e._e()]), e._v(" "), n("preview"), e._v(" "), n("div", {
            staticClass: "gutter",
            style: {
                left: e.styles.previewGutterLeft + "px"
            }
        }, [e.styles.previewGutterWidth && "top" === e.stickyComment ? n("sticky-comment") : e._e(), e._v(" "), e.styles.previewGutterWidth ? n("current-discussion") : e._e()], 1)], 1), e._v(" "), e.showFindReplace ? n("div", {
            staticClass: "layout__panel layout__panel--find-replace"
        }, [n("find-replace")], 1) : e._e()]), e._v(" "), n("div", {
            directives: [{
                name: "show",
                rawName: "v-show",
                value: e.styles.showStatusBar,
                expression: "styles.showStatusBar"
            }],
            staticClass: "layout__panel layout__panel--status-bar",
            style: {
                height: e.constants.statusBarHeight + "px"
            }
        }, [n("status-bar")], 1)]), e._v(" "), n("div", {
            directives: [{
                name: "show",
                rawName: "v-show",
                value: e.styles.showSideBar,
                expression: "styles.showSideBar"
            }],
            staticClass: "layout__panel layout__panel--side-bar",
            style: {
                width: e.styles.layoutOverflow ? "100%" : e.constants.sideBarWidth + "px"
            }
        }, [n("side-bar")], 1)])])
    }
      , a = []
}
, function(e, t, n) {
    "use strict";
    n.d(t, "a", function() {
        return r
    }),
    n.d(t, "b", function() {
        return a
    });
    var r = function() {
        var e = this
          , t = e.$createElement
          , n = e._self._c || t;
        return e.config ? n("div", {
            staticClass: "modal",
            on: {
                keydown: [function(t) {
                    return !t.type.indexOf("key") && e._k(t.keyCode, "esc", 27, t.key, ["Esc", "Escape"]) ? null : (t.stopPropagation(),
                    e.onEscape.apply(null, arguments))
                }
                , function(t) {
                    return !t.type.indexOf("key") && e._k(t.keyCode, "tab", 9, t.key, "Tab") ? null : e.onTab.apply(null, arguments)
                }
                ],
                focusin: e.onFocusInOut,
                focusout: e.onFocusInOut
            }
        }, [e.isSponsor ? e._e() : n("div", {
            staticClass: "modal__sponsor-banner"
        }, [e._v("\n    StackEdit is "), n("a", {
            staticClass: "not-tabbable",
            attrs: {
                target: "_blank",
                href: "https://github.com/benweet/stackedit/"
            }
        }, [e._v("open source")]), e._v(", please consider\n    "), n("a", {
            staticClass: "not-tabbable",
            attrs: {
                href: "javascript:void(0)"
            },
            on: {
                click: e.sponsor
            }
        }, [e._v("sponsoring")]), e._v(" for just $5.\n  ")]), e._v(" "), e.currentModalComponent ? n(e.currentModalComponent, {
            tag: "component"
        }) : n("modal-inner", {
            attrs: {
                "aria-label": "Dialog"
            }
        }, [n("div", {
            staticClass: "modal__content",
            domProps: {
                innerHTML: e._s(e.simpleModal.contentHtml(e.config))
            }
        }), e._v(" "), n("div", {
            staticClass: "modal__button-bar"
        }, [e.simpleModal.rejectText ? n("button", {
            staticClass: "button",
            on: {
                click: function(t) {
                    return e.config.reject()
                }
            }
        }, [e._v(e._s(e.simpleModal.rejectText))]) : e._e(), e._v(" "), e.simpleModal.resolveText ? n("button", {
            staticClass: "button button--resolve",
            on: {
                click: function(t) {
                    return e.config.resolve()
                }
            }
        }, [e._v(e._s(e.simpleModal.resolveText))]) : e._e()])])], 1) : e._e()
    }
      , a = []
}
, function(e, t, n) {
    "use strict";
    n.d(t, "a", function() {
        return r
    }),
    n.d(t, "b", function() {
        return a
    });
    var r = function() {
        var e = this
          , t = e.$createElement
          , n = e._self._c || t;
        return n("nav", {
            staticClass: "navigation-bar",
            class: {
                "navigation-bar--editor": e.styles.showEditor && !e.revisionContent,
                "navigation-bar--light": e.light
            }
        }, [n("div", {
            staticClass: "navigation-bar__inner navigation-bar__inner--left navigation-bar__inner--button"
        }, [e.light ? e._e() : n("button", {
            staticClass: "navigation-bar__button button",
            attrs: {
                title: "Save - Ctrl+S",
                "aria-label": "Save - Ctrl+S",
                disabled: e.editState
            },
            on: {
                click: e.save
            }
        }, [n("icon-save")], 1)]), e._v(" "), n("div", {
            staticClass: "navigation-bar__inner navigation-bar__inner--right navigation-bar__inner--title flex flex--row"
        }, [e.light ? n("button", {
            directives: [{
                name: "title",
                rawName: "v-title",
                value: "Edit File",
                expression: "'Edit File'"
            }],
            staticClass: "navigation-bar__button navigation-bar__button--explorer-toggler button",
            on: {
                click: function(t) {
                    return e.toggleEditor(!0)
                }
            }
        }, [n("icon-pen")], 1) : e._e(), e._v(" "), e.light ? e._e() : n("button", {
            directives: [{
                name: "title",
                rawName: "v-title",
                value: "Reader mode",
                expression: "'Reader mode'"
            }],
            staticClass: "navigation-bar__button navigation-bar__button--explorer-toggler button",
            on: {
                click: function(t) {
                    return e.toggleEditor()
                }
            }
        }, [n("icon-close")], 1), e._v(" "), e.revisionContent ? n("div", {
            staticClass: "flex flex--row"
        }, [n("button", {
            staticClass: "navigation-bar__button navigation-bar__button--revision navigation-bar__button--restore button",
            on: {
                click: e.restoreRevision
            }
        }, [e._v("Restore")]), e._v(" "), n("button", {
            directives: [{
                name: "title",
                rawName: "v-title",
                value: "Close revision",
                expression: "'Close revision'"
            }],
            staticClass: "navigation-bar__button navigation-bar__button--revision button",
            on: {
                click: function(t) {
                    return e.setRevisionContent()
                }
            }
        }, [n("icon-close")], 1)]) : e._e()]), e._v(" "), n("div", {
            staticClass: "navigation-bar__inner navigation-bar__inner--edit-pagedownButtons overflow_hid"
        }, [n("button", {
            directives: [{
                name: "title",
                rawName: "v-title",
                value: "Undo",
                expression: "'Undo'"
            }],
            staticClass: "navigation-bar__button button",
            attrs: {
                disabled: !e.canUndo
            },
            on: {
                click: e.undo
            }
        }, [n("icon-undo")], 1), e._v(" "), n("button", {
            directives: [{
                name: "title",
                rawName: "v-title",
                value: "Redo",
                expression: "'Redo'"
            }],
            staticClass: "navigation-bar__button button",
            attrs: {
                disabled: !e.canRedo
            },
            on: {
                click: e.redo
            }
        }, [n("icon-redo")], 1), e._v(" "), e._l(e.pagedownButtons, function(t) {
            return n("div", {
                key: t.method
            }, [t.method ? n("button", {
                directives: [{
                    name: "title",
                    rawName: "v-title",
                    value: t.titleWithShortcut,
                    expression: "button.titleWithShortcut"
                }],
                staticClass: "navigation-bar__button button",
                on: {
                    click: function(n) {
                        return e.pagedownClick(t.method)
                    }
                }
            }, [n(t.iconClass, {
                tag: "component"
            })], 1) : n("div", {
                staticClass: "navigation-bar__spacer"
            })])
        })], 2)])
    }
      , a = []
}
, function(e, t, n) {
    "use strict";
    n.d(t, "a", function() {
        return r
    }),
    n.d(t, "b", function() {
        return a
    });
    var r = function() {
        var e = this
          , t = e.$createElement
          , n = e._self._c || t;
        return n("div", {
            staticClass: "notification"
        }, e._l(e.items, function(t, r) {
            return n("div", {
                key: r,
                staticClass: "notification__item flex flex--row flex--align-center"
            }, [n("div", {
                staticClass: "notification__icon flex flex--column flex--center"
            }, [n("error" === t.type ? "icon-alert" : "badge" === t.type ? "icon-check-circle" : "icon-information")], 1), e._v(" "), n("div", {
                staticClass: "notification__content"
            }, [e._v("\n      " + e._s(t.content) + "\n    ")]), e._v(" "), "confirm" === t.type ? n("button", {
                staticClass: "notification__button button",
                on: {
                    click: t.reject
                }
            }, [e._v("\n      No\n    ")]) : e._e(), e._v(" "), "confirm" === t.type ? n("button", {
                staticClass: "notification__button button",
                on: {
                    click: t.resolve
                }
            }, [e._v("\n      Yes\n    ")]) : e._e()])
        }), 0)
    }
      , a = []
}
, function(e, t, n) {
    "use strict";
    n.d(t, "a", function() {
        return r
    }),
    n.d(t, "b", function() {
        return a
    });
    var r = function() {
        var e = this
          , t = e.$createElement
          , n = e._self._c || t;
        return n("div", {
            staticClass: "preview"
        }, [n("div", {
            staticClass: "preview__inner-1",
            on: {
                click: e.onClick,
                scroll: e.onScroll
            }
        }, [n("div", {
            staticClass: "preview__inner-2",
            style: {
                padding: e.styles.previewPadding
            }
        }), e._v(" "), n("div", {
            staticClass: "gutter",
            style: {
                left: e.styles.previewGutterLeft + "px"
            }
        }, [e.styles.previewGutterWidth ? n("comment-list") : e._e(), e._v(" "), e.isCurrentTemp ? e._e() : n("preview-new-discussion-button")], 1)]), e._v(" "), e.styles.showEditor ? e._e() : n("div", {
            staticClass: "preview__corner"
        }, [n("button", {
            directives: [{
                name: "title",
                rawName: "v-title",
                value: "Edit file",
                expression: "'Edit file'"
            }],
            staticClass: "preview__button button",
            on: {
                click: function(t) {
                    return e.toggleEditor(!0)
                }
            }
        }, [n("icon-pen")], 1)])])
    }
      , a = []
}
, function(e, t, n) {
    "use strict";
    n.d(t, "a", function() {
        return r
    }),
    n.d(t, "b", function() {
        return a
    });
    var r = function() {
        var e = this
          , t = e.$createElement
          , n = e._self._c || t;
        return n("div", {
            staticClass: "side-bar flex flex--column"
        }, [n("div", {
            staticClass: "side-title flex flex--row"
        }, ["menu" !== e.panel ? n("button", {
            directives: [{
                name: "title",
                rawName: "v-title",
                value: "Main menu",
                expression: "'Main menu'"
            }],
            staticClass: "side-title__button button",
            on: {
                click: function(t) {
                    return e.setPanel("menu")
                }
            }
        }, [n("icon-dots-horizontal")], 1) : e._e(), e._v(" "), n("div", {
            staticClass: "side-title__title"
        }, [e._v("\n      " + e._s(e.panelName) + "\n    ")]), e._v(" "), n("button", {
            directives: [{
                name: "title",
                rawName: "v-title",
                value: "Close side bar",
                expression: "'Close side bar'"
            }],
            staticClass: "side-title__button button",
            on: {
                click: function(t) {
                    return e.toggleSideBar(!1)
                }
            }
        }, [n("icon-close")], 1)]), e._v(" "), n("div", {
            staticClass: "side-bar__inner"
        }, ["menu" === e.panel ? n("main-menu") : "workspaces" === e.panel ? n("workspaces-menu") : "sync" === e.panel ? n("sync-menu") : "publish" === e.panel ? n("publish-menu") : "history" === e.panel ? n("history-menu") : "export" === e.panel ? n("export-menu") : "importExport" === e.panel ? n("import-export-menu") : "workspaceBackups" === e.panel ? n("workspace-backup-menu") : "help" === e.panel ? n("div", {
            staticClass: "side-bar__panel side-bar__panel--help"
        }, [n("pre", {
            staticClass: "markdown-highlighting",
            domProps: {
                innerHTML: e._s(e.markdownSample)
            }
        })]) : e._e(), e._v(" "), n("div", {
            staticClass: "side-bar__panel side-bar__panel--toc",
            class: {
                "side-bar__panel--hidden": "toc" !== e.panel
            }
        }, [n("toc")], 1)], 1)])
    }
      , a = []
}
, function(e, t, n) {
    "use strict";
    n.d(t, "a", function() {
        return r
    }),
    n.d(t, "b", function() {
        return a
    });
    var r = function() {
        var e = this
          , t = e.$createElement;
        e._self._c;
        return e._m(0)
    }
      , a = [function() {
        var e = this
          , t = e.$createElement
          , n = e._self._c || t;
        return n("div", {
            staticClass: "splash-screen"
        }, [n("div", {
            staticClass: "splash-screen__inner logo-background"
        })])
    }
    ]
}
, function(e, t, n) {
    "use strict";
    n.d(t, "a", function() {
        return r
    }),
    n.d(t, "b", function() {
        return a
    });
    var r = function() {
        var e = this
          , t = e.$createElement
          , n = e._self._c || t;
        return n("div", {
            staticClass: "stat-panel panel no-overflow"
        }, [e.styles.showEditor ? n("div", {
            staticClass: "stat-panel__block stat-panel__block--left"
        }, [n("span", {
            staticClass: "stat-panel__block-name"
        }, [e._v("\n      Markdown\n      "), e.textSelection ? n("span", [e._v("selection")]) : e._e()]), e._v(" "), e._l(e.textStats, function(t) {
            return n("span", {
                key: t.id
            }, [n("span", {
                staticClass: "stat-panel__value"
            }, [e._v(e._s(t.value))]), e._v(" " + e._s(t.name) + "\n    ")])
        }), e._v(" "), n("span", {
            staticClass: "stat-panel__value"
        }, [e._v("Ln " + e._s(e.line) + ", Col " + e._s(e.column))])], 2) : e._e(), e._v(" "), n("div", {
            staticClass: "stat-panel__block stat-panel__block--right"
        }, [n("span", {
            staticClass: "stat-panel__block-name"
        }, [e._v("\n      HTML\n      "), e.htmlSelection ? n("span", [e._v("selection")]) : e._e()]), e._v(" "), e._l(e.htmlStats, function(t) {
            return n("span", {
                key: t.id
            }, [n("span", {
                staticClass: "stat-panel__value"
            }, [e._v(e._s(t.value))]), e._v(" " + e._s(t.name) + "\n    ")])
        })], 2)])
    }
      , a = []
}
, function(e, t, n) {
    "use strict";
    n.d(t, "a", function() {
        return r
    }),
    n.d(t, "b", function() {
        return a
    });
    var r = function() {
        var e = this
          , t = e.$createElement
          , n = e._self._c || t;
        return n("div", {
            staticClass: "toc"
        }, [n("div", {
            staticClass: "toc__mask",
            style: {
                top: e.maskY - 5 + "px"
            }
        }), e._v(" "), n("div", {
            staticClass: "toc__inner"
        })])
    }
      , a = []
}
, function(e, t, n) {
    "use strict";
    n.d(t, "a", function() {
        return r
    }),
    n.d(t, "b", function() {
        return a
    });
    var r = function() {
        var e = this
          , t = e.$createElement
          , n = e._self._c || t;
        return n("div", {
            staticClass: "tour",
            on: {
                keydown: function(t) {
                    return !t.type.indexOf("key") && e._k(t.keyCode, "esc", 27, t.key, ["Esc", "Escape"]) ? null : (t.stopPropagation(),
                    e.skip.apply(null, arguments))
                }
            }
        }, [n("div", {
            staticClass: "tour-step",
            class: "tour-step--" + e.step,
            style: e.stepStyle
        }, ["welcome" === e.step ? n("div", {
            staticClass: "tour-step__inner"
        }, [n("h2", [e._v("Welcome back!teste test")]), e._v(" "), e._m(0), e._v(" "), e._m(1), e._v(" "), n("div", {
            staticClass: "tour-step__button-bar"
        }, [n("button", {
            staticClass: "button",
            on: {
                click: e.finish
            }
        }, [e._v("Skip")]), e._v(" "), n("button", {
            staticClass: "button button--resolve",
            on: {
                click: e.next
            }
        }, [e._v("Next")])])]) : "editor" === e.step ? n("div", {
            staticClass: "tour-step__inner"
        }, [n("h2", [e._v("Your Markdown editor")]), e._v(" "), n("p", [e._v("StackEdit converts your Markdown to HTML in real-time.")]), e._v(" "), n("p", [e._v("Click "), n("icon-side-preview"), e._v(" to toggle the side preview.")], 1), e._v(" "), n("div", {
            staticClass: "tour-step__button-bar"
        }, [n("button", {
            staticClass: "button",
            on: {
                click: e.finish
            }
        }, [e._v("Skip")]), e._v(" "), n("button", {
            staticClass: "button button--resolve",
            on: {
                click: e.next
            }
        }, [e._v("Next")])])]) : "explorer" === e.step ? n("div", {
            staticClass: "tour-step__inner"
        }, [n("h2", [e._v("File explorer")]), e._v(" "), n("p", [e._v("StackEdit can manage multiple files and folders in a workspace.")]), e._v(" "), n("p", [e._v("Click "), n("icon-folder"), e._v(" to open the file explorer.")], 1), e._v(" "), n("div", {
            staticClass: "tour-step__button-bar"
        }, [n("button", {
            staticClass: "button",
            on: {
                click: e.finish
            }
        }, [e._v("Skip")]), e._v(" "), n("button", {
            staticClass: "button button--resolve",
            on: {
                click: e.next
            }
        }, [e._v("Next")])])]) : "menu" === e.step ? n("div", {
            staticClass: "tour-step__inner"
        }, [n("h2", [e._v("Do a lot more!")]), e._v(" "), n("p", [e._v("StackEdit can also synchronize and publish your files, manage collaborative workspaces...")]), e._v(" "), n("p", [e._v("Click "), n("icon-provider", {
            attrs: {
                "provider-id": "stackedit"
            }
        }), e._v(" to explore the menu.")], 1), e._v(" "), n("div", {
            staticClass: "tour-step__button-bar"
        }, [n("button", {
            staticClass: "button",
            on: {
                click: e.finish
            }
        }, [e._v("Skip")]), e._v(" "), n("button", {
            staticClass: "button button--resolve",
            on: {
                click: e.next
            }
        }, [e._v("Next")])])]) : "end" === e.step ? n("div", {
            staticClass: "tour-step__inner"
        }, [n("h2", [e._v("Enjoy!")]), e._v(" "), e._m(2), e._v(" "), e._m(3), e._v(" "), n("div", {
            staticClass: "tour-step__button-bar"
        }, [n("button", {
            staticClass: "button button--resolve",
            on: {
                click: e.finish
            }
        }, [e._v("Ok")])])]) : e._e()])])
    }
      , a = [function() {
        var e = this
          , t = e.$createElement
          , n = e._self._c || t;
        return n("p", [e._v("The new "), n("b", [e._v("StackEdit 5")]), e._v(" is here!")])
    }
    , function() {
        var e = this
          , t = e.$createElement
          , n = e._self._c || t;
        return n("p", [e._v("Please click "), n("b", [e._v("Next")]), e._v(" to take a quick tour.")])
    }
    , function() {
        var e = this
          , t = e.$createElement
          , n = e._self._c || t;
        return n("p", [e._v("If you like StackEdit, please rate 5 stars on the "), n("a", {
            attrs: {
                target: "_blank",
                href: "https://chrome.google.com/webstore/detail/iiooodelglhkcpgbajoejffhijaclcdg/reviews"
            }
        }, [e._v("Chrome Web Store")]), e._v(".")])
    }
    , function() {
        var e = this
          , t = e.$createElement
          , n = e._self._c || t;
        return n("p", [e._v("You can also star the project on "), n("a", {
            attrs: {
                target: "_blank",
                href: "https://github.com/benweet/stackedit"
            }
        }, [e._v("GitHub")]), e._v(" and join the "), n("a", {
            attrs: {
                target: "_blank",
                href: "https://community.stackedit.io/"
            }
        }, [e._v("community")]), e._v(".")])
    }
    ]
}
, function(e, t, n) {
    "use strict";
    n.d(t, "a", function() {
        return r
    }),
    n.d(t, "b", function() {
        return a
    });
    var r = function() {
        var e = this
          , t = e.$createElement;
        return (e._self._c || t)("div", {
            staticClass: "user-image",
            style: {
                backgroundImage: e.url
            }
        })
    }
      , a = []
}
, function(e, t, n) {
    "use strict";
    n.d(t, "a", function() {
        return r
    }),
    n.d(t, "b", function() {
        return a
    });
    var r = function() {
        var e = this
          , t = e.$createElement;
        return (e._self._c || t)("span", {
            staticClass: "user-name"
        }, [e._v(e._s(e.name))])
    }
      , a = []
}
, function(e, t, n) {
    "use strict";
    n.d(t, "a", function() {
        return r
    }),
    n.d(t, "b", function() {
        return a
    });
    var r = function() {
        var e = this
          , t = e.$createElement
          , n = e._self._c || t;
        return n("div", {
            staticClass: "comment"
        }, [n("div", {
            staticClass: "comment__header flex flex--row flex--space-between flex--align-center"
        }, [n("div", {
            staticClass: "comment__user flex flex--row flex--align-center"
        }, [n("div", {
            staticClass: "comment__user-image"
        }, [n("user-image", {
            attrs: {
                "user-id": e.comment.sub
            }
        })], 1), e._v(" "), n("button", {
            directives: [{
                name: "title",
                rawName: "v-title",
                value: "Remove comment",
                expression: "'Remove comment'"
            }],
            staticClass: "comment__remove-button button",
            on: {
                click: e.removeComment
            }
        }, [n("icon-delete")], 1), e._v(" "), n("user-name", {
            attrs: {
                "user-id": e.comment.sub
            }
        })], 1), e._v(" "), n("div", {
            staticClass: "comment__created"
        }, [e._v(e._s(e._f("formatTime")(e.comment.created)))])]), e._v(" "), n("div", {
            staticClass: "comment__text"
        }, [n("div", {
            staticClass: "comment__text-inner",
            domProps: {
                innerHTML: e._s(e.text)
            }
        })]), e._v(" "), e.showReply ? n("div", {
            staticClass: "comment__buttons flex flex--row flex--end"
        }, [n("button", {
            staticClass: "comment__button button",
            on: {
                click: function(t) {
                    return e.setIsCommenting(!0)
                }
            }
        }, [e._v("Reply")])]) : e._e()])
    }
      , a = []
}
, function(e, t, n) {
    "use strict";
    n.d(t, "a", function() {
        return r
    }),
    n.d(t, "b", function() {
        return a
    });
    var r = function() {
        var e = this
          , t = e.$createElement
          , n = e._self._c || t;
        return n("div", {
            staticClass: "comment-list",
            class: e.stickyComment && "comment-list--" + e.stickyComment,
            style: {
                width: e.constants.gutterWidth + "px"
            }
        }, [e._l(e.currentFileDiscussionLastComments, function(t, r) {
            return t.discussionId !== e.currentDiscussionId ? n("comment", {
                key: r,
                staticClass: "comment--last",
                class: "comment--discussion-" + r,
                style: {
                    top: e.tops[r] + "px"
                },
                attrs: {
                    comment: t
                },
                nativeOn: {
                    click: function(t) {
                        return e.setCurrentDiscussionId(r)
                    }
                }
            }) : e._e()
        }), e._v(" "), n("div", {
            staticClass: "comment-list__current-discussion",
            style: {
                top: e.tops.current + "px"
            }
        }, [e._l(e.currentDiscussionComments, function(e, t) {
            return n("comment", {
                key: t,
                class: "comment--" + t,
                attrs: {
                    comment: e
                }
            })
        }), e._v(" "), e.isCommenting ? n("new-comment") : e._e()], 2)], 2)
    }
      , a = []
}
, function(e, t, n) {
    "use strict";
    n.d(t, "a", function() {
        return r
    }),
    n.d(t, "b", function() {
        return a
    });
    var r = function() {
        var e = this
          , t = e.$createElement
          , n = e._self._c || t;
        return n("div", {
            staticClass: "current-discussion",
            style: {
                width: e.constants.gutterWidth + "px"
            }
        }, ["bottom" === e.stickyComment ? n("sticky-comment") : e._e(), e._v(" "), n("div", {
            staticClass: "current-discussion__inner"
        }, [n("div", {
            staticClass: "flex flex--row flex--space-between"
        }, [n("div", {
            staticClass: "current-discussion__buttons flex flex--row flex--end"
        }, [e.showNext ? n("button", {
            directives: [{
                name: "title",
                rawName: "v-title",
                value: "Previous discussion",
                expression: "'Previous discussion'"
            }],
            staticClass: "current-discussion__button button",
            on: {
                click: function(t) {
                    return e.goToDiscussion(e.previousDiscussionId)
                }
            }
        }, [n("icon-arrow-left")], 1) : e._e(), e._v(" "), e.showNext ? n("button", {
            directives: [{
                name: "title",
                rawName: "v-title",
                value: "Next discussion",
                expression: "'Next discussion'"
            }],
            staticClass: "current-discussion__button current-discussion__button--rotate button",
            on: {
                click: function(t) {
                    return e.goToDiscussion(e.nextDiscussionId)
                }
            }
        }, [n("icon-arrow-left")], 1) : e._e()]), e._v(" "), n("div", {
            staticClass: "current-discussion__buttons flex flex--row flex--end"
        }, [e.showRemove ? n("button", {
            directives: [{
                name: "title",
                rawName: "v-title",
                value: "Remove discussion",
                expression: "'Remove discussion'"
            }],
            staticClass: "current-discussion__button current-discussion__button--remove button",
            on: {
                click: e.removeDiscussion
            }
        }, [n("icon-delete")], 1) : e._e(), e._v(" "), n("button", {
            directives: [{
                name: "title",
                rawName: "v-title",
                value: "Close discussion",
                expression: "'Close discussion'"
            }],
            staticClass: "current-discussion__button button",
            on: {
                click: function(t) {
                    return e.setCurrentDiscussionId()
                }
            }
        }, [n("icon-close")], 1)])]), e._v(" "), n("div", {
            staticClass: "current-discussion__text markdown-highlighting markdown-highlighting--inline"
        }, [n("span", {
            domProps: {
                innerHTML: e._s(e.text)
            },
            on: {
                click: function(t) {
                    return e.goToDiscussion()
                }
            }
        })])])], 1)
    }
      , a = []
}
, function(e, t, n) {
    "use strict";
    n.d(t, "a", function() {
        return r
    }),
    n.d(t, "b", function() {
        return a
    });
    var r = function() {
        var e = this
          , t = e.$createElement
          , n = e._self._c || t;
        return e.coordinates ? n("a", {
            directives: [{
                name: "title",
                rawName: "v-title",
                value: "Start a discussion",
                expression: "'Start a discussion'"
            }],
            staticClass: "new-discussion-button",
            style: {
                top: e.coordinates.top + "px"
            },
            attrs: {
                href: "javascript:void(0)"
            },
            on: {
                mousedown: function(e) {
                    e.stopPropagation(),
                    e.preventDefault()
                },
                click: function(t) {
                    return e.createNewDiscussion(e.selection)
                }
            }
        }, [n("icon-message")], 1) : e._e()
    }
      , a = []
}
, function(e, t, n) {
    "use strict";
    n.d(t, "a", function() {
        return r
    }),
    n.d(t, "b", function() {
        return a
    });
    var r = function() {
        var e = this
          , t = e.$createElement
          , n = e._self._c || t;
        return n("div", {
            staticClass: "comment comment--new",
            on: {
                keydown: function(t) {
                    return !t.type.indexOf("key") && e._k(t.keyCode, "esc", 27, t.key, ["Esc", "Escape"]) ? null : (t.stopPropagation(),
                    e.cancelNewComment.apply(null, arguments))
                }
            }
        }, [n("div", {
            staticClass: "comment__header flex flex--row flex--space-between flex--align-center"
        }, [n("div", {
            staticClass: "comment__user flex flex--row flex--align-center"
        }, [n("div", {
            staticClass: "comment__user-image"
        }, [n("user-image", {
            attrs: {
                "user-id": e.userId
            }
        })], 1), e._v(" "), n("span", {
            staticClass: "user-name"
        }, [e._v(e._s(e.loginToken.name))])])]), e._v(" "), e._m(0), e._v(" "), n("div", {
            staticClass: "comment__buttons flex flex--row flex--end"
        }, [n("button", {
            staticClass: "comment__button button",
            on: {
                click: e.cancelNewComment
            }
        }, [e._v("Cancel")]), e._v(" "), n("button", {
            staticClass: "comment__button button",
            on: {
                click: e.addComment
            }
        }, [e._v("Ok")])])])
    }
      , a = [function() {
        var e = this
          , t = e.$createElement
          , n = e._self._c || t;
        return n("div", {
            staticClass: "comment__text"
        }, [n("div", {
            staticClass: "comment__text-inner"
        }, [n("pre", {
            staticClass: "markdown-highlighting"
        })])])
    }
    ]
}
, function(e, t, n) {
    "use strict";
    n.d(t, "a", function() {
        return r
    }),
    n.d(t, "b", function() {
        return a
    });
    var r = function() {
        var e = this
          , t = e.$createElement
          , n = e._self._c || t;
        return e.coordinates ? n("a", {
            directives: [{
                name: "title",
                rawName: "v-title",
                value: "Start a discussion",
                expression: "'Start a discussion'"
            }],
            staticClass: "new-discussion-button",
            style: {
                top: e.coordinates.top + "px"
            },
            attrs: {
                href: "javascript:void(0)"
            },
            on: {
                mousedown: function(e) {
                    e.stopPropagation(),
                    e.preventDefault()
                },
                click: function(t) {
                    return e.createNewDiscussion(e.selection)
                }
            }
        }, [n("icon-message")], 1) : e._e()
    }
      , a = []
}
, function(e, t, n) {
    "use strict";
    n.d(t, "a", function() {
        return r
    }),
    n.d(t, "b", function() {
        return a
    });
    var r = function() {
        var e = this
          , t = e.$createElement
          , n = e._self._c || t;
        return n("div", {
            staticClass: "sticky-comment",
            style: {
                width: e.constants.gutterWidth + "px",
                top: e.top + "px"
            }
        }, [e.currentDiscussionLastComment ? n("comment", {
            attrs: {
                comment: e.currentDiscussionLastComment
            }
        }) : e._e(), e._v(" "), e.isCommenting ? n("new-comment") : e._e()], 1)
    }
      , a = []
}
, function(e, t, n) {
    "use strict";
    n.d(t, "a", function() {
        return r
    }),
    n.d(t, "b", function() {
        return a
    });
    var r = function() {
        var e = this
          , t = e.$createElement
          , n = e._self._c || t;
        return n("div", {
            staticClass: "history side-bar__panel side-bar__panel--menu"
        }, [n("div", {
            staticClass: "side-bar__info"
        }, [e.syncLocations.length > 1 ? n("p", [n("select", {
            directives: [{
                name: "model",
                rawName: "v-model",
                value: e.syncLocationId,
                expression: "syncLocationId"
            }],
            staticClass: "textfield",
            attrs: {
                slot: "field"
            },
            on: {
                keydown: function(t) {
                    return !t.type.indexOf("key") && e._k(t.keyCode, "enter", 13, t.key, "Enter") ? null : e.resolve()
                },
                change: function(t) {
                    var n = Array.prototype.filter.call(t.target.options, function(e) {
                        return e.selected
                    }).map(function(e) {
                        return "_value"in e ? e._value : e.value
                    });
                    e.syncLocationId = t.target.multiple ? n : n[0]
                }
            },
            slot: "field"
        }, e._l(e.syncLocations, function(t) {
            return n("option", {
                key: t.id,
                domProps: {
                    value: t.id
                }
            }, [e._v("\n          " + e._s(t.description) + "\n        ")])
        }), 0)]) : e._e(), e._v(" "), e.historyContext ? e.loading ? n("p", [e._v("Loading history…")]) : e.revisionsWithSpacer.length ? n("div", {
            staticClass: "menu-entry menu-entry--info flex flex--row flex--align-center"
        }, [n("div", {
            staticClass: "menu-entry__icon menu-entry__icon--image"
        }, [n("icon-provider", {
            attrs: {
                "provider-id": e.syncLocation.providerId
            }
        })], 1), e._v(" "), e.syncLocation.url ? n("span", [e._v("\n        The following revisions are stored in "), n("a", {
            attrs: {
                href: e.syncLocation.url,
                target: "_blank"
            }
        }, [e._v(e._s(e.syncLocationProviderName))]), e._v(".\n      ")]) : n("span", [e._v("\n        The following revisions are stored in " + e._s(e.syncLocationProviderName) + ".\n      ")])]) : n("p", [n("b", [e._v(e._s(e.currentFileName))]), e._v(" has no history.")]) : n("p", [e._v("Synchronize "), n("b", [e._v(e._s(e.currentFileName))]), e._v(" to enable revision history or "), n("a", {
            attrs: {
                href: "javascript:void(0)"
            },
            on: {
                click: e.signin
            }
        }, [e._v("sign in with Google")]), e._v(" to synchronize your main workspace.")])]), e._v(" "), n("div", e._l(e.revisionsWithSpacer, function(t) {
            return n("div", {
                key: t.id,
                staticClass: "revision"
            }, [t.spacer ? n("div", {
                staticClass: "history__spacer"
            }) : e._e(), e._v(" "), n("a", {
                staticClass: "revision__button button flex flex--row",
                attrs: {
                    href: "javascript:void(0)"
                },
                on: {
                    click: function(n) {
                        return e.open(t)
                    }
                }
            }, [n("div", {
                staticClass: "revision__icon"
            }, [n("user-image", {
                attrs: {
                    "user-id": t.sub
                }
            })], 1), e._v(" "), n("div", {
                staticClass: "revision__header flex flex--column"
            }, [n("user-name", {
                attrs: {
                    "user-id": t.sub
                }
            }), e._v(" "), n("div", {
                staticClass: "revision__created"
            }, [e._v(e._s(e._f("formatTime")(t.created)))])], 1)])])
        }), 0), e._v(" "), e.revisions.length ? n("div", {
            staticClass: "history__spacer history__spacer--last"
        }) : e._e(), e._v(" "), e.showMoreButton ? n("div", {
            staticClass: "flex flex--row flex--end"
        }, [n("button", {
            staticClass: "history__button button",
            on: {
                click: e.showMore
            }
        }, [e._v("More")])]) : e._e()])
    }
      , a = []
}
, function(e, t, n) {
    "use strict";
    n.d(t, "a", function() {
        return r
    }),
    n.d(t, "b", function() {
        return a
    });
    var r = function() {
        var e = this
          , t = e.$createElement
          , n = e._self._c || t;
        return n("div", {
            staticClass: "side-bar__panel side-bar__panel--menu"
        }, [n("input", {
            staticClass: "hidden-file",
            attrs: {
                id: "import-markdown-file-input",
                type: "file"
            },
            on: {
                change: e.onImportMarkdown
            }
        }), e._v(" "), n("label", {
            staticClass: "menu-entry button flex flex--row flex--align-center",
            attrs: {
                for: "import-markdown-file-input"
            }
        }, [n("div", {
            staticClass: "menu-entry__icon flex flex--column flex--center"
        }, [n("icon-upload")], 1), e._v(" "), e._m(0)]), e._v(" "), n("input", {
            staticClass: "hidden-file",
            attrs: {
                id: "import-html-file-input",
                type: "file"
            },
            on: {
                change: e.onImportHtml
            }
        }), e._v(" "), n("label", {
            staticClass: "menu-entry button flex flex--row flex--align-center",
            attrs: {
                for: "import-html-file-input"
            }
        }, [n("div", {
            staticClass: "menu-entry__icon flex flex--column flex--center"
        }, [n("icon-upload")], 1), e._v(" "), e._m(1)]), e._v(" "), n("hr"), e._v(" "), n("menu-entry", {
            nativeOn: {
                click: function(t) {
                    return e.exportMarkdown.apply(null, arguments)
                }
            }
        }, [n("icon-download", {
            attrs: {
                slot: "icon"
            },
            slot: "icon"
        }), e._v(" "), n("div", [e._v("Export as Markdown")]), e._v(" "), n("span", [e._v("Save plain text file.")])], 1), e._v(" "), n("menu-entry", {
            nativeOn: {
                click: function(t) {
                    return e.exportHtml.apply(null, arguments)
                }
            }
        }, [n("icon-download", {
            attrs: {
                slot: "icon"
            },
            slot: "icon"
        }), e._v(" "), n("div", [e._v("Export as HTML")]), e._v(" "), n("span", [e._v("Generate an HTML page from a template.")])], 1), e._v(" "), n("menu-entry", {
            nativeOn: {
                click: function(t) {
                    return e.exportPdf.apply(null, arguments)
                }
            }
        }, [n("icon-download", {
            attrs: {
                slot: "icon"
            },
            slot: "icon"
        }), e._v(" "), n("div", [n("div", {
            staticClass: "menu-entry__label",
            class: {
                "menu-entry__label--warning": !e.isSponsor
            }
        }, [e._v("sponsor")]), e._v(" Export as PDF")]), e._v(" "), n("span", [e._v("Produce a PDF from an HTML template.")])], 1), e._v(" "), n("menu-entry", {
            nativeOn: {
                click: function(t) {
                    return e.exportPandoc.apply(null, arguments)
                }
            }
        }, [n("icon-download", {
            attrs: {
                slot: "icon"
            },
            slot: "icon"
        }), e._v(" "), n("div", [n("div", {
            staticClass: "menu-entry__label",
            class: {
                "menu-entry__label--warning": !e.isSponsor
            }
        }, [e._v("sponsor")]), e._v(" Export with Pandoc")]), e._v(" "), n("span", [e._v("Convert to PDF, Word, EPUB...")])], 1)], 1)
    }
      , a = [function() {
        var e = this
          , t = e.$createElement
          , n = e._self._c || t;
        return n("div", {
            staticClass: "flex flex--column"
        }, [n("div", [e._v("Import Markdown")]), e._v(" "), n("span", [e._v("Import a plain text file.")])])
    }
    , function() {
        var e = this
          , t = e.$createElement
          , n = e._self._c || t;
        return n("div", {
            staticClass: "flex flex--column"
        }, [n("div", [e._v("Import HTML")]), e._v(" "), n("span", [e._v("Convert an HTML file to Markdown.")])])
    }
    ]
}
, function(e, t, n) {
    "use strict";
    n.d(t, "a", function() {
        return r
    }),
    n.d(t, "b", function() {
        return a
    });
    var r = function() {
        var e = this
          , t = e.$createElement
          , n = e._self._c || t;
        return n("div", {
            staticClass: "side-bar__panel side-bar__panel--menu"
        }, [n("div", {
            staticClass: "side-bar__info"
        }, [e.loginToken ? n("div", {
            staticClass: "menu-entry menu-entry--info flex flex--row flex--align-center"
        }, [n("div", {
            staticClass: "menu-entry__icon menu-entry__icon--image"
        }, [n("user-image", {
            attrs: {
                "user-id": e.userId
            }
        })], 1), e._v(" "), n("span", [e._v("Signed in as "), n("b", [e._v(e._s(e.loginToken.name))]), e._v(".")])]) : e._e(), e._v(" "), e.syncToken ? n("div", {
            staticClass: "menu-entry menu-entry--info flex flex--row flex--align-center"
        }, [n("div", {
            staticClass: "menu-entry__icon menu-entry__icon--image"
        }, [n("icon-provider", {
            attrs: {
                "provider-id": e.currentWorkspace.providerId
            }
        })], 1), e._v(" "), "googleDriveAppData" === e.currentWorkspace.providerId ? n("span", [n("b", [e._v(e._s(e.currentWorkspace.name))]), e._v(" synced with your Google Drive app data folder.\n      ")]) : "googleDriveWorkspace" === e.currentWorkspace.providerId ? n("span", [n("b", [e._v(e._s(e.currentWorkspace.name))]), e._v(" synced with a "), n("a", {
            attrs: {
                href: e.workspaceLocationUrl,
                target: "_blank"
            }
        }, [e._v("Google Drive folder")]), e._v(".\n      ")]) : "couchdbWorkspace" === e.currentWorkspace.providerId ? n("span", [n("b", [e._v(e._s(e.currentWorkspace.name))]), e._v(" synced with a "), n("a", {
            attrs: {
                href: e.workspaceLocationUrl,
                target: "_blank"
            }
        }, [e._v("CouchDB database")]), e._v(".\n      ")]) : "githubWorkspace" === e.currentWorkspace.providerId ? n("span", [n("b", [e._v(e._s(e.currentWorkspace.name))]), e._v(" synced with a "), n("a", {
            attrs: {
                href: e.workspaceLocationUrl,
                target: "_blank"
            }
        }, [e._v("GitHub repo")]), e._v(".\n      ")]) : "gitlabWorkspace" === e.currentWorkspace.providerId ? n("span", [n("b", [e._v(e._s(e.currentWorkspace.name))]), e._v(" synced with a "), n("a", {
            attrs: {
                href: e.workspaceLocationUrl,
                target: "_blank"
            }
        }, [e._v("GitLab project")]), e._v(".\n      ")]) : e._e()]) : n("div", {
            staticClass: "menu-entry menu-entry--info flex flex--row flex--align-center"
        }, [n("div", {
            staticClass: "menu-entry__icon menu-entry__icon--disabled"
        }, [n("icon-sync-off")], 1), e._v(" "), n("span", [n("b", [e._v(e._s(e.currentWorkspace.name))]), e._v(" not synced.")])])]), e._v(" "), e.loginToken ? e._e() : n("menu-entry", {
            nativeOn: {
                click: function(t) {
                    return e.signin.apply(null, arguments)
                }
            }
        }, [n("icon-login", {
            attrs: {
                slot: "icon"
            },
            slot: "icon"
        }), e._v(" "), n("div", [e._v("Sign in with Google")]), e._v(" "), n("span", [e._v("Sync your main workspace and unlock functionalities.")])], 1), e._v(" "), n("menu-entry", {
            nativeOn: {
                click: function(t) {
                    return e.setPanel("workspaces")
                }
            }
        }, [n("icon-database", {
            attrs: {
                slot: "icon"
            },
            slot: "icon"
        }), e._v(" "), n("div", [e.workspaceCount ? n("div", {
            staticClass: "menu-entry__label menu-entry__label--count"
        }, [e._v(e._s(e.workspaceCount))]) : e._e(), e._v(" Workspaces")]), e._v(" "), n("span", [e._v("Switch to another workspace.")])], 1), e._v(" "), n("hr"), e._v(" "), n("menu-entry", {
            nativeOn: {
                click: function(t) {
                    return e.setPanel("sync")
                }
            }
        }, [n("icon-sync", {
            attrs: {
                slot: "icon"
            },
            slot: "icon"
        }), e._v(" "), n("div", [e.syncLocationCount ? n("div", {
            staticClass: "menu-entry__label menu-entry__label--count"
        }, [e._v(e._s(e.syncLocationCount))]) : e._e(), e._v(" Synchronize")]), e._v(" "), n("span", [e._v("Sync your files in the Cloud.")])], 1), e._v(" "), n("menu-entry", {
            nativeOn: {
                click: function(t) {
                    return e.setPanel("publish")
                }
            }
        }, [n("icon-upload", {
            attrs: {
                slot: "icon"
            },
            slot: "icon"
        }), e._v(" "), n("div", [e.publishLocationCount ? n("div", {
            staticClass: "menu-entry__label menu-entry__label--count"
        }, [e._v(e._s(e.publishLocationCount))]) : e._e(), e._v("Publish")]), e._v(" "), n("span", [e._v("Export your files to the web.")])], 1), e._v(" "), n("menu-entry", {
            nativeOn: {
                click: function(t) {
                    return e.setPanel("history")
                }
            }
        }, [n("icon-history", {
            attrs: {
                slot: "icon"
            },
            slot: "icon"
        }), e._v(" "), n("div", [e._v("History")]), e._v(" "), n("span", [e._v("Track and restore file revisions.")])], 1), e._v(" "), n("menu-entry", {
            nativeOn: {
                click: function(t) {
                    return e.fileProperties.apply(null, arguments)
                }
            }
        }, [n("icon-view-list", {
            attrs: {
                slot: "icon"
            },
            slot: "icon"
        }), e._v(" "), n("div", [e._v("File properties")]), e._v(" "), n("span", [e._v("Add metadata and configure extensions.")])], 1), e._v(" "), n("hr"), e._v(" "), n("menu-entry", {
            nativeOn: {
                click: function(t) {
                    return e.setPanel("toc")
                }
            }
        }, [n("icon-toc", {
            attrs: {
                slot: "icon"
            },
            slot: "icon"
        }), e._v("\n    Table of contents\n  ")], 1), e._v(" "), n("menu-entry", {
            nativeOn: {
                click: function(t) {
                    return e.setPanel("help")
                }
            }
        }, [n("icon-help-circle", {
            attrs: {
                slot: "icon"
            },
            slot: "icon"
        }), e._v("\n    Markdown cheat sheet\n  ")], 1), e._v(" "), n("hr"), e._v(" "), n("menu-entry", {
            nativeOn: {
                click: function(t) {
                    return e.setPanel("importExport")
                }
            }
        }, [n("icon-content-save", {
            attrs: {
                slot: "icon"
            },
            slot: "icon"
        }), e._v("\n    Import/export\n  ")], 1), e._v(" "), n("menu-entry", {
            nativeOn: {
                click: function(t) {
                    return e.print.apply(null, arguments)
                }
            }
        }, [n("icon-printer", {
            attrs: {
                slot: "icon"
            },
            slot: "icon"
        }), e._v("\n    Print\n  ")], 1), e._v(" "), n("hr"), e._v(" "), n("menu-entry", {
            nativeOn: {
                click: function(t) {
                    return e.badges.apply(null, arguments)
                }
            }
        }, [n("icon-seal", {
            attrs: {
                slot: "icon"
            },
            slot: "icon"
        }), e._v(" "), n("div", [n("div", {
            staticClass: "menu-entry__label menu-entry__label--count"
        }, [e._v(e._s(e.badgeCount) + "/" + e._s(e.featureCount))]), e._v(" Badges")]), e._v(" "), n("span", [e._v("List application features and earned badges.")])], 1), e._v(" "), n("menu-entry", {
            nativeOn: {
                click: function(t) {
                    return e.accounts.apply(null, arguments)
                }
            }
        }, [n("icon-key", {
            attrs: {
                slot: "icon"
            },
            slot: "icon"
        }), e._v(" "), n("div", [n("div", {
            staticClass: "menu-entry__label menu-entry__label--count"
        }, [e._v(e._s(e.accountCount))]), e._v(" Accounts")]), e._v(" "), n("span", [e._v("Manage access to your external accounts.")])], 1), e._v(" "), n("menu-entry", {
            nativeOn: {
                click: function(t) {
                    return e.templates.apply(null, arguments)
                }
            }
        }, [n("icon-code-braces", {
            attrs: {
                slot: "icon"
            },
            slot: "icon"
        }), e._v(" "), n("div", [n("div", {
            staticClass: "menu-entry__label menu-entry__label--count"
        }, [e._v(e._s(e.templateCount))]), e._v(" Templates")]), e._v(" "), n("span", [e._v("Configure Handlebars templates for your exports.")])], 1), e._v(" "), n("menu-entry", {
            nativeOn: {
                click: function(t) {
                    return e.settings.apply(null, arguments)
                }
            }
        }, [n("icon-settings", {
            attrs: {
                slot: "icon"
            },
            slot: "icon"
        }), e._v(" "), n("div", [e._v("Settings")]), e._v(" "), n("span", [e._v("Tweak application and keyboard shortcuts.")])], 1), e._v(" "), n("hr"), e._v(" "), n("menu-entry", {
            nativeOn: {
                click: function(t) {
                    return e.setPanel("workspaceBackups")
                }
            }
        }, [n("icon-content-save", {
            attrs: {
                slot: "icon"
            },
            slot: "icon"
        }), e._v("\n    Workspace backups\n  ")], 1), e._v(" "), n("menu-entry", {
            nativeOn: {
                click: function(t) {
                    return e.reset.apply(null, arguments)
                }
            }
        }, [n("icon-logout", {
            attrs: {
                slot: "icon"
            },
            slot: "icon"
        }), e._v("\n    Reset application\n  ")], 1), e._v(" "), n("menu-entry", {
            nativeOn: {
                click: function(t) {
                    return e.about.apply(null, arguments)
                }
            }
        }, [n("icon-help-circle", {
            attrs: {
                slot: "icon"
            },
            slot: "icon"
        }), e._v("\n    About StackEdit\n  ")], 1)], 1)
    }
      , a = []
}
, function(e, t, n) {
    "use strict";
    n.d(t, "a", function() {
        return r
    }),
    n.d(t, "b", function() {
        return a
    });
    var r = function() {
        var e = this
          , t = e.$createElement
          , n = e._self._c || t;
        return n("div", {
            staticClass: "side-bar__panel side-bar__panel--menu"
        }, [e.isCurrentTemp ? n("div", {
            staticClass: "side-bar__info"
        }, [n("p", [e._v(e._s(e.currentFileName) + " can't be published as it's a temporary file.")])]) : n("div", [e.publishLocations.length ? n("div", {
            staticClass: "side-bar__info"
        }, [n("p", [e._v(e._s(e.currentFileName) + " is already published.")]), e._v(" "), n("menu-entry", {
            nativeOn: {
                click: function(t) {
                    return e.requestPublish.apply(null, arguments)
                }
            }
        }, [n("icon-upload", {
            attrs: {
                slot: "icon"
            },
            slot: "icon"
        }), e._v(" "), n("div", [e._v("Publish now")]), e._v(" "), n("span", [e._v("Update publications for " + e._s(e.currentFileName) + ".")])], 1), e._v(" "), n("menu-entry", {
            nativeOn: {
                click: function(t) {
                    return e.managePublish.apply(null, arguments)
                }
            }
        }, [n("icon-view-list", {
            attrs: {
                slot: "icon"
            },
            slot: "icon"
        }), e._v(" "), n("div", [n("div", {
            staticClass: "menu-entry__label menu-entry__label--count"
        }, [e._v(e._s(e.locationCount))]), e._v(" File publication")]), e._v(" "), n("span", [e._v("Manage publication locations for " + e._s(e.currentFileName) + ".")])], 1)], 1) : e.noToken ? n("div", {
            staticClass: "side-bar__info"
        }, [n("p", [e._v("You have to link an account to start publishing files.")])]) : e._e(), e._v(" "), n("hr"), e._v(" "), e._l(e.bloggerTokens, function(t) {
            return n("div", {
                key: "blogger-" + t.sub
            }, [n("menu-entry", {
                nativeOn: {
                    click: function(n) {
                        return e.publishBlogger(t)
                    }
                }
            }, [n("icon-provider", {
                attrs: {
                    slot: "icon",
                    "provider-id": "blogger"
                },
                slot: "icon"
            }), e._v(" "), n("div", [e._v("Publish to Blogger")]), e._v(" "), n("span", [e._v(e._s(t.name))])], 1), e._v(" "), n("menu-entry", {
                nativeOn: {
                    click: function(n) {
                        return e.publishBloggerPage(t)
                    }
                }
            }, [n("icon-provider", {
                attrs: {
                    slot: "icon",
                    "provider-id": "bloggerPage"
                },
                slot: "icon"
            }), e._v(" "), n("div", [e._v("Publish to Blogger Page")]), e._v(" "), n("span", [e._v(e._s(t.name))])], 1)], 1)
        }), e._v(" "), e._l(e.dropboxTokens, function(t) {
            return n("div", {
                key: t.sub
            }, [n("menu-entry", {
                nativeOn: {
                    click: function(n) {
                        return e.publishDropbox(t)
                    }
                }
            }, [n("icon-provider", {
                attrs: {
                    slot: "icon",
                    "provider-id": "dropbox"
                },
                slot: "icon"
            }), e._v(" "), n("div", [e._v("Publish to Dropbox")]), e._v(" "), n("span", [e._v(e._s(t.name))])], 1)], 1)
        }), e._v(" "), e._l(e.githubTokens, function(t) {
            return n("div", {
                key: t.sub
            }, [n("menu-entry", {
                nativeOn: {
                    click: function(n) {
                        return e.publishGist(t)
                    }
                }
            }, [n("icon-provider", {
                attrs: {
                    slot: "icon",
                    "provider-id": "gist"
                },
                slot: "icon"
            }), e._v(" "), n("div", [e._v("Publish to Gist")]), e._v(" "), n("span", [e._v(e._s(t.name))])], 1), e._v(" "), n("menu-entry", {
                nativeOn: {
                    click: function(n) {
                        return e.publishGithub(t)
                    }
                }
            }, [n("icon-provider", {
                attrs: {
                    slot: "icon",
                    "provider-id": "github"
                },
                slot: "icon"
            }), e._v(" "), n("div", [e._v("Publish to GitHub")]), e._v(" "), n("span", [e._v(e._s(t.name))])], 1)], 1)
        }), e._v(" "), e._l(e.gitlabTokens, function(t) {
            return n("div", {
                key: t.sub
            }, [n("menu-entry", {
                nativeOn: {
                    click: function(n) {
                        return e.publishGitlab(t)
                    }
                }
            }, [n("icon-provider", {
                attrs: {
                    slot: "icon",
                    "provider-id": "gitlab"
                },
                slot: "icon"
            }), e._v(" "), n("div", [e._v("Publish to GitLab")]), e._v(" "), n("span", [e._v(e._s(t.name))])], 1)], 1)
        }), e._v(" "), e._l(e.googleDriveTokens, function(t) {
            return n("div", {
                key: t.sub
            }, [n("menu-entry", {
                nativeOn: {
                    click: function(n) {
                        return e.publishGoogleDrive(t)
                    }
                }
            }, [n("icon-provider", {
                attrs: {
                    slot: "icon",
                    "provider-id": "googleDrive"
                },
                slot: "icon"
            }), e._v(" "), n("div", [e._v("Publish to Google Drive")]), e._v(" "), n("span", [e._v(e._s(t.name))])], 1)], 1)
        }), e._v(" "), e._l(e.wordpressTokens, function(t) {
            return n("div", {
                key: t.sub
            }, [n("menu-entry", {
                nativeOn: {
                    click: function(n) {
                        return e.publishWordpress(t)
                    }
                }
            }, [n("icon-provider", {
                attrs: {
                    slot: "icon",
                    "provider-id": "wordpress"
                },
                slot: "icon"
            }), e._v(" "), n("div", [e._v("Publish to WordPress")]), e._v(" "), n("span", [e._v(e._s(t.name))])], 1)], 1)
        }), e._v(" "), e._l(e.zendeskTokens, function(t) {
            return n("div", {
                key: t.sub
            }, [n("menu-entry", {
                nativeOn: {
                    click: function(n) {
                        return e.publishZendesk(t)
                    }
                }
            }, [n("icon-provider", {
                attrs: {
                    slot: "icon",
                    "provider-id": "zendesk"
                },
                slot: "icon"
            }), e._v(" "), n("div", [e._v("Publish to Zendesk Help Center")]), e._v(" "), n("span", [e._v(e._s(t.name) + " — " + e._s(t.subdomain))])], 1)], 1)
        }), e._v(" "), n("hr"), e._v(" "), n("menu-entry", {
            nativeOn: {
                click: function(t) {
                    return e.addBloggerAccount.apply(null, arguments)
                }
            }
        }, [n("icon-provider", {
            attrs: {
                slot: "icon",
                "provider-id": "blogger"
            },
            slot: "icon"
        }), e._v(" "), n("span", [e._v("Add Blogger account")])], 1), e._v(" "), n("menu-entry", {
            nativeOn: {
                click: function(t) {
                    return e.addDropboxAccount.apply(null, arguments)
                }
            }
        }, [n("icon-provider", {
            attrs: {
                slot: "icon",
                "provider-id": "dropbox"
            },
            slot: "icon"
        }), e._v(" "), n("span", [e._v("Add Dropbox account")])], 1), e._v(" "), n("menu-entry", {
            nativeOn: {
                click: function(t) {
                    return e.addGithubAccount.apply(null, arguments)
                }
            }
        }, [n("icon-provider", {
            attrs: {
                slot: "icon",
                "provider-id": "github"
            },
            slot: "icon"
        }), e._v(" "), n("span", [e._v("Add GitHub account")])], 1), e._v(" "), n("menu-entry", {
            nativeOn: {
                click: function(t) {
                    return e.addGitlabAccount.apply(null, arguments)
                }
            }
        }, [n("icon-provider", {
            attrs: {
                slot: "icon",
                "provider-id": "gitlab"
            },
            slot: "icon"
        }), e._v(" "), n("span", [e._v("Add GitLab account")])], 1), e._v(" "), n("menu-entry", {
            nativeOn: {
                click: function(t) {
                    return e.addGoogleDriveAccount.apply(null, arguments)
                }
            }
        }, [n("icon-provider", {
            attrs: {
                slot: "icon",
                "provider-id": "googleDrive"
            },
            slot: "icon"
        }), e._v(" "), n("span", [e._v("Add Google Drive account")])], 1), e._v(" "), n("menu-entry", {
            nativeOn: {
                click: function(t) {
                    return e.addWordpressAccount.apply(null, arguments)
                }
            }
        }, [n("icon-provider", {
            attrs: {
                slot: "icon",
                "provider-id": "wordpress"
            },
            slot: "icon"
        }), e._v(" "), n("span", [e._v("Add WordPress account")])], 1), e._v(" "), n("menu-entry", {
            nativeOn: {
                click: function(t) {
                    return e.addZendeskAccount.apply(null, arguments)
                }
            }
        }, [n("icon-provider", {
            attrs: {
                slot: "icon",
                "provider-id": "zendesk"
            },
            slot: "icon"
        }), e._v(" "), n("span", [e._v("Add Zendesk account")])], 1)], 2)])
    }
      , a = []
}
, function(e, t, n) {
    "use strict";
    n.d(t, "a", function() {
        return r
    }),
    n.d(t, "b", function() {
        return a
    });
    var r = function() {
        var e = this
          , t = e.$createElement
          , n = e._self._c || t;
        return n("div", {
            staticClass: "side-bar__panel side-bar__panel--menu"
        }, [e.isCurrentTemp ? n("div", {
            staticClass: "side-bar__info"
        }, [n("p", [e._v(e._s(e.currentFileName) + " can't be synced as it's a temporary file.")])]) : n("div", [e.syncLocations.length ? n("div", {
            staticClass: "side-bar__info"
        }, [n("p", [e._v(e._s(e.currentFileName) + " is already synchronized.")]), e._v(" "), n("menu-entry", {
            nativeOn: {
                click: function(t) {
                    return e.requestSync.apply(null, arguments)
                }
            }
        }, [n("icon-sync", {
            attrs: {
                slot: "icon"
            },
            slot: "icon"
        }), e._v(" "), n("div", [e._v("Synchronize now")]), e._v(" "), n("span", [e._v("Download / upload file changes.")])], 1), e._v(" "), n("menu-entry", {
            nativeOn: {
                click: function(t) {
                    return e.manageSync.apply(null, arguments)
                }
            }
        }, [n("icon-view-list", {
            attrs: {
                slot: "icon"
            },
            slot: "icon"
        }), e._v(" "), n("div", [n("div", {
            staticClass: "menu-entry__label menu-entry__label--count"
        }, [e._v(e._s(e.locationCount))]), e._v(" File synchronization")]), e._v(" "), n("span", [e._v("Manage synchronized locations for " + e._s(e.currentFileName) + ".")])], 1)], 1) : e.noToken ? n("div", {
            staticClass: "side-bar__info"
        }, [n("p", [e._v("You have to link an account to start syncing files.")])]) : e._e(), e._v(" "), n("hr"), e._v(" "), e._l(e.dropboxTokens, function(t) {
            return n("div", {
                key: t.sub
            }, [n("menu-entry", {
                nativeOn: {
                    click: function(n) {
                        return e.openDropbox(t)
                    }
                }
            }, [n("icon-provider", {
                attrs: {
                    slot: "icon",
                    "provider-id": "dropbox"
                },
                slot: "icon"
            }), e._v(" "), n("div", [e._v("Open from Dropbox")]), e._v(" "), n("span", [e._v(e._s(t.name))])], 1), e._v(" "), n("menu-entry", {
                nativeOn: {
                    click: function(n) {
                        return e.saveDropbox(t)
                    }
                }
            }, [n("icon-provider", {
                attrs: {
                    slot: "icon",
                    "provider-id": "dropbox"
                },
                slot: "icon"
            }), e._v(" "), n("div", [e._v("Save on Dropbox")]), e._v(" "), n("span", [e._v(e._s(t.name))])], 1)], 1)
        }), e._v(" "), e._l(e.githubTokens, function(t) {
            return n("div", {
                key: t.sub
            }, [n("menu-entry", {
                nativeOn: {
                    click: function(n) {
                        return e.openGithub(t)
                    }
                }
            }, [n("icon-provider", {
                attrs: {
                    slot: "icon",
                    "provider-id": "github"
                },
                slot: "icon"
            }), e._v(" "), n("div", [e._v("Open from GitHub")]), e._v(" "), n("span", [e._v(e._s(t.name))])], 1), e._v(" "), n("menu-entry", {
                nativeOn: {
                    click: function(n) {
                        return e.saveGithub(t)
                    }
                }
            }, [n("icon-provider", {
                attrs: {
                    slot: "icon",
                    "provider-id": "github"
                },
                slot: "icon"
            }), e._v(" "), n("div", [e._v("Save on GitHub")]), e._v(" "), n("span", [e._v(e._s(t.name))])], 1), e._v(" "), n("menu-entry", {
                nativeOn: {
                    click: function(n) {
                        return e.saveGist(t)
                    }
                }
            }, [n("icon-provider", {
                attrs: {
                    slot: "icon",
                    "provider-id": "gist"
                },
                slot: "icon"
            }), e._v(" "), n("div", [e._v("Save on Gist")]), e._v(" "), n("span", [e._v(e._s(t.name))])], 1)], 1)
        }), e._v(" "), e._l(e.gitlabTokens, function(t) {
            return n("div", {
                key: t.sub
            }, [n("menu-entry", {
                nativeOn: {
                    click: function(n) {
                        return e.openGitlab(t)
                    }
                }
            }, [n("icon-provider", {
                attrs: {
                    slot: "icon",
                    "provider-id": "gitlab"
                },
                slot: "icon"
            }), e._v(" "), n("div", [e._v("Open from GitLab")]), e._v(" "), n("span", [e._v(e._s(t.name))])], 1), e._v(" "), n("menu-entry", {
                nativeOn: {
                    click: function(n) {
                        return e.saveGitlab(t)
                    }
                }
            }, [n("icon-provider", {
                attrs: {
                    slot: "icon",
                    "provider-id": "gitlab"
                },
                slot: "icon"
            }), e._v(" "), n("div", [e._v("Save on GitLab")]), e._v(" "), n("span", [e._v(e._s(t.name))])], 1)], 1)
        }), e._v(" "), e._l(e.googleDriveTokens, function(t) {
            return n("div", {
                key: t.sub
            }, [n("menu-entry", {
                nativeOn: {
                    click: function(n) {
                        return e.openGoogleDrive(t)
                    }
                }
            }, [n("icon-provider", {
                attrs: {
                    slot: "icon",
                    "provider-id": "googleDrive"
                },
                slot: "icon"
            }), e._v(" "), n("div", [e._v("Open from Google Drive")]), e._v(" "), n("span", [e._v(e._s(t.name))])], 1), e._v(" "), n("menu-entry", {
                nativeOn: {
                    click: function(n) {
                        return e.saveGoogleDrive(t)
                    }
                }
            }, [n("icon-provider", {
                attrs: {
                    slot: "icon",
                    "provider-id": "googleDrive"
                },
                slot: "icon"
            }), e._v(" "), n("div", [e._v("Save on Google Drive")]), e._v(" "), n("span", [e._v(e._s(t.name))])], 1)], 1)
        }), e._v(" "), n("hr"), e._v(" "), n("menu-entry", {
            nativeOn: {
                click: function(t) {
                    return e.addDropboxAccount.apply(null, arguments)
                }
            }
        }, [n("icon-provider", {
            attrs: {
                slot: "icon",
                "provider-id": "dropbox"
            },
            slot: "icon"
        }), e._v(" "), n("span", [e._v("Add Dropbox account")])], 1), e._v(" "), n("menu-entry", {
            nativeOn: {
                click: function(t) {
                    return e.addGithubAccount.apply(null, arguments)
                }
            }
        }, [n("icon-provider", {
            attrs: {
                slot: "icon",
                "provider-id": "github"
            },
            slot: "icon"
        }), e._v(" "), n("span", [e._v("Add GitHub account")])], 1), e._v(" "), n("menu-entry", {
            nativeOn: {
                click: function(t) {
                    return e.addGitlabAccount.apply(null, arguments)
                }
            }
        }, [n("icon-provider", {
            attrs: {
                slot: "icon",
                "provider-id": "gitlab"
            },
            slot: "icon"
        }), e._v(" "), n("span", [e._v("Add GitLab account")])], 1), e._v(" "), n("menu-entry", {
            nativeOn: {
                click: function(t) {
                    return e.addGoogleDriveAccount.apply(null, arguments)
                }
            }
        }, [n("icon-provider", {
            attrs: {
                slot: "icon",
                "provider-id": "googleDrive"
            },
            slot: "icon"
        }), e._v(" "), n("span", [e._v("Add Google Drive account")])], 1)], 2)])
    }
      , a = []
}
, function(e, t, n) {
    "use strict";
    n.d(t, "a", function() {
        return r
    }),
    n.d(t, "b", function() {
        return a
    });
    var r = function() {
        var e = this
          , t = e.$createElement
          , n = e._self._c || t;
        return n("div", {
            staticClass: "side-bar__panel side-bar__panel--menu"
        }, [n("input", {
            staticClass: "hidden-file",
            attrs: {
                id: "import-backup-file-input",
                type: "file"
            },
            on: {
                change: e.onImportBackup
            }
        }), e._v(" "), n("label", {
            staticClass: "menu-entry button flex flex--row flex--align-center",
            attrs: {
                for: "import-backup-file-input"
            }
        }, [n("div", {
            staticClass: "menu-entry__icon flex flex--column flex--center"
        }, [n("icon-content-save")], 1), e._v(" "), n("div", {
            staticClass: "flex flex--column"
        }, [e._v("\n      Import workspace backup\n    ")])]), e._v(" "), n("menu-entry", {
            nativeOn: {
                click: function(t) {
                    return e.exportWorkspace.apply(null, arguments)
                }
            }
        }, [n("icon-content-save", {
            attrs: {
                slot: "icon"
            },
            slot: "icon"
        }), e._v("\n    Export workspace backup\n  ")], 1)], 1)
    }
      , a = []
}
, function(e, t, n) {
    "use strict";
    n.d(t, "a", function() {
        return r
    }),
    n.d(t, "b", function() {
        return a
    });
    var r = function() {
        var e = this
          , t = e.$createElement
          , n = e._self._c || t;
        return n("div", {
            staticClass: "side-bar__panel side-bar__panel--menu"
        }, [n("menu-entry", {
            nativeOn: {
                click: function(t) {
                    return e.manageWorkspaces.apply(null, arguments)
                }
            }
        }, [n("icon-database", {
            attrs: {
                slot: "icon"
            },
            slot: "icon"
        }), e._v(" "), n("div", [n("div", {
            staticClass: "menu-entry__label menu-entry__label--count"
        }, [e._v(e._s(e.workspaceCount))]), e._v(" Manage workspaces")]), e._v(" "), n("span", [e._v("List, rename, remove workspaces")])], 1), e._v(" "), n("hr"), e._v(" "), e._l(e.workspacesById, function(t, r) {
            return n("div", {
                key: r,
                staticClass: "workspace"
            }, [n("menu-entry", {
                attrs: {
                    href: t.url,
                    target: "_blank"
                }
            }, [n("icon-provider", {
                attrs: {
                    slot: "icon",
                    "provider-id": t.providerId
                },
                slot: "icon"
            }), e._v(" "), n("div", {
                staticClass: "workspace__name"
            }, [e.currentWorkspace === t ? n("div", {
                staticClass: "menu-entry__label"
            }, [e._v("current")]) : e._e(), e._v(e._s(t.name))])], 1)], 1)
        }), e._v(" "), n("hr"), e._v(" "), n("menu-entry", {
            nativeOn: {
                click: function(t) {
                    return e.addCouchdbWorkspace.apply(null, arguments)
                }
            }
        }, [n("icon-provider", {
            attrs: {
                slot: "icon",
                "provider-id": "couchdbWorkspace"
            },
            slot: "icon"
        }), e._v(" "), n("span", [e._v("Add a "), n("b", [e._v("CouchDB")]), e._v(" workspace")])], 1), e._v(" "), n("menu-entry", {
            nativeOn: {
                click: function(t) {
                    return e.addGithubWorkspace.apply(null, arguments)
                }
            }
        }, [n("icon-provider", {
            attrs: {
                slot: "icon",
                "provider-id": "githubWorkspace"
            },
            slot: "icon"
        }), e._v(" "), n("span", [e._v("Add a "), n("b", [e._v("GitHub")]), e._v(" workspace")])], 1), e._v(" "), n("menu-entry", {
            nativeOn: {
                click: function(t) {
                    return e.addGitlabWorkspace.apply(null, arguments)
                }
            }
        }, [n("icon-provider", {
            attrs: {
                slot: "icon",
                "provider-id": "gitlabWorkspace"
            },
            slot: "icon"
        }), e._v(" "), n("span", [e._v("Add a "), n("b", [e._v("GitLab")]), e._v(" workspace")])], 1), e._v(" "), n("menu-entry", {
            nativeOn: {
                click: function(t) {
                    return e.addGoogleDriveWorkspace.apply(null, arguments)
                }
            }
        }, [n("icon-provider", {
            attrs: {
                slot: "icon",
                "provider-id": "googleDriveWorkspace"
            },
            slot: "icon"
        }), e._v(" "), n("span", [e._v("Add a "), n("b", [e._v("Google Drive")]), e._v(" workspace")])], 1)], 2)
    }
      , a = []
}
, function(e, t, n) {
    "use strict";
    n.d(t, "a", function() {
        return r
    }),
    n.d(t, "b", function() {
        return a
    });
    var r = function() {
        var e = this
          , t = e.$createElement
          , n = e._self._c || t;
        return n("a", {
            staticClass: "menu-entry button flex flex--row flex--align-center",
            attrs: {
                href: "javascript:void(0)"
            }
        }, [n("div", {
            staticClass: "menu-entry__icon flex flex--column flex--center"
        }, [e._t("icon")], 2), e._v(" "), n("div", {
            staticClass: "menu-entry__text flex flex--column"
        }, [e._t("default")], 2)])
    }
      , a = []
}
, function(e, t, n) {
    "use strict";
    n.d(t, "a", function() {
        return r
    }),
    n.d(t, "b", function() {
        return a
    });
    var r = function() {
        var e = this
          , t = e.$createElement
          , n = e._self._c || t;
        return n("modal-inner", {
            staticClass: "modal__inner-1--about-modal",
            attrs: {
                "aria-label": "About"
            }
        }, [n("div", {
            staticClass: "modal__content"
        }, [n("div", {
            staticClass: "logo-background"
        }), e._v("\n    StackEdit on "), n("a", {
            attrs: {
                target: "_blank",
                href: "https://github.com/benweet/stackedit/"
            }
        }, [e._v("GitHub")]), e._v(" "), n("br"), e._v(" "), n("a", {
            attrs: {
                target: "_blank",
                href: "https://github.com/benweet/stackedit/issues"
            }
        }, [e._v("Issue tracker")]), e._v(" — "), n("a", {
            attrs: {
                target: "_blank",
                href: "https://github.com/benweet/stackedit/releases"
            }
        }, [e._v("Changelog")]), e._v(" "), n("br"), e._v(" "), n("a", {
            attrs: {
                target: "_blank",
                href: "https://chrome.google.com/webstore/detail/iiooodelglhkcpgbajoejffhijaclcdg"
            }
        }, [e._v("Chrome app")]), e._v(" — "), n("a", {
            attrs: {
                target: "_blank",
                href: "https://chrome.google.com/webstore/detail/ajehldoplanpchfokmeempkekhnhmoha"
            }
        }, [e._v("Chrome extension")]), e._v(" "), n("br"), e._v(" "), n("a", {
            attrs: {
                target: "_blank",
                href: "https://community.stackedit.io/"
            }
        }, [e._v("Community")]), e._v(" — "), n("a", {
            attrs: {
                target: "_blank",
                href: "https://community.stackedit.io/c/how-to"
            }
        }, [e._v("Tutos and How To")]), e._v(" "), n("br"), e._v("\n    StackEdit on "), n("a", {
            attrs: {
                target: "_blank",
                href: "https://twitter.com/stackedit/"
            }
        }, [e._v("Twitter")]), e._v(" "), n("hr"), e._v(" "), n("small", [e._v("© 2013-2019 Dock5 Software Ltd."), n("br"), e._v("v" + e._s(e.version))]), e._v(" "), n("h3", [e._v("FAQ")]), e._v(" "), n("div", {
            staticClass: "faq",
            domProps: {
                innerHTML: e._s(e.faq)
            }
        }), e._v(" "), n("div", {
            staticClass: "modal__info"
        }, [e._v("\n      For commercial support or custom development, please "), n("a", {
            attrs: {
                href: "mailto:stackedit.project@gmail.com"
            }
        }, [e._v("contact us")]), e._v(".\n    ")]), e._v("\n    Licensed under an\n    "), n("a", {
            attrs: {
                target: "_blank",
                href: "http://www.apache.org/licenses/LICENSE-2.0"
            }
        }, [e._v("Apache License")]), n("br"), e._v(" "), n("a", {
            attrs: {
                target: "_blank",
                href: "privacy_policy.html"
            }
        }, [e._v("Privacy Policy")])]), e._v(" "), n("div", {
            staticClass: "modal__button-bar"
        }, [n("button", {
            staticClass: "button button--resolve",
            on: {
                click: function(t) {
                    return e.config.resolve()
                }
            }
        }, [e._v("Close")])])])
    }
      , a = []
}
, function(e, t, n) {
    "use strict";
    n.d(t, "a", function() {
        return r
    }),
    n.d(t, "b", function() {
        return a
    });
    var r = function() {
        var e = this
          , t = e.$createElement
          , n = e._self._c || t;
        return n("modal-inner", {
            staticClass: "modal__inner-1--account-management",
            attrs: {
                "aria-label": "Manage external accounts"
            }
        }, [n("div", {
            staticClass: "modal__content"
        }, [n("div", {
            staticClass: "modal__image"
        }, [n("icon-key")], 1), e._v(" "), e.entries.length ? n("p", [e._v("StackEdit has access to the following external accounts:")]) : n("p", [e._v("StackEdit has no access to any external account yet.")]), e._v(" "), n("div", e._l(e.entries, function(t) {
            return n("div", {
                key: t.token.sub,
                staticClass: "account-entry flex flex--column"
            }, [n("div", {
                staticClass: "account-entry__header flex flex--row flex--align-center"
            }, [n("div", {
                staticClass: "account-entry__icon flex flex--column flex--center"
            }, [n("icon-provider", {
                attrs: {
                    "provider-id": t.providerId
                }
            })], 1), e._v(" "), n("div", {
                staticClass: "account-entry__description"
            }, [e._v("\n            " + e._s(t.name) + "\n          ")]), e._v(" "), n("div", {
                staticClass: "account-entry__buttons flex flex--row flex--center"
            }, [n("button", {
                directives: [{
                    name: "title",
                    rawName: "v-title",
                    value: "Remove access",
                    expression: "'Remove access'"
                }],
                staticClass: "account-entry__button button",
                on: {
                    click: function(n) {
                        return e.remove(t)
                    }
                }
            }, [n("icon-delete")], 1)])]), e._v(" "), n("div", {
                staticClass: "account-entry__row"
            }, [t.userId ? n("span", {
                staticClass: "account-entry__field"
            }, [n("b", [e._v("User ID:")]), e._v("\n            " + e._s(t.userId) + "\n          ")]) : e._e(), e._v(" "), t.url ? n("span", {
                staticClass: "account-entry__field"
            }, [n("b", [e._v("URL:")]), e._v("\n            " + e._s(t.url) + "\n          ")]) : e._e(), e._v(" "), t.scopes ? n("span", {
                staticClass: "account-entry__field"
            }, [n("b", [e._v("Scopes:")]), e._v("\n            " + e._s(t.scopes.join(", ")) + "\n          ")]) : e._e()])])
        }), 0), e._v(" "), n("menu-entry", {
            nativeOn: {
                click: function(t) {
                    return e.addBloggerAccount.apply(null, arguments)
                }
            }
        }, [n("icon-provider", {
            attrs: {
                slot: "icon",
                "provider-id": "blogger"
            },
            slot: "icon"
        }), e._v(" "), n("span", [e._v("Add Blogger account")])], 1), e._v(" "), n("menu-entry", {
            nativeOn: {
                click: function(t) {
                    return e.addDropboxAccount.apply(null, arguments)
                }
            }
        }, [n("icon-provider", {
            attrs: {
                slot: "icon",
                "provider-id": "dropbox"
            },
            slot: "icon"
        }), e._v(" "), n("span", [e._v("Add Dropbox account")])], 1), e._v(" "), n("menu-entry", {
            nativeOn: {
                click: function(t) {
                    return e.addGithubAccount.apply(null, arguments)
                }
            }
        }, [n("icon-provider", {
            attrs: {
                slot: "icon",
                "provider-id": "github"
            },
            slot: "icon"
        }), e._v(" "), n("span", [e._v("Add GitHub account")])], 1), e._v(" "), n("menu-entry", {
            nativeOn: {
                click: function(t) {
                    return e.addGitlabAccount.apply(null, arguments)
                }
            }
        }, [n("icon-provider", {
            attrs: {
                slot: "icon",
                "provider-id": "gitlab"
            },
            slot: "icon"
        }), e._v(" "), n("span", [e._v("Add GitLab account")])], 1), e._v(" "), n("menu-entry", {
            nativeOn: {
                click: function(t) {
                    return e.addGoogleDriveAccount.apply(null, arguments)
                }
            }
        }, [n("icon-provider", {
            attrs: {
                slot: "icon",
                "provider-id": "googleDrive"
            },
            slot: "icon"
        }), e._v(" "), n("span", [e._v("Add Google Drive account")])], 1), e._v(" "), n("menu-entry", {
            nativeOn: {
                click: function(t) {
                    return e.addGooglePhotosAccount.apply(null, arguments)
                }
            }
        }, [n("icon-provider", {
            attrs: {
                slot: "icon",
                "provider-id": "googlePhotos"
            },
            slot: "icon"
        }), e._v(" "), n("span", [e._v("Add Google Photos account")])], 1), e._v(" "), n("menu-entry", {
            nativeOn: {
                click: function(t) {
                    return e.addWordpressAccount.apply(null, arguments)
                }
            }
        }, [n("icon-provider", {
            attrs: {
                slot: "icon",
                "provider-id": "wordpress"
            },
            slot: "icon"
        }), e._v(" "), n("span", [e._v("Add WordPress account")])], 1), e._v(" "), n("menu-entry", {
            nativeOn: {
                click: function(t) {
                    return e.addZendeskAccount.apply(null, arguments)
                }
            }
        }, [n("icon-provider", {
            attrs: {
                slot: "icon",
                "provider-id": "zendesk"
            },
            slot: "icon"
        }), e._v(" "), n("span", [e._v("Add Zendesk account")])], 1)], 1), e._v(" "), n("div", {
            staticClass: "modal__button-bar"
        }, [n("button", {
            staticClass: "button button--resolve",
            on: {
                click: function(t) {
                    return e.config.resolve()
                }
            }
        }, [e._v("Close")])])])
    }
      , a = []
}
, function(e, t, n) {
    "use strict";
    n.d(t, "a", function() {
        return r
    }),
    n.d(t, "b", function() {
        return a
    });
    var r = function() {
        var e = this
          , t = e.$createElement
          , n = e._self._c || t;
        return n("modal-inner", {
            staticClass: "modal__inner-1--badge-management",
            attrs: {
                "aria-label": "Manage badges"
            }
        }, [n("div", {
            staticClass: "modal__content"
        }, [n("div", {
            staticClass: "modal__image"
        }, [n("icon-seal")], 1), e._v(" "), e.badgeCount > 1 ? n("p", [e._v(e._s(e.badgeCount) + " badges earned")]) : n("p", [e._v(e._s(e.badgeCount) + " badge earned")]), e._v(" "), e._l(e.badgeTree, function(t) {
            return n("div", {
                key: t.featureId,
                staticClass: "badge-entry"
            }, [n("div", {
                staticClass: "flex flex--row"
            }, [n("icon-seal", {
                staticClass: "badge-entry__icon",
                class: {
                    "badge-entry__icon--earned": t.isEarned,
                    "badge-entry__icon--some-earned": t.hasSomeEarned
                }
            }), e._v(" "), n("div", [n("span", {
                staticClass: "badge-entry__name",
                class: {
                    "badge-entry__name--earned": t.isEarned,
                    "badge-entry__name--some-earned": t.hasSomeEarned
                }
            }, [e._v(e._s(t.name))]), e._v(" "), n("span", {
                staticClass: "badge-entry__description"
            }, [e._v("— " + e._s(t.description))]), e._v(" "), e.shown[t.featureId] ? e._l(t.children, function(t) {
                return n("div", {
                    key: t.featureId,
                    staticClass: "badge-entry"
                }, [n("div", {
                    staticClass: "flex flex--row"
                }, [n("icon-seal", {
                    staticClass: "badge-entry__icon",
                    class: {
                        "badge-entry__icon--earned": t.isEarned
                    }
                }), e._v(" "), n("div", [n("span", {
                    staticClass: "badge-entry__name",
                    class: {
                        "badge-entry__name--earned": t.isEarned
                    }
                }, [e._v(e._s(t.name))]), e._v(" "), n("span", {
                    staticClass: "badge-entry__description"
                }, [e._v("— " + e._s(t.description))])])], 1)])
            }) : n("a", {
                attrs: {
                    href: "javascript:void(0)"
                },
                on: {
                    click: function(n) {
                        return e.show(t.featureId)
                    }
                }
            }, [e._v("Show")])], 2)], 1)])
        })], 2), e._v(" "), n("div", {
            staticClass: "modal__button-bar"
        }, [n("button", {
            staticClass: "button button--resolve",
            on: {
                click: function(t) {
                    return e.config.resolve()
                }
            }
        }, [e._v("Close")])])])
    }
      , a = []
}
, function(e, t, n) {
    "use strict";
    n.d(t, "a", function() {
        return r
    }),
    n.d(t, "b", function() {
        return a
    });
    var r = function() {
        var e = this
          , t = e.$createElement
          , n = e._self._c || t;
        return n("modal-inner", {
            staticClass: "modal__inner-1--file-properties",
            attrs: {
                "aria-label": "File properties"
            }
        }, [n("div", {
            staticClass: "modal__content"
        }, [n("div", {
            staticClass: "tabs flex flex--row"
        }, [n("tab", {
            attrs: {
                active: "simple" === e.tab
            },
            on: {
                click: function(t) {
                    return e.setSimpleTab()
                }
            }
        }, [e._v("\n          Simple properties\n        ")]), e._v(" "), n("tab", {
            attrs: {
                active: "yaml" === e.tab
            },
            on: {
                click: function(t) {
                    return e.setYamlTab()
                }
            }
        }, [e._v("\n          YAML properties\n        ")])], 1), e._v(" "), "simple" === e.tab ? n("div", [n("div", {
            staticClass: "modal__title"
        }, [e._v("Extensions")]), e._v(" "), n("div", {
            staticClass: "modal__sub-title"
        }, [e._v("Configure the Markdown engine.")]), e._v(" "), n("form-entry", {
            attrs: {
                label: "Preset"
            }
        }, [n("select", {
            directives: [{
                name: "model",
                rawName: "v-model",
                value: e.preset,
                expression: "preset"
            }],
            staticClass: "textfield",
            attrs: {
                slot: "field"
            },
            on: {
                keydown: function(t) {
                    return !t.type.indexOf("key") && e._k(t.keyCode, "enter", 13, t.key, "Enter") ? null : e.resolve()
                },
                change: function(t) {
                    var n = Array.prototype.filter.call(t.target.options, function(e) {
                        return e.selected
                    }).map(function(e) {
                        return "_value"in e ? e._value : e.value
                    });
                    e.preset = t.target.multiple ? n : n[0]
                }
            },
            slot: "field"
        }, e._l(e.presets, function(t, r) {
            return n("option", {
                key: r,
                domProps: {
                    value: t
                }
            }, [e._v("\n              " + e._s(t) + "\n            ")])
        }), 0)]), e._v(" "), n("div", {
            staticClass: "modal__title"
        }, [e._v("Metadata")]), e._v(" "), n("div", {
            staticClass: "modal__sub-title"
        }, [e._v("Add info to your publications (Wordpress, Blogger...).")]), e._v(" "), n("form-entry", {
            attrs: {
                label: "Title"
            }
        }, [n("input", {
            directives: [{
                name: "model",
                rawName: "v-model.trim",
                value: e.title,
                expression: "title",
                modifiers: {
                    trim: !0
                }
            }],
            staticClass: "textfield",
            attrs: {
                slot: "field",
                type: "text"
            },
            domProps: {
                value: e.title
            },
            on: {
                keydown: function(t) {
                    return !t.type.indexOf("key") && e._k(t.keyCode, "enter", 13, t.key, "Enter") ? null : e.resolve()
                },
                input: function(t) {
                    t.target.composing || (e.title = t.target.value.trim())
                },
                blur: function(t) {
                    return e.$forceUpdate()
                }
            },
            slot: "field"
        })]), e._v(" "), n("form-entry", {
            attrs: {
                label: "Author"
            }
        }, [n("input", {
            directives: [{
                name: "model",
                rawName: "v-model.trim",
                value: e.author,
                expression: "author",
                modifiers: {
                    trim: !0
                }
            }],
            staticClass: "textfield",
            attrs: {
                slot: "field",
                type: "text"
            },
            domProps: {
                value: e.author
            },
            on: {
                keydown: function(t) {
                    return !t.type.indexOf("key") && e._k(t.keyCode, "enter", 13, t.key, "Enter") ? null : e.resolve()
                },
                input: function(t) {
                    t.target.composing || (e.author = t.target.value.trim())
                },
                blur: function(t) {
                    return e.$forceUpdate()
                }
            },
            slot: "field"
        })]), e._v(" "), n("form-entry", {
            attrs: {
                label: "Tags",
                info: "comma-separated"
            }
        }, [n("input", {
            directives: [{
                name: "model",
                rawName: "v-model.trim",
                value: e.tags,
                expression: "tags",
                modifiers: {
                    trim: !0
                }
            }],
            staticClass: "textfield",
            attrs: {
                slot: "field",
                type: "text"
            },
            domProps: {
                value: e.tags
            },
            on: {
                keydown: function(t) {
                    return !t.type.indexOf("key") && e._k(t.keyCode, "enter", 13, t.key, "Enter") ? null : e.resolve()
                },
                input: function(t) {
                    t.target.composing || (e.tags = t.target.value.trim())
                },
                blur: function(t) {
                    return e.$forceUpdate()
                }
            },
            slot: "field"
        })]), e._v(" "), n("form-entry", {
            attrs: {
                label: "Categories",
                info: "comma-separated"
            }
        }, [n("input", {
            directives: [{
                name: "model",
                rawName: "v-model.trim",
                value: e.categories,
                expression: "categories",
                modifiers: {
                    trim: !0
                }
            }],
            staticClass: "textfield",
            attrs: {
                slot: "field",
                type: "text"
            },
            domProps: {
                value: e.categories
            },
            on: {
                keydown: function(t) {
                    return !t.type.indexOf("key") && e._k(t.keyCode, "enter", 13, t.key, "Enter") ? null : e.resolve()
                },
                input: function(t) {
                    t.target.composing || (e.categories = t.target.value.trim())
                },
                blur: function(t) {
                    return e.$forceUpdate()
                }
            },
            slot: "field"
        })]), e._v(" "), n("form-entry", {
            attrs: {
                label: "Excerpt"
            }
        }, [n("input", {
            directives: [{
                name: "model",
                rawName: "v-model.trim",
                value: e.excerpt,
                expression: "excerpt",
                modifiers: {
                    trim: !0
                }
            }],
            staticClass: "textfield",
            attrs: {
                slot: "field",
                type: "text"
            },
            domProps: {
                value: e.excerpt
            },
            on: {
                keydown: function(t) {
                    return !t.type.indexOf("key") && e._k(t.keyCode, "enter", 13, t.key, "Enter") ? null : e.resolve()
                },
                input: function(t) {
                    t.target.composing || (e.excerpt = t.target.value.trim())
                },
                blur: function(t) {
                    return e.$forceUpdate()
                }
            },
            slot: "field"
        })]), e._v(" "), n("form-entry", {
            attrs: {
                label: "Featured image"
            }
        }, [n("input", {
            directives: [{
                name: "model",
                rawName: "v-model.trim",
                value: e.featuredImage,
                expression: "featuredImage",
                modifiers: {
                    trim: !0
                }
            }],
            staticClass: "textfield",
            attrs: {
                slot: "field",
                type: "text"
            },
            domProps: {
                value: e.featuredImage
            },
            on: {
                keydown: function(t) {
                    return !t.type.indexOf("key") && e._k(t.keyCode, "enter", 13, t.key, "Enter") ? null : e.resolve()
                },
                input: function(t) {
                    t.target.composing || (e.featuredImage = t.target.value.trim())
                },
                blur: function(t) {
                    return e.$forceUpdate()
                }
            },
            slot: "field"
        })]), e._v(" "), n("form-entry", {
            attrs: {
                label: "Status"
            }
        }, [n("input", {
            directives: [{
                name: "model",
                rawName: "v-model.trim",
                value: e.status,
                expression: "status",
                modifiers: {
                    trim: !0
                }
            }],
            staticClass: "textfield",
            attrs: {
                slot: "field",
                type: "text"
            },
            domProps: {
                value: e.status
            },
            on: {
                keydown: function(t) {
                    return !t.type.indexOf("key") && e._k(t.keyCode, "enter", 13, t.key, "Enter") ? null : e.resolve()
                },
                input: function(t) {
                    t.target.composing || (e.status = t.target.value.trim())
                },
                blur: function(t) {
                    return e.$forceUpdate()
                }
            },
            slot: "field"
        }), e._v(" "), n("div", {
            staticClass: "form-entry__info"
        }, [n("b", [e._v("Example:")]), e._v(" draft\n          ")])]), e._v(" "), n("form-entry", {
            attrs: {
                label: "Date",
                info: "YYYY-MM-DD"
            }
        }, [n("input", {
            directives: [{
                name: "model",
                rawName: "v-model.trim",
                value: e.date,
                expression: "date",
                modifiers: {
                    trim: !0
                }
            }],
            staticClass: "textfield",
            attrs: {
                slot: "field",
                type: "text"
            },
            domProps: {
                value: e.date
            },
            on: {
                keydown: function(t) {
                    return !t.type.indexOf("key") && e._k(t.keyCode, "enter", 13, t.key, "Enter") ? null : e.resolve()
                },
                input: function(t) {
                    t.target.composing || (e.date = t.target.value.trim())
                },
                blur: function(t) {
                    return e.$forceUpdate()
                }
            },
            slot: "field"
        })])], 1) : e._e(), e._v(" "), "yaml" === e.tab ? n("div", [n("div", {
            staticClass: "form-entry",
            attrs: {
                role: "tabpanel",
                "aria-label": "YAML properties"
            }
        }, [n("label", {
            staticClass: "form-entry__label"
        }, [e._v("YAML")]), e._v(" "), n("div", {
            staticClass: "form-entry__field"
        }, [n("code-editor", {
            key: "custom-properties",
            attrs: {
                lang: "yaml",
                value: e.yamlProperties
            },
            on: {
                changed: e.setYamlProperties
            }
        })], 1)]), e._v(" "), n("div", {
            staticClass: "modal__error modal__error--file-properties"
        }, [e._v(e._s(e.error))]), e._v(" "), n("div", {
            staticClass: "modal__info modal__info--multiline"
        }, [n("p", [n("strong", [e._v("ProTip:")]), e._v(" You can manually toggle extensions:")]), e._v(" "), n("pre", {
            staticClass: " language-yaml"
        }, [n("code", {
            staticClass: "prism  language-yaml"
        }, [n("span", {
            staticClass: "token key atrule"
        }, [e._v("extensions")]), n("span", {
            staticClass: "token punctuation"
        }, [e._v(":")]), e._v("\n  "), n("span", {
            staticClass: "token key atrule"
        }, [e._v("emoji")]), n("span", {
            staticClass: "token punctuation"
        }, [e._v(":")]), e._v("\n    "), n("span", {
            staticClass: "token comment"
        }, [e._v("# Enable emoji shortcuts like :) :-(")]), e._v("\n    "), n("span", {
            staticClass: "token key atrule"
        }, [e._v("shortcuts")]), n("span", {
            staticClass: "token punctuation"
        }, [e._v(":")]), e._v(" "), n("span", {
            staticClass: "token boolean important"
        }, [e._v("true")]), e._v("\n")])]), e._v(" "), n("p", [e._v("Use preset "), n("code", [e._v("zero")]), e._v(" to make your own configuration:")]), e._v(" "), n("pre", {
            staticClass: " language-yaml"
        }, [n("code", {
            staticClass: "prism  language-yaml"
        }, [n("span", {
            staticClass: "token key atrule"
        }, [e._v("extensions")]), n("span", {
            staticClass: "token punctuation"
        }, [e._v(":")]), e._v("\n  "), n("span", {
            staticClass: "token key atrule"
        }, [e._v("preset")]), n("span", {
            staticClass: "token punctuation"
        }, [e._v(":")]), e._v(" zero\n  "), n("span", {
            staticClass: "token key atrule"
        }, [e._v("markdown")]), n("span", {
            staticClass: "token punctuation"
        }, [e._v(":")]), e._v("\n    "), n("span", {
            staticClass: "token key atrule"
        }, [e._v("table")]), n("span", {
            staticClass: "token punctuation"
        }, [e._v(":")]), e._v(" "), n("span", {
            staticClass: "token boolean important"
        }, [e._v("true")]), e._v("\n  "), n("span", {
            staticClass: "token key atrule"
        }, [e._v("katex")]), n("span", {
            staticClass: "token punctuation"
        }, [e._v(":")]), e._v("\n    "), n("span", {
            staticClass: "token key atrule"
        }, [e._v("enabled")]), n("span", {
            staticClass: "token punctuation"
        }, [e._v(":")]), e._v(" "), n("span", {
            staticClass: "token boolean important"
        }, [e._v("true")]), e._v("\n")])]), e._v(" "), n("p", [e._v("For the full list of options, see "), n("a", {
            attrs: {
                href: "https://github.com/benweet/stackedit/blob/master/src/data/presets.js",
                target: "_blank"
            }
        }, [e._v("here")]), e._v(".")])])]) : e._e()]), e._v(" "), n("div", {
            staticClass: "modal__button-bar"
        }, [n("button", {
            staticClass: "button",
            on: {
                click: function(t) {
                    return e.config.reject()
                }
            }
        }, [e._v("Cancel")]), e._v(" "), n("button", {
            staticClass: "button button--resolve",
            on: {
                click: function(t) {
                    return e.resolve()
                }
            }
        }, [e._v("Ok")])])])
    }
      , a = []
}
, function(e, t, n) {
    "use strict";
    n.d(t, "a", function() {
        return r
    }),
    n.d(t, "b", function() {
        return a
    });
    var r = function() {
        var e = this
          , t = e.$createElement
          , n = e._self._c || t;
        return n("modal-inner", {
            attrs: {
                "aria-label": "Export to HTML"
            }
        }, [n("div", {
            staticClass: "modal__content"
        }, [n("p", [e._v("Please choose a template for your "), n("b", [e._v("HTML export")]), e._v(".")]), e._v(" "), n("form-entry", {
            attrs: {
                label: "Template"
            }
        }, [n("select", {
            directives: [{
                name: "model",
                rawName: "v-model",
                value: e.selectedTemplate,
                expression: "selectedTemplate"
            }],
            staticClass: "textfield",
            attrs: {
                slot: "field"
            },
            on: {
                keydown: function(t) {
                    return !t.type.indexOf("key") && e._k(t.keyCode, "enter", 13, t.key, "Enter") ? null : e.resolve()
                },
                change: function(t) {
                    var n = Array.prototype.filter.call(t.target.options, function(e) {
                        return e.selected
                    }).map(function(e) {
                        return "_value"in e ? e._value : e.value
                    });
                    e.selectedTemplate = t.target.multiple ? n : n[0]
                }
            },
            slot: "field"
        }, e._l(e.allTemplatesById, function(t, r) {
            return n("option", {
                key: r,
                domProps: {
                    value: r
                }
            }, [e._v("\n          " + e._s(t.name) + "\n        ")])
        }), 0), e._v(" "), n("div", {
            staticClass: "form-entry__actions"
        }, [n("a", {
            attrs: {
                href: "javascript:void(0)"
            },
            on: {
                click: e.configureTemplates
            }
        }, [e._v("Configure templates")])])])], 1), e._v(" "), n("div", {
            staticClass: "modal__button-bar"
        }, [n("button", {
            directives: [{
                name: "clipboard",
                rawName: "v-clipboard",
                value: e.result,
                expression: "result"
            }],
            staticClass: "button button--copy",
            on: {
                click: function(t) {
                    return e.info("HTML copied to clipboard!")
                }
            }
        }, [e._v("Copy")]), e._v(" "), n("button", {
            staticClass: "button",
            on: {
                click: function(t) {
                    return e.config.reject()
                }
            }
        }, [e._v("Cancel")]), e._v(" "), n("button", {
            staticClass: "button button--resolve",
            on: {
                click: function(t) {
                    return e.resolve()
                }
            }
        }, [e._v("Ok")])])])
    }
      , a = []
}
, function(e, t, n) {
    "use strict";
    n.d(t, "a", function() {
        return r
    }),
    n.d(t, "b", function() {
        return a
    });
    var r = function() {
        var e = this
          , t = e.$createElement
          , n = e._self._c || t;
        return n("div", {
            staticClass: "edit_dialog"
        }, [n("div", {
            staticClass: "tabs"
        }, [n("div", {
            staticClass: "tabs_list"
        }, [n("div", {
            staticClass: "tabs_btn",
            class: e.uploadImage,
            on: {
                click: e.uploadImgFun
            }
        }, [e._v("上传图片")]), e._v(" "), n("div", {
            staticClass: "tabs_btn",
            class: e.linkAdd,
            on: {
                click: e.linkAddFun
            }
        }, [e._v("链接添加")])])]), e._v(" "), n("div", {
            directives: [{
                name: "show",
                rawName: "v-show",
                value: e.isUploadImageActive,
                expression: "isUploadImageActive"
            }],
            staticClass: "uploadImageContent"
        }, [n("div", {
            staticClass: "uploadImageBtn"
        }, [e._v("\n      选择图片\n      "), n("input", {
            staticClass: "choose_image_btn",
            attrs: {
                type: "file",
                multiple: "multiple",
                accept: "image/gif, image/jpeg, image/gif, image/png, image/bmp, image/webp"
            },
            domProps: {
                value: e.choose_image_value
            },
            on: {
                change: function(t) {
                    return e.uploadImageChange(t)
                }
            }
        })]), e._v(" "), n("div", {
            staticClass: "choose_image_msg"
        }, [e._v("支持jpg、jpeg、png等多种格式，单张图片最大支持5MB")])]), e._v(" "), n("div", {
            directives: [{
                name: "show",
                rawName: "v-show",
                value: e.isLinkAddActive,
                expression: "isLinkAddActive"
            }],
            staticClass: "linkAddContent"
        }, [n("span", [e._v("图片URL：")]), e._v(" "), n("input", {
            directives: [{
                name: "model",
                rawName: "v-model",
                value: e.imgUrl,
                expression: "imgUrl"
            }],
            staticClass: "imgUrl",
            attrs: {
                type: "text"
            },
            domProps: {
                value: e.imgUrl
            },
            on: {
                input: function(t) {
                    t.target.composing || (e.imgUrl = t.target.value)
                }
            }
        }), e._v(" "), n("button", {
            staticClass: "datermineBtn",
            on: {
                click: function(t) {
                    return e.resolve(t)
                }
            }
        }, [e._v("确定")])]), e._v(" "), e.showAlert ? n("div", {
            staticClass: "alert_modal"
        }, [n("div", {
            staticClass: "alert"
        }, [n("div", {
            staticClass: "title"
        }, [e._v("提示")]), e._v(" "), n("div", {
            staticClass: "btns"
        }, [n("div", {
            staticClass: "close",
            on: {
                click: e.closeAlert
            }
        }, [n("svg", {
            staticClass: "icon",
            staticStyle: {
                width: "20px",
                height: "20px"
            },
            attrs: {
                xmlns: "http://www.w3.org/2000/svg",
                viewBox: "0 0 24 24"
            }
        }, [n("path", {
            attrs: {
                d: "M19,6.41L17.59,5L12,10.59L6.41,5L5,6.41L10.59,12L5,17.59L6.41,19L12,13.41L17.59,19L19,17.59L13.41,12L19,6.41Z"
            }
        })])])]), e._v(" "), n("div", {
            staticClass: "content"
        }, [e._v(e._s(e.msg))])])]) : e._e(), e._v(" "), n("div", {
            staticClass: "close",
            on: {
                click: function(t) {
                    return e.config.reject()
                }
            }
        }, [n("svg", {
            staticClass: "icon",
            attrs: {
                xmlns: "http://www.w3.org/2000/svg",
                viewBox: "0 0 24 24"
            }
        }, [n("path", {
            attrs: {
                d: "M19,6.41L17.59,5L12,10.59L6.41,5L5,6.41L10.59,12L5,17.59L6.41,19L12,13.41L17.59,19L19,17.59L13.41,12L19,6.41Z"
            }
        })])])])
    }
      , a = []
}
, function(e, t, n) {
    "use strict";
    n.d(t, "a", function() {
        return r
    }),
    n.d(t, "b", function() {
        return a
    });
    var r = function() {
        var e = this
          , t = e.$createElement
          , n = e._self._c || t;
        return n("div", {
            staticClass: "edit_dialog"
        }, [n("div", {
            staticClass: "tabs"
        }, [n("div", {
            staticClass: "tabs_list"
        }, [n("div", {
            staticClass: "tabs_btn",
            class: e.linkAdd,
            on: {
                click: e.linkAddFun
            }
        }, [e._v("链接添加")])])]), e._v(" "), n("div", {
            directives: [{
                name: "show",
                rawName: "v-show",
                value: e.isLinkAddActive,
                expression: "isLinkAddActive"
            }],
            staticClass: "linkAddContent"
        }, [n("span", [e._v("URL：")]), e._v(" "), n("input", {
            directives: [{
                name: "model",
                rawName: "v-model",
                value: e.url,
                expression: "url"
            }],
            staticClass: "imgUrl",
            attrs: {
                type: "text"
            },
            domProps: {
                value: e.url
            },
            on: {
                input: function(t) {
                    t.target.composing || (e.url = t.target.value)
                }
            }
        }), e._v(" "), n("button", {
            staticClass: "datermineBtn",
            on: {
                click: function(t) {
                    return e.resolve(t)
                }
            }
        }, [e._v("确定")])]), e._v(" "), e.showAlert ? n("div", {
            staticClass: "alert_modal"
        }, [n("div", {
            staticClass: "alert"
        }, [n("div", {
            staticClass: "title"
        }, [e._v("提示")]), e._v(" "), n("div", {
            staticClass: "btns"
        }, [n("div", {
            staticClass: "close",
            on: {
                click: e.closeAlert
            }
        }, [n("svg", {
            staticClass: "icon",
            staticStyle: {
                width: "20px",
                height: "20px"
            },
            attrs: {
                xmlns: "http://www.w3.org/2000/svg",
                viewBox: "0 0 24 24"
            }
        }, [n("path", {
            attrs: {
                d: "M19,6.41L17.59,5L12,10.59L6.41,5L5,6.41L10.59,12L5,17.59L6.41,19L12,13.41L17.59,19L19,17.59L13.41,12L19,6.41Z"
            }
        })])])]), e._v(" "), n("div", {
            staticClass: "content"
        }, [e._v(e._s(e.msg))])])]) : e._e(), e._v(" "), n("div", {
            staticClass: "close",
            on: {
                click: function(t) {
                    return e.config.reject()
                }
            }
        }, [n("svg", {
            staticClass: "icon",
            attrs: {
                xmlns: "http://www.w3.org/2000/svg",
                viewBox: "0 0 24 24"
            }
        }, [n("path", {
            attrs: {
                d: "M19,6.41L17.59,5L12,10.59L6.41,5L5,6.41L10.59,12L5,17.59L6.41,19L12,13.41L17.59,19L19,17.59L13.41,12L19,6.41Z"
            }
        })])])])
    }
      , a = []
}
, function(e, t, n) {
    "use strict";
    n.d(t, "a", function() {
        return r
    }),
    n.d(t, "b", function() {
        return a
    });
    var r = function() {
        var e = this
          , t = e.$createElement
          , n = e._self._c || t;
        return n("modal-inner", {
            attrs: {
                "aria-label": "Export with Pandoc"
            }
        }, [n("div", {
            staticClass: "modal__content"
        }, [n("p", [e._v("Please choose a format for your "), n("b", [e._v("Pandoc export")]), e._v(".")]), e._v(" "), n("form-entry", {
            attrs: {
                label: "Template"
            }
        }, [n("select", {
            directives: [{
                name: "model",
                rawName: "v-model",
                value: e.selectedFormat,
                expression: "selectedFormat"
            }],
            staticClass: "textfield",
            attrs: {
                slot: "field"
            },
            on: {
                keydown: function(t) {
                    return !t.type.indexOf("key") && e._k(t.keyCode, "enter", 13, t.key, "Enter") ? null : e.resolve()
                },
                change: function(t) {
                    var n = Array.prototype.filter.call(t.target.options, function(e) {
                        return e.selected
                    }).map(function(e) {
                        return "_value"in e ? e._value : e.value
                    });
                    e.selectedFormat = t.target.multiple ? n : n[0]
                }
            },
            slot: "field"
        }, [n("option", {
            attrs: {
                value: "asciidoc"
            }
        }, [e._v("AsciiDoc")]), e._v(" "), n("option", {
            attrs: {
                value: "context"
            }
        }, [e._v("ConTeXt")]), e._v(" "), n("option", {
            attrs: {
                value: "epub"
            }
        }, [e._v("EPUB")]), e._v(" "), n("option", {
            attrs: {
                value: "epub3"
            }
        }, [e._v("EPUB v3")]), e._v(" "), n("option", {
            attrs: {
                value: "latex"
            }
        }, [e._v("LaTeX")]), e._v(" "), n("option", {
            attrs: {
                value: "odt"
            }
        }, [e._v("OpenOffice")]), e._v(" "), n("option", {
            attrs: {
                value: "pdf"
            }
        }, [e._v("PDF")]), e._v(" "), n("option", {
            attrs: {
                value: "rst"
            }
        }, [e._v("reStructuredText")]), e._v(" "), n("option", {
            attrs: {
                value: "rtf"
            }
        }, [e._v("Rich Text Format")]), e._v(" "), n("option", {
            attrs: {
                value: "textile"
            }
        }, [e._v("Textile")]), e._v(" "), n("option", {
            attrs: {
                value: "docx"
            }
        }, [e._v("Word")])])])], 1), e._v(" "), n("div", {
            staticClass: "modal__button-bar"
        }, [n("button", {
            staticClass: "button",
            on: {
                click: function(t) {
                    return e.config.reject()
                }
            }
        }, [e._v("Cancel")]), e._v(" "), n("button", {
            staticClass: "button button--resolve",
            on: {
                click: function(t) {
                    return e.resolve()
                }
            }
        }, [e._v("Ok")])])])
    }
      , a = []
}
, function(e, t, n) {
    "use strict";
    n.d(t, "a", function() {
        return r
    }),
    n.d(t, "b", function() {
        return a
    });
    var r = function() {
        var e = this
          , t = e.$createElement
          , n = e._self._c || t;
        return n("modal-inner", {
            attrs: {
                "aria-label": "Export to PDF"
            }
        }, [n("div", {
            staticClass: "modal__content"
        }, [n("p", [e._v("Please choose a template for your "), n("b", [e._v("PDF export")]), e._v(".")]), e._v(" "), n("form-entry", {
            attrs: {
                label: "Template"
            }
        }, [n("select", {
            directives: [{
                name: "model",
                rawName: "v-model",
                value: e.selectedTemplate,
                expression: "selectedTemplate"
            }],
            staticClass: "textfield",
            attrs: {
                slot: "field"
            },
            on: {
                keydown: function(t) {
                    return !t.type.indexOf("key") && e._k(t.keyCode, "enter", 13, t.key, "Enter") ? null : e.resolve()
                },
                change: function(t) {
                    var n = Array.prototype.filter.call(t.target.options, function(e) {
                        return e.selected
                    }).map(function(e) {
                        return "_value"in e ? e._value : e.value
                    });
                    e.selectedTemplate = t.target.multiple ? n : n[0]
                }
            },
            slot: "field"
        }, e._l(e.allTemplatesById, function(t, r) {
            return n("option", {
                key: r,
                domProps: {
                    value: r
                }
            }, [e._v("\n          " + e._s(t.name) + "\n        ")])
        }), 0), e._v(" "), n("div", {
            staticClass: "form-entry__actions"
        }, [n("a", {
            attrs: {
                href: "javascript:void(0)"
            },
            on: {
                click: e.configureTemplates
            }
        }, [e._v("Configure templates")])])])], 1), e._v(" "), n("div", {
            staticClass: "modal__button-bar"
        }, [n("button", {
            staticClass: "button",
            on: {
                click: function(t) {
                    return e.config.reject()
                }
            }
        }, [e._v("Cancel")]), e._v(" "), n("button", {
            staticClass: "button button--resolve",
            on: {
                click: function(t) {
                    return e.resolve()
                }
            }
        }, [e._v("Ok")])])])
    }
      , a = []
}
, function(e, t, n) {
    "use strict";
    n.d(t, "a", function() {
        return r
    }),
    n.d(t, "b", function() {
        return a
    });
    var r = function() {
        var e = this
          , t = e.$createElement
          , n = e._self._c || t;
        return n("modal-inner", {
            staticClass: "modal__inner-1--publish-management",
            attrs: {
                "aria-label": "Manage publication locations"
            }
        }, [n("div", {
            staticClass: "modal__content"
        }, [n("div", {
            staticClass: "modal__image"
        }, [n("icon-upload")], 1), e._v(" "), e.publishLocations.length ? n("p", [n("b", [e._v(e._s(e.currentFileName))]), e._v(" is published to the following location(s):")]) : n("p", [n("b", [e._v(e._s(e.currentFileName))]), e._v(" is not published yet.")]), e._v(" "), n("div", e._l(e.publishLocations, function(t) {
            return n("div", {
                key: t.id,
                staticClass: "publish-entry flex flex--column"
            }, [n("div", {
                staticClass: "publish-entry__header flex flex--row flex--align-center"
            }, [n("div", {
                staticClass: "publish-entry__icon flex flex--column flex--center"
            }, [n("icon-provider", {
                attrs: {
                    "provider-id": t.providerId
                }
            })], 1), e._v(" "), n("div", {
                staticClass: "publish-entry__description"
            }, [e._v("\n            " + e._s(t.description) + "\n          ")]), e._v(" "), n("div", {
                staticClass: "publish-entry__buttons flex flex--row flex--center"
            }, [n("button", {
                directives: [{
                    name: "title",
                    rawName: "v-title",
                    value: "Remove location",
                    expression: "'Remove location'"
                }],
                staticClass: "publish-entry__button button",
                on: {
                    click: function(n) {
                        return e.remove(t)
                    }
                }
            }, [n("icon-delete")], 1)])]), e._v(" "), n("div", {
                staticClass: "publish-entry__row flex flex--row flex--align-center"
            }, [n("div", {
                staticClass: "publish-entry__url"
            }, [e._v("\n            " + e._s(t.url) + "\n          ")]), e._v(" "), t.url ? n("div", {
                staticClass: "publish-entry__buttons flex flex--row flex--center"
            }, [n("button", {
                directives: [{
                    name: "clipboard",
                    rawName: "v-clipboard",
                    value: t.url,
                    expression: "location.url"
                }, {
                    name: "title",
                    rawName: "v-title",
                    value: "Copy URL",
                    expression: "'Copy URL'"
                }],
                staticClass: "publish-entry__button button",
                on: {
                    click: function(t) {
                        return e.info("Location URL copied to clipboard!")
                    }
                }
            }, [n("icon-content-copy")], 1), e._v(" "), t.url ? n("a", {
                directives: [{
                    name: "title",
                    rawName: "v-title",
                    value: "Open location",
                    expression: "'Open location'"
                }],
                staticClass: "publish-entry__button button",
                attrs: {
                    href: t.url,
                    target: "_blank"
                }
            }, [n("icon-open-in-new")], 1) : e._e()]) : e._e()])])
        }), 0), e._v(" "), e.publishLocations.length ? n("div", {
            staticClass: "modal__info"
        }, [n("b", [e._v("Tip:")]), e._v(" Removing a location won't delete any file.\n    ")]) : e._e()]), e._v(" "), n("div", {
            staticClass: "modal__button-bar"
        }, [n("button", {
            staticClass: "button button--resolve",
            on: {
                click: function(t) {
                    return e.config.resolve()
                }
            }
        }, [e._v("Close")])])])
    }
      , a = []
}
, function(e, t, n) {
    "use strict";
    n.d(t, "a", function() {
        return r
    }),
    n.d(t, "b", function() {
        return a
    });
    var r = function() {
        var e = this
          , t = e.$createElement
          , n = e._self._c || t;
        return n("modal-inner", {
            staticClass: "modal__inner-1--settings",
            attrs: {
                "aria-label": "Settings"
            }
        }, [n("div", {
            staticClass: "modal__content"
        }, [n("div", {
            staticClass: "tabs flex flex--row"
        }, [n("tab", {
            attrs: {
                active: "custom" === e.tab
            },
            on: {
                click: function(t) {
                    e.tab = "custom"
                }
            }
        }, [e._v("\n        Custom settings\n      ")]), e._v(" "), n("tab", {
            attrs: {
                active: "default" === e.tab
            },
            on: {
                click: function(t) {
                    e.tab = "default"
                }
            }
        }, [e._v("\n        Default settings\n      ")])], 1), e._v(" "), "custom" === e.tab ? n("div", {
            staticClass: "form-entry",
            attrs: {
                role: "tabpanel",
                "aria-label": "Custom settings"
            }
        }, [n("label", {
            staticClass: "form-entry__label"
        }, [e._v("YAML")]), e._v(" "), n("div", {
            staticClass: "form-entry__field form-entry__field--code-editor"
        }, [n("code-editor", {
            key: "custom-settings",
            attrs: {
                lang: "yaml",
                value: e.customSettings
            },
            on: {
                changed: e.setCustomSettings
            }
        })], 1)]) : "default" === e.tab ? n("div", {
            staticClass: "form-entry",
            attrs: {
                role: "tabpanel",
                "aria-label": "Default settings"
            }
        }, [n("label", {
            staticClass: "form-entry__label"
        }, [e._v("YAML")]), e._v(" "), n("div", {
            staticClass: "form-entry__field form-entry__field--code-editor"
        }, [n("code-editor", {
            key: "default-settings",
            attrs: {
                lang: "yaml",
                value: e.defaultSettings,
                disabled: "true"
            }
        })], 1)]) : e._e(), e._v(" "), n("div", {
            staticClass: "modal__error modal__error--settings"
        }, [e._v(e._s(e.error))])]), e._v(" "), n("div", {
            staticClass: "modal__button-bar"
        }, [n("button", {
            staticClass: "button",
            on: {
                click: function(t) {
                    return e.config.reject()
                }
            }
        }, [e._v("Cancel")]), e._v(" "), n("button", {
            staticClass: "button button--resolve",
            on: {
                click: e.resolve
            }
        }, [e._v("Ok")])])])
    }
      , a = []
}
, function(e, t, n) {
    "use strict";
    n.d(t, "a", function() {
        return r
    }),
    n.d(t, "b", function() {
        return a
    });
    var r = function() {
        var e = this
          , t = e.$createElement
          , n = e._self._c || t;
        return n("modal-inner", {
            staticClass: "modal__inner-1--sponsor",
            attrs: {
                "aria-label": "Sponsor"
            }
        }, [n("div", {
            staticClass: "modal__content"
        }, [n("p", [e._v("Please choose a "), n("b", [e._v("PayPal")]), e._v(" option:")]), e._v(" "), e._l(e.buttons, function(t) {
            return n("a", {
                key: t.id,
                staticClass: "paypal-option button flex flex--row flex--center",
                attrs: {
                    href: t.link
                }
            }, [n("div", {
                staticClass: "flex flex--column"
            }, [n("div", [e._v(e._s(t.price)), t.offer ? n("div", {
                staticClass: "paypal-option__offer"
            }, [e._v(e._s(t.offer))]) : e._e()]), e._v(" "), n("span", [e._v(e._s(t.description))])])])
        })], 2), e._v(" "), n("div", {
            staticClass: "modal__button-bar"
        }, [n("button", {
            staticClass: "button",
            on: {
                click: function(t) {
                    return e.config.reject()
                }
            }
        }, [e._v("Cancel")])])])
    }
      , a = []
}
, function(e, t, n) {
    "use strict";
    n.d(t, "a", function() {
        return r
    }),
    n.d(t, "b", function() {
        return a
    });
    var r = function() {
        var e = this
          , t = e.$createElement
          , n = e._self._c || t;
        return n("modal-inner", {
            staticClass: "modal__inner-1--sync-management",
            attrs: {
                "aria-label": "Manage synchronized locations"
            }
        }, [n("div", {
            staticClass: "modal__content"
        }, [n("div", {
            staticClass: "modal__image"
        }, [n("icon-sync")], 1), e._v(" "), e.syncLocations.length ? n("p", [n("b", [e._v(e._s(e.currentFileName))]), e._v(" is synchronized with the following location(s):")]) : n("p", [n("b", [e._v(e._s(e.currentFileName))]), e._v(" is not synchronized yet.")]), e._v(" "), n("div", e._l(e.syncLocations, function(t) {
            return n("div", {
                key: t.id,
                staticClass: "sync-entry flex flex--column"
            }, [n("div", {
                staticClass: "sync-entry__header flex flex--row flex--align-center"
            }, [n("div", {
                staticClass: "sync-entry__icon flex flex--column flex--center"
            }, [n("icon-provider", {
                attrs: {
                    "provider-id": t.providerId
                }
            })], 1), e._v(" "), n("div", {
                staticClass: "sync-entry__description"
            }, [e._v("\n            " + e._s(t.description) + "\n          ")]), e._v(" "), n("div", {
                staticClass: "sync-entry__buttons flex flex--row flex--center"
            }, [n("button", {
                directives: [{
                    name: "title",
                    rawName: "v-title",
                    value: "Remove location",
                    expression: "'Remove location'"
                }],
                staticClass: "sync-entry__button button",
                on: {
                    click: function(n) {
                        return e.remove(t)
                    }
                }
            }, [n("icon-delete")], 1)])]), e._v(" "), n("div", {
                staticClass: "sync-entry__row flex flex--row flex--align-center"
            }, [n("div", {
                staticClass: "sync-entry__url"
            }, [e._v("\n            " + e._s(t.url || "Google Drive app data") + "\n          ")]), e._v(" "), t.url ? n("div", {
                staticClass: "sync-entry__buttons flex flex--row flex--center"
            }, [n("button", {
                directives: [{
                    name: "clipboard",
                    rawName: "v-clipboard",
                    value: t.url,
                    expression: "location.url"
                }, {
                    name: "title",
                    rawName: "v-title",
                    value: "Copy URL",
                    expression: "'Copy URL'"
                }],
                staticClass: "sync-entry__button button",
                on: {
                    click: function(t) {
                        return e.info("Location URL copied to clipboard!")
                    }
                }
            }, [n("icon-content-copy")], 1), e._v(" "), t.url ? n("a", {
                directives: [{
                    name: "title",
                    rawName: "v-title",
                    value: "Open location",
                    expression: "'Open location'"
                }],
                staticClass: "sync-entry__button button",
                attrs: {
                    href: t.url,
                    target: "_blank"
                }
            }, [n("icon-open-in-new")], 1) : e._e()]) : e._e()])])
        }), 0), e._v(" "), e.syncLocations.length ? n("div", {
            staticClass: "modal__info"
        }, [n("b", [e._v("Tip:")]), e._v(" Removing a location won't delete any file.\n    ")]) : e._e()]), e._v(" "), n("div", {
            staticClass: "modal__button-bar"
        }, [n("button", {
            staticClass: "button button--resolve",
            on: {
                click: function(t) {
                    return e.config.resolve()
                }
            }
        }, [e._v("Close")])])])
    }
      , a = []
}
, function(e, t, n) {
    "use strict";
    n.d(t, "a", function() {
        return r
    }),
    n.d(t, "b", function() {
        return a
    });
    var r = function() {
        var e = this
          , t = e.$createElement
          , n = e._self._c || t;
        return n("modal-inner", {
            staticClass: "modal__inner-1--templates",
            attrs: {
                "aria-label": "Manage templates"
            }
        }, [n("div", {
            staticClass: "modal__content"
        }, [n("div", {
            staticClass: "form-entry"
        }, [n("label", {
            staticClass: "form-entry__label",
            attrs: {
                for: "template"
            }
        }, [e._v("Template")]), e._v(" "), n("div", {
            staticClass: "form-entry__field"
        }, [e.isEditing ? n("input", {
            directives: [{
                name: "focus",
                rawName: "v-focus"
            }, {
                name: "model",
                rawName: "v-model",
                value: e.editingName,
                expression: "editingName"
            }],
            staticClass: "textfield",
            attrs: {
                id: "template",
                type: "text"
            },
            domProps: {
                value: e.editingName
            },
            on: {
                blur: function(t) {
                    return e.submitEdit()
                },
                keydown: [function(t) {
                    return !t.type.indexOf("key") && e._k(t.keyCode, "enter", 13, t.key, "Enter") ? null : e.submitEdit()
                }
                , function(t) {
                    return !t.type.indexOf("key") && e._k(t.keyCode, "esc", 27, t.key, ["Esc", "Escape"]) ? null : (t.stopPropagation(),
                    e.submitEdit(!0))
                }
                ],
                input: function(t) {
                    t.target.composing || (e.editingName = t.target.value)
                }
            }
        }) : n("select", {
            directives: [{
                name: "model",
                rawName: "v-model",
                value: e.selectedId,
                expression: "selectedId"
            }],
            staticClass: "textfield",
            attrs: {
                id: "template"
            },
            on: {
                change: function(t) {
                    var n = Array.prototype.filter.call(t.target.options, function(e) {
                        return e.selected
                    }).map(function(e) {
                        return "_value"in e ? e._value : e.value
                    });
                    e.selectedId = t.target.multiple ? n : n[0]
                }
            }
        }, e._l(e.templates, function(t, r) {
            return n("option", {
                key: r,
                domProps: {
                    value: r
                }
            }, [e._v("\n            " + e._s(t.name) + "\n          ")])
        }), 0)]), e._v(" "), n("div", {
            staticClass: "form-entry__actions flex flex--row flex--end"
        }, [n("button", {
            directives: [{
                name: "title",
                rawName: "v-title",
                value: "New template",
                expression: "'New template'"
            }],
            staticClass: "form-entry__button button",
            on: {
                click: e.create
            }
        }, [n("icon-file-plus")], 1), e._v(" "), n("button", {
            directives: [{
                name: "title",
                rawName: "v-title",
                value: "Copy template",
                expression: "'Copy template'"
            }],
            staticClass: "form-entry__button button",
            on: {
                click: e.copy
            }
        }, [n("icon-file-multiple")], 1), e._v(" "), e.isReadOnly ? e._e() : n("button", {
            directives: [{
                name: "title",
                rawName: "v-title",
                value: "Rename template",
                expression: "'Rename template'"
            }],
            staticClass: "form-entry__button button",
            on: {
                click: function(t) {
                    e.isEditing = !0
                }
            }
        }, [n("icon-pen")], 1), e._v(" "), e.isReadOnly ? e._e() : n("button", {
            directives: [{
                name: "title",
                rawName: "v-title",
                value: "Remove template",
                expression: "'Remove template'"
            }],
            staticClass: "form-entry__button button",
            on: {
                click: e.remove
            }
        }, [n("icon-delete")], 1)])]), e._v(" "), n("div", {
            staticClass: "form-entry"
        }, [n("label", {
            staticClass: "form-entry__label"
        }, [e._v("Value")]), e._v(" "), e._l(e.templates, function(t, r) {
            return r === e.selectedId ? n("div", {
                key: r,
                staticClass: "form-entry__field"
            }, [n("code-editor", {
                attrs: {
                    lang: "handlebars",
                    value: t.value,
                    disabled: e.isReadOnly
                },
                on: {
                    changed: function(e) {
                        t.value = e
                    }
                }
            })], 1) : e._e()
        })], 2), e._v(" "), e.isReadOnly ? e._e() : n("div", [e.showHelpers ? n("div", {
            staticClass: "form-entry"
        }, [n("br"), e._v(" "), n("label", {
            staticClass: "form-entry__label"
        }, [e._v("Helpers")]), e._v(" "), e._l(e.templates, function(t, r) {
            return r === e.selectedId ? n("div", {
                key: r,
                staticClass: "form-entry__field"
            }, [n("code-editor", {
                attrs: {
                    lang: "javascript",
                    value: t.helpers
                },
                on: {
                    changed: function(e) {
                        t.helpers = e
                    }
                }
            })], 1) : e._e()
        })], 2) : n("a", {
            attrs: {
                href: "javascript:void(0)"
            },
            on: {
                click: function(t) {
                    e.showHelpers = !0
                }
            }
        }, [e._v("Add helpers")])])]), e._v(" "), n("div", {
            staticClass: "modal__button-bar"
        }, [n("button", {
            staticClass: "button",
            on: {
                click: function(t) {
                    return e.config.reject()
                }
            }
        }, [e._v("Cancel")]), e._v(" "), n("button", {
            staticClass: "button button--resolve",
            on: {
                click: function(t) {
                    return e.resolve()
                }
            }
        }, [e._v("Ok")])])])
    }
      , a = []
}
, function(e, t, n) {
    "use strict";
    n.d(t, "a", function() {
        return r
    }),
    n.d(t, "b", function() {
        return a
    });
    var r = function() {
        var e = this
          , t = e.$createElement
          , n = e._self._c || t;
        return n("modal-inner", {
            staticClass: "modal__inner-1--workspace-management",
            attrs: {
                "aria-label": "Manage workspaces"
            }
        }, [n("div", {
            staticClass: "modal__content"
        }, [n("div", {
            staticClass: "modal__image"
        }, [n("icon-database")], 1), e._v(" "), n("p", [e._v("The following workspaces are accessible:")]), e._v(" "), e._l(e.workspacesById, function(t, r) {
            return n("div", {
                key: r,
                staticClass: "workspace-entry flex flex--column"
            }, [n("div", {
                staticClass: "flex flex--column"
            }, [n("div", {
                staticClass: "workspace-entry__header flex flex--row flex--align-center"
            }, [n("div", {
                staticClass: "workspace-entry__icon"
            }, [n("icon-provider", {
                attrs: {
                    "provider-id": t.providerId
                }
            })], 1), e._v(" "), e.editedId === r ? n("input", {
                directives: [{
                    name: "focus",
                    rawName: "v-focus"
                }, {
                    name: "model",
                    rawName: "v-model",
                    value: e.editingName,
                    expression: "editingName"
                }],
                staticClass: "text-input",
                attrs: {
                    type: "text"
                },
                domProps: {
                    value: e.editingName
                },
                on: {
                    blur: function(t) {
                        return e.submitEdit()
                    },
                    keydown: [function(t) {
                        return !t.type.indexOf("key") && e._k(t.keyCode, "enter", 13, t.key, "Enter") ? null : e.submitEdit()
                    }
                    , function(t) {
                        return !t.type.indexOf("key") && e._k(t.keyCode, "esc", 27, t.key, ["Esc", "Escape"]) ? null : (t.stopPropagation(),
                        e.submitEdit(!0))
                    }
                    ],
                    input: function(t) {
                        t.target.composing || (e.editingName = t.target.value)
                    }
                }
            }) : n("div", {
                staticClass: "workspace-entry__name"
            }, [e._v(e._s(t.name))]), e._v(" "), n("div", {
                staticClass: "workspace-entry__buttons flex flex--row"
            }, [n("button", {
                directives: [{
                    name: "title",
                    rawName: "v-title",
                    value: "Edit name",
                    expression: "'Edit name'"
                }],
                staticClass: "workspace-entry__button button",
                on: {
                    click: function(t) {
                        return e.edit(r)
                    }
                }
            }, [n("icon-pen")], 1), e._v(" "), n("button", {
                directives: [{
                    name: "title",
                    rawName: "v-title",
                    value: "Remove",
                    expression: "'Remove'"
                }],
                staticClass: "workspace-entry__button button",
                on: {
                    click: function(t) {
                        return e.remove(r)
                    }
                }
            }, [n("icon-delete")], 1)])]), e._v(" "), n("div", {
                staticClass: "workspace-entry__row flex flex--row flex--align-center"
            }, [n("div", {
                staticClass: "workspace-entry__url"
            }, [e._v("\n            " + e._s(t.url) + "\n          ")]), e._v(" "), n("div", {
                staticClass: "workspace-entry__buttons flex flex--row"
            }, [n("button", {
                directives: [{
                    name: "clipboard",
                    rawName: "v-clipboard",
                    value: t.url,
                    expression: "workspace.url"
                }, {
                    name: "title",
                    rawName: "v-title",
                    value: "Copy URL",
                    expression: "'Copy URL'"
                }],
                staticClass: "workspace-entry__button button",
                on: {
                    click: function(t) {
                        return e.info("Workspace URL copied to clipboard!")
                    }
                }
            }, [n("icon-content-copy")], 1), e._v(" "), n("a", {
                directives: [{
                    name: "title",
                    rawName: "v-title",
                    value: "Open workspace",
                    expression: "'Open workspace'"
                }],
                staticClass: "workspace-entry__button button",
                attrs: {
                    href: t.url,
                    target: "_blank"
                }
            }, [n("icon-open-in-new")], 1)])]), e._v(" "), t.locationUrl ? n("div", {
                staticClass: "workspace-entry__row flex flex--row flex--align-center"
            }, [n("div", {
                staticClass: "workspace-entry__url"
            }, [e._v("\n            " + e._s(t.locationUrl) + "\n          ")]), e._v(" "), n("div", {
                staticClass: "workspace-entry__buttons flex flex--row"
            }, [n("button", {
                directives: [{
                    name: "clipboard",
                    rawName: "v-clipboard",
                    value: t.locationUrl,
                    expression: "workspace.locationUrl"
                }, {
                    name: "title",
                    rawName: "v-title",
                    value: "Copy URL",
                    expression: "'Copy URL'"
                }],
                staticClass: "workspace-entry__button button",
                on: {
                    click: function(t) {
                        return e.info("Workspace URL copied to clipboard!")
                    }
                }
            }, [n("icon-content-copy")], 1), e._v(" "), n("a", {
                directives: [{
                    name: "title",
                    rawName: "v-title",
                    value: "Open workspace location",
                    expression: "'Open workspace location'"
                }],
                staticClass: "workspace-entry__button button",
                attrs: {
                    href: t.locationUrl,
                    target: "_blank"
                }
            }, [n("icon-open-in-new")], 1)])]) : e._e(), e._v(" "), n("div", [e.availableOffline[r] ? n("span", {
                staticClass: "workspace-entry__offline"
            }, [e._v("\n            available offline\n          ")]) : e._e()])])])
        })], 2), e._v(" "), n("div", {
            staticClass: "modal__button-bar"
        }, [n("button", {
            staticClass: "button button--resolve",
            on: {
                click: function(t) {
                    return e.config.resolve()
                }
            }
        }, [e._v("Close")])])])
    }
      , a = []
}
, function(e, t, n) {
    "use strict";
    n.d(t, "a", function() {
        return r
    }),
    n.d(t, "b", function() {
        return a
    });
    var r = function() {
        var e = this
          , t = e.$createElement
          , n = e._self._c || t;
        return n("div", {
            staticClass: "form-entry",
            attrs: {
                error: e.error
            }
        }, [n("label", {
            staticClass: "form-entry__label",
            attrs: {
                for: e.uid
            }
        }, [e._v(e._s(e.label)), e.info ? n("span", {
            staticClass: "form-entry__label-info"
        }, [e._v(" — " + e._s(e.info))]) : e._e()]), e._v(" "), n("div", {
            staticClass: "form-entry__field"
        }, [e._t("field")], 2), e._v(" "), e._t("default")], 2)
    }
      , a = []
}
, function(e, t, n) {
    "use strict";
    n.d(t, "a", function() {
        return r
    }),
    n.d(t, "b", function() {
        return a
    });
    var r = function() {
        var e = this
          , t = e.$createElement
          , n = e._self._c || t;
        return n("div", {
            staticClass: "modal__inner-1",
            attrs: {
                role: "dialog"
            }
        }, [n("div", {
            staticClass: "modal__inner-2"
        }, [n("button", {
            directives: [{
                name: "title",
                rawName: "v-title",
                value: "Close modal",
                expression: "'Close modal'"
            }],
            staticClass: "modal__close-button button not-tabbable",
            on: {
                click: function(t) {
                    return e.config.reject()
                }
            }
        }, [n("icon-close")], 1), e._v(" "), e._t("default")], 2)])
    }
      , a = []
}
, function(e, t, n) {
    "use strict";
    n.d(t, "a", function() {
        return r
    }),
    n.d(t, "b", function() {
        return a
    });
    var r = function() {
        var e = this
          , t = e.$createElement
          , n = e._self._c || t;
        return n("div", {
            staticClass: "tabs__tab flex flex--row",
            class: {
                "tabs__tab--active": e.active
            },
            attrs: {
                role: "tab"
            }
        }, [n("a", {
            staticClass: "flex flex--column flex--center",
            attrs: {
                href: "javascript:void(0)"
            },
            on: {
                click: function(t) {
                    return e.$emit("click")
                }
            }
        }, [e._t("default")], 2)])
    }
      , a = []
}
, function(e, t, n) {
    "use strict";
    n.d(t, "a", function() {
        return r
    }),
    n.d(t, "b", function() {
        return a
    });
    var r = function() {
        var e = this
          , t = e.$createElement
          , n = e._self._c || t;
        return n("modal-inner", {
            attrs: {
                "aria-label": "Publish to Blogger Page"
            }
        }, [n("div", {
            staticClass: "modal__content"
        }, [n("div", {
            staticClass: "modal__image"
        }, [n("icon-provider", {
            attrs: {
                "provider-id": "bloggerPage"
            }
        })], 1), e._v(" "), n("p", [e._v("Publish "), n("b", [e._v(e._s(e.currentFileName))]), e._v(" to your "), n("b", [e._v("Blogger Page")]), e._v(".")]), e._v(" "), n("form-entry", {
            attrs: {
                label: "Blog URL",
                error: "blogUrl"
            }
        }, [n("input", {
            directives: [{
                name: "model",
                rawName: "v-model.trim",
                value: e.blogUrl,
                expression: "blogUrl",
                modifiers: {
                    trim: !0
                }
            }],
            staticClass: "textfield",
            attrs: {
                slot: "field",
                type: "text"
            },
            domProps: {
                value: e.blogUrl
            },
            on: {
                keydown: function(t) {
                    return !t.type.indexOf("key") && e._k(t.keyCode, "enter", 13, t.key, "Enter") ? null : e.resolve()
                },
                input: function(t) {
                    t.target.composing || (e.blogUrl = t.target.value.trim())
                },
                blur: function(t) {
                    return e.$forceUpdate()
                }
            },
            slot: "field"
        }), e._v(" "), n("div", {
            staticClass: "form-entry__info"
        }, [n("b", [e._v("Example:")]), e._v(" http://example.blogger.com/\n      ")])]), e._v(" "), n("form-entry", {
            attrs: {
                label: "Existing page ID",
                info: "optional"
            }
        }, [n("input", {
            directives: [{
                name: "model",
                rawName: "v-model.trim",
                value: e.pageId,
                expression: "pageId",
                modifiers: {
                    trim: !0
                }
            }],
            staticClass: "textfield",
            attrs: {
                slot: "field",
                type: "text"
            },
            domProps: {
                value: e.pageId
            },
            on: {
                keydown: function(t) {
                    return !t.type.indexOf("key") && e._k(t.keyCode, "enter", 13, t.key, "Enter") ? null : e.resolve()
                },
                input: function(t) {
                    t.target.composing || (e.pageId = t.target.value.trim())
                },
                blur: function(t) {
                    return e.$forceUpdate()
                }
            },
            slot: "field"
        })]), e._v(" "), n("form-entry", {
            attrs: {
                label: "Template"
            }
        }, [n("select", {
            directives: [{
                name: "model",
                rawName: "v-model",
                value: e.selectedTemplate,
                expression: "selectedTemplate"
            }],
            staticClass: "textfield",
            attrs: {
                slot: "field"
            },
            on: {
                keydown: function(t) {
                    return !t.type.indexOf("key") && e._k(t.keyCode, "enter", 13, t.key, "Enter") ? null : e.resolve()
                },
                change: function(t) {
                    var n = Array.prototype.filter.call(t.target.options, function(e) {
                        return e.selected
                    }).map(function(e) {
                        return "_value"in e ? e._value : e.value
                    });
                    e.selectedTemplate = t.target.multiple ? n : n[0]
                }
            },
            slot: "field"
        }, e._l(e.allTemplatesById, function(t, r) {
            return n("option", {
                key: r,
                domProps: {
                    value: r
                }
            }, [e._v("\n          " + e._s(t.name) + "\n        ")])
        }), 0), e._v(" "), n("div", {
            staticClass: "form-entry__actions"
        }, [n("a", {
            attrs: {
                href: "javascript:void(0)"
            },
            on: {
                click: e.configureTemplates
            }
        }, [e._v("Configure templates")])])]), e._v(" "), n("div", {
            staticClass: "modal__info"
        }, [n("b", [e._v("ProTip:")]), e._v(" You can provide a value for "), n("code", [e._v("title")]), e._v(" in the "), n("a", {
            attrs: {
                href: "javascript:void(0)"
            },
            on: {
                click: e.openFileProperties
            }
        }, [e._v("file properties")]), e._v(".\n    ")])], 1), e._v(" "), n("div", {
            staticClass: "modal__button-bar"
        }, [n("button", {
            staticClass: "button",
            on: {
                click: function(t) {
                    return e.config.reject()
                }
            }
        }, [e._v("Cancel")]), e._v(" "), n("button", {
            staticClass: "button button--resolve",
            on: {
                click: function(t) {
                    return e.resolve()
                }
            }
        }, [e._v("Ok")])])])
    }
      , a = []
}
, function(e, t, n) {
    "use strict";
    n.d(t, "a", function() {
        return r
    }),
    n.d(t, "b", function() {
        return a
    });
    var r = function() {
        var e = this
          , t = e.$createElement
          , n = e._self._c || t;
        return n("modal-inner", {
            attrs: {
                "aria-label": "Publish to Blogger"
            }
        }, [n("div", {
            staticClass: "modal__content"
        }, [n("div", {
            staticClass: "modal__image"
        }, [n("icon-provider", {
            attrs: {
                "provider-id": "blogger"
            }
        })], 1), e._v(" "), n("p", [e._v("Publish "), n("b", [e._v(e._s(e.currentFileName))]), e._v(" to your "), n("b", [e._v("Blogger")]), e._v(" site.")]), e._v(" "), n("form-entry", {
            attrs: {
                label: "Blog URL",
                error: "blogUrl"
            }
        }, [n("input", {
            directives: [{
                name: "model",
                rawName: "v-model.trim",
                value: e.blogUrl,
                expression: "blogUrl",
                modifiers: {
                    trim: !0
                }
            }],
            staticClass: "textfield",
            attrs: {
                slot: "field",
                type: "text"
            },
            domProps: {
                value: e.blogUrl
            },
            on: {
                keydown: function(t) {
                    return !t.type.indexOf("key") && e._k(t.keyCode, "enter", 13, t.key, "Enter") ? null : e.resolve()
                },
                input: function(t) {
                    t.target.composing || (e.blogUrl = t.target.value.trim())
                },
                blur: function(t) {
                    return e.$forceUpdate()
                }
            },
            slot: "field"
        }), e._v(" "), n("div", {
            staticClass: "form-entry__info"
        }, [n("b", [e._v("Example:")]), e._v(" http://example.blogger.com/\n      ")])]), e._v(" "), n("form-entry", {
            attrs: {
                label: "Existing post ID",
                info: "optional"
            }
        }, [n("input", {
            directives: [{
                name: "model",
                rawName: "v-model.trim",
                value: e.postId,
                expression: "postId",
                modifiers: {
                    trim: !0
                }
            }],
            staticClass: "textfield",
            attrs: {
                slot: "field",
                type: "text"
            },
            domProps: {
                value: e.postId
            },
            on: {
                keydown: function(t) {
                    return !t.type.indexOf("key") && e._k(t.keyCode, "enter", 13, t.key, "Enter") ? null : e.resolve()
                },
                input: function(t) {
                    t.target.composing || (e.postId = t.target.value.trim())
                },
                blur: function(t) {
                    return e.$forceUpdate()
                }
            },
            slot: "field"
        })]), e._v(" "), n("form-entry", {
            attrs: {
                label: "Template"
            }
        }, [n("select", {
            directives: [{
                name: "model",
                rawName: "v-model",
                value: e.selectedTemplate,
                expression: "selectedTemplate"
            }],
            staticClass: "textfield",
            attrs: {
                slot: "field"
            },
            on: {
                keydown: function(t) {
                    return !t.type.indexOf("key") && e._k(t.keyCode, "enter", 13, t.key, "Enter") ? null : e.resolve()
                },
                change: function(t) {
                    var n = Array.prototype.filter.call(t.target.options, function(e) {
                        return e.selected
                    }).map(function(e) {
                        return "_value"in e ? e._value : e.value
                    });
                    e.selectedTemplate = t.target.multiple ? n : n[0]
                }
            },
            slot: "field"
        }, e._l(e.allTemplatesById, function(t, r) {
            return n("option", {
                key: r,
                domProps: {
                    value: r
                }
            }, [e._v("\n          " + e._s(t.name) + "\n        ")])
        }), 0), e._v(" "), n("div", {
            staticClass: "form-entry__actions"
        }, [n("a", {
            attrs: {
                href: "javascript:void(0)"
            },
            on: {
                click: e.configureTemplates
            }
        }, [e._v("Configure templates")])])]), e._v(" "), n("div", {
            staticClass: "modal__info"
        }, [n("b", [e._v("ProTip:")]), e._v(" You can provide values for "), n("code", [e._v("title")]), e._v(", "), n("code", [e._v("tags")]), e._v(",\n      "), n("code", [e._v("status")]), e._v(" and "), n("code", [e._v("date")]), e._v(" in the "), n("a", {
            attrs: {
                href: "javascript:void(0)"
            },
            on: {
                click: e.openFileProperties
            }
        }, [e._v("file properties")]), e._v(".\n    ")])], 1), e._v(" "), n("div", {
            staticClass: "modal__button-bar"
        }, [n("button", {
            staticClass: "button",
            on: {
                click: function(t) {
                    return e.config.reject()
                }
            }
        }, [e._v("Cancel")]), e._v(" "), n("button", {
            staticClass: "button button--resolve",
            on: {
                click: function(t) {
                    return e.resolve()
                }
            }
        }, [e._v("Ok")])])])
    }
      , a = []
}
, function(e, t, n) {
    "use strict";
    n.d(t, "a", function() {
        return r
    }),
    n.d(t, "b", function() {
        return a
    });
    var r = function() {
        var e = this
          , t = e.$createElement
          , n = e._self._c || t;
        return n("modal-inner", {
            attrs: {
                "aria-label": "Insert image"
            }
        }, [n("div", {
            staticClass: "modal__content"
        }, [n("div", {
            staticClass: "modal__image"
        }, [n("icon-provider", {
            attrs: {
                "provider-id": "couchdb"
            }
        })], 1), e._v(" "), n("p", [e._v("Please provide your credentials to login to "), n("b", [e._v("CouchDB")]), e._v(".")]), e._v(" "), n("form-entry", {
            attrs: {
                label: "Name",
                error: "name"
            }
        }, [n("input", {
            directives: [{
                name: "model",
                rawName: "v-model.trim",
                value: e.name,
                expression: "name",
                modifiers: {
                    trim: !0
                }
            }],
            staticClass: "textfield",
            attrs: {
                slot: "field",
                type: "text"
            },
            domProps: {
                value: e.name
            },
            on: {
                keydown: function(t) {
                    return !t.type.indexOf("key") && e._k(t.keyCode, "enter", 13, t.key, "Enter") ? null : e.resolve()
                },
                input: function(t) {
                    t.target.composing || (e.name = t.target.value.trim())
                },
                blur: function(t) {
                    return e.$forceUpdate()
                }
            },
            slot: "field"
        })]), e._v(" "), n("form-entry", {
            attrs: {
                label: "Password",
                error: "password"
            }
        }, [n("input", {
            directives: [{
                name: "model",
                rawName: "v-model.trim",
                value: e.password,
                expression: "password",
                modifiers: {
                    trim: !0
                }
            }],
            staticClass: "textfield",
            attrs: {
                slot: "field",
                type: "password"
            },
            domProps: {
                value: e.password
            },
            on: {
                keydown: function(t) {
                    return !t.type.indexOf("key") && e._k(t.keyCode, "enter", 13, t.key, "Enter") ? null : e.resolve()
                },
                input: function(t) {
                    t.target.composing || (e.password = t.target.value.trim())
                },
                blur: function(t) {
                    return e.$forceUpdate()
                }
            },
            slot: "field"
        })])], 1), e._v(" "), n("div", {
            staticClass: "modal__button-bar"
        }, [n("button", {
            staticClass: "button",
            on: {
                click: function(t) {
                    return e.config.reject()
                }
            }
        }, [e._v("Cancel")]), e._v(" "), n("button", {
            staticClass: "button button--resolve",
            on: {
                click: function(t) {
                    return e.resolve()
                }
            }
        }, [e._v("Ok")])])])
    }
      , a = []
}
, function(e, t, n) {
    "use strict";
    n.d(t, "a", function() {
        return r
    }),
    n.d(t, "b", function() {
        return a
    });
    var r = function() {
        var e = this
          , t = e.$createElement
          , n = e._self._c || t;
        return n("modal-inner", {
            attrs: {
                "aria-label": "Add CouchDB workspace"
            }
        }, [n("div", {
            staticClass: "modal__content"
        }, [n("div", {
            staticClass: "modal__image"
        }, [n("icon-provider", {
            attrs: {
                "provider-id": "couchdb"
            }
        })], 1), e._v(" "), n("p", [e._v("Create a workspace synced with a "), n("b", [e._v("CouchDB")]), e._v(" database.")]), e._v(" "), n("form-entry", {
            attrs: {
                label: "Database URL",
                error: "dbUrl"
            }
        }, [n("input", {
            directives: [{
                name: "model",
                rawName: "v-model.trim",
                value: e.dbUrl,
                expression: "dbUrl",
                modifiers: {
                    trim: !0
                }
            }],
            staticClass: "textfield",
            attrs: {
                slot: "field",
                type: "text"
            },
            domProps: {
                value: e.dbUrl
            },
            on: {
                keydown: function(t) {
                    return !t.type.indexOf("key") && e._k(t.keyCode, "enter", 13, t.key, "Enter") ? null : e.resolve()
                },
                input: function(t) {
                    t.target.composing || (e.dbUrl = t.target.value.trim())
                },
                blur: function(t) {
                    return e.$forceUpdate()
                }
            },
            slot: "field"
        }), e._v(" "), n("div", {
            staticClass: "form-entry__info"
        }, [n("b", [e._v("Example:")]), e._v(" https://instance.smileupps.com/stackedit-workspace\n      ")]), e._v(" "), n("div", {
            staticClass: "form-entry__actions"
        }, [n("a", {
            attrs: {
                href: "https://community.stackedit.io/t/couchdb-workspace-setup/",
                target: "_blank"
            }
        }, [e._v("How to setup?")])])])], 1), e._v(" "), n("div", {
            staticClass: "modal__button-bar"
        }, [n("button", {
            staticClass: "button",
            on: {
                click: function(t) {
                    return e.config.reject()
                }
            }
        }, [e._v("Cancel")]), e._v(" "), n("button", {
            staticClass: "button button--resolve",
            on: {
                click: function(t) {
                    return e.resolve()
                }
            }
        }, [e._v("Ok")])])])
    }
      , a = []
}
, function(e, t, n) {
    "use strict";
    n.d(t, "a", function() {
        return r
    }),
    n.d(t, "b", function() {
        return a
    });
    var r = function() {
        var e = this
          , t = e.$createElement
          , n = e._self._c || t;
        return n("modal-inner", {
            attrs: {
                "aria-label": "Link Dropbox account"
            }
        }, [n("div", {
            staticClass: "modal__content"
        }, [n("div", {
            staticClass: "modal__image"
        }, [n("icon-provider", {
            attrs: {
                "provider-id": "dropbox"
            }
        })], 1), e._v(" "), n("p", [e._v("Link your "), n("b", [e._v("Dropbox")]), e._v(" account to "), n("b", [e._v("StackEdit")]), e._v(".")]), e._v(" "), n("div", {
            staticClass: "form-entry"
        }, [n("div", {
            staticClass: "form-entry__checkbox"
        }, [n("label", [n("input", {
            directives: [{
                name: "model",
                rawName: "v-model",
                value: e.restrictedAccess,
                expression: "restrictedAccess"
            }],
            attrs: {
                type: "checkbox"
            },
            domProps: {
                checked: Array.isArray(e.restrictedAccess) ? e._i(e.restrictedAccess, null) > -1 : e.restrictedAccess
            },
            on: {
                change: function(t) {
                    var n = e.restrictedAccess
                      , r = t.target
                      , a = !!r.checked;
                    if (Array.isArray(n)) {
                        var i = e._i(n, null);
                        r.checked ? i < 0 && (e.restrictedAccess = n.concat([null])) : i > -1 && (e.restrictedAccess = n.slice(0, i).concat(n.slice(i + 1)))
                    } else
                        e.restrictedAccess = a
                }
            }
        }), e._v(" Restrict access\n        ")]), e._v(" "), n("div", {
            staticClass: "form-entry__info"
        }, [e._v("\n          If checked, access will be restricted to the "), n("b", [e._v("/Applications/StackEdit (restricted)")]), e._v(" folder.\n        ")])])])]), e._v(" "), n("div", {
            staticClass: "modal__button-bar"
        }, [n("button", {
            staticClass: "button",
            on: {
                click: function(t) {
                    return e.config.reject()
                }
            }
        }, [e._v("Cancel")]), e._v(" "), n("button", {
            staticClass: "button button--resolve",
            on: {
                click: function(t) {
                    return e.config.resolve()
                }
            }
        }, [e._v("Ok")])])])
    }
      , a = []
}
, function(e, t, n) {
    "use strict";
    n.d(t, "a", function() {
        return r
    }),
    n.d(t, "b", function() {
        return a
    });
    var r = function() {
        var e = this
          , t = e.$createElement
          , n = e._self._c || t;
        return n("modal-inner", {
            attrs: {
                "aria-label": "Publish to Dropbox"
            }
        }, [n("div", {
            staticClass: "modal__content"
        }, [n("div", {
            staticClass: "modal__image"
        }, [n("icon-provider", {
            attrs: {
                "provider-id": "dropbox"
            }
        })], 1), e._v(" "), n("p", [e._v("Publish "), n("b", [e._v(e._s(e.currentFileName))]), e._v(" to your "), n("b", [e._v("Dropbox")]), e._v(".")]), e._v(" "), n("form-entry", {
            attrs: {
                label: "File path",
                error: "path"
            }
        }, [n("input", {
            directives: [{
                name: "model",
                rawName: "v-model.trim",
                value: e.path,
                expression: "path",
                modifiers: {
                    trim: !0
                }
            }],
            staticClass: "textfield",
            attrs: {
                slot: "field",
                type: "text"
            },
            domProps: {
                value: e.path
            },
            on: {
                keydown: function(t) {
                    return !t.type.indexOf("key") && e._k(t.keyCode, "enter", 13, t.key, "Enter") ? null : e.resolve()
                },
                input: function(t) {
                    t.target.composing || (e.path = t.target.value.trim())
                },
                blur: function(t) {
                    return e.$forceUpdate()
                }
            },
            slot: "field"
        }), e._v(" "), n("div", {
            staticClass: "form-entry__info"
        }, [n("b", [e._v("Example:")]), e._v(" " + e._s(e.config.token.fullAccess ? "" : "/Applications/StackEdit (restricted)") + "/path/to/My Document.html"), n("br"), e._v("\n        If the file exists, it will be overwritten.\n      ")])]), e._v(" "), n("form-entry", {
            attrs: {
                label: "Template"
            }
        }, [n("select", {
            directives: [{
                name: "model",
                rawName: "v-model",
                value: e.selectedTemplate,
                expression: "selectedTemplate"
            }],
            staticClass: "textfield",
            attrs: {
                slot: "field"
            },
            on: {
                keydown: function(t) {
                    return !t.type.indexOf("key") && e._k(t.keyCode, "enter", 13, t.key, "Enter") ? null : e.resolve()
                },
                change: function(t) {
                    var n = Array.prototype.filter.call(t.target.options, function(e) {
                        return e.selected
                    }).map(function(e) {
                        return "_value"in e ? e._value : e.value
                    });
                    e.selectedTemplate = t.target.multiple ? n : n[0]
                }
            },
            slot: "field"
        }, e._l(e.allTemplatesById, function(t, r) {
            return n("option", {
                key: r,
                domProps: {
                    value: r
                }
            }, [e._v("\n          " + e._s(t.name) + "\n        ")])
        }), 0), e._v(" "), n("div", {
            staticClass: "form-entry__actions"
        }, [n("a", {
            attrs: {
                href: "javascript:void(0)"
            },
            on: {
                click: e.configureTemplates
            }
        }, [e._v("Configure templates")])])])], 1), e._v(" "), n("div", {
            staticClass: "modal__button-bar"
        }, [n("button", {
            staticClass: "button",
            on: {
                click: function(t) {
                    return e.config.reject()
                }
            }
        }, [e._v("Cancel")]), e._v(" "), n("button", {
            staticClass: "button button--resolve",
            on: {
                click: function(t) {
                    return e.resolve()
                }
            }
        }, [e._v("Ok")])])])
    }
      , a = []
}
, function(e, t, n) {
    "use strict";
    n.d(t, "a", function() {
        return r
    }),
    n.d(t, "b", function() {
        return a
    });
    var r = function() {
        var e = this
          , t = e.$createElement
          , n = e._self._c || t;
        return n("modal-inner", {
            attrs: {
                "aria-label": "Synchronize with Dropbox"
            }
        }, [n("div", {
            staticClass: "modal__content"
        }, [n("div", {
            staticClass: "modal__image"
        }, [n("icon-provider", {
            attrs: {
                "provider-id": "dropbox"
            }
        })], 1), e._v(" "), n("p", [e._v("Save "), n("b", [e._v(e._s(e.currentFileName))]), e._v(" to your "), n("b", [e._v("Dropbox")]), e._v(" and keep it synced.")]), e._v(" "), n("form-entry", {
            attrs: {
                label: "File path",
                error: "path"
            }
        }, [n("input", {
            directives: [{
                name: "model",
                rawName: "v-model.trim",
                value: e.path,
                expression: "path",
                modifiers: {
                    trim: !0
                }
            }],
            staticClass: "textfield",
            attrs: {
                slot: "field",
                type: "text"
            },
            domProps: {
                value: e.path
            },
            on: {
                keydown: function(t) {
                    return !t.type.indexOf("key") && e._k(t.keyCode, "enter", 13, t.key, "Enter") ? null : e.resolve()
                },
                input: function(t) {
                    t.target.composing || (e.path = t.target.value.trim())
                },
                blur: function(t) {
                    return e.$forceUpdate()
                }
            },
            slot: "field"
        }), e._v(" "), n("div", {
            staticClass: "form-entry__info"
        }, [n("b", [e._v("Example:")]), e._v(" " + e._s(e.config.token.fullAccess ? "" : "/Applications/StackEdit (restricted)") + "/path/to/My Document.md"), n("br"), e._v("\n        If the file exists, it will be overwritten.\n      ")])])], 1), e._v(" "), n("div", {
            staticClass: "modal__button-bar"
        }, [n("button", {
            staticClass: "button",
            on: {
                click: function(t) {
                    return e.config.reject()
                }
            }
        }, [e._v("Cancel")]), e._v(" "), n("button", {
            staticClass: "button button--resolve",
            on: {
                click: function(t) {
                    return e.resolve()
                }
            }
        }, [e._v("Ok")])])])
    }
      , a = []
}
, function(e, t, n) {
    "use strict";
    n.d(t, "a", function() {
        return r
    }),
    n.d(t, "b", function() {
        return a
    });
    var r = function() {
        var e = this
          , t = e.$createElement
          , n = e._self._c || t;
        return n("modal-inner", {
            attrs: {
                "aria-label": "Publish to Gist"
            }
        }, [n("div", {
            staticClass: "modal__content"
        }, [n("div", {
            staticClass: "modal__image"
        }, [n("icon-provider", {
            attrs: {
                "provider-id": "gist"
            }
        })], 1), e._v(" "), n("p", [e._v("Publish "), n("b", [e._v(e._s(e.currentFileName))]), e._v(" to a "), n("b", [e._v("Gist")]), e._v(".")]), e._v(" "), n("form-entry", {
            attrs: {
                label: "Filename",
                error: "filename"
            }
        }, [n("input", {
            directives: [{
                name: "model",
                rawName: "v-model.trim",
                value: e.filename,
                expression: "filename",
                modifiers: {
                    trim: !0
                }
            }],
            staticClass: "textfield",
            attrs: {
                slot: "field",
                type: "text"
            },
            domProps: {
                value: e.filename
            },
            on: {
                keydown: function(t) {
                    return !t.type.indexOf("key") && e._k(t.keyCode, "enter", 13, t.key, "Enter") ? null : e.resolve()
                },
                input: function(t) {
                    t.target.composing || (e.filename = t.target.value.trim())
                },
                blur: function(t) {
                    return e.$forceUpdate()
                }
            },
            slot: "field"
        })]), e._v(" "), n("div", {
            staticClass: "form-entry"
        }, [n("div", {
            staticClass: "form-entry__checkbox"
        }, [n("label", [n("input", {
            directives: [{
                name: "model",
                rawName: "v-model",
                value: e.isPublic,
                expression: "isPublic"
            }],
            attrs: {
                type: "checkbox"
            },
            domProps: {
                checked: Array.isArray(e.isPublic) ? e._i(e.isPublic, null) > -1 : e.isPublic
            },
            on: {
                change: function(t) {
                    var n = e.isPublic
                      , r = t.target
                      , a = !!r.checked;
                    if (Array.isArray(n)) {
                        var i = e._i(n, null);
                        r.checked ? i < 0 && (e.isPublic = n.concat([null])) : i > -1 && (e.isPublic = n.slice(0, i).concat(n.slice(i + 1)))
                    } else
                        e.isPublic = a
                }
            }
        }), e._v(" Public\n        ")])])]), e._v(" "), n("form-entry", {
            attrs: {
                label: "Existing Gist ID",
                info: "optional"
            }
        }, [n("input", {
            directives: [{
                name: "model",
                rawName: "v-model.trim",
                value: e.gistId,
                expression: "gistId",
                modifiers: {
                    trim: !0
                }
            }],
            staticClass: "textfield",
            attrs: {
                slot: "field",
                type: "text"
            },
            domProps: {
                value: e.gistId
            },
            on: {
                keydown: function(t) {
                    return !t.type.indexOf("key") && e._k(t.keyCode, "enter", 13, t.key, "Enter") ? null : e.resolve()
                },
                input: function(t) {
                    t.target.composing || (e.gistId = t.target.value.trim())
                },
                blur: function(t) {
                    return e.$forceUpdate()
                }
            },
            slot: "field"
        }), e._v(" "), n("div", {
            staticClass: "form-entry__info"
        }, [e._v("\n        If the file exists in the Gist, it will be overwritten.\n      ")])]), e._v(" "), n("form-entry", {
            attrs: {
                label: "Template"
            }
        }, [n("select", {
            directives: [{
                name: "model",
                rawName: "v-model",
                value: e.selectedTemplate,
                expression: "selectedTemplate"
            }],
            staticClass: "textfield",
            attrs: {
                slot: "field"
            },
            on: {
                keydown: function(t) {
                    return !t.type.indexOf("key") && e._k(t.keyCode, "enter", 13, t.key, "Enter") ? null : e.resolve()
                },
                change: function(t) {
                    var n = Array.prototype.filter.call(t.target.options, function(e) {
                        return e.selected
                    }).map(function(e) {
                        return "_value"in e ? e._value : e.value
                    });
                    e.selectedTemplate = t.target.multiple ? n : n[0]
                }
            },
            slot: "field"
        }, e._l(e.allTemplatesById, function(t, r) {
            return n("option", {
                key: r,
                domProps: {
                    value: r
                }
            }, [e._v("\n          " + e._s(t.name) + "\n        ")])
        }), 0), e._v(" "), n("div", {
            staticClass: "form-entry__actions"
        }, [n("a", {
            attrs: {
                href: "javascript:void(0)"
            },
            on: {
                click: e.configureTemplates
            }
        }, [e._v("Configure templates")])])]), e._v(" "), n("div", {
            staticClass: "modal__info"
        }, [n("b", [e._v("ProTip:")]), e._v(" You can provide a value for "), n("code", [e._v("title")]), e._v(" in the "), n("a", {
            attrs: {
                href: "javascript:void(0)"
            },
            on: {
                click: e.openFileProperties
            }
        }, [e._v("file properties")]), e._v(".\n    ")])], 1), e._v(" "), n("div", {
            staticClass: "modal__button-bar"
        }, [n("button", {
            staticClass: "button",
            on: {
                click: function(t) {
                    return e.config.reject()
                }
            }
        }, [e._v("Cancel")]), e._v(" "), n("button", {
            staticClass: "button button--resolve",
            on: {
                click: function(t) {
                    return e.resolve()
                }
            }
        }, [e._v("Ok")])])])
    }
      , a = []
}
, function(e, t, n) {
    "use strict";
    n.d(t, "a", function() {
        return r
    }),
    n.d(t, "b", function() {
        return a
    });
    var r = function() {
        var e = this
          , t = e.$createElement
          , n = e._self._c || t;
        return n("modal-inner", {
            attrs: {
                "aria-label": "Synchronize with Gist"
            }
        }, [n("div", {
            staticClass: "modal__content"
        }, [n("div", {
            staticClass: "modal__image"
        }, [n("icon-provider", {
            attrs: {
                "provider-id": "gist"
            }
        })], 1), e._v(" "), n("p", [e._v("Save "), n("b", [e._v(e._s(e.currentFileName))]), e._v(" to a "), n("b", [e._v("Gist")]), e._v(" and keep it synced.")]), e._v(" "), n("form-entry", {
            attrs: {
                label: "Filename",
                error: "filename"
            }
        }, [n("input", {
            directives: [{
                name: "model",
                rawName: "v-model.trim",
                value: e.filename,
                expression: "filename",
                modifiers: {
                    trim: !0
                }
            }],
            staticClass: "textfield",
            attrs: {
                slot: "field",
                type: "text"
            },
            domProps: {
                value: e.filename
            },
            on: {
                keydown: function(t) {
                    return !t.type.indexOf("key") && e._k(t.keyCode, "enter", 13, t.key, "Enter") ? null : e.resolve()
                },
                input: function(t) {
                    t.target.composing || (e.filename = t.target.value.trim())
                },
                blur: function(t) {
                    return e.$forceUpdate()
                }
            },
            slot: "field"
        })]), e._v(" "), n("div", {
            staticClass: "form-entry"
        }, [n("div", {
            staticClass: "form-entry__checkbox"
        }, [n("label", [n("input", {
            directives: [{
                name: "model",
                rawName: "v-model",
                value: e.isPublic,
                expression: "isPublic"
            }],
            attrs: {
                type: "checkbox"
            },
            domProps: {
                checked: Array.isArray(e.isPublic) ? e._i(e.isPublic, null) > -1 : e.isPublic
            },
            on: {
                change: function(t) {
                    var n = e.isPublic
                      , r = t.target
                      , a = !!r.checked;
                    if (Array.isArray(n)) {
                        var i = e._i(n, null);
                        r.checked ? i < 0 && (e.isPublic = n.concat([null])) : i > -1 && (e.isPublic = n.slice(0, i).concat(n.slice(i + 1)))
                    } else
                        e.isPublic = a
                }
            }
        }), e._v(" Public\n        ")])])]), e._v(" "), n("form-entry", {
            attrs: {
                label: "Existing Gist ID",
                info: "optional"
            }
        }, [n("input", {
            directives: [{
                name: "model",
                rawName: "v-model.trim",
                value: e.gistId,
                expression: "gistId",
                modifiers: {
                    trim: !0
                }
            }],
            staticClass: "textfield",
            attrs: {
                slot: "field",
                type: "text"
            },
            domProps: {
                value: e.gistId
            },
            on: {
                keydown: function(t) {
                    return !t.type.indexOf("key") && e._k(t.keyCode, "enter", 13, t.key, "Enter") ? null : e.resolve()
                },
                input: function(t) {
                    t.target.composing || (e.gistId = t.target.value.trim())
                },
                blur: function(t) {
                    return e.$forceUpdate()
                }
            },
            slot: "field"
        }), e._v(" "), n("div", {
            staticClass: "form-entry__info"
        }, [e._v("\n        If the file exists in the Gist, it will be overwritten.\n      ")])])], 1), e._v(" "), n("div", {
            staticClass: "modal__button-bar"
        }, [n("button", {
            staticClass: "button",
            on: {
                click: function(t) {
                    return e.config.reject()
                }
            }
        }, [e._v("Cancel")]), e._v(" "), n("button", {
            staticClass: "button button--resolve",
            on: {
                click: function(t) {
                    return e.resolve()
                }
            }
        }, [e._v("Ok")])])])
    }
      , a = []
}
, function(e, t, n) {
    "use strict";
    n.d(t, "a", function() {
        return r
    }),
    n.d(t, "b", function() {
        return a
    });
    var r = function() {
        var e = this
          , t = e.$createElement
          , n = e._self._c || t;
        return n("modal-inner", {
            attrs: {
                "aria-label": "Link GitHub account"
            }
        }, [n("div", {
            staticClass: "modal__content"
        }, [n("div", {
            staticClass: "modal__image"
        }, [n("icon-provider", {
            attrs: {
                "provider-id": "github"
            }
        })], 1), e._v(" "), n("p", [e._v("Link your "), n("b", [e._v("GitHub")]), e._v(" account to "), n("b", [e._v("StackEdit")]), e._v(".")]), e._v(" "), n("div", {
            staticClass: "form-entry"
        }, [n("div", {
            staticClass: "form-entry__checkbox"
        }, [n("label", [n("input", {
            directives: [{
                name: "model",
                rawName: "v-model",
                value: e.repoFullAccess,
                expression: "repoFullAccess"
            }],
            attrs: {
                type: "checkbox"
            },
            domProps: {
                checked: Array.isArray(e.repoFullAccess) ? e._i(e.repoFullAccess, null) > -1 : e.repoFullAccess
            },
            on: {
                change: function(t) {
                    var n = e.repoFullAccess
                      , r = t.target
                      , a = !!r.checked;
                    if (Array.isArray(n)) {
                        var i = e._i(n, null);
                        r.checked ? i < 0 && (e.repoFullAccess = n.concat([null])) : i > -1 && (e.repoFullAccess = n.slice(0, i).concat(n.slice(i + 1)))
                    } else
                        e.repoFullAccess = a
                }
            }
        }), e._v(" Grant access to your private repositories\n        ")])])])]), e._v(" "), n("div", {
            staticClass: "modal__button-bar"
        }, [n("button", {
            staticClass: "button",
            on: {
                click: function(t) {
                    return e.config.reject()
                }
            }
        }, [e._v("Cancel")]), e._v(" "), n("button", {
            staticClass: "button button--resolve",
            on: {
                click: function(t) {
                    return e.config.resolve()
                }
            }
        }, [e._v("Ok")])])])
    }
      , a = []
}
, function(e, t, n) {
    "use strict";
    n.d(t, "a", function() {
        return r
    }),
    n.d(t, "b", function() {
        return a
    });
    var r = function() {
        var e = this
          , t = e.$createElement
          , n = e._self._c || t;
        return n("modal-inner", {
            attrs: {
                "aria-label": "Synchronize with GitHub"
            }
        }, [n("div", {
            staticClass: "modal__content"
        }, [n("div", {
            staticClass: "modal__image"
        }, [n("icon-provider", {
            attrs: {
                "provider-id": "github"
            }
        })], 1), e._v(" "), n("p", [e._v("Open a file from your "), n("b", [e._v("GitHub")]), e._v(" repository and keep it synced.")]), e._v(" "), n("form-entry", {
            attrs: {
                label: "Repository URL",
                error: "repoUrl"
            }
        }, [n("input", {
            directives: [{
                name: "model",
                rawName: "v-model.trim",
                value: e.repoUrl,
                expression: "repoUrl",
                modifiers: {
                    trim: !0
                }
            }],
            staticClass: "textfield",
            attrs: {
                slot: "field",
                type: "text"
            },
            domProps: {
                value: e.repoUrl
            },
            on: {
                keydown: function(t) {
                    return !t.type.indexOf("key") && e._k(t.keyCode, "enter", 13, t.key, "Enter") ? null : e.resolve()
                },
                input: function(t) {
                    t.target.composing || (e.repoUrl = t.target.value.trim())
                },
                blur: function(t) {
                    return e.$forceUpdate()
                }
            },
            slot: "field"
        }), e._v(" "), n("div", {
            staticClass: "form-entry__info"
        }, [n("b", [e._v("Example:")]), e._v(" https://github.com/owner/my-repo\n      ")])]), e._v(" "), n("form-entry", {
            attrs: {
                label: "File path",
                error: "path"
            }
        }, [n("input", {
            directives: [{
                name: "model",
                rawName: "v-model.trim",
                value: e.path,
                expression: "path",
                modifiers: {
                    trim: !0
                }
            }],
            staticClass: "textfield",
            attrs: {
                slot: "field",
                type: "text"
            },
            domProps: {
                value: e.path
            },
            on: {
                keydown: function(t) {
                    return !t.type.indexOf("key") && e._k(t.keyCode, "enter", 13, t.key, "Enter") ? null : e.resolve()
                },
                input: function(t) {
                    t.target.composing || (e.path = t.target.value.trim())
                },
                blur: function(t) {
                    return e.$forceUpdate()
                }
            },
            slot: "field"
        }), e._v(" "), n("div", {
            staticClass: "form-entry__info"
        }, [n("b", [e._v("Example:")]), e._v(" path/to/README.md\n      ")])]), e._v(" "), n("form-entry", {
            attrs: {
                label: "Branch",
                info: "optional"
            }
        }, [n("input", {
            directives: [{
                name: "model",
                rawName: "v-model.trim",
                value: e.branch,
                expression: "branch",
                modifiers: {
                    trim: !0
                }
            }],
            staticClass: "textfield",
            attrs: {
                slot: "field",
                type: "text"
            },
            domProps: {
                value: e.branch
            },
            on: {
                keydown: function(t) {
                    return !t.type.indexOf("key") && e._k(t.keyCode, "enter", 13, t.key, "Enter") ? null : e.resolve()
                },
                input: function(t) {
                    t.target.composing || (e.branch = t.target.value.trim())
                },
                blur: function(t) {
                    return e.$forceUpdate()
                }
            },
            slot: "field"
        }), e._v(" "), n("div", {
            staticClass: "form-entry__info"
        }, [e._v("\n        If not supplied, the "), n("code", [e._v("master")]), e._v(" branch will be used.\n      ")])])], 1), e._v(" "), n("div", {
            staticClass: "modal__button-bar"
        }, [n("button", {
            staticClass: "button",
            on: {
                click: function(t) {
                    return e.config.reject()
                }
            }
        }, [e._v("Cancel")]), e._v(" "), n("button", {
            staticClass: "button button--resolve",
            on: {
                click: function(t) {
                    return e.resolve()
                }
            }
        }, [e._v("Ok")])])])
    }
      , a = []
}
, function(e, t, n) {
    "use strict";
    n.d(t, "a", function() {
        return r
    }),
    n.d(t, "b", function() {
        return a
    });
    var r = function() {
        var e = this
          , t = e.$createElement
          , n = e._self._c || t;
        return n("modal-inner", {
            attrs: {
                "aria-label": "Publish to GitHub"
            }
        }, [n("div", {
            staticClass: "modal__content"
        }, [n("div", {
            staticClass: "modal__image"
        }, [n("icon-provider", {
            attrs: {
                "provider-id": "github"
            }
        })], 1), e._v(" "), n("p", [e._v("Publish "), n("b", [e._v(e._s(e.currentFileName))]), e._v(" to your "), n("b", [e._v("GitHub")]), e._v(" repository.")]), e._v(" "), n("form-entry", {
            attrs: {
                label: "Repository URL",
                error: "repoUrl"
            }
        }, [n("input", {
            directives: [{
                name: "model",
                rawName: "v-model.trim",
                value: e.repoUrl,
                expression: "repoUrl",
                modifiers: {
                    trim: !0
                }
            }],
            staticClass: "textfield",
            attrs: {
                slot: "field",
                type: "text"
            },
            domProps: {
                value: e.repoUrl
            },
            on: {
                keydown: function(t) {
                    return !t.type.indexOf("key") && e._k(t.keyCode, "enter", 13, t.key, "Enter") ? null : e.resolve()
                },
                input: function(t) {
                    t.target.composing || (e.repoUrl = t.target.value.trim())
                },
                blur: function(t) {
                    return e.$forceUpdate()
                }
            },
            slot: "field"
        }), e._v(" "), n("div", {
            staticClass: "form-entry__info"
        }, [n("b", [e._v("Example:")]), e._v(" https://github.com/owner/my-repo\n      ")])]), e._v(" "), n("form-entry", {
            attrs: {
                label: "File path",
                error: "path"
            }
        }, [n("input", {
            directives: [{
                name: "model",
                rawName: "v-model.trim",
                value: e.path,
                expression: "path",
                modifiers: {
                    trim: !0
                }
            }],
            staticClass: "textfield",
            attrs: {
                slot: "field",
                type: "text"
            },
            domProps: {
                value: e.path
            },
            on: {
                keydown: function(t) {
                    return !t.type.indexOf("key") && e._k(t.keyCode, "enter", 13, t.key, "Enter") ? null : e.resolve()
                },
                input: function(t) {
                    t.target.composing || (e.path = t.target.value.trim())
                },
                blur: function(t) {
                    return e.$forceUpdate()
                }
            },
            slot: "field"
        }), e._v(" "), n("div", {
            staticClass: "form-entry__info"
        }, [n("b", [e._v("Example:")]), e._v(" path/to/README.md"), n("br"), e._v("\n        If the file exists, it will be overwritten.\n      ")])]), e._v(" "), n("form-entry", {
            attrs: {
                label: "Branch",
                info: "optional"
            }
        }, [n("input", {
            directives: [{
                name: "model",
                rawName: "v-model.trim",
                value: e.branch,
                expression: "branch",
                modifiers: {
                    trim: !0
                }
            }],
            staticClass: "textfield",
            attrs: {
                slot: "field",
                type: "text"
            },
            domProps: {
                value: e.branch
            },
            on: {
                keydown: function(t) {
                    return !t.type.indexOf("key") && e._k(t.keyCode, "enter", 13, t.key, "Enter") ? null : e.resolve()
                },
                input: function(t) {
                    t.target.composing || (e.branch = t.target.value.trim())
                },
                blur: function(t) {
                    return e.$forceUpdate()
                }
            },
            slot: "field"
        }), e._v(" "), n("div", {
            staticClass: "form-entry__info"
        }, [e._v("\n        If not supplied, the "), n("code", [e._v("master")]), e._v(" branch will be used.\n      ")])]), e._v(" "), n("form-entry", {
            attrs: {
                label: "Template"
            }
        }, [n("select", {
            directives: [{
                name: "model",
                rawName: "v-model",
                value: e.selectedTemplate,
                expression: "selectedTemplate"
            }],
            staticClass: "textfield",
            attrs: {
                slot: "field"
            },
            on: {
                keydown: function(t) {
                    return !t.type.indexOf("key") && e._k(t.keyCode, "enter", 13, t.key, "Enter") ? null : e.resolve()
                },
                change: function(t) {
                    var n = Array.prototype.filter.call(t.target.options, function(e) {
                        return e.selected
                    }).map(function(e) {
                        return "_value"in e ? e._value : e.value
                    });
                    e.selectedTemplate = t.target.multiple ? n : n[0]
                }
            },
            slot: "field"
        }, e._l(e.allTemplatesById, function(t, r) {
            return n("option", {
                key: r,
                domProps: {
                    value: r
                }
            }, [e._v("\n          " + e._s(t.name) + "\n        ")])
        }), 0), e._v(" "), n("div", {
            staticClass: "form-entry__actions"
        }, [n("a", {
            attrs: {
                href: "javascript:void(0)"
            },
            on: {
                click: e.configureTemplates
            }
        }, [e._v("Configure templates")])])])], 1), e._v(" "), n("div", {
            staticClass: "modal__button-bar"
        }, [n("button", {
            staticClass: "button",
            on: {
                click: function(t) {
                    return e.config.reject()
                }
            }
        }, [e._v("Cancel")]), e._v(" "), n("button", {
            staticClass: "button button--resolve",
            on: {
                click: function(t) {
                    return e.resolve()
                }
            }
        }, [e._v("Ok")])])])
    }
      , a = []
}
, function(e, t, n) {
    "use strict";
    n.d(t, "a", function() {
        return r
    }),
    n.d(t, "b", function() {
        return a
    });
    var r = function() {
        var e = this
          , t = e.$createElement
          , n = e._self._c || t;
        return n("modal-inner", {
            attrs: {
                "aria-label": "Synchronize with GitHub"
            }
        }, [n("div", {
            staticClass: "modal__content"
        }, [n("div", {
            staticClass: "modal__image"
        }, [n("icon-provider", {
            attrs: {
                "provider-id": "github"
            }
        })], 1), e._v(" "), n("p", [e._v("Save "), n("b", [e._v(e._s(e.currentFileName))]), e._v(" to your "), n("b", [e._v("GitHub")]), e._v(" repository and keep it synced.")]), e._v(" "), n("form-entry", {
            attrs: {
                label: "Repository URL",
                error: "repoUrl"
            }
        }, [n("input", {
            directives: [{
                name: "model",
                rawName: "v-model.trim",
                value: e.repoUrl,
                expression: "repoUrl",
                modifiers: {
                    trim: !0
                }
            }],
            staticClass: "textfield",
            attrs: {
                slot: "field",
                type: "text"
            },
            domProps: {
                value: e.repoUrl
            },
            on: {
                keydown: function(t) {
                    return !t.type.indexOf("key") && e._k(t.keyCode, "enter", 13, t.key, "Enter") ? null : e.resolve()
                },
                input: function(t) {
                    t.target.composing || (e.repoUrl = t.target.value.trim())
                },
                blur: function(t) {
                    return e.$forceUpdate()
                }
            },
            slot: "field"
        }), e._v(" "), n("div", {
            staticClass: "form-entry__info"
        }, [n("b", [e._v("Example:")]), e._v(" https://github.com/owner/my-repo\n      ")])]), e._v(" "), n("form-entry", {
            attrs: {
                label: "File path",
                error: "path"
            }
        }, [n("input", {
            directives: [{
                name: "model",
                rawName: "v-model.trim",
                value: e.path,
                expression: "path",
                modifiers: {
                    trim: !0
                }
            }],
            staticClass: "textfield",
            attrs: {
                slot: "field",
                type: "text"
            },
            domProps: {
                value: e.path
            },
            on: {
                keydown: function(t) {
                    return !t.type.indexOf("key") && e._k(t.keyCode, "enter", 13, t.key, "Enter") ? null : e.resolve()
                },
                input: function(t) {
                    t.target.composing || (e.path = t.target.value.trim())
                },
                blur: function(t) {
                    return e.$forceUpdate()
                }
            },
            slot: "field"
        }), e._v(" "), n("div", {
            staticClass: "form-entry__info"
        }, [n("b", [e._v("Example:")]), e._v(" path/to/README.md"), n("br"), e._v("\n        If the file exists, it will be overwritten.\n      ")])]), e._v(" "), n("form-entry", {
            attrs: {
                label: "Branch",
                info: "optional"
            }
        }, [n("input", {
            directives: [{
                name: "model",
                rawName: "v-model.trim",
                value: e.branch,
                expression: "branch",
                modifiers: {
                    trim: !0
                }
            }],
            staticClass: "textfield",
            attrs: {
                slot: "field",
                type: "text"
            },
            domProps: {
                value: e.branch
            },
            on: {
                keydown: function(t) {
                    return !t.type.indexOf("key") && e._k(t.keyCode, "enter", 13, t.key, "Enter") ? null : e.resolve()
                },
                input: function(t) {
                    t.target.composing || (e.branch = t.target.value.trim())
                },
                blur: function(t) {
                    return e.$forceUpdate()
                }
            },
            slot: "field"
        }), e._v(" "), n("div", {
            staticClass: "form-entry__info"
        }, [e._v("\n        If not supplied, the "), n("code", [e._v("master")]), e._v(" branch will be used.\n      ")])])], 1), e._v(" "), n("div", {
            staticClass: "modal__button-bar"
        }, [n("button", {
            staticClass: "button",
            on: {
                click: function(t) {
                    return e.config.reject()
                }
            }
        }, [e._v("Cancel")]), e._v(" "), n("button", {
            staticClass: "button button--resolve",
            on: {
                click: function(t) {
                    return e.resolve()
                }
            }
        }, [e._v("Ok")])])])
    }
      , a = []
}
, function(e, t, n) {
    "use strict";
    n.d(t, "a", function() {
        return r
    }),
    n.d(t, "b", function() {
        return a
    });
    var r = function() {
        var e = this
          , t = e.$createElement
          , n = e._self._c || t;
        return n("modal-inner", {
            attrs: {
                "aria-label": "Synchronize with GitHub"
            }
        }, [n("div", {
            staticClass: "modal__content"
        }, [n("div", {
            staticClass: "modal__image"
        }, [n("icon-provider", {
            attrs: {
                "provider-id": "github"
            }
        })], 1), e._v(" "), n("p", [e._v("Create a workspace synced with a "), n("b", [e._v("GitHub")]), e._v(" repository folder.")]), e._v(" "), n("form-entry", {
            attrs: {
                label: "Repository URL",
                error: "repoUrl"
            }
        }, [n("input", {
            directives: [{
                name: "model",
                rawName: "v-model.trim",
                value: e.repoUrl,
                expression: "repoUrl",
                modifiers: {
                    trim: !0
                }
            }],
            staticClass: "textfield",
            attrs: {
                slot: "field",
                type: "text"
            },
            domProps: {
                value: e.repoUrl
            },
            on: {
                keydown: function(t) {
                    return !t.type.indexOf("key") && e._k(t.keyCode, "enter", 13, t.key, "Enter") ? null : e.resolve()
                },
                input: function(t) {
                    t.target.composing || (e.repoUrl = t.target.value.trim())
                },
                blur: function(t) {
                    return e.$forceUpdate()
                }
            },
            slot: "field"
        }), e._v(" "), n("div", {
            staticClass: "form-entry__info"
        }, [n("b", [e._v("Example:")]), e._v(" https://github.com/owner/my-repo\n      ")])]), e._v(" "), n("form-entry", {
            attrs: {
                label: "Folder path",
                info: "optional"
            }
        }, [n("input", {
            directives: [{
                name: "model",
                rawName: "v-model.trim",
                value: e.path,
                expression: "path",
                modifiers: {
                    trim: !0
                }
            }],
            staticClass: "textfield",
            attrs: {
                slot: "field",
                type: "text"
            },
            domProps: {
                value: e.path
            },
            on: {
                keydown: function(t) {
                    return !t.type.indexOf("key") && e._k(t.keyCode, "enter", 13, t.key, "Enter") ? null : e.resolve()
                },
                input: function(t) {
                    t.target.composing || (e.path = t.target.value.trim())
                },
                blur: function(t) {
                    return e.$forceUpdate()
                }
            },
            slot: "field"
        }), e._v(" "), n("div", {
            staticClass: "form-entry__info"
        }, [e._v("\n        If not supplied, the root folder will be used.\n      ")])]), e._v(" "), n("form-entry", {
            attrs: {
                label: "Branch",
                info: "optional"
            }
        }, [n("input", {
            directives: [{
                name: "model",
                rawName: "v-model.trim",
                value: e.branch,
                expression: "branch",
                modifiers: {
                    trim: !0
                }
            }],
            staticClass: "textfield",
            attrs: {
                slot: "field",
                type: "text"
            },
            domProps: {
                value: e.branch
            },
            on: {
                keydown: function(t) {
                    return !t.type.indexOf("key") && e._k(t.keyCode, "enter", 13, t.key, "Enter") ? null : e.resolve()
                },
                input: function(t) {
                    t.target.composing || (e.branch = t.target.value.trim())
                },
                blur: function(t) {
                    return e.$forceUpdate()
                }
            },
            slot: "field"
        }), e._v(" "), n("div", {
            staticClass: "form-entry__info"
        }, [e._v("\n        If not supplied, the "), n("code", [e._v("master")]), e._v(" branch will be used.\n      ")])])], 1), e._v(" "), n("div", {
            staticClass: "modal__button-bar"
        }, [n("button", {
            staticClass: "button",
            on: {
                click: function(t) {
                    return e.config.reject()
                }
            }
        }, [e._v("Cancel")]), e._v(" "), n("button", {
            staticClass: "button button--resolve",
            on: {
                click: function(t) {
                    return e.resolve()
                }
            }
        }, [e._v("Ok")])])])
    }
      , a = []
}
, function(e, t, n) {
    "use strict";
    n.d(t, "a", function() {
        return r
    }),
    n.d(t, "b", function() {
        return a
    });
    var r = function() {
        var e = this
          , t = e.$createElement
          , n = e._self._c || t;
        return n("modal-inner", {
            attrs: {
                "aria-label": "GitLab account"
            }
        }, [n("div", {
            staticClass: "modal__content"
        }, [n("div", {
            staticClass: "modal__image"
        }, [n("icon-provider", {
            attrs: {
                "provider-id": "gitlab"
            }
        })], 1), e._v(" "), n("p", [e._v("Link your "), n("b", [e._v("GitLab")]), e._v(" account to "), n("b", [e._v("StackEdit")]), e._v(".")]), e._v(" "), n("form-entry", {
            attrs: {
                label: "GitLab URL",
                error: "serverUrl"
            }
        }, [e.config.forceServerUrl ? n("input", {
            directives: [{
                name: "model",
                rawName: "v-model",
                value: e.config.forceServerUrl,
                expression: "config.forceServerUrl"
            }],
            staticClass: "textfield",
            attrs: {
                slot: "field",
                type: "text",
                disabled: "disabled"
            },
            domProps: {
                value: e.config.forceServerUrl
            },
            on: {
                input: function(t) {
                    t.target.composing || e.$set(e.config, "forceServerUrl", t.target.value)
                }
            },
            slot: "field"
        }) : n("input", {
            directives: [{
                name: "model",
                rawName: "v-model.trim",
                value: e.serverUrl,
                expression: "serverUrl",
                modifiers: {
                    trim: !0
                }
            }],
            staticClass: "textfield",
            attrs: {
                slot: "field",
                type: "text"
            },
            domProps: {
                value: e.serverUrl
            },
            on: {
                keydown: function(t) {
                    return !t.type.indexOf("key") && e._k(t.keyCode, "enter", 13, t.key, "Enter") ? null : e.resolve()
                },
                input: function(t) {
                    t.target.composing || (e.serverUrl = t.target.value.trim())
                },
                blur: function(t) {
                    return e.$forceUpdate()
                }
            },
            slot: "field"
        }), e._v(" "), n("div", {
            staticClass: "form-entry__info"
        }, [n("b", [e._v("Example:")]), e._v(" https://gitlab.example.com/\n      ")])]), e._v(" "), n("form-entry", {
            attrs: {
                label: "Application ID",
                error: "applicationId"
            }
        }, [n("input", {
            directives: [{
                name: "model",
                rawName: "v-model.trim",
                value: e.applicationId,
                expression: "applicationId",
                modifiers: {
                    trim: !0
                }
            }],
            staticClass: "textfield",
            attrs: {
                slot: "field",
                type: "text"
            },
            domProps: {
                value: e.applicationId
            },
            on: {
                keydown: function(t) {
                    return !t.type.indexOf("key") && e._k(t.keyCode, "enter", 13, t.key, "Enter") ? null : e.resolve()
                },
                input: function(t) {
                    t.target.composing || (e.applicationId = t.target.value.trim())
                },
                blur: function(t) {
                    return e.$forceUpdate()
                }
            },
            slot: "field"
        }), e._v(" "), n("div", {
            staticClass: "form-entry__info"
        }, [e._v("\n        You have to configure an OAuth2 Application with redirect URL "), n("b", [e._v(e._s(e.redirectUrl))])]), e._v(" "), n("div", {
            staticClass: "form-entry__actions"
        }, [n("a", {
            attrs: {
                href: "https://docs.gitlab.com/ee/integration/oauth_provider.html",
                target: "_blank"
            }
        }, [e._v("More info")])])])], 1), e._v(" "), n("div", {
            staticClass: "modal__button-bar"
        }, [n("button", {
            staticClass: "button",
            on: {
                click: function(t) {
                    return e.config.reject()
                }
            }
        }, [e._v("Cancel")]), e._v(" "), n("button", {
            staticClass: "button button--resolve",
            on: {
                click: function(t) {
                    return e.resolve()
                }
            }
        }, [e._v("Ok")])])])
    }
      , a = []
}
, function(e, t, n) {
    "use strict";
    n.d(t, "a", function() {
        return r
    }),
    n.d(t, "b", function() {
        return a
    });
    var r = function() {
        var e = this
          , t = e.$createElement
          , n = e._self._c || t;
        return n("modal-inner", {
            attrs: {
                "aria-label": "Synchronize with GitLab"
            }
        }, [n("div", {
            staticClass: "modal__content"
        }, [n("div", {
            staticClass: "modal__image"
        }, [n("icon-provider", {
            attrs: {
                "provider-id": "gitlab"
            }
        })], 1), e._v(" "), n("p", [e._v("Open a file from your "), n("b", [e._v("GitLab")]), e._v(" project and keep it synced.")]), e._v(" "), n("form-entry", {
            attrs: {
                label: "Project URL",
                error: "projectUrl"
            }
        }, [n("input", {
            directives: [{
                name: "model",
                rawName: "v-model.trim",
                value: e.projectUrl,
                expression: "projectUrl",
                modifiers: {
                    trim: !0
                }
            }],
            staticClass: "textfield",
            attrs: {
                slot: "field",
                type: "text"
            },
            domProps: {
                value: e.projectUrl
            },
            on: {
                keydown: function(t) {
                    return !t.type.indexOf("key") && e._k(t.keyCode, "enter", 13, t.key, "Enter") ? null : e.resolve()
                },
                input: function(t) {
                    t.target.composing || (e.projectUrl = t.target.value.trim())
                },
                blur: function(t) {
                    return e.$forceUpdate()
                }
            },
            slot: "field"
        }), e._v(" "), n("div", {
            staticClass: "form-entry__info"
        }, [n("b", [e._v("Example:")]), e._v(" " + e._s(e.config.token.serverUrl) + "/path/to/project\n      ")])]), e._v(" "), n("form-entry", {
            attrs: {
                label: "File path",
                error: "path"
            }
        }, [n("input", {
            directives: [{
                name: "model",
                rawName: "v-model.trim",
                value: e.path,
                expression: "path",
                modifiers: {
                    trim: !0
                }
            }],
            staticClass: "textfield",
            attrs: {
                slot: "field",
                type: "text"
            },
            domProps: {
                value: e.path
            },
            on: {
                keydown: function(t) {
                    return !t.type.indexOf("key") && e._k(t.keyCode, "enter", 13, t.key, "Enter") ? null : e.resolve()
                },
                input: function(t) {
                    t.target.composing || (e.path = t.target.value.trim())
                },
                blur: function(t) {
                    return e.$forceUpdate()
                }
            },
            slot: "field"
        }), e._v(" "), n("div", {
            staticClass: "form-entry__info"
        }, [n("b", [e._v("Example:")]), e._v(" path/to/README.md\n      ")])]), e._v(" "), n("form-entry", {
            attrs: {
                label: "Branch",
                info: "optional"
            }
        }, [n("input", {
            directives: [{
                name: "model",
                rawName: "v-model.trim",
                value: e.branch,
                expression: "branch",
                modifiers: {
                    trim: !0
                }
            }],
            staticClass: "textfield",
            attrs: {
                slot: "field",
                type: "text"
            },
            domProps: {
                value: e.branch
            },
            on: {
                keydown: function(t) {
                    return !t.type.indexOf("key") && e._k(t.keyCode, "enter", 13, t.key, "Enter") ? null : e.resolve()
                },
                input: function(t) {
                    t.target.composing || (e.branch = t.target.value.trim())
                },
                blur: function(t) {
                    return e.$forceUpdate()
                }
            },
            slot: "field"
        }), e._v(" "), n("div", {
            staticClass: "form-entry__info"
        }, [e._v("\n        If not supplied, the "), n("code", [e._v("master")]), e._v(" branch will be used.\n      ")])])], 1), e._v(" "), n("div", {
            staticClass: "modal__button-bar"
        }, [n("button", {
            staticClass: "button",
            on: {
                click: function(t) {
                    return e.config.reject()
                }
            }
        }, [e._v("Cancel")]), e._v(" "), n("button", {
            staticClass: "button button--resolve",
            on: {
                click: function(t) {
                    return e.resolve()
                }
            }
        }, [e._v("Ok")])])])
    }
      , a = []
}
, function(e, t, n) {
    "use strict";
    n.d(t, "a", function() {
        return r
    }),
    n.d(t, "b", function() {
        return a
    });
    var r = function() {
        var e = this
          , t = e.$createElement
          , n = e._self._c || t;
        return n("modal-inner", {
            attrs: {
                "aria-label": "Publish to GitLab"
            }
        }, [n("div", {
            staticClass: "modal__content"
        }, [n("div", {
            staticClass: "modal__image"
        }, [n("icon-provider", {
            attrs: {
                "provider-id": "gitlab"
            }
        })], 1), e._v(" "), n("p", [e._v("Publish "), n("b", [e._v(e._s(e.currentFileName))]), e._v(" to your "), n("b", [e._v("GitLab")]), e._v(" project.")]), e._v(" "), n("form-entry", {
            attrs: {
                label: "Project URL",
                error: "projectUrl"
            }
        }, [n("input", {
            directives: [{
                name: "model",
                rawName: "v-model.trim",
                value: e.projectUrl,
                expression: "projectUrl",
                modifiers: {
                    trim: !0
                }
            }],
            staticClass: "textfield",
            attrs: {
                slot: "field",
                type: "text"
            },
            domProps: {
                value: e.projectUrl
            },
            on: {
                keydown: function(t) {
                    return !t.type.indexOf("key") && e._k(t.keyCode, "enter", 13, t.key, "Enter") ? null : e.resolve()
                },
                input: function(t) {
                    t.target.composing || (e.projectUrl = t.target.value.trim())
                },
                blur: function(t) {
                    return e.$forceUpdate()
                }
            },
            slot: "field"
        }), e._v(" "), n("div", {
            staticClass: "form-entry__info"
        }, [n("b", [e._v("Example:")]), e._v(" " + e._s(e.config.token.serverUrl) + "/path/to/project\n      ")])]), e._v(" "), n("form-entry", {
            attrs: {
                label: "File path",
                error: "path"
            }
        }, [n("input", {
            directives: [{
                name: "model",
                rawName: "v-model.trim",
                value: e.path,
                expression: "path",
                modifiers: {
                    trim: !0
                }
            }],
            staticClass: "textfield",
            attrs: {
                slot: "field",
                type: "text"
            },
            domProps: {
                value: e.path
            },
            on: {
                keydown: function(t) {
                    return !t.type.indexOf("key") && e._k(t.keyCode, "enter", 13, t.key, "Enter") ? null : e.resolve()
                },
                input: function(t) {
                    t.target.composing || (e.path = t.target.value.trim())
                },
                blur: function(t) {
                    return e.$forceUpdate()
                }
            },
            slot: "field"
        }), e._v(" "), n("div", {
            staticClass: "form-entry__info"
        }, [n("b", [e._v("Example:")]), e._v(" path/to/README.md"), n("br"), e._v("\n        If the file exists, it will be overwritten.\n      ")])]), e._v(" "), n("form-entry", {
            attrs: {
                label: "Branch",
                info: "optional"
            }
        }, [n("input", {
            directives: [{
                name: "model",
                rawName: "v-model.trim",
                value: e.branch,
                expression: "branch",
                modifiers: {
                    trim: !0
                }
            }],
            staticClass: "textfield",
            attrs: {
                slot: "field",
                type: "text"
            },
            domProps: {
                value: e.branch
            },
            on: {
                keydown: function(t) {
                    return !t.type.indexOf("key") && e._k(t.keyCode, "enter", 13, t.key, "Enter") ? null : e.resolve()
                },
                input: function(t) {
                    t.target.composing || (e.branch = t.target.value.trim())
                },
                blur: function(t) {
                    return e.$forceUpdate()
                }
            },
            slot: "field"
        }), e._v(" "), n("div", {
            staticClass: "form-entry__info"
        }, [e._v("\n        If not supplied, the "), n("code", [e._v("master")]), e._v(" branch will be used.\n      ")])]), e._v(" "), n("form-entry", {
            attrs: {
                label: "Template"
            }
        }, [n("select", {
            directives: [{
                name: "model",
                rawName: "v-model",
                value: e.selectedTemplate,
                expression: "selectedTemplate"
            }],
            staticClass: "textfield",
            attrs: {
                slot: "field"
            },
            on: {
                keydown: function(t) {
                    return !t.type.indexOf("key") && e._k(t.keyCode, "enter", 13, t.key, "Enter") ? null : e.resolve()
                },
                change: function(t) {
                    var n = Array.prototype.filter.call(t.target.options, function(e) {
                        return e.selected
                    }).map(function(e) {
                        return "_value"in e ? e._value : e.value
                    });
                    e.selectedTemplate = t.target.multiple ? n : n[0]
                }
            },
            slot: "field"
        }, e._l(e.allTemplatesById, function(t, r) {
            return n("option", {
                key: r,
                domProps: {
                    value: r
                }
            }, [e._v("\n          " + e._s(t.name) + "\n        ")])
        }), 0), e._v(" "), n("div", {
            staticClass: "form-entry__actions"
        }, [n("a", {
            attrs: {
                href: "javascript:void(0)"
            },
            on: {
                click: e.configureTemplates
            }
        }, [e._v("Configure templates")])])])], 1), e._v(" "), n("div", {
            staticClass: "modal__button-bar"
        }, [n("button", {
            staticClass: "button",
            on: {
                click: function(t) {
                    return e.config.reject()
                }
            }
        }, [e._v("Cancel")]), e._v(" "), n("button", {
            staticClass: "button button--resolve",
            on: {
                click: function(t) {
                    return e.resolve()
                }
            }
        }, [e._v("Ok")])])])
    }
      , a = []
}
, function(e, t, n) {
    "use strict";
    n.d(t, "a", function() {
        return r
    }),
    n.d(t, "b", function() {
        return a
    });
    var r = function() {
        var e = this
          , t = e.$createElement
          , n = e._self._c || t;
        return n("modal-inner", {
            attrs: {
                "aria-label": "Synchronize with GitLab"
            }
        }, [n("div", {
            staticClass: "modal__content"
        }, [n("div", {
            staticClass: "modal__image"
        }, [n("icon-provider", {
            attrs: {
                "provider-id": "gitlab"
            }
        })], 1), e._v(" "), n("p", [e._v("Save "), n("b", [e._v(e._s(e.currentFileName))]), e._v(" to your "), n("b", [e._v("GitLab")]), e._v(" project and keep it synced.")]), e._v(" "), n("form-entry", {
            attrs: {
                label: "Project URL",
                error: "projectUrl"
            }
        }, [n("input", {
            directives: [{
                name: "model",
                rawName: "v-model.trim",
                value: e.projectUrl,
                expression: "projectUrl",
                modifiers: {
                    trim: !0
                }
            }],
            staticClass: "textfield",
            attrs: {
                slot: "field",
                type: "text"
            },
            domProps: {
                value: e.projectUrl
            },
            on: {
                keydown: function(t) {
                    return !t.type.indexOf("key") && e._k(t.keyCode, "enter", 13, t.key, "Enter") ? null : e.resolve()
                },
                input: function(t) {
                    t.target.composing || (e.projectUrl = t.target.value.trim())
                },
                blur: function(t) {
                    return e.$forceUpdate()
                }
            },
            slot: "field"
        }), e._v(" "), n("div", {
            staticClass: "form-entry__info"
        }, [n("b", [e._v("Example:")]), e._v(" " + e._s(e.config.token.serverUrl) + "/path/to/project\n      ")])]), e._v(" "), n("form-entry", {
            attrs: {
                label: "File path",
                error: "path"
            }
        }, [n("input", {
            directives: [{
                name: "model",
                rawName: "v-model.trim",
                value: e.path,
                expression: "path",
                modifiers: {
                    trim: !0
                }
            }],
            staticClass: "textfield",
            attrs: {
                slot: "field",
                type: "text"
            },
            domProps: {
                value: e.path
            },
            on: {
                keydown: function(t) {
                    return !t.type.indexOf("key") && e._k(t.keyCode, "enter", 13, t.key, "Enter") ? null : e.resolve()
                },
                input: function(t) {
                    t.target.composing || (e.path = t.target.value.trim())
                },
                blur: function(t) {
                    return e.$forceUpdate()
                }
            },
            slot: "field"
        }), e._v(" "), n("div", {
            staticClass: "form-entry__info"
        }, [n("b", [e._v("Example:")]), e._v(" path/to/README.md"), n("br"), e._v("\n        If the file exists, it will be overwritten.\n      ")])]), e._v(" "), n("form-entry", {
            attrs: {
                label: "Branch",
                info: "optional"
            }
        }, [n("input", {
            directives: [{
                name: "model",
                rawName: "v-model.trim",
                value: e.branch,
                expression: "branch",
                modifiers: {
                    trim: !0
                }
            }],
            staticClass: "textfield",
            attrs: {
                slot: "field",
                type: "text"
            },
            domProps: {
                value: e.branch
            },
            on: {
                keydown: function(t) {
                    return !t.type.indexOf("key") && e._k(t.keyCode, "enter", 13, t.key, "Enter") ? null : e.resolve()
                },
                input: function(t) {
                    t.target.composing || (e.branch = t.target.value.trim())
                },
                blur: function(t) {
                    return e.$forceUpdate()
                }
            },
            slot: "field"
        }), e._v(" "), n("div", {
            staticClass: "form-entry__info"
        }, [e._v("\n        If not supplied, the "), n("code", [e._v("master")]), e._v(" branch will be used.\n      ")])])], 1), e._v(" "), n("div", {
            staticClass: "modal__button-bar"
        }, [n("button", {
            staticClass: "button",
            on: {
                click: function(t) {
                    return e.config.reject()
                }
            }
        }, [e._v("Cancel")]), e._v(" "), n("button", {
            staticClass: "button button--resolve",
            on: {
                click: function(t) {
                    return e.resolve()
                }
            }
        }, [e._v("Ok")])])])
    }
      , a = []
}
, function(e, t, n) {
    "use strict";
    n.d(t, "a", function() {
        return r
    }),
    n.d(t, "b", function() {
        return a
    });
    var r = function() {
        var e = this
          , t = e.$createElement
          , n = e._self._c || t;
        return n("modal-inner", {
            attrs: {
                "aria-label": "Synchronize with GitLab"
            }
        }, [n("div", {
            staticClass: "modal__content"
        }, [n("div", {
            staticClass: "modal__image"
        }, [n("icon-provider", {
            attrs: {
                "provider-id": "gitlab"
            }
        })], 1), e._v(" "), n("p", [e._v("Create a workspace synced with a "), n("b", [e._v("GitLab")]), e._v(" project folder.")]), e._v(" "), n("form-entry", {
            attrs: {
                label: "Project URL",
                error: "projectUrl"
            }
        }, [n("input", {
            directives: [{
                name: "model",
                rawName: "v-model.trim",
                value: e.projectUrl,
                expression: "projectUrl",
                modifiers: {
                    trim: !0
                }
            }],
            staticClass: "textfield",
            attrs: {
                slot: "field",
                type: "text"
            },
            domProps: {
                value: e.projectUrl
            },
            on: {
                keydown: function(t) {
                    return !t.type.indexOf("key") && e._k(t.keyCode, "enter", 13, t.key, "Enter") ? null : e.resolve()
                },
                input: function(t) {
                    t.target.composing || (e.projectUrl = t.target.value.trim())
                },
                blur: function(t) {
                    return e.$forceUpdate()
                }
            },
            slot: "field"
        }), e._v(" "), n("div", {
            staticClass: "form-entry__info"
        }, [n("b", [e._v("Example:")]), e._v(" " + e._s(e.config.token.serverUrl) + "/path/to/project\n      ")])]), e._v(" "), n("form-entry", {
            attrs: {
                label: "Folder path",
                info: "optional"
            }
        }, [n("input", {
            directives: [{
                name: "model",
                rawName: "v-model.trim",
                value: e.path,
                expression: "path",
                modifiers: {
                    trim: !0
                }
            }],
            staticClass: "textfield",
            attrs: {
                slot: "field",
                type: "text"
            },
            domProps: {
                value: e.path
            },
            on: {
                keydown: function(t) {
                    return !t.type.indexOf("key") && e._k(t.keyCode, "enter", 13, t.key, "Enter") ? null : e.resolve()
                },
                input: function(t) {
                    t.target.composing || (e.path = t.target.value.trim())
                },
                blur: function(t) {
                    return e.$forceUpdate()
                }
            },
            slot: "field"
        }), e._v(" "), n("div", {
            staticClass: "form-entry__info"
        }, [e._v("\n        If not supplied, the root folder will be used.\n      ")])]), e._v(" "), n("form-entry", {
            attrs: {
                label: "Branch",
                info: "optional"
            }
        }, [n("input", {
            directives: [{
                name: "model",
                rawName: "v-model.trim",
                value: e.branch,
                expression: "branch",
                modifiers: {
                    trim: !0
                }
            }],
            staticClass: "textfield",
            attrs: {
                slot: "field",
                type: "text"
            },
            domProps: {
                value: e.branch
            },
            on: {
                keydown: function(t) {
                    return !t.type.indexOf("key") && e._k(t.keyCode, "enter", 13, t.key, "Enter") ? null : e.resolve()
                },
                input: function(t) {
                    t.target.composing || (e.branch = t.target.value.trim())
                },
                blur: function(t) {
                    return e.$forceUpdate()
                }
            },
            slot: "field"
        }), e._v(" "), n("div", {
            staticClass: "form-entry__info"
        }, [e._v("\n        If not supplied, the "), n("code", [e._v("master")]), e._v(" branch will be used.\n      ")])])], 1), e._v(" "), n("div", {
            staticClass: "modal__button-bar"
        }, [n("button", {
            staticClass: "button",
            on: {
                click: function(t) {
                    return e.config.reject()
                }
            }
        }, [e._v("Cancel")]), e._v(" "), n("button", {
            staticClass: "button button--resolve",
            on: {
                click: function(t) {
                    return e.resolve()
                }
            }
        }, [e._v("Ok")])])])
    }
      , a = []
}
, function(e, t, n) {
    "use strict";
    n.d(t, "a", function() {
        return r
    }),
    n.d(t, "b", function() {
        return a
    });
    var r = function() {
        var e = this
          , t = e.$createElement
          , n = e._self._c || t;
        return n("modal-inner", {
            attrs: {
                "aria-label": "Link Google Drive account"
            }
        }, [n("div", {
            staticClass: "modal__content"
        }, [n("div", {
            staticClass: "modal__image"
        }, [n("icon-provider", {
            attrs: {
                "provider-id": "googleDrive"
            }
        })], 1), e._v(" "), n("p", [e._v("Link your "), n("b", [e._v("Google Drive")]), e._v(" account to "), n("b", [e._v("StackEdit")]), e._v(".")]), e._v(" "), n("div", {
            staticClass: "form-entry"
        }, [n("div", {
            staticClass: "form-entry__checkbox"
        }, [n("label", [n("input", {
            directives: [{
                name: "model",
                rawName: "v-model",
                value: e.restrictedAccess,
                expression: "restrictedAccess"
            }],
            attrs: {
                type: "checkbox"
            },
            domProps: {
                checked: Array.isArray(e.restrictedAccess) ? e._i(e.restrictedAccess, null) > -1 : e.restrictedAccess
            },
            on: {
                change: function(t) {
                    var n = e.restrictedAccess
                      , r = t.target
                      , a = !!r.checked;
                    if (Array.isArray(n)) {
                        var i = e._i(n, null);
                        r.checked ? i < 0 && (e.restrictedAccess = n.concat([null])) : i > -1 && (e.restrictedAccess = n.slice(0, i).concat(n.slice(i + 1)))
                    } else
                        e.restrictedAccess = a
                }
            }
        }), e._v(" Restrict access\n        ")]), e._v(" "), n("div", {
            staticClass: "form-entry__info"
        }, [e._v("\n          If checked, access will be restricted to files that you have opened or created with "), n("b", [e._v("StackEdit")]), e._v(".\n        ")])])])]), e._v(" "), n("div", {
            staticClass: "modal__button-bar"
        }, [n("button", {
            staticClass: "button",
            on: {
                click: function(t) {
                    return e.config.reject()
                }
            }
        }, [e._v("Cancel")]), e._v(" "), n("button", {
            staticClass: "button button--resolve",
            on: {
                click: function(t) {
                    return e.config.resolve()
                }
            }
        }, [e._v("Ok")])])])
    }
      , a = []
}
, function(e, t, n) {
    "use strict";
    n.d(t, "a", function() {
        return r
    }),
    n.d(t, "b", function() {
        return a
    });
    var r = function() {
        var e = this
          , t = e.$createElement
          , n = e._self._c || t;
        return n("modal-inner", {
            attrs: {
                "aria-label": "Publish to Google Drive"
            }
        }, [n("div", {
            staticClass: "modal__content"
        }, [n("div", {
            staticClass: "modal__image"
        }, [n("icon-provider", {
            attrs: {
                "provider-id": "googleDrive"
            }
        })], 1), e._v(" "), n("p", [e._v("Publish "), n("b", [e._v(e._s(e.currentFileName))]), e._v(" to your "), n("b", [e._v("Google Drive")]), e._v(" account.")]), e._v(" "), n("form-entry", {
            attrs: {
                label: "Folder ID",
                info: "optional"
            }
        }, [n("input", {
            directives: [{
                name: "model",
                rawName: "v-model.trim",
                value: e.folderId,
                expression: "folderId",
                modifiers: {
                    trim: !0
                }
            }],
            staticClass: "textfield",
            attrs: {
                slot: "field",
                type: "text"
            },
            domProps: {
                value: e.folderId
            },
            on: {
                keydown: function(t) {
                    return !t.type.indexOf("key") && e._k(t.keyCode, "enter", 13, t.key, "Enter") ? null : e.resolve()
                },
                input: function(t) {
                    t.target.composing || (e.folderId = t.target.value.trim())
                },
                blur: function(t) {
                    return e.$forceUpdate()
                }
            },
            slot: "field"
        }), e._v(" "), n("div", {
            staticClass: "form-entry__info"
        }, [e._v("\n        If not supplied, the file will be created in your Drive root folder.\n      ")]), e._v(" "), n("div", {
            staticClass: "form-entry__actions"
        }, [n("a", {
            attrs: {
                href: "javascript:void(0)"
            },
            on: {
                click: e.openFolder
            }
        }, [e._v("Choose folder")])])]), e._v(" "), n("form-entry", {
            attrs: {
                label: "Existing file ID",
                info: "optional"
            }
        }, [n("input", {
            directives: [{
                name: "model",
                rawName: "v-model.trim",
                value: e.fileId,
                expression: "fileId",
                modifiers: {
                    trim: !0
                }
            }],
            staticClass: "textfield",
            attrs: {
                slot: "field",
                type: "text"
            },
            domProps: {
                value: e.fileId
            },
            on: {
                keydown: function(t) {
                    return !t.type.indexOf("key") && e._k(t.keyCode, "enter", 13, t.key, "Enter") ? null : e.resolve()
                },
                input: function(t) {
                    t.target.composing || (e.fileId = t.target.value.trim())
                },
                blur: function(t) {
                    return e.$forceUpdate()
                }
            },
            slot: "field"
        }), e._v(" "), n("div", {
            staticClass: "form-entry__info"
        }, [e._v("\n        This will overwrite the file on the server.\n      ")])]), e._v(" "), n("div", {
            staticClass: "form-entry"
        }, [n("div", {
            staticClass: "form-entry__radio"
        }, [n("label", [n("input", {
            directives: [{
                name: "model",
                rawName: "v-model",
                value: e.format,
                expression: "format"
            }],
            attrs: {
                type: "radio",
                value: "markdown"
            },
            domProps: {
                checked: e._q(e.format, "markdown")
            },
            on: {
                change: function(t) {
                    e.format = "markdown"
                }
            }
        }), e._v(" Export Markdown\n        ")])]), e._v(" "), n("div", {
            staticClass: "form-entry__radio"
        }, [n("label", [n("input", {
            directives: [{
                name: "model",
                rawName: "v-model",
                value: e.format,
                expression: "format"
            }],
            attrs: {
                type: "radio",
                value: "html"
            },
            domProps: {
                checked: e._q(e.format, "html")
            },
            on: {
                change: function(t) {
                    e.format = "html"
                }
            }
        }), e._v(" Export HTML\n        ")])])]), e._v(" "), "html" === e.format ? n("form-entry", {
            attrs: {
                label: "Template"
            }
        }, [n("select", {
            directives: [{
                name: "model",
                rawName: "v-model",
                value: e.selectedTemplate,
                expression: "selectedTemplate"
            }],
            staticClass: "textfield",
            attrs: {
                slot: "field"
            },
            on: {
                keydown: function(t) {
                    return !t.type.indexOf("key") && e._k(t.keyCode, "enter", 13, t.key, "Enter") ? null : e.resolve()
                },
                change: function(t) {
                    var n = Array.prototype.filter.call(t.target.options, function(e) {
                        return e.selected
                    }).map(function(e) {
                        return "_value"in e ? e._value : e.value
                    });
                    e.selectedTemplate = t.target.multiple ? n : n[0]
                }
            },
            slot: "field"
        }, e._l(e.allTemplatesById, function(t, r) {
            return n("option", {
                key: r,
                domProps: {
                    value: r
                }
            }, [e._v("\n          " + e._s(t.name) + "\n        ")])
        }), 0), e._v(" "), n("div", {
            staticClass: "form-entry__actions"
        }, [n("a", {
            attrs: {
                href: "javascript:void(0)"
            },
            on: {
                click: e.configureTemplates
            }
        }, [e._v("Configure templates")])])]) : e._e(), e._v(" "), n("div", {
            staticClass: "modal__info"
        }, [n("b", [e._v("ProTip:")]), e._v(" You can provide a value for "), n("code", [e._v("title")]), e._v(" in the "), n("a", {
            attrs: {
                href: "javascript:void(0)"
            },
            on: {
                click: e.openFileProperties
            }
        }, [e._v("file properties")]), e._v(".\n    ")])], 1), e._v(" "), n("div", {
            staticClass: "modal__button-bar"
        }, [n("button", {
            staticClass: "button",
            on: {
                click: function(t) {
                    return e.config.reject()
                }
            }
        }, [e._v("Cancel")]), e._v(" "), n("button", {
            staticClass: "button button--resolve",
            on: {
                click: function(t) {
                    return e.resolve()
                }
            }
        }, [e._v("Ok")])])])
    }
      , a = []
}
, function(e, t, n) {
    "use strict";
    n.d(t, "a", function() {
        return r
    }),
    n.d(t, "b", function() {
        return a
    });
    var r = function() {
        var e = this
          , t = e.$createElement
          , n = e._self._c || t;
        return n("modal-inner", {
            attrs: {
                "aria-label": "Synchronize with Google Drive"
            }
        }, [n("div", {
            staticClass: "modal__content"
        }, [n("div", {
            staticClass: "modal__image"
        }, [n("icon-provider", {
            attrs: {
                "provider-id": "googleDrive"
            }
        })], 1), e._v(" "), n("p", [e._v("Save "), n("b", [e._v(e._s(e.currentFileName))]), e._v(" to your "), n("b", [e._v("Google Drive")]), e._v(" account and keep it synced.")]), e._v(" "), n("form-entry", {
            attrs: {
                label: "Folder ID",
                info: "optional"
            }
        }, [n("input", {
            directives: [{
                name: "model",
                rawName: "v-model.trim",
                value: e.folderId,
                expression: "folderId",
                modifiers: {
                    trim: !0
                }
            }],
            staticClass: "textfield",
            attrs: {
                slot: "field",
                type: "text"
            },
            domProps: {
                value: e.folderId
            },
            on: {
                keydown: function(t) {
                    return !t.type.indexOf("key") && e._k(t.keyCode, "enter", 13, t.key, "Enter") ? null : e.resolve()
                },
                input: function(t) {
                    t.target.composing || (e.folderId = t.target.value.trim())
                },
                blur: function(t) {
                    return e.$forceUpdate()
                }
            },
            slot: "field"
        }), e._v(" "), n("div", {
            staticClass: "form-entry__info"
        }, [e._v("\n        If not supplied, the file will be created in your Drive root folder.\n      ")]), e._v(" "), n("div", {
            staticClass: "form-entry__actions"
        }, [n("a", {
            attrs: {
                href: "javascript:void(0)"
            },
            on: {
                click: e.openFolder
            }
        }, [e._v("Choose folder")])])]), e._v(" "), n("form-entry", {
            attrs: {
                label: "Existing file ID",
                info: "optional"
            }
        }, [n("input", {
            directives: [{
                name: "model",
                rawName: "v-model.trim",
                value: e.fileId,
                expression: "fileId",
                modifiers: {
                    trim: !0
                }
            }],
            staticClass: "textfield",
            attrs: {
                slot: "field",
                type: "text"
            },
            domProps: {
                value: e.fileId
            },
            on: {
                keydown: function(t) {
                    return !t.type.indexOf("key") && e._k(t.keyCode, "enter", 13, t.key, "Enter") ? null : e.resolve()
                },
                input: function(t) {
                    t.target.composing || (e.fileId = t.target.value.trim())
                },
                blur: function(t) {
                    return e.$forceUpdate()
                }
            },
            slot: "field"
        }), e._v(" "), n("div", {
            staticClass: "form-entry__info"
        }, [e._v("\n        This will overwrite the file on the server.\n      ")])])], 1), e._v(" "), n("div", {
            staticClass: "modal__button-bar"
        }, [n("button", {
            staticClass: "button",
            on: {
                click: function(t) {
                    return e.config.reject()
                }
            }
        }, [e._v("Cancel")]), e._v(" "), n("button", {
            staticClass: "button button--resolve",
            on: {
                click: function(t) {
                    return e.resolve()
                }
            }
        }, [e._v("Ok")])])])
    }
      , a = []
}
, function(e, t, n) {
    "use strict";
    n.d(t, "a", function() {
        return r
    }),
    n.d(t, "b", function() {
        return a
    });
    var r = function() {
        var e = this
          , t = e.$createElement
          , n = e._self._c || t;
        return n("modal-inner", {
            attrs: {
                "aria-label": "Add Google Drive workspace"
            }
        }, [n("div", {
            staticClass: "modal__content"
        }, [n("div", {
            staticClass: "modal__image"
        }, [n("icon-provider", {
            attrs: {
                "provider-id": "googleDrive"
            }
        })], 1), e._v(" "), n("p", [e._v("Create a workspace synced with a "), n("b", [e._v("Google Drive")]), e._v(" folder.")]), e._v(" "), n("form-entry", {
            attrs: {
                label: "Folder ID",
                info: "optional"
            }
        }, [n("input", {
            directives: [{
                name: "model",
                rawName: "v-model.trim",
                value: e.folderId,
                expression: "folderId",
                modifiers: {
                    trim: !0
                }
            }],
            staticClass: "textfield",
            attrs: {
                slot: "field",
                type: "text"
            },
            domProps: {
                value: e.folderId
            },
            on: {
                keydown: function(t) {
                    return !t.type.indexOf("key") && e._k(t.keyCode, "enter", 13, t.key, "Enter") ? null : e.resolve()
                },
                input: function(t) {
                    t.target.composing || (e.folderId = t.target.value.trim())
                },
                blur: function(t) {
                    return e.$forceUpdate()
                }
            },
            slot: "field"
        }), e._v(" "), n("div", {
            staticClass: "form-entry__info"
        }, [e._v("\n        If not supplied, a new workspace folder will be created in your Drive root folder.\n      ")]), e._v(" "), n("div", {
            staticClass: "form-entry__actions"
        }, [n("a", {
            attrs: {
                href: "javascript:void(0)"
            },
            on: {
                click: e.openFolder
            }
        }, [e._v("Choose folder")])])])], 1), e._v(" "), n("div", {
            staticClass: "modal__button-bar"
        }, [n("button", {
            staticClass: "button",
            on: {
                click: function(t) {
                    return e.config.reject()
                }
            }
        }, [e._v("Cancel")]), e._v(" "), n("button", {
            staticClass: "button button--resolve",
            on: {
                click: function(t) {
                    return e.resolve()
                }
            }
        }, [e._v("Ok")])])])
    }
      , a = []
}
, function(e, t, n) {
    "use strict";
    n.d(t, "a", function() {
        return r
    }),
    n.d(t, "b", function() {
        return a
    });
    var r = function() {
        var e = this
          , t = e.$createElement
          , n = e._self._c || t;
        return n("modal-inner", {
            staticClass: "modal__inner-1--google-photo",
            attrs: {
                "aria-label": "Import Google Photo"
            }
        }, [n("div", {
            staticClass: "modal__content"
        }, [n("div", {
            staticClass: "google-photo__tumbnail",
            style: {
                backgroundImage: e.thumbnailUrl
            }
        }), e._v(" "), n("form-entry", {
            attrs: {
                label: "Title",
                info: "optional"
            }
        }, [n("input", {
            directives: [{
                name: "model",
                rawName: "v-model.trim",
                value: e.title,
                expression: "title",
                modifiers: {
                    trim: !0
                }
            }],
            staticClass: "textfield",
            attrs: {
                slot: "field",
                type: "text"
            },
            domProps: {
                value: e.title
            },
            on: {
                keydown: function(t) {
                    return !t.type.indexOf("key") && e._k(t.keyCode, "enter", 13, t.key, "Enter") ? null : e.resolve()
                },
                input: function(t) {
                    t.target.composing || (e.title = t.target.value.trim())
                },
                blur: function(t) {
                    return e.$forceUpdate()
                }
            },
            slot: "field"
        })]), e._v(" "), n("form-entry", {
            attrs: {
                label: "Size limit",
                info: "optional"
            }
        }, [n("input", {
            directives: [{
                name: "model",
                rawName: "v-model.trim",
                value: e.size,
                expression: "size",
                modifiers: {
                    trim: !0
                }
            }],
            staticClass: "textfield",
            attrs: {
                slot: "field",
                type: "text"
            },
            domProps: {
                value: e.size
            },
            on: {
                keydown: function(t) {
                    return !t.type.indexOf("key") && e._k(t.keyCode, "enter", 13, t.key, "Enter") ? null : e.resolve()
                },
                input: function(t) {
                    t.target.composing || (e.size = t.target.value.trim())
                },
                blur: function(t) {
                    return e.$forceUpdate()
                }
            },
            slot: "field"
        })])], 1), e._v(" "), n("div", {
            staticClass: "modal__button-bar"
        }, [n("button", {
            staticClass: "button",
            on: {
                click: function(t) {
                    return e.reject()
                }
            }
        }, [e._v("Cancel")]), e._v(" "), n("button", {
            staticClass: "button button--resolve",
            on: {
                click: function(t) {
                    return e.resolve()
                }
            }
        }, [e._v("Ok")])])])
    }
      , a = []
}
, function(e, t, n) {
    "use strict";
    n.d(t, "a", function() {
        return r
    }),
    n.d(t, "b", function() {
        return a
    });
    var r = function() {
        var e = this
          , t = e.$createElement
          , n = e._self._c || t;
        return n("modal-inner", {
            attrs: {
                "aria-label": "Publish to WordPress"
            }
        }, [n("div", {
            staticClass: "modal__content"
        }, [n("div", {
            staticClass: "modal__image"
        }, [n("icon-provider", {
            attrs: {
                "provider-id": "wordpress"
            }
        })], 1), e._v(" "), n("p", [e._v("Publish "), n("b", [e._v(e._s(e.currentFileName))]), e._v(" to your "), n("b", [e._v("WordPress")]), e._v(" site.")]), e._v(" "), n("form-entry", {
            attrs: {
                label: "Site domain",
                error: "domain"
            }
        }, [n("input", {
            directives: [{
                name: "model",
                rawName: "v-model.trim",
                value: e.domain,
                expression: "domain",
                modifiers: {
                    trim: !0
                }
            }],
            staticClass: "textfield",
            attrs: {
                slot: "field",
                type: "text"
            },
            domProps: {
                value: e.domain
            },
            on: {
                keydown: function(t) {
                    return !t.type.indexOf("key") && e._k(t.keyCode, "enter", 13, t.key, "Enter") ? null : e.resolve()
                },
                input: function(t) {
                    t.target.composing || (e.domain = t.target.value.trim())
                },
                blur: function(t) {
                    return e.$forceUpdate()
                }
            },
            slot: "field"
        }), e._v(" "), n("div", {
            staticClass: "form-entry__info"
        }, [n("b", [e._v("Example:")]), e._v(" example.wordpress.com"), n("br"), e._v(" "), n("b", [e._v("Note:")]), e._v(" Jetpack is required for self-hosted sites.\n      ")])]), e._v(" "), n("form-entry", {
            attrs: {
                label: "Existing post ID",
                info: "optional"
            }
        }, [n("input", {
            directives: [{
                name: "model",
                rawName: "v-model.trim",
                value: e.postId,
                expression: "postId",
                modifiers: {
                    trim: !0
                }
            }],
            staticClass: "textfield",
            attrs: {
                slot: "field",
                type: "text"
            },
            domProps: {
                value: e.postId
            },
            on: {
                keydown: function(t) {
                    return !t.type.indexOf("key") && e._k(t.keyCode, "enter", 13, t.key, "Enter") ? null : e.resolve()
                },
                input: function(t) {
                    t.target.composing || (e.postId = t.target.value.trim())
                },
                blur: function(t) {
                    return e.$forceUpdate()
                }
            },
            slot: "field"
        })]), e._v(" "), n("form-entry", {
            attrs: {
                label: "Template"
            }
        }, [n("select", {
            directives: [{
                name: "model",
                rawName: "v-model",
                value: e.selectedTemplate,
                expression: "selectedTemplate"
            }],
            staticClass: "textfield",
            attrs: {
                slot: "field"
            },
            on: {
                keydown: function(t) {
                    return !t.type.indexOf("key") && e._k(t.keyCode, "enter", 13, t.key, "Enter") ? null : e.resolve()
                },
                change: function(t) {
                    var n = Array.prototype.filter.call(t.target.options, function(e) {
                        return e.selected
                    }).map(function(e) {
                        return "_value"in e ? e._value : e.value
                    });
                    e.selectedTemplate = t.target.multiple ? n : n[0]
                }
            },
            slot: "field"
        }, e._l(e.allTemplatesById, function(t, r) {
            return n("option", {
                key: r,
                domProps: {
                    value: r
                }
            }, [e._v("\n          " + e._s(t.name) + "\n        ")])
        }), 0), e._v(" "), n("div", {
            staticClass: "form-entry__actions"
        }, [n("a", {
            attrs: {
                href: "javascript:void(0)"
            },
            on: {
                click: e.configureTemplates
            }
        }, [e._v("Configure templates")])])]), e._v(" "), n("div", {
            staticClass: "modal__info"
        }, [n("b", [e._v("ProTip:")]), e._v(" You can provide values for "), n("code", [e._v("title")]), e._v(", "), n("code", [e._v("tags")]), e._v(",\n      "), n("code", [e._v("categories")]), e._v(", "), n("code", [e._v("excerpt")]), e._v(", "), n("code", [e._v("author")]), e._v(", "), n("code", [e._v("featuredImage")]), e._v(",\n      "), n("code", [e._v("status")]), e._v(" and "), n("code", [e._v("date")]), e._v(" in the "), n("a", {
            attrs: {
                href: "javascript:void(0)"
            },
            on: {
                click: e.openFileProperties
            }
        }, [e._v("file properties")]), e._v(".\n    ")])], 1), e._v(" "), n("div", {
            staticClass: "modal__button-bar"
        }, [n("button", {
            staticClass: "button",
            on: {
                click: function(t) {
                    return e.config.reject()
                }
            }
        }, [e._v("Cancel")]), e._v(" "), n("button", {
            staticClass: "button button--resolve",
            on: {
                click: function(t) {
                    return e.resolve()
                }
            }
        }, [e._v("Ok")])])])
    }
      , a = []
}
, function(e, t, n) {
    "use strict";
    n.d(t, "a", function() {
        return r
    }),
    n.d(t, "b", function() {
        return a
    });
    var r = function() {
        var e = this
          , t = e.$createElement
          , n = e._self._c || t;
        return n("modal-inner", {
            attrs: {
                "aria-label": "Link Zendesk account"
            }
        }, [n("div", {
            staticClass: "modal__content"
        }, [n("div", {
            staticClass: "modal__image"
        }, [n("icon-provider", {
            attrs: {
                "provider-id": "zendesk"
            }
        })], 1), e._v(" "), n("p", [e._v("Link your "), n("b", [e._v("Zendesk")]), e._v(" account to "), n("b", [e._v("StackEdit")]), e._v(".")]), e._v(" "), n("form-entry", {
            attrs: {
                label: "Site URL",
                error: "siteUrl"
            }
        }, [n("input", {
            directives: [{
                name: "model",
                rawName: "v-model.trim",
                value: e.siteUrl,
                expression: "siteUrl",
                modifiers: {
                    trim: !0
                }
            }],
            staticClass: "textfield",
            attrs: {
                slot: "field",
                type: "text"
            },
            domProps: {
                value: e.siteUrl
            },
            on: {
                keydown: function(t) {
                    return !t.type.indexOf("key") && e._k(t.keyCode, "enter", 13, t.key, "Enter") ? null : e.resolve()
                },
                input: function(t) {
                    t.target.composing || (e.siteUrl = t.target.value.trim())
                },
                blur: function(t) {
                    return e.$forceUpdate()
                }
            },
            slot: "field"
        }), e._v(" "), n("div", {
            staticClass: "form-entry__info"
        }, [n("b", [e._v("Example:")]), e._v(" https://example.zendesk.com/\n      ")])]), e._v(" "), n("form-entry", {
            attrs: {
                label: "Client Unique Identifier",
                error: "clientId"
            }
        }, [n("input", {
            directives: [{
                name: "model",
                rawName: "v-model.trim",
                value: e.clientId,
                expression: "clientId",
                modifiers: {
                    trim: !0
                }
            }],
            staticClass: "textfield",
            attrs: {
                slot: "field",
                type: "text"
            },
            domProps: {
                value: e.clientId
            },
            on: {
                keydown: function(t) {
                    return !t.type.indexOf("key") && e._k(t.keyCode, "enter", 13, t.key, "Enter") ? null : e.resolve()
                },
                input: function(t) {
                    t.target.composing || (e.clientId = t.target.value.trim())
                },
                blur: function(t) {
                    return e.$forceUpdate()
                }
            },
            slot: "field"
        }), e._v(" "), n("div", {
            staticClass: "form-entry__info"
        }, [e._v("\n        You have to configure an OAuth Client with redirect URL "), n("b", [e._v(e._s(e.redirectUrl))])]), e._v(" "), n("div", {
            staticClass: "form-entry__actions"
        }, [n("a", {
            attrs: {
                href: "https://support.zendesk.com/hc/en-us/articles/203663836",
                target: "_blank"
            }
        }, [e._v("More info")])])])], 1), e._v(" "), n("div", {
            staticClass: "modal__button-bar"
        }, [n("button", {
            staticClass: "button",
            on: {
                click: function(t) {
                    return e.config.reject()
                }
            }
        }, [e._v("Cancel")]), e._v(" "), n("button", {
            staticClass: "button button--resolve",
            on: {
                click: function(t) {
                    return e.resolve()
                }
            }
        }, [e._v("Ok")])])])
    }
      , a = []
}
, function(e, t, n) {
    "use strict";
    n.d(t, "a", function() {
        return r
    }),
    n.d(t, "b", function() {
        return a
    });
    var r = function() {
        var e = this
          , t = e.$createElement
          , n = e._self._c || t;
        return n("modal-inner", {
            attrs: {
                "aria-label": "Publish to Zendesk"
            }
        }, [n("div", {
            staticClass: "modal__content"
        }, [n("div", {
            staticClass: "modal__image"
        }, [n("icon-provider", {
            attrs: {
                "provider-id": "zendesk"
            }
        })], 1), e._v(" "), n("p", [e._v("Publish "), n("b", [e._v(e._s(e.currentFileName))]), e._v(" to your "), n("b", [e._v("Zendesk Help Center")]), e._v(".")]), e._v(" "), n("form-entry", {
            attrs: {
                label: "Section ID",
                error: "sectionId"
            }
        }, [n("input", {
            directives: [{
                name: "model",
                rawName: "v-model.trim",
                value: e.sectionId,
                expression: "sectionId",
                modifiers: {
                    trim: !0
                }
            }],
            staticClass: "textfield",
            attrs: {
                slot: "field",
                type: "text"
            },
            domProps: {
                value: e.sectionId
            },
            on: {
                keydown: function(t) {
                    return !t.type.indexOf("key") && e._k(t.keyCode, "enter", 13, t.key, "Enter") ? null : e.resolve()
                },
                input: function(t) {
                    t.target.composing || (e.sectionId = t.target.value.trim())
                },
                blur: function(t) {
                    return e.$forceUpdate()
                }
            },
            slot: "field"
        }), e._v(" "), n("div", {
            staticClass: "form-entry__info"
        }, [e._v("\n        https://example.zendesk.com/hc/en-us/sections/"), n("b", [e._v("21857469")]), e._v("-Section-name\n      ")])]), e._v(" "), n("form-entry", {
            attrs: {
                label: "Existing article ID",
                info: "optional"
            }
        }, [n("input", {
            directives: [{
                name: "model",
                rawName: "v-model.trim",
                value: e.articleId,
                expression: "articleId",
                modifiers: {
                    trim: !0
                }
            }],
            staticClass: "textfield",
            attrs: {
                slot: "field",
                type: "text"
            },
            domProps: {
                value: e.articleId
            },
            on: {
                keydown: function(t) {
                    return !t.type.indexOf("key") && e._k(t.keyCode, "enter", 13, t.key, "Enter") ? null : e.resolve()
                },
                input: function(t) {
                    t.target.composing || (e.articleId = t.target.value.trim())
                },
                blur: function(t) {
                    return e.$forceUpdate()
                }
            },
            slot: "field"
        })]), e._v(" "), n("form-entry", {
            attrs: {
                label: "Locale",
                info: "optional"
            }
        }, [n("input", {
            directives: [{
                name: "model",
                rawName: "v-model.trim",
                value: e.locale,
                expression: "locale",
                modifiers: {
                    trim: !0
                }
            }],
            staticClass: "textfield",
            attrs: {
                slot: "field",
                type: "text"
            },
            domProps: {
                value: e.locale
            },
            on: {
                keydown: function(t) {
                    return !t.type.indexOf("key") && e._k(t.keyCode, "enter", 13, t.key, "Enter") ? null : e.resolve()
                },
                input: function(t) {
                    t.target.composing || (e.locale = t.target.value.trim())
                },
                blur: function(t) {
                    return e.$forceUpdate()
                }
            },
            slot: "field"
        }), e._v(" "), n("div", {
            staticClass: "form-entry__info"
        }, [n("b", [e._v("Default:")]), e._v(" en-us\n      ")])]), e._v(" "), n("form-entry", {
            attrs: {
                label: "Template"
            }
        }, [n("select", {
            directives: [{
                name: "model",
                rawName: "v-model",
                value: e.selectedTemplate,
                expression: "selectedTemplate"
            }],
            staticClass: "textfield",
            attrs: {
                slot: "field"
            },
            on: {
                keydown: function(t) {
                    return !t.type.indexOf("key") && e._k(t.keyCode, "enter", 13, t.key, "Enter") ? null : e.resolve()
                },
                change: function(t) {
                    var n = Array.prototype.filter.call(t.target.options, function(e) {
                        return e.selected
                    }).map(function(e) {
                        return "_value"in e ? e._value : e.value
                    });
                    e.selectedTemplate = t.target.multiple ? n : n[0]
                }
            },
            slot: "field"
        }, e._l(e.allTemplatesById, function(t, r) {
            return n("option", {
                key: r,
                domProps: {
                    value: r
                }
            }, [e._v("\n          " + e._s(t.name) + "\n        ")])
        }), 0), e._v(" "), n("div", {
            staticClass: "form-entry__actions"
        }, [n("a", {
            attrs: {
                href: "javascript:void(0)"
            },
            on: {
                click: e.configureTemplates
            }
        }, [e._v("Configure templates")])])]), e._v(" "), n("div", {
            staticClass: "modal__info"
        }, [n("b", [e._v("ProTip:")]), e._v(" You can provide values for "), n("code", [e._v("title")]), e._v(", "), n("code", [e._v("tags")]), e._v(" and\n      "), n("code", [e._v("status")]), e._v(" in the "), n("a", {
            attrs: {
                href: "javascript:void(0)"
            },
            on: {
                click: e.openFileProperties
            }
        }, [e._v("file properties")]), e._v(".\n    ")])], 1), e._v(" "), n("div", {
            staticClass: "modal__button-bar"
        }, [n("button", {
            staticClass: "button",
            on: {
                click: function(t) {
                    return e.config.reject()
                }
            }
        }, [e._v("Cancel")]), e._v(" "), n("button", {
            staticClass: "button button--resolve",
            on: {
                click: function(t) {
                    return e.resolve()
                }
            }
        }, [e._v("Ok")])])])
    }
      , a = []
}
, function(e, t, n) {
    "use strict";
    n.d(t, "a", function() {
        return r
    }),
    n.d(t, "b", function() {
        return a
    });
    var r = function() {
        var e = this
          , t = e.$createElement
          , n = e._self._c || t;
        return n("svg", {
            staticClass: "icon",
            attrs: {
                xmlns: "http://www.w3.org/2000/svg",
                viewBox: "0 0 24 24"
            }
        }, [n("path", {
            attrs: {
                d: "M 13,14L 11,14L 11,9.99998L 13,9.99998M 13,18L 11,18L 11,16L 13,16M 1,21L 23,21L 12,1.99998L 1,21 Z "
            }
        })])
    }
      , a = []
}
, function(e, t, n) {
    "use strict";
    n.d(t, "a", function() {
        return r
    }),
    n.d(t, "b", function() {
        return a
    });
    var r = function() {
        var e = this
          , t = e.$createElement
          , n = e._self._c || t;
        return n("svg", {
            staticClass: "icon",
            attrs: {
                xmlns: "http://www.w3.org/2000/svg",
                viewBox: "0 0 24 24"
            }
        }, [n("path", {
            attrs: {
                d: "M 20,11L 20,13L 7.98958,13L 13.4948,18.5052L 12.0806,19.9194L 4.16116,12L 12.0806,4.08058L 13.4948,5.49479L 7.98958,11L 20,11 Z "
            }
        })])
    }
      , a = []
}
, function(e, t, n) {
    "use strict";
    n.d(t, "a", function() {
        return r
    }),
    n.d(t, "b", function() {
        return a
    });
    var r = function() {
        var e = this
          , t = e.$createElement
          , n = e._self._c || t;
        return n("svg", {
            staticClass: "icon",
            attrs: {
                xmlns: "http://www.w3.org/2000/svg",
                viewBox: "0 0 24 24"
            }
        }, [n("path", {
            attrs: {
                d: "M 12,2C 17.5228,2 22,6.47716 22,12C 22,17.5228 17.5228,22 12,22C 6.47715,22 2,17.5228 2,12C 2,6.47716 6.47715,2 12,2 Z M 10.9999,16.5019L 17.9999,9.50193L 16.5859,8.08794L 10.9999,13.6739L 7.91391,10.5879L 6.49991,12.0019L 10.9999,16.5019 Z "
            }
        })])
    }
      , a = []
}
, function(e, t, n) {
    "use strict";
    n.d(t, "a", function() {
        return r
    }),
    n.d(t, "b", function() {
        return a
    });
    var r = function() {
        var e = this
          , t = e.$createElement
          , n = e._self._c || t;
        return n("svg", {
            staticClass: "icon",
            attrs: {
                xmlns: "http://www.w3.org/2000/svg",
                viewBox: "0 0 24 24"
            }
        }, [n("path", {
            attrs: {
                d: "M19,6.41L17.59,5L12,10.59L6.41,5L5,6.41L10.59,12L5,17.59L6.41,19L12,13.41L17.59,19L19,17.59L13.41,12L19,6.41Z"
            }
        })])
    }
      , a = []
}
, function(e, t, n) {
    "use strict";
    n.d(t, "a", function() {
        return r
    }),
    n.d(t, "b", function() {
        return a
    });
    var r = function() {
        var e = this
          , t = e.$createElement
          , n = e._self._c || t;
        return n("svg", {
            staticClass: "icon",
            attrs: {
                xmlns: "http://www.w3.org/2000/svg",
                viewBox: "0 0 24 24"
            }
        }, [n("path", {
            attrs: {
                d: "M 8,3C 6.89543,3 6,3.89539 6,5L 6,9C 6,10.1046 5.10457,11 4,11L 3,11L 3,13L 4,13C 5.10457,13 6,13.8954 6,15L 6,19C 6,20.1046 6.92841,20.7321 8,21L 10,21L 10,19L 8,19L 8,14C 8,12.8954 7.10457,12 6,12C 7.10457,12 8,11.1046 8,10L 8,5L 10,5L 10,3M 16,3C 17.1046,3 18,3.89539 18,5L 18,9C 18,10.1046 18.8954,11 20,11L 21,11L 21,13L 20,13C 18.8954,13 18,13.8954 18,15L 18,19C 18,20.1046 17.0716,20.7321 16,21L 14,21L 14,19L 16,19L 16,14C 16,12.8954 16.8954,12 18,12C 16.8954,12 16,11.1046 16,10L 16,5L 14,5L 14,3L 16,3 Z "
            }
        })])
    }
      , a = []
}
, function(e, t, n) {
    "use strict";
    n.d(t, "a", function() {
        return r
    }),
    n.d(t, "b", function() {
        return a
    });
    var r = function() {
        var e = this
          , t = e.$createElement
          , n = e._self._c || t;
        return n("svg", {
            staticClass: "icon",
            attrs: {
                xmlns: "http://www.w3.org/2000/svg",
                viewBox: "2 2 20 20"
            }
        }, [n("path", {
            attrs: {
                d: "M 14.6,16.6L 19.2,12L 14.6,7.4L 16,6L 22,12L 16,18L 14.6,16.6 Z M 9.4,16.6L 4.8,12L 9.4,7.4L 8,6L 2,12L 8,18L 9.4,16.6 Z "
            }
        })])
    }
      , a = []
}
, function(e, t, n) {
    "use strict";
    n.d(t, "a", function() {
        return r
    }),
    n.d(t, "b", function() {
        return a
    });
    var r = function() {
        var e = this
          , t = e.$createElement
          , n = e._self._c || t;
        return n("svg", {
            staticClass: "icon",
            attrs: {
                xmlns: "http://www.w3.org/2000/svg",
                viewBox: "0 0 24 24"
            }
        }, [n("path", {
            attrs: {
                d: "M 19,21L 8,21L 8,7L 19,7M 19,5L 8,5C 6.9,5 6,5.9 6,7L 6,21C 6,22.1 6.9,23 8,23L 19,23C 20.1,23 21,22.1 21,21L 21,7C 21,5.9 20.1,5 19,5 Z M 16,1L 4,1C 2.9,1 2,1.9 2,3L 2,17L 4,17L 4,3L 16,3L 16,1 Z "
            }
        })])
    }
      , a = []
}
, function(e, t, n) {
    "use strict";
    n.d(t, "a", function() {
        return r
    }),
    n.d(t, "b", function() {
        return a
    });
    var r = function() {
        var e = this
          , t = e.$createElement
          , n = e._self._c || t;
        return n("svg", {
            staticClass: "icon",
            attrs: {
                xmlns: "http://www.w3.org/2000/svg",
                viewBox: "0 0 24 24"
            }
        }, [n("path", {
            attrs: {
                d: "M15,9H5V5H15M12,19C10.34,19 9,17.66 9,16C9,14.34 10.34,13 12,13C13.66,13 15,14.34 15,16C15,17.66 13.66,19 12,19M17,3H5C3.89,3 3,3.9 3,5V19C3,20.1 3.9,21 5,21H19C20.1,21 21,20.1 21,19V7L17,3Z"
            }
        })])
    }
      , a = []
}
, function(e, t, n) {
    "use strict";
    n.d(t, "a", function() {
        return r
    }),
    n.d(t, "b", function() {
        return a
    });
    var r = function() {
        var e = this
          , t = e.$createElement
          , n = e._self._c || t;
        return n("svg", {
            staticClass: "icon",
            attrs: {
                xmlns: "http://www.w3.org/2000/svg",
                viewBox: "0 0 24 24"
            }
        }, [n("path", {
            attrs: {
                d: "M12,3C7.58,3 4,4.79 4,7C4,9.21 7.58,11 12,11C16.42,11 20,9.21 20,7C20,4.79 16.42,3 12,3M4,9V12C4,14.21 7.58,16 12,16C16.42,16 20,14.21 20,12V9C20,11.21 16.42,13 12,13C7.58,13 4,11.21 4,9M4,14V17C4,19.21 7.58,21 12,21C16.42,21 20,19.21 20,17V14C20,16.21 16.42,18 12,18C7.58,18 4,16.21 4,14Z"
            }
        })])
    }
      , a = []
}
, function(e, t, n) {
    "use strict";
    n.d(t, "a", function() {
        return r
    }),
    n.d(t, "b", function() {
        return a
    });
    var r = function() {
        var e = this
          , t = e.$createElement
          , n = e._self._c || t;
        return n("svg", {
            staticClass: "icon",
            attrs: {
                xmlns: "http://www.w3.org/2000/svg",
                viewBox: "0 0 24 24"
            }
        }, [n("path", {
            attrs: {
                d: "M19,4H15.5L14.5,3H9.5L8.5,4H5V6H19M6,19C6,20.1 6.9,21 8,21H16C17.1,21 18,20.1 18,19V7H6V19Z"
            }
        })])
    }
      , a = []
}
, function(e, t, n) {
    "use strict";
    n.d(t, "a", function() {
        return r
    }),
    n.d(t, "b", function() {
        return a
    });
    var r = function() {
        var e = this
          , t = e.$createElement
          , n = e._self._c || t;
        return n("svg", {
            staticClass: "icon",
            attrs: {
                xmlns: "http://www.w3.org/2000/svg",
                viewBox: "0 0 24 24"
            }
        }, [n("path", {
            attrs: {
                d: "M 16,12C 16,10.8954 16.8954,10 18,10C 19.1046,10 20,10.8954 20,12C 20,13.1046 19.1046,14 18,14C 16.8954,14 16,13.1046 16,12 Z M 10,12C 10,10.8954 10.8954,10 12,10C 13.1046,10 14,10.8954 14,12C 14,13.1046 13.1046,14 12,14C 10.8954,14 10,13.1046 10,12 Z M 4,12C 4,10.8954 4.89543,10 6,10C 7.10457,10 8,10.8954 8,12C 8,13.1046 7.10457,14 6,14C 4.89543,14 4,13.1046 4,12 Z "
            }
        })])
    }
      , a = []
}
, function(e, t, n) {
    "use strict";
    n.d(t, "a", function() {
        return r
    }),
    n.d(t, "b", function() {
        return a
    });
    var r = function() {
        var e = this
          , t = e.$createElement
          , n = e._self._c || t;
        return n("svg", {
            staticClass: "icon",
            attrs: {
                xmlns: "http://www.w3.org/2000/svg",
                viewBox: "0 0 24 24"
            }
        }, [n("path", {
            attrs: {
                d: "M 4.9994,19.9981L 18.9994,19.9981L 18.9994,17.9981L 4.9994,17.9981M 18.9994,8.99807L 14.9994,8.99807L 14.9994,2.99807L 8.9994,2.99807L 8.9994,8.99807L 4.9994,8.99807L 11.9994,15.9981L 18.9994,8.99807 Z "
            }
        })])
    }
      , a = []
}
, function(e, t, n) {
    "use strict";
    n.d(t, "a", function() {
        return r
    }),
    n.d(t, "b", function() {
        return a
    });
    var r = function() {
        var e = this
          , t = e.$createElement
          , n = e._self._c || t;
        return n("svg", {
            staticClass: "icon",
            attrs: {
                xmlns: "http://www.w3.org/2000/svg",
                viewBox: "0 0 24 24"
            }
        }, [n("path", {
            attrs: {
                d: "M 11.9994,8.99813C 10.3424,8.99813 8.99941,10.3411 8.99941,11.9981C 8.99941,13.6551 10.3424,14.9981 11.9994,14.9981C 13.6564,14.9981 14.9994,13.6551 14.9994,11.9981C 14.9994,10.3411 13.6564,8.99813 11.9994,8.99813 Z M 11.9994,16.9981C 9.23841,16.9981 6.99941,14.7591 6.99941,11.9981C 6.99941,9.23714 9.23841,6.99813 11.9994,6.99813C 14.7604,6.99813 16.9994,9.23714 16.9994,11.9981C 16.9994,14.7591 14.7604,16.9981 11.9994,16.9981 Z M 11.9994,4.49813C 6.99741,4.49813 2.72741,7.60915 0.99941,11.9981C 2.72741,16.3871 6.99741,19.4981 11.9994,19.4981C 17.0024,19.4981 21.2714,16.3871 22.9994,11.9981C 21.2714,7.60915 17.0024,4.49813 11.9994,4.49813 Z "
            }
        })])
    }
      , a = []
}
, function(e, t, n) {
    "use strict";
    n.d(t, "a", function() {
        return r
    }),
    n.d(t, "b", function() {
        return a
    });
    var r = function() {
        var e = this
          , t = e.$createElement
          , n = e._self._c || t;
        return n("svg", {
            staticClass: "icon",
            attrs: {
                xmlns: "http://www.w3.org/2000/svg",
                viewBox: "0 0 24 24"
            }
        }, [n("path", {
            attrs: {
                d: "M 12.9994,8.99807L 18.4994,8.99807L 12.9994,3.49807L 12.9994,8.99807 Z M 5.99938,1.99809L 13.9994,1.99809L 19.9994,7.99808L 19.9994,19.9981C 19.9994,21.1021 19.1034,21.9981 17.9994,21.9981L 5.98937,21.9981C 4.88537,21.9981 3.99939,21.1021 3.99939,19.9981L 4.0094,3.99808C 4.0094,2.89407 4.89437,1.99809 5.99938,1.99809 Z M 6,20L 15,20L 18,20L 18,12L 14,16L 12,14L 6,20 Z M 8,9C 6.89543,9 6,9.89543 6,11C 6,12.1046 6.89543,13 8,13C 9.10457,13 10,12.1046 10,11C 10,9.89543 9.10457,9 8,9 Z "
            }
        })])
    }
      , a = []
}
, function(e, t, n) {
    "use strict";
    n.d(t, "a", function() {
        return r
    }),
    n.d(t, "b", function() {
        return a
    });
    var r = function() {
        var e = this
          , t = e.$createElement
          , n = e._self._c || t;
        return n("svg", {
            staticClass: "icon",
            staticStyle: {
                width: "24px",
                height: "24px",
                position: "relative",
                top: "4px",
                left: "1px"
            },
            attrs: {
                xmlns: "http://www.w3.org/2000/svg",
                viewBox: "0 0 24 24",
                version: "1.1"
            }
        }, [n("path", {
            attrs: {
                d: "M14,1 C15.0543618,1 15.9181651,1.81587779 15.9945143,2.85073766 L16,3 L16,13 C16,14.0543618 15.1841222,14.9181651 14.1492623,14.9945143 L14,15 L2,15 C0.945638205,15 0.0818348781,14.1841222 0.00548573643,13.1492623 L0,13 L0,3 C0,1.9456382 0.815877791,1.08183488 1.85073766,1.00548574 L2,1 L14,1 Z M6.81592038,9.63463037 L6.62469505,9.78086881 L2.599,13 L14,13 L14.0010711,10.3685915 C12.152648,8.32812618 9.0472418,8.00454403 6.81592038,9.63463037 Z M14,3 L2,3 L2,10.919 L5.37530495,8.21913119 C7.92182859,6.18191228 11.4010267,6.09891553 14.0010632,7.76882583 L14,3 Z M4.14644661,4.14644661 C4.61785113,3.67504209 5.38214887,3.67504209 5.85355339,4.14644661 C6.32495791,4.61785113 6.32495791,5.38214887 5.85355339,5.85355339 C5.38214887,6.32495791 4.61785113,6.32495791 4.14644661,5.85355339 C3.67504209,5.38214887 3.67504209,4.61785113 4.14644661,4.14644661 Z M5.14644661,4.85355339 C5.06556638,4.77267316 4.93443362,4.77267316 4.85355339,4.85355339 C4.77267316,4.93443362 4.77267316,5.06556638 4.85355339,5.14644661 C4.93443362,5.22732684 5.06556638,5.22732684 5.14644661,5.14644661 C5.22732684,5.06556638 5.22732684,4.93443362 5.14644661,4.85355339 Z",
                id: "形状",
                fill: "#555666",
                "fill-rule": "nonzero"
            }
        })])
    }
      , a = []
}
, function(e, t, n) {
    "use strict";
    n.d(t, "a", function() {
        return r
    }),
    n.d(t, "b", function() {
        return a
    });
    var r = function() {
        var e = this
          , t = e.$createElement
          , n = e._self._c || t;
        return n("svg", {
            staticClass: "icon",
            attrs: {
                xmlns: "http://www.w3.org/2000/svg",
                viewBox: "-2 -2 26 26"
            }
        }, [n("path", {
            attrs: {
                d: "M15,7H20.5L15,1.5V7M8,0H16L22,6V18C22,19.1 21.1,20 20,20H8C6.89,20 6,19.1 6,18V2C6,0.9 6.9,0 8,0M4,4V22H20V24H4C2.9,24 2,23.1 2,22V4H4Z"
            }
        })])
    }
      , a = []
}
, function(e, t, n) {
    "use strict";
    n.d(t, "a", function() {
        return r
    }),
    n.d(t, "b", function() {
        return a
    });
    var r = function() {
        var e = this
          , t = e.$createElement
          , n = e._self._c || t;
        return n("svg", {
            staticClass: "icon",
            attrs: {
                xmlns: "http://www.w3.org/2000/svg",
                viewBox: "0 0 24 24"
            }
        }, [n("path", {
            attrs: {
                d: "M13,9H18.5L13,3.5V9M6,2H14L20,8V20C20,21.1 19.1,22 18,22H6C4.89,22 4,21.1 4,20V4C4,2.89 4.89,2 6,2M11,15V12H9V15H6V17H9V20H11V17H14V15H11Z"
            }
        })])
    }
      , a = []
}
, function(e, t, n) {
    "use strict";
    n.d(t, "a", function() {
        return r
    }),
    n.d(t, "b", function() {
        return a
    });
    var r = function() {
        var e = this
          , t = e.$createElement
          , n = e._self._c || t;
        return n("svg", {
            staticClass: "icon",
            attrs: {
                xmlns: "http://www.w3.org/2000/svg",
                viewBox: "0 0 24 24"
            }
        }, [n("path", {
            attrs: {
                d: "M10,4H4C2.89,4 2,4.89 2,6V18C2,19.1 2.9,20 4,20H20C21.1,20 22,19.1 22,18V8C22,6.89 21.1,6 20,6H12L10,4Z"
            }
        })])
    }
      , a = []
}
, function(e, t, n) {
    "use strict";
    n.d(t, "a", function() {
        return r
    }),
    n.d(t, "b", function() {
        return a
    });
    var r = function() {
        var e = this
          , t = e.$createElement
          , n = e._self._c || t;
        return n("svg", {
            staticClass: "icon",
            attrs: {
                xmlns: "http://www.w3.org/2000/svg",
                viewBox: "0 0 24 24"
            }
        }, [n("path", {
            attrs: {
                d: "M10,4L12,6H20C21.1,6 22,6.9 22,8V18C22,19.1 21.1,20 20,20H4C2.89,20 2,19.1 2,18V6C2,4.89 2.89,4 4,4H10M15,9V12H12V14H15V17H17V14H20V12H17V9H15Z"
            }
        })])
    }
      , a = []
}
, function(e, t, n) {
    "use strict";
    n.d(t, "a", function() {
        return r
    }),
    n.d(t, "b", function() {
        return a
    });
    var r = function() {
        var e = this
          , t = e.$createElement
          , n = e._self._c || t;
        return n("svg", {
            staticClass: "icon",
            attrs: {
                xmlns: "http://www.w3.org/2000/svg",
                viewBox: "0 0 24 24"
            }
        }, [n("path", {
            staticStyle: {
                "fill-rule": "nonzero"
            },
            attrs: {
                d: "M13.35,17.401l-4.201,0l0,-3.601l4.201,0c0.997,0 1.801,0.805 1.801,1.801c0,0.996 -0.804,1.8 -1.801,1.8m-4.201,-10.802l3.601,0c0.996,0 1.801,0.804 1.801,1.8c0,0.996 -0.805,1.801 -1.801,1.801l-3.601,0m6.722,1.548c1.164,-0.816 1.98,-2.149 1.98,-3.349c0,-2.712 -2.1,-4.801 -4.801,-4.801l-7.502,0l0,16.804l8.45,0c2.521,0 4.454,-2.04 4.454,-4.549c0,-1.825 -1.033,-3.385 -2.581,-4.105Z"
            }
        })])
    }
      , a = []
}
, function(e, t, n) {
    "use strict";
    n.d(t, "a", function() {
        return r
    }),
    n.d(t, "b", function() {
        return a
    });
    var r = function() {
        var e = this
          , t = e.$createElement
          , n = e._self._c || t;
        return n("svg", {
            staticClass: "icon",
            attrs: {
                xmlns: "http://www.w3.org/2000/svg",
                viewBox: "0 0 24 24"
            }
        }, [n("path", {
            staticStyle: {
                "fill-rule": "nonzero"
            },
            attrs: {
                d: "M8.617,3.658l0,3.575l2.633,0l-2.075,9.534l-3.325,0l0,3.575l9.533,0l0,-3.575l-2.633,0l2.075,-9.534l3.325,0l0,-3.575l-9.533,0Z"
            }
        })])
    }
      , a = []
}
, function(e, t, n) {
    "use strict";
    n.d(t, "a", function() {
        return r
    }),
    n.d(t, "b", function() {
        return a
    });
    var r = function() {
        var e = this
          , t = e.$createElement
          , n = e._self._c || t;
        return n("svg", {
            staticClass: "icon",
            attrs: {
                xmlns: "http://www.w3.org/2000/svg",
                viewBox: "0 0 24 24"
            }
        }, [n("path", {
            staticStyle: {
                "fill-rule": "nonzero"
            },
            attrs: {
                d: "M7.043,4.695l14.61,0l0,2.087l-14.61,0l0,-2.087m0,8.349l0,-2.088l14.61,0l0,2.088l-14.61,0m-3.131,-8.871c0.866,0 1.566,0.699 1.566,1.565c0,0.867 -0.7,1.566 -1.566,1.566c-0.866,0 -1.565,-0.699 -1.565,-1.566c0,-0.866 0.699,-1.565 1.565,-1.565m0,6.262c0.866,0 1.566,0.699 1.566,1.565c0,0.866 -0.7,1.565 -1.566,1.565c-0.866,0 -1.565,-0.699 -1.565,-1.565c0,-0.866 0.699,-1.565 1.565,-1.565m3.131,8.87l0,-2.087l14.61,0l0,2.087l-14.61,0m-3.131,-2.609c0.866,0 1.566,0.699 1.566,1.566c0,0.866 -0.7,1.565 -1.566,1.565c-0.866,0 -1.565,-0.699 -1.565,-1.565c0,-0.867 0.699,-1.566 1.565,-1.566Z"
            }
        })])
    }
      , a = []
}
, function(e, t, n) {
    "use strict";
    n.d(t, "a", function() {
        return r
    }),
    n.d(t, "b", function() {
        return a
    });
    var r = function() {
        var e = this
          , t = e.$createElement
          , n = e._self._c || t;
        return n("svg", {
            staticClass: "icon",
            attrs: {
                xmlns: "http://www.w3.org/2000/svg",
                viewBox: "0 0 24 24"
            }
        }, [n("path", {
            attrs: {
                d: "M3,5H9V11H3V5M5,7V9H7V7H5M11,7H21V9H11V7M11,15H21V17H11V15M5,20L1.5,16.5L2.91,15.09L5,17.17L9.59,12.59L11,14L5,20Z"
            }
        })])
    }
      , a = []
}
, function(e, t, n) {
    "use strict";
    n.d(t, "a", function() {
        return r
    }),
    n.d(t, "b", function() {
        return a
    });
    var r = function() {
        var e = this
          , t = e.$createElement
          , n = e._self._c || t;
        return n("svg", {
            staticClass: "icon",
            attrs: {
                xmlns: "http://www.w3.org/2000/svg",
                viewBox: "0 0 24 24"
            }
        }, [n("path", {
            staticStyle: {
                "fill-rule": "nonzero"
            },
            attrs: {
                d: "M7.235,13.059l14.825,0l0,-2.118l-14.825,0m0,8.471l14.825,0l0,-2.117l-14.825,0m0,-10.59l14.825,0l0,-2.117l-14.825,0m-5.295,6.353l1.906,0l-1.906,2.224l0,0.953l3.177,0l0,-1.059l-1.906,0l1.906,-2.224l0,-0.953l-3.177,0m1.059,-2.118l1.059,0l0,-4.235l-2.118,0l0,1.059l1.059,0m-1.059,12.707l2.118,0l0,0.529l-1.059,0l0,1.059l1.059,0l0,0.529l-2.118,0l0,1.059l3.177,0l0,-4.235l-3.177,0l0,1.059Z"
            }
        })])
    }
      , a = []
}
, function(e, t, n) {
    "use strict";
    n.d(t, "a", function() {
        return r
    }),
    n.d(t, "b", function() {
        return a
    });
    var r = function() {
        var e = this
          , t = e.$createElement
          , n = e._self._c || t;
        return n("svg", {
            staticClass: "icon",
            attrs: {
                xmlns: "http://www.w3.org/2000/svg",
                viewBox: "0 0 24 24"
            }
        }, [n("path", {
            staticStyle: {
                "fill-rule": "nonzero"
            },
            attrs: {
                d: "M14.446,18.235l2.92,0l1.946,-4.988l0,-7.482l-5.839,0l0,7.482l2.92,0m-10.732,4.988l2.919,0l1.947,-4.988l0,-7.482l-5.839,0l0,7.482l2.919,0l-1.946,4.988Z"
            }
        })])
    }
      , a = []
}
, function(e, t, n) {
    "use strict";
    n.d(t, "a", function() {
        return r
    }),
    n.d(t, "b", function() {
        return a
    });
    var r = function() {
        var e = this
          , t = e.$createElement
          , n = e._self._c || t;
        return n("svg", {
            staticClass: "icon",
            attrs: {
                xmlns: "http://www.w3.org/2000/svg",
                viewBox: "0 0 24 24"
            }
        }, [n("path", {
            staticStyle: {
                "fill-rule": "nonzero"
            },
            attrs: {
                d: "M2.007,12.526l3.156,0l0,7.363l3.155,0l0,-7.363l3.156,0l0,-3.156l-9.467,0m6.311,-5.259l0,3.155l5.26,0l0,12.623l3.156,0l0,-12.623l5.259,0l0,-3.155l-13.675,0Z"
            }
        })])
    }
      , a = []
}
, function(e, t, n) {
    "use strict";
    n.d(t, "a", function() {
        return r
    }),
    n.d(t, "b", function() {
        return a
    });
    var r = function() {
        var e = this
          , t = e.$createElement
          , n = e._self._c || t;
        return n("svg", {
            staticClass: "icon",
            attrs: {
                xmlns: "http://www.w3.org/2000/svg",
                viewBox: "0 0 24 24"
            }
        }, [n("path", {
            staticStyle: {
                "fill-rule": "nonzero"
            },
            attrs: {
                d: "M20.874,12.059l0,1.729l-3.541,0c0.806,1.851 0.766,6.918 -5.026,6.918c-6.721,0.043 -6.463,-5.621 -6.463,-5.621l3.203,0.044c0.024,2.914 2.55,2.914 3.05,2.879c0.516,-0.043 2.444,-0.034 2.598,-2.058c0.064,-0.942 -0.823,-1.66 -1.791,-2.162l-9.778,0l0,-1.729l17.748,0m-2.896,-3.554l-3.211,-0.026c0,0 0.137,-2.395 -2.646,-2.404c-2.783,-0.017 -2.541,1.902 -2.541,2.144c0.032,0.243 0.274,1.436 2.42,2.007l-5.074,0c0,0 -2.816,-5.82 4.057,-6.814c7.027,-1.038 7.011,5.11 6.995,5.093Z"
            }
        })])
    }
      , a = []
}
, function(e, t, n) {
    "use strict";
    n.d(t, "a", function() {
        return r
    }),
    n.d(t, "b", function() {
        return a
    });
    var r = function() {
        var e = this
          , t = e.$createElement
          , n = e._self._c || t;
        return n("svg", {
            staticClass: "icon",
            attrs: {
                xmlns: "http://www.w3.org/2000/svg",
                viewBox: "0 0 24 24"
            }
        }, [n("path", {
            attrs: {
                d: "M 15.0661,11.2518L 14.1711,12.1697C 13.4471,12.8937 12.9991,13.4977 12.9991,14.9977L 10.9991,14.9977L 10.9991,14.4977C 10.9991,13.3937 11.4471,12.3937 12.1711,11.6697L 13.4141,10.4117C 13.7751,10.0497 13.9991,9.54974 13.9991,8.99774C 13.9991,7.89374 13.1041,6.99774 11.9991,6.99774C 10.8951,6.99774 9.99908,7.89374 9.99908,8.99774L 7.99908,8.99774C 7.99908,6.78876 9.7901,4.99774 11.9991,4.99774C 14.2091,4.99774 15.9991,6.78876 15.9991,8.99774C 15.9991,9.87775 15.6431,10.6747 15.0661,11.2518 Z M 12.9991,18.9977L 10.9991,18.9977L 10.9991,16.9977L 12.9991,16.9977M 11.9991,1.99774C 6.4761,1.99774 1.99908,6.47473 1.99908,11.9977C 1.99908,17.5217 6.4761,21.9977 11.9991,21.9977C 17.5231,21.9977 21.9991,17.5217 21.9991,11.9977C 21.9991,6.47473 17.5231,1.99774 11.9991,1.99774 Z "
            }
        })])
    }
      , a = []
}
, function(e, t, n) {
    "use strict";
    n.d(t, "a", function() {
        return r
    }),
    n.d(t, "b", function() {
        return a
    });
    var r = function() {
        var e = this
          , t = e.$createElement
          , n = e._self._c || t;
        return n("svg", {
            staticClass: "icon",
            attrs: {
                xmlns: "http://www.w3.org/2000/svg",
                viewBox: "0 0 24 24"
            }
        }, [n("path", {
            attrs: {
                d: "M11,7V12.11L15.71,14.9L16.5,13.62L12.5,11.25V7M12.5,2C8.97,2 5.91,3.92 4.27,6.77L2,4.5V11H8.5L5.75,8.25C6.96,5.73 9.5,4 12.5,4C16.64,4 20,7.36 20,11.5C20,15.64 16.64,19 12.5,19C9.23,19 6.47,16.91 5.44,14H3.34C4.44,18.03 8.11,21 12.5,21C17.74,21 22,16.75 22,11.5C22,6.25 17.75,2 12.5,2Z"
            }
        })])
    }
      , a = []
}
, function(e, t, n) {
    "use strict";
    n.d(t, "a", function() {
        return r
    }),
    n.d(t, "b", function() {
        return a
    });
    var r = function() {
        var e = this
          , t = e.$createElement
          , n = e._self._c || t;
        return n("svg", {
            staticClass: "icon",
            attrs: {
                xmlns: "http://www.w3.org/2000/svg",
                viewBox: "0 0 24 24"
            }
        }, [n("path", {
            attrs: {
                d: "M 12.9994,8.99805L 10.9994,8.99805L 10.9994,6.99805L 12.9994,6.99805M 12.9994,16.998L 10.9994,16.998L 10.9994,10.998L 12.9994,10.998M 11.9994,1.99805C 6.47642,1.99805 1.99943,6.47504 1.99943,11.998C 1.99943,17.5211 6.47642,21.998 11.9994,21.998C 17.5224,21.998 21.9994,17.5211 21.9994,11.998C 21.9994,6.47504 17.5224,1.99805 11.9994,1.99805 Z "
            }
        })])
    }
      , a = []
}
, function(e, t, n) {
    "use strict";
    n.d(t, "a", function() {
        return r
    }),
    n.d(t, "b", function() {
        return a
    });
    var r = function() {
        var e = this
          , t = e.$createElement
          , n = e._self._c || t;
        return n("svg", {
            staticClass: "icon",
            attrs: {
                xmlns: "http://www.w3.org/2000/svg",
                viewBox: "0 0 24 24"
            }
        }, [n("path", {
            attrs: {
                d: "M 7,14C 5.9,14 5,13.1 5,12C 5,10.9 5.9,10 7,10C 8.1,10 9,10.9 9,12C 9,13.1 8.1,14 7,14 Z M 12.65,10C 11.83,7.67 9.61,6 7,6C 3.69,6 1,8.69 1,12C 1,15.31 3.69,18 7,18C 9.61,18 11.83,16.33 12.65,14L 17,14L 17,18L 21,18L 21,14L 23,14L 23,10L 12.65,10 Z "
            }
        })])
    }
      , a = []
}
, function(e, t, n) {
    "use strict";
    n.d(t, "a", function() {
        return r
    }),
    n.d(t, "b", function() {
        return a
    });
    var r = function() {
        var e = this
          , t = e.$createElement
          , n = e._self._c || t;
        return n("svg", {
            staticClass: "icon",
            attrs: {
                xmlns: "http://www.w3.org/2000/svg",
                viewBox: "0 0 24 24"
            }
        }, [n("path", {
            attrs: {
                d: "M 10.5858,13.4142C 10.9763,13.8047 10.9763,14.4379 10.5858,14.8284C 10.1952,15.2189 9.56207,15.2189 9.17154,14.8284C 7.21892,12.8758 7.21892,9.70995 9.17154,7.75733L 9.17157,7.75736L 12.707,4.2219C 14.6596,2.26928 17.8255,2.26929 19.7781,4.2219C 21.7307,6.17452 21.7307,9.34034 19.7781,11.293L 18.2925,12.7785C 18.3008,11.9583 18.1659,11.1368 17.8876,10.355L 18.3639,9.87865C 19.5355,8.70708 19.5355,6.80759 18.3639,5.63602C 17.1923,4.46445 15.2929,4.46445 14.1213,5.63602L 10.5858,9.17155C 9.41419,10.3431 9.41419,12.2426 10.5858,13.4142 Z M 13.4142,9.17155C 13.8047,8.78103 14.4379,8.78103 14.8284,9.17155C 16.781,11.1242 16.781,14.29 14.8284,16.2426L 14.8284,16.2426L 11.2929,19.7782C 9.34026,21.7308 6.17444,21.7308 4.22182,19.7782C 2.26921,17.8255 2.2692,14.6597 4.22182,12.7071L 5.70744,11.2215C 5.69913,12.0417 5.8341,12.8631 6.11234,13.645L 5.63601,14.1213C 4.46444,15.2929 4.46444,17.1924 5.63601,18.3639C 6.80758,19.5355 8.70708,19.5355 9.87865,18.3639L 13.4142,14.8284C 14.5858,13.6568 14.5858,11.7573 13.4142,10.5858C 13.0237,10.1952 13.0237,9.56207 13.4142,9.17155 Z "
            }
        })])
    }
      , a = []
}
, function(e, t, n) {
    "use strict";
    n.d(t, "a", function() {
        return r
    }),
    n.d(t, "b", function() {
        return a
    });
    var r = function() {
        var e = this
          , t = e.$createElement
          , n = e._self._c || t;
        return n("svg", {
            staticClass: "icon",
            attrs: {
                xmlns: "http://www.w3.org/2000/svg",
                viewBox: "0 0 24 24"
            }
        }, [n("path", {
            attrs: {
                fill: "#000000",
                "fill-opacity": "1",
                "stroke-width": "0.2",
                "stroke-linejoin": "round",
                d: "M 10,17.25L 10,14L 3.00002,14L 3.00002,10L 10,10L 10,6.75L 15.25,12L 10,17.25 Z M 7.99999,2.00003L 17,2.00005C 18.1045,2.00005 19,2.89546 19,4.00003L 19,20C 19,21.1046 18.1045,22 17,22L 7.99999,22C 6.89542,22 5.99999,21.1046 5.99999,20L 6,16L 7.99999,16L 7.99999,20L 17,20L 17,4.00003L 7.99999,4.00002L 7.99999,8.00001L 6,8.00001L 5.99999,4.00002C 5.99999,2.89545 6.89542,2.00003 7.99999,2.00003 Z "
            }
        })])
    }
      , a = []
}
, function(e, t, n) {
    "use strict";
    n.d(t, "a", function() {
        return r
    }),
    n.d(t, "b", function() {
        return a
    });
    var r = function() {
        var e = this
          , t = e.$createElement
          , n = e._self._c || t;
        return n("svg", {
            staticClass: "icon",
            attrs: {
                xmlns: "http://www.w3.org/2000/svg",
                viewBox: "0 0 24 24"
            }
        }, [n("path", {
            attrs: {
                fill: "#000000",
                "fill-opacity": "1",
                "stroke-width": "0.2",
                "stroke-linejoin": "round",
                d: "M 16.9999,17.25L 16.9999,14L 9.99998,14L 9.99998,10L 16.9999,10L 16.9999,6.75L 22.2499,12L 16.9999,17.25 Z M 13,2.00002C 14.1046,2.00002 15,2.89545 15,4.00002L 15,8L 13,8L 13,4.00002L 4,4.00004L 4,20L 13,20L 13,16L 15,16L 15,20C 15,21.1046 14.1046,22 13,22L 4,22C 2.89543,22 2,21.1046 2,20L 2,4.00004C 2,2.89547 2.89543,2.00006 4,2.00006L 13,2.00002 Z "
            }
        })])
    }
      , a = []
}
, function(e, t, n) {
    "use strict";
    n.d(t, "a", function() {
        return r
    }),
    n.d(t, "b", function() {
        return a
    });
    var r = function() {
        var e = this
          , t = e.$createElement
          , n = e._self._c || t;
        return n("svg", {
            staticClass: "icon",
            attrs: {
                xmlns: "http://www.w3.org/2000/svg",
                viewBox: "0 0 24 24"
            }
        }, [n("path", {
            attrs: {
                d: "M 9.5,3C 13.0899,3 16,5.91015 16,9.5C 16,11.1149 15.411,12.5923 14.4362,13.7291L 14.7071,14L 15.5,14L 20.5,19L 19,20.5L 14,15.5L 14,14.7071L 13.7291,14.4362C 12.5923,15.411 11.1149,16 9.5,16C 5.91015,16 3,13.0899 3,9.5C 3,5.91015 5.91015,3 9.5,3 Z M 9.5,5.00001C 7.01472,5.00001 5,7.01473 5,9.50001C 5,11.9853 7.01472,14 9.5,14C 11.9853,14 14,11.9853 14,9.50001C 14,7.01473 11.9853,5.00001 9.5,5.00001 Z "
            }
        })])
    }
      , a = []
}
, function(e, t, n) {
    "use strict";
    n.d(t, "a", function() {
        return r
    }),
    n.d(t, "b", function() {
        return a
    });
    var r = function() {
        var e = this
          , t = e.$createElement
          , n = e._self._c || t;
        return n("svg", {
            staticClass: "icon",
            attrs: {
                xmlns: "http://www.w3.org/2000/svg",
                viewBox: "0 0 24 24"
            }
        }, [n("path", {
            attrs: {
                d: "M 21.9891,3.99805C 21.9891,2.89404 21.1031,1.99805 19.9991,1.99805L 3.99913,1.99805C 2.89512,1.99805 1.99913,2.89404 1.99913,3.99805L 1.99913,15.998C 1.99913,17.1021 2.89512,17.998 3.99913,17.998L 17.9991,17.998L 21.9991,21.998L 21.9891,3.99805 Z "
            }
        })])
    }
      , a = []
}
, function(e, t, n) {
    "use strict";
    n.d(t, "a", function() {
        return r
    }),
    n.d(t, "b", function() {
        return a
    });
    var r = function() {
        var e = this
          , t = e.$createElement
          , n = e._self._c || t;
        return n("svg", {
            staticClass: "icon",
            attrs: {
                xmlns: "http://www.w3.org/2000/svg",
                viewBox: "0 0 24 24"
            }
        }, [n("path", {
            attrs: {
                d: "M19,8.977l-14,0l0,10l14,0m0,2l-14,0c-1.104,0 -2,-0.896 -2,-2l0,-10c0,-1.105 0.896,-2 2,-2l14,0c1.105,0 2,0.895 2,2l0,10c0,1.104 -0.895,2 -2,2Z"
            }
        }), e._v(" "), n("rect", {
            attrs: {
                x: "3",
                y: "3.023",
                width: "18",
                height: "2"
            }
        })])
    }
      , a = []
}
, function(e, t, n) {
    "use strict";
    n.d(t, "a", function() {
        return r
    }),
    n.d(t, "b", function() {
        return a
    });
    var r = function() {
        var e = this
          , t = e.$createElement
          , n = e._self._c || t;
        return n("svg", {
            staticClass: "icon",
            attrs: {
                xmlns: "http://www.w3.org/2000/svg",
                viewBox: "0 0 24 24"
            }
        }, [n("path", {
            attrs: {
                d: "M 14,3L 14,5L 17.59,5L 7.76,14.83L 9.17,16.24L 19,6.41L 19,10L 21,10L 21,3M 19,19L 5,19L 5,5L 12,5L 12,3L 5,3C 3.89,3 3,3.9 3,5L 3,19C 3,20.1 3.89,21 5,21L 19,21C 20.1,21 21,20.1 21,19L 21,12L 19,12L 19,19 Z "
            }
        })])
    }
      , a = []
}
, function(e, t, n) {
    "use strict";
    n.d(t, "a", function() {
        return r
    }),
    n.d(t, "b", function() {
        return a
    });
    var r = function() {
        var e = this
          , t = e.$createElement
          , n = e._self._c || t;
        return n("svg", {
            staticClass: "icon",
            attrs: {
                xmlns: "http://www.w3.org/2000/svg",
                viewBox: "0 0 24 24"
            }
        }, [n("path", {
            attrs: {
                d: "M 16.8363,2.73375C 16.45,2.73375 16.0688,2.88125 15.7712,3.17375L 13.6525,5.2925L 18.955,10.5962L 21.0737,8.47625C 21.665,7.89 21.665,6.94375 21.0737,6.3575L 17.895,3.17375C 17.6025,2.88125 17.2163,2.73375 16.8363,2.73375 Z M 12.9437,6.00125L 4.84375,14.1062L 7.4025,14.39L 7.57875,16.675L 9.85875,16.85L 10.1462,19.4088L 18.2475,11.3038M 4.2475,15.0437L 2.515,21.7337L 9.19875,19.9412L 8.955,17.7838L 6.645,17.6075L 6.465,15.2925"
            }
        })])
    }
      , a = []
}
, function(e, t, n) {
    "use strict";
    n.d(t, "a", function() {
        return r
    }),
    n.d(t, "b", function() {
        return a
    });
    var r = function() {
        var e = this
          , t = e.$createElement
          , n = e._self._c || t;
        return n("svg", {
            staticClass: "icon",
            attrs: {
                xmlns: "http://www.w3.org/2000/svg",
                viewBox: "0 0 24 24"
            }
        }, [n("path", {
            attrs: {
                d: "M18,3H6V7H18M19,12C18.45,12 18,11.55 18,11C18,10.45 18.45,10 19,10C19.55,10 20,10.45 20,11C20,11.55 19.55,12 19,12M16,19H8V14H16M19,8H5C3.34,8 2,9.34 2,11V17H6V21H18V17H22V11C22,9.34 20.66,8 19,8Z"
            }
        })])
    }
      , a = []
}
, function(e, t, n) {
    "use strict";
    n.d(t, "a", function() {
        return r
    }),
    n.d(t, "b", function() {
        return a
    });
    var r = function() {
        var e = this
          , t = e.$createElement
          , n = e._self._c || t;
        return n("div", {
            staticClass: "icon-provider",
            class: "icon-provider--" + e.classState
        }, [e.classState ? e._e() : n("icon-sync-off")], 1)
    }
      , a = []
}
, function(e, t, n) {
    "use strict";
    n.d(t, "a", function() {
        return r
    }),
    n.d(t, "b", function() {
        return a
    });
    var r = function() {
        var e = this
          , t = e.$createElement
          , n = e._self._c || t;
        return n("svg", {
            staticClass: "icon",
            attrs: {
                xmlns: "http://www.w3.org/2000/svg",
                viewBox: "0 0 24 24"
            }
        }, [n("path", {
            attrs: {
                d: "M18.4,10.6C16.55,9 14.15,8 11.5,8C6.85,8 2.92,11.03 1.54,15.22L3.9,16C4.95,12.81 7.95,10.5 11.5,10.5C13.45,10.5 15.23,11.22 16.62,12.38L13,16H22V7L18.4,10.6Z"
            }
        })])
    }
      , a = []
}
, function(e, t, n) {
    "use strict";
    n.d(t, "a", function() {
        return r
    }),
    n.d(t, "b", function() {
        return a
    });
    var r = function() {
        var e = this
          , t = e.$createElement
          , n = e._self._c || t;
        return n("svg", {
            staticStyle: {
                position: "relative",
                left: "1px",
                top: "8px",
                width: "24px",
                height: "24px"
            },
            attrs: {
                viewBox: "0 0 24 24",
                version: "1.1",
                xmlns: "http://www.w3.org/2000/svg"
            }
        }, [n("g", {
            attrs: {
                id: "保存",
                stroke: "none",
                "stroke-width": "1",
                fill: "none",
                "fill-rule": "evenodd"
            }
        }, [n("g", {
            attrs: {
                id: "编组备份"
            }
        }, [n("rect", {
            attrs: {
                id: "Rectangle-4",
                x: "0",
                y: "0",
                width: "16px",
                height: "14px"
            }
        }), e._v(" "), n("path", {
            attrs: {
                d: "M14,0 C15.1045695,0 16,0.8954305 16,2 L16,14 C16,15.1045695 15.1045695,16 14,16 L2,16 C0.8954305,16 0,15.1045695 0,14 L0,2 C0,0.8954305 0.8954305,0 2,0 L14,0 Z M14,2 L2,2 L2,14 L14,14 L14,2 Z",
                id: "矩形",
                fill: "#b9b9b9",
                "fill-rule": "nonzero"
            }
        }), e._v(" "), n("rect", {
            attrs: {
                id: "矩形",
                fill: "#b9b9b9",
                x: "4",
                y: "2",
                width: "4",
                height: "4"
            }
        }), e._v(" "), n("polygon", {
            attrs: {
                id: "路径",
                fill: "#b9b9b9",
                "fill-rule": "nonzero",
                points: "13 2 13 6 5 6 5 4 11 4 11 2"
            }
        })])])])
    }
      , a = []
}
, function(e, t, n) {
    "use strict";
    n.d(t, "a", function() {
        return r
    }),
    n.d(t, "b", function() {
        return a
    });
    var r = function() {
        var e = this
          , t = e.$createElement
          , n = e._self._c || t;
        return n("svg", {
            staticClass: "icon",
            attrs: {
                xmlns: "http://www.w3.org/2000/svg",
                viewBox: "0 0 24 24"
            }
        }, [n("path", {
            attrs: {
                d: "M9,18l3,0l-4,4l-4,-4l3,0l0,-3l2,0l0,3Zm8,0l3,0l-4,4l-4,-4l3,0l0,-3l2,0l0,3Zm0.055,-5l-10.11,0l0,-2l10.11,0l0,2Zm-8.055,-4l-2,0l0,-3l-3,0l4,-4l4,4l4,-4l4,4l-3,0l0,3l-2,0l0,-3l-6,0l0,3Z"
            }
        })])
    }
      , a = []
}
, function(e, t, n) {
    "use strict";
    n.d(t, "a", function() {
        return r
    }),
    n.d(t, "b", function() {
        return a
    });
    var r = function() {
        var e = this
          , t = e.$createElement
          , n = e._self._c || t;
        return n("svg", {
            staticClass: "icon",
            attrs: {
                xmlns: "http://www.w3.org/2000/svg",
                viewBox: "1 1 23 23"
            }
        }, [n("path", {
            attrs: {
                d: "M 20.3943,19.3706L 16.3828,17.9893L 15.0016,22.0008L 11.9248,15.9996L 8.99895,21.9986L 7.61768,17.9871L 3.60619,19.3683L 6.53159,13.3704C 5.57315,12.1727 5,10.6533 5,9C 5,5.13401 8.13401,2 12,2C 15.866,2 19,5.13401 19,9C 19,10.6535 18.4267,12.1731 17.468,13.3708L 20.3943,19.3706 Z M 7,9.00001L 9.68578,10.3429L 9.50615,13.3356L 12.012,11.6811L 14.514,13.333L 14.334,10.3356L 17.0156,8.9948L 14.323,7.64851L 14.5017,4.6727L 12.0162,6.31371L 9.49384,4.64828L 9.67477,7.66262L 7,9.00001 Z "
            }
        })])
    }
      , a = []
}
, function(e, t, n) {
    "use strict";
    n.d(t, "a", function() {
        return r
    }),
    n.d(t, "b", function() {
        return a
    });
    var r = function() {
        var e = this
          , t = e.$createElement
          , n = e._self._c || t;
        return n("svg", {
            staticClass: "icon",
            attrs: {
                xmlns: "http://www.w3.org/2000/svg",
                viewBox: "0 0 24 24"
            }
        }, [n("path", {
            attrs: {
                d: "M 11.9994,15.498C 10.0664,15.498 8.49939,13.931 8.49939,11.998C 8.49939,10.0651 10.0664,8.49805 11.9994,8.49805C 13.9324,8.49805 15.4994,10.0651 15.4994,11.998C 15.4994,13.931 13.9324,15.498 11.9994,15.498 Z M 19.4284,12.9741C 19.4704,12.6531 19.4984,12.329 19.4984,11.998C 19.4984,11.6671 19.4704,11.343 19.4284,11.022L 21.5414,9.36804C 21.7294,9.21606 21.7844,8.94604 21.6594,8.73004L 19.6594,5.26605C 19.5354,5.05005 19.2734,4.96204 19.0474,5.04907L 16.5584,6.05206C 16.0424,5.65607 15.4774,5.32104 14.8684,5.06903L 14.4934,2.41907C 14.4554,2.18103 14.2484,1.99805 13.9994,1.99805L 9.99939,1.99805C 9.74939,1.99805 9.5434,2.18103 9.5054,2.41907L 9.1304,5.06805C 8.52039,5.32104 7.95538,5.65607 7.43939,6.05206L 4.95139,5.04907C 4.7254,4.96204 4.46338,5.05005 4.33939,5.26605L 2.33939,8.73004C 2.21439,8.94604 2.26938,9.21606 2.4574,9.36804L 4.5694,11.022C 4.5274,11.342 4.49939,11.6671 4.49939,11.998C 4.49939,12.329 4.5274,12.6541 4.5694,12.9741L 2.4574,14.6271C 2.26938,14.78 2.21439,15.05 2.33939,15.2661L 4.33939,18.73C 4.46338,18.946 4.7254,19.0341 4.95139,18.947L 7.4404,17.944C 7.95639,18.34 8.52139,18.675 9.1304,18.9271L 9.5054,21.577C 9.5434,21.8151 9.74939,21.998 9.99939,21.998L 13.9994,21.998C 14.2484,21.998 14.4554,21.8151 14.4934,21.577L 14.8684,18.9271C 15.4764,18.6741 16.0414,18.34 16.5574,17.9431L 19.0474,18.947C 19.2734,19.0341 19.5354,18.946 19.6594,18.73L 21.6594,15.2661C 21.7844,15.05 21.7294,14.78 21.5414,14.6271L 19.4284,12.9741 Z "
            }
        })])
    }
      , a = []
}
, function(e, t, n) {
    "use strict";
    n.d(t, "a", function() {
        return r
    }),
    n.d(t, "b", function() {
        return a
    });
    var r = function() {
        var e = this
          , t = e.$createElement
          , n = e._self._c || t;
        return n("svg", {
            staticClass: "icon",
            attrs: {
                xmlns: "http://www.w3.org/2000/svg",
                viewBox: "0 0 24 24"
            }
        }, [n("path", {
            attrs: {
                d: "M11,20.977l-6,0c-1.104,0 -2,-0.896 -2,-2l0,-14c0,-1.105 0.896,-2 2,-2l14,0c1.105,0 2,0.895 2,2l0,14c0,1.104 -0.895,2 -2,2l-6,0l0,0.023l-2,0l0,-0.023Zm0,-2l0,-14l-6,0l0,14l6,0Zm8,-14l-6,0l0,14l6,0l0,-14Z"
            }
        })])
    }
      , a = []
}
, function(e, t, n) {
    "use strict";
    n.d(t, "a", function() {
        return r
    }),
    n.d(t, "b", function() {
        return a
    });
    var r = function() {
        var e = this
          , t = e.$createElement
          , n = e._self._c || t;
        return n("svg", {
            staticClass: "icon",
            attrs: {
                xmlns: "http://www.w3.org/2000/svg",
                viewBox: "0 0 24 24"
            }
        }, [n("path", {
            attrs: {
                d: "M 18,3L 18,16.1777L 21,19.1777L 21,3L 18,3 Z M 4.27734,5L 3,6.2676L 10.7324,14L 8,14L 8,21L 11,21L 11,14.2676L 13,16.2676L 13,21L 16,21L 16,19.2676L 19.7324,23L 21,21.7227L 4.27734,5 Z M 13,9L 13,11.1777L 16,14.1777L 16,9L 13,9 Z M 3,18L 3,21L 6,21L 6,18L 3,18 Z "
            }
        })])
    }
      , a = []
}
, function(e, t, n) {
    "use strict";
    n.d(t, "a", function() {
        return r
    }),
    n.d(t, "b", function() {
        return a
    });
    var r = function() {
        var e = this
          , t = e.$createElement
          , n = e._self._c || t;
        return n("svg", {
            staticClass: "icon",
            attrs: {
                xmlns: "http://www.w3.org/2000/svg",
                viewBox: "0 0 24 24"
            }
        }, [n("path", {
            attrs: {
                d: "M19,15.023l-14,0l0,-10l14,0m0,-2l-14,0c-1.104,0 -2,0.896 -2,2l0,10c0,1.105 0.896,2 2,2l14,0c1.105,0 2,-0.895 2,-2l0,-10c0,-1.104 -0.895,-2 -2,-2Z"
            }
        }), e._v(" "), n("rect", {
            attrs: {
                x: "3",
                y: "18.977",
                width: "18",
                height: "2"
            }
        })])
    }
      , a = []
}
, function(e, t, n) {
    "use strict";
    n.d(t, "a", function() {
        return r
    }),
    n.d(t, "b", function() {
        return a
    });
    var r = function() {
        var e = this
          , t = e.$createElement
          , n = e._self._c || t;
        return n("svg", {
            staticClass: "icon",
            attrs: {
                xmlns: "http://www.w3.org/2000/svg",
                viewBox: "0 0 24 24"
            }
        }, [n("path", {
            attrs: {
                d: "M12,18C8.69,18 6,15.31 6,12C6,11 6.25,10.03 6.7,9.2L5.24,7.74C4.46,8.97 4,10.43 4,12C4,16.42 7.58,20 12,20V23L16,19L12,15M12,4V1L8,5L12,9V6C15.31,6 18,8.69 18,12C18,13 17.75,13.97 17.3,14.8L18.76,16.26C19.54,15.03 20,13.57 20,12C20,7.58 16.42,4 12,4Z"
            }
        })])
    }
      , a = []
}
, function(e, t, n) {
    "use strict";
    n.d(t, "a", function() {
        return r
    }),
    n.d(t, "b", function() {
        return a
    });
    var r = function() {
        var e = this
          , t = e.$createElement
          , n = e._self._c || t;
        return n("svg", {
            staticClass: "icon",
            attrs: {
                xmlns: "http://www.w3.org/2000/svg",
                viewBox: "0 0 24 24"
            }
        }, [n("path", {
            attrs: {
                d: "M20,4H14V10L16.24,7.76C17.32,8.85 18,10.34 18,12C18,13 17.75,13.94 17.32,14.77L18.78,16.23C19.55,15 20,13.56 20,12C20,9.79 19.09,7.8 17.64,6.36L20,4M2.86,5.41L5.22,7.77C4.45,9 4,10.44 4,12C4,14.21 4.91,16.2 6.36,17.64L4,20H10V14L7.76,16.24C6.68,15.15 6,13.66 6,12C6,11 6.25,10.06 6.68,9.23L14.76,17.31C14.5,17.44 14.26,17.56 14,17.65V19.74C14.79,19.53 15.54,19.2 16.22,18.78L18.58,21.14L19.85,19.87L4.14,4.14L2.86,5.41M10,6.35V4.26C9.2,4.47 8.45,4.8 7.77,5.22L9.23,6.68C9.5,6.56 9.73,6.44 10,6.35Z"
            }
        })])
    }
      , a = []
}
, function(e, t, n) {
    "use strict";
    n.d(t, "a", function() {
        return r
    }),
    n.d(t, "b", function() {
        return a
    });
    var r = function() {
        var e = this
          , t = e.$createElement
          , n = e._self._c || t;
        return n("svg", {
            staticClass: "icon",
            attrs: {
                xmlns: "http://www.w3.org/2000/svg",
                viewBox: "0 0 24 24"
            }
        }, [n("path", {
            attrs: {
                d: "M 5,4L 19,4C 20.1046,4 21,4.89543 21,6L 21,18C 21,19.1046 20.1046,20 19,20L 5,20C 3.89543,20 3,19.1046 3,18L 3,6C 3,4.89543 3.89543,4 5,4 Z M 5,8L 5,12L 11,12L 11,8L 5,8 Z M 13,8L 13,12L 19,12L 19,8L 13,8 Z M 5,14L 5,18L 11,18L 11,14L 5,14 Z M 13,14L 13,18L 19,18L 19,14L 13,14 Z "
            }
        })])
    }
      , a = []
}
, function(e, t, n) {
    "use strict";
    n.d(t, "a", function() {
        return r
    }),
    n.d(t, "b", function() {
        return a
    });
    var r = function() {
        var e = this
          , t = e.$createElement
          , n = e._self._c || t;
        return n("svg", {
            staticClass: "icon",
            attrs: {
                xmlns: "http://www.w3.org/2000/svg",
                viewBox: "0 0 24 24"
            }
        }, [n("path", {
            attrs: {
                d: "M 11.0013,2.0025L 11.0013,4.0725C 7.3825,4.53125 4.53125,7.3825 4.0725,11.0012L 2.0025,11.0012L 2.0025,12.9975L 4.0725,12.9975C 4.53125,16.6213 7.3825,19.4675 11.0013,19.9262L 11.0013,22.0025L 12.9975,22.0025L 12.9975,19.9313C 16.6212,19.4675 19.4675,16.6213 19.9263,12.9975L 22.0025,12.9975L 22.0025,11.0012L 19.9312,11.0012C 19.4675,7.3825 16.6212,4.53125 12.9975,4.0725L 12.9975,2.0025M 11.0013,6.08375L 11.0013,7.9975L 12.9975,7.9975L 12.9975,6.08875C 15.5175,6.51375 17.485,8.48625 17.915,11.0012L 16.0012,11.0012L 16.0012,12.9975L 17.91,12.9975C 17.485,15.5175 15.5125,17.485 12.9975,17.915L 12.9975,16.0012L 11.0013,16.0012L 11.0013,17.91C 8.48625,17.485 6.51375,15.5125 6.08375,12.9975L 7.9975,12.9975L 7.9975,11.0012L 6.08875,11.0012C 6.51375,8.48625 8.48625,6.51375 11.0013,6.08375 Z M 12.0025,11.0012C 11.445,11.0012 11.0013,11.445 11.0013,12.0025C 11.0013,12.5538 11.445,12.9975 12.0025,12.9975C 12.5537,12.9975 12.9975,12.5538 12.9975,12.0025C 12.9975,11.445 12.5537,11.0012 12.0025,11.0012 Z "
            }
        })])
    }
      , a = []
}
, function(e, t, n) {
    "use strict";
    n.d(t, "a", function() {
        return r
    }),
    n.d(t, "b", function() {
        return a
    });
    var r = function() {
        var e = this
          , t = e.$createElement
          , n = e._self._c || t;
        return n("svg", {
            staticClass: "icon",
            attrs: {
                xmlns: "http://www.w3.org/2000/svg",
                viewBox: "0 0 24 24"
            }
        }, [n("path", {
            attrs: {
                d: "M3 9h14V7H3v2zm0 4h14v-2H3v2zm0 4h14v-2H3v2zm16 0h2v-2h-2v2zm0-10v2h2V7h-2zm0 6h2v-2h-2v2z"
            }
        })])
    }
      , a = []
}
, function(e, t, n) {
    "use strict";
    n.d(t, "a", function() {
        return r
    }),
    n.d(t, "b", function() {
        return a
    });
    var r = function() {
        var e = this
          , t = e.$createElement
          , n = e._self._c || t;
        return n("svg", {
            staticClass: "icon",
            attrs: {
                xmlns: "http://www.w3.org/2000/svg",
                viewBox: "0 0 24 24"
            }
        }, [n("path", {
            attrs: {
                d: "M12.5,8C9.85,8 7.45,9 5.6,10.6L2,7V16H11L7.38,12.38C8.77,11.22 10.54,10.5 12.5,10.5C16.04,10.5 19.05,12.81 20.1,16L22.47,15.22C21.08,11.03 17.15,8 12.5,8Z"
            }
        })])
    }
      , a = []
}
, function(e, t, n) {
    "use strict";
    n.d(t, "a", function() {
        return r
    }),
    n.d(t, "b", function() {
        return a
    });
    var r = function() {
        var e = this
          , t = e.$createElement
          , n = e._self._c || t;
        return n("svg", {
            staticClass: "icon",
            attrs: {
                xmlns: "http://www.w3.org/2000/svg",
                viewBox: "0 0 24 24"
            }
        }, [n("path", {
            attrs: {
                d: "M 8.99939,15.998L 8.99939,9.99805L 4.99939,9.99805L 11.9994,2.99805L 18.9994,9.99805L 14.9994,9.99805L 14.9994,15.998L 8.99939,15.998 Z M 4.99937,19.9981L 4.99937,17.9981L 18.9994,17.9981L 18.9994,19.9981L 4.99937,19.9981 Z "
            }
        })])
    }
      , a = []
}
, function(e, t, n) {
    "use strict";
    n.d(t, "a", function() {
        return r
    }),
    n.d(t, "b", function() {
        return a
    });
    var r = function() {
        var e = this
          , t = e.$createElement
          , n = e._self._c || t;
        return n("svg", {
            staticClass: "icon",
            attrs: {
                xmlns: "http://www.w3.org/2000/svg",
                viewBox: "0 0 24 24"
            }
        }, [n("path", {
            attrs: {
                d: "M 9,5L 9,9L 21,9L 21,5M 9,19L 21,19L 21,15L 9,15M 9,14L 21,14L 21,10L 9,10M 4,9L 8,9L 8,5L 4,5M 4,19L 8,19L 8,15L 4,15M 4,14L 8,14L 8,10L 4,10L 4,14 Z "
            }
        })])
    }
      , a = []
}
, , , , , , function(e, t, n) {
    e.exports = function() {
        return new Worker(n.p + "321d087894e863b182db.worker.js")
    }
}
], [863]);
//# sourceMappingURL=app.e1132c72ef8297b1dba8.js.map
