From 53f0b4971405ea766dc1740141f3135af06bab71 Mon Sep 17 00:00:00 2001 From: HuangHai <10402852@qq.com> Date: Wed, 28 Jan 2026 16:54:11 +0800 Subject: [PATCH] 'commit' --- WeiXin/ChatMonitorAll.py | 361 + WeiXin/T2_Identify.py | 126 + WeiXin/T3_Voice.py | 85 + WeiXin/T4_Text.py | 104 + WeiXin/T5_SendText.py | 80 + ...9c44c669-72aa-4937-809a-8bcefa1c2b8d.vsidx | Bin 0 -> 16098 bytes ...a5811c8a-bfee-42fa-a8eb-ed30178305a3.vsidx | Bin 0 -> 280270 bytes ...cc724fb2-aece-4705-bab6-f396d457e01f.vsidx | Bin 0 -> 31918 bytes WordAddIn/.vs/WordAddIn/v17/.suo | Bin 119296 -> 116224 bytes WordAddIn/Switch_To_WPS.bat | 13 + WordAddIn/Switch_To_Word.bat | 13 + .../.vs/WordAddIn.csproj.dtbcache.json | 1 + WordAddIn/WordAddIn/AddInContext.cs | 49 + WordAddIn/WordAddIn/CreateOutlineForm.cs | 12 +- WordAddIn/WordAddIn/ImageOptionsForm.cs | 15 +- WordAddIn/WordAddIn/OutlineSettingsForm.cs | 12 +- WordAddIn/WordAddIn/ReferenceGeneratorForm.cs | 18 +- WordAddIn/WordAddIn/WpsAddIn.cs | 120 + WordAddIn/WordAddIn/bin/Debug/WordAddIn.tlb | Bin 0 -> 2300 bytes ...oft.Office.Tools.Common.v4.0.Utilities.dll | Bin 0 -> 32664 bytes .../WordAddIn/bin/Release/Newtonsoft.Json.dll | Bin 0 -> 721320 bytes .../WordAddIn/bin/Release/Newtonsoft.Json.xml | 11698 ++++++++++++++++ WordAddIn/WordAddIn/bin/Release/WordAddIn.dll | Bin 0 -> 92160 bytes .../bin/Release/WordAddIn.dll.manifest | 203 + WordAddIn/WordAddIn/bin/Release/WordAddIn.pdb | Bin 0 -> 136704 bytes .../WordAddIn/bin/Release/WordAddIn.vsto | 21 + .../DesignTimeResolveAssemblyReferences.cache | Bin 0 -> 932 bytes ...gnTimeResolveAssemblyReferencesInput.cache | Bin 0 -> 3551 bytes .../WordAddIn.Properties.Resources.resources | Bin 0 -> 180 bytes .../WordAddIn.csproj.CoreCompileInputs.cache | 1 + .../WordAddIn.csproj.FileListAbsolute.txt | 14 + .../WordAddIn.csproj.GenerateResource.cache | Bin 0 -> 84 bytes .../obj/Release/WordAddIn.csproj.Up2Date | 0 WordAddIn/WordAddIn/obj/Release/WordAddIn.dll | Bin 0 -> 92160 bytes WordAddIn/WordAddIn/obj/Release/WordAddIn.pdb | Bin 0 -> 136704 bytes WordAddIn/WpsInstaller/Program.cs | 344 + .../WpsInstaller/Properties/AssemblyInfo.cs | 36 + WordAddIn/WpsInstaller/WpsInstaller.csproj | 58 + WordAddIn/WpsInstaller/app.manifest | 11 + .../WpsInstaller/bin/Debug/WpsInstaller.exe | Bin 0 -> 12288 bytes .../WpsInstaller/bin/Debug/WpsInstaller.pdb | Bin 0 -> 19968 bytes .../WpsInstaller/bin/Release/WpsInstaller.exe | Bin 0 -> 11264 bytes .../WpsInstaller/bin/Release/WpsInstaller.pdb | Bin 0 -> 26112 bytes ...ework,Version=v4.7.2.AssemblyAttributes.cs | 4 + ...psInstaller.csproj.AssemblyReference.cache | Bin 0 -> 1207 bytes .../WpsInstaller.csproj.FileListAbsolute.txt | 5 + ...aller.csprojResolveAssemblyReference.cache | Bin 0 -> 1921 bytes .../WpsInstaller/obj/Debug/WpsInstaller.exe | Bin 0 -> 12288 bytes .../WpsInstaller/obj/Debug/WpsInstaller.pdb | Bin 0 -> 19968 bytes ...ework,Version=v4.7.2.AssemblyAttributes.cs | 4 + ...gnTimeResolveAssemblyReferencesInput.cache | Bin 0 -> 1760 bytes ...psInstaller.csproj.AssemblyReference.cache | Bin 0 -> 1207 bytes ...psInstaller.csproj.CoreCompileInputs.cache | 1 + .../WpsInstaller.csproj.FileListAbsolute.txt | 6 + .../WpsInstaller/obj/Release/WpsInstaller.exe | Bin 0 -> 11264 bytes .../WpsInstaller/obj/Release/WpsInstaller.pdb | Bin 0 -> 26112 bytes 56 files changed, 13402 insertions(+), 13 deletions(-) create mode 100644 WeiXin/ChatMonitorAll.py create mode 100644 WeiXin/T2_Identify.py create mode 100644 WeiXin/T3_Voice.py create mode 100644 WeiXin/T4_Text.py create mode 100644 WeiXin/T5_SendText.py create mode 100644 WordAddIn/.vs/WordAddIn/FileContentIndex/9c44c669-72aa-4937-809a-8bcefa1c2b8d.vsidx create mode 100644 WordAddIn/.vs/WordAddIn/FileContentIndex/a5811c8a-bfee-42fa-a8eb-ed30178305a3.vsidx create mode 100644 WordAddIn/.vs/WordAddIn/FileContentIndex/cc724fb2-aece-4705-bab6-f396d457e01f.vsidx create mode 100644 WordAddIn/Switch_To_WPS.bat create mode 100644 WordAddIn/Switch_To_Word.bat create mode 100644 WordAddIn/WordAddIn/.vs/WordAddIn.csproj.dtbcache.json create mode 100644 WordAddIn/WordAddIn/AddInContext.cs create mode 100644 WordAddIn/WordAddIn/WpsAddIn.cs create mode 100644 WordAddIn/WordAddIn/bin/Debug/WordAddIn.tlb create mode 100644 WordAddIn/WordAddIn/bin/Release/Microsoft.Office.Tools.Common.v4.0.Utilities.dll create mode 100644 WordAddIn/WordAddIn/bin/Release/Newtonsoft.Json.dll create mode 100644 WordAddIn/WordAddIn/bin/Release/Newtonsoft.Json.xml create mode 100644 WordAddIn/WordAddIn/bin/Release/WordAddIn.dll create mode 100644 WordAddIn/WordAddIn/bin/Release/WordAddIn.dll.manifest create mode 100644 WordAddIn/WordAddIn/bin/Release/WordAddIn.pdb create mode 100644 WordAddIn/WordAddIn/bin/Release/WordAddIn.vsto create mode 100644 WordAddIn/WordAddIn/obj/Release/DesignTimeResolveAssemblyReferences.cache create mode 100644 WordAddIn/WordAddIn/obj/Release/DesignTimeResolveAssemblyReferencesInput.cache create mode 100644 WordAddIn/WordAddIn/obj/Release/WordAddIn.Properties.Resources.resources create mode 100644 WordAddIn/WordAddIn/obj/Release/WordAddIn.csproj.CoreCompileInputs.cache create mode 100644 WordAddIn/WordAddIn/obj/Release/WordAddIn.csproj.FileListAbsolute.txt create mode 100644 WordAddIn/WordAddIn/obj/Release/WordAddIn.csproj.GenerateResource.cache create mode 100644 WordAddIn/WordAddIn/obj/Release/WordAddIn.csproj.Up2Date create mode 100644 WordAddIn/WordAddIn/obj/Release/WordAddIn.dll create mode 100644 WordAddIn/WordAddIn/obj/Release/WordAddIn.pdb create mode 100644 WordAddIn/WpsInstaller/Program.cs create mode 100644 WordAddIn/WpsInstaller/Properties/AssemblyInfo.cs create mode 100644 WordAddIn/WpsInstaller/WpsInstaller.csproj create mode 100644 WordAddIn/WpsInstaller/app.manifest create mode 100644 WordAddIn/WpsInstaller/bin/Debug/WpsInstaller.exe create mode 100644 WordAddIn/WpsInstaller/bin/Debug/WpsInstaller.pdb create mode 100644 WordAddIn/WpsInstaller/bin/Release/WpsInstaller.exe create mode 100644 WordAddIn/WpsInstaller/bin/Release/WpsInstaller.pdb create mode 100644 WordAddIn/WpsInstaller/obj/Debug/.NETFramework,Version=v4.7.2.AssemblyAttributes.cs create mode 100644 WordAddIn/WpsInstaller/obj/Debug/WpsInstaller.csproj.AssemblyReference.cache create mode 100644 WordAddIn/WpsInstaller/obj/Debug/WpsInstaller.csproj.FileListAbsolute.txt create mode 100644 WordAddIn/WpsInstaller/obj/Debug/WpsInstaller.csprojResolveAssemblyReference.cache create mode 100644 WordAddIn/WpsInstaller/obj/Debug/WpsInstaller.exe create mode 100644 WordAddIn/WpsInstaller/obj/Debug/WpsInstaller.pdb create mode 100644 WordAddIn/WpsInstaller/obj/Release/.NETFramework,Version=v4.7.2.AssemblyAttributes.cs create mode 100644 WordAddIn/WpsInstaller/obj/Release/DesignTimeResolveAssemblyReferencesInput.cache create mode 100644 WordAddIn/WpsInstaller/obj/Release/WpsInstaller.csproj.AssemblyReference.cache create mode 100644 WordAddIn/WpsInstaller/obj/Release/WpsInstaller.csproj.CoreCompileInputs.cache create mode 100644 WordAddIn/WpsInstaller/obj/Release/WpsInstaller.csproj.FileListAbsolute.txt create mode 100644 WordAddIn/WpsInstaller/obj/Release/WpsInstaller.exe create mode 100644 WordAddIn/WpsInstaller/obj/Release/WpsInstaller.pdb diff --git a/WeiXin/ChatMonitorAll.py b/WeiXin/ChatMonitorAll.py new file mode 100644 index 0000000..9c5c8b0 --- /dev/null +++ b/WeiXin/ChatMonitorAll.py @@ -0,0 +1,361 @@ +# coding=utf-8 +import os +import sys +import logging +import asyncio +import hashlib +import json +import numpy as np + +import cv2 + +# 添加项目根目录到 sys.path +project_root = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) +if project_root not in sys.path: + sys.path.append(project_root) + +from WeiXin import WxUtil +from WeiXin.WxUtil import perform_input_action +from Util.LlmUtil import get_llm_response +from Util import Win32Patch + +# 配置日志 +log_dir = WxUtil.LOG_DIR +if not os.path.exists(log_dir): + os.makedirs(log_dir) + +log_file_path = os.path.join(log_dir, "T2_ChatMonitor.log") + +# 设置 logger +logger = logging.getLogger("T2_ChatMonitor") +logger.setLevel(logging.INFO) + +if logger.hasHandlers(): + logger.handlers.clear() + +file_handler = logging.FileHandler(log_file_path, encoding='utf-8', mode='w') +file_handler.setFormatter(logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')) +logger.addHandler(file_handler) + +stream_handler = logging.StreamHandler() +stream_handler.setFormatter(logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')) +logger.addHandler(stream_handler) + +logger.propagate = False +logger.info(f"🚀 日志文件路径: {os.path.abspath(log_file_path)}") + +# 同时将 WxUtil 的日志也输出到同一个文件 +wx_logger = logging.getLogger("WxUtil") +wx_logger.propagate = False # 防止日志向上传递导致重复 (因为 WxUtil 中调用了 basicConfig) +if not any(isinstance(h, logging.FileHandler) and os.path.abspath(h.baseFilename) == os.path.abspath(log_file_path) for h in wx_logger.handlers): + wx_logger.addHandler(file_handler) + wx_logger.addHandler(stream_handler) # 确保 WxUtil 也输出到控制台 + +class ChatMonitorBot: + """ + 大张老师自动巡课系统 (CV版) + """ + def __init__(self): + self.device = None + self.screenshot_path = os.path.join(WxUtil.OUTPUT_DIR, "T2_ChatMonitor_live_shot.jpg") + self.debug_view_path = os.path.join(WxUtil.OUTPUT_DIR, "T2_ChatMonitor_debug_view.jpg") + self.dialogue_log = [] + self.input_pos = None + self.last_screen_hash = None + self.last_processed_msg_hash = None + # [User Requested] 移除持久化存储,只在内存中记录,重启即忘 + self.processed_hashes = set() + # 新增:记录已处理消息的元数据 (sender, time_display, type) 用于防止空内容重试循环 + self.processed_meta = set() + self.check_interval = 3 # 检查频率 (秒) + + self.persona = ( + "你是一名1999年毕业、拥有27年一线教学经验的小学高级女教师,名叫‘大张老师’。你目前在‘长春市少惠林作文素养培养中心’工作。" + "你不仅是一位作文教学专家,更是一位心思细腻、能与家长共情的教育智者。" + "你的回复风格应该是:温柔、知性、亲切,就像一位邻家大姐姐在聊天。" + "【严格约束】:\n" + "1. 绝对禁止发散!绝对禁止幻觉!\n" + "2. 知道什么就说什么,不要乱讲话,不要自己编造内容!\n" + "3. 仅针对家长明确表达的内容进行回复。\n" + "4. 严禁使用列表格式。严禁使用‘首先、其次’等逻辑词。\n" + "5. 回复必须简练,字数严格控制在 50 字以内!\n" + "6. 对方问什么就答什么。例如问‘学校叫什么’,就只回答‘少惠林’,不要回复地址和电话!\n" + "如果涉及到校区信息,必须且只能使用以下真实数据:\n" + "- 单位/学校名称:长春市少惠林作文素养培养中心(简称:少惠林)\n" + "- 地址:南环城路与临河街交汇,TOUCH12街3楼325号\n" + "- 联系人:小张老师(电话:18686619970)\n" + "- 每学期开学招收小学三年级至六年级,初中七年级的学生入学,其它年段不招生。\n" + ) + + def _record_processed_hash(self, msg, msg_hash): + """记录已处理的消息哈希和元数据 (仅内存)""" + self.processed_hashes.add(msg_hash) + + # 记录元数据 (Sender, Time, Type) + if msg: + meta = (msg.get("sender", ""), msg.get("time_display", ""), msg.get("type", "")) + self.processed_meta.add(meta) + + # 仅保留最近 100 条记录,防止无限增长 + if len(self.processed_hashes) > 100: + # 简单丢弃旧的 + temp = list(self.processed_hashes)[-100:] + self.processed_hashes = set(temp) + + if len(self.processed_meta) > 100: + temp_meta = list(self.processed_meta)[-100:] + self.processed_meta = set(temp_meta) + + async def get_reply(self, last_message_text, context_text=""): + prompt = ( + f"【教师人设】:{self.persona}\n\n" + f"【上下文对话内容】:\n{context_text}\n\n" + f"【最后一条待回复消息】:\n{last_message_text}\n\n" + "【任务要求】:\n" + "请作为大张老师回复家长。**必须且只能针对最后一条消息进行回复!**\n" + "参考上下文对话内容,确保回复逻辑连贯。\n" + "严禁发散,严禁编造家长没说过的情况。如果不清楚家长的意图,就温柔询问。\n" + "字数严格控制在 50 字以内。直接输出回复正文。" + ) + + full_response = "" + async for chunk in get_llm_response(prompt, stream=False): + full_response += chunk + return full_response.strip().strip('"').strip('“').strip('”') + + def step_1_prepare_env(self): + """步骤1: 环境准备""" + logger.info("--- [Step 1] 环境准备 ---") + WxUtil.setup_script_environment() + return True + + def step_2_connect_device(self): + """步骤2: 连接设备""" + logger.info("--- [Step 2] 连接设备 ---") + self.device = WxUtil.connect_device() + if not self.device: + logger.error("❌ 设备连接失败,请检查手机是否连接且开启了调试模式") + return False + return True + + def get_image_hash(self, file_path): + """计算图片的 MD5 哈希值 (忽略顶部 100 像素的状态栏)""" + if not os.path.exists(file_path): + return None + try: + # 使用 OpenCV 读取图片 + img = cv2.imread(file_path) + if img is None: + # 如果读取失败,回退到文件哈希 + with open(file_path, "rb") as f: + return hashlib.md5(f.read()).hexdigest() + + # 裁剪掉顶部 150 像素 (状态栏/时间) + h, w = img.shape[:2] + if h > 150: + cropped_img = img[150:h, 0:w] + else: + cropped_img = img + + # 计算裁剪后数据的哈希 + return hashlib.md5(cropped_img.tobytes()).hexdigest() + except Exception as e: + logger.error(f"计算哈希出错: {e}, 回退到文件哈希") + with open(file_path, "rb") as f: + return hashlib.md5(f.read()).hexdigest() + + def get_stable_message_hash(self, msg): + """ + 计算消息的稳定哈希值(忽略坐标等易变字段) + 仅包含: sender, content, time_display, type + """ + if not msg: + return "" + + stable_data = { + "sender": msg.get("sender", ""), + "content": msg.get("content") or "", # 确保 None 转为空字符串 + "time_display": msg.get("time_display", ""), + "type": msg.get("type", "") + } + + # 序列化并计算哈希 + msg_str = json.dumps(stable_data, sort_keys=True, ensure_ascii=False) + return hashlib.md5(msg_str.encode('utf-8')).hexdigest() + + async def run(self): + """ + 主运行循环 + """ + logger.info("🚀 正在启动 T2_ChatMonitor (Auto-Reply)...") + + # 定义 JSON 序列化辅助函数 + def numpy_serializer(obj): + if isinstance(obj, np.integer): + return int(obj) + if isinstance(obj, np.floating): + return float(obj) + if isinstance(obj, np.ndarray): + return obj.tolist() + raise TypeError(f"Type {type(obj)} not serializable") + + # 1. 环境准备 + if not self.step_1_prepare_env(): return + if not self.step_2_connect_device(): return + + # [User Requested] 移除首屏概念,直接进入监控循环 + # 以前说过什么都不管了,只关注最后一条 + logger.info("🚀 启动完成,直接进入实时监控阶段...") + + # 3. 进入循环阶段 + while True: + try: + # A. 截图并计算哈希 + self.device.screenshot(self.screenshot_path) + current_screen_hash = self.get_image_hash(self.screenshot_path) + + # B. 如果屏幕无变化,则跳过识别 + if current_screen_hash == self.last_screen_hash: + await asyncio.sleep(self.check_interval) + continue + + self.last_screen_hash = current_screen_hash + logger.info("📸 屏幕发生变化,正在分析...") + + # C. 分析最新图片 + dialogue_log, input_pos = await WxUtil.analyze_chat_image( + self.screenshot_path, + self.debug_view_path, + device=self.device, + process_strategy="UNREAD", # 监控阶段:只处理带红点的新语音 + restore_processed_voice=False # 不还原状态,防止红点未消导致重复转换 + ) + + if not dialogue_log: + logger.info("😴 未识别到有效消息") + await asyncio.sleep(self.check_interval) + continue + + logger.info(f"📊 当前识别到 {len(dialogue_log)} 条消息,最后一条: {dialogue_log[-1]}") + + # 更新当前对话日志(可用于上下文参考) + self.dialogue_log = dialogue_log + self.input_pos = input_pos + + # D. 只关注最后一条消息 + last_msg = dialogue_log[-1] + # 计算稳定哈希(忽略坐标变化) + current_msg_hash = self.get_stable_message_hash(last_msg) + + # E. 判断是否需要回复 (对方发送且非重复消息) + sender = last_msg.get('sender', '') + + # Check if hash is already processed (in-memory only) + is_processed = current_msg_hash in self.processed_hashes + + # Log only if it changed from last *in-memory* check to avoid spam + if is_processed and current_msg_hash != self.last_processed_msg_hash: + # logger.info(f"🚫 [监控] 消息哈希已存在于历史记录中,跳过回复 (Hash: {current_msg_hash})") + self.last_processed_msg_hash = current_msg_hash + + if not is_processed and current_msg_hash != self.last_processed_msg_hash: + if sender != "我": + event_shot = WxUtil.get_next_debug_path("event_new_msg") + self.device.screenshot(event_shot) + logger.info(f"💡 [监控] 发现新消息: {last_msg},保存现场截图: {event_shot}") + + # 获取上下文文本 (格式化为 Sender: Content) + context_text = "\n".join([f"{m.get('time_display', '') + ' ' if m.get('time_display') else ''}{m.get('sender')}: {m.get('content')}" for m in dialogue_log[:-1]]) + last_content = last_msg.get('content') or "" + + # 兜底逻辑:如果最后一条是语音且内容为空(可能因无红点未被 UNREAD 策略处理),尝试强制转换 + if last_msg.get('type') == 'voice' and not last_content.strip(): + logger.info("⚠️ [监控] 最后一条语音消息未获取到内容(可能已读无红点),尝试强制转换...") + # 强制使用 LAST 策略重试,并且不还原状态(保持文字展开),防止下次循环因无内容再次触发重试 + dialogue_log_retry, _ = await WxUtil.analyze_chat_image( + self.screenshot_path, + self.debug_view_path, + device=self.device, + process_strategy="LAST", + restore_processed_voice=False + ) + if dialogue_log_retry: + # 更新引用 + self.dialogue_log = dialogue_log_retry + dialogue_log = dialogue_log_retry + last_msg = dialogue_log[-1] + last_content = last_msg.get('content') or "" + logger.info(f"🔄 [重试] 强制转换后内容: {last_content}") + + # 重新构建哈希 + current_msg_hash = self.get_stable_message_hash(last_msg) + # 再次检查是否已处理 (因为内容变了,哈希变了) + if current_msg_hash in self.processed_hashes: + logger.info(f"🚫 [重试] 转换后发现该消息已处理,跳过。") + self.last_processed_msg_hash = current_msg_hash + # 跳过本次循环的剩余部分 + continue + + # 生成回复 + reply = await self.get_reply(last_content, context_text) + + if reply: + logger.info(f"🤖 [监控] LLM 建议回复: {reply}") + if self.input_pos: + logger.info(f"⚡ [监控] 执行自动回复...") + # input_pos 是 ((x,y), box) 格式,取第一个元素坐标点 + target_pos = self.input_pos[0] if isinstance(self.input_pos, (list, tuple)) and len(self.input_pos) == 2 and isinstance(self.input_pos[0], (list, tuple)) else self.input_pos + # 简单兼容处理:如果 input_pos[0] 是 tuple/list 且 input_pos[1] 是 None/box,则取 input_pos[0] + if isinstance(self.input_pos, (list, tuple)) and len(self.input_pos) == 2 and isinstance(self.input_pos[0], (list, tuple)): + target_pos = self.input_pos[0] + + # [User Request] 语音转文字未关闭 -> 顺序不对 + # 在回复发送前,尝试关闭语音转文字(如果最后一条是语音) + # 这样截图看起来更干净,且符合用户期望的顺序 + if last_msg.get('type') == 'voice': + logger.info("🧹 [监控] 尝试关闭语音转文字显示...") + try: + # 点击语音消息中心,关闭文字 + cx, cy = last_msg['center'] + WxUtil.safe_device_click(self.device, cx, cy) + # 稍微等待界面刷新 + await asyncio.sleep(1) + except Exception as e: + logger.warning(f"关闭语音转文字失败: {e}") + + perform_input_action(self.device, target_pos, reply) + + # 发送后截图留存 + reply_sent_shot = WxUtil.get_next_debug_path("event_reply_sent") + self.device.screenshot(reply_sent_shot) + logger.info(f"✅ [监控] 回复已发送,保存发送后截图: {reply_sent_shot}") + + self._record_processed_hash(last_msg, current_msg_hash) + self.last_processed_msg_hash = current_msg_hash + else: + logger.error("❌ 未找到输入框位置,无法发送回复") + else: + logger.info("⚪ [监控] LLM 认为无需回复") + self._record_processed_hash(last_msg, current_msg_hash) + self.last_processed_msg_hash = current_msg_hash + else: + # 是我发的消息,更新哈希,不再处理 + self.last_processed_msg_hash = current_msg_hash + + await asyncio.sleep(self.check_interval) + + except Exception as e: + logger.error(f"Error in monitoring loop: {e}", exc_info=True) + await asyncio.sleep(self.check_interval) + +async def run_main(): + """ + 运行自动巡课机器人 + """ + bot = ChatMonitorBot() + await bot.run() + +if __name__ == "__main__": + # 应用 Win32 补丁 + Win32Patch.patch() + asyncio.run(run_main()) diff --git a/WeiXin/T2_Identify.py b/WeiXin/T2_Identify.py new file mode 100644 index 0000000..96a7408 --- /dev/null +++ b/WeiXin/T2_Identify.py @@ -0,0 +1,126 @@ +# coding=utf-8 +import os +import sys +import logging +import cv2 +import json + +# Add project root +project_root = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) +if project_root not in sys.path: + sys.path.append(project_root) + +from WeiXin import WxUtil + +# Setup Logger +logger = logging.getLogger("T2_Identify") +logger.setLevel(logging.INFO) +formatter = logging.Formatter('%(asctime)s - %(levelname)s - %(message)s') + +# Console Handler +ch = logging.StreamHandler() +ch.setFormatter(formatter) +logger.addHandler(ch) + +# File Handler +log_file = os.path.join(WxUtil.LOG_DIR, "T2_Identify.log") +fh = logging.FileHandler(log_file, mode='w', encoding='utf-8') +fh.setFormatter(formatter) +logger.addHandler(fh) + +def main(): + logger.info("--- T2: Identify Elements ---") + + # 1. Connect + d = WxUtil.connect_device() + if not d: + logger.error("Device connection failed.") + return + + # 2. Screenshot/Image Source + if len(sys.argv) > 1: + screenshot_path = sys.argv[1] + logger.info(f"Using provided image: {screenshot_path}") + else: + screenshot_path = os.path.join(WxUtil.OUTPUT_DIR, "T2_Screenshot.jpg") + logger.info("Taking screenshot...") + try: + d.screenshot(screenshot_path) + logger.info(f"Screenshot saved to: {screenshot_path}") + except Exception as e: + logger.error(f"Failed to take screenshot: {e}") + # If screenshot fails, try to use existing one for debugging if it exists + if os.path.exists(screenshot_path): + logger.warning(f"Using existing screenshot at {screenshot_path}") + else: + return + + # 3. Analyze (Using the internal _scan function to see raw detection) + logger.info("Scanning image for elements...") + messages, debug_img, chat_title = WxUtil._scan_chat_messages(screenshot_path) + + # 4. Output Raw Detection + logger.info(f"Chat Title: {chat_title}") + logger.info(f"--- Raw Detection ({len(messages)} items) ---") + + for i, msg in enumerate(messages): + # Format for readability + content = msg.get('content', '') + if content is None: content = "[None]" + + type_str = msg.get('type', 'unknown') + sender_str = msg.get('sender', 'unknown') + center = msg.get('center', (0,0)) + y = msg.get('y', 0) + time_disp = msg.get('time_display', 'N/A') + + logger.info(f"[{i}] {type_str:<8} | {sender_str:<4} | y={y:<4} | time={time_disp} | {content}") + + # 5. Merging Logic (Simulate what the bot SHOULD do) + logger.info("--- Merged Dialogues (Simulated) ---") + merged_msgs = [] + if messages: + current_msg = messages[0].copy() + last_y = current_msg['y'] # Track Y of the last element in the current merge block + + for i in range(1, len(messages)): + next_msg = messages[i] + + # Merge Criteria: + # 1. Same Sender + # 2. Same Type (text) + # 3. Vertically close (y_diff < 100) relative to the LAST line, not the first + # 4. Not a timestamp + + is_same_sender = (current_msg['sender'] == next_msg['sender']) + is_text = (current_msg['type'] == 'text' and next_msg['type'] == 'text') + + # Use last_y to compare with next_msg['y'] + y_diff = next_msg['y'] - last_y + is_close = (y_diff < 120) # Tolerance for line spacing (slightly increased) + + if is_same_sender and is_text and is_close: + # Merge content + current_msg['content'] += " " + next_msg['content'] + # Update last_y to this message's y + last_y = next_msg['y'] + else: + merged_msgs.append(current_msg) + current_msg = next_msg.copy() + last_y = current_msg['y'] + + merged_msgs.append(current_msg) + + for i, msg in enumerate(merged_msgs): + content = msg.get('content', '') + sender = msg.get('sender', 'unknown') + logger.info(f"[{i}] {sender}: {content}") + + # 6. Save Debug Image + debug_path = os.path.join(WxUtil.OUTPUT_DIR, "T2_Identify_Debug.jpg") + if debug_img is not None: + cv2.imwrite(debug_path, debug_img) + logger.info(f"Debug image saved to: {debug_path}") + +if __name__ == "__main__": + main() diff --git a/WeiXin/T3_Voice.py b/WeiXin/T3_Voice.py new file mode 100644 index 0000000..1a69db7 --- /dev/null +++ b/WeiXin/T3_Voice.py @@ -0,0 +1,85 @@ +# coding=utf-8 +import os +import sys +import logging +import asyncio +import cv2 + +# Add project root +project_root = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) +if project_root not in sys.path: + sys.path.append(project_root) + +from WeiXin import WxUtil + +# Setup Logger +logger = logging.getLogger("T3_Voice") + +# Configure Root Logger to ensure all logs (including WxUtil) go to file +root_logger = logging.getLogger() +root_logger.setLevel(logging.INFO) + +# Ensure Log Directory exists +if hasattr(WxUtil, 'LOG_DIR'): + log_dir = WxUtil.LOG_DIR +else: + log_dir = os.path.join(os.path.dirname(os.path.dirname(os.path.abspath(__file__))), "Logs") + +if not os.path.exists(log_dir): + os.makedirs(log_dir) + +# File Handler +log_file = os.path.join(log_dir, "T3_Voice.log") +fh = logging.FileHandler(log_file, mode='w', encoding='utf-8') +formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s') +fh.setFormatter(formatter) +root_logger.addHandler(fh) + +# Console Handler (if not already added by WxUtil) +if not any(isinstance(h, logging.StreamHandler) for h in root_logger.handlers): + ch = logging.StreamHandler() + ch.setFormatter(formatter) + root_logger.addHandler(ch) + +async def main(): + logger.info("--- T3: Voice Processing Test ---") + + # 1. Connect + d = WxUtil.connect_device() + if not d: + logger.error("Device connection failed.") + return + + # 2. Screenshot + screenshot_path = os.path.join(WxUtil.OUTPUT_DIR, "T3_Screenshot.jpg") + debug_path = os.path.join(WxUtil.OUTPUT_DIR, "T3_Debug.jpg") + + logger.info("Taking screenshot...") + d.screenshot(screenshot_path) + logger.info("Initial screenshot taken.") + + # 3. Use analyze_chat_image with strategy='ALL' to test conversion + # This simulates the real bot behavior for voice messages + logger.info("Running WxUtil.analyze_chat_image (Strategy=ALL)...") + + # This function handles the click -> convert -> rescan loop internally + final_messages, _ = await WxUtil.analyze_chat_image( + screenshot_path, + debug_path, + device=d, + process_strategy="ALL" + ) + + # 4. Output Result + logger.info("--- Final Voice Results ---") + voice_msgs = [m for m in final_messages if m['type'] == 'voice'] + if not voice_msgs: + logger.info("No voice messages found.") + else: + for i, msg in enumerate(voice_msgs): + content = msg.get('content') + converted_status = "YES" if msg.get('is_converted') else "NO" + logger.info(f"Voice [{i}] Sender: {msg['sender']} | Converted: {converted_status} | Content: {content}") + +if __name__ == "__main__": + asyncio.run(main()) diff --git a/WeiXin/T4_Text.py b/WeiXin/T4_Text.py new file mode 100644 index 0000000..52ea93f --- /dev/null +++ b/WeiXin/T4_Text.py @@ -0,0 +1,104 @@ +# coding=utf-8 +import os +import sys +import logging +import cv2 + +# Add project root +project_root = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) +if project_root not in sys.path: + sys.path.append(project_root) + +from WeiXin import WxUtil + +# Setup Logger +logger = logging.getLogger("T4_Text") + +# Configure Root Logger to ensure all logs (including WxUtil) go to file +root_logger = logging.getLogger() +root_logger.setLevel(logging.INFO) + +# Ensure Log Directory exists +if hasattr(WxUtil, 'LOG_DIR'): + log_dir = WxUtil.LOG_DIR +else: + log_dir = os.path.join(os.path.dirname(os.path.dirname(os.path.abspath(__file__))), "Logs") + +if not os.path.exists(log_dir): + os.makedirs(log_dir) + +# File Handler +log_file = os.path.join(log_dir, "T4_Text.log") +fh = logging.FileHandler(log_file, mode='w', encoding='utf-8') +formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s') +fh.setFormatter(formatter) +root_logger.addHandler(fh) + +# Console Handler (if not already added by WxUtil) +if not any(isinstance(h, logging.StreamHandler) for h in root_logger.handlers): + ch = logging.StreamHandler() + ch.setFormatter(formatter) + root_logger.addHandler(ch) + +def main(): + logger.info("--- T4: Text Processing Test ---") + + # 1. Connect + d = WxUtil.connect_device() + if not d: + logger.error("Device connection failed.") + return + + # 2. Screenshot + screenshot_path = os.path.join(WxUtil.OUTPUT_DIR, "T4_Screenshot.jpg") + logger.info("Taking screenshot...") + d.screenshot(screenshot_path) + + # 3. Scan + logger.info("Scanning image...") + messages, debug_img, _ = WxUtil._scan_chat_messages(screenshot_path) + + # 4. Filter and Output + logger.info("--- Raw Text Messages ---") + text_msgs = [m for m in messages if m['type'] == 'text'] + + if not text_msgs: + logger.info("No text messages found.") + else: + for i, msg in enumerate(text_msgs): + logger.info(f"Text [{i}] Sender: {msg['sender']} | y={msg['y']} | Content: {msg['content']}") + + # 5. Merging Logic (Same as T2) + logger.info("--- Merged Text Dialogues ---") + merged_msgs = [] + if text_msgs: + current_msg = text_msgs[0].copy() + last_y = current_msg['y'] + + for i in range(1, len(text_msgs)): + next_msg = text_msgs[i] + + is_same_sender = (current_msg['sender'] == next_msg['sender']) + y_diff = next_msg['y'] - last_y + is_close = (y_diff < 120) + + if is_same_sender and is_close: + current_msg['content'] += " " + next_msg['content'] + last_y = next_msg['y'] + else: + merged_msgs.append(current_msg) + current_msg = next_msg.copy() + last_y = current_msg['y'] + + merged_msgs.append(current_msg) + + for i, msg in enumerate(merged_msgs): + logger.info(f"[{i}] {msg['sender']}: {msg['content']}") + + # Save debug + debug_path = os.path.join(WxUtil.OUTPUT_DIR, "T4_Debug.jpg") + cv2.imwrite(debug_path, debug_img) + logger.info(f"Debug image saved to: {debug_path}") + +if __name__ == "__main__": + main() diff --git a/WeiXin/T5_SendText.py b/WeiXin/T5_SendText.py new file mode 100644 index 0000000..73b790b --- /dev/null +++ b/WeiXin/T5_SendText.py @@ -0,0 +1,80 @@ +# coding=utf-8 +import os +import sys +import logging +import time + +# Add project root +project_root = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) +if project_root not in sys.path: + sys.path.append(project_root) + +from WeiXin import WxUtil + +# Setup Logger +logger = logging.getLogger("T5_SendText") + +# Configure Root Logger to ensure all logs go to file +root_logger = logging.getLogger() +root_logger.setLevel(logging.INFO) + +# Ensure Log Directory exists +if hasattr(WxUtil, 'LOG_DIR'): + log_dir = WxUtil.LOG_DIR +else: + log_dir = os.path.join(os.path.dirname(os.path.dirname(os.path.abspath(__file__))), "Logs") + +if not os.path.exists(log_dir): + os.makedirs(log_dir) + +# File Handler +log_file = os.path.join(log_dir, "T5_SendText.log") +fh = logging.FileHandler(log_file, mode='w', encoding='utf-8') +formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s') +fh.setFormatter(formatter) +root_logger.addHandler(fh) + +# Console Handler +if not any(isinstance(h, logging.StreamHandler) for h in root_logger.handlers): + ch = logging.StreamHandler() + ch.setFormatter(formatter) + root_logger.addHandler(ch) + +def main(): + logger.info("--- T5: Text Input and Send Test ---") + + # 1. Connect + d = WxUtil.connect_device() + if not d: + logger.error("Device connection failed.") + return + + # 2. Prepare text + test_text = "我是AI返回的文本测试" + logger.info(f"Test Content: {test_text}") + + # 3. Find Input Box and Send (Using perform_input_action which encapsulates the steps) + # We pass auto_send=True to click the send button + # The function will: + # - Ensure keyboard mode + # - Find input box (UI Tree -> Template -> Fallback) + # - Input text + # - Find and click Send button + + logger.info("Step 1 & 2: Finding input box and writing text...") + + # We can get a rough position first for logging, though perform_input_action is more robust + screenshot_path = os.path.join(WxUtil.OUTPUT_DIR, "T5_Initial_Check.jpg") + d.screenshot(screenshot_path) + input_pos, _ = WxUtil.find_input_box_center(screenshot_path) + logger.info(f"Initial target input position: {input_pos}") + + success = WxUtil.perform_input_action(d, input_pos, test_text, auto_send=True) + + if success: + logger.info("✅ Step 3: Send action completed successfully.") + else: + logger.error("❌ Send action failed.") + +if __name__ == "__main__": + main() diff --git a/WordAddIn/.vs/WordAddIn/FileContentIndex/9c44c669-72aa-4937-809a-8bcefa1c2b8d.vsidx b/WordAddIn/.vs/WordAddIn/FileContentIndex/9c44c669-72aa-4937-809a-8bcefa1c2b8d.vsidx new file mode 100644 index 0000000000000000000000000000000000000000..9020135d0b4f17229913d756da645eca5907c372 GIT binary patch literal 16098 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 C6&^zX literal 0 HcmV?d00001 diff --git a/WordAddIn/.vs/WordAddIn/FileContentIndex/a5811c8a-bfee-42fa-a8eb-ed30178305a3.vsidx b/WordAddIn/.vs/WordAddIn/FileContentIndex/a5811c8a-bfee-42fa-a8eb-ed30178305a3.vsidx new file mode 100644 index 0000000000000000000000000000000000000000..3d8835092cae895e0302864216dcdf3daeb45e5b GIT binary patch literal 280270 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
- zTw`cuKkA|5G(^|6Wy-gX%~Ib1J+1~lACuAhW1r+Fpz}Wu9p`d%KdwUe{Tg)MbK|w~ zI<)=m@qsu$K8v-fe>M4gSgtFy->*{sQ}SQX{iqsN8E++Yef7}tMz{uUiT2YTSH~{N z2cYf7qV1-~-O&9x5S{OAwB0FK7tcrc=UVi<-iIFlczhP?lD~oO!<+FfbbTM9>sb^R zqsM=Pw*NNe-=pLIj-K!3ss9UIPo3eF_pr^-<2Fa<**bX}^!P4V3wxvEZkzg=Mx8}VLAU;m-^e1-;w+wbl;xEdiW;V-$&@UU!eQ* zL-Ie+b*?s|vd)drc3YvxwL#b2HhDL6{2s{%Bp(!qpyz*7@-b+CQ_=o*!8P#!bpA)8 z{m+R<#iP;VPDy@hJT2wtC%+(G7%z$!$4la+@iMgE>ylre{Ej#;E{M;e>wN*8@7w4) zK1SF1IXeF@(0-Sq?SDes{gv`nM^@UchPGP^ZPy^K6W2rgZH)H25!!yM$ zTcG{6Ox`NCj%{Mw*em41Z#GO*V3%W16#@$lB2YP-EN`6Q@EFKYOqtE}d&~YwC?}w|=@2$Jg{_l?WpzFUc z`Tfb~C4VqJ6d#U{pvOHH=cjxDI_`7HpHKaZ==|SF{l}?a96yPlqR)w6(d%S6I?mtd z^|tz`O8@oI=f~#BTcGRO25sLe<(-muNqyJY4c({V$w%Ot%KGjUFbaS!L@J!+W$+*7ozPyL)(3h_WMQrGUZ<<{{|iZH}tp_vDWCy zzO0Qt-`7X`Yl!x@A=-WmbpKkS&+!h}7>B2PB6{3p^tdT;YMh4d*S^X3L)#w^4~mCi zeacTj$2}A6@2u3Hll)xt`{4p~9(SVcAB<0+{Xc~s|9|o6_)O}bMaO#wJ^tg=FOHv} z{d^Wbk6)(#tN3;NCVm^gi{GRB_A5HhKPg`k|4n)AF_rqY(Rr_f?)%2cH$msKS==IS z8Mj7{Yl>bk9g|n1r>UjI%b{eq(ffP0{|Fq1VYa$y>%& zu{FBhw#nPY_OV0itCM$1-X(e0*e!OCJz~$;EA~dm+ctSk>>K;V{%E^_$p^*3aY*Wi z#Sw8-9D}ZZZ1VBwb7ZHK?;LkY{cg#3k9(l!;ea>`ozIc+D762hQ-4bGQ@xJ%~+Rqc{{GLajTQ8&6+d{Oz58{XMBlP=(=X2&!;2MzjvM;Z$QVp3GM%GwEugOKa%>#(0MOFzYm{5+x;))&nJH& zz8GJMFUMEntMN5--xi|t_%JR?{m1CMe?a$VS?d2nk6UegrMv+;pS96`){X1OhOrU4 zpH0zzJEgn}y1wq{KJ-KT>mLW8{SHFsF&6D-2D;z7BtHN>?!b6ZJUAW_4@Jj0I{7hZ zzo)1C0(88KQh#y0BwiXXL)%>uuZq{;I+Wjw&gVY#x?Pa`iTEUXeLRD%=MA*Kx6u7v z6u&}`{}rA0KWM)z;=i$KLghZKjn>zRYoN!ii}t^MY?$)R(e_&;-v%AOI`&5AHw-;~ zMDnSr-v#Y|AGDu+Q$IW9C!qbEmHc9~-6hHA##`fk@iBC~`SFSPRO(+${&MnnlD~)c z|9Cs)I)6yMH2I%#rHPesS4P{_O2EN&jRK-+Jbe5<&1Y#N)z=4ktEVk`9iYn%FZv3=}-wy#FN2YRCO z8j$iq==mLk?)%s{F7*>|UCQ@J`JT8o`7HFhIyqi|e!pFd_H!LN?hWxKblkh+!)Uul z(D^@(_V)rhpSO~Kg7)(ndY}Igmth0)I+H5nHjG=N$G45$&~f{s~N1*dR5(E0sed^$dp z`e&0rm;42Eyf@MLe3be{sb3sFP5Eb7_79!!Pw4fqEcxH)`2V2u{ufUly;3SE22%j@QJwslP7y_3?(3-<163cuTxB-WG31 z=lekNdFXteNd9E%Ux;s}{H^$Qdysg6~9jXx5>Xt z{zLMm@yC?^ocx#Mzr{aN{wI39RZXev=Sp#9bl$6?=Y4JTerbkYuN~0+>4CQEmGZ&K zhoa|aSn?6*eLWuC$L&+T1Nwa0Hy)YtqtNHs*=RrKpvPT?_A?jV&zq9piO%OiwEaWq zyr04K@cq<(iq8Lg+!*Ujt*n1-^!Ubc%h)P*ioMZ!3`U=GlT*GUHX@&euIH3^5jx&n zEb~R@cQe}0z45X5KeXLT=zQLei_qgfM$gxm$-lz#9+Uhx^tcsh|Fx%8*1s`&{3d99 z)7UoU?UHv(-W@%!J(KrJ{lGXX<)h=6I5zdu(0T2S&f@@dUyerSaSXaIr=#CvSE2K| zDc+5)^C5IU=BNBww4b+=FGBnO3Z3saX#d~F@8b8VUmAakzoh=xF9cPL$9wxu_2y`&f_Zd zJ^v2$xI5AD9z>6O67Bct)IWpe`o|3^|0(4^qy4P3UFG;S(Ec|<=hrlO7qq|bSgr?j zyaDKW7>CYdeCj90$#H7xr=k0{N6KfS>zjq^^V|^aza@H~_D}stbiGs1ey5@RPDlHh5qC=Y&gi}!nDRqX zerP-_9*$nW$6yn@7QK#dM(24iI^O;0cn_fKoR7A9I_1x#{FV4_T#WYf4SK!)j`s6M z{4*|#%hB=vjw{gdYR#w|R~yaOj*ZcMYmW9`jrQLuc}?=Z=yAj1_>@nG6Vda$Tk_rG z9%%oEqVqZ&%YG$4F7@XmKM(Ea+LYgo&gUL<{72C9_)L5a?SB!vPhTbf9leg~?oesJ z0ebvqu{qjri?|JXd^I}1p2-KI?FOOqAA+_UhnA0z6VUP*aZmJn^k}r*G3fPvF8UsH z9XjuO(E5Aheds(Ni_gSY;=6G%I?u1r`~GjVpMT^9*>B#Qh$6rBjsntv*OwDoOo_LFP@Li z>%!z0#f#%5@lv$i`}7kIwsXTnXo+$32nq=TrVd%3n(Ua(o3{|CeY# zKc@Vr_;dUv{u+OazsEn~pXm6@lm8X}PWcLS9d&l9%y*4gH`c?Isb4ELNcq}v9dw=> zrGAr?Z<>7b)VE09GWD&Jw?XgI-YM^c?&FZ;LvdyD;mJp!<4sIH32nb4u8cd!U2!Gy z-IDK-e9t&D?u9--4?z2!6^~E-3FzO4PC@UJbI|Af`KiAEeZRaMSH>$-epS30?f-`4 zH^!Ud&GD9aYrHMqj;?QB@(1HX@!|MLd^A25ACL3ng7^fkOutW|>wXb^j=YcV+rsz( zu1x+>@W z_D;S}^8J$UpZvh&2PHow9+vXM;}I#Jjn3}`^!hq2^{1!)OmsglPWdG%zbyIX@d{jp zc2}eGoExu0_xXCXpF5M^mHK;<-y82s`2)%4#Rua<@!|MLd=#DklgXb#=kav%XV7)N zlKfTlJS|NA0j@&6DEY^6G5Q|zUGneIetySQa9R92<*V&dS?}s-yZY$gwbx7e`slnG zrhaquzHgTD7U+1L(D`kP?q3bMf5XuC*~w@>Q&T@J`F3c3yCmNYo#&otKQqyJ9Tbm5 zuj3QY{!T*Mog7bzr^eIb>G6zsCc4h^(0(pJ=X({dir1q3UKg*AH=ylrinpNm;X~*? zJdO7AO6p%rzA*WRXuGe_{=Y`|=XdmX$6C8q`r8Dp-xR%0wnC3J#P27C))3U==a!h=y=DY^ExT@XQT7J zJoQ(g?{Rk|zcclZp!@hdx*zYL{eFRt`xV;Hud!;k%Jo(kJ+5)`t_mt*?(Bw>CQ8jnHv6j+>;sS!|ExzCh3aK(wDRSR1EcSufhp9&t~!|AWxu4@J+< z(O4T#M(fW-k2^1(kG07!N9%7$`HkrDcVR7@hh?A8>-yc~U!{I2di=7u%AS>Ztd5RX z3q7tOx_?cRcSiT8E84Cby59a+2S=oQBzhjFrF<9kxZRTPhaSIwJOG`~Y_z|VQhstg z1zpdj$uEnS$1CEM=r~s=zXsjk>(Kl3A*_Q>qT{`Y&f_KYet!>Zrv(c@O0S?OmjwBP!%0eW1c^#jrKIwJW*wEs!y z_)~BV+&SgDpvND8jyo&mv*VE|KM@`G9Q1y>KJ_=m8_|8a7aiw*w7=)BHA z$2|+}=bF^tgNxmw2UDZlnJ9*vY_2Qc7{2C_TFnN>YTgI*8)~Rosyd64D z$K=(qQ|uhOpySk_`#3a?i__8hZ=ZbkxIenD2PB^rk4M{|h`x_pf}WS_Qhoz^+>N*< z-iNmPAKLD9^zUw8qR;m~(dYD<`&QaF#(LyU(Q%ri{k4eO;9BHelXpYc)fXLS0;b=y9*2c9D@`cGiK>z;sYx3XF=iJ|D|0`1d zFFOBq_pi)%v)B^rQ{Ek&SC7~;_KLmHbq+=Ej}hoTO-9$ZBYON!ac6Y=UE}U(yZuvt z05%{$7VYl@wEj%ApR?lG==FDP^6Sw3za#mb@ve9``W}3L@(0j<=f`JL{#<-Mp`8~<+O@4oz zhpyw{)F51t+DPMv1TkF8e@wL(U zuMz9TwNhUn?SGx*>&Era<2HyJro0i_f0N`}CU1qdZ#7xa4DH|6`q{o?`X`^lln4@3JuBKfR1J06+(qtJd&N%^TMKRx9a zCchY+_cbZM6`kL0@pkmOxjXqi@!oh}ydUl7@#OR4g7`%0pO0_E58{&eef&NCi_WL& zpi2LB;yP&gy2&?=Tc^Bf^0w&p)g9fB{@4J=qxZ$msoxj9{$`=;I6j_%9(PgltK-dR zzxScXElBmOQa-vAxI5xVb9ac%69`mVSR`A~HH@#y>}qW$lb z^1adV_d)mNV00gjj;Eo=Ux1ExCEEU~cy+uc&W+c`>*Dq3@6cP(`96sD`()~$Li>L) zzJ<bHuHVr1D`Ks~Dt}kr4A-Z;8r`o!=yP}&x~_@n``>=aXQAtvjrKnW z?e`?~e!CFe*BjAxH=)m`2hsPGXV7`Rj;`kebbjBX{Vhe$_s_|HMf>?J{*La)Du-9f zS4GEN7oB%QbUvHM7HIp<=(v5+`HV%!nSk~`G4(s4{T+a=|HybU+V44N`*V|DhW2+W zx}N*d@t#cnB6{3g==$D?@1gy?9~Yv>FG>9u=y6NqpJ@AKae4d;?e`z__*zF)@;c}| zHbDE?44r3NbbY;3J}8bx+i!=q+b89R#-q{kkBP^k;~pPRO!-OiWOP2~CO>c+(`#UW8;qeG`{+n~>j8uUC4LGP#G=zeX7u77uQK6{|o)#2zojz^EbDEVBp|69?0o|k+9 zI{wS({rx)H-y7(7Z=>s9f*${U{5}4Qwy!#}($89GUOzTK`&|$Her=A9U!D3+*ob^& z@=>Xuh8t3T5IXLW=sZtDuiuN&bzY0k^9FREAB@kV$Gw4G4{xEze~QlUv$!OF9>0iR zqWk+3dfdP0yz9=X^t&E9Zo}l8qy27y9@i4xx9%zLfgV37`QSJt4n^lXF8TO4A?4dA zpAmOJ*R@mX_d>@#B=v`;{_x~S#947RI^GG%Pel7WIpyb|>pMU77sLxwe-+yPnv~Ct z*QWgXH|J#HxaoE?kyKOH@Od)xpIPWe&jd+CYs4D|R5(f+SX`K{`WmmSgZdZPXJioIi>xGg%re(3ochh7gmp~vkUcR{bCJ` z`=IOI4_Ctd;{j;9+30yW1#N#WdY|2bE8(s2Hgudj(f;m^_on_nbUsg`^LrJ&-abM1 zw`0D_jX%$2RDA?a||E(D@BT`<;&N^Gx)(z0h?Wj;`xCbUx>! z?dGE6J%}Fve9GTN`(2E_=lp_>x61LA{u-e3+ZbI}vy@k({q{xQJEmb{JS6qU#k0}= zFNt%}`~K$S_n`B?7gxsnQ~r4TA9~%qlKfq?{d?$qK0|*O{+aS+=y)riP_ZuBz8<=c z4bgELr+&-SZxy#reKT}Ft5e=7c20fQ{%*AW!^xjP_v1BmeQ%)SeT??E7+1m1k}rv$qy7Dq`d`s` ztw5iL8=Y8LUpus)_P8o`LdWlojx!9suC_zlZI50ThoS9`LHj)oZGSO3?se#OdOv#H z192X@o+pz(g|>eM?eE=`zlW}OVah*C`I3}>f!=?=p~tUuQlk<)@%8uy+V5NF@gJppQT#YAj-R0IKTEy@ zy??$+{&oB&ejC4w-^U-~QnbIH(Ccd%I**l4saO}??|RACPrgC&&Cu(#+!)=D&9DwONBe1k zKIeL%`!o>i;HWqmeSg>=9e)mb+)=4N86Ef3l%Ez)k7vX)<5_6?bK-eehx~H1-z(7l zyE*wS@m6&HcO<_v-WBhT_n__WNB4Dp$`_#f^a{Gp_tANLkophfM{!a77;XPe@^8_8 zmZR5G?b9mP)5d6jo1*L3EN-6iCds#qTg9!h4(;2Z$G1cK?}M(RFM7RBMBB~4HE>V# zIW;Suj*fdqJQMBj?BwU5=kH3ipBvGBA4&bA=)OOj`qxtadVB-z@2%u-$9Lkp@jY~2 zUnlk4@xH0LbSoSGyj&&(-nYmNAENy)O8u89|0?-Uae2!B zihsv{Qos5cmHz9;4dWJZo7ge-#M+G8A02-ndR+{PgX54m6m2&=`H1AB;+Qxt_2c7& zluwFN;d%hnru@9*7bL$h`Ni?lczL`Mo!3?I>Ud3@i|+e%$*+$$#2e#H@n*FB zt?~AFXX@`teowqFK9Kr(@j-O|p1^we68e1n0DYc)h2A$mqx1hI{)&$Od-6Y$FH62W z`QLE`I!>)KEB(~Qy5#F(Eo_X|Z<+e7upW84BqHbCchi{Ql&RCw~@Q*BkMp)PIrsACoUjzRFpZb=O1t z-yr#Bv3YEt`X0C@?FOUcj7$CWxGTDE2cY|KU_2-ujPAps$q$Q%$0OpbI2&z0C;3tF z=#(EDkB=wDlhN~XT09e-&sp*8cuqVwo`;TiLGlaZMd;&MvVA?Qax1{us2~gyfUZ_mh2+ z?}xs>9E0xX>FEAnjJ_}3hV}80)IWpH=YQA$-$BP)g7&*SdF^v6=H9^mJH}w5` z7`ndk=z4ZcJ`>A%L&rHJ9-8uFk{=t7L&rY{UGI75dM`?T2|C`b=y>;`{oWrRK*xV7 z^)JS^QvY`HMe$2qo%Y|O<1IzU{|8;)dgoR4YfE&0I->j98y#mDI{xs~Pe+Y z=zblG9(M-X&lTwTxI6Waq5V7_=cDs^BKec?srY~Bb@jjG&nAB%zKo9d9=iXZ#_!N^ zzK=h|rD*%*=(vBU{GYfY4n)tF6GV8>%UX-!EqYe@2=?i zI}~kq0^0vc=>2>VI`6B|_P3z--#qlVXVLw6Bjq2X*Y~&R_$%Vtmsa}U4DF`{+D~Wn zxzz(5r+*xQo`;cfR2&`0#IbQ)93LmdiRgMJ$Ehiw7N^JU;`VVy+#&85cS8HyCHby# zx0LUZd{1;=4o>-@@$fhcUEgf<{2i6@W8!hCKR)#*q5E@o>d!^5hl|mEE=l=i=(sna z?e9$a-DvxHX!{4_Luk7v;|uXk^gMlpwqF!Kj*HQK_!K?<+mwHo@*m=l==uE(y)IU| ztn$2XfF8dNdi+M{cv~lL6T6`E?uCBu4nXhMA?Un@#$o8XCnleS_PYZ*?%v4{L9go* zlb?lN_gAF+cC_C+(DQP4@_XXF=sX`o`+Y9?8>xR29rwfdIeMM{ocdqT@m9LLvaVX_ zyw^d$2e&}SZ-TaKm--&)e0rnn@0;=wX#0`qy0(w|rv3ZI+&FF$H$~6?=CKL7uBPaDZiDVi zH*|g7V~^M~_KLk@AN07PX#d0G$kdNYJ|>Ps_ibnNxP8%e9*Lf}Qt(dxh3Ni%gpT_aHpZ2&to(cLW@tZ~qsKKzkL!fauOHg~ zaP<9PN3{J;Dc=jdZw^TLf#~ZYKmVqF zjjJko-B>TKi5|Zp+W!`~3HC$q&J9^xK=y3<3{hy51pA#=d+g*?D+r7yjkI$jk@oVUD z@1yJZ0KE>sLf`Y3qxGxIt&}%F_p33wj!n?|rYUcS_R|4Z!j7>zc0%jB#BM3?j`q_J z?SDk-N2Pvr9Fy{K==c*;J}Ko>(BpST``bJ9`=ICV zKaXF;FXLD7YxMi&`{X~wrRaSBOuh`A@88M)LFZZf+RC_f(0o0#T|-x%;`n`2*%FjfvlZ(;$ zUyF`^Tk0Q7{gdc(_I0$~hw)4FKKT{B|7u@X$=65QZH_+g+M@SgFSP%G=z4~t(KshPx&1w zzboYr#V67Aycpj`$9X6DVzj?cQ~p_855 z_(#f@C0`!@LeE2;>nq3AMbF=c=sX+6#<&XkCg{4GqQ_OE=d};I&LQad!_f94(d%t0 z+TS$v{Le)DIS73(IU@OS==1dg^uD+PJ^p6&I(5<)_5IL(hok*XO!=hbJEndn zu1fvBsoxLnZ&vcz=zg7+@(a;%=c4E7&Xhllj`M%$e4jzvy`J(9(D^Ju@5?{Y-xCdP ztduv3O=3%Q9-Wi-LHiqqexL7-o{u9_ehNDNdDswdLHFZf^g4MK9sf17-9ohg&(VIC zr+$^2D*L`F+I~%39oI$IwSH`f?%PJ_{%nJ*VO#XPwTtazhuASzqy6_v-W%w9W+JP-7I-E`kpibeUID$H^ZaR<4-}`pNjT>KHBcal;4ET_W`v1 ze6-zjseeAcfVO)NJx_~L{&8H49`_Bp&fn4fSm~C^_$#CR*G2njl)MQ#zb)fd=zdhA z_iq<;zq+Nqd+ZT=roMObK5^SvgLOE5X!2p`JSU`ldvv}t(fJ;N&gW39g>%sMC&zQq z`J9ioyCCIPq5a&7b?`p)dVLCA$1~`<-$d_&uh8@G7rNfMw^r__Cg^oljdieB9EgrL zC=N#FF*NxwtW7>H`FM0aGm`Is&SPhEp8KVKR_bTt8kC=y{G@m?I?k!+?~=>V>+mM@ zeey|kzHee#7ux@?xCX93kFUC|;>u`wJ#>Bz(RFQzwriYxqvV^Q`_L3Uu3hYoUWePF z$JfNZu^-xg1iJ6jQa&B+Z`Zglx-SQ${y=nnM<+i9J^rkeUyiQ#4)nY|j*dSc9q+m1 z&&L*#fK+=VIs0DX=vMxW1rqVxC*ZMW*}mHnxY?#tTfIP1i9Q@%dhepB@PH%)nS zbUqzY-vjNxH`-4htcSzUo5kj_McgK~jIGdp z=oEX$L2)!X&KPuGrlourbR9EOzgNl+PJT!{G#-ZT#}UbAB|kFxoa9HxV^e-y@)MGu z7*9(1DalVwemZ)-&qD9Z>r#I`dY*ZUBDD!=O?a%9=9&~9BhL2*E;2G(DPe^YvM?>pGjB`cShUqi_Y(GTnkT1`MKzESE221 zMUTHPJ{F%r=kY&ueb1x)y_x(Sw4cw=7xkrM?Zi-X1CMi9W}M zqwAl5?&prF-znvLCEptzXW!)erT*~bN5omU7VS|(^uHe3-zKps`uy&S_TMdbN1va4llP1L z(f$XUw~duSEKKf51{j#7av6XeG+Z| zLdsu6=l62*SK_NFe?9pd@lAAIAE*A4lz)o$`)$g)uMc2Izd&LHlch zejm0#$7!ANUg-G!a2=e0&Tj_VZfA5JyP)q0dnTV5_lkSRed4}xzqo%qARZVGLf3OB zI^Vn(y zyG@dBir!b-pvP6GzE>QG-UkzsZ;xId`zAjO{dbWIl3$6=^J;Y5YvSB^ZM-gCkG8)t z`AzX=bUyduy7&ybpRc8SA=>{3=z5l*`}s3^zt+CLQeP*ofsRuz`I^b=CvSkRb2D_D zZBpJcwnC3@6WhfOsqdJ)Q}WK}y!s^HHrB+xv0v;T2gHHsc!QG^CO<6o$DsRuTFOsPej$3_U4kBWS-b*04_BuCn&fj+e_itH z;|=k~cvHL?o##Dh|Mw+-Ectx&I(;F&gO2-d>fc9?|1{;FrTp{cU&Jp{{&oB|exLdu z;?k7=l>F!TOZ+wd7JrX_pz~iA|BC;leg!(uS`Sog5F4S_-B#%Lc`I~%tz($|sfcE!f%AZR9bo^h+pGB{y7m~k-uH$XA-$g0^I4(x}{WLB?+kKyWDLStoQ@$+u za@>OQjpkMAH;$X2{cVI)^ zb?Q4M?~RVLZOUt6U-bSR5htg7N}P%wH$C}war-zU?htp3JE8O37u|=$Q+`C86=$RU z&q;n%@?(-8i@yJzjO*d$=yiS_dfW}k??A8fJJJ1k5FPi)lrCOGvyb>t5beWoQv+m^~rBQkG~7;|DlvW93P2~qWk%5^5@X@ug8Vx z`CF9yOZ0mB9^IE8QvOG*dbrYGJ+yvJbRG@Sem9RTVh8m6_DVi5j*64xj&Wu@2tDqo z9U;NqNgyo%&Ab{JNxk+mzSDzUcWKnS4|n9mmA6=r~i+ z{-&pVyW}&H?~r__pU{$bK+6xc*msv)RdnVPe;%5MQFQA z(DhuO{Kj~5ycHeq{^aw}=iUp+Uqbi!Wwf97(e|IE{&RGmKcMebe(Bo^z zI_UTL2Iz5{q3>ZG(0+TO^X`ov*C%e9^1jLYp~nwL*E=cYlhNa+#_4FkyQO~jxCeUt z0dW@E?u68zh>gjwM%R5?%5O*K|1jGA|5E;R%3nw4^I^(ALdW?c`IpImO#Tx(-(OPx zcgp`s`M+_c$144-f%d;XdR#+vpEgYW7Rj3=ZyBpo-YIrYc^|Z&n%EEhoj4ZlcU&Bg z?!yk~`u9Pfa|fjUKy+Sn(Eg4_pRdQI{&;jB&Pe@PXg`;u5{qON#wBM@7EAv|!%~y%5qT{WZe63g?UC-Ld*NN+QDh4$Mt<;`OA*dlHdTgFzgb!>z7(=K`YgOd+I+YL`XB927&V^Z?TaY~#Tr^V@LzuU(h(Bt=v z2gcd)1oS+g7*9(1+3}K;Um7n%=XquFtK!x18g%??(Q$7}`R(xz^ttdL+V0`_XzCw} zkH`6OL3|=U8J~*(7oSG&vscl1z7gL}{X6m9_+ETJE{q?b^ZXoL#}6rA8h?yGq2v6D zw)-dLE0WimUs-1zw0<4*{%e%H3A+DV#;xMkv1x1;o5vP$o7gh8imlQ8ZJWFuI)1n0 z-D8i~6J77X6a-gsZUKR$rYbAEg_zLxse;~VkK_!hbk?6qH0{#c;d9Gz9kMXab#5!>`rV_)uO~!CAKfIQr@F{?p@;W z62}v_q`xLrTU9kDHp3=->Q8J@`e{*RKP{@-lxPnvs{MbGqIE|5=umpFU6ZPgrKDr2 z?^x#GkxiXBVCI<8Y`dey9-A&p`G*U$$XnIZ+D}2Dd}DM=}nC# zH6`{fv0sVqSZ~gbad3(5Oz)~;CA!4EcE8g8YdC^U=v2N z|C+L{nzGw9RrXd>_PM6)b4}@?ru0x#dZ?+IK%2g0XZn`4_APVkTYBhQ+Vm}L`jxfx zD|7BwdhS2#g?)BeMhK zj6S5a8CpgkR(cy=dKk{GG+~{NKD_icyo^4g%xy$zGosXvD77O}>)9DmHHA2`v>aJl zjw~%lmNp~Hd_1pB$Q@-A>oa=ZN0nKPDk~aQRy3;2a8!<(NSo26=h3C-(Pi|}rRCUC z;=SL5+#MK8e@)8Tj9ww*O6|CE9>Y3CRF0Zd%6)1yVGMh4_l-Ke+@aIUSlg8+)pq4x-mc1L)DHaDq-u7# z{%4mJ%`SKU>~daam(gc)cDAHdZ(@7?+md}8PwY?sThd}A(d%$aX4aqRx!98bvt%su z@wwTh#K9$wBDxBn8Ldm~Tw+a$eM_8P;%s7bMl<#=aYTuuOPpBZw5qL{ch?fTRW)VT zMwB?3IEZ;R10sriJggl4;n4+P|Cepn)7W~ ziT(LpUD{Mr=I3f+r&7|X9M!3`>|AO)m)g$U5zQ&J=dN7a&ABrC+>>+HoO9{g{q`}s z3cr1fo-eyT6h)tjbL=&{1z};>oebI z`_bht7+q#QntDrYIl9cv=TCD+vc1oI5Ni4qpWvEId(=FYew4G z^A6?e@>$)SXZ2Xl^M7xht;*-NCH5$>H_^MzSh;W7m(SHDb}q4NiGxZUPyDYxKlvVO zw6|8=_ui{LOROo;E3{3SLmO7@J?vb%Gh2_beGgV-wAS}S@9H*0uhp)E7}hrdJPzN;F;%+ z`_0t9#1X{GZw&Rn-uz!X{xfzgvAV=gM8C_7*80peb||qcu|p~8P>%9xX^G_>8Pn*v z_Gq*pe^a#PnP`bmQKNnOYr<&TYMzirXWOat(5aMnV!ti1ymM*axs-Ha4_h;;BX(t# zMrYEM-8K#&cB4O|bL+`&x8@u;ici2p8I(Sv0s^OzcO2&x0Vbp zaTKwC8PTV!pDpo|(RKMmZB1X!VPF~ECu-|*owTMGd-G{&97*&!*_!911{|^k?$~;yRM<7=b@$Np{38ErTtLuKWm+Xcd^l< zhL+h5Eyw!)(}wjpbAL4(D<#g~ccC`S!`cyL&ffcew$?Wyqdku(eU26?eC=&=(@OMhAW*|Gd(ZFGlyPiw8GB-{U7aT>9vtimUxpPh-ncZ|02 zFKlgDo3%dujF$8(NA*KL4=&MKpJr{@U)Sr?%;*|@jv4LKCzWwziLTn`Qd_RGOQcfHX*z4wjw;9YOD&B#(dvdq@|y)C)>>D_I#y?+xkx+3e0_At8afWL|S zY62Uct7URA%nI=4ab`ml++`zj_&4msnk5 zrxM*^?>nRGol?%}jMAsSynJhEQDUnSdzaXU=-)T|<>cSr{Uv1d-NoND#_fo{(fgJ& zvcz#E`iB1Bd$)Jk|9?C7bLUdxTc>YT#>$(KZ_xj}zjP^|Yf2ng;sm1iv2k+ISvg0e zb8{BP%E*;oD@R!B6Ts+v{4HSgU8x=SyU`Kbao-#L8%8^>3ZpA+$6gtov+wl(JxwY- z`m4bbcd|WKsc|Z?GLpX|{A|{tjOf2aI0NV3vGmrlwCPwz>{!O~UnQ)yH{XDbuEoE} z8113Dw5%?(s^%)P#P+`F8Es!#Tc^^#Q(0H1GKzo0@!wRe?_B!nT>7azAG?%&=)&{Q z9dTFvbzyXu{Pp1;*?(oHx|JTfl^(j4nRnxQ`~N%Wx${}suBun*v!;w*Q)X2|f9|h4 z>^rA%P>F+yzBg9(-RK_rW@z+W_=If7G462x(&vEkc|h3*-`3i(FWyN5%N649Oh4O$ z?`iEAX)Muqp?2k2)Q;=eJsHVe*p9o`QN}Q9qjMWuT8=HX7dKulnGq)r6TAEX8=al)(Df5|AYUfbn?*YG={Pkh<-;w-lka1jzI}pA5+H<7k z{ysKZ?k`JYrxN>?IF{(|7^Byvzc7qmmHrMe`peJvS>vD*hm=@3b`qbRlhLuf``qsq zCAKQjUcE1kj^h6rE7yMI>h4@hocVueY+z~Szv}&WgrEF1Wb|Lv{553kS)%8;eVM0s z*?<4?*MZgl_q*NqnE&oZf4TeF9y*jA^EZ^AE64h87rw_Bov;5IX!NL#WoNt-{p?Ow zmr;B-^0V!$OB?S*Kf8z3<&0Ew#{H|SE&Z#h(eu)&^yY7TKRbuYzi9e*C_lT3&gCfY zZ9hAc&Sf9`E32QUm*{okZ#SbYy<6Lt|1(xTdp7;|OQS8jm6>!aefk#zOKjPV|J-Hg z*}crLds$0&u5yF=b9Tq^w)%cnHo$SQ{uSN^SCmT@nxkG%Gsa9-PfLPvEjt2{MVj4%Qbpu z8SURY%jk}IXZc&YMTxCS^v%!vt3$cJjN|z1H=WUz-etz=B_2iejx*ZQJI=p-5iaK)cEODM4 zOAr3d!S6HITg_Eq^lw7dJRkgfnf>@AHF_WT9aQ-@_{#U6(PKNO+_`lrM|CMH>Qc(P zl%D-7ZRM|TM*Hl_6=HNPUCW5wxLP|fOZV1qBJX_1?aq6jcfM!bE4f2yVRSwW~MBiGCw)fw^I+VM@IF`>7N_&6Vb>Jy8l<1pK2d;0|<&|%AK6A=$ z%;C=P^Bm5Z-zmo4M6Y(wbc+%#_wUpGJ$N|Ll^833v+P?w4=iys(JR?#t=}NVQAEEH zjMjQh8tup2XnWtXjE?B{yjPedK8L*e{9k5x&ly{l=$oVWhtZzAevLjIy5-J-DkDY`S`>(x&uD9jgyI$w>RIN{OlZjN*itI z^=WkN{+0H>w>qD$es-+xoXL*mn(SDvNxx}adreujf1UKRGx7Q~4lQvU(I;(3u20+e ztz&dmUbn_ECEC9;_6^c`4&oX#+K>P0+L3F>=oM(Rd}JvZ&C|7G>BZ<+{thyZCi)!i z$n1L&Cztj5Yr>r!LG;bXIEm;rY4mJ*O&WVJN1wySRwcGAu~Oc%eC|#3-?6L9RqDUh z_`l2XS~c3ze+lvXcpTAZuhIV{PUWw~UZ4McPy3$ZXV0#G>HO~<+TZtn9$DfkKig^m*QdXHJZfMW%fH7~bG3V> z{GD9Q@$S{|a>o5%Y51<@evYK9nk(CW#+8}-K3~lh?ph|4T7ReeRyUgHyRXsq(@U+_ zd3CwYjh<7VxBkt&1<@<^zu#j%SN-hS@-5vsp6C_(-}|C}CGwZsSfbaYu~mtc-*Vl` z=gPa7CB7BH^ z=v3;AmiWJ!`|nxosD5@11IkhUt=@UN8-B|go$bIfL;nueiFvs8q5Rj0XVwJb|10WV zzUs=AJC5I#WS(iJ!JQbc4;&kg!4FJdV=!Re?}uTT;T>mXM&rLOe^~1CD{J}o>Tm0A z_LfT8+Nx5iq;phn_HFeca#~4$Te*<%x<)l4zI$%-S8+tXw4n#zd|J% zFR{P%^`!ewIqS3CkB|)GP5P^raLs7qjq3qYMiP7%lJ;G-H2T`!Rg2-I!f)1lJjZa01diYU!XkClEYbjr>pg^oQ(#!TfDBGvRXYveQ%PF`M%M1F4XeI z1YEE3^%FMkLin+$_xEZo-d0*~8M8b3OWKMqf3W$U`}tAE_r`*f-Y&AB&^2Q)dP@IQ zd!xU1g03qQy_2=vzg9K&M&-lm#-3rWB<((POwY*eeaiJVJx?~RgT6d(6J24q;8xK* z5l@T0Xe5u(ey#ph)^_eOs;{M2;bGDw+(}uxxrcvqt-i@`#j|=3R?W5HO=^8t<*Ls@ z_%Zym__AU#)Nn3zy**qk3Td_Uwc;fFTI63r_l$YoEa{6P8^@UEDdVm$qrGOXtR)}s zN}A>*qjJol-&G5sQq0`j%ZBnXyLlHa{4VB+ar8i$*SAwe(?1Q?-ps#cl9o>i&`GFiEjqg?xy}V z7VrmXLF9YT+lPn3oI=|5_AT-?u~8;rdmHHz<0Q(*)%F#kztV$atTB_5elD`cP@Zft zWTUe)(6e;1F{#HX9t&>?m7*>E*PZ%2-R4F5eu8QpKx!rh`i zkMj3k@S?brdv>aIX;9a##=ft2aaFWF^1j-Cr|1rJ-Fn3Pdj3`MGEZ6cdtZMOr^6qL zB)>`Nw>6@U=q2++k)4xJjI&5gDH2dO1{qrUCtY|1UGhVrpqk0PwCe6d#DY0dpZwF_G3Lb+MbLeE;6`cVDY zU#&)=dk(8b(LGk9P`O(BL;WjHD@sVVv-%>@Jywp?SqoS#!oH%uR&_trd-1IGAoDUAhj>y@H!UDx-J%*KTEO372Nz}q5w2HkHJ66J86>sA}3 zeARejWy zz1G&*r_vV-mG%vN%74*6Rtix~_2EzHpP#CSsI`9bsd|X(S2eQQ(<72myWw)U7aoPT z;eAn5`bPb`5Pl2K!t?N=Xv7c~DF@L=xLy>0fmcQAbylDJRZUU3yd1pduJdo8J6A$} z0y7~puO@8`aiiLyd01&0$(Jo=!gt?aIc_Dr9qxzj*Q1gA`Ye)APu!?~)K@ebo`&wX zPO(w4%AYPq^%Z@wQD5wbu+yG3wrrFH?)OIQ%aT8Bg8nLkYa^qF{aUVwl-Q_zzlQR$ zl8B^bkK%5qEaS#T#tM{!H;%3wE6}q>33T09fl5D){Ks{dv=WUT8}+aISz_qD8!PM+ zlY{X=oXRA0r||*hED{OzBI5)4tB4~cxkv_-r*UJWq;Xw*(Z;V{dX;uCdf1KTS>pz3 zC3_F?p=g&4E{Cq$Ut^p*yX#qJF(p z|DsZ?uA=*`^Ct;pMA-2;`#dw}i3^K4tR!zZU)Gi{`e&1le-p6N-kfPHOdX=6p-3`yEw%{ExO zT9Q59mM_~%3$UtaA#cj)s}D{>t>{~qhjM>Q+PR_wCRw9y<#|P!Z zN<{bXrY?JVQ+pX(_R@RZpcx_$|9}( z9Z0r=^ooPLi-X92Q0wEa`{L|nMZMSl7SxBuhNAw%&PHFK)2EO?YN&p&E`qr4Y-R$4n)1w$nsrH35Vf2Eas^s7WIaFiCHm!Sd=S$5BpVmWBZ3;ek@HB!K9SZkW-(}-6itm}6H|@q&W1txu?oU?~7f8q+%T*87?A&U0u?i7L|=% zx-Y{2M^BlRqdPAn=T)>)>nbxcdP^yyuTjg}gN+-b#)B_aRiUspUUHUxKy zVkppcYwT7v+^>~Up8SpIy7ew}zZEJpR#`hjrMD-YUsc*33qE{QN8Wjq4__~zyT7uy z&=ppe_n<^=hi&O7mxf0xC-fe+22++X2Ca(ts_?ovWbd4eeAZ}&v->ToDT6{}x-^$OonQv^^ zmo&Asd+2DC5ABR6p?cBCcp0jlZ+^4N(^rpvrM25p-j4GihW*;_>^QYB$8?>X$0>!+ zQ(7rJRH&5W8c9(59H%{v!mMF+r`^!ABAVF8uAe6V(_A+mnb)b^S>7ETBuyf_Y}nK0 z?eqe=)0mGWF?u3tjkLUnuJC)K_7^dQ?fOabmAp`3t9JOnkfIJ>PM&tnOF9H4*XGRF@$Ia+0htAHfh#D#}$cnkhWUbYZ#&_ zttu%?bb;6-Pl+wU)1vhh>@`{|FuhW1)Utv~LOKRJt?t%3P!7D^UrKZQy~yK*TEnam zNzQA9)EU@Nyuk|T7$<04?`vLWZ-4dc!;F(FOrQ7i=JZHp_VifVp~#exwNIw zxn1Y4H^nic%hlM1^3kGb9aK(eWE}q}omUE#!tZS+>3%afbdT5=RJzk%(8&mPN~2b? z!vvMs>r&PRr1dECHPmv(SR_eHV5F7y|BSJyJ&mrYWsI??WsJ0_O^md76>5|1yjdfy zcn&##O`f9hrRDIoz8&*qGAIvO4bDhHJ)w7m8hfSPV+2NWS}8+$S|dghny;Z!jMYd& z@tJ1h%b`5Y*HCW!dnh+!ILghe4dq}LJ+6f05n*ChPiE&VAj$XhUd-d9l|`4Jr_AY4 zz3q}lCGJP^{Ybu_a#@f=o6-)_T7r&1HKiR;&oM8vdsbOyRp^RX7SspKgY-FlM)U@1 z2O0rMLNB2F`5sYA(g2|(Wh&4MJ9JCf5Z0KFr# z0MtGgX&;(Mn&f5#s2$7;P)_CrsQoX>lEsJcF?#6h|>rHMfZT_i+ zkpAIoMXQhW9lsU5?c^ROf6RsMpRblg-1 z@LMPcyAsh;cIk=0ASZ9_h%D!=m1cL_(;yz)ISXPUkri(qf$|@b$l{#DFrZq9d_>ZU z8N`)P{^AwTSICD&i^x+X5z0+mPe+HKdpv`rGGj;WW~Cj~t5>JZDSCAd?fS6xWi3Mf zv@mKno_^tBCj4A(dl0lr%eB%I?}vI1~Y8b!e)x>HGRyi3p+-T%q)7; zPgtxdA66lHwxh>bBGM#MXY?#xfuu6#p&a^TD}7d4+v*+I??(%h4%L+IMtSnSqCELs zQ5|_-Q61@b&-fPTcT`7O9+f4!5lK$7W3MmvnwHXOc2uX9fM%B_3H^@hNWY_&r{9rO z^gEJ@en(#c|1E06?HU`@P5X;6LUp9yQ4UtqwyHcmhi?{@$jgeP-Obmuo3iYl7=CJF z?r1gIS(@auGm_RR2dFHX8cDmCa-DTB{M~jgv!dj`pB_uYdLLwg}{GDxJD(Rxnb za3{TnYAO;2-NQeH#w%J3<-=#?tUc%b@HOFL=>FU25q_kt(pm2RkvyFgv=yC&o)VMk zTbc_O!oFhv{9HyjT1>i6=zOTO6Yo%q(rdm$IheN85 zG~|h3qo6OxIb`UYaNZcQL+MAch!vD3m7TS?7?+)E5mYlCj%e2SJD8_GvRzguJbStujMK7YK-lq-qiHa%p+=#_4pFKbsZh zL#HFzXmff_3)ADMZRv4Tce6L_S(hB>bW|>@9OcGRHmZ3Sv^@HzSfHpU(D>+G3@gdE zW;GT+g~k(>0BRW)1Zo-oA_-|K^mc}x(LTn0)JkJ?*FHv8B(1R!jRSfv>U-W&mw>)X znjPh4O%}aV+MG?GruI|dEL02LQ6xWE(SK=q)RI?>)Yyk8W?Qb30mtu_-{dGTIjaj+0Qp~~8 zJ=R$9WvFGWx1v7a)HBovoH>H(XzdlXn}`{dfBUA}he8XwqQrx0EmSUh1G{wZ$OW^1g{q_W0}y@jqw z)mwDGH7#_HQ)tGS*G>wS)>cl~L~UjD7PXSoUT`JUVj?n8yNS(0`SYuw79#_!k zR{Sk!gyD5TQk~V?L-l1hqMBLxMeo|mFSh(z@+>WB|An-kX+;=~LT9lh&JyRv{xpA3 zQ&uRdDO(iP)M+)yLu|bm)t7aOdaQLpR7dtYs_A*^$U7vhj#iCPy_~^?>cx&l&#`7v zjo7rPF6XJmd0CXw51|^Jr$&5DWyO&Ps4J0nnC_?l2HSk9;x z6^&|fky`LFNt2&{3B4EoCG<4^5_&HesSB%H`Yt5@Mf&+=q_XC*UC(Hl%V+_1xU@X^ zm&TcQEc2lu?17Rdn-ywtJX*ur^oZ$cpD(N374;Gsh@Rq`!hTkXR%GZN`BXp(C^vC{s1{bJQTyB^Pis16r}8v+KzTZq3AMKMXq20^9+cZ{TEj}TGzo9h zwzugIw`s|{Xp_5?YX|gp^&2IMc;xk_`|k6#-Y4h#cZcT*F{z$YEPD%x7xG1g`~ASdko#fszrI~&A1cxvpsT?$Gb)MjDN`N zv^R7=iwoUv4F#=-*vU0kSy)QLR%0(ot2KKG<-k%xZ(r=0GL&v7HmW;IW>|Zy6lrb6 zmOxUm6VP>g^w@>+amF!voBScD-|~l`I@(``WTStPY&0)^FFIQowY*hk^;bIGH>^*Z zPFfB$n%0p&?SP&&dgEe99;0zvuGsg;-zbXrMfig*u9PM)JH#K28)d>u}PLlc12C&QRH@ z(aB#|a^2Y&;z!+Mj&GOg+t8J_sn=TSWfm{SRE_L_v;$AA?W;4lk-t4;s1|l&^=_)( zvx0sF!MuK_-XedG-oI0pjk=3rN9}9`Lv=TsMztdWlEG{mJ!{m$jsolGt-HD+1`5@Y z4;)D-Is>({nKF7u=EA(Hq%s>tdGd;(+<1?WoV-Nno%6n+cH^tS-aGMU(n>K$M|Ck< zMQ!NI#GVl<*Zd4g%R)!8u`5xnSv05?bUyknXiD$dEgC=3bzWsucQdaMsmv~s zcHK+|)j|yFI8E4orxDX^MkDP`qbQP)CmFSsNK|x>Ig1DTUqJ2TnysQB1y;GJU%Iz+a+$A4Y-%jj3RJvFo z)Y=be0XE*wuTh;vw^Myo>Cg4ui*;BC?Y}h6`^6Zx^UHeHuQB*5zp;1-zi;H1TF_W) z49EN8V%{o?PRxY9YXt7Ig!OV`p3@D{oXI+)Q)-+KBw`267oB$C3@KIaudUj`ym;4{IDaSm0|?LjO7tuZ11sz%DSOKsob?`AU^$ zJVC2RMiO)ne+eFj$~AhR5{({c2EZmoa+U``OsSy(I-kqDLfeH&eO87Vev=N7ma$9FB;wN`$eVOBZ=<0%3oPryHyjdr#|Q{m|cqXA-ib3z3Ru4 z&|HU2h2q8LOA>oI=E9#vzo&t3LeW5e*TPN@cUmRctJ?A?vwu+iSS;uZ5KAn^$lJE} zYA?@Vr?sDbReROf-xk>ty?4C#wxS)#_JJWC&JsZ1fe{4x4t-fDPu~=h$NIQfNcG}B zNBL|aB%v8QnpgBU<8RX1gw=ss zLo5>N#bSt%Bw~C}U3lh^2g1zD7f3e#c_bVEJZdo~_@OrBjYsdAHy+iSHy%lAgh6f6 z-?ppLBsAtAdHCLuJbdr?T;zL4WwC!y{zfNMU-k^1hU#cU!uG86jDdvaeW>;Pi)84z z0(;-MqwcI`R63g!?X+WWB1zapXgpFwBncgk>O!aa=Dvj_^nIXO@Eam&`PYnh{(4aT z7wyty;h_4mbI|iV+em)iY}AJRyGnf5(w=1nAsMwh`mcE#r&jprz5V>tRw{cazsop@y=Gw(E#(B2{>n;A4J zUHkyfLeHM24;bxv2VRGAW(SV-6>>=HExg3&Tj2Yp`N%^rp!Z8VpgOV!QJyS7lruXJ zy$g0AdJA$#b>Y`Vt--I0YDe#&d)bXhemjFueOZ$Dy~vk~FGGEaPXI~Fmy6`&xkb|Q z+#(6vV?xJBlTc(Jl2BwIl90Ybve9=)Hhu;q6%Vaw6}9G-MfbB>dj$)X!nc5O=37AR z#ye_1p&Zz*C};8N=&$)F$PxeQ zyglcunYTGp%}#h{Ogc-)ZY23w^F{UxJ%v|A(a|Dj?T9e`<3&;Y8uCVoRzQ*%KT!^R zb!}s+E7_Ef@^QlOw|XC*vciQ*JT7gFo;6EC;~J|8)y`Lja`2Un86E3L+U~TIYHzzZ zci5$FZl(Sg_x}TQ@`?pQ3OH6Z} zPeue4eK5;Yv#O2L(LD9O>h1g(`8dy^Pw6lp?j0}6V#$mdvKRpA-t*^K77MD2`6qT- zDQp0dq)Mlqu~&XXnDRDYul6g2w*kqf|6t#*ENc;{HTV#E?rToqI%^JBLb=h{NGhW^ zlEIkjYxq`l>aTciwb1uaZb#K~SpTm>IT+i~v&MFGzwsQE#fn8ai>9^{cs2B_@fMdt zR;Mu*^@{Vftx<8m{*{k02+4d|Zx6jG_BN7)z3t>FEh(lSNn%9?-G7@lF)ucgxhvYE zw_m!={Z=I0>iW$51p1ucqI7bkBVCOk^dn%+biIKcjo}YW!Jzl{;DHV^w~! zY9VcfQ{NuDqxEoUQGM)oRF<(G*(rRLNZa#OA}y-_BT0;e=!7k?NvJ*8|LC6A$=UA= z9Mn~Gjv#C4uIOYh5d+Spa*kA=vD9bSh#Q#I6|pzJ?J6zlv<76Yn+st3mCPZH@~A8$ zEt1@Li{v*iK$4gph)Xbspo38hu>XylYoWig>QO25AG*``i1K8gv;4dx);MZW5i%$r zmNsg6(UB+zku69<)-~HvJ|geXFKhBWqW;6{h+2==5kG|;*`zEZ0Fsmij>_dFK<#E8 zi)v)l#{E$3cn^@AJdoI{{iHQ|U`wm+Yx)Ek`p$3? zE{57)tPA?S^jy^bdKPN`(NjpM93+*w0Fp|S3zE&e0JWqO29ShK81UqBC^wcoc3N(1 zZ~3}Tv!hnx??dgtD}u_U>rv@EB&bAt8%d_tMqpG5zZJTl4d9dnrO^1OcKjh~qV;%0 zQ9f*7)NX8G^hG-{7T<^3(};~EX9=U6*%C-{BRT4I>|509#4Tt+rSrX@(%H1Abnyx3 z+hO10pP`zvZ&A7ITU2`6QY>3(EqRgFW7$e;4VEpEN;Cp$$&0)@z8&j@daQT_)SfgB z%7LF}oGwAvNGshLhU2^m9-f2L7Cps_i|Wgli|Q*{7}eT|sHoOqWvc^VUq`uxLahROm&(LHo1{sr~nI@mtxyLVx7%9j$i{xT-Ma8L+vnNrFoE(WftshbgEi0`SPJBeASl2@`_of9;xzWC44+vMLvIXV3ZwSZU!Bq1%2+Sv>N+p^T= zbUl)mu17M{^{8#>deMHfa5Yp4ParCV4S@1wb)!7(y+--i^*d%$w7;|xX?&C$-Hmz| z-HrZAccc1RF~m2aR;R~NJJ9CX5z5{gJ&t6i$C1o5IBE^!1$ra2HjwGVBJT871h>P^FeW>)S`p3MHJWe1#tnW~sbXM=_MKaSb~Zpbe3~iZ(>K(T1q*v>{rVqZ3hC z=H#eN^g<*jEs6b`wBnU$Nz~@FB(^+Ov}j4*Z7n~IB-4~NO<8oM>++vgUqw%e=yN6r z+3bZuc#o5HW+x&LkQcLtz+2G$wir zz8pLXl|o~pQfN#o1gjyL&5==Vv?O|#mPB9PIMu_QR=!YO%$HHQG$tz1+7>F&+!;F` z5uoPLsAcF@)Vs~8Q9E1VLM2+sLbaxak+fE_kPPfvRCn`k)Xrw#NFK9q)WX)b%&$m7 zk0VLwaU=;njwGSGaqLx+CL7(2WTU&$_hJr?Bs2#{?}#2pElhW#zDI*2IcadzZsy%c zX0va+FY*tgoM?7b>y8Z+NoS=;y~MtudeQr+--;T;m2eim4b@kK7pkvSHvC7ZTrpOt z?pEJWt*yZ!dCW`E8_^a>Lh(4LzT#g{eXY}>`ifye?`WsSdo)6dF~R4exCJDScn35} zSo60!p}tnLk({g-BqtjN$wpS}r@RZ643f&a1ZsI!4ga)q`NEN${LrXvhyPeve3K|2 z_6(AfC4)*dgG6;V$D-4`9hMBbpY?+7A78fXBtq9&EU2dJ7S!KpckKJf%x*#DvR+Uf zkE63#EY|!y%Su5{vro|dr|Dg%sjt)9T~WH&DpcZW^5;De%jLcB9-ti9FsOgBWYGKK zL%?Zhrqbs}vudQt#;QR%vu9ARW6vPT&0SH6yb7qkyb7on@g(5OkR<#G_$nk1uL61_ zRyuGsBpVL{`ckZ;AvxJjNKTQrNLoGzBrVSal9RQB-Vv`gl9~Sjy)XU;BtLr$yB59$ z{s&Zwcs`Ur3k~HjW(?)VLbGc~y{yZiXT{B+JMDKs&svW|^6-$Odht%6*5hI5h&}Yw zZ9ReHv`&Xg@fD%Eh%U2ctp8Z|K{6ZTP`UOOAjw6Y9n~{RU`bguZzF59Pd6wL|ZRKLP!fPu_})FHC%`nT&k= z`l8Z zfNCMi1@&(B06rG=QFISojLPEKMy1fas3pa8qEbdwzNgH!`De8NU5uU;Lyc-md!iiZ zP4xEte9KfHQm<1<6Gw8nAfBF(u}D6 zhu=cE=Ax)vGilU@W2Q?6GgKsl8Km)m3}%GrO_`G+dCZ)UROTG$_kGPFkc6Uf&=F8)fl6dYOP7HQM`}D7a^hsNN4hY|f z>q@i+f!-sZ2r7kF1iKV9I!VtwElq8m!&A-;Mt3?f7)fI1DSD4*k;nd1X>ZV;Q}n*< zIYnvZ(t$RQ&|Z3u{f!}`zlV0>;dG5UMfk@zAq6eC?6Uh)o)rdoMi6d^lf?C`{S2v zos~7Kb~q{hE;qk;=C_!pq3b*tzCfk>Z6)8Kzw#=exKtV+$-uXO>cwtDQqlfMDlLd) z<0bG_vlQrVlmpKIx|3(XH}4+W8Qp0vk4o`Aj0kGS$Bz7J=H^Ipb91zUVQ!9}!am_c z{$}N*D&+v%WD@inwfazldh+7-4c*=|(cs>_|fMQ;}%yp{>o<^nnqfLn?Y1-9sazJIygs zy?TV@Uo_j$O2&UA1N#L%OA81UtD zdgxB$6_Uh=gw_q5Wsai9v>p1Z)jhPHFY*WPisO7=M=(dnOxSLB~L&60FzYEL1O1dVUL2S$6d*$^6NT7^mUK zkU#rH+J**Xd(DLlp?4+b4f%kqlAy1IenfX#A3=Fq6JfWx-^>~xi;LAJ=(@EG^vhaH zRWJ1B^;IOTzKUjMOOeowTbew2FN$u_d$Dsiw)y_i3ExZgFOq~_M&G6RII=$Ud?%YI zeVWpzDV^?iMgD&Gmi4LDcBr9JM45_ubmvsRsgHEZ|iI<4Km_QqQEtluj`Gkd?t zi|@kzwK4fvWiW<%M^+P1EBTI4ximg1%Q^y*mi9*ydJ;P~E#T`zV+lV1YHjy{Z6MuPq7)$Q*CowFOcT@v0i|Bh?zbvhTe&l0#sjnVNjmqJWDzA03dnH{gM1m z*P~J7&(c7puryHqYz&mMReO}b7(CR5EDcnaaRap{&p(Q1WqY7jWr3hJ@g1U;VS6Ci zj6A4!@&BXV#s81K1*-t4-Nf{a`H7PN=t#YVuO5}a!+>NUANHNf;%E3htI;Ox6Vw{^ zY@vI`ZYp)>c|iH|t0Q@M*HKMb*r>j&7gR^yb-XKz{6JEP3OA=BgNSb=3Eu^hL_9Sr zod*Nej@KRKEZzXM7(WKejW+}3Cf)$$U^GV3vXt<-$VY*m6{qO@wt2N!h9$F0L!>&W` ziP>8oZ%sHS5Mp)SL6l$$<* zdLX@q@)_fe`}Gkdp%Q32Ia@(M@6p-;YCWq4=)G7qKy_yaqTJYl*twCy{u)#xYXs)% zN?{-3LZ}pTXOt&95Va=@5arAcL^;!)NP0FQ`hP4#^mVfgt&Yf(c1G`l1&E&Ft4Duj z0rDNV!VW}NZqgb~#+F_QyVuzqN%^JbSB5MR)V~rr4&n97A9TZ*li%`C476{q}!U927 zCkq5=8x{x}m02K21{Mgi3YV%SQU2@@Bq7fQnzwZSCXKXy!~#LTRLKHCo{VYfRwU0f z@~}pvl|D`B)0E3HaYc#KlsHXUdXFngd7ZlW)l_l4q+L!atGQ<_E#~)n>T8O7SEr z%iaXBS#oACq4#TUf_zRaBGh^;A|!u%{dyD=Ss|`VJB;(oKPBy1eiif-zX~eF8ix_k zQ@_vsm0rjdEzIUY{fFg)+Lrx;zBTp_Y7O=eY7_Pkl9}a$+N2}T*gVoC>Df5TM_Ma+ z64i_4gW8JCgWp4IfX+feqX;Vq|0=SDP`UgwC?9)@MZBrwIQxgREFyHzZra2t6w=zk zX%nc{PKH4FJHG)v%b$bFvdbUk_Iszhv{vHPLFKZPQ2${sp;qc>Job{bJk0}9`zQ&O z!fL|1qCJZ!Pxca$eC%oS?(8$ezDG{IM$Wq=EoV^*s6F|P(4A}{bkFaYbh=YNVe_Dz zSvzQa;8{YgVV%WV>&wvnBQnB0bQ`*Jte|T1vC^pBSS+Z;*e9r!T642Nq~*XrihA$x zR+4S_%se~%Rm$Z@L49n@!sTPGhO>|iEN&zNYeai!ZJGfmp*Ar_qHo7og=*~!Ms?9= zQEubi8aK2AY8i4NImbV0YF>{($q?eknA8TuE~`TV7w$;5g=y@Cycq+-dS zKFOnnYHDX4YQ2sSwK^b8P8JT5v*lyeNNd}Rv@P34TJO3j4X+Ml;ORm#uz66M^xkGs zrqaq4!+^@=O+zJiTkwqWbjXu+glZwK1>NQML{Nz$PEj3u@3b`-`%JXwO=&Rn?Km?I zm8F;1Wla(h7)TOzJFl-%xz-3!AFvY}{q;WA?U<0(+V{yvoP)Idjc(56^frxdY|zK5 znLUQM5KcmxndO5IMJKtS_T_s)_s`cCfp5a)a3!Rr=SvyJyJ#r5Z z;6+(hu6G;~d&$?Xy;(}A{n<<7*MOXwB&{9n4ni_p0Y&vWx z7_H$vFw_pLFVqfB@ItM@5<~645dHO@;2^ zK|XUp&=q-pHL#6N|p|V(I zs6@6IYBAm<^yRYFP#xK9NRnP5YyU{w5U#pT9xEN__a}Lfa3wUVSiwf}SXD+(x1XhL z5%qLMZq_$Yo_y`-Sr#2?rQyeNXZtW%cWer+!N$W$s7=gDktA$9)HBCCk5p_tlt0@U zwFB!8$><%Ra_N8ceHphhYR5(R4)C6B&WHM{InIyhlWDq8LfoA*Y(xJp!uKEXs> zrL=sc%!}0B+60o*+#I!lwF#7)wFy)%{eoJ9enIb|BgN?&X>Y_;)FyW6q2Cr3IcYwo zTsjElPZJ@@=^zwON)w^{=pfW4w1O4rH=!0YvY>KBRH0HtQK42kNxeiKNh?vb2`W)s z3@VX!Ky~SPqqqiZO3!O)6rh~38=lXJe zDbl=I;?>byeI<9Ut$3AU=RK`Y>f9pB> z;GF(52}NofCy}Ml5jJdl8jG_v*au1!HP$gHR(ss9$LcZuYJ5WFUgcT77xA5HL`OT@)Km6~ zi};*|A49*y#gBo1gbSfNc^22{{y;*eU`;ySM0(&~+?_(q%q)_}JVH#Fy?x@a(EARB-DDoNPpK`MxP~N|07OMWb=IW7vBqR z6kk+nVx1R4Y5upH%Ec}j`|xkdB1PUa?6fhw#RjrkaW}L&;oA|_?aTAMpnJ?HoFGXCb}9O+uLG6nyWs652|ot9F21vW zdB921SCuy2B5Cz)XC=zVNsUgwBcU_ooMqrnvwPHrEHNalUW)QGv+n&&z0*i6tvf}} zqMX??=qbI_ivG7E`vl2jeF5EXJqO8eWHwLJ0{q0N7xB*GBwPx;FCIiBgLx<_g++l{ zN#92Kvm#JUSq!L0nTO$D;d7D2hwi5Xd*stv>f&^Il(RD-Z^~ACtpBgK`nOS?%bf;0quRY0aTD<^Uv$|&` z&#vXK_5$42_ox(KBFeLWCEafoNR!98A*fuQUX#DuIa^j*G#X!nT3b0qC7O$&dRZIQQ^{aHh2FK<6W@fK z&4y5(zHwA8?Zao`9^W{6sv~K5CB#RshMuw#jGpqnqq1ls)CXuHd>Jl;`Y^48?zF0e z^7lof>vR*6ZFrJs8@dVIIkdf2qW#d@F^0KUxq2eL3rXJpSRLyV#KZ$FSGvDzUX;7~ zcM`4_-&Of{W%sNUX$o}4yfCiaEgIEvK3oXp##YCV;iqsT{2a=e7Qn4gp8V&? z`k)t(Cz8dE=5{Q0BndkTjaIx9_6vDRoPe{^$iU}}u3OV*^~zuD6v|ESvdf56PDx}F zJ9SiFvR`^NlqY@Rx7p;zk1EpNb-k!Prsj)EG>1l|us6^>tRWdqr+4E$Rl{$xCbZ2%DWn)25bPulu?$uXie0Z!rwh(sud(zKEJ_i)R_a=9~srpI#E6)S^>vFCy=lV*n ztRy{4S`@-#dgEi-*$Cy?$CRsl={MnWxDw97FX6ZFF@15aX#E$Ti{yDK8QzCm#kY0s zsao)Jcv95z&MepskBj=`Q?K`F8#)t9_}`##^55_|KERf;(xFIC5eCj&%frs F{|{9YOjZB@ literal 0 HcmV?d00001 diff --git a/WordAddIn/.vs/WordAddIn/FileContentIndex/cc724fb2-aece-4705-bab6-f396d457e01f.vsidx b/WordAddIn/.vs/WordAddIn/FileContentIndex/cc724fb2-aece-4705-bab6-f396d457e01f.vsidx new file mode 100644 index 0000000000000000000000000000000000000000..9b46f8097217bae34a9fa2ab538840ec57ea9e0a GIT binary patch literal 31918 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 Cw(tf3 literal 0 HcmV?d00001 diff --git a/WordAddIn/.vs/WordAddIn/v17/.suo b/WordAddIn/.vs/WordAddIn/v17/.suo index aaa32330d81cd59879e0891453e8a9456fd8eb53..9785374cac8a7f0843ec156e418ac5007d015e42 100644 GIT binary patch delta 1072 zcmbu7K}-`t6o&T=L)$IeT9!qM6lh9AG&ZIZ#o7?un2kYgY$2RHn2>l>xiqnn1R4&8 z1BrCUu$))Zg9n2w(wGn}h=zDjLP#W$hgWJ$>GI5e`|JnE6yf<%V@=x9Q zY4=QDvmyurL4H>%6%?Tk>3lKRM*Q*7hF|fS9cbj{F7|+26#;`PJerN1>tt~vGTW7A zZ^>Dfb!R+)j`|v>FM>ZO5k6!FwB;_Z;>AB67DC#Q0MdX+NDIPi_))tN5pg-TZAY6> zTagpUXN2c;qxulOwmS9;BTd#E-2#80F7SVyFx#z6$e4d0lk<9fRF%(pFI6AW{-TnHcG1cXO#@4${g(fl z4UB|WMBrz_&#s!#vcnSSeU#CVMtf@v|A@ zHA-!VO~r_wv=5rqBRMOlO@Z0t0>OZFxHP*CiZQ$fF}@dJ?BS?)+qJoMd9Q!Mm|26k zQQiQx_zu8K5wnjJBR~oxK`VGggTip2bqCjcL-;}P5ykl)(p4B7Gh zg~9v9MIcKbffANqrG{r6692l7g_KGx^_VN delta 1754 zcma)+?{AY;6vum>K3m(-{c5}I>Dmn}rIb+cnQkz~Sf9a6MkMPXB%+Dvlo!5|32QQ8 z+By=Lvc&B7G?E&yFSSh-guMGz2}~L z?#aF9oO|=Lp8VIIx&D@&E|*II8|88tgUb!}eS0#ZH0-#NIjGM)q&PHoj4vt2`Ix(l z>Ud2V@ex&Rd8~Uo>xz#)5?_NE6?8|VNL-~)A_2{ZtC z64~k@*MQC0X8)i%k75jicJMp!125P%e=_KQR^5?+!umpeK)$(j$9Z{`F3u_=@)lfD zGSA9DD#SfQw)P@Mu_jvb3I(jSwj9w6XTv#)@*4V2Ion?5 zd|c(p$P|rPYmuBnS2^36WBt0yPdlgB*oDRIQ#IS*PviC78MSANXP!u+eqKBK1r(ep?;0bK%AQbeyZnZ&24*R{m5uJ$j7DurzRbJhqP9AO1HCtl2@u_ z!mXL$WbHyqS!h?xz7oZFtuIHdoIRYYkyYun*1J5l=BX0f2+`Bns(Mg*sD1-A@&&tj zz40H;ugC~$+|+!I8adm1-At;M+W#*tL{&36{6FGJy}Xv(e6LPKWx%#Zw5AeKYyCx! zGJjgLw4rm<{5NbKgD2oGfJb|g)xZvfNVVdDhjc5hD3)?!K%rN7a3sz4$Qk}Io?<%_ z+JaVyIjb$ RYP@Xs8WmZlVk^4R^dD^S6)*q* diff --git a/WordAddIn/Switch_To_WPS.bat b/WordAddIn/Switch_To_WPS.bat new file mode 100644 index 0000000..d403723 --- /dev/null +++ b/WordAddIn/Switch_To_WPS.bat @@ -0,0 +1,13 @@ +@echo off +echo ========================================== +echo Switching to WPS Office Mode +echo ========================================== +echo. +if exist "%~dp0WpsInstaller\bin\Debug\WpsInstaller.exe" ( + "%~dp0WpsInstaller\bin\Debug\WpsInstaller.exe" wps +) else ( + echo Error: WpsInstaller.exe not found. + echo Please build the solution first. +) +echo. +pause \ No newline at end of file diff --git a/WordAddIn/Switch_To_Word.bat b/WordAddIn/Switch_To_Word.bat new file mode 100644 index 0000000..75a3c23 --- /dev/null +++ b/WordAddIn/Switch_To_Word.bat @@ -0,0 +1,13 @@ +@echo off +echo ========================================== +echo Switching to MS Word Mode (VSTO) +echo ========================================== +echo. +if exist "%~dp0WpsInstaller\bin\Debug\WpsInstaller.exe" ( + "%~dp0WpsInstaller\bin\Debug\WpsInstaller.exe" word +) else ( + echo Error: WpsInstaller.exe not found. + echo Please build the solution first. +) +echo. +pause \ No newline at end of file diff --git a/WordAddIn/WordAddIn/.vs/WordAddIn.csproj.dtbcache.json b/WordAddIn/WordAddIn/.vs/WordAddIn.csproj.dtbcache.json new file mode 100644 index 0000000..3214a62 --- /dev/null +++ b/WordAddIn/WordAddIn/.vs/WordAddIn.csproj.dtbcache.json @@ -0,0 +1 @@ +{"RootPath":"D:\\dsWork\\aiData\\WordAddIn\\WordAddIn","ProjectFileName":"WordAddIn.csproj","Configuration":"Debug|AnyCPU","FrameworkPath":"","Sources":[{"SourceFile":"Properties\\AssemblyInfo.cs"},{"SourceFile":"Properties\\Resources.Designer.cs"},{"SourceFile":"Properties\\Settings.Designer.cs"},{"SourceFile":"ThisAddIn.cs"},{"SourceFile":"AiRibbon.cs"},{"SourceFile":"Models.cs"},{"SourceFile":"ImageOptionsForm.cs"},{"SourceFile":"ReferenceGeneratorForm.cs"},{"SourceFile":"LoginForm.cs"},{"SourceFile":"LoadingForm.cs"},{"SourceFile":"AiService.cs"},{"SourceFile":"CreateOutlineForm.cs"},{"SourceFile":"OutlineResultForm.cs"},{"SourceFile":"OutlineSettingsForm.cs"},{"SourceFile":"StyleEditorControl.cs"},{"SourceFile":"ThisAddIn.Designer.cs"},{"SourceFile":"obj\\Debug\\.NETFramework,Version=v4.7.2.AssemblyAttributes.cs"}],"References":[{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\Accessibility.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\Microsoft.CSharp.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\Visual Studio Tools for Office\\PIA\\Office15\\Microsoft.Office.Interop.Word.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files\\Microsoft Visual Studio\\2022\\Professional\\Common7\\IDE\\ReferenceAssemblies\\v4.0\\Microsoft.Office.Tools.Common.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files\\Microsoft Visual Studio\\2022\\Professional\\Common7\\IDE\\ReferenceAssemblies\\v4.0\\Microsoft.Office.Tools.Common.v4.0.Utilities.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files\\Microsoft Visual Studio\\2022\\Professional\\Common7\\IDE\\ReferenceAssemblies\\v4.0\\Microsoft.Office.Tools.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files\\Microsoft Visual Studio\\2022\\Professional\\Common7\\IDE\\ReferenceAssemblies\\v4.0\\Microsoft.Office.Tools.v4.0.Framework.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files\\Microsoft Visual Studio\\2022\\Professional\\Common7\\IDE\\ReferenceAssemblies\\v4.0\\Microsoft.Office.Tools.Word.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files\\Microsoft Visual Studio\\2022\\Professional\\Common7\\IDE\\ReferenceAssemblies\\v4.0\\Microsoft.VisualStudio.Tools.Applications.Runtime.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\mscorlib.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"D:\\dsWork\\aiData\\WordAddIn\\packages\\Newtonsoft.Json.13.0.4\\lib\\net45\\Newtonsoft.Json.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\Visual Studio Tools for Office\\PIA\\Office15\\Office.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Microsoft.NET\\Primary Interop Assemblies\\stdole.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\System.Core.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\System.Data.DataSetExtensions.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\System.Data.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\System.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\System.Drawing.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\System.Net.Http.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\System.Windows.Forms.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\System.Xml.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\System.Xml.Linq.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""}],"Analyzers":[],"Outputs":[{"OutputItemFullPath":"D:\\dsWork\\aiData\\WordAddIn\\WordAddIn\\bin\\Debug\\WordAddIn.dll","OutputItemRelativePath":"WordAddIn.dll"},{"OutputItemFullPath":"","OutputItemRelativePath":""}],"CopyToOutputEntries":[]} \ No newline at end of file diff --git a/WordAddIn/WordAddIn/AddInContext.cs b/WordAddIn/WordAddIn/AddInContext.cs new file mode 100644 index 0000000..c3a8de2 --- /dev/null +++ b/WordAddIn/WordAddIn/AddInContext.cs @@ -0,0 +1,49 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Word = Microsoft.Office.Interop.Word; + +namespace WordAddIn +{ + /// + /// 全局上下文,用于存储当前 Word 应用程序实例。 + /// 兼容 VSTO (Office) 和 COM Add-in (WPS)。 + /// + public static class AddInContext + { + private static Word.Application _application; + + /// + /// 获取或设置当前的 Word 应用程序实例。 + /// + public static Word.Application CurrentApplication + { + get + { + // 如果尚未设置(例如在非 VSTO 环境下且未初始化),尝试回退到 Globals(仅限 VSTO) + if (_application == null) + { + try + { + // 注意:如果不在 VSTO 环境下,访问 Globals.ThisAddIn 可能会抛出异常或返回 null + if (Globals.ThisAddIn != null) + { + _application = Globals.ThisAddIn.Application; + } + } + catch + { + // 忽略异常,说明可能不是 VSTO 环境 + } + } + return _application; + } + set + { + _application = value; + } + } + } +} diff --git a/WordAddIn/WordAddIn/CreateOutlineForm.cs b/WordAddIn/WordAddIn/CreateOutlineForm.cs index ffdb706..6d5f1dc 100644 --- a/WordAddIn/WordAddIn/CreateOutlineForm.cs +++ b/WordAddIn/WordAddIn/CreateOutlineForm.cs @@ -49,6 +49,9 @@ namespace WordAddIn // // txtTopic // + this.txtTopic.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) + | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); this.txtTopic.Location = new System.Drawing.Point(20, 50); this.txtTopic.Multiline = true; this.txtTopic.Name = "txtTopic"; @@ -58,6 +61,7 @@ namespace WordAddIn // // btnGenerate // + this.btnGenerate.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); this.btnGenerate.DialogResult = System.Windows.Forms.DialogResult.OK; this.btnGenerate.Location = new System.Drawing.Point(240, 310); this.btnGenerate.Name = "btnGenerate"; @@ -69,6 +73,7 @@ namespace WordAddIn // // btnCancel // + this.btnCancel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); this.btnCancel.DialogResult = System.Windows.Forms.DialogResult.Cancel; this.btnCancel.Location = new System.Drawing.Point(360, 310); this.btnCancel.Name = "btnCancel"; @@ -83,13 +88,14 @@ namespace WordAddIn this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.CancelButton = this.btnCancel; this.ClientSize = new System.Drawing.Size(500, 370); + this.MinimumSize = new System.Drawing.Size(400, 300); this.Controls.Add(this.btnCancel); this.Controls.Add(this.btnGenerate); this.Controls.Add(this.txtTopic); this.Controls.Add(this.lblTopic); - this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog; - this.MaximizeBox = false; - this.MinimizeBox = false; + this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.Sizable; + this.MaximizeBox = true; + this.MinimizeBox = true; this.Name = "CreateOutlineForm"; this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen; this.Text = "创建大纲 - AI助手"; diff --git a/WordAddIn/WordAddIn/ImageOptionsForm.cs b/WordAddIn/WordAddIn/ImageOptionsForm.cs index 2d5751e..4b8c42f 100644 --- a/WordAddIn/WordAddIn/ImageOptionsForm.cs +++ b/WordAddIn/WordAddIn/ImageOptionsForm.cs @@ -90,10 +90,12 @@ namespace WordAddIn { this.Text = "生成配图选项 - 支持编辑提示词"; this.Size = new Size(500, 520); + this.MinimumSize = new Size(400, 400); // 设置最小尺寸 this.StartPosition = FormStartPosition.CenterParent; - this.FormBorderStyle = FormBorderStyle.FixedDialog; - this.MaximizeBox = false; - this.MinimizeBox = false; + this.AutoScaleMode = AutoScaleMode.Font; // 支持 DPI 缩放 + this.FormBorderStyle = FormBorderStyle.Sizable; // 允许调整大小 + this.MaximizeBox = true; // 允许最大化 + this.MinimizeBox = true; this.lblStyle = new Label(); this.cmbStyles = new ComboBox(); @@ -114,6 +116,7 @@ namespace WordAddIn this.cmbStyles.DropDownStyle = ComboBoxStyle.DropDownList; this.cmbStyles.Location = new Point(20, 45); this.cmbStyles.Size = new Size(440, 25); + this.cmbStyles.Anchor = AnchorStyles.Top | AnchorStyles.Left | AnchorStyles.Right; // 宽度自适应 foreach (var key in _styleTemplates.Keys) { this.cmbStyles.Items.Add(key); @@ -130,19 +133,22 @@ namespace WordAddIn this.txtFinalPrompt.Multiline = true; this.txtFinalPrompt.ScrollBars = ScrollBars.Vertical; this.txtFinalPrompt.Size = new Size(440, 280); + this.txtFinalPrompt.Anchor = AnchorStyles.Top | AnchorStyles.Bottom | AnchorStyles.Left | AnchorStyles.Right; // 全向自适应 // chkOptimize this.chkOptimize.AutoSize = true; this.chkOptimize.Location = new Point(20, 400); this.chkOptimize.Size = new Size(400, 20); this.chkOptimize.Text = "使用 AI 优化提示词 (自动翻译成英文并丰富细节)"; - this.chkOptimize.Checked = true; + this.chkOptimize.Checked = true; + this.chkOptimize.Anchor = AnchorStyles.Bottom | AnchorStyles.Left; // 底部固定 // btnOk this.btnOk.Text = "开始生成"; this.btnOk.DialogResult = DialogResult.OK; this.btnOk.Location = new Point(280, 430); this.btnOk.Size = new Size(90, 30); + this.btnOk.Anchor = AnchorStyles.Bottom | AnchorStyles.Right; // 右下固定 this.btnOk.Click += BtnOk_Click; // btnCancel @@ -150,6 +156,7 @@ namespace WordAddIn this.btnCancel.DialogResult = DialogResult.Cancel; this.btnCancel.Location = new Point(380, 430); this.btnCancel.Size = new Size(80, 30); + this.btnCancel.Anchor = AnchorStyles.Bottom | AnchorStyles.Right; // 右下固定 this.Controls.Add(this.lblStyle); this.Controls.Add(this.cmbStyles); diff --git a/WordAddIn/WordAddIn/OutlineSettingsForm.cs b/WordAddIn/WordAddIn/OutlineSettingsForm.cs index 9614294..7d69fd7 100644 --- a/WordAddIn/WordAddIn/OutlineSettingsForm.cs +++ b/WordAddIn/WordAddIn/OutlineSettingsForm.cs @@ -44,6 +44,9 @@ namespace WordAddIn // // tabControl // + this.tabControl.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) + | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); this.tabControl.Location = new System.Drawing.Point(12, 12); this.tabControl.Name = "tabControl"; this.tabControl.SelectedIndex = 0; @@ -52,6 +55,7 @@ namespace WordAddIn // // btnSave // + this.btnSave.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); this.btnSave.DialogResult = System.Windows.Forms.DialogResult.OK; this.btnSave.Location = new System.Drawing.Point(210, 310); this.btnSave.Name = "btnSave"; @@ -63,6 +67,7 @@ namespace WordAddIn // // btnCancel // + this.btnCancel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); this.btnCancel.DialogResult = System.Windows.Forms.DialogResult.Cancel; this.btnCancel.Location = new System.Drawing.Point(320, 310); this.btnCancel.Name = "btnCancel"; @@ -78,12 +83,13 @@ namespace WordAddIn this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.CancelButton = this.btnCancel; this.ClientSize = new System.Drawing.Size(450, 360); + this.MinimumSize = new System.Drawing.Size(350, 300); this.Controls.Add(this.btnCancel); this.Controls.Add(this.btnSave); this.Controls.Add(this.tabControl); - this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog; - this.MaximizeBox = false; - this.MinimizeBox = false; + this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.Sizable; + this.MaximizeBox = true; + this.MinimizeBox = true; this.Name = "OutlineSettingsForm"; this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen; this.Text = "大纲样式配置"; diff --git a/WordAddIn/WordAddIn/ReferenceGeneratorForm.cs b/WordAddIn/WordAddIn/ReferenceGeneratorForm.cs index 1f386a0..4134b41 100644 --- a/WordAddIn/WordAddIn/ReferenceGeneratorForm.cs +++ b/WordAddIn/WordAddIn/ReferenceGeneratorForm.cs @@ -77,6 +77,9 @@ namespace WordAddIn // // tabControl // + this.tabControl.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) + | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); this.tabControl.Controls.Add(this.tabFile); this.tabControl.Controls.Add(this.tabText); this.tabControl.Font = new System.Drawing.Font("微软雅黑", 11F); @@ -111,6 +114,8 @@ namespace WordAddIn // // txtFilePath // + this.txtFilePath.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); this.txtFilePath.Font = new System.Drawing.Font("微软雅黑", 11F); this.txtFilePath.Location = new System.Drawing.Point(30, 100); this.txtFilePath.Name = "txtFilePath"; @@ -120,6 +125,7 @@ namespace WordAddIn // // btnBrowse // + this.btnBrowse.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); this.btnBrowse.Cursor = System.Windows.Forms.Cursors.Hand; this.btnBrowse.Font = new System.Drawing.Font("微软雅黑", 10F); this.btnBrowse.Location = new System.Drawing.Point(440, 98); @@ -155,6 +161,7 @@ namespace WordAddIn // // lblWordCount // + this.lblWordCount.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); this.lblWordCount.AutoSize = true; this.lblWordCount.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Bold); this.lblWordCount.Location = new System.Drawing.Point(30, 355); @@ -165,6 +172,7 @@ namespace WordAddIn // // numWordCount // + this.numWordCount.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); this.numWordCount.Font = new System.Drawing.Font("微软雅黑", 14F); this.numWordCount.Increment = new decimal(new int[] { 100, @@ -193,6 +201,7 @@ namespace WordAddIn // // lblWordUnit // + this.lblWordUnit.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); this.lblWordUnit.AutoSize = true; this.lblWordUnit.Font = new System.Drawing.Font("微软雅黑", 12F); this.lblWordUnit.Location = new System.Drawing.Point(330, 355); @@ -203,6 +212,7 @@ namespace WordAddIn // // btnGenerate // + this.btnGenerate.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); this.btnGenerate.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(43)))), ((int)(((byte)(87)))), ((int)(((byte)(154))))); this.btnGenerate.Cursor = System.Windows.Forms.Cursors.Hand; this.btnGenerate.DialogResult = System.Windows.Forms.DialogResult.OK; @@ -220,6 +230,7 @@ namespace WordAddIn // // btnCancel // + this.btnCancel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); this.btnCancel.Cursor = System.Windows.Forms.Cursors.Hand; this.btnCancel.DialogResult = System.Windows.Forms.DialogResult.Cancel; this.btnCancel.Font = new System.Drawing.Font("微软雅黑", 12F); @@ -238,15 +249,16 @@ namespace WordAddIn this.BackColor = System.Drawing.Color.White; this.CancelButton = this.btnCancel; this.ClientSize = new System.Drawing.Size(650, 520); + this.MinimumSize = new System.Drawing.Size(500, 400); this.Controls.Add(this.btnCancel); this.Controls.Add(this.btnGenerate); this.Controls.Add(this.lblWordUnit); this.Controls.Add(this.numWordCount); this.Controls.Add(this.lblWordCount); this.Controls.Add(this.tabControl); - this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog; - this.MaximizeBox = false; - this.MinimizeBox = false; + this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.Sizable; + this.MaximizeBox = true; + this.MinimizeBox = true; this.Name = "ReferenceGeneratorForm"; this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen; this.Text = "素材写作 - AI助手"; diff --git a/WordAddIn/WordAddIn/WpsAddIn.cs b/WordAddIn/WordAddIn/WpsAddIn.cs new file mode 100644 index 0000000..b48d238 --- /dev/null +++ b/WordAddIn/WordAddIn/WpsAddIn.cs @@ -0,0 +1,120 @@ +using System; +using System.Runtime.InteropServices; +using Extensibility; +using Microsoft.Office.Core; +using Word = Microsoft.Office.Interop.Word; +using System.Windows.Forms; + +namespace WordAddIn +{ + /// + /// WPS Office 兼容入口类。 + /// 实现标准的 COM Add-in 接口 (IDTExtensibility2),以便 WPS 可以加载此插件。 + /// 同时继承自 AiRibbon,复用 Ribbon UI 和业务逻辑。 + /// + [ComVisible(true)] + [Guid("D8E52004-9D68-4509-8A11-66774D4F0523")] // 固定的 COM GUID + [ProgId("WordAddIn.WpsAddIn")] // 注册表中的 ProgID + public class WpsAddIn : AiRibbon, IDTExtensibility2, IRibbonExtensibility + { + private Word.Application _application; + private object _addInInstance; + + private void Log(string message) + { + try + { + string logPath = @"C:\Temp\WpsAddIn.log"; + string dir = System.IO.Path.GetDirectoryName(logPath); + if (!System.IO.Directory.Exists(dir)) + { + System.IO.Directory.CreateDirectory(dir); + } + System.IO.File.AppendAllText(logPath, $"{DateTime.Now}: {message}{Environment.NewLine}"); + } + catch { } + } + + #region IDTExtensibility2 成员 + + /// + /// 插件加载时调用 + /// + public void OnConnection(object Application, ext_ConnectMode ConnectMode, object AddInInst, ref Array custom) + { + Log("OnConnection called"); + try + { + _application = Application as Word.Application; + _addInInstance = AddInInst; + + if (_application == null) + { + Log("Application is null in OnConnection"); + } + else + { + Log("Application obtained successfully"); + } + + // 初始化全局上下文,确保 AiRibbon 中的功能可以正常获取 Application 对象 + AddInContext.CurrentApplication = _application; + } + catch (Exception ex) + { + Log($"Error in OnConnection: {ex.Message}"); + MessageBox.Show("WPS 插件加载失败: " + ex.Message); + } + } + + /// + /// 插件卸载时调用 + /// + public void OnDisconnection(ext_DisconnectMode RemoveMode, ref Array custom) + { + Log("OnDisconnection called"); + _application = null; + _addInInstance = null; + // 清理上下文 + if (AddInContext.CurrentApplication == _application) + { + AddInContext.CurrentApplication = null; + } + } + + public void OnAddInsUpdate(ref Array custom) + { + Log("OnAddInsUpdate called"); + } + + public void OnStartupComplete(ref Array custom) + { + Log("OnStartupComplete called"); + } + + public void OnBeginShutdown(ref Array custom) + { + Log("OnBeginShutdown called"); + } + + #endregion + + // 显式实现 IRibbonExtensibility,虽然基类实现了,但为了确保 COM 可见性和调试,这里显式重写/覆盖 + public new string GetCustomUI(string RibbonID) + { + Log($"GetCustomUI called for RibbonID: {RibbonID}"); + try + { + // 调用基类的方法获取 XML + string xml = base.GetCustomUI(RibbonID); + Log("GetCustomUI XML retrieved successfully"); + return xml; + } + catch (Exception ex) + { + Log($"Error in GetCustomUI: {ex.Message}"); + return null; + } + } + } +} diff --git a/WordAddIn/WordAddIn/bin/Debug/WordAddIn.tlb b/WordAddIn/WordAddIn/bin/Debug/WordAddIn.tlb new file mode 100644 index 0000000000000000000000000000000000000000..824e93756e4eeb92ef627d9f90de42c60243852d GIT binary patch literal 2300 zcmb_cT}YEr7(Sabw=i^NXg|cHEF+T{Q6n6=O0j=4X;y?fzg5GpO*V&i(a%Lt^h0{1 z5EWfSghpLNUG&H3swgNeX%IyJM0C+FR7CYW-}fE)T1CTr$JsgW^FHtUyk|S-tXx}F zXB8GfbJ(;=_%P{+5QKif^oS6dSj@txH*hy*7shT3<`^Y}g7poI5`c9Wofxc>1FRfH zm?wP|zH0Jsqe!dCe{R+5OTLmJ#8y+iB%1<9#*H{?h|yMMI;M9{is*pk+x;c63er+>K7GS($=U(A~o_bQZ=%Hu|5a?6KT|# zTWC#NqY;TUP9cho0?e1SxJQeatZ7i+D)0xvbd8L(HBKXk8Wl{2nKh=t|Cb$-*6iYph^wp_}+x9Phf zk=(M=*|n&?yf=RFVdc^IWl*&q)_*9>+0*yRccf!pf9}hHFR~+>>qTla+uEtD?tRA_Yg=8s5|MXD%du~;O|Kp7ot}zc~rZ=;CE;6wCNm7RTJ>VGxt6(>x|9Y?>xH$^>e0wtOZ70OLD`- zbA5N6mk$u1v82erGZ*gbEcT+Ge7zrXY23HmOD@*zhsKx-GxccnY22UWR{%HjYv7yt zjqs^Y)3bTLE!x%Y1ZEKy+hoi`!cX76ewJ8xbIH$Bt4fy^3 z1OqTDZb_Ng7Hf_~)lfhWzSTpb87ebHODxjV8Y)#()y3vvoS4(3C}Abah~F=J9O=0N zS|eR^IQ96JrIS~jCht$R>i;7*wH`{P)o*IvaDAy~_b6+8q1sR&5DClo!tU{m^S8!) zin25;-wKE4`e1`3;ylW`@9=c@G)OXV*^fi?Tl|rzq7?yd7h@qggp|rsskkg<*Iw}< zeu-;cFd7R*!rrn{H$Nq=#c{PQ9u0cK!FXG=NiA{J!~<%md3kVqU8E%#_J-p;=WcEk R#=f{NFs=WD^PMM;{GS!97o`9I literal 0 HcmV?d00001 diff --git a/WordAddIn/WordAddIn/bin/Release/Microsoft.Office.Tools.Common.v4.0.Utilities.dll b/WordAddIn/WordAddIn/bin/Release/Microsoft.Office.Tools.Common.v4.0.Utilities.dll new file mode 100644 index 0000000000000000000000000000000000000000..03a6ef84ea624dd64e713eaac65a2e549df3b0b9 GIT binary patch literal 32664 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í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%0DEr7GdjQeoRVXCRj8^5 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%0D$5rmHv>Lftaq^~p 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

