Hex Artifact Content Вы: nobody
Вход

Artifact 3f79a22813e07538d4580b08edec35f18830f186:

Attachment "scriptdev.js" to ticket [05faeed476] added by kuntashov 2011-08-23 12:51:35.
0000: 24 65 6e 67 69 6e 65 20 4a 53 63 72 69 70 74 0d  $engine JScript.
0010: 0a 24 75 6e 61 6d 65 20 73 63 72 69 70 74 64 65  .$uname scriptde
0020: 76 0d 0a 24 64 6e 61 6d 65 20 d0 e0 e7 f0 e0 e1  v..$dname ......
0030: ee f2 ea e0 20 f1 ea f0 e8 ef f2 ee e2 0d 0a 20  .... .......... 
0040: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0050: 0d 0a 2f 2a 20 0d 0a 20 2a 20 c0 e2 f2 ee f0 3a  ../* .. * .....:
0060: 20 0d 0a 20 2a 0d 0a 20 2a 20 09 09 c0 eb e5 ea   .. *.. * ......
0070: f1 e0 ed e4 f0 20 ca f3 ed f2 e0 f8 ee e2 2c 20  ..... ........, 
0080: 6b 75 6e 74 61 73 68 6f 76 40 63 6f 6d 70 61 75  kuntashov@compau
0090: 64 2e 72 75 0d 0a 20 2a 0d 0a 20 2a 20 c4 e0 f2  d.ru.. *.. * ...
00a0: e0 20 f1 ee e7 e4 e0 ed e8 ff 3a 0d 0a 20 2a 0d  . ........:.. *.
00b0: 0a 20 2a 09 09 31 38 2e 30 38 2e 32 30 31 31 0d  . *..18.08.2011.
00c0: 0a 20 2a 20 0d 0a 20 2a 20 ce ef e8 f1 e0 ed e8  . * .. * .......
00d0: e5 3a 20 0d 0a 20 2a 0d 0a 20 2a 20 09 09 2d 20  .: .. *.. * ..- 
00e0: c4 ee e1 e0 e2 eb ff e5 f2 20 e2 20 ea ee ed f2  ......... . ....
00f0: e5 ea f1 f2 ed ee e5 20 ec e5 ed fe 20 ee ea ed  ....... .... ...
0100: e0 20 d1 ed e5 e3 ee ef e0 f2 e0 20 ef f3 ed ea  . ......... ....
0110: f2 20 22 d0 e5 e4 e0 ea f2 e8 f0 ee e2 e0 f2 fc  . ".............
0120: 20 f1 ea f0 e8 ef f2 22 2c 0d 0a 20 2a 09 09 ef   ......",.. *...
0130: f0 e8 20 e2 fb e1 ee f0 e5 20 ea ee f2 ee f0 ee  .. ...... ......
0140: e3 ee 20 e8 f1 f5 ee e4 ed fb e9 20 ea ee e4 20  .. ........ ... 
0150: f1 ea f0 e8 ef f2 e0 20 ee f2 ea f0 fb e2 e0 e5  ....... ........
0160: f2 f1 ff 20 e2 20 f3 f1 f2 e0 ed ee e2 eb e5 ed  ... . ..........
0170: ed ee ec 20 e2 20 ed e0 f1 f2 f0 ee e9 ea e0 f5  ... . ..........
0180: 0d 0a 20 2a 09 09 f2 e5 ea f1 f2 ee e2 ee ec 20  .. *........... 
0190: f0 e5 e4 e0 ea f2 ee f0 e5 2e 0d 0a 20 2a 0d 0a  ............ *..
01a0: 20 2a 09 09 2d 20 ce f2 f1 eb e5 e6 e8 e2 e0 e5   *..- ..........
01b0: f2 20 e8 e7 ec e5 ed e5 ed e8 ff 20 e2 20 ee f2  . ......... . ..
01c0: ea f0 fb f2 ee ec 20 ed e0 20 f0 e5 e4 e0 ea f2  ...... .. ......
01d0: e8 f0 ee e2 e0 ed e8 e5 20 f4 e0 e9 eb e5 20 f1  ........ ..... .
01e0: ea f0 e8 ef f2 e0 20 e8 20 e0 e2 f2 ee ec e0 f2  ...... . .......
01f0: e8 f7 e5 f1 ea e8 20 0d 0a 20 2a 09 09 ef e5 f0  ...... .. *.....
0200: e5 e7 e0 e3 f0 f3 e6 e0 e5 f2 20 e5 e3 ee 2c 20  .......... ..., 
0210: f2 e0 ea e8 ec 20 ee e1 f0 e0 e7 ee ec 2c 20 e8  ..... ......., .
0220: e7 ec e5 ed e5 ed e8 ff 2c 20 e2 ed e5 f1 e5 ed  ........, ......
0230: ed fb e5 20 e2 20 f1 ea f0 e8 ef f2 20 e2 f1 f2  ... . ...... ...
0240: f3 ef e0 fe f2 20 f1 f0 e0 e7 f3 20 e1 e5 e7 0d  ..... ..... ....
0250: 0a 20 2a 09 09 ed e5 ee e1 f5 ee e4 e8 ec ee f1  . *.............
0260: f2 e8 20 ef e5 f0 e5 e7 e0 e3 f0 f3 e7 ea e8 20  .. ............ 
0270: f1 ea f0 e8 ef f2 e0 2e 0d 0a 20 2a 2f 0d 0a 0d  .......... */...
0280: 0a 2f 2a 20 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ./* ************
0290: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
02a0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
02b0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 0d 0a  **************..
02c0: 20 2a 20 20 cd e0 f1 f2 f0 ee e9 ea e8 20 f1 ea   *  ......... ..
02d0: f0 e8 ef f2 e0 2e 0d 0a 20 2a 20 2a 2a 2a 2a 2a  ........ * *****
02e0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
02f0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
0300: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
0310: 2a 2a 2a 2a 20 2a 2f 0d 0a 0d 0a 2f 2f 20 c8 ed  **** */....// ..
0320: f2 e5 f0 e2 e0 eb 20 ef f0 ee e2 e5 f0 ea e8 20  ...... ........ 
0330: f0 e5 e4 e0 ea f2 e8 f0 f3 e5 ec fb f5 20 f4 e0  ............. ..
0340: e9 eb ee e2 2e 0d 0a 76 61 72 20 63 68 65 63 6b  .......var check
0350: 49 6e 74 65 72 76 61 6c 20 3d 20 32 3b 20 0d 0a  Interval = 2; ..
0360: 0d 0a 2f 2f 20 d1 ef e8 f1 ee ea 20 f0 e5 e4 e0  ..// ...... ....
0370: ea f2 e8 f0 f3 e5 ec fb f5 20 f4 e0 e9 eb ee e2  ......... ......
0380: 20 f1 ea f0 e8 ef f2 ee e2 2e 0d 0a 76 61 72 20   ...........var 
0390: 64 65 76 46 69 6c 65 73 20 3d 20 6e 65 77 20 41  devFiles = new A
03a0: 72 72 61 79 28 29 3b 0d 0a 0d 0a 2f 2f 20 ca ee  rray();....// ..
03b0: ec e0 ed e4 e0 20 e4 eb ff 20 e7 e0 ef f3 f1 ea  ..... ... ......
03c0: e0 20 f0 e5 e4 e0 ea f2 ee f0 e0 20 f1 ea f0 e8  . ......... ....
03d0: ef f2 e0 2e 0d 0a 76 61 72 20 72 75 6e 45 64 69  ......var runEdi
03e0: 74 6f 72 43 6d 64 20 3d 20 27 22 44 3a 5c 5c cf  torCmd = '"D:\\.
03f0: f0 ee e5 ea f2 fb 5c 5c 44 72 6f 70 62 6f 78 5c  ......\\Dropbox\
0400: 5c 41 70 70 73 5c 5c 4e 6f 74 65 70 61 64 2b 2b  \Apps\\Notepad++
0410: 50 6f 72 74 61 62 6c 65 5c 5c 4e 6f 74 65 70 61  Portable\\Notepa
0420: 64 2b 2b 50 6f 72 74 61 62 6c 65 2e 65 78 65 22  d++Portable.exe"
0430: 20 22 25 31 22 27 3b 2f 2f 27 6e 6f 74 65 70 61   "%1"';//'notepa
0440: 64 2e 65 78 65 20 22 25 31 22 27 3b 0d 0a 0d 0a  d.exe "%1"';....
0450: 2f 2a 20 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  /* *************
0460: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
0470: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
0480: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 0d 0a 20  *************.. 
0490: 2a 20 20 cc e0 ea f0 ee f1 fb 2e 0d 0a 20 2a 20  *  .......... * 
04a0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
04b0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
04c0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
04d0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 20 2a 2f 0d 0a 0d 0a  ********* */....
04e0: 20 66 75 6e 63 74 69 6f 6e 20 6d 61 63 72 6f 73   function macros
04f0: ce f2 ea f0 fb f2 fc 28 29 0d 0a 20 7b 0d 0a 09  .......().. {...
0500: 4d 65 73 73 61 67 65 28 22 d2 e5 f1 f2 22 29 3b  Message("....");
0510: 0d 0a 20 7d 0d 0a 0d 0a 2f 2a 20 2a 2a 2a 2a 2a  .. }..../* *****
0520: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
0530: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
0540: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
0550: 2a 2a 2a 2a 2a 0d 0a 20 2a 20 20 d0 e5 e0 eb e8  *****.. *  .....
0560: e7 e0 f6 e8 ff 20 f4 f3 ed ea f6 e8 ee ed e0 eb  ..... ..........
0570: e0 20 f1 ea f0 e8 ef f2 e0 2e 0d 0a 20 2a 20 2a  . .......... * *
0580: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
0590: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
05a0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
05b0: 2a 2a 2a 2a 2a 2a 2a 2a 20 2a 2f 0d 0a 0d 0a 2f  ******** */..../
05c0: 2f 20 c2 f0 e5 ec ff 20 ef ee f1 eb e5 e4 ed e5  / ..... ........
05d0: e9 20 ef f0 ee e2 e5 f0 ea e8 0d 0a 76 61 72 20  . ..........var 
05e0: 6c 61 73 74 43 68 65 63 6b 54 69 6d 65 20 3d 20  lastCheckTime = 
05f0: 6e 65 77 20 44 61 74 65 28 29 2e 67 65 74 54 69  new Date().getTi
0600: 6d 65 28 29 20 2f 20 31 30 30 30 3b 0d 0a 0d 0a  me() / 1000;....
0610: 2f 2f 20 cf ee e4 ea eb fe f7 e0 e5 ec 20 e3 eb  // .......... ..
0620: ee e1 e0 eb fc ed fb e5 20 ea ee ed f2 e5 ea f1  ........ .......
0630: f2 fb 2e 0d 0a 61 64 64 69 6e 73 2e 62 79 55 6e  .....addins.byUn
0640: 69 71 75 65 4e 61 6d 65 28 22 67 6c 6f 62 61 6c  iqueName("global
0650: 22 29 2e 6f 62 6a 65 63 74 2e 63 6f 6e 6e 65 63  ").object.connec
0660: 74 47 6c 6f 62 61 6c 73 28 53 65 6c 66 53 63 72  tGlobals(SelfScr
0670: 69 70 74 29 3b 0d 0a 0d 0a 66 75 6e 63 74 69 6f  ipt);....functio
0680: 6e 20 44 65 73 69 67 6e 65 72 3a 3a 6f 6e 49 64  n Designer::onId
0690: 6c 65 28 29 0d 0a 7b 0d 0a 09 76 61 72 20 63 75  le()..{...var cu
06a0: 72 54 69 6d 65 20 3d 20 6e 65 77 20 44 61 74 65  rTime = new Date
06b0: 28 29 2e 67 65 74 54 69 6d 65 28 29 20 2f 20 31  ().getTime() / 1
06c0: 30 30 30 3b 0d 0a 09 69 66 20 28 63 75 72 54 69  000;...if (curTi
06d0: 6d 65 20 2d 20 6c 61 73 74 43 68 65 63 6b 54 69  me - lastCheckTi
06e0: 6d 65 20 3e 20 63 68 65 63 6b 49 6e 74 65 72 76  me > checkInterv
06f0: 61 6c 29 20 0d 0a 20 20 20 20 7b 0d 0a 20 20 20  al) ..    {..   
0700: 20 20 20 20 20 43 68 65 63 6b 46 69 6c 65 73 28       CheckFiles(
0710: 29 3b 0d 0a 20 20 20 20 7d 0d 0a 7d 0d 0a 0d 0a  );..    }..}....
0720: 66 75 6e 63 74 69 6f 6e 20 43 68 65 63 6b 46 69  function CheckFi
0730: 6c 65 73 28 29 20 0d 0a 7b 0d 0a 20 20 20 20 66  les() ..{..    f
0740: 6f 72 28 76 61 72 20 69 3d 30 3b 20 69 3c 64 65  or(var i=0; i<de
0750: 76 46 69 6c 65 73 2e 6c 65 6e 67 74 68 3b 20 69  vFiles.length; i
0760: 2b 2b 29 20 0d 0a 09 7b 0d 0a 20 20 20 20 20 20  ++) ...{..      
0770: 20 20 69 66 20 28 64 65 76 46 69 6c 65 73 5b 69    if (devFiles[i
0780: 5d 2e 43 68 65 63 6b 49 66 4d 6f 64 69 66 69 65  ].CheckIfModifie
0790: 64 28 29 29 0d 0a 20 20 20 20 20 20 20 20 20 20  d())..          
07a0: 20 20 64 65 76 46 69 6c 65 73 5b 69 5d 2e 52 65    devFiles[i].Re
07b0: 6c 6f 61 64 28 29 3b 0d 0a 20 20 20 20 7d 0d 0a  load();..    }..
07c0: 7d 0d 0a 0d 0a 66 75 6e 63 74 69 6f 6e 20 67 65  }....function ge
07d0: 74 4d 6f 64 69 66 69 63 61 74 69 6f 6e 53 74 61  tModificationSta
07e0: 6d 70 28 66 29 20 0d 0a 7b 0d 0a 20 20 20 20 69  mp(f) ..{..    i
07f0: 66 20 28 66 2e d1 f3 f9 e5 f1 f2 e2 f3 e5 f2 28  f (f...........(
0800: 29 29 0d 0a 20 20 20 20 7b 0d 0a 20 20 20 20 20  ))..    {..     
0810: 20 20 20 72 65 74 75 72 6e 20 6e 65 77 20 44 61     return new Da
0820: 74 65 28 66 2e cf ee eb f3 f7 e8 f2 fc c2 f0 e5  te(f............
0830: ec ff c8 e7 ec e5 ed e5 ed e8 ff 28 29 29 2e 67  ...........()).g
0840: 65 74 54 69 6d 65 28 29 3b 20 0d 0a 20 20 20 20  etTime(); ..    
0850: 7d 0d 0a 0d 0a 20 20 20 20 72 65 74 75 72 6e 20  }....    return 
0860: 6e 75 6c 6c 3b 0d 0a 7d 0d 0a 0d 0a 66 75 6e 63  null;..}....func
0870: 74 69 6f 6e 20 4f 6e 53 6e 65 67 6f 70 61 74 57  tion OnSnegopatW
0880: 6e 64 45 64 69 74 53 63 72 69 70 74 4d 65 6e 75  ndEditScriptMenu
0890: 49 74 65 6d 28 63 75 72 72 65 6e 74 52 6f 77 29  Item(currentRow)
08a0: 0d 0a 7b 0d 0a 09 76 61 72 20 69 73 41 64 64 69  ..{...var isAddi
08b0: 6e 20 3d 20 63 75 72 72 65 6e 74 52 6f 77 2e 50  n = currentRow.P
08c0: 69 63 74 75 72 65 20 21 3d 20 30 3b 0d 0a 09 0d  icture != 0;....
08d0: 0a 09 69 66 20 28 21 69 73 41 64 64 69 6e 29 20  ..if (!isAddin) 
08e0: 0d 0a 09 09 72 65 74 75 72 6e 3b 0d 0a 0d 0a 09  ....return;.....
08f0: 76 61 72 20 61 64 64 69 6e 4f 62 6a 65 63 74 20  var addinObject 
0900: 3d 20 63 75 72 72 65 6e 74 52 6f 77 2e 6f 62 6a  = currentRow.obj
0910: 65 63 74 3b 09 09 0d 0a 09 76 61 72 20 66 75 6c  ect;.....var ful
0920: 6c 50 61 74 68 20 3d 20 47 65 74 41 64 64 69 6e  lPath = GetAddin
0930: 46 69 6c 65 50 61 74 68 28 61 64 64 69 6e 4f 62  FilePath(addinOb
0940: 6a 65 63 74 29 3b 0d 0a 09 76 61 72 20 63 6f 6d  ject);...var com
0950: 6d 61 6e 64 20 3d 20 72 75 6e 45 64 69 74 6f 72  mand = runEditor
0960: 43 6d 64 2e 72 65 70 6c 61 63 65 28 2f 25 31 2f  Cmd.replace(/%1/
0970: 2c 20 66 75 6c 6c 50 61 74 68 29 3b 0d 0a 09 0d  , fullPath);....
0980: 0a 09 64 65 76 46 69 6c 65 73 2e 70 75 73 68 28  ..devFiles.push(
0990: 6e 65 77 20 41 64 64 69 6e 49 6e 66 6f 28 61 64  new AddinInfo(ad
09a0: 64 69 6e 4f 62 6a 65 63 74 29 29 3b 0d 0a 09 0d  dinObject));....
09b0: 0a 09 c7 e0 ef f3 f1 f2 e8 f2 fc cf f0 e8 eb ee  ................
09c0: e6 e5 ed e8 e5 28 63 6f 6d 6d 61 6e 64 29 3b 0d  .....(command);.
09d0: 0a 7d 0d 0a 0d 0a 66 75 6e 63 74 69 6f 6e 20 49  .}....function I
09e0: 6e 69 74 53 63 72 69 70 74 41 6e 64 52 75 6e 28  nitScriptAndRun(
09f0: 29 0d 0a 7b 0d 0a 09 2f 2a 20 cf ee ea e0 20 e7  )..{.../* .... .
0a00: e0 e3 eb f3 f8 ea e0 2c 20 ed e0 f1 f2 f0 ee e5  ......., .......
0a10: ed ed e0 ff 20 ed e0 20 ec ee e5 20 ee ea f0 f3  .... .. ... ....
0a20: e6 e5 ed e8 e5 2e 20 2a 2f 0d 0a 09 2f 2f 72 75  ...... */...//ru
0a30: 6e 45 64 69 74 6f 72 43 6d 64 20 3d 20 27 22 44  nEditorCmd = '"D
0a40: 3a 5c 44 72 6f 70 62 6f 78 5c 41 70 70 73 5c 4e  :\Dropbox\Apps\N
0a50: 6f 74 65 70 61 64 2b 2b 50 6f 72 74 61 62 6c 65  otepad++Portable
0a60: 5c 4e 6f 74 65 70 61 64 2b 2b 50 6f 72 74 61 62  \Notepad++Portab
0a70: 6c 65 2e 65 78 65 22 20 22 25 31 22 27 3b 0d 0a  le.exe" "%1"';..
0a80: 09 2f 2f 64 65 76 46 69 6c 65 73 2e 70 75 73 68  .//devFiles.push
0a90: 28 6e 65 77 20 41 64 64 69 6e 49 6e 66 6f 28 22  (new AddinInfo("
0aa0: 44 3a 5c 5c 6b 75 6e 74 61 73 68 6f 76 5c 5c 44  D:\\kuntashov\\D
0ab0: 72 6f 70 62 6f 78 5c 5c 41 70 70 73 5c 5c 53 6e  ropbox\\Apps\\Sn
0ac0: 65 67 6f 70 61 74 5c 5c 53 6e 65 67 6f 70 61 74  egopat\\Snegopat
0ad0: 52 65 70 6f 5c 5c 73 63 72 69 70 74 73 5c 5c 68  Repo\\scripts\\h
0ae0: 65 6c 6c 6f 2e 6a 73 22 29 29 3b 09 0d 0a 09 0d  ello.js"));.....
0af0: 0a 09 76 61 72 20 73 6e 65 67 6f 70 61 74 57 6e  ..var snegopatWn
0b00: 64 20 3d 20 61 64 64 69 6e 73 2e 62 79 55 6e 69  d = addins.byUni
0b10: 71 75 65 4e 61 6d 65 28 22 73 6e 65 67 6f 70 61  queName("snegopa
0b20: 74 77 6e 64 22 29 2e 6f 62 6a 65 63 74 2e 67 65  twnd").object.ge
0b30: 74 53 6e 65 67 6f 70 61 74 57 6e 64 28 29 3b 0d  tSnegopatWnd();.
0b40: 0a 09 73 6e 65 67 6f 70 61 74 57 6e 64 2e 41 64  ..snegopatWnd.Ad
0b50: 64 43 6f 6e 74 65 78 74 4d 65 6e 75 49 74 65 6d  dContextMenuItem
0b60: 28 22 d0 e5 e4 e0 ea f2 e8 f0 ee e2 e0 f2 fc 20  ("............. 
0b70: f1 ea f0 e8 ef f2 2e 2e 2e 22 2c 20 4f 6e 53 6e  .........", OnSn
0b80: 65 67 6f 70 61 74 57 6e 64 45 64 69 74 53 63 72  egopatWndEditScr
0b90: 69 70 74 4d 65 6e 75 49 74 65 6d 29 3b 0d 0a 7d  iptMenuItem);..}
0ba0: 20 0d 0a 0d 0a 66 75 6e 63 74 69 6f 6e 20 47 65   ....function Ge
0bb0: 74 41 64 64 69 6e 46 69 6c 65 50 61 74 68 28 61  tAddinFilePath(a
0bc0: 64 64 69 6e 4f 62 6a 65 63 74 29 0d 0a 7b 0d 0a  ddinObject)..{..
0bd0: 09 72 65 74 75 72 6e 20 61 64 64 69 6e 4f 62 6a  .return addinObj
0be0: 65 63 74 2e 66 75 6c 6c 50 61 74 68 2e 72 65 70  ect.fullPath.rep
0bf0: 6c 61 63 65 28 2f 5e 5c 77 2b 3a 2f 2c 27 27 29  lace(/^\w+:/,'')
0c00: 3b 0d 0a 7d 0d 0a 0d 0a 2f 2a 20 2a 2a 2a 2a 2a  ;..}..../* *****
0c10: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
0c20: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
0c30: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
0c40: 2a 2a 2a 2a 2a 0d 0a 20 2a 20 20 ca eb e0 f1 f1  *****.. *  .....
0c50: 20 41 64 64 69 6e 49 6e 66 6f 2e 20 d5 f0 e0 ed   AddinInfo. ....
0c60: e8 f2 20 e8 ed f4 ee f0 ec e0 f6 e8 fe 20 ee 20  .. .......... . 
0c70: f0 e5 e4 e0 ea f2 e8 f0 f3 e5 ec ee ec 20 e0 e4  ............. ..
0c80: e4 e8 ed e5 2e 0d 0a 20 2a 20 2a 2a 2a 2a 2a 2a  ....... * ******
0c90: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
0ca0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
0cb0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
0cc0: 2a 2a 2a 20 2a 2f 0d 0a 66 75 6e 63 74 69 6f 6e  *** */..function
0cd0: 20 41 64 64 69 6e 49 6e 66 6f 28 61 64 64 69 6e   AddinInfo(addin
0ce0: 4f 62 6a 65 63 74 29 20 0d 0a 7b 0d 0a 09 74 68  Object) ..{...th
0cf0: 69 73 2e 6f 62 6a 65 63 74 20 3d 20 61 64 64 69  is.object = addi
0d00: 6e 4f 62 6a 65 63 74 3b 0d 0a 20 20 20 20 74 68  nObject;..    th
0d10: 69 73 2e 66 69 6c 65 20 3d 20 76 38 4e 65 77 28  is.file = v8New(
0d20: 22 d4 e0 e9 eb 22 2c 20 47 65 74 41 64 64 69 6e  "....", GetAddin
0d30: 46 69 6c 65 50 61 74 68 28 61 64 64 69 6e 4f 62  FilePath(addinOb
0d40: 6a 65 63 74 29 29 3b 0d 0a 20 20 20 20 0d 0a 20  ject));..    .. 
0d50: 20 20 20 74 68 69 73 2e 6c 61 73 74 4d 6f 64 69     this.lastModi
0d60: 66 69 65 64 20 3d 20 67 65 74 4d 6f 64 69 66 69  fied = getModifi
0d70: 63 61 74 69 6f 6e 53 74 61 6d 70 28 74 68 69 73  cationStamp(this
0d80: 2e 66 69 6c 65 29 3b 0d 0a 7d 0d 0a 0d 0a 41 64  .file);..}....Ad
0d90: 64 69 6e 49 6e 66 6f 2e 70 72 6f 74 6f 74 79 70  dinInfo.prototyp
0da0: 65 2e 52 65 6c 6f 61 64 20 3d 20 66 75 6e 63 74  e.Reload = funct
0db0: 69 6f 6e 28 29 0d 0a 7b 0d 0a 09 76 61 72 20 75  ion()..{...var u
0dc0: 6e 69 71 75 65 4e 61 6d 65 20 3d 20 74 68 69 73  niqueName = this
0dd0: 2e 6f 62 6a 65 63 74 2e 75 6e 69 71 75 65 4e 61  .object.uniqueNa
0de0: 6d 65 3b 0d 0a 09 76 61 72 20 64 69 73 70 6c 61  me;...var displa
0df0: 79 4e 61 6d 65 20 3d 20 74 68 69 73 2e 6f 62 6a  yName = this.obj
0e00: 65 63 74 2e 64 69 73 70 6c 61 79 4e 61 6d 65 3b  ect.displayName;
0e10: 0d 0a 09 76 61 72 20 6c 6f 61 64 53 74 72 69 6e  ...var loadStrin
0e20: 67 20 3d 20 74 68 69 73 2e 6f 62 6a 65 63 74 2e  g = this.object.
0e30: 66 75 6c 6c 50 61 74 68 3b 0d 0a 09 76 61 72 20  fullPath;...var 
0e40: 61 64 64 69 6e 47 72 6f 75 70 20 3d 20 74 68 69  addinGroup = thi
0e50: 73 2e 6f 62 6a 65 63 74 2e 67 72 6f 75 70 3b 0d  s.object.group;.
0e60: 0a 0d 0a 09 74 72 79 0d 0a 09 7b 0d 0a 09 09 61  ....try...{....a
0e70: 64 64 69 6e 73 2e 75 6e 6c 6f 61 64 41 64 64 69  ddins.unloadAddi
0e80: 6e 28 74 68 69 73 2e 6f 62 6a 65 63 74 29 3b 0d  n(this.object);.
0e90: 0a 09 7d 0d 0a 09 63 61 74 63 68 28 65 29 0d 0a  ..}...catch(e)..
0ea0: 09 7b 0d 0a 09 09 4d 65 73 73 61 67 65 28 22 ce  .{....Message(".
0eb0: f8 e8 e1 ea e0 20 ef f0 e8 20 e2 fb e3 f0 f3 e7  ..... ... ......
0ec0: ea e5 20 e0 e4 e4 e8 ed e0 20 22 20 2b 20 64 69  .. ...... " + di
0ed0: 73 70 6c 61 79 4e 61 6d 65 20 2b 20 22 3a 20 22  splayName + ": "
0ee0: 20 2b 20 65 2e 64 65 73 63 72 69 70 74 69 6f 6e   + e.description
0ef0: 29 3b 0d 0a 09 7d 0d 0a 09 0d 0a 09 69 66 28 21  );...}......if(!
0f00: 74 68 69 73 2e 6f 62 6a 65 63 74 2e 75 6e 69 71  this.object.uniq
0f10: 75 65 4e 61 6d 65 2e 6c 65 6e 67 74 68 29 09 2f  ueName.length)./
0f20: 2f 20 e0 e4 e4 e8 ed 20 f0 e5 e0 eb fc ed ee 20  / ..... ....... 
0f30: e2 fb e3 f0 f3 e7 e8 eb f1 ff 0d 0a 09 7b 0d 0a  .............{..
0f40: 09 09 74 72 79 0d 0a 09 09 7b 0d 0a 09 09 09 61  ..try....{.....a
0f50: 64 64 69 6e 73 2e 6c 6f 61 64 41 64 64 69 6e 28  ddins.loadAddin(
0f60: 6c 6f 61 64 53 74 72 69 6e 67 2c 20 61 64 64 69  loadString, addi
0f70: 6e 47 72 6f 75 70 29 3b 0d 0a 09 09 7d 0d 0a 09  nGroup);....}...
0f80: 09 63 61 74 63 68 28 65 29 0d 0a 09 09 7b 0d 0a  .catch(e)....{..
0f90: 09 09 09 4d 65 73 73 61 67 65 28 22 ce f8 e8 e1  ...Message("....
0fa0: ea e0 20 ef f0 e8 20 e7 e0 e3 f0 f3 e7 ea e5 3a  .. ... ........:
0fb0: 20 22 20 2b 20 65 2e 64 65 73 63 72 69 70 74 69   " + e.descripti
0fc0: 6f 6e 29 3b 0d 0a 09 09 7d 0d 0a 09 7d 0d 0a 09  on);....}...}...
0fd0: 0d 0a 09 64 65 6c 65 74 65 20 74 68 69 73 2e 6f  ...delete this.o
0fe0: 62 6a 65 63 74 3b 0d 0a 0d 0a 09 2f 2f 20 cd e0  bject;.....// ..
0ff0: e4 ee 20 ed e0 e9 f2 e8 20 ed ee e2 fb e9 20 ee  .. ..... ..... .
1000: e1 fa e5 ea f2 20 e0 e4 e4 e8 ed e0 20 ef ee 20  ..... ...... .. 
1010: e5 e3 ee 20 e8 ec e5 ed e8 20 e8 20 e7 e0 ef ee  ... ..... . ....
1020: ec ed e8 f2 fc 3a 0d 0a 09 74 68 69 73 2e 6f 62  .....:...this.ob
1030: 6a 65 63 74 20 3d 20 61 64 64 69 6e 73 2e 62 79  ject = addins.by
1040: 55 6e 69 71 75 65 4e 61 6d 65 28 75 6e 69 71 75  UniqueName(uniqu
1050: 65 4e 61 6d 65 29 3b 0d 0a 7d 0d 0a 0d 0a 41 64  eName);..}....Ad
1060: 64 69 6e 49 6e 66 6f 2e 70 72 6f 74 6f 74 79 70  dinInfo.prototyp
1070: 65 2e 43 68 65 63 6b 49 66 4d 6f 64 69 66 69 65  e.CheckIfModifie
1080: 64 20 3d 20 66 75 6e 63 74 69 6f 6e 28 29 0d 0a  d = function()..
1090: 7b 0d 0a 20 20 20 20 76 61 72 20 63 75 72 53 74  {..    var curSt
10a0: 61 6d 70 20 3d 20 67 65 74 4d 6f 64 69 66 69 63  amp = getModific
10b0: 61 74 69 6f 6e 53 74 61 6d 70 28 74 68 69 73 2e  ationStamp(this.
10c0: 66 69 6c 65 29 3b 0d 0a 20 20 20 20 69 66 20 28  file);..    if (
10d0: 63 75 72 53 74 61 6d 70 20 21 3d 20 74 68 69 73  curStamp != this
10e0: 2e 6c 61 73 74 4d 6f 64 69 66 69 65 64 29 20 0d  .lastModified) .
10f0: 0a 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20  .    {..        
1100: 74 68 69 73 2e 6c 61 73 74 4d 6f 64 69 66 69 65  this.lastModifie
1110: 64 20 3d 20 63 75 72 53 74 61 6d 70 3b 0d 0a 20  d = curStamp;.. 
1120: 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 74 72         return tr
1130: 75 65 3b 0d 0a 20 20 20 20 7d 0d 0a 0d 0a 20 20  ue;..    }....  
1140: 20 20 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0d    return false;.
1150: 0a 7d 0d 0a 0d 0a 2f 2a 20 2a 2a 2a 2a 2a 2a 2a  .}..../* *******
1160: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
1170: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
1180: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
1190: 2a 2a 2a 0d 0a 20 2a 20 20 c8 ed e8 f6 e8 e0 eb  ***.. *  .......
11a0: e8 e7 e0 f6 e8 ff 20 f1 ea f0 e8 ef f2 e0 2e 0d  ...... .........
11b0: 0a 20 2a 20 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  . * ************
11c0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
11d0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
11e0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 20 2a 2f  ************* */
11f0: 0d 0a 0d 0a 20 49 6e 69 74 53 63 72 69 70 74 41  .... InitScriptA
1200: 6e 64 52 75 6e 28 29 3b 0d 0a                    ndRun();..