0000: ef bb bf 24 65 6e 67 69 6e 65 20 4a 53 63 72 69 ...$engine JScri
0010: 70 74 0d 0a 24 64 6e 61 6d 65 20 d0 92 d1 8b d0 pt..$dname .....
0020: b1 d0 be d1 80 20 d1 82 d0 b8 d0 bf d0 b0 20 d0 ..... ........ .
0030: b2 20 d0 bf d0 be d0 b4 d1 81 d0 ba d0 b0 d0 b7 . ..............
0040: d0 ba d0 b5 20 d0 be 20 d0 bf d0 b0 d1 80 d0 b0 .... .. ........
0050: d0 bc d0 b5 d1 82 d1 80 d0 b0 d1 85 0d 0a 24 61 ..............$a
0060: 64 64 69 6e 20 73 74 64 6c 69 62 0d 0a 24 61 64 ddin stdlib..$ad
0070: 64 69 6e 20 67 6c 6f 62 61 6c 0d 0a 24 61 64 64 din global..$add
0080: 69 6e 20 73 74 64 63 6f 6d 6d 61 6e 64 73 0d 0a in stdcommands..
0090: 0d 0a 67 6c 6f 62 61 6c 2e 63 6f 6e 6e 65 63 74 ..global.connect
00a0: 47 6c 6f 62 61 6c 73 28 53 65 6c 66 53 63 72 69 Globals(SelfScri
00b0: 70 74 29 0d 0a 0d 0a 0d 0a 73 74 64 6c 69 62 2e pt)......stdlib.
00c0: 72 65 71 75 69 72 65 28 22 53 65 6c 65 63 74 56 require("SelectV
00d0: 61 6c 75 65 44 69 61 6c 6f 67 2e 6a 73 22 2c 20 alueDialog.js",
00e0: 53 65 6c 66 53 63 72 69 70 74 29 3b 0d 0a 0d 0a SelfScript);....
00f0: 2f 2a 20 28 63 29 20 d0 90 d0 bb d0 b5 d0 ba d1 /* (c) .........
0100: 81 d0 b0 d0 bd d0 b4 d1 80 20 d0 9e d1 80 d0 b5 ......... ......
0110: d1 84 d0 ba d0 be d0 b2 0d 0a 20 2a 20 d0 a1 d0 .......... * ...
0120: ba d1 80 d0 b8 d0 bf d1 82 20 d1 81 d0 be d0 b4 ......... ......
0130: d0 b5 d1 80 d0 b6 d0 b8 d1 82 20 d0 bc d0 b0 d0 .......... .....
0140: ba d1 80 d0 be d1 81 2c 20 d0 bf d0 be d0 b7 d0 ......., .......
0150: b2 d0 be d0 bb d1 8f d1 8e d1 89 d0 b8 d0 b9 20 ...............
0160: d0 bf d1 80 d0 b8 20 d0 bd d0 b0 d0 bb d0 b8 d1 ...... .........
0170: 87 d0 b8 d0 b8 20 d0 b2 20 d0 bf d0 be d0 b4 d1 ..... .. .......
0180: 81 d0 ba d0 b0 d0 b7 d0 ba d0 b5 20 d0 be 20 d0 ........... .. .
0190: bf d0 b0 d1 80 d0 b0 d0 bc d0 b5 d1 82 d1 80 d0 ................
01a0: b0 d1 85 20 d0 bd d0 b5 d1 81 d0 ba d0 be d0 bb ... ............
01b0: d1 8c d0 ba d0 b8 d1 85 20 d0 bc d0 b5 d1 82 d0 ........ .......
01c0: be d0 b4 d0 be d0 b2 0d 0a 20 2a 20 d0 b1 d1 8b ......... * ....
01d0: d1 81 d1 82 d1 80 d0 be 20 d0 b2 d1 8b d0 b1 d1 ........ .......
01e0: 80 d0 b0 d1 82 d1 8c 20 d0 bd d1 83 d0 b6 d0 bd ....... ........
01f0: d1 8b d0 b9 20 d0 bf d0 be 20 d1 82 d0 b8 d0 bf .... .... ......
0200: d1 83 2c 20 d0 ba 20 d0 ba d0 be d1 82 d0 be d1 .., .. .........
0210: 80 d0 be d0 bc d1 83 20 d0 be d1 82 d0 bd d0 be ....... ........
0220: d1 81 d0 b8 d1 82 d1 81 d1 8f 20 d0 bc d0 b5 d1 .......... .....
0230: 82 d0 be d0 b4 2e 0d 0a 20 2a 20 d0 95 d1 81 d1 ........ * .....
0240: 82 d0 b5 d1 81 d1 82 d0 b2 d0 b5 d0 bd d0 bd d0 ................
0250: be 2c 20 d1 80 d0 b0 d0 b7 20 d0 b1 d1 8b d1 81 ., ...... ......
0260: d1 82 d1 80 d1 8b d0 b9 20 d0 b2 d1 8b d0 b1 d0 ........ .......
0270: be d1 80 2c 20 d1 82 d0 be 20 d1 82 d1 80 d0 b5 ..., .... ......
0280: d0 b1 d1 83 d0 b5 d1 82 20 d0 b4 d0 bb d1 8f 20 ........ ......
0290: d1 80 d0 b0 d0 b1 d0 be d1 82 d1 8b 20 73 76 63 ............ svc
02a0: 73 76 63 2e 64 6c 6c 0d 0a 20 2a 2f 0d 0a 0d 0a svc.dll.. */....
02b0: 66 75 6e 63 74 69 6f 6e 20 6d 61 63 72 6f 73 d0 function macros.
02c0: 92 d1 8b d0 b1 d1 80 d0 b0 d1 82 d1 8c d0 a2 d0 ................
02d0: b8 d0 bf d0 9f d0 b0 d1 80 d0 b0 d0 bc d0 b5 d1 ................
02e0: 82 d1 80 d0 b0 28 29 0d 0a 7b 0d 0a 20 20 20 20 .....()..{..
02f0: 76 61 72 20 70 61 72 61 6d 50 6f 73 20 3d 20 73 var paramPos = s
0300: 6e 65 67 6f 70 61 74 2e 70 61 72 61 6d 73 50 6f negopat.paramsPo
0310: 73 69 74 69 6f 6e 28 29 0d 0a 20 20 20 20 69 66 sition().. if
0320: 28 70 61 72 61 6d 50 6f 73 29 20 20 20 20 2f 2f (paramPos) //
0330: 20 d0 9f d0 be d0 b4 d1 81 d0 ba d0 b0 d0 b7 d0 ...............
0340: ba d0 b0 20 d0 b2 d0 b8 d0 b4 d0 bd d0 b0 0d 0a ... ............
0350: 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 76 {.. v
0360: 61 72 20 74 79 70 65 73 20 3d 20 6e 65 77 20 56 ar types = new V
0370: 42 41 72 72 61 79 28 73 6e 65 67 6f 70 61 74 2e BArray(snegopat.
0380: 70 61 72 61 6d 73 54 79 70 65 73 28 29 29 2e 74 paramsTypes()).t
0390: 6f 41 72 72 61 79 28 29 0d 0a 20 20 20 20 20 20 oArray()..
03a0: 20 20 69 66 28 74 79 70 65 73 2e 6c 65 6e 67 74 if(types.lengt
03b0: 68 20 3e 20 31 29 0d 0a 20 20 20 20 20 20 20 20 h > 1)..
03c0: 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 76 {.. v
03d0: 61 72 20 75 73 65 53 76 63 73 76 63 20 3d 20 74 ar useSvcsvc = t
03e0: 72 75 65 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 rue;..
03f0: 20 20 74 72 79 7b 0d 0a 20 20 20 20 20 20 20 20 try{..
0400: 20 20 20 20 76 61 72 20 73 65 6c 20 3d 20 6e 65 var sel = ne
0410: 77 20 41 63 74 69 76 65 58 4f 62 6a 65 63 74 28 w ActiveXObject(
0420: 27 53 76 63 73 76 63 2e 53 65 72 76 69 63 65 27 'Svcsvc.Service'
0430: 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d ).. }
0440: 63 61 74 63 68 28 65 29 0d 0a 20 20 20 20 20 20 catch(e)..
0450: 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 {..
0460: 20 20 20 20 20 20 20 20 20 2f 2f 4d 65 73 73 61 //Messa
0470: 67 65 28 22 d0 9d d0 b5 20 d1 83 d0 b4 d0 b0 d0 ge(".... .......
0480: bb d0 be d1 81 d1 8c 20 d1 81 d0 be d0 b7 d0 b4 ....... ........
0490: d0 b0 d1 82 d1 8c 20 d0 be d0 b1 d1 8a d0 b5 d0 ...... .........
04a0: ba d1 82 20 27 53 76 63 73 76 63 2e 53 65 72 76 ... 'Svcsvc.Serv
04b0: 69 63 65 27 2e 20 d0 97 d0 b0 d1 80 d0 b5 d0 b3 ice'. ..........
04c0: d0 b8 d1 81 d1 82 d1 80 d0 b8 d1 80 d1 83 d0 b9 ................
04d0: d1 82 d0 b5 20 73 76 63 73 76 63 2e 64 6c 6c 22 .... svcsvc.dll"
04e0: 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 )..
04f0: 20 20 20 75 73 65 53 76 63 73 76 63 3d 66 61 6c useSvcsvc=fal
0500: 73 65 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 se;..
0510: 20 7d 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 }..
0520: 69 66 28 75 73 65 53 76 63 73 76 63 29 7b 0d 0a if(useSvcsvc){..
0530: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0540: 76 61 72 20 63 68 6f 69 63 65 20 3d 20 73 65 6c var choice = sel
0550: 2e 46 69 6c 74 65 72 56 61 6c 75 65 28 74 79 70 .FilterValue(typ
0560: 65 73 2e 6a 6f 69 6e 28 22 5c 72 5c 6e 22 29 2c es.join("\r\n"),
0570: 20 31 20 7c 20 38 2c 20 27 27 2c 20 70 61 72 61 1 | 8, '', para
0580: 6d 50 6f 73 2e 62 65 67 69 6e 43 6f 6c 20 2b 20 mPos.beginCol +
0590: 31 30 2c 20 70 61 72 61 6d 50 6f 73 2e 62 65 67 10, paramPos.beg
05a0: 69 6e 52 6f 77 20 2b 20 32 30 2c 20 70 61 72 61 inRow + 20, para
05b0: 6d 50 6f 73 2e 65 6e 64 43 6f 6c 20 2d 20 70 61 mPos.endCol - pa
05c0: 72 61 6d 50 6f 73 2e 62 65 67 69 6e 43 6f 6c 20 ramPos.beginCol
05d0: 2d 20 32 30 29 3b 20 20 20 20 0d 0a 20 20 20 20 - 20); ..
05e0: 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b } else {
05f0: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..
0600: 20 20 76 61 72 20 64 6c 67 20 3d 20 6e 65 77 20 var dlg = new
0610: 53 65 6c 65 63 74 56 61 6c 75 65 44 69 61 6c 6f SelectValueDialo
0620: 67 28 22 d0 92 d1 8b d0 b1 d0 be d1 80 20 d1 82 g(".......... ..
0630: d0 b8 d0 bf d0 b0 20 d0 b2 20 d0 bf d0 be d0 b4 ...... .. ......
0640: d1 81 d0 ba d0 b0 d0 b7 d0 ba d0 b5 20 d0 be 20 ............ ..
0650: d0 bf d0 b0 d1 80 d0 b0 d0 bc d0 b5 d1 82 d1 80 ................
0660: d0 b0 d1 85 22 2c 20 74 79 70 65 73 29 3b 0d 0a ....", types);..
0670: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0680: 64 6c 67 2e 66 6f 72 6d 2e 47 72 65 65 64 79 53 dlg.form.GreedyS
0690: 65 61 72 63 68 20 3d 20 74 72 75 65 3b 20 0d 0a earch = true; ..
06a0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
06b0: 73 65 6c 20 3d 20 64 6c 67 2e 73 65 6c 65 63 74 sel = dlg.select
06c0: 56 61 6c 75 65 28 29 3b 0d 0a 20 20 20 20 20 20 Value();..
06d0: 20 20 20 20 20 20 20 20 20 20 76 61 72 20 63 68 var ch
06e0: 6f 69 63 65 20 3d 20 27 27 3b 0d 0a 20 20 20 20 oice = '';..
06f0: 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 if (
0700: 73 65 6c 29 7b 0d 0a 20 20 20 20 20 20 20 20 20 sel){..
0710: 20 20 20 20 20 20 20 20 20 20 20 63 68 6f 69 63 choic
0720: 65 20 3d 20 64 6c 67 2e 73 65 6c 65 63 74 65 64 e = dlg.selected
0730: 56 61 6c 75 65 3b 0d 0a 20 20 20 20 20 20 20 20 Value;..
0740: 20 20 20 20 20 20 20 20 7d 0d 0a 20 20 20 20 20 }..
0750: 20 20 20 20 20 20 20 20 20 20 20 0d 0a 20 20 20 ..
0760: 20 20 20 20 20 20 20 20 20 7d 0d 0a 20 20 20 20 }..
0770: 20 20 20 20 20 20 20 20 0d 0a 20 20 20 20 20 20 ..
0780: 20 20 20 20 20 20 69 66 28 63 68 6f 69 63 65 2e if(choice.
0790: 6c 65 6e 67 74 68 29 0d 0a 20 20 20 20 20 20 20 length)..
07a0: 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 {..
07b0: 20 20 20 20 20 20 20 20 66 6f 72 28 76 61 72 20 for(var
07c0: 6b 20 69 6e 20 74 79 70 65 73 29 0d 0a 20 20 20 k in types)..
07d0: 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 0d 0a {..
07e0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
07f0: 20 20 20 20 69 66 28 74 79 70 65 73 5b 6b 5d 20 if(types[k]
0800: 3d 3d 20 63 68 6f 69 63 65 29 0d 0a 20 20 20 20 == choice)..
0810: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0820: 20 20 20 20 62 72 65 61 6b 0d 0a 20 20 20 20 20 break..
0830: 20 20 20 20 20 20 20 20 20 20 20 7d 0d 0a 20 20 }..
0840: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 re
0850: 74 75 72 6e 20 73 6e 65 67 6f 70 61 74 2e 73 65 turn snegopat.se
0860: 74 50 61 72 61 6d 54 79 70 65 28 6b 29 0d 0a 20 tParamType(k)..
0870: 20 20 20 20 20 20 20 20 20 20 20 7d 0d 0a 20 20 }..
0880: 20 20 20 20 20 20 7d 0d 0a 20 20 20 20 7d 0d 0a }.. }..
0890: 20 20 20 20 72 65 74 75 72 6e 20 66 61 6c 73 65 return false
08a0: 3b 0d 0a 7d 0d 0a 0d 0a 66 75 6e 63 74 69 6f 6e ;..}....function
08b0: 20 67 65 74 50 72 65 64 65 66 69 6e 65 64 48 6f getPredefinedHo
08c0: 74 6b 65 79 73 28 70 72 65 64 65 66 29 0d 0a 7b tkeys(predef)..{
08d0: 0d 0a 20 20 20 20 70 72 65 64 65 66 2e 73 65 74 .. predef.set
08e0: 56 65 72 73 69 6f 6e 28 33 29 0d 0a 20 20 20 20 Version(3)..
08f0: 70 72 65 64 65 66 2e 61 64 64 28 22 d0 92 d1 8b predef.add("....
0900: d0 b1 d1 80 d0 b0 d1 82 d1 8c d0 a2 d0 b8 d0 bf ................
0910: d0 9f d0 b0 d1 80 d0 b0 d0 bc d0 b5 d1 82 d1 80 ................
0920: d0 b0 22 2c 20 22 43 74 72 6c 20 2b 20 32 22 29 ..", "Ctrl + 2")
0930: 0d 0a 7d 0d 0a 0d 0a 2f 2f 2f 2f 2f 2f 2f 2f 2f ..}..../////////
0940: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f ////////////////
0950: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f ////////////////
0960: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f ////////////////
0970: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f ////////////////
0980: 2f 0d 0a 2f 2f 20 d0 a0 d0 b0 d0 b1 d0 be d1 82 /..// ..........
0990: d0 b0 20 d0 bf d0 be 20 d0 b8 d0 b7 d0 bc d0 b5 .. .... ........
09a0: d0 bd d0 b5 d0 bd d0 b8 d1 8e 20 d1 81 d0 bf d0 .......... .....
09b0: b8 d1 81 d0 ba d0 b0 20 d0 bf d0 be d0 b4 d1 81 ....... ........
09c0: d0 ba d0 b0 d0 b7 d0 ba d0 b8 0d 0a 65 76 65 6e ............even
09d0: 74 73 2e 63 6f 6e 6e 65 63 74 28 73 6e 65 67 6f ts.connect(snego
09e0: 70 61 74 2c 20 22 6f 6e 53 68 6f 77 50 61 72 61 pat, "onShowPara
09f0: 6d 73 22 2c 20 53 65 6c 66 53 63 72 69 70 74 2e ms", SelfScript.
0a00: 73 65 6c 66 29 0d 0a 66 75 6e 63 74 69 6f 6e 20 self)..function
0a10: 6f 6e 53 68 6f 77 50 61 72 61 6d 73 28 70 29 0d onShowParams(p).
0a20: 0a 7b 0d 0a 20 20 20 20 2f 2f 20 d0 95 d1 81 d0 .{.. // .....
0a30: bb d0 b8 20 d1 82 d0 b5 d0 ba d1 81 d1 82 20 d0 ... .......... .
0a40: bf d0 b5 d1 80 d0 b5 d0 b4 20 d0 bc d0 b5 d1 82 ......... ......
0a50: d0 be d0 b4 d0 be d0 bc 20 d0 b7 d0 b0 d0 ba d0 ........ .......
0a60: b0 d0 bd d1 87 d0 b8 d0 b2 d0 b0 d0 b5 d1 82 d1 ................
0a70: 81 d1 8f 20 d1 82 d0 be d1 87 d0 ba d0 be d0 b9 ... ............
0a80: 2c 20 d0 be d0 b1 d1 80 d0 b0 d0 b1 d0 be d1 82 , ..............
0a90: d0 b0 d0 b5 d0 bc 20 d0 bc d0 b5 d1 82 d0 be d0 ...... .........
0aa0: b4 d1 8b 20 d0 be d0 b1 d1 8a d0 b5 d0 ba d1 82 ... ............
0ab0: d0 be d0 b2 0d 0a 20 20 20 20 2f 2f 20 d0 b8 d0 ...... // ...
0ac0: bd d0 b0 d1 87 d0 b5 20 d0 b3 d0 bb d0 be d0 b1 ....... ........
0ad0: d0 b0 d0 bb d1 8c d0 bd d1 8b d0 b5 20 d0 bc d0 ............ ...
0ae0: b5 d1 82 d0 be d0 b4 d1 8b 0d 0a 20 20 20 20 28 ........... (
0af0: 70 2e 73 72 63 2e 6d 61 74 63 68 28 2f 5c 2e 5c p.src.match(/\.\
0b00: 73 2a 24 2f 29 20 3f 20 70 72 6f 63 65 73 73 4f s*$/) ? processO
0b10: 62 6a 65 63 74 4d 65 74 68 6f 64 20 3a 20 70 72 bjectMethod : pr
0b20: 6f 63 65 73 73 47 6c 6f 62 61 6c 4d 65 74 68 6f ocessGlobalMetho
0b30: 64 29 28 70 2c 20 73 6e 65 67 6f 70 61 74 2e 61 d)(p, snegopat.a
0b40: 63 74 69 76 65 54 65 78 74 57 69 6e 64 6f 77 28 ctiveTextWindow(
0b50: 29 29 3b 0d 0a 20 20 20 20 2f 2f 64 65 62 75 67 ));.. //debug
0b60: 67 65 72 0d 0a 20 20 20 20 2f 2a 0d 0a 20 20 20 ger.. /*..
0b70: 20 4d 65 73 73 61 67 65 28 22 d0 97 d0 b0 d0 bf Message("......
0b80: d1 80 d0 be d1 81 20 d0 bf d0 be d0 b4 d1 81 d0 ...... .........
0b90: ba d0 b0 d0 b7 d0 ba d0 b8 20 d0 b4 d0 bb d1 8f ......... ......
0ba0: 20 d0 bc d0 b5 d1 82 d0 be d0 b4 d0 b0 20 22 20 ............ "
0bb0: 2b 20 70 2e 6e 61 6d 65 29 0d 0a 20 20 20 20 4d + p.name).. M
0bc0: 65 73 73 61 67 65 28 22 d0 a2 d0 b5 d0 ba d1 81 essage("........
0bd0: d1 82 20 d0 bf d0 b5 d1 80 d0 b5 d0 b4 20 d0 bc .. .......... ..
0be0: d0 b5 d1 82 d0 be d0 b4 d0 be d0 bc 3a 20 22 20 ............: "
0bf0: 2b 20 70 2e 73 72 63 29 0d 0a 20 20 20 20 4d 65 + p.src).. Me
0c00: 73 73 61 67 65 28 22 d0 a1 d0 bd d0 b5 d0 b3 d0 ssage(".........
0c10: be d0 bf d0 b0 d1 82 20 d0 bd d0 b0 d1 88 d0 b5 ....... ........
0c20: d0 bb 20 d0 bf d0 be d0 b4 d1 81 d0 ba d0 b0 d0 .. .............
0c30: b7 d0 be d0 ba 3a 20 22 20 2b 20 70 2e 74 79 70 .....: " + p.typ
0c40: 65 73 43 6f 75 6e 74 29 0d 0a 20 20 20 20 2f 2f esCount).. //
0c50: 20 d0 9f d0 b5 d1 80 d0 b5 d0 b1 d0 be d1 80 20 ..............
0c60: d0 bf d0 be d0 b4 d1 81 d0 ba d0 b0 d0 b7 d0 be ................
0c70: d0 ba 0d 0a 20 20 20 20 66 6f 72 28 76 61 72 20 .... for(var
0c80: 69 20 3d 20 30 3b 20 69 20 3c 20 70 2e 74 79 70 i = 0; i < p.typ
0c90: 65 73 43 6f 75 6e 74 3b 20 69 2b 2b 29 0d 0a 20 esCount; i++)..
0ca0: 20 20 20 20 20 20 20 4d 65 73 73 61 67 65 28 22 Message("
0cb0: d0 9f d0 be d0 b4 d1 81 d0 ba d0 b0 d0 b7 d0 ba ................
0cc0: d0 b0 20 e2 84 96 20 22 20 2b 20 69 20 2b 20 22 .. ... " + i + "
0cd0: 20 20 d0 a2 d0 b8 d0 bf 3a 20 22 20 2b 20 70 2e ......: " + p.
0ce0: 74 79 70 65 4e 61 6d 65 28 69 29 20 2b 20 28 70 typeName(i) + (p
0cf0: 2e 74 79 70 65 49 73 4d 6f 64 75 6c 65 28 69 29 .typeIsModule(i)
0d00: 20 3f 20 22 20 d0 ad d1 82 d0 be 20 d0 bc d0 b5 ? " ...... ....
0d10: d1 82 d0 be d0 b4 20 d0 b8 d0 b7 20 d0 bc d0 be ...... .... ....
0d20: d0 b4 d1 83 d0 bb d1 8f 22 20 3a 20 22 22 29 29 ........" : ""))
0d30: 0d 0a 20 20 20 20 2f 2f 20 d0 a3 d0 b4 d0 b0 d0 .. // .......
0d40: bb d0 b5 d0 bd d0 b8 d0 b5 20 d0 bf d0 be d0 b4 ......... ......
0d50: d1 81 d0 ba d0 b0 d0 b7 d0 ba d0 b8 2e 20 d0 9d ............. ..
0d60: d0 b0 d0 bf d1 80 d0 b8 d0 bc d0 b5 d1 80 20 d1 .............. .
0d70: 83 d0 b4 d0 b0 d0 bb d0 b8 d0 bc 20 d0 bf d0 be ........... ....
0d80: d1 81 d0 bb d0 b5 d0 b4 d0 bd d1 8e d1 8e 0d 0a ................
0d90: 20 20 20 20 69 66 28 70 2e 74 79 70 65 73 43 6f if(p.typesCo
0da0: 75 6e 74 20 3e 20 31 29 0d 0a 20 20 20 20 20 20 unt > 1)..
0db0: 20 20 70 2e 72 65 6d 6f 76 65 28 70 2e 74 79 70 p.remove(p.typ
0dc0: 65 73 43 6f 75 6e 74 20 2d 20 31 29 0d 0a 20 20 esCount - 1)..
0dd0: 20 20 2f 2f 20 d0 9f d0 b5 d1 80 d0 b5 d0 bc d0 // ...........
0de0: b5 d1 89 d0 b5 d0 bd d0 b8 d0 b5 20 d0 bf d0 be ........... ....
0df0: d0 b4 d1 81 d0 ba d0 b0 d0 b7 d0 ba d0 b8 2e 20 ...............
0e00: d0 9d d0 b0 d0 bf d1 80 d0 b8 d0 bc d0 b5 d1 80 ................
0e10: 2c 20 d0 bf d0 b5 d1 80 d0 b5 d1 81 d1 82 d0 b0 , ..............
0e20: d0 b2 d0 b8 d0 bc 20 d0 bf d0 be d1 81 d0 bb d0 ...... .........
0e30: b5 d0 b4 d0 bd d1 8e d1 8e 20 d0 b2 20 d0 bd d0 ......... .. ...
0e40: b0 d1 87 d0 b0 d0 bb d0 be 0d 0a 20 20 20 20 69 ........... i
0e50: 66 28 70 2e 74 79 70 65 73 43 6f 75 6e 74 20 3e f(p.typesCount >
0e60: 20 31 29 0d 0a 20 20 20 20 20 20 20 20 70 2e 6d 1).. p.m
0e70: 6f 76 65 28 70 2e 74 79 70 65 73 43 6f 75 6e 74 ove(p.typesCount
0e80: 20 2d 20 31 2c 20 30 29 0d 0a 20 20 20 20 2f 2f - 1, 0).. //
0e90: 20 d0 94 d0 be d0 b1 d0 b0 d0 b2 d0 b8 d0 bc 20 ..............
0ea0: d1 81 d0 b2 d0 be d1 8e 20 d0 bf d0 be d0 b4 d1 ........ .......
0eb0: 81 d0 ba d0 b0 d0 b7 d0 ba d1 83 0d 0a 20 20 20 .............
0ec0: 20 70 2e 69 6e 73 65 72 74 28 30 2c 20 70 2e 6e p.insert(0, p.n
0ed0: 61 6d 65 2c 20 22 d0 98 d0 bc d1 8f d0 a2 d0 b8 ame, "..........
0ee0: d0 bf d0 b0 d0 98 d0 b7 d0 9a d0 be d1 82 d0 be ................
0ef0: d1 80 d0 be d0 b3 d0 be d0 9c d0 b5 d1 82 d0 be ................
0f00: d0 b4 22 2c 20 22 d0 a2 d1 83 d1 82 20 d0 be d0 ..", "...... ...
0f10: bf d0 b8 d1 81 d0 b0 d0 bd d0 b8 d0 b5 20 d0 bc ............. ..
0f20: d0 b5 d1 82 d0 be d0 b4 d0 b0 22 2c 20 22 d0 92 ..........", "..
0f30: d0 be d0 b7 d0 b2 d1 80 d0 b0 d1 89 d0 b0 d0 b5 ................
0f40: d0 bc d1 8b d0 b9 d0 a2 d0 b8 d0 bf 22 2c 20 66 ............", f
0f50: 61 6c 73 65 29 0d 0a 20 20 20 20 2f 2f 20 d0 94 alse).. // ..
0f60: d0 be d0 b1 d0 b0 d0 b2 d0 b8 d0 bc 20 d0 be d0 ............ ...
0f70: bf d0 b8 d1 81 d0 b0 d0 bd d0 b8 d1 8f 20 d0 bf ............. ..
0f80: d0 b0 d1 80 d0 b0 d0 bc d0 b5 d1 82 d1 80 d0 be ................
0f90: d0 b2 20 d0 ba 20 d1 8d d1 82 d0 be d0 b9 20 d0 .. .. ........ .
0fa0: bf d0 be d0 b4 d1 81 d0 ba d0 b0 d0 b7 d0 ba d0 ................
0fb0: b5 0d 0a 20 20 20 20 70 2e 61 64 64 50 61 72 61 ... p.addPara
0fc0: 6d 44 65 73 63 72 28 30 2c 20 22 d0 9f d0 b0 d1 mDescr(0, ".....
0fd0: 80 d0 b0 d0 bc 31 22 2c 20 22 d0 9e d0 bf d0 b8 .....1", "......
0fe0: d1 81 d0 b0 d0 bd d0 b8 d0 b5 20 d0 bf d0 b0 d1 .......... .....
0ff0: 80 d0 b0 d0 bc d0 b5 d1 82 d1 80 d0 b0 20 31 22 ............. 1"
1000: 29 0d 0a 20 20 20 20 70 2e 61 64 64 50 61 72 61 ).. p.addPara
1010: 6d 44 65 73 63 72 28 30 2c 20 22 d0 9f d0 b0 d1 mDescr(0, ".....
1020: 80 d0 b0 d0 bc 32 22 2c 20 22 d0 9e d0 bf d0 b8 .....2", "......
1030: d1 81 d0 b0 d0 bd d0 b8 d0 b5 20 d0 bf d0 b0 d1 .......... .....
1040: 80 d0 b0 d0 bc d0 b5 d1 82 d1 80 d0 b0 20 32 22 ............. 2"
1050: 29 0d 0a 20 20 20 20 2a 2f 0d 0a 7d 0d 0a 0d 0a ).. */..}....
1060: 2f 2f 20 d0 9a d0 bb d0 b0 d1 81 d1 81 20 d0 b4 // .......... ..
1070: d0 bb d1 8f 20 d0 bf d0 be d0 bb d1 83 d1 87 d0 .... ...........
1080: b5 d0 bd d0 b8 d1 8f 20 d0 bd d0 b0 d0 b7 d0 b2 ....... ........
1090: d0 b0 d0 bd d0 b8 d0 b9 20 d1 82 d0 b8 d0 bf d0 ........ .......
10a0: be d0 b2 20 d0 be d0 b1 d1 8a d0 b5 d0 ba d1 82 ... ............
10b0: d0 b0 20 d0 bc d0 b0 d1 82 d0 b0 d0 b4 d0 b0 d0 .. .............
10c0: bd d0 bd d1 8b d1 85 2c 20 d1 82 2e d0 ba 2e 20 ......., ......
10d0: d1 88 d1 82 d0 b0 d1 82 d0 bd d1 8b d0 b9 20 d0 .............. .
10e0: be d0 b1 d1 8a d0 b5 d0 ba d1 82 20 d0 9e d0 bf ........... ....
10f0: d0 b8 d1 81 d0 b0 d0 bd d0 b8 d0 b5 d0 a2 d0 b8 ................
1100: d0 bf d0 be d0 b2 20 d0 b2 0d 0a 2f 2f 20 d1 80 ...... ....// ..
1110: d0 b5 d0 b6 d0 b8 d0 bc d0 b5 20 d0 9a d0 be d0 .......... .....
1120: bd d1 84 d0 b8 d0 b3 d1 83 d1 80 d0 b0 d1 82 d0 ................
1130: be d1 80 d0 b0 20 d0 bd d0 b5 20 d0 b2 d1 8b d0 ..... .... .....
1140: b4 d0 b0 d0 b5 d1 82 20 d1 82 d0 b8 d0 bf d1 8b ....... ........
1150: 2c 20 d0 be d1 81 d0 bd d0 be d0 b2 d0 b0 d0 bd , ..............
1160: d0 bd d1 8b d0 b5 20 d0 bd d0 b0 20 d0 bc d0 b5 ...... .... ....
1170: d1 82 d0 b0 d0 b4 d0 b0 d0 bd d0 bd d1 8b d1 85 ................
1180: 2e 0d 0a 66 75 6e 63 74 69 6f 6e 20 54 79 70 65 ...function Type
1190: 46 69 6e 64 65 72 28 6d 64 43 6f 6e 74 61 69 6e Finder(mdContain
11a0: 65 72 29 0d 0a 7b 0d 0a 20 20 20 20 76 61 72 20 er)..{.. var
11b0: 74 79 70 65 73 20 3d 20 6e 65 77 20 56 42 41 72 types = new VBAr
11c0: 72 61 79 28 6d 64 43 6f 6e 74 61 69 6e 65 72 2e ray(mdContainer.
11d0: 74 79 70 65 4c 69 73 74 28 27 27 2c 20 31 29 29 typeList('', 1))
11e0: 2e 74 6f 41 72 72 61 79 28 29 0d 0a 20 20 20 20 .toArray()..
11f0: 66 6f 72 28 76 61 72 20 69 20 69 6e 20 74 79 70 for(var i in typ
1200: 65 73 29 0d 0a 20 20 20 20 20 20 20 20 74 68 69 es).. thi
1210: 73 5b 74 79 70 65 73 5b 69 5d 2e 63 6c 73 69 64 s[types[i].clsid
1220: 5d 20 3d 20 74 79 70 65 73 5b 69 5d 2e 6e 61 6d ] = types[i].nam
1230: 65 0d 0a 7d 0d 0a 0d 0a 54 79 70 65 46 69 6e 64 e..}....TypeFind
1240: 65 72 2e 70 72 6f 74 6f 74 79 70 65 2e 67 65 74 er.prototype.get
1250: 54 79 70 65 53 74 72 69 6e 67 20 3d 20 66 75 6e TypeString = fun
1260: 63 74 69 6f 6e 28 6d 64 4f 62 6a 29 0d 0a 7b 0d ction(mdObj)..{.
1270: 0a 20 20 20 20 76 61 72 20 74 65 78 74 20 3d 20 . var text =
1280: 5b 5d 0d 0a 20 20 20 20 76 61 72 20 74 79 70 65 [].. var type
1290: 73 20 3d 20 6e 65 77 20 56 42 41 72 72 61 79 28 s = new VBArray(
12a0: 6d 64 4f 62 6a 2e 74 79 70 65 73 28 29 29 2e 74 mdObj.types()).t
12b0: 6f 41 72 72 61 79 28 29 0d 0a 20 20 20 20 66 6f oArray().. fo
12c0: 72 28 76 61 72 20 69 20 69 6e 20 74 79 70 65 73 r(var i in types
12d0: 29 0d 0a 20 20 20 20 20 20 20 20 74 65 78 74 2e ).. text.
12e0: 70 75 73 68 28 74 68 69 73 5b 74 79 70 65 73 5b push(this[types[
12f0: 69 5d 5d 29 3b 0d 0a 20 20 20 20 72 65 74 75 72 i]]);.. retur
1300: 6e 20 74 65 78 74 2e 6a 6f 69 6e 28 22 2c 20 22 n text.join(", "
1310: 29 0d 0a 7d 0d 0a 0d 0a 76 61 72 20 63 6c 73 69 )..}....var clsi
1320: 64 32 74 79 70 65 73 74 72 20 3d 20 6e 65 77 20 d2typestr = new
1330: 54 79 70 65 46 69 6e 64 65 72 28 6d 65 74 61 64 TypeFinder(metad
1340: 61 74 61 2e 63 75 72 72 65 6e 74 29 3b 0d 0a 0d ata.current);...
1350: 0a 66 75 6e 63 74 69 6f 6e 20 70 72 6f 63 65 73 .function proces
1360: 73 47 6c 6f 62 61 6c 4d 65 74 68 6f 64 28 70 2c sGlobalMethod(p,
1370: 20 77 6e 64 29 0d 0a 7b 0d 0a 20 20 20 20 69 66 wnd)..{.. if
1380: 28 70 2e 74 79 70 65 73 43 6f 75 6e 74 20 3e 20 (p.typesCount >
1390: 31 29 0d 0a 20 20 20 20 7b 0d 0a 20 20 20 20 20 1).. {..
13a0: 20 20 20 2f 2f 20 d0 9f d0 be d0 b4 d1 81 d0 ba // ..........
13b0: d0 b0 d0 b7 d0 be d0 ba 20 d0 b1 d0 be d0 bb d1 ........ .......
13c0: 8c d1 88 d0 b5 20 31 2c 20 d0 bd d0 b0 d0 b4 d0 ..... 1, .......
13d0: be 20 d0 bf d0 be d0 bf d1 80 d0 be d0 b1 d0 be . ..............
13e0: d0 b2 d0 b0 d1 82 d1 8c 20 d1 83 d0 b4 d0 b0 d0 ........ .......
13f0: bb d0 b8 d1 82 d1 8c 20 d0 bb d0 b8 d1 88 d0 bd ....... ........
1400: d0 b8 d0 b5 0d 0a 20 20 20 20 20 20 20 20 2f 2f ...... //
1410: 20 d0 a1 d0 be d1 81 d1 82 d0 b0 d0 b2 d0 b8 d0 ...............
1420: bc 20 d1 81 d0 bf d0 b8 d1 81 d0 be d0 ba 20 d1 . ............ .
1430: 82 d0 b8 d0 bf d0 be d0 b2 2c 20 d0 ba d0 be d1 ........., .....
1440: 82 d0 be d1 80 d1 8b d0 b5 20 d0 bc d0 be d0 b6 ......... ......
1450: d0 bd d0 be 20 d0 b2 d1 8b d0 b7 d1 8b d0 b2 d0 .... ...........
1460: b0 d1 82 d1 8c 20 d0 ba d0 b0 d0 ba 20 d0 b3 d0 ..... ...... ...
1470: bb d0 be d0 b1 d0 b0 d0 bb d1 8c d0 bd d1 8b d0 ................
1480: b5 20 d0 b2 20 d1 8d d1 82 d0 be d0 bc 20 d0 bc . .. ........ ..
1490: d0 be d0 b4 d1 83 d0 bb d0 b5 0d 0a 20 20 20 20 ............
14a0: 20 20 20 20 76 61 72 20 72 65 53 74 72 20 3d 20 var reStr =
14b0: 22 5e d0 93 d0 bb d0 be d0 b1 d0 b0 d0 bb d1 8c "^..............
14c0: d0 bd d1 8b d0 b9 d0 9a d0 be d0 bd d1 82 d0 b5 ................
14d0: d0 ba d1 81 d1 82 24 7c 5e d0 92 d1 81 d1 82 d1 ......$|^.......
14e0: 80 d0 be d0 b5 d0 bd d0 bd d1 8b d0 b5 d0 a4 d1 ................
14f0: 83 d0 bd d0 ba d1 86 d0 b8 d0 b8 d0 af d0 b7 d1 ................
1500: 8b d0 ba d0 b0 24 22 0d 0a 20 20 20 20 20 20 20 .....$"..
1510: 20 69 66 28 77 6e 64 2e 6d 64 4f 62 6a 29 0d 0a if(wnd.mdObj)..
1520: 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 {..
1530: 20 20 20 20 20 20 20 76 61 72 20 70 72 6f 70 4e var propN
1540: 61 6d 65 20 3d 20 77 6e 64 2e 6d 64 50 72 6f 70 ame = wnd.mdProp
1550: 2e 6e 61 6d 65 28 31 29 0d 0a 20 20 20 20 20 20 .name(1)..
1560: 20 20 20 20 20 20 69 66 28 70 72 6f 70 4e 61 6d if(propNam
1570: 65 20 3d 3d 20 22 d0 a4 d0 be d1 80 d0 bc d0 b0 e == "..........
1580: 22 29 20 20 20 2f 2f 20 d0 92 20 d0 be d0 b1 d1 ") // .. .....
1590: 8b d1 87 d0 bd d0 be d0 b9 20 d1 84 d0 be d1 80 ......... ......
15a0: d0 bc d0 b5 20 d0 bc d0 be d0 b6 d0 bd d0 be 20 .... ..........
15b0: d0 bd d0 b0 d0 bf d1 80 d1 8f d0 bc d1 83 d1 8e ................
15c0: 20 d0 be d0 b1 d1 80 d0 b0 d1 89 d0 b0 d1 82 d1 ...............
15d0: 8c d1 81 d1 8f 20 d0 ba 20 d0 be d1 81 d0 bd d0 ..... .. .......
15e0: be d0 b2 d0 bd d0 be d0 bc d1 83 20 d1 80 d0 b5 ........... ....
15f0: d0 ba d0 b2 d0 b8 d0 b7 d0 b8 d1 82 d1 83 20 d1 .............. .
1600: 84 d0 be d1 80 d0 bc d1 8b 0d 0a 20 20 20 20 20 ...........
1610: 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 {..
1620: 20 20 20 20 20 20 20 20 20 20 76 61 72 20 74 79 var ty
1630: 70 65 73 4f 66 4d 61 69 6e 41 74 74 72 0d 0a 20 pesOfMainAttr..
1640: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 i
1650: 66 28 74 6f 76 38 76 61 6c 75 65 28 77 6e 64 2e f(tov8value(wnd.
1660: 6d 64 4f 62 6a 2e 70 72 6f 70 65 72 74 79 28 22 mdObj.property("
1670: d0 a2 d0 b8 d0 bf d0 a4 d0 be d1 80 d0 bc d1 8b ................
1680: 22 29 29 2e 70 72 65 73 65 6e 74 61 74 69 6f 6e ")).presentation
1690: 28 29 20 3d 3d 20 27 d0 9e d0 b1 d1 8b d1 87 d0 () == '.........
16a0: bd d0 b0 d1 8f 27 29 0d 0a 20 20 20 20 20 20 20 .....')..
16b0: 20 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 {..
16c0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
16d0: 72 65 53 74 72 20 2b 3d 20 27 7c 5e d0 a4 d0 be reStr += '|^....
16e0: d1 80 d0 bc d0 b0 24 27 0d 0a 20 20 20 20 20 20 ......$'..
16f0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 79 ty
1700: 70 65 73 4f 66 4d 61 69 6e 41 74 74 72 20 3d 20 pesOfMainAttr =
1710: 66 69 6e 64 46 61 74 46 6f 72 6d 4d 61 69 6e 41 findFatFormMainA
1720: 74 74 72 28 77 6e 64 2e 65 78 74 4f 62 6a 65 63 ttr(wnd.extObjec
1730: 74 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 t)..
1740: 20 20 20 20 20 20 20 20 69 66 28 74 79 70 65 73 if(types
1750: 4f 66 4d 61 69 6e 41 74 74 72 29 0d 0a 20 20 20 OfMainAttr)..
1760: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1770: 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 {..
1780: 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 d0 // .
1790: 9f d0 be d0 bb d1 83 d1 87 d0 b8 d0 bb d0 b8 20 ...............
17a0: d0 bc d0 b0 d1 81 d1 81 d0 b8 d0 b2 20 d1 81 20 ............ ..
17b0: 67 75 69 64 27 d0 b0 d0 bc d0 b8 20 d1 82 d0 b8 guid'...... ....
17c0: d0 bf d0 be d0 b2 20 d0 be d1 81 d0 bd d0 be d0 ...... .........
17d0: b2 d0 bd d0 be d0 b3 d0 be 20 d1 80 d0 b5 d0 ba ......... ......
17e0: d0 b2 d0 b8 d0 b7 d0 b8 d1 82 d0 b0 0d 0a 20 20 ..............
17f0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1800: 20 20 20 20 20 20 66 6f 72 28 76 61 72 20 6b 20 for(var k
1810: 69 6e 20 74 79 70 65 73 4f 66 4d 61 69 6e 41 74 in typesOfMainAt
1820: 74 72 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 tr)..
1830: 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 0d 0a {..
1840: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1850: 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 var
1860: 74 66 20 3d 20 63 6c 73 69 64 32 74 79 70 65 73 tf = clsid2types
1870: 74 72 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 tr..
1880: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1890: 69 66 28 77 6e 64 2e 6d 64 4f 62 6a 2e 63 6f 6e if(wnd.mdObj.con
18a0: 74 61 69 6e 65 72 20 21 3d 20 6d 65 74 61 64 61 tainer != metada
18b0: 74 61 2e 63 75 72 72 65 6e 74 29 0d 0a 20 20 20 ta.current)..
18c0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18d0: 20 20 20 20 20 20 20 20 20 20 20 20 20 74 66 20 tf
18e0: 3d 20 6e 65 77 20 54 79 70 65 46 69 6e 64 65 72 = new TypeFinder
18f0: 28 77 6e 64 2e 6d 64 4f 62 6a 2e 63 6f 6e 74 61 (wnd.mdObj.conta
1900: 69 6e 65 72 29 0d 0a 20 20 20 20 20 20 20 20 20 iner)..
1910: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1920: 20 20 20 76 61 72 20 74 79 70 65 4e 61 6d 65 20 var typeName
1930: 3d 20 74 66 5b 74 79 70 65 73 4f 66 4d 61 69 6e = tf[typesOfMain
1940: 41 74 74 72 5b 6b 5d 5d 0d 0a 20 20 20 20 20 20 Attr[k]]..
1950: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1960: 20 20 20 20 20 20 69 66 28 74 79 70 65 4e 61 6d if(typeNam
1970: 65 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 e)..
1980: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1990: 20 20 20 20 72 65 53 74 72 20 2b 3d 20 27 7c 5e reStr += '|^
19a0: 27 20 2b 20 74 79 70 65 4e 61 6d 65 2e 72 65 70 ' + typeName.rep
19b0: 6c 61 63 65 28 2f 5c 2e 2e 2b 2f 2c 20 22 5c 5c lace(/\..+/, "\\
19c0: 2e 3c 2e 2a 22 29 20 2b 20 22 24 22 0d 0a 20 20 .<.*") + "$"..
19d0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19e0: 20 20 20 20 20 20 7d 0d 0a 20 20 20 20 20 20 20 }..
19f0: 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0d 0a }..
1a00: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a10: 7d 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 }..
1a20: 20 20 20 65 6c 73 65 0d 0a 20 20 20 20 20 20 20 else..
1a30: 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 53 reS
1a40: 74 72 20 2b 3d 20 27 7c 5e d0 a3 d0 bf d1 80 d0 tr += '|^.......
1a50: b0 d0 b2 d0 bb d1 8f d0 b5 d0 bc d0 b0 d1 8f d0 ................
1a60: a4 d0 be d1 80 d0 bc d0 b0 24 27 0d 0a 20 20 20 .........$'..
1a70: 20 20 20 20 20 20 20 20 20 7d 0d 0a 20 20 20 20 }..
1a80: 20 20 20 20 20 20 20 20 65 6c 73 65 20 69 66 28 else if(
1a90: 70 72 6f 70 4e 61 6d 65 20 3d 3d 20 22 d0 9c d0 propName == "...
1aa0: be d0 b4 d1 83 d0 bb d1 8c d0 9e d0 b1 d1 8a d0 ................
1ab0: b5 d0 ba d1 82 d0 b0 22 29 0d 0a 20 20 20 20 20 .......")..
1ac0: 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 {..
1ad0: 20 20 20 20 20 20 20 20 20 20 2f 2f 20 d0 97 d0 // ...
1ae0: b4 d0 b5 d1 81 d1 8c 20 d0 bc d0 be d0 b6 d0 bd ....... ........
1af0: d0 be 20 d0 bd d0 b0 d0 bf d1 80 d1 8f d0 bc d1 .. .............
1b00: 83 d1 8e 20 d0 be d0 b1 d1 80 d0 b0 d1 89 d0 b0 ... ............
1b10: d1 82 d1 8c d1 81 d1 8f 20 d0 ba 20 d1 81 d0 be ........ .. ....
1b20: d0 be d1 82 d0 b2 d0 b5 d1 82 d1 81 d1 82 d0 b2 ................
1b30: d1 83 d1 8e d1 89 d0 b8 d0 bc 20 d1 82 d0 b8 d0 .......... .....
1b40: bf d0 b0 d0 bc 20 d0 bc d0 b5 d1 82 d0 b0 d0 b4 ..... ..........
1b50: d0 b0 d0 bd d0 bd d1 8b d1 85 0d 0a 20 20 20 20 ............
1b60: 20 20 20 20 20 20 20 20 20 20 20 20 72 65 53 74 reSt
1b70: 72 20 2b 3d 20 22 7c 5e 22 20 2b 20 77 6e 64 2e r += "|^" + wnd.
1b80: 6d 64 4f 62 6a 2e 6d 64 63 6c 61 73 73 2e 6e 61 mdObj.mdclass.na
1b90: 6d 65 28 31 29 20 2b 20 22 d0 9e d0 b1 d1 8a d0 me(1) + ".......
1ba0: b5 d0 ba d1 82 5c 5c 2e 3c 2e 2a 24 22 0d 0a 20 .....\\.<.*$"..
1bb0: 20 20 20 20 20 20 20 20 20 20 20 7d 0d 0a 20 20 }..
1bc0: 20 20 20 20 20 20 20 20 20 20 65 6c 73 65 20 69 else i
1bd0: 66 28 70 72 6f 70 4e 61 6d 65 20 3d 3d 20 22 d0 f(propName == ".
1be0: 9c d0 be d0 b4 d1 83 d0 bb d1 8c d0 9c d0 b5 d0 ................
1bf0: bd d0 b5 d0 b4 d0 b6 d0 b5 d1 80 d0 b0 22 29 0d .............").
1c00: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .
1c10: 20 72 65 53 74 72 20 2b 3d 20 22 7c 5e 22 20 2b reStr += "|^" +
1c20: 20 77 6e 64 2e 6d 64 4f 62 6a 2e 6d 64 63 6c 61 wnd.mdObj.mdcla
1c30: 73 73 2e 6e 61 6d 65 28 31 29 20 2b 20 22 d0 9c ss.name(1) + "..
1c40: d0 b5 d0 bd d0 b5 d0 b4 d0 b6 d0 b5 d1 80 5c 5c ..............\\
1c50: 2e 3c 2e 2a 24 22 0d 0a 20 20 20 20 20 20 20 20 .<.*$"..
1c60: 7d 0d 0a 20 20 20 20 20 20 20 20 2f 2f 20 d0 a2 }.. // ..
1c70: d0 b5 d0 bf d0 b5 d1 80 d1 8c 20 d0 be d0 b1 d1 .......... .....
1c80: 80 d0 b0 d0 b1 d0 be d1 82 d0 b0 d0 b5 d0 bc 20 ...............
1c90: d1 81 d0 bf d0 b8 d1 81 d0 be d0 ba 20 d0 bf d0 ............ ...
1ca0: be d0 b4 d1 81 d0 ba d0 b0 d0 b7 d0 be d0 ba 0d ................
1cb0: 0a 20 20 20 20 20 20 20 20 2f 2f 20 d0 9f d1 80 . // ....
1cc0: d0 be d1 85 d0 be d0 b4 20 31 20 2d 20 d0 b8 d1 ........ 1 - ...
1cd0: 89 d0 b5 d0 bc 2c 20 d0 bf d0 be d0 bf d0 b0 d0 ....., .........
1ce0: b4 d0 b0 d0 b5 d1 82 20 d0 bb d0 b8 20 d1 87 d1 ....... .... ...
1cf0: 82 d0 be 2d d1 82 d0 be 20 d0 bf d0 be d0 b4 20 ...-.... ......
1d00: d0 bd d0 b0 d1 88 20 d1 81 d0 bf d0 b8 d1 81 d0 ...... .........
1d10: be d0 ba 0d 0a 20 20 20 20 20 20 20 20 2f 2f 4d ..... //M
1d20: 65 73 73 61 67 65 28 72 65 53 74 72 29 0d 0a 20 essage(reStr)..
1d30: 20 20 20 20 20 20 20 76 61 72 20 72 65 20 3d 20 var re =
1d40: 6e 65 77 20 52 65 67 45 78 70 28 72 65 53 74 72 new RegExp(reStr
1d50: 2c 20 27 69 27 29 0d 0a 20 20 20 20 20 20 20 20 , 'i')..
1d60: 66 6f 72 28 76 61 72 20 69 20 3d 20 30 2c 20 63 for(var i = 0, c
1d70: 20 3d 20 70 2e 74 79 70 65 73 43 6f 75 6e 74 3b = p.typesCount;
1d80: 20 69 20 3c 20 63 3b 20 69 2b 2b 29 0d 0a 20 20 i < c; i++)..
1d90: 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 {..
1da0: 20 20 20 20 20 69 66 28 21 70 2e 74 79 70 65 49 if(!p.typeI
1db0: 73 4d 6f 64 75 6c 65 28 69 29 20 26 26 20 72 65 sModule(i) && re
1dc0: 2e 74 65 73 74 28 70 2e 74 79 70 65 4e 61 6d 65 .test(p.typeName
1dd0: 28 69 29 29 29 0d 0a 20 20 20 20 20 20 20 20 20 (i)))..
1de0: 20 20 20 20 20 20 20 62 72 65 61 6b 0d 0a 20 20 break..
1df0: 20 20 20 20 20 20 7d 0d 0a 20 20 20 20 20 20 20 }..
1e00: 20 2f 2f 20 d0 95 d1 81 d0 bb d0 b8 20 d0 bd d0 // ........ ...
1e10: b8 d1 87 d0 b5 d0 b3 d0 be 20 d0 bd d0 b5 20 d0 ......... .... .
1e20: bf d0 be d0 bf d0 b0 d0 bb d0 be 2c 20 d0 be d1 ..........., ...
1e30: 81 d1 82 d0 b0 d0 b2 d0 bb d1 8f d0 b5 d0 bc 2c ...............,
1e40: 20 d0 ba d0 b0 d0 ba 20 d0 b5 d1 81 d1 82 d1 8c ...... ........
1e50: 2c 20 d0 b8 d0 bd d0 b0 d1 87 d0 b5 20 d1 83 d0 , .......... ...
1e60: b4 d0 b0 d0 bb d1 8f d0 b5 d0 bc 20 d0 b2 d1 81 ........... ....
1e70: d0 b5 2c 20 d1 87 d1 82 d0 be 20 d0 bd d0 b5 20 .., ...... ....
1e80: d0 bf d0 be d0 bf d0 b0 d0 b4 d0 b0 d0 b5 d1 82 ................
1e90: 20 d0 b2 20 d0 bd d0 b0 d1 88 20 d1 81 d0 bf d0 .. ...... .....
1ea0: b8 d1 81 d0 be d0 ba 20 d1 82 d0 b8 d0 bf d0 be ....... ........
1eb0: d0 b2 0d 0a 20 20 20 20 20 20 20 20 69 66 28 69 .... if(i
1ec0: 20 3c 20 63 29 20 20 20 2f 2f 20 d1 87 d1 82 d0 < c) // .....
1ed0: be 2d d1 82 d0 be 20 d1 81 d0 be d0 b2 d0 bf d0 .-.... .........
1ee0: b0 d0 bb d0 be 0d 0a 20 20 20 20 20 20 20 20 7b ....... {
1ef0: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 66 6f .. fo
1f00: 72 28 69 20 3d 20 30 3b 20 69 20 3c 20 63 3b 20 r(i = 0; i < c;
1f10: 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b ).. {
1f20: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..
1f30: 20 20 69 66 28 21 70 2e 74 79 70 65 49 73 4d 6f if(!p.typeIsMo
1f40: 64 75 6c 65 28 69 29 20 26 26 20 21 72 65 2e 74 dule(i) && !re.t
1f50: 65 73 74 28 70 2e 74 79 70 65 4e 61 6d 65 28 69 est(p.typeName(i
1f60: 29 29 20 29 20 2f 2f 20 d0 95 d1 81 d0 bb d0 b8 )) ) // ........
1f70: 20 d1 82 d0 b8 d0 bf 20 d0 bd d0 b5 20 d0 bf d0 ...... .... ...
1f80: be d0 b4 d1 85 d0 be d0 b4 d0 b8 d1 82 20 d0 bf ............. ..
1f90: d0 be d0 b4 20 d1 80 d0 b5 d0 b3 d1 8d d0 ba d1 .... ...........
1fa0: 81 d0 bf 2c 20 d1 83 d0 b4 d0 b0 d0 bb d0 b8 d0 ..., ...........
1fb0: bc 20 d0 b5 d0 b3 d0 be 0d 0a 20 20 20 20 20 20 . ........
1fc0: 20 20 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 {..
1fd0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fe0: 20 70 2e 72 65 6d 6f 76 65 28 69 29 0d 0a 20 20 p.remove(i)..
1ff0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
2000: 20 20 63 2d 2d 0d 0a 20 20 20 20 20 20 20 20 20 c--..
2010: 20 20 20 20 20 20 20 7d 0d 0a 20 20 20 20 20 20 }..
2020: 20 20 20 20 20 20 20 20 20 20 65 6c 73 65 0d 0a else..
2030: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
2040: 20 20 20 20 69 2b 2b 0d 0a 20 20 20 20 20 20 20 i++..
2050: 20 20 20 20 20 7d 0d 0a 20 20 20 20 20 20 20 20 }..
2060: 7d 0d 0a 20 20 20 20 7d 0d 0a 7d 0d 0a 0d 0a 66 }.. }..}....f
2070: 75 6e 63 74 69 6f 6e 20 70 72 6f 63 65 73 73 4f unction processO
2080: 62 6a 65 63 74 4d 65 74 68 6f 64 28 70 2c 20 77 bjectMethod(p, w
2090: 6e 64 29 0d 0a 7b 0d 0a 20 20 20 20 2f 2f 20 d0 nd)..{.. // .
20a0: 9f d0 be d0 ba d0 b0 20 d1 82 d1 83 d1 82 20 d0 ....... ...... .
20b0: bc d0 b0 d0 bb d0 be 20 d1 87 d1 82 d0 be 20 d1 ....... ...... .
20c0: 83 d0 bc d0 b5 d0 b5 d0 bc 2c 20 d0 bd d0 be 20 ........., ....
20d0: d1 85 d0 be d1 82 d1 8f 20 d0 b1 d1 8b 20 d1 83 ........ .... ..
20e0: d0 b4 d0 b0 d0 bb d0 b8 d0 bc 20 d0 bc d0 b5 d1 .......... .....
20f0: 82 d0 be d0 b4 d1 8b 20 d0 b3 d0 bb d0 be d0 b1 ....... ........
2100: d0 b0 d0 bb d1 8c d0 bd d0 be d0 b3 d0 be 20 d0 .............. .
2110: ba d0 be d0 bd d1 82 d0 b5 d0 ba d1 81 d1 82 d0 ................
2120: b0 0d 0a 20 20 20 20 2f 2f 20 d0 b8 20 d0 b2 d1 ... // .. ...
2130: 81 d1 82 d1 80 d0 be d0 b5 d0 bd d0 bd d1 8b d0 ................
2140: b5 20 d0 bc d0 b5 d1 82 d0 be d0 b4 d1 8b 2e 20 . .............
2150: d0 9f d0 be 20 d0 ba d1 80 d0 b0 d0 b9 d0 bd d0 .... ...........
2160: b5 d0 b9 20 d0 bc d0 b5 d1 80 d0 b5 20 d0 b4 d0 ... ........ ...
2170: bb d1 8f 20 2e d0 a1 d0 be d0 be d0 b1 d1 89 d0 ... ............
2180: b8 d1 82 d1 8c 20 d0 b1 d1 83 d0 b4 d0 b5 d1 82 ..... ..........
2190: 20 d0 bf d1 80 d0 b0 d0 b2 d0 b8 d0 bb d1 8c d0 ...............
21a0: bd d0 be 20 d0 bf d0 be d0 ba d0 b0 d0 b7 d1 8b ... ............
21b0: d0 b2 d0 b0 d1 82 d1 8c 0d 0a 20 20 20 20 69 66 .......... if
21c0: 28 70 2e 74 79 70 65 73 43 6f 75 6e 74 20 3e 20 (p.typesCount >
21d0: 31 29 0d 0a 20 20 20 20 7b 0d 0a 20 20 20 20 20 1).. {..
21e0: 20 20 20 2f 2f 20 d0 9f d0 be d0 b4 d1 81 d0 ba // ..........
21f0: d0 b0 d0 b7 d0 be d0 ba 20 d0 b1 d0 be d0 bb d1 ........ .......
2200: 8c d1 88 d0 b5 20 31 2c 20 d0 bd d0 b0 d0 b4 d0 ..... 1, .......
2210: be 20 d0 bf d0 be d0 bf d1 80 d0 be d0 b1 d0 be . ..............
2220: d0 b2 d0 b0 d1 82 d1 8c 20 d1 83 d0 b4 d0 b0 d0 ........ .......
2230: bb d0 b8 d1 82 d1 8c 20 d0 bb d0 b8 d1 88 d0 bd ....... ........
2240: d0 b8 d0 b5 0d 0a 20 20 20 20 20 20 20 20 2f 2f ...... //
2250: 20 d0 a1 d0 be d1 81 d1 82 d0 b0 d0 b2 d0 b8 d0 ...............
2260: bc 20 d1 81 d0 bf d0 b8 d1 81 d0 be d0 ba 20 d1 . ............ .
2270: 82 d0 b8 d0 bf d0 be d0 b2 2c 20 d0 ba d0 be d1 ........., .....
2280: 82 d0 be d1 80 d1 8b d0 b5 20 d0 bc d0 be d0 b6 ......... ......
2290: d0 bd d0 be 20 d0 b2 d1 8b d0 b7 d1 8b d0 b2 d0 .... ...........
22a0: b0 d1 82 d1 8c 20 d0 ba d0 b0 d0 ba 20 d0 b3 d0 ..... ...... ...
22b0: bb d0 be d0 b1 d0 b0 d0 bb d1 8c d0 bd d1 8b d0 ................
22c0: b5 20 d0 b2 20 d1 8d d1 82 d0 be d0 bc 20 d0 bc . .. ........ ..
22d0: d0 be d0 b4 d1 83 d0 bb d0 b5 0d 0a 20 20 20 20 ............
22e0: 20 20 20 20 76 61 72 20 72 65 53 74 72 20 3d 20 var reStr =
22f0: 22 5e d0 93 d0 bb d0 be d0 b1 d0 b0 d0 bb d1 8c "^..............
2300: d0 bd d1 8b d0 b9 d0 9a d0 be d0 bd d1 82 d0 b5 ................
2310: d0 ba d1 81 d1 82 24 7c 5e d0 92 d1 81 d1 82 d1 ......$|^.......
2320: 80 d0 be d0 b5 d0 bd d0 bd d1 8b d0 b5 d0 a4 d1 ................
2330: 83 d0 bd d0 ba d1 86 d0 b8 d0 b8 d0 af d0 b7 d1 ................
2340: 8b d0 ba d0 b0 24 22 0d 0a 0d 0a 20 20 20 20 20 .....$"....
2350: 20 20 20 76 61 72 20 72 65 20 3d 20 6e 65 77 20 var re = new
2360: 52 65 67 45 78 70 28 72 65 53 74 72 2c 20 27 69 RegExp(reStr, 'i
2370: 27 29 0d 0a 20 20 20 20 20 20 20 20 66 6f 72 28 ').. for(
2380: 76 61 72 20 69 20 3d 20 30 2c 20 63 20 3d 20 70 var i = 0, c = p
2390: 2e 74 79 70 65 73 43 6f 75 6e 74 3b 20 69 20 3c .typesCount; i <
23a0: 20 63 3b 20 29 0d 0a 20 20 20 20 20 20 20 20 7b c; ).. {
23b0: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 .. if
23c0: 28 72 65 2e 74 65 73 74 28 70 2e 74 79 70 65 4e (re.test(p.typeN
23d0: 61 6d 65 28 69 29 29 29 0d 0a 20 20 20 20 20 20 ame(i)))..
23e0: 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 {..
23f0: 20 20 20 20 20 20 20 20 20 70 2e 72 65 6d 6f 76 p.remov
2400: 65 28 69 29 0d 0a 20 20 20 20 20 20 20 20 20 20 e(i)..
2410: 20 20 20 20 20 20 63 2d 2d 0d 0a 20 20 20 20 20 c--..
2420: 20 20 20 20 20 20 20 7d 0d 0a 20 20 20 20 20 20 }..
2430: 20 20 20 20 20 20 65 6c 73 65 0d 0a 20 20 20 20 else..
2440: 20 20 20 20 20 20 20 20 20 20 20 20 69 2b 2b 0d i++.
2450: 0a 20 20 20 20 20 20 20 20 7d 0d 0a 20 20 20 20 . }..
2460: 7d 0d 0a 7d 0d 0a 0d 0a 66 75 6e 63 74 69 6f 6e }..}....function
2470: 20 72 65 70 6c 61 63 65 58 4d 4c 73 79 6d 62 6f replaceXMLsymbo
2480: 6c 73 28 74 65 78 74 29 0d 0a 7b 0d 0a 20 20 20 ls(text)..{..
2490: 20 72 65 74 75 72 6e 20 74 65 78 74 2e 72 65 70 return text.rep
24a0: 6c 61 63 65 28 22 26 22 2c 20 22 26 61 6d 70 3b lace("&", "&
24b0: 22 29 2e 72 65 70 6c 61 63 65 28 22 3c 22 2c 20 ").replace("<",
24c0: 22 26 6c 74 3b 22 29 2e 72 65 70 6c 61 63 65 28 "<").replace(
24d0: 22 3e 22 2c 20 22 26 67 74 3b 22 29 0d 0a 7d 0d ">", ">")..}.
24e0: 0a 0d 0a 2f 2f 20 d0 a4 d1 83 d0 bd d0 ba d1 86 ...// ..........
24f0: d0 b8 d1 8f 20 d0 bf d1 80 d0 b5 d0 be d0 b1 d1 .... ...........
2500: 80 d0 b0 d0 b7 d1 83 d0 b5 d1 82 20 d1 81 d1 82 ........... ....
2510: d0 b0 d0 bd d0 b4 d0 b0 d1 80 d1 82 d0 bd d1 8b ................
2520: d0 b9 20 31 d0 a1 d0 be d0 b2 d1 81 d0 ba d0 b8 .. 1............
2530: d0 b9 20 d1 81 d0 bf d0 b8 d1 81 d0 be d0 ba 20 .. ............
2540: 28 d0 ba d0 be d1 82 d0 be d1 80 d1 8b d0 b9 20 (..............
2550: d1 81 20 7b 2c 7d 29 20 d0 b2 20 78 6d 6c 0d 0a .. {,}) .. xml..
2560: 2f 2f 20 d0 98 d0 b1 d0 be 20 d0 b2 20 78 6d 6c // ...... .. xml
2570: 20 d0 bf d0 be d1 82 d0 be d0 bc 20 d0 ba d0 be .......... ....
2580: d0 b2 d1 8b d1 80 d1 8f d1 82 d1 81 d1 8f 20 d1 .............. .
2590: 81 20 58 50 61 74 68 20 d0 b3 d0 be d1 80 d0 b0 . XPath ........
25a0: d0 b7 d0 b4 d0 be 20 d0 bf d1 80 d0 be d1 89 d0 ...... .........
25b0: b5 0d 0a 66 75 6e 63 74 69 6f 6e 20 6c 69 73 74 ...function list
25c0: 31 43 74 6f 58 6d 6c 28 74 65 78 74 29 0d 0a 7b 1CtoXml(text)..{
25d0: 0d 0a 20 20 20 20 76 61 72 20 72 65 73 20 3d 20 .. var res =
25e0: 5b 5d 0d 0a 20 20 20 20 76 61 72 20 72 65 20 3d [].. var re =
25f0: 20 2f 5c 7b 7c 5c 7d 7c 2c 7c 28 3f 3a 22 5b 5e /\{|\}|,|(?:"[^
2600: 22 5d 2a 22 29 2b 7c 23 5b 5e 5c 2c 5c 7d 5d 2a "]*")+|#[^\,\}]*
2610: 7c 5b 5e 5c 7b 5c 7d 5c 2c 5c 6e 22 5d 2b 2f 67 |[^\{\}\,\n"]+/g
2620: 0d 0a 20 20 20 20 77 68 69 6c 65 28 72 65 2e 65 .. while(re.e
2630: 78 65 63 28 74 65 78 74 29 29 0d 0a 20 20 20 20 xec(text))..
2640: 7b 0d 0a 20 20 20 20 20 20 20 20 73 77 69 74 63 {.. switc
2650: 68 28 52 65 67 45 78 70 2e 6c 61 73 74 4d 61 74 h(RegExp.lastMat
2660: 63 68 29 20 7b 0d 0a 20 20 20 20 20 20 20 20 63 ch) {.. c
2670: 61 73 65 20 27 7b 27 3a 20 20 20 2f 2f 20 d0 9d ase '{': // ..
2680: d0 b0 d1 87 d0 b8 d0 bd d0 b0 d0 b5 d0 bc 20 d1 .............. .
2690: 81 d0 bf d0 b8 d1 81 d0 be d0 ba 0d 0a 20 20 20 .............
26a0: 20 20 20 20 20 20 20 20 20 72 65 73 2e 70 75 73 res.pus
26b0: 68 28 27 3c 6c 3e 27 29 0d 0a 20 20 20 20 20 20 h('<l>')..
26c0: 20 20 09 62 72 65 61 6b 3b 0d 0a 20 20 20 20 20 .break;..
26d0: 20 20 20 63 61 73 65 20 27 7d 27 3a 20 20 20 2f case '}': /
26e0: 2f 20 d0 97 d0 b0 d0 ba d1 80 d1 8b d0 b2 d0 b0 / ..............
26f0: d0 b5 d0 bc 20 d1 81 d0 bf d0 b8 d1 81 d0 be d0 .... ...........
2700: ba 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 ... r
2710: 65 73 2e 70 75 73 68 28 27 3c 2f 6c 3e 27 29 0d es.push('</l>').
2720: 0a 20 20 20 20 20 20 20 20 09 62 72 65 61 6b 3b . .break;
2730: 0d 0a 20 20 20 20 20 20 20 20 63 61 73 65 20 27 .. case '
2740: 2c 27 3a 20 20 20 2f 2f 20 d0 9f d1 80 d0 be d1 ,': // .......
2750: 81 d1 82 d0 be 20 d1 80 d0 b0 d0 b7 d0 b4 d0 b5 ..... ..........
2760: d0 bb d0 b8 d1 82 d0 b5 d0 bb d1 8c 20 d1 81 d0 ............ ...
2770: bf d0 b8 d1 81 d0 ba d0 b0 2c 20 d0 bf d1 80 d0 ........., .....
2780: be d0 bf d1 83 d1 81 d0 ba d0 b0 d0 b5 d0 bc 2c ...............,
2790: 20 d0 bd d0 b5 20 d0 bd d1 83 d0 b6 d0 b5 d0 bd .... ..........
27a0: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 62 72 .. br
27b0: 65 61 6b 0d 0a 20 20 20 20 20 20 20 20 64 65 66 eak.. def
27c0: 61 75 6c 74 3a 20 20 20 20 2f 2f 20 d0 97 d0 bd ault: // ....
27d0: d0 b0 d1 87 d0 b5 d0 bd d0 b8 d1 8f 0d 0a 20 20 ..............
27e0: 20 20 20 20 20 20 20 20 20 20 69 66 28 52 65 67 if(Reg
27f0: 45 78 70 2e 6c 61 73 74 4d 61 74 63 68 2e 6c 65 Exp.lastMatch.le
2800: 6e 67 74 68 29 0d 0a 20 20 20 20 20 20 20 20 20 ngth)..
2810: 20 20 20 20 20 20 20 72 65 73 2e 70 75 73 68 28 res.push(
2820: 27 3c 65 3e 27 20 2b 20 72 65 70 6c 61 63 65 58 '<e>' + replaceX
2830: 4d 4c 73 79 6d 62 6f 6c 73 28 52 65 67 45 78 70 MLsymbols(RegExp
2840: 2e 6c 61 73 74 4d 61 74 63 68 29 20 2b 20 27 3c .lastMatch) + '<
2850: 2f 65 3e 27 29 0d 0a 20 20 20 20 20 20 20 20 20 /e>')..
2860: 20 20 20 65 6c 73 65 0d 0a 20 20 20 20 20 20 20 else..
2870: 20 20 20 20 20 20 20 20 20 72 65 73 2e 70 75 73 res.pus
2880: 68 28 27 3c 65 2f 3e 27 29 0d 0a 20 20 20 20 20 h('<e/>')..
2890: 20 20 20 7d 0d 0a 20 20 20 20 7d 0d 0a 20 20 20 }.. }..
28a0: 20 2f 2f 72 65 74 75 72 6e 20 72 65 73 2e 6a 6f //return res.jo
28b0: 69 6e 28 27 27 29 0d 0a 20 20 20 20 72 65 74 75 in('').. retu
28c0: 72 6e 20 72 65 73 2e 6a 6f 69 6e 28 27 5c 6e 27 rn res.join('\n'
28d0: 29 0d 0a 7d 0d 0a 0d 0a 66 75 6e 63 74 69 6f 6e )..}....function
28e0: 20 63 72 65 61 74 65 44 4f 4d 28 78 6d 6c 29 0d createDOM(xml).
28f0: 0a 7b 0d 0a 20 20 20 20 76 61 72 20 72 65 61 64 .{.. var read
2900: 78 6d 6c 20 3d 20 76 38 4e 65 77 28 27 d0 a7 d1 xml = v8New('...
2910: 82 d0 b5 d0 bd d0 b8 d0 b5 58 4d 4c 27 29 3b 0d .........XML');.
2920: 0a 20 20 20 20 72 65 61 64 78 6d 6c 2e d0 a3 d1 . readxml....
2930: 81 d1 82 d0 b0 d0 bd d0 be d0 b2 d0 b8 d1 82 d1 ................
2940: 8c d0 a1 d1 82 d1 80 d0 be d0 ba d1 83 28 78 6d .............(xm
2950: 6c 29 3b 0d 0a 20 20 20 20 72 65 74 75 72 6e 20 l);.. return
2960: 76 38 4e 65 77 28 27 d0 9f d0 be d1 81 d1 82 d1 v8New('.........
2970: 80 d0 be d0 b8 d1 82 d0 b5 d0 bb d1 8c 44 4f 4d .............DOM
2980: 27 29 2e d0 9f d1 80 d0 be d1 87 d0 b8 d1 82 d0 ')..............
2990: b0 d1 82 d1 8c 28 72 65 61 64 78 6d 6c 29 0d 0a .....(readxml)..
29a0: 7d 0d 0a 0d 0a 66 75 6e 63 74 69 6f 6e 20 66 61 }....function fa
29b0: 74 46 6f 72 6d 54 6f 58 4d 4c 28 66 6f 72 6d 29 tFormToXML(form)
29c0: 0d 0a 7b 0d 0a 20 20 20 20 76 61 72 20 74 65 78 ..{.. var tex
29d0: 74 20 3d 20 d0 97 d0 bd d0 b0 d1 87 d0 b5 d0 bd t = ............
29e0: d0 b8 d0 b5 d0 92 d0 a1 d1 82 d1 80 d0 be d0 ba ................
29f0: d1 83 d0 92 d0 bd d1 83 d1 82 d1 80 28 66 6f 72 ............(for
2a00: 6d 29 2c 20 78 6d 6c 20 3d 20 6c 69 73 74 31 43 m), xml = list1C
2a10: 74 6f 58 6d 6c 28 74 65 78 74 29 0d 0a 20 20 20 toXml(text)..
2a20: 20 72 65 74 75 72 6e 20 7b 74 65 78 74 3a 20 74 return {text: t
2a30: 65 78 74 2c 20 78 6d 6c 3a 20 78 6d 6c 2c 20 64 ext, xml: xml, d
2a40: 6f 6d 3a 20 63 72 65 61 74 65 44 4f 4d 28 78 6d om: createDOM(xm
2a50: 6c 29 7d 0d 0a 7d 0d 0a 0d 0a 66 75 6e 63 74 69 l)}..}....functi
2a60: 6f 6e 20 65 78 74 72 61 63 74 54 79 70 65 73 46 on extractTypesF
2a70: 72 6f 6d 4d 61 69 6e 41 74 74 72 28 64 6f 6d 2c romMainAttr(dom,
2a80: 20 78 70 61 74 68 42 75 69 6c 64 29 0d 0a 7b 0d xpathBuild)..{.
2a90: 0a 20 20 20 20 76 61 72 20 72 65 73 75 6c 74 20 . var result
2aa0: 3d 20 5b 5d 0d 0a 20 20 20 20 74 72 79 7b 0d 0a = [].. try{..
2ab0: 20 20 20 20 76 61 72 20 6e 73 52 65 73 6f 6c 76 var nsResolv
2ac0: 65 72 20 3d 20 76 38 4e 65 77 28 27 d0 a0 d0 b0 er = v8New('....
2ad0: d0 b7 d1 8b d0 bc d0 b5 d0 bd d0 be d0 b2 d0 b0 ................
2ae0: d1 82 d0 b5 d0 bb d1 8c d0 9f d1 80 d0 be d1 81 ................
2af0: d1 82 d1 80 d0 b0 d0 bd d1 81 d1 82 d0 b2 d0 98 ................
2b00: d0 bc d0 b5 d0 bd 44 4f 4d 27 2c 20 64 6f 6d 29 ......DOM', dom)
2b10: 3b 0d 0a 20 20 20 20 2f 2f 20 d0 9f d0 be d0 bb ;.. // ......
2b20: d1 83 d1 87 d0 b8 d0 bc 20 d0 b2 d1 8b d1 80 d0 ........ .......
2b30: b0 d0 b6 d0 b5 d0 bd d0 b8 d0 b5 20 78 70 61 74 ........... xpat
2b40: 68 0d 0a 20 20 20 20 76 61 72 20 78 70 61 74 68 h.. var xpath
2b50: 20 3d 20 78 70 61 74 68 42 75 69 6c 64 28 64 6f = xpathBuild(do
2b60: 6d 2c 20 6e 73 52 65 73 6f 6c 76 65 72 29 0d 0a m, nsResolver)..
2b70: 20 20 20 20 76 61 72 20 64 65 66 41 74 74 72 54 var defAttrT
2b80: 79 70 65 73 49 74 20 3d 20 64 6f 6d 2e d0 92 d1 ypesIt = dom....
2b90: 8b d1 87 d0 b8 d1 81 d0 bb d0 b8 d1 82 d1 8c d0 ................
2ba0: 92 d1 8b d1 80 d0 b0 d0 b6 d0 b5 d0 bd d0 b8 d0 ................
2bb0: b5 58 50 61 74 68 28 78 70 61 74 68 2c 20 64 6f .XPath(xpath, do
2bc0: 6d 2c 20 6e 73 52 65 73 6f 6c 76 65 72 2c 20 d0 m, nsResolver, .
2bd0: a2 d0 b8 d0 bf d0 a0 d0 b5 d0 b7 d1 83 d0 bb d1 ................
2be0: 8c d1 82 d0 b0 d1 82 d0 b0 44 4f 4d 58 50 61 74 .........DOMXPat
2bf0: 68 2e d0 a3 d0 bf d0 be d1 80 d1 8f d0 b4 d0 be h...............
2c00: d1 87 d0 b5 d0 bd d0 bd d1 8b d0 b9 d0 98 d1 82 ................
2c10: d0 b5 d1 80 d0 b0 d1 82 d0 be d1 80 d0 a3 d0 b7 ................
2c20: d0 bb d0 be d0 b2 29 0d 0a 20 20 20 20 2f 2f 20 ......).. //
2c30: d0 bf d0 b5 d1 80 d0 b5 d0 b1 d0 b5 d1 80 d0 b5 ................
2c40: d0 bc 20 d0 bf d0 be d0 bb d1 83 d1 87 d0 b5 d0 .. .............
2c50: bd d0 bd d1 8b d0 b5 20 d1 83 d0 b7 d0 bb d1 8b ....... ........
2c60: 0d 0a 20 20 20 20 66 6f 72 28 3b 3b 29 20 7b 0d .. for(;;) {.
2c70: 0a 20 20 20 20 20 20 20 20 76 61 72 20 6e 6f 64 . var nod
2c80: 65 20 3d 20 64 65 66 41 74 74 72 54 79 70 65 73 e = defAttrTypes
2c90: 49 74 2e d0 9f d0 be d0 bb d1 83 d1 87 d0 b8 d1 It..............
2ca0: 82 d1 8c d0 a1 d0 bb d0 b5 d0 b4 d1 83 d1 8e d1 ................
2cb0: 89 d0 b8 d0 b9 28 29 0d 0a 20 20 20 20 20 20 20 .....()..
2cc0: 20 69 66 28 21 6e 6f 64 65 29 0d 0a 20 20 20 20 if(!node)..
2cd0: 20 20 20 20 20 20 20 20 62 72 65 61 6b 0d 0a 20 break..
2ce0: 20 20 20 20 20 20 20 69 66 28 6e 6f 64 65 2e d0 if(node..
2cf0: 98 d0 bc d1 8f d0 a3 d0 b7 d0 bb d0 b0 20 3d 3d ............. ==
2d00: 20 27 65 27 20 26 26 20 6e 6f 64 65 2e d0 a2 d0 'e' && node....
2d10: b5 d0 ba d1 81 d1 82 d0 be d0 b2 d0 be d0 b5 d0 ................
2d20: a1 d0 be d0 b4 d0 b5 d1 80 d0 b6 d0 b8 d0 bc d0 ................
2d30: be d0 b5 20 21 3d 20 27 22 23 22 27 29 0d 0a 20 ... != '"#"')..
2d40: 20 20 20 20 20 20 20 20 20 20 20 72 65 73 75 6c resul
2d50: 74 2e 70 75 73 68 28 27 7b 27 20 2b 20 6e 6f 64 t.push('{' + nod
2d60: 65 2e d0 a2 d0 b5 d0 ba d1 81 d1 82 d0 be d0 b2 e...............
2d70: d0 be d0 b5 d0 a1 d0 be d0 b4 d0 b5 d1 80 d0 b6 ................
2d80: d0 b8 d0 bc d0 be d0 b5 2e 74 6f 55 70 70 65 72 .........toUpper
2d90: 43 61 73 65 28 29 20 2b 20 27 7d 27 29 20 2f 2f Case() + '}') //
2da0: 20 d0 94 d0 be d0 b1 d0 b0 d0 b2 d0 b8 d0 bc 20 ..............
2db0: 67 75 69 64 20 d1 82 d0 b8 d0 bf d0 b0 20 d0 b2 guid ........ ..
2dc0: 20 d1 81 d0 bf d0 b8 d1 81 d0 be d0 ba 0d 0a 20 ..............
2dd0: 20 20 20 7d 0d 0a 20 20 20 20 7d 63 61 74 63 68 }.. }catch
2de0: 28 65 29 7b 7d 0d 0a 20 20 20 20 72 65 74 75 72 (e){}.. retur
2df0: 6e 20 72 65 73 75 6c 74 0d 0a 7d 0d 0a 0d 0a 66 n result..}....f
2e00: 75 6e 63 74 69 6f 6e 20 66 69 6e 64 46 61 74 46 unction findFatF
2e10: 6f 72 6d 4d 61 69 6e 41 74 74 72 28 66 6f 72 6d ormMainAttr(form
2e20: 29 0d 0a 7b 0d 0a 20 20 20 20 2f 2f 64 65 62 75 )..{.. //debu
2e30: 67 67 65 72 0d 0a 20 20 20 20 2f 2f 20 d0 9f d1 gger.. // ...
2e40: 80 d0 b5 d0 be d0 b1 d1 80 d0 b0 d0 b7 d1 83 d0 ................
2e50: b5 d0 bc 20 d1 84 d0 be d1 80 d0 bc d1 83 20 d0 ... .......... .
2e60: b8 d0 b7 20 31 d0 a1 d0 b3 d0 be 20 d1 81 d0 bf ... 1...... ....
2e70: d0 b8 d1 81 d0 ba d0 b0 20 d0 b2 20 78 6d 6c 2c ........ .. xml,
2e80: 20 d0 b8 d0 b1 d0 be 20 d0 b5 d0 b3 d0 be 20 d0 ...... ...... .
2e90: b0 d0 bd d0 b0 d0 bb d0 b8 d0 b7 d0 b8 d1 80 d0 ................
2ea0: be d0 b2 d0 b0 d1 82 d1 8c 20 d0 bf d1 80 d0 be ......... ......
2eb0: d1 89 d0 b5 0d 0a 20 20 20 20 76 61 72 20 66 6f ...... var fo
2ec0: 72 6d 20 3d 20 66 61 74 46 6f 72 6d 54 6f 58 4d rm = fatFormToXM
2ed0: 4c 28 66 6f 72 6d 29 0d 0a 20 20 20 20 2f 2f 4d L(form).. //M
2ee0: 65 73 73 61 67 65 28 66 6f 72 6d 2e 78 6d 6c 29 essage(form.xml)
2ef0: 0d 0a 20 20 20 20 72 65 74 75 72 6e 20 65 78 74 .. return ext
2f00: 72 61 63 74 54 79 70 65 73 46 72 6f 6d 4d 61 69 ractTypesFromMai
2f10: 6e 41 74 74 72 28 66 6f 72 6d 2e 64 6f 6d 2c 20 nAttr(form.dom,
2f20: 66 75 6e 63 74 69 6f 6e 28 64 6f 6d 2c 20 6e 73 function(dom, ns
2f30: 29 20 7b 0d 0a 20 20 20 20 20 20 20 20 76 61 72 ) {.. var
2f40: 20 64 65 66 41 74 74 72 49 44 20 3d 20 64 6f 6d defAttrID = dom
2f50: 2e d0 92 d1 8b d1 87 d0 b8 d1 81 d0 bb d0 b8 d1 ................
2f60: 82 d1 8c d0 92 d1 8b d1 80 d0 b0 d0 b6 d0 b5 d0 ................
2f70: bd d0 b8 d0 b5 58 50 61 74 68 28 22 2f 6c 5b 31 .....XPath("/l[1
2f80: 5d 2f 6c 5b 31 5d 2f 6c 5b 32 5d 2f 6c 5b 31 5d ]/l[1]/l[2]/l[1]
2f90: 2f 65 5b 31 5d 22 2c 20 64 6f 6d 2c 20 6e 73 2c /e[1]", dom, ns,
2fa0: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 d0 a2 .. ..
2fb0: d0 b8 d0 bf d0 a0 d0 b5 d0 b7 d1 83 d0 bb d1 8c ................
2fc0: d1 82 d0 b0 d1 82 d0 b0 44 4f 4d 58 50 61 74 68 ........DOMXPath
2fd0: 2e d0 9f d0 b5 d1 80 d0 b2 d1 8b d0 b9 d0 a3 d0 ................
2fe0: bf d0 be d1 80 d1 8f d0 b4 d0 be d1 87 d0 b5 d0 ................
2ff0: bd d0 bd d1 8b d0 b9 d0 a3 d0 b7 d0 b5 d0 bb 29 ...............)
3000: 2e d0 9e d0 b4 d0 b8 d0 bd d0 be d1 87 d0 bd d1 ................
3010: 8b d0 b9 d0 a3 d0 b7 d0 b5 d0 bb d0 97 d0 bd d0 ................
3020: b0 d1 87 d0 b5 d0 bd d0 b8 d0 b5 2e d0 a2 d0 b5 ................
3030: d0 ba d1 81 d1 82 d0 be d0 b2 d0 be d0 b5 d0 a1 ................
3040: d0 be d0 b4 d0 b5 d1 80 d0 b6 d0 b8 d0 bc d0 be ................
3050: d0 b5 0d 0a 20 20 20 20 20 20 20 20 72 65 74 75 .... retu
3060: 72 6e 20 27 2f 6c 5b 31 5d 2f 6c 5b 31 5d 2f 6c rn '/l[1]/l[1]/l
3070: 5b 32 5d 2f 6c 5b 32 5d 2f 6c 5b 6c 5b 31 5d 2f [2]/l[2]/l[l[1]/
3080: 65 5b 31 5d 5b 2e 3d 22 27 20 2b 20 64 65 66 41 e[1][.="' + defA
3090: 74 74 72 49 44 20 2b 20 27 22 5d 5d 2f 6c 5b 32 ttrID + '"]]/l[2
30a0: 5d 2f 6c 5b 31 5d 2f 2a 27 0d 0a 20 20 20 20 7d ]/l[1]/*'.. }
30b0: 29 0d 0a 7d 0d 0a 0d 0a 2f 2f 20 d0 ad d1 82 d0 )..}....// .....
30c0: be 20 d0 b8 d0 b7 d0 b2 d0 bb d0 b5 d1 87 d0 b5 . ..............
30d0: d0 bd d0 b8 d0 b5 20 d1 82 d0 b8 d0 bf d0 be d0 ...... .........
30e0: b2 20 d0 be d1 81 d0 bd d0 be d0 b2 d0 bd d0 be . ..............
30f0: d0 b3 d0 be 20 d1 80 d0 b5 d0 ba d0 b2 d0 b8 d0 .... ...........
3100: b7 d0 b8 d1 82 d0 b0 20 d1 83 d0 bf d1 80 d0 b0 ....... ........
3110: d0 b2 d0 bb d1 8f d0 b5 d0 bc d0 be d0 b9 20 d1 .............. .
3120: 84 d0 be d1 80 d0 bc d1 8b 2e 20 d0 9f d0 be d0 .......... .....
3130: ba d0 b0 20 d0 bd d0 b5 20 d0 b8 d1 81 d0 bf d0 ... .... .......
3140: be d0 bb d1 8c d0 b7 d1 83 d0 b5 d1 82 d1 81 d1 ................
3150: 8f 2c 0d 0a 2f 2f 20 d0 bd d0 be 20 d0 bd d0 b0 .,..// .... ....
3160: 20 d0 b1 d1 83 d0 b4 d1 83 d1 89 d0 b5 d0 b5 20 ..............
3170: d0 b2 d0 be d0 b7 d0 bc d0 be d0 b6 d0 bd d0 be ................
3180: 20 d0 bf d1 80 d0 b8 d0 b3 d0 be d0 b4 d0 b8 d1 ...............
3190: 82 d1 81 d1 8f 2e 0d 0a 66 75 6e 63 74 69 6f 6e ........function
31a0: 20 6d 61 6e 61 67 65 64 46 6f 72 6d 54 6f 58 4d managedFormToXM
31b0: 4c 28 6d 64 4f 62 6a 2c 20 6d 64 50 72 6f 70 29 L(mdObj, mdProp)
31c0: 0d 0a 7b 0d 0a 20 20 20 20 76 61 72 20 66 69 6c ..{.. var fil
31d0: 65 20 3d 20 6d 64 4f 62 6a 2e 67 65 74 45 78 74 e = mdObj.getExt
31e0: 50 72 6f 70 28 6d 64 50 72 6f 70 2e 69 64 29 2e Prop(mdProp.id).
31f0: 73 61 76 65 54 6f 46 69 6c 65 28 29 0d 0a 20 20 saveToFile()..
3200: 20 20 66 69 6c 65 2e 73 65 65 6b 28 33 2c 20 66 file.seek(3, f
3210: 73 42 65 67 69 6e 29 20 20 20 2f 2f 20 d0 9f d0 sBegin) // ...
3220: b5 d1 80 d0 b2 d1 8b d0 b5 20 d1 82 d1 80 d0 b8 ......... ......
3230: 20 d0 b1 d0 b0 d0 b9 d1 82 d0 b0 20 2d 20 42 4f .......... - BO
3240: 4d 0d 0a 20 20 20 20 76 61 72 20 74 65 78 74 20 M.. var text
3250: 3d 20 66 69 6c 65 2e 67 65 74 53 74 72 69 6e 67 = file.getString
3260: 28 64 73 55 74 66 38 29 2c 20 78 6d 6c 20 3d 20 (dsUtf8), xml =
3270: 6c 69 73 74 31 43 74 6f 58 6d 6c 28 74 65 78 74 list1CtoXml(text
3280: 29 0d 0a 20 20 20 20 72 65 74 75 72 6e 20 7b 74 ).. return {t
3290: 65 78 74 3a 20 74 65 78 74 2c 20 78 6d 6c 3a 20 ext: text, xml:
32a0: 78 6d 6c 2c 20 64 6f 6d 3a 20 63 72 65 61 74 65 xml, dom: create
32b0: 44 4f 4d 28 78 6d 6c 29 7d 0d 0a 7d 0d 0a 0d 0a DOM(xml)}..}....
32c0: 66 75 6e 63 74 69 6f 6e 20 66 69 6e 64 4d 61 6e function findMan
32d0: 67 65 64 46 6f 72 6d 4d 61 69 6e 41 74 74 72 28 gedFormMainAttr(
32e0: 77 6e 64 29 0d 0a 7b 0d 0a 20 20 20 20 76 61 72 wnd)..{.. var
32f0: 20 66 6f 72 6d 20 3d 20 6d 61 6e 61 67 65 64 46 form = managedF
3300: 6f 72 6d 54 6f 58 4d 4c 28 77 6e 64 2e 6d 64 4f ormToXML(wnd.mdO
3310: 62 6a 2c 20 77 6e 64 2e 6d 64 50 72 6f 70 29 0d bj, wnd.mdProp).
3320: 0a 20 20 20 20 72 65 74 75 72 6e 20 65 78 74 72 . return extr
3330: 61 63 74 54 79 70 65 73 46 72 6f 6d 4d 61 69 6e actTypesFromMain
3340: 41 74 74 72 28 66 6f 72 6d 2e 64 6f 6d 2c 20 66 Attr(form.dom, f
3350: 75 6e 63 74 69 6f 6e 28 29 7b 72 65 74 75 72 6e unction(){return
3360: 20 27 2f 6c 2f 6c 5b 32 5d 2f 6c 5b 2a 5b 31 38 '/l/l[2]/l[*[18
3370: 5d 5b 2e 3d 22 31 22 5d 5d 2f 2a 5b 39 5d 2f 6c ][.="1"]]/*[9]/l
3380: 5b 31 5d 2f 2a 27 7d 29 0d 0a 7d 0d 0a [1]/*'})..}..