Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

946 lines
22 KiB

  1. <?xml version="1.0"?>
  2. <job>
  3. <?component error="false" debug="false"?>
  4. <resource id="title">interesting information</resource>
  5. <resource id="file name"><![CDATA[\bMUIBVT_\d\d\d\d_\d+_\d+.log]]></resource>
  6. <resource id="file path"><![CDATA[%TEMP%]]></resource>
  7. <resource id="status line"><![CDATA[Result:]]></resource>
  8. <resource id="WMI query">SELECT * FROM CIM_DataFile WHERE PATH = "%PATH%"</resource>
  9. <public>
  10. <!-- Properties -->
  11. <property get put name="top"/>
  12. <property get put name="left"/>
  13. <property get put name="height" />
  14. <property get put name="width" />
  15. <property get put name="title" />
  16. <property get put name="font" />
  17. <property get put name="color" />
  18. <property get put name="background" />
  19. <property get put name="resizable" />
  20. <property get put name="timestamp" />
  21. <property get put name="autoscroll" />
  22. <property get put name="buffer" />
  23. <property get put name="encodeBuffer" />
  24. <property get name="closed" />
  25. <property get name="IEVersion" />
  26. <property get name="OS" />
  27. <property get name="win" />
  28. <property get name="doc" />
  29. <property get name="header" />
  30. <property get name="footer" />
  31. <property name="data" />
  32. <!-- Methods -->
  33. <method name="write"> <parameter name="sText"/>
  34. </method>
  35. <method name="writeBlock"><parameter name="sText"/>
  36. </method>
  37. <method name="writeHTML"> <parameter name="sHTML"/>
  38. </method>
  39. <method name="skip"> <parameter name="nLines"/>
  40. </method>
  41. <method name="HTMLEncodeText">
  42. <parameter name="sText"/>
  43. </method>
  44. <method name="flush">
  45. </method>
  46. <method name="clear">
  47. </method>
  48. <method name="clearBuffer">
  49. </method>
  50. <method name="show">
  51. </method>
  52. <method name="hide">
  53. </method>
  54. <method name="center">
  55. </method>
  56. <method name="resizeByPercent">
  57. <parameter name="nPercentWidth"/>
  58. <parameter name="nPercentHeight"/>
  59. </method>
  60. <method name="complete">
  61. </method>
  62. <method name="close">
  63. </method>
  64. </public>
  65. <object id='ie' progid='InternetExplorer.Application'/>
  66. <resource id="debug">0</resource>
  67. <script language="VBScript">
  68. <![CDATA[
  69. Option Explicit
  70. Const TristateFalse = 0 '' Opens the file as ASCII.
  71. Const TristateTrue = - 1 '' Opens the file as Unicode.
  72. Const TristateUseDefault = - 2 '' Opens the file using the system default.
  73. Const ForReading = 1
  74. Const ForWriting = 2
  75. Const ForAppending = 8
  76. Dim bpDebug
  77. bpDebug = CBool(GetResource("debug"))
  78. Dim dpLgDt
  79. Set dpLgDt = CreateObject("Scripting.Dictionary")
  80. Dim opFileSys, opShell, spFilePath, spFileName
  81. Dim aspSplP
  82. Set opFileSys = CreateObject("Scripting.FilesystemObject")
  83. Set opShell = WScript.CreateObject("WScript.Shell")
  84. spFilePath = opShell.ExpandEnvironmentStrings(GetResource("file path"))
  85. spFileName = GetResource("file name")
  86. aspSplP = split(opShell.ExpandEnvironmentStrings(spFilePath), "\")
  87. Dim opDlRx, opNameSpace, spWQL, opFnRx
  88. Set opDlRx = CreateObject("VBScript.Regexp")
  89. With opDlRx
  90. .Global = True
  91. .IgnoreCase = True
  92. .Pattern = "^[A-Z]\:"
  93. end with
  94. spFilePath = join(aspSplP, "\\") & "\\"
  95. spFilePath = opDlRx.Replace(spfilePath, "")
  96. spWQL = GetResource("WMI query")
  97. spWQL = Replace(spWQL, "%PATH%", spFilePath)
  98. If bpDebug then
  99. WSCript.echo spWQL
  100. end If
  101. Set opNameSpace = GetObject("winmgmts:root\cimv2")
  102. If NOT isObject(opNameSpace) Then
  103. ' failed to establish a successful connection to winmgmts service
  104. WSCript.quit
  105. End If
  106. Dim aopDataSet
  107. Set aopDataSet = opNameSpace.execQuery(spWQL)
  108. Dim opDtMbr
  109. Set opFnRx = CreateObject("VBScript.Regexp")
  110. With opFnRx
  111. .Global = True
  112. .IgnoreCase = True
  113. .Pattern = GetResource("file name")
  114. end with
  115. Dim spFNX, spExpandedFullPathName, opFileH, opTxtStream, spFullyPatrsedLog
  116. Dim opCsRx
  117. Set opCsRx = CreateObject("VBScript.Regexp")
  118. With opCsRx
  119. .Global = True
  120. .IgnoreCase = True
  121. .Pattern = join(array("^",GetResource("status line"),"\s*"),"")
  122. End With
  123. For Each opDtMbr In aopDataSet
  124. spFNX = opDtMbr.FileName & "." & opDtMbr.Extension
  125. If opFnRx.Test(spFNX) Then
  126. spExpandedFullPathName = opDtMbr.Name
  127. If bpDebug then
  128. WScript.echo spExpandedFullPathName
  129. end If
  130. spFullyPatrsedLog = ""
  131. Set opFileH = opFileSys.GetFile(spExpandedFullPathName)
  132. Set opTxtStream = opFileH.OpenAsTextStream(ForReading, TristateUseDefault)
  133. Dim sPcontents
  134. Do while opTxtStream.AtEndOfStream <> true
  135. sPcontents = opTxtStream.ReadLine
  136. If opCsRx.Test(sPcontents) Then
  137. spFullyPatrsedLog = spFullyPatrsedLog & _
  138. VBNEWLINE & _
  139. opCsRx.Replace(sPcontents,"")
  140. If bpDebug Then
  141. WScript.echo opCsRx.Replace(sPcontents,"")
  142. End If
  143. End If
  144. Loop
  145. If "" <> spFullyPatrsedLog Then
  146. dpLgDt.Add spExpandedFullPathName, spFullyPatrsedLog
  147. End If
  148. opTxtStream.Close
  149. Set opTxtStream = Nothing
  150. End If
  151. Next
  152. Set aopDataSet = Nothing
  153. Set opNameSpace = Nothing
  154. Set opDlRx = nothing
  155. Set opFnRx = nothing
  156. '' WSCript.quit
  157. Dim spDaBt, spDtOut
  158. For Each spDaBt In dpLgDt.Keys
  159. spDtOut = spDtOut & _
  160. VBNEWLINE & _
  161. spDaBt & _
  162. ":" & _
  163. dpLgDt(spDaBt)
  164. Next
  165. If bpDebug then
  166. WScript.echo spDtOut
  167. End If
  168. '== Global Variables ===
  169. private oWindow
  170. private oDocument
  171. private oMsgRegionA
  172. private sTitle
  173. private bResizable
  174. private bTimestamp
  175. private bAutoscroll
  176. private bBuffer
  177. private bEncodeBuffer
  178. private bFlushing
  179. private bBlockWriting
  180. private oBuffer
  181. private sTableHTML
  182. public data
  183. Dim Debug
  184. Debug = GetResource("debug")
  185. '== Initialization ===
  186. sTitle = "Messages"
  187. bResizable = true
  188. bTimestamp = false
  189. bAutoscroll = true
  190. bBuffer = false
  191. bEncodeBuffer = true
  192. set oBuffer = Nothing
  193. bFlushing = false
  194. bBlockWriting = false
  195. with ie
  196. .menubar = 0
  197. .toolbar = 0
  198. .statusbar = 0
  199. .addressbar = 0
  200. .resizable = bResizable
  201. .navigate "about:blank"
  202. while .busy: wend
  203. on error resume next
  204. do 'occasionally IE still won't be ready...
  205. err.clear
  206. set oDocument = .document
  207. loop while err
  208. on error goto 0
  209. oDocument.open
  210. If Debug Then
  211. wscript.echo getresource("html")
  212. End If
  213. oDocument.write getresource("html")
  214. oDocument.close
  215. ie.visible= True
  216. while .busy: wend
  217. set oMsgRegionA = oDocument.all.regionA
  218. sTableHTML = oMsgRegionA.outerHTML
  219. set oWindow = .document.parentWindow
  220. with oDocument.parentWindow.screen
  221. with ie
  222. .width = .width / 1.5
  223. .height = .height / 1.5
  224. .left = (.width - ie.width) /2
  225. .top = (.height - ie.height) /2
  226. end with
  227. end with
  228. end with
  229. put_title(sTitle)
  230. oDocument.body.style.font = "normal normal 12pt 'Arial'"
  231. oDocument.all.regionA.style.font = oDocument.body.style.font
  232. oDocument.body.style.color = "black"
  233. oDocument.all.regionA.style.color = oDocument.body.style.color
  234. oDocument.body.style.background = "white"
  235. sTableHTML = oMsgRegionA.outerHTML
  236. ExecuteGlobal getresource("code")
  237. WSCript.sleep 100
  238. oDocument.body.style.background = "#AAAACC"
  239. if Debug then
  240. oDocument.body.innerhtml = "<pre>"
  241. oDocument.body.innerhtml = oDocument.body.innerhtml & _
  242. VBNEWLINE & _
  243. "oDocument.body: " & tYPEnAME(oDocument.body)
  244. oDocument.body.innerhtml = oDocument.body.innerhtml & _
  245. VBNEWLINE & _
  246. "oDocument.body.innerhtml: " & tYPEnAME(oDocument.body.innerhtml)
  247. oDocument.body.innerhtml = oDocument.body.innerhtml & _
  248. VBNEWLINE & _
  249. "oMsgRegionA: " & tYPEnAME(oMsgRegionA)
  250. oDocument.body.innerhtml = oDocument.body.innerhtml & _
  251. VBNEWLINE & _
  252. "oMsgRegionA.INNERHTML: " & tYPEnAME(oMsgRegionA.INNERHTML)
  253. oDocument.body.innerhtml = oDocument.body.innerhtml & _
  254. VBNEWLINE & _
  255. "</pre>"
  256. end if
  257. oMsgRegionA.INNERHTML = oMsgRegionA.INNERHTML & "<pre>" & _
  258. VBNEWLINE & _
  259. spDtOut & _
  260. "</pre>"
  261. oMsgRegionA.style.visibility = "visible"
  262. Dim oMsgRegionB
  263. set oMsgRegionB = oDocument.all.regionB
  264. oMsgRegionB.INNERHTML = oMsgRegionB.INNERHTML & "<pre>" & _
  265. VBNEWLINE & _
  266. getResource("title") & _
  267. "</pre>"
  268. oMsgRegionB.style.visibility = "visible"
  269. WSCript.sleep 1000
  270. '== Property Procedures ===
  271. function get_top()
  272. get_top = ie.top
  273. end function
  274. function put_top(newValue)
  275. if not isnumeric(newValue) then exit function
  276. ie.top = newValue
  277. end function
  278. function get_left()
  279. get_left = ie.left
  280. end function
  281. function put_left(newValue)
  282. if not isnumeric(newValue) then exit function
  283. ie.left = newValue
  284. end function
  285. function get_height()
  286. get_height = ie.height
  287. end function
  288. function put_height(newValue)
  289. if not isnumeric(newValue) then exit function
  290. ie.height = newValue
  291. end function
  292. function get_width()
  293. get_width = ie.width
  294. end function
  295. function put_width(newValue)
  296. if not isnumeric(newValue) then exit function
  297. ie.width = newValue
  298. end function
  299. function get_title()
  300. get_title = sTitle
  301. end function
  302. function put_title(newValue)
  303. sTitle = newValue
  304. oDocument.title = sTitle & string(256," ")
  305. '
  306. end function
  307. function get_font()
  308. get_font = oDocument.body.style.font
  309. end function
  310. function put_font(newValue)
  311. on error resume next
  312. oDocument.body.style.font = newValue
  313. oDocument.all.regionA.style.font = oDocument.body.style.font
  314. end function
  315. function get_color()
  316. get_color = oDocument.body.style.color
  317. end function
  318. function put_color(newValue)
  319. on error resume next
  320. oDocument.body.style.color = newValue
  321. oDocument.all.regionA.style.color = oDocument.body.style.color
  322. end function
  323. function get_background()
  324. get_background = oDocument.body.style.background
  325. end function
  326. function put_background(newValue)
  327. on error resume next
  328. oDocument.body.style.background = newValue
  329. end function
  330. function get_resizable()
  331. if not isnumeric(newValue) then exit function
  332. get_resizable = bResizable
  333. end function
  334. function put_resizable(newValue)
  335. if not isnumeric(newValue) then exit function
  336. bResizable = Cbool(abs(newValue))
  337. ie.resizable = bResizable
  338. end function
  339. function get_timestamp()
  340. get_timestamp = bTimestamp
  341. end function
  342. function put_timestamp(newValue)
  343. if not isnumeric(newValue) then exit function
  344. bTimestamp = Cbool(abs(newValue))
  345. end function
  346. function get_autoscroll()
  347. get_autoscroll = bAutoscroll
  348. end function
  349. function put_autoscroll(newValue)
  350. if not isnumeric(newValue) then exit function
  351. bAutoscroll = Cbool(abs(newValue))
  352. end function
  353. function put_buffer(newValue)
  354. if not isnumeric(newValue) then exit function
  355. bBuffer = Cbool(abs(newValue))
  356. if bBuffer = True then
  357. set oBuffer = new CBuffer
  358. else
  359. set oBuffer = Nothing
  360. end if
  361. end function
  362. function get_buffer()
  363. get_buffer = bBuffer
  364. end function
  365. function put_encodeBuffer(newValue)
  366. if not isnumeric(newValue) then exit function
  367. bEncodeBuffer = Cbool(abs(newValue))
  368. end function
  369. function get_encodeBuffer()
  370. get_encodeBuffer = bEncodeBuffer
  371. end function
  372. function get_win()
  373. set get_win = oWindow
  374. end function
  375. function get_doc()
  376. set get_doc = oDocument
  377. end function
  378. function get_header()
  379. set get_header = oDocument.all.divHeader
  380. end function
  381. function get_footer()
  382. set get_footer = oDocument.all.divFooter
  383. end function
  384. function get_closed()
  385. get_closed = true
  386. on error resume next
  387. get_closed = (Typename(oDocument) = "Object")
  388. end function
  389. function get_IEVersion()
  390. dim ua
  391. ua = oWindow.navigator.useragent
  392. get_IEVersion = split(trim(split(ua,";")(1))," ")(1)
  393. end function
  394. function get_OS()
  395. dim ua
  396. ua = oWindow.navigator.useragent
  397. get_OS = replace(trim(split(ua,";")(2)),")","")
  398. end function
  399. '== Public Methods ==
  400. function write(byval sText)
  401. dim cell
  402. set write = nothing
  403. if bTimestamp then
  404. sText = GetTimestamp(false) & sText
  405. end if
  406. if bBuffer then
  407. if bEncodeBuffer then
  408. oBuffer.queue SimpleEncode(sText)
  409. else
  410. oBuffer.queue sText
  411. end if
  412. exit function
  413. end if
  414. set cell = oMsgRegionA.insertRow.insertCell
  415. cell.nowrap = true
  416. cell.innerText = sText
  417. if bAutoscroll then cell.scrollintoview
  418. set write = cell
  419. end function
  420. function flush()
  421. set flush = nothing
  422. if bBuffer then
  423. if oBuffer.count then
  424. bFlushing = true
  425. set flush = WriteBlock(oBuffer.contents)
  426. bFlushing = false
  427. oBuffer.clear
  428. end if
  429. end if
  430. end function
  431. function writeBlock(byval sText)
  432. if bBuffer and not bFlushing then
  433. if bEncodeBuffer then
  434. sText = SimpleEncode(sText)
  435. end if
  436. end if
  437. sText = "<pre style='margin-top:0;margin-bottom:0;" _
  438. & "font:" _
  439. & replace(oDocument.body.style.font,"'",chr(34)) _
  440. & ";'>" _
  441. & sText & "</pre>"
  442. bBlockWriting = true
  443. set writeBlock = writeHTML(sText)
  444. bBlockWriting = false
  445. end function
  446. function writeHTML(byval sHtml)
  447. dim cell
  448. set writeHTML = nothing
  449. if bTimestamp and not (bFlushing or bBlockWriting) then
  450. sHtml = GetTimestamp(true) & sHtml
  451. end if
  452. if bBuffer and not bFlushing then
  453. oBuffer.queue sHtml
  454. exit function
  455. end if
  456. set cell = oMsgRegionA.insertRow.insertCell
  457. cell.nowrap = false
  458. cell.innerHTML = sHtml
  459. if bAutoscroll then cell.scrollintoview
  460. set writeHTML = cell
  461. end function
  462. function skip(nLines)
  463. Dim n
  464. for n = 1 to abs(cint(nLines))
  465. set skip = writeHTML("&nbsp;")
  466. next
  467. end function
  468. function clear()
  469. oMsgRegionA.outerHTML = sTableHTML
  470. set oMsgRegionA = oDocument.all.regionA
  471. oMsgRegionA.style.font = oDocument.body.style.font
  472. oMsgRegionA.style.color = oDocument.body.style.color
  473. end function
  474. function clearBuffer
  475. if bBuffer then
  476. oBuffer.clear
  477. end if
  478. end function
  479. function show
  480. ie.visible = 1
  481. end function
  482. function hide
  483. ie.visible = 0
  484. end function
  485. function center
  486. with oDocument.parentWindow.screen
  487. ie.left = (.availWidth - ie.width) /2
  488. ie.top = (.availHeight - ie.height) /2
  489. end with
  490. end function
  491. function resizeByPercent(byval nPercentWidth, byval nPercentHeight)
  492. if not isnumeric(nPercentWidth) then exit function
  493. if not isnumeric(nPercentHeight) then exit function
  494. if nPercentWidth > 100 then nPercentWidth = 100
  495. if nPercentHeight > 100 then nPercentHeight = 100
  496. with oDocument.parentWindow.screen
  497. ie.width = .availWidth * (nPercentWidth/100)
  498. ie.height = .availHeight * (nPercentHeight/100)
  499. end with
  500. end function
  501. sub complete()
  502. flush
  503. oWindow.bComplete = true
  504. end sub
  505. function close
  506. on error resume next
  507. oWindow.bComplete = true
  508. ie.quit
  509. on error goto 0
  510. end function
  511. function HTMLEncodeText(sText)
  512. Dim n
  513. ReDim chars(len(sText)-1)
  514. for n = 1 to len(sText)
  515. chars(n-1) = E__(asc(mid(sText,n,1)))
  516. next
  517. HTMLEncodeText = join(chars,"")
  518. end function
  519. '== Private Procedures ==
  520. '
  521. private function GetTimestamp(bHtml)
  522. dim timestamp
  523. timestamp = right(" " & formatdatetime(time(),vblongtime) & " ",12)
  524. if bHtml then
  525. GetTimestamp = replace(timestamp," ","&nbsp;")
  526. else
  527. GetTimestamp = timestamp
  528. end if
  529. end function
  530. function SimpleEncode(sText)
  531. SimpleEncode = replace(replace(sText,"&","&amp;"),"<","&lt;")
  532. end function
  533. '== Private Classes ==
  534. '
  535. class CBuffer
  536. private ds
  537. private i
  538. private delim
  539. sub class_initialize
  540. me.clear
  541. delim = vbcrlf
  542. end sub
  543. sub clear
  544. ds = array()
  545. i = -1
  546. end sub
  547. sub queue(str)
  548. i = i+1
  549. redim preserve ds(i)
  550. ds(i) = str
  551. end sub
  552. property get contents()
  553. contents = join(ds,delim)
  554. end property
  555. property get count()
  556. count = ubound(ds)+1
  557. end property
  558. property get delimiter()
  559. delimiter = delim
  560. end property
  561. property let delimiter(arg)
  562. delim = arg
  563. end property
  564. end class
  565. ]]>
  566. </script>
  567. <!-- Resources -->
  568. <resource id="html">
  569. <![CDATA[
  570. <html>
  571. <head>
  572. <script language="vbscript">
  573. dim bComplete
  574. bComplete = false
  575. msg = _
  576. "The calling script has not indicated that it has completed." & vbcrlf & _
  577. "Closing this window may cause the calling script to fail."
  578. sub confirm_close
  579. if bComplete then exit sub
  580. window.event.returnvalue = msg
  581. end sub
  582. set window.onbeforeunload = getref("confirm_close")
  583. </script>
  584. </head>
  585. <body>
  586. <table
  587. border="0"
  588. width="70%"
  589. cellspacing="0"
  590. cellpadding="0">
  591. <tr>
  592. <td bgcolor="#7799EE">
  593. <div id="regionB">
  594. </td>
  595. </tr>
  596. <tr>
  597. <td bgcolor="#AAAACC">
  598. <div id="regionA">
  599. </td>
  600. </tr>
  601. </div></table>
  602. </body>
  603. </html>
  604. ]]>
  605. </resource>
  606. <resource id="code">
  607. <![CDATA[
  608. Dim E__(255)
  609. E__(0) = chr(0)
  610. E__(1) = chr(1)
  611. E__(2) = chr(2)
  612. E__(3) = chr(3)
  613. E__(4) = chr(4)
  614. E__(5) = chr(5)
  615. E__(6) = chr(6)
  616. E__(7) = chr(7)
  617. E__(8) = chr(8)
  618. E__(9) = vbTab
  619. E__(10) = vbLf
  620. E__(11) = chr(11)
  621. E__(12) = chr(12)
  622. E__(13) = vbCr
  623. E__(14) = chr(14)
  624. E__(15) = chr(15)
  625. E__(16) = chr(16)
  626. E__(17) = chr(17)
  627. E__(18) = chr(18)
  628. E__(19) = chr(19)
  629. E__(20) = chr(20)
  630. E__(21) = chr(21)
  631. E__(22) = chr(22)
  632. E__(23) = chr(23)
  633. E__(24) = chr(24)
  634. E__(25) = chr(25)
  635. E__(26) = chr(26)
  636. E__(27) = chr(27)
  637. E__(28) = chr(28)
  638. E__(29) = chr(29)
  639. E__(30) = chr(30)
  640. E__(31) = chr(31)
  641. E__(32) = " "
  642. E__(33) = "!"
  643. E__(34) = "&quot;"
  644. E__(35) = "#"
  645. E__(36) = "$"
  646. E__(37) = "%"
  647. E__(38) = "&amp;"
  648. E__(39) = "'"
  649. E__(40) = "("
  650. E__(41) = ")"
  651. E__(42) = "*"
  652. E__(43) = "+"
  653. E__(44) = ","
  654. E__(45) = "-"
  655. E__(46) = "."
  656. E__(47) = "/"
  657. E__(48) = "0"
  658. E__(49) = "1"
  659. E__(50) = "2"
  660. E__(51) = "3"
  661. E__(52) = "4"
  662. E__(53) = "5"
  663. E__(54) = "6"
  664. E__(55) = "7"
  665. E__(56) = "8"
  666. E__(57) = "9"
  667. E__(58) = ":"
  668. E__(59) = ";"
  669. E__(60) = "&lt;"
  670. E__(61) = "="
  671. E__(62) = "&gt;"
  672. E__(63) = chr(63)
  673. E__(64) = "@"
  674. E__(65) = "A"
  675. E__(66) = "B"
  676. E__(67) = "C"
  677. E__(68) = "D"
  678. E__(69) = "E"
  679. E__(70) = "F"
  680. E__(71) = "G"
  681. E__(72) = "H"
  682. E__(73) = "I"
  683. E__(74) = "J"
  684. E__(75) = "K"
  685. E__(76) = "L"
  686. E__(77) = "M"
  687. E__(78) = "N"
  688. E__(79) = "O"
  689. E__(80) = "P"
  690. E__(81) = "Q"
  691. E__(82) = "R"
  692. E__(83) = "S"
  693. E__(84) = "T"
  694. E__(85) = "U"
  695. E__(86) = "V"
  696. E__(87) = "W"
  697. E__(88) = "X"
  698. E__(89) = "Y"
  699. E__(90) = "Z"
  700. E__(91) = "["
  701. E__(92) = "\"
  702. E__(93) = "]"
  703. E__(94) = "^"
  704. E__(95) = "_"
  705. E__(96) = "`"
  706. E__(97) = "a"
  707. E__(98) = "b"
  708. E__(99) = "c"
  709. E__(100) = "d"
  710. E__(101) = "e"
  711. E__(102) = "f"
  712. E__(103) = "g"
  713. E__(104) = "h"
  714. E__(105) = "i"
  715. E__(106) = "j"
  716. E__(107) = "k"
  717. E__(108) = "l"
  718. E__(109) = "m"
  719. E__(110) = "n"
  720. E__(111) = "o"
  721. E__(112) = "p"
  722. E__(113) = "q"
  723. E__(114) = "r"
  724. E__(115) = "s"
  725. E__(116) = "t"
  726. E__(117) = "u"
  727. E__(118) = "v"
  728. E__(119) = "w"
  729. E__(120) = "x"
  730. E__(121) = "y"
  731. E__(122) = "z"
  732. E__(123) = "{"
  733. E__(124) = "|"
  734. E__(125) = "}"
  735. E__(126) = "~"
  736. E__(127) = "?"
  737. E__(128) = "&#8364;"
  738. E__(129) = chr(129)
  739. E__(130) = "&#8218;"
  740. E__(131) = "&#402;"
  741. E__(132) = "&#8222;"
  742. E__(133) = "&#8230;"
  743. E__(134) = "&#8224;"
  744. E__(135) = "&#8225;"
  745. E__(136) = "&#710;"
  746. E__(137) = "&#8240;"
  747. E__(138) = "&#352;"
  748. E__(139) = "&#8249;"
  749. E__(140) = "&#338;"
  750. E__(141) = chr(141)
  751. E__(142) = "&#381;"
  752. E__(143) = chr(143)
  753. E__(144) = chr(144)
  754. E__(145) = "&#8216;"
  755. E__(146) = "&#8217;"
  756. E__(147) = "&#8220;"
  757. E__(148) = "&#8221;"
  758. E__(149) = "&#8226;"
  759. E__(150) = "&#8211;"
  760. E__(151) = "&#8212;"
  761. E__(152) = "&#732;"
  762. E__(153) = "&#8482;"
  763. E__(154) = "&#353;"
  764. E__(155) = "&#8250;"
  765. E__(156) = "&#339;"
  766. E__(157) = chr(157)
  767. E__(158) = "&#382;"
  768. E__(159) = "&#376;"
  769. E__(160) = "&#160;"
  770. E__(161) = "&#161;"
  771. E__(162) = "&#162;"
  772. E__(163) = "&#163;"
  773. E__(164) = "&#164;"
  774. E__(165) = "&#165;"
  775. E__(166) = "&#166;"
  776. E__(167) = "&#167;"
  777. E__(168) = "&#168;"
  778. E__(169) = "&#169;"
  779. E__(170) = "&#170;"
  780. E__(171) = "&#171;"
  781. E__(172) = "&#172;"
  782. E__(173) = "&#173;"
  783. E__(174) = "&#174;"
  784. E__(175) = "&#175;"
  785. E__(176) = "&#176;"
  786. E__(177) = "&#177;"
  787. E__(178) = "&#178;"
  788. E__(179) = "&#179;"
  789. E__(180) = "&#180;"
  790. E__(181) = "&#181;"
  791. E__(182) = "&#182;"
  792. E__(183) = "&#183;"
  793. E__(184) = "&#184;"
  794. E__(185) = "&#185;"
  795. E__(186) = "&#186;"
  796. E__(187) = "&#187;"
  797. E__(188) = "&#188;"
  798. E__(189) = "&#189;"
  799. E__(190) = "&#190;"
  800. E__(191) = "&#191;"
  801. E__(192) = "&#192;"
  802. E__(193) = "&#193;"
  803. E__(194) = "&#194;"
  804. E__(195) = "&#195;"
  805. E__(196) = "&#196;"
  806. E__(197) = "&#197;"
  807. E__(198) = "&#198;"
  808. E__(199) = "&#199;"
  809. E__(200) = "&#200;"
  810. E__(201) = "&#201;"
  811. E__(202) = "&#202;"
  812. E__(203) = "&#203;"
  813. E__(204) = "&#204;"
  814. E__(205) = "&#205;"
  815. E__(206) = "&#206;"
  816. E__(207) = "&#207;"
  817. E__(208) = "&#208;"
  818. E__(209) = "&#209;"
  819. E__(210) = "&#210;"
  820. E__(211) = "&#211;"
  821. E__(212) = "&#212;"
  822. E__(213) = "&#213;"
  823. E__(214) = "&#214;"
  824. E__(215) = "&#215;"
  825. E__(216) = "&#216;"
  826. E__(217) = "&#217;"
  827. E__(218) = "&#218;"
  828. E__(219) = "&#219;"
  829. E__(220) = "&#220;"
  830. E__(221) = "&#221;"
  831. E__(222) = "&#222;"
  832. E__(223) = "&#223;"
  833. E__(224) = "&#224;"
  834. E__(225) = "&#225;"
  835. E__(226) = "&#226;"
  836. E__(227) = "&#227;"
  837. E__(228) = "&#228;"
  838. E__(229) = "&#229;"
  839. E__(230) = "&#230;"
  840. E__(231) = "&#231;"
  841. E__(232) = "&#232;"
  842. E__(233) = "&#233;"
  843. E__(234) = "&#234;"
  844. E__(235) = "&#235;"
  845. E__(236) = "&#236;"
  846. E__(237) = "&#237;"
  847. E__(238) = "&#238;"
  848. E__(239) = "&#239;"
  849. E__(240) = "&#240;"
  850. E__(241) = "&#241;"
  851. E__(242) = "&#242;"
  852. E__(243) = "&#243;"
  853. E__(244) = "&#244;"
  854. E__(245) = "&#245;"
  855. E__(246) = "&#246;"
  856. E__(247) = "&#247;"
  857. E__(248) = "&#248;"
  858. E__(249) = "&#249;"
  859. E__(250) = "&#250;"
  860. E__(251) = "&#251;"
  861. E__(252) = "&#252;"
  862. E__(253) = "&#253;"
  863. E__(254) = "&#254;"
  864. E__(255) = "&#255;"
  865. ]]>
  866. </resource>
  867. </job>