first commit
This commit is contained in:
		
							
								
								
									
										11
									
								
								public/sdk/docs/scripts/docstrap.lib.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								public/sdk/docs/scripts/docstrap.lib.js
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
							
								
								
									
										89
									
								
								public/sdk/docs/scripts/fulltext-search-ui.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										89
									
								
								public/sdk/docs/scripts/fulltext-search-ui.js
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,89 @@ | ||||
| window.SearcherDisplay = (function($) { | ||||
|     /** | ||||
|      * This class provides support for displaying quick search text results to users. | ||||
|      */ | ||||
|     function SearcherDisplay() { } | ||||
|  | ||||
|     SearcherDisplay.prototype.init = function() { | ||||
|         this._displayQuickSearch(); | ||||
|     }; | ||||
|  | ||||
|     /** | ||||
|      * This method creates the quick text search entry in navigation menu and wires all required events. | ||||
|      */ | ||||
|     SearcherDisplay.prototype._displayQuickSearch = function() { | ||||
|             var quickSearch = $(document.createElement("iframe")), | ||||
|                    body = $("body"), | ||||
|                    self = this; | ||||
|  | ||||
|             quickSearch.attr("src", "quicksearch.html"); | ||||
|             quickSearch.css("width", "0px"); | ||||
|             quickSearch.css("height", "0px"); | ||||
|  | ||||
|             body.append(quickSearch); | ||||
|  | ||||
|             $(window).on("message", function(msg) { | ||||
|                 var msgData = msg.originalEvent.data; | ||||
|  | ||||
|                 if (msgData.msgid != "docstrap.quicksearch.done") { | ||||
|                     return; | ||||
|                 } | ||||
|  | ||||
|                 var results = msgData.results || []; | ||||
|  | ||||
|                 self._displaySearchResults(results); | ||||
|             }); | ||||
|  | ||||
|             function startSearch() { | ||||
|               var searchTerms = $('#search-input').prop("value"); | ||||
|               if (searchTerms) { | ||||
|                 quickSearch[0].contentWindow.postMessage({ | ||||
|                   "searchTerms": searchTerms, | ||||
|                   "msgid": "docstrap.quicksearch.start" | ||||
|                 }, "*"); | ||||
|               } | ||||
|             } | ||||
|  | ||||
|             $('#search-input').on('keyup', function(evt) { | ||||
|               if (evt.keyCode != 13) { | ||||
|                 return; | ||||
|               } | ||||
|               startSearch(); | ||||
|               return false; | ||||
|             }); | ||||
|             $('#search-submit').on('click', function() { | ||||
|               startSearch(); | ||||
|               return false; | ||||
|             }); | ||||
|     }; | ||||
|  | ||||
|     /** | ||||
|      * This method displays the quick text search results in a modal dialog. | ||||
|      */ | ||||
|     SearcherDisplay.prototype._displaySearchResults = function(results) { | ||||
|             var resultsHolder = $($("#searchResults").find(".modal-body")), | ||||
|                   fragment = document.createDocumentFragment(), | ||||
|                   resultsList = document.createElement("ul"); | ||||
|  | ||||
|             resultsHolder.empty(); | ||||
|  | ||||
|             for (var idx = 0; idx < results.length; idx++) { | ||||
|                 var result = results[idx], | ||||
|                        item = document.createElement("li"), | ||||
|                        link = document.createElement("a"); | ||||
|  | ||||
|                 link.href = result.id; | ||||
|                 link.innerHTML = result.title; | ||||
|  | ||||
|                 item.appendChild(link) | ||||
|                 resultsList.appendChild(item); | ||||
|             } | ||||
|  | ||||
|             fragment.appendChild(resultsList); | ||||
|             resultsHolder.append(fragment); | ||||
|  | ||||
|             $("#searchResults").modal({"show": true}); | ||||
|     }; | ||||
|  | ||||
|     return new SearcherDisplay(); | ||||
| })($); | ||||
							
								
								
									
										36
									
								
								public/sdk/docs/scripts/fulltext-search.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										36
									
								
								public/sdk/docs/scripts/fulltext-search.js
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,36 @@ | ||||
| window.Searcher = (function() { | ||||
|     function Searcher() { | ||||
|         this._index = lunr(function () { | ||||
|             this.field('title', {boost: 10}) | ||||
|             this.field('body') | ||||
|             this.ref('id') | ||||
|           }) ; | ||||
|  | ||||
|         this._indexContent = undefined; | ||||
|     } | ||||
|  | ||||
|     Searcher.prototype.init = function() { | ||||
|         var self = this; | ||||
|  | ||||
|         $("script[type='text/x-docstrap-searchdb']").each(function(idx, item)  { | ||||
|             self._indexContent = JSON.parse(item.innerHTML); | ||||
|  | ||||
|             for (var entryId in self._indexContent) { | ||||
|                 self._index.add(self._indexContent[entryId]); | ||||
|             } | ||||
|         }); | ||||
|     }; | ||||
|  | ||||
|     Searcher.prototype.search = function(searchTerm) { | ||||
|         var results = [], | ||||
|                 searchResults = this._index.search(searchTerm); | ||||
|  | ||||
|         for (var idx = 0; idx < searchResults.length; idx++) { | ||||
|             results.push(this._indexContent[searchResults[idx].ref]) | ||||
|         } | ||||
|  | ||||
|         return results; | ||||
|     }; | ||||
|  | ||||
|     return new Searcher(); | ||||
| })(); | ||||
							
								
								
									
										6
									
								
								public/sdk/docs/scripts/lunr.min.js
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								public/sdk/docs/scripts/lunr.min.js
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
							
								
								
									
										202
									
								
								public/sdk/docs/scripts/prettify/Apache-License-2.0.txt
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										202
									
								
								public/sdk/docs/scripts/prettify/Apache-License-2.0.txt
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,202 @@ | ||||
|  | ||||
|                                  Apache License | ||||
|                            Version 2.0, January 2004 | ||||
|                         http://www.apache.org/licenses/ | ||||
|  | ||||
|    TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION | ||||
|  | ||||
|    1. Definitions. | ||||
|  | ||||
|       "License" shall mean the terms and conditions for use, reproduction, | ||||
|       and distribution as defined by Sections 1 through 9 of this document. | ||||
|  | ||||
|       "Licensor" shall mean the copyright owner or entity authorized by | ||||
|       the copyright owner that is granting the License. | ||||
|  | ||||
|       "Legal Entity" shall mean the union of the acting entity and all | ||||
|       other entities that control, are controlled by, or are under common | ||||
|       control with that entity. For the purposes of this definition, | ||||
|       "control" means (i) the power, direct or indirect, to cause the | ||||
|       direction or management of such entity, whether by contract or | ||||
|       otherwise, or (ii) ownership of fifty percent (50%) or more of the | ||||
|       outstanding shares, or (iii) beneficial ownership of such entity. | ||||
|  | ||||
|       "You" (or "Your") shall mean an individual or Legal Entity | ||||
|       exercising permissions granted by this License. | ||||
|  | ||||
|       "Source" form shall mean the preferred form for making modifications, | ||||
|       including but not limited to software source code, documentation | ||||
|       source, and configuration files. | ||||
|  | ||||
|       "Object" form shall mean any form resulting from mechanical | ||||
|       transformation or translation of a Source form, including but | ||||
|       not limited to compiled object code, generated documentation, | ||||
|       and conversions to other media types. | ||||
|  | ||||
|       "Work" shall mean the work of authorship, whether in Source or | ||||
|       Object form, made available under the License, as indicated by a | ||||
|       copyright notice that is included in or attached to the work | ||||
|       (an example is provided in the Appendix below). | ||||
|  | ||||
|       "Derivative Works" shall mean any work, whether in Source or Object | ||||
|       form, that is based on (or derived from) the Work and for which the | ||||
|       editorial revisions, annotations, elaborations, or other modifications | ||||
|       represent, as a whole, an original work of authorship. For the purposes | ||||
|       of this License, Derivative Works shall not include works that remain | ||||
|       separable from, or merely link (or bind by name) to the interfaces of, | ||||
|       the Work and Derivative Works thereof. | ||||
|  | ||||
|       "Contribution" shall mean any work of authorship, including | ||||
|       the original version of the Work and any modifications or additions | ||||
|       to that Work or Derivative Works thereof, that is intentionally | ||||
|       submitted to Licensor for inclusion in the Work by the copyright owner | ||||
|       or by an individual or Legal Entity authorized to submit on behalf of | ||||
|       the copyright owner. For the purposes of this definition, "submitted" | ||||
|       means any form of electronic, verbal, or written communication sent | ||||
|       to the Licensor or its representatives, including but not limited to | ||||
|       communication on electronic mailing lists, source code control systems, | ||||
|       and issue tracking systems that are managed by, or on behalf of, the | ||||
|       Licensor for the purpose of discussing and improving the Work, but | ||||
|       excluding communication that is conspicuously marked or otherwise | ||||
|       designated in writing by the copyright owner as "Not a Contribution." | ||||
|  | ||||
|       "Contributor" shall mean Licensor and any individual or Legal Entity | ||||
|       on behalf of whom a Contribution has been received by Licensor and | ||||
|       subsequently incorporated within the Work. | ||||
|  | ||||
|    2. Grant of Copyright License. Subject to the terms and conditions of | ||||
|       this License, each Contributor hereby grants to You a perpetual, | ||||
|       worldwide, non-exclusive, no-charge, royalty-free, irrevocable | ||||
|       copyright license to reproduce, prepare Derivative Works of, | ||||
|       publicly display, publicly perform, sublicense, and distribute the | ||||
|       Work and such Derivative Works in Source or Object form. | ||||
|  | ||||
|    3. Grant of Patent License. Subject to the terms and conditions of | ||||
|       this License, each Contributor hereby grants to You a perpetual, | ||||
|       worldwide, non-exclusive, no-charge, royalty-free, irrevocable | ||||
|       (except as stated in this section) patent license to make, have made, | ||||
|       use, offer to sell, sell, import, and otherwise transfer the Work, | ||||
|       where such license applies only to those patent claims licensable | ||||
|       by such Contributor that are necessarily infringed by their | ||||
|       Contribution(s) alone or by combination of their Contribution(s) | ||||
|       with the Work to which such Contribution(s) was submitted. If You | ||||
|       institute patent litigation against any entity (including a | ||||
|       cross-claim or counterclaim in a lawsuit) alleging that the Work | ||||
|       or a Contribution incorporated within the Work constitutes direct | ||||
|       or contributory patent infringement, then any patent licenses | ||||
|       granted to You under this License for that Work shall terminate | ||||
|       as of the date such litigation is filed. | ||||
|  | ||||
|    4. Redistribution. You may reproduce and distribute copies of the | ||||
|       Work or Derivative Works thereof in any medium, with or without | ||||
|       modifications, and in Source or Object form, provided that You | ||||
|       meet the following conditions: | ||||
|  | ||||
|       (a) You must give any other recipients of the Work or | ||||
|           Derivative Works a copy of this License; and | ||||
|  | ||||
|       (b) You must cause any modified files to carry prominent notices | ||||
|           stating that You changed the files; and | ||||
|  | ||||
|       (c) You must retain, in the Source form of any Derivative Works | ||||
|           that You distribute, all copyright, patent, trademark, and | ||||
|           attribution notices from the Source form of the Work, | ||||
|           excluding those notices that do not pertain to any part of | ||||
|           the Derivative Works; and | ||||
|  | ||||
|       (d) If the Work includes a "NOTICE" text file as part of its | ||||
|           distribution, then any Derivative Works that You distribute must | ||||
|           include a readable copy of the attribution notices contained | ||||
|           within such NOTICE file, excluding those notices that do not | ||||
|           pertain to any part of the Derivative Works, in at least one | ||||
|           of the following places: within a NOTICE text file distributed | ||||
|           as part of the Derivative Works; within the Source form or | ||||
|           documentation, if provided along with the Derivative Works; or, | ||||
|           within a display generated by the Derivative Works, if and | ||||
|           wherever such third-party notices normally appear. The contents | ||||
|           of the NOTICE file are for informational purposes only and | ||||
|           do not modify the License. You may add Your own attribution | ||||
|           notices within Derivative Works that You distribute, alongside | ||||
|           or as an addendum to the NOTICE text from the Work, provided | ||||
|           that such additional attribution notices cannot be construed | ||||
|           as modifying the License. | ||||
|  | ||||
|       You may add Your own copyright statement to Your modifications and | ||||
|       may provide additional or different license terms and conditions | ||||
|       for use, reproduction, or distribution of Your modifications, or | ||||
|       for any such Derivative Works as a whole, provided Your use, | ||||
|       reproduction, and distribution of the Work otherwise complies with | ||||
|       the conditions stated in this License. | ||||
|  | ||||
|    5. Submission of Contributions. Unless You explicitly state otherwise, | ||||
|       any Contribution intentionally submitted for inclusion in the Work | ||||
|       by You to the Licensor shall be under the terms and conditions of | ||||
|       this License, without any additional terms or conditions. | ||||
|       Notwithstanding the above, nothing herein shall supersede or modify | ||||
|       the terms of any separate license agreement you may have executed | ||||
|       with Licensor regarding such Contributions. | ||||
|  | ||||
|    6. Trademarks. This License does not grant permission to use the trade | ||||
|       names, trademarks, service marks, or product names of the Licensor, | ||||
|       except as required for reasonable and customary use in describing the | ||||
|       origin of the Work and reproducing the content of the NOTICE file. | ||||
|  | ||||
|    7. Disclaimer of Warranty. Unless required by applicable law or | ||||
|       agreed to in writing, Licensor provides the Work (and each | ||||
|       Contributor provides its Contributions) on an "AS IS" BASIS, | ||||
|       WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or | ||||
|       implied, including, without limitation, any warranties or conditions | ||||
|       of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A | ||||
|       PARTICULAR PURPOSE. You are solely responsible for determining the | ||||
|       appropriateness of using or redistributing the Work and assume any | ||||
|       risks associated with Your exercise of permissions under this License. | ||||
|  | ||||
|    8. Limitation of Liability. In no event and under no legal theory, | ||||
|       whether in tort (including negligence), contract, or otherwise, | ||||
|       unless required by applicable law (such as deliberate and grossly | ||||
|       negligent acts) or agreed to in writing, shall any Contributor be | ||||
|       liable to You for damages, including any direct, indirect, special, | ||||
|       incidental, or consequential damages of any character arising as a | ||||
|       result of this License or out of the use or inability to use the | ||||
|       Work (including but not limited to damages for loss of goodwill, | ||||
|       work stoppage, computer failure or malfunction, or any and all | ||||
|       other commercial damages or losses), even if such Contributor | ||||
|       has been advised of the possibility of such damages. | ||||
|  | ||||
|    9. Accepting Warranty or Additional Liability. While redistributing | ||||
|       the Work or Derivative Works thereof, You may choose to offer, | ||||
|       and charge a fee for, acceptance of support, warranty, indemnity, | ||||
|       or other liability obligations and/or rights consistent with this | ||||
|       License. However, in accepting such obligations, You may act only | ||||
|       on Your own behalf and on Your sole responsibility, not on behalf | ||||
|       of any other Contributor, and only if You agree to indemnify, | ||||
|       defend, and hold each Contributor harmless for any liability | ||||
|       incurred by, or claims asserted against, such Contributor by reason | ||||
|       of your accepting any such warranty or additional liability. | ||||
|  | ||||
|    END OF TERMS AND CONDITIONS | ||||
|  | ||||
|    APPENDIX: How to apply the Apache License to your work. | ||||
|  | ||||
|       To apply the Apache License to your work, attach the following | ||||
|       boilerplate notice, with the fields enclosed by brackets "[]" | ||||
|       replaced with your own identifying information. (Don't include | ||||
|       the brackets!)  The text should be enclosed in the appropriate | ||||
|       comment syntax for the file format. We also recommend that a | ||||
|       file or class name and description of purpose be included on the | ||||
|       same "printed page" as the copyright notice for easier | ||||
|       identification within third-party archives. | ||||
|  | ||||
|    Copyright [yyyy] [name of copyright owner] | ||||
|  | ||||
|    Licensed under the Apache License, Version 2.0 (the "License"); | ||||
|    you may not use this file except in compliance with the License. | ||||
|    You may obtain a copy of the License at | ||||
|  | ||||
|        http://www.apache.org/licenses/LICENSE-2.0 | ||||
|  | ||||
|    Unless required by applicable law or agreed to in writing, software | ||||
|    distributed under the License is distributed on an "AS IS" BASIS, | ||||
|    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||||
|    See the License for the specific language governing permissions and | ||||
|    limitations under the License. | ||||
							
								
								
									
										6
									
								
								public/sdk/docs/scripts/prettify/jquery.min.js
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								public/sdk/docs/scripts/prettify/jquery.min.js
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
							
								
								
									
										21
									
								
								public/sdk/docs/scripts/prettify/lang-css.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										21
									
								
								public/sdk/docs/scripts/prettify/lang-css.js
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,21 @@ | ||||
| PR.registerLangHandler(PR.createSimpleLexer([ | ||||
|   ["pln", /^[\t\n\f\r ]+/, null, " \t\r\n"] | ||||
| ], [ | ||||
|   ["str", /^"(?:[^\n\f\r"\\]|\\(?:\r\n?|\n|\f)|\\[\S\s])*"/, null], | ||||
|   ["str", /^'(?:[^\n\f\r'\\]|\\(?:\r\n?|\n|\f)|\\[\S\s])*'/, null], | ||||
|   ["lang-css-str", /^url\(([^"')]*)\)/i], | ||||
|   ["kwd", /^(?:url|rgb|!important|@import|@page|@media|@charset|inherit)(?=[^\w-]|$)/i, null], | ||||
|   ["lang-css-kw", /^(-?(?:[_a-z]|\\[\da-f]+ ?)(?:[\w-]|\\\\[\da-f]+ ?)*)\s*:/i], | ||||
|   ["com", /^\/\*[^*]*\*+(?:[^*/][^*]*\*+)*\//], | ||||
|   ["com", /^(?:<\!--|--\>)/], | ||||
|   ["lit", /^(?:\d+|\d*\.\d+)(?:%|[a-z]+)?/i], | ||||
|   ["lit", /^#[\da-f]{3,6}/i], | ||||
|   ["pln", /^-?(?:[_a-z]|\\[\da-f]+ ?)(?:[\w-]|\\\\[\da-f]+ ?)*/i], | ||||
|   ["pun", /^[^\s\w"']+/] | ||||
| ]), ["css"]); | ||||
| PR.registerLangHandler(PR.createSimpleLexer([], [ | ||||
|   ["kwd", /^-?(?:[_a-z]|\\[\da-f]+ ?)(?:[\w-]|\\\\[\da-f]+ ?)*/i] | ||||
| ]), ["css-kw"]); | ||||
| PR.registerLangHandler(PR.createSimpleLexer([], [ | ||||
|   ["str", /^[^"')]+/] | ||||
| ]), ["css-str"]); | ||||
							
								
								
									
										496
									
								
								public/sdk/docs/scripts/prettify/prettify.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										496
									
								
								public/sdk/docs/scripts/prettify/prettify.js
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,496 @@ | ||||
| var q = null; | ||||
| window.PR_SHOULD_USE_CONTINUATION = !0; | ||||
| (function() { | ||||
|   function L(a) { | ||||
|     function m(a) { | ||||
|       var f = a.charCodeAt(0); | ||||
|       if (f !== 92) return f; | ||||
|       var b = a.charAt(1); | ||||
|       return (f = r[b]) ? f : "0" <= b && b <= "7" ? parseInt(a.substring(1), 8) : b === "u" || b === "x" ? parseInt(a.substring(2), 16) : a.charCodeAt(1) | ||||
|     } | ||||
|  | ||||
|     function e(a) { | ||||
|       if (a < 32) return (a < 16 ? "\\x0" : "\\x") + a.toString(16); | ||||
|       a = String.fromCharCode(a); | ||||
|       if (a === "\\" || a === "-" || a === "[" || a === "]") a = "\\" + a; | ||||
|       return a | ||||
|     } | ||||
|  | ||||
|     function h(a) { | ||||
|       for (var f = a.substring(1, a.length - 1).match(/\\u[\dA-Fa-f]{4}|\\x[\dA-Fa-f]{2}|\\[0-3][0-7]{0,2}|\\[0-7]{1,2}|\\[\S\s]|[^\\]/g), a = [], b = [], o = f[0] === "^", c = o ? 1 : 0, i = f.length; c < i; ++c) { | ||||
|         var j = f[c]; | ||||
|         if (/\\[bdsw]/i.test(j)) a.push(j); | ||||
|         else { | ||||
|           var j = m(j), | ||||
|               d; | ||||
|           c + 2 < i && "-" === f[c + 1] ? (d = m(f[c + 2]), c += 2) : d = j; | ||||
|           b.push([j, d]); | ||||
|           d < 65 || j > 122 || (d < 65 || j > 90 || b.push([Math.max(65, j) | 32, Math.min(d, 90) | 32]), d < 97 || j > 122 || b.push([Math.max(97, j) & -33, Math.min(d, 122) & -33])) | ||||
|         } | ||||
|       } | ||||
|       b.sort(function(a, f) { | ||||
|         return a[0] - f[0] || f[1] - a[1] | ||||
|       }); | ||||
|       f = []; | ||||
|       j = [NaN, NaN]; | ||||
|       for (c = 0; c < b.length; ++c) i = b[c], i[0] <= j[1] + 1 ? j[1] = Math.max(j[1], i[1]) : f.push(j = i); | ||||
|       b = ["["]; | ||||
|       o && b.push("^"); | ||||
|       b.push.apply(b, a); | ||||
|       for (c = 0; c < f.length; ++c) i = f[c], b.push(e(i[0])), i[1] > i[0] && (i[1] + 1 > i[0] && b.push("-"), b.push(e(i[1]))); | ||||
|       b.push("]"); | ||||
|       return b.join("") | ||||
|     } | ||||
|  | ||||
|     function y(a) { | ||||
|       for (var f = a.source.match(/\[(?:[^\\\]]|\\[\S\s])*]|\\u[\dA-Fa-f]{4}|\\x[\dA-Fa-f]{2}|\\\d+|\\[^\dux]|\(\?[!:=]|[()^]|[^()[\\^]+/g), b = f.length, d = [], c = 0, i = 0; c < b; ++c) { | ||||
|         var j = f[c]; | ||||
|         j === "(" ? ++i : "\\" === j.charAt(0) && (j = +j.substring(1)) && j <= i && (d[j] = -1) | ||||
|       } | ||||
|       for (c = 1; c < d.length; ++c) - 1 === d[c] && (d[c] = ++t); | ||||
|       for (i = c = 0; c < b; ++c) j = f[c], j === "(" ? (++i, d[i] === void 0 && (f[c] = "(?:")) : "\\" === j.charAt(0) && (j = +j.substring(1)) && j <= i && (f[c] = "\\" + d[i]); | ||||
|       for (i = c = 0; c < b; ++c)"^" === f[c] && "^" !== f[c + 1] && (f[c] = ""); | ||||
|       if (a.ignoreCase && s) for (c = 0; c < b; ++c) j = f[c], a = j.charAt(0), j.length >= 2 && a === "[" ? f[c] = h(j) : a !== "\\" && (f[c] = j.replace(/[A-Za-z]/g, function(a) { | ||||
|         a = a.charCodeAt(0); | ||||
|         return "[" + String.fromCharCode(a & -33, a | 32) + "]" | ||||
|       })); | ||||
|       return f.join("") | ||||
|     } | ||||
|     for (var t = 0, s = !1, l = !1, p = 0, d = a.length; p < d; ++p) { | ||||
|       var g = a[p]; | ||||
|       if (g.ignoreCase) l = !0; | ||||
|       else if (/[a-z]/i.test(g.source.replace(/\\u[\da-f]{4}|\\x[\da-f]{2}|\\[^UXux]/gi, ""))) { | ||||
|         s = !0; | ||||
|         l = !1; | ||||
|         break | ||||
|       } | ||||
|     } | ||||
|     for (var r = { | ||||
|       b: 8, | ||||
|       t: 9, | ||||
|       n: 10, | ||||
|       v: 11, | ||||
|       f: 12, | ||||
|       r: 13 | ||||
|     }, n = [], p = 0, d = a.length; p < d; ++p) { | ||||
|       g = a[p]; | ||||
|       if (g.global || g.multiline) throw Error("" + g); | ||||
|       n.push("(?:" + y(g) + ")") | ||||
|     } | ||||
|     return RegExp(n.join("|"), l ? "gi" : "g") | ||||
|   } | ||||
|  | ||||
|   function M(a) { | ||||
|     function m(a) { | ||||
|       switch (a.nodeType) { | ||||
|       case 1: | ||||
|         if (e.test(a.className)) break; | ||||
|         for (var g = a.firstChild; g; g = g.nextSibling) m(g); | ||||
|         g = a.nodeName; | ||||
|         if ("BR" === g || "LI" === g) h[s] = "\n", t[s << 1] = y++, t[s++ << 1 | 1] = a; | ||||
|         break; | ||||
|       case 3: | ||||
|       case 4: | ||||
|         g = a.nodeValue, g.length && (g = p ? g.replace(/\r\n?/g, "\n") : g.replace(/[\t\n\r ]+/g, " "), h[s] = g, t[s << 1] = y, y += g.length, t[s++ << 1 | 1] = a) | ||||
|       } | ||||
|     } | ||||
|     var e = /(?:^|\s)nocode(?:\s|$)/, | ||||
|         h = [], | ||||
|         y = 0, | ||||
|         t = [], | ||||
|         s = 0, | ||||
|         l; | ||||
|     a.currentStyle ? l = a.currentStyle.whiteSpace : window.getComputedStyle && (l = document.defaultView.getComputedStyle(a, q).getPropertyValue("white-space")); | ||||
|     var p = l && "pre" === l.substring(0, 3); | ||||
|     m(a); | ||||
|     return { | ||||
|       a: h.join("").replace(/\n$/, ""), | ||||
|       c: t | ||||
|     } | ||||
|   } | ||||
|  | ||||
|   function B(a, m, e, h) { | ||||
|     m && (a = { | ||||
|       a: m, | ||||
|       d: a | ||||
|     }, e(a), h.push.apply(h, a.e)) | ||||
|   } | ||||
|  | ||||
|   function x(a, m) { | ||||
|     function e(a) { | ||||
|       for (var l = a.d, p = [l, "pln"], d = 0, g = a.a.match(y) || [], r = {}, n = 0, z = g.length; n < z; ++n) { | ||||
|         var f = g[n], | ||||
|             b = r[f], | ||||
|             o = void 0, | ||||
|             c; | ||||
|         if (typeof b === "string") c = !1; | ||||
|         else { | ||||
|           var i = h[f.charAt(0)]; | ||||
|           if (i) o = f.match(i[1]), b = i[0]; | ||||
|           else { | ||||
|             for (c = 0; c < t; ++c) if (i = m[c], o = f.match(i[1])) { | ||||
|               b = i[0]; | ||||
|               break | ||||
|             } | ||||
|             o || (b = "pln") | ||||
|           } | ||||
|           if ((c = b.length >= 5 && "lang-" === b.substring(0, 5)) && !(o && typeof o[1] === "string")) c = !1, b = "src"; | ||||
|           c || (r[f] = b) | ||||
|         } | ||||
|         i = d; | ||||
|         d += f.length; | ||||
|         if (c) { | ||||
|           c = o[1]; | ||||
|           var j = f.indexOf(c), | ||||
|               k = j + c.length; | ||||
|           o[2] && (k = f.length - o[2].length, j = k - c.length); | ||||
|           b = b.substring(5); | ||||
|           B(l + i, f.substring(0, j), e, p); | ||||
|           B(l + i + j, c, C(b, c), p); | ||||
|           B(l + i + k, f.substring(k), e, p) | ||||
|         } else p.push(l + i, b) | ||||
|       } | ||||
|       a.e = p | ||||
|     } | ||||
|     var h = {}, | ||||
|         y; | ||||
|     (function() { | ||||
|       for (var e = a.concat(m), l = [], p = {}, d = 0, g = e.length; d < g; ++d) { | ||||
|         var r = e[d], | ||||
|             n = r[3]; | ||||
|         if (n) for (var k = n.length; --k >= 0;) h[n.charAt(k)] = r; | ||||
|         r = r[1]; | ||||
|         n = "" + r; | ||||
|         p.hasOwnProperty(n) || (l.push(r), p[n] = q) | ||||
|       } | ||||
|       l.push(/[\S\s]/); | ||||
|       y = L(l) | ||||
|     })(); | ||||
|     var t = m.length; | ||||
|     return e | ||||
|   } | ||||
|  | ||||
|   function u(a) { | ||||
|     var m = [], | ||||
|         e = []; | ||||
|     a.tripleQuotedStrings ? m.push(["str", /^(?:'''(?:[^'\\]|\\[\S\s]|''?(?=[^']))*(?:'''|$)|"""(?:[^"\\]|\\[\S\s]|""?(?=[^"]))*(?:"""|$)|'(?:[^'\\]|\\[\S\s])*(?:'|$)|"(?:[^"\\]|\\[\S\s])*(?:"|$))/, q, "'\""]) : a.multiLineStrings ? m.push(["str", /^(?:'(?:[^'\\]|\\[\S\s])*(?:'|$)|"(?:[^"\\]|\\[\S\s])*(?:"|$)|`(?:[^\\`]|\\[\S\s])*(?:`|$))/, q, "'\"`"]) : m.push(["str", /^(?:'(?:[^\n\r'\\]|\\.)*(?:'|$)|"(?:[^\n\r"\\]|\\.)*(?:"|$))/, q, "\"'"]); | ||||
|     a.verbatimStrings && e.push(["str", /^@"(?:[^"]|"")*(?:"|$)/, q]); | ||||
|     var h = a.hashComments; | ||||
|     h && (a.cStyleComments ? (h > 1 ? m.push(["com", /^#(?:##(?:[^#]|#(?!##))*(?:###|$)|.*)/, q, "#"]) : m.push(["com", /^#(?:(?:define|elif|else|endif|error|ifdef|include|ifndef|line|pragma|undef|warning)\b|[^\n\r]*)/, q, "#"]), e.push(["str", /^<(?:(?:(?:\.\.\/)*|\/?)(?:[\w-]+(?:\/[\w-]+)+)?[\w-]+\.h|[a-z]\w*)>/, q])) : m.push(["com", /^#[^\n\r]*/, q, "#"])); | ||||
|     a.cStyleComments && (e.push(["com", /^\/\/[^\n\r]*/, q]), e.push(["com", /^\/\*[\S\s]*?(?:\*\/|$)/, q])); | ||||
|     a.regexLiterals && e.push(["lang-regex", /^(?:^^\.?|[!+-]|!=|!==|#|%|%=|&|&&|&&=|&=|\(|\*|\*=|\+=|,|-=|->|\/|\/=|:|::|;|<|<<|<<=|<=|=|==|===|>|>=|>>|>>=|>>>|>>>=|[?@[^]|\^=|\^\^|\^\^=|{|\||\|=|\|\||\|\|=|~|break|case|continue|delete|do|else|finally|instanceof|return|throw|try|typeof)\s*(\/(?=[^*/])(?:[^/[\\]|\\[\S\s]|\[(?:[^\\\]]|\\[\S\s])*(?:]|$))+\/)/]); | ||||
|     (h = a.types) && e.push(["typ", h]); | ||||
|     a = ("" + a.keywords).replace(/^ | $/g, ""); | ||||
|     a.length && e.push(["kwd", RegExp("^(?:" + a.replace(/[\s,]+/g, "|") + ")\\b"), q]); | ||||
|     m.push(["pln", /^\s+/, q, " \r\n\t\xa0"]); | ||||
|     e.push(["lit", /^@[$_a-z][\w$@]*/i, q], ["typ", /^(?:[@_]?[A-Z]+[a-z][\w$@]*|\w+_t\b)/, q], ["pln", /^[$_a-z][\w$@]*/i, q], ["lit", /^(?:0x[\da-f]+|(?:\d(?:_\d+)*\d*(?:\.\d*)?|\.\d\+)(?:e[+-]?\d+)?)[a-z]*/i, q, "0123456789"], ["pln", /^\\[\S\s]?/, q], ["pun", /^.[^\s\w"-$'./@\\`]*/, q]); | ||||
|     return x(m, e) | ||||
|   } | ||||
|  | ||||
|   function D(a, m) { | ||||
|     function e(a) { | ||||
|       switch (a.nodeType) { | ||||
|       case 1: | ||||
|         if (k.test(a.className)) break; | ||||
|         if ("BR" === a.nodeName) h(a), a.parentNode && a.parentNode.removeChild(a); | ||||
|         else for (a = a.firstChild; a; a = a.nextSibling) e(a); | ||||
|         break; | ||||
|       case 3: | ||||
|       case 4: | ||||
|         if (p) { | ||||
|           var b = a.nodeValue, | ||||
|               d = b.match(t); | ||||
|           if (d) { | ||||
|             var c = b.substring(0, d.index); | ||||
|             a.nodeValue = c; | ||||
|             (b = b.substring(d.index + d[0].length)) && a.parentNode.insertBefore(s.createTextNode(b), a.nextSibling); | ||||
|             h(a); | ||||
|             c || a.parentNode.removeChild(a) | ||||
|           } | ||||
|         } | ||||
|       } | ||||
|     } | ||||
|  | ||||
|     function h(a) { | ||||
|       function b(a, d) { | ||||
|         var e = d ? a.cloneNode(!1) : a, | ||||
|             f = a.parentNode; | ||||
|         if (f) { | ||||
|           var f = b(f, 1), | ||||
|               g = a.nextSibling; | ||||
|           f.appendChild(e); | ||||
|           for (var h = g; h; h = g) g = h.nextSibling, f.appendChild(h) | ||||
|         } | ||||
|         return e | ||||
|       } | ||||
|       for (; !a.nextSibling;) if (a = a.parentNode, !a) return; | ||||
|       for (var a = b(a.nextSibling, 0), e; | ||||
|       (e = a.parentNode) && e.nodeType === 1;) a = e; | ||||
|       d.push(a) | ||||
|     } | ||||
|     var k = /(?:^|\s)nocode(?:\s|$)/, | ||||
|         t = /\r\n?|\n/, | ||||
|         s = a.ownerDocument, | ||||
|         l; | ||||
|     a.currentStyle ? l = a.currentStyle.whiteSpace : window.getComputedStyle && (l = s.defaultView.getComputedStyle(a, q).getPropertyValue("white-space")); | ||||
|     var p = l && "pre" === l.substring(0, 3); | ||||
|     for (l = s.createElement("LI"); a.firstChild;) l.appendChild(a.firstChild); | ||||
|     for (var d = [l], g = 0; g < d.length; ++g) e(d[g]); | ||||
|     m === (m | 0) && d[0].setAttribute("value", m); | ||||
|     var r = s.createElement("OL"); | ||||
|     r.className = "linenums"; | ||||
|     for (var n = Math.max(0, m - 1 | 0) || 0, g = 0, z = d.length; g < z; ++g) l = d[g], l.className = "L" + (g + n) % 10, l.firstChild || l.appendChild(s.createTextNode("\xa0")), r.appendChild(l); | ||||
|     a.appendChild(r) | ||||
|   } | ||||
|  | ||||
|   function k(a, m) { | ||||
|     for (var e = m.length; --e >= 0;) { | ||||
|       var h = m[e]; | ||||
|       A.hasOwnProperty(h) ? window.console && console.warn("cannot override language handler %s", h) : A[h] = a | ||||
|     } | ||||
|   } | ||||
|  | ||||
|   function C(a, m) { | ||||
|     if (!a || !A.hasOwnProperty(a)) a = /^\s*</.test(m) ? "default-markup" : "default-code"; | ||||
|     return A[a] | ||||
|   } | ||||
|  | ||||
|   function E(a) { | ||||
|     var m = | ||||
|     a.g; | ||||
|     try { | ||||
|       var e = M(a.h), | ||||
|           h = e.a; | ||||
|       a.a = h; | ||||
|       a.c = e.c; | ||||
|       a.d = 0; | ||||
|       C(m, h)(a); | ||||
|       var k = /\bMSIE\b/.test(navigator.userAgent), | ||||
|           m = /\n/g, | ||||
|           t = a.a, | ||||
|           s = t.length, | ||||
|           e = 0, | ||||
|           l = a.c, | ||||
|           p = l.length, | ||||
|           h = 0, | ||||
|           d = a.e, | ||||
|           g = d.length, | ||||
|           a = 0; | ||||
|       d[g] = s; | ||||
|       var r, n; | ||||
|       for (n = r = 0; n < g;) d[n] !== d[n + 2] ? (d[r++] = d[n++], d[r++] = d[n++]) : n += 2; | ||||
|       g = r; | ||||
|       for (n = r = 0; n < g;) { | ||||
|         for (var z = d[n], f = d[n + 1], b = n + 2; b + 2 <= g && d[b + 1] === f;) b += 2; | ||||
|         d[r++] = z; | ||||
|         d[r++] = f; | ||||
|         n = b | ||||
|       } | ||||
|       for (d.length = r; h < p;) { | ||||
|         var o = l[h + 2] || s, | ||||
|             c = d[a + 2] || s, | ||||
|             b = Math.min(o, c), | ||||
|             i = l[h + 1], | ||||
|             j; | ||||
|         if (i.nodeType !== 1 && (j = t.substring(e, b))) { | ||||
|           k && (j = j.replace(m, "\r")); | ||||
|           i.nodeValue = | ||||
|           j; | ||||
|           var u = i.ownerDocument, | ||||
|               v = u.createElement("SPAN"); | ||||
|           v.className = d[a + 1]; | ||||
|           var x = i.parentNode; | ||||
|           x.replaceChild(v, i); | ||||
|           v.appendChild(i); | ||||
|           e < o && (l[h + 1] = i = u.createTextNode(t.substring(b, o)), x.insertBefore(i, v.nextSibling)) | ||||
|         } | ||||
|         e = b; | ||||
|         e >= o && (h += 2); | ||||
|         e >= c && (a += 2) | ||||
|       } | ||||
|     } catch (w) { | ||||
|       "console" in window && console.log(w && w.stack ? w.stack : w) | ||||
|     } | ||||
|   } | ||||
|   var v = ["break,continue,do,else,for,if,return,while"], | ||||
|       w = [ | ||||
|       [v, "auto,case,char,const,default,double,enum,extern,float,goto,int,long,register,short,signed,sizeof,static,struct,switch,typedef,union,unsigned,void,volatile"], "catch,class,delete,false,import,new,operator,private,protected,public,this,throw,true,try,typeof"], | ||||
|       F = [w, "alignof,align_union,asm,axiom,bool,concept,concept_map,const_cast,constexpr,decltype,dynamic_cast,explicit,export,friend,inline,late_check,mutable,namespace,nullptr,reinterpret_cast,static_assert,static_cast,template,typeid,typename,using,virtual,where"], | ||||
|       G = [w, "abstract,boolean,byte,extends,final,finally,implements,import,instanceof,null,native,package,strictfp,super,synchronized,throws,transient"], | ||||
|       H = [G, "as,base,by,checked,decimal,delegate,descending,dynamic,event,fixed,foreach,from,group,implicit,in,interface,internal,into,is,lock,object,out,override,orderby,params,partial,readonly,ref,sbyte,sealed,stackalloc,string,select,uint,ulong,unchecked,unsafe,ushort,var"], | ||||
|       w = [w, "debugger,eval,export,function,get,null,set,undefined,var,with,Infinity,NaN"], | ||||
|       I = [v, "and,as,assert,class,def,del,elif,except,exec,finally,from,global,import,in,is,lambda,nonlocal,not,or,pass,print,raise,try,with,yield,False,True,None"], | ||||
|       J = [v, "alias,and,begin,case,class,def,defined,elsif,end,ensure,false,in,module,next,nil,not,or,redo,rescue,retry,self,super,then,true,undef,unless,until,when,yield,BEGIN,END"], | ||||
|       v = [v, "case,done,elif,esac,eval,fi,function,in,local,set,then,until"], | ||||
|       K = /^(DIR|FILE|vector|(de|priority_)?queue|list|stack|(const_)?iterator|(multi)?(set|map)|bitset|u?(int|float)\d*)/, | ||||
|       N = /\S/, | ||||
|       O = u({ | ||||
|       keywords: [F, H, w, "caller,delete,die,do,dump,elsif,eval,exit,foreach,for,goto,if,import,last,local,my,next,no,our,print,package,redo,require,sub,undef,unless,until,use,wantarray,while,BEGIN,END" + I, J, v], | ||||
|       hashComments: !0, | ||||
|       cStyleComments: !0, | ||||
|       multiLineStrings: !0, | ||||
|       regexLiterals: !0 | ||||
|     }), | ||||
|       A = {}; | ||||
|   k(O, ["default-code"]); | ||||
|   k(x([], [ | ||||
|     ["pln", /^[^<?]+/], | ||||
|     ["dec", /^<!\w[^>]*(?:>|$)/], | ||||
|     ["com", /^<\!--[\S\s]*?(?:--\>|$)/], | ||||
|     ["lang-", /^<\?([\S\s]+?)(?:\?>|$)/], | ||||
|     ["lang-", /^<%([\S\s]+?)(?:%>|$)/], | ||||
|     ["pun", /^(?:<[%?]|[%?]>)/], | ||||
|     ["lang-", /^<xmp\b[^>]*>([\S\s]+?)<\/xmp\b[^>]*>/i], | ||||
|     ["lang-js", /^<script\b[^>]*>([\S\s]*?)(<\/script\b[^>]*>)/i], | ||||
|     ["lang-css", /^<style\b[^>]*>([\S\s]*?)(<\/style\b[^>]*>)/i], | ||||
|     ["lang-in.tag", /^(<\/?[a-z][^<>]*>)/i] | ||||
|   ]), ["default-markup", "htm", "html", "mxml", "xhtml", "xml", "xsl"]); | ||||
|   k(x([ | ||||
|     ["pln", /^\s+/, q, " \t\r\n"], | ||||
|     ["atv", /^(?:"[^"]*"?|'[^']*'?)/, q, "\"'"] | ||||
|   ], [ | ||||
|     ["tag", /^^<\/?[a-z](?:[\w-.:]*\w)?|\/?>$/i], | ||||
|     ["atn", /^(?!style[\s=]|on)[a-z](?:[\w:-]*\w)?/i], | ||||
|     ["lang-uq.val", /^=\s*([^\s"'>]*(?:[^\s"'/>]|\/(?=\s)))/], | ||||
|     ["pun", /^[/<->]+/], | ||||
|     ["lang-js", /^on\w+\s*=\s*"([^"]+)"/i], | ||||
|     ["lang-js", /^on\w+\s*=\s*'([^']+)'/i], | ||||
|     ["lang-js", /^on\w+\s*=\s*([^\s"'>]+)/i], | ||||
|     ["lang-css", /^style\s*=\s*"([^"]+)"/i], | ||||
|     ["lang-css", /^style\s*=\s*'([^']+)'/i], | ||||
|     ["lang-css", /^style\s*=\s*([^\s"'>]+)/i] | ||||
|   ]), ["in.tag"]); | ||||
|   k(x([], [ | ||||
|     ["atv", /^[\S\s]+/] | ||||
|   ]), ["uq.val"]); | ||||
|   k(u({ | ||||
|     keywords: F, | ||||
|     hashComments: !0, | ||||
|     cStyleComments: !0, | ||||
|     types: K | ||||
|   }), ["c", "cc", "cpp", "cxx", "cyc", "m"]); | ||||
|   k(u({ | ||||
|     keywords: "null,true,false" | ||||
|   }), ["json"]); | ||||
|   k(u({ | ||||
|     keywords: H, | ||||
|     hashComments: !0, | ||||
|     cStyleComments: !0, | ||||
|     verbatimStrings: !0, | ||||
|     types: K | ||||
|   }), ["cs"]); | ||||
|   k(u({ | ||||
|     keywords: G, | ||||
|     cStyleComments: !0 | ||||
|   }), ["java"]); | ||||
|   k(u({ | ||||
|     keywords: v, | ||||
|     hashComments: !0, | ||||
|     multiLineStrings: !0 | ||||
|   }), ["bsh", "csh", "sh"]); | ||||
|   k(u({ | ||||
|     keywords: I, | ||||
|     hashComments: !0, | ||||
|     multiLineStrings: !0, | ||||
|     tripleQuotedStrings: !0 | ||||
|   }), ["cv", "py"]); | ||||
|   k(u({ | ||||
|     keywords: "caller,delete,die,do,dump,elsif,eval,exit,foreach,for,goto,if,import,last,local,my,next,no,our,print,package,redo,require,sub,undef,unless,until,use,wantarray,while,BEGIN,END", | ||||
|     hashComments: !0, | ||||
|     multiLineStrings: !0, | ||||
|     regexLiterals: !0 | ||||
|   }), ["perl", "pl", "pm"]); | ||||
|   k(u({ | ||||
|     keywords: J, | ||||
|     hashComments: !0, | ||||
|     multiLineStrings: !0, | ||||
|     regexLiterals: !0 | ||||
|   }), ["rb"]); | ||||
|   k(u({ | ||||
|     keywords: w, | ||||
|     cStyleComments: !0, | ||||
|     regexLiterals: !0 | ||||
|   }), ["js"]); | ||||
|   k(u({ | ||||
|     keywords: "all,and,by,catch,class,else,extends,false,finally,for,if,in,is,isnt,loop,new,no,not,null,of,off,on,or,return,super,then,true,try,unless,until,when,while,yes", | ||||
|     hashComments: 3, | ||||
|     cStyleComments: !0, | ||||
|     multilineStrings: !0, | ||||
|     tripleQuotedStrings: !0, | ||||
|     regexLiterals: !0 | ||||
|   }), ["coffee"]); | ||||
|   k(x([], [ | ||||
|     ["str", /^[\S\s]+/] | ||||
|   ]), ["regex"]); | ||||
|   window.prettyPrintOne = function(a, m, e) { | ||||
|     var h = document.createElement("PRE"); | ||||
|     h.innerHTML = a; | ||||
|     e && D(h, e); | ||||
|     E({ | ||||
|       g: m, | ||||
|       i: e, | ||||
|       h: h | ||||
|     }); | ||||
|     return h.innerHTML | ||||
|   }; | ||||
|   window.prettyPrint = function(a) { | ||||
|     function m() { | ||||
|       for (var e = window.PR_SHOULD_USE_CONTINUATION ? l.now() + 250 : Infinity; p < h.length && l.now() < e; p++) { | ||||
|         var n = h[p], | ||||
|             k = n.className; | ||||
|         if (k.indexOf("prettyprint") >= 0) { | ||||
|           var k = k.match(g), | ||||
|               f, b; | ||||
|           if (b = !k) { | ||||
|             b = n; | ||||
|             for (var o = void 0, c = b.firstChild; c; c = c.nextSibling) var i = c.nodeType, | ||||
|                 o = i === 1 ? o ? b : c : i === 3 ? N.test(c.nodeValue) ? b : o : o; | ||||
|             b = (f = o === b ? void 0 : o) && "CODE" === f.tagName | ||||
|           } | ||||
|           b && (k = f.className.match(g)); | ||||
|           k && (k = k[1]); | ||||
|           b = !1; | ||||
|           for (o = n.parentNode; o; o = o.parentNode) if ((o.tagName === "pre" || o.tagName === "code" || o.tagName === "xmp") && o.className && o.className.indexOf("prettyprint") >= 0) { | ||||
|             b = !0; | ||||
|             break | ||||
|           } | ||||
|           b || ((b = (b = n.className.match(/\blinenums\b(?::(\d+))?/)) ? b[1] && b[1].length ? +b[1] : !0 : !1) && D(n, b), d = { | ||||
|             g: k, | ||||
|             h: n, | ||||
|             i: b | ||||
|           }, E(d)) | ||||
|         } | ||||
|       } | ||||
|       p < h.length ? setTimeout(m, 250) : a && a() | ||||
|     } | ||||
|     for (var e = [document.getElementsByTagName("pre"), document.getElementsByTagName("code"), document.getElementsByTagName("xmp")], h = [], k = 0; k < e.length; ++k) for (var t = 0, s = e[k].length; t < s; ++t) h.push(e[k][t]); | ||||
|     var e = q, | ||||
|         l = Date; | ||||
|     l.now || (l = { | ||||
|       now: function() { | ||||
|         return +new Date | ||||
|       } | ||||
|     }); | ||||
|     var p = 0, | ||||
|         d, g = /\blang(?:uage)?-([\w.]+)(?!\S)/; | ||||
|     m() | ||||
|   }; | ||||
|   window.PR = { | ||||
|     createSimpleLexer: x, | ||||
|     registerLangHandler: k, | ||||
|     sourceDecorator: u, | ||||
|     PR_ATTRIB_NAME: "atn", | ||||
|     PR_ATTRIB_VALUE: "atv", | ||||
|     PR_COMMENT: "com", | ||||
|     PR_DECLARATION: "dec", | ||||
|     PR_KEYWORD: "kwd", | ||||
|     PR_LITERAL: "lit", | ||||
|     PR_NOCODE: "nocode", | ||||
|     PR_PLAIN: "pln", | ||||
|     PR_PUNCTUATION: "pun", | ||||
|     PR_SOURCE: "src", | ||||
|     PR_STRING: "str", | ||||
|     PR_TAG: "tag", | ||||
|     PR_TYPE: "typ" | ||||
|   } | ||||
| })(); | ||||
							
								
								
									
										1157
									
								
								public/sdk/docs/scripts/sunlight.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1157
									
								
								public/sdk/docs/scripts/sunlight.js
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										203
									
								
								public/sdk/docs/scripts/toc.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										203
									
								
								public/sdk/docs/scripts/toc.js
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,203 @@ | ||||
| (function($) { | ||||
|   var navbarHeight; | ||||
|   var initialised = false; | ||||
|   var navbarOffset; | ||||
|  | ||||
|   function elOffset($el) { | ||||
|     return $el.offset().top - (navbarHeight + navbarOffset); | ||||
|   } | ||||
|  | ||||
|   function scrollToHash(duringPageLoad) { | ||||
|     var elScrollToId = location.hash.replace(/^#/, ''); | ||||
|     var $el; | ||||
|  | ||||
|     function doScroll() { | ||||
|       var offsetTop = elOffset($el); | ||||
|       window.scrollTo(window.pageXOffset || window.scrollX, offsetTop); | ||||
|     } | ||||
|  | ||||
|     if (elScrollToId) { | ||||
|       $el = $(document.getElementById(elScrollToId)); | ||||
|  | ||||
|       if (!$el.length) { | ||||
|         $el = $(document.getElementsByName(elScrollToId)); | ||||
|       } | ||||
|  | ||||
|       if ($el.length) { | ||||
|         if (duringPageLoad) { | ||||
|           $(window).one('scroll', function() { | ||||
|             setTimeout(doScroll, 100); | ||||
|           }); | ||||
|         } else { | ||||
|           setTimeout(doScroll, 0); | ||||
|         } | ||||
|       } | ||||
|     } | ||||
|   } | ||||
|  | ||||
|   function init(opts) { | ||||
|     if (initialised) { | ||||
|       return; | ||||
|     } | ||||
|     initialised = true; | ||||
|     navbarHeight = $('.navbar').height(); | ||||
|     navbarOffset = opts.navbarOffset; | ||||
|  | ||||
|     // some browsers move the offset after changing location. | ||||
|     // also catch external links coming in | ||||
|     $(window).on("hashchange", scrollToHash.bind(null, false)); | ||||
|     $(scrollToHash.bind(null, true)); | ||||
|   } | ||||
|  | ||||
|   $.catchAnchorLinks = function(options) { | ||||
|     var opts = $.extend({}, jQuery.fn.toc.defaults, options); | ||||
|     init(opts); | ||||
|   }; | ||||
|  | ||||
|   $.fn.toc = function(options) { | ||||
|     var self = this; | ||||
|     var opts = $.extend({}, jQuery.fn.toc.defaults, options); | ||||
|  | ||||
|     var container = $(opts.container); | ||||
|     var tocs = []; | ||||
|     var headings = $(opts.selectors, container); | ||||
|     var headingOffsets = []; | ||||
|     var activeClassName = 'active'; | ||||
|     var ANCHOR_PREFIX = "__anchor"; | ||||
|     var maxScrollTo; | ||||
|     var visibleHeight; | ||||
|     var headerHeight = 10; // so if the header is readable, its counted as shown | ||||
|     init(); | ||||
|  | ||||
|     var scrollTo = function(e) { | ||||
|       e.preventDefault(); | ||||
|       var target = $(e.target); | ||||
|       if (target.prop('tagName').toLowerCase() !== "a") { | ||||
|         target = target.parent(); | ||||
|       } | ||||
|       var elScrollToId = target.attr('href').replace(/^#/, '') + ANCHOR_PREFIX; | ||||
|       var $el = $(document.getElementById(elScrollToId)); | ||||
|  | ||||
|       var offsetTop = Math.min(maxScrollTo, elOffset($el)); | ||||
|  | ||||
|       $('body,html').animate({ scrollTop: offsetTop }, 400, 'swing', function() { | ||||
|         location.hash = '#' + elScrollToId; | ||||
|       }); | ||||
|  | ||||
|       $('a', self).removeClass(activeClassName); | ||||
|       target.addClass(activeClassName); | ||||
|     }; | ||||
|  | ||||
|     var calcHadingOffsets = function() { | ||||
|       maxScrollTo = $("body").height() - $(window).height(); | ||||
|       visibleHeight = $(window).height() - navbarHeight; | ||||
|       headingOffsets = []; | ||||
|       headings.each(function(i, heading) { | ||||
|         var anchorSpan = $(heading).prev("span"); | ||||
|         var top = 0; | ||||
|         if (anchorSpan.length) { | ||||
|           top = elOffset(anchorSpan); | ||||
|         } | ||||
|         headingOffsets.push(top > 0 ? top : 0); | ||||
|       }); | ||||
|     } | ||||
|  | ||||
|     //highlight on scroll | ||||
|     var timeout; | ||||
|     var highlightOnScroll = function(e) { | ||||
|       if (!tocs.length) { | ||||
|         return; | ||||
|       } | ||||
|       if (timeout) { | ||||
|         clearTimeout(timeout); | ||||
|       } | ||||
|       timeout = setTimeout(function() { | ||||
|         var top = $(window).scrollTop(), | ||||
|           highlighted; | ||||
|         for (var i = headingOffsets.length - 1; i >= 0; i--) { | ||||
|           var isActive = tocs[i].hasClass(activeClassName); | ||||
|           // at the end of the page, allow any shown header | ||||
|           if (isActive && headingOffsets[i] >= maxScrollTo && top >= maxScrollTo) { | ||||
|             return; | ||||
|           } | ||||
|           // if we have got to the first heading or the heading is the first one visible | ||||
|           if (i === 0 || (headingOffsets[i] + headerHeight >= top && (headingOffsets[i - 1] + headerHeight <= top))) { | ||||
|             // in the case that a heading takes up more than the visible height e.g. we are showing | ||||
|             // only the one above, highlight the one above | ||||
|             if (i > 0 && headingOffsets[i] - visibleHeight >= top) { | ||||
|               i--; | ||||
|             } | ||||
|             $('a', self).removeClass(activeClassName); | ||||
|             if (i >= 0) { | ||||
|               highlighted = tocs[i].addClass(activeClassName); | ||||
|               opts.onHighlight(highlighted); | ||||
|             } | ||||
|             break; | ||||
|           } | ||||
|         } | ||||
|       }, 50); | ||||
|     }; | ||||
|     if (opts.highlightOnScroll) { | ||||
|       $(window).bind('scroll', highlightOnScroll); | ||||
|       $(window).bind('load resize', function() { | ||||
|         calcHadingOffsets(); | ||||
|         highlightOnScroll(); | ||||
|       }); | ||||
|     } | ||||
|  | ||||
|     return this.each(function() { | ||||
|       //build TOC | ||||
|       var el = $(this); | ||||
|       var ul = $('<div class="list-group">'); | ||||
|  | ||||
|       headings.each(function(i, heading) { | ||||
|         var $h = $(heading); | ||||
|  | ||||
|         var anchor = $('<span/>').attr('id', opts.anchorName(i, heading, opts.prefix) + ANCHOR_PREFIX).insertBefore($h); | ||||
|  | ||||
|         var span = $('<span/>') | ||||
|           .text(opts.headerText(i, heading, $h)); | ||||
|  | ||||
|         //build TOC item | ||||
|         var a = $('<a class="list-group-item"/>') | ||||
|           .append(span) | ||||
|           .attr('href', '#' + opts.anchorName(i, heading, opts.prefix)) | ||||
|           .bind('click', function(e) { | ||||
|             scrollTo(e); | ||||
|             el.trigger('selected', $(this).attr('href')); | ||||
|           }); | ||||
|  | ||||
|         span.addClass(opts.itemClass(i, heading, $h, opts.prefix)); | ||||
|  | ||||
|         tocs.push(a); | ||||
|  | ||||
|         ul.append(a); | ||||
|       }); | ||||
|       el.html(ul); | ||||
|  | ||||
|       calcHadingOffsets(); | ||||
|     }); | ||||
| }; | ||||
|  | ||||
|  | ||||
| jQuery.fn.toc.defaults = { | ||||
|   container: 'body', | ||||
|   selectors: 'h1,h2,h3', | ||||
|   smoothScrolling: true, | ||||
|   prefix: 'toc', | ||||
|   onHighlight: function() {}, | ||||
|   highlightOnScroll: true, | ||||
|   navbarOffset: 0, | ||||
|   anchorName: function(i, heading, prefix) { | ||||
|     return prefix+i; | ||||
|   }, | ||||
|   headerText: function(i, heading, $heading) { | ||||
|     return $heading.text(); | ||||
|   }, | ||||
|   itemClass: function(i, heading, $heading, prefix) { | ||||
|     return prefix + '-' + $heading[0].tagName.toLowerCase(); | ||||
|   } | ||||
|  | ||||
| }; | ||||
|  | ||||
| })(jQuery); | ||||
		Reference in New Issue
	
	Block a user