Hex Artifact Content Вы: nobody
Вход

Artifact c9db34d325c2a26ce53079aef744c97300820a2e:


0000: 2f 2f 20 28 f1 29 20 c0 eb e5 ea f1 e0 ed e4 f0  // (.) .........
0010: 20 ce f0 e5 f4 ea ee e2 0d 0a 76 61 72 20 69 6e   .........var in
0020: 46 69 6c 65 4e 61 6d 65 2c 20 69 6e 74 44 69 72  FileName, intDir
0030: 2c 20 6f 75 74 44 69 72 09 2f 2f 20 d1 f2 e0 f0  , outDir.// ....
0040: f2 ee e2 fb e5 20 ef e0 f0 e0 ec e5 f2 f0 fb 0d  ..... ..........
0050: 0a 0d 0a 0d 0a 76 61 72 20 78 6d 6c 2c 09 2f 2f  .....var xml,.//
0060: 20 c2 f5 ee e4 ed ee e9 20 f4 e0 e9 eb 0d 0a 09   ....... .......
0070: 78 6d 6c 50 72 6f 67 49 44 3d 22 4d 53 58 4d 4c  xmlProgID="MSXML
0080: 32 2e 44 4f 4d 44 6f 63 75 6d 65 6e 74 2e 35 2e  2.DOMDocument.5.
0090: 30 22 09 2f 2f 20 c2 e5 f0 f1 e8 ff 20 ef e0 f0  0".// ...... ...
00a0: f1 e5 f0 e0 0d 0a 0d 0a 76 61 72 20 66 73 6f 3d  ........var fso=
00b0: 6e 65 77 20 41 63 74 69 76 65 58 4f 62 6a 65 63  new ActiveXObjec
00c0: 74 28 22 53 63 72 69 70 74 69 6e 67 2e 46 69 6c  t("Scripting.Fil
00d0: 65 53 79 73 74 65 6d 4f 62 6a 65 63 74 22 29 0d  eSystemObject").
00e0: 0a 0d 0a 76 61 72 20 6e 6f 64 65 48 65 61 64 2c  ...var nodeHead,
00f0: 09 2f 2f 20 c7 e0 e3 ee f2 ee e2 ea e0 20 e4 eb  .// ......... ..
0100: ff 20 e2 f1 f2 e0 e2 ea e8 20 e2 20 f1 ee e7 e4  . ....... . ....
0110: e0 e2 e0 e5 ec fb e5 20 f4 e0 e9 eb fb 0d 0a 09  ....... ........
0120: 6e 6f 64 65 42 6f 64 79 2c 09 2f 2f 20 c7 e0 e3  nodeBody,.// ...
0130: ee f2 ee e2 ea e0 20 e4 eb ff 20 e2 f1 f2 e0 e2  ...... ... .....
0140: ea e8 20 e2 20 f1 ee e7 e4 e0 e2 e0 e5 ec fb e5  .. . ...........
0150: 20 f4 e0 e9 eb fb 0d 0a 09 6e 6f 64 65 43 6f 6d   ........nodeCom
0160: 6d 6f 6e 2c 09 2f 2f 20 d3 e7 e5 eb 20 78 6d 6c  mon,.// .... xml
0170: 5b 63 6f 6d 6d 6f 6e 5d 0d 0a 09 6e 6f 64 65 44  [common]...nodeD
0180: 6f 63 75 6d 65 6e 74 2f 2f 20 ca ee f0 e5 ed fc  ocument// ......
0190: 20 e4 ee ea f3 ec e5 ed f2 e0 0d 0a 09 0d 0a 09   ...............
01a0: 0d 0a 0d 0a 76 61 72 20 68 68 63 46 69 6c 65 09  ....var hhcFile.
01b0: 09 09 09 09 2f 2f 20 d4 e0 e9 eb 20 f1 ee e4 e5  ....// .... ....
01c0: f0 e6 e0 ed e8 ff 0d 0a 0d 0a 2f 2f 2f 2f 2f 2f  ..........//////
01d0: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
01e0: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
01f0: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
0200: 2f 2f 2f 2f 2f 2f 2f 2f 2f 0d 0a 2f 2f 20 c2 f1  /////////..// ..
0210: ef ee ec ee e3 e0 f2 e5 eb fc ed fb e5 20 ec e5  ............. ..
0220: f2 ee e4 fb 0d 0a 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ......//////////
0230: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
0240: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
0250: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
0260: 2f 2f 2f 2f 2f 0d 0a 66 75 6e 63 74 69 6f 6e 20  /////..function 
0270: 53 68 6f 77 54 65 78 74 28 74 78 74 29 7b 57 53  ShowText(txt){WS
0280: 63 72 69 70 74 2e 45 63 68 6f 28 74 78 74 29 7d  cript.Echo(txt)}
0290: 0d 0a 0d 0a 76 61 72 20 43 72 65 61 74 65 64 46  ....var CreatedF
02a0: 69 6c 65 73 3d 41 72 72 61 79 28 29 09 2f 2f 20  iles=Array().// 
02b0: c8 ec e5 ed e0 20 e2 f1 e5 f5 20 f1 ee e7 e4 e0  ..... .... .....
02c0: e2 e0 e5 ec fb f5 20 f4 e0 e9 eb ee e2 0d 0a 0d  ...... .........
02d0: 0a 66 75 6e 63 74 69 6f 6e 20 43 72 65 61 74 65  .function Create
02e0: 46 69 6c 65 28 6e 61 6d 65 29 0d 0a 7b 0d 0a 09  File(name)..{...
02f0: 74 72 79 7b 0d 0a 09 09 76 61 72 20 66 69 6c 65  try{....var file
0300: 3d 66 73 6f 2e 43 72 65 61 74 65 54 65 78 74 46  =fso.CreateTextF
0310: 69 6c 65 28 6e 61 6d 65 29 0d 0a 09 09 69 66 28  ile(name)....if(
0320: 66 69 6c 65 29 0d 0a 09 09 7b 0d 0a 09 09 09 43  file)....{.....C
0330: 72 65 61 74 65 64 46 69 6c 65 73 5b 6e 61 6d 65  reatedFiles[name
0340: 5d 3d 31 0d 0a 09 09 09 72 65 74 75 72 6e 20 66  ]=1.....return f
0350: 69 6c 65 0d 0a 09 09 7d 0d 0a 09 7d 63 61 74 63  ile....}...}catc
0360: 68 28 65 29 7b 7d 0d 0a 09 72 65 74 75 72 6e 20  h(e){}...return 
0370: 6e 75 6c 6c 0d 0a 7d 0d 0a 0d 0a 66 75 6e 63 74  null..}....funct
0380: 69 6f 6e 20 46 61 74 61 6c 45 72 72 6f 72 28 74  ion FatalError(t
0390: 78 74 29 0d 0a 7b 0d 0a 09 53 68 6f 77 54 65 78  xt)..{...ShowTex
03a0: 74 28 74 78 74 29 0d 0a 0d 0a 09 69 66 28 68 68  t(txt).....if(hh
03b0: 6b 46 69 6c 65 29 0d 0a 09 09 68 68 6b 46 69 6c  kFile)....hhkFil
03c0: 65 2e 43 6c 6f 73 65 28 29 0d 0a 09 69 66 28 68  e.Close()...if(h
03d0: 68 63 46 69 6c 65 29 0d 0a 09 09 68 68 63 46 69  hcFile)....hhcFi
03e0: 6c 65 2e 43 6c 6f 73 65 28 29 0d 0a 0d 0a 09 66  le.Close().....f
03f0: 6f 72 28 76 61 72 20 69 20 69 6e 20 43 72 65 61  or(var i in Crea
0400: 74 65 64 46 69 6c 65 73 29 0d 0a 09 09 66 73 6f  tedFiles)....fso
0410: 2e 44 65 6c 65 74 65 46 69 6c 65 28 69 2c 20 74  .DeleteFile(i, t
0420: 72 75 65 29 0d 0a 0d 0a 09 57 53 63 72 69 70 74  rue).....WScript
0430: 2e 51 75 69 74 28 31 29 0d 0a 7d 0d 0a 0d 0a 2f  .Quit(1)..}..../
0440: 2f 20 cf ee eb f3 f7 e5 ed e8 e5 20 e0 f2 f0 e8  / ......... ....
0450: e1 f3 f2 e0 20 f3 e7 eb e0 0d 0a 66 75 6e 63 74  .... ......funct
0460: 69 6f 6e 20 47 65 74 41 74 74 72 69 62 28 6e 6f  ion GetAttrib(no
0470: 64 65 2c 20 61 74 72 4e 61 6d 65 29 0d 0a 7b 0d  de, atrName)..{.
0480: 0a 09 69 66 28 6e 6f 64 65 2e 61 74 74 72 69 62  ..if(node.attrib
0490: 75 74 65 73 2e 67 65 74 4e 61 6d 65 64 49 74 65  utes.getNamedIte
04a0: 6d 28 61 74 72 4e 61 6d 65 29 29 0d 0a 09 09 72  m(atrName))....r
04b0: 65 74 75 72 6e 20 6e 6f 64 65 2e 61 74 74 72 69  eturn node.attri
04c0: 62 75 74 65 73 2e 67 65 74 4e 61 6d 65 64 49 74  butes.getNamedIt
04d0: 65 6d 28 61 74 72 4e 61 6d 65 29 2e 74 65 78 74  em(atrName).text
04e0: 0d 0a 09 72 65 74 75 72 6e 20 22 22 0d 0a 7d 0d  ...return ""..}.
04f0: 0a 0d 0a 2f 2f 20 d3 f1 f2 e0 ed ee e2 ea e0 20  ...// ......... 
0500: e0 f2 f0 e8 e1 f3 f2 e0 20 f2 fd e3 e0 0d 0a 66  ........ ......f
0510: 75 6e 63 74 69 6f 6e 20 53 65 74 41 74 74 72 69  unction SetAttri
0520: 62 28 6e 6f 64 65 2c 20 61 74 72 4e 61 6d 65 2c  b(node, atrName,
0530: 20 61 74 72 56 61 6c 29 0d 0a 7b 0d 0a 09 69 66   atrVal)..{...if
0540: 20 28 21 6e 6f 64 65 2e 61 74 74 72 69 62 75 74   (!node.attribut
0550: 65 73 2e 67 65 74 4e 61 6d 65 64 49 74 65 6d 28  es.getNamedItem(
0560: 61 74 72 4e 61 6d 65 29 29 0d 0a 09 7b 0d 0a 09  atrName))...{...
0570: 09 76 61 72 20 61 74 72 3d 78 6d 6c 2e 63 72 65  .var atr=xml.cre
0580: 61 74 65 41 74 74 72 69 62 75 74 65 28 61 74 72  ateAttribute(atr
0590: 4e 61 6d 65 29 0d 0a 09 09 6e 6f 64 65 2e 61 74  Name)....node.at
05a0: 74 72 69 62 75 74 65 73 2e 73 65 74 4e 61 6d 65  tributes.setName
05b0: 64 49 74 65 6d 28 61 74 72 29 0d 0a 09 7d 0d 0a  dItem(atr)...}..
05c0: 09 6e 6f 64 65 2e 61 74 74 72 69 62 75 74 65 73  .node.attributes
05d0: 2e 67 65 74 4e 61 6d 65 64 49 74 65 6d 28 61 74  .getNamedItem(at
05e0: 72 4e 61 6d 65 29 2e 74 65 78 74 3d 61 74 72 56  rName).text=atrV
05f0: 61 6c 0d 0a 7d 0d 0a 0d 0a 2f 2f 2f 2f 2f 2f 2f  al..}....///////
0600: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
0610: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
0620: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
0630: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
0640: 2f 2f 2f 2f 2f 0d 0a 2f 2f 20 ce c1 da c5 ca d2  /////..// ......
0650: 20 48 48 4b 4e 6f 64 65 0d 0a 2f 2f 20 d3 e7 e5   HHKNode..// ...
0660: eb 20 e2 20 e4 e5 f0 e5 e2 e5 20 ea eb fe f7 e5  . . ...... .....
0670: e2 fb f5 20 f1 eb ee e2 0d 0a 2f 2f 2f 2f 2f 2f  ... ......//////
0680: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
0690: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
06a0: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
06b0: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
06c0: 2f 2f 2f 2f 2f 2f 0d 0a 76 61 72 20 68 68 6b 52  //////..var hhkR
06d0: 6f 6f 74 2c 20 68 68 6b 46 69 6c 65 09 09 2f 2f  oot, hhkFile..//
06e0: 20 c4 eb ff 20 f0 e0 e1 ee f2 fb 20 f1 20 e8 ed   ... ...... . ..
06f0: e4 e5 ea f1 e0 ec e8 0d 0a 0d 0a 2f 2f 20 ca ee  ...........// ..
0700: ed f1 f2 f0 f3 ea f2 ee f0 20 f3 e7 eb e0 20 ea  ......... .... .
0710: eb fe f7 e5 e2 fb f5 20 f1 eb ee e2 0d 0a 66 75  ....... ......fu
0720: 6e 63 74 69 6f 6e 20 48 48 4b 4e 6f 64 65 28 29  nction HHKNode()
0730: 0d 0a 7b 0d 0a 09 74 68 69 73 2e 61 6e 63 68 6f  ..{...this.ancho
0740: 72 73 3d 41 72 72 61 79 28 29 09 2f 2f 20 cc e0  rs=Array().// ..
0750: f1 f1 e8 e2 20 ef e0 f0 20 2d 20 ea eb fe f7 e5  .... ... - .....
0760: e2 ee e5 20 f1 eb ee e2 ee 2f ec e0 f1 f1 e8 e2  ... ...../......
0770: 20 f1 f1 fb eb ee ea 0d 0a 09 74 68 69 73 2e 63   .........this.c
0780: 68 69 6c 64 73 3d 41 72 72 61 79 28 29 09 09 2f  hilds=Array()../
0790: 2f 20 cc e0 f1 f1 e8 e2 20 ef e0 f0 20 2d 20 ea  / ...... ... - .
07a0: eb fe f7 e5 e2 ee e5 20 f1 eb ee e2 ee 2f ef ee  ....... ...../..
07b0: f2 ee ec ee ea 0d 0a 09 2f 2f 20 cd e0 e7 ed e0  ........// .....
07c0: f7 e0 e5 ec 20 f4 f3 ed ea f6 e8 e8 0d 0a 09 74  .... ..........t
07d0: 68 69 73 2e 41 64 64 4b 65 79 77 6f 72 64 3d 48  his.AddKeyword=H
07e0: 48 4b 4e 6f 64 65 5f 41 64 64 4b 65 79 77 6f 72  HKNode_AddKeywor
07f0: 64 0d 0a 09 74 68 69 73 2e 53 61 76 65 3d 48 48  d...this.Save=HH
0800: 4b 4e 6f 64 65 5f 53 61 76 65 0d 0a 7d 0d 0a 0d  KNode_Save..}...
0810: 0a 2f 2f 20 c4 ee e1 e0 e2 eb e5 ed e8 e5 20 ea  .// .......... .
0820: eb fe f7 e5 e2 ee e3 ee 20 f1 eb ee e2 e0 0d 0a  ........ .......
0830: 2f 2f 20 c4 eb ff 20 f0 e0 e7 e4 e5 eb e5 ed e8  // ... .........
0840: ff 20 ec ed ee e3 ee f3 f0 ee e2 ed e5 e2 fb f5  . ..............
0850: 20 f1 eb ee e2 20 e8 f1 ef ee eb fc e7 f3 e5 f2   .... ..........
0860: f1 ff 20 27 2c 27 0d 0a 2f 2f 20 cd e0 ef f0 e8  .. ','..// .....
0870: ec e5 f0 0d 0a 2f 2f 20 f1 eb ee e2 ee 31 0d 0a  .....// .....1..
0880: 2f 2f 20 f1 eb ee e2 ee 31 2c 20 f1 eb ee e2 ee  // .....1, .....
0890: 32 0d 0a 2f 2f 20 f1 ee e7 e4 e0 f1 f2 20 f2 e0  2..// ....... ..
08a0: ea f3 fe 20 f1 f2 f0 f3 ea f2 f3 f0 f3 20 e2 20  ... ......... . 
08b0: e8 ed e4 e5 ea f1 e5 0d 0a 2f 2f 20 f1 eb ee e2  .........// ....
08c0: ee 31 0d 0a 2f 2f 20 20 20 20 20 f1 eb ee e2 ee  .1..//     .....
08d0: 32 0d 0a 66 75 6e 63 74 69 6f 6e 20 48 48 4b 4e  2..function HHKN
08e0: 6f 64 65 5f 41 64 64 4b 65 79 77 6f 72 64 28 61  ode_AddKeyword(a
08f0: 6e 63 68 6f 72 2c 20 6b 65 79 77 6f 72 64 29 0d  nchor, keyword).
0900: 0a 7b 0d 0a 09 76 61 72 20 69 64 78 3d 6b 65 79  .{...var idx=key
0910: 77 6f 72 64 2e 69 6e 64 65 78 4f 66 28 22 2c 22  word.indexOf(","
0920: 29 09 2f 2f 20 cf f0 ee e2 e5 f0 ff e5 ec 2c 20  ).// ........., 
0930: e5 f1 f2 fc 20 eb e8 20 ef ee e4 f1 eb ee e2 e0  .... .. ........
0940: 0d 0a 09 2f 2f 20 c2 fb e4 e5 eb ff e5 ec 20 ef  ...// ........ .
0950: e5 f0 e2 ee e5 20 f1 eb ee e2 ee 20 e8 20 ee e1  ..... ..... . ..
0960: f0 e5 e7 e0 e5 ec 20 f1 eb e5 e2 e0 2f f1 ef f0  ...... ...../...
0970: e0 e2 e0 0d 0a 09 76 61 72 20 6b 65 79 20 3d 20  ......var key = 
0980: 28 69 64 78 3c 30 3f 6b 65 79 77 6f 72 64 3a 6b  (idx<0?keyword:k
0990: 65 79 77 6f 72 64 2e 73 75 62 73 74 72 28 30 2c  eyword.substr(0,
09a0: 20 69 64 78 29 29 2e 72 65 70 6c 61 63 65 28 2f   idx)).replace(/
09b0: 5e 5c 73 2b 7c 5c 73 2b 24 2f 67 2c 20 22 22 29  ^\s+|\s+$/g, "")
09c0: 0d 0a 09 69 66 28 21 6b 65 79 2e 6c 65 6e 67 74  ...if(!key.lengt
09d0: 68 29 0d 0a 09 09 72 65 74 75 72 6e 0d 0a 0d 0a  h)....return....
09e0: 09 2f 2f 20 c5 f1 eb e8 20 e4 eb ff 20 f1 eb ee  .// .... ... ...
09f0: e2 e0 20 e5 f9 e5 20 ed e5 f2 20 ec e0 f1 f1 e8  .. ... ... .....
0a00: e2 e0 20 f1 f1 fb eb ee ea 2c 20 f1 ee e7 e4 e0  .. ......, .....
0a10: e4 e8 ec 20 e5 e3 ee 0d 0a 09 69 66 28 21 74 68  ... ......if(!th
0a20: 69 73 2e 61 6e 63 68 6f 72 73 5b 6b 65 79 5d 29  is.anchors[key])
0a30: 0d 0a 09 09 74 68 69 73 2e 61 6e 63 68 6f 72 73  ....this.anchors
0a40: 5b 6b 65 79 5d 3d 41 72 72 61 79 28 29 0d 0a 09  [key]=Array()...
0a50: 2f 2f 20 d2 e5 ef e5 f0 fc 20 e4 ee e1 e0 e2 e8  // ...... ......
0a60: ec 20 f1 f1 fb eb ea f3 20 e2 20 f1 ee ee f2 e2  . ...... . .....
0a70: e5 f2 f1 f2 e2 f3 fe f9 e8 e9 20 f1 eb ee e2 f3  .......... .....
0a80: 20 ec e0 f1 f1 e8 e2 0d 0a 09 2f 2f 20 ef f0 e8   .........// ...
0a90: 20 fd f2 ee ec 20 f1 f1 fb eb ea e0 20 e4 ee e1   .... ...... ...
0aa0: e0 e2 eb ff e5 f2 f1 ff 20 e8 eb e8 20 e5 f1 eb  ........ ... ...
0ab0: e8 20 ed e5 f2 20 ef ee e4 f1 eb ee e2 0d 0a 09  . ... ..........
0ac0: 2f 2f 20 e8 eb e8 20 fd f2 ee 20 ef e5 f0 e2 e0  // ... ... .....
0ad0: ff 20 f1 f1 fb eb ea e0 20 e4 eb ff 20 f1 eb ee  . ...... ... ...
0ae0: e2 e0 0d 0a 09 69 66 28 69 64 78 3c 30 20 7c 7c  .....if(idx<0 ||
0af0: 20 21 74 68 69 73 2e 61 6e 63 68 6f 72 73 5b 6b   !this.anchors[k
0b00: 65 79 5d 2e 6c 65 6e 67 74 68 29 0d 0a 09 09 74  ey].length)....t
0b10: 68 69 73 2e 61 6e 63 68 6f 72 73 5b 6b 65 79 5d  his.anchors[key]
0b20: 5b 74 68 69 73 2e 61 6e 63 68 6f 72 73 5b 6b 65  [this.anchors[ke
0b30: 79 5d 2e 6c 65 6e 67 74 68 5d 3d 61 6e 63 68 6f  y].length]=ancho
0b40: 72 0d 0a 0d 0a 09 2f 2f 20 c5 f1 eb e8 20 e5 f1  r.....// .... ..
0b50: f2 fc 20 ef ee e4 f1 eb ee e2 e0 2c 20 f1 ee e7  .. ........, ...
0b60: e4 e0 e4 e8 ec 20 ef ee f2 ee ec ea e0 20 e4 eb  ..... ....... ..
0b70: ff 20 e4 e0 ed ed ee e3 ee 20 f1 eb ee e2 e0 0d  . ....... ......
0b80: 0a 09 2f 2f 20 e8 20 e4 ee e1 e0 e2 e8 ec 20 e2  ..// . ....... .
0b90: 20 ed e5 e3 ee 20 ee f1 f2 e0 f2 ee ea 20 f1 f2   .... ....... ..
0ba0: f0 ee ea e8 0d 0a 09 69 66 28 69 64 78 3e 3d 30  .......if(idx>=0
0bb0: 29 0d 0a 09 7b 0d 0a 09 09 69 66 28 21 74 68 69  )...{....if(!thi
0bc0: 73 2e 63 68 69 6c 64 73 5b 6b 65 79 5d 29 0d 0a  s.childs[key])..
0bd0: 09 09 09 74 68 69 73 2e 63 68 69 6c 64 73 5b 6b  ...this.childs[k
0be0: 65 79 5d 3d 6e 65 77 20 48 48 4b 4e 6f 64 65 28  ey]=new HHKNode(
0bf0: 29 0d 0a 09 09 74 68 69 73 2e 63 68 69 6c 64 73  )....this.childs
0c00: 5b 6b 65 79 5d 2e 41 64 64 4b 65 79 77 6f 72 64  [key].AddKeyword
0c10: 28 61 6e 63 68 6f 72 2c 20 6b 65 79 77 6f 72 64  (anchor, keyword
0c20: 2e 73 75 62 73 74 72 28 69 64 78 2b 31 29 29 0d  .substr(idx+1)).
0c30: 0a 09 7d 0d 0a 0d 0a 7d 0d 0a 0d 0a 2f 2f 20 d1  ..}....}....// .
0c40: ee f5 f0 e0 ed e5 ed e8 e5 20 e4 e5 f0 e5 e2 e0  ......... ......
0c50: 20 e8 ed e4 e5 ea f1 ee e2 20 e2 20 f4 e0 e9 eb   ........ . ....
0c60: 0d 0a 66 75 6e 63 74 69 6f 6e 20 48 48 4b 4e 6f  ..function HHKNo
0c70: 64 65 5f 53 61 76 65 28 29 0d 0a 7b 0d 0a 09 2f  de_Save()..{.../
0c80: 2f 20 cd e0 f7 ed e5 ec 20 f1 ef e8 f1 ee ea 0d  / ...... .......
0c90: 0a 09 68 68 6b 46 69 6c 65 2e 57 72 69 74 65 28  ..hhkFile.Write(
0ca0: 27 3c 55 4c 3e 5c 72 5c 6e 27 29 0d 0a 09 0d 0a  '<UL>\r\n').....
0cb0: 09 2f 2f 20 cf e5 f0 e5 e1 e5 f0 e5 ec 20 e2 f1  .// ......... ..
0cc0: e5 20 e4 ee e1 e0 e2 eb e5 ed ed fb e5 20 f1 eb  . ........... ..
0cd0: ee e2 e0 0d 0a 09 66 6f 72 28 76 61 72 20 6b 65  ......for(var ke
0ce0: 79 20 69 6e 20 74 68 69 73 2e 61 6e 63 68 6f 72  y in this.anchor
0cf0: 73 29 0d 0a 09 7b 0d 0a 09 09 2f 2f 20 c4 eb ff  s)...{....// ...
0d00: 20 e2 f1 e5 f5 20 ea eb fe f7 e5 e2 fb f5 20 f1   .... ........ .
0d10: eb ee e2 20 e4 ee e1 e0 e2 e8 ec 20 ef f3 ed ea  ... ....... ....
0d20: f2 20 f1 ef e8 f1 ea e0 0d 0a 09 09 68 68 6b 46  . ..........hhkF
0d30: 69 6c 65 2e 57 72 69 74 65 28 0d 0a 09 09 09 27  ile.Write(.....'
0d40: 20 20 3c 4c 49 3e 3c 4f 42 4a 45 43 54 20 74 79    <LI><OBJECT ty
0d50: 70 65 3d 22 74 65 78 74 2f 73 69 74 65 6d 61 70  pe="text/sitemap
0d60: 22 3e 5c 72 5c 6e 27 2b 0d 0a 09 09 09 27 20 20  ">\r\n'+.....'  
0d70: 3c 70 61 72 61 6d 20 6e 61 6d 65 3d 22 4e 61 6d  <param name="Nam
0d80: 65 22 20 76 61 6c 75 65 3d 22 27 2b 6e 6f 72 6d  e" value="'+norm
0d90: 28 6b 65 79 29 2b 27 22 3e 5c 72 5c 6e 27 29 0d  (key)+'">\r\n').
0da0: 0a 09 09 2f 2f 20 c8 20 e2 ef e8 f8 e5 ec 20 e2  ...// . ...... .
0db0: f1 e5 20 f1 f1 fb eb ea e8 20 e4 eb ff 20 fd f2  .. ...... ... ..
0dc0: ee e3 ee 20 f1 eb ee e2 e0 0d 0a 09 09 66 6f 72  ... .........for
0dd0: 28 76 61 72 20 61 6e 63 68 6f 72 20 69 6e 20 74  (var anchor in t
0de0: 68 69 73 2e 61 6e 63 68 6f 72 73 5b 6b 65 79 5d  his.anchors[key]
0df0: 29 0d 0a 09 09 09 68 68 6b 46 69 6c 65 2e 57 72  ).....hhkFile.Wr
0e00: 69 74 65 28 27 20 20 20 20 3c 70 61 72 61 6d 20  ite('    <param 
0e10: 6e 61 6d 65 3d 22 4c 6f 63 61 6c 22 20 76 61 6c  name="Local" val
0e20: 75 65 3d 22 27 2b 74 68 69 73 2e 61 6e 63 68 6f  ue="'+this.ancho
0e30: 72 73 5b 6b 65 79 5d 5b 61 6e 63 68 6f 72 5d 2b  rs[key][anchor]+
0e40: 27 22 3e 5c 72 5c 6e 27 29 0d 0a 09 09 68 68 6b  '">\r\n')....hhk
0e50: 46 69 6c 65 2e 57 72 69 74 65 28 27 20 20 20 20  File.Write('    
0e60: 3c 2f 4f 42 4a 45 43 54 3e 5c 72 5c 6e 27 29 0d  </OBJECT>\r\n').
0e70: 0a 09 09 2f 2f 20 c5 f1 eb e8 20 f3 20 f1 eb ee  ...// .... . ...
0e80: e2 e0 20 e5 f1 f2 fc 20 ef ee e4 f1 eb ee e2 e0  .. .... ........
0e90: 2c 20 e8 f5 20 f2 ee e6 e5 20 f1 ee f5 f0 e0 ed  , .. .... ......
0ea0: e8 ec 09 09 0d 0a 09 09 69 66 28 74 68 69 73 2e  ........if(this.
0eb0: 63 68 69 6c 64 73 5b 6b 65 79 5d 29 0d 0a 09 09  childs[key])....
0ec0: 09 74 68 69 73 2e 63 68 69 6c 64 73 5b 6b 65 79  .this.childs[key
0ed0: 5d 2e 53 61 76 65 28 29 0d 0a 09 7d 0d 0a 09 2f  ].Save()...}.../
0ee0: 2f 20 c7 e0 ea ee ed f7 e8 eb e8 20 f1 ef e8 f1  / ......... ....
0ef0: ee ea 0d 0a 09 68 68 6b 46 69 6c 65 2e 57 72 69  .....hhkFile.Wri
0f00: 74 65 28 27 3c 2f 55 4c 3e 5c 72 5c 6e 27 29 0d  te('</UL>\r\n').
0f10: 0a 7d 0d 0a 0d 0a 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  .}....//////////
0f20: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
0f30: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
0f40: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
0f50: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
0f60: 2f 2f 0d 0a 2f 2f 20 ce c1 da c5 ca d2 20 44 6f  //..// ...... Do
0f70: 63 53 65 63 74 69 6f 6e 0d 0a 2f 2f 20 cf f0 e5  cSection..// ...
0f80: e4 f1 f2 e0 e2 eb ff e5 f2 20 f1 ee e1 ee e9 20  ......... ..... 
0f90: f1 e5 ea f6 e8 fe 20 e4 ee ea f3 ec e5 ed f2 e0  ...... .........
0fa0: 20 e8 20 f5 f0 e0 ed e8 f2 20 e2 f1 ff ea f3 fe   . ...... ......
0fb0: 20 e8 ed f4 f3 20 ee 20 ed e5 ec 0d 0a 2f 2f 2f   .... . .....///
0fc0: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
0fd0: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
0fe0: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
0ff0: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
1000: 2f 2f 2f 2f 2f 2f 2f 2f 2f 0d 0a 0d 0a 2f 2f 20  /////////....// 
1010: cc e0 f1 f1 e8 e2 fb 20 f1 e5 ea f6 e8 e9 2c 20  ....... ......, 
1020: e2 fb ed ee f1 e8 ec fb f5 20 e2 20 f2 ee ef e8  ......... . ....
1030: ea e8 2e 0d 0a 2f 2f 20 c7 e0 ef ee eb ed ff fe  .....// ........
1040: f2 f1 ff 20 ef f0 e8 20 ee e1 f0 e0 e1 ee f2 ea  ... ... ........
1050: e5 20 f1 ee e4 e5 f0 e6 e0 ed e8 ff 20 e8 20 ef  . .......... . .
1060: ee f1 f2 f0 ee e5 ed e8 ff 20 e4 e5 f0 e5 e2 e0  ......... ......
1070: 20 f1 e5 ea f6 e8 e9 2e 0d 0a 2f 2f 20 cf e5 f0   .........// ...
1080: e2 fb e9 20 e7 e0 ef ee eb ed ff e5 f2 f1 ff 20  ... ........... 
1090: e2 20 ef ee f0 ff e4 ea e5 20 22 d1 ed e0 f7 e0  . ....... ".....
10a0: eb e0 20 ef ee f2 ee ec ea e8 2c 20 ef ee f2 ee  .. ......., ....
10b0: ec 20 f3 e7 e5 eb 22 0d 0a 2f 2f 20 e8 20 f1 eb  . ...."..// . ..
10c0: f3 e6 e8 f2 20 e4 eb ff 20 ef ee f1 eb e5 e4 f3  .... ... .......
10d0: fe f9 e5 e3 ee 20 22 e2 fb ed e5 f1 e5 ed e8 ff  ..... ".........
10e0: 22 20 f1 e5 ea f6 e8 e9 20 e2 20 f2 ee ef e8 ea  " ...... . .....
10f0: e8 2c 0d 0a 2f 2f 20 f7 f2 ee e1 fb 20 f1 ed e0  .,..// ..... ...
1100: f7 e0 eb e0 20 e4 ee f7 e5 f0 ed e8 e5 20 f1 e5  .... ........ ..
1110: ea f6 e8 e8 20 f3 e4 e0 eb e8 eb e8 f1 fc 20 e8  .... ......... .
1120: e7 20 e4 ee ea f3 ec e5 ed f2 e0 2c 0d 0a 2f 2f  . .........,..//
1130: 20 e0 20 e2 f2 ee f0 ee e9 20 e7 e0 ef ee eb ed   . ...... ......
1140: ff e5 f2 f1 ff 20 22 d1 ed e0 f7 e0 eb e0 20 f3  ..... "....... .
1150: e7 e5 eb 2c 20 e7 e0 f2 e5 ec 20 ef ee f2 ee ec  ..., ..... .....
1160: ea e8 22 2c 0d 0a 2f 2f 20 e4 eb ff 20 ee f0 e3  ..",..// ... ...
1170: e0 ed e8 e7 e0 f6 e8 e8 20 ed e0 e2 e8 e3 e0 f6  ........ .......
1180: e8 e8 20 22 d1 eb e5 e4 f3 fe f9 e8 e9 2f cf f0  .. "........./..
1190: e5 e4 fb e4 f3 f9 e8 e9 22 0d 0a 76 61 72 20 53  ........"..var S
11a0: 65 63 74 69 6f 6e 46 72 6f 6d 43 68 69 6c 64 3d  ectionFromChild=
11b0: 41 72 72 61 79 28 29 2c 0d 0a 09 53 65 63 74 69  Array(),...Secti
11c0: 6f 6e 46 72 6f 6d 50 61 72 65 6e 74 3d 41 72 72  onFromParent=Arr
11d0: 61 79 28 29 0d 0a 0d 0a 76 61 72 20 52 6f 6f 74  ay()....var Root
11e0: 54 6f 70 69 63 2c 09 2f 2f 20 ca ee f0 e5 ed fc  Topic,.// ......
11f0: 20 e8 e5 f0 e0 f0 f5 e8 e8 20 f1 e5 ea f6 e8 e9   ........ ......
1200: 0d 0a 09 52 6f 6f 74 54 69 74 6c 65 09 2f 2f 20  ...RootTitle.// 
1210: ce e1 f9 e8 e9 20 e7 e0 e3 ee eb ee e2 ee ea 20  ..... ......... 
1220: e4 ee ea f3 ec e5 ed f2 e0 0d 0a 0d 0a 2f 2f 20  .............// 
1230: ca ee ed f1 f2 f0 f3 ea f2 ee f0 20 ee e1 fa e5  ........... ....
1240: ea f2 e0 0d 0a 2f 2f 20 c2 fb e7 fb e2 e0 e5 f2  .....// ........
1250: f1 ff 20 ef f0 e8 20 ef e5 f0 e2 ee ec 20 ee e1  .. ... ...... ..
1260: f5 ee e4 e5 20 f3 e7 eb e0 2d f1 e5 ea f6 e8 e8  .... ....-......
1270: 20 e4 ee ea f3 ec e5 ed f2 e0 2c 20 e4 ee 0d 0a   ........., ....
1280: 2f 2f 20 ee e1 f0 e0 e1 ee f2 ea e8 20 ef ee f2  // ......... ...
1290: ee ec ea ee e2 0d 0a 2f 2f 20 70 61 72 65 6e 74  .......// parent
12a0: 20 2d 20 ee e1 fa e5 ea f2 20 f0 ee e4 e8 f2 e5   - ...... ......
12b0: eb fc 0d 0a 2f 2f 20 6e 6f 64 65 20 2d 20 f3 e7  ....// node - ..
12c0: e5 eb 20 f1 e5 ea f6 e8 e8 20 e4 ee ea f3 ec e5  .. ...... ......
12d0: ed f2 e0 0d 0a 66 75 6e 63 74 69 6f 6e 20 44 6f  .....function Do
12e0: 63 53 65 63 74 69 6f 6e 28 70 61 72 65 6e 74 2c  cSection(parent,
12f0: 20 6e 6f 64 65 29 0d 0a 7b 0d 0a 09 2f 2f 20 cd   node)..{...// .
1300: e0 e7 ed e0 f7 e8 ec 20 ec e5 f2 ee e4 fb 20 ee  ....... ...... .
1310: e1 fa e5 ea f2 e0 0d 0a 09 74 68 69 73 2e 41 66  .........this.Af
1320: 74 65 72 43 68 69 6c 64 50 72 6f 63 65 73 73 65  terChildProcesse
1330: 64 09 3d 20 44 6f 63 53 65 63 74 69 6f 6e 5f 41  d.= DocSection_A
1340: 66 74 65 72 43 68 69 6c 64 50 72 6f 63 65 73 73  fterChildProcess
1350: 65 64 0d 0a 09 74 68 69 73 2e 53 61 76 65 09 09  ed...this.Save..
1360: 09 09 09 3d 20 44 6f 63 53 65 63 74 69 6f 6e 5f  ...= DocSection_
1370: 53 61 76 65 0d 0a 09 74 68 69 73 2e 4d 61 6b 65  Save...this.Make
1380: 48 72 65 66 09 09 09 09 3d 20 44 6f 63 53 65 63  Href....= DocSec
1390: 74 69 6f 6e 5f 4d 61 6b 65 48 72 65 66 0d 0a 09  tion_MakeHref...
13a0: 74 68 69 73 2e 43 6f 6d 62 69 6e 65 48 72 65 66  this.CombineHref
13b0: 73 09 09 09 3d 20 44 6f 63 53 65 63 74 69 6f 6e  s...= DocSection
13c0: 5f 43 6f 6d 62 69 6e 65 48 72 65 66 73 0d 0a 09  _CombineHrefs...
13d0: 74 68 69 73 2e 50 72 6f 63 65 73 73 4b 65 79 77  this.ProcessKeyw
13e0: 6f 72 64 73 09 09 3d 20 44 6f 63 53 65 63 74 69  ords..= DocSecti
13f0: 6f 6e 5f 50 72 6f 63 65 73 73 4b 65 79 77 6f 72  on_ProcessKeywor
1400: 64 73 0d 0a 09 74 68 69 73 2e 4d 61 6b 65 53 75  ds...this.MakeSu
1410: 62 73 74 09 09 09 09 3d 20 44 6f 63 53 65 63 74  bst....= DocSect
1420: 69 6f 6e 5f 4d 61 6b 65 53 75 62 73 74 0d 0a 09  ion_MakeSubst...
1430: 74 68 69 73 2e 49 6e 68 65 72 69 74 43 68 6d 49  this.InheritChmI
1440: 6e 66 6f 09 09 09 3d 20 44 6f 63 53 65 63 74 69  nfo...= DocSecti
1450: 6f 6e 5f 49 6e 68 65 72 69 74 43 68 6d 49 6e 66  on_InheritChmInf
1460: 6f 0d 0a 09 74 68 69 73 2e 4d 61 6b 65 54 6f 63  o...this.MakeToc
1470: 09 09 09 09 3d 20 44 6f 63 53 65 63 74 69 6f 6e  ....= DocSection
1480: 5f 4d 61 6b 65 54 6f 63 0d 0a 09 0d 0a 09 2f 2f  _MakeToc......//
1490: 20 cf ee ec ed e8 ec 20 ee 20 ef f0 e5 e4 ea e0   ...... . ......
14a0: f5 20 e8 20 ee 20 f1 e5 e1 e5 0d 0a 09 74 68 69  . . . .......thi
14b0: 73 2e 70 61 72 65 6e 74 3d 70 61 72 65 6e 74 0d  s.parent=parent.
14c0: 0a 09 74 68 69 73 2e 6e 6f 64 65 3d 6e 6f 64 65  ..this.node=node
14d0: 0d 0a 09 0d 0a 09 2f 2f 20 d2 e5 ef e5 f0 fc 20  ......// ...... 
14e0: ef ee eb f3 f7 e8 ec 20 e8 ed f4 f3 20 ee e1 20  ....... .... .. 
14f0: 63 68 6d 2d f0 e0 e7 ec e5 f2 ea e5 0d 0a 09 2f  chm-.........../
1500: 2f 20 c5 f1 eb e8 20 e5 e5 20 ed e5 f2 2c 20 f1  / .... .. ..., .
1510: ee e7 e4 e0 e4 e8 ec 20 ef f3 f1 f2 f3 fe 0d 0a  ....... ........
1520: 09 74 68 69 73 2e 63 68 6d 69 6e 66 6f 3d 6e 6f  .this.chminfo=no
1530: 64 65 2e 73 65 6c 65 63 74 53 69 6e 67 6c 65 4e  de.selectSingleN
1540: 6f 64 65 28 22 63 68 6d 69 6e 66 6f 22 29 0d 0a  ode("chminfo")..
1550: 0d 0a 09 69 66 28 21 74 68 69 73 2e 63 68 6d 69  ...if(!this.chmi
1560: 6e 66 6f 29 0d 0a 09 7b 0d 0a 09 09 74 68 69 73  nfo)...{....this
1570: 2e 63 68 6d 69 6e 66 6f 3d 78 6d 6c 2e 63 72 65  .chminfo=xml.cre
1580: 61 74 65 45 6c 65 6d 65 6e 74 28 22 63 68 6d 69  ateElement("chmi
1590: 6e 66 6f 22 29 0d 0a 09 09 69 66 28 6e 6f 64 65  nfo")....if(node
15a0: 2e 68 61 73 43 68 69 6c 64 4e 6f 64 65 73 28 29  .hasChildNodes()
15b0: 29 0d 0a 09 09 09 6e 6f 64 65 2e 69 6e 73 65 72  ).....node.inser
15c0: 74 42 65 66 6f 72 65 28 74 68 69 73 2e 63 68 6d  tBefore(this.chm
15d0: 69 6e 66 6f 2c 20 6e 6f 64 65 2e 63 68 69 6c 64  info, node.child
15e0: 4e 6f 64 65 73 2e 69 74 65 6d 28 30 29 29 0d 0a  Nodes.item(0))..
15f0: 09 09 65 6c 73 65 0d 0a 09 09 09 6e 6f 64 65 2e  ..else.....node.
1600: 61 70 70 65 6e 64 43 68 69 6c 64 28 74 68 69 73  appendChild(this
1610: 2e 63 68 6d 69 6e 66 6f 29 0d 0a 09 7d 0d 0a 0d  .chminfo)...}...
1620: 0a 09 2f 2f 20 d1 e4 e5 eb e0 e5 ec 20 e7 e0 ec  ..// ....... ...
1630: e5 ed fb 09 09 0d 0a 09 4d 61 6b 65 52 65 70 6c  ........MakeRepl
1640: 61 63 65 73 28 74 68 69 73 2e 63 68 6d 69 6e 66  aces(this.chminf
1650: 6f 2c 20 22 2e 2f 2f 69 6e 73 65 72 74 22 29 0d  o, ".//insert").
1660: 0a 09 0d 0a 09 2f 2f 20 d2 e5 ef e5 f0 fc 20 ed  .....// ...... .
1670: e0 e4 ee 20 ef ee e4 e3 ee f2 ee e2 e8 f2 fc 20  ... ........... 
1680: e8 ed f4 f3 20 ee 20 f1 e5 e1 e5 2c 20 ef ee eb  .... . ...., ...
1690: f3 f7 e8 e2 0d 0a 09 2f 2f 20 e5 e5 20 e8 eb e8  .......// .. ...
16a0: 20 e8 e7 20 f0 e0 e7 ec e5 f2 ea e8 2c 20 e8 eb   .. ........, ..
16b0: e8 20 ee f2 20 f0 ee e4 e8 f2 e5 eb e5 e9 0d 0a  . .. ...........
16c0: 09 74 68 69 73 2e 49 6e 68 65 72 69 74 43 68 6d  .this.InheritChm
16d0: 49 6e 66 6f 28 29 0d 0a 09 0d 0a 0d 0a 09 2f 2f  Info()........//
16e0: 20 c8 e7 ed e0 f7 e0 eb fc ed ee 20 f1 f7 e8 f2   .......... ....
16f0: e0 e5 ec 2c 20 f7 f2 ee 20 f1 e5 ea f6 e8 ff 20  ..., ... ...... 
1700: e2 fb ed ee f1 e8 f2 f1 ff 20 e2 20 f2 ee ef e8  ......... . ....
1710: ea 09 09 0d 0a 09 74 68 69 73 2e 49 73 54 6f 70  ......this.IsTop
1720: 69 63 3d 74 72 75 65 0d 0a 0d 0a 09 69 66 28 70  ic=true.....if(p
1730: 61 72 65 6e 74 29 0d 0a 09 7b 0d 0a 09 09 2f 2f  arent)...{....//
1740: 20 c7 e0 e3 ee eb ee e2 ee ea 20 f1 e5 ea f6 e8   ......... .....
1750: e8 0d 0a 09 09 74 68 69 73 2e 6e 54 69 74 6c 65  .....this.nTitle
1760: 3d 6e 6f 64 65 2e 73 65 6c 65 63 74 53 69 6e 67  =node.selectSing
1770: 6c 65 4e 6f 64 65 28 22 2a 5b 6e 61 6d 65 28 29  leNode("*[name()
1780: 21 3d 27 63 68 6d 69 6e 66 6f 27 5d 2f 64 65 73  !='chminfo']/des
1790: 63 65 6e 64 61 6e 74 2d 6f 72 2d 73 65 6c 66 3a  cendant-or-self:
17a0: 3a 2a 5b 73 74 61 72 74 73 2d 77 69 74 68 28 6e  :*[starts-with(n
17b0: 61 6d 65 28 29 2c 20 27 68 27 29 5d 2f 61 5b 40  ame(), 'h')]/a[@
17c0: 6e 61 6d 65 5d 22 29 0d 0a 09 09 69 66 28 21 74  name]")....if(!t
17d0: 68 69 73 2e 6e 54 69 74 6c 65 29 0d 0a 09 09 09  his.nTitle).....
17e0: 46 61 74 61 6c 45 72 72 6f 72 28 22 4e 6f 74 20  FatalError("Not 
17f0: 66 6f 75 6e 64 20 74 69 74 6c 65 20 69 6e 20 22  found title in "
1800: 2b 6e 6f 64 65 2e 78 6d 6c 29 0d 0a 09 09 74 68  +node.xml)....th
1810: 69 73 2e 54 69 74 6c 65 3d 74 68 69 73 2e 6e 54  is.Title=this.nT
1820: 69 74 6c 65 2e 74 65 78 74 0d 0a 09 09 74 68 69  itle.text....thi
1830: 73 2e 41 6e 63 68 6f 72 3d 47 65 74 41 74 74 72  s.Anchor=GetAttr
1840: 69 62 28 74 68 69 73 2e 6e 54 69 74 6c 65 2c 20  ib(this.nTitle, 
1850: 22 6e 61 6d 65 22 29 0d 0a 09 09 2f 2f 20 c2 fb  "name")....// ..
1860: ed ee f1 e8 f2 fc 20 eb e8 20 e2 20 f2 ee ef e8  ...... .. . ....
1870: ea 0d 0a 09 09 69 66 28 74 68 69 73 2e 63 68 6d  .....if(this.chm
1880: 69 6e 66 6f 2e 61 74 74 72 69 62 75 74 65 73 2e  info.attributes.
1890: 67 65 74 4e 61 6d 65 64 49 74 65 6d 28 22 73 70  getNamedItem("sp
18a0: 6c 69 74 22 29 29 0d 0a 09 09 7b 0d 0a 09 09 09  lit"))....{.....
18b0: 69 66 28 74 68 69 73 2e 63 68 6d 69 6e 66 6f 2e  if(this.chminfo.
18c0: 61 74 74 72 69 62 75 74 65 73 2e 67 65 74 4e 61  attributes.getNa
18d0: 6d 65 64 49 74 65 6d 28 22 73 70 6c 69 74 22 29  medItem("split")
18e0: 2e 74 65 78 74 3d 3d 22 30 22 29 0d 0a 09 09 09  .text=="0").....
18f0: 09 74 68 69 73 2e 49 73 54 6f 70 69 63 3d 66 61  .this.IsTopic=fa
1900: 6c 73 65 0d 0a 09 09 7d 0d 0a 09 09 65 6c 73 65  lse....}....else
1910: 0d 0a 09 09 7b 0d 0a 09 09 09 69 66 28 74 68 69  ....{.....if(thi
1920: 73 2e 70 61 72 65 6e 74 2e 63 68 6d 69 6e 66 6f  s.parent.chminfo
1930: 2e 61 74 74 72 69 62 75 74 65 73 2e 67 65 74 4e  .attributes.getN
1940: 61 6d 65 64 49 74 65 6d 28 22 73 70 6c 69 74 63  amedItem("splitc
1950: 68 69 6c 64 22 29 29 0d 0a 09 09 09 7b 0d 0a 09  hild")).....{...
1960: 09 09 09 69 66 28 74 68 69 73 2e 70 61 72 65 6e  ...if(this.paren
1970: 74 2e 63 68 6d 69 6e 66 6f 2e 61 74 74 72 69 62  t.chminfo.attrib
1980: 75 74 65 73 2e 67 65 74 4e 61 6d 65 64 49 74 65  utes.getNamedIte
1990: 6d 28 22 73 70 6c 69 74 63 68 69 6c 64 22 29 2e  m("splitchild").
19a0: 74 65 78 74 3d 3d 22 30 22 29 0d 0a 09 09 09 09  text=="0")......
19b0: 09 74 68 69 73 2e 49 73 54 6f 70 69 63 3d 66 61  .this.IsTopic=fa
19c0: 6c 73 65 0d 0a 09 09 09 7d 0d 0a 09 09 09 65 6c  lse.....}.....el
19d0: 73 65 0d 0a 09 09 09 09 74 68 69 73 2e 49 73 54  se......this.IsT
19e0: 6f 70 69 63 3d 74 68 69 73 2e 70 61 72 65 6e 74  opic=this.parent
19f0: 2e 49 73 54 6f 70 69 63 0d 0a 09 09 7d 0d 0a 09  .IsTopic....}...
1a00: 7d 0d 0a 09 65 6c 73 65 0d 0a 09 7b 0d 0a 09 09  }...else...{....
1a10: 2f 2f 20 dd f2 ee 20 f1 e0 ec e0 ff 20 ef e5 f0  // ... ..... ...
1a20: e2 e0 ff 20 f1 e5 ea f6 e8 ff 0d 0a 09 09 2f 2f  ... ..........//
1a30: 20 c7 e0 e3 ee eb ee e2 ee ea 20 f1 e5 ea f6 e8   ......... .....
1a40: e8 0d 0a 09 09 74 68 69 73 2e 54 69 74 6c 65 3d  .....this.Title=
1a50: 52 6f 6f 74 54 69 74 6c 65 0d 0a 09 09 2f 2f 20  RootTitle....// 
1a60: cf f0 ee e2 e5 f0 e8 ec 2c 20 f7 f2 ee 20 ef ee  ........, ... ..
1a70: 20 f3 ec ee eb f7 e0 ed e8 fe 20 68 72 65 66 20   ......... href 
1a80: ed e5 20 ef f3 f1 f2 0d 0a 09 09 2f 2f 20 d5 ee  .. ........// ..
1a90: f2 ff 20 ed e5 20 e7 ed e0 fe 2c 20 ec ee e6 e5  .. .. ...., ....
1aa0: f2 20 ef ee 20 f3 ec ee eb f7 e0 ed e8 fe 20 e8  . .. ......... .
1ab0: 20 ed e5 20 f1 f2 e0 e2 e8 f2 fc 20 f1 f1 fb eb   .. ....... ....
1ac0: ea e8 3f 0d 0a 09 09 76 61 72 20 68 72 65 66 4e  ..?....var hrefN
1ad0: 6f 64 65 3d 74 68 69 73 2e 63 68 6d 69 6e 66 6f  ode=this.chminfo
1ae0: 2e 73 65 6c 65 63 74 53 69 6e 67 6c 65 4e 6f 64  .selectSingleNod
1af0: 65 28 22 68 72 65 66 22 29 0d 0a 09 09 69 66 28  e("href")....if(
1b00: 21 68 72 65 66 4e 6f 64 65 2e 68 61 73 43 68 69  !hrefNode.hasChi
1b10: 6c 64 4e 6f 64 65 73 28 29 29 0d 0a 09 09 7b 0d  ldNodes())....{.
1b20: 0a 09 09 09 76 61 72 20 61 3d 78 6d 6c 2e 63 72  ....var a=xml.cr
1b30: 65 61 74 65 45 6c 65 6d 65 6e 74 28 22 61 22 29  eateElement("a")
1b40: 0d 0a 09 09 09 53 65 74 41 74 74 72 69 62 28 61  .....SetAttrib(a
1b50: 2c 20 22 68 72 65 66 22 2c 20 22 73 65 6c 66 22  , "href", "self"
1b60: 29 0d 0a 09 09 09 76 61 72 20 74 3d 78 6d 6c 2e  ).....var t=xml.
1b70: 63 72 65 61 74 65 45 6c 65 6d 65 6e 74 28 22 74  createElement("t
1b80: 69 74 6c 65 22 29 0d 0a 09 09 09 53 65 74 41 74  itle").....SetAt
1b90: 74 72 69 62 28 74 2c 20 22 74 6f 22 2c 20 22 73  trib(t, "to", "s
1ba0: 65 6c 66 22 29 0d 0a 09 09 09 61 2e 61 70 70 65  elf").....a.appe
1bb0: 6e 64 43 68 69 6c 64 28 74 29 0d 0a 09 09 09 76  ndChild(t).....v
1bc0: 61 72 20 64 69 76 3d 78 6d 6c 2e 63 72 65 61 74  ar div=xml.creat
1bd0: 65 45 6c 65 6d 65 6e 74 28 22 64 69 76 22 29 0d  eElement("div").
1be0: 0a 09 09 09 64 69 76 2e 61 70 70 65 6e 64 43 68  ....div.appendCh
1bf0: 69 6c 64 28 61 29 0d 0a 09 09 09 68 72 65 66 4e  ild(a).....hrefN
1c00: 6f 64 65 2e 61 70 70 65 6e 64 43 68 69 6c 64 28  ode.appendChild(
1c10: 64 69 76 29 0d 0a 09 09 7d 0d 0a 09 7d 0d 0a 09  div)....}...}...
1c20: 2f 2f 20 c7 e0 ef ee ec ed e8 ec 20 f1 e5 ea f6  // ........ ....
1c30: e8 e8 20 e2 20 ef ee f0 ff e4 ea e5 20 ee e1 f5  .. . ....... ...
1c40: ee e4 e0 20 f1 ee e4 e5 f0 e6 e0 ed e8 ff 0d 0a  ... ............
1c50: 09 2f 2f 20 ee f2 20 f0 ee e4 e8 f2 e5 eb e5 e9  .// .. .........
1c60: 20 ea 20 ef ee f2 ee ec ea e0 ec 0d 0a 09 74 68   . ...........th
1c70: 69 73 2e 53 65 63 74 69 6f 6e 4e 75 6d 3d 53 65  is.SectionNum=Se
1c80: 63 74 69 6f 6e 46 72 6f 6d 50 61 72 65 6e 74 2e  ctionFromParent.
1c90: 6c 65 6e 67 74 68 0d 0a 09 53 65 63 74 69 6f 6e  length...Section
1ca0: 46 72 6f 6d 50 61 72 65 6e 74 5b 74 68 69 73 2e  FromParent[this.
1cb0: 53 65 63 74 69 6f 6e 4e 75 6d 5d 3d 74 68 69 73  SectionNum]=this
1cc0: 0d 0a 0d 0a 09 2f 2f 20 ce ef f0 e5 e4 e5 eb e8  .....// ........
1cd0: ec 20 e8 ec ff 20 f4 e0 e9 eb e0 2c 20 e2 20 ea  . ... ....., . .
1ce0: ee f2 ee f0 ee ec 20 e1 f3 e4 e5 f2 20 eb e5 e6  ...... ..... ...
1cf0: e0 f2 fc 20 f1 e5 ea f6 e8 ff 0d 0a 09 76 61 72  ... .........var
1d00: 20 74 3d 74 68 69 73 3b 0d 0a 09 77 68 69 6c 65   t=this;...while
1d10: 28 21 74 2e 49 73 54 6f 70 69 63 29 0d 0a 09 09  (!t.IsTopic)....
1d20: 74 3d 74 2e 70 61 72 65 6e 74 0d 0a 09 74 68 69  t=t.parent...thi
1d30: 73 2e 46 69 6c 65 4e 61 6d 65 3d 69 6e 46 69 6c  s.FileName=inFil
1d40: 65 4e 61 6d 65 20 2b 20 74 2e 53 65 63 74 69 6f  eName + t.Sectio
1d50: 6e 4e 75 6d 20 2b 20 22 2e 68 74 6d 6c 22 0d 0a  nNum + ".html"..
1d60: 09 74 68 69 73 2e 43 68 69 6c 64 73 43 6f 6e 74  .this.ChildsCont
1d70: 65 6e 74 3d 22 22 0d 0a 7d 0d 0a 0d 0a 66 75 6e  ent=""..}....fun
1d80: 63 74 69 6f 6e 20 44 6f 63 53 65 63 74 69 6f 6e  ction DocSection
1d90: 5f 49 6e 68 65 72 69 74 43 68 6d 49 6e 66 6f 28  _InheritChmInfo(
1da0: 29 0d 0a 7b 0d 0a 09 69 66 28 21 74 68 69 73 2e  )..{...if(!this.
1db0: 70 61 72 65 6e 74 29 0d 0a 09 7b 0d 0a 09 09 2f  parent)...{..../
1dc0: 2f 20 c4 eb ff 20 ea ee f0 ed e5 e2 ee e9 20 f1  / ... ........ .
1dd0: e5 ea f6 e8 e8 20 ef f0 ee f1 f2 ee 20 f3 e1 e5  ..... ...... ...
1de0: e4 e8 ec f1 ff 20 e2 20 ed e0 eb e8 f7 e8 e8 20  ..... . ....... 
1df0: ee e1 ff e7 e0 f2 e5 eb fc ed fb f5 20 f2 fd e3  ............ ...
1e00: ee e2 0d 0a 09 09 76 61 72 20 69 6e 68 65 72 69  ......var inheri
1e10: 74 4e 6f 64 65 73 3d 41 72 72 61 79 28 27 64 65  tNodes=Array('de
1e20: 63 6f 72 61 74 69 6f 6e 27 2c 20 27 68 72 65 66  coration', 'href
1e30: 27 2c 20 27 68 72 65 66 63 6f 6d 62 69 6e 65 27  ', 'hrefcombine'
1e40: 2c 20 27 61 75 74 6f 6b 77 27 29 0d 0a 09 09 66  , 'autokw')....f
1e50: 6f 72 28 76 61 72 20 69 3d 30 3b 69 3c 69 6e 68  or(var i=0;i<inh
1e60: 65 72 69 74 4e 6f 64 65 73 2e 6c 65 6e 67 74 68  eritNodes.length
1e70: 3b 69 2b 2b 29 0d 0a 09 09 7b 0d 0a 09 09 09 76  ;i++)....{.....v
1e80: 61 72 20 69 4e 6f 64 65 3d 74 68 69 73 2e 63 68  ar iNode=this.ch
1e90: 6d 69 6e 66 6f 2e 73 65 6c 65 63 74 53 69 6e 67  minfo.selectSing
1ea0: 6c 65 4e 6f 64 65 28 69 6e 68 65 72 69 74 4e 6f  leNode(inheritNo
1eb0: 64 65 73 5b 69 5d 29 0d 0a 09 09 09 69 66 28 21  des[i]).....if(!
1ec0: 69 4e 6f 64 65 29 0d 0a 09 09 09 09 74 68 69 73  iNode)......this
1ed0: 2e 63 68 6d 69 6e 66 6f 2e 61 70 70 65 6e 64 43  .chminfo.appendC
1ee0: 68 69 6c 64 28 78 6d 6c 2e 63 72 65 61 74 65 45  hild(xml.createE
1ef0: 6c 65 6d 65 6e 74 28 69 6e 68 65 72 69 74 4e 6f  lement(inheritNo
1f00: 64 65 73 5b 69 5d 29 29 0d 0a 09 09 7d 0d 0a 09  des[i]))....}...
1f10: 7d 0d 0a 09 65 6c 73 65 0d 0a 09 7b 0d 0a 09 09  }...else...{....
1f20: 2f 2f 20 c4 eb ff 20 ee f1 f2 e0 eb fc ed fb f5  // ... .........
1f30: 20 f1 e5 ea f6 e8 e9 20 ed e0 e4 ee 20 ef f0 ee   ...... .... ...
1f40: f1 f2 ee 20 f1 ea ee ef e8 f0 ee e2 e0 f2 fc 0d  ... ............
1f50: 0a 09 09 2f 2f 20 f1 ee e4 e5 f0 e6 e8 ec ee e5  ...// ..........
1f60: 20 f0 ee e4 e8 f2 e5 eb fc f1 ea ee e9 20 f1 e5   ............ ..
1f70: ea f6 e8 e8 2c 20 ef f0 ee ef f3 f1 ea e0 ff 20  ...., ......... 
1f80: f1 ee e2 ef e0 e4 e0 fe f9 e8 e5 0d 0a 09 09 2f  .............../
1f90: 2f 20 f2 fd e3 e8 20 e8 20 ef e5 f0 e5 ec e5 f1  / .... . .......
1fa0: f2 e8 e2 20 e2 f1 e5 20 e8 e7 20 3c 63 68 69 6c  ... ... .. <chil
1fb0: 64 73 3e 20 e2 20 3c 63 68 6d 69 6e 66 6f 3e 0d  ds> . <chminfo>.
1fc0: 0a 09 09 76 61 72 20 63 68 69 6c 64 73 3d 74 68  ...var childs=th
1fd0: 69 73 2e 70 61 72 65 6e 74 2e 63 68 6d 69 6e 66  is.parent.chminf
1fe0: 6f 2e 73 65 6c 65 63 74 53 69 6e 67 6c 65 4e 6f  o.selectSingleNo
1ff0: 64 65 28 22 63 68 69 6c 64 73 22 29 0d 0a 09 09  de("childs")....
2000: 69 66 28 63 68 69 6c 64 73 29 0d 0a 09 09 7b 0d  if(childs)....{.
2010: 0a 09 09 09 2f 2f 20 c8 e7 20 f3 e7 eb e0 20 63  ....// .. .... c
2020: 68 69 6c 64 73 20 ea ee ef e8 f0 f3 e5 ec 20 e2  hilds ........ .
2030: f1 e5 20 ee f2 f1 f3 f2 f1 f2 e2 f3 fe f9 e5 e5  .. .............
2040: 20 e2 20 f1 e5 ea f6 e8 e8 0d 0a 09 09 09 66 6f   . ...........fo
2050: 72 28 76 61 72 20 69 3d 30 3b 69 3c 63 68 69 6c  r(var i=0;i<chil
2060: 64 73 2e 63 68 69 6c 64 4e 6f 64 65 73 2e 6c 65  ds.childNodes.le
2070: 6e 67 74 68 3b 69 2b 2b 29 0d 0a 09 09 09 7b 0d  ngth;i++).....{.
2080: 0a 09 09 09 09 76 61 72 20 63 75 72 4e 6f 64 65  .....var curNode
2090: 3d 63 68 69 6c 64 73 2e 63 68 69 6c 64 4e 6f 64  =childs.childNod
20a0: 65 73 2e 69 74 65 6d 28 69 29 0d 0a 09 09 09 09  es.item(i)......
20b0: 69 66 28 63 75 72 4e 6f 64 65 2e 62 61 73 65 4e  if(curNode.baseN
20c0: 61 6d 65 2e 6c 65 6e 67 74 68 20 26 26 20 21 74  ame.length && !t
20d0: 68 69 73 2e 63 68 6d 69 6e 66 6f 2e 73 65 6c 65  his.chminfo.sele
20e0: 63 74 53 69 6e 67 6c 65 4e 6f 64 65 28 63 75 72  ctSingleNode(cur
20f0: 4e 6f 64 65 2e 62 61 73 65 4e 61 6d 65 29 29 0d  Node.baseName)).
2100: 0a 09 09 09 09 09 74 68 69 73 2e 63 68 6d 69 6e  ......this.chmin
2110: 66 6f 2e 61 70 70 65 6e 64 43 68 69 6c 64 28 63  fo.appendChild(c
2120: 75 72 4e 6f 64 65 2e 63 6c 6f 6e 65 4e 6f 64 65  urNode.cloneNode
2130: 28 74 72 75 65 29 29 0d 0a 09 09 09 7d 0d 0a 09  (true)).....}...
2140: 09 7d 0d 0a 09 09 0d 0a 09 09 2f 2f 20 c0 20 e7  .}........// . .
2150: e0 f2 e5 ec 20 ee f2 ea ee ef e8 f0 f3 e5 ec 20  .... .......... 
2160: e2 f1 e5 20 e8 e7 20 ef ee f2 ee ec ea ee e2 20  ... .. ........ 
2170: 63 68 6d 69 6e 66 6f 2c 20 ef f0 ee ef f3 f1 ea  chminfo, .......
2180: e0 ff 20 ed e5 ea ee f2 ee f0 fb e5 20 f3 e7 eb  .. ......... ...
2190: fb 0d 0a 09 09 66 6f 72 28 76 61 72 20 69 3d 30  .....for(var i=0
21a0: 3b 69 3c 74 68 69 73 2e 70 61 72 65 6e 74 2e 63  ;i<this.parent.c
21b0: 68 6d 69 6e 66 6f 2e 63 68 69 6c 64 4e 6f 64 65  hminfo.childNode
21c0: 73 2e 6c 65 6e 67 74 68 3b 69 2b 2b 29 0d 0a 09  s.length;i++)...
21d0: 09 7b 0d 0a 09 09 09 76 61 72 20 63 75 72 4e 6f  .{.....var curNo
21e0: 64 65 3d 74 68 69 73 2e 70 61 72 65 6e 74 2e 63  de=this.parent.c
21f0: 68 6d 69 6e 66 6f 2e 63 68 69 6c 64 4e 6f 64 65  hminfo.childNode
2200: 73 2e 69 74 65 6d 28 69 29 0d 0a 09 09 09 73 77  s.item(i).....sw
2210: 69 74 63 68 28 63 75 72 4e 6f 64 65 2e 62 61 73  itch(curNode.bas
2220: 65 4e 61 6d 65 29 0d 0a 09 09 09 7b 0d 0a 09 09  eName).....{....
2230: 09 63 61 73 65 20 27 63 68 69 6c 64 73 27 3a 0d  .case 'childs':.
2240: 0a 09 09 09 63 61 73 65 20 27 61 6c 69 6e 6b 73  ....case 'alinks
2250: 27 3a 0d 0a 09 09 09 63 61 73 65 20 27 6b 6c 69  ':.....case 'kli
2260: 6e 6b 73 27 3a 0d 0a 09 09 09 63 61 73 65 20 27  nks':.....case '
2270: 6e 6f 63 68 69 6c 64 73 27 3a 0d 0a 09 09 09 63  nochilds':.....c
2280: 61 73 65 20 27 74 6f 63 27 3a 0d 0a 09 09 09 09  ase 'toc':......
2290: 62 72 65 61 6b 3b 0d 0a 09 09 09 64 65 66 61 75  break;.....defau
22a0: 6c 74 3a 0d 0a 09 09 09 09 69 66 28 63 75 72 4e  lt:......if(curN
22b0: 6f 64 65 2e 62 61 73 65 4e 61 6d 65 2e 6c 65 6e  ode.baseName.len
22c0: 67 74 68 20 26 26 20 21 74 68 69 73 2e 63 68 6d  gth && !this.chm
22d0: 69 6e 66 6f 2e 73 65 6c 65 63 74 53 69 6e 67 6c  info.selectSingl
22e0: 65 4e 6f 64 65 28 63 75 72 4e 6f 64 65 2e 62 61  eNode(curNode.ba
22f0: 73 65 4e 61 6d 65 29 29 0d 0a 09 09 09 09 09 74  seName)).......t
2300: 68 69 73 2e 63 68 6d 69 6e 66 6f 2e 61 70 70 65  his.chminfo.appe
2310: 6e 64 43 68 69 6c 64 28 63 75 72 4e 6f 64 65 2e  ndChild(curNode.
2320: 63 6c 6f 6e 65 4e 6f 64 65 28 74 72 75 65 29 29  cloneNode(true))
2330: 0d 0a 09 09 09 7d 0d 0a 09 09 7d 0d 0a 09 7d 0d  .....}....}...}.
2340: 0a 7d 0d 0a 0d 0a 66 75 6e 63 74 69 6f 6e 20 4d  .}....function M
2350: 61 6b 65 52 65 70 6c 61 63 65 73 28 6e 6f 64 65  akeReplaces(node
2360: 2c 20 74 61 67 29 0d 0a 7b 0d 0a 09 76 61 72 20  , tag)..{...var 
2370: 61 72 72 45 78 70 72 3d 41 72 72 61 79 28 29 0d  arrExpr=Array().
2380: 0a 09 66 6f 72 28 3b 3b 29 0d 0a 09 7b 0d 0a 09  ..for(;;)...{...
2390: 09 76 61 72 20 72 65 70 6c 61 63 65 73 3d 6e 6f  .var replaces=no
23a0: 64 65 2e 73 65 6c 65 63 74 4e 6f 64 65 73 28 74  de.selectNodes(t
23b0: 61 67 29 0d 0a 09 09 76 61 72 20 63 75 72 45 78  ag)....var curEx
23c0: 70 72 3d 41 72 72 61 79 28 29 0d 0a 09 09 76 61  pr=Array()....va
23d0: 72 20 70 72 6f 63 65 73 73 65 64 3d 30 0d 0a 09  r processed=0...
23e0: 09 66 6f 72 28 76 61 72 20 63 63 3d 30 3b 63 63  .for(var cc=0;cc
23f0: 3c 72 65 70 6c 61 63 65 73 2e 6c 65 6e 67 74 68  <replaces.length
2400: 3b 63 63 2b 2b 29 0d 0a 09 09 7b 0d 0a 09 09 09  ;cc++)....{.....
2410: 76 61 72 20 72 65 70 6c 3d 72 65 70 6c 61 63 65  var repl=replace
2420: 73 2e 69 74 65 6d 28 63 63 29 0d 0a 09 09 09 76  s.item(cc).....v
2430: 61 72 20 69 73 50 72 6f 63 65 73 73 65 64 3d 66  ar isProcessed=f
2440: 61 6c 73 65 0d 0a 09 09 09 76 61 72 20 73 4e 6f  alse.....var sNo
2450: 64 65 73 3d 47 65 74 41 74 74 72 69 62 28 72 65  des=GetAttrib(re
2460: 70 6c 2c 20 22 6e 6f 64 65 73 22 29 0d 0a 09 09  pl, "nodes")....
2470: 09 76 61 72 20 61 73 58 6d 6c 3d 47 65 74 41 74  .var asXml=GetAt
2480: 74 72 69 62 28 72 65 70 6c 2c 20 22 61 73 78 6d  trib(repl, "asxm
2490: 6c 22 29 0d 0a 09 09 09 69 66 28 73 4e 6f 64 65  l").....if(sNode
24a0: 73 2e 6c 65 6e 67 74 68 20 26 26 20 21 61 72 72  s.length && !arr
24b0: 45 78 70 72 5b 73 4e 6f 64 65 73 5d 29 0d 0a 09  Expr[sNodes])...
24c0: 09 09 7b 0d 0a 09 09 09 09 63 75 72 45 78 70 72  ..{......curExpr
24d0: 5b 73 4e 6f 64 65 73 5d 3d 31 0d 0a 09 09 09 09  [sNodes]=1......
24e0: 69 73 50 72 6f 63 65 73 73 65 64 3d 74 72 75 65  isProcessed=true
24f0: 0d 0a 09 09 09 09 76 61 72 20 6e 4c 69 73 74 3d  ......var nList=
2500: 6e 6f 64 65 2e 73 65 6c 65 63 74 4e 6f 64 65 73  node.selectNodes
2510: 28 73 4e 6f 64 65 73 29 0d 0a 09 09 09 09 66 6f  (sNodes)......fo
2520: 72 28 76 61 72 20 69 3d 30 3b 69 3c 6e 4c 69 73  r(var i=0;i<nLis
2530: 74 2e 6c 65 6e 67 74 68 3b 69 2b 2b 29 0d 0a 09  t.length;i++)...
2540: 09 09 09 7b 0d 0a 09 09 09 09 09 76 61 72 20 6e  ...{.......var n
2550: 65 77 4e 6f 64 65 0d 0a 09 09 09 09 09 69 66 28  ewNode.......if(
2560: 61 73 58 6d 6c 3d 3d 22 31 22 29 0d 0a 09 09 09  asXml=="1").....
2570: 09 09 09 6e 65 77 4e 6f 64 65 3d 78 6d 6c 2e 63  ...newNode=xml.c
2580: 72 65 61 74 65 54 65 78 74 4e 6f 64 65 28 6e 4c  reateTextNode(nL
2590: 69 73 74 2e 69 74 65 6d 28 69 29 2e 78 6d 6c 29  ist.item(i).xml)
25a0: 0d 0a 09 09 09 09 09 65 6c 73 65 0d 0a 09 09 09  .......else.....
25b0: 09 09 09 6e 65 77 4e 6f 64 65 3d 6e 4c 69 73 74  ...newNode=nList
25c0: 2e 69 74 65 6d 28 69 29 2e 63 6c 6f 6e 65 4e 6f  .item(i).cloneNo
25d0: 64 65 28 74 72 75 65 29 0d 0a 09 09 09 09 09 72  de(true).......r
25e0: 65 70 6c 2e 70 61 72 65 6e 74 4e 6f 64 65 2e 69  epl.parentNode.i
25f0: 6e 73 65 72 74 42 65 66 6f 72 65 28 6e 65 77 4e  nsertBefore(newN
2600: 6f 64 65 2c 20 72 65 70 6c 29 0d 0a 09 09 09 09  ode, repl)......
2610: 7d 0d 0a 09 09 09 7d 0d 0a 09 09 09 73 4e 6f 64  }.....}.....sNod
2620: 65 73 3d 47 65 74 41 74 74 72 69 62 28 72 65 70  es=GetAttrib(rep
2630: 6c 2c 20 22 6e 6f 64 65 22 29 0d 0a 09 09 09 69  l, "node").....i
2640: 66 28 73 4e 6f 64 65 73 2e 6c 65 6e 67 74 68 20  f(sNodes.length 
2650: 26 26 20 21 61 72 72 45 78 70 72 5b 73 4e 6f 64  && !arrExpr[sNod
2660: 65 73 5d 29 0d 0a 09 09 09 7b 0d 0a 09 09 09 09  es]).....{......
2670: 63 75 72 45 78 70 72 5b 73 4e 6f 64 65 73 5d 3d  curExpr[sNodes]=
2680: 31 0d 0a 09 09 09 09 69 73 50 72 6f 63 65 73 73  1......isProcess
2690: 65 64 3d 74 72 75 65 0d 0a 09 09 09 09 6e 4c 69  ed=true......nLi
26a0: 73 74 3d 6e 6f 64 65 2e 73 65 6c 65 63 74 53 69  st=node.selectSi
26b0: 6e 67 6c 65 4e 6f 64 65 28 73 4e 6f 64 65 73 29  ngleNode(sNodes)
26c0: 0d 0a 09 09 09 09 69 66 28 6e 4c 69 73 74 29 0d  ......if(nList).
26d0: 0a 09 09 09 09 7b 0d 0a 09 09 09 09 09 76 61 72  .....{.......var
26e0: 20 6e 65 77 4e 6f 64 65 0d 0a 09 09 09 09 09 69   newNode.......i
26f0: 66 28 61 73 58 6d 6c 3d 3d 22 31 22 29 0d 0a 09  f(asXml=="1")...
2700: 09 09 09 09 09 6e 65 77 4e 6f 64 65 3d 78 6d 6c  .....newNode=xml
2710: 2e 63 72 65 61 74 65 54 65 78 74 4e 6f 64 65 28  .createTextNode(
2720: 6e 4c 69 73 74 2e 78 6d 6c 29 0d 0a 09 09 09 09  nList.xml)......
2730: 09 65 6c 73 65 0d 0a 09 09 09 09 09 09 6e 65 77  .else........new
2740: 4e 6f 64 65 3d 6e 4c 69 73 74 2e 63 6c 6f 6e 65  Node=nList.clone
2750: 4e 6f 64 65 28 74 72 75 65 29 0d 0a 09 09 09 09  Node(true)......
2760: 09 72 65 70 6c 2e 70 61 72 65 6e 74 4e 6f 64 65  .repl.parentNode
2770: 2e 69 6e 73 65 72 74 42 65 66 6f 72 65 28 6e 65  .insertBefore(ne
2780: 77 4e 6f 64 65 2c 20 72 65 70 6c 29 0d 0a 09 09  wNode, repl)....
2790: 09 09 7d 0d 0a 09 09 09 7d 0d 0a 09 09 09 72 65  ..}.....}.....re
27a0: 70 6c 2e 70 61 72 65 6e 74 4e 6f 64 65 2e 72 65  pl.parentNode.re
27b0: 6d 6f 76 65 43 68 69 6c 64 28 72 65 70 6c 29 0d  moveChild(repl).
27c0: 0a 09 09 09 69 66 28 69 73 50 72 6f 63 65 73 73  ....if(isProcess
27d0: 65 64 29 0d 0a 09 09 09 09 70 72 6f 63 65 73 73  ed)......process
27e0: 65 64 2b 2b 0d 0a 09 09 7d 0d 0a 09 09 69 66 28  ed++....}....if(
27f0: 21 70 72 6f 63 65 73 73 65 64 29 0d 0a 09 09 09  !processed).....
2800: 62 72 65 61 6b 3b 0d 0a 09 09 66 6f 72 28 76 61  break;....for(va
2810: 72 20 65 78 70 72 20 69 6e 20 63 75 72 45 78 70  r expr in curExp
2820: 72 29 0d 0a 09 09 09 61 72 72 45 78 70 72 5b 65  r).....arrExpr[e
2830: 78 70 72 5d 3d 31 0d 0a 09 7d 0d 0a 7d 0d 0a 0d  xpr]=1...}..}...
2840: 0a 2f 2a 0d 0a d1 eb e5 e4 f3 fe f9 e8 e9 20 fd  ./*........... .
2850: f2 e0 ef 20 ee e1 f0 e0 e1 ee f2 ea e8 0d 0a c2  ... ............
2860: fb e7 fb e2 e0 e5 f2 f1 ff 20 ef f0 e8 20 ee e1  ......... ... ..
2870: f5 ee e4 e5 20 f1 ee e4 e5 f0 e6 e0 ed e8 ff 20  .... .......... 
2880: ef ee f1 eb e5 20 ee e1 f0 e0 e1 ee f2 ea e8 0d  ..... ..........
2890: 0a e2 f1 e5 f5 20 e4 ee f7 e5 f0 ed e8 f5 20 e4  ..... ........ .
28a0: eb ff 20 fd f2 ee e9 20 f1 e5 ea f6 e8 e8 20 f1  .. .... ...... .
28b0: e5 ea f6 e8 e9 2e 0d 0a ce f1 ed ee e2 ed ee e5  ................
28c0: 20 ed e0 e7 ed e0 f7 e5 ed e8 e5 20 2d 20 ef f0   .......... - ..
28d0: e0 e2 ea e0 20 f1 f1 fb eb ee ea 20 e2 20 e4 ee  .... ...... . ..
28e0: ea f3 ec e5 ed f2 e5 2e 0d 0a d2 e0 ea 20 ec fb  ............. ..
28f0: 20 ec ee e6 e5 ec 20 e3 e0 f0 e0 ed f2 f0 ee e2   ..... .........
2900: e0 f2 fc 2c 20 f7 f2 ee 20 ed e5 20 e8 f1 ef ee  ..., ... .. ....
2910: f0 f2 e8 ec 20 f1 f1 fb eb ea e8 2c 0d 0a f3 e6  .... ......,....
2920: e5 20 ee e1 f0 e0 e1 ee f2 e0 ed ed fb e5 20 e2  . ............ .
2930: 20 e4 ee f7 e5 f0 ed e8 f5 20 f1 e5 ea f6 e8 ff   ........ ......
2940: f5 0d 0a 0d 0a c0 eb e3 ee f0 e8 f2 ec 20 f2 e0  ............. ..
2950: ea ee e2 20 2d 20 e2 fb e1 e8 f0 e0 e5 ec 20 e2  ... - ........ .
2960: f1 e5 20 f3 e7 eb fb 20 3c 61 3e 2c 20 f1 ee e4  .. .... <a>, ...
2970: e5 f0 e6 e0 f9 e8 e5 f1 ff 20 e2 0d 0a f3 e7 eb  ......... ......
2980: e5 20 f1 e5 ea f6 e8 e8 2c 20 e8 20 e8 ec e5 e5  . ......, . ....
2990: fe f9 e8 e5 20 e0 f2 f0 e8 e1 f3 f2 20 6e 61 6d  .... ....... nam
29a0: 65 20 28 ff ea ee f0 e8 29 2e 0d 0a d2 e0 ea 20  e (.....)...... 
29b0: ea e0 ea 20 e2 20 fd f2 ee f2 20 ec ee ec e5 ed  ... . .... .....
29c0: f2 20 e8 e7 20 e4 ee ea f3 ec e5 ed f2 e0 20 e5  . .. ......... .
29d0: f9 e5 20 ed e5 20 f3 e4 e0 eb e5 ed fb 20 e2 fb  .. .. ....... ..
29e0: ed e5 f1 e5 ed ed fb e5 0d 0a f2 ee ef e8 ea e8  ................
29f0: 2c 20 f2 ee 20 e2 20 e2 fb e1 ee f0 ea f3 20 ef  , .. . ....... .
2a00: ee ef e0 e4 f3 f2 20 e8 20 e2 f1 e5 20 ff ea ee  ...... . ... ...
2a10: f0 e8 20 e8 e7 20 e4 ee f7 e5 f0 ed e8 f5 0d 0a  .. .. ..........
2a20: f1 e5 ea f6 e8 e9 2e 20 cd ee 20 f2 e0 ea 20 ea  ....... .. ... .
2a30: e0 ea 20 e2 f1 e5 20 ee e1 f0 e0 e1 ee f2 e0 ed  .. ... .........
2a40: ed fb e5 20 ff ea ee f0 ff 20 ec fb 20 e7 e0 ef  ... ..... .. ...
2a50: ee ec e8 ed e0 e5 ec 20 e2 20 61 72 4c 69 6e 6b  ....... . arLink
2a60: 73 2c 0d 0a f2 ee 20 ef f0 ee ef f3 f1 ea e0 ff  s,.... .........
2a70: 20 e8 f5 20 ef f0 e8 20 ee e1 f0 e0 e1 ee f2 ea   .. ... ........
2a80: e5 2c 20 ef ee eb f3 f7 e8 ec 20 f2 ee eb fc ea  ., ....... .....
2a90: ee 20 ff ea ee f0 ff 20 e2 20 fd f2 ee e9 20 f1  . ..... . .... .
2aa0: e5 ea f6 e8 e8 2e 0d 0a c7 e0 f2 e5 ec 20 e4 eb  ............. ..
2ab0: ff 20 ea e0 e6 e4 ee e3 ee 20 ff ea ee f0 ff 20  . ....... ..... 
2ac0: e8 e7 20 e2 fb e1 ee f0 ea e8 20 e2 fb e1 e8 f0  .. ....... .....
2ad0: e0 e5 ec 20 e2 f1 e5 20 f3 e7 eb fb 20 3c 61 3e  ... ... .... <a>
2ae0: 20 e2 20 e4 ee ea f3 ec e5 ed f2 e5 2c 0d 0a e8   . .........,...
2af0: ec e5 fe f9 e8 e5 20 e0 f2 f0 e8 e1 f3 f2 20 68  ...... ....... h
2b00: 72 65 66 3d 22 23 22 2b 6e 61 6d 65 20 ff ea ee  ref="#"+name ...
2b10: f0 ff 2e 20 c8 20 ef f0 e0 e2 e8 ec 20 f3 20 ed  ... . ...... . .
2b20: e8 f5 20 68 72 65 66 2c 20 e4 ee e1 e0 e2 eb ff  .. href, .......
2b30: ff 0d 0a e8 ec ff 20 f4 e0 e9 eb e0 2e 0d 0a 2a  ...... ........*
2b40: 2f 0d 0a 0d 0a 76 61 72 20 61 72 4c 69 6e 6b 73  /....var arLinks
2b50: 3d 41 72 72 61 79 28 29 09 09 09 2f 2f 20 cc e0  =Array()...// ..
2b60: f1 f1 e8 e2 20 e8 ec e5 ed 20 ee e1 f0 e0 e1 ee  .... .... ......
2b70: f2 e0 ed ed fb f5 20 f1 f1 fb eb ee ea 0d 0a 0d  ...... .........
2b80: 0a 66 75 6e 63 74 69 6f 6e 20 44 6f 63 53 65 63  .function DocSec
2b90: 74 69 6f 6e 5f 41 66 74 65 72 43 68 69 6c 64 50  tion_AfterChildP
2ba0: 72 6f 63 65 73 73 65 64 28 29 0d 0a 7b 0d 0a 09  rocessed()..{...
2bb0: 2f 2f 20 c7 e0 ed e5 f1 e5 ec 20 f1 e5 ea f6 e8  // ....... .....
2bc0: fe 20 e2 20 ee e1 f0 e0 f2 ed fb e9 20 f1 ef e8  . . ........ ...
2bd0: f1 ee ea 0d 0a 09 53 65 63 74 69 6f 6e 46 72 6f  ......SectionFro
2be0: 6d 43 68 69 6c 64 5b 53 65 63 74 69 6f 6e 46 72  mChild[SectionFr
2bf0: 6f 6d 43 68 69 6c 64 2e 6c 65 6e 67 74 68 5d 3d  omChild.length]=
2c00: 74 68 69 73 0d 0a 09 0d 0a 09 2f 2f 20 c2 fb e1  this......// ...
2c10: e8 f0 e0 e5 ec 20 e2 f1 e5 20 ff ea ee f0 ff 20  ..... ... ..... 
2c20: e2 20 fd f2 ee e9 20 e8 20 e4 ee f7 e5 f0 ed e8  . .... . .......
2c30: f5 20 f1 e5 ea f6 e8 ff f5 0d 0a 09 76 61 72 20  . ..........var 
2c40: 74 61 72 67 65 74 73 3d 74 68 69 73 2e 6e 6f 64  targets=this.nod
2c50: 65 2e 73 65 6c 65 63 74 4e 6f 64 65 73 28 22 2a  e.selectNodes("*
2c60: 5b 6e 61 6d 65 28 29 21 3d 27 63 68 6d 69 6e 66  [name()!='chminf
2c70: 6f 27 5d 2f 64 65 73 63 65 6e 64 61 6e 74 2d 6f  o']/descendant-o
2c80: 72 2d 73 65 6c 66 3a 3a 61 5b 40 6e 61 6d 65 5d  r-self::a[@name]
2c90: 7c 2a 5b 6e 61 6d 65 28 29 21 3d 27 63 68 6d 69  |*[name()!='chmi
2ca0: 6e 66 6f 27 5d 2f 64 65 73 63 65 6e 64 61 6e 74  nfo']/descendant
2cb0: 2d 6f 72 2d 73 65 6c 66 3a 3a 6e 6f 64 65 28 29  -or-self::node()
2cc0: 5b 40 69 64 5d 22 29 0d 0a 09 66 6f 72 28 76 61  [@id]")...for(va
2cd0: 72 20 69 3d 30 3b 69 3c 74 61 72 67 65 74 73 2e  r i=0;i<targets.
2ce0: 6c 65 6e 67 74 68 3b 69 2b 2b 29 0d 0a 09 7b 0d  length;i++)...{.
2cf0: 0a 09 09 76 61 72 20 74 61 72 67 3d 74 61 72 67  ...var targ=targ
2d00: 65 74 73 2e 69 74 65 6d 28 69 29 0d 0a 09 09 76  ets.item(i)....v
2d10: 61 72 20 6c 4e 61 6d 65 3d 74 61 72 67 2e 61 74  ar lName=targ.at
2d20: 74 72 69 62 75 74 65 73 2e 67 65 74 4e 61 6d 65  tributes.getName
2d30: 64 49 74 65 6d 28 74 61 72 67 2e 62 61 73 65 4e  dItem(targ.baseN
2d40: 61 6d 65 3d 3d 22 61 22 3f 22 6e 61 6d 65 22 3a  ame=="a"?"name":
2d50: 22 69 64 22 29 2e 74 65 78 74 0d 0a 09 09 69 66  "id").text....if
2d60: 28 21 61 72 4c 69 6e 6b 73 5b 6c 4e 61 6d 65 5d  (!arLinks[lName]
2d70: 29 09 2f 2f 20 c5 f1 eb e8 20 ff ea ee f0 fc 20  ).// .... ..... 
2d80: e5 f9 e5 20 ed e5 20 e1 fb eb 20 ee e1 f0 e0 e1  ... .. ... .....
2d90: ee f2 e0 ed 0d 0a 09 09 7b 0d 0a 09 09 09 61 72  ........{.....ar
2da0: 4c 69 6e 6b 73 5b 6c 4e 61 6d 65 5d 3d 31 0d 0a  Links[lName]=1..
2db0: 09 09 09 76 61 72 20 6e 65 77 4c 69 6e 6b 20 3d  ...var newLink =
2dc0: 20 74 68 69 73 2e 46 69 6c 65 4e 61 6d 65 20 2b   this.FileName +
2dd0: 20 28 28 74 68 69 73 2e 49 73 54 6f 70 69 63 20   ((this.IsTopic 
2de0: 26 26 20 6c 4e 61 6d 65 3d 3d 74 68 69 73 2e 41  && lName==this.A
2df0: 6e 63 68 6f 72 29 3f 22 22 3a 22 23 22 2b 6c 4e  nchor)?"":"#"+lN
2e00: 61 6d 65 29 0d 0a 09 09 09 76 61 72 20 6c 69 6e  ame).....var lin
2e10: 6b 73 3d 6e 6f 64 65 44 6f 63 75 6d 65 6e 74 2e  ks=nodeDocument.
2e20: 73 65 6c 65 63 74 4e 6f 64 65 73 28 22 2e 2f 2f  selectNodes(".//
2e30: 61 5b 40 68 72 65 66 3d 27 23 22 2b 6c 4e 61 6d  a[@href='#"+lNam
2e40: 65 2b 22 27 5d 22 29 0d 0a 09 09 09 66 6f 72 28  e+"']").....for(
2e50: 76 61 72 20 6a 3d 30 3b 6a 3c 6c 69 6e 6b 73 2e  var j=0;j<links.
2e60: 6c 65 6e 67 74 68 3b 6a 2b 2b 29 0d 0a 09 09 09  length;j++).....
2e70: 09 53 65 74 41 74 74 72 69 62 28 6c 69 6e 6b 73  .SetAttrib(links
2e80: 2e 69 74 65 6d 28 6a 29 2c 20 22 68 72 65 66 22  .item(j), "href"
2e90: 2c 20 6e 65 77 4c 69 6e 6b 29 0d 0a 09 09 7d 0d  , newLink)....}.
2ea0: 0a 09 7d 0d 0a 7d 0d 0a 0d 0a 2f 2a 0d 0a c2 fb  ..}..}..../*....
2eb0: ef ee eb ed ff e5 f2 20 f1 f2 e0 ed e4 e0 f0 f2  ....... ........
2ec0: ed fb e5 20 e7 e0 ec e5 ed fb 20 e2 20 63 68 6d  ... ...... . chm
2ed0: 69 6e 66 6f 0d 0a 3c 61 20 68 72 65 66 3d 22 73  info..<a href="s
2ee0: 65 6c 66 7c 6e 65 78 74 7c 70 72 65 76 7c 70 61  elf|next|prev|pa
2ef0: 72 65 6e 74 5b 6e 5d 7c 68 6f 6d 65 22 3e 20 2d  rent[n]|home"> -
2f00: 20 3c 61 20 68 72 65 66 3d 22 46 69 6c 65 4e 61   <a href="FileNa
2f10: 6d 65 22 3e 0d 0a 3c 74 69 74 6c 65 20 74 6f 3d  me">..<title to=
2f20: 22 73 65 6c 66 7c 73 65 6c 66 72 65 6d 6f 76 65  "self|selfremove
2f30: 7c 6e 65 78 74 7c 70 72 65 76 7c 70 61 72 65 6e  |next|prev|paren
2f40: 74 5b 6e 5d 7c 68 6f 6d 65 22 2f 3e 20 2d 20 22  t[n]|home"/> - "
2f50: 54 6f 70 69 63 20 54 69 74 6c 65 22 0d 0a 3c 63  Topic Title"..<c
2f60: 68 6d 6c 69 6e 6b 3e 0d 0a 2a 2f 0d 0a 0d 0a 66  hmlink>..*/....f
2f70: 75 6e 63 74 69 6f 6e 20 44 6f 63 53 65 63 74 69  unction DocSecti
2f80: 6f 6e 5f 4d 61 6b 65 53 75 62 73 74 28 29 0d 0a  on_MakeSubst()..
2f90: 7b 0d 0a 09 76 61 72 20 70 3d 74 68 69 73 3b 0d  {...var p=this;.
2fa0: 0a 09 77 68 69 6c 65 28 21 70 2e 49 73 54 6f 70  ..while(!p.IsTop
2fb0: 69 63 29 0d 0a 09 09 70 3d 70 2e 70 61 72 65 6e  ic)....p=p.paren
2fc0: 74 3b 0d 0a 09 76 61 72 20 72 65 66 53 65 6c 66  t;...var refSelf
2fd0: 3d 70 2e 53 65 63 74 69 6f 6e 4e 75 6d 0d 0a 09  =p.SectionNum...
2fe0: 76 61 72 20 72 65 66 50 72 65 76 3d 72 65 66 53  var refPrev=refS
2ff0: 65 6c 66 2d 31 0d 0a 09 77 68 69 6c 65 28 72 65  elf-1...while(re
3000: 66 50 72 65 76 20 3e 3d 20 30 20 26 26 20 21 53  fPrev >= 0 && !S
3010: 65 63 74 69 6f 6e 46 72 6f 6d 50 61 72 65 6e 74  ectionFromParent
3020: 5b 72 65 66 50 72 65 76 5d 2e 49 73 54 6f 70 69  [refPrev].IsTopi
3030: 63 29 0d 0a 09 09 72 65 66 50 72 65 76 2d 2d 0d  c)....refPrev--.
3040: 0a 09 76 61 72 20 72 65 66 4e 65 78 74 3d 72 65  ..var refNext=re
3050: 66 53 65 6c 66 2b 31 0d 0a 09 77 68 69 6c 65 28  fSelf+1...while(
3060: 72 65 66 4e 65 78 74 3c 53 65 63 74 69 6f 6e 46  refNext<SectionF
3070: 72 6f 6d 50 61 72 65 6e 74 2e 6c 65 6e 67 74 68  romParent.length
3080: 20 26 26 20 21 53 65 63 74 69 6f 6e 46 72 6f 6d   && !SectionFrom
3090: 50 61 72 65 6e 74 5b 72 65 66 4e 65 78 74 5d 2e  Parent[refNext].
30a0: 49 73 54 6f 70 69 63 29 0d 0a 09 09 72 65 66 4e  IsTopic)....refN
30b0: 65 78 74 2b 2b 0d 0a 09 0d 0a 09 76 61 72 20 66  ext++......var f
30c0: 6e 64 3d 74 68 69 73 2e 63 68 6d 69 6e 66 6f 2e  nd=this.chminfo.
30d0: 73 65 6c 65 63 74 4e 6f 64 65 73 28 22 2e 2f 2f  selectNodes(".//
30e0: 61 22 29 0d 0a 09 66 6f 72 28 76 61 72 20 69 3d  a")...for(var i=
30f0: 30 3b 69 3c 66 6e 64 2e 6c 65 6e 67 74 68 3b 69  0;i<fnd.length;i
3100: 2b 2b 29 0d 0a 09 7b 0d 0a 09 09 76 61 72 20 61  ++)...{....var a
3110: 3d 66 6e 64 2e 69 74 65 6d 28 69 29 0d 0a 09 09  =fnd.item(i)....
3120: 76 61 72 20 68 72 65 66 3d 47 65 74 41 74 74 72  var href=GetAttr
3130: 69 62 28 61 2c 20 22 68 72 65 66 22 29 0d 0a 09  ib(a, "href")...
3140: 09 69 66 28 68 72 65 66 3d 3d 22 73 65 6c 66 22  .if(href=="self"
3150: 29 0d 0a 09 09 09 53 65 74 41 74 74 72 69 62 28  ).....SetAttrib(
3160: 61 2c 20 22 68 72 65 66 22 2c 20 70 2e 46 69 6c  a, "href", p.Fil
3170: 65 4e 61 6d 65 29 0d 0a 09 09 65 6c 73 65 20 69  eName)....else i
3180: 66 28 68 72 65 66 3d 3d 22 6e 65 78 74 22 29 0d  f(href=="next").
3190: 0a 09 09 09 53 65 74 41 74 74 72 69 62 28 61 2c  ....SetAttrib(a,
31a0: 20 22 68 72 65 66 22 2c 20 72 65 66 4e 65 78 74   "href", refNext
31b0: 3c 53 65 63 74 69 6f 6e 46 72 6f 6d 50 61 72 65  <SectionFromPare
31c0: 6e 74 2e 6c 65 6e 67 74 68 3f 20 53 65 63 74 69  nt.length? Secti
31d0: 6f 6e 46 72 6f 6d 50 61 72 65 6e 74 5b 72 65 66  onFromParent[ref
31e0: 4e 65 78 74 5d 2e 46 69 6c 65 4e 61 6d 65 3a 22  Next].FileName:"
31f0: 22 29 0d 0a 09 09 65 6c 73 65 20 69 66 28 68 72  ")....else if(hr
3200: 65 66 3d 3d 22 70 72 65 76 22 29 0d 0a 09 09 09  ef=="prev").....
3210: 53 65 74 41 74 74 72 69 62 28 61 2c 20 22 68 72  SetAttrib(a, "hr
3220: 65 66 22 2c 20 72 65 66 50 72 65 76 3e 3d 30 3f  ef", refPrev>=0?
3230: 20 53 65 63 74 69 6f 6e 46 72 6f 6d 50 61 72 65   SectionFromPare
3240: 6e 74 5b 72 65 66 50 72 65 76 5d 2e 46 69 6c 65  nt[refPrev].File
3250: 4e 61 6d 65 3a 22 22 29 0d 0a 09 09 65 6c 73 65  Name:"")....else
3260: 20 69 66 28 68 72 65 66 3d 3d 22 68 6f 6d 65 22   if(href=="home"
3270: 29 0d 0a 09 09 09 53 65 74 41 74 74 72 69 62 28  ).....SetAttrib(
3280: 61 2c 20 22 68 72 65 66 22 2c 20 53 65 63 74 69  a, "href", Secti
3290: 6f 6e 46 72 6f 6d 50 61 72 65 6e 74 5b 30 5d 2e  onFromParent[0].
32a0: 46 69 6c 65 4e 61 6d 65 29 0d 0a 09 09 65 6c 73  FileName)....els
32b0: 65 20 69 66 28 68 72 65 66 2e 6d 61 74 63 68 28  e if(href.match(
32c0: 2f 5e 70 61 72 65 6e 74 28 3f 3a 5c 5b 5c 64 2b  /^parent(?:\[\d+
32d0: 5c 5d 24 7c 24 29 2f 29 29 0d 0a 09 09 7b 0d 0a  \]$|$)/))....{..
32e0: 09 09 09 76 61 72 20 6c 65 76 65 6c 3d 68 72 65  ...var level=hre
32f0: 66 2e 6d 61 74 63 68 28 2f 5c 64 2b 2f 29 0d 0a  f.match(/\d+/)..
3300: 09 09 09 6c 65 76 65 6c 3d 6c 65 76 65 6c 3f 70  ...level=level?p
3310: 61 72 73 65 49 6e 74 28 6c 65 76 65 6c 5b 30 5d  arseInt(level[0]
3320: 29 3a 30 0d 0a 09 09 09 76 61 72 20 70 61 72 3d  ):0.....var par=
3330: 70 2e 70 61 72 65 6e 74 0d 0a 09 09 09 77 68 69  p.parent.....whi
3340: 6c 65 28 6c 65 76 65 6c 20 26 26 20 70 61 72 29  le(level && par)
3350: 0d 0a 09 09 09 7b 0d 0a 09 09 09 09 70 61 72 3d  .....{......par=
3360: 70 61 72 2e 70 61 72 65 6e 74 0d 0a 09 09 09 09  par.parent......
3370: 6c 65 76 65 6c 2d 2d 0d 0a 09 09 09 7d 0d 0a 09  level--.....}...
3380: 09 09 53 65 74 41 74 74 72 69 62 28 61 2c 20 22  ..SetAttrib(a, "
3390: 68 72 65 66 22 2c 20 70 61 72 3f 70 61 72 2e 46  href", par?par.F
33a0: 69 6c 65 4e 61 6d 65 3a 22 22 29 0d 0a 09 09 7d  ileName:"")....}
33b0: 0d 0a 09 7d 0d 0a 09 0d 0a 09 76 61 72 20 72 65  ...}......var re
33c0: 6d 6f 76 65 54 69 74 6c 65 3d 66 61 6c 73 65 0d  moveTitle=false.
33d0: 0a 09 66 6e 64 3d 74 68 69 73 2e 63 68 6d 69 6e  ..fnd=this.chmin
33e0: 66 6f 2e 73 65 6c 65 63 74 4e 6f 64 65 73 28 22  fo.selectNodes("
33f0: 2e 2f 2f 74 69 74 6c 65 22 29 0d 0a 09 66 6f 72  .//title")...for
3400: 28 76 61 72 20 69 3d 30 3b 69 3c 66 6e 64 2e 6c  (var i=0;i<fnd.l
3410: 65 6e 67 74 68 3b 69 2b 2b 29 0d 0a 09 7b 0d 0a  ength;i++)...{..
3420: 09 09 76 61 72 20 74 3d 66 6e 64 2e 69 74 65 6d  ..var t=fnd.item
3430: 28 69 29 0d 0a 09 09 76 61 72 20 74 69 74 6c 65  (i)....var title
3440: 3d 47 65 74 41 74 74 72 69 62 28 74 2c 20 22 74  =GetAttrib(t, "t
3450: 6f 22 29 0d 0a 09 09 69 66 28 74 69 74 6c 65 3d  o")....if(title=
3460: 3d 22 73 65 6c 66 22 29 0d 0a 09 09 09 74 2e 70  ="self").....t.p
3470: 61 72 65 6e 74 4e 6f 64 65 2e 72 65 70 6c 61 63  arentNode.replac
3480: 65 43 68 69 6c 64 28 78 6d 6c 2e 63 72 65 61 74  eChild(xml.creat
3490: 65 54 65 78 74 4e 6f 64 65 28 70 2e 54 69 74 6c  eTextNode(p.Titl
34a0: 65 29 2c 20 74 29 0d 0a 09 09 65 6c 73 65 20 69  e), t)....else i
34b0: 66 28 74 69 74 6c 65 3d 3d 22 73 65 6c 66 72 65  f(title=="selfre
34c0: 6d 6f 76 65 22 29 0d 0a 09 09 7b 0d 0a 09 09 09  move")....{.....
34d0: 74 2e 70 61 72 65 6e 74 4e 6f 64 65 2e 72 65 70  t.parentNode.rep
34e0: 6c 61 63 65 43 68 69 6c 64 28 78 6d 6c 2e 63 72  laceChild(xml.cr
34f0: 65 61 74 65 54 65 78 74 4e 6f 64 65 28 70 2e 54  eateTextNode(p.T
3500: 69 74 6c 65 29 2c 20 74 29 0d 0a 09 09 09 72 65  itle), t).....re
3510: 6d 6f 76 65 54 69 74 6c 65 3d 74 72 75 65 0d 0a  moveTitle=true..
3520: 09 09 7d 0d 0a 09 09 65 6c 73 65 20 69 66 28 74  ..}....else if(t
3530: 69 74 6c 65 3d 3d 22 70 72 65 76 22 29 0d 0a 09  itle=="prev")...
3540: 09 09 74 2e 70 61 72 65 6e 74 4e 6f 64 65 2e 72  ..t.parentNode.r
3550: 65 70 6c 61 63 65 43 68 69 6c 64 28 78 6d 6c 2e  eplaceChild(xml.
3560: 63 72 65 61 74 65 54 65 78 74 4e 6f 64 65 28 72  createTextNode(r
3570: 65 66 50 72 65 76 3e 3d 30 3f 20 53 65 63 74 69  efPrev>=0? Secti
3580: 6f 6e 46 72 6f 6d 50 61 72 65 6e 74 5b 72 65 66  onFromParent[ref
3590: 50 72 65 76 5d 2e 54 69 74 6c 65 3a 22 22 29 2c  Prev].Title:""),
35a0: 20 74 29 0d 0a 09 09 65 6c 73 65 20 69 66 28 74   t)....else if(t
35b0: 69 74 6c 65 3d 3d 22 6e 65 78 74 22 29 0d 0a 09  itle=="next")...
35c0: 09 09 74 2e 70 61 72 65 6e 74 4e 6f 64 65 2e 72  ..t.parentNode.r
35d0: 65 70 6c 61 63 65 43 68 69 6c 64 28 78 6d 6c 2e  eplaceChild(xml.
35e0: 63 72 65 61 74 65 54 65 78 74 4e 6f 64 65 28 72  createTextNode(r
35f0: 65 66 4e 65 78 74 3c 53 65 63 74 69 6f 6e 46 72  efNext<SectionFr
3600: 6f 6d 50 61 72 65 6e 74 2e 6c 65 6e 67 74 68 3f  omParent.length?
3610: 20 53 65 63 74 69 6f 6e 46 72 6f 6d 50 61 72 65   SectionFromPare
3620: 6e 74 5b 72 65 66 4e 65 78 74 5d 2e 54 69 74 6c  nt[refNext].Titl
3630: 65 3a 22 22 29 2c 20 74 29 0d 0a 09 09 65 6c 73  e:""), t)....els
3640: 65 20 69 66 28 74 69 74 6c 65 3d 3d 22 68 6f 6d  e if(title=="hom
3650: 65 22 29 0d 0a 09 09 09 74 2e 70 61 72 65 6e 74  e").....t.parent
3660: 4e 6f 64 65 2e 72 65 70 6c 61 63 65 43 68 69 6c  Node.replaceChil
3670: 64 28 78 6d 6c 2e 63 72 65 61 74 65 54 65 78 74  d(xml.createText
3680: 4e 6f 64 65 28 53 65 63 74 69 6f 6e 46 72 6f 6d  Node(SectionFrom
3690: 50 61 72 65 6e 74 5b 30 5d 2e 54 69 74 6c 65 29  Parent[0].Title)
36a0: 2c 20 74 29 0d 0a 09 09 65 6c 73 65 20 69 66 28  , t)....else if(
36b0: 74 69 74 6c 65 2e 6d 61 74 63 68 28 2f 5e 70 61  title.match(/^pa
36c0: 72 65 6e 74 28 3f 3a 5c 5b 5c 64 2b 5c 5d 24 7c  rent(?:\[\d+\]$|
36d0: 24 29 2f 29 29 0d 0a 09 09 7b 0d 0a 09 09 09 76  $)/))....{.....v
36e0: 61 72 20 6c 65 76 65 6c 3d 74 69 74 6c 65 2e 6d  ar level=title.m
36f0: 61 74 63 68 28 2f 5c 64 2b 2f 29 0d 0a 09 09 09  atch(/\d+/).....
3700: 6c 65 76 65 6c 3d 6c 65 76 65 6c 3f 70 61 72 73  level=level?pars
3710: 65 49 6e 74 28 6c 65 76 65 6c 5b 30 5d 29 3a 30  eInt(level[0]):0
3720: 0d 0a 09 09 09 76 61 72 20 70 61 72 3d 70 2e 70  .....var par=p.p
3730: 61 72 65 6e 74 0d 0a 09 09 09 77 68 69 6c 65 28  arent.....while(
3740: 6c 65 76 65 6c 20 26 26 20 70 61 72 29 0d 0a 09  level && par)...
3750: 09 09 7b 0d 0a 09 09 09 09 70 61 72 3d 70 61 72  ..{......par=par
3760: 2e 70 61 72 65 6e 74 0d 0a 09 09 09 09 6c 65 76  .parent......lev
3770: 65 6c 2d 2d 0d 0a 09 09 09 7d 0d 0a 09 09 09 74  el--.....}.....t
3780: 2e 70 61 72 65 6e 74 4e 6f 64 65 2e 72 65 70 6c  .parentNode.repl
3790: 61 63 65 43 68 69 6c 64 28 78 6d 6c 2e 63 72 65  aceChild(xml.cre
37a0: 61 74 65 54 65 78 74 4e 6f 64 65 28 70 61 72 3f  ateTextNode(par?
37b0: 70 61 72 2e 54 69 74 6c 65 3a 22 22 29 2c 20 74  par.Title:""), t
37c0: 29 0d 0a 09 09 7d 0d 0a 09 7d 0d 0a 09 69 66 28  )....}...}...if(
37d0: 72 65 6d 6f 76 65 54 69 74 6c 65 20 26 26 20 74  removeTitle && t
37e0: 68 69 73 2e 49 73 54 6f 70 69 63 20 26 26 20 74  his.IsTopic && t
37f0: 68 69 73 2e 6e 54 69 74 6c 65 29 0d 0a 09 7b 0d  his.nTitle)...{.
3800: 0a 09 09 76 61 72 20 6e 54 69 74 6c 65 3d 74 68  ...var nTitle=th
3810: 69 73 2e 6e 54 69 74 6c 65 2e 70 61 72 65 6e 74  is.nTitle.parent
3820: 4e 6f 64 65 0d 0a 09 09 6e 54 69 74 6c 65 2e 70  Node....nTitle.p
3830: 61 72 65 6e 74 4e 6f 64 65 2e 72 65 6d 6f 76 65  arentNode.remove
3840: 43 68 69 6c 64 28 6e 54 69 74 6c 65 29 0d 0a 09  Child(nTitle)...
3850: 7d 0d 0a 0d 0a 09 76 61 72 20 63 68 6d 4c 69 6e  }.....var chmLin
3860: 6b 73 3d 74 68 69 73 2e 63 68 6d 69 6e 66 6f 2e  ks=this.chminfo.
3870: 73 65 6c 65 63 74 4e 6f 64 65 73 28 22 2e 2f 2f  selectNodes(".//
3880: 63 68 6d 6c 69 6e 6b 22 29 0d 0a 09 66 6f 72 28  chmlink")...for(
3890: 76 61 72 20 69 3d 30 3b 69 3c 63 68 6d 4c 69 6e  var i=0;i<chmLin
38a0: 6b 73 2e 6c 65 6e 67 74 68 3b 69 2b 2b 29 0d 0a  ks.length;i++)..
38b0: 09 7b 0d 0a 09 09 76 61 72 20 6c 69 6e 6b 3d 63  .{....var link=c
38c0: 68 6d 4c 69 6e 6b 73 2e 69 74 65 6d 28 69 29 0d  hmLinks.item(i).
38d0: 0a 09 09 76 61 72 20 6b 65 79 77 6f 72 64 73 3d  ...var keywords=
38e0: 22 22 0d 0a 09 09 76 61 72 20 6b 65 79 73 3d 6c  ""....var keys=l
38f0: 69 6e 6b 2e 73 65 6c 65 63 74 53 69 6e 67 6c 65  ink.selectSingle
3900: 4e 6f 64 65 28 22 6b 65 79 73 22 29 0d 0a 09 09  Node("keys")....
3910: 69 66 28 6b 65 79 73 29 0d 0a 09 09 09 6b 65 79  if(keys).....key
3920: 77 6f 72 64 73 3d 6b 65 79 73 2e 74 65 78 74 2e  words=keys.text.
3930: 72 65 70 6c 61 63 65 28 2f 5e 5c 73 2b 7c 5c 73  replace(/^\s+|\s
3940: 2b 24 2f 67 2c 20 22 22 29 0d 0a 09 09 69 66 28  +$/g, "")....if(
3950: 21 6b 65 79 77 6f 72 64 73 2e 6c 65 6e 67 74 68  !keywords.length
3960: 29 0d 0a 09 09 09 6c 69 6e 6b 2e 70 61 72 65 6e  ).....link.paren
3970: 74 4e 6f 64 65 2e 72 65 6d 6f 76 65 43 68 69 6c  tNode.removeChil
3980: 64 28 6c 69 6e 6b 29 0d 0a 09 09 65 6c 73 65 0d  d(link)....else.
3990: 0a 09 09 7b 0d 0a 09 09 09 76 61 72 20 72 65 66  ...{.....var ref
39a0: 4e 61 6d 65 3d 47 65 74 41 74 74 72 69 62 28 6c  Name=GetAttrib(l
39b0: 69 6e 6b 2c 20 22 74 79 70 65 22 29 0d 0a 09 09  ink, "type")....
39c0: 09 76 61 72 20 6f 62 6a 3d 78 6d 6c 2e 63 72 65  .var obj=xml.cre
39d0: 61 74 65 45 6c 65 6d 65 6e 74 28 22 6f 62 6a 65  ateElement("obje
39e0: 63 74 22 29 0d 0a 09 09 09 76 61 72 20 69 64 4e  ct").....var idN
39f0: 61 6d 65 3d 22 68 68 6c 69 6e 6b 22 2b 72 65 66  ame="hhlink"+ref
3a00: 4e 61 6d 65 2b 69 0d 0a 09 09 09 53 65 74 41 74  Name+i.....SetAt
3a10: 74 72 69 62 28 6f 62 6a 2c 20 22 69 64 22 2c 20  trib(obj, "id", 
3a20: 69 64 4e 61 6d 65 29 0d 0a 09 09 09 53 65 74 41  idName).....SetA
3a30: 74 74 72 69 62 28 6f 62 6a 2c 20 22 63 6c 61 73  ttrib(obj, "clas
3a40: 73 69 64 22 2c 20 22 63 6c 73 69 64 3a 61 64 62  sid", "clsid:adb
3a50: 38 38 30 61 36 2d 64 38 66 66 2d 31 31 63 66 2d  880a6-d8ff-11cf-
3a60: 39 33 37 37 2d 30 30 61 61 30 30 33 62 37 61 31  9377-00aa003b7a1
3a70: 31 22 29 0d 0a 09 09 09 53 65 74 41 74 74 72 69  1").....SetAttri
3a80: 62 28 6f 62 6a 2c 20 22 74 79 70 65 22 2c 20 22  b(obj, "type", "
3a90: 61 70 70 6c 69 63 61 74 69 6f 6e 2f 78 2d 6f 6c  application/x-ol
3aa0: 65 6f 62 6a 65 63 74 22 29 0d 0a 09 09 09 76 61  eobject").....va
3ab0: 72 20 70 61 72 61 6d 3d 78 6d 6c 2e 63 72 65 61  r param=xml.crea
3ac0: 74 65 45 6c 65 6d 65 6e 74 28 22 70 61 72 61 6d  teElement("param
3ad0: 22 29 0d 0a 09 09 09 53 65 74 41 74 74 72 69 62  ").....SetAttrib
3ae0: 28 70 61 72 61 6d 2c 20 22 6e 61 6d 65 22 2c 20  (param, "name", 
3af0: 22 43 6f 6d 6d 61 6e 64 22 29 0d 0a 09 09 09 53  "Command").....S
3b00: 65 74 41 74 74 72 69 62 28 70 61 72 61 6d 2c 20  etAttrib(param, 
3b10: 22 76 61 6c 75 65 22 2c 20 72 65 66 4e 61 6d 65  "value", refName
3b20: 29 0d 0a 09 09 09 6f 62 6a 2e 61 70 70 65 6e 64  ).....obj.append
3b30: 43 68 69 6c 64 28 70 61 72 61 6d 29 0d 0a 09 09  Child(param)....
3b40: 09 70 61 72 61 6d 3d 78 6d 6c 2e 63 72 65 61 74  .param=xml.creat
3b50: 65 45 6c 65 6d 65 6e 74 28 22 70 61 72 61 6d 22  eElement("param"
3b60: 29 0d 0a 09 09 09 53 65 74 41 74 74 72 69 62 28  ).....SetAttrib(
3b70: 70 61 72 61 6d 2c 20 22 6e 61 6d 65 22 2c 20 22  param, "name", "
3b80: 49 74 65 6d 31 22 29 0d 0a 09 09 09 53 65 74 41  Item1").....SetA
3b90: 74 74 72 69 62 28 70 61 72 61 6d 2c 20 22 76 61  ttrib(param, "va
3ba0: 6c 75 65 22 2c 20 22 22 29 0d 0a 09 09 09 6f 62  lue", "").....ob
3bb0: 6a 2e 61 70 70 65 6e 64 43 68 69 6c 64 28 70 61  j.appendChild(pa
3bc0: 72 61 6d 29 0d 0a 09 09 09 6b 65 79 77 6f 72 64  ram).....keyword
3bd0: 73 3d 6b 65 79 77 6f 72 64 73 2e 73 70 6c 69 74  s=keywords.split
3be0: 28 2f 5b 5c 72 5c 6e 5d 2f 29 0d 0a 09 09 09 66  (/[\r\n]/).....f
3bf0: 6f 72 28 76 61 72 20 6a 3d 30 3b 6a 3c 6b 65 79  or(var j=0;j<key
3c00: 77 6f 72 64 73 2e 6c 65 6e 67 74 68 3b 6a 2b 2b  words.length;j++
3c10: 29 0d 0a 09 09 09 7b 0d 0a 09 09 09 09 70 61 72  ).....{......par
3c20: 61 6d 3d 78 6d 6c 2e 63 72 65 61 74 65 45 6c 65  am=xml.createEle
3c30: 6d 65 6e 74 28 22 70 61 72 61 6d 22 29 0d 0a 09  ment("param")...
3c40: 09 09 09 53 65 74 41 74 74 72 69 62 28 70 61 72  ...SetAttrib(par
3c50: 61 6d 2c 20 22 6e 61 6d 65 22 2c 20 22 49 74 65  am, "name", "Ite
3c60: 6d 22 2b 28 6a 2b 32 29 29 0d 0a 09 09 09 09 53  m"+(j+2))......S
3c70: 65 74 41 74 74 72 69 62 28 70 61 72 61 6d 2c 20  etAttrib(param, 
3c80: 22 76 61 6c 75 65 22 2c 20 6b 65 79 77 6f 72 64  "value", keyword
3c90: 73 5b 6a 5d 2e 72 65 70 6c 61 63 65 28 2f 5e 5c  s[j].replace(/^\
3ca0: 73 2b 7c 5c 73 2b 24 2f 67 2c 20 22 22 29 29 0d  s+|\s+$/g, "")).
3cb0: 0a 09 09 09 09 6f 62 6a 2e 61 70 70 65 6e 64 43  .....obj.appendC
3cc0: 68 69 6c 64 28 70 61 72 61 6d 29 0d 0a 09 09 09  hild(param).....
3cd0: 7d 0d 0a 09 09 09 6b 65 79 73 2e 70 61 72 65 6e  }.....keys.paren
3ce0: 74 4e 6f 64 65 2e 72 65 70 6c 61 63 65 43 68 69  tNode.replaceChi
3cf0: 6c 64 28 6f 62 6a 2c 20 6b 65 79 73 29 0d 0a 09  ld(obj, keys)...
3d00: 09 09 76 61 72 20 61 3d 6c 69 6e 6b 2e 73 65 6c  ..var a=link.sel
3d10: 65 63 74 4e 6f 64 65 73 28 22 2e 2f 2f 61 5b 40  ectNodes(".//a[@
3d20: 68 72 65 66 3d 27 63 6c 69 63 6b 27 5d 22 29 0d  href='click']").
3d30: 0a 09 09 09 66 6f 72 28 76 61 72 20 6a 3d 30 3b  ....for(var j=0;
3d40: 6a 3c 61 2e 6c 65 6e 67 74 68 3b 6a 2b 2b 29 0d  j<a.length;j++).
3d50: 0a 09 09 09 09 53 65 74 41 74 74 72 69 62 28 61  .....SetAttrib(a
3d60: 2e 69 74 65 6d 28 6a 29 2c 20 22 68 72 65 66 22  .item(j), "href"
3d70: 2c 20 22 4a 61 76 61 53 63 72 69 70 74 3a 22 2b  , "JavaScript:"+
3d80: 69 64 4e 61 6d 65 2b 22 2e 43 6c 69 63 6b 28 29  idName+".Click()
3d90: 22 29 0d 0a 09 09 09 5f 43 6f 70 79 43 68 69 6c  ")....._CopyChil
3da0: 64 73 28 6c 69 6e 6b 2c 20 6c 69 6e 6b 2c 20 74  ds(link, link, t
3db0: 72 75 65 29 0d 0a 09 09 7d 0d 0a 09 7d 0d 0a 7d  rue)....}...}..}
3dc0: 0d 0a 0d 0a 2f 2f 20 d4 f3 ed ea f6 e8 ff 20 f4  ....// ....... .
3dd0: ee f0 ec e8 f0 f3 e5 f2 20 f1 f1 fb eb ea f3 20  ........ ...... 
3de0: ed e0 20 fd f2 ee f2 20 f2 ee ef e8 ea 0d 0a 2f  .. .... ......./
3df0: 2f 20 e8 20 e2 ee e7 e2 f0 e0 f9 e0 e5 f2 20 e5  / . .......... .
3e00: e5 20 e2 e2 e8 e4 e5 20 f3 e7 eb e0 20 3c 68 72  . ..... .... <hr
3e10: 65 66 69 74 65 6d 3e 0d 0a 66 75 6e 63 74 69 6f  efitem>..functio
3e20: 6e 20 44 6f 63 53 65 63 74 69 6f 6e 5f 4d 61 6b  n DocSection_Mak
3e30: 65 48 72 65 66 28 29 0d 0a 7b 0d 0a 09 69 66 28  eHref()..{...if(
3e40: 21 74 68 69 73 2e 70 61 72 65 6e 74 29 0d 0a 09  !this.parent)...
3e50: 09 72 65 74 75 72 6e 20 6e 75 6c 6c 0d 0a 09 76  .return null...v
3e60: 61 72 20 68 72 65 66 3d 74 68 69 73 2e 63 68 6d  ar href=this.chm
3e70: 69 6e 66 6f 2e 73 65 6c 65 63 74 53 69 6e 67 6c  info.selectSingl
3e80: 65 4e 6f 64 65 28 22 68 72 65 66 22 29 0d 0a 09  eNode("href")...
3e90: 69 66 28 21 68 72 65 66 2e 68 61 73 43 68 69 6c  if(!href.hasChil
3ea0: 64 4e 6f 64 65 73 28 29 29 0d 0a 09 09 72 65 74  dNodes())....ret
3eb0: 75 72 6e 20 6e 75 6c 6c 0d 0a 09 76 61 72 20 68  urn null...var h
3ec0: 72 65 66 69 6e 66 6f 3d 78 6d 6c 2e 63 72 65 61  refinfo=xml.crea
3ed0: 74 65 45 6c 65 6d 65 6e 74 28 22 68 72 65 66 69  teElement("hrefi
3ee0: 6e 66 6f 22 29 0d 0a 09 66 6f 72 28 76 61 72 20  nfo")...for(var 
3ef0: 69 3d 30 3b 69 3c 68 72 65 66 2e 63 68 69 6c 64  i=0;i<href.child
3f00: 4e 6f 64 65 73 2e 6c 65 6e 67 74 68 3b 69 2b 2b  Nodes.length;i++
3f10: 29 0d 0a 09 09 68 72 65 66 69 6e 66 6f 2e 61 70  )....hrefinfo.ap
3f20: 70 65 6e 64 43 68 69 6c 64 28 68 72 65 66 2e 63  pendChild(href.c
3f30: 68 69 6c 64 4e 6f 64 65 73 2e 69 74 65 6d 28 69  hildNodes.item(i
3f40: 29 2e 63 6c 6f 6e 65 4e 6f 64 65 28 74 72 75 65  ).cloneNode(true
3f50: 29 29 0d 0a 09 72 65 74 75 72 6e 20 68 72 65 66  ))...return href
3f60: 69 6e 66 6f 0d 0a 7d 0d 0a 0d 0a 66 75 6e 63 74  info..}....funct
3f70: 69 6f 6e 20 5f 43 6f 70 79 43 68 69 6c 64 73 28  ion _CopyChilds(
3f80: 6e 53 72 63 2c 20 6e 44 73 74 2c 20 62 52 65 6d  nSrc, nDst, bRem
3f90: 6f 76 65 29 0d 0a 7b 0d 0a 09 66 6f 72 28 76 61  ove)..{...for(va
3fa0: 72 20 6b 3d 30 3b 6b 3c 6e 53 72 63 2e 63 68 69  r k=0;k<nSrc.chi
3fb0: 6c 64 4e 6f 64 65 73 2e 6c 65 6e 67 74 68 3b 6b  ldNodes.length;k
3fc0: 2b 2b 29 0d 0a 09 09 6e 44 73 74 2e 70 61 72 65  ++)....nDst.pare
3fd0: 6e 74 4e 6f 64 65 2e 69 6e 73 65 72 74 42 65 66  ntNode.insertBef
3fe0: 6f 72 65 28 6e 53 72 63 2e 63 68 69 6c 64 4e 6f  ore(nSrc.childNo
3ff0: 64 65 73 2e 69 74 65 6d 28 6b 29 2e 63 6c 6f 6e  des.item(k).clon
4000: 65 4e 6f 64 65 28 74 72 75 65 29 2c 20 6e 44 73  eNode(true), nDs
4010: 74 29 0d 0a 09 69 66 28 62 52 65 6d 6f 76 65 29  t)...if(bRemove)
4020: 0d 0a 09 09 6e 44 73 74 2e 70 61 72 65 6e 74 4e  ....nDst.parentN
4030: 6f 64 65 2e 72 65 6d 6f 76 65 43 68 69 6c 64 28  ode.removeChild(
4040: 6e 44 73 74 29 0d 0a 7d 0d 0a 0d 0a 66 75 6e 63  nDst)..}....func
4050: 74 69 6f 6e 20 44 6f 63 53 65 63 74 69 6f 6e 5f  tion DocSection_
4060: 43 6f 6d 62 69 6e 65 48 72 65 66 73 28 29 0d 0a  CombineHrefs()..
4070: 7b 0d 0a 09 76 61 72 20 63 6f 6d 62 69 6e 65 3d  {...var combine=
4080: 74 68 69 73 2e 63 68 6d 69 6e 66 6f 2e 73 65 6c  this.chminfo.sel
4090: 65 63 74 53 69 6e 67 6c 65 4e 6f 64 65 28 22 68  ectSingleNode("h
40a0: 72 65 66 63 6f 6d 62 69 6e 65 22 29 0d 0a 0d 0a  refcombine")....
40b0: 09 76 61 72 20 68 72 65 66 73 3d 74 68 69 73 2e  .var hrefs=this.
40c0: 6e 6f 64 65 2e 73 65 6c 65 63 74 4e 6f 64 65 73  node.selectNodes
40d0: 28 22 2e 2f 2f 68 72 65 66 69 6e 66 6f 22 29 0d  (".//hrefinfo").
40e0: 0a 09 0d 0a 09 76 61 72 20 72 65 66 43 6f 6d 62  .....var refComb
40f0: 69 6e 65 64 3d 41 72 72 61 79 28 29 0d 0a 09 66  ined=Array()...f
4100: 6f 72 28 76 61 72 20 69 3d 30 3b 69 3c 68 72 65  or(var i=0;i<hre
4110: 66 73 2e 6c 65 6e 67 74 68 3b 69 2b 2b 29 0d 0a  fs.length;i++)..
4120: 09 7b 0d 0a 09 09 76 61 72 20 68 72 65 66 3d 68  .{....var href=h
4130: 72 65 66 73 2e 69 74 65 6d 28 69 29 0d 0a 09 09  refs.item(i)....
4140: 72 65 66 43 6f 6d 62 69 6e 65 64 5b 72 65 66 43  refCombined[refC
4150: 6f 6d 62 69 6e 65 64 2e 6c 65 6e 67 74 68 5d 3d  ombined.length]=
4160: 68 72 65 66 0d 0a 09 09 69 66 28 69 3d 3d 68 72  href....if(i==hr
4170: 65 66 73 2e 6c 65 6e 67 74 68 2d 31 20 7c 7c 20  efs.length-1 || 
4180: 21 28 68 72 65 66 2e 6e 65 78 74 53 69 62 6c 69  !(href.nextSibli
4190: 6e 67 20 26 26 20 68 72 65 66 2e 6e 65 78 74 53  ng && href.nextS
41a0: 69 62 6c 69 6e 67 2e 62 61 73 65 4e 61 6d 65 3d  ibling.baseName=
41b0: 3d 22 68 72 65 66 69 6e 66 6f 22 20 26 26 20 68  ="hrefinfo" && h
41c0: 72 65 66 2e 6e 65 78 74 53 69 62 6c 69 6e 67 2e  ref.nextSibling.
41d0: 70 61 72 65 6e 74 4e 6f 64 65 3d 3d 68 72 65 66  parentNode==href
41e0: 2e 70 61 72 65 6e 74 4e 6f 64 65 29 29 0d 0a 09  .parentNode))...
41f0: 09 7b 0d 0a 09 09 09 76 61 72 20 6e 43 6f 6d 62  .{.....var nComb
4200: 69 6e 65 3d 63 6f 6d 62 69 6e 65 2e 63 6c 6f 6e  ine=combine.clon
4210: 65 4e 6f 64 65 28 74 72 75 65 29 0d 0a 09 09 09  eNode(true).....
4220: 76 61 72 20 66 6f 72 65 61 63 68 3d 6e 43 6f 6d  var foreach=nCom
4230: 62 69 6e 65 2e 73 65 6c 65 63 74 53 69 6e 67 6c  bine.selectSingl
4240: 65 4e 6f 64 65 28 22 2e 2f 2f 66 6f 72 65 61 63  eNode(".//foreac
4250: 68 22 29 0d 0a 09 09 09 69 66 28 21 66 6f 72 65  h").....if(!fore
4260: 61 63 68 29 0d 0a 09 09 09 7b 0d 0a 09 09 09 09  ach).....{......
4270: 66 6f 72 65 61 63 68 3d 78 6d 6c 2e 63 72 65 61  foreach=xml.crea
4280: 74 65 45 6c 65 6d 65 6e 74 28 22 66 6f 72 65 61  teElement("forea
4290: 63 68 22 29 0d 0a 09 09 09 09 6e 43 6f 6d 62 69  ch")......nCombi
42a0: 6e 65 2e 61 70 70 65 6e 64 43 68 69 6c 64 28 66  ne.appendChild(f
42b0: 6f 72 65 61 63 68 29 0d 0a 09 09 09 7d 0d 0a 09  oreach).....}...
42c0: 09 09 66 6f 72 28 76 61 72 20 6a 3d 30 3b 6a 3c  ..for(var j=0;j<
42d0: 72 65 66 43 6f 6d 62 69 6e 65 64 2e 6c 65 6e 67  refCombined.leng
42e0: 74 68 3b 6a 2b 2b 29 0d 0a 09 09 09 7b 0d 0a 09  th;j++).....{...
42f0: 09 09 09 76 61 72 20 6e 46 6f 72 45 61 63 68 3d  ...var nForEach=
4300: 66 6f 72 65 61 63 68 2e 63 6c 6f 6e 65 4e 6f 64  foreach.cloneNod
4310: 65 28 74 72 75 65 29 0d 0a 09 09 09 09 76 61 72  e(true)......var
4320: 20 6e 49 74 65 6d 3d 6e 46 6f 72 45 61 63 68 2e   nItem=nForEach.
4330: 73 65 6c 65 63 74 53 69 6e 67 6c 65 4e 6f 64 65  selectSingleNode
4340: 28 22 2e 2f 2f 69 74 65 6d 22 29 0d 0a 09 09 09  (".//item").....
4350: 09 69 66 28 21 6e 49 74 65 6d 29 0d 0a 09 09 09  .if(!nItem).....
4360: 09 7b 0d 0a 09 09 09 09 09 6e 49 74 65 6d 3d 78  .{.......nItem=x
4370: 6d 6c 2e 63 72 65 61 74 65 45 6c 65 6d 65 6e 74  ml.createElement
4380: 28 22 69 74 65 6d 22 29 0d 0a 09 09 09 09 09 6e  ("item").......n
4390: 46 6f 72 45 61 63 68 2e 61 70 70 65 6e 64 43 68  ForEach.appendCh
43a0: 69 6c 64 28 6e 49 74 65 6d 29 0d 0a 09 09 09 09  ild(nItem)......
43b0: 7d 0d 0a 09 09 09 09 5f 43 6f 70 79 43 68 69 6c  }......_CopyChil
43c0: 64 73 28 72 65 66 43 6f 6d 62 69 6e 65 64 5b 6a  ds(refCombined[j
43d0: 5d 2c 20 6e 49 74 65 6d 2c 20 74 72 75 65 29 0d  ], nItem, true).
43e0: 0a 09 09 09 09 5f 43 6f 70 79 43 68 69 6c 64 73  ....._CopyChilds
43f0: 28 6e 46 6f 72 45 61 63 68 2c 20 66 6f 72 65 61  (nForEach, forea
4400: 63 68 2c 20 66 61 6c 73 65 29 0d 0a 09 09 09 7d  ch, false).....}
4410: 0d 0a 09 09 09 66 6f 72 65 61 63 68 2e 70 61 72  .....foreach.par
4420: 65 6e 74 4e 6f 64 65 2e 72 65 6d 6f 76 65 43 68  entNode.removeCh
4430: 69 6c 64 28 66 6f 72 65 61 63 68 29 0d 0a 09 09  ild(foreach)....
4440: 09 5f 43 6f 70 79 43 68 69 6c 64 73 28 6e 43 6f  ._CopyChilds(nCo
4450: 6d 62 69 6e 65 2c 20 72 65 66 43 6f 6d 62 69 6e  mbine, refCombin
4460: 65 64 5b 30 5d 2c 20 74 72 75 65 29 0d 0a 09 09  ed[0], true)....
4470: 09 66 6f 72 28 76 61 72 20 6b 3d 31 3b 6b 3c 72  .for(var k=1;k<r
4480: 65 66 43 6f 6d 62 69 6e 65 64 2e 6c 65 6e 67 74  efCombined.lengt
4490: 68 3b 6b 2b 2b 29 0d 0a 09 09 09 09 72 65 66 43  h;k++)......refC
44a0: 6f 6d 62 69 6e 65 64 5b 6b 5d 2e 70 61 72 65 6e  ombined[k].paren
44b0: 74 4e 6f 64 65 2e 72 65 6d 6f 76 65 43 68 69 6c  tNode.removeChil
44c0: 64 28 72 65 66 43 6f 6d 62 69 6e 65 64 5b 6b 5d  d(refCombined[k]
44d0: 29 0d 0a 09 09 09 72 65 66 43 6f 6d 62 69 6e 65  ).....refCombine
44e0: 64 2e 6c 65 6e 67 74 68 3d 30 0d 0a 09 09 7d 0d  d.length=0....}.
44f0: 0a 09 7d 0d 0a 7d 0d 0a 0d 0a 66 75 6e 63 74 69  ..}..}....functi
4500: 6f 6e 20 44 6f 63 53 65 63 74 69 6f 6e 5f 50 72  on DocSection_Pr
4510: 6f 63 65 73 73 4b 65 79 77 6f 72 64 73 28 29 0d  ocessKeywords().
4520: 0a 7b 0d 0a 09 68 72 65 66 46 6e 61 6d 65 3d 74  .{...hrefFname=t
4530: 68 69 73 2e 46 69 6c 65 4e 61 6d 65 0d 0a 09 69  his.FileName...i
4540: 66 28 21 74 68 69 73 2e 49 73 54 6f 70 69 63 29  f(!this.IsTopic)
4550: 0d 0a 09 09 68 72 65 66 46 6e 61 6d 65 2b 3d 22  ....hrefFname+="
4560: 23 22 2b 74 68 69 73 2e 41 6e 63 68 6f 72 0d 0a  #"+this.Anchor..
4570: 09 0d 0a 09 2f 2f 20 ce e1 f0 e0 e1 ee f2 e0 e5  ....// .........
4580: ec 20 4b 4c 69 6e 6b 09 0d 0a 09 76 61 72 20 61  . KLink....var a
4590: 6b 6c 69 6e 6b 73 3d 74 68 69 73 2e 63 68 6d 69  klinks=this.chmi
45a0: 6e 66 6f 2e 73 65 6c 65 63 74 4e 6f 64 65 73 28  nfo.selectNodes(
45b0: 22 6b 6c 69 6e 6b 73 22 29 0d 0a 09 66 6f 72 28  "klinks")...for(
45c0: 76 61 72 20 69 3d 30 3b 69 3c 61 6b 6c 69 6e 6b  var i=0;i<aklink
45d0: 73 2e 6c 65 6e 67 74 68 3b 69 2b 2b 29 0d 0a 09  s.length;i++)...
45e0: 7b 0d 0a 09 09 76 61 72 20 6b 65 79 73 3d 61 6b  {....var keys=ak
45f0: 6c 69 6e 6b 73 2e 69 74 65 6d 28 69 29 2e 74 65  links.item(i).te
4600: 78 74 2e 73 70 6c 69 74 28 2f 5b 5c 72 5c 6e 5d  xt.split(/[\r\n]
4610: 2f 67 29 0d 0a 09 09 66 6f 72 28 76 61 72 20 6b  /g)....for(var k
4620: 20 69 6e 20 6b 65 79 73 29 0d 0a 09 09 09 68 68   in keys).....hh
4630: 6b 52 6f 6f 74 2e 41 64 64 4b 65 79 77 6f 72 64  kRoot.AddKeyword
4640: 28 68 72 65 66 46 6e 61 6d 65 2c 20 6b 65 79 73  (hrefFname, keys
4650: 5b 6b 5d 29 0d 0a 09 7d 0d 0a 09 76 61 72 20 61  [k])...}...var a
4660: 6b 77 4d 6f 64 65 3d 70 61 72 73 65 49 6e 74 28  kwMode=parseInt(
4670: 47 65 74 41 74 74 72 69 62 28 74 68 69 73 2e 63  GetAttrib(this.c
4680: 68 6d 69 6e 66 6f 2e 73 65 6c 65 63 74 53 69 6e  hminfo.selectSin
4690: 67 6c 65 4e 6f 64 65 28 22 61 75 74 6f 6b 77 22  gleNode("autokw"
46a0: 29 2c 20 22 6d 6f 64 65 22 29 29 0d 0a 0d 0a 09  ), "mode")).....
46b0: 69 66 28 61 6b 77 4d 6f 64 65 20 26 20 31 29 0d  if(akwMode & 1).
46c0: 0a 09 09 68 68 6b 52 6f 6f 74 2e 41 64 64 4b 65  ...hhkRoot.AddKe
46d0: 79 77 6f 72 64 28 68 72 65 66 46 6e 61 6d 65 2c  yword(hrefFname,
46e0: 20 74 68 69 73 2e 54 69 74 6c 65 2e 72 65 70 6c   this.Title.repl
46f0: 61 63 65 28 2f 2c 2f 67 2c 20 22 22 29 29 0d 0a  ace(/,/g, ""))..
4700: 09 69 66 28 61 6b 77 4d 6f 64 65 20 26 20 32 29  .if(akwMode & 2)
4710: 0d 0a 09 7b 0d 0a 09 09 76 61 72 20 6b 65 79 73  ...{....var keys
4720: 3d 74 68 69 73 2e 54 69 74 6c 65 2e 73 70 6c 69  =this.Title.spli
4730: 74 28 2f 5b 20 2c 3b 3a 5c 2f 5c 5c 5d 2f 29 0d  t(/[ ,;:\/\\]/).
4740: 0a 09 09 66 6f 72 28 76 61 72 20 69 20 69 6e 20  ...for(var i in 
4750: 6b 65 79 73 29 0d 0a 09 09 09 68 68 6b 52 6f 6f  keys).....hhkRoo
4760: 74 2e 41 64 64 4b 65 79 77 6f 72 64 28 68 72 65  t.AddKeyword(hre
4770: 66 46 6e 61 6d 65 2c 20 6b 65 79 73 5b 69 5d 29  fFname, keys[i])
4780: 0d 0a 09 7d 0d 0a 09 0d 0a 09 2f 2f 20 d2 e5 ef  ...}......// ...
4790: e5 f0 fc 20 ee e1 f0 e0 e1 ee f2 e0 e5 ec 20 41  ... .......... A
47a0: 4c 69 6e 6b 0d 0a 09 61 6b 6c 69 6e 6b 73 3d 74  Link...aklinks=t
47b0: 68 69 73 2e 63 68 6d 69 6e 66 6f 2e 73 65 6c 65  his.chminfo.sele
47c0: 63 74 4e 6f 64 65 73 28 22 61 6c 69 6e 6b 73 22  ctNodes("alinks"
47d0: 29 0d 0a 09 69 66 28 21 61 6b 6c 69 6e 6b 73 2e  )...if(!aklinks.
47e0: 6c 65 6e 67 74 68 29 0d 0a 09 09 72 65 74 75 72  length)....retur
47f0: 6e 0d 0a 09 69 66 28 21 74 68 69 73 2e 49 73 54  n...if(!this.IsT
4800: 6f 70 69 63 29 0d 0a 09 7b 0d 0a 09 09 2f 2f 20  opic)...{....// 
4810: 41 4c 69 6e 6b 20 ed e5 eb fc e7 ff 20 ef f0 e8  ALink ...... ...
4820: e2 ff e7 e0 f2 fc 20 ea 20 ec e5 f1 f2 f3 20 ed  ...... . ..... .
4830: e0 20 f1 f2 f0 e0 ed e8 f6 e5 2c 0d 0a 09 09 2f  . ........,..../
4840: 2f 20 ef ee fd f2 ee ec f3 20 ef f0 ee f1 f2 ee  / ....... ......
4850: 20 ef e5 f0 e5 ea e8 ed e5 ec 20 e8 f5 20 e2 20   ......... .. . 
4860: f0 ee e4 e8 f2 e5 eb fc f1 ea e8 e9 20 f2 ee ef  ............ ...
4870: e8 ea 2c 0d 0a 09 09 2f 2f 20 ee ed 20 e5 f9 e5  ..,....// .. ...
4880: 20 ed e5 20 ee e1 f0 e0 e1 ee f2 e0 ed 0d 0a 09   .. ............
4890: 09 76 61 72 20 70 61 72 65 6e 74 3d 74 68 69 73  .var parent=this
48a0: 2e 70 61 72 65 6e 74 0d 0a 09 09 77 68 69 6c 65  .parent....while
48b0: 28 21 70 61 72 65 6e 74 2e 49 73 54 6f 70 69 63  (!parent.IsTopic
48c0: 29 0d 0a 09 09 09 70 61 72 65 6e 74 3d 70 61 72  ).....parent=par
48d0: 65 6e 74 2e 70 61 72 65 6e 74 0d 0a 09 09 66 6f  ent.parent....fo
48e0: 72 28 76 61 72 20 69 3d 30 3b 69 3c 61 6b 6c 69  r(var i=0;i<akli
48f0: 6e 6b 73 2e 6c 65 6e 67 74 68 3b 69 2b 2b 29 0d  nks.length;i++).
4900: 0a 09 09 09 70 61 72 65 6e 74 2e 63 68 6d 69 6e  ....parent.chmin
4910: 66 6f 2e 61 70 70 65 6e 64 43 68 69 6c 64 28 61  fo.appendChild(a
4920: 6b 6c 69 6e 6b 73 2e 69 74 65 6d 28 69 29 29 0d  klinks.item(i)).
4930: 0a 09 7d 0d 0a 09 65 6c 73 65 0d 0a 09 7b 0d 0a  ..}...else...{..
4940: 09 09 2f 2f 20 e2 f1 f2 e0 e2 e8 ec 20 ee e1 fa  ..// ....... ...
4950: e5 ea f2 0d 0a 09 09 76 61 72 20 61 6c 6c 6b 65  .......var allke
4960: 79 73 3d 22 22 0d 0a 09 09 66 6f 72 28 76 61 72  ys=""....for(var
4970: 20 69 3d 30 3b 69 3c 61 6b 6c 69 6e 6b 73 2e 6c   i=0;i<aklinks.l
4980: 65 6e 67 74 68 3b 69 2b 2b 29 0d 0a 09 09 09 61  ength;i++).....a
4990: 6c 6c 6b 65 79 73 2b 3d 27 5c 6e 27 2b 61 6b 6c  llkeys+='\n'+akl
49a0: 69 6e 6b 73 2e 69 74 65 6d 28 69 29 2e 74 65 78  inks.item(i).tex
49b0: 74 0d 0a 09 09 76 61 72 20 6f 62 20 3d 20 78 6d  t....var ob = xm
49c0: 6c 2e 63 72 65 61 74 65 45 6c 65 6d 65 6e 74 28  l.createElement(
49d0: 22 6f 62 6a 65 63 74 22 29 0d 0a 09 09 53 65 74  "object")....Set
49e0: 41 74 74 72 69 62 28 6f 62 2c 20 22 74 79 70 65  Attrib(ob, "type
49f0: 22 2c 20 22 61 70 70 6c 69 63 61 74 69 6f 6e 2f  ", "application/
4a00: 78 2d 6f 6c 65 6f 62 6a 65 63 74 22 29 0d 0a 09  x-oleobject")...
4a10: 09 53 65 74 41 74 74 72 69 62 28 6f 62 2c 20 22  .SetAttrib(ob, "
4a20: 63 6c 61 73 73 69 64 22 2c 20 22 63 6c 73 69 64  classid", "clsid
4a30: 3a 31 65 32 61 37 62 64 30 2d 64 61 62 39 2d 31  :1e2a7bd0-dab9-1
4a40: 31 64 30 2d 62 39 33 61 2d 30 30 63 30 34 66 63  1d0-b93a-00c04fc
4a50: 39 39 66 39 65 22 29 0d 0a 09 09 76 61 72 20 6b  99f9e")....var k
4a60: 65 79 73 3d 61 6c 6c 6b 65 79 73 2e 73 70 6c 69  eys=allkeys.spli
4a70: 74 28 2f 5b 5c 72 5c 6e 5d 2f 67 29 0d 0a 09 09  t(/[\r\n]/g)....
4a80: 66 6f 72 28 76 61 72 20 69 20 69 6e 20 6b 65 79  for(var i in key
4a90: 73 29 0d 0a 09 09 7b 0d 0a 09 09 09 76 61 72 20  s)....{.....var 
4aa0: 6b 65 79 3d 6b 65 79 73 5b 69 5d 2e 72 65 70 6c  key=keys[i].repl
4ab0: 61 63 65 28 2f 5e 5c 73 2b 7c 5c 73 2b 24 2f 67  ace(/^\s+|\s+$/g
4ac0: 2c 20 22 22 29 0d 0a 09 09 09 69 66 28 6b 65 79  , "").....if(key
4ad0: 2e 6c 65 6e 67 74 68 29 0d 0a 09 09 09 7b 0d 0a  .length).....{..
4ae0: 09 09 09 09 76 61 72 20 70 61 72 61 20 3d 20 78  ....var para = x
4af0: 6d 6c 2e 63 72 65 61 74 65 45 6c 65 6d 65 6e 74  ml.createElement
4b00: 28 22 70 61 72 61 6d 22 29 0d 0a 09 09 09 09 53  ("param")......S
4b10: 65 74 41 74 74 72 69 62 28 70 61 72 61 2c 20 22  etAttrib(para, "
4b20: 4e 61 6d 65 22 2c 20 22 41 4c 69 6e 6b 20 4e 61  Name", "ALink Na
4b30: 6d 65 22 29 0d 0a 09 09 09 09 53 65 74 41 74 74  me")......SetAtt
4b40: 72 69 62 28 70 61 72 61 2c 20 22 76 61 6c 75 65  rib(para, "value
4b50: 22 2c 20 6b 65 79 29 0d 0a 09 09 09 09 6f 62 2e  ", key)......ob.
4b60: 61 70 70 65 6e 64 43 68 69 6c 64 28 70 61 72 61  appendChild(para
4b70: 29 0d 0a 09 09 09 7d 0d 0a 09 09 7d 0d 0a 09 09  ).....}....}....
4b80: 74 68 69 73 2e 6e 6f 64 65 2e 61 70 70 65 6e 64  this.node.append
4b90: 43 68 69 6c 64 28 6f 62 29 0d 0a 09 7d 0d 0a 7d  Child(ob)...}..}
4ba0: 0d 0a 0d 0a 66 75 6e 63 74 69 6f 6e 20 44 6f 63  ....function Doc
4bb0: 53 65 63 74 69 6f 6e 5f 4d 61 6b 65 54 6f 63 28  Section_MakeToc(
4bc0: 6e 6f 64 65 29 0d 0a 7b 0d 0a 09 76 61 72 20 72  node)..{...var r
4bd0: 65 73 3d 22 22 0d 0a 09 66 6f 72 28 76 61 72 20  es=""...for(var 
4be0: 69 3d 30 3b 69 3c 6e 6f 64 65 2e 63 68 69 6c 64  i=0;i<node.child
4bf0: 4e 6f 64 65 73 2e 6c 65 6e 67 74 68 3b 69 2b 2b  Nodes.length;i++
4c00: 29 0d 0a 09 09 72 65 73 2b 3d 74 68 69 73 2e 4d  )....res+=this.M
4c10: 61 6b 65 54 6f 63 28 6e 6f 64 65 2e 63 68 69 6c  akeToc(node.chil
4c20: 64 4e 6f 64 65 73 2e 69 74 65 6d 28 69 29 29 0d  dNodes.item(i)).
4c30: 0a 0d 0a 09 73 77 69 74 63 68 28 6e 6f 64 65 2e  ....switch(node.
4c40: 62 61 73 65 4e 61 6d 65 29 0d 0a 09 7b 0d 0a 09  baseName)...{...
4c50: 63 61 73 65 20 22 66 6f 6c 64 65 72 22 3a 0d 0a  case "folder":..
4c60: 09 09 72 65 74 75 72 6e 20 27 3c 4c 49 3e 3c 4f  ..return '<LI><O
4c70: 42 4a 45 43 54 20 74 79 70 65 3d 22 74 65 78 74  BJECT type="text
4c80: 2f 73 69 74 65 6d 61 70 22 3e 5c 72 5c 6e 27 2b  /sitemap">\r\n'+
4c90: 0d 0a 09 09 09 09 27 3c 70 61 72 61 6d 20 6e 61  ......'<param na
4ca0: 6d 65 3d 22 4e 61 6d 65 22 20 76 61 6c 75 65 3d  me="Name" value=
4cb0: 22 27 20 2b 20 6e 6f 72 6d 28 47 65 74 41 74 74  "' + norm(GetAtt
4cc0: 72 69 62 28 6e 6f 64 65 2c 20 22 6e 61 6d 65 22  rib(node, "name"
4cd0: 29 29 20 2b 20 27 22 3e 5c 72 5c 6e 27 2b 0d 0a  )) + '">\r\n'+..
4ce0: 09 09 09 09 27 3c 2f 4f 42 4a 45 43 54 3e 5c 72  ....'</OBJECT>\r
4cf0: 5c 6e 3c 55 4c 3e 27 2b 72 65 73 2b 22 3c 2f 55  \n<UL>'+res+"</U
4d00: 4c 3e 22 0d 0a 09 63 61 73 65 20 22 6d 65 72 67  L>"...case "merg
4d10: 65 22 3a 0d 0a 09 09 76 61 72 20 66 69 6c 65 3d  e":....var file=
4d20: 47 65 74 41 74 74 72 69 62 28 6e 6f 64 65 2c 20  GetAttrib(node, 
4d30: 22 66 69 6c 65 22 29 0d 0a 09 09 72 65 74 75 72  "file")....retur
4d40: 6e 20 27 3c 2f 55 4c 3e 3c 4f 42 4a 45 43 54 20  n '</UL><OBJECT 
4d50: 74 79 70 65 3d 22 74 65 78 74 2f 73 69 74 65 6d  type="text/sitem
4d60: 61 70 22 3e 5c 72 5c 6e 27 2b 0d 0a 09 09 09 27  ap">\r\n'+.....'
4d70: 3c 70 61 72 61 6d 20 6e 61 6d 65 3d 22 4d 65 72  <param name="Mer
4d80: 67 65 22 20 76 61 6c 75 65 3d 22 27 2b 20 66 69  ge" value="'+ fi
4d90: 6c 65 2b 27 2e 63 68 6d 3a 3a 5c 5c 27 2b 66 69  le+'.chm::\\'+fi
4da0: 6c 65 2b 27 2e 68 68 63 22 3e 5c 72 5c 6e 5c 72  le+'.hhc">\r\n\r
4db0: 5c 6e 27 2b 0d 0a 09 09 09 27 3c 2f 4f 42 4a 45  \n'+.....'</OBJE
4dc0: 43 54 3e 5c 72 5c 6e 3c 55 4c 3e 27 0d 0a 09 63  CT>\r\n<UL>'...c
4dd0: 61 73 65 20 22 73 65 6c 66 22 3a 0d 0a 09 09 74  ase "self":....t
4de0: 68 69 73 2e 63 6e 74 54 69 74 6c 65 3d 74 68 69  his.cntTitle=thi
4df0: 73 2e 63 68 6d 69 6e 66 6f 2e 73 65 6c 65 63 74  s.chminfo.select
4e00: 53 69 6e 67 6c 65 4e 6f 64 65 28 22 63 6e 74 74  SingleNode("cntt
4e10: 69 74 6c 65 22 29 0d 0a 09 09 74 68 69 73 2e 63  itle")....this.c
4e20: 6e 74 54 69 74 6c 65 3d 28 74 68 69 73 2e 63 6e  ntTitle=(this.cn
4e30: 74 54 69 74 6c 65 20 26 26 20 74 68 69 73 2e 63  tTitle && this.c
4e40: 6e 74 54 69 74 6c 65 2e 68 61 73 43 68 69 6c 64  ntTitle.hasChild
4e50: 4e 6f 64 65 73 28 29 29 3f 74 68 69 73 2e 63 6e  Nodes())?this.cn
4e60: 74 54 69 74 6c 65 2e 74 65 78 74 3a 74 68 69 73  tTitle.text:this
4e70: 2e 54 69 74 6c 65 0d 0a 09 09 76 61 72 20 66 4e  .Title....var fN
4e80: 61 6d 65 3d 74 68 69 73 2e 46 69 6c 65 4e 61 6d  ame=this.FileNam
4e90: 65 0d 0a 09 09 69 66 28 21 74 68 69 73 2e 49 73  e....if(!this.Is
4ea0: 54 6f 70 69 63 29 0d 0a 09 09 09 66 4e 61 6d 65  Topic).....fName
4eb0: 2b 3d 22 23 22 2b 74 68 69 73 2e 41 6e 63 68 6f  +="#"+this.Ancho
4ec0: 72 0d 0a 09 09 69 66 28 72 65 73 2e 6c 65 6e 67  r....if(res.leng
4ed0: 74 68 29 0d 0a 09 09 09 72 65 73 3d 27 3c 55 4c  th).....res='<UL
4ee0: 3e 5c 72 5c 6e 27 20 2b 20 72 65 73 20 2b 20 27  >\r\n' + res + '
4ef0: 3c 2f 55 4c 3e 5c 72 5c 6e 27 0d 0a 09 09 72 65  </UL>\r\n'....re
4f00: 74 75 72 6e 20 27 3c 4c 49 3e 3c 4f 42 4a 45 43  turn '<LI><OBJEC
4f10: 54 20 74 79 70 65 3d 22 74 65 78 74 2f 73 69 74  T type="text/sit
4f20: 65 6d 61 70 22 3e 5c 72 5c 6e 27 2b 0d 0a 09 09  emap">\r\n'+....
4f30: 09 09 09 27 3c 70 61 72 61 6d 20 6e 61 6d 65 3d  ...'<param name=
4f40: 22 4e 61 6d 65 22 20 76 61 6c 75 65 3d 22 27 20  "Name" value="' 
4f50: 2b 20 6e 6f 72 6d 28 74 68 69 73 2e 63 6e 74 54  + norm(this.cntT
4f60: 69 74 6c 65 29 20 2b 20 27 22 3e 5c 72 5c 6e 27  itle) + '">\r\n'
4f70: 2b 0d 0a 09 09 09 09 09 27 3c 70 61 72 61 6d 20  +.......'<param 
4f80: 6e 61 6d 65 3d 22 4c 6f 63 61 6c 22 20 76 61 6c  name="Local" val
4f90: 75 65 3d 22 27 20 2b 20 66 4e 61 6d 65 20 2b 27  ue="' + fName +'
4fa0: 22 3e 5c 72 5c 6e 27 2b 0d 0a 09 09 09 09 09 27  ">\r\n'+.......'
4fb0: 3c 2f 4f 42 4a 45 43 54 3e 5c 72 5c 6e 27 2b 72  </OBJECT>\r\n'+r
4fc0: 65 73 0d 0a 09 63 61 73 65 20 22 63 68 69 6c 64  es...case "child
4fd0: 73 74 6f 63 22 3a 0d 0a 09 09 72 65 74 75 72 6e  stoc":....return
4fe0: 20 74 68 69 73 2e 43 68 69 6c 64 73 43 6f 6e 74   this.ChildsCont
4ff0: 65 6e 74 0d 0a 09 7d 0d 0a 09 72 65 74 75 72 6e  ent...}...return
5000: 20 72 65 73 0d 0a 7d 0d 0a 0d 0a 66 75 6e 63 74   res..}....funct
5010: 69 6f 6e 20 44 6f 63 53 65 63 74 69 6f 6e 5f 53  ion DocSection_S
5020: 61 76 65 28 29 0d 0a 7b 0d 0a 09 2f 2f 20 c7 e0  ave()..{...// ..
5030: ec e5 ed e8 ec 20 73 75 62 73 74 27 fb 0d 0a 09  ..... subst'....
5040: 4d 61 6b 65 52 65 70 6c 61 63 65 73 28 74 68 69  MakeReplaces(thi
5050: 73 2e 6e 6f 64 65 2c 20 22 2e 2f 2f 73 75 62 73  s.node, ".//subs
5060: 74 22 29 0d 0a 0d 0a 09 2f 2f 20 d3 e4 e0 eb e8  t").....// .....
5070: ec 20 63 68 6d 69 6e 66 6f 0d 0a 09 74 68 69 73  . chminfo...this
5080: 2e 63 68 6d 69 6e 66 6f 2e 70 61 72 65 6e 74 4e  .chminfo.parentN
5090: 6f 64 65 2e 72 65 6d 6f 76 65 43 68 69 6c 64 28  ode.removeChild(
50a0: 74 68 69 73 2e 63 68 6d 69 6e 66 6f 29 0d 0a 0d  this.chminfo)...
50b0: 0a 09 2f 2f 20 d1 e4 e5 eb e0 e5 ec 20 e7 e0 ec  ..// ....... ...
50c0: e5 ed fb 0d 0a 09 74 68 69 73 2e 4d 61 6b 65 53  ......this.MakeS
50d0: 75 62 73 74 28 29 0d 0a 09 2f 2f 20 ce e1 f0 e0  ubst()...// ....
50e0: e1 ee f2 e0 e5 ec 20 ea eb fe f7 e5 e2 fb e5 20  ...... ........ 
50f0: f1 eb ee e2 e0 0d 0a 09 74 68 69 73 2e 50 72 6f  ........this.Pro
5100: 63 65 73 73 4b 65 79 77 6f 72 64 73 28 29 0d 0a  cessKeywords()..
5110: 09 2f 2f 20 ce e1 f0 e0 e1 ee f2 e0 e5 ec 20 f1  .// .......... .
5120: f1 fb eb ea e8 20 e8 e7 20 fd f2 ee e9 20 f1 e5  ..... .. .... ..
5130: ea f6 e8 e8 20 ed e0 20 e4 ee f7 e5 f0 ed e8 e5  .... .. ........
5140: 0d 0a 09 74 68 69 73 2e 43 6f 6d 62 69 6e 65 48  ...this.CombineH
5150: 72 65 66 73 28 29 0d 0a 0d 0a 09 2f 2f 20 ce e1  refs().....// ..
5160: f0 e0 e1 ee f2 ea e0 20 ef ee f1 f2 f0 ee e5 ed  ....... ........
5170: e8 ff 20 f1 ee e4 e5 f0 e6 e0 ed e8 ff 0d 0a 09  .. .............
5180: 76 61 72 20 6e 43 6f 6e 74 65 6e 74 73 3d 74 68  var nContents=th
5190: 69 73 2e 63 68 6d 69 6e 66 6f 2e 73 65 6c 65 63  is.chminfo.selec
51a0: 74 53 69 6e 67 6c 65 4e 6f 64 65 28 22 74 6f 63  tSingleNode("toc
51b0: 22 29 0d 0a 09 69 66 28 21 6e 43 6f 6e 74 65 6e  ")...if(!nConten
51c0: 74 73 29 0d 0a 09 7b 0d 0a 09 09 6e 43 6f 6e 74  ts)...{....nCont
51d0: 65 6e 74 73 3d 78 6d 6c 2e 63 72 65 61 74 65 45  ents=xml.createE
51e0: 6c 65 6d 65 6e 74 28 22 74 6f 63 22 29 0d 0a 09  lement("toc")...
51f0: 09 76 61 72 20 73 65 6c 66 3d 78 6d 6c 2e 63 72  .var self=xml.cr
5200: 65 61 74 65 45 6c 65 6d 65 6e 74 28 22 73 65 6c  eateElement("sel
5210: 66 22 29 0d 0a 09 09 73 65 6c 66 2e 61 70 70 65  f")....self.appe
5220: 6e 64 43 68 69 6c 64 28 78 6d 6c 2e 63 72 65 61  ndChild(xml.crea
5230: 74 65 45 6c 65 6d 65 6e 74 28 22 63 68 69 6c 64  teElement("child
5240: 73 74 6f 63 22 29 29 0d 0a 09 09 6e 43 6f 6e 74  stoc"))....nCont
5250: 65 6e 74 73 2e 61 70 70 65 6e 64 43 68 69 6c 64  ents.appendChild
5260: 28 73 65 6c 66 29 0d 0a 09 7d 0d 0a 09 76 61 72  (self)...}...var
5270: 20 43 6f 6e 74 65 6e 74 73 3d 74 68 69 73 2e 4d   Contents=this.M
5280: 61 6b 65 54 6f 63 28 6e 43 6f 6e 74 65 6e 74 73  akeToc(nContents
5290: 29 0d 0a 0d 0a 09 69 66 28 74 68 69 73 2e 70 61  ).....if(this.pa
52a0: 72 65 6e 74 29 0d 0a 09 09 74 68 69 73 2e 70 61  rent)....this.pa
52b0: 72 65 6e 74 2e 43 68 69 6c 64 73 43 6f 6e 74 65  rent.ChildsConte
52c0: 6e 74 2b 3d 43 6f 6e 74 65 6e 74 73 0d 0a 09 65  nt+=Contents...e
52d0: 6c 73 65 0d 0a 09 09 74 68 69 73 2e 43 68 69 6c  lse....this.Chil
52e0: 64 73 43 6f 6e 74 65 6e 74 3d 43 6f 6e 74 65 6e  dsContent=Conten
52f0: 74 73 0d 0a 09 09 0d 0a 09 2f 2f 20 c5 f1 eb e8  ts.......// ....
5300: 20 fd f2 ee 20 f2 ee ef e8 ea 2c 20 f1 ea e8 ed   ... ....., ....
5310: e5 ec 20 e2 20 f4 e0 e9 eb 0d 0a 09 69 66 28 74  .. . .......if(t
5320: 68 69 73 2e 49 73 54 6f 70 69 63 29 0d 0a 09 7b  his.IsTopic)...{
5330: 0d 0a 09 09 2f 2f 20 cf ee e4 e3 ee f2 ee e2 e8  ....// .........
5340: ec 20 f1 f1 fb eb ea f3 20 ed e0 20 fd f2 f3 20  . ...... .. ... 
5350: f1 e5 ea f6 e8 fe 0d 0a 09 09 76 61 72 20 6e 48  ..........var nH
5360: 52 65 66 3d 74 68 69 73 2e 4d 61 6b 65 48 72 65  Ref=this.MakeHre
5370: 66 28 29 0d 0a 09 09 69 66 28 6e 48 52 65 66 29  f()....if(nHRef)
5380: 0d 0a 09 09 09 74 68 69 73 2e 6e 6f 64 65 2e 70  .....this.node.p
5390: 61 72 65 6e 74 4e 6f 64 65 2e 72 65 70 6c 61 63  arentNode.replac
53a0: 65 43 68 69 6c 64 28 6e 48 52 65 66 2c 20 74 68  eChild(nHRef, th
53b0: 69 73 2e 6e 6f 64 65 29 0d 0a 0d 0a 09 09 76 61  is.node)......va
53c0: 72 20 78 6d 6c 4e 65 77 3d 6e 65 77 20 41 63 74  r xmlNew=new Act
53d0: 69 76 65 58 4f 62 6a 65 63 74 28 78 6d 6c 50 72  iveXObject(xmlPr
53e0: 6f 67 49 44 29 0d 0a 09 09 76 61 72 20 6e 6e 48  ogID)....var nnH
53f0: 74 6d 6c 20 3d 20 78 6d 6c 4e 65 77 2e 63 72 65  tml = xmlNew.cre
5400: 61 74 65 45 6c 65 6d 65 6e 74 28 22 68 74 6d 6c  ateElement("html
5410: 22 29 0d 0a 09 09 6e 6e 48 74 6d 6c 2e 61 70 70  ")....nnHtml.app
5420: 65 6e 64 43 68 69 6c 64 28 6e 6f 64 65 48 65 61  endChild(nodeHea
5430: 64 2e 63 6c 6f 6e 65 4e 6f 64 65 28 74 72 75 65  d.cloneNode(true
5440: 29 29 0d 0a 0d 0a 09 09 76 61 72 20 63 68 6d 54  ))......var chmT
5450: 69 74 6c 65 3d 74 68 69 73 2e 63 68 6d 69 6e 66  itle=this.chminf
5460: 6f 2e 73 65 6c 65 63 74 53 69 6e 67 6c 65 4e 6f  o.selectSingleNo
5470: 64 65 28 22 63 68 6d 74 69 74 6c 65 22 29 0d 0a  de("chmtitle")..
5480: 09 09 63 68 6d 54 69 74 6c 65 3d 28 63 68 6d 54  ..chmTitle=(chmT
5490: 69 74 6c 65 20 26 26 20 63 68 6d 54 69 74 6c 65  itle && chmTitle
54a0: 2e 68 61 73 43 68 69 6c 64 4e 6f 64 65 73 28 29  .hasChildNodes()
54b0: 29 3f 63 68 6d 54 69 74 6c 65 2e 74 65 78 74 3a  )?chmTitle.text:
54c0: 74 68 69 73 2e 63 6e 74 54 69 74 6c 65 0d 0a 09  this.cntTitle...
54d0: 09 6e 6e 48 74 6d 6c 2e 73 65 6c 65 63 74 53 69  .nnHtml.selectSi
54e0: 6e 67 6c 65 4e 6f 64 65 28 22 2f 2f 74 69 74 6c  ngleNode("//titl
54f0: 65 22 29 2e 74 65 78 74 3d 63 68 6d 54 69 74 6c  e").text=chmTitl
5500: 65 0d 0a 09 09 0d 0a 09 09 76 61 72 20 62 64 20  e........var bd 
5510: 3d 20 6e 6f 64 65 42 6f 64 79 2e 63 6c 6f 6e 65  = nodeBody.clone
5520: 4e 6f 64 65 28 66 61 6c 73 65 29 0d 0a 09 09 0d  Node(false).....
5530: 0a 09 09 69 66 28 21 74 68 69 73 2e 70 61 72 65  ...if(!this.pare
5540: 6e 74 20 26 26 20 6e 6f 64 65 43 6f 6d 6d 6f 6e  nt && nodeCommon
5550: 29 0d 0a 09 09 09 6e 6f 64 65 43 6f 6d 6d 6f 6e  ).....nodeCommon
5560: 2e 70 61 72 65 6e 74 4e 6f 64 65 2e 72 65 6d 6f  .parentNode.remo
5570: 76 65 43 68 69 6c 64 28 6e 6f 64 65 43 6f 6d 6d  veChild(nodeComm
5580: 6f 6e 29 0d 0a 09 09 0d 0a 09 09 76 61 72 20 64  on)........var d
5590: 65 63 6f 72 3d 74 68 69 73 2e 63 68 6d 69 6e 66  ecor=this.chminf
55a0: 6f 2e 73 65 6c 65 63 74 53 69 6e 67 6c 65 4e 6f  o.selectSingleNo
55b0: 64 65 28 22 64 65 63 6f 72 61 74 69 6f 6e 22 29  de("decoration")
55c0: 0d 0a 09 09 76 61 72 20 69 6e 73 3d 64 65 63 6f  ....var ins=deco
55d0: 72 2e 73 65 6c 65 63 74 53 69 6e 67 6c 65 4e 6f  r.selectSingleNo
55e0: 64 65 28 22 2e 2f 2f 74 6f 70 69 63 22 29 0d 0a  de(".//topic")..
55f0: 09 09 69 66 28 69 6e 73 29 0d 0a 09 09 09 69 6e  ..if(ins).....in
5600: 73 2e 70 61 72 65 6e 74 4e 6f 64 65 2e 72 65 70  s.parentNode.rep
5610: 6c 61 63 65 43 68 69 6c 64 28 74 68 69 73 2e 6e  laceChild(this.n
5620: 6f 64 65 2c 20 69 6e 73 29 0d 0a 09 09 65 6c 73  ode, ins)....els
5630: 65 0d 0a 09 09 09 64 65 63 6f 72 2e 61 70 70 65  e.....decor.appe
5640: 6e 64 43 68 69 6c 64 28 74 68 69 73 2e 6e 6f 64  ndChild(this.nod
5650: 65 29 0d 0a 09 09 0d 0a 09 09 66 6f 72 28 76 61  e)........for(va
5660: 72 20 6b 3d 30 3b 6b 3c 64 65 63 6f 72 2e 63 68  r k=0;k<decor.ch
5670: 69 6c 64 4e 6f 64 65 73 2e 6c 65 6e 67 74 68 3b  ildNodes.length;
5680: 6b 2b 2b 29 0d 0a 09 09 09 62 64 2e 61 70 70 65  k++).....bd.appe
5690: 6e 64 43 68 69 6c 64 28 64 65 63 6f 72 2e 63 68  ndChild(decor.ch
56a0: 69 6c 64 4e 6f 64 65 73 2e 69 74 65 6d 28 6b 29  ildNodes.item(k)
56b0: 2e 63 6c 6f 6e 65 4e 6f 64 65 28 74 72 75 65 29  .cloneNode(true)
56c0: 29 0d 0a 0d 0a 09 09 6e 6e 48 74 6d 6c 2e 61 70  )......nnHtml.ap
56d0: 70 65 6e 64 43 68 69 6c 64 28 62 64 29 0d 0a 09  pendChild(bd)...
56e0: 09 78 6d 6c 4e 65 77 2e 61 70 70 65 6e 64 43 68  .xmlNew.appendCh
56f0: 69 6c 64 28 6e 6e 48 74 6d 6c 29 0d 0a 09 09 76  ild(nnHtml)....v
5700: 61 72 20 66 69 6c 65 3d 43 72 65 61 74 65 46 69  ar file=CreateFi
5710: 6c 65 28 69 6e 74 44 69 72 2b 74 68 69 73 2e 46  le(intDir+this.F
5720: 69 6c 65 4e 61 6d 65 29 0d 0a 09 09 66 69 6c 65  ileName)....file
5730: 2e 57 72 69 74 65 28 78 6d 6c 4e 65 77 2e 78 6d  .Write(xmlNew.xm
5740: 6c 29 0d 0a 09 09 66 69 6c 65 2e 43 6c 6f 73 65  l)....file.Close
5750: 28 29 0d 0a 09 7d 0d 0a 7d 0d 0a 0d 0a 2f 2f 20  ()...}..}....// 
5760: cf ee e4 e3 ee f2 ee e2 ea e0 20 e2 f5 ee e4 ed  .......... .....
5770: ee e3 ee 20 f4 e0 e9 eb e0 0d 0a 66 75 6e 63 74  ... .......funct
5780: 69 6f 6e 20 50 72 65 70 65 61 72 65 46 69 6c 65  ion PrepeareFile
5790: 28 70 61 74 68 29 0d 0a 7b 0d 0a 09 2f 2f 20 cf  (path)..{...// .
57a0: f0 ee e2 e5 f0 e8 ec 20 f1 f3 f9 e5 f1 f2 e2 ee  ....... ........
57b0: e2 e0 ed e8 e5 20 f4 e0 e9 eb e0 0d 0a 09 74 72  ..... ........tr
57c0: 79 7b 0d 0a 09 09 76 61 72 20 66 3d 66 73 6f 2e  y{....var f=fso.
57d0: 47 65 74 46 69 6c 65 28 70 61 74 68 29 0d 0a 09  GetFile(path)...
57e0: 7d 63 61 74 63 68 28 65 29 0d 0a 09 7b 0d 0a 09  }catch(e)...{...
57f0: 09 46 61 74 61 6c 45 72 72 6f 72 28 22 63 61 6e  .FatalError("can
5800: 27 74 20 67 65 74 20 66 69 6c 65 20 22 2b 70 61  't get file "+pa
5810: 74 68 2b 27 5c 6e 27 2b 65 2e 44 65 73 63 72 69  th+'\n'+e.Descri
5820: 70 74 69 6f 6e 29 0d 0a 09 7d 0d 0a 0d 0a 09 2f  ption)...}...../
5830: 2f 20 c7 e0 ef ee ec ed e8 ec 20 e5 e3 ee 20 ea  / ........ ... .
5840: e0 f2 e0 eb ee e3 2c 20 fd f2 ee 20 e1 f3 e4 e5  ......, ... ....
5850: f2 20 e8 20 ea e0 f2 e0 eb ee e3 20 ef f0 ee ec  . . ....... ....
5860: e5 e6 f3 f2 ee f7 ed fb f5 20 f4 e0 e9 eb ee e2  ......... ......
5870: 0d 0a 09 69 6e 74 44 69 72 3d 66 2e 50 61 72 65  ...intDir=f.Pare
5880: 6e 74 46 6f 6c 64 65 72 2e 50 61 74 68 0d 0a 09  ntFolder.Path...
5890: 69 66 28 21 69 6e 74 44 69 72 2e 6d 61 74 63 68  if(!intDir.match
58a0: 28 2f 5c 5c 24 2f 29 29 0d 0a 09 09 69 6e 74 44  (/\\$/))....intD
58b0: 69 72 2b 3d 27 5c 5c 27 0d 0a 09 0d 0a 09 69 6e  ir+='\\'......in
58c0: 46 69 6c 65 4e 61 6d 65 3d 66 2e 4e 61 6d 65 2e  FileName=f.Name.
58d0: 72 65 70 6c 61 63 65 28 2f 5c 2e 5b 5e 5c 2e 5d  replace(/\.[^\.]
58e0: 2a 24 2f 2c 20 22 22 29 0d 0a 09 66 3d 6e 75 6c  *$/, "")...f=nul
58f0: 6c 0d 0a 09 0d 0a 09 2f 2f 20 c4 e0 eb e5 e5 20  l......// ..... 
5900: ed e0 e4 ee 3a 0d 0a 09 2f 2f 20 e7 e0 ec e5 ed  ....:...// .....
5910: e8 f2 fc 20 63 6f 64 65 70 61 67 65 20 ed e0 20  ... codepage .. 
5920: 77 69 6e 64 6f 77 73 2d 31 32 35 31 0d 0a 09 2f  windows-1251.../
5930: 2f 20 f3 e1 f0 e0 f2 fc 20 ea ee ec ec e5 ed f2  / ...... .......
5940: e0 f0 e8 e8 20 e2 ee ea f0 f3 e3 20 63 68 6d 69  .... ...... chmi
5950: 6e 66 6f 0d 0a 09 2f 2f 20 e7 e0 ef e8 f1 e0 f2  nfo...// .......
5960: fc 20 f4 e0 e9 eb 0d 0a 20 20 20 20 76 61 72 20  . ......    var 
5970: 49 6e 46 69 6c 65 20 3d 20 66 73 6f 2e 4f 70 65  InFile = fso.Ope
5980: 6e 54 65 78 74 46 69 6c 65 28 70 61 74 68 29 0d  nTextFile(path).
5990: 0a 0d 0a 09 76 61 72 20 6c 69 6e 65 3d 49 6e 46  ....var line=InF
59a0: 69 6c 65 2e 52 65 61 64 4c 69 6e 65 28 29 0d 0a  ile.ReadLine()..
59b0: 09 69 66 28 6c 69 6e 65 2e 73 65 61 72 63 68 28  .if(line.search(
59c0: 2f 63 70 31 32 35 31 2f 69 29 3e 3d 30 29 0d 0a  /cp1251/i)>=0)..
59d0: 09 7b 0d 0a 09 09 2f 2f 20 c5 f1 eb e8 20 e2 20  .{....// .... . 
59e0: f1 f2 f0 ee ea e5 20 e5 f1 f2 fc 20 43 50 31 32  ...... .... CP12
59f0: 35 31 2c 20 e7 ed e0 f7 e8 f2 2c 20 f4 e0 e9 eb  51, ......, ....
5a00: 20 f2 ee eb fc ea ee 20 f7 f2 ee 20 f1 ee e7 e4   ...... ... ....
5a10: e0 ed 0d 0a 09 09 2f 2f 20 72 65 73 74 27 ee ec  ......// rest'..
5a20: 2c 20 ed e0 e4 ee 20 f0 e0 f1 ea f0 fb f2 fc 20  , .... ........ 
5a30: ea ee ec ec e5 ed f2 e0 f0 e8 e8 2e 0d 0a 09 09  ................
5a40: 2f 2f 20 d2 e0 ea e6 e5 20 f3 e4 e0 eb e8 ec 20  // ..... ...... 
5a50: f1 f1 fb eb ea e8 20 ed e0 20 e2 f1 ff ea e8 e5  ...... .. ......
5a60: 20 e2 ed e5 f8 ed e8 e5 20 f1 f5 e5 ec fb 2c 20   ....... ....., 
5a70: ef f0 e0 e2 e4 e0 0d 0a 09 09 2f 2f 20 ef f0 e8  ..........// ...
5a80: e4 e5 f2 f1 ff 20 ee ef e8 f1 e0 f2 fc 20 26 6e  ..... ....... &n
5a90: 62 73 70 3b 0d 0a 09 09 76 61 72 20 69 6e 54 65  bsp;....var inTe
5aa0: 78 74 20 3d 20 6c 69 6e 65 2e 72 65 70 6c 61 63  xt = line.replac
5ab0: 65 28 2f 63 70 31 32 35 31 2f 69 2c 20 22 77 69  e(/cp1251/i, "wi
5ac0: 6e 64 6f 77 73 2d 31 32 35 31 22 29 2b 0d 0a 09  ndows-1251")+...
5ad0: 09 09 27 5c 72 5c 6e 3c 21 44 4f 43 54 59 50 45  ..'\r\n<!DOCTYPE
5ae0: 20 72 65 73 74 20 5b 3c 21 45 4e 54 49 54 59 20   rest [<!ENTITY 
5af0: 6e 62 73 70 20 22 26 23 31 36 30 3b 22 3e 5d 3e  nbsp "&#160;">]>
5b00: 5c 72 5c 6e 3c 68 74 6d 6c 3e 27 0d 0a 20 20 20  \r\n<html>'..   
5b10: 20 09 49 6e 46 69 6c 65 2e 52 65 61 64 4c 69 6e   .InFile.ReadLin
5b20: 65 28 29 0d 0a 09 09 49 6e 46 69 6c 65 2e 52 65  e()....InFile.Re
5b30: 61 64 4c 69 6e 65 28 29 0d 0a 09 09 0d 0a 09 09  adLine()........
5b40: 2f 2f 20 d2 e5 ef e5 f0 fc 20 e1 f3 e4 e5 ec 20  // ...... ..... 
5b50: e8 f1 ea e0 f2 fc 20 63 6f 64 65 70 61 67 65 20  ...... codepage 
5b60: e2 20 e7 e0 e3 ee eb ee e2 ea e5 20 3c 6d 65 74  . ......... <met
5b70: 61 3e 0d 0a 09 09 77 68 69 6c 65 28 21 49 6e 46  a>....while(!InF
5b80: 69 6c 65 2e 41 74 45 6e 64 4f 66 53 74 72 65 61  ile.AtEndOfStrea
5b90: 6d 29 0d 0a 09 09 7b 0d 0a 09 09 09 6c 69 6e 65  m)....{.....line
5ba0: 20 3d 20 49 6e 46 69 6c 65 2e 52 65 61 64 4c 69   = InFile.ReadLi
5bb0: 6e 65 28 29 0d 0a 09 09 09 69 66 28 6c 69 6e 65  ne().....if(line
5bc0: 2e 73 65 61 72 63 68 28 2f 63 70 31 32 35 31 2f  .search(/cp1251/
5bd0: 69 29 3e 3d 30 29 0d 0a 09 09 09 7b 0d 0a 09 09  i)>=0).....{....
5be0: 09 09 69 6e 54 65 78 74 20 2b 3d 20 22 5c 72 5c  ..inText += "\r\
5bf0: 6e 22 20 2b 20 6c 69 6e 65 2e 72 65 70 6c 61 63  n" + line.replac
5c00: 65 28 2f 63 70 31 32 35 31 2f 69 2c 20 22 77 69  e(/cp1251/i, "wi
5c10: 6e 64 6f 77 73 2d 31 32 35 31 22 29 0d 0a 09 09  ndows-1251")....
5c20: 09 09 62 72 65 61 6b 0d 0a 09 09 09 7d 0d 0a 09  ..break.....}...
5c30: 09 09 69 6e 54 65 78 74 20 2b 3d 20 22 5c 72 5c  ..inText += "\r\
5c40: 6e 22 20 2b 20 6c 69 6e 65 0d 0a 09 09 7d 0d 0a  n" + line....}..
5c50: 09 09 0d 0a 09 09 2f 2f 20 c4 ee f7 e8 f2 e0 e5  ......// .......
5c60: ec 20 ee f1 f2 e0 eb fc ed ee e5 20 e8 e7 20 f4  . ......... .. .
5c70: e0 e9 eb e0 0d 0a 09 09 69 6e 54 65 78 74 20 2b  ........inText +
5c80: 3d 20 22 5c 72 5c 6e 22 20 2b 20 49 6e 46 69 6c  = "\r\n" + InFil
5c90: 65 2e 52 65 61 64 41 6c 6c 28 29 0d 0a 09 09 2f  e.ReadAll()..../
5ca0: 2f 20 c8 20 e7 e0 ef e8 f8 e5 ec 20 ee e1 f0 e0  / . ....... ....
5cb0: f2 ed ee 2c 20 f3 e1 f0 e0 e2 20 ea e0 ec e5 ed  ..., ..... .....
5cc0: f2 fb 20 e2 ee ea f0 f3 e3 20 63 68 6d 69 6e 66  .. ...... chminf
5cd0: 6f 0d 0a 09 09 49 6e 46 69 6c 65 2e 43 6c 6f 73  o....InFile.Clos
5ce0: 65 28 29 0d 0a 09 09 49 6e 46 69 6c 65 20 3d 20  e()....InFile = 
5cf0: 66 73 6f 2e 43 72 65 61 74 65 54 65 78 74 46 69  fso.CreateTextFi
5d00: 6c 65 28 70 61 74 68 29 0d 0a 09 09 49 6e 46 69  le(path)....InFi
5d10: 6c 65 2e 57 72 69 74 65 28 69 6e 54 65 78 74 2e  le.Write(inText.
5d20: 0d 0a 09 09 09 72 65 70 6c 61 63 65 28 2f 3c 21  .....replace(/<!
5d30: 2d 2d 5c 73 2a 28 3f 3d 3c 63 68 6d 69 6e 66 6f  --\s*(?=<chminfo
5d40: 29 2f 67 69 2c 20 22 22 29 2e 0d 0a 09 09 09 72  )/gi, "")......r
5d50: 65 70 6c 61 63 65 28 2f 5c 2f 63 68 6d 69 6e 66  eplace(/\/chminf
5d60: 6f 3e 5c 73 2a 2d 2d 3e 2f 67 69 2c 20 22 2f 63  o>\s*-->/gi, "/c
5d70: 68 6d 69 6e 66 6f 3e 22 29 2e 0d 0a 09 09 09 72  hminfo>")......r
5d80: 65 70 6c 61 63 65 28 2f 63 68 6d 69 6e 66 6f 5c  eplace(/chminfo\
5d90: 2f 3e 5c 73 2a 2d 2d 3e 2f 67 69 2c 20 22 63 68  />\s*-->/gi, "ch
5da0: 6d 69 6e 66 6f 2f 3e 22 29 29 0d 0a 09 7d 0d 0a  minfo/>"))...}..
5db0: 20 20 20 20 49 6e 46 69 6c 65 2e 43 6c 6f 73 65      InFile.Close
5dc0: 28 29 0d 0a 7d 0d 0a 0d 0a 66 75 6e 63 74 69 6f  ()..}....functio
5dd0: 6e 20 6e 6f 72 6d 28 74 65 78 74 29 0d 0a 7b 0d  n norm(text)..{.
5de0: 0a 09 72 65 74 75 72 6e 20 74 65 78 74 2e 72 65  ..return text.re
5df0: 70 6c 61 63 65 28 2f 26 2f 67 2c 22 26 61 6d 70  place(/&/g,"&amp
5e00: 3b 22 29 2e 72 65 70 6c 61 63 65 28 2f 22 2f 67  ;").replace(/"/g
5e10: 2c 22 26 71 75 6f 74 3b 22 29 2e 72 65 70 6c 61  ,"&quot;").repla
5e20: 63 65 28 2f 3c 2f 67 2c 20 22 26 6c 74 3b 22 29  ce(/</g, "&lt;")
5e30: 2e 72 65 70 6c 61 63 65 28 2f 3e 2f 67 2c 20 22  .replace(/>/g, "
5e40: 26 67 74 3b 22 29 0d 0a 7d 0d 0a 0d 0a 66 75 6e  &gt;")..}....fun
5e50: 63 74 69 6f 6e 20 4d 61 6b 65 53 65 63 74 69 6f  ction MakeSectio
5e60: 6e 28 6e 61 6d 65 2c 20 70 61 72 65 6e 74 29 0d  n(name, parent).
5e70: 0a 7b 0d 0a 09 76 61 72 20 74 61 72 67 65 74 3d  .{...var target=
5e80: 6e 6f 64 65 44 6f 63 75 6d 65 6e 74 2e 73 65 6c  nodeDocument.sel
5e90: 65 63 74 53 69 6e 67 6c 65 4e 6f 64 65 28 22 2e  ectSingleNode(".
5ea0: 2f 2f 61 5b 40 6e 61 6d 65 3d 27 22 2b 6e 61 6d  //a[@name='"+nam
5eb0: 65 2e 73 75 62 73 74 72 28 31 29 2b 22 27 5d 22  e.substr(1)+"']"
5ec0: 29 0d 0a 09 77 68 69 6c 65 28 74 61 72 67 65 74  )...while(target
5ed0: 29 0d 0a 09 7b 0d 0a 09 09 74 61 72 67 65 74 3d  )...{....target=
5ee0: 74 61 72 67 65 74 2e 70 61 72 65 6e 74 4e 6f 64  target.parentNod
5ef0: 65 3b 0d 0a 09 09 69 66 28 74 61 72 67 65 74 2e  e;....if(target.
5f00: 62 61 73 65 4e 61 6d 65 2e 74 6f 4c 6f 77 65 72  baseName.toLower
5f10: 43 61 73 65 28 29 3d 3d 22 64 69 76 22 20 26 26  Case()=="div" &&
5f20: 20 47 65 74 41 74 74 72 69 62 28 74 61 72 67 65   GetAttrib(targe
5f30: 74 2c 20 22 63 6c 61 73 73 22 29 2e 6d 61 74 63  t, "class").matc
5f40: 68 28 2f 73 65 63 74 69 6f 6e 2f 69 29 29 0d 0a  h(/section/i))..
5f50: 09 09 09 72 65 74 75 72 6e 20 6e 65 77 20 44 6f  ...return new Do
5f60: 63 53 65 63 74 69 6f 6e 28 70 61 72 65 6e 74 2c  cSection(parent,
5f70: 20 74 61 72 67 65 74 29 0d 0a 09 7d 0d 0a 09 72   target)...}...r
5f80: 65 74 75 72 6e 20 6e 75 6c 6c 0d 0a 7d 0d 0a 0d  eturn null..}...
5f90: 0a 66 75 6e 63 74 69 6f 6e 20 50 72 6f 63 65 73  .function Proces
5fa0: 73 43 6f 6e 74 65 6e 74 4c 69 73 74 28 6e 6f 64  sContentList(nod
5fb0: 65 2c 20 70 61 72 65 6e 74 53 65 63 74 69 6f 6e  e, parentSection
5fc0: 29 0d 0a 7b 0d 0a 20 20 20 20 76 61 72 20 63 68  )..{..    var ch
5fd0: 69 6c 64 73 3d 6e 65 77 20 45 6e 75 6d 65 72 61  ilds=new Enumera
5fe0: 74 6f 72 28 6e 6f 64 65 2e 63 68 69 6c 64 4e 6f  tor(node.childNo
5ff0: 64 65 73 29 0d 0a 20 20 20 20 66 6f 72 28 3b 21  des)..    for(;!
6000: 63 68 69 6c 64 73 2e 61 74 45 6e 64 28 29 3b 63  childs.atEnd();c
6010: 68 69 6c 64 73 2e 6d 6f 76 65 4e 65 78 74 28 29  hilds.moveNext()
6020: 29 0d 0a 20 20 20 20 7b 0d 0a 09 09 76 61 72 20  )..    {....var 
6030: 6c 69 3d 63 68 69 6c 64 73 2e 69 74 65 6d 28 29  li=childs.item()
6040: 0d 0a 09 09 69 66 20 28 6c 69 2e 62 61 73 65 4e  ....if (li.baseN
6050: 61 6d 65 2e 74 6f 4c 6f 77 65 72 43 61 73 65 28  ame.toLowerCase(
6060: 29 3d 3d 22 6c 69 22 29 0d 0a 09 09 7b 0d 0a 09  )=="li")....{...
6070: 09 09 76 61 72 20 61 3d 6c 69 2e 73 65 6c 65 63  ..var a=li.selec
6080: 74 53 69 6e 67 6c 65 4e 6f 64 65 28 22 61 22 29  tSingleNode("a")
6090: 0d 0a 09 09 09 76 61 72 20 73 65 63 74 69 6f 6e  .....var section
60a0: 3d 4d 61 6b 65 53 65 63 74 69 6f 6e 28 47 65 74  =MakeSection(Get
60b0: 41 74 74 72 69 62 28 61 2c 20 22 68 72 65 66 22  Attrib(a, "href"
60c0: 29 2c 20 70 61 72 65 6e 74 53 65 63 74 69 6f 6e  ), parentSection
60d0: 29 0d 0a 0d 0a 09 09 09 76 61 72 20 75 6c 3d 6c  ).......var ul=l
60e0: 69 2e 73 65 6c 65 63 74 53 69 6e 67 6c 65 4e 6f  i.selectSingleNo
60f0: 64 65 28 22 75 6c 22 29 0d 0a 09 09 09 69 66 28  de("ul").....if(
6100: 75 6c 29 0d 0a 09 09 09 09 50 72 6f 63 65 73 73  ul)......Process
6110: 43 6f 6e 74 65 6e 74 4c 69 73 74 28 75 6c 2c 20  ContentList(ul, 
6120: 73 65 63 74 69 6f 6e 29 0d 0a 09 09 09 73 65 63  section).....sec
6130: 74 69 6f 6e 2e 41 66 74 65 72 43 68 69 6c 64 50  tion.AfterChildP
6140: 72 6f 63 65 73 73 65 64 28 29 0d 0a 09 09 7d 0d  rocessed()....}.
6150: 0a 09 7d 0d 0a 7d 0d 0a 0d 0a 2f 2f 20 d4 f3 ed  ..}..}....// ...
6160: ea f6 e8 ff 20 ee e1 f0 e0 e1 e0 f2 fb e2 e0 e5  .... ...........
6170: f2 20 f1 ee e4 e5 f0 e6 e0 ed e8 e5 20 68 74 6d  . .......... htm
6180: 6c 2d f4 e0 e9 eb e0 2c 20 e8 20 ef ee e4 e3 ee  l-....., . .....
6190: f2 e0 e2 eb e8 e2 e0 e5 f2 0d 0a 2f 2f 20 e4 e5  ...........// ..
61a0: f0 e5 e2 ee 20 f1 e5 ea f6 e8 e9 20 28 44 6f 63  .... ...... (Doc
61b0: 53 65 63 74 69 6f 6e 29 20 ed e0 20 e5 e3 ee 20  Section) .. ... 
61c0: ee f1 ed ee e2 e5 2e 20 ce e4 ed ee e2 f0 e5 ec  ....... ........
61d0: e5 ed ed ee 20 f1 ee e7 e4 e0 e5 f2 f1 ff 0d 0a  .... ...........
61e0: 2f 2f 20 f4 e0 e9 eb 20 f1 ee e4 e5 f0 e6 e0 ed  // .... ........
61f0: e8 ff 20 e4 eb ff 20 63 68 6d 2d ef f0 ee e5 ea  .. ... chm-.....
6200: f2 e0 0d 0a 66 75 6e 63 74 69 6f 6e 20 53 70 6c  ....function Spl
6210: 69 74 32 54 6f 70 69 63 28 63 6f 6e 74 65 6e 74  it2Topic(content
6220: 29 0d 0a 7b 0d 0a 09 50 72 6f 63 65 73 73 43 6f  )..{...ProcessCo
6230: 6e 74 65 6e 74 4c 69 73 74 28 63 6f 6e 74 65 6e  ntentList(conten
6240: 74 2e 73 65 6c 65 63 74 53 69 6e 67 6c 65 4e 6f  t.selectSingleNo
6250: 64 65 28 22 2e 2f 2f 75 6c 22 29 2c 20 52 6f 6f  de(".//ul"), Roo
6260: 74 54 6f 70 69 63 29 0d 0a 20 20 20 20 52 6f 6f  tTopic)..    Roo
6270: 74 54 6f 70 69 63 2e 41 66 74 65 72 43 68 69 6c  tTopic.AfterChil
6280: 64 50 72 6f 63 65 73 73 65 64 28 29 0d 0a 20 20  dProcessed()..  
6290: 20 20 0d 0a 20 20 20 20 63 6f 6e 74 65 6e 74 2e    ..    content.
62a0: 70 61 72 65 6e 74 4e 6f 64 65 2e 72 65 6d 6f 76  parentNode.remov
62b0: 65 43 68 69 6c 64 28 63 6f 6e 74 65 6e 74 29 0d  eChild(content).
62c0: 0a 20 20 20 20 0d 0a 20 20 20 20 66 6f 72 28 76  .    ..    for(v
62d0: 61 72 20 69 20 69 6e 20 53 65 63 74 69 6f 6e 46  ar i in SectionF
62e0: 72 6f 6d 43 68 69 6c 64 29 0d 0a 09 09 53 65 63  romChild)....Sec
62f0: 74 69 6f 6e 46 72 6f 6d 43 68 69 6c 64 5b 69 5d  tionFromChild[i]
6300: 2e 53 61 76 65 28 29 0d 0a 7d 0d 0a 0d 0a 66 75  .Save()..}....fu
6310: 6e 63 74 69 6f 6e 20 4d 61 6b 65 48 48 50 46 69  nction MakeHHPFi
6320: 6c 65 73 28 29 0d 0a 7b 0d 0a 20 20 20 20 76 61  les()..{..    va
6330: 72 20 66 4e 61 6d 65 3d 69 6e 74 44 69 72 2b 69  r fName=intDir+i
6340: 6e 46 69 6c 65 4e 61 6d 65 2b 22 2e 68 68 63 22  nFileName+".hhc"
6350: 0d 0a 20 20 20 20 68 68 63 46 69 6c 65 3d 43 72  ..    hhcFile=Cr
6360: 65 61 74 65 46 69 6c 65 28 66 4e 61 6d 65 29 0d  eateFile(fName).
6370: 0a 20 20 20 20 69 66 28 21 68 68 63 46 69 6c 65  .    if(!hhcFile
6380: 29 0d 0a 09 09 46 61 74 61 6c 45 72 72 6f 72 28  )....FatalError(
6390: 22 63 61 6e 27 74 20 63 72 65 61 74 65 20 63 6f  "can't create co
63a0: 6e 74 65 6e 74 20 66 69 6c 65 3a 20 22 2b 66 4e  ntent file: "+fN
63b0: 61 6d 65 29 0d 0a 09 68 68 63 46 69 6c 65 2e 57  ame)...hhcFile.W
63c0: 72 69 74 65 28 27 3c 48 54 4d 4c 3e 3c 55 4c 3e  rite('<HTML><UL>
63d0: 27 2b 52 6f 6f 74 54 6f 70 69 63 2e 43 68 69 6c  '+RootTopic.Chil
63e0: 64 73 43 6f 6e 74 65 6e 74 2e 72 65 70 6c 61 63  dsContent.replac
63f0: 65 28 2f 3c 55 4c 3e 5c 73 2a 3c 5c 2f 55 4c 3e  e(/<UL>\s*<\/UL>
6400: 2f 67 69 2c 20 22 22 29 2b 27 3c 2f 55 4c 3e 3c  /gi, "")+'</UL><
6410: 2f 48 54 4d 4c 3e 27 29 0d 0a 09 68 68 63 46 69  /HTML>')...hhcFi
6420: 6c 65 2e 43 6c 6f 73 65 28 29 3b 0d 0a 09 68 68  le.Close();...hh
6430: 63 46 69 6c 65 3d 6e 75 6c 6c 0d 0a 09 0d 0a 09  cFile=null......
6440: 76 61 72 20 63 6e 74 46 69 6c 65 4e 61 6d 65 3d  var cntFileName=
6450: 69 6e 46 69 6c 65 4e 61 6d 65 0d 0a 09 76 61 72  inFileName...var
6460: 20 64 65 66 46 69 6c 65 3d 52 6f 6f 74 54 6f 70   defFile=RootTop
6470: 69 63 2e 46 69 6c 65 4e 61 6d 65 0d 0a 09 76 61  ic.FileName...va
6480: 72 20 4d 61 69 6e 54 69 74 6c 65 3d 52 6f 6f 74  r MainTitle=Root
6490: 54 69 74 6c 65 0d 0a 09 0d 0a 09 76 61 72 20 63  Title......var c
64a0: 6f 6c 6c 65 63 74 69 6f 6e 3d 6e 75 6c 6c 0d 0a  ollection=null..
64b0: 09 69 66 28 6e 6f 64 65 43 6f 6d 6d 6f 6e 29 0d  .if(nodeCommon).
64c0: 0a 09 7b 0d 0a 09 09 63 6f 6c 6c 65 63 74 69 6f  ..{....collectio
64d0: 6e 3d 6e 6f 64 65 43 6f 6d 6d 6f 6e 2e 73 65 6c  n=nodeCommon.sel
64e0: 65 63 74 53 69 6e 67 6c 65 4e 6f 64 65 28 22 2e  ectSingleNode(".
64f0: 2f 2f 63 6f 6d 6d 6f 6e 2f 63 6f 6c 6c 65 63 74  //common/collect
6500: 69 6f 6e 5b 66 69 6c 65 5b 40 6e 61 6d 65 3d 27  ion[file[@name='
6510: 22 2b 69 6e 46 69 6c 65 4e 61 6d 65 2b 22 27 5d  "+inFileName+"']
6520: 5d 22 29 0d 0a 09 09 69 66 28 63 6f 6c 6c 65 63  ]")....if(collec
6530: 74 69 6f 6e 29 0d 0a 09 09 7b 0d 0a 09 09 09 4d  tion)....{.....M
6540: 61 69 6e 54 69 74 6c 65 3d 47 65 74 41 74 74 72  ainTitle=GetAttr
6550: 69 62 28 63 6f 6c 6c 65 63 74 69 6f 6e 2c 20 22  ib(collection, "
6560: 74 69 74 6c 65 22 29 0d 0a 09 09 09 76 61 72 20  title").....var 
6570: 6d 61 73 74 65 72 3d 47 65 74 41 74 74 72 69 62  master=GetAttrib
6580: 28 63 6f 6c 6c 65 63 74 69 6f 6e 2c 20 22 6d 61  (collection, "ma
6590: 73 74 65 72 22 29 0d 0a 09 09 09 69 66 28 6d 61  ster").....if(ma
65a0: 73 74 65 72 2e 6c 65 6e 67 74 68 20 26 26 20 6d  ster.length && m
65b0: 61 73 74 65 72 21 3d 69 6e 46 69 6c 65 4e 61 6d  aster!=inFileNam
65c0: 65 29 0d 0a 09 09 09 7b 0d 0a 09 09 09 09 63 6e  e).....{......cn
65d0: 74 46 69 6c 65 4e 61 6d 65 3d 6d 61 73 74 65 72  tFileName=master
65e0: 2b 22 2e 63 68 6d 3a 3a 5c 5c 22 2b 6d 61 73 74  +".chm::\\"+mast
65f0: 65 72 0d 0a 09 09 09 09 64 65 66 46 69 6c 65 3d  er......defFile=
6600: 63 6e 74 46 69 6c 65 4e 61 6d 65 2b 22 30 2e 68  cntFileName+"0.h
6610: 74 6d 6c 22 0d 0a 09 09 09 7d 0d 0a 09 09 7d 0d  tml".....}....}.
6620: 0a 09 7d 0d 0a 0d 0a 20 20 20 20 6f 75 74 70 75  ..}....    outpu
6630: 74 20 3d 20 43 72 65 61 74 65 46 69 6c 65 28 69  t = CreateFile(i
6640: 6e 74 44 69 72 2b 69 6e 46 69 6c 65 4e 61 6d 65  ntDir+inFileName
6650: 20 2b 20 22 2e 68 68 70 22 29 0d 0a 20 20 20 20   + ".hhp")..    
6660: 69 66 28 21 6f 75 74 70 75 74 29 0d 0a 09 09 46  if(!output)....F
6670: 61 74 61 6c 45 72 72 6f 72 28 22 44 6f 6e 27 74  atalError("Don't
6680: 20 63 72 65 61 74 65 20 68 68 70 20 66 69 6c 65   create hhp file
6690: 22 29 0d 0a 20 20 20 20 6f 75 74 70 75 74 2e 57  ")..    output.W
66a0: 72 69 74 65 4c 69 6e 65 28 22 5b 4f 70 74 69 6f  riteLine("[Optio
66b0: 6e 73 5d 22 29 0d 0a 20 20 20 20 6f 75 74 70 75  ns]")..    outpu
66c0: 74 2e 57 72 69 74 65 4c 69 6e 65 28 22 41 75 74  t.WriteLine("Aut
66d0: 6f 20 49 6e 64 65 78 20 3d 20 59 65 73 22 29 0d  o Index = Yes").
66e0: 0a 20 20 20 20 6f 75 74 70 75 74 2e 57 72 69 74  .    output.Writ
66f0: 65 4c 69 6e 65 28 22 42 69 6e 61 72 79 20 54 4f  eLine("Binary TO
6700: 43 20 3d 20 59 65 73 22 29 0d 0a 20 20 20 20 6f  C = Yes")..    o
6710: 75 74 70 75 74 2e 57 72 69 74 65 4c 69 6e 65 28  utput.WriteLine(
6720: 22 43 6f 6d 70 61 74 69 62 69 6c 69 74 79 20 3d  "Compatibility =
6730: 20 31 2e 31 20 4f 72 20 6c 61 74 65 72 22 29 0d   1.1 Or later").
6740: 0a 20 20 20 20 6f 75 74 70 75 74 2e 57 72 69 74  .    output.Writ
6750: 65 4c 69 6e 65 28 22 43 6f 6d 70 69 6c 65 64 20  eLine("Compiled 
6760: 46 69 6c 65 20 3d 20 22 20 2b 20 6f 75 74 44 69  File = " + outDi
6770: 72 20 2b 20 69 6e 46 69 6c 65 4e 61 6d 65 20 2b  r + inFileName +
6780: 20 22 2e 63 68 6d 22 29 0d 0a 20 20 20 20 6f 75   ".chm")..    ou
6790: 74 70 75 74 2e 57 72 69 74 65 4c 69 6e 65 28 22  tput.WriteLine("
67a0: 43 6f 6e 74 65 6e 74 73 20 46 69 6c 65 20 3d 20  Contents File = 
67b0: 22 20 2b 20 69 6e 46 69 6c 65 4e 61 6d 65 20 2b  " + inFileName +
67c0: 20 22 2e 68 68 63 22 29 0d 0a 20 20 20 20 6f 75   ".hhc")..    ou
67d0: 74 70 75 74 2e 57 72 69 74 65 4c 69 6e 65 28 22  tput.WriteLine("
67e0: 44 65 66 61 75 6c 74 20 57 69 6e 64 6f 77 20 3d  Default Window =
67f0: 20 4d 61 69 6e 22 29 0d 0a 20 20 20 20 6f 75 74   Main")..    out
6800: 70 75 74 2e 57 72 69 74 65 4c 69 6e 65 28 22 44  put.WriteLine("D
6810: 65 66 61 75 6c 74 20 74 6f 70 69 63 20 3d 20 22  efault topic = "
6820: 20 2b 20 52 6f 6f 74 54 6f 70 69 63 2e 46 69 6c   + RootTopic.Fil
6830: 65 4e 61 6d 65 29 0d 0a 20 20 20 20 6f 75 74 70  eName)..    outp
6840: 75 74 2e 57 72 69 74 65 4c 69 6e 65 28 22 44 69  ut.WriteLine("Di
6850: 73 70 6c 61 79 20 63 6f 6d 70 69 6c 65 20 70 72  splay compile pr
6860: 6f 67 72 65 73 73 3d 4e 6f 22 29 0d 0a 20 20 20  ogress=No")..   
6870: 20 6f 75 74 70 75 74 2e 57 72 69 74 65 4c 69 6e   output.WriteLin
6880: 65 28 22 46 75 6c 6c 2d 74 65 78 74 20 73 65 61  e("Full-text sea
6890: 72 63 68 3d 59 65 73 22 29 0d 0a 20 20 20 20 6f  rch=Yes")..    o
68a0: 75 74 70 75 74 2e 57 72 69 74 65 4c 69 6e 65 28  utput.WriteLine(
68b0: 22 49 6e 64 65 78 20 66 69 6c 65 3d 22 20 2b 20  "Index file=" + 
68c0: 69 6e 46 69 6c 65 4e 61 6d 65 20 2b 20 22 2e 68  inFileName + ".h
68d0: 68 6b 22 29 0d 0a 20 20 20 20 6f 75 74 70 75 74  hk")..    output
68e0: 2e 57 72 69 74 65 4c 69 6e 65 28 22 4c 61 6e 67  .WriteLine("Lang
68f0: 75 61 67 65 3d 30 78 34 31 39 20 d0 f3 f1 f1 ea  uage=0x419 .....
6900: e8 e9 22 29 0d 0a 20 20 20 20 6f 75 74 70 75 74  ..")..    output
6910: 2e 57 72 69 74 65 4c 69 6e 65 28 22 54 69 74 6c  .WriteLine("Titl
6920: 65 3d 22 20 2b 20 52 6f 6f 74 54 69 74 6c 65 29  e=" + RootTitle)
6930: 0d 0a 20 20 20 20 6f 75 74 70 75 74 2e 57 72 69  ..    output.Wri
6940: 74 65 4c 69 6e 65 28 22 22 29 0d 0a 20 20 20 20  teLine("")..    
6950: 6f 75 74 70 75 74 2e 57 72 69 74 65 4c 69 6e 65  output.WriteLine
6960: 28 22 5b 57 69 6e 64 6f 77 73 5d 22 29 0d 0a 20  ("[Windows]").. 
6970: 20 20 20 6f 75 74 70 75 74 2e 57 72 69 74 65 4c     output.WriteL
6980: 69 6e 65 28 27 6d 61 69 6e 3d 22 27 2b 4d 61 69  ine('main="'+Mai
6990: 6e 54 69 74 6c 65 2b 27 22 2c 22 27 20 2b 20 63  nTitle+'","' + c
69a0: 6e 74 46 69 6c 65 4e 61 6d 65 20 2b 20 27 2e 68  ntFileName + '.h
69b0: 68 63 22 2c 22 27 20 2b 20 69 6e 46 69 6c 65 4e  hc","' + inFileN
69c0: 61 6d 65 20 2b 20 27 2e 68 68 6b 22 2c 22 27 2b  ame + '.hhk","'+
69d0: 0d 0a 09 09 64 65 66 46 69 6c 65 20 2b 20 27 22  ....defFile + '"
69e0: 2c 22 27 20 2b 20 64 65 66 46 69 6c 65 20 2b 20  ,"' + defFile + 
69f0: 27 22 2c 2c 2c 2c 2c 30 78 33 32 34 32 30 2c 2c  '",,,,,0x32420,,
6a00: 30 78 36 30 33 38 30 65 2c 2c 30 78 62 30 30 30  0x60380e,,0xb000
6a10: 30 2c 2c 2c 2c 2c 2c 30 27 29 0d 0a 20 20 20 20  0,,,,,,0')..    
6a20: 6f 75 74 70 75 74 2e 57 72 69 74 65 4c 69 6e 65  output.WriteLine
6a30: 28 22 22 29 0d 0a 20 20 20 20 6f 75 74 70 75 74  ("")..    output
6a40: 2e 57 72 69 74 65 4c 69 6e 65 28 22 5b 46 69 6c  .WriteLine("[Fil
6a50: 65 73 5d 22 29 0d 0a 0d 0a 09 76 61 72 20 6e 54  es]").....var nT
6a60: 6f 70 69 63 73 3d 30 20 20 20 20 0d 0a 20 20 20  opics=0    ..   
6a70: 20 66 6f 72 28 76 61 72 20 69 20 69 6e 20 53 65   for(var i in Se
6a80: 63 74 69 6f 6e 46 72 6f 6d 50 61 72 65 6e 74 29  ctionFromParent)
6a90: 0d 0a 20 20 20 20 7b 0d 0a 09 09 69 66 28 53 65  ..    {....if(Se
6aa0: 63 74 69 6f 6e 46 72 6f 6d 50 61 72 65 6e 74 5b  ctionFromParent[
6ab0: 69 5d 2e 49 73 54 6f 70 69 63 29 0d 0a 09 09 7b  i].IsTopic)....{
6ac0: 0d 0a 09 09 09 6f 75 74 70 75 74 2e 57 72 69 74  .....output.Writ
6ad0: 65 4c 69 6e 65 28 53 65 63 74 69 6f 6e 46 72 6f  eLine(SectionFro
6ae0: 6d 50 61 72 65 6e 74 5b 69 5d 2e 46 69 6c 65 4e  mParent[i].FileN
6af0: 61 6d 65 29 0d 0a 09 09 09 6e 54 6f 70 69 63 73  ame).....nTopics
6b00: 2b 2b 0d 0a 09 09 7d 0d 0a 09 7d 0d 0a 09 69 66  ++....}...}...if
6b10: 28 63 6f 6c 6c 65 63 74 69 6f 6e 29 0d 0a 09 7b  (collection)...{
6b20: 0d 0a 09 09 76 61 72 20 6d 65 72 67 65 3d 63 6f  ....var merge=co
6b30: 6c 6c 65 63 74 69 6f 6e 2e 73 65 6c 65 63 74 4e  llection.selectN
6b40: 6f 64 65 73 28 22 66 69 6c 65 5b 40 6e 61 6d 65  odes("file[@name
6b50: 21 3d 27 22 2b 69 6e 46 69 6c 65 4e 61 6d 65 2b  !='"+inFileName+
6b60: 22 27 5d 22 29 0d 0a 09 09 69 66 28 6d 65 72 67  "']")....if(merg
6b70: 65 2e 6c 65 6e 67 74 68 29 0d 0a 09 09 7b 0d 0a  e.length)....{..
6b80: 09 09 09 6f 75 74 70 75 74 2e 57 72 69 74 65 4c  ...output.WriteL
6b90: 69 6e 65 28 22 5b 4d 45 52 47 45 20 46 49 4c 45  ine("[MERGE FILE
6ba0: 53 5d 22 29 0d 0a 09 09 09 66 6f 72 28 76 61 72  S]").....for(var
6bb0: 20 69 3d 30 3b 69 3c 6d 65 72 67 65 2e 6c 65 6e   i=0;i<merge.len
6bc0: 67 74 68 3b 69 2b 2b 29 0d 0a 09 09 09 09 6f 75  gth;i++)......ou
6bd0: 74 70 75 74 2e 57 72 69 74 65 4c 69 6e 65 28 47  tput.WriteLine(G
6be0: 65 74 41 74 74 72 69 62 28 6d 65 72 67 65 2e 69  etAttrib(merge.i
6bf0: 74 65 6d 28 69 29 2c 20 22 6e 61 6d 65 22 29 20  tem(i), "name") 
6c00: 2b 20 22 2e 63 68 6d 22 29 0d 0a 09 09 7d 0d 0a  + ".chm")....}..
6c10: 09 7d 0d 0a 20 20 20 20 6f 75 74 70 75 74 2e 43  .}..    output.C
6c20: 6c 6f 73 65 28 29 0d 0a 0d 0a 20 20 20 20 68 68  lose()....    hh
6c30: 6b 46 69 6c 65 20 3d 20 43 72 65 61 74 65 46 69  kFile = CreateFi
6c40: 6c 65 28 69 6e 74 44 69 72 2b 69 6e 46 69 6c 65  le(intDir+inFile
6c50: 4e 61 6d 65 20 2b 20 22 2e 68 68 6b 22 29 0d 0a  Name + ".hhk")..
6c60: 20 20 20 20 69 66 28 21 68 68 6b 46 69 6c 65 29      if(!hhkFile)
6c70: 0d 0a 09 09 46 61 74 61 6c 45 72 72 6f 72 28 22  ....FatalError("
6c80: 44 6f 6e 27 74 20 63 72 65 61 74 65 20 68 68 6b  Don't create hhk
6c90: 20 66 69 6c 65 22 29 0d 0a 09 68 68 6b 46 69 6c   file")...hhkFil
6ca0: 65 2e 57 72 69 74 65 4c 69 6e 65 28 27 3c 48 54  e.WriteLine('<HT
6cb0: 4d 4c 3e 27 29 0d 0a 09 68 68 6b 52 6f 6f 74 2e  ML>')...hhkRoot.
6cc0: 53 61 76 65 28 29 0d 0a 09 68 68 6b 46 69 6c 65  Save()...hhkFile
6cd0: 2e 57 72 69 74 65 28 27 3c 2f 48 54 4d 4c 3e 27  .Write('</HTML>'
6ce0: 29 0d 0a 09 68 68 6b 46 69 6c 65 2e 43 6c 6f 73  )...hhkFile.Clos
6cf0: 65 28 29 0d 0a 09 53 68 6f 77 54 65 78 74 28 22  e()...ShowText("
6d00: 20 20 20 20 53 65 63 74 69 6f 6e 73 3a 20 22 2b      Sections: "+
6d10: 53 65 63 74 69 6f 6e 46 72 6f 6d 50 61 72 65 6e  SectionFromParen
6d20: 74 2e 6c 65 6e 67 74 68 2b 22 2c 20 54 6f 70 69  t.length+", Topi
6d30: 63 73 3a 20 22 2b 6e 54 6f 70 69 63 73 29 0d 0a  cs: "+nTopics)..
6d40: 7d 0d 0a 0d 0a 66 75 6e 63 74 69 6f 6e 20 50 72  }....function Pr
6d50: 6f 63 65 73 73 41 4b 6c 69 6e 6b 42 75 74 74 6f  ocessAKlinkButto
6d60: 6e 73 28 70 61 72 61 6d 4e 61 6d 65 2c 20 72 65  ns(paramName, re
6d70: 66 4e 61 6d 65 29 0d 0a 7b 0d 0a 09 76 61 72 20  fName)..{...var 
6d80: 6c 69 6e 6b 73 3d 6e 6f 64 65 44 6f 63 75 6d 65  links=nodeDocume
6d90: 6e 74 2e 73 65 6c 65 63 74 4e 6f 64 65 73 28 22  nt.selectNodes("
6da0: 2e 2f 2f 61 5b 40 68 72 65 66 3d 27 22 2b 72 65  .//a[@href='"+re
6db0: 66 4e 61 6d 65 2b 22 27 5d 22 29 0d 0a 09 66 6f  fName+"']")...fo
6dc0: 72 28 76 61 72 20 69 64 3d 30 3b 69 64 3c 6c 69  r(var id=0;id<li
6dd0: 6e 6b 73 2e 6c 65 6e 67 74 68 3b 69 64 2b 2b 29  nks.length;id++)
6de0: 0d 0a 09 7b 0d 0a 09 09 76 61 72 20 6c 69 6e 6b  ...{....var link
6df0: 3d 6c 69 6e 6b 73 2e 69 74 65 6d 28 69 64 29 0d  =links.item(id).
6e00: 0a 09 09 76 61 72 20 72 65 66 54 65 78 74 3d 6c  ...var refText=l
6e10: 69 6e 6b 2e 74 65 78 74 2e 6d 61 74 63 68 28 2f  ink.text.match(/
6e20: 5b 5e 5c 7c 5d 2b 2f 67 29 0d 0a 09 09 69 66 28  [^\|]+/g)....if(
6e30: 21 72 65 66 54 65 78 74 20 7c 7c 20 72 65 66 54  !refText || refT
6e40: 65 78 74 2e 6c 65 6e 67 74 68 3d 3d 31 29 0d 0a  ext.length==1)..
6e50: 09 09 09 53 68 6f 77 54 65 78 74 28 22 77 61 72  ...ShowText("war
6e60: 6e 69 6e 67 3a 20 22 2b 6c 69 6e 6b 2e 78 6d 6c  ning: "+link.xml
6e70: 2b 22 20 6e 6f 74 20 63 6f 6e 74 61 69 6e 20 6b  +" not contain k
6e80: 65 79 77 6f 72 64 73 22 29 0d 0a 09 09 65 6c 73  eywords")....els
6e90: 65 0d 0a 09 09 7b 0d 0a 09 09 09 6c 69 6e 6b 2e  e....{.....link.
6ea0: 74 65 78 74 3d 72 65 66 54 65 78 74 5b 30 5d 0d  text=refText[0].
6eb0: 0a 09 09 09 76 61 72 20 6f 62 6a 3d 78 6d 6c 2e  ....var obj=xml.
6ec0: 63 72 65 61 74 65 45 6c 65 6d 65 6e 74 28 22 6f  createElement("o
6ed0: 62 6a 65 63 74 22 29 0d 0a 09 09 09 76 61 72 20  bject").....var 
6ee0: 69 64 4e 61 6d 65 3d 22 68 68 63 74 72 22 2b 72  idName="hhctr"+r
6ef0: 65 66 4e 61 6d 65 2b 69 64 0d 0a 09 09 09 53 65  efName+id.....Se
6f00: 74 41 74 74 72 69 62 28 6f 62 6a 2c 20 22 69 64  tAttrib(obj, "id
6f10: 22 2c 20 69 64 4e 61 6d 65 29 0d 0a 09 09 09 53  ", idName).....S
6f20: 65 74 41 74 74 72 69 62 28 6f 62 6a 2c 20 22 63  etAttrib(obj, "c
6f30: 6c 61 73 73 69 64 22 2c 20 22 63 6c 73 69 64 3a  lassid", "clsid:
6f40: 61 64 62 38 38 30 61 36 2d 64 38 66 66 2d 31 31  adb880a6-d8ff-11
6f50: 63 66 2d 39 33 37 37 2d 30 30 61 61 30 30 33 62  cf-9377-00aa003b
6f60: 37 61 31 31 22 29 0d 0a 09 09 09 53 65 74 41 74  7a11").....SetAt
6f70: 74 72 69 62 28 6f 62 6a 2c 20 22 74 79 70 65 22  trib(obj, "type"
6f80: 2c 20 22 61 70 70 6c 69 63 61 74 69 6f 6e 2f 78  , "application/x
6f90: 2d 6f 6c 65 6f 62 6a 65 63 74 22 29 0d 0a 09 09  -oleobject")....
6fa0: 09 53 65 74 41 74 74 72 69 62 28 6f 62 6a 2c 20  .SetAttrib(obj, 
6fb0: 22 77 69 64 74 68 22 2c 20 22 30 22 29 0d 0a 09  "width", "0")...
6fc0: 09 09 53 65 74 41 74 74 72 69 62 28 6f 62 6a 2c  ..SetAttrib(obj,
6fd0: 20 22 68 65 69 67 68 74 22 2c 20 22 30 22 29 0d   "height", "0").
6fe0: 0a 09 09 09 76 61 72 20 70 61 72 61 6d 3d 78 6d  ....var param=xm
6ff0: 6c 2e 63 72 65 61 74 65 45 6c 65 6d 65 6e 74 28  l.createElement(
7000: 22 70 61 72 61 6d 22 29 0d 0a 09 09 09 53 65 74  "param").....Set
7010: 41 74 74 72 69 62 28 70 61 72 61 6d 2c 20 22 6e  Attrib(param, "n
7020: 61 6d 65 22 2c 20 22 43 6f 6d 6d 61 6e 64 22 29  ame", "Command")
7030: 0d 0a 09 09 09 53 65 74 41 74 74 72 69 62 28 70  .....SetAttrib(p
7040: 61 72 61 6d 2c 20 22 76 61 6c 75 65 22 2c 20 70  aram, "value", p
7050: 61 72 61 6d 4e 61 6d 65 29 0d 0a 09 09 09 6f 62  aramName).....ob
7060: 6a 2e 61 70 70 65 6e 64 43 68 69 6c 64 28 70 61  j.appendChild(pa
7070: 72 61 6d 29 0d 0a 09 09 09 70 61 72 61 6d 3d 78  ram).....param=x
7080: 6d 6c 2e 63 72 65 61 74 65 45 6c 65 6d 65 6e 74  ml.createElement
7090: 28 22 70 61 72 61 6d 22 29 0d 0a 09 09 09 53 65  ("param").....Se
70a0: 74 41 74 74 72 69 62 28 70 61 72 61 6d 2c 20 22  tAttrib(param, "
70b0: 6e 61 6d 65 22 2c 20 22 49 74 65 6d 31 22 29 0d  name", "Item1").
70c0: 0a 09 09 09 53 65 74 41 74 74 72 69 62 28 70 61  ....SetAttrib(pa
70d0: 72 61 6d 2c 20 22 76 61 6c 75 65 22 2c 20 22 22  ram, "value", ""
70e0: 29 0d 0a 09 09 09 6f 62 6a 2e 61 70 70 65 6e 64  ).....obj.append
70f0: 43 68 69 6c 64 28 70 61 72 61 6d 29 0d 0a 09 09  Child(param)....
7100: 09 0d 0a 09 09 09 66 6f 72 28 76 61 72 20 69 3d  ......for(var i=
7110: 31 3b 69 3c 72 65 66 54 65 78 74 2e 6c 65 6e 67  1;i<refText.leng
7120: 74 68 3b 69 2b 2b 29 0d 0a 09 09 09 7b 0d 0a 09  th;i++).....{...
7130: 09 09 09 70 61 72 61 6d 3d 78 6d 6c 2e 63 72 65  ...param=xml.cre
7140: 61 74 65 45 6c 65 6d 65 6e 74 28 22 70 61 72 61  ateElement("para
7150: 6d 22 29 0d 0a 09 09 09 09 53 65 74 41 74 74 72  m")......SetAttr
7160: 69 62 28 70 61 72 61 6d 2c 20 22 6e 61 6d 65 22  ib(param, "name"
7170: 2c 20 22 49 74 65 6d 22 2b 28 69 2b 31 29 29 0d  , "Item"+(i+1)).
7180: 0a 09 09 09 09 53 65 74 41 74 74 72 69 62 28 70  .....SetAttrib(p
7190: 61 72 61 6d 2c 20 22 76 61 6c 75 65 22 2c 20 72  aram, "value", r
71a0: 65 66 54 65 78 74 5b 69 5d 29 0d 0a 09 09 09 09  efText[i])......
71b0: 6f 62 6a 2e 61 70 70 65 6e 64 43 68 69 6c 64 28  obj.appendChild(
71c0: 70 61 72 61 6d 29 0d 0a 09 09 09 7d 0d 0a 09 09  param).....}....
71d0: 09 53 65 74 41 74 74 72 69 62 28 6c 69 6e 6b 2c  .SetAttrib(link,
71e0: 20 22 68 72 65 66 22 2c 20 22 4a 61 76 61 53 63   "href", "JavaSc
71f0: 72 69 70 74 3a 22 2b 69 64 4e 61 6d 65 2b 22 2e  ript:"+idName+".
7200: 43 6c 69 63 6b 28 29 22 29 0d 0a 09 09 09 6c 69  Click()").....li
7210: 6e 6b 2e 70 61 72 65 6e 74 4e 6f 64 65 2e 69 6e  nk.parentNode.in
7220: 73 65 72 74 42 65 66 6f 72 65 28 6f 62 6a 2c 20  sertBefore(obj, 
7230: 6c 69 6e 6b 29 0d 0a 09 09 7d 0d 0a 09 7d 0d 0a  link)....}...}..
7240: 7d 0d 0a 0d 0a 66 75 6e 63 74 69 6f 6e 20 6d 61  }....function ma
7250: 69 6e 28 29 0d 0a 7b 0d 0a 09 76 61 72 20 61 72  in()..{...var ar
7260: 67 63 3d 57 53 63 72 69 70 74 2e 41 72 67 75 6d  gc=WScript.Argum
7270: 65 6e 74 73 2e 43 6f 75 6e 74 28 29 0d 0a 09 69  ents.Count()...i
7280: 66 28 21 61 72 67 63 29 0d 0a 09 09 46 61 74 61  f(!argc)....Fata
7290: 6c 45 72 72 6f 72 28 22 75 73 61 67 65 3a 20 63  lError("usage: c
72a0: 73 63 72 69 70 74 2e 65 78 65 20 68 74 6d 6c 32  script.exe html2
72b0: 63 68 6d 2e 6a 73 20 49 6e 46 69 6c 65 4e 61 6d  chm.js InFileNam
72c0: 65 20 5b 6f 75 74 46 69 6c 65 73 44 69 72 5d 22  e [outFilesDir]"
72d0: 29 0d 0a 09 0d 0a 09 2f 2f 20 c3 ee f2 ee e2 e8  )......// ......
72e0: ec 20 e2 f5 ee e4 ed ee e9 20 f4 e0 e9 eb 0d 0a  . ....... ......
72f0: 09 50 72 65 70 65 61 72 65 46 69 6c 65 28 57 53  .PrepeareFile(WS
7300: 63 72 69 70 74 2e 41 72 67 75 6d 65 6e 74 73 2e  cript.Arguments.
7310: 69 74 65 6d 28 30 29 29 0d 0a 09 0d 0a 09 6f 75  item(0))......ou
7320: 74 44 69 72 3d 69 6e 74 44 69 72 0d 0a 09 2f 2f  tDir=intDir...//
7330: 20 c2 ee e7 ec ee e6 ed ee 20 e7 e0 e4 e0 ed 20   ........ ..... 
7340: e2 fb f5 ee e4 ed ee e9 20 ea e0 f2 e0 eb ee e3  ........ .......
7350: 20 e2 20 ef e0 f0 e0 ec e5 f2 f0 e0 f5 0d 0a 09   . .............
7360: 69 66 28 61 72 67 63 3e 31 29 0d 0a 09 7b 0d 0a  if(argc>1)...{..
7370: 09 09 74 72 79 7b 0d 0a 09 09 09 76 61 72 20 66  ..try{.....var f
7380: 4f 75 74 44 69 72 3d 66 73 6f 2e 47 65 74 46 6f  OutDir=fso.GetFo
7390: 6c 64 65 72 28 57 53 63 72 69 70 74 2e 41 72 67  lder(WScript.Arg
73a0: 75 6d 65 6e 74 73 2e 69 74 65 6d 28 31 29 29 0d  uments.item(1)).
73b0: 0a 09 09 7d 63 61 74 63 68 28 65 29 0d 0a 09 09  ...}catch(e)....
73c0: 7b 0d 0a 09 09 09 46 61 74 61 6c 45 72 72 6f 72  {.....FatalError
73d0: 28 22 63 61 6e 27 74 20 67 65 74 20 6f 75 74 64  ("can't get outd
73e0: 69 72 20 22 2b 57 53 63 72 69 70 74 2e 41 72 67  ir "+WScript.Arg
73f0: 75 6d 65 6e 74 73 2e 69 74 65 6d 28 31 29 2b 27  uments.item(1)+'
7400: 5c 6e 27 2b 65 2e 44 65 73 63 72 69 70 74 69 6f  \n'+e.Descriptio
7410: 6e 29 0d 0a 09 09 7d 0d 0a 09 09 6f 75 74 44 69  n)....}....outDi
7420: 72 3d 66 4f 75 74 44 69 72 2e 50 61 74 68 0d 0a  r=fOutDir.Path..
7430: 09 7d 0d 0a 09 2f 2f 20 c4 ee ef ee eb ed e8 ec  .}...// ........
7440: 20 ef ee 20 ed e5 ee e1 f5 ee e4 e8 ec ee f1 f2   .. ............
7450: e8 20 f1 eb fd f8 e5 ec 0d 0a 09 69 66 28 21 6f  . .........if(!o
7460: 75 74 44 69 72 2e 6d 61 74 63 68 28 2f 5c 5c 24  utDir.match(/\\$
7470: 2f 29 29 0d 0a 09 09 6f 75 74 44 69 72 2b 3d 27  /))....outDir+='
7480: 5c 5c 27 0d 0a 0d 0a 09 78 6d 6c 3d 6e 65 77 20  \\'.....xml=new 
7490: 41 63 74 69 76 65 58 4f 62 6a 65 63 74 28 78 6d  ActiveXObject(xm
74a0: 6c 50 72 6f 67 49 44 29 0d 0a 09 69 66 28 21 78  lProgID)...if(!x
74b0: 6d 6c 29 0d 0a 09 09 46 61 74 61 6c 45 72 72 6f  ml)....FatalErro
74c0: 72 28 22 45 72 72 6f 72 20 63 72 65 61 74 65 20  r("Error create 
74d0: 78 6d 6c 20 64 6f 63 22 29 0d 0a 0d 0a 20 20 20  xml doc")....   
74e0: 20 78 6d 6c 2e 61 73 79 6e 63 20 3d 20 66 61 6c   xml.async = fal
74f0: 73 65 0d 0a 20 20 20 20 78 6d 6c 2e 76 61 6c 69  se..    xml.vali
7500: 64 61 74 65 4f 6e 50 61 72 73 65 20 3d 20 66 61  dateOnParse = fa
7510: 6c 73 65 0d 0a 20 20 20 20 78 6d 6c 2e 72 65 73  lse..    xml.res
7520: 6f 6c 76 65 45 78 74 65 72 6e 61 6c 73 20 3d 20  olveExternals = 
7530: 66 61 6c 73 65 0d 0a 20 20 20 20 69 66 28 21 78  false..    if(!x
7540: 6d 6c 2e 6c 6f 61 64 28 57 53 63 72 69 70 74 2e  ml.load(WScript.
7550: 41 72 67 75 6d 65 6e 74 73 2e 69 74 65 6d 28 30  Arguments.item(0
7560: 29 29 29 0d 0a 09 09 46 61 74 61 6c 45 72 72 6f  )))....FatalErro
7570: 72 28 22 6e 6f 74 20 6c 6f 61 64 20 78 6d 6c 5c  r("not load xml\
7580: 72 5c 6e 6c 69 6e 65 3a 20 22 2b 78 6d 6c 2e 70  r\nline: "+xml.p
7590: 61 72 73 65 45 72 72 6f 72 2e 6c 69 6e 65 2b 22  arseError.line+"
75a0: 5c 72 5c 6e 72 65 61 73 6f 6e 3a 20 22 2b 78 6d  \r\nreason: "+xm
75b0: 6c 2e 70 61 72 73 65 45 72 72 6f 72 2e 72 65 61  l.parseError.rea
75c0: 73 6f 6e 29 0d 0a 09 0d 0a 09 0d 0a 09 76 61 72  son).........var
75d0: 20 6e 6f 64 65 48 74 6d 6c 3d 78 6d 6c 2e 64 6f   nodeHtml=xml.do
75e0: 63 75 6d 65 6e 74 45 6c 65 6d 65 6e 74 09 0d 0a  cumentElement...
75f0: 09 6e 6f 64 65 48 65 61 64 3d 6e 6f 64 65 48 74  .nodeHead=nodeHt
7600: 6d 6c 2e 73 65 6c 65 63 74 53 69 6e 67 6c 65 4e  ml.selectSingleN
7610: 6f 64 65 28 22 68 65 61 64 22 29 0d 0a 09 6e 6f  ode("head")...no
7620: 64 65 42 6f 64 79 3d 6e 6f 64 65 48 74 6d 6c 2e  deBody=nodeHtml.
7630: 73 65 6c 65 63 74 53 69 6e 67 6c 65 4e 6f 64 65  selectSingleNode
7640: 28 22 62 6f 64 79 22 29 2e 63 6c 6f 6e 65 4e 6f  ("body").cloneNo
7650: 64 65 28 66 61 6c 73 65 29 0d 0a 09 6e 6f 64 65  de(false)...node
7660: 44 6f 63 75 6d 65 6e 74 3d 6e 6f 64 65 48 74 6d  Document=nodeHtm
7670: 6c 2e 73 65 6c 65 63 74 53 69 6e 67 6c 65 4e 6f  l.selectSingleNo
7680: 64 65 28 22 2f 2f 64 69 76 5b 40 63 6c 61 73 73  de("//div[@class
7690: 3d 27 64 6f 63 75 6d 65 6e 74 27 5d 22 29 0d 0a  ='document']")..
76a0: 09 6e 6f 64 65 43 6f 6d 6d 6f 6e 3d 6e 6f 64 65  .nodeCommon=node
76b0: 48 74 6d 6c 2e 73 65 6c 65 63 74 53 69 6e 67 6c  Html.selectSingl
76c0: 65 4e 6f 64 65 28 22 2f 2f 78 6d 6c 5b 63 6f 6d  eNode("//xml[com
76d0: 6d 6f 6e 5d 22 29 0d 0a 09 09 0d 0a 09 69 66 28  mon]").......if(
76e0: 21 6e 6f 64 65 44 6f 63 75 6d 65 6e 74 29 0d 0a  !nodeDocument)..
76f0: 09 09 46 61 74 61 6c 45 72 72 6f 72 28 22 6e 6f  ..FatalError("no
7700: 74 20 66 69 6e 64 20 64 6f 63 75 6d 65 6e 74 22  t find document"
7710: 29 0d 0a 09 2f 2f 20 d3 e4 e0 eb e8 ec 20 e2 f1  )...// ...... ..
7720: e5 20 ea e0 ec e5 ed f2 fb 0d 0a 09 76 61 72 20  . ..........var 
7730: 63 6f 6d 6d 65 6e 74 73 3d 6e 6f 64 65 48 74 6d  comments=nodeHtm
7740: 6c 2e 73 65 6c 65 63 74 4e 6f 64 65 73 28 22 2f  l.selectNodes("/
7750: 2f 63 6f 6d 6d 65 6e 74 28 29 22 29 0d 0a 09 66  /comment()")...f
7760: 6f 72 28 76 61 72 20 69 3d 30 3b 69 3c 63 6f 6d  or(var i=0;i<com
7770: 6d 65 6e 74 73 2e 6c 65 6e 67 74 68 3b 69 2b 2b  ments.length;i++
7780: 29 0d 0a 09 09 63 6f 6d 6d 65 6e 74 73 2e 69 74  )....comments.it
7790: 65 6d 28 69 29 2e 70 61 72 65 6e 74 4e 6f 64 65  em(i).parentNode
77a0: 2e 72 65 6d 6f 76 65 43 68 69 6c 64 28 63 6f 6d  .removeChild(com
77b0: 6d 65 6e 74 73 2e 69 74 65 6d 28 69 29 29 0d 0a  ments.item(i))..
77c0: 0d 0a 09 76 61 72 20 74 69 74 6c 65 3d 6e 6f 64  ...var title=nod
77d0: 65 44 6f 63 75 6d 65 6e 74 2e 73 65 6c 65 63 74  eDocument.select
77e0: 53 69 6e 67 6c 65 4e 6f 64 65 28 22 68 31 5b 63  SingleNode("h1[c
77f0: 6f 6e 74 61 69 6e 73 28 40 63 6c 61 73 73 2c 20  ontains(@class, 
7800: 27 74 69 74 6c 65 27 29 5d 22 29 0d 0a 09 69 66  'title')]")...if
7810: 28 21 74 69 74 6c 65 29 0d 0a 09 09 46 61 74 61  (!title)....Fata
7820: 6c 45 72 72 6f 72 28 22 4e 6f 74 20 66 6f 75 6e  lError("Not foun
7830: 64 20 74 69 74 6c 65 22 29 0d 0a 09 52 6f 6f 74  d title")...Root
7840: 54 69 74 6c 65 3d 74 69 74 6c 65 2e 74 65 78 74  Title=title.text
7850: 0d 0a 09 0d 0a 09 76 61 72 20 63 6f 6e 74 65 6e  ......var conten
7860: 74 3d 6e 6f 64 65 44 6f 63 75 6d 65 6e 74 2e 73  t=nodeDocument.s
7870: 65 6c 65 63 74 53 69 6e 67 6c 65 4e 6f 64 65 28  electSingleNode(
7880: 22 64 69 76 5b 40 63 6c 61 73 73 3d 27 63 6f 6e  "div[@class='con
7890: 74 65 6e 74 73 20 74 6f 70 69 63 27 5d 22 29 0d  tents topic']").
78a0: 0a 09 69 66 28 21 63 6f 6e 74 65 6e 74 29 0d 0a  ..if(!content)..
78b0: 09 09 46 61 74 61 6c 45 72 72 6f 72 28 22 4e 6f  ..FatalError("No
78c0: 74 20 66 6f 75 6e 64 20 63 6f 6e 74 65 6e 74 73  t found contents
78d0: 20 74 6f 70 69 63 22 29 0d 0a 09 0d 0a 09 2f 2f   topic")......//
78e0: 20 d1 f0 e0 e7 f3 20 e7 e0 ec e5 ed e8 ec 20 e2   ..... ....... .
78f0: ee 20 e2 f1 e5 ec 20 e4 ee ea f3 ec e5 ed f2 e5  . .... .........
7900: 20 f1 f1 fb eb ea e8 20 ed e0 20 6b 6c 69 6e 6b   ...... .. klink
7910: 2f 61 6c 69 6e 6b 0d 0a 09 50 72 6f 63 65 73 73  /alink...Process
7920: 41 4b 6c 69 6e 6b 42 75 74 74 6f 6e 73 28 22 41  AKlinkButtons("A
7930: 4c 69 6e 6b 22 2c 20 22 61 6c 69 6e 6b 22 29 0d  Link", "alink").
7940: 0a 09 50 72 6f 63 65 73 73 41 4b 6c 69 6e 6b 42  ..ProcessAKlinkB
7950: 75 74 74 6f 6e 73 28 22 4b 4c 69 6e 6b 22 2c 20  uttons("KLink", 
7960: 22 6b 6c 69 6e 6b 22 29 0d 0a 09 0d 0a 09 2f 2f  "klink")......//
7970: 20 d1 ee e7 e4 e0 e4 e8 ec 20 ea ee f0 ed e5 e2   ........ ......
7980: f3 fe 20 f1 e5 ea f6 e8 fe 0d 0a 09 2f 2f 64 65  .. .........//de
7990: 62 75 67 67 65 72 0d 0a 09 52 6f 6f 74 54 6f 70  bugger...RootTop
79a0: 69 63 3d 6e 65 77 20 44 6f 63 53 65 63 74 69 6f  ic=new DocSectio
79b0: 6e 28 6e 75 6c 6c 2c 20 6e 6f 64 65 44 6f 63 75  n(null, nodeDocu
79c0: 6d 65 6e 74 29 0d 0a 09 2f 2f 20 d1 ee e7 e4 e0  ment)...// .....
79d0: e4 e8 ec 20 ea ee f0 e5 ed fc 20 e4 eb ff 20 e4  ... ...... ... .
79e0: e5 f0 e5 e2 e0 20 e8 ed e4 e5 ea f1 ee e2 0d 0a  ..... ..........
79f0: 09 68 68 6b 52 6f 6f 74 3d 6e 65 77 20 48 48 4b  .hhkRoot=new HHK
7a00: 4e 6f 64 65 28 29 0d 0a 0d 0a 09 2f 2f 20 d0 e0  Node().....// ..
7a10: e7 ee e1 fa e5 ec 20 e4 ee ea f3 ec e5 ed f2 20  ...... ........ 
7a20: ed e0 20 f2 ee ef e8 ea e8 0d 0a 09 53 70 6c 69  .. .........Spli
7a30: 74 32 54 6f 70 69 63 28 63 6f 6e 74 65 6e 74 29  t2Topic(content)
7a40: 0d 0a 09 0d 0a 09 2f 2f 20 d1 ee e7 e4 e0 e4 e8  ......// .......
7a50: ec 20 f4 e0 e9 eb fb 20 ef f0 ee e5 ea f2 e0 0d  . ..... ........
7a60: 0a 09 4d 61 6b 65 48 48 50 46 69 6c 65 73 28 29  ..MakeHHPFiles()
7a70: 0d 0a 09 0d 0a 09 2f 2f 20 c8 20 ed e0 ef ee f1  ......// . .....
7a80: eb e5 e4 ee ea 20 f4 e0 e9 eb 20 e7 e0 f7 e8 f1  ..... .... .....
7a90: f2 ea e8 0d 0a 09 76 61 72 20 65 72 61 73 65 66  ......var erasef
7aa0: 69 6c 65 3d 66 73 6f 2e 43 72 65 61 74 65 54 65  ile=fso.CreateTe
7ab0: 78 74 46 69 6c 65 28 69 6e 74 44 69 72 2b 69 6e  xtFile(intDir+in
7ac0: 46 69 6c 65 4e 61 6d 65 2b 22 64 65 6c 2e 62 61  FileName+"del.ba
7ad0: 74 22 29 0d 0a 09 65 72 61 73 65 66 69 6c 65 2e  t")...erasefile.
7ae0: 57 72 69 74 65 4c 69 6e 65 28 22 40 65 63 68 6f  WriteLine("@echo
7af0: 20 6f 66 66 22 29 0d 0a 09 66 6f 72 28 76 61 72   off")...for(var
7b00: 20 69 20 69 6e 20 43 72 65 61 74 65 64 46 69 6c   i in CreatedFil
7b10: 65 73 29 0d 0a 09 09 65 72 61 73 65 66 69 6c 65  es)....erasefile
7b20: 2e 57 72 69 74 65 4c 69 6e 65 28 27 64 65 6c 20  .WriteLine('del 
7b30: 22 27 2b 69 2b 27 22 27 29 0d 0a 09 65 72 61 73  "'+i+'"')...eras
7b40: 65 66 69 6c 65 2e 43 6c 6f 73 65 28 29 0d 0a 7d  efile.Close()..}
7b50: 0d 0a 0d 0a 6d 61 69 6e 28 29 0d 0a 57 53 63 72  ....main()..WScr
7b60: 69 70 74 2e 51 75 69 74 28 30 29                 ipt.Quit(0)