H47R|MKZGixFOY$x9pV|{ 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 literal 0 HcmV?d00001 diff --git a/WordAddIn/WordAddIn/bin/Release/Newtonsoft.Json.xml b/WordAddIn/WordAddIn/bin/Release/Newtonsoft.Json.xml new file mode 100644 index 0000000..c54167c --- /dev/null +++ b/WordAddIn/WordAddIn/bin/Release/Newtonsoft.Json.xml @@ -0,0 +1,11698 @@ + + + + Newtonsoft.Json + + + + + Represents a BSON Oid (object id). + + + + + Gets or sets the value of the Oid. + + The value of the Oid. + + + + Initializes a new instance of the class. + + The Oid value. + + + + Represents a reader that provides fast, non-cached, forward-only access to serialized BSON data. + + + + + Gets or sets a value indicating whether binary data reading should be compatible with incorrect Json.NET 3.5 written binary. + + + true if binary data reading will be compatible with incorrect Json.NET 3.5 written binary; otherwise, false. + + + + + Gets or sets a value indicating whether the root object will be read as a JSON array. + + + true if the root object will be read as a JSON array; otherwise, false. + + + + + Gets or sets the used when reading values from BSON. + + The used when reading values from BSON. + + + + Initializes a new instance of the class. + + The containing the BSON data to read. + + + + Initializes a new instance of the class. + + The containing the BSON data to read. + + + + Initializes a new instance of the class. + + The containing the BSON data to read. + if set to true the root object will be read as a JSON array. + The used when reading values from BSON. + + + + Initializes a new instance of the class. + + The containing the BSON data to read. + if set to true the root object will be read as a JSON array. + The used when reading values from BSON. + + + + Reads the next JSON token from the underlying . + + + true if the next token was read successfully; false if there are no more tokens to read. + + + + + Changes the reader's state to . + If is set to true, the underlying is also closed. + + + + + Represents a writer that provides a fast, non-cached, forward-only way of generating BSON data. + + + + + Gets or sets the used when writing values to BSON. + When set to no conversion will occur. + + The used when writing values to BSON. + + + + Initializes a new instance of the class. + + The to write to. + + + + Initializes a new instance of the class. + + The to write to. + + + + Flushes whatever is in the buffer to the underlying and also flushes the underlying stream. + + + + + Writes the end. + + The token. + + + + Writes a comment /*...*/ containing the specified text. + + Text to place inside the comment. + + + + Writes the start of a constructor with the given name. + + The name of the constructor. + + + + Writes raw JSON. + + The raw JSON to write. + + + + Writes raw JSON where a value is expected and updates the writer's state. + + The raw JSON to write. + + + + Writes the beginning of a JSON array. + + + + + Writes the beginning of a JSON object. + + + + + Writes the property name of a name/value pair on a JSON object. + + The name of the property. + + + + Closes this writer. + If is set to true, the underlying is also closed. + If is set to true, the JSON is auto-completed. + + + + + Writes a value. + An error will raised if the value cannot be written as a single JSON token. + + The value to write. + + + + Writes a null value. + + + + + Writes an undefined value. + + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a [] value. + + The [] value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a [] value that represents a BSON object id. + + The Object ID value to write. + + + + Writes a BSON regex. + + The regex pattern. + The regex options. + + + + Specifies how constructors are used when initializing objects during deserialization by the . + + + + + First attempt to use the public default constructor, then fall back to a single parameterized constructor, then to the non-public default constructor. + + + + + Json.NET will use a non-public default constructor before falling back to a parameterized constructor. + + + + + Converts a binary value to and from a base 64 string value. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts a to and from JSON and BSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Creates a custom object. + + The object type to convert. + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Creates an object which will then be populated by the serializer. + + Type of the object. + The created object. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Gets a value indicating whether this can write JSON. + + + true if this can write JSON; otherwise, false. + + + + + Converts a to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified value type. + + Type of the value. + + true if this instance can convert the specified value type; otherwise, false. + + + + + Converts a to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified value type. + + Type of the value. + + true if this instance can convert the specified value type; otherwise, false. + + + + + Provides a base class for converting a to and from JSON. + + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts a F# discriminated union type to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts an Entity Framework to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts an to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Gets a value indicating whether this can write JSON. + + + true if this can write JSON; otherwise, false. + + + + + Converts a to and from the ISO 8601 date format (e.g. "2008-04-12T12:53Z"). + + + + + Gets or sets the date time styles used when converting a date to and from JSON. + + The date time styles used when converting a date to and from JSON. + + + + Gets or sets the date time format used when converting a date to and from JSON. + + The date time format used when converting a date to and from JSON. + + + + Gets or sets the culture used when converting a date to and from JSON. + + The culture used when converting a date to and from JSON. + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Converts a to and from a JavaScript Date constructor (e.g. new Date(52231943)). + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing property value of the JSON that is being converted. + The calling serializer. + The object value. + + + + Converts a to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts a to and from JSON and BSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts an to and from its name string value. + + + + + Gets or sets a value indicating whether the written enum text should be camel case. + The default value is false. + + true if the written enum text will be camel case; otherwise, false. + + + + Gets or sets the naming strategy used to resolve how enum text is written. + + The naming strategy used to resolve how enum text is written. + + + + Gets or sets a value indicating whether integer values are allowed when serializing and deserializing. + The default value is true. + + true if integers are allowed when serializing and deserializing; otherwise, false. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + true if the written enum text will be camel case; otherwise, false. + + + + Initializes a new instance of the class. + + The naming strategy used to resolve how enum text is written. + true if integers are allowed when serializing and deserializing; otherwise, false. + + + + Initializes a new instance of the class. + + The of the used to write enum text. + + + + Initializes a new instance of the class. + + The of the used to write enum text. + + The parameter list to use when constructing the described by . + If null, the default constructor is used. + When non-null, there must be a constructor defined in the that exactly matches the number, + order, and type of these parameters. + + + + + Initializes a new instance of the class. + + The of the used to write enum text. + + The parameter list to use when constructing the described by . + If null, the default constructor is used. + When non-null, there must be a constructor defined in the that exactly matches the number, + order, and type of these parameters. + + true if integers are allowed when serializing and deserializing; otherwise, false. + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts a to and from Unix epoch time + + + + + Gets or sets a value indicating whether the dates before Unix epoch + should converted to and from JSON. + + + true to allow converting dates before Unix epoch to and from JSON; + false to throw an exception when a date being converted to or from JSON + occurred before Unix epoch. The default value is false. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + + true to allow converting dates before Unix epoch to and from JSON; + false to throw an exception when a date being converted to or from JSON + occurred before Unix epoch. The default value is false. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing property value of the JSON that is being converted. + The calling serializer. + The object value. + + + + Converts a to and from a string (e.g. "1.2.3.4"). + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing property value of the JSON that is being converted. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts XML to and from JSON. + + + + + Gets or sets the name of the root element to insert when deserializing to XML if the JSON structure has produced multiple root elements. + + The name of the deserialized root element. + + + + Gets or sets a value to indicate whether to write the Json.NET array attribute. + This attribute helps preserve arrays when converting the written XML back to JSON. + + true if the array attribute is written to the XML; otherwise, false. + + + + Gets or sets a value indicating whether to write the root JSON object. + + true if the JSON root object is omitted; otherwise, false. + + + + Gets or sets a value indicating whether to encode special characters when converting JSON to XML. + If true, special characters like ':', '@', '?', '#' and '$' in JSON property names aren't used to specify + XML namespaces, attributes or processing directives. Instead special characters are encoded and written + as part of the XML element name. + + true if special characters are encoded; otherwise, false. + + + + Writes the JSON representation of the object. + + The to write to. + The calling serializer. + The value. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Checks if the is a namespace attribute. + + Attribute name to test. + The attribute name prefix if it has one, otherwise an empty string. + true if attribute name is for a namespace attribute, otherwise false. + + + + Determines whether this instance can convert the specified value type. + + Type of the value. + + true if this instance can convert the specified value type; otherwise, false. + + + + + Specifies how dates are formatted when writing JSON text. + + + + + Dates are written in the ISO 8601 format, e.g. "2012-03-21T05:40Z". + + + + + Dates are written in the Microsoft JSON format, e.g. "\/Date(1198908717056)\/". + + + + + Specifies how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON text. + + + + + Date formatted strings are not parsed to a date type and are read as strings. + + + + + Date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed to . + + + + + Date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed to . + + + + + Specifies how to treat the time value when converting between string and . + + + + + Treat as local time. If the object represents a Coordinated Universal Time (UTC), it is converted to the local time. + + + + + Treat as a UTC. If the object represents a local time, it is converted to a UTC. + + + + + Treat as a local time if a is being converted to a string. + If a string is being converted to , convert to a local time if a time zone is specified. + + + + + Time zone information should be preserved when converting. + + + + + The default JSON name table implementation. + + + + + Initializes a new instance of the class. + + + + + Gets a string containing the same characters as the specified range of characters in the given array. + + The character array containing the name to find. + The zero-based index into the array specifying the first character of the name. + The number of characters in the name. + A string containing the same characters as the specified range of characters in the given array. + + + + Adds the specified string into name table. + + The string to add. + This method is not thread-safe. + The resolved string. + + + + Specifies default value handling options for the . + + + + + + + + + Include members where the member value is the same as the member's default value when serializing objects. + Included members are written to JSON. Has no effect when deserializing. + + + + + Ignore members where the member value is the same as the member's default value when serializing objects + so that it is not written to JSON. + This option will ignore all default values (e.g. null for objects and nullable types; 0 for integers, + decimals and floating point numbers; and false for booleans). The default value ignored can be changed by + placing the on the property. + + + + + Members with a default value but no JSON will be set to their default value when deserializing. + + + + + Ignore members where the member value is the same as the member's default value when serializing objects + and set members to their default value when deserializing. + + + + + Specifies float format handling options when writing special floating point numbers, e.g. , + and with . + + + + + Write special floating point values as strings in JSON, e.g. "NaN", "Infinity", "-Infinity". + + + + + Write special floating point values as symbols in JSON, e.g. NaN, Infinity, -Infinity. + Note that this will produce non-valid JSON. + + + + + Write special floating point values as the property's default value in JSON, e.g. 0.0 for a property, null for a of property. + + + + + Specifies how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text. + + + + + Floating point numbers are parsed to . + + + + + Floating point numbers are parsed to . + + + + + Specifies formatting options for the . + + + + + No special formatting is applied. This is the default. + + + + + Causes child objects to be indented according to the and settings. + + + + + Provides an interface for using pooled arrays. + + The array type content. + + + + Rent an array from the pool. This array must be returned when it is no longer needed. + + The minimum required length of the array. The returned array may be longer. + The rented array from the pool. This array must be returned when it is no longer needed. + + + + Return an array to the pool. + + The array that is being returned. + + + + Provides an interface to enable a class to return line and position information. + + + + + Gets a value indicating whether the class can return line information. + + + true if and can be provided; otherwise, false. + + + + + Gets the current line number. + + The current line number or 0 if no line information is available (for example, when returns false). + + + + Gets the current line position. + + The current line position or 0 if no line information is available (for example, when returns false). + + + + Instructs the how to serialize the collection. + + + + + Gets or sets a value indicating whether null items are allowed in the collection. + + true if null items are allowed in the collection; otherwise, false. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with a flag indicating whether the array can contain null items. + + A flag indicating whether the array can contain null items. + + + + Initializes a new instance of the class with the specified container Id. + + The container Id. + + + + Instructs the to use the specified constructor when deserializing that object. + + + + + Instructs the how to serialize the object. + + + + + Gets or sets the id. + + The id. + + + + Gets or sets the title. + + The title. + + + + Gets or sets the description. + + The description. + + + + Gets or sets the collection's items converter. + + The collection's items converter. + + + + The parameter list to use when constructing the described by . + If null, the default constructor is used. + When non-null, there must be a constructor defined in the that exactly matches the number, + order, and type of these parameters. + + + + [JsonContainer(ItemConverterType = typeof(MyContainerConverter), ItemConverterParameters = new object[] { 123, "Four" })] + + + + + + Gets or sets the of the . + + The of the . + + + + The parameter list to use when constructing the described by . + If null, the default constructor is used. + When non-null, there must be a constructor defined in the that exactly matches the number, + order, and type of these parameters. + + + + [JsonContainer(NamingStrategyType = typeof(MyNamingStrategy), NamingStrategyParameters = new object[] { 123, "Four" })] + + + + + + Gets or sets a value that indicates whether to preserve object references. + + + true to keep object reference; otherwise, false. The default is false. + + + + + Gets or sets a value that indicates whether to preserve collection's items references. + + + true to keep collection's items object references; otherwise, false. The default is false. + + + + + Gets or sets the reference loop handling used when serializing the collection's items. + + The reference loop handling. + + + + Gets or sets the type name handling used when serializing the collection's items. + + The type name handling. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the specified container Id. + + The container Id. + + + + Provides methods for converting between .NET types and JSON types. + + + + + + + + Gets or sets a function that creates default . + Default settings are automatically used by serialization methods on , + and and on . + To serialize without using any default settings create a with + . + + + + + Represents JavaScript's boolean value true as a string. This field is read-only. + + + + + Represents JavaScript's boolean value false as a string. This field is read-only. + + + + + Represents JavaScript's null as a string. This field is read-only. + + + + + Represents JavaScript's undefined as a string. This field is read-only. + + + + + Represents JavaScript's positive infinity as a string. This field is read-only. + + + + + Represents JavaScript's negative infinity as a string. This field is read-only. + + + + + Represents JavaScript's NaN as a string. This field is read-only. + + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation using the specified. + + The value to convert. + The format the date will be converted to. + The time zone handling when the date is converted to a string. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation using the specified. + + The value to convert. + The format the date will be converted to. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + The string delimiter character. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + The string delimiter character. + The string escape handling. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Serializes the specified object to a JSON string. + + The object to serialize. + A JSON string representation of the object. + + + + Serializes the specified object to a JSON string using formatting. + + The object to serialize. + Indicates how the output should be formatted. + + A JSON string representation of the object. + + + + + Serializes the specified object to a JSON string using a collection of . + + The object to serialize. + A collection of converters used while serializing. + A JSON string representation of the object. + + + + Serializes the specified object to a JSON string using formatting and a collection of . + + The object to serialize. + Indicates how the output should be formatted. + A collection of converters used while serializing. + A JSON string representation of the object. + + + + Serializes the specified object to a JSON string using . + + The object to serialize. + The used to serialize the object. + If this is null, default serialization settings will be used. + + A JSON string representation of the object. + + + + + Serializes the specified object to a JSON string using a type and . + + The object to serialize. + The used to serialize the object. + If this is null, default serialization settings will be used. + + The type of the value being serialized. + This parameter is used when is to write out the type name if the type of the value does not match. + Specifying the type is optional. + + + A JSON string representation of the object. + + + + + Serializes the specified object to a JSON string using formatting and . + + The object to serialize. + Indicates how the output should be formatted. This value overrides the formatting specified on . + The used to serialize the object. + If this is null, default serialization settings will be used. + + A JSON string representation of the object. + + + + + Serializes the specified object to a JSON string using a type, formatting and . + + The object to serialize. + Indicates how the output should be formatted. This value overrides the formatting specified on . + The used to serialize the object. + If this is null, default serialization settings will be used. + + The type of the value being serialized. + This parameter is used when is to write out the type name if the type of the value does not match. + Specifying the type is optional. + + + A JSON string representation of the object. + + + + + Deserializes the JSON to a .NET object. + + The JSON to deserialize. + The deserialized object from the JSON string. A value is returned if the provided JSON is valid but represents a null value. + + + + Deserializes the JSON to a .NET object using . + + The JSON to deserialize. + + The used to deserialize the object. + If this is null, default serialization settings will be used. + + The deserialized object from the JSON string. A value is returned if the provided JSON is valid but represents a null value. + + + + Deserializes the JSON to the specified .NET type. + + The JSON to deserialize. + The of object being deserialized. + The deserialized object from the JSON string. A value is returned if the provided JSON is valid but represents a null value. + + + + Deserializes the JSON to the specified .NET type. + + The type of the object to deserialize to. + The JSON to deserialize. + The deserialized object from the JSON string. A value is returned if the provided JSON is valid but represents a null value. + + + + Deserializes the JSON to the given anonymous type. + + + The anonymous type to deserialize to. This can't be specified + traditionally and must be inferred from the anonymous type passed + as a parameter. + + The JSON to deserialize. + The anonymous type object. + The deserialized anonymous type from the JSON string. A value is returned if the provided JSON is valid but represents a null value. + + + + Deserializes the JSON to the given anonymous type using . + + + The anonymous type to deserialize to. This can't be specified + traditionally and must be inferred from the anonymous type passed + as a parameter. + + The JSON to deserialize. + The anonymous type object. + + The used to deserialize the object. + If this is null, default serialization settings will be used. + + The deserialized anonymous type from the JSON string. A value is returned if the provided JSON is valid but represents a null value. + + + + Deserializes the JSON to the specified .NET type using a collection of . + + The type of the object to deserialize to. + The JSON to deserialize. + Converters to use while deserializing. + The deserialized object from the JSON string. A value is returned if the provided JSON is valid but represents a null value. + + + + Deserializes the JSON to the specified .NET type using . + + The type of the object to deserialize to. + The object to deserialize. + + The used to deserialize the object. + If this is null, default serialization settings will be used. + + The deserialized object from the JSON string. A value is returned if the provided JSON is valid but represents a null value. + + + + Deserializes the JSON to the specified .NET type using a collection of . + + The JSON to deserialize. + The type of the object to deserialize. + Converters to use while deserializing. + The deserialized object from the JSON string. A value is returned if the provided JSON is valid but represents a null value. + + + + Deserializes the JSON to the specified .NET type using . + + The JSON to deserialize. + The type of the object to deserialize to. + + The used to deserialize the object. + If this is null, default serialization settings will be used. + + The deserialized object from the JSON string. A value is returned if the provided JSON is valid but represents a null value. + + + + Populates the object with values from the JSON string. + + The JSON to populate values from. + The target object to populate values onto. + + + + Populates the object with values from the JSON string using . + + The JSON to populate values from. + The target object to populate values onto. + + The used to deserialize the object. + If this is null, default serialization settings will be used. + + + + + Serializes the to a JSON string. + + The node to serialize. + A JSON string of the . + + + + Serializes the to a JSON string using formatting. + + The node to serialize. + Indicates how the output should be formatted. + A JSON string of the . + + + + Serializes the to a JSON string using formatting and omits the root object if is true. + + The node to serialize. + Indicates how the output should be formatted. + Omits writing the root object. + A JSON string of the . + + + + Deserializes the from a JSON string. + + The JSON string. + The deserialized . + + + + Deserializes the from a JSON string nested in a root element specified by . + + The JSON string. + The name of the root element to append when deserializing. + The deserialized . + + + + Deserializes the from a JSON string nested in a root element specified by + and writes a Json.NET array attribute for collections. + + The JSON string. + The name of the root element to append when deserializing. + + A value to indicate whether to write the Json.NET array attribute. + This attribute helps preserve arrays when converting the written XML back to JSON. + + The deserialized . + + + + Deserializes the from a JSON string nested in a root element specified by , + writes a Json.NET array attribute for collections, and encodes special characters. + + The JSON string. + The name of the root element to append when deserializing. + + A value to indicate whether to write the Json.NET array attribute. + This attribute helps preserve arrays when converting the written XML back to JSON. + + + A value to indicate whether to encode special characters when converting JSON to XML. + If true, special characters like ':', '@', '?', '#' and '$' in JSON property names aren't used to specify + XML namespaces, attributes or processing directives. Instead special characters are encoded and written + as part of the XML element name. + + The deserialized . + + + + Serializes the to a JSON string. + + The node to convert to JSON. + A JSON string of the . + + + + Serializes the to a JSON string using formatting. + + The node to convert to JSON. + Indicates how the output should be formatted. + A JSON string of the . + + + + Serializes the to a JSON string using formatting and omits the root object if is true. + + The node to serialize. + Indicates how the output should be formatted. + Omits writing the root object. + A JSON string of the . + + + + Deserializes the from a JSON string. + + The JSON string. + The deserialized . + + + + Deserializes the from a JSON string nested in a root element specified by . + + The JSON string. + The name of the root element to append when deserializing. + The deserialized . + + + + Deserializes the from a JSON string nested in a root element specified by + and writes a Json.NET array attribute for collections. + + The JSON string. + The name of the root element to append when deserializing. + + A value to indicate whether to write the Json.NET array attribute. + This attribute helps preserve arrays when converting the written XML back to JSON. + + The deserialized . + + + + Deserializes the from a JSON string nested in a root element specified by , + writes a Json.NET array attribute for collections, and encodes special characters. + + The JSON string. + The name of the root element to append when deserializing. + + A value to indicate whether to write the Json.NET array attribute. + This attribute helps preserve arrays when converting the written XML back to JSON. + + + A value to indicate whether to encode special characters when converting JSON to XML. + If true, special characters like ':', '@', '?', '#' and '$' in JSON property names aren't used to specify + XML namespaces, attributes or processing directives. Instead special characters are encoded and written + as part of the XML element name. + + The deserialized . + + + + Converts an object to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Gets a value indicating whether this can read JSON. + + true if this can read JSON; otherwise, false. + + + + Gets a value indicating whether this can write JSON. + + true if this can write JSON; otherwise, false. + + + + Converts an object to and from JSON. + + The object type to convert. + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. If there is no existing value then null will be used. + The existing value has a value. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Instructs the to use the specified when serializing the member or class. + + + + + Gets the of the . + + The of the . + + + + The parameter list to use when constructing the described by . + If null, the default constructor is used. + + + + + Initializes a new instance of the class. + + Type of the . + + + + Initializes a new instance of the class. + + Type of the . + Parameter list to use when constructing the . Can be null. + + + + Represents a collection of . + + + + + Instructs the how to serialize the collection. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the specified container Id. + + The container Id. + + + + The exception thrown when an error occurs during JSON serialization or deserialization. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or null if no inner exception is specified. + + + + Initializes a new instance of the class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + The parameter is null. + The class name is null or is zero (0). + + + + Instructs the to deserialize properties with no matching class member into the specified collection + and write values during serialization. + + + + + Gets or sets a value that indicates whether to write extension data when serializing the object. + + + true to write extension data when serializing the object; otherwise, false. The default is true. + + + + + Gets or sets a value that indicates whether to read extension data when deserializing the object. + + + true to read extension data when deserializing the object; otherwise, false. The default is true. + + + + + Initializes a new instance of the class. + + + + + Instructs the not to serialize the public field or public read/write property value. + + + + + Base class for a table of atomized string objects. + + + + + Gets a string containing the same characters as the specified range of characters in the given array. + + The character array containing the name to find. + The zero-based index into the array specifying the first character of the name. + The number of characters in the name. + A string containing the same characters as the specified range of characters in the given array. + + + + Instructs the how to serialize the object. + + + + + Gets or sets the member serialization. + + The member serialization. + + + + Gets or sets the missing member handling used when deserializing this object. + + The missing member handling. + + + + Gets or sets how the object's properties with null values are handled during serialization and deserialization. + + How the object's properties with null values are handled during serialization and deserialization. + + + + Gets or sets a value that indicates whether the object's properties are required. + + + A value indicating whether the object's properties are required. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the specified member serialization. + + The member serialization. + + + + Initializes a new instance of the class with the specified container Id. + + The container Id. + + + + Instructs the to always serialize the member with the specified name. + + + + + Gets or sets the type used when serializing the property's collection items. + + The collection's items type. + + + + The parameter list to use when constructing the described by . + If null, the default constructor is used. + When non-null, there must be a constructor defined in the that exactly matches the number, + order, and type of these parameters. + + + + [JsonProperty(ItemConverterType = typeof(MyContainerConverter), ItemConverterParameters = new object[] { 123, "Four" })] + + + + + + Gets or sets the of the . + + The of the . + + + + The parameter list to use when constructing the described by . + If null, the default constructor is used. + When non-null, there must be a constructor defined in the that exactly matches the number, + order, and type of these parameters. + + + + [JsonProperty(NamingStrategyType = typeof(MyNamingStrategy), NamingStrategyParameters = new object[] { 123, "Four" })] + + + + + + Gets or sets the null value handling used when serializing this property. + + The null value handling. + + + + Gets or sets the default value handling used when serializing this property. + + The default value handling. + + + + Gets or sets the reference loop handling used when serializing this property. + + The reference loop handling. + + + + Gets or sets the object creation handling used when deserializing this property. + + The object creation handling. + + + + Gets or sets the type name handling used when serializing this property. + + The type name handling. + + + + Gets or sets whether this property's value is serialized as a reference. + + Whether this property's value is serialized as a reference. + + + + Gets or sets the order of serialization of a member. + + The numeric order of serialization. + + + + Gets or sets a value indicating whether this property is required. + + + A value indicating whether this property is required. + + + + + Gets or sets the name of the property. + + The name of the property. + + + + Gets or sets the reference loop handling used when serializing the property's collection items. + + The collection's items reference loop handling. + + + + Gets or sets the type name handling used when serializing the property's collection items. + + The collection's items type name handling. + + + + Gets or sets whether this property's collection items are serialized as a reference. + + Whether this property's collection items are serialized as a reference. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the specified name. + + Name of the property. + + + + Represents a reader that provides fast, non-cached, forward-only access to serialized JSON data. + + + + + Asynchronously reads the next JSON token from the source. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous read. The + property returns true if the next token was read successfully; false if there are no more tokens to read. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously skips the children of the current token. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously reads the next JSON token from the source as a of . + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous read. The + property returns the of . This result will be null at the end of an array. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously reads the next JSON token from the source as a []. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous read. The + property returns the []. This result will be null at the end of an array. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously reads the next JSON token from the source as a of . + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous read. The + property returns the of . This result will be null at the end of an array. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously reads the next JSON token from the source as a of . + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous read. The + property returns the of . This result will be null at the end of an array. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously reads the next JSON token from the source as a of . + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous read. The + property returns the of . This result will be null at the end of an array. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously reads the next JSON token from the source as a of . + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous read. The + property returns the of . This result will be null at the end of an array. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously reads the next JSON token from the source as a of . + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous read. The + property returns the of . This result will be null at the end of an array. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously reads the next JSON token from the source as a . + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous read. The + property returns the . This result will be null at the end of an array. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Specifies the state of the reader. + + + + + A read method has not been called. + + + + + The end of the file has been reached successfully. + + + + + Reader is at a property. + + + + + Reader is at the start of an object. + + + + + Reader is in an object. + + + + + Reader is at the start of an array. + + + + + Reader is in an array. + + + + + The method has been called. + + + + + Reader has just read a value. + + + + + Reader is at the start of a constructor. + + + + + Reader is in a constructor. + + + + + An error occurred that prevents the read operation from continuing. + + + + + The end of the file has been reached successfully. + + + + + Gets the current reader state. + + The current reader state. + + + + Gets or sets a value indicating whether the source should be closed when this reader is closed. + + + true to close the source when this reader is closed; otherwise false. The default is true. + + + + + Gets or sets a value indicating whether multiple pieces of JSON content can + be read from a continuous stream without erroring. + + + true to support reading multiple pieces of JSON content; otherwise false. + The default is false. + + + + + Gets the quotation mark character used to enclose the value of a string. + + + + + Gets or sets how time zones are handled when reading JSON. + + + + + Gets or sets how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON. + + + + + Gets or sets how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text. + + + + + Gets or sets how custom date formatted strings are parsed when reading JSON. + + + + + Gets or sets the maximum depth allowed when reading JSON. Reading past this depth will throw a . + A null value means there is no maximum. + The default value is 64. + + + + + Gets the type of the current JSON token. + + + + + Gets the text value of the current JSON token. + + + + + Gets the .NET type for the current JSON token. + + + + + Gets the depth of the current token in the JSON document. + + The depth of the current token in the JSON document. + + + + Gets the path of the current JSON token. + + + + + Gets or sets the culture used when reading JSON. Defaults to . + + + + + Initializes a new instance of the class. + + + + + Reads the next JSON token from the source. + + true if the next token was read successfully; false if there are no more tokens to read. + + + + Reads the next JSON token from the source as a of . + + A of . This method will return null at the end of an array. + + + + Reads the next JSON token from the source as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the source as a []. + + A [] or null if the next JSON token is null. This method will return null at the end of an array. + + + + Reads the next JSON token from the source as a of . + + A of . This method will return null at the end of an array. + + + + Reads the next JSON token from the source as a of . + + A of . This method will return null at the end of an array. + + + + Reads the next JSON token from the source as a of . + + A of . This method will return null at the end of an array. + + + + Reads the next JSON token from the source as a of . + + A of . This method will return null at the end of an array. + + + + Reads the next JSON token from the source as a of . + + A of . This method will return null at the end of an array. + + + + Skips the children of the current token. + + + + + Sets the current token. + + The new token. + + + + Sets the current token and value. + + The new token. + The value. + + + + Sets the current token and value. + + The new token. + The value. + A flag indicating whether the position index inside an array should be updated. + + + + Sets the state based on current token type. + + + + + Releases unmanaged and - optionally - managed resources. + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Changes the reader's state to . + If is set to true, the source is also closed. + + + + + The exception thrown when an error occurs while reading JSON text. + + + + + Gets the line number indicating where the error occurred. + + The line number indicating where the error occurred. + + + + Gets the line position indicating where the error occurred. + + The line position indicating where the error occurred. + + + + Gets the path to the JSON where the error occurred. + + The path to the JSON where the error occurred. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or null if no inner exception is specified. + + + + Initializes a new instance of the class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + The parameter is null. + The class name is null or is zero (0). + + + + Initializes a new instance of the class + with a specified error message, JSON path, line number, line position, and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The path to the JSON where the error occurred. + The line number indicating where the error occurred. + The line position indicating where the error occurred. + The exception that is the cause of the current exception, or null if no inner exception is specified. + + + + Instructs the to always serialize the member, and to require that the member has a value. + + + + + The exception thrown when an error occurs during JSON serialization or deserialization. + + + + + Gets the line number indicating where the error occurred. + + The line number indicating where the error occurred. + + + + Gets the line position indicating where the error occurred. + + The line position indicating where the error occurred. + + + + Gets the path to the JSON where the error occurred. + + The path to the JSON where the error occurred. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or null if no inner exception is specified. + + + + Initializes a new instance of the class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + The parameter is null. + The class name is null or is zero (0). + + + + Initializes a new instance of the class + with a specified error message, JSON path, line number, line position, and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The path to the JSON where the error occurred. + The line number indicating where the error occurred. + The line position indicating where the error occurred. + The exception that is the cause of the current exception, or null if no inner exception is specified. + + + + Serializes and deserializes objects into and from the JSON format. + The enables you to control how objects are encoded into JSON. + + + + + Occurs when the errors during serialization and deserialization. + + + + + Gets or sets the used by the serializer when resolving references. + + + + + Gets or sets the used by the serializer when resolving type names. + + + + + Gets or sets the used by the serializer when resolving type names. + + + + + Gets or sets the used by the serializer when writing trace messages. + + The trace writer. + + + + Gets or sets the equality comparer used by the serializer when comparing references. + + The equality comparer. + + + + Gets or sets how type name writing and reading is handled by the serializer. + The default value is . + + + should be used with caution when your application deserializes JSON from an external source. + Incoming types should be validated with a custom + when deserializing with a value other than . + + + + + Gets or sets how a type name assembly is written and resolved by the serializer. + The default value is . + + The type name assembly format. + + + + Gets or sets how a type name assembly is written and resolved by the serializer. + The default value is . + + The type name assembly format. + + + + Gets or sets how object references are preserved by the serializer. + The default value is . + + + + + Gets or sets how reference loops (e.g. a class referencing itself) is handled. + The default value is . + + + + + Gets or sets how missing members (e.g. JSON contains a property that isn't a member on the object) are handled during deserialization. + The default value is . + + + + + Gets or sets how null values are handled during serialization and deserialization. + The default value is . + + + + + Gets or sets how default values are handled during serialization and deserialization. + The default value is . + + + + + Gets or sets how objects are created during deserialization. + The default value is . + + The object creation handling. + + + + Gets or sets how constructors are used during deserialization. + The default value is . + + The constructor handling. + + + + Gets or sets how metadata properties are used during deserialization. + The default value is . + + The metadata properties handling. + + + + Gets a collection that will be used during serialization. + + Collection that will be used during serialization. + + + + Gets or sets the contract resolver used by the serializer when + serializing .NET objects to JSON and vice versa. + + + + + Gets or sets the used by the serializer when invoking serialization callback methods. + + The context. + + + + Indicates how JSON text output is formatted. + The default value is . + + + + + Gets or sets how dates are written to JSON text. + The default value is . + + + + + Gets or sets how time zones are handled during serialization and deserialization. + The default value is . + + + + + Gets or sets how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON. + The default value is . + + + + + Gets or sets how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text. + The default value is . + + + + + Gets or sets how special floating point numbers, e.g. , + and , + are written as JSON text. + The default value is . + + + + + Gets or sets how strings are escaped when writing JSON text. + The default value is . + + + + + Gets or sets how and values are formatted when writing JSON text, + and the expected date format when reading JSON text. + The default value is "yyyy'-'MM'-'dd'T'HH':'mm':'ss.FFFFFFFK". + + + + + Gets or sets the culture used when reading JSON. + The default value is . + + + + + Gets or sets the maximum depth allowed when reading JSON. Reading past this depth will throw a . + A null value means there is no maximum. + The default value is 64. + + + + + Gets a value indicating whether there will be a check for additional JSON content after deserializing an object. + The default value is false. + + + true if there will be a check for additional JSON content after deserializing an object; otherwise, false. + + + + + Initializes a new instance of the class. + + + + + Creates a new instance. + The will not use default settings + from . + + + A new instance. + The will not use default settings + from . + + + + + Creates a new instance using the specified . + The will not use default settings + from . + + The settings to be applied to the . + + A new instance using the specified . + The will not use default settings + from . + + + + + Creates a new instance. + The will use default settings + from . + + + A new instance. + The will use default settings + from . + + + + + Creates a new instance using the specified . + The will use default settings + from as well as the specified . + + The settings to be applied to the . + + A new instance using the specified . + The will use default settings + from as well as the specified . + + + + + Populates the JSON values onto the target object. + + The that contains the JSON structure to read values from. + The target object to populate values onto. + + + + Populates the JSON values onto the target object. + + The that contains the JSON structure to read values from. + The target object to populate values onto. + + + + Deserializes the JSON structure contained by the specified . + + The that contains the JSON structure to deserialize. + The being deserialized. + + + + Deserializes the JSON structure contained by the specified + into an instance of the specified type. + + The containing the object. + The of object being deserialized. + The instance of being deserialized. + + + + Deserializes the JSON structure contained by the specified + into an instance of the specified type. + + The containing the object. + The type of the object to deserialize. + The instance of being deserialized. + + + + Deserializes the JSON structure contained by the specified + into an instance of the specified type. + + The containing the object. + The of object being deserialized. + The instance of being deserialized. + + + + Serializes the specified and writes the JSON structure + using the specified . + + The used to write the JSON structure. + The to serialize. + + + + Serializes the specified and writes the JSON structure + using the specified . + + The used to write the JSON structure. + The to serialize. + + The type of the value being serialized. + This parameter is used when is to write out the type name if the type of the value does not match. + Specifying the type is optional. + + + + + Serializes the specified and writes the JSON structure + using the specified . + + The used to write the JSON structure. + The to serialize. + + The type of the value being serialized. + This parameter is used when is Auto to write out the type name if the type of the value does not match. + Specifying the type is optional. + + + + + Serializes the specified and writes the JSON structure + using the specified . + + The used to write the JSON structure. + The to serialize. + + + + Specifies the settings on a object. + + + + + Gets or sets how reference loops (e.g. a class referencing itself) are handled. + The default value is . + + Reference loop handling. + + + + Gets or sets how missing members (e.g. JSON contains a property that isn't a member on the object) are handled during deserialization. + The default value is . + + Missing member handling. + + + + Gets or sets how objects are created during deserialization. + The default value is . + + The object creation handling. + + + + Gets or sets how null values are handled during serialization and deserialization. + The default value is . + + Null value handling. + + + + Gets or sets how default values are handled during serialization and deserialization. + The default value is . + + The default value handling. + + + + Gets or sets a collection that will be used during serialization. + + The converters. + + + + Gets or sets how object references are preserved by the serializer. + The default value is . + + The preserve references handling. + + + + Gets or sets how type name writing and reading is handled by the serializer. + The default value is . + + + should be used with caution when your application deserializes JSON from an external source. + Incoming types should be validated with a custom + when deserializing with a value other than . + + The type name handling. + + + + Gets or sets how metadata properties are used during deserialization. + The default value is . + + The metadata properties handling. + + + + Gets or sets how a type name assembly is written and resolved by the serializer. + The default value is . + + The type name assembly format. + + + + Gets or sets how a type name assembly is written and resolved by the serializer. + The default value is . + + The type name assembly format. + + + + Gets or sets how constructors are used during deserialization. + The default value is . + + The constructor handling. + + + + Gets or sets the contract resolver used by the serializer when + serializing .NET objects to JSON and vice versa. + + The contract resolver. + + + + Gets or sets the equality comparer used by the serializer when comparing references. + + The equality comparer. + + + + Gets or sets the used by the serializer when resolving references. + + The reference resolver. + + + + Gets or sets a function that creates the used by the serializer when resolving references. + + A function that creates the used by the serializer when resolving references. + + + + Gets or sets the used by the serializer when writing trace messages. + + The trace writer. + + + + Gets or sets the used by the serializer when resolving type names. + + The binder. + + + + Gets or sets the used by the serializer when resolving type names. + + The binder. + + + + Gets or sets the error handler called during serialization and deserialization. + + The error handler called during serialization and deserialization. + + + + Gets or sets the used by the serializer when invoking serialization callback methods. + + The context. + + + + Gets or sets how and values are formatted when writing JSON text, + and the expected date format when reading JSON text. + The default value is "yyyy'-'MM'-'dd'T'HH':'mm':'ss.FFFFFFFK". + + + + + Gets or sets the maximum depth allowed when reading JSON. Reading past this depth will throw a . + A null value means there is no maximum. + The default value is 64. + + + + + Indicates how JSON text output is formatted. + The default value is . + + + + + Gets or sets how dates are written to JSON text. + The default value is . + + + + + Gets or sets how time zones are handled during serialization and deserialization. + The default value is . + + + + + Gets or sets how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON. + The default value is . + + + + + Gets or sets how special floating point numbers, e.g. , + and , + are written as JSON. + The default value is . + + + + + Gets or sets how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text. + The default value is . + + + + + Gets or sets how strings are escaped when writing JSON text. + The default value is . + + + + + Gets or sets the culture used when reading JSON. + The default value is . + + + + + Gets a value indicating whether there will be a check for additional content after deserializing an object. + The default value is false. + + + true if there will be a check for additional content after deserializing an object; otherwise, false. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + using values copied from the passed in . + + + + + Represents a reader that provides fast, non-cached, forward-only access to JSON text data. + + + + + Asynchronously reads the next JSON token from the source. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous read. The + property returns true if the next token was read successfully; false if there are no more tokens to read. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously reads the next JSON token from the source as a of . + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous read. The + property returns the of . This result will be null at the end of an array. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously reads the next JSON token from the source as a []. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous read. The + property returns the []. This result will be null at the end of an array. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously reads the next JSON token from the source as a of . + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous read. The + property returns the of . This result will be null at the end of an array. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously reads the next JSON token from the source as a of . + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous read. The + property returns the of . This result will be null at the end of an array. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously reads the next JSON token from the source as a of . + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous read. The + property returns the of . This result will be null at the end of an array. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously reads the next JSON token from the source as a of . + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous read. The + property returns the of . This result will be null at the end of an array. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously reads the next JSON token from the source as a of . + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous read. The + property returns the of . This result will be null at the end of an array. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously reads the next JSON token from the source as a . + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous read. The + property returns the . This result will be null at the end of an array. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Initializes a new instance of the class with the specified . + + The containing the JSON data to read. + + + + Gets or sets the reader's property name table. + + + + + Gets or sets the reader's character buffer pool. + + + + + Reads the next JSON token from the underlying . + + + true if the next token was read successfully; false if there are no more tokens to read. + + + + + Reads the next JSON token from the underlying as a of . + + A of . This method will return null at the end of an array. + + + + Reads the next JSON token from the underlying as a of . + + A of . This method will return null at the end of an array. + + + + Reads the next JSON token from the underlying as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the underlying as a []. + + A [] or null if the next JSON token is null. This method will return null at the end of an array. + + + + Reads the next JSON token from the underlying as a of . + + A of . This method will return null at the end of an array. + + + + Reads the next JSON token from the underlying as a of . + + A of . This method will return null at the end of an array. + + + + Reads the next JSON token from the underlying as a of . + + A of . This method will return null at the end of an array. + + + + Reads the next JSON token from the underlying as a of . + + A of . This method will return null at the end of an array. + + + + Changes the reader's state to . + If is set to true, the underlying is also closed. + + + + + Gets a value indicating whether the class can return line information. + + + true if and can be provided; otherwise, false. + + + + + Gets the current line number. + + + The current line number or 0 if no line information is available (for example, returns false). + + + + + Gets the current line position. + + + The current line position or 0 if no line information is available (for example, returns false). + + + + + Represents a writer that provides a fast, non-cached, forward-only way of generating JSON data. + + + + + Asynchronously flushes whatever is in the buffer to the destination and also flushes the destination. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes the JSON value delimiter. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes the specified end token. + + The end token to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously closes this writer. + If is set to true, the destination is also closed. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes the end of the current JSON object or array. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes indent characters. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes an indent space. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes raw JSON without changing the writer's state. + + The raw JSON to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a null value. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes the property name of a name/value pair of a JSON object. + + The name of the property. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes the property name of a name/value pair of a JSON object. + + The name of the property. + A flag to indicate whether the text should be escaped when it is written as a JSON property name. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes the beginning of a JSON array. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes the beginning of a JSON object. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes the start of a constructor with the given name. + + The name of the constructor. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes an undefined value. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes the given white space. + + The string of white space characters. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a [] value. + + The [] value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes a comment /*...*/ containing the specified text. + + Text to place inside the comment. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes the end of an array. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes the end of a constructor. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes the end of a JSON object. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Asynchronously writes raw JSON where a value is expected and updates the writer's state. + + The raw JSON to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + Derived classes must override this method to get asynchronous behaviour. Otherwise it will + execute synchronously, returning an already-completed task. + + + + Gets or sets the writer's character array pool. + + + + + Gets or sets how many s to write for each level in the hierarchy when is set to . + + + + + Gets or sets which character to use to quote attribute values. + + + + + Gets or sets which character to use for indenting when is set to . + + + + + Gets or sets a value indicating whether object names will be surrounded with quotes. + + + + + Initializes a new instance of the class using the specified . + + The to write to. + + + + Flushes whatever is in the buffer to the underlying and also flushes the underlying . + + + + + Closes this writer. + If is set to true, the underlying is also closed. + If is set to true, the JSON is auto-completed. + + + + + Writes the beginning of a JSON object. + + + + + Writes the beginning of a JSON array. + + + + + Writes the start of a constructor with the given name. + + The name of the constructor. + + + + Writes the specified end token. + + The end token to write. + + + + Writes the property name of a name/value pair on a JSON object. + + The name of the property. + + + + Writes the property name of a name/value pair on a JSON object. + + The name of the property. + A flag to indicate whether the text should be escaped when it is written as a JSON property name. + + + + Writes indent characters. + + + + + Writes the JSON value delimiter. + + + + + Writes an indent space. + + + + + Writes a value. + An error will raised if the value cannot be written as a single JSON token. + + The value to write. + + + + Writes a null value. + + + + + Writes an undefined value. + + + + + Writes raw JSON. + + The raw JSON to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a value. + + The value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a [] value. + + The [] value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a comment /*...*/ containing the specified text. + + Text to place inside the comment. + + + + Writes the given white space. + + The string of white space characters. + + + + Specifies the type of JSON token. + + + + + This is returned by the if a read method has not been called. + + + + + An object start token. + + + + + An array start token. + + + + + A constructor start token. + + + + + An object property name. + + + + + A comment. + + + + + Raw JSON. + + + + + An integer. + + + + + A float. + + + + + A string. + + + + + A boolean. + + + + + A null token. + + + + + An undefined token. + + + + + An object end token. + + + + + An array end token. + + + + + A constructor end token. + + + + + A Date. + + + + + Byte data. + + + + + + Represents a reader that provides validation. + + + JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details. + + + + + + Sets an event handler for receiving schema validation errors. + + + + + Gets the text value of the current JSON token. + + + + + + Gets the depth of the current token in the JSON document. + + The depth of the current token in the JSON document. + + + + Gets the path of the current JSON token. + + + + + Gets the quotation mark character used to enclose the value of a string. + + + + + + Gets the type of the current JSON token. + + + + + + Gets the .NET type for the current JSON token. + + + + + + Initializes a new instance of the class that + validates the content returned from the given . + + The to read from while validating. + + + + Gets or sets the schema. + + The schema. + + + + Gets the used to construct this . + + The specified in the constructor. + + + + Changes the reader's state to . + If is set to true, the underlying is also closed. + + + + + Reads the next JSON token from the underlying as a of . + + A of . + + + + Reads the next JSON token from the underlying as a []. + + + A [] or null if the next JSON token is null. + + + + + Reads the next JSON token from the underlying as a of . + + A of . + + + + Reads the next JSON token from the underlying as a of . + + A of . + + + + Reads the next JSON token from the underlying as a of . + + A of . + + + + Reads the next JSON token from the underlying as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the underlying as a of . + + A of . This method will return null at the end of an array. + + + + Reads the next JSON token from the underlying as a of . + + A of . + + + + Reads the next JSON token from the underlying . + + + true if the next token was read successfully; false if there are no more tokens to read. + + + + + Represents a writer that provides a fast, non-cached, forward-only way of generating JSON data. + + + + + Asynchronously closes this writer. + If is set to true, the destination is also closed. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously flushes whatever is in the buffer to the destination and also flushes the destination. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes the specified end token. + + The end token to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes indent characters. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes the JSON value delimiter. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes an indent space. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes raw JSON without changing the writer's state. + + The raw JSON to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes the end of the current JSON object or array. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes the end of an array. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes the end of a constructor. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes the end of a JSON object. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes a null value. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes the property name of a name/value pair of a JSON object. + + The name of the property. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes the property name of a name/value pair of a JSON object. + + The name of the property. + A flag to indicate whether the text should be escaped when it is written as a JSON property name. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes the beginning of a JSON array. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes a comment /*...*/ containing the specified text. + + Text to place inside the comment. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes raw JSON where a value is expected and updates the writer's state. + + The raw JSON to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes the start of a constructor with the given name. + + The name of the constructor. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes the beginning of a JSON object. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes the current token. + + The to read the token from. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes the current token. + + The to read the token from. + A flag indicating whether the current token's children should be written. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes the token and its value. + + The to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes the token and its value. + + The to write. + + The value to write. + A value is only required for tokens that have an associated value, e.g. the property name for . + null can be passed to the method for tokens that don't have a value, e.g. . + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes a [] value. + + The [] value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes a value. + + The value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes a of value. + + The of value to write. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes an undefined value. + + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously writes the given white space. + + The string of white space characters. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Asynchronously ets the state of the . + + The being written. + The value being written. + The token to monitor for cancellation requests. The default value is . + A that represents the asynchronous operation. + The default behaviour is to execute synchronously, returning an already-completed task. Derived + classes can override this behaviour for true asynchronicity. + + + + Gets or sets a value indicating whether the destination should be closed when this writer is closed. + + + true to close the destination when this writer is closed; otherwise false. The default is true. + + + + + Gets or sets a value indicating whether the JSON should be auto-completed when this writer is closed. + + + true to auto-complete the JSON when this writer is closed; otherwise false. The default is true. + + + + + Gets the top. + + The top. + + + + Gets the state of the writer. + + + + + Gets the path of the writer. + + + + + Gets or sets a value indicating how JSON text output should be formatted. + + + + + Gets or sets how dates are written to JSON text. + + + + + Gets or sets how time zones are handled when writing JSON text. + + + + + Gets or sets how strings are escaped when writing JSON text. + + + + + Gets or sets how special floating point numbers, e.g. , + and , + are written to JSON text. + + + + + Gets or sets how and values are formatted when writing JSON text. + + + + + Gets or sets the culture used when writing JSON. Defaults to . + + + + + Initializes a new instance of the class. + + + + + Flushes whatever is in the buffer to the destination and also flushes the destination. + + + + + Closes this writer. + If is set to true, the destination is also closed. + If is set to true, the JSON is auto-completed. + + + + + Writes the beginning of a JSON object. + + + + + Writes the end of a JSON object. + + + + + Writes the beginning of a JSON array. + + + + + Writes the end of an array. + + + + + Writes the start of a constructor with the given name. + + The name of the constructor. + + + + Writes the end constructor. + + + + + Writes the property name of a name/value pair of a JSON object. + + The name of the property. + + + + Writes the property name of a name/value pair of a JSON object. + + The name of the property. + A flag to indicate whether the text should be escaped when it is written as a JSON property name. + + + + Writes the end of the current JSON object or array. + + + + + Writes the current token and its children. + + The to read the token from. + + + + Writes the current token. + + The to read the token from. + A flag indicating whether the current token's children should be written. + + + + Writes the token and its value. + + The to write. + + The value to write. + A value is only required for tokens that have an associated value, e.g. the property name for . + null can be passed to the method for tokens that don't have a value, e.g. . + + + + + Writes the token. + + The to write. + + + + Writes the specified end token. + + The end token to write. + + + + Writes indent characters. + + + + + Writes the JSON value delimiter. + + + + + Writes an indent space. + + + + + Writes a null value. + + + + + Writes an undefined value. + + + + + Writes raw JSON without changing the writer's state. + + The raw JSON to write. + + + + Writes raw JSON where a value is expected and updates the writer's state. + + The raw JSON to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a [] value. + + The [] value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + An error will raised if the value cannot be written as a single JSON token. + + The value to write. + + + + Writes a comment /*...*/ containing the specified text. + + Text to place inside the comment. + + + + Writes the given white space. + + The string of white space characters. + + + + Releases unmanaged and - optionally - managed resources. + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Sets the state of the . + + The being written. + The value being written. + + + + The exception thrown when an error occurs while writing JSON text. + + + + + Gets the path to the JSON where the error occurred. + + The path to the JSON where the error occurred. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or null if no inner exception is specified. + + + + Initializes a new instance of the class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + The parameter is null. + The class name is null or is zero (0). + + + + Initializes a new instance of the class + with a specified error message, JSON path and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The path to the JSON where the error occurred. + The exception that is the cause of the current exception, or null if no inner exception is specified. + + + + Specifies how JSON comments are handled when loading JSON. + + + + + Ignore comments. + + + + + Load comments as a with type . + + + + + Specifies how duplicate property names are handled when loading JSON. + + + + + Replace the existing value when there is a duplicate property. The value of the last property in the JSON object will be used. + + + + + Ignore the new value when there is a duplicate property. The value of the first property in the JSON object will be used. + + + + + Throw a when a duplicate property is encountered. + + + + + Contains the LINQ to JSON extension methods. + + + + + Returns a collection of tokens that contains the ancestors of every token in the source collection. + + The type of the objects in source, constrained to . + An of that contains the source collection. + An of that contains the ancestors of every token in the source collection. + + + + Returns a collection of tokens that contains every token in the source collection, and the ancestors of every token in the source collection. + + The type of the objects in source, constrained to . + An of that contains the source collection. + An of that contains every token in the source collection, the ancestors of every token in the source collection. + + + + Returns a collection of tokens that contains the descendants of every token in the source collection. + + The type of the objects in source, constrained to . + An of that contains the source collection. + An of that contains the descendants of every token in the source collection. + + + + Returns a collection of tokens that contains every token in the source collection, and the descendants of every token in the source collection. + + The type of the objects in source, constrained to . + An of that contains the source collection. + An of that contains every token in the source collection, and the descendants of every token in the source collection. + + + + Returns a collection of child properties of every object in the source collection. + + An of that contains the source collection. + An of that contains the properties of every object in the source collection. + + + + Returns a collection of child values of every object in the source collection with the given key. + + An of that contains the source collection. + The token key. + An of that contains the values of every token in the source collection with the given key. + + + + Returns a collection of child values of every object in the source collection. + + An of that contains the source collection. + An of that contains the values of every token in the source collection. + + + + Returns a collection of converted child values of every object in the source collection with the given key. + + The type to convert the values to. + An of that contains the source collection. + The token key. + An that contains the converted values of every token in the source collection with the given key. + + + + Returns a collection of converted child values of every object in the source collection. + + The type to convert the values to. + An of that contains the source collection. + An that contains the converted values of every token in the source collection. + + + + Converts the value. + + The type to convert the value to. + A cast as a of . + A converted value. + + + + Converts the value. + + The source collection type. + The type to convert the value to. + A cast as a of . + A converted value. + + + + Returns a collection of child tokens of every array in the source collection. + + The source collection type. + An of that contains the source collection. + An of that contains the values of every token in the source collection. + + + + Returns a collection of converted child tokens of every array in the source collection. + + An of that contains the source collection. + The type to convert the values to. + The source collection type. + An that contains the converted values of every token in the source collection. + + + + Returns the input typed as . + + An of that contains the source collection. + The input typed as . + + + + Returns the input typed as . + + The source collection type. + An of that contains the source collection. + The input typed as . + + + + Represents a collection of objects. + + The type of token. + + + + Gets the of with the specified key. + + + + + + Represents a JSON array. + + + + + + + + Writes this token to a asynchronously. + + A into which this method will write. + The token to monitor for cancellation requests. + A collection of which will be used when writing the token. + A that represents the asynchronous write operation. + + + + Asynchronously loads a from a . + + A that will be read for the content of the . + If this is null, default load settings will be used. + The token to monitor for cancellation requests. The default value is . + A representing the asynchronous load. The property contains the JSON that was read from the specified . + + + + Asynchronously loads a from a . + + A that will be read for the content of the . + The used to load the JSON. + If this is null, default load settings will be used. + The token to monitor for cancellation requests. The default value is . + A representing the asynchronous load. The property contains the JSON that was read from the specified . + + + + Gets the container's children tokens. + + The container's children tokens. + + + + Gets the node type for this . + + The type. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class with the specified content. + + The contents of the array. + + + + Initializes a new instance of the class with the specified content. + + The contents of the array. + + + + Loads an from a . + + A that will be read for the content of the . + A that contains the JSON that was read from the specified . + + + + Loads an from a . + + A that will be read for the content of the . + The used to load the JSON. + If this is null, default load settings will be used. + A that contains the JSON that was read from the specified . + + + + Load a from a string that contains JSON. + + A that contains JSON. + A populated from the string that contains JSON. + + + + + + + Load a from a string that contains JSON. + + A that contains JSON. + The used to load the JSON. + If this is null, default load settings will be used. + A populated from the string that contains JSON. + + + + + + + Creates a from an object. + + The object that will be used to create . + A with the values of the specified object. + + + + Creates a from an object. + + The object that will be used to create . + The that will be used to read the object. + A with the values of the specified object. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Gets the with the specified key. + + The with the specified key. + + + + Gets or sets the at the specified index. + + + + + + Determines the index of a specific item in the . + + The object to locate in the . + + The index of if found in the list; otherwise, -1. + + + + + Inserts an item to the at the specified index. + + The zero-based index at which should be inserted. + The object to insert into the . + + is not a valid index in the . + + + + + Removes the item at the specified index. + + The zero-based index of the item to remove. + + is not a valid index in the . + + + + + Returns an enumerator that iterates through the collection. + + + A of that can be used to iterate through the collection. + + + + + Adds an item to the . + + The object to add to the . + + + + Removes all items from the . + + + + + Determines whether the contains a specific value. + + The object to locate in the . + + true if is found in the ; otherwise, false. + + + + + Copies the elements of the to an array, starting at a particular array index. + + The array. + Index of the array. + + + + Gets a value indicating whether the is read-only. + + true if the is read-only; otherwise, false. + + + + Removes the first occurrence of a specific object from the . + + The object to remove from the . + + true if was successfully removed from the ; otherwise, false. This method also returns false if is not found in the original . + + + + + Represents a JSON constructor. + + + + + Writes this token to a asynchronously. + + A into which this method will write. + The token to monitor for cancellation requests. + A collection of which will be used when writing the token. + A that represents the asynchronous write operation. + + + + Asynchronously loads a from a . + + A that will be read for the content of the . + The token to monitor for cancellation requests. The default value is . + + A that represents the asynchronous load. The + property returns a that contains the JSON that was read from the specified . + + + + Asynchronously loads a from a . + + A that will be read for the content of the . + The used to load the JSON. + If this is null, default load settings will be used. + The token to monitor for cancellation requests. The default value is . + + A that represents the asynchronous load. The + property returns a that contains the JSON that was read from the specified . + + + + Gets the container's children tokens. + + The container's children tokens. + + + + Gets or sets the name of this constructor. + + The constructor name. + + + + Gets the node type for this . + + The type. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class with the specified name and content. + + The constructor name. + The contents of the constructor. + + + + Initializes a new instance of the class with the specified name and content. + + The constructor name. + The contents of the constructor. + + + + Initializes a new instance of the class with the specified name. + + The constructor name. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Gets the with the specified key. + + The with the specified key. + + + + Loads a from a . + + A that will be read for the content of the . + A that contains the JSON that was read from the specified . + + + + Loads a from a . + + A that will be read for the content of the . + The used to load the JSON. + If this is null, default load settings will be used. + A that contains the JSON that was read from the specified . + + + + Represents a token that can contain other tokens. + + + + + Occurs when the list changes or an item in the list changes. + + + + + Occurs before an item is added to the collection. + + + + + Occurs when the items list of the collection has changed, or the collection is reset. + + + + + Gets the container's children tokens. + + The container's children tokens. + + + + Raises the event. + + The instance containing the event data. + + + + Raises the event. + + The instance containing the event data. + + + + Raises the event. + + The instance containing the event data. + + + + Gets a value indicating whether this token has child tokens. + + + true if this token has child values; otherwise, false. + + + + + Get the first child token of this token. + + + A containing the first child token of the . + + + + + Get the last child token of this token. + + + A containing the last child token of the . + + + + + Returns a collection of the child tokens of this token, in document order. + + + An of containing the child tokens of this , in document order. + + + + + Returns a collection of the child values of this token, in document order. + + The type to convert the values to. + + A containing the child values of this , in document order. + + + + + Returns a collection of the descendant tokens for this token in document order. + + An of containing the descendant tokens of the . + + + + Returns a collection of the tokens that contain this token, and all descendant tokens of this token, in document order. + + An of containing this token, and all the descendant tokens of the . + + + + Adds the specified content as children of this . + + The content to be added. + + + + Adds the specified content as the first children of this . + + The content to be added. + + + + Creates a that can be used to add tokens to the . + + A that is ready to have content written to it. + + + + Replaces the child nodes of this token with the specified content. + + The content. + + + + Removes the child nodes from this token. + + + + + Merge the specified content into this . + + The content to be merged. + + + + Merge the specified content into this using . + + The content to be merged. + The used to merge the content. + + + + Gets the count of child JSON tokens. + + The count of child JSON tokens. + + + + Represents a collection of objects. + + The type of token. + + + + An empty collection of objects. + + + + + Initializes a new instance of the struct. + + The enumerable. + + + + Returns an enumerator that can be used to iterate through the collection. + + + A that can be used to iterate through the collection. + + + + + Gets the of with the specified key. + + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Represents a JSON object. + + + + + + + + Writes this token to a asynchronously. + + A into which this method will write. + The token to monitor for cancellation requests. + A collection of which will be used when writing the token. + A that represents the asynchronous write operation. + + + + Asynchronously loads a from a . + + A that will be read for the content of the . + The token to monitor for cancellation requests. The default value is . + + A that represents the asynchronous load. The + property returns a that contains the JSON that was read from the specified . + + + + Asynchronously loads a from a . + + A that will be read for the content of the . + The used to load the JSON. + If this is null, default load settings will be used. + The token to monitor for cancellation requests. The default value is . + + A that represents the asynchronous load. The + property returns a that contains the JSON that was read from the specified . + + + + Gets the container's children tokens. + + The container's children tokens. + + + + Occurs when a property value changes. + + + + + Occurs when a property value is changing. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class with the specified content. + + The contents of the object. + + + + Initializes a new instance of the class with the specified content. + + The contents of the object. + + + + Gets the node type for this . + + The type. + + + + Gets an of of this object's properties. + + An of of this object's properties. + + + + Gets a with the specified name. + + The property name. + A with the specified name or null. + + + + Gets the with the specified name. + The exact name will be searched for first and if no matching property is found then + the will be used to match a property. + + The property name. + One of the enumeration values that specifies how the strings will be compared. + A matched with the specified name or null. + + + + Gets a of of this object's property values. + + A of of this object's property values. + + + + Gets the with the specified key. + + The with the specified key. + + + + Gets or sets the with the specified property name. + + + + + + Loads a from a . + + A that will be read for the content of the . + A that contains the JSON that was read from the specified . + + is not valid JSON. + + + + + Loads a from a . + + A that will be read for the content of the . + The used to load the JSON. + If this is null, default load settings will be used. + A that contains the JSON that was read from the specified . + + is not valid JSON. + + + + + Load a from a string that contains JSON. + + A that contains JSON. + A populated from the string that contains JSON. + + is not valid JSON. + + + + + + + + Load a from a string that contains JSON. + + A that contains JSON. + The used to load the JSON. + If this is null, default load settings will be used. + A populated from the string that contains JSON. + + is not valid JSON. + + + + + + + + Creates a from an object. + + The object that will be used to create . + A with the values of the specified object. + + + + Creates a from an object. + + The object that will be used to create . + The that will be used to read the object. + A with the values of the specified object. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Gets the with the specified property name. + + Name of the property. + The with the specified property name. + + + + Gets the with the specified property name. + The exact property name will be searched for first and if no matching property is found then + the will be used to match a property. + + Name of the property. + One of the enumeration values that specifies how the strings will be compared. + The with the specified property name. + + + + Tries to get the with the specified property name. + The exact property name will be searched for first and if no matching property is found then + the will be used to match a property. + + Name of the property. + The value. + One of the enumeration values that specifies how the strings will be compared. + true if a value was successfully retrieved; otherwise, false. + + + + Adds the specified property name. + + Name of the property. + The value. + + + + Determines whether the JSON object has the specified property name. + + Name of the property. + true if the JSON object has the specified property name; otherwise, false. + + + + Removes the property with the specified name. + + Name of the property. + true if item was successfully removed; otherwise, false. + + + + Tries to get the with the specified property name. + + Name of the property. + The value. + true if a value was successfully retrieved; otherwise, false. + + + + Returns an enumerator that can be used to iterate through the collection. + + + A that can be used to iterate through the collection. + + + + + Raises the event with the provided arguments. + + Name of the property. + + + + Raises the event with the provided arguments. + + Name of the property. + + + + Returns the responsible for binding operations performed on this object. + + The expression tree representation of the runtime value. + + The to bind this object. + + + + + Represents a JSON property. + + + + + Writes this token to a asynchronously. + + A into which this method will write. + The token to monitor for cancellation requests. + A collection of which will be used when writing the token. + A that represents the asynchronous write operation. + + + + Asynchronously loads a from a . + + A that will be read for the content of the . + The token to monitor for cancellation requests. The default value is . + A representing the asynchronous creation. The + property returns a that contains the JSON that was read from the specified . + + + + Asynchronously loads a from a . + + A that will be read for the content of the . + The used to load the JSON. + If this is null, default load settings will be used. + The token to monitor for cancellation requests. The default value is . + A representing the asynchronous creation. The + property returns a that contains the JSON that was read from the specified . + + + + Gets the container's children tokens. + + The container's children tokens. + + + + Gets the property name. + + The property name. + + + + Gets or sets the property value. + + The property value. + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Gets the node type for this . + + The type. + + + + Initializes a new instance of the class. + + The property name. + The property content. + + + + Initializes a new instance of the class. + + The property name. + The property content. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Loads a from a . + + A that will be read for the content of the . + A that contains the JSON that was read from the specified . + + + + Loads a from a . + + A that will be read for the content of the . + The used to load the JSON. + If this is null, default load settings will be used. + A that contains the JSON that was read from the specified . + + + + Represents a view of a . + + + + + Initializes a new instance of the class. + + The name. + + + + When overridden in a derived class, returns whether resetting an object changes its value. + + + true if resetting the component changes its value; otherwise, false. + + The component to test for reset capability. + + + + When overridden in a derived class, gets the current value of the property on a component. + + + The value of a property for a given component. + + The component with the property for which to retrieve the value. + + + + When overridden in a derived class, resets the value for this property of the component to the default value. + + The component with the property value that is to be reset to the default value. + + + + When overridden in a derived class, sets the value of the component to a different value. + + The component with the property value that is to be set. + The new value. + + + + When overridden in a derived class, determines a value indicating whether the value of this property needs to be persisted. + + + true if the property should be persisted; otherwise, false. + + The component with the property to be examined for persistence. + + + + When overridden in a derived class, gets the type of the component this property is bound to. + + + A that represents the type of component this property is bound to. + When the or + + methods are invoked, the object specified might be an instance of this type. + + + + + When overridden in a derived class, gets a value indicating whether this property is read-only. + + + true if the property is read-only; otherwise, false. + + + + + When overridden in a derived class, gets the type of the property. + + + A that represents the type of the property. + + + + + Gets the hash code for the name of the member. + + + + The hash code for the name of the member. + + + + + Represents a raw JSON string. + + + + + Asynchronously creates an instance of with the content of the reader's current token. + + The reader. + The token to monitor for cancellation requests. The default value is . + A representing the asynchronous creation. The + property returns an instance of with the content of the reader's current token. + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class. + + The raw json. + + + + Creates an instance of with the content of the reader's current token. + + The reader. + An instance of with the content of the reader's current token. + + + + Specifies the settings used when cloning JSON. + + + + + Initializes a new instance of the class. + + + + + Gets or sets a flag that indicates whether to copy annotations when cloning a . + The default value is true. + + + A flag that indicates whether to copy annotations when cloning a . + + + + + Specifies the settings used when loading JSON. + + + + + Initializes a new instance of the class. + + + + + Gets or sets how JSON comments are handled when loading JSON. + The default value is . + + The JSON comment handling. + + + + Gets or sets how JSON line info is handled when loading JSON. + The default value is . + + The JSON line info handling. + + + + Gets or sets how duplicate property names in JSON objects are handled when loading JSON. + The default value is . + + The JSON duplicate property name handling. + + + + Specifies the settings used when merging JSON. + + + + + Initializes a new instance of the class. + + + + + Gets or sets the method used when merging JSON arrays. + + The method used when merging JSON arrays. + + + + Gets or sets how null value properties are merged. + + How null value properties are merged. + + + + Gets or sets the comparison used to match property names while merging. + The exact property name will be searched for first and if no matching property is found then + the will be used to match a property. + + The comparison used to match property names while merging. + + + + Specifies the settings used when selecting JSON. + + + + + Gets or sets a timeout that will be used when executing regular expressions. + + The timeout that will be used when executing regular expressions. + + + + Gets or sets a flag that indicates whether an error should be thrown if + no tokens are found when evaluating part of the expression. + + + A flag that indicates whether an error should be thrown if + no tokens are found when evaluating part of the expression. + + + + + Represents an abstract JSON token. + + + + + Writes this token to a asynchronously. + + A into which this method will write. + The token to monitor for cancellation requests. + A collection of which will be used when writing the token. + A that represents the asynchronous write operation. + + + + Writes this token to a asynchronously. + + A into which this method will write. + A collection of which will be used when writing the token. + A that represents the asynchronous write operation. + + + + Writes this token to a asynchronously. + + A into which this method will write. + The token to monitor for cancellation requests. + A that represents the asynchronous write operation. + + + + Writes this token to a asynchronously. + + A into which this method will write. + A that represents the asynchronous write operation. + + + + Asynchronously creates a from a . + + An positioned at the token to read into this . + The token to monitor for cancellation requests. The default value is . + + A that represents the asynchronous creation. The + property returns a that contains + the token and its descendant tokens + that were read from the reader. The runtime type of the token is determined + by the token type of the first token encountered in the reader. + + + + + Asynchronously creates a from a . + + An positioned at the token to read into this . + The used to load the JSON. + If this is null, default load settings will be used. + The token to monitor for cancellation requests. The default value is . + + A that represents the asynchronous creation. The + property returns a that contains + the token and its descendant tokens + that were read from the reader. The runtime type of the token is determined + by the token type of the first token encountered in the reader. + + + + + Asynchronously creates a from a . + + A positioned at the token to read into this . + The token to monitor for cancellation requests. The default value is . + + A that represents the asynchronous creation. The + property returns a that contains the token and its descendant tokens + that were read from the reader. The runtime type of the token is determined + by the token type of the first token encountered in the reader. + + + + + Asynchronously creates a from a . + + A positioned at the token to read into this . + The used to load the JSON. + If this is null, default load settings will be used. + The token to monitor for cancellation requests. The default value is . + + A that represents the asynchronous creation. The + property returns a that contains the token and its descendant tokens + that were read from the reader. The runtime type of the token is determined + by the token type of the first token encountered in the reader. + + + + + Gets a comparer that can compare two tokens for value equality. + + A that can compare two nodes for value equality. + + + + Gets or sets the parent. + + The parent. + + + + Gets the root of this . + + The root of this . + + + + Gets the node type for this . + + The type. + + + + Gets a value indicating whether this token has child tokens. + + + true if this token has child values; otherwise, false. + + + + + Compares the values of two tokens, including the values of all descendant tokens. + + The first to compare. + The second to compare. + true if the tokens are equal; otherwise false. + + + + Gets the next sibling token of this node. + + The that contains the next sibling token. + + + + Gets the previous sibling token of this node. + + The that contains the previous sibling token. + + + + Gets the path of the JSON token. + + + + + Adds the specified content immediately after this token. + + A content object that contains simple content or a collection of content objects to be added after this token. + + + + Adds the specified content immediately before this token. + + A content object that contains simple content or a collection of content objects to be added before this token. + + + + Returns a collection of the ancestor tokens of this token. + + A collection of the ancestor tokens of this token. + + + + Returns a collection of tokens that contain this token, and the ancestors of this token. + + A collection of tokens that contain this token, and the ancestors of this token. + + + + Returns a collection of the sibling tokens after this token, in document order. + + A collection of the sibling tokens after this tokens, in document order. + + + + Returns a collection of the sibling tokens before this token, in document order. + + A collection of the sibling tokens before this token, in document order. + + + + Gets the with the specified key. + + The with the specified key. + + + + Gets the with the specified key converted to the specified type. + + The type to convert the token to. + The token key. + The converted token value. + + + + Get the first child token of this token. + + A containing the first child token of the . + + + + Get the last child token of this token. + + A containing the last child token of the . + + + + Returns a collection of the child tokens of this token, in document order. + + An of containing the child tokens of this , in document order. + + + + Returns a collection of the child tokens of this token, in document order, filtered by the specified type. + + The type to filter the child tokens on. + A containing the child tokens of this , in document order. + + + + Returns a collection of the child values of this token, in document order. + + The type to convert the values to. + A containing the child values of this , in document order. + + + + Removes this token from its parent. + + + + + Replaces this token with the specified token. + + The value. + + + + Writes this token to a . + + A into which this method will write. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Returns the indented JSON for this token. + + + ToString() returns a non-JSON string value for tokens with a type of . + If you want the JSON for all token types then you should use . + + + The indented JSON for this token. + + + + + Returns the JSON for this token using the given formatting and converters. + + Indicates how the output should be formatted. + The JSON for this token using the given formatting and converters. + + + + Returns the JSON for this token using the given formatting and converters. + + Indicates how the output should be formatted. + A collection of s which will be used when writing the token. + The JSON for this token using the given formatting and converters. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to []. + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from [] to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Creates a for this token. + + A that can be used to read this token and its descendants. + + + + Creates a from an object. + + The object that will be used to create . + A with the value of the specified object. + + + + Creates a from an object using the specified . + + The object that will be used to create . + The that will be used when reading the object. + A with the value of the specified object. + + + + Creates an instance of the specified .NET type from the . + + The object type that the token will be deserialized to. + The new object created from the JSON value. + + + + Creates an instance of the specified .NET type from the . + + The object type that the token will be deserialized to. + The new object created from the JSON value. + + + + Creates an instance of the specified .NET type from the using the specified . + + The object type that the token will be deserialized to. + The that will be used when creating the object. + The new object created from the JSON value. + + + + Creates an instance of the specified .NET type from the using the specified . + + The object type that the token will be deserialized to. + The that will be used when creating the object. + The new object created from the JSON value. + + + + Creates a from a . + + A positioned at the token to read into this . + + A that contains the token and its descendant tokens + that were read from the reader. The runtime type of the token is determined + by the token type of the first token encountered in the reader. + + + + + Creates a from a . + + An positioned at the token to read into this . + The used to load the JSON. + If this is null, default load settings will be used. + + A that contains the token and its descendant tokens + that were read from the reader. The runtime type of the token is determined + by the token type of the first token encountered in the reader. + + + + + Load a from a string that contains JSON. + + A that contains JSON. + A populated from the string that contains JSON. + + + + Load a from a string that contains JSON. + + A that contains JSON. + The used to load the JSON. + If this is null, default load settings will be used. + A populated from the string that contains JSON. + + + + Creates a from a . + + A positioned at the token to read into this . + The used to load the JSON. + If this is null, default load settings will be used. + + A that contains the token and its descendant tokens + that were read from the reader. The runtime type of the token is determined + by the token type of the first token encountered in the reader. + + + + + Creates a from a . + + A positioned at the token to read into this . + + A that contains the token and its descendant tokens + that were read from the reader. The runtime type of the token is determined + by the token type of the first token encountered in the reader. + + + + + Selects a using a JSONPath expression. Selects the token that matches the object path. + + + A that contains a JSONPath expression. + + A , or null. + + + + Selects a using a JSONPath expression. Selects the token that matches the object path. + + + A that contains a JSONPath expression. + + A flag to indicate whether an error should be thrown if no tokens are found when evaluating part of the expression. + A . + + + + Selects a using a JSONPath expression. Selects the token that matches the object path. + + + A that contains a JSONPath expression. + + The used to select tokens. + A . + + + + Selects a collection of elements using a JSONPath expression. + + + A that contains a JSONPath expression. + + An of that contains the selected elements. + + + + Selects a collection of elements using a JSONPath expression. + + + A that contains a JSONPath expression. + + A flag to indicate whether an error should be thrown if no tokens are found when evaluating part of the expression. + An of that contains the selected elements. + + + + Selects a collection of elements using a JSONPath expression. + + + A that contains a JSONPath expression. + + The used to select tokens. + An of that contains the selected elements. + + + + Returns the responsible for binding operations performed on this object. + + The expression tree representation of the runtime value. + + The to bind this object. + + + + + Returns the responsible for binding operations performed on this object. + + The expression tree representation of the runtime value. + + The to bind this object. + + + + + Creates a new instance of the . All child tokens are recursively cloned. + + A new instance of the . + + + + Creates a new instance of the . All child tokens are recursively cloned. + + A object to configure cloning settings. + A new instance of the . + + + + Adds an object to the annotation list of this . + + The annotation to add. + + + + Get the first annotation object of the specified type from this . + + The type of the annotation to retrieve. + The first annotation object that matches the specified type, or null if no annotation is of the specified type. + + + + Gets the first annotation object of the specified type from this . + + The of the annotation to retrieve. + The first annotation object that matches the specified type, or null if no annotation is of the specified type. + + + + Gets a collection of annotations of the specified type for this . + + The type of the annotations to retrieve. + An that contains the annotations for this . + + + + Gets a collection of annotations of the specified type for this . + + The of the annotations to retrieve. + An of that contains the annotations that match the specified type for this . + + + + Removes the annotations of the specified type from this . + + The type of annotations to remove. + + + + Removes the annotations of the specified type from this . + + The of annotations to remove. + + + + Compares tokens to determine whether they are equal. + + + + + Determines whether the specified objects are equal. + + The first object of type to compare. + The second object of type to compare. + + true if the specified objects are equal; otherwise, false. + + + + + Returns a hash code for the specified object. + + The for which a hash code is to be returned. + A hash code for the specified object. + The type of is a reference type and is null. + + + + Represents a reader that provides fast, non-cached, forward-only access to serialized JSON data. + + + + + Gets the at the reader's current position. + + + + + Initializes a new instance of the class. + + The token to read from. + + + + Initializes a new instance of the class. + + The token to read from. + The initial path of the token. It is prepended to the returned . + + + + Reads the next JSON token from the underlying . + + + true if the next token was read successfully; false if there are no more tokens to read. + + + + + Gets the path of the current JSON token. + + + + + Specifies the type of token. + + + + + No token type has been set. + + + + + A JSON object. + + + + + A JSON array. + + + + + A JSON constructor. + + + + + A JSON object property. + + + + + A comment. + + + + + An integer value. + + + + + A float value. + + + + + A string value. + + + + + A boolean value. + + + + + A null value. + + + + + An undefined value. + + + + + A date value. + + + + + A raw JSON value. + + + + + A collection of bytes value. + + + + + A Guid value. + + + + + A Uri value. + + + + + A TimeSpan value. + + + + + Represents a writer that provides a fast, non-cached, forward-only way of generating JSON data. + + + + + Gets the at the writer's current position. + + + + + Gets the token being written. + + The token being written. + + + + Initializes a new instance of the class writing to the given . + + The container being written to. + + + + Initializes a new instance of the class. + + + + + Flushes whatever is in the buffer to the underlying . + + + + + Closes this writer. + If is set to true, the JSON is auto-completed. + + + Setting to true has no additional effect, since the underlying is a type that cannot be closed. + + + + + Writes the beginning of a JSON object. + + + + + Writes the beginning of a JSON array. + + + + + Writes the start of a constructor with the given name. + + The name of the constructor. + + + + Writes the end. + + The token. + + + + Writes the property name of a name/value pair on a JSON object. + + The name of the property. + + + + Writes a value. + An error will be raised if the value cannot be written as a single JSON token. + + The value to write. + + + + Writes a null value. + + + + + Writes an undefined value. + + + + + Writes raw JSON. + + The raw JSON to write. + + + + Writes a comment /*...*/ containing the specified text. + + Text to place inside the comment. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a [] value. + + The [] value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Represents a value in JSON (string, integer, date, etc). + + + + + Writes this token to a asynchronously. + + A into which this method will write. + The token to monitor for cancellation requests. + A collection of which will be used when writing the token. + A that represents the asynchronous write operation. + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Gets a value indicating whether this token has child tokens. + + + true if this token has child values; otherwise, false. + + + + + Creates a comment with the given value. + + The value. + A comment with the given value. + + + + Creates a string with the given value. + + The value. + A string with the given value. + + + + Creates a null value. + + A null value. + + + + Creates a undefined value. + + A undefined value. + + + + Gets the node type for this . + + The type. + + + + Gets or sets the underlying token value. + + The underlying token value. + + + + Writes this token to a . + + A into which this method will write. + A collection of s which will be used when writing the token. + + + + Indicates whether the current object is equal to another object of the same type. + + + true if the current object is equal to the parameter; otherwise, false. + + An object to compare with this object. + + + + Determines whether the specified is equal to the current . + + The to compare with the current . + + true if the specified is equal to the current ; otherwise, false. + + + + + Serves as a hash function for a particular type. + + + A hash code for the current . + + + + + Returns a that represents this instance. + + + ToString() returns a non-JSON string value for tokens with a type of . + If you want the JSON for all token types then you should use . + + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format. + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format provider. + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format. + The format provider. + + A that represents this instance. + + + + + Returns the responsible for binding operations performed on this object. + + The expression tree representation of the runtime value. + + The to bind this object. + + + + + Compares the current instance with another object of the same type and returns an integer that indicates whether the current instance precedes, follows, or occurs in the same position in the sort order as the other object. + + An object to compare with this instance. + + A 32-bit signed integer that indicates the relative order of the objects being compared. The return value has these meanings: + Value + Meaning + Less than zero + This instance is less than . + Zero + This instance is equal to . + Greater than zero + This instance is greater than . + + + is not of the same type as this instance. + + + + + Specifies how line information is handled when loading JSON. + + + + + Ignore line information. + + + + + Load line information. + + + + + Specifies how JSON arrays are merged together. + + + + Concatenate arrays. + + + Union arrays, skipping items that already exist. + + + Replace all array items. + + + Merge array items together, matched by index. + + + + Specifies how null value properties are merged. + + + + + The content's null value properties will be ignored during merging. + + + + + The content's null value properties will be merged. + + + + + Specifies the member serialization options for the . + + + + + All public members are serialized by default. Members can be excluded using or . + This is the default member serialization mode. + + + + + Only members marked with or are serialized. + This member serialization mode can also be set by marking the class with . + + + + + All public and private fields are serialized. Members can be excluded using or . + This member serialization mode can also be set by marking the class with + and setting IgnoreSerializableAttribute on to false. + + + + + Specifies metadata property handling options for the . + + + + + Read metadata properties located at the start of a JSON object. + + + + + Read metadata properties located anywhere in a JSON object. Note that this setting will impact performance. + + + + + Do not try to read metadata properties. + + + + + Specifies missing member handling options for the . + + + + + Ignore a missing member and do not attempt to deserialize it. + + + + + Throw a when a missing member is encountered during deserialization. + + + + + Specifies null value handling options for the . + + + + + + + + + Include null values when serializing and deserializing objects. + + + + + Ignore null values when serializing and deserializing objects. + + + + + Specifies how object creation is handled by the . + + + + + Reuse existing objects, create new objects when needed. + + + + + Only reuse existing objects. + + + + + Always create new objects. + + + + + Specifies reference handling options for the . + Note that references cannot be preserved when a value is set via a non-default constructor such as types that implement . + + + + + + + + Do not preserve references when serializing types. + + + + + Preserve references when serializing into a JSON object structure. + + + + + Preserve references when serializing into a JSON array structure. + + + + + Preserve references when serializing. + + + + + Specifies reference loop handling options for the . + + + + + Throw a when a loop is encountered. + + + + + Ignore loop references and do not serialize. + + + + + Serialize loop references. + + + + + Indicating whether a property is required. + + + + + The property is not required. The default state. + + + + + The property must be defined in JSON but can be a null value. + + + + + The property must be defined in JSON and cannot be a null value. + + + + + The property is not required but it cannot be a null value. + + + + + + Contains the JSON schema extension methods. + + + JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details. + + + + + + + Determines whether the is valid. + + + JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details. + + + The source to test. + The schema to test with. + + true if the specified is valid; otherwise, false. + + + + + + Determines whether the is valid. + + + JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details. + + + The source to test. + The schema to test with. + When this method returns, contains any error messages generated while validating. + + true if the specified is valid; otherwise, false. + + + + + + Validates the specified . + + + JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details. + + + The source to test. + The schema to test with. + + + + + Validates the specified . + + + JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details. + + + The source to test. + The schema to test with. + The validation event handler. + + + + + An in-memory representation of a JSON Schema. + + + JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details. + + + + + + Gets or sets the id. + + + + + Gets or sets the title. + + + + + Gets or sets whether the object is required. + + + + + Gets or sets whether the object is read-only. + + + + + Gets or sets whether the object is visible to users. + + + + + Gets or sets whether the object is transient. + + + + + Gets or sets the description of the object. + + + + + Gets or sets the types of values allowed by the object. + + The type. + + + + Gets or sets the pattern. + + The pattern. + + + + Gets or sets the minimum length. + + The minimum length. + + + + Gets or sets the maximum length. + + The maximum length. + + + + Gets or sets a number that the value should be divisible by. + + A number that the value should be divisible by. + + + + Gets or sets the minimum. + + The minimum. + + + + Gets or sets the maximum. + + The maximum. + + + + Gets or sets a flag indicating whether the value can not equal the number defined by the minimum attribute (). + + A flag indicating whether the value can not equal the number defined by the minimum attribute (). + + + + Gets or sets a flag indicating whether the value can not equal the number defined by the maximum attribute (). + + A flag indicating whether the value can not equal the number defined by the maximum attribute (). + + + + Gets or sets the minimum number of items. + + The minimum number of items. + + + + Gets or sets the maximum number of items. + + The maximum number of items. + + + + Gets or sets the of items. + + The of items. + + + + Gets or sets a value indicating whether items in an array are validated using the instance at their array position from . + + + true if items are validated using their array position; otherwise, false. + + + + + Gets or sets the of additional items. + + The of additional items. + + + + Gets or sets a value indicating whether additional items are allowed. + + + true if additional items are allowed; otherwise, false. + + + + + Gets or sets whether the array items must be unique. + + + + + Gets or sets the of properties. + + The of properties. + + + + Gets or sets the of additional properties. + + The of additional properties. + + + + Gets or sets the pattern properties. + + The pattern properties. + + + + Gets or sets a value indicating whether additional properties are allowed. + + + true if additional properties are allowed; otherwise, false. + + + + + Gets or sets the required property if this property is present. + + The required property if this property is present. + + + + Gets or sets the a collection of valid enum values allowed. + + A collection of valid enum values allowed. + + + + Gets or sets disallowed types. + + The disallowed types. + + + + Gets or sets the default value. + + The default value. + + + + Gets or sets the collection of that this schema extends. + + The collection of that this schema extends. + + + + Gets or sets the format. + + The format. + + + + Initializes a new instance of the class. + + + + + Reads a from the specified . + + The containing the JSON Schema to read. + The object representing the JSON Schema. + + + + Reads a from the specified . + + The containing the JSON Schema to read. + The to use when resolving schema references. + The object representing the JSON Schema. + + + + Load a from a string that contains JSON Schema. + + A that contains JSON Schema. + A populated from the string that contains JSON Schema. + + + + Load a from a string that contains JSON Schema using the specified . + + A that contains JSON Schema. + The resolver. + A populated from the string that contains JSON Schema. + + + + Writes this schema to a . + + A into which this method will write. + + + + Writes this schema to a using the specified . + + A into which this method will write. + The resolver used. + + + + Returns a that represents the current . + + + A that represents the current . + + + + + + Returns detailed information about the schema exception. + + + JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details. + + + + + + Gets the line number indicating where the error occurred. + + The line number indicating where the error occurred. + + + + Gets the line position indicating where the error occurred. + + The line position indicating where the error occurred. + + + + Gets the path to the JSON where the error occurred. + + The path to the JSON where the error occurred. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or null if no inner exception is specified. + + + + Initializes a new instance of the class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + The parameter is null. + The class name is null or is zero (0). + + + + + Generates a from a specified . + + + JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details. + + + + + + Gets or sets how undefined schemas are handled by the serializer. + + + + + Gets or sets the contract resolver. + + The contract resolver. + + + + Generate a from the specified type. + + The type to generate a from. + A generated from the specified type. + + + + Generate a from the specified type. + + The type to generate a from. + The used to resolve schema references. + A generated from the specified type. + + + + Generate a from the specified type. + + The type to generate a from. + Specify whether the generated root will be nullable. + A generated from the specified type. + + + + Generate a from the specified type. + + The type to generate a from. + The used to resolve schema references. + Specify whether the generated root will be nullable. + A generated from the specified type. + + + + + Resolves from an id. + + + JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details. + + + + + + Gets or sets the loaded schemas. + + The loaded schemas. + + + + Initializes a new instance of the class. + + + + + Gets a for the specified reference. + + The id. + A for the specified reference. + + + + + The value types allowed by the . + + + JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details. + + + + + + No type specified. + + + + + String type. + + + + + Float type. + + + + + Integer type. + + + + + Boolean type. + + + + + Object type. + + + + + Array type. + + + + + Null type. + + + + + Any type. + + + + + + Specifies undefined schema Id handling options for the . + + + JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details. + + + + + + Do not infer a schema Id. + + + + + Use the .NET type name as the schema Id. + + + + + Use the assembly qualified .NET type name as the schema Id. + + + + + + Returns detailed information related to the . + + + JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details. + + + + + + Gets the associated with the validation error. + + The JsonSchemaException associated with the validation error. + + + + Gets the path of the JSON location where the validation error occurred. + + The path of the JSON location where the validation error occurred. + + + + Gets the text description corresponding to the validation error. + + The text description. + + + + + Represents the callback method that will handle JSON schema validation events and the . + + + JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details. + + + + + + A camel case naming strategy. + + + + + Initializes a new instance of the class. + + + A flag indicating whether dictionary keys should be processed. + + + A flag indicating whether explicitly specified property names should be processed, + e.g. a property name customized with a . + + + + + Initializes a new instance of the class. + + + A flag indicating whether dictionary keys should be processed. + + + A flag indicating whether explicitly specified property names should be processed, + e.g. a property name customized with a . + + + A flag indicating whether extension data names should be processed. + + + + + Initializes a new instance of the class. + + + + + Resolves the specified property name. + + The property name to resolve. + The resolved property name. + + + + Resolves member mappings for a type, camel casing property names. + + + + + Initializes a new instance of the class. + + + + + Resolves the contract for a given type. + + The type to resolve a contract for. + The contract for a given type. + + + + Used by to resolve a for a given . + + + + + Gets a value indicating whether members are being get and set using dynamic code generation. + This value is determined by the runtime permissions available. + + + true if using dynamic code generation; otherwise, false. + + + + + Gets or sets the default members search flags. + + The default members search flags. + + + + Gets or sets a value indicating whether compiler generated members should be serialized. + + + true if serialized compiler generated members; otherwise, false. + + + + + Gets or sets a value indicating whether to ignore the interface when serializing and deserializing types. + + + true if the interface will be ignored when serializing and deserializing types; otherwise, false. + + + + + Gets or sets a value indicating whether to ignore the attribute when serializing and deserializing types. + + + true if the attribute will be ignored when serializing and deserializing types; otherwise, false. + + + + + Gets or sets a value indicating whether to ignore IsSpecified members when serializing and deserializing types. + + + true if the IsSpecified members will be ignored when serializing and deserializing types; otherwise, false. + + + + + Gets or sets a value indicating whether to ignore ShouldSerialize members when serializing and deserializing types. + + + true if the ShouldSerialize members will be ignored when serializing and deserializing types; otherwise, false. + + + + + Gets or sets the naming strategy used to resolve how property names and dictionary keys are serialized. + + The naming strategy used to resolve how property names and dictionary keys are serialized. + + + + Initializes a new instance of the class. + + + + + Resolves the contract for a given type. + + The type to resolve a contract for. + The contract for a given type. + + + + Gets the serializable members for the type. + + The type to get serializable members for. + The serializable members for the type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates the constructor parameters. + + The constructor to create properties for. + The type's member properties. + Properties for the given . + + + + Creates a for the given . + + The matching member property. + The constructor parameter. + A created for the given . + + + + Resolves the default for the contract. + + Type of the object. + The contract's default . + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Determines which contract type is created for the given type. + + Type of the object. + A for the given type. + + + + Creates properties for the given . + + The type to create properties for. + /// The member serialization mode for the type. + Properties for the given . + + + + Creates the used by the serializer to get and set values from a member. + + The member. + The used by the serializer to get and set values from a member. + + + + Creates a for the given . + + The member's parent . + The member to create a for. + A created for the given . + + + + Resolves the name of the property. + + Name of the property. + Resolved name of the property. + + + + Resolves the name of the extension data. By default no changes are made to extension data names. + + Name of the extension data. + Resolved name of the extension data. + + + + Resolves the key of the dictionary. By default is used to resolve dictionary keys. + + Key of the dictionary. + Resolved key of the dictionary. + + + + Gets the resolved name of the property. + + Name of the property. + Name of the property. + + + + The default naming strategy. Property names and dictionary keys are unchanged. + + + + + Resolves the specified property name. + + The property name to resolve. + The resolved property name. + + + + The default serialization binder used when resolving and loading classes from type names. + + + + + Initializes a new instance of the class. + + + + + When overridden in a derived class, controls the binding of a serialized object to a type. + + Specifies the name of the serialized object. + Specifies the name of the serialized object. + + The type of the object the formatter creates a new instance of. + + + + + When overridden in a derived class, controls the binding of a serialized object to a type. + + The type of the object the formatter creates a new instance of. + Specifies the name of the serialized object. + Specifies the name of the serialized object. + + + + Represents a trace writer that writes to the application's instances. + + + + + Gets the that will be used to filter the trace messages passed to the writer. + For example a filter level of will exclude messages and include , + and messages. + + + The that will be used to filter the trace messages passed to the writer. + + + + + Writes the specified trace level, message and optional exception. + + The at which to write this trace. + The trace message. + The trace exception. This parameter is optional. + + + + Get and set values for a using dynamic methods. + + + + + Initializes a new instance of the class. + + The member info. + + + + Sets the value. + + The target to set the value on. + The value to set on the target. + + + + Gets the value. + + The target to get the value from. + The value. + + + + Provides information surrounding an error. + + + + + Gets the error. + + The error. + + + + Gets the original object that caused the error. + + The original object that caused the error. + + + + Gets the member that caused the error. + + The member that caused the error. + + + + Gets the path of the JSON location where the error occurred. + + The path of the JSON location where the error occurred. + + + + Gets or sets a value indicating whether this is handled. + + true if handled; otherwise, false. + + + + Provides data for the Error event. + + + + + Gets the current object the error event is being raised against. + + The current object the error event is being raised against. + + + + Gets the error context. + + The error context. + + + + Initializes a new instance of the class. + + The current object. + The error context. + + + + Get and set values for a using dynamic methods. + + + + + Initializes a new instance of the class. + + The member info. + + + + Sets the value. + + The target to set the value on. + The value to set on the target. + + + + Gets the value. + + The target to get the value from. + The value. + + + + Provides methods to get attributes. + + + + + Returns a collection of all of the attributes, or an empty collection if there are no attributes. + + When true, look up the hierarchy chain for the inherited custom attribute. + A collection of s, or an empty collection. + + + + Returns a collection of attributes, identified by type, or an empty collection if there are no attributes. + + The type of the attributes. + When true, look up the hierarchy chain for the inherited custom attribute. + A collection of s, or an empty collection. + + + + Used by to resolve a for a given . + + + + + + + + + Resolves the contract for a given type. + + The type to resolve a contract for. + The contract for a given type. + + + + Used to resolve references when serializing and deserializing JSON by the . + + + + + Resolves a reference to its object. + + The serialization context. + The reference to resolve. + The object that was resolved from the reference. + + + + Gets the reference for the specified object. + + The serialization context. + The object to get a reference for. + The reference to the object. + + + + Determines whether the specified object is referenced. + + The serialization context. + The object to test for a reference. + + true if the specified object is referenced; otherwise, false. + + + + + Adds a reference to the specified object. + + The serialization context. + The reference. + The object to reference. + + + + Allows users to control class loading and mandate what class to load. + + + + + When implemented, controls the binding of a serialized object to a type. + + Specifies the name of the serialized object. + Specifies the name of the serialized object + The type of the object the formatter creates a new instance of. + + + + When implemented, controls the binding of a serialized object to a type. + + The type of the object the formatter creates a new instance of. + Specifies the name of the serialized object. + Specifies the name of the serialized object. + + + + Represents a trace writer. + + + + + Gets the that will be used to filter the trace messages passed to the writer. + For example a filter level of will exclude messages and include , + and messages. + + The that will be used to filter the trace messages passed to the writer. + + + + Writes the specified trace level, message and optional exception. + + The at which to write this trace. + The trace message. + The trace exception. This parameter is optional. + + + + Provides methods to get and set values. + + + + + Sets the value. + + The target to set the value on. + The value to set on the target. + + + + Gets the value. + + The target to get the value from. + The value. + + + + Contract details for a used by the . + + + + + Gets the of the collection items. + + The of the collection items. + + + + Gets a value indicating whether the collection type is a multidimensional array. + + true if the collection type is a multidimensional array; otherwise, false. + + + + Gets or sets the function used to create the object. When set this function will override . + + The function used to create the object. + + + + Gets a value indicating whether the creator has a parameter with the collection values. + + true if the creator has a parameter with the collection values; otherwise, false. + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Contract details for a used by the . + + + + + Gets or sets the default collection items . + + The converter. + + + + Gets or sets a value indicating whether the collection items preserve object references. + + true if collection items preserve object references; otherwise, false. + + + + Gets or sets the collection item reference loop handling. + + The reference loop handling. + + + + Gets or sets the collection item type name handling. + + The type name handling. + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Handles serialization callback events. + + The object that raised the callback event. + The streaming context. + + + + Handles serialization error callback events. + + The object that raised the callback event. + The streaming context. + The error context. + + + + Sets extension data for an object during deserialization. + + The object to set extension data on. + The extension data key. + The extension data value. + + + + Gets extension data for an object during serialization. + + The object to set extension data on. + + + + Contract details for a used by the . + + + + + Gets the underlying type for the contract. + + The underlying type for the contract. + + + + Gets or sets the type created during deserialization. + + The type created during deserialization. + + + + Gets or sets whether this type contract is serialized as a reference. + + Whether this type contract is serialized as a reference. + + + + Gets or sets the default for this contract. + + The converter. + + + + Gets the internally resolved for the contract's type. + This converter is used as a fallback converter when no other converter is resolved. + Setting will always override this converter. + + + + + Gets or sets all methods called immediately after deserialization of the object. + + The methods called immediately after deserialization of the object. + + + + Gets or sets all methods called during deserialization of the object. + + The methods called during deserialization of the object. + + + + Gets or sets all methods called after serialization of the object graph. + + The methods called after serialization of the object graph. + + + + Gets or sets all methods called before serialization of the object. + + The methods called before serialization of the object. + + + + Gets or sets all method called when an error is thrown during the serialization of the object. + + The methods called when an error is thrown during the serialization of the object. + + + + Gets or sets the default creator method used to create the object. + + The default creator method used to create the object. + + + + Gets or sets a value indicating whether the default creator is non-public. + + true if the default object creator is non-public; otherwise, false. + + + + Contract details for a used by the . + + + + + Gets or sets the dictionary key resolver. + + The dictionary key resolver. + + + + Gets the of the dictionary keys. + + The of the dictionary keys. + + + + Gets the of the dictionary values. + + The of the dictionary values. + + + + Gets or sets the function used to create the object. When set this function will override . + + The function used to create the object. + + + + Gets a value indicating whether the creator has a parameter with the dictionary values. + + true if the creator has a parameter with the dictionary values; otherwise, false. + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Contract details for a used by the . + + + + + Gets the object's properties. + + The object's properties. + + + + Gets or sets the property name resolver. + + The property name resolver. + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Contract details for a used by the . + + + + + Gets or sets the object constructor. + + The object constructor. + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Contract details for a used by the . + + + + + Gets or sets the object member serialization. + + The member object serialization. + + + + Gets or sets the missing member handling used when deserializing this object. + + The missing member handling. + + + + Gets or sets a value that indicates whether the object's properties are required. + + + A value indicating whether the object's properties are required. + + + + + Gets or sets how the object's properties with null values are handled during serialization and deserialization. + + How the object's properties with null values are handled during serialization and deserialization. + + + + Gets the object's properties. + + The object's properties. + + + + Gets a collection of instances that define the parameters used with . + + + + + Gets or sets the function used to create the object. When set this function will override . + This function is called with a collection of arguments which are defined by the collection. + + The function used to create the object. + + + + Gets or sets the extension data setter. + + + + + Gets or sets the extension data getter. + + + + + Gets or sets the extension data value type. + + + + + Gets or sets the extension data name resolver. + + The extension data name resolver. + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Maps a JSON property to a .NET member or constructor parameter. + + + + + Gets or sets the name of the property. + + The name of the property. + + + + Gets or sets the type that declared this property. + + The type that declared this property. + + + + Gets or sets the order of serialization of a member. + + The numeric order of serialization. + + + + Gets or sets the name of the underlying member or parameter. + + The name of the underlying member or parameter. + + + + Gets the that will get and set the during serialization. + + The that will get and set the during serialization. + + + + Gets or sets the for this property. + + The for this property. + + + + Gets or sets the type of the property. + + The type of the property. + + + + Gets or sets the for the property. + If set this converter takes precedence over the contract converter for the property type. + + The converter. + + + + Gets or sets the member converter. + + The member converter. + + + + Gets or sets a value indicating whether this is ignored. + + true if ignored; otherwise, false. + + + + Gets or sets a value indicating whether this is readable. + + true if readable; otherwise, false. + + + + Gets or sets a value indicating whether this is writable. + + true if writable; otherwise, false. + + + + Gets or sets a value indicating whether this has a member attribute. + + true if has a member attribute; otherwise, false. + + + + Gets the default value. + + The default value. + + + + Gets or sets a value indicating whether this is required. + + A value indicating whether this is required. + + + + Gets a value indicating whether has a value specified. + + + + + Gets or sets a value indicating whether this property preserves object references. + + + true if this instance is reference; otherwise, false. + + + + + Gets or sets the property null value handling. + + The null value handling. + + + + Gets or sets the property default value handling. + + The default value handling. + + + + Gets or sets the property reference loop handling. + + The reference loop handling. + + + + Gets or sets the property object creation handling. + + The object creation handling. + + + + Gets or sets or sets the type name handling. + + The type name handling. + + + + Gets or sets a predicate used to determine whether the property should be serialized. + + A predicate used to determine whether the property should be serialized. + + + + Gets or sets a predicate used to determine whether the property should be deserialized. + + A predicate used to determine whether the property should be deserialized. + + + + Gets or sets a predicate used to determine whether the property should be serialized. + + A predicate used to determine whether the property should be serialized. + + + + Gets or sets an action used to set whether the property has been deserialized. + + An action used to set whether the property has been deserialized. + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Gets or sets the converter used when serializing the property's collection items. + + The collection's items converter. + + + + Gets or sets whether this property's collection items are serialized as a reference. + + Whether this property's collection items are serialized as a reference. + + + + Gets or sets the type name handling used when serializing the property's collection items. + + The collection's items type name handling. + + + + Gets or sets the reference loop handling used when serializing the property's collection items. + + The collection's items reference loop handling. + + + + A collection of objects. + + + + + Initializes a new instance of the class. + + The type. + + + + When implemented in a derived class, extracts the key from the specified element. + + The element from which to extract the key. + The key for the specified element. + + + + Adds a object. + + The property to add to the collection. + + + + Gets the closest matching object. + First attempts to get an exact case match of and then + a case insensitive match. + + Name of the property. + A matching property if found. + + + + Gets a property by property name. + + The name of the property to get. + Type property name string comparison. + A matching property if found. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Lookup and create an instance of the type described by the argument. + + The type to create. + Optional arguments to pass to an initializing constructor of the JsonConverter. + If null, the default constructor is used. + + + + A kebab case naming strategy. + + + + + Initializes a new instance of the class. + + + A flag indicating whether dictionary keys should be processed. + + + A flag indicating whether explicitly specified property names should be processed, + e.g. a property name customized with a . + + + + + Initializes a new instance of the class. + + + A flag indicating whether dictionary keys should be processed. + + + A flag indicating whether explicitly specified property names should be processed, + e.g. a property name customized with a . + + + A flag indicating whether extension data names should be processed. + + + + + Initializes a new instance of the class. + + + + + Resolves the specified property name. + + The property name to resolve. + The resolved property name. + + + + Represents a trace writer that writes to memory. When the trace message limit is + reached then old trace messages will be removed as new messages are added. + + + + + Gets the that will be used to filter the trace messages passed to the writer. + For example a filter level of will exclude messages and include , + and messages. + + + The that will be used to filter the trace messages passed to the writer. + + + + + Initializes a new instance of the class. + + + + + Writes the specified trace level, message and optional exception. + + The at which to write this trace. + The trace message. + The trace exception. This parameter is optional. + + + + Returns an enumeration of the most recent trace messages. + + An enumeration of the most recent trace messages. + + + + Returns a of the most recent trace messages. + + + A of the most recent trace messages. + + + + + A base class for resolving how property names and dictionary keys are serialized. + + + + + A flag indicating whether dictionary keys should be processed. + Defaults to false. + + + + + A flag indicating whether extension data names should be processed. + Defaults to false. + + + + + A flag indicating whether explicitly specified property names, + e.g. a property name customized with a , should be processed. + Defaults to false. + + + + + Gets the serialized name for a given property name. + + The initial property name. + A flag indicating whether the property has had a name explicitly specified. + The serialized property name. + + + + Gets the serialized name for a given extension data name. + + The initial extension data name. + The serialized extension data name. + + + + Gets the serialized key for a given dictionary key. + + The initial dictionary key. + The serialized dictionary key. + + + + Resolves the specified property name. + + The property name to resolve. + The resolved property name. + + + + Hash code calculation + + + + + + Object equality implementation + + + + + + + Compare to another NamingStrategy + + + + + + + Represents a method that constructs an object. + + The object type to create. + + + + When applied to a method, specifies that the method is called when an error occurs serializing an object. + + + + + Provides methods to get attributes from a , , or . + + + + + Initializes a new instance of the class. + + The instance to get attributes for. This parameter should be a , , or . + + + + Returns a collection of all of the attributes, or an empty collection if there are no attributes. + + When true, look up the hierarchy chain for the inherited custom attribute. + A collection of s, or an empty collection. + + + + Returns a collection of attributes, identified by type, or an empty collection if there are no attributes. + + The type of the attributes. + When true, look up the hierarchy chain for the inherited custom attribute. + A collection of s, or an empty collection. + + + + Get and set values for a using reflection. + + + + + Initializes a new instance of the class. + + The member info. + + + + Sets the value. + + The target to set the value on. + The value to set on the target. + + + + Gets the value. + + The target to get the value from. + The value. + + + + A snake case naming strategy. + + + + + Initializes a new instance of the class. + + + A flag indicating whether dictionary keys should be processed. + + + A flag indicating whether explicitly specified property names should be processed, + e.g. a property name customized with a . + + + + + Initializes a new instance of the class. + + + A flag indicating whether dictionary keys should be processed. + + + A flag indicating whether explicitly specified property names should be processed, + e.g. a property name customized with a . + + + A flag indicating whether extension data names should be processed. + + + + + Initializes a new instance of the class. + + + + + Resolves the specified property name. + + The property name to resolve. + The resolved property name. + + + + Specifies how strings are escaped when writing JSON text. + + + + + Only control characters (e.g. newline) are escaped. + + + + + All non-ASCII and control characters (e.g. newline) are escaped. + + + + + HTML (<, >, &, ', ") and control characters (e.g. newline) are escaped. + + + + + Indicates the method that will be used during deserialization for locating and loading assemblies. + + + + + In simple mode, the assembly used during deserialization need not match exactly the assembly used during serialization. Specifically, the version numbers need not match as the LoadWithPartialName method of the class is used to load the assembly. + + + + + In full mode, the assembly used during deserialization must match exactly the assembly used during serialization. The Load method of the class is used to load the assembly. + + + + + Specifies type name handling options for the . + + + should be used with caution when your application deserializes JSON from an external source. + Incoming types should be validated with a custom + when deserializing with a value other than . + + + + + Do not include the .NET type name when serializing types. + + + + + Include the .NET type name when serializing into a JSON object structure. + + + + + Include the .NET type name when serializing into a JSON array structure. + + + + + Always include the .NET type name when serializing. + + + + + Include the .NET type name when the type of the object being serialized is not the same as its declared type. + Note that this doesn't include the root serialized object by default. To include the root object's type name in JSON + you must specify a root type object with + or . + + + + + Determines whether the collection is null or empty. + + The collection. + + true if the collection is null or empty; otherwise, false. + + + + + Adds the elements of the specified collection to the specified generic . + + The list to add to. + The collection of elements to add. + + + + Converts the value to the specified type. If the value is unable to be converted, the + value is checked whether it assignable to the specified type. + + The value to convert. + The culture to use when converting. + The type to convert or cast the value to. + + The converted type. If conversion was unsuccessful, the initial value + is returned if assignable to the target type. + + + + + Helper method for generating a MetaObject which calls a + specific method on Dynamic that returns a result + + + + + Helper method for generating a MetaObject which calls a + specific method on Dynamic, but uses one of the arguments for + the result. + + + + + Helper method for generating a MetaObject which calls a + specific method on Dynamic, but uses one of the arguments for + the result. + + + + + Returns a Restrictions object which includes our current restrictions merged + with a restriction limiting our type + + + + + Helper class for serializing immutable collections. + Note that this is used by all builds, even those that don't support immutable collections, in case the DLL is GACed + https://github.com/JamesNK/Newtonsoft.Json/issues/652 + + + + + Gets the type of the typed collection's items. + + The type. + The type of the typed collection's items. + + + + Gets the member's underlying type. + + The member. + The underlying type of the member. + + + + Determines whether the property is an indexed property. + + The property. + + true if the property is an indexed property; otherwise, false. + + + + + Gets the member's value on the object. + + The member. + The target object. + The member's value on the object. + + + + Sets the member's value on the target object. + + The member. + The target. + The value. + + + + Determines whether the specified MemberInfo can be read. + + The MemberInfo to determine whether can be read. + /// if set to true then allow the member to be gotten non-publicly. + + true if the specified MemberInfo can be read; otherwise, false. + + + + + Determines whether the specified MemberInfo can be set. + + The MemberInfo to determine whether can be set. + if set to true then allow the member to be set non-publicly. + if set to true then allow the member to be set if read-only. + + true if the specified MemberInfo can be set; otherwise, false. + + + + + Builds a string. Unlike this class lets you reuse its internal buffer. + + + + + Determines whether the string is all white space. Empty string will return false. + + The string to test whether it is all white space. + + true if the string is all white space; otherwise, false. + + + + + Specifies the state of the . + + + + + An exception has been thrown, which has left the in an invalid state. + You may call the method to put the in the Closed state. + Any other method calls result in an being thrown. + + + + + The method has been called. + + + + + An object is being written. + + + + + An array is being written. + + + + + A constructor is being written. + + + + + A property is being written. + + + + + A write method has not been called. + + + + + Indicates that certain members on a specified are accessed dynamically, + for example through . + + + This allows tools to understand which members are being accessed during the execution + of a program. + + This attribute is valid on members whose type is or . + + When this attribute is applied to a location of type , the assumption is + that the string represents a fully qualified type name. + + When this attribute is applied to a class, interface, or struct, the members specified + can be accessed dynamically on instances returned from calling + on instances of that class, interface, or struct. + + If the attribute is applied to a method it's treated as a special case and it implies + the attribute should be applied to the "this" parameter of the method. As such the attribute + should only be used on instance methods of types assignable to System.Type (or string, but no methods + will use it there). + + + + + Initializes a new instance of the class + with the specified member types. + + The types of members dynamically accessed. + + + + Gets the which specifies the type + of members dynamically accessed. + + + + + Specifies the types of members that are dynamically accessed. + + This enumeration has a attribute that allows a + bitwise combination of its member values. + + + + + Specifies no members. + + + + + Specifies the default, parameterless public constructor. + + + + + Specifies all public constructors. + + + + + Specifies all non-public constructors. + + + + + Specifies all public methods. + + + + + Specifies all non-public methods. + + + + + Specifies all public fields. + + + + + Specifies all non-public fields. + + + + + Specifies all public nested types. + + + + + Specifies all non-public nested types. + + + + + Specifies all public properties. + + + + + Specifies all non-public properties. + + + + + Specifies all public events. + + + + + Specifies all non-public events. + + + + + Specifies all interfaces implemented by the type. + + + + + Specifies all members. + + + + + Indicates that the specified public static boolean get-only property + guards access to the specified feature. + + + Analyzers can use this to prevent warnings on calls to code that is + annotated as requiring that feature, when the callsite is guarded by a + call to the property. + + + + + Initializes a new instance of the class + with the specified feature type. + + + The type that represents the feature guarded by the property. + + + + + The type that represents the feature guarded by the property. + + + + + Indicates that the specified public static boolean get-only property + corresponds to the feature switch specified by name. + + + IL rewriters and compilers can use this to substitute the return value + of the specified property with the value of the feature switch. + + + + + Initializes a new instance of the class + with the specified feature switch name. + + + The name of the feature switch that provides the value for the specified property. + + + + + The name of the feature switch that provides the value for the specified property. + + + + Specifies that an output will not be null even if the corresponding type allows it. + + + Specifies that when a method returns , the parameter will not be null even if the corresponding type allows it. + + + Initializes the attribute with the specified return value condition. + + The return value condition. If the method returns this value, the associated parameter will not be null. + + + + Gets the return value condition. + + + Specifies that an output may be null even if the corresponding type disallows it. + + + Specifies that null is allowed as an input even if the corresponding type disallows it. + + + + Specifies that the method will not return if the associated Boolean parameter is passed the specified value. + + + + + Initializes a new instance of the class. + + + The condition parameter value. Code after the method will be considered unreachable by diagnostics if the argument to + the associated parameter matches this value. + + + + Gets the condition parameter value. + + + + Indicates that the specified method requires the ability to generate new code at runtime, + for example through . + + + This allows tools to understand which methods are unsafe to call when compiling ahead of time. + + + + + Initializes a new instance of the class + with the specified message. + + + A message that contains information about the usage of dynamic code. + + + + + Gets a message that contains information about the usage of dynamic code. + + + + + Gets or sets an optional URL that contains more information about the method, + why it requires dynamic code, and what options a consumer has to deal with it. + + + + + Indicates that the specified method requires dynamic access to code that is not referenced + statically, for example through . + + + This allows tools to understand which methods are unsafe to call when removing unreferenced + code from an application. + + + + + Initializes a new instance of the class + with the specified message. + + + A message that contains information about the usage of unreferenced code. + + + + + Gets a message that contains information about the usage of unreferenced code. + + + + + Gets or sets an optional URL that contains more information about the method, + why it requires unreferenced code, and what options a consumer has to deal with it. + + + + + Suppresses reporting of a specific rule violation, allowing multiple suppressions on a + single code artifact. + + + is different than + in that it doesn't have a + . So it is always preserved in the compiled assembly. + + + + + Initializes a new instance of the + class, specifying the category of the tool and the identifier for an analysis rule. + + The category for the attribute. + The identifier of the analysis rule the attribute applies to. + + + + Gets the category identifying the classification of the attribute. + + + The property describes the tool or tool analysis category + for which a message suppression attribute applies. + + + + + Gets the identifier of the analysis tool rule to be suppressed. + + + Concatenated together, the and + properties form a unique check identifier. + + + + + Gets or sets the scope of the code that is relevant for the attribute. + + + The Scope property is an optional argument that specifies the metadata scope for which + the attribute is relevant. + + + + + Gets or sets a fully qualified path that represents the target of the attribute. + + + The property is an optional argument identifying the analysis target + of the attribute. An example value is "System.IO.Stream.ctor():System.Void". + Because it is fully qualified, it can be long, particularly for targets such as parameters. + The analysis tool user interface should be capable of automatically formatting the parameter. + + + + + Gets or sets an optional argument expanding on exclusion criteria. + + + The property is an optional argument that specifies additional + exclusion where the literal metadata target is not sufficiently precise. For example, + the cannot be applied within a method, + and it may be desirable to suppress a violation against a statement in the method that will + give a rule violation, but not against all statements in the method. + + + + + Gets or sets the justification for suppressing the code analysis message. + + + + diff --git a/WordAddIn/WordAddIn/bin/Release/WordAddIn.dll b/WordAddIn/WordAddIn/bin/Release/WordAddIn.dll new file mode 100644 index 0000000000000000000000000000000000000000..10f3a4fde63c6e18536ddb3d8c8112c792d864ed GIT binary patch literal 92160 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 CVgm~R literal 0 HcmV?d00001 diff --git a/WordAddIn/WordAddIn/bin/Release/WordAddIn.dll.manifest b/WordAddIn/WordAddIn/bin/Release/WordAddIn.dll.manifest new file mode 100644 index 0000000..cd0006b --- /dev/null +++ b/WordAddIn/WordAddIn/bin/Release/WordAddIn.dll.manifest @@ -0,0 +1,203 @@ + + + + WordAddIn + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + jLCTF8Mm6bD4PDN+rnzN6q0+ReXaNgPh68kMWgatFwI= + + + + + + + + + + + + 8MB68OhNTdTaS9eCO6RTW8BIGzv2I+1Atlm2gUemu3U= + + + + + + + + + + + + Xc75xyRYUsYQipvtLXm0QDx+Cld2d4Let98h0RoSn60= + + + + + + + + + + + + + + + + + + + WordAddIn + WordAddIn + + + + + + +C9avRX9nfKTHDCTvRZPXB995lkAo4zeFxLdQ276wuO4=TdnelO/cwCkCCeDawTU6BuIEGjlDYbfV5PB+3/qnqGqnR6J4Y1uoIby1tsVvkS9DDMRC+1IixlDEeYKSn5LsDgSJW3Ayi8TBALUW9wvmVWyHlFCdGeCjpZi9SEVbKazkolOki6LiXJjS+7Rg+IwAYXfPunMYtWUizUXWNof7Aq0=23ghUI75yy8GcLhPT5yA+v2ssRfSW+chNqMI+pq5OAr7RXQJOt/+bHdoT9NoS9GQkvblc7ekoUNShIcN601ZZOPgAxkXaQS+La14Wp8GOwnM1qHNJwgla4VAIYjmCj3CUMXLsxspOFVZKRnB6/idYku4Gzhc7NjRBAwe8qWBXaE=AQABCN=DESKTOP-Q6H7B6L\AdministratoriYwkWAWU35knc6kiYK6gTxxE/Nh3uHxhbLQwEgreJ0M=zJiYXR8G+maT6VbsHD2w6q1pgH76qSQ/KAXVc2T/fdOjU+a+9TGWKBIGseWr4x0G4lpY95+eD7msW9p1YMtV3P+H4shh1c5rLhwel6TYItdrtbcnqqLNzBbbtdhbGJ3jxH9JK9CSmIy636BegAEs+klj3T4zcEMw1PVYeCgjr1E=23ghUI75yy8GcLhPT5yA+v2ssRfSW+chNqMI+pq5OAr7RXQJOt/+bHdoT9NoS9GQkvblc7ekoUNShIcN601ZZOPgAxkXaQS+La14Wp8GOwnM1qHNJwgla4VAIYjmCj3CUMXLsxspOFVZKRnB6/idYku4Gzhc7NjRBAwe8qWBXaE=AQABMIICDTCCAXagAwIBAgIQJpSlsxfGbpRNgyjD5Q/yDjANBgkqhkiG9w0BAQsFADBFMUMwQQYDVQQDHjoARABFAFMASwBUAE8AUAAtAFEANgBIADcAQgA2AEwAXABBAGQAbQBpAG4AaQBzAHQAcgBhAHQAbwByMB4XDTI2MDEyNDAwMzYxNVoXDTI3MDEyNDA2MzYxNVowRTFDMEEGA1UEAx46AEQARQBTAEsAVABPAFAALQBRADYASAA3AEIANgBMAFwAQQBkAG0AaQBuAGkAcwB0AHIAYQB0AG8AcjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA23ghUI75yy8GcLhPT5yA+v2ssRfSW+chNqMI+pq5OAr7RXQJOt/+bHdoT9NoS9GQkvblc7ekoUNShIcN601ZZOPgAxkXaQS+La14Wp8GOwnM1qHNJwgla4VAIYjmCj3CUMXLsxspOFVZKRnB6/idYku4Gzhc7NjRBAwe8qWBXaECAwEAATANBgkqhkiG9w0BAQsFAAOBgQC3GjWMhEFFrn9PGYrQVGNAaibG1sR/eRX3ZWNRjYLhiqbsdeHvm4CX/W0EWd9yZlbaej87XyeUbX+mC3q3yMFVPCRn/W65WYyBPbWTWmSfU9VLKKULAH6WqjS7CqEU3cQSuKcU6nYG4AJu2/FkQJaA82tr3pvcQD28HmOlDeNh0Q== \ No newline at end of file diff --git a/WordAddIn/WordAddIn/bin/Release/WordAddIn.pdb b/WordAddIn/WordAddIn/bin/Release/WordAddIn.pdb new file mode 100644 index 0000000000000000000000000000000000000000..0687f41fcc5c246dfdbead1e5e88b8eb3c08ee72 GIT binary patch literal 136704 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 TOP~aNczo!A4?Xbzmk0h2h(YWC literal 0 HcmV?d00001 diff --git a/WordAddIn/WordAddIn/bin/Release/WordAddIn.vsto b/WordAddIn/WordAddIn/bin/Release/WordAddIn.vsto new file mode 100644 index 0000000..b68247a --- /dev/null +++ b/WordAddIn/WordAddIn/bin/Release/WordAddIn.vsto @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + uc4ted455t5fnD/+JbLpdaTFK8cohGlzP/okvRpZkaY= + + + +u2iS9Fgei3TF/Y3nkcEa9EOIDuiXBAsXxxjBTjNWjyo=qqTHg6m3s7kQmUxARD8Qs8ewpwcejuUvjYC5Y7gkadIdT1HDSFT2qGhJBzrjlJVE2jlj2azutIuYzz2Birxhhn3TQRatXfEcqirHeHJhLGw8rQNy6DJzltFeGGjoNDkojdVB9EdTBNG5WNXEMPQhXYAJQEZwvsoJzApigWljHF8=23ghUI75yy8GcLhPT5yA+v2ssRfSW+chNqMI+pq5OAr7RXQJOt/+bHdoT9NoS9GQkvblc7ekoUNShIcN601ZZOPgAxkXaQS+La14Wp8GOwnM1qHNJwgla4VAIYjmCj3CUMXLsxspOFVZKRnB6/idYku4Gzhc7NjRBAwe8qWBXaE=AQABCN=DESKTOP-Q6H7B6L\AdministratorjNYRbwZELLiwmbasEVrI9F5SBTc5CX/3KhyNXa+oBJ8=SO2h00e50l0Pn6zBPURS24wQu10eljbiaskGqQmZfBqsO0BRE6i2sDfoZKvA33Vp1hOeGml4boP+jPh6uezIWf74o7g6vH+f0iTtAOHrWiuKvlFV53YHOoH5Ps7Tq+U0bQ8LLyjx5ZEUBj+mlGel9U8QGnCIBx1rwZlyc+azI8k=23ghUI75yy8GcLhPT5yA+v2ssRfSW+chNqMI+pq5OAr7RXQJOt/+bHdoT9NoS9GQkvblc7ekoUNShIcN601ZZOPgAxkXaQS+La14Wp8GOwnM1qHNJwgla4VAIYjmCj3CUMXLsxspOFVZKRnB6/idYku4Gzhc7NjRBAwe8qWBXaE=AQABMIICDTCCAXagAwIBAgIQJpSlsxfGbpRNgyjD5Q/yDjANBgkqhkiG9w0BAQsFADBFMUMwQQYDVQQDHjoARABFAFMASwBUAE8AUAAtAFEANgBIADcAQgA2AEwAXABBAGQAbQBpAG4AaQBzAHQAcgBhAHQAbwByMB4XDTI2MDEyNDAwMzYxNVoXDTI3MDEyNDA2MzYxNVowRTFDMEEGA1UEAx46AEQARQBTAEsAVABPAFAALQBRADYASAA3AEIANgBMAFwAQQBkAG0AaQBuAGkAcwB0AHIAYQB0AG8AcjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA23ghUI75yy8GcLhPT5yA+v2ssRfSW+chNqMI+pq5OAr7RXQJOt/+bHdoT9NoS9GQkvblc7ekoUNShIcN601ZZOPgAxkXaQS+La14Wp8GOwnM1qHNJwgla4VAIYjmCj3CUMXLsxspOFVZKRnB6/idYku4Gzhc7NjRBAwe8qWBXaECAwEAATANBgkqhkiG9w0BAQsFAAOBgQC3GjWMhEFFrn9PGYrQVGNAaibG1sR/eRX3ZWNRjYLhiqbsdeHvm4CX/W0EWd9yZlbaej87XyeUbX+mC3q3yMFVPCRn/W65WYyBPbWTWmSfU9VLKKULAH6WqjS7CqEU3cQSuKcU6nYG4AJu2/FkQJaA82tr3pvcQD28HmOlDeNh0Q== \ No newline at end of file diff --git a/WordAddIn/WordAddIn/obj/Release/DesignTimeResolveAssemblyReferences.cache b/WordAddIn/WordAddIn/obj/Release/DesignTimeResolveAssemblyReferences.cache new file mode 100644 index 0000000000000000000000000000000000000000..38908b9e1f7d225918a928614f8e5ac684e00dbe GIT binary patch literal 932 zcmbu8&q_i;6vppBh}jYitjcYaV9Wb2XD0`u1AQRS36vYw zg6c{HE3PmhV@=usJ7Shz^QSYFx0ki;(AN`?Oxn|XDSIen8)w~wi~+pB%Pt`x?0ylIQ#G3voatoMt@ zS!o{De^^D&iXa&gx=AKj=wS~^Zp2wHFt_4lVr=^?O+%0gwEGLveH@G^c4+iQ#PyyR z8c71yVi#rBj+cD677V4CD9|obvO|ySjI=`qJOaX4;&fT_a=2sXfGm$pJj~#~IrDB_%MtEkTn(B;MWV z-jvaC6QZutOb_3~kaWXASlp(_t*u$)mAL@pJs-S!`GVFV1P#&$uV4&BE#a7d@SAEiSknI=T2f%rusFz)g<{uVH%uS2Vwx&pSq; z3!o$uw5Xy;$t_wb?a*2enfNo5b_N#Yl}NXeP?|X@HabjqT~5Ci=98L0r5Deo=I(@m zp3B#3DkY2;D(!s=L+%5uRSGoOUE7?hM3O_KA}wGk5x1g_#Lo*PruWRjU#)Dq;4|Xl zYOYShol%GxlVnvKg+F&p!LcO!*3}vosblngeqp9bWU2{5|Gq0RVinQ{(W&s`j#M}+ z&AST#i1xt3VjeB#HCD0+4f$AGlRyvAnz|RuxC=!`V=P*8S`ON|0 zNSj;0?|vppxyXyp>IST^)=Pr>UB$-5TOEzXSJ> zWj3q)C6n4IGoJ<6I-i|;=U6$wCBr8FHd)Na?xdI2g%`h&EG6d_Bg4gmcv4zlU0-{h I)E;jC0o(EYuK)l5 literal 0 HcmV?d00001 diff --git a/WordAddIn/WordAddIn/obj/Release/WordAddIn.Properties.Resources.resources b/WordAddIn/WordAddIn/obj/Release/WordAddIn.Properties.Resources.resources new file mode 100644 index 0000000000000000000000000000000000000000..6c05a9776bd7cbae976fdcec7e3a254e93018279 GIT binary patch literal 180 zcmX?i>is@O1_p+SK%5g?SzMBus~417oL^d$oLUTL1*ImYq!#HYR*8GxXUf^%t3Noi54ZC+|=Nl{{sjzU0bQch;FcWPxwes*e}ZIZcpqG__J onW3ezNveT`r81^vrFkWpxv4PQgHubGfR2KJ07n-P+5+SQ04Y>DD*ylh literal 0 HcmV?d00001 diff --git a/WordAddIn/WordAddIn/obj/Release/WordAddIn.csproj.CoreCompileInputs.cache b/WordAddIn/WordAddIn/obj/Release/WordAddIn.csproj.CoreCompileInputs.cache new file mode 100644 index 0000000..5ae8440 --- /dev/null +++ b/WordAddIn/WordAddIn/obj/Release/WordAddIn.csproj.CoreCompileInputs.cache @@ -0,0 +1 @@ +dfceb9c0bcd6af0f5cce32fa9dd10ad83abf5bbc482d468e26e2dc4a9ed71baf diff --git a/WordAddIn/WordAddIn/obj/Release/WordAddIn.csproj.FileListAbsolute.txt b/WordAddIn/WordAddIn/obj/Release/WordAddIn.csproj.FileListAbsolute.txt new file mode 100644 index 0000000..460f57d --- /dev/null +++ b/WordAddIn/WordAddIn/obj/Release/WordAddIn.csproj.FileListAbsolute.txt @@ -0,0 +1,14 @@ +D:\dsWork\aiData\WordAddIn\WordAddIn\bin\Release\WordAddIn.dll +D:\dsWork\aiData\WordAddIn\WordAddIn\bin\Release\WordAddIn.pdb +D:\dsWork\aiData\WordAddIn\WordAddIn\bin\Release\WordAddIn.dll.manifest +D:\dsWork\aiData\WordAddIn\WordAddIn\bin\Release\WordAddIn.vsto +D:\dsWork\aiData\WordAddIn\WordAddIn\bin\Release\Microsoft.Office.Tools.Common.v4.0.Utilities.dll +D:\dsWork\aiData\WordAddIn\WordAddIn\bin\Release\Newtonsoft.Json.dll +D:\dsWork\aiData\WordAddIn\WordAddIn\bin\Release\Newtonsoft.Json.xml +D:\dsWork\aiData\WordAddIn\WordAddIn\obj\Release\WordAddIn.csproj.AssemblyReference.cache +D:\dsWork\aiData\WordAddIn\WordAddIn\obj\Release\WordAddIn.Properties.Resources.resources +D:\dsWork\aiData\WordAddIn\WordAddIn\obj\Release\WordAddIn.csproj.GenerateResource.cache +D:\dsWork\aiData\WordAddIn\WordAddIn\obj\Release\WordAddIn.csproj.CoreCompileInputs.cache +D:\dsWork\aiData\WordAddIn\WordAddIn\obj\Release\WordAddIn.csproj.Up2Date +D:\dsWork\aiData\WordAddIn\WordAddIn\obj\Release\WordAddIn.dll +D:\dsWork\aiData\WordAddIn\WordAddIn\obj\Release\WordAddIn.pdb diff --git a/WordAddIn/WordAddIn/obj/Release/WordAddIn.csproj.GenerateResource.cache b/WordAddIn/WordAddIn/obj/Release/WordAddIn.csproj.GenerateResource.cache new file mode 100644 index 0000000000000000000000000000000000000000..496a012623a8b1cfd3eef010be09fe36c0197f80 GIT binary patch literal 84 zcmZQ$WMp7qV3Z6f$}dPQD#=VOjtNRF&Mz%WPA%3eN-eGcN#m1e0!kl?>3g6QeUAfd H76StS69E{V literal 0 HcmV?d00001 diff --git a/WordAddIn/WordAddIn/obj/Release/WordAddIn.csproj.Up2Date b/WordAddIn/WordAddIn/obj/Release/WordAddIn.csproj.Up2Date new file mode 100644 index 0000000..e69de29 diff --git a/WordAddIn/WordAddIn/obj/Release/WordAddIn.dll b/WordAddIn/WordAddIn/obj/Release/WordAddIn.dll new file mode 100644 index 0000000000000000000000000000000000000000..10f3a4fde63c6e18536ddb3d8c8112c792d864ed GIT binary patch literal 92160 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 CVgm~R literal 0 HcmV?d00001 diff --git a/WordAddIn/WordAddIn/obj/Release/WordAddIn.pdb b/WordAddIn/WordAddIn/obj/Release/WordAddIn.pdb new file mode 100644 index 0000000000000000000000000000000000000000..0687f41fcc5c246dfdbead1e5e88b8eb3c08ee72 GIT binary patch literal 136704 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 TOP~aNczo!A4?Xbzmk0h2h(YWC literal 0 HcmV?d00001 diff --git a/WordAddIn/WpsInstaller/Program.cs b/WordAddIn/WpsInstaller/Program.cs new file mode 100644 index 0000000..09dd199 --- /dev/null +++ b/WordAddIn/WpsInstaller/Program.cs @@ -0,0 +1,344 @@ +using System; +using System.IO; +using System.Runtime.InteropServices; +using Microsoft.Win32; +using System.Diagnostics; +using System.Reflection; + +namespace WpsInstaller +{ + class Program + { + static void Main(string[] args) + { + Console.WriteLine("========================================"); + Console.WriteLine(" WPS Add-in Installer Tool"); + Console.WriteLine("========================================"); + Console.WriteLine(); + + string mode = "wps"; // default + if (args.Length > 0) + { + mode = args[0].ToLower(); + } + + try + { + // 1. Locate WordAddIn.dll and WordAddIn.vsto + string currentDir = AppDomain.CurrentDomain.BaseDirectory; + string dllPath = Path.Combine(currentDir, "WordAddIn.dll"); + string vstoPath = Path.Combine(currentDir, "WordAddIn.vsto"); + + if (!File.Exists(dllPath)) + { + // Fallback for Dev scenario + string devPathDll = Path.GetFullPath(Path.Combine(currentDir, @"..\..\..\WordAddIn\bin\Debug\WordAddIn.dll")); + if (!File.Exists(devPathDll)) + { + devPathDll = Path.GetFullPath(Path.Combine(currentDir, @"..\..\..\WordAddIn\bin\Release\WordAddIn.dll")); + } + + if (File.Exists(devPathDll)) + { + dllPath = devPathDll; + vstoPath = Path.ChangeExtension(dllPath, ".vsto"); + } + else + { + Console.WriteLine("Error: Could not find WordAddIn.dll."); + Pause(); + return; + } + } + + Console.WriteLine("Found DLL: " + dllPath); + + if (mode == "word") + { + Console.WriteLine("Mode: Switch to MS Word (VSTO)"); + // 1. Clean WPS Keys + CleanupWpsKeys(); + + // 1.5 Clear ClickOnce cache to avoid upgrade conflicts + Console.WriteLine("Clearing ClickOnce cache to avoid upgrade conflicts..."); + ClearClickOnceCache(); + + // 2. Register VSTO + if (RegisterVsto(vstoPath)) + { + Console.WriteLine(" [OK] VSTO registered successfully."); + } + else + { + Console.WriteLine(" [FAIL] Failed to register VSTO."); + } + } + else + { + Console.WriteLine("Mode: Switch to WPS Office"); + // 1. Register Assembly (COM Registration) + Console.WriteLine("Registering Assembly for COM Interop..."); + if (RegisterAssembly(dllPath)) + { + Console.WriteLine(" [OK] Assembly registered successfully."); + } + else + { + Console.WriteLine(" [FAIL] Failed to register assembly."); + Pause(); + return; + } + + // 2. Register for WPS (Registry Keys) + Console.WriteLine("Configuring WPS Registry Keys..."); + if (RegisterForWPS()) + { + Console.WriteLine(" [OK] WPS Registry keys configured successfully."); + } + else + { + Console.WriteLine(" [FAIL] Failed to configure WPS registry keys."); + Pause(); + return; + } + + // 3. Cleanup conflicting VSTO registration + Console.WriteLine("Checking for conflicting VSTO registrations..."); + CleanupVstoKeys(); + } + + Console.WriteLine(); + Console.WriteLine("========================================"); + Console.WriteLine(" Operation Completed Successfully!"); + Console.WriteLine("========================================"); + } + catch (Exception ex) + { + Console.WriteLine("An unexpected error occurred: " + ex.Message); + Console.WriteLine(ex.StackTrace); + } + + Pause(); + } + + static void Pause() + { + Console.WriteLine("\nPress any key to exit..."); + Console.ReadKey(); + } + + static void ClearClickOnceCache() + { + try + { + string localApp = Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData); + string cachePath = System.IO.Path.Combine(localApp, "Apps", "2.0"); + if (Directory.Exists(cachePath)) + { + Directory.Delete(cachePath, true); + Console.WriteLine(" [OK] Cleared ClickOnce cache at " + cachePath); + } + else + { + Console.WriteLine(" ClickOnce cache not found, skipping."); + } + } + catch (Exception ex) + { + Console.WriteLine(" Warning: Failed to clear ClickOnce cache: " + ex.Message); + } + } + + static bool RegisterVsto(string vstoPath) + { + if (!File.Exists(vstoPath)) + { + Console.WriteLine(" Error: .vsto file not found at " + vstoPath); + return false; + } + + try + { + // Register via Registry for Development/Local use + // HKCU\Software\Microsoft\Office\Word\Addins\WordAddIn + string keyPath = @"Software\Microsoft\Office\Word\Addins\WordAddIn"; + using (RegistryKey key = Registry.CurrentUser.CreateSubKey(keyPath)) + { + if (key == null) return false; + + key.SetValue("Description", "WordAddIn", RegistryValueKind.String); + key.SetValue("FriendlyName", "WordAddIn", RegistryValueKind.String); + key.SetValue("LoadBehavior", 3, RegistryValueKind.DWord); + // Point to vsto file with |vstolocal to indicate local file + key.SetValue("Manifest", vstoPath + "|vstolocal", RegistryValueKind.String); + + Console.WriteLine(" Created Key: HKCU\\" + keyPath); + Console.WriteLine(" Manifest: " + vstoPath + "|vstolocal"); + } + return true; + } + catch (Exception ex) + { + Console.WriteLine(" Error registering VSTO: " + ex.Message); + return false; + } + } + + static void CleanupWpsKeys() + { + try + { + string keyPath = @"Software\Kingsoft\Office\Word\Addins\WordAddIn.WpsAddIn"; + using (RegistryKey key = Registry.CurrentUser.OpenSubKey(keyPath, true)) + { + if (key != null) + { + Console.WriteLine(" Found WPS key. Deleting..."); + Registry.CurrentUser.DeleteSubKeyTree(keyPath); + Console.WriteLine(" [OK] WPS key deleted."); + } + } + } + catch (Exception ex) + { + Console.WriteLine(" Warning: Failed to cleanup WPS keys: " + ex.Message); + } + } + + static bool RegisterAssembly(string assemblyPath) + { + try + { + // Use RegistrationServices to register the assembly + // This is equivalent to regasm /codebase + // Note: This requires the assembly to be strong-named if registered in GAC, + // but for simple codebase registration, it might work if run as Admin. + + // However, standard RegistrationServices doesn't easily support /codebase option programmatically + // without some caveats. + // The most robust way for a utility is often to shell out to RegAsm.exe if available, + // OR use RegistrationServices.RegisterAssembly. + + // Let's try RegistrationServices first. + RegistrationServices regService = new RegistrationServices(); + Assembly asm = Assembly.LoadFrom(assemblyPath); + + // RegisterAssembly adds entries to HKCR\CLSID\{GUID} + // We need to set the CodeBase registry key manually if not in GAC, + // or ensure RegistrationServices does it. + // Actually, RegistrationServices.RegisterAssembly does NOT set the CodeBase by default. + // It works like RegAsm without /codebase. + + // So calling RegAsm.exe via process is safer to ensure /codebase behavior. + string regAsmPath = GetRegAsmPath(); + if (string.IsNullOrEmpty(regAsmPath)) + { + Console.WriteLine(" Warning: Could not find RegAsm.exe. Attempting manual registration..."); + return ManualRegister(asm, assemblyPath); + } + + string args = string.Format("\"{0}\" /codebase /tlb", assemblyPath); + ProcessStartInfo psi = new ProcessStartInfo(regAsmPath, args); + psi.UseShellExecute = false; + psi.RedirectStandardOutput = true; + psi.CreateNoWindow = true; + + Console.WriteLine(string.Format(" Executing: {0} {1}", psi.FileName, psi.Arguments)); + + using (Process p = Process.Start(psi)) + { + string output = p.StandardOutput.ReadToEnd(); + p.WaitForExit(); + Console.WriteLine(output); + return p.ExitCode == 0; + } + } + catch (Exception ex) + { + Console.WriteLine(" Error registering assembly: " + ex.Message); + return false; + } + } + + static bool ManualRegister(Assembly asm, string assemblyPath) + { + // Fallback: This is complex to do fully manually for all COM types. + // If RegAsm is missing, we might be in trouble. + // But usually on a machine with .NET Framework (needed to run this app), RegAsm is present. + return false; + } + + static string GetRegAsmPath() + { + // Usually in C:\Windows\Microsoft.NET\Framework\v4.0.30319\RegAsm.exe + // or Framework64 + string windir = Environment.GetEnvironmentVariable("windir"); + string fxDir = Path.Combine(windir, @"Microsoft.NET\Framework\v4.0.30319"); + // Check for 64 bit OS and prefer Framework64 if this process is 64 bit, + // BUT WordAddIn is likely AnyCPU. + // If Word/WPS is 32-bit, we need 32-bit RegAsm. If 64-bit, we need 64-bit RegAsm. + // Ideally register both. + + // For safety, let's try to find the one matching the current process architecture, + // or just use the 32-bit one as it is most common for Office. + + string regAsm = Path.Combine(fxDir, "RegAsm.exe"); + if (File.Exists(regAsm)) return regAsm; + + return null; + } + + static bool RegisterForWPS() + { + try + { + string keyPath = @"Software\Kingsoft\Office\Word\Addins\WordAddIn.WpsAddIn"; + using (RegistryKey key = Registry.CurrentUser.CreateSubKey(keyPath)) + { + if (key == null) + { + Console.WriteLine(" Error: Could not create registry key HKCU\\" + keyPath); + return false; + } + + key.SetValue("LoadBehavior", 3, RegistryValueKind.DWord); + key.SetValue("FriendlyName", "AI Word Assistant for WPS", RegistryValueKind.String); + key.SetValue("Description", "AI Assistant", RegistryValueKind.String); + key.SetValue("CommandLineSafe", 0, RegistryValueKind.DWord); + + Console.WriteLine(" Created Key: HKCU\\" + keyPath); + Console.WriteLine(" Set LoadBehavior = 3"); + } + return true; + } + catch (Exception ex) + { + Console.WriteLine(" Error writing WPS registry keys: " + ex.Message); + return false; + } + } + + static void CleanupVstoKeys() + { + try + { + // VSTO adds keys in HKCU\Software\Microsoft\Office\Word\Addins\WordAddIn + string vstoKeyPath = @"Software\Microsoft\Office\Word\Addins\WordAddIn"; + + using (RegistryKey key = Registry.CurrentUser.OpenSubKey(vstoKeyPath, true)) + { + if (key != null) + { + Console.WriteLine(" Found VSTO key in HKCU\\" + vstoKeyPath + ". Deleting to avoid conflicts..."); + Registry.CurrentUser.DeleteSubKeyTree(vstoKeyPath); + Console.WriteLine(" [OK] VSTO key deleted."); + } + } + } + catch (Exception ex) + { + Console.WriteLine(" Warning: Failed to cleanup VSTO keys: " + ex.Message); + } + } + } +} diff --git a/WordAddIn/WpsInstaller/Properties/AssemblyInfo.cs b/WordAddIn/WpsInstaller/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..4b08aea --- /dev/null +++ b/WordAddIn/WpsInstaller/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("WpsInstaller")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("WpsInstaller")] +[assembly: AssemblyCopyright("Copyright © 2024")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("a1b2c3d4-e5f6-4789-0011-223344556677")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Build and Revision Numbers +// by using the '*' as shown below: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/WordAddIn/WpsInstaller/WpsInstaller.csproj b/WordAddIn/WpsInstaller/WpsInstaller.csproj new file mode 100644 index 0000000..36726f0 --- /dev/null +++ b/WordAddIn/WpsInstaller/WpsInstaller.csproj @@ -0,0 +1,58 @@ + + + + + Debug + AnyCPU + {A1B2C3D4-E5F6-4789-0011-223344556677} + Exe + WpsInstaller + WpsInstaller + v4.7.2 + 512 + true + true + + + AnyCPU + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + false + + + AnyCPU + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + false + + + app.manifest + + + + + + + + + + + + + + + + + + + + diff --git a/WordAddIn/WpsInstaller/app.manifest b/WordAddIn/WpsInstaller/app.manifest new file mode 100644 index 0000000..ea91638 --- /dev/null +++ b/WordAddIn/WpsInstaller/app.manifest @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/WordAddIn/WpsInstaller/bin/Debug/WpsInstaller.exe b/WordAddIn/WpsInstaller/bin/Debug/WpsInstaller.exe new file mode 100644 index 0000000000000000000000000000000000000000..99bae34f242deaed257d0543c4c0802464a7a247 GIT binary patch literal 12288 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 literal 0 HcmV?d00001 diff --git a/WordAddIn/WpsInstaller/bin/Debug/WpsInstaller.pdb b/WordAddIn/WpsInstaller/bin/Debug/WpsInstaller.pdb new file mode 100644 index 0000000000000000000000000000000000000000..ae750615b4b4ba5a70dd73365d2bcde16620b831 GIT binary patch literal 19968 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 literal 0 HcmV?d00001 diff --git a/WordAddIn/WpsInstaller/bin/Release/WpsInstaller.pdb b/WordAddIn/WpsInstaller/bin/Release/WpsInstaller.pdb new file mode 100644 index 0000000000000000000000000000000000000000..7e6dbd88b8f9ede12b178fc2284bff5007a4a5ce GIT binary patch literal 26112 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 X2*u~2lT*oAAZLM`1#%X+{4MbRtzg^y literal 0 HcmV?d00001 diff --git a/WordAddIn/WpsInstaller/obj/Debug/.NETFramework,Version=v4.7.2.AssemblyAttributes.cs b/WordAddIn/WpsInstaller/obj/Debug/.NETFramework,Version=v4.7.2.AssemblyAttributes.cs new file mode 100644 index 0000000..057ed7f --- /dev/null +++ b/WordAddIn/WpsInstaller/obj/Debug/.NETFramework,Version=v4.7.2.AssemblyAttributes.cs @@ -0,0 +1,4 @@ +// +using System; +using System.Reflection; +[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.7.2", FrameworkDisplayName = ".NET Framework 4.7.2")] diff --git a/WordAddIn/WpsInstaller/obj/Debug/WpsInstaller.csproj.AssemblyReference.cache b/WordAddIn/WpsInstaller/obj/Debug/WpsInstaller.csproj.AssemblyReference.cache new file mode 100644 index 0000000000000000000000000000000000000000..c5dbbe86b53603761d0793718e92a7a81693938a GIT binary patch literal 1207 zcmZQ${SB^OYUfu6B}v7sdcV?0gl53VdONzEl}dj>6SkI2o@^U2IBB75Vnxt|7+oO{fuJSChZ-~8y(<%DcW`DF!JpxO z^I!Pp572v;&y2*k-6p3q?dhC*&&-^9BcA8|!H3@IX;lzDZHP!KqY}&BD<4V`y@R7|wFlYKu-i-KlZ9k%E}rl5 z9wrcHuq2{C7=Q7o3m+1VI+7fxUF0!vh zOD$9rrL=T*a9P;j<@(scHp=l*eVR5&?0GA1B1oCT2n_hJDCl zOb!f;mWjBvpo?Ic(0OJ>3Ma|fPEI3)e&$swm61xD0@s@i+rNMOT=jjwejBGg{Xei? zw>S5~AEBnG;ESX?E{U3UNq1cmnc|Y}xg;{pB~7^`GSwyBcS&TrOM2jvXj5F$v`eB* Kb4h_i8vhIG(lh@6 literal 0 HcmV?d00001 diff --git a/WordAddIn/WpsInstaller/obj/Debug/WpsInstaller.exe b/WordAddIn/WpsInstaller/obj/Debug/WpsInstaller.exe new file mode 100644 index 0000000000000000000000000000000000000000..99bae34f242deaed257d0543c4c0802464a7a247 GIT binary patch literal 12288 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 literal 0 HcmV?d00001 diff --git a/WordAddIn/WpsInstaller/obj/Debug/WpsInstaller.pdb b/WordAddIn/WpsInstaller/obj/Debug/WpsInstaller.pdb new file mode 100644 index 0000000000000000000000000000000000000000..ae750615b4b4ba5a70dd73365d2bcde16620b831 GIT binary patch literal 19968 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 +using System; +using System.Reflection; +[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.7.2", FrameworkDisplayName = ".NET Framework 4.7.2")] diff --git a/WordAddIn/WpsInstaller/obj/Release/DesignTimeResolveAssemblyReferencesInput.cache b/WordAddIn/WpsInstaller/obj/Release/DesignTimeResolveAssemblyReferencesInput.cache new file mode 100644 index 0000000000000000000000000000000000000000..89cc66aaf2d9ea2fb6bb31b8d9bf653d88ab08d0 GIT binary patch literal 1760 zcmcJQ-)q}25XZeOFR;n0_|hst1Cw#0qze5dcdc#&;pI%wBv`nSBkbvo%-N*ND=>!&FK^Kr-AcC4p0Z6}!!WuLS zM{~a)w!u0X4`+wB%{lo%-W@iQ!F0v!I{3z-kQ5fiN-+-v9)&R7qXR_-#zKH>VnRZq zNEoKzhC2ruh0z#2wi@eW`w=rXZ+{ij{ums&bgr(oA|~j&k|85eg9(f;LjMjRf0~m= z{=SY9RIuF1|1_9@YObz-yetPybHSN|e=Iln z1(~o=IAix!R!(3k(Aj-|>a}CbEF1*lu730y{phtgBRNZvPi==096}1}K(#CKOBnjoh^Vw3S*U1uItY*gG00 z*SAqBC}#!ZzB|0W(+YaueB!)%eQr|vJS?Vdb)@~ literal 0 HcmV?d00001 diff --git a/WordAddIn/WpsInstaller/obj/Release/WpsInstaller.csproj.AssemblyReference.cache b/WordAddIn/WpsInstaller/obj/Release/WpsInstaller.csproj.AssemblyReference.cache new file mode 100644 index 0000000000000000000000000000000000000000..c5dbbe86b53603761d0793718e92a7a81693938a GIT binary patch literal 1207 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 literal 0 HcmV?d00001 diff --git a/WordAddIn/WpsInstaller/obj/Release/WpsInstaller.pdb b/WordAddIn/WpsInstaller/obj/Release/WpsInstaller.pdb new file mode 100644 index 0000000000000000000000000000000000000000..7e6dbd88b8f9ede12b178fc2284bff5007a4a5ce GIT binary patch literal 26112 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 X2*u~2lT*oAAZLM`1#%X+{4MbRtzg^y literal 0 HcmV?d00001