WIBUBIFFx kQa4CodeMeter HTML Archive  ĉzaW xFPz/// /// var aclTreeView = null; var ruleEditor = null; var ruleDialog = null; var firmAddDialog = null; var productAddDialog = null; var acl_unsaved_changes = false; /** * Event on form submit * @returns {Boolean} */ function aclSubmitForm() { var globalsetting = Utils.getCheckedRadio("GlobalSetting"); if (globalsetting.value == "Basic") { return OnSimpleAccessControlFormSubmit(); // LEGACY } else if (globalsetting.value == "Advanced") { document.getElementById("AclListId").value = JSON.stringify(aclList); } acl_unsaved_changes = false; return true; } /** * Event onload */ function onload() { var modeDesc = document.getElementById("ActiveAccessMode"); switch (bootedAccessMode) { case -1: var advancedButton = document.getElementById("AdvancedRadioButton"); advancedButton.disabled = true; var advancedText = document.getElementById("AdvancedText"); advancedText.style.color = "grey"; case 0: default: modeDesc.textContent = strings.acl.BasicMode; break; case 1: modeDesc.textContent = strings.acl.AdvancedMode; break; } var body = document.getElementsByTagName("body")[0]; // Fill datalist with all usernames var userDataList = document.createElement("datalist"); userDataList.setAttribute("id", "ListUsers"); for (var i = 0; i < userList.length; i++) { var option = document.createElement("option"); option.setAttribute("value", userList[i]); userDataList.appendChild(option); } // Fill datalist with all groupnames var groupDataList = document.createElement("datalist"); groupDataList.setAttribute("id", "ListGroups"); for (var i = 0; i < groupList.length; i++) { var option = document.createElement("option"); option.setAttribute("value", groupList[i]); groupDataList.appendChild(option); } body.appendChild(userDataList); body.appendChild(groupDataList); // Set state of radio and check boxes setCheckAndRadioBoxState(); // Disable buttons on disabled remote write if ((isRemoteClient == "1") && (httpRemoteWrite == "0")) { SetButtonRemoteStatus(document.getElementById("ApplyAllButton")); SetButtonRemoteStatus(document.getElementById("DefaultButton")); } // Set OnClose Handler window.onbeforeunload = onclose; // LEGACY if ( 1 == document.ACLForm.AccessFsb.value ) { document.ACLForm.AccessFsbCheck.checked = true; } else { document.ACLForm.AccessFsbCheck.checked = false; } // END LEGACY } /** * Event OnClose */ function onclose() { if (acl_unsaved_changes) { return strings.acl.ConfirmSiteLeave; } else { return; } } /** * Set state of radio and checkboxes from WIBU Variable */ function setCheckAndRadioBoxState() { // Set global setting switch (selectedMode) { case "Advanced": Utils.checkRadio("GlobalSetting", "Advanced"); break; case "Basic": // LEGACY Utils.checkRadio("GlobalSetting", "Basic"); break; } // Show content for activated global setting var globalsetting = Utils.getCheckedRadio("GlobalSetting"); if (globalsetting !== undefined && globalsetting !== null) { globalsetting.onclick(); } } /** * Set Default */ function setDefault() { var globalsetting = Utils.getCheckedRadio("GlobalSetting"); if (globalsetting.value == "Advanced") { setDefaultRuleset(); } else if (globalsetting.value == "Basic") { setSimpleDefault(); // LEGACY } acl_unsaved_changes = true; } /** * LEGACY * Set Simple Config default */ function setSimpleDefault() { var tsl = document.ACLForm.DisplayClientList; var nLen = tsl.length; // clear Client List for (var i = nLen; i >= 0; i--) { tsl.options[i] = null; } // for document.ACLForm.AccessFsbCheck.checked = false; document.ACLForm.AccessFsb.value = 0; } // ClearClients() /** * LEGACY * OnSimpleAccessControlFormSubmit * @returns {Boolean} */ function OnSimpleAccessControlFormSubmit() { var tsl = document.ACLForm.DisplayClientList; // build time server list document.ACLForm.ClientList.value = ""; for (var i=0; i"; cell2.colSpan = "2"; cell2.innerHTML = strings.acl.ErrorLoadingConfigDetails; return; } if (ruleEditor == null) { ruleEditor = new RuleEditor(aclList, document.getElementById("RuleEditor")); } if (aclTreeView == null) { aclTreeView = new ACLTreeView(aclList, document.getElementById("RuleTreeView")); } if (ruleDialog == null) { ruleDialog = new RuleDialog(); } if (firmAddDialog == null) { firmAddDialog = new FirmAddDialog(aclList); } if (productAddDialog == null) { productAddDialog = new ProductAddDialog(); } getACLTreeViewInstance().refresh(); getACLTreeViewInstance().loadGlobal(); } /** * Click on radio box "User" in RuleDialog */ function ruleDialogUserRadio() { document.getElementById('UserValue').disabled = false; document.getElementById('HostValue').disabled = true; document.getElementById('SubnetValue').disabled = true; document.getElementById('GroupValue').disabled = true; } /** * Click on radio box "Group" in RuleDialog */ function ruleDialogGroupRadio() { document.getElementById('UserValue').disabled = true; document.getElementById('HostValue').disabled = true; document.getElementById('SubnetValue').disabled = true; document.getElementById('GroupValue').disabled = false; } /** * Click on radio box "Subnet" in RuleDialog */ function ruleDialogSubnetRadio() { document.getElementById('UserValue').disabled = true; document.getElementById('HostValue').disabled = true; document.getElementById('SubnetValue').disabled = false; document.getElementById('GroupValue').disabled = true; } /** * Click on radio box "Host" in RuleDialog */ function ruleDialogHostRadio() { document.getElementById('UserValue').disabled = true; document.getElementById('HostValue').disabled = false; document.getElementById('SubnetValue').disabled = true; document.getElementById('GroupValue').disabled = true; } /** * Click on radio box "Allow" in RuleDialog */ function ruleDialogAllowRadio() { document.getElementById('RuleDialogReserved').disabled = false; document.getElementById('RuleDialogLimit').disabled = false; } /** * Click on radio box "Deny" in RuleDialog */ function ruleDialogDenyRadio() { document.getElementById('RuleDialogReserved').disabled = true; document.getElementById('RuleDialogReserved').value = 0; document.getElementById('RuleDialogLimit').disabled = true; document.getElementById('RuleDialogLimit').value = 0; } /** * Get RuleEditor instance */ function getRuleEditorInstance() { return ruleEditor; } /** * Get ACLTreeView instance */ function getACLTreeViewInstance() { return aclTreeView; } /** * Get RuleDialog instance * @returns {Object} */ function getRuleDialogInstance() { return ruleDialog; } /** * Get FirmAddDialog instance * @returns {Object} */ function getFirmAddDialogInstance() { return firmAddDialog; } /** * Get ProductAddDialog instance * @returns {Object} */ function getProductAddDialogInstance() { return productAddDialog; } /** * ================================== * Class: ACLTreeView * ================================== */ function ACLTreeView(data, container) { this.data = data; this.container = container; } /** * Refresh the ACLTreeView */ ACLTreeView.prototype.refresh = function() { // Create root list and node var rootListGlobal = document.createElement("ul"); var rootListItemSpecific = document.createElement("ul"); var globalNode = document.createElement("li"); globalNode.setAttribute("nodeinfo", "global"); globalNode.appendChild(this.createGlobalLink()); var itemSpecificNode = document.createElement("li"); itemSpecificNode.setAttribute("nodeinfo", "itemspecific"); itemSpecificNode.appendChild(this.createItemSpecificLink()); // Add Firm codes to the list var firmList = document.createElement("ul"); for (var i = 0; i < this.data.FirmCodes.length; i++) { var firmcode = this.data.FirmCodes[i]; // Create list node and add text var firmNode = document.createElement("li"); firmNode.setAttribute("nodeinfo", "fc:" + firmcode.Value); firmNode.appendChild(this.createFirmLink(firmcode)); // Add Product codes current firm code var productList = document.createElement("ul"); if ( null != firmcode.Cluster ) { for (var j = 0; j < firmcode.Cluster.length; j++) { var productcode = firmcode.Cluster[j]; // Create list node, add text and append to products from current firm item var productNode = document.createElement("li"); productNode.setAttribute("nodeinfo", "fc:" + firmcode.Value + "-pc:" + productcode.Value); productNode.appendChild(this.createProductLink(firmcode, productcode)); productList.appendChild(productNode); } } // Add "Add new" to product item list var productAddNode = document.createElement("li"); productAddNode.appendChild(this.createProductItemAddLink(firmcode.Value)); productList.appendChild(productAddNode); // Append product list to firm item node firmNode.appendChild(productList); // Append firm item firmList.appendChild(firmNode); } // Add "Add new" to firm item list var firmAddNode = document.createElement("li"); firmAddNode.appendChild(this.createFirmItemAddLink()); firmList.appendChild(firmAddNode); var divider = document.createElement("div"); divider.setAttribute("class", "divider"); // Set the root elements itemSpecificNode.appendChild(firmList); rootListGlobal.appendChild(globalNode); rootListItemSpecific.appendChild(itemSpecificNode); // Clear html element and set new data this.container.innerHTML = ""; this.container.appendChild(rootListGlobal); this.container.appendChild(divider); this.container.appendChild(rootListItemSpecific); }; /** * Creates the link for global node * @returns {Element} */ ACLTreeView.prototype.createGlobalLink = function() { var link = document.createElement("a"); link.setAttribute("href", "javascript:getACLTreeViewInstance().loadGlobal()"); link.appendChild(document.createTextNode(strings.acl.TreeViewNodeGlobal)); return link; }; /** * Creates the link for item specific node * @returns {Element} */ ACLTreeView.prototype.createItemSpecificLink = function() { var link = document.createElement("a"); link.setAttribute("href", "javascript:getACLTreeViewInstance().loadItemSpecific()"); link.appendChild(document.createTextNode(strings.acl.TreeViewNodeItemSpecific)); return link; }; /** * Creates the link for a firm item node * @returns {Element} */ ACLTreeView.prototype.createFirmLink = function(firmcode) { var link = document.createElement("a"); link.setAttribute("href", "javascript:getACLTreeViewInstance().loadFirmcode(" + firmcode.Value + ")"); link.appendChild(document.createTextNode(firmcode.Value + " (" + firmcode.Text + ")")); return link; }; /** * Creates the link for a "Add firm item" node * @returns {Element} */ ACLTreeView.prototype.createFirmItemAddLink = function() { var link = document.createElement("a"); link.setAttribute("href", "javascript:getACLTreeViewInstance().openAddFirmItemDialog()"); link.appendChild(document.createTextNode(strings.acl.TreeViewAddFC)); return link; }; /** * Creates the link for a product item node * @returns {Element} */ ACLTreeView.prototype.createProductLink = function(firmcode, productcode) { var link = document.createElement("a"); link.setAttribute("href", "javascript:getACLTreeViewInstance().loadProductcode(" + firmcode.Value + ",'" + productcode.Value + "')"); link.appendChild(document.createTextNode(productcode.Value + " (" + productcode.Text + ")")); return link; }; /** * Creates the link for a "Add product item" node * @returns {Element} */ ACLTreeView.prototype.createProductItemAddLink = function(firmcode) { var link = document.createElement("a"); link.setAttribute("href", "javascript:getACLTreeViewInstance().openAddProductItemDialog(" + firmcode + ")"); link.appendChild(document.createTextNode(strings.acl.TreeViewAddPC)); return link; }; /** * Return the data of the view * @returns {Object} */ ACLTreeView.prototype.getData = function() { return this.data; }; /** * Open Dialog for adding a product code * @param firmitem */ ACLTreeView.prototype.openAddProductItemDialog = function(firmitem) { for (var i = 0; i < this.data.FirmCodes.length; i++) { var firmObject = this.data.FirmCodes[i]; if (firmObject.Value == firmitem) { getProductAddDialogInstance().show(firmObject); break; } } }; /** * Open Dialog for adding a firm code */ ACLTreeView.prototype.openAddFirmItemDialog = function() { getFirmAddDialogInstance().show(); }; /** * Delete a product code from data * @param firmcode * @param productcode */ ACLTreeView.prototype.deleteProductcode = function(firmcode, productcode) { // Search for firmcode var firmindex = undefined; var productindex = undefined; for (var i = 0; i < this.data.FirmCodes.length; i++) { var firmobject = this.data.FirmCodes[i]; if (firmobject.Value == firmcode) { firmindex = i; // Search for product code for (var j = 0; j < firmobject.Cluster.length; j++) { var productobject = firmobject.Cluster[j]; if (productobject.Value == productcode) { productindex = j; break; } } break; } } if (firmindex !== undefined && productindex !== undefined) { this.data.FirmCodes[firmindex].Cluster.splice(productindex, 1); acl_unsaved_changes = true; this.refresh(); this.loadFirmcode(firmcode); } }; /** * Delete a firm code from data * @param firmcode */ ACLTreeView.prototype.deleteFirmcode = function(firmcode) { // Search for firmcode var index = undefined; for (var i = 0; i < this.data.FirmCodes.length; i++) { var firmobject = this.data.FirmCodes[i]; if (firmobject.Value == firmcode) { index = i; break; } } if (index !== undefined) { this.data.FirmCodes.splice(index, 1); acl_unsaved_changes = true; this.refresh(); getACLTreeViewInstance().loadItemSpecific(); } }; /** * Highlight Node */ ACLTreeView.prototype.highlight = function(nodeinfo) { var allElements = Utils.findElementWithAttribut(this.container, "nodeinfo", null, "a"); for (var i = 0; i < allElements.length; i++) { allElements[i].childNodes[0].removeAttribute("class"); } var highlightElement = Utils.findElementByAttribut(this.container, "nodeinfo", nodeinfo, null, "a"); highlightElement[0].childNodes[0].setAttribute("class", "highlight"); }; /** * Load Global ruleset in RuleEditor */ ACLTreeView.prototype.loadGlobal = function() { this.highlight("global"); getRuleEditorInstance().loadGlobal(); }; /** * Load item specified entry screen in RuleEditor */ ACLTreeView.prototype.loadItemSpecific = function() { // TODO highlight this node // TODO load item specific entry screen this.highlight("itemspecific"); getRuleEditorInstance().loadItemSpecific(); }; /** * Load ruleset for specified firmcode in RuleEditor */ ACLTreeView.prototype.loadFirmcode = function(firmcode) { this.highlight("fc:" + firmcode); getRuleEditorInstance().loadFirmcode(firmcode); }; /** * Load ruleset for specified productcode in RuleEditor */ ACLTreeView.prototype.loadProductcode = function(firmcode, productcode) { this.highlight("fc:" + firmcode + "-" + "pc:" + productcode); getRuleEditorInstance().loadProductcode(firmcode, productcode); }; /** * ================================== * Enum: _ObjectType * ================================== */ function _ObjectType() { this.Global = "AccessControlList"; this.FirmCode = "FirmItem"; this.ProductCode = "Cluster"; } var ObjectType = new _ObjectType(); /** * ================================== * Enum: _RuleType * ================================== */ function _RuleType() { this.Host = "Host"; this.Subnet = "Subnet"; this.Group = "Group"; this.User = "User"; this.Default = "Default"; } var RuleType = new _RuleType(); /** * ================================== * Enum: _ActionType * ================================== */ function _ActionType() { this.Allow = "Allow"; this.Deny = "Deny"; } var ActionType = new _ActionType(); /** * ================================== * Class: RuleEditor * ================================== */ function RuleEditor(data, container) { this.container = container; this.data = data; this.currentObject = null; this.currentFirmcode = null; this.currentProductcode = null; } /** * Load Global ruleset in RuleEditor */ RuleEditor.prototype.loadGlobal = function() { this.setObject(this.data); }; /** * Load item specific entry screen in RuleEditor */ RuleEditor.prototype.loadItemSpecific = function() { this.container.innerHTML = ""; var headline = document.createElement("h1"); headline.innerHTML = strings.acl.ItemSpecificRulesetHeadline; this.container.appendChild(headline); var description = document.createElement("p"); description.innerHTML = strings.acl.ItemSpecificRulesetDescription; this.container.appendChild(description); }; /** * Load ruleset for specified firmcode in RuleEditor */ RuleEditor.prototype.loadFirmcode = function(firmcode) { // Search in this.data for firmcode for (var i = 0; i < this.data.FirmCodes.length; i++) { var firmobject = this.data.FirmCodes[i]; if (firmobject.Value == firmcode) { // Effectively load ruleset this.setObject(firmobject, firmcode); break; } } }; /** * Load ruleset for specified productcode in RuleEditor */ RuleEditor.prototype.loadProductcode = function(firmcode, productcode) { // Search in this.data for firmcode for (var i = 0; i < this.data.FirmCodes.length; i++) { var firmobject = this.data.FirmCodes[i]; if (firmobject.Value == firmcode) { // Search for product code for (var j = 0; j < firmobject.Cluster.length; j++) { var productobject = firmobject.Cluster[j]; if (productobject.Value == productcode) { // Effectively load ruleset this.setObject(productobject, firmcode, productcode); break; } } break; } } }; /** * Effectively load ruleset from object in RuleEditor * @param optional firmcode * @param optional productcode */ RuleEditor.prototype.setObject = function(object, firmcode, productcode) { this.currentObject = object; this.currentFirmcode = firmcode; this.currentProductcode = productcode; this.container.innerHTML = ""; if (object === undefined || object === null) { return; } // Check type var type = null; try { if (object.__type == ObjectType.Global) { type = ObjectType.Global; } else if (object.__type == ObjectType.FirmCode) { type = ObjectType.FirmCode; } else if (object.__type == ObjectType.ProductCode) { type = ObjectType.ProductCode; } else { console.error("Unknown object.__type!"); return; } } catch (e) { console.error("Unkndown object: " + e); return; } // Create headline var headline = document.createElement("h1"); if (type == ObjectType.Global) { headline.appendChild(document.createTextNode(strings.acl.RuleEditorHeadlineGlobal)); var headline_description = document.createElement("p"); this.container.appendChild(headline); var description = document.createElement("p"); description.innerHTML = strings.acl.RuleEditorGlobalDescription; headline_description.appendChild(description); this.container.appendChild(headline_description); } else if (type == ObjectType.FirmCode) { headline.appendChild(document.createTextNode(strings.acl.RuleEditorHeadlineFirmCode + ": " + object.Value + " (" + object.Text + ")")); this.container.appendChild(headline); } else if (type == ObjectType.ProductCode) { headline.appendChild(document.createTextNode(strings.acl.RuleEditorHeadlineProductCode + ": " + object.Value + " (" + object.Text + ")")); this.container.appendChild(headline); } // Add subline under headline if (type == ObjectType.ProductCode) { var subline = document.createElement("h2"); subline.appendChild(document.createTextNode(strings.acl.RuleEditorLicenseQuantity + ": " + object.LicenseQuantity)); this.container.appendChild(subline); } this.container.appendChild(document.createElement("br")); // Create "Add New Rule Button var newRule = document.createElement("div"); newRule.setAttribute("id", "NewRuleButton"); newRule.setAttribute("class", "LinkBox"); newRule.appendChild(this.createAddRuleLink()); this.container.appendChild(newRule); this.container.appendChild(document.createElement("br")); // Iterate through all rules for this object var rules = document.createElement("div"); for (var i = 0; i < object.Rules.length; i++) { var rule = object.Rules[i]; if (rule.Type == RuleType.Default) { // Add "default" rule var currentRuleDiv = document.createElement("div"); currentRuleDiv.setAttribute("id", "DefaultRule"); currentRuleDiv.appendChild(document.createTextNode(strings.acl.RuleTypeDefault)); currentRuleDiv.appendChild(document.createElement("br")); var radioAllow = document.createElement("input"); radioAllow.setAttribute("type", "radio"); radioAllow.setAttribute("name", "DefaultAction"); radioAllow.setAttribute("value", "Allow"); radioAllow.setAttribute("onclick", "javascript:getRuleEditorInstance().setDefaultAllow()"); var radioDeny = document.createElement("input"); radioDeny.setAttribute("type", "radio"); radioDeny.setAttribute("name", "DefaultAction"); radioDeny.setAttribute("value", "Deny"); radioDeny.setAttribute("onclick", "javascript:getRuleEditorInstance().setDefaultDeny()"); // Set checked state if (rule.Action == ActionType.Allow) { radioAllow.setAttribute("checked", "checked"); } else if (rule.Action == ActionType.Deny) { radioDeny.setAttribute("checked", "checked"); } else { console.warn("Error parsing rule!"); } currentRuleDiv.appendChild(radioAllow); currentRuleDiv.appendChild(document.createTextNode(strings.acl.RuleActionAllow + "\u00a0")); currentRuleDiv.appendChild(radioDeny); currentRuleDiv.appendChild(document.createTextNode(strings.acl.RuleActionDeny + "\u00a0")); rules.appendChild(currentRuleDiv); } else { // Add normal rule // Create dom elements var currentRuleDiv = document.createElement("div"); var table = document.createElement("table"); var row = document.createElement("tr"); var leftColumn = document.createElement("td"); var rightColumn1 = document.createElement("td"); var rightColumn2 = document.createElement("td"); leftColumn.setAttribute("class", "RuleLeftColumn"); rightColumn1.setAttribute("class", "RuleRightColumn1"); rightColumn2.setAttribute("class", "RuleRightColumn2"); // Add Type of rule if (rule.Type == RuleType.Host) { leftColumn.appendChild(document.createTextNode(strings.acl.RuleTypeHost + ": " + rule.Value)); } else if (rule.Type == RuleType.Subnet) { leftColumn.appendChild(document.createTextNode(strings.acl.RuleTypeSubnet + ": " + rule.Value)); } else if (rule.Type == RuleType.Group) { leftColumn.appendChild(document.createTextNode(strings.acl.RuleTypeGroup + ": " + rule.Value)); } else if (rule.Type == RuleType.User) { leftColumn.appendChild(document.createTextNode(strings.acl.RuleTypeUser + ": " + rule.Value)); } else { console.warn("Error parsing rule!"); } leftColumn.appendChild(document.createElement("br")); // Add action of rule if (rule.Action == ActionType.Allow) { leftColumn.appendChild(document.createTextNode(strings.acl.RuleAction + ": " + strings.acl.RuleActionAllow)); } else if (rule.Action == ActionType.Deny) { leftColumn.appendChild(document.createTextNode(strings.acl.RuleAction + ": " + strings.acl.RuleActionDeny)); } else { console.warn("Error parsing rule!"); } leftColumn.appendChild(document.createElement("br")); // Add Reserved Licenses if (rule.Reserved != 0) { leftColumn.appendChild(document.createTextNode(strings.acl.RuleLqReserved + ": " + rule.Reserved)); leftColumn.appendChild(document.createElement("br")); } // Add Limited Licenses if (rule.Limit != 0) { leftColumn.appendChild(document.createTextNode(strings.acl.RuleLqLimit + ": " + rule.Limit)); leftColumn.appendChild(document.createElement("br")); } // Add action buttons on the right rightColumn1.appendChild(this.createEditLink(i)); rightColumn1.appendChild(document.createElement("br")); rightColumn1.appendChild(this.createDeleteLink(i)); rightColumn1.appendChild(document.createElement("br")); // Only add upwards link, if not the first if (i != 0) { rightColumn2.appendChild(this.createUpLink(i)); } rightColumn2.appendChild(document.createElement("br")); // Only add downwards link, if not the last if (i != object.Rules.length - 2) { // -2, cause of "default rule", which is unmovable rightColumn2.appendChild(this.createDownLink(i)); } rightColumn2.appendChild(document.createElement("br")); // Add dom elements row.appendChild(leftColumn); row.appendChild(rightColumn1); row.appendChild(rightColumn2); table.appendChild(row); currentRuleDiv.appendChild(table); rules.appendChild(currentRuleDiv); rules.appendChild(document.createElement("br")); } } this.container.appendChild(rules); this.container.appendChild(document.createElement("br")); // Add delete ruleset button if (type != ObjectType.Global) { // Can only show delete button, if we have enough information if ((type == ObjectType.FirmCode && firmcode !== undefined) || (type == ObjectType.ProductCode && firmcode !== undefined && productcode !== undefined)) { var deleteRuleset = document.createElement("div"); deleteRuleset.setAttribute("id", "DeleteRuleset"); deleteRuleset.setAttribute("class", "LinkBox"); deleteRuleset.appendChild(this.createDeleteRulesetLink(firmcode, productcode)); this.container.appendChild(deleteRuleset); this.container.appendChild(document.createElement("br")); } } }; /** * Returns the object, which is currently associated with this RuleEditor. This is the object, which rules are shown in the editor. * @returns {Object} */ RuleEditor.prototype.getCurrentObject = function() { return this.currentObject; }; /** * Delete specified rule * @param ruleIndex */ RuleEditor.prototype.deleteRule = function(ruleIndex) { this.currentObject.Rules.splice(ruleIndex, 1); acl_unsaved_changes = true; this.refresh(); }; /** * Move specified rule upwards * @param ruleIndex */ RuleEditor.prototype.moveRuleUp = function(ruleIndex) { if (ruleIndex == 0) { return; } // Swap var temp = this.currentObject.Rules[ruleIndex]; this.currentObject.Rules[ruleIndex] = this.currentObject.Rules[ruleIndex - 1]; this.currentObject.Rules[ruleIndex - 1] = temp; acl_unsaved_changes = true; this.refresh(); }; /** * Move specified rule downwards * @param ruleIndex */ RuleEditor.prototype.moveRuleDown = function(ruleIndex) { if (ruleIndex + 2 == this.currentObject.Rules.length) { return; } // Swap var temp = this.currentObject.Rules[ruleIndex]; this.currentObject.Rules[ruleIndex] = this.currentObject.Rules[ruleIndex + 1]; this.currentObject.Rules[ruleIndex + 1] = temp; acl_unsaved_changes = true; this.refresh(); }; /** * Refresh RuleEditor */ RuleEditor.prototype.refresh = function() { this.setObject(this.currentObject, this.currentFirmcode, this.currentProductcode); }; /** * Set default policy for this ruleset to allow */ RuleEditor.prototype.setDefaultAllow = function() { this.currentObject.Rules[this.currentObject.Rules.length - 1].Action = ActionType.Allow; acl_unsaved_changes = true; }; /** * Set default policy for this ruleset to deny */ RuleEditor.prototype.setDefaultDeny = function() { this.currentObject.Rules[this.currentObject.Rules.length - 1].Action = ActionType.Deny; acl_unsaved_changes = true; }; /** * Create link for edit rule button * @returns {Element} */ RuleEditor.prototype.createEditLink = function(ruleIndex) { var link = document.createElement("a"); link.setAttribute("href", "javascript:getRuleEditorInstance().showRuleDialogAdd(" + ruleIndex + ")"); link.appendChild(document.createTextNode(strings.acl.RuleEditorEdit)); return link; }; /** * Create link for delete rule button * @returns {Element} */ RuleEditor.prototype.createDeleteLink = function(ruleIndex) { var link = document.createElement("a"); link.setAttribute("href", "javascript:getRuleEditorInstance().deleteRule(" + ruleIndex + ")"); link.appendChild(document.createTextNode(strings.acl.RuleEditorDelete)); return link; }; /** * Create link for move upwards button * @returns {Element} */ RuleEditor.prototype.createUpLink = function(ruleIndex) { var link = document.createElement("a"); link.setAttribute("href", "javascript:getRuleEditorInstance().moveRuleUp(" + ruleIndex + ")"); var img = document.createElement("img"); img.setAttribute("src", "images/arrow_up.png"); img.setAttribute("alt", strings.acl.RuleEditorMoveUp); img.style.width = "20px"; img.style.height = "20px"; link.appendChild(img); return link; }; /** * Create link for move downwards button * @returns {Element} */ RuleEditor.prototype.createDownLink = function(ruleIndex) { var link = document.createElement("a"); link.setAttribute("href", "javascript:getRuleEditorInstance().moveRuleDown(" + ruleIndex + ")"); var img = document.createElement("img"); img.setAttribute("src", "images/arrow_down.png"); img.setAttribute("alt", strings.acl.RuleEditorMoveDown); img.style.width = "20px"; img.style.height = "20px"; link.appendChild(img); return link; }; /** * Create link for add new rule button * @returns {Element} */ RuleEditor.prototype.createAddRuleLink = function() { var link = document.createElement("a"); link.setAttribute("href", "javascript:getRuleEditorInstance().showRuleDialogAdd()"); link.appendChild(document.createTextNode(strings.acl.RuleEditorAdd)); return link; }; /** * Create link for delete ruleset button * @returns {Element} */ RuleEditor.prototype.createDeleteRulesetLink = function(firmcode, productcode) { var link = document.createElement("a"); if (firmcode !== undefined) { if (productcode !== undefined) { // Delete productcode link.setAttribute("href", "javascript:getRuleEditorInstance().deleteProductRuleset(" + firmcode + ",'" + productcode + "')"); } else { // Delete firmcode link.setAttribute("href", "javascript:getRuleEditorInstance().deleteFirmRuleset(" + firmcode + ")"); } } link.appendChild(document.createTextNode(strings.acl.RuleEditorDeleteAll)); return link; }; /** * Let user confirm ruleset deletion and, if so, execute it */ RuleEditor.prototype.deleteProductRuleset = function(firmcode, productcode) { var sure = confirm(strings.acl.RuleEditorConfirmDeletePi); if (sure) { getACLTreeViewInstance().deleteProductcode(firmcode, productcode); } }; /** * Let user confirm ruleset deletion and, if so, execute it */ RuleEditor.prototype.deleteFirmRuleset = function(firmcode) { var sure = confirm(strings.acl.RuleEditorConfirmDeleteFi); if (sure) { getACLTreeViewInstance().deleteFirmcode(firmcode); } }; /** * Show RuleDialog to add a new Rule */ RuleEditor.prototype.showRuleDialogAdd = function(ruleIndex) { getRuleDialogInstance().show(this.currentObject, ruleIndex); }; /** * ================================== * Enum: RuleDialogAction * ================================== */ function _RuleDialogAction() { this.Add = "Add"; this.Edit = "Edit"; } var RuleDialogAction = new _RuleDialogAction(); /** * ================================== * Class: RuleDialog * ================================== */ function RuleDialog() { this.data = null; this.action = null; this.ruleIndex = undefined; } /** * Show the RuleDialogBox * @param rulesetObject * @param ruleIndex */ RuleDialog.prototype.show = function(rulesetObject, ruleIndex) { this.data = rulesetObject; this.ruleIndex = ruleIndex; // Set action and fill form if (ruleIndex === undefined) { this.action = RuleDialogAction.Add; this.setFormContent(null, this.data.__type); document.getElementById("RuleDialogHeader").innerHTML = strings.acl.RuleDialogHeaderAdd; } else { this.action = RuleDialogAction.Edit; this.setFormContent(this.data.Rules[ruleIndex], this.data.__type); document.getElementById("RuleDialogHeader").innerHTML = strings.acl.RuleDialogHeaderEdit; } // Show dialog var ruleDialog = document.getElementById("RuleDialogWithOverlay"); ruleDialog.style.display = "block"; }; /** * Set the content of the RuleDialog form to data contained in rule * @param rule */ RuleDialog.prototype.setFormContent = function(rule, type) { if (rule === undefined || rule === null) { rule = { "__type": "Rule", "Action": "Allow", "Type": "Host", "Value": "", "Reserved": 0, "Limit": 0 }; } // Set radio boxes Utils.checkRadio("RuleDialogAction", rule.Action); Utils.checkRadio("RuleType", rule.Type); Utils.getCheckedRadio("RuleDialogAction").onclick(); // Need for activation/deactivation of limit and reserved Utils.getCheckedRadio("RuleType").onclick(); // Need for activation of the corresponding text input // Clear first all text input document.getElementById("HostValue").value = ""; document.getElementById("SubnetValue").value = ""; document.getElementById("UserValue").value = ""; document.getElementById("GroupValue").value = ""; // Set input text, for which type is set if (rule.Type == RuleType.Host) { document.getElementById("HostValue").value = rule.Value; } else if (rule.Type == RuleType.Subnet) { document.getElementById("SubnetValue").value = rule.Value; } else if (rule.Type == RuleType.User) { document.getElementById("UserValue").value = rule.Value; } else if (rule.Type == RuleType.Group) { document.getElementById("GroupValue").value = rule.Value; } // Show/hide and set number inputs document.getElementById("RuleDialogReserved").value = rule.Reserved; document.getElementById("RuleDialogLimit").value = rule.Limit; if (type == ObjectType.ProductCode) { document.getElementById("ReservedAndLimitInput").style.display = "block"; } else { document.getElementById("ReservedAndLimitInput").style.display = "none"; } }; /** * RuleDialog ok action */ RuleDialog.prototype.ok = function() { // Empty rule var rule = { "__type": "Rule", "Action": "", "Type": "", "Value": "", "Reserved": 0, "Limit": 0 }; // Fill rule with data rule.Action = Utils.getCheckedRadio("RuleDialogAction").value; rule.Type = Utils.getCheckedRadio("RuleType").value; if (rule.Type == RuleType.Host) { rule.Value = document.getElementById("HostValue").value; } else if (rule.Type == RuleType.Subnet) { rule.Value = document.getElementById("SubnetValue").value; } else if (rule.Type == RuleType.User) { rule.Value = document.getElementById("UserValue").value; } else if (rule.Type == RuleType.Group) { rule.Value = document.getElementById("GroupValue").value; } else { console.error("Unknown rule type!"); } rule.Reserved = parseInt(document.getElementById("RuleDialogReserved").value); rule.Limit = parseInt(document.getElementById("RuleDialogLimit").value); // Validate rule if (this.data.__type == ObjectType.ProductCode) { if (rule.Limit != 0 && rule.Reserved > rule.Limit) { alert(strings.acl.ErrorReservedHigherThanLimit); return; } else if (rule.Reserved > this.data.LicenseQuantity || rule.Limit > this.data.LicenseQuantity) { alert(strings.acl.ErrorReservedOrLimitHigherThanLQ); return; } } if (rule.Type == RuleType.Host) { var ipv4Address = /^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/; var ipv6Address = /^((?=.*::)(?!.*::.+::)(::)?([\dA-F]{1,4}:(:|\b)|){5}|([\dA-F]{1,4}:){6})((([\dA-F]{1,4}((?!\3)::|:\b|$))|(?!\2\3)){2}|(((2[0-4]|1\d|[1-9])?\d|25[0-5])\.?\b){4})$/i; var hostname = /^(([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]*[a-zA-Z0-9])\.)*([A-Za-z0-9]|[A-Za-z0-9][A-Za-z0-9\-]*[A-Za-z0-9])$/; if (!ipv4Address.test(rule.Value) && !ipv6Address.test(rule.Value) && !hostname.test(rule.Value)) { alert(strings.acl.ErrorInvalidHostValue); return; } } else if (rule.Type == RuleType.Subnet) { var ipv4Subnet = /^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\/([12]?[0-9]|3[012])$/; if (!ipv4Subnet.test(rule.Value)) { alert(strings.acl.ErrorInvalidSubnetValue); return; } } else if (rule.Type == RuleType.User) { var emptyValue = /^\s*$/; if (emptyValue.test(rule.Value)) { alert(strings.acl.ErrorEmptyUserValue); return; } } else if (rule.Type == RuleType.Group) { var emptyValue = /^\s*$/; if (emptyValue.test(rule.Value)) { alert(strings.acl.ErrorEmptyGroupValue); return; } } // Add or edit the rule if (this.action == RuleDialogAction.Edit) { this.data.Rules.splice(this.ruleIndex, 1, rule); } else { // check for duplicates for (var i = 0; i 0) { for (var j = 0; j < recursion.length; j++) { result.push(recursion[j]); } } } } } return result; }; /** * Find elements which has specified attribut, by searching all elements down from root node. * @param root * @param attribut * @param value * @param depth * @param exitOn */ _Utils.prototype.findElementWithAttribut = function(root, attribut, depth, exitOn) { var result = []; // Check if we can cancel if ((depth !== undefined && depth !== null && depth === 0) || (exitOn !== undefined && exitOn !== null && root.nodeName.toLowerCase() == exitOn.toLowerCase())) { return result; } // Search all child nodes for (var i = 0; i < root.childNodes.length; i++) { var node = root.childNodes[i]; if (node.nodeType == 1) { // 1 = Elementknoten // Check this node if (node.getAttribute(attribut) !== null) { result.push(node); } if (node.hasChildNodes()) { var recursion = []; // Search all child nodes recursiv if (depth !== undefined && depth !== null) { recursion = this.findElementWithAttribut(node, attribut, depth - 1, exitOn); } else { recursion = this.findElementWithAttribut(node, attribut, null, exitOn); } // All elements from recursion to result if (recursion !== null && recursion.length > 0) { for (var j = 0; j < recursion.length; j++) { result.push(recursion[j]); } } } } } return result; }; CodeMeter | WebAdmin
CmContainer:

 CodeMeter | WebAdmin

 

