home *** CD-ROM | disk | FTP | other *** search
/ moodle.waes.ac.uk / moodle.waes.ac.uk.zip / moodle.waes.ac.uk / TMG / SP1-TMG-KB981324-AMD64-ENU.msp / PCW_CAB_SHFx2 / Common.js < prev    next >
Text File  |  2010-06-15  |  17KB  |  407 lines

  1. //this module should be included in any htm file
  2.  
  3. function put_defaultStatus(status)
  4. {
  5.     window.defaultStatus = status;
  6.     window.top.defaultStatus = status;
  7. }
  8.  
  9. function ClearStatus()
  10. {
  11.     if (window.status.search("#none")) 
  12.     {
  13.         window.status = "";
  14.     }
  15. }
  16.  
  17. function setEmptyView(ObjectGUID, fEmptyView, emptyViewTitle, emptyViewMessage)
  18. {
  19.     //
  20.     // remove descritption if already existed
  21.     //
  22.     var TextElement = document.getElementById("EmptyViewDescription_" + ObjectGUID);
  23.     if (TextElement != null)
  24.     {
  25.         TextElement.removeNode(true); //true for remove children (not that any exist currently...)
  26.     }
  27.     
  28.     var HeaderElement=document.getElementById("EmptyViewHeader_" + ObjectGUID);
  29.     if (HeaderElement != null)
  30.     {
  31.         HeaderElement.removeNode(true); //true for remove children (not that any exist currently...)
  32.     }    
  33.  
  34.  
  35.     if(fEmptyView)
  36.     {
  37.             //
  38.             // First, we disable the objIsaList.
  39.             //
  40.             var IsaListobj = document.getElementById(ObjectGUID);
  41.             if(IsaListobj == null)
  42.             {
  43.                 debugger; //Can't handle (object required).
  44.                 return;
  45.             }
  46.             IsaListobj.style.display = "none";
  47.  
  48.             //
  49.             // Then, we create an element (frame, with the text passed to us as
  50.             // argument.
  51.             //
  52.             if(emptyViewTitle != "")
  53.                {
  54.                 IsaListobj.insertAdjacentHTML("beforeBegin", "<table id='EmptyViewHeader_" + ObjectGUID + "' cellpadding='0' cellspacing='0' width='100%' > <tr><td width='100%' height='22'></td></tr> <tr> <td> <p class='header1' >" + emptyViewTitle + "</p> </td> </tr> </table>");
  55.             }
  56.             IsaListobj.insertAdjacentHTML("beforeBegin", "<table id='EmptyViewDescription_" + ObjectGUID + "' cellpadding='0' cellspacing='0' width='100%' > <tr> <td class = 'GSTDText'> <p  class='bodyCopy' >" + emptyViewMessage + "</p> </td></tr> </table> ");
  57.     }
  58.     else
  59.     {
  60.         //
  61.         // First, we enable the objIsaList.
  62.         //
  63.         var IsaListobj = document.getElementById(ObjectGUID);
  64.         IsaListobj.style.display = "block";
  65.  
  66.  
  67.  
  68.     }
  69. }
  70.  
  71. function getDocumentContextGuid()
  72. {
  73.     var re = /\?(\S+=\S*&)*guid=(\S*)(&\S=\S)*/;
  74.     var url = unescape(document.location.href);
  75.     var results = re.exec(url);
  76.  
  77.     if (results == null)
  78.     {
  79.         return "";
  80.     }
  81.  
  82.     return results[2];
  83. }
  84.  
  85. // Highlight the Open/Close button
  86. function HighlightOpenClose(idImgButton, boolIsHighlight)
  87. {
  88.     if (boolIsHighlight) {
  89.         if (idImgButton.Direction=='up') {
  90.             idImgButton.src='_image/LogPane/log-on-up.png';
  91.         } 
  92.         if (idImgButton.Direction=='down') {
  93.             idImgButton.src='_image/LogPane/log-on-dn.png';
  94.         }
  95.     } else {
  96.         if (idImgButton.Direction=='up') {
  97.             idImgButton.src='_image/LogPane/log-off-up.png';
  98.         } 
  99.         if (idImgButton.Direction=='down') {
  100.             idImgButton.src='_image/LogPane/log-off-dn.png';
  101.         }
  102.     }
  103. }
  104.  
  105. function OpenClosePane(idPane, idImgButton, strButtonOpenState, strButtonCloseState)
  106. {
  107.     if (idPane.style.display != 'none') 
  108.     {
  109.         idPane.style.display = 'none';
  110.         idImgButton.Direction = strButtonCloseState;
  111.     }
  112.     else 
  113.     {
  114.         idPane.style.display = 'inline';
  115.         idImgButton.Direction = strButtonOpenState;
  116.     }
  117. }
  118.  
  119. function $(strID)
  120. {
  121.     return document.getElementById(strID);
  122. }
  123.  
  124. //
  125. // Combo Management functions
  126. //
  127.  
  128. function ComboAddOption(sComboName, sText, sValue)
  129. {
  130.     var oOption = document.createElement("Option");
  131.     oOption.innerText = sText;
  132.     oOption.value = sValue;
  133.  
  134.     Item(sComboName).appendChild(oOption);
  135.  
  136.     var oContainingTd = GetContainingElement(sComboName, "TD");
  137.  
  138.     // recalculate td width so it will fit the combo
  139.     oContainingTd.style.width="auto";
  140.     
  141.     return true;
  142. }
  143.  
  144. function ComboGetSelection(sComboName)
  145. {
  146.     return Item(sComboName).value;
  147. }
  148.  
  149. function ComboSetSelection(sComboName, sSelection)
  150. {
  151.     Item(sComboName).value = sSelection;
  152. }
  153.  
  154. function ComboDisplay(sComboName, bDisplay)
  155. {
  156.     var oContainingTable = GetContainingElement(sComboName, "TABLE");
  157.     SetItemDisplay(oContainingTable, bDisplay);
  158. }
  159.  
  160.  
  161. //
  162. // General Helper functions
  163. //
  164.  
  165. function SetItemDisplay(oItem, bDisplay)
  166. {
  167.     if (bDisplay)
  168.     {
  169.         oItem.style.display = 'block';
  170.     }
  171.     else
  172.     {
  173.         oItem.style.display = 'none';
  174.     }
  175. }
  176.  
  177. function GetContainingElement(sItemName, sElementType)
  178. {
  179.     var oObj = Item(sItemName);
  180.     while (oObj.nodeName != sElementType)
  181.     {
  182.         oObj = oObj.parentElement;
  183.     }
  184.     return oObj;
  185. }
  186.  
  187. function Item(sItemName)
  188. {
  189.     return document.all.item(sItemName);
  190. }
  191.  
  192. // SIG // Begin signature block
  193. // SIG // MIIbYAYJKoZIhvcNAQcCoIIbUTCCG00CAQExCzAJBgUr
  194. // SIG // DgMCGgUAMGcGCisGAQQBgjcCAQSgWTBXMDIGCisGAQQB
  195. // SIG // gjcCAR4wJAIBAQQQEODJBs441BGiowAQS9NQkAIBAAIB
  196. // SIG // AAIBAAIBAAIBADAhMAkGBSsOAwIaBQAEFEc7a/rXQObF
  197. // SIG // 7AlhwDnYbZhnqgFIoIIV5zCCBIUwggNtoAMCAQICCmEF
  198. // SIG // 9x4AAAAAADIwDQYJKoZIhvcNAQEFBQAweTELMAkGA1UE
  199. // SIG // BhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNV
  200. // SIG // BAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBD
  201. // SIG // b3Jwb3JhdGlvbjEjMCEGA1UEAxMaTWljcm9zb2Z0IENv
  202. // SIG // ZGUgU2lnbmluZyBQQ0EwHhcNMDkwNzEzMjMwMDE4WhcN
  203. // SIG // MTAxMDEzMjMxMDE4WjCBgzELMAkGA1UEBhMCVVMxEzAR
  204. // SIG // BgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1v
  205. // SIG // bmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlv
  206. // SIG // bjENMAsGA1UECxMETU9QUjEeMBwGA1UEAxMVTWljcm9z
  207. // SIG // b2Z0IENvcnBvcmF0aW9uMIIBIjANBgkqhkiG9w0BAQEF
  208. // SIG // AAOCAQ8AMIIBCgKCAQEAtYypnJSEYRrMLiLEoJNkCd6F
  209. // SIG // obCQXfzJbGi18e/8jmv0+KBu11HeYKMnY9T237ZM0kUL
  210. // SIG // pz3Yb/7tpxhj0x/GgdS/BzeXQCt/519aNdmTT6vzKpLw
  211. // SIG // po2B7AUk3Nu4YWNTYQI1ONa49e57VKbJWDXp9BXv2gds
  212. // SIG // BS1NpLa6mzu4MTB+RbypoSU5DEOkRzuXnCBEcjfPUKBN
  213. // SIG // TfTDZdxE0Qg7ON0+xRdsRsetcyTAj4nB6uq6zWipEtZY
  214. // SIG // DFMWDP45A9aB8j5cV/N622bhBxjZGQMU9uZFmSpRTJDX
  215. // SIG // Wu+vtzsMKU1tIK4Ht5Iu6GnKnzBC58MyigsiSjLonAzG
  216. // SIG // UQMmAW2ScwIDAQABo4IBAjCB/zATBgNVHSUEDDAKBggr
  217. // SIG // BgEFBQcDAzAdBgNVHQ4EFgQUh4G33+76d/pZBWM3BArX
  218. // SIG // 6dqg4OAwDgYDVR0PAQH/BAQDAgeAMB8GA1UdIwQYMBaA
  219. // SIG // FFdFdBxdsPbIQwXgjFQtjzKn/kiWMEkGA1UdHwRCMEAw
  220. // SIG // PqA8oDqGOGh0dHA6Ly9jcmwubWljcm9zb2Z0LmNvbS9w
  221. // SIG // a2kvY3JsL3Byb2R1Y3RzL0NvZGVTaWdQQ0EuY3JsME0G
  222. // SIG // CCsGAQUFBwEBBEEwPzA9BggrBgEFBQcwAoYxaHR0cDov
  223. // SIG // L3d3dy5taWNyb3NvZnQuY29tL3BraS9jZXJ0cy9Db2Rl
  224. // SIG // U2lnUENBLmNydDANBgkqhkiG9w0BAQUFAAOCAQEANiGE
  225. // SIG // 9Y+DIU2HqD+L58WkD0wwbll0mwuXdBapsfNwpK/CDDMk
  226. // SIG // 86BK+sHkIca22epcW5Fh9yJt/zH8F07XzUDjndLltNL6
  227. // SIG // jWwH2neayivuDVlHzwTCEGf66ulDO7fm0ZzZjiNgbhKb
  228. // SIG // w9l+XFcy3ZQN333FSJJNSHa3osBTlT78OqOTfPKFBMfG
  229. // SIG // hTiXNvgSkyIAmU55r5brWiCDrNBcWjCwAOJrOY8kido9
  230. // SIG // DKRGeWI2U2rXyc2SCPuH5VT1fFnFxHd9sMEsmMeXbEOn
  231. // SIG // +CD4g1RknmD44kqlZ9RJv1SIfVJE81HAJtHFfPCJ1hEJ
  232. // SIG // KMJFRYAdkCK9jqIFPjyzT73XOeCIkzCCBMowggOyoAMC
  233. // SIG // AQICCmEEs/UAAAAAAA0wDQYJKoZIhvcNAQEFBQAwdzEL
  234. // SIG // MAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24x
  235. // SIG // EDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jv
  236. // SIG // c29mdCBDb3Jwb3JhdGlvbjEhMB8GA1UEAxMYTWljcm9z
  237. // SIG // b2Z0IFRpbWUtU3RhbXAgUENBMB4XDTA4MDcyNTE5MTM0
  238. // SIG // NVoXDTExMDcyNTE5MjM0NVowgbMxCzAJBgNVBAYTAlVT
  239. // SIG // MRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdS
  240. // SIG // ZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9y
  241. // SIG // YXRpb24xDTALBgNVBAsTBE1PUFIxJzAlBgNVBAsTHm5D
  242. // SIG // aXBoZXIgRFNFIEVTTjo5RTc4LTg2NEItMDM5RDElMCMG
  243. // SIG // A1UEAxMcTWljcm9zb2Z0IFRpbWUtU3RhbXAgU2Vydmlj
  244. // SIG // ZTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB
  245. // SIG // AKtGL7yoFPL4Rj8MBaGkY0UFf5rpM3LMJ9My7JjD4DSI
  246. // SIG // hc6hEpeuSFBOSCB/cORZM/yZW7kHgEgovI24+mYCZrXx
  247. // SIG // fxxQliiTVY2BVapwW6XJzu8u4uclw3ZvKQufLMhTgJrB
  248. // SIG // DeO9p0W/Md/mhot9iQGLHHhYOLLdk0pbnh3XnMbwxE3Q
  249. // SIG // vydKB5QEcQKIDXDm+CrnDmHjmEvR3atUtjf7xkb9pBy8
  250. // SIG // /6/sspeA3LiT/bgiqJ0lWXA+XHscQSn+c5kiSYHXVSbA
  251. // SIG // 7PJOKFRiO3AtYZMdUNWfAcIFw1UaSoekAIZUoHtisuoP
  252. // SIG // +l1cxSoRgpe+hhsdq7erCin8zM00ib9Atk8CAwEAAaOC
  253. // SIG // ARkwggEVMB0GA1UdDgQWBBSghTFeh64PqgoE6+HA02S9
  254. // SIG // PLtp9TAfBgNVHSMEGDAWgBQjNPjZUkZwCu1A+3b7syuw
  255. // SIG // wzWzDzBUBgNVHR8ETTBLMEmgR6BFhkNodHRwOi8vY3Js
  256. // SIG // Lm1pY3Jvc29mdC5jb20vcGtpL2NybC9wcm9kdWN0cy9N
  257. // SIG // aWNyb3NvZnRUaW1lU3RhbXBQQ0EuY3JsMFgGCCsGAQUF
  258. // SIG // BwEBBEwwSjBIBggrBgEFBQcwAoY8aHR0cDovL3d3dy5t
  259. // SIG // aWNyb3NvZnQuY29tL3BraS9jZXJ0cy9NaWNyb3NvZnRU
  260. // SIG // aW1lU3RhbXBQQ0EuY3J0MBMGA1UdJQQMMAoGCCsGAQUF
  261. // SIG // BwMIMA4GA1UdDwEB/wQEAwIGwDANBgkqhkiG9w0BAQUF
  262. // SIG // AAOCAQEAR3FPtkhFwAjrnC/TJVvbZ1ERkqbZ2bIUmibC
  263. // SIG // /QbBzNeI9aY1tc0rtmtYas35nfNa60YvofqnH316QrKw
  264. // SIG // 0RoJKFRsb5mLOPw65MEkqnJMEgQv8dR6djvFz3EnC238
  265. // SIG // OGenxSJiK3t/wXasp8UmTKmvmN2KOF3PZaSBLqnvVgJM
  266. // SIG // uQi+ZcQeiyEtbqfydWS03Bpr0PEl5cLngEQ51C8KeX4B
  267. // SIG // Kqd4W6NrW84J7zk6ObfEZ1O5qvNh/515489IZ/+ryMYr
  268. // SIG // YgmU0B+iePdzSTtYU8EJq0wGC9VAKH72sWbFv1LEvj47
  269. // SIG // 4PmOdI3mIgzBxjOYtXnoDPcAfOqyTsyAmhYtyKQQBTCC
  270. // SIG // BgcwggPvoAMCAQICCmEWaDQAAAAAABwwDQYJKoZIhvcN
  271. // SIG // AQEFBQAwXzETMBEGCgmSJomT8ixkARkWA2NvbTEZMBcG
  272. // SIG // CgmSJomT8ixkARkWCW1pY3Jvc29mdDEtMCsGA1UEAxMk
  273. // SIG // TWljcm9zb2Z0IFJvb3QgQ2VydGlmaWNhdGUgQXV0aG9y
  274. // SIG // aXR5MB4XDTA3MDQwMzEyNTMwOVoXDTIxMDQwMzEzMDMw
  275. // SIG // OVowdzELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hp
  276. // SIG // bmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoT
  277. // SIG // FU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEhMB8GA1UEAxMY
  278. // SIG // TWljcm9zb2Z0IFRpbWUtU3RhbXAgUENBMIIBIjANBgkq
  279. // SIG // hkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAn6Fssd/bSJIq
  280. // SIG // fGsuGeG94uPFmVEjUK3O3RhOJA/u0afRTK10MCAR6wfV
  281. // SIG // VJUVSZQbQpKumFwwJtoAa+h7veyJBw/3DgSY8InMH8sz
  282. // SIG // JIed8vRnHCz8e+eIHernTqOhwSNTyo36Rc8J0F6v0LBC
  283. // SIG // BKL5pmyTZ9co3EZTsIbQ5ShGLieshk9VUgzkAyz7apCQ
  284. // SIG // MG6H81kwnfp+1pez6CGXfvjSE/MIt1NtUrRFkJ9IAEpH
  285. // SIG // ZhEnKWaol+TTBoFKovmEpxFHFAmCn4TtVXj+AZodUAiF
  286. // SIG // ABAwRu233iNGu8QtVJ+vHnhBMXfMm987g5OhYQK1HQ2x
  287. // SIG // /PebsgHOIktU//kFw8IgCwIDAQABo4IBqzCCAacwDwYD
  288. // SIG // VR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUIzT42VJGcArt
  289. // SIG // QPt2+7MrsMM1sw8wCwYDVR0PBAQDAgGGMBAGCSsGAQQB
  290. // SIG // gjcVAQQDAgEAMIGYBgNVHSMEgZAwgY2AFA6sgmBAVieX
  291. // SIG // 5SUT/CrhClOVWeSkoWOkYTBfMRMwEQYKCZImiZPyLGQB
  292. // SIG // GRYDY29tMRkwFwYKCZImiZPyLGQBGRYJbWljcm9zb2Z0
  293. // SIG // MS0wKwYDVQQDEyRNaWNyb3NvZnQgUm9vdCBDZXJ0aWZp
  294. // SIG // Y2F0ZSBBdXRob3JpdHmCEHmtFqFKoKWtTHNY9AcTLmUw
  295. // SIG // UAYDVR0fBEkwRzBFoEOgQYY/aHR0cDovL2NybC5taWNy
  296. // SIG // b3NvZnQuY29tL3BraS9jcmwvcHJvZHVjdHMvbWljcm9z
  297. // SIG // b2Z0cm9vdGNlcnQuY3JsMFQGCCsGAQUFBwEBBEgwRjBE
  298. // SIG // BggrBgEFBQcwAoY4aHR0cDovL3d3dy5taWNyb3NvZnQu
  299. // SIG // Y29tL3BraS9jZXJ0cy9NaWNyb3NvZnRSb290Q2VydC5j
  300. // SIG // cnQwEwYDVR0lBAwwCgYIKwYBBQUHAwgwDQYJKoZIhvcN
  301. // SIG // AQEFBQADggIBABCXisNcA0Q23em0rXfbznlRTQGxLnRx
  302. // SIG // W20ME6vOvnuPuC7UEqKMbWK4VwLLTiATUJndekDiV7uv
  303. // SIG // WJoc4R0Bhqy7ePKL0Ow7Ae7ivo8KBciNSOLwUxXdT6uS
  304. // SIG // 5OeNatWAweaU8gYvhQPpkSokInD79vzkeJkuDfcH4nC8
  305. // SIG // GE6djmsKcpW4oTmcZy3FUQ7qYlw/FpiLID/iBxoy+cwx
  306. // SIG // SnYxPStyC8jqcD3/hQoT38IKYY7w17gX606Lf8U1K16j
  307. // SIG // v+u8fQtCe9RTciHuMMq7eGVcWwEXChQO0toUmPU8uWZY
  308. // SIG // sy0v5/mFhsxRVuidcJRsrDlM1PZ5v6oYemIp76KbKTQG
  309. // SIG // dxpiyT0ebR+C8AvHLLvPQ7Pl+ex9teOkqHQ1uE7FcSMS
  310. // SIG // JnYLPFKMcVpGQxS8s7OwTWfIn0L/gHkhgJ4VMGboQhJe
  311. // SIG // GsieIiHQQ+kr6bv0SMws1NgygEwmKkgkX1rqVu+m3pmd
  312. // SIG // yjpvvYEndAYR7nYhv5uCwSdUtrFqPYmhdmG0bqETpr+q
  313. // SIG // R/ASb/2KMmyy/t9RyIwjyWa9nR2HEmQCPS2vWY+45CHl
  314. // SIG // tbDKY7R4VAXUQS5QrJSwpXirs6CWdRrZkocTdSIvMqgI
  315. // SIG // bqBbjCW/oO+EyiHW6x5PyZruSeD3AWVviQt9yGnI5m7q
  316. // SIG // p5fOMSn/DsVbXNhNG6HY+i+ePy5VFmvJE6P9MIIGgTCC
  317. // SIG // BGmgAwIBAgIKYRUIJwAAAAAADDANBgkqhkiG9w0BAQUF
  318. // SIG // ADBfMRMwEQYKCZImiZPyLGQBGRYDY29tMRkwFwYKCZIm
  319. // SIG // iZPyLGQBGRYJbWljcm9zb2Z0MS0wKwYDVQQDEyRNaWNy
  320. // SIG // b3NvZnQgUm9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkw
  321. // SIG // HhcNMDYwMTI1MjMyMjMyWhcNMTcwMTI1MjMzMjMyWjB5
  322. // SIG // MQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3Rv
  323. // SIG // bjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWlj
  324. // SIG // cm9zb2Z0IENvcnBvcmF0aW9uMSMwIQYDVQQDExpNaWNy
  325. // SIG // b3NvZnQgQ29kZSBTaWduaW5nIFBDQTCCASIwDQYJKoZI
  326. // SIG // hvcNAQEBBQADggEPADCCAQoCggEBAJ+N34U3jLEGVmY2
  327. // SIG // TtQK6zYjkR6vq41Y6cTPwZ86CiTExMResO4VFMX6Ppkz
  328. // SIG // axlpcvR8BV/lmSVE1zUZipDcKI6QDO/VkGGt3twYcC2D
  329. // SIG // yW+vhSz43bm5MP1xeByD/cipuYJnDXq4wQnCvBaXVz8c
  330. // SIG // mNNp1zCQkJCNMB/YJtSee4jZ4gntl0lF6wRSgXV7uLUi
  331. // SIG // uC5Wu9fPqU48CoOiqDrFrbYBDmrPIrQjH2zVJ+e3fsG0
  332. // SIG // 1TKteSUcQobinYX0V9obWS8tJpIpxbPXhaOeYFqU5nuc
  333. // SIG // e16CNEtt/9TuJ9Ci3NGQDM59DhV8iKw0x8BsmIRKyUR5
  334. // SIG // aCjfIoMNuIosSGHi/hECAwEAAaOCAiMwggIfMBAGCSsG
  335. // SIG // AQQBgjcVAQQDAgEAMB0GA1UdDgQWBBRXRXQcXbD2yEMF
  336. // SIG // 4IxULY8yp/5IljALBgNVHQ8EBAMCAcYwDwYDVR0TAQH/
  337. // SIG // BAUwAwEB/zCBmAYDVR0jBIGQMIGNgBQOrIJgQFYnl+Ul
  338. // SIG // E/wq4QpTlVnkpKFjpGEwXzETMBEGCgmSJomT8ixkARkW
  339. // SIG // A2NvbTEZMBcGCgmSJomT8ixkARkWCW1pY3Jvc29mdDEt
  340. // SIG // MCsGA1UEAxMkTWljcm9zb2Z0IFJvb3QgQ2VydGlmaWNh
  341. // SIG // dGUgQXV0aG9yaXR5ghB5rRahSqClrUxzWPQHEy5lMFAG
  342. // SIG // A1UdHwRJMEcwRaBDoEGGP2h0dHA6Ly9jcmwubWljcm9z
  343. // SIG // b2Z0LmNvbS9wa2kvY3JsL3Byb2R1Y3RzL21pY3Jvc29m
  344. // SIG // dHJvb3RjZXJ0LmNybDBUBggrBgEFBQcBAQRIMEYwRAYI
  345. // SIG // KwYBBQUHMAKGOGh0dHA6Ly93d3cubWljcm9zb2Z0LmNv
  346. // SIG // bS9wa2kvY2VydHMvTWljcm9zb2Z0Um9vdENlcnQuY3J0
  347. // SIG // MHYGA1UdIARvMG0wawYJKwYBBAGCNxUvMF4wXAYIKwYB
  348. // SIG // BQUHAgIwUB5OAEMAbwBwAHkAcgBpAGcAaAB0ACAAqQAg
  349. // SIG // ADIAMAAwADYAIABNAGkAYwByAG8AcwBvAGYAdAAgAEMA
  350. // SIG // bwByAHAAbwByAGEAdABpAG8AbgAuMBMGA1UdJQQMMAoG
  351. // SIG // CCsGAQUFBwMDMA0GCSqGSIb3DQEBBQUAA4ICAQAwvLAg
  352. // SIG // pGKgp+85JmE93KzGmdCGxC71gzJlXiI+m9aG+Oi2n8qL
  353. // SIG // 1jt1C6GRPkzdZHSMSfKIjBhnbP4VZka4OkZCl8iRN9Qk
  354. // SIG // sees0+pBFIN308lPBV+jFFK/lqQvPlZbEHXOU8POBVRp
  355. // SIG // tGXJJKUP4SW4GrlN5QK5UB5Ps5gMHZUC7iJZrSLLBXQL
  356. // SIG // BEV7BFng2A+z60z4YN3CeJ7Rup9r9/PufkQRQNK9uptL
  357. // SIG // FghupL5V5KY4EqNI9BxVeoog0X3+kduUjy/Ce2umZIVP
  358. // SIG // o+UsNCldC7/1xzgvxCDEVjH2ac6F+AqR7NDWrro4BQzr
  359. // SIG // bk9MnAMpqqL8GKApDA1cXFYjV9oclg3IJjbBRMvl4eZv
  360. // SIG // ieeP6Zi1c9N44+2jATx05V68bPYhiWcF7JedtbH9r6bp
  361. // SIG // cqXDNOEvn/n0ajniLQSCW/zQnK58nRH55rVTGXS6OUo5
  362. // SIG // 631Cs0o7Nz3CSnsnmOfiTpsbSlQ4aiM3vmq3SO7qQg1J
  363. // SIG // JJGOtwQul2/k50W7j039YNnXWcLYgNZgNHu3oZMg/oG4
  364. // SIG // qqVcCemKDb4oTX7X6A/tZXjRMV+5ZtvfQucLzAIHjd//
  365. // SIG // IAajRWW0szKNLpHiTbSpyfq8awQOsp/qn96kyQqW9I33
  366. // SIG // 2Jio8IUCCFmkIKYsCxryUgbtaeVkGBvgo6veynwUYUO4
  367. // SIG // ZfU2o1UTK2csTRswTDGCBOUwggThAgEBMIGHMHkxCzAJ
  368. // SIG // BgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAw
  369. // SIG // DgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNyb3Nv
  370. // SIG // ZnQgQ29ycG9yYXRpb24xIzAhBgNVBAMTGk1pY3Jvc29m
  371. // SIG // dCBDb2RlIFNpZ25pbmcgUENBAgphBfceAAAAAAAyMAkG
  372. // SIG // BSsOAwIaBQCgggERMBkGCSqGSIb3DQEJAzEMBgorBgEE
  373. // SIG // AYI3AgEEMBwGCisGAQQBgjcCAQsxDjAMBgorBgEEAYI3
  374. // SIG // AgEVMCMGCSqGSIb3DQEJBDEWBBSF8fY/Bsfo5CGG/e+E
  375. // SIG // iyDwSb9Z4jCBsAYKKwYBBAGCNwIBDDGBoTCBnqBwgG4A
  376. // SIG // RgBvAHIAZQBmAHIAbwBuAHQAIABUAGgAcgBlAGEAdAAg
  377. // SIG // AE0AYQBuAGEAZwBlAG0AZQBuAHQAIABHAGEAdABlAHcA
  378. // SIG // YQB5ACAALQAgAEsAQgAxADkAOAAxADQAMAA5ACAARQBu
  379. // SIG // AGcAbABpAHMAaKEqgChodHRwOi8vc3VwcG9ydC5taWNy
  380. // SIG // b3NvZnQuY29tP2tiaWQ9OTgxMzI0MA0GCSqGSIb3DQEB
  381. // SIG // AQUABIIBAJjwZg5x5B+1JE7TyTJg9aO0xXT0tDCkABQI
  382. // SIG // Vtxh06uU2ywBAtjs4g50XTJf8jdKM4LSg7f8u11AhSoH
  383. // SIG // flZJmZdxDMaWB9yko21uzs3xqa0KHYwAa691yVnt0H4B
  384. // SIG // GthdoHyaxICAKQgUOA5cjtCcjgj9W3+EzP9B/dmEzKlj
  385. // SIG // GWLvSWAYymVUVgHCh3Gg208NHtwlEsHkzufzIOtuVf9r
  386. // SIG // A4wcTrDFodZeEmCQzkQ4/nHuK1CFDycutd7Ve73f70Lo
  387. // SIG // h5Z6HNpt/yE85f/cpaMC2aFvkHj7e/NrSKfeOgtUmwi9
  388. // SIG // 4ZzYhp9+7SauwP2/D7coQ9qIcE7saJTPQ1MZjgpOvKuh
  389. // SIG // ggIdMIICGQYJKoZIhvcNAQkGMYICCjCCAgYCAQEwgYUw
  390. // SIG // dzELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0
  391. // SIG // b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1p
  392. // SIG // Y3Jvc29mdCBDb3Jwb3JhdGlvbjEhMB8GA1UEAxMYTWlj
  393. // SIG // cm9zb2Z0IFRpbWUtU3RhbXAgUENBAgphBLP1AAAAAAAN
  394. // SIG // MAcGBSsOAwIaoF0wGAYJKoZIhvcNAQkDMQsGCSqGSIb3
  395. // SIG // DQEHATAcBgkqhkiG9w0BCQUxDxcNMTAwNjE1MTgzMjEy
  396. // SIG // WjAjBgkqhkiG9w0BCQQxFgQUW+OsNszrVW1xXfKW1Rv7
  397. // SIG // ldsulHswDQYJKoZIhvcNAQEFBQAEggEAL085w9kx8y12
  398. // SIG // Ufy5IzUgeprhWcFU2QZi5NjffUiA6pqnF+Uizg8+qMfL
  399. // SIG // 9EiBWhj/R/KgBqIzcMxBo2HF4En844ddpk5oBPjqWV0E
  400. // SIG // r21Zd85IFjSRYxrW7NrhgK4BphDbw/azrWj4KsR2UQTu
  401. // SIG // r1xJRay7WNjjK5mkzA4YVPhdfUqRScImrK6l7A0ps1lg
  402. // SIG // sT4qj28D8Qg/xexlXUTTEjockqv3wEXZtBaIwLl4U/Sc
  403. // SIG // sZOQPFwMqbzRZsQ0q1ync2SL9YGsAranHPdcxFaVK+X2
  404. // SIG // etL9+eTI86uUcCA8RmdmXwqeHPwc+bm4nNtfnYnCW8EN
  405. // SIG // y6S+edQnew26ZAK7PS6ZWw==
  406. // SIG // End signature block
  407.