@contractkit/plugin-typescript 0.17.4 → 0.18.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.turbo/turbo-build$colon$ci.log +7 -7
- package/.turbo/turbo-test$colon$ci.log +15 -15
- package/CHANGELOG.md +17 -0
- package/README.md +10 -1
- package/coverage/clover.xml +695 -566
- package/coverage/coverage-final.json +6 -6
- package/coverage/index.html +21 -21
- package/coverage/src/codegen-contract.ts.html +3 -3
- package/coverage/src/codegen-operation.ts.html +1 -1
- package/coverage/src/codegen-plain-types.ts.html +1 -1
- package/coverage/src/codegen-sdk.ts.html +989 -236
- package/coverage/src/index.html +40 -40
- package/coverage/src/index.ts.html +415 -112
- package/coverage/src/path-utils.ts.html +51 -51
- package/coverage/src/ts-render.ts.html +4 -4
- package/coverage/tests/helpers.ts.html +15 -15
- package/coverage/tests/index.html +1 -1
- package/dist/codegen-sdk.d.ts +96 -2
- package/dist/codegen-sdk.d.ts.map +1 -1
- package/dist/index.d.ts +7 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +270 -19
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
- package/src/codegen-sdk.ts +258 -7
- package/src/index.ts +118 -17
- package/tests/codegen-sdk.test.ts +188 -16
- package/tests/codegen-server.test.ts +98 -0
|
@@ -23,30 +23,30 @@
|
|
|
23
23
|
<div class='clearfix'>
|
|
24
24
|
|
|
25
25
|
<div class='fl pad1y space-right2'>
|
|
26
|
-
<span class="strong">88.
|
|
26
|
+
<span class="strong">88.26% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>
|
|
28
|
+
<span class='fraction'>549/622</span>
|
|
29
29
|
</div>
|
|
30
30
|
|
|
31
31
|
|
|
32
32
|
<div class='fl pad1y space-right2'>
|
|
33
|
-
<span class="strong">83.
|
|
33
|
+
<span class="strong">83.01% </span>
|
|
34
34
|
<span class="quiet">Branches</span>
|
|
35
|
-
<span class='fraction'>
|
|
35
|
+
<span class='fraction'>303/365</span>
|
|
36
36
|
</div>
|
|
37
37
|
|
|
38
38
|
|
|
39
39
|
<div class='fl pad1y space-right2'>
|
|
40
|
-
<span class="strong">
|
|
40
|
+
<span class="strong">87.14% </span>
|
|
41
41
|
<span class="quiet">Functions</span>
|
|
42
|
-
<span class='fraction'>
|
|
42
|
+
<span class='fraction'>61/70</span>
|
|
43
43
|
</div>
|
|
44
44
|
|
|
45
45
|
|
|
46
46
|
<div class='fl pad1y space-right2'>
|
|
47
|
-
<span class="strong">91.
|
|
47
|
+
<span class="strong">91.22% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>
|
|
49
|
+
<span class='fraction'>499/547</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -967,7 +967,258 @@
|
|
|
967
967
|
<a name='L902'></a><a href='#L902'>902</a>
|
|
968
968
|
<a name='L903'></a><a href='#L903'>903</a>
|
|
969
969
|
<a name='L904'></a><a href='#L904'>904</a>
|
|
970
|
-
<a name='L905'></a><a href='#L905'>905</a
|
|
970
|
+
<a name='L905'></a><a href='#L905'>905</a>
|
|
971
|
+
<a name='L906'></a><a href='#L906'>906</a>
|
|
972
|
+
<a name='L907'></a><a href='#L907'>907</a>
|
|
973
|
+
<a name='L908'></a><a href='#L908'>908</a>
|
|
974
|
+
<a name='L909'></a><a href='#L909'>909</a>
|
|
975
|
+
<a name='L910'></a><a href='#L910'>910</a>
|
|
976
|
+
<a name='L911'></a><a href='#L911'>911</a>
|
|
977
|
+
<a name='L912'></a><a href='#L912'>912</a>
|
|
978
|
+
<a name='L913'></a><a href='#L913'>913</a>
|
|
979
|
+
<a name='L914'></a><a href='#L914'>914</a>
|
|
980
|
+
<a name='L915'></a><a href='#L915'>915</a>
|
|
981
|
+
<a name='L916'></a><a href='#L916'>916</a>
|
|
982
|
+
<a name='L917'></a><a href='#L917'>917</a>
|
|
983
|
+
<a name='L918'></a><a href='#L918'>918</a>
|
|
984
|
+
<a name='L919'></a><a href='#L919'>919</a>
|
|
985
|
+
<a name='L920'></a><a href='#L920'>920</a>
|
|
986
|
+
<a name='L921'></a><a href='#L921'>921</a>
|
|
987
|
+
<a name='L922'></a><a href='#L922'>922</a>
|
|
988
|
+
<a name='L923'></a><a href='#L923'>923</a>
|
|
989
|
+
<a name='L924'></a><a href='#L924'>924</a>
|
|
990
|
+
<a name='L925'></a><a href='#L925'>925</a>
|
|
991
|
+
<a name='L926'></a><a href='#L926'>926</a>
|
|
992
|
+
<a name='L927'></a><a href='#L927'>927</a>
|
|
993
|
+
<a name='L928'></a><a href='#L928'>928</a>
|
|
994
|
+
<a name='L929'></a><a href='#L929'>929</a>
|
|
995
|
+
<a name='L930'></a><a href='#L930'>930</a>
|
|
996
|
+
<a name='L931'></a><a href='#L931'>931</a>
|
|
997
|
+
<a name='L932'></a><a href='#L932'>932</a>
|
|
998
|
+
<a name='L933'></a><a href='#L933'>933</a>
|
|
999
|
+
<a name='L934'></a><a href='#L934'>934</a>
|
|
1000
|
+
<a name='L935'></a><a href='#L935'>935</a>
|
|
1001
|
+
<a name='L936'></a><a href='#L936'>936</a>
|
|
1002
|
+
<a name='L937'></a><a href='#L937'>937</a>
|
|
1003
|
+
<a name='L938'></a><a href='#L938'>938</a>
|
|
1004
|
+
<a name='L939'></a><a href='#L939'>939</a>
|
|
1005
|
+
<a name='L940'></a><a href='#L940'>940</a>
|
|
1006
|
+
<a name='L941'></a><a href='#L941'>941</a>
|
|
1007
|
+
<a name='L942'></a><a href='#L942'>942</a>
|
|
1008
|
+
<a name='L943'></a><a href='#L943'>943</a>
|
|
1009
|
+
<a name='L944'></a><a href='#L944'>944</a>
|
|
1010
|
+
<a name='L945'></a><a href='#L945'>945</a>
|
|
1011
|
+
<a name='L946'></a><a href='#L946'>946</a>
|
|
1012
|
+
<a name='L947'></a><a href='#L947'>947</a>
|
|
1013
|
+
<a name='L948'></a><a href='#L948'>948</a>
|
|
1014
|
+
<a name='L949'></a><a href='#L949'>949</a>
|
|
1015
|
+
<a name='L950'></a><a href='#L950'>950</a>
|
|
1016
|
+
<a name='L951'></a><a href='#L951'>951</a>
|
|
1017
|
+
<a name='L952'></a><a href='#L952'>952</a>
|
|
1018
|
+
<a name='L953'></a><a href='#L953'>953</a>
|
|
1019
|
+
<a name='L954'></a><a href='#L954'>954</a>
|
|
1020
|
+
<a name='L955'></a><a href='#L955'>955</a>
|
|
1021
|
+
<a name='L956'></a><a href='#L956'>956</a>
|
|
1022
|
+
<a name='L957'></a><a href='#L957'>957</a>
|
|
1023
|
+
<a name='L958'></a><a href='#L958'>958</a>
|
|
1024
|
+
<a name='L959'></a><a href='#L959'>959</a>
|
|
1025
|
+
<a name='L960'></a><a href='#L960'>960</a>
|
|
1026
|
+
<a name='L961'></a><a href='#L961'>961</a>
|
|
1027
|
+
<a name='L962'></a><a href='#L962'>962</a>
|
|
1028
|
+
<a name='L963'></a><a href='#L963'>963</a>
|
|
1029
|
+
<a name='L964'></a><a href='#L964'>964</a>
|
|
1030
|
+
<a name='L965'></a><a href='#L965'>965</a>
|
|
1031
|
+
<a name='L966'></a><a href='#L966'>966</a>
|
|
1032
|
+
<a name='L967'></a><a href='#L967'>967</a>
|
|
1033
|
+
<a name='L968'></a><a href='#L968'>968</a>
|
|
1034
|
+
<a name='L969'></a><a href='#L969'>969</a>
|
|
1035
|
+
<a name='L970'></a><a href='#L970'>970</a>
|
|
1036
|
+
<a name='L971'></a><a href='#L971'>971</a>
|
|
1037
|
+
<a name='L972'></a><a href='#L972'>972</a>
|
|
1038
|
+
<a name='L973'></a><a href='#L973'>973</a>
|
|
1039
|
+
<a name='L974'></a><a href='#L974'>974</a>
|
|
1040
|
+
<a name='L975'></a><a href='#L975'>975</a>
|
|
1041
|
+
<a name='L976'></a><a href='#L976'>976</a>
|
|
1042
|
+
<a name='L977'></a><a href='#L977'>977</a>
|
|
1043
|
+
<a name='L978'></a><a href='#L978'>978</a>
|
|
1044
|
+
<a name='L979'></a><a href='#L979'>979</a>
|
|
1045
|
+
<a name='L980'></a><a href='#L980'>980</a>
|
|
1046
|
+
<a name='L981'></a><a href='#L981'>981</a>
|
|
1047
|
+
<a name='L982'></a><a href='#L982'>982</a>
|
|
1048
|
+
<a name='L983'></a><a href='#L983'>983</a>
|
|
1049
|
+
<a name='L984'></a><a href='#L984'>984</a>
|
|
1050
|
+
<a name='L985'></a><a href='#L985'>985</a>
|
|
1051
|
+
<a name='L986'></a><a href='#L986'>986</a>
|
|
1052
|
+
<a name='L987'></a><a href='#L987'>987</a>
|
|
1053
|
+
<a name='L988'></a><a href='#L988'>988</a>
|
|
1054
|
+
<a name='L989'></a><a href='#L989'>989</a>
|
|
1055
|
+
<a name='L990'></a><a href='#L990'>990</a>
|
|
1056
|
+
<a name='L991'></a><a href='#L991'>991</a>
|
|
1057
|
+
<a name='L992'></a><a href='#L992'>992</a>
|
|
1058
|
+
<a name='L993'></a><a href='#L993'>993</a>
|
|
1059
|
+
<a name='L994'></a><a href='#L994'>994</a>
|
|
1060
|
+
<a name='L995'></a><a href='#L995'>995</a>
|
|
1061
|
+
<a name='L996'></a><a href='#L996'>996</a>
|
|
1062
|
+
<a name='L997'></a><a href='#L997'>997</a>
|
|
1063
|
+
<a name='L998'></a><a href='#L998'>998</a>
|
|
1064
|
+
<a name='L999'></a><a href='#L999'>999</a>
|
|
1065
|
+
<a name='L1000'></a><a href='#L1000'>1000</a>
|
|
1066
|
+
<a name='L1001'></a><a href='#L1001'>1001</a>
|
|
1067
|
+
<a name='L1002'></a><a href='#L1002'>1002</a>
|
|
1068
|
+
<a name='L1003'></a><a href='#L1003'>1003</a>
|
|
1069
|
+
<a name='L1004'></a><a href='#L1004'>1004</a>
|
|
1070
|
+
<a name='L1005'></a><a href='#L1005'>1005</a>
|
|
1071
|
+
<a name='L1006'></a><a href='#L1006'>1006</a>
|
|
1072
|
+
<a name='L1007'></a><a href='#L1007'>1007</a>
|
|
1073
|
+
<a name='L1008'></a><a href='#L1008'>1008</a>
|
|
1074
|
+
<a name='L1009'></a><a href='#L1009'>1009</a>
|
|
1075
|
+
<a name='L1010'></a><a href='#L1010'>1010</a>
|
|
1076
|
+
<a name='L1011'></a><a href='#L1011'>1011</a>
|
|
1077
|
+
<a name='L1012'></a><a href='#L1012'>1012</a>
|
|
1078
|
+
<a name='L1013'></a><a href='#L1013'>1013</a>
|
|
1079
|
+
<a name='L1014'></a><a href='#L1014'>1014</a>
|
|
1080
|
+
<a name='L1015'></a><a href='#L1015'>1015</a>
|
|
1081
|
+
<a name='L1016'></a><a href='#L1016'>1016</a>
|
|
1082
|
+
<a name='L1017'></a><a href='#L1017'>1017</a>
|
|
1083
|
+
<a name='L1018'></a><a href='#L1018'>1018</a>
|
|
1084
|
+
<a name='L1019'></a><a href='#L1019'>1019</a>
|
|
1085
|
+
<a name='L1020'></a><a href='#L1020'>1020</a>
|
|
1086
|
+
<a name='L1021'></a><a href='#L1021'>1021</a>
|
|
1087
|
+
<a name='L1022'></a><a href='#L1022'>1022</a>
|
|
1088
|
+
<a name='L1023'></a><a href='#L1023'>1023</a>
|
|
1089
|
+
<a name='L1024'></a><a href='#L1024'>1024</a>
|
|
1090
|
+
<a name='L1025'></a><a href='#L1025'>1025</a>
|
|
1091
|
+
<a name='L1026'></a><a href='#L1026'>1026</a>
|
|
1092
|
+
<a name='L1027'></a><a href='#L1027'>1027</a>
|
|
1093
|
+
<a name='L1028'></a><a href='#L1028'>1028</a>
|
|
1094
|
+
<a name='L1029'></a><a href='#L1029'>1029</a>
|
|
1095
|
+
<a name='L1030'></a><a href='#L1030'>1030</a>
|
|
1096
|
+
<a name='L1031'></a><a href='#L1031'>1031</a>
|
|
1097
|
+
<a name='L1032'></a><a href='#L1032'>1032</a>
|
|
1098
|
+
<a name='L1033'></a><a href='#L1033'>1033</a>
|
|
1099
|
+
<a name='L1034'></a><a href='#L1034'>1034</a>
|
|
1100
|
+
<a name='L1035'></a><a href='#L1035'>1035</a>
|
|
1101
|
+
<a name='L1036'></a><a href='#L1036'>1036</a>
|
|
1102
|
+
<a name='L1037'></a><a href='#L1037'>1037</a>
|
|
1103
|
+
<a name='L1038'></a><a href='#L1038'>1038</a>
|
|
1104
|
+
<a name='L1039'></a><a href='#L1039'>1039</a>
|
|
1105
|
+
<a name='L1040'></a><a href='#L1040'>1040</a>
|
|
1106
|
+
<a name='L1041'></a><a href='#L1041'>1041</a>
|
|
1107
|
+
<a name='L1042'></a><a href='#L1042'>1042</a>
|
|
1108
|
+
<a name='L1043'></a><a href='#L1043'>1043</a>
|
|
1109
|
+
<a name='L1044'></a><a href='#L1044'>1044</a>
|
|
1110
|
+
<a name='L1045'></a><a href='#L1045'>1045</a>
|
|
1111
|
+
<a name='L1046'></a><a href='#L1046'>1046</a>
|
|
1112
|
+
<a name='L1047'></a><a href='#L1047'>1047</a>
|
|
1113
|
+
<a name='L1048'></a><a href='#L1048'>1048</a>
|
|
1114
|
+
<a name='L1049'></a><a href='#L1049'>1049</a>
|
|
1115
|
+
<a name='L1050'></a><a href='#L1050'>1050</a>
|
|
1116
|
+
<a name='L1051'></a><a href='#L1051'>1051</a>
|
|
1117
|
+
<a name='L1052'></a><a href='#L1052'>1052</a>
|
|
1118
|
+
<a name='L1053'></a><a href='#L1053'>1053</a>
|
|
1119
|
+
<a name='L1054'></a><a href='#L1054'>1054</a>
|
|
1120
|
+
<a name='L1055'></a><a href='#L1055'>1055</a>
|
|
1121
|
+
<a name='L1056'></a><a href='#L1056'>1056</a>
|
|
1122
|
+
<a name='L1057'></a><a href='#L1057'>1057</a>
|
|
1123
|
+
<a name='L1058'></a><a href='#L1058'>1058</a>
|
|
1124
|
+
<a name='L1059'></a><a href='#L1059'>1059</a>
|
|
1125
|
+
<a name='L1060'></a><a href='#L1060'>1060</a>
|
|
1126
|
+
<a name='L1061'></a><a href='#L1061'>1061</a>
|
|
1127
|
+
<a name='L1062'></a><a href='#L1062'>1062</a>
|
|
1128
|
+
<a name='L1063'></a><a href='#L1063'>1063</a>
|
|
1129
|
+
<a name='L1064'></a><a href='#L1064'>1064</a>
|
|
1130
|
+
<a name='L1065'></a><a href='#L1065'>1065</a>
|
|
1131
|
+
<a name='L1066'></a><a href='#L1066'>1066</a>
|
|
1132
|
+
<a name='L1067'></a><a href='#L1067'>1067</a>
|
|
1133
|
+
<a name='L1068'></a><a href='#L1068'>1068</a>
|
|
1134
|
+
<a name='L1069'></a><a href='#L1069'>1069</a>
|
|
1135
|
+
<a name='L1070'></a><a href='#L1070'>1070</a>
|
|
1136
|
+
<a name='L1071'></a><a href='#L1071'>1071</a>
|
|
1137
|
+
<a name='L1072'></a><a href='#L1072'>1072</a>
|
|
1138
|
+
<a name='L1073'></a><a href='#L1073'>1073</a>
|
|
1139
|
+
<a name='L1074'></a><a href='#L1074'>1074</a>
|
|
1140
|
+
<a name='L1075'></a><a href='#L1075'>1075</a>
|
|
1141
|
+
<a name='L1076'></a><a href='#L1076'>1076</a>
|
|
1142
|
+
<a name='L1077'></a><a href='#L1077'>1077</a>
|
|
1143
|
+
<a name='L1078'></a><a href='#L1078'>1078</a>
|
|
1144
|
+
<a name='L1079'></a><a href='#L1079'>1079</a>
|
|
1145
|
+
<a name='L1080'></a><a href='#L1080'>1080</a>
|
|
1146
|
+
<a name='L1081'></a><a href='#L1081'>1081</a>
|
|
1147
|
+
<a name='L1082'></a><a href='#L1082'>1082</a>
|
|
1148
|
+
<a name='L1083'></a><a href='#L1083'>1083</a>
|
|
1149
|
+
<a name='L1084'></a><a href='#L1084'>1084</a>
|
|
1150
|
+
<a name='L1085'></a><a href='#L1085'>1085</a>
|
|
1151
|
+
<a name='L1086'></a><a href='#L1086'>1086</a>
|
|
1152
|
+
<a name='L1087'></a><a href='#L1087'>1087</a>
|
|
1153
|
+
<a name='L1088'></a><a href='#L1088'>1088</a>
|
|
1154
|
+
<a name='L1089'></a><a href='#L1089'>1089</a>
|
|
1155
|
+
<a name='L1090'></a><a href='#L1090'>1090</a>
|
|
1156
|
+
<a name='L1091'></a><a href='#L1091'>1091</a>
|
|
1157
|
+
<a name='L1092'></a><a href='#L1092'>1092</a>
|
|
1158
|
+
<a name='L1093'></a><a href='#L1093'>1093</a>
|
|
1159
|
+
<a name='L1094'></a><a href='#L1094'>1094</a>
|
|
1160
|
+
<a name='L1095'></a><a href='#L1095'>1095</a>
|
|
1161
|
+
<a name='L1096'></a><a href='#L1096'>1096</a>
|
|
1162
|
+
<a name='L1097'></a><a href='#L1097'>1097</a>
|
|
1163
|
+
<a name='L1098'></a><a href='#L1098'>1098</a>
|
|
1164
|
+
<a name='L1099'></a><a href='#L1099'>1099</a>
|
|
1165
|
+
<a name='L1100'></a><a href='#L1100'>1100</a>
|
|
1166
|
+
<a name='L1101'></a><a href='#L1101'>1101</a>
|
|
1167
|
+
<a name='L1102'></a><a href='#L1102'>1102</a>
|
|
1168
|
+
<a name='L1103'></a><a href='#L1103'>1103</a>
|
|
1169
|
+
<a name='L1104'></a><a href='#L1104'>1104</a>
|
|
1170
|
+
<a name='L1105'></a><a href='#L1105'>1105</a>
|
|
1171
|
+
<a name='L1106'></a><a href='#L1106'>1106</a>
|
|
1172
|
+
<a name='L1107'></a><a href='#L1107'>1107</a>
|
|
1173
|
+
<a name='L1108'></a><a href='#L1108'>1108</a>
|
|
1174
|
+
<a name='L1109'></a><a href='#L1109'>1109</a>
|
|
1175
|
+
<a name='L1110'></a><a href='#L1110'>1110</a>
|
|
1176
|
+
<a name='L1111'></a><a href='#L1111'>1111</a>
|
|
1177
|
+
<a name='L1112'></a><a href='#L1112'>1112</a>
|
|
1178
|
+
<a name='L1113'></a><a href='#L1113'>1113</a>
|
|
1179
|
+
<a name='L1114'></a><a href='#L1114'>1114</a>
|
|
1180
|
+
<a name='L1115'></a><a href='#L1115'>1115</a>
|
|
1181
|
+
<a name='L1116'></a><a href='#L1116'>1116</a>
|
|
1182
|
+
<a name='L1117'></a><a href='#L1117'>1117</a>
|
|
1183
|
+
<a name='L1118'></a><a href='#L1118'>1118</a>
|
|
1184
|
+
<a name='L1119'></a><a href='#L1119'>1119</a>
|
|
1185
|
+
<a name='L1120'></a><a href='#L1120'>1120</a>
|
|
1186
|
+
<a name='L1121'></a><a href='#L1121'>1121</a>
|
|
1187
|
+
<a name='L1122'></a><a href='#L1122'>1122</a>
|
|
1188
|
+
<a name='L1123'></a><a href='#L1123'>1123</a>
|
|
1189
|
+
<a name='L1124'></a><a href='#L1124'>1124</a>
|
|
1190
|
+
<a name='L1125'></a><a href='#L1125'>1125</a>
|
|
1191
|
+
<a name='L1126'></a><a href='#L1126'>1126</a>
|
|
1192
|
+
<a name='L1127'></a><a href='#L1127'>1127</a>
|
|
1193
|
+
<a name='L1128'></a><a href='#L1128'>1128</a>
|
|
1194
|
+
<a name='L1129'></a><a href='#L1129'>1129</a>
|
|
1195
|
+
<a name='L1130'></a><a href='#L1130'>1130</a>
|
|
1196
|
+
<a name='L1131'></a><a href='#L1131'>1131</a>
|
|
1197
|
+
<a name='L1132'></a><a href='#L1132'>1132</a>
|
|
1198
|
+
<a name='L1133'></a><a href='#L1133'>1133</a>
|
|
1199
|
+
<a name='L1134'></a><a href='#L1134'>1134</a>
|
|
1200
|
+
<a name='L1135'></a><a href='#L1135'>1135</a>
|
|
1201
|
+
<a name='L1136'></a><a href='#L1136'>1136</a>
|
|
1202
|
+
<a name='L1137'></a><a href='#L1137'>1137</a>
|
|
1203
|
+
<a name='L1138'></a><a href='#L1138'>1138</a>
|
|
1204
|
+
<a name='L1139'></a><a href='#L1139'>1139</a>
|
|
1205
|
+
<a name='L1140'></a><a href='#L1140'>1140</a>
|
|
1206
|
+
<a name='L1141'></a><a href='#L1141'>1141</a>
|
|
1207
|
+
<a name='L1142'></a><a href='#L1142'>1142</a>
|
|
1208
|
+
<a name='L1143'></a><a href='#L1143'>1143</a>
|
|
1209
|
+
<a name='L1144'></a><a href='#L1144'>1144</a>
|
|
1210
|
+
<a name='L1145'></a><a href='#L1145'>1145</a>
|
|
1211
|
+
<a name='L1146'></a><a href='#L1146'>1146</a>
|
|
1212
|
+
<a name='L1147'></a><a href='#L1147'>1147</a>
|
|
1213
|
+
<a name='L1148'></a><a href='#L1148'>1148</a>
|
|
1214
|
+
<a name='L1149'></a><a href='#L1149'>1149</a>
|
|
1215
|
+
<a name='L1150'></a><a href='#L1150'>1150</a>
|
|
1216
|
+
<a name='L1151'></a><a href='#L1151'>1151</a>
|
|
1217
|
+
<a name='L1152'></a><a href='#L1152'>1152</a>
|
|
1218
|
+
<a name='L1153'></a><a href='#L1153'>1153</a>
|
|
1219
|
+
<a name='L1154'></a><a href='#L1154'>1154</a>
|
|
1220
|
+
<a name='L1155'></a><a href='#L1155'>1155</a>
|
|
1221
|
+
<a name='L1156'></a><a href='#L1156'>1156</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral"> </span>
|
|
971
1222
|
<span class="cline-any cline-neutral"> </span>
|
|
972
1223
|
<span class="cline-any cline-neutral"> </span>
|
|
973
1224
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -1012,8 +1263,8 @@
|
|
|
1012
1263
|
<span class="cline-any cline-neutral"> </span>
|
|
1013
1264
|
<span class="cline-any cline-neutral"> </span>
|
|
1014
1265
|
<span class="cline-any cline-neutral"> </span>
|
|
1015
|
-
<span class="cline-any cline-yes">
|
|
1016
|
-
<span class="cline-any cline-yes">
|
|
1266
|
+
<span class="cline-any cline-yes">190x</span>
|
|
1267
|
+
<span class="cline-any cline-yes">190x</span>
|
|
1017
1268
|
<span class="cline-any cline-yes">34x</span>
|
|
1018
1269
|
<span class="cline-any cline-yes">12x</span>
|
|
1019
1270
|
<span class="cline-any cline-yes">2x</span>
|
|
@@ -1051,38 +1302,53 @@
|
|
|
1051
1302
|
<span class="cline-any cline-neutral"> </span>
|
|
1052
1303
|
<span class="cline-any cline-neutral"> </span>
|
|
1053
1304
|
<span class="cline-any cline-neutral"> </span>
|
|
1054
|
-
<span class="cline-any cline-
|
|
1055
|
-
<span class="cline-any cline-
|
|
1056
|
-
<span class="cline-any cline-
|
|
1305
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1306
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1307
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1308
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1309
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1310
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1311
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1312
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1313
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1314
|
+
<span class="cline-any cline-yes">12x</span>
|
|
1315
|
+
<span class="cline-any cline-yes">11x</span>
|
|
1316
|
+
<span class="cline-any cline-yes">12x</span>
|
|
1057
1317
|
<span class="cline-any cline-neutral"> </span>
|
|
1058
1318
|
<span class="cline-any cline-neutral"> </span>
|
|
1059
1319
|
<span class="cline-any cline-yes">4x</span>
|
|
1060
1320
|
<span class="cline-any cline-neutral"> </span>
|
|
1061
1321
|
<span class="cline-any cline-neutral"> </span>
|
|
1062
1322
|
<span class="cline-any cline-neutral"> </span>
|
|
1063
|
-
<span class="cline-any cline-yes">80x</span>
|
|
1064
|
-
<span class="cline-any cline-yes">80x</span>
|
|
1065
1323
|
<span class="cline-any cline-neutral"> </span>
|
|
1066
|
-
<span class="cline-any cline-yes">80x</span>
|
|
1067
|
-
<span class="cline-any cline-yes">80x</span>
|
|
1068
1324
|
<span class="cline-any cline-neutral"> </span>
|
|
1069
1325
|
<span class="cline-any cline-neutral"> </span>
|
|
1070
|
-
<span class="cline-any cline-
|
|
1326
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1327
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1328
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1329
|
+
<span class="cline-any cline-yes">83x</span>
|
|
1330
|
+
<span class="cline-any cline-yes">83x</span>
|
|
1331
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1332
|
+
<span class="cline-any cline-yes">83x</span>
|
|
1333
|
+
<span class="cline-any cline-yes">83x</span>
|
|
1334
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1335
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1336
|
+
<span class="cline-any cline-yes">83x</span>
|
|
1071
1337
|
<span class="cline-any cline-yes">75x</span>
|
|
1072
1338
|
<span class="cline-any cline-neutral"> </span>
|
|
1073
1339
|
<span class="cline-any cline-neutral"> </span>
|
|
1074
1340
|
<span class="cline-any cline-neutral"> </span>
|
|
1075
|
-
<span class="cline-any cline-yes">
|
|
1076
|
-
<span class="cline-any cline-yes">
|
|
1077
|
-
<span class="cline-any cline-yes">
|
|
1078
|
-
<span class="cline-any cline-yes">
|
|
1079
|
-
<span class="cline-any cline-yes">
|
|
1080
|
-
<span class="cline-any cline-yes">
|
|
1081
|
-
<span class="cline-any cline-yes">
|
|
1082
|
-
<span class="cline-any cline-yes">
|
|
1083
|
-
<span class="cline-any cline-yes">
|
|
1084
|
-
<span class="cline-any cline-yes">
|
|
1085
|
-
<span class="cline-any cline-yes">
|
|
1341
|
+
<span class="cline-any cline-yes">83x</span>
|
|
1342
|
+
<span class="cline-any cline-yes">4x</span>
|
|
1343
|
+
<span class="cline-any cline-yes">4x</span>
|
|
1344
|
+
<span class="cline-any cline-yes">4x</span>
|
|
1345
|
+
<span class="cline-any cline-yes">4x</span>
|
|
1346
|
+
<span class="cline-any cline-yes">4x</span>
|
|
1347
|
+
<span class="cline-any cline-yes">4x</span>
|
|
1348
|
+
<span class="cline-any cline-yes">4x</span>
|
|
1349
|
+
<span class="cline-any cline-yes">4x</span>
|
|
1350
|
+
<span class="cline-any cline-yes">4x</span>
|
|
1351
|
+
<span class="cline-any cline-yes">4x</span>
|
|
1086
1352
|
<span class="cline-any cline-yes">1x</span>
|
|
1087
1353
|
<span class="cline-any cline-neutral"> </span>
|
|
1088
1354
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -1146,70 +1412,99 @@
|
|
|
1146
1412
|
<span class="cline-any cline-yes">79x</span>
|
|
1147
1413
|
<span class="cline-any cline-neutral"> </span>
|
|
1148
1414
|
<span class="cline-any cline-neutral"> </span>
|
|
1149
|
-
<span class="cline-any cline-yes">
|
|
1415
|
+
<span class="cline-any cline-yes">83x</span>
|
|
1150
1416
|
<span class="cline-any cline-yes">5x</span>
|
|
1151
1417
|
<span class="cline-any cline-neutral"> </span>
|
|
1152
1418
|
<span class="cline-any cline-neutral"> </span>
|
|
1153
|
-
<span class="cline-any cline-yes">
|
|
1419
|
+
<span class="cline-any cline-yes">83x</span>
|
|
1154
1420
|
<span class="cline-any cline-neutral"> </span>
|
|
1155
1421
|
<span class="cline-any cline-neutral"> </span>
|
|
1156
|
-
<span class="cline-any cline-yes">
|
|
1157
|
-
<span class="cline-any cline-yes">
|
|
1158
|
-
<span class="cline-any cline-yes">
|
|
1159
|
-
<span class="cline-any cline-yes">
|
|
1160
|
-
<span class="cline-any cline-yes">
|
|
1161
|
-
<span class="cline-any cline-yes">
|
|
1422
|
+
<span class="cline-any cline-yes">83x</span>
|
|
1423
|
+
<span class="cline-any cline-yes">83x</span>
|
|
1424
|
+
<span class="cline-any cline-yes">83x</span>
|
|
1425
|
+
<span class="cline-any cline-yes">83x</span>
|
|
1426
|
+
<span class="cline-any cline-yes">83x</span>
|
|
1427
|
+
<span class="cline-any cline-yes">83x</span>
|
|
1162
1428
|
<span class="cline-any cline-neutral"> </span>
|
|
1163
|
-
<span class="cline-any cline-yes">
|
|
1164
|
-
<span class="cline-any cline-yes">
|
|
1165
|
-
<span class="cline-any cline-yes">
|
|
1166
|
-
<span class="cline-any cline-yes">
|
|
1167
|
-
<span class="cline-any cline-yes">
|
|
1168
|
-
<span class="cline-any cline-yes">
|
|
1169
|
-
<span class="cline-any cline-yes">
|
|
1429
|
+
<span class="cline-any cline-yes">83x</span>
|
|
1430
|
+
<span class="cline-any cline-yes">88x</span>
|
|
1431
|
+
<span class="cline-any cline-yes">95x</span>
|
|
1432
|
+
<span class="cline-any cline-yes">95x</span>
|
|
1433
|
+
<span class="cline-any cline-yes">89x</span>
|
|
1434
|
+
<span class="cline-any cline-yes">89x</span>
|
|
1435
|
+
<span class="cline-any cline-yes">89x</span>
|
|
1170
1436
|
<span class="cline-any cline-neutral"> </span>
|
|
1171
1437
|
<span class="cline-any cline-neutral"> </span>
|
|
1172
1438
|
<span class="cline-any cline-neutral"> </span>
|
|
1173
|
-
<span class="cline-any cline-yes">
|
|
1174
|
-
<span class="cline-any cline-yes">
|
|
1439
|
+
<span class="cline-any cline-yes">83x</span>
|
|
1440
|
+
<span class="cline-any cline-yes">83x</span>
|
|
1175
1441
|
<span class="cline-any cline-neutral"> </span>
|
|
1176
|
-
<span class="cline-any cline-yes">
|
|
1442
|
+
<span class="cline-any cline-yes">83x</span>
|
|
1177
1443
|
<span class="cline-any cline-neutral"> </span>
|
|
1178
1444
|
<span class="cline-any cline-neutral"> </span>
|
|
1179
1445
|
<span class="cline-any cline-neutral"> </span>
|
|
1180
1446
|
<span class="cline-any cline-neutral"> </span>
|
|
1181
1447
|
<span class="cline-any cline-neutral"> </span>
|
|
1182
|
-
<span class="cline-any cline-yes">86x</span>
|
|
1183
|
-
<span class="cline-any cline-yes">86x</span>
|
|
1184
|
-
<span class="cline-any cline-yes">86x</span>
|
|
1185
|
-
<span class="cline-any cline-yes">86x</span>
|
|
1186
1448
|
<span class="cline-any cline-neutral"> </span>
|
|
1187
1449
|
<span class="cline-any cline-neutral"> </span>
|
|
1188
|
-
<span class="cline-any cline-yes">86x</span>
|
|
1189
|
-
<span class="cline-any cline-yes">86x</span>
|
|
1190
1450
|
<span class="cline-any cline-neutral"> </span>
|
|
1191
1451
|
<span class="cline-any cline-neutral"> </span>
|
|
1192
1452
|
<span class="cline-any cline-neutral"> </span>
|
|
1193
|
-
<span class="cline-any cline-yes">86x</span>
|
|
1194
|
-
<span class="cline-any cline-yes">86x</span>
|
|
1195
|
-
<span class="cline-any cline-yes">86x</span>
|
|
1196
|
-
<span class="cline-any cline-yes">86x</span>
|
|
1197
1453
|
<span class="cline-any cline-neutral"> </span>
|
|
1198
1454
|
<span class="cline-any cline-neutral"> </span>
|
|
1199
1455
|
<span class="cline-any cline-neutral"> </span>
|
|
1200
1456
|
<span class="cline-any cline-neutral"> </span>
|
|
1201
1457
|
<span class="cline-any cline-neutral"> </span>
|
|
1458
|
+
<span class="cline-any cline-yes">6x</span>
|
|
1459
|
+
<span class="cline-any cline-yes">6x</span>
|
|
1460
|
+
<span class="cline-any cline-yes">6x</span>
|
|
1461
|
+
<span class="cline-any cline-yes">6x</span>
|
|
1462
|
+
<span class="cline-any cline-yes">6x</span>
|
|
1463
|
+
<span class="cline-any cline-yes">6x</span>
|
|
1464
|
+
<span class="cline-any cline-yes">6x</span>
|
|
1465
|
+
<span class="cline-any cline-yes">6x</span>
|
|
1466
|
+
<span class="cline-any cline-yes">6x</span>
|
|
1467
|
+
<span class="cline-any cline-yes">6x</span>
|
|
1468
|
+
<span class="cline-any cline-yes">6x</span>
|
|
1202
1469
|
<span class="cline-any cline-neutral"> </span>
|
|
1203
|
-
<span class="cline-any cline-
|
|
1204
|
-
<span class="cline-any cline-yes">
|
|
1205
|
-
<span class="cline-any cline-
|
|
1470
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1471
|
+
<span class="cline-any cline-yes">6x</span>
|
|
1472
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1473
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1474
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1475
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1476
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1477
|
+
<span class="cline-any cline-yes">95x</span>
|
|
1478
|
+
<span class="cline-any cline-yes">95x</span>
|
|
1479
|
+
<span class="cline-any cline-yes">95x</span>
|
|
1480
|
+
<span class="cline-any cline-yes">95x</span>
|
|
1481
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1482
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1483
|
+
<span class="cline-any cline-yes">95x</span>
|
|
1484
|
+
<span class="cline-any cline-yes">95x</span>
|
|
1485
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1486
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1487
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1488
|
+
<span class="cline-any cline-yes">95x</span>
|
|
1489
|
+
<span class="cline-any cline-yes">95x</span>
|
|
1490
|
+
<span class="cline-any cline-yes">95x</span>
|
|
1491
|
+
<span class="cline-any cline-yes">95x</span>
|
|
1492
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1493
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1494
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1495
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1496
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1497
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1498
|
+
<span class="cline-any cline-yes">95x</span>
|
|
1499
|
+
<span class="cline-any cline-yes">95x</span>
|
|
1500
|
+
<span class="cline-any cline-yes">95x</span>
|
|
1206
1501
|
<span class="cline-any cline-yes">5x</span>
|
|
1207
1502
|
<span class="cline-any cline-neutral"> </span>
|
|
1208
|
-
<span class="cline-any cline-yes">
|
|
1503
|
+
<span class="cline-any cline-yes">95x</span>
|
|
1209
1504
|
<span class="cline-any cline-neutral"> </span>
|
|
1210
1505
|
<span class="cline-any cline-neutral"> </span>
|
|
1211
|
-
<span class="cline-any cline-yes">
|
|
1212
|
-
<span class="cline-any cline-yes">
|
|
1506
|
+
<span class="cline-any cline-yes">95x</span>
|
|
1507
|
+
<span class="cline-any cline-yes">95x</span>
|
|
1213
1508
|
<span class="cline-any cline-yes">5x</span>
|
|
1214
1509
|
<span class="cline-any cline-yes">5x</span>
|
|
1215
1510
|
<span class="cline-any cline-yes">5x</span>
|
|
@@ -1222,52 +1517,52 @@
|
|
|
1222
1517
|
<span class="cline-any cline-neutral"> </span>
|
|
1223
1518
|
<span class="cline-any cline-neutral"> </span>
|
|
1224
1519
|
<span class="cline-any cline-neutral"> </span>
|
|
1225
|
-
<span class="cline-any cline-yes">
|
|
1520
|
+
<span class="cline-any cline-yes">95x</span>
|
|
1226
1521
|
<span class="cline-any cline-neutral"> </span>
|
|
1227
1522
|
<span class="cline-any cline-neutral"> </span>
|
|
1228
|
-
<span class="cline-any cline-yes">
|
|
1523
|
+
<span class="cline-any cline-yes">95x</span>
|
|
1229
1524
|
<span class="cline-any cline-neutral"> </span>
|
|
1230
1525
|
<span class="cline-any cline-neutral"> </span>
|
|
1231
|
-
<span class="cline-any cline-yes">
|
|
1232
|
-
<span class="cline-any cline-yes">
|
|
1233
|
-
<span class="cline-any cline-yes">
|
|
1526
|
+
<span class="cline-any cline-yes">95x</span>
|
|
1527
|
+
<span class="cline-any cline-yes">95x</span>
|
|
1528
|
+
<span class="cline-any cline-yes">95x</span>
|
|
1234
1529
|
<span class="cline-any cline-yes">8x</span>
|
|
1235
1530
|
<span class="cline-any cline-yes">8x</span>
|
|
1236
1531
|
<span class="cline-any cline-neutral"> </span>
|
|
1237
1532
|
<span class="cline-any cline-neutral"> </span>
|
|
1238
1533
|
<span class="cline-any cline-neutral"> </span>
|
|
1239
|
-
<span class="cline-any cline-yes">
|
|
1240
|
-
<span class="cline-any cline-yes">
|
|
1241
|
-
<span class="cline-any cline-yes">
|
|
1534
|
+
<span class="cline-any cline-yes">95x</span>
|
|
1535
|
+
<span class="cline-any cline-yes">95x</span>
|
|
1536
|
+
<span class="cline-any cline-yes">95x</span>
|
|
1242
1537
|
<span class="cline-any cline-neutral"> </span>
|
|
1243
1538
|
<span class="cline-any cline-neutral"> </span>
|
|
1244
|
-
<span class="cline-any cline-yes">
|
|
1539
|
+
<span class="cline-any cline-yes">95x</span>
|
|
1245
1540
|
<span class="cline-any cline-yes">1x</span>
|
|
1246
1541
|
<span class="cline-any cline-yes">1x</span>
|
|
1247
1542
|
<span class="cline-any cline-yes">1x</span>
|
|
1248
|
-
<span class="cline-any cline-yes">
|
|
1543
|
+
<span class="cline-any cline-yes">94x</span>
|
|
1249
1544
|
<span class="cline-any cline-yes">1x</span>
|
|
1250
1545
|
<span class="cline-any cline-yes">1x</span>
|
|
1251
1546
|
<span class="cline-any cline-yes">1x</span>
|
|
1252
1547
|
<span class="cline-any cline-yes">1x</span>
|
|
1253
1548
|
<span class="cline-any cline-neutral"> </span>
|
|
1254
1549
|
<span class="cline-any cline-neutral"> </span>
|
|
1255
|
-
<span class="cline-any cline-yes">
|
|
1550
|
+
<span class="cline-any cline-yes">93x</span>
|
|
1256
1551
|
<span class="cline-any cline-yes">1x</span>
|
|
1257
1552
|
<span class="cline-any cline-yes">1x</span>
|
|
1258
1553
|
<span class="cline-any cline-neutral"> </span>
|
|
1259
1554
|
<span class="cline-any cline-neutral"> </span>
|
|
1260
|
-
<span class="cline-any cline-yes">
|
|
1555
|
+
<span class="cline-any cline-yes">95x</span>
|
|
1261
1556
|
<span class="cline-any cline-neutral"> </span>
|
|
1262
|
-
<span class="cline-any cline-yes">
|
|
1557
|
+
<span class="cline-any cline-yes">95x</span>
|
|
1263
1558
|
<span class="cline-any cline-yes">8x</span>
|
|
1264
1559
|
<span class="cline-any cline-neutral"> </span>
|
|
1265
|
-
<span class="cline-any cline-yes">
|
|
1560
|
+
<span class="cline-any cline-yes">87x</span>
|
|
1266
1561
|
<span class="cline-any cline-neutral"> </span>
|
|
1267
1562
|
<span class="cline-any cline-neutral"> </span>
|
|
1268
|
-
<span class="cline-any cline-yes">
|
|
1563
|
+
<span class="cline-any cline-yes">95x</span>
|
|
1269
1564
|
<span class="cline-any cline-neutral"> </span>
|
|
1270
|
-
<span class="cline-any cline-yes">
|
|
1565
|
+
<span class="cline-any cline-yes">95x</span>
|
|
1271
1566
|
<span class="cline-any cline-yes">14x</span>
|
|
1272
1567
|
<span class="cline-any cline-yes">14x</span>
|
|
1273
1568
|
<span class="cline-any cline-yes">14x</span>
|
|
@@ -1284,13 +1579,13 @@
|
|
|
1284
1579
|
<span class="cline-any cline-yes">11x</span>
|
|
1285
1580
|
<span class="cline-any cline-yes">11x</span>
|
|
1286
1581
|
<span class="cline-any cline-neutral"> </span>
|
|
1287
|
-
<span class="cline-any cline-yes">
|
|
1582
|
+
<span class="cline-any cline-yes">81x</span>
|
|
1288
1583
|
<span class="cline-any cline-neutral"> </span>
|
|
1289
1584
|
<span class="cline-any cline-yes">3x</span>
|
|
1290
1585
|
<span class="cline-any cline-yes">3x</span>
|
|
1291
1586
|
<span class="cline-any cline-neutral"> </span>
|
|
1292
1587
|
<span class="cline-any cline-neutral"> </span>
|
|
1293
|
-
<span class="cline-any cline-yes">
|
|
1588
|
+
<span class="cline-any cline-yes">95x</span>
|
|
1294
1589
|
<span class="cline-any cline-yes">17x</span>
|
|
1295
1590
|
<span class="cline-any cline-yes">8x</span>
|
|
1296
1591
|
<span class="cline-any cline-yes">1x</span>
|
|
@@ -1301,10 +1596,10 @@
|
|
|
1301
1596
|
<span class="cline-any cline-neutral"> </span>
|
|
1302
1597
|
<span class="cline-any cline-neutral"> </span>
|
|
1303
1598
|
<span class="cline-any cline-neutral"> </span>
|
|
1304
|
-
<span class="cline-any cline-yes">
|
|
1305
|
-
<span class="cline-any cline-yes">
|
|
1599
|
+
<span class="cline-any cline-yes">95x</span>
|
|
1600
|
+
<span class="cline-any cline-yes">95x</span>
|
|
1306
1601
|
<span class="cline-any cline-neutral"> </span>
|
|
1307
|
-
<span class="cline-any cline-yes">
|
|
1602
|
+
<span class="cline-any cline-yes">64x</span>
|
|
1308
1603
|
<span class="cline-any cline-neutral"> </span>
|
|
1309
1604
|
<span class="cline-any cline-yes">31x</span>
|
|
1310
1605
|
<span class="cline-any cline-yes">31x</span>
|
|
@@ -1314,9 +1609,9 @@
|
|
|
1314
1609
|
<span class="cline-any cline-neutral"> </span>
|
|
1315
1610
|
<span class="cline-any cline-neutral"> </span>
|
|
1316
1611
|
<span class="cline-any cline-neutral"> </span>
|
|
1317
|
-
<span class="cline-any cline-yes">
|
|
1612
|
+
<span class="cline-any cline-yes">95x</span>
|
|
1318
1613
|
<span class="cline-any cline-neutral"> </span>
|
|
1319
|
-
<span class="cline-any cline-yes">
|
|
1614
|
+
<span class="cline-any cline-yes">95x</span>
|
|
1320
1615
|
<span class="cline-any cline-yes">4x</span>
|
|
1321
1616
|
<span class="cline-any cline-yes">5x</span>
|
|
1322
1617
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -1326,20 +1621,20 @@
|
|
|
1326
1621
|
<span class="cline-any cline-yes">3x</span>
|
|
1327
1622
|
<span class="cline-any cline-yes">3x</span>
|
|
1328
1623
|
<span class="cline-any cline-neutral"> </span>
|
|
1329
|
-
<span class="cline-any cline-yes">
|
|
1330
|
-
<span class="cline-any cline-yes">
|
|
1624
|
+
<span class="cline-any cline-yes">91x</span>
|
|
1625
|
+
<span class="cline-any cline-yes">78x</span>
|
|
1331
1626
|
<span class="cline-any cline-neutral"> </span>
|
|
1332
1627
|
<span class="cline-any cline-neutral"> </span>
|
|
1333
|
-
<span class="cline-any cline-yes">
|
|
1628
|
+
<span class="cline-any cline-yes">95x</span>
|
|
1334
1629
|
<span class="cline-any cline-neutral"> </span>
|
|
1335
|
-
<span class="cline-any cline-yes">
|
|
1630
|
+
<span class="cline-any cline-yes">95x</span>
|
|
1336
1631
|
<span class="cline-any cline-neutral"> </span>
|
|
1337
1632
|
<span class="cline-any cline-neutral"> </span>
|
|
1338
1633
|
<span class="cline-any cline-neutral"> </span>
|
|
1339
1634
|
<span class="cline-any cline-neutral"> </span>
|
|
1340
1635
|
<span class="cline-any cline-neutral"> </span>
|
|
1341
1636
|
<span class="cline-any cline-neutral"> </span>
|
|
1342
|
-
<span class="cline-any cline-yes">
|
|
1637
|
+
<span class="cline-any cline-yes">95x</span>
|
|
1343
1638
|
<span class="cline-any cline-yes">13x</span>
|
|
1344
1639
|
<span class="cline-any cline-neutral"> </span>
|
|
1345
1640
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -1353,10 +1648,10 @@
|
|
|
1353
1648
|
<span class="cline-any cline-neutral"> </span>
|
|
1354
1649
|
<span class="cline-any cline-neutral"> </span>
|
|
1355
1650
|
<span class="cline-any cline-neutral"> </span>
|
|
1356
|
-
<span class="cline-any cline-yes">
|
|
1651
|
+
<span class="cline-any cline-yes">95x</span>
|
|
1357
1652
|
<span class="cline-any cline-neutral"> </span>
|
|
1358
1653
|
<span class="cline-any cline-neutral"> </span>
|
|
1359
|
-
<span class="cline-any cline-yes">
|
|
1654
|
+
<span class="cline-any cline-yes">95x</span>
|
|
1360
1655
|
<span class="cline-any cline-yes">13x</span>
|
|
1361
1656
|
<span class="cline-any cline-yes">10x</span>
|
|
1362
1657
|
<span class="cline-any cline-yes">10x</span>
|
|
@@ -1370,8 +1665,8 @@
|
|
|
1370
1665
|
<span class="cline-any cline-neutral"> </span>
|
|
1371
1666
|
<span class="cline-any cline-neutral"> </span>
|
|
1372
1667
|
<span class="cline-any cline-neutral"> </span>
|
|
1373
|
-
<span class="cline-any cline-yes">
|
|
1374
|
-
<span class="cline-any cline-yes">
|
|
1668
|
+
<span class="cline-any cline-yes">95x</span>
|
|
1669
|
+
<span class="cline-any cline-yes">95x</span>
|
|
1375
1670
|
<span class="cline-any cline-yes">14x</span>
|
|
1376
1671
|
<span class="cline-any cline-yes">14x</span>
|
|
1377
1672
|
<span class="cline-any cline-yes">14x</span>
|
|
@@ -1383,18 +1678,18 @@
|
|
|
1383
1678
|
<span class="cline-any cline-neutral"> </span>
|
|
1384
1679
|
<span class="cline-any cline-yes">11x</span>
|
|
1385
1680
|
<span class="cline-any cline-neutral"> </span>
|
|
1386
|
-
<span class="cline-any cline-yes">
|
|
1681
|
+
<span class="cline-any cline-yes">81x</span>
|
|
1387
1682
|
<span class="cline-any cline-yes">1x</span>
|
|
1388
1683
|
<span class="cline-any cline-yes">1x</span>
|
|
1389
1684
|
<span class="cline-any cline-yes">1x</span>
|
|
1390
1685
|
<span class="cline-any cline-yes">2x</span>
|
|
1391
1686
|
<span class="cline-any cline-yes">1x</span>
|
|
1392
|
-
<span class="cline-any cline-yes">
|
|
1687
|
+
<span class="cline-any cline-yes">80x</span>
|
|
1393
1688
|
<span class="cline-any cline-yes">1x</span>
|
|
1394
1689
|
<span class="cline-any cline-yes">2x</span>
|
|
1395
1690
|
<span class="cline-any cline-neutral"> </span>
|
|
1396
1691
|
<span class="cline-any cline-yes">1x</span>
|
|
1397
|
-
<span class="cline-any cline-yes">
|
|
1692
|
+
<span class="cline-any cline-yes">79x</span>
|
|
1398
1693
|
<span class="cline-any cline-yes">1x</span>
|
|
1399
1694
|
<span class="cline-any cline-yes">2x</span>
|
|
1400
1695
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -1404,7 +1699,7 @@
|
|
|
1404
1699
|
<span class="cline-any cline-neutral"> </span>
|
|
1405
1700
|
<span class="cline-any cline-neutral"> </span>
|
|
1406
1701
|
<span class="cline-any cline-neutral"> </span>
|
|
1407
|
-
<span class="cline-any cline-yes">
|
|
1702
|
+
<span class="cline-any cline-yes">95x</span>
|
|
1408
1703
|
<span class="cline-any cline-yes">8x</span>
|
|
1409
1704
|
<span class="cline-any cline-yes">8x</span>
|
|
1410
1705
|
<span class="cline-any cline-yes">6x</span>
|
|
@@ -1417,7 +1712,7 @@
|
|
|
1417
1712
|
<span class="cline-any cline-neutral"> </span>
|
|
1418
1713
|
<span class="cline-any cline-neutral"> </span>
|
|
1419
1714
|
<span class="cline-any cline-neutral"> </span>
|
|
1420
|
-
<span class="cline-any cline-yes">
|
|
1715
|
+
<span class="cline-any cline-yes">95x</span>
|
|
1421
1716
|
<span class="cline-any cline-yes">8x</span>
|
|
1422
1717
|
<span class="cline-any cline-yes">8x</span>
|
|
1423
1718
|
<span class="cline-any cline-yes">6x</span>
|
|
@@ -1429,13 +1724,13 @@
|
|
|
1429
1724
|
<span class="cline-any cline-neutral"> </span>
|
|
1430
1725
|
<span class="cline-any cline-neutral"> </span>
|
|
1431
1726
|
<span class="cline-any cline-neutral"> </span>
|
|
1432
|
-
<span class="cline-any cline-yes">
|
|
1727
|
+
<span class="cline-any cline-yes">95x</span>
|
|
1433
1728
|
<span class="cline-any cline-neutral"> </span>
|
|
1434
1729
|
<span class="cline-any cline-neutral"> </span>
|
|
1435
1730
|
<span class="cline-any cline-neutral"> </span>
|
|
1436
1731
|
<span class="cline-any cline-neutral"> </span>
|
|
1437
1732
|
<span class="cline-any cline-neutral"> </span>
|
|
1438
|
-
<span class="cline-any cline-yes">
|
|
1733
|
+
<span class="cline-any cline-yes">101x</span>
|
|
1439
1734
|
<span class="cline-any cline-yes">34x</span>
|
|
1440
1735
|
<span class="cline-any cline-yes">31x</span>
|
|
1441
1736
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -1474,66 +1769,110 @@
|
|
|
1474
1769
|
<span class="cline-any cline-neutral"> </span>
|
|
1475
1770
|
<span class="cline-any cline-neutral"> </span>
|
|
1476
1771
|
<span class="cline-any cline-neutral"> </span>
|
|
1477
|
-
<span class="cline-any cline-yes">
|
|
1772
|
+
<span class="cline-any cline-yes">89x</span>
|
|
1478
1773
|
<span class="cline-any cline-neutral"> </span>
|
|
1479
1774
|
<span class="cline-any cline-neutral"> </span>
|
|
1480
1775
|
<span class="cline-any cline-neutral"> </span>
|
|
1481
|
-
<span class="cline-any cline-yes">
|
|
1776
|
+
<span class="cline-any cline-yes">89x</span>
|
|
1482
1777
|
<span class="cline-any cline-neutral"> </span>
|
|
1483
|
-
<span class="cline-any cline-yes">
|
|
1778
|
+
<span class="cline-any cline-yes">92x</span>
|
|
1484
1779
|
<span class="cline-any cline-neutral"> </span>
|
|
1485
1780
|
<span class="cline-any cline-neutral"> </span>
|
|
1486
1781
|
<span class="cline-any cline-neutral"> </span>
|
|
1487
1782
|
<span class="cline-any cline-neutral"> </span>
|
|
1488
|
-
<span class="cline-any cline-yes">82x</span>
|
|
1489
1783
|
<span class="cline-any cline-neutral"> </span>
|
|
1784
|
+
<span class="cline-any cline-yes">85x</span>
|
|
1490
1785
|
<span class="cline-any cline-neutral"> </span>
|
|
1491
1786
|
<span class="cline-any cline-neutral"> </span>
|
|
1492
|
-
<span class="cline-any cline-yes">2x</span>
|
|
1493
|
-
<span class="cline-any cline-yes">2x</span>
|
|
1494
1787
|
<span class="cline-any cline-neutral"> </span>
|
|
1495
1788
|
<span class="cline-any cline-neutral"> </span>
|
|
1789
|
+
<span class="cline-any cline-yes">4x</span>
|
|
1790
|
+
<span class="cline-any cline-yes">4x</span>
|
|
1496
1791
|
<span class="cline-any cline-neutral"> </span>
|
|
1497
1792
|
<span class="cline-any cline-neutral"> </span>
|
|
1498
1793
|
<span class="cline-any cline-neutral"> </span>
|
|
1499
|
-
<span class="cline-any cline-yes">80x</span>
|
|
1500
|
-
<span class="cline-any cline-yes">80x</span>
|
|
1501
|
-
<span class="cline-any cline-yes">92x</span>
|
|
1502
|
-
<span class="cline-any cline-yes">85x</span>
|
|
1503
1794
|
<span class="cline-any cline-neutral"> </span>
|
|
1504
|
-
<span class="cline-any cline-
|
|
1505
|
-
<span class="cline-any cline-
|
|
1506
|
-
<span class="cline-any cline-
|
|
1507
|
-
<span class="cline-any cline-
|
|
1795
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1796
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1797
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1798
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1799
|
+
<span class="cline-any cline-yes">7x</span>
|
|
1800
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1801
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1802
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1803
|
+
<span class="cline-any cline-yes">59x</span>
|
|
1804
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1805
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1806
|
+
<span class="cline-any cline-yes">63x</span>
|
|
1807
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1808
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1809
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1810
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1811
|
+
<span class="cline-any cline-yes">24x</span>
|
|
1812
|
+
<span class="cline-any cline-yes">24x</span>
|
|
1813
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1814
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1815
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1816
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1817
|
+
<span class="cline-any cline-yes">23x</span>
|
|
1818
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1819
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1820
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1821
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1822
|
+
<span class="cline-any cline-yes">16x</span>
|
|
1823
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1824
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1825
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1826
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1827
|
+
<span class="cline-any cline-yes">6x</span>
|
|
1828
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1829
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1830
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1831
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1832
|
+
<span class="cline-any cline-yes">8x</span>
|
|
1833
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1834
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1835
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1836
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1837
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1838
|
+
<span class="cline-any cline-yes">88x</span>
|
|
1839
|
+
<span class="cline-any cline-yes">88x</span>
|
|
1840
|
+
<span class="cline-any cline-yes">100x</span>
|
|
1841
|
+
<span class="cline-any cline-yes">93x</span>
|
|
1842
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1843
|
+
<span class="cline-any cline-yes">90x</span>
|
|
1844
|
+
<span class="cline-any cline-yes">90x</span>
|
|
1845
|
+
<span class="cline-any cline-yes">90x</span>
|
|
1846
|
+
<span class="cline-any cline-yes">94x</span>
|
|
1508
1847
|
<span class="cline-any cline-yes">17x</span>
|
|
1509
1848
|
<span class="cline-any cline-yes">20x</span>
|
|
1510
1849
|
<span class="cline-any cline-yes">20x</span>
|
|
1511
1850
|
<span class="cline-any cline-neutral"> </span>
|
|
1512
1851
|
<span class="cline-any cline-neutral"> </span>
|
|
1513
|
-
<span class="cline-any cline-yes">
|
|
1514
|
-
<span class="cline-any cline-yes">
|
|
1515
|
-
<span class="cline-any cline-yes">
|
|
1516
|
-
<span class="cline-any cline-yes">
|
|
1852
|
+
<span class="cline-any cline-yes">94x</span>
|
|
1853
|
+
<span class="cline-any cline-yes">94x</span>
|
|
1854
|
+
<span class="cline-any cline-yes">80x</span>
|
|
1855
|
+
<span class="cline-any cline-yes">80x</span>
|
|
1517
1856
|
<span class="cline-any cline-neutral"> </span>
|
|
1518
|
-
<span class="cline-any cline-yes">
|
|
1857
|
+
<span class="cline-any cline-yes">94x</span>
|
|
1519
1858
|
<span class="cline-any cline-yes">4x</span>
|
|
1520
1859
|
<span class="cline-any cline-yes">5x</span>
|
|
1521
1860
|
<span class="cline-any cline-yes">5x</span>
|
|
1522
1861
|
<span class="cline-any cline-neutral"> </span>
|
|
1523
1862
|
<span class="cline-any cline-neutral"> </span>
|
|
1524
1863
|
<span class="cline-any cline-neutral"> </span>
|
|
1525
|
-
<span class="cline-any cline-yes">
|
|
1526
|
-
<span class="cline-any cline-yes">
|
|
1527
|
-
<span class="cline-any cline-yes">
|
|
1528
|
-
<span class="cline-any cline-yes">
|
|
1864
|
+
<span class="cline-any cline-yes">94x</span>
|
|
1865
|
+
<span class="cline-any cline-yes">94x</span>
|
|
1866
|
+
<span class="cline-any cline-yes">94x</span>
|
|
1867
|
+
<span class="cline-any cline-yes">94x</span>
|
|
1529
1868
|
<span class="cline-any cline-neutral"> </span>
|
|
1530
1869
|
<span class="cline-any cline-neutral"> </span>
|
|
1531
|
-
<span class="cline-any cline-yes">
|
|
1870
|
+
<span class="cline-any cline-yes">88x</span>
|
|
1532
1871
|
<span class="cline-any cline-neutral"> </span>
|
|
1533
1872
|
<span class="cline-any cline-neutral"> </span>
|
|
1534
1873
|
<span class="cline-any cline-neutral"> </span>
|
|
1535
1874
|
<span class="cline-any cline-neutral"> </span>
|
|
1536
|
-
<span class="cline-any cline-yes">
|
|
1875
|
+
<span class="cline-any cline-yes">86x</span>
|
|
1537
1876
|
<span class="cline-any cline-yes">3x</span>
|
|
1538
1877
|
<span class="cline-any cline-neutral"> </span>
|
|
1539
1878
|
<span class="cline-any cline-yes">2x</span>
|
|
@@ -1557,7 +1896,7 @@
|
|
|
1557
1896
|
<span class="cline-any cline-neutral"> </span>
|
|
1558
1897
|
<span class="cline-any cline-neutral"> </span>
|
|
1559
1898
|
<span class="cline-any cline-neutral"> </span>
|
|
1560
|
-
<span class="cline-any cline-yes">
|
|
1899
|
+
<span class="cline-any cline-yes">278x</span>
|
|
1561
1900
|
<span class="cline-any cline-yes">1x</span>
|
|
1562
1901
|
<span class="cline-any cline-yes">1x</span>
|
|
1563
1902
|
<span class="cline-any cline-no"> </span>
|
|
@@ -1594,7 +1933,7 @@
|
|
|
1594
1933
|
<span class="cline-any cline-neutral"> </span>
|
|
1595
1934
|
<span class="cline-any cline-neutral"> </span>
|
|
1596
1935
|
<span class="cline-any cline-neutral"> </span>
|
|
1597
|
-
<span class="cline-any cline-yes">
|
|
1936
|
+
<span class="cline-any cline-yes">278x</span>
|
|
1598
1937
|
<span class="cline-any cline-yes">28x</span>
|
|
1599
1938
|
<span class="cline-any cline-yes">4x</span>
|
|
1600
1939
|
<span class="cline-any cline-yes">24x</span>
|
|
@@ -1608,159 +1947,243 @@
|
|
|
1608
1947
|
<span class="cline-any cline-neutral"> </span>
|
|
1609
1948
|
<span class="cline-any cline-neutral"> </span>
|
|
1610
1949
|
<span class="cline-any cline-neutral"> </span>
|
|
1950
|
+
<span class="cline-any cline-yes">9x</span>
|
|
1951
|
+
<span class="cline-any cline-yes">9x</span>
|
|
1952
|
+
<span class="cline-any cline-yes">9x</span>
|
|
1953
|
+
<span class="cline-any cline-yes">9x</span>
|
|
1954
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1955
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1956
|
+
<span class="cline-any cline-yes">9x</span>
|
|
1957
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1958
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1959
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1960
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1961
|
+
<span class="cline-any cline-yes">9x</span>
|
|
1962
|
+
<span class="cline-any cline-yes">9x</span>
|
|
1963
|
+
<span class="cline-any cline-yes">9x</span>
|
|
1964
|
+
<span class="cline-any cline-yes">9x</span>
|
|
1965
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1966
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1967
|
+
<span class="cline-any cline-yes">9x</span>
|
|
1968
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1969
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1970
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1971
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1972
|
+
<span class="cline-any cline-yes">9x</span>
|
|
1973
|
+
<span class="cline-any cline-yes">9x</span>
|
|
1974
|
+
<span class="cline-any cline-yes">9x</span>
|
|
1975
|
+
<span class="cline-any cline-yes">9x</span>
|
|
1976
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1977
|
+
<span class="cline-any cline-yes">9x</span>
|
|
1978
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1979
|
+
<span class="cline-any cline-yes">4x</span>
|
|
1980
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1981
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1982
|
+
<span class="cline-any cline-yes">4x</span>
|
|
1983
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1984
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1985
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1986
|
+
<span class="cline-any cline-yes">5x</span>
|
|
1987
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1988
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1989
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1990
|
+
<span class="cline-any cline-yes">92x</span>
|
|
1991
|
+
<span class="cline-any cline-yes">97x</span>
|
|
1992
|
+
<span class="cline-any cline-yes">104x</span>
|
|
1993
|
+
<span class="cline-any cline-yes">98x</span>
|
|
1994
|
+
<span class="cline-any cline-yes">285x</span>
|
|
1995
|
+
<span class="cline-any cline-yes">26x</span>
|
|
1996
|
+
<span class="cline-any cline-yes">3x</span>
|
|
1997
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1998
|
+
<span class="cline-any cline-yes">98x</span>
|
|
1999
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2000
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2001
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2002
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2003
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2004
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2005
|
+
<span class="cline-any cline-yes">5x</span>
|
|
2006
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2007
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2008
|
+
<span class="cline-any cline-yes">87x</span>
|
|
2009
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2010
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2011
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2012
|
+
<span class="cline-any cline-yes">147x</span>
|
|
2013
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2014
|
+
<span class="cline-any cline-yes">98x</span>
|
|
2015
|
+
<span class="cline-any cline-yes">98x</span>
|
|
2016
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2017
|
+
<span class="cline-any cline-yes">8x</span>
|
|
2018
|
+
<span class="cline-any cline-yes">8x</span>
|
|
2019
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2020
|
+
<span class="cline-any cline-no"> </span>
|
|
2021
|
+
<span class="cline-any cline-no"> </span>
|
|
2022
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2023
|
+
<span class="cline-any cline-no"> </span>
|
|
2024
|
+
<span class="cline-any cline-no"> </span>
|
|
2025
|
+
<span class="cline-any cline-no"> </span>
|
|
2026
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2027
|
+
<span class="cline-any cline-no"> </span>
|
|
2028
|
+
<span class="cline-any cline-no"> </span>
|
|
2029
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2030
|
+
<span class="cline-any cline-no"> </span>
|
|
2031
|
+
<span class="cline-any cline-no"> </span>
|
|
2032
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2033
|
+
<span class="cline-any cline-no"> </span>
|
|
2034
|
+
<span class="cline-any cline-no"> </span>
|
|
2035
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2036
|
+
<span class="cline-any cline-no"> </span>
|
|
2037
|
+
<span class="cline-any cline-no"> </span>
|
|
2038
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2039
|
+
<span class="cline-any cline-yes">6x</span>
|
|
2040
|
+
<span class="cline-any cline-yes">4x</span>
|
|
2041
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2042
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2043
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2044
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2045
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2046
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2047
|
+
<span class="cline-any cline-yes">75x</span>
|
|
2048
|
+
<span class="cline-any cline-yes">75x</span>
|
|
2049
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2050
|
+
<span class="cline-any cline-yes">75x</span>
|
|
2051
|
+
<span class="cline-any cline-yes">3x</span>
|
|
2052
|
+
<span class="cline-any cline-yes">3x</span>
|
|
2053
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2054
|
+
<span class="cline-any cline-yes">3x</span>
|
|
2055
|
+
<span class="cline-any cline-yes">5x</span>
|
|
2056
|
+
<span class="cline-any cline-yes">5x</span>
|
|
2057
|
+
<span class="cline-any cline-yes">4x</span>
|
|
2058
|
+
<span class="cline-any cline-yes">4x</span>
|
|
2059
|
+
<span class="cline-any cline-yes">4x</span>
|
|
2060
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1611
2061
|
<span class="cline-any cline-yes">1x</span>
|
|
2062
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2063
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2064
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2065
|
+
<span class="cline-any cline-yes">3x</span>
|
|
2066
|
+
<span class="cline-any cline-yes">3x</span>
|
|
2067
|
+
<span class="cline-any cline-yes">4x</span>
|
|
2068
|
+
<span class="cline-any cline-yes">4x</span>
|
|
2069
|
+
<span class="cline-any cline-yes">4x</span>
|
|
2070
|
+
<span class="cline-any cline-yes">4x</span>
|
|
2071
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2072
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2073
|
+
<span class="cline-any cline-yes">3x</span>
|
|
1612
2074
|
<span class="cline-any cline-yes">1x</span>
|
|
1613
2075
|
<span class="cline-any cline-yes">1x</span>
|
|
1614
|
-
<span class="cline-any cline-yes">1x</span>
|
|
1615
2076
|
<span class="cline-any cline-neutral"> </span>
|
|
1616
2077
|
<span class="cline-any cline-neutral"> </span>
|
|
2078
|
+
<span class="cline-any cline-yes">72x</span>
|
|
2079
|
+
<span class="cline-any cline-yes">72x</span>
|
|
2080
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2081
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2082
|
+
<span class="cline-any cline-yes">75x</span>
|
|
2083
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2084
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2085
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2086
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2087
|
+
<span class="cline-any cline-yes">72x</span>
|
|
2088
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2089
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2090
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2091
|
+
<span class="cline-any cline-yes">72x</span>
|
|
2092
|
+
<span class="cline-any cline-yes">72x</span>
|
|
1617
2093
|
<span class="cline-any cline-yes">1x</span>
|
|
1618
2094
|
<span class="cline-any cline-neutral"> </span>
|
|
2095
|
+
<span class="cline-any cline-yes">71x</span>
|
|
2096
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2097
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2098
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2099
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2100
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2101
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2102
|
+
<span class="cline-any cline-yes">5x</span>
|
|
2103
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2104
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2105
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2106
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2107
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2108
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2109
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2110
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2111
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2112
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2113
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2114
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1619
2115
|
<span class="cline-any cline-neutral"> </span>
|
|
1620
2116
|
<span class="cline-any cline-neutral"> </span>
|
|
1621
2117
|
<span class="cline-any cline-neutral"> </span>
|
|
1622
|
-
<span class="cline-any cline-yes">1x</span>
|
|
1623
|
-
<span class="cline-any cline-yes">1x</span>
|
|
1624
|
-
<span class="cline-any cline-yes">1x</span>
|
|
1625
|
-
<span class="cline-any cline-yes">1x</span>
|
|
1626
2118
|
<span class="cline-any cline-neutral"> </span>
|
|
1627
2119
|
<span class="cline-any cline-neutral"> </span>
|
|
1628
|
-
<span class="cline-any cline-yes">1x</span>
|
|
1629
2120
|
<span class="cline-any cline-neutral"> </span>
|
|
1630
2121
|
<span class="cline-any cline-neutral"> </span>
|
|
1631
2122
|
<span class="cline-any cline-neutral"> </span>
|
|
1632
2123
|
<span class="cline-any cline-neutral"> </span>
|
|
1633
|
-
<span class="cline-any cline-yes">1x</span>
|
|
1634
|
-
<span class="cline-any cline-yes">1x</span>
|
|
1635
|
-
<span class="cline-any cline-yes">1x</span>
|
|
1636
|
-
<span class="cline-any cline-yes">1x</span>
|
|
1637
2124
|
<span class="cline-any cline-neutral"> </span>
|
|
1638
|
-
<span class="cline-any cline-yes">1x</span>
|
|
1639
2125
|
<span class="cline-any cline-neutral"> </span>
|
|
1640
|
-
<span class="cline-any cline-yes">1x</span>
|
|
1641
2126
|
<span class="cline-any cline-neutral"> </span>
|
|
1642
2127
|
<span class="cline-any cline-neutral"> </span>
|
|
1643
|
-
<span class="cline-any cline-yes">1x</span>
|
|
1644
2128
|
<span class="cline-any cline-neutral"> </span>
|
|
1645
2129
|
<span class="cline-any cline-neutral"> </span>
|
|
1646
2130
|
<span class="cline-any cline-neutral"> </span>
|
|
1647
|
-
<span class="cline-any cline-no"> </span>
|
|
1648
2131
|
<span class="cline-any cline-neutral"> </span>
|
|
1649
2132
|
<span class="cline-any cline-neutral"> </span>
|
|
1650
2133
|
<span class="cline-any cline-neutral"> </span>
|
|
1651
|
-
<span class="cline-any cline-yes">81x</span>
|
|
1652
|
-
<span class="cline-any cline-yes">86x</span>
|
|
1653
|
-
<span class="cline-any cline-yes">93x</span>
|
|
1654
|
-
<span class="cline-any cline-yes">87x</span>
|
|
1655
|
-
<span class="cline-any cline-yes">252x</span>
|
|
1656
|
-
<span class="cline-any cline-yes">26x</span>
|
|
1657
|
-
<span class="cline-any cline-yes">3x</span>
|
|
1658
2134
|
<span class="cline-any cline-neutral"> </span>
|
|
1659
|
-
<span class="cline-any cline-yes">87x</span>
|
|
1660
2135
|
<span class="cline-any cline-neutral"> </span>
|
|
1661
2136
|
<span class="cline-any cline-neutral"> </span>
|
|
1662
2137
|
<span class="cline-any cline-neutral"> </span>
|
|
1663
2138
|
<span class="cline-any cline-neutral"> </span>
|
|
1664
2139
|
<span class="cline-any cline-neutral"> </span>
|
|
1665
2140
|
<span class="cline-any cline-neutral"> </span>
|
|
1666
|
-
<span class="cline-any cline-yes">5x</span>
|
|
1667
2141
|
<span class="cline-any cline-neutral"> </span>
|
|
1668
2142
|
<span class="cline-any cline-neutral"> </span>
|
|
1669
|
-
<span class="cline-any cline-yes">76x</span>
|
|
1670
2143
|
<span class="cline-any cline-neutral"> </span>
|
|
1671
2144
|
<span class="cline-any cline-neutral"> </span>
|
|
1672
2145
|
<span class="cline-any cline-neutral"> </span>
|
|
1673
|
-
<span class="cline-any cline-yes">144x</span>
|
|
1674
2146
|
<span class="cline-any cline-neutral"> </span>
|
|
1675
|
-
<span class="cline-any cline-yes">95x</span>
|
|
1676
|
-
<span class="cline-any cline-yes">95x</span>
|
|
1677
2147
|
<span class="cline-any cline-neutral"> </span>
|
|
1678
|
-
<span class="cline-any cline-yes">8x</span>
|
|
1679
|
-
<span class="cline-any cline-yes">8x</span>
|
|
1680
2148
|
<span class="cline-any cline-neutral"> </span>
|
|
1681
|
-
<span class="cline-any cline-no"> </span>
|
|
1682
|
-
<span class="cline-any cline-no"> </span>
|
|
1683
2149
|
<span class="cline-any cline-neutral"> </span>
|
|
1684
|
-
<span class="cline-any cline-no"> </span>
|
|
1685
|
-
<span class="cline-any cline-no"> </span>
|
|
1686
|
-
<span class="cline-any cline-no"> </span>
|
|
1687
2150
|
<span class="cline-any cline-neutral"> </span>
|
|
1688
|
-
<span class="cline-any cline-no"> </span>
|
|
1689
|
-
<span class="cline-any cline-no"> </span>
|
|
1690
2151
|
<span class="cline-any cline-neutral"> </span>
|
|
1691
|
-
<span class="cline-any cline-no"> </span>
|
|
1692
|
-
<span class="cline-any cline-no"> </span>
|
|
1693
2152
|
<span class="cline-any cline-neutral"> </span>
|
|
1694
|
-
<span class="cline-any cline-no"> </span>
|
|
1695
|
-
<span class="cline-any cline-no"> </span>
|
|
1696
2153
|
<span class="cline-any cline-neutral"> </span>
|
|
1697
|
-
<span class="cline-any cline-no"> </span>
|
|
1698
|
-
<span class="cline-any cline-no"> </span>
|
|
1699
2154
|
<span class="cline-any cline-neutral"> </span>
|
|
1700
|
-
<span class="cline-any cline-yes">6x</span>
|
|
1701
|
-
<span class="cline-any cline-yes">4x</span>
|
|
1702
2155
|
<span class="cline-any cline-neutral"> </span>
|
|
1703
2156
|
<span class="cline-any cline-neutral"> </span>
|
|
1704
2157
|
<span class="cline-any cline-neutral"> </span>
|
|
1705
2158
|
<span class="cline-any cline-neutral"> </span>
|
|
1706
2159
|
<span class="cline-any cline-neutral"> </span>
|
|
1707
2160
|
<span class="cline-any cline-neutral"> </span>
|
|
1708
|
-
<span class="cline-any cline-yes">75x</span>
|
|
1709
|
-
<span class="cline-any cline-yes">75x</span>
|
|
1710
2161
|
<span class="cline-any cline-neutral"> </span>
|
|
1711
|
-
<span class="cline-any cline-yes">75x</span>
|
|
1712
|
-
<span class="cline-any cline-yes">3x</span>
|
|
1713
|
-
<span class="cline-any cline-yes">3x</span>
|
|
1714
2162
|
<span class="cline-any cline-neutral"> </span>
|
|
1715
|
-
<span class="cline-any cline-yes">3x</span>
|
|
1716
|
-
<span class="cline-any cline-yes">5x</span>
|
|
1717
|
-
<span class="cline-any cline-yes">5x</span>
|
|
1718
|
-
<span class="cline-any cline-yes">4x</span>
|
|
1719
|
-
<span class="cline-any cline-yes">4x</span>
|
|
1720
|
-
<span class="cline-any cline-yes">4x</span>
|
|
1721
2163
|
<span class="cline-any cline-neutral"> </span>
|
|
1722
|
-
<span class="cline-any cline-yes">1x</span>
|
|
1723
2164
|
<span class="cline-any cline-neutral"> </span>
|
|
1724
2165
|
<span class="cline-any cline-neutral"> </span>
|
|
1725
2166
|
<span class="cline-any cline-neutral"> </span>
|
|
1726
|
-
<span class="cline-any cline-yes">3x</span>
|
|
1727
|
-
<span class="cline-any cline-yes">3x</span>
|
|
1728
|
-
<span class="cline-any cline-yes">4x</span>
|
|
1729
|
-
<span class="cline-any cline-yes">4x</span>
|
|
1730
|
-
<span class="cline-any cline-yes">4x</span>
|
|
1731
|
-
<span class="cline-any cline-yes">4x</span>
|
|
1732
2167
|
<span class="cline-any cline-neutral"> </span>
|
|
1733
2168
|
<span class="cline-any cline-neutral"> </span>
|
|
1734
|
-
<span class="cline-any cline-yes">3x</span>
|
|
1735
|
-
<span class="cline-any cline-yes">1x</span>
|
|
1736
|
-
<span class="cline-any cline-yes">1x</span>
|
|
1737
2169
|
<span class="cline-any cline-neutral"> </span>
|
|
1738
2170
|
<span class="cline-any cline-neutral"> </span>
|
|
1739
|
-
<span class="cline-any cline-yes">72x</span>
|
|
1740
|
-
<span class="cline-any cline-yes">72x</span>
|
|
1741
2171
|
<span class="cline-any cline-neutral"> </span>
|
|
1742
2172
|
<span class="cline-any cline-neutral"> </span>
|
|
1743
|
-
<span class="cline-any cline-yes">75x</span>
|
|
1744
2173
|
<span class="cline-any cline-neutral"> </span>
|
|
1745
2174
|
<span class="cline-any cline-neutral"> </span>
|
|
1746
2175
|
<span class="cline-any cline-neutral"> </span>
|
|
1747
2176
|
<span class="cline-any cline-neutral"> </span>
|
|
1748
|
-
<span class="cline-any cline-yes">72x</span>
|
|
1749
2177
|
<span class="cline-any cline-neutral"> </span>
|
|
1750
2178
|
<span class="cline-any cline-neutral"> </span>
|
|
1751
2179
|
<span class="cline-any cline-neutral"> </span>
|
|
1752
|
-
<span class="cline-any cline-yes">72x</span>
|
|
1753
|
-
<span class="cline-any cline-yes">72x</span>
|
|
1754
|
-
<span class="cline-any cline-yes">1x</span>
|
|
1755
2180
|
<span class="cline-any cline-neutral"> </span>
|
|
1756
|
-
<span class="cline-any cline-yes">71x</span>
|
|
1757
2181
|
<span class="cline-any cline-neutral"> </span>
|
|
1758
2182
|
<span class="cline-any cline-neutral"> </span>
|
|
1759
2183
|
<span class="cline-any cline-neutral"> </span>
|
|
1760
2184
|
<span class="cline-any cline-neutral"> </span>
|
|
1761
2185
|
<span class="cline-any cline-neutral"> </span>
|
|
1762
2186
|
<span class="cline-any cline-neutral"> </span>
|
|
1763
|
-
<span class="cline-any cline-yes">1x</span>
|
|
1764
2187
|
<span class="cline-any cline-neutral"> </span>
|
|
1765
2188
|
<span class="cline-any cline-neutral"> </span>
|
|
1766
2189
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -1809,67 +2232,146 @@
|
|
|
1809
2232
|
<span class="cline-any cline-neutral"> </span>
|
|
1810
2233
|
<span class="cline-any cline-neutral"> </span>
|
|
1811
2234
|
<span class="cline-any cline-neutral"> </span>
|
|
2235
|
+
<span class="cline-any cline-yes">13x</span>
|
|
2236
|
+
<span class="cline-any cline-yes">13x</span>
|
|
1812
2237
|
<span class="cline-any cline-neutral"> </span>
|
|
1813
2238
|
<span class="cline-any cline-neutral"> </span>
|
|
2239
|
+
<span class="cline-any cline-yes">13x</span>
|
|
2240
|
+
<span class="cline-any cline-yes">13x</span>
|
|
2241
|
+
<span class="cline-any cline-yes">13x</span>
|
|
2242
|
+
<span class="cline-any cline-yes">13x</span>
|
|
2243
|
+
<span class="cline-any cline-yes">13x</span>
|
|
2244
|
+
<span class="cline-any cline-yes">13x</span>
|
|
2245
|
+
<span class="cline-any cline-yes">13x</span>
|
|
1814
2246
|
<span class="cline-any cline-neutral"> </span>
|
|
2247
|
+
<span class="cline-any cline-yes">13x</span>
|
|
2248
|
+
<span class="cline-any cline-yes">8x</span>
|
|
2249
|
+
<span class="cline-any cline-yes">8x</span>
|
|
2250
|
+
<span class="cline-any cline-yes">8x</span>
|
|
2251
|
+
<span class="cline-any cline-yes">6x</span>
|
|
1815
2252
|
<span class="cline-any cline-neutral"> </span>
|
|
2253
|
+
<span class="cline-any cline-yes">6x</span>
|
|
2254
|
+
<span class="cline-any cline-yes">6x</span>
|
|
2255
|
+
<span class="cline-any cline-yes">6x</span>
|
|
2256
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1816
2257
|
<span class="cline-any cline-neutral"> </span>
|
|
1817
2258
|
<span class="cline-any cline-neutral"> </span>
|
|
1818
2259
|
<span class="cline-any cline-neutral"> </span>
|
|
2260
|
+
<span class="cline-any cline-yes">5x</span>
|
|
1819
2261
|
<span class="cline-any cline-neutral"> </span>
|
|
2262
|
+
<span class="cline-any cline-yes">5x</span>
|
|
1820
2263
|
<span class="cline-any cline-neutral"> </span>
|
|
2264
|
+
<span class="cline-any cline-yes">5x</span>
|
|
2265
|
+
<span class="cline-any cline-yes">5x</span>
|
|
2266
|
+
<span class="cline-any cline-yes">5x</span>
|
|
2267
|
+
<span class="cline-any cline-yes">5x</span>
|
|
1821
2268
|
<span class="cline-any cline-neutral"> </span>
|
|
2269
|
+
<span class="cline-any cline-yes">5x</span>
|
|
2270
|
+
<span class="cline-any cline-yes">5x</span>
|
|
2271
|
+
<span class="cline-any cline-yes">5x</span>
|
|
2272
|
+
<span class="cline-any cline-yes">2x</span>
|
|
2273
|
+
<span class="cline-any cline-yes">2x</span>
|
|
2274
|
+
<span class="cline-any cline-no"> </span>
|
|
2275
|
+
<span class="cline-any cline-no"> </span>
|
|
2276
|
+
<span class="cline-any cline-no"> </span>
|
|
2277
|
+
<span class="cline-any cline-no"> </span>
|
|
2278
|
+
<span class="cline-any cline-no"> </span>
|
|
2279
|
+
<span class="cline-any cline-no"> </span>
|
|
2280
|
+
<span class="cline-any cline-no"> </span>
|
|
1822
2281
|
<span class="cline-any cline-neutral"> </span>
|
|
2282
|
+
<span class="cline-any cline-no"> </span>
|
|
1823
2283
|
<span class="cline-any cline-neutral"> </span>
|
|
1824
2284
|
<span class="cline-any cline-neutral"> </span>
|
|
1825
2285
|
<span class="cline-any cline-neutral"> </span>
|
|
1826
2286
|
<span class="cline-any cline-neutral"> </span>
|
|
2287
|
+
<span class="cline-any cline-yes">7x</span>
|
|
1827
2288
|
<span class="cline-any cline-neutral"> </span>
|
|
1828
2289
|
<span class="cline-any cline-neutral"> </span>
|
|
1829
2290
|
<span class="cline-any cline-neutral"> </span>
|
|
2291
|
+
<span class="cline-any cline-yes">12x</span>
|
|
2292
|
+
<span class="cline-any cline-yes">12x</span>
|
|
2293
|
+
<span class="cline-any cline-yes">13x</span>
|
|
2294
|
+
<span class="cline-any cline-yes">13x</span>
|
|
2295
|
+
<span class="cline-any cline-yes">13x</span>
|
|
2296
|
+
<span class="cline-any cline-yes">12x</span>
|
|
2297
|
+
<span class="cline-any cline-yes">12x</span>
|
|
2298
|
+
<span class="cline-any cline-yes">12x</span>
|
|
2299
|
+
<span class="cline-any cline-yes">2x</span>
|
|
1830
2300
|
<span class="cline-any cline-neutral"> </span>
|
|
2301
|
+
<span class="cline-any cline-yes">12x</span>
|
|
2302
|
+
<span class="cline-any cline-yes">12x</span>
|
|
1831
2303
|
<span class="cline-any cline-neutral"> </span>
|
|
1832
2304
|
<span class="cline-any cline-neutral"> </span>
|
|
2305
|
+
<span class="cline-any cline-yes">12x</span>
|
|
2306
|
+
<span class="cline-any cline-yes">12x</span>
|
|
2307
|
+
<span class="cline-any cline-no"> </span>
|
|
2308
|
+
<span class="cline-any cline-no"> </span>
|
|
1833
2309
|
<span class="cline-any cline-neutral"> </span>
|
|
2310
|
+
<span class="cline-any cline-yes">12x</span>
|
|
2311
|
+
<span class="cline-any cline-no"> </span>
|
|
1834
2312
|
<span class="cline-any cline-neutral"> </span>
|
|
1835
2313
|
<span class="cline-any cline-neutral"> </span>
|
|
1836
2314
|
<span class="cline-any cline-neutral"> </span>
|
|
2315
|
+
<span class="cline-any cline-yes">12x</span>
|
|
2316
|
+
<span class="cline-any cline-yes">12x</span>
|
|
2317
|
+
<span class="cline-any cline-yes">12x</span>
|
|
2318
|
+
<span class="cline-any cline-yes">12x</span>
|
|
2319
|
+
<span class="cline-any cline-yes">12x</span>
|
|
2320
|
+
<span class="cline-any cline-yes">12x</span>
|
|
1837
2321
|
<span class="cline-any cline-neutral"> </span>
|
|
2322
|
+
<span class="cline-any cline-yes">12x</span>
|
|
2323
|
+
<span class="cline-any cline-yes">12x</span>
|
|
2324
|
+
<span class="cline-any cline-yes">7x</span>
|
|
1838
2325
|
<span class="cline-any cline-neutral"> </span>
|
|
2326
|
+
<span class="cline-any cline-yes">12x</span>
|
|
1839
2327
|
<span class="cline-any cline-neutral"> </span>
|
|
1840
2328
|
<span class="cline-any cline-neutral"> </span>
|
|
2329
|
+
<span class="cline-any cline-yes">12x</span>
|
|
2330
|
+
<span class="cline-any cline-yes">7x</span>
|
|
2331
|
+
<span class="cline-any cline-yes">7x</span>
|
|
2332
|
+
<span class="cline-any cline-yes">7x</span>
|
|
1841
2333
|
<span class="cline-any cline-neutral"> </span>
|
|
2334
|
+
<span class="cline-any cline-yes">7x</span>
|
|
2335
|
+
<span class="cline-any cline-yes">6x</span>
|
|
1842
2336
|
<span class="cline-any cline-neutral"> </span>
|
|
2337
|
+
<span class="cline-any cline-yes">7x</span>
|
|
1843
2338
|
<span class="cline-any cline-neutral"> </span>
|
|
2339
|
+
<span class="cline-any cline-yes">7x</span>
|
|
2340
|
+
<span class="cline-any cline-yes">7x</span>
|
|
2341
|
+
<span class="cline-any cline-yes">7x</span>
|
|
2342
|
+
<span class="cline-any cline-yes">7x</span>
|
|
2343
|
+
<span class="cline-any cline-yes">6x</span>
|
|
1844
2344
|
<span class="cline-any cline-neutral"> </span>
|
|
2345
|
+
<span class="cline-any cline-yes">7x</span>
|
|
1845
2346
|
<span class="cline-any cline-neutral"> </span>
|
|
1846
2347
|
<span class="cline-any cline-neutral"> </span>
|
|
2348
|
+
<span class="cline-any cline-yes">18x</span>
|
|
2349
|
+
<span class="cline-any cline-yes">7x</span>
|
|
2350
|
+
<span class="cline-any cline-yes">7x</span>
|
|
1847
2351
|
<span class="cline-any cline-neutral"> </span>
|
|
1848
2352
|
<span class="cline-any cline-neutral"> </span>
|
|
1849
|
-
<span class="cline-any cline-yes">4x</span>
|
|
1850
2353
|
<span class="cline-any cline-neutral"> </span>
|
|
1851
|
-
<span class="cline-any cline-yes">
|
|
1852
|
-
<span class="cline-any cline-yes">
|
|
1853
|
-
<span class="cline-any cline-yes">
|
|
1854
|
-
<span class="cline-any cline-yes">4x</span>
|
|
2354
|
+
<span class="cline-any cline-yes">12x</span>
|
|
2355
|
+
<span class="cline-any cline-yes">12x</span>
|
|
2356
|
+
<span class="cline-any cline-yes">7x</span>
|
|
1855
2357
|
<span class="cline-any cline-neutral"> </span>
|
|
1856
|
-
<span class="cline-any cline-yes">
|
|
2358
|
+
<span class="cline-any cline-yes">12x</span>
|
|
2359
|
+
<span class="cline-any cline-yes">6x</span>
|
|
1857
2360
|
<span class="cline-any cline-neutral"> </span>
|
|
1858
|
-
<span class="cline-any cline-yes">
|
|
1859
|
-
<span class="cline-any cline-yes">
|
|
1860
|
-
<span class="cline-any cline-yes">
|
|
2361
|
+
<span class="cline-any cline-yes">12x</span>
|
|
2362
|
+
<span class="cline-any cline-yes">12x</span>
|
|
2363
|
+
<span class="cline-any cline-yes">12x</span>
|
|
2364
|
+
<span class="cline-any cline-yes">12x</span>
|
|
2365
|
+
<span class="cline-any cline-yes">7x</span>
|
|
1861
2366
|
<span class="cline-any cline-neutral"> </span>
|
|
1862
|
-
<span class="cline-any cline-yes">
|
|
1863
|
-
<span class="cline-any cline-yes">
|
|
1864
|
-
<span class="cline-any cline-yes">4x</span>
|
|
1865
|
-
<span class="cline-any cline-yes">4x</span>
|
|
1866
|
-
<span class="cline-any cline-yes">4x</span>
|
|
2367
|
+
<span class="cline-any cline-yes">12x</span>
|
|
2368
|
+
<span class="cline-any cline-yes">6x</span>
|
|
1867
2369
|
<span class="cline-any cline-neutral"> </span>
|
|
1868
|
-
<span class="cline-any cline-yes">
|
|
1869
|
-
<span class="cline-any cline-yes">
|
|
1870
|
-
<span class="cline-any cline-yes">
|
|
2370
|
+
<span class="cline-any cline-yes">12x</span>
|
|
2371
|
+
<span class="cline-any cline-yes">12x</span>
|
|
2372
|
+
<span class="cline-any cline-yes">12x</span>
|
|
1871
2373
|
<span class="cline-any cline-neutral"> </span>
|
|
1872
|
-
<span class="cline-any cline-yes">
|
|
2374
|
+
<span class="cline-any cline-yes">12x</span>
|
|
1873
2375
|
<span class="cline-any cline-neutral"> </span>
|
|
1874
2376
|
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">import type { OpRootNode, OpRouteNode, OpOperationNode, OpRequestBodyNode, ContractTypeNode, ParamSource } from '@contractkit/core';
|
|
1875
2377
|
import { resolveModifiers, isJsonMime, classifyContentType } from '@contractkit/core';
|
|
@@ -1930,8 +2432,11 @@ function classifyBodyStrategy(op: OpOperationNode): BodyStrategy {
|
|
|
1930
2432
|
|
|
1931
2433
|
// ─── Public entry point ────────────────────────────────────────────────────
|
|
1932
2434
|
|
|
2435
|
+
/** Options shared by every SDK code-generation entry point. */
|
|
1933
2436
|
export interface SdkCodegenOptions {
|
|
2437
|
+
/** Template for type import paths when `modelOutPaths` is not provided. Supports `{module}` and `{base}`. */
|
|
1934
2438
|
typeImportPathTemplate?: string;
|
|
2439
|
+
/** Absolute path of the file currently being generated. Used to compute relative imports. */
|
|
1935
2440
|
outPath?: string;
|
|
1936
2441
|
/** Map from model name → absolute output file path (for cross-module type imports) */
|
|
1937
2442
|
modelOutPaths?: Map<string, string>;
|
|
@@ -1947,6 +2452,12 @@ export interface SdkCodegenOptions {
|
|
|
1947
2452
|
* to include them (e.g. for an internal-use SDK).
|
|
1948
2453
|
*/
|
|
1949
2454
|
includeInternal?: boolean;
|
|
2455
|
+
/**
|
|
2456
|
+
* Override the generated client class name. When omitted, falls back to
|
|
2457
|
+
* `deriveClientClassName(root.file)` (the legacy per-file name). The aggregator
|
|
2458
|
+
* uses this to emit `<Area><Subarea>Client` for area+subarea leaf files.
|
|
2459
|
+
*/
|
|
2460
|
+
clientClassName?: string;
|
|
1950
2461
|
}
|
|
1951
2462
|
|
|
1952
2463
|
/**
|
|
@@ -1963,12 +2474,18 @@ export function hasPublicOperations(root: OpRootNode, includeInternal = false):
|
|
|
1963
2474
|
return false;
|
|
1964
2475
|
}
|
|
1965
2476
|
|
|
2477
|
+
/**
|
|
2478
|
+
* Generate a complete `*.client.ts` file for one operation root: imports, the client class
|
|
2479
|
+
* declaration, and one method per public operation. Used for top-level (no-area) files and
|
|
2480
|
+
* for subarea-leaf files. Area-level files are NOT routed through this — their methods get
|
|
2481
|
+
* inlined into the SDK aggregator via {@link generateClientMethods} + {@link generateSdkAggregator}.
|
|
2482
|
+
*/
|
|
1966
2483
|
export function generateSdk(root: OpRootNode, options: SdkCodegenOptions = {}): string {
|
|
1967
2484
|
const lines: string[] = [];
|
|
1968
2485
|
const includeInternal = options.includeInternal ?? false;
|
|
1969
2486
|
|
|
1970
2487
|
const types = collectTypes(root, options.modelsWithInput, options.modelsWithOutput, includeInternal);
|
|
1971
|
-
const clientClassName = deriveClientClassName(root.file);
|
|
2488
|
+
const clientClassName = options.clientClassName ?? deriveClientClassName(root.file);
|
|
1972
2489
|
|
|
1973
2490
|
// Type-only imports
|
|
1974
2491
|
if (types.length > 0) {
|
|
@@ -1979,14 +2496,14 @@ export function generateSdk(root: OpRootNode, options: SdkCodegenOptions = {}):
|
|
|
1979
2496
|
if (options.sdkOptionsPath && options.outPath) {
|
|
1980
2497
|
let rel = relative(dirname(options.outPath), options.sdkOptionsPath);
|
|
1981
2498
|
rel = rel.replace(/\.ts$/, '.js');
|
|
1982
|
-
|
|
2499
|
+
if (!rel.startsWith('.')) rel = './' + rel;
|
|
1983
2500
|
const jsonImport = sdkNeedsJson(root, includeInternal) ? <span class="branch-0 cbranch-no" title="branch not covered" >', JsonValue' : '</span>';
|
|
1984
2501
|
lines.push(`import type { SdkFetch${jsonImport} } from '${rel}';`);
|
|
1985
2502
|
const valueImports: string[] = [];
|
|
1986
2503
|
<span class="missing-if-branch" title="if path not taken" >I</span>if (sdkNeedsBigIntReplacer(root, includeInternal)) <span class="cstat-no" title="statement not covered" >valueImports.push('bigIntReplacer');</span>
|
|
1987
|
-
|
|
2504
|
+
if (sdkNeedsBigIntReviver(root, includeInternal)) valueImports.push('parseJson');
|
|
1988
2505
|
<span class="missing-if-branch" title="if path not taken" >I</span>if (sdkNeedsQueryString(root, includeInternal)) <span class="cstat-no" title="statement not covered" >valueImports.push('buildQueryString');</span>
|
|
1989
|
-
|
|
2506
|
+
if (valueImports.length > 0) {
|
|
1990
2507
|
lines.push(`import { ${valueImports.join(', ')} } from '${rel}';`);
|
|
1991
2508
|
}
|
|
1992
2509
|
} else {
|
|
@@ -2080,6 +2597,35 @@ export function generateSdk(root: OpRootNode, options: SdkCodegenOptions = {}):
|
|
|
2080
2597
|
return lines.join('\n');
|
|
2081
2598
|
}
|
|
2082
2599
|
|
|
2600
|
+
/**
|
|
2601
|
+
* Render the method-block lines for an operation file as if they were declared inside a
|
|
2602
|
+
* client class. Returns one consolidated array of strings (each pre-indented for class body
|
|
2603
|
+
* level, with leading blank lines between methods) plus the set of method names emitted —
|
|
2604
|
+
* the caller uses the names to detect cross-file collisions when multiple files contribute
|
|
2605
|
+
* to the same area-level client.
|
|
2606
|
+
*
|
|
2607
|
+
* Skips operations marked `internal` unless `options.includeInternal` is set.
|
|
2608
|
+
*/
|
|
2609
|
+
export function generateClientMethods(
|
|
2610
|
+
root: OpRootNode,
|
|
2611
|
+
options: SdkCodegenOptions,
|
|
2612
|
+
): { lines: string[]; methodNames: string[] } {
|
|
2613
|
+
const lines: string[] = [];
|
|
2614
|
+
const methodNames: string[] = [];
|
|
2615
|
+
const includeInternal = options.includeInternal ?? false;
|
|
2616
|
+
for (const route of root.routes) {
|
|
2617
|
+
for (const op of route.operations) {
|
|
2618
|
+
const mods = resolveModifiers(route, op);
|
|
2619
|
+
<span class="missing-if-branch" title="if path not taken" >I</span>if (!includeInternal && mods.includes('internal')) <span class="cstat-no" title="statement not covered" >continue;</span>
|
|
2620
|
+
lines.push('');
|
|
2621
|
+
<span class="missing-if-branch" title="if path not taken" >I</span>if (mods.includes('deprecated')) <span class="cstat-no" title="statement not covered" >lines.push(' /** @deprecated */');</span>
|
|
2622
|
+
lines.push(...generateMethod(route, op, root.file, options));
|
|
2623
|
+
methodNames.push(deriveMethodName(op, route));
|
|
2624
|
+
}
|
|
2625
|
+
}
|
|
2626
|
+
return { lines, methodNames };
|
|
2627
|
+
}
|
|
2628
|
+
|
|
2083
2629
|
// ─── Method generation ────────────────────────────────────────────────────
|
|
2084
2630
|
|
|
2085
2631
|
function generateMethod(route: OpRouteNode, op: OpOperationNode, file: string, options: SdkCodegenOptions): string[] {
|
|
@@ -2388,15 +2934,59 @@ function deriveBaseName(file: string): string {
|
|
|
2388
2934
|
.join('');
|
|
2389
2935
|
}
|
|
2390
2936
|
|
|
2937
|
+
/** Derive a client class name from a `.ck` file path, e.g. `users.ck` → `UsersClient`. Used for legacy flat (no-area) files. */
|
|
2391
2938
|
export function deriveClientClassName(file: string): string {
|
|
2392
2939
|
return `${deriveBaseName(file)}Client`;
|
|
2393
2940
|
}
|
|
2394
2941
|
|
|
2942
|
+
/** Camel-cased property name for a flat client on the SDK aggregator, e.g. `users.ck` → `users`. */
|
|
2395
2943
|
export function deriveClientPropertyName(file: string): string {
|
|
2396
2944
|
const base = deriveBaseName(file);
|
|
2397
2945
|
return base.charAt(0).toLowerCase() + base.slice(1);
|
|
2398
2946
|
}
|
|
2399
2947
|
|
|
2948
|
+
/**
|
|
2949
|
+
* Pull `area` / `subarea` from a file's `root.meta` (set via `options { keys: { ... } }`).
|
|
2950
|
+
* Both are optional. `area` drives top-level SDK grouping; `subarea` drives nesting under
|
|
2951
|
+
* an area's client class.
|
|
2952
|
+
*/
|
|
2953
|
+
export function getAreaSubarea(root: OpRootNode): { area?: string; subarea?: string } {
|
|
2954
|
+
return { area: root.meta?.area, subarea: root.meta?.subarea };
|
|
2955
|
+
}
|
|
2956
|
+
|
|
2957
|
+
function pascal(value: string): string {
|
|
2958
|
+
return value
|
|
2959
|
+
.split(/[-_\s]+/)
|
|
2960
|
+
.filter(Boolean)
|
|
2961
|
+
.map(s => s.charAt(0).toUpperCase() + s.slice(1))
|
|
2962
|
+
.join('');
|
|
2963
|
+
}
|
|
2964
|
+
|
|
2965
|
+
function camel(value: string): string {
|
|
2966
|
+
const p = pascal(value);
|
|
2967
|
+
return p.charAt(0).toLowerCase() + p.slice(1);
|
|
2968
|
+
}
|
|
2969
|
+
|
|
2970
|
+
/** Class name for the area-level client, e.g. `area=identity` → `IdentityClient`. */
|
|
2971
|
+
export function deriveAreaClientClassName(area: string): string {
|
|
2972
|
+
return `${pascal(area)}Client`;
|
|
2973
|
+
}
|
|
2974
|
+
|
|
2975
|
+
/** Property name on the SDK aggregator for an area, e.g. `area=identity` → `identity`. */
|
|
2976
|
+
export function deriveAreaPropertyName(area: string): string {
|
|
2977
|
+
return camel(area);
|
|
2978
|
+
}
|
|
2979
|
+
|
|
2980
|
+
/** Class name for a leaf subarea client, e.g. `(identity, invitations)` → `IdentityInvitationsClient`. */
|
|
2981
|
+
export function deriveSubareaClientClassName(area: string, subarea: string): string {
|
|
2982
|
+
return `${pascal(area)}${pascal(subarea)}Client`;
|
|
2983
|
+
}
|
|
2984
|
+
|
|
2985
|
+
/** Property name on the area client for a subarea, e.g. `subarea=invitations` → `invitations`. */
|
|
2986
|
+
export function deriveSubareaPropertyName(subarea: string): string {
|
|
2987
|
+
return camel(subarea);
|
|
2988
|
+
}
|
|
2989
|
+
|
|
2400
2990
|
// ─── Type collection ──────────────────────────────────────────────────────
|
|
2401
2991
|
|
|
2402
2992
|
function collectTypes(root: OpRootNode, modelsWithInput?: Set<string>, modelsWithOutput?: Set<string>, includeInternal = false): string[] {
|
|
@@ -2537,9 +3127,9 @@ function sdkNeedsBigIntReviver(root: OpRootNode, includeInternal = false): boole
|
|
|
2537
3127
|
for (const route of root.routes) {
|
|
2538
3128
|
for (const op of route.operations) {
|
|
2539
3129
|
<span class="missing-if-branch" title="if path not taken" >I</span>if (!includeInternal && resolveModifiers(route, op).includes('internal')) <span class="cstat-no" title="statement not covered" >continue;</span>
|
|
2540
|
-
|
|
3130
|
+
if (
|
|
2541
3131
|
op.responses.some(r => {
|
|
2542
|
-
|
|
3132
|
+
if (!r.bodyType) return false;
|
|
2543
3133
|
// Only JSON-shaped responses use parseJson — text/binary read raw.
|
|
2544
3134
|
return !r.contentType || classifyContentType(r.contentType) === 'json';
|
|
2545
3135
|
})
|
|
@@ -2548,7 +3138,7 @@ function sdkNeedsBigIntReviver(root: OpRootNode, includeInternal = false): boole
|
|
|
2548
3138
|
}
|
|
2549
3139
|
}
|
|
2550
3140
|
}
|
|
2551
|
-
|
|
3141
|
+
return false;
|
|
2552
3142
|
}
|
|
2553
3143
|
|
|
2554
3144
|
function sdkNeedsJson(root: OpRootNode, includeInternal = false): boolean {
|
|
@@ -2742,31 +3332,194 @@ export function generateSdkOptions(): string {
|
|
|
2742
3332
|
].join('\n');
|
|
2743
3333
|
}
|
|
2744
3334
|
|
|
3335
|
+
/**
|
|
3336
|
+
* Reference to a per-file leaf client emitted to its own `*.client.ts`. Used by the
|
|
3337
|
+
* aggregator to import the class and wire it as either a top-level `sdk.<prop>` or a
|
|
3338
|
+
* nested `sdk.<area>.<subarea>` property.
|
|
3339
|
+
*/
|
|
2745
3340
|
export interface SdkClientInfo {
|
|
3341
|
+
/** Client class name (e.g. `UsersClient`, `IdentityInvitationsClient`). */
|
|
2746
3342
|
className: string;
|
|
3343
|
+
/** Property name to expose this client under (e.g. `users`, `invitations`). */
|
|
2747
3344
|
propertyName: string;
|
|
3345
|
+
/** Module specifier for the leaf file, relative to `sdk.ts` and `.js`-suffixed. */
|
|
2748
3346
|
importPath: string;
|
|
2749
3347
|
}
|
|
2750
3348
|
|
|
2751
|
-
/**
|
|
2752
|
-
|
|
2753
|
-
|
|
3349
|
+
/**
|
|
3350
|
+
* One area-level (no-subarea) `.ck` file whose methods are inlined directly into the
|
|
3351
|
+
* generated `<Area>Client` class instead of getting a standalone `*.client.ts`.
|
|
3352
|
+
*/
|
|
3353
|
+
export interface SdkAreaInlineFile {
|
|
3354
|
+
/** Parsed AST. */
|
|
3355
|
+
root: OpRootNode;
|
|
3356
|
+
/** Codegen options for this file (must have `outPath` pointing at the SDK aggregator file so type-import paths resolve correctly). */
|
|
3357
|
+
codegenOptions: SdkCodegenOptions;
|
|
3358
|
+
}
|
|
3359
|
+
|
|
3360
|
+
/** A grouping of files that share the same `keys.area`. */
|
|
3361
|
+
export interface SdkAreaInfo {
|
|
3362
|
+
area: string;
|
|
3363
|
+
/** Files for which all methods are inlined into the area client (no subarea). */
|
|
3364
|
+
inlineFiles: SdkAreaInlineFile[];
|
|
3365
|
+
/** Per-file leaf clients exposed as named properties on the area client. */
|
|
3366
|
+
subareaClients: { propertyName: string; client: SdkClientInfo }[];
|
|
3367
|
+
}
|
|
3368
|
+
|
|
3369
|
+
export interface SdkAggregatorInput {
|
|
3370
|
+
/** Files with no `keys.area` — kept as flat `Sdk.<filename>` properties (legacy behavior). */
|
|
3371
|
+
topLevelClients: SdkClientInfo[];
|
|
3372
|
+
/** One entry per `keys.area`. */
|
|
3373
|
+
areas: SdkAreaInfo[];
|
|
3374
|
+
/** Path to `sdk-options.ts` to import `SdkOptions`/`createSdkFetch`/etc. from. */
|
|
3375
|
+
sdkOptionsImportPath?: string;
|
|
3376
|
+
/** Name of the top-level aggregator class. Defaults to `Sdk`. */
|
|
3377
|
+
sdkClassName?: string;
|
|
3378
|
+
}
|
|
3379
|
+
|
|
3380
|
+
/**
|
|
3381
|
+
* Generate the SDK aggregator (`sdk.ts`) — the entry-point file consumers import.
|
|
3382
|
+
*
|
|
3383
|
+
* Emits one `<Area>Client` class per area (combining inlined area-level methods with
|
|
3384
|
+
* subarea property wiring), one `class Sdk` exposing area properties + flat top-level
|
|
3385
|
+
* properties, plus all imports needed by the inlined methods.
|
|
3386
|
+
*
|
|
3387
|
+
* @throws if two area-level files in the same area produce the same method name.
|
|
3388
|
+
*/
|
|
3389
|
+
export function generateSdkAggregator(input: SdkAggregatorInput): string {
|
|
3390
|
+
const sdkOptionsImportPath = input.sdkOptionsImportPath ?? './sdk-options.js';
|
|
3391
|
+
const sdkClassName = input.sdkClassName ?? 'Sdk';
|
|
3392
|
+
|
|
3393
|
+
// ── Pre-render inline method blocks per area (also collects type/runtime needs) ──
|
|
3394
|
+
const inlinedByArea = new Map<string, { lines: string[]; methodNames: Set<string> }>();
|
|
3395
|
+
const typesByImportPath = new Map<string, Set<string>>(); // path → set of type names
|
|
3396
|
+
const unresolvedTypes = new Set<string>();
|
|
3397
|
+
let needsJson = false;
|
|
3398
|
+
let needsBigIntReplacer = false;
|
|
3399
|
+
let needsBigIntReviver = false;
|
|
3400
|
+
let needsQueryString = false;
|
|
3401
|
+
|
|
3402
|
+
for (const area of input.areas) {
|
|
3403
|
+
const collected: string[] = [];
|
|
3404
|
+
const seenMethods = new Set<string>();
|
|
3405
|
+
for (const inline of area.inlineFiles) {
|
|
3406
|
+
const includeInternal = inline.codegenOptions.includeInternal ?? false;
|
|
3407
|
+
// Collect method names + source lines
|
|
3408
|
+
const { lines: methodLines, methodNames } = generateClientMethods(inline.root, inline.codegenOptions);
|
|
3409
|
+
for (const name of methodNames) {
|
|
3410
|
+
if (seenMethods.has(name)) {
|
|
3411
|
+
throw new Error(
|
|
3412
|
+
`[sdk] duplicate method '${name}' in area '${area.area}': two area-level files contribute the same method. Disambiguate via 'sdk:' or move one into a subarea.`,
|
|
3413
|
+
);
|
|
3414
|
+
}
|
|
3415
|
+
seenMethods.add(name);
|
|
3416
|
+
}
|
|
3417
|
+
collected.push(...methodLines);
|
|
3418
|
+
// Side info for imports
|
|
3419
|
+
<span class="missing-if-branch" title="if path not taken" >I</span>if (sdkNeedsJson(inline.root, includeInternal)) <span class="cstat-no" title="statement not covered" >needsJson = true;</span>
|
|
3420
|
+
<span class="missing-if-branch" title="if path not taken" >I</span>if (sdkNeedsBigIntReplacer(inline.root, includeInternal)) <span class="cstat-no" title="statement not covered" >needsBigIntReplacer = true;</span>
|
|
3421
|
+
if (sdkNeedsBigIntReviver(inline.root, includeInternal)) needsBigIntReviver = true;
|
|
3422
|
+
<span class="missing-if-branch" title="if path not taken" >I</span>if (sdkNeedsQueryString(inline.root, includeInternal)) <span class="cstat-no" title="statement not covered" >needsQueryString = true;</span>
|
|
3423
|
+
// Type imports: rebuild what generateTypeImports would produce, but key by import path so multiple files merge
|
|
3424
|
+
const typesForFile = collectTypes(inline.root, inline.codegenOptions.modelsWithInput, inline.codegenOptions.modelsWithOutput, includeInternal);
|
|
3425
|
+
const { modelOutPaths, outPath } = inline.codegenOptions;
|
|
3426
|
+
if (modelOutPaths && outPath) {
|
|
3427
|
+
const fromDir = dirname(outPath);
|
|
3428
|
+
for (const t of typesForFile) {
|
|
3429
|
+
const typeOutPath = <span class="cstat-no" title="statement not covered" >modelOutPaths.get(t);</span>
|
|
3430
|
+
<span class="cstat-no" title="statement not covered" > if (typeOutPath) {</span>
|
|
3431
|
+
let <span class="cstat-no" title="statement not covered" >rel = relative(fromDir, typeOutPath).replace(/\.ts$/, '.js');</span>
|
|
3432
|
+
<span class="cstat-no" title="statement not covered" > if (!rel.startsWith('.')) <span class="cstat-no" title="statement not covered" >rel = './' + rel;</span></span>
|
|
3433
|
+
const set = <span class="cstat-no" title="statement not covered" >typesByImportPath.get(rel) ?? new Set();</span>
|
|
3434
|
+
<span class="cstat-no" title="statement not covered" > set.add(t);</span>
|
|
3435
|
+
<span class="cstat-no" title="statement not covered" > typesByImportPath.set(rel, set);</span>
|
|
3436
|
+
} else {
|
|
3437
|
+
<span class="cstat-no" title="statement not covered" > unresolvedTypes.add(t);</span>
|
|
3438
|
+
}
|
|
3439
|
+
}
|
|
3440
|
+
}
|
|
3441
|
+
}
|
|
3442
|
+
inlinedByArea.set(area.area, { lines: collected, methodNames: seenMethods });
|
|
3443
|
+
}
|
|
2754
3444
|
|
|
3445
|
+
// ── Imports ──
|
|
3446
|
+
const lines: string[] = [];
|
|
3447
|
+
const jsonImport = needsJson ? <span class="branch-0 cbranch-no" title="branch not covered" >', JsonValue' : '</span>';
|
|
3448
|
+
lines.push(`import type { SdkFetch${jsonImport} } from '${sdkOptionsImportPath}';`);
|
|
3449
|
+
const valueImports: string[] = [];
|
|
3450
|
+
<span class="missing-if-branch" title="if path not taken" >I</span>if (needsBigIntReplacer) <span class="cstat-no" title="statement not covered" >valueImports.push('bigIntReplacer');</span>
|
|
3451
|
+
if (needsBigIntReviver) valueImports.push('parseJson');
|
|
3452
|
+
<span class="missing-if-branch" title="if path not taken" >I</span>if (needsQueryString) valueImports.push('buildQueryString');
|
|
3453
|
+
if (valueImports.length > 0) {
|
|
3454
|
+
lines.push(`import { ${valueImports.join(', ')} } from '${sdkOptionsImportPath}';`);
|
|
3455
|
+
}
|
|
2755
3456
|
lines.push(`import type { SdkOptions } from '${sdkOptionsImportPath}';`);
|
|
2756
3457
|
lines.push(`import { createSdkFetch } from '${sdkOptionsImportPath}';`);
|
|
2757
|
-
|
|
3458
|
+
|
|
3459
|
+
// Type imports inlined from area-level files
|
|
3460
|
+
const typeImportPaths = [...typesByImportPath.keys()].sort();
|
|
3461
|
+
for (const path of typeImportPaths) {
|
|
3462
|
+
const names = <span class="cstat-no" title="statement not covered" >[...typesByImportPath.get(path)!].sort();</span>
|
|
3463
|
+
<span class="cstat-no" title="statement not covered" > lines.push(`import type { ${names.join(', ')} } from '${path}';`);</span>
|
|
3464
|
+
}
|
|
3465
|
+
for (const t of [...unresolvedTypes].sort()) {
|
|
3466
|
+
<span class="cstat-no" title="statement not covered" > lines.push(`import type { ${t} } from './${pascalToDotCase(t)}.js';`);</span>
|
|
3467
|
+
}
|
|
3468
|
+
|
|
3469
|
+
// Leaf client imports (top-level + subarea)
|
|
3470
|
+
const importedClients = new Set<string>();
|
|
3471
|
+
const pushClientImport = (c: SdkClientInfo): void => {
|
|
3472
|
+
const key = `${c.className}|${c.importPath}`;
|
|
3473
|
+
<span class="missing-if-branch" title="if path not taken" >I</span>if (importedClients.has(key)) <span class="cstat-no" title="statement not covered" >return;</span>
|
|
3474
|
+
importedClients.add(key);
|
|
2758
3475
|
lines.push(`import { ${c.className} } from '${c.importPath}';`);
|
|
3476
|
+
};
|
|
3477
|
+
for (const c of input.topLevelClients) pushClientImport(c);
|
|
3478
|
+
for (const area of input.areas) {
|
|
3479
|
+
for (const sc of area.subareaClients) pushClientImport(sc.client);
|
|
2759
3480
|
}
|
|
2760
3481
|
lines.push('');
|
|
2761
3482
|
|
|
3483
|
+
// ── <Area>Client classes ──
|
|
3484
|
+
for (const area of input.areas) {
|
|
3485
|
+
const areaClassName = deriveAreaClientClassName(area.area);
|
|
3486
|
+
const inlined = inlinedByArea.get(area.area)!;
|
|
3487
|
+
lines.push(`class ${areaClassName} {`);
|
|
3488
|
+
// Subarea property declarations
|
|
3489
|
+
for (const sc of area.subareaClients) {
|
|
3490
|
+
lines.push(` readonly ${sc.propertyName}: ${sc.client.className};`);
|
|
3491
|
+
}
|
|
3492
|
+
if (area.subareaClients.length > 0) lines.push('');
|
|
3493
|
+
// Constructor
|
|
3494
|
+
<span class="missing-if-branch" title="else path not taken" >E</span>if (inlined.lines.length > 0 || area.subareaClients.length > 0) {
|
|
3495
|
+
const fetchModifier = inlined.lines.length > 0 ? 'private ' : '';
|
|
3496
|
+
lines.push(` constructor(${fetchModifier}fetch: SdkFetch) {`);
|
|
3497
|
+
for (const sc of area.subareaClients) {
|
|
3498
|
+
lines.push(` this.${sc.propertyName} = new ${sc.client.className}(fetch);`);
|
|
3499
|
+
}
|
|
3500
|
+
lines.push(' }');
|
|
3501
|
+
}
|
|
3502
|
+
// Inlined methods (already class-body indented)
|
|
3503
|
+
for (const ln of inlined.lines) lines.push(ln);
|
|
3504
|
+
lines.push('}');
|
|
3505
|
+
lines.push('');
|
|
3506
|
+
}
|
|
3507
|
+
|
|
3508
|
+
// ── Sdk aggregator ──
|
|
2762
3509
|
lines.push(`export class ${sdkClassName} {`);
|
|
2763
|
-
for (const
|
|
3510
|
+
for (const area of input.areas) {
|
|
3511
|
+
lines.push(` readonly ${deriveAreaPropertyName(area.area)}: ${deriveAreaClientClassName(area.area)};`);
|
|
3512
|
+
}
|
|
3513
|
+
for (const c of input.topLevelClients) {
|
|
2764
3514
|
lines.push(` readonly ${c.propertyName}: ${c.className};`);
|
|
2765
3515
|
}
|
|
2766
3516
|
lines.push('');
|
|
2767
3517
|
lines.push(' constructor(options: SdkOptions) {');
|
|
2768
3518
|
lines.push(' const sdkFetch = options.fetch ?? createSdkFetch(options);');
|
|
2769
|
-
for (const
|
|
3519
|
+
for (const area of input.areas) {
|
|
3520
|
+
lines.push(` this.${deriveAreaPropertyName(area.area)} = new ${deriveAreaClientClassName(area.area)}(sdkFetch);`);
|
|
3521
|
+
}
|
|
3522
|
+
for (const c of input.topLevelClients) {
|
|
2770
3523
|
lines.push(` this.${c.propertyName} = new ${c.className}(sdkFetch);`);
|
|
2771
3524
|
}
|
|
2772
3525
|
lines.push(' }');
|
|
@@ -2782,7 +3535,7 @@ export function generateSdkAggregator(clients: SdkClientInfo[], sdkOptionsImport
|
|
|
2782
3535
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
2783
3536
|
Code coverage generated by
|
|
2784
3537
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
2785
|
-
at 2026-05-
|
|
3538
|
+
at 2026-05-06T16:22:17.029Z
|
|
2786
3539
|
</div>
|
|
2787
3540
|
<script src="../prettify.js"></script>
|
|
2788
3541
|
<script>
|