Operation completed successfully - please wait.
 CodeMeter | WebAdmin

 

Operation completed successfully - please wait.
function OpenHelp(strPage) { var strLocation = strPage.substring(1, strPage.length-1) window.open("$help/CmUserHelp/us/index.html?" + strLocation.toLowerCase()); } // OpenHelp() function CheckIp(field) { var valid = "0123456789abcdefghijklmnopqrstuvwxyz-." var ok = true var temp; for (var i=0; i CodeMeter | WebAdmin
Access Control Mode:
CodeMeter Server is running in unknown Access Mode.




Clients:
Access FSB:  enabled

         

Changes only take effect after restarting CodeMeter.

 CodeMeter | WebAdmin

Backup

Backup Path:
Backup Interval:   hours
Certified Time:   update before each backup
 CodeMeter | WebAdmin

License Borrowing

Overwrite Entry Settings
 - Maximum Borrow Duration:   Minutes
 - Maximum Borrow Quantity:   Licenses
 - Server Identification:
 CodeMeter | WebAdmin

Certified Time

Time Server:
Time Out: sec
 CodeMeter | WebAdmin

WebAdmin

Allow Only Local Access (unrestricted)
Require Authentication: User:
Password:
Verify Password:
Remote Read *: allowed
Language *:

(*) Changes only take effect after restarting CodeMeter

 CodeMeter | WebAdmin

Proxy Settings

Proxy Support:
 - Proxy Server:
 - Proxy Port:

 

 

Authentication enabled
 - Proxy User:
 - Proxy Password:
 CodeMeter | WebAdmin

Server

Bind Address: $WIBU#Static#BindIpAddress$

Run Network Server:
Network Port *:

Run CmWAN Server:
CmWAN Port *:

(*) Changes only take effect after restarting CodeMeter

 CodeMeter | WebAdmin

Network

Server Search List:
UDP Waiting Time *: ms

(*) Changes only take effect after restarting CodeMeter

 CodeMeter | WebAdmin

Advanced Configuration Mode

Key Value
$WIBU_Array#Key$

Some changes require restarting your applications or computer!

 CodeMeter | WebAdmin
 CodeMeter | WebAdmin
CmContainer: $WIBU#Parameter#BoxSerial$
Looking for reserved Firm Items...

 

 CodeMeter | WebAdmin

Firm Items of CmContainer $WIBU#Parameter#BoxSerial$

Firm Code Text Precise Time
$WIBU_Array#FirmCode$ $WIBU_Array#FirmItemText$ $WIBU_Array#FirmPreciseTime$
 CodeMeter | WebAdmin

ERROR 200

