@chat21/chat21-web-widget 5.0.46-rc.3 → 5.0.46-rc.4

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.
Files changed (161) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/dist/assets/twp/index-dev.html +16 -0
  3. package/dist/environments/real_data/widget-config-docker.json +1 -0
  4. package/dist/environments/real_data/widget-config-firebase.json +2 -2
  5. package/dist/environments/real_data/widget-config-native-mqtt.json +1 -0
  6. package/dist/main.js +1 -1
  7. package/dist/vendor.js +1 -1
  8. package/e2e/protractor.conf.js +32 -0
  9. package/package.json +1 -1
  10. package/src/app/component/conversation-detail/conversation-preview/conversation-preview.component.scss +13 -8
  11. package/src/app/utils/globals.ts +47 -26
  12. package/src/assets/twp/index-dev.html +16 -0
  13. package/src/environments/real_data/widget-config-docker.json +1 -0
  14. package/src/environments/real_data/widget-config-firebase.json +2 -2
  15. package/src/environments/real_data/widget-config-native-mqtt.json +1 -0
  16. package/coverage/widget/base.css +0 -224
  17. package/coverage/widget/block-navigation.js +0 -87
  18. package/coverage/widget/favicon.png +0 -0
  19. package/coverage/widget/index.html +0 -881
  20. package/coverage/widget/lcov.info +0 -10516
  21. package/coverage/widget/polyfills.ts.html +0 -277
  22. package/coverage/widget/prettify.css +0 -1
  23. package/coverage/widget/prettify.js +0 -2
  24. package/coverage/widget/sort-arrow-sprite.png +0 -0
  25. package/coverage/widget/sorter.js +0 -196
  26. package/coverage/widget/src/app/app.component.ts.html +0 -6328
  27. package/coverage/widget/src/app/component/conversation-detail/conversation/conversation.component.ts.html +0 -3871
  28. package/coverage/widget/src/app/component/conversation-detail/conversation/index.html +0 -116
  29. package/coverage/widget/src/app/component/conversation-detail/conversation-content/conversation-content.component.ts.html +0 -925
  30. package/coverage/widget/src/app/component/conversation-detail/conversation-content/index.html +0 -116
  31. package/coverage/widget/src/app/component/conversation-detail/conversation-footer/conversation-footer.component.ts.html +0 -1816
  32. package/coverage/widget/src/app/component/conversation-detail/conversation-footer/index.html +0 -116
  33. package/coverage/widget/src/app/component/conversation-detail/conversation-header/conversation-header.component.ts.html +0 -811
  34. package/coverage/widget/src/app/component/conversation-detail/conversation-header/index.html +0 -116
  35. package/coverage/widget/src/app/component/conversation-detail/conversation-internal-frame/conversation-internal-frame.component.ts.html +0 -397
  36. package/coverage/widget/src/app/component/conversation-detail/conversation-internal-frame/index.html +0 -116
  37. package/coverage/widget/src/app/component/conversation-detail/conversation-preview/conversation-preview.component.ts.html +0 -991
  38. package/coverage/widget/src/app/component/conversation-detail/conversation-preview/index.html +0 -116
  39. package/coverage/widget/src/app/component/eyeeye-catcher-card/eyeeye-catcher-card.component.ts.html +0 -586
  40. package/coverage/widget/src/app/component/eyeeye-catcher-card/index.html +0 -116
  41. package/coverage/widget/src/app/component/form/form-builder/form-builder.component.ts.html +0 -664
  42. package/coverage/widget/src/app/component/form/form-builder/index.html +0 -116
  43. package/coverage/widget/src/app/component/form/inputs/form-checkbox/form-checkbox.component.ts.html +0 -208
  44. package/coverage/widget/src/app/component/form/inputs/form-checkbox/index.html +0 -116
  45. package/coverage/widget/src/app/component/form/inputs/form-label/form-label.component.ts.html +0 -157
  46. package/coverage/widget/src/app/component/form/inputs/form-label/index.html +0 -116
  47. package/coverage/widget/src/app/component/form/inputs/form-radio-button/form-radio-button.component.ts.html +0 -130
  48. package/coverage/widget/src/app/component/form/inputs/form-radio-button/index.html +0 -116
  49. package/coverage/widget/src/app/component/form/inputs/form-select/form-select.component.ts.html +0 -130
  50. package/coverage/widget/src/app/component/form/inputs/form-select/index.html +0 -116
  51. package/coverage/widget/src/app/component/form/inputs/form-text/form-text.component.ts.html +0 -301
  52. package/coverage/widget/src/app/component/form/inputs/form-text/index.html +0 -116
  53. package/coverage/widget/src/app/component/form/inputs/form-textarea/form-textarea.component.ts.html +0 -358
  54. package/coverage/widget/src/app/component/form/inputs/form-textarea/index.html +0 -116
  55. package/coverage/widget/src/app/component/form/prechat-form/index.html +0 -116
  56. package/coverage/widget/src/app/component/form/prechat-form/prechat-form.component.ts.html +0 -565
  57. package/coverage/widget/src/app/component/home/home.component.ts.html +0 -559
  58. package/coverage/widget/src/app/component/home/index.html +0 -116
  59. package/coverage/widget/src/app/component/home-conversations/home-conversations.component.ts.html +0 -985
  60. package/coverage/widget/src/app/component/home-conversations/index.html +0 -116
  61. package/coverage/widget/src/app/component/last-message/index.html +0 -116
  62. package/coverage/widget/src/app/component/last-message/last-message.component.ts.html +0 -484
  63. package/coverage/widget/src/app/component/launcher-button/index.html +0 -116
  64. package/coverage/widget/src/app/component/launcher-button/launcher-button.component.ts.html +0 -307
  65. package/coverage/widget/src/app/component/list-all-conversations/index.html +0 -116
  66. package/coverage/widget/src/app/component/list-all-conversations/list-all-conversations.component.ts.html +0 -676
  67. package/coverage/widget/src/app/component/list-conversations/index.html +0 -116
  68. package/coverage/widget/src/app/component/list-conversations/list-conversations.component.ts.html +0 -475
  69. package/coverage/widget/src/app/component/menu-options/index.html +0 -116
  70. package/coverage/widget/src/app/component/menu-options/menu-options.component.ts.html +0 -226
  71. package/coverage/widget/src/app/component/message/avatar/avatar.component.ts.html +0 -271
  72. package/coverage/widget/src/app/component/message/avatar/index.html +0 -116
  73. package/coverage/widget/src/app/component/message/bubble-message/bubble-message.component.ts.html +0 -655
  74. package/coverage/widget/src/app/component/message/bubble-message/index.html +0 -116
  75. package/coverage/widget/src/app/component/message/buttons/action-button/action-button.component.ts.html +0 -274
  76. package/coverage/widget/src/app/component/message/buttons/action-button/index.html +0 -116
  77. package/coverage/widget/src/app/component/message/buttons/link-button/index.html +0 -116
  78. package/coverage/widget/src/app/component/message/buttons/link-button/link-button.component.ts.html +0 -232
  79. package/coverage/widget/src/app/component/message/buttons/text-button/index.html +0 -116
  80. package/coverage/widget/src/app/component/message/buttons/text-button/text-button.component.ts.html +0 -235
  81. package/coverage/widget/src/app/component/message/frame/frame.component.ts.html +0 -199
  82. package/coverage/widget/src/app/component/message/frame/index.html +0 -116
  83. package/coverage/widget/src/app/component/message/html/html.component.ts.html +0 -184
  84. package/coverage/widget/src/app/component/message/html/index.html +0 -116
  85. package/coverage/widget/src/app/component/message/image/image.component.ts.html +0 -394
  86. package/coverage/widget/src/app/component/message/image/index.html +0 -116
  87. package/coverage/widget/src/app/component/message/info-message/index.html +0 -116
  88. package/coverage/widget/src/app/component/message/info-message/info-message.component.ts.html +0 -211
  89. package/coverage/widget/src/app/component/message/like-unlike/index.html +0 -116
  90. package/coverage/widget/src/app/component/message/like-unlike/like-unlike.component.ts.html +0 -151
  91. package/coverage/widget/src/app/component/message/return-receipt/index.html +0 -116
  92. package/coverage/widget/src/app/component/message/return-receipt/return-receipt.component.ts.html +0 -157
  93. package/coverage/widget/src/app/component/message/text/index.html +0 -116
  94. package/coverage/widget/src/app/component/message/text/text.component.ts.html +0 -190
  95. package/coverage/widget/src/app/component/message-attachment/index.html +0 -116
  96. package/coverage/widget/src/app/component/message-attachment/message-attachment.component.ts.html +0 -343
  97. package/coverage/widget/src/app/component/selection-department/index.html +0 -116
  98. package/coverage/widget/src/app/component/selection-department/selection-department.component.ts.html +0 -676
  99. package/coverage/widget/src/app/component/send-button/index.html +0 -116
  100. package/coverage/widget/src/app/component/send-button/send-button.component.ts.html +0 -154
  101. package/coverage/widget/src/app/component/star-rating-widget/index.html +0 -116
  102. package/coverage/widget/src/app/component/star-rating-widget/star-rating-widget.component.ts.html +0 -451
  103. package/coverage/widget/src/app/directives/html-entities-encode.pipe.ts.html +0 -136
  104. package/coverage/widget/src/app/directives/index.html +0 -146
  105. package/coverage/widget/src/app/directives/marked.pipe.ts.html +0 -166
  106. package/coverage/widget/src/app/directives/safe-html.pipe.ts.html +0 -136
  107. package/coverage/widget/src/app/index.html +0 -116
  108. package/coverage/widget/src/app/providers/app-config.service.ts.html +0 -247
  109. package/coverage/widget/src/app/providers/global-settings.service.ts.html +0 -5698
  110. package/coverage/widget/src/app/providers/index.html +0 -206
  111. package/coverage/widget/src/app/providers/settings-saver.service.ts.html +0 -253
  112. package/coverage/widget/src/app/providers/star-rating-widget.service.ts.html +0 -385
  113. package/coverage/widget/src/app/providers/storage.service.ts.html +0 -745
  114. package/coverage/widget/src/app/providers/translator.service.ts.html +0 -1498
  115. package/coverage/widget/src/app/providers/waiting.service.ts.html +0 -178
  116. package/coverage/widget/src/app/utils/constants.ts.html +0 -304
  117. package/coverage/widget/src/app/utils/globals.ts.html +0 -1939
  118. package/coverage/widget/src/app/utils/index.html +0 -146
  119. package/coverage/widget/src/app/utils/utils.ts.html +0 -1240
  120. package/coverage/widget/src/chat21-core/models/conversation.ts.html +0 -160
  121. package/coverage/widget/src/chat21-core/models/index.html +0 -146
  122. package/coverage/widget/src/chat21-core/models/upload.ts.html +0 -118
  123. package/coverage/widget/src/chat21-core/models/user.ts.html +0 -133
  124. package/coverage/widget/src/chat21-core/providers/abstract/app-storage.service.ts.html +0 -142
  125. package/coverage/widget/src/chat21-core/providers/abstract/archivedconversations-handler.service.ts.html +0 -184
  126. package/coverage/widget/src/chat21-core/providers/abstract/conversation-handler-builder.service.ts.html +0 -121
  127. package/coverage/widget/src/chat21-core/providers/abstract/conversation-handler.service.ts.html +0 -235
  128. package/coverage/widget/src/chat21-core/providers/abstract/conversations-handler.service.ts.html +0 -208
  129. package/coverage/widget/src/chat21-core/providers/abstract/groups-handler.service.ts.html +0 -160
  130. package/coverage/widget/src/chat21-core/providers/abstract/image-repo.service.ts.html +0 -169
  131. package/coverage/widget/src/chat21-core/providers/abstract/index.html +0 -296
  132. package/coverage/widget/src/chat21-core/providers/abstract/logger.service.ts.html +0 -136
  133. package/coverage/widget/src/chat21-core/providers/abstract/messagingAuth.service.ts.html +0 -238
  134. package/coverage/widget/src/chat21-core/providers/abstract/notifications.service.ts.html +0 -172
  135. package/coverage/widget/src/chat21-core/providers/abstract/presence.service.ts.html +0 -190
  136. package/coverage/widget/src/chat21-core/providers/abstract/typing.service.ts.html +0 -187
  137. package/coverage/widget/src/chat21-core/providers/abstract/upload.service.ts.html +0 -178
  138. package/coverage/widget/src/chat21-core/providers/chat-manager.ts.html +0 -895
  139. package/coverage/widget/src/chat21-core/providers/custom-translate.service.ts.html +0 -223
  140. package/coverage/widget/src/chat21-core/providers/index.html +0 -131
  141. package/coverage/widget/src/chat21-core/providers/logger/customLogger.ts.html +0 -265
  142. package/coverage/widget/src/chat21-core/providers/logger/index.html +0 -131
  143. package/coverage/widget/src/chat21-core/providers/logger/loggerInstance.ts.html +0 -142
  144. package/coverage/widget/src/chat21-core/providers/tiledesk/index.html +0 -131
  145. package/coverage/widget/src/chat21-core/providers/tiledesk/tiledesk-auth.service.ts.html +0 -655
  146. package/coverage/widget/src/chat21-core/providers/tiledesk/tiledesk-requests.service.ts.html +0 -241
  147. package/coverage/widget/src/chat21-core/utils/constants.ts.html +0 -409
  148. package/coverage/widget/src/chat21-core/utils/index.html +0 -176
  149. package/coverage/widget/src/chat21-core/utils/triggerHandler.ts.html +0 -1069
  150. package/coverage/widget/src/chat21-core/utils/user-typing/index.html +0 -116
  151. package/coverage/widget/src/chat21-core/utils/user-typing/user-typing.component.ts.html +0 -184
  152. package/coverage/widget/src/chat21-core/utils/utils-message.ts.html +0 -637
  153. package/coverage/widget/src/chat21-core/utils/utils-user.ts.html +0 -229
  154. package/coverage/widget/src/chat21-core/utils/utils.ts.html +0 -2221
  155. package/coverage/widget/src/environments/environment.ts.html +0 -205
  156. package/coverage/widget/src/environments/index.html +0 -116
  157. package/coverage/widget/src/index.html +0 -131
  158. package/coverage/widget/src/models/index.html +0 -116
  159. package/coverage/widget/src/models/project.ts.html +0 -319
  160. package/coverage/widget/src/polyfills.ts.html +0 -277
  161. package/coverage/widget/src/test.ts.html +0 -142
