提交 96e1d505 编写于 作者: 2 2293736867

Chapter 4

上级 3c3a4831
# Table of Contents
* [1 白盒测试](#1-白盒测试)
* [2 逻辑覆盖法](#2-逻辑覆盖法)
* [2.1 语句覆盖](#21-语句覆盖)
* [2.2 判定覆盖](#22-判定覆盖)
* [2.3 条件覆盖](#23-条件覆盖)
* [2.4 条件/判定覆盖](#24-条件判定覆盖)
* [2.5 修正条件/判定覆盖](#25-修正条件判定覆盖)
* [2.6 条件组合覆盖](#26-条件组合覆盖)
* [2.7 路径覆盖](#27-路径覆盖)
* [2.8 总结](#28-总结)
* [3 路径分析](#3-路径分析)
* [4 控制结构测试](#4-控制结构测试)
# 1 白盒测试
白盒测试是对软件的过程性细节做细致的检查,把测试对象看作是一个打开的盒子,允许测试人员利用程序内部的逻辑结构以及有关信息,设计或选择测试用例,对程序所有逻辑路径进行测试。通过在不同点检查程序状态,确定实际状态是否与预期的状态一致。
白盒测试只测试软件产品的内部结构和处理过程,而不是测试软件产品的功能,可以分为静态和动态两种:
- 静态白盒测试就是在不执行测试的情况下有条理仔细审查软件设计、体系结构和代码,从而找出软件缺陷的过程
- 动态白盒测试也叫结构化测试,通过查看并使用代码的内部结构,设计和执行测试
白盒测试的常见方法包括:
- 逻辑覆盖法
- 路径分析
- 控制结构测试
# 2 逻辑覆盖法
逻辑覆盖法又叫控制流覆盖,是按照程序内部逻辑结构设计测试用例的测试方法,根据程序中的判定和条件控制流覆盖准则来定量度量测试进行程度,按照覆盖标准的不同,可以分为:
- 语句覆盖
- 判定覆盖
- 条件覆盖
- 条件判定覆盖
- 修正条件判定覆盖
- 条件组合覆盖
- 路径覆盖
## 2.1 语句覆盖
语句覆盖又叫线覆盖面或者段覆盖面,含义是选择足够数目的测试数据,使被测试程序中每条语句至少执行一次。语句覆盖可以直接应用于目标代码,不需要处理源代码,但是由于对一些控制结构不敏感(比如同样的测试用例,语句中的逻辑运算符从`and`改为`or`也同样通过),逻辑覆盖率低,因此往往不能发现判断中逻辑运算符出现的错误。
## 2.2 判定覆盖
又叫分支覆盖或所有边覆盖,用于测试控制结构中布尔表达式分别为真和假,其中布尔表达式被认为是一个整体,不考虑内部是否包含了“逻辑与”或者“逻辑或”等运算符。判定覆盖的基本思想是设计的测试用例是的程序中每个判定至少分别取“真”分支和取“假”分支经历一次,即判断真假值均被满足。
判定覆盖比语句覆盖提供了更强的测试能力,但是,大部分的判定语句是由多个逻辑条件组合而成的,仅仅判断最终的逻辑运算结果并不能真正覆盖所有的测试路径,这是判定覆盖的一个缺点。
## 2.3 条件覆盖
条件覆盖是设计测试用例,使得每个判断中每个条件的可能取值至少满足一次。
条件覆盖比判定覆盖增加了对符合判定情况的测试,增加了测试路径,但是条件覆盖只能保证每个条件至少有一次为真,而不考虑所有的判定结果。
## 2.4 条件/判定覆盖
条件/判定覆盖是综合了条件覆盖与判定覆盖的一种方法,含义是通过设计足够的测试用例,使得判断条件中所有条件可能至少执行一次取值,同时所有判断的可能结果至少执行一次。
表面上,条件/判定覆盖能同时满足判定覆盖以及条件覆盖两种标准,但实际上并没有完全覆盖所有的“真”和“假”取值的条件组合情况,这种情况下需要将判定语句中的复合条件表达式进行分解,形成由多个基本判定嵌套组成的流程图,以有效检查所有条件是否正确。
## 2.5 修正条件/判定覆盖
修正条件/判定覆盖(缩写为`MC/DC`)可以解释为:
- 每个条件的所有可能结果至少出现一次
- 每个判定本身的所有可能结果也至少出现一次
- 每个入口点与出口点至少要唤醒一次
- 每个条件都显示能单独影响判定结果
`MC/DC`具有如下优点:
- 继承了多重条件覆盖的优点
- 线性地增加了测试用例的数量
- 对操作数以及非等式条件变化反应敏感
- 具有更高的目标码覆盖率
## 2.6 条件组合覆盖
基本思想是,设计测试用例使得:
- 每个条件中的所有可能至少出现一次
- 每个判断本身的判定结果也至少出现一次
条件组合覆盖是一种相当强的覆盖准则,可以有效地检查各种可能的条件取值的组合是否正确,它不但可以覆盖所有条件的可能取值组合,还可以覆盖所有判断的可取分支,但仍有可能的路径会遗漏掉,测试还不完全。
## 2.7 路径覆盖
路径覆盖的基本思想是,选择足够的测试用例,使得程序中所有可能的路径都至少被执行一次。一条路径是从函数的入口到出口分支的一个唯一序列。
路径覆盖的覆盖率比前面几种逻辑覆盖要大,但是随着代码增加,测试工作将呈指数级增长,比如一个函数包括10个判断语句,那么就需要测试`2^10 = 1024`个路径。
## 2.8 总结
语句覆盖的效果最弱,路径覆盖的效果最好,如下图所示:
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210414092712630.png)
优缺点集合:
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210414093317798.png)
# 3 路径分析
路径分析测试法是在程序控制流程图的基础上,通过分析控制构造的环路复杂性,导出独立路径集合,设计测试用例的方法。程序的所有路径作为一个集合,在这些路径集合中必然存在一个最短路径,这个最小的路径称为基路径或独立路径。
路径分析与测试法主要步骤如下:
- 绘制控制流图
- 计算圈复杂性,圈复杂性用于计算程序的基本独立路径数目,确保所有语句至少执行一次的测试数量的上界
- 确定独立路径的集合,独立路径是指至少引入程序的一个新处理语句集合或一个新条件的路径,即独立路径必须包含一条在定义之前不曾使用的边
- 测试用例生成,设计测试用例的数据输入和预期结果,确保基本路径集中每条路径上的执行
# 4 控制结构测试
控制结构测试可以分为:
- 条件测试:检查程序模块中所包含逻辑条件的测试用例设计方法
- 循环测试:检测代码中的简单循环、嵌套循环以及串接循环,测试用例包括零次循环、一次循环、两次循环、m次循环、最大循环次数等等
- Z路径覆盖:是路径覆盖的一个变体,是一种在大量判断和多个循环组合的情况下减少循环测试次数的方法,Z路径覆盖不考虑循环的形式和复杂度如何,也不考虑实际执行循环体次数是多少,只考虑通过循环体零次和一次这两种情况
# 选择题
1-5 DCCAA
6-10 DDDDA
# 简答题
# 1
白盒测试方法也叫结构测试或逻辑驱动测试,是根据模块内部逻辑结构,针对程序语句、路径、变量状态等来进行测试,检验程序的各个分支条件是否得到满足、每条路径是否按预定要求正确的工作。
# 2
语句覆盖测试方法仅仅针对程序逻辑中的显式语句,对隐藏条件无法测试,而且对一些控制结构不敏感,不能发现判断中逻辑运算符出现的错误。
# 3
条件覆盖只能保证每个条件至少有一次为真,而不考虑所有的判定结果。满足条件覆盖的测试用例由于测试用例的所有判定结构都是`Faise`,并没有满足判定覆盖,因此条件覆盖不一定包含判定覆盖。
# 选择题
# 1、以程序内部的逻辑结构为基础的测试用例设计技术属于()
A、灰盒测试
B、数据测试
C、黑盒测试
D、白盒测试
# 2、通常测试可以分为白盒测试和黑盒测试,白盒测试是根据程序的()来设计测试用例
A、功能
B、性能
C、内部逻辑
D、内部数据
# 3、白盒测试方法的优点是()
A、可测试软件的特定部位
B、能站在用户立场测试
C、可按软件内部结构测试
D、可发现实现功能需求中的错误
# 4、使用白盒测试方法时,确定测试数据应根据()确定覆盖标准
A、程序的内部结构
B、程序的复杂性
C、使用说明书
D、程序的功能
# 5、针对逻辑覆盖()叙述是不正确的
A、达到100% CC要求就一定能够满足100% DC的要求
B、达到100% C/DC要求就一定能够满足100% DC的要求
C、达到100% MC/DC要求就一定能够满足100% DC的要求
D、达到100% 路径覆盖要求就一定能够满足100% DC的要求
# 6、以下不属于白盒测试技术的是()
A、逻辑覆盖
B、基本路径测试
C、循环覆盖测试
D、等价类划分
# 7、
针对程序段
```bash
IF (X>10) AND (Y<20) THEN
W = W/A
```
对于`(X,Y)`的取值,()测试用例能够满足判定覆盖的要求。
A、`(30,15) (40,10)`
B、`(3,0) (30,30)`
C、`(5,25) (10,20)`
D、`(20,10) (1,100)`
# 8、逻辑覆盖法设计测试用例时,方法包括语句覆盖、分支覆盖、条件覆盖、条件/判定覆盖、路径覆盖等,其中()是最强的覆盖准则
A、语句覆盖
B、条件覆盖
C、条件/判定覆盖
D、路径覆盖
# 9、以下不属于逻辑覆盖的是()
A、语句覆盖
B、判定覆盖
C、条件覆盖
D、基本路径
# 10、条件组合覆盖是一种逻辑覆盖,它的含义是设计足够的测试用例,使得判定条件中的各种可能组合至少出现一次,满足条件组合的测试用例也是满足()级别的测试
A、语句覆盖、判定覆盖、条件覆盖、条件/判定组合覆盖
B、判定覆盖、条件覆盖、条件/判定组合覆盖、修正条件判定覆盖
C、语句覆盖、判定覆盖、条件/判定组合覆盖、修正条件判定覆盖
D、路径覆盖、判定覆盖、条件覆盖、条件/判定组合覆盖
# 简答题
# 1、白盒测试是什么?
# 2、为什么说语句覆盖是最弱的逻辑覆盖?
# 3、条件覆盖为什么不一定包含判定覆盖?
{"diagram":{"image":{"height":752,"pngdata":"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snbt2px++unZZ599qsonTpyYSZMmpUWLFrn22muz3377ZfHixVm5cmV69uxZ73NnzpyZ//zP/8yqVavy7//+7/nP//zPepdVf3gW+Lbbbsv111/f4PIPz9AnyVFHHZWjjjqq3nEmybPPPpuysrJ897vf3WRbAJouwRoA2CLXXHNNZs+enT322CMXXnhhRowYkYkTJ1bN7P7Xf/1XnnrqqfTo0SPDhg2rum/BggVVoXr8+PHp06dPVX8zZszIhAkTcvjhh9d4Xnl5eX784x/njjvuSJJ885vfzLnnnrvJcdYWjLekHADqIlgDAHWaMWNGrUGzsrIyixYtStu2bXPNNddkr732yjHHHJPbb789vXv3Ttu2bXPVVVelXbt2mTBhQlq2bFl17x577JHjjz8+/fr1y4EHHpgkmTVrVh577LF07NgxBx98cI3nzZ07Nz/84Q/z6quvJkmKi4uzevXqlJWVpV27dvV+hmnTphXyFdS5ZHzjrHtDNCSse78aoOmyHSUA26WSkpLKRJipT2lpabp27ZrDDjsss2bNysKFC/PVr341yfvHbZ199tmZN29e9t133yTJihUrMnDgwCxbtizFxcUpLy/PDTfcsMlQ+d5772XAgAFZsGBBfvjDH1bb2GvBggX58Y9/nBkzZiRJDj744Bx33HGZNGlSFi9enJ133jlDhgzJKaeckh122KFav6tXr86aNWuyfPnyzJw5M6effnrVUWDPPPNMvve97+X888+vcyOxjf7xj3+kVatW6dSpU7UjsmbNmpVZs2bVe+8999yT5cuX55xzzqm3XfL+OeDUbuP/Q3PmzPG7K/Cx5C8nALZLgvWmTZs2LZ06dUppaWkuueSSPPTQQ/V+XxUVFfnRj35UtWHYV77ylVx22WU1Au+HjRs3Lvfcc0++/OUvZ9y4camsrMysWbNy77335oknnsiGDRuy6667ZujQoTnhhBOSJGvWrMnNN9+c22+/PevXr0/Pnj1z0UUX1ZjtXrVqVc4666y89dZbmTx5cvbff/8sXbo0AwYMyJIlSzbr+7j++uvzhS98YbPu6devXxYsWOD/swIJ1sDHnaXgAECtevfuXevRU7V54YUXMn78+Lz66qvZdddd065du0ybNi1//OMf8/Wvfz3HHXdctTOdN3r88cdzzz33ZKeddsrFF1+cGTNm5Lrrrstbb72VJOnYsWMGDBiQ/v37V1tOvuOOO2b48OE54YQTMnbs2MydOzdDhgzJl7/85YwdOzbNmjXLunXrMnLkyMyfPz+jR4/O/vvvn7KysgwbNixr167NXXfdlc6dOzfo8314ufmECRMadN+yZcs2q/3gwYOz0047NagtAB8fgjUAUKszzjgjX/jCFzJ69Oha6zds2JDf/e53ueeee/Lss8+mqKgoJ510Ui644IK0atUqU6ZMya233ppx48blmmuuyf/+3/87ffr0yWmnnZbi4uK88sor+cEPfpAk2WWXXbLTTjulV69eWbJkSUpLS3PSSSfly1/+ctX50rXZa6+9Mnny5Nx111258cYbU1xcnGbNmmX16tUZOXJkZs2alZEjR+b4449PRUVFhg4dmjfffDNr167N1772tQZ/Fx+eca7vDOvaNLT9gAEDBGuAJkiwBgAa7Morr0yS7Lrrrpk2bVoWLFiQJOnTp0/OP//8qvetk/d37T755JNz22235b777svvf//7LF++PF/72tcyf/78fPvb3857771Xrf9u3brl//7f/1vr7HZdiouLM2DAgBx++OFp06ZNli5dmiFDhuTNN9/MRRddlP79+2f69OlZuXJlhgwZkubNm2fo0KEZPHhwhgwZUm/fdW1QZmk3AB8kWAMADXbvvfcmST796U/n6KOPzvz58zNw4MB85jOfqbV9hw4dcsEFF2TIkCF59NFH86lPfSqvvvpqzjvvvCxbtixnnXVWbr311mr3tGnTZouOvDr00ENz0003JUmOPvro9OrVK0ceeWTmzZuXSy+9ND179szkyZOrlpTffPPNmTx5cr19VlZWbvY4ANj+CNYAQIPVNlPbkBC8xx575L777kuSPPzww1m2bFlOPPHEDBs2rEawTlK1+/iH3XvvvWnXrl2+/OUv16jba6+9qn4ePHhwkuRvf/tbhg8fng4dOuS6666r9p72N7/5zS2esd5o4+ZkhTIDDtC0CdYAQMHatGmTww8/vNa6hx56qNr1UUcdlVdeeSUjRoxIUVHtmzx///vfr7X83nvvTfv27eus/6AlS5Zk6NChWbx4caZOnZoOHTpUq580aVKDz6HelEGDBlW7njJlSnbaaaf069evquy+++7LihUrqrXdWAZA0yZYAwAF69ChQy6//PJa6z4crJs3b54LLrjgIx3P/PnzM3z48CxatChJsttuu1WrnzFjRsaPH58nn3wyY8aMqXPW/fHHH88TTzyxyecNGzas2vWUKVOyyy67VCt/4oknsmLFilrLAGjaBGsA4BPl3XffzZlnnplWrVqlb9++eeCBB6rVL1q0KJdccklefPHFJMm3v/3tevvbe++9P7KxAvDJUNzYAwAAmo4VK1Zk7ty5VZuYfRx17tw53/jGN3LTTTela9euVeXr1q3LlClTctppp2XNmjU5/PDD06xZs3znO9/J008/Xe2/22+/PXvttVeaN2+ec845pxE/DQBNgRlrAKCadevWZdGiRdmwYUNef/31jB07NrNmzUqSfPGLX0yStGzZss4Nxj4ONr7HPH369KqyWbNm5cYbb8yRRx6ZUaNGpWXLlhkzZkyuvvrqzJw5M8OHD0+XLl1y66235o477ki7du3ys5/9LAceeGAjfQoAmgrBGgCo5rXXXstZZ52VJHn11Vfz6quvplmzZunZs2f+9V//Nb169aqxPPrvf/97LrnkkoKf/eKLL9ZYuv1hS5curTpPuzZ1bWz2uc99LnfffXd69OhRVTZ69OiUlJTkyiuvzIABA9KiRYusW7cuhx12WMaOHZtddtml1r42fta///3v1a4/6MPfSW1tayur6111AD6+BGsAoJp99903Rx11VLp3755evXqlV69e2XPPPdOsWd2/NqxatarGJmVbYsGCBZtcZl5WVlZvm/p2DO/evXsWLlyYN954I6+99lr++Mc/5oUXXsj69evTtm3btGnTJosXL87TTz+ds88+Oz169Ei3bt3SsWPHtGvXLj169MgBBxxQ47PW9tnr+k42VSZYAzQ9gjUAUE1xcXHGjx+/Wfd88JzqD2vIOdcbnXDCCTnhhBM269n16dSpU/bff/8kyT//+c9cdNFFKSsrS8eOHdOlS5cccsghOeWUU9KjR4/stttuKSoqyvz58zNnzpy8/PLLeeONN/Liiy9m2bJlSZJrr702iXOnAaiu9sMjAeATrqSkpDIRkLaGxYsXp3nz5mnfvv0W1b/00ktp2bLlx3r37fLy8ixdujSdOnVq7KFslzb+48ycOXP87gp8LJmxBgAKsqmwuan6z3zmM1tzOB+J5s2bC9UA1MlxWwAAAFAAwRoAAAAKIFgDAABAAQRrAAAAKIBgDQAAAAUQrAEAAKAAjtsCYLu28XxcAIAtZcYagO1SZWXlc409BmCz/LGxBwAAAPCJV1JSUtq7d+8vNvY4ANi+mLEGAD4xKisrTywuLh7Q2OMAYPviHWsA4BOjqKjo65WVla2SFCWpbOzxALB9MGMNAHwilJSUHJCkZ1FR0W4HHnjgZxt7PABsPwRrAOCT4oSNP1gODsC2JFgDAJ8UX9/4Q2Vl5VcacyAAbF8EawCgySspKfl0kk9vvC4qKtrzoIMOOrgRhwTAdkSwBgCavIqKiuM/XFZUVPT12toCwNYmWAMATV5tIdpycAC2laLGHgAAQCFKS0t7VlZWzqutrqio6IDZs2e/tK3HBMD2xYw1ANCk1bYM/AN1loMD8JETrAGAJq2oqKi+o7X6brOBALDdshQcAGiy9ttvv+4tW7ZcUF+bDRs27DN37tzXttWYANj+mLEGAJqsli1bHrepNsXFxZaDAwAAQEOUlJRUlpSUVDb2OADYvpixBgAAgAII1gAAAFAAwRoAAAAKIFgDAABAAQRrAAAAKIBgDQAAAAUQrAEAAKAAgjUAAAAUQLAGAACAAgjWAAAAUADBGgAAAAogWAMAAEABBGsAAAAogGANAAAABRCsAQAAoACCNQAAABRAsAYAAIACCNYAAABQAMEaAAAACiBYAwAAQAEEawAAACiAYA0AAAAFEKwBAACgAII1AAAAFECwBgAAgAII1gAAAFAAwRoAAAAKIFgDAABAAQRrAAAAKIBgDQAAAAUQrAEAAKAAgjUAAAAUQLAGAACAAgjWAAAAUICixh4AADSGkpKSx5Ic2djjABqmsrLyuT/84Q99GnscALUxYw3A9kqohiakqKjo0MYeA0BdmjX2AACgMc2ePbuxhwBsQmlpaWMPAaBeZqwBAACgAII1AAAAFECwBgAAgAII1gAAAFAAwRoAAAAKIFgDAABAAQRrAAAAKIBgDQAAAAUQrAGARlVeXp6KiorGHkaTsG7duqxZs6beNqtWrdpGowFgI8EaAD5Bbrjhhpx22mm55557tmq/zz33XEaNGpVnn312k2379euXc889t8F933vvvTnmmGPy29/+tpAhbrb33nsvo0aNykUXXZRp06Zt02dviXnz5qV///4ZMWJE1q5dW2ub8vLyDBo0KOPGjUt5efk2HiHA9qtZYw8AANg6nnnmmUyZMiXdunVL3759t2rfDz30UB544IH06tUrffr0qSp/7bXX0qtXrxQX//9/q1+wYEHWrVvX4L7vu+++LF26NL169apWPnz48Lz11lub1c/muPLKK/Pggw8mSYqKivKVr3ylwfcOHDgwr7zyymY9ryFmz55dZ13Xrl3TqlWrzJ49OxdffHEmTJhQ7XtPkkmTJuWNN95I586d06yZX/MAthV/4wLAJ8A//vGPXHbZZUmSXXfdNT/60Y8adF/37t1z+umn19tmw4YN+d3vfpfi4uIce+yxVeWLFi3K6aefnj333DP33nvvFo37+eefz1/+8pf827/9W/bff/9qdW+99VYWLFiwRf1uys0335wHH3wwu+22W/7lX/4l06dPz0033ZRvfetbDbr/6quvrnPWeOrUqbn11ltrfCd1lTdU69atc+2112bgwIFp1apV1qxZkzZt2lTVz5kzJ1OmTEnHjh0zZsyYFBUVbdFzANh8gjUANHHl5eX5zne+kyVLliR5P2DNmTOnQfeWlpZuMlg///zzWb58efr06ZOOHTtWlT/33HNJUiMQb45f/epXKS4uzvnnn5/k/feDV6xYkS5dulS1qW8WN3l/6fnmBPBf/vKX+dnPfpbWrVvnuuuuyy677JIzzzwzkydPTuvWrXPWWWdtso8uXbpk5cqVtb7P3Lx58yTJjjvu2KDyJGnTpk3atm1bdT1hwoTceeeddT7/kUceySOPPFJr3ZIlS/KlL32p1rpNfZcAbBnBGgCasMrKyowZMyZz585NkvTt2zejRo2qsUT4g5588slcfPHFKS8vz2mnnbbJZ2xcYn3qqafW6CdJjjrqqC0a+7x58/Lkk0/mpJNOSo8ePZIkd955Z37+85/npptu2qI+61NZWZmf/OQnmTJlSlq1apUf/ehH6dmzZ5LkxhtvzODBg/PjH/84K1asyHnnnVfvd5i8P+v9q1/9qs76upaW11Y+cODAXHDBBVXXBx10UDZs2LDJz/TQQw+lrKysQX+OAHx0BGsAaMKuuuqqTJs2Lfvss0923333PPDAAykrK8vll1+e1q1bV2tbUVGRSZMm5ec//3natGmTa665Joceemi9/S9dujQzZszIzjvvnMMPP7yqfNWqVXnqqaeSJA8++GAeffTRavf985//zCWXXFKjvzPOOCP77LNPkuSmm25Kq1atqpZfr1q1Krfffnu6dOmSz3zmM5v/ZdRj1apVueyyy/L444+nTZs2ue6661JSUlJVv8cee2TixIkZOnRopkyZknnz5mXMmDHZeeedN9n3h2eBb7vttlx//fUNLi8tLa3R51FHHdWgf7B49tlnU1ZWlu9+97ubbAvAR0ewBoAmaMOGDbn88sszderU7L777vnJT36SnXfeOcXFxXn00UczcODAjB07Nvvtt1+SZP78+Rk9enRefPHF9OzZMxMmTEj37t03+Zz7778/69evT7t27bLDDjtUlU+fPr1qg7Lp06fXuG/NmjV56KGHapQfc8wx2WefffLcc89lxowZGTp0aDp06JDk/eC5YsWKjB49utqzCvXSSy/lBz/4Qf7617+mU6dO+dGPfpR//dd/rdFuzz33zJQpUzJ8+PA8+eSTOe2003LxxRfniCOOqLf/2oLxlpQD0HQJ1gDQBF177bWZOnVqunfvnptuuint27dPklxxxRXp1q1bbrnllgwaNCgnn3xy2rRpkzvvvDPr16/PKaeckgsvvDAtW7bc5DPee++93H777bXW3X333UmSW265JQcccEC1utLS0nTp0iUPPPBArfeuWbMml19+eYqLi/Pee+9l4sSJWb9+fe66664ccsgh1WbGC7F69epMnDgxd9xxRyoqKnLooYfmyiuvzC677FLnPbvuumumTJmScePG5YEHHsjIkSNz2GGHZdiwYVUz7R9W6FFddS0ZnzhxYiZNmtSgPhoS1r1fDfDREawBoAk699xzs3r16gwbNqwqVCdJcXFxzjvvvHTr1i1jx46ttgP1sGHDctZZZzV4t+jf/OY3WbZsWY3y2bNn59VXX03Pnj1rhOqGaNasWZYtW5aKior84he/SIsWLbJ+/fokqfae8UabO8NbUVGRadOm5ac//WkWL16coqKitG3bNu+++27OOeecBvdTXFyc7t275+mnn84zzzyTz372sxkxYkTVe9lDhgzJmWeemeXLl2fmzJk5/fTT06JFiyTvH332ve99L+eff36dG4lt9Otf/zqtWrXK+vXrqx2RVVJSssnx3nPPPVm+fPlmfS4Atj7BGgCaoHbt2mXUqFHVyt55553MnDkzjz32WObMmZPKysr06NEjGzZsyIIFC3LDDTfkjjvuSJ8+fdK7d+/su+++6dmzZ62z1ytXrswvf/nLtGjRosaZ1DfeeGOS5JRTTtmisTdv3jw/+clP0rZt23Tq1Clvvvlmzj777Hz1q1+tdVb43//93+vtb/r06Vm5cmXV9TPPPFP13XTr1i2jRo3KrbfeWrXZ2ua4/fbbc/XVV+e3v/1tXnrppWqz3a1bt05lZWWGDBmSt956K6Wlpdl///2zdOnSXHbZZSkrK8u4ceMybty4Bj3r+uuvzxe+8IWq60MOOSSHHHJIvfdMnz49y5cvz9ChQzf7swGw9QjWANBELVy4MC+99FLmzp2b559/vurIqY4dO+bUU0/NscceWzWjPHfu3EyfPj0zZ87MtGnTqpYvFxcXp1OnTunWrVs6d+6cb33rW+nUqVN++tOfZunSpRk4cGC1na8XL16c119/Pe3bt89JJ520xWPv3bt3kmT9+vW5/PLL06FDhwwbNqzWtj/4wQ/q7esPf/hDtWD92c9+NkcffXR23333/J//83/SsmXLahuVba4f/OAHOfbYY7N8+fJqqwPWrVuXkSNHVr2/vv/++6esrCzDhg3L2rVrc9ddd6Vz584Neka7du2qXU+YMKFB921cUdDQ9oMHD85OO+3UoLYANJxgDQBNzFVXXZWHH344ZWVlSd4/F/mAAw7ICSeckM9+9rPZe++9q5Z7Dx48OB07dswVV1yR3r17Z+TIkXn77bczZ86cvPTSS3n55Zczb968vPPOO/n85z+fTp065fXXX89vfvOb7LTTTjnnnHOqBetOnTplypQpeeWVVxr0nvamTJw4MfPmzcuECROqneNcqKuuumqr9ZWkxszx6tWrM3LkyMyaNSsjR47M8ccfn4qKigwdOjRvvvlm1q5dm6997WsN7v/D7z/Xd4Z1bRrafsCAAYI1wEdAsAaAJuaYY47JunXrsu+++2a//fbL3nvvXecu2rNnz063bt2qlXXt2jVdu3ZN3759k7z/TvLChQuz4447JknatGmT5P13smsLYT179qx6z7gQ//M//5MpU6bki1/8Yr74xS8W3N+2snTp0gwZMiRvvvlmLrroovTv379qOfqQIUPSvHnzDB06NIMHD86QIUPq7auuDcpsNAbQtAjWANDEHHTQQTnooINy9dVX54477thk+3fffTf9+vWrt819991X9XPXrl1z7rnn5uSTT67R7qWXXqraEbw+dZ1jnSSXXnpp/vznP+d73/teKioq0q1bt1x99dV5++238/bbb2f33Xdv8NLmhij0eKsPh9z27dvn6KOPTq9evXLkkUdm3rx5ufTSS9OzZ89Mnjy5aib/5ptvzuTJk+vtu7KysqCxAfDxIFgDQBO1ZMmSqveq67N+/foGtfugunaZfvvtt2s9n/rD6jrHOkm+//3vZ968eVm9enWS98+v3mGHHdK5c+d069Ythx12WLX2W+Pc5x122KHGzP2mvPXWW9mwYUOtdYMHD06S/O1vf8vw4cPToUOHXHfdddWWx3/zm9/c4hnrjfr166zI3gkAACAASURBVLfZf3a1MQMO8NESrAGgiRo/fny164qKihQXF1crKy0tTbdu3XL//fdvlWcec8wxOeaYY+pts6lzrJPkc5/7XC666KLsvvvu6d69e7p27Vpj7Btt7q7gtdl1112rzco3RN++ffPOO+/UWb9kyZIMHTo0ixcvztSpU9OhQ4dq9ZMmTWrwOdSbMmjQoGrXU6ZMyU477VRtJcJ9992XFStWVGu7sQyAj5ZgDQCfAMuWLcuIESPSv3//HH/88XW2mzdvXm677bYMHTo0nTp12oYjrK5Tp07p379/g9pu7q7g28L8+fMzfPjwLFq0KEmy2267VaufMWNGxo8fnyeffDJjxoypc9b98ccfzxNPPLHJ5314x/QpU6Zkl112qVb+xBNPZMWKFbWWAfDREqwBoIlbuHBhRowYkYULF+b+++/PcccdV+fs7y233JKHH34406dPzznnnJMzzjgjzZs338YjrmnFihX505/+lBdffDFvvPFGfvjDHzb2kOr07rvv5swzz0yrVq3St2/fGjPzixYtyiWXXJIXX3wxSfLtb3+73v723nvvj2ysAGwbgjUANGFPP/10vv/972fFihU57rjjcumll9YZqpNk7NixOeCAA3LjjTfmxhtvzAMPPJCLL764xnFSH7U5c+bklVdeycsvv5yXX345CxcurKrr0qXLNh3L5urcuXO+8Y1v5Atf+EKmT59eVb5u3brccccdufnmm7P77rvn8MMPz1NPPZULLrigxuZxb7zxRi655JK89dZbdb7PDkDTIVgDQBO0YcOGTJw4MbfcckuSZMSIETnzzDOrtVm7dm2N+4qLi9O/f/8cccQRGTduXGbOnJlzzz03J554Yi688MK0a9dum4z/2muvzSuvvJIk2WWXXXLEEUfkM5/5THr37p1Pf/rT22QMhdj4HvMHg/WsWbNy44035sgjj8yoUaPSsmXLjBkzJldffXVmzpyZ4cOHp0uXLrn11ltzxx13pF27dvnZz36WAw88sJE+BQBbi2ANAE3M3//+94wYMSJ//vOf0759+4wbNy4HH3xwVq9enVWrVmXnnXdOktx1111JklatWtXoo1OnTrn++uvzwAMP5Oqrr87UqVOzePHi/PSnP90mn2HQoEEpKyvLQQcdlD333LOqfP78+RkwYECS93cgT7LJo8I+3K62TcreeeedrbK7eH0+97nP5e67706PHj2qykaPHp2SkpJceeWVGTBgQFq0aJF169blsMMOy9ixY7PLLrvU2tfGo8r+/ve/V7v+oL///e/VymtrW1vZ5ZdfvqUfEYA6CNYA0MS0b98+HTt2zM4775yxY8fmU5/6VJJkwYIFGThwYI32Bx98cJ199e3bNwcffHBGjRqV888//yMb84d96UtfqrV87dq1NY6XauhxU/W129rHbdWle/fuWbhwYd5444289tpr+eMf/5gXXngh69evT9u2bdOmTZssXrw4Tz/9dM4+++z06NEj3bp1S8eOHdOuXbv06NEjBxxwQI2jymo7umzVqlW1lm+qTLAG2PoEawBoYoqLi/PDH/4wLVq0SFFRUVV5jx490rlz52zYsCEVFRXZcccd06dPn5x33nn19te5c+dMnDjxox52g+yzzz4fyZnLH8VxW8n7M//7779/kuSf//xnLrroopSVlaVjx47p0qVLDjnkkJxyyinp0aNHdttttxQVFWX+/PmZM2dOXn755bzxxht58cUXs2zZsiTvL5FPnDsN0NQUbboJAHzylJSUVCYCTEOsW7cuRUVFH4vdw7fElVdemZ133nmT/8DwYb/4xS+yfPnyXHDBBR/RyP6/8vLyLF26tFGPQPs427iMf86cOX53BT6W/OUEwHZJsIamQ7AGPu7qPo8DAAAA2CTBGgAAAAogWAMAAEABBGsAAAAogGANAAAABRCsAQAAoADNGnsAANCYNh7jAwCwpcxYA7BdqqysfK6xxwBslj829gAAAAA+8UpKSkp79+79xcYeBwDbFzPWAMAnRmVl5YnFxcUDGnscAGxfvGMNAHxiFBUVfb2ysrJVkqIklY09HgC2D2asAYBPhJKSkgOS9CwqKtrtwAMP/GxjjweA7YdgDQB8Upyw8QfLwQHYlgRrAOCT4usbf6isrPxKYw4EgO2LYA0ANHklJSWfTvLpjddFRUV7HnTQQQc34pAA2I4I1gBAk1dRUXH8h8uKioq+XltbANjaBGsAoMmrLURbDg7AtlLU2AMAAChEaWlpz8rKynm11RUVFR0we/bsl7b1mADYvpixBgCatNqWgX+gznJwAD5ygjUA0KQVFRXVd7RW3202EAC2W5aCAwBN1n777de9ZcuWC+prs2HDhn3mzp372rYaEwDbHzPWAECT1bJly+M21aa4uNhycAAAAGiIkpKSypKSksrGHgcA2xcz1gAAAFAAwRoAAAAKIFgDAABAAQRrAAAAKIBgDQAAAAUQrAEAAKAAgjUAAAAUQLAGAACAAgjWAAAAUADBGgAAAAogWAMAAEABBGsAAAAogGANAAAABRCsAQAAoACCNQAAABRAsAYAAIACCNYAAABQAMEaAAAACiBYAwAAQAEEawAAACiAYA0AAAAFEKwBAACgAII1AAAAFECwBgAAgAII1gAAAFAAwRoAAAAKIFgDAABAAQRrAAAAKIBgDQAAAAUQrAEAAKAAgjUAAAAUQLAGAACAAgjWAAAAUADBGgAAAAogWAMAAEABBGsAAAAogGANAAAABRCsAQAAoACCNQAAABSgqLEHAACNoaSk5LEkRzb2OICGqaysfO4Pf/hDn8YeB0BtzFgDsL0SqqEJKSoqOrSxxwBQl2aNPQAAaEyzZ89u7CEAm1BaWtrYQwColxlrAAAAKIBgDQAAAAUQrAEAAKAAgjUAAAAUQLAGAACAAgjWAAAAUADBGgAAAAogWAMAAEABBGsAgCZs3bp1WbNmTb1tVq1atY1GA7B9EqwBoIm64YYbctppp+Wee+7Zqv0+99xzGTVqVJ599tlNtu3Xr1/OPffcrfr8D5s8eXLGjh2bDRs2bNZ9I0aMyLhx4zbrnvLy8tx9990ZOXJk1q1bt1n3NoZ58+alf//+GTFiRNauXVtrm/Ly8gwaNCjjxo1LeXn5Nh4hwPahWWMPAADYfM8880ymTJmSbt26pW/fvlu174ceeigPPPBAevXqlT59+lSVv/baa+nVq1eKi///v8svWLBgqwbQdevWpUWLFtXKnnjiifz5z3/OxRdfXFW2evXqtG7dut6+nnzyyeyxxx6b9fyysrLccsstWbJkSUaPHp0rrriiwfcOHDgwr7zyymY9ryFmz55dZ13Xrl3TqlWrzJ49OxdffHEmTJhQ7c8nSSZNmpQ33ngjnTt3TrNmfvUD+Cj42xUAmph//OMfueyyy5Iku+66a370ox816L7u3bvn9NNPr7fNhg0b8rvf/S7FxcU59thjq8oXLVqU008/PXvuuWfuvffeLR77B1VUVOSkk07K22+/nYkTJ+axxx7LzJkzc8stt6Rjx45V7SorK5OkKjCuXr06J510Uo444ohccMEFad26dV599dW0bNkye+65Z0Fjat++fa644oqce+65mT17dhYsWNDgcH711VfXOWs8derU3HrrrTW+u7rKG6p169a59tprM3DgwLRq1Spr1qxJmzZtqurnzJmTKVOmpGPHjhkzZkyKioq26DkA1E+wBoAmpLy8PN/5zneyZMmSJO8Hpzlz5jTo3tLS0k0G6+effz7Lly9Pnz59qoXb5557Lkmy//77b+HIa/r973+ft99+Oz179szBBx+cF154Ie+8805GjBiRyZMnV81IfzhY33rrrVm6dGn+8pe/pFWrVkmSAQMGZI899sh9991X7zNLS0sbPL4lS5akX79+9bbp1q1b7r///iRJly5dsnLlylrfZ27evHmSZMcdd2xQeZK0adMmbdu2rbqeMGFC7rzzzjrH8sgjj+SRRx6p87N86UtfqrWuvhlxABpGsAaAJqKysjJjxozJ3LlzkyR9+/bNqFGjaiz9/aAnn3wyF198ccrLy3Paaadt8hkbg+mpp55ao58kOeqoo7Z0+DXcfffdSZL+/fsnSb7xjW9k1qxZef755zNq1KiMHz8+RUVF2bBhQ9VM6zvvvJPbbrstrVu3zpgxY+r97HVp1qxZdtttt4LHv2DBghplN998c371q1/Vec9XvvKVBpcPHDgwF1xwQdX1QQcd1KD3zB966KGUlZU16M8bgK1DsAaAJuKqq67KtGnTss8++2T33XfPAw88kLKyslx++eU13jeuqKjIpEmT8vOf/zxt2rTJNddck0MPPbTe/pcuXZoZM2Zk5513zuGHH15VvmrVqjz11FNJkgcffDCPPvpotfv++c9/5pJLLqnR3xlnnJF99tmn1me98cYbee6559KuXbuqUFlcXJzRo0fntNNOy+OPP55f/OIXOeecc7J+/frssMMOVd/B2rVrM2rUqHTr1m0T31jtOnfuvMmZ7Yaob/b7w7PAt912W66//voGl9fW91FHHdWgf9h49tlnU1ZWlu9+97ubbAvA1iFYA8DH3IYNG3L55Zdn6tSp2X333fOTn/wkO++8c4qLi/Poo49m4MCBGTt2bPbbb78kyfz58zN69Oi8+OKL6dmzZyZMmJDu3btv8jn3339/1q9fn3bt2lUF2SSZPn161QZl06dPr3HfmjVr8tBDD9UoP+aYY+oM1htnq0888cRqy6A7d+6cESNG5L//+7/z+c9/Pkmyfv36FBcXp6KiIm3bts1xxx2XE088cZOfpzHVFbo3txyApkGwBoCPuWuvvTZTp05N9+7dc9NNN6V9+/ZJkiuuuCLdunXLLbfckkGDBuXkk09OmzZtcuedd2b9+vU55ZRTcuGFF6Zly5abfMZ7772X22+/vda6jSH4lltuyQEHHFCtrrS0NF26dMkDDzzQ4M+zcuXKPPjggykuLq51uXK/fv3Sr1+/quXf69atS7NmzVJcXJyxY8dm/fr1DX7Wh51zzjnZeeedt/j+Dxo0aFD+5V/+pda6adOmFdR3XUvGJ06cmEmTJjWoj4aEde9XA2wdgjUAfMyde+65Wb16dYYNG1YVqpP3l06fd9556datW8aOHVttZ+lhw4blrLPOavAu0L/5zW+ybNmyGuWzZ8/Oq6++mp49e9YI1Vtq6tSpWbNmTT73uc9VW85d23LyJFm+fHkqKipq1H/zm99s8I7dixYtyrBhw6qut9bO5kly/PHHV/25DBkyJGeeeWaWL1+emTNn5vTTT686PuyZZ57J9773vZx//vl1biS20a9//eu0atUq69evr3ZEVklJSc4555x6773nnnuyfPnyTbYDYOsRrAHgY65du3YZNWpUtbJ33nknM2fOzGOPPZY5c+aksrIyPXr0yIYNG7JgwYLccMMNueOOO9KnT5/07t07++67b3r27Fnr7PXKlSvzy1/+Mi1atKhxJvWNN96YJDnllFO2ymeprKzMr3/96yTJ1772tWp1tS0nr6/+lFNOaXCwLi8vr3Wzsa2hvLy86ufWrVunsrIyQ4YMyVtvvZXS0tLsv//+Wbp0aS677LKUlZVl3LhxGTduXIP6vv766/OFL3yh6vqQQw7JIYccUu8906dPz/LlyzN06NAt+0AAbDbBGgCagIULF+all17K3Llz8/zzz1eFxI4dO+bUU0/NscceWzWjPHfu3EyfPj0zZ87MtGnTqpYlFxcXp1OnTunWrVs6d+6cb33rW+nUqVN++tOfZunSpRk4cGC1Ha0XL16c119/Pe3bt89JJ520VT7HU089lb/+9a/p3r17DjvssGp1tS1L3rBhQw499NDstttumTp16hY/d88999ysZc+lpaVp27Ztfve7323Wc9atW5eRI0dWvee+//77p6ysLMOGDcvatWtz1113pXPnzg3qq127dtWuJ0yY0KD7Nq48aGj7wYMHZ6eddmpQWwBqJ1gDwMfYVVddlYcffjhlZWVJ3j/v+IADDsgJJ5yQz372s9l7772rlnsPHjw4HTt2zBVXXJHevXtn5MiRefvttzNnzpy89NJLefnllzNv3ry88847+fznP59OnTrl9ddfz29+85vstNNOOeecc6oF606dOmXKlCl55ZVXGvSedkNsfF/7tNNOa9Ay9RUrVlR97q3tf/7nf9KpU6f06NFji47t+rDVq1dn5MiRmTVrVkaOHJnjjz8+FRUVGTp0aN58882sXbu2xix9fT78DwH1nWFdm4a2HzBggGANUCDBGgA+xo455pisW7cu++67b/bbb7/svffe1Xbs/qDZs2fXOIKqa9eu6dq1a/r27Zvk/WO4Fi5cWBVU27Rpk+T9d7JrC1c9e/ZMz549t8pnWbhwYZ566qm0bt26wbt6v/XWW0mSDh06bJUxbFRRUZELL7wwGzZsyO9///sax5VtrqVLl2bIkCF58803c9FFF6V///6ZPn16Vq5cmSFDhqR58+YZOnRoBg8enCFDhtTbV10blNloDODjS7AGgI+xgw46KAcddFCuvvrq3HHHHZts/+6776Zfv371tvngGc5du3bNueeem5NPPrlGu5deeqlqhrk+dZ1jnSSXXnpp1eZdv/71r1NZWZnjjz++KtB/sI/ali6/++67Sd4P5bU94/LLL9/k+Grz5ptvZv369encuXPBoTpJ2rdvn6OPPjq9evXKkUcemXnz5uXSSy9Nz549M3ny5KoZ/5tvvjmTJ0+ut6/KysqCxwPAtiVYA0ATsGTJkgZtvrV+/frN3qSrrt2j33777U1uKJbUfY51knz/+99PixYtsnr16qp3pPv371+j3erVq+t91ttvv5233367RvmWBus//OEPSZL/9b/+V51tVq5cuckjqx599NF86lOfSvL+Uvwk+dvf/pbhw4enQ4cOue6666oto//mN7+5xTPWG/Xr12+rbMRmBhxg6xGsAaAJGD9+fLXrioqKGu8Fl5aWplu3brn//vu3yjOPOeaYHHPMMfW2aeg51g8++GBWrVqVQw89NHvttVeN+q5du9YIeqtXr86Xv/zlrFmzJvfff3+NZe6FePzxx6vGX5fi4uLsvvvu9fbz4WX5S5YsydChQ7N48eJMnTq1xhL2SZMmNfgc6k0ZNGhQtespU6Zkp512qrZi4b777suKFSuqtd1YBsDWI1gDQBOzbNmyjBgxIv3798/xxx9fZ7t58+bltttuy9ChQ9OpU6dtOMKaNi4pr222ui4bz7v+9Kc/vVVD9V//+tfMmjUryftnZNeldevW1ZbNb8r8+fMzfPjwLFq0KEmy2267VaufMWNGxo8fnyeffDJjxoypM9Q//vjjeeKJJzb5vA+ey528H6x32WWXauVPPPFEVqxYUWsZAFuPYA0ATcjChQszYsSILFy4MPfff3+OO+64One0vuWWW/Lwww9n+vTpOeecc3LGGWekefPm23jEybPPPps333wzXbp0yeGHH96ge1atWpWf//znSd7fQXxT7r333gZ/tptvvjkVFRVJ3g+jffr0SUlJSYPurcu7776bM888M61atUrfvn1rzOAvWrQol1xySV588cUkybe//e16+9t7770LGg8A21bhZ0sAANvE008/nbPOOisLFy7Mcccdl5/85Cf1HhM1duzYXHTRRdlhhx1y4403pn///lUztdvSxtnqU089tcHHWl1zzTVZunRpdt9993pn5Tfac889a8wQ1+bZZ5+tOtd79OjRad68eUaMGJEZM2Y0aFx16dy5c77xjW/kpptuSteuXf9fe/cepWVZ74///YyAyHBIkkBEscGl7SSUQWSVyreVmprsbblN1C8q5lcwEsgwy73dEaLhgcxWaSmkuM3zYW3Zbk0XqYVlRpCamRmB4JENG+Usc3p+f/BjtiNzgkcZGF6vtVjMc93Xfd+fmcXimvdzX8911bdXVVVl1qxZOfXUU7Nhw4YMHz48HTp0yDe/+c08/fTTDf7cfvvt+fjHP56OHTs2+bl3AHZMgjUA7OBqa2tzww03ZMKECVm7dm0mTpyYyy+/vH617STZuHHjFueVlZVl5MiRuffee3PUUUdlyZIlOf/88zNlypT6fbE/bG+88Ubmzp2b3XffvdGVxxtzzz335MEHH0yhUMgll1zS5PZizVm/fn2SNNgr+7XXXsull16aYrGYY489NiNGjMhVV12VmpqaTJo0KRdccEEef/zxZqeHN2f06NFbbE02b968XH/99TnyyCNz8803Z/r06Tn++ONzzTXX5MILL8zixYvz7rvv5sYbb8w555yT1atX56c//WmOOeaYbaoBgLZhKjgA7MBWrFiRiRMn5qWXXkrPnj0zbdq0HHbYYVm/fn3WrVuXHj16JEnuuuuuJEnnzp23uEbv3r1z3XXX5aGHHso111yT2bNnZ9myZbnhhhs+9Prvvffe1NXV5fjjj290n+z3u+++++oXajv77LMzbNiwVt3nrbfeSpcuXVJeXp6amprcdtttSZKuXbsm2bS91vjx47Ny5cr07Nkz3/rWt5IkRxxxRGbOnJkpU6bUPznebP369TnppJOy2267NQj3tbW1qa2tTXV1daqqqnLmmWfm7LPPbrSuI444InfffXcqKirq26ZMmZLKysp873vfyxlnnJFOnTqlqqoqn/70pzN16tTsueeejV5r83ZjK1asaPD6vVasWNGgvbG+jbVt6+rqAGwiWAPADqxnz57p1atXevTokalTp9Zv7bRkyZKMGjVqi/6HHXZYk9caMWJEDjvssEyePDkXXHDBh1bzZhs3bsx//Md/JGndomXTp0/PnXfemSQ54YQTtqrGq666Kr/+9a+3aD/yyCOTbPp5LVu2LJ06dcq1117bILwefPDBueuuu/LUU0/liSeeyEsvvZQVK1bk3XffzbJly1JdXd3svVsK//vtt1+WLl2aRYsW5eWXX84LL7yQZ599NjU1NenatWvKy8uzbNmyPP300znnnHNSUVGRfv36pVevXunWrVsqKioyaNCgLbYja2x7snXr1jXa3lKbYA1QGsEaAHZgZWVlueqqq9KpU6cG05orKirSp0+f1NbWpq6uLnvssUeGDRuWr33ta81er0+fPrnxxhs/7LKTbNrP+bTTTkv37t1z0EEHtdj/iCOOyAMPPJAvfvGLueiiixp8vy059NBDs2TJktTU1KRYLKa8vDzDhw/POeeckyT57Gc/mwkTJuQTn/hEPvWpT21xfllZWYYPH97k4mp1dXX1f5JNU8zLysrq/36v3r17Z+DAgUmSd955JxdffHHWrFmTXr16Ze+9987QoUNzyimnpKKiIvvss08KhUJeeeWVLFiwIC+++GIWLVqU559/Pm+//XaS5Nprr01i32mAHVnrRywAaEcqKyuLibDyflVVVSkUCm2yeniSLFu2rM23BttRVFdXZ+XKlX4e+d/9xhcsWOB3V2CH5Ik1AFDvvQuitQUh8n917NjRzwNgJ2FVcAAAACiBYA0AAAAlEKwBAACgBII1AAAAlECwBgAAgBII1gAAAFAC220BsEvbvD8uAMC28sQagF1SsVj8fVvXwIejrq6urUvgw/FCWxcAAADQ7g0aNOj/VVZW/ktb1wHArsUTawCg3dhtt92+kuSctq4DgF2Lz1gDAO1FWaFQOLxYLBay6eGBOeEAbBeeWAMA7UJlZeUZSXYrFAplhxxyyMS2rgeAXYdgDQC0C8Vi8f9t/nq33XYb05a1ALBrEawBgPbiiM1fFIvFA9uyEAB2LYI1ALDTO+SQQ0YWCoX6tWMKhULZpz71qa+1ZU0A7DoEawBgp1dWVnbe+9s6dOjw1baoBYBdj2ANALQHR72/oVAoHNQWhQCw6xGsAYCdWmVl5T8WCoVOjRzqcOihh5693QsCYJcjWAMAO7VisXh+U8cKhcLXt2ctAOyaBGsAYGd3dFMHCoXCwduzEAB2TYI1ALDTGjRo0PGFQmH3Zrp0HDRo0OnbrSAAdkmCNQCw09ptt92anAb+nj7f2B61AAAAwE6vsrKyWFlZWWzrOgDYtXhiDQAAACUQrAEAAKAEgjUAAACUQLAGAACAEgjWAAAAUALBGgAAAEogWAMAAEAJBGsAAAAogWANAAAAJRCsAQAAoASCNQAAAJRAsAYAAIASCNYAAABQAsEaAAAASiBYAwAAQAkEawAAACiBYA0AAAAlEKwBAACgBII1AAAAlECwBgAAgBII1gAAAFACwRoAAABKIFgDAABACQRrAAAAKEGhrQsA2NENHjz4mUKh8Km2rgNolT3+/783tGkVQGssXLBgwaC2LgI+CB3augCAHV2hUBgab0TCTqNYLKZQKOzRck+gjXnTmnZDsAZoWSFJFixYIFwDwAegsrKy2NY1wAfJZ6wBAACgBII1AAAAlECwBgAAgBII1gAAAFACwRoAAABKIFgDAABACQRrAAAAKIFgDQAAACUQrAEAAKAEgjUAAACUQLAGAACAEgjWAAAAUALBGgAAAEogWAMAAEAJBGsAAAAogWANAAAAJRCsAQAAoASCNQAAAJRAsAYAAIASCNYAAABQAsEaAAAASiBYAwAAQAkEawAAACiBYA0AAAAlEKwBAACgBII1AAAAlECwBgAAgBII1gAAAFACwRoAAABKIFgDAABACQRrAAAAKIFgDQAAACUQrAEAAKAEgjUAAACUQLAGAACAEgjWAAAAUALBGgAAAErQoa0LANgJ/HNbFwAA7YyxlXal0NYFQHtSWVn5yySfa+s6gNYpFou//+Mf/zisresAmmZshZ3Lrjq2mgoOHywDP+xECoXC4W1dA9AiYyvsRHbVsdVUcPgQzJ8/v61LAFowZMiQti4B2ArGVtjx7cpjqyfWAAAAUALBGgAAAEogWAMAAEAJBGsAAAAogWANAAAAJRCsAQAAoASCNQAAAJRAsAbYwVVVVWXDhg3N9lm3RivJcgAAIABJREFUbt12qgYAdn7GVj5ogjXQ5mbOnJmpU6emtrZ2q86bOHFipk2btlXnVFdX5+67786kSZNSVVW1Vee2hYULF2bkyJGZOHFiNm7c2Gif6urqjB49OtOmTUt1dfV2rhCAHdGPfvSjnHrqqbnvvvs+0Ov+/ve/z+TJk/PMM8+02Pfkk0/O+eef/4He/4NgbOXD0KGtCwB2LVVVVenUqVODtieeeCIvvfRSLrnkkvq29evXp0uXLs1e66mnnkr//v236v5r1qzJLbfckuXLl2fKlCm54oorWn3uqFGj8pe//GWr7tca8+fPb/JY375907lz58yfPz+XXHJJpk+fnrKyhu+J3nTTTVm0aFH69OmTDh38tw6wq/vd736XWbNmpV+/fhkxYsQHeu1HHnkkDz30UA444IAMGzasvv3ll1/OAQcc0GCMWrJkSYtvYhtbaS/8KwG2m6uuuipz587NLbfckl69etW3F4vFJKkf1NavX5+TTjopn/3sZ3PhhRemS5cu+etf/5rdd989+++/f0k19OzZM1dccUXOP//8zJ8/P0uWLGl1OL/mmmuafGd79uzZufXWW3P//fe3qr21unTpkmuvvTajRo1K586ds2HDhpSXl9cfX7BgQWbNmpVevXrlsssuS6FQ2Kb7ANA+/M///E+++93vJkk+9rGP5Yc//GGrzttvv/1y+umnN9untrY2v/rVr1JWVpbjjz++vv3111/P6aefnv3333+rxztjK+2FYA1sNx/96Efz5ptvZuLEiZk5c2b9E+n3B+tbb701K1euzN///vd07tw5SXLGGWekf//+eeCBB5q9x5AhQ1pdz/Lly3PyySc326dfv3558MEHkyR777131q5d2+hnrjp27Jgk2WOPPVrVniTl5eXp2rVr/evp06fnzjvvbLKWRx99NI8++miT38sxxxzT6LHm3rUHoP2orq7ON7/5zSxfvjzJpoC4YMGCVp07ZMiQFoP1H/7wh6xatSrDhg1r8Ab573//+yTJwIEDt7pmYyvthWANbDdf+cpXMm/evPzhD3/I5MmTc/XVV6dQKKS2trb+3eA333wzt912W7p06ZLLLrtsi6lZrdGhQ4fss88+Jde7ZMmSLdpmzJiRn//8502e84UvfKHV7aNGjcqFF15Y/3rw4MGt+pz5I488kjVr1uTUU09tsS8Au4ZisZjLLrsszz33XJJkxIgRmTx5crPj6FNPPZVLLrkk1dXVrRpTNr+5/eUvf3mL6yTJ0UcfvU21G1tpDwRrYLspKyvLlClTcuqpp+bxxx/PzTffnHPPPTc1NTXZbbfdkiRXXnllNm7cmMmTJ6dfv37bdJ8+ffq0+GS7NZp7+v3+d6pvu+22XHfdda1ub+zaRx99dKt+KXnmmWeyZs2afOtb32qxLwC7hiuvvDIPP/xwDjrooOy777556KGHsmbNmlx++eVbrFlSV1eXm266KT/72c9SXl6e73//+zn88MObvf7KlSvz5JNPpkePHhk+fHh9+7p16/Lb3/42SfJf//Vfeeyxxxqc98477+TSSy/d4npnnnlmDjrooAZtxlZ2ZoI1sF316dMnEydOzH/+53/myCOPTJLU1NSkrKwsdXV16dq1a0444YT80z/9UxtX2rymQvfWtgNAKWpra3P55Zdn9uzZ2XffffPjH/84PXr0SFlZWR577LGMGjUqU6dOzcEHH5wkeeWVVzJlypQ8//zzGTBgQKZPn5799tuvxfs8+OCDqampSbdu3erfDE+SOXPm1C9QNmfOnC3O27BhQx555JEt2o877rgtgrWxlZ2ZYA1sdyeffHJOPvnk+unfVVVV6dChQ8rKyjJ16tTU1NRs87XPPffc9OjR4wOpc/To0fnIRz7S6LGHH364pGs3Na3txhtvzE033dSqa7TmFwqfAQNo36699trMnj07++23X37yk5+kZ8+eSZIrrrgi/fr1yy233JLRo0fnS1/6UsrLy3PnnXempqYmp5xySr7xjW9k9913b/Ee7777bm6//fZGj919991JkltuuSWDBg1qcGzIkCHZe++989BDD7XqezG2sjMTrIHtprGpYEmyatWq1NXVbXH8vPPOa/WK3a+//nrGjx9f/3pbVwptzIknnlj/i8rYsWNz1llnZdWqVZk7d25OP/30+u3Dfve73+Xb3/52LrjggiYXO9nsnnvuSefOnVNTU9NgG4/Kysqce+65zZ573333ZdWqVS32A6D9O//887N+/fqMHz++fqxKNn386mtf+1r69euXqVOnNhgXx48fn7PPPrvVq13fe++9efvtt7donz9/fv76179mwIABW4TqrWFspT0QrIHtprGpYM0dP+WUU1odrKurqxtdbOyDUF1dXf91ly5dUiwWM3bs2Lz22msZMmRIBg4cmJUrV+a73/1u1qxZk2nTpmXatGmtuvZ1112Xo446qv710KFDM3To0GbPmTNnTlatWpVx48Zt2zcEQLvRrVu3TJ48uUHbm2++mblz5+aXv/xlFixYkGKxmIqKitTW1mbJkiX50Y9+lDvuuCPDhg3LIYcckk9+8pMZMGBAo0+v165dm3//939Pp06dttiT+vrrr0+yabwuhbGV9kCwBrabxqZO1dbW5vDDD88+++yT2bNnb/O1999//62amjVkyJB07do1v/rVr7bqPlVVVZk0aVL9Z9QGDhyYNWvWZPz48dm4cWPuuuuu9OnTp1XX6tatW4PX06dPb9V5m58atLb/mDFj0r1791b1BWDns3Tp0vzpT3/Kc889lz/84Q/1bzT36tUrX/7yl3P88cfXP1F+7rnnMmfOnMydOzcPP/xw/fTrsrKy9O7dO/369UufPn3y1a9+Nb17984NN9yQlStXZtSoUQ1W7l62bFn+9re/pWfPnjnppJNKqt/YSnsgWANtavXq1Uka34uyVL/5zW/Su3fvVFRUbNO2Xe+3fv36TJo0KfPmzcukSZNy4oknpq6uLuPGjcvixYuzcePGnHbaaa2+3vvfCGhun83GtLb/GWecYfAHaIeuvPLK/OIXv8iaNWuSbBpLBw0alH/8x3/MZz7zmRx44IH1073HjBmTXr165YorrsghhxySSZMm5Y033siCBQvypz/9KS+++GIWLlyYN998M0ceeWR69+6dv/3tb7n33nvTvXv3nHvuuQ2Cde/evTNr1qz85S9/adXntJtibKW9EKyBNvXaa68lSfbaa68P9Lp1dXX5xje+kdra2vz617/eYquRrbVy5cqMHTs2ixcvzsUXX5yRI0dmzpw5Wbt2bcaOHZuOHTtm3LhxGTNmTMaOHdvstZpaRMViKABsjeOOOy5VVVX55Cc/mYMPPjgHHnhggxW732v+/PlbbGPZt2/f9O3bNyNGjEiyaexcunRp/Zvd5eXlSTZ9JruxEDlgwIAMGDBgm+s3ttKeCNbAdvHOO+80Or3qrbfeSrJpGltji5tdfvnl23S/xYsXp6amJn369Ck5VCdJz549c+yxx+aAAw7I5z73uSxcuDDf+c53MmDAgMycObP+3foZM2Zk5syZzV6rWCyWXA8ADB48OIMHD84111yTO+64o8X+b731Vk4++eRm+zzwwAP1X/ft2zfnn39+vvSlL23R709/+lP9iuDNaWof6yT5zne+Y2yl3RCsge1i/fr1zS5e9sYbb+SNN97Yon1bg/Uf//jHJMknPvGJJvusXbu2xW01HnvssXz0ox9NsmkaXZL893//dyZMmJC99torP/jBDxpMgTvvvPO2+V31zU4++eQPZCE279ID7BqWL1/eqnGjpqZmq8eXplbJfuONN1pclDRpeh/rJPmXf/kXYyvthmANbBd9+/bdYjBav359Pv/5z2fDhg158MEHt5iiVorHH388SfP7UZaVlWXfffdt9jrvn1K3fPnyjBs3LsuWLcvs2bO3mMJ+0003tXqvzJaMHj26wetZs2ale/fuDZ42PPDAA1m9enWDvpvbANg1XH311Q1e19XVbbG2yJAhQ9KvX788+OCDH8g9jzvuuBx33HHN9mntPtbGVtoDwRpoM7Nnz86GDRvyD//wDx9oqH711Vczb968JJv2yG5Kly5dGkx5a8krr7ySCRMm5PXXX0+S7LPPPg2OP/nkk7n66qvz1FNP5bLLLmsy1D/++ON54oknWrzfe/flTjYN/nvuuWeD9ieeeCKrV69utA2AXc/bb7+diRMnZuTIkTnxxBOb7Ldw4cLcdtttGTduXHr37r0dK2zI2Ep7IVgDbWLdunX52c9+liQ59dRTW+x///33p2PHjq269owZM1JXV5dk04A5bNiwVFZWbnux2fS5tLPOOiudO3fOiBEjtnj3/fXXX8+ll16a559/Pkny9a9/vdnrHXjggSXVAwDvt3Tp0kycODFLly7Ngw8+mBNOOKHJXTFuueWW/OIXv8icOXNy7rnn5swzz2z1OPtBMbbSnpS+/wzANvj+97+flStXZt999232HfXN9t9//y3exW7MM888U78n55QpU9KxY8dMnDgxTz75ZEn19unTJ1/5ylfyk5/8JH379q1vr6qqyqxZs3Lqqadmw4YNGT58eDp06JBvfvObefrppxv8uf322/Pxj388HTt2bPIzawCwLZ5++umcffbZWbp0aU444YT8+Mc/bnaryalTp+biiy/Obrvtluuvvz4jR46sn+21vRhbaU8Ea2C7u+eee/Lggw+mUCjkkksuaXJrkOasX78+Ser350w2bd116aWXplgs5thjj82IESNy1VVXpaamJpMmTcoFF1yQxx9/vNnp4c0ZPXr0FtuKzJs3L9dff32OPPLI3HzzzZk+fXqOP/74XHPNNbnwwguzePHivPvuu7nxxhtzzjnnZPXq1fnpT3+aY445ZptqAID3qq2tzQ033JAJEyZk7dq1mThxYi6//PJ06tSpvs/GjRu3OK+srCwjR47Mvffem6OOOipLlizJ+eefnylTptTvi709GFtpL0wFB7ar++67r36RlbPPPjvDhg1r1XlvvfVWunTpkvLy8tTU1OS2225LknTt2jXJpu21xo8fn5UrV6Znz5751re+lSQ54ogjMnPmzEyZMqX+3e3N1q9fn5NOOim77bZbg3BfW1ub2traVFdXp6qqKmeeeWbOPvvsRus64ogjcvfdd6eioqK+bcqUKamsrMz3vve9nHHGGenUqVOqqqry6U9/OlOnTs2ee+7Z6LU2b0eyYsWKBq/fa8WKFQ3aG+vbWNu2rq4OwI5rxYoVmThxYl566aX07Nkz06ZNy2GHHZb169dn3bp16dGjR5LkrrvuSpJ07tx5i2v07t071113XR566KFcc801mT17dpYtW5Ybbrhhu34v72VsZWckWAPbzfTp03PnnXcmSU444YRccMEFrT73qquuyq9//est2o888sgkyZIlS7Js2bJ06tQp1157bYMB9uCDD85dd92Vp556Kk888UReeumlrFixIu+++26WLVuW6urqZu/dUvjfb7/9snTp0ixatCgvv/xyXnjhhTz77LOpqalJ165dU15enmXLluXpp5/OOeeck4qKivTr1y+9evVKt27dUlFRkUGDBm2xHUlj25OsW7eu0faW2gz+AO1Pz54906tXr/To0SNTp06t3x5yyZIlGTVq1Bb9DzvssCav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vmDBgsyaNSu9evXKZZddlkKhsE33AWDHI1gDAFvo0KFDrrrqqowZMyYvvvhixowZk5kzZ+byyy9v0G/16tV55JFHcuihh25xrLWeeuqpzJs3L8mmJ+XbGmyvvvrqHHDAAUmSvffeO2vXrm3088wdO3ZMkuyxxx6tak+S8vLydO3atf719OnTc+eddzZZy6OPPppHH3200WPLly/PMccc0+ix5p6IA7DjEqwBgEbtscce+cEPfpAzzzwz69evz1tvvZVevXo16PPqq68mSfr167dN96itrc11111X//r111/f5npra2sbvJ4xY0Z+/vOfN9n/C1/4QqvbR40alQsvvLD+9eDBg7e4X2MeeeSRrFmzJqeeemqLfQHYeQnWAECT9tprr1x33XX5yEc+kt69eydJpk2blpqamiTJm2++mSR59tlnM3Xq1Cav8dWvfrXRYzfffHMWL16cioqK3Hnnnds0DXzkyJFZuHBhk+e+/ynwbbfdluuuu67V7Y19rvzoo4/O0Ucf3WJtzzzzTNasWZNvfetbLfYFYOclWAMAzXr/gmOzZ89OVVVVg7Y///nP+fOf/9zo+f379280WP/5z3/OjBkzUigU8u1vf3ubP1u9OeRvnsr9fk0tuLa17QDQFMEaANgqTz/9dP3XU6ZMyezZs/PAAw+kf//+W/RtKqSuXr06//qv/5ra2tqMHDmypDC7eUp2U8H64Ycf3uZrJ01PGb/xxhtz0003teoarfn+fL4aYOclWAMADVxyySV57LHH6l/3798/DzzwQKN9X3311ZSVlaVv376tvn51dXUuuuiivPrqqxkwYECKxWIuvfTSVp3b2AJpTT2xHjt2bM4666ysWrUqc+fOzemnn55OnTol2bS917e//e1ccMEFTS4kttk999yTzp07p6ampsFT9crKypx77rnNnnvfffdl1apVLfYDYOcmWAMADXzsYx+rf/q8ZMmSZvu++uqr+djHPtbk0+LGPP7445k/f366dOmSK6+8MhdddFGL99mssWBdXV2dZMtg3aVLlxSLxYwdOzavvfZahgwZkoEDB2blypX57ne/mzVr1mTatGmZNm1aq+593XXX5aijjqp/PXTo0AwdOrTZc+bMmZNVq1Zl3LhxrboHADsnwRoAaODCCy+sXwH7/VOY3/9kecWKFenRo0ezT5xXrFhRf/yAAw7I6NGj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","width":982,"y":-30,"x":-30},"elements":{"defaultLinkerStyle":{"linkerStyle":{}},"page":{"showGrid":false,"gridSize":15,"lineJumps":false,"orientation":"portrait","height":1000,"backgroundColor":"transparent","width":1050,"padding":20},"elements":{"178cdfc895966e":{"to":{"id":"178b5668e2cd4f","angle":4.71238898038469,"y":208.14285714285708,"x":529},"id":"178cdfc895966e","linkerType":"broken","text":"","lineStyle":{},"name":"linker","from":{"id":"178cdecd9295e4","angle":1.570796326794897,"y":259.1428571428571,"x":529},"dataAttributes":[],"locked":false,"points":[{"y":233.6428571428571,"x":529},{"y":233.6428571428571,"x":529}],"group":"","props":{"zindex":12}},"178cdfc53ba486":{"to":{"id":"178cded50af3f3","angle":4.71238898038469,"y":525.5,"x":764},"id":"178cdfc53ba486","linkerType":"broken","text":"","lineStyle":{},"name":"linker","from":{"id":"178cded8a1efd1","angle":1.570796326794897,"y":609.1428571428571,"x":529},"dataAttributes":[],"locked":false,"points":[{"y":567.3214285714286,"x":529},{"y":567.3214285714286,"x":764}],"group":"","props":{"zindex":8}},"178cdfc82ac708":{"to":{"id":"178cdecd9295e4","angle":4.71238898038469,"y":302.1428571428571,"x":529},"id":"178cdfc82ac708","linkerType":"broken","text":"","lineStyle":{},"name":"linker","from":{"id":"178cded0452d68","angle":1.570796326794897,"y":358.1428571428571,"x":529},"dataAttributes":[],"locked":false,"points":[{"y":330.1428571428571,"x":529},{"y":330.1428571428571,"x":529}],"group":"","props":{"zindex":11}},"178cdfc0a7c07e":{"to":{"id":"178cded3c6e812","angle":4.71238898038469,"y":525.5,"x":293},"id":"178cdfc0a7c07e","linkerType":"broken","text":"","lineStyle":{},"name":"linker","from":{"id":"178cded8a1efd1","angle":1.570796326794897,"y":609.1428571428571,"x":529},"dataAttributes":[],"locked":false,"points":[{"y":567.3214285714286,"x":529},{"y":567.3214285714286,"x":293}],"group":"","props":{"zindex":7}},"178cded8a1efd1":{"textBlock":[{"position":{"w":"w-20","y":0,"h":"h","x":10},"text":"语句覆盖"}],"theme":{},"lineStyle":{},"link":"","children":[],"parent":"","attribute":{"linkable":true,"visible":true,"container":false,"rotatable":true,"markerOffset":5,"collapsable":false,"collapsed":false},"fontStyle":{"size":24},"resizeDir":["tl","tr","br","bl"],"dataAttributes":[{"id":"178cded8b38558","category":"default","name":"no.","value":"","type":"number"},{"id":"178cded8b38321","category":"default","name":"name","value":"","type":"string"},{"id":"178cded8b38c8b","category":"default","name":"owner","value":"","type":"string"},{"id":"178cded8b380b","category":"default","name":"link","value":"","type":"link"},{"id":"178cded8b387d8","category":"default","name":"memo","value":"","type":"string"}],"shapeStyle":{"alpha":1},"id":"178cded8a1efd1","anchors":[{"y":"0","x":"w/2"},{"y":"h","x":"w/2"},{"y":"h/2","x":"0"},{"y":"h/2","x":"w"}],"category":"basic","title":"Rectangle","name":"rectangle","fillStyle":{},"path":[{"actions":[{"action":"move","y":"0","x":"0"},{"action":"line","y":"0","x":"w"},{"action":"line","y":"h","x":"w"},{"action":"line","y":"h","x":"0"},{"action":"close"}]}],"locked":false,"group":"","props":{"w":236,"y":609.1428571428571,"h":43,"angle":0,"x":411,"zindex":6}},"178cded3c6e812":{"textBlock":[{"position":{"w":"w-20","y":0,"h":"h","x":10},"text":"判定覆盖"}],"theme":{},"lineStyle":{},"link":"","children":[],"parent":"","attribute":{"linkable":true,"visible":true,"container":false,"rotatable":true,"markerOffset":5,"collapsable":false,"collapsed":false},"fontStyle":{"size":24},"resizeDir":["tl","tr","br","bl"],"dataAttributes":[{"id":"178cded3d56ae7","category":"default","name":"no.","value":"","type":"number"},{"id":"178cded3d569ba","category":"default","name":"name","value":"","type":"string"},{"id":"178cded3d56e85","category":"default","name":"owner","value":"","type":"string"},{"id":"178cded3d5619f","category":"default","name":"link","value":"","type":"link"},{"id":"178cded3d562b5","category":"default","name":"memo","value":"","type":"string"}],"shapeStyle":{"alpha":1},"id":"178cded3c6e812","anchors":[{"y":"0","x":"w/2"},{"y":"h","x":"w/2"},{"y":"h/2","x":"0"},{"y":"h/2","x":"w"}],"category":"basic","title":"Rectangle","name":"rectangle","fillStyle":{},"path":[{"actions":[{"action":"move","y":"0","x":"0"},{"action":"line","y":"0","x":"w"},{"action":"line","y":"h","x":"w"},{"action":"line","y":"h","x":"0"},{"action":"close"}]}],"locked":false,"group":"","props":{"w":236,"y":482.5,"h":43,"angle":0,"x":175,"zindex":4}},"178cdfc6142377":{"to":{"id":"178cded0452d68","angle":4.71238898038469,"y":401.1428571428571,"x":529},"id":"178cdfc6142377","linkerType":"broken","text":"","lineStyle":{},"name":"linker","from":{"id":"178cded50af3f3","angle":1.570796326794897,"y":482.5,"x":764},"dataAttributes":[],"locked":false,"points":[{"y":441.82142857142856,"x":764},{"y":441.82142857142856,"x":529}],"group":"","props":{"zindex":9}},"178b5668e2cd4f":{"textBlock":[{"position":{"w":"w-20","y":0,"h":"h","x":10},"text":"路径覆盖"}],"theme":{},"lineStyle":{},"link":"","children":[],"parent":"","attribute":{"linkable":true,"visible":true,"container":false,"rotatable":true,"markerOffset":5,"collapsable":false,"collapsed":false},"fontStyle":{"size":24},"resizeDir":["tl","tr","br","bl"],"dataAttributes":[{"id":"178b5668e2c666","category":"default","name":"no.","value":"","type":"number"},{"id":"178b5668e2c25c","category":"default","name":"name","value":"","type":"string"},{"id":"178b5668e2c439","category":"default","name":"owner","value":"","type":"string"},{"id":"178b5668e2cd4a","category":"default","name":"link","value":"","type":"link"},{"id":"178b5668e2ce1","category":"default","name":"memo","value":"","type":"string"}],"shapeStyle":{"alpha":1},"id":"178b5668e2cd4f","anchors":[{"y":"0","x":"w/2"},{"y":"h","x":"w/2"},{"y":"h/2","x":"0"},{"y":"h/2","x":"w"}],"category":"basic","title":"Rectangle","name":"rectangle","fillStyle":{},"path":[{"actions":[{"action":"move","y":"0","x":"0"},{"action":"line","y":"0","x":"w"},{"action":"line","y":"h","x":"w"},{"action":"line","y":"h","x":"0"},{"action":"close"}]}],"locked":false,"group":"","props":{"w":236,"y":165.14285714285708,"h":43,"angle":0,"x":411,"zindex":1}},"178cdfc6e495d1":{"to":{"id":"178cded0452d68","angle":4.71238898038469,"y":401.1428571428571,"x":529},"id":"178cdfc6e495d1","linkerType":"broken","text":"","lineStyle":{},"name":"linker","from":{"id":"178cded3c6e812","angle":1.570796326794897,"y":482.5,"x":293},"dataAttributes":[],"locked":false,"points":[{"y":441.82142857142856,"x":293},{"y":441.82142857142856,"x":529}],"group":"","props":{"zindex":10}},"178cded50af3f3":{"textBlock":[{"position":{"w":"w-20","y":0,"h":"h","x":10},"text":"条件覆盖"}],"theme":{},"lineStyle":{},"link":"","children":[],"parent":"","attribute":{"linkable":true,"visible":true,"container":false,"rotatable":true,"markerOffset":5,"collapsable":false,"collapsed":false},"fontStyle":{"size":24},"resizeDir":["tl","tr","br","bl"],"dataAttributes":[{"id":"178cded51ace01","category":"default","name":"no.","value":"","type":"number"},{"id":"178cded51ac7bf","category":"default","name":"name","value":"","type":"string"},{"id":"178cded51acd6a","category":"default","name":"owner","value":"","type":"string"},{"id":"178cded51ac15f","category":"default","name":"link","value":"","type":"link"},{"id":"178cded51acd27","category":"default","name":"memo","value":"","type":"string"}],"shapeStyle":{"alpha":1},"id":"178cded50af3f3","anchors":[{"y":"0","x":"w/2"},{"y":"h","x":"w/2"},{"y":"h/2","x":"0"},{"y":"h/2","x":"w"}],"category":"basic","title":"Rectangle","name":"rectangle","fillStyle":{},"path":[{"actions":[{"action":"move","y":"0","x":"0"},{"action":"line","y":"0","x":"w"},{"action":"line","y":"h","x":"w"},{"action":"line","y":"h","x":"0"},{"action":"close"}]}],"locked":false,"group":"","props":{"w":236,"y":482.5,"h":43,"angle":0,"x":646,"zindex":5}},"178cdecd9295e4":{"textBlock":[{"position":{"w":"w-20","y":0,"h":"h","x":10},"text":"条件组合覆盖"}],"theme":{},"lineStyle":{},"link":"","children":[],"parent":"","attribute":{"linkable":true,"visible":true,"container":false,"rotatable":true,"markerOffset":5,"collapsable":false,"collapsed":false},"fontStyle":{"size":24},"resizeDir":["tl","tr","br","bl"],"dataAttributes":[{"id":"178cdecda210f8","category":"default","name":"no.","value":"","type":"number"},{"id":"178cdecda21af8","category":"default","name":"name","value":"","type":"string"},{"id":"178cdecda21e75","category":"default","name":"owner","value":"","type":"string"},{"id":"178cdecda2122c","category":"default","name":"link","value":"","type":"link"},{"id":"178cdecda21a9","category":"default","name":"memo","value":"","type":"string"}],"shapeStyle":{"alpha":1},"id":"178cdecd9295e4","anchors":[{"y":"0","x":"w/2"},{"y":"h","x":"w/2"},{"y":"h/2","x":"0"},{"y":"h/2","x":"w"}],"category":"basic","title":"Rectangle","name":"rectangle","fillStyle":{},"path":[{"actions":[{"action":"move","y":"0","x":"0"},{"action":"line","y":"0","x":"w"},{"action":"line","y":"h","x":"w"},{"action":"line","y":"h","x":"0"},{"action":"close"}]}],"locked":false,"group":"","props":{"w":236,"y":259.1428571428571,"h":43,"angle":0,"x":411.00000000000006,"zindex":2}},"178cded0452d68":{"textBlock":[{"position":{"w":"w-20","y":0,"h":"h","x":10},"text":"条件/判定覆盖"}],"theme":{},"lineStyle":{},"link":"","children":[],"parent":"","attribute":{"linkable":true,"visible":true,"container":false,"rotatable":true,"markerOffset":5,"collapsable":false,"collapsed":false},"fontStyle":{"size":24},"resizeDir":["tl","tr","br","bl"],"dataAttributes":[{"id":"178cded0577efb","category":"default","name":"no.","value":"","type":"number"},{"id":"178cded0577182","category":"default","name":"name","value":"","type":"string"},{"id":"178cded0577684","category":"default","name":"owner","value":"","type":"string"},{"id":"178cded0577137","category":"default","name":"link","value":"","type":"link"},{"id":"178cded0577346","category":"default","name":"memo","value":"","type":"string"}],"shapeStyle":{"alpha":1},"id":"178cded0452d68","anchors":[{"y":"0","x":"w/2"},{"y":"h","x":"w/2"},{"y":"h/2","x":"0"},{"y":"h/2","x":"w"}],"category":"basic","title":"Rectangle","name":"rectangle","fillStyle":{},"path":[{"actions":[{"action":"move","y":"0","x":"0"},{"action":"line","y":"0","x":"w"},{"action":"line","y":"h","x":"w"},{"action":"line","y":"h","x":"0"},{"action":"close"}]}],"locked":false,"group":"","props":{"w":236,"y":358.1428571428571,"h":43,"angle":0,"x":411.00000000000006,"zindex":3}}}}},"meta":{"id":"606ff989637689799353c3e1","member":"606ff937637689799353c1f3","exportTime":"2021-04-14 09:33:46","diagramInfo":{"category":"network","title":"Untitled Diagram","created":"2021-04-09 14:51:53","creator":"606ff937637689799353c1f3","modified":"2021-04-14 09:26:51"},"type":"ProcessOn Schema File","version":"1.0"}}
\ No newline at end of file
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册