The specified entry ($WIBU#Parameter#FirmCode$:$WIBU#Parameter#ProductCode$) was not found
in CmContainer $WIBU#Parameter#BoxSerial$.
 CodeMeter | WebAdmin

ERROR 201

The specified CmContainer ($WIBU#Parameter#BoxSerial$) cannot be found.
 CodeMeter | WebAdmin

ERROR 27

The specified Firm Code ($WIBU#Parameter#FirmCode$) is wrong.
 CodeMeter | WebAdmin

ERROR 400

The Management operation failed.

See the logfile for more details.

 CodeMeter | WebAdmin

ERROR 402

The Free Memory command failed.
 CodeMeter | WebAdmin

ERROR 403

The Backup command failed.
 CodeMeter | WebAdmin

ERROR 405

Restoring CmDongle failed.
 CodeMeter | WebAdmin

Warning

There was no CmContainer found.
CodeMeter | WebAdmin

ERROR 52

The selected CmContainer ($WIBU#Parameter#BoxSerial$) is disabled or locked.
PNG  IHDRh6sRGBgAMA a cHRMz&u0`:pQ< pHYs+ZIDAT8Ocdhh` 5j"dn ,4 ARb5M%B,ஂ{[iHJHhسIENDB` CodeMeter | WebAdmin
Host Name:
IP Address: $WIBU#Dynamic#LocalIpAddress$
Operating System: $WIBU#Static#OS$
Server Startup: $WIBU#Static#Uptime$
Runtime Version: $WIBU#Static#RuntimeVersion$
Server Version: $WIBU#Static#ServerVersion$
WebAdmin Version: 5.21
$WIBU#Static#IniFile$
 CodeMeter | WebAdmin

HTTP ERROR 403

The access to the CodeMeter Server was not permitted.
PNG  IHDRTsRGBgAMA a cHRMz&u0`:pQ<}IIDATx^oeyߧE+[&ya0n~Ѫ0.T)B+pն [K-TiJ J"E:EѢ"-Ւ⟊HHn+Z{>wfs.3̜}f93Ͼ @s @s~'@ ˤ8 @@j@ %t! @h%n @&VK~ @"VK @v @2;UbVm$4@V/Cw~ʅVK @Wf3D{pd+VKMR @J%pMA#lG? ?>~{aH3əGaÕr 9 @%1trZlBN\AHji! +%K9'>d%tӃ; # E*2wY*t ˶~VKQC @CZJ(4m>ws!ǏL"((DUm=ji$ @@蕽bOϝ'|+ g:  kZTNm1 @WbzH穧#̳:߅!O?9[xe!ecj#"U2#R1 @WpԎB聯>C_}=3EL}ꧬ#uj!6>SB@XB V,D"cϜGDBkϡ+8M$69 'api+? ͢pȍ ;}m9w? )",l#A,Pwʭ]J:^{7چPoi/wZ- }ɯ<۽:/{E_0-0GPK4vᵋg(4vG藊'ZMM(YP﨓Il TFH}Z}6LwDVKWw6W]K٫sK"_?sݺ=$__k//t-Ws< TbUԠ7^wuԥ:% Z&sKnu@WcIOQ,]JڗݓJށ4.IA'a+oO$ᮇyǟ|٧*Qa/h]ׇf%xjiT-]F1GB!JL .gDnpcĺ3YVֿrQ|U {1r|EbӃs{3hOUsY2B-V(:Xi)jQgC7.7j`o/J_ЦiIdt  p 94TD䑶}ߏ)诶%mBj#&d=yn}O}_GaTS=tTqi3O~yƒEТWA[6(II;ݿ/&cn~IoccI;|{)o,NZV߬q%u215R(~,ճHg6<5T1zP[8g5]a;N;l}u8%+%4PKh+*R?vfxjLgMT-N6k5 7h!¬ 1ݬ:y| 8vRv%mz-.amI@VEAŁ#hmZnxn|78gn~ѥc,:(.T#9??T/>ܠΟmjWJCRQ~{ GhBF͛5#A7YMuRʽG#7^6#]LYp~ :m?&3˟9Wr&9ۆ6UP//JukmƸI7蠣ՊKtR8NfVK$[ e(T,}b}_dz_etf`;8kpz6~{R֑(ԏ*|;r][S~& C{4L 7˂IdS-*JZ5 $4iJ\8WKꕚTCCvd̂)jjCJ sެ\am^@5ɮJ.^)vREcgyuZY{%ޥ0j*¤Ì+vRoHOYljag&R}}X'-k-Y-徑k푊4O 4 u,eO%mGInpY$Iy\589(1طT d)נjd *PKLZ{4%Si-J*|\xbűGD,Sɪƙ9:)|Wn݉/ByO*L?ςٯQo[K:SW2i誷s%A*%SFJhx}HI.sb%.bJ%!ɐ:Z*hu;6˭[9m^kʎn',0EAv;X]K\%MdLbҏ|BT"iEWRЪ$eS;>X,e;3f;=!4myU8Ei-;+RťG/KdyS-IQ*r:YڿغC^+芠[x4sZAwlxSsp#),"ì>eR.HkOtRG|"I*+ksjId,yyOUY3^ P8PKL Y+w,٬cim!?v/W?߹xQIK>*I>>o`^鮹_uԒ*=2Hyvym+G'J~, *^"]ʏ9𔓅QS'ڋDœ%eb# 6^^*!/xń7Y+B UHG3_˂CWoL(ˮ# ̂) #5ȰH%N\*ԏb6U%Z!:y/i>7z2F"IaP+uIuTK:€ZZaV҈Zfg*+p^_~WgݸKP#G}%.S?]PϽRpΡON\إjIg e7BXMKsj)-ufYIv !p詥U'Zsr,՘iôR*uxgWaӸW &=Io5G{j7yVK'hx[[ Z.! 8q o3A浧B*c͗d|ldx%tF*gShN-eXQ4N𳪨2QmLaO|M+ݖ$s|N#lEgA"B~@G-֥0&? VWK2pu;c5;R+@:p/~ n\~W)I5Y;0v^>8L 0I0oM mZC3Ǜ?+)Z+6zZӶ=qF;I;S椼UoXg *&Ne~l7*2K̫xsjHլM!UK#BCWKӻVwy̋jVoM=]:f}KF22 -allhq,]S&_לwԒf+?8~"Ԁ7&s+q֥zӒ;}RRQ1[25;R@G-QW-Ҧ%-56-x ֳ}Z])=zQM9 R{Saa}F|~+wZjX+7zOjxUHכ yTy>ۮTN-ޣ~Y%SZ6}K/ѺK{-Y-]iL\VdlE~@!5ȶVțO[TUmMN޺ToZSK9[:(f 0Rc` MKr޴_{N7-cI%rvkp;owPcĒ\S0yJnJ-}/J-˾%bho w7wNyEl%[5OVJW:&ԴJ{e?_9s(.v |Ӂt%:ITB*Y-MHJI!}A۫seuWckm>_[y yrAl1>eu2EuJI0(6PKa!8.kUKs)}Ͳ pom)ѦZ- :XOƴ \J,ښ)-Kr`zY=L@٫}tTKR<ۯGϿ|||yRq6jqF!B $2BqS5H-E,PŔr#ο#$ʘu&*8? S]5BOęSmQb! #[d`US/Ab~SI)Q][(_ỵo eV`!t Vqko"b:Hlk:#q2?9I`"泶p?IkIZQqDNe"9I} ftjT; snSkz_B~{8cdp|'/m?|=6ȔvCͅѪрHDaas鼒%79\em+~&MݎTLX!iAXcm{^N=0SCj⛊2yNO'-uTʦ#m=?6ƶ@=mv*Ȩ7X*Л{pWǜ[tlpa(W.Npx8Dŋ~nq^\k0Oᔡo4W0ʆ å Nޓ iA"aR)Jږ.oZ-wčO Ϗxr:D۵|Wqf1$zcI<]i֑KƳuo,4U3WsbD2 Y8,} W|"O+긺Węk'QuܹKV^jk7j, iB %lO6*㝠!P`RoJ%?]Z'oyts>݅:ҢX^8ӥw(;UpGHAޥwfmIɂ,XD:}V-ee>͝te]PQcB#toczź;#cLhCMγ9-Jj5R \y ǽ5zzu,,CkT*'/ 7xK](+#-Zۜ2r>uj64W@/vʣ CoP}WkP?d5JemB*, ~ᄋ[Z,?GJ/tȋoq+Ւm>'*i&"`R9ȩS|K_[U'K. |I'$鉜]Aeymi|kK?EM6ff;a>|"K>979g+|o!dBЁ>9n#]RGIJE݈$1uUDgQs*Y6 ⋠Mym"B#= 8~gwm>pxn-wgM6ؖd++,5k] zx8~9~>(iGڪ^EX3I{*Em+Ki7}0gO5O6\VF<-siGuܵZӰ<9ubCd7[ZB)aR]'FIޢbb4fQl/:hEm6o4}L*}SJeՒ&;9ߒ$M"lT8V18LK[-! /~ :q?u9eP5i5Ea&bM vR͒GȦUNؙ+[ J3V*.6ee)3)[DmqdUW蘅7F̜g۬6ۃZӓB3)-9eb1ՒJ!q8hatV9_-祱(nF푓(gT !ˬvqxSnyvW7Fg |HYf,*Nhh 7t.7xNo7c.LON|yZIӉ$u{n96ʣ}1/|B9SٺЅfdQuNjsU;_|ٌI3ymgXC/^{|4H|pb< /WZ~(u7aRub$ΨT/=;K%|_y>}ϬoI+qzV·ePI$*AnZ"d"7Za9JeiTh,ddfĿ#sЏ6Pi*kPTyG-Z2'B#% Wjԟ6]_{d~b ˗fPm-AЉ)A< S)$ĥRV̈́>/˵ +74JY 2 %8;j) N/yr+f-hߘg]hpO!?aCn78I K@}!조Wi5mߒ~7%W&NJVBEH4hAx6e?INA) в~&wc[P$kpKluV⤖4~Z- ַ6n)̕Ns&Ryt;D1v2 ~TH ~EUM{:@mK3Zr:+R*'|\ŷP,tll^3^{M z_Hyd@أ1_YE)*WB՟"Sكk>6aD>sYG>f拙Փ{p9PW.%Yܧ[YS?mՃ64 U?(<ܢVuB(m&{L1J4EdwiS$n)OX9oCdvА7Ox92۫yp㜿cs\m(8m!ץy\T6r("7ǽ:m'kSRTdn-YWHoju533iyCM}[ގfV5W9Y>k&j|]єZ%/QZNJO IY[`4S-/ȍԱbZ0YeAif7= nޓngUG%9"(RKNT\NbR[4pm73/TGLsӄ+0j]E+ԒŲi /J.IyCR(uՒdS2Iz'W-PL-A7^6KƘ"WMG쨟Qv pvr'_# ?{Գ`sFyՒ"Zۦ5ySut#u sf67efDL}kQt("R\kvw=O?͗N^ҹ^oFXثj롨sChDҌط$4,N_n5Db BQ9IHX0&I d7k+z;U$4jRrk^|1ճ0ڰMmLa(ߴ`RO?#ԉH]ܓ9_{~+:C(E%יG_ZU@ED%ċ/b_}$j;. R%OXVqV\rP͏pATJ:_#\iqhٺ a2~7ZíQAoc+(Y+ǵkٟy=N*@uzLƟiKzB0$aAiJ4OmN茦 )SS.#j) %k5xٿ[Y]xI'= ܙY/iжZz/ .r+MMrDЬ9M36r؃: )%8,K8tP*SƻPۣ̕0"+^**j6c@Rye ~).٘|I)ΝW0MV\U]q-n{4tYO7o[nHX=j|˭y^wj`Q|ēnu(ԜUJ.T[t_r%R>eCJ@BC[璼V"IT%#j ) [Fljd>NM6]w lV7byb [m4.A@{W77y y./ Y9Š ;}V0&p,M(gQ$=ju:*i#-ShM#]S VW/Omi[-i=k]pyԜYP&ɉg-ԒftU J(Q(}3:̲Z QSIHCH'N}yV9TTrqNBlj).%KjVr󺔫fq `ߪA&>fBm!_ٚH>;}&seot3qpHⲆP*,V,j O>e_"t)Ïԩ|UѲZR&ѫ뚺ΞЬz ;Bj~Fr 2?V4Te!!EjHqxN) i~ɯtԒP?(!=ƴy+@ :kb~IG@y,r $"HMc+,\8٩c*P*w>s;|i0x0UGt**7!&z4(aR)P*З,qoEnn.EO?<(Q+<ՂQ%S̩v3ۻ3ꘛܥ'nPցsGiDOJ@7Q (VJ*p#=ȠT!H@u m܆I ZpLcnDqcrAfoΏ5 p `S‘k|Gm Jf+#^͗|67{ ťH%xcH`n#ı5͙7ulA:gj͊f76'97YürkNaoܯvע ]JS0ircWԒ6zK-5~7/i|֥XW)K8!EPvjjB{ȗi$,c;ȳ/"3*Y8Q5O XՊޢm$>(>R>> )Ճfk;=J[YFkjO~=4V?7!iF}`I6" Ij!TrGAˆMe<+IdyUP1r4Ɨ\;Dv 9ՠ&_/K9uQJjI9WBm@ţm'z@a_}NQUb} Er磏\[Bmf1~8vV_>(ت0UiR6ݺ*9Ӡ۵s>&H6s3qC Uoȹ÷"7n~hŸ$A盃L18No>Gٞl@mܙ0<6UXxN[M1?'״ȿ2gvݬu5 -+%l%f5:Uчr̳v&'nIZw/JZjXG*$ҏ3=[3Y* _n:nׯr :*M ^@Pw83~7PӔ1Vj%ͅC jͣBڨG\gX4qS(j,D$b- u2˒>?JP:% TJțd^*R΃::^=_G*8Rөl.ҥMS嫪>f&+񶗚 y! ~RIkPy"'h`M,;hlKgʶ骒s\mgh5-Vyemyz' Jx gh 97,B x^/4Ҵh_Z7[:$/K_x+;j)-mD=O!'-嵠ձ# aT(3H0~4-my}uPJēA~,nG>su铓FY)HAФ{] /ݕMR*iGK?arsC/JUkj# ;\V[q>JZUPn3S4Mn)Ad]Ltq=0@(`q5]}KgX΅!.Y}[tۯAd`X ^ؠfجlV$Ni5D LdjEQk%`3;J7R:\xv{k?L&+ sbOsf(Wіi[-yR<>ցC|SU*HvHѢZN0lzDFqӪ(Gy壃N Ŵ\4ghqc{N_ ?eKc%t}Cn3 |B-)A=~PK k)7AYBCu܍}nlʚ3 vžF6g8fJ{kF]nC{~7{ho1`R,e.zɃO*l#tƱ uQtYB6FGfs7%ܬ\gVyhfG^l&b*:dΧ"J/)|j=I cߑ,#6irH-ihՓjʹYwYr/dMCZ~4m}2V!I >ݬiZ^{+UZpڜڊ-7h4}[-I. znt{Bu\"F`fi[(_GU|H!"Zڢ=ˆPK7?JD#UQ}U%;#z..@eHDg ;@*0Yh#SEY97]R\Y٭(tUu߸FY}7ݻ0za},cGuVM|f^ш 3tU`4)P'svC."ۣcLul2!l%Nm ZSW2iSknK{Sqd{T"5WLWgvnSO8m rA5~NRez!Oҳ 7^x); m7 8A۳*G-jIz%͝,kkbOzV̛&I4hQ9ڧ4$V0$)eYDPFV\YW#U+,2y % ֋Q\q>p$2,rե8I9gըo4hnYI,bn}hиa$JDPں-la;eYT,T* e 6Oe鼎뿺󊹅')OEr>Jo"W9DjFMYFkd7U]峓'tnidmhG9?7%%غNh d.kycT7 BF;z;fW4mLZ{i^0_4K0T*~wTbsN0^9+ccɮ(GwI=.jIӡddX렓qN.U脸8EvP:CH!EBiYaLc}S' 5,3[qQ尼d{krB!* 2⼊s)>_ lmvbZFDKDBőpʡ:B\*Y<#09RH!8n~!Nѵ1My"jr5386ĥ~"CU5*Gƭh[;cd`yȷj &E1$q-vvt2ϣ+Ǩ1 Q  ;ÀZr䴹"g.E vhpQsȅ6*P5!jыEGu-hf4P薹F{y*q&/ Lg'=7ߢ_y[Zң,y;VuijJk HRP}Yo=gEqi5cZ*w<|v̛MǷƏVK͠qs^W#,n9t2Ԓθ3)|Uq&gcF\\U}U%F*XRh:OE̩c-l;\e]Qx,껹4yڢaqM՘[a[]_'tsձD&њu*g"qgC5*"\{Ff8mOI6>^-2TA[x5RѮ6i*-3%AH&y*q+Rn$F6;K ܵq;qj3{lUQ=pnPT=j͝Y^vRAڢ|?9Qfݵ{r){!;r'=%9%?H2e#Z? "ZnuMJMiWDVMQVV(:#u,lv iF.Xss -zf'~_.Dݵ͙̍NrRڰĞh~z ؋k/%]9ؘ:#muj24D uc9{\p X4Ӹ'/ Oy1=PW?qIɫf$#ͤLځ5VY% TWR4Λ'~[oB73B'Y^o6՛`p&yFr3eq}Ւ7ܧ3q#l5.Os*I9/yBtvs2r$c:-ӰpkI,)FՂ.Ңu6uwie#ﴚ(v`{h* ͍T%vMTN{µ$EMws=ضVo8q۞EZkyպm-NݎT j٩xuw;) 2%*[6w䖛'wMSMo@xq0t]3<'aa;VN1Ϛ2{vb2[vaCtV5NFƩ tɿ D&;4<[d|;^5L!$=ǭ; Y4eER~G~1S7 ?^7M5Y|M9%x<붆M/j{>r}ޏ9B}\$W:R,hqΡ.Y8uPh}t,kfڽi&fO,}]C7ct~Xޒ;1~>?~Mw˽FɎusOx+U?ս@2wu* sco[ӛ#ݦ ͽ`eauePbaο<(X^Le)WSHH#xf􏥖d _+hZ?48`P"\;.92ZM3q,t&.qt溻Uˆ sErt9D8h>F†|"~Xlj6A<]lm>v 3ۂ^#a涨-ҋ#fΤ8ΧFL$if3RrƄ̓:Eaa]bW"BUtн[Shc-[Աɶӵ,Ċ.W(h4ۢB5`$sq}_7H?BM:f?uAnݑ{ETF]tܲuny .ZٹF.+qs((ڴɶ"U|5Nfw^>D4l@Ͱ-ЬI7;UQo,s˘UfTL'ӴixM~r.wnQ{@4RZLH%oIi(?)*_Ҷ ynA0mvq?8333:?\?rp&NMM113ycT6BXPhXhQTaCsi2Ds66`7Ĩ:6 M9mLMIq7VdShqfڥAlSw4zPt 'ʊ~85نIcewd{-7=?C2?X&n FAnt)7ܢ{T~[JqF{v+&ʶ\1J.vnɲo(r knj @{Tt<4|Wnt_{5՛9v ۻuZ[4@MmcvɰX zѦlɹ15|kC"vdvpGwA SNgbb;Йo4bo.Ma%`; [uji+fϝ+э󴸽<f ^]hiz];Xot{= ~R-:v)٫$d҇2q#uI= vMnc}Gh)湹7!)m@)$Qr2śRg I&+D9HVHzDߕ`RG*5SXB- @W ,⩕Y0m^;W;L&i mPxe^g,…fUr7X@E=>sfy94O7&makq\cScYD/E frsfE"¡<\>ǭu݂fs˧I̎UNAUs ,A:ձNNg4ʒB3ԥE䏝KE~̓4p]-Tiʹt֫O('//qR.E_Za۱σO="wQR4+K^{oVK{?x9Ea͊Dulv VcrS i]Iž|P<`>뎽u$s fBq ,T{'x q9Ea'I K[Wd+XT AƇFٯ h7{op,i/oG] ʮoCo'7 pD\;YO\"|2\$L]:6!ˍ4GX:GQaLQj=PGn冭,g9e.Z_̙P]>i*u bs1וἧpeuZi7uDާL6 PK8%qNZdWOKԒQ864ބH--߾lQK*Eەp,]=>!fɯ{8-̈́RYvɎ [L˽koPJ?["%^دU~BA PK8Kthܿb\Xhs=6: [B-{y j%.o[Y=7,_N]U n#̔WwvKC{#\jIk@~bu]?7Ȯ~n%f-+ur:$GZC{#\jIu}t6@{NRSE!*K!//ʱFZC#Z:Lyu jt(bho+T-Eꃃ'Qދ:FOXA]hoY!ZԯS!Un^ k kj #;퍀ZU{%]m)C 9yge)+9ŸTU*fvDRlj>l}؇+h+j2h+zj rZbI A4Su&;W44 z{eJ=a?fF/hasjiIkCCԾ30:w.f$V@-.cB)0 榇˥̬ vir^5 o.^}s=R˳zz@YXjiLSEt©ŘR@|3.CCQV1_jsn`\:sgSIh >tb^>ގ9HFt!ـ9;77!wNBE*zPᒺ7A)- ez@-.ҒqnXsC{'js\MiZRk4*jo) Ͻ|Xhޞ@j2hU|Xt!Ds"̳ԒNZZHL0~߻P>OKZv5bO-wf{J[ҬKεl_-$Sd\ ^&UPK@`Z:wKVy9m'<KL.(ubAΈVan2ޛ0HVu0ú̡kO_U-ӬZ}G@7'\|3B.*>yygSJ .VDKߕX/lQPK p5?O(%\PK Z@V]@ %4 @VK^˴T  @-A -!@ZZ@ o 5 @-[ @k [BMC |Kk$+ @j [·@ @jIVj!@%4 @o  %o 5 @-ՒB |Ki@ o  @XKj [Z%Y @P @%@ %4 @VKR @-!@%|K @`-|Ki@ oid [BMC |K @ZP @Z-J- @ @-A -!@ZZ@ o 5 @-[ @k [BMC |Kk$+ @j [·@ @jIVj!@%4 @o  %o 5 @-ՒB |Ki@ o  @XKj [Z%Y @P @%@ %4 @VKR @-!@%|K @`-|Ki@ oid [BMC |K @ZP @Z-J- @ @-A -!@ZZ@ o 5 @-[ @k [BMC |Kk$+ @j [·@ @jIVj!@%4 @o  %o 5 @-ՒB |Ki@ o  @XKj [Z%Y @P @%@ %4 @VKR @-!@%|K @`-|Ki@ oid [BMC |K @ZP @Z-J- @ @-A -!@ZZ@ o 5 @-[ @k [BMC |Kk$+ @j [·@ @jIVj!@%4 @o  %o 5 @-ՒB |Ki@ o  @XKj [Z%Y @P @%@ %4 @VKR @-!@%|K @`-|Ki@ oid [BMC |K @ZP @Z-J- @ @-A -!@ZZ@ o 5 @-[ @k [BMC |Kk$+ @j [·@ @jIVj!@%4 @o  %o 5 @-ՒB |Ki@ o  @XKj [Z%Y @P @%@ %4 @VKR @-!@%|K @`-|Ki@ oid [BMC |K @ZP @Z-J- @ @-A -!@ZZ@ o 5 @-[ @k [BMC |Kk$+ @j [·@ @jIVj!@%4 @o  %o 5 @-ՒB |Ki@ o  @XKj [Z%Y @P @%@ %4 @VKR @-!@%|K @`-|Ki@ oid [BMC |K @ZP @Z-J- @ @-A -!@ZZ@ o 5 @-[ @k [BMC |Kk$+ @j [·@ @jIVj!@%4 @o  %o 5 @-ՒB |Ki@ o  @XKj [Z%Y @P @%@ %4 @VKR @-!@%|K @`-|Ki@ oid [BMC |K @ZP @Z-J- @ @-A -!@ZZ@ o 5 @-[ @k [BMC |Kk$+ @j [·@ @jIVj!@%4 @o  %o 5 @-ՒB |Ki@ o  @XKj [ͷ @D[g @"VKgz@ m|@ mtǗ @ @[-c7 @@j3?J @Zه @"VK @D>v@ h? CodeMeter | WebAdmin

HTTP ERROR 500

An internal server error occured.
Please check the CodeMeter log file for more information.
 CodeMeter | WebAdmin
Products from Wibu-Systems support virtually all operating systems and come in a broad variety of form factors. CmDongle represents the hardware-based and CmActLicense the completely software-based variant of CodeMeter®. Protected digital content includes desktop PC, server, embedded system, mobile, smart phone, and cloud computing environments.

CodeMeter Products
For troubleshooting or support please visit our Support Homepage or send an e-mail to support@codemeter.com
You can find additional Tools and Help on our Web Sites under
www.CodeMeter.com
 CodeMeter | WebAdmin

License Details CmContainer $WIBU#Parameter#BoxSerial$

Entry $WIBU_Array#FirmItem$ : $WIBU_Array#ProductItem$ ($WIBU#Parameter#FeatureMap$)
Free $WIBU_Array#LicFree$
Total $WIBU_Array#LicTotal$ $WIBU_Array#CmWAN$

 

ID Client (User) Client Process ID Application Information Access Mode First Access Last Access Expires Action
$WIBU_Array#ID$ $WIBU_Array#ClientName$ $WIBU_Array#ProcessId$ $WIBU_Array#AppInfo$ $WIBU_Array#AccessMode$ $WIBU_Array#FirstAccess$ $WIBU_Array#LastAccess$ $WIBU_Array#Expiration$

Information last updated on $WIBU#System#TimeLocal$

 CodeMeter | WebAdmin
CmContainer:

Warning:

Please enable JavaScript in your Browser to use all features of this Web Administrator.

$WIBU_Array#FirmCode$ | $WIBU_Array#FirmItemText$
Product Code Name Unit Counter Expiration Time Activation Time License Quantity
$WIBU_Array1#ProductCode$ $WIBU_Array1#ProductItemText$ $WIBU_Array1#UnitCounter$ $WIBU_Array1#ExpirationTime$ $WIBU_Array1#ActivationTime$ $WIBU_Array1#NetworkCounter$

 

 CodeMeter | WebAdmin

CmContainer:

Warning:

Please enable JavaScript in your Browser to use all features of this Web Administrator.

Firm Code CmContainer Text Precise Time
$WIBU_Array#FirmCode$ $WIBU_Array#BoxSerial$ $WIBU_Array#FirmItemText$ $WIBU_Array#FirmPreciseTime$
 CodeMeter | WebAdmin
Select Firm Code
Select logging period
Select license

 CodeMeter | WebAdmin
 CodeMeter | WebAdmin

 

Operation completed successfully - please wait.
 CodeMeter | WebAdmin

Product Item Details

Product Item $WIBU#Parameter#FirmCode$:$WIBU#Parameter#ProductCode$ of CmContainer $WIBU#Parameter#BoxSerial$

Product Item Option Type Size (Bytes) Dependencies Value
$WIBU_Array#Type$ $WIBU_Array#Size$ $WIBU_Array#Dependencies$ $WIBU_Array#Data$

 

 CodeMeter | WebAdmin

Firm Item Details of Firm Code $WIBU#Parameter#FirmCode$ of CmContainer $WIBU#Parameter#BoxSerial$

Firm Access Counter:$WIBU_Array#FirmAccessCounter$
Firm Update Counter:$WIBU_Array#FirmUpdateCounter$
Firm Precise Time:$WIBU_Array#FirmPreciseTime$

Product Items

Product Code CmContainer Product Item Text Unit Counter Activation Time Expiration Time License Quantity Feature Map
$WIBU_Array#ProductCode$ $WIBU_Array#BoxSerial$ $WIBU_Array#ProductItemText$ $WIBU_Array#UnitCounter$ $WIBU_Array#ActivationTime$ $WIBU_Array#ExpirationTime$ $WIBU_Array#NetworkCounter$ $WIBU_Array#FeatureMap$
 CodeMeter | WebAdmin

Product Item Details

Product Item $WIBU#Parameter#FirmCode$:$WIBU#Parameter#ProductCode$ of CmContainer $WIBU#Parameter#BoxSerial$

Product Item Option Type Size (Bytes) Dependencies Value
$WIBU_Array#Type$ $WIBU_Array#Size$ $WIBU_Array#Dependencies$ $WIBU_Array#Data$

 

CodeMeter | WebAdmin

CodeMeter Web Administration

Select a Server

Use IP Address

 CodeMeter | WebAdmin
 
Product Code Name Feature Map Licenses Status
User Limit (Borrowed) No User Limit Exclu- sive Shared Free
$WIBU_Array#FirmCode$ | $WIBU_Array#FirmItemText$
$WIBU_Array1#ProductCode$ $WIBU_Array1#ProductItemText$ $WIBU_Array1#FeatureMap$ $WIBU_Array1#LicensesTotal$ $WIBU_Array1#LicensesUserLimit$ ($WIBU_Array1#LicensesBorrowed$) $WIBU_Array1#LicensesNoUserLimit$ $WIBU_Array1#LicensesExclusive$ $WIBU_Array1#LicensesShared$ $WIBU_Array1#LicensesFree$

Information last updated on $WIBU#System#TimeLocal$

 CodeMeter | WebAdmin
 
 CmContainer   Firm Item   Product Item   Client   Access Mode   
 $WIBU_Array#BoxSerial$   $WIBU_Array#FirmCode$: $WIBU_Array#FirmItemText$    $WIBU_Array#ProductCode$: $WIBU_Array#ProductItemText$   $WIBU_Array#ClientIp$  $WIBU_Array#AccessMode$

Information last updated on $WIBU#System#TimeLocal$

 strings = {}; strings.acl = { BasicMode: "Basic", AdvancedMode: "Advanced", LegacyAddClientPrompt: "Enter the Client's name or IP address", LegacyRemoveClientPrompt: "Please select a client entry.", ConfirmLoadDefaultConfig: "This will overwrite the current configuration and reset all settings to factory defaults.\nNote: This action must be confirmed by clicking \"Apply\" afterwards.", ConfirmDiscardChanges: "Discard all changes?", ConfirmSiteLeave: "You have unsaved changes. Do you really want to leave this page?", TreeViewNodeGlobal: "Global access rules", TreeViewNodeItemSpecific: "Specific access rules", TreeViewAddFC: "Add new Firm Code...", TreeViewAddPC: "Add new Product Code...", TreeViewDialogNoMoreFirmCodes: "--- No more Firm Codes available ---", TreeViewDialogNoMoreProductCodes: "--- No more Product Codes available ---", RuleEditorHeadlineGlobal: "Global access rules", RuleEditorGlobalDescription: "The global access rules control access to licenses for all CmContainer.
If you define specific access rules, for these items the global access rules will be ignored.", RuleEditorHeadlineFirmCode: "Firm Code", RuleEditorHeadlineProductCode: "Product Code", RuleEditorLicenseQuantity: "License Quantity", RuleEditorEdit: "Edit", RuleEditorDelete: "Delete", RuleEditorMoveUp: "Up", RuleEditorMoveDown: "Down", RuleEditorAdd: "Add new access rule", RuleEditorDeleteAll: "Delete rule list", RuleEditorConfirmDeletePi: "This will delete the COMPLETE rule list and remove the current Product Code from the configuration.", RuleEditorConfirmDeleteFi: "This will delete ALL rule lists for this Firm Code as well as any inferior Product Codes and remove the current Firm Code from the configuration.", ItemSpecificRulesetHeadline: "Specific access rules", ItemSpecificRulesetDescription: "Specific access rules control access to licenses for specified license entries (Firm Code, Product Code).

If you define specific access rules, for these items the global rules set will be ignored.", RuleAction: "Action", RuleActionAllow: "Allow", RuleActionDeny: "Deny", RuleTypeDefault: "Default action", RuleTypeHost: "Host", RuleTypeSubnet: "Subnet", RuleTypeGroup: "Group", RuleTypeUser: "User", RuleLqReserved: "Reserved", RuleLqLimit: "Limit", RuleDialogHeaderAdd: "Add Rule", RuleDialogHeaderEdit: "Edit Rule", ErrorReservedHigherThanLimit: "Reserved must be smaller or equal than limit!", ErrorReservedOrLimitHigherThanLQ: "Reserved and limit must be smaller or equal than license quantity!", ErrorInvalidHostValue: "Invalid host value! Must be a valid IPv4 or IPv6 address or a valid hostname.", ErrorInvalidSubnetValue: "Invalid subnet value! Must be a subnet in CIDR notation (e.g 123.123.123.123/24).", ErrorEmptyUserValue: "User name is missing!", ErrorEmptyGroupValue: "Group name is missing!", ErrorLoadingConfig: "Error: Failed to load the Access Control List (invalid configuration)!", ErrorRuleAlreadyExisting: "Error: A rule for the specified type/value is already existing!", ErrorLoadingConfigDetails: "CodeMeter uses default (fail-safe) settings.
Do you want to reset the stored configuration settings?" };body { margin: 0; padding: 0; background: #D8DEDF } div#container { width: 776px; min-height: 525px; height: auto; border: 1px solid #949696; margin: 8px auto; background: #f1f3f3 url(images/footer.gif) repeat-x bottom; } div#container600 { width: 776px; height: 525px; border: 1px solid #949696; margin: 8px auto; background: #f1f3f3 url(images/footer.gif) repeat-x bottom; } div#containerbig { width: 776px; height: 580px; border: 1px solid #949696; margin: 8px auto; background: #f1f3f3 url(images/footer.gif) repeat-x bottom; } div#container350 { width: 320px; height: 250px; border: 1px solid #949696; margin: 0px 0px 0px 0px; background: #f1f3f3 url(images/footer.gif) repeat-x bottom; } div#header { background: url(images/head.png) no-repeat; height: 89px; } h1 { font-family: Verdana, Arial, sans-serif; font-size: 11pt; font-weight: bold; } div#menue { background: url(images/menue.gif) repeat-x; height: 19px; font-family: Verdana, Arial, sans-serif; font-size: 10pt; font-weight: bold; color: white; word-spacing: 20px; padding: 3px 20px 0px 20px; } #menue a { color: white; text-decoration: none; font-family: Verdana, Arial, sans-serif; font-size: 10pt; font-weight: bold;} #menue a:hover { color: #B4DADC; font-family: Verdana, Arial, sans-serif; font-size: 10pt; font-weight: bold; } div#submenue { background: url(images/sub_menue.gif) repeat-x; height: 26px; font-family: Verdana, Arial, sans-serif; font-size: 8pt; color: white; padding-top: 3px; padding-left: 20px; } #submenue a { color: #4d4d4d; text-decoration: none; font-family: Verdana, Arial, sans-serif; font-size: 10pt; } #submenue a:hover { color: white; font-family: Verdana, Arial, sans-serif; font-size: 10pt; } div#menueonly { background: url(images/menueonly.gif) repeat-x; height: 48px; font-family: Verdana, Arial, sans-serif; font-size: 10pt; font-weight: bold; color: white; word-spacing: 20px; padding: 3px 20px 0px 20px; } #menueonly a { color: white; text-decoration: none; font-family: Verdana, Arial, sans-serif; font-size: 10pt; font-weight: bold; } #menueonly a:hover { color: #B4DADC; font-family: Verdana, Arial, sans-serif; font-size: 10pt; font-weight: bold; } div#content1 { font-family: Verdana, Arial, sans-serif; font-size: 10pt; color: #4d4d4d; text-align: center; padding: 15px 20px 20px 20px; } div#contentleft { font-family: Verdana, Arial, sans-serif; font-size: 10pt; color: #4D4D4D; width: 198px; padding: 35px 0px 20px 190px; float: left; text-align: left; margin: 0px 0px 0px 0px; } div#contentright { font-family: Verdana, Arial, sans-serif; font-size: 10pt; color: #4D4D4D; width: 348px; padding: 35px 40px 20px 0px; float: right; text-align: left; margin: 0px 0px 0px 0px; } a { font-family: Verdana, Arial, sans-serif; font-size: 10pt; color: #189CA4; } a:hover { font-family: Verdana, Arial, sans-serif; font-size: 10pt; color: #4D4D4D; } .content2 { font-family: Verdana, Arial, sans-serif; font-size: 10pt; color: #4D4D4D; text-align: left; } h2 { font-family: Verdana, Arial, sans-serif; font-size: 20pt; color: #4D4D4D; text-align: center; font-weight: normal; } h3 { font-family: Verdana, Arial, sans-serif; text-align: center; font-weight: bold; font-size: 12pt; color: Red; } textarea { background-color: white; border: 1px solid #949696; font-family: Verdana, Arial, sans-serif; font-size: 10pt; } .border { font-family: Verdana, Arial, sans-serif; font-size: 10pt; color: #4D4D4D; border: 1px solid #949696; border-collapse: collapse; } .active { font-family: Verdana, Arial, sans-serif; font-size: 10pt; color: #4D4D4D; font-weight: bold; background-color: #A8CBCD; height: 16px; padding: 3px 3px 3px 3px ; border-left: 1px solid #516E6C; border-right: 1px solid #516E6C; word-spacing: 14px; } .active2 { font-family: Verdana, Arial, sans-serif; font-size: 10pt; color: #4D4D4D; font-weight: bold; } .disable2 { font-family: Verdana, Arial, sans-serif; font-size: 10pt; color: #9D9DA1; font-weight: lighter; font-style:italic; } select { background-color: white; border: 1px solid #949696; font-family: Verdana, Arial, sans-serif; font-size: 10pt; color: #4D4D4D; width: 200px; margin: 0px 0px 0px 0px; } form { margin: 0px 0px 0px 0px; } .button { background-image: url(images/button.gif); background-repeat: repeat-x; border: 1px solid #009fa5; height: 24px; width: auto; font-family: Verdana, Arial, sans-serif; font-size: 10pt; color: #4D4D4D; text-align: center; } form input.button { cursor:pointer } form input.button:hover { cursor:pointer } .disable { background-image: url(images/disable.gif); background-repeat: repeat-x; border: 1px solid #9D9DA1; height: 24px; width: auto; font-family: Verdana, Arial, sans-serif; font-size: 10pt; color: #9D9DA1; text-align: center; } .list_firmcode { font-family: Verdana, Arial, sans-serif; font-size: 10pt; font-weight: bold; height: 25px; color: #4D4D4D; background-color:#DFE9EA ; padding-top: 4px; text-align: center; border: 1px solid #949696; border-collapse: collapse; } .list1 { font-family: Verdana, Arial, sans-serif; font-size: 10pt; font-weight: bold; height: 25px; color: #4D4D4D; background-color:#B5D1D4 ; padding-top: 4px; text-align: center; border: 1px solid #949696; border-collapse: collapse; } .list2 { font-family: Verdana, Arial, sans-serif; font-size: 10pt; height: 20px; color: #4D4D4D; background-color:#DFE9EA ; text-align: center; border: 1px solid #949696; font-style: italic; border-collapse: collapse; } .list3 { font-family: Verdana, Arial, sans-serif; font-size: 10pt; color: #4D4D4D; padding-left: 85px; text-align: center; border-collapse: collapse; } .list4 { font-family: Verdana, Arial, sans-serif; font-size: 10pt; color: #4D4D4D; background-color:white ; padding-left: 85px; text-align: center; } .list3_marked { font-family: Verdana, Arial, sans-serif; font-size: 10pt; color: #D26E00; padding-left: 85px; text-align: center; border-collapse: collapse; } .list4_marked { font-family: Verdana, Arial, sans-serif; font-size: 10pt; color: #D26E00; background-color:white ; padding-left: 85px; text-align: center; } .listInactive { font-family: Verdana, Arial, sans-serif; font-size: 10pt; color: #4D4D4D; background-color: #E8B67F; padding-left: 85px; text-align: center; border-collapse: collapse; } .listleer { width:40px; border: 1px solid #949696; border-collapse: collapse; } span.a { color: #4d4d4d; text-decoration: none; font-family: Verdana, Arial, sans-serif; font-size: 10pt; font-weight: bold; } #lt-options { font-family: Verdana, Arial, sans-serif; height: 210px; } #lt-graph { font-family: Verdana, Arial, sans-serif; height: 400px; width: 730px; font-size: 14px; line-height: 1.2em; text-align: left; } #lt-select { font-family: Verdana, Arial, sans-serif; width: 470px; height: 100%; text-align: left; float: left; } .lt-details-container { font-family: Verdana, Arial, sans-serif; width: 710px; text-align: left; padding-top: 10px; } #lt-navigation { font-family: Verdana, Arial, sans-serif; padding-top: 25px; width: 260px; text-align: center; float: left; } .lt-vertical-space { height: 7px; } #lt-select-license { font-family: Verdana, Arial, sans-serif; border: 1px solid #949696; font-size: 10pt; color: #4D4D4D; width: 460px; height: 45px; } #lt-select-block { font-family: Verdana, Arial, sans-serif; border: 1px solid #949696; font-size: 10pt; color: #4D4D4D; width: 300px; } .lt-small-text { font-family: Verdana, Arial, sans-serif; font-size: 11px; font-weight: bold; } #lt-select-button { font-family: Verdana, Arial, sans-serif; margin-left: 0px; } .lt-table { font-family: Verdana, Arial, sans-serif; width: 710px; border-collapse: collapse; } .lt-table-header { font-family: Verdana, Arial, sans-serif; border: 1px solid #949696; font-size: 10pt; color: #4D4D4D; padding: 2px; background-color: #B5D1D4; text-align: center; } .lt-table-cell { font-family: Verdana, Arial, sans-serif; border: 1px solid #949696; padding: 2px; text-align: center; } #overlay { background-color: #000; opacity: .8; filter: alpha(opacity=50); position: fixed; top: 0; left: 0; height: 100%; width: 100%; } #dialog { background-color: #fff; position: fixed; top: 50%; left: 50%; margin-top: -100px; margin-left: -200px; width: 400px; height: 200px; } #acl h2 { font-family: Verdana, Arial, sans-serif; font-size: 10pt; font-weight: bold; } #acl #GlobalChooser { border-bottom: 1px solid #d0d0d0; } #acl #GlobalChooser table { border: none; width: 100%; } #acl #GlobalChooser table td{ width: 33.3%; } #acl #SimpleConfig { text-align: center; display: none; } #acl #ActionButtons { text-align: center; } #acl #RuleBox { width: 100%; display: none; } #acl #RuleBox table { width: 100%; padding: 5px; border: 1px solid gray; } #acl #RuleBox table #RuleBoxRight { width: 70%; vertical-align: top; } #acl #RuleBox table #RuleBoxLeft { border-right: 1px solid #808080; vertical-align: top; width: 30%; } #acl #RuleBox #RuleTreeView { padding: 5px; text-align: left; word-wrap: break-word; width: 250px; } #acl #RuleBox #RuleTreeView a { text-decoration: none; } #acl #RuleBox #RuleEditor { padding: 5px; } #acl #RuleBox #RuleTreeView ul { padding-left: 15px; margin-left: 0px; margin-top: 0px; margin-bottom: 0px; list-style-image: url("images/RootNode.png"); } #acl #RuleBox #RuleTreeView .divider { height: 0px; width: 50%; margin-left: auto; margin-right: auto; margin-top: 15px; margin-bottom: 15px; border-top: 1px solid grey; } #acl #RuleBox #RuleTreeView .highlight { background: #CFCFCF; } #acl #RuleBox #RuleTreeView ul ul { list-style-image: url("images/FirmItem.png"); } #acl #RuleBox #RuleTreeView ul ul ul { list-style-image: url("images/ProductItem.png"); } #acl #RuleBox #RuleEditor #NewRuleButton { text-align: center; background: #bdd7d9; padding: 5px; border: 1px solid #949696; } #acl #RuleBox #RuleEditor #DeleteRuleset { position: relative; width: 30%; right: 0px; margin-left: auto; text-align: center; background: #bdd7d9; padding: 5px; border: 1px solid #949696; } #acl #RuleBox #RuleEditor .LinkBox a { display: block; height: 100%; text-decoration: none; } #acl #RuleBox #RuleEditor #DefaultRule { padding: 5px; text-align: center; border: 1px solid gray; } #acl #RuleBox #RuleEditor .RuleLeftColumn { padding-left: 20px; text-align: left; width: 70%; } #acl #RuleBox #RuleEditor .RuleRightColumn1 { text-align: center; width: 15%; } #acl #RuleBox #RuleEditor .RuleRightColumn2 { text-align: center; width: 15%; } .overlay { background-color: #BDBDBD; height: 100%; left: 0; opacity: 0.9; position: fixed; top: 0; width: 100%; z-index: 100; } .dialog { background-color: #FFFFFF; height: 300px; width: 500px; left: 50%; top: 50%; margin-left: -250px; margin-top: -150px; position: fixed; text-align: center; z-index: 200; } #RuleDialog { height: 300px; width: 500px; margin-left: -250px; margin-top: -150px; border: 1px solid black; } #RuleDialog .head { width: 100%; padding-top: 7px; padding-bottom: 7px; font-weight: bold; font-size: x-large; border-bottom: 1px solid black; background: #A8CBCD; } #RuleDialog .footer { bottom: 10px; position: absolute; vertical-align:middle; width: 100%; } #RuleDialog table { width: 100% } #RuleDialog table .LeftColumn { text-align: left; } #RuleDialog input[type="number"] { width: 50px; } #FirmAddDialog #firmcodeSelect { width: 100%; } #FirmAddDialog table { width: 100%; } #FirmAddDialog { height: 150px; width: 400px; margin-left: -200px; margin-top: -75px; border: 1px solid black; } #FirmAddDialog .head { width: 100%; padding-top: 7px; padding-bottom: 7px; font-weight: bold; font-size: x-large; border-bottom: 1px solid black; background: #A8CBCD; } #ProductAddDialog #productcodeSelect { width: 100%; } #ProductAddDialog table { width: 100%; } #ProductAddDialog { height: 150px; width: 400px; margin-left: -200px; margin-top: -75px; border: 1px solid black; } #ProductAddDialog .head { width: 100%; padding-top: 7px; padding-bottom: 7px; font-weight: bold; font-size: x-large; border-bottom: 1px solid black; background: #A8CBCD; }  CodeMeter | WebAdmin
CmContainer:

Warning:

Please enable JavaScript in your Browser to use all features of this Web Administrator.

$WIBU_Array#FirmCode$ | $WIBU_Array#FirmItemText$
ProductCode Name Unit Counter Expiration Time Activation Time License Quantity
$WIBU_Array1#ProductCode$ $WIBU_Array1#ProductItemText$ $WIBU_Array1#UnitCounter$ $WIBU_Array1#ExpirationTime$ $WIBU_Array1#ActivationTime$ $WIBU_Array1#NetworkCounter$

 

/*! jQuery v1.10.2 | (c) 2005, 2013 jQuery Foundation, Inc. | jquery.org/license //@ sourceMappingURL=jquery-1.10.2.min.map */ (function(e,t){var n,r,i=typeof t,o=e.location,a=e.document,s=a.documentElement,l=e.jQuery,u=e.$,c={},p=[],f="1.10.2",d=p.concat,h=p.push,g=p.slice,m=p.indexOf,y=c.toString,v=c.hasOwnProperty,b=f.trim,x=function(e,t){return new x.fn.init(e,t,r)},w=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,T=/\S+/g,C=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,N=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,k=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,E=/^[\],:{}\s]*$/,S=/(?:^|:|,)(?:\s*\[)+/g,A=/\\(?:["\\\/bfnrt]|u[\da-fA-F]{4})/g,j=/"[^"\\\r\n]*"|true|false|null|-?(?:\d+\.|)\d+(?:[eE][+-]?\d+|)/g,D=/^-ms-/,L=/-([\da-z])/gi,H=function(e,t){return t.toUpperCase()},q=function(e){(a.addEventListener||"load"===e.type||"complete"===a.readyState)&&(_(),x.ready())},_=function(){a.addEventListener?(a.removeEventListener("DOMContentLoaded",q,!1),e.removeEventListener("load",q,!1)):(a.detachEvent("onreadystatechange",q),e.detachEvent("onload",q))};x.fn=x.prototype={jquery:f,constructor:x,init:function(e,n,r){var i,o;if(!e)return this;if("string"==typeof e){if(i="<"===e.charAt(0)&&">"===e.charAt(e.length-1)&&e.length>=3?[null,e,null]:N.exec(e),!i||!i[1]&&n)return!n||n.jquery?(n||r).find(e):this.constructor(n).find(e);if(i[1]){if(n=n instanceof x?n[0]:n,x.merge(this,x.parseHTML(i[1],n&&n.nodeType?n.ownerDocument||n:a,!0)),k.test(i[1])&&x.isPlainObject(n))for(i in n)x.isFunction(this[i])?this[i](n[i]):this.attr(i,n[i]);return this}if(o=a.getElementById(i[2]),o&&o.parentNode){if(o.id!==i[2])return r.find(e);this.length=1,this[0]=o}return this.context=a,this.selector=e,this}return e.nodeType?(this.context=this[0]=e,this.length=1,this):x.isFunction(e)?r.ready(e):(e.selector!==t&&(this.selector=e.selector,this.context=e.context),x.makeArray(e,this))},selector:"",length:0,toArray:function(){return g.call(this)},get:function(e){return null==e?this.toArray():0>e?this[this.length+e]:this[e]},pushStack:function(e){var t=x.merge(this.constructor(),e);return t.prevObject=this,t.context=this.context,t},each:function(e,t){return x.each(this,e,t)},ready:function(e){return x.ready.promise().done(e),this},slice:function(){return this.pushStack(g.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(e){var t=this.length,n=+e+(0>e?t:0);return this.pushStack(n>=0&&t>n?[this[n]]:[])},map:function(e){return this.pushStack(x.map(this,function(t,n){return e.call(t,n,t)}))},end:function(){return this.prevObject||this.constructor(null)},push:h,sort:[].sort,splice:[].splice},x.fn.init.prototype=x.fn,x.extend=x.fn.extend=function(){var e,n,r,i,o,a,s=arguments[0]||{},l=1,u=arguments.length,c=!1;for("boolean"==typeof s&&(c=s,s=arguments[1]||{},l=2),"object"==typeof s||x.isFunction(s)||(s={}),u===l&&(s=this,--l);u>l;l++)if(null!=(o=arguments[l]))for(i in o)e=s[i],r=o[i],s!==r&&(c&&r&&(x.isPlainObject(r)||(n=x.isArray(r)))?(n?(n=!1,a=e&&x.isArray(e)?e:[]):a=e&&x.isPlainObject(e)?e:{},s[i]=x.extend(c,a,r)):r!==t&&(s[i]=r));return s},x.extend({expando:"jQuery"+(f+Math.random()).replace(/\D/g,""),noConflict:function(t){return e.$===x&&(e.$=u),t&&e.jQuery===x&&(e.jQuery=l),x},isReady:!1,readyWait:1,holdReady:function(e){e?x.readyWait++:x.ready(!0)},ready:function(e){if(e===!0?!--x.readyWait:!x.isReady){if(!a.body)return setTimeout(x.ready);x.isReady=!0,e!==!0&&--x.readyWait>0||(n.resolveWith(a,[x]),x.fn.trigger&&x(a).trigger("ready").off("ready"))}},isFunction:function(e){return"function"===x.type(e)},isArray:Array.isArray||function(e){return"array"===x.type(e)},isWindow:function(e){return null!=e&&e==e.window},isNumeric:function(e){return!isNaN(parseFloat(e))&&isFinite(e)},type:function(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?c[y.call(e)]||"object":typeof e},isPlainObject:function(e){var n;if(!e||"object"!==x.type(e)||e.nodeType||x.isWindow(e))return!1;try{if(e.constructor&&!v.call(e,"constructor")&&!v.call(e.constructor.prototype,"isPrototypeOf"))return!1}catch(r){return!1}if(x.support.ownLast)for(n in e)return v.call(e,n);for(n in e);return n===t||v.call(e,n)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},error:function(e){throw Error(e)},parseHTML:function(e,t,n){if(!e||"string"!=typeof e)return null;"boolean"==typeof t&&(n=t,t=!1),t=t||a;var r=k.exec(e),i=!n&&[];return r?[t.createElement(r[1])]:(r=x.buildFragment([e],t,i),i&&x(i).remove(),x.merge([],r.childNodes))},parseJSON:function(n){return e.JSON&&e.JSON.parse?e.JSON.parse(n):null===n?n:"string"==typeof n&&(n=x.trim(n),n&&E.test(n.replace(A,"@").replace(j,"]").replace(S,"")))?Function("return "+n)():(x.error("Invalid JSON: "+n),t)},parseXML:function(n){var r,i;if(!n||"string"!=typeof n)return null;try{e.DOMParser?(i=new DOMParser,r=i.parseFromString(n,"text/xml")):(r=new ActiveXObject("Microsoft.XMLDOM"),r.async="false",r.loadXML(n))}catch(o){r=t}return r&&r.documentElement&&!r.getElementsByTagName("parsererror").length||x.error("Invalid XML: "+n),r},noop:function(){},globalEval:function(t){t&&x.trim(t)&&(e.execScript||function(t){e.eval.call(e,t)})(t)},camelCase:function(e){return e.replace(D,"ms-").replace(L,H)},nodeName:function(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()},each:function(e,t,n){var r,i=0,o=e.length,a=M(e);if(n){if(a){for(;o>i;i++)if(r=t.apply(e[i],n),r===!1)break}else for(i in e)if(r=t.apply(e[i],n),r===!1)break}else if(a){for(;o>i;i++)if(r=t.call(e[i],i,e[i]),r===!1)break}else for(i in e)if(r=t.call(e[i],i,e[i]),r===!1)break;return e},trim:b&&!b.call("\ufeff\u00a0")?function(e){return null==e?"":b.call(e)}:function(e){return null==e?"":(e+"").replace(C,"")},makeArray:function(e,t){var n=t||[];return null!=e&&(M(Object(e))?x.merge(n,"string"==typeof e?[e]:e):h.call(n,e)),n},inArray:function(e,t,n){var r;if(t){if(m)return m.call(t,e,n);for(r=t.length,n=n?0>n?Math.max(0,r+n):n:0;r>n;n++)if(n in t&&t[n]===e)return n}return-1},merge:function(e,n){var r=n.length,i=e.length,o=0;if("number"==typeof r)for(;r>o;o++)e[i++]=n[o];else while(n[o]!==t)e[i++]=n[o++];return e.length=i,e},grep:function(e,t,n){var r,i=[],o=0,a=e.length;for(n=!!n;a>o;o++)r=!!t(e[o],o),n!==r&&i.push(e[o]);return i},map:function(e,t,n){var r,i=0,o=e.length,a=M(e),s=[];if(a)for(;o>i;i++)r=t(e[i],i,n),null!=r&&(s[s.length]=r);else for(i in e)r=t(e[i],i,n),null!=r&&(s[s.length]=r);return d.apply([],s)},guid:1,proxy:function(e,n){var r,i,o;return"string"==typeof n&&(o=e[n],n=e,e=o),x.isFunction(e)?(r=g.call(arguments,2),i=function(){return e.apply(n||this,r.concat(g.call(arguments)))},i.guid=e.guid=e.guid||x.guid++,i):t},access:function(e,n,r,i,o,a,s){var l=0,u=e.length,c=null==r;if("object"===x.type(r)){o=!0;for(l in r)x.access(e,n,l,r[l],!0,a,s)}else if(i!==t&&(o=!0,x.isFunction(i)||(s=!0),c&&(s?(n.call(e,i),n=null):(c=n,n=function(e,t,n){return c.call(x(e),n)})),n))for(;u>l;l++)n(e[l],r,s?i:i.call(e[l],l,n(e[l],r)));return o?e:c?n.call(e):u?n(e[0],r):a},now:function(){return(new Date).getTime()},swap:function(e,t,n,r){var i,o,a={};for(o in t)a[o]=e.style[o],e.style[o]=t[o];i=n.apply(e,r||[]);for(o in t)e.style[o]=a[o];return i}}),x.ready.promise=function(t){if(!n)if(n=x.Deferred(),"complete"===a.readyState)setTimeout(x.ready);else if(a.addEventListener)a.addEventListener("DOMContentLoaded",q,!1),e.addEventListener("load",q,!1);else{a.attachEvent("onreadystatechange",q),e.attachEvent("onload",q);var r=!1;try{r=null==e.frameElement&&a.documentElement}catch(i){}r&&r.doScroll&&function o(){if(!x.isReady){try{r.doScroll("left")}catch(e){return setTimeout(o,50)}_(),x.ready()}}()}return n.promise(t)},x.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(e,t){c["[object "+t+"]"]=t.toLowerCase()});function M(e){var t=e.length,n=x.type(e);return x.isWindow(e)?!1:1===e.nodeType&&t?!0:"array"===n||"function"!==n&&(0===t||"number"==typeof t&&t>0&&t-1 in e)}r=x(a),function(e,t){var n,r,i,o,a,s,l,u,c,p,f,d,h,g,m,y,v,b="sizzle"+-new Date,w=e.document,T=0,C=0,N=st(),k=st(),E=st(),S=!1,A=function(e,t){return e===t?(S=!0,0):0},j=typeof t,D=1<<31,L={}.hasOwnProperty,H=[],q=H.pop,_=H.push,M=H.push,O=H.slice,F=H.indexOf||function(e){var t=0,n=this.length;for(;n>t;t++)if(this[t]===e)return t;return-1},B="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",P="[\\x20\\t\\r\\n\\f]",R="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",W=R.replace("w","w#"),$="\\["+P+"*("+R+")"+P+"*(?:([*^$|!~]?=)"+P+"*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|("+W+")|)|)"+P+"*\\]",I=":("+R+")(?:\\(((['\"])((?:\\\\.|[^\\\\])*?)\\3|((?:\\\\.|[^\\\\()[\\]]|"+$.replace(3,8)+")*)|.*)\\)|)",z=RegExp("^"+P+"+|((?:^|[^\\\\])(?:\\\\.)*)"+P+"+$","g"),X=RegExp("^"+P+"*,"+P+"*"),U=RegExp("^"+P+"*([>+~]|"+P+")"+P+"*"),V=RegExp(P+"*[+~]"),Y=RegExp("="+P+"*([^\\]'\"]*)"+P+"*\\]","g"),J=RegExp(I),G=RegExp("^"+W+"$"),Q={ID:RegExp("^#("+R+")"),CLASS:RegExp("^\\.("+R+")"),TAG:RegExp("^("+R.replace("w","w*")+")"),ATTR:RegExp("^"+$),PSEUDO:RegExp("^"+I),CHILD:RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+P+"*(even|odd|(([+-]|)(\\d*)n|)"+P+"*(?:([+-]|)"+P+"*(\\d+)|))"+P+"*\\)|)","i"),bool:RegExp("^(?:"+B+")$","i"),needsContext:RegExp("^"+P+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+P+"*((?:-\\d)?\\d*)"+P+"*\\)|)(?=[^-]|$)","i")},K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,et=/^(?:input|select|textarea|button)$/i,tt=/^h\d$/i,nt=/'|\\/g,rt=RegExp("\\\\([\\da-f]{1,6}"+P+"?|("+P+")|.)","ig"),it=function(e,t,n){var r="0x"+t-65536;return r!==r||n?t:0>r?String.fromCharCode(r+65536):String.fromCharCode(55296|r>>10,56320|1023&r)};try{M.apply(H=O.call(w.childNodes),w.childNodes),H[w.childNodes.length].nodeType}catch(ot){M={apply:H.length?function(e,t){_.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function at(e,t,n,i){var o,a,s,l,u,c,d,m,y,x;if((t?t.ownerDocument||t:w)!==f&&p(t),t=t||f,n=n||[],!e||"string"!=typeof e)return n;if(1!==(l=t.nodeType)&&9!==l)return[];if(h&&!i){if(o=Z.exec(e))if(s=o[1]){if(9===l){if(a=t.getElementById(s),!a||!a.parentNode)return n;if(a.id===s)return n.push(a),n}else if(t.ownerDocument&&(a=t.ownerDocument.getElementById(s))&&v(t,a)&&a.id===s)return n.push(a),n}else{if(o[2])return M.apply(n,t.getElementsByTagName(e)),n;if((s=o[3])&&r.getElementsByClassName&&t.getElementsByClassName)return M.apply(n,t.getElementsByClassName(s)),n}if(r.qsa&&(!g||!g.test(e))){if(m=d=b,y=t,x=9===l&&e,1===l&&"object"!==t.nodeName.toLowerCase()){c=mt(e),(d=t.getAttribute("id"))?m=d.replace(nt,"\\$&"):t.setAttribute("id",m),m="[id='"+m+"'] ",u=c.length;while(u--)c[u]=m+yt(c[u]);y=V.test(e)&&t.parentNode||t,x=c.join(",")}if(x)try{return M.apply(n,y.querySelectorAll(x)),n}catch(T){}finally{d||t.removeAttribute("id")}}}return kt(e.replace(z,"$1"),t,n,i)}function st(){var e=[];function t(n,r){return e.push(n+=" ")>o.cacheLength&&delete t[e.shift()],t[n]=r}return t}function lt(e){return e[b]=!0,e}function ut(e){var t=f.createElement("div");try{return!!e(t)}catch(n){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function ct(e,t){var n=e.split("|"),r=e.length;while(r--)o.attrHandle[n[r]]=t}function pt(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&(~t.sourceIndex||D)-(~e.sourceIndex||D);if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function ft(e){return function(t){var n=t.nodeName.toLowerCase();return"input"===n&&t.type===e}}function dt(e){return function(t){var n=t.nodeName.toLowerCase();return("input"===n||"button"===n)&&t.type===e}}function ht(e){return lt(function(t){return t=+t,lt(function(n,r){var i,o=e([],n.length,t),a=o.length;while(a--)n[i=o[a]]&&(n[i]=!(r[i]=n[i]))})})}s=at.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return t?"HTML"!==t.nodeName:!1},r=at.support={},p=at.setDocument=function(e){var n=e?e.ownerDocument||e:w,i=n.defaultView;return n!==f&&9===n.nodeType&&n.documentElement?(f=n,d=n.documentElement,h=!s(n),i&&i.attachEvent&&i!==i.top&&i.attachEvent("onbeforeunload",function(){p()}),r.attributes=ut(function(e){return e.className="i",!e.getAttribute("className")}),r.getElementsByTagName=ut(function(e){return e.appendChild(n.createComment("")),!e.getElementsByTagName("*").length}),r.getElementsByClassName=ut(function(e){return e.innerHTML="
",e.firstChild.className="i",2===e.getElementsByClassName("i").length}),r.getById=ut(function(e){return d.appendChild(e).id=b,!n.getElementsByName||!n.getElementsByName(b).length}),r.getById?(o.find.ID=function(e,t){if(typeof t.getElementById!==j&&h){var n=t.getElementById(e);return n&&n.parentNode?[n]:[]}},o.filter.ID=function(e){var t=e.replace(rt,it);return function(e){return e.getAttribute("id")===t}}):(delete o.find.ID,o.filter.ID=function(e){var t=e.replace(rt,it);return function(e){var n=typeof e.getAttributeNode!==j&&e.getAttributeNode("id");return n&&n.value===t}}),o.find.TAG=r.getElementsByTagName?function(e,n){return typeof n.getElementsByTagName!==j?n.getElementsByTagName(e):t}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},o.find.CLASS=r.getElementsByClassName&&function(e,n){return typeof n.getElementsByClassName!==j&&h?n.getElementsByClassName(e):t},m=[],g=[],(r.qsa=K.test(n.querySelectorAll))&&(ut(function(e){e.innerHTML="",e.querySelectorAll("[selected]").length||g.push("\\["+P+"*(?:value|"+B+")"),e.querySelectorAll(":checked").length||g.push(":checked")}),ut(function(e){var t=n.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("t",""),e.querySelectorAll("[t^='']").length&&g.push("[*^$]="+P+"*(?:''|\"\")"),e.querySelectorAll(":enabled").length||g.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),g.push(",.*:")})),(r.matchesSelector=K.test(y=d.webkitMatchesSelector||d.mozMatchesSelector||d.oMatchesSelector||d.msMatchesSelector))&&ut(function(e){r.disconnectedMatch=y.call(e,"div"),y.call(e,"[s!='']:x"),m.push("!=",I)}),g=g.length&&RegExp(g.join("|")),m=m.length&&RegExp(m.join("|")),v=K.test(d.contains)||d.compareDocumentPosition?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},A=d.compareDocumentPosition?function(e,t){if(e===t)return S=!0,0;var i=t.compareDocumentPosition&&e.compareDocumentPosition&&e.compareDocumentPosition(t);return i?1&i||!r.sortDetached&&t.compareDocumentPosition(e)===i?e===n||v(w,e)?-1:t===n||v(w,t)?1:c?F.call(c,e)-F.call(c,t):0:4&i?-1:1:e.compareDocumentPosition?-1:1}:function(e,t){var r,i=0,o=e.parentNode,a=t.parentNode,s=[e],l=[t];if(e===t)return S=!0,0;if(!o||!a)return e===n?-1:t===n?1:o?-1:a?1:c?F.call(c,e)-F.call(c,t):0;if(o===a)return pt(e,t);r=e;while(r=r.parentNode)s.unshift(r);r=t;while(r=r.parentNode)l.unshift(r);while(s[i]===l[i])i++;return i?pt(s[i],l[i]):s[i]===w?-1:l[i]===w?1:0},n):f},at.matches=function(e,t){return at(e,null,null,t)},at.matchesSelector=function(e,t){if((e.ownerDocument||e)!==f&&p(e),t=t.replace(Y,"='$1']"),!(!r.matchesSelector||!h||m&&m.test(t)||g&&g.test(t)))try{var n=y.call(e,t);if(n||r.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(i){}return at(t,f,null,[e]).length>0},at.contains=function(e,t){return(e.ownerDocument||e)!==f&&p(e),v(e,t)},at.attr=function(e,n){(e.ownerDocument||e)!==f&&p(e);var i=o.attrHandle[n.toLowerCase()],a=i&&L.call(o.attrHandle,n.toLowerCase())?i(e,n,!h):t;return a===t?r.attributes||!h?e.getAttribute(n):(a=e.getAttributeNode(n))&&a.specified?a.value:null:a},at.error=function(e){throw Error("Syntax error, unrecognized expression: "+e)},at.uniqueSort=function(e){var t,n=[],i=0,o=0;if(S=!r.detectDuplicates,c=!r.sortStable&&e.slice(0),e.sort(A),S){while(t=e[o++])t===e[o]&&(i=n.push(o));while(i--)e.splice(n[i],1)}return e},a=at.getText=function(e){var t,n="",r=0,i=e.nodeType;if(i){if(1===i||9===i||11===i){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=a(e)}else if(3===i||4===i)return e.nodeValue}else for(;t=e[r];r++)n+=a(t);return n},o=at.selectors={cacheLength:50,createPseudo:lt,match:Q,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(rt,it),e[3]=(e[4]||e[5]||"").replace(rt,it),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||at.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&at.error(e[0]),e},PSEUDO:function(e){var n,r=!e[5]&&e[2];return Q.CHILD.test(e[0])?null:(e[3]&&e[4]!==t?e[2]=e[4]:r&&J.test(r)&&(n=mt(r,!0))&&(n=r.indexOf(")",r.length-n)-r.length)&&(e[0]=e[0].slice(0,n),e[2]=r.slice(0,n)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(rt,it).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=N[e+" "];return t||(t=RegExp("(^|"+P+")"+e+"("+P+"|$)"))&&N(e,function(e){return t.test("string"==typeof e.className&&e.className||typeof e.getAttribute!==j&&e.getAttribute("class")||"")})},ATTR:function(e,t,n){return function(r){var i=at.attr(r,e);return null==i?"!="===t:t?(i+="","="===t?i===n:"!="===t?i!==n:"^="===t?n&&0===i.indexOf(n):"*="===t?n&&i.indexOf(n)>-1:"$="===t?n&&i.slice(-n.length)===n:"~="===t?(" "+i+" ").indexOf(n)>-1:"|="===t?i===n||i.slice(0,n.length+1)===n+"-":!1):!0}},CHILD:function(e,t,n,r,i){var o="nth"!==e.slice(0,3),a="last"!==e.slice(-4),s="of-type"===t;return 1===r&&0===i?function(e){return!!e.parentNode}:function(t,n,l){var u,c,p,f,d,h,g=o!==a?"nextSibling":"previousSibling",m=t.parentNode,y=s&&t.nodeName.toLowerCase(),v=!l&&!s;if(m){if(o){while(g){p=t;while(p=p[g])if(s?p.nodeName.toLowerCase()===y:1===p.nodeType)return!1;h=g="only"===e&&!h&&"nextSibling"}return!0}if(h=[a?m.firstChild:m.lastChild],a&&v){c=m[b]||(m[b]={}),u=c[e]||[],d=u[0]===T&&u[1],f=u[0]===T&&u[2],p=d&&m.childNodes[d];while(p=++d&&p&&p[g]||(f=d=0)||h.pop())if(1===p.nodeType&&++f&&p===t){c[e]=[T,d,f];break}}else if(v&&(u=(t[b]||(t[b]={}))[e])&&u[0]===T)f=u[1];else while(p=++d&&p&&p[g]||(f=d=0)||h.pop())if((s?p.nodeName.toLowerCase()===y:1===p.nodeType)&&++f&&(v&&((p[b]||(p[b]={}))[e]=[T,f]),p===t))break;return f-=i,f===r||0===f%r&&f/r>=0}}},PSEUDO:function(e,t){var n,r=o.pseudos[e]||o.setFilters[e.toLowerCase()]||at.error("unsupported pseudo: "+e);return r[b]?r(t):r.length>1?(n=[e,e,"",t],o.setFilters.hasOwnProperty(e.toLowerCase())?lt(function(e,n){var i,o=r(e,t),a=o.length;while(a--)i=F.call(e,o[a]),e[i]=!(n[i]=o[a])}):function(e){return r(e,0,n)}):r}},pseudos:{not:lt(function(e){var t=[],n=[],r=l(e.replace(z,"$1"));return r[b]?lt(function(e,t,n,i){var o,a=r(e,null,i,[]),s=e.length;while(s--)(o=a[s])&&(e[s]=!(t[s]=o))}):function(e,i,o){return t[0]=e,r(t,null,o,n),!n.pop()}}),has:lt(function(e){return function(t){return at(e,t).length>0}}),contains:lt(function(e){return function(t){return(t.textContent||t.innerText||a(t)).indexOf(e)>-1}}),lang:lt(function(e){return G.test(e||"")||at.error("unsupported lang: "+e),e=e.replace(rt,it).toLowerCase(),function(t){var n;do if(n=h?t.lang:t.getAttribute("xml:lang")||t.getAttribute("lang"))return n=n.toLowerCase(),n===e||0===n.indexOf(e+"-");while((t=t.parentNode)&&1===t.nodeType);return!1}}),target:function(t){var n=e.location&&e.location.hash;return n&&n.slice(1)===t.id},root:function(e){return e===d},focus:function(e){return e===f.activeElement&&(!f.hasFocus||f.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:function(e){return e.disabled===!1},disabled:function(e){return e.disabled===!0},checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,e.selected===!0},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeName>"@"||3===e.nodeType||4===e.nodeType)return!1;return!0},parent:function(e){return!o.pseudos.empty(e)},header:function(e){return tt.test(e.nodeName)},input:function(e){return et.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||t.toLowerCase()===e.type)},first:ht(function(){return[0]}),last:ht(function(e,t){return[t-1]}),eq:ht(function(e,t,n){return[0>n?n+t:n]}),even:ht(function(e,t){var n=0;for(;t>n;n+=2)e.push(n);return e}),odd:ht(function(e,t){var n=1;for(;t>n;n+=2)e.push(n);return e}),lt:ht(function(e,t,n){var r=0>n?n+t:n;for(;--r>=0;)e.push(r);return e}),gt:ht(function(e,t,n){var r=0>n?n+t:n;for(;t>++r;)e.push(r);return e})}},o.pseudos.nth=o.pseudos.eq;for(n in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})o.pseudos[n]=ft(n);for(n in{submit:!0,reset:!0})o.pseudos[n]=dt(n);function gt(){}gt.prototype=o.filters=o.pseudos,o.setFilters=new gt;function mt(e,t){var n,r,i,a,s,l,u,c=k[e+" "];if(c)return t?0:c.slice(0);s=e,l=[],u=o.preFilter;while(s){(!n||(r=X.exec(s)))&&(r&&(s=s.slice(r[0].length)||s),l.push(i=[])),n=!1,(r=U.exec(s))&&(n=r.shift(),i.push({value:n,type:r[0].replace(z," ")}),s=s.slice(n.length));for(a in o.filter)!(r=Q[a].exec(s))||u[a]&&!(r=u[a](r))||(n=r.shift(),i.push({value:n,type:a,matches:r}),s=s.slice(n.length));if(!n)break}return t?s.length:s?at.error(e):k(e,l).slice(0)}function yt(e){var t=0,n=e.length,r="";for(;n>t;t++)r+=e[t].value;return r}function vt(e,t,n){var r=t.dir,o=n&&"parentNode"===r,a=C++;return t.first?function(t,n,i){while(t=t[r])if(1===t.nodeType||o)return e(t,n,i)}:function(t,n,s){var l,u,c,p=T+" "+a;if(s){while(t=t[r])if((1===t.nodeType||o)&&e(t,n,s))return!0}else while(t=t[r])if(1===t.nodeType||o)if(c=t[b]||(t[b]={}),(u=c[r])&&u[0]===p){if((l=u[1])===!0||l===i)return l===!0}else if(u=c[r]=[p],u[1]=e(t,n,s)||i,u[1]===!0)return!0}}function bt(e){return e.length>1?function(t,n,r){var i=e.length;while(i--)if(!e[i](t,n,r))return!1;return!0}:e[0]}function xt(e,t,n,r,i){var o,a=[],s=0,l=e.length,u=null!=t;for(;l>s;s++)(o=e[s])&&(!n||n(o,r,i))&&(a.push(o),u&&t.push(s));return a}function wt(e,t,n,r,i,o){return r&&!r[b]&&(r=wt(r)),i&&!i[b]&&(i=wt(i,o)),lt(function(o,a,s,l){var u,c,p,f=[],d=[],h=a.length,g=o||Nt(t||"*",s.nodeType?[s]:s,[]),m=!e||!o&&t?g:xt(g,f,e,s,l),y=n?i||(o?e:h||r)?[]:a:m;if(n&&n(m,y,s,l),r){u=xt(y,d),r(u,[],s,l),c=u.length;while(c--)(p=u[c])&&(y[d[c]]=!(m[d[c]]=p))}if(o){if(i||e){if(i){u=[],c=y.length;while(c--)(p=y[c])&&u.push(m[c]=p);i(null,y=[],u,l)}c=y.length;while(c--)(p=y[c])&&(u=i?F.call(o,p):f[c])>-1&&(o[u]=!(a[u]=p))}}else y=xt(y===a?y.splice(h,y.length):y),i?i(null,a,y,l):M.apply(a,y)})}function Tt(e){var t,n,r,i=e.length,a=o.relative[e[0].type],s=a||o.relative[" "],l=a?1:0,c=vt(function(e){return e===t},s,!0),p=vt(function(e){return F.call(t,e)>-1},s,!0),f=[function(e,n,r){return!a&&(r||n!==u)||((t=n).nodeType?c(e,n,r):p(e,n,r))}];for(;i>l;l++)if(n=o.relative[e[l].type])f=[vt(bt(f),n)];else{if(n=o.filter[e[l].type].apply(null,e[l].matches),n[b]){for(r=++l;i>r;r++)if(o.relative[e[r].type])break;return wt(l>1&&bt(f),l>1&&yt(e.slice(0,l-1).concat({value:" "===e[l-2].type?"*":""})).replace(z,"$1"),n,r>l&&Tt(e.slice(l,r)),i>r&&Tt(e=e.slice(r)),i>r&&yt(e))}f.push(n)}return bt(f)}function Ct(e,t){var n=0,r=t.length>0,a=e.length>0,s=function(s,l,c,p,d){var h,g,m,y=[],v=0,b="0",x=s&&[],w=null!=d,C=u,N=s||a&&o.find.TAG("*",d&&l.parentNode||l),k=T+=null==C?1:Math.random()||.1;for(w&&(u=l!==f&&l,i=n);null!=(h=N[b]);b++){if(a&&h){g=0;while(m=e[g++])if(m(h,l,c)){p.push(h);break}w&&(T=k,i=++n)}r&&((h=!m&&h)&&v--,s&&x.push(h))}if(v+=b,r&&b!==v){g=0;while(m=t[g++])m(x,y,l,c);if(s){if(v>0)while(b--)x[b]||y[b]||(y[b]=q.call(p));y=xt(y)}M.apply(p,y),w&&!s&&y.length>0&&v+t.length>1&&at.uniqueSort(p)}return w&&(T=k,u=C),x};return r?lt(s):s}l=at.compile=function(e,t){var n,r=[],i=[],o=E[e+" "];if(!o){t||(t=mt(e)),n=t.length;while(n--)o=Tt(t[n]),o[b]?r.push(o):i.push(o);o=E(e,Ct(i,r))}return o};function Nt(e,t,n){var r=0,i=t.length;for(;i>r;r++)at(e,t[r],n);return n}function kt(e,t,n,i){var a,s,u,c,p,f=mt(e);if(!i&&1===f.length){if(s=f[0]=f[0].slice(0),s.length>2&&"ID"===(u=s[0]).type&&r.getById&&9===t.nodeType&&h&&o.relative[s[1].type]){if(t=(o.find.ID(u.matches[0].replace(rt,it),t)||[])[0],!t)return n;e=e.slice(s.shift().value.length)}a=Q.needsContext.test(e)?0:s.length;while(a--){if(u=s[a],o.relative[c=u.type])break;if((p=o.find[c])&&(i=p(u.matches[0].replace(rt,it),V.test(s[0].type)&&t.parentNode||t))){if(s.splice(a,1),e=i.length&&yt(s),!e)return M.apply(n,i),n;break}}}return l(e,f)(i,t,!h,n,V.test(e)),n}r.sortStable=b.split("").sort(A).join("")===b,r.detectDuplicates=S,p(),r.sortDetached=ut(function(e){return 1&e.compareDocumentPosition(f.createElement("div"))}),ut(function(e){return e.innerHTML="","#"===e.firstChild.getAttribute("href")})||ct("type|href|height|width",function(e,n,r){return r?t:e.getAttribute(n,"type"===n.toLowerCase()?1:2)}),r.attributes&&ut(function(e){return e.innerHTML="",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||ct("value",function(e,n,r){return r||"input"!==e.nodeName.toLowerCase()?t:e.defaultValue}),ut(function(e){return null==e.getAttribute("disabled")})||ct(B,function(e,n,r){var i;return r?t:(i=e.getAttributeNode(n))&&i.specified?i.value:e[n]===!0?n.toLowerCase():null}),x.find=at,x.expr=at.selectors,x.expr[":"]=x.expr.pseudos,x.unique=at.uniqueSort,x.text=at.getText,x.isXMLDoc=at.isXML,x.contains=at.contains}(e);var O={};function F(e){var t=O[e]={};return x.each(e.match(T)||[],function(e,n){t[n]=!0}),t}x.Callbacks=function(e){e="string"==typeof e?O[e]||F(e):x.extend({},e);var n,r,i,o,a,s,l=[],u=!e.once&&[],c=function(t){for(r=e.memory&&t,i=!0,a=s||0,s=0,o=l.length,n=!0;l&&o>a;a++)if(l[a].apply(t[0],t[1])===!1&&e.stopOnFalse){r=!1;break}n=!1,l&&(u?u.length&&c(u.shift()):r?l=[]:p.disable())},p={add:function(){if(l){var t=l.length;(function i(t){x.each(t,function(t,n){var r=x.type(n);"function"===r?e.unique&&p.has(n)||l.push(n):n&&n.length&&"string"!==r&&i(n)})})(arguments),n?o=l.length:r&&(s=t,c(r))}return this},remove:function(){return l&&x.each(arguments,function(e,t){var r;while((r=x.inArray(t,l,r))>-1)l.splice(r,1),n&&(o>=r&&o--,a>=r&&a--)}),this},has:function(e){return e?x.inArray(e,l)>-1:!(!l||!l.length)},empty:function(){return l=[],o=0,this},disable:function(){return l=u=r=t,this},disabled:function(){return!l},lock:function(){return u=t,r||p.disable(),this},locked:function(){return!u},fireWith:function(e,t){return!l||i&&!u||(t=t||[],t=[e,t.slice?t.slice():t],n?u.push(t):c(t)),this},fire:function(){return p.fireWith(this,arguments),this},fired:function(){return!!i}};return p},x.extend({Deferred:function(e){var t=[["resolve","done",x.Callbacks("once memory"),"resolved"],["reject","fail",x.Callbacks("once memory"),"rejected"],["notify","progress",x.Callbacks("memory")]],n="pending",r={state:function(){return n},always:function(){return i.done(arguments).fail(arguments),this},then:function(){var e=arguments;return x.Deferred(function(n){x.each(t,function(t,o){var a=o[0],s=x.isFunction(e[t])&&e[t];i[o[1]](function(){var e=s&&s.apply(this,arguments);e&&x.isFunction(e.promise)?e.promise().done(n.resolve).fail(n.reject).progress(n.notify):n[a+"With"](this===r?n.promise():this,s?[e]:arguments)})}),e=null}).promise()},promise:function(e){return null!=e?x.extend(e,r):r}},i={};return r.pipe=r.then,x.each(t,function(e,o){var a=o[2],s=o[3];r[o[1]]=a.add,s&&a.add(function(){n=s},t[1^e][2].disable,t[2][2].lock),i[o[0]]=function(){return i[o[0]+"With"](this===i?r:this,arguments),this},i[o[0]+"With"]=a.fireWith}),r.promise(i),e&&e.call(i,i),i},when:function(e){var t=0,n=g.call(arguments),r=n.length,i=1!==r||e&&x.isFunction(e.promise)?r:0,o=1===i?e:x.Deferred(),a=function(e,t,n){return function(r){t[e]=this,n[e]=arguments.length>1?g.call(arguments):r,n===s?o.notifyWith(t,n):--i||o.resolveWith(t,n)}},s,l,u;if(r>1)for(s=Array(r),l=Array(r),u=Array(r);r>t;t++)n[t]&&x.isFunction(n[t].promise)?n[t].promise().done(a(t,u,n)).fail(o.reject).progress(a(t,l,s)):--i;return i||o.resolveWith(u,n),o.promise()}}),x.support=function(t){var n,r,o,s,l,u,c,p,f,d=a.createElement("div");if(d.setAttribute("className","t"),d.innerHTML="
a",n=d.getElementsByTagName("*")||[],r=d.getElementsByTagName("a")[0],!r||!r.style||!n.length)return t;s=a.createElement("select"),u=s.appendChild(a.createElement("option")),o=d.getElementsByTagName("input")[0],r.style.cssText="top:1px;float:left;opacity:.5",t.getSetAttribute="t"!==d.className,t.leadingWhitespace=3===d.firstChild.nodeType,t.tbody=!d.getElementsByTagName("tbody").length,t.htmlSerialize=!!d.getElementsByTagName("link").length,t.style=/top/.test(r.getAttribute("style")),t.hrefNormalized="/a"===r.getAttribute("href"),t.opacity=/^0.5/.test(r.style.opacity),t.cssFloat=!!r.style.cssFloat,t.checkOn=!!o.value,t.optSelected=u.selected,t.enctype=!!a.createElement("form").enctype,t.html5Clone="<:nav>"!==a.createElement("nav").cloneNode(!0).outerHTML,t.inlineBlockNeedsLayout=!1,t.shrinkWrapBlocks=!1,t.pixelPosition=!1,t.deleteExpando=!0,t.noCloneEvent=!0,t.reliableMarginRight=!0,t.boxSizingReliable=!0,o.checked=!0,t.noCloneChecked=o.cloneNode(!0).checked,s.disabled=!0,t.optDisabled=!u.disabled;try{delete d.test}catch(h){t.deleteExpando=!1}o=a.createElement("input"),o.setAttribute("value",""),t.input=""===o.getAttribute("value"),o.value="t",o.setAttribute("type","radio"),t.radioValue="t"===o.value,o.setAttribute("checked","t"),o.setAttribute("name","t"),l=a.createDocumentFragment(),l.appendChild(o),t.appendChecked=o.checked,t.checkClone=l.cloneNode(!0).cloneNode(!0).lastChild.checked,d.attachEvent&&(d.attachEvent("onclick",function(){t.noCloneEvent=!1}),d.cloneNode(!0).click());for(f in{submit:!0,change:!0,focusin:!0})d.setAttribute(c="on"+f,"t"),t[f+"Bubbles"]=c in e||d.attributes[c].expando===!1;d.style.backgroundClip="content-box",d.cloneNode(!0).style.backgroundClip="",t.clearCloneStyle="content-box"===d.style.backgroundClip;for(f in x(t))break;return t.ownLast="0"!==f,x(function(){var n,r,o,s="padding:0;margin:0;border:0;display:block;box-sizing:content-box;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;",l=a.getElementsByTagName("body")[0];l&&(n=a.createElement("div"),n.style.cssText="border:0;width:0;height:0;position:absolute;top:0;left:-9999px;margin-top:1px",l.appendChild(n).appendChild(d),d.innerHTML="
t
",o=d.getElementsByTagName("td"),o[0].style.cssText="padding:0;margin:0;border:0;display:none",p=0===o[0].offsetHeight,o[0].style.display="",o[1].style.display="none",t.reliableHiddenOffsets=p&&0===o[0].offsetHeight,d.innerHTML="",d.style.cssText="box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;padding:1px;border:1px;display:block;width:4px;margin-top:1%;position:absolute;top:1%;",x.swap(l,null!=l.style.zoom?{zoom:1}:{},function(){t.boxSizing=4===d.offsetWidth}),e.getComputedStyle&&(t.pixelPosition="1%"!==(e.getComputedStyle(d,null)||{}).top,t.boxSizingReliable="4px"===(e.getComputedStyle(d,null)||{width:"4px"}).width,r=d.appendChild(a.createElement("div")),r.style.cssText=d.style.cssText=s,r.style.marginRight=r.style.width="0",d.style.width="1px",t.reliableMarginRight=!parseFloat((e.getComputedStyle(r,null)||{}).marginRight)),typeof d.style.zoom!==i&&(d.innerHTML="",d.style.cssText=s+"width:1px;padding:1px;display:inline;zoom:1",t.inlineBlockNeedsLayout=3===d.offsetWidth,d.style.display="block",d.innerHTML="
",d.firstChild.style.width="5px",t.shrinkWrapBlocks=3!==d.offsetWidth,t.inlineBlockNeedsLayout&&(l.style.zoom=1)),l.removeChild(n),n=d=o=r=null)}),n=s=l=u=r=o=null,t }({});var B=/(?:\{[\s\S]*\}|\[[\s\S]*\])$/,P=/([A-Z])/g;function R(e,n,r,i){if(x.acceptData(e)){var o,a,s=x.expando,l=e.nodeType,u=l?x.cache:e,c=l?e[s]:e[s]&&s;if(c&&u[c]&&(i||u[c].data)||r!==t||"string"!=typeof n)return c||(c=l?e[s]=p.pop()||x.guid++:s),u[c]||(u[c]=l?{}:{toJSON:x.noop}),("object"==typeof n||"function"==typeof n)&&(i?u[c]=x.extend(u[c],n):u[c].data=x.extend(u[c].data,n)),a=u[c],i||(a.data||(a.data={}),a=a.data),r!==t&&(a[x.camelCase(n)]=r),"string"==typeof n?(o=a[n],null==o&&(o=a[x.camelCase(n)])):o=a,o}}function W(e,t,n){if(x.acceptData(e)){var r,i,o=e.nodeType,a=o?x.cache:e,s=o?e[x.expando]:x.expando;if(a[s]){if(t&&(r=n?a[s]:a[s].data)){x.isArray(t)?t=t.concat(x.map(t,x.camelCase)):t in r?t=[t]:(t=x.camelCase(t),t=t in r?[t]:t.split(" ")),i=t.length;while(i--)delete r[t[i]];if(n?!I(r):!x.isEmptyObject(r))return}(n||(delete a[s].data,I(a[s])))&&(o?x.cleanData([e],!0):x.support.deleteExpando||a!=a.window?delete a[s]:a[s]=null)}}}x.extend({cache:{},noData:{applet:!0,embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"},hasData:function(e){return e=e.nodeType?x.cache[e[x.expando]]:e[x.expando],!!e&&!I(e)},data:function(e,t,n){return R(e,t,n)},removeData:function(e,t){return W(e,t)},_data:function(e,t,n){return R(e,t,n,!0)},_removeData:function(e,t){return W(e,t,!0)},acceptData:function(e){if(e.nodeType&&1!==e.nodeType&&9!==e.nodeType)return!1;var t=e.nodeName&&x.noData[e.nodeName.toLowerCase()];return!t||t!==!0&&e.getAttribute("classid")===t}}),x.fn.extend({data:function(e,n){var r,i,o=null,a=0,s=this[0];if(e===t){if(this.length&&(o=x.data(s),1===s.nodeType&&!x._data(s,"parsedAttrs"))){for(r=s.attributes;r.length>a;a++)i=r[a].name,0===i.indexOf("data-")&&(i=x.camelCase(i.slice(5)),$(s,i,o[i]));x._data(s,"parsedAttrs",!0)}return o}return"object"==typeof e?this.each(function(){x.data(this,e)}):arguments.length>1?this.each(function(){x.data(this,e,n)}):s?$(s,e,x.data(s,e)):null},removeData:function(e){return this.each(function(){x.removeData(this,e)})}});function $(e,n,r){if(r===t&&1===e.nodeType){var i="data-"+n.replace(P,"-$1").toLowerCase();if(r=e.getAttribute(i),"string"==typeof r){try{r="true"===r?!0:"false"===r?!1:"null"===r?null:+r+""===r?+r:B.test(r)?x.parseJSON(r):r}catch(o){}x.data(e,n,r)}else r=t}return r}function I(e){var t;for(t in e)if(("data"!==t||!x.isEmptyObject(e[t]))&&"toJSON"!==t)return!1;return!0}x.extend({queue:function(e,n,r){var i;return e?(n=(n||"fx")+"queue",i=x._data(e,n),r&&(!i||x.isArray(r)?i=x._data(e,n,x.makeArray(r)):i.push(r)),i||[]):t},dequeue:function(e,t){t=t||"fx";var n=x.queue(e,t),r=n.length,i=n.shift(),o=x._queueHooks(e,t),a=function(){x.dequeue(e,t)};"inprogress"===i&&(i=n.shift(),r--),i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,a,o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return x._data(e,n)||x._data(e,n,{empty:x.Callbacks("once memory").add(function(){x._removeData(e,t+"queue"),x._removeData(e,n)})})}}),x.fn.extend({queue:function(e,n){var r=2;return"string"!=typeof e&&(n=e,e="fx",r--),r>arguments.length?x.queue(this[0],e):n===t?this:this.each(function(){var t=x.queue(this,e,n);x._queueHooks(this,e),"fx"===e&&"inprogress"!==t[0]&&x.dequeue(this,e)})},dequeue:function(e){return this.each(function(){x.dequeue(this,e)})},delay:function(e,t){return e=x.fx?x.fx.speeds[e]||e:e,t=t||"fx",this.queue(t,function(t,n){var r=setTimeout(t,e);n.stop=function(){clearTimeout(r)}})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,n){var r,i=1,o=x.Deferred(),a=this,s=this.length,l=function(){--i||o.resolveWith(a,[a])};"string"!=typeof e&&(n=e,e=t),e=e||"fx";while(s--)r=x._data(a[s],e+"queueHooks"),r&&r.empty&&(i++,r.empty.add(l));return l(),o.promise(n)}});var z,X,U=/[\t\r\n\f]/g,V=/\r/g,Y=/^(?:input|select|textarea|button|object)$/i,J=/^(?:a|area)$/i,G=/^(?:checked|selected)$/i,Q=x.support.getSetAttribute,K=x.support.input;x.fn.extend({attr:function(e,t){return x.access(this,x.attr,e,t,arguments.length>1)},removeAttr:function(e){return this.each(function(){x.removeAttr(this,e)})},prop:function(e,t){return x.access(this,x.prop,e,t,arguments.length>1)},removeProp:function(e){return e=x.propFix[e]||e,this.each(function(){try{this[e]=t,delete this[e]}catch(n){}})},addClass:function(e){var t,n,r,i,o,a=0,s=this.length,l="string"==typeof e&&e;if(x.isFunction(e))return this.each(function(t){x(this).addClass(e.call(this,t,this.className))});if(l)for(t=(e||"").match(T)||[];s>a;a++)if(n=this[a],r=1===n.nodeType&&(n.className?(" "+n.className+" ").replace(U," "):" ")){o=0;while(i=t[o++])0>r.indexOf(" "+i+" ")&&(r+=i+" ");n.className=x.trim(r)}return this},removeClass:function(e){var t,n,r,i,o,a=0,s=this.length,l=0===arguments.length||"string"==typeof e&&e;if(x.isFunction(e))return this.each(function(t){x(this).removeClass(e.call(this,t,this.className))});if(l)for(t=(e||"").match(T)||[];s>a;a++)if(n=this[a],r=1===n.nodeType&&(n.className?(" "+n.className+" ").replace(U," "):"")){o=0;while(i=t[o++])while(r.indexOf(" "+i+" ")>=0)r=r.replace(" "+i+" "," ");n.className=e?x.trim(r):""}return this},toggleClass:function(e,t){var n=typeof e;return"boolean"==typeof t&&"string"===n?t?this.addClass(e):this.removeClass(e):x.isFunction(e)?this.each(function(n){x(this).toggleClass(e.call(this,n,this.className,t),t)}):this.each(function(){if("string"===n){var t,r=0,o=x(this),a=e.match(T)||[];while(t=a[r++])o.hasClass(t)?o.removeClass(t):o.addClass(t)}else(n===i||"boolean"===n)&&(this.className&&x._data(this,"__className__",this.className),this.className=this.className||e===!1?"":x._data(this,"__className__")||"")})},hasClass:function(e){var t=" "+e+" ",n=0,r=this.length;for(;r>n;n++)if(1===this[n].nodeType&&(" "+this[n].className+" ").replace(U," ").indexOf(t)>=0)return!0;return!1},val:function(e){var n,r,i,o=this[0];{if(arguments.length)return i=x.isFunction(e),this.each(function(n){var o;1===this.nodeType&&(o=i?e.call(this,n,x(this).val()):e,null==o?o="":"number"==typeof o?o+="":x.isArray(o)&&(o=x.map(o,function(e){return null==e?"":e+""})),r=x.valHooks[this.type]||x.valHooks[this.nodeName.toLowerCase()],r&&"set"in r&&r.set(this,o,"value")!==t||(this.value=o))});if(o)return r=x.valHooks[o.type]||x.valHooks[o.nodeName.toLowerCase()],r&&"get"in r&&(n=r.get(o,"value"))!==t?n:(n=o.value,"string"==typeof n?n.replace(V,""):null==n?"":n)}}}),x.extend({valHooks:{option:{get:function(e){var t=x.find.attr(e,"value");return null!=t?t:e.text}},select:{get:function(e){var t,n,r=e.options,i=e.selectedIndex,o="select-one"===e.type||0>i,a=o?null:[],s=o?i+1:r.length,l=0>i?s:o?i:0;for(;s>l;l++)if(n=r[l],!(!n.selected&&l!==i||(x.support.optDisabled?n.disabled:null!==n.getAttribute("disabled"))||n.parentNode.disabled&&x.nodeName(n.parentNode,"optgroup"))){if(t=x(n).val(),o)return t;a.push(t)}return a},set:function(e,t){var n,r,i=e.options,o=x.makeArray(t),a=i.length;while(a--)r=i[a],(r.selected=x.inArray(x(r).val(),o)>=0)&&(n=!0);return n||(e.selectedIndex=-1),o}}},attr:function(e,n,r){var o,a,s=e.nodeType;if(e&&3!==s&&8!==s&&2!==s)return typeof e.getAttribute===i?x.prop(e,n,r):(1===s&&x.isXMLDoc(e)||(n=n.toLowerCase(),o=x.attrHooks[n]||(x.expr.match.bool.test(n)?X:z)),r===t?o&&"get"in o&&null!==(a=o.get(e,n))?a:(a=x.find.attr(e,n),null==a?t:a):null!==r?o&&"set"in o&&(a=o.set(e,r,n))!==t?a:(e.setAttribute(n,r+""),r):(x.removeAttr(e,n),t))},removeAttr:function(e,t){var n,r,i=0,o=t&&t.match(T);if(o&&1===e.nodeType)while(n=o[i++])r=x.propFix[n]||n,x.expr.match.bool.test(n)?K&&Q||!G.test(n)?e[r]=!1:e[x.camelCase("default-"+n)]=e[r]=!1:x.attr(e,n,""),e.removeAttribute(Q?n:r)},attrHooks:{type:{set:function(e,t){if(!x.support.radioValue&&"radio"===t&&x.nodeName(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},propFix:{"for":"htmlFor","class":"className"},prop:function(e,n,r){var i,o,a,s=e.nodeType;if(e&&3!==s&&8!==s&&2!==s)return a=1!==s||!x.isXMLDoc(e),a&&(n=x.propFix[n]||n,o=x.propHooks[n]),r!==t?o&&"set"in o&&(i=o.set(e,r,n))!==t?i:e[n]=r:o&&"get"in o&&null!==(i=o.get(e,n))?i:e[n]},propHooks:{tabIndex:{get:function(e){var t=x.find.attr(e,"tabindex");return t?parseInt(t,10):Y.test(e.nodeName)||J.test(e.nodeName)&&e.href?0:-1}}}}),X={set:function(e,t,n){return t===!1?x.removeAttr(e,n):K&&Q||!G.test(n)?e.setAttribute(!Q&&x.propFix[n]||n,n):e[x.camelCase("default-"+n)]=e[n]=!0,n}},x.each(x.expr.match.bool.source.match(/\w+/g),function(e,n){var r=x.expr.attrHandle[n]||x.find.attr;x.expr.attrHandle[n]=K&&Q||!G.test(n)?function(e,n,i){var o=x.expr.attrHandle[n],a=i?t:(x.expr.attrHandle[n]=t)!=r(e,n,i)?n.toLowerCase():null;return x.expr.attrHandle[n]=o,a}:function(e,n,r){return r?t:e[x.camelCase("default-"+n)]?n.toLowerCase():null}}),K&&Q||(x.attrHooks.value={set:function(e,n,r){return x.nodeName(e,"input")?(e.defaultValue=n,t):z&&z.set(e,n,r)}}),Q||(z={set:function(e,n,r){var i=e.getAttributeNode(r);return i||e.setAttributeNode(i=e.ownerDocument.createAttribute(r)),i.value=n+="","value"===r||n===e.getAttribute(r)?n:t}},x.expr.attrHandle.id=x.expr.attrHandle.name=x.expr.attrHandle.coords=function(e,n,r){var i;return r?t:(i=e.getAttributeNode(n))&&""!==i.value?i.value:null},x.valHooks.button={get:function(e,n){var r=e.getAttributeNode(n);return r&&r.specified?r.value:t},set:z.set},x.attrHooks.contenteditable={set:function(e,t,n){z.set(e,""===t?!1:t,n)}},x.each(["width","height"],function(e,n){x.attrHooks[n]={set:function(e,r){return""===r?(e.setAttribute(n,"auto"),r):t}}})),x.support.hrefNormalized||x.each(["href","src"],function(e,t){x.propHooks[t]={get:function(e){return e.getAttribute(t,4)}}}),x.support.style||(x.attrHooks.style={get:function(e){return e.style.cssText||t},set:function(e,t){return e.style.cssText=t+""}}),x.support.optSelected||(x.propHooks.selected={get:function(e){var t=e.parentNode;return t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex),null}}),x.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){x.propFix[this.toLowerCase()]=this}),x.support.enctype||(x.propFix.enctype="encoding"),x.each(["radio","checkbox"],function(){x.valHooks[this]={set:function(e,n){return x.isArray(n)?e.checked=x.inArray(x(e).val(),n)>=0:t}},x.support.checkOn||(x.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})});var Z=/^(?:input|select|textarea)$/i,et=/^key/,tt=/^(?:mouse|contextmenu)|click/,nt=/^(?:focusinfocus|focusoutblur)$/,rt=/^([^.]*)(?:\.(.+)|)$/;function it(){return!0}function ot(){return!1}function at(){try{return a.activeElement}catch(e){}}x.event={global:{},add:function(e,n,r,o,a){var s,l,u,c,p,f,d,h,g,m,y,v=x._data(e);if(v){r.handler&&(c=r,r=c.handler,a=c.selector),r.guid||(r.guid=x.guid++),(l=v.events)||(l=v.events={}),(f=v.handle)||(f=v.handle=function(e){return typeof x===i||e&&x.event.triggered===e.type?t:x.event.dispatch.apply(f.elem,arguments)},f.elem=e),n=(n||"").match(T)||[""],u=n.length;while(u--)s=rt.exec(n[u])||[],g=y=s[1],m=(s[2]||"").split(".").sort(),g&&(p=x.event.special[g]||{},g=(a?p.delegateType:p.bindType)||g,p=x.event.special[g]||{},d=x.extend({type:g,origType:y,data:o,handler:r,guid:r.guid,selector:a,needsContext:a&&x.expr.match.needsContext.test(a),namespace:m.join(".")},c),(h=l[g])||(h=l[g]=[],h.delegateCount=0,p.setup&&p.setup.call(e,o,m,f)!==!1||(e.addEventListener?e.addEventListener(g,f,!1):e.attachEvent&&e.attachEvent("on"+g,f))),p.add&&(p.add.call(e,d),d.handler.guid||(d.handler.guid=r.guid)),a?h.splice(h.delegateCount++,0,d):h.push(d),x.event.global[g]=!0);e=null}},remove:function(e,t,n,r,i){var o,a,s,l,u,c,p,f,d,h,g,m=x.hasData(e)&&x._data(e);if(m&&(c=m.events)){t=(t||"").match(T)||[""],u=t.length;while(u--)if(s=rt.exec(t[u])||[],d=g=s[1],h=(s[2]||"").split(".").sort(),d){p=x.event.special[d]||{},d=(r?p.delegateType:p.bindType)||d,f=c[d]||[],s=s[2]&&RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),l=o=f.length;while(o--)a=f[o],!i&&g!==a.origType||n&&n.guid!==a.guid||s&&!s.test(a.namespace)||r&&r!==a.selector&&("**"!==r||!a.selector)||(f.splice(o,1),a.selector&&f.delegateCount--,p.remove&&p.remove.call(e,a));l&&!f.length&&(p.teardown&&p.teardown.call(e,h,m.handle)!==!1||x.removeEvent(e,d,m.handle),delete c[d])}else for(d in c)x.event.remove(e,d+t[u],n,r,!0);x.isEmptyObject(c)&&(delete m.handle,x._removeData(e,"events"))}},trigger:function(n,r,i,o){var s,l,u,c,p,f,d,h=[i||a],g=v.call(n,"type")?n.type:n,m=v.call(n,"namespace")?n.namespace.split("."):[];if(u=f=i=i||a,3!==i.nodeType&&8!==i.nodeType&&!nt.test(g+x.event.triggered)&&(g.indexOf(".")>=0&&(m=g.split("."),g=m.shift(),m.sort()),l=0>g.indexOf(":")&&"on"+g,n=n[x.expando]?n:new x.Event(g,"object"==typeof n&&n),n.isTrigger=o?2:3,n.namespace=m.join("."),n.namespace_re=n.namespace?RegExp("(^|\\.)"+m.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,n.result=t,n.target||(n.target=i),r=null==r?[n]:x.makeArray(r,[n]),p=x.event.special[g]||{},o||!p.trigger||p.trigger.apply(i,r)!==!1)){if(!o&&!p.noBubble&&!x.isWindow(i)){for(c=p.delegateType||g,nt.test(c+g)||(u=u.parentNode);u;u=u.parentNode)h.push(u),f=u;f===(i.ownerDocument||a)&&h.push(f.defaultView||f.parentWindow||e)}d=0;while((u=h[d++])&&!n.isPropagationStopped())n.type=d>1?c:p.bindType||g,s=(x._data(u,"events")||{})[n.type]&&x._data(u,"handle"),s&&s.apply(u,r),s=l&&u[l],s&&x.acceptData(u)&&s.apply&&s.apply(u,r)===!1&&n.preventDefault();if(n.type=g,!o&&!n.isDefaultPrevented()&&(!p._default||p._default.apply(h.pop(),r)===!1)&&x.acceptData(i)&&l&&i[g]&&!x.isWindow(i)){f=i[l],f&&(i[l]=null),x.event.triggered=g;try{i[g]()}catch(y){}x.event.triggered=t,f&&(i[l]=f)}return n.result}},dispatch:function(e){e=x.event.fix(e);var n,r,i,o,a,s=[],l=g.call(arguments),u=(x._data(this,"events")||{})[e.type]||[],c=x.event.special[e.type]||{};if(l[0]=e,e.delegateTarget=this,!c.preDispatch||c.preDispatch.call(this,e)!==!1){s=x.event.handlers.call(this,e,u),n=0;while((o=s[n++])&&!e.isPropagationStopped()){e.currentTarget=o.elem,a=0;while((i=o.handlers[a++])&&!e.isImmediatePropagationStopped())(!e.namespace_re||e.namespace_re.test(i.namespace))&&(e.handleObj=i,e.data=i.data,r=((x.event.special[i.origType]||{}).handle||i.handler).apply(o.elem,l),r!==t&&(e.result=r)===!1&&(e.preventDefault(),e.stopPropagation()))}return c.postDispatch&&c.postDispatch.call(this,e),e.result}},handlers:function(e,n){var r,i,o,a,s=[],l=n.delegateCount,u=e.target;if(l&&u.nodeType&&(!e.button||"click"!==e.type))for(;u!=this;u=u.parentNode||this)if(1===u.nodeType&&(u.disabled!==!0||"click"!==e.type)){for(o=[],a=0;l>a;a++)i=n[a],r=i.selector+" ",o[r]===t&&(o[r]=i.needsContext?x(r,this).index(u)>=0:x.find(r,this,null,[u]).length),o[r]&&o.push(i);o.length&&s.push({elem:u,handlers:o})}return n.length>l&&s.push({elem:this,handlers:n.slice(l)}),s},fix:function(e){if(e[x.expando])return e;var t,n,r,i=e.type,o=e,s=this.fixHooks[i];s||(this.fixHooks[i]=s=tt.test(i)?this.mouseHooks:et.test(i)?this.keyHooks:{}),r=s.props?this.props.concat(s.props):this.props,e=new x.Event(o),t=r.length;while(t--)n=r[t],e[n]=o[n];return e.target||(e.target=o.srcElement||a),3===e.target.nodeType&&(e.target=e.target.parentNode),e.metaKey=!!e.metaKey,s.filter?s.filter(e,o):e},props:"altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(e,t){return null==e.which&&(e.which=null!=t.charCode?t.charCode:t.keyCode),e}},mouseHooks:{props:"button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(e,n){var r,i,o,s=n.button,l=n.fromElement;return null==e.pageX&&null!=n.clientX&&(i=e.target.ownerDocument||a,o=i.documentElement,r=i.body,e.pageX=n.clientX+(o&&o.scrollLeft||r&&r.scrollLeft||0)-(o&&o.clientLeft||r&&r.clientLeft||0),e.pageY=n.clientY+(o&&o.scrollTop||r&&r.scrollTop||0)-(o&&o.clientTop||r&&r.clientTop||0)),!e.relatedTarget&&l&&(e.relatedTarget=l===e.target?n.toElement:l),e.which||s===t||(e.which=1&s?1:2&s?3:4&s?2:0),e}},special:{load:{noBubble:!0},focus:{trigger:function(){if(this!==at()&&this.focus)try{return this.focus(),!1}catch(e){}},delegateType:"focusin"},blur:{trigger:function(){return this===at()&&this.blur?(this.blur(),!1):t},delegateType:"focusout"},click:{trigger:function(){return x.nodeName(this,"input")&&"checkbox"===this.type&&this.click?(this.click(),!1):t},_default:function(e){return x.nodeName(e.target,"a")}},beforeunload:{postDispatch:function(e){e.result!==t&&(e.originalEvent.returnValue=e.result)}}},simulate:function(e,t,n,r){var i=x.extend(new x.Event,n,{type:e,isSimulated:!0,originalEvent:{}});r?x.event.trigger(i,null,t):x.event.dispatch.call(t,i),i.isDefaultPrevented()&&n.preventDefault()}},x.removeEvent=a.removeEventListener?function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n,!1)}:function(e,t,n){var r="on"+t;e.detachEvent&&(typeof e[r]===i&&(e[r]=null),e.detachEvent(r,n))},x.Event=function(e,n){return this instanceof x.Event?(e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||e.returnValue===!1||e.getPreventDefault&&e.getPreventDefault()?it:ot):this.type=e,n&&x.extend(this,n),this.timeStamp=e&&e.timeStamp||x.now(),this[x.expando]=!0,t):new x.Event(e,n)},x.Event.prototype={isDefaultPrevented:ot,isPropagationStopped:ot,isImmediatePropagationStopped:ot,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=it,e&&(e.preventDefault?e.preventDefault():e.returnValue=!1)},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=it,e&&(e.stopPropagation&&e.stopPropagation(),e.cancelBubble=!0)},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=it,this.stopPropagation()}},x.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(e,t){x.event.special[e]={delegateType:t,bindType:t,handle:function(e){var n,r=this,i=e.relatedTarget,o=e.handleObj;return(!i||i!==r&&!x.contains(r,i))&&(e.type=o.origType,n=o.handler.apply(this,arguments),e.type=t),n}}}),x.support.submitBubbles||(x.event.special.submit={setup:function(){return x.nodeName(this,"form")?!1:(x.event.add(this,"click._submit keypress._submit",function(e){var n=e.target,r=x.nodeName(n,"input")||x.nodeName(n,"button")?n.form:t;r&&!x._data(r,"submitBubbles")&&(x.event.add(r,"submit._submit",function(e){e._submit_bubble=!0}),x._data(r,"submitBubbles",!0))}),t)},postDispatch:function(e){e._submit_bubble&&(delete e._submit_bubble,this.parentNode&&!e.isTrigger&&x.event.simulate("submit",this.parentNode,e,!0))},teardown:function(){return x.nodeName(this,"form")?!1:(x.event.remove(this,"._submit"),t)}}),x.support.changeBubbles||(x.event.special.change={setup:function(){return Z.test(this.nodeName)?(("checkbox"===this.type||"radio"===this.type)&&(x.event.add(this,"propertychange._change",function(e){"checked"===e.originalEvent.propertyName&&(this._just_changed=!0)}),x.event.add(this,"click._change",function(e){this._just_changed&&!e.isTrigger&&(this._just_changed=!1),x.event.simulate("change",this,e,!0)})),!1):(x.event.add(this,"beforeactivate._change",function(e){var t=e.target;Z.test(t.nodeName)&&!x._data(t,"changeBubbles")&&(x.event.add(t,"change._change",function(e){!this.parentNode||e.isSimulated||e.isTrigger||x.event.simulate("change",this.parentNode,e,!0)}),x._data(t,"changeBubbles",!0))}),t)},handle:function(e){var n=e.target;return this!==n||e.isSimulated||e.isTrigger||"radio"!==n.type&&"checkbox"!==n.type?e.handleObj.handler.apply(this,arguments):t},teardown:function(){return x.event.remove(this,"._change"),!Z.test(this.nodeName)}}),x.support.focusinBubbles||x.each({focus:"focusin",blur:"focusout"},function(e,t){var n=0,r=function(e){x.event.simulate(t,e.target,x.event.fix(e),!0)};x.event.special[t]={setup:function(){0===n++&&a.addEventListener(e,r,!0)},teardown:function(){0===--n&&a.removeEventListener(e,r,!0)}}}),x.fn.extend({on:function(e,n,r,i,o){var a,s;if("object"==typeof e){"string"!=typeof n&&(r=r||n,n=t);for(a in e)this.on(a,n,r,e[a],o);return this}if(null==r&&null==i?(i=n,r=n=t):null==i&&("string"==typeof n?(i=r,r=t):(i=r,r=n,n=t)),i===!1)i=ot;else if(!i)return this;return 1===o&&(s=i,i=function(e){return x().off(e),s.apply(this,arguments)},i.guid=s.guid||(s.guid=x.guid++)),this.each(function(){x.event.add(this,e,i,r,n)})},one:function(e,t,n,r){return this.on(e,t,n,r,1)},off:function(e,n,r){var i,o;if(e&&e.preventDefault&&e.handleObj)return i=e.handleObj,x(e.delegateTarget).off(i.namespace?i.origType+"."+i.namespace:i.origType,i.selector,i.handler),this;if("object"==typeof e){for(o in e)this.off(o,n,e[o]);return this}return(n===!1||"function"==typeof n)&&(r=n,n=t),r===!1&&(r=ot),this.each(function(){x.event.remove(this,e,r,n)})},trigger:function(e,t){return this.each(function(){x.event.trigger(e,t,this)})},triggerHandler:function(e,n){var r=this[0];return r?x.event.trigger(e,n,r,!0):t}});var st=/^.[^:#\[\.,]*$/,lt=/^(?:parents|prev(?:Until|All))/,ut=x.expr.match.needsContext,ct={children:!0,contents:!0,next:!0,prev:!0};x.fn.extend({find:function(e){var t,n=[],r=this,i=r.length;if("string"!=typeof e)return this.pushStack(x(e).filter(function(){for(t=0;i>t;t++)if(x.contains(r[t],this))return!0}));for(t=0;i>t;t++)x.find(e,r[t],n);return n=this.pushStack(i>1?x.unique(n):n),n.selector=this.selector?this.selector+" "+e:e,n},has:function(e){var t,n=x(e,this),r=n.length;return this.filter(function(){for(t=0;r>t;t++)if(x.contains(this,n[t]))return!0})},not:function(e){return this.pushStack(ft(this,e||[],!0))},filter:function(e){return this.pushStack(ft(this,e||[],!1))},is:function(e){return!!ft(this,"string"==typeof e&&ut.test(e)?x(e):e||[],!1).length},closest:function(e,t){var n,r=0,i=this.length,o=[],a=ut.test(e)||"string"!=typeof e?x(e,t||this.context):0;for(;i>r;r++)for(n=this[r];n&&n!==t;n=n.parentNode)if(11>n.nodeType&&(a?a.index(n)>-1:1===n.nodeType&&x.find.matchesSelector(n,e))){n=o.push(n);break}return this.pushStack(o.length>1?x.unique(o):o)},index:function(e){return e?"string"==typeof e?x.inArray(this[0],x(e)):x.inArray(e.jquery?e[0]:e,this):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){var n="string"==typeof e?x(e,t):x.makeArray(e&&e.nodeType?[e]:e),r=x.merge(this.get(),n);return this.pushStack(x.unique(r))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}});function pt(e,t){do e=e[t];while(e&&1!==e.nodeType);return e}x.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return x.dir(e,"parentNode")},parentsUntil:function(e,t,n){return x.dir(e,"parentNode",n)},next:function(e){return pt(e,"nextSibling")},prev:function(e){return pt(e,"previousSibling")},nextAll:function(e){return x.dir(e,"nextSibling")},prevAll:function(e){return x.dir(e,"previousSibling")},nextUntil:function(e,t,n){return x.dir(e,"nextSibling",n)},prevUntil:function(e,t,n){return x.dir(e,"previousSibling",n)},siblings:function(e){return x.sibling((e.parentNode||{}).firstChild,e)},children:function(e){return x.sibling(e.firstChild)},contents:function(e){return x.nodeName(e,"iframe")?e.contentDocument||e.contentWindow.document:x.merge([],e.childNodes)}},function(e,t){x.fn[e]=function(n,r){var i=x.map(this,t,n);return"Until"!==e.slice(-5)&&(r=n),r&&"string"==typeof r&&(i=x.filter(r,i)),this.length>1&&(ct[e]||(i=x.unique(i)),lt.test(e)&&(i=i.reverse())),this.pushStack(i)}}),x.extend({filter:function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?x.find.matchesSelector(r,e)?[r]:[]:x.find.matches(e,x.grep(t,function(e){return 1===e.nodeType}))},dir:function(e,n,r){var i=[],o=e[n];while(o&&9!==o.nodeType&&(r===t||1!==o.nodeType||!x(o).is(r)))1===o.nodeType&&i.push(o),o=o[n];return i},sibling:function(e,t){var n=[];for(;e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n}});function ft(e,t,n){if(x.isFunction(t))return x.grep(e,function(e,r){return!!t.call(e,r,e)!==n});if(t.nodeType)return x.grep(e,function(e){return e===t!==n});if("string"==typeof t){if(st.test(t))return x.filter(t,e,n);t=x.filter(t,e)}return x.grep(e,function(e){return x.inArray(e,t)>=0!==n})}function dt(e){var t=ht.split("|"),n=e.createDocumentFragment();if(n.createElement)while(t.length)n.createElement(t.pop());return n}var ht="abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",gt=/ jQuery\d+="(?:null|\d+)"/g,mt=RegExp("<(?:"+ht+")[\\s/>]","i"),yt=/^\s+/,vt=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,bt=/<([\w:]+)/,xt=/\s*$/g,At={option:[1,""],legend:[1,"
","
"],area:[1,"",""],param:[1,"",""],thead:[1,"","
"],tr:[2,"","
"],col:[2,"","
"],td:[3,"","
"],_default:x.support.htmlSerialize?[0,"",""]:[1,"X
","
"]},jt=dt(a),Dt=jt.appendChild(a.createElement("div"));At.optgroup=At.option,At.tbody=At.tfoot=At.colgroup=At.caption=At.thead,At.th=At.td,x.fn.extend({text:function(e){return x.access(this,function(e){return e===t?x.text(this):this.empty().append((this[0]&&this[0].ownerDocument||a).createTextNode(e))},null,e,arguments.length)},append:function(){return this.domManip(arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=Lt(this,e);t.appendChild(e)}})},prepend:function(){return this.domManip(arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=Lt(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return this.domManip(arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return this.domManip(arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},remove:function(e,t){var n,r=e?x.filter(e,this):this,i=0;for(;null!=(n=r[i]);i++)t||1!==n.nodeType||x.cleanData(Ft(n)),n.parentNode&&(t&&x.contains(n.ownerDocument,n)&&_t(Ft(n,"script")),n.parentNode.removeChild(n));return this},empty:function(){var e,t=0;for(;null!=(e=this[t]);t++){1===e.nodeType&&x.cleanData(Ft(e,!1));while(e.firstChild)e.removeChild(e.firstChild);e.options&&x.nodeName(e,"select")&&(e.options.length=0)}return this},clone:function(e,t){return e=null==e?!1:e,t=null==t?e:t,this.map(function(){return x.clone(this,e,t)})},html:function(e){return x.access(this,function(e){var n=this[0]||{},r=0,i=this.length;if(e===t)return 1===n.nodeType?n.innerHTML.replace(gt,""):t;if(!("string"!=typeof e||Tt.test(e)||!x.support.htmlSerialize&&mt.test(e)||!x.support.leadingWhitespace&&yt.test(e)||At[(bt.exec(e)||["",""])[1].toLowerCase()])){e=e.replace(vt,"<$1>");try{for(;i>r;r++)n=this[r]||{},1===n.nodeType&&(x.cleanData(Ft(n,!1)),n.innerHTML=e);n=0}catch(o){}}n&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(){var e=x.map(this,function(e){return[e.nextSibling,e.parentNode]}),t=0;return this.domManip(arguments,function(n){var r=e[t++],i=e[t++];i&&(r&&r.parentNode!==i&&(r=this.nextSibling),x(this).remove(),i.insertBefore(n,r))},!0),t?this:this.remove()},detach:function(e){return this.remove(e,!0)},domManip:function(e,t,n){e=d.apply([],e);var r,i,o,a,s,l,u=0,c=this.length,p=this,f=c-1,h=e[0],g=x.isFunction(h);if(g||!(1>=c||"string"!=typeof h||x.support.checkClone)&&Nt.test(h))return this.each(function(r){var i=p.eq(r);g&&(e[0]=h.call(this,r,i.html())),i.domManip(e,t,n)});if(c&&(l=x.buildFragment(e,this[0].ownerDocument,!1,!n&&this),r=l.firstChild,1===l.childNodes.length&&(l=r),r)){for(a=x.map(Ft(l,"script"),Ht),o=a.length;c>u;u++)i=l,u!==f&&(i=x.clone(i,!0,!0),o&&x.merge(a,Ft(i,"script"))),t.call(this[u],i,u);if(o)for(s=a[a.length-1].ownerDocument,x.map(a,qt),u=0;o>u;u++)i=a[u],kt.test(i.type||"")&&!x._data(i,"globalEval")&&x.contains(s,i)&&(i.src?x._evalUrl(i.src):x.globalEval((i.text||i.textContent||i.innerHTML||"").replace(St,"")));l=r=null}return this}});function Lt(e,t){return x.nodeName(e,"table")&&x.nodeName(1===t.nodeType?t:t.firstChild,"tr")?e.getElementsByTagName("tbody")[0]||e.appendChild(e.ownerDocument.createElement("tbody")):e}function Ht(e){return e.type=(null!==x.find.attr(e,"type"))+"/"+e.type,e}function qt(e){var t=Et.exec(e.type);return t?e.type=t[1]:e.removeAttribute("type"),e}function _t(e,t){var n,r=0;for(;null!=(n=e[r]);r++)x._data(n,"globalEval",!t||x._data(t[r],"globalEval"))}function Mt(e,t){if(1===t.nodeType&&x.hasData(e)){var n,r,i,o=x._data(e),a=x._data(t,o),s=o.events;if(s){delete a.handle,a.events={};for(n in s)for(r=0,i=s[n].length;i>r;r++)x.event.add(t,n,s[n][r])}a.data&&(a.data=x.extend({},a.data))}}function Ot(e,t){var n,r,i;if(1===t.nodeType){if(n=t.nodeName.toLowerCase(),!x.support.noCloneEvent&&t[x.expando]){i=x._data(t);for(r in i.events)x.removeEvent(t,r,i.handle);t.removeAttribute(x.expando)}"script"===n&&t.text!==e.text?(Ht(t).text=e.text,qt(t)):"object"===n?(t.parentNode&&(t.outerHTML=e.outerHTML),x.support.html5Clone&&e.innerHTML&&!x.trim(t.innerHTML)&&(t.innerHTML=e.innerHTML)):"input"===n&&Ct.test(e.type)?(t.defaultChecked=t.checked=e.checked,t.value!==e.value&&(t.value=e.value)):"option"===n?t.defaultSelected=t.selected=e.defaultSelected:("input"===n||"textarea"===n)&&(t.defaultValue=e.defaultValue)}}x.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,t){x.fn[e]=function(e){var n,r=0,i=[],o=x(e),a=o.length-1;for(;a>=r;r++)n=r===a?this:this.clone(!0),x(o[r])[t](n),h.apply(i,n.get());return this.pushStack(i)}});function Ft(e,n){var r,o,a=0,s=typeof e.getElementsByTagName!==i?e.getElementsByTagName(n||"*"):typeof e.querySelectorAll!==i?e.querySelectorAll(n||"*"):t;if(!s)for(s=[],r=e.childNodes||e;null!=(o=r[a]);a++)!n||x.nodeName(o,n)?s.push(o):x.merge(s,Ft(o,n));return n===t||n&&x.nodeName(e,n)?x.merge([e],s):s}function Bt(e){Ct.test(e.type)&&(e.defaultChecked=e.checked)}x.extend({clone:function(e,t,n){var r,i,o,a,s,l=x.contains(e.ownerDocument,e);if(x.support.html5Clone||x.isXMLDoc(e)||!mt.test("<"+e.nodeName+">")?o=e.cloneNode(!0):(Dt.innerHTML=e.outerHTML,Dt.removeChild(o=Dt.firstChild)),!(x.support.noCloneEvent&&x.support.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||x.isXMLDoc(e)))for(r=Ft(o),s=Ft(e),a=0;null!=(i=s[a]);++a)r[a]&&Ot(i,r[a]);if(t)if(n)for(s=s||Ft(e),r=r||Ft(o),a=0;null!=(i=s[a]);a++)Mt(i,r[a]);else Mt(e,o);return r=Ft(o,"script"),r.length>0&&_t(r,!l&&Ft(e,"script")),r=s=i=null,o},buildFragment:function(e,t,n,r){var i,o,a,s,l,u,c,p=e.length,f=dt(t),d=[],h=0;for(;p>h;h++)if(o=e[h],o||0===o)if("object"===x.type(o))x.merge(d,o.nodeType?[o]:o);else if(wt.test(o)){s=s||f.appendChild(t.createElement("div")),l=(bt.exec(o)||["",""])[1].toLowerCase(),c=At[l]||At._default,s.innerHTML=c[1]+o.replace(vt,"<$1>")+c[2],i=c[0];while(i--)s=s.lastChild;if(!x.support.leadingWhitespace&&yt.test(o)&&d.push(t.createTextNode(yt.exec(o)[0])),!x.support.tbody){o="table"!==l||xt.test(o)?""!==c[1]||xt.test(o)?0:s:s.firstChild,i=o&&o.childNodes.length;while(i--)x.nodeName(u=o.childNodes[i],"tbody")&&!u.childNodes.length&&o.removeChild(u)}x.merge(d,s.childNodes),s.textContent="";while(s.firstChild)s.removeChild(s.firstChild);s=f.lastChild}else d.push(t.createTextNode(o));s&&f.removeChild(s),x.support.appendChecked||x.grep(Ft(d,"input"),Bt),h=0;while(o=d[h++])if((!r||-1===x.inArray(o,r))&&(a=x.contains(o.ownerDocument,o),s=Ft(f.appendChild(o),"script"),a&&_t(s),n)){i=0;while(o=s[i++])kt.test(o.type||"")&&n.push(o)}return s=null,f},cleanData:function(e,t){var n,r,o,a,s=0,l=x.expando,u=x.cache,c=x.support.deleteExpando,f=x.event.special;for(;null!=(n=e[s]);s++)if((t||x.acceptData(n))&&(o=n[l],a=o&&u[o])){if(a.events)for(r in a.events)f[r]?x.event.remove(n,r):x.removeEvent(n,r,a.handle); u[o]&&(delete u[o],c?delete n[l]:typeof n.removeAttribute!==i?n.removeAttribute(l):n[l]=null,p.push(o))}},_evalUrl:function(e){return x.ajax({url:e,type:"GET",dataType:"script",async:!1,global:!1,"throws":!0})}}),x.fn.extend({wrapAll:function(e){if(x.isFunction(e))return this.each(function(t){x(this).wrapAll(e.call(this,t))});if(this[0]){var t=x(e,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){var e=this;while(e.firstChild&&1===e.firstChild.nodeType)e=e.firstChild;return e}).append(this)}return this},wrapInner:function(e){return x.isFunction(e)?this.each(function(t){x(this).wrapInner(e.call(this,t))}):this.each(function(){var t=x(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)})},wrap:function(e){var t=x.isFunction(e);return this.each(function(n){x(this).wrapAll(t?e.call(this,n):e)})},unwrap:function(){return this.parent().each(function(){x.nodeName(this,"body")||x(this).replaceWith(this.childNodes)}).end()}});var Pt,Rt,Wt,$t=/alpha\([^)]*\)/i,It=/opacity\s*=\s*([^)]*)/,zt=/^(top|right|bottom|left)$/,Xt=/^(none|table(?!-c[ea]).+)/,Ut=/^margin/,Vt=RegExp("^("+w+")(.*)$","i"),Yt=RegExp("^("+w+")(?!px)[a-z%]+$","i"),Jt=RegExp("^([+-])=("+w+")","i"),Gt={BODY:"block"},Qt={position:"absolute",visibility:"hidden",display:"block"},Kt={letterSpacing:0,fontWeight:400},Zt=["Top","Right","Bottom","Left"],en=["Webkit","O","Moz","ms"];function tn(e,t){if(t in e)return t;var n=t.charAt(0).toUpperCase()+t.slice(1),r=t,i=en.length;while(i--)if(t=en[i]+n,t in e)return t;return r}function nn(e,t){return e=t||e,"none"===x.css(e,"display")||!x.contains(e.ownerDocument,e)}function rn(e,t){var n,r,i,o=[],a=0,s=e.length;for(;s>a;a++)r=e[a],r.style&&(o[a]=x._data(r,"olddisplay"),n=r.style.display,t?(o[a]||"none"!==n||(r.style.display=""),""===r.style.display&&nn(r)&&(o[a]=x._data(r,"olddisplay",ln(r.nodeName)))):o[a]||(i=nn(r),(n&&"none"!==n||!i)&&x._data(r,"olddisplay",i?n:x.css(r,"display"))));for(a=0;s>a;a++)r=e[a],r.style&&(t&&"none"!==r.style.display&&""!==r.style.display||(r.style.display=t?o[a]||"":"none"));return e}x.fn.extend({css:function(e,n){return x.access(this,function(e,n,r){var i,o,a={},s=0;if(x.isArray(n)){for(o=Rt(e),i=n.length;i>s;s++)a[n[s]]=x.css(e,n[s],!1,o);return a}return r!==t?x.style(e,n,r):x.css(e,n)},e,n,arguments.length>1)},show:function(){return rn(this,!0)},hide:function(){return rn(this)},toggle:function(e){return"boolean"==typeof e?e?this.show():this.hide():this.each(function(){nn(this)?x(this).show():x(this).hide()})}}),x.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=Wt(e,"opacity");return""===n?"1":n}}}},cssNumber:{columnCount:!0,fillOpacity:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":x.support.cssFloat?"cssFloat":"styleFloat"},style:function(e,n,r,i){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var o,a,s,l=x.camelCase(n),u=e.style;if(n=x.cssProps[l]||(x.cssProps[l]=tn(u,l)),s=x.cssHooks[n]||x.cssHooks[l],r===t)return s&&"get"in s&&(o=s.get(e,!1,i))!==t?o:u[n];if(a=typeof r,"string"===a&&(o=Jt.exec(r))&&(r=(o[1]+1)*o[2]+parseFloat(x.css(e,n)),a="number"),!(null==r||"number"===a&&isNaN(r)||("number"!==a||x.cssNumber[l]||(r+="px"),x.support.clearCloneStyle||""!==r||0!==n.indexOf("background")||(u[n]="inherit"),s&&"set"in s&&(r=s.set(e,r,i))===t)))try{u[n]=r}catch(c){}}},css:function(e,n,r,i){var o,a,s,l=x.camelCase(n);return n=x.cssProps[l]||(x.cssProps[l]=tn(e.style,l)),s=x.cssHooks[n]||x.cssHooks[l],s&&"get"in s&&(a=s.get(e,!0,r)),a===t&&(a=Wt(e,n,i)),"normal"===a&&n in Kt&&(a=Kt[n]),""===r||r?(o=parseFloat(a),r===!0||x.isNumeric(o)?o||0:a):a}}),e.getComputedStyle?(Rt=function(t){return e.getComputedStyle(t,null)},Wt=function(e,n,r){var i,o,a,s=r||Rt(e),l=s?s.getPropertyValue(n)||s[n]:t,u=e.style;return s&&(""!==l||x.contains(e.ownerDocument,e)||(l=x.style(e,n)),Yt.test(l)&&Ut.test(n)&&(i=u.width,o=u.minWidth,a=u.maxWidth,u.minWidth=u.maxWidth=u.width=l,l=s.width,u.width=i,u.minWidth=o,u.maxWidth=a)),l}):a.documentElement.currentStyle&&(Rt=function(e){return e.currentStyle},Wt=function(e,n,r){var i,o,a,s=r||Rt(e),l=s?s[n]:t,u=e.style;return null==l&&u&&u[n]&&(l=u[n]),Yt.test(l)&&!zt.test(n)&&(i=u.left,o=e.runtimeStyle,a=o&&o.left,a&&(o.left=e.currentStyle.left),u.left="fontSize"===n?"1em":l,l=u.pixelLeft+"px",u.left=i,a&&(o.left=a)),""===l?"auto":l});function on(e,t,n){var r=Vt.exec(t);return r?Math.max(0,r[1]-(n||0))+(r[2]||"px"):t}function an(e,t,n,r,i){var o=n===(r?"border":"content")?4:"width"===t?1:0,a=0;for(;4>o;o+=2)"margin"===n&&(a+=x.css(e,n+Zt[o],!0,i)),r?("content"===n&&(a-=x.css(e,"padding"+Zt[o],!0,i)),"margin"!==n&&(a-=x.css(e,"border"+Zt[o]+"Width",!0,i))):(a+=x.css(e,"padding"+Zt[o],!0,i),"padding"!==n&&(a+=x.css(e,"border"+Zt[o]+"Width",!0,i)));return a}function sn(e,t,n){var r=!0,i="width"===t?e.offsetWidth:e.offsetHeight,o=Rt(e),a=x.support.boxSizing&&"border-box"===x.css(e,"boxSizing",!1,o);if(0>=i||null==i){if(i=Wt(e,t,o),(0>i||null==i)&&(i=e.style[t]),Yt.test(i))return i;r=a&&(x.support.boxSizingReliable||i===e.style[t]),i=parseFloat(i)||0}return i+an(e,t,n||(a?"border":"content"),r,o)+"px"}function ln(e){var t=a,n=Gt[e];return n||(n=un(e,t),"none"!==n&&n||(Pt=(Pt||x("