@@ -1,1498 +0,0 @@
1
-
2
- <!doctype html>
3
- <html lang="en">
4
-
5
- <head>
6
- <title>Code coverage report for src/app/providers/translator.service.ts</title>
7
- <meta charset="utf-8" />
8
- <link rel="stylesheet" href="../../../prettify.css" />
9
- <link rel="stylesheet" href="../../../base.css" />
10
- <link rel="shortcut icon" type="image/x-icon" href="../../../favicon.png" />
11
- <meta name="viewport" content="width=device-width, initial-scale=1" />
12
- <style type='text/css'>
13
- .coverage-summary .sorter {
14
- background-image: url(../../../sort-arrow-sprite.png);
15
- }
16
- </style>
17
- </head>
18
-
19
- <body>
20
- <div class='wrapper'>
21
- <div class='pad1'>
22
- <h1><a href="../../../index.html">All files</a> / <a href="index.html">src/app/providers</a> translator.service.ts</h1>
23
- <div class='clearfix'>
24
-
25
- <div class='fl pad1y space-right2'>
26
- <span class="strong">12.5% </span>
27
- <span class="quiet">Statements</span>
28
- <span class='fraction'>17/136</span>
29
- </div>
30
-
31
-
32
- <div class='fl pad1y space-right2'>
33
- <span class="strong">14.81% </span>
34
- <span class="quiet">Branches</span>
35
- <span class='fraction'>4/27</span>
36
- </div>
37
-
38
-
39
- <div class='fl pad1y space-right2'>
40
- <span class="strong">4.76% </span>
41
- <span class="quiet">Functions</span>
42
- <span class='fraction'>1/21</span>
43
- </div>
44
-
45
-
46
- <div class='fl pad1y space-right2'>
47
- <span class="strong">12.78% </span>
48
- <span class="quiet">Lines</span>
49
- <span class='fraction'>17/133</span>
50
- </div>
51
-
52
-
53
- </div>
54
- <p class="quiet">
55
- Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
56
- </p>
57
- <template id="filterTemplate">
58
- <div class="quiet">
59
- Filter:
60
- <input oninput="onInput()" type="search" id="fileSearch">
61
- </div>
62
- </template>
63
- </div>
64
- <div class='status-line low'></div>
65
- <pre><table class="coverage">
66
- <tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
67
- <a name='L2'></a><a href='#L2'>2</a>
68
- <a name='L3'></a><a href='#L3'>3</a>
69
- <a name='L4'></a><a href='#L4'>4</a>
70
- <a name='L5'></a><a href='#L5'>5</a>
71
- <a name='L6'></a><a href='#L6'>6</a>
72
- <a name='L7'></a><a href='#L7'>7</a>
73
- <a name='L8'></a><a href='#L8'>8</a>
74
- <a name='L9'></a><a href='#L9'>9</a>
75
- <a name='L10'></a><a href='#L10'>10</a>
76
- <a name='L11'></a><a href='#L11'>11</a>
77
- <a name='L12'></a><a href='#L12'>12</a>
78
- <a name='L13'></a><a href='#L13'>13</a>
79
- <a name='L14'></a><a href='#L14'>14</a>
80
- <a name='L15'></a><a href='#L15'>15</a>
81
- <a name='L16'></a><a href='#L16'>16</a>
82
- <a name='L17'></a><a href='#L17'>17</a>
83
- <a name='L18'></a><a href='#L18'>18</a>
84
- <a name='L19'></a><a href='#L19'>19</a>
85
- <a name='L20'></a><a href='#L20'>20</a>
86
- <a name='L21'></a><a href='#L21'>21</a>
87
- <a name='L22'></a><a href='#L22'>22</a>
88
- <a name='L23'></a><a href='#L23'>23</a>
89
- <a name='L24'></a><a href='#L24'>24</a>
90
- <a name='L25'></a><a href='#L25'>25</a>
91
- <a name='L26'></a><a href='#L26'>26</a>
92
- <a name='L27'></a><a href='#L27'>27</a>
93
- <a name='L28'></a><a href='#L28'>28</a>
94
- <a name='L29'></a><a href='#L29'>29</a>
95
- <a name='L30'></a><a href='#L30'>30</a>
96
- <a name='L31'></a><a href='#L31'>31</a>
97
- <a name='L32'></a><a href='#L32'>32</a>
98
- <a name='L33'></a><a href='#L33'>33</a>
99
- <a name='L34'></a><a href='#L34'>34</a>
100
- <a name='L35'></a><a href='#L35'>35</a>
101
- <a name='L36'></a><a href='#L36'>36</a>
102
- <a name='L37'></a><a href='#L37'>37</a>
103
- <a name='L38'></a><a href='#L38'>38</a>
104
- <a name='L39'></a><a href='#L39'>39</a>
105
- <a name='L40'></a><a href='#L40'>40</a>
106
- <a name='L41'></a><a href='#L41'>41</a>
107
- <a name='L42'></a><a href='#L42'>42</a>
108
- <a name='L43'></a><a href='#L43'>43</a>
109
- <a name='L44'></a><a href='#L44'>44</a>
110
- <a name='L45'></a><a href='#L45'>45</a>
111
- <a name='L46'></a><a href='#L46'>46</a>
112
- <a name='L47'></a><a href='#L47'>47</a>
113
- <a name='L48'></a><a href='#L48'>48</a>
114
- <a name='L49'></a><a href='#L49'>49</a>
115
- <a name='L50'></a><a href='#L50'>50</a>
116
- <a name='L51'></a><a href='#L51'>51</a>
117
- <a name='L52'></a><a href='#L52'>52</a>
118
- <a name='L53'></a><a href='#L53'>53</a>
119
- <a name='L54'></a><a href='#L54'>54</a>
120
- <a name='L55'></a><a href='#L55'>55</a>
121
- <a name='L56'></a><a href='#L56'>56</a>
122
- <a name='L57'></a><a href='#L57'>57</a>
123
- <a name='L58'></a><a href='#L58'>58</a>
124
- <a name='L59'></a><a href='#L59'>59</a>
125
- <a name='L60'></a><a href='#L60'>60</a>
126
- <a name='L61'></a><a href='#L61'>61</a>
127
- <a name='L62'></a><a href='#L62'>62</a>
128
- <a name='L63'></a><a href='#L63'>63</a>
129
- <a name='L64'></a><a href='#L64'>64</a>
130
- <a name='L65'></a><a href='#L65'>65</a>
131
- <a name='L66'></a><a href='#L66'>66</a>
132
- <a name='L67'></a><a href='#L67'>67</a>
133
- <a name='L68'></a><a href='#L68'>68</a>
134
- <a name='L69'></a><a href='#L69'>69</a>
135
- <a name='L70'></a><a href='#L70'>70</a>
136
- <a name='L71'></a><a href='#L71'>71</a>
137
- <a name='L72'></a><a href='#L72'>72</a>
138
- <a name='L73'></a><a href='#L73'>73</a>
139
- <a name='L74'></a><a href='#L74'>74</a>
140
- <a name='L75'></a><a href='#L75'>75</a>
141
- <a name='L76'></a><a href='#L76'>76</a>
142
- <a name='L77'></a><a href='#L77'>77</a>
143
- <a name='L78'></a><a href='#L78'>78</a>
144
- <a name='L79'></a><a href='#L79'>79</a>
145
- <a name='L80'></a><a href='#L80'>80</a>
146
- <a name='L81'></a><a href='#L81'>81</a>
147
- <a name='L82'></a><a href='#L82'>82</a>
148
- <a name='L83'></a><a href='#L83'>83</a>
149
- <a name='L84'></a><a href='#L84'>84</a>
150
- <a name='L85'></a><a href='#L85'>85</a>
151
- <a name='L86'></a><a href='#L86'>86</a>
152
- <a name='L87'></a><a href='#L87'>87</a>
153
- <a name='L88'></a><a href='#L88'>88</a>
154
- <a name='L89'></a><a href='#L89'>89</a>
155
- <a name='L90'></a><a href='#L90'>90</a>
156
- <a name='L91'></a><a href='#L91'>91</a>
157
- <a name='L92'></a><a href='#L92'>92</a>
158
- <a name='L93'></a><a href='#L93'>93</a>
159
- <a name='L94'></a><a href='#L94'>94</a>
160
- <a name='L95'></a><a href='#L95'>95</a>
161
- <a name='L96'></a><a href='#L96'>96</a>
162
- <a name='L97'></a><a href='#L97'>97</a>
163
- <a name='L98'></a><a href='#L98'>98</a>
164
- <a name='L99'></a><a href='#L99'>99</a>
165
- <a name='L100'></a><a href='#L100'>100</a>
166
- <a name='L101'></a><a href='#L101'>101</a>
167
- <a name='L102'></a><a href='#L102'>102</a>
168
- <a name='L103'></a><a href='#L103'>103</a>
169
- <a name='L104'></a><a href='#L104'>104</a>
170
- <a name='L105'></a><a href='#L105'>105</a>
171
- <a name='L106'></a><a href='#L106'>106</a>
172
- <a name='L107'></a><a href='#L107'>107</a>
173
- <a name='L108'></a><a href='#L108'>108</a>
174
- <a name='L109'></a><a href='#L109'>109</a>
175
- <a name='L110'></a><a href='#L110'>110</a>
176
- <a name='L111'></a><a href='#L111'>111</a>
177
- <a name='L112'></a><a href='#L112'>112</a>
178
- <a name='L113'></a><a href='#L113'>113</a>
179
- <a name='L114'></a><a href='#L114'>114</a>
180
- <a name='L115'></a><a href='#L115'>115</a>
181
- <a name='L116'></a><a href='#L116'>116</a>
182
- <a name='L117'></a><a href='#L117'>117</a>
183
- <a name='L118'></a><a href='#L118'>118</a>
184
- <a name='L119'></a><a href='#L119'>119</a>
185
- <a name='L120'></a><a href='#L120'>120</a>
186
- <a name='L121'></a><a href='#L121'>121</a>
187
- <a name='L122'></a><a href='#L122'>122</a>
188
- <a name='L123'></a><a href='#L123'>123</a>
189
- <a name='L124'></a><a href='#L124'>124</a>
190
- <a name='L125'></a><a href='#L125'>125</a>
191
- <a name='L126'></a><a href='#L126'>126</a>
192
- <a name='L127'></a><a href='#L127'>127</a>
193
- <a name='L128'></a><a href='#L128'>128</a>
194
- <a name='L129'></a><a href='#L129'>129</a>
195
- <a name='L130'></a><a href='#L130'>130</a>
196
- <a name='L131'></a><a href='#L131'>131</a>
197
- <a name='L132'></a><a href='#L132'>132</a>
198
- <a name='L133'></a><a href='#L133'>133</a>
199
- <a name='L134'></a><a href='#L134'>134</a>
200
- <a name='L135'></a><a href='#L135'>135</a>
201
- <a name='L136'></a><a href='#L136'>136</a>
202
- <a name='L137'></a><a href='#L137'>137</a>
203
- <a name='L138'></a><a href='#L138'>138</a>
204
- <a name='L139'></a><a href='#L139'>139</a>
205
- <a name='L140'></a><a href='#L140'>140</a>
206
- <a name='L141'></a><a href='#L141'>141</a>
207
- <a name='L142'></a><a href='#L142'>142</a>
208
- <a name='L143'></a><a href='#L143'>143</a>
209
- <a name='L144'></a><a href='#L144'>144</a>
210
- <a name='L145'></a><a href='#L145'>145</a>
211
- <a name='L146'></a><a href='#L146'>146</a>
212
- <a name='L147'></a><a href='#L147'>147</a>
213
- <a name='L148'></a><a href='#L148'>148</a>
214
- <a name='L149'></a><a href='#L149'>149</a>
215
- <a name='L150'></a><a href='#L150'>150</a>
216
- <a name='L151'></a><a href='#L151'>151</a>
217
- <a name='L152'></a><a href='#L152'>152</a>
218
- <a name='L153'></a><a href='#L153'>153</a>
219
- <a name='L154'></a><a href='#L154'>154</a>
220
- <a name='L155'></a><a href='#L155'>155</a>
221
- <a name='L156'></a><a href='#L156'>156</a>
222
- <a name='L157'></a><a href='#L157'>157</a>
223
- <a name='L158'></a><a href='#L158'>158</a>
224
- <a name='L159'></a><a href='#L159'>159</a>
225
- <a name='L160'></a><a href='#L160'>160</a>
226
- <a name='L161'></a><a href='#L161'>161</a>
227
- <a name='L162'></a><a href='#L162'>162</a>
228
- <a name='L163'></a><a href='#L163'>163</a>
229
- <a name='L164'></a><a href='#L164'>164</a>
230
- <a name='L165'></a><a href='#L165'>165</a>
231
- <a name='L166'></a><a href='#L166'>166</a>
232
- <a name='L167'></a><a href='#L167'>167</a>
233
- <a name='L168'></a><a href='#L168'>168</a>
234
- <a name='L169'></a><a href='#L169'>169</a>
235
- <a name='L170'></a><a href='#L170'>170</a>
236
- <a name='L171'></a><a href='#L171'>171</a>
237
- <a name='L172'></a><a href='#L172'>172</a>
238
- <a name='L173'></a><a href='#L173'>173</a>
239
- <a name='L174'></a><a href='#L174'>174</a>
240
- <a name='L175'></a><a href='#L175'>175</a>
241
- <a name='L176'></a><a href='#L176'>176</a>
242
- <a name='L177'></a><a href='#L177'>177</a>
243
- <a name='L178'></a><a href='#L178'>178</a>
244
- <a name='L179'></a><a href='#L179'>179</a>
245
- <a name='L180'></a><a href='#L180'>180</a>
246
- <a name='L181'></a><a href='#L181'>181</a>
247
- <a name='L182'></a><a href='#L182'>182</a>
248
- <a name='L183'></a><a href='#L183'>183</a>
249
- <a name='L184'></a><a href='#L184'>184</a>
250
- <a name='L185'></a><a href='#L185'>185</a>
251
- <a name='L186'></a><a href='#L186'>186</a>
252
- <a name='L187'></a><a href='#L187'>187</a>
253
- <a name='L188'></a><a href='#L188'>188</a>
254
- <a name='L189'></a><a href='#L189'>189</a>
255
- <a name='L190'></a><a href='#L190'>190</a>
256
- <a name='L191'></a><a href='#L191'>191</a>
257
- <a name='L192'></a><a href='#L192'>192</a>
258
- <a name='L193'></a><a href='#L193'>193</a>
259
- <a name='L194'></a><a href='#L194'>194</a>
260
- <a name='L195'></a><a href='#L195'>195</a>
261
- <a name='L196'></a><a href='#L196'>196</a>
262
- <a name='L197'></a><a href='#L197'>197</a>
263
- <a name='L198'></a><a href='#L198'>198</a>
264
- <a name='L199'></a><a href='#L199'>199</a>
265
- <a name='L200'></a><a href='#L200'>200</a>
266
- <a name='L201'></a><a href='#L201'>201</a>
267
- <a name='L202'></a><a href='#L202'>202</a>
268
- <a name='L203'></a><a href='#L203'>203</a>
269
- <a name='L204'></a><a href='#L204'>204</a>
270
- <a name='L205'></a><a href='#L205'>205</a>
271
- <a name='L206'></a><a href='#L206'>206</a>
272
- <a name='L207'></a><a href='#L207'>207</a>
273
- <a name='L208'></a><a href='#L208'>208</a>
274
- <a name='L209'></a><a href='#L209'>209</a>
275
- <a name='L210'></a><a href='#L210'>210</a>
276
- <a name='L211'></a><a href='#L211'>211</a>
277
- <a name='L212'></a><a href='#L212'>212</a>
278
- <a name='L213'></a><a href='#L213'>213</a>
279
- <a name='L214'></a><a href='#L214'>214</a>
280
- <a name='L215'></a><a href='#L215'>215</a>
281
- <a name='L216'></a><a href='#L216'>216</a>
282
- <a name='L217'></a><a href='#L217'>217</a>
283
- <a name='L218'></a><a href='#L218'>218</a>
284
- <a name='L219'></a><a href='#L219'>219</a>
285
- <a name='L220'></a><a href='#L220'>220</a>
286
- <a name='L221'></a><a href='#L221'>221</a>
287
- <a name='L222'></a><a href='#L222'>222</a>
288
- <a name='L223'></a><a href='#L223'>223</a>
289
- <a name='L224'></a><a href='#L224'>224</a>
290
- <a name='L225'></a><a href='#L225'>225</a>
291
- <a name='L226'></a><a href='#L226'>226</a>
292
- <a name='L227'></a><a href='#L227'>227</a>
293
- <a name='L228'></a><a href='#L228'>228</a>
294
- <a name='L229'></a><a href='#L229'>229</a>
295
- <a name='L230'></a><a href='#L230'>230</a>
296
- <a name='L231'></a><a href='#L231'>231</a>
297
- <a name='L232'></a><a href='#L232'>232</a>
298
- <a name='L233'></a><a href='#L233'>233</a>
299
- <a name='L234'></a><a href='#L234'>234</a>
300
- <a name='L235'></a><a href='#L235'>235</a>
301
- <a name='L236'></a><a href='#L236'>236</a>
302
- <a name='L237'></a><a href='#L237'>237</a>
303
- <a name='L238'></a><a href='#L238'>238</a>
304
- <a name='L239'></a><a href='#L239'>239</a>
305
- <a name='L240'></a><a href='#L240'>240</a>
306
- <a name='L241'></a><a href='#L241'>241</a>
307
- <a name='L242'></a><a href='#L242'>242</a>
308
- <a name='L243'></a><a href='#L243'>243</a>
309
- <a name='L244'></a><a href='#L244'>244</a>
310
- <a name='L245'></a><a href='#L245'>245</a>
311
- <a name='L246'></a><a href='#L246'>246</a>
312
- <a name='L247'></a><a href='#L247'>247</a>
313
- <a name='L248'></a><a href='#L248'>248</a>
314
- <a name='L249'></a><a href='#L249'>249</a>
315
- <a name='L250'></a><a href='#L250'>250</a>
316
- <a name='L251'></a><a href='#L251'>251</a>
317
- <a name='L252'></a><a href='#L252'>252</a>
318
- <a name='L253'></a><a href='#L253'>253</a>
319
- <a name='L254'></a><a href='#L254'>254</a>
320
- <a name='L255'></a><a href='#L255'>255</a>
321
- <a name='L256'></a><a href='#L256'>256</a>
322
- <a name='L257'></a><a href='#L257'>257</a>
323
- <a name='L258'></a><a href='#L258'>258</a>
324
- <a name='L259'></a><a href='#L259'>259</a>
325
- <a name='L260'></a><a href='#L260'>260</a>
326
- <a name='L261'></a><a href='#L261'>261</a>
327
- <a name='L262'></a><a href='#L262'>262</a>
328
- <a name='L263'></a><a href='#L263'>263</a>
329
- <a name='L264'></a><a href='#L264'>264</a>
330
- <a name='L265'></a><a href='#L265'>265</a>
331
- <a name='L266'></a><a href='#L266'>266</a>
332
- <a name='L267'></a><a href='#L267'>267</a>
333
- <a name='L268'></a><a href='#L268'>268</a>
334
- <a name='L269'></a><a href='#L269'>269</a>
335
- <a name='L270'></a><a href='#L270'>270</a>
336
- <a name='L271'></a><a href='#L271'>271</a>
337
- <a name='L272'></a><a href='#L272'>272</a>
338
- <a name='L273'></a><a href='#L273'>273</a>
339
- <a name='L274'></a><a href='#L274'>274</a>
340
- <a name='L275'></a><a href='#L275'>275</a>
341
- <a name='L276'></a><a href='#L276'>276</a>
342
- <a name='L277'></a><a href='#L277'>277</a>
343
- <a name='L278'></a><a href='#L278'>278</a>
344
- <a name='L279'></a><a href='#L279'>279</a>
345
- <a name='L280'></a><a href='#L280'>280</a>
346
- <a name='L281'></a><a href='#L281'>281</a>
347
- <a name='L282'></a><a href='#L282'>282</a>
348
- <a name='L283'></a><a href='#L283'>283</a>
349
- <a name='L284'></a><a href='#L284'>284</a>
350
- <a name='L285'></a><a href='#L285'>285</a>
351
- <a name='L286'></a><a href='#L286'>286</a>
352
- <a name='L287'></a><a href='#L287'>287</a>
353
- <a name='L288'></a><a href='#L288'>288</a>
354
- <a name='L289'></a><a href='#L289'>289</a>
355
- <a name='L290'></a><a href='#L290'>290</a>
356
- <a name='L291'></a><a href='#L291'>291</a>
357
- <a name='L292'></a><a href='#L292'>292</a>
358
- <a name='L293'></a><a href='#L293'>293</a>
359
- <a name='L294'></a><a href='#L294'>294</a>
360
- <a name='L295'></a><a href='#L295'>295</a>
361
- <a name='L296'></a><a href='#L296'>296</a>
362
- <a name='L297'></a><a href='#L297'>297</a>
363
- <a name='L298'></a><a href='#L298'>298</a>
364
- <a name='L299'></a><a href='#L299'>299</a>
365
- <a name='L300'></a><a href='#L300'>300</a>
366
- <a name='L301'></a><a href='#L301'>301</a>
367
- <a name='L302'></a><a href='#L302'>302</a>
368
- <a name='L303'></a><a href='#L303'>303</a>
369
- <a name='L304'></a><a href='#L304'>304</a>
370
- <a name='L305'></a><a href='#L305'>305</a>
371
- <a name='L306'></a><a href='#L306'>306</a>
372
- <a name='L307'></a><a href='#L307'>307</a>
373
- <a name='L308'></a><a href='#L308'>308</a>
374
- <a name='L309'></a><a href='#L309'>309</a>
375
- <a name='L310'></a><a href='#L310'>310</a>
376
- <a name='L311'></a><a href='#L311'>311</a>
377
- <a name='L312'></a><a href='#L312'>312</a>
378
- <a name='L313'></a><a href='#L313'>313</a>
379
- <a name='L314'></a><a href='#L314'>314</a>
380
- <a name='L315'></a><a href='#L315'>315</a>
381
- <a name='L316'></a><a href='#L316'>316</a>
382
- <a name='L317'></a><a href='#L317'>317</a>
383
- <a name='L318'></a><a href='#L318'>318</a>
384
- <a name='L319'></a><a href='#L319'>319</a>
385
- <a name='L320'></a><a href='#L320'>320</a>
386
- <a name='L321'></a><a href='#L321'>321</a>
387
- <a name='L322'></a><a href='#L322'>322</a>
388
- <a name='L323'></a><a href='#L323'>323</a>
389
- <a name='L324'></a><a href='#L324'>324</a>
390
- <a name='L325'></a><a href='#L325'>325</a>
391
- <a name='L326'></a><a href='#L326'>326</a>
392
- <a name='L327'></a><a href='#L327'>327</a>
393
- <a name='L328'></a><a href='#L328'>328</a>
394
- <a name='L329'></a><a href='#L329'>329</a>
395
- <a name='L330'></a><a href='#L330'>330</a>
396
- <a name='L331'></a><a href='#L331'>331</a>
397
- <a name='L332'></a><a href='#L332'>332</a>
398
- <a name='L333'></a><a href='#L333'>333</a>
399
- <a name='L334'></a><a href='#L334'>334</a>
400
- <a name='L335'></a><a href='#L335'>335</a>
401
- <a name='L336'></a><a href='#L336'>336</a>
402
- <a name='L337'></a><a href='#L337'>337</a>
403
- <a name='L338'></a><a href='#L338'>338</a>
404
- <a name='L339'></a><a href='#L339'>339</a>
405
- <a name='L340'></a><a href='#L340'>340</a>
406
- <a name='L341'></a><a href='#L341'>341</a>
407
- <a name='L342'></a><a href='#L342'>342</a>
408
- <a name='L343'></a><a href='#L343'>343</a>
409
- <a name='L344'></a><a href='#L344'>344</a>
410
- <a name='L345'></a><a href='#L345'>345</a>
411
- <a name='L346'></a><a href='#L346'>346</a>
412
- <a name='L347'></a><a href='#L347'>347</a>
413
- <a name='L348'></a><a href='#L348'>348</a>
414
- <a name='L349'></a><a href='#L349'>349</a>
415
- <a name='L350'></a><a href='#L350'>350</a>
416
- <a name='L351'></a><a href='#L351'>351</a>
417
- <a name='L352'></a><a href='#L352'>352</a>
418
- <a name='L353'></a><a href='#L353'>353</a>
419
- <a name='L354'></a><a href='#L354'>354</a>
420
- <a name='L355'></a><a href='#L355'>355</a>
421
- <a name='L356'></a><a href='#L356'>356</a>
422
- <a name='L357'></a><a href='#L357'>357</a>
423
- <a name='L358'></a><a href='#L358'>358</a>
424
- <a name='L359'></a><a href='#L359'>359</a>
425
- <a name='L360'></a><a href='#L360'>360</a>
426
- <a name='L361'></a><a href='#L361'>361</a>
427
- <a name='L362'></a><a href='#L362'>362</a>
428
- <a name='L363'></a><a href='#L363'>363</a>
429
- <a name='L364'></a><a href='#L364'>364</a>
430
- <a name='L365'></a><a href='#L365'>365</a>
431
- <a name='L366'></a><a href='#L366'>366</a>
432
- <a name='L367'></a><a href='#L367'>367</a>
433
- <a name='L368'></a><a href='#L368'>368</a>
434
- <a name='L369'></a><a href='#L369'>369</a>
435
- <a name='L370'></a><a href='#L370'>370</a>
436
- <a name='L371'></a><a href='#L371'>371</a>
437
- <a name='L372'></a><a href='#L372'>372</a>
438
- <a name='L373'></a><a href='#L373'>373</a>
439
- <a name='L374'></a><a href='#L374'>374</a>
440
- <a name='L375'></a><a href='#L375'>375</a>
441
- <a name='L376'></a><a href='#L376'>376</a>
442
- <a name='L377'></a><a href='#L377'>377</a>
443
- <a name='L378'></a><a href='#L378'>378</a>
444
- <a name='L379'></a><a href='#L379'>379</a>
445
- <a name='L380'></a><a href='#L380'>380</a>
446
- <a name='L381'></a><a href='#L381'>381</a>
447
- <a name='L382'></a><a href='#L382'>382</a>
448
- <a name='L383'></a><a href='#L383'>383</a>
449
- <a name='L384'></a><a href='#L384'>384</a>
450
- <a name='L385'></a><a href='#L385'>385</a>
451
- <a name='L386'></a><a href='#L386'>386</a>
452
- <a name='L387'></a><a href='#L387'>387</a>
453
- <a name='L388'></a><a href='#L388'>388</a>
454
- <a name='L389'></a><a href='#L389'>389</a>
455
- <a name='L390'></a><a href='#L390'>390</a>
456
- <a name='L391'></a><a href='#L391'>391</a>
457
- <a name='L392'></a><a href='#L392'>392</a>
458
- <a name='L393'></a><a href='#L393'>393</a>
459
- <a name='L394'></a><a href='#L394'>394</a>
460
- <a name='L395'></a><a href='#L395'>395</a>
461
- <a name='L396'></a><a href='#L396'>396</a>
462
- <a name='L397'></a><a href='#L397'>397</a>
463
- <a name='L398'></a><a href='#L398'>398</a>
464
- <a name='L399'></a><a href='#L399'>399</a>
465
- <a name='L400'></a><a href='#L400'>400</a>
466
- <a name='L401'></a><a href='#L401'>401</a>
467
- <a name='L402'></a><a href='#L402'>402</a>
468
- <a name='L403'></a><a href='#L403'>403</a>
469
- <a name='L404'></a><a href='#L404'>404</a>
470
- <a name='L405'></a><a href='#L405'>405</a>
471
- <a name='L406'></a><a href='#L406'>406</a>
472
- <a name='L407'></a><a href='#L407'>407</a>
473
- <a name='L408'></a><a href='#L408'>408</a>
474
- <a name='L409'></a><a href='#L409'>409</a>
475
- <a name='L410'></a><a href='#L410'>410</a>
476
- <a name='L411'></a><a href='#L411'>411</a>
477
- <a name='L412'></a><a href='#L412'>412</a>
478
- <a name='L413'></a><a href='#L413'>413</a>
479
- <a name='L414'></a><a href='#L414'>414</a>
480
- <a name='L415'></a><a href='#L415'>415</a>
481
- <a name='L416'></a><a href='#L416'>416</a>
482
- <a name='L417'></a><a href='#L417'>417</a>
483
- <a name='L418'></a><a href='#L418'>418</a>
484
- <a name='L419'></a><a href='#L419'>419</a>
485
- <a name='L420'></a><a href='#L420'>420</a>
486
- <a name='L421'></a><a href='#L421'>421</a>
487
- <a name='L422'></a><a href='#L422'>422</a>
488
- <a name='L423'></a><a href='#L423'>423</a>
489
- <a name='L424'></a><a href='#L424'>424</a>
490
- <a name='L425'></a><a href='#L425'>425</a>
491
- <a name='L426'></a><a href='#L426'>426</a>
492
- <a name='L427'></a><a href='#L427'>427</a>
493
- <a name='L428'></a><a href='#L428'>428</a>
494
- <a name='L429'></a><a href='#L429'>429</a>
495
- <a name='L430'></a><a href='#L430'>430</a>
496
- <a name='L431'></a><a href='#L431'>431</a>
497
- <a name='L432'></a><a href='#L432'>432</a>
498
- <a name='L433'></a><a href='#L433'>433</a>
499
- <a name='L434'></a><a href='#L434'>434</a>
500
- <a name='L435'></a><a href='#L435'>435</a>
501
- <a name='L436'></a><a href='#L436'>436</a>
502
- <a name='L437'></a><a href='#L437'>437</a>
503
- <a name='L438'></a><a href='#L438'>438</a>
504
- <a name='L439'></a><a href='#L439'>439</a>
505
- <a name='L440'></a><a href='#L440'>440</a>
506
- <a name='L441'></a><a href='#L441'>441</a>
507
- <a name='L442'></a><a href='#L442'>442</a>
508
- <a name='L443'></a><a href='#L443'>443</a>
509
- <a name='L444'></a><a href='#L444'>444</a>
510
- <a name='L445'></a><a href='#L445'>445</a>
511
- <a name='L446'></a><a href='#L446'>446</a>
512
- <a name='L447'></a><a href='#L447'>447</a>
513
- <a name='L448'></a><a href='#L448'>448</a>
514
- <a name='L449'></a><a href='#L449'>449</a>
515
- <a name='L450'></a><a href='#L450'>450</a>
516
- <a name='L451'></a><a href='#L451'>451</a>
517
- <a name='L452'></a><a href='#L452'>452</a>
518
- <a name='L453'></a><a href='#L453'>453</a>
519
- <a name='L454'></a><a href='#L454'>454</a>
520
- <a name='L455'></a><a href='#L455'>455</a>
521
- <a name='L456'></a><a href='#L456'>456</a>
522
- <a name='L457'></a><a href='#L457'>457</a>
523
- <a name='L458'></a><a href='#L458'>458</a>
524
- <a name='L459'></a><a href='#L459'>459</a>
525
- <a name='L460'></a><a href='#L460'>460</a>
526
- <a name='L461'></a><a href='#L461'>461</a>
527
- <a name='L462'></a><a href='#L462'>462</a>
528
- <a name='L463'></a><a href='#L463'>463</a>
529
- <a name='L464'></a><a href='#L464'>464</a>
530
- <a name='L465'></a><a href='#L465'>465</a>
531
- <a name='L466'></a><a href='#L466'>466</a>
532
- <a name='L467'></a><a href='#L467'>467</a>
533
- <a name='L468'></a><a href='#L468'>468</a>
534
- <a name='L469'></a><a href='#L469'>469</a>
535
- <a name='L470'></a><a href='#L470'>470</a>
536
- <a name='L471'></a><a href='#L471'>471</a>
537
- <a name='L472'></a><a href='#L472'>472</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
538
- <span class="cline-any cline-neutral">&nbsp;</span>
539
- <span class="cline-any cline-neutral">&nbsp;</span>
540
- <span class="cline-any cline-neutral">&nbsp;</span>
541
- <span class="cline-any cline-neutral">&nbsp;</span>
542
- <span class="cline-any cline-neutral">&nbsp;</span>
543
- <span class="cline-any cline-neutral">&nbsp;</span>
544
- <span class="cline-any cline-neutral">&nbsp;</span>
545
- <span class="cline-any cline-neutral">&nbsp;</span>
546
- <span class="cline-any cline-neutral">&nbsp;</span>
547
- <span class="cline-any cline-neutral">&nbsp;</span>
548
- <span class="cline-any cline-neutral">&nbsp;</span>
549
- <span class="cline-any cline-neutral">&nbsp;</span>
550
- <span class="cline-any cline-neutral">&nbsp;</span>
551
- <span class="cline-any cline-neutral">&nbsp;</span>
552
- <span class="cline-any cline-neutral">&nbsp;</span>
553
- <span class="cline-any cline-neutral">&nbsp;</span>
554
- <span class="cline-any cline-yes">1x</span>
555
- <span class="cline-any cline-neutral">&nbsp;</span>
556
- <span class="cline-any cline-yes">4x</span>
557
- <span class="cline-any cline-neutral">&nbsp;</span>
558
- <span class="cline-any cline-yes">4x</span>
559
- <span class="cline-any cline-neutral">&nbsp;</span>
560
- <span class="cline-any cline-neutral">&nbsp;</span>
561
- <span class="cline-any cline-neutral">&nbsp;</span>
562
- <span class="cline-any cline-neutral">&nbsp;</span>
563
- <span class="cline-any cline-neutral">&nbsp;</span>
564
- <span class="cline-any cline-neutral">&nbsp;</span>
565
- <span class="cline-any cline-neutral">&nbsp;</span>
566
- <span class="cline-any cline-yes">4x</span>
567
- <span class="cline-any cline-yes">4x</span>
568
- <span class="cline-any cline-yes">4x</span>
569
- <span class="cline-any cline-yes">4x</span>
570
- <span class="cline-any cline-neutral">&nbsp;</span>
571
- <span class="cline-any cline-neutral">&nbsp;</span>
572
- <span class="cline-any cline-yes">4x</span>
573
- <span class="cline-any cline-yes">4x</span>
574
- <span class="cline-any cline-no">&nbsp;</span>
575
- <span class="cline-any cline-neutral">&nbsp;</span>
576
- <span class="cline-any cline-neutral">&nbsp;</span>
577
- <span class="cline-any cline-yes">4x</span>
578
- <span class="cline-any cline-no">&nbsp;</span>
579
- <span class="cline-any cline-neutral">&nbsp;</span>
580
- <span class="cline-any cline-neutral">&nbsp;</span>
581
- <span class="cline-any cline-neutral">&nbsp;</span>
582
- <span class="cline-any cline-neutral">&nbsp;</span>
583
- <span class="cline-any cline-neutral">&nbsp;</span>
584
- <span class="cline-any cline-neutral">&nbsp;</span>
585
- <span class="cline-any cline-neutral">&nbsp;</span>
586
- <span class="cline-any cline-neutral">&nbsp;</span>
587
- <span class="cline-any cline-neutral">&nbsp;</span>
588
- <span class="cline-any cline-neutral">&nbsp;</span>
589
- <span class="cline-any cline-neutral">&nbsp;</span>
590
- <span class="cline-any cline-neutral">&nbsp;</span>
591
- <span class="cline-any cline-neutral">&nbsp;</span>
592
- <span class="cline-any cline-neutral">&nbsp;</span>
593
- <span class="cline-any cline-yes">1x</span>
594
- <span class="cline-any cline-no">&nbsp;</span>
595
- <span class="cline-any cline-neutral">&nbsp;</span>
596
- <span class="cline-any cline-neutral">&nbsp;</span>
597
- <span class="cline-any cline-neutral">&nbsp;</span>
598
- <span class="cline-any cline-neutral">&nbsp;</span>
599
- <span class="cline-any cline-yes">1x</span>
600
- <span class="cline-any cline-neutral">&nbsp;</span>
601
- <span class="cline-any cline-no">&nbsp;</span>
602
- <span class="cline-any cline-no">&nbsp;</span>
603
- <span class="cline-any cline-no">&nbsp;</span>
604
- <span class="cline-any cline-no">&nbsp;</span>
605
- <span class="cline-any cline-no">&nbsp;</span>
606
- <span class="cline-any cline-no">&nbsp;</span>
607
- <span class="cline-any cline-no">&nbsp;</span>
608
- <span class="cline-any cline-no">&nbsp;</span>
609
- <span class="cline-any cline-no">&nbsp;</span>
610
- <span class="cline-any cline-no">&nbsp;</span>
611
- <span class="cline-any cline-no">&nbsp;</span>
612
- <span class="cline-any cline-neutral">&nbsp;</span>
613
- <span class="cline-any cline-neutral">&nbsp;</span>
614
- <span class="cline-any cline-neutral">&nbsp;</span>
615
- <span class="cline-any cline-neutral">&nbsp;</span>
616
- <span class="cline-any cline-no">&nbsp;</span>
617
- <span class="cline-any cline-neutral">&nbsp;</span>
618
- <span class="cline-any cline-neutral">&nbsp;</span>
619
- <span class="cline-any cline-neutral">&nbsp;</span>
620
- <span class="cline-any cline-neutral">&nbsp;</span>
621
- <span class="cline-any cline-neutral">&nbsp;</span>
622
- <span class="cline-any cline-neutral">&nbsp;</span>
623
- <span class="cline-any cline-neutral">&nbsp;</span>
624
- <span class="cline-any cline-yes">1x</span>
625
- <span class="cline-any cline-no">&nbsp;</span>
626
- <span class="cline-any cline-neutral">&nbsp;</span>
627
- <span class="cline-any cline-no">&nbsp;</span>
628
- <span class="cline-any cline-no">&nbsp;</span>
629
- <span class="cline-any cline-no">&nbsp;</span>
630
- <span class="cline-any cline-neutral">&nbsp;</span>
631
- <span class="cline-any cline-neutral">&nbsp;</span>
632
- <span class="cline-any cline-neutral">&nbsp;</span>
633
- <span class="cline-any cline-no">&nbsp;</span>
634
- <span class="cline-any cline-no">&nbsp;</span>
635
- <span class="cline-any cline-neutral">&nbsp;</span>
636
- <span class="cline-any cline-no">&nbsp;</span>
637
- <span class="cline-any cline-neutral">&nbsp;</span>
638
- <span class="cline-any cline-neutral">&nbsp;</span>
639
- <span class="cline-any cline-neutral">&nbsp;</span>
640
- <span class="cline-any cline-neutral">&nbsp;</span>
641
- <span class="cline-any cline-yes">1x</span>
642
- <span class="cline-any cline-no">&nbsp;</span>
643
- <span class="cline-any cline-no">&nbsp;</span>
644
- <span class="cline-any cline-neutral">&nbsp;</span>
645
- <span class="cline-any cline-neutral">&nbsp;</span>
646
- <span class="cline-any cline-no">&nbsp;</span>
647
- <span class="cline-any cline-no">&nbsp;</span>
648
- <span class="cline-any cline-no">&nbsp;</span>
649
- <span class="cline-any cline-no">&nbsp;</span>
650
- <span class="cline-any cline-neutral">&nbsp;</span>
651
- <span class="cline-any cline-no">&nbsp;</span>
652
- <span class="cline-any cline-no">&nbsp;</span>
653
- <span class="cline-any cline-no">&nbsp;</span>
654
- <span class="cline-any cline-no">&nbsp;</span>
655
- <span class="cline-any cline-neutral">&nbsp;</span>
656
- <span class="cline-any cline-no">&nbsp;</span>
657
- <span class="cline-any cline-neutral">&nbsp;</span>
658
- <span class="cline-any cline-neutral">&nbsp;</span>
659
- <span class="cline-any cline-neutral">&nbsp;</span>
660
- <span class="cline-any cline-neutral">&nbsp;</span>
661
- <span class="cline-any cline-neutral">&nbsp;</span>
662
- <span class="cline-any cline-neutral">&nbsp;</span>
663
- <span class="cline-any cline-neutral">&nbsp;</span>
664
- <span class="cline-any cline-neutral">&nbsp;</span>
665
- <span class="cline-any cline-neutral">&nbsp;</span>
666
- <span class="cline-any cline-no">&nbsp;</span>
667
- <span class="cline-any cline-no">&nbsp;</span>
668
- <span class="cline-any cline-no">&nbsp;</span>
669
- <span class="cline-any cline-neutral">&nbsp;</span>
670
- <span class="cline-any cline-neutral">&nbsp;</span>
671
- <span class="cline-any cline-neutral">&nbsp;</span>
672
- <span class="cline-any cline-neutral">&nbsp;</span>
673
- <span class="cline-any cline-neutral">&nbsp;</span>
674
- <span class="cline-any cline-neutral">&nbsp;</span>
675
- <span class="cline-any cline-neutral">&nbsp;</span>
676
- <span class="cline-any cline-neutral">&nbsp;</span>
677
- <span class="cline-any cline-neutral">&nbsp;</span>
678
- <span class="cline-any cline-neutral">&nbsp;</span>
679
- <span class="cline-any cline-neutral">&nbsp;</span>
680
- <span class="cline-any cline-neutral">&nbsp;</span>
681
- <span class="cline-any cline-neutral">&nbsp;</span>
682
- <span class="cline-any cline-neutral">&nbsp;</span>
683
- <span class="cline-any cline-neutral">&nbsp;</span>
684
- <span class="cline-any cline-neutral">&nbsp;</span>
685
- <span class="cline-any cline-neutral">&nbsp;</span>
686
- <span class="cline-any cline-neutral">&nbsp;</span>
687
- <span class="cline-any cline-neutral">&nbsp;</span>
688
- <span class="cline-any cline-neutral">&nbsp;</span>
689
- <span class="cline-any cline-neutral">&nbsp;</span>
690
- <span class="cline-any cline-no">&nbsp;</span>
691
- <span class="cline-any cline-no">&nbsp;</span>
692
- <span class="cline-any cline-no">&nbsp;</span>
693
- <span class="cline-any cline-neutral">&nbsp;</span>
694
- <span class="cline-any cline-neutral">&nbsp;</span>
695
- <span class="cline-any cline-no">&nbsp;</span>
696
- <span class="cline-any cline-no">&nbsp;</span>
697
- <span class="cline-any cline-neutral">&nbsp;</span>
698
- <span class="cline-any cline-no">&nbsp;</span>
699
- <span class="cline-any cline-neutral">&nbsp;</span>
700
- <span class="cline-any cline-neutral">&nbsp;</span>
701
- <span class="cline-any cline-no">&nbsp;</span>
702
- <span class="cline-any cline-neutral">&nbsp;</span>
703
- <span class="cline-any cline-neutral">&nbsp;</span>
704
- <span class="cline-any cline-neutral">&nbsp;</span>
705
- <span class="cline-any cline-neutral">&nbsp;</span>
706
- <span class="cline-any cline-neutral">&nbsp;</span>
707
- <span class="cline-any cline-no">&nbsp;</span>
708
- <span class="cline-any cline-no">&nbsp;</span>
709
- <span class="cline-any cline-no">&nbsp;</span>
710
- <span class="cline-any cline-no">&nbsp;</span>
711
- <span class="cline-any cline-no">&nbsp;</span>
712
- <span class="cline-any cline-no">&nbsp;</span>
713
- <span class="cline-any cline-neutral">&nbsp;</span>
714
- <span class="cline-any cline-no">&nbsp;</span>
715
- <span class="cline-any cline-neutral">&nbsp;</span>
716
- <span class="cline-any cline-no">&nbsp;</span>
717
- <span class="cline-any cline-neutral">&nbsp;</span>
718
- <span class="cline-any cline-neutral">&nbsp;</span>
719
- <span class="cline-any cline-neutral">&nbsp;</span>
720
- <span class="cline-any cline-no">&nbsp;</span>
721
- <span class="cline-any cline-no">&nbsp;</span>
722
- <span class="cline-any cline-neutral">&nbsp;</span>
723
- <span class="cline-any cline-neutral">&nbsp;</span>
724
- <span class="cline-any cline-no">&nbsp;</span>
725
- <span class="cline-any cline-neutral">&nbsp;</span>
726
- <span class="cline-any cline-no">&nbsp;</span>
727
- <span class="cline-any cline-neutral">&nbsp;</span>
728
- <span class="cline-any cline-neutral">&nbsp;</span>
729
- <span class="cline-any cline-neutral">&nbsp;</span>
730
- <span class="cline-any cline-neutral">&nbsp;</span>
731
- <span class="cline-any cline-neutral">&nbsp;</span>
732
- <span class="cline-any cline-neutral">&nbsp;</span>
733
- <span class="cline-any cline-neutral">&nbsp;</span>
734
- <span class="cline-any cline-yes">1x</span>
735
- <span class="cline-any cline-no">&nbsp;</span>
736
- <span class="cline-any cline-no">&nbsp;</span>
737
- <span class="cline-any cline-no">&nbsp;</span>
738
- <span class="cline-any cline-neutral">&nbsp;</span>
739
- <span class="cline-any cline-neutral">&nbsp;</span>
740
- <span class="cline-any cline-neutral">&nbsp;</span>
741
- <span class="cline-any cline-neutral">&nbsp;</span>
742
- <span class="cline-any cline-neutral">&nbsp;</span>
743
- <span class="cline-any cline-neutral">&nbsp;</span>
744
- <span class="cline-any cline-neutral">&nbsp;</span>
745
- <span class="cline-any cline-neutral">&nbsp;</span>
746
- <span class="cline-any cline-neutral">&nbsp;</span>
747
- <span class="cline-any cline-yes">1x</span>
748
- <span class="cline-any cline-neutral">&nbsp;</span>
749
- <span class="cline-any cline-neutral">&nbsp;</span>
750
- <span class="cline-any cline-neutral">&nbsp;</span>
751
- <span class="cline-any cline-neutral">&nbsp;</span>
752
- <span class="cline-any cline-no">&nbsp;</span>
753
- <span class="cline-any cline-neutral">&nbsp;</span>
754
- <span class="cline-any cline-neutral">&nbsp;</span>
755
- <span class="cline-any cline-neutral">&nbsp;</span>
756
- <span class="cline-any cline-neutral">&nbsp;</span>
757
- <span class="cline-any cline-neutral">&nbsp;</span>
758
- <span class="cline-any cline-neutral">&nbsp;</span>
759
- <span class="cline-any cline-neutral">&nbsp;</span>
760
- <span class="cline-any cline-neutral">&nbsp;</span>
761
- <span class="cline-any cline-neutral">&nbsp;</span>
762
- <span class="cline-any cline-neutral">&nbsp;</span>
763
- <span class="cline-any cline-neutral">&nbsp;</span>
764
- <span class="cline-any cline-neutral">&nbsp;</span>
765
- <span class="cline-any cline-neutral">&nbsp;</span>
766
- <span class="cline-any cline-neutral">&nbsp;</span>
767
- <span class="cline-any cline-neutral">&nbsp;</span>
768
- <span class="cline-any cline-neutral">&nbsp;</span>
769
- <span class="cline-any cline-neutral">&nbsp;</span>
770
- <span class="cline-any cline-neutral">&nbsp;</span>
771
- <span class="cline-any cline-neutral">&nbsp;</span>
772
- <span class="cline-any cline-neutral">&nbsp;</span>
773
- <span class="cline-any cline-neutral">&nbsp;</span>
774
- <span class="cline-any cline-neutral">&nbsp;</span>
775
- <span class="cline-any cline-neutral">&nbsp;</span>
776
- <span class="cline-any cline-neutral">&nbsp;</span>
777
- <span class="cline-any cline-neutral">&nbsp;</span>
778
- <span class="cline-any cline-neutral">&nbsp;</span>
779
- <span class="cline-any cline-neutral">&nbsp;</span>
780
- <span class="cline-any cline-neutral">&nbsp;</span>
781
- <span class="cline-any cline-neutral">&nbsp;</span>
782
- <span class="cline-any cline-neutral">&nbsp;</span>
783
- <span class="cline-any cline-neutral">&nbsp;</span>
784
- <span class="cline-any cline-neutral">&nbsp;</span>
785
- <span class="cline-any cline-neutral">&nbsp;</span>
786
- <span class="cline-any cline-neutral">&nbsp;</span>
787
- <span class="cline-any cline-neutral">&nbsp;</span>
788
- <span class="cline-any cline-neutral">&nbsp;</span>
789
- <span class="cline-any cline-neutral">&nbsp;</span>
790
- <span class="cline-any cline-neutral">&nbsp;</span>
791
- <span class="cline-any cline-neutral">&nbsp;</span>
792
- <span class="cline-any cline-neutral">&nbsp;</span>
793
- <span class="cline-any cline-neutral">&nbsp;</span>
794
- <span class="cline-any cline-neutral">&nbsp;</span>
795
- <span class="cline-any cline-neutral">&nbsp;</span>
796
- <span class="cline-any cline-neutral">&nbsp;</span>
797
- <span class="cline-any cline-neutral">&nbsp;</span>
798
- <span class="cline-any cline-neutral">&nbsp;</span>
799
- <span class="cline-any cline-neutral">&nbsp;</span>
800
- <span class="cline-any cline-neutral">&nbsp;</span>
801
- <span class="cline-any cline-neutral">&nbsp;</span>
802
- <span class="cline-any cline-neutral">&nbsp;</span>
803
- <span class="cline-any cline-neutral">&nbsp;</span>
804
- <span class="cline-any cline-neutral">&nbsp;</span>
805
- <span class="cline-any cline-neutral">&nbsp;</span>
806
- <span class="cline-any cline-neutral">&nbsp;</span>
807
- <span class="cline-any cline-no">&nbsp;</span>
808
- <span class="cline-any cline-neutral">&nbsp;</span>
809
- <span class="cline-any cline-no">&nbsp;</span>
810
- <span class="cline-any cline-no">&nbsp;</span>
811
- <span class="cline-any cline-no">&nbsp;</span>
812
- <span class="cline-any cline-no">&nbsp;</span>
813
- <span class="cline-any cline-no">&nbsp;</span>
814
- <span class="cline-any cline-no">&nbsp;</span>
815
- <span class="cline-any cline-no">&nbsp;</span>
816
- <span class="cline-any cline-no">&nbsp;</span>
817
- <span class="cline-any cline-no">&nbsp;</span>
818
- <span class="cline-any cline-no">&nbsp;</span>
819
- <span class="cline-any cline-no">&nbsp;</span>
820
- <span class="cline-any cline-no">&nbsp;</span>
821
- <span class="cline-any cline-no">&nbsp;</span>
822
- <span class="cline-any cline-no">&nbsp;</span>
823
- <span class="cline-any cline-no">&nbsp;</span>
824
- <span class="cline-any cline-no">&nbsp;</span>
825
- <span class="cline-any cline-no">&nbsp;</span>
826
- <span class="cline-any cline-no">&nbsp;</span>
827
- <span class="cline-any cline-no">&nbsp;</span>
828
- <span class="cline-any cline-no">&nbsp;</span>
829
- <span class="cline-any cline-no">&nbsp;</span>
830
- <span class="cline-any cline-no">&nbsp;</span>
831
- <span class="cline-any cline-no">&nbsp;</span>
832
- <span class="cline-any cline-no">&nbsp;</span>
833
- <span class="cline-any cline-no">&nbsp;</span>
834
- <span class="cline-any cline-no">&nbsp;</span>
835
- <span class="cline-any cline-no">&nbsp;</span>
836
- <span class="cline-any cline-no">&nbsp;</span>
837
- <span class="cline-any cline-no">&nbsp;</span>
838
- <span class="cline-any cline-no">&nbsp;</span>
839
- <span class="cline-any cline-no">&nbsp;</span>
840
- <span class="cline-any cline-no">&nbsp;</span>
841
- <span class="cline-any cline-no">&nbsp;</span>
842
- <span class="cline-any cline-no">&nbsp;</span>
843
- <span class="cline-any cline-no">&nbsp;</span>
844
- <span class="cline-any cline-no">&nbsp;</span>
845
- <span class="cline-any cline-no">&nbsp;</span>
846
- <span class="cline-any cline-no">&nbsp;</span>
847
- <span class="cline-any cline-no">&nbsp;</span>
848
- <span class="cline-any cline-no">&nbsp;</span>
849
- <span class="cline-any cline-no">&nbsp;</span>
850
- <span class="cline-any cline-no">&nbsp;</span>
851
- <span class="cline-any cline-no">&nbsp;</span>
852
- <span class="cline-any cline-no">&nbsp;</span>
853
- <span class="cline-any cline-no">&nbsp;</span>
854
- <span class="cline-any cline-no">&nbsp;</span>
855
- <span class="cline-any cline-no">&nbsp;</span>
856
- <span class="cline-any cline-no">&nbsp;</span>
857
- <span class="cline-any cline-no">&nbsp;</span>
858
- <span class="cline-any cline-no">&nbsp;</span>
859
- <span class="cline-any cline-no">&nbsp;</span>
860
- <span class="cline-any cline-neutral">&nbsp;</span>
861
- <span class="cline-any cline-no">&nbsp;</span>
862
- <span class="cline-any cline-no">&nbsp;</span>
863
- <span class="cline-any cline-neutral">&nbsp;</span>
864
- <span class="cline-any cline-no">&nbsp;</span>
865
- <span class="cline-any cline-no">&nbsp;</span>
866
- <span class="cline-any cline-neutral">&nbsp;</span>
867
- <span class="cline-any cline-neutral">&nbsp;</span>
868
- <span class="cline-any cline-neutral">&nbsp;</span>
869
- <span class="cline-any cline-no">&nbsp;</span>
870
- <span class="cline-any cline-neutral">&nbsp;</span>
871
- <span class="cline-any cline-neutral">&nbsp;</span>
872
- <span class="cline-any cline-neutral">&nbsp;</span>
873
- <span class="cline-any cline-neutral">&nbsp;</span>
874
- <span class="cline-any cline-neutral">&nbsp;</span>
875
- <span class="cline-any cline-neutral">&nbsp;</span>
876
- <span class="cline-any cline-neutral">&nbsp;</span>
877
- <span class="cline-any cline-neutral">&nbsp;</span>
878
- <span class="cline-any cline-neutral">&nbsp;</span>
879
- <span class="cline-any cline-neutral">&nbsp;</span>
880
- <span class="cline-any cline-neutral">&nbsp;</span>
881
- <span class="cline-any cline-neutral">&nbsp;</span>
882
- <span class="cline-any cline-neutral">&nbsp;</span>
883
- <span class="cline-any cline-neutral">&nbsp;</span>
884
- <span class="cline-any cline-neutral">&nbsp;</span>
885
- <span class="cline-any cline-neutral">&nbsp;</span>
886
- <span class="cline-any cline-neutral">&nbsp;</span>
887
- <span class="cline-any cline-neutral">&nbsp;</span>
888
- <span class="cline-any cline-neutral">&nbsp;</span>
889
- <span class="cline-any cline-neutral">&nbsp;</span>
890
- <span class="cline-any cline-neutral">&nbsp;</span>
891
- <span class="cline-any cline-neutral">&nbsp;</span>
892
- <span class="cline-any cline-neutral">&nbsp;</span>
893
- <span class="cline-any cline-neutral">&nbsp;</span>
894
- <span class="cline-any cline-neutral">&nbsp;</span>
895
- <span class="cline-any cline-neutral">&nbsp;</span>
896
- <span class="cline-any cline-neutral">&nbsp;</span>
897
- <span class="cline-any cline-neutral">&nbsp;</span>
898
- <span class="cline-any cline-neutral">&nbsp;</span>
899
- <span class="cline-any cline-neutral">&nbsp;</span>
900
- <span class="cline-any cline-neutral">&nbsp;</span>
901
- <span class="cline-any cline-neutral">&nbsp;</span>
902
- <span class="cline-any cline-neutral">&nbsp;</span>
903
- <span class="cline-any cline-neutral">&nbsp;</span>
904
- <span class="cline-any cline-neutral">&nbsp;</span>
905
- <span class="cline-any cline-neutral">&nbsp;</span>
906
- <span class="cline-any cline-neutral">&nbsp;</span>
907
- <span class="cline-any cline-neutral">&nbsp;</span>
908
- <span class="cline-any cline-neutral">&nbsp;</span>
909
- <span class="cline-any cline-neutral">&nbsp;</span>
910
- <span class="cline-any cline-neutral">&nbsp;</span>
911
- <span class="cline-any cline-neutral">&nbsp;</span>
912
- <span class="cline-any cline-neutral">&nbsp;</span>
913
- <span class="cline-any cline-neutral">&nbsp;</span>
914
- <span class="cline-any cline-neutral">&nbsp;</span>
915
- <span class="cline-any cline-neutral">&nbsp;</span>
916
- <span class="cline-any cline-neutral">&nbsp;</span>
917
- <span class="cline-any cline-neutral">&nbsp;</span>
918
- <span class="cline-any cline-neutral">&nbsp;</span>
919
- <span class="cline-any cline-neutral">&nbsp;</span>
920
- <span class="cline-any cline-neutral">&nbsp;</span>
921
- <span class="cline-any cline-neutral">&nbsp;</span>
922
- <span class="cline-any cline-neutral">&nbsp;</span>
923
- <span class="cline-any cline-neutral">&nbsp;</span>
924
- <span class="cline-any cline-neutral">&nbsp;</span>
925
- <span class="cline-any cline-neutral">&nbsp;</span>
926
- <span class="cline-any cline-neutral">&nbsp;</span>
927
- <span class="cline-any cline-neutral">&nbsp;</span>
928
- <span class="cline-any cline-neutral">&nbsp;</span>
929
- <span class="cline-any cline-neutral">&nbsp;</span>
930
- <span class="cline-any cline-neutral">&nbsp;</span>
931
- <span class="cline-any cline-neutral">&nbsp;</span>
932
- <span class="cline-any cline-neutral">&nbsp;</span>
933
- <span class="cline-any cline-neutral">&nbsp;</span>
934
- <span class="cline-any cline-neutral">&nbsp;</span>
935
- <span class="cline-any cline-neutral">&nbsp;</span>
936
- <span class="cline-any cline-neutral">&nbsp;</span>
937
- <span class="cline-any cline-neutral">&nbsp;</span>
938
- <span class="cline-any cline-neutral">&nbsp;</span>
939
- <span class="cline-any cline-neutral">&nbsp;</span>
940
- <span class="cline-any cline-neutral">&nbsp;</span>
941
- <span class="cline-any cline-neutral">&nbsp;</span>
942
- <span class="cline-any cline-neutral">&nbsp;</span>
943
- <span class="cline-any cline-neutral">&nbsp;</span>
944
- <span class="cline-any cline-neutral">&nbsp;</span>
945
- <span class="cline-any cline-neutral">&nbsp;</span>
946
- <span class="cline-any cline-neutral">&nbsp;</span>
947
- <span class="cline-any cline-neutral">&nbsp;</span>
948
- <span class="cline-any cline-neutral">&nbsp;</span>
949
- <span class="cline-any cline-neutral">&nbsp;</span>
950
- <span class="cline-any cline-neutral">&nbsp;</span>
951
- <span class="cline-any cline-neutral">&nbsp;</span>
952
- <span class="cline-any cline-neutral">&nbsp;</span>
953
- <span class="cline-any cline-neutral">&nbsp;</span>
954
- <span class="cline-any cline-neutral">&nbsp;</span>
955
- <span class="cline-any cline-neutral">&nbsp;</span>
956
- <span class="cline-any cline-neutral">&nbsp;</span>
957
- <span class="cline-any cline-neutral">&nbsp;</span>
958
- <span class="cline-any cline-neutral">&nbsp;</span>
959
- <span class="cline-any cline-neutral">&nbsp;</span>
960
- <span class="cline-any cline-neutral">&nbsp;</span>
961
- <span class="cline-any cline-neutral">&nbsp;</span>
962
- <span class="cline-any cline-neutral">&nbsp;</span>
963
- <span class="cline-any cline-neutral">&nbsp;</span>
964
- <span class="cline-any cline-neutral">&nbsp;</span>
965
- <span class="cline-any cline-neutral">&nbsp;</span>
966
- <span class="cline-any cline-neutral">&nbsp;</span>
967
- <span class="cline-any cline-neutral">&nbsp;</span>
968
- <span class="cline-any cline-neutral">&nbsp;</span>
969
- <span class="cline-any cline-neutral">&nbsp;</span>
970
- <span class="cline-any cline-neutral">&nbsp;</span>
971
- <span class="cline-any cline-neutral">&nbsp;</span>
972
- <span class="cline-any cline-neutral">&nbsp;</span>
973
- <span class="cline-any cline-neutral">&nbsp;</span>
974
- <span class="cline-any cline-neutral">&nbsp;</span>
975
- <span class="cline-any cline-neutral">&nbsp;</span>
976
- <span class="cline-any cline-neutral">&nbsp;</span>
977
- <span class="cline-any cline-neutral">&nbsp;</span>
978
- <span class="cline-any cline-neutral">&nbsp;</span>
979
- <span class="cline-any cline-neutral">&nbsp;</span>
980
- <span class="cline-any cline-neutral">&nbsp;</span>
981
- <span class="cline-any cline-neutral">&nbsp;</span>
982
- <span class="cline-any cline-neutral">&nbsp;</span>
983
- <span class="cline-any cline-neutral">&nbsp;</span>
984
- <span class="cline-any cline-neutral">&nbsp;</span>
985
- <span class="cline-any cline-neutral">&nbsp;</span>
986
- <span class="cline-any cline-neutral">&nbsp;</span>
987
- <span class="cline-any cline-neutral">&nbsp;</span>
988
- <span class="cline-any cline-neutral">&nbsp;</span>
989
- <span class="cline-any cline-neutral">&nbsp;</span>
990
- <span class="cline-any cline-neutral">&nbsp;</span>
991
- <span class="cline-any cline-neutral">&nbsp;</span>
992
- <span class="cline-any cline-neutral">&nbsp;</span>
993
- <span class="cline-any cline-neutral">&nbsp;</span>
994
- <span class="cline-any cline-neutral">&nbsp;</span>
995
- <span class="cline-any cline-neutral">&nbsp;</span>
996
- <span class="cline-any cline-neutral">&nbsp;</span>
997
- <span class="cline-any cline-neutral">&nbsp;</span>
998
- <span class="cline-any cline-neutral">&nbsp;</span>
999
- <span class="cline-any cline-neutral">&nbsp;</span>
1000
- <span class="cline-any cline-neutral">&nbsp;</span>
1001
- <span class="cline-any cline-neutral">&nbsp;</span>
1002
- <span class="cline-any cline-neutral">&nbsp;</span>
1003
- <span class="cline-any cline-neutral">&nbsp;</span>
1004
- <span class="cline-any cline-neutral">&nbsp;</span>
1005
- <span class="cline-any cline-neutral">&nbsp;</span>
1006
- <span class="cline-any cline-neutral">&nbsp;</span>
1007
- <span class="cline-any cline-yes">1x</span>
1008
- <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import { HttpClient } from '@angular/common/http';
1009
- import { Injectable } from '@angular/core';
1010
- // import * as translations from '../utils/translations';
1011
- import { TranslateService } from '@ngx-translate/core';
1012
- import { environment } from '../../environments/environment';
1013
- &nbsp;
1014
- import { throwError as observableThrowError, Observable } from 'rxjs';
1015
- import { catchError, tap } from 'rxjs/operators';
1016
- // import 'rxjs/add/observable/throw';
1017
- // import 'rxjs/add/operator/catch';
1018
- import { Globals } from '../utils/globals';
1019
- &nbsp;
1020
- import { AppConfigService } from './app-config.service';
1021
- import { LoggerService } from '../../chat21-core/providers/abstract/logger.service';
1022
- import { LoggerInstance } from '../../chat21-core/providers/logger/loggerInstance';
1023
- &nbsp;
1024
- @Injectable()
1025
- export class TranslatorService {
1026
- &nbsp;
1027
- private defaultLanguage = 'en'; // default language
1028
- private language: string; // user language
1029
- private logger: LoggerService = LoggerInstance.getInstance()
1030
- // private translations: Object;
1031
- &nbsp;
1032
- translated_string: any;
1033
- baseLocation: string;
1034
- remoteTranslationsUrl: string;
1035
- &nbsp;
1036
- constructor(
1037
- private _translate: TranslateService,
1038
- public http: HttpClient,
1039
- public g: Globals,
1040
- public appConfigService: AppConfigService
1041
- ) {
1042
- &nbsp;
1043
- let windowContext: Window = window;
1044
- <span class="missing-if-branch" title="if path not taken" >I</span>if (window.frameElement &amp;&amp; window.frameElement.getAttribute('tiledesk_context') === 'parent') {
1045
- <span class="cstat-no" title="statement not covered" > windowContext = window.parent;</span>
1046
- }
1047
- &nbsp;
1048
- <span class="missing-if-branch" title="if path not taken" >I</span>if (windowContext['tiledesk']) {
1049
- <span class="cstat-no" title="statement not covered" > this.baseLocation = windowContext['tiledesk'].getBaseLocation();</span>
1050
- // console.log(`»»»» initI18n baseLocation`, this.baseLocation);
1051
- }
1052
- &nbsp;
1053
- // this.initializeTransaltorService()
1054
- &nbsp;
1055
- }
1056
- &nbsp;
1057
- /**
1058
- *
1059
- * Return the browser language
1060
- * used by humanWaitingTime in list-conversation
1061
- *
1062
- * @returns
1063
- */
1064
- <span class="fstat-no" title="function not covered" > public g</span>etLanguage() {
1065
- <span class="cstat-no" title="statement not covered" > return this.language;</span>
1066
- // return this._translate.getBrowserLang();
1067
- }
1068
- &nbsp;
1069
- /** @unused method not used */
1070
- <span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" > initializeTransaltorService(</span></span>) {
1071
- &nbsp;
1072
- <span class="cstat-no" title="statement not covered" > this._translate.setDefaultLang('it');</span>
1073
- const browserLang = <span class="cstat-no" title="statement not covered" >this._translate.getBrowserLang();</span>
1074
- <span class="cstat-no" title="statement not covered" > this.logger.debug('[TRANSLATOR-SERV] initializeTransaltorService--&gt; DEVICE LANG ', browserLang);</span>
1075
- <span class="cstat-no" title="statement not covered" > if (browserLang) {</span>
1076
- <span class="cstat-no" title="statement not covered" > if (browserLang === 'it') {</span>
1077
- <span class="cstat-no" title="statement not covered" > this._translate.use('it');</span>
1078
- <span class="cstat-no" title="statement not covered" > this.http.get(this.baseLocation + `/assets/i18n/${browserLang}.json`).subscribe(<span class="fstat-no" title="function not covered" >data=</span>&gt; {</span>
1079
- <span class="cstat-no" title="statement not covered" > console.log('ress lang', JSON.parse(data['_body']))</span>
1080
- <span class="cstat-no" title="statement not covered" > this._translate.setTranslation('it', JSON.parse(data['_body']));</span>
1081
- <span class="cstat-no" title="statement not covered" > this._translate.get('LABEL_PREVIEW').subscribe(<span class="fstat-no" title="function not covered" >res </span>=&gt; {</span>
1082
- <span class="cstat-no" title="statement not covered" > console.log('default translate --&gt; ', res)</span>
1083
- });
1084
- })
1085
- // this._translate.setTranslation('it', './assets/i18n/en.json')
1086
- } else {
1087
- <span class="cstat-no" title="statement not covered" > this._translate.use('en');</span>
1088
- // this.http.get(this.baseLocation + `/assets/i18n/${browserLang}.json`).subscribe(data=&gt; console.log('ress lang', data))
1089
- }
1090
- }
1091
-
1092
- }
1093
- &nbsp;
1094
- &nbsp;
1095
- <span class="fstat-no" title="function not covered" > getTranslationFileUrl(</span>browserLang) {
1096
- <span class="cstat-no" title="statement not covered" > this.remoteTranslationsUrl = environment.remoteTranslationsUrl;</span>
1097
- // console.log(`»»»» initI18n remoteTranslationsUrl`, this.remoteTranslationsUrl);
1098
- const remoteTranslationsUrl = <span class="cstat-no" title="statement not covered" >this.appConfigService.getConfig().remoteTranslationsUrl;</span>
1099
- <span class="cstat-no" title="statement not covered" > if (remoteTranslationsUrl) {</span>
1100
- <span class="cstat-no" title="statement not covered" > this.remoteTranslationsUrl = remoteTranslationsUrl;</span>
1101
- }
1102
- // console.log(`»»»» initI18n remoteTranslationsUrl2`, this.appConfigService.getConfig());
1103
- // console.log(`»»»» getTranslationFileUrl `, this.remoteTranslationsUrl);
1104
- <span class="cstat-no" title="statement not covered" > if (environment.loadRemoteTranslations) {</span>
1105
- <span class="cstat-no" title="statement not covered" > return this.remoteTranslationsUrl + this.g.projectid + '/labels/' + browserLang.toUpperCase();</span>
1106
- } else {
1107
- <span class="cstat-no" title="statement not covered" > return this.baseLocation + `/assets/i18n/${browserLang}.json`;</span>
1108
- }
1109
- }
1110
- &nbsp;
1111
- // https://github.com/ngx-translate/core/issues/282
1112
- <span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" > initI18n(</span></span>): Promise&lt;any&gt; {
1113
- <span class="cstat-no" title="statement not covered" > this._translate.addLangs(['en', 'it']);</span>
1114
- <span class="cstat-no" title="statement not covered" > this.logger.debug('[TRANSLATOR-SERV]»»»» initI18n getLangs ', this._translate.getLangs());</span>
1115
- &nbsp;
1116
- // Set the default language for translation strings.
1117
- const defaultLanguage = <span class="cstat-no" title="statement not covered" >'en';</span>
1118
- <span class="cstat-no" title="statement not covered" > this.logger.debug('[TRANSLATOR-SERV] »»»» initI18n setDefaultLang ');</span>
1119
- <span class="cstat-no" title="statement not covered" > this._translate.setDefaultLang(defaultLanguage);</span>
1120
- <span class="cstat-no" title="statement not covered" > this.language = defaultLanguage;</span>
1121
- // Detect user language.
1122
- let browserLang = <span class="cstat-no" title="statement not covered" >this._translate.getBrowserLang();</span>
1123
- <span class="cstat-no" title="statement not covered" > if (this.g.lang &amp;&amp; this.g.lang !== '') {</span>
1124
- <span class="cstat-no" title="statement not covered" > browserLang = this.g.lang;</span>
1125
- <span class="cstat-no" title="statement not covered" > this.language = this.g.lang</span>
1126
- } else {
1127
- <span class="cstat-no" title="statement not covered" > this.g.lang = browserLang;</span>
1128
- }
1129
- &nbsp;
1130
- &nbsp;
1131
- &nbsp;
1132
- // const languageUrl = this.getTranslationFileUrl(browserLang);
1133
- // console.log(`»»»» browserLang `, browserLang, this.g.lang, this.getTranslationFileUrl(browserLang));
1134
- &nbsp;
1135
- &nbsp;
1136
- // Try to load the I18N JSON file for the detected language
1137
- <span class="cstat-no" title="statement not covered" > return new Promise(<span class="fstat-no" title="function not covered" >(r</span>esolve, reject) =&gt; {</span>
1138
- const that = <span class="cstat-no" title="statement not covered" >this;</span>
1139
- <span class="cstat-no" title="statement not covered" > this.http.get(this.getTranslationFileUrl(browserLang))</span>
1140
- &nbsp;
1141
- // .catch((error: any) =&gt; {
1142
- // // I18N File failed to load, fall back to default language
1143
- // // console.log(`»»»» initI18n !!! Problem with '${browserLang}' language initialization from URL `, error.url, ` - ERROR: `, error);
1144
- // this._translate.use(defaultLanguage);
1145
- // this.http.get(this.getTranslationFileUrl(defaultLanguage)).subscribe((data) =&gt; {
1146
- // this.translateWithBrowserLang(data['_body'], defaultLanguage);
1147
- // }, (er) =&gt; {
1148
- // // failed to load default language from remote - fall back to local default language
1149
- // this.logger.error('[TRANSLATOR-SERV] »»»» initI18n Get default language - ERROR ', er);
1150
- // this.logger.error('[TRANSLATOR-SERV] »»»» initI18n - »»» loadRemoteTranslations IN ERROR ?', environment.loadRemoteTranslations);
1151
- // }, () =&gt; {
1152
- // resolve(true);
1153
- // // console.log('»»»» initI18n Get default language * COMPLETE *');
1154
- // });
1155
- // return Observable.throw(error);
1156
- // })
1157
- .pipe(
1158
- catchError(<span class="fstat-no" title="function not covered" >(e</span>rror: any)=&gt;{
1159
- // I18N File failed to load, fall back to default language
1160
- // console.log(`»»»» initI18n !!! Problem with '${browserLang}' language initialization from URL `, this.getTranslationFileUrl(browserLang), ` - ERROR: `, error);
1161
- <span class="cstat-no" title="statement not covered" > this._translate.use(defaultLanguage);</span>
1162
- <span class="cstat-no" title="statement not covered" > this.http.get(this.getTranslationFileUrl(defaultLanguage)).subscribe(<span class="fstat-no" title="function not covered" >(d</span>ata) =&gt; {</span>
1163
- <span class="cstat-no" title="statement not covered" > this.translateWithBrowserLang(data['data'], defaultLanguage);</span>
1164
- }, <span class="fstat-no" title="function not covered" >(e</span>r) =&gt; {
1165
- // failed to load default language from remote - fall back to local default language
1166
- <span class="cstat-no" title="statement not covered" > this.logger.error('[TRANSLATOR-SERV] »»»» initI18n Get default language - ERROR ', er);</span>
1167
- <span class="cstat-no" title="statement not covered" > this.logger.error('[TRANSLATOR-SERV] »»»» initI18n - »»» loadRemoteTranslations IN ERROR ?', environment.loadRemoteTranslations);</span>
1168
- }, <span class="fstat-no" title="function not covered" >() =&gt; {</span>
1169
- <span class="cstat-no" title="statement not covered" > resolve(true);</span>
1170
- // console.log('»»»» initI18n Get default language * COMPLETE *');
1171
- });
1172
- <span class="cstat-no" title="statement not covered" > return observableThrowError(error);</span>
1173
- })
1174
- )
1175
- .subscribe(<span class="fstat-no" title="function not covered" >(d</span>ata: any) =&gt; {
1176
- // I18N File loaded successfully, we can proceed
1177
- // console.log(`»»»» Successfully initialized '${browserLang}' language.'`, data.data);
1178
- <span class="cstat-no" title="statement not covered" > this.logger.debug(`[TRANSLATOR-SERV] »»»» initI18n Successfully initialized '${browserLang}' language from URL'`, this.getTranslationFileUrl(browserLang));</span>
1179
- <span class="cstat-no" title="statement not covered" > if (!data.data || data.data === undefined || data.data === '') {</span>
1180
- <span class="cstat-no" title="statement not covered" > browserLang = defaultLanguage;</span>
1181
- <span class="cstat-no" title="statement not covered" > this.language = defaultLanguage;</span>
1182
- <span class="cstat-no" title="statement not covered" > this.g.lang = defaultLanguage;</span>
1183
- <span class="cstat-no" title="statement not covered" > this._translate.use(defaultLanguage);</span>
1184
- // console.log('»»»» translateWithBrowserLang ', this.getTranslationFileUrl(defaultLanguage));
1185
- <span class="cstat-no" title="statement not covered" > this.http.get(this.getTranslationFileUrl(defaultLanguage)).subscribe(<span class="fstat-no" title="function not covered" >(d</span>efaultdata) =&gt; {</span>
1186
- // console.log(`»»»» Successfully initialized '${browserLang}' language.'`, defaultdata);
1187
- <span class="cstat-no" title="statement not covered" > this.translateWithBrowserLang(defaultdata['data'], browserLang);</span>
1188
- });
1189
- } else {
1190
- // console.log(`»»»» translateWithBrowserLang '${browserLang}' language.'`);
1191
- <span class="cstat-no" title="statement not covered" > this.language = data.lang.toLowerCase();;</span>
1192
- <span class="cstat-no" title="statement not covered" > this.translateWithBrowserLang(data.data, this.language);</span>
1193
- }
1194
- }, <span class="fstat-no" title="function not covered" >(e</span>rror) =&gt; {
1195
- <span class="cstat-no" title="statement not covered" > this.logger.error(`[TRANSLATOR-SERV] »»»» initI18n Get '${browserLang}' language - ERROR `, error);</span>
1196
- }, <span class="fstat-no" title="function not covered" >() =&gt; {</span>
1197
- <span class="cstat-no" title="statement not covered" > resolve(true);</span>
1198
- // console.log(`»»»» initI18n Get '${browserLang}' language - COMPLETE`);
1199
- });
1200
- &nbsp;
1201
- });
1202
- }
1203
- &nbsp;
1204
- &nbsp;
1205
- <span class="fstat-no" title="function not covered" > private t</span>ranslateWithBrowserLang(data: any, lang: string) {
1206
- <span class="cstat-no" title="statement not covered" > this._translate.use(lang);</span>
1207
- <span class="cstat-no" title="statement not covered" > this.logger.debug(`[TRANSLATOR-SERV] »»»» initI18n - »»» loadRemoteTranslations ?`, environment.loadRemoteTranslations);</span>
1208
- <span class="cstat-no" title="statement not covered" > this._translate.setTranslation(lang, data, true);</span>
1209
- // if (environment.loadRemoteTranslations) {
1210
- // // console.log(`»»»» initI18n - »»» remote translation `, data);
1211
- // this._translate.setTranslation(lang, data, true);
1212
- // } else {
1213
- // this._translate.setTranslation(lang, data, true);
1214
- // }
1215
- }
1216
- &nbsp;
1217
- /** */
1218
- <span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" > public t</span></span>ranslate(globals) {
1219
- // set language
1220
- &nbsp;
1221
- // this.setLanguage(globals.windowContext, globals.lang);
1222
- &nbsp;
1223
- const labels: string[] = <span class="cstat-no" title="statement not covered" >[</span>
1224
- 'LABEL_TU',
1225
- 'LABEL_PLACEHOLDER',
1226
- 'LABEL_START_NW_CONV',
1227
- 'LABEL_FIRST_MSG',
1228
- 'LABEL_FIRST_MSG_NO_AGENTS',
1229
- 'LABEL_SELECT_TOPIC',
1230
- 'LABEL_COMPLETE_FORM',
1231
- 'LABEL_FIELD_NAME',
1232
- 'LABEL_ERROR_FIELD_NAME',
1233
- 'LABEL_FIELD_EMAIL',
1234
- 'LABEL_ERROR_FIELD_EMAIL',
1235
- 'LABEL_ERROR_FIELD_REQUIRED',
1236
- 'LABEL_WRITING',
1237
- 'LABEL_SEND_NEW_MESSAGE',
1238
- 'AGENT_NOT_AVAILABLE',
1239
- 'AGENT_AVAILABLE',
1240
- 'GUEST_LABEL',
1241
- 'ALL_AGENTS_OFFLINE_LABEL',
1242
- 'CALLOUT_TITLE_PLACEHOLDER',
1243
- 'CALLOUT_MSG_PLACEHOLDER',
1244
- 'ALERT_LEAVE_CHAT',
1245
- 'YES',
1246
- 'NO',
1247
- 'BUTTON_CLOSE_TO_ICON',
1248
- 'BUTTON_EDIT_PROFILE',
1249
- 'DOWNLOAD_TRANSCRIPT',
1250
- 'RATE_CHAT',
1251
- 'WELLCOME_TITLE',
1252
- 'WELLCOME_MSG',
1253
- 'OPTIONS',
1254
- 'SOUND_ON',
1255
- 'SOUND_OFF',
1256
- 'LOGOUT',
1257
- 'CUSTOMER_SATISFACTION',
1258
- 'YOUR_OPINION_ON_OUR_CUSTOMER_SERVICE',
1259
- 'YOUR_RATING',
1260
- 'WRITE_YOUR_OPINION',
1261
- 'SUBMIT',
1262
- 'THANK_YOU_FOR_YOUR_EVALUATION',
1263
- 'YOUR_RATING_HAS_BEEN_RECEIVED',
1264
- 'CLOSE',
1265
- 'PREV_CONVERSATIONS',
1266
- 'YOU',
1267
- 'SHOW_ALL_CONV',
1268
- 'START_A_CONVERSATION',
1269
- 'NO_CONVERSATION',
1270
- 'SEE_PREVIOUS',
1271
- 'WAITING_TIME_FOUND',
1272
- 'WAITING_TIME_NOT_FOUND',
1273
- 'CLOSED',
1274
- 'LABEL_PREVIEW'
1275
- ];
1276
- &nbsp;
1277
- &nbsp;
1278
- <span class="cstat-no" title="statement not covered" > this._translate.get(labels).subscribe(<span class="fstat-no" title="function not covered" >res </span>=&gt; {</span>
1279
- // console.log('»»»» initI18n »»»»»» »»»»»» GET TRANSLATED LABELS RES ', res);
1280
- <span class="cstat-no" title="statement not covered" > globals.LABEL_TU = res['LABEL_TU']</span>
1281
- <span class="cstat-no" title="statement not covered" > globals.LABEL_PLACEHOLDER = res['LABEL_PLACEHOLDER']</span>
1282
- <span class="cstat-no" title="statement not covered" > globals.LABEL_START_NW_CONV = res['LABEL_START_NW_CONV'];</span>
1283
- <span class="cstat-no" title="statement not covered" > globals.LABEL_FIRST_MSG = res['LABEL_FIRST_MSG'];</span>
1284
- <span class="cstat-no" title="statement not covered" > globals.LABEL_FIRST_MSG_NO_AGENTS = res['LABEL_FIRST_MSG_NO_AGENTS'];</span>
1285
- <span class="cstat-no" title="statement not covered" > globals.LABEL_SELECT_TOPIC = res['LABEL_SELECT_TOPIC'];</span>
1286
- <span class="cstat-no" title="statement not covered" > globals.LABEL_COMPLETE_FORM = res['LABEL_COMPLETE_FORM'];</span>
1287
- <span class="cstat-no" title="statement not covered" > globals.LABEL_FIELD_NAME = res['LABEL_FIELD_NAME'];</span>
1288
- <span class="cstat-no" title="statement not covered" > globals.LABEL_ERROR_FIELD_NAME = res['LABEL_ERROR_FIELD_NAME'];</span>
1289
- <span class="cstat-no" title="statement not covered" > globals.LABEL_FIELD_EMAIL = res['LABEL_FIELD_EMAIL'];</span>
1290
- <span class="cstat-no" title="statement not covered" > globals.LABEL_ERROR_FIELD_EMAIL = res['LABEL_ERROR_FIELD_EMAIL'];</span>
1291
- <span class="cstat-no" title="statement not covered" > globals.LABEL_WRITING = res['LABEL_WRITING'];</span>
1292
- <span class="cstat-no" title="statement not covered" > globals.LABEL_SEND_NEW_MESSAGE = res['LABEL_SEND_NEW_MESSAGE'];</span>
1293
- <span class="cstat-no" title="statement not covered" > globals.AGENT_NOT_AVAILABLE = res['AGENT_NOT_AVAILABLE']; </span>// is used ??
1294
- <span class="cstat-no" title="statement not covered" > globals.AGENT_AVAILABLE = res['AGENT_AVAILABLE'];</span>
1295
- <span class="cstat-no" title="statement not covered" > globals.GUEST_LABEL = res['GUEST_LABEL'];</span>
1296
- <span class="cstat-no" title="statement not covered" > globals.ALL_AGENTS_OFFLINE_LABEL = res['ALL_AGENTS_OFFLINE_LABEL'];</span>
1297
- <span class="cstat-no" title="statement not covered" > globals.CALLOUT_TITLE_PLACEHOLDER = res['CALLOUT_TITLE_PLACEHOLDER'];</span>
1298
- <span class="cstat-no" title="statement not covered" > globals.CALLOUT_MSG_PLACEHOLDER = res['CALLOUT_MSG_PLACEHOLDER'];</span>
1299
- <span class="cstat-no" title="statement not covered" > globals.ALERT_LEAVE_CHAT = res['ALERT_LEAVE_CHAT']; </span> // is used ??
1300
- <span class="cstat-no" title="statement not covered" > globals.YES = res['YES']; </span>// is used ??
1301
- <span class="cstat-no" title="statement not covered" > globals.NO = res['NO']; </span>// is used ??
1302
- <span class="cstat-no" title="statement not covered" > globals.BUTTON_CLOSE_TO_ICON = res['BUTTON_CLOSE_TO_ICON'];</span>
1303
- <span class="cstat-no" title="statement not covered" > globals.BUTTON_EDIT_PROFILE = res['BUTTON_EDIT_PROFILE']; </span>// is used ??
1304
- <span class="cstat-no" title="statement not covered" > globals.DOWNLOAD_TRANSCRIPT = res['DOWNLOAD_TRANSCRIPT'];</span>
1305
- <span class="cstat-no" title="statement not covered" > globals.RATE_CHAT = res['RATE_CHAT']; </span>// is used ??
1306
- <span class="cstat-no" title="statement not covered" > globals.WELLCOME_TITLE = res['WELLCOME_TITLE'];</span>
1307
- <span class="cstat-no" title="statement not covered" > globals.WELLCOME_MSG = res['WELLCOME_MSG'];</span>
1308
- <span class="cstat-no" title="statement not covered" > globals.OPTIONS = res['OPTIONS'];</span>
1309
- <span class="cstat-no" title="statement not covered" > globals.SOUND_ON = res['SOUND_ON'];</span>
1310
- <span class="cstat-no" title="statement not covered" > globals.SOUND_OFF = res['SOUND_OFF'];</span>
1311
- <span class="cstat-no" title="statement not covered" > globals.LOGOUT = res['LOGOUT'];</span>
1312
- <span class="cstat-no" title="statement not covered" > globals.CUSTOMER_SATISFACTION = res['CUSTOMER_SATISFACTION'];</span>
1313
- <span class="cstat-no" title="statement not covered" > globals.YOUR_OPINION_ON_OUR_CUSTOMER_SERVICE = res['YOUR_OPINION_ON_OUR_CUSTOMER_SERVICE'];</span>
1314
- <span class="cstat-no" title="statement not covered" > globals.YOUR_RATING = res['YOUR_RATING']; </span>// is used ??
1315
- <span class="cstat-no" title="statement not covered" > globals.WRITE_YOUR_OPINION = res['WRITE_YOUR_OPINION'];</span>
1316
- <span class="cstat-no" title="statement not covered" > globals.SUBMIT = res['SUBMIT']; </span>// se nn si carica la traduzione nn viene visualizzato il testo e si riname bloccati
1317
- <span class="cstat-no" title="statement not covered" > globals.THANK_YOU_FOR_YOUR_EVALUATION = res['THANK_YOU_FOR_YOUR_EVALUATION'];</span>
1318
- <span class="cstat-no" title="statement not covered" > globals.YOUR_RATING_HAS_BEEN_RECEIVED = res['YOUR_RATING_HAS_BEEN_RECEIVED'];</span>
1319
- <span class="cstat-no" title="statement not covered" > globals.CLOSE = res['CLOSE']; </span>// se nn si carica la traduzione nn viene visualizzato il testo e si riname bloccati
1320
- <span class="cstat-no" title="statement not covered" > globals.PREV_CONVERSATIONS = res['PREV_CONVERSATIONS'];</span>
1321
- <span class="cstat-no" title="statement not covered" > globals.YOU = res['YOU'];</span>
1322
- <span class="cstat-no" title="statement not covered" > globals.SHOW_ALL_CONV = res['SHOW_ALL_CONV'];</span>
1323
- <span class="cstat-no" title="statement not covered" > globals.START_A_CONVERSATION = res['START_A_CONVERSATION']; </span>// is used ??
1324
- <span class="cstat-no" title="statement not covered" > globals.NO_CONVERSATION = res['NO_CONVERSATION'];</span>
1325
- <span class="cstat-no" title="statement not covered" > globals.SEE_PREVIOUS = res['SEE_PREVIOUS']; </span>// is used ??
1326
- <span class="cstat-no" title="statement not covered" > globals.WAITING_TIME_FOUND = res['WAITING_TIME_FOUND'];</span>
1327
- <span class="cstat-no" title="statement not covered" > globals.WAITING_TIME_NOT_FOUND = res['WAITING_TIME_NOT_FOUND'];</span>
1328
- <span class="cstat-no" title="statement not covered" > globals.CLOSED = res['CLOSED'];</span>
1329
- <span class="cstat-no" title="statement not covered" > globals.LABEL_PREVIEW = res['LABEL_PREVIEW']</span>
1330
- <span class="cstat-no" title="statement not covered" > globals.LABEL_ERROR_FIELD_REQUIRED= res['LABEL_ERROR_FIELD_REQUIRED']</span>
1331
- &nbsp;
1332
- <span class="cstat-no" title="statement not covered" > if (!globals.welcomeTitle) {</span>
1333
- <span class="cstat-no" title="statement not covered" > globals.welcomeTitle = globals.WELLCOME_TITLE; </span> /** Set the widget welcome message. Value type : string */
1334
- }
1335
- <span class="cstat-no" title="statement not covered" > if (!globals.welcomeMsg) {</span>
1336
- <span class="cstat-no" title="statement not covered" > globals.welcomeMsg = globals.WELLCOME_MSG; </span> /** Set the widget welcome message. Value type : string */
1337
- }
1338
- &nbsp;
1339
- }, <span class="fstat-no" title="function not covered" >(e</span>rror) =&gt; {
1340
- <span class="cstat-no" title="statement not covered" > this.logger.error('[TRANSLATOR-SERV]»»»»»» »»»»»» GET TRANSLATED LABELS - ERROR ', error);</span>
1341
- }, <span class="fstat-no" title="function not covered" >() =&gt; {</span>
1342
- // console.log('»»»»»» »»»»»» GET TRANSLATED LABELS * COMPLETE *');
1343
- });
1344
- &nbsp;
1345
- &nbsp;
1346
- &nbsp;
1347
- // globals.setParameter('lang', this.language);
1348
- &nbsp;
1349
- // translate
1350
- &nbsp;
1351
- // console.log('»»»»» globals', globals)
1352
- // globals.LABEL_PLACEHOLDER = this.translateForKey('LABEL_PLACEHOLDER') // done
1353
- // globals.LABEL_START_NW_CONV = this.translateForKey('LABEL_START_NW_CONV'); // done
1354
- // globals.LABEL_FIRST_MSG = this.translateForKey('LABEL_FIRST_MSG'); // done
1355
- // globals.LABEL_FIRST_MSG_NO_AGENTS = this.translateForKey('LABEL_FIRST_MSG_NO_AGENTS'); // done
1356
- // globals.LABEL_SELECT_TOPIC = this.translateForKey('LABEL_SELECT_TOPIC'); // done
1357
- // globals.LABEL_COMPLETE_FORM = this.translateForKey('LABEL_COMPLETE_FORM'); // done
1358
- // globals.LABEL_FIELD_NAME = this.translateForKey('LABEL_FIELD_NAME'); // done
1359
- // globals.LABEL_ERROR_FIELD_NAME = this.translateForKey('LABEL_ERROR_FIELD_NAME'); // done
1360
- // globals.LABEL_FIELD_EMAIL = this.translateForKey('LABEL_FIELD_EMAIL'); // done
1361
- // globals.LABEL_ERROR_FIELD_EMAIL = this.translateForKey('LABEL_ERROR_FIELD_EMAIL'); // done
1362
- // globals.LABEL_WRITING = this.translateForKey('LABEL_WRITING'); // done
1363
- // globals.AGENT_NOT_AVAILABLE = this.translateForKey('AGENT_NOT_AVAILABLE'); // done
1364
- // globals.AGENT_AVAILABLE = this.translateForKey('AGENT_AVAILABLE'); // done
1365
- // globals.GUEST_LABEL = this.translateForKey('GUEST_LABEL'); // done
1366
- // globals.ALL_AGENTS_OFFLINE_LABEL = this.translateForKey('ALL_AGENTS_OFFLINE_LABEL'); // done
1367
- // globals.CALLOUT_TITLE_PLACEHOLDER = this.translateForKey('CALLOUT_TITLE_PLACEHOLDER'); // done
1368
- // globals.CALLOUT_MSG_PLACEHOLDER = this.translateForKey('CALLOUT_MSG_PLACEHOLDER'); // done
1369
- // globals.ALERT_LEAVE_CHAT = this.translateForKey('ALERT_LEAVE_CHAT'); // done
1370
- // globals.YES = this.translateForKey('YES'); // done
1371
- // globals.NO = this.translateForKey('NO'); // done
1372
- // globals.BUTTON_CLOSE_TO_ICON = this.translateForKey('BUTTON_CLOSE_TO_ICON'); // done
1373
- // globals.BUTTON_EDIT_PROFILE = this.translateForKey('BUTTON_EDIT_PROFILE'); // done
1374
- // globals.DOWNLOAD_TRANSCRIPT = this.translateForKey('DOWNLOAD_TRANSCRIPT'); // done
1375
- // globals.RATE_CHAT = this.translateForKey('RATE_CHAT'); // done
1376
- // globals.WELLCOME_TITLE = this.translateForKey('WELLCOME_TITLE'); // done
1377
- // globals.WELLCOME_MSG = this.translateForKey('WELLCOME_MSG'); // done
1378
- // globals.OPTIONS = this.translateForKey('OPTIONS'); // done
1379
- // globals.SOUND_ON = this.translateForKey('SOUND_ON'); // done
1380
- // globals.SOUND_OFF = this.translateForKey('SOUND_OFF'); // done
1381
- // globals.LOGOUT = this.translateForKey('LOGOUT'); // done
1382
- // globals.CUSTOMER_SATISFACTION = this.translateForKey('CUSTOMER_SATISFACTION'); // done
1383
- // globals.YOUR_OPINION_ON_OUR_CUSTOMER_SERVICE = this.translateForKey('YOUR_OPINION_ON_OUR_CUSTOMER_SERVICE'); // done
1384
- // globals.DOWNLOAD_TRANSCRIPT = this.translateForKey('DOWNLOAD_TRANSCRIPT'); // done
1385
- // globals.YOUR_RATING = this.translateForKey('YOUR_RATING'); // done
1386
- // globals.WRITE_YOUR_OPINION = this.translateForKey('WRITE_YOUR_OPINION'); // done
1387
- // globals.SUBMIT = this.translateForKey('SUBMIT'); // done
1388
- // globals.THANK_YOU_FOR_YOUR_EVALUATION = this.translateForKey('THANK_YOU_FOR_YOUR_EVALUATION'); // done
1389
- // globals.YOUR_RATING_HAS_BEEN_RECEIVED = this.translateForKey('YOUR_RATING_HAS_BEEN_RECEIVED'); // done
1390
- // globals.CLOSE = this.translateForKey('CLOSE'); // done
1391
- // globals.PREV_CONVERSATIONS = this.translateForKey('PREV_CONVERSATIONS'); // done
1392
- // globals.YOU = this.translateForKey('YOU'); // done
1393
- // globals.SHOW_ALL_CONV = this.translateForKey('SHOW_ALL_CONV'); // done
1394
- // globals.START_A_CONVERSATION = this.translateForKey('START_A_CONVERSATION'); // done
1395
- // globals.NO_CONVERSATION = this.translateForKey('NO_CONVERSATION'); // done
1396
- // globals.SEE_PREVIOUS = this.translateForKey('SEE_PREVIOUS'); // done
1397
- // globals.WAITING_TIME_FOUND = this.translateForKey('WAITING_TIME_FOUND'); // done
1398
- // globals.WAITING_TIME_NOT_FOUND = this.translateForKey('WAITING_TIME_NOT_FOUND'); // done
1399
- // globals.CLOSED = this.translateForKey('CLOSED');
1400
- &nbsp;
1401
- // if (!globals.wellcomeTitle) {
1402
- // globals.wellcomeTitle = globals.WELLCOME_TITLE; /** Set the widget welcome message. Value type : string */
1403
- // }
1404
- // if (!globals.wellcomeMsg) {
1405
- // globals.wellcomeMsg = globals.WELLCOME_MSG; /** Set the widget welcome message. Value type : string */
1406
- // }
1407
- &nbsp;
1408
- &nbsp;
1409
- }
1410
- &nbsp;
1411
- &nbsp;
1412
- /**
1413
- * Return the browser language if it is detected, an epty string otherwise
1414
- * @returns the browser language
1415
- */
1416
- // public getBrowserLanguage(windowContext) {
1417
- // // console.log('windowContext', windowContext);
1418
- // const browserLanguage = windowContext.navigator.language;
1419
- // return !browserLanguage ? undefined : browserLanguage;
1420
- // }
1421
- &nbsp;
1422
- /**
1423
- * Set the language in which to translate.
1424
- * If it is provided a not valid language it will use the default language (en)
1425
- * @param language the language
1426
- */
1427
- // public setLanguage(windowContext, language) {
1428
- // // console.log('windowContext-language', windowContext, language);
1429
- // // set the user languge if it is valid.
1430
- // // if the user language is not valid, try to get the browser language.
1431
- // // if the browser language is not valid, it use the default language (en)
1432
- // if (!language) {
1433
- // // user language not valid
1434
- // if (this.getBrowserLanguage(windowContext) !== undefined) {
1435
- // // browser language valid
1436
- // this.language = this.getBrowserLanguage(windowContext);
1437
- // } else {
1438
- // // browser language not valid
1439
- // this.language = this.defaultLanguage;
1440
- // }
1441
- // } else {
1442
- // // user language valid
1443
- // this.language = language;
1444
- // }
1445
- // this.language = this.language.substring(0, 2);
1446
- // // retrieve the translation
1447
- // // console.log('LINGUA IMPOSTATA: ', this.language);
1448
- // this.getLanguageObject(this.language);
1449
- // }
1450
- &nbsp;
1451
- // retrieve the language object
1452
- // private getLanguageObject(language) {
1453
- // if (language === 'en') {
1454
- // this.translations = translations.en;
1455
- // } else if (language === 'it') {
1456
- // this.translations = translations.it;
1457
- // } else {
1458
- // // use the default language in any other case
1459
- // this.translations = translations.en;
1460
- // }
1461
- // }
1462
- &nbsp;
1463
- /**
1464
- * Translate a keyword to the language set with the method setLanguage(language)
1465
- * @param keyword the keyword to translate
1466
- * @returns the keyword translations
1467
- */
1468
- // public translateForKey(keyword: string): string {
1469
- // // console.log('this.translations -&gt; keyword: ', this.translations[keyword]);
1470
- // return !this.translations[keyword] ? '' : this.translations[keyword];
1471
- // }
1472
- &nbsp;
1473
- &nbsp;
1474
- &nbsp;
1475
- // public getDefaultLanguage() {
1476
- // return this.defaultLanguage;
1477
- // }
1478
- }
1479
- &nbsp;</pre></td></tr></table></pre>
1480
-
1481
- <div class='push'></div><!-- for sticky footer -->
1482
- </div><!-- /wrapper -->
1483
- <div class='footer quiet pad2 space-top1 center small'>
1484
- Code coverage generated by
1485
- <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
1486
- at Tue Nov 29 2022 09:13:07 GMT+0100 (Ora standard dell’Europa centrale)
1487
- </div>
1488
- <script src="../../../prettify.js"></script>
1489
- <script>
1490
- window.onload = function () {
1491
- prettyPrint();
1492
- };
1493
- </script>
1494
- <script src="../../../sorter.js"></script>
1495
- <script src="../../../block-navigation.js"></script>
1496
- </body>
1497
- </html>
1498
-