<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
        問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
        當前位置: 首頁 - 科技 - 知識百科 - 正文

        .NET下為百度文本編輯器UEditor增加圖片刪除功能示例

        來源:懂視網 責編:小采 時間:2020-11-27 22:41:04
        文檔

        .NET下為百度文本編輯器UEditor增加圖片刪除功能示例

        .NET下為百度文本編輯器UEditor增加圖片刪除功能示例:百度的這個編輯器,的確挺好,但也有些,讓人不如意的,如每次更新,本來有功能給搞沒了,舊版本的代碼又不能直接拿過來組合用,對用戶來很是不爽。今天下載了目前最新版1.2.5為版本看更新記錄,主要是對表格做個修改,我下載用上,我靠,上傳圖片的刪除功能
        推薦度:
        導讀.NET下為百度文本編輯器UEditor增加圖片刪除功能示例:百度的這個編輯器,的確挺好,但也有些,讓人不如意的,如每次更新,本來有功能給搞沒了,舊版本的代碼又不能直接拿過來組合用,對用戶來很是不爽。今天下載了目前最新版1.2.5為版本看更新記錄,主要是對表格做個修改,我下載用上,我靠,上傳圖片的刪除功能

        百度的這個編輯器,的確挺好,但也有些,讓人不如意的,如每次更新,本來有功能給搞沒了,舊版本的代碼又不能直接拿過來組合用,對用戶來很是不爽。今天下載了目前最新版1.2.5為版本看更新記錄,主要是對表格做個修改,我下載用上,我靠,上傳圖片的刪除功能給取消了。把舊版本的刪除代碼拿過來,不好使,還得我慢慢研究,鬧心啊,鬧心,折磨我半天。

        1、首先修改服務器端ueditor\net下的文件imageManager.ashx,增加圖片刪除的處理。如下代碼的Add部分所示:
        代碼如下:


        <%@ WebHandler Language="C#" Class="imageManager" %>
        /**
        * Created by visual studio2010
        * User: xuheng
        * Date: 12-3-7
        * Time: 下午16:29
        * To change this template use File | Settings | File Templates.
        */
        using System;
        using System.Web;
        using System.IO;
        using System.Text.RegularExpressions;
        public class imageManager : IHttpHandler
        {
        public void ProcessRequest(HttpContext context)
        {
        context.Response.ContentType = "text/plain";

        string[] paths = { "upload", "upload1" }; //需要遍歷的目錄列表,最好使用縮略圖地址,否則當網速慢時可能會造成嚴重的延時
        string[] filetype = { ".gif", ".png", ".jpg", ".jpeg", ".bmp" }; //文件允許格式
        string action = context.Server.HtmlEncode(context.Request["action"]);
        if (action == "get")
        {
        String str = String.Empty;
        foreach (string path in paths)
        {
        DirectoryInfo info = new DirectoryInfo(context.Server.MapPath(path));
        //目錄驗證
        if (info.Exists)
        {
        DirectoryInfo[] infoArr = info.GetDirectories();
        foreach (DirectoryInfo tmpInfo in infoArr)
        {
        foreach (FileInfo fi in tmpInfo.GetFiles())
        {
        if (Array.IndexOf(filetype, fi.Extension) != -1)
        {
        str += path+"/" + tmpInfo.Name + "/" + fi.Name + "ue_separate_ue";
        }
        }
        }
        }
        }
        context.Response.Write(str);
        }
        //Add Start========================================================== 2013-05-12
        //刪除選中的文件
        string pathDel = string.Empty; //最好使用縮略圖地址,否則當網速慢時可能會造成嚴重的延時
        string fileName = context.Server.HtmlEncode(context.Request["fileName"]);
        bool isDeleted = false;
        if (action == "del")
        {
        try
        {
        String fullPath = String.Empty;
        foreach (string path in paths)
        {
        pathDel = context.Server.MapPath(path);
        DirectoryInfo info = new DirectoryInfo(pathDel);
        //目錄驗證
        if (info.Exists)
        {
        //獲得C:\...\ueditor\net\upload目錄下,以時間命名的目錄。如:2013-05-12
        DirectoryInfo[] infoArr = info.GetDirectories();
        foreach (DirectoryInfo tmpInfo in infoArr)
        {
        foreach (FileInfo fi in tmpInfo.GetFiles())
        {
        //判斷是否是指定的圖片類型,因為長傳的附件和圖片在同一個目錄
        if (Array.IndexOf(filetype, fi.Extension) != -1)
        {
        if (fi.Name.Equals(fileName))
        {
        fullPath = pathDel + "/" + tmpInfo.Name + "/"+ fileName;
        File.Delete(fullPath);
        isDeleted = true;
        break;
        }
        }
        }
        //已經刪除,往外跳出
        if (isDeleted == true)
        break;
        }
        }
        //已經刪除,往外跳出
        if (isDeleted == true)
        break;
        }
        isDeleted = false;
        context.Response.Write("success");
        }
        catch
        {
        context.Response.Write("error");
        }
        }
        //Add End============================================================ 2013-05-12
        }
        public bool IsReusable
        {
        get
        {
        return false;
        }
        }
        }

        2、修改腳本ueditor\dialogs\image下的image.js文件。增加圖片刪除的處理的Ajax調用。如下的Add部分所示:
        代碼如下:


        /**
        * Created by JetBrains PhpStorm.
        * User: taoqili
        * Date: 12-01-08
        * Time: 下午2:52
        * To change this template use File | Settings | File Templates.
        */
        var imageUploader = {},
        flashObj = null,
        postConfig=[];
        (function () {
        var g = $G,
        ajax = parent.baidu.editor.ajax,
        maskIframe = g("maskIframe"); //tab遮罩層,用來解決flash和其他dom元素的z-index層級不一致問題
        // flashObj; //flash上傳對象
        var flagImg = null, flashContainer;
        imageUploader.init = function (opt, callbacks) {
        switchTab("imageTab");
        createAlignButton(["remoteFloat", "localFloat"]);
        createFlash(opt, callbacks);
        var srcImg = editor.selection.getRange().getClosedNode();
        if (srcImg) {
        showImageInfo(srcImg);
        showPreviewImage(srcImg, true);
        var tabElements = g("imageTab").children,
        tabHeads = tabElements[0].children,
        tabBodys = tabElements[1].children;
        for (var i = 0, ci; ci = tabHeads[i++];) {
        if (ci.getAttribute("tabSrc") == "remote") {
        clickHandler(tabHeads, tabBodys, ci);
        }
        }
        }
        addUrlChangeListener();
        addOKListener();
        addScrollListener();
        addSearchListener();
        $focus(g("url"));
        };
        imageUploader.setPostParams = function(obj,index){
        if(index===undefined){
        utils.each(postConfig,function(config){
        config.data = obj;
        })
        }else{
        postConfig[index].data = obj;
        }
        };
        function insertImage(imgObjs) {
        editor.fireEvent('beforeInsertImage', imgObjs);
        editor.execCommand("insertImage", imgObjs);
        }
        function searchImage() {
        var imgSearchInput = $G("imgSearchTxt");
        if (!imgSearchInput.getAttribute("hasClick") || !imgSearchInput.value) {
        selectTxt(imgSearchInput);
        return;
        }
        g("searchList").innerHTML = "<p class='msg'>" + lang.imageLoading + "</p>";
        var key = imgSearchInput.value,
        type = $G("imgType").value,
        url = "http://image.baidu.com/i?ct=201326592&cl=2&lm=-1&st=-1&tn=baiduimagejson&istype=2&rn=32&fm=index&pv=&word=" + encodeToGb2312(key) + type + "&" + +new Date;
        var reqCallBack = function (data) {
        try {
        var imgObjs = data.data;
        } catch (e) {
        return;
        }
        var frg = document.createDocumentFragment();
        if (imgObjs.length < 2) {
        g("searchList").innerHTML = "<p class='msg'>" + lang.tryAgain + "</p>";
        return;
        }
        for (var i = 0, len = imgObjs.length; i < len - 1; i++) {
        var img = document.createElement("img"), obj = imgObjs[i], div = document.createElement("div");
        img.src = obj.objURL; //obj.thumbURL 為縮略圖,只能針對百度內部使用
        img.setAttribute("sourceUrl", obj.objURL);
        var title = obj.fromPageTitleEnc.replace(/^\.\.\./i, "");
        img.setAttribute("title", lang.toggleSelect + obj.width + "X" + obj.height);
        img.onclick = function () {
        changeSelected(this);
        };
        scale(img, 100, obj.width, obj.height);
        div.appendChild(img);
        var p = document.createElement("p");
        p.innerHTML = "<a target='_blank' href='" + obj.fromURL + "'>" + title + "</a>";
        div.appendChild(p);
        //setTimeout(function(){
        frg.appendChild(div);
        //},0);
        }
        g("searchList").innerHTML = "";
        g("searchList").appendChild(frg);
        };
        baidu.sio.callByServer(url, reqCallBack, {charset:"GB18030"});
        }
        function selectTxt(node) {
        if (node.select) {
        node.select();
        } else {
        var r = node.createTextRange && node.createTextRange();
        r.select();
        }
        }
        function addSearchListener() {
        g("imgSearchTxt").onclick = function () {
        selectTxt(this);
        this.setAttribute("hasClick", true);
        if (this.value == lang.searchInitInfo) {
        this.value = "";
        }
        };
        g("imgSearchTxt").onkeyup = function () {
        this.setAttribute("hasClick", true);
        //只觸發一次
        this.onkeyup = null;
        };
        g("imgSearchBtn").onclick = function () {
        searchImage();
        };
        g("imgSearchReset").onclick = function () {
        var txt = g("imgSearchTxt");
        txt.value = "";
        txt.focus();
        g("searchList").innerHTML = "";
        };
        g("imgType").onchange = function () {
        searchImage();
        };
        domUtils.on(g("imgSearchTxt"), "keyup", function (evt) {
        if (evt.keyCode == 13) {
        searchImage();
        }
        })
        }
        /**
        * 延遲加載
        */
        function addScrollListener() {
        g("imageList").onscroll = function () {
        var imgs = this.getElementsByTagName("img"),
        top = Math.ceil(this.scrollTop / 100) - 1;
        top = top < 0 ? 0 : top;
        for (var i = top * 5; i < (top + 5) * 5; i++) {
        var img = imgs[i];
        if (img && !img.getAttribute("src")) {
        img.src = img.getAttribute("lazy_src");
        img.removeAttribute("lazy_src");
        }
        }
        }
        }
        /**
        * 綁定確認按鈕
        */
        function addOKListener() {
        dialog.onok = function () {
        var currentTab = findFocus("tabHeads", "tabSrc");
        switch (currentTab) {
        case "remote":
        return insertSingle();
        break;
        case "local":
        return insertBatch();
        break;
        case "imgManager":
        return insertSearch("imageList");
        break;
        case "imgSearch":
        return insertSearch("searchList", true);
        break;
        }
        };
        dialog.oncancel = function () {
        hideFlash();
        }
        }
        function hideFlash() {
        flashObj = null;
        flashContainer.innerHTML = "";
        }
        /**
        * 將元素id下的所有圖片文件插入到編輯器中。
        * @param id
        * @param catchRemote 是否需要替換遠程圖片
        */
        function insertSearch(id, catchRemote) {
        var imgs = $G(id).getElementsByTagName("img"), imgObjs = [];
        for (var i = 0, ci; ci = imgs[i++];) {
        if (ci.getAttribute("selected")) {
        var url = ci.getAttribute("src", 2).replace(/(\s*$)/g, ""), img = {};
        img.src = url;
        img.data_ue_src = url;
        imgObjs.push(img);
        }
        }
        insertImage(imgObjs);
        catchRemote && editor.fireEvent("catchRemoteImage");
        hideFlash();
        }
        /**
        * 插入單張圖片
        */
        function insertSingle() {
        var url = g("url"),
        width = g("width"),
        height = g("height"),
        border = g("border"),
        vhSpace = g("vhSpace"),
        title = g("title"),
        align = findFocus("remoteFloat", "name"),
        imgObj = {};
        if (!url.value) return;
        if (!flagImg) return; //粘貼地址后如果沒有生成對應的預覽圖,可以認為本次粘貼地址失敗
        if (!checkNum([width, height, border, vhSpace])) return false;
        imgObj.src = url.value;
        imgObj.data_ue_src = url.value;
        imgObj.width = width.value;
        imgObj.height = height.value;
        imgObj.border = border.value;
        imgObj.floatStyle = align;
        imgObj.vspace = imgObj.hspace = vhSpace.value;
        imgObj.title = title.value;
        imgObj.style = "width:" + width.value + "px;height:" + height.value + "px;";
        insertImage(imgObj);
        editor.fireEvent("catchRemoteImage");
        hideFlash();
        }
        /**
        * 檢測傳入的所有input框中輸入的長寬是否是正數
        * @param nodes input框集合,
        */
        function checkNum(nodes) {
        for (var i = 0, ci; ci = nodes[i++];) {
        if (!isNumber(ci.value) || ci.value < 0) {
        alert(lang.numError);
        ci.value = "";
        ci.focus();
        return false;
        }
        }
        return true;
        }
        /**
        * 數字判斷
        * @param value
        */
        function isNumber(value) {
        return /(0|^[1-9]\d*$)/.test(value);
        }
        /**
        * 插入多張圖片
        */
        function insertBatch() {
        if (imageUrls.length < 1) return;
        var imgObjs = [],
        align = findFocus("localFloat", "name");
        for (var i = 0, ci; ci = imageUrls[i++];) {
        var tmpObj = {};
        tmpObj.title = ci.title;
        tmpObj.floatStyle = align;
        //修正顯示時候的地址數據,如果后臺返回的是圖片的絕對地址,那么此處無需修正
        tmpObj.data_ue_src = tmpObj.src = editor.options.imagePath + ci.url;
        imgObjs.push(tmpObj);
        }
        insertImage(imgObjs);
        hideFlash();
        }
        /**
        * 找到id下具有focus類的節點并返回該節點下的某個屬性
        * @param id
        * @param returnProperty
        */
        function findFocus(id, returnProperty) {
        var tabs = g(id).children,
        property;
        for (var i = 0, ci; ci = tabs[i++];) {
        if (ci.className == "focus") {
        property = ci.getAttribute(returnProperty);
        break;
        }
        }
        return property;
        }
        /**
        * 綁定地址框改變事件
        */
        function addUrlChangeListener() {
        var value = g("url").value;
        if (browser.ie) {
        g("url").onpropertychange = function () {
        var v = this.value;
        if (v != value) {
        createPreviewImage(v);
        value = v;
        }
        };
        } else {
        g("url").addEventListener("input", function () {
        var v = this.value;
        if (v != value) {
        createPreviewImage(v);
        value = v;
        }
        }, false);
        }
        }
        /**
        * 綁定圖片等比縮放事件
        * @param percent 縮放比例
        */
        function addSizeChangeListener(percent) {
        var width = g("width"),
        height = g("height"),
        lock = g('lock');
        width.onkeyup = function () {
        if (!isNaN(this.value) && lock.checked) {
        height.value = Math.round(this.value / percent) || this.value;
        }
        };
        height.onkeyup = function () {
        if (!isNaN(this.value) && lock.checked) {
        width.value = Math.round(this.value * percent) || this.value;
        }
        }
        }
        /**
        * 依據url中的地址創建一個預覽圖片并將對應的信息填入信息框和預覽框
        */
        function createPreviewImage(url) {
        if (!url) {
        flagImg = null;
        g("preview").innerHTML = "";
        g("width").value = "";
        g("height").value = "";
        g("border").value = "";
        g("vhSpace").value = "";
        g("title").value = "";
        $focus(g("url"));
        return;
        }
        var img = document.createElement("img"),
        preview = g("preview");
        var imgTypeReg = /\.(png|gif|jpg|jpeg)$/gi, //格式過濾
        urlFilter = ""; //地址過濾
        if (!imgTypeReg.test(url) || url.indexOf(urlFilter) == -1) {
        preview.innerHTML = "<span style='color: red'>" + lang.imageUrlError + "</span>";
        flagImg = null;
        return;
        }
        preview.innerHTML = lang.imageLoading;
        img.onload = function () {
        flagImg = this;
        showImageInfo(this);
        showPreviewImage(this,true);
        this.onload = null;
        };
        img.onerror = function () {
        preview.innerHTML = "<span style='color: red'>" + lang.imageLoadError + "</span>";
        flagImg = null;
        this.onerror = null;
        };
        img.src = url;
        }
        /**
        * 顯示圖片對象的信息
        * @param img
        */
        function showImageInfo(img) {
        if (!img.getAttribute("src") || !img.src) return;
        var wordImgFlag = img.getAttribute("word_img");
        g("url").value = wordImgFlag ? wordImgFlag.replace("&", "&") : (img.getAttribute('data_ue_src') || img.getAttribute("src", 2).replace("&", "&"));
        g("width").value = img.width || 0;
        g("height").value = img.height || 0;
        g("border").value = img.getAttribute("border") || 0;
        g("vhSpace").value = img.getAttribute("vspace") || 0;
        g("title").value = img.title || "";
        var align = editor.queryCommandValue("imageFloat") || "none";
        updateAlignButton(align);
        //保存原始比例,用于等比縮放
        var percent = (img.width / img.height).toFixed(2);
        addSizeChangeListener(percent);
        }
        /**
        * 將img顯示在預覽框,
        * @param img
        * @param needClone 是否需要克隆后顯示
        */
        function showPreviewImage(img, needClone) {
        var tmpWidth = img.width, tmpHeight = img.height;
        var maxWidth = 262,maxHeight = 262,
        target = scaling(tmpWidth,tmpHeight,maxWidth,maxHeight);
        target.border = img.border||0;
        target.src = img.src;
        flagImg = true;
        if ((target.width + 2 * target.border) > maxWidth) {
        target.width = maxWidth - 2 * target.border;
        }
        if ((target.height + 2 * target.border) > maxWidth) {
        target.height = maxWidth - 2 * target.border;
        }
        var preview = g("preview");
        preview.innerHTML = '<img src="' + target.src + '" width="' + target.width + '" height="' + target.height + '" border="' + target.border + 'px solid #000" />';
        }
        /**
        * 圖片縮放
        * @param img
        * @param max
        */
        function scale(img, max, oWidth, oHeight) {
        var width = 0, height = 0, percent, ow = img.width || oWidth, oh = img.height || oHeight;
        if (ow > max || oh > max) {
        if (ow >= oh) {
        if (width = ow - max) {
        percent = (width / ow).toFixed(2);
        img.height = oh - oh * percent;
        img.width = max;
        }
        } else {
        if (height = oh - max) {
        percent = (height / oh).toFixed(2);
        img.width = ow - ow * percent;
        img.height = max;
        }
        }
        }
        }
        function scaling(width,height,maxWidth,maxHeight){
        if(width<maxWidth && height<maxHeight) return {width:width,height:height};
        var srcRatio = (width/height).toFixed(2),
        tarRatio = (maxWidth/maxHeight).toFixed(2),
        w,h;
        if(srcRatio<tarRatio){
        h = maxHeight;
        w = h*srcRatio;
        }else{
        w = maxWidth;
        h = w/srcRatio;
        }
        return {width:w.toFixed(0),height:h.toFixed(0)}
        }
        /**
        * 創建flash實例
        * @param opt
        * @param callbacks
        */
        function createFlash(opt, callbacks) {
        var i18n = utils.extend({}, lang.flashI18n);
        //處理圖片資源地址的編碼,補全等問題
        for (var i in i18n) {
        if (!(i in {"lang":1, "uploadingTF":1, "imageTF":1, "textEncoding":1}) && i18n[i]) {
        i18n[i] = encodeURIComponent(editor.options.langPath + editor.options.lang + "/images/" + i18n[i]);
        }
        }
        opt = utils.extend(opt, i18n, false);
        var option = {
        createOptions:{
        id:'flash',
        url:opt.flashUrl,
        width:opt.width,
        height:opt.height,
        errorMessage:lang.flashError,
        wmode:browser.safari ? 'transparent' : 'window',
        ver:'10.0.0',
        vars:opt,
        container:opt.container
        }
        };
        flashContainer = $G(opt.container);
        option = utils.extend(option, callbacks, false);
        flashObj = new baidu.flash.imageUploader(option);
        }
        /**
        * 依據傳入的align值更新按鈕信息
        * @param align
        */
        function updateAlignButton(align) {
        var aligns = g("remoteFloat").children;
        for (var i = 0, ci; ci = aligns[i++];) {
        if (ci.getAttribute("name") == align) {
        if (ci.className != "focus") {
        ci.className = "focus";
        }
        } else {
        if (ci.className == "focus") {
        ci.className = "";
        }
        }
        }
        }
        /**
        * 創建圖片浮動選擇按鈕
        * @param ids
        */
        function createAlignButton(ids) {
        for (var i = 0, ci; ci = ids[i++];) {
        var floatContainer = g(ci),
        nameMaps = {"none":lang.floatDefault, "left":lang.floatLeft, "right":lang.floatRight, "center":lang.floatCenter};
        for (var j in nameMaps) {
        var div = document.createElement("div");
        div.setAttribute("name", j);
        if (j == "none") div.className = "focus";
        div.style.cssText = "background:url(images/" + j + "_focus.jpg);";
        div.setAttribute("title", nameMaps[j]);
        floatContainer.appendChild(div);
        }
        switchSelect(ci);
        }
        }
        function toggleFlash(show) {
        if (flashContainer && browser.webkit) {
        flashContainer.style.left = show ? "0" : "-10000px";
        }
        }
        /**
        * tab點擊處理事件
        * @param tabHeads
        * @param tabBodys
        * @param obj
        */
        function clickHandler(tabHeads, tabBodys, obj) {
        //head樣式更改
        for (var k = 0, len = tabHeads.length; k < len; k++) {
        tabHeads[k].className = "";
        }
        obj.className = "focus";
        //body顯隱
        var tabSrc = obj.getAttribute("tabSrc");
        for (var j = 0, length = tabBodys.length; j < length; j++) {
        var body = tabBodys[j],
        id = body.getAttribute("id");
        body.onclick = function () {
        this.style.zoom = 1;
        };
        if (id != tabSrc) {
        body.style.zIndex = 1;
        } else {
        body.style.zIndex = 200;
        //當切換到本地圖片上傳時,隱藏遮罩用的iframe
        if (id == "local") {
        toggleFlash(true);
        maskIframe.style.display = "none";
        //處理確定按鈕的狀態
        if (selectedImageCount) {
        dialog.buttons[0].setDisabled(true);
        }
        } else {
        toggleFlash(false);
        maskIframe.style.display = "";
        dialog.buttons[0].setDisabled(false);
        }
        var list = g("imageList");
        list.style.display = "none";
        //切換到圖片管理時,ajax請求后臺圖片列表
        if (id == "imgManager") {
        list.style.display = "";
        //已經初始化過時不再重復提交請求
        if (!list.children.length) {
        ajax.request(editor.options.imageManagerUrl, {
        timeout:100000,
        action:"get",
        onsuccess:function (xhr) {
        //去除空格
        var tmp = utils.trim(xhr.responseText),
        imageUrls = !tmp ? [] : tmp.split("ue_separate_ue"),
        length = imageUrls.length;
        g("imageList").innerHTML = !length ? "  " + lang.noUploadImage : "";
        for (var k = 0, ci; ci = imageUrls[k++];) {
        var img = document.createElement("img");
        var div = document.createElement("div");
        div.appendChild(img);
        div.style.display = "none";
        g("imageList").appendChild(div);
        img.onclick = function () {
        changeSelected(this);
        };
        //Add Start=============================== 2013-05-12
        img.ondblclick = function(){
        var me = this,src = me.getAttribute("src",2);
        if(!confirm("刪除操作不可恢復,您確認要刪除本圖片么?")) return;
        ajax.request(editor.options.imageManagerUrl,{
        action:"del",
        fileName:src.substr(src.lastIndexOf("/")+1),
        onsuccess:function(xhr){
        if(xhr.responseText=="success") {
        me.parentNode.removeChild(me);
        }else{
        alert("服務器刪除圖片失敗,請重試!");
        }
        },
        onerror:function(xhr){
        }
        });
        };
        //Add End================================ 2013-05-12
        img.onload = function () {
        this.parentNode.style.display = "";
        var w = this.width, h = this.height;
        scale(this, 100, 120, 80);
        this.title = lang.toggleSelect + w + "X" + h;
        this.onload = null;
        };
        img.setAttribute(k < 35 ? "src" : "lazy_src", editor.options.imageManagerPath + ci.replace(/\s+|\s+/ig, ""));
        img.setAttribute("data_ue_src", editor.options.imageManagerPath + ci.replace(/\s+|\s+/ig, ""));
        }
        },
        onerror:function () {
        g("imageList").innerHTML = lang.imageLoadError;
        }
        });
        }
        }
        if (id == "imgSearch") {
        selectTxt(g("imgSearchTxt"));
        }
        if (id == "remote") {
        $focus(g("url"));
        }
        }
        }
        }
        /**
        * TAB切換
        * @param tabParentId tab的父節點ID或者對象本身
        */
        function switchTab(tabParentId) {
        var tabElements = g(tabParentId).children,
        tabHeads = tabElements[0].children,
        tabBodys = tabElements[1].children;
        for (var i = 0, length = tabHeads.length; i < length; i++) {
        var head = tabHeads[i];
        if (head.className === "focus")clickHandler(tabHeads, tabBodys, head);
        head.onclick = function () {
        clickHandler(tabHeads, tabBodys, this);
        }
        }
        }
        /**
        * 改變o的選中狀態
        * @param o
        */
        function changeSelected(o) {
        if (o.getAttribute("selected")) {
        o.removeAttribute("selected");
        o.style.cssText = "filter:alpha(Opacity=100);-moz-opacity:1;opacity: 1;border: 2px solid #fff";
        } else {
        o.setAttribute("selected", "true");
        o.style.cssText = "filter:alpha(Opacity=50);-moz-opacity:0.5;opacity: 0.5;border:2px solid blue;";
        }
        }
        /**
        * 選擇切換,傳入一個container的ID
        * @param selectParentId
        */
        function switchSelect(selectParentId) {
        var select = g(selectParentId),
        children = select.children;
        domUtils.on(select, "click", function (evt) {
        var tar = evt.srcElement || evt.target;
        for (var j = 0, cj; cj = children[j++];) {
        cj.className = "";
        cj.removeAttribute && cj.removeAttribute("class");
        }
        tar.className = "focus";
        });
        }
        /**
        * gb2312編碼
        * @param str
        */
        function encodeToGb2312(str) {
        var strOut = "";
        for (var i = 0; i < str.length; i++) {
        var c = str.charAt(i),
        code = str.charCodeAt(i);
        if (c == " ") strOut += "+";
        else if (code >= 19968 && code <= 40869) {
        var index = code - 19968;
        strOut += "%" + z.substr(index * 4, 2) + "%" + z.substr(index * 4 + 2, 2);
        } else {
        strOut += "%" + str.charCodeAt(i).toString(16);
        }
        }
        return strOut;
        }
        var z = 'D2BBB6A18140C6DF814181428143CDF2D5C9C8FDC9CFCFC2D8A2B2BBD3EB8144D8A4B3F38145D7A8C7D2D8A7CAC08146C7F0B1FBD2B5B4D4B6ABCBBFD8A9814781488149B6AA814AC1BDD1CF814BC9A5D8AD814CB8F6D1BEE3DCD6D0814D814EB7E1814FB4AE8150C1D98151D8BC8152CDE8B5A4CEAAD6F78153C0F6BED9D8AF8181558156C4CB8157BEC38158D8B1C3B4D2E58159D6AECEDAD5A7BAF5B7A6C0D6815AC6B9C5D2C7C7815BB9D4815CB3CBD2D2815D815ED8BFBEC5C6F2D2B2CFB0CFE7815F816081618162CAE9816381D8C081658166816781688169816AC2F2C2D2816BC8E9816C816D816E816F817081718172817381748175C7AC8176817781788179817A817B817CC1CB817DD3E8D5F9817ECAC2B6FED8A1D3DABFF78180D4C6BBA5D8C1CEE5BEAE81818182D8A88183D1C7D0A9818481858186D8BDD9EFCDF6BFBA8187BDBBBAA5D2E0B2FABAE0C4B68188CFEDBEA9CDA4C1C181818A818BC7D7D9F1818CD9F4818D818E818F8190C8CBD8E9819181928193D2DACAB2C8CAD8ECD8EAD8C6BDF6C6CDB3F08194D8EBBDF1BDE98195C8D4B4D381968197C2D88198B2D6D7D0CACBCBFBD5CCB8B6CFC98199819A819BD9DAD8F0C7AA819CD8EE819DB4FAC1EED2D4819E819FD8ED81A0D2C7D8EFC3C781A181A281A3D1F681A4D6D9D8F281A5D8F5BCFEBCDB81A681A781A8C8CE81A9B7DD81AAB7C281ABC6F381AC81AD81AE81AF81B081B181B2D8F8D2C181B381B4CEE9BCBFB7FCB7A5D0DD81B581B681B781B881B9D6DAD3C5BBEFBBE1D8F181BA81BBC9A1CEB0B4AB81BCD8F381BDC9CBD8F6C2D7D8F781BE81BFCEB1D8F981C081C181C2B2AEB9C081C3D9A381C4B0E981C5C1E681C6C9EC81C7CBC581C8CBC6D9A481C981CA81CB81CC81CDB5E881CE81CFB5AB81D081D181D281D381D481D5CEBBB5CDD7A1D7F4D3D381D6CCE581D7BACE81D8D9A2D9DCD3E0D8FDB7F0D7F7D8FED8FAD9A1C4E381D981DAD3B6D8F4D9DD81DBD8FB81DCC5E581DD81DEC0D081DF81E0D1F0B0DB81E181E2BCD1D9A681E3D9A581E481E581E681E7D9ACD9AE81E8D9ABCAB981E981EA81EBD9A9D6B681EC81ED81EEB3DED9A881EFC0FD81F0CACC81F1D9AA81F2D9A781F381F4D9B081F581F6B6B181F781F881F9B9A981FAD2C081FB81FCCFC081FD81FEC2C28240BDC4D5ECB2E0C7C8BFEBD9AD8241D9AF8242CEEABAEE82438244824582468247C7D682488249824A824B824C824D824E824F8250B1E3825182528253B4D9B6EDD9B482825582568257BFA182588259825AD9DEC7CEC0FED9B8825B825C825D825E825FCBD7B7FD8260D9B58261D9B7B1A3D3E1D9B98262D0C58263D9B6828265D9B18266D9B2C1A9D9B382678268BCF3D0DEB8A98269BEE3826AD9BD826B826C826D826ED9BA826FB0B3827082718272D9C28273827482758276827782788279827A827B827C827D827E8280D9C4B1B68281D9BF82828283B5B98284BEF3828582868287CCC8BAF2D2D08288D9C382828ABDE8828BB3AB828C828D828ED9C5BEEB828FD9C6D9BBC4DF8290D9BED9C1D9C0829182928293829482958296829782988299829A829BD5AE829CD6B5829DC7E3829E829F82A082A1D9C882A282A382A4BCD9D9CA82A582A682A7D9BC82A8D9CBC6AB82A982AA82AB82AC82ADD9C982AE82AF82B082B1D7F682B2CDA382B382B482B582B682B782B882B982BABDA182BB82BC82BD82BE82BF82C0D9CC82C182C282C382C482C582C682C782C882C9C5BCCDB582CA82CB82CCD9CD82CD82CED9C7B3A5BFFE82CF82D082D182D2B8B582D382D4C0FC82D582D682D782D8B0F882D982DA82DB82DC82DD82DE82DF82E082E182E282E382E482E582E682E782E882E982EA82EB82EC82EDB4F682EED9CE82EFD9CFB4A2D9D082F082F1B4DF82F282F382F482F582F6B0C182F782F882F982FA82FB82FC82FDD9D1C9B582FE8340834183428343834483458346834783488349834A834B834C834D834E834F83508351CFF18352835383835583568357D9D283588359835AC1C5835B835C835D835E835F8360836183628363838365D9D6C9AE8366836783688369D9D5D9D4D9D7836A836B836C836DCBDB836EBDA9836F8370837183728373C6A7837483758376837783788379837A837B837C837DD9D3D9D8837E83808381D9D9838283838384838583868387C8E5838883838A838B838C838D838E838F839083918392839383948395C0DC8396839783988399839A839B839C839D839E839F83A083A183A283A383A483A583A683A783A883A983AA83AB83AC83AD83AE83AF83B083B183B2B6F9D8A3D4CA83B3D4AAD0D6B3E4D5D783B4CFC8B9E283B5BFCB83B6C3E283B783B883B9B6D283BA83BBCDC3D9EED9F083BC83BD83BEB5B383BFB6B583C083C183C283C383C4BEA483C583C6C8EB83C783C8C8AB83C983CAB0CBB9ABC1F9D9E283CBC0BCB9B283CCB9D8D0CBB1F8C6E4BEDFB5E4D7C883CDD1F8BCE6CADE83CE83CFBCBDD9E6D8E783D083D1C4DA83D283D3B8D4C8BD83D483D5B2E1D4D983D683D783D883D9C3B083DA83DBC3E1DAA2C8DF83DCD0B483DDBEFCC5A983DE83DF83E0B9DA83E1DAA383E2D4A9DAA483E383E483E583E683E7D9FBB6AC83E883E9B7EBB1F9D9FCB3E5BEF683EABFF6D2B1C0E483EB83EC83EDB6B3D9FED9FD83EE83EFBEBB83F083F183F2C6E083F3D7BCDAA183F4C1B983F5B5F2C1E883F683F7BCF583F8B4D583F983FA83FB83FC83FD83FE844084418442C1DD8443C4FD84448445BCB8B7B284468447B7EF84488449844A844B844C844DD9EC844EC6BE844FBFADBBCB84508451B5CA8452DBC9D0D78453CDB9B0BCB3F6BBF7DBCABAAF84D4E4B5B6B5F3D8D6C8D084558456B7D6C7D0D8D78457BFAF84588459DBBBD8D8845A845BD0CCBBAE845C845D845EEBBEC1D0C1F5D4F2B8D5B4B4845FB3F584608461C9BE8462846384C5D0846584668467C5D9C0FB8468B1F08469D8D9B9CE846AB5BD846B846CD8DA846D846ED6C6CBA2C8AFC9B2B4CCBFCC846FB9F48470D8DBD8DCB6E7BCC1CCEA847184728473847484758476CFF78477D8DDC7B084788479B9D0BDA3847A847BCCDE847CC6CA847D847E848084818482D8E08483D8DE84848485D8DF848684878488B0FE84BEE7848ACAA3BCF4848B848C848D848EB8B1848F8490B8EE849184928493849484958496849784988499849AD8E2849BBDCB849CD8E4D8E3849D849E849F84A084A1C5FC84A284A384A484A584A684A784A8D8E584A984AAD8E684AB84AC84AD84AE84AF84B084B1C1A684B2C8B0B0ECB9A6BCD3CEF1DBBDC1D384B384B484B584B6B6AFD6FAC5ACBDD9DBBEDBBF84B784B884B9C0F8BEA2C0CD84BA84BB84BC84BD84BE84BF84C084C184C284C3DBC0CAC684C484C584C6B2AA84C784C884C9D3C284CAC3E384CBD1AB84CC84CD84CE84CFDBC284D0C0D584D184D284D3DBC384D4BFB184D584D684D784D884D984DAC4BC84DB84DC84DD84DEC7DA84DF84E084E184E284E384E484E584E684E784E884E9DBC484EA84EB84EC84ED84EE84EF84F084F1D9E8C9D784F284F384F4B9B4CEF0D4C884F584F684F784F8B0FCB4D284F9D0D984FA84FB84FC84FDD9E984FEDECBD9EB80818283D8B0BBAFB1B184B3D7D8CE8586D4D18788BDB3BFEFCFBB8A8BD8D08C8D8EB7CB8F85508551D8D1855285538585558556855785588559855A855BC6A5C7F8D2BD855C855DD8D2C4E4855ECAAE855FC7A78560D8A68561C9FDCEE7BBDCB0EB8562856385BBAAD0AD8565B1B0D7E4D7BF8566B5A5C2F4C4CF85678568B2A98569B2B7856AB1E5DFB2D5BCBFA8C2ACD8D5C2B1856BD8D4CED4856CDAE0856DCEC0856E856FD8B4C3AED3A1CEA38570BCB4C8B4C2D18571BEEDD0B68572DAE18573857485758576C7E485778578B3A78579B6F2CCFCC0FA857A857BC0F7857CD1B9D1E1D8C7857D857E85808581858285838584B2DE85858586C0E58587BAF1858885D8C8858AD4AD858B858CCFE1D8C9858DD8CACFC3858EB3F8BEC7858F859085918592D8CB8593859485958596859785988599DBCC859A859B859C859DC8A5859E859F85A0CFD885A1C8FEB2CE85A285A385A485A585A6D3D6B2E6BCB0D3D1CBABB7B485A785A885A9B7A285AA85ABCAE585ACC8A1CADCB1E4D0F085ADC5D185AE85AF85B0DBC5B5FE85B185B2BFDAB9C5BEE4C1ED85B3DFB6DFB5D6BBBDD0D5D9B0C8B6A3BFC9CCA8DFB3CAB7D3D285B4D8CFD2B6BAC5CBBECCBE85B5DFB7B5F0DFB485B685B785B8D3F585B9B3D4B8F785BADFBA85BBBACFBCAAB5F585BCCDACC3FBBAF3C0F4CDC2CFF2DFB8CFC585BDC2C0DFB9C2F085BE85BF85C0BEFD85C1C1DFCDCCD2F7B7CDDFC185C2DFC485C385C4B7F1B0C9B6D6B7D485C5BAACCCFDBFD4CBB1C6F485C6D6A8DFC585C7CEE2B3B385C885C9CEFCB4B585CACEC7BAF085CBCEE185CCD1BD85CD85CEDFC085CF85D0B4F485D1B3CA85D2B8E6DFBB85D385D485D585D6C4C585D7DFBCDFBDDFBEC5BBDFBFDFC2D4B1DFC385D8C7BACED885D985DA85DB85DC85DDC4D885DEDFCA85DFDFCF85E0D6DC85E185E285E385E485E585E685E785E8DFC9DFDACEB685E9BAC7DFCEDFC8C5DE85EA85EBC9EBBAF4C3FC85EC85EDBED785EEDFC685EFDFCD85F0C5D885F185F285F385F4D5A6BACD85F5BECCD3BDB8C085F6D6E485F7DFC7B9BEBFA785F885F9C1FCDFCBDFCC85FADFD085FB85FC85FD85FE80DFDBDFE581DFD7DFD6D7C9DFE3DFE4E5EBD2A7DFD282BFA983D4DB84BFC8DFD4858687CFCC88DFDD8AD1CA8BDFDEB0A7C6B7DFD38CBAE58DB6DFCDDBB9FED4D58E8FDFDFCFECB0A5DFE7DFD1D1C6DFD5DFD8DFD9DFDC8650BBA98651DFE0DFE18652DFE2DFE6DFE8D3B4865386865586568657B8E7C5B6DFEAC9DAC1A8C4C486588659BFDECFF8865A865B865CD5DCDFEE865D865E865F866086618662B2B88663BADFDFEC86DBC18665D1E48666866786688669CBF4B4BD866AB0A6866B866C866D866E866FDFF1CCC6DFF286708671DFED867286738674867586768677DFE986788679867A867BDFEB867CDFEFDFF0BBBD867D867EDFF386808681DFF48682BBA38683CADBCEA8E0A7B3AA8684E0A6868586868687E0A1868886868A868BDFFE868CCDD9DFFC868DDFFA868EBFD0D7C4868FC9CC86908691DFF8B0A186928693869486958696DFFD869786988699869ADFFBE0A2869B869C869D869E869FE0A886A086A186A286A3B7C886A486A5C6A1C9B6C0B2DFF586A686A7C5BE86A8D8C4DFF9C4F686A986AA86AB86AC86AD86AEE0A3E0A4E0A5D0A586AF86B0E0B4CCE486B1E0B186B2BFA6E0AFCEB9E0ABC9C686B386B4C0AEE0AEBAEDBAB0E0A986B586B686B7DFF686B8E0B386B986BAE0B886BB86BC86BDB4ADE0B986BE86BFCFB2BAC886C0E0B086C186C286C386C486C586C686C7D0FA86C886C986CA86CB86CC86CD86CE86CF86D0E0AC86D1D4FB86D2DFF786D3C5E786D4E0AD86D5D3F786D6E0B6E0B786D786D886D986DA86DBE0C4D0E186DC86DD86DEE0BC86DF86E0E0C9E0CA86E186E286E3E0BEE0AAC9A4E0C186E4E0B286E586E686E786E886E9CAC8E0C386EAE0B586EBCECB86ECCBC3E0CDE0C6E0C286EDE0CB86EEE0BAE0BFE0C086EF86F0E0C586F186F2E0C7E0C886F3E0CC86F4E0BB86F586F686F786F886F9CBD4E0D586FAE0D6E0D286FB86FC86FD86FE87408741E0D0BCCE87428743E0D18744B8C2D8C587458746874787488749874A874B874CD0EA874D874EC2EF874F8750E0CFE0BD875187528753E0D4E0D3878755E0D78756875787588759E0DCE0D8875A875B875CD6F6B3B0875DD7EC875ECBBB875F8760E0DA8761CEFB8762876387BAD987658766876787688769876A876B876C876D876E876F8770E0E1E0DDD2AD87718772877387748775E0E287768777E0DBE0D9E0DF87788779E0E0877A877B877C877D877EE0DE8780E0E4878187828783C6F7D8ACD4EBE0E6CAC98784878587868787E0E5878887878A878BB8C1878C878D878E878FE0E7E0E887908791879287938794879587968797E0E9E0E387988799879A879B879C879D879EBABFCCE7879F87A087A1E0EA87A287A387A487A587A687A787A887A987AA87AB87AC87AD87AE87AF87B0CFF987B187B287B387B487B587B687B787B887B987BA87BBE0EB87BC87BD87BE87BF87C087C187C2C8C287C387C487C587C6BDC087C787C887C987CA87CB87CC87CD87CE87CF87D087D187D287D3C4D287D487D587D687D787D887D987DA87DB87DCE0EC87DD87DEE0ED87DF87E0C7F4CBC487E1E0EEBBD8D8B6D2F2E0EFCDC587E2B6DA87E387E487E587E687E787E8E0F187E9D4B087EA87EBC0A7B4D187EC87EDCEA7E0F087EE87EF87F0E0F2B9CC87F187F2B9FACDBCE0F387F387F487F5C6D4E0F487F6D4B287F7C8A6E0F6E0F587F887F987FA87FB87FC87FD87FE8840884188428843884488458846884788488849E0F7884A884BCDC1884C884D884ECAA5884F885088518852D4DADBD7DBD98853DBD8B9E7DBDCDBDDB5D8888855DBDA8856885788588859885ADBDBB3A1DBDF885B885CBBF8885DD6B7885EDBE0885F886088618862BEF9886388B7BB8865DBD0CCAEBFB2BBB5D7F8BFD38866886788688869886ABFE9886B886CBCE1CCB3DBDEB0D3CEEBB7D8D7B9C6C2886D886EC0A4886FCCB98870DBE7DBE1C6BADBE38871DBE88872C5F7887388748875DBEA88768877DBE9BFC088788879887ADBE6DBE5887B887C887D887E8880B4B9C0ACC2A2DBE2DBE48881888288838884D0CDDBED888588868887888888C0DDDBF2888A888B888C888D888E888F80B6E281828384DBF3DBD2B9B8D4ABDBEC85BFD1DBF086DBD187B5E688DBEBBFE58A8BDBEE8CDBF18D8E8FDBF988A088A188A288A388A488A588A688A788A8B9A1B0A388A988AA88AB88AC88AD88AE88AFC2F188B088B1B3C7DBEF88B288B3DBF888B4C6D2DBF488B588B6DBF5DBF7DBF688B788B8DBFE88B9D3F2B2BA88BA88BB88BCDBFD88BD88BE88BF88C088C188C288C388C4DCA488C5DBFB88C688C788C888C9DBFA88CA88CB88CCDBFCC5E0BBF988CD88CEDCA388CF88D0DCA588D1CCC388D288D388D4B6D1DDC088D588D688D7DCA188D8DCA288D988DA88DBC7B588DC88DD88DEB6E988DF88E088E1DCA788E288E388E488E5DCA688E6DCA9B1A488E788E8B5CC88E988EA88EB88EC88EDBFB088EE88EF88F088F188F2D1DF88F388F488F588F6B6C288F788F888F988FA88FB88FC88FD88FE404142434445DCA84748494A4B4CCBFAEBF34D4E4FCBDC5051CBFE5253CCC15556575859C8FB5A5B5C5D5E5FDCAA60616263CCEEDCAB65666768696A6B6C6D6E6F707172737475DBD376DCAFDCAC77BEB378CAFB797A7BDCAD7C7D7E8081828384C9CAC4B985868788C7BDDCAE8A8B8CD4F6D0E68D8E8F9091929394C4ABB6D5959697999A9B9C9D9E9FA0A1A2A3A4A5A6DBD4A7A8A9AAB1DAABACADDBD5AEAFB0B1B2B3B4B5B6B7B8DBD6B9BABBBABEBCBDBEBFC0C1C2C3C4C5C6C7C8C9C8C0CACBCCCDCECFCABFC8C9D0D7B3D1C9F9D2D3BFC7D4D5BAF8D6D7D2BCD8D9DADBDCDDDEDFE2BAE0B4A6E1E2B1B8E3E4E5E6E7B8B4E8CFC4E9EAEBECD9E7CFA6CDE2EDEED9EDB6E0EFD2B9F0F1B9BBF2F3F4F5E2B9E2B7F6B4F3F7CCECCCABB7F2F8D8B2D1EBBABBF9CAA7FAFBCDB7FCFDD2C4BFE4BCD0B6E1FEDEC58A408A418A428A43DEC6DBBC8A44D1D98A458A46C6E6C4CEB7EE8A47B7DC8A488A49BFFCD7E08A4AC6F58A4B8A4CB1BCDEC8BDB1CCD7DECA8A4DDEC98A4E8A4F8A508A518A52B5EC8A53C9DD8A8A55B0C28A568A578A588A598A5A8A5B8A5C8A5D8A5E8A5F8A608A618A62C5AEC5AB8A63C4CC8ABCE9CBFD8A658A668A67BAC38A688A698A6AE5F9C8E7E5FACDFD8A6BD7B1B8BEC2E88A6CC8D18A6D8A6EE5FB8A6F8A708A718A72B6CABCCB8A738A74D1FDE6A18A75C3EE8A768A778A788A79E6A48A7A8A7B8A7C8A7DE5FEE6A5CDD78A7E8A80B7C1E5FCE5FDE6A38A818A82C4DDE6A88A838A84E6A78A858A868A878A888A8A8AC3C38A8BC6DE8A8C8A8DE6AA8A8E8A8F8A908A918A928A938A94C4B78A958A968A97E6A2CABC8A988A998A9A8A9BBDE3B9C3E6A6D0D5CEAF8A9C8A9DE6A9E6B08A9ED2A68A9FBDAAE6AD8AA08AA18AA28AA38AA4E6AF8AA5C0D18AA68AA7D2CC8AA88AA98AAABCA78AAB8AAC8AAD8AAE8AAF8AB08AB18AB28AB38AB48AB58AB6E6B18AB7D2F68AB88AB98ABAD7CB8ABBCDFE8ABCCDDEC2A6E6ABE6ACBDBFE6AEE6B38ABD8ABEE6B28ABF8AC08AC18AC2E6B68AC3E6B88AC48AC58AC68AC7C4EF8AC88AC98ACAC4C88ACB8ACCBEEAC9EF8ACD8ACEE6B78ACFB6F08AD08AD18AD2C3E48AD38AD48AD58AD68AD78AD88AD9D3E9E6B48ADAE6B58ADBC8A28ADC8ADD8ADE8ADF8AE0E6BD8AE18AE28AE3E6B98AE48AE58AE68AE78AE8C6C58AE98AEACDF1E6BB8AEB8AEC8AED8AEE8AEF8AF08AF18AF28AF38AF4E6BC8AF58AF68AF78AF8BBE98AF98AFA8AFB8AFC8AFD8AFE8B40E6BE8B418B428B438B44E6BA8B458B46C0B78B478B488B498B4A8B4B8B4C8B4D8B4E8B4FD3A4E6BFC9F4E6C38B508B51E6C48B528B538B8B55D0F68B568B578B588B598B5A8B5B8B5C8B5D8B5E8B5F8B608B618B628B638B8B658B668B67C3BD8B688B698B6A8B6B8B6C8B6D8B6EC3C4E6C28B6F8B708B718B728B738B748B758B768B778B788B798B7A8B7B8B7CE6C18B7D8B7E8B808B818B828B838B84E6C7CFB18B85EBF48B868B87E6CA8B888B8B8A8B8B8B8CE6C58B8D8B8EBCDEC9A98B8F8B908B918B928B938B94BCB58B958B96CFD38B978B988B998B9A8B9BE6C88B9CE6C98B9DE6CE8B9EE6D08B9F8BA08BA1E6D18BA28BA38BA4E6CBB5D58BA5E6CC8BA68BA7E6CF8BA88BA9C4DB8BAAE6C68BAB8BAC8BAD8BAE8BAFE6CD8BB08BB18BB28BB38BB48BB58BB68BB78BB88BB98BBA8BBB8BBC8BBD8BBE8BBF8BC08BC18BC28BC38BC48BC58BC6E6D28BC78BC88BC98BCA8BCB8BCC8BCD8BCE8BCF8BD08BD18BD2E6D4E6D38BD38BD48BD58BD68BD78BD88BD98BDA8BDB8BDC8BDD8BDE8BDF8BE08BE18BE28BE38BE48BE58BE68BE78BE88BE98BEA8BEB8BECE6D58BEDD9F88BEE8BEFE6D68BF08BF18BF28BF38BF48BF58BF68BF7E6D78BF88BF98BFA8BFB8BFC8BFD8BFE8C408C418C428C438C448C458C468C47D7D3E6DD8C48E6DEBFD7D4D08C49D7D6B4E6CBEFE6DAD8C3D7CED0A28C4AC3CF8C4B8C4CE6DFBCBEB9C2E6DBD1A78C4D8C4EBAA2C2CF8C4FD8AB8C508C518C52CAEBE5EE8C53E6DC8CB7F58C558C568C578C58C8E68C598C5AC4F58C5B8C5CE5B2C4FE8C5DCBFCE5B3D5AC8C5ED3EECAD8B0B28C5FCBCECDEA8C608C61BAEA8C628C638CE5B58C65E5B48C66D7DAB9D9D6E6B6A8CDF0D2CBB1A6CAB58C67B3E8C9F3BFCDD0FBCAD2E5B6BBC28C688C698C6ACFDCB9AC8C6B8C6C8C6D8C6ED4D78C6F8C70BAA6D1E7CFFCBCD28C71E5B7C8DD8C728C738C74BFEDB1F6CBDE8C758C76BCC58C77BCC4D2FAC3DCBFDC8C788C798C7A8C7BB8BB8C7C8C7D8C7EC3C28C80BAAED4A28C818C828C838C848C858C868C878C888CC7DEC4AFB2EC8C8AB9D18C8B8C8CE5BBC1C88C8D8C8ED5AF8C8F8C908C918C928C93E5BC8C94E5BE8C958C968C978C988C998C9A8C9BB4E7B6D4CBC2D1B0B5BC8C9C8C9DCAD98C9EB7E28C9F8CA0C9E48CA1BDAB8CA28CA3CEBED7F08CA48CA58CA68CA7D0A18CA8C9D98CA98CAAB6FBE6D8BCE28CABB3BE8CACC9D08CADE6D9B3A28CAE8CAF8CB08CB1DECC8CB2D3C8DECD8CB3D2A28CB48CB58CB68CB7DECE8CB88CB98CBA8CBBBECD8CBC8CBDDECF8CBE8CBF8CC0CAACD2FCB3DFE5EAC4E1BEA1CEB2C4F2BED6C6A8B2E38CC18CC2BED38CC38CC4C7FCCCEBBDECCEDD8CC58CC6CABAC6C1E5ECD0BC8CC78CC88CC9D5B98CCA8CCB8CCCE5ED8CCD8CCE8CCF8CD0CAF48CD1CDC0C2C58CD2E5EF8CD3C2C4E5F08CD48CD58CD68CD78CD88CD98CDAE5F8CDCD8CDBC9BD8CDC8CDD8CDE8CDF8CE08CE18CE2D2D9E1A88CE38CE48CE58CE6D3EC8CE7CBEAC6F18CE88CE98CEA8CEB8CECE1AC8CED8CEE8CEFE1A7E1A98CF08CF1E1AAE1AF8CF28CF3B2ED8CF4E1ABB8DAE1ADE1AEE1B0B5BAE1B18CF58CF68CF78CF88CF9E1B3E1B88CFA8CFB8CFC8CFD8CFED1D28D40E1B6E1B5C1EB8D418D428D43E1B78D44D4C08D45E1B28D46E1BAB0B68D478D488D498D4AE1B48D4BBFF98D4CE1B98D4D8D4EE1BB8D4F8D508D518D528D538DE1BE8D558D568D578D588D598D5AE1BC8D5B8D5C8D5D8D5E8D5F8D60D6C58D618D628D638D8D658D668D67CFBF8D688D69E1BDE1BFC2CD8D6AB6EB8D6BD3F88D6C8D6DC7CD8D6E8D6FB7E58D708D718D728D738D748D758D768D778D788D79BEFE8D7A8D7B8D7C8D7D8D7E8D80E1C0E1C18D818D82E1C7B3E78D838D848D858D868D878D88C6E98D8D8A8D8B8D8C8D8DB4DE8D8ED1C28D8F8D908D918D92E1C88D938D94E1C68D958D968D978D988D99E1C58D9AE1C3E1C28D9BB1C08D9C8D9D8D9ED5B8E1C48D9F8DA08DA18DA28DA3E1CB8DA48DA58DA68DA78DA88DA98DAA8DABE1CCE1CA8DAC8DAD8DAE8DAF8DB08DB18DB28DB3EFFA8DB48DB5E1D3E1D2C7B68DB68DB78DB88DB98DBA8DBB8DBC8DBD8DBE8DBF8DC0E1C98DC18DC2E1CE8DC3E1D08DC48DC58DC68DC78DC88DC98DCA8DCB8DCC8DCD8DCEE1D48DCFE1D1E1CD8DD08DD1E1CF8DD28DD38DD48DD5E1D58DD68DD78DD88DD98DDA8DDB8DDC8DDD8DDE8DDF8DE08DE18DE2E1D68DE38DE48DE58DE68DE78DE88DE98DEA8DEB8DEC8DED8DEE8DEF8DF08DF18DF28DF38DF48DF58DF68DF78DF8E1D78DF98DFA8DFBE1D88DFC8DFD8DFE8E408E418E428E438E448E458E468E478E488E498E4A8E4B8E4C8E4D8E4E8E4F8E508E518E528E538E8E55E1DA8E568E578E588E598E5A8E5B8E5C8E5D8E5E8E5F8E608E618E62E1DB8E638E8E658E668E678E688E69CEA18E6A8E6B8E6C8E6D8E6E8E6F8E708E718E728E738E748E758E76E7DD8E77B4A8D6DD8E788E79D1B2B3B28E7A8E7BB9A4D7F3C7C9BEDEB9AE8E7CCED78E7D8E7EB2EEDBCF8E80BCBAD2D1CBC8B0CD8E818E82CFEF8E838E848E858E868E87D9E3BDED8E888EB1D2CAD0B2BC8E8ACBA7B7AB8E8BCAA68E8C8E8D8E8ECFA38E8F8E90E0F8D5CAE0FB8E918E92E0FAC5C1CCFB8E93C1B1E0F9D6E3B2AFD6C4B5DB8E948E958E968E978E988E998E9A8E9BB4F8D6A18E9C8E9D8E9E8E9F8EA0CFAFB0EF8EA18EA2E0FC8EA38EA48EA58EA68EA7E1A1B3A38EA88EA9E0FDE0FEC3B18EAA8EAB8EAC8EADC3DD8EAEE1A2B7F98EAF8EB08EB18EB28EB38EB4BBCF8EB58EB68EB78EB88EB98EBA8EBBE1A3C4BB8EBC8EBD8EBE8EBF8EC0E1A48EC18EC2E1A58EC38EC4E1A6B4B18EC58EC68EC78EC88EC98ECA8ECB8ECC8ECD8ECE8ECF8ED08ED18ED28ED3B8C9C6BDC4EA8ED4B2A28ED5D0D28ED6E7DBBBC3D3D7D3C48ED7B9E3E2CF8ED88ED98EDAD7AF8EDBC7ECB1D38EDC8EDDB4B2E2D18EDE8EDF8EE0D0F2C2AEE2D08EE1BFE2D3A6B5D7E2D2B5EA8EE2C3EDB8FD8EE3B8AE8EE4C5D3B7CFE2D48EE58EE68EE78EE8E2D3B6C8D7F98EE98EEA8EEB8EEC8EEDCDA58EEE8EEF8EF08EF18EF2E2D88EF3E2D6CAFCBFB5D3B9E2D58EF48EF58EF68EF7E2D78EF88EF98EFA8EFB8EFC8EFD8EFE8F408F418F42C1AEC0C88F438F448F458F468F478F48E2DBE2DAC0AA8F498F4AC1CE8F4B8F4C8F4D8F4EE2DC8F4F8F508F518F528F538F8F558F568F578F588F598F5AE2DD8F5BE2DE8F5C8F5D8F5E8F5F8F608F618F628F638FDBC88F65D1D3CDA28F668F67BDA88F688F698F6ADEC3D8A5BFAADBCDD2ECC6FAC5AA8F6B8F6C8F6DDEC48F6EB1D7DFAE8F6F8F708F71CABD8F72DFB18F73B9AD8F74D2FD8F75B8A5BAEB8F768F77B3DA8F788F798F7AB5DCD5C58F7B8F7C8F7D8F7EC3D6CFD2BBA18F80E5F3E5F28F818F82E5F48F83CDE48F84C8F58F858F868F878F888F8F8A8F8BB5AFC7BF8F8CE5F68F8D8F8E8F8FECB08F908F918F928F938F948F958F968F978F988F998F9A8F9B8F9C8F9D8F9EE5E68F9FB9E9B5B18FA0C2BCE5E8E5E7E5E98FA18FA28FA38FA4D2CD8FA58FA68FA7E1EAD0CE8FA8CDAE8FA9D1E58FAA8FABB2CAB1EB8FACB1F2C5ED8FAD8FAED5C3D3B08FAFE1DC8FB08FB18FB2E1DD8FB3D2DB8FB4B3B9B1CB8FB58FB68FB7CDF9D5F7E1DE8FB8BEB6B4FD8FB9E1DFBADCE1E0BBB2C2C9E1E18FBA8FBB8FBCD0EC8FBDCDBD8FBE8FBFE1E28FC0B5C3C5C7E1E38FC18FC2E1E48FC38FC48FC58FC6D3F98FC78FC88FC98FCA8FCB8FCCE1E58FCDD1AD8FCE8FCFE1E6CEA28FD08FD18FD28FD38FD48FD5E1E78FD6B5C28FD78FD88FD98FDAE1E8BBD58FDB8FDC8FDD8FDE8FDFD0C4E2E0B1D8D2E48FE08FE1E2E18FE28FE3BCC9C8CC8FE4E2E3ECFEECFDDFAF8FE58FE68FE7E2E2D6BECDFCC3A68FE88FE98FEAE3C38FEB8FECD6D2E2E78FED8FEEE2E88FEF8FF0D3C78FF18FF2E2ECBFEC8FF3E2EDE2E58FF48FF5B3C08FF68FF78FF8C4EE8FF98FFAE2EE8FFB8FFCD0C38FFDBAF6E2E9B7DEBBB3CCACCBCBE2E4E2E6E2EAE2EB8FFE90409041E2F790429043E2F4D4F5E2F390449045C5AD9046D5FAC5C2B2C090479048E2EF9049E2F2C1AFCBBC904A904BB5A1E2F9904C904D904EBCB1E2F1D0D4D4B9E2F5B9D6E2F6904F90509051C7D3905290539090559056E2F09057905059905A905BD7DCEDA1905C905DE2F05EEDA5E2FECAD1905F9060906190629063909065C1B59066BBD090679068BFD69069BAE3906A906BCBA1906C906D906EEDA6EDA3906F9070EDA29071907290739074BBD6EDA7D0F490759076EDA4BADEB6F7E3A1B6B2CCF1B9A79077CFA2C7A1907079BFD2907A907BB6F1907CE2FAE2FBE2FDE2FCC4D5E3A2907DD3C1907E90809081E3A7C7C49082908390849085CFA490869087E3A9BAB79080908A908BE3A08CBBDA908DE3A3908E908F9090E3A4E3AA9091E3A69092CEF2D3C690939094BBBC90959096D4C39097C4FA909099EDA8D0FCE3A5909AC3F5909BE3ADB1AF909CE3B2909D909E909FBCC290A090A1E3ACB5BF90A290A390A490A590A690A790A0A9C7E9E3B090AA90AB90ACBEAACDEF90AD90AE90AF90B090B1BBF390B290B390B4CCE0B590B6E3AF90B7E3B190B8CFA7E3AE90B9CEA9BBDD90BA90BB90BC90BD90BEB5EBBEE5B2D2B3CD90BFB1B9E3ABB2D1B5ACB9DFB6E0C090C1CFEBE3B790C2BBCC90C390C4C8C7D0CA90C590C690C790C0C9E3B8B3EE90CA90CB90CC90CDEDA990CED3FAD3E490CF90D090D1EDAAE3B9D2E290D290D390D490D590D6E3B590D790D0D990DAD3DE90DB90DC90DD90DEB8D0E3B390DF90E0E3B6B7DF90E1E3B4C0A290E290E390E4E3BA90E590E690E790E0E990EA90EB90EC90ED90EE90EF90F090F190F290F390F490F590F690F7D4B0F0F990FA90FB90FC90FD90FE9140B4C141E3BB9142BBC59143C9F791449145C9E5914691479148C4BD9149914A914B914C914D914E914FEDAB9150915191529153C2FD91915591569157BBDBBFAE915159915A915B915C915D915ECEBF915F916091619162E3BC9163BFB691916591669167916169916A916B916C916D916E916F9170917191729173917491759176B1EF91779178D4F79179917A917B917C917DE3BE917E9180918191829183918491859186EDAD91879181918A918B918C918D918E918FE3BFBAA9EDAC91909191E3BD919291939194919591969197919199919A919BE3C0919C919D919E919F91A091A1BAB691A291A391A4B6AE91A591A691A791A1A9D0B1AAB0C3EDAE91AB91AC91AD91AE91AFEDAFC0C191B0E3C191B191B291B391B491B591B691B791B1B991BA91BB91BC91BD91BE91BF91C091C1C5B391C291C391C491C591C691C791C1C991CA91CB91CC91CD91CE91CFE3C291D091D191D291D391D491D591D691D791D8DCB291D991DA91DB91DC91DD91DEEDB091DFB8EA91E0CEECEAA7D0E7CAF9C8D6CFB7B3C9CED2BDE491E191E2E3DEBBF2EAA8D5BD91E3C6DDEAA991E491E591E6EAAA91E7EAACEAAB91E8EAAEEAAD91E991EA91EB91ECBDD1EDEAAF91EEC2BE91EF91F091F191F2B4C1B4F791F391F4BBA791F591F691F791F1F9ECE6ECE5B7BFCBF9B1E291FAECE791FB91FC91FDC9C8ECE8ECE991FECAD6DED0B2C5D4FA92409241C6CBB0C7B4F2C8D3924292439244CDD092459246BFB247924249924A924B924C924DBFDB924E924FC7A4D6B49250C0A9DED1C9A8D1EFC5A4B0E7B3B6C8C592519252B0E2925392B7F692559256C5FA92579258B6F39259D5D2B3D0BCBC925A925B925CB3AD925D925E925F9260BEF1B0D19261926292639292659266D2D6CAE3D7A59267CDB6B6B6BFB9D5DB9268B8A7C5D79269926A926BDED2BFD9C2D5C7C0926CBBA4B1A26D926EC5EA926F9270C5FBCCA79271927292739274B1A7927592769277B5D6927279927AC4A27BDED3D1BAB3E9927CC3F2927D927EB7F79280D6F4B5A3B2F0C4B4C4E9C0ADDED49281B0E8C5C4C1E09282B9D59283BEDCCDD8B0CE9284CDCFDED6BED0D7BEDED5D5D0B0DD92859286C4E292879288C2A3BCF092D3B5C0B9C5A1B2A6D4F1928A928BC0A8CAC3DED7D5FC928CB9B0928DC8ADCBA9928EDED9BFBD928F929092919292C6B4D7A7CAB0C4C39293B3D6B9D29294929592969297D6B8EAFCB0B4929299929A929BBFE6929C929DCCF4929E929F92A092A1CDDA92A292A392A4D6BFC2CE92A5CECECCA2D0AEC4D3B5B2DED8D5F5BCB7BBD392A692A7B0A492A8C5B2B4EC92A992AA92ABD5F192AC92ADEAFD92AE92AF92B092B192B292B3DEDACDA692B492B5CDEC92B692B792B2B9CEE6DEDC92BACDB1C0A692BB92BCD7BD92BDDEDBB0C6BAB4C9D3C4F3BEE2BE92BF92C092C1B2B692C292C392C492C592C692C792C2C9C0CCCBF092CABCF1BBBBB5B792CB92CC92CDC5F592CEDEE692CF92D092D1DEE3BEDD92D292D3DEDF92D492D592D692D7B4B7BDDD92D2D9DEE0C4ED92DA92DB92DC92DDCFC692DEB5E092DF92E092E192E2B6DECADAB5F4DEE592E3D5C692E4DEE1CCCDC6FE92E5C5C592E692E792E8D2B492E9BEF292EA92EB92EC92ED92EE92EF92F0C2D392F1CCBDB3B2F2BDD392F3BFD8CDC6D1DAB4EB92F4DEE4DEDDDEE792F5EAFE92F692F7C2B0DEE292F2F9D6C0B5A792FAB2F492FBDEE2FCDEF292FD92FE934093419342DEED9343DEF193449345C8E0934693479348D7E1DEEFC3E8CCE19349B2E5934A934B934CD2BE934D934E934F9350935193529353DEEE93DEEBCED59355B4A793569357935359935ABFABBEBE935B935CBDD2935D935E935F9360DEE99361D4AE9362DEDE9363DEEA93936593669367C0BF9368DEECB2F3B8E9C2A79369936ABDC1936B936C936D936E936FDEF5DEF3709371B2ABB4A493729373B4EAC9A69374937593769377937379DEF6CBD1937AB8E3937BDEF7DEFA937C937D937E9380DEF9938193829383CCC29384B0E1B4EE9385938693879383938AE5BA938B938C938D938E938FD0AF93909391B2EB9392EBA19393DEF493949395C9E3DEF3B0DAD2A1B1F79396CCAF9397939399939A939B939C939DDEF0939ECBA4939F93A093A1D5AA93A293A393A493A593A6DEFB93A793A3A993AA93AB93AC93AD93AEB4DD93AFC4A693B093B193B2DEFD93B393B493B593B693B793B3B993BA93BB93BCC3FEC4A1DFA193BD93BE93BF93C093C193C293C3C1CC93C4DEFCBEEF93C5C6B293C693C793C3C993CA93CB93CC93CD93CEB3C5C8F693CF93D0CBBADEFE93D193D2DFA493D393D493D593D6D7B293D793D3D993DA93DBB3B793DC93DD93DE93DFC1C393E093E1C7CBB2A5B4E993E2D7AB93E393E493E593E6C4EC93E7DFA2DFA393E8DFA593E9BAB393EA93EB93ECDFA693EDC0DE93EE93EFC9C393F093F193F293F393F493F593F6B2D9C7E693F7DFA793F8C7DC93F993FA93FB93FCDFA8EBA293FD93FE944094419442CBD3944394449445DFAA9446DFA99447B2C1944449944A944B944C944D944E944F9450945194529453949455945694579459945A945B945C945D945E945F9460C5CA946194629463949465946694679468DFAB9469946A946B946C946D946E946F9470D4DC94719472947394749475C8C194769477947479947A947B947C947D947E948094819482DFAC94839484948594869487BEF09484DFADD6A7948A948B948C948DEAB7EBB6CAD5948ED8FCB8C4948FB9A594909491B7C5D5FE94929493949494959496B9CA94979498D0A7F4CD9499949AB5D0949B949CC3F4949DBEC49E949F94A0EBB7B0BD94A194A2BDCC94A3C1B294A4B1D6B3A4A594A694A7B8D2C9A294A4A9B6D4AA94AB94AC94ADEBB8BEB494AE94AF94B0CAFD94B1C7C394B2D5FB94B394B4B7F394B594B694B794B4B994BA94BB94BC94BD94BE94BF94C094C194C294C3CEC494C494C594C6D5ABB1F394C794C4C9ECB3B0DF94CAECB594CB94CC94CDB6B794CEC1CF94CFF5FAD0B194D094D1D5E594D2CED394D394D4BDEFB3E294D5B8AB94D6D5B694D7EDBD94D8B6CF94D9CBB9D0C294DA94DB94DC94DD94DE94DF94E094E1B7BD94E294E3ECB6CAA994E494E594E6C5D494E7ECB9ECB8C2C3ECB794E4E994EA94EBD0FDECBA94ECECBBD7E594ED94EEECBC94EF94F094F1ECBDC6EC94F294F394F494F594F694F794F4F9CEDE94FABCC4FB94FCC8D5B5A9BEC9D6BCD4E794FD94FED1AED0F1EAB8EAB9EABABAB590919293CAB1BFF59495CDFA9697999AEAC09BB0BAEABE9C9DC0A59E9F9550EABB9551B2FD9552C3F7BBE553959555D2D7CEF4EABF955695579558EABC9559955A955BEAC3955CD0C7D3B3955D955E955F9560B4BA9561C3C1D7F295629563959565D5D19566CAC79567EAC5956569EAC4EAC7EAC6956A956B956C956D956ED6E7956FCFD495709571EACB9572BBCE95739574957595769577957579BDFAC9CE957A957BEACC957C957DC9B9CFFEEACAD4CEEACDEACF957E9580CDED9581958295839584EAC99585EACE95869587CEEE9588BBDE95B3BF958A958B958C958D958EC6D5BEB0CEFA958F95909591C7E79592BEA7EAD095939594D6C7959595969597C1C0959599959AD4DD959BEAD1959C959DCFBE959E959F95A095A1EAD295A295A395A495A5CAEE95A695A795A5A9C5AFB0B595AA95AB95AC95AD95AEEAD495AF95B095B195B295B395B495B595B695B7EAD3F4DF95B5B995BA95BB95BCC4BA95BD95BE95BF95C095C1B1A995C295C395C495C5E5DF95C695C795C5C9EAD595CA95CB95CC95CD95CE95CF95D095D195D295D395D495D595D695D795D5D995DA95DB95DC95DD95DE95DF95E095E195E295E3CAEF95E4EAD6EAD7C6D5E595E695E795E5E995EA95EB95ECEAD5ED95EEEAD995EF95F095F195F295F395F4D4BB95F5C7FAD2B7B8FC95F695F7EAC295F8B2DC95F995FAC2FC95FBD4F8CCE6D7EE95FC95FD95FE90919293D4C2D3D0EBC3C5F394B7FE9596EBD49799CBB7EBDE9AC0CA9B9C9DCDFB9EB3AF9FC6DA9650965196529653969655EBFC9656C4BE9657CEB4C4A9B1BED4FD9658CAF59659D6EC965A965BC6D3B6E4965C965D965E965FBBFA96609661D0E096629663C9B196D4D3C8A6659666B8CB9667E8BEC9BC966669E8BB966AC0EED0D3B2C4B4E5966BE8BC966C966DD5C66E966F967096719672B6C59673E8BDCAF8B8DCCCF5967496759676C0B496779678D1EEE8BFE8C29679967ABABC967BB1ADBDDC967CEABDE8C3967DE8C6967EE8CB9680968196829683E8CC9684CBC9B0E59685BCAB96869687B9B99686E8C1968ACDF7968BE8CA968C968D968E968FCEF69690969196929693D5ED9694C1D6E8C49695C3B69696B9FBD6A6E8C697969699CAE0D4E6969AE8C0969BE8C5E8C7969CC7B9B7E3969DE8C9969EBFDDE8D2969F96A0E8D796A1E8D5BCDCBCCFE8DB96A296A396A496A596A696A796A6A9E8DE96AAE8DAB1FA96AB96AC96AD96AE96AF96B096B196B296B396B4B0D8C4B3B8CCC6E2C8BEC8E196B596B696B7E8CFE8D4E8D696B8B9F1E8D8D7F596B9C4FB96BAE8DC96BB96BCB2E996BD96BE96BFE8D196C096C1BCED96C296C3BFC2E8CDD6F996C4C1F8B2F196C596C696C796C6C996CA96CB96CCE8DF96CDCAC1E8D996CE96CF96D096D1D5A496D2B1EAD5BBE8CEE8D0B6B0E8D396D3E8DDC0B6D4CAF796D5CBA6D696D7C6DCC0F596D6D996DA96DB96DCE8E996DD96DE96DFD0A396E096E196E296E396E496E596E6E8F2D6EA96E796E6E996EA96EB96EC96EDE8E0E8E196EE96EF96F0D1F9BACBB8F996F196F2B8F1D4D4E8EF96F3E8EEE8ECB9F0CCD2E8E6CEA6BFF296F4B0B8E8F1E8F096F5D7C096F6E8E496F7CDA9C9A396F8BBB8BDDBE8EA96F996FA96FB96FC96FD96FE9740974197429743E8E2E8E3E8E5B5B5E8E7C7C5E8EBE8EDBDB0D7AE9744E8F74597469747974749974A974B974CE8F5974DCDB0E8F6974E974F97509751975297539797559756C1BA9757E8E758C3B7B0F09759975A975B975C975D975E975F9760E8F4976197629763E8F79797659766B9A39767976769976A976B976C976D976E976F9770C9D2977197729773C3CECEE0C0E69774977597769777CBF39778CCDDD0B59779977ACAE1977BE8F3977C977D977E9780978197829783978497859786BCEC9787E8F99787978A978B978C978DC3DE978EC6E5978FB9F79790979197929793B0F497949795D7D7969797BCAC9798C5EF9799979A979B979C979DCCC4979E979FE9A697A097A197A297A397A497A597A697A797A7A9C9AD97AAE9A2C0E297AB97AC97ADBFC397AE97AF97B0E8FEB9D797B1E8FB97B297B397B497B5E9A497B697B797B8D2CE97B997BA97BB97BC97BDE9A397BED6B2D7B597BFE9A797C0BDB797C197C297C397C497C597C697C797C7C997CA97CB97CCE8FCE8FD97CD97CE97CFE9A197D097D197D297D397D497D597D697D7CDD697D7D9D2AC97DA97DB97DCE9B297DD97DE97DF97E0E9A997E197E297E3B4AA97E4B4BB97E597E6E9AB97E797E7E997EA97EB97EC97ED97EE97EF97F097F197F297F397F497F597F697F7D0A7F7F9E9A597FA97FBB3FE97FC97FDE9ACC0E397FEE9AA98409841E9B998429843E9B844984598469847E9AE984849E8FA984A984BE9A84C984D984E984F9850BFACE9B1E9BA98519852C2A598539855E9AF9856B8C59857E9AD9858D3DCE9B4E9B5E9B79859985A985BE9C7985C985D985E985F98609861C0C6E9C598629863E9B09865E9BBB0F198669867986869986A986B986C986D986E986FE9BCD5A598709871E9BE9872E9BF987398749875E9C198769877C1F1987879C8B6987A987B987CE9BD987D987E988098819882E9C29883988498859886988798888AE9C3988BE9B3988CE9B6988DBBB1988E988F90E9C0919293949596BCF79799E9C4E9C69A9B9C9D9E9F98A098A198A298A398A498A5E9CA98A698A798A8A9E9CE98AA98AB98AC98AD98AE98AF98B098B198B298B3B2DB98B4E9C8B598B698B798B8B998BA98BB98BC98BD98BEB7AE98BF98C098C198C298C398C498C598C698C798C8C998CAE9CBE9CC98CB98CC98CD98CE98CF98D0D5C198D1C4A398D298D398D498D598D698D7E9D8D8BAE198D998DA98DB98DCE9C998DDD3A398DE98DF98E0E9D498E198E298E398E498E598E698E7E9D7E9D098E8E998EA98EB98ECE9CF98ED98EEC7C198EF98F098F198F298F398F498F598F6E9D298F798F8F998FA98FB98FC98FDE9D9B3C8FEE9D399409941994299439944CFF0994599469947E9CD994949994A994B994C994D994E994F995099519952B3F7995399995599569957995959E9D6995A995BE9DA995C995D995ECCB4995F99609961CFAD9962996399996599669967996969996AE9D5996BE9DCE9DB996C996D996E996F9970E9DE99719972997399749975997699779978E9D19979997A997B997C997D997E99809981E9DD9982E9DFC3CA9983998499859986998799998A998B998C998D998E998F99909991999299939994999599969997999999999A999B999C999D999E999F99A099A199A299A399A499A599A699A799A9A999AA99AB99AC99AD99AE99AF99B099B199B299B399B499B599B699B799B9B999BA99BB99BC99BD99BE99BF99C099C199C299C399C499C599C699C799C9C999CA99CB99CC99CD99CE99CF99D099D199D299D399D499D599D699D799D9D999DA99DB99DC99DD99DE99DF99E099E199E299E399E499E599E699E799E9E999EA99EB99EC99ED99EE99EF99F099F199F299F399F499F5C7B7B4CEBBB6D0C0ECA399F699F7C5B799F9F999FA99FB99FC99FD99FE9A409A419A42D3FB9A439A449A459A46ECA49A47ECA5C6DB9A4A499A4ABFEE9A4B9A4C9A4D9A4EECA69A4F9A50ECA7D0AA9A51C7BA529A53B8EA9A559A569A579A5A599A5A9A5B9A5C9A5D9A5E9A5FECAA609A619A629A639A9A659A669A67D6B9D5FDB4CBB2BDCEE4C6E79A6A69CDE19A6A9A6B9A6C9A6D9A6E9A6F9A709A719A729A739A749A759A769A77B4F59A78CBC0BCDF9A799A7A9A7B9A7CE9E2E9E3D1EAE9E59A7DB4F9E9E49A7ED1B3CAE2B2D09A80E9EA819A829A839A84E9E6E9E79A859A86D6B39A879A8AE9E9E9EA9A8A9A8B9A8C9A8D9A8EE9EB9A8F9A909A919A929A939A949A959A96E9EC9A979A9A999A9A9A9B9A9C9A9D9A9EECAFC5B9B6CE9A9FD2F39AA09AA19AA29AA39AA49AA59AA6B5EE9AA7BBD9ECB19AAAA9D2E39AAA9AAB9AAC9AAD9AAECEE39AAFC4BAB0C3BF9AB19AB2B6BED8B9B1C8B1CFB1D1C5FE9AB3B1D09AB4C3AB9AB59AB69AB79ABAB9D5B19ABA9ABB9ABC9ABD9ABE9ABF9AC09AC1EBA4BAC19AC29AC39AC4CCBA9AC59AC69AC7EBA59AC8EBA79AC99ACA9ACBEBAACC9ACD9ACEEBA69ACF9AD09AD19AD29AD39AD49AD5EBA9EBABEBAA9AD69AD79ADAD99ADAEBAC9ADBCACFD8B5C3F19ADCC3A5C6F8EBADC4CA9ADDEBAEEBAFEBB0B7D59ADE9ADF9AE0B7FA9AE1EBB1C7E29AE2EBB39AE3BAA4D1F5B0B1EBB2EBB49AE49AE59AE6B5AAC2C8C7EAE7EBB59AE8CBAEE3DF9AE99AEAD3C09AEB9AEC9AED9AEED9DB9AEF9AF0CDA1D6ADC7F39AF19AF29AF3D9E0BBE39AF4BABAE3E29AF59AF69AF79AFAF9CFAB9AFA9AFB9AFCE3E0C9C79AFDBAB99AFE9B409B41D1B4E3E1C8EAB9AFBDADB3D8CEDB9B429B43CCC09B449B459B46E3E8E3E9CDF49B479B4B499B4A9B4BCCAD9B4CBCB39B4DE3EA9B4EE3EB9B4F9B50D0DA9B519B529B53C6FBB7DA9B9B55C7DFD2CACED69B56E3E4E3EC9B57C9F2B3C19B5B59E3E79B5A9B5BC6E3E3E59B5C9B5DEDB3E3E69B5E9B5F9B609B61C9B39B62C5E69B639B9B65B9B59B66C3BB9B67E3E3C5BDC1A4C2D9B2D79B68E3EDBBA6C4AD9B69E3F0BEDA9B6A9B6BE3FBE3F5BAD39B6C9B6D9B6E9B6FB7D0D3CD9B70D6CED5D3B9C1D5B4D1DB719B729B739B74D0B9C7F69B759B769B77C8AAB2B49B78C3DA9B799B7A9B7BE3EE9B7C9B7DE3FCE3EFB7A8E3F7E3F49B7E9B809B81B7BA9B829B83C5A29B84E3F6C5DDB2A8C6FC9B85C4E09B869B87D7A29B88C0E1E3F99B9B8AE3FAE3FDCCA9E3F39B8BD3BE9B8CB1C3EDB4E3F1E3F29B8DE3F8D0BAC6C3D4F3E3FE9B8E9B8FBDE09B909B91E4A79B929B93E4A69B949B959B96D1F3E4A39B97E4A99B9B999B9AC8F79B9B9B9C9B9D9B9ECFB49B9FE4A8E4AEC2E59BA09BA1B6B49BA29BA39BA49BA59BA69BA7BDF29BA8E4A29BA99BAABAE9E4AA9BAB9BACE4AC9BAD9BAEB6FDD6DEE4B29BAFE4AD9BB09BB19BB2E4A19BB3BBEECDDDC7A2C5C99BB49BB5C1F79BB6E4A49BB7C7B3BDACBDBDE4A59BB8D7C7B2E29BB9E4ABBCC3E4AF9BBABBEBE4B0C5A8E4B19BBB9BBC9BBD9BBED5E3BFA39BBFE4BA9BC0E4B79BC1E4BB9BC29BC3E4BD9BC49BC5C6D69BC69BC7BAC6C0CB9BCBC99BCAB8A1E4B49BCB9BCC9BCD9BCED4A19BCF9BD0BAA3BDFE9BD19BD29BD3E4BC9BD49BD59BD69BD79BD8CDBF9BD99BDAC4F99BDB9BDCCFFBC9E69BDD9BDED3BF9BDFCFD19BE09BE1E4B39BE2E4B8E4B9CCE99BE39BE49BE59BE69BE7CCCE9BE8C0D4E4B5C1B0E4B6CED09BE9BBC1B5D39BEAC8F3BDA7D5C7C9ACB8A2E4CA9BEB9BECE4CCD1C49BED9BEED2BA9BEF9BF0BAAD9BF19BF2BAD49BF39BF49BF59BF69BF79BF8E4C3B5ED9BF99BFA9BFBD7CDE4C0CFFDE4BF9BFC9BFD9BFEC1DCCCCA9C409C419C429C43CAE79C449C459C469C47C4D79C48CCD4E4CC499C4A9C4BE4C7E4C19C4CE4C4B5AD9C4D9C4ED3D99C4FE4C69C509C519C529C53D2F9B4E39CBBB49C559C56C9EE9C57B4BE9C5C599C5ABBEC9C5BD1CD9C5CCCEDEDB59C5D9C5E9C5F9C609C619C629C639CC7E59C659C669C679C68D4AC69E4CBD7D5E4C29C6ABDA5E4C59C6B9C6CD3E69C6DE4C9C9FC6E9C6FE4BE9C709C71D3E59C729C73C7FEB6C99C74D4FCB2B3E4D79C759C769C77CEC29C78E4CD9C79CEBC9C7AB8DB9C7B9C7CE4D69C7DBFCA9C7E9C809C81D3CE9C82C3EC9C839C849C859C869C879C8C9C8AC5C8E4DC8B9C8C9C8D9C8E9C8F9C909C919C92CDC4E4CF9C939C949C959C96E4D4E4D59C97BAFE9C98CFE69C999C9AD5BF9C9B9C9C9C9DE4D29C9E9C9F9CA09CA19CA29CA39CA49CA59CA69CA79CA8E4D09CA99CAAE4CE9CAB9CAC9CAD9CAE9CAF9CB09CB19CB29CB39CB49CB59CB69CB79CBCB9CDE5CAAA9CBA9CBB9CBCC0A39CBDBDA6E4D39CBE9CBFB8CCC09CC19CC29CC39CC4E4E7D4B49CC59CC69CC79CCCC99CCA9CCBE4DB9CCC9CCD9CCEC1EF9CCF9CD0E4E99CD19CD2D2E79CD39CD4E4DF9CD5E4E09CD69CD7CFAA9CDCD99CDA9CDBCBDD9CDCE4DAE4D19CDDE4E59CDEC8DCE4E39CDF9CE0C4E7E4E29CE1E4E19CE29CE39CE4B3FCE4ECE59CE69CE79CE8B5E19CE99CEA9CEBD7CC9CEC9CED9CEEE4E69CEFBBAC9CF0D7D2CCCFEBFCF1E4E49CF29CF3B9F69CF49CF59CF6D6CDE4D9E4DCC2FAE4DE9CF7C2CBC0C4C2D09CF8B1F5CCB29CF99CFA9CFB9CFC9CFD9CFE9D409D419D429D43B5CE9D449D459D469D47E4EF9D4D499D4A9D4B9D4C9D4D9D4E9D4FC6AF9D509D519D52C6E19D539DE4F59D559D569D579D5D59C2A99D5A9D5B9D5CC0ECD1DDE4EE9D5D9D5E9D5F9D609D619D629D639D9D659D66C4AE9D679D6D69E4ED9D6A9D6B9D6C9D6DE4F6E4F4C2FE9D6EE4DD9D6FE4F09D70CAFE9D71D5C49D729D73E4F19D749D759D769D779D7D799D7AD1FA9D7B9D7C9D7D9D7E9D809D819D82E4EBE4EC9D839D849D85E4F29D86CEAB9D879D8D9D8A9D8B9D8C9D8D9D8E9D8F9D90C5CB9D919D929D93C7B19D94C2BA9D959D969D97E4EA9D9D999D9AC1CA9D9B9D9C9D9D9D9E9D9F9DA0CCB6B3B19DA19DA29DA3E4FB9DA4E4F39DA59DA69DA7E4FA9DA8E4FD9DA9E4FC9DAA9DAB9DAC9DAD9DAE9DAF9DB0B3CE9DB19DB29DB3B3BAE4F79DB49DB5E4F9E4F8C5EC9DB69DB79DBDB99DBA9DBB9DBC9DBD9DBE9DBF9DC09DC19DC2C0BD9DC39DC49DC59DC6D4EDC79DCDC99DCA9DCBE5A29DCC9DCD9DCE9DCF9DD09DD19DD29DD39DD49DD59DD6B0C49DD79DD8E5A49DD99DDAE5A39DDB9DDC9DDD9DDE9DDF9DE0BCA49DE1E5A59DE29DE39DE49DE59DE69DE7E5A19DEDE99DEA9DEB9DEC9DED9DEEE4FEB1F49DEF9DF09DF19DF29DF39DF49DF59DF69DF79DFDF9E5ADFAE5A9E5A69DFB9DFC9DFD9DFE9E409E419E429E439E449E459E469E47E5A7E5AA9E4E499E4A9E4B9E4C9E4D9E4E9E4F9E509E519E529E539E9E559E569E579E5E599E5A9E5B9E5C9E5D9E5E9E5F9E609E619E629E639E9E659E669E679E68C6D99E699E6A9E6B9E6C9E6D9E6E9E6F9E70E5ABE5AD9E719E729E739E749E759E769E77E5AC9E7E799E7A9E7B9E7C9E7D9E7E9E809E819E829E839E849E859E869E879E8EE5AF9E8A9E8B9E8CE5AE9E8D9E8E9E8F9E909E919E929E939E949E959E969E979E9E999E9A9E9B9E9C9E9D9E9EB9E09E9F9EA0E5B09EA19EA29EA39EA49EA59EA69EA79EAEA99EAA9EAB9EAC9EAD9EAEE5B19EAF9EB09EB19EB29EB39EB49EB59EB69EB79EBEB99EBABBF0ECE1C3F09EBBB5C6BBD29EBC9EBD9EBE9EBFC1E9D4EE9EC0BEC49EC19EC29EC3D7C69EC4D4D6B2D3ECBE9EC59EC69EC79EC8EAC19EC99ECA9ECBC2AFB4B69ECC9ECD9ECED1D79ECF9ED09ED1B3B49ED2C8B2BFBBECC09ED39ED4D6CB9ED59ED6ECBFECC19ED79EDED99EDA9EDB9EDC9EDD9EDE9EDF9EE09EE19EE29EE3ECC5BEE6CCBFC5DABEBC9EE4ECC69EE5B1FE9EE69EE79EE8ECC4D5A8B5E39EE9ECC2C1B6B3E39EEA9EEBECC3CBB8C0C3CCFE9EEC9EED9EEE9EEFC1D29EF0ECCEF19EF29EF39EF49EF59EF69EF79EFEF99EFA9EFB9EFC9EFDBAE6C0D39EFED6F29F409F419F42D1CC9F439F449F459F46BFBE9F47B7B3C9D5ECC7BBE29F48CCCCBDFDC8CF49CFA99F4A9F4B9F4C9F4D9F4E9F4F9F50CDE99F51C5EB9F529F539FB7E99F559F569F579F5F599F5A9F5B9F5C9F5D9F5E9F5FD1C9BABF609F619F629F639FECC99F659F66ECCA9F67BBC0ECCB9F68ECE2B1BAB7D99F699F6A9F6B9F6C9F6D9F6E9F6F9F709F719F729F73BDB99F749F759F769F779F7F799F7A9F7BECCCD1E6ECCD9F7C9F7D9F7E9F80C8BB9F819F829F839F849F859F869F879F8F9F8A9F8B9F8C9F8D9F8EECD19F8F9F909F919F92ECD39F93BBCD9F94BCE59F959F969F979F9F999F9A9F9B9F9C9F9D9F9E9F9F9FA09FA1ECCF9FA2C9B79FA39FA49FA59FA69FA7C3BA9FA8ECE3D5D5ECD09FA99FAA9FAB9FAC9FADD6F39FAE9FAF9FB0ECD2ECCE9FB19FB29FB39FB4ECD49FB5ECD59FB69FB7C9BF9FBFB99FBA9FBB9FBC9FBDCFAFBE9FBF9FC09FC19FC2D0DC9FC39FC49FC59FC6D1AC9FC79FCFC99FCAC8DB9FCB9FCC9FCDECD6CEF59FCE9FCF9FD09FD19FD2CAECECDA9FD39FD49FD59FD69FD79FDFD9ECD99FDA9FDB9FDCB0BE9FDD9FDE9FDF9FE09FE19FE2ECD79FE3ECDFE49FE59FE6ECE49FE79FEFE99FEA9FEB9FEC9FED9FEE9FEFC8BC9FF09FF19FF29FF39FF49FF59FF69FF79FFFF9C1C79FFA9FFB9FFC9FFD9FFEECDCD1E0A040A041A042A043A044A045A046A047A048A049ECDBA04AA04BA04CA04DD4EFA04EECDDA04FA050A051A052A053A0DBC6A055A056A057A058A059A05AA05BA05CA05DA05EECDEA05FA060A061A062A063A0A065A066A067A068A069A06AB1ACA06BA06CA06DA06EA06FA070A071A072A073A074A075A076A077A078A079A07AA07BA07CA07DA07EA080A081ECDFA082A083A084A085A086A087A088A0A08AA08BECE0A08CD7A6A08DC5C0A08EA08FA090EBBCB0AEA091A092A093BEF4B8B8D2AFB0D6B5F9A094D8B3A095CBACA096E3DDA097A098A099A09AA09BA09CA09DC6ACB0E6A09EA09FA0A0C5C6EBB9A0A1A0A2A0A3A0A4EBBAA0A5A0A6A0A7EBBBA0A8A0A9D1C0A0AAC5A3A0ABEAF2A0ACC4B2A0ADC4B5C0CEA0AEA0AFA0B0EAF3C4C1A0B1CEEFA0B2A0B3A0B4A0B5EAF0EAF4A0B6A0B7C9FCA0B8A0B9C7A3A0BAA0BBA0BCCCD8CEFEA0BDA0BEA0BFEAF5EAF6CFACC0E7A0C0A0C1EAF7A0C2A0C3A0C4A0C5A0C6B6BFEAF8A0C7EAF9A0C8EAFAA0C9A0CAEAFBA0CBA0CCA0CDA0CEA0CFA0D0A0D1A0D2A0D3A0D4A0D5A0D6EAF1A0D7A0D8A0D9A0DAA0DBA0DCA0DDA0DEA0DFA0E0A0E1A0E2C8AEE1EBA0E3B7B8E1ECA0E4A0E5A0E6E1EDA0E7D7B4E1EEE1EFD3CCA0E8A0E9A0EAA0EBA0ECA0EDA0EEE1F1BFF1E1F0B5D2A0EFA0F0A0F1B1B7A0F2A0F3A0F4A0F5E1F3E1F2A0F6BAFCA0F7E1F4A0F8A0F9A0FAA0FBB9B7A0FCBED1A0FDA0FEAA40AA41C4FCAA42BADDBDC6AA43AA44AA45AA46AA47AA48E1F5E1F7AA49AA4AB6C0CFC1CAA8E1F6D5F8D3FCE1F8E1FCE1F9AA4BAA4CE1FAC0EAAA4DE1FEE2A1C0C7AA4EAA4FAA50AA51E1FBAA52E1FDAA53AAAA55AA56AA57AA58E2A5AA59AA5AAA5BC1D4AA5CAA5DAA5EAA5FE2A3AA60E2A8B2FEE2A2AA61AA62AA63C3CDB2C2E2A7E2A6AAAA65E2A4E2A9AA66AA67E2ABAA68AA69AA6AD0C9D6EDC3A8E2ACAA6BCFD7AA6CAA6DE2AEAA6EAA6FBAEFAA70AA71E9E0E2ADE2AAAA72AA73AA74AA75BBABD4B3AA76AA77AA78AA79AA7AAA7BAA7CAA7DAA7EAA80AA81AA82AA83E2B0AA84AA85E2AFAA86E9E1AA87AA88AAAA8AE2B1AA8BAA8CAA8DAA8EAA8FAA90AA91AA92E2B2AA93AA94AA95AA96AA97AA98AA99AA9AAA9BAA9CAA9DE2B3CCA1AA9EE2B4AA9FAAA0AB40AB41AB42AB43AB44AB45AB46AB47AB48AB49AB4AAB4BE2B5AB4CAB4DAB4EAB4FAB50D0FEAB51AB52C2CAAB53D3F1ABCDF5AB55AB56E7E0AB57AB58E7E1AB59AB5AAB5BAB5CBEC1AB5DAB5EAB5FAB60C2EAAB61AB62AB63E7E4ABAB65E7E3AB66AB67AB68AB69AB6AAB6BCDE6AB6CC3B5AB6DAB6EE7E2BBB7CFD6AB6FC1E1E7E9AB70AB71AB72E7E8AB73AB74E7F4B2A3AB75AB76AB77AB78E7EAAB79E7E6AB7AAB7BAB7CAB7DAB7EE7ECE7EBC9BAAB80AB81D5E4AB82E7E5B7A9E7E7AB83AB84AB85AB86AB87AB88ABE7EEAB8AAB8BAB8CAB8DE7F3AB8ED6E9AB8FAB90AB91AB92E7EDAB93E7F2AB94E7F1AB95AB96AB97B0E0AB98AB99AB9AAB9BE7F5AB9CAB9DAB9EAB9FABA0AC40AC41AC42AC43AC44AC45AC46AC47AC48AC49AC4AC7F2AC4BC0C5C0EDAC4CAC4DC1F0E7F0AC4EAC4FAC50AC51E7F6CBF6AC52AC53ACAC55AC56AC57AC58AC59AC5AE8A2E8A1AC5BAC5CAC5DAC5EAC5FAC60D7C1AC61AC62E7FAE7F9AC63E7FBACE7F7AC65E7FEAC66E7FDAC67E7FCAC68AC69C1D5C7D9C5FDC5C3AC6AAC6BAC6CAC6DAC6EC7EDAC6FAC70AC71AC72E8A3AC73AC74AC75AC76AC77AC78AC79AC7AAC7BAC7CAC7DAC7EAC80AC81AC82AC83AC84AC85AC86E8A6AC87E8A5AC88E8A7BAF7E7F8E8A4ACC8F0C9AAAC8AAC8BAC8CAC8DAC8EAC8FAC90AC91AC92AC93AC94AC95AC96E8A9AC97AC98B9E5AC99AC9AAC9BAC9CAC9DD1FEE8A8AC9EAC9FACA0AD40AD41AD42E8AAAD43E8ADE8AEAD44C1A7AD45AD46AD47E8AFAD48AD49AD4AE8B0AD4BAD4CE8ACAD4DE8B4AD4EAD4FAD50AD51AD52AD53ADAD55AD56AD57AD58E8ABAD59E8B1AD5AAD5BAD5CAD5DAD5EAD5FAD60AD61E8B5E8B2E8B3AD62AD63ADAD65AD66AD67AD68AD69AD6AAD6BAD6CAD6DAD6EAD6FAD70AD71E8B7AD72AD73AD74AD75AD76AD77AD78AD79AD7AAD7BAD7CAD7DAD7EAD80AD81AD82AD83AD84AD85AD86AD87AD88ADE8B6AD8AAD8BAD8CAD8DAD8EAD8FAD90AD91AD92B9CFAD93F0ACAD94F0ADAD95C6B0B0EAC8BFAD96CDDFAD97AD98AD99AD9AAD9BAD9CAD9DCECDEAB1AD9EAD9FADA0AE40EAB2AE41C6BFB4C9AE42AE43AE44AE45AE46AE47AE48EAB3AE49AE4AAE4BAE4CD5E7AE4DAE4EAE4FAE50AE51AE52AE53AEDDF9AE55EAB4AE56EAB5AE57EAB6AE58AE59AE5AAE5BB8CADFB0C9F5AE5CCCF0AE5DAE5EC9FAAE5FAE60AE61AE62AE63C9FBAEAE65D3C3CBA6AE66B8A6F0AEB1C2AE67E5B8CCEFD3C9BCD7C9EAAE68B5E7AE69C4D0B5E9AE6AEEAEBBADAE6BAE6CE7DEAE6DEEAFAE6EAE6FAE70AE71B3A9AE72AE73EEB2AE74AE75EEB1BDE7AE76EEB0CEB7AE77AE78AE79AE7AC5CFAE7BAE7CAE7DAE7EC1F4DBCEEEB3D0F3AE80AE81AE82AE83AE84AE85AE86AE87C2D4C6E8AE88AEAE8AB7ACAE8BAE8CAE8DAE8EAE8FAE90AE91EEB4AE92B3EBAE93AE94AE95BBFBEEB5AE96AE97AE98AE99AE9AE7DCAE9BAE9CAE9DEEB6AE9EAE9FBDAEAEA0AF40AF41AF42F1E2AF43AF44AF45CAE8AF46D2C9F0DAAF47F0DBAF48F0DCC1C6AF49B8EDBECEAF4AAF4BF0DEAF4CC5B1F0DDD1F1AF4DF0E0B0CCBDEAAF4EAF4FAF50AF51AF52D2DFF0DFAF53B4AFB7E8F0E6F0E5C6A3F0E1F0E2B4C3AFAF55F0E3D5EEAF56AF57CCDBBED2BCB2AF58AF59AF5AF0E8F0E7F0E4B2A1AF5BD6A2D3B8BEB7C8ACAF5CAF5DF0EAAF5EAF5FAF60AF61D1F7AF62D6CCBADBF0E9AF63B6BBAFAF65CDB4AF66AF67C6A6AF68AF69AF6AC1A1F0EBF0EEA

        聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

        文檔

        .NET下為百度文本編輯器UEditor增加圖片刪除功能示例

        .NET下為百度文本編輯器UEditor增加圖片刪除功能示例:百度的這個編輯器,的確挺好,但也有些,讓人不如意的,如每次更新,本來有功能給搞沒了,舊版本的代碼又不能直接拿過來組合用,對用戶來很是不爽。今天下載了目前最新版1.2.5為版本看更新記錄,主要是對表格做個修改,我下載用上,我靠,上傳圖片的刪除功能
        推薦度:
        標簽: 刪除 圖片 功能
        • 熱門焦點

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: 国产成人精品亚洲精品| 中国内地毛片免费高清| 亚洲第一成年免费网站| 亚洲中文字幕久久精品无码2021| 久久成人a毛片免费观看网站| 亚洲αv久久久噜噜噜噜噜| 你懂的免费在线观看网站| 久久精品亚洲综合| 最近2019中文字幕免费直播| 亚洲av无码片在线观看| 日韩在线视频免费看| 亚洲精品白浆高清久久久久久| 成在人线av无码免费高潮喷水| 亚洲国产精品一区第二页| 久爱免费观看在线网站| 911精品国产亚洲日本美国韩国| 天天影院成人免费观看| 亚洲人成www在线播放| 国产在线a不卡免费视频| 免费人成大片在线观看播放| 亚洲夜夜欢A∨一区二区三区| 日本免费人成视频在线观看| 亚洲综合校园春色| 又粗又大又长又爽免费视频| 成人妇女免费播放久久久| 亚洲欧洲一区二区| 免费观看美女裸体网站| 两个人看的www免费高清| 中文字幕亚洲精品资源网| 最新免费jlzzjlzz在线播放| 亚洲av日韩综合一区久热| 久久伊人亚洲AV无码网站| 114级毛片免费观看| 精品国产日韩亚洲一区在线 | 免费国产污网站在线观看不要卡| 久久久久国产亚洲AV麻豆 | 好吊色永久免费视频大全 | 毛片在线免费视频| 国产高清对白在线观看免费91| 久久久青草青青亚洲国产免观| 免费无码黄十八禁网站在线观看|